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