结合位置感知的命名实体识别方法
王纪恬1,2,3, 陈艳平1,2,3, 黄蓉1,2,3, 黄瑞章1,2,3, 秦永彬1,2,3     
1. 贵州大学文本计算与认知智能教育部工程研究中心, 贵州贵阳 550025;
2. 贵州大学公共大数据国家重点实验室, 贵州贵阳 550025;
3. 贵州大学计算机科学与技术学院, 贵州贵阳 550025
摘要: 命名实体识别(Named Entity Recognition,NER)的性能影响自然语言处理中诸多下游任务。跨度分类是命名实体识别常用的方法,由于其需要枚举每一个跨度,因此存在高复杂度和大量负实例问题。此外,对每个跨度的独立预测不仅忽略了词与词之间的依赖关系和位置信息,而且导致模型获取的语义信息较为单一,从而忽略了全局信息。针对上述问题,本文提出结合位置感知的命名实体识别方法。具体来说,首先使用位置编码增强词与词之间的位置特征,序列融合了绝对位置信息和相对位置信息,从而得到关注语序的语义信息,预测可能的实体边界;然后对候选实体边界进行匹配组合并过滤生成带有标签信息的候选实体实例;最后使用具有局部信息感知的标签注意力机制和多层感知机联合判断候选实体的标签。实验结果表明,本文提出模型在ACE2005、GENIA和CoNLL-2003数据集上的F1分数分别达到90.02%、81.33%和94.52%,该结果充分验证了所提模型在不同数据集上的有效性,进一步证明了其在命名实体识别任务中的优越性能。
关键词: 命名实体识别    嵌套命名实体识别    边界检测    位置编码    神经网络    
Named Entity Recognition Methods Combined with Location-Aware
WANG Jitian1,2,3, CHEN Yanping1,2,3, HUANG Rong1,2,3, HUANG Ruizhang1,2,3, QIN Yongbin1,2,3     
1. Engineering Research Center of Text Computing and Cognitive Intelligence, Ministry of Education, Guizhou University, Guiyang, Guizhou, 550025, China;
2. State Key Laboratory of Public Big Data, Guizhou University, Guiyang, Guizhou, 550025, China;
3. School of Computer Science and Technology, Guizhou University, Guiyang, Guizhou, 550025, China
Abstract: The performance of Named Entity Recognition (NER) influences the research on multiple downstream tasks in the natural language field. Span classification is a commonly used method for named entity recognition. The need to enumerate each span results in high complexity and a large number of negative instances. Since each span is predicted separately, the dependency relationship and position information of words in the sequence are ignored, resulting in the semantic information acquired by the model being single and local. To address these problems, a named entity recognition method that incorporates positional encoding. First, position encoding was used to enhance the positional features between words. The sequence of sentences was fused with both absolute and relative positional information. The model thus obtains attention-based representations and predicts potential entity boundaries. Then, the candidate entity boundaries were matched and filtered to generate candidate entity instances with label information. Finally, a label attention mechanism with local information awareness and a multi-layer perceptron was employed to jointly determine the labels of the candidate entities. The F1 score of the model on the ACE2005, GENIA, and CoNLL-2003 datasets reached 90.02%, 81.33%, and 94.52%, respectively, which verified the effectiveness of the model on different datasets and the excellent performance in named entity recognition tasks.
Key words: named entity recognition    nested named entity recognition    boundary detection    position encoding    neural networks    

命名实体识别(Named Entity Recognition,NER)的目标是识别文本中属于预定义类别的跨度,如人名、机构名、地名等[1]。作为自然语言处理的基础任务之一,命名实体识别的结果和性能推动关系抽取[2]、问答系统[3]、情感分析[4]等下游任务的研究与应用发展。

句子中的命名实体大致可以分为平面和嵌套两种类型。嵌套命名实体[5]是指实体的内部包含一个或多个其他实体的情况(图 1)。平面和嵌套实体识别方法的侧重点各有不同,平面实体的识别在于理解词间的单层语义,所以序列标注能很好地处理平面实体;而嵌套实体由于句中的每个词可能有多种标记,需识别其重叠语义,因此传统的序列标注不适用于识别嵌套实体。

图 1 嵌套命名实体 Fig. 1 Nested named entity

为了识别嵌套实体,目前的研究可分为基于序列标注的方法[6]、基于超图的方法[7]、基于跨度的方法[8]。基于序列标注的方法与传统的序列标注方法不同,其通过动态堆叠平面的序列识别层进行嵌套实体的识别,但该方法存在层级间错误传播的问题,从而导致下层实体的定位错误。基于超图的方法使用神经网络来编码节点和边,显式地从超图中识别嵌套实体,但其没有考虑到句级特征的提取。跨度分类方法将句子中的每个词都视为潜在的实体边界,并通过穷举潜在的跨度来识别每个跨度的标签,但是该方法也只能单独提取局部的信息,没有考虑到句级特征的语义。总之,上述方法忽略了序列语句中的位置特征,缺少位置感知的能力,进而无法对实体的边界信息进行深层次的挖掘,导致嵌套语义识别困难,从而降低实体识别方法的性能。

针对上述的问题,本文提出一种结合位置感知的命名实体识别方法LANER (Named entity recognition methods combined with entity location-aware)模型。LANER模型首先用位置编码增强序列的位置特征识别实体边界信息;然后通过边界信息组合跨度并将标签插入到序列中生成候选实例;最后将新的文本序列作为候选实例输入到分类模块中,由标签注意力和多层感知机共同预测得到候选实例的结果。实体边界检测模块输出句子的边界信息,其需要更小粒度、更局部的信息,而单词之间的相对位置和绝对位置提供了关键的上下文和局部信息,位置编码能把握词的绝对距离和相对距离。因此,本文模型利用位置编码增强词之间的依赖关系,赋予模型位置感知能力,挖掘实体边界特征,使模型能够学到序列中词与词之间的位置依赖;引入基于标签的注意力机制,通过构建局部关系矩阵能有效增强语义信息并去除无效信息,使模型关注重要信息,从而提高模型的识别性能。

1 相关工作

命名实体识别通常被认为是序列标注问题,从预先设计的标签方案中为每一个词以最大概率分配一个标签。Huang等[6]首次提出将BiLSTM-CRF模型应用于序列标注中,并对比了多种模型,验证了BiLSTM-CRF模型在序列标注任务中的鲁棒性。对于嵌套实体,Ju等[9]提出一种从内到外识别实体的端到端模型,该模型能够充分利用内部实体的编码信息识别出外部的实体。但是,该模型会受到严重的错误传播以及实体稀疏影响。Straková等[10]使用BERT作词向量,采用多标签方式,在加入词性等其他特征的基础上进行识别,但这种拓展标签集的方法往往存在标签稀疏的情况,会对性能产生不利影响。Shibuya等[11]通过提供次优路径的方式迭代查找实体,以从外部到内部的迭代方式提取内层实体并进行识别,这种分层联合级联的方式,存在层级之间的错误传播的情况,从而影响模型性能。Wang等[12]设计正金字塔和反金字塔结构,该模型通过正向金字塔获取实体,从下往上堆叠句子中的每一个字,用以产生不同长度的候选实体,然后通过逆金字塔结构分层解码,解决嵌套实体识别的问题。

基于超图的模型通过嵌套的实体结构构造超图,并对超图上嵌套的实体进行解码。Lu等[7]第一个提出使用提及超图来解决重叠提及识别问题。Muis等[13]使用多重图表示利用词间隙的标签,缓解了虚假结构的问题。Katiyar等[14]提出嵌套命名实体识别任务的超图表示,通过长短期记忆(Long Short-Term Memory,LSTM)网络以学习超图结构并结合BILOU (Beginning Inside Last Outside Unit)标注方式表示潜在命名实体,使模型能识别不同长度的嵌套实体,在处理嵌套实体时表现出更好的效果。Wang等[15]提出的超图模型通过神经网络获得分布式特征表示,缓解了歧义问题,但也带来了更长的训练和推理时间以及更高的时间复杂度。Luo等[16]提出捕获超图层之间的双向信息交互,使其不受错误传播的影响,能够有效捕捉外层实体与内层实体信息。

基于跨度的方法可对所有潜在的实体跨度识别每个跨度的标签,也被称为跨度分类。Sohrab等[8]提出一种嵌套实体识别的深度穷举模型,其关键思想是枚举可能的潜在实体,并使用深度神经网络对它们进行分类。但是同时带了高复杂性且没有利用任何边界信息。Tan等[17]提出使用边界检测融合跨度分类并根据实体边界和跨度共同预测实体类别,从而提高跨度的准确率并降低时间复杂度。Shen等[18]提出跨度生成和实体分类的联合抽取模型,主要使用了边界回归和跨度过滤机制。Li等[19]结合预训练语言模型和膨胀卷积,提出一种通用框架,将命名实体识别作为一种可以同时处理平面实体、嵌套实体和不连续实体的词-词关系分类任务。为了充分利用实体边界与上下文之间的依赖关系,下面的方法均进一步提高了边界信息的利用率。Zheng等[20]提出一种边界感知的神经网络模型来预测实体的类别信息,该模型利用BiLSTM捕获上下文信息。由于实体边界为语义粒度较小的单元,其定位的准确性在提升实体识别性能中起到了支撑的作用。基于此,Chen等[21]提出的边界组装模型,首先用神经网络检测实体边界,然后将边界组装成候选实例进行分类,其适用于中文数据集。之后,Chen等[22]在此基础上结合循环神经网络进一步提高了边界组装模型的性能。Nian等[23]提出边界检测和实体分类的多任务模型,引入边界信息缓解数据不平衡的问题。Shen等[24]提出在实体边界上使用扩散模型,通过给真正的实体边界增加噪声并学习反向过程恢复实体边界。由于提示学习能很好地利用语言模型在预训练过程中学到的知识,所以,Shen等[25]基于提示学习的方法并使用动态模板填充,在训练时填充实体跨度和类型,降低了时间复杂度。

因此,本文提出结合位置感知的命名实体识别方法LANER模型,LANER模型用位置编码增强序列中词之间的语义信息进而提高边界检测的性能,同时使用基于标签的注意力机制增强模型对候选实体的提取特征,以提高性能。

2 本文模型

模型结构如图 2所示,主要分为两部分:边界检测模块、候选实例分类模块。边界检测模块使用位置编码得到含有相对位置信息的词意,得到句子中实体的开始和结束位置。候选实体分类模型使用基于标签的注意力机制对边界匹配后带有标签的句子提取关键信息并进行标签分类。

图 2 LANER模型结构 Fig. 2 LANER model architecture

2.1 边界检测模块 2.1.1 特征提取层

边界检测模块只需要识别实体的开始和结束位置,二者是较小的语义单元,在语义信息的含义上有重叠,并限定了实体的跨度范围。由于边界检测可视作二分类任务,因此能利用深度神经网络对其进行准确分类。

给定输入序列X={x1, x2, x3, …, xn}, n为句子长度。设边界检测的标签t∈{S, E, O}, S表示预测实体开始的标签,E表示预测实体结束的标签, O表示预测非边界标签。为增强词的位置特征并正确识别实体边界位置,模型先用BERT[26]提取句子语义, 得到字符xi的词嵌入表示xiw。LSTM是一种特殊的循环神经网络,其根据门结构选择机制选择性地存储上下文信息。本文使用BiLSTM捕获单词间前后之间的语义并选择性地存储上下文信息, 从而得到序列的上下文依赖特征。计算过程如下:

$ \overrightarrow{h_i}=\overrightarrow{\operatorname{LSTM}}\left[x_i^w, h_{i-1}\right], $ (1)
$ \overleftarrow{h_i}=\overleftarrow{\mathrm{LSTM}}\left[x_i^w, h_{i-1}\right], $ (2)
$ h_i=\left[\overrightarrow{h_i} ; \overleftarrow{h_i}\right], $ (3)

其中,$\overleftarrow{h_i}, \overrightarrow{h_i}$分别表示BiLSTM的向前、向后隐藏状态,hi-1表示前一个时间步的隐藏状态,[·;·]表示拼接操作。

2.1.2 融合位置感知检测层

为增强词序层面的词间依赖关系,从词间的相对位置以及绝对位置上获取位置特征,模型使用融合相对位置的注意力对词向量进行表示,并使用旋转位置编码(Rotary Position Embedding,RoPE)[27]。RoPE用旋转矩阵对单词的绝对位置进行编码,旋转矩阵计算方式如下:

$ \begin{array}{l} \;\;\;\;\;\;\;\;\boldsymbol{R}_{\Theta, m}^d= \\ \left(\begin{array}{ccccc} \cos m \theta_1 & -\sin m \theta_1 & \cdots & 0 & 0 \\ \sin m \theta_1 & \cos m \theta_1 & \cdots & 0 & 0 \\ 0 & 0 & \ddots & \vdots & \vdots \\ \vdots & \vdots & \cdots & \cos m \theta_{d / 2} & -\sin m \theta_{d / 2} \\ 0 & 0 & \cdots & \sin m \theta_{d / 2} & \cos m \theta_{d / 2} \end{array}\right), \end{array} $ (4)

其中,$\Theta=\left\{\theta_i=10000^{-2(i-1) / d}, i \in[1, 2, \cdots, d / 2]\right\}$, m∈{1, 2, …, n}。

接着,将RoPE位置编码用矩阵乘法的方式拓展到线性注意力层中,用绝对位置编码的方式实现相对位置依赖。具体来说,先将位置为mn的向量hmhn映射到两个不同的空间qmkn,用以交互词之间的位置信息。如图 3所示,将第mn个的旋转矩阵RΘ, mdRΘ, nd分别融入词向量中,将词向量和绝对位置融入位置编码,使得词向量包含了绝对位置信息。最后将融合位置感知的向量相乘,得到含有绝对位置信息和相对位置信息的矩阵,相关公式如下所示:

$ \boldsymbol{q}_m=\boldsymbol{W}_q \boldsymbol{h}_m+\boldsymbol{b}_q, $ (5)
$ \boldsymbol{k}_n=\boldsymbol{W}_k \boldsymbol{h}_n+\boldsymbol{b}_k, $ (6)
$ \boldsymbol{S}(m, n)=\left(\boldsymbol{R}_{\Theta, m}^d \boldsymbol{q}_m\right)^{\mathrm{T}}\left(\boldsymbol{R}_{\Theta, n}^d \boldsymbol{k}_n\right)=\boldsymbol{q}_m^{\mathrm{T}} \boldsymbol{R}_{\Theta, n-m}^d \boldsymbol{k}_n, $ (7)
图 3 旋转位置编码 Fig. 3 Rotary Position Embedding (RoPE)

其中,qm为位置m的查询向量,Wq为查询向量的权重矩阵,hm为位置为m的向量;kn为位置n的键向量,Wk为查询向量的权重矩阵,hn为位置为n的向量。S(m, n) 为含有位置mn相对位置信息的矩阵。

最后,使用Maxpooling函数得到每个词的特征表示zi,并将特征向量输入到MLP模块中,得到边界开始概率Ps和结束概率Pe,公式如下所示:

$ \operatorname{MLP}\left(z_i\right)=\boldsymbol{W}_1\left(\operatorname{GELU}\left(\boldsymbol{W}_2 z_i+b_2\right)\right)+b_1, $ (8)
$ P_{\mathrm{s}}=\mathrm{MLP}_1\left(z_i\right), $ (9)
$ P_{\mathrm{e}}=\mathrm{MLP}_2\left(z_i\right), $ (10)

其中,GELU是激活函数,W1W2为可学习参数矩阵,b1b2为偏置。

根据边界检测模块生成的边界概率PsPe,得到开始边界序列Xs和结束边界序列Xe。开始边界序列Xs的计算如下所示,结束边界序列Xe的计算同理可得:

$ y_{\mathrm{s}}\left(z_i\right)=\operatorname{argmax} P_{\mathrm{s}}\left(t \mid z_i\right), $ (11)
$ y_{\mathrm{e}}\left(z_i\right)=\operatorname{argmax} P_{\mathrm{e}}\left(t \mid z_i\right), $ (12)
$ X_{\mathrm{s}}=\left\{x_i \mid y_{\mathrm{s}}\left(z_i\right)=S, i \in(0, n)\right\}, $ (13)
$ X_{\mathrm{e}}=\left\{x_i \mid y_{\mathrm{e}}\left(z_i\right)=S, i \in(0, n)\right\} 。$ (14)

将起始边界与不同的结束边界进行组合,生成候选实体跨度集合B={b1, b2, …, bk}, k表示候选实体跨度数量,bj=(xi, xq)表示第j个候选实体跨度且xiXsxqXe。为了避免引入大量负例,引入过滤机制,即i∈[0, j],ij∈[0, L], L表示候选实体长度的阈值。根据候选实体跨度集B中的跨度信息,向文本中插入一对标签[S]、[E],分别插入xi前、xq后,以增强实体的开始、结束位置信息。插入标签后的文本表示为

$ H=\left\{x_1, \cdots, [\mathrm{~S}], x_i, \cdots, x_j, [\mathrm{E}], \cdots, x_n\right\}_{\circ} $ (15)
2.2 候选实体分类模块

候选实体分类模块识别序列中标签之间的候选实体类别。模型输入带有标签的序列,经过BERT预训练语言模型得到带有标签序列的词向量信息H,使用BiLSTM捕获词与词之间的前后语义依赖,以生成具有上下文信息的表示向量H={h1, h2, …, hn+2},其计算过程如下:

$ \boldsymbol{H}^{\prime}=\left\{x_1^{\prime}, \cdots, [\mathrm{S}]^{\prime}, x_i^{\prime}, \cdots, [\mathrm{E}]^{\prime}, x_j^{\prime}, \cdots, x_n^{\prime}\right\}, $ (16)
$ \overrightarrow{h_i^{\prime}}=\overrightarrow{\mathrm{LSTM}}\left[x_i^{\prime}, h_{i-1}^{\prime}\right], $ (17)
$ \overleftarrow{h_i^{\prime}}=\overleftarrow{\mathrm{LSTM}}\left[x_i^{\prime}, h_{i-1}^{\prime}\right], $ (18)
$ h_i^{\prime}=\left[\overrightarrow{h_i^{\prime}} ; \overleftarrow{h_i^{\prime}}\right], $ (19)

其中,$\overleftarrow{h_i^{\prime}}, \overrightarrow{h_i^{\prime}}$分别表示BiLSTM的向前、向后隐藏状态,hi-1表示前一个时间步的隐藏状态,[·;·]表示拼接操作。

模型利用提取全局信息的多层感知机MLP3与标签注意力共同预测候选实体标签。具体来说,首先将向量H输入到多层感知机MLP3中提取全局信息得到实体标签概率PHm, 公式如下:

$ P_H^m=\operatorname{MLP}_3\left(\boldsymbol{H}^{\prime}\right) 。$ (20)

其中,MLP3的结构如式(8)所示。

由于双仿射关注序列中的词间信息交互且边界标签可以强调序列中的候选实体边界,所以模型基于双仿射使用标签注意力。在标签注意力中,使用边界标签的向量结合双仿射得到评分矩阵,之后由MaxPooling函数得到最终的实体标签预测结果,公式如下所示:

$ O_{\mathrm{s}}=\mathrm{MLP}_4\left(\left[\boldsymbol{H}_{[\mathrm{S}]}^{\prime} ; \boldsymbol{H}_{[\mathrm{E}]}^{\prime}\right]\right), $ (21)
$ O_{\mathrm{e}}=\mathrm{MLP}_5\left(\left[\boldsymbol{H}_{[\mathrm{S}]}^{\prime} ; \boldsymbol{H}_{[\mathrm{E}]}^{\prime}\right]\right), $ (22)
$ \text { sorce }=O_{\mathrm{s}}^{\mathrm{T}} \boldsymbol{U} O_{\mathrm{e}}+\boldsymbol{W}\left[O_{\mathrm{s}} ; O_{\mathrm{e}}\right]+b, $ (23)
$ P_H^{b i}=\text { Maxpooling(sorce) }, $ (24)

其中H[S]H[E]分别为[S]标签和[E]标签的向量,将其拼接输入到双仿射中,MLP4、MLP5的结构如式(8)所示。UW为双仿射中的权重矩阵,b为偏置。

最后,由双仿射和多层感知机共同预测结果P,即:

$ P=P_H^{b i}+P_H^m。$ (25)

损失函数使用交叉熵损失函数:

$ \text { Loss }=-\ln \left(\frac{\exp (P[c])}{\sum\limits_{j=1}^n P[j]}\right), $ (26)

其中,c为实体标签,长度为实体类型+1,P为预测实体标签的概率。

3 实验与结果分析 3.1 实验数据集

本文在嵌套英文数据集ACE2005[28]、GENIA[29]和平面数据集CoNLL-2003[30]上进行实验。ACE2005、GENIA数据集和CoNLL-2003数据集的句子数量统计结果如表 1所示。

表 1 数据集句子数量信息 Table 1 Information about the number of sentences in the datasets
数据集
Dataset
训练集
Training set
验证集
Validation set
测试集
Test set
实体类型
Entity type
ACE2005 7 683 960 960 7
CoNLL-2003 17 291 3 453 - 4
GENIA 15 023 1 669 1 854 5

① ACE2005数据集于2006年由语言数据联盟发布,数据来源于微博、广播新闻、新闻组、广播对话等。该数据集共599篇英文文档,包含7种实体类型:人(PER)、地理位置(LOC)、交通工具(VEH)、政治实体(GPE)、武器(WEA)、组织(ORG)、设施(FAC)。该数据集按8∶1∶1的比例进行训练集、验证集及测试集的划分[31]

② GENIA数据集基于语料库GENIA 3.0.2构建而成,数据来源于生物医学。该数据集根据文献[32]的做法将实体分为5类:DNA、RNA、protein、cell_line、cell_type,并按照81∶9∶10的比例划分训练集、验证集和测试集。

③ CoNLL-2003数据集是一个经典的命名实体识别平面数据集,共有1 393篇源于路透社语料库的英语新闻文章。CoNLL-2003中,实体被标注为4种类型:地名(LOC)、组织机构名(ORG)、人名(PER)、其他(MISC)。

3.2 评价指标

实验使用的评价指标包含准确率(P)、召回率(R)和F1分数,计算公式如下所示:

$ P=\frac{\mathrm{TP}}{(\mathrm{TP}+\mathrm{FP})} \times 100 \%, $ (27)
$ R=\frac{\mathrm{TP}}{(\mathrm{TP}+\mathrm{FN})} \times 100 \%, $ (28)
$ F 1=\frac{2 \times P \times R}{(P+R)} \times 100 \% \text { 。} $ (29)

其中,TP是正确识别的实体类型个数,FP是识别错误的实体类型个数,FN是将正确实体识别为错误的实体类别或非实体的个数。

3.3 实验环境及参数设置

本文实验在Python3.9和Pytorch1.12.0环境中进行, 所有实验都在一张显存48 GB的RTX-A6000上进行。在边界检测和候选实体分类模块训练过程中使用BERT和ALBERT模型。在ACE2005、CoNLL-2003和GENIA数据集上,使用的BERT模型为bert-large-cased和1 024维度的BioBERT-large-cased-v1.1[33],ALBERT为4 096维度的ALBERT-large-v2[34]。优化器使用AdamW优化器。训练批次、训练轮次分别为32、20。Dropout为0.33,学习率为3e-5。

3.4 基线模型

本文实验对比的近几年基线模型为(a) BiFlaG[16]是一种基于超图的方法,通过捕获超图层之间的双向信息交互进行识别嵌套实体;(b) Pyramid[12]通过正向金字塔获取实体,从下往上堆叠句子中的每一个字,然后通过逆金字塔结构分层解码;(c) MGNER[31]是一种用于多粒度命名实体识别的神经网络框架,该框架允许句子中的多个实体或实体提及重叠或完全嵌套;(d) two-stage[18]利用边界信息,用边界回归调整候选实体跨度,再分类提高嵌套命名实体识别效果;(e) joint model[23]是一种边界检测和实体分类的多任务模型,其通过引入边界信息缓解数据不平衡的问题;(f) W2NER[19]通过结合预训练语言模型和膨胀卷积,可以同时处理平面实体、嵌套实体和不连续实体的词-词关系分类任务;(g) PromptNER[25]基于提示学习,使用动态模板填充实体首尾位置和实体类别;(h) DiffusionNER[24]将实体识别任务当成实体边界去噪的过程,用去噪的方式利用实体边界信息;(i) boundary-aware[20]使用边界感知神经网络模型来识别嵌套实体,该模型利用BiLSTM捕获上下文信息,实体标签通过精确定位的边界相关跨度来预测。

3.5 实验结果分析

实体边界的检测结果如表 2所示。识别命名实体需要正确的开始和结束边界,且实体边界对应的是更细粒度的语义单位,其含义较为明确、歧义较少。因此,与实体识别相比,边界检测具有更高的性能。实验结果表明,本文模型在ACE2005和CoNLL-2003数据集上表现较好,但在GENIA数据集上表现不佳,其原因可能是GENIA数据集中大部分实体是生物医学领域的专有名词,这些专有名词包含不连续实体和缩写形式,且边界特征不明显,因此要达到高性能的检测结果相对更困难。

表 2 实体边界检测结果 Table 2 Detetion result of entity boundary  
Unit: %
阶段
Stage
GENIA ACE2005 CoNLL-2003
精确率
P
召回率
R
F1 精确率
P
召回率
R
F1 精确率
P
召回率
R
F1
Start 88.02 86.51 87.26 95.50 95.50 95.50 97.69 98.16 97.92
End 89.68 88.46 89.06 95.42 94.49 94.95 96.75 97.45 97.10

候选实体由边界检测预测的开始和结束边界位置两两组合,结果见表 3。GENIA与CoNLL-2003数据集的精确率较高,原因是本文的候选实体过滤机制结合这两个数据集的实体长度特点,有效过滤过长的负例候选实体。ACE2005与CoNLL-2003数据集的召回率较好,是因为边界检测在这两个数据集上能正确识别大量的边界。

表 3 候选实体信息 Table 3 Statistic information of collected entity candidates  
unit: %
数据集
Dataset
精确率P 召回率R
GENIA 43.23 82.96
ACE2005 33.58 93.31
CoNLL-2003 60.99 96.60

为了验证本文模型的有效性,将本文模型与近几年其他基线模型进行对比。表 4表 6分别为本文模型在ACE2005、GENIA、CoNLL-2003数集上与其他基线模型的对比结果,相较于其他基线模型中的最优结果,本文模型在F1分数上分别提高了1.47百分点、0.79百分点、1.44百分点。其中,boundary-aware使用边界感知神经网络模型来识别嵌套实体,该模型利用BiLSTM捕获上下文信息。two-stage利用边界信息,先通过边界回归调整候选实体跨度,再进行分类。两者均在模型中引入边界信息,以增强识别性能,相比之下,本文的模型使用位置编码增强序列中词与词之间的依赖关系,提高模型的位置感知能力,确定候选实体位置。此外,使用基于标签的注意力机制增强模型对候选实体的提取特征,以提高性能。然而,在这3个数据集上,模型召回率都没有达到最优,这是因为使用边界信息生成候选实体跨度,在候选实体分类模块中缺失了部分正确的实体,从而导致召回率较低。CoNLL-2003和ACE2005数据集的精确率都达到最优,这可能是因为标签注意力能有效提取候选实体特征和边界检测,有效减少负例的生成。

表 4 ACE2005数据集实验结果对比 Table 4 Comparison experiment results on ACE2005 dataset  
Unit: %
模型Model 精确率P 召回率R F1
MGNER[31] 79.0 77.3 78.2
Pyramid[12] 85.30 87.40 86.34
two-stage[18] 86.05 87.27 86.67
joint model[23] 87.87 89.24 88.55
W2NER[19] 85.03 88.62 86.79
LANER 93.08 87.17 90.02
Note: bolds represent the optimal results; MGNER′s results have been retained to one decimal place in [31].

表 5 GENIA数据集实验结果对比 Table 5 Comparison experiment results on GENIA dataset  
Unit: %
模型Model 精确率P 召回率R F1
boundary-aware[20] 75.9 73.6 74.7
BiFlaG[16] 77.4 74.6 76.0
Pyramid[12] 80.31 78.33 79.31
two-stage[18] 80.19 80.89 80.54
joint model[23] 79.74 77.70 78.70
LANER 81.80 80.88 81.33
Note: bolds represent the optimal results; results of boundary-aware and BiFlaG have been retained to one decimal place in [20] and [16].

表 6 CoNLL-2003数据集实验结果对比 Table 6 Comparison experiment results on CoNLL-2003 dataset  
Unit: %
模型Model 精确率P 召回率R F1
W2NER[19] 92.71 93.56 93.05
PromptNER[25] 92.96 93.18 93.08
DiffusionNER[24] 92.99 92.56 92.78
LANER 95.98 93.09 94.52
Note: bolds represent the optimal results.

3.6 消融实验

为了验证模型的位置编码、标签注意力的有效性,本文在ACE2005和GENIA数据集上进行验证。两个数据集上的消融实验结果如表 7表 8所示。在表格中w/o Location-aware表示移除位置编码,w/o Biaffine表示移除标签注意力。

表 7 在ACE2005数据集上的消融实验结果 Table 7 Ablation experiment results on ACE2005 dataset  
Unit: %
设置Install 精确率P 召回率R F1
LANER 93.08 87.17 90.02
w/o Location-aware 92.40 86.69 89.46
w/o Biaffine 92.42 86.93 89.59
Note: bolds represent the optimal results.

表 8 在GENIA数据集上的消融实验结果 Table 8 Ablation experiment results on GENIA dataset  
Unit: %
设置Install 精确率P 召回率R F1
LANER 81.80 80.88 81.33
w/o Location-aware 84.29 78.17 81.12
w/o Biaffine 83.94 78.79 81.28
Note: bolds represent the optimal results.

由实验结果可知,移除位置编码之后,模型在ACE2005和GENIA数据集的F1分数分别下降了0.56百分点、0.21百分点。这证明了位置感知能进一步刻画数据的潜在结构信息进而提升模型总体性能。移除标签注意力后,模型在ACE2005数据集的F1分数下降0.43百分点,这证明了结合标签的双仿射注意力能避免无用信息的干扰,提取关键信息。

4 结论

本文提出一种结合位置感知的命名实体识别方法LANER模型,该模型用位置编码增强词与词之间的位置特征,可识别实体边界信息。由边界信息组合成新的文本序列并作为候选实例输入到分类模块中,由标签注意力和多层感知机共同预测得到候选实体的结果,结合标签的标签注意力构建局部信息关系矩阵,能够有效增强标签在句意上的信息并去除无效信息,增强文本特征。实验结果表明,模型对于嵌套与非嵌套的数据集均有强化序列位置特征,提高文本的位置感知能力,具有良好的实体识别性能;但是模型存在实体分类召回率的局限,下一步将考虑优化候选实体分类模块,从而提升模型的计算能力。

参考文献
[1]
邓依依, 邬昌兴, 魏永丰, 等. 基于深度学习的命名实体识别综述[J]. 中文信息学报, 2021, 35(9): 30-45.
[2]
MIWA M, BANSAL M. End-to-end relation extraction using LSTMs on sequences and tree structures[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2016: 1105-1116.
[3]
YIH W, CHANG M W, HE X D, et al. Semantic parsing via staged query graph generation: question answering with knowledge base[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Stroudsburg: ACL, 2015: 1321-1331.
[4]
GUPTA M, BENDERSKY M. Information retrieval with verbose queries[C]//Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2015: 1121-1124.
[5]
FINKEL J R, MANNING C D. Nested named entity recognition[C]//Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing. Stroudsburg: ACL, 2009: 141-150.
[6]
HUANG Z H, XU W, YU K. Bidirectional LSTM-CRF models for sequence tagging[EB/OL]. (2015-08-09)[2023-06-19]. https://arxiv.org/pdf/1508.01991.pdf.
[7]
LU W, ROTH D. Joint mention extraction and classification with mention hypergraphs[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Stroudsburg: ACL, 2015: 857-867.
[8]
SOHRAB M G, MIWA M. Deep exhaustive model for nested named entity recognition[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. Stroudsburg: ACL, 2018: 2843-2849.
[9]
JU M Z, MIWA M, ANANIADOU S. A neural layered model for nested named entity recognition[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg: ACL, 2018: 1446-1459.
[10]
STRAKOVÁ J, STRAKA M, HAJIC J. Neural architectures for nested NER through linearization[C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2019: 5326-5331.
[11]
SHIBUYA T, HOVY E. Nested named entity recognition via second-best sequence learning and decoding[J]. Transactions of the Association for Computational Linguistics, 2020, 8: 605-620. DOI:10.1162/tacl_a_00334
[12]
WANG J, SHOU L D, CHEN K, et al. Pyramid: a layered model for nested named entity recognition[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2020: 5918-5928.
[13]
MUIS A O, LU W. Labeling gaps between words: recognizing overlapping mentions with mention separators[C]//Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. Stroudsburg: ACL, 2017: 2608-2618.
[14]
KATIYAR A, CARDIE C. Nested named entity recognition revisited[C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg: ACL, 2018: 861-871.
[15]
WANG B L, LU W. Neural segmental hypergraphs for overlapping mention recognition[C]//Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. Stroudsburg: ACL, 2018: 204-214.
[16]
LUO Y, ZHAO H. Bipartite flat-graph network for nested named entity recognition[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2020: 6408-6418.
[17]
TAN C Q, QIU W, CHEN M S, et al. Boundary enhanced neural span classification for nested named entity recognition[C]//Proceedings of the AAAI Conference on Artificial Intelligence. New York: AAAI, 2020, 34(5): 9016-9023.
[18]
SHEN Y L, MA X Y, TAN Z Q, et al. Locate and label: a two-stage identifier for nested named entity recognition[C]//Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing. Stroudsburg: ACL, 2021: 2782-2794.
[19]
LI J Y, FEI H, LIU J, et al. Unified named entity recognition as word-word relation classification[C]//Proceedings of the AAAI Conference on Artificial Intelligence. New York, AAAI, 2022, 36(10): 10965-10973.
[20]
ZHENG C M, CAI Y, XU J Y, et al. A boundary-aware neural model for nested named entity recognition[C]//Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP). Stroudsburg: ACL, 2019: 357-366.
[21]
CHEN Y P, ZHENG Q H, CHEN P. A boundary assembling method for Chinese entity-mention recognition[J]. IEEE Intelligent Systems, 2015, 30(6): 50-58. DOI:10.1109/MIS.2015.71
[22]
CHEN Y P, WU Y F, QIN Y B, et al. Recognizing nested named entity based on the neural network boundary assembling model[J]. IEEE Intelligent Systems, 2020, 35(1): 74-81. DOI:10.1109/MIS.2019.2952334
[23]
NIAN Y M, CHEN Y P, QIN Y B, et al. A joint model for entity boundary detection and entity span recognition[J]. Journal of King Saud University-Computer and Information Sciences, 2022, 34(10): 8362-8369. DOI:10.1016/j.jksuci.2022.08.016
[24]
SHEN Y L, SONG K T, TAN X, et al. DiffusionNER: boundary diffusion for named entity recognition[C]//Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2023: 3875-3890.
[25]
SHEN Y L, TAN Z, WU S, et al. PromptNER: prompt locating and typing for named entity recognition[C]//Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2023: 12492-12507.
[26]
DEVLIN J, CHANG M W, LEE K, et al. BERT: pre-training of deep bidirectional transformers for language understanding[EB/OL]. (2019-05-24)[2023-06-19]. https://arxiv.org/abs/1810.04805v2.
[27]
SU J L, AHMED M, LU Y, et al. RoFormer: enhanced transformer with rotary position embedding[J]. Neurocomputing, 2024, 568: 127063. DOI:10.1016/j.neucom.2023.127063
[28]
WALKER C, STRASSEL S, MEDERO J, et al. ACE 2005 multilingual training corpus[EB/OL]. (2006-06-15)[2023-06-19]. https://catalog.ldc.upenn.edu/LDC2006T06.
[29]
KIM J, OHTA T, TATEISI Y, et al. GENIA corpus: a semantically annotated corpus for bio-textmining[J]. Bioinformatics, 2003, 19(suppl_1): i180-i182. DOI:10.1093/bioinformatics/btg1023
[30]
TJONG KIM SANG E F, DE MEULDER F. Introduction to the CoNLL-2003 shared task: language-independent named entity recognition[C]// Proceedings of the seventh conference on Natural language learning at HLT-NAACL 2003. Stroudsburg: ACL, 2003: 142-147.
[31]
XIA C Y, ZHANG C W, YANG T, et al. Multi-grained named entity recognition[C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2019: 1430-1440.
[32]
YAN H, GUI T, DAI J Q, et al. A unified generative framework for various NER subtasks[C]//Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing. Stroudsburg: ACL, 2021: 5808-5822.
[33]
LEE J, YOON W, KIM S, et al. BioBERT: a pre-trained biomedical language representation model for biomedical text mining[J]. Bioinformatics, 2020, 36(4): 1234-1240. DOI:10.1093/bioinformatics/btz682
[34]
LAN Z, CHEN M, GOODMAN S, et al. ALBERT: a lite BERT for self-supervised learning of language representations[EB/OL]. (2020-02-09)[2023-06-19]. https://arxiv.org/abs/1909.11942v6.