规则模型与生成式模型
在做对话系统或者问答系统的过程中,他们采用的是混合模型,包括Deep Learning以及检索系统,首先要说一说各种模型的优缺点,见下表:
表1. 两种对话模型的比较表
前者回复答案可控但无法处理长尾问题,后者则难以保证一致性和合理性。以下采用混合模型,即首先采用检索模型从 QA 知识库中找出候选答案集合,然后利用带注意力的 Seq2Seq 模型对候选答案进行排序,如果第一候选的得分超过某个阈值,则作为最终答案输出,否则利用生成模型生成答案。
- 规则模型,就是按照某种规则去做字符串匹配。基于检索的问答系统就是规则算法的一种,检索问答系统需要事先穷举可能出现的问答对,这样,一旦新出现相似的问题,根据模糊匹配算法去回答库中检索匹配回答语句。在智能电视的应用场景之中,对话基本上限定在一个特定领域,所以基于规则的对话模型无论是准确度还是效率都优于基于深度学习的模型。
- 任何一个有效的对话系统都不仅仅某一个单独的系统组成,而是二者的混合模型。首先,对话会经过检索系统,经过模糊匹配得到一个答案,一旦这个答案的置信率过小,那么将该问题送到深度神经网络,生成其对话
- 现实的处理情况,特定领域的对话,通过这样的混合模型,100句中仅3句是通过生成模型得到
-
自动评估非任务导向的对话系统所产生的响应的质量的方法:
Retrieval-based Methods
基于检索的方法从候选回复中选择回复。检索方法的关键是消息-回复匹配,匹配算法必须克服消息和回复之间的语义鸿沟。
-
Single-turn Response Matching
检索聊天机器人的早期研究主要集中在反应选择单轮的谈话,只有消息用于选择一个合适的回复。
目前比较新的方法是利用深度卷积神经网络体系结构改进模型,学习消息和响应的表示,或直接学习两个句子的相互作用表示,然后用多层感知器来计算匹配的分数。
-
Multi-turn Response Matching
近年来,基于检索的多轮会话越来越受到人们的关注,在多轮回答选择中,将当前的消息和先前的话语作为输入。模型选择一个自然的、与整个上下文相关的响应。重要的是要在之前的话语中找出重要的信息,并恰当地模仿话语的关系,以确保谈话的连贯性。
多轮对话,就是考虑上下文的对话,
比如:甲:你吃饭了么?
乙:吃了,你呢?
在乙回答的语句之中,的“你呢?”,脱离上下文单独处理的话,不知道什么意思,而回看上文就知道该语句同样问的是“你吃饭了么?”,所以需要对原句进行改(rewrite),“吃了,你吃饭了么?”,这样在后续处理中,就能知道这句话的完整意思。因为,上下文对话,要改写当前语句,涉及到回溯几句的问题,回溯太多的话,计算量大,问题复杂,一般回溯3-6句。句子改写,依据是句子主、谓、宾,成分做改写。
多轮对话的难点在于不仅要考虑