(57)【要約】【課題】対話装置からのガイダンスによる質問、確認に対して、ユーザは、ガイダンスと関係なく自由に発話しても、目的とするスロット値を確定することができる音声対話装置を得ること。【解決手段】回答文から、ガイダンス文が目的としたスロット値及び、ガイダンスが目的とした以外のスロット値及び、コマンド語彙を抽出できるようにした。さらに、コマンド語彙が、どのスロット値に付いて言及しているか判断できるようにした。さらに、音声対話装置が目的とする回答が全て得られていない場合は、目的とする回答を得るためのガイダンス文を音声出力して、発話者に再度、回答文を要求できるようにした。【選択図】　図１
2004045900.tif 000002
【特許請求の範囲】
【請求項１】
異なる複数のカテゴリー毎に設けられた少なくとも１つのスロットに発話者から目的とする回答を得るために少なくとも１つのカテゴリーを対象としたガイダンス文を音声出力し、このガイダンスに応答して発話者から得られる回答文を解析して目的とする回答を確定する音声対話装置において、
前記回答文から、前記ガイダンス文で問われたカテゴリーのスロット値の候補を含むスロット語句、及び前記ガイダンス文で問われた以外の他のカテゴリーのスロットについてのスロット値の候補を含むスロット語句、及び「肯定」又は「否定」を表す単語を含むコマンド語句を検出するキーワード検出部と、
全ての前記スロットが確定していない場合は、確認すべきカテゴリーのスロットに対して回答を要求するガイダンス文の制御を行う対話制御部と、
を有することを特徴とする音声対話装置。
【請求項２】
前記音声対話装置において、
前記スロット語句は、スロット値の候補となる単語であるスロット単語、及びスロット値の候補となる単語が助詞などを伴ったスロット単語列であり、
前記コマンド語句は、「肯定」又は「否定」を表す単語であるコマンド単語、及び「肯定」又は「否定」を表す単語を含む単語列であるコマンド単語列であることを特徴とする請求項１に記載の音声対話装置。
【請求項３】
前記音声対話装置において、
前記検出したスロット語句から、スロット値を検出し、
前記回答文が、何れのスロット、又は前記検出したスロット値について言及しているか解析し、
言及している前記スロット、又は前記スロット値についてそれぞれコマンド語句の有無、及びその意味により、「肯定」、「否定」の度合い、又は「何れでもない」を判定し、
前記スロット毎、又は前記スロット値毎に対してそれぞれの判定結果により発話の意味を解析し、前記スロット毎、又は前記スロット値毎にそれぞれの前記判定結果の組からなる意味情報を生成する意味情報生成部と、
前記意味情報により、各スロットにおけるスロット値とスロット状態の組からなるスロット情報を更新するスロット情報管理部とをさらに有することを特徴とする請求項２に記載の音声対話装置。
【請求項４】
前記音声対話装置において、
前記意味情報により、前記スロット状態は、「未知」＜「未確認」＜「確定」の順に順位付けられて前記スロット情報管理部により管理されることを特徴とする請求項３に記載の音声対話装置。
【請求項５】
前記音声対話装置は、
得られた前記スロット値の組み合わせにより、カテゴリー毎に複数のスロット値により構成されたデータベース内を検索し、前記検索の結果、検索の対象外であるスロット値が得られていないスロットについてスロット値が一意的に定まる場合、検索により得られたスロット値を、該当するスロットのスロット値とし、スロット状態を「データベースによる設定」とするデーターベース検索部をさらに有し、
前記スロット情報管理部は、
前記「データベースによる設定」状態を加えた４種類の状態により、
「未知」＜「データベースによる設定」＜「未確認」＜「確定」の順に順位付けて前記スロット情報を管理することを特徴とする請求項４に記載の音声対話装置。
【請求項６】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは、陽に肯定、又は否定を表すことを発話することにより、前記意味情報生成部は、前記あるスロットについて「肯定」、又は「否定」の意味情報を生成することができることを特徴とする請求項３乃至請求項５いずれか１項に記載の音声対話装置。
【請求項７】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは陽に肯定、又は否定を表すことを発話する代わりに、１つ、又は複数のスロットについて発話することで、前記意味情報生成部は、前記１つ、又は複数のスロットについての意味情報を生成することができることを特徴とする請求項３乃至請求項５いずれか１項に記載の音声対話装置。
【請求項８】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、前記ユーザは陽に肯定、又は否定を表すことを発話する代わりに、確認を求められているスロット語句を発話することにより、前記意味情報生成部は、前記あるスロットについて前記スロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする請求項７に記載の音声対話装置。
【請求項９】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、前記ユーザは、陽に肯定を表すことを発話する代わりに、１つ又は複数のスロットについて発話することにより、前記意味情報生成部は、前記あるスロットについて「肯定」の意味情報を生成し、さらに、前記１つ又は複数のスロットについてそれぞれ意味情報を生成することができることを特徴とする請求項７に記載の音声対話装置。
【請求項１０】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、前記ユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句と「否定」を表す単語を含むコマンド語句を用いた発話により、前記意味情報生成部は、前記あるスロットについて、前記スロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成することができることを特徴とする請求項７に記載の音声対話装置。
【請求項１１】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して前記ユーザは、陽に否定を表すことを発話する代わりに、正しいスロット語句を発話することによって、前記意味情報生成部は、前記あるスロットについて、保持するスロット値と「否定」の組からなる意味情報を生成し、さらに、発話された前記正しいスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする請求項７に記載の音声対話装置。
【請求項１２】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して前記ユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句と「否定」を表す単語を含むコマンド語句を用いた発話をし、さらに、１つ又は複数のスロットについて発話をすることにより、前記意味情報生成部は、前記あるスロットについて、前記スロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成し、さらに、前記１つ、又は複数のスロットについてそれぞれ意味情報を生成することができることを特徴とする請求項７に記載の音声対話装置。
【請求項１３】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して前記ユーザは、陽に否定を表すことを発話する代わりに、正しいスロット語句を発話し、さらに、１つ又は複数の新たなスロットについて発話することにより、前記意味情報生成部は、前記あるスロットの保持するスロット値について「否定」の意味情報を生成し、さらに、前記あるスロットについて、発話された前記正しいスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成し、さらに、前記１つ、又は複数のスロットについてそれぞれ意味情報を生成することができることを特徴とする請求項７に記載の音声対話装置。
【請求項１４】
あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して前記ユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句と「否定」を表す単語を含むコマンド語句を用いた発話をし、さらに、１つ又は複数のスロットについて発話することにより、前記意味情報生成部は、前記あるスロットについて、前記スロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成し、さらに、前記１つ、又は複数のスロットについてそれぞれ意味情報を生成することができることを特徴とする請求項７に記載の音声対話装置。
【請求項１５】
あるスロットのスロット値を尋ねるガイダンスに対して、前記ユーザは、前記あるスロットについて直接スロット語句を用いて発話することにより、前記意味情報生成部は、前記あるスロットについて前記スロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする請求項３乃至請求項５いずれか１項に記載の音声対話装置。
【請求項１６】
あるスロットのスロット値を尋ねるガイダンスに対して、前記ユーザは、前記あるスロット以外のスロットについてスロット語句を用いて発話することにより、前記意味情報生成部は、前記あるスロット以外のスロットについて、発話された前記スロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする請求項３乃至請求項５いずれか１項に記載の音声対話装置。
【請求項１７】
あるスロットのスロット値を尋ねるガイダンスに対して、前記ユーザは、前記あるスロット以外の１つ又は、複数のスロットについてスロット語句を用いて答えることにより、前記意味情報生成部は、前記あるスロット以外の１つ又は、複数のスロットについて、それぞれのスロット毎に発話された前記スロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする請求項１６に記載の音声対話装置。
【請求項１８】
あるスロットのスロット値を尋ねるガイダンスに対して、前記ユーザは、前記あるスロットについて又は／及び前記尋ねられたスロット以外の１つ又は、複数のスロットについてスロット語句を用いて答えることにより、前記意味情報生成部は、前記あるスロットについて発話されたスロット語句から検出されるスロット値と「肯定」の組による意味情報又は／及び前記尋ねられたスロット以外の１つ又は、複数のスロットについて、それぞれのスロット毎に発話されたスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする請求項１６に記載の音声対話装置。
【請求項１９】
目的の回答を得るために、発話者に回答文を促す文である前記ガイダンス文は、明示的ガイダンス文、暗黙的ガイダンス文、又は暗黙的な確認と、質問を同時に行うガイダンス文であることを特徴とする請求項１乃至請求項１８いずれか１項に記載の音声対話装置。
【請求項２０】
異なる複数のカテゴリー毎に設けられた少なくとも１つのスロットに発話者から目的とする回答を得るために少なくとも１つのカテゴリーを対象としたガイダンス文を音声出力する手順と、
前記ガイダンスに応答して発話者から得られる回答文を解析する手順と、
前記解析した結果を用いて、目的とする回答を確定する手順と、
前記回答文から、前記ガイダンス文で問われたカテゴリーのスロットのスロット値の候補となる、スロット単語及びスロット単語が助詞などを伴った単語列からなるスロット語句、及び前記ガイダンス文で問われた以外の他のカテゴリーのスロットについてもスロット値の候補となるスロット単語及びスロット単語が助詞などを伴った単語列からなるスロット語句、及び「肯定」又は「否定」を表す単語を含むコマンド語句を検出するキーワード検出手順と、
全ての前記スロットが確定していない場合は、確認すべきカテゴリーのスロットに対して回答を要求するガイダンス文の制御を行う対話制御手順と、
をコンピュータに実行させる音声対話プログラム。
【請求項２１】
前記音声対話プログラムにおいて、
前記検出したスロット語句からスロット値を検出し、
前記回答文が、何れのスロット、又は前記検出したスロット値について言及しているか解析し、
言及しているスロット、又は前記スロット値について「肯定」、「否定」の度合い、又は「何れでもない」を判定し、
前記スロット毎、又は前記スロット値毎それぞれの判定結果により発話の意味を解析し、前記スロット毎、又は前記スロット値毎に、それぞれの前記判定結果の組からなる意味情報を生成する意味情報生成手順と、
前記意味情報により、各スロットにおけるスロット値とスロット状態の組からなるスロット情報を更新するスロット情報管理手順とをさらに有することを特徴とする請求項２０に記載の音声対話プログラム。
【請求項２２】
前記スロット情報管理手順は、
前記意味情報により、前記スロット状態を、「未知」＜「未確認」＜「確定」の順に順位付けて管理する手順をさらに有することを特徴とする請求項２１に記載の音声対話プログラム。
【請求項２３】
前記音声対話プログラムは、
得られた前記スロット値の組み合わせにより複数のスロット値により構成されたデータベース内を検索し、前記検索の結果、検索の対象外であるスロット値が得られていないスロットについてスロット値が一意的に定まる場合、検索により得られたスロット値を、該当するスロットのスロット値とし、スロット状態を「データベースによる設定」とするデーターベース検索手順をさらに有し、
前記「データベースによる設定」状態を加えた４種類の状態により、
「未知」＜「データベースによる設定」＜「未確認」＜「確定」の順に順位付けて管理する手順をさらに有することを特徴とする請求項２２に記載の音声対話プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、発話者から目的とする回答を得るためにガイダンス文を音声出力し、このガイダンスに応答して発話者から得られる回答文を解析して目的とする回答を確定する音声認識装置に関する。従って、本発明は、例えば、車載用のカーナビゲーション・システム等に応用可能で、例えば目的地の施設名称や住所などの、所謂「スロット」に該当する情報を埋めていくような対話を行う音声対話装置等に適用することができる。
【０００２】
【従来の技術】
発話者から目的とする回答を得るためにガイダンス文を音声出力し、このガイダンスに応答して発話者から得られる回答文を解析して目的とする回答を確定する音声認識装置としては、一例として、公開特許公報「特開平１０−３１４９７」に記載されている音声対話装置が知られている。「特開平１０−３１４９７」に記載されている音声対話装置においては、複数のスロットを埋めるようなタスクにおいて、実施されている。直前の認識結果の確認と、次の質問を同時に行うことができるように、直前に認識したスロットの値を次に質問するべきスロットを尋ねるガイダンス文に挿入する。ガイダンスの提示後には、認識対象語句として質問したスロットに関するスロット語句と、認識に対する否定を表すコマンド語句（「はい」、「違います」などの諾否を表現する語句）に制限する。その後ユーザ発話の認識結果がスロット語句であればそのスロット語句を用いて次のガイダンスを生成し、コマンド語句であれば、その前に認識したスロット語句を棄却し、同じガイダンスを繰り返す。このように対話を行うことにより、効率よく円滑な対話を実現できる。このように、認識対象語彙を制限することにより、確実に対象とするスロットを確定することが期待できる。
【０００３】
以下に対話の例を示す。
例１）
システム：相手の所属をどうぞ。
ユーザ　：資材課です。
システム：資材課の誰ですか？
ユーザ　：佐藤。
システム：佐藤さんに電話をつなぎます。
例２）
システム：相手の所属をどうぞ。
ユーザ　：資材課。
システム：資料課の誰ですか？
ユーザ　：違います。
システム：もう一度、相手の所属をどうぞ。
……
このように直前の認識語句を次のガイダンスに挿入することにより、発話内容を確認しながら、対話の円滑な実現を図っている。
【０００４】
【発明が解決しようとする課題】
しかし、上述した従来の発明は、ユーザと効率的で、円滑な対話を実現するためのものであるが、対話中のある時点（各ガイダンスの直後）毎に認識語彙を、例えば、仮定したカテゴリーに属する語句に制限している。すなわち、ユーザは、ガイダンスで尋ねられたことにのみ応答を返すという仮定の下で対話が進められる。そのため、ユーザは、常にシステムのガイダンスの意図を意識し、システムが仮定（期待）している応答を返さなければいけない。このような対話では、ユーザの対話に対する心的負担が大きく、必ずしも全てのユーザに対して円滑な対話が実現されるとは限らない。
【０００５】
例えば、上記の例２）でのユーザ発話、「違います。」に対して、ユーザは、「資材課」と応答するかもしれない。しかし、システムでは、認識対象語彙として、人名キーワード語彙と、コマンド語彙を仮定しているので、「資材課」と発話した場合、「資材課」は、必ず、人名、又はコマンド語句に誤認識されてしまい、対話が迷走する。つまり、システムが仮定する応答が行われない時は、発話された内容とは全く異なるカテゴリーに分類されて、認識されてしまう。本発明は、上記の課題を解決する為になされたものであり、その目的は、ユーザが、システムが発するガイダンスを意識し、仮定している応答を常に意識して回答をしなくても、音声対話装置との円滑な音声対話を実現させ目的とする回答を得ることである。
【０００６】
なお、上述したある１つの発明が、上記した全ての目的を同時に達成するものと解されるべきではなく、個々の発明が、それぞれの目的を達成するものと解されるべきである。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、請求項１の発明は、異なる複数のカテゴリー毎に設けられた少なくとも１つのスロットに発話者から目的とする回答を得るために少なくとも１つのカテゴリーを対象としたガイダンス文を音声出力し、このガイダンスに応答して発話者から得られる回答文を解析して目的とする回答を確定する音声対話装置において、回答文から、ガイダンス文で問われたカテゴリーのスロットについてのスロット値の候補を含むスロット語句及び、ガイダンス文で問われた以外の他のカテゴリーのスロットについてのスロット値の候補を含むスロット語句及び、「肯定」又は「否定」を表す単語を含むコマンド語句を検出するキーワード検出部を有するようにした。つまり、ユーザが、ガイダンスを意識しないで、発話をしても良いようにするためには、ガイダンスが前提としているカテゴリーを前提としないで、ユーザの回答文を解析する必要があるためである。同時に、全てのスロットが確定していない場合は、確認すべきカテゴリーのスロットに対して回答を要求するガイダンス文の制御を行う対話制御部とを有することを特徴とする。ここで、スロット語句とは、スロット値の候補を含む語句のことである。広くユーザの発話をカバーし、検出できるようにした。
【０００８】
さらに、請求項２の発明の音声対話装置は、スロット語句は、スロット値の候補となる単語であるスロット単語、及びスロット値の候補となる単語が助詞などを伴ったスロット単語列であり、コマンド語句は、「肯定」又は「否定」を表す単語であるコマンド単語、及び「肯定」又は「否定」を表す単語を含む単語列であるコマンド単語列であることを特徴とする。つまり、スロット語句とは、スロット値の候補となるスロット単語、及びスロット単語が助詞などを伴った単語列のことである。例えば、スロット単語が、「名古屋市」である場合、検出する過程において、助詞「の」を伴って「名古屋市の」を検出した場合においても、以後の処理の過程において扱うことを可能とするものである。さらに、コマンド語句としては、「否定」の意味を検出できる語句としては、「いいえ」、「違う」等のように、単語として扱えるものもあれば、「で　ない」、「じゃ　ない」、「違い　ます」等のように助詞等を伴った単語列の場合が多い。このような単語列からなる語句を含めて広く対話装置が目的とするスロット値、コマンドを検出できるようにするものである。
【０００９】
さらに、請求項３の発明は、ユーザがガイダンスにとらわれずに発話した場合、ユーザの回答文が、どのスロットに付いて言及し、その意味は何なのか判断する必要がある。従って、音声対話装置において、検出したスロット語句から、スロット値を検出し、回答文が、何れのスロット、又は検出したスロット値について言及しているか解析し、言及しているスロット、又はスロット値についてそれぞれコマンド語句の有無、及びその意味により「肯定」、「否定」の度合い、又は「何れでもない」を判定し、スロット毎、又はスロット値毎に対してそれぞれの判定結果により発話の意味を解析し、スロット毎、又はスロット値毎にそれぞれの判定結果の組からなる意味情報を生成する意味情報生成部と、意味情報により、各スロットにおけるスロット値とスロット状態の組からなるスロット情報を更新するスロット情報管理部とをさらに有することを特徴とする。
【００１０】
さらに、音声対話装置は、ユーザの回答文を解析し、音声対話装置が認識した結果得られたスロット情報が、ユーザの希望している情報であるか確認を取り、確定していく必要がある。従って、請求項４の発明は、音声対話装置において、意味情報により、スロット状態は、「未知」＜「未確認」＜「確定」の順に順位付けられてスロット情報管理部により管理されることを特徴とする。
【００１１】
さらに、請求項５の発明の音声対話装置は、得られたスロット値の組み合わせにより複数のスロット値により構成されたデータベース内を検索し、検索の結果、検索の対象外であるスロット値が得られていないスロットについてスロット値が一意的に定まる場合、検索により得られたスロット値を、該当するスロットのスロット値とし、スロット状態を「データベースによる設定」とするデーターベース検索部をさらに有するようにした。又、スロット情報管理部は、「データベースによる設定」状態を加えた４種類の状態により、「未知」＜「データベースによる設定」＜「未確認」＜「確定」の順に順位付けて管理することを特徴とする。
【００１２】
さらに、請求項６の発明の音声対話装置は、自由に発話してそれを誤り無く認識できるようにするため、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは、陽に肯定、又は否定を表すことを発話することにより、意味情報生成部は、あるスロットについて「肯定」、又は「否定」の意味情報を生成することができることを特徴とする。
【００１３】
さらに、請求項７の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは陽に肯定、又は否定を表すことを発話する代わりに、１つ、又は複数のスロットについて発話することで、意味情報生成部は、１つ、又は複数のスロットについての意味情報を生成することができることを特徴とする。
【００１４】
さらに、請求項８の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは陽に肯定、又は否定を表すことを発話する代わりに、確認を求められているスロット語句を発することにより、意味情報生成部は、あるスロットについてスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする。
【００１５】
さらに、請求項９の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは、陽に肯定を表すことを発話する代わりに、１つ又は、複数の新たなスロットについて発話することにより、意味情報生成部は、あるスロットについて「肯定」の意味情報を生成し、さらに、１つ又は複数のスロットについてそれぞれ意味情報を生成することができることを特徴とする。
【００１６】
さらに、請求項１０の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句と「否定」を表す単語を含むコマンド語句を用いた発話により、意味情報生成部は、あるスロットについてスロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成するすることができることを特徴とする。
【００１７】
さらに、請求項１１の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対してユーザは、陽に否定を表すことを発話する代わりに、正しいスロット語句を発話することによって、意味情報生成部は、あるスロットについて、保持するスロット値と「否定」の組からなる意味情報を生成し、さらに、発話された正しいスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする。
【００１８】
さらに、請求項１２の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対してユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句と「否定」を表す単語を含むコマンド語句を用いた発話をし、さらに、１つ又は、複数の新たなスロットについて発話することにより、意味情報生成部は、あるスロットについて、スロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成し、さらに、１つ、又は複数のスロットについてそれぞれ意味情報を生成することができることを特徴とする。
【００１９】
さらに、請求項１３の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対してユーザは、陽に否定を表すことを発話する代わりに、正しいスロット語句を発話し、さらに、１つ又は複数の新たなスロットについて発話することにより、意味情報生成部は、あるスロットの保持するスロット値について「否定」の意味情報を生成し、さらに、あるスロットについて、発話された正しいスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成し、さらに、１つ、又は複数のスロットについてそれぞれ意味情報を生成することができることを特徴とする。
【００２０】
さらに、請求項１４の発明の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対してユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句から検出されるスロット値と「否定」を表す単語を含むコマンド語句を用いた発話をし、さらに、１つ又は複数のスロットについて発話することにより、意味情報生成部は、あるスロットについて、スロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成し、さらに、１つ、又は複数のスロットについてそれぞれ意味情報を生成することができることを特徴とする。
【００２１】
さらに、請求項１５の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットのスロット値を尋ねるガイダンスに対して、ユーザは、あるスロットについて直接スロット語句を用いて発話ことにより、意味情報生成部は、あるスロットについてスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することを特徴とする。
【００２２】
さらに、請求項１６の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットのスロット値を尋ねるガイダンスに対して、ユーザは、あるスロット以外のスロットについてスロット語句を用いて発話することにより、意味情報生成部は、あるスロット以外のスロットについて、発話されたスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする。
【００２３】
さらに、請求項１７の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットのスロット値を尋ねるガイダンスに対して、ユーザは、あるスロット以外の１つ又は、複数のスロットについてスロット語句を用いて答えることにより、意味情報生成部は、あるスロット以外の１つ又は、複数のスロットについて、それぞれのスロット毎に発話されたスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする。
【００２４】
さらに、請求項１８の発明の音声対話装置は、ユーザは音声対話装置から発せられたガイダンスを意識せずに発話しても、正しく音声対話装置が、認識可能であるようにするために、あるスロットのスロット値を尋ねるガイダンスに対して、ユーザは、あるスロットについて又は／及び尋ねられたスロット以外の１つ又は、複数のスロットについてスロット語句を用いて答えることにより、意味情報生成部は、あるスロットについて発話されたスロット語句から検出されるスロット値と「肯定」の組による意味情報又は／及び尋ねられたスロット以外の１つ又は、複数のスロットについて、それぞれのスロット毎に発話されたスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができることを特徴とする。
【００２５】
さらに、請求項１９の発明は、より人対人の対話に近い円滑な音声対話を実現するために、目的の回答を得るために、発話者に回答文を促す文であるガイダンス文は、明示的ガイダンス文、暗黙的ガイダンス文、又は暗黙的な確認と、質問を同時に行うガイダンス文であることを特徴とする。
【００２６】
さらに、請求項２０の発明の音声対話プログラムは、音声対話装置のコンピュータにおいて、異なる複数のカテゴリー毎に設けられた少なくとも１つのスロットに発話者から目的とする回答を得るために少なくとも１つのカテゴリーを対象としたガイダンス文を音声出力する手順と、このガイダンスに応答して発話者から得られる回答文を解析する手順と、解析した結果を用いて、目的とする回答を確定する手順と、回答文から、ガイダンス文で問われたカテゴリーのスロットのスロット値の候補となる、スロット単語及びスロット単語が助詞などを伴った単語列からなるスロット語句及び、ガイダンス文で問われた以外の他のカテゴリーのスロットについてのスロット値の候補となるスロット語句及び、「肯定」又は「否定」を表す単語を含むコマンド語句を検出するキーワード検出手順と、全てのスロットが確定していない場合は、確認すべきカテゴリーのスロットに対して回答を要求するガイダンス文の制御を行う対話制御手順とを有することを特徴とする。
【００２７】
さらに、請求項２１の発明の音声対話プログラムは、音声対話装置のコンピュータにおいて、検出したスロット語句から、スロット値を検出し、回答文が、何れのスロット、又は検出したスロット値について言及しているか解析し、言及しているスロット、又はスロット値について「肯定」、「否定」の度合い、又は「何れでもない」を判定し、スロット毎、又はスロット値毎の判定結果により発話の意味を解析し、スロット値とそれぞれの判定結果の組からなる意味情報を生成する意味情報生成手順と、意味情報により、各スロットにおけるスロット語句とスロット状態の組からなるスロット情報を更新するスロット情報管理手順とをさらに有することを特徴とする。
【００２８】
さらに、請求項２２の発明の音声対話プログラムは、音声対話装置のコンピュータにおいて、スロット情報管理手順は、意味情報により、スロット状態を、「未知」＜「未確認」＜「確定」の順に順位付けて管理する手順をさらに有することを特徴とする。
【００２９】
さらに、請求項２３の発明の音声対話プログラムは、得られたスロット値の組み合わせにより、カテゴリー毎に複数のスロット値により構成されたデータベース内を検索し、検索の結果、検索の対象外であるスロット値が得られていないスロットについてスロット値が一意的に定まる場合、検索により得られたスロット値を、該当するスロットのスロット値とし、スロット状態を「データベースによる設定」とするデーターベース検索手順をさらに有し、「データベースによる設定」状態を加えた４種類の状態により、「未知」＜「データベースによる設定」＜「未確認」＜「確定」の順に順位付けて管理する手順をさらに有することを特徴とする。
【００３０】
【発明の作用、効果】
本欄では、各請求項に記載の発明に関して、主としてその作用及び効果を記載する。発明の理解を容易にするために、例示的に具体化して説明しているが、請求項の構成を限定するものではない。そして、例示的に具体化して説明した部分は、発明の実施の形態の説明でもある。
【００３１】
ここでは、カーナビゲーションシステムにおける目的地設定を対象タスクとした対話を例に説明する。目的地設定に必要なスロットとしては、「店名」、「市町村名」、「詳細住所」、「業種」の４つを考える。又、これらのスロット値から目的地となる、店舗の経度、緯度を検索できるデータベースを用いる。
【００３２】
まず、請求項１の発明は、異なる複数のカテゴリー毎に設けられた複数のスロットに発話者から目的とする回答を得るために少なくとも１つのカテゴリーを対象としたガイダンス文を音声出力し、このガイダンスに応答して発話者から得られる回答文を解析して目的とする回答を確定する際に、回答文から、ガイダンス文で問われたカテゴリーのスロットのスロット値の候補を含むスロット語句及び、ガイダンス文で問われた以外の他のカテゴリーのスロットについてのスロット値の候補を含むスロット語句及び、「肯定」又は「否定」を表す単語を含むコマンド語句を検出するキーワード検出部を有するようにした。これにより、従来、音声対話装置から問い掛けたガイダンスのカテゴリー以外の回答は、誤認識されるか、無視されていたが、正確に認識できるようになる。従って、ユーザは、ガイダンスの意図するカテゴリーを意識せずに自由に発話しても、音声対話装置が期待するスロット値を確定することが可能となる。同時に、音声対話装置は、対話を繰り返し、回答文から、スロット値を確定していくときに、全てのスロットが確定していない場合は、確認すべきスロットに対して回答を要求するガイダンス文の制御を行う対話制御部とを有するようにしたので、すべてのスロットが確定するまで、繰り返し、確認すべきスロットに対して、回答を要求するガイダンス文をユーザに発することができるようになる。つまり、ユーザが、ガイダンスが意図するカテゴリーに対しての発話を行わずに、他のカテゴリーに対する発話を自由に行っても、音声対話装置は、他のカテゴリーに対する発話としてスロット値を確定することが可能となる。さらに、回答を必要とするカテゴリーのスロットについての明示的なガイダンスをユーザに発することが可能な音声対話装置を得ることができるようになる。
【００３３】
例えば、カーナビゲーション装置において、目的地設定のための対話において「都道府県名を言ってください。」という都道府県カテゴリーを問うガイダンスに対して、本来、想定しているカテゴリーは、都道府県であるので、都道府県名を答えるべきであるのに、「長久手町です。」と答えることがある。また、「タンポポはどこにありますか？」という質問のガイダンスに対して、「名古屋市に有るレストランです。」などと、住所だけを答えるのではなく、さらに業種等も付け加えて答える場合もある。つまり、この場合、住所のカテゴリーについてのみを問い掛けているのに、住所だけでなく、業種カテゴリーに属する回答も同時に発話している。さらに、「名古屋市ですか？」という確認のガイダンスに対して、「はい。」「いいえ。」で答えるだけではなく、「そう、名古屋市のレストラン。」や「違う、豊田市。」などのように、新たな情報の追加や、修正を行う場合もある。
【００３４】
このような対話は、人対人の対話では良く見受けられるものであり、極めて自然な対話であり、本発明によれば、このような対話を可能とする装置を得ることができるようになる。これにより、ユーザは、必ずしも、装置からのガイダンスを意識して対話を進める必要が無くなり、言いたいことや、思いついたことを自由に話すことができるようになる。また、ユーザは、自由に話すことができるが、対話装置からは、明示的に、あるカテゴリーの特定のスロットについて、質問／確認を行うことも可能であるので、これにより、ユーザの発話を促すことができる。特に初心者にとっては、例えば、「どうぞお話ください。」などの明示的にどのカテゴリーについてのスロットについての質問か、指示されないガイダンスを提示した場合には、何を話してよいのか、又、どの様に話してよいのか惑わせることになり、対話が迷走する原因となる。従って、カテゴリーを明示的に表すガイダンスは、ガイダンスを手がかりに、ユーザに適確な発話を促す効果がある。上述した対話の例では、説明を分かりやすくするため、質問の対象となっているカテゴリーは１つであるが、実際の装置では、例えば、「都道府県名と、市町村名を言って下さい。」等のように複数のカテゴリーに付いての質問を行うことも可能である。
【００３５】
さらに、本発明のキーワード検出部においては、認識結果文字列から、ガイダンスで尋ねた内容にかかわらずに、スロット値を含むスロット語句を検出することが可能となる。同時に、諾否をあらわす単語を含むコマンド語句についても検出することができるようになる。このとき、例えば、対象としている目的地設定に関わるユーザの発話を広くカバーすることができる単一の単語辞書を用いることにより、ユーザが、対話のどの時点においても、言いたいことを言っても、スロット語句を検出できるようになる。さらに、例えば、この単一の単語辞書によれば、検出されたスロット語句がどのカテゴリーに属するか判断できるようになっている。
【００３６】
さらに、請求項２の発明によれば、音声対話装置において、スロット語句は、スロット値の候補となる単語であるスロット単語、及びスロット値の候補となる単語が助詞などを伴ったスロット単語列であり、コマンド語句は、「肯定」又は「否定」を表す単語であるコマンド単語、及び「肯定」又は「否定」を表す単語を含む単語列であるコマンド単語列であるので、スロット単語を含むスロット語句を検出することが可能となる。同時に、「肯定」又は「否定」を表す単語を含むコマンド語句についても検出することが可能となる。これにより、自由に行われるユーザの発話を広く認識することが可能となり、より使い勝手の良い対話装置を得ることが可能となる。
【００３７】
さらに、請求項３の発明によれば、音声対話装置は、意味情報生成部において検出したスロット語句から、スロット値を検出し、回答文が、何れのスロット、又は検出したスロット値について言及しているか解析し、言及しているスロット、又はスロット値について「肯定」、「否定」の度合い、又は「何れでもない」を判定し、スロット毎、又はスロット値毎に対してそれぞれの判定結果により発話の意味を解析し、スロット、又はスロット値とそれぞれの判定結果の組からなる意味情報を生成することができるようになる。さらに、スロット情報管理部において、意味情報により、各スロットにおけるスロット値とスロット状態の組からなるスロット情報を更新することができるようになる。これにより、ユーザの回答文から検出されたスロット語句をスロット値として、確定することができるようになる。
【００３８】
つまり、意味情報生成部では、請求項１の発明によるキーワード検出部において、認識結果文字列から検出された、スロット値を含むスロット語句からスロット地を検出し、さらに、どのカテゴリーのスロットについて言及しているのかを判定する。また、例えば、「ない」、「違う」などの否定を表す単語を含むコマンド語句の存在を調べ、それぞれのコマンド語句がどのスロット、又はスロット値について言及しているか調べ、全てのスロット、及びスロット値について肯定／否定をそれぞれ判定する。検出されたスロット値のカテゴリーの判定と、否定語の有無により、スロット毎に意味情報を生成する。
【００３９】
例えば、「中区じゃなくて、千種区のレストラン。」に対して、次のような意味情報を生成する。
店名スロット　　：　「肯定」
市町村名スロット：　「肯定」
詳細住所スロット：　「中区　否定　千種区」
業種スロット　　：　「レストラン」
又、単に、「違います。」などと発話して、どのスロットに対して言及しているか判定できない場合は、全てのスロットに対して、否定の度合いとして、「弱否定」を与える。さらに、スロット情報管理部では、意味情報と、例えば、図２、図３、図４示すスロット情報更新の規則に従い、各スロットに対してそれぞれ「スロット値」と、「状態」からなるスロット情報を更新する。これにより、対話の進行に伴い、スロット状態を管理し、スロット値を確定できるようになる。
【００４０】
さらに、請求項４の発明によれば、音声対話装置において、意味情報により、スロット状態は、「未知」＜「未確認」＜「確定」の順に順位付けられてスロット情報管理部により管理できるようになるので、意味情報により、スロットの状態に順位をつけてスロット状態を更新することが可能となる。つまり、スロット又は、スロット語句から検出されるスロット値に対する肯定語／否定語の有無により、スロット状態を順位付けて管理更新することができるようになる。
【００４１】
さらに、請求項５の発明によれば、データベース検索部は、カテゴリー毎に複数のスロット値により構成されたデータベース内を得られたスロット値の組み合わせにより検索し、検索の結果、検索の対象外であるスロット値が得られていないスロットについてスロット値が一意的に定まる場合、検索により得られたスロット値を、該当するスロットのスロット値とし、そのスロットのスロット状態を「データベースによる設定」とすることができるようになる。
【００４２】
つまり、例えば、「店名」が「ピッコロ」、住所が「名古屋市」により、データベースを検索したとする。このときの検索結果としては、「名古屋市」の「ピッコロ」は、複数店舗あったとする。しかし、どの店舗の「業種」も、「レストラン」であったとした場合、「業種」スロットに対してのスロット値として「レストラン」を設定できるようになる。さらに、このときのスロット状態を「データベースによる設定」とするということである。これにより、例えば、「名古屋市役所」などの周知の固有の施設については、「店名」を答えるだけで、他のスロットは、全てデータベースの検索により「データベースによる設定」状態として設定されるようになる。音声対話装置は、「データベースによる設定」状態のスロットに対しては、設定されたスロット値をガイダンス文の中に挿入して、確認を行うことにより、ユーザからの回答を待たずに、詳しい住所、業種などをガイダンス文として提供し、確認をすることで、容易に目的のスロットを設定できるようになる。ユーザの側から見ても、ポイントとなるスロットのみ回答すれば、装置の側からの明示的な確認のガイダンスにより、「はい」「いいえ」などの「肯定」「否定」を表す言語の発話のみにより、目的のスロットを設定できるといった効果がある。
【００４３】
さらに、スロット情報管理部は、「データベースによる設定」状態を加えた４種類の状態により、「未知」＜「データベースによる設定」＜「未確認」＜「確定」の順に順位付けて管理、更新することができるようになるので、データベースにより設定されたスロット値を、「未知」ではないが、ユーザの回答から得られた値である「未確認」より、弱い状態として扱うことができるようになる。
【００４４】
さらに、請求項６の発明によれば、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは、陽に肯定、又は否定を表すことを発話することにより、意味情報生成部は、あるスロットについて「肯定」、又は「否定」の意味情報を生成することができるようになる。
【００４５】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですか？」
ユーザ　：「いいえ。」
【００４６】
さらに、請求項７の発明によれば、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは陽に肯定、又は否定を表すことを発話する代わりに、１つ、又は複数のスロットについて発話することで、意味情報生成部は、１つ、又は複数のスロットについての意味情報を生成することができるようになる。
【００４７】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですか？」
ユーザ　：「図書館です。」
【００４８】
さらに、請求項８の発明によれば、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは陽に肯定、又は否定を表すことを発話する代わりに、確認を求められているスロット語句を発話することにより、意味情報生成部は、あるスロットについてスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができるようになる。
【００４９】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですね？」
ユーザ　：「名古屋市です。」
【００５０】
さらに、請求項９の発明によれば、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは、陽に肯定を表すことを発話する代わりに、１つ又は複数のスロットについて発話することにより、意味情報生成部は、あるスロットについて「肯定」の意味情報を生成し、さらに、１つ又は複数のスロットについてそれぞれ意味情報を生成することができるようになる。
【００５１】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですね？」
ユーザ　：「名古屋市のレストランピッコロです。」
【００５２】
さらに、請求項１０の発明によれば、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対して、ユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句と「否定」を表す単語を含むコマンド語句を用いた発話により、意味情報生成部は、あるスロットについて、スロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成することができるようになる。
【００５３】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですね？」
ユーザ　：「名古屋市じゃない。」
【００５４】
さらに、請求項１１の発明によれば、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対してユーザは、陽に否定を表すことを発話する代わりに、正しいスロット語句を発話することによって、意味情報生成部は、あるスロットについて、保持するスロット値と「否定」の組からなる意味情報を生成し、さらに、発話された正しいスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができるようになる。
【００５５】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですね？」
ユーザ　：「豊田市です。」
【００５６】
さらに、請求項１２の発明によれば、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対してユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句と「否定」を表す単語を含むコマンド語句を用いた発話をし、さらに、１つ又は複数のスロットについて発話をすることにより、意味情報生成部は、あるスロットについて、スロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成し、さらに、１つ、又は複数のスロットについてそれぞれ意味情報を生成することができるようになる。
【００５７】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですね？」
ユーザ　：「名古屋市じゃなくて、豊田市です。」
【００５８】
さらに、請求項１３の発明によれば、ああるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対してユーザは、陽に否定を表すことを発話する代わりに、正しいスロット語句を発話し、さらに、１つ又は複数の新たなスロットについて発話することにより、意味情報生成部は、あるスロットの保持するスロット値について「否定」の意味情報を生成し、さらに、あるスロットについて、発話された正しいスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成し、さらに、１つ、又は複数のスロットについてそれぞれ意味情報を生成することができるようになる。
【００５９】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですね？」
ユーザ　：「豊田市のレストラン。」
【００６０】
さらに、請求項１４の発明によれば、あるスロットについて「肯定言語」による回答、又は「否定言語」による回答を要求するガイダンスに対してユーザは、陽に否定を表すことを発話する代わりに、確認を求められているスロット語句と「否定」を表す単語を含むコマンド語句を用いた発話をし、さらに、１つ又は複数のスロットについて発話することにより、意味情報生成部は、あるスロットについて、スロット語句から検出されるスロット値と「否定」の組からなる意味情報を生成し、さらに、１つ、又は複数のスロットについてそれぞれ意味情報を生成することができるようになる。
【００６１】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市ですね？」
ユーザ　：「名古屋市じゃなくて、豊田市のレストラン。」
【００６２】
さらに、請求項１５の発明によれば、あるスロットのスロット値を尋ねるガイダンスに対して、ユーザは、あるスロットについて直接スロット語句を用いて発話ことにより、意味情報生成部は、あるスロットについてスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができるようになる。
【００６３】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「住所を言ってください。」
ユーザ　：「名古屋市です。」
【００６４】
さらに、請求項１６の発明によれば、あるスロットのスロット値を尋ねるガイダンスに対して、ユーザは、あるスロット以外のスロットについてスロット語句を用いて発話することにより、意味情報生成部は、あるスロット以外のスロットについて、発話されたスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができるようになる。
【００６５】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「住所を言ってください。」
ユーザ　：「ピッコロというレストランです。」
【００６６】
さらに、請求項１７の発明によれば、あるスロットのスロット値を尋ねるガイダンスに対して、ユーザは、あるスロット以外の１つ又は、複数のスロットについてスロット語句を用いて答えることにより、意味情報生成部は、あるスロット以外の１つ又は、複数のスロットについて、それぞれのスロット毎に発話されたスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができるようになる。
【００６７】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「住所を言ってください。」
ユーザ　：「名古屋市のピッコロというレストランです。」
【００６８】
さらに、請求項１８の発明によれば、あるスロットのスロット値を尋ねるガイダンスに対して、ユーザは、あるスロットについて又は／及び尋ねられたスロット以外の１つ又は、複数のスロットについてスロット語句を用いて答えることにより、意味情報生成部は、あるスロットについて発話されたスロット語句から検出されるスロット値と「肯定」の組による意味情報又は／及び尋ねられたスロット以外の１つ又は、複数のスロットについて、それぞれのスロット毎に発話されたスロット語句から検出されるスロット値と「肯定」の組からなる意味情報を生成することができるようになる。
【００６９】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市の何のお店でしょうか？」
ユーザ　：「名古屋市じゃなくて、豊田市のレストラン、ピッコロです。」
【００７０】
さらに、請求項１９の発明によれば、目的の回答を得るために、発話者に回答文を促す文であるガイダンス文は、明示的ガイダンス文、暗黙的ガイダンス文、又は暗黙的な確認と、質問を同時に行うガイダンス文を用いることができるようになる。これにより、ユーザに発話を促すガイダンス文として、人対人の対話により近いガイダンス文を提示することができるようになる。
【００７１】
例えば、対話の一例として、以下のような対話が可能となる。
対話装置：「名古屋市の何のお店でしょうか？」
ユーザ　：「名古屋市じゃなくて、豊田市のレストランピッコロです。」
【００７２】
さらに、請求項２０の発明のプログラムは、上述した音声対話装置にインストールして用いると、上述した音声対話装置において異なる複数のカテゴリー毎に設けられた少なくとも１つのスロットに発話者から目的とする回答を得るためにガイダンス文を音声出力ことができるようになり、ガイダンスに応答して発話者から得られる回答文を解析することが可能となる。さらに、解析した結果を用いて、目的とする回答を確定することができるようになる。さらに、回答文から、ガイダンス文で問われたカテゴリーのスロットのスロット値の候補となるスロット単語及びスロット単語が助詞などを伴った単語列からなるスロット語句、及びガイダンス文で問われた以外の他のカテゴリーのスロットについてのスロット値の候補となるスロット語句、及び「肯定」又は「否定」を表す単語を含むコマンド語句をキーワード検出手順により検出ことができるようになる。ガイダンスに対する回答を解析して、全てのスロットが確定していない場合は、確認すべきカテゴリーのスロットに対して回答を要求するガイダンス文をユーザに提示することができるようになる。これにより、ユーザが自由に回答しても、装置の目的とするスロット値を確定することができるようになる。
【００７３】
さらに、請求項２１の発明による音声対話プログラムをインストールして用いることにより、意味情報生成手順により、検出されたスロット語句からスロット値を検出し、回答文が、何れのスロット、又は検出したスロット値について言及しているか解析し、言及しているスロット、又はスロット値について「肯定」、「否定」の度合い、又は「何れでもない」をそれぞれ判定し、スロット毎又は、スロット値毎に対してそれぞれの判定結果により発話の意味を解析し、スロット毎、又はスロット値毎それぞれの判定結果の組からなる意味情報を生成するすることができるようになる。さらに、スロット情報更新手順により、意味情報により、各スロットにおけるスロット値とスロット状態の組からなるスロット情報を更新することができるようになる。これにより、ユーザは、ガイダンス文により求められた回答以外を発話しても、スロット語句からスロット値の検出、認識、暗黙の確認、「肯定」、「否定」を含めて、人対人の対話のように、ガイダンスを意識せずに対話を行うことが可能となる。
【００７４】
さらに、請求項２２の発明によれば、スロット情報管理手順により、意味情報により、スロット状態を、「未知」＜「未確認」＜「確定」の順に順位付けて管理することができるようになる。
【００７５】
さらに、請求項２３の発明によれば、音声対話プログラムは、データーベース検索手順をさらに有し、得られたスロット値の組み合わせにより複数のスロット値により構成されたデータベース内を検索し、検索の結果、検索の対象外であるスロット値が得られていないスロットについてスロット値が一意的に定まる場合、検索により得られたスロット値を、該当するスロットのスロット値とし、スロット状態を「データベースによる設定」とすることができるようになる。同時に、「データベースによる設定」状態を加えた４種類の状態により、「未知」＜「データベースによる設定」＜「未確認」＜「確定」の順に順位付けて管理することができるようになる。
【００７６】
上述した発明により、ユーザは、必ずしも、装置からのガイダンスを意識して対話を進める必要が無く、言いたいことや、思いついたことを自由に話すことができる。また、ユーザは、自由に話すことができるが、対話装置からは、明示的に、特定のスロットについて、質問／確認を行うことにより、ユーザの発話を促すことができるようになる。例えば、「お店の名前をどうぞ。」といった明示的にカテゴリーを問うガイダンスは、ガイダンスを手がかりに、ユーザに適確な発話を促す効果がある。
【００７７】
尚、以上の本発明の作用・効果は、日本語処理に限定されることなく、任意の自然言語処理に対して有効である。
【００７８】
また、本発明は、上記の作用原理からも判るように、言語処理における目的語句の検出、検出語句の意味判断に特徴を有するものであり、必ずしも音声入力や音声出力を前提とするものではない。即ち、本発明は、使用者に対して実時間応答や対話型応答をすることを前提としない自動翻訳装置や自動議事録生成装置、或いは、音声入力することを前提としない例えば利用者がキーボード等から入力する文字列入力型の言語処理装置等に応用することも可能である。
【００７９】
【発明の実施の形態】
以下、本発明を具体的な実施例に基づいて説明する。ただし、本発明は、以下に示す実施例に限定されるものではない。
【００８０】
ここでは、カーナビゲーションシステムにおける目的地設定を対象タスクとした対話を例に説明する。
【００８１】
目的地設定に必要なスロットとしては、「店名」、「市町村名」、「詳細住所」、「業種」の４つを考える。又、これらのスロット値から目的地となる、店舗（施設）の経度、緯度を検索できるデータベースを用いる。図１の各部の具体的な構成を以下に述べる。
【００８２】
図１は、本発明の実施例に係わる音声対話装置１００の論理的な構成を例示する構成図である。
音声対話装置１００は、物理的なハードウエア構成としては、周知の音声対話装置と同様に、音声入力部１１０が有するマイクや、音声出力部１６０が有するスピーカー等のマンマシン・インターフェイス部を備えたコンピュータ・システムにより具現されている。具体的には、マイクロフォン及び周辺機器からなる音声入力部１１０と、音声認識部１２０と、意味理解部１３０、スロット情報管理部１４０、ガイダンス生成部１５０、データベース検索部１７０、対話制御部１８０の演算制御を行い、その処理プログラムを実行するＣＰＵ、処理プログラム、辞書、データベース等を記憶したＲＯＭ、データを一時的に記憶したり、処理プログラムを一時的に記憶するＲＡＭ等により構成される制御装置、さらに、スピーカ及びその周辺機器からなる音声出力部１６０により構成されている。さらに、必要に応じて、表示装置、入力ボタン等も備えている。
【００８３】
音声入力部１１０は、マイクロフォンから発話者の音声を音声情報として取り込む。マイクロフォン、及びその周辺機器は、音声をデジタル信号に変換し、音声認識部１２０へ出力する。
【００８４】
さらに、後述する辞書類、データベース等は、外部記憶装置であるハードディスク、ＣＤ−ＲＯＭ等に記憶されていても良く、その場合は、音声対話装置は、ハードディスク装置、ＣＤーＲＯＭ装置を備えたコンピュータシステムにより構成されている。さらに、初期処理として、ハードディスク装置に記憶されている場合は、ＲＡＭへ、ＣＤ−ＲＯＭに記憶されている場合は、ＲＡＭ、ハードディスク装置等のアクセス速度の速い、メディアへ読み込み利用するようにしても良い。
【００８５】
音声認識部１２０は、発話者の発話音声を文字列として認識する。即ち、マイク（音声入力部１１０）から入力された音声情報を、一旦、ＲＡＭに記憶させ、音声認識用辞書（認識用言語辞書や認識用音響辞書等）を用いた音声認識処理を例えば、音声認識処理を専用に行うＣＰＵを備えた専用チップにより文字列に変換し出力する。
【００８６】
音声認識部１２０における言語モデルは、対人との目的地設定に関する対話から、収集したコーパスを用いて学習した確率言語モデル（Ｎ−ｇｒａｍ）を用いる。この言語モデルは、目的地設定に関わる発話を広くカバーしているものであり、例えば、ＣＤ−ＲＯＭ等に記憶されており、必要に応じて、音声対話装置の処理の開始時に、ＲＡＭなどに読み込み利用する。本発明においては、対話の状況に応じて、言語モデル、単語辞書を選択する方法をとらずに対象とする目的地設定に対して、単一の言語モデル、単語辞書を用いることによって、対象としている目的地設定に関わるユーザの発話を広くカバーすることができるため、ユーザは、対話のどの時点においても、言いたいことを言うことができる。
【００８７】
意味理解部１３０は、キーワード検出部１３１と、意味情報生成部１３２により構成され、キーワード検出部１３１において認識結果文字列から、スロット値を含むスロット語句を検出し、ユーザが、どのカテゴリーのスロットに言及しているのかを判定する。判定するには、例えば、検出された語句のカテゴリーをＲＡＭに記憶された単語辞書、或いはスロット値候補単語リスト等を利用して同定し、目的地設定が想定しているカテゴリーに属するか判断することにより、スロット語句であるかどうか判断する。ここで、それぞれの辞書は、ＲＡＭにおかずに、ハードディスク上に置いたまま、処理を進めることも可能である。又、認識結果文字列、検出語句などは、一時的には、それぞれ決められた、メモリー上に置かれ装置の処理が進められる。カテゴリーとしては、例えば、住所、地名、施設の種類、店名、業種、施設名、ランドマーク名、或いはユーザ設定名等の任意の属性を定義することができる。判定の結果、スロット語句であると判定すると、得られたカテゴリーとともにスロット語句として検出される。また、意味情報生成部１３２において、スロット語句からスロット値を検出し、スロット値の候補とする。さらに、「ない」、「違う」などの否定を表す単語を含むコマンド語句の存在を調べることにより、そのスロット値についての肯定／否定について判定する。得られたスロット値がどのカテゴリーのスロットであるか判定し、さらに、否定語の有無により、スロット毎に意味情報を生成する。これらの処理は、意味理解部１３０に設けられた専用のＣＰＵ及びメモリ上で行っても良く、音声対話装置全体を制御するＣＰＵ、メモリ上で行っても良い。意味理解部１３０の処理の負荷、ＣＰＵの処理能力に応じて、ＣＰＵ、メモリを設置することにする。
【００８８】
例えば、「中区じゃなくて、千種区のレストラン。」に対して、次のような意味情報を生成する。
店名スロット　　：　「肯定」
市町村名スロット：　「肯定」
詳細住所スロット：　「中区　否定　千種区」
業種スロット　　：　「レストラン」
【００８９】
又、単に、「違います。」などと発話して、どのスロットに対して言及しているか判定できない場合は、全てのスロットに対して、「弱否定」を与える。本実施例においては、意味情報は、スロット値又は、言及しているスロットと、意味要素により構成される。意味要素は、「肯定」、「弱否定」、「否定」、「いずれでもない」の４種類の要素からなる。
【００９０】
スロット情報管理部１４０では、意味情報と、図２、図３、図４に示すルールに従い、所定のメモリ上に定められたテーブルとして構成されている各スロットに対して、「スロット値」と、「状態」からなるスロット情報を更新する。
【００９１】
状態としては、「未知」、「未確認」、「確定」、「データベースによる設定」の４つの状態がある。「未知」状態は、スロット値として何も無い状態であり、システムからユーザに尋ねる必要のあるスロットを示す。「未確認」状態は、スロット値として、何らかの値を持っているが、その値について確認を行う必要が有る状態である。「確定」状態は、スロット値として何らかの値を持っており、さらに、その値について、確認がなされている状態である。「データベースによる設定」状態は、データベース検索結果からスロット値が一意的に決まる場合データベースの検索結果により設定された値である。ユーザの回答から得られた値ではないが、データベース検索結果からは、他の値が無い場合の値であり、その値についてはユーザに対して確認を行う必要がある値である。データベース検索部１７０では、各スロットの値に基づいてデータベース１７１を検索し、検索結果と、図６に示すルールに従い各スロット情報を更新する。
【００９２】
データベース１５１は、主に、音声認識用辞書、単語辞書、スロット値候補単語リスト、音声合成用辞書、カテゴリー毎に複数のスロット値により構成されたデータベース、及びガイダンス文テンプレート等から構成されており、例えば、ＣＤ−ＲＯＭなどに記憶されており、必要に応じて、処理速度のより早いメモリ、メディア上に読み込まれて利用される。又それぞれのデータベースの検索は、ＣＰＵの処理能力、必要とされる処理速度により、それぞれ、単独の専用ＣＰＵ及びメモリにより構成されるファームウエアにより構成されていても良く、音声対話装置の主ＣＰＵ上において行っても良い。いずれにしろ、処理能力により、その構成は異なる。
（ａ）音声認識用辞書
認識用言語辞書や認識用音響辞書等からなる。
（ｂ）単語辞書
カテゴリー、関連カテゴリー、その他の属性、発音情報等を有する。
（ｃ）スロット値候補単語リスト
候補単語リスト。単語、又は単語を含む語句とその単語のカテゴリーの対から構成されたテーブル。
（ｄ）音声合成用辞書
発話の抑揚、単語接続、間などに関する音声合成用の発音規則を有する。
（ｅ）カテゴリー毎に複数のスロット値により構成されたデータベース
カテゴリー毎に存在するスロット値により構成され、それぞれのスロット値において、カテゴリー相互の存在する組み合わせにより関連付けられたスロット値によるデータベース
（ｆ）　ガイダンス文テンプレート
確認スロット、質問スロットの対に対応した複数のガイダンス文のテンプレートからなる。
【００９３】
ガイダンス生成部１５０では、対話の開始、継続、終了時に応じて、各スロットの値、状態に基づきユーザに尋ねるべきカテゴリー、スロット及び、確認すべきカテゴリー、スロットを判定し、発話者（ユーザ）に対する応答文（確認応答文や質問応答文等）であるガイダンス文を、例えば、ガイダンス文テンプレートを用いて生成する。ここでは、「未知」　状態のスロットについて尋ねるガイダンス中に「未確認」　状態のスロット値を入れて、暗黙的に確認をおこなうこととする。又、「未知」　状態のスロットが複数有り、それらを尋ねる場合は、１回のガイダンスで最大２つのスロットに付いて尋ねることができるものとする。さらに、それらを選択する際の優先順位は、「店名」　＞「市町村名」　＞「業種」＞「詳細住所」　とする。さらに、対話の進展に伴い、スロット情報を参照して、全てのスロット情報が満たされていない場合は、対話を継続し、尋ねるもしくは、確認すべきスロットについて、明示的に、その趣旨のガイダンスを行う。
【００９４】
更に、その応答文（単語列）を音響的なデジタル信号（音声情報）に変換・合成する。ただし、この変換・合成処理は、音声出力部１６０が行うようにしても良い。これらの処理は、例えば、それぞれ、対話の開始、継続、終了時に応じて、各スロットの値、状態に基づきユーザに尋ねるべきカテゴリー、スロット及び、確認すべきカテゴリー、スロット等が決められたメモリ上のテーブルにセットされ、必要なガイダンステンプレートを選択することによりＣＰＵにより実行される。
【００９５】
音声出力部１６０は、生成されたガイダンス文が音響的なデジタル信号（音声情報）に変換・合成され、スピーカーに音声として出力する。これらの処理は、例えば、音声出力の専用チップ、メモリにより構成されるファームウエアにより実行され、音声としてスピーカより出力される。
【００９６】
対話制御部１８０は、次に尋ねるべき質問項目又は確認項目を決定し、対話の流れを制御し、対話の進展により、保持されたスロット値に対して、スロット状態が、推移し、すべてのスロットが、「確定」　状態になるまで、対話を行う。その処理は、一般的には、音声対話装置の主ＣＰＵにより行わるが、必要とされる処理速度によっては、単独のＣＰＵ、メモリにより構成され、音声対話装置の主ＣＰＵにより管理制御される。
【００９７】
図７、図８は、上記の音声対話装置１００が実行する処理の手順を例示するフローチャートである。本手順では、まず最初に、ステップ４００により初期処理を実行し、スロット情報、データベースの検索結果、意味情報を記憶するメモリの初期化を行う。４つのスロットはすべて「スロット値」は、何もなく、「状態」　は、「未知」　状態に初期化される。
【００９８】
本処理では、データベース１７１の中から使用頻度が高いと予期されるプログラム及びデータを、比較的アクセス速度の高いメモリー上にローディングしておく等の初期処理を実行しても良い。例えば、音声対話装置１００がディスプレイ装置（図略）を有する場合等には、例えば初期メニュー画面を表示する等のその他の初期処理を行っても良い。以下の対話を行うことにより、例えば、図６に示すようなスロット値、及び、スロット状態からなるメモリ上のテーブルを設定していくものとする。さらに、必用に応じて、直前の発話による認識結果であるスロット語句を直前の認識結果としてメモリ上に保持しておくこともする。
【００９９】
次に、ステップ４０２において、ガイダンス生成部１５０において、システムは、開始のガイダンスを生成、合成する。ステップ４０４において、音声出力部１６０により、ガイダンスが音声出力される。音声出力例として、
システム：「目的地を設定します。」
【０１００】
次に、ステップ４０６において、すべてのスロットが、「未知」状態であるので、上述した優先順位の上位のものから、順に、まず、２つのスロット、「店名」と、「住所」を尋ねる。ガイダンス文が生成される。ステップ４０８において、生成されたガイダンス文が音声出力される。音声出力例としては、
システム：「お店の名前と、住所を教えてください。」
【０１０１】
ステップ４１０において、音声入力部１１０から、ユーザからの音声発話を入力する。
対話例として、次の発話がユーザから行われたとする。
ユーザ　：「名古屋市のレストランなんだけど。」
ステップ４１２において、音声認識部１２０により、入力音声が文字列として認識される。ここでは、先のユーザの発話が次のように誤認識されたとする。
認識結果：「長野市　の　レストラン　な　ん　だけど　」
【０１０２】
ステップ４１４において、意味理解部１３０のキーワード検出部１３１において、語句の検出が行われ、続くステップ４１６において、意味情報生成部１３２により、各スロットに対して次のような意味情報を生成する。
店名スロット意味情報：「肯定」
市町村名スロット意味情報：「長野市　肯定」
詳細住所スロット意味情報：「肯定」
業種スロット意味情報：「レストラン　肯定」
【０１０３】
ステップ４１８において、スロット情報管理部により、図２、図３、図４のルール（スロット情報管理手順）に従い、各スロットに対する意味情報から、スロット情報を更新する。
【０１０４】
ここでは、まず、「店名」スロットの意味情報は、「肯定」のみなので、図２スロット値「空白」「肯定」の規則を用いる。「店名」スロットは、初期状態で、スロット値は「空白」、状態は「未知」なので、更新の規則の現在のスロット状態「未知」の欄の規則を適用すると、店名スロット情報：「？　未知」と設定される。
【０１０５】
次に、「市町村名」のスロットの意味情報は、「長野市　肯定」なので、図３スロット値「スロット値Ａ」「肯定」の規則を用いる。現在のスロット状態「未知」なので、更新の規則の現在のスロット状態「未知」の欄の規則を適用すると、市町村名スロット情報：「長野市　未確認」と設定される。同様に、意味情報に対して、規則を適用すると、詳細住所スロット情報：「？　未知」、業種スロット情報：「レストラン　未確認」と設定される。
【０１０６】
次に、ステップ４２０において、設定、更新されたスロット情報を用いて、データベース検索部１７０により、データベース１７１を検索する。ここでは、「長野市」「レストラン」で検索した結果、複数の検索結果がられ、それらは、「店名」「詳細住所」について一意に決まるようなものではなかったとする。従って、図５で示す、ルールに合致せず、ここではスロット情報は更新されていない。
【０１０７】
次に、ステップ４２２において、全てのスロットが満たされて（全てのスロットの情報が「確定」となる）おらず、ステップ４０６に戻り、例えば、次のガイダンス文が、生成、合成される。以後全てのスロットが満たされるまで、ステップ４０６からステップ４２２が繰り返し実行される。以下対話の例を示しながら、意味情報によるスロット情報更新の規則及び、データベース検索結果によるスロット情報更新の規則の説明を行い、スロット値の確定の方法を説明する。
【０１０８】
対話の継続を行う例として、次のガイダンス文が生成され、出力される。
システム：「長野市の何と言うレストランですか？」
ユーザは、
ユーザ　：「長野市じゃなくて、名古屋市のタンポポです。」
と回答し、システムは、
認識結果：「長野市　じゃ　なく　て　名古屋市　の　タンポポ　です」
と認識したとする。意味理解部では、解析の結果、次のような意味情報を生成する。
店名スロット意味情報　：「タンポポ」
市町村名スロット意味情報：「長野市　否定　名古屋市　肯定」
詳細住所スロット意味情報：「肯定」
業種スロット意味情報：「肯定」
【０１０９】
スロット情報管理部では、図２、図３、図４の規則に従い、各スロット情報を更新する。
店名スロット情報：「タンポポ　未確認」
市町村名スロット情報：「名古屋市　未確認」
詳細住所スロット情報：「？　未知」
業種スロット情報：「レストラン　確定」
と設定される。
【０１１０】
ここで、データベース検索部により検索した結果、複数の結果が得られ、それらは、詳細住所について、一意に決まるようなものではなかったとする。従って、図５の規則に合致せず、ここではスロット値は更新されなかった。
【０１１１】
次に、まだ、全てのスロットが満たされていないので、次のガイダンスが生成される。
システム：「名古屋市のタンポポの詳しい住所を教えてください。」
ユーザの回答が次のようだったとする。
ユーザ　：「えーと、中区だったと思いますが。」
認識結果：「えと　中区　だ　居酒屋　ます　が」
意味理解部では、キ−ワード検出手順を実行するステップ４１４とキーワード検出部１３１により、キーワードが検出され、意味情報生成手順を実行するステップ４１６と意味情報生成部１３２により、次のような意味情報が生成される。
店名スロット意味情報：「肯定」
市町村名スロット意味情報：「肯定」
詳細住所スロット意味情報：「中区」
業種スロット意味情報：「居酒屋　肯定」
この意味情報に対して、意味情報による更新の規則を用いスロット情報を更新すると、
店名スロット情報：「タンポポ　確定」
市町村名スロット情報：「名古屋市　確定」
詳細住所スロット情報：「中区　未確認」
業種スロット情報：「レストラン　確定」
業種スロットは、既に確定済みだったので、誤認識「居酒屋」による影響は受けない。
【０１１２】
ここで、「タンポポ」「名古屋市」「中区」「レストラン」で検索した結果１つの検索結果が得られたとする。しかし、「中区　未確認」は影響を受けないので、まだ、全てのスロットが満たされてはいないので、次のガイダンス文がステップ４０６により生成される。
システム：「名古屋市中区のレストランタンポポですね。」
ユーザの回答が次のようであったとする。
ユーザ　：「そうです。」
認識結果：「そう　です」
意味理解部１３０において、次のような意味情報が生成される。
店名スロット意味情報：「肯定」
市町村名スロット意味情報：「肯定」
詳細住所スロット意味情報：「肯定」
業種スロット意味情報「肯定」
スロット情報管理部１４０において、スロット情報が更新され
店名スロット情報　　：「タンポポ　確定」
市町村名スロット情報：「名古屋市　確定」
詳細住所スロット情報：「中区　確定」
業種スロット情報　　：「レストラン　確定」
となり、全ての情報が確定となる。
【０１１３】
さらに、データベース検索部１７０により、「タンポポ」「名古屋市」「中区」「レストラン」で検索した結果１つの結果が得られ、全てのスロット情報が確定となる。
【０１１４】
ステップ４２４に進み、次のガイダンス文が生成され、ステップ４２６により音声出力され対話が終了する。
システム：「では、名古屋市のタンポポで設定します。」
【０１１５】
ここで、意味情報によるスロット情報の更新の規則について補足説明する。
図３に示す、意味情報が「スロット値Ａ　肯定／無し」であった場合を説明する。
【０１１６】
現在のスロット状態が、「未知」である場合は、スロット値Ａをスロット値として設定し、スロット状態を「未確認」とする。
【０１１７】
現在のスロット状態が、「未確認」である場合は、保持しているスロットがスロット値Ｂであったとする。このとき回答により得られたスロット値Ａと、保持していたスロット値Ｂが同じであれば、スロット値はそのまま保持し、スロット状態を「確定」とする。このとき回答により得られたスロット値Ａと、保持していたスロット値Ｂが異なれば、スロット値Ａをスロット値として設定し、スロット状態を「未確認」とする。
【０１１８】
現在のスロット状態が、「確定」である場合は、保持しているスロットがスロット値Ｂであったとする。又、直前に認識されたスロット値が、スロット値Ｃであったとする。このとき回答により得られたスロット値Ａと、保持していたスロット値Ｂが同じであれば、スロット値はそのまま保持し、スロット状態を「確定」とする。このとき回答により得られたスロット値Ａと、保持していたスロット値Ｂが異なれば、直前のスロット値を確認する。保持しているスロット値と異なるスロット値が２回続けて入力された場合、入力された語句が２回とも同じであれば入力された語句によりスロット値を更新する。つまり、スロット値Ａ＝スロット値Ｃであれば、スロット値をスロット値Ａとして設定し、スロット状態を「未確認」とする。スロット値Ａ≠スロット値Ｃであれば、スロット値をそのまま保持し、スロット状態を「確定」とする。
【０１１９】
現在のスロット状態が、「データベースによる設定」である場合は、保持しているスロットがスロット値Ｂであったとする。このとき回答により得られたスロット値Ａと、保持していたスロット値Ｂが同じであれば、スロット値はそのまま保持し、スロット状態を「確定」とする。このとき回答により得られたスロット値Ａと、保持していたスロット値Ｂが異なれば、スロット値Ａをスロット値として設定し、スロット状態を「未確認」とする。
【０１２０】
このように、音声対話装置を実施することにより、ユーザが、ガイダンス文とは関係なく自由に発話しても、正しくスロット値を確定することができる音声対話装置を得ることが可能となり、ユーザにとってとても使い勝手の良い音声対話装置を得ることができるようになる。
【０１２１】
尚、上述した各スロット情報の更新の規則は、一例であるので、これ以外の規則であっても、効率よくスロット値を確定できる規則であれば良い。
【０１２２】
請求項１のキーワード検出部は、具体的には、ＣＰＵ及びその処理手順であるステップ４１４及び音声認識用辞書、単語辞書等のデータベースを検索することにより実現される。
【０１２３】
請求項１の対話制御部は、具体的には、ＣＰＵ及びその処理手順であるステップ４００からステップ４２６により全ての対話を制御し実現する。
【０１２４】
請求項３、請求項６、請求項７、請求項８、請求項９、請求項１０、請求項１１、請求項１２、請求項１３、請求項１４、請求項１５、請求項１６、請求項１７、請求項１８に記載の意味情報生成部は、具体的には、ＣＰＵ及びその処理手順であるステップ４１６及び単語辞書、スロット値候補単語リスト等のデータベースを用いて実現される。
【０１２５】
請求項３、請求項４、請求項５に記載のスロット情報管理部は、具体的には、ＣＰＵ及びその処理手順である４１８により実現される。
【０１２６】
請求項５に記載のデータベース検索部は、具体的には、ＣＰＵ及びその処理手順であるステップ４２０において、カテゴリー毎に複数のスロット値により構成されたデータベースを検索することにより実現される。
【０１２７】
さらに、上記実施例では、「肯定」、「否定」の度合いとしては、「肯定」、「否定」、「弱否定」、「何れでもない」の４種類において説明したが、必要に応じて、「弱肯定」、「強肯定」、「強否定」などを加えても良い。又これ以外の「肯定」「否定」段階を設けても良い。さらに、それぞれの、「肯定」「否定」の度合いに応じたスロット情報の更新の規則を設定しても良い。
【０１２８】
さらに、上記実施例では、スロット値を確定する処理の説明は、ユーザの発話から検出されたスロット値を用いた例を示したが、一旦検出されたスロット語句及びスロット値は、そのものを使わずにスロット語句に個別に付けられたスロット語句個別認識符号であるスロット語句ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）　、スロット単語ＩＤなどを用いて内部的に処理を行っても良い。
【０１２９】
さらに、上記スロット語句は、スロット単語単体であっても、又はスロット単語が助詞などを伴った語句であっても良い。
【０１３０】
さらに、上記実施例では、分かりやすく、簡単のために、ガイダンスにより質問を行う場合、１つのカテゴリーに対しての質問の例を用いたが、複数のカテゴリーを対象としたガイダンスであっても良い。例えば、「目的地の都道府県名とお店の名前をどうぞ。」のように、「都道府県名」と、「店名」を一度に質問するガイダンスであっても良い。その他のカテゴリーに付いても同様であり、同時に質問するカテゴリーについての制限はない。
【０１３１】
尚、請求項５、請求項６、請求項７、請求項８、請求項９、請求項１０、請求項１１、請求項１２、請求項１３、請求項１４、請求項１５、請求項１６、請求項１７の発明を実現する音声対話プログラムは、請求項１８、請求項１９、請求項２０、請求項２１の発明を個別にまたは、組み合わせて用いることにより可能であるが、それぞれの発明を個別に実現するプログラムを用いても良い。
【０１３２】
尚、本発明は、音声対話装置においての発明であるが、上述した、言語の認識方法は、音声以外の対話方式においても可能である。
【０１３３】
上述した実施形態は、本発明の一例であって、これに限定されるものではなく、発明の本質に照らして、様々な変形例が考えられる。
【図面の簡単な説明】
【図１】本発明の実施例に係わる音声対話装置１００の論理的な構成を例示する構成図。
【図２】意味情報によるスロット情報更新の規則の説明図（その１）。
【図３】意味情報によるスロット情報更新の規則の説明図（その２）。
【図４】意味情報によるスロット情報更新の規則の説明図（その３）。
【図５】データベース検索結果によるスロット情報更新の規則の説明図。
【図６】設定するスロット情報を構成するテーブルの例。
【図７】音声対話装置１００が実行する処理の手順を例示するフローチャート（その１）。
【図８】音声対話装置１００が実行する処理の手順を例示するフローチャート（その２）。
【符号の説明】
１００　…　音声対話装置
１１０　…　音声入力部
１２０　…　音声認識部
１３０　…　意味理解部
１３１　…　キーワード検出部
１３２　…　意味情報生成部
１４０　…　スロット情報管理部
１５０　…　ガイダンス生成部
１６０　…　音声出力部
１７０　…　データベース検索部
１７１　…　データベース
１８０　…　対話制御部
【図１】
2004045900.tif 000003
【図２】
2004045900.tif 000004
【図３】
2004045900.tif 000005
【図４】
2004045900.tif 000006
【図５】
2004045900.tif 000007
【図６】
2004045900.tif 000008
【図７】
2004045900.tif 000009
【図８】
2004045900.tif 000010