情感分析研究领域中,深度神经网络技术成为目前的主流研究。相比于其他文本分类任务,情感分析任务的研究更加侧重于分析文本的主观极性特征。胶囊神经网络模型的提出为极性建模提供了一种实现的思路。我们在胶囊网络的基础上提出了一种全新的情感分析模型,并提出了一种基于极性知识指导的建模方法。实验证明,在同等条件下,新型情感分析模型可以取得更有效的极性学习能力。
In the research of sentiment analysis, deep neural network technology has become the mainstream research. Compared with other text classification tasks, sentiment analysis task focuses more on an-alyzing the subjective polarity of the text. The capsule neural network model provides a direction for polarity modeling. We propose a novel sentiment analysis model based on capsule network and a knowledge-based modeling method. The results in experiments show that the proposed sentiment analysis model can get more effective polar learning ability under the same conditions.
情感分析研究领域中,深度神经网络技术成为目前的主流研究。相比于其他文本分类任务,情感分析任务的研究更加侧重于分析文本的主观极性特征。胶囊神经网络模型的提出为极性建模提供了一种实现的思路。我们在胶囊网络的基础上提出了一种全新的情感分析模型,并提出了一种基于极性知识指导的建模方法。实验证明,在同等条件下,新型情感分析模型可以取得更有效的极性学习能力。
情绪分析,胶囊网络,知识指导,极性建模
Jinyu Pang
Chengdu University of Information Technology, Chengdu Sichuan
Received: Nov. 9th, 2020; accepted: Nov. 30th, 2020; published: Dec. 7th, 2020
In the research of sentiment analysis, deep neural network technology has become the mainstream research. Compared with other text classification tasks, sentiment analysis task focuses more on analyzing the subjective polarity of the text. The capsule neural network model provides a direction for polarity modeling. We propose a novel sentiment analysis model based on capsule network and a knowledge-based modeling method. The results in experiments show that the proposed sentiment analysis model can get more effective polar learning ability under the same conditions.
Keywords:Sentiment Analysis, Capsule Network, Instruction Learning, Polarity Modeling
Copyright © 2020 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
情感分析是一项自然语言处理(Natural Language Processing, NLP)的基本任务——识别对话中蕴含的话者情绪。通常研究人员将话者情绪划分为积极情绪和消极情绪两类,或三分类和五分类等更加细纹理的划分方法 [
短文本情感识别的研究工作已经持续了20多年。自然语言作为一种主观性极强的语言,可以通过细微差异的表述传达出两种相反的情绪。如图1中句子1和句子2的用词基本相同,而用户的情绪呈现对立关系。因此大量的研究工作围绕着如何实现对文本中极性的准确判断。早期的研究工作主要集中在细粒度的特征抽取技术,通过构建专家知识挖掘出文本情感极性特征,实现情感分析 [
图1. 句子极性示例
这种方法大多对已有数据利用率低,知识构建成本较高,知识迁移能力较弱,模型识别泛化能力不强。随着深度学习技术的发展,基于深度神经网络的情感识别研究作为一种分类任务取得较大突破。Santos等人构建了基于多级编码特征的卷积神经网络模型(Convolutional Neural Networks, CNN),在多个情感分类数据集上实现了SOTA的效果 [
本文将文本情感的极性特征建模与胶囊神经网络相结合,提出一种基于知识指导的短文本情感分析建模方法,在多个公开数据集上有效提升模型识别效果。本文的主要贡献如下:
1) 提出了一种新型的适合极性特征建模的短文本情感分析建模方法;
2) 在多个数据集上显著提升情感分类效果。
后续章节的安排如下:1) 详细介绍本文提出的情感极性建模方法;2) 描述实验设计及实验内容,并对实验结果进行细致分析;3) 总结全文。
本节将介绍论文的主要创新点,一种全新的短文本情感分析模型——基于知识指导的短文本情感分析胶囊模型(guided Sentiment Analysis Model based on Capsule neural network, SAMCAT)。
SAMCAT采用胶囊神经网络关于胶囊神经元节点的设计思想,首次提出利用胶囊神经元的方向属性构建文本极性特征。该创新主要有两点优势:1) 继承胶囊神经网络的优点,保留文本中所有位置的方向信息,确保信息的完整性不被破坏;2) 将方向属性与明确特性相结合,便于引入文本极性知识对建模过程的指导,实现对参数学习空间的约束。SAMCAT模型可以显著提升情感建模能力,实现更好的建模效果。
以下小节将详细介绍SAMCAT的框架以及各个部分内容的设计。2.1小节将从整体介绍SAMCAT的实现架构;2.2小节介绍如何通过胶囊神经元表示极性特征空间,以及如何通过SAMCAT构建文本中的短语的胶囊神经元编码。2.3小节中介绍如何将短语编码汇总成句子编码,并提出了一种新型的胶囊神经元激活函数——阶梯函数。2.4小节主要介绍SAMCAT的损失函数设计,并回答如何引入文本极性知识实现对建模过程的指导。
SAMCAT的设计包含从文本输入到情感分类结果输出的完整过程,如图2所示,整体框架由3个部分组成:1) 短语编码部分将文本中的短语编码成胶囊神经元向量形式;2) 句子编码将短语胶囊神经元向量由特征激活空间映射到极性特征空间,并通过矢量加和以及非线性激活运算得到句子胶囊神经元编码;3) 分类及极性指导部分将句子胶囊神经元作为输入,分别对其方向和编码内容与正确结果进行对比分析,计算预测结果的损失值,其中对句子编码内容通过构建简单分类器得到文本情感极性的概率分布,预测结果的损失值将最终指定模型的收敛方向。
图2. 句子极性示例
短语编码部分由三层神经网络组成,分别是词向量嵌入层、卷积压缩层和胶囊初始层。
SAMCAT使用中文词向量模型 [
卷积压缩层对词向量嵌入层输出的向量列表进行上下文信息收集和维度压缩处理,通过定义m维卷积核函数组 F = ( f 0 , f 1 , ⋯ , f m − 1 ) 进行卷积运算可以得到m维的压缩向量编码,如式(1)所示。
p i = ∪ f c + ( v i : i + x c ) (1)
其中, f c 表示第c个卷积核函数, x c 表示第c个卷积核的上下文宽度,⨄运算符号表示将所有卷积计算结果级联在一起。卷积压缩层得到的压缩向量编码仍为多个传统的神经元表示,无法参与胶囊神经元运算。
SAMCAT设计胶囊初始层对压缩向量编码进行胶囊化,并可以根据胶囊个数进一步压缩特征空间维度。胶囊初始层通过卷积运算将m维压缩向量编码进一步投射到低维空间 q i = ∪ f c + ( p i ) , q i ∈ R n , ∀ n < m ,由相邻两个神经元组合构成一个胶囊神经元,最终得到多个胶囊神经元表示的短语编码 q i ̀ = ( ( q i ( 0 ) , q i ( 1 ) ) , ( q i ( 2 ) , q i ( 3 ) ) , ⋯ , ( q i ( n − 2 ) , q i ( n − 1 ) ) ) 。
以上我们提出极性特征空间的概念,极性特征空间可以用于描述各种极性特征,其本质为一个二维矢量空间。任意一种极性都可以通过空间中由原点出发指向任一方向的矢量进行描述,矢量的方向和模长分别表示极性方向和极性程度,因此可以通过胶囊神经元模拟极性空间中的矢量。
句子编码通过胶囊路由层完成,其中主要运用到动态路由算法,其主要运算单元为迁移矩阵单元和胶囊激活函数单元。句子编码的输入为展平后的短语编码,如式(2)所示。
Q ˜ = ( ( q 0 ( 0 ) , q 0 ( 1 ) ) , ⋯ , ( q i − 1 ( n − 2 ) , q i − 1 ( n − 1 ) ) , ( q i ( 0 ) , q i ( 1 ) ) , ⋯ , ( q L − 1 ( n − 2 ) , q L − 1 ( n − 1 ) ) ) (2)
对 Q ˜ 中的所有胶囊神经元,并不属于真正意义上的胶囊神经元,通过2.2节中的构成方式可以得知,其本质仍为卷积运算后激活函数的产物,我们将这一激活函数的输出结果表示的空间称为特征激活空间。通过将特征激活空间变换为极性特征空间,需要引入空间变换矩阵,在胶囊神经网络中称为迁移矩阵。SAMCAT使用共享权重的迁移矩阵 W s ∈ R 2 × 2 将 Q ˜ 中的胶囊神经元映射至极性特征空间中,得到极性短语编码 A = ( a 0 , a 1 , ⋯ , a z ) , z = L ∗ n ,其中 u i ∈ ∪ 0 ≤ j < L , 0 ≤ k < n ( q j ( k ) , q j ( k + 1 ) ) 。句子编码过程直接采用短语编码的矢量加权平均完成,通过多次动态路由迭代逼近,最终句子编码将表现出主体短语极性的综合特征,为了得到极性程度的概率表示,我们约定极性程度的有效区间为(0, 1]。
胶囊激活函数可以将胶囊神经元的模长映射到有效区间内。胶囊激活函数的另一个作用是增加非线性运算,增加模型对非线性特征的抽取能力。传统胶囊神经网络采用压缩函数作为胶囊激活函数,压缩函数的确可以实现上述关于非线性和区间化的功能,然而压缩函数作为激活函数本身有两点明显的缺陷:1) 对于任意非零输入都有非零输出,通过求和操作会放大激活噪声;2) 需要输入为无穷大时才能实现准确激活( ‖ x ‖ = 1 )。上述两种缺陷限制了模型对数据的学习效果。
本文提出一种新型胶囊神经元激活函数——阶梯函数,如式(3)所示。
step ( x ) = min ( k ∗ max ( ‖ x ‖ − β , 0 ) , α ) x ‖ x ‖ , k = 1 1 − β (3)
其中 α 为激活状态上限, β 为激活触发点,k为激活斜率。 ( β , < α k ] 为胶囊神经元的激活区间,当输入等于 α k 时,激活状态达到饱和。这一区间的另一特性是更新梯度为定值
SAMCAT采用多层感知机结构作为分类器模型,输入句子胶囊神经元编码,输出情感极性分类分布,采用交叉熵损失函数计算分类输出结果,并最终通过后向传播优化所有模型参数。
极性导向损失函数是一种基于极性知识指导的损失计算函数,如式(4)所示,由两项构成:左项为余弦距离表达式,右项为 γ -交叉熵损失。通过余弦距离表达式可以计算出句子输出极性和真实情感极性的相似程度。输入 x ^ 为3.3节输出的句子编码, y ^ 为真实极性标签。 x 为极性预测分布, y 为真实极性分布。
loss ( x ^ , y ^ , x , y ) = x ^ ⋅ y ^ / ‖ x ^ ‖ ‖ y ^ ‖ − γ x ⋅ log ( y ) (4)
我们可以合理假设积极情绪在极性空间中表示为(0, 1),对应消极情绪在极性空间中的表示(0, −1),利用正负极情感极性对立的知识完成极性建模指导。
本文为了验证SAMCAT情感分类模型架构的有效性,我们在开源酒店客户评价1和开源外卖客户评价2两套中文情感识别数据集上进行对比实验,包括替换阶梯函数和极性导向损失函数对模型识别效果的影响。
实验挑选两种开源情感分析数据集,分别是中文酒店情感分析数据集1包含7766条训练数据,5322条积极评价数据和2444条消极评价数据,主体为用户的积极评价。中文外卖平台评论数据集2包含11,987条数据,4000条积极评价和7987条消极评价,主体为消极评价。
SAMCAT参数配置如下:词向量嵌入层采用预训练模型进行初始化且不参与参数迭代,卷积压缩层的压缩维度为64维,卷积核大小为 [
我们选择两种主流文本情感分类模型作为基线模型进行对照,分别为Text CNN模型 [
实验结果如表1所示,其中SAMCATw/o step表示使用原始压缩激活函数,SAMCATw/o uniloss表示仅使用交叉熵损失函数建模。从结果可以看出三种SAMCAT结果均优于两种基线模型,表明通过使用胶囊神经网络对情感极性进行建模同样可以取得较好的建模效果。对比SAMCAT和SAMCATw/o uniloss的实验证明通过增加极性知识指导,可以有效降低模型的学习空间复杂度,引导模型学习到更优的参数组合。对比SAMCAT和SAMCATw/o step的实验表明阶梯函数相比于压缩函数,可以提升模型的学习效率,在相同迭代次数下,阶梯函数可以取得更明显的优化收益。总结上述分析内容,相比于基线系统,SAMCAT通过构建胶囊神经元分析模型,并引入极性知识指导建模,可以显著提升模型分类准确率,通过联合使用阶梯函数优化胶囊激活函数,可以取得更好的模型学习效果。
模型 | 酒店数据集/acc | 外卖数据集/acc |
---|---|---|
TextCNN | 89.72% | 90.65% |
SAM | 89.97% | 90.23% |
SAMCAT | 94.57% | 92.65% |
SAMCATw/o step | 92.84% | 91.12% |
SAMCAT w/o uniloss | 90.66% | 90.93% |
表1. 对比实验结果
分析迁移矩阵参数可以直观反应出模型学习到的极性空间的概念。SAMCAT中迁移矩阵的作用是对短语编码中的胶囊神经元进行投影,得到从特征激活空间到极性特征空间的向量映射,如图3所示。
图3. 迁移矩阵
迁移矩阵为一个2 × 2的向量矩阵,我们按照例向量取出迁移矩阵终得向量,绘制成图3中的黑线部分。由于训练过程中,我们使用y轴作为正负极性方向,使用x轴作为无极性方向,因此可以得到水平方向表示的向量为对无情感极性特征内容的吸收向量。第二、三象限对角线方向的向量为真正的极性映射向量。我们使用两条虚线绘制出该向量的反向延长线和法向量。联想卷积运算的激活特性,对于类似卷积核的分布会得到较大的值,而卷积核正交的分布则得到趋近于0的结果。第一、四象限均为不完全激活状态,因此不会对极性投影产生较大的影响,第而象限表示正向的激活状态,乘以投影向量最终会投射到朝向 y−∞ 方向的向量,即表示情感否定极性,即消极情感。反之亦然。由此可以得出结论,SAMCAT成功学习到了极性空间的概念,且激活函数更加关注否定极性方向,与之前否定极性特征重要性的分析相吻合。
本文提出了一种新型的基于胶囊神经网络实现的情感分析模型SAMCAT,并相应提出两种优化函数——阶梯函数和极性导向损失函数,用来辅助SAMCAT实现更好的模型学习效果。在两种开源中文情感分析数据集上,SAMCAT模型可以取得大幅提升的情感分析效果。SAMCAT可以有效学习到情感数据中的极性特征空间概念,为后续继续展开研究极性建模提供了思路。
庞劲羽. 基于极性知识指导的短文本情感分析建模Polarity-GuidedShort Text Sentiment Analysis Modeling[J]. 仪器与设备, 2020, 08(04): 124-130. https://doi.org/10.12677/IaE.2020.84016
https://doi.org/10.3115/1118693.1118704
https://doi.org/10.1007/1-4020-4102-0_1
https://doi.org/10.1145/2766462.2767830
https://doi.org/10.1016/j.neucom.2019.10.033
https://doi.org/10.18653/v1/P19-1052
https://doi.org/10.18653/v1/D18-1350
https://doi.org/10.18653/v1/D18-1120
https://doi.org/10.18653/v1/P19-1150
https://doi.org/10.1007/978-3-319-25207-0_14
https://doi.org/10.18653/v1/N16-1062