- Task-oriented (in closed domain) vs Non-task-oriented (i.e., chat bots [8], in open domain) [1]
- Generative vs retrieval-based
- Question answering tells us how to do and dialogue system tells us the steps to do it successfully.
-
ASR -> NLU -> DM -> NLG
-
NLU: maps the utterance into semantic slots
- Domain identification: text classification
- User domain specific intent detection: text classification (We can incorporate preceding text information during perform classification, see [7])
- Slot filling: sequence labeling
- Parameters of the INTENT
- Since slots are intent-specific, we can Joint learning of intent identification and slot filling
- Industrial
-
DM: Dialogue Management
-
Dialogue State Tracking: estimates the goal at every turn. A probability distribution over each slot for each turn.
-
Policy Learning: generates next action
- Supervised learning
- Reinforcement learning
- Entity: agent and environment
- Rule: agent takes action and environment gives reward and state
- Policy: a rule that the agent should follow to select actions given the current state
-
- Rule-based is popular in production system [8]
- Frame based

- Finite state machine
- Agenda based

- Frame based
- Markov Decision Process

- Neural network

- Rule-based is popular in production system [8]
-
-
NLG: convert action to utterance
- Action - template
- Hybrid model [8]
- If the user dialogue actions can be found in the predefined sentence templates, the **template-based NLG ** is applied; otherwise, the utterance is generated by the model-based NLG
- End-to-End_Task-Completion_Neural_Dialogue_Systems, A_User_Simulator_for_Task-Completion_Dialogues
- see report of Dr.Che
- Given pre-defined responses, retrieval based model predict one response given current input context [2]
- Single/Multi turn response matching
- Two steps [3]:
- retrieval top-k response candidates by directly matching
- reranking and give best candidate by incorporing context
- Multi-turn
- AIML for pattern matching
- Generative new responses from scratch [2]
- Multi-turn
- Avoid generic responses
- Cs224s slides
- Ubuntu Dialogue Corpus v2.0
- A New Multi-Turn, Multi-Domain, Task-Oriented Dialogue Dataset
- Dialog State Tracking Challenge
- Douban Conversation Corpus
- 2017第六届全国社会媒体处理大会之中文人机对话技术评测
- 阿里巴巴高级算法专家李永彬:小蜜智能对话开发平台的技术探索与场景实践
- Few-shot learning (小样本学习) for intent classification
- Few-shot learning = meta learning + supervised learning)
- For solving any-intent few-sample problem
- Few-Shot text classification with induction network
- Capsules + dynamic routing
- DM
- RL
- User simulator
- Testing dialogue pipeline
- Few-shot learning (小样本学习) for intent classification
- wxpy
- wxBot
- WeRoBot: weChat bot
- Awesome-Chatbot gives a list of public repositories about chatbot
- Baidu UNIT
- IP梦工厂
- 图灵机器人
- 小i机器人
- 海知智能
- XiaoIce
- Pandorabots
- Wit.ai
- Rasa
- Rasa NLU
- Rasa Core
- Rasa UI
tensorflow_embeddingin NLU from StarSpace: Embed All The Things!- Chinese chatbot example
- DialogFlow
- ChatterBot
- Rokid

- DeepPavlov
- Rasa is a framework, we can define new component to replace official one
- Steps:
- Generate data with Chatito
- Train rasa-nlu, define new component if necessary
- Increase nlu accuracy with
buttonattribute
- Increase nlu accuracy with
[1] A Survey on Dialogue Systems: Recent Advances and New Frontiers
[2] Deep Learning for Chatbots part 1, part 2
[3] https://c.m.163.com/news/l/180148.html?spssid=fba792c95ad60299db5435a91da37e10&spsw=1&spss=other.
[4] A Network-based End-to-End Trainable Task-oriented Dialogue System, and implementation, Ali Xiaomi
[5] End-to-end LSTM-based dialog control optimized with supervised and reinforcement learning, Hybrid Code Networks: practical and efficient end-to-end dialog control with supervised and reinforcement learning, and implementation
[6] Learning End-to-End Goal-Oriented Dialog from Facebook, and implementation
[7] Sequential Short-Text Classification with
Recurrent and Convolutional Neural Networks
[8] “Chitty-Chitty-Chat Bot”: Deep Learning for Conversational AI
[9] End-to-End Task-Completion Neural Dialogue Systems, implementation

