Aspect-Based Sentiment Analysis可分为以下4个子任务:
-
一个Aspect term是句子中的一个词或词组,如“这本书是精装版,但价格有点高。”。句子中针对外观和价格这两个Aspect term的情感是不同的,Aspect Term Sentiment Analysis (ATSA)作为ABSA的一个子任务,目的是识别句子中一个指定Aspect term的情感极性,可以建模为一个分类问题。
-
一个Aspect category是句子中隐式表达的描述事物的一个预先定义的角度。如上面的句子从外观和价格这两个角度来描述一本书。Aspect category来自一个预先定义好的集合,其不必显式地出现在句子中。Aspect Category Sentiment Analysis (ACSA)作为ABSA的另一个子任务,目的是识别句子中一个指定Aspect category的情感极性,也可以建模为一个分类问题。
-
Aspect Term Extraction旨在抽取出一个句子中的Aspect term,可以建模为一个序列标注问题。
-
Aspect Category Extraction旨在识别出一个句子中从哪些预先定义好的Aspect category角度描述事物,可以建模为一个多标签分类问题(multi-label classification)。
改进
SA 和 ABSA 都是句子级别或文档级别的任务,但一个评论可能涉及多个对象(目标),而句子级别的任务无法处理具有多个目标(target)的句子。因此,Saeidi 等人提出了基于目标-方面对的情感分析(TABSA)的任务,该任务旨在识别与给定目标相关的特定方面的细粒度意见极性。
在TABSA中,一个句子s通常由一系列单词组成:{𝑊_1,····, 𝑊_m},其中一些词{𝑊_𝑖1,····, 𝑊_𝑖𝑘}是预先确定的目标{𝑡_1,··· , 𝑡_k},作者将任务设置为 3分类问题:给定句子s、一组目标实体T 和固定的方面集 A = {general, price, transit, safety},预测目标-方面pairs情感极性y(正/负/无)。
可以通过构造辅助句,将单句分类转变为句对分类:
- 将目标和方面信息转化为辅助句,相当于对语料进行指数级扩展。原始数据集中的一个句子s_𝑖在句子对分类任务中会被扩展为 (s_𝑖, 𝑡_1, 𝑎_1),···, (s_𝑖, 𝑡_1, 𝑎_𝑛𝑎),···, (s_𝑖, 𝑡_𝑛𝑡, 𝑎_𝑛𝑎)。
- BERT 模型在处理句子对分类任务上具有优势,尤其是BERT模型在 QA 和 NLI 任务上表现,因此将原问题转为分类问题是可行且有效的。
数据集
目前绝大多数发表在ACL,EMNLP和NAACL上的ABSA相关论文实验中使用的数据集是 SemEval 14 Restaurant/Laptop Review数据集和 Twitter数据集。此外,最近公开的 MAMS数据集也可以用来做ABSA任务。
-
SemEval 14 Restaurant Review数据集中包含ATSA和ACSA两种版本,共有四千多条数据,分为训练集和测试集。ATSA的数据集也可以用来做Aspect Term Extraction,ACSA的数据集也可以用来做Aspect Category Extraction。
-
SemEval 14 Laptop Review数据集中只有ATSA版本,共有三千多条数据,也分为训练集和测试集。Laptop数据集相比Restaurant数据集有更多隐式表达情感的样本,数据量更少,难度更大。
-
Twitter数据集[2]中只有ATSA版本,共有六千多条数据,分为训练集和测试集。Twitter数据集相比Restaurant数据集和Laptop数据集质量较低。
-
MAMS数据集中包含ATSA和ACSA两种版本,共有一万多条数据。MAMS的特点是,一个句子中一定包含至少两个Aspect,并且同一个句子中至少有两个Aspect情感极性是不同的。而Restaurant,Laptop和Twitter这三个数据集中,大多数句子只包含一个Aspect或者包含多个相同情感的Aspect,这样会造成基于方面的情感分析任务退化成句子级别的情感分析任务。