融合关键对象识别与深层自注意力的Bi-LSTM情感分析模型

2021-03-21 05:11吴旭辉
小型微型计算机系统 2021年3期
关键词:向量语义关键

李 磊,吴旭辉,刘 继

(新疆财经大学 统计与数据科学学院,乌鲁木齐 830012)

1 引 言

从在线评论中提炼出的情感信息在网络舆情导控、商品营销、产品和服务提升等方面具有重要的应用价值,针对微博评论、第3方电商平台上的反馈评价等短文本进行情感分析,是近年来的一个研究热点.同一条评论文本往往涉及所描述对象的不同属性或方面(本文简称为评价对象),如关于酒店的评论“环境还算可以,特别划算”,具体的评价对象就包括“环境”和“价格”,已细化为酒店的不同属性.此外,“价格”并没有直接出现在评论中,是由上下文语义推断得知,属于评论中的隐式对象.基于属性的情感分析是细粒度情感分类任务,不仅不同对象的情感语义不会完全一致,而且评论整体的情感倾向与特定对象的情感倾向也可能不同.

在线评论短文本的典型特点是句法结构不规范、主观性较强、用词随意性强,而深度学习方法无需依赖人工标注的特征工程,基于多层非线性变换的神经网络结构可以实现对文本的抽象和学习,所以此类神经网络模型在自然语言处理领域得到了广泛的应用[1].目前的情感分类模型主要以卷积神经网络(CNN)和循环神经网络(RNN)为基础构建.因细粒度情感分析更加关注对特定评价对象的情感态度,所以在神经网络中引入注意力机制,可有效捕获评论中与对象相关的情感语义表达,提升情感分类性能[2].从研究方法上看,近期的相关工作主要围绕输入序列建模、网络模型设计、注意力机制改进等几个方面展开,而且大部分研究仅针对事先标注的对象推断文本内容的情感倾向,从而验证优化后的模型在细粒度情感分析上的性能提升.

在实际应用中,首先要识别文本中的评价对象,并考虑评论者对不同对象在关注程度上的差异,以及不同情感之间的相关性和合成性,需综合局部来判断整体评论的情感倾向性.本文基于CNN实现关键评价对象的抽取和识别,利用双向长短期记忆神经网络(Bi-LSTM)提取上下文特征信息,通过强化关键对象语义信息和引入自注意力机制来增强模型的性能,实验结果验证了本文方法的有效性.

2 相关研究

2.1 评价对象的提取与识别

文本中的评价对象可分为显式和隐式两种[3].直接出现在评论文本中的对象属性即为显式对象,通常是高频率出现的名词或名词词组,基于词频的抽取方法是提取显式评价对象的常用方法.基于语法规则的方法可有效抽取低频属性,但对人工设计特征的依赖性较大.将机器学习与上述方法相结合来提取对象属性,也取得了较好的效果[4].

隐式对象不出现在文本中,但可根据上下文语义推断出具体属性,对此类对象的识别可提高情感分析的精度[5].显式对象及相应情感词的抽取结果是识别隐式对象的基础,大部分研究的基本思想是:挖掘属性类与意见簇的关联性,构建稳健的“属性-情感观点”匹配规则,再以情感词为线索,依据规则识别隐式评价对象.在属性分类、情感词典构建、关联规则挖掘、相似度计算等方面的改进,有助于提升隐式对象的识别效果[6].此外,支持向量机(SVM)、条件随机场(CRF)、CNN等模型的运用也为识别工作提供了新的思路[7].

2.2 基于对象的情感分析

深度学习模型独立于专家知识和语料库,在命名实体识别、语义角色标注、词性标注等研究领域表现出良好的性能,也逐步应用于对象层面的情感分析.CNN可以接收平行输入的语句,通过卷积处理提取最重要的句法和语义特征,基于CNN可完成对象抽取、特定对象判定及细粒度层面上的情感分析[8].而RNN在处理序列信息上更具优势,其记忆能力可捕获上下文的依存关系,应用更为广泛[9,10].

在神经网络中引入注意力机制,可使模型关注特定对象的相关信息,有助于提升模型的性能表现.Wang等[11]基于LSTM隐藏层的输出进行注意力学习,并强化了特定对象在文本特征提取和注意力权重计算中的作用.石磊等[12]利用自注意力机制提炼上下文特征,并将其补充到Tree-LSTM模型的输入序列中.梁斌等[13]同时关注对象信息、词性和词语位置,用3种注意力机制增强CNN对特定对象情感极性的识别.支淑婷等[14]在基于Bi-LSTM构建的网络模型中,加入位置、内容和类别注意力机制来学习多特征信息.

很多研究工作使用的实验数据集已事先标注了显式对象,但没有考虑存在隐式评价对象的情况.多重注意力机制虽然可以从不同角度关注不同的特征信息,但不同注意力之间的关系难以把握.与单层注意力学习方式相比,深层注意力机制可更有效地聚焦于关键信息,提升文本分类效果[15].此外,在判断评论文本的整体情感倾向性时,现有研究大多基于对象层面的情感得分进行某种形式的加总处理[16],但判定结果对得分汇总机制的依赖性较大.

由于评论者的偏好不同,对不同评价对象的预期和重视程度也不同,所以整体情感倾向并非细粒度层面上情感观点的简单汇总,而在很大程度上取决于评论者对重点关注对象的评价.本文提出了一种融合关键评价对象识别和深层自注意力的Bi-LSTM模型.从属性角度出发,构建不同对象类的评论词集,基于CNN卷积处理结果来提取或识别评论中的关键评价对象.以融合了关键对象信息的词向量序列作为输入,使用共享权重的Bi-LSTM理解和提炼整条评论特征信息,在模型的输入层和隐藏层输出结果上均引入自注意力机制,提升情感分类性能.

3 模 型

3.1 基于CNN的关键对象识别

3.1.1 对象类评论词集的构建

电商平台通常会对在线评论内容进行分类汇总,提炼出主要评价方面,本文据此确定评价对象类,并将类别词记为:A1,A2,…,Aj.类别词是对评价对象的高度抽象和概括,而短文本评论大多仅涉及同一类对象的局部或从属属性,因此需要从评论中获取充足的指示对象词,以扩充对象类信息.在对评论文本进行分词、删除无用字符、去停用词、标注词性的预处理后,筛选出名词或名词短语构成候选对象词集,基于Word2Vec计算对象类别词与候选对象词的相似度,并据此对候选对象词进行分类,得到每个对象类的对象词集.

Tang等的研究表明,对象词附近的词语对于情感分类准确率的影响较大[17],同时考虑到语义表达的完整性,因此本文始终按标点符号切分并提取句子片段.以评论文本中的对象词为中心提取子句,构成与对象类对应的子句集合Bi(i=1,2,…,j).其次,基于Bi挖掘与对象词最常匹配的情感词.在文本预处理的基础上,保留名词、动词、形容词(或形容词短语)、副词,先用关联规则的Apriori算法挖掘出与每个对象词最常匹配的情感词,主要包括:形容词、形容词短语、动词.考虑到程度副词对情感强度的影响,再利用点互信息(PMI)挖掘与形容词有修饰搭配关系的程度副词:

(1)

其中,P(word1 &word2)表示word1和word2同时出现的概率,P(word1)、P(word2)分别表示word1、word2单独出现的概率.结合同义词林,最终筛选出每个对象类的评论词集RVi={ni个对象词,mi个程度副词,ki个情感词}(i=1,2,…,j).

3.1.2 关键对象识别

CNN可接收平行化输入的文本信息,通过卷积操作获取文本的N-Gram特征,适合对文本整体语义的建模.Du[18]从数学上证明了卷积运算结果就是一种对句子中不同成分的关注信号,反映了不同词语在整体语义场景下的重要性.本文基于CNN卷积层输出挖掘核心情感词,进一步识别评论文本的关键评价对象,具体过程如图1所示.

对于长度为n的短文本s={w1,w2,…,wn},将每个词wi映射为一个多维连续值词向量xi,所有的词向量构成一个词向量矩阵E∈Rd×|V|,其中d为词向量维度,|V|为词典大小,即数据集包含的所有词的数量.本文用CNN提取特征信息,使用大小为k×d的卷积核对输入E进行h次卷积操作,卷积层的输出结果记为:C1,C2,…,Ch,其中Ci∈Rn.求均值进行平滑,向量C中的数值反映了每个词语的重要性:

图1 基于CNN的关键对象识别Fig.1 Key opinion target recognition based on CNN

(2)

基于向量C,按式(3)定位核心情感词:

(3)

其中,which.max(·),which.min(·)分别返回最大值和最小值的位置,即为核心情感词在句子中的位置.以核心情感词为中心,抽取句子片段,若该子句中包含对象词,则关键评价对象是显式对象,抽出相应的对象词.若子句中不包含对象词,则认为是隐式评价对象的情况,按式(4)计算子句与每个对象类评论词集之间的余弦相似度:

(4)

上式中,sg和rvi分别表示子句和对象类评论词集在多维连续实值空间上的映射.最大相似度对应的对象类就是识别出的隐式评价对象,并将对象词设定为对象类别词Ai.

3.2 深层自注意力机制

注意力机制可优化情感分类任务,使模型更多关注与特定对象相关的情感信息.本文基于CNN卷积层抽取的特征信息,使用多层感知器(MLP)进行自注意力的学习,并在特征信息上拼接关键对象词向量,以增强关键对象在学习过程中的作用.

(5)

(6)

(7)

(8)

上式中,W(1)∈Rr×2d,W(2),…,W(l-1)∈Rr×r,W(l)∈R1×r是权重矩阵,b(1),…,b(l-1)∈Rr,b(l)∈R,是偏置向量,均通过训练得到.αi是每个词在整体语义场景下的注意力权重.

3.3 情感分类模型

在以上模型的基础上,本文提出融合关键对象识别与深层自注意力的Bi-LSTM模型,整体模型结构如图2所示,主要包括以下3个部分:

1)用CNN平行接收短文本的词向量矩阵,基于卷积层输出的处理结果识别关键评价对象,并进行深层自注意力的学习.

2)在短文本的词向量序列上拼接关键对象信息,应用注意力机制后,输入到Bi-LSTM中学习评论文本整体情感特征信息.

3)对Bi-LSTM的隐状态向量序列再次应用注意力机制,获得优化调整后的特征表示,输入softmax分类器中进行情感分类.

图2 融合关键对象识别与深层自注意力的Bi-LSTM模型Fig.2 Bi-LSTM with key opinion target recognition and deeper self-attention

3.3.1 输入层

词向量矩阵E只是输入文本在低维、连续实值空间上的映射,不包含其它额外信息.研究表明,在神经网络模型的词嵌入层拼接对象信息,可有效提升情感分类效果[11].先对每个词向量拼接关键对象信息,以增强输入数据的语义信息;再将注意力权重赋予每个词向量,使模型在编码阶段能主动关注与情感观点关系密切的数据信息,结果如式(9)所示.

(9)

其中,E*∈R2d×|V|,是Bi-LSTM的输入序列.

3.3.2 双向LSTM层

与CNN相比,LSTM可对文本的顺序特征进行有效建模,在一定程度上保留对上下文的记忆.使用一个共享权重的双向LSTM神经网络,可以分别学习文本中的正向语义信息和逆向语义信息.两个LSTM对输入数据E*进行编码处理后,分别生成了前向和反向的特征向量矩阵Hf∈Rdh×n和Hb∈Rdh×n,其中dh表示单向LSTM隐藏层输出的向量维度.连接正、反两个方向的隐状态向量矩阵,即为Bi-LSTM生成的文本特征向量矩阵Hs∈R2dh×n,如式(10)-式(12)所示.

(10)

(11)

(12)

LSTM单元提取特征信息时倾向于重视近期输入,无法很好地捕捉到文本中相对距离较远的情感词与关键对象之间的潜在联系.故将深层自注意力再次应用到Bi-LSTM的隐状态向量序列上,进一步优化从评论文本提取的特征信息,按式(13)进行加权求和后,得到最终输出的情感特征向量h*.

(13)

3.3.3 模型训练

本文使用一个softmax函数接收Bi-LSTM网络的输出,来获得待分类文本情感极性的结果,如式(14)所示,其中W为权重矩阵,b为偏重向量.

y=softmax(Wh*+b)

(14)

模型的训练采用端到端的反向传播算法,损失函数采用交叉熵代价函数.同时为了避免过拟合问题,加入了 L2 正则项.通过最小化损失函数来优化模型,完成情感分类任务:

(15)

4 实验结果及分析

4.1 实验数据及评价指标

数据集采用中科院计算所谭松波教授提供的酒店评论语料,共包括10000条评论,已标注的好评为7000条、差评为3000条.以数据集为训练语料库,用jieba对评论文本进行分词和词性标注,词向量用Word2Vec的skip-gram训练得到;同一评论词集中的词语不仅在句法结构上有较强的关联性,而且在语义内容上有相同的主旨,故使用Doc2Vec的DBOW训练得到对象类评论词集和句子片段的向量表示.在已标注数据集上采用五折交叉验证进行多次实验,尽可能降低随机性对实验结果的影响.

本文使用精确率P(Precision)、召回率R(Recall)、F值(F-measure)对实验结果进行评价,相关计算方法如式(16)-式(18)所示.

(16)

(17)

(18)

其中,TP(True Positive)表示预测正确的正向类别数;FP(False Positive)、FN(False Negative)表示预测错误的正向类别数和负向类别数.

4.2 实验参数设置

通过对比不同参数值的实验结果后,设定词、词集和子句向量均为100维的连续值.在CNN中使用多种窗宽的卷积核进行卷积操作,其中窗宽大小分别为3、4、5,每种卷积核的个数均为100.训练过程采用Adadelta更新规则,其它参数如表1所示.

表1 模型参数设置Table 1 Model parameter setting

4.3 对比实验设置

将本文提出的融合关键对象识别与深层自注意力的Bi-LSTM模型与典型的神经网络模型在相同环境下进行对比实验,以验证本文模型的有效性:

1)CNN模型:李慧等[19]提出的算法,完善了对象词的识别和抽取,并给对象词赋予一定的权重,将处理后的文本词向量矩阵输入CNN,进行情感分类.

2)Bi-LSTM:标准的双向LSTM模型,可以分别学习句子中的正向语义信息和逆向语义信息,获取词语间的依赖关系.

3)TC-LSTM:Tang等[9]提出的方法,把对象词向量与句子中的每个词向量进行拼接,用LSTM提取特定对象的前后语境信息,使得两个方向上的语义特征均用于情感分类.

4)ATAE-LSTM:Wang 等[11]提出的情感分析模型,在LSTM的输入层拼接对象词向量,基于隐藏层输出进行注意力学习,并且强调了对象信息在学习过程的重要性.

5)character-SATT-BiLSTM:吴小华等[20]等提出的算法,使用字向量对评论文本进行向量化表示,结合自注意力与Bi-LSTM对短文本进行情感分类.

6)SA-BiLSTM-SA:在Bi-LSTM的输入序列和隐状态输出序列上使用深层自注意力机制,但没有拼接关键评价对象.

7)SAAE-BiLSTM-SA:本文提出的短文本情感分析模型,关键对象识别、深层自注意力机制与Bi-LSTM神经网络的结合.

4.4 实验结果分析

对关键评价对象的识别是优化情感分类任务的一个有效机制,基于SemEval 2014 Task4中的Laptop和Restaurant数据集,验证关键对象识别方法的有效性.上述2个数据集中,已标注了评价对象和评论针对该对象的情感倾向,满足方法验证的基本条件.在Laptop测试集上,对评价对象的识别准确率为85.74%,在Restaurant测试集上,则达到88.83%,表明本文方法对关键评价对象的识别效果较好.

对于酒店评论语料,根据携程网对住客点评的信息汇总,确定了设施、环境、价格、服务、交通、位置和餐饮7个评价对象类,由此扩充构建的对象类评论词集概况如表2所示.各对象类评论词集语义明确,除个别程度副词外,对象词或情感词均没有在不同的评论词集中重复出现.

表2 对象类评论词集概况Table 2 Summary of commentary word set for target classes

表3列示了关键评价对象的识别样例.在实验数据集中,关键对象为隐式的评论占18.96%,基于CNN的卷积处理结果,可较好地提取或识别关键评价对象.由于CNN的卷积输出较好地区分了文本中不同成分的重要程度,在此基础上增强关键对象的语义信息,作为自注意力学习过程的输入,可以更好地挖掘出与评论文本情感观点最为相关的信息.

本文模型与其它对比模型分别在相同数据集上的实验结果如表4所示(1)本文使用的实验数据与文献[19]相同,故表4直接引用了其评价指标的计算结果..尽管完善了对象词抽取工作,并在输入层矩阵融入对象特征权重,但该权重仅从词频角度反映对象词的重要性,而且卷积神经网络在处理序列信息上不具优势,所以在7个模型中CNN的分类效果不太理想.Bi-LSTM比CNN在精确率、召回率和F1值上均有一定提升,说明句子的上下文语义信息在情感分类过程中有重要作用.TC-LSTM对输入词向量序列拼接了对象信息,并以对象词为中心,同时提取其前文信息和后文信息用于情感分类.该方法的核心思想与Bi-LSTM类似,但是把句子的语义割裂为左右两个部分,在分类性能上仅比Bi-LSTM略有提升.ATAE-LSTM既拼接了特定对象词向量,又引入了注意力机制,分类效果比Bi-LSTM有进一步提升,但该模型仅从一个方向对文本的序列特征建模,其注意力权重是基于隐藏层输出的单层学习结果,故效果提升并不明显.

表3 关键评价对象识别样例Table 3 Examples of key opinion target recognition

表4 不同模型的情感分类性能比较Table 4 Comparison of emotion classification performance of different models

character-SATT-BiLSTM在字级别上构建文本输入序列,使用基于单层自注意力机制的Bi-LSTM进行情感分类,与TC-LSTM和ATAE-LSTM相比,有较大的性能提升.SA-BiLSTM-SA使用本文提出的深层注意力机制,并在Bi-LSTM的输入层和隐藏层输出上进行权重调整,其精确率、召回率和F1值达到了92.4%、92.31%和92.35%,比character-SATT-BiLSTM分别提升了0.75%、1.68%和1.21%.这一方面说明注意力机制可以让模型重点学习关键情感信息,从而有效提升分类效果,另一方面也表明本文提出的深层自注意力机制优于一般注意力机制.

从图3看,基于CNN的特征提取结果,随着层数的增加,MLP可获得更加准确的句子内部关键特征,学习远距离依赖性也更有效,因此通过多层网络结构可不断调优与关键对象相关的注意力特征.本文模型在MLP的层数为4时,分类效果最好.同时采取拼接关键对象词向量和注意力机制后,SAAE-BiLSTM-SA的性能表现继续有所提升,3个评价指标的数值均达到93%以上,表明在输入序列增强关键对象语义信息有助于提高情感分类效果.

图3 MLP不同层数对模型性能的影响Fig.3 Effect of MLP layers on model performance

实验结果表明,对于短文本的情感分类任务,SAAE-BiLSTM-SA整体上优于其它代表性的深度学习模型,验证了本文模型的有效性.基于CNN的关键评价对象识别大大减少了对人工标注和外部知识的依赖,在Bi-LSTM中融入深层自注意力机制和关键对象信息,可更好地对整体语义和对象相关语义同时建模,显著提升模型的分类性能.

5 结 论

本文提出了一种融合关键评价对象识别和深层自注意力的Bi-LSTM模型,能在细粒度层面上快速识别关键评价对象,并判断短评论文本的情感倾向性.基于CNN对文本的卷积处理结果识别关键评价对象,进而通过MLP实现自注意力学习;利用Bi-LSTM获得更加丰富的句子上下文语境信息,在此过程中增强关键对象在整体语义中的作用,引入注意力机制不断调优模型对不同情感特征的关注程度.实验结果验证了该模型在短文本情感分类上的有效性.未来研究可考虑结合句法分析来优化关键对象的识别算法,在注意力学习过程中补充外部有效信息,提升注意力分布的精确性,并在模型学习的不同阶段对注意力进行动态更新,更准确地实现情感语义提取.

猜你喜欢
向量语义关键
真实场景水下语义分割方法及数据集
硝酸甘油,用对是关键
向量的分解
走好关键“五步” 加强自身建设
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
汉语依凭介词的语义范畴
蒋百里:“关键是中国人自己要努力”
鹏鹏猪