NMT 如何保證句子通順?

NMT如何保證句子通順?

感覺翻譯出的句子非常不像人類說的, 這個問題, 讓我想到了 Style transfer里通過加Regularization項來保證畫像「人類畫的」, 在NMT里, 有沒有類似的Reg項設計? 或者其他方案?


SMT時代會在target language上訓一個大的語言模型,NMT也可以這樣,但比較少這麼做了,因為大數據下訓練出的RNN decoder已經比較好的學到語言模型了

而且NMT在有些語言(英法英德)上問題是由於「過於通順」。。。甚至改變了意思


不能「保證」通順,但輸出端語言模型可以讓輸出儘可能通順。


你是做實驗,還是使用在線翻譯系統?如果用的在線翻譯系統,你可以展示下你的翻譯例子。

之前做實驗,我自己的觀察就像 @NLP小學生 @NLP洋 所說:「encoder-decoder可以看成一個特殊的語言模型。」,「NMT在有些語言(英法英德)上問題是由於「過於通順」。。。甚至改變了意思」。

記得當時微博上很多人都感覺太通順,有時候不能保證忠實度。

這個這個我們之前論文指出過NMT翻譯的通順但是不忠實的問題("NMT generally produces fluent yet sometimes inaccurate translations" 參見AAAI16 文章 Neural Machine Translation Advised by Statistical Machine Translation:Wang)


手動增加規則

不然會很不通順


如果是純粹讓網路自己從數據中學習到語法知識,那沒法保證,只能增加優質的數據並增加模型的capacity來降低不通順的概率。但rnn的本質還是有限自動機,通過在網路結構上的創新,限制狀態轉移的不合理性,或許可以實現。當然目前還沒有實現,這需要很深的語言學與神經網路知識,如果竜實現肯定能在業界造成不小的轟動。


語言模型就是干這個的。encoder-decoder可以看成一個特殊的語言模型。

說白了,如果翻譯不流暢,要麼你的數據不行,要麼你的模型不行。


幾乎沒辦法。除非手工增加規則。


推薦閱讀:

TAG:自然語言處理 | 深度學習DeepLearning | RNN | 神經機器翻譯NMT |