Sentiment Classification Based on Part-of-Speech and Self-Attention Mechanism
2020.1
KEFEI CHENG 1 , YANAN Y
摘要:
目前,各种基于注意的神经网络在情感分类任务中取得了成功,因为注意机制能够更多地关注那些对情感极性预测有贡献的词。 然而,这些方法的主要缺点是它们只注重词语,而忽略了词性中包含的情感信息。 针对这一问题,本文提出了一种基于词性的变压器注意网络。 该模型不仅利用自我注意机制来学习语篇的特征表达,而且还结合了词性注意来捕捉词性中的情感信息。 此外,我们创新的焦点损失的引入有效地缓解了样本不平衡对模型性能的影响。 我们在不同的数据集上进行了大量的实验,令人鼓舞的结果表明了我们提出的方法的有效性。 指标术语词性、自我注意机制、情感分类、焦点损失。
I. INTRODUCTION
情感分类的任务是根据文本所表达的意义和情感信息,将文本分为两种或两种以上的赞扬或贬损类型。 情感分类是作者情感取向、观点和态度的划分,可以在一定程度上解决网上各种评论信息的混乱,方便用户准确定位所需信息。 目前,主流的情感分类方法主要分为三类: 1)基于词典的方法; 2)基于机器学习的方法; 3)基于深度学习的方法。 基于词汇的方法的核心部分是“词汇 + 规则” ,即以情感词汇作为判断情感极性的主要依据,并设计相应的判断规则。
基于机器学习的情感分类方法大致可分为有监督的、无监督的和半监督的。 传统的机器学习方法致力于人工提取大量的特征,如单词包和 tf-idf,用于训练 svm 、 nb 等情感分类器。 众所周知,深度学习模型。 由于它们不需要精心设计特征工程就可以从高维原始数据中自动学习语义表示,因此正变得越来越流行。 作为一种强大的文本建模技术,卷积神经网络(cnn)和回归神经网络(rnns)已经被广泛应用于情感分析任务中。 然而,这些方法可以自动学习文本特征,但不能专注于对情感分类有重要意义的部分。
作为人类注意力的模拟,注意机制可以集中在文本的特定部分,因此它被应用到神经网络来实现各种任务,包括机器翻译,阅读理解,图像处理 ,等等。 然而,这些方法只注重词汇,忽略了词性特征。 事实上,词性包含了有助于分类的情感信息。 比较了名词、动词、形容词和副词作为特征的分类效果,发现所有四个词类都有不同程度的情感色彩。 以前的一些关于赞美和情感分类的工作已经实现了。
基于这一认识,本文提出了注意事项。每个词类作为一个矢量表达被整合到网络中,并通过注意机制对不同词类进行加权,从而学习不同的特征。 但是,大多数现有的基于注意力的方法依赖于 cnn 和 rnns。 Cnn 能够捕捉到当地特征,但忽略了文字之间的长期依赖关系。 Rnns 和基于 cnn 的模型的不同之处在于 rnns 在文本的远距离语义建模和语境信息获取方面具有优势。
受 google 的 transformer 模型的启发,我们设计了一种新的基于词性的变换注意网络(postan)。 该模型利用自我注意机制来学习不同位置词之间的依赖关系,并在不同的空间层次上捕捉特征信息。 同时结合词性信息挖掘词与词之间的修饰关系,获得更丰富的情感特征。 另一方面,大多数情感分类的研究都是基于样本是平衡的假设。 而在实践中,不同类别的样本数量差别很大,而且不平衡现象普遍存在,因此有必要采取适当的方法来处理。
本文的工作总结如下。 针对样本不平衡问题,引入焦点损失作为情感分类模型的损失函数。 该模型通过在较大的类别中减少样本的权重,在训练中更多地关注少数类别中的样本,从而在一定程度上缓解了样本不平衡对分类的影响。 •我们设计引人注目的东西来捕捉情感信息。 每个词类作为一个载体整合到网络中,通过注意机制对不同词类进行加权,从而学习不同的情感特征。 我们提出了一种新的基于词性的变压器注意网络(pos-tan) ,它结合了词性和自我注意机制。
通过实验验证了该模型对情感分类任务的有效性。这篇文章的其余部分是这样组织的。 首先简要介绍了情绪分类方法,并在第二部分介绍了自我注意机制。 然后,在第三部分给出了所提出的情感分类模型(pos-tan)。 在第四部分,进行了广泛的比较实验,以证明我们提出的模型的优越性。 最后,我们在第五部分得出结论并展望未来。
II. RELATED WORK
情感分类是自然语言处理的主要研究内容之一,它可以看作是传统的文本分类,通过一些通用的分类模型来解决。 传统的基于特征工程的模型通常侧重于提取有效的特征,如词法特征,基于主题的特征。 随着深度学习的迅速发展,cnn 和 rnns 被用来获得更好的句子表示以进行情感分类。 特别是,长期短期记忆网络(lstms)在情绪分析方面显示出惊人的前景。 蔡和夏[37]利用两个单独的 cnn 建筑学习文本特征和视觉特征,可以作为另一个 cnn 建筑的输入,利用文本和图像之间的内在联系,从而实现多媒体情感分析。 Dong et al. [9]通过对 tweet 数据的句法关系建模,提出了一种自适应递归神经网络。 Lai 等[38]提出了一种递归卷积神经网络(rcnn) ,它利用卷积层中的递归结构对文本进行分类。 Wang 等人[39]提出了一个用于多维情绪分析的区域 cnn-lstm 模型。 近年来,深度学习领域出现了一个新的研究方向,即在神经网络模型中引入注意机制。 注意机制能够集中于文本中对当前任务更重要的部分。 因此,人们提出了各种基于注意力的方法来解决情感分析任务[40]-[42]。 Wang 等[43]提出了一种基于注意的长短时记忆网络,用于方面层次的情感分类。 提出了约束注意网络(can)用于多方面情感分析,并引入正交和稀疏正则化来约束注意权重分配,帮助学习更好的方面-特定句子表示。
B. SELF-ATTENTION MECHANISM
注意机机制
首先在视觉图像的领域被提出,然后被 bahdana 等人应用到机器翻译任务中[12]。 基于 rnn / cnn 等神经网络模型,注意机制被广泛应用于各种自然语言处理任务中,有助于模型从多个特征中选择对当前任务更重要的特征。大多数注意力模型都附加在编解码框架上。 编码器-解码器框架可以看作是从一个句子生成另一个句子的通用处理模型。 对于句子对的源、目标,我们的目标是给出源句,并通过编解码框架生成目标句。源和目标分别由它们各自的字序列组成。
注意力的本质可以描述为查询到一系列键值对到输出的映射,如图1所示。 注意力的计算分为三个步骤。 首先对查询和每个密钥进行相似度计算,得到每个密钥对应值的权重系数。f (Q,Ki) = QTKi (1) 然后我们用 softmax 来标准化。
当前,在 nlp 任务中键和值通常是相同的。 自我注意机制可以看作是一种普通注意的特殊形式,即源语言中词序列之间的注意。 Q、 k 和 v 有相同的输入,也就是说,句子中的每个单词都必须与其他单词一起计算,以便引起注意。 自我注意可以忽略词与词之间的距离,直接计算依赖关系,学习句子的内部结构,更好地捕捉句子的句法和语义信息。
III. THE PROPOSED APPROACH
模型的整体架构如图2所示。 分为嵌入层、文本表示层、感兴趣层和分类层。
A. 嵌入层 :给定一个句子 s { w1,w2,w3,… ,wn }和语音部分 p { p1,p2,p3,… ,pn }每个单词 wi,s 和 p 都有一个 n 的长度,每个单词被映射成一个低维实值向量,称为单词嵌入。 对于每个单词 wi,向量 通过字嵌入得到 ei ∈ rdw。 由于本文的模型使用了自我注意机制而不是 rnns,因此不可能对 rnns 这样的词序进行建模。 因此,相关的位置信息被添加到输入序列中。
位置信息的矢量表示采用transformer[27]模型,通过位置嵌入得到每个字的位置矢量 zi ∈ rdw。 单词 vector 和位置向量的维数相同,它们相加得到单词的最后一个嵌入向量 vi:
vi = [ei + zi] ∈ Rdw (4)
这里,嵌入过程中的参数矩阵为 mv dw,dw 是词向量的维数,v 是词汇量。
在语言学中,词性是词汇的一个基本语法属性,也有一定的语义信息。 因此,我们在模型中引入词性特征,并将每个词性作为一个向量来学习。 每个词类 pi 通过词性嵌入得到相应的词类向量 si ∈ rdpos。
参数矩阵 wvpos dpos,其中 dpos 是词性向量的维数,vpos 是词性表的大小。
B. TEXT REPRESENTATION LAYER
B文本表示层
Google 提出的转换器模型是一个完全基于注意力机制的机器翻译模型。 它摒弃了 cnn、 rnns 的结构,通过自我注意机制从远处的词汇中学习语义关系,不仅突破性地应用了一种新的模型结构,而且在任务执行、并行性和训练方便性方面都有显著提高。 变压器中的编码器结构,也称为变压器注意网络(tan) ,它已经成为文本特征表示的一个重要基准模型,如图3所示。 主要采用多头注意机构。 核心部分是scaled 网络产品的关注度。 它的计算公式可以描述为:
Attention(Q,K, V) = Softmax( QKT √dk )V (5)
其中 dk 是矩阵 q 和 k 的维数,多头注意力首先对 q、 k 和 v 分别执行 h 次线性映射,其中每个线性映射的参数矩阵是不同的。 然后将 scaled 点积关注并行进行小时,并拼接结果。 最后,通过线性映射获得多头注意的输出。 这种机制类似于卷积运算,允许模型在不同的表示子空间中学习不同的信息,并尽可能地刻画句子的语义关系。
headi = Attention(QWQi ,KWKi , VWVi ) (6) MultiHead(Q,K, V) = Concat(head1, . . . , headh)WO (7)
这里,参数矩阵 wqi ∈ rdmodel dk,wki ∈ rdmodel dk,wvi ∈ rdmodel dv,wo ∈ rdmodel hdv,其中 dv 是 v 的维数,dmodel 是多头注意输出的维数。 在这项工作中,我们使用 h4平行注意力层。 对于每一层我们使用 dk dv dmodel / h。
C. POS-ATTENTION LAYER
词性-注意层
词性是词的基本语法属性。 不同词类的词在句子中代表不同的成分。 现有的关于词性和情感分类的著作可以分为两大类。 一种是通过词性标注(词性标注)区分词在句子结构或语义中的不同角色,有助于模型提取相应的特征[23]-[25]。 另一种是通过嵌入将语音部分映射为矢量表示,然后直接将其输入带有词向量的模型进行训练[45]。 然而,以往的大多数词性分析方法只学习了词性的浅层特征,而忽略了词与词性之间的联系。
本文将词性整合到网络的不同层次,从多个层次学习词性信息。 该算法首先通过嵌入层将词性向量映射到词性向量上,然后将所有词性向量组成一个词性向量矩阵 ep ∈ dpos。 特别是,我们使用词性注意来融合词的语义信息和词性信息。 将矩阵 ep 乘以它的转置矩阵,得到一个新的矩阵 hep ∈ rn。 矩阵 h 中的值表示每个词性之间的相关性。 在列最大值之后,我们得到一个新的矩阵 e ∈ rn,
eij exp (hij) pi exp (hij)(8)
表示每个词性之间的相关程度。 在行平均矩阵 e 之后,我们得到一个向量∈ rn,它包含了对应于每个词类的注意权。
1nxj eij (9)
最后一个词类注意向量是由矩阵 c 和点积运算得到的,其中矩阵 c 是 tan 的输出。
α = CβT (10)
词性注意的引入加强了词性特征的提取,使模型充分考虑了词性对情感分类的贡献,有利于学习语篇中更深层次的情感特征。
D. CLASSIFICATION LAYER
分类层
通过对 ep 进行列平均,得到了一个全局的词性向量∈ rdpos。
1nxi epij (11) ,
文本的最终表达载体由词性注意向量和词性注意向量组成。 ,在这里,可以看作是一个包含多个词性信息的全局词性向量。 其目的是减少位置相近或内容相近但没有修饰关系的句子成分对分类的影响。
文本的矢量表达是一个结合了文本语义信息和词性信息的特征矢量。 然后用 y (w + b)(13)将表示向量提供给一个单层的全连通网络,再用 s 形激活函数将其映射为介于[0,1]之间的数值概率。 当这个概率大于0.5时,样本的情绪趋势被预测为正值,当这个概率小于0.5时,预测为负值。E. FOCAL LOSS 震源损失焦点损失[28]首先用于解决一阶段目标检测中简单例子和难例子之间的不平衡问题。
在二值分类中,通常采用交叉熵损失。 对于单一样本,
lce-ylogy (11y) log (1-y)(logy,y1 log (1-y) ,y0(14) ,
其中 y 为0或1,代表样本的真实类别,y 为模型的预测类别。 为了方便起见,我们对 p:
p (y,y 11-y,y 0(15)
进行了修改,并重写了 lce-log §。 通过在交叉熵损耗中加入调制因子(11p) ,得到焦损。 其目的是减少简单样本的权重,使模型更加注重硬样本的学习。
Lfl-(11p) log §(1-y) log (y) ,y1-y log (1-y) ,y0(16)
这里,≥0是一个调制参数,可以顺利地调节一些易于分类的样本的减重率。 当样本分类错误且 p 值较小时,调制因子接近于1,损失受影响不大。 当 p 接近于1时,调制因子趋于零,容易采样的损失减少了重量。
F 模型训练情感分类中存在的样本不平衡问题类似于目标检测。 发现大量类中的大多数样本是容易分类的并不困难。 由于该模型可以更好地了解这一类别样本的特征,少数类别样本的特征将变得不那么明显,从而使这些样本难以进行分类。 因此,本文将焦点损失引入到情感分类中,并用焦点损失代替交叉熵作为模型训练的损失函数。 该模型的损失函数为:
损失-xni (yi)(1-yi) log (y i) + (11 yi) y i log (1-yi)(17) ,
其中 n 为样本数,≥0为调制参数。 样本标签 yi 为0或1,相应的情感极性为正负两极。 在实验中,采用随机梯度下降算法使损失函数最小化。
IV. EXPERIMENTS Iv.
在本部分的实验中,我们展示了我们的实验装置,并评估了我们提出的 pos-tan 模型在各种情绪分类数据集上的性能。数据集使用数据集的统计数据总结在表1中。 每个数据集以9:1的比例被分成训练集和测试集。 每个样本都标有两种情绪极性: 正面和负面。
• tsb 是 tan 收集的中国酒店评论数据集,包括2999条负面评论和7000条正面评论。
•外卖数据集包含从中国外卖平台收集的11987年用户评论。
•微博数据集是来自中国最大的社交平台微博的评论集。 有11998条负面评论和59993条正面评论。
• nlpcc2014是 nlpcc 2014评估任务“用深度学习技术进行情感分类”的二进制情感分类数据集[47]。
• yelp 2013年评论[48]来自 yelp 挑战数据集,该数据集删除了标有2星、3星和4星的评论,只包含双星标签(1星代表负,5星代表正)。
•亚马逊[29]有365万条评论。
我们随机抽取10% 的原始数据进行测试。 评论用0或1标记,分别代表正面和负面。 0代表1星和2星的评论,2代表4星和5星的评论。 三星评论和中立的情绪没有包括在原始的。
B. EXPERIMENTAL SETUP
实验步骤
在我们的实验中,我们从 u ((,)中随机初始化单词嵌入,位置嵌入和位置嵌入,其中0.02。 词嵌入和位置嵌入的维度为128。 词性嵌入的维度为8。 我们的实验批量为50个,初始学习率为0.001。 迭代次数为10次,退出率设置为0.1。 这里使用的评估指标是分类的准确性。 精度度量总体情绪分类性能,形式化为: 精度 tn (18) ,其中 t 是正确预测的样本数,n 是样本总数。
本文提出了一种基于支持向量机(svm)的二元分类方法,该方法具有较强的泛化能力和较高的分类精度,适用于二元分类问题。 L1正则化不仅可以避免过分分割,而且具有特征选择功能。 是一种常用的文本分类算法,具有稳定的分类效率。
• bi-lstm 是一个双向递归神经网络,由两个相反方向的 lstm 组成。 该算法将两个 lstms 的输出在最后一个时间步骤上拼接成文本特征表示,用于情感分类。
• textcnn [7]采用卷积神经网络,使用不同大小的卷积核从句子中提取关键信息,以更好地获取文本的地方特征。 •
韩[30]被提议用于文档分类,它使用“词语-句子”的层次结构来表示文档。 此外,该模型还具有两个层次的注意机制,分别存在于词语层面和句子层面。
Tcn [49]是一个序列建模基准,它结合了因果卷积、残余连接和膨胀卷积。 训练速度比递归神经网络模型快。 它不仅能够捕获时间依赖关系,而且能够捕获局部信息。
D. 结果和分析
分类精度的结果,我们的模型相比,其他竞争模式的结果显示在表2。 我们可以看到,textcnn,bi-lstm 和其他深度学习方法优于传统的机器学习方法。 因为深度学习方法能够在没有手工特征工程的情况下有效地生成特征表示。 在所有的深度学习方法中,textcnn bi-lstm 的表现更差。 这主要是由于它们相对简单的网络结构和较差的文本特征表示。
Bi-lstm 可以捕获长距离依赖关系,但不能学习像 cnn 这样的本地特性。 Han,tcn 和我们提出的 pos-tan 都代表了不同层次的文本特征。 与汉族相比,我们提出的聚焦损失的分类精度提高了大多数数据集。 特别是,在 tsb 数据集和微博数据集上增长了1.3% 。 汉语采用词性层次结构和句性层次结构,分别在这两个层次上运用词语注意和句子注意。 它可以使网络从文档中提取出重要的词语和句子,因此在文档分类方面有很好的表现。 然而,当它应用于情感分类任务时,却不如我们的模型好。
情感分类任务通常是句子级别而非文档级别。 汉语虽然使用分层注意结构,但在情感分类任务中,分层网络退化为词汇注意网络,句子注意的作用不明显。 Tcn 主要关注序列建模,它不仅能够捕获时间相关性,而且能够捕获局部信息。 这就是为什么 tcn 超过 textcnn 和 bi-lstm 的主要原因。 与 tcn 相比,我们的 postan + 焦点损失在 waimai 数据集和 yelp 2013数据集上的绝对增长率分别为1.25% 和1.72% 。
在 tsb 数据集和微博数据集上也分别有0.48% 和0.33% 的小幅改善。 我们不仅使用自我注意机制来学习文本的特征表达,而且还结合了词性信息。 自我注意可以捕捉不同位置的词之间的依赖关系。 词性注意可以赋予词类不同的权重,从而使网络更加注重词性信息的学习。 另外,焦点损耗对分类精度的提高也有一定的贡献。 因此,我们提出的 pos-tan + 焦点损失在大多数数据集中获得了最好的性能。
VISUALIZATION OF POS-ATTENTION WEIGHT
为了反映词性信息对情感分类的贡献,我们从数据集中选取四个样本,将每个词的词性注意权重可视化。 数据如图5所示。 我们可以看到像“”,“”和“”这样的形容词有最高的权重。 副词(如“”)和动词(如“”、“”、“”、“”)的权重排在第二位。 而“”、”等名词的权重最低。 在语言学中,形容词通常用来表示人或事物的性质、状态和特征,而副词则用来修饰形容词,表示程度、范围等,例如,图5(a)中的“”是否定的评语,而“”则加深了“’”的程度,进一步表达否定的情绪。 动词通常表示行动或态度。 如图5(b)所示,动词如“”和“”表示积极的态度。
根据上述分析,我们可以知道用户的情绪经常被相应的部分反射,不同的部分代表不同的情绪强度。 从图5©、5(d)可以看出,词性信息的引入可以使模型关注句子中具有情感倾向的部分。 例如“ best”、“ creative”、“ fun”和其他形容词,这些词会被赋予更高的分量,而“ is”、“ the”、“ and”等作为语法的一部分,实际上对情感分类几乎没有影响。 该模型通过词性与词汇之间的注意互动,集中学习“最好”、“创造性”、“有趣”等词汇所表达的情感信息,而忽略其他对情感分类影响较小的词汇。V
. CONCLUSION 本文提出了一种情感分类模型 pos-tan。 该模型不仅利用自我注意机制来学习语篇的特征表达,而且还结合了词性注意来捕捉词性中的情感信息。 此外,为了减轻样本不平衡对分类效果的影响,我们引入了焦点损失。 最后,我们在中英文数据集上进行了大量的实验,实验结果表明: (1)我们的模型能够从词类中提取情感信息; (2)我们的模型能够结合词类注意和焦点损失的优点,提高情感分类的准确性; (3)词类注意权重的可视化表明不同词类的情感强度有不同的程度,从而使网络能够更多地关注高权词类的学习。该模型虽然在句子层面情感分类方面有很大的潜力,但是忽略了体信息。 一个句子可能有多个方面,有时需要确定某个特定方面的情绪极性。 将来,我们打算将基于词性的注意模型扩展到方面层次的情感分类。