一种基于对比学习的关系抽取方法与流程

文档序号:32607298发布日期:2022-12-20 18:06阅读:96来源:国知局
一种基于对比学习的关系抽取方法与流程

1.本发明涉及自然语言处理中关系抽取技术领域,具体涉及一种基于对比学习的关系抽取方法。


背景技术:

2.随着人工智能和大数据时代的到来,互联网上信息增长速度越来越快,如何高效快速地从非结构化文本中提取有效的信息是学者们研究的重点。文本信息抽取包含实体抽取,关系抽取,事件抽取,因果抽取等。关系抽取是指从非结构化的文本中抽取出实体对之间的三元组信息,即《实体l,实体2,关系》。关系抽取作为自然语言处理中一项常见且重要的子任务,目前已被成功用于生物医学知识发现、知识图谱领域和问答领域等诸多自然语言处理领域。
3.现有关系提取模型或方法可大体分为两类:序列模型和依赖关系模型。序列模型主要针对单词序列进行建模,而依赖关系模型则是以句法依存关系树为基础,构建依赖关系模型。相对于序列模型而言,依赖关系模型可以利用句法依存树提取出句子中隐藏的非局部语法关系,进而建立句内长距离的依赖关系,更好建模出句子的结构信息。
4.传统有监督学习训练模型的方法对标签过度依赖,尤其在训练数据稀缺的情况下泛化能力较差。自监督学习利用数据本身提供的信息设置代理任务从而提供替代监督信号,使模型能够从未标记数据中学习到潜在的特征表示,从而在下游任务上获得更好的性能和鲁棒性,在图像领域的图片分类任务上已经超越有监督训练模型。


技术实现要素:

5.基于以上方法的思想和存在的问题,结合所存在方法的优缺点,本发明提出一种基于图对比学习与双向长短时记忆神经网络结合的关系抽取方法,基于文本的句法依赖结构构建图模型,通过预训练加微调的学习范式,首先利用图对比学习在大量无标签文本数据训练自监督模型,获得句子潜在的特征表示,然后进一步在含有关系类别标签数据中微调模型,提取句子中结构信息和时序上下文信息,从而更全面地建模文本的特征表示,最终实现关系抽取。
6.一种基于对比学习的关系抽取方法,包括以下步骤:
7.s1.构建基于对比学习的关系抽取模型,其包括嵌入层、bi-lstm层、gcn层、线性连接层和输出层;
8.s2.获取无标签文本数据集,采用glove词典进行词嵌入后通过scipy parser工具进行句子依存结构分析,转化得到无标签文本语义依存图集;
9.s3.获取带标签关系抽取数据,采用glove词典进行词嵌入后通过scipy parser工具处理得到标签关系抽取文本语义依存图集;
10.s4.采用无标签文本数据集和无标签文本语义依存图集对关系抽取模型进行预训练;
11.s5.采用带标签关系抽取数据集和标签关系抽取文本语义依存图集,对s4预训练好的关系抽取模型进行微调训练;
12.s6.将待抽取文本数据输入微调训练完成的关系抽取模型,得到关系抽取结果。
13.进一步的,预训练的具体过程为:
14.s11.选取无标签文本语义依存图集中的任一无标签文本语义依存图作为第一依存图,其余无标签文本语义依存图作为第二依存图;第一依存图和第二依存图组成负样本对;
15.s12.对第一依存图进行混合随机删除边和随机遮掩特征处理,得到第一数据增强图和第二数据增强图,第一数据增强图和第二数据增强图组成正样本对;
16.s13.获取第一依存图对应的无标签文本的第一词向量表示,将第一词向量表示输入bi-lstm层得到第一上下文特征;
17.s14.将第一上下文特征、正样本对和负样本对输入gcn层训练gcn编码器,通过最大化正样本对之间的互信息训练gcn编码器参数,采用对比损失函数计算损失值进行反向传播,直至gcn编码器收敛。
18.进一步的,对比损失函数表示为:
[0019][0020][0021]
其中,n表示无标签文本语义依存图总数,对无标签文本语义依存图集进行数据增强,得到n对正样本对,此时共有2n个样本;sim()表示余弦相似度计算函数,zi表示第i个无标签文本语义依存图数据增强后的正样本经过gcn编码器后的输出,zj表示与zi处于同一正样本对中的另一个正样本经过gcn编码器后的输出,zk表示剩余2n-2个样本经过gcn编码器后的输出,τ表示超参数。
[0022]
进一步的,微调训练的具体过程包括:
[0023]
s21.获取带标签关系抽取数据集中的关系抽取文本的词向量表示,并将其输入bi-lstm层获取关系抽取上下文特征;
[0024]
s22.将关系抽取上下文特征和关系抽取文本对应的标签关系抽取文本语义依存图输入gcn层,得到长期依赖特征;
[0025]
s23.通过线性连接层剔除长期依赖特征中的无关特征,得到最终输出,采用交叉熵损失函数计算损失值进行反向传播,直至模型收敛。
[0026]
进一步的,gcn层中gcn编码器的隐藏层的计算公式表示为:
[0027][0028]
其中,表示gcn编码器第l层的隐藏表示,a
ij
表示标签关系抽取文本语义依存图中节点vi与节点vj间的边,w
(l)
表示gcn编码器第l层的权重矩阵,表示gcn编码器第l
层的输入,b
(l)
表示gcn编码器第l层的偏置向量,ρ表示激活函数。
[0029]
进一步的,将gcn编码器的输出进行池化,采用全连接层处理池化结果,表示为:
[0030]hs
=f(gcn(h
(0)s1:s2
))
[0031]ho
=f(gcn(h
(0)o1:o2
))
[0032]hsent
=f(gcn(h
(0)
))
[0033]hfinal
=w([hs;h
sent
;ho])+b
[0034]
其中,hs表示经图卷积编码池化后的头实体词向量,h
(0)s1:s2
表示头实体词拼接的向量编码,gcn()表示图卷积编码器,f:rd×n→
rd表示最大池化函数,将n个d维词向量映射到d维句向量;ho表示经图卷积编码池化后的尾实体词向量,h
(0)o1:o2
表示尾实体拼接的向量编码,h
final
表示最终向量,w()表示全连接层的参数,b表示全连接层的偏置,h
(0)
表示句子的向量编码,h
sent
表示句子向量。
[0035]
进一步的,交叉熵损失函数表示为:
[0036][0037]
其中,yi表示第i个样本标签,si表示第i个样本最终向量编码,θ表示训练参数,p(yi|si,θ)表示参数为θ时,给定向量si,输入标签为yi的概率,n表示样本数量。
[0038]
本发明的有益效果:
[0039]
传统关系抽取方法中对句向量表示的标签过度依赖,尤其训练数据稀缺的情况下泛化能力较差;考虑到自监督学习可以从大量无标签文本本身提供的信息提供替代监督信号,使模型能够从未标记文本数据中学习句向量表示,从而降低对标签数据的需要和鲁棒性,因此本发明通过预训练加微调的训练范式,第一阶段:利用图模型上随机遮蔽节点特征和结构特征设计的代理任务预训练图卷积编码器,此阶段无需使用含有关系类标签的文本数据;第二阶段使用有类别标签的数据对预训练好的图卷积编码器进行微调,能够更好的将无标签文本潜在语义特征和关系抽取标签数据有监督学习和结合起来,降低对标签数据的需求,进一步提高了模型分类的泛化性和鲁棒性。
附图说明
[0040]
图1是本发明方法的步骤示意图;
[0041]
图2是本发明方法的关系抽取流程示意图;
[0042]
图3是本发明方法的预训练图对比模型结构示意图;
[0043]
图4是本发明方法的微调阶段关系抽取模型结构示意图;
[0044]
图5是本发明方法的句法分析结构生成邻接矩阵示意图;
具体实施方式
[0045]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
一种基于对比学习的关系抽取方法,如图1所示,包括以下步骤:
[0047]
s1.构建基于对比学习的关系抽取模型,其包括嵌入层、bi-lstm层、gcn层、线性连
接层和输出层;
[0048]
s2.获取无标签文本数据集,通过scipy parser工具处理得到无标签文本语义依存图集;
[0049]
s3.获取带标签关系抽取数据,通过scipy parser工具处理得到标签关系抽取文本语义依存图集;
[0050]
s4.采用无标签文本数据集和无标签文本语义依存图集对关系抽取模型进行预训练;
[0051]
s5.采用带标签关系抽取数据集和标签关系抽取文本语义依存图集,对s4预训练好的关系抽取模型进行微调训练;
[0052]
s6.将待抽取数据输入微调训练完成的关系抽取模型,得到关系抽取结果。
[0053]
具体地,步骤s2和步骤s3中,通过scipy parser工具对各文本进行句法依赖解析,并将语义关联表示为语义依存结构;语义依存无须抽象词语本身,而是通过所承载的语义框架对词语进行描述,跨越句子表层句法结构的束缚,直接获取深层的语义信息。分析句子的语义依存结构,将句子中的单词对应为顶点,单词间的依存弧对应为依赖边,提取出句子的依赖结构树,从而构成有向无环图形式的语义依存图,以邻接矩阵的方式进行存储,有向无环图方向由矩阵的行指向列,有依赖边的对应矩阵元素为1,没有依赖边的矩阵元素为0。
[0054]
如图2所示,对句子“linda makes and repair the car.进行语义依存分析,得到语义依赖树,其中根节点(root)为makes,makes分别为linda和car的父节点,feat表示makes修饰的角色是linda,同样的,repair修饰的是car,ecoo表示事件关联,即makes和repairs是并列关系,mrela表示关系标记,mdepd表示依附标记。
[0055]
在一实施例中,预训练阶段设置图数据增强的对比辅助任务作为监督信号,对语义依存图进行数据增强得到正样本对,通过最大化正样本对互信息,约束gcn编码器获得能够重构图自身结构信息的节点表示,用于下游关系抽取任务,预训练的具体过程为:
[0056]
s11.选取无标签文本语义依存图集中的任一无标签文本语义依存图作为第一依存图,其余无标签文本语义依存图作为第二依存图;第一依存图和第二依存图组成负样本对;
[0057]
s12.设置随机删除边和随机遮掩特征两个辅助任务作为自监督信号,对第一依存图进行随机删除边和随机遮掩特征处理,得到第一数据增强图和第二数据增强图,第一数据增强图和第二数据增强图组成正样本对,如图3所示;
[0058]
s13.采用glove词典获取第一依存图对应的无标签文本的第一词向量表示,将第一词向量表示输入bi-lstm层得到第一上下文特征;
[0059]
s14.将第一上下文特征、正样本对和负样本对输入gcn层训练gcn编码器,采用对比损失函数计算损失值进行反向传播,直至gcn编码器收敛。
[0060]
具体地,在预训练的过程中最大化正样本对之间的互信息而进行参数的更新,使用对比学习损失nce loss作为损失函数,当该损失函数的值趋于稳定时,说明模型效果收敛,训练已经结束,得到一个预训练好的gcn编码器。在微调阶段输入带有关系类别标签的数据,模型参数是预训练得到gcn编码器的参数,同时我们用关系抽取模型的预测输出和正确答案之间的交叉熵作为损失函数,衡量模型的预测效果,当该损失函数的值趋于稳定时,说明模型效果收敛,训练结束。后续预测阶段直接将待预测的数据输入到训练好的关系抽
取模型中,得到对应的预测实体关系。
[0061]
对比损失函数表示为:
[0062][0063][0064]
其中,n表示无标签文本语义依存图总数,对无标签文本语义依存图集进行数据增强,得到n对正样本对,此时共有2n个样本;sim()表示余弦相似度计算函数,zi表示第i个无标签文本语义依存图数据增强后的正样本经过gcn编码器后的输出,zj表示与zi处于同一正样本对中的另一个正样本经过gcn编码器后的输出,zk表示剩余2n-2个样本经过gcn编码器后的输出,τ表示超参数。
[0065]
在一实施例中,微调训练阶段是用来学习实体对的字级别的最终隐藏状态向量,将其和句子级别语义向量融合得到用于关系分类的特征向量,将该特征向量输入到前馈神经网络进行softmax操作,以获得关系的概率分布,微调训练的具体过程如图4所示,包括:
[0066]
s21.采用glove词典获取带标签关系抽取数据集中的关系抽取文本的词向量表示,并将其输入bi-lstm层获取关系抽取上下文特征;
[0067]
s22.将关系抽取上下文特征和关系抽取文本对应的标签关系抽取文本语义依存图输入gcn层,得到长期依赖特征;
[0068]
s23.通过线性连接层剔除长期依赖特征中的无关特征,得到最终输出,采用交叉熵损失函数计算损失值进行反向传播,直至模型收敛。
[0069]
具体的,将词向量表示输入bi-lstm层获取上下文特征信息的过程为:
[0070]it
=σ(wi·
[h
t-1
,x
t
]+bi)
[0071][0072]ft
=σ(wf·
[h
t-1
,x
t
]+bf)
[0073]ot
=σ(wo[h
t-1
,x
t
]+bo[0074]ht
=o
t
*tanh(c
t
)
[0075]
其中,i
t
表示输入门t时刻的输出,wi表示输入门内的权重系数,bi表示输入门内的偏置参数,表示t时刻细胞状态,wc表示权重系数,bc表示偏置参数,x
t
表示t时刻的单词词向量,h
t-1
表示t-1时刻的单词单元状态,f
t
表示遗忘门的t时刻输出,wf表示遗忘门内的权重系数,bf表示遗忘门内的偏置参数,o
t
表示输出门t时刻的输出,wo表示输出门内的权重系数,bo表示输出门内的偏置参数。
[0076]
具体地,gcn层中gcn编码器的隐藏层的计算公式表示为:
[0077][0078]
其中,表示gcn编码器第l层的隐藏表示,a
ij
表示标签关系抽取文本语义依存
图中节点vi与节点vj间的边,w
(l)
表示权重矩阵,表示gcn编码器第l层的输入,b
(l)
表示偏置向量,ρ表示激活函数。
[0079]
在一实施例中,采用训练完成后的关系抽取模型进行关系抽取的流程如图5所示,包括:
[0080]
101、获取待抽取的关系数据,对其进行依赖解析得到语义依存图,以邻接矩阵的方式存储语义依存图,同时采用glove字典处理得到词向量表示;
[0081]
102、将词向量表示输入bi-lstm层提取上下文特征;
[0082]
103、将上下文特征和语义依存图一起输入到gcn层,通过gcn层的gcn编码器,即图对比编码器,提取文本的结构特征;
[0083]
104、将gcn编码器的输出结果输入到池化层,获得句子向量,头实体词向量和尾实体词向量;
[0084]
105、拼接句子向量、头实体词向量和尾实体词向量得到最终向量输入到全连接层获得分类结果。
[0085]
具体地,将gcn编码器的输出进行池化,采用全连接层处理池化结果,表示为:
[0086]hs
=f(gcn(h
(0)s1:s2
))
[0087]ho
=f(gcn(h
(0)o1:o2
))
[0088]hsent
=f(gcn(h
(0)
))
[0089]hfinal
=w([hs;h
sent
;ho])+b
[0090]
其中,hs表示经图卷积编码池化后的头实体词向量,h
(0)s1:s2
表示头实体词拼接的向量编码,gcn()表示图卷积编码器,f:rd×n→
rd表示最大池化函数,将n个d维词向量映射到d维句向量;ho表示经图卷积编码池化后的尾实体词向量,h
(0)o1:o2
表示尾实体词拼接的向量编码,h
final
表示最终向量,w()表示全连接层的参数,b表示全连接层的偏置,h
(0)
表示句子的向量编码,h
sent
表示句子向量。
[0091]
具体地,关系抽取是判别两个实体间的关系,待抽取的关系数据为一个完整的句子,若输入“清华大学位于北京”这句话,对其进行依赖解析得到语义依存图,以邻接矩阵的方式存储语义依存图,同时采用glove字典处理这句话得到每个字的词向量表示,将所有字的词向量表示输入bi-lstm层提取对应的上下文特征;然后将整句话的上下文特征和语义依存图一起输入到gcn层,通过gcn层的gcn编码器对每个字进行编码,得到每个字的向量编码;然后将所有字的向量编码输入池化层,所有字的向量编码映射为一个句子向量,同时将“清”、“华”、“大”、“学”四个字的向量编码拼接得到头实体词拼接的向量编码h
(0)s1:s2
,然后池化映射得到头实体词向量hs,将“北”和“京”两个字的向量编码拼接得到尾实体词拼接的向量编码h
(0)o1:o2
,然后池化映射得到尾实体词向量ho;拼接句子向量、头实体词向量和尾实体词向量得到最终向量输入到全连接层获得关系抽取结果。
[0092]
在一实施例中,采用评价指标查准率precison、查全率recall、f1分数,将本发明方法和各种主流方法在tacred数据集和semeval-2010 task 8数据集上进行对比评价,评价指标查准率precison、查全率recall、f1分数的计算公式如下:
[0093]
[0094][0095][0096]
其中,tp表示将正样本预测为正的样本数,fp表示将负样本预测为正的样本数,fn表示将正样本预测为负的样本数,正样本、负样本对应某类标签,该标签对应的样本即为正样本,其他标签对应的样本相对该类标签为负样本。
[0097]
表1在tacred数据集上的实验对比结果
[0098]
模型precisionrecallf1lr73.549.959.4sdp-lstm66.352.758.7tree-lstm66.059.262.4gcn69.963.366.4aggcn69.960.965.1ours71.862.366.7
[0099]
表2在semeval数据集上的实验对比结果
[0100]
模型f1svm82.2cnn+att84.1sdp-lstm83.7sptree84.4c-ggcn84.8ours85.2
[0101]
表1展示在tacred数据集上和主流模型的实验对比结果,表2展示了在semeval数据集上的实验结果。可以看出,本发明的关系抽取算法在精确率p,召回率r和综合指标f1上占有一定优势。
[0102]
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0103]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1