首先我们思考一个问题:人为什么需要对话?第一种情况,我要借助其他人的能力帮助我完成某件事情,那我就需要通过信息的正向传递来让其他人了解我的意图,这种情况我们通常称为任务型对话;第二种情况,我们希望从别人手里获取知识,信息反向输入,这种情况通常属于问答型及推荐型对话;第三种情况,我们并没有明确的目的,只是希望随机的交换一些信息,这种情况一般被归类为闲聊。的确对话系统也一般被分为以上三大类来实现。还有一些其他分类标准,把问答型也归类到任务型对话中,因为有部分底层技术比如知识图谱等在一定程度上是相通的,而且对知识的查询本质上也是一种任务。
要更好地评价对话系统,那么就需要对其实现逻辑有个基本的了解。对话系统本质上分为三个大的模块,首先是自然语言的理解(NLU),然后是回复的生成(NLG),最后是对话管理(DM)。