以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の情報処理装置は、ユーザが利用したコンテンツのデータに関する情報を取得するユーザ情報取得手段(例えば、図8のステップS11の処理を実行する図13のユーザ情報処理部32)と、前記ユーザが利用したコンテンツに対応するコンテンツメタ情報を取得するメタ情報取得手段(例えば、図8のステップS12の処理を実行する図13のユーザ情報処理部32)と、前記取得されたコンテンツメタ情報のそれぞれを要素とする第1のベクトルを生成する第1のベクトル生成手段(例えば、図8のステップS14の処理を実行する図13のユーザ情報処理部32)と、前記生成された第1のベクトルを解析して、前記第1のベクトルの要素数が圧縮された第2のベクトルを生成する第2のベクトル生成手段(例えば、図10のステップS55の処理を実行する図13のユーザ情報解析部35)と、前記ユーザの前記第1のベクトル、および前記第2のベクトルに基づいて前記ユーザの嗜好の特徴を表す第3のベクトルを生成する第3のベクトル生成手段(例えば、図19のステップS94の処理を実行する図13の嗜好表現値計算部41)と、前記生成された第3のベクトルに基づく図形を生成して前記ユーザの嗜好に関する情報として表示する表示手段(例えば、図19のステップS95の処理を実行する図13のユーザ嗜好表現部42)とを備える。
本発明の一側面の情報処理方法は、ユーザが利用したコンテンツのデータに関する情報を取得し(例えば、図8のステップS11の処理)、前記ユーザが利用したコンテンツに対応するコンテンツメタ情報を取得し(例えば、図8のステップS12の処理)、前記取得されたコンテンツメタ情報のそれぞれを要素とする第1のベクトルを生成し(例えば、図8のステップS14の処理)、前記生成された第1のベクトルを解析して、前記第1のベクトルの要素数が圧縮された第2のベクトルを生成し(例えば、図10のステップS55の処理)、前記ユーザの前記第1のベクトル、および前記第2のベクトルに基づいて前記ユーザの嗜好の特徴を表す第3のベクトルを生成し(例えば、図19のステップS94の処理)、前記生成された第3のベクトルに基づく図形を生成して前記ユーザの嗜好に関する情報として表示する(例えば、図19のステップS95の処理)ステップを含む。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の一実施の形態に係るユーザ紹介システムの構成例を示すブロック図である。このユーザ紹介システム10は、例えば、SNS(social networking service)を提供するコンテンツウェブサイトとして構成される。コンテンツウェブサイトでは、音楽、映画、動画、TV番組、文章等のメディアコンテンツ、物販商品などのコンテンツを提供するとともに、あるユーザに別のユーザを紹介するサービスを提供するものとする。
ユーザ紹介システム10においては、例えば、パーソナルコンピュータなどに実装されたブラウザを介してコンテンツウェブサイトにアクセスした個々のユーザのそれぞれの個人ページが提供される。個人ページには、そのユーザが公開するコンテンツの情報であって、例えば、気に入った音楽、映画などのコンテンツの情報が掲載されるようになされている。ユーザ紹介システム10のユーザは、自分のパーソナルコンピュータなどに実装されたブラウザを利用し、インターネットなどのネットワークを介してコンテンツウェブサイトにアクセスし、コンテンツウェブサイト内のページ、またはコンテンツウェブサイトにリンクされたページなどを閲覧する。
このユーザ紹介システム10は、例えば、インターネットなどのネットワークに接続されたサーバなどとして構成される。なお、相互に接続された複数のサーバによりユーザ紹介システム10が構成されるようにしても構わない。
図1のユーザ情報処理部32は、上述した個人ページを有するユーザであって、コンテンツウェブサイトにアクセスするユーザのパーソナルコンピュータなどに実装されたブラウザ31からユーザ情報を取得する。ここでユーザ情報とは、例えば、そのユーザのコンテンツウェブサイト利用履歴(例えば、閲覧したページ)とユーザが公開したコンテンツに関する情報などから構成される情報とされる。
そして、ユーザ情報処理部32は、ブラウザ31からユーザ情報を取得すると、取得したユーザ情報に含まれる情報に基づいて、コンテンツメタ情報DB(データベース)33からコンテンツメタ情報を読み込む。ここで、コンテンツメタ情報とは、例えば、音楽のコンテンツのジャンル、アーティスト、レビュー文に出現する単語、映像のコンテンツを解析することにより抽出された特徴量など、それぞれのコンテンツに関連するデータを表すものとする。
コンテンツメタ情報DB33には、例えば、個々のコンテンツに固有のIDとコンテンツメタ情報が対応付けられて記憶されており、ユーザ情報処理部32は、ユーザ情報に含まれるコンテンツのIDを特定し、それらのコンテンツに対応するコンテンツメタ情報を取得するようになされている。コンテンツメタ情報は、例えば、公開されたコンテンツの供給会社(または製作者)などにより提供された情報などを用いて生成され、予めコンテンツメタ情報DB33に記憶されているものとする。
ユーザ情報処理部32は、ブラウザ31から取得したユーザ情報と、コンテンツメタ情報DB33から取得したコンテンツメタ情報に基づいてユーザ嗜好情報Aを生成する。詳細は後述するが、ユーザ嗜好情報Aは、多数の要素を有する高次元のベクトルとされる。ユーザ嗜好情報Aは、複数のユーザのそれぞれについて生成され、生成されたユーザ嗜好情報Aは、A嗜好情報DB34に記憶される。
ユーザ情報解析部35は、A嗜好情報DB34からユーザ嗜好情報Aを読み込んで解析し、ユーザ嗜好情報Bを生成するようになされている。詳細は後述するが、ユーザ嗜好情報Bは、ユーザ嗜好情報Aの要素数を圧縮(少なく)したベクトルとされ、ユーザ情報解析部35は、マルチトピックモデルによる解析を行うことにより、要素数を圧縮したベクトルを生成する。
マルチトピックモデルによる解析手法としては、例えば、後述するPLSA(Probabilistic Latent Semantic Analysis)、LDA(Latent Dirichlet Allocation)などの、単語や文書の生起確率を求める手法が挙げられる。ユーザ情報解析部35は、例えば、ユーザ嗜好情報AについてPLSAによる解析を行うことにより、要素数を圧縮したベクトルを生成する。ユーザ嗜好情報Bは、複数のユーザのそれぞれについて生成され、生成されたユーザ嗜好情報Bは、B嗜好情報DB36に記憶される。
紹介ユーザ決定部37は、ブラウザ31のユーザのユーザ嗜好情報Aに基づいて、ユーザ紹介システム10に個人ページを有する複数のユーザのそれぞれのユーザ嗜好情報Aまたはユーザ嗜好情報Bをフィルタリングし、フィルタリングの結果得られたユーザ嗜好情報Aまたはユーザ嗜好情報Bに対応するユーザを特定するとともに、それらの特定されたユーザのユーザ嗜好情報Bを抽出する。
そして、紹介ユーザ決定部37は、抽出されたユーザ嗜好情報Bのそれぞれと、ブラウザ31のユーザのユーザ嗜好情報Bの類似度を演算し、その類似度に基づいてブラウザ31のユーザに紹介すべきユーザを決定する。
紹介ユーザ提示部38は、紹介ユーザ決定部37により決定されたユーザのユーザ嗜好情報Aに基づいて後述するように紹介理由を作成し、紹介すべきユーザを紹介理由とともに表示する紹介ユーザリストを表示するようになされている。
なお、以後、例えば、図1のブラウザ31のユーザであって、ユーザ紹介システム10による別のユーザの紹介を希望するユーザを利用ユーザと称し、利用ユーザに紹介すべきユーザとしてユーザ紹介システム10が選択したユーザを紹介ユーザと称することにする。
また、ここでは、ユーザ紹介システム10に個人ページを有するユーザのうちの所定のユーザが紹介ユーザとして選択されると説明したが、例えば、ユーザ紹介システム10にURL(Uniform Resource Locator)などのアドレスが登録された、いわゆるウェブログ(ブログ)の管理者であるユーザが紹介ユーザとして紹介されるようにしてもよい。
図2は、ユーザ紹介システム10によるユーザの紹介の処理について説明する図である。
同図に示されるように、ユーザ情報とコンテンツメタ情報とに基づいてユーザ嗜好情報Aが生成される。ユーザ嗜好情報AについてPLSAによる解析を行うことにより、要素数を圧縮したベクトルであるユーザ嗜好情報Bが生成される。
そして、ユーザ嗜好情報Aとユーザ嗜好情報Bとに基づいて、利用ユーザに紹介すべきユーザである紹介ユーザが決定されて、その紹介ユーザが提示されることになる。
次に、ユーザ嗜好情報Aについて説明する。図3は、ユーザ嗜好情報Aの構成例を示す図である。
図3は、ユーザがコンテンツ1、コンテンツ2、およびコンテンツ3を視聴、録画するなどして利用した場合のユーザ嗜好情報Aの例であって、コンテンツ1はコンテンツメタ情報a(同図にはメタ情報aと表示)を有し、コンテンツ2はコンテンツメタ情報cを有し、コンテンツ3はやはりコンテンツメタ情報c(同図にはメタ情報cと表示)を有するものとする。図3の例では、コンテンツ1がメタ情報aを有することを、コンテンツ1の行とメタ情報aの列が交差するマスに1を記入することで表現している。
各コンテンツのコンテンツメタ情報には重みが乗じられるようになされており、この重みは、例えば、録画、視聴などの行為であって、コンテンツの利用状況に対応して定められるようになされている。例えば、ユーザが、単に視聴したコンテンツと、録画したコンテンツとでは、そのユーザにとっての重要度が異なると考えられる。すなわち、ユーザは、単に視聴のみを行ったコンテンツよりも、録画したコンテンツの方がより興味があったものと推定することができ、ユーザの嗜好に関する情報を生成する際には、各コンテンツの利用状況(録画、視聴など)に応じた重み付けがなされることが好ましい。
図3の例では、コンテンツ1の利用状況に応じた重みが「0.4」とされ、コンテンツ2の利用状況に応じた重みが「0.9」とされ、コンテンツ3の利用状況に応じた重みが「0.4」とされている。
ユーザ嗜好情報Aは、各コンテンツメタ情報(いまの場合、メタ情報a乃至メタ情報c)の値(いまの場合「1」または「0」)に対して、それぞれコンテンツの利用状況に応じた重みを乗じた値を要素としたベクトルとされる。
図3の例では、ユーザ嗜好情報Aのメタ情報aの要素における値は、1×0.4=0.4、メタ情報bの要素では0、メタ情報cの要素では1×0.9+1×0.4=1.3となり、ユーザ嗜好情報Aは3次元の実数値ベクトル(0.4,0,1.3)として構成される。
なお、重みは、利用状況によらず同一としてもよい。例えば、図3の例において、重みをすべて「1」とすればユーザ嗜好情報Aは、ベクトル(1,0,2)となる。
また、コンテンツメタ情報を用いず、コンテンツ自体をユーザ嗜好情報Aの要素として用いるようにしてもよい。図4は、コンテンツ自体を要素として用いる場合のユーザ嗜好情報Aの構成例を示す図である。同図の場合、ユーザ嗜好情報Aは、ベクトル(0.4,0.9,0.4)となる。
図4に示されるように、ユーザ嗜好情報Aを構成する場合、図1においてコンテンツメタ情報DB33を設けないようにしてもよい。
図3または図4に示したユーザ嗜好情報Aの例は、3次元のベクトルであるが、実際には、要素の数が膨大なものとなる。コンテンツ、およびコンテンツメタ情報の数(種類)が大量に存在するからである。実際のユーザ嗜好情報Aは、数千次元乃至数万次元の高次元の実数値ベクトルとなる。
また、大量に存在するコンテンツのうち、ユーザが実際に視聴、録画などするコンテンツは、ごく一部であると考えられる。すなわち、ユーザ嗜好情報Aのベクトルのほとんどの要素の値は「0」となる。このように、要素の殆どが0となることをスパースといい、ユーザ嗜好情報Aは、スパースな高次元ベクトルといえる。
なお、ユーザ嗜好情報Aは、ユーザが利用したコンテンツの如何にかかわらず、各ユーザのユーザ嗜好情報Aのベクトルの要素の数が同じになるように、生成されるものとする。例えば、A嗜好情報DB34に、予め設定された数の要素を有するベクトルとしてユーザ嗜好情報Aのひな形などが記憶されており、ユーザ情報処理部32がブラウザ31から取得したユーザ情報に対応して、ユーザ嗜好情報Aのひな形の各要素に値を書き込むことでユーザ嗜好情報Aが生成されるようにしてもよい。
次に、ユーザ嗜好情報Bについて説明する。上述したように、ユーザ嗜好情報Bは、PLSAによる解析を行うことにより、ユーザ嗜好情報Aの要素数を圧縮した、比較的低次元のベクトルとされる。
図1のユーザ情報解析部35は、マルチトピックモデル(例えば、PLSA)の解析の処理を実行可能な機能ブロックとして構成されており、例えば、与えられたPLSAの確率モデルのパラメータに応じて、入力されたユーザ嗜好情報Aに対するPLSAの解析の処理を実行するようになされている。
また、ユーザ情報解析部35は、複数のユーザ嗜好情報Aに対してPLSAの解析の処理を実行することにより、最適なPLSAの確率モデルのパラメータを学習するようになされている。
PLSAは、例えば、テキスト解析などに多く用いられており、トピックと呼ばれる単語の生起確率を決める確率密度を1つ以上考慮することによって、単語の生起確率を計算し、各文書固有のトピック生起確率によって、文書を特徴づける方式である。PLSAでは、例えば、大規模な文書コーパスを用いて、トピックの単語生起確率と文書のトピック生起確率をEM(Expectation Maximization)アルゴリズムにより予め特定する。また、PLSAでは、トピックの単語生起確率をパラメータとして与えて、入力された文書に対応する文書のトピック生起確率を求めるようにすることもできる。
なお、PLSAの詳細は、「Thomas Hofmann, Probabilistic Latent Semantic Indexing, Proceedings of the Twenty-Second Annual International SIGIR Conference on Research and Development in Information Retrieval (SIGIR-99), 1999」などの文献に記載されている。
PLSAと同様の操作はLDA(Latent Dirichlet Allocation)によっても可能である。LDAはPLSAを拡張したものであり、LDAの詳細については「David M. Blei, Andrew Y. Ng, Michael I. Jordan, Latent Dirichlet Allocation, Journal of Machine Learning Research 3, 2003」に記載されている。ユーザ情報解析部35は、PLSAの解析の処理に替えてLDAの解析の処理を実行するようにしてもよい。
ここでは、マルチトピックモデルによる解析としてPLSAを用いる場合の例について説明することにする。すなわち、ユーザ嗜好情報Bの要素数と同数または同数以上のトピックを設定したPLSAの確率モデルを用意し、ユーザ嗜好情報Aの各要素の生起確率を求め、ユーザ嗜好情報Aの各要素の生起確率に基づいて、ユーザ嗜好情報Bの要素の値を定めることとする。
図5は、ユーザ1乃至ユーザ3のユーザ嗜好情報Aの例を示す図であり、図6は、図5のユーザ嗜好情報Aに対してPLSAによる解析を行うことにより生成されたユーザ嗜好情報Bの例を示す図である。ここでは、説明を簡単にするために、5次元のベクトルであるユーザ嗜好情報Aが3次元のベクトルであるユーザ嗜好情報Bに変換される例を説明するが、実際には、ユーザ嗜好情報A、ユーザ嗜好情報Bともにより高次元のベクトルとなる。
いまの場合、ユーザ情報解析部35では、トピック数が3でありかつパラメータが予め特定されたPLSAの確率モデルを用意し、ユーザ嗜好情報Aの要素A1乃至要素A5の生起確率を求めることになる。第1のトピックでは、要素A1と要素A2の生起確率が高くなり、第2のトピックでは、要素A3と要素A4の生起確率が高くなったものとする。すなわち、要素A1と要素A2は類似した要素であり、また要素A3と要素A4は類似した要素といえる。
いまの場合、第1乃至第3のトピックが図6の要素B1乃至要素B3に対応するので、要素A2の値が比較的大きいユーザ1のユーザ嗜好情報Bと、要素A1の値が比較的大きいユーザ2のユーザ嗜好情報Bにおいては、ともに要素B1の値が比較的大きい値となっている。要素A1と要素A2が類似した要素だからである。また、要素A3の値が比較的大きいユーザ1のユーザ嗜好情報Bと、要素A4の値が比較的大きいユーザ2のユーザ嗜好情報Bにおいては、ともに要素B2の値が比較的大きい値となっている。要素A3と要素A4が類似した要素だからである。これに対して、要素A1乃至要素A4のいずれも比較的小さい値であるユーザ3のユーザ嗜好情報Bにおいては、要素B1と要素B2の値は比較的小さい値となっている。
このようすることで、高次元のスパースなベクトルであるユーザ嗜好情報Aを、より低次元のベクトルであるユーザ嗜好情報Bに変換(生成)することができる。
また、ユーザ嗜好情報Aにおいては、ユーザ1の要素A1の値は0であり、ユーザ2の要素A1の値が1であり、ユーザ嗜好情報Aのみを参照すると、双方の値に隔たりがあるため、ユーザ1とユーザ2の嗜好が大きく異なっていると誤り易いが、ユーザ嗜好情報Bにおいては、ユーザ1の要素B1の値が1とされ、ユーザ2の要素B1の値が0.8とされ、例えば、ユーザ1とユーザ2の嗜好が大きく異なっていると誤って判断される可能性は小さくなる。
このように、ユーザ嗜好情報Bを生成することで、ユーザの嗜好をより簡単、かつ正確に比較することが可能となる。
なお、ユーザ嗜好情報Bは、ユーザ嗜好情報Aの如何にかかわらず、各ユーザのユーザ嗜好情報Bのベクトルの要素の数が同じになるように、生成されるものとする。例えば、B嗜好情報DB36に、予め設定された数の要素を有するベクトルとしてユーザ嗜好情報Bのひな形などが記憶されており、ユーザ情報解析部35がA嗜好情報DB34から取得したユーザ嗜好情報Aを解析して、ユーザ嗜好情報Bのひな形の各要素に値を書き込むことでユーザ嗜好情報Bが生成されるようにしてもよい。
次に、紹介ユーザの決定についてより詳細に説明する。上述したように、紹介ユーザ決定部37は、利用ユーザのユーザ嗜好情報Aに基づいて、ユーザ紹介システム10に個人ページを有する複数のユーザのそれぞれのユーザ嗜好情報Aをフィルタリングし、フィルタリングの結果得られたユーザ嗜好情報Aに対応するユーザを特定するとともに、それらの特定されたユーザのユーザ嗜好情報Bを抽出する。
例えば、紹介ユーザ決定部37は、利用ユーザのユーザ嗜好情報Aの中で最大の値をもつ要素を検索し、その要素におけるユーザ嗜好情報Aの値が閾値以上のユーザのみを抽出し、抽出されたユーザをその後の処理の対象(候補ユーザ)とする。閾値は、例えば、利用ユーザのユーザ嗜好情報Aの中で最大の値を持つ要素の値の2分の1とする。例えば、図5の例において、ユーザ3が利用ユーザである場合、ユーザ3の最大の要素は要素A5である。ユーザ1の要素A5の値は0.8>(1.0/2)であるので、ユーザ1は候補ユーザとなる。一方、ユーザ2の要素A5の値は0<(1.0/2)であるので、ユーザ2は候補ユーザとはならない。
ここでは、利用ユーザのユーザ嗜好情報Aに基づいて、各ユーザのユーザ嗜好情報Aをフィルタリングする例について説明したが、例えば、利用ユーザのユーザ嗜好情報Bに基づいて、各ユーザのユーザ嗜好情報Bがフィルタリングされるようにしてもよいし、利用ユーザのユーザ嗜好情報Aおよびユーザ嗜好情報Bの両方を用いて各ユーザをフィルタリングするようにしてもよい。
なお、フィルタリングを行わず、ユーザ紹介システム10に個人ページを有する複数のユーザを全て候補ユーザとするようにしてもよい。
そして、紹介ユーザ決定部37は、上述したように、候補ユーザのユーザ嗜好情報Bのそれぞれと、利用ユーザのユーザ嗜好情報Bの類似度を演算し、その類似度に基づいて紹介ユーザを決定する。
ここで、類似度は、例えば、ある候補ユーザのユーザ嗜好情報Bのベクトルと、利用ユーザのユーザ嗜好情報Bのベクトルとのユークリッド距離の符号反転値として演算される。例えば、図6の例において、ユーザ1とユーザ2の類似度は、次式により演算される。
なお、類似度は、ユークリッド距離に基づいて演算されるものに限られるものではなく、例えば、ベクトルの内積として算出されるようにすることも可能である。要は、2人のユーザのユーザ嗜好情報Bを入力とし、実数が出力されるものであればどのような計算方法でもよい。
ここでは、候補ユーザのユーザ嗜好情報Bのそれぞれと、利用ユーザのユーザ嗜好情報Bの類似度を演算すると説明したが、例えば、類似度の演算に、ユーザ嗜好情報Bだけでなくユーザ嗜好情報Aも用いられるようにしてもよい。
このように、利用ユーザと候補ユーザの類似度が演算され、例えば、類似度の大きい順にユーザをソートし、紹介ユーザリストとしてブラウザに表示される。このとき、上述したように、紹介ユーザ提示部38は、紹介ユーザのユーザ嗜好情報Aに基づいて紹介理由を作成し、紹介すべきユーザを紹介理由とともに表示する。
紹介理由は、紹介ユーザの嗜好の特徴であり、例えば、ユーザ嗜好情報Aの各要素のうち大きい値をもつ上位3つの要素の名前を表示する。例えば、図5のユーザ1が紹介ユーザであった場合、要素A2、要素A5、および要素A3の名前(例えば、コンテンツメタ情報であって、アーティスト名、ジャンルなど)がユーザ1の紹介理由として表示されることになる。
また、利用ユーザのユーザ嗜好情報Aの各要素からも、値の大きい上位10個の要素を選んでおき、紹介ユーザの紹介理由の各要素と比較する。そして、利用ユーザのユーザ嗜好情報Aの各要素から選ばれた10個の要素と、紹介ユーザのユーザ嗜好情報Aの各要素から選ばれた3個の要素とにおいて共通する要素がある場合、紹介理由として表示されるその共通の要素の色を変える。
図7は、紹介ユーザリストの例を示している。この例では、紹介ユーザが「○○○さん」、「×××さん」、「△△△さん」、・・・と表示されている。そして、紹介ユーザ「○○○さん」の紹介理由が「要素A1」、「要素A10」、「要素A2」とされており、紹介ユーザ「×××さん」の紹介理由が「要素A9」、「要素A2」、「要素A8」とされており、紹介ユーザ「△△△さん」の紹介理由が「要素A5」、「要素A8」、「要素A3」とされている。いまの場合、利用ユーザのユーザ嗜好情報Aの各要素の値の大きい上位10個の要素が、それぞれ要素A2、要素A5、要素A6、要素A7、要素A10、要素A11、要素A12、要素A13、要素A14、および要素A15であったものとする。
紹介理由に表示される要素のうち、上述した利用ユーザのユーザ嗜好情報Aから選ばれた10個の要素と共通するものは、要素A2、要素A5、および要素A10なので、図7の画面の中でこれらの要素の色が変更されて表示される。同図においては、下線により色が変更されたことを表している。このように表示することで、紹介ユーザの特徴、利用ユーザと紹介ユーザの嗜好の違い、利用ユーザと紹介ユーザの嗜好が同じ部分が一目でわかるようになる。
なお、図7には、説明を簡単にするために、紹介理由に「要素A1」、「要素A10」、「要素A2」、・・・と記載したが、実際には、各要素の名前であって、アーティスト名、ジャンルなどが紹介理由として表示されることになる。
また、紹介理由としてユーザ嗜好情報Bの要素を表示するようにしてもよい。
さらに、紹介理由の色を変える代わりに、フォントを変えるようにしてもよいし、文字サイズを変えるようにしてもよいし、点滅させて表示するなどしてもよい。
あるいはまた、紹介理由を文字で表示せず、それぞれの要素に対応するアイコンなどの画像として表示するようにしてもよい。その場合、例えば、紹介理由の色を変える代わりに、画像を動かして表示するなどしてもよい。
次に、図8のフローチャートを参照して、ユーザ紹介システム10によるユーザ嗜好情報Aの処理について説明する。この処理は、ユーザが初めてユーザ紹介システム10を利用するとき、または、ユーザ情報が変更されたとき実行される。
ステップS11において、図1のユーザ情報処理部32は、コンテンツウェブサイトにアクセスしたユーザのパーソナルコンピュータなどに実装されたブラウザ31からユーザ情報を取得する。ユーザ情報には、例えば、そのユーザのコンテンツウェブサイト利用履歴(例えば、閲覧したページ)とユーザが公開したコンテンツに関する情報などが含まれている。
ステップS12において、ユーザ情報処理部32は、取得したユーザ情報に含まれる情報に基づいて、コンテンツメタ情報DB(データベース)33からコンテンツメタ情報を読み込む。このとき、ユーザ情報処理部32は、例えば、ユーザ情報に含まれるコンテンツのIDを特定し、それらのコンテンツに対応するコンテンツメタ情報を取得する。
ステップS13において、ユーザ情報処理部32は、コンテンツウェブサイトにアクセスしたユーザのユーザ嗜好情報AをA嗜好情報DB34から読み込む。なお、そのユーザが初めてユーザ紹介システム10を利用する場合、ユーザ嗜好情報Aがまだ作成されていないので、ステップS13では、例えば、ユーザ嗜好情報Aのひな形が読み込まれることになる。
ステップS14において、ユーザ情報処理部32は、ステップS11で取得したユーザ情報と、ステップS12で取得したコンテンツメタ情報に基づいてユーザ嗜好情報Aを更新する。なお、そのユーザが初めてユーザ紹介システム10を利用する場合、ステップS14でそのユーザのユーザ嗜好情報Aが生成されることになる。
ステップS15において、ステップS14の処理で更新または生成されたユーザ嗜好情報AがA嗜好情報DB34に記憶される。
このようにして、ユーザ嗜好情報Aが生成される。
次に、図9のフローチャートを参照して、ユーザ紹介システム10によるパラメータ学習処理について説明する。この処理は、上述したPLSAの確率モデルのパラメータを学習するものであり、例えば、A嗜好情報DB34に記憶されるユーザ嗜好情報Aが所定の数以上となったとき実行される。
ステップS31において、ユーザ情報解析部35は、A嗜好情報DB34から複数のユーザ嗜好情報Aを読み込んで解析し、ステップS32でPLSAの確率モデルのパラメータを設定する。
このようにしてパラメータの学習が行われる。
次に、図10のフローチャートを参照して、ユーザ紹介システム10によるユーザ嗜好情報B生成処理について説明する。この処理は、例えば、図9を参照して上述した処理により、パラメータが学習された後、そのパラメータを用いて実行される。また、この処理は、ユーザ情報が変更されたとき図8を参照して上述した処理が実行されることでそのユーザのユーザ嗜好情報Aが更新されたとき、実行されるようにしてもよい。
ステップS51において、ユーザ情報解析部35は、ユーザ嗜好情報Bの要素数を決定する。要素数は、予め定められた値とされてもよいし、例えば、システム管理者などの指令に基づいて決定されるようにしてもよい。
ステップS52において、ユーザ情報解析部35は、A嗜好情報DB34からユーザ嗜好情報Aを読み込む。
ステップS53において、ユーザ情報解析部35は、ステップS52の処理で読み込んだユーザ嗜好情報AについてPLSA(Probabilistic Latent Semantic Analysis)による解析を行うことにより、要素数を圧縮する。
ステップS54において、ユーザ情報解析部35は、B嗜好情報DB36からユーザ嗜好情報Bを読み込む。なお、そのユーザのユーザ嗜好情報Bがまだ作成されていない場合、ステップS54では、例えば、ユーザ嗜好情報Bのひな形が読み込まれることになる。
ステップS55において、ユーザ情報解析部35は、ステップS53の処理結果に基づいてユーザ嗜好情報Bを更新する。なお、そのユーザのユーザ嗜好情報Bがまだ作成されていない場合、ステップS55でそのユーザのユーザ嗜好情報Bが生成されることになる。
ステップS56において、ステップS55の処理で更新または生成されたユーザ嗜好情報BがB嗜好情報DB36に記憶される。
このようにして、ユーザ嗜好情報Bが生成される。
なお、図10を参照して上述した処理の実行に伴って、PLSAの確率モデルのパラメータが学習されるようにすることも可能である。すなわち、図9を参照して上述した処理により、パラメータが学習された後、そのパラメータを用いて図10の処理が実行されるのではなく、図10の処理を実行しながら、パラメータを学習させるようにしても構わない。
次に、図11のフローチャートを参照して、ユーザ紹介システム10による紹介リスト生成表示処理について説明する。この処理は、例えば、利用ユーザから紹介リストの表示が指令されたとき実行される。
ステップS71において、紹介ユーザ決定部37は、利用ユーザのユーザ嗜好情報Aを読み込む。
ステップS72において、紹介ユーザ決定部37は、ステップS71で読み込んだ利用ユーザのユーザ嗜好情報Aに基づいて、ユーザのフィルタリングを行う。このとき、例えば、利用ユーザのユーザ嗜好情報Aの中で最大の値を持つ要素が検索され、その要素におけるユーザ嗜好情報Aの値が閾値以上のユーザのみが抽出され、候補ユーザとされる。
なお、ステップS72の処理は、省略されるようにしてもよい。
ステップS73において、紹介ユーザ決定部37は、ステップS72のフィルタリングにより得られた候補ユーザのユーザ嗜好情報Bを、B嗜好情報DB36から抽出する。
ステップS74において、紹介ユーザ決定部37は、利用ユーザのユーザ嗜好情報Bと、候補ユーザのユーザ嗜好情報Bのそれぞれとの類似度を演算する。このとき、例えば、ユーザ嗜好情報Bをベクトルとした場合のユークリッド距離の符号反転値として類似度が演算される。
ステップS75において、紹介ユーザ決定部37は、ステップS74の処理により得られた類似度に基づいて紹介ユーザを決定する。このとき、例えば、予め設定された閾値以上の類似度となったユーザ嗜好情報Bに対応する候補ユーザが紹介ユーザとなるように決定される。
ステップS76において、紹介ユーザ提示部38は、例えば、紹介ユーザのユーザ嗜好情報Aに基づいて紹介理由を作成する。
ステップS77において、紹介ユーザ提示部38は、紹介ユーザリストを、例えば、利用ユーザのブラウザに表示させる。このとき、例えば、図7を参照して上述したような画面が利用ユーザのパーソナルコンピュータの画面などに表示されることになる。
このようにしてユーザの紹介が行われる。
以上においては、主に、利用ユーザに紹介する紹介ユーザを特定するために、ユーザ嗜好情報Aとユーザ嗜好情報Bを用いる例について説明したが、個々のユーザの嗜好の特徴をより分かり易く表現するために、ユーザ嗜好情報Aとユーザ嗜好情報Bが用いられるようにしてもよい。
例えば、紹介ユーザが多数あった場合、利用ユーザが、紹介ユーザの個人ページを逐一閲覧するには、時間と手間がかかる。実際には、利用ユーザが、それぞれの紹介ユーザの個人ページを短時間眺め、どの紹介ユーザの個人ページを、時間をかけて閲覧する価値があるかどうか判断し、その後、時間をかけて閲覧する価値があると判断された少数の紹介ユーザの個人ページを、あらためて閲覧することになるであろう。
また、システムにより紹介されるユーザのみならず、例えば、他のユーザの嗜好の特徴が自分の嗜好の特徴とどの程度一致、または異なっているのかについて、ユーザは関心をもっていると思われ、ユーザの嗜好の特徴を直感的に把握させることができればより便利である。
上述したユーザ嗜好情報Aとユーザ嗜好情報Bを用いれば、ユーザの嗜好の特徴を直感的に把握させるようにすることも可能である。
図12は、ユーザ紹介システムにより、ユーザの嗜好の特徴を直感的に把握できるように表示させる場合の処理について説明する図である。
同図に示されるように、ユーザ情報とコンテンツメタ情報とに基づいてユーザ嗜好情報Aが生成される。ユーザ嗜好情報AについてPLSAによる解析を行うことにより、要素数を圧縮したベクトルであるユーザ嗜好情報Bが生成される。
ここまでは、図2を参照して上述した場合と同様である。
そして、ユーザ嗜好情報Aとユーザ嗜好情報Bとに基づいて、例えば、あるユーザの嗜好表現値を計算する。嗜好表現値は、ユーザの嗜好の特徴を直感的に把握できるように表示するために用いられる値とされる。嗜好表現値の詳細については後述する。
さらに、計算された嗜好表現値に基づいて、そのユーザの嗜好の特徴が直感的に把握できるように表現されて提示(表示)される。
図13は、ユーザの嗜好の特徴を直感的に把握できるように表示させる場合のユーザ紹介システム20の構成例を示すブロック図である。同図は、図1に対応する図であり、図1と対応する部分には、同一の符号が付されている。
このユーザ紹介システム20も、ユーザ紹介システム10と同様に、例えば、インターネットなどのネットワークに接続されたサーバなどとして構成される。なお、相互に接続された複数のサーバによりユーザ紹介システム20が構成されるようにしても構わない。その他、ユーザ紹介システム20の紹介ユーザ、利用ユーザについてもユーザ紹介システム10の場合と同様である。
また、ユーザ紹介システム20には、図1の紹介ユーザ決定部37および紹介ユーザ提示部38が設けられていないが、例えば、嗜好表現値計算部41は、紹介ユーザ決定部37の一部として実装され、ユーザ嗜好表現部42は、紹介ユーザ提示部38の一部として実装されるようにしてもよい。
図13におけるブラウザ31乃至B嗜好情報DB36は、図1の場合と同様なので詳細な説明は省略する。
嗜好表現値計算部41は、B嗜好情報DB36に記憶されているユーザ嗜好情報B、またはA嗜好情報DB34に記憶されているユーザ嗜好情報Aに基づいて嗜好表現値を計算する。
嗜好表現値は、例えば、ユーザ嗜好情報Bの各要素の値とされる。上述したように、ユーザ嗜好情報Bは、高次元のスパースなベクトルであるユーザ嗜好情報Aの要素数が圧縮されて生成された、より低次元のベクトルである。このため、例えば、ユーザ嗜好情報Aの要素では、双方の値に隔たりがある場合でも、ユーザ嗜好情報Bを参照すれば嗜好が類似していると判断できる場合もあり、ユーザの嗜好をより簡単、かつ正確に比較することが可能となる。
例えば、あるユーザのユーザ嗜好情報Aの要素A1乃至要素A3が、それぞれコンテンツメタ情報「ジャズ」、「クラッシック」、「ボサノバ」に対応するものであった場合、ユーザ嗜好情報Bにおいて、要素A1乃至要素A3の生起確率が高い要素B1が生成されたものとする。
この場合、例えば、そのユーザの嗜好の特徴を、「ジャズ 1」、「クラッシック 2」、「ボサノバ 3」と表現するよりも、要素B1の名前を「大人っぽい」とし、「大人っぽい 1.5」のように表現した方がより直感的にユーザの嗜好の特徴を把握できる。
また、例えば、ユーザ嗜好情報Bの要素数が多い場合、次のようにして嗜好表現値を演算するようにしてもよい。
例えば、嗜好表現値を2次元のベクトル(嗜好表現値1,嗜好表現値2)として生成する場合、そのユーザの嗜好表現値1をユーザ嗜好情報Aの要素A1乃至要素4とユーザ嗜好情報Bの要素B1、要素B2の和として計算し、嗜好表現値2をユーザ嗜好情報Aの要素A5乃至要素A8とユーザ嗜好情報Bの要素B3、要素B4の和で計算するようにしてもよい。
あるいはまた、ユーザ情報解析部35により、ユーザ嗜好情報Bについてさらに、PLSAの解析を行わせ、より要素数の少ないベクトルを生成させ、そのベクトルの要素の値のそれぞれが嗜好表現値のベクトルを構成する要素の値とされるようにしてもよい。
さらに、ユーザ嗜好情報Aの所定の要素とユーザ嗜好情報Bの所定の要素を抽出し、それらの要素の値のそれぞれが嗜好表現値のベクトルを構成する要素の値とされるようにしてもよい。例えば、ユーザ嗜好情報Aが要素A1乃至要素A8で構成され、ユーザ嗜好情報Bが要素B1乃至要素B4で構成される場合、嗜好表現値のベクトルは、ベクトル(要素A1,要素B2,要素B3,要素B4)とされるようにしてもよい。
このようにして得られた嗜好表現値に基づいて、ユーザ嗜好表現部42が、例えば、ブラウザ31にユーザの嗜好の特徴を表す画面を表示させる。
図14は、ユーザ嗜好表現部42により生成されるユーザの嗜好の特徴を表す画面の例を示す図である。図14の例では、例えば、嗜好表現値が5次元のベクトルとして構成される場合の例であって、ベクトルの要素である嗜好表現値1乃至嗜好表現値5がそれぞれ軸とされ、嗜好表現値が5角形のグラフとして表示されている。
図15は、ユーザ嗜好表現部42により生成されるユーザの嗜好の特徴を表す画面の別の例を示す図である。図15の例では、例えば、嗜好表現値が5次元のベクトルとして構成される場合の例であって、ベクトルの要素である嗜好表現値1乃至嗜好表現値5がそれぞれ軸とされ、嗜好表現値が棒グラフとして表示されている。
このようにすることで、そのユーザの嗜好の特徴を、より直感的に把握させることが可能となる。
あるいはまた、複数のユーザの嗜好表現値が重ね合わせて表示されるようにしてもよい。図16は、ユーザ嗜好表現部42により生成されるユーザの嗜好の特徴を表す画面の別の例を示す図である。図16の例では、例えば、嗜好表現値が5次元のベクトルとして構成される場合の例であって、ベクトルの要素である嗜好表現値1乃至嗜好表現値5がそれぞれ軸とされ、2人のユーザの嗜好表現値がそれぞれ5角形のグラフとして表示されている。
同図において、例えば、点線112で示されるグラフは、利用ユーザ(自分)の嗜好の特徴を表すものとされ、線111で示されるグラフは、紹介ユーザ(他人)の嗜好の特徴を表すものとされる。
図17は、ユーザ嗜好表現部42により生成されるユーザの嗜好の特徴を表す画面のさらに別の例を示す図である。図17の例では、例えば、嗜好表現値が5次元のベクトルとして構成される場合の例であって、ベクトルの要素である嗜好表現値1乃至嗜好表現値5がそれぞれ軸とされ、2人のユーザの嗜好表現値が棒グラフとして表示されている。
同図において、例えば、図中白色で示される棒グラフは、利用ユーザ(自分)の嗜好の特徴を表すものとされ、図中ハッチングされて示される棒グラフは、紹介ユーザ(他人)の嗜好の特徴を表すものとされる。
このようにすることで、それぞれのユーザの嗜好の特徴の一致の度合い、または嗜好の特徴の違いを、より直感的に把握させることが可能となる。
さらに、上述したように嗜好表現値をグラフ化した画面とともに、ユーザ嗜好情報A、若しくはユーザ嗜好情報Bまたはそれら両方のうち大きい値を持つ要素の名前をユーザの特徴として有限個表示し、嗜好表現をより詳細にすることもできる。
例えば、利用ユーザのユーザ嗜好情報Aから値の大きい要素を10個選んでおき、紹介ユーザのユーザ嗜好情報Aから値の大きい要素を6個抽出する。紹介ユーザの嗜好の特徴をより直感的に表現するためには、例えば、抽出された6個の要素の名前を、それらの要素の値の大きさに応じたサイズで表示するようにすると効果的である。
そして、利用ユーザのユーザ嗜好情報Aの各要素から選ばれた10個の要素と、紹介ユーザのユーザ嗜好情報Aの各要素から選ばれた6個の要素とにおいて共通する要素がある場合、紹介理由として表示されるその共通の要素の色を変える。
図18は、ユーザ嗜好表現部42により生成されるユーザの嗜好の特徴を表す画面のさらに別の例を示す図である。図18の場合、例えば、利用ユーザに紹介ユーザの嗜好の特徴を提示する場合の画面の例とされ、図中の領域151は、利用ユーザと紹介ユーザの嗜好表現値をグラフ化したものが表示され、領域152には、紹介ユーザの嗜好の特徴が、領域151における表示とは別の方式で表示されるものとする。
図18の例では、例えば、嗜好表現値が5次元のベクトルとして構成される場合の例であって、ベクトルの要素である嗜好表現値1乃至嗜好表現値5がそれぞれ軸とされ、2人のユーザの嗜好表現値が5角形のグラフとして領域151に表示されている。同図において、例えば、点線172で示されるグラフは、利用ユーザの嗜好の特徴を表すものとされ、線171で示されるグラフは、紹介ユーザの嗜好の特徴を表すものとされる。
また、図18の例では、紹介ユーザのユーザ嗜好情報Aから値の大きい上位6個の要素が抽出されて、紹介ユーザの特徴として領域152に表示されている。同図の例では、「要素A1」、「要素A2」、「要素A5」、「要素A8」、「要素A9」、および「要素A10」が表示されている。ここでは、説明を簡単にするために、紹介理由に「要素A1」、「要素A2」、・・・と記載したが、実際には、各要素の名前であって、アーティスト名、ジャンルなどが紹介理由として表示されることになる。
さらに、図18の例では、抽出された6個の要素の名前が、それらの要素の値の大きさに応じたサイズで表示されている。この例では、「要素A8」の値が最も大きかったことになり、「要素A1」の値が最も小さかったことになる。
また、図18の例では、利用ユーザのユーザ嗜好情報Aの各要素から選ばれた10個の要素と、紹介ユーザのユーザ嗜好情報Aの各要素から選ばれた6個の要素とにおいて共通する要素がある場合、領域152に表示されるその共通の要素の色が変えられて表示されている。同図においては、要素に下線を付することで色を変えて表示したことを表現している。いまの場合、「要素A2」、「要素A5」、および「要素A10」が、利用ユーザのユーザ嗜好情報Aの各要素から選ばれた10個の要素と、紹介ユーザのユーザ嗜好情報Aの各要素から選ばれた6個の要素とにおいて共通する要素であったことになる。
さらに、領域152において色を変える代わりに、フォントを変えるようにしてもよいし、文字サイズを変えるようにしてもよいし、点滅させて表示するなどしてもよい。
あるいはまた、領域152において文字で表示せず、それぞれの要素に対応するアイコンなどの画像として表示するようにしてもよい。その場合、例えば、各要素の色を変える代わりに、画像を動かして表示するなどしてもよい。
また、ここでは、ユーザの嗜好の特徴を表す画面として、嗜好表現値を多角形のグラフまたは棒グラフによりグラフ化する例について説明したが、ユーザの嗜好の特徴を表す画面は、これらのグラフに限られるものではなく、また、必ずしも嗜好表現値をグラフ化したものでなくてもよい。
例えば、ユーザの嗜好の特徴を表す画面として、キャラクタの画像を表示し、嗜好表現値のベクトルの各要素の値に応じて、表示されるキャラクタが異なるようにしてもよいし、嗜好表現値のベクトルの各要素の値に応じて、キャラクタの顔の表情が変化するようにしてもよい。または、ユーザの嗜好の特徴として図形の色や形、動きを嗜好表現値のベクトルの各要素の値に応じて異なるようにしてもよい。
このようにすることで、紹介ユーザの嗜好の特徴、利用ユーザと紹介ユーザの嗜好の特徴の違い、利用ユーザと紹介ユーザの嗜好の特徴の同じ部分などが一目でわかるようになる。
次に、図19のフローチャートを参照して、ユーザ紹介システム20による嗜好表現画面生成表示処理について説明する。この処理は、例えば、所定のユーザの嗜好の特徴を表す画面の表示が要求されたとき実行されるようにしてもよいし、利用ユーザから紹介リストの表示が指令されたとき、図11を参照して上述した処理とともに実行されるようにしてもよい。
ステップS91において、嗜好表現値計算部41は、B嗜好情報DB36からユーザ嗜好情報Bを読み込む。なお、嗜好の特徴を表す画面(嗜好表現値)を表示すべきユーザが複数あるときは、それら複数のユーザに対応するユーザ嗜好情報Bが読み込まれる。
ステップS92において、嗜好表現値計算部41は、A嗜好情報DB34からユーザ嗜好情報Aを読み込む。なお、嗜好の特徴を表す画面(嗜好表現値)を表示すべきユーザが複数あるときは、それら複数のユーザに対応するユーザ嗜好情報Aが読み込まれる。
なお、嗜好表現値の計算において、ユーザ嗜好情報Aを用いない場合、ステップS92の処理は、省略されるようにしてもよい。
ステップS93において、嗜好表現値計算部41は、ステップS91の処理で読み込んだユーザ嗜好情報Bの要素と、ステップS92の処理で読み込んだユーザ嗜好情報Aの要素のうち、嗜好表現値の計算に必要となる要素を選択する。
ステップS94において、嗜好表現値計算部41は、ステップS93の処理で選択された要素に基づいて、嗜好表現値を計算する。
このとき、例えば、上述したように、嗜好表現値のベクトルを構成する各要素の値のそれぞれが、ユーザ嗜好情報Bの各要素の値とされるようにしてもよいし、1つの嗜好表現値の要素(例えば、嗜好表現値1)をユーザ嗜好情報Aの複数の要素の和、若しくはユーザ嗜好情報Bの複数の要素の和、またはユーザ嗜好情報Aの複数(または単数)の要素とユーザ嗜好情報Bの複数(または単数)の要素の和として計算されるようにしてもよい。
あるいはまた、ユーザ情報解析部35により、ユーザ嗜好情報Bについてさらに、PLSAの解析を行わせ、より要素数の少ないベクトルを生成させ、そのベクトルの要素の値のそれぞれが嗜好表現値のベクトルを構成する要素の値とされるようにしてもよい。
さらに、ユーザ嗜好情報Aの所定の要素とユーザ嗜好情報Bの所定の要素を抽出し、それらの要素の値のそれぞれが嗜好表現値のベクトルを構成する要素の値とされるようにしてもよい。
ステップS95において、ユーザ嗜好表現部42は、ユーザの嗜好の特徴を表示するための嗜好表現画面であって、例えば、図14乃至図18を参照して上述したような画面をユーザのパーソナルコンピュータの画面などに表示させる。
このようにして嗜好表現画面が表示される。
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図20に示されるような汎用のコンピュータ700などに、ネットワークや記録媒体からインストールされる。
図20において、CPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部708からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース705も接続されている。
入出力インタフェース705には、キーボード、マウスなどよりなる入力部706、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部707、ハードディスクなどより構成される記憶部708、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部709が接続されている。通信部709は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース705にはまた、必要に応じてドライブ710が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部708にインストールされる。
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア711などからなる記録媒体からインストールされる。
なお、この記録媒体は、図20に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスク(登録商標)を含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア711により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部708に含まれるハードディスクなどで構成されるものも含む。
なお、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
10 ユーザ紹介システム, 20 ユーザ紹介システム, 31 ブラウザ, 32 ユーザ情報処理部, 33 コンテンツメタ情報DB, 34 A嗜好情報DB, 35 ユーザ情報解析部, 36 B嗜好情報DB, 37 紹介ユーザ決定部, 38 紹介ユーザ提示部, 41 嗜好表現値計算部, 42 ユーザ嗜好表現部