APP下载

基于自注意力机制的军事命名实体识别

2019-12-10张晓海操新文

指挥控制与仿真 2019年6期
关键词:字符命名向量

张晓海,操新文,张 敏

(1.国防大学联合作战学院,河北 石家庄 050084;2.国防大学联合勤务学院,北京 100858)

命名实体识别是从非结构化文本中抽取实体信息的方法,一般包括人名、地名、机构名、专有名词等。它是信息抽取、机器翻译等自然语言处理中众多应用领域的重要基础。近年来,深度学习取得了飞速发展,命名实体识别研究也取得了很多成果。Hammerton等[1]采用了长短时记忆网络(Long Short-Term Memory,LSTM)来替代人工设计特征的工作,使用神经网络自动提取特征;Mccallum等人[2]的工作是采用条件随机场(Conditional Random Field,CRF)作为解码层对命名实体进行识别,能够更好地提升识别率;Chiu等人[3]在前人工作基础上,采用双向LSTM进行编码,能提取到更丰富的上下文特征。

随着大数据、人工智能的快速发展,作战指挥模式正在由传统的语言形式向数据化形式转变。指挥信息的数据化作为指挥信息系统的重要组成部分,成为适应未来信息化战争的重要研究方向。军事命名实体识别作为一种智能化信息抽取方法,能够更加快速、准确地从指挥文本中提取军事命名实体等数据元素,是指挥信息数据化研究发展的关键基础。本文在BLSTM-CRF模型的基础上,引入自注意力来丰富文本的内部特征,在军事命名实体识别任务中取得了不错的效果。

1 军事文本特点

在信息化条件下,军事文本作为一种重要的指挥信息载体,是指挥信息在指挥信息系统中流转的主要表现形式。军事命名实体主要包括机构名、作战编成、军事地名、武器装备名、军职军衔等几大类实体。军事文本相对于通用领域文本,虽然具有格式统一、语句规范等特点,但同样存在其特殊性。其中最为明显的特点是组合嵌套复杂,比如,“第XX集团军XX合成旅XX营XX连XX排XX班”中,涉及6个实体的组合情况,较大的长度和可能的组合关系增加了实体识别的难度,这类部队编制名称、作战编成等实体中存在的组合嵌套现象,在通用领域中较少出现;同时,由于专业特点导致不同军兵种的军事文书表述不一,陆军的作战编成一般使用部队编制实体的组合进行表述,如“XX营XX连(欠XX排)”等,而海军和空军则常使用“编制+武器装备+舰名/数量”的形式进行表述,如“XX队XX型驱逐(护卫)舰XX号”和“XX队‘歼十’飞机XX架”,这就需要模型能同时识别不同组合类型的数据元素,对模型的泛化能力提出了更高要求。此外,有监督学习需要大规模的标注语料作为支撑,以此学到更准确的特征分布,而人工标注成本高、耗时长,因此,在研究过程中更多通过自行标注的小规模样本集进行机器学习模型的训练,这也从另一个方面限制了模型的识别效果。可见,军事文本的大量命名实体识别任务存在着特殊性,这些特殊性为军事命名实体识别造成了困难。

2 军事命名实体识别框架

本文参照大部分命名实体识别方法,将军事命名实体识别任务作为序列标注问题进行研究。图1所示为基于自注意力机制的军事命名实体识别模型。整体分为4个部分:1)利用卷积神经网络提取字符级特征;2)采用双向长短期记忆网络提取上下文特征;3)加入自注意力机制丰富文本内部特征;4)使用条件随机场线性层进行解码。

图1 基于自注意力机制的军事命名实体识别模型

2.1 标注方法和词嵌入

标注方法选择中[4],为了更好地表达实体边界信息,本文采用“BIOES”策略进行手工标注。其中,B表示实体的开始,I表示实体内部,E表示实体结尾,O表示非实体部分,S表示该词可独立成为一个实体。本文将位置、部队、人员、物品、数量五大类细分为13个小类进行标注,具体方法如表1所示。

表1 实体类别及标注方法

注:非实体类用“O”标注。

为了更好地表达文本内部特征,发挥注意力机制的作用,本文以字向量和词向量进行拼接作为输入。图2为字符级向量模型。首先,将词中的每个字进行字符向量转换,由于词的长度不同导致字符级矩阵大小不一,以语料中最长的词为基准,在单词的左右两端分别补充占位符,从而得到大小一致的字符级矩阵。最终,将该矩阵送入卷积神经网络(Convolutional Neural Networks,CNN)通过反向传播进行更新,经过卷积层和池化层得到字符级的特征向量。

图2 字符级CNN模型

中文分词采用中科院的ICTCLAS工具进行处理,词向量和字符向量则使用Google开源的Word2vec工具进行训练得到。在训练向量的过程中,本文选用Word2vec工具中的Skip-gram模型,词一级窗口设置为3,字符级设置为5,向量维度均为200。在嵌入时,输入向量由该字符向量与所在词向量拼接得到,若出现向量表中不存在的字或词,则赋予一个随机向量。

2.2 BLSTM模型

长短期记忆模型(LSTM)[5]是一种改进的递归神经网络(RNN)模型[6],通过输入、输出和遗忘三个门来控制上下文信息的选择,克服了传统RNN的梯度消失和梯度爆炸的问题。公式(1)为LSTM网络的形式化表示。

ht=ot⊗tanh(ct)

(1)

图3 BLSTM模型结构

2.3 Self-Attention层

注意力机制模仿人的认知方式,可将有限的信息处理能力进行选择分配。直观来看,就是通过一定的选择机制将注意力集中在关键的信息上。通过融入注意力机制,可以更好地关注到对模型训练有效的关键信息上,并忽略同一时刻得到的非重要信息,从而有效地提升军事命名实体识别的准确率。

自注意力(Self-Attention)机制[7]是在注意力机制基础上的改进模型,主要包括查询(Query)、键(Key)和值(Value)三个要素,其可理解为从Query到一系列Key-Value对的映射。如果{X1,X2,X3}为输入序列,那么自注意力机制就是寻找序列内部的联系,即attention(X1,X2,X3)。

本文使用点乘注意力(Scaled Dot-product Attention)函数,先通过Query和Key中每个词向量的点乘运算来得到每两个词之间的相关性,再利用softmax进行归一化处理,最后对Value进行加权求和。

(2)

考虑到自建的军事文本语料规模较小,使用单个注意力机制效果弱,本文使用多头注意力(Multi-head Attention)机制从多角度、多层次进行文本特征提取,以使得文本特征的表达更加丰富[8-11]。

多头注意力机制是将Q、K、V分别通过参数矩阵进行映射后,再进行点乘注意力的计算,将该过程重复h次后进行拼接,得到最终的特征信息,其计算公式如下:

headi=attention(Q′,K′,V′)

(3)

(4)

mulhead=concat(head1,…,headh)

(5)

2.4 CRF线性层

条件随机场(CRF)可以在给定输入观测序列的前提下,输出最大概率的预测序列,使用CRF线性层可以有效解决Self-Attention层输出时的错误标注情况。

若矩阵P表示Self-Attention层输出,其中n为序列长度,k表示不同的标签个数,那么,Pi,j即表示矩阵中第i行第j列的概率,对于给定序列X和预测标注序列Y,该模型可定义为

(6)

其中,A是转移矩阵,若Aij表示由标签i到j的概率,则y0,yn即为句子开始和结束的标记。而后通过一个softmax层得到标签序列Y的概率

(7)

训练的最终目的是使正确标注的序列概率最大,因此,将概率最大的一组序列作为预测序列作为输出

(8)

3 实验结果与分析

3.1 样本集

本文收集作战文书、方案计划、新浪网军事新闻等共300余篇军事文本,手工标注构建了小规模样本集,共计1121句、73523字;选择其中900句作为训练集,其余221句作为测试集,进行开放测试。实验通过召回率R、精确率P和F值三个指标进行评测,计算方法如下:

(9)

(10)

(11)

3.2 实验设置

本文采用Tensorflow-1.7.0框架,使用Python实现模型的构建和训练,模型参数的具体设置如表2所示。

表2 超参数初始化

3.3 实验结果分析

在上述实验样本集和参数设置基础上,设置4个模型进行对比实验,表3所示为不同模型的对比实验结果。

表3 各模型对比实验结果

为了验证BLSTM模型的有效性,首先进行了LSTM-CRF与BLSTM-CRF的对比实验,结果表明,在军事命名实体识别任务中,BLSTM模型的精确率、召回率和F值分别为89.01%、87.24%和88.12%,对比LSTM模型分别高出了2.62%、1.59%、2.1%。可见,BLSTM由于能够更好地利用上下文信息,效果要优于单向LSTM网络。

为了展现使用CNN提取字符级特征的有效性,以及CRF线性层的效果,设置了CNN-BLSTM-CRF 模型,其精确率、召回率、F值,相比BLSTM模型分别提高了2.1%、2.39%和2.24%。这是由于CRF模块能够通过联合概率的计算,对相邻标签的特征更加敏感,并且能够减少不符合规则的标注错误。比如,部队机构中的编制实体往往因长度较大且组合嵌套,对实体类型的识别造成影响。增加CNN和CRF模块后的模型能够提高对该类实体的识别正确率。同时,为了使词向量能够包含更多的特征,本文在使用CNN提取字符级向量同时,还加入了词性向量作为外部特征。

本文在模型4中加入了自注意力机制,即表3中的CNN-BLSTM-ATT-CRF模型,其精确率、召回率、F值分别达到了92.64%、91.97%和92.30%。相较实验3中未包含Self-Attention层的模型分别提高了1.53%、2.34%和2.06%。可以看到,自注意力机制的引入提升了模型性能,表明了多头注意力机制能在多个不同子空间捕获上下文信息,从而获取更丰富的文本内部特征信息。

为了研究自注意力机制对长期依赖学习的贡献,本文根据不同长度句子对识别率的影响进行了统计,进一步对未引入Self-Attention的模型3和引入Self-Attention的模型4进行对比分析。表4为CNN-BLSTM-CRF与CNN-BLSTM-ATT-CRF的对比结果。由表4可见,随着句子长度的增加,模型3和模型4的F值均有不同程度的下滑,这说明了对长期依赖关系的学习始终是一个巨大的挑战。

表4 模型3和模型4在不同句长区间的F值

通过实验对比不难发现,模型4在实验中的表现更为出色,随着句长增加,F值下降较为缓慢,这是由于自注意力机制能够在句子内部的任意标记之间建立联系,从而减小了长句子对序列标注的影响。

4 结束语

本文针对军事命名实体识别任务的特点,提出了一种基于自注意力机制的军事命名实体识别方法,以LSTM为基线模型,分别对双向LSTM模型、CRF线性层、CNN提取字符级特征和自注意力机制4种不同模型,在自建数据集上进行了对比实验。实验结果表明了引入自注意力机制的有效性,特别是学习长距离依赖关系的表现更好,最终系统识别军事命名实体的精确率、召回率和F值分别达到92.64%、91.97%和92.30%。

猜你喜欢

字符命名向量
向量的分解
命名——助力有机化学的学习
聚焦“向量与三角”创新题
正则表达式快速入门
字符代表几
图片轻松变身ASCⅡ艺术画
有一种男人以“暖”命名
为一条河命名——在白河源
我是我自己的许多孩子〔外一首〕
向量垂直在解析几何中的应用