2. 墨尔本大学, 澳大利亚 墨尔本 3010
2. The University of Melbourne, Melbourne 3010, Australia
开放科学(资源服务)标志码(OSID):
命名实体识别(Named Entity Recognition,NER)旨在从非结构化的文本中抽取人名、地名、结构名等实体,是自然语言处理中的重要任务之一,也通常被认为是关系抽取[1]、语义解析[2]、问答系统[3]等下游任务的基础。现有的命名实体识别方法主要分为基于传统机器学习和深度学习两种。最大熵模型[4]、隐马尔科夫模型[5-6]、条件随机场(Conditional Ramdom Field,CRF)[7]等基于传统机器学习的命名实体识别方法需要投入大量的人力进行语料标注与特征模板设计,实现成本较高。基于深度学习的命名实体识别方法由于具有强大的泛化能力,因此成为当前的主流方法。对于基于深度学习的中文命名实体识别模型而言,当模型使用字符嵌入时受未登录(Out-of-Vocabulary,OOV)词影响较小[8-9],当模型使用词嵌入时能充分利用词边界信息并减少一字多义的干扰。为兼顾两者的优势,文献[10]联合字符嵌入与词嵌入,提出Lattice LSTM模型,通过融合字词信息,提高了模型的泛化能力。然而,由于无法获取词内部信息,该模型在融合过程中存在信息损失的问题,同时,由于长短时记忆(Long Short-Term Memory,LSTM)网络的单向链式结构,模型无法并行计算,因此时间复杂度较高。在此基础上,各种改进模型不断被提出。为减少字词信息融合过程中的信息损失,文献[11-13]将字词信息融合过程由链式结构转换为图结构,分别提出基于协作图网络的CGN模型、增强全局信息捕捉能力的LGN模型、通过多维图解决词典匹配冲突的Multi-digraph模型。为提高运行速度:文献[14]通过构建SoftLexicon策略,将字词信息融合改为静态加权方式,降低融合成本;文献[15]提出LR-CNN模型,利用卷积神经网络(Convolutional Neural Network,CNN)的并行化优势,代替长短时记忆网络进行特征抽取;文献[16-17]分别提出FLAT模型和PLTE模型,引入transformer进行序列编码,提高模型并行能力。
随着基于字词联合的命名实体识别模型不断被提出,中文命名实体的识别效果得到了较大提升,但仍有一些共性问题难以解决。人名、地名等专有名词在通用语料中出现频率较低且构词方式无固定规律,模型中所用word2vec[18]构建的词向量对这些低频词的覆盖率不高,相应的未登录词会干扰实体边界的界定。以“代表团视察了约旦河”为例,由于“约旦河”在词向量中属于未登录词,基于字词联合的命名实体识别模型更倾向于将“约旦”识别为一个实体。基于深度学习的命名实体识别模型依赖于大规模训练语料,而大多数人工标记的实体识别数据集规模相对较小,如何利用小样本学习方法提升中文命名实体识别的效果有待进一步研究。
为解决上述问题,本文在现有的LR-CNN模型上进行改进,提出一种基于知识增强的命名实体识别模型AKE。使用改进位置编码的多头注意力机制捕捉长距离依赖,弥补传统注意力机制丢失位置信息的缺陷,以提高模型上下文信息捕捉能力。加入知识增强模块,在序列编码过程中融入实体类别、边界等附加知识,弱化未登录词的影响并缓解模型在小数据集上性能表现不佳等问题。
1 基于知识增强的中文命名实体识别模型本文提出的AKE模型的整体结构如图 1所示,根据功能可大致分为字词联合、知识增强、解码3个模块。字词联合模块根据匹配词长度,对字词信息进行分层融合。在各层中,首先依据CNN所用卷积核尺度不同,获取所在层相应长度的词组序列;然后经由改进位置编码的自注意力机制,捕获序列的长距离依赖;最后与匹配词进行信息融合,得到本层的字词联合结果。知识增强模块通过查询基于领域知识等构建的实体词典,指导字词联合模块中不同层所得信息的整合,在最终的序列编码中加入实体边界、类别等附加知识。解码模块使用条件随机场对知识增强后的编码进行标注,得到标注结果序列。依据处理流程,下文将分别对模型的3个模块进行介绍。
![]() |
Download:
|
图 1 AKE模型的整体结构 Fig. 1 Overall structure of AKE model |
GUI等[15]利用CNN局部特征提取的天然优势和优秀的并行能力,提出LR-CNN模型,为字词信息的融合提供了新的思路。然而,尽管该模型的字词联合模块中,各层CNN的层内可以充分利用并行计算的优势,但CNN层间为串行执行,当CNN层数较多时,模型依然存在复杂度较高的问题。本文在LR-CNN模型的基础上,对其中的字词联合模块进行改进,首先将各层CNN改为层间并行,各层同时进行特征抽取,提高模型运行速度,然后用基于相对位置编码的多头注意力机制捕获长距离依赖,进一步提高字词联合模块的表征能力。
字词联合模块中各层字词信息的融合结果,由CNN所提取的n-gram的特征信息、对应词嵌入序列、上一层融合结果经门控网络得到,其计算过程可分为基于CNN的n-gram特征信息提取、字词信息初步融合、字词信息融合权重调整3个步骤。
1.1.1 基于CNN的n-gram特征信息提取在字词融合模块中具有3层CNN,CNN1、CNN2、CNN3的卷积核分别为
$ \left\{\begin{array}{l}{\boldsymbol{c}}_{\tau }=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left({\boldsymbol{x}}_{\tau }\odot {\boldsymbol{H}}_{\boldsymbol{C}}+{\boldsymbol{b}}_{\boldsymbol{C}}\right)\\ {\boldsymbol{d}}_{\tau }=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left(\left[{\boldsymbol{x}}_{\tau }:{\boldsymbol{x}}_{\tau +1}\right]\odot {\boldsymbol{H}}_{\boldsymbol{D}}+{\boldsymbol{b}}_{\boldsymbol{D}}\right)\\ {\boldsymbol{t}}_{\tau }=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left(\left[{\boldsymbol{x}}_{\tau }:{\boldsymbol{x}}_{\tau +1}:{\boldsymbol{x}}_{\tau +2}\right]\odot {\boldsymbol{H}}_{\boldsymbol{T}}+{\boldsymbol{b}}_{\boldsymbol{T}}\right)\end{array}\right. $ | (1) |
其中:
受CNN感受野限制,得到的特征序列C、D、T缺少长距离信息,在LR-CNN模型中,传统注意力机制虽然对此问题进行了弥补,但由于位置编码存在的缺陷,模型会损失距离信息与方向信息。对于命名实体识别等序列标注任务,上文标注内容会影响下文标注结果,距离与方向信息的损失会对模型产生负面影响。为解决上述问题,采用基于相对位置编码的多头注意力机制[19-20]构建上下文关系。在新的注意力机制中,对于输入序列中的时刻
$ {\boldsymbol{R}}_{t-j}={\left[\cdots \mathrm{s}\mathrm{i}\mathrm{n}\left(\frac{t-j}{10{000}^{\frac{2i}{{d}_{k}}}}\right)\mathrm{c}\mathrm{o}\mathrm{s}\left(\frac{t-j}{10{000}^{\frac{2i}{{d}_{k}}}}\right)\cdots \right]}^{\mathrm{T}} $ | (2) |
因此,针对不同方向的相对位置
$ {\boldsymbol{R}}_{\tau }=\left[\begin{array}{c}\begin{array}{c}\begin{array}{c}\mathrm{s}\mathrm{i}\mathrm{n}\left({c}_{0}\tau \right)\\ \mathrm{c}\mathrm{o}\mathrm{s}\left({c}_{0}\tau \right)\end{array}\\ ⋮\end{array}\\ \mathrm{s}\mathrm{i}\mathrm{n}\left({c}_{\frac{d}{2}-1}\tau \right)\\ \mathrm{c}\mathrm{o}\mathrm{s}\left({c}_{\frac{d}{2}-1}\tau \right)\end{array}\right], {\boldsymbol{R}}_{-\tau }=\left[\begin{array}{c}\begin{array}{c}\begin{array}{c}-\mathrm{s}\mathrm{i}\mathrm{n}\left({c}_{0}\tau \right)\\ \mathrm{c}\mathrm{o}\mathrm{s}\left({c}_{0}\tau \right)\end{array}\\ ⋮\end{array}\\ -\mathrm{s}\mathrm{i}\mathrm{n}\left({c}_{\frac{d}{2}-1}\tau \right)\\ \mathrm{c}\mathrm{o}\mathrm{s}\left({c}_{\frac{d}{2}-1}\tau \right)\end{array}\right] $ | (3) |
在改进位置嵌入的基础上,注意力机制的具体计算如下:对于长度为
$ \boldsymbol{Q}=\boldsymbol{I}{\boldsymbol{W}}_{q}, \boldsymbol{K}={\boldsymbol{I}}_{{d}_{k}}, \boldsymbol{V}=\boldsymbol{I}{\boldsymbol{W}}_{v} $ | (4) |
$ {\boldsymbol{A}}_{t, j}^{\mathrm{r}\mathrm{e}\mathrm{l}\mathrm{a}}={\boldsymbol{Q}}_{t}{\boldsymbol{K}}_{j}^{\mathrm{T}}+{\boldsymbol{Q}}_{t}{\boldsymbol{R}}_{t-j}^{\mathrm{T}}+\boldsymbol{u}{\boldsymbol{K}}_{j}^{\mathrm{T}}+\boldsymbol{v}{\boldsymbol{R}}_{t-j}^{\mathrm{T}} $ | (5) |
$ \mathrm{a}\mathrm{t}\mathrm{t}\mathrm{n}\left(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V}\right)=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\boldsymbol{A}}^{\mathrm{r}\mathrm{e}\mathrm{l}\mathrm{a}}\right)\boldsymbol{V} $ | (6) |
$ \begin{array}{l}\mathrm{M}\mathrm{u}\mathrm{l}\mathrm{t}\mathrm{i}\mathrm{H}\mathrm{e}\mathrm{a}\mathrm{d}\mathrm{A}\mathrm{t}\mathrm{t}\mathrm{n}=\mathrm{a}\mathrm{t}\mathrm{t}\mathrm{n}\left(\left(\boldsymbol{K}, \boldsymbol{V}\right), {\boldsymbol{q}}_{1}\right) \oplus \\ \mathrm{a}\mathrm{t}\mathrm{t}\mathrm{n}\left(\left(\boldsymbol{K}, \boldsymbol{V}\right), {\boldsymbol{q}}_{2}\right) \oplus \cdots \oplus \mathrm{a}\mathrm{t}\mathrm{t}\mathrm{n}\left(\left(\boldsymbol{K}, \boldsymbol{V}\right), {\boldsymbol{q}}_{M}\right)\end{array} $ | (7) |
其中:
经多头注意力机制后,将得到的
各层字词信息的融合可由式(7)中所提取n-gram的特征信息
本节以双字层序列
$ {\boldsymbol{u}}_{1}=\mathrm{t}\mathrm{a}\mathrm{n}\mathrm{h}\left({\boldsymbol{W}}_{{u}_{1}}\left[{\boldsymbol{D}}^{\text{'}}, {\boldsymbol{Z}}_{\boldsymbol{D}}\right]+{\boldsymbol{b}}_{{u}_{1}}\right) $ | (8) |
$ {\boldsymbol{i}}_{1}=\sigma \left({\boldsymbol{W}}_{{i}_{1}}\left[{\boldsymbol{D}}^{\text{'}}, {\boldsymbol{Z}}_{\boldsymbol{D}}\right]+{\boldsymbol{b}}_{{i}_{1}}\right) $ | (9) |
$ {\boldsymbol{f}}_{1}=\sigma \left({\boldsymbol{W}}_{{f}_{1}}\left[{\boldsymbol{D}}^{\text{'}}, {\boldsymbol{Z}}_{\boldsymbol{D}}\right]+{\boldsymbol{b}}_{{f}_{1}}\right) $ | (10) |
$ {{\boldsymbol{i}}_{1}}^{\mathrm{\text{'}}}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\boldsymbol{i}}_{1}\right), {\boldsymbol{f}}_{1}^{\text{'}}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\boldsymbol{f}}_{1}\right) $ | (11) |
$ {\boldsymbol{D}}_{1}={\boldsymbol{i}}^{\text{'}}\odot {\boldsymbol{u}}_{1}+{\boldsymbol{f}}_{1}^{\text{'}}\odot {\boldsymbol{D}}^{\text{'}} $ | (12) |
其中:
在得到2-gram的特征信息与双字词词嵌入序列的融合结果
$ {\boldsymbol{w}}_{{\boldsymbol{D}}_{1}}=\sigma \left({\boldsymbol{W}}_{g}\right[{\boldsymbol{D}}_{1}, {\boldsymbol{C}}^{″}]+{\boldsymbol{b}}_{g}) $ | (13) |
$ {\tilde{\boldsymbol{D}}}^{″}={\boldsymbol{w}}_{{\boldsymbol{D}}_{1}}\odot {\boldsymbol{D}}_{1}+(1-{\boldsymbol{w}}_{{\boldsymbol{D}}_{1}})\odot {\boldsymbol{C}}^{″} $ | (14) |
其中:
虽然字词信息初步融合中操作对字级信息、词级信息、下层信息进行了融合,但得到
$ {\boldsymbol{i}}_{2}=\sigma \left({\boldsymbol{W}}_{{\boldsymbol{i}}_{2}}\left[{\boldsymbol{D}}^{\text{'}}, {\boldsymbol{Z}}_{\boldsymbol{D}}, {\tilde{\boldsymbol{T}}}^{″}\right]+{\boldsymbol{b}}_{{\boldsymbol{i}}_{2}}\right) $ | (15) |
$ {\boldsymbol{f}}_{2}=\sigma \left({\boldsymbol{W}}_{{\boldsymbol{f}}_{2}}\left[{\boldsymbol{D}}^{\text{'}}, {\boldsymbol{Z}}_{\boldsymbol{D}}, {\tilde{\boldsymbol{T}}}^{″}\right]+{\boldsymbol{b}}_{{\boldsymbol{f}}_{2}}\right) $ | (16) |
$ {\boldsymbol{r}}_{2}=\sigma \left({\boldsymbol{W}}_{{\boldsymbol{r}}_{2}}\left[{\boldsymbol{D}}^{\text{'}}, {\boldsymbol{Z}}_{\boldsymbol{D}}, {\tilde{\boldsymbol{T}}}^{″}\right]+{\boldsymbol{b}}_{{\boldsymbol{r}}_{2}}\right) $ | (17) |
$ \left\{\begin{array}{l}{\boldsymbol{i}}_{2}^{\mathrm{\text{'}}}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\boldsymbol{i}}_{2}\right)\\ {\boldsymbol{f}}_{2}^{\mathrm{\text{'}}}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\boldsymbol{f}}_{2}\right)\\ {\boldsymbol{r}}_{2}^{\mathrm{\text{'}}}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\boldsymbol{r}}_{2}\right)\end{array}\right. $ | (18) |
$ {\boldsymbol{D}}_{2}={\boldsymbol{i}}_{2}^{\mathrm{\text{'}}}\odot {\boldsymbol{u}}_{1}+{\boldsymbol{f}}_{2}^{\mathrm{\text{'}}}\odot {\boldsymbol{D}}^{\text{'}}+{\boldsymbol{r}}_{2}^{\mathrm{\text{'}}}\odot {\tilde{\boldsymbol{T}}}^{″} $ | (19) |
其中:
按照式(20)、式(21)融合下层信息,得到双字层序列
$ {\boldsymbol{w}}_{{\boldsymbol{D}}_{2}}=\sigma \left({\boldsymbol{W}}_{g}\right[{\boldsymbol{D}}_{2}, {\boldsymbol{C}}^{″}]+{\boldsymbol{b}}_{g}) $ | (20) |
$ {\tilde{\boldsymbol{D}}}^{″}={\boldsymbol{w}}_{{\boldsymbol{D}}_{2}}\odot {\boldsymbol{D}}_{1}+(1-{\boldsymbol{w}}_{{\boldsymbol{D}}_{2}})\odot {\boldsymbol{C}}^{″} $ | (21) |
其中:
现有中文命名实体识别模型难以取得重大突破的重要原因在于:大多数中文人名、常用地名等专有名词构词方式无固定规律,实体边界确定困难;低频实体在词向量中存在大量未登录词,识别效果较差。因此,解决这些问题是命名实体识别研究的重要内容。但是,中文人名、常用地名、特定领域名词等实体的数量相对有限,基于这些知识构建实体词典较为容易。因此,充分利用此类实体词典,在模型中加入先验知识,对增强命名实体识别模型的泛化能力、迁移能力,提高在小数据集和特定领域的实体识别效果具有重要意义。然而,如何利用实体词典存在一定的挑战。首先,由于新词引入、统计缺漏、实体划分粒度差异等问题,基于现有知识构建的实体词典很难覆盖领域内所有实体;其次,通过实体词典得到的匹配结果存在部分错误,如“战争全方位爆发了”这句话中,“全方”可能被误识别为人名实体。由于上述缺漏与匹配错误的情况,当使用神经网络中常用的向量拼接、向量相加等特征组合方式,将实体词典中的知识融入模型时,反而可能因噪声问题对模型产生负面影响。
受注意力机制的启发,本文在字词联合模块的基础上,通过影响不同层序列的权重整合进行知识增强。如图 2所示,对于经字词联合分别得到单字、双字、三字层序列
$ {\boldsymbol{x}}_{\tau }^{\mathrm{\text{'}}}={\boldsymbol{w}}_{{\boldsymbol{c}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}{\boldsymbol{c}}_{\tau }^{″}+{\boldsymbol{w}}_{{\boldsymbol{d}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}{\boldsymbol{d}}_{\tau }^{″}+{\boldsymbol{w}}_{{\boldsymbol{t}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}{\boldsymbol{t}}_{\tau }^{″} $ | (22) |
![]() |
Download:
|
图 2 知识增强流程 Fig. 2 Procedure of knowledge enhancement |
对于图 2中类似“代表团”中的“代”字,因为实体词典中无匹配项,所以模型将按照式(23)计算各层权重:
$ {\boldsymbol{w}}_{{\boldsymbol{c}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}, {\boldsymbol{w}}_{{\boldsymbol{d}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}, {\boldsymbol{w}}_{{\boldsymbol{t}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\boldsymbol{c}}_{\tau }^{″}, {\boldsymbol{d}}_{\tau }^{″}, {\boldsymbol{t}}_{\tau }^{″}\right) $ | (23) |
由于“约旦河”为输入序列在实体词典中的一个匹配实体,且长于匹配词“约旦”,模型可依据式(24),将
$ {\boldsymbol{w}}_{{\boldsymbol{c}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}, {\boldsymbol{w}}_{{\boldsymbol{d}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}, {\boldsymbol{w}}_{{\boldsymbol{t}}_{\tau }^{\boldsymbol{\text{'}}\boldsymbol{\text{'}}}}=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left({\boldsymbol{c}}_{\tau }^{″}, {\boldsymbol{d}}_{\tau }^{″}, {\boldsymbol{t}}_{\tau }^{″}\cdot \varDelta \right) $ | (24) |
其中,
条件随机场是序列标注任务中常用的解码器。对于知识融合后的输出序列
$ p\left(\boldsymbol{Y}\left|{\boldsymbol{X}}^{\text{'}};\boldsymbol{W}, \boldsymbol{b}\right.\right)=\frac{\prod \limits_{i=1}^{n}{\psi }_{i}\left({y}_{i-1}, {y}_{i}, {\boldsymbol{X}}^{\text{'}}\right)}{\sum \limits_{{\boldsymbol{y}}^{\text{'}}\in \mathcal{L}\left({\boldsymbol{X}}^{\text{'}}\right)}\prod \limits_{i=1}^{n}{\psi }_{i}\left({y}_{i-1}^{\text{'}}, {y}_{i}^{\text{'}}, {\boldsymbol{X}}^{\text{'}}\right)} $ | (25) |
其中:
$ \mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}\left(\boldsymbol{W}, \boldsymbol{b}\right)=\sum \mathrm{l}\mathrm{o}{\mathrm{g}}_{a}p\left(\dot{\boldsymbol{y}}|{\boldsymbol{X}}^{\text{'}};\boldsymbol{W}, \boldsymbol{b}\right) $ | (26) |
其中:
$ \widehat{\boldsymbol{y}}=\underset{\boldsymbol{y}\in \mathcal{L}\left(\boldsymbol{X}\right)}{\mathrm{a}\mathrm{r}\mathrm{g}\mathrm{m}\mathrm{a}\mathrm{x}}p\left(\boldsymbol{y}|\boldsymbol{X};\boldsymbol{W}, \boldsymbol{b}\right) $ | (27) |
为充分评估本文模型的识别效果,除常用的Resume[10]、MSRA[21]、Weibo[22-23]等评估数据集外,本文引入OntoNotes5.0[24]、People Daily[25]、Boson等公开数据集,使得数据集的规模大小、语料来源、划分粒度覆盖更全面,评估结果更客观。Resume、MSRA、Weibo数据集与Lattice LSTM[10]中使用相同且有分词信息;OntoNotes5.0在OntoNotes4.0的基础上加入了更多的数据,实体类别划分更细,也含有分词等附加信息;People Daily来源于1998年的人民日报;Boson来自bosonnlp提供的公开数据集。
在实验过程中,OntoNotes5.0依据官方提供的代码进行数据集切分;People Daily与fastnlp提供的切分相同;Boson数据集按照8∶1∶1的比例进行数据集切分。表 1给出了实验中各数据集详细统计信息。
![]() |
下载CSV 表 1 数据集详细统计信息 Table 1 Detailed statistics of datasets |
与Lattice LSTM[10]相同,本文采用由word2vec训练得到的字符向量与词向量[26],并在训练中进行微调。实验所用PER、ORG、LOC等实体词典来源于公开数据。在实验过程中,模型使用Adamax[27]作为优化函数,并设置0.5的dropout[28]防止过拟合。按照语料规模,将MSRA、OntoNotes5.0、People Daily归类为大数据集,将Boson、Resume、Weibo归类为小数据集。对于3个大数据集,设定隐藏层节点数为300,CNN层数为5;对于3个小数据集,设定隐藏层节点数为200,CNN层数为4。Weibo语料来源于社交媒体,口语化比较严重,模型收敛较慢,学习率设为0.005;MSRA语料较为规范,学习率过大容易导致模型无法收敛,实验中学习率设置为0.000 5;其他数据集学习率设为0.001 5。对于实验中的各对比模型,超参数设置都参考其原始的论文描述,以MSRA、Resume为基准,分别设置在大数据集和小数据集上的超参数。
2.2 标注规范与评价指标命名实体识别通常被作为序列标注任务,其标注规范包括BIO、BMESO、BIOES等多种形式。实验采用BMESO标注方法,对于数据集中的实体,根据长度与类别,将单字实体标注为S-TYPE,将多字实体的开始、中间、结尾字符分别标注为B-TYPE、M-TYPE、E-TYPE,其中,TYPE为实体类别,其他字符标注为O。
将准确率(P)、召回率(R)和F1值(F)作为评价指标,具体定义如下:
$ P=\frac{{T}_{p}}{{T}_{p}+{F}_{p}}\times 100\mathrm{\%} $ | (28) |
$ R=\frac{{T}_{p}}{{T}_{p}+{F}_{n}}\times 100\mathrm{\%} $ | (29) |
$ F=\frac{2PR}{P+R}\times 100\mathrm{\%} $ | (30) |
其中:
相对于LR-CNN模型,本文主要做了提高模型并行能力、使用改进位置编码的多头注意力机制替代传统注意力机制、添加知识增强模块融入先验知识3个方面的改进。提高模型并行能力的改进主要影响模型效率,为评估其他两种改进策略对模型性能的影响,分别做了仅改进注意力机制(AKE w/o K)、改进注意力机制且进行知识增强时的模型性能评估(AKE)。同时,对于有分词信息的OntoNotes5.0、Weibo两个数据集,分析分词信息对模型的影响(AKE with seg)。此外,与近两年的主流模型,包括基于字词联合的Lattice LSTM模型[10]、LGN模型[12]、SoftLexicon模型[14]、LR-CNN模型[15]、FLAT模型[16]、基于字的TENER模型[19]在多个数据集上进行对比。取3次实验结果的平均值作为最终结果,相关评估结果如表 2、表 3所示,其中,“—”表示相关论文未列出实验结果或数据集不支持进行相应实验,最优指标值用加粗字体标示。下文从改进策略对模型识别性能影响、模型整体识别性能与鲁棒性、模型复杂度3个角度,分别对多头注意力及知识增强对模型识别性能的提升、不同模型处理来源各异且规模不等数据集的能力、各模型的时间与空间成本等方面进行分析。
![]() |
下载CSV 表 2 大数据集上命名实体识别性能对比 Table 2 Comparison of NER performance on big datasets |
![]() |
下载CSV 表 3 小数据集上命名实体识别性能对比 Table 3 Comparison of NER performance on small datasets |
通过对表 2、表 3进行分析,可得出以下结论:1)在改进注意力机制对模型性能的影响方面,在使用改进位置编码的多头注意力机制之后,模型的召回率、F1值均有明显提高,准确率在多个数据集上也有更好表现,证明了在实体识别等序列标注任务中文字距离与方向信息的重要性,也验证了改进位置编码的多头注意力机制的有效性;2)关于知识增强的改进,在进行知识增强后,模型的召回率有了进一步的提高,通过融入先验知识,模型识别出了更多的实体,虽然受实体词典错误匹配所产生噪声的干扰,准确率在部分数据集上有所下降,但总体F1值依然有所增加;3)在分词信息对模型性能的影响方面,在加入分词信息后,OntoNotes5.0、Weibo数据和其子集的识别效果都得到了提高,证明了词边界在命名实体识别任务中依然是非常重要的,分词信息的加入在一定程度上减缓了字词联合模块中词边界确定困难的问题。
为进一步探究知识增强过程中实体词典对数据集中标记实体的覆盖率(entity coverage)、实体词典错误匹配所产生的噪声比率(noise rate)、数据规模、实体划分粒度等对模型召回率与F1值的影响,将知识增强对模型性能提升情况与上述覆盖率与噪声比率依据数据规模作折线图如图 3所示。
![]() |
Download:
|
图 3 实体词典匹配对模型识别性能提升的影响 Fig. 3 The effect of entity dictionary matching on the improvement of model recognition performance |
结合表 1中各数据集详细信息,对图 3进行分析可以得出以下结论:
1) 在总体上,在进行知识增强后,随着数据集规模变化,模型的F1、召回率提升值与实体词典对数据集中标记实体的覆盖率呈现一定的正相关性,进一步验证了知识增强提高了模型发现实体的能力。
2) 在数据规模影响方面,相对于大数据集,知识增强在小数据集上对模型性能的提升效果更为明显。在工程应用中,由于人工标注成本高、特定领域数据量小、数据受隐私保护等原因,大规模标注数据的获取往往较为困难,因此本文提出的知识增强方式通过在模型中融入领域先验知识提高模型性能,在实际工程应用中具有重要意义。
3) 在实体类别划分粒度上,由于People Daily实体种类较少、数据规模较大,模型训练较为充分,虽然知识增强提高了模型的召回率,但对模型整体F1值的提升效果不够明显。相比之下,尽管OntoNotes5.0数据集规模更大,但实体类别划分粒度较细、语料中有大量口语化的内容,模型识别能力有进一步提升空间,知识增强对模型的性能提升更为明显。
4) 在抗噪声干扰方面,由于Weibo数据集的子集WeiboNAM与WeiboNOM的实体个数较少,模型训练不充分,同时实体词典匹配到的噪声比率较高,模型的性能受影响波动较大。
5) 从实体词典对数据集中标记实体的覆盖率、实体词典错误匹配所产生的噪声比率来看,虽然本文知识增强模块在一定程度上提高了模型性能,但标记实体的覆盖率总体不高,同时处理过程中所用降噪方法仍较为简单。
在后续任务中,如何扩充实体词典提高对标记实体的覆盖率、改进知识增强模块降低对匹配噪声的影响,将是需重点研究的内容。
2.3.2 模型整体识别性能与鲁棒性分析为分析模型的性能及鲁棒性,以Lattice LSTM模型为基准,计算各模型的F1值的相对提升幅度,如图 4所示。为保证图像的差值范围,将TENER模型在People Daily数据集上的F1提升值设为0。
![]() |
Download:
|
图 4 6种模型在不同数据集上相对Lattice LSTM模型的F1值提升情况 Fig. 4 The improvement of the F1 value of the six models relative to the Lattice LSTM model on different datasets |
通过对图 4进行分析可得出以下结论:1)基于字的TENER模型总体表现不如其他基于字词联合的模型,证明基于字词联合的模型相对于基于字的模型能够捕捉更多的上下文信息,具有较大优势;2)TENER模型在不同数据集上F1值波动较大,在People Daily数据集上表现较差,鲁棒性不强;3)在字词联合模型中,LGN模型与LR-CNN模型表现一般,相对基线模型提升不够明显,且识别性能提升幅度受数据集影响较大;4)SoftLexicon模型在各数据集上表现稳定,具有较强的鲁棒性,但由于该模型中字词信息融合采用静态方式,在具体语境中可能会出现偏差,影响识别效果;5)FLAT模型在多个数据集上均有优异表现,但由于参数量较多,在Resume、Weibo等小数据集上学习不充分,模型鲁棒性有待提高;6)本文模型相对其他模型在多个数据集上取得了最好的识别效果,且在不同数据集上表现较为稳定,具有一定的鲁棒性。
2.3.3 模型复杂度分析除上述性能评估外,为对模型有更全面的分析,实验中以Lattice LSTM模型为基准,对比各字词联合模型在OntoNotes5.0数据集上的推理速度与计算资源占用情况,对比结果如图 5所示,其中,FLAT模型批大小为10,其他模型均为1。
![]() |
Download:
|
图 5 字词联合模型推理速度与计算资源占用情况对比 Fig. 5 Comparison of reasoning speed and computing resource occupancy of character-word joint models |
由图 5可以看出:相比Lattice LSTM模型,FLAT模型虽然使用并行化提高了推理速度,但计算资源占用激增;其他模型大多在推理速度方面提升不大,资源占用稍有增加;本文AKE模型由于字词融合模块中多头注意力机制的使用和知识增强模块的加入,推理速度稍有下降,资源占用量相对较多,后续有较大的改进空间。
3 结束语本文在LR-CNN模型的基础上,提出一种基于知识增强的命名实体识别模型。通过改进字词联合模块,提高模型并行性与上下文信息捕捉能力。加入知识增强模块融入实体边界、实体类别等先验知识,缓解未登录词影响和模型在小数据集上学习不充分的问题。实验结果表明,相比基于字词联合的命名实体识别主流模型,本文模型能够提高实体识别的召回率与F1值,同时具有较强的鲁棒性和泛化能力。此外,通过使用不同领域的实体词典,融入相应先验知识,赋予模型较强的迁移能力,并且所提出的知识增强思想在其他自然语言处理任务中也具有一定的借鉴意义。下一步将重点改进模型的知识增强策略,减少实体词典匹配错误所产生的噪声干扰,优化字词融合模块,降低模型复杂度。
[1] |
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. Philadelphia, USA: Association for Computational Linguistics, 2016: 1105-1116.
|
[2] |
KOO T, COLLINS M. Efficient third-order dependency parsers[C]//Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics. Philadelphia, USA: Association for Computational Linguistics, 2010: 1-11.
|
[3] |
DIEFENBACH D, LOPEZ V, SINGH K, et al. Core techniques of question answering systems over knowledge bases: a survey[J]. Knowledge and Information Systems, 2018, 55(3): 529-569. DOI:10.1007/s10115-017-1100-y |
[4] |
BORTHWICK A. A maximum entropy approach to named entity[EB/OL]. [2020-09-11]. https://www.researchgate.net/publication/2937260_A_Maximum_Entropy_Approach_To_Named_Entity.
|
[5] |
BIKEL D M, SCHWARTZ R, WEISCHEDEL R M. An algorithm that learns what's in a name[J]. Machine Learning, 1999, 34(1/2/3): 211-231. |
[6] |
BIKEL D M, MILLER S, SCHWARTZ R, et al. Nymble: a high-performance learning name-finder[C]//Proceedings of the 5th Conference on Applied Natural Language Processing. Philadelphia, USA: Association for Computational Linguistics, 1997: 194-201.
|
[7] |
MCCALLUM A, LI W. Early results for named entity recognition with conditional random fields, feature induction and Web-enhanced lexicons[C]//Proceedings of the 7th Conference on Natural Language Learning. Philadelphia, USA: Association for Computational Linguistics, 2003: 188-191.
|
[8] |
WEN X X, MA C, GAO Y Y, et al. Chinese overlapping named entity recognition method based on label clustering[J]. Computer Engineering, 2020, 46(5): 41-46. (in Chinese) 温秀秀, 马超, 高原原, 等. 基于标签聚类的中文重叠命名实体识别方法[J]. 计算机工程, 2020, 46(5): 41-46. |
[9] |
ZHANG R B, LIU J Y, HE X. Named entity recognition for vulnerabilities based on BLSTM-CRF model[J]. Journal of Sichuan University (Natural Science Edition), 2019, 56(3): 469-475. (in Chinese) 张若彬, 刘嘉勇, 何祥. 基于BLSTM-CRF模型的安全漏洞领域命名实体识别[J]. 四川大学学报(自然科学版), 2019, 56(3): 469-475. |
[10] |
ZHANG Y, YANG J. Chinese NER using Lattice LSTM[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. Philadelphia, USA: Association for Computational Linguistics, 2018: 1554-1564.
|
[11] |
SUI D B, CHEN Y B, LIU K, et al. Leverage lexical knowledge for Chinese named entity recognition via collaborative graph network[C]//Proceedings of 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Philadelphia, USA: Association for Computational Linguistics, 2019: 3821-3831.
|
[12] |
GUI T, ZOU Y C, ZHANG Q, et al. A lexicon-based graph neural network for Chinese NER[C]//Proceedings of 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Philadelphia, USA: Association for Computational Linguistics, 2019: 1039-1049.
|
[13] |
DING R X, XIE P J, ZHANG X Y, et al. A neural multi-digraph model for Chinese NER with gazetteers[C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Philadelphia, USA: Association for Computational Linguistics, 2019: 1462-1467.
|
[14] |
MA R T, PENG M L, ZHANG Q, et al. Simplify the usage of Lexicon in Chinese NER[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Philadelphia, USA: Association for Computational Linguistics, 2020: 5951-5960.
|
[15] |
GUI T, MA R T, ZHANG Q, et al. CNN-based Chinese NER with lexicon rethinking[EB/OL]. [2020-09-11]. https://www.researchgate.net/publication/334844205_CNN-Based_Chinese_NER_with_Lexicon_Rethinking.
|
[16] |
LI X N, YAN H, QIU X P, et al. FLAT: Chinese NER using flat-lattice transformer[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Philadelphia, USA: Association for Computational Linguistics, 2020: 1-8.
|
[17] |
XUE M G, YU B W, LIU T W, et al. Porous lattice transformer encoder for Chinese NER[C]//Proceedings of the 28th International Conference on Computational Linguistics. Stroudsburg, USA: International Committee on Computational Linguistics, 2020: 3831-3841.
|
[18] |
MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[EB/OL]. [2020-09-11]. https://arxiv.org/abs/1301.3781v1.
|
[19] |
YAN H, DENG B C, LI X N, et al. TENER: adapting transformer encoder for named entity recognition[EB/OL]. [2020-09-11]. https://arxiv.org/abs/1911.04474.
|
[20] |
VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]//Proceedings of 2017 International Conference on Neural Information Processing Systems. Cambridge, USA: MIT Press, 2017: 5998-6008.
|
[21] |
LEVOW G. The third international Chinese language processing bakeoff: word segmentation and named entity recognition[C]//Proceedings of the 5th SIGHAN Workshop on Chinese Language Processing. Washington D.C., USA: IEEE Press, 2006: 108-117.
|
[22] |
HE H F, SUN X. F-score driven max margin neural network for named entity recognition in Chinese social media[C]//Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics. Philadelphia, USA: Association for Computational Linguistics, 2017: 713-718.
|
[23] |
PENG N Y, DREDZE M. Named entity recognition for Chinese social media with jointly trained embeddings[C]//Proceedings of 2015 Conference on Empirical Methods in Natural Language Processing. Philadelphia, USA: Association for Computational Linguistics, 2015: 548-554.
|
[24] |
WEISCHEDEL R, PALMER M, MARCUS M, et al. Ontonotes release 5.0[EB/OL]. [2020-09-11]. https://catalog.ldc.upenn.edu/LDC2013T19.
|
[25] |
YU S W, DUAN H M, WU Y F. Corpus of multi-level processing for modern Chinese[EB/OL]. [2020-09-11]. https://opendata.pku.edu.cn/dataset.xhtml? persistentId=doi: 10.18170/DVN/SEYRX5.
|
[26] |
MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C]//Proceedings of 2013 International Conference on Advances in Neural Information Processing Systems. Cambridge, USA: MIT Press, 2017: 2013: 3111-3119.
|
[27] |
HAN Z D.Dyna: a method of momentum for stochastic optimization[EB/OL].[2020-09-11]. https://arxiv.org/abs/1805.04933.
|
[28] |
SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. The Journal of Machine Learning Research, 2014, 15(1): 1929-1958. |