LMフォーマットについて:
AFAIKのほとんどの言語モデルは、言語モデルにARPA標準を使用しています。Sphinx/CMU言語モデルはバイナリ形式にコンパイルされます。Sphinx LMを別の形式に変換するには、ソース形式が必要です。他のほとんどの言語モデルはテキスト形式です。
HTK音声認識ツールキットの使用をお勧めします; 詳細なドキュメントはこちら: http: //htk.eng.cam.ac.uk/ftp/software/htkbook_html.tar.gz
CMUのSLMツールキットの説明もあります:http ://www.speech.cs.cmu.edu/SLM/toolkit_documentation.html
ネットで見つけたARPA形式の言語モデルの例を次に示します。http ://www.arborius.net/~jphekman/sphinx/full/index.html
おそらく、最初にARPA LMを作成してから、必要に応じて任意のバイナリ形式に変換することをお勧めします。
一般に:
言語モデルを構築するには、この時点までの現在の入力を観察した後、語彙内の他の単語の確率を決定するために、多くのトレーニングデータが必要です。
認識したい単語を追加するだけで言語モデルを「作成」することはできません。また、多くのトレーニングデータ(=音声認識アプリケーションの実行時に観察される一般的な入力)も必要です。
言語モデルは単なる単語リストではなく、入力内の次のトークン(単語)の確率を推定します。これらの確率を推定するには、トレーニングプロセスを実行する必要があります。このプロセスでは、トレーニングデータ(履歴データなど)を調べ、そこで単語の頻度を観察して、上記の確率を推定します。
あなたの問題については、おそらく迅速な解決策として、すべての単語が同じ頻度/確率を持っていると仮定してください。
認識したい単語で辞書を作成する(辞書内のN語)
各単語の確率が1/Nの言語モデルを作成する(ユニグラム言語モデル)
次に、HTK Toolkitを使用して、そのユニグラム言語モデル(LM)を別のLMで補間し、より大きなコーパスを作成できます。