基于注意力机制的ALBERT-BiLSTM-CNN 评论情感分类
2024-05-20陶贻勇别春洋
陶贻勇,别春洋
(安徽理工大学计算机科学与工程学院,淮南 232001)
0 引言
随着互联网的普及和快速发展,电子商务取得了巨大发展,越来越多的人依赖网络来获取信息、沟通交流和购物。互联网为消费者提供了便捷的购物平台,使他们能够轻松浏览和购买各种商品和服务。越来越多的人喜欢在电商平台上花费大量的时间,并且对商品表达自己的情感和观点。在线评论可以衡量用户对商品的意见和反应,并且由此可以确定他们对这些商品的态度。消费者通过这些评论可以轻松了解其他人对该产品的情感倾向,做出最终的购买决策。同时,商家需要根据消费者对商品的评论反馈信息,了解消费者的情感倾向,以便提高商品的价值。然而,大量的评论就会导致信息过载,因此对评论内容进行情感分类就显得很重要。
情感分类是NLP(natural language process)的一个重要领域,它的目的是对文本进行情感识别。评论情感分类在社交媒体和在线评论中具有广泛的应用,对于了解用户情感倾向具有重要意义。在情感分类的过程中,文本语义情感特征的提取是至关重要的,准确地捕捉文本中蕴含的情感表达和情感倾向是情感分析模型的核心任务。
1 相关工作
情感分类文本的方法主要分为三种:基于情感词典的方法、深度学习以及机器学习。
1.1 基于情感词典分类方法
情感词典文本分类是一种无需监督的学习方法,它的核心思想是构建一个包含表达观点或情感的词典,根据所构建的词典和文本内容进行匹配,计算文本的情感得分,最后获得文本的情感倾向[1]。Strapparava 等[2]创建WordNet-Affect 的情感扩展词典,丰富了词典内容。周咏梅等[3]提出构建HowNet 和SentimentWordNet 的中文情感词典方法应用到微博情感文本分类,提供了新的词典资源。然而,基于情感词典的方法研究依赖于人工标记,文本词语覆盖率低,只能处理一般情感分析问题[4]。
1.2 基于机器学习分类方法
基于机器学习分类的方法通常可分为两个主要步骤:首先,对文本进行特征提取,然后通过分类器来完成文本分类任务。朱军等[5]提出了改进的机器学习和情感词典结合的集成学习方法。邓君等[6]通过构建Word2Vec 和SVM 模型,发现情感模型可以有效预测网民的情感变化趋势。与基于情感词典方法相比,Ravi 等[7]通过结合词典的方法和SVM,提高了情感分类的准确性。尽管机器学习在文本分类取得了显著成果,但是机器学习方法需要大量的标记数据进行训练且时间较长。
1.3 基于深度学习分类方法
深度学习分类算法有CNN、RNN 和LSTM等,常用于NLP 中进行特征提取。Zhou 等[8]为提高对文本分类的准确率,提出了注意力机制的双向LSTM 模型对特征进行选择。Collobert等[9]将CNN 引入到自然语言处理领域并取得出色的效果。Lai 等[10]使用RNN 捕获文本上下文信息,结合CNN 最大池化层选择重要关键词完成文本分类任务。Qing 等[11]提出自注意力机制处理词向量特征并结合CNN 的文本分类模型。Huang 等[12]提出基于BERT 深度卷积神经网络和BiGRU 的文本分类模型。Guo等[13]提出一种基于CNN和BiLSTM模型进行消费者评论情感分析。
张谦等[14]进行了微博文本的分类研究,采用了TF-IDF 和Word2Vec 方法。然而,他们的研究未考虑到Word2Vec 是一种静态词向量表示方法,也没有考虑到词向量在上下文语义环境中的变化。周瑛等[15]采用了带有注意力机制的LSTM 模型来进行文本情感分析,这一方法显著提高了情感分类的准确率,但他们的模型没有考虑到数据之间存在长期依赖和梯度消失爆炸问题。Rezaeinia 等[16]改进预训练词嵌入并且使用CNN,但没有考虑文本上下文信息对情感分析的影响。为了解决上述问题,本文提出了一种基于注意力机制的ALBERT-BiLSTM-CNN 模型,对评论情感进行分析。
2 注意力机制的ALBERT-BiLSTM-CNN评论情感分析模型
模型构建如图1 所示,主要由词嵌入层ALBERT、BiLSTM、Attention 和CNN 层四部分组成。首先对在线评论数据进行预处理,然后将经过预处理的数据输入到ALBERT 层模块中,利用ALBERT 模型获取文本的动态特征表示。使用BiLSTM 模块来捕捉文本的上下文语义信息,BiLSTM 能够同时考虑文本前后之间的关联,在BiLSTM 的输出中,引入Attention 机制,提高对文本内容中部分关键词的权重,然后利用CNN 提取文本局部特征信息,最后经过Softmax分类器获得评论情感分类。
图1 基于注意力机制的ALBERT-BiLSTM-CNN 评论情感分析模型
2.1 词嵌入层ALBERT
BERT[17]是由Google AI 语言科学家研究提出的预训练语言模型,它是一种基于Transformer架构的双向编码器网络。Transformer则是一种深度学习模型,其核心是基于注意力机制,用于学习文本数据中不同单词的上下文之间的关系。传统的语言模型如Word2Vec 只考虑从左到右或从右到左的顺序读取输入序列。但是,BERT具有双向性,它可以同时从两个方向读取输入序列,从而能够综合考虑单词在句子中的前后文信息,这种双向性使得BERT 能够更好地理解句子的上下文和语义。
尽管BERT 在NLP 任务中取得了显著成果,但是由于BERT 的训练不仅耗时,而且涉及的参数数量巨大,限制了其在实际应用中的使用。为了解决BERT 模型的这些问题,谷歌研究人员又提出了ALBERT[18](A Lite BERT)模型作为一种改进方法,ALBERT 和BERT 以Transformer模型作为基础架构,ALBERT 是一种自监督学习模型,它的输入由三个部分组成,分别是词向量、句子向量和位置向量。E1,E2,…,EN是序列化后输入文本中的字符向量,经过多层Transformer编码器的处理,最后得到ALBERT 处理的TN词向量,ALBERT模型如图2所示。
图2 ALBERT模型结构图
相比于BERT 模型,ALBERT 主要有以下三个创新:
(1)词嵌入因式分解:通过将词汇嵌入大小的one-hot 向量转化为较低维度的空间,再映射到隐藏空间,使得隐藏层的大小与词汇嵌入的参数大小相互隔离,参数量由O(V×H)减少到O(V×E+E×H),当E<<H时,参数量的减少会非常显著。
(2)层参数共享:ALBERT 通过共享Transformer 编码器的参数来减少整个模型的参数数量和模型的复杂性,提高模型的效率和训练速度。
(3)句间连贯性损失:BERT 句子之间的关系主要是通过NSP(next sentence prediction)实现的,该模型需要判断两个句子是否连续。ALBERT 引入SOP(sentence order prediction)以提高模型性能。
2.2 BiLSTM层
1997 年,Hochreiter 等[19]改进RNN(recurrent neural network)只有短期记忆而不能处理长序列数据的问题,LSTM(long short-term memory)是为了解决循环神经网络中的梯度爆炸和梯度消失问题而提出的。每个LSTM 单元由输入门、输出门、遗忘门和一个记忆单元组成,这些门的作用是处理和管理记忆单元中的信息。LSTM的单元结构如图3所示。
图3 LSTM单元结构
其中,xt是第t个LSTM 单元的输入,ht-1是前一个LSTM 单元的输出,ft,it,Ot分别是遗忘门、输入门、输出门在t时刻的状态,LSTM 的计算如下:
其中:W和b分别对应门的权重矩阵和偏置的向量,σ表示Sigmoid激活函数。ft决定哪些信息通过输入状态xt传递到隐藏状态ht-1,通过ft可以判断哪些信息需要丢弃,并将更新后的信息存储在下一个记忆单元中。表示t时刻LSTM 单元的状态,它通过输入门来更新信息,并使用激活函数tanh 来计算得到更新后的信息。LSTM只在单个前进方向依靠过去的信息分析数据,BiLSTM 的结构具有两层LSTM,其模型如图4所示。正向LSTM 可以接收输入序列的先前数据,而反向LSTM可以接收输入序列的后续数据,隐藏层bt是由和合并而成,合并公式如下:
图4 BiLSTM模型
2.3 注意力机制层
Attention 机制可以根据输入的不同特征信息,为每个输入特征分配不同的权重,模型可以动态地调整对这些信息关注程度。在BiLSTM中引入注意力机制,可以更有效地提取关键特征。注意力机制的计算公式如下:
其中:ht表示t时刻BiLSTM 的输出,Wu和b分别表示为注意力权重和偏置,S由注意权重αt和BiLSTM的输出ut加权求和计算得出。
2.4 CNN层
CNN 是一种深度学习的方法,被广泛应用于情感分类领域。CNN在文本挖掘中取得了较高的准确性,因此本文使用CNN提取文本上下文显著特征。CNN由卷积层和池化层组成,主要用于捕捉文本的关键特征。卷积层是CNN的核心,它是由一组卷积核组成,使用卷积核和输入数据的局部窗口用于进行卷积计算,公式如下:
其中:ci是卷积计算结果,f表示ReLU 非线性激活函数,F表示卷积核,hi∶i+l-1输出向量i到i+l-1,•是卷积运算,b表示偏置参数。卷积窗口以步长为1向下滑动,以获得局部特征向量C。
池化层目的是对卷积层的结果进行采样,保留局部最优特征,同时减小卷积向量的大小并避免出现过拟合问题。本研究采用最大池化方法,因为它有助于保留局部区域中的最显著特征,最大特征值提取计算公式如下:
CNN的输出由特征值组合成M,公式如下:
3 实验和结果分析
3.1 实验数据
本研究采用Python 爬虫技术从携程网站爬取了消费者对入住酒店的在线评价,作为实验文本数据,并经过预处理。在预处理步骤中,我们对在线评论情感进行极性的标注,去除一些与分类无关的特殊字符和表情符号,删除了非中文的评论和停用词等步骤。最后获得了26530 条评论,其中包括积极评论18060 和消极评论8470 条,消极评论标记为0,反之,积极评论标记为1。本文以7∶2∶1 的比例将评论数据集划分为训练集、验证集和测试集,情感标注部分的数据示例见表1。
表1 部分评论数据集情感标注
3.2 实验模型参数
实验参数主要有三个部分,包括ALBERT、CNN 和BiLSTM,ALBERT 是词向量嵌入模型,隐藏层大小为768,注意力头数为12,最大序列长度为512,具体实验模型参数见表2。
表2 模型参数
3.3 评估指标
在本研究中,我们使用精确度(Precision)、召回率(Recall)和F1 值(F1)作为评价指标,评估提出的分类模型和比较模型性能,Precision是指在所有被模型预测为正例的样本中,实际上正例所占的百分比;Recall是指被正确预测为正例的样本数与实际正例样本数之比;F1 是精确率和召回率的调和平均值。评价指标公式计算如下:
其中:TP指模型正确识别为属于该类的预测数,FP是指模型错误地分配给该类的错误预测数,FN是指模型未识别为该类样本的错误预测数。
3.4 实验对比及结果
为了验证本文模型的有效性,将该模型和Word2Vec-BiLSTM、Word2Vec-CNN、ALBERTBiLSTM、ALBERT-CNN、ALBERT、BiLSTMCNN六个模型进行对比,实验结果见表3。
表3 不同模型情感分析实验结果(%)
通过实验结果可知,本文提出的模型准确率和召回率分别是88.43% 和88.17%。 与Word2Vec-BiLSTM 模型相比,ALBERT-BiLSTM模型准确率和召回率分别提高2.29 和2.84 个百分点。与Word2Vec-CNN 模型相比,ALBERTCNN 模型的准确率和召回率分别提高2.47 和2.04 个百分点。使用ALBERT 获得的动态词向量相较于使用Word2Vec,在文本分类任务上表现更优,提高了文本分类准确率。
本文模型与ALBERT、ALBERT-BiLSTM、ALBERT-CNN、BiLSTM-CNN 相比,准确率分别提高了2.83、1.4、1.12 和0.81 个百分点,召回率分别提高了3.15、1.42、1.55 和0.8 个百分点。实验结果表明,本文模型对评论文本的情感分类效果要优于其他对比模型,有效克服了CNN模型不能处理文本之间长期依赖关系,BiLSTM模型不能捕获文本关键信息的问题,更适合对评论文本进行情感分类。
4 结语
本文提出了一种基于注意力机制的ALBERT-BiLSTM-CNN的评论情感分析模型。利用ALBERT可以获得文本的动态词向量,BiLSTM根据文本上下文信息,对文本全局特征进行提取,Attention 机制可以增强对关键特征词的选择,CNN 捕获显著局部特征,有效提升了文本分类的准确度。实验结果表明,和其他六个对比模型相比,本文模型的F1 值平均上升2.35 个百分点,实验结果均优于对比模型。因此,本文所提出的方法对于评论文本情感分类具有一定的研究意义。本论文研究仍存在一些不足,例如实验文本数据仅来自酒店评论,数据集较小,在模型设计方面,后续研究可以考虑结合情感词典方法,提高深度学习模型对文本分类的效果。