最近打算入门对话系统,所以先找了一篇综述看看,需要自取:A Survey on Dialogue Systems: Recent Advances and New Frontiers
1.对话系统分类
目前的对话系统主要分为两类:task-oriented systems(有目的的对话) 和 non-task-oriented systems (类似于闲聊机器人,没有具体目的)
2.task-oriented systems的常用方法:
1.Pipeline Methods
1.natural language understanding
-
-
- domain classification / intent detction: 常常用基于CNN的网络来提取特征并分类
- slot filling:常常被作为序列标注问题~为每一个词分配一个语义标签,常用方法(CNN,CRF,RNN)
-
2.Dialogue state tracker
-
-
- 比较经典的状态结构是:slot filling(或者称之为 semantic frame)
-
3. Dialogue policy learning
-
-
- reinforcement learning:通过端到端的强化学习训练,可以同时学习策略和特征表达,最终效果比 random, rule-based, and supervised-based methods都要好。
- supervised learning :根据state tracker产生的状态,来选择动作,例如state是“推荐”,那么“推荐”这个动作就会被启动,那么就会去数据库中检索相关数据。
-
4.Natural Language Generation
见图
2.End-to-End Methods
未完待续