単語のつながりで言葉を聴きとる
−自然な話し言葉の音声認識を目指して−
1.自然な話し言葉の認識に求められるもの相手がコンピュータであると気にせずに自由に話し掛けることができて、即座に自分の国の言葉を相手の国の言葉に変換してくれたり、機械が自分の命令を聞いてくれる。多くの人が描いている音声認識のイメージとはそんなところではないでしょうか。しかし、これまでの音声認識システムでは、厳しく制限された語順通りに話さないと正しく認識することは不可能で、自由に話しかけるには程遠い状態でした。
文の途中に「あのー、えーと」と言ってみたり、単語の間に適当な間をおいたり、必ずしも学校で習った文法通りに話さないといったことは、自然な話し言葉ではごく普通に行われていることですから、話し言葉の音声認識では、これらの現象を広くカバーすることが必要になってきます。また、一文の処理に何分もかかっていたのでは、会話も途切れがちになってスムーズには進まないでしょうから、即座に認識を行うことができるといった処理スピードも重要な要素のうちの一つです。
そこで、私たちはどのようにすれば自然な話し言葉を正確にしかも短時間で認識できるかを重要な研究テーマとして取り上げています。
2.単語のつながり易さはなぜ必要か?
音声認識では、発声された音声をあらかじめ記憶された単語の音声辞書と照合することによって単語を聞き分けています。「あのー、えーと」を言葉の間に自由にはさんだり、書き言葉の文法から外れても良いとなると、照合すべき単語の数は大きく増加します。たとえば、ホテルのフロントにお客が電話を掛けたという想定で、「えーと、予約をお×××します。」と喋ったとします。これまでの認識システムでは、「を」とくれば次に来る単語は動作を表す単語であろうということで、「お聞き、お支払い、お尋ね、お電話、"」といった単語だけを照合していれば良かったのですが、必ずしも書き言葉の文法に従わなくてもよいとすると、「予約をお安い部屋で」「予約を恐れ入りますが」「予約を小野ですが」といった単語のつながりもあながちあり得ないとは言えません。あり得そうな単語のつながりを全て認めてしまうとその組合せ数は膨大になってしまいます。このような膨大な単語の組合せの計算を実時間で行うことは、現在のワークステーションの計算能力ではとても無理です。
この問題を解決するため、単語がつながるかつながらないかの二者択一ではなくて、つながり易さを確率として与え、確率の低い単語に対しては照合の計算が起こり難いようにすることが音声認識では良く行われています。確率の値は大量の話し言葉のデータから求めます。連続する単語の二つ組から確率を計算するものをバイグラム、単語の三つ組から計算するものをトライグラムと呼んでいます。たとえば、「を」に「お願い」がつながる確率は0.4、「お値段」がつながる確率は0.05という具合に数値を振っていきます(図1)。(この数値は説明用に筆者が与えたもので、実際の話し言葉の確率とは異なります。)
3.一つ一つの音を聞きながら徐々に単語を絞ってゆく
しかし、単語のつながり易さの確率を与えただけでは、まだまだ多くの単語を照合する必要があります。さらに照合に要する計算を減らすにはどうしたら良いでしょう。たとえば、「お値段」と「お願い」は、平仮名で記述すると「おねだん」「おねがい」と「おね」までは共通の発音です。「おね」の次が「だ」であれば「お値段」、「が」であれば「お願い」になります。そこで、「おね」までは「お願い」と「お値段」の2つの単語は区別しないことにします(図2)。この方法では、単語の辞書は木構造になります。ちょうど国語辞典をひくときに、全ての単語の見出しにいちいち目を通すのではなくて、単語の先頭から一文字ずつ順にひいていくのに似ています。単語の数が数千語でも一音毎のつながりの種類数は限られているので、この方法であれば照合を高速に行うことができます[1]。木構造の辞書を用いた場合でも、単語のつながり易さの確率を用いることは容易です。図2の辞書では、各枝に記されている確率値を木の根元から掛けていけば、図1の確率と同じになるように確率値が設定されています。
4.単語のつながり易さを精度良く与えるためには音声辞書と照合する単語の数を減らすために単語のつながり易さを用いることを述べましたが、つながり易さを精度良く求めるにはどうしたら良いでしょう。このためには、より長い単語の連鎖を用いることが有効な場合があります。たとえば、図2に示す「を」につながる単語の確率を「を」ではなく「予約を」にしたとします。「予約を」に「お願い」がつながる確率は「を」に「お願い」がつながる確率より高くなります。「予約をお願い"」という文が頻繁に現れるならば「予約を」という単語を辞書に登録した方が良さそうです(図3)。そこで、どのような単語を新たに登録すれば単語のつながり易さの精度が良くなるかを、大量の話し言葉のデータから自動的に求める方法を考案しました[2]。この結果、「致します」「お願いします」「なんですが」といった良く使われるフレーズをまとめると単語のつながり易さの精度が良くなることがわかっています。
5.さらにスピーディーに正確に認識するこめに
私たちは、自分の国の言葉を相手の国の言葉に変換してくれる音声翻訳システムを実現するために必要な、より幅広い表現を即座に認識できるシステムを開発しました。このシステムでは、これまでに述べた手法以外にも、単語と単語の区切りを正確に求めることによって計算量を減らす手法や、不明瞭な発声でも認識性能が極端に悪くならないように、聞き取りにくい箇所の単語ははっきり決めずに聞き流し、明瞭に聞きとれた単語を参考にして後で決める手法などを採り入れて、ほぼ実時間の計算量で高い認識性を実現しています[1]。
Copyright(c)2002(株)国際電気通信基礎技術研究所