基于双流特征互补的嵌套命名实体识别

2024-03-21 01:48黄荣梅张顺香段松松
计算机工程与设计 2024年3期
关键词:嵌套字符特征向量

黄荣梅,廖 涛,张顺香,段松松

(安徽理工大学 计算机科学与工程学院,安徽 淮南 232001)

0 引 言

命名实体识别(NER)是信息提取当中的一项基本任务,其旨在从非结构化的文本中识别并分类出实体所属类型。它被认为是许多自然语言处理(NLP)当中下游任务的关键部分,例如:关系提取[1]、机器翻译[2]等自然语言处理技术领域。随着技术的发展,越来越多的人开始研究文本当中具有嵌套结构的实体,将这类实体统称为嵌套命名实体(nested NER),如句子“北京天安门广场”,其中“北京”为地名实体,嵌套在另一个地名实体“北京天安门广场”之中。自然语言短语表述的特性,使得命名实体通常是嵌套的[3]。因而,嵌套命名实体越来越引起人们的思考与研究。

近年来,涌现出许多针对nested NER的新方法。Shibuya和Hovy[4]采用分层的方法,通过应用传统的条件随机场(CRF)重复检测内部实体。Li等[5]提出了将nested NER任务看作阅读理解来做的思路。转换的方法将嵌套命名实体转化为线性结构,再进行序列标记。例如:Muis等[6]提出一种基于超图的方法,Katiyar和Cardie[7]同样基于超图方法,并用贪婪的方式使用LSTM来进行线性学习。通过发现可知,目前大多数的方法在嵌入时采用字级别表示和字符级别表示的联合嵌入获取特征信息,这并没有考虑字特征与字符特征之间的依赖关系,从而无法高效获得隐藏的特征信息。

针对目前嵌入特征向量隐藏信息获取不充分现象,本文提出了一种双流的特征互补机制加以解决,将两种嵌入向量分别进入Bi-LSTM获取文本上下文特征,之后采用一种双向特征互补机制探索两个特征向量之间的最大信息增益,本文通过在GENIA数据集上进行对比分析得到结论,相较于其它经典实验本文的实验结果最佳。

1 相关工作

1.1 命名实体

现有的识别非嵌套命名实体的方法通常将NER任务看成是序列标记问题,与基于特征的方法相比,深度学习有助于自动发现隐藏的特征[8]。Yu等[9]基于图依赖解析的思想,通过双仿射模型描绘全局视图来准确地预测命名实体。Liu等[10]通过扩展基于头词的非精确匹配的字典,推广了远程监督从而识别命名实体。

近年来外部资源的使用提高了命名实体识别的整体效果,如Peters等[11]通过深度双向语言模型ELMo中叠加的内部隐藏状态的线性组合。Sun等[12]将生物医学实体看作成机器阅读理解(MRC)问题,使用BERT在MRC框架中执行生物医学命名实体识别提高了模型识别目标实体的能力。

1.2 嵌套命名实体

嵌套命名实体在现实生活中很常见。针对嵌套NER,学者们提出了不少的方法,主要可以归类为基于转换和基于跨度两种方法[13]。

基于转换的方法是通过标注将复杂的序列嵌套问题转化,进而完成识别。Wang和Lu等[14]通过将有嵌套的句子映射到指定的森林,基于使用Stack-LSTM网络自底向上的方式构造森林结构。Lin等[15]提出了一种序列到块的体系结构,首先识别锚词(实体可能的头词),然后识别每个锚词的实体边界,最后将这些候选实体划分为相应的实体类型。

基于跨度的方法是识别句子子序列或者识别规定范围的跨度来识别嵌套的实体。Luan等[16]提出了一个通用信息提取框架DYGIE,其中的态跨度图方法增强了任务之间的交互,允许模型从更广泛的上下文中学习有用的信息。Zheng等[17]提出了一种边界感知神经网络模型,该模型检测实体的起始边界和结束边界形成跨度,再将这些跨度被划分为相应的实体类型或非实体类型。

1.3 讨 论

非嵌套NER假设实体之间没有重叠,因此它们不适用于嵌套的NER。基于转换的嵌套NER方法需要一些复杂的转换和解码操作,这可能会导致级联错误,而且计算代价高昂。目前基于跨度的嵌套NER方法缺乏明确的边界监督,并产生了许多负样本用于跨度分类,此外,它们的计算成本也很昂贵。本文提出的模型不同于当前的基于跨度的方法,提出了双流互补机制得到更多的特征信息,最后进入实体判断模块和细粒度划分模块识别嵌套的实体。模型充分抓取了不同特征之间的依赖关系和更多的语义信息,实现了不错的效果。

2 嵌套命名实体识别模型

2.1 整体架构

本文的整体模型架构如图1所示。整体模型可分为4层:第一层为字嵌入与特征提取部分,将单词的字级和字符级表示向量送入Bi-LSTM中获取句子的上下文信息;第二层为低层级特征互补层,每个特征向量加入另一种特征的有效信息得到新的特征表示;第三层为高层级的特征互补层,经过特征向量融合操作得到最终句子的表示向量;第四层为类别判断,句子的表示向量首先进入实体感知模块,判别为实体词的跨度进入细粒度划分区间判别有无嵌套实体词,最后进入全连接层和Softmax层得到最终的实体类型分类。

图1 模型整体架构

2.2 字嵌入与特征提取

图2 字符级嵌入结构

本文定义句子的字级嵌入向量表示为sw,句子的字符级嵌入向量表示为sc。式(1)、式(2)给出了句子的两种嵌入表示向量

(1)

(2)

其中,ew表示预训练的词向量查找表,ec表示单词的字符向量经过Bi-LSTM得到的字符嵌入向量表。

随后将两种嵌入向量分别输入到Bi-LSTM中获取句子的上下文信息,得到字级特征表示向量和字符级特征表示向量。以字级特征表示向量为例,式(3)~式(8)每个时刻t在各个单元的隐藏状态计算

(3)

(4)

(5)

(6)

(7)

(8)

为了有效利用上下文信息,文本采用双向LSTM结构采集字级和字符级信息,并得到两个不同的中间层表示,最后进行拼接操作得到最终的隐藏层输出

(9)

(10)

(11)

2.3 低层级的特征互补

这一层属于低层级的特征互补,不仅关注到了不同单词表示向量之间的特征依赖关系,而且将获取到更多的低层级语义信息。如图3所示给出了低层级特征互补的过程。

图3 低层级特征互补

图3中CCM指补充后得到新的字级嵌入特征向量模块。MLP指多层感知机,用来提取低层语义信息。字符级嵌入特征向量经过sigmoid激活函数得到特征权重,接着权重与字级嵌入特征向量相乘提取到字符级嵌入的有用特征,最后经过残差连接得到新的字级嵌入特征向量。式(12)给出了操作过程

(12)

同理,WEM指特征互补后得到新的字符级嵌入特征向量模块。整个过程与CCM类似,首先由多层感知机MLP提取低层语义信息,经过sigmoid函数激活得到权重,然后将权重与字符级嵌入向量相乘得到字级嵌入向量中包含的有用特征,最后经过残差连接得到新的字符级嵌入特征向量。式(13)给出了整个操作过程

(13)

2.4 高层级的特征互补

2.4.1 多头注意力机制

本文在这一模块添加了多头注意力机制,使模型中更侧重于重要特征,减少对非重要特征的关注,优化资源分配。本文整体模型架构中MHSM即为多头注意力机制。

(14)

多头注意力就是把多个自注意力连接起来,如式(15)、式(16)所示

MultiHead(Q,K,V)=Concat(head1,…,headh)Wo

(15)

式中:Q,K,V,Wo为训练好的权重参数,h为注意力头数

(16)

2.4.2 高层级特征互补

由多头注意力获取局部特征之后,对两个特征向量进一步进行特征互补可以获取到更深层的语义信息。整个高层级的特征互补如图4所示。

图4 高层级特征互补

(17)

(18)

(19)

(20)

(21)

(22)

(23)

(24)

2.5 类别判断

经过特征互补后句子的最终表示向量首先进入实体词判断模块,对每个文本进行标记时,采用了二元序列标记法。在这个标记中,实体词被标记为1,非实体词被标记为0。这么做可以过滤一些非实体的区域。具体的:特征序列经过一个全连接层和sigmoid激活函数得到每个词属于实体内部或实体边界的实体词概率p(当p大于0.5时视为实体词)。

对实体词跨度的细粒度划分可以用来识别内部嵌套的实体。细粒度划分后的区间进入一个全连接层和softmax层得到最终的类别标记。整个过程图5所示。

图5 实体词跨度细粒度划分

在训练过程中,本文使用交叉熵损失作为模型结构损失函数。本文损失函数由两部分组成,一部分由判别文本是否为实体词构成的损失函数,记作Ll,如式(25)所示

Ll=-[ylog(p)+(1-y)log(1-p)]

(25)

式中:y指判别元素为实体词的真实标签(1表示为实体词,0表示为非实体词),p表示判别元素为实体词的概率。

另一部分损失函数为细粒度划分某个实体词区间 时类别划分是否正确,记作Lh,采用交叉熵损失函数,如式(26)所示

(26)

式中:yh,c表示的是实体词是否属于实体类别c的二元标签(1表示属于,0表示不属于),ph,c表示实体词属于实体类别c的概率,实体类别一共有N个。

因此,本文模型在训练集上的损失L为多任务训练损失的加权平均值。如式(27)所示

(27)

式中:第一项的si表示第i个文本,x表示文本的个数;第二项的spani表示第i个实体词跨度,t表示实体词跨度的个数。λ是一项超参数(0<λ<1),表示判断元素是否为实体词在整个模型损失中的权重。

3 实验结果与分析

3.1 实验数据集及标注方法

表1 GENIA数据集

不同的数据集可能使用各种标注方法,其中常见的有BIOES标注法、Markup标注法和BIO标注法。在本文的数据集中,我选择了BIO标注法。具体而言,“B-X”表示该元素所在片段属于X类型且该元素位于片段开头,“I-X”表示该元素所在片段属于X类型且该元素位于片段中间,“O”表示该元素不属于任何类型[18]。

在标注前首先需得到最大嵌套层数N(N设置为4),标注时对每个词标注N列,由内层向外层标注类别信息。表2给出了GENIA数据集某一片段的嵌套实体标注结果。

表2 BIO标注片段

3.2 实验参数与实验环境

本文模型基于PyTorch 1.3.1框架,预训练的字级别嵌入向量维度和字符级嵌入向量维度各为200维并随机初始化。模型参数见表3。

表3 实验参数设置

具体实验环境设置见表4。

3.3 评价标准

实验中采用精确率(P)、召回率(R)和综合评价指标F1作为模型性能的评价指标。精确率指被模型预测为实体的元素中确为实体的概率,召回率指数据集中所有实体被模型准确识别出的概率。

3.4 实验结果对比

为验证本文将两种嵌入特征向量进行双流互补的有效性,选取以下5种具有代表的模型作为基线模型,选择结果如下:

(1)Xu等[19]提出基于局部检测方法,在未借助任何外部资源或特征工程情况下优于传统的序列标记方法;

(2)Sohrab和Miwa[20]用BiLSTM得到句子表示向量,将所有可能为命名实体的区间跨度枚举出来,接着用神经网络对其进行验证并分类;

(3)Ju等[21]提出了一种基于LSTM和CRF组成的命名实体识别层,在NER层对预测标签进行全局解码,而不依赖特征工程采用的级联CRF层以一种从内到外的方式提取内部实体编码的信息来识别外部实体;

(4)Lin等[22]提出将超图模型与神经网络结合,以超图来识别重叠的元素,神经网络获取特征的方式进行嵌套实体的识别;

(5)Liao等[13]采用两种嵌入方式并结合神经网络,用以提取更高效的特征信息。

表5给出了不同模型在GENIA数据集上的实验结果。

表5 不同模型在GENIA上的实验结果

从实验结果来看,本文的R值和F1值都达到了最优。其中,Ju等提出的模型较优可能是因为CRF 可以从训练数据中学习到约束条件,从而提高了预测标签的有效性,但模型可能会产生级联错误。Lin等用超图模型识别嵌套结果效果不如其它模型,这可能是由于实际嵌套结构和图结构之间的映射存在很大的差距。Liao等不同于其它方法,句子嵌入时采取了两种基于单词的嵌入方法,用Bi-LSTM获取句子上下文信息,对获取到的不同特征向量进行特征交互从而实现嵌套实体识别,实验结果优于除Ju等以外的其它方法。本文的模型受Liao等的启发,对两种嵌入得到的特征向量进行双流的特征互补,实验结果表明本文模型优于前者。具体的,本文模型的R值比Liao等提升4.8%,F1值相比Ju等提升1%。

3.5 消融实验

特征提取是进行嵌套命名实体识别的重要步骤和关键部分,因此在设计模型时考虑特征信息的提取变得十分重要。为了验证本文模型在基于双流特征互补后特征识别的效果,本文与5种经典模型进行对比实验,实验数据集均为GENIA,所有模型均采用字级别嵌入和字符级别嵌入两种嵌入方式。

(1)BiLSTM+MHSM:两种嵌入向量使用BiLSTM提取上下文特征信息,随后用多头注意力机制获取局部特征信息。

(2)BiLSTM+CCM+MHSM+HBCL:使用BiLSTM获取文本上下文信息特征后,将字符级嵌入特征向量的有效信息补充到字级嵌入特征向量,随后进入多头注意力机制,再进行高层级的特征互补。

(3)BiLSTM+WEM+MHSM+HBCL:经过BiLSTM得到两种特征向量后将字级嵌入特征向量的有效信息补充到字符级嵌入特征向量,随后获取局部特征信息,再进行高层级的特征互补。

(4)BiLSTM+MHSM+HBCL:使用BiLSTM获取文本上下文特征信息后,再获取句子局部特征信息,随后直接进行高层级特征互补得到句子特征向量。

(5)BiLSTM+CCM+WEM+MHSM:经过BiLSTM得到两种特征向量后进行两个维度的低层级特征互补,随后进入多头注意力机制获取句子局部特征信息。

实验设计了5组消融实验模型,各个模型的实验结果见表6。

表6 GENIA上的消融实验结果

将本文模型与消融模型(1)对比可以看出,做了双流的特征互补后,特征信息的提取性能明显提升,其中R值提升9.1%,F1值提升4.1%。将消融模型(1)和消融模型(2)、模型(3)对比可以看出,添加了某一维度的特征互补之后特征信息的提取效果有所提升,这是因为经过低层级特征互补后可以获取低层级语义信息,从而提高了整体识别效果。从消融模型(1)与消融模型(4)的结果对比来看,可以发现高层特征信息互补同样对特征信息的提取同样十分重要。将本文模型与消融模型(5)对比可以发现高层级特征互补的重要性,本文在低层级特征互补后又增加了高层级特征互补,其中R值提升5.6%,F1值提升1.6%。对比消融模型(4)和模型(5)可以发现,只做低层级特征互补F1值要略高于只做高层级特征互补,这可能是因为高层级的特征互补一定程度上依赖于低层级特征互补。

综合上面的实验结果可以得出,两种不同嵌入方式得到的特征向量综合低层级特征互补和高层级特征互补后,增强了有用特征信息的提取,从而提高了嵌套命名实体的整体识别效果。

4 结束语

本文提出了一种基于双流特征互补的模型,以获取文本中隐藏的有用的特征信息。同时,采用了多头部注意机制来使模型中更侧重于重要特征,减少对非重要特征的关注,优化资源分配。通过字级嵌入和字符级嵌入两个维度来获取句子的特征,结果表明通过底层和高层对字特征和字符特征融合互补提升了嵌套命名实体的识别效果。一些研究发现,最新的预训练语言模型,如RoBERTA或ALBERT,可以获得良好的初始化效果,获取跨句子单词间的依赖关系。由此可见,如果将基于Transformer的预训练模型应用于句子嵌入过程,将会带来很大的优势。因此,在未来的研究工作中,将结合一些预训练语言模型来获取句子特征信息,并且将继续研究如何有效解码嵌套命名实体中的标记。

猜你喜欢
嵌套字符特征向量
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
寻找更强的字符映射管理器
克罗内克积的特征向量
基于嵌套Logit模型的竞争性选址问题研究
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
一类特殊矩阵特征向量的求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
一种基于区分服务的嵌套队列调度算法