一种基于关系图注意力网络的多轮对话回复生成系统及方法

文档序号:29522748发布日期:2022-04-06 23:54阅读:126来源:国知局
一种基于关系图注意力网络的多轮对话回复生成系统及方法

1.本发明属于自然语言生成的计算机人工智能领域,尤其涉及一种基于关系图注意力网络的多轮对话回复生成系统及方法。


背景技术:

2.随着互联网的蓬勃兴起与社交媒体的迅速发展,大量的用户对话语料库应运而生,这为数据驱动的对话系统提供了条件。智能对话系统所具有的巨大研究和商业价值,受到越来越多学术界和工业界的研究关注。目前对话系统可以分为任务驱动的限定领域对话系统和无特定任务的开放领域对话系统,与前者相比,后者拥有更好的实用性、可扩展性和领域适应性等特点,因此开放领域对话系统逐渐成为了研究者们关注的热点。
3.目前,按照系统实现的方法可以分为检索式模型和生成式模型。检索式模型采用选择算法从对话语料库中选择适当的回复,虽然此类回复具有语法正确,事实客观等特点,但存在回复语句单一性、话题限制性等问题。而生成式模型与之不同,它采用自然语言处理技术对用户所输入的上下文信息进行学习理解,再逐步生成相应的回复话语。同时,在生成式模型中可以按是否考虑历史对话信息分为单轮对话生成式模型和多轮对话生成式模型。相比于单轮对话生成式模型,多轮对话生成式模型需要系统具备理解复杂的上下文信息能力,因此其更具有挑战性。但目前开放领域的多轮对话生成式模型领域的研究依旧存在诸多难点,如通用回复、缺乏背景知识、缺乏一致性等问题。因此,改进开放领域的多轮对话生成式系统具有极大的研究价值。
4.近期学者在此领域主要是以序列到序列框架为基石展开的研究工作,研究内容主要集中在如何有效地建模上下文关系信息问题上。然而,之前的研究工作极少考虑对话者之间的话语依赖关系以及时序信息。为解决此问题,如何建模对话者之间的话语依赖关系是关键,同时关注对话者话语的时序信息也十分必要。本发明采用关系图注意力网络算法来对对话者之间话语的依赖关系进行建模,充分挖掘对话者所发出话语的不同关系类型之间的信息;同时引入关系位置编码来捕获对话者话语之间包含的序列信息,以此让生成的回复更加连贯、自然和具体性。


技术实现要素:

5.本发明目的在于提供一种基于关系图注意力网络的多轮对话回复生成系统及方法,以解决上述的技术问题。
6.为解决上述技术问题,本发明的一种基于关系图注意力网络的多轮对话回复生成系统及方法的具体技术方案如下:
7.一种基于关系图注意力网络的多轮对话回复生成系统,包括语句输入编码层、图编码层以及解码层,所述语句输入编码层包括词级别编码器和话语级别编码器;所述词级别编码器对模型输入的每轮话语中的词进行编码,从而获取该轮话语自身的语义表示;所述话语级别编码器对模型的话语自身语义表示进行编码,从而获取整个对话上下文的语义
表示;所述图编码层首先采用图注意力网络捕获多轮对话中话语的自相关性以及对话者之间的相关性特征,其次引入关系位置编码来说明包含话语的序列信息;所述解码层根据输入的上下文语义信息表示和图编码层的高级语义表示生成响应回复。
8.本发明还公开了一种基于关系图注意力网络的多轮对话回复生成方法,包括如下步骤:
9.步骤一:获取多轮对话输入内容进行预处理,将每轮话语中的词语义信息通过预训练的bert模型转化为对应的向量表示,从而获得每轮话语自身语义信息表示,再通过bi-gru模型对每轮话语语句语义信息进行编码,从而得到对话上下文的语义表示;
10.步骤二:采用图注意力网络捕获多轮对话中的自相关性以及对话者之间的相关特征,并且在图注意力网络中引入关系位置编码来说明包含话语的序列信息,从而得到图编码层的高级语义表示;
11.步骤三:将对话上下文语义信息表示和关系图注意力编码的高级语义表示作为输入,使用gru模型进行解码生成最终的对话回复输出表示。
12.进一步地,所述步骤一中,对多轮对话输入内容进行预处理中,获得每轮话语自身语义信息表示过程包括:通过对输入的每轮话语中的词进行编码,首先采用bpe算法对每轮话语进行序列标记表示,然后将其输入到预训练语言bert模型中进行微调学习训练,从而获得每轮话语自身语义信息表示。
13.进一步地,步骤1利用词级别编码器和话语级别编码器进行编码;包括如下具体步骤:
14.所述词级别编码器对给定长度m的多轮对话上下文u={u1,...,um},首先采用bpe算法对每轮话语进行序列标记表示其中ti为第i轮话语中标记个数,然后将其输入到预训练语言bert模型中进行微调学习训练,所述词级别编码器编码过程由以下公式表示:
[0015][0016]
从而获得每轮话语自身语义信息表示
[0017]
采用bi-gru模型作为话语级别编码器的编码方式;所述bi-gru模型首先从上层的词级别编码器中得到的每轮话语自身语义表示作为输入,通过bi-gru模型对每轮话语进行编码,所述话语级别编码器编码过程由以下公式表示:
[0018][0019][0020]
其中为前向gru中第i个隐藏层表示,为后向gru中第i个隐藏层表示;将前向gru和后向gru的隐藏层表示进行拼接,获得包含上下文信息的语义表示通过层次化的结构捕获多轮对话话语之间的高层次特征信息。
[0021]
进一步地,所述步骤二中获得图编码层的高级语义表示,包括如下步骤:
[0022]
对多轮对话中m条语句构建有向图并进行以下定义:
[0023]
[0024]
将多轮对话中每条语句定义为节点vi,每条语句之间的关系依赖信息定义为边r,其中边的权重定义为α
ijr

[0025]
(1)首先将上下文编码层所输出的上下文语义表示作为节点vi的初始向量表示;
[0026]
(2)基于节点构建信息边r,将信息边r的类型进行如下4种区分定义:(a)self-before类型边r1:目标话语与该话语发出者之前的话语关系依赖类型信息;(b)inter-before类型边r2:目标话语与除该话语发出者以外的之前话语关系依赖类型信息;(c)self-after类型边r3:目标话语与该话语发出者之后的话语关系依赖类型信息;(d)inter-after类型边r4:目标话语与除该话语发出者以外的之后话语关系依赖类型信息;
[0027]
(3)使用关系位置编码(relational position encodings)的方法来捕获这四种类型信息边话语之间时序信息;关系位置编码过程由以下公式表示:
[0028][0029]
其中pe
ijr
表示在关系类型r下目标话语ui与其相邻话语uj之间的关系距离,最大关系值介于[b,a]之间,b与a为目标话语与其他话语的前后滑动窗口值,表示在关系类型r下目标话语ui的邻域;
[0030]
(4)计算相关信息边的权重,其公式表示如下:
[0031][0032]
其中α
ijr
表示在关系类型r下目标话语ui与其相邻话语uj之间的边权重值,wr为注意力机制下的参数化加权矩阵,ar为参数化权向量,
·
t
代表转置,lrl为leakyrelu激活函数;
[0033]
(5)通过聚合邻域的信息来更新每个节点的向量表示图传播机制编码过程由以下公式表示:
[0034][0035][0036]
其中为可训练参数加权矩阵,l为卷积层数,最后输出得到图编码层的高级语义表示
[0037]
进一步地,所述步骤三包括如下步骤:
[0038]
采用gru模型作为解码器来生成回复,解码器解码过程由以下公式表示:
[0039]
[0040][0041]
其中s0为解码器的初始化输入,we和be为可训练参数,为话语级别编码器中前向和后向gru的最后一个隐藏层的拼接表示;s
t
为时间t时刻解码器的隐藏层表示,e(r
t-1
)为t-1时刻输出词的词向量表示,为t-1时刻图编码层在l层输出的高级语义表示;
[0042]
最后根据图编码层的高级语义信息结合解码器在时刻t的隐藏层表示s
t
来预测当前时刻的输出,由以下公式表示:
[0043][0044]
其中wo,bo为可训练参数,p表示当前时刻生成词的概率;
[0045]
以给定的真实对话回复r=[r1,r2,...,r
t
]为训练目标,采用交叉熵损失函数进行模型参数的训练:
[0046][0047]
本发明的一种基于关系图注意力网络的多轮对话回复生成系统及方法具有以下优点:
[0048]
1.本发明是一种多轮对话回复生成方法,相比于传统的单轮对话回复生成,通过层次化的结构可以捕获多轮对话话语之间的高层次特征信息,使得所生成的回复信息相关性更高且更加多样性。
[0049]
2.本发明采用采用预训练语言模型bert,通过一个深层模型来学习到一个更好的文本特征,有效解决了一词多义的问题。
[0050]
3.本发明使用关系图注意力网络模型,通过构建节点、边以及对应的拓扑结构来捕获文本序列之间的相互依赖关系,从而进一步地提取潜在特征表示。
附图说明
[0051]
图1为本发明基于关系图注意力网络的多轮对话回复生成系统框架图;
[0052]
图2为本发明的关系位置的概念图;
[0053]
图3为本发明的四种不同关系类型进行位置编码的过程图。
具体实施方式
[0054]
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于关系图注意力网络的多轮对话回复生成系统及方法做进一步详细的描述。
[0055]
如图1所示,本发明的基于关系图注意力网络的多轮对话回复生成方法,包括如下步骤:
[0056]
步骤一:获取多轮对话输入内容进行预处理,将每轮话语中的词语义信息通过预训练的bert模型转化为对应的向量表示,从而获得每轮话语自身语义信息表示,再通过bi-gru模型对每轮话语语句语义信息进行编码,从而得到对话上下文的语义表示;
[0057]
步骤二:采用图注意力网络捕获多轮对话中的自相关性以及对话者之间的相关特征,并且在图注意力网络中引入关系位置编码来说明包含话语的序列信息,从而得到图编码层的高级语义表示;
[0058]
步骤三:将对话上下文语义信息表示和关系图注意力编码的高级语义表示作为输入,使用gru模型进行解码生成最终的对话回复输出表示。
[0059]
作为本发明优选的实施例,所述步骤一中,对多轮对话输入内容进行预处理中,获得每轮话语自身语义信息表示过程包括:通过对输入的每轮话语中的词进行编码,首先采用bpe算法对每轮话语进行序列标记表示,然后将其输入到预训练语言bert模型中进行微调学习训练,从而获得每轮话语自身语义信息表示。
[0060]
本发明一种基于关系图注意力网络的多轮对话回复生成系统框架示意图如图1所示,整个框架由以下几个部分组成:语句输入编码层、图编码层以及解码层。下面将对本系统的各个组成部分进行详细的描述:
[0061]
(1)语句输入编码层
[0062]
语句输入编码层包括两个不同级别编码器:词级别编码器和话语级别编码器。下面详细介绍这两种编码器。
[0063]
词级别编码器:该编码器旨在对模型输入的每轮话语中的词进行编码,从而获取该轮话语自身的语义表示。对给定长度m的多轮对话上下文u={u1,...,um},首先为了能充分地提取用户话语所表达的信息,模型采用bpe算法对每轮话语进行序列标记表示其中ti为第i轮话语中标记个数,然后将其输入到预训练语言bert模型中进行微调学习训练。该编码器编码过程由以下公式表示:
[0064][0065]
从而获得每轮话语自身语义信息表示
[0066]
话语级别编码器:该编码器旨在对模型的话语自身语义表示进行编码,从而获取整个对话上下文的语义表示。本文采用bi-gru模型作为话语级别编码器的编码方式。模型首先从上层的词级别编码器中得到的每轮话语自身语义表示作为输入,通过bi-gru对每轮话语进行编码。该编码器编码过程由以下公式表示:
[0067][0068][0069]
其中为前向gru中第i个隐藏层表示,为后向gru中第i个隐藏层表示。将前向gru和后向gru的隐藏层表示进行拼接,获得包含上下文信息的语义表示通过层次化的结构捕获多轮对话话语之间的高层次特征信息。
[0070]
(2)图编码层
[0071]
该编码层首先采用图注意力网络捕获多轮对话中话语的自相关性以及对话者之间的相关性特征。此外,本模型在图注意力网络中引入一种全新的位置编码(即关系位置编码)来说明包含话语的序列信息。
[0072]
与传统的多轮对话回复生成研究工作不同,本发明对多轮对话中m条语句构建有
向图并进行以下定义:
[0073][0074]
将多轮对话中每条语句定义为节点vi,每条语句之间的关系依赖信息定义为边r,其中边的权重定义为α
ijr
,下面将详细介绍图中各个节点表示、边类型定义、关系位置编码、边权重表示以及图传播机制。
[0075]
在图注意力网络中,模型首先将上下文编码层所输出的上下文语义表示作为节点vi的初始向量表示。如图1所示,为了充分展示话语之间不同的关系依赖信息,在图注意力网络编码层所示的信息边,本文将信息边r的类型进行如下4种区分定义:(a)self-before类型边r1:目标话语与该话语发出者之前的话语关系依赖类型信息;(b)inter-before类型边r2:目标话语与除该话语发出者以外的之前话语关系依赖类型信息;(c)self-after类型边r3:目标话语与该话语发出者之后的话语关系依赖类型信息;(d)inter-after类型边r4:目标话语与除该话语发出者以外的之后话语关系依赖类型信息。此外,本文提出一种关系位置编码(relational position encodings)的方法来捕获这四种类型信息边话语之间时序信息。与以往的绝对位置编码和相对位置编码不同,该编码在关系类型下基于话语之间的相对距离进行编码,图2展示了关系位置的概念,其中第三行所展示的关系位置中的不同背景色即代表信息边的不同类型。之后基于这四种不同关系类型进行位置编码,并将此编码信息添加到所在边的权重中,图3展示了这一编码过程。因此,关系位置编码过程可由以下公式表示:
[0076][0077]
其中pe
ijr
表示在关系类型r下目标话语ui与其相邻话语uj之间的关系距离,最大关系值介于[b,a]之间,b与a为目标话语与其他话语的前后滑动窗口值,表示在关系类型r下目标话语ui的邻域。受图注意力网络模型启发,同时结合上述的关系位置编码,因此边的权重由以下公式定义表示:
[0078][0079]
其中α
ijr
表示在关系类型r下目标话语ui与其相邻话语uj之间的边权重值,wr为注意力机制下的参数化加权矩阵,ar为参数化权向量,
·
t
代表转置,lrl为leakyrelu激活函数。
[0080]
图编码层最终通过聚合邻域的信息来更新每个节点的向量表示图传播机制编码过程由以下公式表示:
[0081][0082]
[0083]
其中为可训练参数加权矩阵,l为卷积层数。最后输出得到图编码层的高级语义表示
[0084]
(3)解码层
[0085]
解码层旨在根据输入的上下文语义信息表示和图编码层的高级语义表示生成响应回复。本文采用gru模型作为解码器来生成回复。解码器解码过程由以下公式表示:
[0086][0087][0088]
其中s0为解码器的初始化输入,we和be为可训练参数,为话语级别编码器中前向和后向gru的最后一个隐藏层的拼接表示。s
t
为时间t时刻解码器的隐藏层表示,e(r
t-1
)为t-1时刻输出词的词向量表示,为t-1时刻图编码层在l层输出的高级语义表示。
[0089]
最后根据图编码层的高级语义信息结合解码器在时刻t的隐藏层表示s
t
来预测当前时刻的输出。由以下公式表示:
[0090][0091]
其中wo,bo为可训练参数,p表示当前时刻生成词的概率。
[0092]
本发明以给定的真实对话回复r=[r1,r2,...,r
t
]为训练目标,采用交叉熵损失函数进行模型参数的训练:
[0093][0094]
本发明在两个开源数据集ubuntu和dailydialog进行了验证,实现结果如下表所示:
[0095]
[0096][0097]
从表中可知,本发明的方法在两个数据集上的评价指标基本上优于其他基线模型,验证了本发明提出的基于关系图注意力网络方法的有效性。其中在ppl、bleu和bertscore指标上,本发明的方法显著地高于所有基线模型,说明该方法所生成的回复信息相关性更高且更加多样性。同时,对比于ours-gcn方法,本发明所提出的模型在指标上都高于传统的gcn模型,说明在图网络层中引入的注意力机制能有效捕捉语句关系依赖之间的信息;通过与ours-npe方法比较,本发明的方法在指标上性能上有大幅度提升,证明关系位置编码的重要性。
[0098]
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本技术的权利要求范围内的实施例都属于本发明所保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1