融合词典信息和句子语义的中文命名实体识别

2024-04-29 02:41陈金广马丽丽
计算机与现代化 2024年3期
关键词:集上字符词典

王 谭,陈金广,马丽丽

(西安工程大学计算机科学学院,陕西 西安 710048)

0 引 言

命名实体识别(Named Entity Recognition,NER)[1]是指从一段非结构化文本中识别、分类和抽取指定的命名实体,是知识库构建[2]、信息检索[3]和问答系统[4]等自然语言处理任务的重要基础。

与英文等具有天然分隔符的语言不同,中文实体的边界更难界定。研究表明,在中文NER 领域,基于字符的方法优于基于词的方法[5-6]。但是基于字符的方法不能充分利用已知的词汇信息和词汇间的序列信息,因此词典信息的引入对基于字符的中文NER模型的提升最为明显。Zhang 等人[7]提出的Lattice-LSTM 模型,把所有字符和字符在词典中匹配到的词汇编码为一个有向无环图(Directed Acyclic Graph,DAG),后续通过训练让模型自主选择一条正确的路径。Liu 等人[8]对Lattice-LSTM 进行了修改,提出了WC-LSTM 模型,该模型使用4 种不同策略将词汇信息进行编码,并把词汇信息设置为固定大小的向量用于批量训练。Ma 等人[9]同样借鉴了Lattice-LSTM 模型的思想,提出了SoftLexicon 方法,将句子中的字符与词典中的词汇进行匹配,用固定长度向量表示的词汇信息与字符表示相结合,避免设计复杂的序列建模结构,达到了更快的推理速度和更好的性能。Li 等人[10]提出了FLAT 模型,该模型使用了一种新的编码方法对词汇信息进行编码,将Lattice结构转化为由跨度组成的平面结构。FLAT 不仅能利用Transformer[11]的位置编码获取长距离的依赖,且具有并行化的能力。

近年来,ELMO[12]、GPT[13]、BERT[14]、ERNIE[15]等动态上下文嵌入表示陆续被提出,基于Transformer结构的预训练语言模型在自然语言处理领域被广泛应用,同时体现了远超传统方法的性能。但是深度学习网络的性能严重依赖大量的人工标记数据,在小规模数据集上难以充分学习相关的语义语法知识。Reimers 等人[16]提出了SBERT(Sentence-BERT)模型,用于聚类、基于语义的信息检索等任务中,计算2 个句子间的相似程度。使用孪生网络和三胞胎网络生成具有语义的句子表示,可以通过余弦相似度、曼哈顿距离、欧氏距离等方法寻找语义相近的句子。本文受到SBERT 的启发,希望将其生成的带有语义信息的句子嵌入NER 任务中,通过训练让模型学习从相似的句子中寻找相似实体,帮助模型学习相似实体之间的关系,以获得更好的实体识别效果。

1 本文模型结构

本文提出的融合词典信息和句子语义的中文命名实体识别(LS-NER)模型,结构如图1 所示。该模型首先使用基于大规模语料库训练的预训练语言模型BERT 生成动态上下文字符嵌入,使用SoftLexicon方法匹配词典中的词汇,引入词汇先验信息,然后使用SBERT 接受整个句子作为输入,提取包含语义信息的句子嵌入,作为特征融合层的输入之一。由于SBERT 常用于计算文本相似度,并未在NER 领域进行应用,为了让模型更好地融合学习句子嵌入中的语义信息,本文设计特征融合层,根据权重动态地进行语义特征和句子信息的融合。

图1 模型的总体结构

1.1 匹配词典信息

BERT 是当前最优秀的预训练语言模型之一,其出色的特征抽取能力为各项任务带来的性能提升在多个研究[14]中均已展现。本文使用BERT生成基础的字符嵌入。对于长度为n的输入文本其中ci表示文本中第i个字符。将文本中的第i个字符输入BERT模型得到对应字符的动态上下文嵌入xci:

接下来,使用SoftLexicon 方式引入字符对应的潜在词信息。首先将字符在词典中匹配到的所有词汇分为B、M、E、S这4 个集合,其中,集合B包含以当前字符为开头的词汇,集合M包含当前字符在词汇中部(除去首位的位置)的词汇,集合E包含以当前字符为结尾的词汇,如果当前单个字符即为一个词汇,那么集合S包含该词汇。ci对应的集合由公式(2)计算:

其中,wi,k表示以字符ci开头和字符ck结尾的词汇,wj,k表示以字符cj开头和字符ck结尾的词汇,wj,i表示以字符cj开头和字符ci结尾的词汇,L表示词典。

在获得当前字符对应的词汇集合后,统计在训练集和测试集中各词汇出现的频率,将频率作为权重进行归一化处理,并根据权重将获得的词汇集压缩为固定维度的向量,例如词汇集S的向量v(S)计算方式如式(3)和式(4)所示:

其中,ew(w)表示词嵌入的查找表,z(w)表示词汇w在词典中出现的频率。与式(3)类似,可以将字符在词典中匹配到的其他3 种词汇集合转换为向量表示,即:v(B),v(M),v(E)。

连接字符嵌入和潜在词的向量表示为:

最后得到词汇信息增强的字符嵌入:

为了信息的完备性以及可恢复性,在实际训练中,每一个字符都将匹配到对应的4 个集合。若集合为空,则向集合中添加特殊符号[NONE]。图2 展示了字符“京”“长”和“桥”匹配到的4个集合。

图2 匹配集合实例

1.2 提取句子语义

常用获得预训练句子嵌入的方法有2 种:计算句子中所有标码输出的平均值和使用开始标志[CLS]位置的输出向量。相关研究[16]中的实验结果表明,在计算文本相似度时,这2 种方式得到的句子嵌入表现的效果并不理想。针对该问题,SBERT 对BERT 进行修改,针对不同的训练数据分别使用孪生网络和三胞胎网络更新模型参数,并计算所有标码输出的平均值作为整个句子的嵌入表示。

孪生网络使用相同的编码器对2 段文字的特征进行交互。在进行分类任务时,将文字A、B输入到同一个BERT 中,使用[CLS]位置向量或者所有字符向量的均值得到A的初始句子向量u以及B的初始句子向量v,拼接u、v和二者的对应位置元素的差值向量,进行线性变换后通过一个softmax 层。进行分类任务时设定目标函数为:

其中,Wt∈R3n×k是可训练参数,n是句子嵌入的维度,k是标签数量。

计算2 个句子嵌入之间的余弦相似度时,使用均方误差损失作为目标函数:

三胞胎网络的输入由主句sa、相似文本sp和不相似文本sn这3 个部分组成,网络通过训练缩小类内距离,增大类间距离。网络的训练目标是最小化其损失函数,损失函数为:

式中,‖ . ‖表示欧氏距离,ò 是边缘参数,保证sp到sa的距离至少比sn多ò,ò在训练时设为1。

经过微调后的SBERT 将输入的整个句子C向量化得到句子嵌入xs:

该句子嵌入具有深层次的句子特征,能够通过余弦相似度等度量方式判断句子的相似程度。

1.3 特征融合层

SBERT 设计的最初目的是生成句子嵌入用于计算句子间的相似程度,本文为了将其包含的句子特征用于识别实体,设计了3 种连接方式完成模型对句子信息的学习融合:

1)直接连接,这也是NER领域最常用的方法,使用向量拼接的方式连接2 个特征嵌入,即x=[xc;xs]。这种方式最显著的特征是,默认2 个嵌入间的信息互不交互。

2)使用基于自注意力的连接方式。通常来说,如果直接进行向量拼接,只是简单地将2 种信息进行叠加,并不能充分利用句子嵌入中的深层特征,在后文实验结果中也体现出直接连接对句子信息的利用率不高。因此这种方式在连接字符嵌入和句子嵌入后的混合嵌入上进行自注意力的计算,通过自注意力层融合句意和词义特征,进一步增强相似句子中相似实体的关联性:

3)基于权重的动态连接。自注意力机制的网络较为复杂,参数较多,在面对Weibo 这种小数据集时,容易造成过拟合。针对该问题,受Lattice-LSTM[7]的启发,本文提出类似注意力机制的基于权重的动态连接方法,具体连接方式为:

其中,w是可学习的权重参数,σ是sigmoid 激活函数,conv是卷积操作。

句子嵌入代表的是整个句子的信息,所以需要在句子层面进行计算分析。但是由于不同的句子中字符数量不同,导致每个句子的维度也是不相同的。因此,在连接字符嵌入和句子嵌入后,使用一维卷积进行卷积操作,替代一般的矩阵乘法运算,再通过一个全连接层存储学习到的参数,使用sigmoid 函数控制其输入结果在0~1之间,即为权重值。再根据注意力权值,动态的结合相关信息。

在特征融合层的上层,使用BiLSTM-CRF 结构作为LS-NER的序列标记层。双向长短期记忆网络(Bidirectional Long-Short Term Memory,BiLSTM)是一种特殊的循环神经网络,更善于发现和利用输入文本的双向长距离依赖。Huang 等人[17]提出了BiLSTMCRF 结构用于标记序列,在英文NER 任务中,该结构被广泛应用且在多项研究中达到最优性能。鉴于以上经验,本文将该结构用于中文NER任务中。

2 实验及结果分析

本文实验在Linux4.15.0 操作系统下进行,采用Pytorch 框架1.11 版本,硬件显卡型号为NVIDIA Ge-Force RTX 3070,CUDA 11.3版本。

2.1 实验设置

2.1.1 数据集

在4个常用的中文数据集上对模型的性能进行评估,包括新浪财经收集的金融数据集Resume[7],共1027份简历摘要,包含8类命名实体;新浪微博收集的社交媒体数据集Weibo[18],共1890条微博信息,包含4类命名实体;微软亚洲研究院标注的新闻领域数据集MSRA[19],共5 万多条标注数据,包含3 类命名实体;OntoNote 的最终版本OntoNote5.0[20],包括早期的4 个版本的所有内容并添加来自新闻、广播、电话和网络数据等领域的内容。数据集的数据分布如表1所示。

表1 各数据集的数据分布 单位:条

2.1.2 实验参数

小数据集Resume 和Weibo 的隐藏单元数量设为200,大数据集OntoNotes 和MSRA 的隐藏单元数量设为300;Dropout[21]设为0.5;使用Adam[22]优化模型参数,Weibo 的初始学习率设为0.005,其余3 个数据集的初始学习率均为0.0015;batchsize设为50。

2.1.3 词典的获取

本文与文献[7]应用相同的词典信息,使用基于Chinese treebank 6.0 语料库训练得到的词向量ctb.50d.vec中所有的词汇信息构建外部词典。

2.1.4 评价指标

本文采用准确率(Precision,P)、召回率(Recall,R)和F1 分数作为评价指标。其中F1 分数是准确率和召回率的加权调和平均,能够综合地评价模型的实际性能。评价指标的计算公式如下:

2.2 实验结果

2.2.1 对比实验

对比的基准方法包括:Zhang 等人[7]提出的Lattice-LSTM 结构,将字符序列中的字符与词典词汇进行匹配并根据一定的权重连接;Yan等人[23]提出的基于Transformer 的NER 架构,对字符级特征和词级特征进行融合建模;Gui等人[24]提出的基于词典的图神经网络,融合全局信息用于NER 任务;Cao 等人[25]提出的对抗性迁移学习框架,利用任务共享的边界信息用于实体识别;Jie等人[26]设计的依赖引导模型,能够编码完整的依赖树以学习句法关系,同时由于基线模型未在OntoNotes5.0 数据集上验证,本文使用的OntoNotes5.0数据集的对比结果来自于文献[27]。除了其他研究中的先进模型,本文还将不添加句子嵌入,仅使用融合了词汇信息的字符嵌入作为输入的BERT+SoftLexicon模型作为对比基准之一。

首先,本文分别在小型数据集Resume、Weibo 和大型数据集MSRA、OntoNotes5.0 上与其他先进方法进行对比实验,定量结果如表2 和表3 所示,表中的LS-NER在特征融合层使用基于权重的动态连接方式。

表2 Resume数据集和Weibo数据集上的性能

表3 MSRA数据集和OntoNotes5.0数据集上的性能

在规模较小的数据集中,语义相近的句子往往具有相似的命名实体,在NER 任务中加入句子嵌入可以使用共有特征提高识别效果。Resume 数据集和Weibo 数据集分别是金融领域和社交媒体领域的小数据集,在没有外部信息输入的情况下,本文提出的LS-NER 模型对比之前研究的F1 分数有了一定的提高,在Resume 数据集上较基线最优模型高约0.05 个百分点,该模型融合了全局信息。同时,比未添加句子嵌入的BERT+SoftLexicon 模型高出约0.15 个百分点。在Weibo 数据集上,LS-NER 模型的F1 分数较基线最优模型高约8.01个百分点,比未添加句子嵌入的BERT+SoftLexicon模型高出约2.26个百分点。

而在大型数据集MSRA、OntoNotes5.0 上,LSNER 的性能均低于不添加句子嵌入的模型(BERT+SoftLexicon)。

2.2.2 特征融合方式的选择

接下来测试模型在特征融合层选择不同的特征融合方式后在4 个数据集上的性能表现,其中LSNER-z、LS-NER-selfatt 和LS-NER-att 分别表示在特征融合层使用直接连接、基于自注意力机制连接的特征融合方式和基于权重的动态连接方式,定量结果如表4、表5 所示。同时,测试不同模型的计算速度,结果如表6所示。

表4 使用不同连接方式的模型性能对比

表5 MSRA数据集和OntoNotes5.0数据集上的性能

表6 Resume数据集和Weibo数据集上的性能和测试时的计算速度

相同的特征融合方式对不同的数据集会带来不同程度的影响。在Resume 数据集上,使用自注意力机制进行连接的模型(LS-NER-selfatt)效果最优,但是从表6 中可以看到,采用权重连接的模型(LS-NER-att)的F1分数对比最优的模型仅下降了约0.48个百分点,并且推理速度在3种方式中最快。在Weibo数据集上,使用自注意力机制连接的模型(LS-NER-selfatt)性能下降较大,较直接连接的方式下降了约9.39个百分点。笔者认为可能是由于Weibo 数据集的数据量较小,而自注意力机制的网络较为复杂,参数较多,导致模型过拟合。综上所述,本文建议在小数据集上使用权重连接方式进行特征融合,该方法能兼顾性能和计算速度,并防止在缺少标记数据时模型过拟合。

在大型数据集上的表现,结果如表5 所示。在MSRA 数据集上直接连接句子嵌入的模型(LS-NERz)的F1分数仅比不添加句子嵌入的模型(BERT+Soft-Lexicon)提高了约0.06 个百分点,而使用基于权重(LS-NER-att)和基于自注意力机制(LS-NERselfatt)的特征融合方式连接句子嵌入后,甚至对模型的性能造成一定的负面影响。导致对应模型的F1分数分别降低了约0.33和1.01个百分点。同时,这种影响在OntoNotes5.0 数据集上也有所体现,直接连接句子嵌入模型的F1分数比不添加句子嵌入的模型提高了约0.29个百分点,而使用权重和自注意力机制连接句子嵌入的模型的F1 分数分别降低了约21.41 和12.02 个百分点。在大型数据集上,模型通过提供的大量标记数据学习到充足的特征,因此特征融合层使用直接连接句子嵌入的方式提升有限,同时使用基于自注意力机制连接的特征融合方式和基于权重的动态连接方式都会不同程度地对部分信息进行舍弃,从而导致部分信息的丢失,甚至可能扰乱网络已经训练好的参数,影响模型的识别效果,同时还会增加不必要的计算量。因此在大型数据集上不建议添加句子嵌入。

3 结束语

Sentence-BERT 能够生成带有语义的固定维度的句子嵌入表示,通过计算2 个句子嵌入之间的距离可以判断句子的相似程度。本文从相似的句子中寻找相似实体,将Sentence-BERT 生成的带有句子语义信息的向量作为模型的输入之一,同时,根据加权策略编码词典信息并与字符嵌入相融合。为了帮助模型学习多级特征,本文设计了一种类似注意力机制的权重连接方式。实验结果表明,本文提出的LS-NER模型在小数据集上得到了较为优秀的性能。

猜你喜欢
集上字符词典
寻找更强的字符映射管理器
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
米沃什词典
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
评《现代汉语词典》(第6版)
复扇形指标集上的分布混沌
词典例证翻译标准探索