Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phrase-Based & Neural Unsupervised Machine Translation #51

Open
Hiroshiba opened this issue Nov 1, 2018 · 0 comments
Open

Phrase-Based & Neural Unsupervised Machine Translation #51

Hiroshiba opened this issue Nov 1, 2018 · 0 comments

Comments

@Hiroshiba
Copy link
Member

Phrase-Basedの教師あり機械翻訳学習手法を教師なし学習に転用してSoTAを大幅に更新

論文本体

解きたい問題

教師あり機械翻訳は人間と同じくらいの性能になった。
しかし大量の教師ペアデータが必要なため、マイナーな言語では難しい。
ところで、ペアではないデータは大量にある。これを使って教師なし学習したい。

新規性

  • ディープラーニングベースの既存手法を、lossの種類を少なくして簡単にした
  • フレーズベースの機械翻訳手法を教師なしタスクに落とし込んだ
  • これら2種を組み合わせることによりBLEUスコアを12ポイント上げた

実装

  • 提案手法1、ディープラーニングベースの手法
    • Unsupervised neural machine translation Unsupervised Neural Machine Translation #21 の改良版
    • 単語トークン以外にも、byte-pair encodings (BPE) トークンを使用
      • 頻出するn-gram文字列を記号に変える手法。未知語に強くなる。
    • ソース・ターゲット言語で分けず、ひとまとめにして単語embeddings作成
      • よりドメイン不変な潜在表現
    • 2つの言語でデコーダも共有
      • 言語の違いは、単語embeddingsから単語へのデコードが吸収する
  • 提案手法2、フレーズベースの教師あり学習を教師なし学習に転用
    • フレーズベースの教師あり学習手法、Phrase Based Statistical Machine Translation(PBSMT)
      • 2言語の翻訳ペアデータから、フレーズごとに言語変換テーブルを作成し、
      • 翻訳時は、変換スコアの最大化問題を解く手法
    • 教師なしタスクを教師ありに落とし込む
      • 単語辞書をもとにフレーズ辞書を作成し、言語S→言語T変換テーブルの初期値を作成
      • 変換テーブルを用いて言語Sを言語Tに変換し、仮のペアデータを作成
      • 仮のペアデータを用いて言語T→言語S変換テーブルを作成
      • 変換テーブルを用いて言語Tを言語Sに変換し、仮のペアデータを作成
      • これを繰り返す

実験・議論

  • 既存手法よりも性能が上回った

    • image
      論文 Tab. 2 より
    • 英語→フランス語ではフレーズベースの手法(PBSMT)が一番良かった
    • それ以外ではPBSMT+NMT(ディープラーニングベースの手法)が一番良かった
      • PBSMTの変換結果をNMTの逆変換結果にadd
  • PBSMTは何回も反復すると良い

    • image
      論文 Tab. 3 より
  • ディープラーニングベースの手法の比較実験結果

    • image
      論文 Tab. 4 より
    • 一番上が最も良かった手法
    • ソース・ターゲット言語で分けて�単語embeddingsを作ると、3ポイントほど落ちる
    • byte-pair encodings無しだと、4ポイントほど落ちる
    • デコーダを共通化しても0.5ポイント程度しか変わらない?
      • 言及はされていなかった

読んだ中での不明点などの感想

  • SoTA取ってるPBSMT+NMTの手法がよくわからない。。
    • PBSMTの変換結果をNMTの逆変換結果にsimply addする
    • addというのはつまり、concat・・・?

関連論文

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants