ACL 2016 | Modeling Coverage for Neural Machine Translation
ACL 2016 | Modeling Coverage for Neural Machine Translation
2016-08-03小S程序媛的日常
今天的 ACL 2016 系列推薦的論文,雖然不是 outstanding papers 之一,但是卻符合 simple yet powerful。這篇論文就是《Modeling Coverage for Neural Machine Translation》,據(jù)作者自我爆料說,有個(gè)審稿人給了5分好評(píng)并評(píng)價(jià)為“Everyone working on neural MT will be running to implement this as soon as they read this paper.”
這篇論文所要解決的問題,是一個(gè)在 end-to-end Neural Machine Translation(NMT) 中非常普遍的問題,即在 source sentence 中的某些詞,可能會(huì)被多次翻譯到 target sentence 里;也有可能是壓根就被“漏翻譯”了——即作者所謂的 over-translated 和 under-translated。以下是作者給出的具體定義:
1. Over-translation: some words are unnecessarily translated for multiple times;
2. Under-translation: some words are mistakenly untranslated.
那么舉個(gè)具體的例子來看看什么是 over-translated:從圖1可以看出,”關(guān)閉“這個(gè)詞就屬于被翻譯了兩次。
為了解決這個(gè)問題,作者從在 NMT 出現(xiàn)前被廣泛采用的 Statistical Machine Translation(SMT)中找原因。他們發(fā)現(xiàn),在 phrase-based SMT 中有一個(gè) coverage vector 可能是對(duì)于這個(gè)問題非常重要的因素。coverage vector 就像在學(xué)習(xí)算法中的計(jì)數(shù)器,它的任務(wù)就是記錄 source sentence 中的每個(gè) word 是否已經(jīng)被翻譯(covered)。加入計(jì)數(shù)器去解決這個(gè) MT 中的問題是非常直觀的。
這篇論文就是想把 coverage mechanism 結(jié)合到 end-to-end attention-based NMT 系統(tǒng)中。然而,直接結(jié)合是不靠譜的。所以他們提出了一個(gè) general model,兩類 representative implementation 和三個(gè)具體的實(shí)現(xiàn)。既然是基于 attention-based NMT,就希望能讓 coverage vector 和 attention vector 做一些結(jié)合。從思想上講,也就是希望在 decoding 的過程中,能對(duì)那些已經(jīng)被翻譯過的 source words 降低”注意力“,降低他們?cè)俅伪环g的可能性。于是乎,最直接的解決方案就呼之欲出了——把 coverage vector 直接和 annotation 結(jié)合在一起,這樣就可以利用 coverage vector 去調(diào)節(jié) attention,從而起到”糾正“注意力的作用。那么,這個(gè) general model 大概就是這樣:
作者同時(shí)給出了這個(gè) general model 的兩種 representative implementations,一種是從 linguistic 或者說可解釋性比較高的角度去實(shí)現(xiàn)的;另一種是從神經(jīng)網(wǎng)咯的角度去實(shí)現(xiàn)的。第一種,linguistic coverage model,就是利用簡(jiǎn)單的 linguistic heuristic 去迭代更新 coverage vector。這個(gè)思想并不是很新,是從前人的工作中總結(jié)提取出來的。在此基礎(chǔ)上,作者還提出了一個(gè)改進(jìn)版本的 linguistic coverage model,就是加入一個(gè)叫 fertility 的因子。Fertility 也是 word-level SMT 中的一個(gè)概念,它表示的是在 source sentence 中的某個(gè)詞對(duì)應(yīng)到 target sentence 中的詞的個(gè)數(shù)。比如還是圖一中的例子,中文”被迫“對(duì)應(yīng)的就是3個(gè)詞”were forced to“,fertility 就是3。利用這個(gè) fertility 數(shù)目去做 linguistic coverage model 的歸一化。值得一提的是,暫時(shí)這個(gè)數(shù)值只能作為一個(gè) hyperparameter,靠手工寫死,不能隨著模型自動(dòng)學(xué)習(xí)。
第二種 representative implementation 就是和 NMT 一樣的 neural network based coverage model。其實(shí)就是再去學(xué)習(xí)一個(gè)用于更新 coverage vector 的 NN。思想簡(jiǎn)單,不做贅述。
介紹完兩種三個(gè)實(shí)現(xiàn),就剩怎么把這些 coverage model 結(jié)合到原來的 attention-based NMT 里去了。上文已經(jīng)說過,思想是用 coverage model 學(xué)出來的 coverage vector 去”糾正“或者說輔助 attention,而輔助的方式就是它提供了一種對(duì)于過去信息的記錄,而這是獨(dú)立的 attention 機(jī)制無法做到的。
最后看一些實(shí)驗(yàn)結(jié)論,首先,即使是沒有加入 fertility 的最簡(jiǎn)單的 linguistic coverage model 就已經(jīng)可以提高1.1個(gè)BLEU,可見 coverage vector 的重要性。其次,加入 fertility 后進(jìn)一步提高。第三,他們發(fā)現(xiàn)越是在長(zhǎng)句子,尤其是那些含有單句的復(fù)雜句時(shí),這種結(jié)合效果更好。最后給一個(gè)比較直觀的利用 coverage vector 輔助 attention 后的結(jié)果:
ACL 2016 | 十大優(yōu)秀論文 Multimodal Pivot for Image Caption Translation
ACL 2016 | 十大優(yōu)秀論文 Globally Normalized Transition-Based NN
ACL 2016 | 十大優(yōu)秀論文 Improving Hypernymy Detection by Yoav Goldberg
ACL 2016 | 十大優(yōu)秀論文之?Learning Language Games Through Interaction
ACL 2016 | 十大優(yōu)秀論文之?Harnessing DNN with Logic Rules
ACL 2016 | 放棄 human annotations,提出可解釋性更好的 evaluation
干貨 | Multimodal Deep Learning 初窺
總結(jié)
以上是生活随笔為你收集整理的ACL 2016 | Modeling Coverage for Neural Machine Translation的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NIPS 2016 | Best Pap
- 下一篇: ACL 2016 | CopyNet 和