(57)【要約】【課題】ユーザにアドバイス、提案、勧告等を提供するエージェントシステム、エージェント制御方法。【解決手段】プロセッサが、複数のユーザから取得した複数の質問回答データをデータベースに記憶し、前記質問回答データは、各質問に関連付けてインデックス指定され、各勧告に関連付けてインデックス指定されるように構成され、第１基準に従って、複数の勧告から勧告候補集合を特定するステップと、所定の条件を満たすと判定するまで、サブメソッドを繰り返し実行し、前記サブメソッドは、第２基準に基づいてデータベースから質問を選択するステップと、前記選択した質問に対するユーザからの回答を取得するステップと、前記回答に基づいて全ての勧告の確率を更新するステップと、前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、を含み、所定の条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力する。【選択図】図１
2015049578.tif 000002
【特許請求の範囲】
【請求項１】
自動化されたシステムが、ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供する方法であって、前記方法は、
プロセッサが、先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するものであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成され、
プロセッサが予め定義された第１基準に従って、複数の勧告から勧告候補集合を特定するステップと、
プロセッサが、予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するものであって、前記サブメソッドは、
プロセッサが予め定義された第２基準に基づいて前記データベースから質問を選択するステップと、
プロセッサが前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
プロセッサが、前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含み、
プロセッサは、予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力すること、と
を含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、プロセッサが、前記ユーザからの回答に基づいて前記全ての勧告の確率を更新するステップは、ベイズ推定を含むことを特徴とする方法。
【請求項３】
請求項１又は２に記載の方法において、前記サブメソッドは、さらに、プロセッサが、前記ユーザからの回答に基づいて、前記質問回答データを更新するステップを含むことを特徴とする方法。
【請求項４】
請求項１から３のいずれかの請求項に記載の方法において、前記予め定義された条件は、１番目の勧告候補の確率が２番目の勧告候補の確率の予め定めた整数倍以上となることを含むことを特徴とする方法。
【請求項５】
請求項１から４のいずれかの請求項に記載の方法において、前記予め定義された第１基準は、前記勧告候補集合が、勧告の確率の大きい順番に累積的に加算し、累積和が総累積数の予め定めた割合になるまでの勧告からなる集合であることを特徴とする方法。
【請求項６】
請求項１から５のいずれかの請求項に記載の方法において、前記予め定義された第２基準は、前記選択される質問が、前記勧告候補集合における回答の不偏分散又は分散が最も大きな値となることを特徴とする方法。
【請求項７】
請求項１から６のいずれかの請求項に記載の方法において、前記予め定義された第２基準は、前記勧告候補集合における回答データの不偏分散又は分散が最も大きな値となる質問が複数個存在した場合、前記選択される勧告が、前記勧告候補集合における回答の不偏分散又は分散と全ての勧告集合における回答の不偏分散又は分散との比率が最も大きな値となることを特徴とする方法。
【請求項８】
自動化されたシステムが、ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するシステムであって、前記システムは、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶する手段であって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される、前記記憶する手段と
予め定義された第１基準に従って、複数の勧告から勧告候補集合を特定する手段と、
予め定義された条件を満たすと判定するまで、複数の手段を繰り返し実行する手段であって、前記複数の手段は、
予め定義された第２基準に基づいて前記データベースから質問を選択する手段と、
前記質問を選択する手段で選択した質問に対するユーザからの回答を取得する手段と、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新する手段と、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新する手段と、
を含み、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力する手段、と
を含むことを特徴とするシステム。
【請求項９】
ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するために、コンピュータに、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第１基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第２基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラム。
【請求項１０】
ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するために、コンピュータに、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第１基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第２基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、個々のユーザに適切なアドバイス、提案、勧告等（以下、総称して「アイテム」という）を提供するために、自然言語による「はい／いいえ」形式の質問をユーザに提示し、ユーザからの回答に基づいて、当該ユーザにとって統計的観点から最も意味があり、かつ有効な次の質問を選択し、ユーザとのインタラクティブな知的な会話を繰り返すことで、個々のユーザの事情に適した、適切なアイテムを提供するエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
従来より、予めバイナリツリー形式のＹｅｓ／Ｎｏ形式の質問の集合、すなわち、各質問の回答に応じて次の質問が静的に対応付けられたバイナリツリー形式で質問集合を構成し、バイナリツリーのリーフに所定のアイテムを用意しておく方法が知られている。そして、ユーザに対して、バイナリツリーに従って、質問をして、Ｙｅｓ又はＮｏの回答に応じて次の質問をする二分割法によるインタフェイスを通じて、ユーザに対して適切なアイテムを推薦することが行われている。
二分割法においては、「あなたは、普段から座りがちの傾向がありますか？」との質問に対する、Ｎｏの回答に対応して、次の質問「あなたは、運動することができますか？」をするといった具合に、包括的な回答が得られるまで、バイナリツリーで対応付けられた質問の順番に従って質問を続けることとなる。
二分割法によるアプローチの場合、ユーザの事情に基づいた適切なアイテムを知るためには、多くの質問事項が必要となることは容易に想像できる。しかしながら、色々な事情を考慮して多くの質問事項を用意して、それらを予め静的に関連付ける場合、ユーザ側からすると、これまでの質問と回答からの文脈から外れた質問がなされることも発生し、不自然な会話になることが予想される。例えば、飲み物の会話に続いて、どのようなジャンルの本が好きか、といった質問がなされると、ユーザは、当惑するに違いない。
【０００３】
このように、バイナリツリー形式の場合、ユーザからのＹｅｓ／Ｎｏの回答に対して、次の質問が固定的に関連付けられているため、多くの質問をユーザに対して投げる必要があり、それが原因で、ユーザにとっては質問が退屈であったり、的外れで、時間を浪費するという問題点があった。
その結果、ユーザのユーザエクスペリエンスを損ない、ユーザロイヤリティを低くする問題点があった。
また、バイナリツリー形式の場合、新たな質問や新たなアイテムの挿入や、既存の質問及びアイテムの修正といったメンテナンスが困難となる課題があった。すなわち、バイナリツリー形式の場合、新たなアイテムや新たな質問の追加又は既存の質問やアイテムの変更に際して、バイナリツリー全体の構成を設定しなおす必要があり、システム管理者にとっては、大きな負担となっていた。
また、多くのユーザの利用履歴データを、バイナリツリー構成に柔軟に反映させることも困難であり、ユーザの利用履歴データにより柔軟にフィードバックできないという課題もあった。
【０００４】
また、以下の特許文献１−５には、ユーザと自然な会話を行うために、ステートメント−レスポンスデータベースを備えたレスポンスエンジンにより、質問とマッチするレスポンスをサーチする技術、新しい診断ケースに対してデータベースに格納された過去の診断ケースとの類似度を計算することで新しい診断ケースの対応策を選択する技術、機械の診断システムにおいて、故障検出器で分析した特徴値から、データベースに格納された、特徴値や重み付けを有する過去の練達されたデータに基づいて、故障の候補を選択する技術、マハラノビス汎距離を用いた類似尺度により、ベイズの推定を用いて、患者がどのクラスターに属するかを示す確率を計算する技術等が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７７８３４８６号明細書
【特許文献２】露国特許出願公開第２０１０１４９７７９号明細書
【特許文献３】米国特許第７２０６９６５号明細書
【特許文献４】米国特許第６４４２５４２号明細書
【特許文献５】欧州特許出願公開第２２７４６９９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このような状況において、バイナリツリー形式のように質問を静的に関連付けておくのではなく、例えば、ユーザのそれまでの回答に基づいて、ユーザにとって最も意味があり、かつ有効な次の質問を動的に適切に選択することができる新たなシステムが望まれている。
また、余分な質問を数多く必要とせず、ユーザに対して、それまでの質問と回答の文脈に沿った自然な質問を発することで、より早く効率的にアイテムを提供できるシステムが望まれている。
また、ユーザのユーザエクスペリエンスをより良くするとともに、ユーザロイヤリティを高めるうえでいい影響を与えることが望まれている。
また新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正といったメンテナンスを柔軟にできるデータ構造が望まれている。
また、多くのユーザの利用履歴データを集めて利用することにより、システムを自立的に発展させることで、より改善されるシステムが望まれている。
なお、上記特許文献１−５に記載された技術は、上記課題を解決するものではない。
【０００７】
本発明は、このような課題に鑑みてなされたものであり、ユーザとそれまでの質問と回答の文脈に沿って自動化されたインタラクティブな自然な会話を実現するためのエージェントシステムを提供することを目的とする。
さらに、二分割アプローチに比較して、ユーザにとって適切なアイテムをより早くより効率的に選択することができるセッションを実現するためのエージェントシステムを提供することを目的とする。
また、本発明は、新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正等のメンテナンスを柔軟にできるデータ構造を提供することを目的とする。
さらに、多くのユーザが本発明にかかるシステムを利用することによって蓄積される利用履歴データを適切に利用し、フィードバックすることにより、システムを自立的に発展させることを目的とする。
こうすることで、本発明は、例えば、ユーザに対して健康に関連した質問を適切に行うことにより、当該ユーザが健康に生活するうえでの適切な勧告を提供することを目的とする。
また、本発明は、例えばファッションに関する質問とファッションに関する勧告、フードに関する質問とフードに関する勧告、レクリエーションに関する質問とレクリエーションに関する勧告、キャリア形成に関する質問とキャリア形成に関する勧告、教育に関する質問と教育に関する勧告等に適用することを目的とする。
【課題を解決するための手段】
【０００８】
発明者らは、質問及びアイテムの選択に際して、ユーザの利用履歴データやユーザのそれまでの質問に対する回答が得られた状況下で、ベイズ推定を適用することによりアイテムを当該ユーザが正しいとする条件付き確率（事後確率）を算出することで、統計的に意味のある有意義な質問及びアイテムを選択できることを見出し、本発明を完成するに至った。
【０００９】
（１）自動化されたシステムが、ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供する方法であって、前記方法は、
プロセッサが、先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するものであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成され、
プロセッサが予め定義された第１基準に従って、複数の勧告から勧告候補集合を特定するステップと、
プロセッサが、予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するものであって、前記サブメソッドは、
プロセッサが予め定義された第２基準に基づいて前記データベースから質問を選択するステップと、
プロセッサが前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
プロセッサが、前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含み、
プロセッサは、予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力すること、と
を含むことを特徴とする方法。
【００１０】
（２）前記（１）に記載の方法において、プロセッサが、前記ユーザからの回答に基づいて前記全ての勧告の確率を更新するステップは、ベイズ推定を含むことを特徴とする方法。
【００１１】
（３）前記（１）又は（２）に記載の方法において、前記サブメソッドは、さらに、プロセッサが、前記ユーザからの回答に基づいて、前記質問回答データを更新するステップを含むことを特徴とする方法。
【００１２】
（４）前記（１）から（３）のいずれかに記載の方法において、前記予め定義された条件は、１番目の勧告候補の確率が２番目の勧告候補の確率の予め定めた整数倍以上となることを含むことを特徴とする方法。
【００１３】
（５）前記（１）から（４）のいずれかに記載の方法において、前記予め定義された第１基準は、前記勧告候補集合が、勧告の確率の大きい順番に累積的に加算し、累積和が総累積数の予め定めた割合になるまでの勧告からなる集合であることを特徴とする方法。
【００１４】
（６）前記（１）から（５）のいずれかに記載の方法において、前記予め定義された第２基準は、前記選択される質問が、前記勧告候補集合における回答の不偏分散又は分散が最も大きな値となることを特徴とする方法。
【００１５】
（７）前記（１）から（６）のいずれかに記載の方法において、前記予め定義された第２基準は、前記勧告候補集合における回答データの不偏分散が最も大きな値となる質問が複数個存在した場合、前記選択される勧告が、前記勧告候補集合における回答の不偏分散又は分散と全ての勧告集合における回答の不偏分散又は分散との比率が最も大きな値となることを特徴とする方法。
【００１６】
（８）自動化されたシステムが、ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するシステムであって、前記システムは、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶する手段であって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される、前記記憶する手段と
予め定義された第１基準に従って、複数の勧告から勧告候補集合を特定する手段と、
予め定義された条件を満たすと判定するまで、複数の手段を繰り返し実行する手段であって、前記複数の手段は、
予め定義された第２基準に基づいて前記データベースから質問を選択する手段と、
前記質問を選択する手段で選択した質問に対するユーザからの回答を取得する手段と、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新する手段と、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新する手段と、
を含み、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力する手段、と
を含むことを特徴とするシステム。
【００１７】
（９）ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するために、コンピュータに、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第１基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第２基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラム。
【００１８】
（１０）ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するために、コンピュータに、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第１基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第２基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の効果】
【００１９】
本発明によれば、ユーザとそれまでの質問と回答の文脈に沿って自動化されたインタラクティブな自然な会話を提供することで、当該エージェントシステムの利用を通じて得られるユーザ体験、いわゆるユーザエクスペリエンスをより良くするとともに、ユーザロイヤリティを高めることができる。
本発明によれば、標準的な二分割法によるアプローチに比較して、結果的にあまり役に立たない質問を排除し、迅速に収束し、より早く、より効率的にユーザに対する適切な勧告を提供することができる。
本発明によれば、仮にユーザが回答を誤った場合であっても、ユーザは他の質問に対する回答に基づいて正しい回答に自動的に戻ることができる。
本発明によれば、過去のユーザ履歴データを利用することにより、エージェントシステムは自動的に自立的に成長することができる。そうすることで、ユーザに対してより適切なアイテムを提供することができる。
本発明によれば、デシジョンツリーモデルのようにデータの再構築をすることなく、新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正等のメンテナンスを柔軟にできる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係るエージェントシステム２４の概略的な機能ブロック図である。
【図２Ａ】本発明の実施形態に係るアイテムマスタデータベース１０に含まれる質問テーブル３１の概要を示す概念図である。
【図２Ｂ】本発明の実施形態に係るアイテムマスタデータベース１０に含まれるアイテムテーブル３２の概要を示す概念図である。
【図２Ｃ】本発明の実施形態に係るアイテムマスタデータベース１０に含まれるアイテムマスタ３３の概要を示す概念図である。
【図２Ｄ】本発明の実施形態に係るアイテムマスタデータベース１０に含まれるアイテムに対する質問の尤度テーブル３４の概要を示す概念図である。
【図３Ａ】本発明の実施形態に係るユーザ履歴データファイル１１の概要を示す概念図である。
【図３Ｂ】本発明の実施形態に係るアイテム確率ワークテーブル１２の概要を示す概念図である。
【図４】本発明の実施形態に係るエージェントシステム２４の概略的なシステム構成図である。
【図５Ａ】本発明の実施形態に係るクライアント端末２１における質問提示画面の例示図である。
【図５Ｂ】本発明の実施形態に係るクライアント端末２１における質問提示画面の例示図である。
【図５Ｃ】本発明の実施形態に係るクライアント端末２１におけるアイテム提示画面の例示図である。
【図６】本発明の実施形態に係るアイテムマスタデータベースの初期作成処理の概要を示すフローチャート図である。
【図７】本発明の実施形態に係るアイテム候補集合選択部２、質問選択部３、質問提示／回答取得部４、及びアイテム確率更新部５の機能概要を示す概念図である。
【図８】本発明の実施形態に係るアイテム確率判定部６及びアイテム提供条件を満たさない場合の繰り返し処理の概要を示す概念図である。
【図９】本発明の実施形態に係る質問選択部３における条件追加の概要を示す概念図である。
【図１０】本発明の実施形態に係るアイテムがアイテム候補集合に復活する事例を示す概念図である。
【図１１】本発明の実施形態に係る各機能部における処理概要を示す概念図である。
【発明を実施するための形態】
【００２１】
以下、添付した図１〜図１１を参照して、本発明の実施形態を詳細に説明する。
図１は、本発明の実施形態に係るエージェントシステム２４の一例の概略的な機能ブロック図である。
図１に示すように、エージェントシステム２４は、アイテムマスタデータベース１０と、ユーザ履歴データファイル１１と、アイテム確率ワークテーブル１２と、アイテムマスタデータベース作成更新部８と、ユーザ履歴データファイル作成更新部９と、アイテム確率ワークテーブル初期設定部１と、アイテム候補集合選択部２と、質問選択部３と、質問提示／回答取得部４と、アイテム確率更新部５と、アイテム確率判定部６と、アイテム提示確認部７と、を含む。
【００２２】
図２Ｃに示すように、アイテムマスタデータベース１０は、複数の質問と複数のアイテムと、前記複数の質問と前記複数のアイテムに基づいて、先行する複数のユーザから取得した質問回答データに基づいて、前記質問及び前記アイテムとを前記質問に対する回答に関連付けて索引されるように記憶して構築されたアイテムマスタ３３を含む。
さらに、図２Ａ、図２Ｂ、図２Ｄに示すように、アイテムマスタデータベース１０は、前記複数の質問の各質問について、質問ＩＤと質問の内容を含む質問情報とを格納する質問テーブル３１、前記複数のアイテムの各アイテムについて、アイテムＩＤと、アイテムの内容を含むアイテム情報と、アイテム事前確率と、を格納するアイテムテーブル３２、及び先行する複数のユーザから取得した質問回答データに基づいて算出した、各アイテムに対する各質問の尤度を格納するアイテムに対する質問の尤度テーブル３４を含む。
【００２３】
図３Ａに示すように、ユーザ履歴データファイル１１は、複数のテストユーザや先行する複数のユーザの各ユーザに対応するユーザ履歴データレコードを格納したファイルである。前記ユーザ履歴データレコードは各ユーザ毎に作成され、当該ユーザが回答した質問に対する回答内容を含む質問回答情報と、当該ユーザが同意するアイテム情報と、を含む。図３Ｂに示すように、アイテム確率ワークテーブル１２は、アイテムＩＤと当該アイテムのその時点におけるユーザにとっての事後確率とを含む。
【００２４】
アイテム確率ワークテーブル初期設定部１は、全てのアイテムについて、各アイテムの事前確率をアイテム確率ワークテーブル１２に初期設定する。なお、前記アイテム確率ワークテーブル１２は、アイテムＩＤと当該アイテムのその時点におけるユーザにとっての事後確率とを含むワークテーブルである。
【００２５】
アイテム候補集合選択部２は、アイテム確率ワークテーブル１２に記憶されたその時点におけるアイテム事後確率に基づいて、予め定義された第１基準に従って、アイテムを選択し、前記選択したアイテムをアイテム候補集合として特定する。
【００２６】
質問選択部３は、予め定義された第２基準に基づいて質問を選択する。
【００２７】
質問提示／回答取得部４は、前記質問選択部３が選択した質問を提示し、ユーザからの回答を取得する。
【００２８】
アイテム確率更新部５は、前記質問提示／回答取得部４が取得した前記ユーザからの回答に基づいて、当該ユーザに対する各アイテムの事後確率を算出し、アイテム確率ワークテーブル１２を更新する。
【００２９】
アイテム確率判定部６は、前記アイテム確率更新部５が更新した前記アイテム確率ワークテーブル１２を参照して、アイテム確率が予め設定した条件を満足するか否かを判定する。
判定結果が前記条件を満足すると判定した場合、アイテム提示確認部７に制御を渡す。
判定結果が前記条件を満足しないと判定した場合、前記アイテム確率更新部５が更新した前記アイテム確率が前記条件を満足すると判定するまで、前記アイテム候補集合選択部２、質問選択部３、質問提示／回答取得部４、及びアイテム確率更新部５の実行を繰り返す。
【００３０】
アイテム提示確認部７は、アイテム確率が前記条件を満たすと判定したアイテムのアイテム情報をアイテムテーブル３２から、またアイテムの事後確率をアイテム確率ワークテーブル１２から、それぞれ入力し、当該アイテムに係る出力項目を編集して出力する。
【００３１】
アイテムマスタデータベース作成更新部８は、システム管理者からの入力及びユーザ履歴データファイル１１に基づいて、質問テーブル３１、アイテムテーブル３２、アイテムマスタ３３、及びアイテムに対する質問の尤度テーブル３４を作成又は更新する。
【００３２】
ユーザ履歴データファイル作成更新部９は、テストユーザ、先行するユーザの入力した回答情報、又はエージェントシステム２４を利用するユーザの入力した回答情報に基づいて、各ユーザに対応するユーザ履歴データレコードを作成又は更新する。
これら各機能ブロックの詳細な処理内容については、後述する。
【００３３】
〔システム構成〕
図４を参照して、本発明の実施形態に係るエージェントシステム２４の構成について説明する。エージェントシステム２４はサーバを含み得る。そして、ユーザはクライアント端末２１を利用して、通常、通信ネットワーク２２を介してエージェントシステム２４と会話する。クライアント端末２１及びサーバの関係は、それぞれのコンピュータ上で実行されるとともに互いにクライアント／サーバ関係を有するコンピュータプログラムに基づいて成り立つ。
通信ネットワーク２２は、専用線やインターネット等の広域ネットワーク、無線電話網、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。
なお、エージェントシステム２４とクライアント端末とをひとつのコンピュータに実装することもできる。
【００３４】
エージェントシステム２４（コンピュータ）は、上記のとおり、アイテム確率ワークテーブル初期設定部１、アイテム候補集合選択部２、質問選択部３、質問提示／回答取得部４、アイテム確率更新部５、アイテム確率判定部６、アイテム提示確認部７、アイテムマスタデータベース作成更新部８、及びユーザ履歴データファイル作成更新部９（以下、「機能部」という）と、アイテムマスタデータベース１０及びユーザ履歴データファイル１１（以上、「データベース」という）と、アイテム確率ワークテーブル１２と、を備えて構成される。
【００３５】
本発明のエージェントシステム２４の各機能部の実施形態は、データ処理機器、例えばプログラム可能なプロセッサ、コンピュータ、又は多数のコンピュータによる実行のため、又はデータ処理機器の動作を制御するための、コンピュータプログラムとして実装することができる。また、ファームウェア、デジタル電子回路の形でも、その組合せの形でも実装することができる。
前記機能部の実施形態は、１台のコンピュータ上でも、一箇所にある又は数箇所に分散され、通信ネットワーク２２によって相互接続された多数のコンピュータでも実行されるように展開することができる。また、「クラウド」上の複数のサーバ等を用いて構成してもよい。
【００３６】
本発明のエージェントシステム２４のデータベースの実施形態は、データベースサーバとして実装することができる。また「クラウド」上の複数のサーバ等を用いて構成してもよい。アイテムマスタデータベース１０及びユーザ履歴データファイル１１を記憶手段で管理する。
【００３７】
ユーザが本発明の実施形態を実装したエージェントシステム２４と会話するために、本発明のクライアント端末２１の実施形態は、表示デバイス、入力デバイスを有する全てのコンピュータ、例えばパソコン、携帯端末、スマートフォン、タブレットＰＣ、ＰＤＡ上で実装することができる。また、クライアント端末２１は、エージェントシステム２４と会話するためのグラフィカルユーザインターフェイス又はウェブブラウザを有することができる。また、ユーザとの会話をもたらすために、他の種類のデバイスを使用することもできる。例えば、ユーザへの出力は、音響又は音声でもよく、ユーザからの入力は、音響又は音声を含むどの形でも受け取ることができる。
【００３８】
ユーザは、クライアント端末２１を用いて、エージェントシステム２４にアクセスし、エージェントシステム２４とインタラクティブな知的な会話を繰り返すことで、例えば、健康に関係したアドバイス、提案、勧告等の提示を受けることができる。また、システム管理者は、管理者端末２３を用いて、管理者権限でエージェントシステム２４の各種設定を行うことができる。
【００３９】
本発明の実施形態の方法ステップは、入力データに作用し出力を生成することによって本発明の機能を実施するためのコンピュータプログラムを実行する１つ又は複数のプログラム可能なプロセッサによって実施することができる。また、特殊目的論理回路、例えば、ＦＰＧＡ（書替え可能ゲートアレイ）やＡＳＩＣ（アプリケーション固有集積回路）によって、方法ステップを実施することもできる。
【００４０】
図５Ａ〜図５Ｃに、クライアント端末２１から見た、本発明の一実施形態の概要を示す。
エージェントシステム２４は、図５Ａに図示しない、最初の質問及び２番目の質問に対するユーザからの回答に基づいて、アイテムの事後確率を更新した後に、図５Ａに示すように、エージェントシステム２４は、（３番目の）質問その３を選択し、ユーザに対して質問その３を提示する。
ユーザは、質問その３に対して「いいえ」を回答する。
【００４１】
図５Ｂに、エージェントシステム２４が、前記質問その３に対するユーザからの回答「いいえ」に基づいて、アイテムの事後確率を更新し、（４番目の）質問その４を選択し、ユーザに対して質問その４を提示した画面を示す。
【００４２】
エージェントシステム２４は、図示しないいくつかの繰り返し処理を行い、アイテムの事後確率が予め設定した条件を満足すると判定したとする。
図５Ｃに、ユーザに対して、推奨するアイテムを選択して提示した画面を示す。
ここで、各アイテムの右横に記載の数字は、当該ユーザにおけるアイテムの事後確率の値を示す。
そして、これらのアイテムは、当該ユーザにとって、正しいと同意する可能性の高いと考えられる。
このように、本発明のエージェントシステム２４は、ユーザとそれまでの質問と回答の文脈に沿って自動化されたインタラクティブな自然な会話を提供する。そして、より早く、より効率的にユーザに対する適切なアイテムを提供する。
次に、エージェントシステム２４の機能部の処理内容及びデータベースの構成の詳細について、説明する。
先ずデータベースの構成について説明する。
【００４３】
〔アイテムマスタデータベース１０の事前作成〕
本発明のエージェントシステム２４によるサービスをユーザに対して提供するためには、予めアイテムマスタデータベース１０を事前に作成しておく必要がある。ここでは、アイテムマスタデータベース１０を事前に作成するための方法について説明する。
【００４４】
図６を参照してアイテムマスタデータベース１０を初期作成する方法について説明する。
先ず、本発明の大きな特徴であるアイテムと質問との関連付けについて説明する。
アイテムと質問との関連付けを行うために、予め、図２Ａ〜図２Ｂに示すように、複数のアイテムと複数の質問とが、質問テーブル３１及びアイテムテーブル３２として用意される（ステップ１０１）。そして、前記複数の質問と前記複数のアイテムとを関連付けを行うための質問を、多数、例えば１万人のテストユーザに対して行うことで、前記複数の質問と前記複数のアイテムとを関連付けるための各種データを取得する（ステップ１０２）。
【００４５】
ここで、テストユーザに対する質問は、次のようになされる。
各テストユーザに質問αを質問する。ここで、質問αは、その回答が、「はい」、「いいえ」、及び「わからない」となる３択式の質問である。当該質問αに対して、ユーザは、「はい」、「いいえ」、又は「わからない」との回答を行う。
ユーザが質問αに対して「はい」と回答した事象をαＹｅｓ、
ユーザが質問αに対して「いいえ」と回答した事象をαＮｏ、
ユーザが質問αに対して「わからない」と回答した事象をαＮｅｉｔｈｅｒで表わす。
すなわち、複数のユーザに質問αをしたときに、各ユーザは、αＹｅｓ、αＮｏ、αＮｅｉｔｈｅｒのいずれかひとつの事象に属するということができる。
【００４６】
次に、各ユーザに対して、アイテムＡへの勧告がユーザにとって正しいかどうか、を質問する。アイテムＡへの勧告が正しいかどうか、との質問は、その回答が、（１）はい、そのようにしたい、又は（２）いいえの２択式の質問である。そして、アイテム毎にユーザの回答を収集する。
なお、前記ユーザからの回答の電子化は、データシートから例えばＯＣＲ処理を利用して電子化することができる。また例えば、Ｗｅｂ画面から直接ユーザからの回答を直接電子データとして収集することも可能である。
【００４７】
ユーザ履歴データファイル１１とは、図３Ａに示したとおり、ユーザ毎に記録されたレコードを記録したファイルである。ユーザが質問に対して、「はい」、「いいえ」、及び「わからない」のいずれを回答したか、また、当該ユーザがアイテムへの勧告に対して、（１）はい、そのようにしたい、又は（２）いいえのいずれを回答したか、を記録したユーザ履歴データレコードを格納したファイルである。
【００４８】
ユーザ履歴データファイル作成更新部９は、各ユーザから得られた回答に基づいて、図３Ａに示すユーザ履歴データレコードをユーザ履歴データファイル１１に記憶する（ステップ１０３）。ここで、ユーザ履歴レコードは、１レコードに「（１）はい、そのようにしたい」と回答されたアイテムを１つだけ含むように正規化する。
【００４９】
次に、アイテムマスタデータベース作成更新部８は、前記ユーザ履歴データファイル１１の、「（１）はい、そのようにしたい」と回答されたアイテムを含むレコードを入力して、アイテム毎に、例えば、アイテムＡへの勧告を「（１）はい、そのようにしたい」と回答したレコード数のうち、質問αに「はい」と回答したレコード数の割合を算出する。（以下、Ｐ（αＹｅｓ｜Ａ）と表記する。）
同様に、アイテムＡへの勧告を「（１）はい、そのようにしたい」と回答したレコード数のうち、質問αに「いいえ」と回答したレコード数の割合を算出する。（以下、Ｐ（αＮｏ｜Ａ）、と表記する。）
同様に、アイテムＡへの勧告を「（１）はい、そのようにしたい」と回答したレコード数のうち、質問αに「わからない」と回答したレコード数の割合を算出する。（以下、Ｐ（αＮｅｉｔｈｅｒ｜Ａ）と表記する。）以上を全てのアイテムと全ての質問に対して実行する  （ステップ１０４）。
【００５０】
ここで、前記Ｐ（αＹｅｓ｜Ａ）、Ｐ（αＮｏ｜Ａ）、及びＰ（αＮｅｉｔｈｅｒ｜Ａ）をそれぞれ、アイテムＡに対する事象αＹｅｓの尤度（ｌｉｋｅｌｉｈｏｏｄ）、アイテムＡに対する事象αＮｏの尤度、及びアイテムＡに対する事象αＮｅｉｔｈｅｒの尤度という。なお、これら３つの尤度を総称して、アイテムＡに対する質問αの尤度Ｐ（α｜Ａ）という。
以下、簡単のため、アイテムＡに対する質問αの尤度Ｐ（α｜Ａ）は、前記集合｛Ｐ（αＹｅｓ｜Ａ）、Ｐ（αＮｏ｜Ａ）、及びＰ（αＮｅｉｔｈｅｒ｜Ａ）｝を意味するものとする。
【００５１】
アイテムＡに対する質問αの尤度とは、ユーザがアイテムＡへの勧告を「（１）はい、そのようにしたい」と回答したときに、Ｐ（αＹｅｓ｜Ａ）は、質問αに対して「はい」と回答していることのありえる程度（尤度）であり、Ｐ（αＮｏ｜Ａ）は、質問αに対して「いいえ」と回答していることのありえる程度（尤度）であり、同様に、Ｐ（αＮｅｉｔｈｅｒ｜Ａ）は、質問αに対して「わからない」と回答していることのありえる程度（尤度）といえる。
【００５２】
後述するように、アイテムＡに対する質問αの尤度は、ユーザから質問αに対する回答を取得した後に、ベイズの推定に基づいて、当該回答の事象が発生した下で、各アイテムを当該ユーザが正しいと同意する、条件付き確率を意味するアイテムの事後確率の計算に用いられる。
【００５３】
アイテムマスタデータベース作成更新部８は、算出したアイテムＡに対する質問αの尤度Ｐ（α｜Ａ）を図２Ｄに示すように、アイテムに対する質問の尤度テーブル３４に記憶する（ステップ１０５）。
【００５４】
ここで、アイテムＡと質問αとの関係付けについて説明する。前記算出された、アイテムＡに対する質問αの尤度Ｐ（α｜Ａ）、すなわちＰ（αＹｅｓ｜Ａ）及びＰ（αＮｏ｜Ａ）、に基づいて、アイテムＡとアイテムαとのＹｅｓ／Ｎｏ関係を次のように定める。
Ｐ（αＹｅｓ｜Ａ）の値がＰ（αＮｏ｜Ａ）の値より大きい場合、質問αとアイテムＡとの関係はＹｅｓ関係にあるという。逆に、Ｐ（αＮｏ｜Ａ）の数値がＰ（αＹｅｓ｜Ａ）の値よりも大きい場合、質問αとアイテムＡとの関係はＮｏ関係にあるという。
なお、両者の値が等しい場合は、予め定めた優先順位に従って、決定する
【００５５】
図６に示すように、アイテムマスタデータベース作成更新部８は、尤度Ｐ（α｜Ａ）に基づいて、各アイテムと各質問とのＹｅｓ／Ｎｏ関係をアイテムマスタ３３に記憶する（ステップ１０６）。
例えば、図２Ｃを参照すると、質問αは、アイテムＡとＹｅｓ関係にあり、アイテムＢとはＮｏ関係にあることがわかる。
【００５６】
以上のように、エージェントシステム２４は、予め用意した全てのアイテムと予め用意した全ての質問について、質問テーブル３１と、アイテムテーブル３２と、前記複数の質問と前記複数のアイテムとに基づいて、先行する複数のテストユーザから取得した複数の質問に対する回答データに基づいて、Ｙｅｓ／Ｎｏ関係を複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されたアイテムマスタ３３と、アイテムに対する質問の尤度テーブル３４とを、アイテムマスタデータベース１０に記憶する。
【００５７】
本発明のエージェントシステム２４は、アイテムマスタデータベース１０に基づいて動作する。本発明のエージェントシステム２４の各機能部の処理内容を図７〜図１１に従って、説明する。
【００５８】
〔アイテムの事前確率の算出〕
アイテムの事前確率を算出する方法について触れておく。
１つの方法は、全てのアイテムの同意される確率を等しいものと定義する方法である。
他の方法は、ユーザの集合（例えば、１万人のユーザ）において、各ユーザにとって正しいと同意するアイテムがわかっている場合、このデータに基づいて、アイテムの事前確率を設定する方法である。
また、サービス提供側での予測に基づいて、アイテムの事前確率を決定し、アイテム間に傾斜をかけることもできる。
なお、上記の方法は一例であって、これらに限定するものではない。
また、いずれの方法であっても、全てのアイテムの事前確率の総計は１（１００％）となる。
【００５９】
〔アイテムの事前確率の初期設定〕
ユーザに対する最初（１番目）の質問を選択する際には、予め設定されたアイテムの事前確率に基づいてアイテム候補集合を選択する。
このため、アイテム候補集合選択部２の最初の実行に先立って、アイテム確率初期設定部は、全てのアイテムについて、アイテム識別番号とアイテムの事後確率とを対応づけたアイテム確率ワークテーブル１２に前記アイテムの事前確率を初期設定する。
なお、アイテム確率ワークテーブル１２は、質問の回答がなされる毎に、算出されるアイテムの事後確率を記憶するための、当該ユーザ毎に作成されるワークテーブルである。
【００６０】
〔アイテム候補集合の選択と質問の選択〕
図７には、図１に示したアイテム候補集合選択部２と質問選択部３が実行する処理について記載している。
ユーザにｎ番目（ｎは１以上の自然数）の質問を選択するときの処理内容を図７に示す。アイテム候補集合選択部２は、前記アイテム確率ワークテーブル１２に設定されたアイテムの事後確率をその値の大きい順に並べて大きい順に累積的に加算する。そして、その累積和が、予め定義された第１基準を超えるまでの複数のアイテムを選択し、選択したアイテムからなる集合をｎ番目（ｎは１以上の自然数）のアイテム候補集合とする。
【００６１】
ここで、前記第１基準は、例えば全てのアイテムの事後確率総計に対する予め設定された割合であって、例えば５０％としてもよい。第１基準は、システム管理者がエージェントシステム２４に設定する任意のパラメータである。
【００６２】
質問選択部３は、ｎ番目の質問を前記アイテム候補集合選択部２が選択したｎ番目のアイテム候補集合に基づいて、以下のように自動的に選択する。
【００６３】
質問選択部３は、アイテムマスタ３３に記憶された各質問毎に、当該質問及び前記ｎ番目のアイテム候補集合に属するアイテムとを関連付けるＹｅｓ／Ｎｏデータを抽出する。
【００６４】
質問α及び質問βについて、前記アイテム候補集合に属するアイテムのＹｅｓ／Ｎｏデータを抽出した例が図７に示されている。図７を参照すると、質問αは、アイテム候補集合１５個のアイテムのうち、７個のアイテムとＹｅｓで関連付けられ、８個のアイテムとＮｏで関連付けられている。これに対して、質問βは、アイテム候補集合１５個のアイテムのうち、３個のアイテムとＹｅｓで関連付けられ、１２個のアイテムとＮｏで関連付けられている。
ここで、仮に質問αをユーザに提示したと仮定する。ユーザがＹｅｓと回答した場合、質問αとＹｅｓで関連付けられた７個のアイテムの事後確率の値が増加し、質問αとＮｏで関連付けられた８個のアイテムの事後確率の値が減少することが想定される。逆に、ユーザがＮｏと回答した場合、質問αとＮｏで関連付けられた８個のアイテムの事後確率の値が増加し、質問αとＹｅｓで関連付けられた７個のアイテムの事後確率の値が減少することが想定される。すなわち、ユーザのＹｅｓ／Ｎｏの回答に関わらず、ｎ番目のアイテム候補集合の半分のアイテムの事後確率が増加し、残り半分のアイテムの事後確率が減少する。
これに対して、仮に質問βをユーザに提示したと仮定する。ユーザがＮｏと回答した場合、質問βとＮｏで関連付けられた１２個のアイテムの事後確率の値が増加し、質問βとＹｅｓで関連付けられた３個のアイテムの事後確率の値が減少することが想定される。
この場合は、１２個のアイテムの事後確率の値が増加することで、アイテムの事後確率の収束効率が良くないと考えられる。
従って、‘良い’質問とは、アイテム候補集合をＹｅｓとＮｏの関連付けで見た場合に、前記アイテム候補集合をちょうど半々に分割する質問αが望ましい。
【００６５】
質問選択部３は、前記ｎ番目のアイテム候補集合を半々に分割する質問を選択するという第２基準に従って質問を自動的に選択する。このために、質問選択部３は、アイテムマスタに記憶された各質問毎に、前記アイテム候補集合の各アイテムと前記質問とを関連付けるＹｅｓ／Ｎｏデータの分散を計算する。ここでは、標本分散を求めるため、不偏分散を使用する。
具体的には、アイテムマスタの各質問毎に、前記アイテム候補集合の各アイテムと関連付けるＹｅｓ／Ｎｏデータを、アイテムマスタから入力し、当該Ｙｅｓ／ＮｏデータがＹｅｓの場合は値１、Ｎｏの場合は値０を代入して、前記質問の前記アイテム候補集合におけるＹｅｓ／Ｎｏデータの不偏分散を算出する。
【００６６】
不偏分散は、式（１）で定義される。
Ｖ  ＝  （１／Ｎ−１）Σ  （μ−Ｘｉ）２
・・・式（１）
ここで、Ｘｉは、前記アイテム候補集合に属するアイテムのＹｅｓ／Ｎｏデータの値
μは、前記アイテム候補集合に属するアイテムのＹｅｓ／Ｎｏデータの値の平均値
Ｎは、前記アイテム候補集合に属するアイテムの個数
【００６７】
全ての質問の前記アイテム候補集合におけるＹｅｓ／Ｎｏデータの不偏分散を算出した後、質問選択部３は、各質問の前記アイテム候補集合におけるＹｅｓ／Ｎｏデータの不偏分散が最も大きな値を有する質問を、ユーザに提示する質問として選択する。
例えば、上記の図７の記載例における質問αの不偏分散は０．２６６６６７、質問βの不偏分散は０．１７１４２９となるから、質問αが選択される。
【００６８】
なお、複数の質問が、前記アイテム候補集合におけるＹｅｓ／Ｎｏデータの不偏分散が同じ大きさの不偏分散である場合に、質問選択部３は、さらに、次の処理を行うことができる。
【００６９】
〔質問の選択における条件追加〕
図９を参照して説明する。図９に示すように、質問αと質問γとは、ともに、アイテム候補集合を半分に分割する。しかしながら、質問αは、アイテム全体集合からみると、そのＹｅｓ／ＮｏデータがＹｅｓ／Ｎｏのいずれかに偏っていることがわかる、他方、質問γは、アイテム全体集合からみると、そのＹｅｓ／Ｎｏデータが半々になっていることがわかる。
この場合、質問αは、アイテムの全体集合から全体の中の特別なエリアを切り取ると解される。このことは、質問αがアイテム候補集合にとって、より特別な意味のある質問であることを示唆する。
【００７０】
以上から、複数の質問について前記アイテム候補集合におけるＹｅｓ／Ｎｏデータの不偏分散が同じ大きさの不偏分散である場合に、質問選択部３は、前記第２基準に新たな条件を付加して、次の処理を行うことができる。
複数個の質問の前記アイテム候補集合におけるＹｅｓ／Ｎｏデータの不偏分散が同じ値である場合、質問選択部３は、前記複数個の質問の各質問に対して、全てのアイテムと関連付けるＹｅｓ／Ｎｏデータを、アイテムマスタ３３から入力し、各質問の全てのアイテム集合におけるＹｅｓ／Ｎｏデータの不偏分散を算出する。
前記複数個の質問の前記アイテム候補集合におけるＹｅｓ／Ｎｏデータの不偏分散を算出した後、質問選択部３は、各質問の前記アイテム候補集合に属するアイテムのＹｅｓ／Ｎｏデータの不偏分散の当該質問の全てのアイテム集合のＹｅｓ／Ｎｏデータの不偏分散に対する比率が最も大きい質問を選択する。
こうすることで、質問選択部３は、より効率的な質問を自動的に選択することが可能となる。このように、標準的な二分割法によるアプローチに比較して、結果的にあまり役に立たない質問を排除し、迅速に収束し、より早く、より効率的にユーザに対する適切な勧告を提供することができる。
【００７１】
図９の例における質問α及び質問γのアイテム候補集合に属するアイテムのＹｅｓ／Ｎｏデータの不偏分散はともに０．２６６６６７である。他方、全てのアイテム集合に属するアイテムのＹｅｓ／Ｎｏデータの不偏分散は、質問αは、０．２２９８８５、質問γは０．２５８６２１である。比率を計算すると、
質問αは、０．２６６６６７／０．２２９８８５＝１．１６
質問γは、０．２６６６６７／０．２５８６２１＝１．０３
となることから、質問αが選択される。
【００７２】
〔質問の提示と回答の取得〕
質問提示／回答取得部４は、質問選択部３が選択した質問を図１に図示しない通信処理部を介して、クライアント端末２１に送信する。質問提示／回答取得部４は、クライアント端末２１からユーザにより入力された回答を前記通信処理部を介して、当該質問に対する回答、例えば、（１）はい、（２）いいえ、及び（３）わからない、を取得する。
質問提示／回答取得部４は、ユーザに提示した質問及びユーザから取得した回答に基づいて、ユーザ履歴データファイル作成更新部９を介して、ユーザ履歴データファイル１１にユーザ履歴データレコードを作成又は更新する。
なお、システム構成の説明で記載したように、クライアント端末２１は、エージェントシステム２４と会話するためのグラフィカルユーザインターフェイス又はウェブブラウザを有することができる。また、ユーザとの会話をもたらすために、他の種類のデバイスを使用することもできる。例えば、ユーザへの出力は、音響又は音声でもよく、ユーザからの入力は、音響又は音声を含むどの形でも受け取ることができる。
【００７３】
〔回答に基づくアイテム事後確率の計算〕
図７には、アイテム確率更新部５の機能について記載している。
アイテム確率更新部５は、質問αに対するユーザの回答を取得した後に、ベイズ推定を用いて、当該ユーザがアイテムへの勧告を正しいと同意する確率（アイテムの事後確率）を算出する。
【００７４】
〔ベイズ推定〕
アイテム確率更新部５の処理内容の説明に先立ち、ベイズ推定について説明する。
本発明におけるベイズ推定は、以下のものである。
アイテムＡへの勧告にユーザが同意する事前確率をＰ（Ａ）とし、ユーザに最初（１番目）の質問αがなされてその回答「はい」（事象αＹｅｓ）、「いいえ」（事象αＮｏ）、及び「わからない」（事象αＮｅｉｔｈｅｒ）が得られた状況下で、アイテムＡへの勧告を当該ユーザが正しいとする条件付き確率（事後確率）を、それぞれ、Ｐ（Ａ｜αＹｅｓ）、Ｐ（Ａ｜αＮｏ）、及びＰ（Ａ｜αＮｅｉｔｈｅｒ）とすると、ベイズの定理により、以下の式（２）〜式（４）で定義される。
【００７５】
Ｐ（Ａ｜αＹｅｓ）  ＝  Ｐ（αＹｅｓ｜Ａ）Ｐ（Ａ）／  ΣＸ｛Ｐ（αＹｅｓ｜Ｘ）Ｐ（Ｘ）｝
・・・式（２）
ΣＸは、全てのアイテムＸにまたがる総和を意味する。
Ｐ（αＹｅｓ｜Ｘ）は、アイテムＸに対する事象αＹｅｓの尤度を指す。
Ｐ（Ａ｜αＮｏ）  ＝  Ｐ（αＮｏ｜Ａ）Ｐ（Ａ）／  ΣＸ｛Ｐ（αＮｏ｜Ｘ）Ｐ（Ｘ）｝    
・・・式（３）
ΣＸは、全てのアイテムＸにまたがる総和を意味する。
Ｐ（αＮｏ｜Ｘ）は、アイテムＸに対する事象αＮｏの尤度を指す。
Ｐ（Ａ｜αＮｅｉｔｈｅｒ）  ＝  Ｐ（αＮｅｉｔｈｅｒ｜Ａ）Ｐ（Ａ）／  ΣＸ｛Ｐ（αＮｅｉｔｈｅｒ｜Ｘ）Ｐ（Ｘ）｝
・・・式（４）
ΣＸは、全てのアイテムＸにまたがる総和を意味する。
Ｐ（αＮｅｉｔｈｅｒ｜Ｘ）は、アイテムＸに対する事象αＮｅｉｔｈｅｒの尤度を指す。
【００７６】
ｎ番目の質問がなされ、対応するｎ番目の回答が得られると、アイテム確率更新部５は、各アイテムの（ｎ−１）番目の事後確率とｎ番目の回答とに基づいて、各アイテムのｎ番目の事後確率を再計算する。同様に、（ｎ＋１）番目の質問がなされ、対応する（ｎ＋１）番目の回答が得られると、アイテム確率更新部５は、各アイテムのｎ番目の事後確率と（ｎ＋１）番目の回答とに基づいて、アイテムの（ｎ＋１）番目の事後確率を再計算することで、事後確率の高いアイテムを得られるようになる。
【００７７】
Ｐｎ−１（Ａ）をアイテムＡの（ｎ−１）番目の事後確率として、ユーザにｎ番目の質問βがなされて、対応するｎ番目の回答「はい」（事象βＹｅｓ）、「いいえ」（事象βＮｏ）、及び「わからない」（事象βＮｅｉｔｈｅｒ）が得られた状況下で、アイテムＡへの勧告を当該ユーザが正しいとする条件付き確率（事後確率）を、それぞれ、Ｐｎ（Ａ｜βＹｅｓ）、Ｐｎ（Ａ｜βＮｏ）、及びＰｎ（Ａ｜βＮｅｉｔｈｅｒ）とすると、ベイズの定理により、以下の式（５）〜（７）で定義される。
なお、Ｐ０（Ａ）＝Ｐ（Ａ）（事前確率）である。
【００７８】
Ｐｎ（Ａ｜βＹｅｓ）
＝  Ｐ（βＹｅｓ｜Ａ）Ｐｎ−１（Ａ）／  ΣＸ｛Ｐ（βＹｅｓ｜Ｘ）Ｐｎ−１（Ｘ）｝
・・・式（５）
ΣＸは、全てのアイテムＸにまたがる総和を意味する。
Ｐ（βＹｅｓ｜Ｘ）は、アイテムＸに対する事象αＹｅｓの尤度を指す。
Ｐｎ（Ａ｜βＮｏ）
＝  Ｐ（βＮｏ｜Ａ）Ｐｎ−１（Ａ）／  ΣＸ｛Ｐ（βＮｏ｜Ｘ）Ｐｎ−１（Ｘ）｝
・・・式（６）
ΣＸは、全てのアイテムＸにまたがる総和を意味する。
Ｐ（βＮｏ｜Ｘ）は、アイテムＸに対する事象αＮｏの尤度を指す。
Ｐｎ（Ａ｜βＮｅｉｔｈｅｒ）
＝  Ｐ（βＮｅｉｔｈｅｒ｜Ａ）Ｐｎ−１（Ａ）／  ΣＸ｛Ｐ（βＮｅｉｔｈｅｒ｜Ｘ）Ｐｎ−１（Ｘ）｝  
・・・式（７）
ΣＸは、全てのアイテムＸにまたがる総和を意味する。
Ｐ（βＮｅｉｔｈｅｒ｜Ｘ）は、アイテムＸに対する事象αＮｅｉｔｈｅｒの尤度を指す。
【００７９】
〔アイテム確率更新部５〕                               
アイテム確率更新部５の処理内容について式（２）〜（７）を参照して説明する。
アイテム確率更新部５は、質問提示／回答取得部４を介して得られたユーザからの回答に基づいて、各アイテムを当該ユーザが正しいと同意する条件付き確率（事後確率）を求める。
【００８０】
具体的には、アイテム確率更新部５は、当該質問αがユーザに対して最初（１番目）の質問であった場合、ユーザからの回答「はい」（事象αＹｅｓ）、「いいえ」（事象αＮｏ）、及び「わからない」（事象αＮｅｉｔｈｅｒ）に基づいて、アイテムに対する質問の尤度テーブル３４から各アイテムに対する質問αの尤度を入力し、アイテム確率ワークテーブル１２から各アイテムの事前確率を入力し、それぞれ式（２）、式（３）、及び式（４）に従って、各アイテムの事後確率を算出する。その後、算出した各アイテムの事後確率に基づいてアイテム確率ワークテーブル１２を更新する。
アイテム確率更新部５は、当該質問βがユーザに対してｎ番目（ｎ＞１）の質問であった場合、その回答「はい」（事象βＹｅｓ）、「いいえ」（事象βＮｏ）、及び「わからない」（事象βＮｅｉｔｈｅｒ）に基づいて、アイテムに対する質問の尤度テーブル３４から各アイテムに対する質問βの尤度を入力し、アイテム確率ワークテーブル１２から各アイテムの事後確率を入力し、それぞれ式（５）、式（６）、及び式（７）に従って、各アイテムのｎ番目の事後確率を算出する。その後、算出した各アイテムのｎ番目の事後確率に基づいてアイテム確率ワークテーブル１２を更新する。アイテム確率更新部５は、更新履歴をアイテム確率ワークテーブル１２に記録してもよい。
【００８１】
そうすることで、例えば最初の質問αについて、図７に示したように、ユーザの回答が「いいえ」であった場合、質問αに対する回答「いいえ」に対応付けられたアイテムの事後確率の値は増加し、逆に質問αに対する回答「はい」に対応付けられたアイテムの事後確率の値は減少することが期待され、当該ユーザが正しいと同意するアイテムの選択がより効率的に収束することが可能となる。
なお、図１０に示すように、ある時点でアイテム候補集合から外れたアイテムは、次回以降の質問に対する回答によって、アイテム候補集合に復活することがある。すなわち、本発明のアイテム確率更新部５の前記機能により、仮に誤った回答を応答し、一時的にアイテムの事後確率の値は減少した場合であっても、次回以降の質問に対して正しい回答をすることによって、前記アイテムの事後確率の値が増加する。そうすることで、アイテム候補集合選択部２が当該ユーザが正しいと同意するアイテムを再び候補集合に選択することができる。このように仮にユーザが回答を誤った場合であっても、ユーザは他の質問に対する回答に基づいて正しい回答に自動的に戻ることができる。
【００８２】
〔アイテム確率判定部６〕
アイテム確率判定部６は、アイテム確率ワークテーブル１２に記憶されたアイテム確率を参照して、予めエージェントシステム２４に設定されたアイテム提供条件を満たすかどうか、判定する。
ここで、アイテム提供条件は、例えば、アイテム確率ワークテーブル１２に記憶されたアイテム確率をその値の大きい順に並べたときに、例えば、１番目のアイテム確率が２番目のアイテム確率の２倍以上の値をとること、又は１番目のアイテム確率が５０％を超えるものであること等、システム管理者がエージェントシステム２４に任意に設定する。
【００８３】
アイテム確率判定部６が、アイテム確率ワークテーブル１２に記憶されたアイテム確率が前記アイテム提供条件を満たさないと判定した場合、図８に示すように、アイテム候補集合選択部２に戻って、再び、アイテム候補集合選択部２の実行、質問選択部３の実行、質問提示／回答取得部４の実行、アイテム確率更新部５の実行を行い、再びアイテム確率判定部６が、アイテム確率ワークテーブル１２に記憶されたアイテム確率が前記アイテム提供条件を満たすかどうか判定する。そして、アイテム確率判定部６が、アイテム確率ワークテーブル１２に記憶されたアイテム確率が前記アイテム提供条件を満たすかどうか判定するまで、上記処理を繰り返す。
【００８４】
アイテム確率判定部６は、アイテム確率ワークテーブル１２に記憶されたアイテム確率が前記アイテム提供条件を満たすと判定した場合、図１１に示すように、アイテム提示確認部７に制御を渡す。アイテム提示確認部７は、前記アイテムのアイテム情報をアイテムテーブル３２から、また前記アイテムの事後確率をアイテム確率ワークテーブル１２からそれぞれ入力し、当該アイテムに係る出力項目を編集して、図１に図示しない通信処理部を介して、クライアント端末２１に送信する。
【００８５】
クライアント端末２１は、図５Ｃに示すように、前記アイテム提示確認部７から提示されたアイテム情報、アイテムの事後確率を表示する。そして、ユーザから入力された、前記提示されたアイテムについて、図５Ｃに図示しないユーザが正しいと同意するか否かの回答を図１に図示しない通信処理部を介して、前記アイテム提示確認部７に送信する。
【００８６】
アイテム提示確認部７は、提示したアイテムへの勧告全てに対してユーザが正しいと同意する回答を受信した場合、ユーザ履歴データファイル作成更新部９を介して、１レコードにユーザが正しいと同意したアイテムを１つだけ含むように正規化したユーザ履歴データレコードを作成し、ユーザ履歴データファイル１１に記憶する。
その後、図１１に示すように、アイテムマスタデータベース作成更新部８は、更新された前記ユーザ履歴データファイル１１に基づいて、図２Ｄに示す、アイテムに対する質問の尤度テーブル３４を更新することができる。また、アイテムテーブル３２におけるアイテムの事前確率を更新することができる。
アイテムに対する質問の尤度テーブル３４及びアイテムテーブル３２の更新は、リアルタイム処理又はバッチ処理のいずれでも可能である。
こうすることで、エージェントシステム２４の運用時に、ユーザの履歴データに基づいて、アイテムマスタデータベース１０を自動的にメンテナンスすることができ、より最新のユーザのトレンドを反映させることができる。
このように、過去のユーザ履歴データを利用することにより、エージェントシステム２４は自動的に自立的に成長することができる。
【００８７】
アイテム提示確認部７が、クライアント端末２１から正しいと同意しないアイテムに関する回答を受信した場合、図１１に示すように、再度、アイテム候補集合選択部２の実行、質問選択部３の実行、質問提示／回答取得部４の実行、アイテム確率更新部５の実行、及びアイテム確率判定部６の実行を行う。そして、再度、アイテム確率判定部６が、アイテム確率ワークテーブル１２に記憶されたアイテム確率が前記アイテム提供条件を満たすかどうか判定するまで、上記処理を繰り返す。アイテム確率判定部６は、アイテム確率ワークテーブル１２に記憶されたアイテム確率が前記アイテム提供条件を満たすと判定した場合、図１１に示すように、再度、アイテム提示確認部７に制御を渡す。そして、アイテム提示確認部７は、再度、ユーザに対して、アイテム情報及びアイテムの事後確率を提示する。
再実行にあたっては、アイテム候補集合選択部２は、当該ユーザの同意しないアイテムを次回のアイテム候補集合から外す。また、アイテム確率更新部５は、ユーザの同意しないアイテムに対する任意の質問αの尤度Ｐ（α｜Ａ）を全てゼロとして、アイテムの事後確率を算出することができる。こうすることにより、その後の事後確率の再計算で当該アイテムの事後確率は０％となり、当該ユーザには提示されない。
こうすることで、不適切なアイテムを排除し、ユーザに適切なアイテムを提供することができる。
【００８８】
本発明の実施形態の例として、健康に関する質問と健康に関する勧告以外に、例えばファッションに関する質問とファッションに関する勧告、フードに関する質問とフードに関する勧告、レクリエーションに関する質問とレクリエーションに関する勧告、キャリア形成に関する質問とキャリア形成に関する勧告、教育に関する質問と教育に関する勧告等に適用することができる。
【００８９】
上記実施形態では、ユーザに対する質問をその回答が、「はい」、「いいえ」、及び「わからない」となる３択式の質問としたが、別の実施形態２として、その回答が、「はい」及び「いいえ」となる２択式の質問にすることができる。前記別の実施形態２は、上記実施形態において、事象αＮｅｉｔｈｅｒ、事象βＮｅｉｔｈｅｒが存在しないとして読み替えることで、実施できる。
【００９０】
上記実施形態では、アイテムＡへの勧告に対して（１）はい（そのようにしたい）、（２）いいえ（やりたくない）の２択での動作を実施しているが、別の実施形態３として、「（１）はい（そのようにしたい）、（２）いいえ（やりたくない）、（３）わからない、の３択での動作を実施したり、別の実施形態として、（１）既に実行している、（２）はい、そのようにしたい、（３）いいえ、（４）わからない、の４択での動作を実施することもできる。
【００９１】
上記実施形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００９２】
１  アイテム確率ワークテーブル初期設定部
２  アイテム候補集合選択部
３  質問選択部
４  質問提示／回答取得部
５  アイテム確率更新部
６  アイテム確率判定部
７  アイテム提示確認部
８  アイテムマスタデータベース作成更新部
９  ユーザ履歴データファイル作成更新部
１０  アイテムマスタデータベース
１１  ユーザ履歴データファイル
１２  アイテム確率ワークテーブル
２１  クライアント端末
２２  通信ネットワーク
２３  管理者端末
２４  エージェントシステム
３１  質問テーブル
３２  アイテムテーブル
３３  アイテムマスタ
３４  アイテムに対する質問の尤度テーブル
【図１】
2015049578.tif 000003
【図２Ａ】
2015049578.tif 000004
【図２Ｂ】
2015049578.tif 000005
【図２Ｃ】
2015049578.tif 000006
【図２Ｄ】
2015049578.tif 000007
【図３Ａ】
2015049578.tif 000008
【図３Ｂ】
2015049578.tif 000009
【図４】
2015049578.tif 000010
【図５Ａ】
2015049578.tif 000011
【図５Ｂ】
2015049578.tif 000012
【図５Ｃ】
2015049578.tif 000013
【図６】
2015049578.tif 000014
【図７】
2015049578.tif 000015
【図８】
2015049578.tif 000016
【図９】
2015049578.tif 000017
【図１０】
2015049578.tif 000018
【図１１】
2015049578.tif 000019