中文分词与命名实体识别的联合学习*

2021-02-01 07:25黄晓辉乔立升余文涛
国防科技大学学报 2021年1期
关键词:分词解码编码

黄晓辉,乔立升,余文涛,李 京,薛 寒

(1.中国科学技术大学 计算机科学与技术学院,安徽 合肥 230026;2.战略支援部队信息工程大学洛阳校区,河南 洛阳 471003)

命名实体识别也称专名识别,旨在识别出文本中表示命名实体的成分,是篇章理解、信息检索、知识图谱、机器翻译等自然语言处理高层应用的基础[1]。解决命名实体识别的主流方法是将其作为序列标注问题,即为输入文本序列中的每个字(词)预测一个标签,该标签包含了实体的边界信息和类别信息。目前,主要有基于统计的序列标注模型和基于神经网络的序列标注模型两大类。基于统计的序列标注模型从概率的角度来建模输入序列与标签序列之间的关系,如隐马尔可夫模型(Hidden Markov Model,HMM)、条件随机场模型(Conditional Random Field,CRF)等[2]。例如,文献[3]设计了基于层叠HMM的中文命名实体识别模型,文献[4]则基于CRF构建面向生物医学文本的命名实体识别模型,有效提升了领域实体的识别性能。

近年来,得益于强大的特征提取能力和非线性拟合能力,基于神经网络的序列标注模型逐渐崭露头角。与统计模型相比,神经网络模型对特征选取的依赖程度大大降低[5],在命名实体识别领域获得了显著的性能提升,如文献[6]采用前馈神经网络,结合字词特征在中文新闻语料上取得了非常好的效果。文献[7-8]则分别基于循环神经网络(Recurrent Neural Network,RNN)的两种变体——双向长短时记忆(Bi-directional Long Short-Term Memory,Bi-LSTM)网络[9]和网格长短时记忆网络来设计序列标注模型,并成功应用于中文命名实体识别。此外,业界还提出通过组合模型来实现命名实体识别,如文献[10]将Bi-LSTM与CRF相结合,以LSTM来提取序列特征,以CRF建模标签的时序依赖,在英文命名实体识别上取得了显著的性能提升。文献[11]则利用卷积神经网络(Convolutional Neural Network,CNN) 来强化模型的特征提取能力,构建了基于CNN、LSTM以及CRF的序列标注模型,并将其应用于生物医学领域的命名实体识别。文献[12]则使用LSTM-CNNs-CRF的组合架构进行序列标注,同样在命名实体识别上获得了显著进步。总体上,组合结构模型旨在利用不同组件实现不同特征的提取。现有组合模型中各组件通常在结构上相互独立,在数据处理过程上又顺序依赖,模型整体复杂度增加,不仅给模型训练带来诸多问题,也给局部空间特征和时序依赖特征的联合提取带来了较大的不确定性。

同时,由于中文的最小语义单位是汉字,因此可基于字标注方法实现命名实体识别。但在实际应用中,由于字的语义信息太过简略,因此通常会采用先分词、再基于词序列标注的流水线处理模式。这种模式下,分词误差不可避免地会影响后续实体识别的效果。

基于以上现状,本文从三方面开展研究工作:一是针对中文字序列局部空间特征和时序依赖特征的联合提取问题,研究构建融合卷积结构和循环结构的神经网络特征提取器,以实现序列数据局部空间特征和长距离时序依赖特征的联合建模;二是针对标签序列上下文特征的提取问题,研究构建基于改进RNN的标签解码网络,使模型在预测标签时能够充分利用标签序列的上下文关联特征;三是针对传统流水线模式带来的误差传播问题,研究设计融合词边界信息和实体信息的字序列标注模式,将中文分词与实体识别纳入统一的联合学习框架,在有效利用分词信息辅助命名实体识别的同时,避免分词误差的传播问题。与现有主流命名实体识别方法相比,本文提出的模型具有三个显著特点:一是基于卷积循环神经网络构建特征编码器,充分发挥两者的优势来实现序列数据局部空间特征和时序依赖特征的有效提取;二是基于改进RNN的标签解码网络,充分利用RNN对时序特征的建模能力,将标签序列的上下文信息纳入学习过程;三是统一的分词与实体识别序列标注模式较传统标注模式纳入了更多的信息,借助于模型强大的学习能力,实现中文分词与实体识别的联合学习。最终实验结果证明,该联合学习模型对中文命名实体有更好的识别能力,尤其是在识别字数较多的命名实体时,其效果要明显优于其他方法,这也是本文最突出的贡献点。

1 中文分词与实体识别联合学习框架

本文提出的基于融合结构神经网络的中文分词与实体识别联合学习模型总体架构如图1所示。

图1 基于融合结构神经网络的中文分词与实体识别联合学习模型Fig.1 Joint learning model of Chinese word segmentation and entity recognition based on fused neural network

该模型主要由四部分构成:一是由中文字向量构成的输入层,以实数向量编码的方式实现汉字之间语义关系的初步建模,称为字嵌入层。二是融合卷积和循环结构的特征编码网络,称为Bi-CRNN编码层。该层借助于卷积循环神经网络强大的特征提取能力,实现输入序列局部空间特征和长距离时序依赖特征的联合编码。三是基于改进的循环神经网络构建的标签解码层,称为GRU解码层。该层以特征编码层输出向量为前馈输入,经隐层变换形成隐状态向量,再将前一时刻输出的标签概率向量与特征编码向量整合,从而综合利用特征编码信息和标签上下文信息解码出标签序列。四是Softmax分类层,所表示的标签结构将字在词中的位置信息、字在实体中的位置信息以及实体的类型信息进行统一编码,作为分词与实体识别联合学习的依据。最终,结合特定的目标函数和训练算法对模型进行训练,即可实现中文分词与实体识别的联合学习。

2 基于卷积循环神经网络的特征编码层

为实现序列数据局部空间特征和时序依赖特征的联合建模,本文将CNN的局部连接、权值共享结构引入RNN的前馈连接中,同时对神经元的工作模式进行相应改进,在保留时序特征提取能力的同时,改善其对局部空间特征的提取效果。经过改进的神经网络称之为卷积循环神经网络,网络中每个神经元都是一个具有时序自连接的特征filter,通过在输入序列上做二维卷积来提取局部空间特征,再做一维的时序迭代来提取上下文时序特征。卷积循环层中单个神经元的数据处理过程如图2所示。

图2 单个卷积循环神经元的特征提取过程Fig.2 Feature extraction process of a single convolutional recurrent neuron

由于特征编码层存在多个卷积循环神经元,因此每个神经元在某一时刻都会产生瞬时的局部特征map,多个神经元就会产生多个特征map,进而在时序迭代时需要对前一时刻的多个特征map进行处理,因此本文对神经元的时序迭代过程进行了改进,以两个卷积循环神经元的数据处理流程为例,其过程如图3所示。

图3 两个卷积循环神经元的特征提取过程Fig.3 Feature extraction process of two convolutional recurrent neurons

(1)

式中,xt表示输入序列在t时刻的向量,mt,n表示在t时刻由第n个神经元Cn在向量xt的上下文环境中经过1维卷积生成的瞬时特征map,yt+1,n表示在t+1时刻第n个循环卷积神经元生成的特征编码值,其以t+1时刻的瞬时卷积特征map作为前馈输入,以t时刻所有神经元生成的特征map经过Pooling并拼接(公式中中括号即表示拼接)后形成的向量作为循环输入,最终由RNN cell生成一个特征编码值。最后,t+1时刻所有神经元的特征编码值经过拼接形成t+1时刻的特征编码向量yt+1。

借鉴循环神经网络中的门控机制[13]和双向时序迭代机制[14],本文基于卷积循环神经网络构建了特征编码层,其对数据的处理流程如图4所示。

图4 特征编码层的数据处理过程示意Fig.4 Data processing process of the feature encoding layer

图4中,编码层的双向迭代机制的CGRU网络(Bi-directional Convolutional Gated Recurrent Unit,Bi-CGRU),即设置两个卷积循环神经层,分别从输入序列的两个方向进行局部空间特征和时序依赖特征的提取。CGRU则表示基于GRU cell门控机制的卷积循环神经网络,即采用GRU门控机制来对卷积操作生成的特征map进行处理,其过程可如图5所示。

图5 CGRU Cell的数据处理过程示意Fig.5 Data processing process of the CGRU Cell

最终,所有神经元在同一时刻生成的多个map在纵向形成特征编码向量,在横向经Pooling以及拼接后,形成时序迭代的状态向量,进入下一时刻的神经元中。由于就某一时刻输入字向量而言,编码网络中两个方向的卷积循环层会生成两个编码向量序列,因此将同一时刻两个方向的特征编码向量进行拼接,形成一个对该时刻输入向量的总体特征描述。

3 基于改进RNN的标签解码层

为了建模标签序列的长距离时序依赖关系,本文在特征编码层之上通过改进RNN构建了标签解码层,其运行过程如图6所示。

图6 标签解码层的运行过程示意Fig.6 Operation process of the tag decoding layer

该解码层是对传统RNN的改进,其门控机制仍然采用GRU cell,在保留隐含层时序自连接的同时,还将前一时刻Softmax分类网络的输出值引入当前的隐含层状态中,不仅利用隐含层循环连接来建模特征编码的时序依赖,还利用前一时刻输出标签的信息来辅助当前时刻标签的预测。基于改进RNN的标签解码层内部结构及数据处理流程如图7所示。

图7 GRU解码网络内部结构及数据处理流程Fig.7 Internal structure and data processing flow of the GRU decoding network

从图7可以看出,该标签解码层的门控单元与传统的GRU网络是一致的,只是在数据进入GRU cell时加入了一个额外的处理步骤,即将前一时刻Softmax分类层的输出值与特征编码层的编码向量进行了拼接,之后一起作为GRU的前馈输入,来实现当前时刻的标签预测。其计算过程如式(2)所示:

(2)

式中,et表示特征编码层在t时刻输入的编码向量,ht表示解码网络隐含层状态向量,St表示解码网络在t时刻输出的标签类别概率向量。可以看出,在t时刻,编码层的特征向量与前一时刻的标签类别概率向量进行拼接后,进入GRU cell进行运算处理后形成隐状态向量,其中一路进入分类层输出t时刻的标签概率,另一路进入下一时刻的GRU cell进行时序迭代。

4 统一的分词与实体识别序列标注模式

为实现联合学习,本文设计了融合词边界信息、实体边界信息和实体类别信息的标签结构。该标签结构共由三个子部分构成:第一部分为分词标记,表示字在词中的位置;第二部分为实体的类别标记,表示该字所属实体的类别(本文采用人名、地名和组织机构名三个类别作为示例);第三部分为实体边界标记,表示该字在实体中的位置。标签结构以及所代表的含义如表1所示。

表1 分词与实体识别联合学习标签结构Tab.1 Tag structure for the joint learning of word segmentation and entity recognition

本文设计的标签模式将字在词中的位置、字在实体中的位置以及字所属实体的类型进行了整合,形成统一的中文分词与实体识别序列标注模式。理论上讲,所有标签类别应有4×4×4=64种,但实际上并没有这么多。从语法规则来讲,有些组合是不存在的(例如,位于词中间的字不可能是一个实体的开始或结尾)。最终,结合语法规则以及对语料库中标签的筛选,在去除不合理、不存在的标签组合后,共得到如表2所示的标签集合。

表2 分词与实体识别联合学习标签集Tab.2 Label set for the joint learning of word segmentation and entity recognition

由于各标签之间互斥存在,因此本文采用one-hot向量形式对标签进行编码,共设置31维标签编码向量(表示31个标签类别,每一维代表一个类别),标签编码向量中只有一个维度的值为1,其他维度的值则为0。

5 实验及结果分析

5.1 实验任务及数据准备

为验证所设计框架的有效性,本文分别以人民日报标注语料(PFR)和微软标注语料(MicroSoft Research Asia,MSRA)为基础数据进行试验验证,两个语料库的具体情况如下。

98版人民日报标注语料:来自1998年1—6月的人民日报新闻语料,其中新闻文本进行了分词和词性标注。语料中每个句子由换行符隔开,句子中词与词之间由空格隔开,每个词后面会跟一个词性标记。命名实体信息包含于词性信息中,其中标记nr,nt,nz分别代表人名、地名和组织机构名。据统计,语料库中命名实体的信息如表3所示。

表3 PFR标注语料的统计信息Tab.3 Statistics of the PFR

微软亚洲研究院命名实体标注语料库:由微软亚洲研究院提供,也是Sighan2006 backoff 3 使用的中文语料库。该语料库根据用途划分为分词版本和命名实体标注版本。两个版本的语料内容是一致的,只是标记不同。该语料库的实体统计信息如表4所示。

表4 MSRA标注语料的统计信息Tab.4 Statistics of the MSRA

在进行实验之前,对这两个语料库中的句子和标记进行了预处理。对于PFR语料库,将分词和实体标记转换为基于字的联合标记,随机选取80%的句子作为训练集和 5%的句子作为验证集以及15%的数据作为测试集。对于MSRA语料库,依据分词版本和实体标注版本中语料的对齐关系,将分词标记和实体标记转换为联合标记,同时由于该语料库已经预先划分了训练集和测试集,因此本文从训练集中随机划分出10%的语料作为验证集。

5.2 模型构建与训练

依据图2所示的联合学习框架,采用python 3.5+Tensorflow 1.4来构建序列标注模型。其中,输入层设置100个节点,表示100维的特征向量,本文采用word2vec框架在PFR和MSRA语料上一起训练得到100维的中文字向量作为输入;特征编码层和标签解码层的参数在实验过程中根据模型的训练和测试效果来确定;Softmax分类层则设置31个节点,代表31维的标签向量输出。模型训练采用的目标函数为样本集的Log似然,以最大化该似然函数作为训练目标,其定义如式(3)所示:

(3)

(4)

模型训练时,本文首先根据句子的长度对所有句子进行升序排序,之后再根据句子长度所在的区间进行了统一的长度Padding,即设置[0,15]、[16,25]、[26,35]三个区间,长度落在相应区间内的句子统一Padding到所在区间的右边界值(补0)。在训练过程中,随机选取长度在某个区间的所有句子作为一个大的样本集合,之后在该集合内再采用基于Minibatch的随机梯度下降算法及其变体来训练模型。其中,Minibatch的值设置为32;模型优化算法选择Adam算法[15],采用Tensorflow默认的参数配置(learning_rate=0.001,beta1=0.9,beta2=0.999,epsilon=1E-08);模型初始权重由均值为0、方差为1的标准正态分布在[-1,1]区间内随机生成;每当训练集上完成一轮迭代,就在验证集上进行一次验证。当模型在验证集上的性能趋于稳定或是开始持续下降时,模型停止训练。

训练完成后,将在测试集上对模型进行性能评估。由于最终输出是概率向量的序列,因此在进行实体切分及类型判断时,对该向量序列分两步进行处理:首先去除不包含实体信息仅有分词信息的标签;之后依据标签采用最近配对原则切分出实体的边界,并判断出其类型。最终,根据识别出的命名实体情况,采用Precision、Recall、F1-值三个量作为指标,用于评价模型最终表现,其定义如式(5)所示。

(5)

5.3 实验结果分析

在模型训练过程中,本文重点对编码网络和解码网络的超参数设置进行了多次试验验证,以探索不同结构对标注性能的影响,如神经元节点个数、卷积patch的大小、卷积stride的大小等,以标注效果最好的结构作为最终的模型。最终获得的模型结构及在数据集上的标注结果如表5和表6所示。

表5 识别性能最佳的模型参数Tab.5 Parameters of the best performance

表6 模型在测试集上的实体识别结果Tab.6 Entity recognition results on the test set

从表6可以看出,本文设计的联合学习模型在两个数据集上都取得了较好的识别效果,各个指标都在90%以上。尤其是对于组织机构名的识别,其结果与人名的识别结果已基本相当,这在传统基于序列标注模型的命名实体识别任务中是很少见的。因为传统命名实体识别模型通常对人名、地名有较高的识别率,而对组织机构名的识别效果要差很多,其原因就在于人名一般较短、较简单,而地名一般具有较明显的指示特征,因而通常有较高的识别率。而组织机构名不仅字数较多,并且可以包含人名和地名,其内容形式极其丰富,有着复杂的局部空间特征和长距离时序依赖特征。因此,一般模型对这种数据特征模式难以产生最佳的提取效果,而本文提出的网络模型正是针对这一特征模式的有效提取而设计,因此才取得了更好的识别效果。

此外,为了验证所设计的联合学习框架较其他模型在中文命名实体识别方面的优越性,本文还与业界公认性能较好的基于CRF、LSTM、CNN及组合结构的序列标注模型进行了对比实验,同时也与目前公开发表的、在PFR语料库上效果较好的研究工作进行了对比,以三类命名实体(人名、地名、组织机构名)的准确率、召回率和F1-值作为参考指标,最终详细的对比结果如表7所示。

表7 与其他模型的识别性能对比(PFR)Tab.7 Comparison with other models′ recognition performance(PFR)

从表7的结果来看,本文设计的基于“CRNN+RNN/字标注联合学习”模型在三个指标上获得了最佳的识别结果(组织机构名的准确率、召回率和F1-值都排名第一),在五个指标上获得了第二的结果(与排名第一的差距都在0.5%以内),因此总体上较其他模型有显著的性能提升。同时与文献[6]发表的识别结果相比,本文提出的模型尽管在地名识别方面稍有落后,但在人名和组织机构名的识别方面有明显的性能提升。并且,文献[6]提出的方法使用了大量精准的字词特征,而本文提出的方法没有涉及任何的外部特征。另外,在实验过程中,本文还对各个模型的参数数量、训练过程迭代次数以及标注效率进行了统计和对比分析,结果显示,本文所提模型具有最少的训练参数,且在训练迭代次数和序列解码时间上都要明显少于其他神经网络模型,因此较其他模型具有更高的训练和推理效率。

另外,本文基于改进RNN构建的标签解码层是与传统模型的重要不同之处。为验证该标签解码层对标注效果的影响,本文以CRNN编码层为基础,针对Softmax层、CRF解码层和基于改进RNN的解码层进行了对比实验,其结果如表8所示。

表8 不同解码层的性能对比(PFR)Tab.8 Performance comparison of different decoding layers(PFR)

从表8可以看出,在同样采用CRNN作为特征编码层的情况下,配置CRF解码层的模型较单纯的Softmax分类层有更高的准确率和召回率以及F1-值,这说明CRF层较Softmax层对标签上下文信息的建模能力要强得多,同时也说明,标签的上下文关联信息对于命名实体识别的结果有着直接的影响;同样的情形,基于改进RNN的解码层较基于CRF构建的解码层在具有相当准确率的情况下,其召回率又有了明显提升,这说明有更多的命名实体被识别出来,并且是被准确地识别出来,证明了基于改进RNN的解码层较CRF层对标签的上下文关联特征有更好的建模能力,因而提升了命名实体的识别效果,验证了这一设计的有效性。

此外,为了验证模型在识别长实体时的优越性,本文专门针对字数超过6的命名实体(主要是地名和组织机构名)识别结果进行了统计对比,其结果如表9所示。

表9 对长实体的识别性能对比(PFR)Tab.9 Comparison of recognition performance of long entities(PFR)

从表9可以看出,对于具有多个字的长命名实体的识别,本文设计的联合学习模型较其他模型有明显的优势,获得了最好的准确率、召回率和F1-值。

综合以上实验及结果来看,本文设计的命名实体识别框架取得了预期的效果,其原因可归结于以下因素:一是构建了基于卷积循环神经网络的特征编码层,能够有效融合卷积和循环结构的优点来提升网络对序列数据局部空间特征和时序依赖特征的联合建模能力,使提取的特征对标注结果有更加显著、直接的影响;二是设计了基于改进RNN的标签解码层,充分利用RNN的时序连接结构来建模标签序列的上下文依赖关系,更有效地利用标签上下文信息来辅助预测;三是设计了分词与实体识别联合学习模式,将分词信息与实体信息纳入统一的标签模式下,结合相应的误差函数和模型训练算法来实现分词信息与实体信息的联合学习。

6 结论

本文研究了基于卷积循环神经网络的中文分词与实体识别联合学习框架,基于卷积循环神经网络构建特征编码层,实现对文本序列局部空间特征和长距离时序依赖特征的联合提取;基于改进的RNN构建了标签解码层,以建模标签序列内部的时序关联关系;同时设计中文分词和实体识别统一标注模式,实现了中文分词和实体识别的联合学习。在公开语料上的实验结果验证了该框架的有效性,尤其是对包含多个字的长实体的识别效果,更是取得了显著的提升,后续将研究把联合学习模型应用于特定领域的命名实体任务,以使该方法能够在更广阔的领域发挥作用。

猜你喜欢
分词解码编码
生活中的编码
长链非编码RNA APTR、HEIH、FAS-ASA1、FAM83H-AS1、DICER1-AS1、PR-lncRNA在肺癌中的表达
分词在英语教学中的妙用
文化解码
解码eUCP2.0
结巴分词在词云中的应用
结巴分词在词云中的应用
文化 解码
文明 解码
Genome and healthcare