融合MAML与BiLSTM的微博负面情感多分类方法

2022-04-09 07:04王汝传
计算机工程与应用 2022年5期
关键词:分类样本文本

徐 超,叶 宁,2,徐 康,2,王汝传,2

1.南京邮电大学 计算机学院,南京 210000

2.江苏省无线传感网高技术研究重点实验室,南京 210000

微博是一种分享和评论的平台,越来越多的用户通过微博自由地表达自己的观点和情感。而如今,微博已经成为人们沟通及情感交流的重要途径之一,产生的海量数据为文本情感分类提供了数据基础,如何分析微博中用户的情感倾向已被越来越多的研究者关注,同时成为了自然语言处理的研究热点。文本情感分析的概念最早由Nasukawa等[1]提出,是对带有情感色彩的主观性文本进行分析、推理和归纳的过程,目的是挖掘文本信息中用户的情感极性。对用户微博进行情感分析,有助于了解公众的情感状态,及时获取公众的观点态度,可以广泛应用于商品评价、电影评价和新闻推荐等领域,同时对于舆情控制、民意调查等工作具有重大意义。

传统的情感分类技术主要为基于规则的方法和基于机器学习的方法。基于规则的方法主要通过经验或者专家意见得到统计特征、情感词典等来对文本进行情感分类;基于机器学习的方法首先通过人工标注一部分数据建立训练集,然后通过对训练集数据进行特征提取和学习来构建一个分类模型,最后使用分类模型对未知标签的数据进行情感分类。但随着数据量的激增,文本信息的特征越来越复杂,这两种方法的缺点也逐渐暴露出来,他们过于依赖复杂的特征工程。而深度学习的出现为自然语言处理任务提供了新的手段。例如,Socher等[2]基于递归神经网络提出了RNTN(recursive neural tensor network)模型进行情感二分类;Wang等[3]利用长短期记忆网络对文本情感极性进行分析;Jiang等[4]提出了MANs(mutual attention neural networks)模型用于方面级情感分类;Zhao等[5]基于GCN(graph convolutional networks)建模情感依赖关系,进而进行情感分类。深度学习模型可以针对目标问题自动学习良好的特征,在文本情感二分类任务中取得了很好的效果,但在多分类任务中仍有改进的余地。

考虑到情感分类任务的多样性,而深度学习模型遇到新的分类任务时往往需要大量数据重新训练才能取得明显的效果,本文将能够在小样本情况下快速适应新任务的元学习与深度学习方法结合,提出了一种基于MAML与BiLSTM的微博负面情感多分类方法,本文的主要贡献如下:(1)通过利用现有的微博语料库和爬取的微博数据构建了一个新的微博负面情感数据集用于实验。(2)提出一种基于MAML与BiLSTM的微博负面情感多分类方法。该模型在传统的BiLSTM的基础上添加了MAML元学习框架。通过设计相关实验验证了新模型在微博情感多分类任务中的有效性。(3)通过设计相关实验,验证了在微博情感分类任务中引入MAML,对情感分类任务性能的提升作用。实验结果表明,本文模型的性能超过一般的深度学习模型。

1 相关工作

1.1 元学习

是否具有快速学习的能力是区分人类智能和人工智能的关键特征。虽然传统深度学习在数据挖掘中已经获得了很大的成功,但用这种方法训练出来的分类器,在遇到只有少量数据可用或者需要适应任务变化时,通常表现不佳。这主要是因为在学习新任务时缺乏有效的先验知识。元学习的概念最早由Schmidhuber[6]提出,元学习通过从许多任务的学习经验中获取元知识来解决上述问题[7-9]。元学习获得的元知识提供了归纳偏差[10],使得模型可以在多个任务之间泛化,从而产生了高效采样的快速学习算法。

以往基于元学习的深度学习工作已经很多,例如,Graves等[11]研究了使用递归神经网络(RNNs)来解决算法任务。他们用一个由LSTM实现的元学习器进行了实验,但是他们的结果表明LSTM架构不适合这类任务。然后,他们设计了一个更复杂的RNN架构,其中LSTM控制器被连接到一个外部存储库,它可以读写,并证明这些记忆增强神经网络(MANNs)实现了比LSTMs更好的性能。Santoro等[12]对LSTM和MANN元学习者的few-shot图像分类进行了评价,证实了LSTM架构的不足。但是同时也发现MANNs具有复杂的内存寻址体系结构,很难训练。Ravi和Larochelle[13]在一个少样本分类设置中使用了一个类似的LSTM元学习器,传统的学习器是一个基于卷积网络的分类器。将元学习算法分解为两部分:对传统的学习器初始参数进行训练,使其适应于快速的梯度变化;LSTM元学习器被训练成适应元学习任务的优化算法。Finn等[14]研究了一个特殊的情况,元学习器必须使用梯度下降方法来更新分类器,并证明了这个简化模型(称为MAML)可以实现等效的性能。Munkhdalai和Yu[15]探索了一种更复杂的权重更新方案,在少样本分类上获得了较小的性能改进。在最新的研究中,Xu等[16]提出了一种全新的编码器-解码器模式的元学习方法,他们开发了一种学习迭代更新的方法将上下文信息编码到任务表示中,元学习器在更新过程中优化模型,最终的表示用于约束解码器对未标记数据进行预测,实验证明该方法在基准数据集tieredImageNet[17]取得了最好的结果。Collins等[18]在MAML的基础上提出了“任务鲁棒性”的概念,他们认为元学习方法仅在某些特定分布的任务中表现良好,因此他们使用新公式重构了MAML,使模型成为任务稳健的。

1.2 微博情感分类

微博出现后,以其独特的特性吸引着广大学者纷纷投入文本情感分析的研究。研究工作大多仍是基于规则的方法、基于机器学习的方法和基于深度学习的方法。例如,栗雨晴等[19]利用相似度计算的方法对情感词语知识库进行扩展,构建了一个双语情感词典,并采用Gauss混合模型和对称相对熵的k近邻算法实现对微博文本的情感分类;刘志明等[20]研究微博文本信息的特征,将机器学习算法和特征选择结合对微博文本的褒贬进行分类,实验结果表明,在特征选择时使用信息增益的方法,微博情感分类的效果最好。但是由于这些方法过于依赖特征工程,耗费大量人力,越来越多的研究者开始使用深度学习的方法解决情感分类问题。Santos等[21]以构成单词的字母为单位,提出基于单词构造的CharSCNN模型(character to sentence convolutional neural network)。CharSCNN模型以CNN为基础,采用两个并行的卷积层分别学习单词的构造特征和句子的语义特征,充分体现了CNN对文本局部特征抽象和提取能力。该模型在短文本情感二分类时展示了良好的效果。Yao等[22]提出基于Attention的BiLSTM神经网络,定性捕捉其中有用的语义信息。从句子的两个方向学习语义特征对短文本进行情感分析,在斯坦福树图数据集与电影评论数据集上实验,证明该模型较无注意力模型的LSTM性能提高3%。Abdi等[23]构建了以统计知识、语言知识、情感知识、情感转换规则和词语嵌入方面为特征向量的新特征集,并证明了使用该特征集可以有效地提升神经网络模型的分类准确率。Chen等[24]提出了新模型Tran-sCap(传输胶囊网络)用于方面级情感分类,胶囊网络已广泛应用分类任务和特征提取,相较于CNN,胶囊网络可以保留更多的信息,在该模型中,他们开发了一种动态路由方法,将句子级语义表示封装为来自方面级和文档级数据的语义胶囊,并使其能够自适应迁移学习框架。

上述深度学习方法在二分类的情感分类任务上表现良好,但是由于情感多分类问题更细腻,许多情感词含义之间的区别十分微妙,深度学习方法在情感多分类问题上仍需改进。并且在实际应用中,情感分类任务多样,在面对新任务时深度学习模型往往需要大量样本重新训练模型。受此启发,本文将元学习方法引入情感分类任务,考察元学习分类器在小样本微博情感多分类任务中的效果,构建了一种基于MAML与BiLSTM的微博负面情感多分类方法,同时使用微博负面情感数据集构建了情感多分类任务,并设置了多个对比实验,对本文提出的模型进行验证。

2基于MAML与BiLSTM的模型框架

2.1 微博负面情感数据集构建

为满足实验需求,构建了一个新的数据集:微博负面情感数据集。本文将通过爬虫程序获取的微博文本数据和网络上现有的微博数据资源整合,共获得了120 566条原始数据。然后采用人工标注的方法对新浪微博文本数据进行标注,标注小组共为8人,均为实验室成员,具有相关的专业知识和正常的认知能力。为了确保数据的可用性,采用二轮交叉标注,即每人负责标注一类标签数据,标注完成后由第二位成员检验,当对标注结果出现异议时,由第三位成员进行确认,最终构建了一个19 500条数据的多标签数据集。

2.2 具体算法与模型架构

本文在BiLSTM双向长短期记忆网络的基础上引入元学习方法,构建了基于MAML与BiLSTM的微博负面情感多分类方法,整体架构如图1所示。

图1 模型架构Fig.1 Model architecture

2.2.1 词向量表示层

词向量表示层为整个模型的输入,在将实验需要的数据向量化之前,首先要根据few-shot learning中的实验设置随机抽取样本。例如5-way 5-shot的设置,需要从数据集中抽取5个类别的样本,每个类别中的样本个数要超过5个。这些样本将之称为一个Task,然后将一个Task分为support set和query set。support set包含中5类样本并且每类样本个数为5个,而query set中拥有剩余的所有5类样本并且通常个数超过5个以此提高模型的泛化能力。接下来就是数据向量化表示阶段,此阶段需要一个词典Dd×N,词典由大规模语料库经过词向量化训练之后得到,可直接使用。其中d为词向量的维度,N为词语的个数。而本文的词向量化表示就是通过预处理将每条数据变成文本序列T={w1,w2,…,wn},然后根据T中的每个词w比照词典中的词向量,最终获得整个文本序列的词向量表示。

2.2.2 BiLSTM层

对于微博文本数据,需要考虑词语之间的依赖关系。因此,本文采用BiLSTM算法,这样既可以同时获取上下文的语义信息,也可以更充分提取文本中所包含的特征。

LSTM恰好对于长期依赖信息具有很强的学习能力,但一般的LSTM模型仅能捕捉文本中正向的语义关系,对于反向的语义信息无法获取。因此,本文采用了BiLSTM模型。BiLSTM由正反两个LSTM模型组成,假设输入的文本序列为X={x1,x2,…,xn},其中xi(i=i1,i2,…,in)为词向量。正向的LSTM可以学习到由x1到xn的语义关系,反LSTM同理,这样就能够同时获得上下文信息。LSTM由一个个细胞单元组成,并有三个门结构来控制网络中的数据,它们分别为遗忘门、输入门和输出门。具体过程中,首先经过的是遗忘门,它用于有选择地保留上个隐藏状态的信息,公式为:

其中,σ为softmax激活函数,Wf为遗忘门权值,ht-1为t-1时刻的隐藏状态,xt为t时刻的输入。接下来是输入门,用于决定当前输入需要保留多少信息,公式为:

其中,Wi、Wc为输入门权值。最后为输出门,获得输出以及当前时刻的隐藏状态,公式为:

其中,Wo为输出门权值,ct为当前时刻的细胞单元状态。在双向长短时记忆网络中,输入n维词向量,分别通过前后两个细胞单元,每个时刻的输出信息都由两个细胞单元的输出连接表示,表示为,并且同时考虑上下文的语义信息。在本模型中,由每个Task中support set的数据经过BiLSTM层训练,不断学习并更新学习器参数。更新后,再由query set的数据经过该层训练并计算损失。通过以上的训练过程,可以为元学习器的学习过程提供所需的信息。

2.2.3 元训练层

元学习层目的是使模型可以从少量的新数据中快速学习新任务。通过元学习,可以用以前的经验指导新的学习任务,从而拥有学会学习的能力。MAML是很适合的算法,它可以很容易地与神经网络结合,也可以用于其他各种损失函数。

MAML直接优化学习器的初始化参数,使得学习器在面对新任务时,仅使用少量数据计算的一步或多步梯度下降步骤更新参数后,就可以在新任务上达到最大泛化性能,也就是拥有了学会学习的能力。具体过程为,从数据集中抽取数据并分为多个Task,称为Ti。在T1的support set上经过一次梯度下降得到当前最适应任务的参数θ,然后在T1的query set上进行测试,从而得到当前任务的损失LT1f(θ)。接下来,在抽取第二个任务,得到相应任务的损失,直到得到任务Tn的损失,并取这些任务的损失总和:

其中f(θ)为损失函数,本文使用的为交叉熵损失函数。最后使用不同任务上获得的测试误差之和作为元学习器的优化对象,通过梯度下降的方法更新参数,最终获得一组初始化参数,将其运用在fine-tune上,以此获得本文预想的模型,使其在微博负面情感分类任务上,可以仅适用少量数据经过一次或多次梯度下降就可以达到很好的性能。

3 实验与分析

3.1 数据集

本文使用的实验数据为自行标注的新数据集:微博负面情感数据集。数据集分为训练集和测试集两部分,每条数据包括情感标签以及文本内容。情感标签总共分为13种,每类标签拥有1 500条数据,共计19 500条。各类情感标签和数据样例如表1所示。本文在不同模型和数据集不同划分比例两个维度进行了对比实验。

表1 微博负面情感数据集样例表Table 1 Sample of microblog negative sentiment data set

首先,根据以往元学习研究的实验设置,在模型对比实验中,设置的训练集包括8类数据,共计12 000条。测试集包括5类,共计7 500条。在此基础上进行不同模型的对比实验。

另外,因为数据集中包含的类别较少,在本文方法的基础上采用了不同的类别比例随机抽取数据分别作为训练集和测试集进行比较实验,研究当前数据集不同类别比例对实验结果的影响。

将微博文本数据构建成词向量时,本文使用IMDB数据集作为预训练的词向量词典,训练过程使用GloVe模型,参数均为默认设置。在对微博数据进行分词时,使用了python中文分词组件jieba分词,此外本文还进行了一系列微博文本预处理,例如繁简转换、去停用词、剔除无意义符号等。最终进过词嵌入过程,得到一个包含46 357个词的词向量空间,每个词的词向量维度为300。

3.2 实验参数设置

本文两种实验使用了相同的参数,具体的实验参数设置如表2所示。

表2 模型参数表Table 2 Model parameter table

3.3 实验对比模型

MNB模型(multinomial naive Bayes)[25]:是传统机器学习代表,曾在大量多分类任务中取得优秀的效果。

MCNN模型(multichannel convolutional neural network)[26]:MCNN模型使用多通道的卷积神经网络对文本词向量的表征进行学习,从而实现对文本情感的分类,它是较早将神经网络应用于情感分析任务的模型。

BiLSTM模型:该模型采用Zaremba等[27]描述的LSTM网络结构,基于文本的词向量表示,结合双向长短时记忆网络捕获上下文信息进行分类。

Matching nets模型[28]:该模型结合比较流行的attention结构和记忆网络搭建的快速学习网络,包括特征提取网络、记忆网络、距离度量网络和使用attention模块的分类网络。在训练阶段就直接去模仿测试阶段时只有少量已标注样本的情况,模型训练的过程中会将单个support set和一个测试样本作为输入同时进行特征提取,之后通过记忆网络进一步处理,然后通过距离度量和attention模块获得最终预测值,是few-shot learning中常见的模型。

Meta-learn LSTM模型[13]:该模型作者发现LSTM的更新规则与一般的梯度下降算法更新规则类似,因此训练了一个元学习器LSTM,利用LSTM的单元状态更新公式,来学习参数更新规则,从而训练神经网络。

3.4 实验结果分析

3.4.1 模型对比实验分析

本文算法与其他算法在相同数据集上的实验结果如图2、图3所示。

图2 5-way 1-shot实验结果Fig.2 5-way 1-shot experimental results

图3 5-way 5-shot实验结果Fig.3 5-way 5-shot experimental results

从图2和图3的结果来看,神经网络模型相较于传统机器学习整体上更加适合微博负面情感分类任务。通过对比MCNN和BiLSTM模型的实验结果,表明在样本数量过少情况下,两者的性能相近,而BiLSTM可以通过后向传播同时获得文本数据上下文信息,相比MCNN更适用于本任务。Matching nets是few-shot learning中常见的模型,在情感多分类任务中拥有不错性能,相较于BiLSTM在5-way 5-shot实验中准确率、召回率和F1值分别提高了3.19个百分点、3.87个百分点和4.68个百分点,说明了在文本情感多分类任务中,记忆增强网络可以保留重要信息,但同时一个好的学习策略可以使性能继续提升。

Meta-learn LSTM在微博负面情感数据集上两次实验的准确率、召回率和F1值均排在第二位,整体上来说,Meta-learn LSTM的性能明显超过了前面四种模型,说明元学习思想对于微博负面情感分类任务更加有效。对比BiLSTM-MAML和Meta-learn LSTM模型的实验结果,表明BiLSTM-MAML模型在本数据集上拥有最好的性能,在5-way 5-shot实验中拥有明显的性能提升,准确率、召回率和F1值分别提高了1.68个百分点、2.86个百分点和2.27个百分点。可见,在数据集样本为情感类文本数据时,学习器使用BiLSTM模型可以更加有效地促进元学习器学习过程,同时也充分证明本文方法的有效性。

3.4.2 数据集比例划分的实验分析

数据集不同类别比例及实验结果如图4所示。

图4 数据集划分实验Fig.4 Data set division experiment

经过实验发现训练集样本类别数量过少时分类准确率明显下降,训练集与测试集数据比例为6∶7时准确率仅有60.48%,相较于其他比例有明显的下降,在比例为8∶5及以上时,随着训练集样本类别的增加,准确率有小幅的提升,最高提升了0.66个百分点。从总体实验结果来看,在训练样本充足的情况下,多个比例下的分类准确率趋近,数据集类别个数对实验影响较小,模型具有一定的稳定性。

4 总结

本文提出了一种基于MAML与BiLSTM的微博负面情感多分类方法,利用现有的情感分析资源和数据,构建了一个包含13个类别的微博负面情感数据集,引入了BiLSTM模型对微博负面情感文本数据进行编码,构建语义表示并训练参数。本文通过将BiLSTM与MAML结合,有效地提升了小样本学习情况下,模型对于微博文本的情感分析性能。在微博负面情感数据集上,本文提出的模型表现出了优越的性能和一定的稳定性,并在多个指标上超过了当前较好的模型,证明了本文在微博负面情感分析方面的有效性。

猜你喜欢
分类样本文本
文本联读学概括 细致观察促写作
分类算一算
用样本估计总体复习点拨
作为“文本链”的元电影
在808DA上文本显示的改善
分类讨论求坐标
基于doc2vec和TF-IDF的相似文本识别
规划·样本
数据分析中的分类讨论
教你一招:数的分类