3.5 うまく認識できない

Problem

HARK を使った音声認識システムを作ろうとしているが, 何を話しても認識してくれない.

Solution

もし,あなたがまだ チュートリアルの章 (2 章) を一通り試していないなら, ここから始めるのが近道になるだろう. このチュートリアルで,HARK による音声認識システムを録音,音源定位,音源分離,音声認識の順に 学ぶことができる.

次に,独自のシステムを開発して動かない場合の検証方法について解説する. 音声認識システムは多数の要素が含まれているので, 原因を一つずつ検証していくのが重要である. まず, HARK が正しくインストールされているか (うまくインストールできない), 録音ができているか (うまく録音できない), 音源定位ができているか (うまく定位できない), 音源分離できているか (うまく分離できない)を, それぞれのレシピを見ながらで確認しよう.

ここまで検証して正しく動いているなら,音声認識の検証に入ろう. ここでは, 大語彙連続音声認識エンジン Julius (http://julius.sourceforge.jp/) を HARK 用に改造したもの(julius_mft )を 用いると仮定する. Julius を使う上で重要なのは次の3つのファイルである

  1. 音響モデル: 音響信号の特徴量と音素の関係を表すモデル

  2. 言語モデル: システムの使用者が話す言葉のモデル

  3. 設定ファイル: 上記2種類のファイルのファイル名など

まったく動作しない,あるいは Julius が起動しない場合は, ファイルのパスが間違っているということが多いので, まず設定ファイルを見直すのが容易である. 詳しくはレシピ 設定ファイル(.jconfファ イル)を作りたい を参照するとよい. あるいは,モデル自体の検証を行うときは 音響モデルは 音響モデルを作りたい を, 言語モデルは 言語モデルを作りたい を参照しよう.

Discussion

以上はまったく認識しない場合の対処方法で, 「正しくは動くが,成功率(=認識率)が悪い」という場合は チューニングを行う必要がある.

音声認識システムのチューニングは,定位・分離・認識の多岐に渡る複雑な問題 である. 例えば,分離なら音源分離ノード GHDSS のパラメータチューニング ( 音源分離のパラメータをチューニングした い)や 後処理 (PostFilter や HRLE )のチューニング (分離音入っている雑音を後処理で減らしたい)を参照するとよい. 他にも,認識に使用する特徴量にかんするレシピ 特徴 量抽出 の章や, パフォーマンスの向上に関するレシピ (音源定位のパラメータをチューニングしたい音源分離のパラメータをチューニングした い) が参考になるだろう.

See Also

ここでは,そもそも認識しないときに参照すべきレシピのみを列挙する. 認識率が悪い場合は Discussion を参照.

  1. よくある問題と解決方法の章の各レシピ

  2. 音響モデルのレシピ, 言語モデルのレシピ

  3. Julius の設定ファイル

  4. Julius のドキュメント