(57)【要約】【課題】間接的な人間関係を考慮し、かつ、扱う人物数の割には少ない計算量で、任意の人物にとっての重要人物を検索することを課題とする。【解決手段】本発明は、複数の人物に関して、任意の二者間の人間関係の有無を表す人間関係情報と、各人物が持つ趣味を表す趣味情報とから、任意の人物にとっての重要人物を検索する重要人物検索装置１００である。中心ＩＤ人間ランク計算部２００は、マルコフ過程を表す所定の漸化式（式（１））を用いて、人間関係情報に基づく中心人物にとっての他の人物ごとの重要度を示す人間ランクを計算する。中心ＩＤ趣味ベクトル格納部３００は、趣味情報から、趣味ベクトルを作成する。そして、中心ＩＤ人間ランク趣味結合スコア計算部４００は、人間ランクと趣味ベクトルを所定の人間関係スコア計算式（式（２））に適用することで、中心人物に対する他の人物の人間関係スコアを計算する。【選択図】図１
2010277480.tif 000002
【特許請求の範囲】
【請求項１】
複数の人物に関して、任意の二者間の人間関係の有無を表す人間関係情報と、各人物が持つ趣味を表す趣味情報とから、任意の人物にとっての重要人物を検索する重要人物検索装置による重要人物検索方法であって、
前記重要人物検索装置は、
前記人間関係情報および前記趣味情報を記憶する記憶部と、
前記記憶部に記憶された前記人間関係情報および前記趣味情報を用いて、任意の人物にとっての他の人物の重要度を示す人間関係スコアを計算して、前記人間関係スコアを前記記憶部に格納する人間関係スコア計算部と、
任意の人物の識別情報の入力を受け付けた場合に、前記記憶部から、当該人物に対する他の人物の人間関係スコアを取得する人間関係スコア取得部と、
前記人間関係スコア取得部が取得した人間関係スコアを表示する結果表示部と、を有しており、
前記人間関係スコア計算部において、
人間ランク計算部は、
所定の人物を中心人物とし、前記記憶部に記憶された人間関係情報を参照して、前記中心人物および前記中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物を「０」以外の値で表し、それ以外の人物を「０」で表す人物集合行列を作成し、
前記中心人物と、前記中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物それぞれとの、前記人間関係情報に基づく前記中心人物にとっての重要度を示す人間ランクを構成要素とする人間ランクベクトルについて、所定の初期ベクトルを作成し、
前記中心人物と、前記中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物それぞれとの、前記中心人物からの信用度の割合を構成要素とするパーソナライズドベクトルを作成し、
前記中心人物からの前記中心人物以外の人物に対する信頼度を示す第１の係数を前記人物集合行列と前記人間ランクベクトルとの積に乗算し、前記中心人物からの前記中心人物自身に対する信頼度を示す第２の係数を前記パーソナライズドベクトルに乗算し、それらの乗算した２つのベクトルを加算することで前記人間ランクベクトルを更新するマルコフ過程に基づく所定の漸化式に対して、前記人物集合行列と、前記人間ランクベクトルの初期ベクトルと、前記パーソナライズドベクトルと、を適用して所定回数計算することで、前記人間ランクを構成要素とする人間ランクベクトルを計算し、
共通趣味情報作成部は、
前記記憶部に記憶された趣味情報を参照して、前記中心人物に関して、他の人物それぞれとの趣味の共通の数を計算し、前記中心人物に関する趣味の数と、前記中心人物と共通の趣味を有する人物ごとの前記共通の趣味の数とを示す共通趣味情報を作成し、
人間ランク趣味結合部は、
前記他の人物ごとに、前記人間ランクの重視度を示す第３の係数を、前記計算した人間ランクベクトルにおける当該他の人物の人間ランクに乗算し、趣味の共通性の重視度を示す第４の係数を、前記共通趣味情報に基づいて算出した、前記中心人物と前記中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物全体との趣味の共通性の度合いを示す値に、乗算し、それらの乗算した２つの値を加算した値を前記人間関係スコアとする所定の人間関係スコア計算式に対して、前記人間ランクと、前記共通趣味情報とを適用して計算することで、前記中心人物に対する当該他の人物の人間関係スコアを計算する
ことを特徴とする重要人物検索方法。
【請求項２】
前記人物集合行列は、隣接行列または遷移行列であることを特徴とする請求項１に記載の重要人物検索方法。
【請求項３】
前記人間関係スコア計算部は、前記趣味ベクトルにおける前記共通の趣味の数のうち大きいほうから所定数分を、前記所定の人間関係スコア計算式に適用することを特徴とする請求項１に記載の重要人物検索方法。
【請求項４】
複数の人物に関して、任意の二者間の人間関係の有無を表す人間関係情報と、各人物が持つ趣味を表す趣味情報とから、任意の人物にとっての重要人物を検索する重要人物検索装置であって、
前記人間関係情報および前記趣味情報を記憶する記憶部と、
前記記憶部に記憶された前記人間関係情報および前記趣味情報を用いて、任意の人物にとっての他の人物の重要度を示す人間関係スコアを計算して、前記人間関係スコアを前記記憶部に格納する人間関係スコア計算部と、
任意の人物の識別情報の入力を受け付けた場合に、前記記憶部から、当該人物に対する他の人物の人間関係スコアを取得する人間関係スコア取得部と、
前記人間関係スコア取得部が取得した人間関係スコアを表示する結果表示部と、を有しており、
前記人間関係スコア計算部は、
所定の人物を中心人物とし、前記記憶部に記憶された人間関係情報を参照して、前記中心人物および前記中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物を「０」以外の値で表し、それ以外の人物を「０」で表す人物集合行列を作成し、
前記中心人物と、前記中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物それぞれとの、前記人間関係情報に基づく前記中心人物にとっての重要度を示す人間ランクを構成要素とする人間ランクベクトルについて、所定の初期ベクトルを作成し、
前記中心人物と、前記中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物それぞれとの、前記中心人物からの信用度の割合を構成要素とするパーソナライズドベクトルを作成し、
前記中心人物からの前記中心人物以外の人物に対する信頼度を示す第１の係数を前記人物集合行列と前記人間ランクベクトルとの積に乗算し、前記中心人物からの前記中心人物自身に対する信頼度を示す第２の係数を前記パーソナライズドベクトルに乗算し、それらの乗算した２つのベクトルを加算することで前記人間ランクベクトルを更新するマルコフ過程に基づく所定の漸化式に対して、前記人物集合行列と、前記人間ランクベクトルの初期ベクトルと、前記パーソナライズドベクトルと、を適用して所定回数計算することで、前記人間ランクを構成要素とする人間ランクベクトルを計算する人間ランク計算部と、
前記記憶部に記憶された趣味情報を参照して、前記中心人物に関して、他の人物それぞれとの趣味の共通の数を計算し、前記中心人物に関する趣味の数と、前記中心人物と共通の趣味を有する人物ごとの前記共通の趣味の数とを示す共通趣味情報を作成する共通趣味情報作成部と、
前記他の人物ごとに、前記人間ランクの重視度を示す第３の係数を、前記計算した人間ランクベクトルにおける当該他の人物の人間ランクに乗算し、趣味の共通性の重視度を示す第４の係数を、前記共通趣味情報に基づいて算出した、前記中心人物と前記中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物全体との趣味の共通性の度合いを示す値に、乗算し、それらの乗算した２つの値を加算した値を前記人間関係スコアとする所定の人間関係スコア計算式に対して、前記人間ランクと、前記共通趣味情報とを適用して計算することで、前記中心人物に対する当該他の人物の人間関係スコアを計算する人間ランク趣味結合部と、
を備えることを特徴とする重要人物検索装置。
【請求項５】
前記人物集合行列は、隣接行列または遷移行列であることを特徴とする請求項４に記載の重要人物検索装置。
【請求項６】
前記人間関係スコア計算部は、前記趣味ベクトルにおける前記共通の趣味の数のうち大きいほうから所定数分を、前記所定の人間関係スコア計算式に適用することを特徴とする請求項４に記載の重要人物検索装置。
【請求項７】
請求項４から請求項６のいずれか１項に記載の重要人物検索装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の人物に関する情報に基づいて、任意の人物にとっての重要人物を検索する技術に関する。
【背景技術】
【０００２】
近年、複数の人物に関する情報に基づいて、任意の人物にとっての重要人物を検索する技術の向上が求められている。ここで、任意の人物にとって、「重要人物」とは、「人間関係が密な人物」および「共通する趣味を持っている可能性が高い人物」の少なくとも１つの条件を満たす人物を意味する。
【０００３】
例えば、インターネット上のソーシャルネットワークサービス（ＳＮＳ）のように、ネットワーク上で他者と何らかのコミュニケーションをとる場合に、他者と自分との人間関係の度合いを把握する手段として、このような検索技術が役立つ。また、インターネット上の情報検索サービスにおいて、他者の発する情報の重要度を把握したい場合にも、このような検索技術が役立つ。
【０００４】
しかし、インターネット等のネットワークを介したサービスでは、ネットワーク上の人間関係が把握しづらく、ある人物（主体）とある人物（他者）との友人関係（人間関係）の度合い（距離感）や、ある人物（他者）の重要度や、ある人物（他者）の発する情報の重要度等を把握することは困難であった。この問題に対し、従来技術として以下のものがあった。
【０００５】
例えば、非特許文献１では、ある人物（他者）との直接的な関係（やりとりの回数）を、主体にとっての他者に関する重要度として計算や表示をする技術が開示されている。
また、非特許文献２では、インターネット上のウェブページの分野で、ウェブページのリンク構造を利用して、ウェブページの重要度や、ウェブページの信頼性を把握する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Y. Matsuo, J. Mori, and M. Hamasaki. “POLYPHONET: An Advanced Social Network Extraction System from the Web”, WWW 2006, (Scotland), ACM, 2006 May 23-26, p.397-406
【非特許文献２】L. Page, S. Brin, R. Motwani, T. Winograd, “The PageRank Citation Ranking: Bringing Order to the Web”, Tech. rep., (USA), Stanford University, 1998 January 29, p.1-17
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記した従来のネットワーク上における人間関係の把握方法では、以下の課題が存在する。
【０００８】
まず、非特許文献１の技術では、人間関係を把握する際、人間関係を知りたい人物（主体）と他者との、直接的な関係（主体の友人リスト、主体から他者の日記への訪問履歴/コメント、共通の趣味等）の情報のみを用いる。そのため、友人の友人といった、間接的な友人関係を考慮するのは困難であった。
【０００９】
また、非特許文献２に開示されたリンク構造を利用した重要度把握方法では、人物数の増大とともに、人間関係を表現するグラフ（数学的には、隣接行列（ノード（人物）とエッジ（関係）からなるグラフ等を表す行列））は巨大化し、その計算量は膨大となる。そのため、人間関係のように、主体ごとによって各人の重要度が異なる（以下、「パーソナライズド」という。）ランク計算を実施する目的には適さなかった。
【００１０】
本発明は、前記した問題に鑑みてなされたものであり、間接的な人間関係を考慮し、かつ、扱う人物数の割には少ない計算量で、任意の人物にとっての重要人物を検索することを課題とする。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明は、複数の人物に関して、任意の二者間の人間関係の有無を表す人間関係情報と、各人物が持つ趣味を表す趣味情報とから、任意の人物にとっての重要人物を検索する重要人物検索装置であって、人間関係情報および趣味情報を記憶する記憶部と、記憶部に記憶された人間関係情報および趣味情報を用いて、任意の人物にとっての他の人物の重要度を示す人間関係スコアを計算して、人間関係スコアを記憶部に格納する人間関係スコア計算部と、任意の人物の識別情報の入力を受け付けた場合に、記憶部から、当該人物に対する他の人物の人間関係スコアを取得する人間関係スコア取得部と、人間関係スコア取得部が取得した人間関係スコアを表示する結果表示部と、を有しており、人間関係スコア計算部は、所定の人物を中心人物とし、記憶部に記憶された人間関係情報を参照して、中心人物および中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物を「０」以外の値で表し、それ以外の人物を「０」で表す人物集合行列を作成し、中心人物と、中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物それぞれとの、人間関係情報に基づく中心人物にとっての重要度を示す人間ランクを構成要素とする人間ランクベクトルについて、所定の初期ベクトルを作成し、中心人物と、中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物それぞれとの、中心人物からの信用度の割合を構成要素とするパーソナライズドベクトルを作成し、中心人物からの中心人物以外の人物に対する信頼度を示す第１の係数を人物集合行列と人間ランクベクトルとの積に乗算し、中心人物からの中心人物自身に対する信頼度を示す第２の係数をパーソナライズドベクトルに乗算し、それらの乗算した２つのベクトルを加算することで人間ランクベクトルを更新するマルコフ過程に基づく所定の漸化式に対して、人物集合行列と、人間ランクベクトルの初期ベクトルと、パーソナライズドベクトルと、を適用して所定回数計算することで、人間ランクを構成要素とする人間ランクベクトルを計算する人間ランク計算部と、記憶部に記憶された趣味情報を参照して、中心人物に関して、他の人物それぞれとの趣味の共通の数を計算し、中心人物に関する趣味の数と、中心人物と共通の趣味を有する人物ごとの共通の趣味の数とを示す共通趣味情報を作成する共通趣味情報作成部と、他の人物ごとに、人間ランクの重視度を示す第３の係数を、計算した人間ランクベクトルにおける当該他の人物の人間ランクに乗算し、趣味の共通性の重視度を示す第４の係数を、共通趣味情報に基づいて算出した、中心人物と中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物全体との趣味の共通性の度合いを示す値に、乗算し、それらの乗算した２つの値を加算した値を人間関係スコアとする所定の人間関係スコア計算式に対して、人間ランクと、共通趣味情報とを適用して計算することで、中心人物に対する当該他の人物の人間関係スコアを計算する人間ランク趣味結合部と、を備えることを特徴とする。
【００１２】
かかる発明によれば、人間関係情報から、前記した人物集合行列と初期ベクトルとパーソナライズドベクトルとを作成し、それらを、マルコフ過程を表す所定の漸化式に適用することで、人間関係情報に基づく中心人物にとっての他の人物ごとの重要度を示す人間ランクを計算する。また、趣味情報から、前記した趣味ベクトルを作成する。そして、人間ランクと趣味ベクトルを所定の人間関係スコア計算式に適用することで、中心人物に対する他の人物の人間関係スコアを計算する。このように、人間関係スコアの計算時に、人物全員ではなく、中心人物および中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物に関する情報から作成した次元数の小さな行列やベクトルを計算に用いることで、扱う人物数の割には少ない計算量で、任意の人物にとっての重要人物を検索することができる。
【００１３】
また、本発明において、人物集合行列は、隣接行列または遷移行列であることが好ましい。
かかる発明によれば、人物集合行列を既存の数学的手法である隣接行列または遷移行列を用いて表すことができ、本発明の実施が容易となる。
【００１４】
また、本発明において、人間関係スコア計算部は、趣味ベクトルにおける共通の趣味の数のうち大きいほうから所定数分を、所定の人間関係スコア計算式に適用することが好ましい。
かかる発明によれば、計算コストをさらに下げることができる。
【００１５】
また、本発明は、前記した重要人物検索装置としてコンピュータを機能させるためのプログラムである。
かかる発明によれば、このプログラムをインストールされたコンピュータが、このプログラムに基づいた各機能を実現することができる。
【発明の効果】
【００１６】
本発明によれば、間接的な人間関係を考慮し、かつ、扱う人物数の割には少ない計算量で、任意の人物にとっての重要人物を検索することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態の重要人物検索装置の構成図である。
【図２】重要人物検索装置による処理を示すフローチャートである。
【図３】人間関係スコア計算部およびその周辺の構成図である。
【図４】中心ＩＤ人間ランク計算部およびその周辺の構成図である。
【図５】人間ランク計算部およびその周辺の構成図である。
【図６】近傍友人行列作成部およびその周辺の構成図である。
【図７】中心ＩＤ趣味ベクトル作成部およびその周辺の構成図である。
【図８】趣味ベクトル作成部およびその周辺の構成図である。
【図９】中心ＩＤ人間ランク趣味結合スコア計算部およびその周辺の構成図である。
【図１０】スコア計算パラメータの例を示す図である。
【図１１】全利用者友人趣味格納ＤＢの例を示す図である。
【図１２】（ａ）は近傍友人行列の例を示す図であり、（ｂ）はソーシャルグラフの例を示す図である。
【図１３】（ａ）は初期ランクベクトルの例を示す図であり、（ｂ）はパーソナライズドベクトルの例を示す図である。
【図１４】中心ＩＤ人間ランク格納ＤＢの例を示す図である。
【図１５】趣味ベクトル格納ＤＢの例を示す図である。
【図１６】人間関係スコア格納ＤＢの例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態（以下、「実施形態」という。）について、図面を参照しながら、概要、構成、処理の順で説明する。
【００１９】
（概要）
まず、本実施形態の重要人物検索装置の概要について説明する。本実施形態の重要人物検索装置では、ネットワーク上の人間関係情報（例えば、ＳＮＳにおける友人リスト、ブログ、コメント等）と、個人の趣味情報（例えば、ＳＮＳにおけるプロフィール情報、コミュニティ所属情報等）とを用いて、任意の人物にとっての重要人物を検索する。
【００２０】
その際、人間関係をソーシャルグラフ化（数学的には、隣接行列または遷移行列（隣接行列の転置行列）で表現）し、趣味情報をベクトル化する。そして、それらの情報をマルコフ過程にしたがって計算することで、友人の友人といった間接的な友人関係を考慮した上で、任意の人物にとっての重要人物を検索することができる。なお、マルコフ過程とは、未来の挙動が現在の値だけで決定され、過去の挙動と無関係であるという性質を持つ確率過程である。
【００２１】
また、ソーシャルグラフ（遷移行列（本実施形態では隣接行列と同等））を作成する際、利用者（主体）にとって、ある程度重要な人物のみ（例えば、利用者から３ホップ以内（つまり、友人の友人の友人まで）の人物）を抽出する。そして、抽出された重要人物候補のみを用いて、マルコフ過程計算用の遷移行列を作成する。これにより、マルコフ過程計算用の遷移行列の次元数を大幅に削減し、この作成された次元の小さな遷移行列を用いてパーソナライズドランク計算をすることで、計算量を大幅に下げることが可能となる。
【００２２】
（構成）
次に、本実施形態の重要人物検索装置の構成について説明する。図１に示すように、重要人物検索装置１００は、コンピュータ装置であり、入力部１０５、利用者ＩＤ取得部１１０、人間関係スコア計算部１２０、人間関係スコア取得部１４０、人間関係スコア格納ＤＢ１５０（記憶部）および結果表示部１６０を備えて構成される。
【００２３】
入力部１０５は、情報を入力する手段であり、例えば、キーボード、マウス、ディスクドライブ装置、入力インターフェイス等から構成される。
【００２４】
利用者ＩＤ取得部１１０、人間関係スコア計算部１２０および人間関係スコア取得部１４０は、例えば、ＣＰＵ（Central Processing Unit）およびＲＡＭ（Random Access Memory）から構成される制御装置である（詳細は後記）。
【００２５】
人間関係スコア格納ＤＢ１５０は、人間関係スコア（ある人物（主体）に対するある人物（他者）の重要度を示す値。詳細は後記）を記憶する手段であり、例えば、一般的なハードディスク装置等から構成される。なお、重要人物検索装置１００は、人間関係スコア格納ＤＢ１５０以外にも、動作プログラムや各種データを記憶する記憶部を有するが、図示と詳細な説明を省略または後記する。
【００２６】
結果表示部１６０は、計算結果（重要人物のリスト等）を表示するための手段であり、例えば、液晶モニタである。
【００２７】
また、人間関係スコア計算部１２０は、重要人物検索装置１００の外部の全利用者友人趣味格納ＤＢ１３０（記憶部）と接続されている。全利用者友人趣味格納ＤＢ１３０は、例えば、インターネット上のサーバ内の記憶部であり、ＳＮＳの全利用者の友人情報（人間関係情報）と趣味情報を格納している。
【００２８】
（処理）
次に、図２〜図１６を参照して、重要人物検索装置１００の処理について説明する（適宜他図参照）。ここでは、ＳＮＳにおいて、ある利用者にとっての重要人物のリストをその利用者に提示するシステムを、例として考える。重要人物検索装置１００の処理は、事前に行われる事前計算処理（重要人物検索前の処理）と、事前計算処理が完了した後に行われる人間関係スコア取得処理（重要人物検索時の処理）とに大別できる。
【００２９】
なお、図２におけるステップ番号（例えば、ステップＳ１０５、ステップＳ１１０における「１０５」、「１１０」）は、図１における構成の符号（例えば、入力部１０５、利用者ＩＤ取得部１１０における「１０５」、「１１０」）と整合をとっている。以下、処理の概要と処理の詳細に分けて説明する。
【００３０】
（処理の概要）
まず、重要人物検索装置１００の処理の概要について説明する。
図２に示すように、事前計算処理において、入力部１０５は、利用者によるスコア計算パラメータ（後記する式（１）、式（２）で使用するパラメータ。詳細は後記）の入力を受け付ける（ステップＳ１０５）。
【００３１】
次に、人間関係スコア計算部１２０は、全利用者友人趣味格納ＤＢ１３０から全利用者の友人情報と趣味情報を取得し、さらに、スコア計算パラメータを用いて、ＳＮＳに参加している全利用者について人間関係スコアを計算し、その人間関係スコアを人間関係スコア格納ＤＢ１５０に格納する。
【００３２】
その後、利用者が重要人物検索装置１００を利用する場合、まず、利用者ＩＤ取得部１１０は、入力部１０５を介して、利用者によって入力された利用者ＩＤを取得する（ステップＳ１１０）。
次に、人間関係スコア取得部１４０は、その利用者ＩＤに対応する人間関係スコアを人間関係スコア格納ＤＢ１５０から取得する（ステップＳ１４０）。
【００３３】
続いて、結果表示部１６０は、結果（人間関係スコア）を表示する。利用者は、この表示を見ることにより、自分にとっての重要人物を知ることができる（詳細は後記）。
【００３４】
（処理の詳細）
次に、重要人物検索装置１００の処理の詳細について説明する。
まず、人間関係スコア計算部１２０（図１参照）について説明する。図３に示すように、人間関係スコア計算部１２０において、スコア計算パラメータ取得部１２１は、スコア計算パラメータを取得する。このスコア計算パラメータを図１０に例示する。図１０に示すスコア計算パラメータのうち、αとγはそれぞれ後記する式（１）と式（２）で利用される定数であり、０より大きく１より小さい数値で利用者によって予め定められる（詳細は後記）。取得友人ホップ数（＝マルコフ計算繰り返し数）と使用趣味スコア上位者数は、後記する式（１）、式（２）での計算時の制約条件である。
【００３５】
図３に戻って、次に、全利用者ＩＤ取得部１２２は、全利用者友人趣味格納ＤＢ１３０から全利用者ＩＤを取得する。この全利用者友人趣味格納ＤＢ１３０は、図１１に例示するように、全利用者友人趣味格納ＤＢ１３０は、利用者ＩＤ、その利用者の友人、その利用者の趣味の各項目を有する。
【００３６】
図３に戻って、次に、中心ＩＤ人間ランク計算部２００（人間ランク計算部）は、スコア計算パラメータ取得部１２１から取得したスコア計算パラメータと、全利用者ＩＤ取得部１２２から取得した利用者ＩＤに基づいて全利用者友人趣味格納ＤＢ１３０から取得した友人情報とを用いて、中心ＩＤ人間ランク（中心ＩＤの人物（主体）にとっての他者の信頼度。以下、単に「人間ランク」ともいう。）を計算する。
【００３７】
また、中心ＩＤ趣味ベクトル作成部３００（共通趣味情報作成部）は、スコア計算パラメータ取得部１２１から取得したスコア計算パラメータと、全利用者ＩＤ取得部１２２から取得した利用者ＩＤに基づいて全利用者友人趣味格納ＤＢ１３０から取得した趣味情報とを用いて、中心ＩＤ趣味ベクトル（共通趣味情報。中心ＩＤの人物ついての、趣味の数と、他者との共通の趣味の数についての情報を表すベクトル。以下、単に「趣味ベクトル」ともいう。詳細は後記）を作成する。
【００３８】
その後、中心ＩＤ人間ランク趣味結合スコア計算部４００（人間関係スコア計算部）は、中心ＩＤ人間ランク計算部２００から取得した中心ＩＤ人間ランクと、中心ＩＤ趣味ベクトル作成部３００から取得した中心ＩＤ趣味ベクトルと、スコア計算パラメータ取得部１２１から取得したスコア計算パラメータと、全利用者ＩＤ取得部１２２から取得した利用者ＩＤとを用いて、人間関係スコアを計算し、その人間関係スコアを人間関係スコア格納ＤＢ１５０に格納する。
【００３９】
次に、中心ＩＤ人間ランク計算部２００（図３参照）について説明する。図４に示すように、中心ＩＤ人間ランク計算部２００において、中心ＩＤ設定部２１０は、全利用者ＩＤ取得部１２２から取得した全利用者ＩＤのうち、まだ、中心ＩＤ人間ランク計算処理がされていない利用者ＩＤを中心ＩＤに設定する（開始時は、例えばＩＤ＝０を設定する）。
【００４０】
次に、人間ランク計算部２２０は、中心ＩＤ設定部２１０が設定した利用者ＩＤ（中心ＩＤ）について、スコア計算パラメータ取得部１２１から取得したスコア計算パラメータと、全利用者友人趣味格納ＤＢ１３０から取得したこの利用者ＩＤの利用者の友人情報とを用いて、人間ランクを計算する。
中心ＩＤ人間ランク格納部２３０は、人間ランク計算部２２０によって計算された人間ランクを中心ＩＤ人間ランク格納ＤＢ２３５（記憶部）に格納する。
【００４１】
中心ＩＤ人間ランク格納部２３０の処理の後、中心ＩＤ設定利用者残判断部２４０は、中心ＩＤに設定されていない利用者が残っているか否かを判断する。当該利用者が残っていれば、中心ＩＤ設定部２１０の処理に移る。当該利用者が残っていなければ、中心ＩＤ人間ランク計算部２００による処理を終了する。なお、中心ＩＤ人間ランク格納ＤＢ２３５に格納された人間ランクの情報は、後に中心ＩＤ人間ランク趣味結合スコア計算部４００によって使用される。
【００４２】
以下では、例えば、中心ＩＤ設定部２１０において利用者ＩＤ＝０が中心ＩＤに設定された場合を考える。
【００４３】
人間ランク計算部２２０（図４参照）について説明する。図５に示すように、人間ランク計算部２２０において、近傍友人行列作成部２２１は、全利用者友人趣味格納ＤＢ１３０から取得した友人情報（具体的には、中心人物および中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物に関する情報）を用いて、近傍友人行列（人物集合行列）を作成する。なお、この近傍友人行列の次元数は、友人情報のうち、中心人物（１人）、および、中心人物と直接または１以上の人物を介して間接的に人間関係を有する人物（図１２（ａ）の例では５人）の合計数（図１２（ａ）の例では６人なので６次元）である（詳細は後記）。ここでは、作成した近傍友人行列が、図１２（ａ）に示すものであるものとする（詳細は後記）。なお、その場合、対応するソーシャルグラフは図１２（ｂ）に示すものとなる。図１２（ｂ）において、丸で囲まれた数値は利用者ＩＤを示し、丸同士の間の両矢印はその両側の利用者ＩＤの人物同士が友人関係であることを示す。
【００４４】
図５に戻って、中心ＩＤ初期ランクベクトル作成部２２２は、近傍友人行列作成部２２１によって作成された近傍友人行列の次元数（行および列の数）にあわせ、また、中心ＩＤの対応箇所を「１」（「０」以外の値。以下同様）に設定し、それ以外の箇所を「０」に設定した、図１３（ａ）に示すような初期ランクベクトル（ランクベクトルの初期値。初期ベクトル）を作成する。なお、ランクベクトルとは、下記の式（１）で使用するベクトルであり、構成要素が各人物の人間ランクを示すベクトルである。同様に、中心ＩＤパーソナライズドベクトル作成部２２３は、近傍友人行列作成部２２１によって作成された近傍友人行列の次元数（ｎ）にあわせ、また、中心ＩＤ＝０の位置に（ｎ−１）／ｎ（「０．５」以上「１」未満の固定値）を、それ以外の要素に１／｛ｎ（ｎ−１）｝を設定した、図１３（ｂ）に示すようなパーソナライズドベクトル（主体となる人物ごとに作成される、自身および他者の重要度を示すベクトル）を作成する。
【００４５】
図５に戻って、マルコフ計算部２２４は、スコア計算パラメータ取得部１２１から取得したスコア計算パラメータを用いて、中心ＩＤ＝０の初期ランクベクトルをｒ０、ｉ回マルコフ過程を行ったランクベクトルをｒｉ、パーソナライズドベクトルをｖ、近傍友人行列をＡとして、スコア計算パラメータの「マルコフ計算繰り返し数」（図１０参照）で指定された回数分、マルコフ過程を表す漸化式（所定の漸化式）である次の式（１）を計算する。
ｒｉ＋１＝（１−α）Ａｒｉ＋αｖ  ・・・式（１）
【００４６】
なお、パラメータαは、中心ＩＤに設定される人物（中心人物）にとって、自分自身と自分以外の人間の信頼する比率を表す。したがって、αが小さいほど、自分以外の第三者を信頼する割合が大きくなることを示す。つまり、「１−α」は、中心人物からの中心人物以外の人物に対する信頼度を示す第１の係数である。また、「α」は、中心人物からの中心人物自身に対する信頼度を示す第２の係数である。なお、本実施形態において、信頼度と重要度は正の相関があるものと考える。
【００４７】
漸化式である式（１）について、さらに具体的に説明すると、近傍友人行列Ａは、Ａｒｉの算出に用いられた場合に、ランクベクトルｒｉにおける各成分である人間ランクを自分以外の友人へ伝搬する役割を果たす。なぜなら、図１２（ａ）と図１３（ａ）を参照すればわかるように、Ａｒｉを計算すると、ｒｉの成分のうち、近傍友人行列Ａにおいて友人関係があることを示す「１」が乗算される部分が、計算結果に反映されるからである。これは、例えば、Ａｒｉにおける利用者ＩＤ＝０の成分を計算するときに用いられる近傍友人行列Ａの一行目の（０  １  １  １  ０  ０）が、利用者ＩＤ＝０にとって、自分以外の友人の部分のみが「１」となっていることからも理解できる。
【００４８】
また、漸化式である式（１）において、ｖは、自分自身を大きく信頼（信用）していることを意味する。なぜなら、図１３（ｂ）を参照すればわかるように、利用者ＩＤ＝０に関するパーソナライズドベクトルは、利用者ＩＤ＝０の行の数値が「5/6」となっていて、他者の行の数値よりも有意に大きいからである。
【００４９】
なお、具体例としてα＝０．５としているのは、自分自身と自分以外の人間を同じくらい信頼していることを示している。また、例えば、信頼度の低いネットワーク（人間関係）であれば、αをより大きくすることで、自分以外の人物の信頼度を下げることができる。
【００５０】
上記の式（１）において、具体的には、計算一回目ではｒｉ＝ｒ０としてｒ１を算出し、計算２回目ではｒｉ＝ｒ１として計算を実行する。同様にして、式（１）による漸化計算を繰り返す。このように、中心ＩＤの人物のみに「１」を設定した初期ランクベクトルとパーソナライズドベクトルをマルコフ過程計算に用いることで、中心ＩＤの人物にとって重要な人物ほど高い値の計算結果（中心ＩＤ人間ランク。人間ランクを構成要素とする人間ランクベクトル）を得ることができる。
【００５１】
なお、式（１）による漸化計算を繰り返す場合、１回目の計算は、自分の直接の友人を信じる度合いを計算していることになり、２回目の計算は、自分の友人の友人を信じる度合いを計算していることになる。
【００５２】
その後、マルコフ計算部２２４は、式（１）による計算結果を中心ＩＤ人間ランクとして中心ＩＤ人間ランク格納部２３０に受け渡す。なお、ランクベクトルｒｉの各成分が、中心ＩＤ人間ランクに対応する。また、中心ＩＤ人間ランク格納部２３０によって中心ＩＤ人間ランクが格納される中心ＩＤ人間ランク格納ＤＢ２３５（図４参照）は、例えば、図１４に示すように、中心ＩＤと人間ランクの項目からなる。人間ランクの項目には、中心ＩＤごとに、他者に対する人間ランクの値が格納される。例えば、中心ＩＤ＝０の人物にとって、利用者ＩＤ「１」の人間ランクは「0.1402777・・・」であり、利用者ＩＤ「２」の人間ランクは「0.1166・・・」である。
【００５３】
次に、近傍友人行列作成部２２１（図５参照）について説明する。図６に示すように、近傍友人行列作成部２２１において、友人ＩＤ取得部２２１１は、中心ＩＤ設定部２１０が設定した中心ＩＤの利用者ＩＤの友人情報を、全利用者友人趣味格納ＤＢ１３０から取得する。具体的には、中心ＩＤ＝０の場合、利用者ＩＤ＝０の友人は、利用者ＩＤ＝１，２，３の利用者である（図１１参照）。この友人の利用者ＩＤを取得する処理を一回行ったので、取得友人ホップ数＝１となる。
【００５４】
次に、近傍友人行列格納部２２１２は、この利用者ＩＤ＝１，２，３の利用者を近傍友人行列に追記する。つまり、図１２（ａ）に示すように、近傍友人行列において、ＩＤ＝０の行におけるＩＤ＝１，２，３の列を「１」とし、それ以外の列を「０」とする。なお、近傍友人行列において、「１」は友人を意味し、「０」は友人でないことを意味する。また、このＩＤ＝１，２，３の友人を、中心ＩＤ＝０の人物からホップ数＝１の友人と称する。
【００５５】
続いて、取得友人ホップ数確認部２２１３は、規定の取得友人ホップ数（図１０参照）に達したか否かを判断する。具体例の場合、スコア計算パラメータの取得友人ホップ数＝２（図１０参照）であり、ここでの友人ＩＤ取得部２２１１による処理は１回である。そのため、今度は、取得した友人のＩＤであるＩＤ＝１，２，３を用いて、再び、友人ＩＤ取得部２２１１と近傍友人行列格納部２２１２による処理を行う。
【００５６】
具体的には、前述の中心ＩＤ＝０の友人を取得した処理と全く同様にして、中心ＩＤ＝１の友人、中心ＩＤ＝２の友人、中心ＩＤ＝３の友人を取得し、それらの友人をホップ数＝２の友人として近傍友人行列データに追加する。つまり、図１２の近傍友人行列において、例えば、ＩＤ＝１の行におけるＩＤ＝０，２，４の列を「１」とし、それ以外の列を「０」とする。その他、他の行についても同様に処理し、また、近傍友人行列が、行と列が対称な正方行列になるように処理する（つまり、図１２に示す近傍友人行列が完成する。）。
【００５７】
取得友人ホップ数確認部２２１３は、取得友人ホップ数＝２（図１０参照）に達したので、近傍友人行列作成処理を終了し、中心ＩＤ初期ランクベクトル作成部２２２と中心ＩＤパーソナライズドベクトル作成部２２３にベクトル空間次元数（具体例の場合は「６」）を伝達し、マルコフ計算部２２４に近傍友人行列を受け渡す。
【００５８】
次に、中心ＩＤ趣味ベクトル作成部３００（図３参照）について説明する。図７に示すように、中心ＩＤ趣味ベクトル作成部３００において、中心ＩＤ設定部３１０は、全利用者ＩＤ取得部１２２から取得した全利用者ＩＤのうち、まだ、趣味ベクトル作成処理がされていない利用者ＩＤを中心ＩＤに設定する（開始時は、例えばＩＤ＝０を設定する）。
【００５９】
次に、趣味ベクトル作成部３２０は、中心ＩＤ設定部２１０が設定した利用者ＩＤ（中心ＩＤ）について、スコア計算パラメータ取得部１２１から取得したスコア計算パラメータと、全利用者友人趣味格納ＤＢ１３０から取得した趣味情報とを用いて、趣味ベクトルを作成する。
趣味ベクトル格納部３３０は、趣味ベクトル作成部３２０によって作成された趣味ベクトルを趣味ベクトル格納ＤＢ３５０（記憶部）に格納する。
【００６０】
趣味ベクトル格納部３３０の処理の後、中心ＩＤ設定利用者残判断部３４０は、中心ＩＤに設定されていない利用者が残っているか否かを判断する。当該利用者が残っていれば、中心ＩＤ設定部３１０の処理に移る。当該利用者が残っていなければ、中心ＩＤ趣味ベクトル作成部３００による処理を終了する。なお、趣味ベクトル格納ＤＢ３５０の情報は、後に中心ＩＤ人間ランク趣味結合スコア計算部４００によって使用される。
【００６１】
次に、趣味ベクトル作成部３２０（図７参照）について説明する。図８に示すように、趣味ベクトル作成部３２０において、中心ＩＤ趣味情報取得３２１は、中心ＩＤ設定部３１０から入力された中心ＩＤに対応する趣味情報を全利用者友人趣味格納ＤＢ１３０から取得する。具体例の場合、中心ＩＤ＝０のとき、「スポーツ」と「料理」が、利用者ＩＤ＝０の趣味情報である（図１１参照）。
【００６２】
次に、同趣味利用者情報取得部３２２は、中心ＩＤの利用者と同じ趣味を持つ利用者情報を取得する。趣味ベクトル作成部３２０が図１１に示す全利用者友人趣味格納ＤＢ１３０から趣味情報を取得した場合は、例えば、利用者ＩＤ＝０以外では、利用者ＩＤ＝１００だけが「スポーツ」を趣味として持ち、また、「料理」を趣味として持つ利用者は利用者ＩＤ＝０だけである。
【００６３】
次に、趣味ベクトル生成部３２３は、中心ＩＤ趣味情報取得３２１と同趣味利用者情報取得部３２２から取得した情報に基づいて、趣味ベクトルを作成する（詳細は図１５で後記）。
【００６４】
趣味ベクトル生成部３２３の処理の後、全利用者処理済確認部３２４は、中心ＩＤ趣味情報取得３２１による処理をされていない利用者ＩＤが存在するか否かを判断する。当該利用者ＩＤが存在していれば、中心ＩＤ趣味情報取得３２１の処理に移る。当該利用者ＩＤが存在していなければ、趣味ベクトル生成部３２３によって作成されたすべての趣味ベクトルを趣味ベクトル格納部３３０に受け渡し、趣味ベクトル作成部３２０の処理を終了する。
【００６５】
続いて、趣味ベクトル格納ＤＢ３５０について説明する。図１５に示すように、趣味ベクトル格納ＤＢ３５０は、中心ＩＤと趣味ベクトルの項目を有する。ここで、図１５に示す中心ＩＤ＝０の行は、中心ＩＤ＝０の利用者は２つの趣味をもち、そのうち、利用者ＩＤ＝１００のみが１つの趣味を共通趣味（「スポーツ」）として持っていた、ということを意味する。なお、この具体例では、「スポーツ」と「料理」の両方の趣味について集計した趣味ベクトルを作成したが、例えば、「スポーツ」だけの趣味ベクトルを作成することも可能である。
【００６６】
次に、中心ＩＤ人間ランク趣味結合スコア計算部４００（図３参照）について説明する。図９に示すように、中心ＩＤ人間ランク趣味結合スコア計算部４００において、計算対象ＩＤ設定部４１０は、まだ、人間関係計算処理がされていない利用者ＩＤを取得し、中心ＩＤ（計算対象ＩＤ）に設定する。以下、引き続き、利用者ＩＤ＝０の例について説明する。
【００６７】
中心ＩＤ人間ランク取得部４２０は、利用者ＩＤ＝０の中心ＩＤ人間ランクを中心ＩＤ人間ランク格納ＤＢ２３５から取得する。
趣味ベクトル取得部４３０は、利用者ＩＤ＝０の趣味ベクトルを趣味ベクトル格納ＤＢ３５０から取得する。
【００６８】
趣味ベクトル上位者ＩＤ人間ランク取得部４４０は、利用者ＩＤ＝０の趣味ベクトル中の趣味ベクトルの要素（数値）の大きさが中心ＩＤを除いたうちの上位ｋ人の利用者の中心ＩＤ人間ランクを、中心ＩＤ人間ランク格納ＤＢ２３５から取得する。例えば、図１５の例では、中心ＩＤを除いた利用者が１人（利用者ＩＤ＝１００）しかいないが、複数人いる場合、趣味ベクトルの要素（利用者ＩＤ＝１００については「１」）の大きさが中心ＩＤ（利用者ＩＤ＝０）を除いたうちの上位ｋ人（具体例では図１０のスコア計算パラメータにおいて「使用趣味スコア上位者数＝１」なので、「ｋ＝１」）の利用者の中心ＩＤ人間ランクを、中心ＩＤ人間ランク格納ＤＢ２３５から取得する。
【００６９】
人間関係スコア算出部４５０は、下記の式（２）（所定の人間関係スコア計算式）を用いて、人間関係スコアを算出する。ここで、利用者ＩＤ＝ｐの利用者について、人間関係スコアをＳｐ、中心ＩＤ人間ランクをｒｐ、趣味ベクトルの要素の大きさが上位ｋ人（中心ＩＤの要素を除いた上位ｋ人）の要素に対応する利用者の中心ＩＤ人間ランクをｑｉ（ｉ＝１，２，・・・，ｋ）、趣味ベクトルの要素をｈｉ（ｉ＝１，２，・・・，ｋ）とする。
Ｓｐ＝（１−γ）ｒｐ＋｛γ×｛Σｉ＝１ｋ（ｈｉｑｉ）｝／Σｉ＝１ｋｈｉ｝  ・・・式（２）
（「Σｉ＝１ｋ」は、ｉ＝１からｉ＝ｋまでの総和を意味する。）
【００７０】
なお、パラメータγは、趣味（嗜好）が共通の人物を重要視する度合いを表す。したがって、γが大きければ、趣味が共通の人物をより重要視することを意味する。つまり、「１−γ」は、人間ランクの重視度を示す第３の係数である。また、「γ」は、趣味の共通性の重視度を示す第４の係数である。
【００７１】
また、「｛Σｉ＝１ｋ（ｈｉｑｉ）｝／Σｉ＝１ｋｈｉ」は、中心人物と他の人物全体との趣味の共通性の度合いを示す値である。式（２）に関して、具体例としてγ＝０．１としているのは、趣味が共通の人物の重要度を、自分の直接の友人と比べて１／１０程度と考えていることを意味する。
【００７２】
人間関係スコア格納部４６０は、人間関係スコア算出部４５０が算出した人間関係スコアを人間関係スコア格納ＤＢ１５０に格納する。
人間関係スコア格納部４６０の処理の後、計算対象ＩＤ未設定利用者残判断部４７０は、計算対象ＩＤに設定されていない利用者が残っているか否かを判断する。当該利用者が残っていれば、計算対象ＩＤ設定部４１０の処理に移る。当該利用者が残っていなければ、中心ＩＤ人間ランク趣味結合スコア計算部４００による処理を終了する。これにより、全利用者について人間関係スコアを計算し、その人間関係スコアを人間関係スコア格納ＤＢ１５０に格納することができる。
【００７３】
次に、人間関係スコア格納ＤＢ１５０について説明する。図１６に示すように、人間関係スコア格納ＤＢ１５０は、利用者ＩＤと人間関係スコアの項目から構成される。利用者は、結果表示部１６０に表示された人間関係スコア格納ＤＢ１５０の内容を見ることにより、自分にとっての重要人物を知ることができる。
【００７４】
このようにして、本実施形態の重要人物検索装置１００によれば、直接的な人間関係の情報である友人情報と、間接的な人間関係の情報である趣味情報とを用いて、友人の友人といったグラフ構造情報を分析することで、間接的な人間関係を考慮しつつ、任意の人物にとっての重要人物を検索することができる。
【００７５】
また、人間関係スコアの計算時に、利用者（主体）から数ホップ以内の人物のみを抽出し、次元数の小さな行列やベクトルを計算に用いることで、扱う人物数の割には少ない計算量で、任意の人物にとっての重要人物を検索することができる。つまり、全利用者分の巨大な遷移行列と、利用者数と同じ次元数を持つ巨大な趣味ベクトルを用いる場合に比べて、少ない計算量でほぼ同様の効果（重要人物の検索結果）を得ることができる。
【００７６】
また、重要人物検索装置１００を構成するコンピュータに実行させるためのプログラムを作成し、コンピュータにインストールすることにより、コンピュータは、そのプログラムに基づいた各機能を実現することができる。
【００７７】
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、全利用者友人趣味格納ＤＢ１３０は、重要人物検索装置１００の外部でなくても、重要人物検索装置１００の内部に存在していてもよい。
その他、具体的な構成や処理について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００７８】
１００  重要人物検索装置
１０５  入力部
１１０  利用者ＩＤ取得部
１２０  人間関係スコア計算部
１３０  全利用者友人趣味格納ＤＢ
１４０  人間関係スコア取得部
１５０  人間関係スコア格納ＤＢ
１６０  結果表示部
２００  中心ＩＤ人間ランク計算部（人間ランク計算部）
３００  中心ＩＤ趣味ベクトル格納部（共通趣味情報作成部）
４００  中心ＩＤ人間ランク趣味結合スコア計算部（人間関係スコア計算部）
【図１】
2010277480.tif 000003
【図２】
2010277480.tif 000004
【図３】
2010277480.tif 000005
【図４】
2010277480.tif 000006
【図５】
2010277480.tif 000007
【図６】
2010277480.tif 000008
【図７】
2010277480.tif 000009
【図８】
2010277480.tif 000010
【図９】
2010277480.tif 000011
【図１０】
2010277480.tif 000012
【図１１】
2010277480.tif 000013
【図１２】
2010277480.tif 000014
【図１３】
2010277480.tif 000015
【図１４】
2010277480.tif 000016
【図１５】
2010277480.tif 000017
【図１６】
2010277480.tif 000018