APP下载

基于神经网络的方面级情感分析模型

2022-12-24马晓宁赵志峰

计算机仿真 2022年11期
关键词:多任务注意力向量

马晓宁,赵志峰

(中国民航大学计算机科学与技术学院,天津300300)

1 引言

随着大众点评等在线网络平台的兴起,越来越多的用户开始通过在线网站的评论了解商家的各方面服务信息,进而做出选择。另一方面商家通过分析用户的消费评价,了解消费者的需求与满意度,并针对性地调整经营方针政策,满足消费者需求,提高消费者满意度。在线网络平台积累了海量的用户评论数据,有效挖掘处理这些评论数据,从中挖掘消费者的情感态度意义重大。

文本情感分析(Sentiment Analysis)指使用自然语言处理和文本挖掘技术对带有情感色彩的主观性文本进行分析、处理和抽取的过程[1]。通过文本对评论文本中的情感信息进行分析,可提取出用户在一段评论文本中所表达的情感态度[2]。在情感分析领域,方面级情感分析(Aspect-Based Sent-iment Classification)是一项根本的任务[3]。对于给定的文本以及这段文本的若干个方面,方面级情感分析的目的是分析文本中各个方面的情感极性。情感极性主要有三种:为积极、消极和中性。例如,“这家店的菜品口味一般,但彩色很好,让人看了很有食欲,服务员的态度也很热情”这段评论文本中,“菜品”方面情感极性是积极的,而且对于“菜品”之下更加细分的“口味”和“外观”都给出了积极的评价。对于“服务”方面的情感极性也是积极的。通过方面级情感分析,挖掘用户评论中隐含的方面的态度,深入了解用户的需求与用餐需求,对商家的经营决策指定有重要的指导意义。

使用机器学习算法建立有监督的情感分类器是研究者常用使用的方法,其中最典型的代表方法有基于特征的支持向量机(Support Vector Mach-ine,SVM)[4]和神经网络模型[5],其中关于神经网络模型的研究越来越广泛。Zhang等[6]详细概述各种神经网络模型在情感分析中的应用。Wang等[7]通过注意力机制来捕获不同的上下文信息对给定方面的重要性,使用LSTM模型对句子进行建模,在方面级情感分析问题中取得成效。Gandhi等[8]提出结合CRF与Bi-LSTM的模型,应用于方面级情感分析中。Kai等[9]提出一种特征提取网络,减少在方面级情感分析特征提取中的噪声。Xu等[10]提出一种基于多注意力机制的神经网络模型,有效解决神经网络特征提取中的信息丢失问题。Wo-rsham等[11]对近年来多任务学习在自然语言处理领域的贡献进行了全面的综述。Akhtar等[12]提出一种基于多任务学习的方面级情感分析模型,在两种语言情感分类任务有更好的性能。

评论中包含的各方面情感极性可以真实地反映消费者的偏好需求,针对评论文本情感方面复杂多样,且包含多个方面情感的特点,本文提出一种融合层次注意力机制和多任务学习模型的方面级情感分析模型Multitask-Attention-Bi-GRU(简称:MTL-ATT-BiGRU),完成评论多方面情感分析任务。该模型可同时分析多个方面的情感极性,通过注意力机制帮助神经网络更好地对评论文本进行语义建模。构建多任务学习模型,通过参数共享,强化每个方面情感分类能力。

2 相关技术

2.1 Bi-GRU

LSTM神经网络避免因文本数据间隔和长延时而丢失重要的信息,增强了网络模型的记忆能力。Cho等人将LSTM的单元状态和隐藏层状态合并在一起,提出一种更加简单的LSTM变体——门循环控制单元(Gated Recurrent Unit,GRU)。GRU模型结构如图1。

图1 GRU神经单元

在单向神经网络模型中,状态是单向传递的,而在文本情感分类任务中,往往需要将文本的前后词语联系起来,这样更有利于文本深层次特征的提取,因此需要使用双向神经网络。MTL-ATT-BiGRU使用了两个Bi-GRU神经网络模型,应用于词编码器和句子编码器中,分别在词层级和句子层级对语义进行建模,实现情感分类任务。

图2 Bi-GRU神经网络模型

2.2 注意力机制

评论中的句子或词语对于情感分析的重要程度不同,神经网络能够很好得提取文本信息,但不能区分文本的重要程度。MTL-ATT-BiGRU模型引入注意力机制(Attention mechanism),根据任务需求,为文本中关键的信息分配更多的权重,使模型能够关注到重要的信息。注意力模型结构如图3所示。

图3 注意力机制模型

在注意力模型中,上下文向量s由权重系数αi和隐层状态hi乘积累加而来,计算公式为

(2)

其中:vi和wi表示i时刻权重系数矩阵;bi表示i时刻的偏置。

2.3 多任务学习

多任务学习(Multi-Task Learning,MTL)任务之间共享表征,使模型更好地概括主要任务。多任务学习并行学习多个相关任务,在每个任务的底层共享表示来促进学习,提升模型泛化能力。神经网络中的多任务学习主要有两种方法:Hard参数共享和Soft参数共享。共享Hard参数是神经网络MTL最常用的方法,能够降低过拟合的风险。Hard参数共享如图4所示。

图4 Hard参数共享多任务模式

2.4 评论方面级情感分析模型

针对评论文本方面级情感分类任务,分别在词级别和句子级别引入注意力机制,更好的识别情感词语和语句。评论文本方面级情感分类过程如图所示:

图5 评论文本方面级情感分类过程图

评论文本方面级情感分类步骤为:

1)评论文本词向量为词编码器的输入,词编码器使用Bi-GRU神经网络模型对输入的文本向量进行特征提取。在评论文本中,地点状语、时间状语等对文本情感分类影响极小,而含有感情色彩的词语将直接影响情感极性。为突出不同词语对评论文本情感分类的重要性,词编码器使用注意力机制,计算每个词向量的权重,为不同的词向量分配相应的权重。

2)词编码器处理过的向量序列作为句编码器的输入。句编码器同样使用Bi-GRU神经网络模型对输入的句向量进行特征提取,计算相应句向量的权重,然后输出处理过后的向量序列。

3)句编码器处理过的向量序列作为分类器的输入。分类器包含指定数量的子分类器,对评论文本进行多方面情感分类,然后输出最终的情感分类结果。每个方面的情感分类结果有四种:正向、负向、中性和未提及。对于评论文本“第一次来这家店吃,一进门就受到了服务员的热情招待。这里的招牌菜味道非常棒,尤其推荐糖醋里脊”,“服务态度”方面的情感分类结果为正向,“菜品”方面情感分类结果为正向,而“价格”方面情感分类结果为未提及。

图6 MTL-ATT-BiGRU神经网络模型图

MTL-ATT-BiGRU模型通过隐藏层的Hard参数共享实现多任务学习,在输出层独立输出每个方面的情感,实现多方面情感极性的并行判定。模型主要由两部分构成:共享参数层和输出层。共享参数层包含词编码器和句子编码器,用于实现词语和句子的特征提取。独立输出层由多个独立的分类器构成,实现不同方面的情感分类。如图6所示,模型最底层是Bi-GRU神经网络层,用于对输入的词向量进行建模。词层级的注意力机制为词向量分配不同的权重,最后通过计算不同词的权重来组成句子向量。同样,句子层级也是由Bi-GRU神经网络层和注意力层组成。最后通过多个独立softmax输出不同方面的情感分析结果。

2.5 词编码器

词语级别的神经网络模型的主要作用是对输入的词向量进行特征提取。词注意力层对词嵌入进行重点词提取,通过注意力机制识别权重不同的词,提高神经网络学习能力。第一个Bi-GRU网络的输入是一条评论文本中的每个词向量wit,计算公式为

xit=Wvwit,t∈[1,T],i∈[1,L]

(3)

(4)

文本中不同的词语对于文本情感分类的重要程度不同,引入注意力机制来突出不同词对文本情感分类的重要度。注意力机制层的权重系数为

uit=tanh(Wwhit+bw)

(5)

(7)

其中:hit为Bi-GRU神经网络层输出的向量;Ww表示词向量的权重系数;bw表示偏置系数;uw表示初始的注意力矩阵。

使用线性层对双向GRU的输出进行变换,然后使用sofmax函数计算单个词的重要程度,最后通过对双向GRU的输出进行加权平均运算得到最终的句子表示。

2.6 句编码器

句子层的双向GRU输入为词层级加权得到的句子,经过加权计算不同句子的重要程度,组成一条评论的序列化表示,输出到输出层进行情感分类任务。句子层面的注意力模型与词层面的注意力模型类似,其计算公式为

(8)

ui=tanh(Wshi+bs)

(9)

(11)

2.7 输出层

输出层实现不同方面情感分析的判定,利用多个softmax函数对上一层的输入进行相应的计算,得到不同方面的情感分类结果,计算公式为

yj=softmax(w1v+b1)

(12)

其中,w1为权重系数矩阵;b1为偏置矩阵;yj为输出的预测结果。

由于采用多任务学习方式,因此在联合训练的过程中最终的损失函数由不同任务的损失和相加求得,损失函数为

(14)

3 实验

3.1 数据集

使用AI Challenger细粒度情感分析数据集作为训练和测试语料,该数据集包含了美团和大众点评网站上约十三万条评论数据,数据集中的评价对象主要有六个方面,分别是:位置、服务、价格、环境、菜品和其它。每个大方面下又有若干细分方面的划分,总共有20个方面评价对象。每个方面的情感倾向有四种状态:正向(1)、负向(-1)、中性(0)、未提及(-2)。将数据集按照8:2划分为训练集和测试集,使用Word2Vec模型训练语料的词向量,词向量的维度为100。

3.2 实验设计

实验采用准确度(Accuracy)和F1值作为实验评价指标。表1表示二分类的混淆矩阵。

表1 二分类混淆矩阵

精确度

(15)

召回率

(16)

准确度

(17)

F1值

(18)

由于本文模型要解决的是多分类问题,因此实验评估指标精确度和F1值是所有分类指标平均值,即Macro-Accuracy和Macro-F1,计算公式为

(20)

MTL-ATT-BiGRU模型的参数设置如表2所示。

表2 模型参数设置

主要对比模型有:Attention-LSTM、At-tention-BiLSTM和Attention-DeepLSTM。Attention-LSTM由单向的神经网络和单个注意力层组成,Attention-BiLSTM包含了前向和后向两个LSTM以及单个注意力层,而DeepLSTM由两层LSTM神经网络和单个注意力层构成。

对比模型与本文提出的模型在参数设置上保持一致,均按表1中的参数设置。由于本文的模型可以同时实现多个方面的情感分类,而上述三种对比模型只能实现单方面的情感分类,因此三种对比模型分别进行两次实验,分别选取服务和价格作为实验对比的方面。实验过程中,每种模型迭代20次,取在测试集上取得最高F1值的作为模型的F1值,相应的精确度为模型的精确度。

3.3 实验结果与分析

表3 服务方面实验结果

从实验结果可以看出,得益于层次注意力机制和多任务学习的相互强化能力,MTL-ATT-BiGRU神经网络模型经过训练之后,在测试集上的精确度和F1值比其它三个模型要好。相比于普通的注意力机制模型,层次注意力能够在词层面和句子层面进行权重赋值,能够有效提升模型情感分类性能。相较于LSTM网络及其改进网络模型,本文模型采用的双层BiGRU网络能够有效提升模型特征提取能力,提升情感分类结果准确性。

表4 价格方面实验结果

MTL-ATT-BiGRU神经网络模型采用多任务学习模型,可以同时完成多个方面的情感分类任务,从实验结果可以看出,由于数据集的不均衡性,普通神经网络在服务和价格两个方面的分类任务中,有一定的波动。而多任务学习模型,通过参数共享,在多个方面情感分类任务性能相对稳定。

4 结语

针对评论文本多方面情感分类问题,本文提出来一种融合了注意力机制和多任务学习的评论情感分析模型,使用两个双向GRU对评论文本进行词语和句子特征提取,同时在词级别和句子级别分别引入了注意力机制,为不同的词语和句子分别不同的权重,将不同的权重引入的词向量和句向量中,帮助提高语义识别的准确性。同时,模型融合了多任务学习模型,能够同时完成多个方面的情感分析任务。实验结果表明,本文所提出的模型在精确度提高的同时,具有更高的效率。本文的模型在实现多任务学习时采用的单一训练模型,只考虑了总体的损失函数,而没有针对单个任务得到最优的损失函数。下一步可以考虑引入多训练模型,优化每个方面任务的训练与预测。

猜你喜欢

多任务注意力向量
向量的分解
让注意力“飞”回来
结合自监督学习的多任务文本语义匹配方法
聚焦“向量与三角”创新题
基于中心化自动加权多任务学习的早期轻度认知障碍诊断
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
基于判别性局部联合稀疏模型的多任务跟踪
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线