«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (10): 73-80  DOI: 10.19678/j.issn.1000-3428.0062525
0

引用本文  

史占堂, 马玉鹏, 赵凡, 等. 基于CNN‐Head Transformer编码器的中文命名实体识别[J]. 计算机工程, 2022, 48(10), 73-80. DOI: 10.19678/j.issn.1000-3428.0062525.
SHI Zhantang, MA Yupeng, ZHAO Fan, et al. Chinese Named Entity Recognition Based on CNN-Head Transformer Encoder[J]. Computer Engineering, 2022, 48(10), 73-80. DOI: 10.19678/j.issn.1000-3428.0062525.

基金项目

国家重点研发计划(2018YFC0825300,2018YFC0823002);新疆维吾尔自治区重大专项(2020A03004-4);“西部之光”人才培养计划(2018-XBQNXZ-A-003);中国科学院青年创新促进会基金(科发人函字[2019]26号)

作者简介

史占堂(1995—),男,硕士研究生,主研方向为自然语言处理;
马玉鹏,研究员、博士;
赵凡,研究员、博士;
马博,副研究员、博士

文章历史

收稿日期:2021-08-28
修回日期:2021-10-22
基于CNN‐Head Transformer编码器的中文命名实体识别
史占堂1,2,3 , 马玉鹏1,2,3 , 赵凡1,2,3 , 马博1,2,3     
1. 中国科学院新疆理化技术研究所, 乌鲁木齐 830011;
2. 中国科学院大学, 北京 100049;
3. 新疆民族语音语言信息处理实验室, 乌鲁木齐 830011
摘要:基于多头自注意力机制的Transformer作为主流特征提取器在多种自然语言处理任务中取得了优异表现,但应用于命名实体识别任务时存在一字多词、增加额外存储与词典匹配时间等问题。提出一种CNN-Head Transformer编码器(CHTE)模型,在未使用外部词典和分词工具的基础上,通过自注意力机制捕获全局语义信息,利用不同窗口大小的CNN获取Transformer中6个注意力头的Value向量,使CHTE模型在保留全局语义信息的同时增强局部特征和潜在词信息表示,并且应用自适应的门控残差连接融合当前层和子层特征,提升了Transformer在命名实体识别领域的性能表现。在Weibo和Resume数据集上的实验结果表明,CHTE模型的F1值相比于融合词典信息的Lattice LSTM和FLAT模型分别提升了3.77、2.24和1.30、0.31个百分点,具有更高的中文命名实体识别准确性。
关键词命名实体识别    自注意力机制    Transformer编码器    卷积神经网络    残差连接    
Chinese Named Entity Recognition Based on CNN-Head Transformer Encoder
SHI Zhantang1,2,3 , MA Yupeng1,2,3 , ZHAO Fan1,2,3 , MA Bo1,2,3     
1. Xinjiang Technical Institute of Physics and Chemistry, Chinese Academy of Sciences, Urumqi 830011, China;
2. University of Chinese Academy of Sciences, Beijing 100049, China;
3. Xinjiang Laboratory of Minority Speech and Language Information Processing, Urumqi 830011, China
Abstract: Transformers based on the multihead self-attention mechanism as a mainstream feature extractor have achieved excellent performance in various Natural Language Processing(NLP) tasks.However, problems such as one character belonging to multiple words, additional storage, and dictionary matching time arise when those transformers are applied to Named Entity Recognition(NER) tasks.This study proposes a Convolutional Neural Network(CNN)-Head Transformer Encoder(CHTE) model to capture global semantic information via a self-attention mechanism without using external lexicon and word segmentation tools.Additionally, a CNN with different window sizes is used to obtain the value vectors of six attention heads in the transformer.It preserves global semantic information while enhancing local features and latent word information representation, as well as applies adaptive gated residual connection to fuse current layer and sublayer features to improve the performance of the transformer in NER tasks.Experimental results show that the F1 values of the CHTE model on the Weibo dataset are 3.77 and 2.24 percentage points higher than those of the Lattice Long Short-Term Memory(Lattice LSTM) and FLAT-lattice Transformer(FLAT) models fused with dictionary information, respectively; the F1 values of the CHTE model on the Resume dataset improved by 1.30 and 0.31 percentage points than those of the Lattice LSTM and FLAT models, respectively; and the CHTE model demonstrates higher recognition accuracy for Chinese named entities than Lattice LSTM and FLAT models.
Key words: Named Entity Recognition(NER)    self-attention mechanism    Transformer encoder    Convolutional Neural Network(CNN)    residual connection    

开放科学(资源服务)标志码(OSID):

0 概述

命名实体识别(Named Entity Recognition,NER)是自然语言处理(Natural Language Processing,NLP)中的基础任务,包括关系抽取(Relation Extraction,RE)[1]、事件抽取(Event Extraction,EE)[2]以及实体链接(Entity Link,EL)[3]等下游任务,旨在给定的文本中判定相应实体的类型和该实体对应的左右边界。近些年,随着计算机运算能力的快速提高,深度学习成为命名实体识别的主流研究方法,并将命名实体识别转化为序列标注任务。由于中文词之间不存在潜在的分隔符,并且中文命名实体的边界是词的边界,因此最初中文命名实体识别将分词作为核心,并以词作为深度学习序列标注模型的输入,但该方式存在未登录词以及分词错误的问题,使得基于字嵌入的方式成为中文命名实体识别领域深度学习序列标注模型编码层的主流嵌入方式。

在基于深度学习的中文命名实体识别方法中,长短时记忆(Long Short-Term Memory,LSTM)[4]网络是应用较广泛的特征提取器,但是存在不能充分利用GPU并行计算的问题。ZHANG等[5]提出的Lattice LSTM通过添加词典信息在提高准确率的同时进一步增加了模型训练和测试时间。基于多头自注意力机制的Transformer[6]的提出缓解了LSTM存在的问题,并在多种自然语言处理任务中取得了优异表现,逐渐取代了LSTM成为自然语言处理领域主流的特征提取器,但是YAN等[7]的实验结果表明Transformer在命名实体识别领域表现欠佳。

本文结合Transformer编码器和卷积神经网络(Convolutional Neural Network,CNN)[8],提出一种用于中文命名实体识别的CHTE(CNN-Head Transformer Encoder)模型。在多头注意力机制中根据不同窗口大小的CNN[8]增强模型的局部特征和潜在词信息表示,并且利用门控残差连接融合自适应特征以进一步提高识别准确率。

1 相关工作 1.1 LSTM与CNN

在Transformer未被提出之前,LSTM作为自然语言处理领域主流的特征提取器被广泛用于命名实体识别任务。HUANG等[9]使用Bi-LSTM和条件随机场[10](Conditional Random Field,CRF)进行命名实体识别。PENG等[11]标注了中文社交媒体数据集Weibo,并使用Bi-LSTM和CRF在该数据集上进行实验。MA等[12]使用CNN获取单词的形态学特征并结合单词的词嵌入,通过Bi-LSTM和CRF进行序列标注。针对LSTM不能充分利用GPU并行计算的问题,STRUBELL等[13]提出基于CNN的ID-CNNs模型,由于CNN仅能获取固定范围内的局部特征,因此该模型通过对CNN的堆叠逐层增加CNN的感受野,使其获取全局语义信息,在保障相当F值的情况下减少了运算时间。

依据中文命名实体的边界是词的边界,LIU等[14]将中文分词(Chinese Word Segmentation,CWS)作为中文命名实体识别的首要任务,但此方法存在分词错误以及未登录词的问题。为了缓解该问题,CAO等[15]依据NER和CWS之间的关联关系,利用两种任务对抗学习的方式提高NER性能。ZHANG等[5]通过外部词典并在字级别模型的基础上提出添加待抽取句中所有可能词特征的Lattice LSTM,但由于一个字可能匹配多个词造成实体识别错误的问题。GUI等[16]提出基于CNN的模型,该模型通过重考虑机制自适应地融合句子中可能的词信息缓解了这一问题。此外,针对中文为象形文字特点,MENG等[17-18]提出使用CNN提取中文字形信息的命名实体识别方法。张栋等[19]通过将每个字符拆解为五笔表示来获取字形特征,增强模型语义信息。尽管LSTM被广泛应用于命名实体识别任务,但只能进行单方向建模获取单方向语义信息,即使通过双向LSTM也只是将左右分别获取的单向特征进行拼接,无法完全捕获上下文语义信息。

1.2 Transformer

VASWANI等[6]将基于多头自注意力机制的Transformer模型用于机器翻译(Machine Translation,MT)领域,该模型较好地缓解了LSTM无法充分利用GPU并行计算以及获取上下文语义信息的问题,使其在自然语言处理领域取得了优异表现。在中文命名实体识别任务中,针对Tansformer在注意力头的计算过程中会丢失方向和相对位置的问题,司逸晨等[20]提出一种能够保留相对位置和方向信息注意力头的计算方法,并将词级别的特征拼接到嵌入层字级别的特征中增强语义表示。XUE等[21]提出PLTE(Porous Lattice Transformer Encoder)模型,该模型中添加了词级别的嵌入特征以及定义了7种token之间的相对位置关系并对每个token的位置进行编码,同时使用Porous对自注意力机制进行限制。但是,在PLTE中相对位置关系的编码方式不能还原出token之间真实的位置信息,因此这种位置编码方式导致了位置信息的丢失。针对这一问题,LI等[22]提出使用每个词头和词尾的绝对位置来编码任意两个token之间相对位置信息的FLAT(FLAT-lattice Transformer)模型。上述将词典信息添加到Transformer的方法同样存在一字多词的问题,而且还会增加额外的存储以及词典匹配时间。

本文在不使用外部词典和分词工具的情况下,利用Transformer和CNN在捕获全局语义信息和局部特征以及潜在词信息方面的优势,通过在多个注意力头中融入CNN充分捕获全局语义信息并增强模型的局部特征以及潜在的词信息表示,同时应用自适应的门控残差连接融合当前层和子层特征,从而提升Transformer在命名实体识别领域的性能表现。

2 CHTE模型架构

本文提出的CHTE模型架构如图 1所示,其中QKV分别表示Tansformer中的Query、Key和Value向量。该模型主要分为嵌入层、编码层以及解码层3个部分,首先将输入的文本通过嵌入层获取字级别的词嵌入的向量表示,并在其中添加位置编码特征向量增强模型的位置信息,然后通过编码层获取增强局部特征的输入文本的上下文表示,最后通过解码层对输入文本进行序列标注。

Download:
图 1 CHTE模型整体架构 Fig. 1 Overall architecture of CHTE model
2.1 嵌入层

在中文命名实体识别领域,当前主要的词嵌入方式为字级别、词级别以及两者融合的嵌入方式。词级别的嵌入方式存在分词错误以及未登录词的问题,字词融合的嵌入方式则会增加存储以及词典匹配时间。因此,本文使用字级别的词嵌入方式。

本文使用文献[5]中预训练的字级别词向量,假设模型的输入为$ s=({c}_{1}, {c}_{2}, \cdots , {c}_{n}) $,其中$ {c}_{j} $表示输入句子$ s $的第$ j $个字,通过查表操作获取该字的特征表示为$ {\mathit{\boldsymbol{x}}}_{j}^{\mathrm{c}}=\left[{e}^{\mathrm{c}}\right({c}_{j});{e}^{\mathrm{b}}({c}_{j}, {c}_{j+1});{e}^{\mathrm{b}}({c}_{j-1}, {c}_{j}\left)\right] $,其中,$ [;] $表示向量的拼接,$ {e}^{\mathrm{c}} $为字级别特征的查表操作,$ {e}^{\mathrm{b}} $为bi-gram的查表操作,$ {e}^{\mathrm{b}}({c}_{j}, {c}_{j+1}) $表示以第$ j $个字开始的bi-gram特征,$ {e}^{\mathrm{b}}({c}_{j-1}, {c}_{j}) $表示以第$ j $个字结束的bi-gram特征。使用Transformer中的位置编码方式,获取位置$ j $的位置编码特征$ {\mathit{\boldsymbol{e}}}_{j}^{\mathrm{p}} $,并将字级别的特征和位置特征相加得到嵌入层对文本句子的特征表示:

$ {\mathit{\boldsymbol{X}}}^{\mathrm{s}}=\left({\mathit{\boldsymbol{x}}}_{1}^{\mathrm{c}}+{\mathit{\boldsymbol{e}}}_{1}^{\mathrm{p}}, {\mathit{\boldsymbol{x}}}_{2}^{\mathrm{c}}+{\mathit{\boldsymbol{e}}}_{2}^{\mathrm{p}}, \cdots , {\mathit{\boldsymbol{x}}}_{n}^{\mathrm{c}}+{\mathit{\boldsymbol{e}}}_{\mathit{\boldsymbol{n}}}^{\mathrm{p}}\right) $ (1)
2.2 编码层

Transformer作为使用多头自注意力机制的特征提取模型,缓解了RNN无法充分利用GPU平行计算以及长距离文本依赖的问题。本文依据其在实体识别任务中不能充分获取局部特征,对Transformer Encoder中的多头自注意力机制进行改进,在保留2个注意力头不变的情况下,将剩余6个注意力头的Value向量分别使用不同窗口大小的CNN获取。注意力头的计算如式(2)~式(4)所示。保留原始Transformer的2个注意力头中$ {\mathit{\boldsymbol{V}}}_{l} $的计算如式(5)所示。剩余6个注意力头首先使用$ {d}_{\mathrm{h}} $个卷积核获取第$ j $个字对应窗口大小为$ l $的局部特征,然后通过池化层进行步长为2的最大池化操作得到该字的特征表示$ {h}_{j}^{\mathrm{l}} $,并利用滑动窗口获取每个注意力头中的$ {\mathit{\boldsymbol{V}}}_{c} $,计算公式如式(6)、式(7)所示。

$ \mathrm{A}\mathrm{t}\mathrm{t}(\mathit{\boldsymbol{A}}, \mathit{\boldsymbol{V}})=\mathrm{s}\mathrm{o}\mathrm{f}\mathrm{t}\mathrm{m}\mathrm{a}\mathrm{x}\left(\mathit{\boldsymbol{A}}\right)\mathit{\boldsymbol{V}} $ (2)
$ {\mathit{\boldsymbol{A}}}_{ij}=\left(\frac{{\mathit{\boldsymbol{Q}}}_{i}{\mathit{\boldsymbol{K}}}_{j}^{\mathrm{T}}}{\sqrt{{d}_{\mathrm{h}\mathrm{e}\mathrm{a}\mathrm{d}}}}\right) $ (3)
$ \left[\mathit{\boldsymbol{Q}}, \mathit{\boldsymbol{K}}\right]={\mathit{\boldsymbol{X}}}^{\mathrm{s}}[{\mathit{\boldsymbol{W}}}_{\mathrm{q}}, {\mathit{\boldsymbol{W}}}_{\mathrm{k}}] $ (4)

其中:$ {\mathit{\boldsymbol{W}}}_{\mathrm{q}}, {\mathit{\boldsymbol{W}}}_{\mathrm{k}}\in {\mathbb{R}}^{{d}_{\mathrm{m}}\times {d}_{\mathrm{h}}} $为可训练的参数矩阵;$ {d}_{\mathrm{m}}, {d}_{\mathrm{h}} $分别为模型的维度以及每个注意力头的维度。

$ {\mathit{\boldsymbol{V}}}_{l}={\mathit{\boldsymbol{X}}}^{\mathrm{s}}{\mathit{\boldsymbol{W}}}_{\mathrm{v}} $ (5)

其中:$ {\mathit{\boldsymbol{W}}}_{\mathrm{v}}\in {\mathbb{R}}^{{d}_{\mathrm{m}}\times {d}_{\mathrm{h}}} $为可训练的参数。

$ {\mathit{\boldsymbol{h}}}_{j}^{l}=\mathrm{m}\mathrm{a}\mathrm{x}‐\mathrm{p}\mathrm{o}\mathrm{o}\mathrm{l}\mathrm{i}\mathrm{n}\mathrm{g}\left(\sum\limits_{{d}_{\mathrm{h}}}{\mathit{\boldsymbol{W}}}_{\mathrm{c}}[{\mathit{\boldsymbol{X}}}_{j-\left\lfloor {l/2} \right\rfloor }^{\mathrm{s}}, \cdots , {\mathit{\boldsymbol{X}}}_{j+\left\lfloor {(l-1)/2} \right\rfloor }^{\mathrm{s}}]+{\mathit{\boldsymbol{b}}}_{\mathrm{c}}\right) $ (6)
$ {\mathit{\boldsymbol{V}}}_{c}=({\mathit{\boldsymbol{h}}}_{1}^{l}, {\mathit{\boldsymbol{h}}}_{2}^{l}, \cdots , {\mathit{\boldsymbol{h}}}_{n}^{l}) $ (7)

其中:$ {\mathit{\boldsymbol{W}}}_{\mathrm{c}}, {\mathit{\boldsymbol{b}}}_{\mathrm{c}} $分别为卷积操作的卷积核以及偏移;$ \left\lfloor { } \right\rfloor $表示向下取整操作。

将2个线性注意力头和6个CNN注意力头得到的结果进行拼接,获得自注意力层对文本的特征表示$ {\mathit{\boldsymbol{X}}}^{{\mathrm{s}}_{\mathrm{a}\mathrm{t}\mathrm{t}}}=\left[\mathrm{A}\mathrm{t}\mathrm{t}\right(\mathit{\boldsymbol{A}}, {\mathit{\boldsymbol{V}}}_{l});\cdots ;\mathrm{A}\mathrm{t}\mathrm{t}(\mathit{\boldsymbol{A}}, {\mathit{\boldsymbol{V}}}_{c}\left)\right] $,Transformer中使用残差连接是为了将子层特征$ {\mathit{\boldsymbol{X}}}^{\mathrm{s}} $和当前层特征$ {\mathit{\boldsymbol{X}}}^{{\mathrm{s}}_{\mathrm{a}\mathrm{t}\mathrm{t}}} $直接相加,这种直接相加的方式赋予两个特征相同的权重,不能自适应地选择子层和当前层中对实体识别重要的特征信息。本文提出的门控残差连接通过在残差连接中融入门控机制,即首先通过门控机制计算门控得分$ \mathit{\boldsymbol{G}} $,然后通过该得分自适应子层特征和当前层特征(如式(8)、式(9)所示),之后将门控残差连接的结果进行归一化,最后分别通过前馈神经网络层、门控残差连接以及归一化操作后和嵌入层的特征$ {\mathit{\boldsymbol{X}}}^{\mathrm{s}} $进行拼接,得到输入序列$ s $最终的特征表示$ \mathit{\boldsymbol{U}} $(如式(10)所示)。

$ \mathit{\boldsymbol{G}}=\mathrm{S}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d}\left({\mathit{\boldsymbol{W}}}_{\mathrm{g}}\right[{\mathit{\boldsymbol{X}}}^{\mathrm{s}};{\mathit{\boldsymbol{X}}}^{{\mathrm{s}}_{\mathrm{a}\mathrm{t}\mathrm{t}}}]+{\mathit{\boldsymbol{b}}}_{\mathrm{g}}) $ (8)
$ {\mathit{\boldsymbol{X}}}^{{\mathrm{s}}_{\mathrm{r}\mathrm{e}}}=\mathit{\boldsymbol{G}}{\mathit{\boldsymbol{X}}}^{\mathrm{s}}+(1-\mathit{\boldsymbol{G}}){\mathit{\boldsymbol{X}}}^{{\mathrm{s}}_{\mathrm{a}\mathrm{t}\mathrm{t}}} $ (9)

其中:$ {\mathit{\boldsymbol{X}}}^{{s}_{\mathrm{r}\mathrm{e}}} $为残差连接的输出。

$ \mathit{\boldsymbol{U}}=({\mathit{\boldsymbol{u}}}_{1}, {\mathit{\boldsymbol{u}}}_{2}, \cdots , {\mathit{\boldsymbol{u}}}_{n}) $ (10)

其中:$ {\mathit{\boldsymbol{u}}}_{j} $表示句子中第$ j $个字经过编码层后的最终特征表示。

2.3 解码层

在基于深度学习的命名实体识别中,CRF成为主流解码器,将实体识别问题转化为序列标注问题,通过状态转移概率来限制相邻标签之间的关系,进一步提高了命名实体识别的准确率。本文使用CRF作为模型的解码器,对于输入句$ s=({c}_{1}, {c}_{2}, \cdots , {c}_{n}) $标记为$ Y=({y}_{1}, {y}_{2}, \cdots , {y}_{n}) $的概率计算如式(11)所示:

$ p\left(Y\right|s)=\frac{\mathrm{e}\mathrm{x}\mathrm{p}\left(\sum\limits_{j=1}^{{\mathit{n}}}{\mathit{\boldsymbol{W}}}_{{y}_{j}}^{\mathrm{c}\mathrm{r}\mathrm{f}}\cdot {\mathit{\boldsymbol{u}}}_{j}+{\mathit{\boldsymbol{b}}}_{({y}_{j-1}\sim {y}_{j})}^{\mathrm{c}\mathrm{r}\mathrm{f}}\right)}{\sum\limits_{Y\text{'}}\mathrm{e}\mathrm{x}\mathrm{p}\left(\sum\limits_{j=1}^{n}{\mathit{\boldsymbol{W}}}_{{y}_{j}^{\mathrm{\text{'}}}}^{\mathrm{c}\mathrm{r}\mathrm{f}}\cdot {\mathit{\boldsymbol{u}}}_{j}+{\mathit{\boldsymbol{b}}}_{({y}_{j-1}^{\mathrm{\text{'}}}\sim {y}_{j}^{\mathrm{\text{'}}})}^{\mathrm{c}\mathrm{r}\mathrm{f}}\right)} $ (11)

其中:$ {\mathit{\boldsymbol{W}}}_{{y}_{j}}^{\mathrm{c}\mathrm{r}\mathrm{f}} $为对应于$ {\mathit{\boldsymbol{u}}}_{j} $的可训练权重参数;$ {\mathit{\boldsymbol{b}}}_{({y}_{j-1}\sim {y}_{j})}^{\mathrm{c}\mathrm{r}\mathrm{f}} $$ {y}_{j-1}~{y}_{j} $的状态转移得分;$ Y\text{'} $为输入句s所有可能的标记序列,通过Viterbi算法查找最终的标记序列;$ Y $为真实标记。

本文提出的CHTE模型的损失函数是将概率$ p\left(Y\right|s) $最大化,如式(12)所示:

$ {l}_{\mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}}=-\mathrm{l}\mathrm{n}\;p(Y/s) $ (12)
3 实验设置与结果分析 3.1 数据集选取

选取Weibo和Resume数据集进行实验,其中Weibo数据集[11, 23]是从社交媒体新浪微博获取并标注的数据集,Resume数据集[5]是从新浪金融网页中获取并标注的来自中国股票市场上市公司高级管理人员的简历数据集。本文采用文献[5]中的数据集划分方式,详细的数据集统计信息如表 1所示。

下载CSV 表 1 数据集统计信息 Table 1 Dataset statistics
3.2 参数设置

采用BMESO(Begin,Middle,End,Single,Outside)进行序列标注,使用精确率、召回率、F1值作为评估指标,在使用预训练词嵌入和BERT预训练语言模型两种情况下进行实验。通过验证集对模型中超参数进行调整,为防止过拟合,嵌入层和全连接层中的Dropout分别设定为0.3和0.2,注意力头中CNN的窗口大小设定为(2,3,4,5,6,7),Batch设定为16。依据FLAT给定的注意力头的维度范围进行调整,并将前馈层的维度使用和Transformer相同的设定,即8个注意力头维度和的3倍。在使用预训练词嵌入的情况下,需要重新学习模型的参数,因此学习率设定为1e-3。在Weibo数据集中每个注意力头的维度设置为16,前馈层的维度设置为384,在Resume数据集中两者分别设置为18和432。在使用BERT预训练语言模型的情况下,在BERT的基础上微调,因此学习率设定为4e-5,当以BERT作为嵌入层时,通过实验发现若输入CHTE模型的维度小于768时性能会下降,因此为了保持模型的性能以及计算量将模型的输入维度设定为768,即每个注意力头维度设置为96,前馈层的维度设置为2 048。

3.3 结果分析

本文分别与使用外部词典的命名实体识别模型、未使用外部词典的命名实体识别模型以及基于BERT的命名实体识别模型进行比较。以未使用外部词典的命名实体识别模型TENER、使用外部词典的命名实体识别模型Lattice LSTM以及预训练语言模型BERT作为基础模型。使用与文献[5]相同的预训练字向量和词典YJ,对比实验数据均来自各模型的原文献。

3.3.1 对比模型选取

对比模型主要分为基于词嵌入的命名实体识别模型和基于字嵌入的命名实体识别模型两类。除了Word-based和+char+bichar LSTM是基于词嵌入的命名实体识别模型以外,其他均是基于字嵌入的命名实体识别模型,其中,+bichar+softword是在char-based模型上添加了bi-gram潜入特性以及分词标记特征,Lattice LSTM、FLAT是添加了词典信息且识别效果较好的模型,CAN-NER和TENER是未使用词典但效果较好的模型,FLAT和TENER是基于Transformer Encoder的变换模型,FGN是基于BERT的效果较好的模型。本文选取以上对比模型是为了说明本文提出的CHTE模型在使用和未使用BERT作为嵌入层的情况下都能得到较好的识别结果。对比模型具体描述如下:

1)Word-based:以词作为嵌入的基本单位,并以Bi-LSTM、CRF作为编码器和解码器。

2)+char+bichar LSTM:将字级别特征以及bi-gram字级别特征作为Bi-LSTM的输入,并将字级别特征和对应词级别的特征拼接作为解码器CRF的输入。

3)Char-based:对单个字进行嵌入,未使用词典信息。使用Bi-LSTM作为编码器,CRF作为解码器。

4)+bichar+softword:在字级别词嵌入的基础上添加了bi-gram嵌入特征以及分词标记的嵌入特征。

5)Lattice LSTM:以字作为嵌入的基本单位,并将所有出现在词典中的词嵌入添加到序列中以该词开始和结尾的两个字中。使用Bi-LSTM和CRF作为编码器和解码器。

6)FLAT:将输入句子中存在的所有可能的词信息的相对位置跨度编码融入到Transformer的多头注意力计算中。

7)CAN-NER[24]:使用卷积注意力获取字级别特征,并使用GRU和全局自注意力机制获取相邻字的特征。

8)TENER[7]:针对Transformer对位置不敏感的问题,提出一种能够捕获方向和位置的注意力计算方式,通过位置信息能够进一步增强命名实体识别的效果。

9)FGN[18]:将BERT获取的字级别特征中融入通过CNN获取的有助于实体识别的字形特征,并将LSTM+CRF作为解码器。

3.3.2 基于预训练词嵌入的模型性能对比

在Weibo和Resume数据集上的命名实体识别结果如表 2所示,其中,最优指标值用加粗字体标示,N表示未使用外部词典。在Weibo数据集上,Char-based模型相较于Word-based模型的F1值提高了5.44个百分点,在Char-based模型中添加2-gram的字级别词嵌入和分词标记的特征信息后得到+bichar+softword模型,其F1值相较于Char-based模型提升了3.98个百分点,在Word-based模型中添加了字级别特征表示后的+char+bichar LSTM模型的性能显著提高,但其F1值还是低于Char-based模型0.44个百分点,本文CHTE模型相较于未使用词典的TENER模型的F1值提高了4.39个百分点,相较于使用词典的Lattice LSTM模型的F1值提高了3.77个百分点,相较于融合外部词典的FLAT模型的F1值提高了2.24个百分点。在Resume数据集中,CHTE模型相较于未使用词典的TENER模型的F1值提高了0.76个百分点,相较于使用词典的Lattice LSTM模型的F1值提高了1.30个百分点,相较于融合外部词典的FLAT模型的F1提高了0.31个百分点。

下载CSV 表 2 在Weibo和Resume数据集上的命名实体识别结果1 Table 2 Named entity recognition results 1 of the Weibo and Resume datasets  

表 2可以看出,CHTE模型在Weibo数据集上的提升效果明显优于Resume数据集,导致这一结果的原因可能为Weibo作为社交媒体数据存在大量不规则语法、句法以及字丢失的文本内容,使得外部词典不能很好地匹配文本,引入错误的词信息,致使添加词典信息的模型在该数据集中的表现欠佳,而CHTE模型使用CNN在不需要匹配词典的情况下获取潜在的词信息,因此在Weibo数据集上的识别性能更好。

3.3.3 消融实验分析

表 3所示,在Weibo数据集上对CHTE模型各模块进行分析,其中,add表示CHTE模型使用直接相加的残差连接方式,wo cat表示CHTE模型的编码层输出不拼接嵌入层特征,all CNN-Head表示在所有注意力头中使用CNN,wo CNN-Head表示使用原始Transformer中注意力头的计算方式。相较于Transformer Encoder直接相加的方式,使用本文提出的门控残差连接后F1值提高了0.64个百分点,这一结果可能是由于采用直接相加的方式对待子层以及当前层特征,不能自适应地选择子层和当前层中的特征。相较于Transformer Encoder中的多头注意力的计算方式,使用本文提出的不同窗口大小的CNN的方式,增强了Transformer局部特征的表示同时获取潜在的词级别的信息,使F1值提高了2.32个百分点。若将CHTE模型中的注意力头的计算方式全部转化为Transformer Encoder中的计算方式,则F1值下降了1.88个百分点,这说明即使在注意力头中增加了窗口大小为(8,9)的CNN来计算Value值,但长度大于7的实体数量稀少,并且缺少全局语义信息导致最终F1值降低。

下载CSV 表 3 消融实验结果 Table 3 Results of ablation experiments  

表 3可以看出,本文设计的基于不同窗口大小CNN的注意力头对CHTE模型的性能提升最明显,门控残差连接对CHTE模型的性能提升也较明显,说明本文在中文命名实体领域针对Transformer提出两种改进方法能有效提升模型性能。

3.3.4 基于BERT的模型性能对比

由于本文对比的FLAT和FGN模型分别使用Chinese-BERT-wwm[25]和Chines-BERT-base[26]两个不同的版本的BERT,因此分别使用两个版本的BERT进行实验,并以两个版本的BERT作为基础模型。

表 4所示,本文提出的CHTE模型在两个数据集上相较于两个版本的基础模型Chinese-BERT-wwm以及Chines-BERT-base均有明显的性能提升,其中在Weibo数据集上提升更明显,相比于Chines-BERT-wwm模型的F1值提高了5.29个百分点,相比于Chinese-BERT-base模型的F1值提高了4.40个百分点。同样地,相比于使用BERT作为嵌入层的Chinese-BERT-wwm+FLAT模型,Chinese-BERT-wwm+CHTE模型在Weibo和Resume数据集上的F1值分别提高了4.94和0.31个百分点。在Weibo数据集上,Chines-BERT-base+CHTE模型的F1值相比于FGN模型提高了0.27个百分点,而在相对较大且规范的数据集Resume中的F1值相比于FGN模型降低了0.50个百分点,这表明CHTE模型在使用BERT作为编码层后对实体识别效果同样有明显的提升,但由于FGN模型中融合了中文文字的字形信息,因此相比于CHTE模型在Resume数据集上的识别效果更好。

下载CSV 表 4 在Weibo和Resume数据集上的命名实体识别结果2 Table 4 Named entity recognition results 2 of the Weibo and Resume datasets  
3.3.5 CNN注意力头数量对模型性能的影响

图 2为CHTE模型中CNN注意力头数量对F1值的影响。图 3为在两个数据集上不同命名实体字符长度的占比情况,其中Weibo数据集中实体字符长度范围为1~11,Resume数据集则相对较大、实体较多,其中实体字符长度范围为1~36,但由于字符长度超过16的实体数量较少,因此本文仅统计了字符长度为1~16的实体数量。如图 2所示,当CNN注意力头数量为6时该模型在两个数据集中得到了最高的F1值。如图 3所示,在两个数据集中实体字符长度主要集中于1~7,而采用6个CNN注意力头的窗口大小为(2,3,4,5,6,7),正好能够通过该范围内的窗口大小增强局部范围内的特征表示以及潜在的词信息,因此当CNN注意力头数量取6时在两个数据集上具有较好的识别性能。

Download:
图 2 CNN注意力头数量对F1值的影响 Fig. 2 Effect of the number of CNN attention heads on the F1 value
Download:
图 3 命名实体字符长度占比 Fig. 3 Percentage of named entity character lengths
3.3.6 实体字符长度对比

为验证在多头自注意力机制中使用不同窗口大小的CNN对不同字符长度的实体识别的影响,在Weibo数据集上对比分析本文提出的使用CNN的CHTE模型以及未使用CNN的CHTE wo CNN模型。如图 4所示,CHTE模型在字符长度为1~6时实体识别F1值均有提升,其中字符长度为1、5、6以及≥7的实体数据稀疏,出现F1值较低、提升较大以及未提升的情况。在实体数据较多的字符长度范围内,字符长度为3的实体对应的F1值提升了0.03个百分点,这说明使用不同窗口大小的CNN可增强局部特征,不仅能提高具有较长字符长度的实体识别效果,而且能增强较短数据字符长度的实体识别效果。

Download:
图 4 Weibo数据集上不同命名实体字符长度的F1值 Fig. 4 F1 values of each named entity character length in Weibo dataset
3.3.7 可视化分析

图 5图 6为通过CHTE模型得到的未使用CNN(Linear-Head)和使用CNN(CNN-Head)的注意力权重的可视化结果图。如图 5所示,Linear-Head得到的注意力权重相对比较分散,这说明其更加注重获取全局语义信息,存在注意力权重没有集中在有意义的词上的问题。如图 6所示,CNN-Head得到的注意力权重分布相较于Linear-Head相对集中,这说明使用CNN来获取Value向量的方法能够有效地捕获句子中的局部特征,增加字符的局部特征表示,并且能够增强字符词级别的特征表示,进而增强模型实体识别能力。

Download:
图 5 Linear-Head注意力权重 Fig. 5 Attention weight of Linear-Head
Download:
图 6 CNN-Head注意力权重 Fig. 6 Attention weight of CNN-Head
4 结束语

本文提出一种用于中文命名实体识别的CHTE模型,通过在多个注意力头中融入CNN充分捕获全局语义信息并增强模型的局部特征以及潜在的词信息表示,同时应用自适应的门控残差连接融合当前层和子层特征,提升了Transformer对于命名实体的识别准确率。通过将CHTE模型与使用外部词典信息模型、未使用外部词典模型以及基于BERT的模型在Weibo和Resume两个数据集上进行实验对比,结果证明了CHTE模型具有更好的中文命名实体识别性能。后续将在CNN-Head Transformer编码器的基础上融合词典信息,进一步提升模型对于中文命名实体的识别准确率。

参考文献
[1]
WANG L L, CAO Z, DE MELO G, et al. Relation classification via multi-level attention CNNs[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, USA: Association for Computational Linguistics, 2016: 1298-1307.
[2]
LIU X, LUO Z C, HUANG H Y. Jointly multiple events extraction via attention-based graph information aggregation[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1809.09078.
[3]
KOLITSAS N, GANEA O E, HOFMANN T. End-to-end neural entity linking[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1808.07699.
[4]
GERS F A, SCHMIDHUBER J, CUMMINS F. Learning to forget: continual prediction with LSTM[J]. Neural Computation, 2000, 12(10): 2451-2471. DOI:10.1162/089976600300015015
[5]
ZHANG Y, YANG J. Chinese NER using lattice LSTM[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1805.02023.
[6]
VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1706.03762.
[7]
YAN H, DENG B C, LI X N, et al. TENER: adapting Transformer encoder for named entity recognition[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1911.04474.
[8]
LECUN Y, BOSER B, DENKER J S, et al. Backpropagation applied to handwritten Zip code recognition[J]. Neural Computation, 1989, 1(4): 541-551. DOI:10.1162/neco.1989.1.4.541
[9]
HUANG Z H, XU W, YU K. Bidirectional LSTM-CRF models for sequence tagging[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1508.01991.
[10]
LAFFERTY J, MCCALLUM A, PEREIRA F. Conditional random fields: probabilistic models for segmenting and labeling sequence data[C]//Proceedings of the 18th International Conference on Machine Learning. New York, USA: ACM Press, 2001: 282-289.
[11]
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. Stroudsburg, USA: Association for Computational Linguistics, 2015: 548-554.
[12]
MA X Z, HOVY E. End-to-end sequence labeling via bi-directional LSTM-CNNs-CRF[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1603.01354.
[13]
STRUBELL E, VERGA P, BELANGER D, et al. Fast and accurate entity recognition with iterated dilated convolutions[C]//Proceedings of 2017 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: Association for Computational Linguistics, 2017: 1-11.
[14]
LIU Y J, ZHANG Y, CHE W X, et al. Domain adaptation for CRF-based Chinese word segmentation using free annotations[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: Association for Computational Linguistics, 2014: 864-874.
[15]
CAO P F, CHEN Y B, LIU K, et al. Adversarial transfer learning for Chinese named entity recognition with self-attention mechanism[C]//Proceedings of 2018 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, USA: Association for Computational Linguistics, 2018: 182-192.
[16]
GUI T, MA R T, ZHANG Q, et al. CNN-based Chinese NER with lexicon rethinking[C]//Proceedings of the 28th International Joint Conference on Artificial Intelligence. New York, USA: ACM Press, 2019: 4982-4988.
[17]
MENG Y X, WU W, WANG F, et al. Glyce: glyph-vectors for Chinese character representations[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1901.10125.
[18]
XUAN Z Y, BAO R, JIANG S Y. FGN: fusion glyph network for Chinese named entity recognition[M]. Berlin, Germany: Springer, 2021.
[19]
张栋, 王铭涛, 陈文亮. 结合五笔字形与上下文相关字向量的命名实体识别[J]. 计算机工程, 2021, 47(3): 94-101.
ZHANG D, WANG M T, CHEN W L. Named entity recognition combining Wubi glyphs with contextualized character embeddings[J]. Computer Engineering, 2021, 47(3): 94-101. (in Chinese)
[20]
司逸晨, 管有庆. 基于Transformer编码器的中文命名实体识别模型[J]. 计算机工程, 2022, 48(7): 66-72.
SI Y C, GUAN Y Q. Chinese named entity recognition model based on Transformer encoder[J]. Computer Engineering, 2022, 48(7): 66-72. (in Chinese)
[21]
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.
[22]
LI X N, YAN H, QIU X P, et al. FLAT: Chinese NER using FLAT-lattice Transformer[EB/OL]. [2021-07-11]. https://arxiv.org/abs/2004.11795.
[23]
HE H F, SUN X. F-score driven max margin neural network for named entity recognition in Chinese social media[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1611.04234.
[24]
ZHU Y Y, WANG G X, KARLSSON B F. CAN-NER: convolutional attention network for Chinese named entity recognition[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1904.02141.
[25]
CUI Y M, CHE W X, LIU T, et al. Pre-training with whole word masking for Chinese BERT[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1906.08101.
[26]
DEVLIN J, CHANG M W, LEE K, et al. BERT: pre-training of deep bidirectional Transformers for language understanding[EB/OL]. [2021-07-11]. https://arxiv.org/abs/1810.04805.