GitHubじゃ!Pythonじゃ!

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

OpenNMT

OpenNMT-py – PyTorchのオープンソース神経機械翻訳

投稿日:

PyTorchのオープンソース神経機械翻訳 http://opennmt.net/

OpenNMT-py:オープンソース神経機械翻訳

これはオープンソース(MIT)の神経機械翻訳システムであるOpenNMTのPytorchポートです。 翻訳、要約、イメージからテキスト、形態学、その他多くの分野で新しいアイデアを試してみることができます。

コードベースは比較的安定していますが、PyTorchはまだ進化しています。 現在、安定したコードが必要な場合は、フォークすることをお勧めします。

OpenNMT-pyは共同オープンソースプロジェクトとして実行されます。 Sasha Rush (ケンブリッジ、マサチューセッツ州)、 Ben Peters (Saarbrücken)、 Jianyu Zhan (深圳)が管理しています。 元のコードはAdam Lerer (NYC)によって書かれました。 私たちは貢献が大好きです。 Contributions Welcomeタグ付き投稿のIssuesページを参照してください。

目次

要件

pip install -r requirements.txt

特徴

次のOpenNMT機能が実装されています。

ベータ機能(コミット済み):

  • マルチGPU
  • 構造化された注意
  • [Conv2Conv畳み込みモデル]
  • SRU「CNNよりも速いRNN」紙

クイックスタート

完全なドキュメント

ステップ1:データを前処理する

python preprocess.py -train_src data/src-train.txt -train_tgt data/tgt-train.txt -valid_src data/src-val.txt -valid_tgt data/tgt-val.txt -save_data data/demo

私たちはdata/フォルダー内のいくつかのサンプルデータを扱います。

データは、スペースで区切られたトークンを含む行ごとに1つのセンテンスを含む並列ソース( src )およびターゲット( tgt )データで構成されます。

  • src-train.txt
  • tgt-train.txt
  • src-val.txt
  • tgt-val.txt

バリデーションファイルが必要であり、トレーニングのコンバージェンスを評価するために使用されます。 それは通常、5000文以下である。

前処理を実行すると、次のファイルが生成されます。

  • demo.train.pt :トレーニングデータを含むシリアル化されたPyTorchファイル
  • demo.valid.pt :検証データを含むシリアル化されたPyTorchファイル
  • demo.vocab.pt :ボキャブラリデータを含むシリアル化されたPyTorchファイル

内部的には、システムは言葉自体に触れることはありませんが、これらの指標を使用します。

ステップ2:モデルをトレーニングする

python train.py -data data/demo -save_model demo-model

主要な列車のコマンドは非常に簡単です。 最小限は、データファイルと保存ファイルが必要です。 これは、エンコーダ/デコーダの両方に500個の隠れユニットがある2層LSTMで構成されるデフォルトモデルを実行します。 -gpuid 1を追加して-gpuid 1を使用することもできます。

ステップ3:翻訳

python translate.py -model demo-model_acc_XX.XX_ppl_XXX.XX_eX.pt -src data/src-test.txt -output pred.txt -replace_unk -verbose

新しいデータを予測するためのモデルを作成しました。 ビーム探索を実行することでこれを行います。 予測結果をpred.txt出力しpred.txt

!!! メモ “デモデータセットが小さいため、予測は非常に恐ろしいものになります。 より大きなデータセットを試してみてください! たとえば、 翻訳要約のために何百万ものパラレルセンテンスをダウンロードすることができます。

事前に埋め込まれた埋め込み(例えば、GloVe)

チュートリアル: OpenNMT-pyにGloVeの事前に訓練された埋め込みを使用する方法

事前トレーニングされたモデル

以下の事前モデルは、translate.pyでダウンロードして使用できます。

http://opennmt.net/Models-py/

引用

OpenNMT技術レポート

@inproceedings{opennmt,
  author    = {Guillaume Klein and
               Yoon Kim and
               Yuntian Deng and
               Jean Senellart and
               Alexander M. Rush},
  title     = {OpenNMT: Open-Source Toolkit for Neural Machine Translation},
  booktitle = {Proc. ACL},
  year      = {2017},
  url       = {https://doi.org/10.18653/v1/P17-4012},
  doi       = {10.18653/v1/P17-4012}
}







-OpenNMT
-, , ,

執筆者: