论文部分内容阅读
对话生成一直是机器学习以及自然语言处理领域的热点研究项目,是实现机器智能化的核心技术之一。已有工作在基于规则设定、信息检索和数据统计的对话模型方面研究较多,但是这些方法在技术上面临很多难以突破的瓶颈,如特定领域的知识难以抽取、规则难以完备以及受制于特定领域的专业特性等。目前,已有工作将这些模型与深度学习算法进行结合[9][11]。而基于神经网络的生成式闲聊对话模型仍然较少,而相比于传统的生成式对话模型,基于神经网络的生成模型可以省去大量的人工参与。现有的对话生成模型存在诸多不足与缺陷。在性能上,模型采用词汇表作为类别,模型的运算量随着词汇量变大而急剧增加;使用随机采样减少词汇量的做法,又导致学习到目标效果的训练步数增加。目前用于对话生成的神经网络模型通常形成一个整体,其结构复杂、参数众多,训练速度慢,这些因素导致更改模型的代价巨大。在效果上,现有的基于生成的对话模型倾向于输出常用词句,生成的语句缺乏多样性。此外,生成的语句往往不通顺或语意不明,并且经常具有明显的词法句法错误,与基于规则等传统模型的效果还有距离。为了解决对话生成模型中由于自然语言特性及模型自身设计导致的各种问题,以及为了提高生成的语句效果,本文基于将对话生成任务模块化的思想以及神经网络技术,研究了用以变量共享的数据预处理过程、面向对话生成的词汇推荐方法和基于推荐采样的综合词汇序列生成方法,在此基础上,设计与实现了一种基于混合神经网络的模块化对话生成模型。本文的主要工作与贡献点包括:(1)针对神经网络重复训练可共享变量的问题,研究并实现了一种用以变量共享的数据预处理过程,实现了神经网络模型的部分变量的共享。避免了重复训练,减少了网络模型在训练时的数据量,加快了训练速度,数据的复用在一定程度上减少了资源浪费。(2)针对对话生成模型的训练过程中词汇量过大导致的性能问题,研究实现了一种面向对话生成的词汇推荐方法,有效地限定了词汇范围,提高了最终生成语句的准确度,并提供了更为有效的词汇采样依据。(3)在词汇推荐方法的基础上,研究实现了一种基于推荐采样的综合词汇序列生成方法,使用词汇推荐作为采样,替代传统的随机采样,不仅将训练生成序列模块的复杂度从与词汇表长度相关降低到与一个常数相关,同时使得模型训练到相同效果的耗时变短。(4)通过综合上述技术方法,设计实现了一种基于混合神经网络的模块化对话生成模型。实验表明,本文研究实现的模块化对话生成模型,能使生成的对话不会出现大量相同或常用语句,保证了生成语句的多样性,也减少了语句不通以及语义不明的回答,提升了生成的对话的质量。同时,模块化的实现方式,减少了整体模型重新训练的情况,降低了修改参数、调整结构以及更换数据集的代价。