基于图注意力网络字词融合的中文命名实体识别

2022-10-16 12:28宋旭晖于洪涛李邵梅
计算机工程 2022年10期
关键词:分词字符编码

宋旭晖,于洪涛,李邵梅

(1.郑州大学 网络空间安全学院,郑州 450001;2.战略支援部队信息工程大学 信息技术研究所,郑州 450002)

0 概述

命名实体识别(Named Entity Recognition,NER)是信息抽取的子任务之一,主要指识别文本中的人名、地名、组织名等实体,是关系抽取[1]、事件抽取[2]、问答系统[3]等自然语言处理任务的重要基石。早期的命名实体识别方法主要基于规则和字典,但这些方法的效率较低、成本过高,且需要大量的专业知识。随着深度学习在自然语言处理领域的广泛应用,研究人员将深度学习应用到命名实体识别模型中。基于深度学习的模型一般可以分为嵌入层、编码层和解码层3 个部分。模型首先利用嵌入层将字词级别的输入转化为相应的字词向量,其次将字词向量输入编码层以学习上下文语义特征,最后通过解码层对编码层输出的特征向量进行分类,从而完成对实体的标注。[4]

在编码层中,卷积神经网络(Convolutional Neural Network,CNN)[5]与循环神经网络(Recurrent Neural Network,RNN)[6]因其高效并行运算、兼顾上下文信息等优势被广泛应用[7-8],但梯度消失、梯度爆炸、数据空间限制等问题的存在严重影响了模型的准确性与可扩展性。由于在命名实体识别任务中语句与篇章结构均以图数据的方式存在,因此越来越多的研究人员考虑将基于图注意力网络的编码器应用于模型中。相比于CNN、RNN 等序列模型,基于图注意力网络的编码器可以充分利用图结构在空间中的优势,并利用信息交互的方式减少信息传递损失,因此具有更好的识别效果。图注意力网络在图中引入注意力机制,每个节点特征的计算都会通过计算相邻节点对该节点的影响来动态调整权重,从而将注意力集中在影响较大的节点上。文献[9]将图注意力网络(Graph Attention Network,GAT)[10]引入中文命名实体识别,将自匹配词汇、最近上下文词汇等词汇知识融入到编码层中,提出协同图网络(Collaborative Graph Network,CGN)的模型,进一步提高命名实体识别效果。然而由于该模型使用的GAT 网络在计算注意力时,连续的线性计算对于任何查询节点i,注意力网络都倾向于同一节点j更高的注意力权重,因此得到的是静态注意力,损害了图注意力的表达能力。基于此,本文采用改进的图注意力网络(GATv2)[11]提高命名实体识别的效果。

此外,CGN 模型只在编码层利用词汇知识,在嵌入层没有充分利用词边界信息。然而在模型的嵌入层中,词边界信息是影响中文命名实体识别性能的重要因素。在命名实体识别任务中,词边界信息的缺乏会导致无法确定实体的首尾位置,进而降低识别准确率。研究表明,在命名实体识别模型中融入分词信息,可以提高模型识别效果[12-13]。与英文相比,中文没有显性的词边界信息,因此本文在嵌入层融入分词信息,以改善词边界信息缺乏问题。

为提高基于CGN 网络的中文命名实体识别模型[9]的识别准确率,本文提出一种基于改进图注意力网络的中文命名实体识别(WS-GAT)模型。通过在嵌入层加入分词信息,并在序列编码过程中使用向量拼接方式,从而充分利用词边界信息。在编码层对图注意力网络进行改进,采用GATv2 模型改进节点间相关系数的计算方式,以计算节点间的动态注意力,提高命名实体识别准确率。

1 本文模型

本文模型结构分为嵌入层、编码层和解码层3 层,如图1 所示。

图1 WS-GAT 模型结构Fig.1 Structure of WS-GAT model

由图1 可知,模型首先在嵌入层将文本映射成字符向量,将分词信息映射成特征向量,并与字符向量进行融合,作为嵌入层的字向量表示。其次,在编码层使用BiLSTM 提取特征,利用GATv2 网络将词汇信息融合,作为最终的特征表示。最后,在解码层采用条件随机场进行解码,实现对实体的标注。与传统的命名实体识别模型相比,本文模型在嵌入层融入分词信息并生成包含词汇边界信息的字向量(如图1 中右侧框图所示),能够缓解难以确定词汇边界的问题。此外,在编码层采用GATv2 网络(如图1 中编码层单词-字符融合框图所示),能够提高模型的特征提取能力。

1.1 融入分词信息的嵌入层

1.1.1 字向量的生成

在通常情况下,模型嵌入层负责对输入字符和词汇进行编码,而在中文命名实体识别任务中,对字符进行编码的方式由于存在语义缺失等问题,导致无法有效利用词汇信息。且与英文相比,中文没有显性的词边界特征,词边界信息的缺失降低了命名实体识别的性能。因此,本文模型采用将词汇的分词特征向量与字向量相融合的方式,以改善词边界信息缺失的问题,提高命名实体识别准确率。字向量与分词特征向量进行融合的方式如图2 所示。

图2 字向量与分词特征向量的融合示意图Fig.2 Schematic diagram of word vector and word segmentation feature vector

如图1 所示,模型的输入是一个句子和这个句子中所有的自匹配词,字符的自匹配词是指包含该字符的词汇。本文用t={t1,t2,…,tn}表示该句子,其中tn表示句子中的第n个字。对句子中的每个字符均通过查找字符嵌入矩阵的方式表示为一个向量xi,其表达式如式(1)所示:

其中:ac是一个字符嵌入查找表。

模型通过分词工具对句子进行分词并对训练集中的数据进行标注以构建分词特征,如对于“北京”实体,在训练集中的标注为“北B-LOC”、“京E-LOC”。为了获得词边界信息,本文在数据中增加分词特征,将“北京”实体重新标注为“北seg:0 B-LOC”、“京seg:1 E-LOC”。将重新标注的数据输入到模型后,模型通过维护特征查找表实现分词特征的编码,将分词信息编码为特征向量[s1,s2,…,sn],进而将分词特征编码与字向量进行拼接,并作为字符的向量表示。最后将词汇信息融合到字向量中,得到包含词边界信息的字向量,其表达式如式(2)所示:

其中:si表示该字对应的特征向量;⊕表示向量拼接;ci表示融合后的字向量表示。

1.1.2 自匹配词向量的生成

为了表示单词的语义信息,得到自匹配词的向量表示,本文将模型中输入句子匹配到的词汇表示为l={z1,z2,…,zm},通过查找预训练单词嵌入矩阵,将每个单词表示为一个语义向量zi,其表达式如式(3)所示:

最后将字向量和词向量进行拼接,得到嵌入层最后的输出表示:

其中:zi为自匹配词向量表示。

1.2 基于多个图注意力网络的编码层

模型编码层负责捕获文本的上下文特征,相比于CNN、RNN 等序列模型,图注意力网络因其对图结构数据的强大特征提取能力被应用于命名实体识别中。为增强特征提取效果,本文应用GATv2 网络对特征进行编码,从而得到文本的语义表示。

首先使用BiLSTM 模型[14]对嵌入层获得的字向量进行初步建模,通过计算得到前向和后向2 个不同的特征表示,并将这2 个特征表示进行拼接,得到包含上下文特征的向量H={h1,h2,…,hn},如式(7)所示:

然后将向量H输入到GATv2 网络中以提取特征,从而得到包含更加丰富语义信息的特征向量。具体来说,构建单词-字符交互图G=(V,E),其中:V是节点集合,代表所有的字符和自匹配词;E是边集合,代表不同的关系。本文通过参考文献[9]的构图方式构建的图注意力模型由3 个单词-字符交互图构成:包含图、转换图和Lattice 图,它们分别用来整合词内语义信息、上下文词汇信息和自匹配词边界信息,构图方式如图3 所示。这3 个图共享相同的顶点集V,并引入3 个邻接矩阵A来表示图中节点和边的信息。在包含图中,如果自匹配词i包含字符j,则将邻接矩阵AC中(i,j)的值赋为1。在转换图中,如果单词i或字符m与字符j的最近前序或后序相匹配,则对应AT中的(i,j)或(m,j)的值被赋为1。在Lattice 图中,如果字符j和匹配词i的第1个或最后1个字符匹配,则AL中(i,j)的值赋值为1,如果字符m是字符j的前一个或后一个字符,则AL中(m,j)赋值为1。

图3 单词-字符交互示意图Fig.3 Schematic diagram of word-character interaction

GAT 网络的输入是节点的特征表示NFj={h1,h2,…,hN}以及邻接矩阵A,其中A∈ℝN×N,N为节点数。文献[10]使用GAT 网络进行字词信息融合,如公式(8)所示:

其中:e(hi,hj)表示节点j和节点i间的相关系数;a和W均为可学习的参数矩阵;k为注意力头数。

传统GAT 网络存在静态注意力问题[11],由于权重矩阵W和注意力矩阵a的连续应用,导致经过连续线性变化的hi和hj对于任何查询节点,注意函数相对邻居节点是单调的,即对于任何查询节点i,图注意力网络都倾向给同一节点j更高的权重,这损害了图注意力的表达能力。因此本文采用GATv2 网络进行特征提取,表达式如式(9)所示:

改进后的公式对注意力功能进行修正,在经过非线性层之后,应用注意力矩阵a可以计算所有节点的贡献程度,进一步增强了节点的特征向量表示。

将上一步计算得到的相关系数进行归一化,得到节点的注意力系数,表达式如式(10)所示:

之后进行加权求和,得到最终的输出特征:

使用3 个图注意力网络进行编码后,获得的节点特征分别为G1、G2、G3:

其中:Gk∈ℝF′×(n+m),k∈{1,2,3}。保留这些矩阵的前n列作为最后的字符表示来解码标签。

最后,对3 个交互图获取的包含不同词汇知识的向量进行融合,表达式如式(16)所示:

其中:W1,W2,W3,W4为可训练矩阵;H是输入的上下文表示;Q1,Q2,Q3为3 个GAT 图得到的字符表示。

最终,本文得到融合上下文信息、自匹配词信息和最近上下文词汇知识的新句子表示,使用矩阵T来表示,其中T∈ℝF′×n。

1.3 基于条件随机场的解码层

解码层负责对输入的上下文表示生成对应的标记序列。在自然语言处理任务中常将条件随机场(Conditional Random Fields,CRF)[15]作为解码器,CRF 通过捕获连续标签之间的依赖关系进行全局优化,在很大程度上解决了输出标签独立假设的问题,被广泛应用于序列标注等任务。

本文模型也采用CRF 作为解码层,对于编码层的输出序列T={r1,r2,…,rn},若其对应的标注序列为Y={y1,y2,…,yn},则标注序列y的概率为:

其中:y′是一个任意的标签序列;T是存储一个标签到另一个标签的转移得分矩阵。在模型训练过程中,采用L2 正则化最小化对数似然损失函数来优化模型,损失函数的定义为:

其中:y是L2 的正则化参数;θ是所有可训练集的参数。

2 实验结果与分析

2.1 数据集介绍

实验共选取了6 个中文数据集,包括MSRA[16]、OntoNotes4.0[17]、Resume[18]、Weibo[19]4 个常用数据集,以及People Daily[20]、Boson 这2 个公开数据集来评估模型结果。各数据集信息如表1 所示,其中“—”表示无此项内容。

表1 数据集信息Table 1 Information of datesets

2.2 标注规范和评价指标

命名实体识别有多种标注方式,包括BIO、BMESO、BIOES 等。本文实验采取BMES 标注方式,其中,B、M、E 分别代表实体的开始、中间以及末尾部分,S 代表一个单独的实体。

本文选用精确率(P)、召回率(R)以及F1 值为评价指标衡量模型好坏,计算方式如下:

其中:Tp为模型标记正确的实体个数;Fp为错误标记的实体个数;Fn为未进行标记的实体个数。

2.3 实验参数设置

本文将在中文Giga-Word 数据集上预先训练的字符作为输入模型的字符嵌入[18],采用文献[21]中提供的词汇信息作为词汇嵌入,并使用dropout[22]算法防止模型过拟合。在MSRA、People Daily 和Boson 3 个数据集上使用Adam 算法[23]优化参数,在OntoNotes4.0、Resume、Weibo 数据集上使用随机梯度下降(Stochastic Gradient Descent,SGD)算法优化参数。实验设定的超参数值如表2 所示。

表2 实验超参数设置Table 2 Experimental hyper parameters setting

2.4 实验结果

相对于CGN 模型,本文模型在嵌入层融入词汇的分词信息,并在编码层改进图注意力网络。为验证本文模型的有效性,本文对于在嵌入层融入分词信息并改进图注意力网络的模型(即本文模型)以及仅在嵌入层融入分词信息的模型分别进行实验。下文从改进策略有效性、与其他模型的对比、模型复杂度和模型的收敛速度4 个角度对模型进行分析。

2.4.1 改进策略有效性分析

为验证本文模型在中文命名实体识别任务上的有效性,本文在MSRA、OntoNotes4.0、Resume、Weibo、People Daily 和Boson 数据集上对改进前后的模型进行对比实验,结果如表3 所示,表中加粗数字表示该组数据最大值。

表3 本文模型改进前后在不同数据集下的F1 值对比Table 3 Comparision of F1 value of model before and after improvement in this paper under different datasets %

由表3 可知,在MSRA、OntoNotes4.0、Resume、Weibo、People Daily 和Boson 数据集上,本文模型的F1值相比改进前模型均有一定程度的提高,证明了融入分词信息与改进图注意力网络对于提高命名实体识别性能的有效性。

此外,在MSRA、OntoNotes4.0、People Daily 和Boson 数据集上,仅融入分词信息的模型F1 值相比改进前的模型均有一定程度的提高,在这4 类数据集上分别提高了0.45%、1.07%、0.86%、0.77%。进一步分析表4 可以得出如下结论:融入分词信息对小数据集的影响更为明显;在比较规则的数据集上,融入分词信息对于模型的F1 值提升较小。综上所述,融入分词信息在一定程度上缓解了词边界确定困难的问题。

通过将仅融入分词信息模型的实验结果与在此基础上改进图注意力网络(即本文模型)的实验结果进行对比,可以看到在MSRA、OntoNotes4.0、Resume、Weibo 和People Daily 数据集上,本文模型的F1 值相对仅使用分词信息的模型有一定程度的提高,这说明改进后的图注意力网络GATv2 解决了GAT 网络的静态注意力问题,进一步提高了编码层的特征提取能力。

2.4.2 与其他模型的对比结果

为全面验证本文模型的有效性,引入Lattice LSTM[18]、LGN[24]、FLAT[25]、LR-CNN[7]等模型与本文模型进行对比,各对比模型分别基于LSTM、CNN、GCN、Transformer 网络实现,覆盖了几种常用的特征提取器,结果如表4 所示,表中加粗数字表示该组数据最大值,“—”表示原论文中未列出实验结果。由表4 可知,本文模型在Resume 和Weibo 数据集上的F1 值略高于其他模型。虽然本文模型在OntoNotes4.0 数据集上的F1 值表现略差,但模型召回率得到了明显提升。

表4 不同模型在不同数据集下的实验结果对比Table 4 Comparison of experimental results of different models under different datasets %

2.4.3 模型时间复杂度分析

命名实体识别作为自然语言处理任务的重要组成部分,对训练以及测试的速度有很高的要求。本文模型在嵌入层融入分词信息时会引入额外的计算开销,但不影响后续计算中原有模型的处理结构和输入数据规模。此外,GATv2 网络与标准GAT 网络具有相同的时间复杂度[11],所以本文模型除了增加分词开销外不会引入其他的计算开销。为具体度量分词的时间开销在模型总处理时间上所占的比例,本文通过实验对模型复杂度进行分析。

实验随机选取10 个训练epoch 作为样本,并对比融入分词信息前后的模型训练时间。如表5 所示,在MSRA、OntoNotes4.0、Resume 和Weibo数据集上,模型融入分词信息占用了一定的时间,但占整体处理时间的比例较小,对模型性能的影响不大。在OntoNotes4.0 数据集上,本文模型的训练时间增加了2.82%,但F1 值提高了3.16%。在其他数据集上,F1 值也取得了一定程度的提升。综上,在嵌入层融入分词信息仅牺牲较少时间复杂度,但获得了F1值的提升。

表5 不同模型在不同数据集下的时间复杂度与F1 值对比Table 5 Comparison of time complexity and F1 value of different models under different datasets

2.4.4 模型收敛速度对比

为进一步探究融入分词信息对模型收敛速度的影响,本文研究了在不同的数据集下,模型融入分词信息前后的F1 值与迭代次数的关系,结果如图4所示,其中CGN with seg 表示在CGN 中融入分词信息的模型。可以看到,在保持迭代次数和学习率不变的情况下,融入分词信息后,模型在不同数据集下的的收敛速度均得到了提升。

图4 模型收敛速度的对比Fig.4 Comparison of model convergence speed

3 结束语

本文提出一种基于改进图注意力网络的中文命名实体识别模型,通过在嵌入层融入分词信息,以有效结合文本中的词汇信息,缓解字词融合的词边界确定困难问题。对模型编码层的图注意力网络进行改进,增强特征提取能力,使用条件随机场解码文本,以实现对实体的标注。实验结果表明,与CGN 模型相比,本文模型在保持迭代次数和学习率不变的情况下,收敛速度更快,证明了融入分词信息、改进图注意力网络对中文命名实体识别的有效性。下一步将重点改进分词信息融合策略,降低噪声对识别结果的影响,并通过优化模型,提高模型运行效率。

猜你喜欢
分词字符编码
生活中的编码
分词在英语教学中的妙用
《全元诗》未编码疑难字考辨十五则
论高级用字阶段汉字系统选择字符的几个原则
子带编码在图像压缩编码中的应用
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
结巴分词在词云中的应用
结巴分词在词云中的应用