CN113342947A - 能感知对话上下文相对位置信息的多轮对话文本生成方法 - Google Patents

能感知对话上下文相对位置信息的多轮对话文本生成方法 Download PDF

Info

Publication number
CN113342947A
CN113342947A CN202110575909.XA CN202110575909A CN113342947A CN 113342947 A CN113342947 A CN 113342947A CN 202110575909 A CN202110575909 A CN 202110575909A CN 113342947 A CN113342947 A CN 113342947A
Authority
CN
China
Prior art keywords
attention
layer
dialog
context
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110575909.XA
Other languages
English (en)
Other versions
CN113342947B (zh
Inventor
曾碧卿
甘子邦
池俊龙
邓会敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGDONG AIB POLYTECHNIC COLLEGE
South China Normal University
Original Assignee
GUANGDONG AIB POLYTECHNIC COLLEGE
South China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GUANGDONG AIB POLYTECHNIC COLLEGE, South China Normal University filed Critical GUANGDONG AIB POLYTECHNIC COLLEGE
Priority to CN202110575909.XA priority Critical patent/CN113342947B/zh
Publication of CN113342947A publication Critical patent/CN113342947A/zh
Application granted granted Critical
Publication of CN113342947B publication Critical patent/CN113342947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种能感知对话上下文相对位置信息的多轮对话文本生成方法。本发明所述的能感知对话上下文相对位置信息的多轮对话文本生成方法包括以下步骤:构建多轮对话文本生成模型,包括输入层、上下文自注意力层、响应自注意力层、隐变量层、角色嵌入层和解码器层;其中,所述输入层包括词嵌入层和编码器;将对话输入至多轮对话文本生成模型,经输入层、上下文自注意力层处理得到词嵌入序列和对话上下文话语间注意力表示;经响应自注意力层处理得到对话响应的注意力表示;经角色嵌入层处理得到角色嵌入;经隐变量层和解码器层处理,生成对话结果。本发明所述的能感知对话上下文相对位置信息的多轮对话文本生成方法最终生成的对话文本逻辑性更强。

Description

能感知对话上下文相对位置信息的多轮对话文本生成方法
技术领域
本发明涉及自然对话生成领域,特别是涉及一种能感知对话上下文相对位置信息的多轮对话文本生成方法。
背景技术
深度学习的不断进步极大地推动了生成式对话系统的发展。序列到序列模型(sequence to sequence model,Seq2Seq)被广泛用于解决序列建模问题,使用循环神经网络(Recurrent neural network,RNN),如门控循环单元(Gated Recurrent Unit,GRU)、长期短期记忆网络,作为序列到序列模型的基本组成单元。对话文本生成的主流方法采用序列到序列模型,利用深度循环神经网络(RNN)结合注意力机制作为基本构件。
2016年,有学者首次提出层级递归编码器解码器模型(Hierarchical RecurrentEncoder-Decoder),首先编码句子内部的依赖关系,然后编码上下文句子之间的依赖关系。2017年,有学者在前面工作的基础上提出VHRED(Hierarchical Latent VariableEncoder-Decoder)模型,引入隐变量来提高生成文本的多样性。随后,有学者提出计算回答与上下文之间的余弦相似度分数来区分不同上下文句子的注意力权重,但他们的方法受限于文本级别的匹配,缺乏考虑更深入的语义匹配。2018年,有学者首次把传统的注意力机制引入到HRED模型中,但注意力位置偏差问题仍然存在。近两年,有学者提出ReCoSa模型(Detecting the Relevant Contexts with Self-Attention),是一种使用自注意力机制检测相关上下文的对话文本生成方法,缓解了注意力偏差问题和语义匹配问题,但其仍然受限于有限的训练语料和单词的语义。
现有的基于深度学习的对话文本生成方法普遍存在以下问题:
其一,这些方法受限于有限的训练语料,不可避免会忽略一些概念知识,导致生成有常识错误的对话回复。如把句子“Hey,taxi.”中的“taxi”错误地当作是一个人名,给出如句子“Hey,tom.”的错误回复。以上问题一般可以通过更好地建模多轮对话中的知识来解决。
其二,基线模型生成的对话回复存在“角色模糊”问题。如图1所示,显然,在第四轮对话中,对话模型应作为一个司机的角色根据对话上下文给乘客一个回复,但司机询问乘客有关行程的时间和票价问题,显然有些身份的颠倒,说明了基线模型生成的回复与当前的说话者身份不符,我们把它称为“角色模糊”问题。我们分析,“角色模糊”问题是在缺乏角色对象语义引导下生成回复导致的,需要额外编码角色对象的语义信息。
发明内容
基于此,本发明的目的在于,提供一种能感知对话上下文相对位置信息的多轮对话文本生成方法,增加了角色嵌入计算,缓解了传统方法“角色模糊”问题;并引入隐变量,在保证相关性的前提下提升了对话文本生成的多样性。
一种能感知对话上下文相对位置信息的多轮对话文本生成方法,包括以下步骤:
构建多轮对话文本生成模型,包括输入层、上下文自注意力层、响应自注意力层、隐变量层、角色嵌入层和解码器层;其中,所述输入层包括词嵌入层和编码器;
将一个由多个话语序列
Figure BDA0003084347120000021
组成的对话u=(u0,u1,...,un-1)输入至所述输入层,经过双向编码处理得到由词嵌入序列组成的词嵌入表示矩阵
Figure BDA0003084347120000022
针对话语i,经过输入层的编码器处理得到话语表示Ci=hi=uRNN(Ui,hi-1);
将所述话语表示Ci输入至所述上下文自注意力层,引入话语的位置嵌入PE,基于多头自注意力机制,得到带有相对位置信息的对话上下文话语间注意力表示Oc;其中,位置嵌入PE为自注意力层的学习参数,计算公式如下:
Figure BDA0003084347120000023
Figure BDA0003084347120000024
将对话响应R和位置嵌入PE输入至所述响应自注意力层,得到对话响应的注意力表示OR;其中,对话响应R为在训练预料中对一个样例的候选回复进行编码后的语义向量,由候选回复经过RNN编码后得到。
将所述上下文话语间注意力表示Oc和所述对话响应的注意力表示OR输入至所述隐变量层,计算得到隐变量l;
将上下文话语文本输入至所角色嵌入层,得到角色嵌入REi
将所述词嵌入序列e、所述对话上下文话语间注意力表示Oc和所述角色嵌入RE输入至所述解码器层,计算词汇表中词的输出概率,输出概率最大的词。
本发明所述的能感知对话上下文相对位置信息的多轮对话文本生成方法,使用了能感知相对位置信息的自注意力机制,能够更好提取多轮对话输入文本的隐藏特征,使得最终生成的对话文本前后话语富有逻辑性;加入角色嵌入层,根据当前轮的相关上下文计算角色嵌入,程度上缓解了“角色模糊”问题;解码器阶段还引入了隐变量,在对话文本的生成过程加入了一点噪声,从而在保证相关性的情况下提升了对话文本生成的多样性。
进一步地,将所述上下文话语间注意力表示Oc和所述对话响应的注意力表示OR输入至所述隐变量层,计算得到隐变量l,包括:
将所述上下文话语间注意力表示Oc和所述对话响应的注意力表示OR连接在一起,通过激活函数tanh馈入一个两层前馈网络;
对前馈网络的输出进行线性变换来定义后验均值μposterior
对前馈网络的输出进行不同的线性变换;
使用softplus函数定义后验协方差矩阵∑posterior
利用公式Pθ(l|u0,...,un-1)=N(μposterior,∑posterior),从多变量正态分布N(μ,∑)中采样隐变量l。
进一步地,将话语输入至所角色嵌入层,得到角色嵌入REi,包括:
初始化两个门控循环单元模块EvenGRU和OddGRU;其中,EvenGRU为针对当前响应是对话的偶数轮的门控循环单元模块,OddGRU为针对当前响应是对话的奇数轮的门控循环单元模块;
将上下文话语文本输入EvenGRU和OddGRU,根据如下公式,得到角色嵌入REi
Figure BDA0003084347120000031
其中,i为上下文话语文本的序号,cn为上下文话语文本。
进一步地,将所述话语表示Ci输入至所述上下文自注意力层,引入话语的位置嵌入PE,基于多头自注意力机制,得到带有相对位置信息的对话上下文话语间注意力表示Oc,包括,利用以下公式:
Figure BDA0003084347120000032
Figure BDA0003084347120000033
Figure BDA0003084347120000034
Figure BDA0003084347120000035
headi=Attention(QWi Q,KWi K,VWi V)
MultiheadAttention(Q,K,V)=Concat(head1,...,headh)·WO
xi=Ci+PEi,i∈[0,n)
Oc=MultiheadAttention(x,x,x)
其中,eij为计算序列第i个词对第j个词的注意力能量值,αij为计算序列第i个词对第j个词的注意力权重;Zi为计算序列第i个词对整个序列的加权注意力权重;W表示查询Q、键K和值V矩阵的权重矩阵,PE表示位置嵌入,为学习的参数;headi表示多头注意力机制中,第i个头的输出;aij V表示针对多头注意力机制引入的相对位置的值V矩阵,aij K表示针对多头注意力机制引入的相对位置的键k矩阵。
进一步地,所述解码器层包括多头自注意力层和解码器GRU。
进一步地,所述多头自注意力层注意力头个数为8,层数为3。
进一步地,计算词汇表中词的输出概率,输出概率最大的词,之前还包括:
将所述对话上下文话语间注意力表示Oc和所述解码器GRU的隐藏状态h,输入至所述多头自注意力层,计算得到上下文-响应注意力权重CE。
进一步地,计算词汇表中词的输出概率,输出概率最大的词,之前还包括:
将所述连接对话上下文中最后一个话语表示Cn-1和隐变量l输入至所述解码器GRU,作为解码器初始状态h0,用h0初始化解码器GRU;
将所述词嵌入序列e、所述上下文-响应注意力权重CE和所述角色嵌入RE输入到解码器GRU中,计算词汇表中词的输出概率,输出概率最大的词。
进一步地,计算词汇表中词的输出概率,输出概率最大的词,包括,利用以下公式:
h0=tanh(concat(Cn-1,l))
CEt-1=MultiheadAttention(ht-1,OC,OC)
output,ht=GRU(ht-1,[er,t,CEt-1,REi]),t≥1
Output Probabilities=Softmax(Linear(output))
Figure BDA0003084347120000041
其中,Cn-1是对话历史中最后一句话的话语表示,l是隐变量,两者进行了连接concat操作,经过激活函数tanh,得到解码器GRU的隐藏状态的初始化值h0。每生成一个单词,要经过几个过程,通过把当前的隐藏状态值ht-1和对话上下文话语间注意力表示Oc作为多头注意力机制层MultiheadAttention的输入,完成的上下文-响应注意力权重CE的计算。完成了这些计算以后,最后在解码阶段把GRU的输入初始为上下文-响应注意力权重CE、角色嵌入REi和词嵌入er,t的合并体,把GRU的隐藏状态初始为ht-1,计算得到下一步的隐藏状态ht和输出语义向量output,对output进行全连接层Linear的维度变换后,输入进Softmax激活层进行输出词概率的计算,取概率最大的词作为这一步生成的单词,过程中,生成的单词是依据隐藏状态ht和多轮对话上文wr,t-1在循环神经网络多次迭代中进行条件概率计算出来的。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明提供的能感知对话上下文相对位置信息的多轮对话文本生成方法的步骤图;
图2为本发明提供的能感知对话上下文相对位置信息的多轮对话文本生成方法的模型整体框架示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
如图1所示,图1为本发明提供的能感知对话上下文相对位置信息的多轮对话文本生成方法的步骤图,包括以下步骤:
S1:构建多轮对话文本生成模型,包括输入层、上下文自注意力层、响应自注意力层、隐变量层、角色嵌入层和解码器层;其中,所述输入层包括词嵌入层和编码器。
在一个具体的实施例中,本发明提供的能感知对话上下文相对位置信息的多轮对话文本生成方法的多轮对话文本生成模型的整体框架如图2所示。
其中,词嵌入层为双向编码词嵌入层,编码器为GRU编码器,解码器为GRU解码器,上下文自注意力层和响应自注意力层均为多头自注意力层。
优选的,解码器层包括多头自注意力层和解码器GRU。
多轮对话文本生成模型的相关参数设置如下:
词嵌入层:词向量的维度为512;
隐变量层:隐变量的维度为100;
多头注意力层:注意力头个数为8,层数为3;
编码器和解码器:编码器隐藏层维度为512,解码器隐藏层维度为512。
多轮对话文本生成模型使用AdamOptimizer优化器,学习率的初始值设置为0.03,增量器初始值(initial_accumulator_value)设为0.1。所有RNN模型参数均由Xavier正态分布初始化。
S2:将一个由多个话语序列
Figure BDA0003084347120000061
组成的对话u=(u0,u1,...,un-1)输入至所述输入层,经过词嵌入层的双向编码处理得到由词嵌入序列组成的词嵌入表示矩阵
Figure BDA0003084347120000062
将每个话语i输入至编码器,经处理得到话语表示Ci=hi=uRNN(Ui,hi-1)。
优选的,话语表示Ci的计算方式为:
对于话语i,在第j步,给定隐藏状态hj-1和词嵌入
Figure BDA0003084347120000063
GRU编码器生成隐藏状态hj,把最后一步生成的隐藏状态作为话语i的话语表示Ci
S3:将所述话语表示Ci输入至所述上下文自注意力层,引入话语的位置嵌入PE,基于多头自注意力机制,得到带有相对位置信息的对话上下文话语间注意力表示Oc
自注意力层无RNN的循环结构,无法感知一个句子中词语出现的先后顺序,而词语的位置是相当重要的一个信息。因此,在自注意力层提出了位置编码PositionalEncoding,即PE,为自注意力层训练学习的参数。
Figure BDA0003084347120000071
Figure BDA0003084347120000072
优选的,通过增加aij V和aij K表示,将不同话语i和话语j间的相对位置信息引入到多头注意力机制中,将它应用到输入序列。最后,加权计算上下文话语间的注意力分数,将步骤1输出的第i个话语的话语表示Ci作为能感知相对位置的多头注意力机制的输入。
利用如下公式计算带有相对位置信息的对话上下文话语间注意力表示Oc
Figure BDA0003084347120000073
Figure BDA0003084347120000074
Figure BDA0003084347120000075
Figure BDA0003084347120000076
headi=Attention(QWi Q,KWi K,VWi V)
MultiheadAttention(Q,K,V)=Concat(head1,...,headh)·WO
xi=Ci+PEi,i∈[0,n)
Oc=MultiheadAttention(x,x,x)
其中,eiij为计算序列第i个词对第j个词的注意力能量值,αij为计算序列第i个词对第j个词的注意力权重;Zi为计算序列第i个词对整个序列的加权注意力权重;W表示查询Q、键K和值V矩阵的权重矩阵,PE表示位置嵌入,为模型学习的参数;headi表示多头注意力机制中,第i个头的输出;aij V表示针对多头注意力机制引入的相对位置的值V矩阵,aij K表示针对多头注意力机制引入的相对位置的键k矩阵。
S4:将对话响应R和位置嵌入PE输入至所述响应自注意力层,得到对话响应的注意力表示OR
其中,对话响应R是在训练预料中,对一个样例的候选回复进行编码后的语义向量。候选回复经过RNN编码后得到一个一个词的编码w,每个位置对应一个位置编码PE。
优选的,利用如下公式计算对话响应的注意力表示OR
Ri=(wr,i+PEi)
OR=MultiheadAttention(R,R,R)
S5:将所述上下文话语间注意力表示Oc和所述对话响应的注意力表示OR输入至所述隐变量层,计算得到隐变量l。
具体算法为:
将所述上下文话语间注意力表示Oc和所述对话响应的注意力表示OR连接在一起,通过激活函数tanh馈入一个两层前馈网络;
对前馈网络的输出进行线性变换来定义后验均值μposterior
对前馈网络的输出进行不同的线性变换;
使用softplus函数定义后验协方差矩阵∑posterior
利用公式Pθ(l|u0,...,un-1)=N(μposterior,∑posterior),从多变量正态分布N(μ,∑)中采样隐变量l。
计算公式如下:
hposterior=tanh(FFN(concat(Oc,OR)))
μposterior=Linear(hposterior)
posterior=softplus(Linear(hposterior))
Pθ(l|u0,...,un-1)=N(μposterior,∑posterior)
其中,本发明从一个多变量正态分布N(μ,∑)中采样隐变量l,均值
Figure BDA0003084347120000081
和协方差矩阵
Figure BDA0003084347120000082
共同决定着这个多变量正太分布,二者均为深度学习模型要学习的参数。模型的训练阶段,将上下文话语间注意力表示Oc和对话响应的注意力表示OR作为隐变量层的输入,它们被连接在一起,并通过激活函数tanh馈入一个两层前馈网络,之后对前馈网络的输出进行线性变换来定义后验均值μposterior。接着,通过对前馈网络的输出进行不同的线性变换,然后加上一个softplus函数来定义后验协方差矩阵∑posterior。值得注意的是,在对话响应生成阶段中,实际上是根据先验的均值μprior和协方差矩阵∑prior计算隐变量l,在推导过程中看不见候选的对话响应R,所以不能利用OR的信息,为了让先验分布近似后验分布,在训练过程中,在先验和后验分布之间应用了KL散度。
KL散度,即相对熵(relative entropy),又被称为Kullback-Leibler散度(Kullback-Leibler divergence)或信息散度(information divergence),是两个概率分布(probability distribution)间差异的非对称性度量。在信息理论中,相对熵等价于两个概率分布的信息熵(Shannon entropy)的差值。
相对熵是一些优化算法,例如最大期望算法(Expectation-Maximizationalgorithm,EM)的损失函数。此时参与计算的一个概率分布为真实分布,另一个为理论(拟合)分布,相对熵表示使用理论分布拟合真实分布时产生的信息损耗。
S6:将上下文话语文本输入至所角色嵌入层,得到角色嵌入REi
在一个多轮的对话中,假设两个讲话者携带着可识别的信息,如司机和乘客,对于不同的讲话者,可以通过对其历史话语的解读来挖掘身份语义信息。
因此,本发明提供的能感知对话上下文相对位置信息的多轮对话文本生成方法,增加了一个额外的输入,角色嵌入RE_i,用于在多轮对话响应的解码过程中区分不同的说话者。
具体的,初始化两个门控循环单元模块EvenGRU和OddGRU;其中,EvenGRU为针对当前响应是对话的偶数轮的门控循环单元模块,OddGRU为针对当前响应是对话的奇数轮的门控循环单元模块;
将上下文话语文本输入EvenGRU和OddGRU,根据如下公式,得到角色嵌入REi
Figure BDA0003084347120000091
其中,i为上下文话语文本的序号,cn为上下文话语文本。
S7:将所述词嵌入序列e、所述对话上下文话语间注意力表示Oc和所述角色嵌入RE输入至所述解码器层,计算词汇表中词的输出概率,输出概率最大的词。
优选的,在此之前,还包括计算上下文-响应注意力权重CE。
具体的,将所述对话上下文话语间注意力表示Oc和所述解码器GRU的隐藏状态h,输入至所述多头自注意力层,计算得到上下文-响应注意力权重CE。
CEt-1=MultiheadAttention(ht-1,OC,OC)
具体的,计算词汇表中词的输出概率,包括:
将所述连接对话上下文中最后一个话语表示Cn-1和隐变量l输入至所述解码器GRU,作为解码器初始状态h0,用h0初始化解码器GRU;
将所述词嵌入序列e、所述上下文-响应注意力权重CE和所述角色嵌入RE输入到解码器GRU中,计算词汇表中词的输出概率,输出概率最大的词。
在一个具体的实施例中,计算过程采用以下公式:
h0=tanh(concat(Cn-1,l))
CEt-1=MultiheadAttention(ht-1,OC,OC)
output,ht=GRU(ht-1,[er,t,CEt-1,REi]),t≥1
Output Probabilities=Softmax(Linear(output))
Figure BDA0003084347120000101
其中,Cn-1是对话历史中最后一句话的话语表示,l是隐变量,两者进行了连接concat操作,经过激活函数tanh,得到解码器GRU的隐藏状态的初始化值h0。每生成一个单词,要经过几个过程,通过把当前的隐藏状态值ht-1和对话上下文话语间注意力表示Oc作为多头注意力机制层MultiheadAttention的输入,完成的上下文-响应注意力权重CE的计算。完成了这些计算以后,最后在解码阶段把GRU的输入初始为上下文-响应注意力权重CE、角色嵌入REi和词嵌入er,t的合并体,把GRU的隐藏状态初始为ht-1,计算得到下一步的隐藏状态ht和输出语义向量output,对output进行全连接层Linear的维度变换后,输入进Softmax激活层进行输出词概率的计算,取概率最大的词作为这一步生成的单词,过程中,生成的单词是依据隐藏状态ht和多轮对话上文wr,t-1在循环神经网络多次迭代中进行条件概率计算出来的。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (9)

1.一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于,包括以下步骤:
构建多轮对话文本生成模型,包括输入层、上下文自注意力层、响应自注意力层、隐变量层、角色嵌入层和解码器层;其中,所述输入层包括词嵌入层和编码器;
将一个由多个话语序列
Figure FDA0003084347110000011
组成的对话u=(u0,u1,...,un-1)输入至所述输入层,经过双向编码处理得到由词嵌入序列组成的词嵌入表示矩阵
Figure FDA0003084347110000012
针对话语i,经过输入层的编码器处理得到话语表示Ci=hi=uRNN(Ui,hi-1);
将所述话语表示Ci输入至所述上下文自注意力层,引入话语的位置嵌入PE,基于多头自注意力机制,得到带有相对位置信息的对话上下文话语间注意力表示Oc;其中,位置嵌入PE为自注意力层的学习参数,计算公式如下:
Figure FDA0003084347110000013
Figure FDA0003084347110000014
将对话响应R和位置嵌入PE输入至所述响应自注意力层,得到对话响应的注意力表示OR;其中,对话响应R为在训练预料中对一个样例的候选回复进行编码后的语义向量,由候选回复经过RNN编码后得到。
将所述上下文话语间注意力表示Oc和所述对话响应的注意力表示OR输入至所述隐变量层,计算得到隐变量l;
将上下文话语文本输入至所角色嵌入层,得到角色嵌入REi
将所述词嵌入序列e、所述对话上下文话语间注意力表示Oc和所述角色嵌入RE输入至所述解码器层,计算词汇表中词的输出概率,输出概率最大的词。
2.根据权利要求1所述的一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于,将所述上下文话语间注意力表示Oc和所述对话响应的注意力表示OR输入至所述隐变量层,计算得到隐变量l,包括:
将所述上下文话语间注意力表示Oc和所述对话响应的注意力表示OR连接在一起,通过激活函数tanh馈入一个两层前馈网络;
对前馈网络的输出进行线性变换来定义后验均值μposterior
对前馈网络的输出进行不同的线性变换;
使用softplus函数定义后验协方差矩阵∑posterior
利用公式Pθ(l|u0,...,un-1)=N(μposterior,∑posterior),从多变量正态分布N(μ,∑)中采样隐变量1。
3.根据权利要求1所述的一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于,将话语输入至所角色嵌入层,得到角色嵌入REi,包括:
初始化两个门控循环单元模块EvenGRU和OddGRU;其中,EvenGRU为针对当前响应是对话的偶数轮的门控循环单元模块,OddGRU为针对当前响应是对话的奇数轮的门控循环单元模块;
将上下文话语文本输入EvenGRU和OddGRU,根据如下公式,得到角色嵌入REi
Figure FDA0003084347110000021
其中,i为上下文话语文本的序号,cn为上下文话语文本。
4.根据权利要求1所述的一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于,将所述话语表示Ci输入至所述上下文自注意力层,引入话语的位置嵌入PE,基于多头自注意力机制,得到带有相对位置信息的对话上下文话语间注意力表示Oc,包括,利用以下公式:
Figure FDA0003084347110000022
Figure FDA0003084347110000023
Figure FDA0003084347110000024
Figure FDA0003084347110000025
headi=Attention(QWi Q,KWi K,VWi V)
MultiheadAttention(Q,K,V)=Concat(head1,...,headh)·WO
xi=Ci+PEi,i∈[0,n)
Oc=MultiheadAttention(x,x,x)
其中,eij为计算序列第i个词对第j个词的注意力能量值,αij为计算序列第i个词对第j个词的注意力权重;Zi为计算序列第i个词对整个序列的加权注意力权重;W表示查询Q、键K和值V矩阵的权重矩阵,PE表示位置嵌入,为学习的参数;headi表示多头注意力机制中,第i个头的输出;aij V表示针对多头注意力机制引入的相对位置的值V矩阵,aij K表示针对多头注意力机制引入的相对位置的键k矩阵。
5.根据权利要求1所述的一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于:
所述解码器层包括多头自注意力层和解码器GRU。
6.根据权利要求5所述的一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于:
所述多头自注意力层注意力头个数为8,层数为3。
7.根据权利要求6所述的一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于,计算词汇表中词的输出概率,输出概率最大的词,之前还包括:
将所述对话上下文话语间注意力表示Oc和所述解码器GRU的隐藏状态h,输入至所述多头自注意力层,计算得到上下文-响应注意力权重CE。
8.根据权利要求7所述的一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于,计算词汇表中词的输出概率,输出概率最大的词,包括:
将所述连接对话上下文中最后一个话语表示Cn-1和隐变量l输入至所述解码器GRU,作为解码器初始状态h0,用h0初始化解码器GRU;
将所述词嵌入序列e、所述上下文-响应注意力权重CE和所述角色嵌入RE输入到解码器GRU中,计算词汇表中词的输出概率,输出概率最大的词。
9.根据权利要求8所述的一种能感知对话上下文相对位置信息的多轮对话文本生成方法,其特征在于,计算词汇表中词的输出概率,输出概率最大的词,包括,利用以下公式:
h0=tanh(concat(Cn-1,l))
CEt-1=MultiheadAttention(ht-1,OC,OC)
output,ht=GRU(ht-1,[er,t,CEt-1,REi]),t≥1
Output Probabilities=Softmax(Linear(output))
Figure FDA0003084347110000031
其中,Cn-1为对话历史中最后一句话的话语表示,l为隐变量,concat()为连接函数,tanh()为激活函数,h0为解码器GRU的隐藏状态的初始化值;CEt-1为经多头注意力层计算得到的上下文-响应注意力权重;output为语义向量,er,t为经过双向编码得到的词嵌入;
Figure FDA0003084347110000041
表示生成单词依据隐藏状态ht和多轮对话上文wr,t-1在循环神经网络多次迭代中进行条件概率计算得出。
CN202110575909.XA 2021-05-26 2021-05-26 能感知对话上下文相对位置信息的多轮对话文本生成方法 Active CN113342947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110575909.XA CN113342947B (zh) 2021-05-26 2021-05-26 能感知对话上下文相对位置信息的多轮对话文本生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110575909.XA CN113342947B (zh) 2021-05-26 2021-05-26 能感知对话上下文相对位置信息的多轮对话文本生成方法

Publications (2)

Publication Number Publication Date
CN113342947A true CN113342947A (zh) 2021-09-03
CN113342947B CN113342947B (zh) 2022-03-15

Family

ID=77471480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110575909.XA Active CN113342947B (zh) 2021-05-26 2021-05-26 能感知对话上下文相对位置信息的多轮对话文本生成方法

Country Status (1)

Country Link
CN (1) CN113342947B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723079A (zh) * 2021-09-08 2021-11-30 天津大学 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法
CN113868395A (zh) * 2021-10-11 2021-12-31 北京明略软件系统有限公司 多轮对话生成式模型建立方法、系统、电子设备及介质
CN118230347A (zh) * 2024-05-24 2024-06-21 贵州大学 一种基于语义保留与重构的图像文本控制描述生成方法
CN118585633A (zh) * 2024-08-06 2024-09-03 深圳市讯方技术股份有限公司 一种情感对话生成方法、装置及电子设备
CN118585633B (zh) * 2024-08-06 2024-10-29 深圳市讯方技术股份有限公司 一种情感对话生成方法、装置及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170358299A1 (en) * 2016-06-14 2017-12-14 Microsoft Technology Licensing, Llc Computer proxy messaging bot
US20180174020A1 (en) * 2016-12-21 2018-06-21 Microsoft Technology Licensing, Llc Systems and methods for an emotionally intelligent chat bot
CN110413729A (zh) * 2019-06-25 2019-11-05 江南大学 基于尾句-上下文双重注意力模型的多轮对话生成方法
CN111159368A (zh) * 2019-12-12 2020-05-15 华南理工大学 一种个性化对话的回复生成方法
CN111930918A (zh) * 2020-09-29 2020-11-13 湖南大学 一种跨模态的双边个性化人机社交对话生成方法及系统
CN112182161A (zh) * 2020-09-30 2021-01-05 中国人民大学 一种基于用户对话历史的个性化对话生成方法和系统
CN112527962A (zh) * 2020-12-17 2021-03-19 云从科技集团股份有限公司 基于多模态融合的智能应答方法、装置、机器可读介质及设备
CN112667797A (zh) * 2021-01-06 2021-04-16 华南师范大学 自适应迁移学习的问答匹配方法、系统及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170358299A1 (en) * 2016-06-14 2017-12-14 Microsoft Technology Licensing, Llc Computer proxy messaging bot
US20180174020A1 (en) * 2016-12-21 2018-06-21 Microsoft Technology Licensing, Llc Systems and methods for an emotionally intelligent chat bot
CN110413729A (zh) * 2019-06-25 2019-11-05 江南大学 基于尾句-上下文双重注意力模型的多轮对话生成方法
CN111159368A (zh) * 2019-12-12 2020-05-15 华南理工大学 一种个性化对话的回复生成方法
CN111930918A (zh) * 2020-09-29 2020-11-13 湖南大学 一种跨模态的双边个性化人机社交对话生成方法及系统
CN112182161A (zh) * 2020-09-30 2021-01-05 中国人民大学 一种基于用户对话历史的个性化对话生成方法和系统
CN112527962A (zh) * 2020-12-17 2021-03-19 云从科技集团股份有限公司 基于多模态融合的智能应答方法、装置、机器可读介质及设备
CN112667797A (zh) * 2021-01-06 2021-04-16 华南师范大学 自适应迁移学习的问答匹配方法、系统及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张杰辉: "《任务型对话系统的自然语言生成研究》", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
赵正宇: "《基于预训练的开放域角色化对话生成关键技术研究》", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723079A (zh) * 2021-09-08 2021-11-30 天津大学 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法
CN113723079B (zh) * 2021-09-08 2023-10-31 天津大学 针对长距离对话状态追踪的分层建模贡献感知的上下文的方法
CN113868395A (zh) * 2021-10-11 2021-12-31 北京明略软件系统有限公司 多轮对话生成式模型建立方法、系统、电子设备及介质
CN118230347A (zh) * 2024-05-24 2024-06-21 贵州大学 一种基于语义保留与重构的图像文本控制描述生成方法
CN118230347B (zh) * 2024-05-24 2024-07-26 贵州大学 一种基于语义保留与重构的图像文本控制描述生成方法
CN118585633A (zh) * 2024-08-06 2024-09-03 深圳市讯方技术股份有限公司 一种情感对话生成方法、装置及电子设备
CN118585633B (zh) * 2024-08-06 2024-10-29 深圳市讯方技术股份有限公司 一种情感对话生成方法、装置及电子设备

Also Published As

Publication number Publication date
CN113342947B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
CN113342947B (zh) 能感知对话上下文相对位置信息的多轮对话文本生成方法
US11705107B2 (en) Real-time neural text-to-speech
Salazar et al. Self-attention networks for connectionist temporal classification in speech recognition
CN114023316B (zh) 基于TCN-Transformer-CTC的端到端中文语音识别方法
CN111199727B (zh) 语音识别模型训练方法、系统、移动终端及存储介质
Nakashika et al. Voice conversion using RNN pre-trained by recurrent temporal restricted Boltzmann machines
Manohar et al. Semi-supervised maximum mutual information training of deep neural network acoustic models.
CN110737764A (zh) 一种个性化对话内容生成方法
KR20180071029A (ko) 음성 인식 방법 및 장치
CN110188348B (zh) 一种基于深度神经网络的中文语言处理模型及方法
Li et al. End-to-end speech recognition with adaptive computation steps
CN113257248B (zh) 一种流式和非流式混合语音识别系统及流式语音识别方法
CN112967739B (zh) 一种基于长短期记忆网络的语音端点检测方法及系统
CN111767718A (zh) 一种基于弱化语法错误特征表示的中文语法错误更正方法
Zhang et al. Deep recurrent convolutional neural network: Improving performance for speech recognition
CN114385802A (zh) 一种融合主题预测和情感推理的共情对话生成方法
CN110297889A (zh) 一种基于特征融合的企业情感倾向分析方法
CN113239174A (zh) 一种基于双层解码的层次化多轮对话生成方法及装置
CN113656569A (zh) 一种基于上下文信息推理的生成式对话方法
Liu et al. Jointly encoding word confusion network and dialogue context with bert for spoken language understanding
Tanaka et al. Dialogue-act prediction of future responses based on conversation history
CN112163080A (zh) 一种基于多轮情绪分析的生成式对话系统
CN114863948A (zh) 基于CTCAttention架构的参考文本相关发音错误检测模型
Xie et al. Dialogue breakdown detection using hierarchical bi-directional LSTMs
CN109918484B (zh) 对话生成方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant