To be Closer: Learning to Link up Aspects with Opinions

北京理工大学

新加坡科技设计大学

字节跳动

Abstract

依赖解析树[1]有助于在基于方面的情感分析(ABSA)中发现观点词,而从现成的依赖解析器中获取的树是静态的,可能不是最优的。

[1]Huang B, Carley K M. Syntax-aware aspect level sentiment classification with graph attention networks[J]. arXiv preprint arXiv:1909.02606,2019.

所以,本文的目标是通过学习产生一个以方面为中心的树结构来缩短方面词与相应观点词之间的距离,与标准的依赖解析树相比,方面词和观点词更接近以方面为中心的树结构。学习过程中允许树状结构自适应地将方面词和观点词联系起来,使之能够更好地识别ABSA任务中的情感极性。

作者在五个基于方面的情感数据集上进行了实验,且在SemEval Restaurant14上,方面词和观点词之间的平均距离至少缩短了19%。

1 Introduction

基于方面的情绪分析(ABSA)旨在确定句子中对特定目标表达的情绪极性。例如,在“the battery life of this laptop is very long, but the price is too high”这句话中,对方面词“battery life”表达的情绪是积极的,而对“price”表达的情绪是消极的。

早期研究成果的重点是使用注意机制来模拟方面词和语境词之间的交互作用,但这种方式忽略了低频词汇。最近的研究表明,句子的句法结构有助于识别与体词相关的情感特征。然而,不幸的是,这些方法有两个缺点:

  • 从现有的依赖解析器中获得的树是静态的,不能处理多个方面词与观点词之间的复杂关系。
  • 不准确的解析树可能会导致错误向下游传播。

尽管有些工作已经缓解树表示的问题,但现有的方法依然依赖于外部的解析树。依赖解析树不是为了ABSA而设计的,而是为了表达语法关系。具体来说,方面词通常是名词或名词短语,而依赖关系树的根通常是动词或副词。有统计表明,90%的句子依赖树的根不是方面词,这可能会妨碍模型捕获观点词和方面词之间的关系。

Loving the harry potter movie marathon:喜欢《哈利波特》系列电影

作者在本文中提出了一个能够学习以方面词为中心的句法树的模型,称之为ACLT,通过注意力机制和矩阵树定理(MTT)实现,并加入一个软约束来激励方面词成为树结构的根。

本文贡献:

  • 提出了一个以方面词为中心的潜在树来连接方面词和观点词。
  • ACLT能够比标准解析树更好地将方面和观点词关联起来。
  • 能够将方面词和观点词之间的平均距离缩短至少19%。

2 Model

2.1 Sentence Encoder

首先从句子编码器中获取上下文的表示。

给定一个句子s=[w1,...,wn]s=[w_1,...,w_n]s=[w1​,...,wn​]​,对应方面词​为a=[wi,...,wj](1≤i≤j≤n)a=[w_i,...,w_j](1\leq{i\leq{j\leq{n}}})a=[wi​,...,wj​](1≤i≤j≤n)​,​​作者使用BERT来获取每个单词的上下文表示。

输入:x=([CLS]w1,...,wn[SEP]wi,...,wj[SEP])x=([CLS]w_1,...,w_n[SEP]w_i,...,w_j[SEP])x=([CLS]w1​,...,wn​[SEP]wi​,...,wj​[SEP])​​

输出:H=[h1,...,hn]H=[h_1,...,h_n]H=[h1​,...,hn​]​,其中hih_ihi​表示第iii​个token的上下文表示

2.2 Aspect-Centric Tree Inducer

接下来,作者使用Kirchhoff(基尔霍夫)矩阵树的一个变体来产生所有可能的潜在树的分布。底层的树诱导器是一个潜在变量模型,它将树结构视为潜在变量。

Kirchhoff(基尔霍夫)矩阵树定理:对于一个无向图GGG,它的生成树个数等于其基尔霍夫矩阵任何一个N−1N−1N−1​阶主子式的行列式的绝对值。

所谓的N−1N−1N−1阶主子式就是对于一个任意的一个rrr,将矩阵的第rrr行和第rrr列同时删去得到的新矩阵。

基尔霍夫矩阵的一种求法(矩阵树定理):
基尔霍夫矩阵K=度数矩阵D−邻接矩阵A基尔霍夫矩阵K=度数矩阵D − 邻接矩阵A 基尔霍夫矩阵K=度数矩阵D−邻接矩阵A
度数矩阵(i,i)(i,i)(i,i)表示iii这点的度,其余点均为0。

邻接矩阵(i,j)(i,j)(i,j)表示(i,j)(i,j)(i,j)连的边数;特别的,若i=ji=ji=j,则为0。

给定语句中每个节点(token)的上下文表示 h∈Rdh\in\mathbb{R}^dh∈Rd​,其中ddd是节点表示的维数。首先通过两个前馈神经网络(FNN)和双线性函数,用节点表示hih_ihi​和hjh_jhj​计算第iii和第jjj节点之间的成对未归一化边缘分数eije_{ij}eij​:
eij=(tanh(Wphi))TWb(tanh(Wchj))e_{ij}=(tanh(W_ph_i))^TW_b(tanh(W_ch_j)) eij​=(tanh(Wp​hi​))TWb​(tanh(Wc​hj​))
其中Wp∈Rd×dW_p\in\mathbb{R}^{d\times{d}}Wp​∈Rd×d​和Wc∈Rd×dW_c\in\mathbb{R}^{d\times{d}}Wc​∈Rd×d​是两个FNN的权值,Wb∈Rd×dW_b\in\mathbb{R}^{d\times{d}}Wb​∈Rd×d​是BiLinear的权值。eije_{ij}eij​​可以看作是具有n个节点的图GGG​的一个加权邻接矩阵,其中每个节点对应句子中的一个词。

原文好像出错了,这里的 eije_{ij}eij​​应该是一个数字​,不是 d×dd\times{d}d×d​​维矩阵


KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{aligned…

然后需要计算根分数rir_iri​,表示第iii​个节点被选为结构根的概率:
ri=Wrhir_i=W_rh_i ri​=Wr​hi​
其中Wr∈R1×dW_r\in\mathbb{R}^{1\times{d}}Wr​∈R1×d是Linear的权值。

计算潜在结构的依赖边的边际概率:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \begin{aligned…
其中 A∈Rn×nA\in\mathbb{R}^{n\times{n}}A∈Rn×n表示两个节点之间边的权重,

L∈Rn×nL\in\mathbb{R}^{n\times{n}}L∈Rn×n表示图GGG的拉普拉斯矩阵,

L‾∈Rn×n\overline{L}\in\mathbb{R}^{n\times{n}}L∈Rn×n​​将根节点考虑在内而进一步计算。

用PijP_{ij}Pij​表示节点i,ji,ji,j的边缘概率分布,而PirP^r_iPir​为节点iii表示为根节点的边缘概率。那么:
Pij=(1−δ1,j)Aij[L‾−1]jj−(1−δi,1)Aij[L‾−1]ji\boldsymbol{P}_{i j}=\left(1-\delta_{1, j}\right) \boldsymbol{A}_{i j}\left[\overline{\boldsymbol{L}}^{-1}\right]_{j j} -\left(1-\delta_{i, 1}\right) \boldsymbol{A}_{i j}\left[\overline{\boldsymbol{L}}^{-1}\right]_{j i} Pij​=(1−δ1,j​)Aij​[L−1]jj​−(1−δi,1​)Aij​[L−1]ji​

Pir=exp⁡(ri)[L‾−1]i1\boldsymbol{P}_{i}^{r}=\exp \left(\boldsymbol{r}_{i}\right)\left[\overline{\boldsymbol{L}}^{-1}\right]_{i 1} Pir​=exp(ri​)[L−1]i1​

其中δ\deltaδ为Kronecker delta(两者相等,则其输出值为1,否则为0),P∈Rn×nP\in\mathbb{R}^{n\times{n}}P∈Rn×n可以看作是图的一个加权邻接矩阵。

克罗内克函数的输入值一般是两个整数,如果两者相等,则其输出值为1,否则为0。

Root Refinement

尽管MTT诱导的树十分成功,但在没有结构监督的情况下,MTT仍然会产生任意的树,而这些树不适合具体的任务。因此假设诱导树结构的根是在方面词里,能够让模型更好的关联方面词和观点词。在这种假设下,作者提出使用软约束诱导方面词成为树的根节点:
La=−∑i=1L(tilog⁡(Pir)+(1−ti)log⁡(1−Pir))\mathcal{L}_{a}=-\sum_{i=1}^{L}\left(t_{i} \log \left(\boldsymbol{P}_{i}^{r}\right)+\left(1-t_{i}\right) \log \left(1-\boldsymbol{P}_{i}^{r}\right)\right) La​=−i=1∑L​(ti​log(Pir​)+(1−ti​)log(1−Pir​))
其中ti∈{0,1}t_i\in\{0,1\}ti​∈{0,1}表示第iii个token是否为方面词,损失越少方面词成为树的根节点的概率越大,也能减少训练过程中MTT的搜索空间。

由于信息主要在相邻节点之间传播,所以在早期的迭代过程中总是产生一个随机结构。随着根被调整到方面词上,且当损失较小时,结构变得更加精细,树诱导器更有可能产生一个以方面为中心的潜在结构。作者在后面的实验也表明,根细化损失能够成功地引导生成以方面词为根的树。

2.3 Tree Encoder

对于给定上下文表示hhh和对应的方面中心图PPP​​​,通过注意力机制编码
sip=∑k=1nPkihk+Pirhasic=∑k=1nPikhisi=tanh⁡(Ws[sip,sic,hi])\begin{aligned} \boldsymbol{s}_{i}^{p} &=\sum_{k=1}^{n} \boldsymbol{P}_{k i} \boldsymbol{h}_{k}+\boldsymbol{P}_{i}^{r} \boldsymbol{h}_{a} \\ \boldsymbol{s}_{i}^{c} &=\sum_{k=1}^{n} \boldsymbol{P}_{i k} \boldsymbol{h}_{i} \\ \boldsymbol{s}_{i} &=\tanh \left(\boldsymbol{W}_{s}\left[\boldsymbol{s}_{i}^{p}, \boldsymbol{s}_{i}^{c}, \boldsymbol{h}_{i}\right]\right) \end{aligned} sip​sic​si​​=k=1∑n​Pki​hk​+Pir​ha​=k=1∑n​Pik​hi​=tanh(Ws​[sip​,sic​,hi​])​
其中sips_i^psip​​表示从可能的父节点hih_ihi​收集到的信息,

sics_i^csic​表示从可能的子节点hih_ihi​​收集到的信息,

hah_aha​表示根节点,

最后得到第iii个词的结构化表示sis_isi​

2.4 Classifier

利用s0s_0s0​​​(是每个句子的结构化方面感知表示)来计算不同情绪极性的概率:
yp=softmax⁡(Wps0+bp)y_{p}=\operatorname{softmax}\left(\boldsymbol{W}_{p} \boldsymbol{s}_{0}+\boldsymbol{b}_{p}\right) yp​=softmax(Wp​s0​+bp​)
其中WpW_pWp​和bpb_pbp​为分类器的参数,ypy_pyp​为预测的情绪概率分布。

分类器的目标是使下面的loss函数最小化:
Ls=−log⁡P(y∣x)\mathcal{L}_{s}=-\log P(y \mid \mathbf{x}) Ls​=−logP(y∣x)
其中 y∈{positive,negative,neutral}y\in\{positive, negative, neutral\}y∈{positive,negative,neutral}

而最终的目标是一个多任务学习的函数,是根细化和分类器损失的加权和:
L=αLa+(1−α)Ls\mathcal{L}=\alpha \mathcal{L}_{a}+(1-\alpha) \mathcal{L}_{s} L=αLa​+(1−α)Ls​
其中的超参数α\alphaα需要根据验证集中的性能来选择。

3 Experiments

3.1 Experimental Setup

作者一共在五个基准数据集上评估了ACLT模型

3.2 Baselines

作者在文章中选择了三类较为先进的基线模型:

  1. 无语法信息模型:TNet-AS,BERT-PT,BERT-PAIR,BERT-SRC
  2. 依赖解析树模型: ASGCN,CDT,BiGCN,ASGCN+BERT,R-GAT+BERT
  3. 潜在树模型:KumaGCN+BERT
3.3 Main Results

实验结果表明语法信息确实有利于ABSA任务,ACLT能在方面词和上下文之间建立联系

ACLT是否缩短了方面词和观点词之间的距离?

实验结果证实了假设,诱导树结构的根落在方面词上,确实使模型能够比标准的解析树更好地关联方面和观点词

3.4 模型分析

不同树表示的效果

  1. 包含句法信息的模型通常优于普通的BERT-SRC,表明句法信息有利于ABSA任务。
  2. ACLT和ACLT+GCN模型始终优于其他依赖树的模型,表明以方面词为中心的树确实能够有效地为ABSA任务构建方面词和上下文词之间的关系。
  3. ACLT+GCN在Rest14和Twitter数据集上的表现优于ACLT,说明使用GCN可以在一定程度上提高模型性能。

根细化有效吗?

ACLT模型将方面词作为根节点的比例明显提高了

修剪树的作用

完整的树结构对于ACL是非常重要的,树结构只要发生修剪,F1值都会下降;而反观其他模型,进行修剪后F1值反而还会上升。因此,ACLT模型对ABSA任务中,关联方面词和观点词更加紧密。

消融实验

  1. 根细化对模型性能的提升很大。
  2. 将根节点固定在方面词的第一个词上导致模型性能下降,表明计算各方面词成为根的概率非常关键。

4 Conclusion

  1. 本文观察到在ABSA任务中,方面词和语法解析树的根节点不一致(依赖解析树一般以谓语作为根节点),因此导致方面词和观点词之间的路径变长了,不利于方面词和观点词联系起来。
  2. 因此,本文首先使用句子编码器,将句子和方面词一起送入BERT进行编码得到句子表示;然后计算语法树的边权重以及计算将方面词作为根节点的概率;构造两个目标函数,最大化方面词成为根节点、最小化方面词情感分类误差,综合这两个目标函数得到最后的语法树。
  3. 结果发现ACLT模型的语法树,方面词和观点词具有更短的距离,有利于提升ABSA任务表现。

论文阅读——To be Closer: Learning to Link up Aspects with Opinions相关推荐

  1. 论文阅读笔记:SCAN: Learning to Classify Images without Labels

    论文阅读笔记:SCAN: Learning to Classify Images without Labels 摘要 简介和相关工作 方法 表征学习 语义聚类损失 2.3 通过自标记进行微调 3 实验 ...

  2. Zero-shot Learning零样本学习 论文阅读(一)——Learning to detect unseen object classes by between-class attribute

    Zero-shot Learning零样本学习 论文阅读(一)--Learning to detect unseen object classes by between-class attribute ...

  3. 年龄论文阅读——Deep Label Distribution Learning With Label Ambiguity

    论文阅读--Deep Label Distribution Learning With Label Ambiguity 版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.c ...

  4. 论文阅读|node2vec: Scalable Feature Learning for Networks

    论文阅读|node2vec: Scalable Feature Learning for Networks 文章目录 论文阅读|node2vec: Scalable Feature Learning ...

  5. 【论文阅读】Neural Transformation Learning for Deep Anomaly Detection Beyond Images 异常检测,可学习变换,时间序列,表格数据

    本博客系博主阅读论文之后根据自己理解所写,非逐字逐句翻译,预知详情,请参阅论文原文. 论文标题:Neural Transformation Learning for Deep Anomaly Dete ...

  6. 【论文阅读】Occupancy Networks: Learning 3D Reconstruction in Function Space

    论文题目:Occupancy Networks: Learning 3D Reconstruction in Function Space(占据网络:在函数空间内学习三维重建,简称ONet) 论文作者 ...

  7. 【论文阅读】Weakly Supervised Learning of Instance Segmentation with Inter-pixel Relations

    一篇经典的弱监督分割论文,发表在CVPR2019上面 论文标题: Weakly Supervised Learning of Instance Segmentation with Inter-pixe ...

  8. 论文阅读笔记:ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections

    提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 相关工作 神经投影网络(Neural Projection Networks) Pro ...

  9. 论文阅读:Personalized Federated Learning with Moreau Envelopes

    论文名字 Personalized Federated Learning with Moreau Envelopes 来源   年份 2021.3.3 作者 Canh T. Dinh, Nguyen ...

最新文章

  1. JavaScript高级程序设计(1)
  2. 2007微软技术大会(TechEd)开幕式
  3. ubuntu安装python-mysqldb
  4. 理解依赖注入(IOC)
  5. 中国移动技术愿景2020+
  6. C++ unsigned long 转化为 unsigned char*
  7. 做个犀利的码农:如何持续培养/更新自己的开发技能
  8. 图像处理——在Python中使用OpenCV显示图像
  9. 1100名达摩院“扫地僧”加持,阿里云的下一个十年
  10. JS不间断无缝滚动 (兼容火狐和IE)
  11. 射频微波天线知识点整理
  12. 基于NXP iMX8测试Secure Boot功能部署
  13. 分布式技术(6) 后端接口设计方案
  14. 可折叠的listview 之ExpandableListView基本使用
  15. 8051 C 中的sbit
  16. 强化学习环境学习-gym[atari]-paper中的相关设置
  17. 【算法思路】常见岛屿数量的算法题
  18. python3英文视频课程_Python3国外著名视频教程英文 87课
  19. 大文件传输利器HFS的配置及简单使用
  20. Linux下安装和使用杀毒软件AntiVir

热门文章

  1. 洛谷 P-4045 密码(AC自动机+状态压缩+数位DP+乱搞)
  2. rhel5-rhel6安装oracle11g
  3. tedu斌-MySql笔记2112-1
  4. 作业视频辅导 SS2023 HW4:信号卷积分解
  5. windows10启动进入grub命令行解决方法
  6. sql 查询当前订单是第几笔订单
  7. C语言常用词汇及其积累,C语言常用词汇表
  8. 设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘法和除法运算。
  9. html如何设置绝对定位,css教程之绝对定位使用详解
  10. 谷歌小恐龙作弊方法之一