ichou1のブログ

主に音声認識、時々、データ分析のことを書く

音声認識メモ(Julius)その2

前回の続き

使用するJuliusのバージョンは"4.3.1"

Juliusに渡すパラメータを簡略化して書くと以下のとおり。

julius "入力音声" "音響モデル" "言語モデル"

入力音声オプション例

HTKの特徴ベクトルを渡す

-input mfcfile

マイク入力

-input mic

音響モデルオプション例

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