APP下载

基于注意力机制的特征融合序列标注模型

2020-09-24王旭强岳顺民张亚行

关键词:语义标签注意力

王旭强,岳顺民,张亚行,刘 杰,王 扬,杨 青

(1.国网天津市电力公司 信息通信公司,天津300310;2.南开大学 计算机学院,天津300071;3.南开大学 人工智能学院,天津300071)

序列标注是自然语言处理任务中的一个重要研究课题,其目标是基于给定的文本序列预测对应的标签序列[1],包括命名实体识别(named entity recognition,NER)、组块分析(text chunking)和意见抽取(opinion extraction)等在实际问题中具有重要应用价值的子任务。

随着神经网络的发展,深度学习方法逐渐被应用在序列标注任务中。但这些方法普遍存在两方面的问题。首先基于深度学习方法的序列标注模型通常具有局部依赖性[2],对于远距离的语义信息存在语义损失。例如,给定一个句子“Apple is a U.S.high-tech company”,其中“company”是影响“Apple”被标注为“Organization”的关键信息。理想情况下,“company”的语义应该被无损失地传递给“Apple”,但是信息传递过程实际上会损失“company”的语义,并引入无关词的语义;且两个词间距离越长,这个问题越明显。其次,基于深度学习方法的序列标注模型还受限于序列化的特征学习,无法灵活地建模任意两个词之间的语义关系。

针对上述两个问题,提出了基于注意力机制的特征融合序列标注模型。模型首先利用一个双向长短时记忆(bi-directional long short-term memory,BLSTM)单元学习词的上下文语义特征[3]。随后,基于BLSTM 学习到的隐藏表示,采用多头注意力机制,建模句子中任意两个词之间的语义关系[4],得到每个词应关注的全局语义。为了充分考虑局部上下文语义和全局语义的互补性,设计了三种特征融合方式将两部分语义进行融合,并基于融合后的特征,使用条件随机场(conditional random fields,CRF)模型进行标签序列的预测[5]。实验结果表明,本研究提出的模型取得了较优的性能。

1 相关工作

命名实体识别是指识别文本中具有特定意义的实体,包括人名、地名、机构名等;组块分析用以识别不同功能语法的词语块,比如名词性短语、动词性短语、介词性短语等[6];意见抽取包括对评价对象和评价词的识别和抽取。本研究还关注在实体识别、组块分析、意见抽取三种序列标注任务上进行实验分析。

早期的序列标注方法大多基于规则,需要建立规则模板和专家知识,耗费大量的人力物力,同时还不易扩展、移植到其它领域。如王宁等[7]采用基于规则的方式,人工地建立了金融方面公司名称识别的知识库。

由于基于规则方法的缺点,基于统计学习方法的机器学习模型逐渐被应用在序列标注,比如支持向量机(support vector machines,SVM)、隐马尔可夫模型(hidden Markov model,HMM)、条件随机场、最大熵模型(maximum entropy model,MEM)等。Mayfield等[8]利用SVM 从训练数据中抓取成百上千个特征进行训练,在英语NER上得到84.67%的F1值。Zhou等[9]提出基于HMM 的命名实体识别系统,可以应用和融合字的简单特征(比如大小写、数字等),在数据集MUC-6和数据集MUC-7的英语NER 上分别得到96.6%和94.1%的F1值。Mccallum 等[10]将CRFs应用在命名实体识别中,在CoNLL2003的英语NER和德语NER中取得了良好表现。刘艳超等[11]将MEM 应用到命名实体识别上,同时结合了句子内部的局部特征和全局特征相融合的方法。虽然基于统计学习模型的方法取得了较好的效果,但是仍然严重依赖人工特征,并且存在只能抓取局部特征的缺陷。

近些年非线性的深度神经网络因为其较强的学习和自动提取特征能力在自然语言处理中大获成功,如循环神经网络(recurrent neural networks,RNN)、长短时记忆网络(long short-term memory,LSTM)和卷积神经网络(convolutional neural networks,CNN)等,RNN 可以较强地建模序列信息,LSTM 能够解决长期依赖和梯度爆炸的问题,CNN 是一种层次网络结构,擅长抓取局部或位置不变特征。张苗苗等[12]将BLSTM-CRF框架模型应用到序列标注,因为BLSTM 能够有效利用上下文特征,CRF能够建模句子级别的标签信息,所以取得了有竞争力的表现。Chiu等[3]提出了一个新颖的BLSTM-CNN 模型,通过CNN 获取字符特征,与词嵌入相拼接送入BLSTM 中,虽然效果很好,但是用到了词典或词汇特征。最近,注意力机制大受欢迎,相比于LSTM 或CNN 在建模时的语义依赖,注意力机制不必在意距离的长短。比如,Luo等[13]证明了将注意力机制引入到BLSTM-CRF中,能够提升化学药物实体识别效果,在文档级别上可以提升标注一致性,在句子级别上可以丰富上下文信息。

综合上述研究工作发现,现有的方法大多基于BLSTM-CRF框架实现与注意力机制的简单结合,仍然存在局部依赖性、位置信息获取不准确等缺陷,因此本研究提出一种基于注意力机制的特征融合序列标注模型,更好地捕获语义依赖信息,弥补LSTM 建模的局部依赖性,以在序列标注上获得更好效果。

2 基于注意力机制的特征融合序列标注模型

输入一个句子W=(w1,w2,…,wn),其中wi表示句子中的第i个词,序列标注任务的目标是对输入序列进行语义分析并预测对应的标签序列Y=(y1,y2,…,yn)。

为了解决LSTM-CRF模型的局部依赖性以及受限于序列化特征学习的问题,提出一种基于注意力机制的特征融合序列标注模型。模型的整体框架如图1所示。首先使用BLSTM 学习词的上下文表示,随后采用多头注意力机制灵活地建模句子中任意两个词之间的语义关系,最后利用三种不同的特征融合方式将两部分语义深度融合,并基于融合后的语义利用CRF进行标签序列的预测。具体的模型细节将在2.1节到2.5节介绍。

图1 基于注意力机制的特征融合序列标注模型Fig.1 Attention based sequence labeling model with feature fusion

2.1 词向量表示

对于中文数据集,直接将单词进行随机初始化作为词向量表示。对于英文数据集,考虑到单词通常包含丰富的形态特征,比如前缀、后缀信息,经过BLSTM 和拼接的方式,得到每个词的初始向量表示。如图2所示,给定句子的第i个单词wi=(c1,c2,…,cn),然后使用BLSTM 进行建模。由于LSTM 最后的隐藏变量包含了整个序列的信息,可以更好地捕获单词前缀和后缀的特征,本节将前向LSTM 最后的隐藏变量与后向LSTM 最后的隐藏变量进行拼接,得到字符级词向量,最后与预训练的词向量再进行拼接,得到最终的词向量表示X=(x1,x2,…,xn)。

2.2 基于LSTM 的序列上下文建模

为了获取句子的上下文语义信息,本研究采用BLSTM 对句子进行建模。LSTM 是对RNN 的改进,构建了一个记忆单元用以考虑长距离依赖性和避免梯度消失的问题。具体地,借鉴了Lample等[14]的LSTM实现方法:

其中,it、ft、ot分别是输入门(用来决定在细胞状态Ct中存储什么新的信息)、遗忘门(决定将哪些信息从Ct中丢弃)、输出门(决定哪些信息作为输出);σ 是sigmoid激活函数,·表示元素级别的乘法;at表示新记忆单元,ct表示最终的记忆单元,xt是当前的输入,ht是得到的当前的隐藏变量;Ui、Wi、Vi是输入门中的模型参数,Uf、Wf、Vf是遗忘门中的模型参数,Uc、Wc是记忆单元中的模型参数,Uo、Wo、Vo是输出门中的模型参数,bi、bc、bo、bf是偏移量。

为了更好地获得前向和后向的上下文信息,本研究采用BLSTM 来建模序列。经过前向LSTM 得到隐藏变量经过后向LSTM 得到隐藏变量将两者进行拼接得到代表序列信息的隐藏变量

图2 字符级向量表示的模型图Fig.2 Model graph of character level vector representation

2.3 基于多头注意力机制的语义加强

经过BLSTM 层编码,每个单词xi被表示为隐藏状态hi,其中hi包含了词的上下文语义信息。然而,由于LSTM 具有链式结构,长距离语义将会随着序列编码而逐渐衰减。例如,通过LSTM 中的门控机制,如果长距离语义信息被当前单词遗忘,那么即使被遗忘掉的语义对后续单词具有重要作用,后续单词也将无法接收到该信息。因此,LSTM 仍存在局部依赖性问题。

为了解决上述问题,在BLSTM 的基础上引入了自注意力机制来增强词之间的语义交互。给定当前单词,注意力机制可以从全局范围内捕获相关信息,而不受顺序方式的限制。进一步地,为了学习多样化的语义关系,使用多头自注意力机制来建模句子中任意两个词之间的语义关系。

首先将矩阵Q、K 和V 线性映射到k 维子空间,每个子空间的计算公式为:

随后将所有的注意力头拼接起来,得到:

2.4 特征融合方式

考虑到注意力机制虽然在建模语义或句法依赖时不受距离限制,能够弥补LSTM 远距离语义建模的缺陷,但注意力机制是一种无序的计算机制,在建模过程中可能会损失序列上的前后关系,所以本研究将BLSTM 学习到的顺序和局部特征与注意力机制学习到的全局语义信息相融合,达到优势互补的效果。实验中采取三种特征融合的方式,下面介绍具体的计算公式(S对应Sigmoid,V 对应Vector,T 对应Twoparam)。

S 表示从ht和zt自身学习一个参数进行特征融合。首先将ht和zt进行拼接,接着用一个权重参数将之映射到一维空间,并利用sigmoid做激活函数,公式如下:

其中,βs 为标量。若设LSTM 的隐藏单元大小为dh,那么ht和zt的维度都为2dh,因为是拼接之后做线性映射,所以Ws是1×4dh的向量,这样才能保证映射后是一个一维的数值,最后经过sigmoid激活,得到[0,1]间的一个参数。最后再将ht和zt按学习到的参数融合,计算公式:

其中,mt的维度为2dh。

V 与S 不同,Wv是一个通过学习得到的2dh×4dh的权重矩阵,β是2dh的列向量,计算公式如下:

其中e表示全1的列向量。·表示元素级别的相乘,mt的维度为2dh。观察可知,都借鉴了LSTM 单元里的遗忘门和记忆门操作,记住一部分信息,遗忘一部分信息,避免造成信息冗余。

T:将ht和zt加权求和,得到新的语义和句法上下文特征表示mt,α、β 为变量,两个权重作为自由参数将由模型去学习,以求达到最好的加权融合方式,公式如下,

其中,mt和ht、zt的维度相同,都为2倍的LSTM 隐藏单元大小。

2.5 标签预测

序列标注可以看作是一类特殊的分类问题,直观上可以简单地使用分类器来进行标签的预测。然而,考虑到序列标注任务中标签之间通常存在依赖关系,而这种依赖关系无法使用分类器进行建模,因此本研究利用CRF来进行标签预测。CRF能够对标签之间的关系进行建模,而不是单独预测每个标签进而得到全局最优的标注序列。

具体地,CRF定义了一个转移矩阵A 来建模相邻标签之间的交互关系,并定义了一个状态矩阵P 建模词和标签之间的交互关系。假设Y=(y1,y2,…,yn)为标签序列,P 为n×k 的矩阵,n 是序列长度,k 是不同标签数,其第t行的转置就是上面特征融合后的向量mt,mt包含了更为全面和精准的系列上下文语义和句法信息,Pi,j表示第i个词为第j个标签的可能性。定义标签序列的预测值为:

其中,A 为转移矩阵,Ai,j表示从标签i转移到标签j的分数。y0和yn+1是一个句子的开始和结束标签,将之加入到可能的标签集合中,所以A 是一个大小为k+2的方阵。在所有可能标签序列上进行一个softmax 计算,得到当前标签序列Y 的一个条件概率:

通过log函数最大化正确标签序列的对数概率:

其中,YX是指数空间中句子X 所有可能的标签序列。通过最大化上式,模型将会学习正确的标签顺序。由于在指数空间内对上式进行优化是NP难问题,借鉴Mccallum 等[10]在线性条件随机场中用前向后向算法有效地解决这个问题。在测试的过程中,模型使用最大后验概率来预测输出:

本研究只建模二元交互,所以用维特比算法来计算公式(17)和公式(18)的最大后验概率Y*。

3 实验

3.1 数据集

为了综合评价模型的效果,本节分别在中文和英文数据集上对序列标注的三类任务(意见抽取、命名实体识别和组块分析)进行测试。

中文数据集采用2008年中文倾向性分析评测(Chinese opinion analysis evaluation,COAE)。其中原数据评价对象已经被标注,从手机、笔记本电脑和照相机三个领域进行评价抽取,并在手机领域由人工标注评价词,有冲突的标注采用人工投票方式解决。表1为中文评价数据的统计情况。

本文将中文评价数据集按照文档数以4∶1∶1的比例随机划分为训练集、验证集和测试集。

英文数据集包括餐饮评价数据集、命名实体识别和组块分析数据集三部分。其中餐饮评价数据集来自2015年语义评估(semantic evaluation,SemEval)比赛的子任务Restaurant(原数据只标注了评价对象,评价词由Wang等[15]人工标注),命名实体识别数据集来自2003年计算自然语言学习会议(conference on computational natural language learning,CoNLL)技术评测的英文NER数据(包含四类实体),组块分析数据集来自CoNLL-2000分享的短语分块任务(包含11种短语块)。表2是三个英文数据集的统计情况。

表1 中文评价数据的统计信息Tab.1 Statistics of Chinese evaluation data

表2 英文数据集的统计情况Tab.2 Statistics of English dataset

3.2 实验设置

中文评价数据集的词向量设定维度为100,由随机初始化得到。英文评价数据中Restaurant评价数据词向量维度为200,由Wang等[15]预训练得到。NER和Chunking数据词向量维度为100,由Lample等[14]通过skip-n-gram 模型训练得到。

为了防止训练过程出现过拟合,当最终的词向量进入BiLSTM 之前会经过一个dropout率为0.5的dropout层;另外将数据中的数字全部用0表示,英文数据集在训练字符级别特征时区分大小写。在中文和英文数据集上的学习率分别为0.005和0.01,迭代次数为100。在多头注意力机制的试验中,设定h=5,即进行5次低维注意力计算。

3.3 评价指标

实验中的评价指标采用精度P1和召回率R 和综合衡量指标F 1值,计算公式如下:

其中:P1用来衡量预测结果的准确度,即预测结果中正确的目标个数与预测的目标总数之间的比例;R 用来衡量预测结果中有多少个正确的目标数,即预测的正确目标数占总的目标数的比例;#PredCorr 表示识别的正确目标数;#Pred All表示识别的目标总数;#TrueAll表示真实的目标总数。

3.4 实验结果

3.4.1 指标分析

根据上述实验设置,对上述数据集进行实验,各方法得到的F 1值如表3、表4所示。

表3 各类对比算法在英文数据集上的F 1值Tab.3 F 1 values of various comparison algorithms on english datasets

表4 各类对比算法在中文数据集上的F 1值Tab.4 F 1 values of various comparison algorithms on chinese datasets

表3、表4中ABLSTM 为BLSTM+注意力机制(Attention),BLSTM(MHA)为BLSTM+多头注意力机制(Multi-headed attention),ABLSTM_S、ABLSTM_V 和ABLSTM_T分别为在ABLSTM 的基础上经过三种特征融合。BLSTM_S(MHA)、BLSTM_V(MHA)、BLSTM_T(MHA)分别为在BLSTM(MHA)的基础上经过三种特征融合。

表3、表4列出了基于多头注意力机制的深度学习模型在三种特征融合方式下的F 1值结果,以及对比算法的F 1值,可以得出以下结论:

从总体来看,与BLSTM-CRF相比,通过消融实验证明其他加了注意力机制的模型效果均得到了进一步地提升,表明了注意力机制的作用,能够捕获远距离的依赖信息,并抓取最相关的信息;相比不进行特征融合的ABLSTM-CRF和BLSTM(MHA)-CRF,经过特征融合后模型的效果普遍得到了提升,说明注意力机制建模在BLSTM 上确实存在信息的损失,但是BLSTM 代表的序列和局部信息和注意力机制代表的全局语义和句法信息融合后,能够达到优势互补的效果,表明了特征融合的有效性。

另外相对于单一注意力机制,多头注意力机制在中英文数据集上普遍都获得了效果提升,表明多头注意力机制可以获得更为丰富的语义和句法上的关联表示,有效地验证了本模型的可行性。

通过对比实验,可以发现BLSTM 在建模序列获取字符级别表示和词级别表示的效果要优于CNN,在三种特征融合方式的模型中,BLSTM _T(MHA)-CRF在3个数据集上达到了最高的F 1值,表现效果最优,在照相机和Restaurant数据上的效果也优于单一注意力机制模型,表明注意力机制学习参数权重可以达到较好的特征融合效果。BLSTM _V(MHA)-CRF特征融合的方式在照相机和Restaurant数据上达到了最高的F 1值,并且提升效果最明显。

3.4.2 注意力机制分析

图3展示了英文评价数据句子中某一个词“incredible”对其他词关注度的分布情况:

图3中第一行“Attention”表示不进行特征融合的ABLSTM-CRF模型中的注意力分布,后面的3行表示三种基于特征融合的注意力分布,颜色越深关注度越大。标签中的“P”代表评价词,“T”代表评价对象,可以看出单一的注意力机制会出现有些词只关注自身的情况,而进行特征融合后,情况大为改观,促使评价词“incredible”关注到了其他评价对象和评价词。

本研究设定多头注意力的h=5,即将输入映射到5个不同的子空间或低维空间后,同时进行注意力分布的计算。图4是NER测试数据中某一个句子的5个词对其它词的平均注意力分布图,图的左边和下边的英文文字表示词和标签信息,“ORG”表示该词为机构名,“B-ORG”表示起始词,“E-ORG”表示结束词。可以观察到本研究的多头注意力机制能够关注到相似语义的词,比如“Islander”关注到了具有相同“ORG”标签的“NBA”、“NHL”、“LA”和“Clippers”等词,尤其对标签完全相同的“Clippers”关注度最大,因为都是机构名的结束词,即标签都为“E-ORG”。

图3 英文评论数据中某个词对句子中其它词的关注度分布:特征融合前后的对比Fig.3 Distribution of the attention of one word in English comment data to other words in sentences:Comparison before and after feature fusion

图4 5个head平均的注意力热力分布图Fig.4 Heat distribution of attention in five heads

多头注意力机制能够在不同的表示子空间学习到不同的信息,本研究抽取了词“Clippers”在两个子空间上的注意力分布,如图5所示。head_0表示第0个空间的注意力分布热力图,head_1表示第1个空间的注意力分布热力图。其中,“Clippers”在head_0上关注到了所有的机构词,还错误地关注到了标签为“O”的“Corrects”,而在head_1上除了关注到自身,还给予了同样作为机构名结束词的“Islanders”较多权重。所以head_0用来捕获相似语义信息并确定标签类别,head_1用来判断在所属标签中的位置属于开始、中间还是末尾。

图5 词“Clippers”在两个不同表示子空间的注意力分布图Fig.5 Attention distribution of the word“Clippers”in two different subspaces

3.4.3 Dropout实验分析

多头注意力机制在多个子空间内进行注意力分布的计算,将结果进行拼接和线性映射,可能存在信息冗余的问题,所以考虑在每个词的5个注意力分布向量上进行Dropout实验,设定Dropout为0.2,即随机地丢弃关注到的一些重复或者错误的信息,结果如表5所示,除了Chunking数据外,模型在其他数据集上的效果都得到了进一步提升,表明Dropout具有正面的作用。

表5 基于TwoParam特征融合的MHA模型在数据集上的Dropout实验结果Tab.5 Dropout experimental results of MHA model based on TwoParam feature fusion on dataset

4 结论

本研究关注序列标注任务,提出基于注意力机制的特征融合序列标注模型。考虑到现有的LSTM-CRF模型通常存在局部依赖性以及受限于序列化的特征学习,本模型在LSTM 的基础上引入多头注意力机制建模任意两个词之间的语义关系,进而得到每个词应关注的全局语义表示。进一步地,为了更好地融合LSTM 学习的局部上下文语义以及多头注意力机制学习的全局语义,设计了三种特征融合方法进行两部分语义的深度融合。为了证明模型的有效性,在四个数据集上构建了一系列实验,实验结果表明本模型达到了较优的性能。

猜你喜欢

语义标签注意力
真实场景水下语义分割方法及数据集
让注意力“飞”回来
如何培养一年级学生的注意力
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
A Beautiful Way Of Looking At Things
“吃+NP”的语义生成机制研究
让衣柜摆脱“杂乱无章”的标签
科学家的标签
情感形容词‘うっとうしい’、‘わずらわしい’、‘めんどうくさい’的语义分析