读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇

第一遍

标题

To be Closer: Learning to Link up Aspects with Opinions

作者

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第1张图片

摘要

  1. 依赖解析树有助于发现基于方面的情感分析中的意见词。(aspect-based sentiment analysis, ABSA),但是从off-the-shelf的解析依赖器获得的树是静态的,在ABSA中可能是次优的。因为句法树的设计不是为了捕捉意见词和方面词之间的相互作用。
  2. 本文中,通过缩短aspect和对应的意见词之间的距离,学习一个aspect-centric的树。在模型学习过程中,允许树状结构自适应地关联aspect和意见词,能够更好的识别ABSA中的极性。
  3. 结果:在五个aspect-based情感数据集上,本文模型明显优于最近的强基线;在SemEval Restaurant 14 数据集上,aspect和意见词之间的平均距离缩短了19%。

结论

  1. 通过定性和定量分析,该模型加入了根约束,提高了aspect词变成句子的根的可能性。
  2. 在SemEval Restaurant 14 数据集上,缩短了aspect词和观点词之间的平均距离19%。
  3. 未来可能用于三重态提取(aspect triplet extraction)

介绍

  1. ABSA判断句子中对特定目标的情感极性,例如:“The battery life of this laptop is very long, but the price is too high”,aspect词battery life是正向的,aspect词price是负向的。
  2. 之前的工作,使用注意力机制在aspect词和上下文词之间建模,但是这种方法会过多关注出现频率较高的词,忽视低频的词。
  3. 最近的工作发现,语法树能够帮助识别aspect词相关的情感特征,但是存在两个问题:
    1. 从现成的依赖解析器获得的树是静态的,因此不能自适应地模拟多个aspect词和意见词之间的复杂关系。
    2. 不准确的解析树可能会导致错误在pipeline中向下游传播
  4. 本文是针对aspect词为root定制生成语法树(ACLT, Aspect-Centric Latent Trees),通过注意力机制和MTT实现。加入一个软约束,通过MTT激励aspect词作为语法树的根节点。
  5. 本文贡献点:
    1. 通过ACLT来连接aspect词和观点词
    2. ACLT学习的解析树更利于aspect词和观点词联系起来

第二遍

模型

模型框架

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第2张图片

整体流程:

  1. 通过句子编码器(BERT)获取上下文表示
  2. 使用一个树偏置器,产生所有潜在树的分布(将树结构作为一个潜变量)
  3. 一旦获取到潜在树分布后,采用根求精过程,获得aspect-centric潜在树
  4. 用一个图或者树编码潜在树,利用树编码器的结构化表示情感分类

2.1 句子编码器

  1. 这里采用BERT作为句子编码器
  2. 输入: x = ( [ C L S ] w 1 , . . . , w n [ S E P ] w i , . . . , w j [ S E P ] ) x = ([CLS] w_1,...,w_n [SEP] w_i,...,w_j [SEP]) x=([CLS]w1,...,wn[SEP]wi,...,wj[SEP]),包括句子和方面词
  3. 输出:H = BERT(x) , H = [ h 1 , . . , h n ] H = [h_1,..,h_n] H=[h1,..,hn]

2.2 Aspect-centric Tree Inducer

  1. 本文想解决,语法树根节点和方面词不一致问题

  2. 通过前馈神经网络(FNN)计算两个节点( h i ∈ H h_i \in H hiH)边的分数

    公式: e i j = ( t a n h ( W p h i ) ) T W b ( t a n h ( W c h j ) ) e_{ij} = (\mathbf{tanh}(W_ph_i))^TW_b(\mathbf{tanh}(W_ch_j)) eij=(tanh(Wphi))TWb(tanh(Wchj))

    W p , W c ∈ R d × d W_p,W_c \in \mathbb{R}^{d \times d} Wp,WcRd×d分别表示两个FNN

    W b W_b Wb表示Bilinear的权重

    e i j ∈ R d × d e_{ij} \in \mathbb{R}^{d \times d} eijRd×d ,可以看作一个加权的邻接矩阵,其中每个节点对应句子中的一个词。

    感觉这里维度有问题

  3. 计算根节点分数 r i r_i ri,表示作为根节点的非非标准化(可能没有归一化)概率

    r i = W r h i r_i = W_rh_i ri=Wrhi

    W r ∈ R 1 × d W_r \in \mathbb{R}^{1 \times d} WrR1×d表示线性变化层权重

  4. 计算潜在结构的依赖边的边际概率
    A i j = { 0  if  i = j exp ⁡ ( e i j )  otherwise  L i j = { ∑ i ′ = 1 n A i ′ j  if  i = j − A i j  otherwise  L ‾ i j = { L i j + exp ⁡ ( r i )  if  i = j L i j  otherwise  \begin{aligned} \boldsymbol{A}_{i j} &= \begin{cases}0 & \text { if } i=j \\ \exp \left(\boldsymbol{e}_{i j}\right) & \text { otherwise }\end{cases} \\ \boldsymbol{L}_{i j} &= \begin{cases}\sum_{i^{\prime}=1}^{n} \boldsymbol{A}_{i^{\prime} j} & \text { if } i=j \\ -\boldsymbol{A}_{i j} & \text { otherwise }\end{cases} \\ \overline{\boldsymbol{L}}_{i j} &= \begin{cases}\boldsymbol{L}_{i j}+\exp \left(\boldsymbol{r}_{i}\right) & \text { if } i=j \\ \boldsymbol{L}_{i j} & \text { otherwise }\end{cases} \end{aligned} AijLijLij={0exp(eij) if i=j otherwise ={i=1nAijAij if i=j otherwise ={Lij+exp(ri)Lij if i=j otherwise 
    A ∈ R n × n A \in \mathbb{R}^{n \times n} ARn×n表示两个节点之间边的权重

    L ∈ R n × n L \in \mathbb{R}^{n \times n} LRn×n表示图G的拉普拉斯矩阵

    L ‾ ∈ R n × n \overline L \in \mathbb{R}^{n \times n} LRn×n考虑根节点为了进一步计算

  5. 使用 P i j P_{ij} Pij表示节点 i , j i,j i,j的边缘概率分布, P i r P_i^r Pir表示节点 i i i表示为根节点的边缘概率
    P i j = ( 1 − δ 1 , j ) A i j [ L ‾ − 1 ] j j − ( 1 − δ i , 1 ) A i j [ L ‾ − 1 ] j i P i r = exp ⁡ ( r i ) [ L ‾ − 1 ] i 1 , \begin{aligned} \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} \\ \boldsymbol{P}_{i}^{r} &=\exp \left(\boldsymbol{r}_{i}\right)\left[\overline{\boldsymbol{L}}^{-1}\right]_{i 1}, \end{aligned} Pij=Pir(1δ1,j)Aij[L1]jj(1δi,1)Aij[L1]ji=exp(ri)[L1]i1,
    δ \delta δ表示 Kronecker delta

  6. Root Refinement

    在没有结构监督的情况下,MTT仍然会产生任意的树,而这些树不适合具体的任务。因此,在这样的假设下,诱导树结构的根是在方面词里面,能够让模型更好的关联方面词和观点词。
    L a = − ∑ i = 1 L ( t i log ⁡ ( P i r ) + ( 1 − t i ) log ⁡ ( 1 − P i r ) ) \begin{aligned} \mathcal{L}_{a}=&-\sum_{i=1}^{L}\left(t_{i} \log \left(\boldsymbol{P}_{i}^{r}\right)\right.\left.+\left(1-t_{i}\right) \log \left(1-\boldsymbol{P}_{i}^{r}\right)\right) \end{aligned} La=i=1L(tilog(Pir)+(1ti)log(1Pir))
    t i ∈ { 0 , 1 } t_i \in \{ 0,1\} ti{0,1}表示是否第 i i i个token是否方面词

    由于信息主要在相邻节点之间传播,所以在训练的早期迭代过程中,树诱导器模块直观地产生随机结构。由于根部被调整为方面词,而且当损失较小时,结构变得更加精细,树诱导器更有可能产生一个以方面为中心的潜在结构。我们在3.4节的实验表明,根细化损失能够成功地引导潜在树的生成,其中主体词与根一致。

2.3 Tree Encoder 树编码器

  1. 给定上下文表示 h h h和对应的方面中心图 P P P,通过注意力机制去编码
    s i p = ∑ k = 1 n P k i h k + P i r h a s i c = ∑ k = 1 n P i k h i s i = tanh ⁡ ( W s [ s i p , s i c , h i ] ) , \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} sipsicsi=k=1nPkihk+Pirha=k=1nPikhi=tanh(Ws[sip,sic,hi]),
    s i p s_i^p sip表示从可能的父节点 h i h_i hi,聚集到的信息

    s i c s_i^c sic表示从可能的子节点 h i h_i hi,聚集到的信息

    h a h_a ha表示根节点

    s i s_i si表示第 i i i个词的结构化表示

2.4 分类器

  1. s o s_o so表示每个句子结构化aspect-aware表示
    y p = softmax ⁡ ( W p s 0 + b p ) y_{p}=\operatorname{softmax}\left(\boldsymbol{W}_{p} \boldsymbol{s}_{0}+\boldsymbol{b}_{p}\right) yp=softmax(Wps0+bp)

  2. 分类器的目标函数
    L s = − l o g P ( y ∣ x ) y ∈ { p o s i t i v e , n e g a t i v e , n e u t r a l } \mathcal{L}_{s} = -\mathrm{log}P(y|\mathbf{x}) \\ y \in \{positive, negative, neutral\} Ls=logP(yx)y{positive,negative,neutral}

  3. 最终的目标函数是一个多任务学习目标函数
    L = α L a + ( 1 − α ) L s \mathcal{L} = \alpha \mathcal{L}_a + (1-\alpha)\mathcal{L}_s L=αLa+(1α)Ls

α \alpha α是超参数,根据最后验证集结果进行调整

实验

3.2 baselines

  1. 最先进的模型主要分类三类:1. 无语法信息模型(TNet-AS、BERT-PT、BERT-PAIR、BERT-SRC) 2. 依赖解析树模型 (ASGCN、CDT、BiGCN、ASGCN+BERT、R-GAT+BERT)3. 潜在树模型(KumaGCN + BERT)

3.3 主要结果

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第3张图片

结果表明,Aclt 可以诱导更多信息的特定任务的潜伏结构,建立有效的连接之间的方面词和上下文。

为什么ACLT可以降低方面词和观点词之间的距离?

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第4张图片

  1. 表中给出依赖解析(Parser)、矩阵树理论(MTT, Matrix Tree Theory)、ACLT中方面词和观点词之间的平均距离(两个词之间的交互次数,the number of interaction hops)。
  2. 这些结果证实了我们的假设,诱导树结构的根部在方面词内,使模型能够比标准的解析树更好地关联方面和意见词。

3.4 模型分析

不同树表示的作用

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第5张图片

  1. 不论是aspect-centric潜在树、潜在矩阵树还是标准的依赖解析树都是用来表示一个句子的结构。
  2. 语法信息在ABSA任务中很重要,这一点在其他NLP任务中也比较常见。
  3. 在ABSA任务中,aspect-centric树确实可以有效地建立方面词和上下文词之间的关系
  4. 在Twitter数据集中,证明GCN也能提升一定性能。

root refinement 是否工作?

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第6张图片

从图3中可以看出,ACLT模型将方面词作为根节点的比例明显提高了

修剪树的作用

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第7张图片

从表5中可以看出,完整的树结构对于ACL是非常重要的,树结构只要发生修剪,F1值都会下降;而反观R-GA T+BERT和KumaGCN+BERT模型,对树结构进行修剪后,F1值反而还会上升。因此,从某种程度上表明,ACLT模型对ABSA任务中,关联方面词和观点词更加紧密;而其他两种模型的这种能力是受制于它们的树结构了的。

消融实验

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第8张图片

  1. root refinement对结果提升很大
  2. 固定根节点,模型性能下降,表明计算各方面词成为根的概率是获得良好性能的关键。

3.5 案例研究

读论文——EMNLP2021 Aspect-based sentiment analysis 精读第一篇_第9张图片

如图4,可以发现Aspect-centric的树相较于依赖解析树,关联方面词和观点词的路径更短。

相关工作

  1. ABSA,Sun et al.(2019a),利用aspect词构建辅助句子,将ABSA转化为句子对分类任务;Huang and Carley(2019)将意见特征从语法邻域词传播到方面词;ABSA 的另一项工作是利用显式依赖解析树来为上下文和方面词之间的关系建模。
  2. Latent variable induction. chen 通过开发 gate 机制动态地组合解析树信息和 hardkuma 结构,构造任务特定的结构。
  3. 首先,我们构造特定于特定区域的树,以便在不依赖外部解析器的情况下进行推理。其次,我们通过引入明确的监督,以端到端的方式自适应地调整方面,从而促进目标与意见之间的互动。第三,通过计算各目标词的概率作为根,使模型在训练过程中减少了对 mtt 的推理根的搜索空间。

本文小结

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

欢迎各位一起讨论,交流

你可能感兴趣的:(#,自然语言处理,nlp,情感分析)