计算机系统应用  2023, Vol. 32 Issue (6): 1-11   PDF    
基于局部上下文关键词的方面级情感分析
曾碧卿, 黄梓芃     
华南师范大学 软件学院, 佛山 528225
摘要:针对目前大多数方面级情感分析方法存在着没有重点关注局部上下文中关键词特征的问题. 本文提出了一种基于局部上下文关键词特征提取及增强的方面级情感分析模型LCPM (local context pos mask). 首先提出了局部上下文词性掩码机制, 提取方面词周围重要词的特征, 减少噪声词的干扰. 其次对损失函数进行修改, 让模型重点关注与方面词有关的局部上下文关键词特征, 提升模型情感分类的表现. 最后设计了一种门控机制, 模型可以动态学习权重系数, 给局部上下文关键词特征和全局上下文特征分配不同的权重系数. 在4个公开数据集上的实验结果表明, 与现有的方面级情感分析模型相比, 准确率和MF1值都有提高, 验证了局部上下文关键词提取及增强的有效性, 在方面级情感分析任务上有较大的应用价值.
关键词: 方面级情感分析    关键词特征    词性掩码    损失函数    门控机制    
Aspect Level Sentiment Analysis Based on Local Context Keyword
ZENG Bi-Qing, HUANG Zi-Peng     
School of Software, South China Normal University, Foshan 528225, China
Abstract: Most aspect level sentiment analysis methods do not focus on keyword features in the local context. Therefore, this study proposes an aspect level sentiment analysis model LCPM (local context pos mask) based on local context keyword feature extraction and enhancement. First, a local context part of the speech mask mechanism is proposed to extract the important words features around aspect words and reduce the interference of noise words. Second, the loss function is modified, so that the model focuses on the local context keyword features related to aspect words and improves the performance of the model’s sentimental classification. Finally, a gating mechanism is designed. The model can dynamically learn the weight coefficients and assign different weight coefficients to local context keyword features and global context features. The experiments on four open datasets show that, compared with existing aspect level sentiment analysis models, the proposed model has higher accuracy and MF1 value, which verifies the effectiveness of local context keyword extraction and enhancement and is of application significance in aspect level sentiment analysis tasks.
Key words: aspect level sentiment analysis     keyword features     part of speech mask     loss function     gating mechanism    

1 引言

随着网络发展和社交媒体软件的普及, 产生大量的网络评论数据, 对这些评论数据进行情感分析有助于理解用户的需求. 目前情感分析在计算机领域有着广泛的应用, 方面级情感分析是自然语言处理中一种细粒度的任务, 又称细粒度情感分析, 主要是确定句子中不同方面词对应的情感极性. 情感极性一般分为积极、中立、消极3类. 例如, “The screen resolution attracts me but its battery is miserable.” 这句话从“screen resolution”和“battery” 两个方面进行评价. 其中, “screen resolution”的情感极性是积极的, “battery”的情感极性是消极的. 显然, 粗粒度的情感分析无法充分分析句子的情感极性. 近年来, 方面级情感分析在自然语言处理领域中受到广泛的关注. 先前大多数研究主要是使用循环神经网络(recurrent neural network, RNN)、长短时记忆网络(long short-term memory, LSTM)、门控循环单元(gated recurrent unit, GRU)等序列模型进行情感分析. 随着注意力机制的兴起, 上述模型与注意力机制结合在情感分析领域上取得了不错的效果. Zhang等[1]把多层注意力模型与记忆网络相结合, 增强模型对复杂情况的表达能力. Ma等[2]提出一种基于长短期记忆网络和注意力机制结合的网络(interactive attention networks, IAN). IAN分别对方面词和上下文进行建模, 并加入注意力机制, 提取方面词在句子中的情感信息. 随后出现了图神经网络(graph neural network, GNN), 有研究尝试提取句法依存特征, 输入到图神经网络中, 提取深层次的情感特征. GNN是一类基于深度学习的处理图域信息的方法, 图神经网络包括图注意力网络(graph attention network, GAT), 图卷积网络(graph convolutional network, GCN)等. Sun等[3]利用双向长短时记忆网络提取句子特征, 并在句子的依存树上增加图卷积网络(GCN)来增强词嵌入, 获取情感特征. Wang等[4]重新构造和修剪依赖解析树, 设计一种面向方面词的句法依赖树结构, 并使用关系图注意网络(relational graph attention, RGAT)来编码句法依赖特征. Bai等[5]认为句法依赖关系可以作为一种有用的外部知识, 根据源句子生成句法解析树, 使用图注意力网络(GAT)提取句法依存特征, 并设计一种新的注意力函数, 使用句法依存标签丰富单词表示, 然后将Bi-LSTM提取的上下文特征与RGAT提取的上下文特征融合, 形成最终的特征. Zhou等[6]为解决句法解析树提取的方面词特征不全的问题, 提出基于图注意力网络和BERT的动态多通道融合模型. 使用两个动态融合模块自适应地调整语义特征, 并为了捕获准确的句法特征, 提出了注意力集成模块, 整合GAT提取的多层特征, 充分考虑句法信息.

上述方法在方面级情感分类任务上已经取得了较好的效果, 但仍存在着部分缺陷及不足之处.

(1)根据全局上下文提取句法特征信息, 没有关注方面词与局部上下文之间的关系, 没有重点考虑局部关键词特征. 因为全局上下文中存在一些无用的情感词, 会干扰最终的情感极性判断. 相比于全局特征, 局部上下文关键词蕴含更丰富的情感信息.

(2)没有利用损失函数进一步加强关键词对情感极性的影响. 因为在局部上下文中, 不同词性的词对方面词影响完全不同.

(3)没有对局部上下文关键词特征和全局上下文特征动态分配不同的权重. 适当融合全局上下文特征, 可防止忽视一些重要的全局信息.

为了解决这些问题, 本文提出了局部上下文词性掩码网络, 并对损失函数进行修改, 保证模型训练的同时兼顾提取局部上下文关键词特征的能力, 让模型重点关注关键词的特征. 然后设计了一种门控机制, 让局部上下文关键词特征与全局上下文特征进行加权融合, 增强模型总体的信息容纳能力和语义表达能力. 本文提出的LCPM模型可以更好关注与方面词相关的关键词特征, 准确分析方面词对应的情感极性.

本文的主要贡献如下.

(1)提出LCPM网络模型, 模型重点关注局部上下文关键词特征, 提取与方面词相关的信息, 避免全局上下文冗余信息的干扰.

(2)对损失函数进行修改, 让模型注重与方面词有关联的局部上下文关键词特征, 捕获与方面词相关的上下文信息, 提升模型情感分类的表现.

(3)设计一种门控机制, 模型可以动态学习权重系数, 给局部上下文关键词特征和全局上下文特征分配不同的权重, 提取丰富的情感信息.

(4)在4个公开数据集的实验结果综合证明所提出的LCPM模型在方面级情感分类任务上均优于先进的基线方法.

2 相关工作

情感分析早期使用的是传统的机器学习算法, 如朴素贝叶斯和支持向量机[7]等, 支持向量机与其他传统的机器学习算法相比, 在情感分析任务上性能较优. 但是传统机器学习算法分类效果很大程度上取决于所选取特征的质量, 并且要设计大量的特征才能提高模型分类效果, 耗费大量资源, 并且这类方法需要人工构建情感词典[8]. 基于情感字典进行情感分析很大程度上取决于情感字典的质量, 且语义表达具有多样性(如反问句和倒装句等), 该方法难以确定方面词对应的情感极性, 现在已经比较少用了.

近年来, 随着深度学习的发展, 出现了大量的神经网络, 卷积神经网络[9]、循环神经网络[10]、长短期记忆网络[11]、记忆网络[12]、图卷积网络[13]等广泛应用在自然语言处理任务上. Tang等[11]使用两个LSTM建模方面词与上下文的关系, 充分提取方面词对应的情感极性. 在方面级情感分析任务中, 神经网络和注意力机制相结合的做法取得了不错的情感分类效果. Huang等[14]基于长短期记忆网络, 对情绪分类问题进行了研究, 提出了注意力交互模块(attention-over-attention, AOA), 提取深层次的情感特征. Fan等[15]考虑了方面词和上下文的注意力, 提出了一种loss计算, 建模方面词和上下文的关系. Song等[16]使用注意力机制描绘方面词和上下文的语义信息, 并在损失函数中添加标签平滑正则化项, 促使模型学习中性标签. 然而, 该模型没有考虑句法信息和单词间的依赖关系, 并存在着把句法不相关的上下文单词作为判断方面词情感极性线索的问题. 随后, 有研究表明利用语法依赖树信息构建邻接矩阵, 再使用如图注意力网络和图卷积网络等结合邻接矩阵, 建模方面词与上下文的关系, 能充分利用句法信息, 让模型重点关注与方面词有关的上下文信息. Bai等[5]把句法解析树作为邻接矩阵, 输入到图注意力网络, 并与Bi-LSTM提取的特征进行融合. Zhou等[6]充分利用GAT和BERT获取语义特征, 并利用多头注意机制连接两个通道信息. 为了捕获更准确的句法信息, 使用注意力集成模块整合GAT提取的多层特征, 最后利用动态融合模块自适应地调整句法信息, 使模型具备提取丰富的语法知识的能力. 然而该方法没有考虑局部上下文关键词特征, 没有加强文本中重要词汇对情感分析的影响, 其任务性能有待进一步提升.

基于以上研究, 本文提出LCPM网络模型, 并修改了损失函数, 让模型重点关注局部上下文关键词特征. 最后让模型动态学习权重系数, 给局部上下文关键词特征和全局上下文特征分配不同的权重, 提取最终的特征, 使局部上下文关键词特征和全局上下文特征受益于彼此, 提升情感分类的性能.

3 LCPM模型

本文提出的LCPM模型主要由词嵌入层、特征提取层、特征融合层和输出层所组成, 以及由局部上下文关键词特征提取模块、门控融合模块、损失函数辅助模块这3大模块组成, 模型框架如图1所示.

图 1 LCPM模型图

3.1 任务描述

方面级情感分类任务可以视为是一个三分类任务. 给定一个含N个词的文本序列 ${W^c} = \{ {W^c_1}, {W^c_2}, \cdots, {W^c_N}\}$ K个方面词 ${W^a} = \{ {W^{{a_1}}}, {W^{{a_2}}}, \cdots, {W^{{a_k}}}\} $ , 每个方面词 ${W^{{a_i}}} = \{ W_1^{{a_i}}, W_2^{{a_i}}, \cdots, W_{{M_i}}^{{a_i}}\} $ 均出现在给定的序列中, 且 $ 1 \leqslant M < N $ . 方面词可以由一个或多个词组成. 本文任务是预测给定文本序列中每个方面词对应的情感极性 ${y_i} \in \{ + 1, 0, - 1\} $ . 其中, +1表示积极情感, 0表示中性情感, −1表示消极情感.

3.2 词嵌入层

网络评论文本通常篇幅较长, 此时根据上下文动态计算token是相当重要的. 自然语言处理任务先前常用Word2Vec作为词嵌入, Word2Vec对于同个token只有一种表示, 无法解决一词多义的问题, 并且缺乏对位置的建模, 考虑到DMF-GAT-BERT模型[6]也是采用BERT作为词嵌入, 为了公平对比, 本文使用BERT预训练模型作为词嵌入, 构建依赖于特定方面词的文本表示. BERT是基于Transformer的多层双向编码器结构, 可以同时使用前后两个方向的信息, 对输入文本数据进行整体感知, 面对不同文本中相同单词时, 可生成不同的词向量. BERT的输入向量, 是由词向量(token embeddings)、段向量(segment embeddings)、位置向量(position embeddings)所组成. BERT模型利用大规模无标注语料进行训练, 能够挖掘文本中丰富的语义信息. 为了便于模型训练, 将输入句子和方面词分别转换为“[CLS]+句子+[SEP]”和“[CLS]+句子+[SEP]+方面词+[SEP]”的形式, 作为BERT模型的输入, 生成局部上下文向量 $W_{{\rm{BERT}}}^l = \{ W_1^l, W_2^l, \cdots, W_{{N_l}}^l\}$ 和全局上下文向量 $W_{{\rm{BERT}}}^g = \{ W_1^g, W_2^g, \cdots, W_{{N_g}}^g\}$ , $W_{{\rm{BERT}}}^l \in {R^{{d_h}{{ \times }}{N_l}}}$ , $W_{{\rm{BERT}}}^g \in {R^{{d_h}{{ \times }}{N_g}}}$ , NlNg是局部上下文和全局上下文的长度, dh是词嵌入的维度.

3.3 特征提取层 3.3.1 句法依赖距离计算

本文通过Spacy工具包生成输入文本的句法依赖解析树. 以“but the staff was so horrible to us.”为例, 其句法依赖解析树如图2所示, 其中“staff”表示方面词, 箭头表示两个词存在句法依赖关系, 弧线中间的标签表示句法依赖关系的类型. 本文使用句法依赖解析树距离确定局部上下文区域, 重点关注名词、形容词、动词, 利用句法依赖关系以及词性充分提取与方面词有关的特征. 句法依赖解析树中每个词到方面词的路径称为句法依赖路径, 每个词到方面词可能存在多条路径, 把最短路径上边的个数定义为距离. 如“to”到“staff”路径为“to”→“horrible”→“was”→“staff”, 该路径上总共有3条边, 所以“to”到“staff”的距离为3. 如果方面词由多个词组成, 则距离定义为每个词到方面词子词距离的平均值.

图 2 句法依赖解析树

3.3.2 局部上下文关键词特征提取模块

在语言学中, 词性是指以词的特点划分词类, 以语法特征为主要依据, 兼顾单词的含义, 对词进行划分的结果. 本文使用NLTK工具包对输入文本中的每个词进行词性标注. 本文提出的局部上下文关键词掩码, 主要计算每个词相对方面词在句法依赖解析树上的距离, 当距离小于等于给定阈值时认为是局部上下文, 对局部上下文中的词进行保留, 即一次掩码. 然后聚焦局部上下文内的形容词、名词、动词, 即二次掩码, 防止噪声词影响情感极性判断. 这是因为在局部上下文中, 由于不同词性的词对方面词的情感极性影响不同, 如果保留所有词性的词, 会引入较多的噪音信息, 影响模型训练. 本文提出的局部上下文关键词掩码会掩盖输入序列中与方面词不相关的上下文词, 抛弃语义较少的词的特征, 重点关注局部上下文关键词信息, 减少冗余信息的影响.

掩码过程如图3所示, 式(1)–式(3)是生成掩码矩阵, 式(4)是 $W_{{\rm{BERT}}}^l$ 经过掩码后的特征.

图 3 局部上下文关键词掩码

$ P = \{ {\rm{ADJ}}, \;{\rm{NOUN}},\; {\rm{VERB}}\} $ (1)
$ {V_i} = \left\{ {\begin{array}{*{20}{l}} {E,{\text{ }}{{{d}}_i} \leqslant \partial \cap {T_i} \in P} \\ O,\; {d_i} \gt \partial \cup \{{d_i} \leqslant \partial \cap {T_i} \notin P\} \end{array}} \right. $ (2)
$ M = [{V_1}, {V_2}, \cdots, {V_{{N_l}}}] $ (3)
$ {W_{{\rm{LCPM}}}} = W_{{\rm{BERT}}}^l \odot M $ (4)

其中, di表示每个词相对方面词在句法依赖解析树上的距离, ${V_i} \in {R^{{d_h}{{ \times }}1}}$ , $M \in {R^{{d_h}{{ \times }}{{{N}}_l}}}$ . $O \in {R^{{d_h}{{ \times 1}}}}$ , $ E \in {R^{{d_h}{{ \times 1}}}} $ 代表全0和全1向量, ${W_{{\rm{LCPM}}}} \in {R^{{d_h}{{ \times }}{N_l}}}$ , dh是隐藏层的维度.

图3, 如果 $\partial $ 设置为3, 当 ${d_i} \leqslant 3$ 时, 认为是局部上下文区域, 在局部上下文区域中重点关注名词、形容词、动词, 注重局部上下文关键词特征.

3.3.3 MHSA编码器

提取输入向量的语义特征通过注意力机制实现的, 注意力机制是从大量信息中有筛选出重要信息, 并聚焦到这些信息上, 忽略不重要的信息. 多头注意力机制是集成多个注意力函数, 用于计算每个上下文单词的注意力分数, 提取语义特征. 自注意力函数使用的是带缩放的点积注意力(scaled dot-product attention, SDPA), 因为计算效率和安全性较高. 为了缓解上下文中距离较远的词的负面影响, 主要是根据Query (Q)与Key (K)之间的匹配度来对Value (V)进行加权, 且Query、Key、Value都来自于输入, 如式(5)所示:

$ {\textit{SDPA}} = {\textit{Softmax}}\left(\frac{{Q \cdot {K^{\rm{T}}}}}{{\sqrt {{d_k}} }}\right) \cdot V $ (5)

本模块使用的是多头自注意力机制, 即把每个注意力头学习到的注意力表示拼接起来, 再乘以权重矩阵Wh . 多头自注意力机制主要是由多个SDPA所组成, 可并行化计算多次的注意力, 同时关注多个子空间上的特征, 式(6)–式(10)是多头自注意力的计算流程.

$ Q = X \cdot W_q $ (6)
$ K = X\cdot W_k $ (7)
$ V = X\cdot W_v $ (8)
$ {H_i} = Attention(Q, K, V) $ (9)
$ {\textit{MHSA}}(X) = {{\rm{tanh}}} (Concat({H_1}, {H_2}, \cdots, {H_h}) \cdot {W_h}) $ (10)

其中, X是输入的embedding, ${W_q} \in {R^{{d_h}{{ \times }}{{{d}}_q}}}$ , ${W_k} \in {R^{{d_h}{{ \times }}{{{d}}_k}}}$ , ${W_v} \in {R^{{d_h}{{ \times }}{{{d}}_v}}}$ , ${d_q} = {d_k} = {d_v} = {d_h}/h$ , dh是隐藏层的维度, h是注意力头的个数, Wq, Wk, Wv是权重矩阵, 这些权重矩阵是可训练的. Hi表示每个注意力头学习到的注意力表示.

本文将tanh激活函数应用于MHSA编码器中, 可以更充分提取局部上下文关键词特征Hl. 获取Hl如式(11)所示:

$ {H_l} = {\textit{MHSA}}({W_{{\rm{LCPM}}}}) $ (11)

经过词性筛选和MHSA编码提取的局部上下文关键词特征, 可聚焦局部范围内的形容词、名词、动词. 然而, 有时会忽视一些重要的全局上下文特征. 因此, 本文使用BERT模型提取全局特征, 再使用MHSA进行特征增强, 得到全局上下文特征Hg, 如式(12)所示. Hg对局部上下文关键词特征进行补充, 增强特征质量, 提升方面级情感分析的性能.

$ {H_g} = {\textit{MHSA}}(W_{{\rm{BERT}}}^g) $ (12)
3.4 特征融合层

LCPM模型的特征融合层主要是基于门控特征融合机制实现的, 如图4所示. Gate1主要是拼接局部上下文关键词特征Hl及全局上下文特征Hg, 输入到Sigmoid函数中得到权重系数, 权重系数值在0, 1之间, 如式(13)和式(14)所示. 池化函数提取最终的局部上下文关键词池化特征 $H_l^{{\rm{pool}}}$ 和全局上下文池化特征 $H_g^{{\rm{pool}}}$ , 如式(15)和式(16)所示. Gate2是给 $H_l^{{\rm{pool}}}$ 分配 $1 - \varphi $ 权重系数, 得到特征 $H_l^{'}$ , 如式(17)所示. Gate3是给 $H_g^{{\rm{pool}}}$ 分配 $\varphi $ 权重系数, 得到特征 $H_g^{'}$ , 如式(18)所示. Gate4是融合 $H_l^{'}$ $H_g^{'}$ 的特征, 得到完整的情感特征 $H_{lg}^{'}$ , 如式(19)所示.

$ {H_{lg }} = Concat({H_{\text{l}}}, {H_g}) $ (13)
$ \varphi = {\textit{Sigmoid}}({W_{lg }}{H_{lg }} + {b_{lg }}) $ (14)
$ H_l^{{\rm{pool}}} = pool({H_l}) $ (15)
$ H_g^{{\rm{pool}}} = pool({H_g}) $ (16)
$ H_l^{'} = (1 - \varphi ) \odot H_l^{{\rm{pool}}} $ (17)
$ H_g^{'} = \varphi \odot H_g^{{\rm{pool}}} $ (18)
$ H_{lg }^{'} = H_l^{'} + H_g^{'} $ (19)

其中, Concat是特征拼接函数, ${H_{lg }}$ 是拼接后的特征, ${W_{lg }}$ 是权重矩阵, $\varphi $ 是权重系数, $H_l^{{\rm{pool}}}$ 是局部上下文关键词池化特征, $H_g^{{\rm{pool}}}$ 是全局上下文池化特征, $H_l^{'}$ $H_g^{'}$ 是分配权重系数后的特征, $H_{lg }^{'}$ 是完整的融合特征.

图 4 门控融合模块

3.5 输出层 3.5.1 LCPM的损失函数

本文把预测局部上下文关键词掩码矩阵作为辅助信息, 使模型充分利用局部上下文关键词特征, 增强特征提取能力. 预测LCPM矩阵值可以视作为分类任务. LCPM损失函数定义如式(20)所示.

$ {L_{{\rm{LCPM}}}} = - \sum\limits_1^{{c{'}}} {\sum\limits_1^l \hat t{{\log }_2}p } $ (20)

其中, ${c{'}} = 2$ , ${c{'}}$ 是LCPM标签类型的数量, $\hat t \in \{ 0, 1\}$ , 正类为1, 负类为0, p是预测为正类的概率, l是输入文本的长度.

3.5.2 分类器

本文使用全连接网络作为分类器, 将融合特征 $H_{lg }^{'}$ 作为输入, 对融合特征进行线性变化, 得到 $H_{lg }^Y$ $H_{lg }^T$ , 再使用Softmax函数计算出每个情感类别的概率, 预测情感值如式(23)所示, 预测LCPM标签值如式(24)所示.

$ H_{lg }^Y = W_{lg }^YH_{lg }^{'} + b_{lg }^Y $ (21)
$ H_{lg }^T = W_{lg }^TH_{lg }^{'} + b_{lg }^T $ (22)
$ Y = {\textit{Softmax}} (H_{\lg }^Y) = \frac{{\exp (H_{lg }^Y)}}{{\displaystyle\sum\nolimits_{k = 1}^C {\exp (H_{lg }^Y)} }} $ (23)
$ T = {\textit{Softmax}} (H_{lg }^T) = \frac{{\exp (H_{lg }^T)}}{{\displaystyle\sum\nolimits_{k = 1}^{{C{'}}} {\exp (H_{lg }^T)} }} $ (24)

其中, C是情感类别的数量, C'是LCPM标签类别的数量, Y是预测的情感值, T是预测的LCPM标签值, $W_{lg }^Y$ $W_{lg }^T$ 是权重矩阵, $b_{lg }^Y$ $b_{lg }^T$ 是偏置矩阵.

模型采用交叉熵作为损失函数, 并引入L2正则化防止模型过拟合, 如式(26)所示.

$ {L_s} = - \sum\limits_1^C {\hat y{{\log }_2}{p{'}}} $ (25)
$ L=(1-\epsilon){L}_{s}+\epsilon{L}_{{\rm{LCPM}}}+\lambda {\displaystyle \sum _{\theta \in \Theta }{\theta }^{2}} $ (26)

其中, ${L_s}$ 是预测情感极性的损失函数值, C是情感类别的数量, p′是属于某个情感类别的概率, 属于某个类别时 $\hat y = 1$ , 否则 $\hat y = 0$ , ϵ是损失函数权重系数, $\lambda > 0$ , $\Theta $ 是参数集合.

4 实验 4.1 数据集与评价指标

为了验证LCPM模型的有效性, 从SemEval 2014中选取Restaurant、Laptop数据集, 以及选取Twitter、MAMS数据集进行实验. 这些数据集中的每个样本都包含一个或多个方面词, 每个方面词都标注有对应的情感极性, 情感极性分为积极、消极、中性3类. 根据实验结果, LCPM模型在这些数据集上性能有显著提升, 准确率和MF1值提升明显. 这表明LCPM模型不只适用于特定的数据集, 而且在大多数数据集上都表现良好. 这是由语言特性所决定的, 人们在社交软件上评论时, 展示方面词对应情感极性的词通常都是在方面词附近的, 并且这些词大多是名词、形容词和动词. 大多数模型都选取以上数据集进行实验, 这些数据集具备一定的权威性. 数据集具体统计信息如表1所示, Train表示训练集, Test表示测试集.

表 1 实验数据统计

本实验采用准确率(Acc)和宏平均F1值(MF1)作为评估指标, Acc表示正确分类的正样本数和负样本数之和占总样本数的比例, 比例越高代表模型分类的性能越好. MF1值是各个类别F1值的平均值, 能体现模型在不平衡数据集上的平均性能, 式(27)是计算准确率, 式(28)–式(31)是MF1值的计算流程.

$ Acc = \frac{{TP + TN}}{{TP + FP + FN + TN}} = \frac{{TP + TN}}{N} $ (27)
$ P = \frac{{TP}}{{TP + FP}} $ (28)
$ R = \frac{{TP}}{{TP + FN}} $ (29)
$ F1 = \frac{{2 \times {\text{P}} \times R}}{{P + R}} $ (30)
$ MF1 = \frac{1}{C}\sum\limits_{i = 1}^C {F{1_i}} $ (31)

其中, TP是将正类预测为正类的样本数, FN是将正类预测为负类的样本数, FP是将负类预测为正类的样本数, TN是将负类预测为负类的样本数. PR分别是精准率和召回率, C为情感类别数.

4.2 参数设置与实验环境

LCPM模型的超参数设置如表2所示, 本文选用BERT预训练的词向量作为词嵌入, 词嵌入维度为768. 训练过程使用Adam进行参数优化. 为防止过拟合, 设置dropout为0.5, L2正则化值为5×10−4. 实验环境如表3所示.

表 2 LCPM模型超参数设置

表 3 实验环境

4.3 对比实验 4.3.1 对比模型

为了验证LCPM模型的性能, 本文将该模型和一系列最先进的模型进行对比.

PhraseRNN[17]: 通过添加两个短语组成函数, 并使用依赖树和成分树作为输入, 提取深层情感特征.

RAM[18]: 在LSTM网络基础上使用多层注意力来捕获距离较远的情绪特征, 增强模型的表达能力.

SynAttn[19]: 根据单词间的依存关系, 构建图神经网络, 再与LSTM网络结合, 捕获方面词相关的信息.

MGAN[15]: 考虑方面词和上下文的注意力, 并提出了一种loss计算, 将粗粒度特征与细粒度特征结合, 充分考虑方面词和上下文的关系.

CDT[3]: 提出一种依存树与卷积结合的模型, 利用双向长短期记忆网络来提取句子特征, 并利用依存树和图卷积网络结合来增强词嵌入.

ASGCN[1]: 提出了一种情感分类框架, 在依存树基础上建立图卷积网络, 充分利用句法信息和单词依存关系, 并额外使用注意力机制获取最终的特征表示.

BERT-PT[20]: 提出了后训练方法, 提高BERT模型微调的效果, 并应用到方面级情感分析任务上.

TD-GAT-BERT[21]: 根据上下文单词间的依存关系, 建立图注意力网络, 再把图注意力网络和LSTM网络相结合, 捕获与方面词有关的特征.

AEN-BERT[16]: 使用注意力机制建立上下文和方面词之间的关系, 提出了标签不可靠性问题且引入了标签平滑正则化, 并将BERT模型应用到方面级情感分析任务上.

FDDN-BERT[22]: 将提取情感特征细化为初步蒸馏和精细蒸馏两大过程, 过滤和方面词不相关的冗余特征.

RGAT-BERT[5]: 把句法解析树作为邻接矩阵, 输入到图注意力网络中, 提取句法依存特征, 并把该特征与双向长短期记忆网络提取的特征进行融合, 使模型具备提取丰富的语法知识的能力.

DMF-GAT-BERT[6]: 设计双层动态融合模块融合3个通道的语义特征, 并利用注意力集成模块整合GAT提取的多层特征, 提高情感极性识别准确率.

4.3.2 实验结果

表4为LCPM模型在常见4个数据集上的对比实验结果, 本文提出的模型准确率AccMF1值均优于基线模型, LCPM模型在Restaurant、Laptop、Twitter、MAMS数据集上准确率分别提升了1.22%、1.28%、0.54%、0.3%, MF1值分别提升了1.9%、1.19%、0.54%、0.33%. 这是因为模型充分考虑了局部上下文关键词的特征, 并且本文设计的损失函数辅助模块有助于关键词特征提取, 充分考虑了对情感极性判断贡献较大的关键词的特征. 其中, LCPM模型在Restaurant数据集上提升了1.22%的Acc和1.9%的MF1值, 而在Twitter和MAMS数据集上提升不大, 这是因为这两个数据集文本的语法和结构相对混乱, 导致LCPM模型无法准确提取局部上下文关键词的特征, 可看出关键词特征的重要性. 此外可以看出, 局部上下文关键词特征与全局上下文特征进行加权融合, 能显著增强模型总体的信息容纳能力和语义表达能力, 准确分析方面词对应的情感极性.

表 4 对比实验结果图(%)

4.4 消融实验

为了验证本文设计的3大模块的重要性, 本文设计了一系列消融实验, 在Restaurant和 Laptop数据集上观察实验结果. 单独去掉局部上下文关键词特征提取模块、损失函数辅助模块、门控融合模块, 做消融实验. 从表5的实验结果表明, 本文设计的3大模块对模型性能的提升均有影响, 其中局部上下文关键词特征提取模块对模型性能的影响最大, 这充分说明了学习局部上下文关键词特征是十分重要的, 因为局部上下文关键词蕴含着丰富的情感信息, 可以增强特征的语义表达能力. 此外, 本文设计的损失函数辅助模块对模型性能也有一定的影响, 因为该模块可以有效增强模型提取关键词特征的能力. 最后移除了门控融合模块, 模型的性能会降低, 这充分说明了局部上下文关键词特征与全局上下文特征进行加权融合对于模型的性能提升是十分重要的. 3大模块相互补充, 可以显著提升模型总体的语义表达能力.

表 5 消融实验结果图(%)

4.5 参数分析 4.5.1 损失函数权重系数

LCPM模型引入了一个额外的超参数ϵ, ϵ是损失函数权重系数. 为了探讨不同的ϵ对模型性能的影响. 本文在Restaurant、Laptop数据集上开展了实验, 设置了不同的ϵ值, 以分析ϵ对模型性能的影响, ϵ从0开始逐渐增加至0.9, 步长为0.1. 如图5图6所示, 结果表明, 当ϵ = 0.3时模型性能最好.

图 5 损失函数权重系数对准确率的影响

图 6 损失函数权重系数对MF1的影响

4.5.2 局部上下文阈值

局部上下文阈值di是影响局部关键词特征提取的重要因素. 为了找到合适的阈值, 本文通过实验讨论了di对Restaurant、Laptop数据集的影响. 从图7图8中可以看出, 当di为1、2时, 模型的准确率和MF1值比较低. 显然, 当di值较小时, 模型没有充分学习到局部上下文关键词的特征. 当di=3时, 模型在以上数据集的准确率和MF1值达到最佳, 这是因为模型提取到与方面词相关的信息, 避免全局上下文冗余信息的干扰, 增强了特征表示. 而随后随着di的增加, 模型性能也较差, 呈现振荡下降趋势, 这说明当局部上下文阈值di一旦超出最佳值, 继续增加时, 会给模型带来额外的噪声信息, 影响模型的性能. 因此, 本文将局部上下文阈值di设置为3.

4.5.3 词性筛选

为了进一步说明本文提出的词性筛选机制的有效性, 本文对比了不加词性筛选的效果, 即当句法依赖树距离小于等于局部上下文阈值时保留该词的特征, 相当于提取全部的局部上下文特征, 模型的输出结果对比如表6所示. 显然, 模型增加词性筛选后, 在Restaurant、Laptop数据集上准确率分别提升了1.34%、2.19%, MF1值分别提升了2.12%、2.53%. 这说明了挖掘局部上下文中关键词的语义信息有助于提升方面级情感分析的性能. 因为在局部上下文中, 名词、形容词、动词这类词往往包含着评论者的语气和情绪. 本文重点关注局部上下文中的动词、名词、形容词, 与其他类别的词进行区分, 有效提升情感分类模型的性能, 减少噪声词的影响.

图 7 局部上下文阈值对准确率的影响

图 8 局部上下文阈值对MF1的影响

表 6 词性筛选的影响(%)

4.6 案例分析

LCPM模型重点关注方面词周围重要词的特征. 为研究LCPM模型的有效性, 将该模型的注意力权重可视化以便于分析. 如图9所示, 颜色越深表示注意力权重值越大. 以句子“but the staff was so horrible to us.”为例, 这句话方面词是“staff”. 在图9中, “staff”“was”“horrible”的颜色较深, 表明这些词对方面词“staff”的影响较大, 这些词往往能够决定方面词对应的情感极性, 而其他词颜色较浅, 表明这些词对方面词的影响较小. 这验证了LCPM模型重点关注局部上下文中关键词的特征, 加强文本中重要词汇对情感分析的影响, 避免冗余信息的干扰.

图 9 注意力权重可视化

5 总结

针对方面级情感分析任务, 本文创新地提出了一种基于局部上下文关键词特征提取及增强的方面级情感分析模型LCPM, 模型重点关注局部上下文中形容词、名词、动词等特征, 避免全局上下文冗余信息的干扰. 为了进一步让模型注重与方面词有关联的局部上下文关键词特征, 本文对损失函数进行修改, 把预测局部上下文关键词掩码矩阵作为辅助信息, 准确地提取局部上下文中与方面词强相关的重要词的特征. 为了得到更全面的情感特征, 本文设计了一种门控机制, 模型可以动态学习权重系数, 给局部上下文关键词特征和全局上下文特征分配不同权重. 在4个公开数据集实验结果表明, 与其他常见的方面级情感分析模型对比, 本文提出的LCPM模型在方面级情感分析任务上性能更优, 能够准确提取用户所表达的情感信息. 未来工作可以增加一些辅助信息确定局部上下文阈值di, 也可以进一步探索损失函数优化方式, 同时把LCPM模型应用到方面级情感分析的其他子任务上.

参考文献
[1]
Zhang C, Li QC, Song DW. Aspect-based sentiment classification with aspect-specific graph convolutional networks. Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Hong Kong: ACL, 2019. 4568–4578.
[2]
Ma DH, Li SJ, Zhang XD, et al. Interactive attention networks for aspect-level sentiment classification. Proceedings of the 26th International Joint Conference on Artificial Intelligence. Melbourne: IJCAI.org, 2017. 4068–4074.
[3]
Sun K, Zhang RC, Mensah S, et al. Aspect-level sentiment analysis via convolution over dependency tree. Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Hong Kong: ACL, 2019. 5679–5688.
[4]
Wang K, Shen WZ, Yang YY, et al. Relational graph attention network for aspect-based sentiment analysis. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. ACL, 2020. 3229–3238.
[5]
Bai XF, Liu PB, Zhang Y. Investigating typed syntactic dependencies for targeted sentiment classification using graph attention neural network. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2020, 29: 503-514. DOI:10.1109/taslp.2020.3042009
[6]
Zhou XT, Zhang T, Cheng C, et al. Dynamic multichannel fusion mechanism based on a graph attention network and BERT for aspect-based sentiment classification. Applied Intelligence, 2022, 1-14. DOI:10.1007/s10489-022-03851-3
[7]
Liu BW, Blasch E, Chen Y, et al. Scalable sentiment classification for big data analysis using naive Bayes classifier. Proceedings of the 2013 IEEE International Conference on Big Data. Silicon Valley: IEEE, 2013. 99–104.
[8]
Kaji N, Kitsuregawa M. Building lexicon for sentiment analysis from massive collection of html documents. Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning. Prague: ACL, 2007. 1075–1083.
[9]
Kim Y. Convolutional neural networks for sentence classification. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Doha: ACL, 2014. 1746–1751.
[10]
Cho K, Van Merriënboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Doha: ACL, 2014. 1724–1734.
[11]
Tang DY, Qin B, Feng XC, et al. Effective LSTMs for target-dependent sentiment classification. Proceedings of the 26th International Conference on Computational Linguistics: Technical Papers. Osaka: The COLING 2016 Organizing Committee, 2016. 3298–3307.
[12]
Sukhbaatar S, Szlam A, Weston J, et al. End-to-end memory networks. Proceedings of the 28th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2015. 2440–2448.
[13]
Kipf TN, Welling M. Semi-supervised classification with graph convolutional networks. 5th International Conference on Learning Representations. Toulon: OpenReview.net, 2016.
[14]
Huang BX, Ou Y, Carley KM. Aspect level sentiment classification with attention-over-attention neural network. Proceedings of the 2018 International Conference on Social Computing, Behavioral-cultural Modeling and Prediction and Behavior Representation in Modeling and Simulation. Washington, DC: Springer, 2018. 197–206.
[15]
Fan FF, Feng YS, Zhao DY. Multi-grained attention network for aspect-level sentiment classification. Proceedings of the 2018 Conference on Empirical Methods in Natural Language. Brussels: ACL, 2018. 3433–3442.
[16]
Song YW, Wang JH, Jiang T, et al. Targeted sentiment classification with attentional encoder network. Proceedings of the 2019 International Conference on Artificial Neural Networks. Munich: Springer, 2019. 93–103.
[17]
Nguyen TH, Shirai K. PhraseRNN: Phrase recursive neural network for aspect-based sentiment analysis. Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Lisbon: ACL, 2015. 2509–2514.
[18]
Chen P, Sun ZQ, Bing LD, et al. Recurrent attention network on memory for aspect sentiment analysis. Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. Copenhagen: ACL, 2017. 452–461.
[19]
Nguyen HT, Le Nguyen ML. Effective attention networks for aspect-level sentiment classification. Proceedings of the 2018 10th International Conference on Knowledge and Systems Engineering (KSE). Ho Chi Minh: IEEE, 2018. 25–30.
[20]
Xu H, Liu B, Shu L, et al. BERT post-training for review reading comprehension and aspect-based sentiment analysis. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Minneapolis: ACL, 2019. 2324–2335.
[21]
Huang BX, Carley KM. Syntax-aware aspect level sentiment classification with graph attention networks. Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Hong Kong: ACL, 2019. 5469–5477.
[22]
宋威, 温子健. 基于特征双重蒸馏网络的方面级情感分析. 中文信息学报, 2021, 35(7): 126-133. DOI:10.3969/j.issn.1003-0077.2021.07.015