音声認識エンジンのJuliusについて,
精度向上させる上で大切なオプションについて解説する.
オプション自体は,コマンド起動時に引数として渡すか,設定ファイルである任意のjconfに記述のどちらでもよい.

-lv (default: 2000)
振幅レベルの下限を指定する.
振幅レベルとは音の大きさのこと.
この値を下げると小さな音でも拾うようになり,大きくすると大きな音しか拾わなくなる.
個人的に声が小さかったため,これを500程度まで小さくするだけで劇的に精度向上が見られた.

-tailmargin (default: 400)
音の切り出しの際,tailmarginで指定したms間無音であれば切り出しを行う.
何が役立つかというと,例えば長い単語を発音している際,途中で一瞬でも発声が止まると
その時点で切り出しが行われてしまうことがある.

-rejectshort
指定したms以下の入力を棄却する.
これを上げることで,例えば咳払いやくしゃみ,呼び鈴など一瞬で終わる音に対して音声認識が走ってしまうことを回避できる.

-demo
これが有効になっていると他のオプションが無視され,精度より速度が優先される?状態となる.
運用時には必ず外すこと.

-m (default: 2000)
探索打ち切りのための仮説展開回数のしきい値を指定する.
60000などでも問題なし.

他には-bや-b2などがあるが,このあたりは個人的によく理解できていないため解説は控える.
色々とオプションを紹介したが,何よりも大事なのはゆっくりと大きな声で発音することだと感じている.
職場でそれを行うのは厳しいかもしれないが…

Categories: Julius