問題タブ [language-model]
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 - ARPA ファイルの n-gram 確率カウント
言語モデリングに関連する問題に取り組み始めましたが、一部の計算が明確ではありません。たとえば、次の単純なテキストを考えてみましょう。
berkelylm を使用して、n-gram 確率カウントと ARPA ファイルを作成しました。生成された ARPA ファイルは次のとおりです。
1 グラムの確率カウントは明らかですが、2 グラムと 3 グラムのデータがどのように作成されるかは明確ではありません。合計 13 のバイグラムがあり、バイグラム「I am」が 2 回表示されます。したがって、「I am」の 2 グラムの確率カウントは、対数スケールで log(2/13) または -0.81291 になるはずですが、それは -生成されたファイルでは 0.37)。
経験不足で見落としがあるかもしれませんが、例を挙げて計算を説明していただければ幸いです。
ありがとう。
nlp - ユニグラム LM を使用して計算する方法は?
私は NLP の初心者で、ユニグラム モデルのカウントを計算するための記号<s>
と記号の扱い方がわかりません。</s>
それらを数えるべきですか、それとも無視するべきですか?
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を参照)
nlp - NLP アプリケーションに言語モデルを格納する最も効率的な方法は何ですか?
通常、言語モデル (N-gram モデルなど) をどのように保存および更新しますか? これらのモデルをデータベースに格納する最も効率的な方法はどのような構造ですか?
machine-learning - 可能性は、トレーニング セット全体または単一の例で計算されますか?
(x, y)
ペアのトレーニング セットがあるとします。x
は入力例、y
は対応するターゲット、y
は値(1 ... k)
(k
はクラスの数) です。
トレーニング セットの尤度を計算する場合、トレーニング セット全体(すべての例) に対して計算する必要があります。つまり、次のようになります。
または、特定のトレーニング例に対して尤度が計算され(x, y)
ますか?
私が尋ねているのは、これらの講義ノート(ページ 2) を見たからです。彼は L_i を計算しているようです。これは、すべてのトレーニング例の可能性です。
nlp - word2vec のコマンド ライン パラメーター
word2vec を使用して、現在のバージョンの英語のウィキペディアで独自の単語ベクトル コーパスを作成したいのですが、そのプログラムを使用するためのコマンド ライン パラメーターの説明が見つかりません。demp-script には次のものがあります:
(text8 は 2006 年の古いウィキペディアのコーパスです)
コマンド ライン パラメータの意味は次のとおりです。
vectors.bin -cbow 1 -size 200 -window 8 -negative 25 -hs 0 -sample 1e-4 -threads 20 -binary 1 -iter 15
また、約 20GB のウィキペディア テキスト コーパス (.txt ファイル) がある場合、最適な値はどれですか? より大きなコーパスの場合、ベクトルサイズは 300 または 500 の方がよいと読みました。
eclipse - Sphinx4 の認識が悪いのはなぜですか?
Eclipse 用の Maven プラグインを使用して Sphinx4 を使用する方法を学習しています。
GitHub で見つけた書き起こしのデモを使用して、自分のファイルを処理するように変更しました。音声ファイルは 16bit、モノラル、16khz です。長さは約13秒です。スローモーションのように聞こえることに気付きました。
ファイルで話されている言葉は、「要求された場合にアップロードできるように、録音ファイルに簡単にアクセスできることも確認してください」です。
ファイルを転記しようとしていますが、結果は恐ろしいものです。結果を改善する方法、または私が正しく行っていないことを徹底的に説明するフォーラムの投稿またはリンクを見つけようとする私の試みは、どこにも行き着きませんでした.
書き起こしの精度を高めたいと考えていますが、現在のプロジェクトで処理する必要があるデータの種類が異なるため、自分でモデルをトレーニングする必要は避けたいと考えています。これは不可能ですか?私が使用しているコードはオフですか?
コード
(注: 音声ファイルはhttps://instaud.io/8qvで入手できます)
これが出力です(私が撮ったフォトアルバム):http://imgur.com/a/Ou9oH
java - Lucene 4 で用語統計にアクセスする
Lucene インデックスがあり、用語収集頻度などの統計にアクセスする必要があります。BasicStats
クラスにはこの情報がありますが、このクラスにアクセスできるかどうかはわかりませんでした。
BasicStats
Lucene 4 でクラスにアクセスすることはできますか?