APP下载

基于上下文方面记忆网络的方面级情感分析

2024-02-22王亚新

计算机工程与设计 2024年2期
关键词:注意力记忆机制

王亚新,王 亮+,王 军

(1.沈阳化工大学 计算机科学与技术学院,辽宁 沈阳 110142;2.沈阳化工大学 辽宁省化工过程工业智能化技术重点实验室,辽宁 沈阳 110142)

0 引 言

根据研究粒度的不同,文本情感分析分为文档级、句子级和方面级[1,2]。传统的文本情感分析主要是文档级和句子级等粗粒度情感分析,无法对含有多个属性的文本进行分析。方面级情感分析(aspect-based sentiment analysis,ABSA)[3]与传统文本情感分析相比可以表达出更细粒度的情感。

近年来,基于深度学习的方面级情感分析的研究取得较好表现[4]。深度学习算法与传统机器学习算法相比,具有自动提取文本特征的优势。对于方面级情感分析任务,提出许多基于神经网络的情感分析模型获得密集和低维的词嵌入,并进一步生成更好的句子表示。

基于神经网络的情感分析模型主要包含循环神经网络(recurrent neural network,RNN)、长短期记忆网络LSTM(long short-term memory,LSTM)、双向长短期记忆网络(bi-directional long short-term memory,BiLSTM)等[5]。

RNN可以捕获具有序列特性数据中的时序信息和语义信息。LSTM为RNN改进版本,更好捕捉到较长距离的依赖关系,用于提取评论数据的上下文信息。虽然LSTM解决了RNN中存在的长期依赖问题,但对句子中每个上下文词都进行相同处理,无法对从后到前的信息进行编码操作,然而通过BiLSTM可以捕捉双向语义依赖。注意力机制可以为神经网络提供关注与给定方面相关的重要内容的能力。

随着深度记忆网络在方面级情感分析中的应用,与神经网络相比结构更简单、计算速度更快,在推断某个方面的情感极性时可以明确捕获每个上下文词的重要性。

现有方面级情感分析研究中还存在尚未解决的问题:一是大型混合神经网络模型进行预训练,训练时间长,并且基于深度记忆网络的方面级情感分析研究中大多没有重视上下文和方面之间的位置信息对方面级情感分析产生的影响;二是上下文信息利用不充分,难以解决句子中上下文的长期依赖问题以及大多数研究忽视了句子中每个词对方面的情感表达产生的不同影响;三是上下文相关性以及上下文和方面之间的相关性在记忆网络中没有被充分研究。

为了解决上述不足,本文提出基于上下文方面记忆网络的方面级情感分析方法。本文的主要贡献如下:

(1)针对现有基于深度记忆网络与方面级情感分析方法大多没有重视上下文和方面之间的位置信息对方面级情感分析的影响这一问题,本文提出在深度记忆网络中的上下文记忆建模中加入了位置相关层,提高上下文和方面之间位置信息的利用率。并在经过位置相关层输出后进入BiLSTM网络进行双向训练,充分利用上下文信息解决上下文长期依赖问题。

(2)针对每个句子中对于方面相关的词语对方面的情感表达具有不同影响这一问题,使方面词的情感更易于被其相近的词来表达,本文在深度记忆网络中提出了方面记忆更新模块,将评论文本中的方面词单独在方面记忆更新模块中进行编码和更新,达到充分利用方面信息的目的。

(3)针对上下文与方面之间的相关性在深度记忆网络中没有被充分利用这一问题,本文提出了在多计算层中的多头注意力机制输入采用两种策略,分别为Self-Attention和Encoder-Decoder Attention,一种优化上下文相关性的计算能力,另一种优化上下文和方面词相关性的计算能力。

1 相关工作

1.1 方面级情感分析

基于方面级别的情感分析(ABSA)是情感分析领域中不可或缺的任务[5]。传统的情感分类方法主要基于大容量语料库和人工特征标注的情感分类方法。如词袋、情感词典、支持向量机(support vector machine,SVM)[6]、最大熵[7]和模糊推理[8]等。然而,这些方法产生的结果高度依赖于特征质量。

随着深度学习的发展,神经网络应用于ABSA任务中并取得不错效果。Chen等[9]基于方面词及其方面在同一子句中的假设,提出使用CNN和LSTM识别方面级情感。Ma等[10]提出一种将情感相关概念的常识信息与LSTM结合的方法,解决基于方面级情感分析和目标情感分析中存在的问题。Zhang等[11]提出了两个门控神经网络进行方面级情感分析,一个用于对语法和语义信息进行建模,另一个用于对给定目标与其周围上下文之间的交互进行建模。

随着注意力机制在机器翻译中的成功,其在ABSA任务中的应用越来越受到关注。Fan等[12]提出一种融合注意力机制的卷积网络,可以同时获得句子中单词和多词表达。Wang等[13]提出一种基于注意力机制的 LSTM 模型,该模型根据不同方面关注句子不同部分。Ma等[14]提出了交互式注意力网络(IAN)来分别生成目标和上下文的表示。Wang等[15]设计了一个分层特定方面的注意力模型,侧重于与特定方面相对应的信息词和句子。

基于深度学习的方法降低了ABSA任务对人工构造特征和情感词典的依赖,再利用注意力机制调整特征的权重提高情感分析效果。

1.2 深度记忆网络

记忆网络(Memory Networks)最初在问答领域中提出,使用记忆组件保存上下文信息并实现长期记忆的功能。

Tang等[16]提出了一种面向方面级情感分类的深度记忆网络(deep memory network,DMN),通过上下文信息构建记忆,采用注意力捕获对于判断不同方面情感极性较重要的信息。实验结果表明深度记忆网络优于基于注意力的LSTM体系结构并证明了多计算层可以提升模型性能。Lin等[17]提出基于深度记忆网络的DMMN-SDCM模型,该模型整合语义分析信息至记忆网络中,指导注意力机制有效学习其它方面提供的信息。Lin等[18]提出了一个深度选择性记忆网络模型(deep selective memory network,DSMN),实现动态选择上下文记忆更好地引导多头注意力机制,将方面间信息与深度记忆网络相结合。

2 基于双注意力机制与深度记忆网络的方面级情感分析模型

针对相关工作中大多没有重视上下文和方面之间的位置信息对方面级情感分析的影响以及上下文相关性以及上下文和方面之间的相关性在记忆网络中没有被充分利用等不足,本文提出了一种基于双注意力机制与深度记忆网络的方面级情感分析方法。基于上下文方面记忆网络模型结构如图1所示。

基于双注意力机制的深度记忆网络模型主要由3个模块组成,分别为上下文记忆网络构建模块、方面记忆网络更新模块和输出层模块。

上下文记忆网络构建模块包括输入层、词嵌入层、位置相关层以及BiLSTM层。在上下文记忆建模中加入位置相关层,提高上下文和方面之间位置信息的利用率。并在经过位置相关层输出后进入BiLSTM网络进行双向训练,充分利用上下文信息解决上下文长期依赖问题,详细介绍如2.1节所示。

方面记忆网络更新模块包括方面词嵌入层以及多跳(计算)层,并且每个计算层中包含多头注意力机制。其中多头注意力的输入采用双注意力机制:一种是Self-Attention来计算上下文相关性;另一种是使用Encoder-Decoder Attention来计算上下文和方面词的相关性。在方面记忆网络更新模块中,将文本中的方面词单独在方面记忆更新模块中进行编码和更新,达到方面信息充分利用的目的,详细介绍如2.2节所示。

最后经上下文记忆网络构建模块和方面记忆更新模块得到的输出向量,经过线性层,再反馈给Softmax函数计算概率分布,并取最大概率作为句子预测的情感类别。

2.1 上下文记忆网络构建

2.1.1 词嵌入层

基于上下文的方面记忆网络模型的输入为含有评论数据的文本,例如产品评论、微博评论等。如图1所示,假设评论文本句子为ssentence={s1,s2,…,si,…,sn} 其中si表示句子中的第i个词,n表示句子长度。句子中方面表示为aaspect={st,…,st+k-1}, 其中aaspect表示句子ssentence的一个子集,t表示方面中第一个词的位置,k表示方面的长度即包含的单词数量。

对含有评论数据的句子文本和方面进行分词、去停用词等数据预处理,处理后的句子文本通过GloVe模型[20]进行预训练,映射生成词嵌入矩阵Eembedding∈Rde×|V|, 其中de表示词嵌入的维度,|V| 表示单词个数。

在词嵌入层中从Eembedding中提取输入句子ssentence的词嵌入向量,得到词嵌入矩阵Esentence={e1,e2,…,ei,…,en}, 句子中包含的方面也用词嵌入向量表示。如果方面a由一个单词st组成,则方面词嵌入矩阵Easpect由向量et表示。如果方面词aaspect由k个词组成即aaspect={st,…,st+k-1}, 则方面词嵌入矩阵Easpect是由从et到et+k-1的k个词嵌入的平均值的结果表示。

例如,在“appearance and screen clarity are great,but battery is not durable.”这句话中,方面为“appearance”、“screen clarity”、“battery”,对于“appearance”、“battery”的词嵌入是方面嵌入,而对于方面“screen clarity”则使用“appearance”、“battery”词嵌入的平均值作为方面嵌入。

2.1.2 位置相关层

针对现有深度记忆网络研究大多没有重视上下文和方面之间的位置信息对方面级情感分析的影响这一不足,提出在上下文记忆建模中加入位置相关层,提高上下文和方面之间位置信息的利用率。文本数据经过词嵌入层转换为的词嵌入矩阵作为位置相关层的输入。

一个句子中的每个词都对方面的情感表达有不同的影响,因此对每个方面的记忆信息进行编码,使方面词的情感尽可能用与其相近的词来表达。例如,“great”和“appearance”之间的距离比“not durable”和“appearance”之间的距离短。

为了使方面向量更好地发挥作用,需要计算句子中每个上下文词和方面词之间的距离,用于计算每个上下文词的权重,这使得与该方面词相近的上下文词对该方面的情感极性有较大的影响

(1)

方面词与句子中第i个词的位置关系用gi[18]表示,计算公式如式(1)所示。其中l是句子长度,如果句子长度小于数据集中句子最大长度则用零填充在句子末尾,这部分的位置相关系数为零。

为了充分利用方面信息,不仅考虑上下文词相对方面的位置信息,还需对ei和Easpect的词向量使用逐元素乘法和连接操作合并方面和上下文表示,计算公式如式(2)所示。其中“⊙”表示逐元素乘法即两个矩阵对应位置元素进行乘积操作,“⊗”表示连接操作,Yang等[19]已经证明逐元素乘法和连接操作一起使用相较单独使用连接操作的效果更好

f(ei,Easpect)=[ei⊗(ei⊙Easpect)]

(2)

最后,位置相关层的输出用OPR-i表示,计算公式如式(3)所示

OPR-i=f(ei,Easpect)*gi

(3)

通过式(2)~式(3),可以获得更有效的方面信息以及方面词及其上下文词之间的位置信息。

2.1.3 BiLSTM

如图1所示,采用BiLSTM对位置相关层的输出进行编码进而生成隐藏层的特征表示。LSTM神经网络的核心是使用隐藏状态来存储通过其传递的输入信息,每个隐藏状态只包含当前单词的信息和前一时刻的信息即单向信息。

BiLSTM模型是对LSTM模型的进一步优化,BiLSTM中每个隐藏状态捕获前向和后向的双向信息,给定词的最终特征表示是通过连接两个方向的表示来获得。上下文记忆网络构建模块中的BiLSTM的结构如图2所示。

图2 BiLSTM结构

(4)

(5)

最后,BiLSTM的输出Hi的计算公式如式(6)所示,其中隐藏状态Hi表示位置i的更新表示

(6)

2.2 方面记忆网络更新

2.2.1 方面记忆更新

如图1所示,BiLSTM的输出Hi和方面的初始词嵌入矩阵Easpect在第一跳作为多头注意力机制的输入,然后这一跳的输出Outputhop加上Easpect得到更新的方面词嵌入矩阵E′aspect, 计算公式如式(7)所示

E′aspect=Outputhop+Easpect

(7)

E′aspect作为下一计算层(跳)的输入,直至到达到终止条件。最终输出用于图1右侧输出层模块的输入。整个过程中使用的多头注意力机制用于计算句子中所有上下文之间的相关性,用于方面更新的表示。更新方面记忆的目的是将方面向量转化为包含情感词和上下文信息的方面记忆。

2.2.2 多计算层机制

多计算层可以学习更高级别的表示并提高模型性能,对于面向方面级别的情感分析表现出比较好的效果。

在本文中,采用多跳(Multiple Hops)来学习方面的表示使深度记忆网络学习具有多个抽象级别的文本表示。每个计算层包含更新后的方面记忆,如式(7)所示,更新后的方面矩阵E′aspect被视为下一计算层的新输入。

每个计算层包含两个步骤,执行Multi-head Attention机制和更新方面记忆。此外,更新之前确定计算层停止条件即跳数,将其作为超参数,在实验中选择最佳值。

2.2.3 双注意力机制

在基于方面级情感分析任务中使用注意力机制即句子中的每个词对不同方面都有不同的影响。在本文中,使用注意力机制来体现上下文对不同方面的情感影响。

再次以“Good food but dreadful service at this restaurant”这句话为例。上下文词“good”对于“food”方面比“dreadful”方面更重要。相反,上下文词“dreadful”对于方面“service”比方面“good”更重要。记忆网络中引入Multi-head Attention机制生成上下文表示,更新方面记忆,为输入的句子中的每个词赋予不同的权重,使模型更容易捕捉句子中的关键信息,正确识别句子中方面的情感。

在本文中,设计了Self-Attention和Encoder-decoder Attention双注意力机制用来处理方面记忆网络更新模块的输入信息,分别如图3和图4底部所示。

图3 基于自注意力的多头注意力机制

图4 基于编码-解码的多头注意力机制

2.2.3.1 自注意力

自注意力(Self-Attention),是一种与单个序列的不同位置相关的注意力机制,目的是计算序列的表示形式,可以捕捉到句子中的全局语义,解决长距离依赖。

首先,将方面向量信息编码到词表示中,生成词表示(word-rep)s, 计算公式如式(8)所示,其中“⊙”表示逐元素乘法,“⊗”表示连接操作

(word-rep)s=[Hi⊗(Hi⊙Easpect)]

(8)

多头注意力机制输入的句子表示为 (word-rep)s={u1,u2,…,ui,…,un}, 即K=V=Q=(word-rep)s。 其中Q、K、V分别为查询向量序列、键向量序列、值向量序列。

2.2.3.2 编码-解码注意力

如图4所示,编码-解码注意力(Encoder-Decoder Attention)与Self-Attention不同,Encoder-Decoder Attention可以对Easpect和Hi进行逐元素乘法运算,不进行连接操作,表示句子的局部语义信息。

BiLSTM层的输出Hi用于计算Q、K、V矩阵。矩阵Q如式(9)表示,矩阵K、V如式(10)表示

Q=[Hi⊙Easpect]

(9)

K=V=[h1,h2,…,hi,…,hn]

(10)

本文提出的两个方法区别体现在两种注意力机制的输入不同,如图3和图4所示。

在多头注意力机制中,中间部分Attention的计算过程相同,“Multi-head”相当于缩放了h次的Scaled Dot-Pro-duct注意力机制的操作,其中h表示并行头的数量。Multi-head Attention由多个基本单元堆叠而成,每个单元采用Scaled Dot-Product 注意力机制,通过Query与Key的相似性程度来确定Value的权重分布的方法被称为Scaled Dot-Product Attention。

Scaled Dot-Product Attention计算速度快并且节省空间,与Additive Attention和普通Dot-Product Attention相比效果更好。Multi-head Attention的每个单元都有自己对应的权重来表达特殊信息,将一组向量拆分为多个部分并行计算。

多头注意力机制执行具有不同权重系数的多个注意力函数,可以从不同空间的输入数据中提取不同的信息,然后连接输出,类似于训练多个学习器解决问题的集成,用于防止过拟合。

两种方法中3个输入矩阵Q、K、V通过不同的参数矩阵WQ、WK、WV进行h次线性变换。同时计算新生成矩阵相关性的Scaled Dot-Product Attention也进行h次线性变换。第i个“head”和缩放点积注意力具体计算公式分别如式(11)、式(12)所示

(11)

(12)

将h次线性变换结果拼接在一起输出混合表示,并进行线性变换得到词向量表示M。计算公式如式(13)所示,其中WO为可学习的参数矩阵

M=Concat(head1,head2,…,headn)WO

(13)

在Self-Attention方法中,上下文词之间的关系被整合到词向量的表示中。在Encoder-Decoder Attention方法中,词向量的表示考虑了方面和上下文词之间的关系。然后,将Multi-head Attention的表示输入到一个线性层中,执行softmax归一化操作获得权重wi,wi计算公式如(14)所示,其中Wh是参数矩阵

(14)

最终输出的句子表示Orep计算公式如式(15)所示,其中情感类别(积极、消极、中性)概率最高的则是其情感分类输出的结果

(15)

3 实验验证与分析

3.1 数据集及实验参数

本文采用SemEval 2014任务4数据集[20]和ACL 2014 Twitter英文数据集[20]对本文提出的模型进行实验。SemEval 2014任务4数据集包括两个评论数据集分别为Restaurant和Laptop。ACL 2014Twitter数据集包括一个评论数据集为Twitter。

其中评论数据集划分为训练集和测试集,Restaurant和Laptop的评论数据集被标记为4种情感标签分别为积极的、消极的、中性的和冲突的。当句子的标签是“冲突的”时,就意味着句子中含有多种情感类别。由于该类别样本数据太少,会出现数据不平衡的现象。

因此,在数据预处理阶段,去除数据集中标记为冲突的句子。Twitter评论数据集包含3个情感标签分别为积极的、消极的和中性的。预处理后的数据集见表1。本文实验基于深度学习框架Pytorch实现。实验环境配置见表2。

表1 数据集统计

表2 实验环境设置

原始数据集经Glove模型预训练得到300维词向量。Glove模型进行词的向量化表示使得向量之间尽可能多地包含语义和语法的信息并且融合了矩阵分解Latent Semantic Analysis的全局统计信息和Local context window优势,加快训练速度并控制词的相对权重。使用均匀分布U(-0.25,0.25)随机化词表外的词嵌入和权重矩阵,所有的偏置初始化为0并采用Adam作为优化器训练模型。实验的深度模型的参数设置见表3。

表3 实验参数

3.2 评价指标

对多分类情感分析模型的效果进行综合衡量,经常使用准确率(Accuracy)[20]和宏F1值(Macro-F1-score)[20]作为评价指标,因此将准确率和宏F1值作为实验的评价指标。

准确率即正确预测的样本数(TP+TN)除以输入样本总数total得到的值,计算公式如式(16)所示

(16)

首先计算每个情感类别(正、负或中性)的F1得分(F1-score),然后计算其平均值得出宏F1值,计算公式如式(17)、式(18)所示

(17)

Macro-F1-score=

(18)

其中,i代表情感类别,Pprecision为精确率(precision),Rrecall为召回率(recall),计算公式如式(19)、式(20)所示。其中TP为本文模型预测正确的正样本,FN为本文模型预测错误的正样本,FP为本文模型预测正确的负样本

(19)

(20)

3.3 模型训练

在训练数据上,模型预测数据分布与真实数据分布越相近越好。交叉熵跟相对熵相比更加简便计算,能得到一致性和统计高效性的最大似然,在计算上也比其它损失函数要适合优化算法,因此本实验采用L2正则化交叉熵函数作为模型的损失函数,计算公式如式(21)所示

(21)

其中,T是训练数据的集合,C是情感类别的数量,(s,a) 表示一个句子及其对应的方面词,yc(s,a) 表示给定句子s在方面a使用one-hot向量表示真实的分类,pc(s,a) 表示预测给定句子s在方面a的分布概率,λ为L2正则化项的系数,θ代表模型中要训练的所有参数。

利用训练好的模型来预测句子s中给定方面词a的情感极性。经过多层计算,得到最终输出向量。输出向量经过线性层,反馈给softmax函数计算概率分布,并取最大概率作为句子预测的情感类别。

本文所提模型采用Dropout策略和提前停止(early stopping)操作来缓解训练过程中的过拟合。最后,通过将评论数据输入到模型中进行测试,取最大概率情感类别作为评价对象预测情感极性。

3.4 实验结果

在实验过程中本文所提模型随着训练样本(Restaurant数据集)训练次数的增加,训练集和测试集的损失值(Loss)变化如图5、图6所示,准确率值(Acc)变化如图7、图8所示,宏F1值变化如图9所示。

图5 DAMDMN-SA模型损失值变化

图6 DAMDMN-EDA模型损失值变化

图7 DAMDMN-SA模型准确率值变化

图8 DAMDMN-EDA模型准确率值变化

图9 模型宏F1值变化

3.5 算法对比

将本文提出的模型与相关工作中的7个情感分析模型在SemEval 2014任务4的两个数据集和ACL 2014 Twitte的3个数据集上进行对比实验,验证所提方法的有效性。

(1)MemNet[5]:MemNet模型在方面级情感分类任务中引入一个记忆网络,由多跳注意力和词嵌入层组成,并将多跳注意力应用于词嵌入以捕获每个上下文词的重要性。

(2)ATAE-LSTM[11]:ATAE-LSTM模型首先将方面信息嵌入到每个词向量中,然后使用LSTM网络计算出句子的隐藏表示,再使用注意力机制计算出句子的语义表示然后经过线性层得出最终结果。

(3)DSMN[13]:DSMN模型将语义依赖信息与原始上下文记忆进行整合,为注意力网络生成动态记忆。此外还设计了语义感知的方面间网络和句子级上下文瞬时学习网络,以利用同一句子中方面间的语义信息和关系信息。

(4)IAN[14]:IAN模型是一种基于LSTM和注意力机制的交互算法,用于获取上下文和方面表示,分别考虑方面词和句子的单独建模,交互式地学习上下文和方面词中的注意力,并分别为方面词和上下文生成表示。

(5)M-IAN[15]:M-IAN模型是一种基于LSTM和注意机制的矩阵交互注意力网络模型,分别对目标和上下文进行建模。

(6)DAuM[18]:DAuM模型是一种具有辅助记忆网络的新型深度记忆网络,构建了一个用于捕获重要上下文词的主记忆和一个用于隐式转换方面和术语的辅助记忆。

(7)CEA[20]:CEA模型与MemNet类似,也使用了多层注意力机制。不同的是CEA模型采用词嵌入层和LSTM层来构建词表示。

为了验证本文提出的DAMDMN模型情感分类的性能,将DAMDMN-SA、DAMDMN-EDA模型与以上7个模型在Laptop、Restaurant、Twitter这3个数据集上进行对比实验,将准确率和宏F1值作为评价指标,实验结果分别见表4和表5。

表4 算法对比准确率实验结果

表5 算法对比宏F1值实验结果

采用准确性和宏F1值作为主要评估指标,用于评估ABSA模型的性能。实验结果见表4和表5,表明本文提出的面向方面的深度记忆网络模型在Restaurant、Laptop以及Twitter数据集上始终优于所有基于注意力和基于记忆网络的方法。

句子中方面信息是方面级情感分析任务中的重要部分,由于LSTM未充分考虑方面信息对上下文情感极性的影响,实验结果表现最差。ATAE-LSTM是基于LSTM的改进算法,并且是神经网络的经典方面级情感分析模型,与LSTM相比实验结果表现出的性能较好,但与本文所提模型的实验结果相比表现不佳。

ATAE-LSTM中提出一种注意力机制,使用不同方面作为输入时进而关注句子中不同部分,用于提取重要特征。但ATAE-LSTM只是将方面嵌入与句子的词嵌入连接起来并没有充分利用方面信息,而本文所提模型含有方面记忆更新模块,将评论文本中的方面词单独在方面记忆更新模块中进行编码和更新,达到方面信息充分利用的目的。

如表4所示,IAN实验结果优于ATAE-LSTM,因为IAN通过注意力机制交互式学习进一步强调方面的重要性。在IAN基础上所提出的M-IAN模型实验结果表现出的性能较好。验证了IAN的交互注意力计算过程简单,优化了IAN提取交互注意力的方式,并使用BILSTM来获取上下文的隐藏状态。

MemNet、CEA、DAuM获得的实验结果比上述模型更高,它们通过将注意力机制和记忆网络进行交互,捕获与预期相关的重要信息,并且验证多个计算层优于单个计算层的结果。

MemNet为一种深度记忆网络,将上下文信息和位置信息结合起来学习上下文权重,是一种适合方面级情感分析的方法。然而上下文相关性以及上下文和方面之间的相关性在深度记忆网络中没有被充分研究,本文所提模型在计算层中将多头注意力机制的输入设置为Self Attention和Encoder Decoder Attention两种机制,实验结果性能高于记忆网络经典模型MemNet。

DSMN虽然取得一些改进的结果,但是在基于方面的情感分类任务中仍然存在一些不足。首先,语义依赖信息并不适用于所有类型的数据集。具体来说,不符合语法的句子的依存树通常质量低,会给模型带来噪音,因此语义信息不能应用于Twitter等包含更多不符合语法的句子的数据集。其次,DSMN设计的上下文矩损失是句子级的,对于句子中的所有方面都是相同的,不能带来更多的方面感知关系信息。

在DAMDMN-SA和DAMDMN-EDA中,上下文记忆构建模块和方面记忆更新模块进行交互。在上下文记忆构建模块中加入位置相关层,提高上下文和方面之间位置信息的利用率。词嵌入矩阵经过位置相关层输出后进入BiLSTM网络进行双向训练,可以充分利用上下文信息解决上下文长期依赖问题。

评论文本中的方面词单独在方面记忆更新模块中进行编码和更新,使方面信息得到充分利用。在方面记忆更新模块的计算层中,将多头注意力机制的输入设置为Self Attention和Encoder Decoder Attention两种机制,用于优化上下文和方面词以及上下文相关性的计算能力。

4 结束语

本文提出一种基于深度记忆网络的方面级情感分析方法。在深度记忆网络的上下文记忆构建模块中加入位置相关层,提高上下文和方面之间位置信息的利用率。增加方面记忆更新模块,将句子文本中的方面词单独在方面记忆更新模块中进行编码和更新,使其方面信息得到充分利用。在多计算层中注意力机制的输入上采用双自注意力机制,解决上下文相关性及上下文与方面之间的相关性在记忆网络中没有被充分利用的这一问题。如3.5节实验结果表明,与已有工作比较下,本文所提方法准确率与宏F1值有所提升。接下来将探索多记忆交互,尝试通过联合学习将方面级情感分析与方面术语提取相结合,提高方面级情感分析的效果。

猜你喜欢

注意力记忆机制
让注意力“飞”回来
自制力是一种很好的筛选机制
“扬眼”APP:让注意力“变现”
记忆中的他们
A Beautiful Way Of Looking At Things
儿时的记忆(四)
儿时的记忆(四)
记忆翻新
破除旧机制要分步推进
注重机制的相互配合