Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence

《通过构建辅助句利用 BERT 进行基于方面的情感分析 》

论文源码位置:

https://github.com/HSLCY/ABSA-BERT-pair

摘要

提出了一种通过构造辅助句子,将基于方面的情感分析 (ABSA) 换成句子对分类问题的方法,提高针对特定方面的细粒度意见极性,使用BERT模型,在SentiHood 和 SemEval2014 Task 4 数据集上效果不错。

1 介绍

传统的情感分析任务假设是整个文本是具有整体极性,也就是一个句子就表示一种情感倾向。但实际工作中,用户的评论可能包含不同的方面,例如:“这本书是精装版,但价格有点高。” “外观”的极性为正,“价格”的极性为负。因此诞生了一个新的任务,基于方面的情绪分析(ABSA)。ABSA任务的操作步骤是(1)确定表达情感的每个目标;(2)确定每个目标的情感极性。

前人的学习模式是通过特征工程过渡到如今的基于BERT等等预训练语言模型。本文的贡献主要有以下两条:

(1)基于ABSA任务换成句子对任务

(2)微调BERT模型,提升在SentiHood 和 SemEval2014 Task 4 数据集上的效果。

2.方法介绍

2.1 任务描述

TABSA

在TABSA中,一个句子s通常由一系列词组成:{w1,····,wm},其中一些词{wi1,····,wik}是预先确定的目标{t1,····,tk} ,继 Saeidi 等人之后。 (2016),我们将任务设置为 3 类分类问题:给定句子 s、一组目标实体 T 和固定方面集 A = {general, price, transitlocation, saf ety},预测情感极性 y ∈ {在整个目标方面对 {(t, a) : t ∈ T, a ∈ A} 上的正、负、无}。正如我们在表 1 中看到的,(LOCATION2, price) 的金本位极性为负,而 (LOCATION1, price) 的极性为无。

ABSA

在 ABSA 中,目标-方面对 {(t, a)} 仅成为方面 a。该设置相当于同时学习 SemEval-2014 Task 41 的子任务 3(Aspect Category Detection)和子任务 4(Aspect Category Polarity)。

示例:LOCA TION2 位于伦敦市中心,因此极其昂贵,LOCA TION1 通常被认为是伦敦最酷的地区。

Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence 论文总结_情感分类

Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence 论文总结_情感分析_02

本文提供了4种方法去将TABSA任务换成句子对任务。

Sentences for QA-M

我们要从目标-方面对生成的句子是一个问题,格式需要相同。例如,对于一组目标-方面对(LOCA TION1,安全性),我们生成的句子是“你认为位置安全性如何 - 1?”

Sentences for NLI-M

对于 NLI 任务,我们在生成句子时设置的条件不那么严格,形式也简单得多。此时创建的句子不是标准句,而是简单的伪句,以(LOCATION1,safety)对为例:辅助句为:“location - 1 - safety”。

Sentences for QA-B

对于 QA-B,我们添加标签信息并将 TABSA 临时换为二分类问题(标签 ∈ {yes, no})以获得概率分布。此时,每个target-aspect对会产生三个序列,如“location的aspect安全的极性-1为正”、“location的aspect安全的极性-1为负”、“位置的aspect安全的极性为负”。位置方面的安全性 - 1 是无”。我们使用概率的值作为匹配分数。对于生成三个序列(正、负、无)的目标-方面对,我们采用预测类别匹配分数最高的序列类别。

Sentences for NLI-B

NLI-B 和 QA-B 的区别在于助句从疑问句变成了伪句。辅助句为:“位置-1-安全-肯定”、“位置-1-安全-否定”和“位置-1-安全-无”。构建辅助句后,我们可以将 TABSA 任务从单句分类任务变为句对分类任务。如表3所示,这是一项必要的操作,可以显着提高TABSA任务的实验结果。

2.3 微调模型

BERT (Devlin et al., 2018) 是一种新的语言表示模型,它使用双向Transformer对大型语料库进行预训练,并在其他任务上微调预训练模型。我们在 TABSA 任务上微调预训练的 BERT 模型。让我们简要看一下输入表示和微调过程。

2.3.1 输入表示

BERT 的输入表示可以显式地表示标记序列中的一对文本句子。对于给定的标记,其输入表示是通过对相应的标记、段和位置嵌入求和来构造的。对于分类任务,每个序列的第一个词是唯一的分类嵌入([CLS])。

2.3.2 微调

BERT 微调很简单。为了获得输入序列的固定维池化表示,我们使用第一个令牌的最终隐藏状态(即换器的输出)作为输入。我们将向量表示为 C ∈ RH。然后我们添加一个分类层,其参数矩阵为 W ∈ RK×H,其中 K 是类别数。最后通过softmax函数P = softmax(CW T)计算每个类别P的概率。

2.3.2 BERT-single 和 BERT-pair

BERT-single for (T)ABSA BERT 用于单句分类任务。假设目标类别数为 nt,方面类别数为 na。我们将 TABSA 视为 nt·na 个与目标方面相关的情感分类问题的组合,首先对每个情感分类问题进行分类,然后对得到的结果进行总结。对于 ABSA,我们微调预训练的 BERT 模型以训练所有方面的分类器,然后总结结果。

BERT-pair for (T)ABSA BERT 用于句子对分类任务。基于2.2节构建的辅助句,我们使用句对分类方法来解决(T)ABSA。对应于四种造句方式,我们将模型命名为:BERTpair-QA-M、BERT-pair-NLI-M、BERT-pair-QAB、BERT-pair-NLI-B。

3 实验

3.1 数据集

我们在 SentiHood (Saeidi et al., 2016) dataset2 上评估我们的方法,该数据集由 5,215 个句子组成,其中 3,862 个包含单个目标,其余包含多个目标。每个句子都包含一个目标-方面对 {t, a} 的列表,其情感极性为 y。最终,给定句子 s 和句子中的目标 t,我们需要: (1) 检测目标 t 的方面 a 的提及; (2) 确定检测到的目标-方面对的正面或负面情绪极性 y。我们还在 SemEval-2014 Task 4 (Pontiki et al., 2014) dataset3 上评估我们的方法,用于基于方面的情感分析。与 SentiHood 的唯一区别是目标-方面对 {t, a} 仅成为方面 a。此设置允许我们联合评估子任务 3(Aspect Category Detection)和子任务 4(Aspect Category Polarity)。

3.2 超参数

我们使用预训练的 uncased BERT-base model4 进行微调。 Transformer 块的数量为 12,隐藏层大小为 768,自注意力头数为 12,预训练模型的参数总数为 110M。微调时,我们保持 dropout 概率为 0.1,设置epochs 为 4。初始学习率为 2e-5,batch size 为 24。

3.3 第一轮对比实验

我们将我们的模型与以下模型进行比较:

LR、LSTM-Final 、LSTM-Loc、LSTM+TA+SA、SenticLSTM、Dmu-Entnet

在评估 SentiHood 期间,遵循 Saeidi 等人。 (2016),我们只考虑四个最常见的方面(一般、价格、运输地点、安全)。在评估方面检测时,遵循 Ma 等人。 (2018),我们使用严格精度和 Macro-F1,我们还报告了 AUC。在情感分类中,我们使用准确率和宏观平均 AUC 作为评价指标。

然而,BERT-pair 在方面检测和情感分析方面明显优于其他模型,与 DmuEntnet 相比,获得了 9.4 的宏观平均 F1 和 2.6 的准确度提高。总体而言,四个 BERT-pair 模型的性能接近。值得注意的是,BERT-pair-NLI 模型在方面检测上的表现相对较好,而 BERT-pair-QA 模型在情感分类上的表现更好。此外,与其他模型相比,BERT-pair-QA-B 和 BERT-pair-NLI-B 模型可以在情感分类上获得更好的 AUC 值。

3.3.1 实验结果

SentiHood 上的结果如表 3 所示。BERT-single 模型在方面检测上的结果优于 Dmu-Entnet,但情感分类的准确率远低于 SentiHood 和 Dmu-Entnet,相差分别为 3.8 和 5.5。

3.4 第二轮对比实验

SemEval-2014 Task 4 的基准是 Pontiki 等人中表现最好的两个系统。 (2014)和 A TAE-LSTM(Wang 等人,2016)。在评估 SemEval-2014 任务 4 子任务 3 和子任务 4 时,遵循 Pontiki 等人。 (2014),我们分别使用Micro-F1和accuracy。

SemEval-2014 的结果如表 4 和表 5 所示。我们发现 BERT-single在这两个子任务上取得了更好的效果,BERT-pair 比 BERT-single 取得了进一步的提升。 BERT-pair-NLI-B 模型在方面类别检测方面取得了最佳性能。对于方面类别极性,BERTpair-QA-B 在所有 4-way、3-way 和二进制设置上表现最佳。

4 讨论

为什么 BERT-pair 模型的实验结果这么好?一方面,我们将目标和方面信息化为辅助句,相当于对语料进行指数级扩展。原始数据集中的一个句子 si 在句子对分类任务中会被扩展为 (si, t1, a1),···, (si, t1, ana),···, (si, tnt, ana)。另一方面,从 BERT 模型在 QA 和 NLI 任务上的惊人提升可以看出(Devlin et al., 2018),BERT 模型在处理句子对分类任务方面具有优势。这一优势来自无监督掩蔽语言模型和下一句预测任务。

由于额外的目标和方面信息,TABSA 比 SA 更复杂。在 TABSA 上直接微调预训练的 BERT 并不能实现性能增长。但是,当我们将target和aspect分离形成一个辅助句,将TABSA化为句对分类任务时,场景类似于QA和NLI,那么就可以充分发挥预训练BERT模型的优势.我们的方法不限于 TABSA,这种构造方法可以用于其他类似的任务。对于 ABSA,我们可以使用相同的方法来构造只有方面的辅助句。

在 BERT-pair 模型中,BERT-pair-QA-B 和 BERT-pair-NLI-B 在情感分类上取得了更好的 AUC 值,这可能是因为标签信息的建模。

Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence 论文总结_情感分析_03

表 4​ Semeval-2014 任务 4 子任务 3:方面类别检测的测试集结果。我们使用 XRCE (Brun et al., 2014) 和 NRC-Canada (Kiritchenko et al., 2014) 报告的结果。

Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence 论文总结_情感分析_04

表 5​ Semeval-2014 任务 4 子任务 4:Aspect Category Polarity 的测试集准确度 (%)。我们使用 XRCE (Brun et al., 2014)、NRCCanada (Kiritchenko et al., 2014) 和 A TAE-LSTM (Wang et al., 2016) 中报告的结果。 “-”表示未报告。

5 结论

本文中,我们构建了一个辅助句,将 (T)ABSA 从单句分类任务换为句对分类任务。我们在句子对分类任务上微调了预训练的 BERT 模型,并获得了新的最先进的结果。我们对比了基于 BERT 微调的单句分类和句对分类的实验结果,分析了句对分类的优势,验证了我们的转换方法的有效性。将来,我们会将这种转换方法应用到其他类似的任务中。

启发点:

可以使用这种方法,将文本匹配问题换成文本分类问题。