(57)【特許請求の範囲】
【請求項１】
グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出手段と、
グループを代表グループを用いて近似することにより、グループを基底とする第１のベクトル空間の元を代表グループを基底とする第２のベクトル空間に写像する変換行列を生成する変換行列生成手段と、
ユーザのベクトル表現を示す第１のベクトル空間の元を、前記変換行列生成手段が生成した変換行列を用いて第２のベクトル空間の元に変換する変換手段と、
前記変換手段が変換した第２のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算手段と
を備えたことを特徴とする類似ユーザ発見システム。
【請求項２】
類似度計算手段は、所定のユーザのベクトル表現を示す第２のベクトル空間の元のうちゼロ以外の成分のみを用いて類似度を計算する請求項１記載の類似ユーザ発見システム。
【請求項３】
変換手段が変換した所定のユーザのベクトル表現を示す第２のベクトル空間の元のゼロ以外の成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分のうち少なくとも１つがゼロ以外である第１のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出手段を備え、
変換手段は、前記候補抽出手段が抽出した類似候補ユーザのベクトル表現を示す第１のベクトル空間の元を第２のベクトル空間の元に変換し、
類似度計算手段は、前記変換手段が変換した第２のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する
請求項１または請求項２記載の類似ユーザ発見システム。
【請求項４】
変換手段が変換した所定のユーザのベクトル表現を示す第２のベクトル空間の元のゼロの成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分がゼロである第１のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出手段を備え、
変換手段は、前記候補抽出手段が抽出した類似候補ユーザのベクトル表現を示す第１のベクトル空間の元を第２のベクトル空間の元に変換し、
類似度計算手段は、前記変換手段が変換した第２のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する
請求項１または請求項２記載の類似ユーザ発見システム。
【請求項５】
変換行列生成手段が生成した変換行列を記憶する変換行列記憶部を備えた請求項１から請求項４のうちのいずれか１項に記載の類似ユーザ発見システム。
【請求項６】
ネットワーク上に接続された１つまたは複数の情報処理装置を備えた類似ユーザ発見システムに適用される類似ユーザ発見方法であって、
前記情報処理装置のいずれかまたは複数により実現される代表グループ抽出手段が、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出ステップと、
前記情報処理装置のいずれかまたは複数により実現される変換行列生成手段が、グループを代表グループを用いて近似することにより、グループを基底とする第１のベクトル空間の元を代表グループを基底とする第２のベクトル空間に写像する変換行列を生成する変換行列生成ステップと、
前記情報処理装置のいずれかまたは複数により実現される変換手段が、ユーザのベクトル表現を示す第１のベクトル空間の元を、前記変換行列生成ステップで生成した変換行列を用いて第２のベクトル空間の元に変換する変換ステップと、
前記情報処理装置のいずれかまたは複数により実現される類似度計算手段が、前記変換ステップで変換した第２のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算ステップと
を含むことを特徴とする類似ユーザ発見方法。
【請求項７】
前記類似度計算手段が、前記類似度計算ステップで、所定のユーザのベクトル表現を示す第２のベクトル空間の元のうちゼロ以外の成分のみを用いて類似度を計算する請求項６記載の類似ユーザ発見方法。
【請求項８】
前記情報処理装置のいずれかまたは複数により実現される候補抽出手段が、前記変換ステップで変換した所定のユーザのベクトル表現を示す第２のベクトル空間の元のゼロ以外の成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分のうち少なくとも１つがゼロ以外である第１のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出ステップを含み、
前記変換手段が、前記変換ステップで、前記候補抽出ステップで抽出した類似候補ユーザのベクトル表現を示す第１のベクトル空間の元を第２のベクトル空間の元に変換し、
前記類似度計算手段が、前記類似度計算ステップで、前記変換ステップで変換した第２のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する
請求項６または請求項７記載の類似ユーザ発見方法。
【請求項９】
前記情報処理装置のいずれかまたは複数により実現される候補抽出手段が、前記変換ステップで変換した所定のユーザのベクトル表現を示す第２のベクトル空間の元のゼロの成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分がゼロである第１のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出ステップを含み、
前記変換手段が、前記変換ステップで、前記候補抽出ステップで抽出した類似候補ユーザのベクトル表現を示す第１のベクトル空間の元を第２のベクトル空間の元に変換し、
前記類似度計算手段が、前記類似度計算ステップで、前記変換ステップで変換した第２のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する
請求項６または請求項７記載の類似ユーザ発見方法。
【請求項１０】
前記変換行列生成手段が、前記変換行列生成ステップで生成した変換行列を変換行列記憶部に記憶させる変換行列登録ステップを含む請求項６から請求項９のうちのいずれか１項に記載の類似ユーザ発見方法。
【請求項１１】
コンピュータに、
グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出処理と、
グループを代表グループを用いて近似することにより、グループを基底とする第１のベクトル空間の元を代表グループを基底とする第２のベクトル空間に写像する変換行列を生成する変換行列生成処理と、
ユーザのベクトル表現を示す第１のベクトル空間の元を、前記変換行列生成処理で生成した変換行列を用いて第２のベクトル空間の元に変換する変換処理と、
前記変換処理で変換した第２のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算処理と
を実行させるための類似ユーザ発見プログラム。
【請求項１２】
コンピュータに、
類似度計算処理で、所定のユーザのベクトル表現を示す第２のベクトル空間の元のうちゼロ以外の成分のみを用いて類似度を計算する処理を実行させるための
請求項１１記載の類似ユーザ発見プログラム。
【請求項１３】
コンピュータに、
変換処理で変換した所定のユーザのベクトル表現を示す第２のベクトル空間の元のゼロ以外の成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分のうち少なくとも１つがゼロ以外である第１のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出処理を実行させ、
変換処理で、前記候補抽出処理で抽出した類似候補ユーザのベクトル表現を示す第１のベクトル空間の元を第２のベクトル空間の元に変換する処理を実行させ、
類似度計算処理で、前記変換処理で変換した第２のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する処理を実行させるための
請求項１１または請求項１２記載の類似ユーザ発見プログラム。
【請求項１４】
コンピュータに、
変換処理で変換した所定のユーザのベクトル表現を示す第２のベクトル空間の元のゼロの成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分がゼロである第１のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出処理を実行させ、
変換処理で、前記候補抽出処理で抽出した類似候補ユーザのベクトル表現を示す第１のベクトル空間の元を第２のベクトル空間の元に変換する処理を実行させ、
類似度計算処理で、前記変換処理で変換した第２のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する処理を実行させるための
請求項１１または請求項１２記載の類似ユーザ発見プログラム。
【請求項１５】
コンピュータに、
変換行列生成処理で生成した変換行列を変換行列記憶部に記憶させる変換行列登録処理を実行させるための
請求項１１から請求項１４のうちのいずれか１項に記載の類似ユーザ発見プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソーシャルネットワーキングサービスに代表される、ユーザとグループ（コミュニティ）が存在し、グループ間に関連するもの同士のリンクをもつシステムにおいて、あるユーザに対してそのユーザと類似するユーザを発見する類似ユーザ発見システム、類似ユーザ発見方法および類似ユーザ発見プログラムに関する。
【背景技術】
【０００２】
ソーシャルネットワーキングサービスに代表されるような、ユーザとグループ（コミュニティ）が存在するシステムにおいて、コンテンツをユーザに推薦する様々な方法がある。例えば、ユーザ間に友人関係が定義される場合に、友人関係にあるユーザのコンテンツを推薦する方法や同じグループに所属するユーザのコンテンツを推薦する方法などである。
【０００３】
ユーザは、自分の友人の情報に関心を持ち、また同じグループに所属する他のユーザとは同じ関心を共有しているため、友人関係にあるユーザや同じグループに所属するユーザのコンテンツは、推薦コンテンツとして適切である。さらに、自分といくつかの同じ興味関心を共有する他のユーザを考えた場合、そのユーザは自分がまだ知らない、興味を持つであろう別の事柄について既に知っているかもしれない。そういった意味で自分と同じ興味関心をもつ他のユーザを探すことによってユーザは思わぬ良い情報を手に入れることができる可能性がある。
【０００４】
ユーザと似たユーザを見つける方法として、ユーザをベクトルで表現し、ユーザ間の類似度をベクトル間の角度の余弦の値で表すことにより、似たユーザを見つける方法が知られている。ユーザは自分の興味関心のあるグループに所属していると考えられるため、ユーザと似た興味関心を持つユーザを見つける場合には、ベクトルの各要素をグループへ対応させればよい。ユーザはグループ数ＮのＮ次元のベクトルで表現されて、各要素はそのグループへの所属の有無を１，０で表す。以上の方法で、容易に似た興味関心を持つユーザを発見することができる。
【０００５】
なお、利用者間における関心ある分野の類似度を、各単語に与えられたベクトル間の余弦で表すことにより、精度高く測定することができる類似度測定装置が提案されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開２００４−２４０５０５号公報（段落００２７−００２９）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上述した方法を用いた類似ユーザの発見では、通常似ていると判断されるべきものが、似ていると判断されないという問題がある。これは同じテーマのグループが複数存在してしまう場合に起こる問題である。例えば、グループ名が「Ｊａｖａ（登録商標）でプログラム」、「Ｊ２ＳＥ」、「Ｊａｖａ＆Ｅｃｌｉｐｓｅ」であるグループは、同じＪａｖａをテーマとしたグループと考えられる。このような場合に、Ａさんが「Ｊａｖａでプログラム」グループに所属して、Ｂさんが「Ｊ２ＳＥ」グループに所属する場合には、お互いＪａｖａに興味があるにも関わらず、上述した方法ではＡさんとＢさんは別の属性を持つと判断されてしまう。従って、Ａさんに似た興味を持つユーザを探しても、Ｂさんは見つからない。
【０００８】
また、上述した方法で得られる結果は、既知のユーザであったり、または容易に発見可能なユーザとなる可能性が高いという問題がある。一般的な方法で発見できる類似ユーザは、完全に自分と同じグループに所属する他のユーザである。自分と同じグループに所属するユーザは、比較的リンク関係が近く、既知であったり、グループをたどるだけで容易に発見できる場合が多い。
【０００９】
そこで、本発明は、同じテーマを扱うグループが複数存在する場合にも、正しく類似ユーザを発見できる類似ユーザ発見システム、類似ユーザ発見方法および類似ユーザ発見プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明による類似ユーザ発見システムは、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出手段と、グループを代表グループを用いて近似することにより、グループを基底とする第１のベクトル空間の元を代表グループを基底とする第２のベクトル空間に写像する変換行列を生成する変換行列生成手段と、ユーザのベクトル表現を示す第１のベクトル空間の元を、変換行列生成手段が生成した変換行列を用いて第２のベクトル空間の元に変換する変換手段と、変換手段が変換した第２のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算手段とを備えたことを特徴とする。
【００１１】
本発明による類似ユーザ発見方法は、ネットワーク上に接続された１つまたは複数の情報処理装置を備えた類似ユーザ発見システムに適用される類似ユーザ発見方法であって、類似ユーザ発見システムが備える情報処理装置のいずれかまたは複数により実現される代表グループ抽出手段が、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出ステップと、類似ユーザ発見システムが備える情報処理装置のいずれかまたは複数により実現される変換行列生成手段が、グループを代表グループを用いて近似することにより、グループを基底とする第１のベクトル空間の元を代表グループを基底とする第２のベクトル空間に写像する変換行列を生成する変換行列生成ステップと、類似ユーザ発見システムが備える情報処理装置のいずれかまたは複数により実現される変換手段が、ユーザのベクトル表現を示す第１のベクトル空間の元を、変換行列生成ステップで生成した変換行列を用いて第２のベクトル空間の元に変換する変換ステップと、類似ユーザ発見システムが備える情報処理装置のいずれかまたは複数により実現される類似度計算手段が、変換ステップで変換した第２のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算ステップとを含むことを特徴とする。
【００１２】
本発明による類似ユーザ発見プログラムは、コンピュータに、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出処理と、グループを代表グループを用いて近似することにより、グループを基底とする第１のベクトル空間の元を代表グループを基底とする第２のベクトル空間に写像する変換行列を生成する変換行列生成処理と、ユーザのベクトル表現を示す第１のベクトル空間の元を、変換行列生成処理で生成した変換行列を用いて第２のベクトル空間の元に変換する変換処理と、変換処理で変換した第２のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算処理とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、同じテーマを扱うグループが複数存在する場合にも、正しく類似ユーザを発見できるという効果がある。
【００１４】
また、本発明によれば、ユーザが既知である可能性が低い類似ユーザを発見することができる。複数の同一テーマを扱うグループを代表グループにより同一視できることによって、自分と同じようなテーマのグループに所属しているが、まったく同じではないグループに所属するユーザも発見することができるためである。
【発明を実施するための最良の形態】
【００１５】
まず、本発明の概要について図面を参照して説明する。図１は、本発明による類似ユーザ発見システムの最小の構成例を示すブロック図である。図１に例示する類似ユーザ発見システムは、代表グループ抽出手段１０１と、変換行列生成手段１０２と、変換手段２００と、類似度計算手段２０１とを備える。
【００１６】
代表グループ抽出手段１０１は、グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する。
【００１７】
変換行列生成手段１０２は、グループを代表グループを用いて近似することにより、グループを基底とする第１のベクトル空間の元を代表グループを基底とする第２のベクトル空間に写像する変換行列を生成する。
【００１８】
変換手段２００は、ユーザのベクトル表現を示す第１のベクトル空間の元を、変換行列生成手段１０２が生成した変換行列を用いて第２のベクトル空間の元に変換する。
【００１９】
類似度計算手段２０１は、変換手段２００が変換した第２のベクトル空間の元に基づいてユーザ間の類似度を計算する。
【００２０】
図１に示すように構成すれば、同じテーマを扱うグループが複数存在する場合にも、既知でない類似ユーザを正しく発見することができる。
【００２１】
本発明による類似ユーザ発見システムは、ユーザがグループに所属するソーシャルネットワーキングサービス等のシステムにおいて、あるユーザと類似するユーザを抽出するシステムである。本発明では、ユーザを、所属しているグループに特徴づけて表現する。グループはＮ個あるとして、それぞれ、グループ１，・・・，グループＮと名前をつけて参照するとする。
【００２２】
ユーザは、各グループを表す基底ベクトルｅ１，・・・，ｅＮで張られるＮ次元のベクトル空間ＵＮの元として表される（ただし、ｅｉはｉ番目の要素のみ１でその他は０）。すなわち、グループｊをＮ次元のベクトル空間ＵＮの基底ベクトルｅｊで表すと、ユーザは、所属しているグループを表す基底ベクトルの係数を１とし、所属していないグループを表す基底ベクトルの係数を０として、ベクトル空間ＵＮ上の元として表される。例えば、グループ１およびグループ３に所属しているユーザｕｓｒ１は、以下の式のように表される。
【００２３】
ｕｓｒ１＝１＊ｅ１＋０＊ｅ２＋１＊ｅ３＋０＊ｅ４＋・・・＋０＊ｅＮ
【００２４】
以下、ユーザのベクトル空間ＵＮ上の元としての表現、すなわち、ユーザのベクトル表現を示すベクトル空間ＵＮの元を、「ベクトル空間ＵＮのユーザ表現」と表記する場合がある。
【００２５】
このようにしてユーザをベクトル表現し、ベクトル表現を用いてユーザの類似度を計算すると、前述の異なるグループに所属するユーザは類似しないと判断されるという問題がおこる。主たる原因は、同じテーマを扱うグループが複数存在しているためである。
【００２６】
そこで、本発明では、グループの中からそれぞれのテーマの代表グループを選び出し、すべてのグループをそれらの代表グループのみによって表すことを考える。代表グループとは、例えば、同じテーマを扱う複数のグループを代表するグループである。こうすることにより、複数あった同じテーマを扱うグループは、関係する同一の代表グループによって表現されるようになる。そのため、第１の問題は起こらなくなり、異なるグループに所属するユーザであっても、類似度が正しく判断される。
【００２７】
また、第２の問題についても、同一テーマを扱う複数のグループを代表グループにより同一視できることによって、自分が所属するグループと同じようなテーマを扱っているがまったく同じではないグループに所属する人も発見できるため、得られるユーザが既知である可能性は低くなる。
【００２８】
代表グループ計算手段１１は、複数のグループの中から代表グループを見つけ出し（抽出し）、変換行列生成手段１２は、ユーザ（ベクトル空間ＵＮの元）を、通常のベクトル表現から代表グループを使ったベクトル表現に変換する変換行列を生成する。
【００２９】
まず、代表グループ計算手段１１がグループの中から代表グループを見つけ出す方法を説明する。本発明で扱うシステムにおけるグループは、関連するもの同士がリンクをもつ。関連するグループ同士が有するリンク構造にページランクアルゴリズムを適用する。
【００３０】
ページランク（例えば、http://infolab.stanford.edu/~backrub/google.html参照。）は、ページ間のリンクをランダムにたどるウェブサーファーがいたとき、無限にページ遷移を続けた場合に各ページにいる（参照している）確率を表している。グループ間のリンク構造にも、ウェブのリンク構造と同じく権威のあるグループへリンクが集まる性質があると考えることができる。そのため、グループのリンク関係にページランクアルゴリズムを適用する。
【００３１】
周辺に対し、確率が大きくなっている極大点を求め、極大点に対応するグループを、周辺のグループを代表するグループとしてみることができる。したがって、代表グループ計算手段１１は、グループのリンク構造にページランクアルゴリズムを適用して、極大点を求め、求めた極大点に対応するグループを代表グループとして抽出する。
【００３２】
次に、変換行列生成手段１２が変換行列を生成する方法を説明する。代表グループ計算手段１１がＭ個の代表グループを抽出したとして説明する。
【００３３】
代表グループについても、代表グループ１、．．．、代表グループＭと名前を付けて参照するとする。ベクトル空間ＵＮと同じように代表グループによってユーザを表現するベクトル空間ＵＭを定義する。ベクトル空間ＵＭは、各代表グループを表す基底ベクトルｆ１，・・・，ｆＭで張られるベクトル空間である（ただし、ｆｉはｉ番目の要素のみ１でその他は０）。すなわち、代表グループｉをＭ次元のベクトル空間ＵＭの基底ベクトルｆｉで表す。
【００３４】
ここでベクトル空間ＵＮからＵＭへの線形写像Ｔを考える。この線形写像Ｔは、以下のようにして定義され、ユーザ（ベクトル空間ＵＮの元）をベクトル空間ＵＮからベクトル空間ＵＭへマップ（写像）する。以下の式は、線形写像Ｔによって写像されたベクトル空間ＵＮ上の基底ベクトルｅ１，・・・，ｅＮ（グループ）が、ベクトル空間ＵＭ上の基底ベクトルｆ１，・・・，ｆＭ（代表グループ）で表されることを示す。
【００３５】
Ｔ（ｅ１）＝ａ１１ｆ１＋ａ２１ｆ２＋・・・＋ａＭ１ｆＭ      （１−１）
・・・
Ｔ（ｅＮ）＝ａ１Ｎｆ１＋ａ２Ｎｆ２＋・・・＋ａＭＮｆＭ      （１−Ｎ）
【００３６】
数式（１−１）は、グループ１を代表グループ１から代表グループＭで近似することを意味している。近似には一次近似、二次近似、…といった近似の度合いが考えられる。一次近似の場合には、最もリンク関係が近い（つまり最短で到達できるステップ数が最も小さい）代表グループの係数のみ非ゼロ（０以外の値）が割り当てられ、その他の代表グループには０が割り当てられる。同じように、二次近似の場合には２番目に近い代表グループの係数までが非ゼロであり、その他の代表グループの係数は０である。近似の度合いは、本発明による類似ユーザ発見システムのパラメータである。近似の次数はあまり大きくなると、関係のないグループ同士が関連を持つようになってしまう。そのため、近似の度合いは低次でそのシステムにより最適なものを選ぶとする。
【００３７】
ａｉｊの意味は、グループｊと代表グループｉとのリンク上の関係度合いを表す数値である。グループｊと代表グループｉとの関係が近いほど大きい値になり、関係がなければ値はゼロになるとする。例えば、ａｉｊの値は、１／（ｌｉｊ＋１）＾２（ただし、ｌｉｊはグループｊから代表グループｉへの最短ステップ数）などの式を用いて算出することができる。すなわち、１／（ｌｉｊ＋１）＾２を計算することにより、各グループを代表グループで近似することができる。なお、この式は例示に過ぎず、この式に限られるものではない。
【００３８】
次に、行列Ａを以下のように定義する。
【００３９】
Ａ＝（ａｉｊ）
【００４０】
行列Ａは、基底ｅ１，・・・，ｅＮと基底ｆ１，・・・，ｆＭに関する線形写像Ｔの表現行列となる。ベクトル空間ＵＮのユーザの表現に、行列Ａをかけることによって、ベクトル空間ＵＭのユーザ表現に容易に変換可能である。変換行列生成手段１２は、行列Ａを計算によって求め、変換行列記憶部３２に保存する。
【００４１】
以上に説明したように、ユーザの表現を、変換行列Ａを使って代表グループによる表現に変換した後に、類似度を計算することによって、既知でない類似ユーザを正しく発見することができる。
【００４２】
次に、本発明による第２の類似ユーザ発見システムについて説明する。
【００４３】
一般に、あるユーザと類似するユーザを見つける場合、計算量が大きくなる。その理由は、ユーザとその他すべてのユーザとの類似度を計算しなければならないからである。あるユーザと似たユーザを探すには、あるユーザと、その他のすべてのユーザとの類似度の計算をしなければならない。本発明においては、ベクトル空間ＵＮ上のユーザ表現を、一度ベクトル空間ＵＭ上へ変換してから比較しなければならない。そのため、通常の場合よりさらに計算量が増えることになり、計算量の削減は重要である。本発明では、まず類似する可能性のあるユーザを絞りこみ、絞り込んだユーザとだけ類似度を計算することにより計算量を削減する。以下、類似する可能性のあるユーザの絞りこみ方法を説明する。
【００４４】
ベクトル空間ＵＮ上のあるユーザの表現ｕｓｒｉと類似する他ユーザを求めることを考える。まず、ｕｓｒｉをベクトル空間ＵＭ上の表現ｕｓｒｉ’に変換行列Ａを用いて変換する。
【００４５】
ｕｓｒｉ’＝Ａ＊ｕｓｒｉ＝Ａ＊（ｕ１ｅ１＋ｕ２ｅ２＋・・・＋ｕＮｅＮ）＝ｕ’１ｆ１＋ｕ’２ｆ２＋・・・＋ｕ’ＭｆＭ）
【００４６】
ここで、ｕ’１，・・・，ｕ’Ｍの値を考える。ｕ’１，・・・，ｕ’Ｍは、ベクトル空間ＵＭの各基底ベクトルの係数である。ｕ’１，・・・，ｕ’Ｍの値は、ユーザが所属しているグループを代表グループで近似した値である。ユーザが所属しているグループがすべてのテーマにわたっている場合を除いて、一般的にｕ’１，・・・，ｕ’Ｍのうちのいくつかは値が０となる。これは、係数の値が０となった代表グループ（係数が０である基底ベクトルが示す代表グループ）と関連があるグループにユーザが所属していないことを表す。また逆に、係数が非ゼロの値の場合には、代表グループと何らかの関わりがあるグループに、ユーザが所属していることを表している。
【００４７】
ここで、係数が非ゼロの値の代表グループに着目する。あるユーザｉと類似するユーザは、ユーザｉが所属しているグループが扱うテーマに関係のあるグループに、少なくとも１つは所属しているべきである。したがって、ユーザｉと類似するユーザを見つける場合には、ベクトル空間ＵＭのユーザ表現に変換したときに、ユーザｉが非ゼロのベクトル成分について、少なくとも１つは同様に非ゼロである必要がある。すなわち、ユーザｉについてのベクトル空間ＵＭのユーザ表現における０以外の成分のうちの少なくとも１つに対応する成分が、類似するユーザについてのベクトル空間ＵＭのユーザ表現において、０以外である必要がある。
【００４８】
以上の条件を満たす（あるユーザと類似するユーザを表す）ベクトル空間ＵＮ上のベクトルを類似候補ベクトルと呼ぶとする。これらの類似候補ベクトルは、変換行列Ａに基づいて容易に求めることができる。
【００４９】
あるユーザｉのベクトル空間ＵＭのユーザ表現で非ゼロの成分の行がｒ１行，・・・，ｒｎ行だった場合、変換行列Ａのｒ１行，・・・，ｒｎ行のすべての行ベクトルを足し合わせ、行ベクトルＲを生成する。以下、このベクトルＲのことを類似候補マスクと呼ぶとする。
【００５０】
この行ベクトル（類似候補マスク）の非ゼロの列がｃ１列，・・・，ｃｍ列の時、ベクトル空間ＵＮのベクトルが類似候補ベクトルである必要十分条件は、ｃ１行，・・・，ｃｍ行に少なくとも１つは非ゼロの値があることである。従って、ユーザの集合の中から類似する可能性のあるユーザを絞り込むには、変換行列Ａから類似候補マスクを求め、その非ゼロの列に対応する行（成分）のうちの少なくとも１行が非ゼロであるベクトルで表されるユーザを求めればよい。後述する図６に示す候補検索手段６１は、上述した処理によって、ユーザを類似する可能性のあるユーザに絞り込む。以上に説明した方法により、計算量の削減が実現される。
【００５１】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。図２は、第１の実施形態の類似ユーザ発見システムの構成例を示すブロック図である。図２を参照すると、本発明の第１の実施形態による類似ユーザ発見システムは、プログラム制御により動作する変換行列生成装置１と、類似度計算装置２と、情報を記憶する記憶装置３と、ネットワークインターフェースやキーボードなどで実現される入力装置４と、ネットワークインターフェースやディスプレイ装置や印刷装置などで実現される出力装置５とを含む。なお、類似ユーザ発見システムは、具体的には、プログラムにしたがって動作するパーソナルコンピュータ等の情報処理装置によって実現される。
【００５２】
記憶装置３は、グループ情報記憶部３１と、変換行列記憶部３２と、ユーザ情報記憶部３３とを備えている。
【００５３】
グループ情報記憶部３１は、グループの情報とグループ間のリンク情報とを記憶する。グループ間のリンク情報とは、例えば、グループ間のリンク関係を示す情報であって、代表グループ計算手段１１が使用する情報である。グループの情報は、例えば、各グループのランクを示す情報であって、代表グループ計算手段１１が記憶させる情報である。なお、グループ情報記憶部３１が記憶する情報は、例えば、システム管理者によって予め登録され、更新される。
【００５４】
変換行列記憶部３２は、変換行列生成装置１が生成した変換行列と、変換行列生成時のグループおよび代表グループを示す情報とを記憶する。変換行列生成時のグループを示す情報とは、例えば、変換行列生成の対象となるグループ、すなわち、ベクトル空間ＵＮの基底ベクトルで表されるグループを示す情報である。変換行列生成時の代表グループを示す情報とは、例えば、変換行列生成の対象となる代表グループ、すなわち、ベクトル空間ＵＭの基底ベクトルで表される代表グループを示す情報である。
【００５５】
ユーザ情報記憶部３３は、例えば、ユーザの情報と、グループ所属情報とを記憶する。ユーザの情報は、例えば、ユーザを識別可能な情報と、ベクトル空間ＵＮ上の表現とを含む情報である。
【００５６】
変換行列生成装置１は、代表グループ計算手段１１と、変換行列生成手段１２とを備える。代表グループ計算手段１１は、グループ情報記憶部３１が記憶しているグループ間のリンク情報をもとに、ページランクアルゴリズムを使い代表グループを求める。また、変換行列生成手段１２は、すべてのグループを代表グループによって表現することにより変換行列Ａを求め、変換行列記憶部３２に記憶させる。また、変換行列生成手段１２は、この時点でのグループと代表グループについても合わせて変換行列記憶部３２に記憶させる。
【００５７】
類似度計算装置２は、類似度計算手段２１を備える。類似度計算手段２１は、入力ユーザの表現と、比較対象のユーザの表現とを、それぞれベクトル空間ＵＮ上でのユーザ表現からベクトル空間ＵＭ上でのユーザ表現へ変換し、類似度を計算する。
【００５８】
次に、図面を参照して、第１の実施形態の動作について説明する。図３は、第１の実施形態の動作を示すフローチャートである。
【００５９】
変換行列生成装置１と類似度計算装置２とは、独立して動作する装置である。変換行列生成装置１は、グループ情報記憶部３１に変更があると変換行列の計算をし直し、変換行列記憶部３２に記憶させることを繰り返す。類似度計算装置２は、変換行列記憶部３２に記憶された変換行列を用いて類似度の計算を行う。
【００６０】
まず、変換行列生成装置１の動作を説明する。図３（ａ）は、変換行列生成装置１の動作を示すフローチャートである。なお、変換行列生成装置１は、例えば、グループ情報記憶部３１が記憶する情報が更新されたことを検出したことに基づいて、以下に示す変換行列生成処理を実行する。また、変換行列生成装置１は、以下に示す変換行列生成処理を、例えば所定期間毎に繰り返し実行し、変換行列を随時更新してもよい。
【００６１】
代表グループ計算手段１１は、グループ情報記憶部３１からグループのリンク関係（グループ間のリンク情報）を取得し、ページランクアルゴリズムを用いてグループにランク付けを行う。次に、代表グループ計算手段１１は、リンク元またはリンク先のグループのランクより高いランクを持つグループを選び、代表グループとする（ステップＳ１１）。
【００６２】
図４は、各グループのランクを示す情報の例を示す説明図である。図４において、丸で囲まれた数字は、各グループを示す。また、グループ間の矢印は、グループ間のリンク関係を示す。例えば、図４に示すようなグループ間のリンク関係がある場合、代表グループ計算手段１１は、各グループのランクとして、各ノード（グループ）の下に示す値を算出する（ただし、リンクの遷移確率は等確率としてページランクアルゴリズムのパラメータに０．８５を使い計算）。代表グループ計算手段１１は、算出したランクが高いグループを所定の個数選択し、代表グループとして決定する。図４に示す例では、代表グループ計算手段１１は、グループ３とグループ８とを代表グループとして決定する。
【００６３】
次に、計算された代表グループは変換行列生成手段１２へ供給される。具体的には、代表グループ計算手段１１が、決定した代表グループを示す情報をグループ情報記憶部３１に記憶させ、変換行列生成手段１２が、グループ情報記憶部３１に記憶された代表グループを示す情報を抽出する。
【００６４】
変換行列生成手段１２は、すべてのグループを代表グループで表すことによって変換行列Ａを生成する。具体的には、まず、変換行列生成手段１２は、式（１−１），・・・，式（１−Ｎ）の係数ａｉｊを決定する。第１の実施形態では、一次近似を用い、係数ａｉｊの式に１／（ｌｉｊ＋１）＾２を使用する。すなわち、変換行列生成手段１２は、１／（ｌｉｊ＋１）＾２を計算することにより、係数ａｉｊを算出する。ここで、ｌｉｊは、例えばグループｊから代表グループｉへの最短ステップ数である。ただし、係数ａｉｊを算出するための式は例示に過ぎず、これに限られるものではない。
【００６５】
図４に示す例において算出した係数ａｉｊを適用すると、式（１−１），・・・，式（１−Ｎ）は以下のようになる。
【００６６】
Ｔ（ｅ１）＝１／９＊ｆ１＋０＊ｆ２
Ｔ（ｅ２）＝１／４＊ｆ１＋０＊ｆ２
Ｔ（ｅ３）＝１＊ｆ１＋０＊ｆ２
Ｔ（ｅ４）＝１／４＊ｆ１＋０＊ｆ２
Ｔ（ｅ５）＝１／４＊ｆ１＋０＊ｆ２
Ｔ（ｅ６）＝１／９＊ｆ１＋１／９＊ｆ２
Ｔ（ｅ７）＝０＊ｆ１＋１／４＊ｆ２
Ｔ（ｅ８）＝０＊ｆ１＋１＊ｆ２
Ｔ（ｅ９）＝０＊ｆ１＋１／４＊ｆ２
Ｔ（ｅ１０）＝０＊ｆ１＋１／４＊ｆ２
【００６７】
式（１−１），・・・，式（１−Ｎ）における基底ベクトルの係数を行列表現にしたものが変換行列Ａである。すなわち、変換行列生成手段１２は、算出した係数ａｉｊに基づいて変換行列Ａを生成する。図５は、変換行列Ａの例を示す説明図である。変換行列生成手段１２は、生成した変換行列と、変換行列を求めるのに使用したグループと代表グループとを示す情報を変換行列記憶部３２に記憶させる（ステップＳ１２）。
【００６８】
次に、類似度計算装置２の動作について説明する。図３（ｂ）は、類似度計算装置２の動作を示すフローチャートである。なお、類似度計算装置２は、例えば、ユーザによる類似度計算の実行指示操作が行われたことをトリガとして、以下に示す類似度計算処理を実行する。
【００６９】
類似度計算装置２の入力は、入力装置４から与えられるユーザのベクトル空間ＵＮ上でのユーザ表現である。すなわち、類似度計算手段２１は、ベクトル空間ＵＮ上のユーザ表現を入力装置４から入力する。類似度計算手段２１は、入力したベクトル空間ＵＮ上でのユーザ表現に変換行列Ａをかけることによって、ベクトル空間ＵＭ上のユーザ表現に変換し、その他のユーザについても同様に変換する。具体的には、類似度計算手段２１は、ベクトル空間ＵＮの元を変換行列を用いてベクトル空間ＵＭの元に変換する。
【００７０】
次に、類似度計算手段２１は、それぞれのユーザ間の類似度を、ベクトル空間ＵＭ上のユーザ表現に基づいて計算する（ステップＳ２１）。第１の実施形態では、類似度の計算にベクトル間の角度の余弦の値を用いる。なお、類似度の計算に余弦の値を用いる方法は例示に過ぎずこの方法に限定するものではない。他にもベクトル間の距離を用いる方法など、さまざまな方法が適用可能である。
【００７１】
最後に、類似度計算手段２１は、ステップＳ２１で求めたそれぞれのグループ（ユーザの集合）に対する類似度を、類似度が高い順に出力装置５に出力する（ステップＳ２２）。
【００７２】
ここで例として、図４に示すグループ間のリンク関係がある場合の類似度計算手段２１の動作を説明する。以下、ユーザ１とユーザ２との類似度、ユーザ１とユーザ３との類似度を余弦の値を使い具体的に計算して、ユーザ１に類似するユーザを抽出する場合について説明する。
【００７３】
ユーザ１はグループ３と６に所属し、ユーザ２はグループ２と４に所属し、ユーザ３はグループ９と１０に所属しているとする。この場合、ユーザ１，２，３のベクトル空間ＵＮ上の表現はそれぞれ、[0; 0; 1; 0; 0; 1; 0; 0; 0; 0]、 [0; 1; 0; 1; 0; 0; 0; 0; 0; 0]、[0; 0; 0; 0; 0; 0; 0; 0; 1; 1]である（以下、列ベクトルを[a; b; c]と表記し、行ベクトルを[a, b, c]と表記する。）。
【００７４】
類似度計算手段２１は、ユーザ１，２，３のベクトル空間ＵＮ上の表現に、図５に例示する変換行列をかけることにより、ベクトル空間ＵＭ上での表現[10/9; 1/9]、[1/2; 0]、[0; 1/2]を得る。類似度計算手段２１は、算出したベクトル空間ＵＭ上でのユーザ表現を使い、余弦の値を求める。例えば、ユーザ１とユーザ２とのベクトル間の角度の余弦の値は０．９９５であり、ユーザ１とユーザ３とのベクトル間の角度の余弦の値は０．０９９５となる。最後に、類似度計算手段２１は、類似度を算出したグループ（ユーザ間）を識別する値と、類似度の値とを類似度が高い順に出力装置５へ出力する。この例では、ユーザ２、ユーザ３の順に類似度の値を出力装置５に出力する。
【００７５】
次に、第１の実施形態の効果について説明する。第１の実施形態では、グループの中からそれぞれのテーマの代表グループを選び出し、代表グループによってすべてのグループを表現することにより、複数あった同じテーマのグループは関係する同一の代表グループによって表現されるようになる。従って、同じテーマを扱うグループが複数ある場合にも類似度の計算を正しく行うことができる。
【００７６】
また、類似ユーザを発見する一般的な方法で得られる結果は、既知のユーザであったり、または容易に発見可能なユーザとなる可能性が高いという問題がある。一般的な方法で発見できる類似ユーザは、完全に自分と同じグループに所属する他のユーザである。自分と同じグループに所属するユーザは、比較的リンク関係が近く、既知であったり、グループをたどるだけで容易に発見できる場合が多い。これに対して、第１の実施形態では、複数の同一テーマを扱うグループを代表グループにより同一視できることによって、自分と同じようなテーマのグループに所属しているが、まったく同じではないグループに所属するユーザも発見することができる。従って、ユーザが既知である可能性が低い類似ユーザを発見することができる。
【００７７】
なお、上記の第１の実施形態では、類似度計算手段２１がベクトルすべての次元（成分）を用いて余弦の値を計算する場合を例示したが、変形例として、以下の方法が考えられる。例えば、類似度計算手段２１は、類似度計算手段２１に入力された所定のユーザのユーザ表現を変換行列により変換したベクトルの非ゼロの次元（成分）のみを使って、類似度を計算してもよい。こうすることによって、入力ユーザ（所定のユーザ）の関心がある部分でのみ、他のユーザと比較ができるため精度があがることが期待できる。
【００７８】
また、上記の第１の実施形態では、記憶装置３がグループ情報記憶部３１、変換行列記憶部３２、ユーザ情報記憶部３３を備えるものとして説明を行ったが、ネットワークに接続された別装置が、グループ情報記憶部３１およびユーザ情報記憶部３３を備えている構成でもよい。また、他の機能手段についても、実質的に上記の各機能手段がネットワーク上に接続された装置のいずれかまたは複数により実現されていればよく、どの装置がどの機能手段を備えるかという点は、上記構成に限られるものではない。
【００７９】
実施形態２．
本発明の第２の実施形態の構成について説明する。図６は、第２の実施形態の類似ユーザ発見システムの構成例を示すブロック図である。図６に示すように、第２の実施形態における類似ユーザ発見システムは、類似度計算装置６が、図２に示す類似度計算装置２の構成に加え、候補検索手段６１を有する点で異なる。第１の実施形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
【００８０】
第２の実施形態における類似度計算装置６は、候補検索手段６１と、類似度計算手段２１とを含む。候補検索手段６１は、入力されたユーザと類似する可能性のあるユーザの絞り込みを行う。その後、類似度計算手段２１は、候補検索手段６１によって絞り込まれたユーザとのみ類似度を計算して結果を出力装置５へ出力する。
【００８１】
次に、第２の実施形態の動作について説明する。図７は、第２の実施形態の動作を示すフローチャートである。図７（ａ）は、変換行列生成装置１の動作を示すフローチャートである。図７（ｂ）は、類似度計算装置６の動作を示すフローチャートである。第１の実施形態と同様の動作については、図３と同一の符号を付し、詳細な説明を省略する。
【００８２】
第２の実施形態における類似度計算装置６は、候補検索手段６１が類似度を計算する対象を絞りこみ、絞り込まれた対象だけと類似度を計算する点で第１の実施形態と異なる。
【００８３】
候補検索手段６１は、入力として入力装置４からベクトル空間ＵＮ上のユーザ表現ｕｓｒを受け取る。候補検索手段６１は、変換行列記憶部３２から取得した変換行列Ａとベクトルｕｓｒを掛け合わせることにより、ベクトル空間ＵＮ上のユーザ表現ｕｓｒをベクトル空間ＵＭ上での表現ｕｓｒ’に変換する。
【００８４】
次に、候補検索手段６１は、ｕｓｒ’の非ゼロの行（成分）に対応する変換行列Ａの行（行ベクトル）を、すべて足しあわせ、類似候補マスクを生成する。
【００８５】
ベクトル空間ＵＮ上の元として表現されたユーザの集合から、類似する可能性のあるユーザを絞り込むために、候補検索手段６１は、類似候補マスクの非ゼロの次元（成分）と対応する部分（行（成分））に、少なくとも１つは非ゼロの値があるかどうかを調べることによって、絞り込みを行う。そして、候補検索手段６１は、絞り込みを行った結果を類似度計算手段２１へ供給（出力）する（ステップＳ３１）。
【００８６】
類似度計算手段２１は、候補検索手段６１が抽出したユーザのベクトル空間ＵＮ上の表現を入力し、ベクトル空間ＵＭ上のユーザ表現に変換する。類似度計算手段２１は、ユーザ４と、候補検索手段６１が抽出したユーザとの間の類似度を、ベクトル空間ＵＭ上のユーザ表現に基づいて計算し（ステップＳ２１）、類似度が高い順に出力装置５に出力する（ステップＳ２２）。
【００８７】
ここで、具体例を使って候補検索手段６１の動作を説明する。図４に示すグループ間のリンク関係がある場合に、グループ２，４，５に所属するユーザ４に類似するユーザを見つけるとする。
【００８８】
ユーザ４のベクトル空間ＵＮ上の表現（ｕｓｒ４）は[0; 1; 0; 1; 1; 0; 0; 0; 0; 0]である。これに変換行列Ａ（図５参照。）をかけて、ベクトル空間ＵＭ上の表現（ｕｓｒ４’）に変換すると、[3/4; 0]となる。よって、ｕｓｒ４’の非ゼロの行は第１行である。第１行のみであるため、変換行列Ａの行ベクトルの足し合わせは不要であり、変換行列Ａの第１行が類似候補マスクとなる。すなわち、類似候補マスクは、[1/9; 1/4; 1; 1/4; 1/4; 1/9; 0; 0; 0; 0]となる。
【００８９】
類似候補マスクの非ゼロの列は、第１列から第６列である。従って、ユーザ４と類似する可能性があるユーザは、ベクトル空間ＵＮ上の表現における第１行から第６行に、少なくとも１つは非ゼロの値があるユーザとなる。候補検索手段６１は、この条件を満たすユーザをユーザ情報記憶部３３から抽出し、類似度計算手段２１へ供給（出力）する。
【００９０】
次に、第２の実施形態の効果について説明する。一般に、あるユーザと類似するユーザを見つける場合、計算量が大きくなる。その理由は、ユーザとその他すべてのユーザとの類似度を計算しなければならないからである。これに対して、第２の実施形態では、変換行列Ａから求めた類似候補マスクによって、類似する可能性のあるユーザを絞りこみ、絞り込んだユーザとだけ類似度の計算を行うため、類似度の計算において、計算量を減らすことができる。すなわち、第１の実施形態と異なり、候補検索手段６１が類似する可能性のあるユーザを絞り込むため、類似度計算手段２１において類似度を計算する数を削減することができる。
【００９１】
次に、第２の実施形態の変形例を説明する。変形例では、絞り込みに、ユーザＡに類似するユーザは、ユーザＡが関係していない代表グループには同じく関係していないという事実を利用する。この考えに基づいて、ユーザＡのベクトル空間ＵＭ上の表現（ｕｓｒＡ’）におけるゼロの行に注目する。候補検索手段６１は、ｕｓｒＡ’におけるゼロの行に対応する変換行列の行を足し合わせ、類似候補マスクを生成する。
【００９２】
変形例における類似候補マスクを用いて類似候補を選ぶ場合、候補検索手段６１は、類似候補マスクの非ゼロの要素（列）と対応する部分（行）が０であるユーザを選ぶ。こうすることによって、類似度を計算する対象を、ユーザＡが興味のないものには同じく興味のない人に絞り込むことができる。
【００９３】
なお、上記に示した実施形態では、以下の（１）〜（５）に示すような特徴的構成を備えた類似ユーザ発見システムが示されている。
【００９４】
（１）グループ間のリンク関係を示す情報に基づいて、所定のグループを代表する代表グループを抽出する代表グループ抽出手段（例えば、代表グループ計算手段１１で実現される）と、グループを代表グループを用いて近似することにより、グループを基底とする第１のベクトル空間の元を代表グループを基底とする第２のベクトル空間に写像する変換行列を生成する変換行列生成手段（例えば、変換行列生成手段１２で実現される）と、ユーザのベクトル表現を示す第１のベクトル空間の元を、変換行列生成手段が生成した変換行列を用いて第２のベクトル空間の元に変換する変換手段（例えば、類似度計算手段２１で実現される）と、変換手段が変換した第２のベクトル空間の元に基づいてユーザ間の類似度を計算する類似度計算手段（例えば、類似度計算手段２１で実現される）とを備えることを特徴とした類似ユーザ発見システム。
【００９５】
（２）類似度計算手段は、所定のユーザのベクトル表現を示す第２のベクトル空間の元のうちゼロ以外の成分のみを用いて類似度を計算する類似ユーザ発見システム。そのように構成された類似ユーザ発見システムは、所定のユーザの関心がある部分のみを対象として他のユーザとの類似度を比較することができる。
【００９６】
（３）変換手段が変換した所定のユーザのベクトル表現を示す第２のベクトル空間の元のゼロ以外の成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分のうち少なくとも１つがゼロ以外である第１のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する候補抽出手段（例えば、候補検索手段６１で実現される）を備え、変換手段は、候補抽出手段が抽出した類似候補ユーザのベクトル表現を示す第１のベクトル空間の元を第２のベクトル空間の元に変換し、類似度計算手段は、変換手段が変換した第２のベクトル空間の元に基づいて、所定のユーザと類似候補ユーザとの間の類似度を計算する類似ユーザ発見システム。そのように構成された類似ユーザ発見システムは、あらかじめ類似する可能性のあるユーザを絞り込むため、類似度計算手段の処理を削減することができる。
【００９７】
（４）候補抽出手段は、変換手段が変換した所定のユーザのベクトル表現を示す第２のベクトル空間の元のゼロの成分に対応する変換行列の行に基づいて類似候補マスクを生成し、生成した類似候補マスクのゼロ以外の成分と対応する成分がゼロである第１のベクトル空間の元を、類似候補ユーザのベクトル表現として抽出する類似ユーザ発見システム。そのように構成された類似ユーザ発見システムは、関係していない代表グループが同一のユーザを類似候補として抽出することができる。
【００９８】
（５）変換行列生成手段が生成した変換行列を記憶する変換行列記憶部を備えた類似ユーザ発見システム。
【産業上の利用可能性】
【００９９】
本発明は、グループ間にリンク関係があるシステムにおいて、あるユーザに類似するユーザを発見するために効果的に適用できる。
【図面の簡単な説明】
【０１００】
【図１】本発明による類似ユーザ発見システムの最小の構成例を示すブロック図である。
【図２】第１の実施形態の類似ユーザ発見システムの構成例を示すブロック図である。
【図３】第１の実施形態の動作を示すフローチャートである。
【図４】各グループのランクを示す情報の例を示す説明図である。
【図５】変換行列Ａの例を示す説明図である。
【図６】第２の実施形態の類似ユーザ発見システムの構成例を示すブロック図である。
【図７】第２の実施形態の動作を示すフローチャートである。
【符号の説明】
【０１０１】
１０１  代表グループ抽出手段
１０２  変換行列生成手段
２００  変換手段
２０１  類似度計算手段
【図１】
0005364996.tif 000002
【図２】
0005364996.tif 000003
【図３】
0005364996.tif 000004
【図４】
0005364996.tif 000005
【図５】
0005364996.tif 000006
【図６】
0005364996.tif 000007
【図７】
0005364996.tif 000008