欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

[论文阅读]A Joint Training Dual-MRC Framework for Aspect Based Sentiment Analysis

发布时间:2024/3/12 编程问答 50 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [论文阅读]A Joint Training Dual-MRC Framework for Aspect Based Sentiment Analysis 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

摘要

基于方面的情感分析 (ABSA) 涉及三个基本子任务:方面术语提取、观点术语提取和方面级情感分类。早期的工作只专注于单独解决这些子任务之一。最近的一些工作集中在解决两个子任务的组合,例如,提取方面术语和情感极性,或者成对地提取方面和意见术语。最近,已经提出了三元组提取任务,即从句子中提取(方面项、意见项、情感极性)三元组。然而,以前的方法无法解决统一的端到端框架中的所有子任务。在本文中,我们提出了一个完整的 ABSA 解决方案。我们构建了两个机器阅读理解 (MRC) 问题,并通过联合训练两个具有参数共享的 BERT-MRC 模型来解决所有子任务。我们对这些子任务进行了实验,并且在几个基准数据集上的结果证明了我们提出的框架的有效性,它明显优于现有的最先进的方法。
在本文中,我们提出了一个联合训练框架,以在一个模型中处理所有ABSA子任务(如图1所述)。我们使用BERT(Devlin等人2019)作为我们的骨干网络,并使用基于跨度的模型从句子中检测AT / OT的开始/结束位置。基于Span的方法优于传统的基于序列标记的提取任务方法(Hu等人,2019)。根据其思想,使用了一种基于非最大抑制算法(NMS)的启发式多跨度解码算法(罗森菲尔德和瑟斯顿1971)。

我们将原始的三元组提取任务转换为两个机器阅读理解(MRC)问题。如果使用预先训练的BERT模型,则已知MRC方法有效。原因可能是BERT通常使用下一个句子预测进行预先训练,以捕获成对的句子关系。从理论上讲,三元组提取任务可以分解为子任务AE,AOE和SC。因此,我们使用左MRC处理AE,使用右MRC处理 AOE 和 SC。

贡献:

  • 我们展示了三重提取任务可以由三个目标联合训练。
  • 我们提出了一个双MRC框架,可以处理ABSA中的所有子任务(如表1所示)。
  • 我们进行实验以比较我们提出的框架关于这些任务。实验结果表明,所提方法优于现有方法。

模型

三元组抽取的联合训练

ABSA的任务:

  • AE: AT extraction 方面术语提取
  • OE: OT extraction 观点术语提取
  • SC: aspect-level sentiment classification 方面级情感分类
  • AESC : AT extraction and sentiment classification 方面术语提取和情感分类
  • AOE : aspect-oriented OT extraction 方面词导向的观点术语提取
  • Pair: (AT, OT) pair extraction (方面术语,观点术语)对提取
  • Triple: (AT, OT, SP) triple extraction(方面术语,观点术语,情感极性)三元组提取

其它子任务可以被当作三元组提取任务的特殊情况。

给定最大长度为n的句子xjx_jxjTj={(a,o,s)}T_j=\{(a, o, s)\}Tj={(a,o,s)}是输入句子xjx_jxj的三元组输出。对于训练集D={(xj,Tj)}D=\{(x_j,T_j)\}D={(xj,Tj)}, 最大似然:

L(D)=∏j=1∣D∣∏(a,o,s)∈TjP((a,o,s)∣xj)L(\mathcal{D})=\prod_{j=1}^{|\mathcal{D}|} \prod_{(a, o, s) \in T_j} P\left((a, o, s) \mid x_j\right) L(D)=j=1D(a,o,s)TjP((a,o,s)xj)

定义:

Tj∣a:={(o,s),(a,o,s)∈Tj},kj,a:=∣Tj∣a∣T_j\left|a:=\left\{(o, s),(a, o, s) \in T_j\right\}, \quad k_{j, a}:=\right| T_j|a| Tja:={(o,s),(a,o,s)Tj},kj,a:=Tja

xjx_jxj的对数似然:

ℓ(xj)=∑(a,o,s)∈Tjlog⁡P((a,o,s)∣xj)=∑a∈Tj∑(o,s)∈Tj∣alog⁡P(a∣xj)+log⁡P((o,s)∣a,xj)=∑a∈Tj(∑(o,s)∈Tj∣alog⁡P(a∣xj))+∑a∈Tj(∑(o,s)∈Tj∣alog⁡P(s∣a,xj)+log⁡P(o∣a,xj))\begin{aligned}\ell\left(x_j\right) &=\sum_{(a, o, s) \in T_j} \log P\left((a, o, s) \mid x_j\right) \\&=\sum_{a \in T_j} \sum_{(o, s) \in T_j \mid a} \log P\left(a \mid x_j\right)+\log P\left((o, s) \mid a, x_j\right) \\&=\sum_{a \in T_j}\left(\sum_{(o, s) \in T_j \mid a} \log P\left(a \mid x_j\right)\right) \\&+\sum_{a \in T_j}\left(\sum_{(o, s) \in T_j \mid a} \log P\left(s \mid a, x_j\right)+\log P\left(o \mid a, x_j\right)\right)\end{aligned} (xj)=(a,o,s)TjlogP((a,o,s)xj)=aTj(o,s)TjalogP(axj)+logP((o,s)a,xj)=aTj(o,s)TjalogP(axj)+aTj(o,s)TjalogP(sa,xj)+logP(oa,xj)

最后一个等式成立,因为在给定句子xjx_jxj和方面术语aaa的情况下,观点术语ooo和情感极性sss是有条件独立的。

ℓ(xj)=∑a∈Tjkj,a⋅log⁡P(a∣xj)+∑a∈Tj(kj,a⋅log⁡P(s∣a,xj)+∑o∈Tj∣alog⁡P(o∣a,xj))\begin{aligned}\ell\left(x_j\right) &=\sum_{a \in T_j} k_{j, a} \cdot \log P\left(a \mid x_j\right) \\&+\sum_{a \in T_j}\left(k_{j, a} \cdot \log P\left(s \mid a, x_j\right)+\sum_{o \in T_j \mid a} \log P\left(o \mid a, x_j\right)\right)\end{aligned} (xj)=aTjkj,alogP(axj)+aTjkj,alogP(sa,xj)+oTjalogP(oa,xj)

我们在xj∈Dx_j∈DxjD上求和,并对两边进行归一化,然后我们得到以下形式的对数似然:

ℓ(D)=α⋅∑j=1∣D∣∑a∈Tj(∑a∈Tjlog⁡P(a∣xj))+β⋅∑j=1∣D∣∑a∈Tjlog⁡P(s∣a,xj)+γ⋅∑j=1∣D∣∑a∈Tj(∑o∈Tj∣alog⁡P(o∣a,xj))\begin{aligned}\ell(\mathcal{D}) &=\alpha \cdot \sum_{j=1}^{|\mathcal{D}|} \sum_{a \in T_j}\left(\sum_{a \in T_j} \log P\left(a \mid x_j\right)\right) \\&+\beta \cdot \sum_{j=1}^{|\mathcal{D}|} \sum_{a \in T_j} \log P\left(s \mid a, x_j\right) \\&+\gamma \cdot \sum_{j=1}^{|\mathcal{D}|} \sum_{a \in T_j}\left(\sum_{o \in T_j \mid a} \log P\left(o \mid a, x_j\right)\right)\end{aligned} (D)=αj=1DaTjaTjlogP(axj)+βj=1DaTjlogP(sa,xj)+γj=1DaTjoTjalogP(oa,xj)

从上式,我们可能得出结论三元组抽取任务可以转换为AE, SC, AOE的联合训练。

双-MRC结构

两个部分都使用 BERT作为它们的backbone来编码上下文信息。BERT 是一个基于多层双向 Transformer 的语言表示模型。令 nnn 表示句子长度,ddd 表示隐藏维度。

假设最后一层的输出为hl,s,hr,s,hl,e,hr,e∈R(n+2)×dh^{l, s}, h^{r, s}, h^{l, e}, h^{r, e} \in\mathbb{R}^{(n+2) \times d}hl,s,hr,s,hl,e,hr,eR(n+2)×d,用来提取,l/rl/rl/r代表左/右,s/es/es/e代表start/end。

  • 左侧

从给定的文本中提取所有的AT方面术语→完成AE任务。对于左边的部分,我们得到start/end位置的对数和概率。

gl,s=Wl,shl,s,pl,s=softmax⁡(gl,s)gl,e=Wl,ehl,e,pl,e=softmax⁡(gl,e)\begin{array}{ll} g^{l, s}=W^{l, s} h^{l, s}, & p^{l, s}=\operatorname{softmax}\left(g^{l, s}\right) \\ g^{l, e}=W^{l, e} h^{l, e}, & p^{l, e}=\operatorname{softmax}\left(g^{l, e}\right) \end{array}gl,s=Wl,shl,s,gl,e=Wl,ehl,e,pl,s=softmax(gl,s)pl,e=softmax(gl,e)

loss:

JAE=−∑iyil,slog⁡(pil,s)−∑iyil,elog⁡(pil,e)\mathcal{J}_{A E}=-\sum_i y_i^{l, s} \log \left(p_i^{l, s}\right)-\sum_i y_i^{l, e} \log \left(p_i^{l, e}\right)JAE=iyil,slog(pil,s)iyil,elog(pil,e)

yl,sy^{l, s}yl,syl,ey^{l, e}yl,e是AT方面术语的开始和结束位置的真值。

  • 右侧

提取所有的OT观点术语和找到对应的具体AT的情感极性。

gr,s=Wr,shr,s,pr,s=softmax⁡(gr,s)gr,e=Wr,ehr,e,pr,e=softmax⁡(gr,e)\begin{array}{ll} g^{r, s}=W^{r, s} h^{r, s}, & p^{r, s}=\operatorname{softmax}\left(g^{r, s}\right) \\ g^{r, e}=W^{r, e} h^{r, e}, & p^{r, e}=\operatorname{softmax}\left(g^{r, e}\right) \end{array}gr,s=Wr,shr,s,gr,e=Wr,ehr,e,pr,s=softmax(gr,s)pr,e=softmax(gr,e)

JAOE=−∑iyir,slog⁡(pir,s)−∑iyir,elog⁡(pir,e)\mathcal{J}_{A O E}=-\sum_i y_i^{r, s} \log \left(p_i^{r, s}\right)-\sum_i y_i^{r, e} \log \left(p_i^{r, e}\right)JAOE=iyir,slog(pir,s)iyir,elog(pir,e)q情感极性:

pclsr=softmax⁡(Wclsrhclsr+bclsr)p_{c l s}^r=\operatorname{softmax}\left(W_{c l s}^r h_{c l s}^r+b_{c l s}^r\right)pclsr=softmax(Wclsrhclsr+bclsr)

交叉熵loss:JSC=CE(pclsr,ycls)\mathcal{J}_{S C}=C E\left(p^r_{c ls}, y_{c l s}\right)JSC=CE(pclsr,ycls)

最小化联合训练loss:

J=α⋅JAE+β⋅JSC+γ⋅JAOE\mathcal{J}=\alpha \cdot \mathcal{J}_{A E}+\beta \cdot \mathcal{J}_{S C}+\gamma \cdot \mathcal{J}_{A O E}J=αJAE+βJSC+γJAOE

MRC数据集转换

在将原始三元组注释输入联合训练 dualMRC 模型之前,必须对其进行转换。两个 MRC 都使用输入句子作为它们的上下文。

左 MRC 的query:

q1q_1q1 = “Find the aspect terms in the text.”

已知AT,右MRC的query:

q2(AT)q_2 (AT)q2(AT) = “Find the sentiment polarity and opinion terms for AT in the text.”

右侧 MRC 的输出是所有 OT 和给定 AT 的情感极性。一个重要的问题是,右侧 MRC 的数量等于 AT 的数量,因此,左侧 MRC 重复该次数。

推理过程


对于Triple,训练过程和推理过程之间的一些差异。
在训练过程中,已知所有AT(方面术语)的真值,然后可以根据这些AT构建右边的MRC。因此,训练过程是端到端的。然而,在推理过程中,AT是左侧MRC的输出。因此,我们以pipeline的方法推断两个MRC。

总结

以上是生活随笔为你收集整理的[论文阅读]A Joint Training Dual-MRC Framework for Aspect Based Sentiment Analysis的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。