(57)【要約】【課題】情報利得に基づいて質問文を選択し、ユーザと対話的に検索を進行させる場合、検索結果に至るまでの質問文の絞り込みをできる限り早くするプログラム等を提供する。【解決手段】コンテンツ蓄積手段を用いて、回答文に含まれる単語を検索キーとして、コンテンツ集合Ｓを検索するコンテンツ検索手段と、コンテンツ集合Ｓに対するカテゴリa毎の情報利得ＩＧ(a)を算出する情報利得算出手段と、コンテンツ集合Ｓの中で、ユーザに任意に複数のコンテンツを選択させるコンテンツ選択手段と、ユーザによって選択された複数のコンテンツに対するカテゴリa毎の選択確率Ｐ(a)を算出する選択確率算出手段と、カテゴリa毎に、情報利得ＩＧ(a)に選択確率Ｐ(a)を重み付けした更新情報利得を算出する更新情報利得算出手段としてコンピュータを機能させる。そして、対話進行インタフェース手段は、更新情報利得が最も高いカテゴリに基づく質問文をユーザに明示する。【選択図】図３
2015069608.tif 000002
【特許請求の範囲】
【請求項１】
ユーザと対話的に検索を進行させるようにコンピュータを機能させる対話検索プログラムであって、
検索対象となる多数のコンテンツを蓄積すると共に、各コンテンツに１つ以上のカテゴリを付与して記憶するコンテンツ蓄積手段と、
ユーザに対して前記カテゴリに基づく質問文を明示し、その回答文を取得する対話進行インタフェース手段と、
前記コンテンツ蓄積手段を用いて、前記回答文に含まれる単語を検索キーとして、コンテンツ集合Ｓを検索するコンテンツ検索手段と、
前記コンテンツ集合Ｓに対する前記カテゴリa毎の情報利得ＩＧ(a)を算出する情報利得算出手段と、
前記コンテンツ集合Ｓの中で、ユーザに任意に複数のコンテンツを選択させるコンテンツ選択手段と、
ユーザによって選択された複数のコンテンツに対する前記カテゴリa毎の選択確率Ｐ(a)を算出する選択確率算出手段と、
前記カテゴリa毎に、前記情報利得ＩＧ(a)に前記選択確率Ｐ(a)を重み付けした更新情報利得ＰＩＧ(a)を算出する更新情報利得算出手段と
してコンピュータを機能させ、
前記対話進行インタフェース手段は、前記更新情報利得が最も高いカテゴリに基づく質問文をユーザに明示する
ようにコンピュータを機能させることを特徴とする対話検索プログラム。
【請求項２】
前記更新情報利得算出手段は、以下の式によって更新情報利得を算出する
ＰＩＧ(a)＝ＩＧ(a)×Ｐ(a)＋Δｒ  （Δｒ＝0〜0.001の乱数）
ようにコンピュータを機能させることを特徴とする請求項１に記載の対話検索プログラム。
【請求項３】
前記更新情報利得算出手段は、以下の式によって更新情報利得を算出する
Ｂ＝ｂ-P(a)    （ｂ：１より大きい自然数）
ＰＩＧ(a)＝ＩＧ(a)Ｂ
ようにコンピュータを機能させることを特徴とする請求項１に記載の対話検索プログラム。
【請求項４】
前記情報利得算出手段について、前記情報利得ＩＧ(a)は、Iterative Dichotomiser 3に基づくものであって、以下の式によって算出される
ＩＧ(a)＝Ｈ(Ｓ)−Σt∈Tｐ(t)Ｈ(t)
Ｈ(Ｓ)＝−Σx∈Tｐ(x)log2ｐ(x)
Ｈ(Ｓ)：コンテンツ集合Ｓの平均情報量
ｐ(x)：コンテンツ集合Ｓ全てが、カテゴリxに属するコンテンツとなる割合
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載の対話検索プログラム。
【請求項５】
前記選択確率Ｐ(a)は、利用者の利用履歴から算出したカテゴリaに対する利用者の嗜好確率ｇ(a)を事前確率とし、最大事後確率推定（ＭＡＰ(Maximum a posteriori) estimation）に基づいて算出する
ようにコンピュータを機能させることを特徴とする請求項１から４のいずれか１項に記載の対話検索プログラム。
【請求項６】
前記コンテンツ蓄積手段は、多数のコンテンツをカテゴリに分類するために、機械学習ライブラリを用いたオンライン学習法(Confidence-weighted linear classification)を用いる
ようにコンピュータを機能させることを特徴とする請求項１から５のいずれか１項に記載の対話検索プログラム。
【請求項７】
ユーザ操作に基づく端末との間で、対話的にシナリオを進行する対話検索サーバであって、
検索対象となる多数のコンテンツを蓄積すると共に、各コンテンツに１つ以上のカテゴリを付与して記憶するコンテンツ蓄積手段と、
前記に対して前記カテゴリに基づく質問文を送信し、その回答文を受信する対話進行インタフェース手段と、
前記コンテンツ蓄積手段を用いて、前記回答文に含まれる単語を検索キーとして、コンテンツ集合Ｓを検索するコンテンツ検索手段と、
前記コンテンツ集合Ｓに対する前記カテゴリa毎の情報利得ＩＧ(a)を算出する情報利得算出手段と、
前記コンテンツ集合Ｓの中で、ユーザに任意に複数のコンテンツを選択させるコンテンツ選択手段と、
ユーザによって選択された複数のコンテンツに対する前記カテゴリa毎の選択確率Ｐ(a)を算出する選択確率算出手段と、
前記カテゴリa毎に、前記情報利得ＩＧ(a)に前記選択確率Ｐ(a)を重み付けした更新情報利得を算出する更新情報利得算出手段と
を有し、
前記対話進行インタフェース手段は、前記更新情報利得が最も高いカテゴリに基づく質問文を、前記端末へ送信する
ことを特徴とする対話検索サーバ。
【請求項８】
装置を用いて、ユーザと対話的にシナリオを進行する対話方法であって、
前記装置は、検索対象となる多数のコンテンツを蓄積すると共に、各コンテンツに１つ以上のカテゴリを付与して記憶するコンテンツ蓄積部を有し、
ユーザに対して前記カテゴリに基づく質問文を明示し、その回答文を取得する第１のステップと、
前記コンテンツ蓄積部を用いて、前記回答文に含まれる単語を検索キーとして、コンテンツ集合Ｓを検索する第２のステップと、
明示された前記コンテンツ集合に対する前記カテゴリ毎の情報利得ＩＧ(Ａ)を算出する第３のステップと、
前記コンテンツ集合の中で、ユーザに任意に複数のコンテンツを選択させる第４のステップと、
ユーザによって選択された複数のコンテンツに対する前記カテゴリ毎の選択確率Ｐ(a)を算出する第５のステップと、
前記カテゴリ毎に、前記情報利得に前記選択確率を重み付けした更新情報利得を算出する第６のステップと、
前記更新情報利得が最も高いカテゴリに基づく質問文をユーザに明示する第７のステップと
を有することを特徴とする対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザと対話的に検索を進行させるプログラムの技術に関する。
【背景技術】
【０００２】
人間に対して自然な対話を実現した対話システムが、特にスマートフォンやタブレット端末を用いて一般的に普及しつつある。その中でも、対話シナリオに従ってユーザとの間で交互に対話を進行させることによって、ユーザが必要とするであろうコンテンツを検索する技術がある。
【０００３】
従来、回答者の心理状態に基づいて次の質問文を選択し、質問パターンの固定化を防止する対話型遊技装置の技術がある（例えば特許文献１参照）。この技術によれば、多数の複数の質問文を、その質問文の選択基準と共に記録したデータベースを有する。その上で、質問文に対する回答者の音声から、その回答者の心理状態を分析し、その心理状態と質問文の選択基準とを対照し、データベースから質問文を選択する。その質問文は、質問者にガイダンスとして提供される。即ち、この技術によれば、質問文の順番は、固定されたものではなく、ユーザの心理状態に合わせて変更される。
【０００４】
また、ユーザ自身が明確なクエリ（質問文）を持っていない場合であっても対話を進行させ、ユーザの目的とするであろうコンテンツを検索する技術がある（例えば非特許文献１参照）。この技術によれば、例えばレシピの検索の用途について、システムが、レシピに関する質問文をユーザへ提示し、そのユーザに「はい／いいえ」と回答させて、検索候補を絞り込んでいく。レシピデータの分類に応じて、大量の質問文がデータベースに記憶されている。そして、システムは、検索候補のレシピ集合の中で、情報利得(Information gain)が最も大きい質問文を選択する。これによって、目標とすべき検索結果に至るまでの質問文の絞り込みを早くする（質問の回数を少なくする）ことができる。
【０００５】
図１は、従来技術における対話検索プログラムの処理を表す説明図である。
【０００６】
図１によれば、ユーザとの対話によって、レシピコンテンツを検索する場合を想定している。
（Ｓ１）システムが、ユーザへ「何の材料を使いますか？」と質問したとする。
（Ｓ２）これに対し、ユーザが、「豚肉とキャベツがいい」と回答したとする。このとき、ユーザにとっては、「ヘルシー」なダイエット料理を所望していたかもしれない。
（Ｓ３）システムとしては、回答文に含まれる「豚肉」「キャベツ」を検索キーとして、データベースからレシピのコンテンツ集合Ｓを検索する。そのコンテンツ集合Ｓの中から、カテゴリａに関するコンテンツ集合Ｓa毎に、情報利得(information gain)が算出される。
中華料理に関するコンテンツ集合Ｓa      ：情報利得＝0.60
パーティに関するコンテンツ集合Ｓa      ：情報利得＝0.56
電子レンジに関するコンテンツ集合Ｓa    ：情報利得＝0.53
ヘルシーな料理に関するコンテンツ集合Ｓa：情報利得＝0.50
（Ｓ４）情報利得＝0.60となる「中華料理に関するコンテンツ集合」が選択される。そこで、システムは、回答者に対して「中華料理ですか？」を質問することとなる。
【０００７】
この技術によれば、「情報利得」が最も高い質問文が選択される。情報利得とは、例えば決定木アルゴリズムＩＤ３(Iterative Dichotomiser 3)で特徴選択に用いられる特徴の良さの規準をいう。ＩＤ３は、汎用目的で設計された教師あり学習アルゴリズムの一種である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−１７７６４７号公報
【非特許文献】
【０００９】
【非特許文献１】XU Xin、KATO Tsuneo、KDDIRD Lab.、「Interactive Recipe Search Interface usingSpoken Dialogue Agent for Tablet Devices」、電子情報通信学会技術研究報告、113号、73(HIP2013 1-31)、pp.191-193
【非特許文献２】ＩＤ３、[online]、［平成２５年９月７日検索］、インターネット＜URL:http://ja.wikipedia.org/wiki/ID3＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、図１によれば、回答者は、実は「ヘルシー」なダイエット料理を所望していたにも拘わらず、中華料理であるか否かの質問を受けることとなる。ここで、回答者自身がどのようなレシピ内容に気になっているかを全く考慮しておらず、単に情報利得のみで次の質問文を判断していることが問題ではないか？と、本願の発明者らは考えた。
【００１１】
そこで、本発明は、情報利得に基づいて質問文を選択することによって、ユーザと対話的に検索を進行させる場合、目標とすべき検索結果に至るまでの質問文の絞り込みをできる限り早くするプログラム、サーバ及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によれば、ユーザと対話的に検索を進行させるようにコンピュータを機能させる対話検索プログラムであって、
検索対象となる多数のコンテンツを蓄積すると共に、各コンテンツに１つ以上のカテゴリを付与して記憶するコンテンツ蓄積手段と、
ユーザに対してカテゴリに基づく質問文を明示し、その回答文を取得する対話進行インタフェース手段と、
コンテンツ蓄積手段を用いて、回答文に含まれる単語を検索キーとして、コンテンツ集合Ｓを検索するコンテンツ検索手段と、
コンテンツ集合Ｓに対するカテゴリa毎の情報利得ＩＧ(a)を算出する情報利得算出手段と、
コンテンツ集合Ｓの中で、ユーザに任意に複数のコンテンツを選択させるコンテンツ選択手段と、
ユーザによって選択された複数のコンテンツに対するカテゴリa毎の選択確率Ｐ(a)を算出する選択確率算出手段と、
カテゴリa毎に、情報利得ＩＧ(a)に選択確率Ｐ(a)を重み付けした更新情報利得ＰＩＧ(a)を算出する更新情報利得算出手段と
してコンピュータを機能させ、
対話進行インタフェース手段は、更新情報利得が最も高いカテゴリに基づく質問文をユーザに明示する
ようにコンピュータを機能させることを特徴とする。
【００１３】
本発明の対話検索プログラムにおける他の実施形態によれば、
更新情報利得算出手段は、以下の式によって更新情報利得を算出する
ＰＩＧ(a)＝ＩＧ(a)×Ｐ(a)＋Δｒ  （Δｒ＝0〜0.001の乱数）
ようにコンピュータを機能させることも好ましい。
【００１４】
本発明の対話検索プログラムにおける他の実施形態によれば、
更新情報利得算出手段は、以下の式によって更新情報利得を算出する
Ｂ＝ｂ-P(a)    （ｂ：１より大きい自然数）
ＰＩＧ(a)＝ＩＧ(a)Ｂ
ようにコンピュータを機能させることも好ましい。
【００１５】
本発明の対話検索プログラムにおける他の実施形態によれば、
情報利得算出手段について、情報利得ＩＧ(a)は、Iterative Dichotomiser 3に基づくものであって、以下の式によって算出される
ＩＧ(a)＝Ｈ(Ｓ)−Σt∈Tｐ(t)Ｈ(t)
Ｈ(Ｓ)＝−Σx∈Tｐ(x)log2ｐ(x)
Ｈ(Ｓ)：コンテンツ集合Ｓの平均情報量
ｐ(x)：コンテンツ集合Ｓ全てが、カテゴリxに属するコンテンツとなる割合
ようにコンピュータを機能させることも好ましい。
【００１６】
本発明の対話検索プログラムにおける他の実施形態によれば、
選択確率Ｐ(a)は、利用者の利用履歴から算出したカテゴリaに対する利用者の嗜好確率ｇ(a)を事前確率とし、最大事後確率推定（ＭＡＰ(Maximum a posteriori) estimation）に基づいて算出する
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明の対話検索プログラムにおける他の実施形態によれば、
コンテンツ蓄積手段は、多数のコンテンツをカテゴリに分類するために、機械学習ライブラリを用いたオンライン学習法(Confidence-weighted linear classification)を用いる
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明によれば、ユーザ操作に基づく端末との間で、対話的にシナリオを進行する対話検索サーバであって、
検索対象となる多数のコンテンツを蓄積すると共に、各コンテンツに１つ以上のカテゴリを付与して記憶するコンテンツ蓄積手段と、
に対してカテゴリに基づく質問文を送信し、その回答文を受信する対話進行インタフェース手段と、
コンテンツ蓄積手段を用いて、回答文に含まれる単語を検索キーとして、コンテンツ集合Ｓを検索するコンテンツ検索手段と、
コンテンツ集合Ｓに対するカテゴリa毎の情報利得ＩＧ(a)を算出する情報利得算出手段と、
コンテンツ集合Ｓの中で、ユーザに任意に複数のコンテンツを選択させるコンテンツ選択手段と、
ユーザによって選択された複数のコンテンツに対するカテゴリa毎の選択確率Ｐ(a)を算出する選択確率算出手段と、
カテゴリa毎に、情報利得ＩＧ(a)に選択確率Ｐ(a)を重み付けした更新情報利得を算出する更新情報利得算出手段と
を有し、
対話進行インタフェース手段は、更新情報利得が最も高いカテゴリに基づく質問文を、端末へ送信する
ことを特徴とする。
【００１９】
本発明によれば、装置を用いて、ユーザと対話的にシナリオを進行する対話方法であって、
装置は、検索対象となる多数のコンテンツを蓄積すると共に、各コンテンツに１つ以上のカテゴリを付与して記憶するコンテンツ蓄積部を有し、
ユーザに対してカテゴリに基づく質問文を明示し、その回答文を取得する第１のステップと、
コンテンツ蓄積部を用いて、回答文に含まれる単語を検索キーとして、コンテンツ集合Ｓを検索する第２のステップと、
明示されたコンテンツ集合に対するカテゴリ毎の情報利得ＩＧ(Ａ)を算出する第３のステップと、
コンテンツ集合の中で、ユーザに任意に複数のコンテンツを選択させる第４のステップと、
ユーザによって選択された複数のコンテンツに対するカテゴリ毎の選択確率Ｐ(a)を算出する第５のステップと、
カテゴリ毎に、情報利得に選択確率を重み付けした更新情報利得を算出する第６のステップと、
更新情報利得が最も高いカテゴリに基づく質問文をユーザに明示する第７のステップと
を有することを特徴とする。
【発明の効果】
【００２０】
本発明のプログラム、サーバ及び方法によれば、情報利得に基づいて質問文を選択することによって、ユーザと対話的に検索を進行させる場合、目標とすべき検索結果に至るまでの質問文の絞り込みをできる限り早くすることができる。
【図面の簡単な説明】
【００２１】
【図１】従来技術における対話検索プログラムの処理を表す説明図である。
【図２】本発明における対話検索プログラムの機能構成図である。
【図３】本発明における対話検索プログラムの具体的な処理を表す説明図である。
【図４】端末に表示されたユーザインタフェースの画面である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２３】
図２は、本発明における対話検索プログラムの機能構成図である。
【００２４】
図２によれば、ユーザと対話的に検索を進行させる対話検索プログラム１は、端末と通信するサーバ側にインストールされて実行されている。ユーザは、スマートフォンやタブレットような端末を用いて、ネットワークを介して当該サーバへアクセスする。勿論、対話検索プログラム１が、端末自体のような単体装置内にのみにインストールされたものであってもよい。
【００２５】
対話検索プログラム１に対するユーザインタフェースとしての端末２は、ユーザに対する入力デバイス及び出力デバイスを有する。ユーザが回答を発声した場合、マイクで取得された音声信号は、音声認識によってテキストに変換され、そのテキストが対話検索プログラム１へ入力される。また、対話検索プログラム１から出力された質問文は、音声合成によって音声信号に変換され、その音声信号がスピーカから発声される。また、端末２は、タッチパネルディスプレイを搭載し、ユーザに複数のコンテンツを表示すると共に、それらコンテンツを選択させることができる。
【００２６】
図２によれば、対話検索プログラム１は、コンテンツ蓄積部１０と、対話進行インタフェース部１１と、コンテンツ検索部１２と、情報利得算出部１３と、コンテンツ選択部１４と、選択確率算出部１５と、更新情報利得算出部１６とを有する。対話検索プログラム１を、装置に搭載されたコンピュータによって実行させることによって、サーバ及び単体装置として機能する。また、これら機能構成部の処理の流れは、対話検索方法としても理解できる。
【００２７】
図３は、本発明における対話検索プログラムの具体的な処理を表す説明図である。
【００２８】
図３によれば、図１と比較して、Ｓ３（Ｓ３１〜Ｓ３５）における質問文の選択方法が異なる。図３のＳ１及びＳ２は、図１と同様である。Ｓ３の処理は、コンテンツ検索部１２と、情報利得算出部１３と、コンテンツ選択部１４と、選択確率算出部１５と、更新情報利得算出部１６とによって実行される。
【００２９】
図４は、端末に表示されたユーザインタフェースの画面である。
【００３０】
図４によれば、端末２のタッチパネルディスプレイが表示されている。そのディスプレイには、「キャラクタ・エージェント」が表示されており、ユーザとエージェントとの間で音声による対話を進めるものであってもよい。勿論、本発明は、音声対話に限定されるものではなく、テキスト対話であってもよい。
【００３１】
図１と同様に、ディスプレイに表示されたユーザエージェントが、「何の材料を使いますか？」（Ｓ１）をユーザへ質問する。ユーザは、「豚肉とキャベツがいい」（Ｓ２）と、端末２へ発声したとする。
【００３２】
［コンテンツ蓄積部１０］
コンテンツ蓄積部１０は、検索対象となる多数のコンテンツを蓄積すると共に、各コンテンツに１つ以上の「カテゴリ」を付与して記憶する。例えば、検索対象コンテンツが、レシピであるとする。この場合、以下のように、コンテンツ毎にカテゴリが付与されている。
＜コンテンツ名＞                        ＜カテゴリ＞
「ヘルシー★ピーマンの肉詰め」        ->（ヘルシー）（肉料理）
「豪華・中華料理」                    ->（中華）（パーティ）
「キャベツサラダ」                    ->（サラダ）（イタリアン）
「豚肉を使った男の３分クッキング」    ->（肉料理）（電子レンジ）
「低カロおかず＊わけぎとコンニャクのぬた」->（ヘルシー）（和食）
「砂糖なし！電子レンジで基本に筑前煮」->（ヘルシー）（電子レンジ）（和食）
「キャベツの入った麺料理」            ->（麺料理）（和食）
【００３３】
コンテンツ蓄積部１０は、多数のコンテンツをカテゴリに分類するために、機械学習ライブラリを用いたオンライン学習法(Confidence-weighted linear classification)を用いることも好ましい。ベクトル特徴に、bag-of-wordsモデルを用い、特徴量に、名詞及び形容詞のＴＦ−ＩＤＦ値を用いる。前述の例によれば、個々のレシピがどのカテゴリに属するか、を分類することができる。
【００３４】
［対話進行インタフェース部１１］
対話進行インタフェース部１１は、ユーザに対してカテゴリに基づく質問文を明示し、その回答文を取得する。対話進行インタフェース部１１は、動的又は静的な対話シナリオを用いて、ユーザの回答文に応じて質問文を選択し、対話を進行させる。ここで、対話進行インタフェース部１１は、制御ロジックに基づいて対話シナリオを進行させるものであるが、「情報利得」が最も高いカテゴリに基づく質問文をユーザに明示する。その情報利得としては、更新情報利得算出部１６から出力されたカテゴリ毎の更新情報利得を用いる。即ち、本発明の対話検索プログラムによれば、既存の対話進行インタフェース部１１が、更新情報利得算出部１６から出力された更新情報利得を用いることに特徴がある。
【００３５】
［コンテンツ検索部１２］
コンテンツ検索部１２は、コンテンツ蓄積部１０を用いて、回答文に含まれる単語を検索キーとして、コンテンツ集合Ｓを検索する。尚、コンテンツ集合Ｓは、Confidence-weighted linear classification（ＣＷ）ベクトル特徴の特徴量を、bag-of-wordsモデルを用いて検索されるものであってもよい。特徴量としては、名詞及び形容詞のＴＦ−ＩＤＦ値を用いる。
【００３６】
（Ｓ３１）図１のＳ３と同様に、単に、回答文に含まれる「豚肉」「キャベツ」を検索キーとして、コンテンツ蓄積部１０からレシピのコンテンツ集合Ｓが検索される。そのコンテンツ集合Ｓの中から、カテゴリａに関するコンテンツ集合Ｓaを導出することができる。多数のコンテンツ集合Ｓaの中で、図３によれば、例えば以下の４つのコンテンツ集合Ｓaが表されている。
中華料理に関するコンテンツ集合Ｓa
パーティに関するコンテンツ集合Ｓa
電子レンジに関するコンテンツ集合Ｓa
ヘルシーな料理に関するコンテンツ集合Ｓa
【００３７】
［情報利得算出部１３］
情報利得算出部１３は、コンテンツ集合Ｓに対するカテゴリa毎の情報利得ＩＧ(a)を算出する。情報利得算出部１３について、情報利得ＩＧ(a)は、ＩＤ３に基づくものであって、以下の式によって算出される。
ＩＧ(a)＝Ｈ(Ｓ)−Σt∈Tｐ(t)Ｈ(t)
Ｈ(Ｓ)＝−Σx∈Tｐ(x)log2ｐ(x)
Ｈ(Ｓ)：コンテンツ集合Ｓの平均情報量
ｐ(x)：コンテンツ集合Ｓ全てが、カテゴリxに属するコンテンツとなる割合
【００３８】
図３のＳ３１によれば、図１のＳ３と同様に、各コンテンツ集合Ｓaについて以下のように情報利得ＩＧ(a)が算出されたとする。以下のように情報利得ＩＧ(a)の高い順に、上位４つのコンテンツの集合Ｓaが表されている。
中華料理に関するコンテンツ集合Ｓa      ：情報利得＝0.60
パーティに関するコンテンツ集合Ｓa      ：情報利得＝0.56
電子レンジに関するコンテンツ集合Ｓa    ：情報利得＝0.53
ヘルシーな料理に関するコンテンツ集合Ｓa：情報利得＝0.50
【００３９】
［コンテンツ選択部１４］
コンテンツ選択部１４は、コンテンツ集合Ｓaの中で、ユーザに任意に複数のコンテンツを選択させる。本発明によれば、情報利得算出部１３によって得られたコンテンツ集合Ｓa毎の情報利得をそのまま利用することなく、一度、ユーザにコンテンツを選択させる。
【００４０】
（Ｓ３２）図３及び図４によれば、以下のように、Ｓ３１によって選択されたコンテンツ集合Ｓに含まれるコンテンツ名のいくつかが、端末２にリスト状に表示される。ここでは、特定のコンテンツ集合Ｓに偏ることなく、全てのコンテンツ集合から平均的に選択されることが好ましい。
「ヘルシー★ピーマンの肉詰め」
「豪華・中華料理」
「キャベツサラダ」
「豚肉を使った男の３分クッキング」
「低カロおかず＊わけぎとコンニャクのぬた」
「砂糖なし！電子レンジで基本に筑前煮」
「キャベツの入った麺料理」
【００４１】
ここで、図４によれば、ユーザは、所望の複数のコンテンツを選択する。例えば以下の３つのコンテンツを選択したとする。
「ヘルシー★ピーマンの肉詰め」
「低カロおかず＊わけぎとコンニャクのぬた」
「砂糖なし！電子レンジで基本に筑前煮」
【００４２】
［選択確率算出部１５］
選択確率算出部１５は、ユーザによって選択された複数のコンテンツに対するカテゴリa毎の選択確率Ｐ(a)を算出する。
【００４３】
（Ｓ３３）選択された各コンテンツから「カテゴリ」が抽出される。図４によれば、以下のようなカテゴリが抽出される。
「ヘルシー★ピーマンの肉詰め」        ->（ヘルシー）（肉料理）
「低カロおかず＊わけぎとコンニャクのぬた」->（ヘルシー）（和食）
「砂糖なし！電子レンジで基本に筑前煮」->（ヘルシー）（電子レンジ）（和食）
【００４４】
（Ｓ３４）次に、カテゴリａ毎の選択確率Ｐ(a)が算出される。選択確率Ｐ(a)は、カテゴリａ毎に、その出現回数を、選択されたコンテンツ全数で除算したものである。
ｐ（中華）      ＝０／３＝０
ｐ（パーティ）  ＝０／３＝０
ｐ（電子レンジ）＝１／３＝０．３３３
ｐ（ヘルシー）  ＝３／３＝１
【００４５】
［更新情報利得算出部１６］
更新情報利得算出部１６は、カテゴリa毎に、情報利得ＩＧ(a)に選択確率Ｐ(a)を重み付けした更新情報利得ＰＩＧ(a)を算出する。重み付けとしては、例えば以下の２つの算出方法がある。
（更新情報利得算出方法１）
ＰＩＧ(a)＝ＩＧ(a)×Ｐ(a)＋Δｒ  （Δｒ＝0〜0.001の乱数）
（更新情報利得算出方法２）
Ｂ＝ｂ-P(a)  （ｂ：１より大きい自然数）
ＰＩＧ(a)＝ＩＧ(a)Ｂ
【００４６】
（Ｓ３５）図３によれば、例えば前述した更新情報利得算出方法１（Δｒ＝0.001）によって、以下のように更新情報利得が算出される。
「中華料理ですか？」        ：情報利得0.60×重み0＋0.001＝0.001
「パーティの料理ですか？」  ：情報利得0.56×重み0＋0.001＝0.001
「電子レンジを使いますか？」：情報利得0.53×重み0.333＋0.001＝0.177
「ヘルシーな料理ですか？」  ：情報利得0.50×重み1＋0.001＝0.5
結果的に、各カテゴリについて最も更新情報利得が高い質問文は、「ヘルシーな料理ですか？」となる。
【００４７】
尚、選択確率Ｐ(a)は、利用者の利用履歴（検索した、又は保存したレシピ内容）から算出したカテゴリaに対する利用者の嗜好確率ｇ(a)を事前確率とし、最大事後確率推定（ＭＡＰ(Maximum a posteriori) estimation）に基づいて算出する。ＭＡＰ推定によれば、条件付分布のモデルＰ(Ｘ|a)（Ｘ：訓練サンプル集合）と、パラメータの事前分布ｇ(a)とが与えられた場合、ベイズの定理によって、パラメータの事後分布は以下のように算出される。
ＭＡＰ＝arg max Ｐ(a)＝arg maxＰ(Ｘ/a)・ｇ(a)
Ｘ：ユーザが選択した各カテゴリのコンテンツの回数
Ｐ(Ｘ/a)：前述した選択確率Ｐ(a)と同様の計算方法
ｇ(a)：検索されたカテゴリaの回数／検索されたレシピの回数
【００４８】
以上、詳細に説明したように、本発明のプログラム、サーバ及び方法によれば、情報利得に基づいて質問文を選択することによって、ユーザと対話的に検索を進行させる場合、目標とすべき検索結果に至るまでの質問文の絞り込みをできる限り早くすることができる。
【００４９】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５０】
１  対話検索プログラム
１０  コンテンツ蓄積部
１１  対話進行インタフェース部
１２  コンテンツ検索部
１３  情報利得算出部
１４  コンテンツ選択部
１５  選択確率算出部
１６  更新情報利得算出部
２  端末
【図１】
2015069608.tif 000003
【図２】
2015069608.tif 000004
【図３】
2015069608.tif 000005
【図４】
2015069608.tif 000006