(57)【要約】【課題】音声対話システムが利用者の音声に対する応答文を生成する際、適切な応答文を生成する。【解決手段】認識対象となっているキーワードに対して、それらを応答文中に含める場合に使用する言い換え語と、応答文の種類を表す応答タイプと、言い換え語と応答タイプが選択される条件と、を記録する。対話制御プログラム（１０８）は、言い換え語と応答タイプが選択される条件に基づいて、認識されたキーワードに対する言い換え語と応答文テンプレートを決定し、決定された応答文テンプレートに言い換え語を挿入することにより応答文を生成する。【選択図】図１
2008039928.tif 000002
【特許請求の範囲】
【請求項１】
入力された利用者の音声から１つ以上のキーワードとその信頼度を認識する音声認識手段と、
キーワード毎に、前記利用者に音声により伝える応答文の種類を表す応答タイプ、前記認識されたキーワードを前記応答文に含める場合に使用する言い換え語、前記応答文が選択される条件、を記録した言い換え辞書と、
前記応答タイプに対応づけられた応答文を記録した応答文テンプレート辞書と、
前記信頼度を条件として、前記認識されたキーワードとその信頼度とに基づいて、前記言い換え辞書から前記応答タイプと前記言い換え語を決定し、前記決定された応答タイプに基づいて、当該応答タイプに対応づけられた応答文を前記応答文テンプレート辞書から決定し、前記決定された応答文に前記決定された言い換え語を挿入し、応答文を生成する対話制御手段と、
前記生成された応答文を音声データに変換して出力する音声合成手段と、を有することを
特徴とする音声対話装置。
【請求項２】
前記言い換え辞書は、
前記条件に、前記信頼度に加えて、前記利用者の音声に含まれるキーワードの数、該キーワードの種類、過去の応答タイプの履歴、過去の応答文の履歴、過去の利用者の音声の認識結果のうち何れか１つ以上を含むことを
特徴とする請求項１に記載の音声対話装置。
【請求項３】
前記応答文テンプレート辞書は、
前記入力される利用者の音声に含まれる２つ以上のキーワード各々に対応する応答タイプの組み合わせに対応づけられた前記応答文を記録することを
特徴とする請求項１又は２に記載の音声対話装置。
【請求項４】
前記対話制御手段は、
前記入力される利用者の音声に含まれる２つ以上のキーワード各々に対して、前記決定された応答タイプの前記組み合わせの中で、該組み合わせを構成する応答タイプ数が多い組み合わせに対応づけられる応答文を優先して決定することを
特徴とする請求項３に記載の音声対話装置。
【請求項５】
前記言い換え辞書は、
前記入力される利用者の音声に含まれる２つ以上のキーワードの組み合わせに対応させて、それぞれのキーワードに対する前記言い換え語を記録することを
特徴とする請求項１又は２に記載の音声対話装置。
【請求項６】
前記キーワードとその種類の名称を対応づけて記録したキーワード種類辞書をさらに有し、
前記言い換え辞書は、
前記種類の名称毎に、前記応答タイプと、前記言い換え語と、前記条件と、を記録し、
前記対話制御手段は、
前記認識されたキーワードに基づいて、そのキーワードの種類の名称を、前記キーワード種類辞書から決定し、該決定されたキーワードの種類の名称および前記条件に基づいて、前記言い換え辞書から、前記応答タイプおよび前記言い換え語を決定することを
特徴とする請求項１乃至５の何れかに記載の音声対話装置。
【請求項７】
前記言い換え辞書は、
複数の前記言い換え語を記録し、
前記対話制御手段は、
前記言い換え辞書から決定した前記複数の言い換え語の何れかをランダムに決定することを
特徴とする請求項１乃至６の何れかに記載の音声対話装置。
【請求項８】
音声入力装置を介して利用者が発する音声を入力する音声入力部と、音声出力装置を介して利用者に聞かせる音声を出力する音声出力部とを備えるとともに、
キーワード毎に、前記利用者に音声により伝える応答文の種類を表す応答タイプ、前記認識されたキーワードを前記応答文に含める場合に使用する言い換え語、前記応答文が選択される条件、を記録した言い換え辞書と、前記応答タイプに対応づけられた応答文を記録した応答文テンプレート辞書とが記憶された記憶装置を備えたコンピュータに、
前記音声入力部を介して入力される利用者の音声から１つ以上のキーワードとその信頼度を認識する処理、
前記信頼度を条件として、前記認識されたキーワードとその信頼度とに基づいて、前記言い換え辞書から前記応答タイプと前記言い換え語を決定する処理、
前記決定した応答タイプに基づいて、当該応答タイプに対応づけられた応答文を前記応答文テンプレート辞書から決定する処理、
前記決定した応答文に前記決定した言い換え語を挿入し、応答文を生成する処理、
前記応答文を音声合成して音声データに変換し、音声出力部を介して出力する処理、
をこの順に実行させることを特徴とする音声対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者とさまざまな機器とのやり取りを音声対話によってスムーズに行うための音声対話装置およびそのプログラムに関するものである。
【背景技術】
【０００２】
音声により利用者と対話を行い、利用者が要求する情報やサービスを提供する音声対話システムに関する技術は多数提案されている。音声対話システムにより、利用者とのスムーズなやり取りを行うためには、利用者が入力する音声を正しく解釈できることに加え、利用者が入力した音声に対して適切な応答文を利用者に提示し、応答文に続いて利用者が
音声を入力しやすい状況にすることが重要となる。
【０００３】
「特許文献１」では、認識対象とする第１のキーワードと、第１のキーワードとスロット項目(キーワードの種別)に対応づけられた第２のキーワードを格納したキーワード知識ベースを用意する技術が開示されている。入力音声から抽出された第１のキーワードに対応する第２のキーワードをキーワード知識ベースから選択し、スロット項目毎に記録する。スロット項目毎の第２のキーワード毎の格納状況に基づいて、応答文を生成する。
「特許文献２」では、入力音声から認識された単語をカテゴリとクラスとに分類し、さらに、入力音声から認識された単語の信頼度からどのクラスの単語が認識されたかを表す確からしさを求める技術が開示されている。求めた確からしさに基づいて詳細化、回答訂正、あるいは再入力といった発話タイプを決定し、応答文を生成する。応答文は、応答文パターンにカテゴリ単語やカテゴリクラスを挿入することにより生成される。
【０００４】
前記従来技術では、利用者が入力した音声から認識されたキーワードについて、あらかじめ用意されたキーワードと言い換え語との対応関係に基づいて、キーワードを変更し、応答文中に入れ替える技術が示されている。
また、認識されたキーワードの信頼度や対話履歴に基づいて、キーワードを変更するかどうかを決定する技術や、応答文のパターンを決定する技術が示されている。
【特許文献１】特開２００５−３０１１３８号公報
【特許文献２】特開２００４−２５１９９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、前記従来技術では、あるキーワードに対してどのような語に変更するかは一意に決定されており、また、信頼度等に基づいてキーワードを変更したり、応答文を決定するルールは、共通のルールを設定し、それを利用して処理を行っている。
一方、あるキーワードを応答文に挿入する際の適切な変更方法や応答文の形式は、キーワードそのものの他、各種の状況、例えば、入力されたキーワードが複数の場合等によって変化する場合がある。このため、共通のルールを設定し、それを利用する従来技術では、キーワードそれぞれの音韻的な特徴等に応じて柔軟に応答文や対応処理を変更し決定することができないという問題がある。その結果、従来技術では、適切な応答文を生成することができない。
【０００６】
そこで、本発明は、適切な応答文を生成することが可能な音声対話装置および音声対話プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の問題を解決するために、本発明では、認識対象となっているキーワードに対して、それらを応答文中に挿入する場合に使用する言い換え語と、応答文の種類を表す応答タイプと、言い換え語と応答タイプが選択される条件と、を記録する。また、応答タイプ毎に応答文のフォーマットを表す応答文テンプレートを用意する。
言い換え語と応答タイプが選択される条件に基づいて、認識されたキーワードに対する言い換え語と応答タイプを決定し、さらに、応答タイプに基づいて応答文テンプレートを検索する。検索された応答文テンプレートに言い換え語を挿入することにより応答文を生成する。
言い換え語と応答タイプが選択される条件としては、認識されたキーワードに対する信頼度の値に基づく条件、認識されたキーワードの数、認識されたキーワードの種類、過去の応答タイプの履歴、過去の応答文の履歴、過去の利用者音声の認識結果の何れか１つ以上が含まれる。
【発明の効果】
【０００８】
本発明によれば、適切な応答文を生成することが可能になる。
【発明を実施するための最良の形態】
【０００９】
（実施の形態１）
以下、本発明（音声対話装置および音声対話プログラム）の実施の形態１を、図１〜図７を用いて説明する。
【００１０】
図１は本発明の実施の形態１の構成例を示した図である。図１では、利用者が目的とする施設の場所と名称を音声により入力し、目的とする施設の情報を検索し結果を出力する音声対話装置を想定している。
【００１１】
図１において、マイク１０１は利用者の音声を電気信号に変換するための手段、音声入力部１０２はマイク１０１から入力された電気信号を情報処理部１０５において処理可能な音声データに変換する手段である。音声出力部１０３は入力された利用者の音声に対する応答文から生成された音声データを電気信号に変換するための手段、スピーカ１０４は変換された電気信号を音声として出力するための手段である。情報処理部１０５は記憶部１０６に記憶された各種プログラムに基づいて、利用者とのやり取りを行うための処理を実行する手段である。
【００１２】
なお、音声対話装置１は、図示しない、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）等の半導体メモリからなる主記憶装置、ハードディスク装置等からなる補助記憶装置、入出力インタフェース等を備えるコンピュータを用いて構成される。ここで、ＣＰＵは情報処理部１０５に、主記憶装置は記憶部１０６に、入出力インタフェースは音声入力部１０２および音声出力部１０３に相当する。
前記主記憶装置には、記憶部１０６の音声認識プログラム１０７、対話制御プログラム１０８、音声合成プログラム１０９および検索プログラム１１０が格納されている。
また、前記補助記憶装置には、対話シナリオ１１１、キーワード種類辞書１１２、言い換え辞書１１３、応答文テンプレート辞書１１４およびデータベース１１５が格納されている。各機能についての詳細は後記する。
【００１３】
音声認識プログラム１０７は、情報処理部１０５に実行されることで、入力された利用者の音声データの中で表現されているキーワードを認識し、その結果を出力する。その結果は、例えば、「神奈川県の○○美術館」という利用者の音声に対して、（神奈川県、０．８） （○○美術館、０．９）というような形式で取得することができる。ここで、（）の中に表現されている単語は認識対象としているキーワードであり、キーワードに併記されている数値は認識されたキーワードの確からしさを表す信頼度である。信頼度としては、通常用いられる音声認識技術において音声認識処理の結果としてキーワード毎に得られる信頼度の数値をそのまま利用することができる。前記例では、キーワードとしている県名や美術館名のみを結果として出力すると想定しているが、「の」のようなキーワード以外の単語を全て出力することも可能である。さらに、前記例では、最も信頼度の高いキーワードのみを結果として出力しているが、音声データ中の各キーワードに対する候補を複数出力することもできる。
【００１４】
対話制御プログラム１０８は、情報処理部１０５に実行されることで、前記信頼度を条件として、前記認識されたキーワードとその信頼度とに基づいて、言い換え辞書１１３から応答タイプと言い換え語を決定し、前記決定された応答タイプに基づいて、それに対応づけられた応答文を応答文テンプレート辞書１１４から決定し、前記決定された応答文に、前記決定された言い換え語を挿入し、利用者に次の発話を促すための応答文を生成する。対話制御プログラム１０８の処理の詳細は後記する。
【００１５】
音声合成プログラム１０９は、情報処理部１０５に実行されることで、対話制御プログラム１０８によって生成された応答文を音声データに変換して出力する。
【００１６】
検索プログラム１１０は、情報処理部１０５に実行されることで、利用者が入力した施設の場所と名称を検索条件として、データベース１１５から目的とする施設の情報を検索するプログラムである。データベース１１５は、公知のリレーショナルデータベース等を使用する。また、検索プログラム１１０は前記データベースに通常用意されている検索手段を用いることにより、容易に実現することができる。あるいは、データベース１１５としては、一般的に利用されているインターネット上の情報を検索する手段等を利用することもできる。
【００１７】
図２は、対話シナリオ１１１中に格納されている個々の対話シナリオのフォーマットを示す構成図である。対話シナリオには、利用者が入力するキーワードの種類と数、利用者の音声を認識するための情報（利用者音声認識用文法名）、利用者が入力したキーワードを用いて行う処理（コマンド）に関する情報、が記録される。
【００１８】
対話名２０１は、対話シナリオを区別するために利用される対話の名称を表す文字列、スロット１の名称２０２およびスロットｎの名称２０４は、利用者が入力するスロットの名称を表す文字列である。ここで、スロットとは、利用者が入力する各キーワードを格納するメモリ領域を指し、スロットの名称はこのメモリ領域を区別するために使用される。利用者が入力したスロットに対応するキーワードは、スロットに対応するメモリ領域に格納される。
また、スロット１の種類２０３およびスロットｎの種類２０５は、スロットに格納されるキーワードの種類を表す文字列であり、後記するキーワード種類辞書１１２において使用されるキーワードの種類の名称と同じ文字列を使用する。例えば、「県名」や「美術館」等の文字列が格納される。スロット１の種類２０３およびスロットｎの種類２０５は、利用者が入力したキーワードをスロットに格納する際に、どのスロットに格納するかを決定するために用いられる。
【００１９】
利用者音声認識用文法名２０６は、利用者が入力した音声データを認識するために使用されるキーワードやキーワードの並びに関するルールが登録された音声認識用文法の名称を表す文字列である。音声認識用文法としても、一般的に用いられる音声認識技術で利用されている形式を使用することができる。また、対話毎に利用者が入力する音声の言い回しやキーワードが異なるため、本発明の実施の形態１では対話毎に音声認識用文法を設定しているが、対象とする全ての対話に対応可能な音声認識用文法を用意し、それを用いるようにすることもできる。
コマンド２０７は、利用者がスロット１の名称２０２およびスロットｎの名称２０４に入力したキーワードに基づいてデータベースを検索するためのコマンドを表す文字列である。例えば、スロット１およびスロット２を検索条件としてデータベースを検索する場合、コマンドの形式が、「SEARCH  条件１  条件２」であったとすると、２０７のコマンドには、「SEARCH  ［スロット１の名称］  ［スロット２の名称］」と記述される。ここで、SEARCHは検索を行うためのコマンドの名称であり、［スロットｎの名称］という記述は、この箇所をスロットｎに格納されているキーワードで置き換えることを示すものとする。
【００２０】
図３は、キーワード種類辞書１１２に格納される情報のフォーマットを示す構成図である。キーワード種類辞書１１２は、入力された利用者の音声に含まれるキーワードとその種類の名称を対応づけて記憶した辞書である。
【００２１】
種類３０１で示される列はキーワードの種類の名称であり、キーワード３０２で示される列はキーワードの種類に該当するキーワードが記述される。例えば、図３において、「○○美術館」３０４、「△△美術館」３０５および「××ミュージアム」３０６は、「美術館」３０３という種類に該当するキーワードである。また、「東京都」３０８、「神奈川県」３０９および「千葉県」３１０は、「県名」３０７という種類に該当するキーワードである。
【００２２】
図４は、言い換え辞書１１３に格納される情報のフォーマットを示す構成図である。言い換え辞書１１３は、入力された利用者の音声に含まれるキーワードとその信頼度とから、応答文を生成するための言い換えルールを設定した辞書である。
【００２３】
キーワード４０１で示される列は言い換え対象となるキーワード、条件（信頼度）４０２で示される列は言い換えを行う条件、言い換え語４０３で示される列は言い換え語および応答タイプ４０４で示される列は応答タイプが記述される。条件（信頼度）４０２の言い換えを行う条件で示される列において、「ｘ」は利用者の音声データから認識されたキーワードの信頼度を表しており、例えば、「ｘ＞０．８」という表記は、「信頼度が０．８より大きい場合」という条件を表す。また、符号４０５の欄に含まれる４行はキーワード「○○美術館」に関する言い換えルールを、符号４０６の欄に含まれる４行はキーワード「神奈川県」に関する言い換えルールを表す。さらに、符号４０７で示される行は、「○○美術館」の言い換えルールの１つを表しており、信頼度が０．８より大きい場合は、「○○美術館」というキーワードをそのまま使用し、「キーワード確認」という応答タイプが選択されるというルールになる。一方、符号４０８で示される行の場合は、信頼度が０．５より大きく、０．８以下の場合は、「○○美術館」というキーワードを「美術館の名称」に置き換え、「絞込み」という応答タイプが選択されるというルールになる。
【００２４】
図５は、応答文テンプレート辞書１１４に格納される情報のフォーマットを示す構成図である。応答文テンプレート辞書１１４は、前記言い換え辞書１１３（図４参照）で決定された応答タイプ４０４に対応づけた応答文のフォーマットを記録した辞書である。
【００２５】
応答タイプ５０１で示される列には応答タイプが、応答文テンプレート５０２で示される列には応答タイプに対応する応答文テンプレートが記述される。符号５０３で示される行には応答タイプ「キーワード確認」に対する応答文テンプレートが、符号５０４で示される行には応答タイプ「絞込み」に対する応答文テンプレートが、符号５０５で示される行には応答タイプ「種類確認」に対する応答文テンプレートが、符号５０６で示される行には応答タイプ「再入力」に対する応答文テンプレートがそれぞれ格納されている。各応答文テンプレート中の「Ｘ」は、その位置に言い換え辞書１１３により決定された言い換え語４０３が挿入されることを示している。すなわち、応答文は、応答タイプ５０１に対応する応答文テンプレート５０２に、言い換え辞書１１３によって決定される言い換え語を挿入することにより生成される。
【００２６】
例えば、言い換え辞書１１３（図４参照）において、符号４０７で示される行の言い換えルールが適用された場合、応答文テンプレート辞書１１４において、符号５０３で示される行の応答文テンプレートが選択され、言い換え語「○○美術館」が挿入されるため、応答文は、「○○美術館でよろしいですか？」となる。
一方、符号４０８で示される行の言い換えルールが適用された場合は、応答文テンプレート辞書１１４において、符号５０４で示される行の応答文テンプレートが選択され、言い換え語「美術館の名称」が挿入されるため、応答文は、「もう一度美術館の名称をお話し下さい。」となる。
【００２７】
図６は、本発明の実施の形態１を適用した音声対話装置１の処理手順を示すフローチャートである。本発明の実施の形態１を適用した音声対話装置１の処理は、対話制御プログラム１０８をメインに実行する。対話制御プログラム１０８は、対話シナリオ１１１、キーワード種類辞書１１２、言い換え辞書１１３および応答文テンプレート辞書１１４を用いて、利用者が目的とする情報を検索するための検索条件となるキーワードを音声により入力することを促し、必要なキーワードが揃うとデータベース１１５を検索し、その結果を利用者に対して出力する。図１を参照しつつ、図６に添って、本発明の実施の形態１における手順の説明をする。
【００２８】
図６では、別の音声コマンド、あるいは、図示しない画面上のメニュー等により、利用者によって特定の対話シナリオがあらかじめ選択されており、音声認識プログラム１０７には選択された対話シナリオに対応する利用者音声認識用文法名が通知され、利用者から入力される音声データの認識が可能な状態になっていると想定している。また、処理開始時の対話シナリオ１１１の各スロットの内容は空であると想定する。
以下、ステップＳ６００からステップＳ６０３は、情報処理部１０５に実行されることで、対話制御プログラム１０８が行う。
【００２９】
処理が開始すると、ステップＳ６００は、各スロットを初期化する。すなわち、利用者によって特定の対話シナリオ１１１（図２参照）が選択されると、当該対話シナリオ１１１をメモリ領域に格納する。当該対話シナリオ１１１には、利用者音声認識用文法名２０６と、それに対応するコマンド２０７と、スロット１の種類２０３と、スロットｎの種類２０５と、が格納されている。さらに、スロットＮ（Ｎ＝１、・・ｎ）の内容を格納するメモリ領域を確保し、その内容を空のまま（空スロット）とする。
【００３０】
ステップＳ６０１は、対話シナリオ１１１に存在するスロットＮ（Ｎ＝１、・・ｎ）の内容を格納するメモリ領域の中で空スロットであるものを条件として、その空スロットにキーワードの入力を利用者に促すための応答文に対する応答タイプを、後記する図７に示す対応表から決定する。ステップＳ６０１は、利用者との対話が新たに開始された場合や、新たなスロットへのキーワードの入力を利用者に促す場合に行われる処理となる。
【００３１】
ここで、図７は、本発明の実施の形態１において空きスロットと、それに対応した応答タイプとの関係を格納する情報を示す対応表である。本対応表は、空きスロットリスト７０１と応答タイプ７０２とから構成され、空きスロットリスト７０１で示される列にはスロットの名称、応答タイプ７０２で示される列にはスロットに対する応答タイプが格納される。例えば、符号７０３で示される行では、スロット１が空スロットである場合に応答タイプが「要求１」であることを示している。同様に、符号７０４で示される行では、スロット２が空スロットである場合に応答タイプが「要求２」になることを示している。
図７に示す対応表は、あらかじめ利用者音声認識用文法名２０６に対応した、空スロットと応答タイプを関連づけた対応表を用意しておく。また、言い換えルールの一種として、言い換え辞書１１３（図４参照）に、空スロットに対応する応答タイプを格納することができる。あるいは、別途格納手段を設けて空スロットに対応する応答タイプを格納するようにしても良い。
【００３２】
ステップＳ６０２では、ステップＳ６０１で選択された応答タイプに基づいて、応答文テンプレート辞書１１４（図５参照）を検索し、該当する応答文テンプレートを決定する。応答文テンプレート辞書１１４に格納される情報では、図７に示す応答タイプ７０２に対応する応答文テンプレートは考慮していないが、例えば、後記する図８における符号８０１および符号８０２で示される行のように、空スロットに対する応答文テンプレートを応答文テンプレート辞書１１４の中に含めることができる。
【００３３】
ここで、図８は、図５で示した応答文テンプレート辞書１１４を拡張した応答文テンプレート辞書１１４ａに格納される情報を表す構成図を示す。図８において、符号８０１で示される行には、図７より、スロット１が空スロットである場合の応答文、符号８０２で示される行には、スロット２が空スロットである場合の応答文となる。
【００３４】
ステップＳ６０３では、決定されている言い換え語を応答文テンプレートに挿入し、応答文を生成する。ここで、挿入される言い換え語は、後記するステップＳ６０７で決定される。従って、ステップＳ６０１で応答タイプが選択された場合のステップＳ６０３では、応答文テンプレートには、言い換え語は無しとして、処理を進める。
【００３５】
ステップＳ６０４では、ステップＳ６０３で生成された応答文を音声合成プログラム１０９により音声データに変換し、音声出力部１０３を経由してスピーカ１０４から出力する。
【００３６】
ステップＳ６０５では、音声認識プログラム１０７が、ステップＳ６０４で出力した応答文に対して利用者が入力した音声データを認識し、キーワードを抽出し、抽出されたキーワードとその確からしさを表す信頼度とともに、対話制御プログラムに通知する。
以下、ステップＳ６０６からステップＳ６１１は、情報処理部１０５に実行されることで、対話制御プログラム１０８が行う。
【００３７】
ステップＳ６０６では、音声データの認識結果が確認に対する応答かどうかを判定する。判定方法としては、認識結果中に、あらかじめ登録しておいた確認に対する応答であることを表す特定の単語、例えば、「はい」や「いいえ」等の単語が含まれているかどうかを調べ、特定の単語が含まれていれば確認に対する応答であると判断し、含まれていなければ確認に対する応答ではないと判断すれば良い。また、応答文が確認を求める応答文かどうかの情報を保持しておき、応答文が確認を求める応答文であれば利用者の音声は確認に対する応答と判断することもできる。この際、応答文が確認を求める応答文であるかどうかの判定は、応答文テンプレート辞書１１４（図５参照）の応答タイプ５０１や応答文テンプレート５０２に確認を求める応答文であるかを表す情報を付加しておけば容易に実現することができる。さらに、応答文が確認を求める応答文であるかどうかを表す情報と、認識結果中に含まれる特定の単語との両方を利用して判定することもできる。
【００３８】
ステップＳ６０６において、利用者の音声が、確認に対する応答では無いと判断された場合は（Ｎｏ）、ステップＳ６０７に進む。
ステップＳ６０７では、ステップＳ６０５で認識されたキーワードとその信頼度に基づいて言い換え辞書１１３（図４参照）を検索し、言い換え語４０３と応答タイプ４０４を決定し、ステップＳ６０２に戻る。
【００３９】
例えば、ステップＳ６０５で利用者の音声を認識した結果が、（○○美術館、０．４）であったとすると、言い換え辞書１１３（図４参照）から、まず「○○美術館」を検索キーとして検索され、ステップＳ６０７では、言い換え語４０３「美術館」、応答タイプ４０４「種類確認」が選択される。
この例では、ステップＳ６０２では、前記応答タイプに基づいて、応答文テンプレート辞書１１４（図５参照）から該当する応答文テンプレート５０５が選択されるため、ステップＳ６０３で生成される応答文は、「美術館でよろしいですか？」となる。
【００４０】
一方、ステップＳ６０６において、利用者の音声が確認に対する応答であると判断された場合は（Ｙｅｓ）、ステップＳ６０８に進む。
【００４１】
ステップＳ６０８では、さらに、利用者の音声が、確認に対する応答が肯定であったか、否定であったかを判定する。この場合も、利用者の音声の認識結果中に、肯定を表す特定の語、例えば「はい」や「そうです」等が含まれている場合、利用者の音声は確認に対する応答が肯定、一方、否定を表す特定の語、例えば「いいえ」、「違います」等が含まれている場合、利用者の音声は確認に対する応答が否定であると判定すれば良い。
【００４２】
ステップＳ６０８において、利用者の音声の、確認に対する応答が否定であると判定された場合は（Ｎｏ）、ステップＳ６０９に進み、確認対象となっているキーワードを抹消し、ステップＳ６０１に戻る。確認対象となっているキーワードが何であるかは、確認に対する応答と判断された利用者の音声より前に入力された利用者の音声の認識結果を保持しておくことにより、容易に判定することができる。
【００４３】
ステップＳ６０８において、利用者の音声の確認に対する応答が肯定であると判定された場合は（Ｙｅｓ）、ステップＳ６１０に進み、確認の対象となっているキーワードを対話シナリオ１１１の該当するスロットＮ（Ｎ＝１、・・ｎ）の内容を格納するメモリ領域に格納する。このために、前記キーワードをキーとして、キーワード種類辞書１１２（図３参照）から、キーワードの種類３０１を求める。さらに、求めたキーワードの種類と一致するスロットＮの種類（Ｎ＝１、・・ｎ）を有するスロットを図２における対話シナリオ１１１から検索する。検索されたスロットをキーワードに該当するスロットとして、キーワードをそのスロットＮ（Ｎ＝１、・・ｎ）の内容を格納するメモリ領域に格納する。
【００４４】
ステップＳ６１０において該当するスロットにキーワードを格納した後、ステップＳ６１１に進み、全てのスロットにキーワードが格納されたかどうかを調べる。
全てのスロットにキーワードが格納されていない場合は（Ｎｏ）、ステップＳ６０１に戻る。
【００４５】
ステップＳ６１１において全てのスロットにキーワードが格納されている場合は（Ｙｅｓ）、ステップＳ６１２に進み、対話シナリオ１１１（図２参照）の符号２０７で示されるコマンドとスロットに格納されたキーワードを用いて検索プログラム１１０が、データベース１１５の検索処理を実行し、結果を音声合成プログラム１０９により出力する。
【００４６】
さらに、言い換え辞書１１３（図４参照）には、キーワード毎に対応する言い換え語を格納していたが、キーワードの種類毎に言い換え語を格納することもできる。この場合、言い換え辞書としては、図９に示すようなフォーマットを用いれば良い。
【００４７】
ここで、図９は、本発明の実施の形態１におけるキーワードの種類に対する言い換え辞書に格納される情報を表す構成図を示す。
【００４８】
図９において、図４に示す言い換え辞書１１３との差異は、種類９０１で示される列と言い換え語９０２で示される列の内容である。種類９０１で示される列には、言い換え対象となるキーワードの種類を表す文字列が記載される。
図９では、「美術館」９０３および「県名」９０４がキーワードの種類を表す文字列である。言い換え語９０２で示される列の内容は、図４における言い換え語４０３で示される列の内容とほぼ同じであるが、符号９０５および符号９０６の行で示されるルールに含まれる内容が異なっている。符号９０５の行で示されるルールでは、「認識されたキーワードの種類が美術館であり、キーワードの信頼度が０．８より大きければ、認識されたキーワードを言い換え語として選択する」ということを表している。符号９０５および符号９０６で示される行に含まれる［キーワード］という記述は、認識されたキーワードを言い換え語として使用することを示している。
【００４９】
図９に示す言い換え辞書１１３ａを用いた場合、図６に示す流れ図におけるステップＳ６０７は、次のように変更される。すなわち、ステップＳ６０７では、まず、利用者の音声から認識されたキーワードをキーワード種類辞書１１２から検索し、キーワードの種類３０１を決定する。決定したキーワードの種類３０１と認識されたキーワードに対する信頼度に基づいて、言い換え辞書１１３ａを検索し、言い換え語および応答タイプを決定する。
【００５０】
また、図４および図９に示す言い換え辞書１１３では、一組のキーワードと条件の組み合わせに対して一種類の言い換え語のみが登録されているが、複数の言い換え語を登録することもできる。この場合、言い換え語を決定する方法としては、例えば乱数を使用して決定すれば良い。
【００５１】
本発明の実施の形態１によれば、キーワードの音韻的な特性や長さ等によってキーワードの認識結果における信頼度が大きく変化する場合にも柔軟に対応した応答文の生成が可能となる。例えば、キーワードが正しく認識された場合においても、得られる信頼度はキーワードの種類によって常に高い値が得られるときも、低いときもある。言い換え辞書１１３（図４参照）では、「○○美術館」と「神奈川県」それぞれに対して、言い換え語を選択する際の信頼度に関する条件（符号４０２参照）が異なっており、「○○美術館」では正しい認識結果が得られる場合の信頼度が高く、「神奈川県」では正しい認識結果が得られる場合の信頼度が低いことが多い、ということを前提とした設定となっている。このように、キーワード毎に言い換え語を選択する条件を設定することにより、認識対象とするキーワードの特性に応じて適切な応答文を生成することが可能となる。
【００５２】
（実施の形態２）
以下、本発明（音声対話装置および音声対話プログラム）の実施の形態２を、図１０等を用いて説明する。
【００５３】
前記した本発明の実施の形態１では、利用者の音声中に含まれているキーワードは１つのみであると仮定していた。通常、利用者との対話では、利用者が２つ以上のキーワードを１回の音声中に含めることができるようにした方が操作性は向上する。
【００５４】
本発明の実施の形態２では、利用者の音声中に複数のキーワードが含まれている場合でも柔軟な応答文を生成できるように、応答文テンプレート辞書１１４のフォーマットを図１０に示すようなフォーマットとする。図５に示す応答文テンプレート辞書１１４では、対象とするキーワードが１種類であるため、それに対応する応答タイプも１種類であるが、同時に対象とするキーワードが２つ以上の場合は、それぞれのキーワードに対して図４に示す言い換え辞書１１３を適用することにより、それぞれのキーワードに対して応答タイプが決定される。このため図１０に示す応答文テンプレート辞書１１４ｂでは、応答タイプの組み合わせに対して応答文テンプレートを決定できるようにしている。
【００５５】
図１０に示す辞書は、対象とするスロットが２つの場合を示しており、それぞれのスロットに対応するキーワードから選択される応答タイプの組み合わせがスロット１の応答タイプ１００１およびスロット２の応答タイプ１００２で示される列に記録される。例えば、符号１００３で示される行では、スロット１およびスロット２の応答タイプが共に「キーワード確認」の場合、「［スロット１の名称］の［スロット２の名称］でよろしいですか？」という応答文テンプレートが選択される。
ここで、図６に示すフローチャートを用いた処理中、ステップＳ６０３の処理では、［スロット１の名称］および［スロット２の名称］には、対話シナリオ１１１に格納されているそれぞれのスロットＮの種類（Ｎ＝１、・・ｎ）に対応するキーワードの言い換え語が挿入される。すなわち、キーワードの入れ替え語をどのスロットに挿入するかは、対象とするキーワードに対応するキーワードの種類をキーワード種類辞書１１２から検索し、さらに、対話シナリオ１１１から、前記検索されたキーワードの種類と一致するスロットＮの種類（Ｎ＝１、・・ｎ）を検索することにより決定することができる。
【００５６】
また、図１０における符号１００３から符号１００６に示される行では、それぞれのスロットに対応するキーワードから選択される応答タイプが具体的に記録されているが、符号１００７から符号１００９に示される行では、スロット２に対応する応答タイプに関しては制約を設けないという形式になっている。符号１００２で示される列に記載されている「＊」という記号が、応答タイプに関する制約が無いことを示している。これにより、例えば、符号１００７で示される行は、スロット１に対応する応答タイプが「絞り込み」であれば、スロット２に対応する応答タイプに関わらず、「もう一度［スロット１の名称］をお話し下さい。」という応答文テンプレートが選択される。
【００５７】
利用者の音声中に複数のキーワードが含まれており、図１０の符号１００７から符号１００９に示されるような形式で応答文が生成された場合、図６に示すフローチャートを用いた処理では、１つのキーワードに対してのみ確認が行われ、他のキーワードについては再度入力を行う必要が生じる。このため、例えば、利用者の音声の認識結果に対して確認が行われたかどうかを示す情報をスロット毎に対話シナリオ１１１に付加するようにし、確認が行われていないキーワードについて、言い換え辞書１１３（図４参照）および応答文テンプレート辞書１１４（図５参照）を用いた応答文の生成を行うようにすれば、全てのキーワードに対して効率的な対話を行うことが可能となる。
【００５８】
また、利用者の音声中に複数のキーワードが含まれている場合、認識された複数のキーワードとそれらの信頼度の組み合わせによって応答タイプを一意に決定するように図１１に示すような言い換え辞書を用いることもできる。
【００５９】
ここで、図１１は、複数のキーワードの組み合わせに対する言い換え辞書のフォーマットを表す構成図を示す。
１つ目のキーワード１１０１、１つ目のキーワードの信頼度に関する条件１１０２、２つ目のキーワード１１０３、２つ目のキーワードの信頼度に関する条件１１０４、１つ目のキーワードに対する言い換え語１１０５、２つ目のキーワードの対する言い換え語１１０６、応答タイプ１１０７が組として登録されている。符号１１０１から符号１１０４で示されるキーワードおよびそれらの信頼度の組み合わせに対して、それぞれのキーワードに対する言い換え語および応答タイプが決定される。
【００６０】
図１２は、例えば、図１１の言い換え辞書１１３ｂを用いることにより、複数のキーワードに対する言い換え語および応答タイプが決定された場合に使用される応答文テンプレート辞書のフォーマットを示す。図１２に示す応答文テンプレート辞書１１４ｃのフォーマットは、図５に示す応答文テンプレート辞書１１４と基本的には同様であるが、応答文テンプレート１２０１で示す列における応答文テンプレートの内容は、複数のスロットに対応するキーワードが挿入可能な記述となっている。
【００６１】
例えば、図１１における符号１１０８で示される条件が適用された場合、図１２の符号１２０２で示される行の応答文テンプレートが選択される。すなわち、スロット１の種類が「県名」、スロット２の種類が「美術館」である場合、応答文は、「神奈川県の○○美術館でよろしいですか？」となる。
一方、図１１の１１０９で示される条件が適用された場合は、図１２の符号１２０４で示される応答文テンプレートが選択され、応答文は、「神奈川県の何という美術館ですか？」となる。
さらに、図１１の符号１１１０で示される条件が適用された場合は、図１２の符号１２０３で示される応答文テンプレートが選択され、応答文は、「○○美術館でよろしいですか？」となる。
【００６２】
さらに、１つのキーワードのみを対象とした言い換え辞書１１３や応答文テンプレート辞書１１４と、２つ以上のキーワードの組み合わせを対象とした言い換え辞書１１３や応答文テンプレート１１４と、を混在させて使用することもできる。
例えば、対象とするスロットに優先順位を付加し、優先順位の高いスロットに関する言い換え辞書１１３や応答文テンプレート辞書１１４を優先的に用いて検索する方法や、より多い数のスロットの組み合わせに対する言い換え辞書１１３や応答文テンプレート辞書１１４を優先的に用いて検索するようにすれば良い。
また、スロットの優先順位と対象とするスロットの数を併用するようにすることや、スロットの組み合わせに対する優先順位をあらかじめ定義しておくこともできる。
【００６３】
本発明の実施の形態２によれば、利用者から入力されるキーワードの種類やその数によってキーワードの言い換え方法を変更した方が良い場合にも適切な応答文を柔軟に生成することが可能となる。
例えば、利用者の音声から認識されたキーワードについて、その種類を指定した再入力を促す応答文を生成する場合を想定する。利用者の音声が、「○○美術館です。」のようにキーワードが１つである場合、応答文としては、「もう一度、美術館の名称をお話下さい。」というような表現が考えられる。
一方、利用者の音声が、「神奈川県の○○美術館です。」のようにキーワードが２つ(神奈川県、○○美術館)である場合は、「神奈川県のどの美術館ですか。」というような表現が適切な表現となる。
最初の例においては「○○美術館」が「美術館の名称」で置き換えられ、２番目の例においては「どの美術館」に置き換えられていることになる。
このように、言い換える対象となるキーワードが同じであっても、応答文に含めるキーワードの数によって、適切な言い換え方法が異なる場合がある。また、それ以前の応答文によっては、「どの美術館」ではなく、「どんな美術館」や「何という美術館」等の表現が適切な場合も考えられる。
かかる場合、１つのキーワードのみを対象とした言い換え辞書１１３や応答文テンプレート辞書１１４と、２つ以上のキーワードの組み合わせを対象とした言い換え辞書１１３や応答文テンプレート１１４を併用することにより、適切な応答文を生成することが可能となる。
【００６４】
（実施の形態３）
本発明（音声対話装置および音声対話プログラム）の実施の形態３を、図１３等を用いて説明する。
【００６５】
前記した本発明の実施の形態１および実施の形態２における言い換え辞書１１３は、認識されたキーワードおよびその信頼度のみを言い換え語および応答タイプを選択する際の条件としていた。通常、利用者との対話では、やり取りする情報の量や直前までの対話の内容等によって応答文を変更した方が、スムーズなやり取りが行える場合が少なくない。これを実現するため、言い換え語辞書１１３における言い換え語および応答タイプを選択する際の条件として、認識されたキーワードおよび信頼度以外の項目を追加する。
【００６６】
図１３は、本発明の実施の形態３における前記条件に項目を追加した言い換え辞書に格納される情報を表す構成図である。
【００６７】
図１３における言い換え辞書１１３ｃでは、符号１３０１の列に示す「他スロット数」が条件として追加されている。符号１３０１の列において、「＊」は対象とするスロット以外のスロット数に対する制約が無いことを表している。「０」は対象とするスロット以外のスロットが無いことを表しており、「ｙ≧１」は対象とするスロット以外のスロット数が１以上であることを表している。ｙは便宜上使用している変数名である。
【００６８】
ここで、例えば、図１３に示す言い換え辞書１１３ｃと、図５および図１０に示す応答文テンプレート辞書１１４を使用する場合を想定する。利用者の音声を認識した結果、音声中に含まれるキーワードが「○○美術館」のみであり、信頼度は０．７、そのキーワードはスロット２に対応しているとする。この場合、図１３に示す言い換え辞書１１３ｃを適用すると、符号１３０２で示す行が選択され、言い換え語「美術館の名称」、応答タイプ「絞込み」が選択される。対象とするスロットが１つであるため、図５に示す応答文テンプレート辞書１１４により応答文テンプレート「もう一度Ｘをお話し下さい。」が選択され、選択された言い換え語を挿入することにより、応答文として、「もう一度美術館の名称をお話し下さい。」が生成される。
【００６９】
一方、利用者の音声中にスロット１に対応する「神奈川県」も同時に含まれており、その信頼度は１．０とする。この場合、「神奈川県」に対する言い換え語および応答タイプは、図１３に示す言い換え辞書１１３ｃを適用することにより、それぞれ「神奈川県」、「キーワード確認」となる。当該スロット１と前記スロット２とについて、対象とするスロットは２つになるため、図１０の応答文テンプレート辞書１１４ｂにより、応答文テンプレートとしては、「［スロット１の名称］の［スロット２の名称］ですか？」が選択される。
【００７０】
ここで、他スロット数を条件として考慮しない場合（例えば、図４に示す言い換え辞書１１３を利用する場合）、「○○美術館」に対する言い換え語は「美術館の名称」であるため、選択された応答文テンプレートに言い換え語を挿入することにより、応答文は、「神奈川県の美術館の名称ですか？」となる。「○○美術館」に対する応答タイプは「絞込み」であるため、応答文としては不適切となる。
【００７１】
一方、図１３に示す言い換え辞書１１３ｃにより、他スロット数を条件として考慮した場合、「○○美術館」に対する言い換え語としては、他スロット数が１となるため、「何という美術館」が選択される。応答文テンプレートに選択された言い換え語を挿入することにより、応答文として、「神奈川県の何という美術館ですか？」が生成され、応答タイプ「絞込み」に対して適切な応答文を生成することが可能となる。
【００７２】
図１３に示す言い換え辞書１１３ｃでは、言い換え語および応答タイプを選択する条件として、信頼度と他スロット数（利用者の音声中に含まれるキーワードの数）に基づく条件を使用していたが、その他、他スロットの種類や利用者名、対話履歴（過去の応答タイプや応答文、利用者音声の認識結果等の履歴）を条件として使用することもできる。これらの情報を利用するためには、それぞれの内容を格納するための列を図１３に示す言い換え辞書１１３ｃに追加すれば良い。
【００７３】
また、利用者名を利用する場合は、対話を開始する際に、音声入力やキーボード等により名前を入力させれば良い。あるいは、公知の顔画像認識技術を用いることにより、カメラから取り込んだ画像から利用者の顔を認識し、入力することもできる。これにより、利用者毎に応答文の形態を変化させることが可能となる。
【００７４】
さらに、対話履歴を利用する場合は、応答タイプ、応答文および利用者音声の認識結果の列を条件として言い換え辞書１１３中に格納すれば良い。例えば、以下のような対話を想定する。
（１）応答文：施設名をお話し下さい。
（２）利用者音声：○○美術館。
（３）応答文：もう一度美術館の名称をお話し下さい。
（４）利用者音声：○○美術館
（５）応答文：○○美術館でよろしいですか？
（６）利用者音声：はい
図４に示す言い換え辞書１１３および図８に示す応答文テンプレート辞書１１４ａを使用した場合、それぞれの応答文の応答タイプは、（１）は、要求１、（３）は、絞込み、（５）は、キーワード確認となる。対話履歴を応答タイプおよび利用者音声の認識結果の列によって表す場合、例えば、（応答：要求１）（利用者：○○美術館）（応答：絞込み）（利用者：○○美術館）（応答：キーワード確認）（利用者：はい）というような形式で対話履歴を表すことができる。「応答」は応答タイプの略であり、「利用者」は利用者音声の認識結果の略であることを表している。このような形式の情報を言い換え辞書１１３に格納すると共に、同様の形式で実際に行われた対話の結果を別途記録しておけば、言い換え辞書１１３の条件として対話履歴を利用することができる。
前記例では、利用者音声の認識結果として、認識されたキーワードのみを登録する例を示しているが、認識の結果得られる信頼度を合わせて記録しても良い。また、応答タイプの代わりに、実際に出力された応答文を格納することも容易である。また、応答文のみあるいは利用者音声の認識結果のみを格納しても良い。また、言い換え辞書１１３中に条件として格納する対話履歴として、格納する対話履歴中の項目の数を制限しても良い。
【００７５】
対話履歴を言い換え辞書１１３の条件として使用することにより、応答タイプが絞込みや種類確認の繰り返しとなる場合に応答文を変更する等の制御を容易に行うことが可能となる。
【００７６】
本発明の実施の形態３によれば、前記実施の形態２よりさらに複雑な条件毎に、応答文の内容を細かく制御して生成することが可能となる。
【産業上の利用可能性】
【００７７】
本発明の音声対話装置は、入力された利用者の音声データの中で表現されているキーワードあるいはその種類毎に、細かく応答文の内容を設定することが可能であり、その結果、利用者との対話がより自然となり、操作性向上が期待できる。従って、コールセンターにおける自動応答システムや、自動販売機やＡＴＭ等の機器の操作インタフェースとしての利用が本発明には適している。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施の形態１による音声対話装置の構成例を示すブロック図である。
【図２】本発明の実施の形態１における対話シナリオのフォーマットを表す構成図である。
【図３】本発明の実施の形態１におけるキーワード種類辞書に格納される情報のフォーマットを表す構成図である。
【図４】本発明の実施の形態１における言い換え辞書に格納される情報のフォーマットを表す構成図である。
【図５】本発明の実施の形態１における応答文テンプレート辞書に格納される情報のフォーマットを表す構成図である。
【図６】本発明の実施の形態１における対話制御プログラムの処理手順を表すフローチャートである。
【図７】本発明の実施の形態１において空きスロットと応答タイプの関係を格納する情報を示す対応表である。
【図８】本発明の実施の形態１において拡張した応答文テンプレート辞書のフォーマットを表す構成図である。
【図９】本発明の実施の形態１におけるキーワードの種類に対する言い換え辞書のフォーマットを表す構成図である。
【図１０】本発明の実施の形態２における応答文テンプレート辞書のフォーマットを表す構成図である。
【図１１】本発明の実施の形態２における複数のキーワードの組み合わせに対する言い換え辞書のフォーマットを表す構成図である。
【図１２】本発明の実施の形態２における複数のキーワードに対応した応答文テンプレート辞書のフォーマットを表す構成図である。
【図１３】本発明の実施の形態３における言い換え辞書のフォーマットを表す構成図である。
【符号の説明】
【００７９】
１０７    音声認識プログラム
１０８    対話制御プログラム
１０９    音声合成プログラム
１１２    キーワード種類辞書
１１３    言い換え辞書
１１４    応答文テンプレート辞書
【図１】
2008039928.tif 000003
【図２】
2008039928.tif 000004
【図３】
2008039928.tif 000005
【図４】
2008039928.tif 000006
【図５】
2008039928.tif 000007
【図６】
2008039928.tif 000008
【図７】
2008039928.tif 000009
【図８】
2008039928.tif 000010
【図９】
2008039928.tif 000011
【図１０】
2008039928.tif 000012
【図１１】
2008039928.tif 000013
【図１２】
2008039928.tif 000014
【図１３】
2008039928.tif 000015