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.

blatyo

blatyo

Conduit Core Team

In another talk about a bot framework the speaker mentioned three different models for bots.

  1. Command and response
  2. Finite-state (tree of behavior)
  3. Frame-based (list of information for goal)

I assume you didn’t use 1, based off the title and the demo. I think based on your description, you used finite-state, is that correct?

For NLU, what did you use to train your model? I mean both the training set, the tool that did the training, and the tool that does the evaluation of the model in your chatbot if that’s different.

Are you going to open source any of this?

Where Next?

Popular in Talks Top

axelson
ElixirConf 2017 - Dr. Erlang/OTP or: How I Learned to Stop Worrying and Love :disk_log - Eric Entin Even aft...
New
axelson
ElixirConf 2017 - Building an Artificial Pancreas with Elixir and Nerves - by @tmecklem People with Type 1 Diabetes have...
New
axelson
We’re now on the day 2 talks! ElixirConf US 2018 – Understanding Elixir’s (Re)compilation – Renan Ranelli Elixir’s code...
New
Lawrence_elixir
@keathley - Senior Engineer Bleacher Report and Elixir Outlaws presenter Talk: Building Resilient Systems with Stacking Talk in three w...
New
brightball
Since the comments are turned off on the YouTube videos, I'm going to post on talk per day on here for viewing and discussion...starting ...
New
axelson
Let’s Talk Process Dictionary - @gregvaughn Well, the first rule of Fight Club, I mean: process dictionary is that we don’...
New
rodrigues
Day 1 Keynote about Lumen - An alternative BEAM implementation, designed for WebAssembly by @bcardarella @KronicDeth @bitw...
New
rodrigues
Whether you’re developing a small web site or a large-scale distributed system, Erlang and Elixir are great tools for building server-sid...
New
CodeSync
Code Sync: Keynote: Gang of None? Design Patterns in Elixir - José Valim | ElixirConf EU 2024 Comments welcome! View the <span class="ha...
New
Lawrence_elixir
ElixirConf EU 2019 talk videos ElixirConf EU 2020 - Early bird tickets on sale now! Website: http://www.elixirconf.eu Twitter: www.t...
New

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New

We're in Beta

About us Mission Statement