(57)【要約】【課題】検索データの個数の減少が最も期待できる応答を選択可能な音声対話装置を提供する。【解決手段】音声入力に対し音声認識を行って、１つの属性における認識候補を認識対象語彙から得る音声認識部１０１と；認識候補を用いて検索条件を更新しつつ、当該検索条件に該当するデータをデータ記憶部から検索して検索結果を出力する検索部１０３と；検索条件及び検索結果に基づいて、未入力の属性値の入力を要求する第１の応答及び入力済みの属性値の真偽を確認する第２の応答に対する音声入力による絞り込み検索後の検索結果に含まれるデータの推定個数により第１の応答及び第２の応答に関するコストを算出する算出部１０６と；コストの最も小さい応答を選択し、ユーザに提示する選択部１０７と；を具備する。【選択図】      図１
2009217611.tif 000002
【特許請求の範囲】
【請求項１】
データと当該データの複数の属性に関わる属性値とが関連付けて記憶されているデータ記憶部から、応答の提示と当該応答に対するユーザの音声入力との繰り返しによって絞り込まれた属性値の集合である検索条件を用いて所望データを検索する音声対話装置において、
前記音声入力に対し音声認識を行って、１つの属性における認識候補を認識対象語彙から得る音声認識部と、
前記認識候補を用いて前記検索条件を更新しつつ、当該検索条件に該当するデータを前記データ記憶部から検索して検索結果を出力する検索部と、
前記検索条件及び前記検索結果に基づいて、未入力の属性値の入力を要求する第１の応答及び入力済みの属性値の真偽を確認する第２の応答に対する音声入力による絞り込み検索後の検索結果に含まれるデータの推定個数により前記第１の応答及び第２の応答に関するコストを算出する算出部と、
前記コストの最も小さい応答を選択し、前記ユーザに提示する選択部と、
を具備することを特徴とする音声対話装置。
【請求項２】
前記第２の応答は、前記属性値のうち前記音声入力として最も確からしい属性値の真偽を確認することを特徴とする請求項１記載の音声対話装置。
【請求項３】
前記コスト算出部は、未入力の属性値の真偽を確認する第３の応答に関するコストを更に算出することを特徴とする請求項１記載の音声対話装置。
【請求項４】
前記検索部は、前記検索結果が空になると、前記第２の応答に対して真であると確認された属性値を除く全ての属性値を前記検索条件から削除することにより、前記検索条件を修正することを特徴とする請求項１記載の音声対話装置。
【請求項５】
前記音声認識部は、前記第２の応答に対して前記属性値が真であることを示す音声入力が得られると、過去の音声入力に対し再音声認識を行って、前記１つの属性に関わる認識候補を前記認識対象語彙から得ることを特徴とする請求項１記載の音声対話装置。
【請求項６】
前記認識対象語彙の数が所定数以下であれば、前記属性値の別名及び省略語が前記認識対象語彙に追加されることを特徴とする請求項５記載の音声対話装置。
【請求項７】
データと当該データの複数の属性に関わる属性値とが関連付けて記憶されているデータ記憶部から、応答の提示と当該応答に対するユーザの音声入力との繰り返しによって絞り込まれた属性値の集合である検索条件を用いて所望データを検索する音声対話方法において、
前記音声入力に対し音声認識を行って、１つの属性における認識候補を認識対象語彙から得て、
前記認識候補を用いて前記検索条件を更新しつつ、当該検索条件に該当するデータを前記データ記憶部から検索して検索結果を得て、
前記検索条件及び前記検索結果に基づいて、未入力の属性値の入力を要求する第１の応答及び入力済みの属性値の真偽を確認する第２の応答に対する音声入力による絞り込み検索後の検索結果に含まれるデータの推定個数により前記第１の応答及び第２の応答に関するコストを算出し、
前記コストの最も小さい応答を選択し、前記ユーザに提示する
ことを特徴とする音声対話方法。
【請求項８】
データと当該データの複数の属性に関わる属性値とが関連付けて記憶されているデータ記憶部から、応答の提示と当該応答に対するユーザの音声入力との繰り返しによって絞り込まれた属性値の集合である検索条件を用いて所望データを検索する音声対話プログラムにおいて、
コンピュータを
前記音声入力に対し音声認識を行って、１つの属性における認識候補を認識対象語彙から得る音声認識手段、
前記認識候補を用いて前記検索条件を更新しつつ、当該検索条件に該当するデータを前記データ記憶部から検索して検索結果を出力する検索手段、
前記検索条件及び前記検索結果に基づいて、未入力の属性値の入力を要求する第１の応答及び入力済みの属性値の真偽を確認する第２の応答に対する音声入力による絞り込み検索後の検索結果に含まれるデータの推定個数により前記第１の応答及び第２の応答に関するコストを算出する算出手段、
前記コストの最も小さい応答を選択し、前記ユーザに提示する選択手段、
として機能させることを特徴とする音声対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話に沿って、ユーザの所望データをデータベースから絞り込み検索する音声対話装置に関する。
【背景技術】
【０００２】
従来、音声対話装置は、ユーザの音声入力についての音声認識結果を利用して、ユーザが所望するデータをデータベースから検索する。具体的には、データベースには、データと当該データの複数の属性に関わる属性値が関連付けて記憶されている。音声対話装置は、ある属性に関わる属性値の入力をユーザに求める応答を提示し、当該応答に対するユーザの音声入力についての音声認識結果を属性値として持つデータをデータベースから検索する。
【０００３】
特許文献１には、音声認識の精度不足を補うために、音声認識結果を１つに絞らず、複数の認識候補を利用して、以下の手順でデータを検索する音声対話装置が記載されている。まず、第１の属性に関わる属性値の入力をユーザに求める応答を提示し、当該応答に対するユーザの音声入力についての第１の音声認識結果を得る。次に、第２の属性に関わる属性値の入力をユーザに求める応答を提示し、当該応答に対するユーザの音声入力についての第２の音声認識結果を得る。尚、第１及び第２の音声認識結果は、前述したようにいずれも複数の認識候補を含んでいる。
【０００４】
次に、上記第１及び第２の音声認識結果を統合して検索条件を生成し、所望データをデータベースから検索する。即ち、第１の属性に関わる属性値が第１の音声認識結果の候補のいずれかであって、第２の属性に関わる属性値が第２の音声認識結果の候補のいずれかであるようなデータを、データベースから検索する。検索結果に含まれるデータ（以下、検索データと称する）の個数が、所定数以下になれば対話を終了し、検索データを所望データとしてユーザに提示する。一方、検索データの個数が所定数を超えていれば、他の属性に関わる属性値の入力をユーザに求める応答を提示し、当該応答に対するユーザの音声入力の音声認識結果の統合及び検索を繰り返す。
【特許文献１】特許３４２０９６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１記載の音声対話装置は、検索データの個数が所定数以下になるまでユーザに属性値の入力を求める応答を提示している。しかしながら、属性値の入力を求める応答が、検索データの個数を効果的に減少させる応答であるとは限らない。例えば、ユーザに入力を求める属性に関わる属性値の分布が均等でない場合、検索データの個数の大幅な減少は期待できない。即ち、上記応答に対するユーザの音声入力についての音声認識結果に含まれる認識候補が、データ数の多い属性値に偏れば、検索データはほとんど減少しない。従って、属性値の入力を求める応答を繰り返すだけでは、所望データを提示するまでの、ユーザの入力回数及び対話ターン数が必要以上に増加するおそれがある。入力回数や対話ターン数が増加すれば、ユーザの満足度は低下してしまう。
【０００６】
一方、既に得られている音声認識結果の認識候補の１つが正しい属性値（即ち、ユーザが実際に音声入力した属性値）か否かの確認をユーザに求める応答が、検索データの個数を効果的に減少させる応答となる場合がある。例えば、データ数の多い属性値がユーザに否定されれば、当該属性値を持つデータは検索データから除外されるため、検索データの個数は効果的に減少する。また、データ数の少ない属性値がユーザに肯定されれば、当該属性値を持たないデータは検索データから除外されるため、検索データの個数は効果的に減少する。
【０００７】
前述したように、従来の音声対話装置がユーザに提示する応答は、検索データの個数の減少が最も期待できる応答であるとは限らない。従って、音声対話装置が所望データを提示するまでの、ユーザの入力回数や対話ターン数が必要以上に増加するおそれがある。
【０００８】
従って、本発明は、検索データの個数の減少が最も期待できる応答を選択可能な音声対話装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様に係る音声対話装置は、データと当該データの複数の属性に関わる属性値とが関連付けて記憶されているデータ記憶部から、応答の提示と当該応答に対するユーザの音声入力との繰り返しによって絞り込まれた属性値の集合である検索条件を用いて所望データを検索する音声対話装置において、前記音声入力に対し音声認識を行って、１つの属性における認識候補を認識対象語彙から得る音声認識部と；前記認識候補を用いて前記検索条件を更新しつつ、当該検索条件に該当するデータを前記データ記憶部から検索して検索結果を出力する検索部と；前記検索条件及び前記検索結果に基づいて、未入力の属性値の入力を要求する第１の応答及び入力済みの属性値の真偽を確認する第２の応答に対する音声入力による絞り込み検索後の検索結果に含まれるデータの推定個数により前記第１の応答及び第２の応答に関するコストを算出する算出部と；前記コストの最も小さい応答を選択し、前記ユーザに提示する選択部と；を具備する。
【発明の効果】
【００１０】
本発明によれば、検索データの個数の減少が最も期待できる応答を選択可能な音声対話装置を提供できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明の実施形態について説明する。  
（第１の実施形態）  
図１に示すように、本発明の第１の実施形態に係る音声対話装置は、音声認識部１０１、音声認識辞書記憶部１０２、データ検索部１０３、データ記憶部１０４、対話状態管理部１０５、コスト算出部１０６、応答選択部１０７、出力部１０８及び語彙記憶部１１０を有する。
【００１２】
音声認識部１０１は、ユーザからの音声入力が、後述する音声認識辞書記憶部１０２に記憶されている音声認識辞書に登録された認識対象語彙のいずれかであるかを認識する。具体的には、音声認識部１０１は認識対象語彙毎に、音声入力としての尤もらしさを示すスコア（信頼度）を算出する。即ち、スコアが高いほど、認識対象語彙は音声入力に近い。音声認識部１０１は、スコアが一定以上の認識対象語彙を、認識候補として当該スコアと共にデータ検索部１０３に渡す。尚、スコアが一定以上の認識対象語彙が存在しなければ、上記音声入力は有効でないため、後述する出力部１０８によって再度、ユーザに対して音声入力を求める応答が提示される。また、音声認識部１０１は、スコアではなく、当該スコアの降順に認識候補を並べて得られる順位をデータ検索部１０３に渡してもよい。音声認識部１０１がスコアに換えて順位をデータ検索部１０３に渡す場合、データ検索部１０３は当該順位に基づいて認識候補の信頼度を推定するものとする。
【００１３】
音声認識辞書記憶部１０２は、認識対象語彙が登録される音声認識辞書を記憶する。音声認識辞書は、後述する応答選択部１０７によって選択される応答に従って、適宜更新される。例えば、（Ａ）未だ入力されていない属性に関わる属性値の入力を要求する第１の応答が選択されれば、当該属性に関わる属性値を示す語彙を認識対象語彙として音声認識辞書が更新される。また、（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答が選択されれば、肯定または否定を示す語彙を認識対象語彙として音声認識辞書が更新される。
【００１４】
データ検索部１０３は、後述する対話状態管理部１０５に保存されている検索条件を、音声認識部１０１からの認識候補及びスコアを用いて更新する。ここで、検索条件とは、各属性において、応答の提示と当該応答に対するユーザの音声入力との繰り返しによって絞り込まれた属性値の集合である。ある属性において検索条件に含まれる属性値の１つは、当該属性においてユーザの音声入力を示す属性値である可能性が高い。データ検索部１０３は、更新された検索条件に含まれる属性値を持つデータをデータ記憶部１０４から検索し、当該データの集合である検索結果を得る。具体的には、データ検索部１０３は、各属性において検索条件に含まれる属性値のいずれか１つを持つデータを検索する。即ち、複数の属性において検索条件が指定されていれば、データ検索部１０３は指定されている全ての属性において検索条件に含まれる属性値のいずれか１つを持つデータを検索する。データ検索部１０３は、上記検索結果を用いて対話状態管理部１０５に保存されている検索結果を更新すると共に、当該検索結果のデータに関連付けられていない属性値を検索条件から取り除く。検索条件から不要な属性値を取り除くことにより、検索条件を簡単化できる。尚、データ検索部１０３は、検索結果の更新の際に不要な属性値を取り除く処理を省略してもよい。例えば、ユーザからの音声入力がデータ記憶部１０４における記憶内容と矛盾する場合に検索結果が空となるので、より早い段階で検索失敗を検出できる。
【００１５】
データ検索部１０３は、直前に出力部１０８から提示された応答が、（Ａ）未だ入力されていない属性に関わる属性値の入力を要求する第１の応答であれば、音声認識部１０１からの認識候補を上記属性に関わる属性値として当該認識候補のスコアと共に、追加することにより、対話状態管理部１０５に保存されている検索条件を更新する。
【００１６】
データ検索部１０３は、直前に出力部１０８から提示された応答が、（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答であれば、音声認識部１０１からの認識候補をスコアに応じて肯定または否定として扱う。具体的には、データ検索部１０３は、音声認識部１０１からの認識候補が肯定を示す場合には、上記属性値を承認済み属性値として維持すると共に、当該承認済み属性値以外の属性値を削除することにより、対話状態管理部１０５に保存されている検索条件を更新する。一方、データ検索部１０３は、音声認識部１０１からの認識候補が否定を示す場合には、上記属性値のみを削除することにより、対話状態管理部１０５に保存されている検索条件を更新する。
【００１７】
データ記憶部１０４には、データと複数の属性に関わる属性値とが関連付けて記憶されている。図３に示すように、データ記憶部１０４には、各データの属性値の名称が参照可能に記憶されてもよい。
【００１８】
対話状態管理部１０５は、対話の進行状況を管理する。具体的には、対話状態管理部１０５は、現在の対話の進行状況として検索条件及び検索結果を保存しており、上記検索結果に基づき、対話を続行または終了させる。尚、ユーザと図１の音声対話装置の対話開始時には、検索条件は空であり、検索結果としてデータ記憶部１０４に記憶される全てのデータが保存されているものとする。尚、後述するように、出力部１０８における応答文の提示に利用するため、上記検索結果には各属性及び属性値の名称が含まれてもよい。
【００１９】
対話状態管理部１０５は、データ検索部１０３によって検索結果が更新された結果、所望データが絞り込まれている、または、検索結果が空であると判断すれば対話を終了すべく、検索結果を出力部１０８に渡す。一方、対話が続行される場合には、対話状態管理部１０５は、現在の検索条件及び検索結果をコスト算出部１０６に渡す。
【００２０】
対話状態管理部１０５は、現在の検索データの個数が１つになっており、かつ、当該データを特定できる属性に関わる属性値が承認済みであれば所望データが絞り込まれていると判断する。データを特定できる属性とは、例えば当該データの名称などである。また、データ記憶部１０４において、属性値の種類が最も多い属性を、データを特定できる属性としてもよい。あるいは、対話状態管理部１０５は、単に現在の検索データの個数が所定数以下になっていれば、所望データが絞り込まれていると判断してもよい。
【００２１】
コスト算出部１０６は、対話状態管理部１０５からの検索条件及び検索結果に基づき、次にユーザに提示すべき応答のコストを算出する。尚、コスト算出部１０６によるコスト算出の詳細については、後述する。ここで、図１の音声対話装置がユーザに提示する応答は、前述した（Ａ）未だ入力されていない属性に関わる属性値の入力を要求する第１の応答または（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答のいずれかであるとする。コスト算出部１０６は、データ記憶部１０４に記憶されている各属性について上記第１または第２の応答のコストを算出し、当該コストを応答選択部１０７に渡す。但し、コスト算出部１０６は、既に属性値が承認されている属性に関する応答のコストは算出しない。
【００２２】
応答選択部１０７は、コスト算出部１０６からのコストが最小となる応答を選択し、選択した応答を出力部１０８に通知する。尚、コストが最小となる応答が複数の場合には、応答選択部１０７は、属性値の種類の個数に基づいて応答を選択する。例えば、応答選択部１０７は、属性値の種類の個数が最大となる属性に関する応答を選択してもよい。あるいは、音声認識部１０１における音声認識精度を向上させるために、応答選択部１０７は、属性値の種類の個数が最小となる属性に関する応答を選択してもよい。
【００２３】
また、応答選択部１０７は、選択した応答に従って語彙記憶部１１０から認識対象語彙を取得し、当該認識対象語彙を用いて音声認識辞書記憶部１０２に記憶される音声認識辞書を更新する。具体的には、前述したように、応答選択部１０７は、（Ａ）未だ入力されていない属性に関わる属性値の入力を要求する第１の応答を選択すれば、当該属性に関わる属性値を示す語彙の語彙情報を認識対象語彙として語彙記憶部１１０から取得する。また、応答選択部１０７は、（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答を選択すれば、肯定または否定を示す語彙の語彙情報を認識対象語彙として語彙記憶部１１０から取得する。
【００２４】
尚、応答選択部１０７が語彙記憶部１１０から属性値を示す語彙の語彙情報を取得する場合、現在の検索データに関連付けられている属性値のみを対象としているものとする。しかしながら、音声認識部１０１における音声認識の精度が十分高ければ、データ記憶部１０４に記憶されている全ての属性値を取得対象としてもよい。全ての属性値を取得対象とすれば、ユーザからの音声入力がデータ記憶部１０４における記憶内容と矛盾する場合に検索結果が空となるので、より早い段階で検索失敗を検出できる。また、応答選択部１０７は、検索結果に関連付けられている属性値を取得対象とするか、全ての属性値を取得対象とするかを属性に応じて切り替えてもよい。例えば、属性値の種類が少ない属性であれば音声認識誤りが生じる可能性が低くなるため、全ての属性値を取得対象としても音声認識部１０１の音声認識精度が問題となりにくい。
【００２５】
出力部１０８は、例えば、ディスプレイやスピーカなどであって、映像の提示、テキストの提示、音声の出力またはこれらの組み合わせによってユーザに応答または検索結果を提示する。出力部１０８は応答選択部１０７によって選択された応答をユーザに提示する。例えば、（Ａ）未だ入力されていない属性に関わる属性値の入力を要求する第１の応答が応答選択部１０７によって選択されれば、出力部１０８は「（属性）を入力してください。」等の応答文を提示する。尚、上記応答文中の括弧書きは変数を示しており、実際には“施設名”など属性に対応する名称が代入される。また、（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答が応答部１０７によって選択されれば、出力部１０８は「（属性値）ですか？」等の応答文を提示する。尚、上記応答文中の括弧書きは変数を示しており、実際には“アート美術館”など属性値に対応する名称が代入される。
【００２６】
尚、出力部１０８は、対話状態管理部１０５を介して各属性及び属性値に対応する名称を取得して、応答文の提示に利用してもよい。例えば、出力部１０８は、「“施設名”を入力してください。」や「“アート美術館”ですか？」等の応答文をユーザに提示できる。
【００２７】
また、出力部１０８は、対話状態管理部１０５から検索結果を受けると、当該検索結果をユーザに提示する。即ち、対話状態管理部１０５からの検索結果にデータが含まれていれば、出力部１０８は検索に成功した旨及び所望データとして当該データをユーザに提示する。一方、対話状態管理部１０５からの検索結果が空であれば、出力部１０８は検索に失敗した旨をユーザに提示する。
【００２８】
語彙記憶部１１０には、データ記憶部１０４に記憶されている属性値やユーザによる肯定及び否定の表現を示す語彙と、当該語彙の音声認識に必要とされる語彙情報（読み等）とが関連付けて記憶されている。尚、語彙記憶部１１０とデータ記憶部１０４は、統合されていてもよい。また、語彙記憶部１１０を設けず、データ記憶部１０４に記憶される属性値の表記から語彙情報が自動生成されてもよい。その他、属性値の表記またはＩＤから語彙情報が取得できる構成または処理が設けられてもよい。
【００２９】
次に、コスト算出部１０６におけるコスト算出について説明する。前述したように、コスト算出部１０６は、（Ａ）未だ入力されていない属性に関わる属性値の入力を要求する第１の応答のコスト及び（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答のコストを算出する。この２種類のコストは、次のユーザの音声入力による絞り込み検索後の検索データの推定個数を示す。従って、コストが小さいほど、次のユーザの音声入力によってデータ個数の減少が期待できる。
【００３０】
［（Ａ）未だ入力されていない属性ArgXにおける属性値の入力を要求する第１の応答のコスト：CAdd(ArgX)］  
コストCAdd(ArgX)として、ユーザの音声入力による絞込み検索後の検索データ数の期待値を算出してもよい。しかしながら、上記期待値を算出するためには、ユーザの音声入力が音声認識部１０１において音声認識される結果、各属性値ArgX_iが認識候補として現われる確率が必要となる。上記確率は、ユーザの音声入力が不定であるため、予め求めることが困難である。
【００３１】
そこで、コスト算出部１０６は、ユーザの音声入力による絞込み検索後の検索データが持ち得る、属性ArgXにおける属性値ArgX_iの種類の数に基づき、上記絞込み検索後の検検索データの最大個数をコストCAdd(ArgX)として算出する。ここで、コストCAdd(ArgX)として、絞込み検索後の検索データの最大個数が算出されているが、例えば平均個数が算出されてもよい。しかしながら、データ数を減少できないリスクを考慮すれば、絞込み検索後の検索データの最大個数をコストCAdd(ArgX)として算出することが望ましい。
【００３２】
以下、絞込み検索後の検索データの最大個数をコストCAdd(ArgX)として算出する場合における、コスト算出部１０６の具体的な動作を述べる。ここで、対話状態管理部１０５からの検索データの属性ArgXにおける属性値ArgX_iの種類の数N(ArgX)は、ユーザの音声入力による絞込み検索によって、ceil(N(ArgX)*β)に減少すると過程する。尚、ceil()は小数点以下を切り上げる丸め関数を示し、βは属性値の種類の減少率（０＜β＝１）を示す。減少率βの定め方は、特に限定しないが、例えば音声認識部１０１における音声認識の精度に基づいて定めてよい。対話状態管理部１０５からの検索結果に含まれる、属性ArgXにおいて属性値ArgX_iを持つデータの個数をC(ArgX_i)とする。また、上記データ数C(ArgX_i)を降順に並べ、第ｊ番目のデータ数をC_sort(ArgX，j)で表す。即ち、データ数C_sort(ArgX，1)は、データ数C(ArgX_i)の最大値を示す。コストCAdd(ArgX)は、第１番目から第ceil(N(ArgX)*β)番目までのデータ数C_sort(ArgX，j)の総和に等しく、次式で表される。
【数１】
2009217611.tif 000003
【００３３】
数式（１）において、「Σ(j=a→b)f(j)」は、「ｊの範囲がａからｂまでのｆ(ｊ)の総和」を表す。以上説明したように、コスト算出部１０６は、絞込み検索後の検索データが持ち得る、属性ArgXにおける属性値ArgX_iの種類の数ceil(N(ArgX)*β)に基づき、当該絞込み検索後の検索結果に含まれ得るデータの最大個数を算出する。従って、数式（１）によれば、音声認識部１０１によって得られる認識候補が、データ数の多い属性値に偏った場合（即ち、データ数が最も減少しない場合）の、絞り込み検索後の検索データの推定個数を算出できる。
【００３４】
一方、数式（１）では、対話状態管理部１０５からの検索データの総数が多い場合に、C_sort(ArgX，ｊ)の算出が困難となる可能性がある。このような場合、コスト算出部１０６は、各属性値ArgX_iを持つデータの数は一様に分布していると仮定して、数式（１）の代わりに、「CAdd(ArgX) = TOTAL*β」（この式を数式（１）’とする）に従ってコストCAdd(ArgX)を算出してもよい。数式（１）’においてTOTALは、対話状態管理部１０５からの検索データの総数を示す。尚、このような場合は、例えばデータ総数TOTALの閾値処理などによって検出できる。また、数式（１）’を用いると、属性ArgXと異なる属性ArgYに関するコストCAdd(ArgY)が、コストCAdd(ArgX)と等しくなってしまうが、後述する（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答のコストとの比較は可能である。
【００３５】
［（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答のコスト：CConf(ArgX)］  
コストCConf(ArgX)は、既に入力されている属性ArgXにおける最上位の属性値ArgX_topが、ユーザが音声入力した属性値であるか否かを確認するコストとする。ここで、最上位の属性値ArgX_topとは、属性ArgXに関して音声認識部１０１によって付与されたスコアが最も高い属性値である。即ち、最上位の属性値ArgX_topは、ユーザが音声入力した属性値である可能性が最も高い。コストCConf(ArgX)は、属性値ArgX_topが、ユーザが入力した属性値であるか否かを確認した場合の、絞込み検索後の検索データ数の期待値であり、次式で表される。
【数２】
2009217611.tif 000004
【００３６】
数式（２）において、pは属性値ArgX_topの音声入力としての信頼度である（０≦ｐ≦１）。pは、対話状態管理部１０５に保存されている属性値ArgX_topのスコアから算出できる。例えば、前述したように、音声認識部１０１によって付与されるスコアが音声入力としての尤もらしさを表す信頼度であれば、コスト算出部１０６は当該スコアをそのままpとして利用する。また、コスト算出部１０６は、ユーザとの対話を始める前に、音声認識部１０１によって付与されるスコアと実際の正解率のデータを収集して対応関係を求め、当該対応関係に基づいてスコアからpを算出してもよい。
【００３７】
以下、図２に示すフローチャートを用いて、図１の音声対話装置の動作の一例について説明する。  
ユーザと、図１の音声対話装置の対話が開始すると、処理はステップＳ２０１に進む。ステップＳ２０１では、コスト算出部１０６が各応答のコストを算出し、応答選択部１０７が、コストが最小となる応答を次にユーザに提示する応答として選択する。応答選択部１０７は選択した応答に従って語彙記憶部１１０から認識対象語彙を取得し、当該認識対象語彙を用いて音声認識辞書記憶部１０２に記憶される音声認識辞書を更新すると共に、当該応答を出力部１０８に渡す。
【００３８】
次に、出力部１０８は、ステップＳ２０１において選択された応答をユーザに提示する（ステップＳ２０２）。次に、ステップＳ２０２において提示された応答に対するユーザの音声入力が、図示しないマイクロホンなどによって受理される（ステップＳ２０３）。受理された音声入力は、音声認識部１０１によって音声認識される。音声認識部１０１による音声認識の結果、一定以上のスコアが得られた認識候補が当該スコアと共にデータ検索部１０３に渡される。
【００３９】
尚、ステップＳ２０３において、タイマ処理などによって一定時間ユーザからの音声入力されていないことを検出した場合に、何らかの入力があったものとみなして処理を進めてもよい。例えば、ステップＳ２０２で提示された応答が、前述した第２の応答であれば、出力部１０８が「（ArgX_top）で絞り込みます」等のテキストをユーザに表示し、これに対するユーザの音声入力が無ければ、肯定を示す認識候補がデータ検索部１０３に渡されるようにしてよい。
【００４０】
次に、データ検索部１０３は、対話状態管理部１０５に保存されている検索条件を、ステップＳ２０３において得られた認識候補及びスコアを用いて更新し、更新された検索条件を用いて、データ記憶部１０４から所望データを検索する（ステップＳ２０４）。データ検索部１０３は、得られた検索結果を用いて対話状態管理部１０５に保存されている検索結果を更新する。
【００４１】
次に、対話状態管理部１０５は、ステップＳ２０４において得られた検索結果に基づき、対話を終了するか、または、続行するかを決定する（ステップＳ２０５）。ステップＳ２０５において対話を続行すると決定されれば、処理はステップＳ２０１に戻る。一方、ステップＳ２０５において対話を終了すると決定されれば、検索結果が出力部１０８からユーザに提示され、処理が終了する。
【００４２】
以下、図７に示す対話例に沿って、図１の音声対話装置の具体的な動作について詳細に説明する。尚、以下の説明では、施設データベースを検索対象としているが、本実施形態に係る音声対話装置が検索対象とするデータベースはこれに限られない。具体的には、データと各属性に関わる属性値とが関連付けて記憶されているデータベースが検索対象となり得る。例えば、データと当該データの属性「商品名」及び「売り場」が関連付けて記憶されているデータベースや、データと当該データの属性「従業員名」及び「部署・電話番号」が関連付けて記憶されているデータベースを検索対象としてもよい。
【００４３】
図７において、「ＳＹＳ」は出力部１０８によって提示される応答を表し、「ＵＳＲ」は上記応答に対するユーザの音声入力を表すものとし、ユーザの所望データは、「Ａ県○○市にある美術館「アート美術館」」であるとする。また、以後の説明において音声認識部１０１が算出するスコアは、各認識候補の音声入力としての尤もらしさを表すｐの百分率表記であるとし、前述した減少率β＝０．０３とする。
【００４４】
データ記憶部１０４は、図３に示す施設検索用データベースであるものとし、２００００件のデータと、施設名（２００００種類）、都道府県名（４７種類）、市区町村名（４０００週類）及びジャンル（８０種類）とが当該データの属性として関連付けて記憶されているものとする。尚、図３において、各データはデータＩＤによって識別されるものとし、属性「施設名」はデータを特定できる属性であるとする。
【００４５】
語彙記憶部１１０には、図１０に示すように、上記データ記憶部１０４に記憶される各属性に関わる属性値やユーザによる肯定及び否定の表現を示す語彙と、当該語彙の音声認識に必要とされる語彙情報（読み）とが関連付けて記憶されている。
【００４６】
音声対話装置とユーザとの対話を開始すると、コスト算出部１０６が各応答のコストを算出し、応答選択部１０７が、コストが最小となる応答を次にユーザに提示する応答として選択する（ステップＳ２０１）。コスト算出部１０６は、「属性「施設名」における属性値の入力を要求する応答のコストCAdd(施設名)」、「属性「都道府県名」における属性値の入力を要求する応答のコストCAdd(都道府県名)」、「属性「市区町村名」における属性値の入力を要求する応答のコストCAdd(市区町村名)」及び「属性「ジャンル」における属性値の入力を要求する応答のコストCAdd(ジャンル)」を算出する。
【００４７】
しかしながら、初期状態ではデータの数が多すぎる（２００００件）ため、コスト算出部１０６は、前述した数式（１）’に基づいてコストCAdd()を算出する。従って、４つのコストCAdd(施設名)、CAdd(都道府県名)、CAdd(市区町村名)及びCAdd(ジャンル)は等しく（20000*0.03 = 600）なり、応答選択部１０７は属性値の種類が最も多い属性「施設名」を優先し、「属性「施設名」における属性値の入力を要求する応答」をＳＹＳ１として選択する。応答選択部１０７は選択した応答ＳＹＳ１に従って語彙記憶部１１０から認識対象語彙を取得し、当該認識対象語彙を用いて音声認識辞書記憶部１０２に記憶される音声認識辞書を更新すると共に、当該応答ＳＹＳ１を出力部１０８に渡す。具体的には、応答選択部１０７は、語彙記憶部１１０から属性「施設名」における属性値をキーとして語彙を検索し、当該語彙の語彙情報（読み）を認識対象語彙として取得し、音声認識辞書記憶部１０２に記憶されている音声認識辞書を更新する。
【００４８】
次に、出力部１０８は、ステップＳ２０１において選択された応答ＳＹＳ１をユーザに提示する（ステップＳ２０２）。次に、図示しないマイクロホンによって、ユーザからの音声入力ＵＳＲ２が受理される（ステップＳ２０３）。受理された音声入力ＵＳＲ２は、音声認識部１０１によって音声認識される。音声認識部１０１による音声認識の結果、一定以上のスコアが得られた認識候補が当該スコアと共にデータ検索部１０３に渡される。
【００４９】
次に、データ検索部１０３は、対話状態管理部１０５に保存されている検索条件を、ステップＳ２０３において得られた認識候補及びスコアを用いて図４Ａに示すように更新し、更新された検索条件を用いて、データ記憶部１０４から所望データを検索する（ステップＳ２０４）。データ検索部１０３は、得られた検索結果を用いて対話状態管理部１０５に保存されている検索結果を図４Ｂ（５００個のデータが含まれるものとする）に示すように更新する。尚、以下の説明では、データと当該データの属性値を把握し易いように、「データＩＤ（属性名＝属性値、・・・）」の形式で検索結果を図示するものとする。
【００５０】
次に、ステップＳ２０４において得られた検索データの個数が５００個であるため、対話状態管理部１０５は対話の続行を決定し（ステップＳ２０５）、処理はステップＳ２０１に戻る。
【００５１】
ステップＳ２０１では、コスト算出部１０６が各応答のコストを算出し、応答選択部１０７が、コストが最小となる応答を次にユーザに提示する応答として選択する。既に、属性「施設名」における属性値が入力されている。従って、コスト算出部１０６は、「属性「施設名」における１つの属性値の真偽を確認する応答のコストCConf(施設名)」、「属性「都道府県名」における属性値の入力を要求する応答のコストCAdd(都道府県名)」、「属性「市区町村名」における属性値の入力を要求する応答のコストCAdd(市区町村名)」及び「属性「ジャンル」における属性値の入力を要求する応答のコストCAdd(ジャンル)」を算出する。
【００５２】
図４Ｂに示す検索結果から以下のような情報が得られたとする。  
C_sort(都道府県名，n1) = 11 (n1 = 1-30)，C_sort(都道府県名，n2) = 10 (n2 = 31-47)  
C_sort(市区町村名，1) = 3，C_sort(市区町村名，n1) = 1 (n1 = 2-498)  
C_sort(ジャンル，n1) = 7 (n1 = 1-20)，C_sort(ジャンル，n2) = 6 (n2 = 21-80)  
N(都道府県名) = 47，ceil(N(都道府県名)*β(= 0.03)) = 2  
N(市区町村名) = 498，ceil(N(市区町村名)*0.03) = 15  
N(ジャンル) = 80，ceil(N(ジャンル)*0.03) = 3  
C(ハート美術館) = 1 （属性値「ハート美術館」は、図４Ａに示すように、属性「施設名」における最上位の属性値である。）  
コスト算出部１０６は以上の情報を用いて、各応答のコストを算出する。
【００５３】
CConf(施設名) = 0.5*C(ハート美術館)+0.5*(500-C(ハート美術館)) = 0.5*1 + 0.5*499 = 250  
CAdd(都道府県名) = Σ(j=1→2)C_sort(都道府県名，j) = 11+11 = 22  
CAdd(市区町村名) = Σ(j=1→15)C_sort(市区町村名，j) = 3+1+…+1 = 17  
CAdd(ジャンル) = Σ(j=1→3)C_sort(ジャンル，j) = 7+7+7 = 21  
応答選択部１０７は、各応答コストCConf(施設名)、CAdd(都道府県名)、CAdd(市区町村名)及びCAdd(ジャンル)のうち、コストが最小である、「属性「市区町村名」における属性値の入力を要求する応答」をＳＹＳ３として選択する。応答選択部１０７は選択した応答ＳＹＳ３に従って語彙記憶部１１０から認識対象語彙を取得し、当該認識対象語彙を用いて音声認識辞書記憶部１０２に記憶される音声認識辞書を更新すると共に、当該応答ＳＹＳ３を出力部１０８に渡す。具体的には、応答選択部１０７は、語彙記憶部１１０から属性「市区町村名」における属性値をキーとして語彙を検索し、当該語彙の語彙情報（読み）を認識対象語彙として取得し、音声認識辞書記憶部１０２に記憶されている音声認識辞書を更新する。
【００５４】
次に、出力部１０８は、ステップＳ２０１において選択された応答ＳＹＳ３をユーザに提示する（ステップＳ２０２）。次に、図示しないマイクロホンによって、ユーザからの音声入力ＵＳＲ４が受理される（ステップＳ２０３）。受理された音声入力ＵＳＲ４は、音声認識部１０１によって音声認識される。音声認識部１０１による音声認識の結果、一定以上のスコアが得られた認識候補が当該スコアと共にデータ検索部１０３に渡される。
【００５５】
次に、データ検索部１０３は、対話状態管理部１０５に保存されている検索条件を、ステップＳ２０３において得られた認識候補及びスコアを用いて図５Ａに示すように更新し、更新された検索条件を用いて、データ記憶部１０４から所望データを検索する（ステップＳ２０４）。データ検索部１０３は、得られた検索結果を用いて対話状態管理部１０５に保存されている検索結果を図５Ｂに示すように更新すると共に、検索条件から図６に示すように不要な属性値を取り除く。
【００５６】
次に、ステップＳ２０４において得られた検索データの個数が５個であるため、対話状態管理部１０５は対話の続行を決定し（ステップＳ２０５）、処理はステップＳ２０１に戻る。
【００５７】
ステップＳ２０１では、コスト算出部１０６が各応答のコストを算出し、応答選択部１０７が、コストが最小となる応答を次にユーザに提示する応答として選択する。既に、属性「施設名」及び「市区町村名」における属性値が入力されている。従って、コスト算出部１０６は、「属性「施設名」における１つの属性値の真偽を確認する応答のコストCConf(施設名)」、「属性「都道府県名」における属性値の入力を要求する応答のコストCAdd(都道府県名)」、「属性「市区町村名」における１つの属性値の真偽を確認する応答のコストCConf(市区町村名)」及び「属性「ジャンル」における属性値の入力を要求する応答のコストCAdd(ジャンル)」を算出する。
【００５８】
図６に示す検索結果から以下のような情報が得られたとする。  
C_sort(都道府県名，1) = 3 ，C_sort(都道府県名，n1) = 1 (n1 = 2,3)  
C_sort(ジャンル，n1) = 2 (n1 = 1,2)，C_sort(ジャンル，3) = 1  
N(都道府県名) = 3，ceil(N(都道府県名)*β(= 0.03)) = 1  
N(ジャンル) = 3，ceil(N(ジャンル)*0.03) = 1  
C(ハート美術館) = 1  
C(○○市) = 1  
コスト算出部１０６はこれらの情報を用いて各応答のコストを算出する。  
CConf(施設名) = 0.5*C(ハート美術館)+0.5*(5-C(ハート美術館)) = 0.5*1+0.5*4 = 2.5  
CAdd(都道府県名) = Σ(j=1→1)C_sort(都道府県名，j) = 3  
CConf(市区町村名) = 0.85*C(○○市)+0.15*(5-C(○○市)) = 0.85*1+0.15*4 = 1.45
CAdd(ジャンル) =Σ(j=1→1)C_sort(ジャンル，j) = 2  
応答選択部１０７は、各応答コストCConf(施設名)、CAdd(都道府県名)、CConf(市区町村名)及びCAdd(ジャンル)のうち、コストが最小である、「属性「市区町村名」における１つの属性値「○○市」の真偽を確認する応答」をＳＹＳ５として選択する。応答選択部１０７は選択した応答ＳＹＳ５に従って語彙記憶部１１０から認識対象語彙を取得し、当該認識対象語彙を用いて音声認識辞書記憶部１０２に記憶される音声認識辞書を更新すると共に、当該応答ＳＹＳ５を出力部１０８に渡す。具体的には、応答選択部１０７は、語彙記憶部１１０から肯定及び否定の表現を示す語彙（例えば、「はい」及び「いいえ」）を検索し、当該語彙の語彙情報（読み）を認識対象語彙として取得し、音声認識辞書記憶部１０２に記憶されている音声認識辞書を更新する。
【００５９】
次に、出力部１０８は、ステップＳ２０１において選択された応答ＳＹＳ５をユーザに提示する（ステップＳ２０２）。次に、図示しないマイクロホンによって、ユーザからの音声入力ＵＳＲ６が受理される（ステップＳ２０３）。受理された音声入力ＵＳＲ６は、音声認識部１０１によって音声認識される。音声認識部１０１による音声認識の結果、一定以上のスコアが得られた認識候補が当該スコアと共にデータ検索部１０３に渡される。ここで、音声入力ＵＳＲ６は、否定の表現のスコアよりも肯定の表現のスコアが高く、データ検索部１０３において肯定の表現として扱われるものとする。
【００６０】
次に、データ検索部１０３は、対話状態管理部１０５に保存されている検索条件を、ステップＳ２０３において得られた認識候補を用いて更新し、更新された検索条件を用いて、データ記憶部１０４から所望データを検索する（ステップＳ２０４）。ここで、データ検索部１０３は、上記音声入力ＵＳＲ６を肯定の表現として扱うため、対話状態管理部１０５に保存されている検索条件の属性「市区町村名」において、属性値「○○市」のみを承認済み属性値として維持すると共に、当該承認済み属性値以外の属性値「×○市」及び「□○市」を削除する。データ検索部１０３は、得られた検索結果を用いて対話状態管理部１０５に保存されている検索結果を図８Ａに示すように更新すると共に、検索条件から図８Ｂに示すように不要な属性値を取り除く。
【００６１】
次に、ステップＳ２０４において得られた検索データの個数が１個であるが、データを特定できる属性「施設名」における属性値が承認済みでないので、対話状態管理部１０５は対話の続行を決定し（ステップＳ２０５）、処理はステップＳ２０１に戻る。
【００６２】
ステップＳ２０１では、コスト算出部１０６が各応答のコストを算出し、応答選択部１０７が、コストが最小となる応答を次にユーザに提示する応答として選択する。既に、属性「施設名」及び「市区町村名」における属性値が入力されている。また、属性「市区町村名」における属性値「○○市」が承認済みである。従って、コスト算出部１０６は、「属性「施設名」における１つの属性値の真偽を確認する応答のコストCConf(施設名)」、「属性「都道府県名」における属性値の入力を要求する応答のコストCAdd(都道府県名)」及び「属性「ジャンル」における属性値の入力を要求する応答のコストCAdd(ジャンル)」を算出する。
【００６３】
図８Ｂに示す検索結果から以下のような情報が得られたとする。  
C_sort(都道府県名，1) = 1  
C_sort(ジャンル，1) = 1  
N(都道府県名) = 1，ceil(N(都道府県名)*β(= 0.03)) = 1  
N(ジャンル) = 1，ceil(N(ジャンル)*0.03) = 1  
C(アート美術館) = 1  
コスト算出部１０６はこれらの情報を用いて各応答のコストを算出する。  
CConf(施設名) = 0.4*C(アート美術館)+0.6*(1-C(アート美術館)) = 0.4*1+0.6*0 = 0.4  
CAdd(都道府県名) = Σ(j=1→1)C_sort(都道府県名，j) = 1  
CAdd(ジャンル) =Σ(j=1→1)C_sort(ジャンル，j) = 1  
応答選択部１０７は、各応答コストCConf(施設名)、CAdd(都道府県名)及びCAdd(ジャンル)のうち、コストが最小である、「属性「施設名」における１つの属性値「アート美術館」の真偽を確認する応答」をＳＹＳ７として選択する。応答選択部１０７は選択した応答ＳＹＳ７に従って語彙記憶部１１０から認識対象語彙を取得し、当該認識対象語彙を用いて音声認識辞書記憶部１０２に記憶される音声認識辞書を更新すると共に、当該応答ＳＹＳ７を出力部１０８に渡す。具体的には、応答選択部１０７は、語彙記憶部１１０から肯定及び否定の表現を示す語彙（例えば、「はい」及び「いいえ」）を検索し、当該語彙の語彙情報（読み）を認識対象語彙として取得し、音声認識辞書記憶部１０２に記憶されている音声認識辞書を更新する。
【００６４】
次に、出力部１０８は、ステップＳ２０１において選択された応答ＳＹＳ７をユーザに提示する（ステップＳ２０２）。次に、図示しないマイクロホンによって、ユーザからの音声入力ＵＳＲ８が受理される（ステップＳ２０３）。受理された音声入力ＵＳＲ８は、音声認識部１０１によって音声認識される。音声認識部１０１による音声認識の結果、一定以上のスコアが得られた認識候補が当該スコアと共にデータ検索部１０３に渡される。ここで、音声入力ＵＳＲ８は、否定の表現のスコアよりも肯定の表現のスコアが高く、データ検索部１０３において肯定の表現として扱われるものとする。
【００６５】
次に、データ検索部１０３は、対話状態管理部１０５に保存されている検索条件を、ステップＳ２０３において得られた認識候補を用いて更新し、更新された検索条件を用いて、データ記憶部１０４から所望データを検索する（ステップＳ２０４）。ここで、データ検索部１０３は、上記音声入力ＵＳＲ８を肯定の表現として扱うため、図９Ａに示すように対話状態管理部１０５に保存されている検索条件の属性「施設名」において、属性値「アート美術館」のみを承認済み属性値として維持する。データ検索部１０３は、得られた検索結果を用いて対話状態管理部１０５に保存されている検索結果を図９Ｂに示すように更新する。
【００６６】
次に、ステップＳ２０４において得られた検索データの個数が１個であり、かつ、データを特定できる属性「施設名」における属性値「アート美術館」が承認済みであるので、対話状態管理部１０５は対話の終了を決定し（ステップＳ２０５）、出力部１０８にユーザの所望データ「Ａ県○○市にある美術館「アート美術館」」を渡す。出力部１０８は対話状態管理部１０５からの上記所望データ「Ａ県○○市にある美術館「アート美術館」」をユーザに提示し、処理が終了する。
【００６７】
以上説明したように、本実施形態に係る音声対話装置は、（Ａ）未だ入力されていない属性に関わる属性値の入力を要求する第１の応答のコスト及び（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答のコストを各属性に関して算出し、コストが最小となる応答を選択してユーザに提示している。従って、本実施形態に係る音声対話装置によれば、検索データの個数の減少が最も期待できる応答がユーザに提示されるので、ユーザの満足度の低下を抑えることができる。
【００６８】
（第２の実施形態）  
本発明の第２の実施形態に係る音声対話装置は、前述した第１の実施形態に係る音声対話装置において、コスト算出部１０６の動作が一部異なる。以下の説明では、本実施形態に係る音声対話装置において、第１の実施形態に係る音声対話装置と異なる部分を中心に述べる。
【００６９】
前述した第１の実施形態では、コスト算出部１０６が算出するコストCConf(ArgX)は、最上位の属性値ArgX_topの真偽を確認する応答のコストを示していたが、本実施形態ではこれに限られない。即ち、コスト算出部１０６は、最上位以外の属性値についても真偽を確認する応答のコストを算出する。以下の説明では、第ｊ位の属性値について真偽を確認する応答のコストをCConf(ArgX，j)で表現する。例えば、前述した第１の実施形態におけるCConf(ArgX)は、CConf(ArgX，1)で表現できる。上記コストCConf(ArgX，j)は数式（２）において、C(ArgX_top)を第ｊ位の属性値を持つデータの個数、pを当該属性値の音声入力としての信頼度に夫々置き換えることにより算出できる。
【００７０】
本実施形態において、コスト算出部１０６が属性ArgXに関するコストCConf(ArgX，j)の算出対象とする属性値の種類が増えれば、検索データの個数の減少が最も期待できる応答が得られやすくなる。しかしながら、算出対象とする属性値の種類を増やすことは、コスト算出部１０６の計算量の増大をもたらす。従って、コスト算出部１０６において許容できる計算量に応じて、算出対象とする属性値を定める必要がある。尚、以下に示す方針Ｉ及びＩＩにおいて、検索データの個数の減少が最も期待できる応答が得られやすい属性値の定め方を述べる。
【００７１】
Ｉ．  上位の属性値を優先的にコスト算出の対象とする。  
上位の属性値は、ユーザの音声入力としての信頼度が高いので、ユーザによる承認が期待できると共に、仮に承認されなかったとしても、上記属性値は実際の音声入力に近いため、ユーザに違和感を与えにくい。即ち、対話の流れが自然になる。一方、信頼度の低い属性値を確認する応答は、ユーザにとって予期しない応答となる可能性が高く、ユーザの満足度の低下を招きやすい。
【００７２】
ＩＩ．  検索データ数が多い属性値を優先的にコスト算出の対象とする。  
検索データ数が多い属性値は、当該属性値のユーザの音声入力としての信頼度が低ければ、数式（２）より、コストが小さくなる。
【００７３】
以上説明したように、本実施形態に係る音声対話装置は、ある属性における１つの属性値の真偽を確認する応答のコストの算出対象を、当該属性における最上位の属性値に限らず、下位の属性値にまで拡張している。従って、本実施形態に係る音声対話装置によれば、検索データの個数の減少が最も期待できる応答が得られやすくなる。
【００７４】
（第３の実施形態）  
本発明の第２の実施形態に係る音声対話装置は、前述した第１の実施形態に係る音声対話装置において、データ検索部１０３、コスト算出部１０６及び応答選択部１０７の動作が一部異なる。以下の説明では、本実施形態に係る音声対話装置において、第１の実施形態に係る音声対話装置と異なる部分を中心に述べる。
【００７５】
前述した第１の実施形態では、コスト算出部１０６が算出するコストは、（Ａ）未だ入力されていない属性ArgXにおける属性値の入力を要求する第１の応答のコストCAdd(ArgX)及び（Ｂ）既に入力されている属性ArgYにおける１つの属性値の真偽を確認する第２の応答のコストCConf(ArgY)の２種類である。本実施形態では、コスト算出部１０６は、（Ｃ）未だ入力されていない属性ArgXにおける１つの属性値の真偽を確認する第３の応答のコストCConf2(ArgX)を更に算出する。第３の応答は、属性値の真偽を確認するという点において第２の応答と同様であるため、第３の応答のコストCConf2(ArgX)は第２の応答のコストCConf(ArgY)と同様に次式で算出できる。
【数３】
2009217611.tif 000005
【００７６】
しかしながら、属性ArgXにおける属性値は、入力されていないため、最上位の属性値ArgX_top及び当該属性値ArgX_topの音声入力としての信頼度pは不定である。従って、コスト算出部１０６は、上記ArgX_top及びpの代用となるArgX_top'及びp'を、既に入力されている属性ArgYに関する検索条件を利用して導出する。
【００７７】
最上位の属性値ArgX_topの代用となる属性値ArgX_top'は、入力済みの属性ArgYにおける最上位の属性値ArgY_topが関連付けられているデータの、属性ArgXにおける属性値から導出される。
【００７８】
例えば、前述した図４Ａに示す検索条件及び図４Ｂに示す検索結果を対話状態管理部１０５から受けると、コスト算出部１０６は、入力済みの属性「施設名」（ArgY）の最上位の属性値「ハート美術館」(ArgY_top)に関連付けられているデータを検索結果から抽出する。抽出されるデータは、ＩＤ＝３のデータのみであるから、当該データと関連付けられている属性値に基づき、都道府県名「Ｃ県」、市区町村名「×○市」及びジャンル「美術館」が属性値ArgX_top'として夫々導出される。
【００７９】
尚、複数の属性に関わる属性値が既に入力されている場合や、ArgY_topに関連付けられているデータが複数の場合には、属性値ArgX_top'の候補が複数種類現れるおそれがある。このような場合には、コスト算出部１０６は、導出する属性値ArgX_top'を所定数に限ってもよい。
【００８０】
信頼度pの代用となる値p'は、次式で導出される。
【数４】
2009217611.tif 000006
【００８１】
数式（４）において、p_ArgY_topは上記属性ArgYにおける最上位の属性値ArgY_topの音声入力としての信頼度を示し、Ｎ(ArgX_top'|ArgY_top)は、ArgY_topから導出されるArgX_top'の種類の数である。即ち、数式（４）は、属性値ArgY_topに対する各属性値ArgX_top'の依存の程度が不明であるから、各属性値ArgX_top’が均等に出現すると仮定している。コストCConf２（ArgX）は、属性値ArgY_topに対する属性値ArgX_top'の依存度が高い場合、即ち、属性値ArgY_topが決まれば、属性値ArgX_top'もほぼ決まるような場合に小さくなりやすい。
【００８２】
データ検索部１０３は、直前に出力部１０８から提示された応答が、（Ｃ）未だ入力されていない属性における１つの属性値の真偽を確認する第３の応答であれば、音声認識部１０１からの認識候補をスコアに応じて肯定または否定として扱う。具体的には、データ検索部１０３は、音声認識部１０１からの認識候補が肯定を示す場合には、上記属性値を承認済み属性値として追加することにより、対話状態管理部１０５に保存されている検索条件を更新する。一方、データ検索部１０３は、音声認識部１０１からの認識候補が否定を示す場合には、上記属性値を否定することにより対話状態管理部１０５に保存されている検索条件を更新する。尚、この場合、上記属性はコスト算出部１０６において未だ入力されていない属性として扱われるものとする。
【００８３】
以下、データ検索部１０３による検索条件の更新について、直前に出力部１０８から提示された応答が、（Ｃ）未だ入力されていない属性「都道府県名」における１つの属性値「Ｃ県」の真偽を確認する第３の応答である場合を例に具体的に説明する。データ検索部１０３は、音声認識部１０１からの認識候補が肯定を示す場合には、上記属性値を承認済み属性値として追加することにより、対話状態管理部１０５に保存されている検索条件を図１１Ａに示すように更新する。一方、データ検索部１０３は、音声認識部１０１からの認識候補が否定を示す場合には、上記属性値を否定することにより対話状態管理部１０５に保存されている検索条件を図１１Ｂに示すように更新する。
【００８４】
応答選択部１０７は、（Ｃ）未だ入力されていない属性における１つの属性値の真偽を確認する第３の応答を選択する場合、（Ｂ）既に入力されている属性における１つの属性値の真偽を確認する第２の応答を選択する場合と同様に、肯定または否定を示す語彙の語彙情報を認識対象語彙として語彙記憶部１１０から取得する。
【００８５】
以上説明したように、本実施形態に係る音声対話装置は、未だ入力されていない属性における１つの属性値の真偽を確認する応答のコストを更に算出している。従って、本実施形態に係る音声対話装置によれば、検索データの個数の減少が最も期待できる応答が得られやすくなる。
【００８６】
尚、本実施形態において、未入力の属性ArgXの最上位の属性値ArgX_top'を既に入力されている属性ArgYの最上位の属性値ArgY_topに基づいて導出している。しかしながら、上記属性ArgXの最上位以外の属性値ArgX_j'を、上記属性ArgYにおける対応する属性値ArgY_jに基づいて導出してもよい。このような場合にも、前述した数式（３）及び数式（４）を利用できる。
【００８７】
（第４の実施形態）  
本発明の第４の実施形態に係る音声対話装置は、前述した第１の実施形態に係る音声対話装置において、データ検索部１０３及び対話状態管理部１０５の動作が一部異なる。以下の説明では、本実施形態に係る音声対話装置において、第１の実施形態に係る音声対話装置と異なる部分を中心に述べる。
【００８８】
本実施形態では、対話状態管理部１０５は、検索結果が空になっても対話を終了せず、データ検索部１０３に検索条件を修正させる。データ検索部１０３は、対話状態管理部１０５によって検索結果が空になったことを判断すると、承認済み属性値以外の全ての属性に関して検索条件を空にする。承認済み属性値を検索条件として維持することにより、全ての属性に関して検索条件を空にする場合に比べて、各属性において受理対象とする属性値の個数が減少するので、音声認識部１０１における認識対象語彙数が減少する。従って、ユーザが再度音声入力する際に、音声認識部１０１における音声認識精度が向上する。
【００８９】
尚、検索条件を一旦修正した後に、所定回数以上検索結果が空になれば、データ検索部１０３は承認済み属性値を含む全ての属性に関して検索条件を空にしてもよい。また、更に所定数以上検索結果が空になれば、対話状態管理部１０５は対話を終了すべく、検索結果を出力部１０８に渡してもよい。
【００９０】
以下、図１２に示すフローチャートを用いて、本実施形態に係る音声対話装置の動作の一例について説明する。  
ユーザと、本実施形態に係る音声対話装置の対話が開始すると、処理はステップＳ３０１に進む。ステップＳ３０１では、コスト算出部１０６が各応答のコストを算出し、応答選択部１０７が、コストが最小となる応答を次にユーザに提示する応答として選択する。応答選択部１０７は選択した応答に従って語彙記憶部１１０から認識対象語彙を取得し、当該認識対象語彙を用いて音声認識辞書記憶部１０２に記憶される音声認識辞書を更新すると共に、当該応答を出力部１０８に渡す。
【００９１】
次に、出力部１０８は、ステップＳ３０１において選択された応答をユーザに提示する（ステップＳ３０２）。次に、ステップＳ３０２において提示された応答に対するユーザの音声入力が、図示しないマイクロホンなどによって受理される（ステップＳ３０３）。受理された音声入力は、音声認識部１０１によって音声認識される。音声認識部１０１による音声認識の結果、一定以上のスコアが得られた認識候補が当該スコアと共にデータ検索部１０３に渡される。
【００９２】
次に、データ検索部１０３は、対話状態管理部１０５に保存されている検索条件を、ステップＳ３０３において得られた認識候補及びスコアを用いて更新し、更新された検索条件を用いて、データ記憶部１０４から所望データを検索する（ステップＳ３０４）。データ検索部１０３は、得られた検索結果を用いて対話状態管理部１０５に保存されている検索結果を更新する。
【００９３】
次に、対話状態管理部１０５は、ステップＳ３０４において得られた検索結果が空であるか否かを判断する（ステップＳ３０５）。検索結果が空であれば処理はステップＳ３０６に進み、そうでなければ処理はステップＳ３０７に進む。
【００９４】
次に、データ検索部１０３は、承認済み属性値以外の全ての属性に関して対話状態管理部１０５に保存されている検索条件を空にする（ステップＳ３０６）。尚、前述したように検索条件を一旦修正した後に、所定回数以上検索結果が空になれば、データ検索部１０３は承認済み属性値を含む全ての属性に関して検索条件を空にしてもよい。また、更に所定数以上検索結果が空になれば、対話状態管理部１０５は対話を終了すべく、検索結果を出力部１０８に渡してもよい。
【００９５】
ステップＳ３０７では、対話状態管理部１０５は、ステップＳ３０４において得られた検索結果に基づき、対話を終了するか、または、続行するかを決定する。ステップＳ３０７において対話を続行すると決定されれば処理はステップＳ３０１に戻る。一方、ステップＳ３０７において対話を終了すると決定されれば、検索結果が出力部１０８からユーザに提示され、処理が終了する。
【００９６】
以上説明したように、本実施形態に係る音声対話装置は、検索結果が空になった場合に、検索条件を修正している。従って、本実施形態に係る音声対話装置によれば、ユーザの音声入力がデータ記憶部の記憶内容と矛盾した場合にも、対話をやり直すことができる。
【００９７】
（第５の実施形態）  
本発明の第５の実施形態に係る音声対話装置は、前述した第１の実施形態に係る音声対話装置において、音声認識部１０１、データ検索部１０３及び対話状態管理部１０５の動作が一部異なる。以下の説明では、本実施形態に係る音声対話装置において、第１の実施形態に係る音声対話装置と異なる部分を中心に述べる。
【００９８】
本実施形態では、音声認識部１０１は、認識候補及び当該認識候補のスコアに加えて、ユーザの音声入力も出力する。尚、音声入力の形式は、後述するように音声認識部１０１が再評価できる形式であればよく、例えば音声を分析して得られる特徴パラメータなどでもよい。
【００９９】
データ検索部１０３は、ある属性に関する１つの属性値が承認済みになると、当該承認済み属性値を用いて前述した絞り込み検索処理を行った後、承認されていない各属性に関して上記音声入力を音声認識部１０１に渡す。音声認識部１０１は、現在の検索条件に相当する認識対象語彙に基づいて上記音声入力を再評価し、認識候補及びスコアをデータ検索部１０３に返す。一般的に、認識対象語彙が減少するほど音声認識の精度は向上するので、再評価された認識候補及びスコアは、以前の認識候補及びスコアより信頼性が高い。
【０１００】
データ検索部１０３は、再評価された認識候補及びスコアを用いて対話状態管理部１０５に保存されている検索条件を更新し、データ記憶部１０４から所望データを絞込み検索し、この検索結果を用いて対話状態管理部１０５に保存されている検索結果及び検索条件を更新する。
【０１０１】
対話状態管理部１０５は、各属性について上記音声入力を保存している。即ち、対話状態管理部１０５は、図１４Ａ，図１４Ｂ及び図１４Ｃに夫々示すように、検索結果、検索条件及び音声入力を管理する。尚、対話状態管理部１０５ではなく、別の記憶領域に音声入力が保存されてもよい。データ検索部１０３が、属性に応じた音声入力にアクセスできれば、音声入力の管理方法は問わない。
【０１０２】
以下、図１３に示すフローチャートを用いて、図１の音声対話装置の動作の一例について説明する。  
ユーザと、本実施形態に係る音声対話装置の対話が開始すると、処理はステップＳ４０１に進む。ステップＳ４０１では、コスト算出部１０６が各応答のコストを算出し、応答選択部１０７が、コストが最小となる応答を次にユーザに提示する応答として選択する。応答選択部１０７は選択した応答に従って語彙記憶部１１０から認識対象語彙を取得し、当該認識対象語彙を用いて音声認識辞書記憶部１０２に記憶される音声認識辞書を更新すると共に、当該応答を出力部１０８に渡す。
【０１０３】
次に、出力部１０８は、ステップＳ４０１において選択された応答をユーザに提示する（ステップＳ４０２）。次に、ステップＳ４０２において提示された応答に対するユーザの音声入力が、図示しないマイクロホンなどによって受理される（ステップＳ４０３）。受理された音声入力は、音声認識部１０１によって音声認識される。音声認識部１０１による音声認識の結果、一定以上のスコアが得られた認識候補が当該スコアと共にデータ検索部１０３に渡される。ユーザの音声入力は対話状態管理部１０５に保存され、処理はステップＳ４０４に進む。
【０１０４】
ステップＳ４０４では、データ検索部１０３は、対話状態管理部１０５に保存されている検索条件を、音声認識部１０１からの認識候補及びスコアを用いて更新し、更新された検索条件を用いて、データ記憶部１０４から所望データを検索する。データ検索部１０３は、得られた検索結果を用いて対話状態管理部１０５に保存されている検索結果を更新する。
【０１０５】
次に、データ検索部１０３は、ステップＳ４０３において受理された音声入力が、ある属性値の承認であるか否かを判断する（ステップＳ４０５）。ステップＳ４０３において受理された音声入力が属性値の承認であれば処理はステップＳ４０６に進み、属性値の承認でなければ処理はステップＳ４０７に進む。
【０１０６】
ステップＳ４０６では、音声認識部１０１は、属性値が承認されていない各属性に関して対話状態管理部１０５に保存されている音声入力を再評価して、新たな認識候補及びスコアをデータ検索部１０３に渡し、処理はステップＳ４０４に進む。尚、ステップＳ４０６において、音声認識部１０１の認識対象語彙は、各属性に関して検索条件に含まれている属性値のみである。
【０１０７】
ステップＳ４０７では、対話状態管理部１０５は、ステップＳ４０４において得られた検索結果に基づき、対話を終了するか、または、続行するかを決定する（ステップＳ４０７）。ステップＳ４０７において対話を続行すると決定されれば処理はステップＳ４０１に戻る。一方、ステップＳ４０７において対話を終了すると決定されれば、検索結果が出力部１０８からユーザに提示され、処理が終了する。
【０１０８】
以上説明したように、本実施形態に係る音声対話装置は、属性値が承認される度に、ユーザのかつての音声入力を再評価している。従って、本実施形態に係る音声対話装置によれば、認識対象語彙数が減少した状態で音声入力を再評価できるため、音声認識の精度を原因とする検索失敗を抑制できる。
【０１０９】
（第６の実施形態）  
本発明の第６の実施形態に係る音声対話装置は、前述した第５の実施形態に係る音声対話装置において、語彙記憶部１１０の構成が一部異なる。以下の説明では、本実施形態に係る音声対話装置において、第１の実施形態に係る音声対話装置と異なる部分を中心に述べる。
【０１１０】
本実施形態では、語彙記憶部１１０は図１５に示すように、基本語彙記憶部１１１と、別名・省略語記憶部１１２とに分割されている。
【０１１１】
基本語彙記憶部１１１には、データ記憶部１０４に記憶されている属性値やユーザによる肯定及び否定の表現を示す一般的、主要な語彙と、当該語彙の音声認識に必要とされる語彙情報（読み等）とが関連付けて記憶されている。
【０１１２】
別名・省略語記憶部１１２は、データ記憶部１０４に記憶されている属性値を示す語彙のうち、基本語彙記憶部１１１には記憶されていない、別名・省略語に相当する語彙と、当該語彙の音声認識に必要とされる語彙情報（読み等）とが関連付けて記憶されている。
【０１１３】
本実施形態では、音声認識部１０１の認識対象語彙は、最初の認識の際には基本語彙記憶部１１１のみから取得される。以降の再評価において、音声認識部１０１の認識対象語彙数が所定数以下に減少すると、認識対象語彙は基本語彙記憶部１１１に加えて別名・省略語記憶部１１２からも取得される。
【０１１４】
以下、語彙記憶部１１０を基本語彙記憶部１１１と、別名・省略語記憶部１１２とに分割して利用する技術的意義について説明する。  
例えば、ユーザが、入力したい属性値の正式な名称等を知らないが、別名や省略語を知っている場合がある。このような場合、基本語彙記憶部１１１に記憶されている語彙だけでは、音声認識部１０１がユーザの音声入力を正しく認識できないおそれがある。一方、最初から別名・省略語記憶部１１２に記憶されている語彙を利用すると、音声認識部１０１に認識対象語彙が増大し、かえって音声認識の精度が低下するおそれがある。
【０１１５】
従って、本実施形態では、認識対象語彙数が多い初期段階では語彙数を抑制するために基本語彙記憶部１１１のみが利用され、認識対象語彙数が所定数以下に減少してから省略語・別名記憶部１１２も利用される。即ち、本実施形態に係る音声対話装置は、初期段階では音声認識部１０１の音声認識精度の低下を抑制し、認識対象語彙数が所定数以下に減少してから省略語・別名に相当する語彙を認識対象語彙に追加して、正しい認識候補が得られる可能性を向上させている。
【０１１６】
以上説明したように、本実施形態に係る音声対話装置では、音声認識部における認識対象語彙を取得するために利用する語彙記憶部が基本語彙記憶部と別名・省略語記憶部とに分割されており、音声認識部における認識対象語彙数に応じて使い分けられている。従って、本実施形態に係る音声対話装置によれば、音声認識部の音声認識精度の低下を抑えつつ、ユーザが入力したい属性値の別名や省略語しか知らない場合であっても、ユーザの満足度の低下が抑えられる。
【０１１７】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【０１１８】
その一例として例えば、前述した各実施形態に係る音声対話装置は、所望データが検索されると、当該所望データをユーザに提示して対話が終了するとしているが、本発明が実行する機能はこれに限られない。例えば、本発明は、検索終了後に検索結果を利用した別の機能を行ってもよい。本発明を情報処理端末に適用する場合であれば、検索結果の詳細情報を提示してよい。また、本発明をカーナビゲーションシステムに適用する場合であれば、検索結果に基づいて目的地を設定してよい。更に、本発明が、所望データの検索以外の別の機能を実行する場合においても、ユーザとの対話を続行してもよい。
【０１１９】
その他、本発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。
【図面の簡単な説明】
【０１２０】
【図１】第１の実施形態に係る音声対話装置を示すブロック図。
【図２】図１のデータ記憶部に記憶される、データと当該データの属性値の一例を示す図
【図３】図１の音声対話装置の動作の流れの一例を示すフローチャート。
【図４Ａ】図１の対話状態管理部に保存される、検索条件の一例を示す図。
【図４Ｂ】図１の対話状態管理部に保存される、検索結果の一例を示す図。
【図５Ａ】図１の対話状態管理部に保存される、検索条件の一例を示す図。
【図５Ｂ】図１の対話状態管理部に保存される、検索結果の一例を示す図。
【図６】図１の対話状態管理部に保存される、検索条件の一例を示す図。
【図７】図１の音声対話装置と、ユーザとによる対話の一例を示す図。
【図８Ａ】図１の対話状態管理部に保存される、検索結果の一例を示す図。
【図８Ｂ】図１の対話状態管理部に保存される、検索条件の一例を示す図。
【図９Ａ】図１の対話状態管理部に保存される、検索条件の一例を示す図。
【図９Ｂ】図１の対話状態管理部に保存される、検索結果の一例を示す図。
【図１０】図１の語彙記憶部に記憶される、語彙と当該語彙の読みの一例を示す図。
【図１１Ａ】第３の実施形態に係る音声対話装置の対話状態管理部に保存される、検索条件の一例を示す図。
【図１１Ｂ】第３の実施形態に係る音声対話装置の対話状態管理部に保存される、検索条件の他の例を示す図。
【図１２】第４の実施形態に係る音声対話装置の動作の流れの一例を示すフローチャート。
【図１３】第５の実施形態に係る音声対話装置の動作の流れの一例を示すフローチャート。
【図１４Ａ】第５の実施形態に係る音声対話装置の対話状態管理部に保存される、検索結果の一例を示す図。
【図１４Ｂ】第５の実施形態に係る音声対話装置の対話状態管理部に保存される、検索条件の一例を示す図。
【図１４Ｃ】第５の実施形態に係る音声対話装置の対話状態管理部に保存される、音声入力の一例を示す図。
【図１５】第６の実施形態に係る音声対話装置の語彙記憶部を示すブロック図。
【符号の説明】
【０１２１】
１０１・・・音声認識部
１０２・・・音声認識辞書記憶部
１０３・・・データ検索部
１０４・・・データ記憶部
１０５・・・対話状態管理部
１０６・・・コスト算出部
１０７・・・応答選択部
１０８・・・出力部
１１０・・・語彙記憶部
１１１・・・基本語彙記憶部
１１２・・・省略語・別名記憶部
【図１】
2009217611.tif 000007
【図２】
2009217611.tif 000008
【図３】
2009217611.tif 000009
【図４Ａ】
2009217611.tif 000010
【図４Ｂ】
2009217611.tif 000011
【図５Ａ】
2009217611.tif 000012
【図５Ｂ】
2009217611.tif 000013
【図６】
2009217611.tif 000014
【図７】
2009217611.tif 000015
【図８Ａ】
2009217611.tif 000016
【図８Ｂ】
2009217611.tif 000017
【図９Ａ】
2009217611.tif 000018
【図９Ｂ】
2009217611.tif 000019
【図１０】
2009217611.tif 000020
【図１１Ａ】
2009217611.tif 000021
【図１１Ｂ】
2009217611.tif 000022
【図１２】
2009217611.tif 000023
【図１３】
2009217611.tif 000024
【図１４Ａ】
2009217611.tif 000025
【図１４Ｂ】
2009217611.tif 000026
【図１４Ｃ】
2009217611.tif 000027
【図１５】
2009217611.tif 000028