日本音響学会

音のなんでもコーナー

Q and A (065)

Q:

最近,音声入力のできるワープロが市販されておりますが,方言があっても大丈夫なのでしょうか。単語を識別する仕組みと併せて簡単に教えて下さい。

A:

代表的な音声認識処理の大まかな流れを図−1に示します。図中の式で示すように、すべての単語の組み合わせについて、ある単語の組み合わせが起こる確率(言語尤度)と、その単語の組み合わせのもと観測された特徴ベクトルが得られるであろう確率(音響尤度)を求め、その積が最大となるような単語の組み合わせを認識結果とします。音声認識の探索処理はこのようにトップダウン的に行われており。一つ一つのベクトルに対して、どのような音素になるか決定して、次にその音素の組み合わせから単語を決定して…というふうにボトムアップに積み上げていくのではないことに注意して下さい。さて、このような処理の中で、方言(ここでは、アクセント、音韻、語彙の違いに注目します)が音声認識にどのように影響するかを音響分析や探索の具体的な方法と併せて見ていきたいと思います。まず、音声認識が人の声のどんな特徴を取り出して認識を行っているかを見てみます。入力された音声は、10ミリ秒程度ごとに20ミリ程度の窓で細切れにした後、短時間フーリエ変換やLPC分析により、対数パワースペクトル列に変換されます。この対数パワースペクトルの形状が音声の特徴を表しています。そこで、形状を比較するために更に直交変換をして12次元程度のケプストラムにします(スペクトルの時間的な変化も重要な情報であることが分かっていますのでケプストラムの変化量も特徴ベクトルに加えます)。さて、実はこの段階で声帯の振動数に由来する声の高低の情報、すなわち日本語のアクセントやイントネーションといった情報は除去されています。ですから、方言のうちアクセント違いで、認識ができなくなるということは原理的には生じないわけです。次に音韻の変形として現れる方言について考えるため、音響モデルに着目します。探索部では音声の統計的な性質を表現する音響モデルに着目します。(ほとんどの音声認識がHMM:Hidden Markov Modelを使っています)を用い特徴ベクトル列との音響的な照合を行います。この音響モデルは、一般に音素(例えば「か」は/K/及び/a/という音素から構成されます)を単位として作成されます(実際には前後の音素にも影響を受けるため前後の音素環境ごとにモデルを作成します)。例えば/a/というモデルはいろいろな人の発声の/a/の部分に対応するベクトル列から、それをうまく表現するような確率分布を学習することで作成されるわけです。そのため認識性能は学習データの量やバラエティに依存すると考えられます。もちろん市販されている音声認識のモデルは大量のデータで学習されており、誰の声でも認識できるように作成されています。とはいえ、「い」を/i/と/e/の間くらいの音として発音される方言等、利用している人の音声が学習に用いたデータの分布からはずれていると認識率が低下する場合があります(このような場合は音声ワープロの追加学習機能を使って、ある程度自分の声に適応させることが可能です)。一方、「い」と「ゐ」を使い分けている人がいたとしても、学習時には一つのモデルとして学習されているため識別はできません。次に、方言の語彙について考えるために言語モデルに着目します。言語モデルには単語と音素列の対応を表す辞書、単語と単語のつながりを表す確率付きの文法というものが書かれています。ここで注意すべき点は、探索部は言語モデルからの情報で順次単語との音響的な照合を行っていくため、辞書にない単語は認識され得ないということです。最近の音声ワープロは4万語以上の単語が登録されていますが、その地方独特の単語等は語彙にないため、やはり登録が必要なようです。また、「敷く」を「ひく」と発音してしまう場合等、音韻として明らかな入れ替えが起こっている場合も辞書に登録した方が良いでしょう。なお、bit誌1998年7月号に最近市場に広く出回っている音声ワープロソフトの開発者の方々による、同ソフトの分かり易い解説記事がありますので参考にしていただければと思います。

黒岩眞吾(KDD研究所)