以下に図面を参照して、本発明にかかる検索支援プログラム、検索支援方法および情報処理装置の実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかる検索支援方法の一実施例を示す説明図である。図1において、情報処理装置101は、ユーザに合ったコンテンツの検索を支援するコンピュータである。コンテンツとは、ユーザに提供される文書、画像、音声などであり、例えば、ユーザに提供されるサービスやイベントに関するコンテンツである。
ここで、システムが推薦したコンテンツの中から、ユーザが自分に合ったコンテンツを選択する基準は多様化しており、一律な基準でコンテンツを推薦してもユーザの価値観に合わない場合がある。また、コンテンツを推薦するだけでは、ユーザは何を根拠に推薦されたのか認識できないため、各コンテンツの内容を確認しながら、自分に合ったコンテンツを検索することになり煩わしい。
すなわち、ユーザは、推薦されたコンテンツが自分にどの程度合ったものであるか一見して分からないため、例えば、推薦された全てのコンテンツの内容に目を通し、自分の価値観に合ったコンテンツであるかを確認するといった作業を行うことになる。このため、システムから推薦されたコンテンツの中から、自分に合ったコンテンツを簡単に検索することができる仕組みが望まれる。
そこで、本実施の形態では、ユーザに対してコンテンツを推薦する際に、ユーザがコンテンツの詳細な中身を確認しなくても、自分に合ったコンテンツであるかを判断可能にする検索支援方法について説明する。以下、情報処理装置101の処理例について説明する。
(1)情報処理装置101は、ユーザに対してコンテンツの情報を表示する場合に、コンテンツを高評価した他のユーザのパーソナルデータとユーザのパーソナルデータとに基づく、他のユーザの傾向とユーザの傾向との類似度を取得する。ここで、表示対象となるコンテンツの情報は、例えば、コンテンツのタイトルや概要であってもよく、また、コンテンツの内容(詳細な中身)であってもよい。
コンテンツの評価は、例えば、コンテンツの内容を確認したユーザが、興味や価値があると判断した場合に高評価となり、興味や価値がないと判断した場合には低評価となる。すなわち、コンテンツを高評価した他のユーザは、コンテンツの内容に興味や価値があると判断した者である。
パーソナルデータは、個人を識別する情報だけでなく、個人に関する情報全般であり、例えば、個人に関する客観的情報や、個人に関する主観的情報を含む。個人に関する客観的情報は、例えば、年齢、性別、居住地、家族構成、年収などの情報である。個人に関する主観的情報は、ユーザが興味のある活動、サービス、商品などの情報である。
ユーザの傾向は、パーソナルデータから特定されるユーザの傾向であり、例えば、好み、考え方、行動などの傾向である。例えば、ユーザの客観的情報からは、どの年代か、どのエリアに住んでいるか、どのような家族構成であるか、どのような生活水準であるかなどによって、ユーザの傾向が特定される。また、ユーザの主観的情報からは、どのような活動、サービス、商品などに興味があるのかによって、ユーザの傾向が特定される。
ユーザ間の傾向の類似度は、ユーザ間の傾向の類似度合いを示す指標値であり、例えば、ユーザの客観的情報から特定される傾向や、ユーザの主観的情報から特定される傾向が、ユーザ間でどの程度類似しているのかを示す。例えば、年齢、居住地、年収が近いユーザ同士ほど、ユーザ間の傾向の類似度は高くなる。また、同じような活動やサービスに興味があるユーザ同士ほど、ユーザ間の傾向の類似度は高くなる。
図1の例では、ユーザBに対してコンテンツ120の情報(例えば、タイトル)を表示する場合を想定する。また、コンテンツ120を高評価した他のユーザを「ユーザA」とする。この場合、情報処理装置101は、コンテンツ120を高評価したユーザAのパーソナルデータとユーザBのパーソナルデータとに基づく、ユーザAの傾向とユーザBの傾向との類似度Xを取得する。
具体的には、例えば、情報処理装置101は、記憶部110から、ユーザAの傾向とユーザBの傾向との類似度Xを取得する。ここで、記憶部110は、各ユーザのパーソナルデータに基づき算出された、ユーザ間の傾向の類似度を記憶する記憶装置である。
(2)情報処理装置101は、コンテンツの情報と対応付けて、取得した類似度を表示する。具体的には、例えば、情報処理装置101は、コンテンツ120のタイトルとともに、取得した類似度Xを表示する。類似度Xは、例えば、ユーザ間の傾向の類似度合いを示す数値によって表されてもよく、また、記号や図形によって表されることにしてもよい。
また、情報処理装置101は、類似度Xが、ユーザAの傾向とユーザBの傾向との間の類似度合いを示すことを特定する情報、例えば、ユーザAのユーザ名などをあわせて表示することにしてもよい。また、情報処理装置101は、コンテンツ120が、ユーザAが高評価したものであることを特定する情報、例えば、「ユーザAが興味のあるコンテンツだよ!」などのメッセージを表示することにしてもよい。
このように、情報処理装置101によれば、ユーザに対してコンテンツの情報を表示する場合に、コンテンツの情報と対応付けて、コンテンツを高評価した他のユーザの傾向と該ユーザの傾向との類似度を表示することができる。ここで、類似度が高ければ、コンテンツは、ユーザと傾向が類似する人が高評価しているため、ユーザに合ったものである可能性が高いといえる。
一方、類似度が低ければ、コンテンツは、ユーザと傾向が類似しない人が高評価しているため、ユーザに合ったものではない可能性が高いといえる。これにより、コンテンツの詳細な中身を確認する前に、そのコンテンツを高評価した他のユーザとの傾向の類似度合いを判断することができ、自分の価値観に合ったコンテンツを効率的に検索可能となる。
図1の例では、類似度Xを「0≦X≦1」の値とする。ここで、類似度Xが高ければ、コンテンツ120は、ユーザBと傾向が類似する人が高評価しているため、ユーザBに合ったものである可能性が高いといえる。一方、類似度Xが低ければ、コンテンツ120は、ユーザBと傾向が類似しない人が高評価していることになり、ユーザBに合ったものではない可能性が高いといえる。
このため、ユーザBは、例えば、類似度Xが「0.8」の場合、自分と傾向が類似しているユーザAが高評価したものであるため、コンテンツ120が自分に合ったものである可能性が高いと判断することができる。一方、類似度Xが「0.2」の場合、ユーザBは、自分と傾向が類似していないユーザAが高評価したものであるため、コンテンツ120が自分に合ったものではない可能性が高いと判断することができる。
以下の説明では、ユーザに対して推薦するコンテンツの一例として、「トピック」を例に挙げて説明する。トピックは、話題になる事柄や出来事に関する情報であり、例えば、サービスやイベントに関するトピックである。
(情報提供システム200のシステム構成例)
つぎに、図1に示した情報処理装置101を含む情報提供システム200のシステム構成例について説明する。情報提供システム200は、例えば、ユーザに対してトピックを推薦するサービスを提供するコンピュータシステムに適用される。
図2は、情報提供システム200のシステム構成例を示す説明図である。図2において、情報提供システム200は、情報処理装置101と、複数のクライアント装置201と、を含む。情報提供システム200において、情報処理装置101および複数のクライアント装置201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
ここで、情報処理装置101は、トピックDB(Database)220、プロファイルDB230、嗜好DB240および類似度計算設定DB250を有する。例えば、情報処理装置101は、サーバである。なお、各種DB220,230,240,250の記憶内容については、図4〜図7を用いて後述する。
クライアント装置201は、情報提供システム200を利用するユーザが使用するコンピュータである。例えば、クライアント装置201は、PC(Personal Computer)、タブレットPC、スマートフォンなどである。
情報提供システム200において、情報処理装置101は、例えば、クライアント装置201から各種画面の表示要求を受信したことに応じて、各種画面を表示するための情報を生成して、クライアント装置201に送信する。これにより、クライアント装置201に各種画面(例えば、図8に示す類似度計算設定画面800、図13に示すトピック一覧画面1300、図14に示すトピック画面1400など)を表示することができる。
(情報処理装置101のハードウェア構成例)
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。図3において、情報処理装置101は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、情報処理装置101の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示したクライアント装置201)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)−ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
なお、情報処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置101は、上述した構成部のうち、例えば、ディスクドライブ303、ディスク304、可搬型記録媒体I/F306、可搬型記録媒体307を有していなくてもよい。また、図2に示したクライアント装置201についても、情報処理装置101と同様のハードウェア構成により実現することができる。ただし、クライアント装置201は、上述した構成部のほかに、入力装置、ディスプレイを有する。
(各種DB220,230,240,250の記憶内容)
つぎに、図4〜図7を用いて、情報処理装置101が有する各種DB220,230,240,250の記憶内容について説明する。なお、情報処理装置101が有する各種DB220,230,240,250は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
図4は、トピックDB220の記憶内容の一例を示す説明図である。図4において、トピックDB220は、トピックID、カテゴリ、タイトル、提供者情報、高評価ユーザおよび低評価ユーザのフィールドを有し、各フィールドに情報を設定することで、トピック管理情報(例えば、トピック管理情報400−1,400−2)をレコードとして記憶する。
ここで、トピックIDは、情報提供システム200において推薦されるトピックを一意に識別する識別子である。カテゴリは、トピックが属するカテゴリである。なお、カテゴリは、トピックを分類するものである。カテゴリは、任意に設定可能である。ここでは、トピックは、生活に関わる「働く」、「暮らす」、「楽しむ」、「住む」、「備える」のいずれかのカテゴリに分類される。ただし、カテゴリは、食事、ファッション、旅行、映画、漫画、アウトドアなどのより具体的な分類であってもよい。
タイトルは、トピックのタイトルである。提供者情報は、トピックの情報を提供する者の情報である。提供者情報には、例えば、提供者の名称、トピックの概要、トピックの詳細な内容を表示する情報を取得するためのURL(Uniform Resource Locator)などが含まれる。なお、提供者情報には、トピックの内容(例えば、記事、画像など)を表す情報が含まれていてもよい。
高評価ユーザは、トピックを高評価したユーザを特定する情報である。高評価ユーザフィールドには、トピックを高評価したユーザのユーザIDが設定される。低評価ユーザは、トピックを低評価したユーザを特定する情報である。低評価ユーザフィールドには、トピックを低評価したユーザのユーザIDが設定される。
以下の説明では、トピックID「T#」のトピックを「トピックT#」と表記する場合がある(#=1,2,…)。
図5は、プロファイルDB230の記憶内容の一例を示す説明図である。図5において、プロファイルDB230は、ユーザID、性別、年齢、住所、家族構成、学歴、勤務先および年収のフィールドを有し、各フィールドに情報を設定することで、プロファイル情報(例えば、プロファイル情報500−1,500−2)をレコードとして記憶する。
ここで、ユーザIDは、情報提供システム200のユーザを一意に識別する識別子である。性別は、ユーザの性別である。年齢は、ユーザの年齢である。住所は、ユーザの住所である。家族構成は、ユーザの家族構成である。学歴は、ユーザの学歴である。勤務先は、ユーザの勤務先である。年収は、ユーザの年収である。なお、性別、年齢、住所、家族構成、学歴、勤務先および年収は、ユーザのパーソナルデータのうちのユーザ個人に関する客観的情報の一例である。
なお、図示は省略するが、プロファイル情報には、例えば、ユーザのユーザ名(ハンドルネーム、氏名など)が含まれていてもよい。
以下の説明では、ユーザID「Ui」のユーザを「ユーザUi」と表記し(i=1,2,…)、ユーザUiとは異なる他のユーザを「ユーザUj」と表記する場合がある(j≠i、j=1,2,…)。
図6は、嗜好DB240の記憶内容の一例を示す説明図である。図6において、嗜好DB240は、ユーザID、トピックID、カテゴリおよび評価結果のフィールドを有し、各フィールドに情報を設定することで、嗜好情報(例えば、嗜好情報600−1〜600−3)をレコードとして記憶する。
ここで、ユーザIDは、情報提供システム200のユーザUiを一意に識別する識別子である。トピックIDは、情報提供システム200において推薦されるトピックT#を一意に識別する識別子である。カテゴリは、トピックT#が属するカテゴリである。評価結果は、ユーザUiがトピックT#の内容を評価した結果である。
ここでは、評価結果としては、「高」または「低」が設定される。評価結果「高」は、ユーザUiがトピックT#の内容を高く評価したことを示す。評価結果「低」は、ユーザUiがトピックT#の内容を低く評価したことを示す。なお、嗜好情報は、ユーザUiのパーソナルデータのうちのユーザ個人に関する主観的情報の一例である。
図7は、類似度計算設定DB250の記憶内容の一例を示す説明図である。図7において、類似度計算設定DB250は、ユーザID、プロファイル設定項目および嗜好設定項目のフィールドを有し、各フィールドに情報を設定することで、類似度計算設定情報(例えば、類似度計算設定情報700−1,700−2)をレコードとして記憶する。
ここで、ユーザIDは、情報提供システム200のユーザUiを一意に識別する識別子である。プロファイル設定項目は、ユーザUiのプロファイル情報のうち、他のユーザUjとの傾向の類似度(プロファイル類似度)の計算に用いる項目を示す。嗜好設定項目は、ユーザUiの嗜好情報のうち、他のユーザUjとの傾向の類似度(嗜好類似度)の計算に用いる嗜好情報を特定する項目(トピックT#のカテゴリ)を示す。
なお、プロファイル設定項目および嗜好設定項目は、例えば、図8に示すような類似度計算設定画面800において設定される。
(類似度計算設定画面800の画面例)
ここで、図8を用いて、クライアント装置201に表示される類似度計算設定画面800の画面例について説明する。類似度計算設定画面800は、クライアント装置201からの表示要求に応じて、情報処理装置101の制御によってクライアント装置201のディスプレイ810に表示される。
ディスプレイ810は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。ディスプレイ810としては、例えば、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどを採用することができる。
以下の説明では、操作画面に表示されているボックス、ボタン等をユーザが選択する操作として、タップ操作を行う場合を例に挙げて説明する。
図8は、類似度計算設定画面800の画面例を示す説明図である。図8において、クライアント装置201のディスプレイ810に、類似度計算設定画面800が表示されている。類似度計算設定画面800は、他のユーザとの傾向の類似度(プロファイル類似度および嗜好類似度)の計算に用いるプロファイル設定項目および嗜好設定項目を設定するための操作画面である。
類似度計算設定画面800において、クライアント装置201の不図示の入力装置を用いたユーザの操作入力により、チェックボックス811〜817をタップすると、プロファイル設定項目を選択することができる。例えば、ユーザは、他のユーザとの類似度を計算するにあたり、年代が重要であると判断した場合、チェックボックス812にチェックを入れる。一方、年代は重要でなく条件に入れたくないと判断した場合には、チェックボックス812にチェックを入れない。
例えば、ユーザは、他のユーザとの類似度を計算するにあたり、居住エリアが重要であると判断した場合、チェックボックス813にチェックを入れる。一方、居住エリアは重要でなく条件に入れたくないと判断した場合には、チェックボックス813にチェックを入れない。例えば、ユーザは、他のユーザとの類似度を計算するにあたり、生活水準が重要であると判断した場合、チェックボックス817にチェックを入れる。一方、生活水準は重要でなく条件に入れたくないと判断した場合には、チェックボックス817にチェックを入れない。
図8の例では、チェックボックス813,814および817がタップされて、プロファイル設定項目「住所」、「家族構成」および「年収」が選択されている。
また、類似度計算設定画面800において、ユーザの操作入力により、チェックボックス821〜825をタップすると、嗜好設定項目を選択することができる。例えば、ユーザは、他のユーザとの類似度を計算するにあたり、ライフイベント(結婚、子育てなど)についての好みが重要であると判断した場合、チェックボックス822にチェックを入れる。一方、ライフイベントについての好みは重要でなく条件に入れたくないと判断した場合には、チェックボックス822にチェックを入れない。
図8の例では、チェックボックス821,824および825がタップされて、嗜好設定項目「働く」、「住む」および「備える」が選択されている。
類似度計算設定画面800において、ユーザの操作入力により、確定ボタン801をタップすると、クライアント装置201から情報処理装置101に類似度計算設定依頼が送信される。類似度計算設定依頼には、例えば、ユーザID、類似度計算設定画面800において選択されたプロファイル設定項目および嗜好設定項目を特定する項目情報が含まれる。
なお、類似度計算設定画面800において、ユーザの操作入力により、クリアボタン802をタップすると、各チェックボックス811〜817,821〜825が選択されていない状態に初期化することができる。
(情報処理装置101の機能的構成例)
図9は、情報処理装置101の機能的構成例を示すブロック図である。図9において、情報処理装置101は、受付部901と、登録部902と、算出部903と、表示制御部904と、記憶部910と、を含む。具体的には、例えば、受付部901〜表示制御部904は、図3に示したメモリ302、ディスク304などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。記憶部910は、例えば、メモリ302、ディスク304などの記憶装置により実現される。具体的には、例えば、記憶部910は、図5に示したプロファイルDB230、図6に示した嗜好DB240、図7に示した類似度計算設定DB250などを記憶する。
受付部901は、ユーザUiのパーソナルデータに含まれる複数の項目のうちの1以上の項目の選択を受け付ける。ここで、パーソナルデータは、ユーザUiに関する客観的情報や、ユーザUiに関する主観的情報を含む。ユーザUiに関する客観的情報は、例えば、図5に示したプロファイルDB230内のプロファイル情報である。ユーザUiに関する客観的情報は、例えば、図6に示した嗜好DB240内の嗜好情報である。
パーソナルデータに含まれる複数の項目は、例えば、プロファイル情報に含まれる「性別」、「年齢」、「住所」、「家族構成」、「学歴」、「勤務先」、「年収」や、嗜好情報に含まれる「カテゴリ」である。選択される項目は、ユーザUiの傾向と他のユーザUjの傾向との類似度の計算に用いる項目である。
以下の説明では、ユーザUiの傾向と他のユーザUjの傾向との類似度を「類似度Sij」と表記する場合がある。
項目の選択は、例えば、クライアント装置201に表示される図8に示した類似度計算設定画面800において行われる。この場合、受付部901は、クライアント装置201から類似度計算設定依頼を受信することにより、当該類似度計算設定依頼を受け付ける。ここで、類似度計算設定依頼は、類似度Sijの計算に用いる項目の設定依頼である。類似度計算設定依頼には、例えば、ユーザUiのユーザID、選択された項目(例えば、類似度計算設定画面800において選択されたプロファイル設定項目および嗜好設定項目)を特定する項目情報が含まれる。
登録部902は、ユーザUiと対応付けて、選択された1以上の項目を記憶部910に登録する。具体的には、例えば、登録部902は、類似度計算設定依頼に含まれるユーザIDと対応付けて、類似度計算設定依頼に含まれる項目情報から特定されるプロファイル設定項目や嗜好設定項目を、類似度計算設定DB250に登録する。
一例として、類似度計算設定依頼に含まれるユーザIDを「U1」とする。また、類似度計算設定依頼に含まれる項目情報から特定されるプロファイル設定項目を「住所」、「家族構成」、「年収」とし、嗜好設定項目を「働く」、「住む」、「備える」とする。この場合、登録部902は、ユーザID「U1」と対応付けて、プロファイル設定項目を「住所」、「家族構成」、「年収」、および、嗜好設定項目「働く」、「住む」、「備える」を、類似度計算設定DB250に登録する。この場合、類似度計算設定情報700−1が新たなレコードとして類似度計算設定DB250に記憶される。
算出部903は、ユーザUiのパーソナルデータと他のユーザUjのパーソナルデータとに基づいて、ユーザUiの傾向と他のユーザUjの傾向との類似度Sijを算出する。ここで、類似度Sijは、ユーザUiと他のユーザUjとの間の傾向の類似度合いを示す指標値である。
具体的には、例えば、算出部903は、ユーザUiのパーソナルデータに含まれるユーザUiに関する客観的情報と、他のユーザUjのパーソナルデータに含まれる他のユーザUjに関する客観的情報とに基づいて、類似度Sijを算出することにしてもよい。
また、例えば、算出部903は、ユーザUiのパーソナルデータに含まれるユーザUiに関する主観的情報と、他のユーザUjのパーソナルデータに含まれる他のユーザUjに関する主観的情報とに基づいて、類似度Sijを算出することにしてもよい。
以下の説明では、ユーザUiに関する客観的情報と他のユーザUjに関する客観的情報とに基づき算出される類似度Sijを「プロファイル類似度Sij」と表記する場合がある。また、ユーザUiに関する主観的情報と他のユーザUjに関する主観的情報とに基づき算出される類似度Sijを「嗜好類似度Sij」と表記する場合がある。
また、算出部903は、記憶部910を参照して、ユーザUiに対応する1以上の項目を特定することにしてもよい。そして、算出部903は、ユーザUiのパーソナルデータのうち、特定した1以上の項目のデータと、他のユーザUjのパーソナルデータのうち、特定した1以上の項目のデータとに基づいて、類似度Sij(プロファイル類似度Sijや嗜好類似度Sij)を算出することにしてもよい。
すなわち、算出部903は、ユーザUiの傾向と他のユーザUjの傾向との類似度Sijの計算に用いる項目として、ユーザUiにより選択された項目(例えば、プロファイル設定項目、嗜好設定項目)を用いる。
ここで、図10および図11を用いて、プロファイル類似度Sijおよび嗜好類似度Sijの算出例について説明する。
図10は、プロファイル類似度および嗜好類似度の第1の算出例を示す説明図である。ここでは、ユーザUxの傾向と他のユーザUyの傾向とのプロファイル類似度Sxyおよび嗜好類似度Sxyを算出する場合を想定する。また、プロファイル類似度Sxyの計算に用いるプロファイル設定項目として、「住所」、「家族構成」および「年収」が選択され、嗜好類似度Sxyの計算に用いる嗜好設定項目として、カテゴリ「暮らす」が選択された場合を想定する。
この場合、算出部903は、プロファイルDB230を参照して、ユーザUxのプロファイル設定項目「住所」、「家族構成」および「年収」のデータを特定する。また、算出部903は、プロファイルDB230を参照して、ユーザUyのプロファイル設定項目「住所」、「家族構成」および「年収」のデータを特定する。
ここでは、ユーザUxのプロファイル設定項目「住所」のデータを「神奈川県横浜市神奈川区・・・」とする。ユーザUxのプロファイル設定項目「家族構成」のデータを「妻・子」とする。ユーザUxのプロファイル設定項目「年収」のデータを「500万円」とする。また、ユーザUyのプロファイル設定項目「住所」のデータを「神奈川県横浜市西区・・・」とする。ユーザUyのプロファイル設定項目「家族構成」のデータを「妻・子」とする。ユーザUyのプロファイル設定項目「年収」のデータを「1000万円」とする。
つぎに、算出部903は、プロファイル設定項目ごとに、各ユーザUx,Uyのデータを比較して、ユーザUx,Uy同士のデータが一致するか否かを判定する。データの一致判定は、例えば、データ同士が完全一致する場合に「一致」すると判定してもよいし、データ同士が部分一致する場合にも「一致」すると判定してもよい。
例えば、プロファイル設定項目「住所」については、「市町村」まで一致していれば、データ同士が一致と判定することにしてもよい。また、プロファイル設定項目「年収」については、差分が50万円以内なら、データ同士が一致と判定することにしてもよい。
図10の例では、プロファイル設定項目対応表1010に示すように、プロファイル設定項目「住所」については、「横浜市」まで一致しているため、算出部903は、ユーザUx,Uy同士のデータが一致すると判定する。プロファイル設定項目「家族構成」については、完全一致しているため、算出部903は、ユーザUx,Uy同士のデータが一致すると判定する。プロファイル設定項目「年収」については、差分が50万円を超えるため、算出部903は、ユーザUx,Uy同士のデータが一致しないと判定する。
そして、算出部903は、プロファイル設定項目「住所」、「家族構成」、「年収」のうち、ユーザUx,Uy同士のデータが一致した割合を算出することにより、プロファイル類似度Sxyを算出する。ここでは、プロファイル設定項目「住所」、「家族構成」について、ユーザUx,Uy同士のデータが一致する。このため、プロファイル類似度Sxyは「66.7[%]≒2/3×100」となる。ただし、プロファイル類似度Sxyを百分率で表す。
算出部903は、嗜好DB240を参照して、ユーザUx,Uyがともに評価したトピックであって、カテゴリが嗜好設定項目「暮らす」のトピックを特定する。具体的には、例えば、算出部903は、ユーザIDに「Ux」が設定され、かつ、カテゴリに「暮らす」が設定された嗜好情報を検索する。これにより、ユーザUxが評価したトピックであって、カテゴリが「暮らす」のトピックを特定することができる。
また、算出部903は、ユーザIDに「Uy」が設定され、かつ、カテゴリに「暮らす」が設定された嗜好情報を検索する。これにより、ユーザUyが評価したトピックであって、カテゴリが「暮らす」のトピックを特定することができる。
つぎに、算出部903は、検索したユーザUxの嗜好情報のうち、検索したユーザUyの嗜好情報とトピックIDが共通する嗜好情報を特定する。そして、算出部903は、特定した嗜好情報を参照して、ユーザUx,Uyがともに評価したトピックであって、カテゴリが嗜好設定項目「暮らす」のトピックを特定する。
ここでは、ユーザUx,Uyがともに評価したトピックであって、カテゴリが嗜好設定項目「暮らす」のトピックとして、トピックTa,Tb,Tcが特定された場合を想定する。つぎに、算出部903は、特定したトピックTa,Tb,Tcごとに、各ユーザUx,Uyの評価結果を比較して、ユーザUx,Uy同士の評価結果が一致するか否かを判定する。各ユーザUx,Uyの評価結果は、検索された各ユーザUx,Uyの嗜好情報から特定される。
図10の例では、嗜好設定項目対応表1020に示すように、トピックTaについては、ユーザUx,Uyの評価結果がともに「高」のため、算出部903は、ユーザUx,Uy同士の評価結果が一致すると判定する。トピックTbについては、ユーザUx,Uyの評価結果が「高,低」のため、算出部903は、ユーザUx,Uy同士の評価結果が一致しないと判定する。トピックTcについては、ユーザUx,Uyの評価結果が「低,高」のため、算出部903は、ユーザUx,Uy同士の評価結果が一致しないと判定する。
そして、算出部903は、トピックTa,Tb,Tcのうち、ユーザUx,Uy同士の評価結果が一致した割合を算出することにより、嗜好類似度Sxyを算出する。ここでは、トピックTaのみ、ユーザUx,Uy同士の評価結果が一致する。このため、嗜好類似度Sxyは「33.3[%]≒1/3×100」となる。ただし、嗜好類似度Sxyを百分率で表す。
図11は、プロファイル類似度および嗜好類似度の第2の算出例を示す説明図である。ここでは、ユーザUxの傾向と他のユーザUyの傾向とのプロファイル類似度Sxyおよび嗜好類似度Sxyを算出する場合を想定する。また、プロファイル類似度Sxyの計算に用いるプロファイル設定項目として、「住所」および「家族構成」が選択され、嗜好類似度Sxyの計算に用いる嗜好設定項目として、カテゴリ「備える」が選択された場合を想定する。
この場合、算出部903は、プロファイルDB230を参照して、ユーザUxのプロファイル設定項目「住所」および「家族構成」のデータを特定する。また、算出部903は、プロファイルDB230を参照して、ユーザUyのプロファイル設定項目「住所」および「家族構成」のデータを特定する。
つぎに、算出部903は、プロファイル設定項目ごとに、各ユーザUx,Uyのデータを比較して、ユーザUx,Uy同士のデータが一致するか否かを判定する。
図11の例では、プロファイル設定項目対応表1110に示すように、プロファイル設定項目「住所」については、「横浜市」まで一致しているため、算出部903は、ユーザUx,Uy同士のデータが一致すると判定する。プロファイル設定項目「家族構成」については、完全一致しているため、算出部903は、ユーザUx,Uy同士のデータが一致すると判定する。
そして、算出部903は、プロファイル設定項目「住所」および「家族構成」のうち、ユーザUx,Uy同士のデータが一致した割合を算出することにより、プロファイル類似度Sxyを算出する。ここでは、プロファイル設定項目「住所」および「家族構成」について、ユーザUx,Uy同士のデータが一致する。このため、プロファイル類似度Sxyは「100[%]≒2/2×100」となる。
算出部903は、嗜好DB240を参照して、ユーザUx,Uyがともに評価したトピックであって、カテゴリが嗜好設定項目「備える」のトピックを特定する。具体的には、例えば、算出部903は、ユーザIDに「Ux」が設定され、かつ、カテゴリに「備える」が設定された嗜好情報を検索する。これにより、ユーザUxが評価したトピックであって、カテゴリが「備える」のトピックを特定することができる。
また、算出部903は、ユーザIDに「Uy」が設定され、かつ、カテゴリに「備える」が設定された嗜好情報を検索する。これにより、ユーザUyが評価したトピックであって、カテゴリが「備える」のトピックを特定することができる。
つぎに、算出部903は、検索したユーザUxの嗜好情報のうち、検索したユーザUyの嗜好情報とトピックIDが共通する嗜好情報を特定する。そして、算出部903は、特定した嗜好情報を参照して、ユーザUx,Uyがともに評価したトピックであって、カテゴリが嗜好設定項目「備える」のトピックを特定する。
ここでは、ユーザUx,Uyがともに評価したトピックであって、カテゴリが嗜好設定項目「備える」のトピックとして、トピックTd,Teが特定された場合を想定する。つぎに、算出部903は、特定したトピックTd,Teごとに、各ユーザUx,Uyの評価結果を比較して、ユーザUx,Uy同士の評価結果が一致するか否かを判定する。
図11の例では、嗜好設定項目対応表1120に示すように、トピックTdについては、ユーザUx,Uyの評価結果がともに「高」のため、算出部903は、ユーザUx,Uy同士の評価結果が一致すると判定する。トピックTeについては、ユーザUx,Uyの評価結果が「高,低」のため、算出部903は、ユーザUx,Uy同士の評価結果が一致しないと判定する。
そして、算出部903は、トピックTd,Teのうち、ユーザUx,Uy同士の評価結果が一致した割合を算出することにより、嗜好類似度Sxyを算出する。ここでは、トピックTaのみ、ユーザUx,Uy同士の評価結果が一致する。このため、嗜好類似度Sxyは「50[%]≒1/2×100」となる。
算出されたプロファイル類似度Sijおよび嗜好類似度Sijは、ユーザUiのユーザIDと対応付けて、図12に示すような類似度テーブル1200に記憶される。類似度テーブル1200は、例えば、メモリ302、ディスク304などの記憶装置により実現される。
図12は、類似度テーブル1200の記憶内容の一例を示す説明図である。図12において、類似度テーブル1200は、ユーザID、他ユーザID、プロファイル類似度および嗜好類似度のフィールドを有し、各フィールドに情報を設定することで、類似度情報(例えば、類似度情報1200−1,1200−2)をレコードとして記憶する。
ユーザIDは、ユーザUiのユーザIDを示す。他ユーザIDは、他のユーザUjのユーザIDを示す。プロファイル類似度は、ユーザUiの傾向と他のユーザUjの傾向とのプロファイル類似度Sijを示す(単位:%)。嗜好類似度は、ユーザUiの傾向と他のユーザUjの傾向との嗜好類似度Sijを示す(単位:%)。
類似度テーブル1200によれば、ユーザUi,Uj間の傾向の類似度Sij(プロファイル類似度Sij、嗜好類似度Sij)を特定することができる。
図9の説明に戻り、受付部901は、トピック一覧の表示要求を受け付ける。ここで、トピック一覧は、情報提供システム200が推薦する複数のトピックをまとめたものであり、例えば、トピックのタイトルをリスト化したものである。
具体的には、例えば、受付部901は、クライアント装置201からトピック一覧の表示要求を受信することにより、当該トピック一覧の表示要求を受け付ける。トピック一覧の表示要求には、例えば、要求元ユーザ(ユーザUi)のユーザIDが含まれる。また、トピック一覧の表示要求には、表示対象となるトピックのカテゴリが含まれていてもよい。
表示制御部904は、トピック一覧を表示する制御を行う。具体的には、例えば、表示制御部904は、クライアント装置201からのトピック一覧の表示要求に応じて、トピックDB220を参照して、クライアント装置201のディスプレイ810に、トピック一覧画面を表示する。
ここで、トピック一覧画面は、トピック一覧を表示する操作画面であり、例えば、トピックのタイトルをリスト化して表示する。より詳細に説明すると、例えば、表示制御部904は、トピックDB220内のトピック管理情報から特定される全てのトピックのタイトルをリスト化したトピック一覧画面を表示することにしてもよい。また、表示制御部904は、トピック一覧の表示要求に含まれるカテゴリのトピックのタイトルをリスト化したトピック一覧画面を表示することにしてもよい。
また、表示制御部904は、要求元ユーザであるユーザUiとの傾向の類似度Sij(例えば、プロファイル類似度Sij、嗜好類似度Sij)が高い他のユーザUjが高評価したトピックのタイトルをリスト化したトピック一覧画面を表示することにしてもよい。
ここで、ユーザUiとの傾向の類似度Sijが高い他のユーザUjは、例えば、プロファイル類似度Sijおよび/または嗜好類似度Sijが閾値α以上のユーザである。閾値αは、任意に設定可能であり、例えば、60[%]程度の値に設定される。
すなわち、表示制御部904は、類似度テーブル1200を参照して、ユーザUiとの傾向の類似度Sijが閾値α以上の他のユーザを特定する。つぎに、表示制御部904は、トピックDB220(または、嗜好DB240)を参照して、特定した他のユーザが高評価したトピックを検索する。この際、表示制御部904は、ユーザUiが評価済みのトピックを除外することにしてもよい。
なお、ユーザUiとの傾向の類似度Sijが高い他のユーザUjは、ユーザUiとの傾向の類似度が高い上位M人のユーザであってもよい。Mは、任意に設定可能であり、例えば、10程度の値に設定される。
そして、表示制御部904は、検索したトピックのタイトルをリスト化したトピック一覧画面を表示する。この際、表示制御部904は、トピックのタイトルと対応付けて、当該トピックを高評価した他のユーザのうち類似度が最大である他のユーザUjとの類似度Sij(プロファイル類似度Sijおよび/または嗜好類似度Sij)を表示してもよい。
また、表示制御部904は、トピックのタイトルと対応付けて、当該トピックを高評価した他のユーザのうち、ユーザUiとの平均類似度が最大である他のユーザUjとの平均類似度を表示してもよい。平均類似度は、プロファイル類似度Sijと嗜好類似度Sijとの平均値である。
トピック一覧画面の画面例については、図13を用いて後述する。
また、受付部901は、ユーザUiに対して表示されたトピック一覧の中からいずれかのトピックT#を選択する操作入力を受け付ける。トピックT#の選択は、例えば、クライアント装置201に表示されるトピック一覧画面(例えば、後述の図13参照)において行われる。この場合、受付部901は、クライアント装置201からトピックT#の選択結果を受信することにより、トピックT#を選択する操作入力を受け付ける。トピックT#の選択結果には、例えば、選択されたトピックT#のトピックIDが含まれる。
表示制御部904は、受付部901が受け付けた操作入力により選択されたトピックT#を高評価した他のユーザUjの傾向とユーザUiの傾向との類似度Sijを取得する。そして、表示制御部904は、選択されたトピックT#の情報と対応付けて、取得した類似度Sijを表示する。
ここで、トピックT#の情報は、例えば、トピックT#のタイトルまたは概要である。すなわち、表示制御部904は、選択されたトピックT#の内容を表示する前に、トピックT#のタイトルと対応付けて、取得した類似度Sijを表示することにしてもよい。類似度Sijは、例えば、プロファイル類似度Sijおよび/または嗜好類似度Sijである。
具体的には、例えば、表示制御部904は、トピックDB220から、選択されたトピックT#のトピック管理情報を取得する。つぎに、表示制御部904は、取得したトピック管理情報の高評価ユーザを参照して、選択されたトピックT#を高評価した他のユーザを特定する。
つぎに、表示制御部904は、類似度テーブル1200を参照して、特定したトピックT#を高評価した他のユーザのうち、ユーザUiとの類似度が高い上位N人のユーザを特定する。Nは、任意に設定可能であり、例えば、1〜3程度の値に設定される。
この際、表示制御部904は、プロファイル類似度が高い上位N人のユーザを特定することにしてもよいし、また、嗜好類似度が高い上位N人のユーザを特定することにしてもよい。また、表示制御部904は、平均類似度が高い上位N人のユーザを特定することにしてもよい。平均類似度は、プロファイル類似度と嗜好類似度との平均値である。
つぎに、表示制御部904は、類似度テーブル1200を参照して、ユーザUiの傾向と、特定した上位N人のユーザの傾向との類似度を取得する。そして、表示制御部904は、選択されたトピックT#のタイトルと対応付けて、取得した上位N人のユーザとの類似度を表示する。
この際、表示制御部904は、取得した上位N人のユーザそれぞれとの類似度を、上位N人のユーザそれぞれのユーザ名と対応付けて表示することにしてもよい。ユーザ名は、例えば、プロファイルDB230内のプロファイル情報から特定される。
より詳細に説明すると、例えば、表示制御部904は、クライアント装置201のディスプレイ810に、後述の図14に示すようなトピック画面1400を表示する。なお、表示制御部904は、ユーザUiとの類似度が高い上位N人のユーザだけでなく、選択されたトピックT#を高評価した全ての他のユーザとの類似度を表示することにしてもよい。
また、表示制御部904は、選択されたトピックT#の情報と対応付けて、取得した類似度Sijの大きさに応じて、色や形状が変化するキャラクターを表示することにしてもよい。より詳細に説明すると、例えば、表示制御部904は、クライアント装置201のディスプレイ810に、後述の図15に示すようなトピック画面1500を表示する。
また、受付部901は、トピックT#の詳細表示要求を受け付けることにしてもよい。ここで、トピックT#の詳細表示要求は、トピックT#の内容を表示するよう要求するものである。トピックT#の詳細表示要求は、例えば、後述の図14に示すようなトピック画面1400や後述の図15に示すようなトピック画面1500において行われる。
具体的には、例えば、受付部901は、クライアント装置201からトピックT#の詳細表示要求を受信することにより、当該詳細表示要求を受け付ける。トピックT#の詳細表示要求には、例えば、トピックT#のトピックIDが含まれる。
また、表示制御部904は、トピックT#の内容を表示することにしてもよい。具体的には、例えば、表示制御部904は、クライアント装置201からのトピックT#の詳細表示要求に応じて、トピックDB220を参照して、当該詳細表示要求に含まれるトピックIDに対応するトピック管理情報の提供者情報を特定する。
そして、表示制御部904は、特定した提供者情報に基づいて、クライアント装置201のディスプレイ810に、トピックT#の内容を表示する。例えば、表示制御部904は、提供者情報に含まれるURLをクライアント装置201に通知することにしてもよい。この場合、クライアント装置201は、通知されたURLを指定して、トピックT#の内容を表示する。
また、受付部901は、トピックT#の評価結果を受け付ける。ここで、トピックT#の評価方法は、任意に設定可能である。例えば、評価方法として、「高」または「低」のいずれかを選択する2段階評価を採用してもよいし、「1〜5」のいずれかの評価値を選択する5段階評価を採用してもよい(評価値が大きいほど高評価)。
トピックT#の評価は、例えば、後述の図14に示すようなトピック画面1400や後述の図15に示すようなトピック画面1500において行われる。
具体的には、例えば、受付部901は、クライアント装置201からトピック評価結果情報を受信することにより、トピックT#の評価結果を受け付ける。トピック評価結果情報には、例えば、ユーザUiのユーザID、トピックT#のトピックIDおよび評価結果が含まれる。
登録部902は、受付部901が受け付けたトピックT#の評価結果を登録する。具体的には、例えば、登録部902は、トピック評価結果情報に含まれるユーザIDと対応付けて、トピック評価結果情報に含まれるトピックIDおよび評価結果を嗜好DB240に登録する。なお、トピックT#の評価方法として5段階評価が採用された場合、登録部902は、例えば、評価値が「1または2」であれば、評価結果「低」と判断し、評価値が「3〜4」であれば、評価結果「高」と判断することにしてもよい。
また、登録部902は、トピックDB220の記憶内容を更新する。例えば、トピック評価結果情報にユーザID「U1」、トピックID「T1」、および評価結果「高」が含まれるとする。この場合、登録部902は、トピックDB220内のトピック管理情報400−1の高評価ユーザフィールドに「U1」を追加する。
(トピック一覧画面の画面例)
つぎに、図13を用いて、クライアント装置201からのトピック一覧の表示要求に応じて、クライアント装置201のディスプレイ810に表示されるトピック一覧画面の画面例について説明する。ここでは、トピック一覧の表示要求に、ユーザID「U1」と、カテゴリ「暮らす」とが含まれる場合を想定する。すなわち、要求元ユーザは、ユーザU1である。
図13は、トピック一覧画面の画面例を示す説明図である。図13において、クライアント装置201のディスプレイ810に、トピック一覧画面1300が表示されている。トピック一覧画面1300は、カテゴリ「暮らす」のトピックT1〜T3のタイトル1301〜1303をリスト化して表示する操作画面である。
ここで、トピックT1〜T3は、要求元ユーザであるユーザU1との傾向の類似度が高い他のユーザが高評価したトピックである。ユーザU1との傾向の類似度が高い他のユーザは、例えば、ユーザU1とのプロファイル類似度または嗜好類似度のうちの少なくともいずれかの類似度が60[%]以上のユーザである(α=60)。
トピック一覧画面1300には、各トピックT1〜T3のタイトル1301〜1303と対応付けて、マッチ率1310,1320,1330がそれぞれ表示されている。マッチ率1310,1320,1330は、各トピックT1〜T3を高評価した他のユーザのうち、ユーザU1との間の平均類似度が最大である他のユーザとの平均類似度である。ただし、平均類似度は、プロファイル類似度と嗜好類似度との平均値である。
トピック一覧画面1300によれば、ユーザU1は、情報提供システム200から推薦されたカテゴリ「暮らす」のトピックT1〜T3のタイトル1301〜1303を確認することができる。この際、ユーザU1は、マッチ率1310,1320,1330を参照することにより、各トピックT1〜T3がどの程度自分に合ったトピックであるかを判断することができる。
例えば、ユーザU1は、トピックT1について、自身とのプロファイルや嗜好の類似度合いが80[%]を超える他のユーザが高評価しているものであるため、自分の価値観に合ったトピックである可能性が高いと判断することができる。
トピック一覧画面1300において、例えば、クライアント装置201の不図示の入力装置を用いたユーザU1の操作入力により、タイトル1301〜1303のいずれかをタップすると、トピック画面をディスプレイ810に表示することができる。
例えば、タイトル1301をタップすると、クライアント装置201から情報処理装置101にトピックT1の選択結果が送信される。この結果、情報処理装置101において、トピックT1を選択する操作入力が受け付けられ、図14に示すようなトピック画面1400がクライアント装置201のディスプレイ810に表示される。
(トピック画面の画面例)
ここで、図14を用いて、クライアント装置201のディスプレイ810に表示されるトピック画面の第1の画面例について説明する。
図14は、トピック画面の第1の画面例を示す説明図である。図14において、クライアント装置201のディスプレイ810に、トピック画面1400が表示されている。トピック画面1400は、トピック一覧画面1300(図13参照)において選択されたトピックT1のタイトル1301と対応付けて、類似度情報1410を表示する操作画面である。
類似度情報1410は、ユーザU1との平均類似度が高い上位3人のユーザそれぞれについて、プロファイル類似度1411〜1413と、嗜好類似度1414〜1416とを含む。平均類似度は、プロファイル類似度と嗜好類似度との平均値である。図14中、「koto」、「aka」、「jun」は、各ユーザのユーザ名である。また、図14中、「プロファイルシンパシー」はプロファイル類似度に相当し、「嗜好シンパシー」は嗜好類似度に相当する。
例えば、プロファイル類似度1411は、ユーザ名「koto」の他のユーザとユーザU1とのプロファイル(客観的情報)の類似度合いを示す。また、嗜好類似度1414は、ユーザ名「koto」の他のユーザとユーザU1との嗜好(主観的情報)の類似度合いを示す。
トピック画面1400によれば、ユーザU1は、トピックT1について、自身とのプロファイルや嗜好の類似度合いが高い上位3人のユーザのプロファイル類似度1411〜1413と嗜好類似度1414〜1416を確認することができる。これにより、ユーザU1は、複数のユーザの情報をもとに、トピックT1がどの程度自分に合ったトピックであるかを判断することができ、自分の価値観に合ったトピックを検索しやすくなる。
例えば、嗜好類似度1414〜1416に比べてプロファイル類似度1411〜1413が高い値となっているため、ユーザU1は、トピックT1が、嗜好よりもプロファイルが自身と類似する他のユーザが高評価したものであることが分かる。すなわち、ユーザU1は、トピックT1が、年齢、住所、家族構成等の客観的情報が類似する人が興味のあるものであることが分かり、トピックT1を詳細表示するか否かの判断に役立てることができる。
トピック画面1400において、ユーザU1の操作入力により、詳細表示ボタン1401をタップすると、トピックT1の内容を表示することができる。トピックT1の内容は、例えば、情報処理装置101から通知されるURLにより、クライアント装置201から外部サーバにアクセスすることにより表示される。
また、トピック画面1400において、ユーザU1の操作入力により、評価ボタン1402を選択するか否かによって、トピックT1を評価することができる。初期状態では、評価ボタン1402は、未選択の状態である。例えば、評価ボタン1402をタップすると、評価ボタン1402が選択され、トピックT1を高評価することができる。一方、評価ボタン1402をタップせず、評価ボタン1402を未選択の状態のままにすると、トピックT1を低評価したことになる。図14の例では、評価ボタン1402がタップされて、選択された状態となっている。
なお、5段階評価等を採用する場合には、例えば、トピック画面1400において、評価値を入力したり、選択したりできるようにすればよい。また、トピック画面1400において、ユーザU1の操作入力により、戻るボタン1403をタップすると、図13に示したトピック一覧画面1300をディスプレイ810に表示することができる。
トピック評価結果情報は、例えば、戻るボタン1403がタップされたことに応じて、クライアント装置201から情報処理装置101に送信される。トピック評価結果情報は、トピックT1の評価結果を示す情報である。また、トピック評価結果情報は、例えば、評価ボタン1402がタップされたタイミングで、クライアント装置201から情報処理装置101に送信されることにしてもよい。
つぎに、図15を用いて、クライアント装置201のディスプレイ810に表示されるトピック画面の第2の画面例について説明する。
図15は、トピック画面の第2の画面例を示す説明図である。図15において、クライアント装置201のディスプレイ810に、トピック画面1500が表示されている。トピック画面1500は、トピック一覧画面1300(図13参照)において選択されたトピックT1のタイトル1301と対応付けて、類似度情報1510を表示する操作画面である。
類似度情報1510は、ユーザU1との平均類似度が高い上位3人のユーザそれぞれについて、キャラクター1511〜1513と、キャラクター1514〜1516とを含む。ここで、キャラクター1511〜1513は、色(または、模様)によってプロファイル類似度を表す。キャラクター1514〜1516は、色(または、模様)によって嗜好類似度を表す。キャラクター1520は、ユーザU1を表すキャラクターである。
ここでは、各キャラクター1511〜1516の色は、ユーザU1とのプロファイル類似度が60[%]以上であるか否かに応じて設定される。具体的には、プロファイル類似度が60[%]以上であれば、キャラクター1520と同じ色が設定される。一方、プロファイル類似度が60[%]未満であれば、キャラクター1520と異なる色が設定される。
図15の例では、プロファイル類似度については、全てのユーザが60[%]以上であるため、キャラクター1511〜1513の色が、キャラクター1520と同じ色に設定されている。嗜好類似度については、ユーザ名「koto」のユーザが60[%]以上であり、ユーザ名「aka」のユーザとユーザ名「jun」のユーザが60[%]未満である。このため、キャラクター1514の色が、キャラクター1520と同じ色に設定され、キャラクター1515,1516の色が、キャラクター1520と異なる色に設定されている。
トピック画面1500によれば、ユーザU1は、各キャラクター1511〜1516,1520の色から、トピックT1について、自身とのプロファイルや嗜好の類似度合いが高い上位3人のユーザのプロファイル類似度の大きさと嗜好類似度の大きさを直感的に把握することができる。
(情報処理装置101の各種処理手順)
つぎに、情報処理装置101の各種処理手順について説明する。まず、図16を用いて、情報処理装置101の類似度計算設定処理手順について説明する。
図16は、情報処理装置101の類似度計算設定処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、情報処理装置101は、クライアント装置201から、類似度計算設定依頼を受信したか否かを判断する(ステップS1601)。
ここで、情報処理装置101は、クライアント装置201から類似度計算設定依頼を受信するのを待つ(ステップS1601:No)。情報処理装置101は、クライアント装置201から類似度計算設定依頼を受信した場合(ステップS1601:Yes)、類似度計算設定依頼に含まれる項目情報を参照して、プロファイル設定項目および嗜好設定項目を特定する(ステップS1602)。
そして、情報処理装置101は、類似度計算設定依頼に含まれるユーザIDと対応付けて、特定したプロファイル設定項目および嗜好設定項目を、類似度計算設定DB250に登録して(ステップS1603)、本フローチャートによる一連の処理を終了する。
これにより、依頼元ユーザであるユーザUiと他のユーザUjとの傾向の類似度Sij(プロファイル類似度Sijおよび嗜好類似度Sij)の計算に用いるプロファイル設定項目および嗜好設定項目を設定することができる。
つぎに、図17および図18を用いて、情報処理装置101の第1の検索支援処理手順について説明する。第1の検索支援処理手順は、トピック一覧画面を表示する際に、ユーザUi,Uj間の類似度Sijを、その都度計算する場合の処理手順である。
図17および図18は、情報処理装置101の検索支援処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、情報処理装置101は、クライアント装置201からトピック一覧の表示要求を受信したか否かを判断する(ステップS1701)。
以下の説明では、トピック一覧の表示要求の要求元であるユーザUiを「対象ユーザ」と表記する場合がある。
ここで、情報処理装置101は、クライアント装置201からトピック一覧の表示要求を受信するのを待つ(ステップS1701:No)。情報処理装置101は、クライアント装置201からトピック一覧の表示要求を受信した場合(ステップS1701:Yes)、プロファイルDB230から全ユーザのプロファイル情報を取得する(ステップS1702)。
つぎに、情報処理装置101は、嗜好DB240から全ユーザの嗜好情報を取得する(ステップS1703)。つぎに、情報処理装置101は、類似度計算設定DB250から対象ユーザの類似度計算設定情報を取得する(ステップS1704)。そして、情報処理装置101は、取得した類似度計算設定情報を参照して、対象ユーザのプロファイル設定項目および嗜好設定項目を特定する(ステップS1705)。
つぎに、情報処理装置101は、取得した全ユーザのプロファイル情報に基づいて、特定したプロファイル設定項目を参照して、対象ユーザと各ユーザとのプロファイル類似度を算出する(ステップS1706)。つぎに、情報処理装置101は、取得した全ユーザの嗜好情報に基づいて、特定した嗜好設定項目を参照して、対象ユーザと各ユーザとの嗜好類似度を算出する(ステップS1707)。
算出された対象ユーザと各ユーザとのプロファイル類似度および嗜好類似度は、例えば、図12に示したような類似度テーブル1200に記憶される。そして、情報処理装置101は、類似度テーブル1200を参照して、類似度上位のユーザを特定する(ステップS1708)。ここで、類似度上位のユーザは、例えば、対象ユーザとの類似度が高い上位M人のユーザである。
つぎに、情報処理装置101は、トピックDB220から、特定した類似度上位のユーザが高評価したトピックを検索する(ステップS1709)。なお、検索対象となるトピックは、例えば、類似度上位のユーザのうちのいずれかのユーザのユーザIDが高評価ユーザフィールドに設定されたトピックである。
そして、情報処理装置101は、類似度テーブル1200を参照して、検索した各トピックについて、類似度上位のユーザのうち、対象ユーザとの平均類似度が最大のユーザと対象ユーザとの平均類似度を特定し(ステップS1710)、図18に示すステップS1801に移行する。平均類似度は、プロファイル類似度と嗜好類似度との平均値である。
図18のフローチャートにおいて、まず、情報処理装置101は、ステップS1709において検索した各トピックのタイトルと対応付けて、ステップS1710において各トピックについて特定した平均類似度を表示するトピック一覧画面をクライアント装置201に表示する(ステップS1801)。具体的には、例えば、情報処理装置101は、平均類似度が降順となるように各トピックを並べたトピック一覧画面を表示する。
つぎに、情報処理装置101は、表示したトピック一覧画面の中からトピックT#が選択されたか否かを判断する(ステップS1802)。ここで、情報処理装置101は、トピックT#が選択されるのを待つ(ステップS1802:No)。情報処理装置101は、トピックT#が選択された場合(ステップS1802:Yes)、トピックDB220から、選択されたトピックT#のトピック管理情報を取得する(ステップS1803)。
つぎに、情報処理装置101は、取得したトピック管理情報の高評価ユーザを参照して、選択されたトピックT#を高評価した、対象ユーザとは異なる他のユーザを特定する(ステップS1804)。そして、情報処理装置101は、類似度テーブル1200を参照して、特定した他のユーザのうち、対象ユーザとの類似度が高い上位3人のユーザを特定する(ステップS1805)。
つぎに、情報処理装置101は、類似度テーブル1200を参照して、特定した上位3人のユーザと対象ユーザとの類似度を取得する(ステップS1806)。取得される類似度は、例えば、プロファイル類似度および嗜好類似度である。そして、情報処理装置101は、選択されたトピックT#のタイトルと対応付けて、取得した上位3人のユーザの類似度を表示するトピック画面をクライアント装置201に表示して(ステップS1807)、本フローチャートによる一連の処理を終了する。
これにより、トピック一覧画面の中からトピックT#が選択されたことに応じて、トピックT#のタイトルと対応付けて、トピックT#を高評価したユーザであって、対象ユーザとの類似度が高い上位N人のユーザの類似度を表示することができる。
つぎに、図19を用いて、情報処理装置101の評価結果登録処理手順について説明する。
図19は、情報処理装置101の評価結果登録処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、情報処理装置101は、クライアント装置201から、トピック評価結果情報を受信したか否かを判断する(ステップS1901)。
ここで、情報処理装置101は、クライアント装置201からトピック評価結果情報を受信するのを待つ(ステップS1901:No)。情報処理装置101は、クライアント装置201からトピック評価結果情報を受信した場合(ステップS1901:Yes)、トピック評価結果情報に含まれるユーザIDと対応付けて、トピック評価結果情報に含まれるトピックIDおよび評価結果を嗜好DB240に登録する(ステップS1902)。
そして、情報処理装置101は、受信したトピック評価結果情報に基づいて、トピックDB220の記憶内容を更新して(ステップS1903)、本フローチャートによる一連の処理を終了する。これにより、トピックT#の評価結果を、トピックDB220や嗜好DB240に反映することができる。
つぎに、図20および図21を用いて、トピック一覧の表示要求を受け付けるよりも前に、ユーザUi,Uj間の類似度Sijを事前に計算する場合の情報処理装置101の各種処理手順について説明する。
図20は、情報処理装置101の類似度計算処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、情報処理装置101は、クライアント装置201から、類似度計算設定依頼を受信したか否かを判断する(ステップS2001)。
ここで、情報処理装置101は、クライアント装置201から類似度計算設定依頼を受信するのを待つ(ステップS2001:No)。情報処理装置101は、クライアント装置201から類似度計算設定依頼を受信した場合(ステップS2001:Yes)、類似度計算設定依頼に含まれる項目情報を参照して、プロファイル設定項目および嗜好設定項目を特定する(ステップS2002)。
そして、情報処理装置101は、類似度計算設定依頼に含まれるユーザIDと対応付けて、特定したプロファイル設定項目および嗜好設定項目を、類似度計算設定DB250に登録する(ステップS2003)。つぎに、情報処理装置101は、プロファイルDB230から全ユーザのプロファイル情報を取得する(ステップS2004)。
以下の説明では、類似度計算設定依頼の依頼元であるユーザUiを「対象ユーザ」と表記する場合がある。
つぎに、情報処理装置101は、嗜好DB240から全ユーザの嗜好情報を取得する(ステップS2005)。つぎに、情報処理装置101は、類似度計算設定DB250から対象ユーザの類似度計算設定情報を取得する(ステップS2006)。そして、情報処理装置101は、取得した類似度計算設定情報を参照して、対象ユーザのプロファイル設定項目および嗜好設定項目を特定する(ステップS2007)。
つぎに、情報処理装置101は、取得した全ユーザのプロファイル情報に基づいて、特定したプロファイル設定項目を参照して、対象ユーザと各ユーザとのプロファイル類似度を算出する(ステップS2008)。つぎに、情報処理装置101は、取得した全ユーザの嗜好情報に基づいて、特定した嗜好設定項目を参照して、対象ユーザと各ユーザとの嗜好類似度を算出する(ステップS2009)。
そして、情報処理装置101は、算出した対象ユーザと各ユーザとのプロファイル類似度および嗜好類似度を、類似度テーブル1200に登録して(ステップS2010)、本フローチャートによる一連の処理を終了する。これにより、トピック一覧の表示要求を受け付けるよりも前に、対象ユーザと他のユーザとの類似度を事前に計算して保持しておくことができる。
つぎに、図21を用いて、情報処理装置101の第2の検索支援処理手順について説明する。
図21は、情報処理装置101の第2の検索支援処理手順の一例を示すフローチャートである。図21のフローチャートにおいて、まず、情報処理装置101は、クライアント装置201からトピック一覧の表示要求を受信したか否かを判断する(ステップS2101)。
ここで、情報処理装置101は、クライアント装置201からトピック一覧の表示要求を受信するのを待つ(ステップS2101:No)。情報処理装置101は、クライアント装置201からトピック一覧の表示要求を受信した場合(ステップS2101:Yes)、類似度テーブル1200を参照して、類似度上位のユーザを特定する(ステップS2102)。つぎに、情報処理装置101は、トピックDB220から、特定した類似度上位のユーザが高評価したトピックを検索する(ステップS2103)。
そして、情報処理装置101は、類似度テーブル1200を参照して、検索した各トピックについて、類似度上位のユーザのうち、対象ユーザとの平均類似度が最大のユーザと対象ユーザとの平均類似度を特定する(ステップS2104)。つぎに、情報処理装置101は、検索した各トピックのタイトルと対応付けて、各トピックについて特定した平均類似度を表示するトピック一覧画面をクライアント装置201に表示する(ステップS2105)。
そして、情報処理装置101は、表示したトピック一覧画面の中からトピックT#が選択されたか否かを判断する(ステップS2106)。ここで、情報処理装置101は、トピックT#が選択されるのを待つ(ステップS2106:No)。情報処理装置101は、トピックT#が選択された場合(ステップS2106:Yes)、トピックDB220から、選択されたトピックT#のトピック管理情報を取得する(ステップS2107)。
つぎに、情報処理装置101は、取得したトピック管理情報の高評価ユーザを参照して、選択されたトピックT#を高評価した、対象ユーザとは異なる他のユーザを特定する(ステップS2108)。そして、情報処理装置101は、類似度テーブル1200を参照して、特定した他のユーザのうち、対象ユーザとの類似度が高い上位3人のユーザを特定する(ステップS2109)。
つぎに、情報処理装置101は、類似度テーブル1200を参照して、特定した上位3人のユーザと対象ユーザとの類似度を取得する(ステップS2110)。そして、情報処理装置101は、選択されたトピックT#のタイトルと対応付けて、取得した上位3人のユーザの類似度を表示するトピック画面をクライアント装置201に表示して(ステップS2111)、本フローチャートによる一連の処理を終了する。
これにより、トピック一覧画面の中からトピックT#が選択されたことに応じて、トピックT#のタイトルと対応付けて、トピックT#を高評価したユーザであって、対象ユーザとの類似度が高い上位N人のユーザの類似度を表示することができる。また、対象ユーザと他のユーザとの類似度を事前に計算しているため、トピック一覧画面を表示する際のレスポンスタイムを短縮することができる。
以上説明したように、実施の形態にかかる情報処理装置101によれば、ユーザUiに対してトピックT#の情報を表示する場合に、トピックT#を高評価した他のユーザUjのパーソナルデータとユーザUiのパーソナルデータとに基づく、他のユーザUjの傾向とユーザUiの傾向との類似度Sijを取得し、トピックT#の情報と対応付けて、取得した類似度Sijを表示することができる。
これにより、トピックT#に興味がある他のユーザUjとの類似度合いから、トピックT#の詳細な中身を確認しなくても、トピックT#がどの程度自分に合ったものであるかを判断可能にすることができる。
また、情報処理装置101によれば、ユーザUiに対して表示されたトピック一覧の中からいずれかのトピックT#を選択する操作入力を受け付け、受け付けた操作入力により選択されたトピックT#を高評価した他のユーザUjの傾向とユーザUiの傾向との類似度Sijを取得し、選択されたトピックT#の情報と対応付けて、取得した類似度Sijを表示することができる。
これにより、トピック一覧(例えば、トピック一覧画面1300)からいずれかのトピックT#が選択された際に、トピックT#に興味がある他のユーザUjとの類似度合いを示す情報を提示することができる。
また、情報処理装置101によれば、他のユーザUjのパーソナルデータに含まれる他のユーザに関する客観的情報と、ユーザUiのパーソナルデータに含まれるユーザUiに関する客観的情報とに基づいて、類似度Sij(プロファイル類似度Sij)を算出することができる。
これにより、年齢、住所、年収などの個人に関する客観的情報(プロファイル)についての他のユーザUjとの類似度合いを示す情報を提示することができる。このため、例えば、自分と同じ年代、同じ居住エリア、同じ生活レベルの人が興味のあるトピックを絞り込むことができる。
また、情報処理装置101によれば、他のユーザUjのパーソナルデータに含まれる他のユーザUjに関する主観的情報と、ユーザUiのパーソナルデータに含まれるユーザUiに関する主観的情報とに基づいて、類似度Sij(嗜好類似度Sij)を算出することができる。
これにより、興味がある活動やサービスなどの個人に関する主観的情報(嗜好)についての他のユーザUjとの類似度合いを示す情報を提示することができる。このため、例えば、自分と嗜好が似た人が興味のあるトピックを絞り込むことができる。
また、情報処理装置101によれば、ユーザUiのパーソナルデータに含まれる複数の項目のうちの1以上の項目(例えば、プロファイル設定項目、嗜好設定項目)の選択を受け付けると、ユーザUiと対応付けて、選択された1以上の項目を記憶部910に登録することができる。そして、情報処理装置101によれば、記憶部910を参照して、ユーザUiに対応する1以上の項目を特定し、他のユーザUjのパーソナルデータのうち特定した1以上の項目のデータと、ユーザUiのパーソナルデータのうち特定した1以上の項目のデータとに基づいて、類似度Sijを算出することができる。
これにより、ユーザUiのパーソナルデータのうち、類似度Sij(プロファイル類似度Sij、嗜好類似度Sij)の計算に用いるデータ(プロファイル設定項目、嗜好設定項目)を任意に設定することができる。すなわち、類似度Sijを計算するにあたり、重視して欲しくないプロファイルや嗜好を条件から外すことができる。このため、一律な基準で類似度Sijを算出する場合に比べて、ユーザUiの価値観に合ったトピックをより的確に判断可能な情報を提示することができる。
また、情報処理装置101によれば、トピックT#の内容を表示する前に、トピックT#のタイトルと対応付けて、取得した類似度Sijを表示することができる。
これにより、トピックT#の詳細表示をする前に、トピックT#がどの程度自分に合ったものであるかを判断可能な情報を提示することができる。
また、情報処理装置101によれば、トピックT#を高評価した他のユーザのうち、ユーザUiの傾向との類似度が高い上位N人のユーザの傾向とユーザの傾向との類似度を取得し、トピックT#の情報と対応付けて、取得した類似度を表示することができる。
これにより、プロファイルや嗜好の類似度合いが相対的に高い他のユーザとの類似度を提示して、トピックT#がどの程度自分に合ったものであるかを判断可能にすることができる。
これらのことから、実施の形態にかかる情報処理装置101によれば、トピックの詳細な中身を確認しなくても、ユーザのプロファイルや嗜好に合ったトピックを絞り込むことが可能となる。これにより、情報提供システム200から推薦されたトピック一覧の中から、ユーザの価値観に合ったトピックを簡単に検索することが可能となる。
なお、本実施の形態で説明した検索支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本検索支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本検索支援プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した情報処理装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)ユーザに対してコンテンツの情報を表示する場合に、前記コンテンツを高評価した他のユーザのパーソナルデータと前記ユーザのパーソナルデータとに基づく、前記他のユーザの傾向と前記ユーザの傾向との類似度を取得し、
前記コンテンツの情報と対応付けて、取得した前記類似度を表示する、
処理をコンピュータに実行させることを特徴とする検索支援プログラム。
(付記2)前記ユーザに対して表示されたコンテンツ一覧の中からいずれかのコンテンツを選択する操作入力を受け付ける、処理を前記コンピュータに実行させ、
前記取得する処理は、受け付けた前記操作入力により選択された前記コンテンツを高評価した他のユーザの傾向と前記ユーザの傾向との類似度を取得し、
前記表示する処理は、選択された前記コンテンツの情報と対応付けて、取得した前記類似度を表示する、ことを特徴とする付記1に記載の検索支援プログラム。
(付記3)前記類似度は、前記他のユーザのパーソナルデータに含まれる前記他のユーザに関する客観的情報と、前記ユーザのパーソナルデータに含まれる前記ユーザに関する客観的情報とに基づき算出される、ことを特徴とする付記1または2に記載の検索支援プログラム。
(付記4)前記類似度は、前記他のユーザのパーソナルデータに含まれる前記他のユーザに関する主観的情報と、前記ユーザのパーソナルデータに含まれる前記ユーザに関する主観的情報とに基づき算出される、ことを特徴とする付記1〜3のいずれか一つに記載の検索支援プログラム。
(付記5)前記ユーザのパーソナルデータに含まれる複数の項目のうちの1以上の項目の選択を受け付けると、前記ユーザと対応付けて、選択された前記1以上の項目を記憶部に登録し、
前記記憶部を参照して、前記ユーザに対応する前記1以上の項目を特定し、
前記他のユーザのパーソナルデータのうち特定した前記1以上の項目のデータと、前記ユーザのパーソナルデータのうち特定した前記1以上の項目のデータとに基づいて、前記他のユーザの傾向と前記ユーザの傾向との類似度を算出する、
処理を前記コンピュータに実行させることを特徴とする付記1〜4のいずれか一つに記載の検索支援プログラム。
(付記6)前記コンテンツの情報は、前記コンテンツのタイトルであり、
前記表示する処理は、前記コンテンツの内容を表示する前に、前記コンテンツの情報と対応付けて、取得した前記類似度を表示する、ことを特徴とする付記1〜5のいずれか一つに記載の検索支援プログラム。
(付記7)前記取得する処理は、前記コンテンツを高評価した他のユーザのうち、前記ユーザの傾向との類似度が高い上位N人(N:自然数)のユーザの傾向と前記ユーザの傾向との類似度を取得する、ことを特徴とする付記1〜6のいずれか一つに記載の検索支援プログラム。
(付記8)前記取得する処理は、前記コンテンツと、前記コンテンツを評価したユーザと、前記コンテンツの評価結果とを対応付けて表す情報を参照して、前記コンテンツを高評価した他のユーザを特定する、ことを特徴とする付記1〜6のいずれか一つに記載の検索支援プログラム。
(付記9)ユーザに対してコンテンツの情報を表示する場合に、前記コンテンツを高評価した他のユーザのパーソナルデータと前記ユーザのパーソナルデータとに基づく、前記他のユーザの傾向と前記ユーザの傾向との類似度を取得し、
前記コンテンツの情報と対応付けて、取得した前記類似度を表示する、
処理をコンピュータが実行することを特徴とする検索支援方法。
(付記10)ユーザに対してコンテンツの情報を表示する場合に、前記コンテンツを高評価した他のユーザのパーソナルデータと前記ユーザのパーソナルデータとに基づく、前記他のユーザの傾向と前記ユーザの傾向との類似度を取得し、
前記コンテンツの情報と対応付けて、取得した前記類似度を表示する、
表示制御部を有することを特徴とする情報処理装置。