论文部分内容阅读
对话系统旨在以连贯的方式与人类交互,在现实生活中具有广泛的应用场景,例如客服系统、个人助理和聊天机器人等。早期的对话系统大多采用基于规则的方式构建,需要耗费较高的人力成本同时也难以扩展。近年来,随着社交网络的兴起,对话数据积累到了相当大的规模,进而促进了数据驱动的对话系统的发展。一方面,数据驱动的对话系统可以根据对话内容领域的不同划分为任务型对话系统和开放域对话系统。任务型对话系统的对话内容限定在任务相关的领域之内,而开放域对话系统不存在领域限定,因而会涉及更为多样的话题和表述形式。另一方面,数据驱动的对话系统还可以根据回复产生的方式分为检索式对话系统和生成式对话系统。检索式对话系统通过检索、重排序等步骤从预先构建的候选回复集合中挑选回复并返回给用户。候选回复收集自真实的人类对话数据,因此具有良好的多样性。但由于检索式系统的回复不能根据对话历史进行定制化,因此可能包含与对话历史不相关的内容。相对地,生成式对话系统则可以根据对话历史定制回复。本文主要研究了开放域生成式对话系统。目前,对于该系统的研究主要集中在两个方面:回复的连贯性和多样性。其中连贯性要求回复包含与对话历史一致相关的信息,是回复质量的基础属性。此外,回复还被期望具有多样性,能够包含多样的话题和灵活的表述形式。然而,现有系统在连贯性方面仍存在着倾向于生成一般性回复的问题,这些回复包含的信息量较少,因此与对话历史连贯性较差;同时,现有通过关键词等形式的资源丰富回复信息量的方法,又会由于缺少对内容的规划而影响回复的相关性。多样性方面,对话生成本质上为‘‘一对多’’的任务,同一对话历史对应多个合理的回复。然而,训练数据所包含的回复数量有限,而模型又缺乏对未知潜在回复的探索,因此限制了模型学习多样回复模式的可能。此外,现有系统优化单一真实回复似然的训练方法,过度简化了对话生成的目标。模型即使探索了潜在回复,该回复的生成过程在现有训练目标下仍将被施以惩罚,这进一步限制了多样性的提升。针对以上问题,本文制定了如下的研究内容:基于序列到序列模型的对话生成启动机制:针对对话生成模型倾向于生成信息量较少的一般性回复的问题,本文分析了导致该问题的一种可能的原因:现有启动机制倾向于预测低信息量的高频词作为首词,级联影响了后续生成过程。基于上述分析,本文提出了一种新的启动机制,可以显著提升首词预测的准确率和信息量,继而级联提升后续回复内容的信息量。在多个对话生成模型上的实验结果表明,该启动机制可显著减少一般性回复出现的概率。基于多关键词的对话生成内容规划:针对对话生成模型在信息量充足时因缺少内容规划机制而引发的相关性问题,本文在基于多关键词的对话生成范式下,提出了一种内容规划方法。该方法可以自动推理最适合当前对话历史的关键词词序,并生成包含该词序下的多个关键词的相关回复。基于反事实推理的对话生成训练方法:针对现有训练方法缺少对多样潜在回复的探索的问题,本文提出了基于反事实推理的训练方法。该方法可以自动推理给定的真实回复生成时的场景,并在该场景下生成可替代真实回复的潜在回复,即反事实回复。实验结果表明,对多样的反事实回复的探索可以显著提升生成回复的多样性。检索增强的对抗式对话生成模型:针对现有对话生成模型过度简化了训练目标而导致的无法识别多样潜在回复的问题,本文提出了一种检索增强的对抗式对话生成模型。该模型模拟了人类根据经验中相似对话数据评价回复质量的过程,引入了一个基于N-best候选回复的判别器用以更好地识别不同于训练集回复的多样回复,进而鼓励多样回复的生成。总的来说,本文致力于开放域生成式对话系统回复的连贯性和多样性两个问题的研究。针对连贯性问题,本文分别探讨了提升信息量和在信息量充足的条件下提升相关性的方法。针对多样性问题,本文研究了如何在训练过程中更好地探索和判别多样的潜在回复进而提升回复多样性的方法。本文的研究可以显著提升生成回复的连贯性和多样性,从而得到更加接近人类的回复、提升现实生活中各类对话系统应用的用户体验。