問題タブ [moses]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nlp - 巨大な言語モデルで機械翻訳モデルを調整するには?
Moses
機械翻訳モデルを構築するソフトウェアです。AndKenLM
は、モーセが使用する事実上の言語モデル ソフトウェアです。
16GBのテキストを含むテキストファイルがあり、それを使用して言語モデルを構築します:
結果のファイル ( text.arpa
) は 38GB です。次に、言語モデルを次のように二値化しました。
また、2 値化された言語モデル ( text.binary
) は 71GB に増加します。
では、変換モデルをトレーニングした後、アルゴリズムmoses
を使用してモデルの重みを調整する必要があります。そして、これはhttps://github.com/moses-smt/mosesdecoder/blob/master/scripts/training/mert-moses.plMERT
で簡単に実行できます。
MERT は小さな言語モデルでは問題なく動作しますが、大きな言語モデルでは完了するまでにかなりの日数がかかります。
Google 検索を行ったところ、KenLM のフィルターが見つかりました。これは、言語モデルをより小さなサイズにフィルター処理することを約束しています: https://kheafield.com/code/kenlm/filter/
しかし、私はそれを機能させる方法について無知です。コマンドのヘルプは次のように表示されます。
しかし、次のことを試してみると、スタックして何もしません。
2値化後の言語モデルはどうすればよいですか? 大規模な言語モデルを操作して、チューニング時の計算負荷を軽減する他の手順はありますか?
大きな LM ファイルをチューニングする通常の方法は何ですか?
KenLM のフィルターの使い方
(詳細はhttps://www.mail-archive.com/moses-support@mit.edu/msg12089.htmlを参照)
corpus - Europarl を使用した Moses のパフォーマンスがこれほど悪いのはなぜですか?
私は Moses をいじり始め、かなり標準的なベースライン システムになると思われるものを作成しようとしました。私は基本的にWeb サイトに記載されている手順に従いましたが、使用する代わりに、WMT 2006 開発セットと元の Europarl 共通テストをnews-commentary
使用して、 Europarl v7 をトレーニングに使用しました。私のアイデアは、ベースラインの英語からフランス語へのシステムで .68 の BLEU スコアを獲得したLe Nagard & Koehn (2010) と同様のことを行うことでした。
要約すると、私のワークフローは多かれ少なかれ次のとおりでした。
tokenizer.perl
すべてにlowercase.perl
(代わりにtruecase
)clean-corpus-n.perl
- Europarl v7 のフランスのデータのみを使用して IRSTLM モデルをトレーニングする
train-model.perl
説明どおりmert-moses.pl
WMT 2006 dev を使用- 説明されているパフォーマンスのテストと測定
結果の BLEU スコアは .26 です... これにより、次の 2 つの疑問が生じます。
- これは、この種のベースライン システムの典型的な BLEU スコアですか? Europarl は単一言語モデルをトレーニングするための非常に小さなコーパスであることは理解していますが、これは Moses の Web サイトで行われている方法です。
- SMT や Moses を始めたばかりの人が陥りがちな典型的な落とし穴はありますか? それとも、Le Nagard & Koehn のような研究者は、Moses の Web サイトで説明されているものとは異なる方法でベースライン システムを構築していますか?
boost - cygwin を介した Windows 上の Moses - ブーストがインストールされていないように見えるか、g++ が混乱している
cygwin を使用して Windows プラットフォームで機械翻訳ツール Moses を使用したいと考えています。Cygwin (/cygwin64/lib/ の下の libboost_XXX.dll.a) から「ブースト」ライブラリをインストールしました。
mosesdecoder をコンパイルしようとすると (cygwin フォルダーの下にコピーしました)、次のようなエラーが発生しました。
問題が何であるかを知っている人はいますか?
ありがとう。
moses - Moses 機械翻訳 - Anymalign で Moses を使用
Moses の GIZA++ をここから取得した Anymalign に置き換える方法を知っている人はいますか
実はMosesを使うには9つのステップがあり、ステップ2と3を通過せずにステップ4を始めたいのですが、GIZA++を使わないと無理そうです。誰にも手がかりがありますか?
nlp - moses train-model.perl スクリプト エラー、--lm factor:order:filename が必要
私が実行すると:
示した:
エラー: --lm factor:order:filename を使用して、/home/zhanwang/mosesdecoder/scripts/training/train-model.perl 行 597 で少なくとも 1 つの言語モデルを指定します。
root@zhanwang-virtual-machine:/home/zhanwang/mosesmodel/corpus3# $MOSES/scripts/training/train-model.perl
しかし、因子モデルは使いたくありません。
これも試してみてください。同じことを見せてください。どんなパラメーターを試しても、 -- を使用するように求められますlm factor:order:filename
。
標準フレーズ モデルの場合、通常、次のようにトレーニング スクリプトを実行します。
構文ベースの翻訳モデルを構築したいのですが、どうすればよいですか?
ここに私のコーパスがあります:
ghkm ルールを抽出し、「バージニア州の都市を教えてください」を翻訳できるモデルを構築したいと考えています。「回答市 loc_2 州 ID 'バージニア'」に
xml - WMT'15 ニューステスト データセット: .sgm 形式
wmtからニューステスト データセットを .sgm 形式からフォーマットされていない形式 (europarl データセットなど) に取得するために使用されるスクリプト (およびその方法) は?
例: http://www.statmt.org/wmt15/test.tgzでダウンロードされたニューステスト データセット
newstest2015-ende-ref.de.sgm などのファイルが含まれています (抽出された場合)。
各行がフォーマットなしの文を表す europarl データセットと同様にするにはどうすればよいですか?
ノート:
mosesディレクトリ (wmt サイトからリンク) にwrap-xml.perlというスクリプトを見つけました。テストセクションで、.sgm 形式に移動するために使用されると述べていますが、スクリプト自体にはドキュメントが含まれていません (私は perl について無知です)。
moses - 2 つの並列ファイル データセットからモデル (ドイツ語から英語) を作成する際の Moses SMT 翻訳の難しさ
2 つの並列言語ファイルから Moses SMT でモデルを作成しようとしています。モデル作成のすべての段階を完了しました。しかし、翻訳を実行すると:
echo "Um zu bestimmen" | ~/mosesdecoder/bin/moses -f ~/mosesdecoder/0_my_test/align_2016.08.19_14.24.05/model/moses.ini
それは私にいくつかの例外を与えます(添付の写真-完全な詳細で、以下に書かれています(例外本文のみ))、コマンドを実行するように求めます:
compile-lm --text はいアルパ
..... 例外: void lm::ReadARPACounts(util::FilePiece&, std::vector&) の lm/read_arpa.cc:64 は、「line == "iARPA"」のため FormatLoadException をスローしました。これは IRSTLM iARPA ファイルのように見えます。ARPA ファイルが必要です。compile-lm --text yes /home/user/mosesdecoder/0_my_test/align_2016.08.19_14.24.05/lm/de_lm_proc.gz /home/user/mosesdecoder/0_my_test/align_2016.08.19_14.24.05/lm/de_lm_proc.gz を実行します。 .arpa 最初に。バイト: 6
しかし、そのコマンドを実行した後でも、同じ例外が発生します。
私は何をすべきか?