面向领域实体关系联合抽取的标注方法

2021-11-05 01:29吴赛赛梁晓贺谢能付周爱莲郝心宁
计算机应用 2021年10期
关键词:向量标签实体

吴赛赛,梁晓贺,谢能付,周爱莲,郝心宁

(中国农业科学院农业信息研究所区块链农业应用研究室,北京 100081)

0 引言

文本标注是基于深度学习的命名实体识别(Name Entity Recognition,NER)和关系抽取(Relation Extraction,RE)等自然语言处理(Natural Language Processing,NLP)领域的重要支撑,也是知识图谱构建等工作的重要下游任务。垂直领域的NER 和RE 任务由于其专业性、复杂性,主要以人工标注为主,存在效率低下、耗时耗力、错误传播、实体冗余等问题,因此,如何提高文本标注的效率和准确率成为领域自然语言处理研究的重点。

垂直领域文本是对特定领域知识或特定信息的具体描述和记录,通过对一些医疗、农业、公安等领域文本的观察分析,发现一般性共同特点:1)文本中一实体同时与多实体之间存在重叠关系。一条数据围绕一个特定实体(主实体)展开具体描述,比如一条医疗数据具体描述一种疾病的临床症状、鉴别诊断、药物治疗、手术治疗等信息,一个疾病实体同时与手术、药剂等实体存在关系;一条农业病虫害数据描述症状、病原、传播途径、防治方法等信息,一个病虫害实体同时与病原、农药等实体存在关系;一条公安数据描述一个罪犯的相貌特征、作案经过、可能去向等信息,一个罪犯同时与受害者、地点等实体存在关系。2)实体分布密度高,同一实体交叉生成多关系对,且存在关系的两个实体之间距离较长。言简意赅的领域文本中分布着高密度的实体,并且由于是对一个特定实体展开的具体描述,因此这一实体会同时与多个实体之间生成对应关系,且存在关系的两个实体不一定存在于同一个句子中。句中的高密度实体分布看似能够促进NER 模型拟合,但同一实体多次参与不同类型关系对的组成,在有限的标注信息支撑下,一旦模型缺乏句子级别语义信息的表征能力,将容易导致对交错关系的欠拟合,且距离较长的两个实体之间的关系较难抽取,影响关系抽取性能[1]。3)实体间关系复杂。如农业病虫害文本中经常同时出现防治药剂和禁用药剂实体,实体名称相似度极高,但隶属的关系类型完全不同甚至是互斥的,在一定程度上加大关系抽取的工作难度。

基于以上领域文本特征及考虑,本文提出一种面向领域重叠实体关系联合抽取的“主实体+关系+BIESO”(Main-Entity+Relation+BIESO,ME+R+BIESO)标注模式,直接对三元组建模,提升实体关系标注效率,减少错误传播和实体冗余。本文的主要工作如下:

1)针对实体分布密度高、关系重叠等领域文本特征,提出一种新的实体关系标注方法,将实体关系联合抽取转化为序列标注问题。仅标注存在关系的实体对,标签即为实体间的关系类型;对实体和关系进行同步标注,可减少实体冗余性和解决复杂重叠关系提取。

2)针对实体对之间距离长的问题,在端到端联合学习模型中加入来自转换器的双向编码器表征量(Bidirectional Encoder Representations from Transformers,BERT)预训练语言模型,不仅能提取词级特征,还能加强句子级特征提取。

1 相关工作

传统的实体关系抽取流水线方法[2-4]将NER 和RE分成两个独立的子任务,即首先对实体进行标注,利用NER 模型识别出文本中的实体,再对实体对之间的语义关系进行标注和分类,虽然更加灵活且易于建模,但将两个任务分割的方式存在一些问题:1)错误传播。NER 任务的错误会影响RE 任务的性能。2)忽略两个子任务之间的联系,丢失信息,影响整体抽取效果。3)实体冗余。若识别到的一些实体之间不存在语义关系,无法自动剔除冗余实体对,提升错误传播。

于是近年来实体关系联合学习方法成为主流,根据建模对象不同,联合学习方法分为参数共享和序列标注两类子方法。参数共享方法是分别对实体和关系进行建模,通过共享联合的编码层进行联合学习,实现两个子任务之间的交互[5-6],但仍存在无法剔除冗余实体信息的问题。因此,2017年Zheng等[7]提出一种特殊的标注方案,将实体关系联合抽取问题转化为序列标注问题,虽然能同时提取和利用实体与关系之间的深层关联,但并不能解决重叠关系问题,且可能会导致在处理具有重叠关系的句子时召回率较低。2018 年,Zeng等[8]首次意识到重叠三元组问题,也提出一些新颖的标注方案,将sequence to sequence 学习与复制机制结合使用,尽管可以提取重叠关系,但其模型无法识别多字实体。2019 年Dai等[9]建立了一个大模型用来填充一个序列标注列表,但标注效率低,且只能预测一个实体对的单一关系类型。

基于以上,本文结合文献[7-9]的文本标注思想,提出面向领域重叠实体关系联合抽取的“ME+R+BIESO”标注方法。首先将文本描述的特定实体标注为固定标签ME;然后仅标注文本中与ME 存在关系的实体,并将标签设置为两个实体间的关系类型,对实体和关系进行同步标注,通过标签匹配直接获取三元组,在有效提升标注效率的基础上实现实体关系的联合抽取和重叠关系提取。为了促进长距离实体对之间的关系抽取,利用BERT-双向长短期记忆网络(Bidirectional Long Short-Term Memory,BiLSTM)+条件随机场(Conditional Random Field,CRF)端到端模型进行实验,实验结果表明基于该标注方法和模型的实体关系抽取效果有了明显提升。

2 标注方法和端到端模型

2.1 标注方法

在一条数据仅围绕一个特定实体ME 展开描述的领域文本上进行实体关系抽取,本质上只需要抽取与ME 存在关系的其他实体{E1,E2,…,Ei,…,En}以及两个实体之间的关系类型{R1,R2,…,Ri,…,Rn}。为了保证数据的领域封闭性,根据领域数据特征及业务需求,首先对关系集合R进行预定义,只标注和提取存在属于集合R 中关系的实体对,减少实体冗余性。

基于这样的预设,本文提出面向领域实体关系联合抽取的“ME+R+BIESO”标注模式,首先将特定实体标注为一固定标签ME,当文本中某实体Ei与实体ME之间存在关系Ri,则直接将Ei的标签设置为Ri,并用“BIESO”标志来表示实体Ei中字符的位置信息,其中“B-Ri”表示实体Ei的首字符,“I-Ri”表示实体Ei的内部字符,“E-Ri”表示实体Ei的尾字符,“S-Ri”表示实体Ei为单字符,无关字符则用“O”来表示。在这样的标注方式下,每匹配到一条数据中标签ME 和同一关系Ri的完整“BIE”或“S”集合,便取出集合所对应的实体ME 和Ei,通过标签匹配和映射,形成一个(ME,Ri,Ei)三元组。

以农业领域描述“小麦条锈病”的数据文本为例,标注示例如图1 所示,首先将“小麦条锈病”标注为固定标签“ME”,在文本中,“黄疸病”与“小麦条锈病”之间存在关系“别名”,则将“黄疸病”标注为“别名”的代表标签“ON”(Other_Name);“河北”与“小麦条锈病”存在关系“分布区域”,则将“河北”标注为代表“分布区域”的标签“LOC”(Location)。当匹配到标签“ME”和“ON”的“BIE”集合,即抽取到(ME,ON,黄疸病),通过标签映射,获得三元组(小麦条锈病,别名,黄疸病);当匹配到标签“ME”和“LOC”的“BE”集合,即抽取到(ME,LOC,河北),获取三元组(小麦条锈病,分布区域,河北)。直至匹配到下一个标签“ME”,则说明上一个实体ME 对应的三元组全部抽取完成。

图1 “ME+R+BIESO”标注策略示例Fig.1 “ME+R+BIESO”annotation scheme example

此标注方法在预定义关系集合R 的基础上,只关注两个实体之间的关系类型Ri而无需关注实体Ei所属的实体类型,在一轮标注过程中即同时对实体和关系进行标注,不仅提高标注效率还减少实体冗余和错误传播;但该标注方式也存在一定的局限性:仅考虑一对多的重叠关系情况,对于多对多的重叠关系将成为未来的探索。

2.2 端到端模型

在完成2.1 节的实体关系标注后,将数据送入BERTBiLSTM+CRF 端到端模型进行训练学习,并对每个字符的标签进行预测。

图2 为模型整体框架,主要包含3 个部分:首先,通过BERT 预训练语言模型进行字编码,提取文本特征,生成字向量;然后,将生成的向量作为双向长短期记忆网络层的输入,进行双向编码,从而实现对标签序列的有效预测;最后,利用条件随机场对BiLSTM层的输出结果进行解码,通过训练学习得到标签转移概率和约束条件,获得每个字符所属标签类别。

图2 BERT-BiLSTM+CRF模型框架Fig.2 Framework of BERT-BiLSTM+CRF model

2.2.1 BERT预训练语言模型

在NLP 任务中,需要通过语言模型将文字转化为向量形式以供计算机理解,传统的语言模型如Word2Vec[10]、GloVe[11]等单层神经网络无法很好地表征字词的多义性,因此Devlin等[12]于2018 年10 月提出了BERT 预训练语言模型,在11 项NLP任务中刷新了最佳成绩。在整体模型框架中,BERT主要负责将原始输入转换为向量形式,然后将向量输入到BiLSTM层学习上下文特征。BERT 是第一个用于预训练和NLP 技术的无监督、深度双向模型,它不再是简单地将从左到右或从右到左的句子编码拼接起来,而是创新性地使用遮蔽语言模型(Masked Language Model,MLM)和下一句预测两个任务进行预训练,使得通过BERT 得到的词向量不仅隐含上下文词级特征,还能有效捕捉句子级别特征[13]。

BERT 的关键模块是双向Transformer 编码结构,编码器结构如图3 所示,在Transformer 编码单元中,最重要的部分就是自注意力机制,它主要是计算一个序列中每个单词与所有单词之间的相互关系,然后利用这些关联程度调整权重系数矩阵来获取词的表征:

图3 Transformer编码器结构Fig.3 Transformer encoder structure

其中:Q为查询向量,K为键向量,V表示值向量,dk表示Embedding维度。

由于自注意力机制只能捕捉一个维度的信息,因此Transformer 采用多头注意力机制通过h次线性变换对Q、K、V进行投影,最后将h个Attention矩阵拼接起来,计算公式如式(2)~(3)所示:

由于自注意力机制无法捕获词的顺序信息,同时为了区分前后的两个句子,BERT 模型引入了位置向量和段向量,它的输入序列中每个词都是词向量、位置向量和段向量的总和,通过深层双向编码,生成最终的词向量。

2.2.2 BiLSTM模块

BiLSTM[14]以BERT 生成的词向量作为输入,通过捕获上下文特征,获取更全面的语义信息。长短期记忆(Long Short-Term Memory,LSTM)[15]是循环神经网络(Recurrent Neural Network,RNN)[16]的一种变体,在RNN 基础上引入了记忆单元和门控机制,对上下文历史信息进行有选择性的遗忘、更新和传递,从而学习到长距离的语义依赖,同时能减小网络深度和有效缓解梯度消失和梯度爆炸问题。

长短期记忆(LSTM)网络结构如图4 所示,序列信息首先经过遗忘门,决定从之前的信息中丢弃某一部分;接着是输入门,用于存储需要更新的信息;最后经过输出门,决定输出什么值。

图4 LSTM结构Fig.4 LSTM structure

1)遗忘门。

作用效果 选择性遗忘记忆细胞中的信息。

原理 将t-1 时刻隐藏层的输出ht-1和当前t时刻的输入xt作为输入,通过激活函数sigmoid,输出最终数值ft,取值范围为[0,1],表示对t-1 时刻的细胞状态ct-1的保留情况,0表示全部舍弃,1表示全部保留。ft的公式表示如下:

其中:W、b表示连接两层的权重和偏置。

2)输入门。

作用效果 将新的信息选择性地记录到新的细胞状态中。

其中:it为输入门的输出,决定需要更新的值为上一层细胞状态被遗忘的概率,值域为[0,1],0 表示完全舍弃,1 表示完全保留;ct表示临时状态,包含了新的候选值。

3)输出门。

作用效果 决定最后的输出和用来控制该层的细胞状态有多少需要被过滤。

原理 首先采用sigmoid 函数计算得到输出因子ot,然后通过tanh 函数计算当前细胞状态的归一化值,再与输出因子ot相乘之后即为当前t时刻的隐藏层输出ht,计算过程如下:

虽然LSTM解决了RNN的长期记忆遗忘问题,但LSTM细胞状态信息总是由前向后传递的,因此利用LSTM 对句子建模时还存在无法编码从后到前的信息的问题。在实际自然语言语句中,关键信息可能出现在句首也可能出现在句尾,因此出现了BiLSTM。BiLSTM 由一个前向LSTM 与一个后向LSTM组合而成,将原有的按照顺序输入的序列转化为一正一反的两个输入,可以更好地捕捉较长距离的双向语义依赖。

2.2.3 CRF模块

虽然BiLSTM充分捕获上下文信息,但有时不考虑标签间的依赖信息,如“B-ON”标签后面可以接“I-ON”“E-ON”,但如果接“I-DP”“O”等标签即是非法标签序列。CRF 可以通过训练学习得到标签转移概率,为预测的标签添加一些约束条件,防止非法标签的出现。因此,将CRF 作为BiLSTM 的输出层,可以获得最佳的三元组标注结果。

CRF[17]是对最大熵模型(Maximum Entropy Model,MEM)[18]和隐马尔可夫模型(Hidden Markov Model,HMM)[19]的改进,是一种无向图模型,在分词、词性标注、命名实体识别等序列标注任务中有较好的效果。CRF属于判别式的条件概率分布模型,表示在给定一组随机变量X的条件下另一组输出随机变量Y的马尔可夫随机场,其特点在于假设输出随机变量构成马尔可夫随机场。CRF 既去除了HMM 的条件独立性假设,同时又克服了生成式有向图模型的标记偏置缺陷。

在序列标注任务中,由于输入和输出都是线性序列,所以使用的是线性链条件随机场。假设X=(X1,X2,…,Xn),Y=(Y1,Y2,…,Yn)均为线性链表示的随机变量序列,若在给定随机变量X的条件下,Y的条件概率分布P(Y∣X)构成条件随机场,即满足马尔可夫性:

则称P(Y∣X)为线性链条件随机场。在标注问题中,X为输入观测序列,Y表示对应的输出标记序列或状态序列。若假定X和Y具有相同的图结构,则线性链条件随机场如图5所示。

图5 线性链条件随机场Fig.5 Linear chain conditional random field

当观测序列为X=(X1,X2,…,Xn),且给定线性链条件随机场P(Y∣X)时,状态序列Y=(Y1,Y2,…,Yn)的概率定义如下:

其中:θk为需要训练的参数,代表特征函数fk的权重;xt为t时刻的输入;yt为t时刻的输出;Z(x)为规范化因子,用于计算y的所有可能并求和。

CRF 在作用于NER 任务时,关键在于定义合适的特征函数,特征函数能够反映观测序列和状态序列之间的关联和约束关系,而特征函数的选择往往依赖于文本序列本身的特点。同时,CRF不仅能注意到上一时刻的状态,还能够注意到上下文信息,并通过动态规划算法得到全局最优解。

3 实验与结果分析

3.1 实验设置

3.1.1 数据集

作物病虫害领域作为具有“同一文本中一实体同时与多实体间存在重叠关系”语料特征的领域之一,本文即以作物病虫害领域为例进行实验,以1 619 篇作物病虫害领域数据,基于交叉验证的重采样策略,以7∶3 的比例划分为训练集和测试集,具体情况如表1。

表1 实验数据集分配情况Tab.1 Distribution of experimental dataset

实验环境 实验基于Python3.7,采用tensorflow2.2.0 框架,CPU 为Intel Xeon Bronze 3106 CPU 1.70 GHz,GPU 为NVIDIA GeForce RTX 2080 Ti(11 GB);内存32 GB。

3.1.2 实验参数

在训练过程中,按照显存容量设置batch_size;按照语句平均长度设置seq_max_len;根据训练日志判断损失函数的收敛情况,并对随机失活率(dropout)学习率(learning rate)进行微调,直到训练的损失稳定收敛;为扩展系统输出能力设置LSTM units 数目。经过多次调试和实验,选择核心参数最优组合:batch_size为32,seq_max_len为250,dropout为0.5,学习率为0.01,LSTM units数目为128。

3.1.3 评价指标

为了精确评测模型的性能优劣,选用实体关系抽取领域的3 个典型评价指标:准确率(Precision,P)、召回率(Recall,R)以及F1 值,其中F1 值为P 和R 的调和平均值,相当于综合评价指标。计算公式如式(13)~(15)所示:

其中:TP为预测正确的阳样本,FP为预测错误的阳样本,FN为预测错误的阴样本。

3.2 结果与分析

为了验证“ME+R+BIESO”标注方法和BERT-BiLSTM+CRF 模型对领域实体和关系联合抽取的优越性,本文分别选用流水线方法和联合学习方法共3 个模型作为基准模型进行对比实验。各个模型的实验结果如表2所示。

表2 实体关系抽取模型实验结果 单位:%Tab.2 Entity relation extraction model experimental results unit:%

基于流水线方法的实体关系抽取 采用传统的实体关系标注方式,先利用“BIO”方式标注实体,再对存在关系的实体对进行分类标注,首先使用BERT 搭建关系的分类模型,接着用预测出来的关系和文本,使用BERT 搭建一个实体抽取模型,预测每个token 标示,最后根据标示提取实体对。从实验结果可看出,虽然流水线方法的准确率最高,达到93.41%,但整体效果失衡,由于召回率严重偏低,导致F1 值仅为44.38%。通过对生成的最终预测数据进行分析,发现文本中距离较近的实体对之间的关系一般能准确预测,但距离较远的实体对之间关系基本无法预测,这是导致召回率偏低的直接原因,因此证实流水线方法存在忽略实体间关系的问题,对于长距离实体对之间的关系抽取性能较差。

联合学习方法 采用本文提出的“ME+R+BIESO”标注方法,分别基于BiLSTM+CRF、CNN+BiLSTM+CRF 以及BERTBiLSTM+CRF 端到端模型进行实体关系联合抽取。在BiLSTM+CRF模型中,标注语料首先通过GloVe语言模型生成字向量,然后输入BiLSTM 模块提取上下文特征,最后通过CRF 模块输出最后预测结果。在CNN+BiLSTM+CRF 模型中,序列首先通过GloVe 模型生成字向量,然后利用卷积神经网络(Convolutional Neural Network,CNN)模型获取词语基于字符的向量表示,将得到的特征分别与当前词语所对应的字符向量结合,一起输入到BiLSTM 网络中,最后利用CRF 进行解码,得到预测的序列标注。由实验结果可知,BERT-BiLSTM+CRF 模型的性能明显优于BiLSTM+CRF 和CNN+BiLSTM+CRF 模型,其中P 分别提高了5.97 个百分点和6.66 个百分点,R 分别提高了10.52 个百分点和11.29 个百分点,F1 值分别提高了9.55 个百分点和10.22 个百分点,达到92.21%。CNN+BiLSTM+CRF 模型在BiLSTM+CRF 的基础上增加了CNN 层,但效果并没有得到优化,F1 值反而降低了0.67 个百分点。不过在BiLSTM+CRF 层上增加BERT 预训练语言模型后,F1 值提高了9.55 个百分点,说明BERT 能够辅助提升模型对文本的语义表征能力,更大限度地捕捉领域文本中交错关联的实体关系,从而优化了实体关系抽取任务的效果。

图6为BERT-BiLSTM+CRF 模型中各个关系的预测结果,可看出整体结果较为均衡,均保持在90%水平左右,但“为害部位”关系的预测结果明显低于平均水平,同时也是拉低模型效果的重要因素。通过对“为害部位”关系对应的语料文本和最终生成的预测结果进行分析,发现语料中对同一作物部位的描述方法不统一,如“叶片”“叶肉”“叶面”“叶背”“叶鞘”“幼叶”“嫩叶”“叶”等词语均为描述“叶子”这一部位。因此,这样的情况导致在预测过程中容易出现预测错误或无法预测的问题,影响模型整体预测水平。

图6 BERT-BiLSTM+CRF模型中各个关系预测结果Fig.6 Prediction results of each relation in BERT-BiLSTM+CRF model

4 结语

本文针对某些领域语料存在“同一实体ME 同时与多个实体Ei之间存在重叠关系Ri”的特点,提出一种面向领域实体关系联合抽取的新标注方法“ME+R+BIESO”,将实体关系抽取任务转为序列标注任务。无需关注实体ME 或Ei所属的实体类型,只需关注两个实体之间存在的关系类型Ri,同步标注实体和关系,直接对三元组建模,通过标签匹配和标注映射即可完成三元组抽取。以作物病虫害领域数据作为样本数据,利用BERT-BiLSTM+CRF 端到端模型进行训练和预测,并以传统标注方式和其他经典模型的结果进行对比分析,实验结果表明本文提出的基于“ME+R+BIESO”标注模式+BERTBiLSTM+CRF 模型的实体关系联合抽取方法性能有了明显提升。该方法不仅有效提高标注效率,还能减少实体识别和关系抽取两个子任务之间的错误传播,同时还有效缓解实体冗余性和实体间的重叠关系问题。本文提出的标注方法更加适用于一对多重叠关系抽取,下一步可深入研究多对多重叠关系提取的方法。

猜你喜欢
向量标签实体
向量的分解
知识图谱的候选实体搜索与排序①
实体书店步入复兴期?
不害怕撕掉标签的人,都活出了真正的漂亮
2017实体经济领军者
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
让衣柜摆脱“杂乱无章”的标签
科学家的标签
科学家的标签