問題タブ [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.
theano - 次元の数が間違っています: 期待される 0 は形状 (1,) で 1 です
バニラrnnを使用して単語レベルの言語モデリングを行っています。モデルをトレーニングできますが、奇妙な理由でモデルからサンプル/予測を取得できません。コードの関連部分は次のとおりです。
次のエラーが表示されます: 「TypeError: ('インデックス 0 (0 ベース) で名前が "train.py:94" の theano 関数への入力引数が正しくありません'、'次元の数が正しくありません: 期待される 0、形状 (1) で 1 を取得しました,).')"
これは次の行 (predict_model 内) に対応します。
何時間も費やした後でも、次の場合に寸法の不一致が発生する可能性があることを理解できません。
そして、train_set_x[index] を実行すると、 fmatrix 型の' x ' Tensor が保持できる(4, 109)が得られます (これは train_model で発生します) が、 voc [index] を実行すると(1, 109)、これも行列ですが、' x ' はこれを保持できません。なぜですか? !
どんな助けでも大歓迎です。
ありがとう !
theano - 検査精度は常に 99% 以上
theano/keras で LSTM を使用して言語モデルを実装しようとしています。私のネットワークは正常に動作し、トレーニングの損失が減少していることもわかりますが、ネットワークを長時間トレーニングしなくても、テストの精度は常に 99% を超えています。word2vec ベクトルを使用し、埋め込みレイヤーに重みを埋め込みました。私のネットワークは次のようになります。
私のトレーニングとテストの配列形状は次のとおりです。
100000 のトレーニング文と 10000 のテスト文があり、各文には 18 語が含まれています。出力するクラス数は 998 です。
真のテストエラーが発生しない理由を誰かが提案できますか?
java - lingpipe を使用した段階的な言語モデルのトレーニング
DynamicLMClassifier.createNGramProcess(categories,nGram)
20 GB を超える大きなデータセットでトレーニングしようとしています。現在、トレーニング ファイル全体を文字列としてトレーニング メソッドに供給していますが、明らかな理由から、java.lang.OutOfMemoryError: Java heap space
このようなトレーニングをサポートするために JVM ヒープ サイズを増やすことは可能かもしれませんが、漸進的な方法を見つけることに興味があります。
トレーニング コードは次のようになります。
理想的な解決策は、トレーニング セットの N 個のサブセットのループで classifier.handle() をフィードすることです。モデルは、MLE を計算するためにそれぞれのカウントを含む ngrams タプルを記憶するだけでよいため、理論的にはこれは可能であると思います。
cmusphinx - 語彙から辞書ファイルを作成するには?
特定のドメイン言語モデルの辞書 (.dict) ファイルを作成する方法。CMU ツール キットを使用して ARPA 形式の言語モデルを作成していますが、.dict ファイルを作成するオプションがありません。前もって感謝します。
python - ケラスを使用してトレーニングされた言語モデルのパープレキシティを計算するには?
Windows 10 で Python 2.7 Anaconda を使用する
keras を使用して言語モデルを構築するために、GRU ニューラル ネットワークをトレーニングしました。
この言語モデルの複雑さを計算するにはどうすればよいですか? たとえば、NLTK はそのモデルのパープレキシティ計算機能を提供します。
tensorflow - TensorFlow 埋め込みルックアップ
TensorFlow を使用して音声認識用の RNN を構築する方法を学ぼうとしています。手始めに、TensorFlow ページTF-RNNに掲載されているいくつかのサンプル モデルを試してみたかった
アドバイスに従って、基本バージョンの word2vec モデル コードを使用して、単語 ID が密な表現 (ベクトル表現) にどのように埋め込まれているかを理解するのに時間がかかりました。TF-RNN のtf.nn.embedding_lookup
2 次元配列で使用されている同じ関数に実際に遭遇するまで、実際に何が行われているかを理解していましたが、それが意味をなさなくなったときです。 ptb_word_lm.py
私がするtf.nn.embedding_lookup
こと:
2 次元 arrayparams
および 1 次元 arrayを指定するids
と、関数は、 でtf.nn.embedding_lookup
指定されたインデックスに対応する params から行をフェッチしますids
。これは、返される出力の次元を保持します。
私が混乱していること:
同じパラメーターと 2-d array を試してみると、2-dids
ではtf.nn.embedding_lookup
なく 3-d 配列が返されますが、その理由はわかりません。
Embedding Lookupのマニュアルを調べましたが、パーティション分割の仕組みと返される結果を理解するのはまだ難しいと思います。最近、いくつかの簡単な例を試してみましtf.nn.embedding_lookup
たが、毎回異なる値を返すようです。この動作は、パーティショニングに伴うランダム性によるものですか?
tf.nn.embedding_lookup
がどのように機能するか、なぜ が両方word2vec_basic.py
で使用されるのか、ptb_word_lm.py
つまり、それらを使用する目的は何なのかを理解するのを手伝ってください。
tensorflow - TensorFlow CTC (言語モデル) でのカスタム ビーム スコアラーの使用
Python 側から TensorFlow CTC 実装でビーム スコアラーをカスタマイズすることは可能ですか? CTCBeamSearchDecoder C++ クラス コンストラクターのコメントでこの可能性を確認しましたが、Python ユーザーにこの機能を提供する方法を知りたいですか?
私たちが抱えている具体的な問題は、言語モデルを CTC ベースの音声デコーダーにプラグインすることです。言語モデルは、事前にトレーニングされた TensorFlow サブグラフである可能性があり、ビーム スコア調整の確率を出力できます。しかし、これをビーム スコアラーに注入する方法が必要です。