0
雷鋒網訊,2014年,Google提出了Sequence-to-Sequence模型,旨在將句子文本映射到fixed-length向量,其中輸入和輸出的長度可能會有所不同。Seq2Seq通常應用于NLP領域的文本生成任務,例如摘要生成、語法糾錯、句子合并等。盡管最新的研究突得端到端的方法在文本生成上比之前更有優(yōu)勢,但其本身存在的不可解釋性,一方面使得該模型需要大量的訓練數據才能達到可接受的性能水平,另一方面通常只能逐字生成文字,本質上是很慢的。
近日,Google研究團隊開源了一款文本編輯模型LaserTagger,可推理出一系列編輯操作,以將源文本轉換為目標文本。研究人員斷言,LaserTagger處理文本生成一般不易出錯,且更易于訓練和執(zhí)行。
在此之前,Google已經發(fā)布了Meena,一個具有26億個參數的神經網絡,可處理多輪對話。1月初,Google在論文中還提出了Reformer模型,可處理所有小說。
GitHub鏈接:https://github.com/google-research/lasertagger
LaserTagger設計和功能
對于許多文本生成任務,輸入和輸出之間存在高度重疊,LaserTagger正是利用了一點。例如,在檢測和糾正語法錯誤或多個合并句子時,大多數輸入文本可以保持不變,只需修改一小部分單詞。然后,LaserTagger會生成一系列編輯操作,而非實際單詞。
目前支持的四種編輯操作:
Keep(將單詞復制到輸出中)
Delete(刪除單詞)
Keep-AddX(添加短語X到標記的單詞前)
Delete-AddX(刪除標記的單詞)
下圖對LaserTagger在句子合并中的應用進行了說明。
圖注:LaserTagger預測的編輯操作中,刪除“Turing”,添加“ and he ”。請注意,輸入和輸出文本存在的高度重疊。
所有添加的短語均來自受限制的詞匯表。該詞匯表是一個優(yōu)化過程的結果,該優(yōu)化過程具有兩個目標:(1)最小化詞匯表的大小和(2)最大化訓練樣本的數量,其中添加到目標文本的唯一必要單詞僅來自詞匯表。短語詞匯量受限制會使輸出決策的空間變小,并防止模型添加任意詞,從而減輕了“幻覺”(雷鋒網注:hallucination,模型在所生成的文本中,輸入信息中并不存在)的問題。
輸入和輸出文本的高重疊性的一個推論是,所需的修改往往是局部的并且彼此獨立。這意味著編輯操作可以高精度地并行推理,與順序執(zhí)行推理的自回歸seq2seq模型相比,可顯著提高端到端的速度。
結果
研究人員評估了LaserTagger在四個任務中的表現,分別是:句子合并,拆分和改述,抽象總結和語法糾正。結果顯示,使用大量訓練樣本情況下,LaserTagger與基于BERT的seq2seq基線成績相當,并且在訓練樣本數量有限時明顯優(yōu)于基線。下面顯示了WikiSplit數據集上的結果,其中的任務是將一個長句子改寫為兩個連貫的短句子。
圖注:在100萬個樣本的完整數據集上訓練模型時,LaserTagger和基于BERT的seq2seq基線成績相當,但在10,000個或更少樣本的子樣本上進行訓練時,LaserTagger明顯優(yōu)于基線模型(SARI得分越高越好)。
LaserTagger主要優(yōu)點
與傳統(tǒng)的seq2seq方法相比,LaserTagger具有以下優(yōu)點:
控制:通過控制輸出短語詞匯(也可以手動編輯或整理),LaserTagger比seq2seq基線更不易產生“幻覺”問題。
推理速度:LaserTagger計算推理的速度比seq2seq基線快100倍,能夠滿足實際情況下的實時問題。
數據效率:即使僅使用幾百或幾千個訓練樣本進行訓練,LaserTagger也會產生合理的輸出。實驗中,seq2seq基線需要成千上萬個樣本才能獲得相同的性能。
Google團隊最后寫道:“ LaserTagger的優(yōu)勢在大規(guī)模應用時變得更加明顯,例如,通過縮短響應時間并減少重復性,改進了某些服務中語音應答的格式。高推理速度使該模型可以插入現有技術堆棧中,而不會在用戶端增加任何明顯的延遲,而改進的數據效率可以收集多種語言的訓練數據,從而使來自不同語言背景的用戶受益。 ”
相關鏈接:https://ai.googleblog.com/2020/01/encode-tag-and-realize-controllable-and.html(雷鋒網)
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。