一种基于对话历史建模的多轮对话生成方法及装置制造方法及图纸

技术编号:28871617 阅读:16 留言:0更新日期:2021-06-15 23:04
一种基于对话历史建模的多轮对话生成方法及装置,属于人工智能领域,其特征在于,利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化获取近邻感知的对话历史语义表示;利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;再根据本申请新增的近邻感知的对话历史语义表示、及对话历史增强的查询语义表示通过神经网络逐词生成回复语句,能够有效捕捉对话历史中篇章级别的连贯语义关系,缓解对话历史建模的长期依赖问题和记忆延迟问题,并充分挖掘了查询语句在捕捉当前对话焦点时的重要作用,使得所生成的对话具备更好的上下文一致性和信息丰富性。

【技术实现步骤摘要】
一种基于对话历史建模的多轮对话生成方法及装置
本专利技术属于人工智能领域,尤其涉及一种基于对话历史建模的多轮对话生成方法及装置。
技术介绍
开放域对话系统旨在实现让机器与人类在开放领域话题上进行自然语言交互。近年来,由于大规模数据的可得性以及深度学习技术的进步,基于神经网络的对话生成在开放域对话系统中引起了广泛的研究兴趣。与单轮场景相比,多轮对话在日常生活中更为广泛,但也对上下文一致性提出了更严格的要求。在多轮对话中,回复语句的生成不仅应取决于用户最近的消息,还应与对话历史保持一致,避免在逻辑、情感等方面的矛盾。因此,如何建模对话历史成为了多轮对话生成的关键内容之一。目前对话历史建模方法可以大致分为两类:层次建模方法和非层次建模方法。层次建模方法在句子和篇章两个层面上建模对话历史,着重研究对话历史中蕴含的语义关系以及话题转移关系等,部分研究还将记忆网络、隐变量模型以及变分自编码器融入了层次建模方法中。非层次建模方法通常按照对话顺序将对话历史串联为一个句子,或将对话历史综合重写为一个信息更加丰富的句子,然后将该句子输入到传统序列到序列框架以生成答复语句。与层次建模方法相比,非层次建模方法本质上还是单轮对话生成,忽略了对话历史中动态变化的话题流,因此层次类建模方法在捕捉对话过程中的语义变化上性能更佳。对话历史建模的一个关键问题就是获取对话历史的语义表示。目前的层次类建模方法通常将对话历史中各个轮次的语句视为相互独立的句子,然后进行单独的语义编码。这种做法忽略了一个重要事实,即多轮对话产生于一个连贯一致的交流过程,其中涉及的各个轮次的语句是前后关联的。对话历史中相邻的语句间存在显式的回复关系。如果单独编码这些语句却不考虑它们之间的语义关系,层次类建模方法可能无法捕获对话历史中篇章级别的连贯关系。此外,对话历史中多个语句的重要性不同,对当前轮次的回复生成存在不同的影响力。因此,如何找到与当前回复生成最相关的历史语句,也是对话历史建模的关键问题之一。目前的层次类建模方法主要利用各种注意力机制来计算历史语句的重要性,进而通过加权整合来获得对话历史的语义表示。但大量研究和实验结果证明,这种做法不能保证生成回复语句的相关性和一致性。
技术实现思路
本专利技术旨在解决上述问题,提供一种基于对话历史建模的多轮对话生成方法及装置。第一方面,本专利技术提供一种基于对话历史建模的多轮对话生成方法,包括:通过神经网络获得对话历史中每个语句的初始词级语义表示;利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,获取近邻感知的对话历史语义表示;将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;根据近邻感知的对话历史语义表示、及对话历史增强的查询语义表示,通过神经网络逐词生成回复语句。进一步,本专利技术所述基于对话历史建模的多轮对话生成方法,所述获得对话历史中每个语句的初始词级语义表示通过双向门控循环神经网络实现;所述生成回复语句通过单向门控循环神经网络实现。进一步,本专利技术所述基于对话历史建模的多轮对话生成方法,所述对对话历史的语义表示过程进行优化,对对话历史中的任一历史语句进行重编码,使之能够保留其相邻历史语句的语义信息,通过轮次方向上的顺序整合进而获取近邻感知的对话历史语义表示。进一步,本专利技术所述基于对话历史建模的多轮对话生成方法,所述通过神经网络获得对话历史中每个语句的初始词级语义表示,给定包含M条语句的多轮对话{U1,...,UM},M≥2,其中最后一条最新语句UM定义为查询语句,前M-1条语句序列U<M={U1,...,UM-1}定义为对话历史;多轮对话生成就是通过计算条件概率P(UM+1∣U<M;UM)来根据对话历史以及查询语句来生成回复语句UM+1;设回复UM+1包含NM+1个词,即则条件概率P(UM+1∣U<M;UM)可分解为:其中wn,M+1表示回复UM+1中第n个位置的词;w<n,M+1表示回复UM+1中前n-1个词,即w<n,M+1=(w1,M+1,...,wn-1,M+1);多轮对话{U1,...,UM}中任一语句Um(m∈[1,M])包含Nm个词,即通过双向门控循环神经网络将每个词wn,m(n∈[1,Nm])编码为一向量,计算过程如下:其中表示词wn,m对应的随机初始化的词向量;和分别表示前向和后向循环神经网络得到的词wn,m对应的向量;为词wn,m最终的向量表示;Um的初始词级语义被表示为一个向量序列,即更进一步,本专利技术所述基于对话历史建模的多轮对话生成方法,所述利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,对于Um中的任一词wn,m(n∈[1,Nm]),通过前向Transformer编码器将其进行如下重编码:其中,q,k,v分别为Transformer编码器中注意力机制对应的查询向量、键向量和值向量;对于第一个语句U1,设置Transformer编码器的注意力机制变为自注意力机制;同理,对于后向Transformer编码器重编码过程为:以上和分别表示词wn,m(n∈[1,Nm])经过和重编码后的向量表示;通过特征维度的向量拼接操作zn,m为词wn,m最终的重编码向量,它不仅包含词wn,m自身的语义特征,还纳入了邻居语句中相关的语义特征;经过以上重编码过程,语句Um被重编码为将其每个词对应的重编码向量进行相加,得到Um的语句级别的表示,即通过双向门控循环神经网络对对话历史的重编码向量进行轮次方向上的顺序整合,过程如下:其中为Um(m∈[1,M-1])经过保留模块重编码后的向量表示;被定义为对话历史U<M={U1,...,UM-1}的近邻语义感知的特征表示。更进一步,本专利技术所述基于对话历史建模的多轮对话生成方法,所述得到对话历史增强的查询语义表示,对UM中的任一词wi,M,计算它与UM中其他词的相关性:其中βi,j是词wj,M相对于词wi,M的相关性,j≠i∈[1,NM];grelu表示一个以ReLU为激活函数的全连接神经网络;f是点积操作;根据UM中其他词对于词wi,M的相关性,将其他词的语义融入wi,M的特征表示:其中向量ri,M不仅包含词wi,M自身的语义,还包含了UM中其他词的语义,具有句子级别的语境信息;继续计算词wi,M与对话历史中任一语句Um(m∈[1,M-1])的相关性:接着,根据相关性大小将相应对话历史中语句的语义信息融入词wi,M的表示:其中为词wi,M经过选择模块编码后的特征表示,不仅包含词wi,M本身语义,还融入了查询UM中其他词以及对话历史的语义信息本文档来自技高网
...

【技术保护点】
1.一种基于对话历史建模的多轮对话生成方法,其特征在于包括:/n通过神经网络,获得对话历史中每个语句的初始词级语义表示;/n利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,获取近邻感知的对话历史语义表示;/n将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;/n根据近邻感知的对话历史语义表示、对话历史增强的查询语义表示,通过神经网络逐词生成回复语句。/n

【技术特征摘要】
1.一种基于对话历史建模的多轮对话生成方法,其特征在于包括:
通过神经网络,获得对话历史中每个语句的初始词级语义表示;
利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,获取近邻感知的对话历史语义表示;
将对话历史中的最新语句定义为查询语句,先利用自注意力机制捕捉查询语句中词之间的关系,然后利用面向对话历史的注意力机制使查询语句自动从对话历史中吸收相关语义信息,得到对话历史增强的查询语义表示;
根据近邻感知的对话历史语义表示、对话历史增强的查询语义表示,通过神经网络逐词生成回复语句。


2.根据权利要求1所述基于对话历史建模的多轮对话生成方法,其特征在于:所述获得对话历史中每个语句的初始词级语义表示通过双向门控循环神经网络实现;所述生成回复语句通过单向门控循环神经网络实现。


3.根据权利要求1所述基于对话历史建模的多轮对话生成方法,所述对对话历史的语义表示过程进行优化,其特征在于:对对话历史中的任一历史语句进行重编码,使之能够保留其相邻历史语句的语义信息,通过轮次方向上的顺序整合进而获取近邻感知的对话历史语义表示。


4.根据权利要求1所述基于对话历史建模的多轮对话生成方法,所述通过神经网络,获得对话历史中每个语句的初始词级语义表示,其特征在于:给定包含M条语句的多轮对话{U1,...,UM},M≥2,其中最后一条最新语句UM定义为查询语句,前M-1条语句序列U<M={U1,...,UM-1}定义为对话历史;
多轮对话生成就是通过计算条件概率P(UM+1∣U<M;UM)来根据对话历史以及查询语句来生成回复语句UM+1;
设回复UM+1包含NM+1个词,即则条件概率P(UM+1∣U<M;UM)可分解为:



其中wn,M+1表示回复UM+1中第n个位置的词;w<n,M+1表示回复UM+1中前n-1个词,即w<n,M+1=(w1,M+1,...,wn-1,M+1);
多轮对话{U1,...,UM}中任一语句Um(m∈[1,M])包含Nm个词,即
通过双向门控循环神经网络将每个词wn,m(n∈[1,Nm])编码为一向量,计算过程如下:









其中表示词对应的随机初始化的词向量;和分别表示前向和后向循环神经网络得到的词wn,m对应的向量;为词wn,m最终的向量表示;Um的初始词级语义被表示为一个向量序列,即


5.根据权利要求4所述基于对话历史建模的多轮对话生成方法,所述利用对话历史中各语句之间的显式回复关系对对话历史的语义表示过程进行优化,其特征在于:对于Um中的任一词wn,m(n∈[1,Nm]),通过前向Transformer编码器将其进行如下重编码:









其中,q,k,v分别为Transformer编码器中注意力机制对应的查询向量、键向量和值向量;
对于第一个语句U1,设置Transformer编码器的注意力机制变为自注意力机制;
同理,对于后向Transformer编码器重编码过程为:









以上和分别表示词wn,m(n∈[1,Nm])经过和重编码后的向量表示;通过特征维度的向量拼接操作zn,m为词wn,m最终的重编码向量,它不仅包含词wn,m自身的语义特征,还纳入了邻居语句中相关的语义特征;
经过以上重编码过程,语句Um被重编码为...

【专利技术属性】
技术研发人员:凌艳香蔡飞陈洪辉杨文静梁政张清辉王天琦陶卿曌
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1