《Factored Neural Machine Translation》閱讀筆記
paper來源:http://arXiv.org
問題:
實驗任務----屬於機器翻譯(NMT)任務,具體來說,本paper實驗任務為英語翻譯為法語;
paperwork----在傳統NMT的「seq2seq+attention」的基礎上引入先驗知識/工具改進了decoder的結構,在一定程度上解決大詞表(Large Vocabulary)和OOV(Out Of Vocabulary)問題;
摘要:
首先,作者使用morphological and grammatical analysis(形態學與語法分析器)來獲取單詞的因素表示,lemmas, Part of Speech tag, tense, person, gender and number等;
其次,作者改進了傳統的NMT的decoder,把輸出由一個變成了兩個,分別表示lemmas和其他的factors,獨立學習,然後重組為word;
由此帶來的好處是,同樣大的詞表可以表示更多的詞;再者,它可以生產詞表中不存在的新詞,減少OOV詞項的出現頻率;
形態學與語法分析器(本文使用的是MACAON):
舉例:法語詞devient(對應英文詞becomes)可以表示為devenir和「vP3#s」, devenir為lemma,可以理解為詞根;「vP3#s」為factors,可理解為修飾限制詞根的其他因素;v表示verb,P表示Present(時態),3表示3rd person(第三人稱),#表示無關性別,s表示單數;
網路結構:
傳統的NMT結構圖:
兩個重要概念:seq2seq,attention
FNMT提出的新的decoder的結構:
P變成獨立的Lemma和factors向量(由此可能會帶來長度差異,最終翻譯結果的長度以lemma長度為準);
將P層輸入給softmax決定lemma和factor後,再將二者輸送給形態學分析器來產生word;
(feedback採用的是lemma向量,根據如下實驗效果選擇的):
由上圖可見,綜合BLEU與#OOV,在只選Lemma,二者求和,二者線性組合,非線性變化這四個方案中,只選Lemma的效果最好。實驗結果:
1,詞表比較大的時候,表現基本持平;詞表縮小的話,FNMT的表現就要好得多;
2,相同的參數量,FNMT能夠囊括更多的word;
3,在OOV問題的解決上,FNMT表現更好;
4,最後一列是忽略factor誤差帶來的影響,lemma正確就算正確的結果;
簡評:
1,本文利用先驗知識(詞根+限制條件表示辭彙)給解決大詞表和OOV問題提供了一種思路;
2,實驗的效果很大一部分依賴於先驗的語態學分析器的效果,比如目標語言如果是中文或者英文就沒有這樣靠譜的分析器;
3,如有問題或建議,歡迎留言交流~
推薦閱讀:
※古詩為什麼能自動生成?
※自然語言處理怎麼最快入門?
※Attention is All You Need | 每周一起讀