(57)【要約】【課題】計算コストの増加を抑えながら、自動的にドメインを切替えて精度よく音声認識を行なえるようにする。【解決手段】このプログラムにより実現される音声認識装置は、階層化言語モデルを用いるもので、上位層の汎用言語モデルを用いて音声認識を行なう汎用音声認識部２２０と、その認識結果と、下位層のトピック毎の言語モデルとの距離を算出して認識結果のトピックを検出するためのトピック検出部２２２と、選択されたトピックを記憶するためのトピック記憶部２３０と、記憶されたトピックに対応する言語モデルを用いて音声認識を行なうためのトピック別音声認識部２２６と、汎用音声認識部２２０の認識結果とトピック別音声認識部２２６の認識結果のうち、信頼度の高いものを選択する選択部２３６とを含む。【選択図】        図７
2004198597.tif 000002
【特許請求の範囲】
【請求項１】
ツリー構造の各ノードに対応する言語モデルの集合を含む階層的言語モデルを用いた音声認識装置としてコンピュータを動作させるコンピュータプログラムであって、
前記音声認識装置は、
前記ツリー構造のルートノードに対応する言語モデルを用いて入力に対する音声認識を行ない、音声認識の信頼度とともに認識結果を出力するための第１の音声認識手段と、
前記第１の音声認識手段の出力する認識結果と、前記階層的言語モデル中の前記ツリー構造の葉ノードの各々との間で計算される所定の指標に基づき、前記階層的言語モデル中の前記ツリー構造の葉ノードの内のいずれかを選択するための第１のノード選択手段と、
前記第１のノード選択手段により選択された葉ノードを特定する情報を記憶するための記憶手段と、
前記記憶手段に記憶された情報により特定される葉ノードに対応する言語モデルを用いて入力に対する音声認識を行ない、音声認識の信頼度とともに認識結果を出力するための第２の音声認識手段と、
前記第１の音声認識手段から与えられる信頼度と、前記第２の音声認識手段から与えられる信頼度とに基づいて、前記第１の音声認識手段の音声認識結果と前記第２の音声認識手段による音声認識結果とのうち、より高い信頼度に対応するものを選択するための手段とを含む、コンピュータプログラム。
【請求項２】
前記装置はさらに、
前記第１のノード選択手段により選択された葉ノードと、前記記憶手段により記憶された情報により特定される葉ノードとを比較するための比較手段と、
前記比較手段により不一致が検出された事に応答して、前記第１のノード選択手段により選択された葉ノードに対応する言語モデルを用いて、前記第１のノード選択手段により一旦音声認識がされた入力に対し再度音声認識を行ない、音声認識の信頼度とともに認識結果を出力するための第３の音声認識手段と、
前記第１の音声認識手段より与えられる信頼度と、前記第３の音声認識手段から与えられる信頼度とに基づき、前記第１の音声認識手段の音声認識結果と前記第２の音声認識手段による音声認識結果とのうち、より高い信頼度に対応するものを選択するための手段と、
前記比較手段により不一致が検出された事に応答して、前記第１のノード選択手段が選択した葉ノードを特定する情報で前記記憶手段の記憶内容を更新するための手段とを含む、請求項１に記載のコンピュータプログラム。
【請求項３】
前記階層的言語モデルを構成する言語モデルはＮ−グラム言語モデルからなり、
前記第１のノード選択手段は、前記第１の音声認識手段の認識結果の尤度を、前記ツリー構造中の葉ノードの各々に対応する言語モデルに対して算出し、最も高い尤度が得られた葉ノードを選択する、請求項１に記載のコンピュータプログラム。
【請求項４】
前記階層的言語モデルを構成する言語モデルはユニグラム言語モデルである、請求項３に記載のコンピュータプログラム。
【請求項５】
各文は、所定の特徴ベクトルで表され、
前記階層的言語モデルを構成する各言語モデルは、各々特徴ベクトルのベクトル空間を二つの空間に分離する超平面で表され、
前記超平面と前記ベクトル空間内の各点との間では、各点が、前記超平面により分離された二つの空間のうち、予め定められる一方内に位置するか否かに関する信頼度を表す所定の指標の計算方法が定義されており、
前記第１のノード選択手段は、前記第１の音声認識結果の特徴ベクトルと、前記ツリー構造の葉ノードに対応する言語モデルに対応する超平面の各々との間で前記指標を算出し、指標の値が最も高い信頼度を表す言語モデルに対応する葉ノードを選択する、請求項１に記載のコンピュータプログラム。
【請求項６】
前記第１の音声認識手段は、予め定められる複数個の認識結果の候補をそれぞれの信頼度とともに出力し、
前記第１の音声認識手段の認識結果の特徴ベクトルが、前記複数個の認識結果の候補を総合したものに対して算出される、請求項５に記載のコンピュータプログラム。
【請求項７】
前記装置はさらに、
前記記憶手段により選択された葉ノードと前記ルートノードの間に位置する中位のノードを特定するための手段と、
前記中位のノードに対応する言語モデルを用いて入力に対する音声認識を行ない、音声認識の信頼度とともに認識結果を出力するための第３の音声認識手段と、
前記第２の音声認識認識手段から与えられる信頼度と、前記第３の音声認識手段から得られる信頼度とに基づいて、前記第２の音声認識手段の音声認識結果と前記第３の音声認識手段による認識結果とのうち、より高い信頼度に対応するものを選択するための手段を含む、請求項１に記載のコンピュータプログラム。
【請求項８】
複数個のトピックに分類された文を含むコーパスから、階層化された言語モデルを作成する方法を実現する様にコンピュータを動作させるコンピュータプログラムであって、
前記方法は、
ルートノードと、前記複数個のトピックに対応する複数個の葉ノードとからなるツリー構造を準備するステップと、
前記複数個の葉ノードのうちの第１のノードを選択するステップと、
前記第１のノードに対応する第１のトピックに対し、予め定められる方法により対応するトピック間で計算される距離が最も小さくなる第２のトピックを求めるステップと、
前記第１のトピックと、前記第２のトピックとの間デ計算された距離が予め定められたしきい値より小さいか否かを判定するステップと、
前記判定するステップで、前記第１のトピックと第２のトピックとの間の距離が予め定められたしきい値より小さいと判定された事に基づいて、前記第１のノードと、前記第２のトピックに対応する第２のノードとに共通する親ノードを前記ツリー構造に追加するステップと、
前記第１のノードを以後のノードの探索の対象から除くステップと、
前記選択するステップと、前記求めるステップと、前記判定するステップと、前記追加するステップと、前記除くステップとを、予め定められた条件が成立するまで繰り返し実行するステップとを含む、コンピュータプログラム。
【請求項９】
前記距離は、以下の式により算出されるＤｉｓｔUNI（Ｃi，Ｃj）により表され、
【数１】
2004198597.tif 000012
ただし、Ｃi，Ｃjはそれぞれｉ番目のトピッククラスおよびｊ番目のトピッククラス、ＴCkはｋ番目のトピックに属する文の集合、ＭCkはｋ番目のトピックに属する文の集合から得られた言語モデル、ＰＰ（ＴCi、ＭCj）はｉ番目のトピックに属する文の集合内の各文とｊ番目の言語モデルＭCjとの間で計算されるパープレキシティである、請求項８に記載のコンピュータプログラム。
【請求項１０】
前記言語モデルはユニグラムの言語モデルである、請求項９に記載のプログラム。
【請求項１１】
前記コーパス内の各文は所定の特徴ベクトルで表され、
前記モデルは前記特徴ベクトルのベクトル空間内においてサポートベクトルマシン（ＳＶＭ）により求められる超平面により表され、
前記距離は、以下の式ＤｉｓｔSVM（Ｃi，Ｃj）により算出され、
【数２】
2004198597.tif 000013
である、請求項８に記載のコンピュータプログラム。
【請求項１２】
複数個のトピックに分類された文を含むコーパスの各文を、音声認識のために再度複数個のトピックに分類するための文分類装置としてコンピュータを動作させるコンピュータプログラムであって、
前記文分類装置は、
前記コーパスの前記複数個のトピックに分類された文の集合に対して予め定められた方法により、前記複数個のトピックにそれぞれ対応した複数個の言語モデルを作成するための言語モデル作成手段と、
前記コーパス内の各文と、前記言語モデル作成手段により作成された前記複数個の言語モデルとの間で予め定義される距離を算出するための距離算出手段と、
前記コーパス内の各文を、前記距離算出手段により算出された距離が最も小さい言語モデルに対応するトピックに分類するための分類手段と、
予め定められた条件が満足されるまで、前記言語モデル作成手段、前記距離算出手段、および前記分類手段が繰り返し動作する様に制御するための繰り返し制御手段とを含む、コンピュータプログラム。
【請求項１３】
前記制御手段は、前記分類手段による分類結果が収束するまで、前記言語モデル作成手段、前記距離算出手段、および前記分類手段が繰り返し動作する様に制御するための手段を含む、請求項１２に記載のコンピュータプログラム。
【請求項１４】
前記制御手段は、所定の回数だけ繰り返しが行なわれるまで、前記言語モデル作成手段、前記距離算出手段、および前記分類手段が繰り返し動作する様に制御するための手段を含む、請求項１２に記載のコンピュータプログラム。
【請求項１５】
前記距離算出手段は、文ｔと言語モデルＭiとの距離Ｄｉｓｔ（Ｍi，ｔ）を、文ｔと言語モデルＭiとの間で計算されるパープレキシティＰＰ（Ｍi，ｔ）により算出する、請求項１２に記載のコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は音声認識技術に関し、特に、種々のドメインに応じて適切な言語モデルを用いて音声認識を行なう事により認識の精度を向上させる事ができる音声認識のためのコンピュータプログラムに関する。
【０００２】
【従来の技術】
近年、電話と自動音声認識（ＡＳＲ）とを用いた自動対話システムが広い範囲で使用される様になっている。そのための技術で現在重要と思われるのは、ユーザが複数のドメインの情報にアクセスできる様にする事で自動対話システムの適用範囲を広げ、使い勝手を向上させるための技術である（後掲の非特許文献１を参照されたい。）。ここで「ドメイン」とは、対話が想定される種々の状況を分類する概念である。これは、いわゆる「トピック」という概念と同様であると考えると分かりやすい。たとえば旅行用の英会話のテキストブックでは、会話が行なわれる場面として「空港」、「ショッピング」、「両替」、「駅で」等というトピックに分けて、それらトピックでよく使われる例文をまとめて掲げている事が多い。こうした「トピック」と類似したものとしてドメインを考える事が多い。ただし、旅行用の英会話のテキストは、それ自体「海外旅行」という場面を想定している。この様に複数のトピックをまとめて一つの状況と捕らえる事もでき、それらも「ドメイン」とする事ができる。従ってドメインとは階層的な概念でもある。
【０００３】
複数ドメインにわたって音声認識を行なう場合、トピックごとの言語モデルを用いる事により音声認識システムの精度と効率とがともに向上する事が知られている。こうしたアプローチは、開発のモジュール性を考える上で都合がよい。なぜなら、新しいドメインをシステムに追加しても、既に存在しているドメインにおける精度には影響を与えないからである。トピックごとの言語モデルを、以下「トピック毎の言語モデル」（ｔｏｐｉｃ−ｄｅｐｅｎｄｅｎｔ  ｌａｎｇｕａｇｅ  ｍｏｄｅｌ：ＴＤ−ＬＭ）と呼ぶ。
【０００４】
こうしたＴＤ−ＬＭを用いる従来の対話システムでは、主としてシステムが主導権を握る方式が採用されている。これについてはたとえば後掲の非特許文献２を参照されたい。これらシステムは、ユーザに各種の指示を出し、システムの内部状態に基づいて適切と判断された言語モデル（以下「ＬＭ」と呼ぶ。）を適用する。こうしたシステムではユーザが主導権を握る事はできず、従ってその使い勝手はよくない。ユーザがドメインを変更できる様にする事で使い勝手は向上すると考えられる。しかしその場合でもユーザは、特定のドメインに関する問合せを行なう場合、その前に明示的に必要なドメインを指定しなければならない。
【０００５】
電話の自動受付システムでは（非特許文献３を参照されたい。）、ユーザが最初に発した音声に対する音声認識の結果からトピックを検出する処理を行なう事で、明示的にではなくトピックが指定される。対話システムでも、同様の技術を用いて必要とされるドメインを自動的に判定する事ができる。連続する発話は同一のトピックのものである場合が多いので、ＴＤ−ＬＭを用いた効果が期待できる。
【０００６】
ＴＤ−ＬＭを用いて精度を向上させるシステムとして、京都大学で開発されたものがある。このシステムでは、複数種類のＴＤ−ＬＭと、それらを用いて音声認識を行なう複数の音声認識装置とを予め用意し、入力される音声に対しこれら複数の音声認識装置を並列に動作させる。そして、これらから得られた複数の結果のうち、音声認識スコアが最も高いものを選択して出力する。音声認識スコアとは、音声認識装置の内部で複数の認識結果の候補から音声認識結果を選択する際に計算されるスコアの事であり、音声認識結果に付随して得る事ができるものである。
【０００７】
【非特許文献１】
Ｓ．スネフ、Ｒ．ラウ、Ｊ．ポリフローニ著、「Ｇａｌａｘｙ−ＩＩ会話システムの編成、通信、および制御」、ユーロスピーチ予稿集、１９９９年（Ｓ．Ｓｅｎｅｆｆ，Ｒ．Ｌａｕ，Ｊ．Ｐｏｌｉｚｆｏｎｉ，"Ｏｒｇａｎｉｚａｔｉｏｎ，Ｃｏｍｍｕｎｉｃａｔｉｏｎ，ａｎｄ  Ｃｏｎｔｒｏｌ  ｉｎ  ｔｈｅ  Ｇａｌａｘｙ−ＩＩ  Ｃｏｎｖｅｒｓａｔｉｏｎａｌ  Ｓｙｓｔｅｍ”，Ｐｒｏｃ．Ｅｕｒｏｓｐｅｅｃｈ，１９９９．）
【非特許文献２】
Ｆ．ウェセル、Ａ．バーダー著、「１点排除推定を用いたロバストな対話状態依存の言語モデリング」、ＩＣＡＳＳＰ予稿集第２巻、７４１−７４４頁、１９９９年（Ｆ．Ｗｅｓｓｅｌ，Ａ．Ｂａａｄｅｒ，”Ｒｏｂｕｓｔ  Ｄｉａｌｏｇｕｅ−Ｓｔａｔｅ  Ｄｅｐｅｎｄｅｎｔ  Ｌａｎｇｕａｇｅ  Ｍｏｄｅｌｉｎｇｕｓｉｎｇ  Ｌｅａｖｉｎｇ−Ｏｎｅ−Ｏｕｔ”，Ｐｒｏｃ．ＩＣＡＳＳＰ  Ｖｏｌ．２，１９９９．）
【非特許文献３】
Ｇ．リッカルディ、Ａ．ゴーリン、Ａ．リヨリエ、Ｍ．ライリー著、「自動電話受付のための話し言葉システム」、ＩＣＡＳＳＰ予稿集、第２巻、１１４３−１１４６頁、１９９７年（Ｇ．Ｒｉｃｃａｒｄｉ，Ａ．Ｇｏｒｉｎ，Ａ．Ｌｊｏｌｉｅ，Ｍ．Ｒｉｌｅｙ、”Ａ  ｓｐｏｋｅｎ  Ｌａｎｇｕａｇｅ  Ｓｙｓｔｅｍ  ｆｏｒ  Ａｕｔｏｍａｔｅｄ  Ｃａｌｌ  Ｒｏｕｔｉｎｇ”，Ｐｒｏｃ．ＩＣＡＳＳＰ，Ｖｏｌ．２，ｐｐ．１１４３−１１４６，１９９７）
【非特許文献４】
Ｔ．タケザワ、Ｅ．スミタ、Ｆ．スガヤ、Ｈ．ヤマモト、Ｓ．ヤマモト著、「実世界における旅行会話の音声翻訳のための大規模バイリンガルコーパスに向けて」、ＬＲＥＣ２００２、１４７−１５２頁、２００２年（Ｔｏｗａｒｄｓ  ａＢｒｏａｄ−ｃｏｖｅｒａｇｅ  Ｂｉｌｉｎｇｕａｌ  Ｃｏｒｐｕｓ  ｆｏｒＳｐｅｅｃｈ  Ｔｒａｎｓｌａｔｉｏｎ  ｏｆ  Ｔｒａｖｅｌ  Ｃｏｎｖｅｒａｓｔｉｏｎ  ｉｎ  ｔｈｅ  Ｒｅａｌ  Ｗｏｒｌｄ”，ＬＲＥＣ  ２００２，ｐｐ．１４７−１５２，２００２．）
【発明が解決しようとする課題】
しかし、京都大学で開発された方式では、ドメインの数に応じた数の音声認識装置を並列に動作させる必要がある。そのため、ドメインの数が増えるたびに、システムのリソースを追加する必要があり計算コストが増えるという問題がある。また、こうしたシステムでは、ユーザの最初の発話からそれ以後の対話のトピックを同定する必要がある。そのため、できるだけトピック同定の精度を高めるとともに、万が一正確にトピックを同定できないおそれがある場合にも、できるだけ大きな誤りを生じない様なロバスト性が望まれる。特にドメインの切替が生じた場合、こうした問題が生じ易い。
【０００８】
それ故に本発明の目的は、計算コストの増加を抑えながら、自動的にドメインを切替えて、ドメインごとに精度よく音声認識を行なう事ができる音声認識装置のためのコンピュータプログラムを提供する事である。
【０００９】
本発明の他の目的は、自動的にドメインを切替える事でドメインごとに精度よく音声認識を行なう事ができ、なおかつ対象となるドメイン数が増加しても計算コストの増大を招かない音声認識装置のためのコンピュータプログラムを提供する事である。
【００１０】
本発明のさらに他の目的は、自動的にドメインを切替える事でドメインごとに精度よく音声認識を行なう事ができ、ドメインの切替の際に生じ得るエラーの影響をできるだけ小さく抑える事ができる、ロバスト性の高い音声認識装置のためのコンピュータプログラムを提供する事である。
【００１１】
【課題を解決するための手段】
この発明の第１の局面に係るコンピュータプログラムは、ツリー構造の各ノードに対応する言語モデルの集合を含む階層的言語モデルを用いた音声認識装置としてコンピュータを動作させるためのコンピュータプログラムである。この音声認識装置は、ツリー構造のルートノードに対応する言語モデルを用いて入力に対する音声認識を行ない、音声認識の信頼度とともに認識結果を出力するための第１の音声認識手段と、第１の音声認識手段の出力する認識結果と、階層的言語モデル中のツリー構造の葉ノードの各々との間で計算される所定の指標に基づき、階層的言語モデル中のツリー構造の葉ノードの内のいずれかを選択するための第１のノード選択手段と、第１のノード選択手段により選択された葉ノードを特定する情報を記憶するための記憶手段と、記憶手段に記憶された情報により特定される葉ノードに対応する言語モデルを用いて入力に対する音声認識を行ない、音声認識の信頼度とともに認識結果を出力するための第２の音声認識手段と、第１の音声認識手段から与えられる信頼度と、第２の音声認識手段から与えられる信頼度とに基づいて、第１の音声認識手段の音声認識結果と第２の音声認識手段による音声認識結果とのうち、より高い信頼度に対応するものを選択するための手段とを含む。
【００１２】
好ましくは、装置はさらに、第１のノード選択手段により選択された葉ノードと、記憶手段により記憶された情報により特定される葉ノードとを比較するための比較手段と、比較手段により不一致が検出された事に応答して、第１のノード選択手段により選択された葉ノードに対応する言語モデルを用いて、第１のノード選択手段により一旦音声認識がされた入力に対し再度音声認識を行ない、音声認識の信頼度とともに認識結果を出力するための第３の音声認識手段と、第１の音声認識手段より与えられる信頼度と、第３の音声認識手段から与えられる信頼度とに基づき、第１の音声認識手段の音声認識結果と第２の音声認識手段による音声認識結果とのうち、より高い信頼度に対応するものを選択するための手段と、比較手段により不一致が検出された事に応答して、第１のノード選択手段が選択した葉ノードを特定する情報で記憶手段の記憶内容を更新するための手段とを含んでもよい。
【００１３】
さらに、階層的言語モデルを構成する言語モデルはＮ−グラム言語モデルからなり、第１のノード選択手段は、第１の音声認識手段の認識結果の尤度を、ツリー構造中の葉ノードの各々に対応する言語モデルに対して算出し、最も高い尤度が得られた葉ノードを選択する様にしてもよい。
【００１４】
好ましくは、階層的言語モデルを構成する言語モデルはユニグラム言語モデルである。
【００１５】
さらに好ましくは、各文は、所定の特徴ベクトルで表され、階層的言語モデルを構成する各言語モデルは、各々特徴ベクトルのベクトル空間を二つの空間に分離する超平面で表され、超平面とベクトル空間内の各点との間では、各点が、超平面により分離された二つの空間のうち、予め定められる一方内に位置するか否かに関する信頼度を表す所定の指標の計算方法が定義されており、第１のノード選択手段は、第１の音声認識結果の特徴ベクトルと、ツリー構造の葉ノードに対応する言語モデルに対応する超平面の各々との間で指標を算出し、指標の値が最も高い信頼度を表す言語モデルに対応する葉ノードを選択する。
【００１６】
第１の音声認識手段は、予め定められる複数個の認識結果の候補をそれぞれの信頼度とともに出力し、第１の音声認識手段の認識結果の特徴ベクトルが、複数個の認識結果の候補を総合したものに対して算出される様にしてもよい。
【００１７】
好ましくは、装置はさらに、記憶手段により選択された葉ノードとルートノードの間に位置する中位のノードを特定するための手段と、中位のノードに対応する言語モデルを用いて入力に対する音声認識を行ない、音声認識の信頼度とともに認識結果を出力するための第３の音声認識手段と、第２の音声認識認識手段から与えられる信頼度と、第３の音声認識手段から得られる信頼度とに基づいて、第２の音声認識手段の音声認識結果と第３の音声認識手段による認識結果とのうち、より高い信頼度に対応するものを選択するための手段を含んでもよい。
【００１８】
この発明の第２の局面に係るコンピュータプログラムは、複数個のトピックに分類された文を含むコーパスから、階層化された言語モデルを作成する方法を実現する様にコンピュータを動作させるコンピュータプログラムである。この方法は、ルートノードと、複数個のトピックに対応する複数個の葉ノードとからなるツリー構造を準備するステップと、複数個の葉ノードのうちの第１のノードを選択するステップと、第１のノードに対応する第１のトピックに対し、予め定められる方法により対応するトピック間で計算される距離が最も小さくなる第２のトピックを求めるステップと、第１のトピックと、第２のトピックとの間デ計算された距離が予め定められたしきい値より小さいか否かを判定するステップと、判定するステップで、第１のトピックと第２のトピックとの間の距離が予め定められたしきい値より小さいと判定された事に基づいて、第１のノードと、第２のトピックに対応する第２のノードとに共通する親ノードをツリー構造に追加するステップと、第１のノードを以後のノードの探索の対象から除くステップと、選択するステップと、求めるステップと、判定するステップと、追加するステップと、除くステップとを、予め定められた条件が成立するまで繰り返し実行するステップとを含む。
【００１９】
好ましくは、距離は、以下の式により算出されるＤｉｓｔUNI（Ｃi，Ｃj）により表され、
【００２０】
【数３】
2004198597.tif 000003
ただし、Ｃi，Ｃjはそれぞれｉ番目のトピッククラスおよびｊ番目のトピッククラス、ＴCkはｋ番目のトピックに属する文の集合、ＭCkはｋ番目のトピックに属する文の集合から得られた言語モデル、ＰＰ（ＴCi、ＭCj）はｉ番目のトピックに属する文の集合内の各文とｊ番目の言語モデルＭCjとの間で計算されるパープレキシティである。
【００２１】
言語モデルはユニグラムの言語モデルでもよい。
【００２２】
好ましくは、コーパス内の各文は所定の特徴ベクトルで表され、モデルは特徴ベクトルのベクトル空間内においてサポートベクトルマシン（ＳＶＭ）により求められる超平面により表され、距離は、以下の式ＤｉｓｔSVM（Ｃi，Ｃj）により算出され、
【００２３】
【数４】
2004198597.tif 000004
である。
【００２４】
この発明の第３の局面に係るコンピュータプログラムは、複数個のトピックに分類された文を含むコーパスの各文を、音声認識のために再度複数個のトピックに分類するための文分類装置としてコンピュータを動作させるコンピュータプログラムである。この文分類装置は、コーパスの複数個のトピックに分類された文の集合に対して予め定められた方法により、複数個のトピックにそれぞれ対応した複数個の言語モデルを作成するための言語モデル作成手段と、コーパス内の各文と、言語モデル作成手段により作成された複数個の言語モデルとの間で予め定義される距離を算出するための距離算出手段と、コーパス内の各文を、距離算出手段により算出された距離が最も小さい言語モデルに対応するトピックに分類するための分類手段と、予め定められた条件が満足されるまで、言語モデル作成手段、距離算出手段、および分類手段が繰り返し動作する様に制御するための繰り返し制御手段とを含む。
【００２５】
好ましくは、制御手段は、分類手段による分類結果が収束するまで、言語モデル作成手段、距離算出手段、および分類手段が繰り返し動作する様に制御するための手段を含んでもよい。
【００２６】
さらに好ましくは、制御手段は、所定の回数だけ繰り返しが行なわれるまで、言語モデル作成手段、距離算出手段、および分類手段が繰り返し動作する様に制御するための手段を含む。
【００２７】
距離算出手段は、文ｔと言語モデルＭiとの距離Ｄｉｓｔ（Ｍi，ｔ）を、文ｔと言語モデルＭiとの間で計算されるパープレキシティＰＰ（Ｍi，ｔ）により算出してもよい。
【００２８】
【発明の実施の形態】
［第１の実施の形態］
−音声認識システムの全体構成−
図１に、本発明の第１の実施の形態に係る音声認識システムの全体構成を示す。図１を参照して、このシステムは、後述する階層的言語モデルを構築するための言語モデル作成装置１０と、言語モデル作成装置１０により構築された階層的言語モデルを用いて音声認識を行なう音声認識装置１４とを含む。言語モデル作成装置１０と音声認識装置１４とは互いに別個の装置である。従って言語モデル作成装置１０と音声認識装置１４とが全く異なる場所に配置されていてもよいし、同じ装置の中に配置されていてもよい。なお、本実施の形態のシステムでは、音声認識のための言語モデルとしてはトライグラムのものを用い、トピック検出のための言語モデルとしてはユニグラムのものを用いる。
【００２９】
一般的にＮ−グラムの言語モデルとは、特定のＮ個の単語が連続して現れる確率により表現されるモデルである。ユニグラムとはＮ＝１としたものであり、各単語の単独での生起確率である。
【００３０】
言語モデル作成装置１０により構築された階層的言語モデルは、たとえばＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２等の記録媒体に記録されて音声認識装置１４に供給され、音声認識装置１４内部の記憶装置、たとえばハードディスク等にコピーされ後述する様に音声認識に用いられる。
【００３１】
−言語モデル作成装置１０の構成−
言語モデル作成装置１０は、それぞれ人手により予めトピックのタグ付けがされた文の集合からなる、トレーニングセットとして用いられるトピック分類済コーパス３０と、このトピック分類済コーパス３０から階層的言語モデル３４を作成するための階層的言語モデル作成部３２とを含む。一般的には、トピック分類済コーパス３０は交換可能であり、最終的に行なわれる音声認識装置１４の用途に応じて適切なものを用いる事ができる。
【００３２】
音声認識装置１４は、ＣＤ−ＲＯＭ１２等の記録媒体に記録された階層的言語モデルを格納するための、ハードディスク等からなる階層的言語モデル記憶装置４０と、電話線を介して与えられるユーザからの音声入力１６に対し、階層的言語モデルを用いてユーザの発話の内容を音声認識し、認識結果を出力するための音声認識部４２と、音声認識部４２から出力される音声認識の結果を受け、予め定められた応答の手順に従ってユーザに返すべき応答の音声メッセージを作成し、応答出力１８として電話線を介してユーザに送出するための応答作成部４４とを含む。
【００３３】
図２は、階層的言語モデル３４の詳細を模式的に示す図である。図２を参照して、本実施の形態に係る階層的言語モデル３４は、最も細分化されたトピックごとに作成されたトピック毎の言語モデル１００〜１２２からなる最下層の言語モデル６４と、トピック毎の言語モデル１００〜１２２のうち、互いに近い関係にある二つの言語モデルをまとめた言語モデル８０〜９２からなる中位層の言語モデル６２と、すべての言語モデルを統合したものである最上層の言語モデル６０とを含む。
【００３４】
最下層の言語モデル６４に含まれるトピック毎の言語モデル１００〜１２２は各々、トピック分類済コーパス３０に含まれる文のうち、特定のトピックのタグが付された文の集合から作成された言語モデルである。たとえばトピック毎の言語モデル１００は「両替」というトピックのタグが付された文の集合から作成された言語モデルであり、トピック毎の言語モデル１０２は「ショッピング」というトピックが付された文の集合から作成された言語モデルであり、以下同様である。ただし、後述する様に本実施の形態では、トピック分類済コーパス３０の各文にはトピックの再割当処理が行なわれ、再割当がされたトピックに基づいて最下層の言語モデル６４内の各言語モデル１００〜１２２が作成される。従って、トピック分類済コーパス３０で各文に付されたトピックのタグがそのまま最下層の言語モデル６４に含まれるトピック毎の言語モデル１００〜１２２の作成にそのまま使用されるわけではない。
【００３５】
中位層の言語モデル６２に含まれる言語モデル８０〜９２は、最下層の言語モデル６４に含まれるトピック毎の言語モデル１００〜１２２のうち、互いに最も「近い」と思われる言語モデル同士を統合したものである。この場合の言語モデル同士の「距離」については後述する。たとえば第１の中位層言語モデル８０は、「両替」というトピックのタグが付された文の集合と、それに近いトピックである「ショッピング」というタグが付された文の集合との和集合から作成された言語モデルであり、第２の中位層言語モデル８２は、「ショッピング」というトピックのタグが付された文の集合と、それに近いトピックである「飲食」というタグが付された文の集合との和集合から作成された言語モデルであり、以下同様である。
【００３６】
この様にして作成された中位層の言語モデルは、トピック検出の際に最も混同されやすいトピックをまとめたものに対応する。従って、階層構造の中では、上層に行くほど多くの数のトピックをカバーし、トピックには依存しないものとなる。そのため、上層の言語モデルを用いるほどトピックの検出は容易になるが、それに伴い認識精度は低下する。
【００３７】
最後に、最上層の言語モデル６０は汎用言語モデル７０を含む。汎用言語モデル７０は、トピック分類済コーパス３０に含まれる全ての文の集合から得られる言語モデルである。この汎用言語モデル７０は、すべてのトピックをカバーしているため、本実施の形態ではトピックの同定に用いられる。
【００３８】
以上の様に階層的言語モデル３４は、最も細分化されたトピックごとの文の集合から得られたトピック毎の言語モデル１００〜１２２と、それら言語モデル１００〜１２２のうち、互いに「近い」言語モデルを統合した中位層言語モデル８０〜９２と、全ての文の集合から得られた汎用言語モデル７０とからなる３層の階層構造をなしている。もちろん、本発明の階層的言語モデルは３層のものには限定されない。これはあくまで一例である。
【００３９】
これら階層構造内の下層の言語モデルを用いると、適切な言語モデルを選択しさえすれば精度よく音声認識を行なう事ができる。ただし、誤った言語モデルを選択した場合、音声認識の誤りは大きくなる。すなわち、下層の言語モデルでは、音声認識の精度は上がるが、誤りに対するマージンは小さくなる。一方、中位層の言語モデル６２の言語モデルを用いると、適切な言語モデルを選択すればある程度の精度で音声認識が行なえるが、その精度は最下層の言語モデル６４中の適切なものを用いた場合には及ばない。しかし、誤った言語モデルが選択される危険性は最下層の言語モデル６４の場合よりも小さいので、誤りに対するマージンはより大きくなる。最上層の言語モデル６０を用いると、精度は最も低くなるが、誤りに対するマージンは最も大きくなる。
【００４０】
図３は、階層的言語モデル作成部３２の構成を示すブロック図である。図３を参照して、階層的言語モデル作成部３２は、トピック分類済コーパス３０の各文に対して、音声認識という局面から考えてできるだけ精度が高くなる様にトピックのタグを再割当し、再割当されたトピック毎に言語モデルを作成してトピック再分類済言語モデル１４２を作成するためのトピック再分類部１４０と、トピック再分類済言語モデル１４２に含まれるトピック毎の言語モデルのうち、距離の近いものをまとめ（「クラスタ化する」と呼ぶ。）るクラスタリング処理を行なって階層的言語モデル３４を作成するためのトピッククラスタリング部１４４とを含む。
【００４１】
図４に、トピック再分類部１４０が行なうトピック再分類の方法を模式的に示す。図４を参照して、トピック分類済コーパス３０がＮ個のトピック別の文の集合Ｔ1〜ＴNに分類されていたものとする。これら各集合Ｔ1〜ＴNのそれぞれに含まれる文から、言語モデルＭ1〜ＭNからなる第１次の言語モデル群１６２を作成する事ができる。次に、トピック分類済コーパス３０に含まれる各文が、第１次の言語モデル群１６２に含まれる言語モデルＭ1〜ＭNのいずれと最も「近い」かを計算し、最も近い言語モデルに対応するトピックのラベルをその文に再割当する。この処理により第１次のトピック再割当後のコーパス１６４が作成される。第１次のトピック再割当後のコーパス１６４は、再割当されたトピック別の文の集合Ｔ’1〜Ｔ’Nを含む。
【００４２】
次に、この第１次のトピック再割当後のコーパス１６４に含まれる各トピック別の文の集合Ｔ’1〜Ｔ’Nから、言語モデルＭ’1〜Ｍ’Nからなる第２次の言語モデル群１６６を作成する事ができる。同様にして、第２次の言語モデル群１６６を用いて第２次のトピック再割当後のコーパス１６８を作成できる。第２次のトピック再割当後のコーパス１６８は、第１次のトピック再割当後のコーパス１６４と同様に再割当されたトピック別の文の集合Ｔ”1〜Ｔ”Nを含む。
【００４３】
次に、この第２次のトピック再割当後のコーパス１６８に含まれる各トピック別の文の集合Ｔ”1〜Ｔ”Nから、言語モデルＭ”1〜Ｍ”Nからなる第３次の言語モデル群１７０を作成する事ができる。以下同様にして、引き続き各文にトピックを再割当し、それぞれのトピックに対応した言語モデルを作成する処理を行なう事ができる。こうした処理を、たとえば分類結果が収束するまで繰り返し行なうか、または予め定められた回数だけ行ない、その結果得られたものをトピック再分類済コーパス１４２（図３）とする。本実施の形態では、分類結果が収束するまで上記した繰り返しを行なう。
【００４４】
なお、本実施の形態では、言語モデルと文との間の「距離」として、パープレキシティを用いる。この場合、文ｔと言語モデルＭiとの間の距離Ｄｉｓｔ（Ｍi，ｔ）＝ＰＰ（Ｍi，ｔ）と表す事ができる。ここでは「ＰＰ」は言語モデルＭiと文ｔとの間のパープレキシティを表す。この場合、ある文ｔに再割当されるトピックは、次の式によって定められる言語モデルに対応するものとなる。
【００４５】
【数５】
2004198597.tif 000005
つまり、ある文と全ての言語モデルとの間のパープレキシティを計算し、最も小さなパープレキシティを与えた言語モデルを選び、その言語モデルに対応するトピックをその文に割当てる。
【００４６】
図５に、トピック再分類部１４０が行なうトピック再分類の処理を、コンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により実行されるプログラムで実現する場合の、プログラムの制御の流れをフローチャート形式で示す。図５を参照して、このトピック再分類処理は、最初にトピック分類済コーパス３０からトピック毎の言語モデルからなる第１次の言語モデル群１６２を作成するステップ１８０と、直前の処理で作成された言語モデル群を用い、コーパス内の全文についてトピックを再割当するステップ１８２と、トピックの再割当後のコーパスの、各トピックに属する文の集合からトピック別の言語モデルを作成するステップ１８４と、こうして作成された言語モデルが収束したか否かを判定するステップ１８６とを含む。ステップ１８６で言語モデルが収束したと判定された場合にはこの処理を終了し、さもなければ制御をステップ１８２に戻す。
【００４７】
図６に、図３に示したトピッククラスタリング部１４４が行なうクラスタリング処理を、コンピュータのＣＰＵにより実行されるプログラムで実現した場合のプログラムの制御の流れをフローチャート形式で示す。
【００４８】
以後の処理は、階層的言語モデルを作成するためのものであるが、最終的にこの階層的言語モデルはツリー構造で表される。最終的に得られるツリー構造のルートノードは汎用言語モデルであり、葉ノードは各トピックに対応する。以下の処理は、これら葉ノードから出発してルートノードとの間に中間のノードを追加していく処理と考える事ができる。
【００４９】
図６を参照して、この処理では、最初に繰り返し変数ｉに０を代入する（ステップ１９０）。続いて変数ｉに１を加算する（ステップ１９２）。変数ｉにより、処理対象となる葉ノードが決まるので、ここでの処理は処理対象となる葉ノードを選択する事を意味する。続いて変数ｉの値が最大値（トレーニングセットであるコーパス中のトピックの総数）と等しいか否かを判定する（ステップ１９４）。変数ｉの値が最大値と等しければ処理を終了する。
【００５０】
ステップ１９４の判定の結果、変数ｉの値が最大値より小さい場合、ｉ番目の葉ノードに対応するトピッククラスＣiが処理対象に選択される。ステップ１９６で、このｉ番目のトピッククラスＣiとの間の距離ＤｉｓｔUNI（ｉ，ｊ）が最小となる様な他のトピックを探す。本実施の形態では、ｉ番目のトピッククラスＣiの言語モデルとｊ番目のトピッククラスＣjの言語モデルとの間の距離ＤｉｓｔUNI（Ｃi，Ｃj）は正規化されたクロス−パープレキシティであり、以下の式により計算する。
【００５１】
【数６】
2004198597.tif 000006
ただし、ＴCkはｋ番目のトピックに属する文の集合であり、ＭCkはｋ番目のトピックに属する文の集合から得られたユニグラムモデルであり、ＰＰ（ＴCi、ＭCj）はｉ番目のトピックに属する文の集合内の各文とｊ番目のモデルＭCjとの間で計算されるパープレキシティである。
【００５２】
こうして求めたトピックがｊ番目のトピックであるとする。ステップ１９８で、距離ＤｉｓｔUNI（Ｃi，Ｃj）が所定のしきい値を下回っているか否かを判定する。この判定の結果がＹＥＳであればステップ２００でｉ番目のトピックに対応するノードおよびｊ番目のトピックに対応するノードに共通する親ノードをツリー構造に追加し、制御はステップ１９２に戻る。ステップ１９８の判定の結果がＮＯであればステップ２００の処理は行なわれずに制御はステップ１９２に戻る。
【００５３】
以上の処理を繰り返し行ない、ステップ１９４での判定結果がＹＥＳとなった時点で階層的言語モデル３４に対応するツリー構造が完成している。この後、本実施の形態では、こうして作成されたツリー構造の各ノード毎に言語モデルを作成すればよい。
【００５４】
階層的言語モデルを作成するための言語モデル作成装置１０は、以上の様な構成を有する。なお、この言語モデル作成装置１０は実際には一般的なコンピュータによって実現する事が通常である。その場合、上記した処理は、コンピュータのハードウェア、およびコンピュータのＣＰＵにより実行されるソフトウェアにより実現される。そうしたプログラムは、ＣＤ−ＲＯＭ１２と同様に記録媒体に記録されて流通する事もあり得るし、ネットワークを介してコンピュータ間で転送される事もあり得る。
【００５５】
−音声認識装置１４の構成−
次に、音声認識装置１４の構成について説明する。音声認識装置１４に含まれる要素のうち、階層的言語モデル記憶装置４０自体は前述した通り一般的な記憶装置であり、またそこに記憶される階層的言語モデルについては既に述べた。また、応答作成部４４は本発明の要部とは直接は関係しない。従って、階層的言語モデル記憶装置４０および応答作成部４４の詳細についてはここでは説明しない。以下、音声認識部４２の詳細について述べる。
【００５６】
図７は、音声認識部４２の構成を示すブロック図である。図７を参照して、音声認識部４２は、階層的言語モデル記憶装置４０に含まれる汎用言語モデル７０を用いて図１に示す音声入力１６に対する音声認識を行ない、認識結果のうちベストスコアを示した一つ（「１−ベスト」と呼ぶ。）を、音声認識結果の信頼度を表すスコアとともに出力するための汎用音声認識部２２０と、汎用音声認識部２２０の出力および階層的言語モデルに基づいてトピックを検出するためのトピック検出部２２２と、トピック検出部２２２により検出されたトピックを特定する情報を記憶するためのトピック記憶部２３０と、階層的言語モデル記憶装置４０からトピック記憶部２３０に記憶されているトピックに対応した言語モデルを選択して読出すための選択部２２８と、選択部２２８により選択された言語モデルを用いて音声入力１６に対する音声認識を行ない、結果をスコアとともに出力するためのトピック別音声認識部２２６と、トピック検出部２２２により新たに検出されたトピックと、トピック記憶部２３０に記憶されているトピックとを比較し、比較結果信号２４２を出力するためのトピック比較部２３８とを含む。
【００５７】
トピック検出部２２２は、汎用音声認識部２２０から出力される認識結果の対数尤度（音響スコアと、トライグラムで表された言語モデルによる言語スコアから計算）を、トライグラムで表された言語モデルに替えて最下層の言語モデル６４内の各トピック毎の言語モデル１００〜１２２を用いて再計算し、最も高い尤度を示した言語モデルに対応するトピックを認識結果のトピックとして選択する。すなわち、階層的言語モデルのツリー構造の葉ノードのうち、最も高い尤度を示した言語モデルに対応する葉ノードを特定する。なお、汎用音声認識部２２０の出力のうち上位のＮ個（「Ｎ−ベスト」と呼ぶ。）を用いて同様の方法でトピックを検出する事も考えられるが、１−ベストを用いた場合と比較して特にトピック検出の上で精度が向上する事はなかった。
【００５８】
音声認識部４２はさらに、トピック検出部２２２により検出された新たなトピックに対応する言語モデルを階層的言語モデル記憶装置４０から選択して読出すための選択部２３２と、トピック比較部２３８から比較結果信号２４２を受け、トピック検出部２２２により検出された新たなトピックとトピック記憶部２３０に記憶されたトピックとが異なっている場合（すなわちトピックが切り替わった場合）に、一旦音声認識がされた入力音声に対し、選択部２３２により選択されたトピック別の言語モデルを用いて音声認識を行ない、結果をスコアとともに出力するためのトピック別音声認識部２２４と、汎用音声認識部２２０の出力およびトピック別音声認識部２２４の出力を受け、スコアが高いものを選択するための選択部２３４と、汎用音声認識部２２０の出力およびトピック別音声認識部２２６の出力を受け、スコアが高いものを選択するための選択部２３６と、選択部２３４の出力および選択部２３６の出力を受け、比較結果信号２４２によって制御されて、トピックの切替があった場合には選択部２３４の出力を、切替がなかった場合には選択部２３６の出力を、それぞれ選択して出力する選択部２４０とを含む。
【００５９】
なお、選択部２２８は、トピック記憶部２３０に記憶されたトピックに対応するトピック毎の言語モデルと、その言語モデルの上位にあたる中層の言語モデルとを選択してトピック別音声認識部２２６に与える。同様に選択部２３２は、トピック検出部２２２により検出された新たなトピックに対応するトピック毎の言語モデルと、その言語モデルの上位にあたる中層の言語モデルとを選択してトピック別音声認識部２２４に与える。
【００６０】
選択部２３４はトピック比較部２３８からの比較結果信号２４２を受け、トピックの切替があった場合のみ動作する。同様に選択部２３６も比較結果信号２４２を受け、トピックの切替がなかった場合のみ動作する。
【００６１】
図８は、図７に示すトピック別音声認識部２２４のより詳細なブロック図である。なお、図７に示すトピック別音声認識部２２６もこれと同じ構成を持つので、ここではその詳細は繰り返さない。図８を参照して、トピック別音声認識部２２４は、選択部２２８から与えられる最下層のトピック毎の言語モデルを用いて、入力音声に対する音声認識を行ない結果をそのスコアとともに出力するための音声認識部２５２と、選択部２２８から与えられる中位層の言語モデルを用いて音声認識を行ない結果をそのスコアとともに出力するための音声認識部２５０と、音声認識部２５０の出力および音声認識部２５２の出力を受け、スコアの高いものを選択する選択部２５４とを含む。音声認識部２５０と音声認識部２５２とは、本実施の形態の装置では機能的には同じであり、音声認識に使用する言語モデルが異なっているだけである。また図７に示す汎用音声認識部２２０もまた音声認識部２５０または音声認識部２５２と同じ機能を持ち、使用する言語モデルが汎用のものであるという点で異なっている。
【００６２】
−システムの動作−
以上の様な構成を持つ言語モデル作成装置１０および音声認識装置１４からなる音声認識システムは以下の様に動作する。
【００６３】
まず、図１を参照して、音声認識の前段階として、言語モデル作成装置１０において使用するトピック分類済コーパス３０が準備される。トピック分類済コーパス３０としては、何らかの基準に従って機械的にトピックのタグ付けを付与したコーパスを用いても良いし、人間がトピックのタグ付けを行なったコーパスを用いてもよい。本実施の形態では人間がタグ付けを行なったコーパスを用いる。
【００６４】
このトピック分類済コーパス３０から、言語モデル作成装置１０により階層的言語モデル３４を作成する。その過程での言語モデル作成装置１０の動作については後述する。この結果得られた階層的言語モデル３４をＣＤ−ＲＯＭ１２に記録させ、音声認識装置１４に与える。音声認識装置１４は、ＣＤ−ＲＯＭ１２に記録されている階層的言語モデルを階層的言語モデル記憶装置４０に記憶する。その後、ユーザからの音声入力１６が与えられると、音声認識部４２はこの階層的言語モデルを用いて音声認識を行ない、結果を応答作成部４４に与える。応答作成部４４は音声認識の結果に基づき、予め定められている手順に従って応答を作成し、応答出力１８を電話回線を介してユーザに送出する。
【００６５】
なお、音声認識装置１４またはそのためのソフトウェアを製造する者が言語モデル作成装置１０を用いて階層的言語モデルを作成し、そのモデルを音声認識装置１４で用いてもよいし、それらとは別の、階層的言語モデル３４のみを作成するものが準備した階層的言語モデル３４を音声認識装置１４で用いてもよい。
【００６６】
−階層的言語モデル作成部３２の動作−
階層的言語モデル作成部３２は以下の様に動作する。図３を参照して、まずトピック再分類部１４０がトピック分類済コーパス３０内の各文にトピックの再割当を行ない、トピック再分類済コーパス１４２を作成する。その詳細は図４および図５に示した。
【００６７】
図４および図５を参照して、図５のステップ１８０で、トピック分類済コーパス３０内で各トピックのタグが付されている文の集合Ｔ1〜ＴNの各々からトピック別言語モデルＭ1〜ＭNを作成する。次に、図５のステップ１８２において、トピック分類済コーパス３０内の各文に対してこれらトピック別言語モデルＭ1〜ＭNとの間の距離を計算し、最も距離の小さな言語モデルに対応するトピックのタグをその文に付す。この作業を全ての文に対して行なう事により、トピック分類済コーパス３０内の全文が、新たに割当てられたトピックにより分類されて第１次のトピック再割当後のコーパス１６４（図４参照）となる。
【００６８】
次に、図５のステップ１８４において、第１次のトピック再割当後のコーパス１６４に対して、前述したステップ１８０での処理と同様のトピック別言語モデル作成のための処理を実行する。これにより図４に示す第２次の言語モデル群１６６が得られる。続いて制御は図５のステップ１８６に進む。
【００６９】
図５のステップ１８６では、この例では言語モデルが収束していないと判定されたものとする。制御は図５のステップ１８２に戻る。
【００７０】
図５のステップ１８２では、図４に示す第２次の言語モデル群１６６を用い、前述したのと同様の処理でトピック分類済コーパス３０内の各文に再度トピックを割当てる。この処理により図４に示す第２次のトピック再割当後のコーパス１６８が作成される。
【００７１】
図５のステップ１８４では、第２次のトピック再割当後のコーパス１６８で各トピックごとに分類された文の集合に基づき、それぞれトピック別言語モデルが作成される。その結果得られるのが図４に示す第３次の言語モデル群１７０である。
【００７２】
続いて図５のステップ１８６で、第３次の言語モデル群１７０が収束したかどうか、すなわち第３次の言語モデル群１７０が前回の処理で得られた第２次の言語モデル群１６６と一致しているか否かが判定される。判定結果がＮＯであれば制御はステップ１８２に戻り、以下同様の処理が繰り返される。判定結果がＹＥＳであればこの処理を終了する。以上の処理で、図３に示すトピック再分類済コーパス１４２が得られる。
【００７３】
続いて、図３に示すトピッククラスタリング部１４４が、トピック再分類済コーパス１４２に含まれる言語モデルをクラスタリングし、階層的言語モデル３４を作成する。すなわち、図６を参照して、まず繰り返し変数ｉに０を代入する（ステップ１９０）。続いて変数ｉに１を加算する（ステップ１９２）。ステップ１９４で変数ｉの値（＝１）が最大値（本実施の形態では「Ｎ」）と等しいか否かが判定される。本実施の形態では図２に示される様にＮ＝１２とすれば、繰り返しの１回目ではこの判定結果はＮＯとなる。従って、制御はステップ１９６に進む。
【００７４】
ステップ１９６では、１番目の言語モデルとの距離が最小となる様な言語モデルを探す。すなわち、１番目の言語モデルとｊ番目の言語モデルとの間の距離をＤｉｓｔUNI（Ｃ1，Ｃj）とすれば、ＤｉｓｔUNI（Ｃ1，Ｃj）が最小値となる様なｊを探す。本実施の形態では、この場合の距離には、前述した通り正規化されたクロス−パープレキシティを用いている。
【００７５】
そしてステップ１９８で、上記したｊに対して計算された距離ＤｉｓｔUNI（Ｃ1，Ｃj）が予め定められたしきい値より小さいか否かが判定される。この場合、距離がしきい値より小さいものとすると、１番目のトピックとｊ番目のトピックとの間の関係が十分に深いものと考えられ、ステップ２００で両者に共通する親ノードが加えられる。この親ノードが、図２に示す中位層の言語モデル６２内の言語モデルに対応する。この後、制御はステップ１９２に戻る。本実施の形態では、距離の最小値を与えるｊが２であるとする。すると、ここで図２に示す第１の中位層言語モデル８０がトピック毎の言語モデル１００および１０２に共通の親ノードとして階層的言語モデル３４に加えられる。
【００７６】
ステップ１９２では、変数ｉに１を加える。現在の例ではｉ＝１であったから、変数ｉ＝２となる。ステップ１９４では変数ｉの値が総トピック数Ｎ（＝１２）と等しいか否かを判定する。ここでは判定結果はＮＯとなる。従って制御はステップ１９６に進む。ステップ１９６では、変数ｉ＝１の場合と同様の処理が行なわれる。ここでは、２番目のトピックと最も近いトピックとしてｊ＝３が求められたものとし、かつその距離ＤｉｓｔUNI（Ｃi，Ｃj）がしきい値より小さいものとする。その結果、ステップ２００で２番目のトピックと３番目のトピックとの共通の親ノードが追加される。図２においては、このノードはたとえば第２の中位層言語モデル８２として示される。
【００７７】
以下、同様にして変数ｉ＝１１まで上記した処理が繰り返される。変数ｉ＝１２となると、ステップ１９４の判定結果がＹＥＳとなり処理を終了する。この時点で、図２に示される階層的言語モデル３４の構造が決定されている。後は、この構造に従って各ノードの各言語モデルを作成すればよい。
【００７８】
この様にして完成した階層的言語モデル３４は、たとえば図１に示すＣＤ−ＲＯＭ１２の様な記録媒体に記録される。
【００７９】
−音声認識装置１４の動作−
図１に示す音声認識装置１４は以下の様に動作する。音声入力１６が与えられると、音声認識部４２が後述する様に動作する事によって音声入力１６の内容が認識される。認識結果は応答作成部４４に与えられる。応答作成部４４は、与えられた認識結果に基づき、予め定められた手順で応答を作成し、応答出力１８として音声の応答を電話線上を介してユーザに向けて送出する。以下、音声認識装置１４で特に本発明に関連する音声認識部４２の動作についてより詳細に説明する。
【００８０】
−音声認識部４２の動作−
図７を参照して、音声認識部４２は以下の様に動作する。当初、トピック記憶部２３０には何らかの初期値が記憶されているものとする。入力音声１６は汎用音声認識部２２０およびトピック別音声認識部２２６の入力に並列に与えられる。汎用音声認識部２２０は階層的言語モデル記憶装置４０に記憶されている最上層の言語モデル６０（図２を参照されたい。）を用いて入力に対する音声認識を行ない、認識結果をそのスコアとともにトピック検出部２２２に与える。選択部２２８は、トピック記憶部２３０に記憶されているトピックに基づき、階層的言語モデル記憶装置４０に記憶された最下層の言語モデル６４内の特定のトピックの言語モデルと、中位層の言語モデル６２のうち、その言語モデルの上位にあたる言語モデルとをトピック別音声認識部２２６に与える。
【００８１】
図８を参照して、音声認識部２５２は、選択部２２８から与えられた特定のトピックの言語モデルを用いて、入力音声に対する音声認識を行ない、結果をそのスコアとともに出力する。音声認識部２５０は、選択部２２８から与えられた、上記した特定のトピックの上位にあたる中位層の言語モデルを用いて、入力音声に対する音声認識を行ない、結果をそのスコアとともに出力する。選択部２５４は、音声認識部２５２から出力されるスコアおよび音声認識部２５０から出力されるスコアを比較し、いずれか高いスコアに対応する認識結果を選択し、そのスコアとともに出力する。この出力は、図７に示す選択部２３６の入力の一方に与えられる。従ってこの場合、トピック別音声認識部２２６が出力する認識結果は、最下層の言語モデル６４内の特定トピックの言語モデルを用いて得られた認識結果と、その上位にあたる中位層の言語モデルを用いて得られた認識結果とのうち、よりよい認識結果と思われるものを出力する事になる。
【００８２】
トピック検出部２２２は、汎用音声認識部２２０の音声認識結果に基づいてトピックの検出を行ない、その結果をトピック記憶部２３０、選択部２３２、およびトピック比較部２３８に与える。トピック比較部２３８は、トピック検出部２２２により新たに検出されたトピックと、トピック記憶部２３０に記憶されているトピックとを比較する。今説明している例では、トピック検出部２２２は初めてトピックを検出したので、トピック記憶部２３０に記憶されているトピックと新たに検出されたトピックとは異なっている事が通常である。この場合には、トピック比較部２３８は両者が異なっている事を示す信号、すなわちトピックの切替が生じた事を示す比較結果信号２４２をトピック別音声認識部２２４、選択部２３４、選択部２３６、および選択部２４０に与える。
【００８３】
選択部２３２は、最下層の言語モデル６４内のトピック毎の言語モデル１００〜１２２のうち、トピック検出部２２２により新たに検出されたトピックに対応するものと、その上位の言語モデルとを選択し、トピック別音声認識部２２４に与える。トピック別音声認識部２２４は、トピック別音声認識部２２６による音声認識と同様に、選択部２３２から与えられる、新たなトピックに対応する二つの言語モデルに基づいて音声認識を行ない、いずれかよいスコアを示す方を出力して選択部２３４の一方の入力に与える。
【００８４】
選択部２３４はこの場合、トピック比較部２３８からトピックの切替が生じた事を示す比較結果信号２４２を受けているため、汎用音声認識部２２０から与えられる認識結果のスコアと、トピック別音声認識部２２４から与えられる認識結果のスコアとを比較し、いずれか高いスコアを示したものに対応する認識結果をそのスコアとともに選択部２４０に与える。
【００８５】
一方、選択部２３６は、トピックの切替が生じた事を示す比較結果信号２４２を受けているため、動作しない。
【００８６】
選択部２４０は、同じく比較結果信号２４２を受けているため、選択部２３４の出力を選択する。
【００８７】
以上の様に、最初に与えられる音声入力に対しては、汎用音声認識部２２０の認識結果に基づいてトピックが検出され、トピック別音声認識部２２４によりこの新たなトピックについて行なわれた認識結果と、汎用音声認識部２２０の認識結果とのうちスコアの高い方が選択される。トピック別音声認識部２２４の認識結果は、トピック毎の言語モデルを用いた認識結果と、その上位にあたる中位層の言語モデルとを用いた認識結果とのうち、スコアの高い方である。従ってここでは、図２に示す階層的言語モデル３４の最上層の言語モデル６０、中位層の言語モデル６２、最下層の言語モデル６４を用いた認識結果のうち、新たなトピックに対して最も高いスコアを示したものが得られる事になる。
【００８８】
次に、２回目以降の音声認識部４２の動作について説明する。なお、トピック記憶部２３０にはトピック検出部２２２により前回検出されたトピックが記憶される。新たな入力に対して汎用音声認識部２２０が行なった認識結果から、トピック検出部２２２がトピックを検出する。トピック比較部２３８が、トピック検出部２２２による検出結果とトピック記憶部２３０に記憶されている以前のトピックとを比較する。多くの場合、連続する入力は同じトピックに関するものである。その場合トピック比較部２３８は、トピックの切替が生じていない事を示す値を持つ比較結果信号２４２をトピック別音声認識部２２４、選択部２３４、選択部２３６、および選択部２４０に与える。
【００８９】
トピック別音声認識部２２６は先に説明したのと同様に、トピック記憶部２３０に記憶されたトピックに基づいて選択されたトピック毎の言語モデルおよびその上位の言語モデルを用いてそれぞれ音声認識を行なう。さらにトピック別音声認識部２２６は、その認識結果のスコアを比較しスコアが高い方の認識結果をそのスコアとともに選択部２３６に与える。
【００９０】
トピック別音声認識部２２４は、トピック比較部２３８から与えられる比較結果信号２４２がトピックの切替が生じていない事を示しているため、音声認識は行なわない。同様に選択部２３４も動作しない。
【００９１】
一方、選択部２３６は、汎用音声認識部２２０の認識結果と、トピック別音声認識部２２６の認識結果とのスコアを比較し、スコアが高い方の認識結果をそのスコアとともに選択部２３６に与える。選択部２４０は、比較結果信号２４２がトピックの切替が生じていない事を示しているため、選択部２３６の出力を選択し出力する。
【００９２】
従ってこの場合、最終的には、図２に示す最上層の言語モデル６０を用いた音声認識結果と、最下層の言語モデル６４のうちトピック記憶部２３０に記憶されたトピックに対応するトピック毎の言語モデルを用いた音声認識結果と、その上位の言語モデルを用いた音声認識結果とのうち、最もスコアの高いものが選択される事になる。
【００９３】
以上の様に音声認識部４２により、トピックの切替があった場合には新たなトピックを用いた音声認識結果のうちで最もスコアの高いものが出力され、切替がなかった場合にはそれまでのトピックを用いた音声認識結果のうちで最もスコアの高いものが出力される。トピックの切替があってもその新たなトピックに応じて最も適切と思われる音声認識結果を得る事ができる。また、トピックの切替があった場合のみトピック別音声認識部２２４が動作し、トピックの切替がなかった場合には汎用音声認識部２２０とトピック別音声認識部２２６のみを並列に動作させるだけでよい。これは、トピックの数が増加しても変わらない。従って、トピックの数にかかわらず一定の計算量で発話のトピックに応じた望ましい認識結果が得られるという効果がある。しかもその値は従来の様に全てのトピックに対して並列に音声認識を行なうものと比較して小さくてすむ。この効果は、トピック数が増大するにつれて著しくなる。
【００９４】
また、検出されたトピックに応じて特定のトピック毎の言語モデルを用いた音声認識を行なう。従ってトピック検出が正しく行なわれ適切な言語モデルが選択されると、精度の高い認識結果を得る事ができる。また、階層的な言語モデルを採用しているため、仮にトピック検出が正確でなくとも、中位層の言語モデルを用いた音声認識によってある程度の精度の認識結果が得られる事がある。そのため、トピック検出の誤りに起因して明らかに誤った認識結果しか得られないという危険性が低くなる。最終的には汎用言語モデルを用いた音声認識結果までフォールバック可能なので、仮に精度が低下する事があったとしても、最終的な結果が全く的外れとなるおそれは小さい。
【００９５】
さらに、言語モデルに含まれるトピックを増加させようとする場合でも、本実施の形態の装置ではハードウェアを変更する必要はない。言語モデルの内容を変更させるだけで、トピックに応じて適切な言語モデルを用いた音声認識を行なう事ができる。
【００９６】
なお、本実施の形態では言語モデルとしてユニグラムを用いた。しかし本発明はそうした実施の形態に限定されるわけではない。たとえば、バイグラム、トライグラム、さらに一般的にＮ−グラムからなる言語モデルを用いても良い。
【００９７】
また、本実施の形態では、手操作によりトピックのタグが付されたコーパスに対し、さらにトピックの再割当処理を行なっている。こうした再割当処理は必ずしも必要なく、手操作でタグ付けされたコーパスをそのまま用いても良い。ただし、上記した様にトピックの再割当処理を行なうと、後の音声認識結果の精度が向上するという効果が得られる。
【００９８】
［第２の実施の形態］
第１の実施の形態では、音声入力１６のトピックを検出する際、および言語モデルをクラスタリングする際に、ユニグラムの言語モデルを用いた。しかし、モデルとしては他のものを用いる事もできる。たとえば、文の特徴を表す特徴ベクトルを考え、そのベクトル空間モデルを用いたＳＶＭ（サポートベクトルマシン）でこれらの処理を行なう事が考えられる。以下に説明する第２の実施の形態に係るシステムでは、いずれの場合にもＳＶＭを用いている。
【００９９】
システムの全体構成は、ＳＶＭに基づく処理を行なう点を除き、第１の実施の形態のものと同様である。主として異なる点は、図７に示すトピック検出部２２２が、汎用音声認識部２２０から出力される認識結果のＮ−ベストに基づきＳＶＭによってトピック検出を行なう点と、図６に示すクラスタリング処理において、二つのトピック間の距離としてＳＶＭに基づいた算出方法を用いる点とである。
【０１００】
ベクトル空間モデルによれば、各文Ｓiは、ｎ次元の特徴ベクトル（Ｏ（ｗ1），Ｏ（ｗ2），…，Ｏ（ｗn））で表される。ただしＯ（ｗk）は、文Ｓi中で単語ｗkが現れた回数を表す。本実施の形態では特徴ベクトルは９６００個の要素により表される。これは、トレーニングセット中に１度以上現れる単語の数に対応している。
【０１０１】
本実施の形態では、トピック検出のために、予めトレーニングセット（トピック分類済コーパス３０）を用いて各トピックに対してＳＶＭモデルのトレーニングを行なう。この際、トレーニングセット中の文のうち、各トピックに属する文を正のデータ例とし、トレーニングセット中の他の文を負のデータ例とする。このトレーニングにより、トピック検出のための分類モデルを作成する。この場合の分類モデルとは、特徴ベクトル空間において、トレーニングセット中の各トピックに属する文の特徴ベクトルによって表される点の集合を互いに分離する超平面の事をいう。
【０１０２】
図９にＳＶＭモデルの概念を示す。トレーニングセット２７０を用いてＳＶＭモデルをトレーニングする事により、トレーニングセット２７０中の各トピックに属する文の集合（クラス）Ｔ1〜ＴNを互いに分離する様なモデルＭ1〜ＭNが得られる。このモデルＭ1〜ＭNはそれぞれ、Ｎ次元ベクトル空間内の超平面であり、このベクトル空間を二つの部分に分離する。一方の空間内に存在する点はそのモデルに対応するトピッククラスに属し、それ以外の点はそのクラスに属さない。文Ｓiから各モデルＭ1〜ＭNに対応する超平面までの距離をトピック検出のための信頼度として用いる。この値は、文Ｓiがクラス内に入れば正、その他の場合には負である。この信頼度の値が最も大きくなる様なモデルに対応するトピックを入力文のトピックであると判定する。
【０１０３】
すなわち、本実施の形態では、階層的言語モデルの全ての葉ノードに対応する言語モデル（超平面）と、汎用音声認識部２２０（図７）の出力の特徴ベクトル表現との間で前記した信頼度を計算する。そして最も高い信頼度を示した言語モデルに対応する葉ノードにより表されるトピックを、入力音声のトピックとして検出する。
【０１０４】
本実施の形態では、自動音声認識の結果にロバスト性を与えるために、汎用音声認識部２２０による音声認識結果の１０−ベストを用いてベクトルＳiを生成する。従ってこの場合、Ｏ（ｗk）の値は、１０−ベストの結果のうちで、単語ｗkを含むものの割合とする。
【０１０５】
図１０に、この第２の実施の形態でのトピックのクラスタリング処理を実現するためのソフトウェアの制御の流れをフローチャート形式で示す。図１０を参照して、この処理では類似したトピックをまとめていくが、これは言語モデルのツリー構造のうち、葉ノードの部分から出発して上部に親ノードを作成している処理に相当する。本実施の形態では、処理対象のノードが二つになるまで以下の処理を繰り返す。
【０１０６】
最初に処理の対象となるトピックのうち、残っているものが二つだけか否か（すなわち、処理対象となっているノードの数が二つか否か）を判定する。残っているトピックが二つだけとなれば処理を終了し、それ以外の場合には制御はステップ２８２に進む。
【０１０７】
ステップ２８２では、残っているｉ番目およびｊ番目のトピッククラスＣi，Ｃjの全ての組合せについて互いの距離ＤｉｓｔSVM（Ｃi，Ｃj）を計算し、その値が最小となるものを求める。そして、そのｉ，ｊの組合せに対し、共通の親ノードを追加する（ステップ２８４）。さらに、そのｉ，ｊ番目のトピックを以後のステップ２８２でのサーチの対象から除き（ステップ２８６）、制御をステップ２８０に戻す。こうして、ステップ２８０で残りのトピック数が２個であると判定されるまでこの処理を繰り返す。
【０１０８】
本実施の形態では、二つのトピッククラスＣi,Ｃjの間の距離ＤｉｓｔSVM（Ｃi,Ｃj）は以下の式により定義される。
【０１０９】
【数７】
2004198597.tif 000007
図１１を参照して、この距離計算の意味について説明する。図１１において、二つのトピッククラスＣ1およびＣ2の間の距離がどの様に計算されるかについて説明する。トピッククラスＣ1のためのＳＶＭモデルをＭ1、トピッククラスＣ2のためのＳＶＭモデルをＭ2とする。トピッククラスＣ1からこのトピッククラスのための超平面Ｍ1までの平均距離３００（この値は正である。）が上のＤｉｓｔAVGにより計算できる。同様に、トピッククラスＣ2からこのトピッククラスのための超平面Ｍ2までの平均距離３０２（この値も正である。）が計算できる。さらに、トピッククラスＣ1からトピッククラスＣ2のための超平面Ｍ2までの平均距離３１０（この値は負である）、およびトピッククラスＣ2からトピッククラスＣ1のための超平面Ｍ1までの平均距離３１２（この値も負である）が計算できる。
【０１１０】
結局、二つのトピッククラスＣi,Ｃjの間の距離ＤｉｓｔSVM（Ｃi，Ｃj）は図１１に従って表すと、距離３００、３０２、３１０、および３１２の絶対値の和という事になり、二つのトピッククラスＣi,Ｃjの間の距離を表す指標として適切である事が分かる。
【０１１１】
なお、ある点と超平面との距離は、その点からその超平面に降ろした垂線の長さである。これを用いるのは、トピック検出誤りの発生する確率をこの値が反映しているからである。
【０１１２】
この様にして、トピック間の距離を定義する事により、図１０のフローチャートに従った処理を実行する事ができ、その結果、最終的に階層的言語モデルを作成する事ができる。
【０１１３】
本実施の形態によっても、第１の実施の形態と同様、トピックが適切に検出されれば音声認識の精度は高くなり、かつトピックの検出が大きく誤る可能性は小さくなる。そのため、精度の高い音声認識をロバスト性高く実現する事ができる。また、本実施の形態でもトピック数が増加したり、言語モデルを入れ替えたりしても、ハードウェアを変更する必要がない。動作における計算コストも一定であり、しかもその値は従来の様に全てのトピックに対して並列に音声認識を行なうものと比較して小さくてすむ。この効果は、トピック数が増大するにつれて著しくなる。
【０１１４】
［実験］
出願人が用意したＡＴＲ外国語慣用語句集コーパス（非特許文献４を参照されたい。）を用いて、本願実施の形態に係る音声認識システムの性能を調べる実験を行なった。このコーパスの内容の詳細について次の表１に示す。
【０１１５】
【表１】
2004198597.tif 000008
認識は、本件出願の出願時点でインターネット上のhttp://julius.sourceforge.jp/またはhttp://sourceforge.jp/projects/julius/から入手可能なＪｕｌｉｕｓ認識エンジンを使用して行なった。音響分析のために、１２次元ＭＦＣＣ（メル・ケプストラム係数）を１次および２次導関数付きで計算した。音響モデルは、２６個の音素に対してセットアップした、１８４１の共有ステートを持ち２３のガウス混合分布（Ｇａｕｓｓｉａｎ  Ｍｉｘｔｕｒｅ）要素を持つ文脈依存（ｔｒｉｐｈｏｎｅ）ＨＭＭ（隠れマルコフモデル）である。
【０１１６】
比較のためのベースライン自動音声認識システムとして、全トレーニングセットを用いてトレーニングした汎用言語モデルを音声認識に使用したものを用いる。テストセットに対しこのベースラインの言語モデルのパープレキシティは、４４．７８（２−グラム）および２３．７７（３−グラム）である。ＷＥＲ（単語誤り率）は８．０８％である。
【０１１７】
−トピック毎の言語モデル−
トピック毎の言語モデルを、手作業によるトピックのタグ付けを行なったコーパスに基づいて作成した。作成された言語モデルの、単一の汎用言語モデルと比較したパープレキシティの低下は２０．２％である（表２を参照されたい。）。この低下により、トピック毎の言語モデルを用いる事の効率性を確認できる。
【０１１８】
【表２】
2004198597.tif 000009
次に、ユニグラムおよびＳＶＭによるトピックの再分類を行なった。両方式によってかなりのパープレキシティの低下、すなわち、２９．１％および２７．１％の低下が得られた。この結果から、上に説明した実施の形態による自動的なトピックの再分類が効率的である事が分かる。
【０１１９】
ユニグラム方式は、トピッククラスタの大きさを考慮した単語の出現回数に基づいており、その結果、１２トピックの全体にわたりトレーニングセットの大きさを均等なものにする傾向がある。最小のトピックのサイズは、最大のものと比較してその３５％であった。それに対しＳＶＭ方式では、クラスタのサイズに対する考慮なしにクラスタリングが行なわれる。最小のトピックサイズは、最大のトピックサイズと比較してわずか８％の大きさしかなかった。また、ＳＶＭ方式を用いた方が、最初のトピックの分類と高い相関を示す事が分かった。
【０１２０】
−トピック検出の精度−
次に、トピックの検出精度について調べた。この精度は、自動音声認識の結果を、元の音声からの書き起こし文に基づいて行なわれた、精度１００％の判定結果と比較する事により行なった。ユニグラムおよびＳＶＭ方式によるトピック検出制度を表３に示す。
【０１２１】
【表３】
2004198597.tif 000010
表３において、中央の欄は、単一の最下層のトピックを検出する際の精度を示し、右の欄は複数層の階層構造を用いた場合のトピック検出精度を示す。ここでは、精度は最下層のトピック、または当該トピックを含む中位層のトピックを選択する事ができた場合に対応する。ユニグラム方式を用いた場合と比較すると、ＳＶＭ方式を用いた方が認識誤りが存在する場合のロバスト性が高くなっている。また、階層構造を用いた場合、トピック検出の精度は２％程度向上する。
【０１２２】
−ユニグラム方式のトピック毎の認識−
次に、ユニグラム方式のシステム性能について調べた。認識は前述した様に２段階に分けて行なった。種々のトピック層を用いたときの性能を表４の上半分に示す。最初の認識経路として汎用言語モデルが必ず用いられるため、その結果を認識スコアにより他のモデルと比較する事も行なった。比較対照のため、トピック検出に正しい書き起こし文を用いた方法についての結果も示してある。
【０１２３】
【表４】
2004198597.tif 000011
トピックが既知の場合、最も細かい範囲の最下層のモデルを用いた場合には、ベースラインシステムに比して８．９％の向上が見られた。最上層の汎用言語モデルとの比較を行なう様にすると、この値は２１．７％まで向上した。発話のほぼ５％程度に関しては、最上位層のモデルを用いたほうが適切なトピックの言語モデルを用いた場合よりもよい認識結果が得られた。これは、トピックに依存しないこの最上位層の言語モデルがトレーニングセットの全体によってトレーニングされたものであり、従って各トピック毎の言語モデルと比較するとデータのスパースネス（データがまばらである事）という問題の生じるおそれが少ないためである。それに比してトピックが既知の場合には、中位層を用いる様にしても認識精度はほとんど改善されない。
【０１２４】
音声認識によるトピック検出を最下層のみを用いて行なった場合、トピックの検出精度は９０．２％である。この場合、ベースラインシステムに比してＷＥＲの改善はほとんど見られない。最上位層（汎用言語モデル）との比較を導入する事で、トピック検出誤りによる影響が緩和され、ＷＥＲは相対的に８．９％低下した。中位層の言語モデルをさらに含ませると、あるトピックまたはその中位層の親ノードのトピックを検出する精度は９２．４％となる。この方法では、ベースラインシステムに比してＷＥＲは９．７％だけ低下した。
【０１２５】
−ＳＶＭによるトピック毎の認識−
ＳＶＭに基づくトピック検出を用いたシステムの性能を表４の下半分に示す。正しいトピックが与えられた場合には、システムの性能はユニグラム方式によるものと比較してはるかに低い。しかし、音声認識に基づくトピック検出については、最上位層と最下層とを認識で用いるとＷＥＲが８．２％低下するという効果が得られた。さらに中位層を含ませると、この低下量は１０．３％まで増加した。いずれのトピック検出方式でも、上に説明した本発明の実施の形態のシステムアーキテクチャにより、ベースラインシステムに比して１０％程度のＷＥＲの低下という効果が得られた。
【０１２６】
−並列システムとの比較−
最後に、従来の技術の説明の欄で述べた様な、全てのトピック毎の言語モデルおよび汎用言語モデルを用いた音声認識を並列に実行し、最良の結果を選択するシステムと、本発明の実施の形態のシステムとの性能比較を行なった。ベースラインシステムと、本発明の実施の形態に係るシステムと、従来の並列システムとの比較結果を図１２に示す。
【０１２７】
図１２を参照して、ベースラインシステムのＷＥＲは８．０８％である。どの様なトピック検出方式を採用するかにかかわらず、本発明の実施の形態のシステムと従来の並列システムとは、ＷＥＲを７．２５％と７．３０％との間の範囲に低下させた。これは、ベースラインシステムに比して相対的に１０％の低下量にあたる。本発明の実施の形態のシステムと従来の並列システムとの間で、ＷＥＲの顕著な相違は認められなかった。しかし両者による認識結果はほぼ同等なものではあるが、本発明の実施の形態によれば、システムの計算コストが並列システムの６分の１で済むという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る音声認識システムを示すブロック図である。
【図２】階層的言語モデル３４の構造を模式的に示す図である。
【図３】階層的言語モデル作成部３２の構成を示すブロック図である。
【図４】トピックの再分類処理の原理を示す模式図である。
【図５】トピックの再分類処理のフローチャートである。
【図６】トピックのクラスタリング処理のフローチャートである。
【図７】音声認識部４２の構成を示すブロック図である。
【図８】トピック別音声認識部２２４の構成を示すブロック図である。
【図９】ＳＶＭによる分類方式の原理を説明するための図である。
【図１０】本発明の第２の実施の形態におけるトピッククラスタリング処理のフローチャートである。
【図１１】本発明の第２の実施の形態における、トピッククラス同士の距離の計算の原理を説明するための図である。
【図１２】ベースラインシステムと、本発明の実施の形態に係るシステムと、従来の並列システムとの性能の比較結果を示す図である。
【符号の説明】
１０  言語モデル作成装置、１４  音声認識装置、３０  トピック分類済コーパス、３２  階層的言語モデル作成部、３４  階層的言語モデル、４０  階層的言語モデル記憶装置、４２  音声認識部、４４  応答作成部、６０  最上層の言語モデル、６２  中位層の言語モデル、６４  最下層の言語モデル、７０  汎用言語モデル、８０〜９２  中位層言語モデル、１００〜１２２  トピック毎の言語モデル、１４０  トピック再分類部、１４２  トピック再分類済言語モデル、１４４  トピッククラスタリング部、２２０  汎用音声認識部、２２２  トピック検出部、２２４、２２６  トピック別音声認識部、２２８、２３２、２３４、２３６、２４０  選択部、２３０  トピック記憶部、２３８  トピック比較部、２５０、２５２  音声認識部
【図１】
2004198597.tif 000014
【図２】
2004198597.tif 000015
【図３】
2004198597.tif 000016
【図４】
2004198597.tif 000017
【図５】
2004198597.tif 000018
【図６】
2004198597.tif 000019
【図７】
2004198597.tif 000020
【図８】
2004198597.tif 000021
【図９】
2004198597.tif 000022
【図１０】
2004198597.tif 000023
【図１１】
2004198597.tif 000024
【図１２】
2004198597.tif 000025