基于图卷积网络的短文本情感分类标注

2022-12-03 01:56佘久洲叶施仁
计算机应用与软件 2022年11期
关键词:注意力卷积向量

佘久洲 叶施仁 王 晖

(常州大学信息科学与工程学院 江苏 常州 213164)

0 引 言

当前互联网已经成为了当今时代信息传播和获取的主要渠道,截至2019年6月,我国网民数已达8.54亿,普及率达61.2%。大量互联网用户促进了互联网产业的飞速发展,微博、微信和电商等平台应运而生。人们在平台上发表自己的观点,平台中交织的观点又无形中影响着用户彼此。对网络短文本进行情感分类或意见挖掘,可以发现网络中人们的观点和情绪,评估用户对产品、组织等实体的态度,具有重要的现实意义。承载用户意见的网络短文本与日常生活相关,具有逻辑复杂、情感丰富和时效性强的特点。基于深度学习的模型不仅能学习非线性的复杂关系,而且能学习数据中隐藏关系。尤其是基于注意力机制的卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)模型在网络短文本的情感分类任务上取得了很好的效果[1-2]。

然而,在CNN和RNN模型中引入注意力机制后,依然容易忽略词语间的依赖关系。即当句子中存在多个情感极性不一致的短语时,模型的情感分类准确率会受到影响。例如,对语句“Frenetic but not really funny.”进行情感分类时,CNN和RNN模型是将句子看作是词的序列组合,但句子中词语间的隐藏联系(依赖关系、词性标签等)却容易被忽略。此时,CNN和RNN模型均能较好地找到句中情感词“Frenetic”和“funny”,但基于CNN的模型只能通过卷积操作获取局部特征,忽略了例句中距离较远词“not”和“funny”共现的特征;基于RNN的模型由于容易忽略局部特征对整体情感的影响,此时例句中的情感词“Frenetic”和“funny”被注意力分配合适的权重,但过渡词“but”和否定词“not”却被注意力机制给忽略,从而导致情感极性判断出错。

在自然语言处理领域中,由于词嵌入(Word Embedding)的文本文档是一种非欧几里得的数据,数据中异构成对关系可以通过图(Graph)表示[3]。并且,由于树形模型与句子结构中句法解释之间的关系,所以树形模型是一种非常有吸引力的语言选择[4]。构建依赖关系树,如图1所示。可以发现例句1中“but”作为转折词修饰的对象是“Frenetic”,而非连续的情感词“Frenetic”和“funny”产生了并列联系,说明“funny”词对整句的情感极性影响最大。但由于“not really”作为否定状语修饰的对象是“funny”,所以整体情感极性为消极。为将词语间的依赖关系引入文本情感分类任务,需要保持词语间的树状依赖特征。基于语义依赖树进行计算,但CNN和RNN都不能直接计算语义依赖树。

图1 例句的依赖关系

Kipf等[5]在ICLR上提出了图卷积网络(Graph Convolutional Network,GCN)用于引文网络(Citation Network)数据集的分类任务。GCN是一种处理图数据(Graph Data)的多层神经网络,每一层都使用近邻特征(Features of Immediate Neighbors)去编码和更新图中的节点表征(Node Representation)。因树是一种特殊的图,所以在利用GCN处理例句1的情感极性时,由于依赖关系的制约,近邻特征的使用受到限制。即当编码词节点“Frenetic”表征时,词节点“but”和“funny”的特征会被使用;而当编码词节点“funny”的表征,只会考虑到依赖关系上近邻特征“not”和“really”。通过依赖关系的约束,情感词的表征得到重新编码,过滤与情感词无依赖关系的近邻特征,因而情感分类的准确率得到提高。

基于该思想,本文提出一种基于图卷积网络的分类模型——SAGCN模型(Sentiment Analysis using Graph Convolutional Network)用于处理文本情感分类任务。模型首先根据句子的依赖树(Semantic Dependency Tree)得到词语间的依赖关系,并利用双向长短时记忆网络从文本数据中提取句子表征。其次利用图卷积网络结合依赖关系对句子表征进行编码得到节点表征。然后结合注意力机制,利用节点表征重新分配句子表征的情感权重,并输入到全连接层,最终通过判别器判定句子的情感倾向。在情感分类基准数据集上的结果表明,采用SAGCN模型具有较高的准确率和良好的泛化性能。

1 相关工作

1.1 情感分类

情感分类任务作为自然语言处理领域的研究热点之一,根据处理的文本粒度不同,一般分为三个层次:篇章级(Document Level)、句子级(Sentence Level)和方面级(Aspect Level)[6]。对给定的评论文本,情感分析将文本分为积极(Positive)、消极(Negative)两类情感,也可以根据实际需求进一步细分为非常积极(Very Positive)、积极(Positive)、中立(Neutral)、消极(Negative)和非常消极(Very Negative)五类情感[7]。因此,情感分析可以是两分类问题,也可以是五分类问题。近年来,随着深度学习的兴起,利用大规模语料库,基于深度学习的模型能自动学习特征,摒弃了特征工程的弊端,在情感分类任务上取得了很好的效果。其中,Santos等[8]基于单词的构造(即以构成单词的字母为单位),提出CharCNN(Character to Sentence Convolutional Neural Network)模型。CharCNN模型以CNN为基础,采用两个并行的卷积层分别学习单词的构造特征和句子的语义特征。Wang等[9]在LSTM(Long Short-Term Memory)的基础上,结合词向量算法,通过模拟词语在合成过程中的相互作用,完成了对Twitter数据集进行情感两分类。

Bahdanau等[10]将注意力机制引入机器翻译中,在处理有限资源时注意力机制可以集中关注影响较大的部分,解决了翻译时由于语句过长导致上下文依赖关系丢失的问题。注意力机制引入情感分类领域后,在处理逻辑复杂语句时,注意力机制可以分配不同语义特征的权重,提高分类任务的准确率。Er等[11]在CNN的基础上,提出APCNN(Attention Pooling-based Convolutional Neural Network)模型。该模型利用卷积层生成的局部特征与Bi-LSTM(Bidirectional LSTM)层生成的全局特征进行注意力权重的计算,从而保留特征的位置信息和强度信息,增强语义特征的提取。Gao等[12]在LSTM的基础上,提出AB-BiLSTM(Attention-based BiLSTM with POS Embeddings)模型。该模型使用Bi-LSTM层分别从词嵌入(Word Embedding)和词性嵌入(POS Embedding)中提取文本特征和词性特征,利用注意力机制分别将文本特征和词性特征进行权重计算,从而保留词性信息对整体语句的情感影响。

1.2 图神经网络

基于CNN和RNN的模型是将句子看作是词的序列组合,但忽略了词语之间的关联(依赖关系、词频等)。通过将句子转为文本图表示(Text Graph),每个词看作是一个节点,词语之间的关联便是节点的边,词语间的关联得到保留。文本图已被广泛运用于自然语言处理领域中各类任务,如关键词提取、文本分类等。最近的一些研究尝试将CNN和RNN模型运用到图数据上[13-14]。其中,Defferrard等[3]在CNN的基础上,提出Graph-CNN-C模型。该模型通过修改卷积核和池化的计算,将CNN扩展到非欧几里得领域,在手写数字识别和文本分类任务上取得良好成绩。Tai等[4]在LSTM的基础上,提出Dependency Tree-LSTM模型。该模型利用当前输入隐藏向量和任意子节点的状态隐藏向量来计算当前状态隐藏向量,在情感分类任务上取得良好成绩。尽管上述方法展示了文本图的重要性,但这类方法仍存在计算效率低下、特征提取困难的问题。

在神经网络的相关研究中,图神经网络[15](Graph Neural Network,GNN)能处理图数据,将传统神经网络(CNN、RNN)扩展到非欧几里得领域。图卷积网络作为图神经网络最常见的模型。不仅完善了计算效率低的问题,而且提高了特征提取的能力,已逐渐成为学者的研究热点之一[16-17]。其中,Kipf等[5]简化切比雪夫多项式的计算,提出一阶(First-Order)图卷积网络模型。该模型通过考虑步长K=2的节点对中心节点的影响,降低了运算复杂度,减少局部领域结构(Local Neighborhood Structures)过拟合的问题,在引文数据集上取得了优异的成果。Yao等[18]将PMI(Pointwise Mutual Information)算法与TF-IDF算法结合,提出Text-GCN模型。该模型将文本和单词看作节点,采用One-hot Representation方法构建词向量,利用PMI和TF-IDF计算文本与单词、单词与单词之间的关联权重,构文本图和建邻接矩阵。在文本分类任务上得到了比传统神经网络更为突出的结果。Chen等[19]在GCN的基础上,提出GCNSA模型。该模型将方面作为图中特定区域,构建文本图。利用GCN对图数据进行卷积计算得到全文的隐藏状态,同时利用结构注意力模型(Structural Attention Model),提取特定区域的信息,并使用平均池化的方法过滤隐藏状态中与特定区域信息无关的特征,在方面级的文本情感五分类任务上取得良好的成果。

2 基于图卷积网络的短文本情感分类模型

因此,为了解决CNN和RNN模型无法直接计算依赖树的问题,本文使用GCN去处理具有依赖关系的树。同时,为了解决GCN忽略词序的问题,本文引入Bi-LSTM来生成具有词序信息的句子表征。两层的GCN运算过程如图2所示。

图2 两层GCN的运算过程

在预处理阶段,利用句法分析工具,整句被构建为语义依赖树,通过分析词节点间是否存在依赖关系(即节点间的边),可以计算得到GCN使用的邻接矩阵A。同时,考虑到词序对情感特征的影响,使用Bi-LSTM层产生的含有单词及其特征的句子表征,可作为GCN的特征矩阵X。当GCN对词节点进行卷积操作时,由于依赖关系的约束,情感词的表征得以重新编码,过滤与情感词无依赖关系的近邻特征,得到具有依赖关系的节点表征。此时,在计算情感特征的权重时,注意力机制不仅可以考虑到词序对情感特征的影响,而且能考虑到依赖关系对情感特征的影响,因此可以提高情感分类的准确率,增强可解释性。

基于该思想,提出基于图卷积网络的情感分类模型。该模型主要由四个部分组成,如图3所示。第一部分是利用GloVe算法[20]将单词转为向量表示(即词向量),同时利用句法分析工具分析词语间的依赖关系得到依赖树;第二部分通过Bi-LSTM提取词向量特征(即文本特征),得到句子表征,同时GCN根据依赖关系编码句子表征得到具有依赖关系的节点表征;第三部分是句子表征和节点向量通过注意力机制得到不同的语义编码向量,每个向量代表了不同维度的语义信息;第四部分是通过判别器判定情感极性。

图3 面向情感分类的图卷积网络模型

2.1 任务定义

对于一个句子C={w1,w2,…,wn}及其对应的情感标签Y,其中:wi表示句子C中第i个单词;n为句子C的长度,则句子的最终情感极性判定计算过程如下:

式中:θ表示模型所涉及的参数;f(·)表示模型中的数学函数。

通过词向量算法将每个词wi转为词向量ei,使用GloVe算法[20]训练得到词向量查找表L∈R|V|×d,其中:|V|为单词的集合;d为词向量的维度。对于句中的单词可以通过查表的方式转为词向量:

ei=Lwi

(4)

此时,句子C的词向量矩阵为E={e1,e2,…,en},其中n为句子长度,且E∈Rn×d。同时,利用句法分析工具(Dependency Parser)将句子C构建成依赖树,此时每个词wi视为一个词节点。

2.2 Bi-LSTM的特征抽取

2.3 GCN层编码

首先通过分析依赖树中词节点间是否存在依赖关系(即节点间的边),可以构建句子C的邻接矩阵A。虽然依赖树是有方向的图,但GCN通常不考虑方向,却可以适用于方向感知的场景。所以本文提出两个变种SAGCN模型:基于有方向树的SAGCN-T(SAGCN-Tree)和基于无方向图的SAGCN-G(SAGCN-Graph)。SAGCN-T的邻接矩阵比SAGCN-G更稀疏。不同模型下例句1矩阵A的计算如图4所示。

图4 矩阵A的计算

本文中,GCN的层数l为2,采用X=HL。所以此时句子C的GCN输出计算过程如式(8)-式(10)所示。

2.4 注意力层

为了量化不同距离的单词对情感分类结果的影响,本文引入注意力机制对任意单词确定其权重值。在得到基于Bi-LSTM的输出隐藏向量HL后,结合GCN的输出隐藏向量利用注意力机制对单词进行加权,得到基于注意力机制的隐藏向量r。首先计算t时刻的注意力分值。

然后采用Softmax函数得到时刻的注意力权重分布ai。

最后,利用求得的注意力权重对隐藏向量HG进行加权求和,得到基于注意力机制的隐藏向量r。

2.5 分类层

在得到隐藏向量r后,将其输入到全连接层,并通过Softmax归一化层输出得到极性决策空间上的概率分布P∈Rdp。

p=Softmax(Wpr+bp)

(14)

式中:dp是标签的维数,权重Wp∈Rdp×2dh和偏置bp∈Rdp是通过学习得到。

2.6 模型训练

本文使用标准的反向传播算法[5]来训练模型,通过最小化交叉熵函数来优化模型,交叉熵的代价函数如下:

式中:n表示样本总量;k表示类别数;yi表示真实标签;pi表示预测标签;Θ表示所有可训练的参数;λ是L2正则化的参数

3 实验与结果分析

3.1 实验数据集

在情感分类任务中,本文使用三个基准数据集对模型进行评估,数据集的统计结果如表1所示。

表1 数据集分布

(1) SSTb-1:SSTb(Stanford Sentiment Treebank)数据集[8]的内容来源于在线影评,属于网络短文本。数据集包含情感实证的概率,可将情感分成非常消极、消极、中性、积极和非常积极五类。

(2) SSTb-2:情感两分类的SSTb。其中:中性的评论被删除;非常积极和积极的评论被标记为积极;消极和非常消极的评论被标记为消极。

(3) MR:MR(Movie Review Sentence Polarity Dataset)是一个用于情感两分类任务的数据集,包含5 331条正面情绪评论和5 331条负面情绪评论,采用文献[18]的方法划分数据集。

3.2 实验设置

本文使用SpaCy工具包中Dependency Parser工具构建文本的依赖关系树;词嵌入(Word Embedding)在送入模型训练前采用Dropout[21]减少过拟合,提升模型泛化能力。实验结果采用随机初始化运行,结果平均三次,以准确率和Macro-AveragedF1值作为评价指标,以验证模型在基线模型上取得改进是有效的。实验中各超参数设置在表2中给出。

表2 实验超参数设置

3.3 基准模型

为了比较和论证SAGCN模型的有效性,本文选择多个基准模型进行比较。

(1) CharCNN:Santos等[8]提出一种基于CNN的情感分类模型,该模型基于单词构造。

(2) LSTM:Wang等[9]定义的LSTM模型,使用最后一个隐藏状态作为全文表示。

(3) AB-BiLSTM:Gao等[12]提出一种基于注意力机制的Bi-LSTM的情感分类模型,文中仅使用词嵌入作为输入。

(4) Graph-CNN-C:Defferrard等[3]提出一种图CNN模型,该模型对词嵌入的相似图进行卷积操作。

(5) Text-GCN:Yao等[18]提出一种GCN模型,该模型将每个词看作是一个节点,利用TF-IDF和PMI计算词节点的边。

3.4 结果分析

表3给出了SAGCN模型与其他基准模型在数据集上执行情感分类标注的准确率。

表3 不同模型的准确率(%)

可以看出,本文所提出的SAGCN模型在情感两分类任务上的准确率均优于其他基准模型。与CharCNN的模型相比,SAGCN-G在两分类任务上的准确率分别提高了6.3百分点和3.5百分点,五分类任务上提高了3.3百分点。这是因为CharCNN只能通过卷积获取局部语义特征,而不同距离上的语义依赖关系对文本情感分类的影响较大。与Text-GCN相比,本文提出的模型在两分类任务上的准确率分别提高了7.0百分点和2.6百分点,五分类任务上提高了5.0百分点。这是因为在引入依赖关系后,通过注意力机制对情感词重新分配权重,提升了模型的分类准确率。与AB-BiLSTM模型相比,本文提出的模型在情感两分类任务上的准确率分别提高了3.2百分点和1.3百分点。可以看出基于注意力机制的模型在加入依赖关系后,两分类任务的准确率得到一定提升。同时不难发现,本文提出的SAGCN模型在五分类仅略低于AB-BiLSTM模型,这是因为GCN只考虑步长K=2的节点对中心节点的影响,并未考虑更大步长节点对中心节点的影响,这种影响容易造成语义的多层次信息丢失。

同时也可以看出,本文提出的SAGCN-G模型与SAGCN-T模型相比,在两分类数据集SSTb-2和MR上的准确率分别提高了2.7百分点和0.7百分点,五分类上的准确率提高了1.3百分点。这是由于来自父节点的信息与来自子节点的信息同样重要,因此将依赖树视为有方向的图容易导致信息丢失。

3.5 GCN层数的影响

由于本文所提出的SAGCN模型涉及一个l层的GCN网络,所以本文研究层数l对SAGCN-G结果的影响。词向量维度为300,层数l={1,2,3,4,6,8,10},在SSTb-2数据集上比较准确率和Macro-AveragedF1值,结果如图5所示。

(a)(b)图5 GCN层数影响

在这两个指标上可以看出,SAGCN-G在l层为2时达到最好的性能,表明了在实验部分中层数的选择是合理的。此外,可以看出随着l层数的增加,两个指数都呈下降趋势,当l=10时候,由于有大量超参数,所以SAGCN-G训练变得困难,此时的准确率和Macro-AveragedF1都大幅下降。

3.6 案例分析

为了更好地展示SAGCN-G是如何处理情感分类任务的,本文通过一组带有标签的英文短文本在SAGCN-G模型上的结果与文献中AB-BiLSTM(输入端仅使用Word Embedding)模型上的结果进行比较分析。例句见表4,其中,例句1中间存在过渡词“but”,“funny”前用“not”否定词强调,提高情感分类的难度。例句2中使用“while”、“still”等过渡词,同时还有否定句,容易导致模型做出错误的预测。

表4 例句

表5、表6分别展示了AB-BiLSTM模型和SAGCN-G模型的注意力得分情况以及对句子情感类别的预测和预测得分,句子的背景颜色越深,表示注意力得分越高,预测概率是预测情感类别的概率。

表5 例句1的结果

表6 例句2的结果

对例句1,AB-BiLSTM模型忽略了过渡词“but”和否定词“not”,注意力并未分配适当的权重对过渡词和否定词进行强调,所以AB-BiLSTM错误地判定情感极性。而SAGCN-G由于使用了词语间的依赖关系,注意力更好地关注到过渡词“but”和“not”上,因而情感极性判定正确。对例句2,两个模型均正确预测了句子的情感极性,但通过预测概率不难发现SAGCN-G处理例句2时,判定Positive的概率高于AB-BiLSTM,这是因为结合依赖关系,注意力机制对后半句分配了更大的权重,同时GCN在编码情感词“satisfying”的表征时,仅会考虑“ultimately”词节点的特征,忽略了前半段“not”词节点对“satisfying”的影响,提高了预测概率。图6展示了例句2中词语间的依赖关系。

图6 例句2的依赖关系

4 结 语

针对逻辑复杂、情感丰富、时效性强的网络短文本,本文提出一种基于图卷积网络的情感分类模型。该模型首先根据句子的依赖树得到词语间的依赖关系,并利用双向长短时记忆网络从文本数据中提取句子表征。其次利用图卷积网络结合依赖关系对句子表征进行编码得到节点表征。然后结合注意力机制,利用节点表征重新分配句子表征的情感权重,使模型可以更好地关注对情感极性影响大的部分,并输入到全连接层,最终通过判别器判定句子的情感倾向。实验结果表明,本文提出的模型与其他模型相比在情感两分类任务上的准确率优于已知方法,在五分类上表现良好。

本文方法并未考虑到领域知识。如果设计具有层次结构特征的文本图涵盖领域知识,可能可以提升本文方法的性能。此外,引入一个更有效的卷积规则来解决过度平滑的问题,避免随着卷积层数的增加节点的特征会被过度平滑,降低了准确率。尝试调整参数和部分模型,探索本文方法在中文短文本情感分类标注问题的应用,是我们今后进一步开展工作的方向。

猜你喜欢
注意力卷积向量
向量的分解
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
聚焦“向量与三角”创新题
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用