編輯:LQ,好睏
【新智元導讀】以前的文本編輯方法要麼是快速但不靈活,要麼是靈活但是速度很慢。近日,谷歌AI團隊新作帶來了全新模型FELIX,這是一個快速靈活的文本編輯系統,與seq2seq方法相比,速度提高了90倍。
序列到序列(seq2seq)模型已經成爲處理自然語言生成任務的有效方法,其應用範圍從機器翻譯到單語言生成任務,如摘要、句子融合、文本簡化和機器翻譯的譯後編輯。
然而,對許多單語任務來說,這些模型是一個次優選擇,因爲所需的輸出文本往往代表一個輸入文本的輕微重寫。在完成這些任務時,seq2seq模型速度較慢,因爲它們一次生成一個輸出單詞(即自迴歸) ,而且浪費,因爲大多數輸入標記只是複製到輸出中。
相反,文本編輯模型最近引起了極大的關注,因爲它們提出預測編輯操作——如單詞刪除、插入或替換——這些操作應用於輸入以重構輸出。
以前的文本編輯方法存在侷限性,要麼是快速的(非自迴歸的) ,但是不靈活,因爲它們使用的編輯操作數量有限; 要麼是靈活的,支持所有可能的編輯操作,但是速度很慢(自迴歸的)。
在這兩種情況下,它們都沒有集中精力建立大型的結構(語法)轉換模型,例如從主動語態切換到被動語態,從「They ate steak for dinner」(他們晚餐喫牛排)切換到「Steak was eaten for dinner」(晚餐喫牛排),相反,它們專注於局部變換,刪除或替換短語。
當需要進行大型結構轉換時,這些文本編輯模型要麼不能生成該轉換,要麼會插入大量新的文本,但是這樣會很慢。
在最新的論文《FELIX: 通過標籤和插入進行靈活的文本編輯》(FELIX: Flexible Text Editing Through Tagging and Insertion),Google團隊帶來了FELIX,這是一個快速而靈活的文本編輯系統,它模擬了大的結構變化,與seq2seq方法相比,速度提高了90倍,同時在四種單語言編輯任務中的表現非常出色。


與傳統的seq2seq方法相比,FELIX 有以下三個關鍵優勢:
樣本效率: 訓練一個高精度的文本生成模型通常需要大量高質量的監督數據。FELIX 使用三種技術將所需的數據量最小化: (1)微調預訓練檢查點,(2)學習少量編輯操作的標記模型,(3)非常類似於預訓練任務的文本插入任務
快速推理時間:FELIX 是完全非自迴歸的,避免了自迴歸解碼器造成的慢推理時間
靈活的文本編輯: FELIX 在學習編輯操作的複雜性和它建模的轉換的靈活性之間達到了平衡
簡言之,FELIX旨在從自監督的預訓練中獲得最大利益,在資源少、訓練數據少的情況下實現高效訓練。
概述
爲了實現上述目標,FELIX將文本編輯任務分解爲兩個子任務: 打標籤以確定輸入單詞的子集及其在輸出文本中的順序,以及插入輸入文本中不存在的單詞。
標註模型採用了一種新穎的指針機制,支持結構轉換,而插入模型則基於MLM(Masked Language Model)。這兩個模型都是非自迴歸的,保證了模型的快速性。下面是 FELIX 的圖表。

一個用於文本簡化任務的FELIX數據訓練示例。輸入詞首先標記爲 KEEP (K)、 DELETE (D)或 KEEP 和 INSERT (I)。標記之後,輸入被重新排序。然後將這個重新排序的輸入反饋給一個MLM。
標記模型
FELIX的第一步是標記模型,它由兩個組件組成。
首先,標記器確定哪些詞應該保留或刪除,哪些地方應該插入新詞。當標記器預測插入時,將向輸出中添加一個特殊的MASK標記。
在標記之後,有一個重新排序的步驟,其中指針對輸入進行重新排序以形成輸出,通過這個步驟,它能夠重複使用輸入的部分內容,而不是插入新的文本。重新排序步驟支持任意重寫,從而支持對大型更改建模。
對指針網絡進行訓練,使得輸入中的每個單詞指向下一個單詞,因爲它將出現在輸出中,如下所示。
從「There are 3 layers in the walls of the heart」轉化爲「the heart MASK 3 layers」實現了指向機制
插入模型
標記模型的輸出是重新排序的輸入文本,其中包含插入標籤預測的已刪除的單詞和MASK標記。
標記模型的輸出是重新排序的輸入文本,其中包含插入標籤預測的已刪除的單詞和MASK標記。插入模型必須預測MASK標記的內容。因爲FELIX的插入模型與BERT的預訓練目標非常相似,所以它可以直接利用訓練前的優勢,這在數據有限的情況下尤其有優勢。
插入模型的示例,其中標記器預測將插入兩個單詞,插入模型預測MASK標記的內容
結果
本文對FELIX在句子融合,文本簡化,抽象摘要和機器翻譯的譯後編輯方面進行了評估。這些任務所需的編輯類型和操作所依據的數據集大小有着很大的差異。
在一定的數據集大小範圍內,將FELIX與大型預訓練的seq2seq模型(BERT2BERT)和文本編輯模型(LaserTager)進行比較,從而得到關於句子融合任務(即將兩個句子合併爲一個)的結果。
可以看出FELIX的性能要優於LaserTagger,並且僅需幾百個樣本就可以進行訓練。對於完整的數據集,自迴歸BERT2BERT的性能要優於FELIX。但是,在推理過程中,此模型花費的時間明顯更長。


FELIX(使用性能最佳的模型),BERT2BERT和LaserTagger在使用不同大小的DiscoFuse訓練數據集時的參考語句完全匹配百分比的比較。
Nvidia Tesla P100上batch爲32的延遲(以毫秒爲單位)
結論
FELIX是完全非自迴歸的,在實現了頂尖水準的結果的同時提供了更快的推理時間。
FELIX還通過三種技術將所需的訓練數據量降至最低:微調預訓練的檢查點,學習少量的編輯操作以及從預訓練中模仿MLM任務的插入任務。
最後,FELIX在學習的編輯操作的複雜性和可處理的輸入輸出轉換的百分比之間取得了平衡。
參考資料:
https://ai.googleblog.com/
https://www.aclweb.org/anthology/2020.findings-emnlp.111.pdf

相關文章