文章名稱
【ACL-2020】【The University of Texas at Austin】Neural Syntactic Preordering for Controlled Paraphrase Generation
核心要點(diǎn)
文章旨在進(jìn)行可控制的、覆蓋度更高的釋義樣本生成(Paraphrase Generation)。作者借鑒預(yù)排序機(jī)器翻譯(pre-ordering in machine translation)方法的思路粮宛,構(gòu)建了兩層seq2seq釋義生成架構(gòu)。第一層驰怎,SOW層,首先生成源句子的各種可能的排序(有意義的二打,雖然是枚舉但是進(jìn)行了符合語(yǔ)法邏輯的過(guò)濾)县忌,并生成源句子的position embedding。第二層继效,REAP層症杏,結(jié)合SOW提出的position embedding進(jìn)行釋義生成。
方法細(xì)節(jié)
問(wèn)題引入
釋義生成在NLP領(lǐng)域受到越來(lái)越多的關(guān)注瑞信,該問(wèn)題存在多面性厉颤,可以利用替換(詞或者短語(yǔ))、局部?jī)?nèi)容調(diào)整或主體化凡简、賓語(yǔ)前置等高級(jí)概念抽象來(lái)實(shí)現(xiàn)逼友。如果有顯示的控制機(jī)制幫助生成多樣性的釋義樣本,可以作為NLP下游任務(wù)的數(shù)據(jù)增廣秤涩、對(duì)抗樣本等帜乞。然而,原有利用語(yǔ)法結(jié)構(gòu)的方法具有局限性筐眷,不能夠充分覆蓋釋義生成空間(有些釋義生成不到黎烈,多樣性和可控制性不好),并且很難用來(lái)枚舉源句子各種合理的排序匀谣。因此作者提出了兩層seq2seq架構(gòu)SOW-REAP照棋,其流程示意圖如下圖所示。
具體做法
問(wèn)題形式化
首先武翎,我們形式化一下問(wèn)題必怜,
- 輸入的源語(yǔ)句為
![]()
- 從源語(yǔ)句可以獲得
個(gè)不同的排序
![]()
- 利用兩層seq2seq模型,1)
產(chǎn)出合理的
個(gè)源句子排序后频;2)
依據(jù)排序
,生成對(duì)應(yīng)的釋義
![]()
- 期望輸出為
個(gè)不同的釋義
不難看出,源句子到目標(biāo)句子是一對(duì)多的關(guān)系卑惜,每一個(gè)句子都會(huì)有固定的個(gè)結(jié)果膏执。
基礎(chǔ)模型
作者采用常規(guī)的帶有雙邊自注意力機(jī)制(encode和decode都有自注意力)的多層transformer結(jié)構(gòu)作為REAP模型的backbone,利用BPE分割輸入輸出露久。在常規(guī)訓(xùn)練損失上加入覆蓋損失(coverage loss)防止注意力集中在單獨(dú)的輸入token上更米。
除了在每一層利用語(yǔ)料中詞語(yǔ)的原始position embedding來(lái)代表token的順序,REAP額外添加了SOW生成的position embedding來(lái)指導(dǎo)模型生成句子的順序毫痕。
REAP
如前所述征峦,REAP模型(層)會(huì)利用SOW產(chǎn)出的源句子的排序,來(lái)生成position embedding消请,指導(dǎo)生成的釋義樣本栏笆,期望它近似的采用這種順序關(guān)注源句子,生成符合要求的目標(biāo)釋義臊泰。例如蛉加,overview圖中展示的例子,重拍后的源句子的順序會(huì)使得生成的目標(biāo)釋義缸逃,產(chǎn)生賓語(yǔ)前置的效果(作者提到针饥,這種結(jié)果概率較大,并不是強(qiáng)制的)需频。
REAP的整體框架如下圖所示丁眼,其中encoder和decoder可以分別堆疊多層(例如,層encoder昭殉,
層decoder)苞七。作者會(huì)利用排序
,遵循[1]中的
方法饲化,生成上述重排的position embedding莽鸭,
。將
與第
層encoder的輸出
吃靠,作為輸出交給decoder來(lái)生成目標(biāo)釋義硫眨,decoder的注意力機(jī)制會(huì)受到
和源句子語(yǔ)義
的共同影響,促使目標(biāo)釋義符合預(yù)期巢块。
Reordering
SOW模型(層)的Reordering部分框架如下圖所示礁阁,該層自頂向下的從語(yǔ)法樹(shù)的根節(jié)點(diǎn),遞歸的進(jìn)行重排序族奢。通過(guò)在各個(gè)層級(jí)進(jìn)行重排序姥闭,并組合排序結(jié)果,得到top-k的排序結(jié)果越走,傳輸給REAP棚品。Reordering的整個(gè)過(guò)程可以分為3個(gè)步驟靠欢,
- 挑選語(yǔ)法片段元組。即從語(yǔ)法樹(shù)中挑選兩個(gè)互不相交的語(yǔ)法片段(兩個(gè)短語(yǔ)或詞)铜跑,注意這里作者利用了占位符替換了語(yǔ)法偏短门怪,簡(jiǎn)化了源句子(即上圖中,用
代替了it continues to rain)锅纺;
- 重排語(yǔ)法偏短掷空。作者利用seq2seq模型生成重排的順序;
- 重排合并與還原囤锉。最后重排后的片段會(huì)放回源句子的語(yǔ)法結(jié)構(gòu)中遞歸合并坦弟,并替換回原句子的實(shí)際內(nèi)容的排序值,即上圖所示的4 5 1 2 3官地。
Reordering算法的偽代碼參見(jiàn)如下代碼片段酿傍。
本節(jié)介紹了SOW-REAP進(jìn)行釋義生成的目的和思路,以及兩個(gè)獨(dú)立子模塊是如何生成所需的信息区丑,并銜接協(xié)作的拧粪。下一節(jié),我們將繼續(xù)介紹Reordering的3個(gè)步驟的細(xì)節(jié)沧侥,以及如何訓(xùn)練SOW-REAP可霎。
代碼實(shí)現(xiàn)
文章的偽代碼如下圖所示。
心得體會(huì)
Position Embedding
個(gè)人認(rèn)為宴杀,利用position embedding來(lái)指導(dǎo)目標(biāo)釋義的順序是本文的最大亮點(diǎn)癣朗,原本只是為了表征源句子順序,解決transform不了解token順序問(wèn)題的工具旺罢,可以幫助指導(dǎo)decoder生成釋義時(shí)的順序旷余。但如何生成合理的順序是難點(diǎn),作者結(jié)合了語(yǔ)法數(shù)扁达,來(lái)選取符合語(yǔ)法結(jié)構(gòu)(合理的)重排順序正卧,解決了這個(gè)難題。
值得注意的是跪解,這里提的到position embedding可以被稱為additional position embedding炉旷。雖然也是利用sinusoidal方法計(jì)算的,但是和源句子的原始順序計(jì)算的position embedding不沖突叉讥。兩者在REAP中都有使用窘行,原有的position embedding在encoder的第一層有使用,而最后一層加入了additional position embedding图仓。
文章引用
[1] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, ?ukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Advances in neural information pro- cessing systems, pages 5998–6008.