(57)【特許請求の範囲】
【請求項１】
発話された音声を入力する入力手段と、
前記入力手段によって入力された音声を認識対象語に基づき認識する音声認識手段と、
前記音声認識手段による認識結果である複数の認識結果候補から、各認識結果候補に与えられた所定の選択基準値に基づき選択された前記認識結果候補を用いて、前記発話された音声に対する応答となる理解結果を生成する理解結果生成手段と、
前記理解結果生成手段によって生成された前記理解結果に対して訂正を指示する訂正指示手段と、
前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補に与えられた前記所定の選択基準値を、前記理解結果生成手段で前記理解結果を生成する際に当該認識結果候補が選択されにくくなる方向に修正する修正手段とを備え、
音声対話装置が、段階的に発話を要求し所望のタスクを実現するタスクシーケンスを実行する場合、
前記修正手段は、前記タスクシーケンスのどの段階で前記訂正指示手段によって訂正が指示されたかに応じて、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補の前記所定の基準値を修正すること
を特徴とする音声対話装置。
【請求項２】
前記修正手段は、過去にキャンセルされた理解結果と、前記音声認識手段による認識結果である複数の理解結果候補との一致度に応じて、前記認識結果候補の所定の基準値を修正すること
を特徴とする請求項１記載の音声対話装置。
【請求項３】
前記修正手段は、前記訂正指示手段によって訂正を指示された前記理解結果が、何回前に訂正を指示されたかに応じて、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補の所定の基準値を修正すること
を特徴とする請求項１記載の音声対話装置。
【請求項４】
前記修正手段は、前記訂正指示手段によって訂正を指示された前記理解結果を導く音声が発話され前記入力手段に入力されてから、現在、理解結果生成処理中の音声が発話され前記入力手段によって入力されるまでに要した時間に応じて、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補の所定の基準値を修正すること
を特徴とする請求項１記載の音声対話装置。
【請求項５】
前記修正手段は、音声が発話され前記入力手段に入力されてから、前記音声認識手段、前記理解結果生成手段を経て生成された理解結果が、前記訂正指示手段によって訂正を指示されるまでに要した時間に応じて、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補の所定の基準値を修正すること
を特徴とする請求項１記載の音声対話装置。
【請求項６】
ユーザによる訂正指示の入力の仕方が異なる前記訂正指示手段を複数備え、
前記修正手段は、ユーザによる前記訂正指示手段に対する前記訂正指示の入力の仕方に応じて、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補の所定の基準値を修正すること
を特徴とする請求項１記載の音声対話装置。
【請求項７】
前記認識結果候補に含まれる単語に対して、発話された可能性を示し、前記所定の選択基準値となる単語信頼度を算出する単語信頼度算出手段を備え、
前記理解結果生成手段は、前記音声認識手段による認識結果である複数の認識結果候補に含まれる前記単語から、前記単語信頼度算出手段によって算出された前記単語信頼度に基づき選択された前記認識結果候補に含まれる単語を用いて、前記発話された音声に対する応答となる理解結果を生成し、
前記修正手段は、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補に含まれる単語の前記単語信頼度を、前記理解結果生成手段で前記理解結果を生成する際に当該認識結果候補に含まれる前記単語が選択されにくくなる方向に修正すること
を特徴とする請求項１乃至請求項６のいずれか１項に記載の音声対話装置。
【請求項８】
前記認識結果候補に含まれる単語に対して、前記単語信頼度算出手段によって算出された前記単語信頼度と過去の認識結果候補に含まれる単語に与えられた単語信頼度とに基づき、新たに与えられた単語信頼度から、前記所定の選択基準値となる前記認識結果候補のスコアを算出するスコア算出手段を備え、
前記理解結果生成手段は、前記音声認識手段による認識結果である複数の認識結果候補から、前記スコア算出手段によって算出された前記スコアに基づき選択された前記認識結果候補を用いて、前記発話された音声に対する応答となる理解結果を生成し、
前記修正手段は、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補の前記スコアを、前記理解結果生成手段で前記理解結果を生成する際に当該認識結果候補が選択されにくくなる方向に修正すること
を特徴と請求項７記載の音声対話装置。
【請求項９】
前記認識結果候補の前記認識対象語との音響的な近さ示す尤度を算出する尤度算出手段を備え、
前記理解結果生成手段は、前記音声認識手段による認識結果である複数の認識結果候補から、前記尤度算出手段によって算出された前記尤度に基づき選択された前記認識結果候補を用いて、前記発話された音声に対する応答となる理解結果を生成し、
前記修正手段は、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補の前記尤度を、前記理解結果生成手段で前記理解結果を生成する際に当該認識結果候補が選択されにくくなる方向に修正すること
を特徴とする請求項１乃至請求項６のいずれ１項に記載の音声対話装置。
【請求項１０】
発話された音声を入力する入力工程と、
前記入力工程によって入力された音声を認識対象語に基づき認識する音声認識工程と、
前記音声認識工程による認識結果である複数の認識結果候補から、各認識結果候補に与えられた所定の選択基準値に基づき選択された前記認識結果候補を用いて、前記発話された音声に対する応答となる理解結果を生成する理解結果生成工程と、
前記理解結果生成工程によって生成された前記理解結果に対して訂正を指示する訂正指示工程と、
前記訂正指示工程によって訂正を指示された前記理解結果に対応する前記認識結果候補に与えられた前記所定の選択基準値を、前記理解結果生成工程で前記理解結果を生成する際に当該認識結果候補が選択されにくくなる方向に修正する修正工程とを備え、
段階的に発話を要求し所望のタスクを実現するタスクシーケンスを実行する場合、
前記修正工程は、前記タスクシーケンスのどの段階で前記訂正指示工程によって訂正が指示されたかに応じて、前記訂正指示工程によって訂正を指示された前記理解結果に対応する前記認識結果候補の前記所定の基準値を修正すること
を特徴とする音声理解結果生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話された音声に応じて対話をする音声対話装置に関し、詳しくは、一旦、誤認識された際に行われる訂正発話の認識率を向上させる音声対話装置及び音声理解結果生成方法に関する。
【背景技術】
【０００２】
ユーザによって発話された音声を入力し、入力された音声の音声認識結果に応じたシステム応答をすることで、ユーザとの間で対話をする音声対話装置が考案されている。このような音声対話装置では、一旦、誤認識された際に、キャンセルボタンなどを押下することでなされる訂正発話に対して、新たに音声認識処理を実行することができる。
【０００３】
このような音声対話装置において、入力された音声に対する音声認識結果が誤認識されたことで、ユーザによってキャンセルされた場合、この音声認識結果を音声認識対象から外すことで、同一の誤認識を繰り返すことを防止することができる手法が開示されている（特許文献１）。
【特許文献１】特開平４−１７７９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１で開示された技術では、過去にキャンセルされた語句を音声認識対象から直ちに排除してしまうため、ユーザが明確に発話したとしても、一度キャンセルされてしまった語句を再入力することができない。例えば、本来、音声認識したい語句を誤ってキャンセルした場合や、異なる場面で、キャンセルされた語句を入力する必要がある場合などに全く対応することができず、柔軟性に欠けていた。
【０００５】
そこで、本発明は、上述した実情に鑑みて提案されたものであり、誤認識されたとして一度キャンセルされた発話であっても、理解結果として採用される可能性を残しながら、同一の誤認識が繰り返されることを低減することができる音声対話装置及び音声理解結果生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の音声対話装置は、発話された音声を入力する入力手段と、前記入力手段によって入力された音声を認識対象語に基づき認識する音声認識手段と、前記音声認識手段による認識結果である複数の認識結果候補から、各認識結果候補に与えられた所定の選択基準値に基づき選択された前記認識結果候補を用いて、前記発話された音声に対する応答となる理解結果を生成する理解結果生成手段と、前記理解結果生成手段によって生成された前記理解結果に対して訂正を指示する訂正指示手段と、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補に与えられた前記所定の選択基準値を、前記理解結果生成手段で前記理解結果を生成する際に当該認識結果候補が選択されにくくなる方向に修正する修正手段とを備え、音声対話装置が、段階的に発話を要求し所望のタスクを実現するタスクシーケンスを実行する場合、前記修正手段は、前記タスクシーケンスのどの段階で前記訂正指示手段によって訂正が指示されたかに応じて、前記訂正指示手段によって訂正を指示された前記理解結果に対応する前記認識結果候補の前記所定の基準値を修正することにより、上述の課題を解決する。
【０００７】
本発明の音声理解結果生成方法は、発話された音声を入力する入力工程と、前記入力工程によって入力された音声を認識対象語に基づき認識する音声認識工程と、前記音声認識工程による認識結果である複数の認識結果候補から、各認識結果候補に与えられた所定の選択基準値に基づき選択された前記認識結果候補を用いて、前記発話された音声に対する応答となる理解結果を生成する理解結果生成工程と、前記理解結果生成工程によって生成された前記理解結果に対して訂正を指示する訂正指示工程と、前記訂正指示工程によって訂正を指示された前記理解結果に対応する前記認識結果候補に与えられた前記所定の選択基準値を、前記理解結果生成工程で前記理解結果を生成する際に当該認識結果候補が選択されにくくなる方向に修正する修正工程とを備え、段階的に発話を要求し所望のタスクを実現するタスクシーケンスを実行する場合、前記修正工程は、前記タスクシーケンスのどの段階で前記訂正指示工程によって訂正が指示されたかに応じて、前記訂正指示工程によって訂正を指示された前記理解結果に対応する前記認識結果候補の前記所定の基準値を修正することにより、上述の課題を解決する。
【発明の効果】
【０００８】
本発明の音声対話装置は、音声認識手段による認識結果である複数の認識結果候補から、各認識結果候補に与えられた所定の選択基準値に基づき選択された認識結果候補を用いて、発話された音声に対する応答となる理解結果を生成する。そして、訂正指示手段によって訂正を指示された理解結果に対応する認識結果候補に与えられた所定の選択基準値を、理解結果生成手段で理解結果を生成する際に当該認識結果候補が選択されにくくなる方向に修正する。
【０００９】
これにより、ユーザによって発話された音声が何度も繰り返して誤認識されることを低減させることができると共に、キャンセルされた認識結果が理解結果として採用される可能性を残すことができる。したがって、ユーザによって発話された音声の音声認識率を大幅に向上させることが可能となる。
【００１０】
また、本発明の音声理解結果生成方法は、音声認識による認識結果である複数の認識結果候補から、各認識結果候補に与えられた所定の選択基準値に基づき選択された認識結果候補を用いて、発話された音声に対する応答となる理解結果を生成する。そして、訂正を指示された理解結果に対応する認識結果候補に与えられた所定の選択基準値を、理解結果を生成する際に当該認識結果候補が選択されにくくなる方向に修正する。
【００１１】
これにより、ユーザによって発話された音声が何度も繰り返して誤認識されることを低減させることができると共に、キャンセルされた認識結果が理解結果として採用される可能性を残すことができる。したがって、ユーザによって発話された音声の音声認識率を大幅に向上させることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。
【００１３】
まず、図１を用いて、本発明の第１の実施の形態として示す音声対話装置の構成について説明をする。図１に本発明の第１の実施の形態として示す音声対話装置は、車両などの移動体に搭載されるナビゲーション装置に適用した場合の構成である。ナビゲーション装置は、例えば、移動体である車両に搭載された場合、車両の現在位置を検出し、地図データから表示された車両の現在位置に対応する地図を表示しながら所望の目的地までの経路案内をすることができる。
【００１４】
この音声対話装置をナビゲーション装置に適用すると、ナビゲーション装置で要求される各種機能を、ユーザとシステムとの対話によってインタラクティブに動作させることができる。
【００１５】
図１に示すように、音声対話装置は、入力装置１０と、マイク２０と、メモリ３０と、経路案内に用いる地図データや、ガイダンス音声の音声データなどを格納するディスク４０と、ディスク４０に格納された各種データを読み取るディスク読み取り装置４１と、マイク２０を介して入力された音声を音声認識し、音声認識結果の内容を理解してシステム応答を生成する制御装置５０と、経路探索結果を示す地図、メニュー画面、制御装置５０による音声認識結果などを表示する、例えば液晶ディスプレイといったモニタ６０と、ガイダンス音声やユーザとの対話におけるシステム応答音声などを出力するスピーカ７０とを備えている。
【００１６】
入力装置１０は、ユーザの押下により、ユーザによって発話されマイク２０を介して入力された音声に対する音声認識処理の開始を指示するための音声認識開始ボタン１１と、音声認識処理によって得られた認識結果に基づき生成された理解結果が誤りであった場合に、直前の音声入力前の状態にシステム状態を戻して再度音声入力をやり直すためのキャンセルボタン１２とを備えている。
【００１７】
マイク２０は、ユーザによって発話された音声を、後述する制御装置５０の音声認識部５２に入力する。例えば、ユーザは、ナビゲーション装置の操作に使用される語句及び文、すなわち操作コマンド及び地名や施設名、道路名などの固有名詞及びこれらの語句を含む文を発話して、マイク２０からその音声を入力する。
【００１８】
メモリ３０は、ランダムアクセス可能なＲＡＭ（Random Access Memory）などであり、音声認識処理が実行される場合に、ディスク読み取り装置４１によってディスク４０から読み出される音声認識用辞書・文法を記憶し展開する記憶領域３１、音声認識処理により得られる認識結果候補に含まれる単語と、その単語信頼度とを保存する記憶領域３２、キャンセルボタン１２が押下された場合に、キャンセル時の理解結果やシステム応答などをキャンセル情報として保存する記憶領域３３とを備えている。
【００１９】
ディスク４０は、音声認識に使用する音声認識用辞書・文法、地図データベース、ガイダンス音声の音声データなどを格納した記憶媒体である。
【００２０】
一般に、音声認識用辞書・文法を用いて音声認識をするシステムでは、この音声認識用辞書・文法に記述されている認識対象語と文法とを用いた入力文だけを音声認識結果として受理することができる。
【００２１】
例えば、ナビゲーション装置のメインタスクを経路探索をする際の目的地設定とすると、ユーザによってマイク２０から入力される入力文として、「神奈川県」「横浜駅」などといった施設に関する単語のみの入力と「神奈川県の横浜駅」「東海道線の横浜駅」などといった複数のキーワードを組み合わせた文章による入力との両方を想定することができる。
【００２２】
したがって、ディスク４０に格納される音声認識用辞書・文法は、このような単語のみの入力と複数のキーワードを含んだ文書の両方に対応することができる構成となっている。
【００２３】
続いて、制御装置５０について説明をする。制御装置５０は入力制御部５１と、音声認識部５２と、理解結果生成部５３と、対話制御部５４と、ＧＵＩ表示制御部５５と、音声合成部５６とを備え、マイク２０を介して入力された音声に対して、音声認識処理をし、音声認識結果に応じたシステム応答を行う。
【００２４】
入力制御部５１は、ユーザによって音声認識開始ボタン１１が押下されたことに応じて、音声認識部５２に対して音声認識処理を開始するよう指示をする。また、入力制御部５１は、ユーザによってキャンセルボタン１２が押下され、直前の理解結果の訂正が指示された場合には、その旨を理解結果生成部５３に伝える。
【００２５】
音声認識処理が開始されると、マイク２０から入力される音声をトリガーとして音声認識部５２による音声認識処理と、理解結果生成部５３による理解結果生成処理、対話制御部５４によるシステム応答出力が、ナビゲーション装置の機能である目的地設定や施設検索など、一つのタスクが終了するまで繰り返されることになる。この間にユーザはキャンセルボタン１２を押下することで直前の理解結果を取り消すことができる。
【００２６】
音声認識部５２は、入力制御部５１の指示に応じて、マイク２０から入力されるユーザによって発話され、図示しないＡ／Ｄコンバータでデジタル化された音声信号を取り込み音声認識処理を実行する。
【００２７】
音声認識部５２は、取り込んだデジタル化された音声信号と、メモリ３０の記憶領域３１に構築された音声認識用辞書・文法が保持する認識対象語からなる待ち受け文とのマッチング処理により音声認識を行い、音声認識結果を理解結果生成部５３に出力する。
【００２８】
音声認識部５２は、マッチング処理の際に、音声特徴データと各待ち受け文との音響的な近さである尤度を計算し、この尤度が一定の値以上のものを音声認識結果の認識結果候補とする。
【００２９】
音声認識部５２は、認識結果候補として、尤度が高い音声認識結果の上位Ｎ個の認識結果候補（以下、Ｎ−ｂｅｓｔ候補とも呼ぶ。）とその尤度とを理解結果生成部５３に出力する。
【００３０】
音声認識部５２は、入力制御部５１の指示に応じて、マイク２０から入力されるユーザによって発話され、図示しないＡ／Ｄコンバータでデジタル化された音声信号を取り込み音声認識処理を実行する。
【００３１】
理解結果生成部５３は、音声認識部５２から音声認識結果として出力された認識結果候補に含まれる全ての単語に対して、各単語の読み方毎に単語信頼度を算出し、算出された単語信頼度に基づいて、認識結果候補からユーザによって発話された音声に対する正しい理解結果を選択して対話制御部５４に出力する。この理解結果生成部５３における処理内容については、後で詳細に説明をする。
【００３２】
ここで、理解結果生成部５３で算出される単語信頼度について説明をする。理解結果生成部５３は、同じ意味を示す単語であっても読み方が異なれば、異なる単語であるとして扱い、その単語信頼度を算出する。
【００３３】
単語信頼度とは、単一の発話において、その読み方で単語が発話された可能性を示す値であり、ある単語Ｗの単語信頼度をＣｏｎｆ（Ｗ）、Ｎ−ｂｅｓｔ候補それぞれに対する対数尤度をＬｉとすると、以下に示す（１）式によって求めることができる。
【数１】
0004635743.tif 000002
【００３４】
理解結果生成部５３によって算出された単語信頼度は、メモリ３０に保存される。なお、理解結果生成部５３による単語信頼度の演算については、特開２００４−２５１９９８号公報で開示されている。
【００３５】
対話制御部５４は、理解結果生成部５３から出力された理解結果に基づいて応答文を生成し、ＧＵＩ表示制御部５５、音声合成部５６に出力する。
【００３６】
ＧＵＩ表示制御部５５は、必要に応じて、ディスク読み取り装置４１を制御してディスク４０に格納されている地図データを読み出し、モニタ６０を介して地図を表示させたり、対話制御部５４で生成された応答文に即した応答内容をモニタ６０を介して表示させる。
【００３７】
音声合成部５６は、対話制御部５４によって生成される応答文に応じて、応答文に即したデジタル音声信号を合成し、当該音声合成部５６が備える図示しないＤ／Ａコンバータ、出力増幅器を介してスピーカ７０に出力する。
【００３８】
続いて、図２に示すフローチャートを用いて、制御装置５０による音声認識処理を開始してから応答文を出力するまでの処理動作について説明をする。
【００３９】
まず、ステップＳ１において、ナビゲーション装置が起動されると、音声対話装置の制御装置５０は、ディスク読み取り装置４１を制御してディスク４０から音声認識用辞書・文法を読み出しメモリ３０の記憶領域３１に格納させる。
【００４０】
そして、ユーザが入力装置１０の音声認識開始ボタン１１を押下することで、入力制御部５１により、音声認識開始が指示され、音声認識部５２は音声認識可能状態となる。これに応じて、音声認識部５２は、ユーザによって発話されマイク２０を介して入力され、図示しないＡ／Ｄコンバータでデジタル化された音声信号の取り込みを開始する。
【００４１】
音声認識部５２は、音声認識開始ボタン１１が押下されるまでは、デジタル化された音声信号（以下、単にデジタル信号とも呼ぶ。）の平均パワーの演算を継続している。音声認識開始ボタン１１が押下された後、この平均パワーに較べてデジタル信号の瞬時パワーが所定値以上に大きくなった時、ユーザが発話したと判断して、デジタル化された音声信号の取り込みが開始される。
【００４２】
ステップＳ２において、音声認識部５２は、入力制御部５１により音声認識開始の指示がなされたことに応じて、ユーザの発話待機状態となる。ユーザによって発話された場合、ステップＳ３へと進み、ユーザによって発話されなかった場合は、ステップＳ６へと進む。
【００４３】
ステップＳ３において、音声認識部５２は、ユーザによって発話されたことに応じて、取り込んだデジタル化された音声信号と、メモリ３０の記憶領域３１に構築された音声認識用辞書・文法が保持する待ち受け文とを比較して、音響的な尤度を計算することで音声認識処理を実行する。
【００４４】
音声認識部５２は、音響的な尤度の高い上位Ｎ個の認識結果候補とその尤度とを音声認識結果として理解結果生成部５３に出力する。
【００４５】
ステップＳ４において、理解結果生成部５３は、理解結果生成処理を実行する。なお、理解結果生成部５３による理解結果生成処理については、後で詳細に説明をする。
【００４６】
ステップＳ５において、理解結果生成部５３による理解結果生成処理が終了したことに応じて、対話制御部５４は、理解結果に基づいて音声合成部５６に出力する応答文及びＧＵＩ表示制御部５５に出力する応答表示内容を生成する。
【００４７】
ステップＳ６において、入力制御部５１は、ユーザによる発話待機状態において、入力装置１０のキャンセルボタン１２が押下されたかどうかを検出する。入力制御部５１は、ユーザによる発話待機状態において、キャンセルボタン１２が押下された場合、ステップＳ７へと進め、キャンセルボタン１２が押下されなかった場合、ステップＳ２へと戻り、ユーザの発話待機、並びにキャンセルボタン１２の押下待機を所定の時間だけ継続する。
【００４８】
ステップＳ７において、入力制御部５１は、ユーザによりキャンセルボタン１２が押下されたことに応じて、キャンセルボタン１２が押下された旨を理解結果生成部５３に通知する。これに応じて、理解結果生成部５３は、キャンセルボタン１２が押下された時点での理解結果や、直前のルーチンで対話制御部５４によって生成された応答文及び応答表示内容をキャンセル情報として、メモリ３０の記憶領域３３に保存する。
【００４９】
ステップＳ８において、音声対話装置は、当該音声対話装置のシステムの状態を一つ前の状態に戻す。これにより、見かけ上、ユーザによって、直前の発話内容が取り消されたことになる。
【００５０】
ステップＳ９において、音声対話装置は、ステップＳ５又はステップＳ８の処理を受けシステム応答を出力する。
【００５１】
ステップＳ５を経た場合、ＧＵＩ表示制御部５５は、対話制御部５４によって生成された応答表示内容をモニタ６０に表示させる。音声合成部５６は、対話制御部５４によって生成された応答文に応じて、応答文に即したデジタル音声信号を合成し、当該音声合成部５６が備える図示しないＤ／Ａコンバータ、出力増幅器を介してスピーカ７０に出力する。
【００５２】
また、ステップＳ８を経た場合、対話制御部５４は、メモリ３０の記憶領域３３にキャンセル情報として保存された応答文及び応答表示内容を読み出し、それぞれ音声合成部５６、ＧＵＩ表示制御部５５に出力する。
【００５３】
ＧＵＩ表示制御部５５は、対話制御部５４によってメモリ３０から読み出された応答表示内容をモニタ６０に表示させる。音声合成部５６は、対話制御部５４によってメモリ３０から読み出された応答文に応じて、応答文に即したデジタル音声信号を合成し、当該音声合成部５６が備える図示しないＤ／Ａコンバータ、出力増幅器を介してスピーカ７０に出力する。
【００５４】
ステップＳ１０において、対話制御部５４は、音声認識開始ボタン１１が押下されたことに応じて開始された施設検索や目的地設定などのタスクが一通り完了したかどうかを判断する。対話制御部５４は、全てのタスクが完了した場合は、音声認識処理を終了し、タスク継続中の場合は、ステップＳ１へと戻り音声取り込みを再開する。
【００５５】
ステップＳ６〜ステップＳ８を経た場合は、タスクが完了しないためステップＳ１へと戻り、ユーザからの次の発話を待ち受けることになる。
【００５６】
このようにして、音声対話装置は、ユーザによって発話された音声の認識処理を実行し、認識結果から生成される理解結果に応じたシステム応答が出力される。この時、キャンセルボタン１２を押下することで、出力されたシステム応答、つまり理解結果をキャンセルすることができる。
【００５７】
続いて、理解結果生成部５３による理解結果生成処理について説明をする。理解結果生成部５３による理解結果生成処理について説明するにあたり、『対話例１』として以下に示すユーザと音声対話装置とによる対話例を利用する。
【００５８】
『対話例１』
第１のシステム発話：「目的地をどうぞ」
第１のユーザ発話  ：「○×鉄道の品川駅」
第２のシステム発話：「○×鉄道の北川駅でよろしいですか？」
第１のユーザ操作  ：キャンセルボタン１２押下
第３のシステム発話：「目的地をどうぞ」
第２のユーザ発話  ：「○×鉄道の品川駅」
第４のシステム発話：「○×鉄道の品川駅でよろしいですか？」
【００５９】
まず、この『対話例１』について説明をする。『対話例１』において、第１のシステム発話として出力された「目的地をどうぞ」という問いに対し、ユーザは、目的地を設定するために第１のユーザ発話として「○×鉄道の品川駅」を発話した。
【００６０】
音声対話装置は、第１のユーザ発話に対して、「○×鉄道の北川駅」と誤認識し、第２のシステム発話で「○×鉄道の北川駅でよろしいですか？」と応答した。
【００６１】
そのため、ユーザは、第１のユーザ操作でキャンセルボタン１２を押下し、音声対話装置による「○×鉄道の北川駅」という認識結果をキャンセルした。これによって、音声対話装置は、第１のシステム発話である「目的地をどうぞ」と同じ応答を、第３のシステム発話として行うため、見かけ上の音声対話装置のシステム状態を、第１のユーザ発話が入力される前の状態まで戻すことになる。
【００６２】
そして、ユーザが、第２のユーザ発話として「○×鉄道の品川駅」と、第１のユーザ発話と同じ発話を繰り返しているという例である。
【００６３】
図３に、『対話例１』における第１のユーザ発話である「○×鉄道の品川駅」に対して音声対話装置の音声認識部５２により求められた認識結果候補であるＮ−ｂｅｓｔを示す。また、図４に、『対話例１』における第２のユーザ発話である「○×鉄道の品川駅」に対して音声対話装置の音声認識部５２により求められた認識結果候補であるＮ−ｂｅｓｔを示す。図３、図４に示すように、どちらの認識結果候補においても第１の認識結果候補は、「○×鉄道の北川駅」となっている。
【００６４】
このように、第１のユーザ発話、第２のユーザ発話に対する音声認識部５２の音声認識結果は、どちらも第１候補が「○×鉄道の北川駅」となり、同じ誤認識が繰り返されている。本発明の実施の形態として示す音声対話装置では、このように繰り返し誤認識される状態を回避することができ、正確な理解結果を生成することができる。
【００６５】
このような、『対話例１』を踏まえ、図５に示すフローチャートを用いて、図２に示したフローチャートのステップＳ４での処理である理解結果生成部５３による理解結果生成処理について説明をする。
【００６６】
まず、ステップＳ２１において、理解結果生成部５３は、音声認識部５２から認識結果候補のＮ−ｂｅｓｔを受け取ると、今回の発話の直前にキャンセルボタン１２が押下されたかどうかを調べる。理解結果生成部５３は、今回の発話の直前にキャンセルボタン１２が押下されていなかった場合には、ステップＳ２２へと進み、キャンセルボタン１２が押下されていた場合には、ステップＳ２４へと進める。
【００６７】
ステップＳ２２において、今回の発話の直前にキャンセルボタン１２が押下されていなかったことに応じて、理解結果生成部５３は、音声認識部５２から出力された認識結果候補であるＮ−ｂｅｓｔから第１位の認識結果候補を理解結果とする。
【００６８】
ステップＳ２３において、理解結果生成部５３は、メモリ３０の記憶領域３２に過去の認識結果が保存してあればこれを削除する。また、前回の発話以前にキャンセルボタン１２が押下され、キャンセル時の理解結果などがキャンセル情報として、メモリ３０の記憶領域３３に保存されている場合、キャンセル情報も削除をする。
【００６９】
『対話例１』において、理解結果生成部５３は、第１のユーザ発話に対する理解結果生成の際には、それ以前にキャンセルボタン１２が押下されていないので、図３の中で最も尤度が高い認識結果候補である「○×鉄道の北川駅」を理解結果として選択することになる。
【００７０】
『対話例１』では、これに応じて、システムが出力した「○×鉄道の北川駅でよろしいですか？」という第２のシステム発話に対して、ユーザがキャンセルボタン１２を押下したため、システムは直前の理解結果「○×鉄道＋北川駅」をキャンセル情報としてメモリ３０の記憶領域３３に保存し（図２：ステップＳ７）、システム状態を直前の状態に戻す（図２：ステップＳ８）ことになる。ここで、メモリ３０の記憶領域３３に保存されたキャンセル情報は、次回の認識結果理解の際に用いられることになる。
【００７１】
ステップＳ２４において、理解結果生成部５３は、今回の発話の直前にキャンセルボタン１２が押下されたことに応じて、このキャンセルボタン１２の押下の直前にもう一度、キャンセルボタン１２が押下されたかどうか、つまり２回連続してキャンセルボタン１２が押下されたかどうかを調べる。
【００７２】
このステップＳ２４において、キャンセルボタン１２が押下されることで、今回の発話の直前に２回連続でキャンセルボタン１２が押下された場合には、キャンセルボタン１２が押下された直後であっても、ステップＳ２２、ステップＳ２３へと進む。
【００７３】
このように、発話を間に挟まずに、２回連続でキャンセルボタン１２が押下された場合、理解結果生成部５３は、ユーザによってリセットされたと判断し、キャンセルボタン１２が押下されたことによって実行される処理を無効とする。
【００７４】
また、理解結果生成部５３は、２回連続ではなく、１度だけキャンセルボタン１２が押下された場合には、ステップＳ２５以降の処理において、キャンセルボタン１２の押下によってメモリ３０の記憶領域３３に保存されたキャンセル情報を考慮しつつ、今回の認識結果から最適な理解結果を導き出す。
【００７５】
『対話例１』における、第２のユーザ発話を受理する場合、直前に１度だけキャンセルボタン１２が押下されているので、ステップＳ２５〜ステップＳ３５の処理が適用される。
【００７６】
ステップＳ２５において、理解結果生成部５３は、音声認識部５２から受け取った全ての認識結果候補に含まれる単語の中から、助詞などを除く意味を理解するために必要な単語を全て取り出し、その尤度を用いて、上述した（１）式より今回の認識結果に対する単語信頼度を算出する。
【００７７】
図６に、一例として『対話例１』における、第２のユーザ発話である「○×鉄道の品川駅」に対する認識結果候補に含まれる単語の単語信頼度を算出した結果を示す。
【００７８】
ステップＳ２６において、理解結果生成部５３は、単語信頼度を算出した後、メモリ３０の記憶領域３２に過去の認識結果として、過去の認識結果候補に含まれる単語とその単語信頼度とが保存されているかどうかを調べる。
【００７９】
このとき、理解結果生成部５３は、一つ前、つまり前回の音声認識時にも、直前にキャンセルボタン１２が押下されており、単語信頼度の算出を行なったかどうかを調べる。
【００８０】
理解結果生成部５３は、前回の音声認識時に直前でキャンセルボタン１２が押下されなかったり、２回連続でキャンセルボタン１２が押下されたことなどにより、メモリ３０の記憶領域３２に保存されていた過去の認識結果候補に含まれる単語とその単語信頼度がクリアされた場合、ステップＳ２７へと進める。
【００８１】
また、理解結果生成部５３は、メモリ３０の記憶領域３２に保存されていた過去の認識結果がクリアされずに残っている場合、メモリ３０の記憶領域３２に保存されている過去の認識結果候補に含まれる単語とその単語信頼度を、前回までの認識結果候補中の理解結果生成に必要な単語と、その信頼度としステップＳ２８へと進める。
【００８２】
ステップＳ２７において、理解結果生成部５３は、メモリ３０の記憶領域３２に保存されていた過去の認識結果候補に含まれる単語とその単語信頼度が一旦クリアされたことに応じて、後述するステップＳ３５において、メモリ３０の記憶領域３２のクリア後に保存される前回の認識結果候補に含まれる単語の単語信頼度を算出する。
【００８３】
前回の認識結果候補に含まれる単語から単語信頼度を算出するには、ステップＳ２５における今回の認識結果候補に含まれる単語の単語信頼度を算出する場合と同様に、上述した（１）式を用いて算出する。
【００８４】
そして、理解結果生成部５３は、この前回の認識結果候補とその単語信頼度を、前回までの認識結果候補に含まれる理解結果生成に必要な単語とその単語信頼度とする。
【００８５】
『対話例１』における、第１のユーザ発話「○×鉄道の品川駅」に対する理解結果生成処理時には、キャンセルボタン１２が押下されなかったため、単語信頼度の計算が行なわれなかった。したがって、第１のユーザ操作によりキャンセルボタン１２が押下されたことに応じて、本ステップにおいて、新たに第１のユーザ発話の認識結果候補に含まれる単語の単語信頼度を算出することになる。図７に、第１のユーザ発話の認識結果候補に含まれる単語と、その単語の算出された単語信頼度とを示す。
【００８６】
ステップＳ２８において、理解結果生成部５３は、求められた前回までの認識結果候補に含まれる全ての単語の単語信頼度を修正する。
【００８７】
理解結果生成部５３は、単語信頼度を修正するにあたり、前回までの認識結果候補に含まれる単語の単語信頼度が、今回の認識結果候補に含まれる単語の単語信頼度よりも信頼度が低いとして、前回まで認識結果候補に含まれる単語の単語信頼度を全て一定の割合だけ下げる方向で修正を行う。
【００８８】
上述した図７には、『対話例１』における、前回までの認識結果候補に含まれる単語の単語信頼度を修正した修正結果も示している。ここでは、単語信頼度を６０％まで低下させるように修正をしている。
【００８９】
ステップＳ２９において、理解結果生成部５３は、単語信頼度の修正が終了したことに応じて、ステップＳ２８で修正を施した前回までの認識結果候補に含まれる単語と、ステップＳ２５で求めた今回の認識結果候補に含まれる単語とをマージして認識結果単語リストを生成する。
【００９０】
理解結果生成部５３は、認識結果単語リストを生成する際、前回までの認識結果候補と今回の認識結果候補それぞれに重複して含まれる単語の単語信頼度を、前回までの認識結果から得られた単語信頼度と今回の認識結果から得られた単語信頼度の合計とする。それ以外の重複しない単語については、各単語の単語信頼度をそのまま用いる。
【００９１】
ステップＳ３０において、理解結果生成部５３は、ステップＳ２９で得られた結果を、次回の理解結果生成処理において、“前回までの認識結果候補に含まれる単語とその単語信頼度”として利用するため、生成した認識結果単語リストをメモリ３０に保存する。
【００９２】
図８に、『対話例１』における、第１のユーザ発話と第２のユーザ発話の認識結果候補に含まれる単語とその単語信頼度とをマージして得られる認識結果単語リストを示す。
【００９３】
ステップＳ３１において、理解結果生成部５３は、図２に示すフローチャートのステップＳ３で求められた今回の認識結果候補に含まれる単語に対して新たに単語信頼度を割り当て、割り当てられた単語信頼度を足し合わせ、認識結果候補から最適な理解結果を選択するためのスコアとする。
【００９４】
具体的には、理解結果生成部５３は、まず今回の認識結果候補に含まれる単語と同一の単語を、ステップＳ２９で生成した認識結果単語リストから検索する。そして、認識結果単語リストから検索された単語に対応づけられている単語信頼度を取得し、この単語を今回の認識結果候補に含まれる単語に対して割り当てる。
【００９５】
さらに、理解結果生成部５３は、今回の認識結果候補に含まれる単語に対して、認識結果単語リストから取得した単語信頼度を割り当てた後、認識結果候補ごとに割り当てられた単語信頼度を合計することで上述のスコアを算出する。以下、このスコアを理解結果スコアとし、理解結果スコアが求められたことで、認識結果候補を理解結果候補とする。
【００９６】
図９に、『対話例１』の第２のユーザ発話における理解結果候補と理解結果スコアの例を示す。例えば、図９に示すように、理解結果候補が「○×鉄道＋北川駅」であれば、図８に示す認識結果単語リストより、「○×鉄道」に対して単語信頼度１．３２を設定し、「北川駅」に対して単語信頼度０．７４を設定し、両者を足し合わせて理解結果スコア２．０６を求めることができる。
【００９７】
ステップＳ３２において、理解結果生成部５３は、異なる単語数の理解結果候補同士でも、理解結果スコアを比較できるようにするため、各理解結果候補に含まれる単語の単語数に応じて各理解結果スコアを補正する。理解結果スコアの補正は、様々な補正方法が考えられるが、単語数に応じた補正値で理解結果スコアを除算する手法がある。
【００９８】
例えば、理解結果生成部５３は、理解結果候補に２単語を含んでいる場合、この理解結果スコアには、２単語分の単語信頼度が加算されている。そこで、この理解結果スコアを補正値１．６で割ることで、１単語のみの理解結果候補の理解結果スコアと比較可能となる。
【００９９】
上述した図９には、各理解結果候補の理解結果スコアを補正した補正後スコアも示している。図９に示した補正後スコアは、各理解結果スコアを補正値１．６で割ることで求まる値である。
【０１００】
このような、理解結果スコアと、理解結果スコアの補正後スコアまで含めた理解結果候補を、まとめて理解結果候補リストとする。
【０１０１】
ステップＳ３３において、理解結果生成部５３は、過去にキャンセルされた理解結果に応じて、理解結果候補の補正後スコアを修正し修正後スコアを求める。
【０１０２】
例えば、理解結果生成部５３は、理解結果候補リストの各理解結果候補のうち、過去にキャンセルされた情報と一致する理解結果候補があるかどうかを検索し、一致する理解結果候補の補正後スコアに対しては、補正後スコアの値を下げるように修正をし修正後スコアを求める。この、補正後スコアを修正し、修正後スコアを求める処理については、後で詳細に説明をする。
【０１０３】
ステップＳ３４において、理解結果生成部５３は、求めた修正後スコアが最大となっている理解結果候補を最適な理解結果として選択する。
【０１０４】
ステップＳ３５において、理解結果生成部５３は、図２に示すフローチャートのステップＳ３において、音声認識部５２で求められた今回の認識結果候補をメモリ３０の記憶領域３２に保存し、理解結果生成処理を終了する。
【０１０５】
このとき、ステップＳ２２、ステップＳ２３を経由した場合、メモリ３０の記憶領域３２には、過去の認識結果として、今回の認識結果候補のみが保存さる。また、ステップＳ２５〜ステップＳ３４を経由した場合、メモリ３０の記憶領域３２には、過去の認識結果として今回の認識結果候補とその単語信頼度とが追加保存される。
【０１０６】
このようにして、本発明の実施の形態として示す音声対話装置では、キャンセルボタン１２の押下により、一旦キャンセルされた認識結果に含まれる単語が、理解結果候補に含まれている場合、ユーザによって発話された音声と一致する可能性が低いとして補正後スコアの値を下げるように修正し、最終的な理解結果として選択される可能性を低減させる。
【０１０７】
これにより、ユーザによって発話された音声が何度も繰り返して誤認識されることを低減させることができると共に、キャンセルされた認識結果が理解結果として採用される可能性を残すことができる。したがって、ユーザによって発話された音声の音声認識率を大幅に向上させることができる。
【０１０８】
続いて、図５に示したフローチャートのステップＳ３３におけるキャンセルされた理解結果候補の補正後スコアを修正するいくつかの手法について説明をする。
【０１０９】
（補正後スコアの修正処理：一致度に応じた修正）
まず、メモリ３０の記憶領域３３にキャンセル情報として保存されている過去の理解結果と、理解結果候補リストの理解結果候補との一致度に応じて、補正後スコアを修正する手法について説明をする。
【０１１０】
理解結果生成部５３は、メモリ３０の記憶領域３３にキャンセル情報として保存されている過去の理解結果を読み出し、理解結果候補リストの理解結果候補との一致度に応じて０より大きく、１よりも小さい範囲の修正係数（０＜修正係数＜１）を選択し、選択された修正係数を補正後スコアに乗算することで修正処理を行う。
【０１１１】
理解結果生成部５３は、今回の理解結果候補と過去のキャンセル時の理解結果とを比較して、一致度に応じて、例えば、両者が完全に一致する場合（完全一致）、理解結果候補が過去にキャンセルされた理解結果に含まれる場合（訂正⊃理解結果）、過去にキャンセルされた理解結果が理解結果候補に含まれる場合（訂正⊂理解結果）の３つに場合分けをし、それぞれの場合に応じて異なる修正係数を選択する。
【０１１２】
これは、過去にキャンセルされた理解内容と完全に一致する内容が再度入力される、つまり“完全一致”となる可能性が最も低く、続いて、過去にキャンセルされた理解内容の一部と一致する内容が再度入力される、つまり“訂正⊃理解結果”となる可能性が低く、過去にキャンセルされた理解内容を全て含む内容が再度入力される、つまり“訂正⊂理解結果”となる可能性が最も高いことに基づいている。
【０１１３】
例えば、図１０に示すように、今回の理解結果候補と過去のキャンセル時の理解結果との一致度に応じて、異なる修正係数が用いられる。図１１に、『対話例１』において、“完全一致”、“訂正⊃理解結果”、“訂正⊂理解結果”となるキャンセル時の理解結果と今回の理解結果の組み合わせの一例を示す。
【０１１４】
続いて、図１２に示すフローチャートを用いて、図５に示したフローチャートのステップＳ３３におけるキャンセルされた理解結果候補の補正後スコアを修正する処理動作について説明をする。
【０１１５】
まず、ステップＳ４１において、理解結果生成部５３は、理解結果候補リストから理解結果候補を一つ取り出す。
【０１１６】
ステップＳ４２において、理解結果生成部５３は、メモリ３０の記憶領域３３にキャンセル情報として保存されている過去の理解結果を読み出し、理解結果候補リストから取り出した理解結果候補と完全に一致するかどうかを調べる。理解結果生成部５３は、一致する場合、ステップＳ４３へと進め、一致しない場合ステップＳ４４へと進める。
【０１１７】
ステップＳ４３において、理解結果生成部５３は、理解結果候補リストから取り出した理解結果候補と過去の理解結果とが完全一致したことに応じて、この理解結果候補の補正後スコアに、“完全一致”した場合の修正係数ａを乗算して修正後スコアを算出する。
【０１１８】
図１１に示したように、『対話例１』において、キャンセル時の理解結果が「○×鉄道＋北川駅」で、今回の理解結果候補も同じく「○×鉄道＋北川駅」である場合、この理解結果候補は、キャンセル時の理解結果と“完全一致”しているとみなされる。
【０１１９】
このように“完全一致”している場合は、図１０に示すように、修正係数として０．５が選択されるため、今回の理解結果候補「○×鉄道＋北川駅」の補正後スコアに、修正係数０．５を乗算して修正し、修正後スコアを求めることができる。
【０１２０】
また、『対話例１』において、「北川駅」が「○×鉄道」の下位カテゴリとしてしか存在しない場合、「○×鉄道＋北川駅」と「北川駅」は意味上、一致しているので「完全一致」であるとみなすことにする。
【０１２１】
なお、『対話例１』では、第１のユーザ操作により、キャンセルされた時の理解結果は、「○×鉄道＋北川駅」である。図９に示した今回の理解結果候補の一つである「○×鉄道＋北川駅」は、キャンセル時の理解結果と今回の理解結果が完全に一致している。よって、「○×鉄道＋北川駅」の修正後スコアは、補正後スコアの１．２９にキャンセルによる修正係数０．５を乗算して０．６５となる。図９に示すように、修正後スコアは、理解結果候補リストに記述される。
【０１２２】
ステップＳ４４において、理解結果生成部５３は、キャンセル時の理解結果が、理解結果候補リストから取り出した理解結果候補を全て含んでいる（訂正⊃理解結果）かどうかを調べる。
【０１２３】
ステップＳ４５において、理解結果生成部５３は、キャンセル時の理解結果が、理解結果候補リストから取り出した理解結果候補を全て含んでいることに応じて、この理解結果候補の補正後スコアに、“訂正⊃理解結果”である場合の修正係数ｂを乗算して修正後スコアを算出する。
【０１２４】
図１１に示すように、キャンセル時の理解結果が「○×鉄道＋北川駅」で、今回の理解結果候補が「○×鉄道」である場合、キャンセル時の理解結果は、理解結果候補を全て含むため、“訂正⊃理解結果”であるとみなされる。
【０１２５】
このように、“訂正⊃理解結果”である場合は、図１０に示すように、修正係数として０．７が選択されるため、今回の理解結果候補「○×鉄道」の補正後スコアに、修正係数０．７を乗算して修正し、修正後スコアを求めることができる。
【０１２６】
ステップＳ４６において、理解結果生成部５３は、理解結果候補リストから取り出した理解結果候補が、キャンセル時の理解結果を全て含んでいる（訂正⊂理解結果）かどうかを調べる。
【０１２７】
ステップＳ４７において、理解結果生成部５３は、理解結果候補リストから取り出した理解結果候補が、キャンセル時の理解結果を全て含んでいることに応じて、この理解結果候補の補正後スコアに、“訂正⊂理解結果”である場合の修正係数ｃを乗算して修正後スコアを算出する。
【０１２８】
図１１に示すように、キャンセル時の理解結果が「○×鉄道」で、今回の理解結果候補が「○×鉄道＋北川駅」である場合、この理解結果候補は、キャンセル時の理解結果を全て含むため、“訂正⊂理解結果”であるとみなされる。
【０１２９】
このように、“訂正⊂理解結果”である場合は、図１０に示すように、修正係数として０．９が選択されるため、今回の理解結果候補「○×鉄道＋北川駅」の補正後スコアに、修正係数０．９を乗算して修正し、修正後スコアを求めることができる。
【０１３０】
ステップＳ４８において、理解結果生成部５３は、全ての理解結果候補に対して、キャンセル時の理解結果との一致度を調べ終わったことに応じてスコア修正処理を終了する。
【０１３１】
図９に示した理解結果候補リストの理解結果候補の中で、図１１に示すキャンセル時の理解結果との一致が認められるのは「○×鉄道＋北川駅」のみであるため、他の理解結果候補の補正後スコアは修正されず、補正後スコアがそのまま修正後スコアとなる。
【０１３２】
これにより、図９に示す修正後スコアから、理解結果候補である「○×鉄道＋北川駅」と「○×鉄道＋品川駅」の修正後スコアが逆転し、「○×鉄道＋品川駅」の修正後スコアが最大になる。したがって、図５に示すフローチャートにおけるステップＳ３４において、理解結果生成部５３は、理解結果候補から最大の修正後スコアとなる「○×鉄道＋品川駅」を理解結果として選択する。
【０１３３】
これにより、音声認識部５２では、『対話例１』における第１のユーザ発話と第２のユーザ発話に対して同じ誤認識をしたにも関わらず、第４のシステム発話にて「○×鉄道の品川駅でよろしいですか？」と正しい応答をすることができる。
【０１３４】
このように、今回の理解結果候補とキャンセル時の理解結果とを比較した際の一致度に応じて修正係数を変化させることで、キャンセルされた理解結果を修正係数に正しく反映させることができるため、補正後スコアを正確に修正することが可能となる。
【０１３５】
上述した例では、今回の理解結果候補とキャンセル時の理解結果とを比較した際の一致度に応じて異なる３段階の修正係数を用意することで、キャンセルされた理解結果を修正係数に反映させていた。さらに、一致度以外の観点から、キャンセル時の理解結果を修正係数に反映させることもできる。
【０１３６】
（補正後スコアの修正処理：理解結果のキャンセルされた回数よる修正）
まず、理解結果に対するキャンセル回数に応じて補正後スコアを修正する手法について説明をする。
【０１３７】
例えば、理解結果に対して複数回キャンセルを行った場合に、対象となる理解結果が何回前にキャンセルされたかに応じて、修正係数を変化させることができる。この手法は、上述した一致度に応じて修正係数を変化させる手法と組み合わせて用いることもできる。
【０１３８】
図１３に、修正係数を変化させるパラメータとして、理解結果候補とキャンセル時の理解結果との一致度の他に、何回前にキャンセルされた理解結果であるのかというパラメータを付加した場合の修正係数の一例を示す。
【０１３９】
例えば、図１３に示す修正係数を用いると、１回前にキャンセルボタン１２が押下された時の理解結果と現在の理解結果候補とが完全に一致したら、補正後スコアを０．５倍して修正をする。また、２回前にキャンセルボタン１２が押下された時の理解結果と現在の理解結果候補とが完全に一致したら、補正後スコアを０．６倍して修正をする。さらに、３回前に、キャンセルボタン１２が押下された時の理解結果と現在の理解結果候補とが完全に一致したら、補正後スコアを０．７倍して修正をする。
【０１４０】
このように、その理解結果が「キャンセルされた」という情報が古ければ古いほど、つまりキャンセルしたことによる理解結果への影響の低下に応じて、０＜ｄ（ｄ：修正係数）＜１の範囲で、修正係数を大きくし、補正後スコアを下げる割合を小さくする。
【０１４１】
具体的には、メモリ３０の記憶領域３３に、キャンセル情報として保存されている過去の理解結果と共に、他の理解結果がキャンセルされる度にその回数をカウントした情報を記憶させる。
【０１４２】
理解結果候補リストの理解結果候補とキャンセル時の理解結果とを比較した際に、キャンセル時の理解結果に付加されたキャンセル回数をカウントした情報を参照し、キャンセル回数が多ければ理解結果候補への影響が少なく、キャンセル回数が少なければ理解結果候補への影響が大きいと判断することができる。
【０１４３】
したがって、これに応じて修正係数を変化させることで、キャンセルされた理解結果を修正係数に反映させることができるため、補正後スコアを正確に修正することが可能となる。
【０１４４】
（補正後スコアの修正処理：理解結果がキャンセルされてからの経過時間に応じた修正）
次に、キャンセルされたという情報が入力されてから、現在、理解結果生成処理中の発話をが入力されるまでに要した時間に応じて補正後スコアを修正する手法について説明をする。
【０１４５】
この手法は、キャンセルされたという情報が入力されてから、現在、理解結果生成処理中の発話が入力されるまでに要した時間によって修正係数を変化させることで実現できる。
【０１４６】
これについて、図１４に示すユーザによる発話とシステムによるシステム応答のタイミングを示したタイミングチャートを用いて説明をする。図１４に示すタイミングチャートでは、ユーザが時刻Ｔ１において、「品川駅」と発話し、これに対して、システムは「北川駅」であると誤認識をし、時刻Ｔ２において「北川駅でよろしいですか？」というシステム応答を行っている。
【０１４７】
これに応じて、ユーザは、時刻Ｔ３にキャンセルボタン１２を押下し、時刻Ｔ５において「○×鉄道の品川駅」と再入力している。ここでシステムは、これまでの認識結果とキャンセル情報とを用いて入力音声を認識するが、再度誤認識をし、時刻Ｔ６において「○×鉄道の立川駅でよろしいですか？」というシステム応答を行っている。
【０１４８】
そのため、ユーザは、時刻Ｔ７において、再度、キャンセルボタン１２を押下、時刻Ｔ９において再度「品川駅」と入力をしている。これに応じて、システムは、これまでの認識結果とキャンセル情報とを用いて、最適な理解結果を導き出し、時刻Ｔ１０において、「品川駅でよろしいですか？」というシステム応答を行っている。
【０１４９】
このような、図１４に示すユーザとシステムとの対話例の中で、時刻Ｔ９において入力されたユーザ発話に対して、理解結果生成部５３は、時刻Ｔ３でキャンセルされたシステムによる理解結果「北側駅」と、時刻Ｔ７でキャンセルされたシステムによる理解結果「○×鉄道の立川駅」について、現在の理解結果候補と一致するかどうか判定し、補正後スコアを修正する必要がある。
【０１５０】
この時、理解結果生成部５３は、キャンセルされた発話が入力されてから、現在の理解結果生成を行っている発話が入力されるまでに要した時間に応じて修正係数を変化させる。
【０１５１】
例えば、図１４に示す例では、キャンセルされた発話が入力されてから、現在の理解結果生成を行っている発話が入力されるまでに要する時間は、時刻Ｔ３において、キャンセルされた理解結果「北川駅」を導いた発話の入力が開始された時刻Ｔ１から、現在、理解結果生成処理中の発話の入力が開始された時刻Ｔ９までの時間Ｔｘ１と、時刻Ｔ７において、キャンセルされた理解結果「○×鉄道の立川駅」を導いた発話の入力が開始された時刻Ｔ５から、現在、理解結果生成処理中の発話の入力が開始された時刻Ｔ９までの時間Ｔｘ２である。
【０１５２】
理解結果生成部５３は、キャンセルされた発話が入力されてから現在、理解結果生成処理を行なっている発話が入力されるまでに要した時間に比例して、０＜ｄ（ｄ：修正係数）＜１の範囲で、修正係数を大きくする。つまり、キャンセルされた発話が入力されてから、現在、理解結果生成処理を行っている発話が入力されるまでの時間が長ければ長いほど、修正係数が大きくなるため、その影響力は小さくなる。
【０１５３】
ここで、修正係数をｄとし、キャンセルされた発話が入力されてから現在の入力が開始されるまでの時間をＴとすると、修正係数は、以下に示す（３）式で表すことができる。
【数２】
0004635743.tif 000003
【０１５４】
上述したＴｘ１、Ｔｘ２をそれぞれ４０秒、２０秒とし、図１４に示す対話例に（３）式を適用すると、Ｔｘ１、Ｔｘ２に応じた修正係数ｄ１と、修正係数ｄ２とは以下に示すように求めることができる。
【０１５５】
ｄ１  ＝  ０．０２×４０  ＝  ０．８
ｄ２  ＝  ０．０２×２０  ＝  ０．４
補正後スコアを修正し修正後スコアを求める場合、この修正係数を補正後スコアに乗算するため、修正係数が小さいほど補正後スコアに対する修正の割合が大きくなる。
【０１５６】
したがって、今回の理解結果候補が、時刻Ｔ１に入力された発話より得られた理解結果である「北川駅」と一致する場合よりも、時刻Ｔ５に入力された発話より得られた理解結果である「○×鉄道の立川駅」と一致した場合のほうが、補正後スコアを修正する割合が大きくなる。
【０１５７】
図１５に、図１４に示す対話例における第３のユーザ発話に対する理解結果候補と、その理解結果スコア、補正後スコア、修正係数、修正後スコアを示す。
【０１５８】
図１５に示す理解結果候補のうち第１候補の「○×鉄道＋立川駅」、第２候補の「北川駅」は、図１４の対話例で示したように誤認識であり、第３候補である「品川駅」がユーザによって入力された発話と一致する正しい結果である。
【０１５９】
図１５の理解結果スコア、補正後スコアは、上述した図５のフローチャートのステップＳ３１、ステップＳ３２においてそれぞれ求められる値である。また、図１５に示す理解結果候補のうち、過去にキャンセルされている「○×鉄道＋立川駅」と「北川駅」に対し、それぞれ上述した修正係数ｄ２＝０．４、修正係数ｄ１＝０．８を乗算すると、修正後スコアを求めることができる。
【０１６０】
図１５に示すように、修正前のスコアである補正後スコアは、「○×鉄道＋立川駅」のの方が「北川駅」よりも大きいが、修正された修正後スコアを較べると、直近でキャンセルされた「○×鉄道＋立川駅」の方が、「北川駅」よりも小さなスコアとなっているのが分かる。しかしながら、キャンセルによって修正されなかった「品川駅」の修正後スコアの方が、他の理解結果候補の修正後スコアよりも大きいため、最終的な最適な理解結果として「品川駅」が選択されることになる。
【０１６１】
このように、キャンセルされた理解結果を導く音声が発話されて入力されてから、現在、理解結果生成処理中の音声が発話され入力されるまでに要した時間に応じて修正係数を変化させることで、キャンセルされた理解結果を修正係数に正しく反映させることができるため、補正後スコアを正確に修正することが可能となる。
【０１６２】
（補正後スコアの修正処理：タスクシーケンスによる修正）
また、現在のシステム状態がタスクシーケンスのどこにあるかによって修正係数を変化させることもできる。
【０１６３】
例えば、階層的にツリー構造を辿って施設を検索するような目的地設定の場合、上位項目の選択と、その中身の確認をいくつかの上位項目に対して行なってから最終的な項目を選択するような場合がある。
【０１６４】
例えば、現在地の近くで飲食店を選択する場合に、選択可能なジャンルとして「和食」と「中華」があったとする。その際、一旦、「和食」を選択して中身を確認した後、「和食」をキャンセルして「中華」を選択し、さらに「中華」の中身を確認したが結局「中華」もキャンセルして「和食」を選択しなおすような場合がある。
【０１６５】
このような場合、「和食」は、一旦キャンセルされているが誤認識だったわけではない。このように、階層的にならんだツリー構造の途中の項目を過去にキャンセルした場合には、誤認識ではなく正解であったとしても、キャンセルされた可能性があるとして考慮する必要がある。
【０１６６】
しかし、ツリー構造の末端、例えば「○○寿司」などの店舗名などを選択した場合には、いったん選択してからキャンセルされる可能性は非常に低いため、キャンセルされた場合これは誤認識であった可能性が高いと考える必要がある。
【０１６７】
つまり、音声対話装置が、段階的に発話を要求し所望のタスクを実現するタスクシーケンスを実行する際に、タスクシーケンスにおけるツリー構造の末端がキャンセルされた場合の修正係数は、０＜ｄ（ｄ：修正係数）＜１の範囲で、ツリー構造の途中の項目がキャンセルされた場合の修正係数よりも小さくなるように、つまり修正の割合を大きくして、再度選択されにくくする方向で修正を行う。
【０１６８】
これにより、キャンセルされた理解結果を修正係数に正しく反映させることができるため、補正後スコアを正確に修正することが可能となる。
【０１６９】
例えば、ツリー構造のメニューを辿ることでタスクを実現するタスクシーケンスにおいて、下位の選択項目を有する上位項目を選択する場合には、キャンセルの影響を小さく、末端の下位の選択項目を選択する場合には、キャンセルの影響を大きくすることができる。  したがって、ツリー構造のメニュー操作において、各上位項目の下にどのような下位項目があるかを確認してから上位項目を選択するような場合には、一度キャンセルされても上位項目であれば、次回確認時に再度認識されやすくすることができる。
【０１７０】
（補正後スコアの修正処理：キャンセル操作までに要した時間に応じた修正）
また、発話された音声が入力されてから、この音声に対する理解結果が生成されキャンセル操作がなされるまでに要した時間に応じて修正係数を修正することもできる。
【０１７１】
具体的には、キャンセルされた発話が入力されてからキャンセル操作までの時間が短い場合には、キャンセルされた理解結果の影響が大きくなるように修正係数を修正し、キャンセルされた発話が入力されてからキャンセル操作までの時間が長い場合には、キャンセルされた理解結果の影響が小さくなるように修正係数を修正する。
【０１７２】
これにより、上述したようなツリー構造のメニューにおいて、各上位項目の下にどのような下位項目があるかを確認してから上位項目を選択ような場合において、ユーザが下位項目に興味を示さずに理解結果が出力されてから時間をかけずに直ぐにキャンセルすると、この上位項目は次回認識時に再度認識されにくくなる。逆に、下位項目を長く表示させて内容を確認するなど時間をかけると、この上位項目は次回認識時に再度認識されやすくなる。
【０１７３】
（補正後スコアの修正処理：キャンセル指示の入力手法の違いに応じた修正）
また、本発明の実施の形態として示す音声対話装置では、音声認識結果をキャンセルする場合にキャンセルボタン１２を押下することで、キャンセルする旨を入力しているが、例えば、否定語などの音声入力により音声認識結果をキャンセルする旨を入力するようにしてもよい。また、キャンセルボタン１２の押下、音声による入力、さらに別な手法により音声認識結果をキャンセルする旨を入力するようにしてもよい。
【０１７４】
このように、音声認識結果をキャンセルする旨と通知する手段を複数備えている場合、キャンセル手段の違いに応じて上述した、修正係数を変化させることができる。
【０１７５】
例えば、音声入力による誤認識は、スイッチ入力の際の押し間違えなどによる誤入力よりも頻繁に起こるため、音声入力により音声認識結果をキャンセルする旨を入力した場合、その信頼性は低いと考えられる。
【０１７６】
そこで、音声入力による音声認識によりキャンセルする旨を入力する場合、キャンセルボタン１２を押下して音声認識結果をキャンセルする旨を入力する場合よりも、０＜ｄ（ｄ：修正係数）＜１の範囲で、修正係数を大きくして、補正後スコアを修正する割合を小さくすることで、音声入力による不確かなキャンセル情報であっても理解結果生成に利用することができる。
【０１７７】
これにより、キャンセルされた理解結果を修正係数に正しく反映させることができるため、補正後スコアを正確に修正することが可能となる。
【０１７８】
以上、説明した補正スコアの修正処理手法は、それぞれ独立して用いた場合でも、それぞれを任意に組み合わせて使用した場合でも、キャンセルされた理解結果を正確に修正係数へと反映させることができ、補正後スコアを正確に修正することが可能となる。したがって、ユーザによって発話された音声に対して、高い認識率で認識されるため、より正確な理解結果を生成することができる。
【０１７９】
上述した説明では、認識結果候補に含まれる単語の単語信頼度を求め、理解結果候補から最適な理解結果を選定するための判断基準となる理解結果スコアをこの単語信頼度から算出している。そして、理解結果がキャンセルされた場合には、理解結果スコアを理解結果候補の単語数に基づいて補正した補正後スコアに対して、キャンセルされた理解結果に応じた修正することで、最終的に選定される理解結果に、キャンセルされた理解結果による影響を反映させている。
【０１８０】
本発明は、音声認識部５２による音声認識結果である認識結果候補から最終的な理解結果を選択するにあたり、選択の基準値として必ずしも理解結果スコアを求める必要はなく、認識結果候補に含まれる単語の単語信頼度を選択の基準値として理解結果を求めたり、認識結果候補の音響的な尤度を選択の基準値として理解結果を求めるようにしてもよい。
【０１８１】
したがって、このような場合、最終的に選定される理解結果にキャンセルされた理解結果による影響を反映するには、理解結果スコアに対するスコア修正ではなく、単語信頼度の修正又は音響的な尤度の修正を行うことになる。
【０１８２】
具体的には、上述した理解結果スコアを求める際に認識結果候補に含まれる単語に対して求めた単語信頼度を、キャンセルされた理解結果に応じて、最終的な理解結果とし選択されにくくなる方向に修正することになる。そして、キャンセルされた理解結果に応じて修正された単語信頼度が最も高い単語を最終的な理解結果として選定する。
【０１８３】
また、音響的な尤度の場合は、音声認識部５２による音声認識処理により得られた認識結果候補の尤度を、キャンセルされた理解結果に応じて、最終的な理解結果として選択されにくくなる方向に修正をする。そして、キャンセルされた理解結果に応じて修正された音響的な尤度が最も高い認識結果候補を、最終的な理解結果として選定する。
【０１８４】
このように、単語信頼度に基づいて理解結果を生成する場合、音響的な尤度に基づいて理解結果を生成する場合、いずれの場合も、図５に示すフローチャートのステップＳ３３におけるキャンセルされた理解結果候補に対する理解結果スコアを修正する手法を全て適用することができ、この手法を用いて単語信頼度又は音響的な尤度を修正することで、キャンセルされた理解結果をより正確に反映させて、最終的な理解結果を生成することができる。
【０１８５】
ただし、単語信頼度を求めた場合、さらには、理解結果スコアを求めた場合には、同一の判断基準で各単語の発話可能性を判断することができるため、より正確な理解結果を生成することができるという点で優位性がある。
【０１８６】
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【０１８７】
【図１】本発明の実施の形態として示す音声対話装置の構成について説明するための図である。
【図２】前記音声対話装置において、音声認識処理を開始してから応答文を出力するまでの処理動作について説明をするためのフローチャートである。
【図３】認識結果候補の一例とその尤度とを示した図である。
【図４】認識結果候補の一例とその尤度とを示した図である。
【図５】理解結果生成処理について説明するためのフローチャートである。
【図６】認識結果候補に含まれる単語の一例とその単語信頼度とを示した図である。
【図７】認識結果候補に含まれる単語の一例とその単語信頼度、修正済単語信頼度とを示した図である。
【図８】認識結果単語リストの一例を示した図である。
【図９】理解結果候補の一例とその理解結果スコア、補正後スコア、修正後スコアとを示した図である。
【図１０】一致度と修正係数との関係を示した図である。
【図１１】キャンセル時の理解結果と今回の理解結果との一致度の一例を示した図である。
【図１２】キャンセルされた理解結果候補の補正後スコアを一致度に応じて修正する処理動作について説明するためのフローチャートである。
【図１３】一致度と何回前にキャンセルされたかに応じて変化する修正係数を示した図である。
【図１４】時間に応じた補正後スコアの修正について説明するための図である。
【図１５】図１４に示した対話例に基づく理解結果候補とその理解結果スコア、補正後スコア、修正係数、修正後スコアの一例を示した図である。
【符号の説明】
【０１８８】
１０  入力装置
１２  キャンセルボタン
２０  マイク
３０  メモリ
５０  制御装置
５１  入力制御部
５２  音声認識部
５３  理解結果生成部
５４  対話制御部
【図１】
0004635743.tif 000004
【図２】
0004635743.tif 000005
【図３】
0004635743.tif 000006
【図４】
0004635743.tif 000007
【図５】
0004635743.tif 000008
【図６】
0004635743.tif 000009
【図７】
0004635743.tif 000010
【図８】
0004635743.tif 000011
【図９】
0004635743.tif 000012
【図１０】
0004635743.tif 000013
【図１１】
0004635743.tif 000014
【図１２】
0004635743.tif 000015
【図１３】
0004635743.tif 000016
【図１４】
0004635743.tif 000017
【図１５】
0004635743.tif 000018