Solving Aspect Category Sentiment Analysis as a Text Generation Task

研究将情感分析任务转化为自然语言生成,利用预训练BART和BERT,提高小样本和零样本下ACSA的准确性,尤其在处理罕见类别时表现出色。
摘要由CSDN通过智能技术生成

解决方面类别情感分析作为文本生成任务

主要的方法通过学习有效的方面类别特定表示,并在其预训练表示中添加特定的输出层来利用预训练的语言模型。我们考虑了一种利用预训练语言模型的更直接的方法,将 ACSA 任务转换为自然语言生成任务,使用自然语言句子来表示输出。我们的方法通过在预训练期间直接遵循任务设置,允许在 seq2seq 语言模型中更直接地使用预训练的知识。在几个基准上的实验表明,我们的方法给出了最好的报告结果,在小样本和零样本设置中具有很大的优势。

  1. 介绍
    基于方面的情感分析(ABSA)是一种细化的情感分析任务,包括许多子任务,其中两个是方面类别情感分析(ACSA)和方面类别检测(ACD)。图 1 显示了一个示例,其中输入是“餐厅很贵,但菜单很棒”。 ACD 检测方面类别,例如价格和食物,而 ACSA 预测每个方面类别的情绪极性。在这项工作中,我们专注于这两个任务以及结合两者的联合任务。

以前的研究已经研究了将 ACSA 和 ACD 视为分类任务的各种方法,学习特定方面的句子表示(Wang et al., 2016; Ruder et al., 2016)。最近,预训练的语言模型(PLM)已经证明了它们的有效性(Jiang et al., 2019)。主要思想是利用预训练模型,例如 BERT (Devlin et al., 2019a) 来表示输入的特定方面形式(例如,通过将方面类别连接到输入句子,它为 ACSA 和 ACD 分类器提供了有用的语义特征。这些方法已经产生了极具竞争力的结果。
在这里插入图片描述
上述分类模型受益于上下文化表示,其中包含通过对大数据进行预训练学习的知识(Lin et al., 2019)。然而,由于至少两个原因,他们对预训练知识的使用可以被视为间接的。首先,分类任务是通过在预训练表示之上使用神经网络执行的,具有单独的网络参数。其次,方面类别的整合使得特定方面的输入表示不完全是自然语言句子,这与预训练设置不同。直观地说,可以通过在任务级别连接预训练和 ACSA 来利用更多预训练的知识,而不仅仅是在表示级别。
我们通过将情感分类任务转换为语言建模任务来研究上述潜力。特别是,如图 2 所示,ACSA 和 ACD 都被转换为序列到序列 (seq2seq) 任务,其中编码器获取输入句子,解码器生成自然语言句子。对于 ACD,输出遵循一个模板,说明是否讨论了特定方面(例如,“讨论了 hcategory_typei 类别”);对于 ACSA,说明了特定方面的情感极性(例如,“hgiven_categoryi 的情感极性是 hpolarity_typei”)。

该设置与去噪密切对应BART 的自动编码器训练方案(Lewis 等人,2020),我们将其用作预训练模型。

与基于分类的方法相比,我们的方法不包含更多的网络参数,因此可以更好地泛化到新的领域(Brown 等人,2020;Gao 等人,2020)。给定一个具有完全看不见的方面类别和情感标签的新域,我们的方法可以在不改变输出层结构的情况下应用。

还将掩码语言模型 (MLM) 作为基线,如图 3(b) 所示,与我们的方法不同,MLM 将输出模板与输入连接,关键字进行预测。与这种 MLM 方法相比,生成方法可以更好地将输入和输出模板之间的相关性学习为两个相关序列,这已通过 BART 在抽象文本摘要方面的强大性能得到证明(Lewis 等人,2020)。

三个标准基准数据集的实验结果表明,生成方法和 MLM 方法都优于使用相同预训练语言模型的分类方法。最后,生成方法比 MLM 方法具有更强的性能,大大超过了以前最先进的方法。此外,使用生成方法,我们表明联合执行 ACSA 和 ACD 比传统管道产生更好的结果。据我们所知,我们是第一个使用生成式预训练语言模型来解决 ACSA/ACD 问题的人。我们在 https://github 上发布我们的代码。 com/lgw863/ACSA 代。

2. 相关工作

方面类别情感分析(ACSA)

王等。 (2016) 提出了一种基于注意力的 LSTM 网络,当以不同的方面类别作为输入时,该网络可以专注于句子的不同部分。鲁德等人。 (2016)使用分层双向 LSTM 对文本中句子的相互依赖关系进行建模。尹等人。 (2017)通过构建伪问答对将任务建模为机器理解问题。 Xue and Li (2018) 使用 CNN 提取情感特征,并使用门控机制选择性地输出与方面类别相关的特征。邢等人。 (2019),梁等人。 (2019)和朱等人。 (2019)在上下文建模阶段将方面类别信息合并到句子编码器中。孙等人。 (2019) 从方面类别构建辅助句子,并将 ACSA 转换为句子对分类任务。李等人。 (2020b) 通过聚合表示句子中方面类别的单词的情绪来预测句子中提到的方面类别的情绪。

为了避免错误传播,提出了几种联合模型,它们联合执行 ACD 和 ACSA。施密特等人。 (2018) 提出了两个联合模型:端到端 LSTM 和端到端 CNN,它们一次生成所有方面类别及其相应的情感极性。胡等人。 (2019)提出约束注意力网络(CAN)来约束注意力权重分配。王等人。 (2019)提出了方面级情感胶囊模型(AS-Capsules),该模型通过共享组件利用方面类别和情感之间的相关性。李等人。 (2020a)提出了一种新的联合模型,其中包含一个共享的情感预测层。

以上所有模型都是分类方法,使用单独的输出网络来给出输出标签。相比之下,我们通过直接遵循语言模型的预训练过程来研究自然语言生成方法。

掩蔽语言模型方法(MLM)

有一系列工作使用掩码语言模型 (MLM) 进行自然语言理解任务。基本思想是通过在语言建模任务中定义特定的句子提示来利用来自预训练模型的信息。布朗等人。 (2020) 在文本分类任务中使用提示进行少量学习。 Schick 和 Schütze (2020) 将输入改写为文本分类的完形填空问题。希克等人。 (2020)和高等人。 (2020)通过分别自动生成标签词和模板来扩展 Schick 和 Schütze (2020)。彼得罗尼等人。 (2019) 通过构建完形填空样式模板从 BERT 中提取实体之间的关系。我们是第一个将此类方法应用于 ACSA 的,并将其作为基线。与这些基于模板的模型不同,我们的最终模型使用 BART 进行文本生成,与 BERT 相比,它更好地模拟了输入句子和输出句子之间的相关性。

生成方法

已经有工作将 NLP 问题转换为序列生成任务(Vinyals 等人,2015;Ma 等人,2017;Stanovsky 和 ​​Dagan,2018;Raffel 等人,2020),其中输出是一系列标记,而不是自然语言句子。 Daza 和 Frank (2018) 将语义角色标签视为一个序列到序列的过程。李等人。 (2019)解决实体关系提取任务作为多轮问答生成方法。我们的工作类似于将 NLP 任务转换为生成任务。与上述方法不同,我们的目标是充分利用 BART for ACSA 中预训练的知识。

3. 方法

对于 ACD,输入是一个句子 X = {x1, . . . , xn} = x1:n,其中 xi 表示第 i 个单词。
对于 ACSA,还给出了一组预先确定的方面类别。我们在 3.1 节介绍相关的预训练语言模型,在 3.2 节介绍分类方法,在 3.3 节介绍 MLM 方法,在 3.4 节介绍我们的生成方法。

3.1 预训练语言模型

我们以 BERT (Devlin et al., 2019a) 和 BART (Lewis et al., 2020) 作为预训练语言模型。两者都建立在 Transformer (Vaswani et al., 2017) 架构上。 BERT (Devlin et al., 2019a) 是用于掩码文本填充的 Transformer 编码器堆栈,其中模型使用上下文词来预测掩码词。 BART (Lewis et al., 2020) 是一种用于自然语言生成的去噪自动编码器 seq2seq 模型预训练。它的训练应用了文档损坏,例如从输入中随机删除标记和使用任意噪声函数损坏文本。 BART 被训练来重建原始文本。

3.2 分类方法

我们使用一个多层感知器网络作为分类器模型,它以一个表示向量作为输入。 BERT 和 BART 都被视为编码器。

BERT 分类 BERT 采用“[CLS] input sentence [SEP] given_category [SEP]”作为输入。将“[CLS]”对应的最终隐藏状态作为分类的表示

BART 分类 BART 采用“ <S> input sentence </S> given_category </S>”作为输入,预测句子对给定类别的情感极性。相同的输入被馈送到编码器和解码器(见图 3(a))。形式上,假设查询类别为a,x0 = ,xn+1 = ,xn+2 = a,xn+3 =,那么BART的输入为 x0:n+3 = hSi x1 , . . . , xn h/Si a h/Si。BART编码器(ENCODER)和BART解码器(DECODER)得到的输出隐藏vec4409 tors为: henc = ENCODER(x0:n+3) h0 。 . . hn+3 = DECODER(henc; x0:n+3) 然后将输出向量hn+3作为分类的表示向量。

3.3 MLM 方法

掩码语言模型 (MLM) (Devlin et al., 2019a) 通过填充缺失的标记来完成给定的提示。我们将包含给定类别和 MASK 标记的模板一起称为提示。对于情感分析任务,BERT MLM 采用输入句子和提示作为模型输入,并针对给定类别预测情感极性标签词。对于 BART MLM,相同的输入被馈送到编码器和解码器,从 MASK 令牌的标签字中得到的最高解码器预测是预测的极性标签(见图 3(b))。我们在 MLM 方法和生成方法中使用相同的模板,遵循第 3.4.1 节中的模板创建方法。

3.4 生成方法

我们将 ACSA 和 ACD 作为 seq2seq 框架下的语言模型排序问题(见图 3©)。目标序列 Tai,pk (Tai) = {t1, . . . , tm} 是由给定类别 ai 和极性类型 pk 填充的模板。我们首先在 3.4.1 节介绍如何创建模板,然后分别在 3.4.2 节和 3.4.3 节展示推理和训练细节。

3.4.1 模板创建

对于 ACSA,我们手动创建模板,其中包含一个用于给定类别标签的插槽和另一个用于极性类型标签的插槽。我们设置一个类别词集 A = {a1, . . . , a|C|}, |C|是类别类型大小(例如,ai=“价格”)和极性类型词集 P = {p1, . . . , p|L|}, |L|是极性类型大小(例如,pk=“positive”),并使用单词定义模板 Tai,pk(例如“价格的情绪极性为正”)。模板 T 是“haii 的情感极性是 hpki”。对于给定的类别 ai,我们可以获得模板列表 Tai = [Tai,p1, . . . , 泰,p|L|]。

对于 ACD,我们使用 ai 为现有方面类别创建情感模板 T+ai,以及非类别模板 T−ai。 T+ 是“讨论 haii 类别”,T- 是“未讨论 haii 类别”。

3.4.2 推理

对于ACSA,我们首先枚举句子X给定类别的所有可能极性并将它们填充到准备好的模板中,然后使用微调的预训练生成语言模型为每个模板分配一个分数 Tai,pk = {t1, . . . , tm},公式为: f (Tai,pk ) = mX c=1 log P (tc|t1:c−1, X) (1)

我们通过使用预训练的生成语言模型(即 BART)对模板进行评分,为每个可能的极性计算分数 f (Tai,pk ),然后选择分数最高的类别 ai 的极性。

对于 ACD,我们首先为句子 X 的所有可能类别创建模板 T+ai 和 T−ai,然后使用微调的预训练生成语言模型为每个模板分配分数 Tai = {t1, . . . , tm},与等式 1 类似。此外,我们根据 T+ai 和 T−ai 之间的较高分数来决定是否在输入句子中讨论 ai 类别。

3.4.3 训练

对于ACSA,假设ai 的极性类型为pk。我们将给定的类别 ai 和极性类型 pk 填充到模板 T 中以创建黄金目标输出 Tai,pk 。同样对于ACD,如果讨论ai的类别,则将ai填充到T+中得到黄金目标T+ai,否则为T-ai。

对于 ACSA,我们使用训练集中的所有黄金极性来构建 (X, T) 对。对于 ACD,我们使用训练集中的所有黄金类别来构建 (X, T+) 对,并通过对输入中所有不存在的类别进行采样来另外创建负样本 (X, T−)。最后,我们得到 {(X, T)} = {(X, T+)∪ (X, T−)}

给定一个序列对 (X, T),我们将输入 X = x1:n 馈送到 BART 编码器,获得句子的隐藏表示:
henc = ENCODER(x1:n) (2)

在解码器的第 c 步, henc 和之前的输出标记 t1:c−1 然后作为输入,使用注意力产生一个表示 (Vaswani et al., 2017)
hdecc = DECODER(henc, t1:c−1) (3)
单词的条件概率tc 定义为: P (tc|t1:c−1, X) = SOFTMAX(hdecc Wlm + blm), (4)
其中 Wlm∈ Rdh×|V|和blm∈R|V|,|V|表示预训练 BART 的词汇量。解码器的输出和原始模板之间的交叉熵被用作损失函数:

4 实验
我们选择 SemEval-2014 餐厅评论 (Rest14) (Pontiki et al., 2014a)、Rest14 的变体 (Rest14-hard) (Xue and Li, 2018) 和多方面多情绪 (MAMS) (Jiang et al., 2019) 句子级情绪数据集,TripAdvisor (Wang et al., 2010) 和 BeerAdvocate (McAuley et al., 2012; Lei et al., 2016) 文档级情绪数据集。在之前的工作 Tay 等人之后,采用了训练/开发/测试集的标准拆分。 (2018),其详细信息如附录 A 所示。
我们使用预训练的 BERT-base1 和 BARTbase2 模型进行任务微调。对于不同的模型,我们从 {4e-5、2e-5 和 1e5} 中选择微调学习率,从 {8、16、24} 中选择批量大小。辍学概率为 0.1。根据开发集上的最高性能选择最佳模型配置。设置的详细信息显示在附录 A 中。
4.1 基线方法
我们使用相同的编码器将我们的生成方法与分类和 MLM 基线(图 3)进行比较。特别是,将 BART 生成(即图 3(c))与 BART 分类(图 3(a))和 BART MLM(图 3(b))以及 BERT 分类和 BERT MLM 进行比较。此外,我们的方法还与文献中的其他模型进行了比较如下。

对于文档级 ACSA,我们将我们的方法与以下方法进行比较。 (1) 非 BERT 模型:LSTM (Tang et al., 2015), HAN (Yang et al., 2016) 和 MR

(2) 基于 BERT (Devlin et al., 2019b) 的模型:BERT 分类。对于 ACD,我们将我们的方法与以下方法进行比较。 (1) 非 BERT 模型:XRCE (Brun et al., 2014), NRC-Canada (Kiritchenko et al., 2014); (2) 基于 BERT (Devlin et al., 2019b) 的模型:BERT 分类、BERT-pair-NLI-B (Sun et al., 2019)、CNE-net (Dai et al., 2020)。

4.6 Few-Shot 和 Zero-Shot 学习

我们在 ACSA 上评估模型性能,其中只有少量标记数据可用于训练,通过从大型训练集中随机抽样训练实例来模拟低资源数据场景。特别是,我们使用不同数量的实例进行训练,随机抽样每个类别类型的固定数量的实例(Rest14 和 MAMS 的每个类别类型 10、20、50、100、200、500 个实例)。结果如图4所示,其中还比较了BERT分类、BART分类和BART MLM的方法。
在这里插入图片描述
可以看出,在所有数据集上,我们的模型都优于 BERT 分类、BART 分类和 BART MLM,尤其是在训练实例数量较少的情况下。例如,当只有 10 个训练实例时,我们的模型在 Rest14 上的准确度得分为 82.01%,而 BERT 分类为 38.57%,BART 分类为 50.16%。当实例数量增加到 500 个时,我们的模型在 Rest14 和 MAMS 上的准确度分别比 BART MLM 高 2.24% 和 2.65%。

零样本结果:ACSA。 R→ M 表示在 Rest14 上训练和在 MAMS 上测试。 M→ R 表示在 MAMS 上训练和在 Rest14 上进行测试。

5. 分析

5.1 类别频率
方面的影响类别可以是隐含的,不一定作为给定句子中的术语出现。为了探索 ACSA 准确度与给定类别出现频率之间的相关性,我们根据出现频率将 MAMS 测试集中的八个类别分成四个子集。给定句子中从未出现过的类别(即杂项)放入零频率子集中,频率最低的 15%(即环境、员工)放入低频子集中,频率最高的 30%(即菜单,服务)被放入高频子集中,其余(即价格,食物,地点)被放入中频子集中。

图 5 显示了 BART 分类的准确性和我们的模型对频率的影响。随着类别出现频率的降低,两个模型之间的准确率相对差距会增加。在零频率下,我们的方法比 BART 分类的准确率绝对高 8.03%。这表明我们的方法在总结抽象或稀有类别的情感极性方面更加稳健。即使句子中没有显式类别词,生成方法也可以根据上下文给出整个句子的隐含类别意见。

  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪里摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值