(57)【特許請求の範囲】
【請求項１】
質問としての情報を入力する入力手段と、
上記入力された情報に基づいて上記質問に対する応答となるデータの検索を行う検索手段と、
上記検索したデータから応答文を生成する応答文生成手段と、
上記応答文を合成音に変換して出力する合成音変換出力手段とを有し、
上記応答文生成手段では、上記検索したデータに基づいた応答文を生成するとき、上記入力した質問から応答に対して期待される精度と上記検索したデータの精度とを比較した結果に応じて当該応答文の表現の予め定められた抽象度に応じた単語又は語尾の表現を変える
音声応答装置。
【請求項２】
上記合成音変換出力手段では、上記比較した結果に応じて音声の種類又は大きさを変化させる請求項１記載の音声応答装置。
【請求項３】
上記応答文生成手段では、上記検索したデータに基づいた応答文を生成するとき、上記比較した結果に応じて応答文の表現の予め定められた抽象度に応じた単語又は語尾の表現を変え、
上記合成音変換出力手段では、上記比較した結果に応じて音声の種類又は大きさを変化させる
請求項１記載の音声応答装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばユーザ等から入力された質問等に対して応答を行うようなシステムに関し、特に自然言語の音声による応答を行う音声応答装置に関する。
【０００２】
【従来の技術】
従来より、例えばユーザ等から入力された質問等に対して応答を行うようなシステムが存在する。当該応答システムの一例としては、ユーザ等からの質問等に対して自然言語の音声による応答を行う音声応答装置が知られている。
【０００３】
また、応答の内容やその情報の出所に応じて応答音声を変えるようになされた音声合成システム及び音声合成方法も存在している。
【０００４】
【発明が解決しようとする課題】
ところで、例えばユーザ等から入力された質問に対して応答システムから応答を返す際に、その応答の信頼性についてもユーザに知らせたい場合がある。しかし、従来の音声応答装置では、口調、音質などが一定のものが多い。これでは、応答の内容をしっかり聞かないと、ユーザはその信頼性がわからない。
【０００５】
また、例えば応答の内容やその情報の出所に応じて応答音声を変えるシステムを用いたとしても、応答の信頼性を伝えるのに充分ではない。例えば、ユーザの質問への理解に不安があっての応答ならば、その応答の信頼性は低いと言える。一方で、応答に利用した情報の細かい部分が不確かであっても、ユーザの要求が詳細を求めていなければ、充分な応答ができると考えられる。
【０００６】
さらに、応答の詳細度を適応的に変えることも、音声応答においては重要なポイントである。すなわち例えば、音声出力で必要以上に詳しく説明してしまうと、適切な応答とは言えなくなる。このような場合における応答の一つの方法としては、特開平８−１３７６９８号公報にて開示されるように、ユーザからの質問の形式、履歴を反映して、必要と思われる部分の説明だけを行い、他を省略するような方法が考えられる。また、他の方法としては、データを応答文に変換する時の抽象化の程度によって、詳細度を変えることも考えられる。例えば、あるイベントの日程を知らせる時に、いつ頃かという「月、季節」を知らせるのか、或いは具体的な「日時」まで知らせるのかといったことである。
【０００７】
しかしながら、従来の音声応答システムでは、データから応答文への変換の時に、用意された応答文のテンプレートにデータの項目を入れていくものが多く、１対１対応でデータを応答文に変換するため、簡潔な応答のための抽象化には対応できない。
【０００８】
そこで、本発明はこのような状況に鑑みてなされたものであり、ユーザ等から入力された質問に対して応答システムから応答を返す際に、その応答の信頼性についてユーザに知らせることが可能であり、また、応答の詳細度を適応的に変えることも可能な、音声応答装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の音声応答装置は、質問としての情報を入力する入力手段と、入力された情報に基づいて質問に対する応答となるデータの検索を行う検索手段と、検索したデータから応答文を生成する応答文生成手段と、応答文を合成音に変換して出力する合成音変換出力手段とを有し、応答文生成手段では、検索したデータに基づいた応答文を生成するとき、入力した質問から応答に対して期待される精度と検索したデータの精度とを比較した結果に応じて当該応答文の表現の予め定められた抽象度に応じた単語又は語尾の表現を変えることにより、上述した課題を解決する。
【００１２】
すなわち本発明においては、ユーザ等から入力された質問に対して応答を返す際に、例えば、データの種類、確信度、詳細度、量などに応じて、応答文の口調、声などを変えることで、その応答の信頼性についてユーザに知らせることを可能とし、また、応答の詳細度を適応的に変えることを可能として、さらにユーザから指示された要点に応じて応答文を簡潔に出力するようにしている。
【００１３】
【発明の実施の形態】
本発明の好ましい実施の形態について、図面を参照しながら説明する。
【００１４】
本発明の音声応答装置が適用される一実施の形態の音声応答システムの構成例を図１に示す。
【００１５】
先ず、第１の実施の形態の音声応答システム構成として、ユーザからの質問に対応する情報を検索し、その検索した情報から音声を生成して出力する情報検索システムを例に挙げる。
【００１６】
この図１において、入力ブロック１は、ユーザからの入力を受け、その入力を数値や記号に変換したり、テキストに変換するための入力変換手段である。ここで、ユーザからの入力とは、例えばキーワードや命令、質問等であり、これら入力としては、例えばボタン、キーボード、タッチパネル等をユーザが操作することによる入力や、マイクロホンへの音声による入力などが考えられる。
【００１７】
入力解析ブロック２は、入力ブロック１の処理結果を受けて、ユーザ入力を解釈し、どの種類の情報から何をキーワードにしてデータを検索するのかを決定し、その決定結果を検索ブロック５に知らせる。また、当該入力解析ブロック２は、検索ブロック５での検索の結果得られたデータを、どの程度の詳しさで音声出力するのかを決定し、その決定結果を応答テキスト生成ブロック４に知らせる。
【００１８】
履歴管理ブロック９は、入力解析ブロック２での決定を行うための情報が欠けている場合にそれを補う役割を持つ。ユーザの過去の入力、それに対して行った応答出力などの履歴を管理する。当該履歴管理ブロック９は、入力解析ブロック２から不足情報に関する問い合わせがあると、それに対する回答を送る。
【００１９】
検索ブロック５は、入力解析ブロック２からの情報をもとに、データベースブロック６に格納されている情報の中から所望のデータを検索する。なお、当該検索の結果得られるデータには、最終的にユーザが知りたい以外の情報や必要以上に詳しい情報が含まれるが、この検索結果のデータはそのまま応答テキスト生成ブロック４に送られる。
【００２０】
データベースブロック６は、検索の対象となる情報が記録されている場所である。このデータベースブロック６に格納される情報は、例えば地図や辞典などシステム側で用意しておく情報の他、予定表、電話帳など、ユーザが後から編集、追加していく情報も含まれる。また、交通情報、ニュース、天気予報など、ネットワーク経由で取得する情報も含まれる。
【００２１】
応答テキスト生成ブロック４は、検索ブロック５から受け取ったデータをもとに、応答用のテキストを生成する。すなわち、応答テキスト生成ブロック４では、例えば入力解析ブロック２からの情報をもとに、ユーザが求めていないデータ項目をカットしたり、表現の抽象度を決めたりすることが行われる。また、応答テキスト生成ブロック４は、テキスト生成用データ格納ブロック８から単語を引き、それらを繋ぎ合わせてテキストを生成したり、そのテキストを音声出力する時の声の質、大きさなどを決める。
【００２２】
テキスト生成用データ格納ブロック８には、データの各要素に対応する単語、及び、出力情報の特徴を表現するための語尾のセットが用意されている。データと単語の対応は１対多であり、例えば「１０月５日」「１０月上旬」「今年の秋」という表現がすべて１つのデータに対応する。そのどれを選ぶかは、データの正確性や、音声テキスト生成ブロック４で決められた表現の抽象度による。また、語尾については、出力情報の特徴をユーザに感覚的に伝えられるように使い分ける。例えば、応答の信頼性が高い時は「〜です」、低い時は「〜かな」という語尾を使用する。
【００２３】
音声合成ブロック３は、応答テキスト生成ブロック４からテキストとその出力方法を受け取る。当該音声合成ブロック３では、それらをもとに音声合成用データ格納ブロック７から必要なデータを取得し、それらを繋ぎ合わせて合成音データを生成する。そして、この音声合成ブロック３にて生成された応答文の合成音データは、最終的にスピーカに音声信号として送られ、これにより当該スピーカから応答文の合成音が出力される。
【００２４】
音声合成用データ格納ブロック７には、テキストを合成音に変換するための音素などのデータセットが用意されている。なお、この音声合成用データ格納ブロック７に用意された情報は、出力情報の特徴をユーザに感覚的に伝えられるように使い分けられる。すなわち本実施の形態のシステムでは、例えば、応答の信頼性が高い時は大人の声を、低い時は子供の声を使用するようなことが行われる。
【００２５】
ここで、上記応答の信頼性を決める要素には、例えば、ユーザ入力の解釈に対する自信と、応答に利用した情報の出所と、ユーザが応答に対して期待する正確性などが考えられる。
【００２６】
先ず、上記ユーザ入力の解釈に対する自信が、上記応答の信頼性を決める要素となる例について具体的に説明する。
【００２７】
例えば「東京から静岡までの時間は？」という質問がユーザから入力された場合、この質問には、東京から静岡まで移動するのに車を使用するのか或いは電車するのか、といった移動手段についての内容が抜けている。ここで、入力解析ブロック２は、履歴管理ブロック９に保存されているユーザ入力の履歴を管理しており、当該履歴管理ブロック９の履歴から例えばユーザは車で移動することが多いとわかったとする。その場合、本実施の形態のシステムでは、ユーザの質問に抜けている移動手段についての内容をユーザに聞き返すようなことは行わず、とりあえず車での移動時間を調べて応答を返すことができる。ただし、この場合、車での移動時間を応答で返すことが正しいかどうかは不明なので、応答の信頼性がその分落ちる。すなわち、上記ユーザ入力の解釈に対する自信とは、例えば上述のようにユーザ入力を解釈した場合にその解釈がどの程度確かであるかを表し、当該ユーザ入力の解釈に対する自信によって、上記応答の信頼性が決定される。
【００２８】
次に、上記応答に利用した情報の出所が、上記応答の信頼性を決める要素となる例について具体的に説明する。
【００２９】
例えば、東京から静岡まで車での移動時間を計算する場合は、例えば、道路地図を利用して車での移動時間を計算する方法や、交通情報を利用して車での移動時間を計算する方法などがある。上記道路地図を利用する場合は、例えば出発地と目的地の２地点間の道路距離を計算し、その道路距離を予想される時速で割って移動時間を求める。また、交通情報を利用する場合は、例えば出発地と目的地の２地点の間に設けられている、交通量や渋滞等の各測定ポイント間の所要時間を調べ、それらを合計することで移動時間を求める。このように、応答に利用した情報の出所として、道路地図を利用する場合と交通情報を利用する場合の２つの出所があるとすると、リアルタイムな交通量や渋滞情報等を加味できる上記交通情報を利用した場合の方が、応答の信頼性は高くなる。このように、応答に利用した情報の出所により、応答の信頼性を決める。
【００３０】
次に、上記ユーザが応答に対して期待する正確性が、上記応答の信頼性を決める要素となる例について具体的に説明する。
【００３１】
例えば、東京から静岡までの車での移動時間を道路地図から計算することにより、移動時間として例えば２．１時間という計算結果が出たとする。ここで、例えば１時間単位での正確性しかないとすると、ユーザからの「東京から静岡までの時間は？」という質問に対して「２時間くらい」という応答は信頼できると考えられる。しかし、ユーザからの「東京から静岡まで何分くらいかかる？」という質問に対して、「２時間６分」という応答は信頼性が低いと考えられる。すなわち、同じデータからの応答であっても、ユーザの期待との比較によって、その応答の信頼性が変わる。このように、ユーザが応答に対して期待する正確性によって、応答の信頼性を決める。
【００３２】
一方、上記データ表現の抽象度を決める要素には、例えば、データ自身の正確性と、ユーザが応答に対して期待する正確性などが考えられる。
【００３３】
先ず、上記データ自身の正確性が、上記データ表現の抽象度を決める要素となる例について具体的に説明する。
【００３４】
例えば、東京から静岡までの車での移動時間を道路地図から計算することにより、移動時間として例えば２．１時間という計算結果が出たとする。このような場合、ユーザに対する応答の表現の仕方としては、当該移動時間の計算結果である２．１時間を、「２時間６分」と表現したり、「２時間ちょっと」と表現したり、或いは「２時間くらい」と表現するように、想定される誤差に応じて表現を変えることができる。このようにデータ自身の正確性に応じて、応答のデータ表現の抽象度を決める。
【００３５】
次に、上記ユーザが応答に対して期待する正確性が、上記データ表現の抽象度を決める要素となる例について具体的に説明する。
【００３６】
例えば、ユーザからの「明日の予定は？」という質問に対しては、「午前中にテニスです。」と応答するようにする。一方、ユーザからの「明日の午前中の予定は？」という質問に対しては、「９時から１１時までテニスです。」と、時間まで具体的に答えるようにする。このように、ユーザが応答に対して期待する正確性によって、データ表現の抽象度を決める。なお、ユーザが応答に対して期待する正確性は、ユーザからの質問入力の形状からだけでなく、過去の履歴から推測することもできる。例えば、いつも正確な時間まで求めるユーザに対しては、「明日の予定は？」と質問されたとき、「９時から１１時までテニスです。」と答えるようにする。
【００３７】
以下、第１の実施の形態のシステムの動作について、図１及び図２を用いて具体的に説明する。
【００３８】
ここでは、ユーザがキーワードと共に質問を入力すると、本実施の形態のシステムから音声出力による応答を返す場合を考える。
【００３９】
先ず、初期設定として、ユーザが前記入力ブロック１を操作し、道路に関する情報を得るモードとする。
【００４０】
次に、ステップＳ１として、ユーザが「東京から静岡までの時間は？」という質問を入力する。ここでは、質問入力のためのインターフェイスとして音声入力を想定し、ユーザがシステムのマイクロホンに向かって喋るものとする。マイクロホンからの入力音声は、入力ブロック１内で音声認識処理にかけられ、テキストデータに変換される。
【００４１】
入力解析ブロック２は、入力ブロック１から送られたテキストデータを解析し、対応する検索処理を決定する。すなわち、入力解析ブロック２は、処理を決定するためのキーワードのリストを持っており、先ずはこのキーワードにマッチする言葉を捜す。
【００４２】
ここで、「東京から静岡までの時間は？」という質問からは、キーワードにマッチする言葉として「東京」「静岡」「時間」の３つを見つける。このとき、「東京」「静岡」といった地名と「時間」というキーワードから交通情報を調べることまでは分かるが、このままでは交通手段（移動手段）が分からない。そこで、入力解析ブロック２は、履歴管理ブロック９に問い合わせを行う。この問い合わせから、過去において交通手段として例えば車が選択される場合が殆どだったということを知ると、入力解析ブロック２は、これを踏まえて、ステップＳ１０として交通手段は車であると想定する。これにより、交通手段（移動手段）についてユーザが明示していないが、履歴から車の可能性が高く、ユーザ入力に対する理解には自信があるものとする。
【００４３】
次に、入力解析ブロック２は、検索ブロック５に対し、ステップＳ２として「東名高速道路の交通情報を取得する」ように指示を行い、また、応答テキスト生成ブロック４に対し、「検索した情報から東京−静岡間の所要時間を計算して出力する」ように指示する。また、入力解析ブロック２は、ユーザの質問の形式から、応答としては大体の時間を知らせればよいものと判断し、応答テキスト生成ブロック４に対して、時間の分単位については抽象的に表現するように指示する。
【００４４】
検索ブロック５は、上記入力解析ブロック２からの指示に応じ、データベースブロック６にアクセスして交通情報を取り寄せる。このとき、当該検索ブロック５は、システムの記憶部であるデータベースブロック６にローカルに保存されている情報を調べ、当該データベースブロック６の情報が古かったり無かったりした場合は、例えばネットワーク経由で最新の情報を取得する。なお、ネットワーク上のどこから交通情報が得られるか、また、その情報を得るためのシステムの動作は、予め決められて分かっているものとする。この検索ブロック５での検索により得られた交通情報は、応答テキスト生成ブロック４に送られる。
【００４５】
このときの応答テキスト生成ブロック４は、入力解析ブロック２から「東京−静岡間の所要時間を計算して出力する」ことを知らされており、先ず、ステップＳ３として、検索ブロック５の検索により得られた交通情報から例えば「東京−厚木」「厚木−御殿場」「御殿場−静岡」の各区間の所要時間を必要データとしてピックアップし、さらにステップＳ４としてその合計時間（この例では２１５分）を計算する。
【００４６】
次に、当該応答テキスト生成ブロック４では、応答テキストを生成する。先ず、時間の表現について決定する。上記の例の場合、入力解析ブロック５からの指示に応じて、分単位については抽象的な表現に決定する。この抽象的な表現の決定に際し、応答テキスト生成ブロック４は、テキスト生成用データ格納ブロック８を参照し、抽象的な表現の単語として、例えば「（何も言わない）」「ちょっと」「半」「弱」の４つの中から、例えば「半」という表現を選択し、これによりステップＳ５として上記２１５分という時間を「３時間半」という表現にする。また、当該計算した時間は、交通情報がもとになっていて正確性が高いため、語尾の表現を言い切り型の「です」にし、さらに、ユーザ入力に対して十分な信頼性を持つ応答であると判断し、大人の声の大きくはっきりした口調の音声出力を行うためのテキストと音声合成に関する指示を音声合成ブロック３に出力する。
【００４７】
音声合成ブロック３では、応答テキスト生成ブロック４から、「３時間半です」というテキストと音声合成に関する指示を受け取る。これにより、音声合成ブロック３は、ステップＳ１１として、「３時間半です」という大人の声の大きくはっきりした口調の音声出力のデータを生成し、スピーカから応答として出力する。
【００４８】
ところで、「東京から静岡までの時間」を調べるための情報源は、交通情報だけとは限らない。正確性では劣るものの、道路地図から距離を調べて、所要時間を概算することも可能である。
【００４９】
この場合、上記入力解析ブロック２は、ステップＳ６として、「東名高速道路の地図情報を所得する」のように、検索ブロック５に知らせる。
【００５０】
このときの検索ブロック５は、データベースブロック６にアクセスして地図情報を取り寄せる。当該検索ブロック５がデータベースブロック６を検索して得られた情報は応答テキスト生成ブロック４に送られる。
【００５１】
またこのときの応答テキスト生成ブロック４は、入力解析ブロック２から、「東京−静岡間の所要時間を出力する」ことを知らさてており、ステップＳ７として、検索ブロック５の検索により得られた地図情報から例えば「東京−厚木」「厚木−御殿場」「御殿場−静岡」の各区間の距離を必要データとしてピックアップし、さらにステップＳ８としてその合計距離（この例では２１０ｋｍ）を計算する。またさらに、応答テキスト生成ブロック４では、車の移動速度を平均で時速１００ｋｍとし、上記合計距離と当該平均時速とから所要時間の２．１時間を概算する。
【００５２】
次に、当該応答テキスト生成ブロック４では、応答テキストを生成する。この場合も先ず、時間の表現について決定する。上記の例の場合、入力解析ブロック５からの指示に応じて、分単位については抽象的な表現に決定する。この抽象的な表現の決定に際し、応答テキスト生成ブロック４は、テキスト生成用データ格納ブロック８を参照し、抽象的な表現の単語として、前述同様に「（何も言わない）」「ちょっと」「半」「弱」の４つの中から、例えば「（何も言わない）」の表現を選択し、これによりステップＳ９として上記２．１時間を「２時間」という表現にする。また、当該計算した時間は、大体の時間としては合っているものとし、語尾の表現を言い切り型の「です」にする。ただし、地図情報を利用した場合は、上述の交通情報を利用した場合に比べて応答の信頼性が低いので、大人の声ではあるが小さな声の音声出力を行うためのテキストと音声合成に関する指示を音声合成ブロック３に出力する。
【００５３】
音声合成ブロック３では、応答テキスト生成ブロック４から、「２時間です」というテキストと音声合成に関する指示を受け取る。これにより、音声合成ブロック３は、ステップＳ１２として、「２時間です」という大人の声ではあるが小さな声の音声出力のデータを生成し、スピーカから応答として出力する。
【００５４】
なお、上述のように道路地図から時間を計算する場合において、ユーザからの質問が「東京から静岡までの時間は？」でなく、「東京から静岡まで何分？」だったとすると、以下のような応答が考えられる。
【００５５】
この場合、入力解析ブロック２では、分単位までの表現の応答をユーザが望んでいると判断される。
【００５６】
これにより、応答テキスト生成ブロック４では、それに基づき、上記計算により得られた２．１時間を「２時間６分」という表現にする。ただし、この計算結果の分単位は信用できないものとすると、当該応答における「６分」の部分は不正確（嘘）である可能性が高い。このため、当該応答テキスト生成ブロック４では、応答の信頼性が十分でないので、語尾には曖昧性を表現した「かな」を使うようにする。そして、応答テキスト生成ブロック４では、例えば子供の声で音声出力を行うためのテキストと音声合成に関する指示を音声合成ブロック３に出力する。
【００５７】
音声合成ブロック３では、応答テキスト生成ブロック４から、「２時間６分かな」というテキストと音声合成に関する指示を受け取る。これにより、音声合成ブロック３は、「２時間６分かな」という子供の声の音声出力のデータを生成し、スピーカから応答として出力する。
【００５８】
更に、例えば正確性を保証できないデータ表現はしないという方針にすると、上述のように道路地図から時間を計算する場合において、ユーザからの質問が「東京から静岡まで何分？」だったとすると、以下のような応答が考えられる。
【００５９】
この例の場合、入力解析ブロック２では、分単位までの表現の応答をユーザが望んでいると判断される。
【００６０】
これにより、応答テキスト生成ブロック４では、それに基づき、上記計算により得られた２．１時間を「２時間６分」という表現にしようとする。しかしここで、上記計算結果の分単位は信用できないものとすると、当該応答の「６分」の部分は不正確（嘘）である可能性が高い。そこで、応答テキスト生成ブロック４では、表現の抽象度を上げて、具体的な分単位は言わず「２時間」という表現に決定する。さらに、応答テキスト生成ブロック４は、それ以上具体的には答えられないことを反映して、その語尾に「くらいです」をつける。ただし、この場合、応答としてユーザの要求を満足するものではないので、応答テキスト生成ブロック４では、例えば子供の声で音声出力を行うためのテキストと音声合成に関する指示を音声合成ブロック３に出力する。
【００６１】
音声合成ブロック３では、応答テキスト生成ブロック４から、「２時間くらいです」というテキストと音声合成に関する指示を受け取る。これにより、音声合成ブロック３は、「２時間くらいです」という子供の声の音声出力のデータを生成し、スピーカから応答として出力する。
【００６２】
次に、本発明の第２の実施の形態の音声応答システム構成として、ユーザのスケジュールを管理するスケジューラを例に挙げる。以下、当該第２の実施の形態のシステムの動作について、図１及び図３を用いて具体的に説明する。
【００６３】
先ず、初期設定として、ユーザが前記入力ブロック１を操作し、予定や電話番号などの個人情報を得るモードとする。
【００６４】
次に、ステップＳ３１として、ユーザが例えば「明日の予定は？」という質問を入力する。ここでは、質問入力のためのインターフェイスとして音声入力を想定し、ユーザがシステムのマイクロホンに向かって喋るものとする。マイクロホンからの入力音声は、入力ブロック１内で音声認識処理にかけられ、テキストデータに変換される。
【００６５】
入力解析ブロック２は、入力ブロック１から送られたテキストデータを解析し、対応する検索処理を決定する。すなわち、入力解析ブロック２は、処理を決定するためのキーワードのリストを持っており、先ずはこのキーワードにマッチする言葉を捜す。
【００６６】
ここで、「明日の予定は？」という質問からは、キーワードにマッチする言葉として「明日」「予定」の２つの言葉を見つける。そして、入力解析ブロック２は、「予定」というキーワードから予定表の検索を決定し、また、「明日」というキーワードから明日について調べることを決定する。
【００６７】
このため、入力解析ブロック２は、ステップＳ３２として、検索ブロック５に対して「明日の予定のデータを取得する」ように指示し、また、応答テキスト生成ブロック４には「明日の予定を全て知らせる」ように指示する。ただし、この場合の入力解析ブロック２は、ユーザの質問の形式から、ユーザが知りたいのは概略だと判断し、予定の詳しい時間、詳しい内容までは言わないようにする。
【００６８】
上記入力解析ブロック２から検索の指示を受けた検索ブロック５は、ステップＳ３３として、データベースブロック６にアクセスして明日の予定を取り出す。なお、このとき取り出された情報としては、「９：００−１１：００  テニス  at  品川」、「１４：００−  買い物  at  新宿  with  友達」であるとする。当該検索ブロック５での検索により得られた情報は、応答テキスト生成ブロック４に送られる。
【００６９】
次に、応答テキスト生成ブロック４は応答テキストを生成する。この時、先ず時間については表現について決定するが、上述のように入力解析ブロック２から「明日の予定の概略を出力する」ことが知らされているため、当該応答テキスト生成ブロック４では、時間については表現の抽象度を上げるように決定する。例えば、テキスト生成用データ格納ブロック８を参照すると例えば「朝」「昼」「夜」の３つの分類があり、そこで、応答テキスト生成ブロック４は、明日の予定のうち「９：００−１１：００」は「朝」、「１４：００−（１４時以降）」は「昼」に相当するものと決定する。また、予定の内容については、場所、相手を省略し、用件だけ言うようにする。すなわち、当該応答テキスト生成ブロック４は、ステップＳ３４として、「午前  テニス」「午後  買い物」のような応答テキストを生成する。
【００７０】
次に、応答テキスト生成ブロック４では、文の語尾及び音声合成に関する指示を決定する。この第２の実施の形態のように、スケジューラの場合はユーザ入力の解釈に対して他に間違えようが無く、応答のデータもユーザ自身が入れたものであるため正確で正しいとすると、応答の信頼性は十分である。そこで、応答テキスト生成ブロック４は、ステップＳ３５として、語尾の表現として言い切り型の「です」を使い、大人の声の大きくはっきりした口調で音声出力行うためのテキストと音声合成に関する指示を音声合成ブロック３に出力する。
【００７１】
音声合成ブロック３は、応答テキスト生成ブロック４から、「午前中テニスで、午後は買い物です。」というテキストと音声合成に関する指示を受け取る。これにより、音声合成ブロック３は、ステップＳ３９として、「午前中テニスで、午後は買い物です。」という大人の声で大きくはっきりした口調の音声出力のデータを生成し、スピーカから応答として出力する。
【００７２】
ただし、上記の例ように「明日の予定は？」とユーザが聞いた時に、日時、用件を詳しく返答することがあってもよい。
【００７３】
例えば、入力解析ブロック２において、履歴管理ブロック９の情報から「ユーザに概略を言うと、その後詳しい日時を聞き直されることが多い。」ことが分かったとする。この場合は、入力解析ブロック２では、現在の入力の表現よりも履歴を優先し、応答テキスト生成ブロック４には「明日の予定は１件１件を詳しくしらせる」ように指示する。
【００７４】
この場合、応答テキスト生成ブロック４では、「午前９時から１１までテニス、午後２時からは買い物です。」という、大人の声の大きくはっきりした口調で音声出力行うためのテキストと音声合成に関する指示を音声合成ブロック３に出力する。
【００７５】
音声合成ブロック３は、応答テキスト生成ブロック４から当該テキストと音声合成に関する指示を受け取ると、「午前９時から１１までテニス、午後２時からは買い物です。」という大人の声で大きくはっきりした口調の音声出力のデータを生成し、スピーカから応答として出力する。
【００７６】
一方、例えば、ユーザが入力ブロック１を操作して個人情報を得るモードを指定後、例えばステップＳ３６として「明日の午前中の予定は？」という質問を入力した場合を考える。なお、この場合も、前述と同様、質問入力のためのインターフェイスとして音声入力を想定し、ユーザがシステムのマイクロホンに向かって喋るものとする。マイクロホンからの入力音声は、入力ブロック１内で音声認識処理にかけられ、テキストデータに変換される。
【００７７】
この場合、入力解析ブロック２は、入力ブロック１から送られたテキストデータを解析し、対応する検索処理を決定する。入力解析ブロック２は、処理を決定するためのキーワードのリストを持っており、先ずはこのキーワードにマッチする言葉を捜す。
【００７８】
ここで、「明日の午前中の予定は？」という質問からは、キーワードにマッチする言葉として「明日」「午前中」「予定」の３つの言葉を見つける。そして、入力解析ブロック２は、「明日」「予定」というキーワードの組み合わせから「明日の予定を検索する」ことを決定する。また、このときの入力解析ブロック２は、ステップＳ３２として、検索ブロック５に対して「明日の予定のデータを取得する」ように指示し、応答テキスト生成ブロック４には「明日の午前中の予定のみ知らせる」ように指示する。また、この例の場合、入力解析ブロック２は、ユーザの質問の形式から、ユーザが詳しい時間まで知りたいと判断し、予定の詳しい時間、ついでに詳しい内容まで言うようにする。
【００７９】
上記入力解析ブロック２から検索の指示を受けた検索ブロック５は、ステップＳ３３として、データベースブロック６にアクセスして明日の予定を取り出す。当該検索ブロック５での検索により得られた情報は、応答テキスト生成ブロック４に送られる。
【００８０】
次に、応答テキスト生成ブロック４は応答テキストを生成する。この時の応答テキスト生成ブロック４は、入力解析ブロック２から「午前中の予定のみ出力する」ことが知らされているため、当該応答テキスト生成ブロック４では、ステップＳ３７として、「１４：００−」の予定は午前中の予定ではないので、出力から除外するが、予定の内容については時間、場所、用件全てを出力用に残す。また、当該応答テキスト生成ブロック４では、時間をできるだけ詳しく知らせるために、「９：００−１１：００」を「９時から１１まで」という表現にする。
【００８１】
次に、応答テキスト生成ブロック４では、文の語尾及び音声合成に関する指示を決定する。この例では、ユーザ入力の解釈に対して他に間違えようが無く、応答のデータもユーザ自身が入れたもので正しいとすると、応答の信頼性は十分である。そこで、応答テキスト生成ブロック４では、ステップＳ３８として、語尾の表現は言い切り型の「です」を使い、「９時から１１時まで品川でテニスです。」という、大人の声の大きくはっきりした口調で音声出力行うためのテキストと音声合成に関する指示を音声合成ブロック３に出力する。
【００８２】
音声合成ブロック３は、応答テキスト生成ブロック４からテキストと音声合成に関する指示を受け取ると、ステップＳ４０として、「９時から１１時まで品川でテニスです。」という大人の声で大きくはっきりした口調の音声出力のデータを生成し、スピーカから応答として出力する。
【００８３】
次に、図４には、本発明の音声応答システムを実現するためのハードウェア構成を示す。
【００８４】
この図４において、入力部１１は、図１の入力ブロック１に対応し、例えばボタン、キーボード、タッチパネル、マイクロホンなどのインターフェイスを備えている。ユーザは、当該入力部１１から質問やキーワードを入力する。
【００８５】
ＣＰＵ１２は、システム各部の制御、各種プログラム処理を実行する。当該ＣＰＵ１２は、図１の入力解析ブロック２、音声合成ブロック３、応答テキスト生成ブロック４等における各種処理を受け持つ。
【００８６】
ＲＯＭ１３は、固定データや固定のプログラムを記憶する。前述のテキスト生成、音声合成の各種データや処理のためのプログラムも、当該ＲＯＭ１３に記憶されている。
【００８７】
ＲＡＭ１４は、ＣＰＵ１２でのプログラム処理中に必要なデータを一時保存する。ユーザからの入力や、テキスト生成、音声合成の結果、通信部１６で得た情報などが当該ＲＡＭ１４に一時的に保存される。
【００８８】
補助記憶部１５は、フラッシュメモリやＥＥＰＲＯＭからなり、追加、書き換えなどを行うデータでプログラム処理中以外でも常に残しておきたいデータを保存する。図１の履歴管理ブロック９の個人情報や、通信で得たデータ、その他、ＣＰＵの処理で使うデータ等が、当該補助記憶部１５に記憶される。
【００８９】
通信部１６は、システムがネットワーク経由で情報を取得したり、発信したりする時に使用するものである。例えば、電話、インターネット、赤外線、ラジオなどの通信を行う。
【００９０】
スピーカ部１７は、音声合成された応答などの音声の出力を行う。
【００９１】
表示部１８は、液晶パネルなどのディスプレイ装置を備えてなり、いわゆるＧＵＩ（Graphical User Interface）の画面を出力したり、表、リストなど、各種情報を表示したりする。
【００９２】
なお、本発明実施の形態のシステムとしては、補助記憶部１５、通信部１６、表示部１８は、必ずしも必要ない。
【００９３】
上述したように、本発明実施の形態によれば、ユーザからの質問に対する応答文を音声出力する時の口調、音質などを、応答の信頼度に応じて変えるようにしているため、ユーザは自分の要求に合った応答が返ってきているかどうかある程度知りつつ、音声出力を聞くことができる。また、本実施の形態によれば、音声出力を聞くだけの場合でも、システムの状態が分かりやすくなり、次の対処（例えばちゃんと聞く、不足条件を入れる、別の質問をするなど）を早く行うことが可能である。更に、本実施の形態によれば、応答出力中のデータ表現の抽象度を変えることにより、その正確性の程度を表したり、出力を簡潔にしたりすることができる。
【００９４】
【発明の効果】
以上の説明で明らかなように、本発明の音声応答装置は、入力された情報に基づいてデータ検索を行い、その検索したデータから応答文を生成し、合成音として出力する場合において、応答の信頼性を反映した応答文を生成すること、或いは、検索したデータの正確性に応じて当該応答文の表現の抽象度を変えること、若しくは、入力した情報及び履歴から推測した正確性の要求に応じて応答文の表現の抽象度を変えることにより、ユーザ等から入力された質問に対して応答システムから応答を返す際に、その応答の信頼性についてユーザに知らせることが可能であり、また、応答の詳細度を適応的に変えることも可能である。
【００９５】
すなわち、本発明によれば、応答文を音声出力する時の口調、音質などを、応答の信頼度に応じて変えることで、ユーザは自分の要求に合った応答が返ってきているかどうかある程度知りつつ、音声出力を聞くことができ、また、音声出力を聞くだけの場合でも、システムの状態が分かりやすくなり、次の対処が早くなる。さらに、本発明によれば、応答出力中のデータ表現の抽象度を変えることにより、その正確性の程度を表したり、出力を簡潔にしたりすることができる。
【図面の簡単な説明】
【図１】本発明実施の形態の音声応答システムの概略構成を示す機能ブロック図である。
【図２】第１の実施の形態のシステムの一動作例の流れを示すフローチャートである。
【図３】第２の実施の形態のシステムの一動作例の流れを示すフローチャートである。
【図４】本発明の音声応答システムを実現するためのハードウェア構成を示すブロック回路図である。
【符号の説明】
１  入力ブロック、  ２  入力解析ブロック、  ３  音声合成ブロック、  ４応答テキスト生成ブロック、  ５  検索ブロック、  ６  データベースブロック、  ７  音声合成用データ格納ブロック、  ８  テキスト生成用データ格納ブロック、  ９  履歴管理ブロック、  １１  入力部、  １２  ＣＰＵ、  １３  ＲＯＭ、  １４  ＲＡＭ、  １５  補助記憶部、  １６  通信部、  １７  スピーカ部、  １８  表示部
【図１】
0004228442.tif 000002
【図２】
0004228442.tif 000003
【図３】
0004228442.tif 000004
【図４】
0004228442.tif 000005