[论文阅读]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_jxj,Tj={(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=1∏∣D∣(a,o,s)∈Tj∏P((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| Tj∣a:={(o,s),(a,o,s)∈Tj},kj,a:=∣Tj∣a∣
xjx_jxj的对数似然:
ℓ(xj)=∑(a,o,s)∈TjlogP((a,o,s)∣xj)=∑a∈Tj∑(o,s)∈Tj∣alogP(a∣xj)+logP((o,s)∣a,xj)=∑a∈Tj(∑(o,s)∈Tj∣alogP(a∣xj))+∑a∈Tj(∑(o,s)∈Tj∣alogP(s∣a,xj)+logP(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)∈Tj∑logP((a,o,s)∣xj)=a∈Tj∑(o,s)∈Tj∣a∑logP(a∣xj)+logP((o,s)∣a,xj)=a∈Tj∑⎝⎛(o,s)∈Tj∣a∑logP(a∣xj)⎠⎞+a∈Tj∑⎝⎛(o,s)∈Tj∣a∑logP(s∣a,xj)+logP(o∣a,xj)⎠⎞
最后一个等式成立,因为在给定句子xjx_jxj和方面术语aaa的情况下,观点术语ooo和情感极性sss是有条件独立的。
ℓ(xj)=∑a∈Tjkj,a⋅logP(a∣xj)+∑a∈Tj(kj,a⋅logP(s∣a,xj)+∑o∈Tj∣alogP(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)=a∈Tj∑kj,a⋅logP(a∣xj)+a∈Tj∑⎝⎛kj,a⋅logP(s∣a,xj)+o∈Tj∣a∑logP(o∣a,xj)⎠⎞
我们在xj∈Dx_j∈Dxj∈D上求和,并对两边进行归一化,然后我们得到以下形式的对数似然:
ℓ(D)=α⋅∑j=1∣D∣∑a∈Tj(∑a∈TjlogP(a∣xj))+β⋅∑j=1∣D∣∑a∈TjlogP(s∣a,xj)+γ⋅∑j=1∣D∣∑a∈Tj(∑o∈Tj∣alogP(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=1∑∣D∣a∈Tj∑⎝⎛a∈Tj∑logP(a∣xj)⎠⎞+β⋅j=1∑∣D∣a∈Tj∑logP(s∣a,xj)+γ⋅j=1∑∣D∣a∈Tj∑⎝⎛o∈Tj∣a∑logP(o∣a,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,e∈R(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,s和yl,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的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: scrapy爬虫框架 (5. 避免被封措
- 下一篇: 文档阅读器开发思路