(57)【特許請求の範囲】
【請求項１】
タスク管理手段の管理している対話の進行上における次のアクションを促すガイダンス内容と、キーワード保持手段が保持している前段階の認識結果である最新のキーワードを用いて、対話の進行上における次のアクションを促すガイダンス文の中に、前記最新のキーワードを含めた応答文を応答生成手段で生成し、出力させると共に、
認識語彙補足手段において、タスク管理手段の管理している対話の進行上における次の場面での認識語彙に、タスクから独立なコマンドを表す単語を補足し、その補足後の認識語彙の範囲内で、音声認識手段において利用者の発話した音声を認識させ、
キーワード判定手段において、その認識結果が前記タスクから独立なコマンドか、それ以外のタスクに依存したキーワードかを判定し、
その判定結果がコマンドである場合は、各コマンドに対する処理を行い、
さらに前記判定結果が前記キーワードである場合は、該判定結果であるキーワードを新たに最新のキーワードとしてキーワード保持手段へ保持させるとともに該判定結果であるキーワードをタスク管理手段へ通知する、
以上を繰り返すことにより音声を進行させ、
前記コマンドは、少なくとも「問わない」「何でも良い」「任意」などの任意を意味する単語を含み、前記判定結果が該任意を意味する単語である場合に、上記タスク管理手段に要求項目の内容が任意であることを通知するとともに同タスク管理手段に対話の進行上における次のアクションを促すガイダンス内容を要求し、その返答内容に従って対話進行することを特徴とする音声対話制御方法。
【請求項２】
前記請求項１記載の音声対話制御方法において、前記コマンドは、少なくとも「違います」「違う」「いいえ」「取消」「キャンセル」などの否定あるいは取消を意味する単語を含み、 前記判定結果が該否定あるいは取消を意味する単語である場合に、前記キーワード保持手段に最新のキーワードを１つ削除するように指示し、同時に前記タスク管理手段に１つ前の要求項目の内容が取り消されたことを通知することを特徴とする音声対話制御方法。
【請求項３】
前記請求項１記載の音声対話制御方法において、前記コマンドは、少なくとも「ヘルプ」などの助言要求を意味する単語を含み、 前記判定結果が該助言要求を意味する単語である場合に、応答生成手段において、使い方についてのメッセージ文を出力させることを特徴とする音声対話制御方法。
【請求項４】
前記請求項１記載の音声対話制御方法において、前記コマンドは、少なくとも「ストップ」「停止」「中止」「中断」などのシステムの処理の停止要求を意味する単語を含み、前記判定結果が該停止要求を意味する単語である場合に、対話進行を停止することを特徴とする音声対話制御方法。
【請求項５】
前記請求項１記載の音声対話制御方法において、 前記応答生成手段は１つ以上の応答文を蓄積し、後で参照できる手段を持ち、前記コマンドは、少なくとも「もう一度」「リピート」などの直前のシステム応答の再出力要求を意味する単語を含み、前記判定結果が該再出力要求を意味する単語である場合に、応答生成手段において直前に出力した応答文の再出力させることを特徴とする音声対話制御方法。
【請求項６】
前記請求項１記載の音声対話制御方法において、前記コマンドは、少なくとも「わかりません」「わからない」などの不明を意味する単語を含み、前記判定結果が該不明を意味する単語である場合に、前記タスク管理手段に１つ前の要求項目の内容が不明であることを通知するとともに同タスク管理手段に対話の進行上における次のアクションを促すガイダンス内容を要求し、その返答内容に従って対話進行することを特徴とする音声対話制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報検索などを行なうために利用する計算機システムに係り、特に、マイクとスピーカあるいは電話などの音声入出力インタフェースを備え、誰でも容易に利用することができる音声対話システムに関するものである。
【０００２】
【従来の技術】
音声対話システムでは一般に、利用者のシステムに対するデータ入力において音声認識の技術を用いている。音声によるデータ入力は、電話を通して使う場合、あるいは車の運転中などのいわゆるハンズアイビジーの状況下使う場合、非常に有効である。
【０００３】
普通は複数の項目（例えば、電話番号検索のアプリケーションでは相手の所属と名前、チケットの予約のアプリケーションでは月日、時間、大人または子供、枚数等）に対してデータを入力する。しかし一方、音声認識において１００％の認識率を実現することは不可能であり、利用者の入力に対して、入力項目毎にシステムの認識結果を確認することが必須である。例えば、文または文節単位の音声認識が可能な音声対話システムでの対話例は、
システム：「相手の所属と名前をどうぞ」
利用者  ：「資材課の佐藤さん」
システム：「資材課の佐藤ですね」
利用者  ：「はい」
となる。この例のように、文または文節単位の音声認識が可能なシステムで認識が正しく行われた場合は、入力時間も短く利用効率が良くなる。しかし、文または文節単位の認識の場合、複数のキーワード（ここでの例では相手の所属と名前）の組合せ分だけ認識対象の種類が多くなるばかりでなく、助詞も含めた表現のバラエティが多様になるという点で、単語認識に比較して認識性能が低くなる。さらに、認識を間違えた場合は、次のような問題も発生する。
【０００４】
システム：「相手の所属と名前をどうぞ」
利用者  ：「資材課の佐藤さん」
システム：「資材課の加藤ですね」
利用者  ：「いいえ」
システム：「相手の所属と名前をどうぞ」
最初のシステムの質問に、所属と名前という２つのキーワードが含まれている。この場合、システム側でこのやりとりだけからでは、利用者が否定したことが所属と名前のどちらか片方だけを誤認識したことを意味するのか、あるいは両方誤認識したことを意味するのか、が特定できない。したがって、所属と名前の両方のキーワードが正しく認識されるまで、同じ質問を繰り返すことになる。この場合は、時間がかかるという問題がある。また別な対処方法として、利用者に誤認識された方だけ再入力してもらう方法も考えられる。この場合は、所属か名前かわからない発声を認識しなければならないので、音声認識の性能に対する要求が現状で対応可能なレベルより高くなるという問題がある上、そのように利用者の発声を誘導するにはどうすれば良いかという、解決が非常に困難な課題が生じる。
【０００５】
これに対して、単語認識の場合は認識対象の表現のバラエティが抑えられ、現状レベルでもほぼ満足のいく認識性能が得られる。また、項目を１つずつ質問し、確認するために、確実に１項目ずつのデータ入力が行える。例えば、次のようになる。
【０００６】
システム：「相手の所属をどうぞ」
利用者  ：「資材課」
システム：「資材課ですか」
利用者  ：「はい」
システム：「相手の名前をどうぞ」
利用者  ：「佐藤」
システム：「佐藤ですか」
利用者  ：「はい」
ただし、ここに示したようにやりとりが長くなり全体に時間がかかる傾向になるという大きな問題が残る。
【０００７】
【発明が解決しようとする課題】
上記のような従来の音声対話システムにおいて、現状の音声認識性能と時間的な利用効率は相反するパラメータであった。
【０００８】
本発明の目的は、現状で可能な音声認識性能の範囲で、最も効率良くデータ入力が行え、利用者とシステムとの間で円滑な対話を実現できる音声対話システムを提供することにある。
【０００９】
【課題を解決するための手段】
本発明によれば、以下のような手段による対話制御方法および以下のような手段を設けた音声対話システムが提供される。
【００１０】
タスク管理手段に要求を出しその返答結果に応じて、応答生成手段、認識語彙補足手段、キーワード判定手段、およびキーワード保持手段を制御し、また認識語彙補足手段を介して音声認識手段を、さらに応答生成手段を介して音声合成手段を制御し、システムと利用者の間の対話を進行させる対話制御手段の元で、
前記キーワード保持手段は、前記対話制御手段の要求に基づき、キーワードの保持、削除、最新のキーワードの通知を行い、
前記対話制御手段は、タスク管理手段に対話の進行上における次のアクションを促すガイダンス内容を要求して該ガイダンス内容を受け取り、また前記キーワード保持手段に最新のキーワードを要求して該最新のキーワードを受け取り、前記ガイダンス内容と前記最新のキーワード、およびそれらを用いて応答文を生成させる指示を応答生成手段へ通知し、前記応答生成手段は、前記対話制御手段から受け取った指示に従い、 対話の進行上における次のアクションを促すガイダンス文の中に、同時に受け取った前段階の認識結果でもある最新のキーワードを含めた応答文を生成し、音声合成手段へ出力し、
次に前記対話制御手段は、タスク管理手段に対話の進行上における次の認識語彙を要求して該認識語彙を受け取り、タスクに依存したキーワードからなる該認識語彙を認識語彙補足手段へ送り、
前記認識語彙補足手段は、前記対話制御手段より受け取った認識語彙に、「取消」「ヘルプ」「ストップ」「もう一度」「わからない」「任意」などのタスクから独立なコマンドを表す単語を補足して、音声認識手段およびキーワード判定手段に渡し、
前記キーワード判定手段は、前記認識語彙補足手段より得た補足後の認識語彙と前記音声認識手段より得た認識結果とを比較し、該認識結果が前記タスクから独立なコマンドか、タスクに依存したキーワードかを判定し、その判定結果を対話制御手段へ送り、
さらに次に前記対話制御手段は、前記キーワード判定手段の判定結果を元に、該判定結果がキーワードである場合は、それをキーワード保持手段に送ると共に該キーワードをタスク管理手段に送り、 前記判定結果がコマンドである場合は、各コマンドに対する処理を行う。
【００１１】
【発明の実施の形態】
以下図を用いて本発明の実施例を説明する。
【００１２】
図１は本発明による音声対話システムの一実施例を示すブロック図である。音声対話システムは、あるタスクを遂行することを目的として、利用者とシステムが音声を使ってやりとりをするようなシステムである。本発明による音声対話システムは、対話制御手段（５）の制御の元に動作する。対話制御手段（５）の動作については、後で詳述する。
【００１３】
タスク管理手段（１０）は、タスクに依存した処理を全て担当する。タスクに依存した情報（タスク遂行の手順、場面毎の入力待ち語彙、等）を管理したり、対話制御手段からのタスクの進行等についての問い合わせなどに返答したりする。
【００１４】
音声認識手段（２）は、与えられた認識語彙の範囲内で、入力される音声（１）を認識し、認識結果を１つの単語あるいは複数の単語の列として出力する。音声認識手段（２）の実現方法としては様々な手法が考えられ、本発明はその方法を限定しない。例えば、ＨＭＭ（ＨｉｄｄｅｎＭａｒｋｏｖＭｏｄｅｌ）という確率モデルを用いる手法が扱いやすい。この方法を用いれば、任意の認識語彙をテキストとして与えるだけで、音声認識できる構成にすることができる。詳細は、“中川聖一：”確率モデルによる音声認識、電子情報通信学会、１９８８”他の文献に詳しいので、本明細書では省略する。
【００１５】
認識語彙補足手段（３）は、対話制御手段（５）より受け取った認識語彙に、特にタスクから独立なコマンドを表す単語等を補足して、音声認識手段に渡す。ここで、コマンドとしては、 「違います」「違う」「いいえ」「取消」「キャンセル」などの否定あるいは取消を意味する単語、 「ヘルプ」などの助言要求を意味する単語、 「ストップ」「停止」「中止」などのシステムの処理の停止要求を意味する単語、「もう一度」
「リピート」などの直前のシステム応答の再出力要求を意味する単語、などがある。さらに、「わかりません」「わからない」などの不明を意味する単語、「問わない」「何でも良い」「任意」などの任意を意味する単語なども認識語彙補足手段（３）で補足され得る単語とする。図３に認識語彙の例を示しており、人名の認識語彙を例に取り、補足前（ａ）と補足後（ｂ）の認識語彙を示している。
【００１６】
キーワード判定手段（６）は、音声認識手段（２）より得られた認識結果がタスクから独立なコマンドか、タスクに依存したキーワードかを判定し、その結果を対話制御手段へ送る。ここで、判定結果は、例えば図４に示すように表現される。図４に示した例では、１つの判定結果が、２つの値の組み合わせで表現される。左側が判定結果の種類を表しており、「ＣＭＤ」はコマンド、「ＫＷ」はキーワードを表す。 また、「ＣＭＤ」と組み合わされている「ＣＡＮＣＥＬ」、「ＨＥＬＰ」はコマンドの種類を表している。さらに「ＫＷ」と組み合わされている“資材課”や“佐藤”は実データ値を示している。
【００１７】
キーワード保持手段（６）は、対話制御手段の指示に従って、渡されたキーワードをスタック形式で保持したり、スタックに積まれているキーワードを対話制御手段に通知したりする。
【００１８】
応答生成手段（７）は、対話制御手段（５）からの指示に従い、タスクを遂行するために必要な項目の内容（名前などの実データ値）を質問するような応答文を生成する。
【００１９】
音声合成手段（８）は、応答生成手段（７）から得られる応答文を音声波形に変換してスピーカなどの電気信号から音波へ変換するデバイスにより空間中を伝播する音声（９）として出力する。
【００２０】
図２は対話制御手段の処理フローを示す図である。簡単のために、本発明による音声対話システムでデータ入力のみが行われる場合のフローを示している。実際のタスクにおいては、利用者に対する結果のみの提示なども含まれることになる。
【００２１】
次に、図２のフローに従って、電話接続サービスなどをタスクとして、所属名に‘資材課’、人名に‘佐藤’を入力する場合を仮定して処理手順を説明する。
【００２２】
同タスク管理手段に対話の進行上における次のアクションを促すガイダンス内容を要求し、
まずサービスが開始された時点では、対話制御手段（５）は、 タスク管理手段（１０）へ対話の進行上における次のアクションを促すガイダンス内容を要求する。この要求に対する返答は、 次のガイダンス内容が「所属の質問」である、として得られる。次に、対話制御手段（５）は、キーワード保持手段から最新のキーワードを受理しようとする。システム利用開始直後は、キーワード保持手段はからであり、その旨が対話制御手段へ通知される。次に、対話制御手段（５）は、次のガイダンス内容（「所属の質問」）と、あれば最新のキーワード（この段階では「なし」）を応答生成手段（７）に送り、応答文を生成するように指示する。応答生成手段（７）では、 ガイダンス内容が「所属の質問」であるので、例えば“所属をどうぞ”というような質問文を生成して、音声出力手段（８）に送る。続いて、対話制御手段（５）は、「所属」を音声認識するための認識語彙を、認識語彙補足手段（３）へ送る。ここでの認識語彙は、先の、次のアクションを促すガイダンス内容を要求した際に、タスク管理手段（１０）より一緒に受け取ることとする。あるいは、この段階であらためて、タスク管理手段に問い合わせて、受理しても良い。この後、認識語彙補足手段（３）で補足された認識語彙は、音声認識手段（２）に送られる。そして、利用者の発声に対する音声認識手段（２）よる認識結果は、キーワード判定手段（４）を介してコマンドかキーワードかの判定が付加され、図４に示したような形式で対話制御手段（５）に戻される。今の仮定では、ここでの受理結果は「ＫＷ］＋「資材課」である。すなわち、対話制御手段（５）はキーワードをキーワード保持手段（６）のスタックにキーワードをＰＯＰし、さらに、タスク管理手段（１０）に対してキーワードを通知する。この時点で、タスク管理手段（１０）は、内部でタスクの進行状態が更新される。
【００２３】
ここで、図２のフローの最初に戻り、対話制御手段（５）は、再びタスク管理手段（１０）へ、対話の進行上における次のアクションを促すガイダンス内容を要求する。この要求に対する返答は、次のガイダンス内容が「名前の質問」であるである、として得られる。次に、対話制御手段（５）は、キーワード保持手段から最新のキーワードを問い合わせ、先ほどＰＯＰされたばかりの「資材課」が得られる。そして、対話管理手段（５）は、次のガイダンス内容（「名前の質問」）と最新のキーワード（「資材課」）を応答生成手段（７）に送り、応答文を生成するように指示する。応答生成手段（７）では、 「資材課」を含めて、かつ、「名前」を問い合わせるような質問文、例えば“資材課で名前は何ですか”とか“資材課の誰ですか”というような質問文を生成して、音声出力手段（８）に送る。続いて、対話制御手段（５）は、「名前」を音声認識するための認識語彙を、認識語彙補足手段（３）へ送る。そしてまた、音声認識手段（２）による認識結果は、キーワード判定手段（４）を介してコマンドかキーワードかの判定が付加され、図４に示したような形式で対話制御手段（５）に戻される。今の仮定では、ここでの受理結果は「ＫＷ］＋「佐藤」となる。以上の繰り返しで、基本的な対話が進行していく。
【００２４】
次に、利用者の「資材課」の発声が誤認識されて、認識結果が「施設課」になったと仮定した場合の例を説明する。先の“資材課の誰ですか”の代わりに“施設課の誰ですか”というシステム出力になっているはずであり、それに対して、利用者は“違います”と答えたとする。キーワード判定手段（４）より受け取った結果が「ＫＷ」＋「佐藤」でなく、「ＣＭＤ」＋「ＣＡＮＣＥＬ」となる。この場合、対話制御手段（５）はキーワード保持手段（６）に対して、キーワードを１つ（今の場合「資材課」）ＰＯＰするように指示する。さらに、タスク管理手段（１０）に対して、ＰＯＰされた「資材課」を取り消すように通知する。ここで、対話制御手段（５）の処理は図２のフローの最初に戻り、タスク管理手段（１０）、キーワード保持手段（６）への問い合わせをし、次のアクションを促すガイダンス内容が「所属の質問」であり、最新のキーワードは「なし」であることを応答生成手段（７）に送り、応答生成手段（７）で再び、“所属をどうぞ”というような質問文が生成される。
【００２５】
最後に、本発明による音声対話システムを利用した場合の、対話例を示す。タスクを電話の接続サービスとした場合の例である。
【００２６】
システム：「相手の所属をどうぞ」
利用者  ：「資材課」
システム：「資材課の誰ですか」
利用者  ：「佐藤」
システム：「佐藤さんに電話をつなぎます」
次に、１番目の項目で誤認識した場合の対話例を示す。
【００２７】
0003700266.tif 000002
次に、２番目以降の項目で誤認識した場合の対話例を示す。
【００２８】
0003700266.tif 000003
図１において、利用者とシステムとの間のメディアとして、音声のみしか描いていないが、文字、画像、など他のメディアも含めた対話システムでも良い。また、ボタン入力を用意し、取消などをボタン入力するようにしても良い。遠隔地の電話機から利用している際には、取消などにタッチトーン信号を用いても良い。
【００２９】
図１におけるタスク管理手段はタスクに特有の処理も含んでいる。例えば、遠隔地の電話機からシステムを利用する形態の場合、電話回線の制御などが考えられる。
上記の様に、本願では、タスク管理手段の管理している対話の進行上における次のアクションを促すガイダンス内容と、キーワード保持手段が保持している前段階の認識結果である最新のキーワードを用いて、 対話の進行上における次のアクションを促すガイダンス文の中に、前記最新のキーワードを含めた応答文を応答生成手段で生成し、出力させると共に、認識語彙補足手段において、タスク管理手段の管理している対話の進行上における次の場面での認識語彙に、タスクから独立なコマンドを表す単語を補足し、その補足後の認識語彙の範囲内で、音声認識手段において利用者の発話した音声を認識させ、キーワード判定手段において、その認識結果が前記タスクから独立なコマンドか、それ以外のタスクに依存したキーワードかを判定し、その判定結果がコマンドである場合は、各コマンドに対する処理を行い、さらに前記判定結果が前記キーワードである場合は、該判定結果であるキーワードを新たに最新のキーワードとしてキーワード保持手段へ保持させると同時に、さらに該判定結果であるキーワードをタスク管理手段へ通知する、以上を繰り返すことにより音声を進行させることを特徴とする音声対話制御方法を開示する。
更に前記コマンドについては、以下の実施例を開示する。少なくとも「違います」「違う」「いいえ」「取消」「キャンセル」などの否定あるいは取消を意味する単語を含み、 前記判定結果が該否定あるいは取消を意味する単語である場合に、前記キーワード保持手段に最新のキーワードを１つ削除するように指示し、同時に前記タスク管理手段に１つ前の要求項目の内容が取り消されたことを通知する。少なくとも「ヘルプ」などの助言要求を意味する単語を含み、 前記判定結果が該助言要求を意味する単語である場合に、応答生成手段において、使い方についてのメッセージ文を出力させる。少なくとも「ストップ」「停止」「中止」「中断」などのシステムの処理の停止要求を意味する単語を含み、前記判定結果が該停止要求を意味する単語である場合に、対話進行を停止する。少なくとも「もう一度」「リピート」などの直前のシステム応答の再出力要求を意味する単語を含み、前記判定結果が該再出力要求を意味する単語である場合に、応答生成手段が１つ以上の応答文を蓄積し後で参照できる手段を持ち、直前に出力した応答文の再出力させる。少なくとも「わかりません」「わからない」などの不明を意味する単語を含み、前記判定結果が該不明を意味する単語である場合に、前記タスク管理手段に１つ前の要求項目の内容が不明であることを通知し、同時に同タスク管理手段に対話の進行上における次のアクションを促すガイダンス内容を要求し、その返答内容に従って対話進行する。少なくとも「問わない」「何でも良い」「任意」などの任意を意味する単語を含み、前記判定結果が該任意を意味する単語である場合に、タスク管理手段に要求項目の内容が任意であることを通知し、同時に同タスク管理手段に対話の進行上における次のアクションを促すガイダンス内容を要求し、 その返答内容に従って対話進行する。
【００３０】
【発明の効果】
本発明によれば、複数項目のデータ入力を音声で行う音声対話システムにおいて、音声認識を利用する際に必須の確認に関して、確認のみのシステム出力を省略し、認識結果を次のガイダンス文に含めて提示することでやりとりの数を減少させることにより、 単語音声認識程度の音声認識能力しか持たない音声対話システムでも、利用者とシステムとの間で効率良く音声対話が進行できる効果が得られる。
【図面の簡単な説明】
【図１】本発明による音声対話システムの構成の一実施例を示すブロック図である。
【図２】対話制御手段の処理手順を示すフローチャートである。
【図３】認識語彙の一例を示す図である。
【図４】キーワード判定手段から対話制御手段に渡されるデータ構造の一例を示す図である。
【図５】キーワード保持手段に保持されるデータの一例を示す図である。
【符号の説明】
１…利用者の音声、２…音声認識手段、３…認識語彙補足手段、
４…キーワード判定手段、５…対話制御手段、６…キーワード保持手段、
７…応答生成手段、８…音声出力手段、９…システムの出力音声、
１０…タスク管理手段。
【図１】
0003700266.tif 000004
【図２】
0003700266.tif 000005
【図３】
0003700266.tif 000006
【図４】
0003700266.tif 000007
【図５】
0003700266.tif 000008