第 22卷第 4期2023年 4月
Vol.22 No.4
Apr.2023
软件导刊
Software Guide
基于实体对分类的联合抽取模型
朱天佑1,王路涛1,李博1,边靖宸1,陈振宇1,
李继伟1,陈思宇1,刘普凡1,雷晓宇2,邓艳红2
(1.国家电网有限公司大数据中心,北京 100053; 2.北京中电普华信息技术有限公司,北京 100089)
摘要:从非结构化文本中提取实体及关系能力对自动维护大规模知识图谱至关重要。然而,现有联合提取方法无
法较好地处理三元组提取存在的实体对重叠(EPO)、单个实体重叠(SPO)等问题。为此,提出基于实体对分类的联合
抽取模型,利用分类后的头尾实体边界跨度直接解码事实三元组。首先,模型使用预训练语言模型编码文本,获得文
本token嵌入表示;然后,枚举、整合token对,并使用softmax预测token对的标签;最后,基于关系与标签预测的头尾实
体对token跨度解码出相应的事实三元组。实验表明,该方法可充分捕捉三元组各元素的相互依赖关系,并同时预测
出实体对及其关系,在解决关系重叠、三元组元素依存等问题上效果良好。模型在NYT数据集上的综合性能指标
(F1-score)达到92.1%,验证了其对实体关系联合抽取任务的有效性。
关键词:联合抽取;实体关系提取;三元组;token对
DOI:10.11907/rjdk.222271开放科学(资源服务)标识码(OSID):
中图分类号:TP391.1 文献标识码:A文章编号:1672-7800(2023)004-0001-07
Joint Extraction Model Based on Entity Pair Classification
ZHU Tian-you1, WANG Lu-tao1, LI Bo1, BIAN Jing-chen1, CHEN Zhen-yu1,
LI Ji-wei1, CHEN Si-yu1, LIU Pu-fan1, LEI Xiao-yu2, DENG Yan-hong2
(1.Big Data Center of State Grid Corporation of China, Beijing 100053, China;
2.Beijing China-Power Information Technology Co., Ltd, Beijing 100089, China)
Abstract:The ability to extract entities and relationships from unstructured text is crucial for automatically maintaining large-scale knowl‐edge graphs. However, existing joint extraction methods cannot effectively handle the problems of entity pair overlap (EPO) and single entity overlap (SPO) in triplet extraction. To this end, a joint extraction model based on entity pair classification is proposed, which directly decodes fact triplets using the boundary span between the classified head and tail entities. Firstly, the model uses a pre trained language model to en‐code text and obtain a token embedded representation of the text; Then, enumerate and integrate token pairs, and use softmax to predict the labels of token pairs; Finally, based on relationship and label prediction, the head and tail entities decode the corresponding fact triplets for the token span. Experiments have shown that this method can fully capture the interdependence of various elements in a triplet and predict enti‐ty pairs and their relationships at the same time. It has shown good performance in solving problems such as relationship overlap and triplet ele‐ment dependency. The comprehensive performance index (F1 score) of the model on the NYT dataset reaches 92.1%, verifying its effective‐ness in entity relationship joint extraction tasks.
Key Words:joint extraction; entity relationship extraction; triples; token pairs
0 引言
随着国家电网有限公司数字化转型的不断深入,从海量业务数据中提取有效信息是强化数据赋能业务的关键[1]。实体关系三元组提取可从给定文本中提取(头实体、关系、尾实体)形式的所有关系三元组,其提取能力对知识挖掘、信息提取、图谱的构建与自动维护至关重要。
收稿日期:2022-10-27
基金项目:国家电网有限公司大数据中心自建科技项目(SGSJ0000YFJS2200047)
作者简介:朱天佑(1994-),男,博士,国家电网有限公司大数据中心工程师,研究方向为电力大数据、人工智能、AIGC等;王路涛(1984-),男,博士,国家电网有限公司大数据中心工程师,研究方向为人工智能、机器学习与数据挖掘等;李博(1982-),男,硕士,国家电网有限公司大数据中心高级工程师,研究方向为企业数字化及电力人工智能。
2023 年
软件导刊
目前,pipeline与联合抽取方案被广泛应用于实体关系抽
取任务。随着各种基线模型被陆续提出,三元组抽取能力
与准确度不断提升。
1 相关研究
(1)pipeline方案在实体关系抽取研究初期,研究人员
尝试了分而治之的策略。首先提取给定文本的实体,即命
名实体识别(Named Entity Recognition, NER)[2]子任务,然
后确定实体间的关系,即关系分类(Relation Classification,
RC)[3]子任务。经典的NER模型采用线性统计策略,例如
隐马尔可夫模型(Hidden Markov Models, HMM)[4]、条件随
机场(Conditional Random Fields, CRF)[5]等。后期,Lample 等[6]提出循环神经网络与条件随机场相结合的结构,Chiu 等[7]采用BiLSTM-CNN的架构,其已被成功应用于NER子任务。
早期,关系分类任务大多基于统计方法。例如,Kamb‐hatla[8]提出一种使用最大熵模型结合不同的词汇、句法和语义特征构建分类模型。Zhou等[9]采用支持向量机(Sup‐port Vector Machine, SVM)进行关系分类。后期,采用深度学习方法。例如,Santos等[10]提出CR-CNN模型,该方法将每个词分为词向量和位置向量两部分,经过卷积获得整个句子的向量表示,在SemEval-2010 Task 8数据集上F1-score为84.1%,优于当时最好的非深度学习方法。
虽然,pipeline方案具有易于执行、组件灵活配置等优点[11],但忽略了实体和关系间相互依存、不可分割的事实,可能会导致最终识别结果出现误差传播、泛化性能差等问题。
(2)联合提取方案。实体关系联合提取方法建立了任务间的关联,在一定程度上规避了基于pipeline方法存在的问题,引起了国内外学者的广泛关注。根据不同的特征提取方式,联合抽取方法可分为基于特征工程和基于神经网络的联合抽取。基于特征工程的联合抽取需要根据数据特点设计特征。Kate等[12]提出一个卡片金字塔图表示文本中的实体及其关系。Li等[13]提出一种基于分段的解码器,以增量方式联合提取实体及其关系。虽然在简单文本抽取中基于特征工程的抽取方法取得了不错的效果,但该方法需要依赖其他自然语言处理(Natural Language Pro‐cessing, NLP)工具,人工成本消耗巨大,并需要具备大量的领域专业知识。于是,深度学习工具被引入联合抽取模型中,通过基于数据驱动的深度学习方法规避了复杂的人工抽取特征。
基于神经网络的联合抽取方法自动抽取数据包含的特征,Miwa等[14]首次采用基于神经网络的实体关系联合抽取方式,通过共享序列层和词嵌入层信息将实体对映射到对应的关系,实现了两个子任务间的交互,但难以高效解决关系重叠等问题,如图1所示。
关系重叠包含实体对重叠(Entity Pair Overlap, EPO)和单个实体重叠(Single Entity Overlap, SPO)。目前,解决关系重叠类型的三元组抽取,提升模型性能是研究重点。
Yuan等[15]采用基于关系的注意力机制优化句子特征表示,将关系提取映射到实体对的方式实现联合抽取,在一定程度解决了关系重叠问题,但基于关系识别出实体的难度较大,不利于泛化。随着预训练语言模型的普及,较新的研究方法包含基于Bert编码器的级联模型[16]。Wang 等[17]考虑了联合提取中token对链接的问题,提出一种新的握手token方法,但解码方式设计复杂。Zheng等[18]提出将任务分解为关系判断、实体提取、主客对齐3个子任务,但不可避免会产生误差传播问题。Shang等[19]提出单模块单步框架优化网络结构,但仍然存在训练耗时长、占用内存较大的问题。
综上,尽管现有方法极大提升了实体关系的交互程度,但忽略了三元组提取过程中各元素的紧密相关度,并在处理关系重叠问题时召回率较低。针对上述联合抽取模型存在的关系重叠、模型性能差、模型结构复杂等问题,本文从新视角出发,尝试从分类后的头尾实体对跨度中直接解码出事实三元组。与文献[17]采用的基于预测实体引导的复杂解码器不同,直接对三元组整体结构进行建模,专注于从文本中提取实体与关系,以充分捕捉三元组各元素间的依赖关系,而非采用传统方法中基于某个元素来提取出其他元素的方式。
本文模型将初始文本送入预训练语言模型Roberta,获取文本token(经语言模型分词处理后的单词标记)嵌入表示。然后,基于关系枚举文本token,获得文本的token对序列,并使用文本卷积神经网络和多层感知机整合token对序列,获得
其嵌入表示。接下来,采用分类器预测文本头尾实体的token对标签。最后,基于关系和头尾实体的to‐ken对跨度解码出事实三元组。该模型在基于远程监督方法生成的公共数据集NYT上进行实验,取得了良好效果,其综合性能指标F1-score达到92.1%,并且文本中包含的实体嵌套、关系重叠和多三元组情况准确度较高,证明了
该框架在应对关系重叠三元组等复杂场景时的有效性。
Fig. 1 Example sentences with overlapping relationships
图1 关系重叠例句
··2
第 4 期朱天佑,王路涛,李博,等:基于实体对分类的联合抽取模型
2 模型构建
基于实体对分类的联合抽取模型从文本分类后的头尾实体token对跨度中直接解码出事实三元组,该模型由4部分组成为:①文本词嵌入层,通过预训练语言模型Ro‐berta编码得到输入文本S={w1,w2,…w n}中单词w i的嵌入表示;②枚举并整合token对表示层,将文本词嵌入层获得的token嵌入两两组合成(v i,v j),重新编码token对,并为每种关系构建一组token对表示;③分类层,对每个类别的token对嵌入表示进行标签预测,确定每种关系中每组to‐ken对的所属类别;④解码层,根据分类层中对token对所属类别的判断及token对的分类标签,解码出事实三元组。模型总体结构如图2所示。
2.1 任务定义
给定一条文本S={w1,w2,…w N},N表示该文本共有N个词语;预定义关系表示为R={r1,r2,…r K},K表示共有K种预定义关系。
实体关系联合抽取的目标是识别文本S中所有可能的事实三元组T(S)={(h i,r i,t i)L i=1,h i,t i∈E,r i∈R},其中h i表示文本S的头实体,t i表示文本S的尾实体,E表示实体集,r i∈R表示预定义的关系,L表示文本S中三元组的个数。
2.2 文本词嵌入层
模型最底层为词嵌入层,该层将输入的文本词汇编码为嵌入向量,本文使用预训练语言模型Roberta[20]进行编码。模型输入序列S={w1,w2,…w N},由于Roberta对单词使用BPE标记器进行标记,可能会将一个完整的单词切分为几个token片段,因此文本S输入Roberta后将得到token 级别的嵌入向量表示,具体数学表达式为:
v
i=Roberta(w i)(1)其中,v i∈R d,d为经过Roberta表示后获得的token级别的嵌入向量维度。
2.3 基于关系的枚举token对表示层
使用文本编码器Roberta将文本S编码为token嵌入后,将每条文本的token两两组合,形成token对。从文本内容的第一个token枚举到最后一个token,以获得文本中所有token的两两组合,形成token对,即(v i,v j)m i,j=0。其中,m表示文本S的token数量,v i、v j表示token。
然而,真实的组合过程需将token对应的嵌入两两组合,以获得token对的长度为m2,因此对内存空间消耗较高。本文模型采用向后组合的方式,即token对的组合只需要后一个token的索引位于前一个token索引的后方即可,通过(v i,v j)m i,j=0,j>i表示一组token对,得到组合token 对的长度为
()
m+1
李博
2m,其中m表示一条文本S中的token 数量。如图3所示,该图展示了文本首先被Roberta划分为token后,被两两组合为token对的过程。
接下来,将token对的嵌入表示相连接,首先采用文本卷积提取的token嵌入连接后特征,然后利用多层感知机(Multi-Layer Perceptron, MLP)方式重新整合嵌入表示。
Fig. 2 Network structure of joint extraction model based on entity pair classification 图2
 基于实体对分类的联合抽取模型网络结构
Fig. 3 Token pair combination form
图3 token对组合形式
··3
2023 年
软件导刊v i ,j =∅(W v (Conv
([
v i ;v j
])
)+b v
)
(2)
其中,∅表示激活函数,W v 表示可训练的参数矩阵,Conv 表示采用卷积,b v 表示可训练的偏置。经过上述训练
得到token 对的嵌入表示。
本文模型通过基于关系和边界token 确定实体,因此将每种关系得到的组合token 对复制两份,一份代表“HB-to-TB ”,另
一份代表“HE-to-TE ”。其中,HB (Head Entity to Begin Token )表示头实体的开始token ,TB (Tail Entity to Begin Token )表示尾实体的开始token ,这一组token 对嵌入表示将被用来预测每种关系中头尾实体对应的Begin to‐kens 。例如,图3中('The '+'Ġsocial ')('The ','Ġenergy ')是关系'guarantee '和'provide '的“HB-to-TB ”矩阵将要预测输出的内容。“HE-to-TE ”中HE (Head Entity to End To‐ken )表示头实体的结束token ,TE (Tail Entity to End Token )表示尾实体的结束token ,这一组token 对嵌入表示将被用来预测每种关系中头尾实体对应的End tokens 。例如,图3
中('Ġgrid '+'Ġdevelopment ')('Ġgrid ','Ġelectricity ')为关系'guaranentee '和'provide '的“HE-to-TE ”矩阵将要预测输出的内容。
2.4 分类层
经过基于关系的token 对表示可得到K ×2个组合to‐
ken 对表示,其中K 表示预定义的关系数量,直观而言就是枚举所有可能的(
v i ,r k ,v j )
,j >i 三元组组合。将这些组合token 对送入两个分类器,如式(3)、式(4)所示。通过一个分类器分类“HB-to-TB ”矩阵,另一个分类器分类“HE-to-
TE ”矩阵,使用分类器获得“HB-to-TB ”和“HE-to-TE ”矩阵的token 对标签。
P begin r v =Softmax (W (
v i ,r k ,v j )+b
)
(3)P end r k v
i ,j
=Softmax (W (
v i
,r k
,v j
)+b )
(4)
其中,W 、b 表示可训练的权重,P begin r k v i ,j
表示v i ,j 在关系r k
下是实体开始token 对的概率,P end r k v i ,j
表示v i ,j 在关系r k 下是
实体结束token 对的概率。
由于上述采用的是向后组合token 对的方式,因此会发生预测头实体位于尾实体后方的情况,受联合预测模型编码方式启发[17],本文模型将token 对标签设计为0、1、2,如图4所示。
以“HB-to-TB ”的token 对分类为例,0表示该token 对不属于特定关系下头尾实体对的开始token 对;1表示该to‐ken 对属于特定关系实体对的开始token 对;2表示该token 对属于特定关系实体对的开始token 对,但该token 对中头实体位于文本S 后方,尾实体位于文本S 前方。图4中('Ġsocial ','The ')并不存在图3描述的token 对组合,因此token 对“HB-to-TB ”矩阵的('The ','Ġsocial '),在contains 关系下对应位置标签被预测为2,通过该策略使得其在
(v i
,r k
,v j
),j >i 的情况下仍能枚举到头实体位于尾实体
后方。
2.5 解码层
解码层根据分类层预测的token 对标签及特定关系进
行解码。具体的,由于每种关系均会被预测出两组矩阵“HB-to-TB ”“HE-to-TE ”,因此根据“HB-HE ”的token 跨度解码出
头实体,根据“TB-TE ”的token 跨度解码出尾实体。此外,提取该关系类型便可解码出对应的事实三元组,具体解码策略步骤如图5所示。
由图5可见,该解码策略可自然处理具有关系重叠情况的三元组。具体的,针对实体对重叠情况,对于不同关系预测出相同的“HB-to-TB ”和“HE-to-TE ”矩阵标签解码出实体对相同、关系不同的三元组。针对单个实体重叠情况,当两个三元组包含相同关系时,针对同一种关系预测的“HB-to-TB ”“HE-to-TE ”矩阵标签token 对中'HB ''HE '相同,或'TB ''TE '相同,同样可解码出正确的三元组,
Fig. 4 Examples of classification labels
图4 分类标签示例
·
·4
第 4 期朱天佑,王路涛,李博,等:基于实体对分类的联合抽取模型该方式可能会发生预测实体冗余的情况。针对头尾实体重叠情况,例如(Bejing city , city name , Bejing ),虽然预测出的“HB-to-TB “相同、“HE-to-TE “不同,但仍能被正确解码。
2.6 损失函数
由于该模型需要训练两个分类器,一个预测实体对的开始token ,另一个预测实体对的结束token ,因此损失通常由这两部分构成,他们均采用交叉熵方式计算损失训练损
失函数。
L =-(
α∑i =1
K
logP (
)pred begin (
)
v i ,r k ,v j  == target begin (
)v i ,r k ,v j
+
β∑i =1
K
logP (
)pred end  (
)
v i ,r k ,v j == target end  (
)v i ,r k ,v j
)(5)
其中,Pred begin (
v i ,r k ,v j )
、Pred end (v i ,r k ,v j )
分别表示预测
实体开始token 对和结束token 对,target begin (v i ,r k ,v j )
、target end (v i ,r k ,v j )
分别表示实体真实的开始token 对和结束
token 对。pred begin (v i ,r k ,v j ) == target begin (v i ,r k ,v j )表示预测
的实体开始token 三元组与目标开始token 三元组完全相等,pred end
(v i
,r k
,v j
) == target end
(v i
,r k
,v j
)表示预测的实体结
束token 三元组与目标结束token 三元组完全相等,-∑i =1
K
logP ()pred begin ()v i ,r k ,v j  == target begin (
)v i ,r k ,v j
表示
实体开始token 预测的交叉熵损失,-∑i =1
K
logP (
)
pred end ()v i ,r k ,v j  == target end (
)v i ,r k ,v j
表示实
体结束token 预测的交叉熵损失。两种损失通过系数α、β求和,得到模型总体损失。为简化计算,实验期间α、β值均被设置为0.5。
3 实验结果与分析
3.1 数据集与评价指标
本文选用由远程监督产生的公共数据集NYT [22]验证
模型的有效性,该数据集包含56 195个训练文本,5 000个验证文本,5 000个测试文本。由于NYT 数据集中文本通常包含多个关系三元组和重叠模式,因此非常适合评估模型的提取能力。
本文根据关系三元组的不同重叠模式,将NYT 数据集分为正常数据(Normal )、实体对重叠数据(EPO )和单个实体重叠数据(SEO ),如表1所示。
表2展示了NYT 测试集中三元组数量统计。本文遵循实体关系联合抽取模型常用的评价指标,采用标准的微精确率(Micro Precision )、召回率(Recall )和F1-score 作为评估指标量化模型优劣。
3.2 实验环境与参数设置
本文实验在显存为32GB 的Tesla V100 GPU 上训练,基于pytorch 1.12.0机器学习库。预训练语言模型使用Huggingface transformers 库中的Roberta (Roberta-base )获取词嵌入表示,生成词嵌入维度为768维。训练集batch size 大小设置为24,学习率设置为5e-5,参数通过Adam 算法优化,并使用余弦退火方法调整学习率,最大长度设置为80。模型共训练了50个epoch ,保存在验证集上F1-score 最高的模型,在测试集上测试输出结果。
3.3 结果评估与分析
为验证本文模型的有效性,将其与TPLinker 模型[17]、
CasRel 模型[21]、CopyRE 模型[22]、GraphRel 模型[23]等4种基线模型进行比较。目前,最新的研究方法为PRGC [18]模
型,研究过程中尝试复现该模型,但由于其占用系统内存过大,未能较好复现出该模型的应有效果,虽然该模型虽取得了最好效果,但内存量占用过大、训练效率较低,因此未作为本文的比较模型。上述基线模型在NYT 数据集上的结果均来自官方结果,如表3所示。
由此可见,本文模型相较于GraphRel 、CasRel 、
CopyRE ,在精确率、召回率和F1-score 方面均存在较大提升。具体的,在精确率方面分别提升30.2%、27.3%、1.5%;
在召回率方面分别提升36.5%、33.1%、3.6%;在F1-score 方面分别提升33.4%、30.2%、2.5%。
本文模型相较于TPLinker 模型,在召回率、F1-score 方面分别提升0.6%、0.3%。尽管TPLinker 捕获了三元组依赖关系,在精确率上略高于本文模型,
但存在解码策略设计
Fig. 5 Decoding strategy steps
图5 解码策略步骤
Table 1 Dataset information
表1 数据集信息
NYT 数据集全部数据正常数据实体对重叠
单个实体重叠
训练集56 19537 0139 782
14 735测试集5 0003 266978
1 297Table 2 Statistics of the number of triads in the NYT test set
表2 NYT 测试集三元组数量统计
NYT 测试集
数量
N=1
3 244N=2
1 045N=3312
N=4291
N>=5108
·
·5