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

AstonJ
File uploads are an essential part of many web applications, but often handling them can be tricky, which explains why they are one of th...
New
axelson
ElixirConf 2017 - Perhap: Applying Domain Driven Design and Reactive Architectures to Functional Programming - by @Version2beta ...
New
axelson
ElixirConf 2017 - The Power of Zero - Andrew Forward Automation is hard, but the benefits can be phenomenal....
New
axelson
ElixirConf US 2018 – Building Video Chat with Elixir & Phoenix – Anil Wadghule (@anildigital) In this talk, I will s...
New
axelson
ElixirConf 2017 - Building an Artificial Pancreas with Elixir and Nerves - by @tmecklem People with Type 1 Diabetes have...
New
CodeSync
Code Sync: Vaxine, the Rich CRDT Database for ElixirPhoenix Apps | James Arthur | Code BEAM America 2022 Comments welcome! View the #cod...
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
axelson
ElixirConf US 2018 – Growing Applications and Taming Complexity – Aaron Renner (@aaronrenner) Growing an application is ...
New
ElixirConf
ElixirConf: ElixirConf 2022 - Brian Cardarella - What is LiveView Native? Comments welcome! View the #elixirconf tag for more ElixirConf...
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

Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3268 119930 1237
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
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
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
sergio
I couldn’t find any guides that worked well with Phoenix 1.6.0 and esbuild. I hope this helps people test the waters and eases you into t...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
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
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New

We're in Beta

About us Mission Statement