GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

artetxem

undreamt – 教師なしニューラル機械翻訳

投稿日:

教師なしニューラルマシン翻訳

UNdreaMT:教師なし学習機械翻訳

これは、以下の論文で説明されている、教師なしの神経機械翻訳システムのオープンソースの実装です。

Mikel Artetxe、Gorka Labaka、Eneko Agirre、およびCho Kyunghun。 教師なしの神経機械翻訳 第6回国際学習表現会議の議事録(ICLR2018)

このソフトウェアを学術研究に使用する場合は、問題の論文を引用してください:

@inproceedings{artetxe2018iclr,
  author    = {Artetxe, Mikel  and  Labaka, Gorka  and  Agirre, Eneko  and  Cho, Kyunghyun},
  title     = {Unsupervised neural machine translation},
  booktitle = {Proceedings of the Sixth International Conference on Learning Representations},
  month     = {April},
  year      = {2018}
}

要件

  • Python 3
  • PyTorch(v0.3でテスト済み)

使用法

次のコマンドは、紙で説明されているのとまったく同じ設定を使用して、単一言語のコーパスから監督されていないNMTシステムを訓練します。

python3 train.py --src SRC.MONO.TXT --trg TRG.MONO.TXT --src_embeddings SRC.EMB.TXT --trg_embeddings TRG.EMB.TXT --save MODEL_PREFIX --cuda

上記のコマンドのデータは、次のように指定する必要があります。

  • SRC.MONO.TXTおよびTRG.MONO.TXTは、ソースおよびターゲット言語の単一言語コーパスです。 両方とも、あらかじめ処理されていなければならないので、原子記号(トークンまたはBPE単位のいずれか)は空白で区切られます。 そのために、BPEを使用する場合は、 Mosesを使用してコーパスをトークン化およびトリケートし、必要に応じてSubword-NMTを使用することをお勧めします。
  • SRC.EMB.TXTおよびTRG.EMB.TXTは、ソースおよびターゲット言語のクロスリンガルの埋め込みです。 これらを得るには、上のコーパスにword2vecまたはfasttextのいずれかを使用して単一言語の埋め込みを訓練し、 VecMapを使用してそれらを共有スペースにマップすることをお勧めします。 埋め込みをマッピングする前に、必要に応じてボキャブラリを切り捨ててください。
  • MODEL_PREFIXは、出力モデルの接頭辞です。

上記の設定を使用すると、トレーニングは1台のTitan XPで約3日間かかります。 トレーニングが完了したら、結果のモデルを次のように使用することができます。

python3 translate.py MODEL_PREFIX.final.src2trg.pth < INPUT.TXT > OUTPUT.TXT

詳細と追加オプションについては、上記のスクリプトを--helpフラグとともに実行してください。

よくある質問

あなたは、監督されていないNMTシステムが単言語コーパスだけで訓練されていると主張しますが、バイリンガルの埋め込みも必要です…それは不正ではありませんか?

実際には、単言語コーパスのみからのバイリンガルの埋め込みも学ぶからです。 コンパニオンツールVecMapを使用しています。

パラレルコーパス上の通常のNMTシステムをトレーニングするためにこのソフトウェアを使用できますか?

はい! UNdreaMTを通常のNMTシステムのように動作させるには、次の引数を使用できます。

python3 train.py --src2trg SRC.PARALLEL.TXT TRG.PARALLEL.TXT --src_vocabulary SRC.VOCAB.TXT --trg_vocabulary TRG.VOCAB.TXT --embedding_size 300 --learn_encoder_embeddings --disable_denoising --save MODEL_PREFIX --cuda

ライセンス

Copyright(C)2018、Mikel Artetxe

GNU一般公衆利用許諾契約書の条件に基づいて、バージョン3または(あなたの選択により)それ以降のバージョンのいずれかでライセンスされます。 ライセンスの完全コピーは、LICENSE.txtにあります。







-artetxem

執筆者: