語言生成不夠「生動」,?Percy Liang 等來自斯坦福大學的研究者提出了自然語言評估新標準。
困惑度是評估生成語言是否「自然」的最常見標準,,它的值越小,則表示模型生成的句子越接近人類語言,。但是這種基于統(tǒng)計的方法并不能很好地評估生成質(zhì)量,,因此本文提出一種新的評估方式 HUSE,它為自然語言生成提供了結(jié)合人類和統(tǒng)計評估的新架構(gòu),。
怎樣度量生成的語言
生成文本是很多 NLP 任務的核心,,但如何恰當?shù)卦u估生成語言的「自然性」是很有難度的。好的評估指標應該不僅能捕捉到生成結(jié)果的質(zhì)量,,還能考慮到生成結(jié)果的多樣性,,這對對話或故事生成這類需要創(chuàng)造性的開放性任務尤為關(guān)鍵。
人類評估通常被視為金科玉律,,既能捕捉質(zhì)量也不會忽略多樣性,。但是,統(tǒng)計評估(即在參考測試集上的困惑度)也能捕捉多樣性,因為它確保模型為新句子分配合理的概率,,但是困惑度(Perplexity)無法提供充分的質(zhì)量評估,。
目前困惑度在語言模型等領域中是應用最廣泛的度量方法,它刻畫的是語言模型估計一句話出現(xiàn)的概率,。困惑度有一個非常直觀的理解,,即我們可以認為它是平均分支系數(shù)。也就是說語言模型預測下一個詞時平均可選的數(shù)量,,即模型對下一個詞的「困惑程度」,。
現(xiàn)有的將統(tǒng)計評估和人類評估結(jié)合起來的方法是點對點的,這會導致有誤導性的性能評估,。常見的方法是通過概率模型的困惑度來評估多樣性,、通過對束搜索輸出進行人類評估來衡量質(zhì)量。這就會產(chǎn)生一種錯覺:某個模型質(zhì)量高且具備多樣性,,而現(xiàn)實則是這個模型要么只具備多樣性,,要么只能輸出高質(zhì)量的結(jié)果。
斯坦福的解決方案
在這篇論文中,,斯坦福的研究者采用對抗的思想,,用判別器判斷句子到底是來自參考分布還是模型分布,并將最優(yōu)判別器誤差率的 2 倍作為理想的評估指標,。如果模型生成的句子質(zhì)量較低,則最優(yōu)判別器能夠?qū)δP蜕傻木渥舆M行準確地分類,。如果參考分布包含該模型無法生成的句子(低多樣性),,則最優(yōu)判別器也能夠?qū)碜詤⒖挤植嫉木渥舆M行準確地分類。
但是,,最優(yōu)判別器并不可得,。「人類」判別器無法高效捕捉多樣性,,訓練得到的判別器(比如基于 GAN 或人類判斷訓練得到的判別器)也無法用于嚴謹?shù)脑u估,。
該研究的關(guān)鍵結(jié)果,即最優(yōu)分類器依賴于兩個數(shù)值:句子是模型生成的概率,;句子才樣子參考分布的概率,。前者可以直接從模型中計算得到,后者可以通過人類判斷的分數(shù)近似得到,,從而得到圖 1 所示的二維空間,。
圖 1:HUSE(Human Unified with Statistical Evaluation)是分類誤差的兩倍,即基于人類判斷分數(shù)和模型預測概率來區(qū)分文本是來自參考數(shù)據(jù)還是模型生成,。HUSE 能識別出質(zhì)量和多樣性存在問題的樣本,。
CodaLab 與 論文復現(xiàn)
該研究在 CodaLab 平臺上提供了所有代碼、數(shù)據(jù)和實驗結(jié)果,。值得注意的是,,CodaLab 也是 Percy Liang 和斯坦福等研究者構(gòu)建的一個開放平臺,,它希望能為可復現(xiàn)研究提供管理實驗、數(shù)據(jù)等方法,。
Codalab 地址:https://worksheets.codalab.org/worksheets/0x88644b5ee189402eb19d39d721d1005c
GitHub 地址:https://github.com/hughbzhang/HUSE
論文:Unifying Human and Statistical Evaluation for Natural Language Generation
論文鏈接:https://arxiv.org/pdf/1904.02792.pdf
我們該如何度量自然語言生成系統(tǒng)是否生成高質(zhì)量和多樣性的輸出,?人類評估可以捕捉質(zhì)量,但是不能衡量多樣性,,因為這種方法不能分辨生成結(jié)果是不是簡單地抄襲自訓練集,。但同時,基于統(tǒng)計的度量方法(即困惑度)能很好地捕捉多樣性,,但不能嚴格地度量質(zhì)量,,因為偶爾生成的低質(zhì)量樣本并不能得到充分的懲罰。
在這篇論文中,,我們提出了一個統(tǒng)一的框架以同時評估生成質(zhì)量與多樣性,,它主要通過預測一句話到底是機器生成語言還是人類語言,從而給出預測的最優(yōu)誤差率,。我們表示,,該誤差率能通過結(jié)合人類和統(tǒng)計評估高效地估計,我們將使用的評估度量稱之為 HUSE,。
在摘要生成和聊天對話生成中,,我們證明了 (1) HUSE 能夠檢測到純粹人類評估無法發(fā)現(xiàn)的多樣性缺陷,(2) 退火等技術(shù)在提升質(zhì)量的同時降低了 HUSE 值,,即以降低多樣性為代價,。
核心方法 HUSE
自然語言生成可以視為在給定先驗句 x 的情況下生成后續(xù) y 的概率,即 p_model(y | x)?,F(xiàn)在我們理想的評估是判斷 p_model 與真實的參考分布 p_ref 之間的距離,,如果它們之間的距離很小,那么我們就可以說生成效果很好,。
具體而言,,如果 y 可以是機器生成的(采樣自 p_model),也可以是人類的自然語言(采樣自 p_ref),,那么類似 GAN 的概念可以定義為:
如果我們有任意判別器,,它嘗試在給定 x 和 y 的情況下判斷 z,那么我們可以定義 L*為該判別器最低可能誤差率的兩倍:
其中 L*即度量了 p_model 和 p_pref 的相似性,,它是總變分散度(variational divergenc)的線性函數(shù),。因此,如果 p_model 和 p_pref 是互斥的,,那么 L*就為 0,,如果是等同的,那么 L*就為 1。
對于將 (x, y) 映射到 d 維實數(shù)φ(x, y) 的任意特征映射φ,,我們可以將評估分數(shù) L(φ) 定義為:
其中 L(φ) 會在所有依賴于φ的函數(shù)上做最優(yōu)化,,因此φ包含的信息越多,L(φ) 就會越低,。這表示了兩個內(nèi)在關(guān)系:首先任何特征映射φ都會導致 L*的上邊界(optimistic),,即 L(φ) 能檢測模型差的程度但卻又不能確定好的程度;第二向 φ添加新特征只會提升上邊界,。
因為基于 (x, y) 的最優(yōu)判別器只需要兩個特征就足夠了,,我們可以將特征映射 φ 定義為如下:
此外,如果我們使用句子長度 len(y) 做正則化,,它會構(gòu)建更低或更緊致的分數(shù),。因此總的而言,HUSE 特征可以定義為如下:
其中 HJ(x, y) 為 20 個眾包工作者的平均回復,,圖 2 展示了 Reddit 語料庫的自然語言建模與 HJ(x, y),。
圖 2:在 Reddit 語料庫中,對于句子 y 中的「typicality」人類判斷(HJ),,它與其在語料庫出現(xiàn)的頻率高度相關(guān)(r = 0.92),。因此 HJ 是 log p_ref 很好的代理函數(shù)。
實驗
研究者使用 HUSE 評估三種不同類型的單句子自然語言生成任務:1)無條件和高熵的語言建模,;2)有條件和高熵的故事生成,、聊天對話系統(tǒng);3)有條件和低熵的文本摘要,。實驗表明,,HUSE 為高熵任務上的多樣性提供直接、可解釋的評估,,同時為低熵任務提供有用的模型診斷,。
表 1:在文本摘要,、故事生成,、聊天對話系統(tǒng)和語言建模四種任務上最優(yōu)模型的性能,評估指標為整體的擬合優(yōu)度 (HUSE),、樣本質(zhì)量 (HUSE-Q) 和多樣性 (HUSE-D),。HUSE 和 HUSE-Q 的范圍是 0.0(完全可與參考文本區(qū)分開來)到 1.0(完全無法與參考文本區(qū)分開來),分類誤差為 HUSE/2,。當 HUSE-Q > HUSE 時,,HUSE-D 的范圍可能會超出 1.0,因為它的樣本量較小,。
圖 3:HUSE-D 和 HUSE-Q 之間的權(quán)衡,。點表示模型,顏色表示任務。神經(jīng)模型(圓圈)使用退火生成(點標簽表示 Temperature),。與右上最接近的模型越優(yōu)秀,,灰色的對角線表示 HUSE。任務的陰影區(qū)域表示嚴格主導該任務的模型,。退火是對多樣性和質(zhì)量的權(quán)衡,,但是它無法輕松地增加底層模型性能(HUSE)。
圖 4:算法 1 中的二維分類問題在具備不同 Softmax Temperature 的摘要任務上的示例,。每個點表示參考句子 φ_huse(x_i, y_i) 或模型生成句子 φ_huse(x_i, y'_ i),。顏色表示句子的來源 (z),陰影表示最近鄰分類器的分類置信度,。
圖 5:HUSE 的估計也適用于較小的測試集規(guī)模,,但是通常需要約 20 個眾包工作者對每個樣本進行評估。