Bing Wang、Liang Ding、Qihuang Zhong、Ximing Li、Dacheng Tao
College of Computer Science and Technology, Jilin University
JD Explore Academy
The University of Sydney
Wuhan University
基于方面的情感分析(ABSA)是一种细粒度的情感分析任务,其重点是检测对句子中每一个方面的情感极性。因此对于 ABSA 模型来说,捕获特定于方面的上下文特征至关重要。但实际上,一个句子中存在多个方面往往会降低模型的泛化能力,尤其是句子中多个方面对应的极性还相反时。同时,由于 ABSA 是一项**低资源(low-resource)**任务,因此很难在较少的样本下训练出稳健的模型。
为了解决这些问题,一些研究者通过人工标注的方式构建了一些大规模的、高质量的、多方面多情感(MAMS)的数据集。诚然,以数据为中心的 MAMS 确实是能在一定程度上有效解决多方面问题,但人工注释和不可扩展的限制仍然会影响 ABSA 模型的健壮性。因此,研究如何在标记数据有限的情况下自动收集更多的域内多方面样本和方面特定信息至关重要。
为了解决 ABSA 中的种种问题,作者提出了对比的跨通道数据增强(Contrastive Cross-Channel Data Augmentation)框架以生成更多的域内多方面样本,并基于这些生成的数据训练更加健壮的 ABSA 模型。模型使用方面增强通道(AAC)和极性增强通道(PAC)来生成预期的多方面样本,首先将源语句馈送到这两个通道,分别得到指定方面(aspect-specific)的句子和插入了极性(polarity-inverted)的句子,然后将两个生成的句子分别注入到另一个通道以获得最终的句子。
跨通道(指方面和极性两个通道)数据增强的初衷是基于有限的数据源生成更多的高质量的域内多方面样本,具体分为两个步骤:1.基于跨通道句子生成对预训练主干网络(作者采用的 T5 模型)进行训练。2.生成方面不同和极性相反的句子。
首先是预训练生成器。作者采用的是基于编码器-解码器结构的 T5 模型,因为 ABSA 是一项低资源任务,如果以过少的资源直接对 T5 这种大型语言模型进行训练很容易导致过拟合问题,因此作者利用参数有效策略(parameter-efficient strategies)对模型进行了调优。
其次是模型微调。为了确保 T5 模型能够适应任务,作者基于构建的 ABSA 数据集对其进行了微调。作者首先从源三元组 Ω s r c = { s i , a i , p i } i = 1 N \Omega^{src} = \{\mathbf{s}_i, \mathbf{a}_i, \mathbf{p}_i\}_{i = 1}^{N} Ωsrc={si,ai,pi}i=1N 抽取出两个实例 { s i } \{\mathbf{s}_i\} {si} 和 { s j , a j , p j } \{\mathbf{s}_j, \mathbf{a}_j, \mathbf{p}_j\} {sj,aj,pj},然后微调 T5 模型使得它可以基于 [ s i , a j ] [\mathbf{s}_i, \mathbf{a}_j] [si,aj] 和 [ s i , p j ] [\mathbf{s}_i, \mathbf{p}_j] [si,pj] 生成 s j \mathbf{s}_j sj。
最后是句子生成。句子生成包括**方面增强通道(AAC)和极性增强通道(PAC)**两部分。AAC 会生成一个方面特定的句子 s i a = G ( [ s i , A ^ ] , Π ) \mathbf{s}_i^a = \mathcal{G}([\mathbf{s}_i, \widehat{\mathbf{A}}], \Pi) sia=G([si,A ],Π),其中 Π \Pi Π 是 T5 生成器的一个可训练参数, A ^ \widehat{\mathbf{A}} A 是随机采样的域内方面,同理 PAC 可以生成 s i p = G ( [ s i , P ^ ] , Π ) \mathbf{s}_i^p = \mathcal{G}([\mathbf{s}_i, \widehat{\mathbf{P}}], \Pi) sip=G([si,P ],Π)。然后再将这些句子馈送到另一个通道,即可得到 s i p a = G ( [ s i p , A ^ ] , Π ) \mathbf{s}_i^{pa} = \mathcal{G}([\mathbf{s}_i^p, \widehat{\mathbf{A}}], \Pi) sipa=G([sip,A ],Π) 和 s i a p = G ( [ s i a , P ^ ] , Π ) \mathbf{s}_i^{ap} = \mathcal{G}([\mathbf{s}_i^a, \widehat{\mathbf{P}}], \Pi) siap=G([sia,P ],Π)。
这三步对应的伪代码表示如下:
上一步通过替换方面和极性最终会生成四个句子,但其中有些句子可能是带有噪声或者难以用来训练的低质量样本,可以通过语言建模和词嵌入范式(norm of word embedding)来对其进行过滤。作者基于带有噪声的句子通常会表达出模棱两可的极性这一假设设计了一个熵最小化过滤器(EMF),由此引导预测模型给出更平滑的极性概率分布。
作者给出的衡量标准为信息熵,其定义如下: