新媒易动态
NEWS CENTER
NEWS CENTER
2021-07-19
对话机器人(ChatBot),以自然语言的方式和用户进行交互,从而完成咨询、客服、助理、娱乐等用户诉求,目前已经应用在很多领域。
本文主要介绍两类应用最广的ChatBot:FAQChatBot和多轮对话ChatBot,包括这两类ChatBot的适用场景和构造模块。
FAQ(Frequently Asked Questions) ChatBot,从英文全称可以看出来,是将一些频繁用到的问题和答案对整理好,形成知识库。
当用户提问时,将用户的问题和知识库的众多问题进行匹配,匹配完成后,将匹配到的知识库问题对应的答案,返回给用户,如下图所示:
为了匹配更精准,在构建知识库时,可以多设置几个扩展问题,如下表所示,在疫情期间,为了快速构建一个FAQ ChatBot,提高问题匹配精准度,可以这样构建知识库:
当我们的目标是快速构建一个基于常用知识的咨询时,就可以用FAQ ChatBot,例如打造一个公司内部的入职咨询、报销指南。
总结一下,FAQ ChatBot 的目的是:将企业的各种知识有效管理起来,采取一问一答的单轮对话方式,为用户提供咨询服务。
该方法的优点是建设快,质量可控、准确率高,其缺点是泛化能力比较弱。随着不断迭代,知识库的更新很大程度依赖于人工,不能自主提升自己的泛化能力。
当面临更加复杂的问题时,例如用户想要完成订餐、订票等任务,需要进行多轮陈述,才能完成用户的诉求。
一方面,用户在对话过程中可以不断修改或完善自己的需求;另一方面,当用户的陈述的需求不够具体或明确的时候,机器也可以通过询问、澄清或确认来帮助用户找到满意的结果。
对于这样的多轮对话,ChatBot架构如下:
下面,我们配合下面这个预订会议室的例子,来理解多轮对话ChatBot架构的各个模块:
NLU的目的是,完成对用户指令的理解
所以NLU模块的输入是用户指令,输出主要采用DIS的表示结构,D代表Domain(领域), I代表Intent(意图),S代表Slot(槽位)。
(有些情况下没有Domain,直接输出为Intent)
Domain、Intent和Slot都是产品经理根据需求预先定义好的。不同的业务场景会定义不同的DIS。