音声認識メモ(Julius)その2
前回の続き
使用するJuliusのバージョンは"4.3.1"
Juliusに渡すパラメータを簡略化して書くと以下のとおり。
julius "入力音声" "音響モデル" "言語モデル"
音響モデルオプション例
HMMの定義 (各stateごとの平均や分散を定義したもの)
-h "HMM definition file name"
triphone (音素を3つ連ねて"o-sh+i"のように書いたもの)の一覧
-hlist "HMMlist filename"
音響モデルについては、"HTK"の項として別途、記載します。
言語モデルオプション例
<ケース1> 孤立単語 (Isolated Word)
単語を音素に分解したもののリスト
-w "単語リスト"
単語リストの例:"もしもし"
MOSIMOSI m o sh i m o sh i
<ケース2> 記述文法 (DFA Grammar)
単語の出現パターン(単語Aの後に単語Bが続く等)を定義したもの
-dfa "DFA grammar file"
DFA文法ファイルの例
1 0 2 0 0
単語辞書
-v "dictionary file name"
単語辞書ファイルの中身の例
1 [MOSIMOSI] m o sh i m o sh i
※アウトプットだけ見ても分かりにくいので、作成方法ついては別途、記載します。
<ケース3> 統計言語 (N-gram)
例えば、 "あらゆる現実を" という文は、"あらゆる/現実/を"という形態素(名詞、動詞、副詞、感動詞、etc)に分解できる。分解した後の連なりを表現すると以下のとおり
1-gram: あらゆる 2-gram: あらゆる 現実 3-gram: あらゆる 現実 を
N-gramファイル(JuliusツールでARPAファイルをバイナリ化したもの)
-d "n-gram file"
ARPAファイルの中身の例
\1-grams: -0.42597 もしも+モシモ+56/0/0 0.0000
※"もしもし"は感動詞扱いなのでARPAファイルに含まれない。代わりに 副詞である"もしも"を抜粋
単語辞書
-v "dictionary file name"
※ケース2の記述文法と同じく "-v"オプションで渡すのだが、ファイルのフォーマットは異なる
単語辞書ファイルの中身の例
もしもし+モシモシ+75/0/0 [もしもし] m o sh i m o sh i