音声認識メモ(Julius)
画像や文字といった"パターン認識"技術の中でも、特に難しいとされる音声の認識。
その仕組みを調べてみた。
「Julius」は他と比べると見劣りする。
デフォルトですぐに使えるようにしてあるのは試しやすくていいけど、認識精度にガッカリしてしまう人も多いのではないだろうか。
音声は、話者(男性/女性、成人/子供)ごとのバラツキが大きいし、同じ話者でも話すスピードで音響モデルが変わってくる。
Juliusの構成要素となるモデルは大きく2つ
- 音響モデル(Acoustic Model)
- 言語モデル(Language Model)
Googleは、音響モデル/言語モデルを複数用意して、一番、正解に近そうなものを選んでいる予想。
一方、Juliusのデフォルト音響モデルは、万人に合わせたいわゆる平均だろうし、言語モデルも様々なシーンに対応できるよう、状況を絞り込んでいない(使われる語彙は、話の場面ごとに変化する)。となると、認識精度は低くならざるを得ないだろう。
実用化しようとするなら、例えば声の特徴を認識して(あるいは話者の顔を認識して)音響モデルを自動選択するとか、使用する場面ごとに言語モデルを用意するといった対応が必要だと考える。
ヒューマンインターフェースとしての音声は残り続けるだろうし、将来は、個人が自分の"My音響モデル"を保有する時代になるのかもしれない。
Juliusで指定できる言語モデルは3種類。
単語レベルの認識なら、候補を絞ってやれば認識精度も高いと思われる。
文とか会話だと、記述文法か統計言語を使う。