about
A Deep Reinforcement Learning Chatbot (arxiv.org)
93 points by Katydid on Jan 28, 2018 | hide | past | pdf | 7 comments on HN

In plain words: A voice-and-text chatbot draws replies from a pool of different answer generators and learns from user feedback which one to pick in each moment. In side-by-side tests with real users, it beat the other competing systems by a significant margin.

Abstract · A Deep Reinforcement Learning Chatbot (Short Version)

We present MILABOT: a deep reinforcement learning chatbot developed by the Montreal Institute for Learning Algorithms (MILA) for the Amazon Alexa Prize competition. MILABOT is capable of conversing with humans on popular small talk topics through both speech and text. The system consists of an ensemble of natural language generation and retrieval models, including neural network and template-based models. By applying reinforcement learning to crowdsourced data and real-world user interactions, the system has been trained to select an appropriate response from the models in its ensemble. The system has been evaluated through A/B testing with real-world users, where it performed significantly better than other systems. The results highlight the potential of coupling ensemble systems with deep reinforcement learning as a fruitful path for developing real-world, open-domain conversational agents.

Iulian V. Serban, Chinnadhurai Sankar, Mathieu Germain, Saizheng Zhang, Zhouhan Lin, Sandeep Subramanian, Taesup Kim, Michael Pieper, Sarath Chandar, Nan Rosemary Ke, Sai Rajeswar, Alexandre de Brebisson, et al.
arXiv:1801.06700 · cs.CL, cs.AI, cs.LG, cs.NE, stat.ML · submitted Jan 20, 2018
abstract · pdf · html · 9 pages, 1 figure, 2 tables; presented at NIPS 2017, Conversational AI: "Today's Practice and Tomorrow's Potential" Workshop

add comment on HN

Would love to see some sample chat logs -- anyone know if they're available?
I don't know of any chat logs.

But it was very interesting to see the 'next response' candidates for the two sample chats in Table 1 (p3 of the PDF). In particular : it was alarming to see how much their Deep Learning response selection mechanism had to chose not so much the best response out of a selection of decent responses, but more the most acceptable response out of a selection of mostly horrible ones.

While we're in this topic: Does anyone know of existing open source implementation (or at least a good starting point should I start myself) of chatbot that can read textual input (e.g. FAQ, handbook) and automatically use it to answer chat?

I've used WIT.ai and API.ai (now Dialogflow), and they both require you to give a bunch of example sentences (e.g. "Yes", "Okay", "Sure"), assign them an intent ("YES"), and use that intent in your custom code (if intent is YES then...). I found this to be tedious and limiting.

I believe the Microsoft Bot Framework will consume a standard FAQ and answer questions from it, but you'll have to confirm. I saw a demo doing just that last year, but I'm unsure how much extra work there was.
I'm working on a thing which does this. Contact me for details if you are interested.
I tryied something like that- to generate a sort of stack overflow chatbot from a tech support chat my OS-Comunity keeps up.

The problems usually are not in training the thing, the problem comes with filtering the data.

There is usually a lot of meta- and memes in the chatlogs, and lots of answers come as a web link. Which is not always helpfull. Imagine a user is asked to pastebin a log. The neural net must expand this pastebins into the chat. Its very easy for a neural net to get lost in these logs or deduce the wrong thing from them.

Hope you have more success then i had with this.

I'm from a another Alexa prize team (Alquist), great job you did there!