目录
摘要
【目的】 方面级情感分析能够更好地洞察用户评论,是近年来研究的热点。针对方面级情感分析领域中标签数据较难获取的问题,设计简单而有效的多级数据增强方法。【方法】 在不改变情感极性的前提下,针对一个评论中特定几个目标方面进行句子级相邻词、领域级同类词和词向量级同义词替换,既保证了标签不变性,又能够生成多样化的合成训练样本。每种数据增强方法能够单独运用或者随机组合运用。【结果】 提出的方案分别运用在基于注意力机制+预训练模型和基于依赖树+预训练模型上,并应用于对比学习框架。在SemEval 2014 Task 4 Sub Task 2上进行实验,实验结果表明提出的数据增强方法是有效的,Accuracy和Macro-f1指标优于基准指标。【结论】 多级数据增强方法可以有效缓解方面级情感分析任务中数据不足问题,既可以作为原训练数据的有效补充实施共同训练,也可以构建正样本用于对比学习实施多任务训练。
关键词: 方面级情感分析; 预训练模型; 数据增强; 依赖树; 注意力机制; 对比学习
引言
方面级情感分析(Aspect-based Sentiment Analysis, ABSA)[1]旨在确定产品评论等在线情感文本中出现的一个或多个方面的情感极性。例如,评论“I charge it at night and skip taking the cord with me because of the good battery life.”中的两个方面:“cord”为中性(neutral),“battery life”为积极(positive)。ABSA与句子级或篇章级的情感分析任务相比,能够更好地洞察用户评论,是一种细粒度的情感分析任务,在个性化推荐等应用中发挥着重要作用。
在文本情感分析领域,基于BERT[2]等大模型的预训练语言模型(Pre-trained language Models, PLM)+任务微调(Fine-tuning)训练范式已成为主流,并在GLUE基准测试[3]上取得了最先进的性能。这种训练范式先在大规模无监督数据上进行预训练,然后在下游任务上进行有监督的微调。下游任务中用于微调的训练数据的质量和数量决定了实验效果的好坏[4]。实际应用中获取大量的标注数据往往因为代价高昂而变得不切实际[5]。小样本问题在ABSA任务中尤为突出,以当下最受欢迎的ABSA基准数据集SemEval 2014 Task 4 Sub Task 2 [6]为例,该数据集包含2个数据集:餐厅(简称Rest)和笔记本电脑(简称Laptop),其中Laptop数据集共包含3,045条评论,而可用于训练的含有方面词的句子仅为1,462条,占比47.75%(见第4节所示)。由此可见,ABSA任务是典型的Few-shot场景,而人为注释错误和噪声等问题加剧了这个问题,使得ABSA任务依然是传统情绪分析中的一个具有挑战性的子任务[7]。
数据增强(Data Augmentation,DA)是一种缓解数据不足的有效技术,已经被图像处理、自然语言处理等领域用于增强现有的标记数据和提升深度网络性能[4]。然而,由于自然语言具有离散性、复杂性和抗干扰能力较差等特性,使得通用数据增强技术在NLP中的应用更加困难[8-9]。 Longpre等[10]通过实验证实,一些流行的DA技术(如EDA[11],反向翻译[12])并不能持续提高基于Transformers预训练模型的文本分类任务的性能,有些情况下还会减弱其性能。另外,这些DA技术大都采取对整句中的任意单词进行替换、删除等操作,可控性较弱。例如,EDA方法中对整个文本执行随机替换、交换或者删除操作,有可能改变文本标签、丢失方面词或者关键情感信息。
鉴于此,本文通过探索最常用的同义词替换数据增强方法,将其适应到细粒度的ABSA任务中,只运用于评论中的“方面词”替换,以解决小样本问题。主要贡献有:(1)利用ABSA任务的特点,针对方面词设计多种级别的数据增强(Multi-Level Data Augmentation, MLDA)策略,既设置了合理范围的噪声,又确保了重要信息不丢失从而保持标签不变性,分别在基于注意力机制+预训练模型和基于依赖树+预训练模型上进行测试,结果表明,MLDA策略能够有效解决ABSA训练数据的稀缺性问题;(2)将MLDA用于正样本对构建、设计对比学习训练框架,与原有训练模型进行多任务学习,提升ABSA任务性能;(3)首次提出类别领域级同类词替换方案并获得成功。
1 相关工作
1.1 方面级情感分析任务
ABSA任务需要关注每个具体方面的细微观点,它的核心任务是将各个方面与其相应的潜在意见词建立情绪依赖联系[13],意见词通常是一个具有明确情绪极性的表达。现有流行的ABSA任务解决方案可分为基于经典注意力机制、基于依赖树、基于预训练模型或者是这3种方法的混合来达成目标。例如,Wang 等[14]提出一种基于注意力的LSTM网络用于方面级情绪分类,针对不同的方面,该模型通过注意力机制可以生成特定于方面的句子表征。但是RNN 模型难以并行化,并且通过时间截断反向传播给长期模式记忆带来了困难。为解决这个问题,Song等[15]提出了一种注意力编码器网络(AEN),将预训练过的BERT应用于ABSA任务,有效避免了重复,并使用基于注意力的编码器在上下文和目标之间进行建模。最近的研究更多关注采用图神经网络(GNN)结合依赖树的解决方案。这些研究使用图卷积网络(GCN)来建模目标词与其上下文词之间的语义情绪依赖关系,从而实现了很好的性能表现。例如,Huang等[16]使用图注意力网络(GAT)明确地建立了单词之间的相关性,句子中的单词用Glove[17]或BERT初始化后,根据单词之间的依存关系构建图神经网络,之后使用GAT与LSTM显示地捕捉与方面相关的信息,然后利用这些信息完成ABSA任务。不同于其他研究者直接编码现成的依赖树,Wang等[13]通过重塑与修剪普通的依赖树将方面作为依赖树的根节点,并提出一个关系图注意力网络(R-GAT)对新的依赖树进行编码,用于ABSA任务。这些工作能够很好地建模方面与意见词之间的依赖关系,但还存在因训练数据不足而导致模型对关键性信息学习不足等问题。
1.2 数据增强技术
数据增强是指在数据不足的场景中,通过对现有数据进行轻微的修改而生成合成数据的方法[18]。如果使用得当,它能够提升训练样本的多样性,提高训练数据集的规模和质量,这样就可以使用这些数据建立更好的深度学习模型,因而DA是近年来广受关注与研究的一种解决数据稀缺问题的技术。Li等[19]根据增强数据的多样性将NLP中DA方法分为:释义、噪声和抽样。如表1(见引言所示),这3种类别依次提供了更多的多样性,进而带来不同的增强效应。
表1 常见数据增强技术及在评论中的示例
Table 1 Common data augmentation techniques and examples in reviews
评论 |
类型 |
All the money went into the interior decoration, none of it went to the chefs. |
原始句 |
All the money went into the interior decoration, none of it went to the cooks. |
释义 |
All the money cost went into the interior decoration, none of it went to the chefs. |
噪声 |
All the cost was spent on the interior decoration, and no money was given to the culinary. |
抽样 |
新窗口打开| 下载CSV
文本分类是NLP中应用DA最早和最广泛的任务。具体实现时,只要保留对文本分类很重要的单词语义,以确保新生成文本的标签与原始文本相同。替换法是最常见的数据增加方法之一,因为可以生成与原始句子相似的例子,相当于添加噪声数据以防止模型过拟合。接下来重点讨论的是基于不同策略的替换方法在文本分类任务中的应用。基于近义词替换和基于词向量替换是其中最简单和最流行的两种替换方法。例如,被广泛使用的EDA方法[11]通过引入WordNet[20]近义词词典,采用随机机制对文本执行替换、插入、交换或删除等操作来扩展原始句子。但是,这种随机的方式可能会生成不可靠和不受控制的数据[21]。基于词向量的替换方法则使用预训练的词向量,如Glove[17]、Word2Vec[22]等,将原始单词替换为向量空间中最接近的单词。与近义词替换方法比,这种替换方法提供了更高的词汇覆盖率。例如,Liu等[23]在邮件多主题情绪分类任务中结合了基于近义词表和词向量的单词替换方法。首先,基于Glove词向量的相似度,为词表中的每个单词建立其最相关单词的字典。然后,根据WordNet对这个字典进行修正或补充。最后,对句子中每个单词按照一定概率替换为它的近义词,以此增加文档级电子邮件数据集。Wang等[24]同时对Twitter文本进行单词级和框架级的替换,对每个原始单词使用余弦相似度查找到KNN单词替换,通过使用Word2Vec构建一个连续的框架袋模型来表示每个语义,然后使用相同的数据增强方法创建具有这些语义框架嵌入的其他实例。无论是基于近义词词典还是词向量的DA方法,当一个句子的替换次数过多时,都有可能损害句子的语义。
以上这些替换策略都能够很好适用于篇章级或句子级等粗粒度的文本分类任务,然而如果将这些策略直接应用于细粒度的ABSA任务显然是不合适的。例如,如果在随机操作中删除、替换或者交换的是方面词本身,就会破坏ABSA任务的目标。基于此,本文提出的MLDA方法只引入了简单的操作,在不改变情感极性的前提下针对各个方面执行句子、类别领域、词向量3个级别上的替换,由于生成的样本保持了原始样本中最重要的部分,因此可以保持标签不变。同时,MLDA一个显著的特点是实现起来相当友好,通过不同单词空间的变化来丰富增强的数据,有效提高了模型的鲁棒性。
2 多级数据增强方法
受第1节中相关工作的启发,本文为ABSA任务设计了只针对方面词进行替换的多级数据增强方法,其工作原理如图1所示。需要说明的是,考虑到过多的替换有可能影响模型性能,所以对替换的方面词做了限制,仅对由单个单词构成的方面进行替换,而对由多个单词构成的方面则不予以考虑。在这样的限制下,对于评论“Drivers updated ok but the BIOS update froze the system up and the computer shut down.”中的3个方面词“Drivers”“BIOS update”“system”,仅对方面词“Drivers”和“system”执行3种级别的替换。
图1
图1 多级数据增强方法工作原理图
注: 每个增强方法可单独运用或随机组合运用。
Fig.1 Work principle of Multi-Level Data Augmentation
MLDA方法仅针对一个评论中特定几个目标方面进行句子级相邻词、领域级同类词和词向量级同义词替换,既保证了标签不变性,又达到了样本层次多样性。其中词向量级同义词替换是被广泛采用的替换策略,这里并没有对评论中所有单词执行随机抽取式的同义词替换,而是仅针对方面词执行。对于句子级相邻词替换策略,灵感来源于日常人类情绪表达的经验,在特定的场景下,用户围绕特定产品主题(餐厅或者笔记本电脑)开展评论,这些方面词尽管可能不是同义词、甚至也不是同类词(如“steak”和“decorate”),但是属于同一语境下、同一领域内、围绕同一产品主题的相关词,即使存在一些语义上的偏离,仍不失为合理范围,这种偏离反而会给模型带来适度的挑战。因此,该策略不仅可以增加训练数据的数量,也可以很好地提高模型的鲁棒性。而对于领域级同类词替换的灵感则来源于近年来在ABSA领域比较热门的关于方面情绪四元预测(Aspect Sentiment Quad Prediction, ASQP)研究课题的启发,这是旨在从评论句子中提取方面四联体的任务,四联体由4个情感元素组成:方面类别、方面术语、意见术语和情绪极性。这里的方面类别即表示方面词的类别,如“sushi”“Ravioli”“pizza”等方面词都属于“food quality”方面类别[25]。
2.1 句子级相邻循环替换
句子级相邻循环替换(Sentence Level -Neighbor Circle Replacement, SL-NCR):对于训练集DtrDtr中给定的一个句子s={ w1,w2,...,wn}s={w1,w2,...,wn},nn为句子的长度,设其由单个单词组成的方面集
合为A={ a1,a2,...am}A={a1,a2,...am},m≥2m≥2。那么SL-NCR操作如算法1所示。
算法1 SL-NCR