掌桥专利:专业的专利平台
掌桥专利
首页

一种基于混合专家模型和联合学习的知识库问题生成方法

文献发布时间:2023-06-19 11:52:33


一种基于混合专家模型和联合学习的知识库问题生成方法

技术领域

本发明属于自然语言处理领域,涉及一种基于混合专家模型和联合学习的知识库问题生成方法。

背景技术

近年来,随着人工智能的快速发展,自然语言处理技术得到了越来越广泛的关注。而问题生成(Question Generation,QG)作为自然语言理解的子任务,是自然语言处理更深层次的研究,对于人工智能技术发展有着重要推动作用。问题生成作为问答(QuestionAnswering,QA)任务的对偶任务,可以为QA任务生成高质量的训练数据集,实现FAQ(Frequently Asked Questions,常见问题解答)文档自动生成、自动辅导系统(automatictutoring systems)实现。

问题生成任务根据给定的事实源输入(如文本、图片、知识库)和答案,生成自然语言表述的问题。知识图谱问题生成(Question Generation over Knowledge Base,KBQG)与一般 QG任务主要区别在于输入从知识库来的事实一般以三元组<主语,关系谓词,宾语>形式表示,根据给定答案生成自然语言表述的问题。如对于给定三元组<中国,首都,北京>,可以生成问题“中国的首都是哪个城市?”。知识图谱问题生成处理的结构化三元组信息,在搜索系统中广泛使用,对比基于文本的问题生成任务有着更大的应用价值。

传统的问题生成方法通过使用规则、模板和人工标注等方式实现,这类方法需要大量的人力物力,需要一定的语言功底,无法用于大规模数据生成实现,而且通过模板生成的问题多样性不足,无法贴近真实应用场景。而随着深度学习技术的进步,特别是RNN等序列网络结构在机器翻译、文本摘要等序列到序列(sequence to sequence,seq2seq)任务取得优异表现,给问题生成方法带来很多思路启发。使用深度学习方法实现自动问题生成可以有效提高生成问题的多样性,因为不需要过多的人工参与,可以满足大规模使用。目前基于编码解码器框架的端到端深度学习模型在简单问题生成上已经取得了较好的效果,但是无法有效处理知识图谱问题生成涉及的复杂多跳关系场景。但是在知识图谱问题生成任务中,多跳问题十分普遍,如问题“中国首都的简称?”就涉及三元组<中国,首都,北京>和<北京,简称,京>,生成该问题,逻辑上需要考虑关系“首都”和“简称”。对于这种涉及多个三元组信息的多跳复杂问题生成,现有方法无法有效编码输入三元组子图信息,更重要的是无法约束问题生成过程,确保生成问题包含期望的多跳复杂关系。

基于现有知识图谱复杂问题生成方法存在的问题,本发明公开了一种基于混合专家模型的知识图谱复杂问题生成和问答联合学习方法,主要用于给定知识图谱三元组子图、答案和复杂关系信息的情况下生成与给定三元组子图相关的,可被答案回答的,并且对应给定关系信息的、多样化的复杂自然语言表述问题。

发明内容

技术问题:本发明要解决的技术问题在于针对知识图谱复杂问题生成的研究,难以有效生成包含复杂关系信息的问题,提供一种基于混合专家模型和联合学习的知识库问题生成方法。

技术方案:本发明解决其技术问题所采用的技术方案是:一种基于混合专家模型和联合学习的知识库问题生成方法。该方法使用知识图谱问答约束知识图谱问题生成过程,提升知识图谱问题生成获取复杂关系信息的能力,完成复杂问题生成的过程。知识图谱问题生成与问答都通过编码解码框架实现,其中问答的编码器、解码器都使用Transformer网络,而问题生成的编码器使用GraphTransformer网络。在解码过程中,结合混合专家模型,每一步模型都会先预测专家分布,再考虑到多跳复杂问题的关系之间的关系,综合预测生成问题或者进行关系预测。联合学习过程,方法认为针对同一条数据,在问答或者问题生成的过程中,参考人类逻辑思考的过程,两个任务涉及的关系信息应该是相同的,回到方法中就是两个任务解码过程应该经过类似的专家完成生成过程。而混合专家模型的使用,模型能够实现生成不同类型的问题,提升问题生成的多样性。

本发明的基于混合专家模型和联合学习的知识库问题生成方法分为三个模块,包括如下步骤:

a.知识图谱复杂问题生成模块

1)通过对输入三元组子图进行重构,实现从输入中编码得到复杂问题生成所需的复杂关系信息;

2)使用图神经网络GraphTransformer方法对重构后的输入三元组子图进行编码;

3)使用混合专家模型,预测专家选择不同的生成结果,提升生成问题的多样性;

4)使用隐变量建模关系的结构信息,实现对复杂关系的编码,指导复杂问题的生成;

5)使用Transformer网络,在关系结构编码信息和选择专家的指导下对编码结果进行解码,生成问题;

b.知识图谱复杂问题问答(KBQA)模块

6)使用Transformer对输入复杂问题进行编码;

7)使用混合专家模型选择不同的专家,指导完成问答的过程;

8)预测关系的层级依存关系,完成对复杂问题的复杂关系编码解析;

9)使用Transformer网络预测复杂问题对应的关系序列,完成问答过程;

c.联合学习模块

10)通过联合学习,知识图谱问答实现对知识图谱问题生成的约束,提升生成问题包含的复杂关系准确性,生成高质量的复杂问题。

进一步地,所述步骤1)的具体方法是:

对于输入三元组构成一个子图

进一步地,所述步骤3)的具体方法是:

自定义有K个专家,问题生成的目标为最大化下式:

其中z

进一步地,所述步骤4)中,

在解码器生成问题时使用隐变量

其中e

进一步地,所述步骤7)的具体方法是:自定义有K个专家,知识图谱复杂问题问答的目标为最大化下式:

其中z

进一步地,所述步骤8)中,

预处理编码每一个问题涉及关系的树形依存关系,额外添加起始节点和答案节点,对所有节点编号;然后在复杂问题关系预测过程,引入隐变量表示每一个关系在树形结构中的父节点,计算公式如下:

其中

进一步地,所述步骤10)中,

知识图谱复杂问题生成中的专家z

其中

综合步骤5)计算得到的知识图谱复杂问题问答任务损失

通过最小化上述损失函数,通过知识图谱问答约束知识图谱问题生成包含复杂关系的复杂问题,通过隐变量对关系信息的编码保证复杂关系信息在两个任务交互,而混合专家模型的引入有效提升生成问题的多样性。

有益效果:本发明与现有技术相比,具有以下优点:

相比于其他的知识图谱问题生成方法,本方法考虑到了针对复杂问题情况,设计了一个联合学习方法,确保生成多关系复杂问题。另外,通过隐向量建模不同关系之间的层级关系,提高对复杂关系的解析与编码。最后,采用混合专家模型关系选择不同的专家指导问题的生成,确保了生成问题的多样性。

经过实验分析证明,本方法提出的联合学习方法和使用隐变量模型对关系的编码,有效提高的问题生成对复杂问题的处理能力,有效保证了生成问题的复杂性。另外,本方法使用混合专家模型,有效提高了生成问题的多样性,使方法在生成复杂问题时有更高的鲁棒性。

附图说明

图1是本发明的对顺序关系复杂问题实施示例;

图2是本发明中输入三元组子图重构示例;

图3是本发明中对树形关系复杂问题实施示例;

图4是本发明的模型框架图。

具体实施方式

下面结合实施例和说明书附图对本发明作进一步的说明。

本发明的基于混合专家模型和联合学习的知识库问题生成方法,分为三个模块,包括以下几个步骤:

a.知识图谱复杂问题生成(KBQG)模块

1)通过对输入三元组子图进行重构,更有效的实现从输入中编码得到复杂问题生成所需的多跳关系信息;

如图1所示,输入子图是由多个三元组构成,每个三元组可以表示为 ,分别表示主语、谓语、宾语,如图1示例所示,包含三元组。输入三元组主语和宾语作为实体(entity)节点,而关系(谓语)作为边链接实体节点,构成一个子图

本方法解决的复杂问题,包含多个关系,涉及的子图会比较复杂,以往基于 RNN网络和Transformer编码的方法将所有三元组拼接成一个序列进行编码处理,无法有效保留子图不同三元组之间的拓扑结构关系,不能有效应对知识图谱复杂问题场景。本方法采用图神经网络对三元组子图G进行编码,而图神经网络无法处理带边权值图,以往的方法通常是将关系边扩展成节点,这样子图的边就是无权值边。

而考虑到关系信息的可逆传递,加速图节点信息的传递,本方法将关系节点扩展为一对节点,分别表示正逆关系。此外,本方法需要有效对复杂关系进行编码,为此引入一个全局节点链接所有关系节点,一方面进一步加速不同节点之间信息交换,另一方面聚集关系信息,作为编码层的输入,能有效让模型学习到对复杂问题最重要的关系信息,不会过多受实体节点信息影响。

子图重构的示例图如图2所示,对于三元组

2)使用图神经网络GraphTransformer方法对重构后的输入三元组子图进行编码;

重构后的子图可以表示为

其中i表示第i个节点,l表示经过第l层图神经网络后得到的向量表示,

最终经过图神经网络GraphTransformer编码后的N个节点表示为 H={h

3)使用混合专家模型,预测专家选择不同的生成结果,提升生成问题的多样性;

问题生成的目标是生成问句Q=(q

其中θ

模型选择一个专家z

计算公式如下:

p(z

其中fc是全连接层(Fully connected layer),v是经过编码器得到的解码器初始状态向量,softmax是激活函数。

4)使用隐变量建模关系的结构信息,实现对复杂关系的编码,指导复杂问题的生成;

问题生成解码过程逐词预测直至生成完整的句子,如图1中的示例,解码过程线预测生成“what”,再根据这个结果预测下一个词“is”。在解码过程中,复杂关系对应的生成词之间有明显的跳转,“occupation of”和“father of”可以看作两个文本范围,这种两个文本范围之间的跳转本方法通过使用隐变量

其中e

5)使用Transformer网络,在关系结构编码信息和选择专家的指导下对编码结果进行解码,生成问题。

如步骤3)中所说,问题生成的目标就是最大化算式(2),其中p(z

最终模型的目标就是最小化如下损失函数:

b.知识图谱复杂问题问答(KBQA)模块

知识图谱复杂问题问答回答给定问题得出结果,一般包括命名实体识别、实体链接、关系抽取和排序打分等过程,而其中关系抽取在整个任务起着主导作用,复杂问题场景,复杂性主要体现在多关系上,所以本方法将知识图谱问答任务简化成关系抽取任务,而这种处理在相关的领域中有多个工作使用。

6)使用Transformer对输入复杂问题进行编码;

输入问题文本q=(q

首先通过Multi-head层:

MultiHead(Q,K,V)=Concat(head

其中W

其中d

通过self-attention层后,得到问题的向量表示h,再通过FFN层:

FFN(h)=max(0,hW

W

7)使用混合专家模型选择不同的专家,指导完成问答的过程;

知识图谱复杂问题问答简化成关系抽取任务,该任务目标预测得到关系序列R=(r

类似于步骤3),使用混合专家模型假设预测过程有一个隐藏专家进行指导,不同的专家有着自己的偏好,定义专家个数为K,知识图谱复杂问题问答任务的目标就是最大化下式:

模型选择一个专家z

计算公式如下:

p(z

其中fc是全连接层(Fully connected layer),h是问题Q经过编码器得到的向量表示,softmax是激活函数。

8)预测关系的层级依存关系,完成对复杂问题的复杂关系编码解析;

不同关系存在一定的依存关系,如图1和图3,预测关系结果分别为 [parents,profession]和[form_of_government,administrative_divisions],如图1 中P1所示,两个关系为在逻辑上为顺序链式关系,而图3中示例两个关系如 P2所示,为并列关系。本方法预处理编码关系的树形依存关系,额外添加起始节点和答案节点,对所有节点编号。然后在复杂问题关系预测过程,引入隐变量表示每一个关系在树形结构中的父节点,计算公式如下:

其中

9)使用Transformer网络预测复杂问题对应的关系序列,完成问答过程。

在每个时间步,在专家z

其中

c.联合学习模块

10)通过联合学习,知识图谱问答实现对知识图谱问题生成的约束,提升生成问题包含的复杂关系准确性,生成高质量的复杂问题。

方法认为知识图谱复杂问题生成中的专家z

其中

最终综合步骤5)中(4)式和步骤9)中(6)式,方法目标最小化如下损失函数:

通过最小化上述损失函数,可以通过知识图谱问答约束知识图谱问题生成包含复杂关系的复杂问题,通过隐变量对关系信息的编码保证复杂关系信息在两个任务交互,而混合专家模型的引入有效提升生成问题的多样性。相比于其他的知识图谱问题生成方法,本方法考虑到了针对复杂问题情况,设计了一个联合学习方法,确保生成多关系复杂问题。另外,通过隐向量建模不同关系之间的层级关系,提高对复杂关系的解析与编码。最后,采用混合专家模型关系选择不同的专家指导问题的生成,确保了生成问题的多样性。

经过实验分析证明,本方法提出的联合学习方法和使用隐变量模型对关系的编码,有效提高的问题生成对复杂问题的处理能力,有效保证了生成问题的复杂性。另外,本方法使用混合专家模型,有效提高了生成问题的多样性,使方法在生成复杂问题时有更高的鲁棒性。

上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。

相关技术
  • 一种基于混合专家模型和联合学习的知识库问题生成方法
  • 基于混合专家模型的个性化联邦学习方法
技术分类

06120113083878