以下、本発明を適用したサジェスト装置、サジェスト方法、およびプログラムを、図面を参照して説明する。本発明を適用したサジェスト装置、サジェスト方法、およびプログラムは、例えば、ユーザの操作に基づく検索要求に応じ、ユーザの価値観、ユーザが置かれているシーン、状況等に基づいてユーザにコンテンツをサジェストするサジェストシステムにより実現される。サジェストとは、コンテンツの一覧を含むコンテンツをユーザに提供する処理である。これによりサジェストシステムは、ユーザにとって利便性の高い情報提供サービスを実現する。なお、以下の実施形態において、サジェストシステムの適用分野は観光および街歩きであるが、これに限定されず、買い物などのあらゆる分野に適用可能である。
<サジェストシステムの全体説明>
まず、実施の形態におけるサジェストシステムの全体の構成、および処理内容について説明する。
図1は、実施の形態におけるサジェストシステムの一構成例を示すブロック図である。サジェストシステムは、例えば、ユーザ端末装置100と、サジェスト装置200と、コンテンツ提供装置300と、環境情報提供装置400とを備える。ユーザ端末装置100、コンテンツ提供装置300、コンテンツ提供装置300、および環境情報提供装置400は、例えば、通信ネットワークに接続される。通信ネットワークに接続される各装置は、NIC(Network Interface Card)や無線通信モジュールなどの通信インターフェースを備えている(図1では不図示)。通信ネットワークは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、セルラー網などを含む。
ユーザ端末装置100は、例えばスマートフォンやタブレット端末などの携帯型端末装置である。ユーザ端末装置100は、ブラウザやアプリケーションプログラムなどのUA(User Agent)が起動する。UAは、例えば、サジェスト装置200が提供する情報提供サービスを受けるためのアプリケーションである。ユーザ端末装置100は、ユーザの操作に基づく操作情報、GPS(Global Positioning System, Global Positioning Satellite)を利用したユーザ端末装置100の位置情報、およびクエリを含む検索要求を生成し、サジェスト装置200またはコンテンツ提供装置300に送信する。ユーザ端末装置100は、サジェスト装置200から提供されたコンテンツの一覧を表す情報、およびコンテンツ提供装置300から受信したコンテンツを用いて表示処理や操作の受け付け処理などを行う。
サジェスト装置200は、例えば、情報提供サービスのための処理を行う情報処理装置である。サジェスト装置200は、例えば、受付部210と、行動履歴取得部220と、シーン・状況推定部230と、価値観推定部240と、検索部250と、サジェスト部260と、データベース部270とを備える。受付部210、行動履歴取得部220、シーン・状況推定部230、価値観推定部240、検索部250、およびサジェスト部260といった機能部は、例えばCPU(Central Processing Unit)等のプロセッサがプログラムメモリに格納されたプログラムを実行することにより実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)等のハードウェアにより実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
受付部210は、ユーザ端末装置100から、ユーザの操作に基づく情報である操作情報等を取得することで、ユーザの操作等を受け付ける。行動履歴取得部220は、操作情報、ユーザの位置情報、コンテンツの閲覧履歴、お気に入り登録などのユーザの価値観に関する行動(アクション)の履歴を含む行動履歴情報を取得する。シーン・状況推定部230は、ユーザの価値観に影響を与えるシーンを表すシーン情報および/またはユーザが置かれている状況を表す状況情報を取得する。価値観推定部240は、例えば観光等の適用分野におけるユーザの価値観を推定する。ユーザの価値観は、例えば、観光における嗜好または好みなどである。ユーザの価値観は、シーンおよび/または状況によって変動するため、シーンおよび/または状況に対応した価値観を含む。なお、価値観推定部240は、ユーザの価値観に基づいて、ユーザに対応したペルソナを推定してよい。ペルソナは、情報提供サービスを受ける顧客モデルである。なお、価値観推定部240は、ユーザ属性として、例えば、ユーザの固定的な情報(住所、性別、年齢など)も取得してよい。検索部250は、受付部210により受け付けられた検索要求に基づいてコンテンツを検索する。サジェスト部260は、検索部250により検索されたコンテンツの中から、シーン・状況推定部230により推定されたシーン・状況、価値観推定部240により推定された価値観等に基づいて、コンテンツをサジェストする。
データベース部270は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、またはRAM(Random Access Memory)、或いはこれらを複数用いたハイブリッド型記憶装置により実現される。データベース部270は、各種ネットワークを介してアクセス可能な外部記憶装置によって実現されてもよい。外部記憶装置の一例として、NAS(Network Attached Storage)装置が挙げられる。データベース部270は、サジェスト装置200における各部の処理に必要な情報を管理する。
コンテンツ提供装置300は、例えば、ユーザ端末装置100からの要求に対して各種のコンテンツを提供するサーバ装置である。コンテンツ提供装置300は、例えば、旅行先における、飲食店、店舗、公共施設(公園など)や、交通機関や、営利目的施設に関するコンテンツを提供する。コンテンツ提供装置300は、例えば、飲食店の広告情報や、クーポン情報や、飲食店のURLなどを含む提供用コンテンツのコンテンツデータをコンテンツ記憶部300Aに記憶する。コンテンツデータには、コンテンツの属性を示すコンテンツ属性情報が付加されている。コンテンツの属性は、コンテンツの性質を示す情報であり、例えば、ユーザの価値観に対応した情報、ペルソナに対応した情報、およびシーンまたは状況に対応した情報である。
環境情報提供装置400は、天候情報、交通情報、災害情報といった時々刻々と変化する環境情報を配信するサーバ装置である。環境情報提供装置400は、例えばサジェスト装置200からの要求に応じて環境情報を発信する。なお、環境情報は、現在地情報、現在地のスポット(例えば店舗名称、観光地名称)を示すスポット情報、電子マネーの残高情報などのユーザの情報を含んでよい。
図2は、実施の形態におけるサジェストシステムの全体処理の一例を示す図である。
先ずユーザ端末装置100は、例えば、情報提供サービスを受けるためのアプリケーションをインストールまたは起動すると、サジェスト装置200に接続要求S10を送信する。サジェスト装置200は、接続要求S10に対して、データベース部270に蓄積された価値観推定用のコンテンツS11をユーザ端末装置100に送信する。ユーザ端末装置100は、価値観推定用のコンテンツS11に対する選択操作を受け付け、操作情報S12をサジェスト装置200に送信する。受付部210は、選択操作に基づく操作情報S12を受け付け、価値観推定部240は、選択操作に基づいてユーザの価値観を推定し、ユーザ情報に、推定した価値観を付与する(ステップST10)。
その後、ユーザ端末装置100は、各種の操作情報S13a、位置情報S13b、またはシーン・状況に関する情報S13cをサジェスト装置200に送信する。これに応じ、行動履歴取得部220は、操作情報S13aに基づいて行動履歴を更新し、価値観推定部240は、送信された情報に基づいて価値観を更新する(ステップST11)。また、環境情報提供装置400は、予め設定されたタイミングが到来した時、環境情報が変化した時などの条件が成立した場合、シーン・状況に関する環境情報S14をサジェスト装置200に送信する。これに応じ、価値観推定部240は、送信された環境情報S14に基づいて価値観を更新する(ステップST12)。
その後、ユーザ端末装置100は、観光に関するコンテンツを検索するためのクエリを含む検索要求S15をサジェスト装置200に送信する。受付部210は、検索要求S15を受け付け、検索部250は、検索要求S15に対し、コンテンツ提供装置300からコンテンツデータS16を取得し、サジェスト部260は、現時点のユーザの価値観、およびシーン・状況に基づいてサジェストスコアを計算する(ステップST13)。サジェスト部260は、計算したサジェストスコアに基づいてコンテンツ一覧を表示するためのサジェストデータS17をユーザ端末装置100に送信する。ユーザ端末装置100は、サジェストデータS17を受信してコンテンツ一覧を表示させる。ユーザ端末装置100は、コンテンツの一覧を表示したことに起因する操作を受け付けた場合、操作情報S18をサジェスト装置200に送信する。コンテンツの一覧を表示したことに起因する操作は、例えば、コンテンツ一覧に含まれるコンテンツを選択したことに基づくコンテンツの閲覧、コンテンツのお気に入りへの追加、プランへの追加などがある。価値観推定部240は、送信された操作情報S18に基づいて価値観を更新する(ステップST14)。
図3は、実施の形態における価値観推定用のコンテンツの一例を示す図である。価値観推定用のコンテンツは、観光に特化した画像および観光に特化したキャッチコピーの組を複数含む。ユーザ端末装置100は、推定用コンテンツを受信すると価値観推定画面を表示する。価値観推定画面には、4組の画像および画像それぞれに対応したキャッチコピーと、「どんなところが好きですか?」という質問メッセージが含まれる。価値観推定用のコンテンツに含まれる画像およびキャッチコピーは、コンテンツの属性に対応した画像およびキャッチコピーである。ユーザ端末装置100は、4組のうち何れかを選択する操作を受け付けた場合、選択された画像およびキャッチコピーを示す選択結果情報をサジェスト装置200に送信する。価値観推定部240は、選択結果情報に基づいてコンテンツの属性に対応したユーザの価値観を推定し、サジェスト部260は、推定した価値観に基づいてコンテンツの一覧情報をユーザ端末装置100に送信する。これによりユーザ端末装置100は、コンテンツの一覧を含むおすすめスポット一覧画面を表示する。ユーザ端末装置100は、例えばカテゴリや観光スポットなどのフィルター情報をサジェスト装置200に送信し、サジェスト装置200は、フィルター情報に合致するコンテンツの一覧情報をユーザ端末装置100に送信してよい。なお、価値観推定用のコンテンツは、観光に特化したモデルプランの価値観を更新する画像およびキャッチコピーを含んでよい。
なお、図3に示した価値観推定画面は、4組の画像およびキャッチコピーを表示させたが、これに限定されず、一度に8組を表示してもよい。また、一度に表示する画像およびキャッチコピーの組に優先度または順位を設定せずに、ランダムな順番または位置に表示してよい。さらに、一度に表示する画像およびキャッチコピーの組のそれぞれは、同じ大きさとし、ユーザが一度に見ることができるように画面内に整列して表示することで、画像間での公平性を保つことが望ましい。
図4は、実施の形態においてユーザの行動に基づくユーザの価値観を更新する処理の一例を説明するための図である。実施形態の価値観推定部240は、図5に示すように、操作(行動)が行われた場合、コンテンツの属性に対応したユーザの価値観を更新する。価値観推定部240は、「ローカル」および「昔ながら」に属するコンテンツに対してコンテンツの閲覧等の操作が行われた場合、「ローカル」および「昔ながら」に対応するユーザの価値観の属性スコアを高く更新する。一方、価値観推定部240は、「フォトジェニック」に属するコンテンツに対して操作が行われていないので、「フォトジェニック」に対応するユーザの価値観の属性スコアを低く更新する。これにより価値観推定部240は、価値観推定用のコンテンツを用いて推定したユーザの価値観にユーザの操作を反映させることで、ユーザの価値観をより正確に捉えることができる。
図5は、実施の形態におけるサジェスト装置200により価値観を更新する処理(ステップST14)を説明するための図である。ユーザ端末装置100は、サジェスト装置200から受信したコンテンツ一覧画面を表示する(ステップST20)。受付部210は、例えば、コンテンツ一覧に対するコンテンツ閲覧等の行動に基づく操作情報を受信し、当該操作情報で操作されたコンテンツについてのコンテンツデータをコンテンツ提供装置300から取得する。サジェスト部260は、行動に関わるコンテンツの属性(ユーザの価値観に対応する)を確認する(ステップST30)。なお、サジェスト装置200は、コンテンツデータに含まれたジャンル等の情報からコンテンツの属性を計算してよい。次に価値観推定部240は、コンテンツの属性、ユーザの行動、および更新前のユーザの価値観を組み合わせて、ユーザの価値観を計算し(ステップST31)、計算したユーザの価値観を更新後のユーザの価値観として更新する(ステップST32)。
図6は、実施の形態におけるサジェストを行う処理一例を示すフローチャートである。先ず受付部210は、ユーザ端末装置100から検索要求を受信したことに応じ、検索部250は、検索要求に基づいてコンテンツデータを取得し、サジェスト部260は、ユーザの価値観に基づくサジェストスコアを計算する(ステップST40)。サジェスト部260は、ユーザ端末装置100の操作情報および環境情報提供装置400からシーンおよび/または状況に関する情報を取得し、シーン情報および/または状況情報に基づいてコンテンツデータを取得し、サジェストスコアを計算する(ステップST41)。サジェスト部260は、ユーザの価値観に合致するコンテンツほどサジェストスコアを高くし、ユーザが置かれているシーンおよび/または状況に合致するコンテンツほどサジェストスコアを高くする。サジェスト部260は、サジェストスコアを合計することで最終的なサジェストスコアを計算する(ステップST42)。サジェスト部260は、最終的なサジェストスコアに従ってサジェストスコアが上位のコンテンツがコンテンツ一覧画面の上位になるようにコンテンツ一覧情報を作成する(ステップS43)。サジェスト部260は、コンテンツ一覧情報をユーザ端末装置100に送信することで、コンテンツをサジェストする。これによりサジェスト装置200は、ユーザの価値観、シーンおよび/または状況を考慮してコンテンツ一覧をサジェストすることができる。
図7は、実施の形態におけるサジェストシステムの全体処理を説明するための図である。図7において、「UI(ユーザ)」はユーザ端末装置100の処理を示し、「処理」はサジェスト装置200の処理を示し、「データ」はサジェスト装置200において用いられるデータであってデータベース部270に記録されているデータを示す。まず、ユーザ端末装置100は、サジェスト装置200から提供された価値観推定用のコンテンツを選択する操作を受け付け(ステップS100)、サジェスト装置200は、ユーザの操作に基づくコンテンツ(画像)診断により、ユーザ属性における価値観を付与し(ステップS102)、ユーザ属性データを更新する。
次にユーザ端末装置100は、コンテンツの一覧を要求し(ステップS104)、サジェスト部260は、例えば、ユーザ属性データ、コンテンツデータ、シーン・状況データ、ユーザの位置情報(ユーザGPSデータ)、操作情報(UI操作ログデータ)、旅プランデータの少なくとも一つの情報を用いて、サジェストスコアを計算する(ステップS106)。サジェスト部260は、多様な価値観、シーンおよび/または状況に応じてサジェストスコアを計算し、計算したサジェストスコアに基づいてコンテンツのサジェストを行う。サジェスト部260は、現在のシーンまたは状況に基づいて、現在のシーンまたは状況から遷移した次のシーンまたは状況を予測し、予測された次のシーンまたは状況に対応したコンテンツをサジェストしてよい(第1の実施の形態)。さらに、サジェスト部260は、検索部250により検索されたコンテンツのうち、利用ユーザの価値観に類似する価値観を持つ類似ユーザが、利用ユーザが置かれているシーンまたは状況と同一または類似するシーンまたは状況における行動履歴に基づくコンテンツをサジェストしてよい(第2の実施の形態)。サジェスト部260は、サジェストされたコンテンツの理由を示す情報をユーザに提供してよい(第3の実施の形態)。さらに、サジェスト部260は、利用ユーザの価値観のうち基準より低い価値観に基づくコンテンツをサジェストしてよい(第4の実施の形態)。
サジェスト部260は、サジェストスコアに基づいてコンテンツの一覧をユーザ端末装置100に提供し、ユーザ端末装置100は、コンテンツの一覧、およびサジェストされたコンテンツの理由を表示することができる(ステップS108)。ユーザ端末装置100は、ユーザの操作に基づいてコンテンツの閲覧、コンテンツのお気に入りへの追加、またはコンテンツの旅プランへの追加などの操作を受け付ける(ステップS110)。サジェスト装置200は、ユーザ端末装置100により受け付けた操作に基づいてUI操作ログデータ、旅プランデータ等を更新する。価値観推定部240は、ユーザの操作に基づいて価値観を更新する処理、ペルソナを推定する処理を行ってよい(ステップS112)。
<第1の実施の形態>
以下、上述したサジェストシステムにおける第1の実施の形態について説明する。なお、上述の実施の形態において上述したサジェストシステムと同じ部分については同一符号を付する。
第1の実施の形態におけるサジェスト装置200は、図1に示すように、例えば、検索要求を受け付ける受付部210と、受付部210により受け付けられた検索要求に基づいてコンテンツを検索する検索部250と、現在においてユーザが置かれているシーンまたは状況を推定し、推定された現在のシーンまたは状況に基づいて、現在のシーンまたは状況から遷移した次のシーンまたは状況を予測するシーン・状況推定部230と、検索部250により検索されたコンテンツのうちシーン・状況推定部230により予測された次のシーンまたは状況に対応したコンテンツをサジェストするサジェスト部260と、を備える。
図8は、第1の実施の形態の概要を説明する図である。第1の実施の形態のサジェストシステムは、現在においてユーザが置かれているシーンまたは状況(ユーザの行動を含む)を推定し、推定された現在のシーンまたは状況に基づいて、現在のシーンまたは状況から遷移した次のシーンまたは状況を予測する。これによりサジェストシステムは、例えば、予測した次のシーンに合ったスポットに関するコンテンツをサジェストすることができる。具体的に、現在のシーンが「お昼過ぎに友達とショッピングモールで買い物している」である場合、サジェストシステムは、次のシーンとして「カフェで休憩する」の確率が大きいことを予測し、「カフェで休憩する」に関するコンテンツをサジェストすることができる。
図9は、第1の実施の形態におけるサジェストシステムの処理を説明するための図である。図9において、「UI(ユーザ)」はユーザ端末装置100の処理を示し、「処理」はサジェスト装置200の処理を示し、「データ」はサジェスト装置200において用いられるデータであってデータベース部270に記録されているデータを示す。まず、ユーザ端末装置100は、コンテンツの一覧を要求する検索要求を受け付け(ステップS200)、シーン・状況推定部230は、UI操作ログデータおよび旅プランデータに基づいてユーザが訪問しているスポットを推定する(ステップS202)。旅プランデータは、ユーザについての場所および時間帯を含むプラン情報である。次にシーン・状況推定部230は、シーン・状況データを次元圧縮する(ステップS204)。シーン・状況推定部230は、次元圧縮(ステップS204)を、学習処理(ステップS206)により構築された学習済モデルを用いて行う。
次にシーン・状況推定部230は、現在から所定時間を経過した予測対象時点(次)のシーンを、確率モデルで出力する(ステップS210)。確率モデルは、学習処理(ステップS208)により構築された学習済モデルである。シーン・状況推定部230は、例えば、旅プランデータに含まれたユーザの未来の時間帯および場所に基づいて予測対象時点のシーンを予測してよい。次にサジェスト部260は、系列予測を用いたサジェストスコアを計算する(ステップS212)。次にサジェスト部260は、検索部250により検索されたコンテンツの一覧に対応したサジェストスコアのリストに対して、系列予測を用いたサジェストスコアと合算し(ステップS214)、合算した結果としてのサジェストスコアに基づいてコンテンツの一覧を表示するためのサジェストデータをユーザ端末装置100に提供する。これによりユーザ端末装置100は、コンテンツの一覧を表示する(ステップS216)。サジェスト部260は、グラフィカルモデル(シーン・状況推定部230)から出力された現在のシーンまたは状況から次のシーンまたは状況へ遷移する確率に基づいてサジェストするコンテンツの理由を示す情報をユーザ端末装置100に提供してよい。
図10は、第1の実施の形態におけるユーザが訪問しているスポットを推定する処理(ステップS202)の概要を説明するための図である。シーン・状況推定部230は、図10(a)に示すように位置情報に基づいてユーザが訪問しているスポットを特定する。次にシーン・状況推定部230は、特定されたスポットと、ユーザの同伴者、時間帯、場所、天気からシーンまたは状況を推定する。シーン・状況推定部230は、例えば図10(b)に示すように、「ショッピングモール」、「家族」、および「12:00」というシーンの纏まりをクラスタリングにより抽出することで、当該シーンの纏まりに「ランチ中」というシーンラベルを付与することができる。シーン・状況推定部230は、図10(c)に示すように、現在のシーンを「買い物中」であると推定した場合、系列予測処理により、次のシーンを「休憩中」であると推定する。系列予測処理は、例えば、現在のシーンを特定するためのデータの粒度、データ量を入力し、次のシーンを特定するデータを出力する予測モデルを用いて行ってよい。シーン・状況推定部230は、予測モデルから出力されたデータが「カフェ」、「友人」、「15:00」である場合、当該出力データに基づいて「休憩中」のシーンを推定し、「休憩中」のシーン属性スコアが高い「カフェ」のコンテンツをサジェストすることができる。
図11は、第1の実施の形態におけるシーンおよび状況を構成する要素の一例を示す図であり、図12は、第1の実施の形態において現在のシーンから次のシーンを予測する処理(ステップS204、S210)の概要を示す図である。シーン・状況推定部230は、図11に示したように、行動、同伴者、時間帯、および場所を示す情報を含むシーン情報、天気および気温を示す情報を含む状況情報を取得する。シーン・状況推定部230は、まず、シーン情報および状況情報を収集することで時刻t-1におけるシーン情報および状況情報を取得し、時刻t-1のシーンに分類し、分類された時刻t-1のシーンから時刻tのシーンを予測して出力する(シーンの系列予測)。シーン・状況推定部230は、時刻t-1におけるシーン情報および状況情報から時刻tにおけるユーザの行動を予測して出力してよい(行動の系列予測)。
図13は、第1の実施の形態におけるシーン・状況データの次元圧縮処理のための学習処理(ステップS206)の一例を説明するための図である。シーン・状況推定部230は、図13(a)に示すユーザ行動履歴データを行列分解し、図13(b)に示すように、場所(Where)、行動(What)、場所の特徴量、および行動の特徴量を表す行列を取得する。なお、シーン・状況推定部230は、図13(c)に示すユーザIDと特徴量を表す行列を生成してよい。
図14は、第1の実施の形態におけるシーン・状況データの次元圧縮処理のための学習処理(ステップS206)の他の一例を説明するための図である。シーン・状況推定部230は、ユーザの行動履歴(例えば位置情報)に基づいて次元圧縮を行うことで場所(Where)および行動(What)をパターン化し、分類シーンの定義を作成する。シーン・状況推定部230は、例えばNMF(非負値行列因子分解)やLDA(潜在ディリクレ配分法)を用いて、図14に示すように、分類番号、場所(Where)、行動(What)、および特徴量の解釈を含む5個の分類シーンを定義する。シーン・状況推定部230は、学習済モデルにシーン情報および状況情報を入力し、学習済モデルから5つの分類シーンの何れかを出力するように、学習済モデルのパラメータを学習させる。
図15は、第1の実施の形態におけるシーン・状況データの次元圧縮処理(ステップS204)の一例を説明するための図である。シーン・状況推定部230は、学習処理(ステップS206)により学習された学習済モデルを用いて分類シーンを採用する。具体的に、シーン・状況推定部230は、場所(Where)および行動(What)を学習済モデルに入力し、学習済モデルの出力から分類シーンのスコアを計算し、複数の分類シーンのうち最もスコアが高い分類シーン(例えば「ゆっくり一休み」)を採用する。この結果、シーン・状況推定部230は、場所(Where)および行動(What)を、一つの分類シーンに次元圧縮することができる。すなわち、シーン・状況推定部230は、シーン・状況データとして、時間帯、同伴者、天気、および分類シーンを推定することができる。なお、シーン・状況推定部230は、例えばLDA(潜在ディリクレ配分法)を用いることにより未知のシーン・状況データの組み合わせでも分類シーンのスコアを計算することができる。
図16は、第1の実施の形態におけるベイジアンネットワークを用いてシーンおよび状況を推定する処理の一例を示す図である。予測部としてのシーン・状況推定部230は、複数のシーンまたは状況(A,B,C)の方向性および確率を表現するグラフィカルモデルに、現在のシーンまたは状況を入力し、グラフィカルモデルから出力された現在のシーンまたは状況から次のシーンまたは状況へ遷移する確率に基づいて、次のシーンまたは状況を予測してよい。シーン・状況推定部230は、ベイジアンネットワークを用いて、シーンAがA1またはA2に遷移する、シーンBがB1またはB2に遷移する、シーンCがC1またはC2に遷移するといった要素の組み合わせに対する確率分布を推定する。同様に、シーン・状況推定部230は、シーン情報および状況情報といった要素の組み合わせに対する確率分布を推定することができる。
図17は、第1の実施の形態におけるベイジアンネットワークを用いた確率モデルの学習処理(ステップS208)を説明するための図である。シーン・状況推定部230は、時刻t-1の時点における分類シーンから時刻tの時点における分類シーンの確率分布を求め、時刻t+1の時点における分類シーンの確率分布から時刻tの時点における分類シーンの確率分布を求める学習済モデルを構築する。各時点における分類シーンの確率分布は、上述したようにベイジアンネットワークを作成することにより各分類シーン間の因果の方向性により変動する。学習の過程において確率モデルから因果関係のないノード(図中矢印)が削除されるため、確率モデルごとに、予測対象時点におけるシーンまたは状況の予測に貢献しない要素が分かる。これによりシーン・状況推定部230は、現在のシーンまたは状況から確率の高い次のシーンまたは状況を予測することができる。なお、学習済モデルは、上述の例に限定されず、過去における分類シーンから現在の分類シーンの確率分布を求め、未来における分類シーンの確率分布から現在の分類シーンの確率分布を求める学習済モデルであってよく、例えば、時刻t-2以前の分類シーンや時刻t+2以降の分類シーンを用いた確率モデル(学習済モデル)に従って処理を行ってよい。
図18は、第1の実施の形態におけるベイジアンネットワークを用いた確率モデルの推定処理(ステップS210)を説明するための図である。シーン・状況推定部230は、ベイジアンネットワークを用いた確率モデルの学習処理(ステップS208)により構築された学習済モデルに、図18(a)に示すステップS204において次元圧縮された過去のシーン・状況データ、図18(c)に示す未来のシーン・状況データ、および図18(b)に示す予測対象時点のシーン・状況データを入力する。シーン・状況推定部230は、処理(1)のように、時間帯、同伴者、および天気から学習済モデルを選択する。次にシーン・状況推定部230は、処理(2)のように、学習済モデルの出力を元に、図18(d)に示すような予測対象時点における分類シーンの確率分布を出力する。
図19は、第1の実施の形態における系列予測を用いたサジェストスコアの計算処理(ステップS212)の一例を示す図である。サジェスト部260は、ステップS210において推定された分類シーンの確率分布を用いて、コンテンツ属性に応じたサジェストスコアを計算する。例えば図19(a)に示すような分類シーンにおいて、図19(b)に示すような確率分布が出力された場合、サジェスト部260は、分類番号「5」の確率が70%であるので、「買物・ハイクラス」という属性を持つコンテンツのサジェストスコアに0.7を加点する。サジェスト部260は、分類番号「1」の確率が5%であるので、「食事・カフェ」という属性を持つコンテンツのサジェストスコアに0.05を加点する。これによりサジェスト部260は、分類シーンに対応した属性を持つコンテンツに対して、確率が高いほどサジェストスコアを高くするように計算を実行する。
以上のように、第1の実施の形態のサジェストシステムによれば、現在においてユーザが置かれているシーンまたは状況から遷移した次のシーンまたは状況を予測し、検索要求により検索されたコンテンツのうち予測された次のシーンまたは状況に対応したコンテンツをサジェストすることができる。これによりサジェストシステムによれば、ユーザが次に取りやすい行動を先読みしてサジェストを行うことができる。
また、第1の実施の形態のサジェストシステムによれば、ベイジアンネットワーク等のグラフィカルモデルを用いるので、予測の過程(理由)を解釈可能なサジェストを行うことができる。さらに、第1の実施の形態のサジェストシステムによれば、予測した次のシーンまたは状況をサジェストの理由としてコンテンツの一覧と合わせてユーザ端末装置100に提供することができるので、シーンまたは状況に合わせてコンテンツのサジェストを行っていることをユーザに認識させることができ、サジェスト結果の納得性を向上させることができる。
さらに、第1の実施の形態のサジェストシステムによれば、旅プランデータを用いて現在のシーンまたは状況を予測し、さらに、ユーザの旅プランデータに含まれる未来の場所および時間帯の情報を用いて次のシーンまたは状況を予測するので、過去と未来の双方向の情報を考慮してコンテンツをサジェストすることができる。
さらに、第1の実施の形態のサジェストシステムによれば、次元圧縮処理によってシーンまたは状況を「休憩中」、「飲み会中」のような抽象的な概念として捉えるので、シーンまたは状況の組み合わせパターン数を減少させることができる。この結果、サジェストシステムによれば、サジェストを行うために必要なデータ量を抑制することができる。
<第2の実施の形態>
以下、上述したサジェストシステムにおける第2の実施の形態について説明する。なお、上述の実施の形態において上述したサジェストシステムと同じ部分ついては同一符号を付する。
第2の実施の形態におけるサジェスト装置200は、図1に示すように、ユーザの価値観を推定する価値観推定部240と、ユーザが置かれているシーンまたは状況を推定するシーン・状況推定部230と、ユーザの行動履歴を取得する行動履歴取得部220と、利用ユーザから検索要求を受け付ける受付部210と、受付部210により受け付けられた検索要求に基づいてコンテンツを検索する検索部250と、利用ユーザから検索要求を受け付けた場合に、利用ユーザの価値観に類似する価値観を持つ類似ユーザの行動履歴のうち、利用ユーザが置かれているシーンまたは状況と同一または類似するシーンまたは状況における行動履歴に基づいて、検索部250により検索されたコンテンツのうち利用ユーザに提供するコンテンツをサジェストするサジェスト部260と、を備える。
図20は、第2の実施の形態において利用ユーザと類似ユーザでシーンまたは状況が類似する場合に類似ユーザの旅プラン、スポット、または口コミ情報に関連する旅プランやコンテンツをサジェストする一例を説明する図である。第2の実施の形態のサジェスト装置200は、利用ユーザにコンテンツの一覧をサジェストするために、利用ユーザの価値観に類似する価値観を持つ類似ユーザを推定する。サジェスト装置200は、類似ユーザに関するユーザの価値観、シーン・状況データ、旅プランデータ、スポット情報、および口コミ情報を取得し、データベース部270に蓄積する。サジェスト装置200は、利用ユーザの操作に基づいてユーザ端末装置100から検索要求を受け付けた場合において、利用ユーザのシーン・状況データと類似ユーザのシーン・状況データとが同一または類似であることを判定した場合、類似ユーザが作成した旅プランデータに含まれるコンテンツ、スポット情報に関連するコンテンツ、または口コミ情報に関連するコンテンツをサジェストする。
図21は、第2の実施の形態におけるサジェストシステムの処理を説明するための図である。図21において、「UI(ユーザ)」はユーザ端末装置100の処理を示し、「処理」はサジェスト装置200の処理を示し、「データ」はサジェスト装置200において用いられるデータであってデータベース部270に記録されているデータを示す。まず、ユーザ端末装置100は、コンテンツの一覧を要求する検索要求を受け付け(ステップS300)、価値観推定部240は、ユーザ属性データ、UI操作ログデータ、旅プランデータ、ユーザにより閲覧されたコンテンツデータの少なくとも一部を参照して、利用ユーザと他のユーザ同士の類似度を計算する(ステップS302)。受付部210は、ユーザについての場所および時間帯を含む旅プランデータを取得し、価値観推定部240は、利用ユーザにより作成された旅プランデータと類似ユーザの行動履歴とに基づいて利用ユーザと類似ユーザとの類似度を推定してよい。価値観推定部240は、類似度が基準以上のユーザを類似ユーザとして決定する。
次にシーン・状況推定部230は、UI操作ログデータおよび旅プランデータの少なくとも一部を参照して、利用ユーザのシーン・状況と類似ユーザのシーン・状況との類似度を計算する(ステップS304)。行動履歴取得部220は、類似ユーザ、および類似シーン・状況データに基づいて、類似ユーザによる類似シーン・状況データにおける口コミ情報を抽出する(ステップS306)。サジェスト部260は、類似ユーザ、および類似シーン・状況データに基づいて、サジェストスコアを計算する(ステップS308)。次にサジェスト部260は、検索部250により検索されたコンテンツの一覧に対応したサジェストスコアのリストに対して、ステップS308において計算したサジェストスコアと合算し(ステップS312)、合算した結果としてのサジェストスコアに基づいてコンテンツの一覧を表示するためのサジェストデータをユーザ端末装置100に提供する。これによりユーザ端末装置100は、ステップS306において抽出された口コミ情報、およびコンテンツの一覧を表示する(ステップS314)。
図22は、第2の実施の形態において類似ユーザをカテゴリごとに抽出する処理(ステップS302)の一例を示す図である。価値観推定部240は、ユーザの嗜好がカテゴリごとに異なるため、サジェスト対象のカテゴリごとに類似ユーザを抽出する。カテゴリは、例えば、食事等のユーザの行動を示す情報である。価値観推定部240は、全てのカテゴリで類似度を計算した場合、利用ユーザAの類似ユーザとしてユーザBを抽出する。価値観推定部240は、例えば、カテゴリ「観光」に注目して類似度を計算することにより、利用ユーザAの類似ユーザとしてユーザCを抽出する。
図23は、第2の実施の形態においてユーザの類似度を計算する処理(ステップS302)の一例を示す図であり、(a)はユーザ属性データの一例を示し、(b)はユーザ類似度行列の一例を示す図である。データベース部270には、図23(a)に示すように複数のユーザについてのユーザ属性データが記憶されている。ユーザ属性データは、ユーザごとに、カテゴリごとの価値観のスコアが登録されている。価値観推定部240は、ユーザ属性データにおいて、カテゴリごとにユーザ同士で相関係数を計算することで、図23(b)に示すようなユーザ類似度行列を作成する。価値観推定部240は、データベース部270に登録されたユーザのうち相関係数が高いユーザを類似ユーザとして抽出する。このように価値観推定部240は、ユーザの多様な価値観の類似度に基づいて類似ユーザを抽出することができる。
図24は、第2の実施の形態においてユーザの類似度を計算する処理(ステップS302)の他の一例を示す図であり、(a)はアプリ操作履歴集計データを示し、(b)はユーザ類似度行列の一例を示す図である。データベース部270には、図24(a)に示すように複数のユーザについてのアプリ操作履歴集計データが記憶されている。アプリ操作履歴集計データは、行動履歴取得部220により、例えば、ユーザがあるスポットにおけるコンテンツを1回閲覧すると0.2、お気に入りに追加または旅プランに追加すると1.0を加算することにより更新される。価値観推定部240は、アプリ操作履歴集計データにおいて、カテゴリごとにユーザ同士で相関係数を計算することで、図24(b)に示すようなユーザ類似度行列を作成する。アプリ操作履歴集計データは次元が多くスパースなデータになるため、例えばNMF(非負値行列因子分解)やLDA(潜在ディリクレ配分法)を用いて、次元圧縮をしてから相関係数を計算してもよい。価値観推定部240は、データベース部270に登録されたユーザのうち相関係数が高いユーザを類似ユーザとして抽出する。このように価値観推定部240は、ユーザの操作履歴に基づいて類似ユーザを抽出することができる。
図25は、第2の実施の形態においてユーザの類似度を計算する処理(ステップS302)の他の一例を示す図であり、(a)は旅プランデータの一例を示し、(b)はコンテンツ属性集計データの一例を示し、(c)はコンテンツ属性類似度行列の一例を示し、(d)は訪問地域集計データの一例を示し、(e)は訪問地域類似度行列の一例を示し、(f)はユーザ類似度行列の一例を示す。データベース部270には、図25(a)に示すように、複数のユーザについて時間帯および場所(スポット)を含む旅プランデータが記憶されている。価値観推定部240は、図25(a)に示す旅プランに含まれるスポットのコンテンツ属性の平均を集計することで、図25(b)に示すコンテンツ属性集計データを作成する。コンテンツ属性集計データには、ユーザごとに、旅プラン内の場所等に関するコンテンツの属性についての平均値が含まれる。次に価値観推定部240は、ユーザ同士でコサイン類似度を計算することで、図25(c)に示すコンテンツ属性類似度行列を作成する。コンテンツ属性類似度行列には、ユーザ同士の類似度が含まれる。価値観推定部240は、図25(a)に示す旅プランに含まれる市町村にフラグを付与することにより、図25(d)に示す訪問地域集計データを作成する。訪問地域集計データには、ユーザごとに、フラグが付与された訪問地域が含まれる。次に価値観推定部240は、ユーザ同士でコサイン類似度を計算することで、図25(e)に示す訪問地域類似度行列を作成する。訪問地域類似度行列には、ユーザ同士の類似度が含まれる。価値観推定部240は、コンテンツ属性類似度行列および訪問地域類似度の幾何平均を演算することにより、図25(f)のユーザ属性類似度行列を作成する。価値観推定部240は、データベース部270に登録されたユーザのうち相関係数が高いユーザを類似ユーザとして抽出する。このように価値観推定部240は、旅プラン内のコンテンツ属性および訪問地域の類似度に基づいて類似ユーザを抽出することができる。
図26は、第2の実施の形態のシーン・状況の類似度スコア計算(ステップS304)におけるシーン・状況の類似度を説明するための図である。シーン・状況推定部230は、シーン・状況の項目および値に対し、類似度の測定方法のような処理を行うことでシーン・状況の類似度を計算する。シーン・状況推定部230は、利用ユーザと類似ユーザのシーン・状況が「同伴者」で一致し、且つ値が「友人と」で一致した場合、類似度は「1」として計算し、異なる場合には類似度を「0」として計算する。このようにシーン・状況推定部230は、予め設定されたシーン・状況の項目と、値と、類似度の測定方法とを対応付けた情報をデータベース部270に登録しておき、登録された情報に従って利用ユーザと類似ユーザのシーン・状況の類似度を計算することができる。
図27は、第2の実施の形態におけるシーン・状況の類似度スコアを計算する処理(ステップS304)の一例を示す図である。シーン・状況推定部230は、サジェストを行う対象の利用ユーザのシーン・状況と類似ユーザのシーン・状況とを比較して、訪問先に関連するコンテンツごとに、シーン・状況の類似度スコアを計算する。シーン・状況推定部230は、例えば、下記の式のような加重平均の計算を行う。
(シーン・状況類似度スコア)=Σ((個別の類似度)×(重み))/Σ(重み)
図27(a)に示すように、利用ユーザが訪問先を探している場合において、類似ユーザの訪問先が「○○カフェ」であるとする。この場合、シーン・状況推定部230は、図27(a)に示す利用ユーザのシーン・状況と類似ユーザのシーン・状況とを比較することにより、図27(b)に示すようにシーン・状況ごとに個別の類似度を計算する。シーン・状況推定部230は、下記のように、個別の類似度に予め設定されたシーン・状況ごとの重みを乗算し、全ての類似度の乗算値を合計することでシーン・状況類似度スコアを算出する。
(シーン・状況類似度スコア)=(1.0×1.0+0.5×1.0+0.9×1.0+1.0×0.2+1.0×0.3+0.0×0.3+0.0×0.8+0.0×0.5+0.6×0.5+1.0×0.5)/(1.0+1.0+1.0+0.2+0.3+0.3+0.8+0.5+0.5+0.5)=0.606
図28は、第2の実施の形態における類似ユーザ、類似シーン・状況に基づくサジェストスコア計算処理(ステップS308)の処理手順の一例を示す図である。図28(a)に示すように、例えば利用ユーザAが食事スポットを探したい場合において、食事のカテゴリにおける利用ユーザAに対する類似ユーザBおよびCの類似度がそれぞれ0.7、0.1であったとする。なお、図28(c)に示すような観光のカテゴリにおける利用ユーザAに対する類似ユーザBおよびCの類似度はサジェストスコアの計算に使用されない。また、図28(d)に示すように、類似ユーザBの訪問先(○○カフェ、△△食堂)ごとのシーン・状況類似度が0.6、0.4であり、類似ユーザCの訪問先(○○カフェ、□□居酒屋)ごとのシーン・状況類似度が0.7、0.2であったとする。この場合、サジェスト部260は、類似ユーザBの類似度スコア(0.7)に類似ユーザBの○○カフェのシーン・状況類似度(0.6)を乗算した値(0.42)、類似ユーザBの類似度スコア(0.7)に類似ユーザBの△△食堂のシーン・状況類似度(0.4)を乗算した値(0.28)を計算し、類似ユーザCの類似度スコア(0.1)に類似ユーザCの○○カフェのシーン・状況類似度(0.7)を乗算した値(0.07)、類似ユーザCの類似度スコア(0.1)に類似ユーザCの□□居酒屋のシーン・状況類似度(0.2)を乗算した値(0.02)を計算する。サジェスト部260は、類似ユーザBの類似度スコア(0.7)に類似ユーザBの○○カフェのシーン・状況類似度(0.6)を乗算した値(0.42)を○○カフェのサジェストスコアに加算し、類似ユーザBの類似度スコア(0.7)に類似ユーザBの△△食堂のシーン・状況類似度(0.4)を乗算した値(0.28)を△△食堂のサジェストスコアに加算する。サジェスト部260は、類似ユーザCの類似度スコア(0.1)に類似ユーザCの○○カフェのシーン・状況類似度(0.7)を乗算した値(0.07)を○○カフェのサジェストスコアに加算せず、類似ユーザCの類似度スコア(0.1)に類似ユーザCの□□居酒屋のシーン・状況類似度(0.2)を乗算した値(0.02)を□□居酒屋のサジェストスコアに加算する。これによりサジェスト部260は、類似ユーザの類似度スコアおよび類似シーン・状況の類似度スコアに基づいてサジェストスコアを計算することができる。
図29は、第2の実施の形態における口コミのサジェスト(ステップS306)について説明する図である。サジェスト部260は、データベース部270に記憶された口コミ情報の中から、類似ユーザ、類似シーン・状況、ユーザ評価により絞り込んだ口コミ情報をサジェストしてよい。サジェスト部260は、例えば、利用ユーザからコンテンツの一覧が要求された場合において、まず、類似ユーザが投稿した口コミ情報を抽出し、次に、抽出した口コミ情報から類似シーン・状況の口コミ情報に絞り込み、さらに、類似シーン・状況によって絞り込まれた口コミ情報のうち高評価の口コミ情報に絞り込む。
図30は、第2の実施の形態においてユーザ端末装置100にコンテンツを表示する画面の一例である。サジェスト部260は、図30に示すように、類似ユーザおよび類似シーン・状況から計算されたサジェストスコアに基づいてコンテンツをサジェストするとともに、類似ユーザ、類似シーン・状況、および評価により絞り込まれた口コミ情報をサジェストすることができる。
以上のように、第2の実施の形態のサジェストシステムによれば、利用ユーザの価値観に類似する価値観を持つ類似ユーザの行動履歴のうち、利用ユーザが置かれているシーンまたは状況と同一または類似するシーンまたは状況における行動履歴に基づいて利用ユーザに提供するコンテンツをサジェストするので、サジェストしたコンテンツに対する利用ユーザの納得性を向上させることができる。また、サジェストシステムによれば、ユーザベース協調フィルタリングを組み合わせてサジェストを行うので、サジェストしたコンテンツに意外性が生まれやすくなり、利用ユーザが新たな発見を得る可能性が高くなる。さらに、サジェストシステムによれば、利用ユーザにおけるシーンまたは状況と類似ユーザにおけるシーンまたは状況とが同一または類似であることをサジェストスコアに反映させることができるので、シーンまたは状況に応じたユーザベース協調フィルタリングのサジェストを行うことができる。
また、第2の実施の形態のサジェストシステムによれば、利用ユーザにより作成された旅プランデータというノイズが少ないデータを用いてコンテンツをサジェストするので、利用ユーザの嗜好に合わせたコンテンツをサジェストすることができる。さらに、第3の実施の形態のサジェストシステムによれば、サジェストしたコンテンツに関連した類似ユーザの口コミ情報を提供するので、利用ユーザに第三者の意見を提供することができ、結果的に、サジェストしたコンテンツの納得性を向上させることができる。
<第3の実施の形態>
以下、上述したサジェストシステムにおける第3の実施の形態について説明する。なお、上述の実施の形態において上述したサジェストシステムと同じ部分ついては同一符号を付する。
第3の実施の形態におけるサジェスト装置200は、図1に示すように、ユーザの価値観を推定する価値観推定部240と、ユーザが置かれているシーンまたは状況を推定するシーン・状況推定部230と、利用ユーザから検索要求を受け付ける受付部210と、受付部210により受け付けられた検索要求に基づいてコンテンツを検索する検索部250と、利用ユーザから検索要求を受け付けた場合に、検索部250により検索されたコンテンツのうち、利用ユーザの価値観に基づくコンテンツのスコア分計と利用ユーザが置かれているシーンまたは状況に基づくコンテンツのスコア分計とを合計したスコアに基づくコンテンツをサジェストするサジェスト部260と、を備える。サジェスト部260は、スコア分計に基づいて、サジェストされたコンテンツの理由を示す情報を利用ユーザに提供する。
図31は、第3の実施の形態における概要を説明する図であり、(a)は、ユーザ端末装置100にコンテンツを表示する画面の一例を示す図であり、(b)はユーザ端末装置100に地図およびコンテンツを表示する画面の一例を示す図である。サジェスト装置200は、例えば、コンテンツの一覧をサジェストした場合、コンテンツの一覧を示す情報、およびサジェストされたコンテンツの理由を示す情報をユーザ端末装置100に送信する。ユーザ端末装置100は、図31(a)に示すように、例えば、○○カフェのコンテンツを含むコンテンツの一覧を表示し、○○カフェのコンテンツに、サジェストした理由として「パートナーと」、および「フォトジェニック好きにおすすめ」という文字画像を表示することができる。ユーザ端末装置100は、図31(b)に示すように、地図に、カフェのコンテンツおよび当該コンテンツをサジェストした理由を冗長させて表示させることができる。
図32は、第3の実施の形態におけるサジェスト装置200により価値観、シーン・状況に応じたサジェスト理由を計算する処理の一例を示すフローチャートである。図32において、「UI(ユーザ)」はユーザ端末装置100の処理を示し、「処理」はサジェスト装置200の処理を示し、「データ」はサジェスト装置200において用いられるデータであってデータベース部270に記録されているデータを示す。まず、ユーザ端末装置100は、コンテンツの一覧を要求する検索要求を受け付け(ステップS400)、検索要求をサジェスト装置200に送信する。検索部250は、検索要求に合致するコンテンツを検索し、検索要求に基づくコンテンツの一覧を取得する。
サジェスト部260は、検索部250により取得されたコンテンツの一覧に含まれるコンテンツのそれぞれについて、ユーザ属性データおよびコンテンツデータの少なくとも一部を参照し、価値観推定部240により推定された多様な価値観によるサジェストスコア分計を計算する(ステップS402)。次にサジェスト部260は、検索部250により取得されたコンテンツの一覧に含まれるコンテンツのそれぞれについて、UI操作ログデータ、シーン・状況のルールエンジン、およびコンテンツデータの少なくとも一部を参照し、シーン・状況推定部230により推定されたシーン・状況の組み合わせによるサジェストスコア分計を計算する(ステップS404)。次にサジェスト部260は、検索部250により取得されたコンテンツの一覧に含まれるコンテンツのそれぞれについて、ユーザ属性データおよびコンテンツデータの少なくとも一部を参照し、ユーザに対応したペルソナごとのサジェストスコア分計を計算する(ステップS406)。
次にサジェスト部260は、検索部250により取得されたコンテンツの一覧に含まれるコンテンツのそれぞれについて、ステップS402、ステップS404、およびステップS406において計算されたサジェストスコア分計の合計を計算する(ステップS408)。このとき、サジェスト部260は、図9のステップS212において説明した系列予測を用いたサジェストスコアをスコア分計、および/または図21のステップS308において説明した類似ユーザ、類似シーン・状況に基づくサジェストスコアをスコア分計として考慮して、サジェストスコアの合計を計算してよい。
次にサジェスト部260は、合計したサジェストスコアに基づいてコンテンツの一覧を表示するためのサジェストデータをユーザ端末装置100に提供する。また、サジェスト部260は、合計したサジェストスコアに基づいてサジェスト理由を作成し、コンテンツの一覧に含まれるコンテンツについてのサジェスト理由を表示するためのデータをユーザ端末装置100に提供する。これによりユーザ端末装置100は、コンテンツの一覧、およびサジェスト理由を表示する(ステップS412)。
上述したサジェスト理由を表示する処理において、サジェスト装置200は、コンテンツの一覧に含まれるコンテンツのそれぞれについてサジェスト理由の候補を優先度順に表示させる。サジェスト装置200は、サジェスト理由の優先度を、サジェスト理由のスコア分計に基づいて決定する。ユーザ端末装置100は、サジェストされたコンテンツの一覧に含まれるコンテンツを表示させるときに、当該コンテンツに対応したサジェスト理由の表示数を制御する。
図33は、第3の実施の形態におけるサジェスト理由を表示する処理の概要を説明するための図である。サジェスト装置200は、例えば、シーン・状況を捉えたコンテンツであることや、多様な価値観を捉えたコンテンツであることや、ペルソナを捉えたコンテンツであることを、サジェスト理由としてユーザに提供することが望ましい。サジェスト装置200は、例えば、シーン・状況を捉えたサジェストを行うときに(レイヤ)、シーン・状況のルールエンジンに設定した「天気の良い日に夕日をサジェスト」などのルールが発動したときに(項目、概要)、「晴れていて夕日がきれい」、「景色が良い」などのサジェスト理由をユーザに提供してよい。さらに、サジェスト装置200は、例えば、多様な価値観を捉えたサジェストを行うときに(レイヤ)、ユーザの価値観に対するマッチング度が高いコンテンツがある場合、「ハイクラス好きにおすすめ」などのサジェスト理由をユーザに提供してよい。
サジェスト装置200は、ユーザ端末装置100においてサジェスト理由の表示順序を変更することができるようなフォーマットでサジェスト理由を提供してよい。サジェスト装置200は、例えば図33に示した項目とサジェスト理由を表す文言とのセットを優先度順に並べたデータをユーザ端末装置100に提供し、ユーザ端末装置100は、サジェストされたコンテンツについて、項目を選択し、項目に対応したサジェスト理由を表示させてよい。さらに、サジェスト装置200は、スコア分計が基準より高い項目のサジェスト理由を、優先度順でユーザ端末装置100に提供してよい。サジェスト装置200は、例えば、スコア分計がA>B>C>D>Eとなった場合、
{[“晴れていて夕日がきれい”, スコア分計A, シーン状況_ルール],
[“300m以内”, スコア分計B, シーン状況_距離],
[“ハイクラス好きにおすすめ”, スコア分計C, 多様な価値観_価値観],
[“友人と”, スコア分計D, シーン状況_同伴者],
[“オーシャンビュー”, スコア分計E, 多様な価値観_詳細情報]}
のように、サジェスト理由とスコア分計と項目とを含めた情報を提供してよい。
サジェスト装置200は、例えば、情報収集画面:多様な価値観、同伴者、およびペルソナルールを考慮することから、スコア分計がF>G>Hとなった場合、
{[“ハイクラス好きにおすすめ”, スコア分計F, 多様な価値観_価値観],
[“友人と”, スコア分計G, シーン状況_同伴者],
[“オーシャンビュー”, スコア分計H, 多様な価値観_詳細情報]}
のように、多様な価値観、同伴者、ペルソナルールに該当してサジェストに寄与した要素を含む情報を提供してよい。
図34は、第3の実施の形態におけるサジェストスコアの分計に基づいてサジェスト理由を提供する処理の一例を説明するための図であり、(a)はコンテンツごとのサジェストスコアの合計、および各サジェストスコアのスコア分計の一例を示す図であり、(b)はサジェスト理由テーブルの一例を示す図であり、(c)はサジェスト画面の一例を示す図である。例えば図34(a)に示すように、コンテンツの一覧に含まれる一つのコンテンツに対応した価値観のサジェストスコアが2.2、シーン・状況のサジェストスコアが1.5、系列予測のサジェストスコアが0.7、類似ユーザおよび類似シーン・状況のサジェストスコアが0.4であり、サジェストスコアの合計が4.8であったとする。各サジェストスコアには、複数のスコア分計が含まれている。サジェスト部260は、図34(b)に示すように、スコア分計が高い順に、スコア種別およびサジェスト理由を並べたサジェスト理由テーブルを作成する。サジェスト部260は、サジェスト理由テーブルに含まれるスコア分計のうち上位2つのサジェスト理由を表示するようにサジェスト理由をユーザ端末装置100に送信する。これによりユーザ端末装置100は、図34(c)に示すように、○○カフェのコンテンツとともに2つのサジェスト理由を表示することができる。
なお、サジェスト装置200は、スコア分計に関連しないサジェスト理由を提供してもよい。サジェスト装置200は、例えば、コンテンツの一覧のうち人気度が高いコンテンツについて「多くのユーザが興味あり」というサジェスト理由を表示させてよい。
以上のように、第3の実施の形態におけるサジェスト装置200によれば、検索要求を受け付けた場合に、検索部250により検索されたコンテンツのうち、利用ユーザの価値観に基づくコンテンツのスコア分計と利用ユーザが置かれているシーンまたは状況に基づくコンテンツのスコア分計とを合計したスコアに基づくコンテンツをサジェストし、スコア分計に基づいて、サジェストされたコンテンツの理由を示す情報を利用ユーザに提供することができる。第3の実施の形態のサジェストシステムによれば、サジェストスコアへの寄与率(=スコア分計)が大きい価値観、シーンまたは状況をサジェスト理由としてコンテンツの一覧と合わせてユーザ端末装置100に表示させることができる。この結果、第3の実施の形態のサジェストシステムによれば、価値観、シーンまたは状況に合ったコンテンツをサジェストしていることをユーザに認識させることができ、サジェスト結果の納得性を向上させることができる。
<第4の実施の形態>
以下、上述したサジェストシステムにおける第4の実施の形態について説明する。なお、上述の実施の形態において上述したサジェストシステムと同じ部分ついては同一符号を付する。
第4の実施の形態におけるサジェスト装置200は、図1に示すように、利用ユーザから検索要求を受け付ける受付部210と、受付部210により受け付けられた検索要求に基づいてコンテンツを検索する検索部250と、ユーザの行動履歴を取得する行動履歴取得部220と、行動履歴取得部220により取得された行動履歴に基づいて複数のユーザ価値観のそれぞれに対応した属性スコアを更新し、属性スコアに基づいてユーザの価値観を推定する価値観推定部240と、検索部250により検索されたコンテンツのうち、ユーザ価値観の属性スコアに基づいてユーザ価値観に合致するコンテンツをサジェストするサジェスト部260と、を備え、サジェスト部260は、複数のユーザ価値観の属性スコアのうち基準より低い属性スコアを一時的に高く変更してコンテンツをサジェストする。
上述した実施の形態におけるサジェスト装置200は、ユーザの価値観を属性化してユーザの嗜好を捉えている。価値観推定部240は、ユーザの価値観を正しく捉えるため、ユーザのコンテンツの閲覧、お気に入りへの追加、旅プランへの追加などの行動を取得した場合に、コンテンツの属性に基づいてユーザの価値観、およびペルソナを推定および更新する処理を行う。サジェスト装置200は、ユーザの価値観を更新することにより、ユーザの嗜好にあったコンテンツを優先的にサジェストする。
しかし、サジェスト装置200において特定の価値観が更新されにくい状態となるときがある。例えば、フォトジェニックの嗜好性、およびローカル(その土地の風土)に高い嗜好性を持つユーザがフォトジェニックの価値観を持つコンテンツを頻繁に閲覧していると、サジェスト装置200は、フォトジェニックのコンテンツを優先的にサジェストする状態になる。この状態になると、ユーザがローカルに高い嗜好性を持っていてもローカルのコンテンツがサジェストされずに、ローカルのコンテンツが自分の嗜好性にあうことに気づくことができない可能性がある。この課題を解決するためには、予め設定されたユーザの価値観の全体を探索するようにコンテンツをサジェストすることが望ましい。したがって、第4の実施の形態のサジェスト部260は、検索部250により検索されたコンテンツのうちユーザ価値観の属性スコアに基づいてユーザ価値観に合致するコンテンツをサジェストする機能と、複数のユーザ価値観の属性スコアのうち基準より低い属性スコアを一時的に高く変更してコンテンツをサジェストする機能とを持つ。これによりサジェスト部260は、複数のユーザ価値観のうち属性スコアの更新回数が少ない価値観(探索が進んでいない価値観)を持つコンテンツを提供し、ユーザが当該コンテンツを発見して行動したときに、探索が進んでいない価値観を更新することができる。換言すれば、サジェスト部260は、予め設定されている価値観の全体について利用ユーザの価値観を探索するようにコンテンツのサジェストを行うことで、有益性と意外性とを併せ持つセレンディピティなサジェストを行うことができる。
図35は、第4の実施の形態において探索空間と価値観探索目的関数との関係の一例を示す図であり、(a)は価値観の探索が進んだ状態を示す図であり、(b)は、価値観探索が進んでいないコンテンツをサジェストしたときの状態を示す図である。図35における縦軸は価値観探索目的関数であり、横軸は探索空間である。価値観探索目的関数は、サジェストシステムに設定された価値観の探索が進むほど低い値となる関数であり、探索空間は、ユーザが持つ価値観を表す空間である。図35(a)に示すように、特定の価値観を持つコンテンツを複数回提供すると特定の価値観についてのユーザの価値観が複数回更新されるため、さらに特定の価値観を持つコンテンツを提供してもユーザの価値観の更新度合いが緩やかになり、探索空間に対する価値観目的関数は、局所解が得られている状態である。しかし、特定の価値観以外の価値観を持つコンテンツを提供して本来のユーザが持つ価値観を捉えることによって探索空間に対する価値観を最適解に近づけることが望ましい。これに対し、サジェスト部260は、ユーザの特定の価値観に対応した価値観を持つコンテンツの提供回数が少ない(ユーザの価値観の更新が進んでいない)コンテンツを提供することにより、図35(b)に示すように、探索空間に対する価値観を最適解に近づける。
図36は、第4の実施の形態におけるサジェスト部260の動作の一例を説明するための図である。例えば、ユーザAについてフォトジェニックのユーザ価値観の属性スコアが高く、ローカルのユーザの価値観の属性スコアが低い場合、フォトジェニックの価値観を持つコンテンツは頻繁にサジェストされるが、ローカルの価値観を持つコンテンツはサジェストされにくい。これに対し、サジェスト部260は、ローカルのユーザ価値観の属性スコアを一時的に高くすることにより、一時的にローカルの価値観を持つコンテンツをサジェストされやすくする。すなわち、サジェスト部260は、ユーザの価値観の属性スコアにゆらぎを与えることにより、属性スコアの低い価値観を「最大値を持つ価値観と同じ値」に変更してサジェストスコアの計算を行う。サジェスト部260は、変更対象のユーザの価値観の属性スコアを、最大値のユーザの価値観の属性スコア以外の価値観からラウンドロビンで1つ選択してよい。これにより、サジェスト部260は、ユーザの価値観の探索が進んでいない可能性があるコンテンツをコンテンツの一覧に含めることにより、ユーザの価値観の探索を進めてユーザの価値観を正確に捉えることができる。
図37は、第4の実施の形態におけるユーザの価値観と、属性スコアと、コンテンツの記事名と、ゆらぎに応じた順位との関係を示す図である。サジェスト部260は、ユーザの価値観の属性スコアにゆらぎを与えていない場合、ユーザAにとって高い属性スコアを持つ価値観「映え」を属性として持つ記事名(コンテンツ)の一覧(1位から12位)がサジェストされる。サジェスト部260は、例えば、価値観「学び」にゆらぎを与えることによって価値観「学び」の属性スコアを高くした場合、ユーザの価値観の属性スコアにゆらぎを与えていない場合の記事名一覧に含まれる順位を変動させることができる。なお、サジェスト部260は、例えば、コンテンツの一覧のうち特定の順位(6位)の記事を変動させずに、1位から5位の間でゆらぎに応じて順位を変動させ、7位から12位の間でゆらぎに応じて順位を変動させてよい。
図38は、第4の実施の形態におけるユーザの価値観と、属性スコアと、一時的に属性スコアを上昇させた価値観と、コンテンツの記事名および順位との関係を示す図である。サジェスト部260は、例えば、図38(a)に示すようにユーザAの価値観の属性スコアのうち価値観「定番」の属性スコアが最も高い場合、図38(b)に示す「定番」における1位から10位でコンテンツの一覧がサジェストする。サジェスト部260は、例えば価値観「ローカル」の属性スコアを上昇させた場合、図38(b)における「ローカル」に示すように、価値観「定番」の属性スコアが最も高い場合における7位と8位の間に13位のコンテンツをサジェストすることができる。
図39は、第4の実施の形態におけるサジェスト装置200により価値観、シーン・状況に応じたサジェスト理由を計算する処理の一例を示すフローチャートである。図39において、「UI(ユーザ)」はユーザ端末装置100の処理を示し、「処理」はサジェスト装置200の処理を示し、「データ」はサジェスト装置200において用いられるデータであってデータベース部270に記録されているデータを示す。まず、ユーザ端末装置100は、コンテンツの一覧を要求する検索要求を受け付け(ステップS500)、検索要求をサジェスト装置200に送信する。検索部250は、検索要求に合致するコンテンツを検索し、検索要求に基づくコンテンツの一覧を取得する。サジェスト部260は、上述した実施の形態のように、検索部250により検索されたコンテンツのうち、ユーザ価値観の属性スコアに基づいてユーザ価値観に合致するコンテンツをサジェストすることができる。すなわち、サジェスト部260は、利用ユーザの価値観の属性スコアが、最高値または平均値などの基準より高いほど、頻繁にコンテンツをサジェストすることができる。
第4の実施の形態において、サジェスト部260は、ユーザ属性データを参照し、ユーザの価値観のうち少なくとも一つの価値観の属性スコアを一時的に引き上げる(ステップS502)。このとき、サジェスト部260は、複数のユーザ価値観のうち属性スコアの更新回数が少ないユーザ価値観の属性スコアを一時的に高く変更してよい。また、サジェスト部260は、複数のユーザ価値観のうち属性スコアの更新度合いが緩やかなユーザ価値観の属性スコアを一時的に高く変更してよい。
次にサジェスト部260は、検索部250により取得されたコンテンツの一覧に含まれるコンテンツのそれぞれについて、コンテンツデータの少なくとも一部を参照し、価値観推定部240により推定された多様な価値観によるサジェストスコア分計を計算する(ステップS504)。次にサジェスト部260は、検索部250により検索されたコンテンツの一覧に対応したサジェストスコアのリストに対して、ステップS504において計算したサジェストスコアと合算し(ステップS506)、合算した結果としてのサジェストスコアに基づいてコンテンツの一覧を表示するためのサジェストデータをユーザ端末装置100に提供する。これによりユーザ端末装置100は、コンテンツの一覧を表示する(ステップS508)。
以上のように、第4の実施の形態のサジェスト装置200によれば、行動履歴取得部220により取得された行動履歴に基づいて複数のユーザ価値観のそれぞれに対応した属性スコアを更新し、属性スコアに基づいてユーザの価値観を推定し、ユーザ価値観の属性スコアに基づいてユーザ価値観に合致するコンテンツをサジェストし、複数のユーザ価値観の属性スコアのうち基準より低い属性スコアを一時的に高く変更してコンテンツをサジェストする。これによりサジェスト装置200によれば、ユーザの価値観の探索の進んでいない可能性があるコンテンツを上位でサジェストするので、ユーザが潜在的に嗜好する価値観に応じてサジェストをすることができる。
なお、各実施形態、各変形例について説明したが、一例であってこれらに限られず、例えば、各実施形態や各変形例のうちのいずれかや、各実施形態の一部や各変形例の一部を、他の1または複数の実施形態や他の1または複数の変形例と組み合わせて本発明の一態様を実現させてもよい。
なお、本実施形態におけるユーザ端末装置100、サジェスト装置200、コンテンツ提供装置300、および環境情報提供装置400の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムを、コンピュータシステムに読み込ませ、実行することにより、ユーザ端末装置100、サジェスト装置200、コンテンツ提供装置300、および環境情報提供装置400に係る上述した種々の処理を行ってもよい。
なお、ここでいう「コンピュータシステム」とは、OSや周辺機器などのハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリなどの書き込み可能な不揮発性メモリ、CD-ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic
Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置などに格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。
ここで、プログラムを伝送する「伝送媒体」は、インターネットなどのネットワーク(通信網)や電話回線などの通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。