Towards Explainable NLP: A Generative Explanation Framework for Text Classification

Towards Explainable NLP: A Generative Explanation Framework for Text Classification

Abstract

現有的可解釋性機器學習系統關注於解釋輸入和輸出的聯繫。而細粒度的信息(標籤的文字解釋)經常被忽略,並且系統不說人話(人看不懂)。

細粒度的信息---產品的各個組成部分(價格/包裝/質量)

粗粒度---產品整體

爲了解決這個問題,提出了一個文本生成解釋框架,這個框架可以同時進行分類預測和解釋預測結果的細粒度信息。提出瞭解釋因子以及一個最小化風險訓練方法,這個方法可以生成更合理的解釋。

Introduction

A嘗試在可解釋的表示上識別一個可解釋的模型,該模型在局部上忠實於分類器

局部保真度意味着解釋需要很好地近似於模型對數據子集的預測。

B用熱圖可視化隱藏元素對預測結果的影響

這些方法沒有使用解釋模型行爲的細粒度信息

正常人打分的習慣:先寫一些評語,接着總結產品的一些屬性並打分,最後給一個overall打分

因此,顯式生成細粒度信息來解釋預測對於建立可靠的可解釋文本分類模型至關重要

idea:顯式捕獲從原始文本推斷出的細粒度信息,利用這些信息幫助解釋預測的分類結果,並提高整體表現

具體來說,引入瞭解釋因子的概念和一個最小化風險訓練方法,這樣的策略使解釋和預測之間聯繫緊密,能獲得更好的表現。本文是第一個使用抽象的生成的細粒度信息來解釋預測結果的模型。

本文中,將總結(文本)和打分(數字)看爲細粒度的信息。

PCMag:數據集裏每個item有一段關於產品的長評價文本,三段簡短的文本評論(從積極、消極和中立角度解釋產品的屬性),一個整體打分。作者將三段短文本看作長評論文本的細粒度信息。Skytrax 用戶評論數據集:每個實例包括三部分:一段對於航班的評價,五個關於航班不同方面的打分(座椅舒適度,機艙人員,食物,機艙內環境,機票價值),一個總體評分。對於這一數據集,作者將五個子得分看作飛機評論文本的細粒度信息。

本文的貢獻:

  1. 第一個利用生成的細粒度信息建立文本分類的生成解釋框架,提出瞭解釋因子,介紹了用語該生成-判別混合模型的最小化風險訓練方法
  2. 對比了本文框架和不同的神經網絡架構的效果,發現本文方法帶來顯著提升
  3. 公開了兩個NLP數據集,其中包括可用於文本分類結果解釋的細粒度信息

Task Definition and Notations

什麼是好的細粒度解釋?比如產品有三個屬性:質量、可用性和價格。如果模型判斷產品好,且模型預測產品質量高,可用性好,價格低,則認爲屬性值較好地解釋了模型的預測效果。

因此,對於模型做出的給定分類預測,我們想進一步研究細粒度的信息,這些信息可以解釋爲什麼對當前示例做出這樣的決定。同時,我們還想弄清楚從輸入文本中推斷出的細粒度信息是否可以幫助提高整體分類性能。

文本輸入序列爲\(S\{s_1,s_2,...,s_{|S|}\}\),需要預測\(S\)屬於哪個類別\(y_i(i\in[1,2,...,N])\),爲\(y_i\)生成細粒度解釋\(e_c\)

Generative Explanation Framework

image

Encoder E將S編碼爲\(v_e\),Predictor P爲各個類別提供分佈概率\(P_{pred}\),並從\(P_{pred}\)中提取真值概率。生成器G將\(v_e\)作爲輸入並生成解釋\(e_c\)。分類器和預測器P共同預測類別y。當\(e_c\)輸入到c時,C對分佈概率\(P_{classified}\) 進行預測,之後輸出兩個真值概率用於計算解釋因子\(EF(S)\)

Base Classifier and Generator

編碼器E接收文本序列S作爲輸入,將其轉換爲表示向量\(v_e\),類別預測器P接收ve作爲輸入,並輸出預測類別\(y_i\)及其關聯概率分佈\(p_{pred}\)

生成解釋的方法是將ve輸入到一個解釋生成器G,生成細粒度解釋ec

image-20220223115020828

用softmax將分佈轉換爲分類

損失函數L包括分類損失\(L_p\)和解釋生成損失\(L_e\)

image-20220223115402748

\(\theta\)表示所有參數

Explanation Factor

​ 生成解釋的監督方法非常簡單(如上個section所示)。然而,這個生成過程有一個顯著的缺點:不能在生成解釋和預測的整體結果之間建立強聯繫。換句話說,生成解釋似乎獨立於預測的總體結果。因此,爲了對結果產生更合理的解釋,我們使用解釋因子來幫助解釋和預測之間建立更強的聯繫。

​ 正如我們在介紹部分所演示的,細粒度信息有時會比原始輸入文本序列更直觀地反映總體結果。例如,給出一個評論句子“The product is good to use”,我們可能不確定該產品是否應該被評爲5星或4星。但是,如果我們看到產品的屬性都被評爲5顆星,我們可能更相信該產品的總體評級應該是5顆星。

​ 首先,我們預訓練一個分類器C,它也會通過直接接受解釋作爲輸入來預測類別y。更具體地說,C的目標是模仿人類的行爲,這意味着C應該比以原文爲輸入的基模型更準確地預測總體結果。我們在實驗部分證明了這個假設。

​ 作者使用預訓練分類器 C 爲文本編碼器 E 提供指導,使其能夠生成一個含有更多信息量的向量表示 \(v_e\)。在訓練過程中,作者首先使用解釋生成器 G 得到生成性解釋 \(e_c\) ,之後將\(e_c\)輸入到分類器 C 中,得到預測結果 \(P_{classified}\) 的概率分佈。同時,作者將人們可接受的文本解釋 \(e_g\) 輸入到分類器中,得到可接受的解釋(golden explanation)的概率分佈 \(P_{gold}\) ,公式如下:

image-20220228152714003

​ 爲了衡量預測結果、生成的解釋和可接受解釋的生成結果之間的距離,作者從 \(P_{classified}\), \(P_{pred}\),\(P_{gold}\) 中分別抽取了真值(ground-truth),用於衡量最小化風險訓練中預測結果和ground-truth的差異。

定義解釋因子爲:

image-20220228153135156
  1. 第一部分表示生成的解釋 \(e_c\) 和可接受的解釋 \(e_g\) 之間的距離。作者認爲,由於使用了可接受的解釋對 C 進行了預訓練,當 C 接收了相似的解釋時,其應當產生相似的預測結果。在該任務中,作者希望 \(e_c\) 可以表達與 \(e_g\) 相同或相似的含義。
  2. 第二部分表示生成解釋 \(e_c\) 和原始文本S之間的相關性,生成的解釋應當和原始文本的預測結果一致。

Minimum Risk Training

​ 爲了消除細粒度信息和輸入文本之間的脫節,我們使用最小風險訓練(Minimum risk training, MRT)來優化我們的模型,其目標是最小化預期損失。給定序列S和可接受的解釋 \(e_g\) ,我們設\(\gamma(e_g,S,\theta)\) 爲參數 θ 的整體預測結果集合,\(\Delta (y,\tilde y)\) 表示預測結果和ground-truth之間的語義距離,則目標函數爲:

image-20220228154007312

D表示整個訓練數據集

在本文的實驗中,\(E(e_g, S, θ)\) 是集合 \(γ(e_g, S, θ)\) 上的期望,即公式(5)中的整體損失。作者將解釋因子 \(EF(S)\) 定義爲輸入文本、生成解釋和可接受解釋之間的語義距離,因此, MRT 的目標函數可表示爲如下公式:

image-20220228154817550

MRT 使用 EF(S) 衡量損失,以使用特定的評估指標對 GEF 進行優化。儘管當輸入文本、生成解釋和可接受解釋的真值非常接近時, \(L_{MRT}\) 可取0或接近0,仍然不能保證生成的解釋接近可接受解釋。爲了避免損失的性能退化,作者將最終的損失函數定義爲 MRT 損失和解釋生成損失的加和,即:

image-20220228155941039

1:1的權重是試出來的

Application Case

​ 一般來說,對於真實的數據集,細粒度的解釋有不同的形式,這意味着\(e_c\)可以是文本的形式,也可以是數字分數的形式。我們使用不同的基模型將環境因子應用於這兩種解釋形式

Text Explanations

​ CVAE與傳統的SEQ2SEQ模型相比能夠生成情感文本並捕獲更大的多樣性。在該結構中,可接受的解釋 eg 和生成解釋 ec 包括積極、消極和中立三類評論。分類器爲使用雙向 GRU-RNN 結構的殘差模型。模型的輸入爲三類評論,輸出爲預測分類的概率分佈。

CVAE+GEF的結構:

image-20220228161713126

分類結果共有4類,本示例中的分類真值爲2。作者假設預訓練的分類器是一個“完美”的分類器,能在接收 eg 作爲輸入時將最終標籤正確預測爲2。因此作者希望向該結構輸入 ec 時,同樣能夠得到結果爲2。

Numerical Explanations

​ 對總體結果進行細粒度解釋的另一種常用形式是數值分數。例如,當用戶想要評價一個產品時,他/她可能首先評價產品的一些屬性,如包裝、價格等。在對所有屬性進行評級之後,她/他將給出產品的總體評級。所以我們可以說,屬性的評級在某種程度上可以解釋爲什麼用戶給出總體評分。我們分別使用LSTM和CNN模型作爲編碼器E。在這個例子中,數值解釋也被視爲一個分類問題。

Dataset

​ 在兩個數據集上進行了實驗,分別使用文本和數字評級來表示細粒度信息。第一個是從PCMag網站抓取的,另一個是Skytrax用戶評論數據集。

PCMag Review Dataset

​ 數據集是從PCMag網站抓取的。它是一個爲筆記本電腦、智能手機、相機等電子產品提供評論的網站。數據集中的每一項都由三個部分組成:一個長的回顧文本、三個簡短評論和產品的總體評分。三個簡短的評論分別從積極、消極、中性的角度對長篇評論進行總結。總體評分是一個從0到5的數字,評分的可能值是{1.0,1.5,2.0,…, 5.0}。

​ 由於長文本生成不是我們關注的內容,所以評論文本包含的內容多於70個句子或者token數>=75都會被過濾。我們將數據集隨機分成10919/1373/1356對用於訓練/dev/測試集。(見Table 1)

Skytrax User Reviews Dataset

​ 我們合併了從Skytraxs Web門戶獲取的航空公司評論數據集。該數據集中的每個條目由三個部分組成:即一個評論文本、五個子字段的分數和一個總體評分。這五個子字段的分數分別表示用戶對座椅舒適度、客艙物品、食物、飛行環境和機票價值的評分,每個分數都是0 ~ 5之間的整數。總分是1到10之間的整數。

​ 類似於PCMag Review Dataset,我們過濾掉了Review包含超過300個token的項目。然後我們將數據集隨機分成21676/2710/2709對用於訓練/dev/測試集。(見Table 2)

image-20220228202614401

Experiments and Analysis

Experimental Settings

​ 爲了檢驗所提出的GEF的有效性,我們在基模型和基模型+GEF上使用相同的實驗設置。我們使用GloVe對PCMag數據集進行詞嵌入,並使用Adam最小化目標函數。表3列出了這兩個數據集的超參數設置。同時,由於文本解釋的生成損失大於分類損失,當分類損失達到一定閾值(根據dev set調整)後,我們停止更新預測器,以避免過擬合。

image-20220228203121311

Experimental Results

image-20220228203254097

​ 說明CVAE+GEF產生的解釋具有較高的質量。CVAE+GEF可以產生更接近整體結果的解釋,從而可以更好地說明我們的模型爲什麼會做出這樣的決定。

​ 我們認爲,生成的細粒度解釋應該爲分類任務提供額外的指導,因此我們還比較了CVAE和CVAE + GEF。我們使用top-1準確度和top-3準確度作爲分類性能的評價指標。在表5中,我們比較了CVAE+GEF和CVAE在測試集和驗證集的結果。如表所示,CVAE+GEF的分類效果優於CVAE,說明細粒度信息確實有助於提高整體分類結果。

image-20220228203920297

Oracle的意思是,如果我們向分類器C提供ground-truth文本解釋,C可以提高分類的準確性。Oracle證實了我們的假設,解釋在分類方面比原始文本做得更好。

​ 如上所述,我們有一個假設,如果我們使用細粒度的解釋分類,我們將比只使用原始輸入文本得到更好的結果。因此,我們將分類器C的性能列在表5中進行比較。實驗表明,C比CVAE和CVAE+GEF都有更好的性能,證明了我們的假設是合理的。

image-20220228204700029
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章