基于两段高速网络的命名实体识别

2022-04-19 09:27李明扬
中文信息学报 2022年3期
关键词:网络层语料粒度

陈 淳,李明扬,孔 芳

(苏州大学 计算机科学与技术学院,江苏 苏州 215006)

0 引言

命名实体识别(Named Entity Recognition, NER)是自然语言处理领域中一个典型的序列标注问题,旨在识别出非结构化文本序列中含有特定意义的实体,并标注以人名、地名、机构名等。这些具有特殊含义的实体在关系抽取[1]、指代消解[2]、对话问答[3]等下游任务中发挥着重要作用。

近年来命名实体识别发展迅速,但现有的研究对字、词之间的关联信息挖掘不够,无法统一处理组合实体和常规实体的识别。例如,He和Wang[4]、Liu[5]、Li[6]等对比了字与词粒度分别作为输入时的命名实体识别效果,结果显示基于字粒度要优于词粒度。但是基于字粒度的嵌入式表示存在识别结果的标签不连续的情况,不能解决中文词汇的边界模糊问题,而基于词粒度的嵌入式表示具有显式的词汇边界,可有效缓解上述问题。此外,汉语词汇具有明显的复合结构。如图1所示,当词以姓氏“李”作为前缀时,一般情况下都是表达人名的含义。而在某些特殊场景,组合实体内部分字的组合能够充分表达该词的含义,如“北京大学”拥有词后缀“大学”,从语言学角度我们可以直观地判断为ORG,而其中的“北京”反而会给该实体的识别带来负面影响。为利用字词各自的优势,充分挖掘字词间的关联,本文提出了一种融合双向注意力机制的高速网络,希望能通过词本身或者词内字的有效组合信息的融入来更好地为中文命名实体识别服务。

图1 组合词示例

命名实体识别在长期研究中形成了Bi-LSTM(Bi-directional Long Short-Term Memory)[7]与CRF(Conditional Random Fields)[8]结合的主流模型,但对中文而言,复合命名实体的占比较高,表1统计了OntoNotes中简单实体和复合实体的占比,其中复合实体的占比大于14%,这就使得实体序列长短不一,如何多视角地捕获实体文本自身各个层次的信息,更好地融合多种信息,成为提升中文命名实体识别性能的关键。本文给出了融入自注意力机制的借助高速网络进行信息桥接的解决方案。

表1 OntoNotes V 4.0简单实体与组合实体分布

在OntoNotes中文数据集上的实验证明,本文给出的基于两段高速网络的神经网络模型能够很好地识别出多类型实体,消除部分实体歧义,获得较高的P(Precsion)值和R(Recall)值。在没有使用大型预训练语言模型的情况下,本文模型能够取得目前OntoNotes中文语料上最好的命名实体识别性能。

1 相关研究

命名实体识别作为自然语言处理领域的基础任务之一,长期受到科研人士的关注,目前命名实体识别以深度学习方法为主流。随着ELMo、BERT等大型预训练语言模型的出现,近几年命名实体识别的研究侧重于找到更好的情境化向量表示,从而起到提升命名实体识别性能的作用。

在字词编码方面,已有研究均是以字粒度为主、词粒度为辅,没有将二者放在同等维度上考虑。近年具有代表性的相关研究有: Zhang和Yang[9]在2018年引入Lattice模型将所有与词典匹配的潜在单词信息整合到字符序列中,获得较好的向量表示。2019年,Mengge X等[10]发现Lattice方法需要多次递归计算,导致这个模型的计算成本很高。在此基础上,Mengge X等[10]提出了一种新颖的Lattice+Transformer模型来解决上述问题,得益于Transformer的mask机制,该模型避免了之前的大规模计算,速度提升了9.47倍。

在有效捕获文本自身信息方面,李等[11]在2018年使用门控算法结合多头注意力机制,在多个不同子空间捕获上下文相关信息,能较好地理解句子结构。Jie和Lu[12]在2019年将依赖树结构与GCN结合,对依赖关系树进行编码,并捕获其属性,用来提升中文命名实体识别的性能。

除此以外,Mengge X等[11]还在他们模型的基础上运用了大型预训练语言模型BERT,Jie和Lu[13]也在他们的实验中加入了ELMo进行对比,二者均获得明显的性能提升。由此可见,针对不同场景,合适的向量表示能够为中文命名实体识别带来效果的提升。Guo等[13]考虑到Transformer模型的复杂性,用星形拓扑结构代替了传统的全连接结构,复杂性从二次降低到线性,同时保留捕获局部成分和长期依赖关系的能力。

本文从字粒度与词粒度的向量表示着手,将二者放在同等维度上加以考虑,在不使用大型预训练语言模型的情况下,利用融入双向注意力机制的高速网络来获取组合词中有效字的组合(词缀),从而更好地服务于命名实体识别。另外,我们还利用融入自注意力机制的高速网络层来进一步捕获文本特征,结合两段高速网络层来高效识别中文命名实体。

2 命名实体识别框架

本文使用Lample等[14]的Bi-LSTM+CRF模型作为基础模型,将命名实体识别看作是序列标注问题之后,实体采用BMES规则标注,实体的开头标注为B(Beginning),实体内部单元标注为M(Median),实体的结尾标注为E(End),其他的词标注为O(Other)。

本文提出了基于两段高速网络的命名实体识别(Two HighWay NetWorks,THWNW)模型,图2给出了THWNW模型的完整框架,从图中可以看出,模型分为两部分,第一部分包括输入以及对字粒度输入的处理,模型分别输入字粒度以及词粒度的嵌入式表示,然后通过融入双向注意力机制的高速网络层(HWNW_1)获得词内有效字的组合信息。第二部分是融入了自注意力机制的高速网络层(HWNW_2)。下文将逐个介绍THWNW模型中各个组成部分。

图2 THWNW模型

2.1 字、词粒度的嵌入式表示

在编码阶段,原始数据通过查找字或词向量表转化为字或词向量序列。对于文本中的字与词的向量表示,我们使用2018年预先训练完成的词向量[15],该词向量使用Word2Vec中的Skip-Gram模型训练,维度为300。该词向量包括百度百科、中文维基百科、人民日报、微博、知乎等多领域的字词特征,模型训练参数设置如表2所示。

表2 SGNS模型训练参数设置

字词向量表查找的过程是让原始文本中每一个字符或者单词在表上查找相对应的字词向量,如果某个字符或单词在表中不存在,则被赋予一个随机值。

2.2 基础模型: Bi-LSTM+CRF

在中文命名实体识别的任务中,我们旨在根据给定的输入序列x={x1,x2,…,xn}来预测标签序列y={y1,y2,…,yn},其中,n是单词总数。CRF层[8]定义给定x的标注序列y的概率,如式(1)所示。

(1)

继Lample等[14]的工作,score(x,y)定义为双向LSTM的传递分数和发射分数之和,如式(2)所示。

(2)

其中,A是一个转移矩阵,Ayi,yi+1是从标签yi到标签yi+1的传递参数。F是发射矩阵,Fx,yi表示标签yi在第i个位置的得分。这样的分数由参数化的LSTM网络[7]提供。在训练过程中,我们将对数可能性降到最低,以获得包括LSTM和传递参数在内的模型参数。

2.3 融入双向注意力机制的高速网络层

注意力机制是一种用来分配有限的信息处理能力的选择机制,其特点为选择性地关注某些重要的信息,相应地忽略同一时刻接收到的其他信息[16]。

OntoNotes语料中存在大量复合实体以及复合实体中的部分实体同时存在的情况,对于这些存在关系的复杂实体(如图3中的“中国”与“中国人民大学”),基础的Bi-LSTM+CRF模型并不能准确识别。我们观察了相关实验结果,发现大量的单独实体(如“中国”)没有被识别出来,同时与该实体有关的复合实体(如“中国人民大学”)也存在未识别及识别边界错误的情况。

图3 字词向量对齐

考虑到这类问题,我们观察到在一些特殊场景下,词内部分字的有效组合有助于快速理解该词本身,甚至整个句子。图3中的“中国人民大学”,我们可以根据词后缀“大学”快速将该实体判断为ORG。本文提出的THWNW模型利用双向注意力机制将字粒度和词粒度的向量表示进行对齐,自主选择词内能够有效表示该词的部分字组合,具体过程如图4所示。

图4 Bi-attention模型图

双向注意力机制负责链接和融合词向量和字向量的信息。这里的双向包含两个步骤,首先是word到char的单向注意力流,针对词向量表示中的每个单词,计算字向量表示中每个字与其所对应的词向量中单词i的相关度。然后是char到word的单向注意力流,对于字向量表示的每个字,计算word向量表示中的每个单词与char向量表示中当前字j的相关度。我们试图利用这样的双向注意力机制使输入的字和词向量获得对齐,并且在两轮相似度计算之后,获得词内部分字的有效组合来充分代表该词。

字粒度以Hc=c1,c2,c3,…,cm输入,其中,ci表示汉语中的每一个字,字的向量表示需要先经过GRU神经网络层得到初步处理,如式(3)所示。

(3)

词粒度以Hw=w1,w2,w3,…,wn输入,其中,wj表示汉语中的每一个词。图3展示了上例中词与字粒度向量表示对齐的结果,我们可以用这种方式从字的角度来更好地理解词信息。

对于上述字与词粒度的输入,双向注意力机制可以用式(4)概括:

(4)

图4给出了双向注意力机制内部详细的计算流程,首先需要计算相似度矩阵,如式(5)所示。

(5)

Q(p,q)=w×[p,q,p⊗q]

(6)

这里的相似度矩阵其实就是将字和词的向量表示以及它们的矩阵点乘结果拼接,再乘以权重w。

接下来进入双向attention的计算,如式(7)、式(8)所示。

其中,maxcol(Lij)为矩阵L中第j列最大的元素,式(4)计算了word到char的attention,式(5)计算了char到word的attention,分别计算两个方向的attention之后,对上述向量进行统一处理,如式(9)所示。

(9)

图5 HWNW_1模型图

该高速网络所对应的计算如式(10)~式(12)所示。

考虑到句子中每个位置的字对于上下文的依赖程度不同,通过引入门控Gate来学习句子中每个位置的字所占权重,该门控机制由sigmoid单元组成。其中,Wg1和bg1分别表示门控机制的权重参数与偏差参数。

(13)

2.4 融入自注意力机制的高速网络层

在目前的序列标注主模型中,仅仅依靠Bi-LSTM无法解决序列长短不一的问题。本文在Bi-LSTM模型后应用多头自注意力机制,以此从多角度、多层次获取文本的相关特征。融入多头自注意力机制的HWNW_2模型如图6所示。

图6 HWNW_2模型图

Transformer[18]首先使用h个注意力头对一个输入序列分别进行单独的自我注意,然后对每个注意力头进行连接和线性变换操作,称为多头注意力机制(MultiHead-Attention)。一般来说,多头注意力机制可以用查询(query)到一系列键(key)值(value)对的映射来描述。

首先介绍放缩点积注意力(scaled dot-product attention),其本质上是使用了点积进行相似度计算。给定一个向量序列X,我们可以使用一个查询向量Q软选择相关信息,如式(14)、式(15)所示。

其中,WK,WV是对应向量的学习参数。然后我们可以将多头注意力机制定义为:

Lin[19]首次提出了自注意力机制(self-attention),其思想就是在序列内部做attention,寻找序列内部的联系,即Attention(X,X,X),X就是输入序列。

和双向注意力机制一样,对于多头自注意力机制,我们也用高速网络对上层Bi-LSTM得到的特征向量HLSTM以及经过多头自注意力机制的结果HMH进行桥接,最终得到特征向量HHWNT_2,式(18)~式(20)描述了HWNW_2的详细过程。

3 实验设置与结果分析

本文将使用命名实体识别的公开数据集,通过不同的设置对模型进行实验,并对实验结果进行讨论与分析,最终采用准确率P、召回率R和Micro-F1值对标注结果进行评价。

3.1 实验数据集

本文实验是在大型OntoNotes V 4.0[20]中的中文数据集上进行的。我们的初衷是将字与词粒度放在同等维度上考虑,为了排除分词工具对命名实体识别的影响,我们采用了按词划分的OntoNotes V 4.0语料。其中包括训练集、开发集和测试集共24 371个句子,表3给出了该语料详细的结构。

表3 OntoNotes V 4.0详细数据

OntoNotes V 4.0语料标注的实体类型包括PER、ORG、LOC和GPE,表4给出了语料中各个类别的分布情况,从中我们可以清晰地看出这四类实体分布不均,且ORG和GPE类型的实体占大多数。

表4 OntoNotes V 4.0实体类型分布

除此以外,表1给出了各数据集上组合实体和简单实体的比例,其中组合实体占到了约14.5%,而大多数ORG和GPE类型的实体为复合实体,适合用我们前文中所阐述的融入双向注意力机制的高速网络捕获词缀信息。

Zhang等[9]、Mengge X等[10]和Jie等[13]的工作均是采用字粒度的OntoNotes语料,本文采用词粒度的OntoNotes语料,因此不考虑分词误差。

我们在实验过程中还引入了词性标注(part-of-speech tagging)特征,希望能够通过对语料中不同词性的区别来优化命名实体识别的结果。实验中采用Stanford Parser的词性标注器进行标注,使用的模型是chinese-distsim.tagger[21]。我们对比了将一整个句子进行标注的方式以及对单个词标注的方式,最终采用更加准确的融合句法信息的标注方式。

3.2 实验设置

本文实验采用Pytorch 0.4.1框架,并用NVIDIA的1080 GPU进行加速。使用的预训练词向量参数在表2中已经给出,模型的查询表使用预训练得到的向量进行初始化,其他参数均采用均匀分布的随机函数初始化。

表5给出了模型的参数值,我们使用Adam(Adaptive moment estimation)[22]来优化所有可训练的参数;为了保证字、词的同一性,使用的字词嵌入式表示维度都是300,词性标注特征向量的维度设为40;将上述的字词向量作为下层神经网络层的输入,Bi-LSTM和HWNW_2模型的隐藏层维度均为200,其中,LSTM层数为1,HWNW_2中多头自注意力机制的头数设为8(维度200可被头数8整除)。整个模型的学习率lr设置为0.001,学习率减少步长lr_decay设置为0.05,所有神经网络的dropout设置为0.5,L2正则化参数设置为1e-8。

3.3 实验结果及分析

实验采用准确率P、召回率R和F1值对标注结果进行评价。其中,F1值能够综合评价模型的性能,本文使用与Zhang等[9]、MeggenX等[10]和Jie等[12]相同的Micro-F1。

表6给出了我们在OntoNotes V 4.0中文语料上的结果对比,表中所有的LSTM均为双向,且所有模型的解码层都是CRF。Zhang和Yang[9]在2016年将结合离散和神经特征的Bi-LSTM模型运用到命名实体识别中,在2018年通过词典将有效的词信息融入到了字向量表示中,获得了较大性能提升。在此基础上,MeggenX等[10]利用Transformer机制弥补了之前Lattice计算过于冗杂的缺点。Jie等[12]利用了依赖关系树结构的优势,捕获句子中单词之间的长距离和句法关系为NER服务。本文提出的THWNW模型同样从充分挖掘字词信息的角度出发,利用融入两段高速网络的的注意力机制来捕获实体内部的依赖信息。从表6可以看出,在没有使用大型预训练语言模型的情况下(不考虑BERT和ELMo实验结果),我们的THWNW模型在准确率P、召回率R以及综合性能F1值上均高于其他现有模型,F1值比其中最好的值还要高2.54%。除此以外,本文模型性能甚至高于使用了ELMo的DGLSTM模型。

表7列出了具体的实验步骤以及对应结果,第一个实验是词粒度上的LSTM+CRF模型结果;第二个是基于字与词粒度的LSTM+CRF模型结果;第三个实验是在语料上加入了POS特征;第四个实验是在第三个实验的基础上加了HWNW_1层;类似的,第五个实验是在第三个实验的基础上加了HWNW_2层;而第六个实验便是基于两段高速网络的THWNW模型结果。

表7 详细实验对比结果

3.3.1 HWNW_1的效用分析

从表7中的第3和第4个实验结果我们可以看出,HWNW_1除了在综合指标F1值上有3.02%的提升之外,在准确率P和召回率R上均有明显提升,尤其是P值提升了3.84%,由此可见HWNW_1网络层可以准确地识别出实体类型。我们对不同的模型输出了各自在测试集上的标注结果,表8为测试集上的一个例子。

表8 HWNW_1测试集实例

第一个例句中的“日本伊藤忠株式会社”就是十分典型的组合实体,它由“日本”“伊藤忠”以及“株式会社”构成,我们可以通过HWNW_1网络层捕捉到其中的词缀信息“株式会社”,从而判定整个组合实体为ORG。类似的,“中国能源工业中心”也可以直接通过词缀“中心”将整个复合实体标注为ORG。

3.3.2 HWNW_2的效用分析

对于表7中的实验3和实验5,我们可以观察到HWNW_2网络层在召回率R值上提升了2.73%,相比较于HWNW_1网络层也提高了0.59%。召回率R与判断某词是否为命名实体息息相关,可以看出HWNW_2网络层能够对HWNW_1网络层起到一定的辅助作用,帮助模型判别是否为实体。

HWNW_2可以较好地识别出较长的简单实体和组合实体,表9给出了测试集上的一个例子。“额尔古纳河”是一个字长为5的简单实体,在没有外部信息的情况下,HWNW_2网络层能够较好地捕捉上下文信息,从而判断出此处应该标注为LOC。而第二个例子中的“上海第二设计分局电器专业科”除了其组合特征以外,还是一个字长为13的实体,HWNW_2网络层可以有效地获取较长距离上的依赖关系,在长短不一的序列上进一步提取特征,将其标注为ORG。

表9 HWNW_2测试集实例

3.3.3 两段高速网络效用分析

综合两段高速网络进行了实验6,从结果中可以看出召回率R在实验5的基础上又提升了0.33%,但是准确率P却没有得到提升,得到了介于实验4和实验5的中间值。于是我们进一步分析比较THWNW模型中两个网络层各自的命名实体识别效果,如表10所示。

表10 命名实体识别结果统计

在OntoNotes语料中,命名实体识别的结果会有以下三种情况: ①未识别出实体(识别为O);②实体识别错误(类型识别错误);③实体边界错误。

表7的实验结果显示HWNW_1可以正确识别出大部分实体类型,和上文中HWNW_1对于P值的提升相对应,HWNW_1可以较好地捕获语料内复合实体的词缀信息,从而提升中文命名实体识别的准确率。而HWNW_2则在判定实体方面做出了不小贡献,使整个模型最终的未识别数缩减,进一步提高召回率R值。

实验结果可以验证我们将字词粒度的向量表示放在相同维度的思想是正确的,字与词在一般情况下处于同等重要的地位。考虑到OntoNotes语料中存在大量复合实体,而模型无法准确判断复合实体中的部分实体是单独存在,还是作为复合实体的一部分,我们引入了HWNW_1层。HWNW_1网络层可以将一个完整句子中字粒度与词粒度的向量表示对齐,学习到某些复合实体中的重要词缀信息,比如在“李某某”中我们只关注姓氏“李”,而一些机构代称如“瑞士银行”中,有助于命名实体识别的信息只有“银行”,从而提高准确率P值。HWNW_2网络层可以捕获较长距离上下文的依赖关系,弥补LSTM的部分缺陷,在召回率R值上有不小的提升。综合二者的优势,我们的THWNW模型达到了目前最好的中文命名实体识别效果。

4 结论

本文提出了一个基于两段高速网络的神经网络命名实体识别框架,分别将双向注意力机制和多头自注意力机制与高速网络相结合。该方法分别挖掘了同等维度下字和词粒度的关联信息,同时从多层次、多视角捕获序列的特征,提升了中文命名实体识别的性能。在没有使用大型预训练语言模型的情况下,我们的THWNW模型能够取得目前OntoNotes语料上最好的效果。

OntoNotes语料是相对规范的新闻文本语料,未来我们考虑将THWNW模型发展到其他领域,比如社交媒体语料Weibo。多领域语料结构的差别可能会导致相同的模型有截然不同的效果,我们可以使模型自适应不同的语料结构,以获得较均衡的命名实体识别性能。

猜你喜欢
网络层语料粒度
基于归一化点向互信息的低资源平行语料过滤方法*
粉末粒度对纯Re坯显微组织与力学性能的影响
动态更新属性值变化时的最优粒度
濒危语言与汉语平行语料库动态构建技术研究
组合多粒度粗糙集及其在教学评价中的应用
论物联网安全威胁及其应对策略
通信认知教学中多粒度可重用模型建模研究
物联网技术在信息机房制冷系统中的应用
国内外语用学实证研究比较:语料类型与收集方法
浅析TDCS/CTC系统中心网络防火墙的链接