论文部分内容阅读
近年来,随着大数据和深度学习技术的不断发展,对话系统在各个领域越来越引起人们的重视。对话系统大致可分为两种:任务导向型对话系统和非任务导向型对话系统。面向任务的系统旨在帮助用户完成实际具体的任务,非任务导向的对话系统与人类交互,提供合理的回复和娱乐消遣功能,通常情况下主要集中在开放的领域与人交谈。虽然非任务导向的系统似乎在进行聊天,但是它在许多实际应用程序中都发挥了作用。在非任务导向型对话系统中,比较常见的是用Seq2Seq生成闲聊型机器人。但普通Seq2Seq可能出现如负面情感的回复、疑问句式的回复、回复的多样性较低等问题,导致用户体验差或者对话上下文不够连贯。并且,对于多轮对话系统来说,现有的Seq2Seq模型并不能令人满意。在多轮回答选择中,重要的是要在之前的话语中找出重要的信息,并恰当地模仿话语的关系,以确保谈话的连贯性。所以多轮对话的难点为:如何明确上下文的关键信息,在上下文中如何模拟多轮对话间的关系。本论文设计并实现了一个基于Transformer和记忆网络的多轮对话系统,具体工作如下:(1)针对当前的记忆网络在复杂问答任务上表现不佳的问题,本文在端到端记忆网络的基础上提出了一种新的基于门控注意力机制的记忆网络,它将端到端记忆网络的注意力机制应用于门控机制,提高了记忆网络解决复杂推理任务的能力,在复杂的问答任务中取得了更好的结果。(2)针对Transformer和Seq2Seq模型在解决对话生成上的性能问题,本文设计了实验来验证使用Self Attention的Transformer模型表现要比使用RNN和Attention的Seq2Seq模型更好,并且本文在句向量编码上使用了更加精准的BERT句向量,使得模型能够更好的获取句子的信息。(3)原始的Transformer考虑的上下文信息较单一,注意力机制仅仅是在单个句子层面进行信息的获取,而未引入历史信息。本文针对多轮次对话的需要,设计并实现了新的多轮对话模型,在原本基于注意力机制的Transformer模型基础上引入了记忆网络存储历史信息,能够更好的获取历史对话中的重要信息,并且在模型生成对话中采用Beam Search算法,提高对话生成的多样性。