文章地址: https://ieeexplore.ieee.org/abstract/document/9634849
文章介绍
目前针对于ASTE任务的方面级情感分析任务的处理难以处理2个主要挑战,一个是意见词与方面实体间的重叠关系,另一个是长距离之间的依赖问题。因此这篇文章通过一个端到端的生成结构来处理此类问题。其将ASTE建模为一个无序的三元组预测任务,并满足具有指针网络的非自回归的解码范式。在此基础上提出了一种高阶聚合机制,从而对重叠的三元组进行充分的交互。第三,提出了一个全新的损失函数——二部匹配损失,以专门用于该文所提出的模型的训练。
现有局限
如上图所示,在同一意见词下的不同的方面实体往往会具有相同的情感,但是具有不同意见词描述的方面实体则会具有不同的情感极性。
文章模型
带有指针网络的编码和译码框架
在编码阶段,作者通过Glove或者每个单词的表示(当然用ELMO或者BERT会取得更好的结果),除此之外作者利用CNN对每个单词进行字符级别的卷积,从而获得字符级别的表示。由于Transformer encoder本身是没有位置编码的,因此作者在这里加入了单词的绝对位置用以增强,最终一个单词的表示如下
接下来就是多个Transformer encoder的叠加(中间带有多头注意力机制),最终获得每个语句特征表示。
在解码阶段,由于作者采用的是非自回归的方式,因此会存在无法确定生成单词的长度,以及三元组的数量的情况。所以作者设置了肯定会略大于每个句子可能含有的三元组阈值D。
接下来就是对于这D个查询进行嵌入(包含位置嵌入)
然后通过多层的transformer encoder进行解码
接下来通过4个独立的前馈神经网络分别获得方面实体和意见词的开始以及结束位置的表示。
然后是通过指针计算他们相应的位置,公式如下
通过指针构建其相应的表示:
高阶聚合
如果不同的方面实体-意见词对有重叠,那么作者就把他们连成一条边,从而构建了一个无向图,输入到GCN中进行卷积操作,最后得到每个词对的情感。
训练部分
由于作者采用的是非自回归的解码方式,所以作者预测出来的三元组也是无序的,而且由于作者是设置了三元组阈值D,也就是对每一个语句预测出来的三元组数量很有可能也是多于原句的。因此作者这里是提出了一个新的损失计算方式,二部匹配损失(bipartite matching loss)。
一共分为了2个步骤,首先是匹配,这里就是计算一个概率的最大值
第二步就是计算损失,公式如下:
示例图如下所示: