现代电子技术
Modern Electronics Technique
2022年7月1日第45卷第13期
Jul.2022Vol.45No.13
0引言
近些年来,互联网技术飞速发展,大数据时代到来,如何从海量的数据中提取有用的知识,成为人们关注的重点。知识图谱技术提供了一种从大规模数据中提取结构化信息的方法,因此具有十分广阔的应用前景,知
识图谱构建的关键技术包括:实体关系抽取技术、实体融合技术、知识推理技术与实体链接技术。其中,实体关系抽取是知识图谱构建中最基础也是最重要的任务。
通用语料中,一句话可能会出现多对实体,一对实体间也可能出现多种关系。因此会遇见一句话中包含多个关系三元组的情况,而如何从句子中尽量多地抽取出符合条件的关系三元组是亟待解决的问题,当前关系抽取的研究中,对于这种实体重叠关系的抽取依旧是十分困难的。
基于依存图卷积的实体关系抽取模型
刘
源1,刘胜全1,常超义1,孙伟智2
(1.新疆大学信息科学与工程学院,新疆乌鲁木齐
830000;
2.成都理工大学计算机与网络安全学院(牛津布鲁克斯学院),四川成都
610000)
摘
要:目前大多数端到端的关系抽取方法解决了流水线方法的误差累计问题,但是仍然存在两个问题:结构特征表normal
示不足,缺乏句法结构等信息;句子中存在着大量实体重叠关系,未考虑这些实体重叠关系的抽取导致关系三元组召回率低的问题。针对这些问题,提出一种基于图卷积神经网络的实体关系抽取模型。
使用依存句法分析对文本构图,然后通过双向GraphSage 提取其结构特征,融入句法结构的特征向量在预测关系时有着更好的表现。而对于关系重叠问题,一次性将所有关系抽取较为困难,因此将该任务分为两步:第一步只抽取非重叠关系与单实体重叠关系;第二步中语言模型抽取关系触发词,并与实体词一起构建实体关系图,这一步能够提高实体对重叠关系的抽取能力。
关键词:关系抽取;图神经网络;关系触发词;深度学习;实体重叠;依存句法树;多任务学习;预训练语言模型中图分类号:TN711⁃34
文献标识码:A
文章编号:1004⁃373X (2022)13⁃0111⁃07
Entity relation extraction model bad on graph convolutional neural network
LIU Yuan 1,LIU Shengquan 1,CHANG Chaoyi 1,SUN Weizhi 2
(1.College of Information Science and Engineering ,Xinjiang University ,Urumqi 830000,China ;
2.College of Computer Science and Cyber Security (Oxford Brookes College ),Chengdu University of Technology ,Chengdu 610000,China )
Abstract :At prent ,most of the end ⁃to ⁃end relation extraction methods can get rid of the error accumulation of the pipeline method.However ,there are still two problems.One is that the structural features are not well expresd and are lack of syntactic information ,the other is that there are a large number of entity overlap relations in ntences ,and without considering the extraction of entity overlap relations leads to low recall of the relational triad.To solve the problems ,an entity relation extraction model bad on graph convolutional neural network is propod.Dependency parsing analysis is ud to compo the text ,and then bidirectional GraphSage is ud to extract its structural features.The feature vector integrated into the syntactic
structure has a better performance in predicting the relation.As for the relationship overlap ,it is difficult to extract all relations at one time ,so it is divided into two steps to extract the relations.In the first step ,only non ⁃overlapping relation and single
entity overlap (SEO )relation are extracted.In the cond step ,the language model is ud to extract the relation trigger words and construct the entity relation graph together with the entity words.The later step can improve the extraction ability of entity pair overlap (EPO )relation.
Keywords :relation extraction ;graph neural network ;relational trigger word ;deep learning ;entity overlap ;dependency
parsing tree ;multi⁃task learning ;pre⁃trained language model
DOI :10.16652/j.issn.1004⁃373x.2022.13.021
引用格式:刘源,刘胜全,常超义,等.基于依存图卷积的实体关系抽取模型[J].现代电子技术,2022,45(13):111⁃117.
收稿日期:2021⁃12⁃02修回日期:2021⁃12⁃23
基金项目:国家自然科学基金资助项目(61966034)
111
现代电子技术2022年第45卷
1相关研究
近年来随着深度学习的逐渐成熟,基于深度学习的关系抽取方法成为研究热点。文献[1]首次将RNN应用于关系抽取中,解决了传统方法无法捕获长句依赖的问题;文献[2]首次提出使用CNN进行关系抽取,利用卷积神经网络强大的局部特征提取能力提取词汇和句子的特征;文献[3]在CNN模型中引入依
存分析树,显著提高了关系抽取性能;文献[4]在LSTM的基础上同时引入依存分析树、词向量特征与词性特征,通过特征融合实现了较好的效果;文献[5]首次将实体识别和关系抽取任务联合,共享编码层LSTM缓解了流水线方式误差传递的问题;文献[6]提出了基于序列标注策略的实体关系抽取方式,将实体识别和关系分类任务转化为一个序列标注任务,该方法极大地提高了准确率,但是却无法解决关系重叠问题。
重叠关系是由于句子中多个实体之间拥有不同的关系造成的,例如句子“Steve Belichick,the father of New England Patriots coach Bill Belichick,died of heart failure in Annapolis,at the age of86.”中有两对关系三
元组,分别是<Steve Belichick,parent⁃children,Bill Belichick>和<Steve Belichick,place⁃of⁃death,Annapolis>,可以看出Steve Belichick这个实体同时和两个实体有关系,一个是Bill Belichick,他们具有父子关系,另一个是Annapolis,它们具有死亡地的关系,这种多个关系三元组中出现某一个重复实体的情况,称之为单实体重叠关系(Single Entity Overlap,SEO)。另一个例子是“But that spasm of irritation by a master intimidator was minor compared with what Bobby Fischer,the erratic former world chess champion,dished out in March at a news conference in Reykjavik,Iceland.”,这个句子中有两个三元组<Iceland,location⁃contains,Reykjavik>和<Reykjavik,country⁃capital,Reykjavik>,可以发现两个实体Iceland与Reykjavik之间包含了两种关
系,分别是包含关系与首都关系,即三元组中的两个实体都重复了,这种情况叫做实体对重叠关系(Entity Pair Overlap,EPO)。
上述深度学习方法虽然引入了依存句法树和词性等额外特征,但在构建特征时还是没有直接利用依存句法树,同时在重叠关系抽取问题上的表现依旧不好,本文结合图神经网络与关系触发词,对文本的依存句法树进行建图,抽取其结构特征。将原有单步关系分类任务拆解为两步抽取:在第一步中只抽取无重叠关系和单实体重叠关系;在第二步中通过抽取关系触发词构建实体关系图,进一步抽取实体对重叠关系,从而增加关系抽取的召回率。
2模型介绍
2.1多任务学习
多任务学习的主要目标是通过多个相关的不同任务来优化共享网络的参数,多任务学习能够更好地挖掘任务之间具有的联系[7]。
多任务学习包括联合学习、自主学习和带辅助任务的学习。其中,带辅助任务的学习方式通过划分任务为主任务和辅助任务,利用辅助任务的信息改进主任务的学习性能,从而可以学习到多个任务上的统一表示,进而实现对主任务的注意力机制,因此通过多任务学习,本模型中的实体识别任务即可看作辅助任务,使模型能够更加关注实体单词。
多任务学习模型公式如下:
y m,j=w T m x m,j+εm(1)式中:w m为第m个任务的权重;x m,j为第m个任务的第j 个样例;y m,j代表对应的输出;εm代表噪声。式中多个任务的信息共享是通过共享特征与共享隐含层神经元实现的,所有任务都由某种结构相连接,通过同时优化多个损失函数,使网络的泛化能力更加强大。
对于本模型中使用的多任务损失函数来说,设X为输入样本,Y i为第i个任务的标签,其总损失可以表示为:
Loss total(X,Y1,k)=∑i=1Kλi Loss i(X,Y i)(2)式中:λi为损失Loss i的权重,是每个任务损失对于总损失所做贡献的衡量。默认情况下,当存在K个任务时,每个任务的损失占总损失的1K,但是每个任务在模型中的权重是不一致的,有些任务比较重要,有些任务只做辅助,因此对于每个任务的损失权重都需要单独确定,手动调节λi十分耗时,本文使用动态权重搜索,自动选择合适的λi。
w k(t-1)=Loss k(t-1)
Loss k(t-2)(3)
λk(t)=
K⋅exp()
w k(t-1)T
∑i exp()
w i(t-1)T
(4)
首先计算相对下降率w k,即每个子任务与前一轮epoch损失的比值,然后除以一个超参T,T越大代表各个任务间权重差异越小,最后进行exp映射后计算各个损失的占比。
对于实体识别和关系预测任务的损失函数,其中L ner为命名实体识别的损失,L re为关系预测的损失,总损
112
第13期
失函数的公式如下:L total =λ1L ner +λ2L re
(5)
2.2
预训练语言模型
词向量是将单词以低维稠密向量的形式表示,以便
后续任务的使用,例如传统的词向量word2vec 和glove ,它们是根据单词词义的分布假设,得到它的唯一映射向量。但这种方式忽视了一词多义的问题,没有考虑上下文的语义,因此属于静态词向量。2018年谷歌提出预训练语言模型BERT [8],在海量语料的基础上运用自监督方法为每一个单词学习一个特征表示,并且这种特征表示是上下文相关的,因此BERT 提供了一个供其他任务迁移学习的模型,可以根据具体任务进行微调或者作为特征提取器。
BERT 抛弃了传统的RNN 或CNN ,使用多层
Transformer 结构,Transformer 的本质是一个编码解码的过程,每一层都由自注意力(lf⁃attention )和全连接构成,如图1
所示。
图1自注意力结构
lf⁃attention 的公式为:
Attention (Q ,K ,V )=softmax
()
QK T
d k
V (6)
式中:
Q 代表选定单词的query 向量;K 代表其他单词的key 向量;
V 代表每个K 对于Q 的注意力评分。因此需要为每一个向量计算一个score =Q ⋅K ,为了保持梯度稳定,除以
d k 进行归一化,之后通过softmax 激活函数点
乘V 得到加权之后的评分。
对于每条样本的单词序列w 1,w 2,…,w n ,为了方便计
算,每个句子的长度均为固定的,即整个数据集中最长的那个句子长度,对于长度不一的句子,使用padding 处理补齐。对于一个包含n 个词的句子s 来说,
s ={w 1,w 2,…,w n },其中第i 个词的嵌入表示为w ei =w tei ⊕w i ⊕w pei ,w tei 为单词的嵌入表示,
w i 为段落嵌入,w pei 为位置嵌入。因此句子s 转化为向量表示后为s ={w e 1,w e 2,…,w en }。
2.3
图卷积神经网络
卷积神经网络(CNN )因其强大的特征提取能力被
广泛地应用于图像及自然语言任务中,但它的局限在于仅适用于欧氏空间,而在实际中涉及到许多非欧氏空间数据,因此可以使用图卷积神经网络(GCN )来提取空间特征。
疫情防控宣传标语由于非欧氏空间不存在平移不变性,因此在图上如何定义卷积是个问题,根据卷积定义的不同GCN 可分为基于谱分解和基于空域方法,基于谱分解的GCN 将输入信号x 变换到谱域中,在谱域中定义卷积核并计算,之后再逆变换到空域中,但缺点在于依赖拉普拉斯矩阵分解,时间复杂度较高,所以本文采用基于空域方法的GraphSage 算法。
GraphSage 算法[9]通过聚合一个节点的局部邻居节
点特征和结构特征从而得到这个节点的聚合特征,也就
是说GraphSage 得到的节点嵌入表示并不是全局的而是局部的。GraphSage 也改进了普通GCN 的节点间信息聚合方式,普通GCN 的隐层输出公式可以表示为:
H l +1=σ(A H l W l )(7)设节点数为n ,节点特征维度为m ,神经网络单元数
为p ,A 对图的邻接矩阵做了归一化处理,然后再乘以上一层输出H l 与权重W l ,则A 是一个n ×n 的矩阵,H l 为
n ×m 的矩阵,W l 为m ×p 的矩阵。根据式(7)可知,GCN
在信息聚合时是对节点的邻居特征相乘相加,这种方式在处理复杂情况时过于简单,GraphSage 算法在信息聚合时引入了聚合函数(Aggregate ),可以通过自己定义聚
合函数处理更复杂的情况。GraphSage 算法过程如下:
算法:GraphSage 节点嵌入向量生成算法
输入:图g (v ,e );输入向量{}x v ,∀v ∈V ;深度K ;权重矩阵
W k ,∀k ∈{1,2,…,K };激活函数σ;多个聚合函数AGGREGATE k ,∀k ∈{1,2,…,K };邻居采样函数N :v →2v
错字成语
输出:节点z v 的特征向量,∀v ∈V h 0v ←x v ,∀v ∈V ;
for k =1,2,…,K do :
for v ∈V do :
h k N (v )←AGG k ({h k -1
u ,∀u ∈N (v )});h k v ←σ(W k ⋅CONCAT (h k -1v ,h k N (v )));
End
胎动几个月开始
h k v ←h k v
h k
v
2
,∀v ∈V
End z v ←h K v ,∀v ∈V
其中:K 代表跳数,即节点在做信息聚合时经过的邻居
节点数。例如当K =5时,每个顶点在聚合过程中最多只会聚合其5跳范围内的邻居节点。在每一层循环中,对
于每个节点v 使用它上一层的隐含层表示h k -1
v
与当前层刘源,等:基于依存图卷积的实体关系抽取模型
113
现代电子技术
2022年第45卷
的邻居节点N (v )聚合作为当前层的特征,再与前一层的特征拼接后经过激活函数最终得到该层的特征向量。GraphSage 论文中的聚合函数有MEAN 、Polling 和
LSTM ,但是这些聚合函数都没有考虑到节点之间的语义关系,所以在聚合时可能会丢失重要的语义信息,考虑到词与词之间的语义关系会影响到最终词的特征表示,本文使用BERT 作为聚合函数,将节点的特征作为BERT 的输入,最终得到的输出向量融合了语义信息,使用该聚合函数得到的特征向量能够更好地为下游关系预测任务服务,使用BERT 聚合的隐含层向量如下:作文寒假
h k
v
←BERT (h
k -1v
,h k -1
u ),u ∈N (v )(8)
2.4
关系触发词
关系触发词指的是句子中代表着某种关系的语义
词或者语义短句,因此通过提取关系触发词,可以得到句子中大致存在的关系类型。
本文使用文献[10]提出的基于依存关系与词激活力的触发词提取方法,该方法认为核心触发词在实体对的依存路径上到两个实体的距离较小,并且触发词的位置位于实体对之间,所以可以通过依存距离和序列距离作为是否是触发词的关键依据。
依存距离的定义为单词节点到实体的最短路径跳数,计算每个节点到实体对的依存距离可以表示为:dd (v i ,(e 1,e 2))=
dd (v i ,e 1)⋅dd (v i ,e 2)
(9)
式中:
dd (v i ,e 1)和dd (v i ,e 2)分别代表单词v i 到两个实体e 1和e 2的依存距离。
序列距离是任意单词在序列中到实体单词的最短
跳数,对于单词序列S ={w 1,w 2,…,w n },设w k 为句子中的实体单词,那么任意单词w i 到实体w k 的序列距离为:
sd (w i ,w k )=|
|i -k (10)
得到序列距离和依存距离后,就可以定义单词的触发能力评分score (w i ),其计算公式如下:score (w i )=æè
çβdd (w i ,(e 1,e 2))max dd (w ,(e 1,e 2))+
ö
ø
÷(1-β)
sd (w i ,(e 1,e 2))max sd (w ,(e 1,e 2))pos (w i )(11)
式中:
max dd (w ,(e 1,e 2))和max sd (w ,(e 1,e 2))分别代表各个单词到实体对的依存距离和序列距离;
β为调节未知因素和依存距离因素在计算时的占比因子;pos (w i )为单词的词性得分,经过统计,触发词在动词和介词中的出现较为频繁,而触发词中出现频率越高的词其词性得分越低,反之得分越高。2.5
图卷积抽取模型
关系抽取问题可以看作一个多分类问题,其问题可以形式化如下:存在一个实体对空间X 以及固定的类别
集合L =(l 1,l 2,⋯,l j ),对于训练集D ,D ⊆X ,
每个关系可以用三元组表示为<e 1,r ,e 2>,目标是训练一个分类器C :
X →L ,对于给定的<e 1,e 2>∈X ,确定C (<e 1,e 2>)⊆L 。
首先采用预训练语言模型BERT 获取文本动态词
向量,表示作为BILSTM 的输入,并得到编码后的输出O 1,然后使用编码后的词向量和句子的依存句法树进行
建图,由于依存关系树为有向图,因此通过双向
GraphSage 提取其结构特征,GraphSage 的节点输出特征为O 2。对于实体识别任务,将O 1通过CRF 层进行标注。
而对于关系抽取任务,考虑到关系重叠问题,因此将该任务分为两部分:
1)将实体识别阶段得到的实体两两组合,其依存
图编码特征,分别预测其所属关系类型;
2)对依存图中的每一个节点判断其是否属于关系
触发词,若为关系触发词,则将该词的特征与实体对特征共同构建实体关系图,该关系图对于每一个关系集合中存在的关系都会构建一个三元组,然后判断每个实体
对在该关系下的关系得分,最后将抽取出的关系三元组加入第一部分中预测的三元组集合。
本模型的第一级关系预测任务只能够解决单实体重叠问题,无法解决实体对重叠问题,因为此时无法知道一个实体对对应有几种关系,因此引入了第二级关系抽取,第二级关系预测专注于实体对重叠问题。因此本文模型对于重叠关系抽取任务有着非常大的提升。
模型的具体结构如图2
难过的近义词所示。
图2图卷积抽取模型结构图
1)首先使用BERT 对原始语料处理,获取每个词的词嵌入表示,
w ei =w tei ⊕w i ⊕w pei 。2)将嵌入向量通过BILSTM 网络后,得到每个隐藏
114
第13期
单元的表示{h 0,h 1,h 2,⋯,h n },考虑前后两个方向的时序特征,因此h t =h
t +h t 。3)对原始语句进行依存句法分析,获得其依存句法树及邻接矩阵。
4)使用GraphSage 算法对依存句法树进行信息聚
合,使用BERT 作为聚合函数,将节点的特征作为BERT 的输入,最终得到每个单词节点的隐含层特征向量h k v 。5)进行命名实体识别任务,在BILSTM 层后加入
我英文怎么说
CRF 层,对于CRF 层的输入序列S ={s 1,s 2,…,s L },其对应的实体标签为Y ={y 1,y 2,…,y n },则输入序列的CRF 概率分布通过以下公式计算:
score (S ,y )=∑i =0
L
A y i
,y
i +1
+∑i =0
L F S ,y
i
(12)P ()|y S =
exp ()
score (S ,y )∑y ′
exp ()
score (S ,y ′)(13)
式中:
A y i
,y i +1
表示从实体标签y i 转移到y i +1的参数;F S ,y i
表示第i 个单词的标签为y i 情况下的得分。
6)经过依存图编码过后句子的特征向量为H =
{h 1,h 2,…,h n },
通过实体识别得到的实体集合为E ={e 1,e 2,…,e k },然后对实体集合E 中的元素两两组合得到
实体对集合EP ={<e 1,e 2>;<e 1,e 3>;…;<e k -1,e k >},对于实体对集合中的每一个实体,都对应特征向量集合
H 中的特征,因此可以得到每一个实体对的特征向量EPH ={h 1⊕h 2,h 1⊕h 3,…,h k -1⊕h k },之后对每一个实体
对特征输入softmax 分类器预测其所属类别,其公式为:
y =softmax ()
MLP (EPH )(14)
此阶段为第一级关系抽取。
7)通过抽取关系触发词,同第一步中的实体词,为
每一个关系建立实体关系图,计算每一组实体对在该关系下的关系得分。如果关系成立将关系三元组加入第一级抽取的关系集合,此阶段为第二级关系抽取。关系得分公式如下:
S (w 1,r ,w 2)=W 3r ReLU (W 1r h w 1⊕W 2r h w 2)
(15)
3
实验方法与分析
3.1如烟歌词
数据集介绍
NYT 数据集是Ridel [11]在2010年发布的一个适用于关系抽取的数据集,该数据集中的数据来源于纽约时报(New York Times ),其中命名实体部分的标注是通过Stanford NER 工具结合Freeba 知识库进行标注,而关系部分则是通过参考Freeba 数据库中的关系得到的。但是原始NYT 数据集样本数非常大,同时大部分样本的关系都为NA ,因此本文使用NYT11数据集。NYT11
数据集相对较小,仅包括24种关系。NYT11数据集的统计信息见表1。
表1数据集统计信息
数据集信息关系种类训练集大小训练集三元组测试集大小测试集三元组
NYT1124
5835698393499882263.2
实验设置
本节通过实验对比了一些基线模型与本文提出的
基于依存图卷积的实体关系抽取模型之间的性能差别,来证明本文提出模型的有效性。使用了精确率(Precision )、召回率(Recall )、F 1值(F 1Score )这三个指
标来评估模型的泛化能力强弱。
其中基线模型选取了以下几个代表性模型:1)Tree⁃LSTM [12]:首次提出使用双向树形LSTM 来
捕获目标句子的依存结构,使得特征中蕴含句法结构特征。
2)Novel Tagging [6]:首次提出将关系抽取问题转化为标注问题,同时对实体及关系进行标注,标注方式采用BIES 方式。
3)MultiDecoder [13]:提出了一个基于复制机制的关系抽取模型,使用多个解码器进行解码,因此可
以端到端的方式抽取多个关系三元组。
实验在Ubuntu 18.04环境上进行,采用PyTorch 深度学习框架,集成环境为Anaconda3。系统硬件配置如下:CPU 为AMD Ryzen 3600x ,内存为32GB DDR43200,GPU 为NVIDIA RTX2080Ti 。
对于BILSTM 和GraphSage 模型均添加dropout 层,通过训练时随机选取一些神经元失活,来达到防止模型过拟合的效果。模型的具体参数见表2。3.3
实验结果与分析
本文的实验结果如表3所示。
从实验数据中可以看出,本文模型的F 1值最高。基于Novel Tagging 的模型有着较高的精确率,但是由于其标注策略,导致完全无法提取重叠三元组,因此其召
回率在几个模型最低;而基于Tree⁃LSTM 的模型善于捕获序列特征,同时使用依存树建模的树型LSTM 还引入了句法结构特征,因此在文本数据里表现的要更好一些;MultiDecoder 使用复制机制,在解码器解码三元组时使用几个不同的解码器,相较于上两个模型能够抽取更多的关系,所以其F 1值也有较大的提升。最后是本文模型,可以看到本文模型在召回率上相比其他模型有着
刘源,等:基于依存图卷积的实体关系抽取模型115