(57)【特許請求の範囲】
【請求項１】
友人を推薦するソーシャルネットワークサービスシステムにおいて、
ユーザと１親等の友人との友人関係から、前記ユーザと前記ユーザの１親等の友人との友人関係を示す第１のコミュニケーション情報を抽出し、前記ユーザの１親等の友人と友人関係にある２親等の友人の友人関係から、前記ユーザの１親等の友人と前記２親等の友人との友人関係を示す第２のコミュニケーション情報を抽出する抽出部と、
前記第１のコミュニケーション情報に基づいて前記ユーザと前記ユーザの１親等の友人との友人関係の第１の親密度を算出し、前記第２のコミュニケーション情報に基づいて前記ユーザの１親等の友人と前記第２親等の友人との友人関係の第２の親密度を算出する算出部と、
前記算出された第１の親密度、第２の親密度、及び前記ユーザと前記第２親等の友人との共通の友人数に基づいて推薦する前記２親等の友人のリストを生成する生成部と、
を含むソーシャルネットワークサービスシステム。
【請求項２】
前記抽出部で抽出する前記第１のコミュニケーション情報及び前記第２のコミュニケーション情報は、書き込み数や共感数のインタラクション情報と友人持続時間のうち少なくとも１つを含み、
前記インタラクション情報は友人関係において発生する相互作用として少なくとも１つの行為に係る数に基づいて決定することを特徴とする請求項１に記載のソーシャルネットワークサービスシステム。
【請求項３】
前記算出部は、
前記ユーザと複数の前記第１親等の友人について、それぞれの友人関係別に前記第１の親密度を算出し、
前記複数の前記第１親等の友人と複数の前記第２親等の友人について、それぞれの各１親等の友人と各２親等の友人との友人関係別に前記第２の親密度を算出ことを特徴とする請求項１に記載のソーシャルネットワークサービスシステム。
【請求項４】
前記算出部は、
前記第１の親密度の算出及び前記第２の親密度の算出は数式（１）に反映して算出することを特徴とする請求項３に記載のソーシャルネットワークサービスシステム。
【数１】
0006259568.tif 000005
（ここで、ユーザをＸ，Ｘに推薦する２親等の友人をＺとし、その２つの共通の友人数をＭ．Ｆ．Ｃ（Ｘ，Ｚ）と称する。また、ユーザの１親等の友人をＹとして、Ｉ（Ｘ，Ｙｉ）はユーザＸと１親等の友人Ｙの親密度、すなわち疎通量を数値化した値であり、Ｉ（Ｙｉ，Ｚ）は１親等の友人Ｙとその友人の２親等の友人Ｚの親密度を意味し、親密度はＸとＺの共通の友人数だけ求めてユーザＸに対するユーザＺの親密度を求める。）
【請求項５】
前記算出部で算出される親密度は、算定後の検証過程を経て用いられ、
継続的に変化する前記コミュニケーション情報を反映するために前記抽出部でフィードバック過程を経ることを特徴とする請求項１に記載のソーシャルネットワークサービスシステム。
【請求項６】
前記生成部は、
前記算出された親密度を基準として所定の数の推薦する前記２親等の友人だけ残して、残りは除去することを特徴とする請求項１に記載のソーシャルネットワークサービスシステム。
【請求項７】
前記ソーシャルネットワークサービスシステムは、
前記ソーシャルネットワークサービスのユーザを基準としてノードを形成し、
前記ユーザ間の友人関係を示す参照ポインタをトラッキングして所望するデータを得るグラフモデルのクエリ方法を行うことを特徴とする請求項１に記載のソーシャルネットワークサービスシステム。
【請求項８】
前記ソーシャルネットワークサービスシステムは、関連データを格納するメモリ部をさらに含み、
前記メモリ部のメモリの容量を超過するデータをＳＳＤに格納し、
キャッシュアルゴリズムによって前記メモリに前記データを保持することを特徴とする請求項１に記載のソーシャルネットワークサービスシステム。
【請求項９】
前記ソーシャルネットワークサービスシステムは、関連データを格納するメモリ部をさらに含み、
前記メモリ部のメモリを分類して前記データを分散して格納し、
遠隔キャッシュクラウドを含み、前記分散したメモリで前記データを探せない時に参照するようにすることを特徴とする請求項１に記載のソーシャルネットワークサービスシステム。
【請求項１０】
友人を推薦するソーシャルネットワークサービス方法において、
ユーザと友人の１親等の友人との友人関係から、前記ユーザと前記ユーザの１親等の友人との友人関係を示す第１のコミュニケーション情報を抽出し、前記ユーザの１親等の友人と友人関係にある２親等の友人との友人関係から、前記ユーザの１親等の友人と前記２親等の友人との友人関係を示す第２のコミュニケーション情報を抽出するステップと、
前記第１のコミュニケーション情報に基づいて前記ユーザと前記ユーザの１親等の友人との友人関係の第１の親密度を算出するステップと、
前記第２のコミュニケーション情報に基づいて前記ユーザの１親等の友人と前記第２親等の友人との友人関係の第２の親密度を算出するステップと、
前記算出された第１の親密度、第２の親密度、及び前記ユーザと前記第２親等の友人との共通の友人数に基づいて推薦する前記２親等の友人のリストを生成するステップと、
を含むソーシャルネットワークサービス方法。
【請求項１１】
前記ユーザと１親等の友人との友人関係および前記ユーザと前記ユーザと１親等の友人と友人関係にある２親等の友人との友人関係からコミュニケーション情報を抽出するステップで抽出する前記コミュニケーション情報は、
書き込み数や共感数のインタラクション情報と友人関係持続時間のうち少なくとも１つを含み、
前記インタラクション情報は、友人関係において発生する相互作用として少なくとも１つの行為に係る数に基づいて決定することを特徴とする請求項１０に記載のソーシャルネットワークサービス方法。
【請求項１２】
前記抽出されたコミュニケーション情報に基づいて友人関係の親密度を算出するステップは、
前記ユーザと複数の前記第１親等の友人について、それぞれの友人関係別に前記第１の親密度を算出し、
前記複数の前記第１親等の友人と複数の前記第２親等の友人について、それぞれの各１親等の友人と各２親等の友人との友人関係別に前記第２の親密度を算出することを特徴とする請求項１０に記載のソーシャルネットワークサービス方法。
【請求項１３】
前記抽出されたコミュニケーション情報に基づいて友人関係の親密度を算出するステップは、
前記第１の親密度及び前記第２の親密度を数式（１）に反映して算出することを特徴とする請求項１２に記載のソーシャルネットワークサービス方法。
【数２】
0006259568.tif 000006
（ここで、ユーザをＸ，Ｘに推薦する２親等の友人をＺとし、その２つの共通の友人数をＭ．Ｆ．Ｃ（Ｘ，Ｚ）と称する。また、ユーザの１親等の友人をＹとして、Ｉ（Ｘ，Ｙｉ）はユーザＸと１親等の友人Ｙの親密度、すなわち疎通量を数値化した値であり、Ｉ（Ｙｉ，Ｚ）は１親等の友人Ｙとその友人の２親等の友人Ｚの親密度を意味し、親密度はＸとＺの共通の友人数だけ求めてユーザＸに対するユーザＺの親密度を求める。）
【請求項１４】
前記抽出されたコミュニケーション情報に基づいて友人関係の親密度を算出するステップで算出される親密度は、算定後の検証過程を経て用いられ、
継続的に変化する前記コミュニケーション情報を反映するために、
前記ユーザと１親等の友人の友人関係および前記ユーザの１親等の友人と友人関係にある２親等の友人との友人関係からコミュニケーション情報を抽出するステップでフィードバック過程を経ることを特徴とする請求項１０に記載のソーシャルネットワークサービス方法。
【請求項１５】
前記算出された親密度に基づいて推薦する前記２親等の友人のリストを生成するステップは、
前記算出された親密度を基準として所定の数の推薦する前記２親等の友人だけ残して、残りは除去することを特徴とする請求項１０に記載のソーシャルネットワークサービス方法。
【請求項１６】
請求項１０から請求項１５のいずれか一項に記載の方法を実行するプログラムを記録したコンピュータで読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ユーザ間の親密度に基づいて友人の友人を推薦するソーシャルネットワークサービスシステム及びその提供方法に関する。
【背景技術】
【０００２】
ソーシャルネットワークサービス（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ、ＳＮＳ）における友人推薦機能は、ユーザに新しい友人との交流を作るための機能であって、友人関係を結んだ友人数の少ないユーザにとって有用な機能である。従来技術では、特定ユーザの友人を第１グループの友人、そして第１グループの友人の友人を第２グループの友人（特定ユーザの観点から）と定義する時、特定ユーザに第２グループの友人を推薦する機能（友人の友人推薦方式）を提供している。
【０００３】
例えば、ユーザＡ，Ｂが友人関係（Ｆ（Ａ，Ｂ）＝Ｔｒｕｅ）であり、ユーザＡ，Ｃの共通の友人数（Ｍｕｔｕａｌ  Ｆｒｉｅｎｄ  Ｃｏｕｎｔ）をＭ．Ｆ．Ｃ（Ａ，Ｃ）と仮定すると、Ａの推薦の友人集合は、Ａと友人関係にあるＢの友人のうちＡと友人関係が設定されていないＣの集合（Ｆ（Ａ，Ｂ）＝Ｔｒｕｅ  ａｎｄ  Ｆ（Ｂ，Ｃ）＝Ｔｒｕｅ  ａｎｄ  Ｆ（Ａ，Ｃ）＝ｎｏｔ  Ｔｒｕｅ）で定義することができる。ここで、従来技術では、それぞれユーザＣごとにユーザＡ，Ｃの共通の友人数、Ｍ．Ｆ．Ｃ（Ａ，Ｃ）が高い順序に整列し、整列した順序または整列した順序でユーザＡ，Ｃの共通の友人数、Ｍ．Ｆ．Ｃ（Ａ，Ｃ）が設定された値以上である友人をユーザＡに推薦することができる。
【０００４】
しかし、従来技術に係る友人の友人推薦方式は、特定ユーザに第２グループの友人を推薦するにおいて、推薦優先順位を第２グループの友人と特定ユーザがどれだけ多くの共通する友人がいるか（すなわち、上述した共通の友人数）によってのみ決定されていたたため、実際に２人のユーザ（特定ユーザと第２グループの友人）が互いにどれだけ関連がある間柄であるかは反映できないという問題がある。一例として、特定ユーザと第２グループの友人が互いに１００人の共通する友人がいたとしても、２人のユーザは互いに全く知らない関係であることもある。すなわち、共通の友人数は２人のユーザが互いにどれだけ関連のある間柄かを示すことはできないという問題がある。
【０００５】
本明細書では、ソーシャルネットワークサービスにおいて、より効果的に友人を推薦できるソーシャルネットワークサービスシステム及びその方法を提供する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ユーザ間の書き込み数や共感数などの交流（interaction）数や友人関係持続時間などのコミュニケーション情報に基づいてユーザ間の親密度を算出し、算出された親密度に基づいて友人の友人を推薦することによって、実際のユーザ間の親密度に基づいて友人の友人を推薦できるソーシャルネットワークサービスシステム及びその方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の一実施形態によれば、友人を推薦するソーシャルネットワークサービスシステムにおいて、ユーザと第１グループの友人の関係から、そして前記ユーザの友人と友人関係にある第２グループの友人の関係からコミュニケーション情報を抽出する抽出部と、抽出されたコミュニケーション情報に基づいて友人関係の親密度を算出する算出部と、算出された親密度に基づいて推薦する第２グループの友人のリストを生成する生成部とを含むソーシャルネットワークサービスシステムを開示する。
【０００８】
また、抽出部で抽出するコミュニケーション情報は、書き込み数や共感数などの交流情報と友人関係持続時間のうち少なくとも１つを含み、交流情報は、友人関係において発生する相互作用として少なくとも１つの行為に係る数に基づいて決定する
【０００９】
また、算出部は、ユーザと第１グループの友人の関係、そして第１グループの友人と第２グループの友人との友人関係の親密度を算出する。
【００１０】
また、算出部は、親密度を数式（１）に反映して算出する。
【００１１】
【数１】
0006259568.tif 000002
【００１２】
（ここで、ユーザをＸ，Ｘに推薦する第２グループの友人をＺとし、その２つの共通の友人数をＭ．Ｆ．Ｃ（Ｘ，Ｚ）と称する。また、ユーザの第１グループの友人をＢとし、Ｉ（Ｘ，Ｙｉ）はユーザＺと第１グループの友人Ｙの親密指数、すなわち疎通量を数値化する値であり、Ｉ（Ｙｉ，Ｚ）は第１グループの友人Ｙとその友人の第２グループの友人Ｚの親密指数を意味し、親密指数はＸとＺの共通の友人数だけ求める。）
【００１３】
また、算出部で算出される親密度は、算定後の検証過程を経て用いられ、継続的に変化するコミュニケーション情報を反映するために前記抽出部でフィードバック過程を経ることになる。
【００１４】
また、生成部は、算出された親密度を基準として一定数の推薦する第２グループの友人だけ残し、残りは除去する。
【００１５】
また、ソーシャルネットワークサービスシステムは、ユーザ間の友人関係を示す参照ポインタ（Ｒｅｆｅｒｅｎｃｅ  Ｐｏｉｎｔｅｒ）をトラッキング（Ｔｒａｃｋｉｎｇ）して所望するデータを得るグラフモデル（Ｇｒａｐｈ  Ｍｏｄｅｌ）のクエリ方法を行う。
【００１６】
また、ソーシャルネットワークサービスシステムは、関連データを格納するメモリ部をさらに含み、メモリ部のメモリ容量を超過するデータをＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）に格納し、キャッシュアルゴリズム（Ｃａｃｈｅ  Ａｌｇｏｒｉｔｈｍ）によってメモリにデータを保持する。
【００１７】
また、ソーシャルネットワークサービスシステムは、関連データを格納するメモリ部をさらに含み、メモリ部のメモリを分類してデータを分散して格納し、遠隔キャッシュクラウド（Ｒｅｍｏｔｅ  Ｃａｃｈｅ  Ｃｌｏｕｄ）を含み、分散したメモリからデータを探せないときに参照するようにする。
【００１８】
また、本発明の一実施形態によれば、友人を推薦するソーシャルネットワークサービス方法において、ユーザと第１グループの友人の友人関係から、そして前記ユーザの第１グループの友人と友人関係にある第２グループの友人の友人関係からコミュニケーション情報を抽出するステップと、抽出されたコミュニケーション情報に基づいて友人関係の親密度を算出するステップと、算出された親密度に基づいて推薦する前記第２グループの友人のリストを生成するステップとを含む。
【発明の効果】
【００１９】
本発明によれば、書き込み数や共感数などの交流数や、友人関係持続時間などのコミュニケーション情報に基づいてユーザ間の親密度を算出し、算出された親密度に基づいて友人の友人を推薦することによって、実際のユーザ間の親密度に基づいて友人の友人を推薦することができる。
【００２０】
また、ソーシャルネットワークシステムに適した、より速い応答速度を有するデータモデルを構築し、ソーシャルネットワークサービスと関連してより効率的にデータを得ることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態において、ソーシャルネットワークサービスシステムの内部構成を説明するためのブロック図である。
【図２】本発明の一実施形態において、ユーザと友人の間を示して親密度を算出する一例を示す図である。
【図３】本発明の一実施形態において、親密度値の算定プロセスを説明する一例を示す図である。
【図４】本発明の一実施形態において、ソーシャルネットワークサービスシステムに適用可能なデータモデル構造を示す図である。
【図５】本発明の一実施形態において、ソーシャルネットワークサービスシステムに適用可能なデータモデル構造を示す図である。
【図６】本発明の一実施形態において、関係モデリング構造とグラフィックモデリング構造の性能を比較した表である。
【図７】本発明の一実施形態において、関係モデリング構造とグラフモデリング構造、そして予め設定された数の友人数を用いる場合のグラフモデリング構造の性能を比較した表である。
【図８】本発明の一実施形態において、推薦するすべての友人を表示するグラフモデリング構造と推薦する友人の数を設定する場合のグラフモデリング構造の性能を比較した表である。
【図９】本発明の一実施形態において、ソーシャルネットワークサービスシステムを拡張するための方案の一例を示す図である。
【図１０】本発明の一実施形態において、ソーシャルネットワークサービスシステムを拡張するための方案の他の例を示す図である。
【図１１】本発明の一実施形態において、ソーシャルネットワークサービス方法のフローチャートを示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態について添付の図面を参照しながら詳細に説明する。
【００２３】
本発明の実施形態は、ソーシャルネットワークサービス上で特定ユーザの立場で特定ユーザと友人関係が形成された友人の第１グループの友人、そして第１グループの友人と友人関係が形成された友人の特定ユーザの第２グループの友人（すなわち、友人の友人）を第１グループの友人として推薦してユーザが人脈を広げられるようにするためのソーシャルネットワークサービスシステム及びその方法に関する。
【００２４】
ここで、本発明の一実施形態に係るソーシャルネットワークサービスシステム及びその方法では、第２グループの友人を特定ユーザに推薦するために、基本的に特定ユーザと親密度（ｉｎｔｉｍａｃｙ）が高い第１グループの友人、また、特定ユーザと親密度が高い第１グループの友人と親密度が高い第２グループの友人を優先的に特定ユーザに推薦してもよい。
【００２５】
従来の友人の友人推薦方式が、友人の友人を推薦するにあたって推薦優先順位を友人の友人と特定ユーザがどれだけ多くの共通する友人がいるか「（すなわち、共通の友人数）によってのみ決定されたとすれば、一方、本発明の実施形態では、友人関係に親密度数値を反映することによって、実生活と同じように親密度を中心にもう少し親しい友人に比重を置くことができる。
【００２６】
図１は、本発明の実施形態において、ソーシャルネットワークサービスシステム１００の内部構成を説明するためのブロック図である。本実施形態に係るソーシャルネットワークサービスシステム１００は、図１に示すように抽出部１１０、算出部１２０、及び生成部１３０を含んでもよい。
【００２７】
まず抽出部１１０は、ユーザと第１グループの友人の友人関係におけるコミュニケーション情報を、そしてユーザとユーザの友人と友人関係にある第２グループの友人の友人関係からコミュニケーション情報を抽出する。
【００２８】
コミュニケーション情報は、書き込み数や共感数などの交流情報と友人関係持続時間のうち少なくとも１つを含んでもよく、インタラクション情報は友人関係において発生する相互作用として少なくとも１つの行為に係る数に基づいて決定してもよい。例えば、掲示物に書き込みをした回数や共感した回数、掲示物のスクラップや関心のある友人を設定するなどの行為が発生した回数に基づいて交流情報を決定してもよい。
【００２９】
算出部１２０では、抽出されたコミュニケーション情報に基づいて友人関係の親密度を算出する。ここで、算出する親密度は、ユーザと第１グループの友人との友人関係の親密度、そして第１グループの友人と第２グループの友人との友人関係の親密度である。
【００３０】
図２を参考にすると、本発明の実施形態において、ユーザＡからユーザＧまでの計７人のユーザを示している。ユーザＡはユーザに当該し、ユーザＢ，Ｃ、ＤはユーザＡの第１グループの友人、ユーザＥ、Ｆ、ＧはユーザＡに推薦され得る友人、すなわち第２グループの友人である。図２において、双方向の矢印が連結されたユーザは、互いに友人関係が結ばれたユーザを意味してもよく、矢印の上に示された数字は双方向の矢印で連結されて友人関係が結ばれたユーザ間の親密度を示す。
【００３１】
親密度は、どれだけ相手方に書き込みをして共感したかを測定して、それを尺度としてもよい。多くの書き込みをして共感を多くするほど親密度は高く測定され、公開された掲示物に対して演算を実行することができる。
【００３２】
親密度は，友人関係が結ばれた直後の所定の期間の間に形成されてもよく、友人関係を結んでから日が経つほど親密度が減少してもよく、一定の日数が経過すれば１と表示されてもよい。友人関係にあることを示すための基本値は１としてもよい。
【００３３】
親密度を算出するにおいて、親密度の日毎の偏差を減らすために、既存の親密度値を残して平準化する概念を導入してもよく、最近の数日間の値を平準化して算出してもよい。以後、まず、本発明の一実施形態に係る友人推薦アルゴリズムを説明する。まず、ユーザＸを基準として、ＸとＹが友人関係にあるとき、「Ｆ（Ｘ，Ｙ）＝Ｔｒｕｅ」であり、ユーザＸとＺの共通の友人数をＭ．Ｆ．Ｃ（Ｘ，Ｚ）と仮定すると、ユーザＸの推薦の友人集合は、Ｆ（Ｘ，Ｙ）であり、Ｆ（Ｙ，Ｚ）であるＺの集合として定義することができる。ここで、Ｉ（Ｘ，Ｙ）を「Ｘ→Ｙ」の親密度（すなわち、ＸからＹへの疎通量を数値で示した値）と仮定すると、Ｘに対するＺの親密度は下の数式（１）のように算出することができる。
【００３４】
【数２】
0006259568.tif 000003
【００３５】
数式（１）のＸはユーザ、Ｙｉはユーザと第１グループの友人、Ｚはユーザと第２グループの友人を示す。上の式を用いた一例として、図２に示したユーザＡと第２グループの友人ユーザＥ、Ｆ、Ｇとの間の親密度を求めることができる。ユーザＡとＥの共通の友人数、すなわちＭ．Ｆ．Ｃ（Ａ、Ｅ）は「３」、ユーザＡとＦの共通の友人数、すなわちＭ．Ｆ．Ｃ（Ａ、Ｆ）は「１」、ユーザＡとＧの共通の友人数、すなわちＭ．Ｆ．Ｃ（Ａ、Ｇ）は「２」であることが分かる。したがって、従来技術では、共通の友人数を基準として友人を推薦したものであるため、ユーザＥがユーザＡに推薦される確率が最も高くなる。しかし、本発明の一実施形態によって、数式（１）を用いて算出されたユーザＡに対するユーザＥ、ユーザＦ、ユーザＧの親密度をそれぞれ求めれば、「１*２＋５*１＋２*１＝９」、「５*４＝２０」、「５*２＋２*３＝１６」となり、ユーザＡに対するユーザＦの親密度が最も高く、従来技術と差別性があることが分かる。
【００３６】
また、算出部１２０で算出される親密度は、算定後の検証過程を経て用いられ、継続的に変化するコミュニケーション情報を反映するために抽出部１１０でフィードバック（Ｆｅｅｄｂａｃｋ）過程を繰り返し経ることになる。
【００３７】
図３は、本発明の実施形態において、親密度を算定するプロセスを説明する図である。抽出部１１０で抽出する関心のある友人の設定や、書き込み、共感（スクラップ）、友人持続時間などは、変数として継続的に変化するため、全体統計値を集計し、予め一定の範囲内に数値を表示するためにその数値を正常化（Ｎｏｒｍａｌｉｚｅ、あるいは正規化）して調整し、これに対する加重値を適用してその親密度値を算定する。このように算定された親密度値は、再び予め決定した方式の検証過程を経て算出され、継続的に変わる数値を反映するためにフィードバック過程を繰り返してもよい。
【００３８】
親密度を算定するプロセスにおいて、親密度値を正規化する過程で親密度値の偏りがあり得るため、以下の二種類式のうちの１つを選択して正規化してもよい。
【００３９】
【数３】
0006259568.tif 000004
【００４０】
数式（２）の上の式は最小・最大正規化方法によって親密度の最大と最小を用いた式であり、下の式はｚ−ｓｃｏｒｅ正規化方法によって正規化前の親密度と親密度の平均と標準偏差を用いた式である。数式（２）において、Ｉは親密度の原本値、Ｉ’は正規化された親密度値、Ａは親密度の平均、бは親密度の標準偏差を示す。
【００４１】
図４と図５は、ソーシャルネットワークサービスシステム１００に適用可能なデータモデリング構造を示す図である。ソーシャルネットワークに適合したデータモデルは、関係モデル（Ｒｅｌａｔｉｏｎａｌ  Ｍｏｄｅｌ）とグラフモデルで示すことができる。図４は、関係モデル、図５は、グラフモデルのモデリング方式を説明している。
【００４２】
図４の関係モデルは、ユーザとユーザの第１グループの友人、そして第２グループの友人を一対一の関係で連結して対応するように結合演算（Ｊｏｉｎ  Ｏｐｅｒａｔｉｏｎ）や再クエリ方法を行うモデルであり、図５のグラフモデルは、ソーシャルネットワークサービスのユーザを基準としてノードを形成し、ユーザ間の友人関係を示す参照ポインタをトラッキングして所望するデータを得るクエリ方法を行うモデルである。
【００４３】
ユーザの友人の友人を求めるとき、ユーザの友人のデータおよび友人の友人データは、順序に従って得ることが可能である。この過程で、重複するデータや、すでに友人のデータは除去されてもよい。
【００４４】
このような過程を進めるためには、結合演算方法と再クエリ方法とがある。２つの方法は、システム１００内で概ね同様に処理される。再クエリを多くしたり結合演算をするようになれば、前・後処理がさらに必要となって演算量が増加するようになるが、実際にはグラフモデルを用いる時にさらに速いデータ処理が可能である。その理由は、演算処理がメモリ演算にのみ可能であるためであるが、参照ポインタに連結されているということは、ノードから他のノードのメモリアドレスをもっているという点である。すなわち、ノードから他のノードに移動するとき、メモリ演算だけで可能ということである。
【００４５】
一例として、上述した関係モデルとグラフモデル構造の性能を比較した表として、図６を参考にすることができる。図６の実施形態は、２５万人の友人を有するユーザの第２グループの友人を探す演算を関係モデル構造とグラフモデル構造に対して各々行う時の応答速度を示している。実施形態における結果で導き出された第２グループの友人の数は９、０６０、７１２人であり、第２グループの友人を導き出すまでにかかる時間を比較すると、関係モデルは５．９秒、グラフモデルは０．１５秒で約４０倍の速度差が生じ、グラフモデルの応答速度が速い応答速度を示すことを確認することができる。
【００４６】
グラフモデルが適用可能な商品の特性は、有効性（Ａｖａｉｌａｂｉｌｉｔｙ）と実行能力（Ｐｅｒｆｏｒｍａｎｃｅ）によって多くの種類に分けられるが、このうち特定商品の実現方式を参考にして実施し、システムの有効性を向上させるために応答フェイルオーバ（Ｒｅｐｌｉｃａｔｉｏｎ  Ｆａｉｌｏｖｅｒ）機能を行ってもよい。応答フェイルオーバ機能は、データを代替コンピュータシステムにバックアップしておき、ソーシャルネットワークサービスシステム１００に障害が発生して利用できない場合に、代替システムを作動できるものである。
【００４７】
ソーシャルネットワークサービスシステム１００において、生成部１３０は、算出された親密度を基準として一定数の推薦する第２グループの友人だけを残して残りは除去してもよい。なぜなら、このような実行過程は、友人数が非常に多いユーザの場合、ユーザ本人と友人に友人推薦演算の性能の低下を生じさせる可能性があるためである。実際にソーシャルネットワークサービスを用いる人が増加する中でユーザの友人数が非常に多いユーザも増加している。
【００４８】
したがって、友人数が多いユーザによる性能低下を克服するために、親密度の順に設定した数の友人数だけを推薦する方法を用いてもよいが、この設定する数はダンバー数（Ｄｕｎｂａｒ’ｓ  ｎｕｍｂｅｒ）に基づいてもよい。ダンバー数とは、オックスフォード大学の進化人類学教授であったロビンダンバー（Ｒｏｂｉｎ  Ｄｕｎｂａｒ）の研究結果として人間の脳が近い人脈と記憶できる人の数は１５０人程であるという理論から出た数であり、本発明で推薦する友人の数の設定値に用いてもよく、ここで除外した友人は、演算から除外してもよい。
【００４９】
これに関連する一例として、先に見た実施形態を拡張して２５万人の友人をもつユーザに対して、関係モデルと、グラフモデル、そして２５万人の友人のうち親密度によって設定された友人数（例えば１５０人）に制限されたグラフモデル、このように三種類のモデルによってユーザの第２グループの友人を求める時の性能を比較する表を図７に示す。
【００５０】
図に示すように、関係モデルとグラフモデルの応答速度は、約４０倍程の差でグラフモデルの性能が優れているが、同じ条件でユーザの友人を２５万人から１５０人に縮小したときの応答時間は、０．０００５秒程で同じグラフモデルの応答速度の３００倍程の性能を示すことがある。
【００５１】
より詳しくグラフモデルと親密度に応じて設定された友人数を用いる場合のグラフモデルを比較する。図８では、グラフモデル及び親密度に応じて設定された友人数を用いる場合のグラフモデリング方式を用いて、友人の友人を求める演算を行った場合の結果数（Ｒｅｓｕｌｔ  ｃｏｕｎｔ、探した友人の友人数）、メモリ使容量（Ｍｅｍｏｒｙ）、負荷時間（Ｌｏａｄ  ｔｉｍｅ）を各々示している。比較した結果、親密度によって友人数を設定する場合のグラフモデルが結果数（Ｒｅｓｕｌｔ  Ｃｏｕｎｔ）を９９％程、メモリ（Ｍｅｍｏｒｙ）を３２％程、負荷時間（Ｌｏａｄ  Ｔｉｍｅ）を２３％程減らすことにより、ソーシャルネットワークサービスシステム１００の性能を向上させることができる。
【００５２】
ソーシャルネットワークサービスシステム１００は、サービスの急激な成長に伴って、１つのサーバや１つのメモリを介して友人関係に係る人脈情報を全て格納することができない場合が生じる可能性がある。実際に全世界的に実施されるソーシャルネットワークサービスは、その加入者数が億人台に達し、これに係るデータなどの量は膨大なものと予想される。
【００５３】
したがって、システムのデータ格納の拡張性の問題を解決するためにソーシャルネットワークサービスシステム１００は、関連するデータを格納するメモリ部１４０をさらに含み、メモリ部１４０は少なくとも１つのメモリを含み、図９のように、メモリ部１４０のメモリの容量を超過するデータは、別の半導体格納媒体のＳＳＤに格納し、キャッシュアルゴリズムによってメモリにデータを保持することができる。キャッシュアルゴリズムは、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）やＬＦＵ（Ｌｅａｓｔ  Ｆｒｅｑｕｅｎｔｌｙ  Ｕｓｅｄ）に該当し、メモリの使用頻度や最近使用有無によってメモリにデータを保持することができる。
【００５４】
または、図１０を参考にして説明すると、システムのデータ拡張性問題を解決するために、メモリ部１４０のメモリを分類アルゴリズムを用いてデータを分散して格納し、ローカルメモリでデータを探せない、または存在しない場合、遠隔キャッシュクラウドを介して分散したメモリからデータを参照するようにしてもよい。
【００５５】
図１１は、本発明の一実施形態において、ソーシャルネットワークサービス方法を示すフローチャートである。実施形態に係るソーシャルネットワークサービス方法は、図１で説明したソーシャルネットワークサービスシステム１００によって各ステップを行ってもよい。
【００５６】
友人を推薦するソーシャルネットワークサービス方法において、ステップＳ１１１０でソーシャルネットワークサービスシステム１００は、ユーザと第１グループの友人の友人関係から、そしてユーザの第１グループの友人と友人関係にある第２グループの友人の友人関係からコミュニケーション情報を抽出してもよい。ステップＳ１１１０で抽出するコミュニケーション情報は、書き込み数や共感数などのインタラクション情報と友人関係持続時間のうち少なくとも１つを含んでもよく、インタラクション情報は友人関係において発生する相互作用として少なくとも１つの行為に係る数に基づいて決定してもよい。
【００５７】
また、ステップＳ１１２０において、ソーシャルネットワークサービスシステム１００は、ステップＳ１１１０で抽出されたコミュニケーション情報に基づいて友人関係の親密度を算出してもよい。
【００５８】
ステップＳ１１２０は、ユーザと第１グループの友人の友人関係、そして第１グループの友人と第２グループの友人との友人関係の親密度を算出してもよく、友人関係における疎通量を数値化し、第１グループの友人とその友人である第２グループの友人の親密度を求めるのに数値化された疎通量の積を用いて、親密度はユーザとユーザに推薦する第２グループの友人の共通の友人数だけ求めてもよい。
【００５９】
それと共に、算出される親密度は、算定後の検証過程を経て用いられ、継続的に変化するコミュニケーション情報を反映するために、ユーザと第１グループの友人の友人関係から、そしてユーザの第１グループの友人と友人関係にある第２グループの友人の友人関係からコミュニケーション情報を抽出するステップでフィードバック過程を経ることができるが、フィードバック過程を介して親密度値が算定され、検証が完了すると、再びコミュニケーション情報を集計して新しい親密度値を算定してもよい。
【００６０】
親密度が算出された後に、ソーシャルネットワークサービスシステム１００は、ステップＳ１１２０によって算出された親密度に基づいて推薦する第２グループの友人のリストを生成するステップＳ１１３０を実行してもよい。
【００６１】
ステップＳ１１３０は、算出された親密度を基準として一定数の推薦する第２グループの友人だけを残して残りは除去してもよいが、推薦する友人数はダンバー数の１５０人を基準としてもよく、このように推薦する友人数を制限するのは、不必要な推薦友人目録を減らしてユーザに簡潔なシステムを提供したり、ソーシャルネットワークサービスシステム１００の拡張性の問題と関連させてもよい。
【００６２】
このように、本発明の実施形態によれば、書き込み数や共感数などのインタラクション数や友人持続時間などのコミュニケーション情報に基づいてユーザ間の親密度を算出し、算出された親密度に基づいて友人の友人を推薦することによって、実際のユーザ間の親密度に基づいて友人の友人を推薦することができる。
【００６３】
本発明の実施形態に係る方法は、多様なコンピュータ手段によって行うことができるプログラム命令形態で実現され、コンピュータ読み出し可能媒体に記録してもよい。前記記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。前記記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。
【００６４】
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【００６５】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【００６６】
１００：ソーシャルネットワークサービスシステム
１１０：抽出部
１２０：算出部
１３０：生成部
１４０：メモリ部
【図１】
0006259568.tif 000007
【図２】
0006259568.tif 000008
【図３】
0006259568.tif 000009
【図４】
0006259568.tif 000010
【図５】
0006259568.tif 000011
【図６】
0006259568.tif 000012
【図７】
0006259568.tif 000013
【図８】
0006259568.tif 000014
【図９】
0006259568.tif 000015
【図１０】
0006259568.tif 000016
【図１１】
0006259568.tif 000017