核心任务
- 通过构造辅助句,将ABSA任务转换为“句子对”分类任务(如QA和NLI)
- 对BERT的预训练模型进行了微调,并在SentiHood和SemEval2014 Task 4数据集上获得了最先进的结果。
动机
BERT在QA和NLI方面取得了很好的成绩。但是,直接使用预训练的BERT模型对(T)ABSA任务并没有太大的改善,作者认为这是预训练的BERT模型使用不当造成的。BERT的输入表示既可以表示单个文本句子,也可以表示一对文本句子。因此可以将(T)ABSA转换为一个句子对分类任务,并对预先训练的BERT进行微调。
方法详述
基本概念
SA的潜在假设是整个文本有一个整体的极性,如利用客户的评论对特定产品或服务的意见。然而,用户的评论可能包含不同的方面,所以需要ABSA。SA和ABSA均为句子级或文档级任务,而句子级任务不能处理具有多个目标的句子,因此引入TABSA。
- SA:情绪分析
- ABSA:基于方面的情绪分析。只针对方面,如给定“地点一高价,地点二低价” 、方面{价格,安全},识别指定方面的情绪。(分为方面类别检测和方面类别极性)
- TABSA:基于目标方面的情绪分析。识别与给定目标相关的特定方面的详细意见极性,如给定“地点一高价,地点二低价”、目标{地点一,地点二}、方面{价格,安全},识别指定目标对应方面的情绪。
构造辅助句
- QA-M(固定句式)
(LOCATION1, safety)→what do you think of the safety of location - 1 ? - NLI-M(创建伪句)
(LOCATION1, safety) →location - 1 – safety - QA-B
转换为二分类问题label ∈{yes, no},输出yes or no的概率分布,取yes的概率值作为匹配分数,匹配得分最高的为序列的类
the polarity of the aspect safety of location - 1 is positive
the polarity of the aspect safety of location - 1 is negative
the polarity of the aspect safety of location - 1 is none - NLI-B
QA-B中的辅助句变为伪句
location - 1 – safety – positive
location - 1 - safety – negative
location - 1 - safety - none
微调预先训练的BERT
- BERT的输入表示:给定单词的输入表示=[CLS]+“给定词嵌入+段落嵌入+位置嵌入”
- 微调过程:为了获得输入序列的一个固定维度的集合表示,添加一个参数矩阵为W∈RK×H的分类层,K 是要分类的类别数,使用第一个单词[CLS]的最终隐藏状态 C ∈ RH(即转换器的输出)作为输入,最后使用softmax函数计算每一类的概率。
分类方式
- BERT-singe(单句分类)
TABSA——分为nt·na(nt目标数,na方面数量)个情感分类问题,直接分类总结结果
ABSA——微调BERT模型以训练na个分类器,总结结果 - BERT-pair
效果更好:扩充了数据集、充分利用BERT
结论
为什么BERT-pair效果好
- 构造辅助句子直接指数级别的扩充了数据集。
- bert很适合处理句子对分类任务,构造辅助句充分利用了预训练的bert模型。