自然语言处理(NLP)领域中,情感分析任务也备受关注,aspect级的情感分析任务也十分具有挑战性。就此,我将以最近的一些调研工作和一篇aspect级情感分析的论文和大家一起学习分享。
- 会议介绍
在之前安排的情感组内调研任务中,我主要负责了ACL2017、2018情感分析任务的调研工作。在这里对会议和我的调研工作进行简单的介绍。
ACL2017,在加拿大温哥华召开,长文共录用195/829篇,录取率23.5%,短文共录用149/590篇,录取率25.2%。
ACL2018,在澳大利亚墨尔本召开,长文共录用258/1018篇,录取率25.3%,短文共录用126/526篇,录取率24%。
我以“Sentiment”为关键词进行检索,在ACL2017中,共有语料建设的论文1篇、迁移学习的论文2篇、句子级情感分析的论文1篇、多模态情感分析的论文1篇以及一些应用型的论文如讽刺、金融等;在ACL2018中,共有语料建设的论文3篇、迁移学习的论文5篇、aspect级情感分析的论文篇、句子级情感分析的论文3篇以及多模态情感分析的论文1篇。可能检索的还有缺漏欢迎指正和补充。 - 任务介绍
Aspect-Based Sentiment Classification以下简称ABSC,主要分为两种子任务,包括Aspect的识别和面向Aspect的情感分析。
2.1 Aspect的识别
(1)aspect-term提取
给定具有预先识别的实体(例如,餐馆)的一组句子,识别句子中存在的方面术语并返回包含所有不同的方面术语的列表。如:
“The food was nothing much, but I loved the staff.”
在上面的句子中,我们需要识别出“food”和“staff”。在这个任务中,还有一些需要注意的地方,如“hard disk”,它是由多个词组成的实体,我们需要把它完整的识别出来。
(2)aspect-category检测
除了具体aspect实体的识别,还有一类是对预设方面词的检测。在这个任务中会给定一组预定义的方面类别(例如,价格,食物),目的是去识别给定句子中讨论的方面类别。
首先预定义方面类别:
{food, service, price, ambiance,anecdotes/miscellaneous};对于句子“The restaurant was too expensive” 需要检测并返回“{price}”,对于一个句子中可能有多方面类别的,如: “The restaurant was expensive, but the menu was great” 需要检测并返回“{price, food}”。
2.2 Aspect情感分析
针对2.1中提到了两种识别任务,对应的也有两种情感分析任务。
(1)ATSA (aspect-term sentiment analysis)
这个任务的目的是预测与文本中出现的目标实体相关的情感极性。如:
“Average to good Thai food, but terrible delivery.”对于这个句子,我们需要分别对“Thai food”和“delivery”进行情感分析,并返回结果“{Thai food : positive, delivery : negative}”。
(2)ACSA (aspect-category sentiment analysis)
这个任务的目的是预测给定方面的情感极性。如:
“Average to good Thai food, but terrible delivery.”对于给定的预定义方面类别:{food, service, price, ambience, anecdotes/miscellaneous},实体“Thai food”的类别是“food”,实体“delivery”的类别是“service”,所以该任务返回的结果是“{food:positive, service:negative}”。 -
Transformation Networks
3.1 论文介绍
论文《Transformation Networks for Target-Oriented Sentiment Classification》是发表在ACL2018上的一篇长文。是香港中文大学和腾讯AI Lab联合发表的。
下面我主要按照论文的写作顺序来介绍这篇论文。随着神经网络的发展,以RNN为原型的方法融合注意力机制,是目前解决NLP领域任务的很好的方法,在ABSA任务中也取得了较好的成绩。但是注意力机制在处理这类问题的时候也存在缺陷,它会引入一些和Target无关的噪音,从而影响实验精度。而且一个句子中target情感是由一些关键词直接影响的,例如在 “This dish is my favorite and I always get it and never get tired of it.”这个句子里,“is my favorite”是判断对“dish”这个实体情感的关键词,但是RNN-based的方法可能还会学习到“never”和“tired”这就会对结果产生影响。但是CNN也存在一些问题,因为CNN的原理,它不能够充分的学习到target的信息,也不能很好的区分多target的情况。
3.2 模型介绍
为了解决上述的问题,作者提出了一个模型TNets。模型的整体框架如图1。
首先我们为模型输入一个词序列[图片上传失败...(image-a2bcf9-1557900979844)] ,过一个BiLSTM,得到的隐层输出在经过L个CPT层,最后经过一个CNN,得到最终的输出。
在这里最重要的组件就是CPT,接下来的篇章主要对CPT部分进行介绍,图2是CPT模块的一些细节。
(1)Target-Specific Transformation
CPT模块的第一部分是TST,它的主要作用是合并输入的词表示和Target表示,第一步就是使用另一个BiLSTM来获得Target的词表示,然后动态地将它们与句子中的每个单词[图片上传失败...(image-87cfb5-1557900979844)] 关联起来。在论文Motivation中提到,对Target的情感是由句子中的一些关键词决定的,也可以理解为每一个Target对句子中不同词语的关注程度是不同的,句子中有些词和Target密切相关,有些词和Target无关。基于这些原则作者使用式(1)做个Target特别定制的表示,在论文中作者使用了tailor-make来形容这个Target表示,也是一个很特别的起名方式。
图 2 CPT模块
(1)
(2)Context-Preserving Mechanism
作者认为在经过了一层非线性的TST处理之后,特征向量中特征的均值和方差都会发生变化,之前从BiLSTM层捕获的上下文代表信息就会丢失。为了解决这个问题,作者想出了两种策略:1.Lossless Forwarding;2.Adaptive Scaling。
我们先来看第一种策略。Lossless Forwarding策略就是通过在转换到下一层之前直接提供特征来保存上下文信息。如下式所示。
(2)
Lossless Forwarding这个策略不能动态的解决输入&转换后特征权重的调整问题。所以作者又提出了另一种策略叫Adaptive Scaling。这个策略本质就是训练一个门机制,式(3)就是用来训练门机制的。
(3)
(3)Convolutional Feature Extractor
在写作动机中作者提到阻碍CNN良好表现的第二个问题是普通CNN可能会将目标与不相关的一般意见词关联起来,这些词经常用作跨域不同target的修饰词。因此作者在实验中还加入了句子中每个词和每个Target的位置关系。
3.3实验
(1)数据集
本文选择的数据集是SemEval2014ABSA任务的评测数据集。下图显示了数据集的一些特征。
图 3 数据集
(2)实验分析
这篇论文的作者做了充足的对比实验。如下图所示。模型的对比实验主要分为4个部分:1.与Baselines的对比;2.CPT Alternatives就是将模型中CPT的部分进行更换来验证CPT层的效果;3.TNet部分的消融实验;4.Lossless Forwarding策略和Adaptive Scaling策略的对比。
同时为了验证CPT层的个数为几,实验效果最优,作者还进行了这部分的实验,实验结果如图5所示。从图中可以看出当CPT层数为2层时实验效果最佳,超过2层,F值反而下降了。
最后作者进行了案例分析,如图6所示。前三句体现了模型在过渡句中能更准确的捕获有用信息;第5句的long,和第6句的long,虽然是同一个单词但是对于不同的Target,long这个单词传达的感情却是不一样的,针对这种现象,TNet也可以很好的解决;但是句子7,是一个虚拟语气,现有的模型都不能很好的解决,因此作者认为这种隐式的情感表达是个挑战。
图 4
图 5
4.总结
TNet采用CNN来处理目标级别的情绪分类,其性能在基准数据集上领先于最先进的模型。
为了更好地将目标信息集成到单词表示中,作者提出了一种新的特定于目标的转换组件。
作者设计了一种上下文保持机制,将上下文信息转发到一个深度转换体系结构中,从而使模型能够从更深层次的网络中学习到更加抽象的上下文化的单词特征。
图 6
同时在阅读这篇论文的时候也被作者特别的写作方式吸引,在给模型取名是很有针对性,让人一读就知道这部分解决的问题。实验做的也很充分,值得学习。