axelson

axelson

Scenic Core Team

6) ElixirConf US 2018 – Beyond Command and Response Chatbot – Fahad Almusharraf

ElixirConf US 2018 – Beyond Command and Response Chatbot – Fahad Almusharraf

The talk discusses an attempt at building a chatbot framework to deliver a rich conversation that is not just responses to commands. It is motivated by my master’s research on using chatbots and natural language understanding to increase cigarettes smokers motivation to quit. This research is a collaborative project between engineering, psychology, and psychiatry, and it is powered by Elixir.

Audience: Beginner, Intermediate, Advanced
Topics: bots

All talks are available in the ElixirConf US 2018 Talks List or via the elixirconf2018 tag

Most Liked

falmusha

falmusha

@blatyo Yes I’m using state machines to build the conversation (not to be confused with behaviour trees which was also talked about in the conference). More specifically, my approach is what I’ve explained briefly when I talked about BotKit. The code for BotKit, which is a WIP library that enables you to build chatbots using the state machine approach is available here.

Unfortunately the NLU training/inference was not done in Elixir. I’ve used two NLP/NLU backends to train the models required for the chatbot. Namely Wit.AI and Stanford CoreNLP. I used Wit.AI through their http api and CoreNLP using Erlang’s JInterface on a dedicated Erlang node.

I’m planning on open sourcing the chatbot code once I’m done with the project.

falmusha

falmusha

Speaker here. The title of talk is not the best representative of its content. It is more about helping smokers quit using chatbots and elixir. Anyway, I’m happy to discuss it here if anyone has questions.

blatyo

blatyo

Conduit Core Team

I’d love to see more code for this. Especially the stuff used for NLP and training.

Where Next?

Popular in Talks Top

CodeSync
Code Sync: Keynote: Gang of None? Design Patterns in Elixir - José Valim | ElixirConf EU 2024 Comments welcome! View the <span class="ha...
New
axelson
by @girlsleuth Whether you call it UI testing, End-to-End Testing, End-to-User Testing, or Acceptance Testing–it is often an intensely ...
New
JuanjoA
Hi, I don’t know if I have the post in the right place. I put here in case you might be interested, I am not the author, I just found it...
New
CodeSync
Code Sync: Writing much better tests in Elixir by Xochitl Pérez | Code BEAM Lite Mexico 2023 Comments welcome! View the <span class="has...
New
axelson
Okay, after many days here is the final post on the Elixir Conf videos. Since there are so many lighting talks I felt that it is better t...
New
Lawrence_elixir
@voltone - Security advocate, BEAM enthusiast Learn you some ‘ssl’ for much security! Talk in three words: TLS, security, troubleshooti...
New
New
axelson
I really like the idea of discussing one Elixirconf talk each day and since @brightball hasn’t posted the second talk I’ll post it. Elix...
New
CodeSync
Code Sync: Celebrating the 10 Years of Elixir | José Valim | ElixirConf EU 2022 Comments welcome! View the <span class="hashtag-icon-pl...
New
axelson
ElixirConf 2017 - Phoenix after 100000 lines - Renan Ranelli Given phoenix’s rise in popularity, the interne...
New

Other popular topics Top

marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 43622 214
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
RisingFromAshes
I’ve read in another post that it may be possible with a router helper - but I couldn’t find an appropriate one, and tbh, I’m still just ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 47930 226
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New

We're in Beta

About us Mission Statement