知識圖譜與文本生成

文本生成在自然語言處理領域一直屬於熱門研究領域。生成文本任務比信息抽取和文本分類等問題要更加困難,收到了學界的廣泛關注。受到深度神經網絡的影響,許多文本生成模型模型被研發,有基於機器翻譯的Seq2Seq框架,有純數據驅動模型,也有融合了知識圖譜信息的知識驅動模型。本文介紹的是一些融合了知識圖譜信息的知識驅動文本生成模型。

幾個Seq2Seq文本生成框架

Pointer Networks
本文試圖利用seq2seq處理特定的序列問題。我們已經提到,傳統seq2seq結構的輸出由類似詞彙表的某個元素映射表確定,這樣就無法應對詞彙表隨輸入變動的情況,例如凸包問題,給定包含一組座標點的序列,預測構成凸包的點集,此時詞彙表的元素應該完全由輸入構成,顯然傳統seq2seq無法處理。本文作者提出了一種精巧的,比傳統attention-seq2seq更簡單的pointer-net

Incorporating Copying Mechanism in Sequence-to-Sequence Learning
在這裏插入圖片描述
本文提出的copy-net目標非常明確,就是構造一種copy機制解決上面提到的與輸入相關的OOV問題。特別是摘要、對話生成這類問題,輸入文本中一些詞可以通過傳統方式預測,另一部分詞則可以直接複製在輸出文本中,所以copy-net最終的詞概率預測由兩部分組成,generate-mode和copy-mode,分別用於傳統的預測和copy詞的預測。

Generating Natural Answers by Incorporating Copying and Retrieving Mechanisms in Sequence-to-Sequence Learning

在這裏插入圖片描述
以問答系統爲實驗場景,在copynet的基礎上加入知識檢索模塊共同配合回覆生成。

Multi-Source Pointer Network for Product Title Summarization
在這裏插入圖片描述
網購商品的摘要生成需要更大程度保留關鍵信息,同時避免無關內容。本文的結構很像引入知識特徵的pointer-generator,利用pointer的思想從輸入文本中提取關鍵詞,這裏的輸入文本是商品的標題,確保信息相關;引入知識特徵則是爲了更大程度的產生關鍵信息。

Learning to Select Knowledge for Response Generation in Dialog Systems
上面兩篇文章分別對copy-net和pointer-generator做知識特徵融合,結構上沒有很大的改變,基於前者實現也是相對方便的。本文則更側重於知識特徵,強調利用後驗知識分佈優化對話生成。

首先,用單獨的Encoder模塊編碼知識和目標輸出(訓練時),然後通過X,Y計算知識K的先驗和後驗概率分佈,並通過KL散度度量兩個概率分佈的距離,這裏不難理解,先驗分佈和後驗分佈相差極小就意味着可以用先驗分佈採樣知識(預測時後驗分佈未知),並用於生成目標回覆Y。第二部分中,通過後驗(預測時先驗代替)分佈採樣出與對話相關的知識作爲額外的知識特徵,與Decoder模塊的輸入一起編碼,再和被encoding的sourceX一起預測下一個詞。此外,訓練的損失函數包含KL散度,NLL損失和BOW損失,第三部分就是用BOW損失考量被採樣出的知識(圖中的k2)與目標輸出文本相關的概率。

在這裏插入圖片描述

MASS: Masked Sequence to Sequence Pre-training for Language Generation

在這裏插入圖片描述

BERT本身是以學習表示爲目標,或者說是NLU方面的探索,隨機MASK作爲預訓練任務被證明效果突出,然而會存在pretraining和fine-tuning數據不一致的問題,如果你想把BERT拼在Encoder端和Decoder端,就要考慮改變BERT的預訓練方式。MASS略微修改了BERT的mask方式,在Encoder端連續mask一個子序列,讓Decoder用前i-1個詞預測第i個,就這樣把BERT套進Seq2seq框架,一起pretraining即可。

相比於不同的模型結構,充分的訓練數據似乎更爲關鍵。而對於文本摘要,對話生成這類任務,序列中更需要包含主題,關鍵實體等特殊信息元,因而融合主題、輸入文本、知識特徵的策略很可能會帶來更多收益。不過,文本生成類任務仍處於初級階段,複雜花哨的結構也許很難達到可觀的效果。因此即便是文本摘要這類任務,仍不妨先試試受衆廣泛的開源實現,諸如gnmt、fairseq、tensor2tensor等。

文本摘要生成

Get To The Point: Summarization with Pointer-Generator Networks
在這裏插入圖片描述
本文模型結構簡潔,思路清晰,與基礎的seq2seq比較非常方便,在這兩年很多摘要生成工作中都作爲baseline出現,表現不俗。作爲一個子任務工作,項目star已達1.5k+,也說明一定影響力。文中用attention作爲分佈的方法,就源於2015年的pointer-net。

考慮實體知識特徵的生成類工作,最容易想到的大致有實體,模版以及主題,下面將簡要介紹與這三種相關的工作。
Neural Question Generation from Text- A Preliminary Study
在文本分類相關任務中,融合外部特徵的常見做法,就是編碼這些特徵,然後選擇不同的encoding層做concat,本文在問題生成任務中,對這類融合方式做了實驗對比,模型結構上除了加入copy機制外,沒有更多值得特別注意的改變。不過本文對concat各種特徵做了實驗比較,作者選取了word case,POS,NER,answer-tag作爲額外特徵
BiSET: Bi-directional Selective Encoding with Template for Abstractive Summarization
在這裏插入圖片描述
模版往往是抽取式模型常用的方式,本文則是提出了利用模版過濾原文編碼特徵的方法。

Multi-Source Pointer Network for Product Title Summarization

在這裏插入圖片描述
既然可以用attention作爲分佈強化原文中詞的概率,那用在實體知識特徵上當然也沒問題。

退化現象

重複一直是文本生成類任務的通病,這在一些文章中被稱爲退化,我們也在尋找合適的應對方案,coverage機制就是一種方案,但並不足夠,下面的工作介紹了另一種損失函數,在詞和子句(ngram)兩個點共同發力應對退化現象。

ref:

  1. NEURAL TEXT DEGENERATION WITH UNLIKELIHOOD TRAINING
  2. The Curious Case of Neural Text Degeneration

LevT: Levenshtein Transformer
在這裏插入圖片描述
我們一直奢望找到讓生成模型更靈活的方法,傳統的自迴歸模型,無論如何融入特徵,基本框架都是編解碼器提供歷史向量編碼,輸出端計算詞典概率p(x_t|x_old),能否讓模型對輸出端的token有更強的控制呢?本文提供了一種大膽的思路,從標題已經能看出,作者把編Levenshtein距離的操作和Transformer融合在一起做生成模型,輸出端不僅要決定詞本身,還要決定對詞施加的操作。

小結

數據量有限時,pointer-generator可能比複雜的baseline或開源項目更適合,在此基礎上,融合實體知識有更多可以參考的工作,此外結合實體知識後分詞和詞典整理之類的細節不容忽視。相比於語義匹配這類相對成熟的任務,文本生成類工作更難達到一個可以接受的結果,目前的模型都無法完全避免生成重複,生成錯誤,丟失關鍵點等問題,在應用場景中。如何應對重複問題,提高生成多樣性依舊老生常談但成效有限,另外Non-autoregressive方向有一些非常新穎的工作,除了上面提到的LevT外,還有一些從生成位置入手的工作值得學習,BERT之後的XLNet也針對Non-autoregressive有獨特的設計,可見這一領域的潛力,最後評價指標一直是生成領域的弱項,也爲應用。

Ref:
https://zhuanlan.zhihu.com/p/71695633
知識圖譜如何助力文本摘要生成
知識圖譜如何應用到文本標籤化算法中

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