[论文阅读]A Joint Training Dual-MRC Framework for Aspect Based Sentiment Analysis
摘要
基于方面的情感分析 (ABSA) 涉及三個基本子任務(wù):方面術(shù)語提取、觀點術(shù)語提取和方面級情感分類。早期的工作只專注于單獨解決這些子任務(wù)之一。最近的一些工作集中在解決兩個子任務(wù)的組合,例如,提取方面術(shù)語和情感極性,或者成對地提取方面和意見術(shù)語。最近,已經(jīng)提出了三元組提取任務(wù),即從句子中提取(方面項、意見項、情感極性)三元組。然而,以前的方法無法解決統(tǒng)一的端到端框架中的所有子任務(wù)。在本文中,我們提出了一個完整的 ABSA 解決方案。我們構(gòu)建了兩個機器閱讀理解 (MRC) 問題,并通過聯(lián)合訓(xùn)練兩個具有參數(shù)共享的 BERT-MRC 模型來解決所有子任務(wù)。我們對這些子任務(wù)進行了實驗,并且在幾個基準(zhǔn)數(shù)據(jù)集上的結(jié)果證明了我們提出的框架的有效性,它明顯優(yōu)于現(xiàn)有的最先進的方法。
在本文中,我們提出了一個聯(lián)合訓(xùn)練框架,以在一個模型中處理所有ABSA子任務(wù)(如圖1所述)。我們使用BERT(Devlin等人2019)作為我們的骨干網(wǎng)絡(luò),并使用基于跨度的模型從句子中檢測AT / OT的開始/結(jié)束位置。基于Span的方法優(yōu)于傳統(tǒng)的基于序列標(biāo)記的提取任務(wù)方法(Hu等人,2019)。根據(jù)其思想,使用了一種基于非最大抑制算法(NMS)的啟發(fā)式多跨度解碼算法(羅森菲爾德和瑟斯頓1971)。
我們將原始的三元組提取任務(wù)轉(zhuǎn)換為兩個機器閱讀理解(MRC)問題。如果使用預(yù)先訓(xùn)練的BERT模型,則已知MRC方法有效。原因可能是BERT通常使用下一個句子預(yù)測進行預(yù)先訓(xùn)練,以捕獲成對的句子關(guān)系。從理論上講,三元組提取任務(wù)可以分解為子任務(wù)AE,AOE和SC。因此,我們使用左MRC處理AE,使用右MRC處理 AOE 和 SC。
貢獻:
- 我們展示了三重提取任務(wù)可以由三個目標(biāo)聯(lián)合訓(xùn)練。
- 我們提出了一個雙MRC框架,可以處理ABSA中的所有子任務(wù)(如表1所示)。
- 我們進行實驗以比較我們提出的框架關(guān)于這些任務(wù)。實驗結(jié)果表明,所提方法優(yōu)于現(xiàn)有方法。
模型
三元組抽取的聯(lián)合訓(xùn)練
ABSA的任務(wù):
- AE: AT extraction 方面術(shù)語提取
- OE: OT extraction 觀點術(shù)語提取
- SC: aspect-level sentiment classi?cation 方面級情感分類
- AESC : AT extraction and sentiment classi?cation 方面術(shù)語提取和情感分類
- AOE : aspect-oriented OT extraction 方面詞導(dǎo)向的觀點術(shù)語提取
- Pair: (AT, OT) pair extraction (方面術(shù)語,觀點術(shù)語)對提取
- Triple: (AT, OT, SP) triple extraction(方面術(shù)語,觀點術(shù)語,情感極性)三元組提取
其它子任務(wù)可以被當(dāng)作三元組提取任務(wù)的特殊情況。
給定最大長度為n的句子xjx_jxj?,Tj={(a,o,s)}T_j=\{(a, o, s)\}Tj?={(a,o,s)}是輸入句子xjx_jxj?的三元組輸出。對于訓(xùn)練集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?的對數(shù)似然:
?(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)∈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?和方面術(shù)語aaa的情況下,觀點術(shù)語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?)?=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上求和,并對兩邊進行歸一化,然后我們得到以下形式的對數(shù)似然:
?(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=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?)????
從上式,我們可能得出結(jié)論三元組抽取任務(wù)可以轉(zhuǎn)換為AE, SC, AOE的聯(lián)合訓(xùn)練。
雙-MRC結(jié)構(gòu)
兩個部分都使用 BERT作為它們的backbone來編碼上下文信息。BERT 是一個基于多層雙向 Transformer 的語言表示模型。令 nnn 表示句子長度,ddd 表示隱藏維度。
假設(shè)最后一層的輸出為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。
- 左側(cè)
從給定的文本中提取所有的AT方面術(shù)語→完成AE任務(wù)。對于左邊的部分,我們得到start/end位置的對數(shù)和概率。
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?=?∑i?yil,s?log(pil,s?)?∑i?yil,e?log(pil,e?)
yl,sy^{l, s}yl,s和yl,ey^{l, e}yl,e是AT方面術(shù)語的開始和結(jié)束位置的真值。
- 右側(cè)
提取所有的OT觀點術(shù)語和找到對應(yīng)的具體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?=?∑i?yir,s?log(pir,s?)?∑i?yir,e?log(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(Wclsr?hclsr?+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?)
最小化聯(lián)合訓(xùn)練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數(shù)據(jù)集轉(zhuǎn)換
在將原始三元組注釋輸入聯(lián)合訓(xùn)練 dualMRC 模型之前,必須對其進行轉(zhuǎn)換。兩個 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.”
右側(cè) MRC 的輸出是所有 OT 和給定 AT 的情感極性。一個重要的問題是,右側(cè) MRC 的數(shù)量等于 AT 的數(shù)量,因此,左側(cè) MRC 重復(fù)該次數(shù)。
推理過程
對于Triple,訓(xùn)練過程和推理過程之間的一些差異。
在訓(xùn)練過程中,已知所有AT(方面術(shù)語)的真值,然后可以根據(jù)這些AT構(gòu)建右邊的MRC。因此,訓(xùn)練過程是端到端的。然而,在推理過程中,AT是左側(cè)MRC的輸出。因此,我們以pipeline的方法推斷兩個MRC。
總結(jié)
以上是生活随笔為你收集整理的[论文阅读]A Joint Training Dual-MRC Framework for Aspect Based Sentiment Analysis的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scrapy爬虫框架 (5. 避免被封措
- 下一篇: 基于matlab的MRC最大合并比误码率