基于膨胀卷积迭代与注意力机制的实体名识别方法

2021-01-15 07:17吕江海杜军平
计算机工程 2021年1期
关键词:注意力实体卷积

吕江海,杜军平,周 南,薛 哲

(北京邮电大学计算机学院智能通信软件与多媒体北京市重点实验室,北京 100876)

0 概述

随着移动互联网的飞速发展,社交网络随时都在产生大量的数据,微博已经成为社交网络中最为主要的数据来源之一。微博具有短文本、高实时、传播迅速、用户量大的特点,如何从社交网络微博大数据中提取有关国民安全的实体名信息并将其进行结构化的展示,已经成为目前社交网络舆情分析和监管的急切需求。

近年来,深度学习在自然语言处理(Natural Language Processing,NLP)领域取得了巨大的成功,而构建知识图谱是自然语言处理的重要任务。利用大量短文本提取其中有效的特征,从而提取出实体名和实体关系是构建知识图谱的关键。为了使提取的特征向量更加精确,深度学习模型广泛采用注意力机制,注意力机制是由人类总结生活环境的习惯规律得到的。人类在观察某一事物时,通常只关注事物的局部信息而往往忽略事物的不同局部信息之间的联系以及不重要的冗余信息。为获得事物的完整有效信息,需要引入注意力机制来学习不同局部信息的重要性,从而构建完整的事物特征。

本文提出一种基于迭代膨胀卷积神经网络与注意力机制的实体名识别方法IDCNN-ATT-CRF。采用膨胀卷积提取文本特征,使向量矩阵感受野以指数增加的速度进行扩展,在模型训练时利用GPU 的矩阵并行计算加快训练网络的收敛速度并准确提取文本的特征。本文利用单词的词性对提取出的特征进行注意力加权,从而优化模型结构。

1 相关工作

对社交网络中与国民安全相关的内容进行构建知识图谱具有重要的研究意义,而实体名识别是构建知识图谱的基础。近年来,引入注意力机制对矩阵向量进行加权成为深度学习的一个研究热点。此外,卷积神经网络及其变种方法由于在实际使用中具有广泛的应用场景和较好的学习性能,已成为神经网络中最重要的模型之一。

1.1 实体名识别方法

文献[1]提出了基于n-gram 特征的局部上下文和通过卷积神经网络进行的字嵌入方法GRAM-CNN,该方法基于n-gram 和CNN 进行字嵌入,使用了单词周围的局部信息提升实体名识别效果。文献[2]提出一种新颖的神经网络架构,它通过使用双向长短期记忆-条件随机场(Bi-directional Long Short-Term Memory-Conditional Random Field,BLSTM-CRF)模型自动地从文本特征中提取出有效特征并结合文本语法规则,从而保证了文本特征向量中的规范性和准确度。文献[3-4]提出一种基于SVM-BLSTM-CRF 的神经网络模型,利用支持向量机(SVM)筛选出包含关键命名实体的句子,然后将正确包含此类实体的句子转化为字符级向量作为输入,并构建适合命名实体识别的双向长短期记忆神经网络-条件随机场深层神经网络模型。文献[5-6]结合丰富的特征集,包括局部特征、全文特征和外部资源特征,根据不同的特征和不同的特征组合对系统的贡献进行了评测和实验,同时为进一步提高系统的性能,还引入了缩写词识别模块和过滤器模块。文献[7]针对双向长短时记忆网络模型提取特征不充分的特点,将字向量和词向量同时作为双向长短时记忆网络的输入,并利用注意力机制分别提取两者对当前输出有用的特征,用维特比算法约束最终输出的标签序列,构建一种新的命名实体识别模型。文献[8-9]提出了双卷积神经网络-长短期记忆神经网络(Convolutional Neural Networks-Convolutional Neural Networks-Long Short-Term Memory,CNN-CNN-LSTM)模型,包括卷积字符和字编码器以及长期短期记忆(LSTM)标签解码器。该模型在标准数据集上获得了较好的性能,同时在计算复杂度上比其他模型更优。文献[10-11]通过结合双向LSTM、CNN和CRF介绍一种新颖的中性网络体系结构,该结构受益于单词和字符级表示,是真正的端到端系统,不需要任何功能工程或数据预处理,适用于各种序列标记任务。

1.2 注意力机制模型

文献[12-13]提出一种结合注意机制的长文本分类方法。首先用段落向量表示一个句子,建立一个段落向量和文本类别的神经网络注意模型来计算句子的注意力。然后根据句子对类别的贡献对句子进行过滤,该值为句子注意向量的均方误差。最后构造基于卷积神经网络的分类器。过滤后的文本和注意矩阵分别作为网络输入,最大池用于特征过滤,使用随机辍学来减少过度拟合。文献[14]提出一种将LSTM 模型与注意力机制相结合的关系抽取方法。将文本特征矩阵投入双向LSTM 模型,引入注意力机制对得到的特征矩阵赋予权重,最后将文本的局部特征和全局特征进行融合。文献[15]提出一种基于实体对的注意力机制,该机制专门用于关系分类。对于特定实例(实体对,句子),相应的实体对信息作为先验知识被合并,以自适应地计算注意力权重生成句子表示。文献[16]提出一种基于注意力机制的LSTM 模型,以微博相关评论为目标事件文本,分析网络用户对该事件的情感趋向。

1.3 膨胀卷积方法

文献[17]提出一种基于密集预测的卷积网络模块,该模块使用膨胀卷积系统地聚合多尺度上下文信息来获得特征。文献[18]提出一种新型的VAE 解码器:IDCNN。通过改变解码器的扩张架构,该模型可以控制先前生成单词的有效上下文。文献[19-20]提出一种多尺度膨胀卷积深层神经网络云识别方法,该方法包含深层特征编码模块、局部多尺度膨胀感知模块以及云区预测解码模块,联合多尺度膨胀卷积和池化层共同感知,每层操作连接非线性函数,以提升网络模型的表达能力,实验结果表明,该方法的检测精度较高,Kappa 系数显著提升。文献[21]使用在线医疗问答网站的数据,采用{B,I,O}标注体系构建数据集,抽取疾病、治疗、检查和症状4个医疗实体,以BiLSTM-CRF 为基准模型,提出2 种深度学习模型IndRNN-CRF 和IDCNN-BiLSTM-CRF,并在自构建数据集上验证模型的有效性。

2 IDCNN-ATT-CRF 方法

本节主要介绍IDCNN-ATT-CRF 方法的具体流程及总体架构。

2.1 IDCNN-ATT-CRF 方法架构

IDCNN-ATT-CRF 方法总体架构如图1 所示,该架构主要分为嵌入模块、膨胀卷积网络模块、注意力机制模块和CRF 模块。

图1 IDCNN-ATT-CRF 实体名识别的网络结构Fig.1 Network structure of IDCNN-ATT-CRF entity name recognition

嵌入模块负责将数字标号映射到对应的向量空间中,文字的向量空间由Word2vec 模型训练得到,单词长度、词性的向量空间由随机正态分布进行嵌入。膨胀卷积网络模块对文本矩阵和单词长度矩阵进行特征提取。普通CNN 模型卷积之后,末层神经元只能获取原始输入数据中一小块的信息。而在实体名识别任务中,输入文本中的每个字都有可能影响当前字符的标签。为了覆盖到全部的输入文本就需要添加更多的卷积层,导致卷积层数变深,参数大幅增加。而防止模型出现过拟合又要加入更多的Dropout 层之类的正则化,引入更多的超参数,整个模型变得庞大且难以训练,为增大卷积的感受野,传统CNN 模型的一个解决方法是增加Pooling 层减小矩阵尺寸增大感受野,然后通过Upsampling 层扩大矩阵尺寸,在经过Pooling 层和Upsampling 层后,一些矩阵信息会丢失,造成信息特征提取结果不准确。而BLSTM 虽然能够完美地解决长距离依赖问题,且模型参数较少,不会产生过拟合问题,但它本质上是一个序列模型,在对GPU 并行计算的利用上不如CNN 强大,造成训练时间较长。为利用GPU 高效的矩阵并行计算能力,又能不通过Pooling 也能有较大的感受野看到更多的信息,使模型的参数不会过拟合并充分保证文本信息的完整性和文本的上下文关联信息,本文提出基于膨胀卷积迭代的特征提取方法为GPU 提供一个运行环境,像LSTM 一样用简单的结构记住尽可能多的输入信息,从而解决长距离依赖而产生的上下文相关性丢失的问题。

膨胀卷积为滤波器设置了一个膨胀步长序列,它会忽略所有处于膨胀步长中的输入数据,同时保持滤波器的大小不变。随着卷积层数的增加,模型的参数线性增加,而视野域却是指数扩散的。本文的文本矩阵大小相对于图片矩阵较小,故每个膨胀卷积单元设置3 次迭代循环,由于单个膨胀卷积单元未考虑处于膨胀步长中间的输入数据,为充分利用输入数据的有效信息,因此将单个膨胀卷积单元的前2 次循环的膨胀步长都设置为1,使数据向量的每一个特征都会被膨胀卷积所提取,膨胀卷积的感受野扩展为3×3,第3 次循环的膨胀步长设置为2,以加快向量特征的提取速度。使膨胀卷积的感受野由3×3 的窗口扩展为7×7 的窗口。虽然将前2 次膨胀步长设置为1 会造成训练时间变长,但是膨胀卷积模型的训练速度依然比传统的LSTM 模型速度大幅提高,若只设置第一次膨胀步长为1,会造成输入数据特征提取一定程度的失真,使最后的评价指标降低。为兼顾特征提取的准确性和模型运算速度,将膨胀步长前2 次设置为1 是比较有效的方法。为保证向量特征提取的有效性又不至于使参数过多,采用4 个膨胀卷积单元进行迭代和堆积,其中前一个膨胀卷积单元的输出结果作为后一个膨胀卷积单元的输出结果,然后将每一个膨胀卷积单元的输出结果进行堆叠作为膨胀卷积模块的输出向量,充分提取了输入数据的有效特征。使用注意力机制模块,给每一个特征分配权重,使经过膨胀卷积模块后得到文本和单词的向量特征更加精确。注意力机制的基本思想就是让系统学会注意力——能够忽略无关信息而关注重点信息,从而使矩阵中的有效特征放大,无效特征得以忽略。

本文采用软注意力机制,该注意力更关注区域特征信息,而且软注意力是确定性的注意力,训练学习完成后可以直接通过网络生成,最重要的是软注意力是可微的,可微分的注意力就可以通过神经网络算出梯度,并且根据前向传播和后向反馈来学习得到注意力的权重。而强注意力是更加关注局部点,它是一个随机的预测过程,更关注动态变化,关键是强注意力是一个不可微的,训练过程不能通过神经网络的反馈活动进行学习,通常只能通过增强学习来完成。软注意力机制模块首先定义一个初始的权重变量,利用词性向量矩阵对权重变量进行校正,得到权重矩阵对文本和单词特征进行加权,输出注意力加权后的特征向量。首先对于不加CRF 层的模型网络,往往每个输出的标签是贪心地进行选取得到,这种方案的结果没有考虑到标签之间的关系,往往会造成最后的结果不符合正常模式,加入CRF层后,CRF 层会根据训练语料去学习其中存在的模式。CRF 有两个概念,即注意力加权后的向量矩阵和转移矩阵。注意力加权后的向量矩阵为神经网络输出各个Tag 的置信度;转移矩阵为CRF 层中各个Tag 之前的转移概率。CRF 模块利用一个传输矩阵将注意力加权后的向量和标签向量进行联合训练,得到网络的损失函数值和更新后的传输矩阵。

2.2 IDCNN-ATT-CRF 方法描述

社交网络国民安全的微博数据集经过去停用词、去无效文本后得到规范的数据集。定义数据集由n个四元组构成,O=其中,ci表示文本的字符数据,wi表示词语的长度信息,若词语长度为1,则标记为0,若词语长度大于1,则首尾分别标记为1、3,中间字符标记为2,pi表示词语的词性信息,每一个字符都需要标记词性,yi表示对应的实体标签。数据oi=(ci,wi,pi,yi)经过词嵌入模块后得到,分别为char、seg、pos、tag,其中,char 和seg 输入IDCNN 网络,设置膨胀步长θ={1,1,2},分别经过不同扩展步长的膨胀卷积迭代,并循环提取4 次膨胀卷积特征后输出4 个高维度特征的膨胀向量。将4 个膨胀向量进行堆叠得到文本的逻辑向量H和词性向量pos,同时投入到注意力机制模块中,pos 利用软注意力机制对逻辑向量H进行加权,输出注意力加权后的向量logits。将logits 和tag 投入到CRF 模块中,CRF 模块会利用一个传输矩阵对logits 进行修正,最终输出预测结果和loss 值。

3 IDCNN-ATT-CRF 实体名识别算法

3.1 迭代膨胀卷积网络

采用迭代膨胀卷积网络能反复利用单位迭代膨胀卷积,将每一次输出的结果作为下一次单位迭代膨胀卷积的输入,使参数以线性速度增加的同时,卷积视野域以指数速度增加。将向量xt作为网络输入,t表示向量的序号,0≤t

将膨胀卷积结果投入膨胀卷积网络进行迭代,经过j次迭代后,第一次循环的迭代方程式如式(2)所示:

第k次循环中3 次迭代结束后得到第k次循环的膨胀向量重新投入膨胀卷积网络模块中,重置j=1,k=k+1最终输出第k次循环后的膨胀向量结果如式(3)所示:

定义堆叠函数为B(·),为了在没有过拟合的情况下加入更广泛的上下文且不引入额外的参数,对膨胀向量进行堆叠,当k≥1 时如式(4)所示:

堆叠4 次膨胀向量的结果,最终得到膨胀卷积网络模块的输出为了防止过拟合,使用dropout(·)函数对进行随机失活得到逻辑向量H,如式(5)所示:

3.2 注意力网络层

本文引入注意力机制从逻辑向量集合中抽取特定的向量进行加权组合,输出结果取决于注意力矩阵对输入矩阵赋予的权重。定义逻辑向量集合为H={h0,h1,…,hn},额外信息为词性矩阵P={p0,p1,…,pn},tanh(·)为激活函数。为了使词性信息能对目标向量集合赋予权重,分别使用权重矩阵W1、W2对H和P进行仿射变换使向量空间维度相同。将变换结果输入tanh(·)激活函数中得到联合特征向量,如式(6)所示:

本文采用软注意力机制,为了归一化联合特征向量的权重矩阵,利用softmax(·)函数对进行权重打分得到每一个输入的权重,如式(7)所示:

CRF 层可以向最后预测的标签添加一些语法约束,以确保预测的标签是合理的。本文在CRF 中输入加权后的文本向量矩阵,就可以输出得到每个单词的标签的概率矩阵。根据真实标签,在概率分布矩阵中找到相对应的预测标签值。比较标签路径,产生整个句子的误差,并将该误差反馈给CRF 层的训练网络,调整传输矩阵的参数并返回损失函数值和最终的标签预测值。

4 实验结果与分析

4.1 实验数据集

本文采用2 个数据集对各实体名识别方法进行性能评测。第1 个数据集采用搜狗新闻数据集,搜狗新闻数据集一共有50 452 条微博,合计2 397 767 个字。由于搜狗新闻数据集是官方公布的数据集,因此该数据集比较准确且噪声较小,可全部用于实验训练及测试。47 176条数据合计2 220 536个字符样本用于训练,342 890 个字符为实体字符,另外3 276 条数据合计177 231 个字符样本用于测试,27 849 个字符为实体字符。社交网络国民安全的微博数据集主要爬取了天津爆炸事件相关数据集,它包含了较大的噪声和无效数据,对其进行数据预处理后得到9 734 条微博数据。通过人工标注标签,7 784 条微博数据总共428 019 个字用于模型训练,其中73 332个字符为实体字符,1 950条微博数据总共105 210 个字的样本用于测试,其中19 403 个字符为实体字符。各个模型分别对不同数据集训练迭代20 次。

4.2 新闻数据集下各模型的实验对比

使用BLSTM、BLSTM-CRF、BLSTM-ATT-CRF、IDCNN、IDCNN-CRF、IDCNN-ATT-CRF 等方法分别在搜狗新闻数据集和社交网络国民安全的新浪微博数据集进行对比实验,实验分别测量人名PER、地名LOC、组织名ORG、时间名TIME 在Precision、Recall、F1-score 等指标的结果以及各模型训练的耗时。对于BLSTM 做文本分类,相当于将每个词作为一个时间节点,把词向量作为每个单元的输入特征,组合前向以及后向来构成双向特征,计算后每个单元有个状态特征以及输出特征,文本分类一般组合每一个单元的输出特征,然后通过注意力层给输出特征进行加权,最后用一个全连接层来做分类。BLSTM 最大的优势是考虑了两个单词之间的长距离依赖关系,拥有强大的记忆能力,且对变长的文本处理具有较大优势。

本文的输入数据为定长的文本向量,每个字符进行词向量嵌入,构成具有图片数据类似的文本输入向量。对于迭代膨胀卷积的好处是不做Pooling损失信息的情况下,加大了感受野,让每个卷积输出都包含较大范围的信息,通过设置两个大小为1 的膨胀步长来保证膨胀卷积单元提取完整的文本信息,设置大小为2 的膨胀步长来扩散膨胀卷积单元的视野域,并且IDCNN 可以充分利用GPU 进行并行计算的优化能力并且保持了文本上下文之间的相关性,在模型指标相差不大的情况下使得模型的训练速度比BLSTM 模型大幅提升。采用软注意力机制,注意力权重矩阵会对每一个单词的重要程度给予文本向量特征分配不同大小的权重,训练学习一个权重向量来得到最好的输出向量。表1~表4 为各模型在搜狗新闻数据集训练迭代20 次的实验结果。F1-score 是Precision 和Recall 的调和平均数,能综合反映Precision 和Recall,故主要从F1-score 指标进行结果分析。

表1 人名实体在各模型的指标比较Table 1 Comparison of indicators of human name entity in each model

表2 地名实体在各模型的指标比较Table 2 Comparison of indicators of place name entity in each model

表3 组织名实体在各模型的指标比较Table 3 Comparison of indicators of organization name entity in each model

表4 时间实体在各模型的指标比较Table 4 Comparison of indicators of time entity in each model

由表1 可知,在新闻数据集中,BLSTM 与IDCNN在人名实体上的F1-score 值分别为82.10%与81.50%。添加CRF 模块后,F1-score 值分别是89.70%与88.50%,评价指标分别提升了8.6%与7%,引入注意力机制后,F1-score 指标分别达到91.08%与90.25%,评价指标再度提升1.38%与1.75%。由表2 可以看出,在地名实体上的F1-score 值分别为80.80%与81.25%,添加CRF 模块后,F1-score 值分别是90.94%与90.01%,评价指标提升了10.14%与8.76%,引入注意力机制后,F1-score 指标分别达到91.70%与91.35%,评价指标再度提升0.76%与1.34%。由于中文人名和地名实体在语法的位置相对固定,因此添加CRF 模块后,人名和地名实体的识别率提升了8%~10%左右。由于添加CRF 模块后人名与地名的评价指标已经高达90%左右,引入注意力机制后的评价指标的提升效果不明显,只提升了1%~2%。由表3 可以看出,在新闻数据集中,BLSTM 与IDCNN在组织名实体上的F1-score值分别为74.69%与73.74%,添加CRF 模块后,F1-score 值分别是85.08%与82.45%,评价指标分别提升了10.77%与8.71%,引入注意力机制后,F1-score 指标分别达到86.63%与84.33%,评价指标再度提升1.55%与1.88%。由表4 可以看出,在新闻数据集中,BLSTM 与IDCNN 在时间实体上的F1-score值分别为88.85%与73.74%,添加CRF 模块后,F1-score值分别是98.23%与97.05%,评价指标分别提升了9.38%与8.53%,引入注意力机制后,F1-score 指标分别达到99.30%与99.43%,评价指标再度提升1.07%与2.38%。

对比表1~表4 可以看出,各模型方法在组织名实体识别的评价指标比人名与地名实体的评价指标低6%~8%,比时间实体的评价指标低14%左右。这是由于组织名具有口语化的特点,例如国家发展和改革委员会简称发改委,然而实验模型可能无法理解发改委的含义,导致组织名识别错误。组织名实体还具有语言结构不规则的特点,例如北京红十字会,模型可能将其识别为地名和组织名两种类型的实体,导致实体识别不完整,影响了组织名实体的评价指标。值得注意的是,时间实体识别的评价指标非常高,时间实体包含典型的字符,例如数字后为年、月、日,或出现比较明显的代表时间含义的字符,故识别效果非常好。对比各模型新闻数据集在迭代训练20次的耗时长短,可以看出CNN 模型耗时12 min左右,而LSTM 模型耗时30 min 以上,训练速度提升290%左右。综合而言,在评价指标相差不大的同时,基于CNN 的模型比基于LSTM 的模型具有更低的训练耗时。基于注意力机制的训练方法比无注意力机制的训练方法实体名识别率提升2%左右。

4.3 微博数据集下各模型的实验对比

图2 显示了各模型在微博数据集每次迭代的耗时及其对应的F1-score 值。由图2 可以得知,在微博数据集上,BLSTM 模型前几次迭代的F1-score 值比IDCNN 高,且样本训练较少的轮次就可以得到较高F1-score 值,但20 次训练迭代结束后,IDCNN 与BLSTM最终的F1-score 值几乎相同,而BLSTM 模型迭代训练20 次的总耗时为701 s,与之相比IDCNN 仅需262 s 就可以完成20 次迭代训练。

图2 各个实体名识别方法的训练时长及其对应的平均F1-score 值Fig.2 Training time and average F1-score value for each entity name recognition method

图3 展示了在社交网络微博数据集上不同模型指标的对比情况。从图3 可以看出,微博数据集的评价指标普遍低于新闻数据集,这是由于微博数据量较少,且微博数据具有不规则、字符信息杂乱、表达口语化、文本稀疏等问题,从而造成文本数据的特征缺乏有效性,模型无法得到充分的训练,最终导致各指标均比新闻数据低3 个~10 个百分点,其中人名实体和地名指标降低了4%左右,组织名实体指标降低了10%左右,时间实体指标降低了0.5%左右。微博数据集在不同模型之间的性能对比和新闻数据集具有相似的结果。单一的深度学习模型IDCNN 与BLSTM 在人名实体的F1-score 值为73%左右,引入注意力机制加权且添加CRF 模块修正后F1-score 值大约提升13%左右;在地名实体的F1-score 值为75%左右,引入注意力机制且添加CRF 模块后F1-score值大约提升11%左右;在组织实体的F1-score 值相对其他类型实体较低,大约为65%,引入注意力机制加权且添加CRF 模块修正后F1-score 值大约提升10%左右;在时间实体名识别的F1-score 值非常高,达到87%左右,经引入注意力机制且添加CRF 模块后F1-score 值大约提升12%左右。

图3 人、地、组织和时间实体在各模型的指标比较Fig.3 Comparison of indicators of human names,place names,organizations and time entity in each model

综合而言,IDCNN 与BLSTM训练20 轮次后在F1-score 值相差不大,添加CRF 模块后F1-score 值提升了7%~11%,引入Attention 机制后模型的F1-score值提高1%~3%,训练速度IDCNN 比BLSTM 提高了267%。

5 结束语

本文提出一种基于迭代膨胀卷积神经网络与注意力机制的实体名识别方法。采用特殊步长的膨胀卷积模块对文本信息进行特征提取,引入注意力机制使文本特征更加精确,并添加CRF 模块使文本特征符合语法约束。实验结果表明,本文实体名识别方法较BLSTM 等典型方法训练速度大幅提升,实体名识别的准确性也明显提高,能够有效兼顾实体名识别的准确率和模型的训练速度。构建知识图谱的基础是实体名识别和实体关系抽取,下一步将对实体关系进行抽取,利用基于BERT 的BGRU-CRF 模型抽取文本中的实体关系(三元组)来提高实体关系抽取的准确性,最终运用实体名识别的结果结合实体关系的结果进行知识图谱的构建。

猜你喜欢
注意力实体卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
前海自贸区:金融服务实体
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
“扬眼”APP:让注意力“变现”
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
A Beautiful Way Of Looking At Things