UNION An Unreferenced Metric for Evaluating Open-ended Story Generation精讀

Kalafinaian發表於2021-01-02

UNION An Unreferenced Metric for Evaluating Open-ended Story Generation精讀

UNION: 一種評估開放故事生成無參考文字依賴metric模型,這是一篇EMNLP 2020的論文 (Empirical Methods in Natural Language Processing 2020)

1 背景

常見的文字生成評價指標有BLEU 和MoverScore,但BLEU 和MoverScore又一個巨大的缺陷。在NLG任務中,對於相同的輸入,NLG模型可以生成各種各樣的文字,這些各種各樣的輸出在字元層面和語義層面上經常和參考文字不一致,但是這些不一致的文字也可以是合理的文字;在另一方面NLG模型生成的一些文字和參考文字字元層面上比較一致,但這些比較一致的文字又不一定是合理文字。

如表中所示, Sample2是NLG生成文字,和Reference在字元層面和語義層面上不一致,但smaple也是一個符合人類邏輯的文字。Sample3也是NLG生成文字,和Reference在字元層面和語義層面較為一致,但不是一個符合人類邏輯的文字。因為句子”Jack started drinking“是在 “The bartender told him it was already time to leave.”的後面,但從邏輯上講是先有喝酒,才有後面的酒吧員工勸Jack下班了該撤了。

表中B表示BLEU, M表示MoverScore, U表示Union,分數越接近1.0說明文字越接近人類寫作文字。 BLEU 和MoverScore對Sample2都是很低的分數,但作者提出的Union網路有最高分數1.0;BLEU 和MoverScore對Sample3都有一定的分數,但作者提出的Union網路有最低分數0.0。顯然對於Sampl2和Sample3的在是否符合人類邏輯性的人物上,Union模型是最好的。

2 UNION網路的結構

UNION網路結構如圖所示

UNION的訓練樣本正樣本是人類寫的故事,負樣本是通過Repetition(重複), Substitution(替代), Reordering(亂排), Negation Alteration(否定改寫)等幾種負樣本生成方法創造。最後訓練輸入代入一個基於Bert的二分類模型中對文字進行判斷,判斷是否為人類寫的故事還是負樣本。

3 四種NLG錯誤

為什麼作者認為Repetition(重複), Substitution(替代), Reordering(亂排), Negation Alteration(否定改寫)可以生成與人類寫的故事對應的負樣本了?是因為作者統計過NLG生成故事中常見的錯誤有四種,而且對應上面四種負樣本生成策略。

作者分析381篇根據Plan&Write和微調GTP-2生成文字,總結下述NLG錯誤

第一種錯誤是Repeated plots,即相同文字被重複,佔總體錯誤的44.1%;第二種錯誤是Poor coherence,即生成故事和主幹內容無關的關鍵詞和事件,佔總體錯誤的56.2%;第三種錯誤是Conflicting logic,即生成故事有錯誤的因果關係和時間順序,佔總體錯誤的67.5%;第四種錯誤是Chaotic scenes,即生成故事有很難理解的文字和前文矛盾的錯誤,佔總體錯誤的50.4%。而且每兩種錯誤型別之間Spearman相關性均小於0.15(p值> 0.01),因此作者採用這四種錯誤來生成負樣本。

3.1 Repetition

Repetition針對Repeated plots錯誤,有兩種具體的負樣本產生策略,分別是句子級的重複和詞語N-gram級的重複。
句子級的重複是隨機選擇n個非首句子,然後重複其中一個句子,比如一篇文章句子 有6個,比如一篇文章是[1 2 3 4 5 6],選擇3個非首句子是2 3 6,這裡假設重複第二句,則第3句和第6句會被第2句內容覆蓋,即1 2 3 4 5 6 ==> 1 2 2 4 5 2
詞語N-gram級的重複是隨機選擇n個非首句子, 然後每個句子中挑選一個token的n-gram重複一遍。比如句子Rome was not bulit in one day. 挑選其中一個token為was,選定2-gram重複,即選定了was not bulit重複一遍,則得到負樣本為Rome was not bulit was not bulit in one day.

3.2 Substitution

Substitution針對Poor coherence錯誤,有兩種具體的負樣本產生策略,分別是句子級的替換和詞語級替換。 句子級替換是隨機選擇n個非開頭句,用語料庫中其他作文的某一句進行替換。假設一篇作文是I love cat. I love dog. Beacause i love animale. 選擇1個非開頭句即第2句進行替換,此時從作文語料庫其他作文那隨便抽了一個句子Rome was not bulit in one day來替換,得到負樣本為I love cat. Rome was not bulit in one day. Beacause i love animale. 詞語級替換是隨機選擇n個非開頭句,句子中15%關鍵詞替換成反義詞,否則替換成同一詞性的關鍵詞。其中關鍵詞和反義詞會使用一個叫知識圖譜ConceptNet,它是一個三元組知識圖譜(h, r, t), 第1個元素是頭部實體,第2個元素是關係,第3個元素是尾部實體。全體h和t構造的集合就是關鍵詞集合,如果h和t的關係是反義關係,即認為h和t互為反義詞。作者採用NLTK來對英文進行詞性標註。假設輸入的文章是I like playing computer game.則經過本策略,可得到的一個負樣本可能為I hate playing computer game.

3.3 Reordering

Reordering針對Conflicting logic錯誤,即打亂非開頭的句子的排序。比如一篇文章是[1 2 3 4 5 6],則需要隨機打亂2 3 4 5 6的順序,即1 2 3 4 5 6 ==>1 2 3 5 6 4

3.4 Negation Alteration

Negation Alteration針對Chaotic scenes錯誤,即隨機選擇n個非首句子,否定句變成肯定句,肯定句變否定句。通過動詞前加don’t, doesn’t等形式,否定詞去掉not實現

假設輸入的文章是Bill love Alice .則經過本策略,可得到的一個負樣本為Bill don’t love Alice.

3.5 負樣本樣例

正樣本生成負樣本有四種策略,一個正樣本可以採用多個策略來生成,比如下面的負樣本採用了Repetition、Reordering、Negation Alteration三種策略來生成。

4 網路結構

首先是Bert得到Hidden State,接著作者設計來兩個任務來訓練完了過,第一個是主任務,即預測一篇文章是否接近人類,預測輸出是一個0到1的浮點數,數值越接近1說明文章越接近人類;第二個任務是還原任務,即模型要預測當前詞語是否是正樣本對應詞語。

第一個任務是[CLS]這個token的hidden state進入一個線性層+Sigmoid函式,採用交叉熵損失


第一個任務每一個real token的hidden state進入一個線性層+Softmax函式,採用廣義交叉熵損失,但只針對預測正確的token。


兩個任務的損失函式採用權重相加來構造總體損失函式,其中lambda是一個可設定的超引數,作者在論文中取0.1

5 BaseLine

作者採用了三類BaseLine,一類是基於參考文章的Referenced metrics,一類是不基於參考文章的Unreferenced metrics,還有一類是混合度量Hybrid metrics.

Referenced metrics採用的模型有基於n-gram重合度的BLEU,和基於embeding空間中推土機距離計算和Ref的相似程度MoverScore

Unreferenced metrics採用的模型有困惑度Perplexity,和基於Bert的度量,容易對特定資料集overfit的DisScore

Hybrid metrics採用的BLEURT和RUBER-BERT,其中RUBER-BERT有無參考的RUBER-BERT和有參考的RUBER-BERT


BLEURT


無參考的RUBER-BERT


有參考的RUBER-BERT

6 資料集

作者採用了2個資料集,ROC和WP。
ROC 是一個98,161五句文字構成的故事資料集, 平均每個故事有49.4詞, 使用[MALE] [FEMALE] [NEUTRAL]對名字進行mask處理。 WP 是一個有303,358篇文章的故事資料集, 平均每個故事有734.5詞語, 因為這個資料集中故事太長作者對每個故事截斷取200詞語.
作者採用90% ,5%,5%的比例劃分訓練集、驗證集和測試集。


但作者針對BLEURT這個metric模型,採用seq2seq ,plan&write, 微調 GPT-2 ,基於知識庫 GPT-2來創造負樣本, 然後進行人工標註。所有模型使用同一個測試集,測試集是專門在外包平臺讓人標註的資料。

7. UNION效果

表中的相關係數計算的是模型標註分數和人類標註分數,顯然這個相關係數越來高說明模型越接近人類。從上表中明顯看出,UNION模型三個相關係數指標均遠遠高於其他度量模型,從而證明了UNION模型的優秀。

上表是驗證UNION魯棒性,看看UNION對於Dataset Drift是否也有良好的表現,實驗證明在魯棒性上UNION也是優於其他度量模型的。

相關文章