一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于检索的多轮对话系统和方法

2022-09-07 23:10:57 来源:中国专利 TAG:


1.本发明涉及基于检索的多轮对话系统和方法,属于自然语言处理技术领域,特别是属于对话机器人技术领域。


背景技术:

2.创建一个可以在开放领域和人类进行自然交流的机器人是人工智能领域一个很有挑战性的任务。目前,建立这样一个对话机器人的方法主要分为两种,分别为基于生成的方法和基于检索的方法。前者基于在大规模对话数据集上训练的语言模型直接生成一个回复,而后者使用基于检索的方法从候选集中挑选一个最佳匹配的回复。
3.基于检索的对话机器人的任务是:给定一段前n轮对话和若干个候选答案组成的候选集,要求模型从候选集中挑选最适合作为n 1轮的对话,这是重要且相当具有挑战性的任务。该任务的一个核心步骤是计算n轮对话(即上下文)和候选答案的匹配分数。早期的一些方法是将n轮对话通过循环神经网络聚合成一个稠密的向量,然后计算候选答案表示和该稠密向量的余弦相似度,从而选择得分最高的候选答案作为答案。为了避免上下文信息的丢失,wu等人提出smn模型(详见文献:wuy,wuw,xing c,et al.sequential matching network:anew architecture for multi-turn response selection in retrieval-based chatbots[c];proceedings of the proceedings of the 55th annual meeting of the association for computational linguistics,acl2017,vancouver,canada,july 30-august 4,volume 1:long papers,f,2017.association for computational linguistics.),将候选答案和每一轮对话进行匹配得到一个匹配向量,然后通过循环神经网络rnn在时序上聚合这n个匹配向量,再用聚合后的向量计算一个分数。之后很多工作延续了这种方式。但是,这些工作都忽视了一点,即匹配阶段的上下文信息是很重要的。
[0004]
gu等人的方法(详见文献:gu j,li t,liu q,et al.speaker-aware bert for multi-turn response selection in retrieval-based chatbots[c];proceedings of the cikm,f,2020.)考虑到让全局信息参与交互的问题,但是他们的方法简单地将整个对话上下文压缩再和候选答案进行匹配来达到全局信息参与交互的目的。这种做法匹配的粒度太粗,太长的对话压缩成一个稠密向量会损失很多信息且可能引入噪声。
[0005]
综上所述,如何有效利用对话上下文信息,提高对话候选答案的匹配准确度成为对话机器人技术领域急需解决的一个技术难题。


技术实现要素:

[0006]
有鉴于此,本发明的目的是发明一种系统和方法,基于检索方法,在对话-候选答案的匹配过程中动态吸收上下文信息,提高对话-候选答案的匹配准确度。
[0007]
为了达到上述目的,本发明提出了基于检索的多轮对话系统,所述系统包括如下模块:
[0008]
表示模块:该模块的功能是把每一轮次的对话表示为词级别向量和字符级别向量
的级联向量eu;把候选答案r表示为词级别向量和字符级别向量的级联向量er;
[0009]
匹配模块:该模块的结构由l个的ioi模型的全局交互层堆叠而成;该模块的功能是:以所述表示模块输出的对话的级联向量和候选答案的级联向量作为输入,基于全局注意力机制,动态吸收上下文信息,递推计算得到第k层自注意力对话表示第k层自注意力候选答案表示第k层互注意力对话表示第k层互注意力候选答案表示第k层对话综合表示uk和第k层候选答案综合表示rk,进而得到匹配向量(v1,

,v
l
);
[0010]
具体计算过程如下:
[0011][0012][0013][0014][0015][0016][0017][0018][0019]
上述式子中,和表示第k个全局交互层的输入,其中m和n分别表示当前轮次对话中所包含的词的数量和候选答案中所包含的词的数量,第1个全局交互层的输入为u0=eu,r0=er;和bh是训练参数;运算符

表示元素乘法;d表示向量维度;
[0020]
表示将所有l轮对话内容级联得到的上下文环境,所有l轮对话中包含lc个词,通过把这lc个词的词级别向量级联即可得到c;
[0021]
上述式子中,f
catt
( )表示所述的全局注意力机制,具体定义如下:
[0022][0023]
上式中,其中和b
{f,g}
是可训练的参数,使用残差连接混合q和得到其中按照下式进行计算:
[0024][0025]
上式中,表示查询序列,表示键序列,其中nq和nk表示词的数量,表示q和k在所述的上下文环境c中的相似度;s(q,k,c)按下式计算:
[0026][0027][0028]
上式中w
{b,c,d,e}
都是可训练参数,表示cq的第i行,其物理含义是与查询序列q中
第i个词相关的融合上下文信息;表示ck的第j行,其物理含义是与键序列k第j个词相关的融合上下文信息;
[0029]
所述的和分别表示融合了查询向量q和键向量k的上下文信息压缩向量,按照下式进行计算:
[0030][0031][0032]
是训练参数;
[0033]
使用卷积神经网络从第i轮对话的匹配图像mi中提取一个d维的匹配向量vi,第1到第l轮次的匹配向量由(v1,

,v
l
)表示;所述的第i轮对话的匹配图像mi按照下式进行计算:
[0034][0035]
上式中,上式中,为级联操作,mi是第i轮对话ui中所包含的词的数量;m
i,self
、m
i,interaction
和m
i,enhanced
按照下式进行计算:
[0036][0037][0038][0039]
聚合模块:该模块由一个rnn网络和一个transformer网络组成;该模块的功能是:接收所述的匹配模块输出的匹配向量(v1,

,v
l
),由所述的rnn网络处理得到短期依赖信息序列(h1,

,h
l
),由所述的transformer网络处理得到长期依赖信息序列(g1,

,g
l
);
[0040]
预测模块:该模块的功能是根据所述的聚合模块输出的短期依赖信息序列(h1,

,h
l
)和长期依赖信息序列(g1,

,g
l
),计算参与匹配的上下文环境c和候选答案r的匹配分数;
[0041]
表示模块中所述的词级别向量由word2vec工具获得;所述的字符级别向量通过卷积神经网络编码字符信息获得。
[0042]
所述的短期依赖信息序列(h1,

,h
l
)的具体计算过程是:
[0043]
所述的匹配向量(v1,

,v
l
)通过gru模型后后获得l个隐藏层状态向量,其中第i个隐藏层状态为:
[0044]hi
=gru(vi,h
i-1
)
[0045]
上式中,h0被随机初始化。
[0046]
所述的长期依赖信息序列(g1,

,g
l
)的具体计算过程是:
[0047]
(g1,

,g
l
)=multihead(q,k,v)
[0048]
上式中,q=vmwq,k=vmwk,v=vmwv,其中wq、wk和wv是训练参数;multihead( )表示多头注意力函数;vm=(v1,

,v
l
)。
[0049]
所述的预测模块计算参与匹配的上下文环境c和候选答案r的匹配分数的具体过程如下:
[0050]
计算:
[0051][0052]
上式中

表示元素乘法,得到然后将输入至一个gru模型中,得到:
[0053][0054]
其中,为随机初始化;所述的gru模型的最终的隐藏层状态为基于计算参与匹配的上下文环境c和候选答案r的匹配分数:
[0055][0056]
上式中σ(
·
)表示一个sigmoid函数,wo和bo是训练参数。
[0057]
所述的系统采用如下损失函数进行训练:
[0058][0059]
上式中,gk(ci,ri)表示对于第i个训练样本(ci,ri,yi),采用所述的匹配模块中第k个全交互层的输出(uk,rk)所计算得到的匹配分数;ci表示第i个训练样本的会话,ri表示第i个训练样本的候选答案,yi表示第i个训练样本的真实匹配结果。
[0060]
本发明还提出了基于检索的多轮对话方法,所述方法包括下列操作步骤:
[0061]
(1)表示模块将每一轮次的对话转化为对话的级联向量,将候选答案转化为候选答案的级联向量;所述的对话的级联向量是把对话中的词级别向量和字符级别向量通过级联得到;所述的候选答案的级联向量是把候选答案中的词级别向量和字符级别向量通过级联得到;
[0062]
(2)匹配模块以所述表示模块输出的对话的级联向量和候选答案的级联向量作为输入,基于全局注意力机制,动态吸收上下文信息,计算得到匹配向量(v1,

,v
l
);
[0063]
(3)聚合模块接收所述的匹配模块输出的匹配向量(v1,

,v
l
),由所述聚合模块的rnn网络处理得到短期依赖信息序列(h1,

,h
l
),由所述聚合模块的transformer网络处理得到长期依赖信息序列(g1,

,g
l
);
[0064]
(4)预测模块根据所述的聚合模块输出的短期依赖信息序列(h1,

,h
l
)和长期依赖信息序列(g1,

,g
l
),计算参与匹配的上下文环境c和候选答案的匹配分数;
[0065]
(5)选择匹配分数最高的候选答案作为正确答案。
[0066]
本发明的有益效果在于本发明的系统和方法将一般的注意力机制扩展到了全局注意力机制的形式,在对话-候选答案匹配过程中动态吸收上下文信息;本发明系统能同时捕获匹配信息序列的短期依赖和长期依赖,有效提高了对话-候选答案的匹配准确度。
附图说明
[0067]
图1是本发明提出的基于检索的多轮对话系统的模块示意图。
[0068]
图2是本发明提出的基于检索的多轮对话方法的流程图。
具体实施方式
[0069]
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
[0070]
参见图1,介绍本发明提出的基于检索的多轮对话系统,所述系统包括如下模块:
[0071]
表示模块:该模块的功能是把每一轮次的对话表示为词级别向量和字符级别向量的级联向量eu=[e
u,1
,

,e
u,m
];把候选答案r表示为词级别向量和字符级别向量的级联向量[e
r,1
,

,e
r,n
];
[0072]
匹配模块:该模块的结构由l个(在实施例中,l取值为4)的ioi模型(ioi模型的详细信息参见:tao c,wu w,xu c,et al.one time of interaction may not be enough:go deep with an interaction-over-interaction network for response selection in dialogues[c];proceedings of the acl,f,2019.)的全局交互层堆叠而成;该模块的功能是:以所述表示模块输出的对话的级联向量和候选答案的级联向量作为输入,基于全局注意力机制,动态吸收上下文信息,递推计算得到第k层自注意力对话表示第k层自注意力候选答案表示第k层互注意力对话表示第k层互注意力候选答案表示第k层对话综合表示uk和第k层候选答案综合表示rk,进而得到匹配向量(v1,

,v
l
);
[0073]
注意力机制作为全局交互层的基础,关于注意力机制的详细信息参见:vaswania,shazeer n,parmar n,et al.attention is all you need[c];proceedings of the nips,f,2017。
[0074]
具体计算过程如下:
[0075][0076][0077][0078][0079][0080][0081][0082][0083]
上述式子中,和表示第k个全局交互层的输入,其中m和n分别表示当前轮次对话中所包含的词的数量和候选答案中所包含的词的数量,第1个全局交互层的输入为u0=eu,r0=er;和bh是训练参数;运算符

表示元素乘法;d表示向量维度;
[0084]
表示将所有l轮对话内容级联得到的上下文环境,所有l轮对话中包含lc个词,通过把这lc个词的词级别向量级联即可得到c;
[0085]
上述式子中,f
catt
( )表示所述的全局注意力机制,具体定义如下:
[0086]
[0087]
上式中,其中和b
{f,g}
是可训练的参数,使用残差连接混合q和得到
[0088]
在实施例中,本发明使用了he等人使用过的残差连接(详细信息参见:he k,zhang x,ren s,et al.deep residual learning for image recognition[c];proceedings of the cvpr 2016,f,2016.)混合q和得到新的表示为了防止梯度爆炸或者梯度消失,本发明使用了层标准化操作(详细信息参见:ba l j,kiros j r,hinton g e.layer normalization[j].corr,2016.)(layer normalization)。
[0089]
其中按照下式进行计算:
[0090][0091]
上式中,表示查询序列,表示键序列,其中nq和nk表示词的数量,表示q和k在所述的上下文环境c中的相似度;
[0092]
s(q,k,c)按下式计算:
[0093][0094][0095]
上式中w
{b,c,d,e}
都是可训练参数,表示cq的第i行,其物理含义是与查询序列q中第i个词相关的融合上下文信息;表示ck的第j行,其物理含义是与键序列k第j个词相关的融合上下文信息;
[0096]
所述的和分别表示融合了查询向量q和键向量k的上下文信息压缩向量,按照下式进行计算:
[0097][0098][0099]
是训练参数;softmax( )表示softmax函数。
[0100]
使用卷积神经网络从第i轮对话的匹配图像mi中提取一个d维的匹配向量vi,第1到第l轮次的匹配向量由(v1,

,v
l
)表示;所述的第i轮对话的匹配图像mi按照下式进行计算:
[0101][0102]
上式中,上式中,为级联操作,mi是第i轮对话ui中所包含的词的数量;m
i,self
、m
i,interaction
和m
i,enhanced
按照下式进行计算:
[0103][0104]
[0105][0106]
聚合模块:该模块由一个rnn网络和一个transformer网络组成;该模块的功能是:接收所述的匹配模块输出的匹配向量(v1,

,vl),由所述的rnn网络处理得到短期依赖信息序列(h1,

,h
l
),由所述的transformer网络处理得到长期依赖信息序列(g1,

,g
l
);
[0107]
在实施例中,使用transformer中的编码器(详细信息参见:vaswani a,shazeer n,parmar n,et al.attention is all you need[c];proceedings of the nips,f,2017.)捕获匹配向量(v1,

,v
l
)序列中的长期依赖信息。
[0108]
预测模块:该模块的功能是根据所述的聚合模块输出的短期依赖信息序列(h1,

,h
l
)和长期依赖信息序列(g1,

,g
l
),计算参与匹配的上下文环境c和候选答案r的匹配分数;
[0109]
表示模块中所述的词级别向量由word2vec工具(详见:mikolov t,sutskever i,chen k,et al.distributed representations of words and phrases and their compositionality[c];proceedings of the nips 2013,f,2013.)获得;所述的字符级别向量通过卷积神经网络编码字符信息获得,实施例中所用的卷积神经网络详见lee k,he l,lewis m,et al.end-to-end neural coreference resolution[z].emnlp.2017。
[0110]
所述的短期依赖信息序列(h1,

,h
l
)的具体计算过程是:
[0111]
所述的匹配向量(v1,

,v
l
)通过gru模型后后获得l个隐藏层状态向量,其中第i个隐藏层状态为:
[0112]hi
=gru(vi,h
i-1
)
[0113]
上式中,h0被随机初始化。
[0114]
所述的长期依赖信息序列(g1,

,g
l
)的具体计算过程是:
[0115]
(g1,

,g
l
)=multihead(q,k,v)
[0116]
上式中,q=vmwq,k=vmwk,v=vmwv,其中wq、wk和wv是训练参数;multihead( )表示多头注意力函数;vm=(v1,

,v
l
)。
[0117]
所述的预测模块计算参与匹配的上下文环境c和候选答案r的匹配分数的具体过程如下:
[0118]
计算:
[0119][0120]
上式中

表示元素乘法,得到然后将输入至一个gru模型中,得到:
[0121][0122]
其中,为随机初始化;所述的gru模型的最终的隐藏层状态为基于计算参与匹配的上下文环境c和候选答案r的匹配分数:
[0123][0124]
上式中σ(
·
)表示一个sigmoid函数,wo和bo是训练参数。
[0125]
所述的系统采用如下损失函数进行训练:
[0126][0127]
上式中,gk(ci,ri)表示对于第i个训练样本(ci,ri,yi),采用所述的匹配模块中第k个全交互层的输出(uk,rk)所计算得到的匹配分数;ci表示第i个训练样本的会话,ri表示第i个训练样本的候选答案,yi表示第i个训练样本的真实匹配结果。
[0128]
参见图2,介绍本发明提出的基于检索的多轮对话方法,所述方法包括下列操作步骤:
[0129]
(1)表示模块将每一轮次的对话转化为对话的级联向量,将候选答案转化为候选答案的级联向量;所述的对话的级联向量是把对话中的词级别向量和字符级别向量通过级联得到;所述的候选答案的级联向量是把候选答案中的词级别向量和字符级别向量通过级联得到;
[0130]
(2)匹配模块以所述表示模块输出的对话的级联向量和候选答案的级联向量作为输入,基于全局注意力机制,动态吸收上下文信息,计算得到匹配向量(v1,

,v
l
);
[0131]
(3)聚合模块接收所述的匹配模块输出的匹配向量(v1,

,v
l
),由所述聚合模块的rnn网络处理得到短期依赖信息序列(h1,

,h
l
),由所述聚合模块的transformer网络处理得到长期依赖信息序列(g1,

,g
l
);
[0132]
(4)预测模块根据所述的聚合模块输出的短期依赖信息序列(h1,

,h
l
)和长期依赖信息序列(g1,

,g
l
),计算参与匹配的上下文环境c和候选答案的匹配分数;
[0133]
(5)选择匹配分数最高的候选答案作为正确答案。
[0134]
发明人在三个广泛使用的多轮对话检索数据集上对所提出的系统和方法进行了大量实验。这三个数据集分别是ubuntu对话数据集(详见:lowe r,pow n,serban i,et al.the ubuntu dialogue corpus:a large dataset for research in unstructured multi-turn dialogue systems[c];proceedings of the sigdial 2015,f,2015.)、douban对话数据集(详见:wuy,wuw,xing c,et al.sequential matching network:a new architecture for multi-turn response selection in retrieval-based chatbots[c];proceedings of the proceedings of the 55th annual meeting of the association for computational linguistics,acl 2017,vancouver,canada,july 30-august 4,volume 1:long papers,f,2017.association for computational linguistics.)和e-commerce对话数据集(详见:zhang z,li j,zhu p,et al.modelingmulti-turn conversation withdeep utterance aggregation[c];proceedings of the coling,f,2018.)。这些数据集的统计信息如表1所示。
[0135]
表1:三个多轮对话数据集的统计信息
[0136][0137]
在实验中,英文文本的词级别向量由200维的word2vec词向量得到,英文文本的字符级别向量是100维向量;实验结果表明,本发明所提出的方法是有效可行的,而且指标明
显优于其他的一些方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献