聊天机器人
目前市场上有各种类型的聊天机器人,比如有京东JIMI客服机器人,儿童教育机器人,小冰娱乐聊天机器人,Alexa家居控制、车载控制机器人,Viv全方位服务类
型机器等。这是从应用方向对聊天机器人的一种划分。
如果对应用目的或者技术手段进行抽象,聊天机器人可以有以下两种划分方法:
目标驱动(Goal Driven) VS. 无目标驱动(Non-Goal Driven)聊天机器人
目标驱动的聊天机器人指的是聊天机器人有明确的服务目标或者服务对象,比如客服机器人、儿童教育机器人、类似Viv的提供天气/订票/订餐等服务的服务机器人等,这种目标驱动的聊天机器人也可以称作特定领域的聊天机器人。
无目标驱动聊天机器人指的是聊天机器人并非为特定领域服务目的而开发,比如纯粹聊天或者出于娱乐聊天目的以及计算机游戏中的虚拟人物聊天机器人都属于此类。这种无明确任务目标的聊天机器人也可以称作为开放领域的聊天机器人。
检索式 VS. 生成式聊天机器人
检索式聊天机器人指的是事先存在一个对话库,聊天系统接收到用户输入句子后,通过在对话库中以搜索匹配的方式进行应答内容提取。很明显,这种方式对对话库要求很高,需要对话库足够大,能够尽量多地匹配用户问句,否则会经常出现找不到合适回答内容的情形(因为在真实场景下用户说什么都是可能的),但它的好处是回答质量高,因为对话库中的内容都是真实的对话数据,表达比较自然。
生成式聊天机器人则采取不同的技术思路,在接收到用户输入句子后,采用一定技术手段自动生成一句话作为应答,这个路线机器人的好处是可能覆盖任意话题的用户问句,但是缺点是生成应答句子质量很可能会存在问题,比如语句不通顺、句法错误等看上去比较低级的错误。
Awesome Chatbot
Github:https://github.com/fendouai/Awesome-Chatbot
Chatbot
ParlAI
A framework for training and evaluating AI models on a variety of openly available dialog datasets.
https://github.com/facebookresearch/ParlAI
stanford-tensorflow-tutorials
A neural chatbot using sequence to sequence model with attentional decoder.
https://github.com/chiphuyen/stanford-tensorflow-tutorials/tree/master/assignments/chatbot
ChatterBot
ChatterBot is a machine learning, conversational dialog engine for creating chat bots
http://chatterbot.readthedocs.io/
DeepQA
My tensorflow implementation of "A neural conversational model", a Deep learning based chatbot
https://github.com/Conchylicultor/DeepQA
chatbot-rnn
A toy chatbot powered by deep learning and trained on data from Reddit
https://github.com/pender/chatbot-rnn
tf_seq2seq_chatbot
tensorflow seq2seq chatbot
https://github.com/nicolas-ivanov/tf_seq2seq_chatbot
ai-chatbot-framework
A python chatbot framework with Natural Language Understanding and Artificial Intelligence.
https://github.com/alfredfrancis/ai-chatbot-framework
DeepChatModels
Conversation Models in Tensorflow
https://github.com/mckinziebrandon/DeepChatModels
Chatbot
Build your own chatbot base on IBM Watson
https://webchatbot.mybluemix.net/
Chatbot
An AI Based Chatbot
http://chatbot.sohelamin.com/
neural-chatbot
A chatbot based on seq2seq architecture done with tensorflow.
https://github.com/inikdom/neural-chatbot
Chinese_Chatbot
Seq2Seq_Chatbot_QA
使用TensorFlow实现的Sequence to Sequence的聊天机器人模型
https://github.com/qhduan/Seq2Seq_Chatbot_QA
Chatbot
基於向量匹配的情境式聊天機器人
https://github.com/zake7749/Chatbot
Corpus
Cornell Movie-Dialogs Corpus
http://www.cs.cornell.edu/~cristian/Cornell_Movie-Dialogs_Corpus.html
Dialog_Corpus
Datasets for Training Chatbot System
https://github.com/candlewill/Dialog_Corpus
OpenSubtitles
A series of scripts to download and parse the OpenSubtitles corpus.
https://github.com/AlJohri/OpenSubtitles
insuranceqa-corpus-zh
OpenData in insurance area for Machine Learning Tasks
https://github.com/Samurais/insuranceqa-corpus-zh
Papers
Sequence to Sequence Learning with Neural Networks
http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf
A Neural Conversational Model
http://arxiv.org/pdf/1506.05869v1.pdf
Tutorial
Deep Learning for Chatbots, Part 1 – Introduction
http://www.wildml.com/2016/04/deep-learning-for-chatbots-part-1-introduction/
Deep Learning for Chatbots, Part 2 – Implementing a Retrieval-Based Model in Tensorflow
http://www.wildml.com/2016/07/deep-learning-for-chatbots-2-retrieval-based-model-tensorflow/