基于BERT 和交互注意力的方面级情感分类模型

2023-04-19 06:37袁逸飞单剑锋
智能计算机与应用 2023年3期
关键词:注意力向量分类

袁逸飞, 单剑锋

(南京邮电大学 电子与光学工程学院, 南京 210023)

0 引 言

情感分析是当前自然语言处理领域的重要分支之一。 而基于方面级的情感分类任务将情绪分类又推进了一步。 通常情况下,如果只知道一个句子或者文档的极性虽然有一定的作用,但不能分辨出极性是针对谁,于是方面级的情感分类应运而生[1]。任务描述如图1 所示。

图1 方面级情感分类任务实例Fig. 1 Task instance of aspect level sentiment classification

当前,神经网络模型已越来越多地用在方面级的情绪分类中[2-4]。 现有的研究大多采用监督学习的方法构建情感分类器,比如基于特征的支持向量机[5]、基于神经网络的方法[6],大多数基于注意力机制的模型没有考虑上下文与方面词之间的交互信息。 Ma 等学者[7]提出交互注意力网络,但是研究中使用的双向长短期记忆网络(BiLSTM)可能存在在小数据集下表现不如双向门控单元(BiGRU)的结果,同时传统的词向量工具word2vec 不能很好地表征出每个词的向量,不能产生一词多义的效果,在实际的操作中,则无法获取最终想要的向量。 受文献[8]的启发,本文以BiGRU 为基础,提出面向方面级情感分类的模型。 首先使用BERT 预训练语言模型进行词嵌入,并通过BiGRU 获得输入向量间的隐藏向量,接着分别输入多头自注意力层和交互注意力层,最后两者拼接得到结果。

1 相关工作

在最初的基于机器学习方法中,方面级的情感分类被视作一个文本分类的任务。 朴素贝叶斯和支持向量机的方法可以不再需要方面词就可预测情感极性。 但是这类方法有个无法避免的缺陷,即要依赖情感词典和手工设计的特征。 就使得训练结果强烈依赖手工设计的特征的质量,同时,由于特征都是手工标记,所以特征数量有上限的,预测精度也随之遇到瓶颈。

2 相关技术及BiIAGRU-BERT 模型

模型由词嵌入层、语义学习层、注意力层和融合层组合而成。 为了便于理解, 文本上下文使用S={ω1,ω2,…,ωt,…,ωt+l,ωn}表示,其中,n表示上下文中词的个数,方面词为{ωt,…,ωt+l}。 这里,t和l分别表示词的位置和方面词的长度。

2.1 词嵌入层

传统使用的是Word2Vec、FastText、Glove 等方法。 但是本文引入BERT 预训练模型。 BERT 模型相比传统的其他方法,主要是引入了注意力机制,同时解决了传统方法不能做到的一词多义问题,BERT 预训练模型是基于语义理解的深度双向语言模型,由Google 的Devlin 等学者[9]于2018 年10 月提出的预训练模型。 模型用的是比Word2Vec 更强大 的 双 向 Transformer 编 码 器, 是 基 于 多 层Transformer 编码器演化而来的。 每句话采用[CLS]开始,[SEP] 结束,并以遮蔽语言建模(Masked language model) 和 下 一 句 话 预 测(next sentence prediction)为无监督目标,因此具有了更强的词向量抽象能力,BERT 在大量任务中都获得了相比Glove而言更好的性能。 本文在将[CLS]文本[SEP]、[CLS]方面词[SEP]作为输入的基础上进行了拓展,加入了[CLS]+文本+[SEP]+方面词+[SEP]的第三个输入。

2.2 GRU

由于LSTM 内部结构复杂、计算量大,在模型训练上不仅需要较长的时间,模型所需参数也较多。

2014 年,提出了GRU 模型[10]。 与LSTM 相比,GRU 模型解决了长短期记忆的问题。 研究可知,GRU 只有2 个门,参数减少了1/3,因此更易收敛,收敛速度更快,可以大大加速迭代过程。 GRU 模型的单元结构如图2 所示。 对此模型中用到的数学方法,可由如下公式分别进行描述:

图2 GRU 神经元结构Fig. 2 GRU neuron structure

其中,zt和rt分别表示更新门和重置门;ht是t时刻的激活状态;ht-1是t -1 时刻的隐层状态。 重置门rt控制着前一个状态的信息ht-1传入状态。

2.3 BiGRU

在GRU 基础上,若要当前时刻的输出能获取更多信息,故而使用双向GRU 模型,将顺向和反向GRU 相结合,BiGRU 是由2 个GRU 上下正反向合并在一起组成的。 在每一个时刻t,输入会提供这2个方向相反的GRU,输出则是由2 个单向GRU 拼接而成。 BiGRU 网络结构如图3 所示。

图3 BiGRU 网络结构Fig. 3 BiGRU neural network structure

2.4 交互注意力层

其中,tavg是目标表示;γ是计算在上下文中重要性的函数;Wa是权重;ba是偏置项;tanh 是非线性函数;是tavg的转置。

同理,针对方面词的表示,见如下:

其中,各个参数的含义与式(6)相同。 通过计算单词的注意力权重后,可以利用注意力向量得到上下文cr和方面词tr的表示,即:

2.5 多头自注意力层

多头注意力是指能够同时执行多个注意力函数。一个注意力函数映射键向量K={k1,k2,…,kn}和查询向量Q={q1,q2,…,qm} 作为输出向量。 同时,计算一组查询Q上的注意力函数,用到的公式为:

其中,fs表示对齐函数,能够学习qj和ki之间的语义关系;Watt∈U2dhid是可学习的权重。

多头注意力机制可同时关注来自并行子空间中学习n个不同的分数,并且在对齐方面的功能尤为强大。n头的输出是串联起来投射到特定隐藏维度dhid,推得的数学公式具体见如下:

其中,Wmh∈Udhid×dhid表示向量的拼接;om是第m个注意力头的输出;m∈ [ 1,nhead] 。

多头自注意力是一种q =k的特殊情况。 给定一个上下文的词嵌入向量ec,可以得到多头自注意上下文表示:

3 模型实现

本文给出的模型框架如图4 所示。 由图4 可看到,主要由词嵌入层、特征提取层、词级交互注意力层、输出层组成:

图4 BiIAGRU-BERT 模型的整体框架Fig. 4 BiIAGRU-BERT model structure

(1)词嵌入层。 使用预训练BERT 模型进行词嵌入,将训练数据输入。

(2)特征提取层。 BiGRU 对词向量进行编码,用于提取语义特征。 前一个隐层的输出是后一个隐层的输入,最后得到隐藏层。

(3)词级交互注意力层。 将方面词和上下文的隐藏层分别进行池化,提取出其中的特征。

(4)多头自注意力层。 计算每个词向量和其它词向量之间的关系。

(5)输出层。 将得到的局部特征和全局特征进行融合,再经过softmax归一化操作,得到最终的情感预测结果。

3.1 实验平台与实验数据

本 文 选 取 Twitter 数 据 集[11], SemEval2014 Task4 中Restaurant 和Laptop 的数据集,其中极性分成消极、中性、积极三种,具体见表1。

表1 数据集信息Tab. 1 Data set

3.2 实验参数设置

BERT 词向量维度设置为768,用正态分布对权重矩阵进行初始化,偏差初始化为0。 在训练中,用Adam 优化器更新参数。 设置Batch为16,学习率为5e-5。 实验软硬件环境见表2。

表2 实验环境Tab. 2 Experimental environment

3.3 实验结果分析

为了全面地评价网络的性能,列出了一些基线模型方法进行比较,对比的基线模型介绍如下。

(1)SVM[12]:支持向量机,通过人工构造特征,引入外部情感词典完成分类。

(2)LSTM:LSTM 模型,只使用LSTM 对上下文进行处理。

(3)Bi-LSTM[13]:直接将文本输入LSTM,只是从前后有双向的LSTM。

(4)TD-LSTM[14]:用了2 个LSTM 模型,分别输入左半部分的上文带上方面词,右半部分的下文带上方面词。

(5)ATAE-LSTM[15]:提出了融合方面信息的LSTM 和注意力机制的模型。 能够通过注意力机制只关注特定方面。

(6)IAN:用LSTM 对方面词和句子分别建模,并通过注意力机制,分别对其中的隐层进行提取,再进行拼接得到情感分类。

(7)RAM[16]:循环注意力网络,提出循环注意力机制,多跳数目设置为3。

(8)BiIAGRU-BERT:基于BERT 的交互注意力模型,即本模型。

仿真实验对比结果见表3。 实验结果表明,加入方面信息和交互注意力能够显著改善分类效果。因为LSTM 神经网络相对复杂且在小数据集下的效果不如GRU,因此本文采用GRU 作为特征提取层。BiIAGRU-Glove 模型证明,效果比仅有交互注意力IAN 模型和注意力 ATAE - LSTM 模型要好。BiIAGRU-BERT 和BiIAGRU-Glove 具有相同的模型结构,不同的是前一个模型采用的是BERT 预训练模型,结果表明与BERT 模型相结合能在方面级情感分类任务中取得更好的效果。

表3 实验结果对比Tab. 3 Experimental results of different models

4 结束语

本文提出一个基于注意力编码器与交互注意力网络模型,采用基于注意力的编码器对上下文和目标之间建模,还将预训练模型BERT 应用到模型中,结果表明能够提高方面级情感分类的准确率和F1值,达到了较好的分类的效果。 实验结果表明注意力机制结合BERT 预训练语言模型在基于方面级的情感分类任务中的有效性。

猜你喜欢
注意力向量分类
向量的分解
让注意力“飞”回来
分类算一算
聚焦“向量与三角”创新题
分类讨论求坐标
数据分析中的分类讨论
教你一招:数的分类
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用