基于CNN的方面级跨领域情感分析研究
2022-08-19孟佳娜于玉海郑志坤
孟佳娜,吕 品,于玉海,郑志坤
大连民族大学 计算机科学与工程学院,辽宁 大连 116600
情感分析有着广泛的应用价值,是自然语言处理领域一项具有挑战的任务。根据现有的研究,情感分析可以分为三个级别:文档级、句子级和方面级[1-3]。文档级和句子级的情感分析都是粗粒度的情感分析,而方面级情感分析是一种细粒度的情感分析,它可以提供更详细的情感分析结果。
针对方面级情感分析问题[4],目前已经有很多先进的深度学习方法,但是常用的深度学习模型一般高度依赖大量的已标注数据进行训练,而人工标注数据需要耗费许多时间和人力来完成。为了减轻模型对大量标注数据的依赖,本文对方面级情感分析进行了跨领域的研究。
本文标注了中、英文方面级跨领域情感分析语料。目前对方面级情感分析做跨领域研究的比较少,现有的公开方面级情感分析数据集不能满足本次实验的需要,因此本文选择了两个句子级的情感迁移学习语料,人工标注为适用于跨领域方面级情感分析任务的语料。
本文还提出了基于方面级情感分析的跨领域模型。探究了基于卷积神经网络(convolutional neural networks,CNN)的方面级情感分析方法,在此基础上建立了迁移学习模型,并通过实验检验了该模型在不同领域的分类性能,验证了本文提出的方法具有良好的泛化能力。
1 相关工作
1.1 方面级情感分析
早期对于方面级的情感分析主要依靠特征工程来表征句子[5],近年来在方面级情感分析任务中,深度学习模型取得了更好的效果。
长短期记忆网络(long short-term memory network,LSTM)具有良好的表示序列信息的能力。Tang 等人[6]使用两个LSTM将目标词语与其上下文共同建模,整合了目标词语与上下文的相互关联信息。Tai 等人[7]提出了树形LSTM 结构,结合依存关系、短语构成等语法特性,使得语义表达更加准确。
注意力机制可以有效提高情感分类的效果。Ma等人[8]提出了一种分层注意力机制的LSTM 结构,将情感相关概念的常识性知识引入到深度神经网络端到端的训练中。Ma等人[9]提出了一种交互式注意力网络,交互检测目标的重要单词和上下文中的重要单词。记忆网络模型[10]拥有长期、大量和易于读写的记忆。Tang 等人[11]用上下文信息构建记忆网络,通过注意力机制捕获对不同方面情感倾向比较重要的信息。Chen 等人[12]提出的模型可以捕捉长距离的情感特征,并且将多重注意力的结果与循环神经网络(recurrent neural network,RNN)进行非线性组合,以提取更加复杂的特征。CNN模型比较擅长从n-gram 中提取特征,Li 等人[13]提出了一个特征变换组件来将实体信息引入到单词的语义表示当中,又提出了一种“上下文保留”机制,可将带有上下文信息的特征和变换之后的特征结合起来。Xue 等人[14]将CNN 与门控机制相结合,使模型可以根据给定的不同方面,有选择地输出情感特征。
1.2 迁移学习
迁移学习方法的核心思想是找到源领域(source domain)和目标领域(target domain)之间的相似性,并从相似性的角度将源领域使用的模型或标记数据迁移到目标领域,最后根据已有的相似度进行新的训练[15]。
由于不同领域之间的特征有较大差异,许多跨领域方法是从特征的角度入手。Blitzer 等人[16]提出结构对应学习方法,尝试在源领域和目标领域中找到一组具有相同特征或行为的枢轴(pivot)特征进行对齐。Pan 等人[17]提出光谱特征对齐的技术将来自不同领域的领域特定词语对齐到统一的簇中。以深度神经网络为基础,也延伸出许多解决跨领域的方法。Glorot等人[18]使用了一种堆叠式降噪自动编码器,将源领域和目标领域的特征进行重构。Chen等人[19]提出使用mSDA(marginalized stacked denoising autoencoder)算法,在不使用优化算法的基础上保留了模型强大的学习能力。Yosinski 等人[20]通过实验发现深度网络的前几层更适合被固定用来完成迁移学习任务,并且提出微调,可以很好地克服领域间数据间的差异性。Long 等人[21]提出深度自适应网络模型,以深度网络为载体来进行适配迁移。
目前,迁移学习在多个领域都取得了巨大的成功,例如文本挖掘[22]、语音识别[23]、计算机视觉[24]、垃圾邮件过滤[25]、WIFI 定位[25]以及情感分类[14]任务等,具有广阔的应用前景。
方面级情感分析能提供比一般情感分析更细粒度的信息,具有更大的研究价值和商业价值。而训练一个优秀的方面级情感分析模型需要大量的标注数据,当训练数据不充足、分布不同或数据类别不平衡时,模型的效果会大打折扣。因此,构建跨领域情感分析技术通用的模型和方法是未来值得研究的问题。
2 方法介绍
2.1 基于CNN的方面级情感分析
卷积神经网络在自然语言处理领域取得了极大的进展。CNN主要由输入层、卷积层、池化层和全连接层组成。在处理含有多情感多方面的句子时,简单的CNN不能分辨当前扫描区域中的情感词是描述哪个实体的。本文在CNN的基础上,增加一个门控激活单元,当方面信息和情感信息经过该激活单元后,模型会给与方面信息较密切的情感词语一个较高的权重,反之,若二者关系较远,则给该情感词语的权重可能很小或者为0。模型结构如图1所示。
图1 方面级情感分析模型Fig.1 Overview of aspect-level sentiment analysis model
具体设计步骤如下:
模型的输入分为两部分,分别是方面词和上下文,对应的卷积过程也包含两部分。
上下文X包含了l个单词,将每个单词转换为d维的词向量,句子X可以表示为d×l维的矩阵。使用d×k(k<L)维的卷积核Wc,在上下文矩阵上进行单向平移扫描,k表示卷积核每次扫描所包含的单词的个数。每次扫描可以得到一个卷积结果ci,如式(1)所示。
其中,bc是偏置,f为激活函数,*代表卷积操作,因此扫描完该句子后,得到向量c,如式(2)所示。
其中,lk表示向量c的长度。在实验中设置nk个大小为k的卷积核,当所有句子扫描结束后,可以得到一个nk×lk维的矩阵,再对该矩阵进行最大池化处理,即取每行的最大值,此时该句子可以用一个nk维的向量来表示。由于方面词T可能由一或多个词构成,实验中添加了一个小的CNN,将T转化为词嵌入矩阵,如式(3)所示,并通过卷积和池化操作,提取方面词的特征,如式(4)所示。
其中,Wv是d×k维的卷积核,bv是偏置。
实验设置了两组相同大小的卷积核同时扫描句子,并将结果分别输入到两个门单元中,分别对方面和情感两类信息进行了编码,得到了两个向量si、ai。
在计算si时,采用了tanh 作为激活函数,如式(5)所示。
其中,Ws是d×k维的卷积核,bs是偏置。
在计算ai时,在输入中加入了方面词的嵌入向量va,va由vi做最大池化得到,并采用relu作为激活函数,如式(6)所示,因此ai可以视为方面特征。
经过训练,通过relu 函数后,模型会给予方面词较密切的情感词一个较高的权重ai,反之,若二者关系较远,则权重可能很小或者为0。最后将si、ai这两个向量对应相乘,得到的结果即为最终的特征向量oi,如式(7)所示。
将oi输入到池化层,做最大池化处理,最后将得到的向量输入到全连接层,使用softmax 分类器得到各个类的概率,通过概率大小判断其类别。
2.2 方面级跨领域情感分析
迁移学习是机器学习的一个分支,迁移学习不要求训练数据在相同的特征空间或具有相同的边缘概率分布,放松了机器学习所需的假设。在一个比较大的有标签数据集上预训练网络模型,然后使用该网络模型作为初始化模型来继续处理其他领域的任务。模型中,方面信息和上下文信息通过卷积提取到特征后,送入门控激活单元将特征进行选择,与方面特征相似度低的情感特征在门处被阻塞,否则,其规模将相应扩大,并在门控单元将二者特征进行融合,最后通过全连接层预测情感倾向性。模型如图2所示。
图2 模型框架图Fig.2 Model architecture
具体步骤设计如下:
步骤1 使用源领域有标签数据训练神经网络模型,将句子X中的每个单词转换为d维的词嵌入,将句子最大长度固定为l(不足特定值的部分用0补充,超出特定值的部分截断),句子中共有L个单词,此时句子X可以表示为d×l维的矩阵,如式(8)所示。
同样的,方面词也表示为d×l维的矩阵,如式(9)所示。
将句子和方面词分别输入到卷积层,利用卷积层提取句子中的特征。将卷积核W的大小设置为d×k(k<L)维,并将卷积核在句子矩阵和方面词矩阵上分别进行单向平移扫描,k表示卷积核每次扫描所包含的单词的个数。扫描后得到卷积结果ci和vi。
步骤2 将vi通过最大池化操作后得到的va和ci一起送入到门控单元中,对方面信息和情感信息进行匹配与融合,具体方法如2.1节中的描述,最后得到一组情感向量Os,如式(10)所示。
步骤3 针对模型训练时可能出现的过拟合现象,使用Dropout提高神经网络结构性能。本文选择用最大池化操作,取出特征值中的最大值作为主要的特征,如式(11)所示。
步骤4 将提取到的特征输入到全连接层,全连接层通过使用softmax 分类器得到各个类的概率,通过概率的大小判断其所属的类别,如式(12)、(13)所示。
步骤5 得到源领域的分类结果后,使用少部分已标注的目标领域数据对模型进行微调。在卷积层使用源领域训练好的卷积核的权重,应用前向传播算法获取特征图,对全连接层中的权重使用随机梯度下降方法进行微调,再对目标领域进行情感分类,得到最终的分类结果,如式(14)、(15)所示。
3 实验结果及分析
3.1 语料标注
现有的情感分析语料不能完全满足本次研究的需要,因此本文分别选取了中、英文的迁移学习常用语料进行人工标注,创建了适用于跨领域方面级情感分析任务的数据集。具体做法是,在句子级情感分析公开数据集的基础上,分析其中的方面信息以及情感信息,将方面词语进行提取,并将句子中对该方面表达的情感标注出来。为了避免训练数据不充足、分布不同或数据类别不平衡影响模型性能的问题,本文创建的中英文语料库经过人工筛选,各领域的数据量以及正负标签的数量是基本平衡的。
3.1.1 中文语料标注
中文语料选用了谭松波等学者整理的中文评论文本数据集[26],分别是京东电脑产品评论、当当书籍评论和携程网酒店评论。该语料每一条评论中会涉及一到多个方面,不同方面对应的情感倾向性不一定相同。将每个评论语句中针对不同方面的情感分别标注出来。例如,对于句子“酒店的服务太烂。地理位置挺好的。”可以标注为两个不同的方面情感数据,对于“服务”方面,对应的情感倾向是消极的;对于“地理位置”方面,对应的情感倾向是积极的。人工标注后的每一条评论语句都分为三部分:句子、方面和情感倾向性。原评论语句中有多少个方面,就分别标注出每一条句子的方面和对应情感倾向性。表1 展示了部分标注后的方面词。标注后的部分语句示例如表2 所示。对标注方面后的数据进行整理,共19 500条,如表3所示。
表1 中文语料标注后提取的部分方面词Table 1 Aspect words extracted from labeled Chinese corpus
表2 中文语料标注后数据示例Table 2 Examples of labeled Chinese corpus
表3 中文语料标注后统计Table 3 Statistics of labeled Chinese corpus
3.1.2 英文语料标注
英文语料使用公开的亚马逊图书语料库[16],该语料分为四大类,Book、DVD、Electronic和Kitchen。这四个不同领域的数据都包含正向评论和负向评论各1 000条,共8 000条数据。同样的,人工标注后的每一条评论语句都分为三部分,句子、方面和情感倾向性。标注后提取出部分方面词展示在表4 中。标注后提取部分数据示例展示在表5中,最终标注后的数据共9 090条,整理后如表6所示。
表4 英文语料标注后提取的部分方面词Table 4 Aspect words extracted from labeled English corpus
表5 英文语料标注后数据示例Table 5 Examples of labeled English corpus
表6 英文语料标注后统计Table 6 Statistics of labeled English corpus
3.2 实验参数设置
实验中以词为基本单位构建词向量,使用jieba 工具对文本进行分词处理,构建相应的Word2vec词向量,卷积神经网络具体超参数设置如表7所示,给定超参数m为目标领域中用于微调的已标注数据占目标领域总数据的比例。
表7 实验参数设置Table 7 Experimental parameter setting
3.3 实验结果
本次实验使用准确率Acc和F1值为评价指标。准确率计算公式如(16)所示:
查准率(Precision),也叫精确率或精度,它刻画了所有预测为正类的结果中,真正的正类的比例,如式(17)所示:
查全率(Recall),也叫召回率,它刻画了真正的正类中,被分类器找出来的比例,如式(18)所示:
F1值的计算综合考虑了分类模型的精确率和召回率,可以看作是这两种指标的加权平均。F1 值和精确率、召回率一样,介于0 至1 之间,值越大表示模型性能越好。它的计算公式如式(19)所示:
为了表明目标领域样本对模型迁移效果的影响,抽取部分有标签的目标领域的数据进行模型训练。在中文数据集上的实验,当m=0 时,表示直接将源领域训练好的模型迁移到目标领域;m=0.05 表示随机抽取目标领域总数5%的数据进行模型的再次训练以调整网络参数;m=0.1,0.2,0.5 的情况以此类推,并使用10倍交叉验证方法选取准确率和F1值作为测试指标。
3.3.1 中文语料实验结果及分析
中文语料的准确率实验结果如图3 所示。其中C表示Computer 领域的数据集;B 表示Book 领域的数据集;H表示Hotel领域的数据集。图中C→B表示源领域为Computer,目标领域为Book,其余情况依此类推。从图中可以看出,使用带有门控单元的卷积神经网络模型进行迁移时,从书籍数据集到电脑数据集的迁移效果是最好的,准确率可以达到93.4%。随着目标领域训练数据的增多,对于大部分数据集来说,准确率都有提高,增加目标领域样本时,增加最大的一般是0到0.05这个跨度。
中文语料的F1值实验结果如图4所示。可以看出,从书籍数据集到电脑数据集的迁移效果是最好的,F1值可以达到92.19%。随着目标领域训练数据的增多,对于大部分数据集来说,F1值都有提高。按照预期,模型的性能会随着目标领域数据集的增加而提高,但是图中显示,当目标领域数据从0 提升到0.05 这个跨度时,模型性能提升的幅度最大,随着目标领域数据的增加,模型的性能会有轻微的浮动,而后期在目标领域数据最多的情况下模型达到最佳性能。因此在实验中,增加很少比例的目标领域数据去微调模型,可以显著提高实验结果,极大降低了人工标注的时间消耗和成本。
图4 中文语料F1 值实验结果Fig.4 Results of F1 of Chinese corpus
3.3.2 英文语料实验结果及分析
英文语料的准确率实验结果如图5 所示。其中B表示Book领域的数据集;D表示DVD领域的数据集;E表示Electronics领域的数据集;K表示Kitchen领域的数据集。图中B→D 表示源领域为Book,目标领域为DVD,其余情况依此类推。从图中可以看出,大部分数据集实验的准确率随着目标领域训练数据的增多而提高,实验结果最好的是当Electronics 数据集为源领域,Kitchen数据集为目标领域时,其准确率达到了85.89%。
图5 英文语料准确率实验结果Fig.5 Results of accuracy of English corpus
英文语料的F1 值实验结果如图6 所示。从图中可以看出,F1值随着目标领域训练数据的增多而提高,当Electronics数据集为源领域,Kitchen数据集为目标领域时,模型的迁移效果最好,其F1值达到了86.18%。总体来说,实验的准确率和F1值随着目标领域数据的增多而提升,实验中模型的性能会有轻微的浮动,但在用于微调的目标领域数据最大的情况下,模型的性能达到最佳。
3.4 实验对比及分析
3.4.1 消融实验研究
为了检验方面级跨领域情感分析方法的优越性,对本文方法进行了消融实验,探究带有门控单元的方面级情感分析结果相比去掉门控的句子级情感分析有何优越性。句子级的情感分析不涉及方面信息,因此将方面信息的输入置为空,并关闭模型中的门控单元。此时模型的输入是完整的句子,通过卷积操作提取句子中的情感特征,将该特征输入到池化层、全连接层等,经过计算得到源领域的情感分类结果,再将源领域中卷积层训练好的卷积核权重共享给目标领域,并使用小部分的目标领域数据对模型进行微调,最终对目标领域数据进行情感分类,得到目标领域的分类结果。
中、英文语料均使用未经本文标注之前的公开语料,对句子级的情感进行迁移分析。分别在中、英文语料实验中,选取目标领域微调数据比例m=0.1、m=0.2时的准确率和F1 值进行比较,对比两种粒度的跨领域情感分析结果。当选取目标领域微调数据比例m=0.1时,准确率和F1 值如表8、表9 所示。当选取目标领域微调数据比例m=0.2 时,准确率和F1 值如表10、表11所示。
表8 中文语料不同粒度实验结果对比(m=0.1)Table 8 Comparison of different granularity results of Chinese corpus(m=0.1)
表9 英文语料不同粒度实验结果对比(m=0.1)Table 9 Comparison of different granularity results of English corpus(m=0.1)
表10 中文语料不同粒度实验结果对比(m=0.2)Table 10 Comparison of different granularity results of Chinese corpus(m=0.2)
从表8至表11可知,方面级的跨领域情感分析结果在大部分实验中都优于句子级。分析其原因,一是在于数据标注后,对于不同方面,情感信息有了更强的针对性,而句子级情感分析语料中,一句话内往往有互相冲突的情感出现,势必会影响分类结果;第二则是模型中的门控单元会根据方面信息对情感特征进行选择,若此时的情感特征与方面信息相关度较高,那么该情感特征会得到更高的权重,有利于得到更好的分类结果。
表11 英文语料不同粒度实验结果对比(m=0.2)Table 11 Comparison of different granularity results of English corpus(m=0.2)
3.4.2 不同方面词个数的实验结果
在方面级情感分析数据集中,一个句子通常存在多个不同的方面词语,并且针对每个不同的方面表达的情感也不一定相同。因此,本文检测了这种现象对模型的性能带来的影响。首先根据句子中方面词的数量将中文和英文数据集中的训练样本分为不同的组,然后确定不同实验的源领域以及目标领域,将目标领域用于微调的数据数量m设置为0.1,最后通过实验统计并对比这些组之间的训练精度差异。
中文语料中标注出的方面词个数相对较多,大多数样本标注出的方面词个数在1到7之间,因此将具有7个以上方面词的样本作为异常值删除。中文语料中不同方面词个数的准确率变化情况如图7所示。图中B→C代表源领域为书籍,目标领域为电脑,其他情况依此类推。
图7 中文语料不同方面词个数的准确率Fig.7 Accuracy of number of aspects in sentences of Chinese corpus
英文语料中涉及到的方面词个数较少,大多数样本标注出的方面词个数为1 到4 个,因此将具有4 个以上方面词的样本作为异常值删除,因为这种样本的数量在实验中太少了;另外Kitchen 语料中提取的方面词个数范围在1到3个,因为范围较小,难以在实验中观察出明显的差异,所以将该领域数据作为源领域,选择其他三个领域数据中方面词个数为1到4的样本作为目标领域数据进行实验,对比目标领域中不同方面词个数的准确率变化情况,结果如图8 所示。图中K→B 表示Kitchen为源领域,Book为目标领域,其余情况依次类推。
图8 英文语料不同方面词个数的准确率Fig.8 Accuracy of number of aspects in sentences of English corpus
根据图7 和图8 可以看到,当句子中的方面词个数大于3 时,结果开始波动,变得不稳定。因此在创建方面级情感分析数据集时,标注出的句子中的方面词个数不是越多越好,每个句子标注出3个方面词可以得到更好的效果。其次,根据图中的曲线走势也可以看出,模型在方面词个数较多的任务中鲁棒性不是很好,在以后的工作中还需要针对多方面任务进行建模,提高多方面分类的准确率。
3.4.3 与传统机器学习方法对比
为了验证本文模型的性能,选取一些机器学习方法与本文方法进行比较,实验使用的是中文语料,对比实验为朴素贝叶斯(naive Bayesian,NB)、逻辑回归(logistic regression,LR)、支持向量机(support vector machine,SVM)。如图9所示是目标领域不使用数据微调的机器学习方法分类结果,如图10所示是使用12.5%的目标领域数据对模型进行微调后的结果。图中,C→B 代表源领域为电脑,目标领域为书籍,其他行依此类推。根据柱状图可以看出,在大部分实验中,本文提出的方法精度都优于其他实验,在某个领域的结果可能会出现一些波动,但是总的平均值仍然是最高的。在没有使用目标域数据进行微调的情况下,本文方法与NB、LR、SVM方法相比,平均准确率分别提高了19.78个百分点、2.16个百分点和1.63个百分点;在使用微调的目标领域数据数量m=0.125 情况下,本文方法与NB、LR、SVM 方法相比,平均准确率分别提高了12.16个百分点、7.76个百分点和7.98个百分点。
图9 与机器学习方法对比(m=0)Fig.9 Comparison with machine learning method(m=0)
图10 与机器学习方法对比(m=0.125)Fig.10 Comparison with machine learning method(m=0.125)
3.4.4 与其他方法对比
在英文数据集下的实验中,将本文方法的准确率结果与以下方法的实验结果进行比较:
SCL-MI(structural correspondence learning with mutual information)[16]:该方法首先用交互信息构造出枢纽特征,接下来再分别计算源领域和目标领域的枢纽特征与非枢纽特征之间的相关性。
ITIAD(identifying transferable information across domains)[27]:该方法对源领域和目标领域的公共特征进行了处理,应用这些特征进行跨领域情感分类。
DANN(domain-adversarial training of neural networks)[28]:该方法利用域对抗神经网络来实现跨领域情感分析。
表12展示了在英文数据集下,用于微调的目标领域数据数量m=0.025 时本文方法与其他方法的准确率对比结果。根据表中的数据可以看出,本文提出的方面级跨领域情感分析方法取得了最佳效果,超越了其他几个经典的跨领域情感分类模型。
表12 不同方法的准确率对比结果Table 12 Comparison of accuracy of different methods
与SCL-ML、ITIAD、DANN 方法相比,本文方法的平均准确率分别提升了0.8 个百分点、0.9 个百分点和0.3个百分点。说明本文提出的模型可以更好地提取到文本的特征,一方面验证了细粒度跨领域情感分析的可行性,另一方面也验证了本文方法的先进性,改善了目标领域因标注数据较少而导致的难以获得好的分类结果的问题,模型可以在较多领域都有好的表现。
本文标注的语料为方面级情感分析的跨领域研究提供了数据支持。对于中文语料,从书籍数据集到电脑数据集的迁移效果是最好的,F1值可以达到92.19%,对于英文语料,效果最好的是Electronics数据集到Kitchen数据集,F1值达到了86.18%,与其他先进方法对比均有所提高。该语料也为以后的相关研究提供了支持。
4 总结与展望
本文标注了方面级情感迁移学习语料,为本文提供了符合需求的实验数据集,而针对跨领域的方面级情感分析,本文探究了基于CNN的方面级情感分析模型,并应用迁移学习的思想,将源领域训练好的模型迁移到目标领域,解决目标领域因标注数据较少难以获得好的分类结果的问题,实验验证了该模型在本文提出的数据集上有着良好的分类性能。在未来的工作中,可以采用更多的迁移方式对模型进行改进,以及在更多跨领域大规模的数据集上对模型的泛化性能进行进一步检验。