JP2015049578A - ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 - Google Patents
ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 Download PDFInfo
- Publication number
- JP2015049578A JP2015049578A JP2013179328A JP2013179328A JP2015049578A JP 2015049578 A JP2015049578 A JP 2015049578A JP 2013179328 A JP2013179328 A JP 2013179328A JP 2013179328 A JP2013179328 A JP 2013179328A JP 2015049578 A JP2015049578 A JP 2015049578A
- Authority
- JP
- Japan
- Prior art keywords
- question
- user
- item
- recommendation
- probability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Game Theory and Decision Science (AREA)
- Human Computer Interaction (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】ユーザにアドバイス、提案、勧告等を提供するエージェントシステム、エージェント制御方法。【解決手段】プロセッサが、複数のユーザから取得した複数の質問回答データをデータベースに記憶し、前記質問回答データは、各質問に関連付けてインデックス指定され、各勧告に関連付けてインデックス指定されるように構成され、第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、所定の条件を満たすと判定するまで、サブメソッドを繰り返し実行し、前記サブメソッドは、第2基準に基づいてデータベースから質問を選択するステップと、前記選択した質問に対するユーザからの回答を取得するステップと、前記回答に基づいて全ての勧告の確率を更新するステップと、前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、を含み、所定の条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力する。【選択図】図1
Description
本発明は、個々のユーザに適切なアドバイス、提案、勧告等(以下、総称して「アイテム」という)を提供するために、自然言語による「はい/いいえ」形式の質問をユーザに提示し、ユーザからの回答に基づいて、当該ユーザにとって統計的観点から最も意味があり、かつ有効な次の質問を選択し、ユーザとのインタラクティブな知的な会話を繰り返すことで、個々のユーザの事情に適した、適切なアイテムを提供するエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体に関する。
従来より、予めバイナリツリー形式のYes/No形式の質問の集合、すなわち、各質問の回答に応じて次の質問が静的に対応付けられたバイナリツリー形式で質問集合を構成し、バイナリツリーのリーフに所定のアイテムを用意しておく方法が知られている。そして、ユーザに対して、バイナリツリーに従って、質問をして、Yes又はNoの回答に応じて次の質問をする二分割法によるインタフェイスを通じて、ユーザに対して適切なアイテムを推薦することが行われている。
二分割法においては、「あなたは、普段から座りがちの傾向がありますか?」との質問に対する、Noの回答に対応して、次の質問「あなたは、運動することができますか?」をするといった具合に、包括的な回答が得られるまで、バイナリツリーで対応付けられた質問の順番に従って質問を続けることとなる。
二分割法によるアプローチの場合、ユーザの事情に基づいた適切なアイテムを知るためには、多くの質問事項が必要となることは容易に想像できる。しかしながら、色々な事情を考慮して多くの質問事項を用意して、それらを予め静的に関連付ける場合、ユーザ側からすると、これまでの質問と回答からの文脈から外れた質問がなされることも発生し、不自然な会話になることが予想される。例えば、飲み物の会話に続いて、どのようなジャンルの本が好きか、といった質問がなされると、ユーザは、当惑するに違いない。
二分割法においては、「あなたは、普段から座りがちの傾向がありますか?」との質問に対する、Noの回答に対応して、次の質問「あなたは、運動することができますか?」をするといった具合に、包括的な回答が得られるまで、バイナリツリーで対応付けられた質問の順番に従って質問を続けることとなる。
二分割法によるアプローチの場合、ユーザの事情に基づいた適切なアイテムを知るためには、多くの質問事項が必要となることは容易に想像できる。しかしながら、色々な事情を考慮して多くの質問事項を用意して、それらを予め静的に関連付ける場合、ユーザ側からすると、これまでの質問と回答からの文脈から外れた質問がなされることも発生し、不自然な会話になることが予想される。例えば、飲み物の会話に続いて、どのようなジャンルの本が好きか、といった質問がなされると、ユーザは、当惑するに違いない。
このように、バイナリツリー形式の場合、ユーザからのYes/Noの回答に対して、次の質問が固定的に関連付けられているため、多くの質問をユーザに対して投げる必要があり、それが原因で、ユーザにとっては質問が退屈であったり、的外れで、時間を浪費するという問題点があった。
その結果、ユーザのユーザエクスペリエンスを損ない、ユーザロイヤリティを低くする問題点があった。
また、バイナリツリー形式の場合、新たな質問や新たなアイテムの挿入や、既存の質問及びアイテムの修正といったメンテナンスが困難となる課題があった。すなわち、バイナリツリー形式の場合、新たなアイテムや新たな質問の追加又は既存の質問やアイテムの変更に際して、バイナリツリー全体の構成を設定しなおす必要があり、システム管理者にとっては、大きな負担となっていた。
また、多くのユーザの利用履歴データを、バイナリツリー構成に柔軟に反映させることも困難であり、ユーザの利用履歴データにより柔軟にフィードバックできないという課題もあった。
その結果、ユーザのユーザエクスペリエンスを損ない、ユーザロイヤリティを低くする問題点があった。
また、バイナリツリー形式の場合、新たな質問や新たなアイテムの挿入や、既存の質問及びアイテムの修正といったメンテナンスが困難となる課題があった。すなわち、バイナリツリー形式の場合、新たなアイテムや新たな質問の追加又は既存の質問やアイテムの変更に際して、バイナリツリー全体の構成を設定しなおす必要があり、システム管理者にとっては、大きな負担となっていた。
また、多くのユーザの利用履歴データを、バイナリツリー構成に柔軟に反映させることも困難であり、ユーザの利用履歴データにより柔軟にフィードバックできないという課題もあった。
また、以下の特許文献1−5には、ユーザと自然な会話を行うために、ステートメント−レスポンスデータベースを備えたレスポンスエンジンにより、質問とマッチするレスポンスをサーチする技術、新しい診断ケースに対してデータベースに格納された過去の診断ケースとの類似度を計算することで新しい診断ケースの対応策を選択する技術、機械の診断システムにおいて、故障検出器で分析した特徴値から、データベースに格納された、特徴値や重み付けを有する過去の練達されたデータに基づいて、故障の候補を選択する技術、マハラノビス汎距離を用いた類似尺度により、ベイズの推定を用いて、患者がどのクラスターに属するかを示す確率を計算する技術等が開示されている。
このような状況において、バイナリツリー形式のように質問を静的に関連付けておくのではなく、例えば、ユーザのそれまでの回答に基づいて、ユーザにとって最も意味があり、かつ有効な次の質問を動的に適切に選択することができる新たなシステムが望まれている。
また、余分な質問を数多く必要とせず、ユーザに対して、それまでの質問と回答の文脈に沿った自然な質問を発することで、より早く効率的にアイテムを提供できるシステムが望まれている。
また、ユーザのユーザエクスペリエンスをより良くするとともに、ユーザロイヤリティを高めるうえでいい影響を与えることが望まれている。
また新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正といったメンテナンスを柔軟にできるデータ構造が望まれている。
また、多くのユーザの利用履歴データを集めて利用することにより、システムを自立的に発展させることで、より改善されるシステムが望まれている。
なお、上記特許文献1−5に記載された技術は、上記課題を解決するものではない。
また、余分な質問を数多く必要とせず、ユーザに対して、それまでの質問と回答の文脈に沿った自然な質問を発することで、より早く効率的にアイテムを提供できるシステムが望まれている。
また、ユーザのユーザエクスペリエンスをより良くするとともに、ユーザロイヤリティを高めるうえでいい影響を与えることが望まれている。
また新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正といったメンテナンスを柔軟にできるデータ構造が望まれている。
また、多くのユーザの利用履歴データを集めて利用することにより、システムを自立的に発展させることで、より改善されるシステムが望まれている。
なお、上記特許文献1−5に記載された技術は、上記課題を解決するものではない。
本発明は、このような課題に鑑みてなされたものであり、ユーザとそれまでの質問と回答の文脈に沿って自動化されたインタラクティブな自然な会話を実現するためのエージェントシステムを提供することを目的とする。
さらに、二分割アプローチに比較して、ユーザにとって適切なアイテムをより早くより効率的に選択することができるセッションを実現するためのエージェントシステムを提供することを目的とする。
また、本発明は、新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正等のメンテナンスを柔軟にできるデータ構造を提供することを目的とする。
さらに、多くのユーザが本発明にかかるシステムを利用することによって蓄積される利用履歴データを適切に利用し、フィードバックすることにより、システムを自立的に発展させることを目的とする。
こうすることで、本発明は、例えば、ユーザに対して健康に関連した質問を適切に行うことにより、当該ユーザが健康に生活するうえでの適切な勧告を提供することを目的とする。
また、本発明は、例えばファッションに関する質問とファッションに関する勧告、フードに関する質問とフードに関する勧告、レクリエーションに関する質問とレクリエーションに関する勧告、キャリア形成に関する質問とキャリア形成に関する勧告、教育に関する質問と教育に関する勧告等に適用することを目的とする。
さらに、二分割アプローチに比較して、ユーザにとって適切なアイテムをより早くより効率的に選択することができるセッションを実現するためのエージェントシステムを提供することを目的とする。
また、本発明は、新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正等のメンテナンスを柔軟にできるデータ構造を提供することを目的とする。
さらに、多くのユーザが本発明にかかるシステムを利用することによって蓄積される利用履歴データを適切に利用し、フィードバックすることにより、システムを自立的に発展させることを目的とする。
こうすることで、本発明は、例えば、ユーザに対して健康に関連した質問を適切に行うことにより、当該ユーザが健康に生活するうえでの適切な勧告を提供することを目的とする。
また、本発明は、例えばファッションに関する質問とファッションに関する勧告、フードに関する質問とフードに関する勧告、レクリエーションに関する質問とレクリエーションに関する勧告、キャリア形成に関する質問とキャリア形成に関する勧告、教育に関する質問と教育に関する勧告等に適用することを目的とする。
発明者らは、質問及びアイテムの選択に際して、ユーザの利用履歴データやユーザのそれまでの質問に対する回答が得られた状況下で、ベイズ推定を適用することによりアイテムを当該ユーザが正しいとする条件付き確率(事後確率)を算出することで、統計的に意味のある有意義な質問及びアイテムを選択できることを見出し、本発明を完成するに至った。
(1)自動化されたシステムが、ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供する方法であって、前記方法は、
プロセッサが、先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するものであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成され、
プロセッサが予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
プロセッサが、予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するものであって、前記サブメソッドは、
プロセッサが予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
プロセッサが前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
プロセッサが、前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含み、
プロセッサは、予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力すること、と
を含むことを特徴とする方法。
プロセッサが、先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するものであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成され、
プロセッサが予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
プロセッサが、予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するものであって、前記サブメソッドは、
プロセッサが予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
プロセッサが前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
プロセッサが、前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含み、
プロセッサは、予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力すること、と
を含むことを特徴とする方法。
(2)前記(1)に記載の方法において、プロセッサが、前記ユーザからの回答に基づいて前記全ての勧告の確率を更新するステップは、ベイズ推定を含むことを特徴とする方法。
(3)前記(1)又は(2)に記載の方法において、前記サブメソッドは、さらに、プロセッサが、前記ユーザからの回答に基づいて、前記質問回答データを更新するステップを含むことを特徴とする方法。
(4)前記(1)から(3)のいずれかに記載の方法において、前記予め定義された条件は、1番目の勧告候補の確率が2番目の勧告候補の確率の予め定めた整数倍以上となることを含むことを特徴とする方法。
(5)前記(1)から(4)のいずれかに記載の方法において、前記予め定義された第1基準は、前記勧告候補集合が、勧告の確率の大きい順番に累積的に加算し、累積和が総累積数の予め定めた割合になるまでの勧告からなる集合であることを特徴とする方法。
(6)前記(1)から(5)のいずれかに記載の方法において、前記予め定義された第2基準は、前記選択される質問が、前記勧告候補集合における回答の不偏分散又は分散が最も大きな値となることを特徴とする方法。
(7)前記(1)から(6)のいずれかに記載の方法において、前記予め定義された第2基準は、前記勧告候補集合における回答データの不偏分散が最も大きな値となる質問が複数個存在した場合、前記選択される勧告が、前記勧告候補集合における回答の不偏分散又は分散と全ての勧告集合における回答の不偏分散又は分散との比率が最も大きな値となることを特徴とする方法。
(8)自動化されたシステムが、ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するシステムであって、前記システムは、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶する手段であって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される、前記記憶する手段と
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定する手段と、
予め定義された条件を満たすと判定するまで、複数の手段を繰り返し実行する手段であって、前記複数の手段は、
予め定義された第2基準に基づいて前記データベースから質問を選択する手段と、
前記質問を選択する手段で選択した質問に対するユーザからの回答を取得する手段と、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新する手段と、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新する手段と、
を含み、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力する手段、と
を含むことを特徴とするシステム。
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶する手段であって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される、前記記憶する手段と
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定する手段と、
予め定義された条件を満たすと判定するまで、複数の手段を繰り返し実行する手段であって、前記複数の手段は、
予め定義された第2基準に基づいて前記データベースから質問を選択する手段と、
前記質問を選択する手段で選択した質問に対するユーザからの回答を取得する手段と、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新する手段と、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新する手段と、
を含み、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力する手段、と
を含むことを特徴とするシステム。
(9)ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するために、コンピュータに、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラム。
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラム。
(10)ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するために、コンピュータに、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
本発明によれば、ユーザとそれまでの質問と回答の文脈に沿って自動化されたインタラクティブな自然な会話を提供することで、当該エージェントシステムの利用を通じて得られるユーザ体験、いわゆるユーザエクスペリエンスをより良くするとともに、ユーザロイヤリティを高めることができる。
本発明によれば、標準的な二分割法によるアプローチに比較して、結果的にあまり役に立たない質問を排除し、迅速に収束し、より早く、より効率的にユーザに対する適切な勧告を提供することができる。
本発明によれば、仮にユーザが回答を誤った場合であっても、ユーザは他の質問に対する回答に基づいて正しい回答に自動的に戻ることができる。
本発明によれば、過去のユーザ履歴データを利用することにより、エージェントシステムは自動的に自立的に成長することができる。そうすることで、ユーザに対してより適切なアイテムを提供することができる。
本発明によれば、デシジョンツリーモデルのようにデータの再構築をすることなく、新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正等のメンテナンスを柔軟にできる。
本発明によれば、標準的な二分割法によるアプローチに比較して、結果的にあまり役に立たない質問を排除し、迅速に収束し、より早く、より効率的にユーザに対する適切な勧告を提供することができる。
本発明によれば、仮にユーザが回答を誤った場合であっても、ユーザは他の質問に対する回答に基づいて正しい回答に自動的に戻ることができる。
本発明によれば、過去のユーザ履歴データを利用することにより、エージェントシステムは自動的に自立的に成長することができる。そうすることで、ユーザに対してより適切なアイテムを提供することができる。
本発明によれば、デシジョンツリーモデルのようにデータの再構築をすることなく、新たなアイテムや新たな質問の追加、及び既存のアイテムや質問の修正等のメンテナンスを柔軟にできる。
以下、添付した図1〜図11を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態に係るエージェントシステム24の一例の概略的な機能ブロック図である。
図1に示すように、エージェントシステム24は、アイテムマスタデータベース10と、ユーザ履歴データファイル11と、アイテム確率ワークテーブル12と、アイテムマスタデータベース作成更新部8と、ユーザ履歴データファイル作成更新部9と、アイテム確率ワークテーブル初期設定部1と、アイテム候補集合選択部2と、質問選択部3と、質問提示/回答取得部4と、アイテム確率更新部5と、アイテム確率判定部6と、アイテム提示確認部7と、を含む。
図1は、本発明の実施形態に係るエージェントシステム24の一例の概略的な機能ブロック図である。
図1に示すように、エージェントシステム24は、アイテムマスタデータベース10と、ユーザ履歴データファイル11と、アイテム確率ワークテーブル12と、アイテムマスタデータベース作成更新部8と、ユーザ履歴データファイル作成更新部9と、アイテム確率ワークテーブル初期設定部1と、アイテム候補集合選択部2と、質問選択部3と、質問提示/回答取得部4と、アイテム確率更新部5と、アイテム確率判定部6と、アイテム提示確認部7と、を含む。
図2Cに示すように、アイテムマスタデータベース10は、複数の質問と複数のアイテムと、前記複数の質問と前記複数のアイテムに基づいて、先行する複数のユーザから取得した質問回答データに基づいて、前記質問及び前記アイテムとを前記質問に対する回答に関連付けて索引されるように記憶して構築されたアイテムマスタ33を含む。
さらに、図2A、図2B、図2Dに示すように、アイテムマスタデータベース10は、前記複数の質問の各質問について、質問IDと質問の内容を含む質問情報とを格納する質問テーブル31、前記複数のアイテムの各アイテムについて、アイテムIDと、アイテムの内容を含むアイテム情報と、アイテム事前確率と、を格納するアイテムテーブル32、及び先行する複数のユーザから取得した質問回答データに基づいて算出した、各アイテムに対する各質問の尤度を格納するアイテムに対する質問の尤度テーブル34を含む。
さらに、図2A、図2B、図2Dに示すように、アイテムマスタデータベース10は、前記複数の質問の各質問について、質問IDと質問の内容を含む質問情報とを格納する質問テーブル31、前記複数のアイテムの各アイテムについて、アイテムIDと、アイテムの内容を含むアイテム情報と、アイテム事前確率と、を格納するアイテムテーブル32、及び先行する複数のユーザから取得した質問回答データに基づいて算出した、各アイテムに対する各質問の尤度を格納するアイテムに対する質問の尤度テーブル34を含む。
図3Aに示すように、ユーザ履歴データファイル11は、複数のテストユーザや先行する複数のユーザの各ユーザに対応するユーザ履歴データレコードを格納したファイルである。前記ユーザ履歴データレコードは各ユーザ毎に作成され、当該ユーザが回答した質問に対する回答内容を含む質問回答情報と、当該ユーザが同意するアイテム情報と、を含む。図3Bに示すように、アイテム確率ワークテーブル12は、アイテムIDと当該アイテムのその時点におけるユーザにとっての事後確率とを含む。
アイテム確率ワークテーブル初期設定部1は、全てのアイテムについて、各アイテムの事前確率をアイテム確率ワークテーブル12に初期設定する。なお、前記アイテム確率ワークテーブル12は、アイテムIDと当該アイテムのその時点におけるユーザにとっての事後確率とを含むワークテーブルである。
アイテム候補集合選択部2は、アイテム確率ワークテーブル12に記憶されたその時点におけるアイテム事後確率に基づいて、予め定義された第1基準に従って、アイテムを選択し、前記選択したアイテムをアイテム候補集合として特定する。
質問選択部3は、予め定義された第2基準に基づいて質問を選択する。
質問提示/回答取得部4は、前記質問選択部3が選択した質問を提示し、ユーザからの回答を取得する。
アイテム確率更新部5は、前記質問提示/回答取得部4が取得した前記ユーザからの回答に基づいて、当該ユーザに対する各アイテムの事後確率を算出し、アイテム確率ワークテーブル12を更新する。
アイテム確率判定部6は、前記アイテム確率更新部5が更新した前記アイテム確率ワークテーブル12を参照して、アイテム確率が予め設定した条件を満足するか否かを判定する。
判定結果が前記条件を満足すると判定した場合、アイテム提示確認部7に制御を渡す。
判定結果が前記条件を満足しないと判定した場合、前記アイテム確率更新部5が更新した前記アイテム確率が前記条件を満足すると判定するまで、前記アイテム候補集合選択部2、質問選択部3、質問提示/回答取得部4、及びアイテム確率更新部5の実行を繰り返す。
判定結果が前記条件を満足すると判定した場合、アイテム提示確認部7に制御を渡す。
判定結果が前記条件を満足しないと判定した場合、前記アイテム確率更新部5が更新した前記アイテム確率が前記条件を満足すると判定するまで、前記アイテム候補集合選択部2、質問選択部3、質問提示/回答取得部4、及びアイテム確率更新部5の実行を繰り返す。
アイテム提示確認部7は、アイテム確率が前記条件を満たすと判定したアイテムのアイテム情報をアイテムテーブル32から、またアイテムの事後確率をアイテム確率ワークテーブル12から、それぞれ入力し、当該アイテムに係る出力項目を編集して出力する。
アイテムマスタデータベース作成更新部8は、システム管理者からの入力及びユーザ履歴データファイル11に基づいて、質問テーブル31、アイテムテーブル32、アイテムマスタ33、及びアイテムに対する質問の尤度テーブル34を作成又は更新する。
ユーザ履歴データファイル作成更新部9は、テストユーザ、先行するユーザの入力した回答情報、又はエージェントシステム24を利用するユーザの入力した回答情報に基づいて、各ユーザに対応するユーザ履歴データレコードを作成又は更新する。
これら各機能ブロックの詳細な処理内容については、後述する。
これら各機能ブロックの詳細な処理内容については、後述する。
〔システム構成〕
図4を参照して、本発明の実施形態に係るエージェントシステム24の構成について説明する。エージェントシステム24はサーバを含み得る。そして、ユーザはクライアント端末21を利用して、通常、通信ネットワーク22を介してエージェントシステム24と会話する。クライアント端末21及びサーバの関係は、それぞれのコンピュータ上で実行されるとともに互いにクライアント/サーバ関係を有するコンピュータプログラムに基づいて成り立つ。
通信ネットワーク22は、専用線やインターネット等の広域ネットワーク、無線電話網、LAN(Local Area Network)等である。
なお、エージェントシステム24とクライアント端末とをひとつのコンピュータに実装することもできる。
図4を参照して、本発明の実施形態に係るエージェントシステム24の構成について説明する。エージェントシステム24はサーバを含み得る。そして、ユーザはクライアント端末21を利用して、通常、通信ネットワーク22を介してエージェントシステム24と会話する。クライアント端末21及びサーバの関係は、それぞれのコンピュータ上で実行されるとともに互いにクライアント/サーバ関係を有するコンピュータプログラムに基づいて成り立つ。
通信ネットワーク22は、専用線やインターネット等の広域ネットワーク、無線電話網、LAN(Local Area Network)等である。
なお、エージェントシステム24とクライアント端末とをひとつのコンピュータに実装することもできる。
エージェントシステム24(コンピュータ)は、上記のとおり、アイテム確率ワークテーブル初期設定部1、アイテム候補集合選択部2、質問選択部3、質問提示/回答取得部4、アイテム確率更新部5、アイテム確率判定部6、アイテム提示確認部7、アイテムマスタデータベース作成更新部8、及びユーザ履歴データファイル作成更新部9(以下、「機能部」という)と、アイテムマスタデータベース10及びユーザ履歴データファイル11(以上、「データベース」という)と、アイテム確率ワークテーブル12と、を備えて構成される。
本発明のエージェントシステム24の各機能部の実施形態は、データ処理機器、例えばプログラム可能なプロセッサ、コンピュータ、又は多数のコンピュータによる実行のため、又はデータ処理機器の動作を制御するための、コンピュータプログラムとして実装することができる。また、ファームウェア、デジタル電子回路の形でも、その組合せの形でも実装することができる。
前記機能部の実施形態は、1台のコンピュータ上でも、一箇所にある又は数箇所に分散され、通信ネットワーク22によって相互接続された多数のコンピュータでも実行されるように展開することができる。また、「クラウド」上の複数のサーバ等を用いて構成してもよい。
前記機能部の実施形態は、1台のコンピュータ上でも、一箇所にある又は数箇所に分散され、通信ネットワーク22によって相互接続された多数のコンピュータでも実行されるように展開することができる。また、「クラウド」上の複数のサーバ等を用いて構成してもよい。
本発明のエージェントシステム24のデータベースの実施形態は、データベースサーバとして実装することができる。また「クラウド」上の複数のサーバ等を用いて構成してもよい。アイテムマスタデータベース10及びユーザ履歴データファイル11を記憶手段で管理する。
ユーザが本発明の実施形態を実装したエージェントシステム24と会話するために、本発明のクライアント端末21の実施形態は、表示デバイス、入力デバイスを有する全てのコンピュータ、例えばパソコン、携帯端末、スマートフォン、タブレットPC、PDA上で実装することができる。また、クライアント端末21は、エージェントシステム24と会話するためのグラフィカルユーザインターフェイス又はウェブブラウザを有することができる。また、ユーザとの会話をもたらすために、他の種類のデバイスを使用することもできる。例えば、ユーザへの出力は、音響又は音声でもよく、ユーザからの入力は、音響又は音声を含むどの形でも受け取ることができる。
ユーザは、クライアント端末21を用いて、エージェントシステム24にアクセスし、エージェントシステム24とインタラクティブな知的な会話を繰り返すことで、例えば、健康に関係したアドバイス、提案、勧告等の提示を受けることができる。また、システム管理者は、管理者端末23を用いて、管理者権限でエージェントシステム24の各種設定を行うことができる。
本発明の実施形態の方法ステップは、入力データに作用し出力を生成することによって本発明の機能を実施するためのコンピュータプログラムを実行する1つ又は複数のプログラム可能なプロセッサによって実施することができる。また、特殊目的論理回路、例えば、FPGA(書替え可能ゲートアレイ)やASIC(アプリケーション固有集積回路)によって、方法ステップを実施することもできる。
図5A〜図5Cに、クライアント端末21から見た、本発明の一実施形態の概要を示す。
エージェントシステム24は、図5Aに図示しない、最初の質問及び2番目の質問に対するユーザからの回答に基づいて、アイテムの事後確率を更新した後に、図5Aに示すように、エージェントシステム24は、(3番目の)質問その3を選択し、ユーザに対して質問その3を提示する。
ユーザは、質問その3に対して「いいえ」を回答する。
エージェントシステム24は、図5Aに図示しない、最初の質問及び2番目の質問に対するユーザからの回答に基づいて、アイテムの事後確率を更新した後に、図5Aに示すように、エージェントシステム24は、(3番目の)質問その3を選択し、ユーザに対して質問その3を提示する。
ユーザは、質問その3に対して「いいえ」を回答する。
図5Bに、エージェントシステム24が、前記質問その3に対するユーザからの回答「いいえ」に基づいて、アイテムの事後確率を更新し、(4番目の)質問その4を選択し、ユーザに対して質問その4を提示した画面を示す。
エージェントシステム24は、図示しないいくつかの繰り返し処理を行い、アイテムの事後確率が予め設定した条件を満足すると判定したとする。
図5Cに、ユーザに対して、推奨するアイテムを選択して提示した画面を示す。
ここで、各アイテムの右横に記載の数字は、当該ユーザにおけるアイテムの事後確率の値を示す。
そして、これらのアイテムは、当該ユーザにとって、正しいと同意する可能性の高いと考えられる。
このように、本発明のエージェントシステム24は、ユーザとそれまでの質問と回答の文脈に沿って自動化されたインタラクティブな自然な会話を提供する。そして、より早く、より効率的にユーザに対する適切なアイテムを提供する。
次に、エージェントシステム24の機能部の処理内容及びデータベースの構成の詳細について、説明する。
先ずデータベースの構成について説明する。
図5Cに、ユーザに対して、推奨するアイテムを選択して提示した画面を示す。
ここで、各アイテムの右横に記載の数字は、当該ユーザにおけるアイテムの事後確率の値を示す。
そして、これらのアイテムは、当該ユーザにとって、正しいと同意する可能性の高いと考えられる。
このように、本発明のエージェントシステム24は、ユーザとそれまでの質問と回答の文脈に沿って自動化されたインタラクティブな自然な会話を提供する。そして、より早く、より効率的にユーザに対する適切なアイテムを提供する。
次に、エージェントシステム24の機能部の処理内容及びデータベースの構成の詳細について、説明する。
先ずデータベースの構成について説明する。
〔アイテムマスタデータベース10の事前作成〕
本発明のエージェントシステム24によるサービスをユーザに対して提供するためには、予めアイテムマスタデータベース10を事前に作成しておく必要がある。ここでは、アイテムマスタデータベース10を事前に作成するための方法について説明する。
本発明のエージェントシステム24によるサービスをユーザに対して提供するためには、予めアイテムマスタデータベース10を事前に作成しておく必要がある。ここでは、アイテムマスタデータベース10を事前に作成するための方法について説明する。
図6を参照してアイテムマスタデータベース10を初期作成する方法について説明する。
先ず、本発明の大きな特徴であるアイテムと質問との関連付けについて説明する。
アイテムと質問との関連付けを行うために、予め、図2A〜図2Bに示すように、複数のアイテムと複数の質問とが、質問テーブル31及びアイテムテーブル32として用意される(ステップ101)。そして、前記複数の質問と前記複数のアイテムとを関連付けを行うための質問を、多数、例えば1万人のテストユーザに対して行うことで、前記複数の質問と前記複数のアイテムとを関連付けるための各種データを取得する(ステップ102)。
先ず、本発明の大きな特徴であるアイテムと質問との関連付けについて説明する。
アイテムと質問との関連付けを行うために、予め、図2A〜図2Bに示すように、複数のアイテムと複数の質問とが、質問テーブル31及びアイテムテーブル32として用意される(ステップ101)。そして、前記複数の質問と前記複数のアイテムとを関連付けを行うための質問を、多数、例えば1万人のテストユーザに対して行うことで、前記複数の質問と前記複数のアイテムとを関連付けるための各種データを取得する(ステップ102)。
ここで、テストユーザに対する質問は、次のようになされる。
各テストユーザに質問αを質問する。ここで、質問αは、その回答が、「はい」、「いいえ」、及び「わからない」となる3択式の質問である。当該質問αに対して、ユーザは、「はい」、「いいえ」、又は「わからない」との回答を行う。
ユーザが質問αに対して「はい」と回答した事象をαYes、
ユーザが質問αに対して「いいえ」と回答した事象をαNo、
ユーザが質問αに対して「わからない」と回答した事象をαNeitherで表わす。
すなわち、複数のユーザに質問αをしたときに、各ユーザは、αYes、αNo、αNeitherのいずれかひとつの事象に属するということができる。
各テストユーザに質問αを質問する。ここで、質問αは、その回答が、「はい」、「いいえ」、及び「わからない」となる3択式の質問である。当該質問αに対して、ユーザは、「はい」、「いいえ」、又は「わからない」との回答を行う。
ユーザが質問αに対して「はい」と回答した事象をαYes、
ユーザが質問αに対して「いいえ」と回答した事象をαNo、
ユーザが質問αに対して「わからない」と回答した事象をαNeitherで表わす。
すなわち、複数のユーザに質問αをしたときに、各ユーザは、αYes、αNo、αNeitherのいずれかひとつの事象に属するということができる。
次に、各ユーザに対して、アイテムAへの勧告がユーザにとって正しいかどうか、を質問する。アイテムAへの勧告が正しいかどうか、との質問は、その回答が、(1)はい、そのようにしたい、又は(2)いいえの2択式の質問である。そして、アイテム毎にユーザの回答を収集する。
なお、前記ユーザからの回答の電子化は、データシートから例えばOCR処理を利用して電子化することができる。また例えば、Web画面から直接ユーザからの回答を直接電子データとして収集することも可能である。
なお、前記ユーザからの回答の電子化は、データシートから例えばOCR処理を利用して電子化することができる。また例えば、Web画面から直接ユーザからの回答を直接電子データとして収集することも可能である。
ユーザ履歴データファイル11とは、図3Aに示したとおり、ユーザ毎に記録されたレコードを記録したファイルである。ユーザが質問に対して、「はい」、「いいえ」、及び「わからない」のいずれを回答したか、また、当該ユーザがアイテムへの勧告に対して、(1)はい、そのようにしたい、又は(2)いいえのいずれを回答したか、を記録したユーザ履歴データレコードを格納したファイルである。
ユーザ履歴データファイル作成更新部9は、各ユーザから得られた回答に基づいて、図3Aに示すユーザ履歴データレコードをユーザ履歴データファイル11に記憶する(ステップ103)。ここで、ユーザ履歴レコードは、1レコードに「(1)はい、そのようにしたい」と回答されたアイテムを1つだけ含むように正規化する。
次に、アイテムマスタデータベース作成更新部8は、前記ユーザ履歴データファイル11の、「(1)はい、そのようにしたい」と回答されたアイテムを含むレコードを入力して、アイテム毎に、例えば、アイテムAへの勧告を「(1)はい、そのようにしたい」と回答したレコード数のうち、質問αに「はい」と回答したレコード数の割合を算出する。(以下、P(αYes|A)と表記する。)
同様に、アイテムAへの勧告を「(1)はい、そのようにしたい」と回答したレコード数のうち、質問αに「いいえ」と回答したレコード数の割合を算出する。(以下、P(αNo|A)、と表記する。)
同様に、アイテムAへの勧告を「(1)はい、そのようにしたい」と回答したレコード数のうち、質問αに「わからない」と回答したレコード数の割合を算出する。(以下、P(αNeither|A)と表記する。)以上を全てのアイテムと全ての質問に対して実行する (ステップ104)。
同様に、アイテムAへの勧告を「(1)はい、そのようにしたい」と回答したレコード数のうち、質問αに「いいえ」と回答したレコード数の割合を算出する。(以下、P(αNo|A)、と表記する。)
同様に、アイテムAへの勧告を「(1)はい、そのようにしたい」と回答したレコード数のうち、質問αに「わからない」と回答したレコード数の割合を算出する。(以下、P(αNeither|A)と表記する。)以上を全てのアイテムと全ての質問に対して実行する (ステップ104)。
ここで、前記P(αYes|A)、P(αNo|A)、及びP(αNeither|A)をそれぞれ、アイテムAに対する事象αYesの尤度(likelihood)、アイテムAに対する事象αNoの尤度、及びアイテムAに対する事象αNeitherの尤度という。なお、これら3つの尤度を総称して、アイテムAに対する質問αの尤度P(α|A)という。
以下、簡単のため、アイテムAに対する質問αの尤度P(α|A)は、前記集合{P(αYes|A)、P(αNo|A)、及びP(αNeither|A)}を意味するものとする。
以下、簡単のため、アイテムAに対する質問αの尤度P(α|A)は、前記集合{P(αYes|A)、P(αNo|A)、及びP(αNeither|A)}を意味するものとする。
アイテムAに対する質問αの尤度とは、ユーザがアイテムAへの勧告を「(1)はい、そのようにしたい」と回答したときに、P(αYes|A)は、質問αに対して「はい」と回答していることのありえる程度(尤度)であり、P(αNo|A)は、質問αに対して「いいえ」と回答していることのありえる程度(尤度)であり、同様に、P(αNeither|A)は、質問αに対して「わからない」と回答していることのありえる程度(尤度)といえる。
後述するように、アイテムAに対する質問αの尤度は、ユーザから質問αに対する回答を取得した後に、ベイズの推定に基づいて、当該回答の事象が発生した下で、各アイテムを当該ユーザが正しいと同意する、条件付き確率を意味するアイテムの事後確率の計算に用いられる。
アイテムマスタデータベース作成更新部8は、算出したアイテムAに対する質問αの尤度P(α|A)を図2Dに示すように、アイテムに対する質問の尤度テーブル34に記憶する(ステップ105)。
ここで、アイテムAと質問αとの関係付けについて説明する。前記算出された、アイテムAに対する質問αの尤度P(α|A)、すなわちP(αYes|A)及びP(αNo|A)、に基づいて、アイテムAとアイテムαとのYes/No関係を次のように定める。
P(αYes|A)の値がP(αNo|A)の値より大きい場合、質問αとアイテムAとの関係はYes関係にあるという。逆に、P(αNo|A)の数値がP(αYes|A)の値よりも大きい場合、質問αとアイテムAとの関係はNo関係にあるという。
なお、両者の値が等しい場合は、予め定めた優先順位に従って、決定する
P(αYes|A)の値がP(αNo|A)の値より大きい場合、質問αとアイテムAとの関係はYes関係にあるという。逆に、P(αNo|A)の数値がP(αYes|A)の値よりも大きい場合、質問αとアイテムAとの関係はNo関係にあるという。
なお、両者の値が等しい場合は、予め定めた優先順位に従って、決定する
図6に示すように、アイテムマスタデータベース作成更新部8は、尤度P(α|A)に基づいて、各アイテムと各質問とのYes/No関係をアイテムマスタ33に記憶する(ステップ106)。
例えば、図2Cを参照すると、質問αは、アイテムAとYes関係にあり、アイテムBとはNo関係にあることがわかる。
例えば、図2Cを参照すると、質問αは、アイテムAとYes関係にあり、アイテムBとはNo関係にあることがわかる。
以上のように、エージェントシステム24は、予め用意した全てのアイテムと予め用意した全ての質問について、質問テーブル31と、アイテムテーブル32と、前記複数の質問と前記複数のアイテムとに基づいて、先行する複数のテストユーザから取得した複数の質問に対する回答データに基づいて、Yes/No関係を複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されたアイテムマスタ33と、アイテムに対する質問の尤度テーブル34とを、アイテムマスタデータベース10に記憶する。
本発明のエージェントシステム24は、アイテムマスタデータベース10に基づいて動作する。本発明のエージェントシステム24の各機能部の処理内容を図7〜図11に従って、説明する。
〔アイテムの事前確率の算出〕
アイテムの事前確率を算出する方法について触れておく。
1つの方法は、全てのアイテムの同意される確率を等しいものと定義する方法である。
他の方法は、ユーザの集合(例えば、1万人のユーザ)において、各ユーザにとって正しいと同意するアイテムがわかっている場合、このデータに基づいて、アイテムの事前確率を設定する方法である。
また、サービス提供側での予測に基づいて、アイテムの事前確率を決定し、アイテム間に傾斜をかけることもできる。
なお、上記の方法は一例であって、これらに限定するものではない。
また、いずれの方法であっても、全てのアイテムの事前確率の総計は1(100%)となる。
アイテムの事前確率を算出する方法について触れておく。
1つの方法は、全てのアイテムの同意される確率を等しいものと定義する方法である。
他の方法は、ユーザの集合(例えば、1万人のユーザ)において、各ユーザにとって正しいと同意するアイテムがわかっている場合、このデータに基づいて、アイテムの事前確率を設定する方法である。
また、サービス提供側での予測に基づいて、アイテムの事前確率を決定し、アイテム間に傾斜をかけることもできる。
なお、上記の方法は一例であって、これらに限定するものではない。
また、いずれの方法であっても、全てのアイテムの事前確率の総計は1(100%)となる。
〔アイテムの事前確率の初期設定〕
ユーザに対する最初(1番目)の質問を選択する際には、予め設定されたアイテムの事前確率に基づいてアイテム候補集合を選択する。
このため、アイテム候補集合選択部2の最初の実行に先立って、アイテム確率初期設定部は、全てのアイテムについて、アイテム識別番号とアイテムの事後確率とを対応づけたアイテム確率ワークテーブル12に前記アイテムの事前確率を初期設定する。
なお、アイテム確率ワークテーブル12は、質問の回答がなされる毎に、算出されるアイテムの事後確率を記憶するための、当該ユーザ毎に作成されるワークテーブルである。
ユーザに対する最初(1番目)の質問を選択する際には、予め設定されたアイテムの事前確率に基づいてアイテム候補集合を選択する。
このため、アイテム候補集合選択部2の最初の実行に先立って、アイテム確率初期設定部は、全てのアイテムについて、アイテム識別番号とアイテムの事後確率とを対応づけたアイテム確率ワークテーブル12に前記アイテムの事前確率を初期設定する。
なお、アイテム確率ワークテーブル12は、質問の回答がなされる毎に、算出されるアイテムの事後確率を記憶するための、当該ユーザ毎に作成されるワークテーブルである。
〔アイテム候補集合の選択と質問の選択〕
図7には、図1に示したアイテム候補集合選択部2と質問選択部3が実行する処理について記載している。
ユーザにn番目(nは1以上の自然数)の質問を選択するときの処理内容を図7に示す。アイテム候補集合選択部2は、前記アイテム確率ワークテーブル12に設定されたアイテムの事後確率をその値の大きい順に並べて大きい順に累積的に加算する。そして、その累積和が、予め定義された第1基準を超えるまでの複数のアイテムを選択し、選択したアイテムからなる集合をn番目(nは1以上の自然数)のアイテム候補集合とする。
図7には、図1に示したアイテム候補集合選択部2と質問選択部3が実行する処理について記載している。
ユーザにn番目(nは1以上の自然数)の質問を選択するときの処理内容を図7に示す。アイテム候補集合選択部2は、前記アイテム確率ワークテーブル12に設定されたアイテムの事後確率をその値の大きい順に並べて大きい順に累積的に加算する。そして、その累積和が、予め定義された第1基準を超えるまでの複数のアイテムを選択し、選択したアイテムからなる集合をn番目(nは1以上の自然数)のアイテム候補集合とする。
ここで、前記第1基準は、例えば全てのアイテムの事後確率総計に対する予め設定された割合であって、例えば50%としてもよい。第1基準は、システム管理者がエージェントシステム24に設定する任意のパラメータである。
質問選択部3は、n番目の質問を前記アイテム候補集合選択部2が選択したn番目のアイテム候補集合に基づいて、以下のように自動的に選択する。
質問選択部3は、アイテムマスタ33に記憶された各質問毎に、当該質問及び前記n番目のアイテム候補集合に属するアイテムとを関連付けるYes/Noデータを抽出する。
質問α及び質問βについて、前記アイテム候補集合に属するアイテムのYes/Noデータを抽出した例が図7に示されている。図7を参照すると、質問αは、アイテム候補集合15個のアイテムのうち、7個のアイテムとYesで関連付けられ、8個のアイテムとNoで関連付けられている。これに対して、質問βは、アイテム候補集合15個のアイテムのうち、3個のアイテムとYesで関連付けられ、12個のアイテムとNoで関連付けられている。
ここで、仮に質問αをユーザに提示したと仮定する。ユーザがYesと回答した場合、質問αとYesで関連付けられた7個のアイテムの事後確率の値が増加し、質問αとNoで関連付けられた8個のアイテムの事後確率の値が減少することが想定される。逆に、ユーザがNoと回答した場合、質問αとNoで関連付けられた8個のアイテムの事後確率の値が増加し、質問αとYesで関連付けられた7個のアイテムの事後確率の値が減少することが想定される。すなわち、ユーザのYes/Noの回答に関わらず、n番目のアイテム候補集合の半分のアイテムの事後確率が増加し、残り半分のアイテムの事後確率が減少する。
これに対して、仮に質問βをユーザに提示したと仮定する。ユーザがNoと回答した場合、質問βとNoで関連付けられた12個のアイテムの事後確率の値が増加し、質問βとYesで関連付けられた3個のアイテムの事後確率の値が減少することが想定される。
この場合は、12個のアイテムの事後確率の値が増加することで、アイテムの事後確率の収束効率が良くないと考えられる。
従って、‘良い’質問とは、アイテム候補集合をYesとNoの関連付けで見た場合に、前記アイテム候補集合をちょうど半々に分割する質問αが望ましい。
ここで、仮に質問αをユーザに提示したと仮定する。ユーザがYesと回答した場合、質問αとYesで関連付けられた7個のアイテムの事後確率の値が増加し、質問αとNoで関連付けられた8個のアイテムの事後確率の値が減少することが想定される。逆に、ユーザがNoと回答した場合、質問αとNoで関連付けられた8個のアイテムの事後確率の値が増加し、質問αとYesで関連付けられた7個のアイテムの事後確率の値が減少することが想定される。すなわち、ユーザのYes/Noの回答に関わらず、n番目のアイテム候補集合の半分のアイテムの事後確率が増加し、残り半分のアイテムの事後確率が減少する。
これに対して、仮に質問βをユーザに提示したと仮定する。ユーザがNoと回答した場合、質問βとNoで関連付けられた12個のアイテムの事後確率の値が増加し、質問βとYesで関連付けられた3個のアイテムの事後確率の値が減少することが想定される。
この場合は、12個のアイテムの事後確率の値が増加することで、アイテムの事後確率の収束効率が良くないと考えられる。
従って、‘良い’質問とは、アイテム候補集合をYesとNoの関連付けで見た場合に、前記アイテム候補集合をちょうど半々に分割する質問αが望ましい。
質問選択部3は、前記n番目のアイテム候補集合を半々に分割する質問を選択するという第2基準に従って質問を自動的に選択する。このために、質問選択部3は、アイテムマスタに記憶された各質問毎に、前記アイテム候補集合の各アイテムと前記質問とを関連付けるYes/Noデータの分散を計算する。ここでは、標本分散を求めるため、不偏分散を使用する。
具体的には、アイテムマスタの各質問毎に、前記アイテム候補集合の各アイテムと関連付けるYes/Noデータを、アイテムマスタから入力し、当該Yes/NoデータがYesの場合は値1、Noの場合は値0を代入して、前記質問の前記アイテム候補集合におけるYes/Noデータの不偏分散を算出する。
具体的には、アイテムマスタの各質問毎に、前記アイテム候補集合の各アイテムと関連付けるYes/Noデータを、アイテムマスタから入力し、当該Yes/NoデータがYesの場合は値1、Noの場合は値0を代入して、前記質問の前記アイテム候補集合におけるYes/Noデータの不偏分散を算出する。
不偏分散は、式(1)で定義される。
V = (1/N−1)Σ (μ−Xi)2
・・・式(1)
ここで、Xiは、前記アイテム候補集合に属するアイテムのYes/Noデータの値
μは、前記アイテム候補集合に属するアイテムのYes/Noデータの値の平均値
Nは、前記アイテム候補集合に属するアイテムの個数
V = (1/N−1)Σ (μ−Xi)2
・・・式(1)
ここで、Xiは、前記アイテム候補集合に属するアイテムのYes/Noデータの値
μは、前記アイテム候補集合に属するアイテムのYes/Noデータの値の平均値
Nは、前記アイテム候補集合に属するアイテムの個数
全ての質問の前記アイテム候補集合におけるYes/Noデータの不偏分散を算出した後、質問選択部3は、各質問の前記アイテム候補集合におけるYes/Noデータの不偏分散が最も大きな値を有する質問を、ユーザに提示する質問として選択する。
例えば、上記の図7の記載例における質問αの不偏分散は0.266667、質問βの不偏分散は0.171429となるから、質問αが選択される。
例えば、上記の図7の記載例における質問αの不偏分散は0.266667、質問βの不偏分散は0.171429となるから、質問αが選択される。
なお、複数の質問が、前記アイテム候補集合におけるYes/Noデータの不偏分散が同じ大きさの不偏分散である場合に、質問選択部3は、さらに、次の処理を行うことができる。
〔質問の選択における条件追加〕
図9を参照して説明する。図9に示すように、質問αと質問γとは、ともに、アイテム候補集合を半分に分割する。しかしながら、質問αは、アイテム全体集合からみると、そのYes/NoデータがYes/Noのいずれかに偏っていることがわかる、他方、質問γは、アイテム全体集合からみると、そのYes/Noデータが半々になっていることがわかる。
この場合、質問αは、アイテムの全体集合から全体の中の特別なエリアを切り取ると解される。このことは、質問αがアイテム候補集合にとって、より特別な意味のある質問であることを示唆する。
図9を参照して説明する。図9に示すように、質問αと質問γとは、ともに、アイテム候補集合を半分に分割する。しかしながら、質問αは、アイテム全体集合からみると、そのYes/NoデータがYes/Noのいずれかに偏っていることがわかる、他方、質問γは、アイテム全体集合からみると、そのYes/Noデータが半々になっていることがわかる。
この場合、質問αは、アイテムの全体集合から全体の中の特別なエリアを切り取ると解される。このことは、質問αがアイテム候補集合にとって、より特別な意味のある質問であることを示唆する。
以上から、複数の質問について前記アイテム候補集合におけるYes/Noデータの不偏分散が同じ大きさの不偏分散である場合に、質問選択部3は、前記第2基準に新たな条件を付加して、次の処理を行うことができる。
複数個の質問の前記アイテム候補集合におけるYes/Noデータの不偏分散が同じ値である場合、質問選択部3は、前記複数個の質問の各質問に対して、全てのアイテムと関連付けるYes/Noデータを、アイテムマスタ33から入力し、各質問の全てのアイテム集合におけるYes/Noデータの不偏分散を算出する。
前記複数個の質問の前記アイテム候補集合におけるYes/Noデータの不偏分散を算出した後、質問選択部3は、各質問の前記アイテム候補集合に属するアイテムのYes/Noデータの不偏分散の当該質問の全てのアイテム集合のYes/Noデータの不偏分散に対する比率が最も大きい質問を選択する。
こうすることで、質問選択部3は、より効率的な質問を自動的に選択することが可能となる。このように、標準的な二分割法によるアプローチに比較して、結果的にあまり役に立たない質問を排除し、迅速に収束し、より早く、より効率的にユーザに対する適切な勧告を提供することができる。
複数個の質問の前記アイテム候補集合におけるYes/Noデータの不偏分散が同じ値である場合、質問選択部3は、前記複数個の質問の各質問に対して、全てのアイテムと関連付けるYes/Noデータを、アイテムマスタ33から入力し、各質問の全てのアイテム集合におけるYes/Noデータの不偏分散を算出する。
前記複数個の質問の前記アイテム候補集合におけるYes/Noデータの不偏分散を算出した後、質問選択部3は、各質問の前記アイテム候補集合に属するアイテムのYes/Noデータの不偏分散の当該質問の全てのアイテム集合のYes/Noデータの不偏分散に対する比率が最も大きい質問を選択する。
こうすることで、質問選択部3は、より効率的な質問を自動的に選択することが可能となる。このように、標準的な二分割法によるアプローチに比較して、結果的にあまり役に立たない質問を排除し、迅速に収束し、より早く、より効率的にユーザに対する適切な勧告を提供することができる。
図9の例における質問α及び質問γのアイテム候補集合に属するアイテムのYes/Noデータの不偏分散はともに0.266667である。他方、全てのアイテム集合に属するアイテムのYes/Noデータの不偏分散は、質問αは、0.229885、質問γは0.258621である。比率を計算すると、
質問αは、0.266667/0.229885=1.16
質問γは、0.266667/0.258621=1.03
となることから、質問αが選択される。
質問αは、0.266667/0.229885=1.16
質問γは、0.266667/0.258621=1.03
となることから、質問αが選択される。
〔質問の提示と回答の取得〕
質問提示/回答取得部4は、質問選択部3が選択した質問を図1に図示しない通信処理部を介して、クライアント端末21に送信する。質問提示/回答取得部4は、クライアント端末21からユーザにより入力された回答を前記通信処理部を介して、当該質問に対する回答、例えば、(1)はい、(2)いいえ、及び(3)わからない、を取得する。
質問提示/回答取得部4は、ユーザに提示した質問及びユーザから取得した回答に基づいて、ユーザ履歴データファイル作成更新部9を介して、ユーザ履歴データファイル11にユーザ履歴データレコードを作成又は更新する。
なお、システム構成の説明で記載したように、クライアント端末21は、エージェントシステム24と会話するためのグラフィカルユーザインターフェイス又はウェブブラウザを有することができる。また、ユーザとの会話をもたらすために、他の種類のデバイスを使用することもできる。例えば、ユーザへの出力は、音響又は音声でもよく、ユーザからの入力は、音響又は音声を含むどの形でも受け取ることができる。
質問提示/回答取得部4は、質問選択部3が選択した質問を図1に図示しない通信処理部を介して、クライアント端末21に送信する。質問提示/回答取得部4は、クライアント端末21からユーザにより入力された回答を前記通信処理部を介して、当該質問に対する回答、例えば、(1)はい、(2)いいえ、及び(3)わからない、を取得する。
質問提示/回答取得部4は、ユーザに提示した質問及びユーザから取得した回答に基づいて、ユーザ履歴データファイル作成更新部9を介して、ユーザ履歴データファイル11にユーザ履歴データレコードを作成又は更新する。
なお、システム構成の説明で記載したように、クライアント端末21は、エージェントシステム24と会話するためのグラフィカルユーザインターフェイス又はウェブブラウザを有することができる。また、ユーザとの会話をもたらすために、他の種類のデバイスを使用することもできる。例えば、ユーザへの出力は、音響又は音声でもよく、ユーザからの入力は、音響又は音声を含むどの形でも受け取ることができる。
〔回答に基づくアイテム事後確率の計算〕
図7には、アイテム確率更新部5の機能について記載している。
アイテム確率更新部5は、質問αに対するユーザの回答を取得した後に、ベイズ推定を用いて、当該ユーザがアイテムへの勧告を正しいと同意する確率(アイテムの事後確率)を算出する。
図7には、アイテム確率更新部5の機能について記載している。
アイテム確率更新部5は、質問αに対するユーザの回答を取得した後に、ベイズ推定を用いて、当該ユーザがアイテムへの勧告を正しいと同意する確率(アイテムの事後確率)を算出する。
〔ベイズ推定〕
アイテム確率更新部5の処理内容の説明に先立ち、ベイズ推定について説明する。
本発明におけるベイズ推定は、以下のものである。
アイテムAへの勧告にユーザが同意する事前確率をP(A)とし、ユーザに最初(1番目)の質問αがなされてその回答「はい」(事象αYes)、「いいえ」(事象αNo)、及び「わからない」(事象αNeither)が得られた状況下で、アイテムAへの勧告を当該ユーザが正しいとする条件付き確率(事後確率)を、それぞれ、P(A|αYes)、P(A|αNo)、及びP(A|αNeither)とすると、ベイズの定理により、以下の式(2)〜式(4)で定義される。
アイテム確率更新部5の処理内容の説明に先立ち、ベイズ推定について説明する。
本発明におけるベイズ推定は、以下のものである。
アイテムAへの勧告にユーザが同意する事前確率をP(A)とし、ユーザに最初(1番目)の質問αがなされてその回答「はい」(事象αYes)、「いいえ」(事象αNo)、及び「わからない」(事象αNeither)が得られた状況下で、アイテムAへの勧告を当該ユーザが正しいとする条件付き確率(事後確率)を、それぞれ、P(A|αYes)、P(A|αNo)、及びP(A|αNeither)とすると、ベイズの定理により、以下の式(2)〜式(4)で定義される。
P(A|αYes) = P(αYes|A)P(A)/ ΣX{P(αYes|X)P(X)}
・・・式(2)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(αYes|X)は、アイテムXに対する事象αYesの尤度を指す。
P(A|αNo) = P(αNo|A)P(A)/ ΣX{P(αNo|X)P(X)}
・・・式(3)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(αNo|X)は、アイテムXに対する事象αNoの尤度を指す。
P(A|αNeither) = P(αNeither|A)P(A)/ ΣX{P(αNeither|X)P(X)}
・・・式(4)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(αNeither|X)は、アイテムXに対する事象αNeitherの尤度を指す。
・・・式(2)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(αYes|X)は、アイテムXに対する事象αYesの尤度を指す。
P(A|αNo) = P(αNo|A)P(A)/ ΣX{P(αNo|X)P(X)}
・・・式(3)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(αNo|X)は、アイテムXに対する事象αNoの尤度を指す。
P(A|αNeither) = P(αNeither|A)P(A)/ ΣX{P(αNeither|X)P(X)}
・・・式(4)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(αNeither|X)は、アイテムXに対する事象αNeitherの尤度を指す。
n番目の質問がなされ、対応するn番目の回答が得られると、アイテム確率更新部5は、各アイテムの(n−1)番目の事後確率とn番目の回答とに基づいて、各アイテムのn番目の事後確率を再計算する。同様に、(n+1)番目の質問がなされ、対応する(n+1)番目の回答が得られると、アイテム確率更新部5は、各アイテムのn番目の事後確率と(n+1)番目の回答とに基づいて、アイテムの(n+1)番目の事後確率を再計算することで、事後確率の高いアイテムを得られるようになる。
Pn−1(A)をアイテムAの(n−1)番目の事後確率として、ユーザにn番目の質問βがなされて、対応するn番目の回答「はい」(事象βYes)、「いいえ」(事象βNo)、及び「わからない」(事象βNeither)が得られた状況下で、アイテムAへの勧告を当該ユーザが正しいとする条件付き確率(事後確率)を、それぞれ、Pn(A|βYes)、Pn(A|βNo)、及びPn(A|βNeither)とすると、ベイズの定理により、以下の式(5)〜(7)で定義される。
なお、P0(A)=P(A)(事前確率)である。
なお、P0(A)=P(A)(事前確率)である。
Pn(A|βYes)
= P(βYes|A)Pn−1(A)/ ΣX{P(βYes|X)Pn−1(X)}
・・・式(5)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(βYes|X)は、アイテムXに対する事象αYesの尤度を指す。
Pn(A|βNo)
= P(βNo|A)Pn−1(A)/ ΣX{P(βNo|X)Pn−1(X)}
・・・式(6)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(βNo|X)は、アイテムXに対する事象αNoの尤度を指す。
Pn(A|βNeither)
= P(βNeither|A)Pn−1(A)/ ΣX{P(βNeither|X)Pn−1(X)}
・・・式(7)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(βNeither|X)は、アイテムXに対する事象αNeitherの尤度を指す。
= P(βYes|A)Pn−1(A)/ ΣX{P(βYes|X)Pn−1(X)}
・・・式(5)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(βYes|X)は、アイテムXに対する事象αYesの尤度を指す。
Pn(A|βNo)
= P(βNo|A)Pn−1(A)/ ΣX{P(βNo|X)Pn−1(X)}
・・・式(6)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(βNo|X)は、アイテムXに対する事象αNoの尤度を指す。
Pn(A|βNeither)
= P(βNeither|A)Pn−1(A)/ ΣX{P(βNeither|X)Pn−1(X)}
・・・式(7)
ΣXは、全てのアイテムXにまたがる総和を意味する。
P(βNeither|X)は、アイテムXに対する事象αNeitherの尤度を指す。
〔アイテム確率更新部5〕
アイテム確率更新部5の処理内容について式(2)〜(7)を参照して説明する。
アイテム確率更新部5は、質問提示/回答取得部4を介して得られたユーザからの回答に基づいて、各アイテムを当該ユーザが正しいと同意する条件付き確率(事後確率)を求める。
アイテム確率更新部5の処理内容について式(2)〜(7)を参照して説明する。
アイテム確率更新部5は、質問提示/回答取得部4を介して得られたユーザからの回答に基づいて、各アイテムを当該ユーザが正しいと同意する条件付き確率(事後確率)を求める。
具体的には、アイテム確率更新部5は、当該質問αがユーザに対して最初(1番目)の質問であった場合、ユーザからの回答「はい」(事象αYes)、「いいえ」(事象αNo)、及び「わからない」(事象αNeither)に基づいて、アイテムに対する質問の尤度テーブル34から各アイテムに対する質問αの尤度を入力し、アイテム確率ワークテーブル12から各アイテムの事前確率を入力し、それぞれ式(2)、式(3)、及び式(4)に従って、各アイテムの事後確率を算出する。その後、算出した各アイテムの事後確率に基づいてアイテム確率ワークテーブル12を更新する。
アイテム確率更新部5は、当該質問βがユーザに対してn番目(n>1)の質問であった場合、その回答「はい」(事象βYes)、「いいえ」(事象βNo)、及び「わからない」(事象βNeither)に基づいて、アイテムに対する質問の尤度テーブル34から各アイテムに対する質問βの尤度を入力し、アイテム確率ワークテーブル12から各アイテムの事後確率を入力し、それぞれ式(5)、式(6)、及び式(7)に従って、各アイテムのn番目の事後確率を算出する。その後、算出した各アイテムのn番目の事後確率に基づいてアイテム確率ワークテーブル12を更新する。アイテム確率更新部5は、更新履歴をアイテム確率ワークテーブル12に記録してもよい。
アイテム確率更新部5は、当該質問βがユーザに対してn番目(n>1)の質問であった場合、その回答「はい」(事象βYes)、「いいえ」(事象βNo)、及び「わからない」(事象βNeither)に基づいて、アイテムに対する質問の尤度テーブル34から各アイテムに対する質問βの尤度を入力し、アイテム確率ワークテーブル12から各アイテムの事後確率を入力し、それぞれ式(5)、式(6)、及び式(7)に従って、各アイテムのn番目の事後確率を算出する。その後、算出した各アイテムのn番目の事後確率に基づいてアイテム確率ワークテーブル12を更新する。アイテム確率更新部5は、更新履歴をアイテム確率ワークテーブル12に記録してもよい。
そうすることで、例えば最初の質問αについて、図7に示したように、ユーザの回答が「いいえ」であった場合、質問αに対する回答「いいえ」に対応付けられたアイテムの事後確率の値は増加し、逆に質問αに対する回答「はい」に対応付けられたアイテムの事後確率の値は減少することが期待され、当該ユーザが正しいと同意するアイテムの選択がより効率的に収束することが可能となる。
なお、図10に示すように、ある時点でアイテム候補集合から外れたアイテムは、次回以降の質問に対する回答によって、アイテム候補集合に復活することがある。すなわち、本発明のアイテム確率更新部5の前記機能により、仮に誤った回答を応答し、一時的にアイテムの事後確率の値は減少した場合であっても、次回以降の質問に対して正しい回答をすることによって、前記アイテムの事後確率の値が増加する。そうすることで、アイテム候補集合選択部2が当該ユーザが正しいと同意するアイテムを再び候補集合に選択することができる。このように仮にユーザが回答を誤った場合であっても、ユーザは他の質問に対する回答に基づいて正しい回答に自動的に戻ることができる。
なお、図10に示すように、ある時点でアイテム候補集合から外れたアイテムは、次回以降の質問に対する回答によって、アイテム候補集合に復活することがある。すなわち、本発明のアイテム確率更新部5の前記機能により、仮に誤った回答を応答し、一時的にアイテムの事後確率の値は減少した場合であっても、次回以降の質問に対して正しい回答をすることによって、前記アイテムの事後確率の値が増加する。そうすることで、アイテム候補集合選択部2が当該ユーザが正しいと同意するアイテムを再び候補集合に選択することができる。このように仮にユーザが回答を誤った場合であっても、ユーザは他の質問に対する回答に基づいて正しい回答に自動的に戻ることができる。
〔アイテム確率判定部6〕
アイテム確率判定部6は、アイテム確率ワークテーブル12に記憶されたアイテム確率を参照して、予めエージェントシステム24に設定されたアイテム提供条件を満たすかどうか、判定する。
ここで、アイテム提供条件は、例えば、アイテム確率ワークテーブル12に記憶されたアイテム確率をその値の大きい順に並べたときに、例えば、1番目のアイテム確率が2番目のアイテム確率の2倍以上の値をとること、又は1番目のアイテム確率が50%を超えるものであること等、システム管理者がエージェントシステム24に任意に設定する。
アイテム確率判定部6は、アイテム確率ワークテーブル12に記憶されたアイテム確率を参照して、予めエージェントシステム24に設定されたアイテム提供条件を満たすかどうか、判定する。
ここで、アイテム提供条件は、例えば、アイテム確率ワークテーブル12に記憶されたアイテム確率をその値の大きい順に並べたときに、例えば、1番目のアイテム確率が2番目のアイテム確率の2倍以上の値をとること、又は1番目のアイテム確率が50%を超えるものであること等、システム管理者がエージェントシステム24に任意に設定する。
アイテム確率判定部6が、アイテム確率ワークテーブル12に記憶されたアイテム確率が前記アイテム提供条件を満たさないと判定した場合、図8に示すように、アイテム候補集合選択部2に戻って、再び、アイテム候補集合選択部2の実行、質問選択部3の実行、質問提示/回答取得部4の実行、アイテム確率更新部5の実行を行い、再びアイテム確率判定部6が、アイテム確率ワークテーブル12に記憶されたアイテム確率が前記アイテム提供条件を満たすかどうか判定する。そして、アイテム確率判定部6が、アイテム確率ワークテーブル12に記憶されたアイテム確率が前記アイテム提供条件を満たすかどうか判定するまで、上記処理を繰り返す。
アイテム確率判定部6は、アイテム確率ワークテーブル12に記憶されたアイテム確率が前記アイテム提供条件を満たすと判定した場合、図11に示すように、アイテム提示確認部7に制御を渡す。アイテム提示確認部7は、前記アイテムのアイテム情報をアイテムテーブル32から、また前記アイテムの事後確率をアイテム確率ワークテーブル12からそれぞれ入力し、当該アイテムに係る出力項目を編集して、図1に図示しない通信処理部を介して、クライアント端末21に送信する。
クライアント端末21は、図5Cに示すように、前記アイテム提示確認部7から提示されたアイテム情報、アイテムの事後確率を表示する。そして、ユーザから入力された、前記提示されたアイテムについて、図5Cに図示しないユーザが正しいと同意するか否かの回答を図1に図示しない通信処理部を介して、前記アイテム提示確認部7に送信する。
アイテム提示確認部7は、提示したアイテムへの勧告全てに対してユーザが正しいと同意する回答を受信した場合、ユーザ履歴データファイル作成更新部9を介して、1レコードにユーザが正しいと同意したアイテムを1つだけ含むように正規化したユーザ履歴データレコードを作成し、ユーザ履歴データファイル11に記憶する。
その後、図11に示すように、アイテムマスタデータベース作成更新部8は、更新された前記ユーザ履歴データファイル11に基づいて、図2Dに示す、アイテムに対する質問の尤度テーブル34を更新することができる。また、アイテムテーブル32におけるアイテムの事前確率を更新することができる。
アイテムに対する質問の尤度テーブル34及びアイテムテーブル32の更新は、リアルタイム処理又はバッチ処理のいずれでも可能である。
こうすることで、エージェントシステム24の運用時に、ユーザの履歴データに基づいて、アイテムマスタデータベース10を自動的にメンテナンスすることができ、より最新のユーザのトレンドを反映させることができる。
このように、過去のユーザ履歴データを利用することにより、エージェントシステム24は自動的に自立的に成長することができる。
その後、図11に示すように、アイテムマスタデータベース作成更新部8は、更新された前記ユーザ履歴データファイル11に基づいて、図2Dに示す、アイテムに対する質問の尤度テーブル34を更新することができる。また、アイテムテーブル32におけるアイテムの事前確率を更新することができる。
アイテムに対する質問の尤度テーブル34及びアイテムテーブル32の更新は、リアルタイム処理又はバッチ処理のいずれでも可能である。
こうすることで、エージェントシステム24の運用時に、ユーザの履歴データに基づいて、アイテムマスタデータベース10を自動的にメンテナンスすることができ、より最新のユーザのトレンドを反映させることができる。
このように、過去のユーザ履歴データを利用することにより、エージェントシステム24は自動的に自立的に成長することができる。
アイテム提示確認部7が、クライアント端末21から正しいと同意しないアイテムに関する回答を受信した場合、図11に示すように、再度、アイテム候補集合選択部2の実行、質問選択部3の実行、質問提示/回答取得部4の実行、アイテム確率更新部5の実行、及びアイテム確率判定部6の実行を行う。そして、再度、アイテム確率判定部6が、アイテム確率ワークテーブル12に記憶されたアイテム確率が前記アイテム提供条件を満たすかどうか判定するまで、上記処理を繰り返す。アイテム確率判定部6は、アイテム確率ワークテーブル12に記憶されたアイテム確率が前記アイテム提供条件を満たすと判定した場合、図11に示すように、再度、アイテム提示確認部7に制御を渡す。そして、アイテム提示確認部7は、再度、ユーザに対して、アイテム情報及びアイテムの事後確率を提示する。
再実行にあたっては、アイテム候補集合選択部2は、当該ユーザの同意しないアイテムを次回のアイテム候補集合から外す。また、アイテム確率更新部5は、ユーザの同意しないアイテムに対する任意の質問αの尤度P(α|A)を全てゼロとして、アイテムの事後確率を算出することができる。こうすることにより、その後の事後確率の再計算で当該アイテムの事後確率は0%となり、当該ユーザには提示されない。
こうすることで、不適切なアイテムを排除し、ユーザに適切なアイテムを提供することができる。
再実行にあたっては、アイテム候補集合選択部2は、当該ユーザの同意しないアイテムを次回のアイテム候補集合から外す。また、アイテム確率更新部5は、ユーザの同意しないアイテムに対する任意の質問αの尤度P(α|A)を全てゼロとして、アイテムの事後確率を算出することができる。こうすることにより、その後の事後確率の再計算で当該アイテムの事後確率は0%となり、当該ユーザには提示されない。
こうすることで、不適切なアイテムを排除し、ユーザに適切なアイテムを提供することができる。
本発明の実施形態の例として、健康に関する質問と健康に関する勧告以外に、例えばファッションに関する質問とファッションに関する勧告、フードに関する質問とフードに関する勧告、レクリエーションに関する質問とレクリエーションに関する勧告、キャリア形成に関する質問とキャリア形成に関する勧告、教育に関する質問と教育に関する勧告等に適用することができる。
上記実施形態では、ユーザに対する質問をその回答が、「はい」、「いいえ」、及び「わからない」となる3択式の質問としたが、別の実施形態2として、その回答が、「はい」及び「いいえ」となる2択式の質問にすることができる。前記別の実施形態2は、上記実施形態において、事象αNeither、事象βNeitherが存在しないとして読み替えることで、実施できる。
上記実施形態では、アイテムAへの勧告に対して(1)はい(そのようにしたい)、(2)いいえ(やりたくない)の2択での動作を実施しているが、別の実施形態3として、「(1)はい(そのようにしたい)、(2)いいえ(やりたくない)、(3)わからない、の3択での動作を実施したり、別の実施形態として、(1)既に実行している、(2)はい、そのようにしたい、(3)いいえ、(4)わからない、の4択での動作を実施することもできる。
上記実施形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
1 アイテム確率ワークテーブル初期設定部
2 アイテム候補集合選択部
3 質問選択部
4 質問提示/回答取得部
5 アイテム確率更新部
6 アイテム確率判定部
7 アイテム提示確認部
8 アイテムマスタデータベース作成更新部
9 ユーザ履歴データファイル作成更新部
10 アイテムマスタデータベース
11 ユーザ履歴データファイル
12 アイテム確率ワークテーブル
21 クライアント端末
22 通信ネットワーク
23 管理者端末
24 エージェントシステム
31 質問テーブル
32 アイテムテーブル
33 アイテムマスタ
34 アイテムに対する質問の尤度テーブル
2 アイテム候補集合選択部
3 質問選択部
4 質問提示/回答取得部
5 アイテム確率更新部
6 アイテム確率判定部
7 アイテム提示確認部
8 アイテムマスタデータベース作成更新部
9 ユーザ履歴データファイル作成更新部
10 アイテムマスタデータベース
11 ユーザ履歴データファイル
12 アイテム確率ワークテーブル
21 クライアント端末
22 通信ネットワーク
23 管理者端末
24 エージェントシステム
31 質問テーブル
32 アイテムテーブル
33 アイテムマスタ
34 アイテムに対する質問の尤度テーブル
Claims (10)
- 自動化されたシステムが、ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供する方法であって、前記方法は、
プロセッサが、先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するものであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成され、
プロセッサが予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
プロセッサが、予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するものであって、前記サブメソッドは、
プロセッサが予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
プロセッサが前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
プロセッサが、前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含み、
プロセッサは、予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力すること、と
を含むことを特徴とする方法。 - 請求項1に記載の方法において、プロセッサが、前記ユーザからの回答に基づいて前記全ての勧告の確率を更新するステップは、ベイズ推定を含むことを特徴とする方法。
- 請求項1又は2に記載の方法において、前記サブメソッドは、さらに、プロセッサが、前記ユーザからの回答に基づいて、前記質問回答データを更新するステップを含むことを特徴とする方法。
- 請求項1から3のいずれかの請求項に記載の方法において、前記予め定義された条件は、1番目の勧告候補の確率が2番目の勧告候補の確率の予め定めた整数倍以上となることを含むことを特徴とする方法。
- 請求項1から4のいずれかの請求項に記載の方法において、前記予め定義された第1基準は、前記勧告候補集合が、勧告の確率の大きい順番に累積的に加算し、累積和が総累積数の予め定めた割合になるまでの勧告からなる集合であることを特徴とする方法。
- 請求項1から5のいずれかの請求項に記載の方法において、前記予め定義された第2基準は、前記選択される質問が、前記勧告候補集合における回答の不偏分散又は分散が最も大きな値となることを特徴とする方法。
- 請求項1から6のいずれかの請求項に記載の方法において、前記予め定義された第2基準は、前記勧告候補集合における回答データの不偏分散又は分散が最も大きな値となる質問が複数個存在した場合、前記選択される勧告が、前記勧告候補集合における回答の不偏分散又は分散と全ての勧告集合における回答の不偏分散又は分散との比率が最も大きな値となることを特徴とする方法。
- 自動化されたシステムが、ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するシステムであって、前記システムは、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶する手段であって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される、前記記憶する手段と
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定する手段と、
予め定義された条件を満たすと判定するまで、複数の手段を繰り返し実行する手段であって、前記複数の手段は、
予め定義された第2基準に基づいて前記データベースから質問を選択する手段と、
前記質問を選択する手段で選択した質問に対するユーザからの回答を取得する手段と、
プロセッサが前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新する手段と、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新する手段と、
を含み、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力する手段、と
を含むことを特徴とするシステム。 - ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するために、コンピュータに、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラム。 - ユーザとインタラクティブな会話をすることにより、当該ユーザに対して勧告を提供するために、コンピュータに、
先行する複数のユーザから取得した複数の質問回答データをデータベースに記憶するステップであって、前記複数の質問回答データは、複数の質問の各質問に関連付けてインデックス指定されるとともに、複数の勧告の各勧告に関連付けてインデックス指定されるように構成される前記ステップと、
予め定義された第1基準に従って、複数の勧告から勧告候補集合を特定するステップと、
予め定義された条件を満たすと判定するまで、サブメソッドを繰り返し実行するステップであって、前記サブメソッドは、
予め定義された第2基準に基づいて前記データベースから質問を選択するステップと、
前記質問選択ステップで選択した質問に対するユーザからの回答を取得するステップと、
前記ユーザからの回答に基づいて全ての勧告の確率を当該ユーザのために更新するステップと、
前記更新された勧告の確率に基づいて、前記勧告候補集合を更新するステップと、
を含む、前記ステップと、
予め定義された条件を満たすと判定した場合、前記勧告候補集合から選択した勧告を出力するステップ、と
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013179328A JP2015049578A (ja) | 2013-08-30 | 2013-08-30 | ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 |
JP2016530553A JP6147433B2 (ja) | 2013-08-30 | 2014-08-29 | ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 |
EP14758843.8A EP2885755B1 (en) | 2013-08-30 | 2014-08-29 | Agent system, agent control method and agent control program with ability of natural conversation with users |
PCT/EP2014/068377 WO2015028607A1 (en) | 2013-08-30 | 2014-08-29 | Agent system, agent control method, agent control program, and recording medium, with ability of natural conversation with users |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013179328A JP2015049578A (ja) | 2013-08-30 | 2013-08-30 | ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015049578A true JP2015049578A (ja) | 2015-03-16 |
Family
ID=51485588
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013179328A Pending JP2015049578A (ja) | 2013-08-30 | 2013-08-30 | ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 |
JP2016530553A Active JP6147433B2 (ja) | 2013-08-30 | 2014-08-29 | ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016530553A Active JP6147433B2 (ja) | 2013-08-30 | 2014-08-29 | ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2885755B1 (ja) |
JP (2) | JP2015049578A (ja) |
WO (1) | WO2015028607A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017191696A1 (ja) * | 2016-05-06 | 2017-11-09 | ソニー株式会社 | 情報処理システム、および情報処理方法 |
JP2018045320A (ja) * | 2016-09-12 | 2018-03-22 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
WO2019159559A1 (ja) * | 2018-02-14 | 2019-08-22 | 株式会社Nttドコモ | 対話システム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062333B (zh) * | 2016-11-08 | 2022-03-01 | 小船出海教育科技(北京)有限公司 | 劣质题目数据的处理方法和装置 |
JP6952259B2 (ja) * | 2016-12-06 | 2021-10-20 | パナソニックIpマネジメント株式会社 | 情報処理方法、情報処理装置、及び、プログラム |
US10338991B2 (en) | 2017-02-21 | 2019-07-02 | Microsoft Technology Licensing, Llc | Cloud-based recovery system |
US10585788B2 (en) | 2017-02-21 | 2020-03-10 | Microsoft Technology Licensing, Llc | State-based remedial action generation |
CN106897067A (zh) * | 2017-02-26 | 2017-06-27 | 广州衡昊数据科技有限公司 | 一种基于人机交互技术建模的方法和专家系统 |
US10437663B2 (en) | 2017-04-14 | 2019-10-08 | Microsoft Technology Licensing, Llc | Administrative user communication and error recovery |
US10068284B1 (en) | 2017-08-29 | 2018-09-04 | Snowfall Technologies Llc | Graphical user interface having scrollable, visual representation of historical product searches and direct shopping cart links |
CN111291170B (zh) * | 2020-01-20 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种基于智能客服的会话推荐方法及相关装置 |
JP2023092912A (ja) | 2021-12-22 | 2023-07-04 | 富士通株式会社 | 情報処理プログラム、情報処理装置、および情報処理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272451A (ja) * | 2006-03-30 | 2007-10-18 | Toshiba Corp | 推薦番組情報提供装置、推薦番組情報提供方法及びプログラム |
US9159034B2 (en) * | 2007-11-02 | 2015-10-13 | Ebay Inc. | Geographically localized recommendations in a computing advice facility |
-
2013
- 2013-08-30 JP JP2013179328A patent/JP2015049578A/ja active Pending
-
2014
- 2014-08-29 WO PCT/EP2014/068377 patent/WO2015028607A1/en active Application Filing
- 2014-08-29 JP JP2016530553A patent/JP6147433B2/ja active Active
- 2014-08-29 EP EP14758843.8A patent/EP2885755B1/en active Active
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017191696A1 (ja) * | 2016-05-06 | 2017-11-09 | ソニー株式会社 | 情報処理システム、および情報処理方法 |
JPWO2017191696A1 (ja) * | 2016-05-06 | 2019-03-07 | ソニー株式会社 | 情報処理システム、および情報処理方法 |
US10559305B2 (en) | 2016-05-06 | 2020-02-11 | Sony Corporation | Information processing system, and information processing method |
US10777199B2 (en) | 2016-05-06 | 2020-09-15 | Sony Corporation | Information processing system, and information processing method |
US11074916B2 (en) | 2016-05-06 | 2021-07-27 | Sony Corporation | Information processing system, and information processing method |
JP2021108142A (ja) * | 2016-05-06 | 2021-07-29 | ソニーグループ株式会社 | 情報処理システム、情報処理方法、および情報処理プログラム |
US11646026B2 (en) | 2016-05-06 | 2023-05-09 | Sony Group Corporation | Information processing system, and information processing method |
JP2018045320A (ja) * | 2016-09-12 | 2018-03-22 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
WO2019159559A1 (ja) * | 2018-02-14 | 2019-08-22 | 株式会社Nttドコモ | 対話システム |
JPWO2019159559A1 (ja) * | 2018-02-14 | 2020-12-03 | 株式会社Nttドコモ | 対話システム |
US11468106B2 (en) | 2018-02-14 | 2022-10-11 | Ntt Docomo, Inc. | Conversation system |
Also Published As
Publication number | Publication date |
---|---|
WO2015028607A1 (en) | 2015-03-05 |
JP2016536691A (ja) | 2016-11-24 |
EP2885755B1 (en) | 2019-09-25 |
EP2885755A1 (en) | 2015-06-24 |
JP6147433B2 (ja) | 2017-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6147433B2 (ja) | ユーザとの自然会話能力を備えたエージェントシステム、エージェント制御方法、エージェント制御プログラム、及び記録媒体 | |
AU2020201883B2 (en) | Call center system having reduced communication latency | |
US20220414600A1 (en) | System and methods for improved meeting engagement | |
US10078701B2 (en) | Associating related threads in a question and answer session | |
TW201923675A (zh) | 資訊推薦方法及裝置、設備 | |
CN111914176B (zh) | 题目的推荐方法及装置 | |
WO2013019972A2 (en) | Systems and methods of processing personality information | |
JP2014006898A (ja) | 行動パターンをマイニングするシステム及び方法 | |
JP7401619B2 (ja) | 会話業務ツール | |
CN108959469A (zh) | 阅读管理方法、装置、计算机设备及存储介质 | |
US20160253426A1 (en) | Providing information technology support | |
US11010237B2 (en) | Method and system for detecting and preventing an imminent failure in a target system | |
Ceschia et al. | Second International Nurse Rostering Competition (INRC-II)---Problem Description and Rules--- | |
US10620799B2 (en) | Processing system for multivariate segmentation of electronic message content | |
CN112308749B (zh) | 培养计划的生成装置、方法、电子设备及可读存储介质 | |
JP6827315B2 (ja) | アンケート支援装置、アンケート支援システム、アンケート支援方法、およびアンケート支援プログラム | |
US20220108071A1 (en) | Information processing device, information processing system, and non-transitory computer readable medium | |
CN107295074A (zh) | 一种实现云资源显示的方法和装置 | |
Wu et al. | Marginal structural models for multilevel clustered data | |
CN109584012B (zh) | 用于生成物品推送信息的方法和装置 | |
CN114584471A (zh) | 一种基于联邦学习的网络数据分析功能的模型训练方法及装置 | |
JP5676295B2 (ja) | 業務負荷判定装置、業務負荷判定システム、業務負荷判定方法およびプログラム | |
US11275887B2 (en) | Non-transitory computer-readable recording medium, evaluation method, and information processing device | |
JPWO2019187019A1 (ja) | 顧客対応支援システムおよび顧客対応支援方法 | |
US20170091307A1 (en) | Computer readable recording medium, evaluation method, and evaluation apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160519 |