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

一种基于图神经网络的关系抽取方法

文献发布时间:2023-06-19 12:19:35


一种基于图神经网络的关系抽取方法

技术领域

本发明属于关系抽取技术领域,具体涉及一种基于图神经网络的关系抽取方法。

背景技术

关系抽取意在捕获非结构化句子中标记实体对之间的语义关系,在自然语言处理任务中发挥着重要作用,例如创建新的结构化知识库并且增强现有知识库和构建垂直领域知识图谱,同时在支持上层应用中也有着重要的作用,例如:问答系统、关系推理、搜索等。关系抽取任务通常发生在特定的两个或多个实体之间,最终将关系定义到已有的某个关系类别中。一个好的关系抽取模型可以帮助对文本内容进行深入理解。

现有的关系抽取模型大多是基于深度学习的,如RNN、CNN及其改进模型。关系抽取模型以文本序列为输入,通过特征提取器获取句子表示和词级表示,最后通过分类器获得实体间的关系类别。在提取关系的过程中句子中的谓语通常非常重要,这也意味着如果实体和谓语的距离太远可能导致关键信息的丢失。为解决这一问题,往往采用依赖树来获取句子远距离信息依赖,并简化复杂句子,完成核心信息提取。早期往往使用LSTM应用于最短路径的单词序列,有学者提出DepNN应用RNN提取子树特征,CNN提取最短路径特征,但这些模型直接运行在依赖树,由于依赖树往往难以对齐来实行批处理训练,故而并行训练困难,计算效率低。

发明内容

鉴于上述问题,本发明提供克服上述问题或者至少部分地解决上述问题的一种基于图神经网络的关系抽取方法。

为解决上述技术问题,本发明提供了一种基于图神经网络的关系抽取方法,所述方法包括步骤:

对待抽取文档进行数据处理;

构建所述文档中句子的模型数据集;

获取所述句子的语义特征向量;

根据所述数据处理结果和所述语义特征向量生成所述句子的实体间邻域信息表达;

根据所述实体间邻域信息表达强化所述句子的句子表达;

根据所述数据处理结果和所述句子表达获取所述句子的句子池化表达和主客体池化表达;

将所述句子池化表达和所述主客体池化表达进行级联表示;

根据所述级联表示获取所述句子的关系类别表示。

优选地,所述对待抽取文档进行数据处理包括步骤:

获取所述待抽取文档;

对所述待抽取文档中的句子进行数据清洗操作;

对所述句子进行分词操作;

提取所述句子的依存句法关系信息;

获取所述句子的主客体位置信息。

优选地,所述对所述待抽取文档中的句子进行数据清洗操作包括步骤:

将所有所述句子统一为同一预设格式;

删除所有所述句子中的无用段落;

删除所有所述句子中的异样字符;

删除所有所述句子中的重复内容;

删除所有所述句子中的无用内容。

优选地,所述构建所述文档中句子的模型数据集包括步骤:

获取条件随机场模型和图的依存句法分析;

基于所述条件随机场模型构建所述句子的句子模型;

基于所述图的依存句法分析生成每个待分析句子对应的有向图;

根据所述有向图确定所述句子中实体的位置信息和关系类别信息;

整合所述句子的相关数据信息;

将所述相关数据信息存入字典中。

优选地,所述获取所述句子的语义特征向量包括步骤:

获取所述模型数据集;

获取所述模型数据集中所述句子的词向量;

将所述词向量输入RNN,

获取所述RNN输出的句子向量表达;

在所述句子向量表达中增加位置特征维度;

获取图卷积神经网络模型的输入特征向量。

优选地,所述根据所述数据处理结果和所述语义特征向量生成所述句子的实体间邻域信息表达包括步骤:

获取所述数据处理结果中的依存句法关系信息;

将所述依存句法关系信息转换为邻接矩阵;

获取图卷积神经网络模型的输入特征向量;

将所述邻接矩阵和所述输入特征向量输入所述图卷积神经网络模型中;

计算所述图卷积神经网络模型对应的一阶邻域依赖;

获取加权图卷积网络模型;

在所述加权图卷积网络模型中添加依赖树的虚拟边;

构造所述依赖树的逻辑邻接矩阵;

将所述逻辑邻接矩阵输入所述加权图卷积网络模型中;

计算所述加权图卷积网络模型对应的k阶邻域依赖。

优选地,所述根据所述实体间邻域信息表达强化所述句子的句子表达包括步骤:

获取关系注意力模块和位置注意力模块;

获取所述实体间邻域信息表达;

将所述实体间邻域信息表达作为所述位置注意力模块的原始特征表达;

计算所述句子的位置注意矩阵;

计算所述句子的关系注意矩阵;

将所述关系注意矩阵作为邻接矩阵输入图神经网络模型中;

获取所述图神经网络模型输出的图卷积特征表达结果。

优选地,所述根据所述数据处理结果和所述句子表达获取所述句子的句子池化表达和主客体池化表达包括步骤:

获取图卷积特征表达结果;

对所述图卷积特征表达结果进行句子池化;

获取句子池化表达;

对所述图卷积特征表达结果进行主客体池化;

获取主客体池化表达。

优选地,所述将所述句子池化表达和所述主客体池化表达进行级联表示包括步骤:

获取所述句子池化表达;

获取所述主客体池化表达;

获取所述主客体池化表达中的主体池化表达;

获取所述主客体池化表达中的客体池化表达;

将所述句子池化表达、所述主体池化表达和所述客体池化表达依次拼接;

获得最终的级联表达。

优选地,所述根据所述级联表示获取所述句子的关系类别表示包括步骤:

利用分配强化学习优化所述句子的关系表示;

获取所述级联表示;

将所述级联表示输入前馈神经网络模型;

获取所述前馈神经网络模型输出的关系特征表示;

获取所述句子池化表达;

根据所述关系特征表示和所述句子池化表达对所述关系特征表示进行概率预测;

利用分布强化学习估计所述关系表示的分布函数。

本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:本申请提供的一种基于图神经网络的关系抽取方法可以有效地应用于任意依赖树结构,同时考虑到基础的GCN网络仅限于建立一阶单词之间的依赖关系,多阶单词之间的联系需要多层GCN,但同时可能导致过平滑问题,因此通过改进权重矩阵获取多阶单词的关联关系同时融合注意力机制对文本内容进行建模,以获取语义间完整的依赖关系,达到更好的关系分类效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例提供的一种基于图神经网络的关系抽取方法的流程示意图。

具体实施方式

下文将结合具体实施方式和实施例,具体阐述本发明,本发明的优点和各种效果将由此更加清楚地呈现。本领域技术人员应理解,这些具体实施方式和实施例是用于说明本发明,而非限制本发明。

在整个说明书中,除非另有特别说明,本文使用的术语应理解为如本领域中通常所使用的含义。因此,除非另有定义,本文使用的所有技术和科学术语具有与本发明所属领域技术人员的一般理解相同的含义。若存在矛盾,本说明书优先。

除非另有特别说明,本发明中用到的各种原材料、试剂、仪器和设备等,均可通过市场购买得到或者可通过现有方法制备得到。

如图1,在本申请实施例中,本发明提供了一种基于图神经网络的关系抽取方法,所述方法包括步骤:

S1:对待抽取文档进行数据处理;

在本申请实施例中,步骤S1中的对待抽取文档进行数据处理包括步骤:

获取所述待抽取文档;

对所述待抽取文档中的句子进行数据清洗操作;

对所述句子进行分词操作;

提取所述句子的依存句法关系信息;

获取所述句子的主客体位置信息。

在本申请实施例中,当对待抽取文档进行数据处理时,具体地,对待抽取文档按照预设标准进行数据清洗,然后对句子进行分词操作,从而将句子分解为多个词组,接着提取句子中各词组之间的依存句法关系信息,并可以获取句子的主客体位置信息。

在本申请实施例中,所述对所述待抽取文档中的句子进行数据清洗操作包括步骤:

将所有所述句子统一为同一预设格式;

删除所有所述句子中的无用段落;

删除所有所述句子中的异样字符;

删除所有所述句子中的重复内容;

删除所有所述句子中的无用内容。

在本申请实施例中,当对所述待抽取文档中的句子进行数据清洗操作时,具体地,将文档中所有的句子统一为同一预设格式,然后按照预设标准删除句子中的无用段落、异样字符、重复内容和无用内容。

S2:构建所述文档中句子的模型数据集;

在本申请实施例中,步骤S2中的构建所述文档中句子的模型数据集包括步骤:

获取条件随机场模型和图的依存句法分析;

基于所述条件随机场模型构建所述句子的句子模型;

基于所述图的依存句法分析生成每个待分析句子对应的有向图;

根据所述有向图确定所述句子中实体的位置信息和关系类别信息;

整合所述句子的相关数据信息;

将所述相关数据信息存入字典中。

在本申请实施例中,当构建所述文档中句子的模型数据集时,首先基于条件随机场模型构建所述句子的句子模型,也即,使用基于条件随机场模型的统计序列构建句子的句子模型,将其视为二元决策任务,即每个字符被标记为一个单词的开始或一个单词的延续,然后利用高斯先验防止过拟合,利用拟牛顿方法进行参数优化。进一步地,对于特定字符序列,条件随机场模型赋值给标签序列的概率如下式所示:

其中,Y为句子的标号序列,X为未分割字符序列,Z(X)为归一化项,fk为特征函数,c为被标号序列中的字符。

然后使用基于图的依存句法分析为每个要分析的句子生成一个有向图,其中,有向图的节点是句子中的单词,有向图的边是单词之间的依存关系,并通过基于BiLST和Attention的模型得到实体分类以及实体间是否存在关联,最终获得句子中各个实体间的依存句法关系信息,包括词性、实体间的句法关系等。然后基于有向图确定句子中实体的位置和关系类别,并整合句子的相关数据信息,包括分词、词性、实体间的句法关系、实体位置、关系类别,最后将其存入json字典,以完成模型数据集的构建。

S3:获取所述句子的语义特征向量;

在本申请实施例中,步骤S3中的获取所述句子的语义特征向量包括步骤:

获取所述模型数据集;

获取所述模型数据集中所述句子的词向量;

将所述词向量输入RNN,

获取所述RNN输出的句子向量表达;

在所述句子向量表达中增加位置特征维度;

获取图卷积神经网络模型的输入特征向量。

在本申请实施例中,当获取所述句子的语义特征向量时,首先使用基于GloVe的模型获取模型数据集中的待测句子的词向量,其代价函数如下:

其中,v

S4:根据所述数据处理结果和所述语义特征向量生成所述句子的实体间邻域信息表达;

在本申请实施例中,步骤S4中的根据所述数据处理结果和所述语义特征向量生成所述句子的实体间邻域信息表达包括步骤:

获取所述数据处理结果中的依存句法关系信息;

将所述依存句法关系信息转换为邻接矩阵;

获取图卷积神经网络模型的输入特征向量;

将所述邻接矩阵和所述输入特征向量输入所述图卷积神经网络模型中;

计算所述图卷积神经网络模型对应的一阶邻域依赖;

获取加权图卷积网络模型;

在所述加权图卷积网络模型中添加依赖树的虚拟边;

构造所述依赖树的逻辑邻接矩阵;

将所述逻辑邻接矩阵输入所述加权图卷积网络模型中;

计算所述加权图卷积网络模型对应的k阶邻域依赖。

在本申请实施例中,当根据所述数据处理结果和所述语义特征向量生成所述句子的实体间邻域信息表达时,首先将步骤1中获得的依存句法关系信息转换为邻接矩阵,如一句话为a

其中,H

其中,Weight(d)用于计算节点间特征融合的权重系数。节点间距离越短,权值越大,反之亦然。相邻节点间的融合权系数为1,即最大的信息融合权重。

因此更新,GCN表达的计算公式为:

S5:根据所述实体间邻域信息表达强化所述句子的句子表达;

在本申请实施例中,步骤S5中的根据所述实体间邻域信息表达强化所述句子的句子表达包括步骤:

获取关系注意力模块和位置注意力模块;

获取所述实体间邻域信息表达;

将所述实体间邻域信息表达作为所述位置注意力模块的原始特征表达;

计算所述句子的位置注意矩阵;

计算所述句子的关系注意矩阵;

将所述关系注意矩阵作为邻接矩阵输入图神经网络模型中;

获取所述图神经网络模型输出的图卷积特征表达结果。

在本申请实施例中,当根据所述实体间邻域信息表达强化所述句子的句子表达时,为更好地关注实体间依赖信息和节点表示的确定性,使节点在表达依赖关系的同时提高辨识率,此时需要增加关系注意力制模块和位置注意力模块。位置注意力模块是对任意两个位置之间的空间关系建模,首先将步骤S4中获得的实体间邻域信息表达分别作为位置注意力模块的原始特征表达C、原始特征表达D以及原始特征表达E。在D矩阵表达和C的转置之间进行一个矩阵乘法运算,位置注意矩阵使用softmax层计算。

其中,C、D、E为第一层GCN输出h的特征变换。

其中qij表示第j个位置对第i个位置的影响。两个位置的特征越相似它们之间的相关性越大。同时,对E和q进行矩阵乘法运算。最后,将结果与学习因子α相乘,逐渐学习分配更多的权重,并将其结果作为第一层GCN的最终结果,具体如下:

进一步地,关系注意矩阵由节点的依赖性生成,如:i与j最初两个相关就是1否则为0,关系特征由自注意力机制产生,是通过softmax层计算出来的,具体如下:

两个节点之间的关系越紧密,对该值的影响越大。然后,将注意矩阵与原始节点特征A相乘。最后,将结果乘以一个学习因子β,然后与原始特征进行元素求和得到如下所示公式:

将获得的关系注意力表达

S6:根据所述数据处理结果和所述句子表达获取所述句子的句子池化表达和主客体池化表达;

在本申请实施例中,步骤S6中的根据所述数据处理结果和所述句子表达获取所述句子的句子池化表达和主客体池化表达包括步骤:

获取图卷积特征表达结果;

对所述图卷积特征表达结果进行句子池化;

获取句子池化表达;

对所述图卷积特征表达结果进行主客体池化;

获取主客体池化表达。

在本申请实施例中,为了获得样本的重要特征,同时提高运算速度,对步骤S5中得到的图卷积特征表达结果hr进行池化操作,具体的池化操作分为两种,前者是句子池化,后者是主客体池化。在句子池化过程中,首先获得对邻接矩阵的mask操作,将所有实体间有关联的实体置为0,然后使用最大池化,获得池化表示pool_sentence,即是获得句子中所有非相关联实体的特征表达,具体公式如下:

主客体池化使用位置的mask方式,将除主体和客体对应的位置分别置0,获得主体和客体的mask_object和mask_subject,随后使用最大池化,获得最终的主体池化表达pool_subject和客体池化表达pool_object,具体公式如下:

S7:将所述句子池化表达和所述主客体池化表达进行级联表示;

在本申请实施例中,步骤S7中的将所述句子池化表达和所述主客体池化表达进行级联表示包括步骤:

获取所述句子池化表达;

获取所述主客体池化表达;

获取所述主客体池化表达中的主体池化表达;

获取所述主客体池化表达中的客体池化表达;

将所述句子池化表达、所述主体池化表达和所述客体池化表达依次拼接;

获得最终的级联表达。

在本申请实施例中,当将所述句子池化表达和所述主客体池化表达进行级联表示时,具体地,基于步骤S6中获得句子池化表达pool_sentence、主体池化表达pool_subject和客体池化表达pool_object,将其进行拼接,获得最终的级联表达,具体如下:

h

S8:根据所述级联表示获取所述句子的关系类别表示。

在本申请实施例中,步骤S8中的根据所述级联表示获取所述句子的关系类别表示包括步骤:

利用分配强化学习优化所述句子的关系表示;

获取所述级联表示;

将所述级联表示输入前馈神经网络模型;

获取所述前馈神经网络模型输出的关系特征表示;

获取所述句子池化表达;

根据所述关系特征表示和所述句子池化表达对所述关系特征表示进行概率预测;

利用分布强化学习估计所述关系表示的分布函数。

在本申请实施例中,当根据所述级联表示获取所述句子的关系类别表示时,首先利用分配强化学习优化句子的关系表示,将待分类实体作为状态,将关系分类作为行为,将期望与预测之间的偏差作为奖励,从而通过奖励强化正确的行为;然后将步骤S7得到的级联表示通过一层前馈神经网络(FFNN)得到关系特征表示,具体如下:

r

其中,rij表示实体i和实体j的关系表达。

基于得到的关系特征表示rij和步骤S7获得的句子池化表达pool_sentence,利用softmax函数对输出的关系特征进行概率预测,具体公式如下:

P(r

其中,MLP(.)是一个多层感知器。

接下来将概率预测值转化为状态值矩阵Q,并通过迭代得到最优期望值,可由Bellman优化公式得到:

其中,h和r表示待分类实体及其对应关系,Q(h,r)表示在h状态下执行动作r时得到的累积回报,γ为惩罚因子。

由于强化学习关注的是对未来奖励价值的期望,评估的本质是预测没有发生的事情,这必然涉及到不确定性,不确定性的大小对决策有非常重要的影响。因此,使用分布强化学习,用学习返回值的概率分布来代替学习返回值的期望值,不仅可以估计期望值,而且可以估计整个分布函数。

分布Bellman算子公式为:

其中,Z为随机变量,表示状态h下执行行为r后的回报所产生的随机变量。损失可以通过交叉熵计算,具体公式如下:

其中,S代表一组句子,s代表集合中的一个句子。

本申请提供的一种基于图神经网络的关系抽取方法可以有效地应用于任意依赖树结构,同时考虑到基础的GCN网络仅限于建立一阶单词之间的依赖关系,多阶单词之间的联系需要多层GCN,但同时可能导致过平滑问题,因此通过改进权重矩阵获取多阶单词的关联关系同时融合注意力机制对文本内容进行建模,以获取语义间完整的依赖关系,达到更好的关系分类效果。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于图神经网络的关系抽取方法
  • 图神经网络构建方法、基于图神经网络的异常流量检测方法
技术分类

06120113255161