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

技术编号:34852523 阅读:72 留言:0更新日期:2022-09-08 07:53
基于检索的多轮对话系统,包括如下模块:表示模块、匹配模块、聚合模块和预测模块;基于检索的多轮对话方法,包括下列操作步骤:(1)表示模块将每一轮次的对话转化为对话的级联向量,将候选答案转化为候选答案的级联向量;(2)匹配模块基于全局注意力机制,动态吸收上下文信息,计算得到匹配向量;(3)聚合模块处理得到短期依赖信息序列和长期依赖信息序列;(4)预测模块计算参与匹配的上下文环境和候选答案的匹配分数;(5)选择匹配分数最高的候选答案作为正确答案。作为正确答案。作为正确答案。

【技术实现步骤摘要】
基于检索的多轮对话系统和方法


[0001]本专利技术涉及基于检索的多轮对话系统和方法,属于自然语言处理
,特别是属于对话机器人


技术介绍

[0002]创建一个可以在开放领域和人类进行自然交流的机器人是人工智能领域一个很有挑战性的任务。目前,建立这样一个对话机器人的方法主要分为两种,分别为基于生成的方法和基于检索的方法。前者基于在大规模对话数据集上训练的语言模型直接生成一个回复,而后者使用基于检索的方法从候选集中挑选一个最佳匹配的回复。
[0003]基于检索的对话机器人的任务是:给定一段前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]表示模块:该模块的功能是把每一轮次的对话表示为词级别向量和字符级别向量
的级联向量E
u
;把候选答案r表示为词级别向量和字符级别向量的级联向量E
r

[0009]匹配模块:该模块的结构由L个的IOI模型的全局交互层堆叠而成;该模块的功能是:以所述表示模块输出的对话的级联向量和候选答案的级联向量作为输入,基于全局注意力机制,动态吸收上下文信息,递推计算得到第k层自注意力对话表示第k层自注意力候选答案表示第k层互注意力对话表示第k层互注意力候选答案表示第k层对话综合表示U
k
和第k层候选答案综合表示R
k
,进而得到匹配向量(v1,

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

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

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

【技术保护点】

【技术特征摘要】
1.基于检索的多轮对话系统,其特征在于:所述系统包括如下模块:表示模块:该模块的功能是把每一轮次的对话表示为词级别向量和字符级别向量的级联向量E
u
;把候选答案r表示为词级别向量和字符级别向量的级联向量E
r
;匹配模块:该模块的结构由L个的IOI模型的全局交互层堆叠而成;该模块的功能是:以所述表示模块输出的对话的级联向量和候选答案的级联向量作为输入,基于全局注意力机制,动态吸收上下文信息,递推计算得到第k层自注意力对话表示第k层自注意力候选答案表示第k层互注意力对话表示第k层互注意力候选答案表示第k层对话综合表示U
k
和第k层候选答案综合表示R
k
,进而得到匹配向量(v1,

,v
l
);具体计算过程如下:具体计算过程如下:具体计算过程如下:具体计算过程如下:具体计算过程如下:具体计算过程如下:具体计算过程如下:具体计算过程如下:上述式子中,和表示第k个全局交互层的输入,其中m和n分别表示当前轮次对话中所包含的词的数量和候选答案中所包含的词的数量,第1个全局交互层的输入为U0=E
u
,R0=E
r
;和b
h
是训练参数;运算符

表示元素乘法;d表示向量维度;表示将所有l轮对话内容级联得到的上下文环境,所有l轮对话中包含l
c
个词,通过把这l
c
个词的词级别向量级联即可得到C;上述式子中,f
catt
( )表示所述的全局注意力机制,具体定义如下:上式中,其中和b
{f,g}
是可训练的参数,使用残差连接混合Q和得到其中按照下式进行计算:上式中,表示查询序列,表示键序列,其中n
q
和n
k
表示词的数量,表示Q和K在所述的上下文环境C中的相似度;S(Q,K,C)按下式计算:表示Q和K在所述的上下文环境C中的相似度;S(Q,K,C)按下式计算:
上式中W
{b,c,d,e}
都是可训练参数,表示C
q
的第i行,其物理含义是与查询序列Q中第i个词相关的融合上下文信息;表示C
k
的第j行,其物理含义是与键序列K第j个词相关的融合上下文信息;所述的和分别表示融合了查询向量Q和键向量K的上下文信息压缩向量,按照下式进行计算:C
q
=softmax(QW
a
C
T
)
·
CC
k
=softmax(KW
a
C
T
)
·
C是训练参数;使用卷积神经网络从第i轮对话的匹配图像M
i
中提取一个d维的匹配向量v
i
,第1到第l轮次的匹配向量由(v1,

,v
l
)表示;所述的第i轮对话的匹配图像M
i
按照下式进行计算:M
i
=M
i,self

M
i,interaction

M
i,enhanced
上式中,

为级联操作,m
i
是第i轮对话u
i
中所包含的词的数量;M
i,self
、M
i,interaction
和M
i,enhanced
按照下式进行计算:按照下式进行计算:按照下式进行计算:聚合模块:该模块由一个RNN网络和一个Transformer网络组成;该模块的功能是:接收所述的匹配模块输出的匹配向量(v1,

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

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

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

...

【专利技术属性】
技术研发人员:孙海峰庄子睿马兵王敬宇张成徐童王晶
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1