(57)【要約】【課題】  キーワードのような必要最小限の語彙を確実に認識する。【解決手段】  言語モデルデータベースに記憶された言語モデルは、語順に対して順序制約を有する第１の語群クラスと、語順に対して確率的な制約を有する第２の語群クラスと、をネットワークモデルで構成されている。すなわち、言語モデルは、重要語（例えば、機器の制御に必要なキーワード）のつながりをネットワーク文法で記述すると共に、この間に挿入される重要でない語を確率的な文法モデル（統計的言語モデル）で記述したものである。音声認識部は、この言語モデルを用いて音声認識を行うことで、少なくともキーワードについては高精度に音声認識を行うことができる。【選択図】        図３
2005070330.tif 000002
【特許請求の範囲】
【請求項１】
音声信号に対して言語モデルを用いて音声認識を行う音声認識装置であって、
語順に対して順序制約を有する第１の語群クラスと、語順に対して確率的な制約を有する第２の語群クラスと、をネットワークモデルで構成した言語モデルを記憶する言語モデル記憶手段と、
前記音声信号の所定箇所について前記第１の語群クラスで語彙を決定し、前記音声信号の他の箇所について前記第２の語群クラスで語彙を決定して、決定した語彙を前記ネットワークモデルで接続することで、前記音声信号を認識する音声認識手段と、
を備えた音声認識装置。
【請求項２】
前記言語モデル記憶手段は、第１の語群クラスの語彙として、予め定められた語彙、発話プロトコルに現れる語彙、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙の少なくとも１つが割り当てられている
請求項１に記載の音声認識装置。
【請求項３】
前記言語モデル記憶手段は、前記第２の語群クラスの語彙として、前記第１の語群クラスに割り当てられた語彙以外の語彙を割り当てている
請求項１または請求項２に記載の音声認識装置。
【請求項４】
前記言語モデル記憶手段は、前記第２の語群クラスの語彙として、集合名詞を割り当てている
請求項１から請求項３のいずれか１項に記載の音声認識装置。
【請求項５】
前記言語モデル記憶手段は、前記第２の語群クラスの単位として、サブワード、単語、形態素の少なくとも１つを割り当てている
請求項１から請求項４のいずれか１項に記載の音声認識装置。
【請求項６】
前記音声認識手段の認識結果のうち前記第１の語群クラスに属する語彙に基づいて、機器を制御する機器制御手段を更に備えた
請求項１から請求項５のいずれか１項に記載の音声認識装置。
【請求項７】
コンピュータを、音声信号に対して言語モデルを用いて音声認識を行う音声認識装置として機能させる音声認識プログラムであって、
前記コンピュータを、
語順に対して順序制約を有する第１の語群クラスと、語順に対して確率的な制約を有する第２の語群クラスと、をネットワークモデルで構成した言語モデルを記憶する言語モデル記憶手段と、
前記音声信号の所定箇所について前記第１の語群クラスで語彙を決定し、前記音声信号の他の箇所について前記第２の語群クラスで語彙を決定して、決定した語彙を前記ネットワークモデルで接続することで、前記音声信号を認識する音声認識手段と、
して機能させる音声認識プログラム。
【請求項８】
前記言語モデル記憶手段は、第１の語群クラスの語彙として、予め定められた語彙、発話プロトコルに現れる語彙、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙の少なくとも１つが割り当てられている
請求項７に記載の音声認識プログラム。
【請求項９】
前記言語モデル記憶手段は、前記第２の語群クラスの語彙として、前記第１の語群クラスに割り当てられた語彙以外の語彙を割り当てている
請求項７または請求項８に記載の音声認識プログラム。
【請求項１０】
前記言語モデル記憶手段は、前記第２の語群クラスの語彙として、集合名詞を割り当てている
請求項７から請求項９のいずれか１項に記載の音声認識プログラム。
【請求項１１】
前記言語モデル記憶手段は、前記第２の語群クラスの単位として、サブワード、単語、形態素の少なくとも１つを割り当てている
請求項７から請求項１０のいずれか１項に記載の音声認識プログラム。
【請求項１２】
前記コンピュータを、
前記音声認識手段の認識結果のうち前記第１の語群クラスに属する語彙に基づいて、機器を制御する機器制御手段として更に機能させる
請求項７から請求項１１のいずれか１項に記載の音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置及びプログラムに係り、特に言語モデルを用いて音声の認識性能を図る音声認識装置及びプログラムに関する。
【背景技術】
【０００２】
連続音声認識装置における言語モデルとして、非特許文献１には、従来よく用いられたネットワーク文法モデルと、確率的言語モデル（例えばＮグラム（N-gram）モデル）について記載されている。
【０００３】
ネットワーク文法モデルは、単語の並びを正規文法や文脈自由文法などで記述することによって、文の認識を可能とする技術である。本技術は、認識対象の文法を完全に記述することができれば、その順序制約などを満たした正しい文を出力することができる点で優れている。
【０００４】
一方、Ｎグラムモデルでは、別に用意した発話コーパスから単語の並びの確率的な構造を、多重マルコフモデルを仮定して学習して用いるものである。本技術は、一意に語順を定めないことから、語順の定まらない自然発話文や不要語の挿入された文における認識に対して効果的である。
【０００５】
ところで、従来、音声認識装置は、認識対象の後を予め辞書に登録しなければならなかったため、ユーザが辞書に登録されていない後を発話すると、認識できないという問題があった。一般に、語彙数が増えれば増えるほど、認識性能が低下してしまい、特に、人名や地名などを認識することができない問題があった。
【０００６】
そこで、特許文献１に記載された発明は、地名や人名などのクラスに対してサブワード単位で確率的言語モデルを作成し、クラスに属する後のサブワード列（例えば、モーラ列）の接続確率を求める。そして、これをクラス単位でＮグラムモデルにおける通常の単語と同様に扱うことにより、未知語の音声認識を行っている。
【特許文献１】特開２００１−２３６０８９号公報
【非特許文献１】鹿野清宏他著、「音声認識システム」、情報処理学会編
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ネットワーク文法モデルは、非特許文献１に記載されているように、文法によって語順を一意に定めている。このため、語順の定まらない自然発話文や不要語が挿入された文に対して、音声認識を高精度に行うことができなかった。
【０００８】
一方、Ｎグラムモデルは、語順に対して制約が緩いため、文法的に不正な結果を出力することがしばしばあった。また、文章中重要なキーワードが含まれるような発話においても、辞書中のどの語を認識すべきかが明示的に与えられていないため、キーワード抽出ができなくなるといった問題があった。これらは、特に、音声対話システムへの応用において、意味解釈処理の性能を劣化させる要因の１つになっていた。
【０００９】
また、特許文献１の音声認識装置についても、クラスとクラス外の語の接続に関しては、上記Ｎグラムモデルの問題と同様の問題があった。
【００１０】
本発明は、上述した課題を解決するために提案されたものであり、例えばキーワードのような必要最小限の語彙を確実に認識する音声認識装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明である音声認識装置は、音声信号に対して言語モデルを用いて音声認識を行う音声認識装置であって、語順に対して順序制約を有する第１の語群クラスと、語順に対して確率的な制約を有する第２の語群クラスと、をネットワークモデルで構成した言語モデルを記憶する言語モデル記憶手段と、前記音声信号の所定箇所について前記第１の語群クラスで語彙を決定し、前記音声信号の他の箇所について前記第２の語群クラスで語彙を決定して、決定した語彙を前記ネットワークモデルで接続することで、前記音声信号を認識する音声認識手段と、を備えている。
【００１２】
請求項７に記載の発明である音声認識装置は、コンピュータを、音声信号に対して言語モデルを用いて音声認識を行う音声認識装置として機能させる音声認識プログラムであって、前記コンピュータを、語順に対して順序制約を有する第１の語群クラスと、語順に対して確率的な制約を有する第２の語群クラスと、をネットワークモデルで構成した言語モデルを記憶する言語モデル記憶手段と、前記音声信号の所定箇所について前記第１の語群クラスで語彙を決定し、前記音声信号の他の箇所について前記第２の語群クラスで語彙を決定して、決定した語彙を前記ネットワークモデルで接続することで、前記音声信号を認識する音声認識手段と、して機能させる。
【００１３】
言語モデルは、第１の語群クラスと第２の語群クラスとをネットワークで接続して構成されている。ここで、第１の語群クラスは、語順に対して順序制約を有するものであり、文法的制約が強い。第２の語群クラスは、語順に対して確率的な制約を有するものであり、語順の定まらない自然発話文や、意味のない不要語を認識できる。
【００１４】
音声認識手段は、このような言語モデルを用いて、音声信号の所定箇所について第１の語群クラスで語彙を決定し、音声信号の他の箇所について第２の語群クラスで語彙を決定して、決定した語彙をネットワークモデルで接続する。
【００１５】
したがって、上記発明によれば、音声信号の所定箇所について語順に対して順序制約を有する第１の語群クラスで語彙を決定し、音声信号の他の箇所について語順に対して確率的な制約を有する第２の語群クラスで語彙を決定して、決定した語彙をネットワークモデルで接続して、音声信号を認識することにより、必要最低限の語彙を確実に認識することができる。
【００１６】
請求項２に記載の発明である音声認識装置は、請求項１に記載の発明であって、前記言語モデル記憶手段は、第１の語群クラスの語彙として、予め定められた語彙、発話プロトコルに現れる語彙、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙の少なくとも１つが割り当てられている。
【００１７】
請求項８に記載の発明である音声認識装置は、請求項７に記載の発明であって、前記言語モデル記憶手段は、第１の語群クラスの語彙として、予め定められた語彙、発話プロトコルに現れる語彙、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙の少なくとも１つが割り当てられている。
【００１８】
第１の語群クラスに属する語彙は、文法上正確な語彙であるので、意味解釈上重要な語彙を用いることができる。重要な語彙は、システムの要求によって異なり、音声認識結果に基づいて制御する機器に応じて予め設定されるので、例えば、予め定められた語彙、発話プロトコルに現れる語彙などであってもよい。また、発話プロトコルの制約上、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙、例えば、所定の助詞、助動詞であってもよい。
【００１９】
請求項３に記載の発明である音声認識装置は、請求項１または請求項２に記載の発明であって、前記言語モデル記憶手段は、前記第２の語群クラスの語彙として、前記第１の語群クラスに割り当てられた語彙以外の語彙を割り当てている。
【００２０】
請求項９に記載の発明である音声認識装置は、請求項７または請求項８に記載の発明であって、前記言語モデル記憶手段は、前記第２の語群クラスの語彙として、前記第１の語群クラスに割り当てられた語彙以外の語彙を割り当てている。
【００２１】
第２の語群クラスは、語順に対して確率的な制約を有するため語順の定まらない自然発話文や、意味のない不要語を認識するときに有効であり、語彙辞書の負担が少ない。
【００２２】
そこで、上記発明によれば、第２の語群クラスの語彙として、第１の語群クラスに割り当てられた語彙以外の語彙を割り当てることによって、語彙辞書の負担を抑制しつつ、重要語彙については第１の語群クラスで確実に認識することができる。
【００２３】
請求項４に記載の発明である音声認識装置は、請求項１から請求項３のいずれか１項に記載の発明であって、前記言語モデル記憶手段は、前記第２の語群クラスの語彙として、集合名詞を割り当てている。
【００２４】
請求項１０に記載の発明である音声認識装置は、請求項７から請求項９のいずれか１項に記載の発明であって、前記言語モデル記憶手段は、前記第２の語群クラスの語彙として、集合名詞を割り当てている。
【００２５】
集合名詞は、非常に多く存在する。このため、集合名詞を第１の語群クラスで認識すると、語順に対して順序制約を持たせることが困難であり、語彙辞書の負担が大きくなる。
【００２６】
そこで、上記発明によれば、第２の語群クラスの語彙として集合名詞を割り当てることにより、語彙辞書の負担を軽減することができる。
【００２７】
請求項５に記載の発明である音声認識装置は、請求項１から請求項４のいずれか１項に記載の発明であって、前記言語モデル記憶手段は、前記第２の語群クラスの単位として、サブワード、単語、形態素の少なくとも１つを割り当てている。
【００２８】
請求項１１に記載の発明である音声認識装置は、請求項７から請求項１０のいずれか１項に記載の発明であって、前記言語モデル記憶手段は、前記第２の語群クラスの単位として、サブワード、単語、形態素の少なくとも１つを割り当てている。
【００２９】
第２の語群クラスは、文法の制約によらないので、単語だけでなく、単語より小さい音素や音節などの単位、例えばサブワードや形態素を認識するときに用いるとよい。
【００３０】
請求項６に記載の発明である音声認識装置は、請求項１から請求項５のいずれか１項に記載の発明であって、前記音声認識手段の認識結果のうち前記第１の語群クラスに属する語彙に基づいて、機器を制御する機器制御手段を更に備えている。
【００３１】
請求項１２に記載の発明である音声認識装置は、請求項７から請求項１１のいずれか１項に記載の発明であって、前記コンピュータを、前記音声認識手段の認識結果のうち前記第１の語群クラスに属する語彙に基づいて、機器を制御する機器制御手段として更に機能させる。
【００３２】
第１の語群クラスに属する語彙は、重要な語彙であり、音声認識結果に基づいて機器を制御する場合では、機器を制御するためのキーワードとなり得る。
【００３３】
そこで、上記発明では、音声認識手段の認識結果のうち第１の語群クラスに属する語彙に基づいて、機器の制御対象及び制御内容を把握して、その機器を制御することができる。
【発明の効果】
【００３４】
本発明に係る音声認識装置及びプログラムは、音声信号の所定箇所について語順に対して順序制約を有する第１の語群クラスで語彙を決定し、音声信号の他の箇所について語順に対して確率的な制約を有する第２の語群クラスで語彙を決定して、決定した語彙をネットワークモデルで接続して、音声信号を認識することにより、必要最低限の語彙を確実に認識することができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００３６】
［第１の実施形態］
図１は、本発明の実施の形態に係る音声認識システム１の構成を示すブロック図である。音声認識システム１は、例えば車両に搭載され、ドライバの発話指示に従って空調装置１９や音響装置２０を制御したり、ナビゲーション制御を行うものである。
【００３７】
（構成１）
音声認識システム１は、ユーザの音声を入力するマイク１１と、音声認識開始を指示するためのＰＴＴスイッチ１２と、マイク１１に入力された音響の分析を行う音響分析部１３と、音響モデルを記憶した音響モデルデータベース１４と、語彙辞書や言語モデルを記憶した言語モデルデータベース１５と、音声認識を行う音声認識部１６と、ＧＰＳ（Global Positioning System）電波を受信して現在の自車位置を検出するＧＰＳセンサ１７と、を備えている。
【００３８】
また、音声認識システム１は、地図データを記憶した地図データベース１８と、車内空気を調整する空調装置１９と、音楽を出力したりラジオの音声を出力する音響装置２０と、空調制御、音響制御、さらにルート探索その他のシステム全体の制御を行う制御部２１と、地図やモニタ画面等を表示するタッチパネルディスプレイ２２と、音声合成を行う音声合成部２３と、音声を出力するスピーカ２４と、を備えている。
【００３９】
図２は、タッチパネルディスプレイ２２の一部に表示された操作部を示す図である。タッチパネルディスプレイ２２には、車内温度を表す車内温度表示部２２ａと、車内温度を１ステップ上げる温度設定ボタン２２ｂと、車内温度を１ステップ下げる温度設定ボタン２２ｃと、ラジオ聴取モードに設定するラジオ聴取ボタン２２ｄと、ＣＤ聴取モードに設定するＣＤ聴取ボタン２２ｅと、が表示されている。
【００４０】
ドライバは、４つのボタンに触れて空調装置１９や音響装置２０の操作を行うことができる。本実施形態では、ドライバは上記４つのボタンに触れる代わりにマイク１１に発話することで同様の操作を行う。
【００４１】
音響分析部１３は、ＰＴＴスイッチ１２がオンになると、マイク１１を介して入力された音声信号について音響分析を開始して、ケプストラム系列などの音声特徴量系列を抽出する。
【００４２】
音響モデルデータベース１４には、音声特徴量系列を音声の確率的な構造として記述した複数の音響モデルが記憶されている。また、言語モデルデータベース１５には、言語的な構造を記述した言語モデルが記憶されている。この言語モデルは、音声認識の対象となる文のパターン（発話プロトコル）に対応するようにネットワーク形式で表されたモデルである。本実施の形態では、「〜を（動詞）たい」という発話プロトコルを使用するものとする。
【００４３】
（発話プロトコル）
本実施の形態では、上記のように、「〜（し）たい」という言い回しで発話するようインタフェースの仕様（発話プロトコル）が定められている。
【００４４】
ユーザに完全に自由な表現で発話させると、「えーエアコンの温度を上げてもらいたいんだけどさあ」、「エアコン上げて」、「上げてエアコン」など、発話バリエーションが膨大になり、発話の意味理解処理が複雑になるからである。一方で文末を「〜（し）たい」という表現に制限させて発話させることにより、発話バリエーションを抑えることができる。
【００４５】
なお、「〜（し）たい」という表現は、ユーザの希望を表す表現である。この表現は、システムに対しユーザが依頼をするという立場に立って考えた場合、ユーザ発話の自由度を著しく低下させるような制限ではなく、自然な仮定と考えられる。
【００４６】
図３は、言語モデルデータベース１５に記憶された言語モデルを示す図である。言語モデルは、語順に対して順序制約を有する第１の語群クラスと、語順に対して確率的な制約を有する第２の語群クラスと、をネットワークモデルで構成したものである。なお、四角ブロックの語は第１の語群クラスを示し、角丸四角ブロックの語は第２の語群クラスを示している。換言すると、上記言語モデルは、重要語（例えば、機器の制御に必要なキーワード）のつながりをネットワーク文法で記述すると共に、この間に挿入される重要でない語を確率的な文法モデル（例えば、Ｎグラム（N−gram）モデルなどの統計的言語モデル）で記述したものである。
【００４７】
（統計的言語モデル）
統計的言語モデルは、通常、発話コーパスから統計的な手法によって出現確率の推定を行うものである。このため、「〜（し）たい」という発話プロトコルの制約の元でユーザがどのような発話を行うかを調べるために、予め様々な発話を収集しなければならない。なお、詳細な説明は省略するが、一般的には、ユーザに気付かれないような（システムがユーザの命令を実行していると思わせるような）実験装置を用いて発話の収集を行うＷｏＺ法と呼ばれる方法がとられる。
【００４８】
このようにして集められた発話コーパス（発話例）を以下に示す。
「寒いのでエアコンの温度を上げたい」
「エアコンえー温度を下げたい」
「えーと室温を上げたい」
「じゃあラジオを聞きたい」
「あのーＣＤを聞きたい」
「ＣＤ聞きたい」
【００４９】
図４は、発話例を体系的に表した図である。下線部がキーワード、斜体字がキーワード以外の語を示す。また、語群（１）から語群（３）は、図３のブロック（１）からブロック（３）にそれぞれ対応する。斜体字は、語順に関して規則性をもって出現する語である。例えば、空調装置１９（エアコン）を操作する場合、「上げ」又は「下げ」の前に助詞「を」、後に助動詞「たい」が出現する。音響装置２０（オーディオ）を操作する場合、「聞き」が「たい」の前に必ず出現し、「上げ」、「下げ」または「聞き」の前に必ず「を」が出現する。ただし、助詞「を」は省略されることがある。言語モデルデータベース１５の言語モデルは、このような体系を考慮して作成されたものである。
【００５０】
（構成２）
音声認識部１６は、音響分析部１３で抽出された音声特徴量系列と、音響モデルデータベース１４に記憶された音響モデルとのマッチングを行い、さらに、音声認識データベース１３に記憶されている言語モデルを用いて、音響モデル列に対応する語彙を認識する。音声認識部１６は、このようにして得られた認識結果を制御部２１に供給する。
【００５１】
地図データベース１８には、都道府県名、市町村名などの一般的な地図データだけでなく、入力情報に応じて所定位置を検索可能な地図データが記憶されている。地図データベース１８には、例えば、料理名に対応する店名及びその位置データも記憶されている。
【００５２】
空調装置１９は、制御部２１の制御に従って、車内温度を上げたり下げたり調整する。音響装置２０は、制御部２１の制御に従って、ＣＤを演奏したり、又はラジオの音声を出力する。
【００５３】
制御部２１は、ＧＰＳセンサ１７で検出された現在の自車位置と、地図データベース１８に記憶された地図データと、に基づいて、現在の自車位置周辺の地図をタッチパネルディスプレイ２２に表示する。さらに、制御部２１は、音声認識部１６で認識されたユーザの発話指示に従って、目的地を探索して現在の自車位置から目的地までのルートをタッチパネルディスプレイ２２に表示する。
【００５４】
また、制御部２１は、音声認識部１６で得られた音声認識結果からキーワードを抽出するキーワード抽出部１７ａを有している。キーワード抽出部１７ａは、音声認識結果から、タッチパネルディスプレイ２２に表示された各操作ボタンに対応する語、「エアコン」、「上げる」、「下げる」、「ラジオ」、「ＣＤ」をキーワードとして抽出する。なお、これらのキーワードは、第１の語群クラスにより得られた語彙である。そして、制御部２１は、抽出したキーワードに基づいて操作対象及び設定内容を判断し、判断結果に従って所定の機器（例えば空調装置１９や音響装置２０）を制御する。
【００５５】
（システム動作）
図５は、制御部２１が機器を制御するときの制御ルーチンを示すフローチャートである。音声認識システム１は、ステップＳＴ１からステップＳＴ６までの処理を実行する。
【００５６】
ステップＳＴ１では、音響分析部１３は、ＰＴＴスイッチ１２が押圧されたか否かを判定し、ＰＴＴスイッチ１２が押圧されたと判定すると、ステップＳＴ２に移行する。
【００５７】
ステップＳＴ２では、音響分析部１３は、マイク１１を介して入力された音声信号を図示しない音声信号メモリに記憶して、ステップＳＴ３に移行する。
【００５８】
ステップＳＴ３では、音響分析部１３は、音声信号の発生レベルが閾値以下であるかを判定し、閾値以下でないときはステップＳＴ２に移行し、閾値以下になるとステップＳＴ３に移行する。
【００５９】
ステップＳＴ４では、音響分析部１３は、音声信号メモリに記憶された音声信号について音響分析を開始して、ケプストラム系列などの音声特徴量系列を抽出する。そして、抽出した音声特徴量系列を図示しない音声特徴量メモリに記憶して、ステップＳＴ５に移行する。
【００６０】
ステップＳＴ５では、音声認識部１６は、言語モデル及び音響モデルを設定して音声認識を行う。ここでは、次に説明する音声認識処理ルーチンが実行される。そして、音声認識部１６は認識結果を制御部２１に供給して、ステップＳＴ６に移行する。
【００６１】
（音声認識ルーチン）
図６は、音声認識部１６の音声認識処理ルーチンを示すフローチャートである。音声認識部１６は、ステップＳＴ１１からステップＳＴ１６までの処理を実行することで、音声認識処理を行う。ここでは、予め状態間の接続が有限状態のネットワークとして展開されているものとする。また、音声認識処理において一般に広く知られているleft-to-right型のＨＭＭを仮定する。
【００６２】
ステップＳＴ１１では、音声認識部１６は、初期処理として時刻カウンタｔに初期値（１）を代入して、ステップＳＴ１２に移行する。
【００６３】
ステップＳＴ１２では、音声認識部１６は、ネットワークの初期ノード位置の尤度（認識スコア）１．０を、任意の状態系列における尤度を管理する尤度リストに追加して、ステップＳＴ１３に移行する。
【００６４】
ステップＳＴ１３では、音声認識部１６は、時刻カウンタｔがＴになったかを判定し、時刻カウンタｔがＴになったときはステップＳＴ１６に移行し、時刻カウンタｔがＴになっていないときはステップＳＴ１４に移行する。
【００６５】
ステップＳＴ１４では、音声認識部１６は、時刻ｔにおける尤度を計算して、ステップＳＴ１５に移行する。具体的には次のサブルーチンを実行する。
【００６６】
（サブルーチン）
図７は、ステップＳＴ１４のサブルーチンを示すフローチャートである。
【００６７】
ステップＳＴ１４では、音声認識部１６は、前の時刻尤度リストに登録されているすべてのトークンに対して、自己ループ及び次の遷移先ノードの尤度をすべて計算する。具体的にはステップＳＴ２１からステップＳＴ４１までの処理を実行する。
【００６８】
ここで、トークンとは、音声認識結果の候補であって、尤度と履歴（単語の履歴）とを含んだものである。音声認識では、音声データの発声された音につれて、単語から単語へとトークンが「伝達」し、履歴を持つようになり、最終的には、残った最大尤度のトークンに基づいて、音声認識単語列（音声認識結果）が求められる。
【００６９】
図８は、音声認識結果の候補（仮説）をノード間が連結されたツリー構造で示した図である。終端ノードに残ったトークンのうち最大尤度の仮説が、最終的な音声認識結果となる。
【００７０】
図７のステップＳＴ２１では、時刻（ｔ−１）の尤度リスト内に未処理のトークンがあるかを判定し、肯定判定のときはステップＳＴ２２に移行し、否定判定のときはステップＳＴ４１に移行する。
【００７１】
ステップＳＴ２２では、尤度Ｉ＝直前（ｌａｓｔ）尤度、ノード番号（状態番号）ｉ＝未処理トークンのノード番号とする。すなわち、変数（Ｉ，ｉ）にそれぞれ前時刻までの尤度、未処理トークンのノード番号を代入して、ステップＳＴ２３に移行する。
【００７２】
ステップＳＴ２３では、ステップＳＴ２２で求めた尤度Ｉに音響尤度を乗じることで新たな尤度Ｉとして、ステップＳＴ２４に移行する。ここで、
（音響尤度）＝（ノードｉの自己遷移確率ａ［ｉ，ｉ］）×
（時刻ｔ及びノードｉに対応する状態における出力確率ｂ［ｔ，ｉ］）
である。
【００７３】
ステップＳＴ２４では、（ｉ，Ｉ，ｔ）を尤度リストに追加して、ステップＳＴ２５に移行する。なお、これ以降の処理では、ノード番号ｉから遷移可能なすべてのノードに対する尤度を計算する。
【００７４】
ステップＳＴ２５では、未遷移ノードが存在するかを判定し、肯定判定のときは当該未遷移ノードの処理を行うためにステップＳＴ２６に移行し、否定判定のときはステップＳＴ２１に移行し、時刻（ｔ−１）の尤度リスト中における他の未処理トークンに対する処理を行う。
【００７５】
ステップＳＴ２６では、自己ループの処理（ステップＳＴ２３）と同様に、変数（Ｉ，ｉ）にそれぞれ前時刻までの尤度Ｉ、遷移先（未遷移ノード）のノード番号ｉを代入して、ステップＳＴ２７に移行する。
【００７６】
ステップＳＴ２７では、ノード番号ｉが第２の語群クラスのノードであるかを判定し、肯定判定のときはステップＳＴ２８に移行し、否定判定のときはステップＳＴ３３に移行する。ステップＳＴ２８では、ノード番号ｉが単語終端であるかを判定し、肯定判定のときは尤度を求めるためにステップＳＴ２９に移行し、否定判定のときはステップＳＴ３１に移行する。
【００７７】
ステップＳＴ２９では、語群における過去の単語履歴と現在の単語とを用いて条件付生起確率を求める。そして、尤度Ｉに上記条件付生起確率を乗じて新たな尤度Ｉを求めて、ステップＳＴ３０に移行する。
【００７８】
（生起確率の計算）
ここで、第２の語群クラスにおける各語群の生起確率の計算について説明する。本実施形態では、第２の語群クラスの構成単位としてモーラ単位で生起確率を計算する場合の例を示す。
【００７９】
音声認識部１６は、第２の語群クラスにおける生起確率を、Ｎグラムモデルと同様に多重マルコフモデルを想定して計算する。すなわち、モーラ列ｍ1ｍ2…ｍnが生起する確率を式（１）で計算する。
【００８０】
【数１】
2005070330.tif 000003
【００８１】
そして、ステップＳＴ３０では、単語履歴に現単語を追加して、ステップＳＴ３７に移行する。
【００８２】
ステップＳＴ３１では、「ノード番号ｉが単語先端かつ単語履歴がない」かを判定し、肯定判定のときはステップＳＴ３２に移行し、否定判定のときはステップＳＴ３７に移行する。ステップＳＴ３２では、語群クラスに遷移した直後であるので、単語履歴に単語先端であることを表す「Ｂ」を追加して、ステップＳＴ３７に移行する。
【００８３】
このように、音声認識部１６は、ノード番号ｉが第２の語群クラスのノードでかつ単語終端であれば、その語群における過去の単語履歴と現在の単語とから条件付生起確率を求める。そして、尤度Ｉに条件付生起確率を乗じて、当該トークンの単語履歴に現単語を追加する。
【００８４】
図９は、図４に示した語群（３）において、行に先行するモーラを、列に後続のモーラをとった場合における先行モーラ→後続モーラが出現する回数を表した図である。また、表中Ｂは語群先頭を表し、Ｅは語群後端を表す。すなわち、この出現回数を表した図は、単語履歴を逐次更新することで作成される。
【００８５】
例えば、語群先頭を表す「Ｂ」の行には、「の」、「し」、「え（アンダーバー）」のそれぞれの位置に「１」がある。これは、語群文頭に「の」、「し」、「え（アンダーバー）」の各々が１回出現することを意味する。このため、語群先頭に「の」が出現する確率Ｐ（の｜Ｂ）＝１／３となる。
【００８６】
同様に、例えば、「の」の次に「お」が出現する確率Ｐ（お｜の）＝１／１＝１、「ん」の次に「ど」が出現する確率Ｐ（ど｜ん）＝２／３である。
【００８７】
音声認識部１６は、このような条件付き確率をすべての組合せに対して求めることにより、各語群における生起確率を求める。
【００８８】
一方、ステップＳＴ３３では、ノード番号ｉが第１及び第２の語群クラスの境界であるかを判定し、肯定判定のときはステップＳＴ３４に移行し、否定判定のときはステップＳＴ３７に移行する。
【００８９】
ステップＳＴ３４では、単語履歴に単語終端であることを表す「Ｅ」を追加して、ステップＳＴ３５に移行する。ステップＳＴ３５では、ステップＳＴ２９と同様にして、条件付生起確率及び新たな尤度Ｉを求めて、ステップＳＴ３６に移行する。ステップＳＴ３６では、当該トークンの単語履歴をクリア（消去）して、ステップＳＴ３７に移行する。
【００９０】
このように、音声認識部１６は、ノード番号ｉのノードが第１の語群クラスのノードであり、かつ境界ノードであるときは、単語履歴に終端を表す「Ｅ」を追加すると共に、尤度Ｉに条件付生起確率を乗じて、当該トークンの単語履歴を消去する。
【００９１】
ステップＳＴ３７では、ノード番号ｉのノードが単語先端であるかを判定し、肯定判定のときはステップＳＴ３８に移行し、否定判定のときはステップＳＴ３９に移行する。ステップＳＴ３８では、仮説履歴に現単語を追加して、ステップＳＴ３９に移行する。
【００９２】
ステップＳＴ３９では、ステップＳＴ２３と同様に、直前（ｌａｓｔ）ノードからの遷移確率ａ［last，ｉ］に、時刻ｔ及びノード番号ｉに対応する状態における出力確率ｂ［ｔ，ｉ］を乗じて、音響尤度を求める。そして、音響尤度を尤度Ｉに乗じて、新たな尤度Ｉを求めて、ステップＳＴ４０に移行する。ステップＳＴ４０では、（ｉ，Ｉ，ｔ）を尤度リストに追加して、ステップＳＴ２５に移行する。
【００９３】
このように、音声認識部１６は、第１及び第２の語群クラスによらず、ノード番号ｉのノードが単語先端であれば、仮説履歴にその単語を登録すると共に、尤度Ｉに音響尤度を乗じる。
【００９４】
音声認識部１６は、以上のように、時刻（ｔ−１）における尤度リスト内のすべての未処理トークンについて尤度を計算した後、ステップＳＴ４１に移行する。
【００９５】
ステップＳＴ４１では、時刻ｔの尤度リストを取得する。そして、トークン数の爆発的増大を防止するために、時刻ｔにおいて尤度の高い任意の個数（本実施形態では、上位Ｎ個）のトークンのみを残して、サブルーチン処理を終了する。
【００９６】
そして、図６に示すステップＳＴ１５では、時刻カウンタｔをインクリメントして（ｔ＋＝１）、ステップＳＴ１３に戻る。したがって、音声認識部１６は、時刻カウンタｔがＴになるまで、ステップＳＴ１３からステップＳＴ１５までの処理を繰り返し実行する。
【００９７】
ステップＳＴ１６では、音声認識部１６は、終端ノードに残ったトークンのうち最大尤度の仮説を音声認識結果として出力する。
【００９８】
音声認識部１６における認識スコア（尤度）の計算方法について説明する。基本的なアルゴリズムは、よく知られたＨＭＭ（Hidden Markov Model）を用いた音声認識アルゴリズムに準じる。第１の語群クラスに属する語のスコアは、ネットワーク文法同様に、ＨＭＭの状態をＳi、音響特徴量ベクトルをｘiとする時、式（２）のように計算する。
【００９９】
【数２】
2005070330.tif 000004
【０１００】
一方、第２の語群クラスの語群に属する語のスコアは第２の語群クラスのスコアに各語群における語の生起確率を乗じた値となる。すなわち、式（３）となる。
【０１０１】
【数３】
2005070330.tif 000005
【０１０２】
ここで、Ｐjは語群ｊにおける生起確率を表す。したがって、言語モデルデータベース１５の言語モデルを用いた際のスコアは式（４）となる。
【０１０３】
【数４】
2005070330.tif 000006
【０１０４】
ここで、Ｃjは第２の語群クラスにおける語群ｊを指す。
【０１０５】
図６に示すステップＳＴ６では、制御部２１は、音声認識部１６による音声認識結果に基づいて機器を制御する。ここでは、制御部２１は、音声認識結果からキーワードを抽出し、そのキーワードから対象機器及び設定内容を判定する。
【０１０６】
制御部２１は、音声認識結果から、キーワードとして例えば「エアコン」、「上げ」を抽出すると、車内温度を上げるように、空調装置１９を制御する。また、制御部２１は、音声認識結果から、キーワードとして例えば「ＣＤ」を抽出するとドライバがＣＤによる音声を聴取できるように音響装置２０を制御する。
【０１０７】
ところで、上述した発話コーパスに基づいてネットワーク文法のみで言語モデルが構築された音声認識システムは、ユーザがコーパス中に現れない発話（例えば「じゃあＣＤ聞きたい」）を行った場合は、その発話を認識することができない。一方、Ｎグラム（N-gram）モデルで言語モデルが構築された場合、音声認識装置は、「を  上げ  上げ  下げ」など意味解釈の上で適切でない語順で、誤認識の結果を出力する可能性があり、望ましくない。
【０１０８】
これに対して、本実施形態に係る音声認識システム１は、図３に示す言語モデルを用いて音声認識を行うので、例えば、
「エアコン」「を」「上げ／下げ」「たい」または
「（ＣＤ／ラジオ）」「を」「聞き」「たい」
の順で認識結果を出力することを保証している。さらに、音声認識システム１は、文頭に「じゃあ」などの発話が混在しても、その発話内容を正確に認識することができる。
【０１０９】
以上のように、第１の実施形態に係る音声認識システム１は、不要語や未知語など文法上定型的に記述できない発話現象を確率的なモデルで記述し、意味解釈上重要なキーワード列を文法制約が強いモデルで記述し、これら接続した言語モデルを用いて音声認識を行う。さらに、音声認識システム１は、意味解釈上重要でない語列も不要語や未知語と同様に確率的なモデルで記述している。
【０１１０】
これにより、音声認識システム１は、発話中において特に焦点を当てたい語列（キーワード）については確実に認識することができ、かつ重要性の低い語列については曖昧性をもたせて認識することができる。すなわち、音声認識システム１は、キーワードとして重要な語のつながりをネットワーク文法で記述し、この間に挿入されるキーワード抽出上重要でない語の列を統計的言語モデルで記述することにより、確実にキーワードが存在するように音声認識結果を得ることができる。
【０１１１】
この結果、ドライバが不要語や未知語を含んで発声したり、あるいは多少文法から外れた発話をしても、音声認識システム１は認識に最も必要な語の列を出力することが可能となる。これを音声対話システムに応用することにより、意味解釈においてロバスト性の高い音声対話システムを実現することが可能となる。
【０１１２】
［第２の実施形態］
つぎに、本発明の第２の実施形態について説明する。なお、第１の実施形態と同一の部位には同一の符号を付し、その詳細な説明は省略する。
【０１１３】
第２の実施形態に係る音声認識システム１は、図１に示すように構成され、地図データベース１８に記憶されている地図データと、音声認識部１６で得られたキーワードの認識結果と、に基づいて、レストラン検索又は目的地設定を行う。具体的には、制御部２１は、音声認識部１６によって地名が認識された場合は直接目的地を設定し、料理名が認識された場合はレストランの検索を行う。
【０１１４】
図１０は、言語モデルデータベース１５に記憶された言語モデルを示す図である。なお、本実施形態では、言語モデルは、発話コーパスを用いずに、開発者によって設計されたものとする。
【０１１５】
ここでは、発話プロトコルとして、次の２つを定める。
１．＜地名＞  （へ／に）  行き  たい
２．＜料理＞  を  食べ  たい
【０１１６】
「へ」、「に」、「を」、「行き」、「食べ」、「たい」は、発話プロトコル中に含まれる語である。このため、言語モデルデータベース１５の言語モデルでは、これらの語を第１の語群クラスの語としている。一方、地名に相当する語や料理に相当する語は、語彙数の多い集合名詞である。このため、言語モデルでは、地名や料理に相当する集合名詞を第２の語群クラスの語としている。そして、この順序でネットワーク構成することで、上記の言語モデルが構築されている。
【０１１７】
なお、第２の語群クラスの語は、単位構成としてモーラや音節などのサブワードを用いることにより、より効果的な音声認識を行うことができる。すなわち、集合名詞に対してモーラ単位のモデル化を行うとよい。
【０１１８】
また、第２の語群クラスに属する地名または料理名の生起確率は、それぞれ全国の市町村名リスト、レストラン情報誌などに記載されている店舗のメニュー例リストなどから、第１の実施形態と同様に、モーラの生起確率を計算することによって得られる。
【０１１９】
図１１は、制御部２１が検索実行するときの検索処理ルーチンを示すフローチャートである。なお、ステップＳＴ１からステップＳＴ５までは第１の実施形態と同様であるので、ステップＳＴ５１以降の処理について説明する。
【０１２０】
ステップＳＴ５１では、制御部２１は、音声認識部１６による認識結果の末部に「食べたい」があるかを判定し、肯定判定のときはステップＳＴ５２に移行し、否定判定のときはステップＳＴ５４に移行する。
【０１２１】
ステップＳＴ５２では、制御部２１は、音声認識部１６による認識結果の前部をメニュー名として抽出して、ステップＳＴ５３に移行する。そして、ステップＳＴ５３では、制御部２１は、抽出したメニュー名に対応するレストランを地図データベース１８から検索し、その検索結果の一覧をタッチパネルディスプレイ２２に表示する。
【０１２２】
例えば、音声認識部１６が「イタリア料理を食べたい」という語を認識した場合、制御部２１は、文末の「食べたい」があることを確認し、文の前部にある「イタリア料理」をメニュー名として抽出する。そして、「イタリア料理」を検索キーワードとして有するレストランを地図データベース１８から検索する。
【０１２３】
一方、ステップＳＴ５４では、制御部２１は、音声認識部１６による認識結果の前部を地名名として抽出して、ステップＳＴ５５に移行する。そして、ステップＳＴ５３では、制御部２１は、抽出した地名を地図データベース１８から検索し、その地名を目的地としてタッチパネルディスプレイ２２に表示する。
【０１２４】
したがって、本実施形態に係る音声認識システム１は、音声認識結果中に「行きたい」もしくは「食べたい」が含まれるか否かを判定することで、目的地設定機能またはレストラン検索機能を使用するかを判定することが可能である。
【０１２５】
なお、従来の音声認識装置（例えば、特開２００１−２３６０８９号公報）は、語順による制約が考慮されない認識結果（例えば、「うどん  を  食べ  そば」）を出力する可能性がある。また、地名をネットワーク文法で表した場合、モーラ単位で記述すると、ネットワークの複雑性が爆発的に増大し、単語単位で記述すると語彙の大幅な増加が生じるおそれがある。すなわち、認識性能が大幅に低下することが容易に予想される。
【０１２６】
これに対して、本実施形態に係る音声認識システム１は、地名や料理名等の集合名詞を統計的言語モデルで記述し、その他の部分をネットワーク文法モデルで記述した言語モデルを用いることにより、ネットワークの複雑化や語彙辞書の増大を抑制しつつ、ナビゲーション制御に十分な音声認識結果を得ることができる。
【０１２７】
なお、本発明は、上述した第１及び第２の実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。
【０１２８】
例えば、上述した実施形態では簡単のために省略したが、Ｎグラムモデルと同様に、出現しない組合せの生起確率の推定法としてグッドチューリング法（S.M.Katz, "Estimation of probabilities from sparse data for language model component of a speech recognizer", IEEE Trans. ASPP, Vol.35, pp.400-401(1987)）、解説記事として鹿野清宏他著、「音声認識システム」情報処理学会編他）などを用いることが可能である。
【０１２９】
また、音声認識システム１は、光ディスクまたは磁気ディスクに記録された音声認識プログラムを読み出して上述した処理を実行してもよいし、ＲＯＭ等の半導体メモリに記憶された音声認識プログラムを読み出して上述した処理を実行してもよい。
【０１３０】
さらに、言語モデルの第２の語群クラスに属する語は、第１の語群クラスに属する語以外の語としてもよい。また、第２の語群クラスに属する語の単位は、音節もしくはモーラなどのサブワードとしてもよいし、単語もしくは形態素としてもよい。これらは、択一的に使用されるものではなく、任意の組合せで使用可能である。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施の形態に係る音声認識システムの構成を示すブロック図である。
【図２】タッチパネルディスプレイの一部に表示された操作部を示す図である。
【図３】言語モデルデータベースに記憶された言語モデルを示す図である。
【図４】発話例を体系的に表した図である。
【図５】制御部が機器を制御するときの制御ルーチンを示すフローチャートである。
【図６】音声認識部の音声認識処理ルーチンを示すフローチャートである。
【図７】音声認識処理ルーチンのステップＳＴ１４のサブルーチンを示すフローチャートである。
【図８】音声認識結果の候補（仮説）をノード間が連結されたツリー構造で示した図である。
【図９】図４に示した語群（３）において先行モーラ→後続モーラが出現する回数を表した図である。
【図１０】第２の実施形態に係る言語モデルデータベースに記憶された言語モデルを示す図である。
【図１１】制御部が検索実行するときの検索処理ルーチンを示すフローチャートである。
【符号の説明】
【０１３２】
１１  マイク
１２  ＰＴＴスイッチ
１３  音響分析部
１４  音声認識システム
１５  言語モデルデータベース
１６  音声認識部
１７  ＧＰＳセンサ
１８  地図データベース
１９  空調装置
２０  音響装置
２１  制御部
２１ａ  キーワード抽出部
２２  タッチパネルディスプレイ
２３  音声合成部
２４  スピーカ
【図１】
2005070330.tif 000007
【図２】
2005070330.tif 000008
【図３】
2005070330.tif 000009
【図４】
2005070330.tif 000010
【図５】
2005070330.tif 000011
【図６】
2005070330.tif 000012
【図７】
2005070330.tif 000013
【図８】
2005070330.tif 000014
【図９】
2005070330.tif 000015
【図１０】
2005070330.tif 000016
【図１１】
2005070330.tif 000017