特許第6367289号(P6367289)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フェイスブック,インク.の特許一覧

特許6367289オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト
<>
  • 特許6367289-オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト 図000065
  • 特許6367289-オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト 図000066
  • 特許6367289-オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト 図000067
  • 特許6367289-オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト 図000068
  • 特許6367289-オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト 図000069
  • 特許6367289-オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト 図000070
  • 特許6367289-オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト 図000071
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6367289
(24)【登録日】2018年7月13日
(45)【発行日】2018年8月1日
(54)【発明の名称】オンライン・ソーシャル・ネットワークにおけるネットワーク指向の製品ロールアウト
(51)【国際特許分類】
   G06Q 10/04 20120101AFI20180723BHJP
   G06Q 50/00 20120101ALI20180723BHJP
【FI】
   G06Q10/04
   G06Q50/00 300
【請求項の数】23
【全頁数】55
(21)【出願番号】特願2016-184612(P2016-184612)
(22)【出願日】2016年9月21日
(62)【分割の表示】特願2016-516014(P2016-516014)の分割
【原出願日】2014年7月7日
(65)【公開番号】特開2017-54514(P2017-54514A)
(43)【公開日】2017年3月16日
【審査請求日】2017年6月14日
(31)【優先権主張番号】13/939,093
(32)【優先日】2013年7月10日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】マーロウ、キャメロン アレクサンダー
(72)【発明者】
【氏名】エクルス、ディーン
(72)【発明者】
【氏名】カーラー、ブライアン
(72)【発明者】
【氏名】ウガンダー、ヨハン
(72)【発明者】
【氏名】バックストーム、ラーズ セレン
(72)【発明者】
【氏名】クラインベルク、ジョン
【審査官】 青柳 光代
(56)【参考文献】
【文献】 特表2010−520564(JP,A)
【文献】 米国特許出願公開第2010/0145771(US,A1)
【文献】 米国特許出願公開第2013/0151332(US,A1)
【文献】 特表2015−501990(JP,A)
【文献】 米国特許出願公開第2013/0124634(US,A1)
【文献】 中澤 功,次世代マーケティングに強くなる DRM要語録 第13回,I.M.press,日本,株式会社インプレス,2002年 6月25日,第74巻,P.28-31
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 − 99/00
G16H 10/00 − 80/00
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のコンピューティング・デバイスに関連付けられている1つまたは複数のプロセッサが、
アプリケーション・サーバから第1のクライアント・システム集合に、前記第1のクライアント・システム集合に関連付けられているオンライン・ソーシャル・ネットワークの第1のユーザ集合に修正を提供するための命令を送信する工程と、
前記第1のクライアント・システム集合の1または複数のクライアント・システムから、前記第1のユーザ集合の1または複数のユーザによる前記修正に関連付けられているユーザのインタラクションに関する情報を受信する工程と、
前記アプリケーション・サーバの1または複数のプロセッサが、前記修正に関連付けられているユーザのインタラクションに関する前記情報と各ユーザに関する前記修正へのネットワーク露出に基づいて前記第1のユーザ集合の前記ユーザに対する前記修正の平均の修正効果を決定する工程であって、特定のユーザに関する前記ネットワーク露出は、前記修正の提供された前記オンライン・ソーシャル・ネットワークにおいて前記特定のユーザに接続されている他のユーザの測定値である、効果決定工程と、
前記アプリケーション・サーバの前記1または複数のプロセッサが、決定した前記平均の修正効果に基づいて前記修正を変更する修正変更工程と、
前記アプリケーション・サーバから第2のクライアント・システム集合に、前記第2のクライアント・システム集合に関連付けられている前記オンライン・ソーシャル・ネットワークの第2のユーザ集合に変更した前記修正を提供するための命令を送信する工程であって、前記第2のユーザ集合は、前記第1のユーザ集合とは独立である、前記第1のユーザ集合とは重なり合わないユーザ集合である、工程と、
前記第2のクライアント・システム集合の1または複数のクライアント・システムから、前記第2のユーザ集合の1または複数のユーザによる変更した前記修正に関連付けられているユーザのインタラクションに関する情報を受信する工程と、
前記アプリケーション・サーバの前記1または複数のプロセッサが、変更した前記修正に関連付けられているユーザのインタラクションに関する前記情報と各ユーザに関する変更した前記修正への前記ネットワーク露出に基づいて前記第2のユーザ集合の前記ユーザに対する変更した前記修正の変更した修正効果を決定する工程と、
前記アプリケーション・サーバから第3のクライアント・システム集合に、前記第3のクライアント・システム集合に関連付けられている前記オンライン・ソーシャル・ネットワークの第3のユーザ集合に更新した修正を提供するための命令を送信する工程であって、更新した前記修正は、決定した前記変更した修正効果に基づく、工程と、を行う方法。
【請求項2】
前記平均の修正効
【数1】
を決定する工程は
【数2】
を決定する工程を含み、ここで
Zは、{0,1}の値を含むランダム・ベクトルを表し、
nは、特定のクラスタにおけるノードの数であり、
【数3】
は、修正グループのユーザを表す
【数4】
の露出条件を表し、
【数5】
は、対照グループのユーザを表す
【数6】
の露出条件を表し、
【数7】
は、修正割り振りベクトルZの下でのユーザiの有り得る結果であり、
【数8】
は、前記修正のネットワーク露出の確率であり、
【数9】
は、対照のネットワーク露出の確率であり、
iは、前記ノードに関連付けられている前記ユーザを表す、請求項に記載の方法。
【請求項3】
前記修正または変更された前記修正は前記オンライン・ソーシャル・ネットワークの前記ユーザのすべてに提供される、請求項1に記載の方法。
【請求項4】
前記修正変更工程は、前記修正との前記ユーザの経験を最適化する工程を含む、請求項1に記載の方法。
【請求項5】
前記修正変更工程は、前記修正との前記ユーザのインタラクションを最適化する工程を含む、請求項1に記載の方法。
【請求項6】
前記修正は、前記修正が最終のローンチに対して完了するまで、続けて変更され、前記最終のローンチは、前記ソーシャル・ネットワークの全体に前記修正を提供することを含む、請求項1に記載の方法。
【請求項7】
前記第1のユーザ集合および前記第2のユーザ集合は、前記オンライン・ソーシャル・ネットワークのユーザの第1のクラスタおよび第2のクラスタに対応し、前記第1のクラスタは、前記第1のクラスタと前記第2のクラスタと間に重なり合いが存在しないように、前記第2のクラスタとは独立である、請求項1に記載の方法。
【請求項8】
各クラスタに関して、前記クラスタにおけるノードの前記ネットワーク露出は、閾値レベルのネットワーク露出から最大レベルのネットワーク露出までの範囲の指定された分布を有する、請求項に記載の方法。
【請求項9】
前記修正効果は、前記ユーザに関する前記修正のネットワーク効果と前記ユーザに関する前記修正の個人効果との関数である、請求項1に記載の方法。
【請求項10】
前記オンライン・ソーシャル・ネットワークは、複数のノードと前記複数のノードを接続する複数のエッジとを含むソーシャル・グラフを含み、前記複数のノードのうちの2つのノードの間の前記複数のエッジの各々は前記ノードの間の1次の隔たりを表し、前記複数のノードは前記オンライン・ソーシャル・ネットワークに関連付けられている複数のユーザに対応する、請求項1に記載の方法。
【請求項11】
特定のクラスタにおけるノードは、前記ノードの1次の隔たり以内のノードの閾値部分が同じ修正条件にある場合、ネットワーク露出される、請求項10に記載の方法。
【請求項12】
グラフ・クラスタリングを用いて前記ソーシャル・グラフにおける重なっていないクラスタを識別する工程であって、前記クラスタは前記複数のノードからのノードの独立した集合を含む、工程をさらに備える、請求項10に記載の方法。
【請求項13】
識別した前記重なっていないクラスタは、前記第1のユーザ集合に対応する、請求項12に記載の方法。
【請求項14】
前記効果決定工程は、指定された分布の範囲のネットワーク露出の異なる複数のレベルについて前記修正の前記修正効果を決定する工程を含む、請求項1に記載の方法。
【請求項15】
前記修正は特定の広告である、請求項1に記載の方法。
【請求項16】
前記修正は、サードパーティ・システムの特定の製品またはフィーチャである、請求項1に記載の方法。
【請求項17】
前記修正は、前記オンライン・ソーシャル・ネットワークの特定の製品またはフィーチャである、請求項1に記載の方法。
【請求項18】
決定した前記変更した修正効果に基づき、前記アプリケーション・サーバから第3のクライアント・システム集合に、前記第3のクライアント・システム集合に関連付けられている前記オンライン・ソーシャル・ネットワークの第3のユーザ集合に変更した前記修正を提供するための命令を送信する工程をさらに備える、請求項1に記載の方法。
【請求項19】
n個の修正条件
【数10】
を有する修正
【数11】
の修正効果は、ユーザiに関して、修正条件に対する露出を与えられたユーザの挙動
【数12】
と、対照条件に対する露出を与えられたユーザの挙動
【数13】
と、修正条件に対するネットワーク露出の確率
【数14】
と、対照条件に対するネットワーク露出の確率
【数15】
との比較に基づき計算される、請求項1に記載の方法。
【請求項20】
前記第3のユーザ集合は、前記第1のユーザ集合および前記第2のユーザ集合とは独立である、前記第1のユーザ集合および前記第2のユーザ集合とは重なり合わないユーザ集合である、請求項1に記載の方法。
【請求項21】
前記第3のユーザ集合は、前記第1のユーザ集合および前記第2のユーザ集合を含めて、前記オンライン・ソーシャル・ネットワークのすべてのユーザを含む、請求項1に記載の方法。
【請求項22】
ソフトウェアを具現化する1または複数の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは実行時、
アプリケーション・サーバから第1のクライアント・システム集合に、前記第1のクライアント・システム集合に関連付けられているオンライン・ソーシャル・ネットワークの第1のユーザ集合に修正を提供するための命令を送信する工程と、
前記第1のクライアント・システム集合の1または複数のクライアント・システムから、前記第1のユーザ集合の1または複数のユーザによる前記修正に関連付けられているユーザのインタラクションに関する情報を受信する工程と、
前記アプリケーション・サーバの1または複数のプロセッサが、前記修正に関連付けられているユーザのインタラクションに関する前記情報と各ユーザに関する前記修正へのネットワーク露出に基づいて前記第1のユーザ集合の前記ユーザに対する前記修正の平均の修正効果を決定する工程であって、特定のユーザに関する前記ネットワーク露出は、前記修正の提供された前記オンライン・ソーシャル・ネットワークにおいて前記特定のユーザに接続されている他のユーザの測定値である、効果決定工程と、
前記アプリケーション・サーバの前記1または複数のプロセッサが、決定した前記平均の修正効果に基づいて前記修正を変更する修正変更工程と、
前記アプリケーション・サーバから第2のクライアント・システム集合に、前記第2のクライアント・システム集合に関連付けられている前記オンライン・ソーシャル・ネットワークの第2のユーザ集合に変更した前記修正を提供するための命令を送信する工程であって、前記第2のユーザ集合は、前記第1のユーザ集合とは独立である、前記第1のユーザ集合とは重なり合わないユーザ集合である、工程と、
前記第2のクライアント・システム集合の1または複数のクライアント・システムから、前記第2のユーザ集合の1または複数のユーザによる変更した前記修正に関連付けられているユーザのインタラクションに関する情報を受信する工程と、
前記アプリケーション・サーバの前記1または複数のプロセッサが、変更した前記修正に関連付けられているユーザのインタラクションに関する前記情報と各ユーザに関する変更した前記修正への前記ネットワーク露出に基づいて前記第2のユーザ集合の前記ユーザに対する変更した前記修正の変更した修正効果を決定する工程と、
前記アプリケーション・サーバから第3のクライアント・システム集合に、前記第3のクライアント・システム集合に関連付けられている前記オンライン・ソーシャル・ネットワークの第3のユーザ集合に更新した修正を提供するための命令を送信する工程であって、更新した前記修正は、決定した前記変更した修正効果に基づく、工程と、を行うように構成されている、媒体。
【請求項23】
1または複数のプロセッサと、前記プロセッサに結合されており前記プロセッサによって実行可能な命令を含むメモリと、を備えるシステムであって、前記プロセッサは前記命令の実行時、
アプリケーション・サーバから第1のクライアント・システム集合に、前記第1のクライアント・システム集合に関連付けられているオンライン・ソーシャル・ネットワークの第1のユーザ集合に修正を提供するための命令を送信する工程と、
前記第1のクライアント・システム集合の1または複数のクライアント・システムから、前記第1のユーザ集合の1または複数のユーザによる前記修正に関連付けられているユーザのインタラクションに関する情報を受信する工程と、
前記アプリケーション・サーバの1または複数のプロセッサが、前記修正に関連付けられているユーザのインタラクションに関する前記情報と各ユーザに関する前記修正へのネットワーク露出に基づいて前記第1のユーザ集合の前記ユーザに対する前記修正の平均の修正効果を決定する工程であって、特定のユーザに関する前記ネットワーク露出は、前記修正の提供された前記オンライン・ソーシャル・ネットワークにおいて前記特定のユーザに接続されている他のユーザの測定値である、効果決定工程と、
前記アプリケーション・サーバの前記1または複数のプロセッサが、決定した前記平均の修正効果に基づいて前記修正を変更する修正変更工程と、
前記アプリケーション・サーバから第2のクライアント・システム集合に、前記第2のクライアント・システム集合に関連付けられている前記オンライン・ソーシャル・ネットワークの第2のユーザ集合に変更した前記修正を提供するための命令を送信する工程であって、前記第2のユーザ集合は、前記第1のユーザ集合とは独立である、前記第1のユーザ集合とは重なり合わないユーザ集合である、工程と、
前記第2のクライアント・システム集合の1または複数のクライアント・システムから、前記第2のユーザ集合の1または複数のユーザによる変更した前記修正に関連付けられているユーザのインタラクションに関する情報を受信する工程と、
前記アプリケーション・サーバの前記1または複数のプロセッサが、変更した前記修正に関連付けられているユーザのインタラクションに関する前記情報と各ユーザに関する変更した前記修正への前記ネットワーク露出に基づいて前記第2のユーザ集合の前記ユーザに対する変更した前記修正の変更した修正効果を決定する工程と、
前記アプリケーション・サーバから第3のクライアント・システム集合に、前記第3のクライアント・システム集合に関連付けられている前記オンライン・ソーシャル・ネットワークの第3のユーザ集合に更新した修正を提供するための命令を送信する工程であって、更新した前記修正は、決定した前記変更した修正効果に基づく、工程と、を行うように構成されている、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、オンライン・ソーシャル・ネットワーク、およびオンライン環境においてフィーチャまたは製品をローンチすることに関する。
【背景技術】
【0002】
ソーシャルネットワーキング・システム(ソーシャルネットワーキング・ウェブサイトを含むことができる)は、そのソーシャルネットワーキング・システムのユーザ(人または組織など)がそのソーシャルネットワーキング・システムと、およびそのソーシャルネットワーキング・システムを通じて互いに対話することを可能にすることができる。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャルネットワーキング・システム内に格納することができる。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含むことができる。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャルネットワーキング・システムのその他のユーザとの関係のレコードを作成および格納すること、ならびにサービス(たとえば、ウォール・ポスト、写真共有、イベント編成、メッセージング、ゲーム、または広告)を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
【0003】
ソーシャルネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、1つまたは複数のネットワークを介して、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信することができる。ユーザは、自分のユーザ・プロフィールおよびソーシャルネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャルネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュースフィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成することができる。
【0004】
A/Bテストは、オンライン試験の効果を評価するための標準的な手法である。典型的に、A/Bテストは、試験の対照(control)および修正(treatment)を表す2つの変数(典型的に、AおよびBと呼ばれる)を用いるランダム化された試験を使用する。そのような試験は、ウェブの開発およびマーケティングならびにより古くからある形態の広告でよく使用される。オンラインの状況で、目的は、典型的には、オンライン環境に対する変化がその環境に対するユーザの挙動にどのように影響を与えるかを決定することである。対照グループと修正グループとが比較されるが、それらは、ユーザの挙動に影響し得る1つの変更点を除いて、ほぼ同一である。
【図面の簡単な説明】
【0005】
図1】ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す図。
図2】例示的なソーシャル・グラフを示す図。
図3】ソーシャル・グラフのクラスタの例を示す図。
図4】例示的な確率分布を示す図。
図5】例示的な閉路グラフおよび分散の計算のプロットを示す図。
図6】修正効果を決定するための例示的な方法を示す図。
図7】例示的なコンピュータ・システムを示す図。
【発明を実施するための形態】
【0006】
特定の実施形態において、ソーシャルネットワーキング・システムは、新しい製品、フィーチャ、広告、または経験(「修正」)がオンライン・ソーシャル・ネットワークのユーザに対してローンチ(launch)されるその仕方を、特定のユーザ・クラスタに対するローンチを互い違いに行うことによって、改善することが可能である。テストおよびロールアウト(rollout)は、標準的なA/Bテストの手法を使用して新しい修正をテストするのではなく、ネットワーク指向のやり方でなされることができる。たとえば、独立したユーザ・クラスタが、好適なクラスタリング・アルゴリズムを使用して識別され得る。これらのユーザ・クラスタは、特定のクラスタのユーザが同じクラスタのその他のユーザに関連してネットワーク露出される(network exposed)ように定義され得る。これは、これが特定のユーザおよびそのユーザの友達のほとんどが当該修正を受け取ることを保証し得るので、修正効果がより効率的に決定されることを可能にし得る。このことは、修正が別のユーザも伴って使用され得るときのほうがより有用となる修正に関して特に有利である場合がある(たとえば、オンライン・チャット・アプリケーション)。ユーザ・クラスタが識別された後、修正は、第1のユーザ・クラスタ集合に提供され、それらのユーザでテストされ得る。そして、この第1のユーザ・クラスタ集合から受け取られたデータが、それらのユーザに対する修正の修正効果を決定するために分析されることができる。次いで、修正は、次のユーザ・クラスタ集合に対してロールアウトされる前に変更されることが可能である。修正をロールアウトするこの段階的な手法が、製品がすべてのユーザにローンチされるまで行われ得る。
【0007】
システムの概要
図1は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示している。ネットワーク環境100は、ネットワーク110によって互いにつながっているクライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を含む。図1は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示しているが、本開示は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、ネットワーク110を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図1は、特定の数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示しているが、本開示は、任意の適切な数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を想定している。限定ではなく、例として、ネットワーク環境100は、複数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含むことができる。
【0008】
本開示は、任意の適切なネットワーク110を想定している。限定ではなく、例として、ネットワーク110の1つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイド・エリア・ネ
ットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク110は、1つまたは複数のネットワーク110を含むことができる。
【0009】
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続することができる。本開示は、任意の適切なリンク150を想定している。特定の実施形態においては、1つまたは複数のリンク150は、1つもしくは複数の有線リンク(たとえば、デジタル・サブスクライバ・ライン(DSL)もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様(DOCSIS)など)、ワイヤレス・リンク(たとえば、Wi−Fiもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス(WiMAX)など)、または光リンク(たとえば、同期光ネットワーク(SONET)もしくは同期デジタル階層(SDH)など)を含む。特定の実施形態においては、1つまたは複数のリンク150はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク150、または複数のそのようなリンク150の組合せを含む。リンク150は、ネットワーク環境100の全体を通じて必ずしも同じである必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の点において1つまたは複数の第2のリンク150とは異なることが可能である。
【0010】
特定の実施形態においては、クライアント・システム130は、クライアント・システム130によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアント・システム130は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、eブック・リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム130を想定している。クライアント・システム130は、クライアント・システム130のネットワーク・ユーザがネットワーク110にアクセスすることを可能にすることができる。クライアント・システム130は、自分のユーザがその他のクライアント・システム130のその他のユーザと通信することを可能にすることができる。
【0011】
特定の実施形態においては、クライアント130は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOXなどのウェブ・ブラウザ132を含むことができ、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBARなどのその他の拡張を有することができる。クライアント・システム130のユーザは、ウェブ・ブラウザ132を特定のサーバ(サーバ162、またはサードパーティ・システム170に関連付けられているサーバなど)へ導くユニフォーム・リソース・ロケータ(URL)またはその他のアドレスを入力することができ、ウェブ・ブラウザ132は、ハイパー・テキスト転送プロトコル(HTTP)要求を生成して、そのHTTP要求をサーバに通信することができる。サーバは、そのHTTP要求を受け入れて、そのHTTP要求に応答して1つまたは複数のハイパー・テキスト・マークアップ言語(HTML)ファイルをクライアント・システム130に通信することができる。クライアント・システム130は、ユ
ーザに提示するためにサーバからのHTMLファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパー・テキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで書かれたスクリプトなどのスクリプト、AJAX(Asynchronous JAVASCRIPT(登録商標)
and XML)などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、1つまたは複数の対応するウェブページ・ファイル(そのウェブページをレンダリングするためにブラウザが使用することができる)を含み、その逆もまた同様である。
【0012】
特定の実施形態においては、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであることが可能である。ソーシャルネットワーキング・システム160は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、格納すること、受け取ること、および送信することが可能である。ソーシャルネットワーキング・システム160は、ネットワーク環境100のその他のコンポーネントによって直接、またはネットワーク110を介してアクセスされることが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のサーバ162を含むことができる。それぞれのサーバ162は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ162は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Exchangeサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ162は、サーバ162によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム164は、1つまたは複数のデータ・ストア164を含むことができる。データ・ストア164は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施形態においては、データ・ストア164内に格納されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ストア164は、リレーショナル、コラム、相関関係、または他の好適なデータベースを含むことができる。この開示は、特定のタイプのデータベースを説明する、または図示するが、この開示は、任意の好適なタイプのデータベースを検討する。特定の実施形態は、クライアント・システム130、ソーシャルネットワーキング・システム160、またはサードパーティ・システム170が、データ・ストア164内に格納されている情報を管理すること、取り出すこと、変更すること、追加すること、または削除することを可能にするインタフェースを提供することができる。
【0013】
特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャル・グラフを1つまたは複数のデータ・ストア164内に格納することができる。特定の実施形態においては、ソーシャル・グラフは、複数のノード(複数のユーザ・ノード(それぞれが、特定のユーザに対応している)、または複数のコンセプト
・ノード(それぞれが、特定のコンセプトに対応している)を含むことができる)と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャルネットワーキング・システム160を介してオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキング・システム160のその他の複数のユーザにつながり(例えば、関係)を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャルネットワーキング・システム160を介して、つながり、関連付け、または関係を形成しているソーシャルネットワーキング・システム160のその他の任意のユーザを指すことができる。
【0014】
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを行う能力をユーザに提供することができる。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキング・システム160のユーザが属することが可能であるグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキング・システム160において、またはサードパーティ・システム170の外部システム(ソーシャルネットワーキング・システム160とは別個のものであって、ネットワーク110を介してソーシャルネットワーキング・システム160に結合されている)によって表されることが可能である任意のものと対話することができる。
【0015】
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソーシャルネットワーキング・システム160は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム170もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース(API)もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
【0016】
特定の実施形態においては、サードパーティ・システム170は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、1つもしくは複数のインタフェース(APIを含むが、それには限定されない)、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または(たとえば、サーバが通信することができる)その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム170は、ソーシャルネットワーキング・システム160を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・システム160およびサードパーティ・システム170は、ソーシャルネットワーキング・システム160またはサードパーティ・システム170のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能することができる。この意味において、ソーシャルネットワーキング・システム160は、サードパーティ・システム170などのその他のシステムがインターネットを介してソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
【0017】
特定の実施形態においては、サードパーティ・システム170は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの1つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム130に通信されることが可能である。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトを含むことができる。
【0018】
特定の実施形態においては、ソーシャルネットワーキング・システム160はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャルネットワーキング・システム160とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキング・システム160に付加、アップロード、送信、または「ポスト(投稿)」することができる任意のものを含むことができる。限定ではなく、例として、ユーザは、クライアント・システム130からソーシャルネットワーキング・システム160へポストを通信する。ポストは、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、ビデオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキング・システム160に付加されることも可能である。
【0019】
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含むことができる。ソーシャルネットワーキング・システム160は、適切なコンポーネント、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザ・プロフィールを格納するための1つまたは複数のユーザプロフィール・ストアを含むことができる。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、1つまたは複数のカテゴリに関連した関心を含むことができる。カテゴリは、一般的または具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね!」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を格納するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、
学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ(内部および外部の両方)の間におけるユーザ定義のつながりを含むこともできる。ネットワーク110を介してソーシャルネットワーキング・システム160を1つもしくは複数のクライアント・システム130または1つもしくは複数のサードパーティ・システム170にリンクさせるために、ウェブ・サーバが使用されることが可能である。ウェブ・サーバは、ソーシャルネットワーキング・システム160と、1つまたは複数のクライアント・システム130との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含むことができる。API要求サーバは、サードパーティ・システム170が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキング・システム160からの情報にアクセスすることを可能にすることができる。ソーシャルネットワーキング・システム160の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用されることが可能である。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持されることが可能である。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム130に提供することができる。情報は、通知としてクライアント・システム130へ押し出されることが可能であり、または情報は、クライアント・システム130から受け取られた要求に応答してクライアント・システム130から引き出されることが可能である。ソーシャルネットワーキング・システム160のユーザの1つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを識別する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキング・システム160によって記録されること、またはその他のシステム(たとえば、サードパーティ・システム170)と共有されることのオプトインまたはオプトアウトを行うことを可能にすることができる。サードパーティ・システム170などのサードパーティから受け取られたコンテンツ・オブジェクトを格納するために、サードパーティコンテンツオブジェクト・ストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム130から受け取られたロケーション情報を格納するために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
【0020】
ソーシャル・グラフ
図2は、例示的なソーシャル・グラフ200を示している。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャル・グラフ200を1つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、ソーシャル・グラフ200は、複数のノード(複数のユーザ・ノード202、または複数のコンセプト・ノード204を含むことができる)と、ノード同士をつなげる複数のエッジ206とを含むことができる。図2において示されている例示的なソーシャル・グラフ200は、教示上の目的から、2次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキング・システム160、クライアント・システム130、またはサードパーティ・システム170は、適切なアプリケーションに関してソーシャル・グラフ200および関連したソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ200のノードおよびエッジは、データ・オブジェクトとして、たとえば(ソーシャルグラフ・データベースなどの)データ・ストア内に格納されることが可能である。そのようなデータ・ストアは、ソーシャル・グラフ200のノードまたはエッジの1つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
【0021】
特定の実施形態においては、ユーザ・ノード202は、ソーシャルネットワーキング・システム160のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループであることが可能である。特定の実施形態においては、あるユーザがソーシャルネットワーキング・システム160とのアカウントに登録した場合には、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード202を作成し、そのユーザ・ノード202を1つまたは複数のデータ・ストア内に格納することができる。本明細書において記述されているユーザおよびユーザ・ノード202は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード202を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード202は、適切な場合には、ソーシャルネットワーキング・システム160に登録されていないユーザを指すことができる。特定の実施形態においては、ユーザ・ノード202は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード202は、ユーザに関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード202は、1つまたは複数のウェブページに対応することができる。
【0022】
特定の実施形態においては、コンセプト・ノード204は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワーク・システム160に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャルネットワーキング・システム160内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース(たとえば、オーディオ・ファイル、ビデオ・ファイル、デジタル写真、テキスト・ファイル、構造化されたドキュメント、もしくはアプリケーションなど)、物的もしくは知的財産(たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など)、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード204は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数のイメージ(たとえば、本の表紙のイメージ)、ロケーション(たとえば、住所もしくは地理的ロケーション)、ウェブサイト(URLに関連付けられることが可能である)、連絡先情報(たとえば、電話番号もしくは電子メール・アドレス)、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード204は、コンセプト・ノード204に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード204は、1つまたは複数のウェブページに対応することができる。
【0023】
特定の実施形態においては、ソーシャル・グラフ200内のノードは、ウェブページ(「プロフィール・ページ」と呼ばれる場合もある)を表すこと、またはウェブページによって表されることが可能である。プロフィール・ページは、ソーシャルネットワーキング・システム160によってホストされること、またはソーシャルネットワーキング・システム160にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティ・サーバ170に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード204に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード202は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプト・ノード204は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、1人または複数のユーザが、特にコンセプト・ノード204に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
【0024】
特定の実施形態においては、コンセプト・ノード204は、サードパーティ・システム170によってホストされているサードパーティ・ウェブページまたはリソースを表すことができる。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す(たとえば、JAVASCRIPT(登録商標)、AJAX、もしくはPHPコードで実装されることが可能である)その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティ・ウェブページは、「いいね!」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの1つ(たとえば、「食べる」)を選択することによってアクションを実行して、クライアント・システム130に、そのユーザのアクションを示すメッセージをソーシャルネットワーキング・システム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、ユーザに対応するユーザ・ノード202と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード204との間においてエッジ(たとえば、「食べる」エッジ)を作成して、エッジ206を1つまたは複数のデータ・ストア内に格納することができる。
【0025】
特定の実施形態においては、ソーシャル・グラフ200内の1対のノードが、1つまたは複数のエッジ206によって互いにつながることが可能である。1対のノードをつなげるエッジ206は、それらの1対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ206は、1対のノードの間における関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示すことができる。この表示に応答して、ソーシャルネットワーキング・システム160は、「友達要求」を第2のユーザに送信することができる。第2のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキング・システム160は、ソーシャル・グラフ200内で第1のユーザのユーザ・ノード202を第2のユーザのユーザ・ノード202につなげるエッジ206を作成して、エッジ206をソーシャル・グラフ情報としてデータ・ストア164のうちの1つまたは複数の中に格納することができる。図2の例においては、ソーシャル・グラフ200は、ユーザ「A」のユーザ・ノード20
2と、ユーザ「B」のユーザ・ノード202との間における友達関係を示すエッジ206と、ユーザ「C」のユーザ・ノード202と、ユーザ「B」のユーザ・ノード202との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード202同士をつなげる特定の属性を伴う特定のエッジ206を記述している、または示しているが、本開示は、ユーザ・ノード202同士をつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。限定ではなく、例として、エッジ206は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、1つまたは複数のエッジ206によってソーシャル・グラフ200内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を指すことができる。
【0026】
特定の実施形態においては、ユーザ・ノード202とコンセプト・ノード204との間におけるエッジ206は、ユーザ・ノード202に関連付けられているユーザによって、コンセプト・ノード204に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図2において示されているように、ユーザは、コンセプトに対して「いいね!を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジタイプまたはサブタイプに対応することができる。コンセプト・ノード204に対応するコンセプトプロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の曲(「イマジン」)を聴く場合がある。このケースにおいては、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード202と、その曲およびアプリケーションに対応するコンセプト・ノード204との間において、「聴いた」エッジ206(図2に示されている)および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したことを示すことができる。その上、ソーシャルネットワーキング・システム160は、その曲に対応するコンセプト・ノード204と、そのアプリケーションに対応するコンセプト・ノード204との間において、「再生した」エッジ206(図2に示されている)を作成して、その特定の曲がその特定のアプリケーションによって再生されたことを示すことができる。このケースにおいては、「再生した」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(「イマジン」という曲)に関して実行されたアクションに対応する。本開示は、ユーザ・ノード202とコンセプト・ノード204とをつなげる特定の属性を伴う特定のエッジ206について記述しているが、本開示は、ユーザ・ノード202とコンセプト・ノード204とをつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。その上、本開示は、単一の関係を表すユーザ・ノード202とコンセプト・ノード204との間におけるエッジについて記述しているが、本開示は、1つまたは複数の関係を表すユーザ・ノード202とコンセプト・ノード204との間におけるエッジを想定している。限定ではなく、例として、エッジ206は、ユーザが特定のコンセプトに対して「いいね!」を表明していること、およびその特定のコンセプトを使用したことの両方を表すことができる。あるいは、別のエッジ206は、ユーザ・ノード2
02とコンセプト・ノード204との間におけるそれぞれのタイプの関係(または、単一の関係が複数集まったもの)を表すことができる(図2において、ユーザ「E」を表すユーザ・ノード202と、「SPOTIFY」を表すコンセプト・ノード204との間において示されているように)。
【0027】
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシャル・グラフ200内でユーザ・ノード202とコンセプト・ノード204との間においてエッジ206を作成することができる。限定ではなく、例として、(たとえば、ユーザのクライアント・システム130によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって)コンセプトプロフィール・ページを閲覧しているユーザは、「いいね!」アイコンをクリックまたは選択することにより、コンセプト・ノード204によって表されているコンセプトを自分が気に入っていることを示すことができ、その「いいね!」アイコンをクリックまたは選択することは、ユーザのクライアント・システム130に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っていることを示すメッセージをソーシャルネットワーキング・システム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、そのユーザとコンセプト・ノード204との間における「いいね!」エッジ206によって示されているように、そのユーザに関連付けられているユーザ・ノード202とコンセプト・ノード204との間においてエッジ206を作成することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、エッジ206を1つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、エッジ206は、特定のユーザ・アクションに応答してソーシャルネットワーキング・システム160によって自動的に形成されることが可能である。限定ではなく、例として、第1のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ206は、第1のユーザに対応するユーザ・ノード202と、それらのコンセプトに対応するコンセプト・ノード204との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ206を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ206を形成することを想定している。
【0028】
ネットワーク指向の製品ロールアウト
特定の実施形態において、ソーシャルネットワーキング・システム160は、新しい製品、フィーチャ、広告、または経験(「修正」)がオンライン・ソーシャル・ネットワークのユーザに対してローンチされるその仕方を、特定のユーザ・クラスタ(「クラスタ」)に対するローンチを互い違いに行うことによって、改善することが可能である。テストおよびロールアウトは、標準的なA/Bテストの手法を使用して新しい修正をテストするのではなく、ネットワーク指向のやり方でなされることができる。限定ではなく例として、ソーシャル・グラフ200のノードの独立したクラスタが、好適なクラスタリング・アルゴリズムを使用して識別され得る。これらのクラスタは、特定のクラスタにおけるノードが同じクラスタにおけるその他のノードに関連してネットワーク露出されるように定義され得る。これは、これが特定のユーザおよびそのユーザの友達のほとんど(特定のクラスタにおけるノードに対応する)が当該修正を受け取ることを保証するので、それらのユーザに対する修正の修正効果がより効率的に決定されることを可能にし得る。このことは、別のユーザも伴って使用され得るときのほうがより有用となる修正に関して特に有利である場合がある(たとえば、オンライン・チャット・アプリケーション)。クラスタが識別された後、修正は、第1のクラスタ集合のユーザに提供され、それらのユーザでテストされ得る。そして、この第1のクラスタ集合から受け取られたデータが、それらのユーザに対する修正の修正効果を決定するために分析されることができる。次いで、修正は、次のクラスタ集合のユーザに対してロールアウトされる前に変更されることも可能である。修正をロールアウトするこの段階的な手法が、修正がオンライン・ソーシャル・ネットワ
ークのすべてのユーザに提供されるまで行われ得る。本開示は、特定のやり方でユーザに修正を提供することおよび修正効果を決定することを説明するが、任意の好適なやり方でユーザに修正を提供することまたは修正効果を決定することを想定する。
【0029】
A/Bテストは、オンライン試験の効果を評価するための標準的な手法である。典型的に、目標は、母集団(population)全体からのサンプルを新しい製品、フィーチャ、または状態に露出することによってその新しい製品、フィーチャ、または状態の平均の修正効果を推定することである。A/Bテストの欠点は、基礎を成すソーシャル・ネットワークに沿って個人の修正が近くの個人に波及するときにソーシャル干渉(social interference)を伴うような試験にはあまり適さないことである。これらの欠点は、ソーシャル干渉下での平均の修正効果を分析するためのグラフ・クラスタリングを使用して克服され得る。まず始めに、我々は、個人が試験に「ネットワーク露出される」と考えられ得るグラフ理論的条件を特徴付ける。次いで、我々は、これらの露出条件のいくつかの下で、グラフのクラスタのランダム化が、各ノードに対するネットワーク露出の確率を計算するための効率的で正確なアルゴリズムをどのように許容するかを示す。露出モデルが適切に指定されたならば、これらの確率を逆重み(inverse weight)として使用して、たとえば、ホルビッツ−トンプソン推定量(Horvitz−Thompson estimator)などの推定量が、不偏な効果推定値を提供し得る。
【0030】
推定量が不偏であるものとして、我々は、分散を最小化することに焦点を置く。始めに、我々は、グラフのサイズnで推定量の分散が漸近的に小さくなるための単純な十分条件を詳しく説明する。しかし、普通のランダム化方式に関して、この分散は、グラフの次数の指数関数によって下に有界とされる場合がある。対照的に、我々は、グラフが、近傍の増大度についての制約付き増大度条件(restricted−growth condition)を満たす場合に、推定量の分散が次数の線形関数によって上に有界とされ得る、ノードの近傍に基づく自然なクラスタリング・アルゴリズムが存在することを示す。したがって、我々は、干渉下で平均の修正効果を実験的に測定するときに、適切なクラスタのランダム化が指数関数的に小さな推定量の分散につながり得ることを示す。
【0031】
ソーシャルな製品およびサービス(ファックス・マシンおよびセルラー電話からオンライン・ソーシャル・ネットワークまで)は、本質的に、ユーザに対してそれらのソーシャルな製品およびサービスの価値に関連する「ネットワーク効果」を呈する。ユーザに対するこれらの製品の価値は、典型的に、ユーザのソーシャル・ネットワークのメンバーも製品を使用するときに増大するので、本質的に非局所的である。さらに、ランダム化された試験(A/Bテストなど)は、各個人の応答がそれらの個人自身の修正によってのみ影響を与えられ、いかなるその他の個人の修正によっても影響を与えられないという「修正値単位での安定に関する仮定(SUTVA:stable unit treatment
value assumption)」として知られることを重要なものとして仮定する。A/Bテストの形式体系とネットワーク・インタラクションの非局所的効果との間のこの緊張状態に対処することが、オンラインの挙動の分析およびネットワーク試験の設計においてキーとなる未解決の問題として現れた。
【0032】
修正値単位での安定に関する仮定が妥当な近似である通常のランダム化された試行の下において(たとえば、検索エンジンがそれらの検索エンジンのユーザの訪問時間にあってそれらの検索エンジンの配色の効果をA/Bテストするときなどに)、母集団が、2つのグループ、すなわち、(新しい配色Aを見る)「修正」グループの人と、(デフォルトの配色Bを見る)対照グループの人とに分けられる。ユーザの間に無視できる干渉効果があると仮定して、修正を示されたグループの各個人は、母集団全体が修正を示されるとした場合にその個人がするのとまったく同様に応答し、対照グループの各個人は、母集団全体
が対照内にあるとした場合にその個人がするのとまったく同様に応答する。このようにして、我々は、我々が2つのはっきり区別できる「並行ユニバース(universe)」(たとえば、配色Aが全員に使用される「ユニバースA」および配色Bが全員に使用される「ユニバースB」)のサンプルからのリザルトを同時に観測していると想像することが可能であり、我々は、これらのユニバースのそれぞれにおけるユーザの挙動の特性について推論を行うことが可能である。
【0033】
この扱いやすい構造は、(テストされているフィーチャまたは製品が任意の種類のソーシャルな構成要素を有するときと同様に)1人のユーザiの挙動が別のユーザjの挙動に非自明な影響を有する可能性があるときに劇的に変わる。ここで、iがユニバースAに入れられ、jがユニバースBに入れられる場合、Aにおけるiの挙動の我々の分析がBにおけるjの挙動の特性によって影響を受け、その逆も起こり、我々は、もはや2つの並行ユニバースを持たない。
【0034】
平均の修正およびネットワーク露出
特定の実施形態において、ソーシャルネットワーキング・システム160は、第1のユーザ集合のユーザに関する修正の修正効果を決定し得る。1つの目標は、そのようなインタラクションが存在するときの母集団に対する修正の平均の効果を分析するための技術を開発することである。ソーシャルネットワーキング・システム160は、修正をオンライン・ソーシャル・ネットワークのユーザのサブセットに提供することによってその修正をテストし得る。修正は、修正に対するiの反応が、オンライン・ソーシャル・ネットワークにおける近傍点jも修正を有するかどうかに依存するという点で「ソーシャルな」構成要素を有する。このソーシャルな構成要素は、修正のネットワーク効果と呼ばれることがある。限定ではなく例として、特定の修正が、たとえば、ソーシャル広告、テキスト/ビデオ・チャット、メッセージング、ソーシャル・ネットワークなどのソーシャルな構成要素を呈することが可能である。たとえば、テキスト/ビデオ・チャットのフィーチャに関して、それらのフィーチャは、ユーザiがチャットする1つまたは複数の近傍点jを有する場合にのみ有用である。個人/ユーザは、個人がテストのために修正を提供される場合は修正グループにいると考えられ、そうでない場合は対照グループにいると考えられる。関心のある基礎を成す数値的な応答変数(たとえば、それぞれの条件におけるユーザのサイト滞在時間)が存在することが可能であり、ソーシャルネットワーキング・システム160は、(母集団が修正と対照との間で分けられるので)どちらの仮定のユニバースも実際にはテストされていないという事実にもかかわらず、全員がサービスを有するユニバースと誰もサービスを持たないユニバースとの両方におけるこの応答の平均を推定し得る。
【0035】
【数1】
【0036】
が修正割り振りベクトルであるものとし、ここで、z=1は、ユーザiが修正グループにいることを意味し、z=0は、ユーザiが対照にいることを意味する。
【0037】
【数2】
【0038】
は、修正割り振りベクトル
【0039】
【数3】
【0040】
(以下z→と表記)の下でのユーザiの有り得る結果であるものとする。我々が関心のある基本的な量は、2つの正反対のユニバースz→=1→とz’→=0→との間の平均の修正効果τである。
【0041】
【数4】
【0042】
この定式化は、上述において正式でない用語で検討された核心的問題を含んでおり、つまり、通常のA/Bテストと異なり、実際に2人のユーザが、互いに反対のユニバースに同時に存在することは決してない。特定の実施形態において、ソーシャルネットワーキング・システム160は、ユーザに関する修正の個人効果(individual effect)とユーザに関する修正のネットワーク効果との両方を決定し得る。特定の修正の修正効果は、ネットワーク効果と個人効果との両方の関数であってよい。修正のソーシャルでない構成要素は、修正の個人効果と呼ばれることがある。修正は、修正に対するiの反応が、オンライン・ソーシャル・ネットワークにおける近傍点jも修正を有するかどうかに依存しないという点で個人的な構成要素を有する。限定ではなく例として、ユーザiに対するソーシャル広告が、1つまたは複数の近傍点jもソーシャル広告に露出されるかどうかとは独立しているユーザiに関連する個人効果を有してよい(ただし、もちろん、ソーシャル広告は、ネットワーク効果も有することが可能である)。特定の修正の個人効果とネットワーク効果との両方を区別することおよび測定することが、修正とのユーザの関わり合いを増やすまたは改善するためにどのようにして修正を最もうまく変更したらよいかを決定するために有用であることが可能である。本開示は、特定のやり方で修正効果を決定することを説明するが、任意の好適なやり方で修正効果を決定することを想定する。
【0043】
グラフのクラスタのランダム化
図3は、ソーシャル・グラフ200のクラスタの例を示す。特定の実施形態において、ソーシャルネットワーキング・システムは、グラフのクラスタのランダム化を使用してソーシャル・グラフ200の複数のクラスタを識別し得る。それぞれの識別されたクラスタは、ソーシャル・グラフ200の複数のノードからの独立したノード集合を備えることが可能である。図3は、4つのクラスタが識別された比較的小さなソーシャル・グラフ200のありふれた例を示す。各クラスタは、独立である(つまり、重なり合っていない)。特定の実施形態において、ソーシャルネットワーキング・システム160は、各クラスタの閾値数のノードがクラスタにおけるその他のノードに関連してネットワーク露出され得るようにクラスタを指定することが可能である。(式1)を評価するためのキーとなる概念は、ネットワーク露出の概念である。ユーザiは、z’→の下でのiの応答が、全員が修正を受け取る割り振りでのiの応答と同じである場合に、特定の割り振りz’→の下で修正に「ネットワーク露出される」。(我々は、これらの2つの場合の応答が小さなパラメータεだけ異なる場合への適応も検討する。)我々は、対照条件(control condition)へのネットワーク露出を同じように定義する。この定義をした上で、
我々は、ネットワーク露出を構成するいくつかの有り得る条件を調べ得る。限定ではなく例として、ユーザiは、iおよびiの近傍点のすべてが修正を示される場合に修正にネットワーク露出されることが可能である。限定ではなく別の例として、ユーザiは、固定部分q>0に対して、iおよびiの近傍点のうちの少なくとも部分qが修正を示される場合に修正にネットワーク露出されることが可能である。ネットワーク露出の定義は、基本的に、試験者によるモデル化の判断であり、本発明において、我々は、ユーザが修正ユニバースおよび対照ユニバースにネットワーク露出されたと仮定され得る割り当てベクトルの集合をそれぞれが指定する露出条件のいくつかの系統を導入し、2つのユニバースの間の連続体(continuum)のいくつかの特性を提供する。ネットワーク露出の条件を選択することは、すべてのユーザを実際に修正ユニバースまたは対照ユニバースに入れることなく、ソーシャルネットワーキング・システム160がユーザの有り得る結果をそれらが修正ユニバースまたは対照ユニバースにいるかのように観測し得るときを指定するために重要であり得る。特定の実施形態において、ソーシャルネットワーキング・システム160は、互いに対するユーザのソーシャル・グラフ・アフィニティ(親和性)に少なくとも部分的に基づいてクラスタを識別し得る。ソーシャルネットワーキング・システム160は、単にソーシャル・グラフ200において近傍点であること(つまり、エッジ206によって接続されること)に基づいてクラスタリングするのではなく、互いに比較的高いソーシャル・グラフ・アフィニティを有する近傍点をクラスタリングし得る。言い換えると、ユーザiは、ユーザiに関連する閾値を超えるアフィニティを有するj個の近傍点とともにクラスタをなすことが可能であり、一方、ユーザiとのより低いアフィニティを有する近傍点は、必ずしもクラスタに含まれない場合がある。特定の実施形態において、ソーシャルネットワーキング・システム160は、クラスタにおけるノードのネットワーク露出がネットワーク露出の指定された分布範囲を有するようにクラスタを識別し得る。限定ではなく例として、ネットワーク露出は、閾値レベルのネットワーク露出(たとえば、クラスタにおけるすべてのノードが5%以上の近傍露出を有する)から最大レベルのネットワーク露出(たとえば、クラスタにおけるすべてのノードが95%未満の近傍露出を有する)までで指定されることが可能である。そして、ソーシャルネットワーキング・システム160は、ネットワーク露出の分布範囲でクラスタにおけるユーザに対する修正の修正効果を決定し得る。そのとき、これらの修正効果は、修正の個人効果およびネットワーク効果を決定するためにそれらの限界まで外挿され得る。本開示は、特定のやり方でネットワーク露出によるクラスタを識別することを説明するが、任意の好適なやり方でネットワーク露出によるクラスタを識別することを想定する。
【0044】
ネットワーク露出の定式化に続いて、我々が導入する第2のキーとなる概念は、我々がグラフのクラスタのランダム化と呼ぶ、グラフ・クラスタリングに基づく包括的なグラフのランダム化方式である。グラフのクラスタのランダム化は、グラフがクラスタの集合へと分割され、次いで、修正と対照との間のランダム化がクラスタのレベルで実行される技術である。そして、典型的に、ノードが修正または対照にネットワーク露出される確率は、ノードの近くの局所的なグラフ構造に対するクラスタの集合の交差についてのグラフ理論的問いが関係する。ソーシャルネットワーキング・システム160は、そのようなランダム化の下でネットワーク露出の条件に入る一様でない確率を精密に決定し得る。次いで、ソーシャルネットワーキング・システム160は、逆確率重み付け(inverse probability weighting)[ref.9]を使用して、我々が確率を明示的に計算し得る任意のネットワーク露出の下での平均の修正効果τの不偏な推定量を導出し得る。
【0045】
我々は、グラフのクラスタのランダム化が漸近的に小さな分散を持つ推定量を生成する条件を供給することによってグラフのクラスタのランダム化の効力を説明する。始めに、我々は、グラフが有界な次数を有し、すべてのクラスタのサイズがノードの数nとは独立して有界とされたままである場合、推定量の分散はO(1/n)であることを観測するの
であり、これは小ささに関する単純だが例示的な十分条件である。キーとなる課題は、次数への依存性であり、概して、有界サイズのクラスタの集合は、ノード次数で指数関数的に増大する分散を生成する可能性がある。もっと正確に言えば、単一ノードのクラスタによるグラフのクラスタのランダム化を実行するとき、推定量の分散は、次数に指数関数的に依存する下界を許容する。これは、どのようにしてクラスタリングを選択したらよいかという重要なアルゴリズムの問題を引き起こし、すなわち、有界サイズのクラスタは、ノードの数nで漸近的に小さな分散を提供するが、クラスタが慎重に選択されない場合、我々は、実際のところ分散を非常に大きくする可能性がある、ノード次数への指数関数的な依存性を得る。
【0046】
制約付き増大度グラフ(restricted−growth graph)におけるクラスタのランダム化
我々は、我々が制約付き増大度グラフと呼ぶ重要なクラスのグラフを識別し、その重要なクラスのグラフに対して、非自明なクラスタリング・アルゴリズムは、グラフの次数に対して線形である推定量の分散に対する上界を許容する。我々がグラフに関して導入する制約付き増大度条件は、近傍が指数関数的に増大する可能性がある、小さな直径のグラフを含むように設計された距離空間(metric space)における最近傍アルゴリズム[ref.10]を研究するために既に導入された有界増大度条件の拡張である。B(ν)が、ノードνのτホップ以内のノード集合であるものとすると、我々の制約付き増大度条件は、すべてのノードνおよびすべてのτ>0に対して、我々が|Br+1(ν)|≦к|B(ν)|を有するようにグラフの次数とは独立した定数кが存在することを言う。標準的な有界増大度の定義(これはずっと強い条件|B2r(ν)|≦к|B(ν)|を必要とし、我々のリザルトが成り立つためには必ずしも必要でない)との比較に留意されたい。
【0047】
制約付き増大度グラフに関して、我々は、推定量の分散が次数に対して線形にしか増大し得ないクラスタリング・アルゴリズムを提供する。課題は、分散がノードの近傍と交差するクラスタの数とともに指数関数的に増大する可能性があることであり、我々の手法は、決まった半径の球(ball)から、十分に離間されたノードの集合の周りで増大するクラスタを形成することである。制約付き増大度条件は、いかなる1つのノードの周りでも、球がきつく詰まりすぎないようにし、したがって、ノードの近傍が多すぎるクラスタとぶつからないようにする。ユークリッド空間における一様な密度の埋め込みが付随する制約付き増大度グラフの特殊な例に関して、埋め込みでのノードの位置を、空間をクラスタに直接切り分けるために使用することが可能であり、最近傍問題の探求[ref.10]と同様に、肝心な点は、幾何学のレベルではなくグラフ理論のレベルでこの切り分けを制御することであり、これが、我々の技術が行うことである。
【0048】
我々のクラスの制約付き増大度グラフは、ある種の現実世界のグラフに関する魅力的なモデルを提供する。制約付き増大度グラフは、ある極大の計量距離(metric distance)以内でエッジと近傍点が接続する、格子またはランダムな幾何学的なグラフなどの、有界次元のユークリッド空間における近似的一様な密度でのノードの埋め込みが存在するグラフを含む。
【0049】
ネットワーク露出のモデル
A/Bランダム化試験に関しては、個人の修正条件が、それらが介入(intervention)を受けるか否かを決める。典型的に、これは、2つの値、すなわち、「修正」または「対照」をとる。最もランダム化された試験において、試験者は、どのようにして修正条件をランダム化したらよいかを明示的に制御し、概して、個人が独立して割り振られる。一方、個人の露出条件は、どのようにして世界が介入を経験するかに完全に連動してどのようにしてそれらが介入を経験するかを決定する。修正値単位での安定に関する
仮定がない場合、悪くとも、z→の2個の有り得る値のそれぞれが各ユーザに関するはっきり区別できる露出条件を定義する。アロノウ(Aronow)およびサミイ(Samii)は、これを「任意露出(arbitrary exposure)」と呼び[ref.2]、任意露出の下で試験を分析するための扱いやすい手立てはない。
【0050】
ユーザiに関する有り得る結果を考える。「任意露出」の場合、Y(z→)は、有り得るすべてのz→毎に完全に異なるものである。これは、我々がすべてのユーザを修正ユニバースまたは対照ユニバースに入れることなくしては、z→=1→についてもz→=0→についてもY(z’→)を観測することができないことを意味する。したがって、任意のその他の条件の下で平均の修正効果を推定することを進展させるために、我々は、さらなる仮定を必要とする。我々はここで、複数の修正ベクトルz→が同じ有り得る結果にマップし得る、つまり、根本的に、修正ベクトルz→およびz’→が以下で明確にされる意味でノードiの観点から見て「十分に似ている」限り、iはz→およびz’→の下で同じ応答を有することを仮定することによって、上記のことを行う。
【0051】
詳細には、σは、iが結果χを経験するすべての割り振りベクトルz→の集合であるものとする。我々は、σをiに関する露出条件と呼び、根本的に、σは、iに対するそれらの割り振りベクトルの効果が同じであると言う意味でiの視点から「区別することができない」割り振りベクトルの集合からなる。我々の関心は、z→=1→およびz→=0→を含む集合であるようにそれぞれを定義する、特定の露出条件σおよびσにある。このようにして、我々は、すべてのz→∈σに対して、我々がY(z→=z→)=Y(z→=1→)を有し、すべてのz→∈σに対して、我々がY(z→=z→)=Y(z→=0→)を有すると仮定している。z→=1→およびz→=0→が同じ露出条件に属し、σ=σであることもあり得、これは、何の効果も持たない修正に対応することに留意されたい。(これが読者に「露出条件」の厳しすぎる定義という印象を与える場合、(割り振りベクトルの空間を分割するのではなく)その代わりに小さいεサイズの箱(∈−sized bin)を使用して有り得る結果の空間を分割することを考え、「露出条件」をそのε−箱内で有り得る結果を生成するすべての割り振りベクトルとして定義されたい。いかなるその他の有り得る結果もz→=0→またはz→=1→に関する結果に対応しない場合、このように、有り得る結果に対してε距離を使用して偏りを管理することがより適切であり得る。)
我々は、ユーザiに関する露出モデルを、有り得る割り振りベクトルz→を完全に分割する露出条件の集合として定義する。すべてのユーザにわたるすべてのモデルの集合が、試験のための露出モデルである。しかし、我々の目的のために、我々は極端なユニバース間の平均の修正効果を決定しようとしているだけなので、露出モデルを全体的に指定することは不要である。我々は、主に、各ユーザiが修正ユニバースまたは対照ユニバースへの露出を経験する露出条件σおよびσに気を配る。(異なる露出条件における有り得る結果の間の関数関係を仮定するならば、σおよびσ以外のその他の露出条件がより関連性を持つようになる可能性がある。)
もちろん、各ユーザに関する真の露出条件σおよびσは、前もって試験者に知られておらず、試験のリザルトを分析することは、我々のフレームワークでそのような条件を選択することを必要とする。不十分な露出条件が試験者によって選択される場合、ユーザがz→=1→およびz→=0→に対応しない手立てで応答することが可能であり、平均の修正効果の計算に偏りを導入することが可能である。この偏りの大きさは、実際に観測された結果が、我々が観測したかったz→=1→およびz→=0→における結果にどれだけ近いかに依存する。試験のリザルトの分散を小さくするためにそのような偏りを許すことが好ましい場合もある。
【0052】
近傍露出
特定の実施形態において、ソーシャルネットワーキング・システム160は、さまざま
な露出条件に露出されるクラスタを識別し得る。任意の好適な露出条件が、使用され得る。特に、我々は主に、2つの割り振りがiの直近のグラフの近傍で一致する場合にこの2つの割り振りがiにとって区別することができないような局所的な露出条件に焦点を当てる。我々は、修正を示される近傍点の数に対する絶対(absolute)条件および部分(fractional)条件を考える。我々は、必ずしも、これらの有り得る露出条件が、試験における実際の有り得る結果に関連する実際の露出条件であると主張しているのではなく、むしろ、それらが試験の分析のための有用な抽象化を提供すると主張し、ここで、導入される偏りの度合いは再び、露出条件が反事実的ユニバース(counterfactual universe)に属することにどれだけよく近似されるかに依存することに留意されたい。限定ではなく例として、ソーシャルネットワーキング・システム160は、各クラスタに関して、クラスタにおけるノードのネットワーク露出が完全な近傍露出(full neighborhood exposure)であるクラスタを定義し得る。完全な近傍露出で、ノードiは、iおよびiのすべての近傍点が修正条件を受け取る場合にその修正条件への完全な近傍露出を経験する。限定ではなく別の例として、ソーシャルネットワーキング・システム160は、各クラスタに関して、クラスタにおけるノードのネットワーク露出が絶対k−近傍露出(absolute k−neighborhood exposure)であるクラスタを定義し得る。絶対k−近傍露出で、d≧kである次数dのノードiは、iおよびiの≧k個の近傍点が修正条件を受け取る場合にその修正条件への絶対k−近傍露出を経験する。限定ではなくさらに別の例として、ソーシャルネットワーキング・システム160は、各クラスタに関して、クラスタにおけるノードのネットワーク露出が部分q−近傍露出(fractional q−neighborhood exposure)であるクラスタを定義し得る。部分q−近傍露出で、次数dのノードiは、iおよび≧iのqd個の近傍点が修正条件を受け取る場合にその修正条件への部分q−近傍露出を経験する。k全面的近傍露出(k−absolute
neighborhood exposure)およびq部分的近傍露出(q−fractional neighborhood exposure)は、当該露出条件に属すると考えられるiに対して、決まった修正条件を有するのに必要なiの近傍点がより少ないという点において、ノードiに関する完全な近傍露出を緩和したものと考えることが可能である。実際、k全面的近傍露出およびq部分的近傍露出に対応する割り振りベクトルの集合は、それぞれがパラメータkおよびqのそれぞれ下で入れ子にされる。kまたはqを増やすことは、ノードiに関する完全な近傍露出に達するまで割り振りベクトルの集合を減らす。本開示は、特定の露出条件を説明するが、任意の好適な露出条件を想定する。
【0053】
異種の値kまたはq(各ユーザに対して異なる値)を考えることが自然であるが、我々は、できる限りユーザにわたって同種である露出条件に我々の検討を制限する。我々は、ノードが次数d>kを有するときにk−近傍露出の定義に緩い異種性を組み入れることが可能であり、これらのノードに関して、我々は、代わりに、完全な近傍露出を考える。部分的な露出は、この調整を必要としない。
【0054】
コア(core)の露出
完全な近傍露出は、明らかに、ユニバースへの完全な没入(immersion)の近似に過ぎない。局所的な露出条件の他に、我々は、大域的な依存性を伴う露出条件も考える。1つの手法として、個人が十分に多くの修正を示される近傍点によって十分に囲まれ、そしてさらに、それらの十分に多くの修正を示される近傍点もまた十分に多くの修正を示される近傍点によって囲まれ、以下同様である場合に限ってそれらの個人が修正に露出されると考える。この再帰的な定義は、初めは扱いにくく見えるかもしれないが、そのような再帰的な露出は、実際、修正の個人および対照の個人の誘導されるグラフでk−コア(より一般的には、異種のk−コア)を分析することによって精密に特徴付けられ得る。グラフG=(V,E)のk−コアは、すべてのノードが少なくともkの次数を有するGの
極大部分グラフである[ref.4]。同様に、ベクトルk→=(k,...,k|v|)によってパラメータ付けされるグラフG=(V,E)の異種のk−コアは、各ノードυ∈V’が少なくともkの次数を有するGの極大部分グラフH=(V’,E’)である[ref.5]。同様に、部分q−コアは、各ノードυ∈V’が、G内でそのノードが接続されたノードのうち、少なくとも部分qに接続されるG=(V,E)の極大部分グラフH=(V’,E’)である。したがって、すべてのυ∈V’に対して、deg(υ)≧q deg(υ)である。等価的に、dがノードiの次数である場合、部分q−コアは、k→=(qd,...,gd|v|)に対するGの異種のk−コアである。
【0055】
異種のk−コアは明確に定義されたオブジェクトであるので、部分q−コアもそうである。この定義を使用して、今や、我々は、対応する以前の近傍の条件のすべてのより厳格なバージョンである露出条件を定義する。限定ではなく例として、ソーシャルネットワーキング・システム160は、各クラスタに関して、クラスタにおけるノードのネットワーク露出が構成要素露出(component exposure)であるようにクラスタを定義し得る。構成要素露出で、ノードiは、iおよびその接続された構成要素におけるノードのすべてが修正条件を受け取る場合にその修正条件への構成要素露出を経験する。限定ではなく別の例として、ソーシャルネットワーキング・システム160は、各クラスタに関して、クラスタにおけるノードのネットワーク露出が絶対k−コア露出(absolute k−core exposure)であるようにクラスタを定義し得る。絶対k−コア露出で、次数d≧kのノードiは、iがグラフG[V’]、すなわち修正条件を受け取るノードVで帰納的に求められたGの部分グラフのk−コアに属する場合にその修正条件への絶対k−コア露出を経験する。限定ではなく別の例として、ソーシャルネットワーキング・システム160は、各クラスタに関して、クラスタにおけるノードのネットワーク露出が部分q−コア露出(fractional q−core exposure)であるようにクラスタを定義し得る。部分q−コア露出で、ノードiは、iがグラフG[V’]、すなわち修正条件を受け取るノードV’で帰納的に求められたGの部分グラフの部分q−コアに属する場合にその修正条件への部分q−コア露出を経験する。構成要素露出は、おそらく、想像することができるネットワーク露出に関する最も強い要件であり、研究されている干渉グラフ(interference graph)が多くの接続されていない構成要素から構成される場合にのみ実現可能である。我々は、q=1に対する部分q−コア露出が構成要素露出に帰着することに留意することをここにはっきりと含める。やはり近傍露出の場合と同様に、絶対コア露出は、それがすべてのユーザのための有用な条件となるためにユーザにわたるkでの異種性を必要とする。k−近傍露出に関する解法に類似している倹約的な解法は、異種のmax(次数,k)−コア露出を考えることであり得る。部分q−コア露出は、部分q−近傍露出と同様に、やはりこれらの倹約(parsimony)の問題がない。
【0056】
コア露出の条件は、上記の関連付けられる近傍露出の条件よりも厳密に強い。実際、ノードiが露出される構成要素またはコアであるあらゆる割り振りベクトルは、近傍露出に対応するが、その逆は成り立たない。したがって、コアおよび構成要素露出の割り振りベクトルは、関連付けられる近傍露出の割り振りベクトルに全体的に含まれる。
【0057】
その他の露出条件
その他の露出条件が、特定の応用と関連性を持つと判明する可能性がある。特に、我々は、hホップ以内のノードの母集団に絶対条件または部分条件を課す中間的なコンセプトに注目し、ここではh=1が上記の近傍露出の条件である。限定ではなく例として、ソーシャルネットワーキング・システム160は、各クラスタに関してクラスタにおけるノードのネットワーク露出がiの隔たりについての閾値次数以内のノードの閾値部分が修正に露出されるようなものであるように、クラスタを定義し得る。我々は、非常に高い次数を
持つソーシャル・ネットワーク上では、多くの応用に関して、より強い結びつきだけを考えるより低い次数のネットワークの観点で露出条件を定義することがより関連性を持つ可能性があることにも留意する。
【0058】
ランダム化および推定
特定の実施形態において、ソーシャルネットワーキング・システム160は、第1のクラスタ集合に対応する第1のユーザ集合に修正を提供し得る。修正は、たとえば、特定の広告、製品、フィーチャ、経験、その他の好適な修正、またはこれらの任意の組み合わせであることが可能である。修正は、オンライン・ソーシャル・ネットワークまたはサードパーティ・システム170を介して提供されることが可能である。そして、ソーシャルネットワーキング・システム160は、ユーザの第1のユーザ集合に対する修正の修正効果を決定し得る。ネットワーク露出のコンセプトを使用して、今や、我々は、ランダム化された試験を使用して2つの反事実的ユニバースの間の平均の修正効果τを推定することを考え得る。z→は試験の修正割り振りベクトルであることを思い出されたい。試験をランダム化するために、z→が、z→の範囲{0,1}上の値をとるランダム・ベクトルZから引き出されるものとする。Pr(Z=z→)によって与えられる{0,1}上のZの分布が、我々のランダム化方式を定義するものであり、まさに、ネットワーク露出の関連性を持つ確率を決定するものでもある。ユーザiに関して、Pr(Z∈σ)は、修正へのネットワーク露出の確率であり、Pr(Z∈σ)は、対照へのネットワーク露出の確率である。概して、これらの確率は、各ユーザおよび各修正条件に対して異なり、これらの確率を知ることは、ランダム化の間に割り当ての偏りを補正することを可能にする。特に、ホルビッツ−トンプソン推定量
【0059】
【数5】
【0060】
を使用して、ここでは
【0061】
【数6】
【0062】
によって与えられるτの不偏な推定値を得ることが可能になり、ここで、l[x]は、インジケータ関数である。確率が正であると仮定すると、Z上の期待値がτを与えるが、これは露出条件が誤って指定されないことを仮定するものであることに留意されたい。特定の実施形態において、ソーシャルネットワーキング・システム160は、第2のクラスタ集合に対応する第2のユーザ集合に修正を提供し得る。そのとき、本明細書に記載のプロセスが、修正がオンライン・ソーシャル・ネットワークのすべてのユーザに提供されるまで必要に応じて繰り返され得る。このようにして、広告、フィーチャ、または製品が、実際には修正が特定のユーザ集合にのみ本当に提供されたときに、修正グループのユーザがあたかもその修正が事実上ソーシャル・ネットワーク全体に提供されたかのように感じるように、修正を受け取るユーザの各クラスタが修正を経験するようなネットワーク指向のやり方でオンライン・ソーシャル・ネットワークのユーザにロールアウトされ得る。特定の実施形態においては、修正効果が第1のユーザ集合に関して決定された後、ソーシャル
ネットワーキング・システム160は、第1のユーザ集合のユーザに対する修正の決定された修正効果に基づいて修正を変更し得る。広告、フィーチャ、または製品が、たとえば、修正とのユーザのインタラクションまたは経験を最適化するために、決定された修正効果に基づいて変更されることが可能である。そして、たとえば、変更された修正が十分に改善され、オンライン・ソーシャル・ネットワーク全体にローンチされ得るまで、その変更された修正が追加的なユーザ集合に提供され、続けて変更され、追加的なユーザにロールアウトされることが可能である。本開示は、特定のやり方で修正を提供することおよび修正効果を決定することを説明するが、任意の好適なやり方で修正を提供することまたは修正効果を決定することを想定する。さらに、本開示は、特定の推定量を使用することを説明するが、任意の好適な推定量を使用することを想定する。
【0063】
限定ではなく例として、我々は、最も単純なネットワーク露出の条件、すなわち完全な近傍露出に関して、最も単純なランダム化方式(すなわち各ノードが独立して修正または対照に割り振られる独立したノードのランダム化)の下で露出の確率を調べるものとする。すべてのノードが確率p∈(0,1)で独立して修正を示される場合、次数dのユーザiに関する修正への完全な近傍露出の確率は、単純に
【0064】
【数7】
【0065】
によって与えられ、対照への完全な近傍露出の確率は、
【0066】
【数8】
【0067】
によって与えられる。これは、ネットワーク露出の主たる課題、つまり、高い次数のノードが完全な近傍露出またはその近くに何とかたどり着く見込みがdで指数関数的に小さい可能性があることを際立たせる。直感的に、そのような小さな露出の確率は、ホルビッツ−トンプソン推定量の分散を劇的に増やし、そのことは、より賢いランダム化を使用することの必要性を示す。
【0068】
このホルビッツ−トンプソン推定量の分散を減らすために、我々は、グラフのクラスタを作成し、クラスタが独立して割り振られるようにして、ノードのレベルではなくクラスタのレベルで割り振りをランダム化する全般的なグラフのクラスタのランダム化手法を導入する。そして、接続されたノードは、独立した割り振りによって起こるよりも頻繁に同じ修正条件に割り振られ、ユーザの露出条件間の高まった相関と引き換えに条件にネットワーク露出されるユーザの期待数を増やす。
【0069】
ノードがn個のクラスタ
【0070】
【数9】
【0071】
に分割されるものとする。N⊆VがグラフGにおけるiの近傍点を表すものとし、S
={C:(i∪N)∩C≠0}がiまたはiの近傍点を含むクラスタの集合を表すものとし、我々はSをiが接続されるクラスタの集合と呼ぶ。この表記を使用して、今や、我々は、異なるネットワーク露出の確率を調べる。
【0072】
露出の確率
限定ではなく例として、完全な近傍露出の条件に関して、修正へのネットワーク露出の確率は、単純に
【0073】
【数10】
【0074】
になり、対照へのネットワーク露出の確率は
【0075】
【数11】
【0076】
になる。今や、我々は、絶対および部分近傍露出の条件に関する露出の確率を計算することが扱いやすいことも示す。
クラスタのランダム化の下で次数dのノードiが修正を示され、そのノードiの近傍点のうちのk個よりも多くが修正を示される確率を計算するという課題を考える。これは、絶対近傍露出と部分近傍露出との両方を考えるときに当てはまる。始めに、我々は、iが|S|=sクラスタに接続される場合にi自体がクラスタsにいるようにクラスタを再びインデックス付けするものとし、我々は、j=1,...,s−1がその他の接続されたクラスタを表すものとする。wi1,...,wisがiが各クラスタに対して有する接続の数であるものとし、Bernoulli(p)確率変数X,...,Xが各クラスタに関連付けられている独立したコイン・トスを表すものとする。そのとき、
【0077】
【数12】
【0078】
である。ここで、ランダムな量Σijは、ポアソン2項分布の重み付けされた等価な分布に従い、問題の確率は、次の再帰によって定義された動的なプログラムを使用して明示的に計算され得る。
【0079】
【数13】
【0080】
Tは最大ノード次数dmaxによって有界とされ、これを実行時間O(dmaxs)の多項式時間の動的なプログラムにすることに留意されたい。
独立したクラスタのランダム化の下でノードiが修正を示され、≧k個の近傍点が修正を示される確率は、
Pτ[Z∈σ]=pf(s−1,k−wis,p,w→)
によって与えられ、ここで、
f(1,T;p,w→)=p1[T<wi1],
f(j,T;p,w→)=pf(j−1,T−wij;p,w→)+(1−p)f(j−1,T;p,w→)
である。独立したクラスタのランダム化の下でノードiが対照内にあり、≧k個の近傍点が対照内にある確率は、
Pτ[Z∈σ]=(1−p)[1−f](s−1,d−k+1;p,w→)
によって与えられる。
これらの一部だけの近傍露出の条件(全面的および部分的)が入れ子にされることを思い出されたい。実際、所与のノードiに関して、単一のO(dmaxs)の二重forループでの考慮の下であらゆる有り得る閾値に関する確率を導出するために再帰が使用され得る。そのような計算は、実際、各個人に関する露出空間(exposure space)上の確率分布を返す。
【0081】
図4は、例示的な確率分布を示す。露出条件σおよびσが(a)i.i.d.ノード・ランダム化(i.i.d. node randomization)と(b)理想的なクラスタ・ランダム化との両方に関して黄色で示され、確率質量(probability mass)が関心のある露出条件で集められる1人の個人に関する露出空間上の確率分布。図4は特定の確率分布を示し、本開示は特定の確率分布を説明するが、本開示は任意の好適な確率分布を想定する。
【0082】
上記の動的なプログラムは、絶対近傍露出の条件および部分近傍露出の条件に関する露出の確率を正確に計算する手段を提供するだけである。残念なことに、どのようにしてk−コア露出の条件および部分q−コア露出の条件の正確な確率を効率的に計算したらよいかは不明瞭ではあるが、これらの露出条件が、形式的に、対応する近傍露出の条件の入れ子にされたサブセットであったことを思い出されたい。これは、少なくとも、我々がコア露出の確率を上に有界とすることを可能にし、我々は、以下の命題によってこの接続を定式化する。概して、我々は小さすぎる露出の確率に関心を持つので、この上界は、既に近傍露出の下にある、問題になるぐらい小さな確率を伴うノードを識別する際に有用であり得る。
【0083】
ノードiがコア露出の下で修正条件にネットワーク露出される確率は、類似した近傍露出の下での確率以下である:
Pτ(Z∈σ|k−コア)≦Pτ(Z∈σ|k−近傍)
Pτ(Z∈σ|部分q−コア)≦Pτ(Z∈σ|部分q−近傍)。
コア露出の確率の有用な直接的な推定がランダム化のモンテ・カルロ・サンプリングによって得られる可能性があるが、我々は、本明細書においてその可能性を追究しない。
【0084】
推定量の分散
干渉の下でのホルビッツ−トンプソン推定量の分散が、アロノウおよびサミイによって研究されており[ref.2]、アロノウおよびサミイは、いくつかの分散を小さくする方式も提示する。アロノウおよびサミイの手法の下で分散を推定することは、結合露出条件、ノードiが修正/対照にネットワーク露出され、ノードjが修正/対照にネットワーク露出される結合確率の知識を必要とする。これは、ランダム・ベクトルZが同時にノードiおよびノードjに関する露出条件にある確率、すなわち、修正への結合されたネットワーク露出に関するPτ(Z∈(σ∩σ))である。推定量の分散を解析的に計算することに関心がある場合、2つの集合の交差が空である可能性があるということ以外に、単一のノードの露出の確率と比較したとき、この確率の計算について基本的に異なることはない。
【0085】
【数14】
【0086】
である効果の推定量の分散は、
【0087】
【数15】
【0088】
によって与えられる。露出条件が適切に指定されると仮定して、つまり、Y(z→)がすべてのz→∈σに対して一定であると仮定して、我々は、表記Y(σ:=Yi(z→∈σ)を導入し得る。さらなる表記π:=Pr[Z∈σ]およびπijxy:=Pr[Z∈(∪σ)]を使用して、我々は、
【0089】
【数16】
【0090】
および
【0091】
【数17】
【0092】
を得る。
上記の式は、分散が露出の確率によって非常に緊密に制御されることをはっきりさせ、
分散を上に有界とするために、我々は、確率πに対する下界、ならびにすべてのノードの対およびxとyとのすべての組み合わせに関する結合確率πijxyに対する上界も必要とする。近傍露出に関して、今や、我々は、推定量の分散がグラフのクラスタのランダム化に関してnで漸近的にO(1/n)である基本的な十分条件を記述し得る。
【0093】
有り得る結果Y)がnですべてO(1)であると仮定する。Gが最大次数O(1)を有し、各クラスタのサイズがO(1)である場合、グラフのクラスタのランダム化の下での完全な、k−近傍、およびq部分的近傍露出に関するホルビッツ−トンプソン推定量の分散は、O(1/n)である。Gが最大次数O(1)を有し、各クラスタのサイズがO(1)であると仮定する。すべてのノードが有界な次数を有するので、一重和(single sum)のすべては明らかにO(n)であり、πはO(1)である。二重和(double sum)に関しては、iおよびjが共通のクラスタの近傍点を持たない|S∩S|=0である場合およびその場合に限ってπijxy=ππであることに留意されたい。|S∩S|>0であるときにはいつでも、完全な、k−近傍、およびq部分的近傍露出に関してπijxy>ππである。さらに、それ以外で|S∩S|>0およびπij10=ππである場合、πij10<ππである。したがって、πij=ππであるときにはいつでも二重和の項はゼロであり、項がゼロでない(|S∩S|>0である)とき、それらの項はすべて正であり、有界な次数のおかげでO(1)よりも高く有界とされる。今や、我々は、(|S∩S|>0)であるノードjの数を有界とする。ノードiは、最大でO(1)のクラスタに接続し、したがって、|S|=O(1)である。すべてのC∈Sに対して、我々は、任意のj∈CおよびクラスタCにおけるノードに隣接する任意のノードjに関して(|S∩S|>0)を有する。これらの寄与の両方はO(1)であり、各C∈Sに関してノードのO(1)の寄与を与える。O(1)のそのようなクラスタがあるので、これは、(|S∩S|>0)であるノードiに関して合計で依然としてO(1)のノードjである。したがって、各ノードに関して、二重和の項の最大でO(1)の項が正であり、合計の分散をO(1/n)にする。
【0094】
制約付き増大度グラフでの分散
特定の実施形態において、ソーシャルネットワーキング・システム160は、高い次数のノードに関する推定量の分散を含み得るランダム化方式を使用して大規模なグラフで干渉の下での平均の修正効果を測定し得る。制約付き増大度条件を満たす任意のグラフは、O(1/n)でありかつグラフの次数に対して線形である不偏の効果の推定値を生成し得るクラスタリングを許容する。対照的に、より慎重でないクラスタリングでは、より簡単に分散が次数で指数関数的に増大する。我々は、始めに、制約付き増大度グラフを定義するものとする。B(ν)がノードνのrホップ以内のノードの集合であるものとする。G={V,E}は、すべてのノードν∈Vおよびすべてのr>0に関して我々が|Br+1(ν)|≦k|B(ν)|を有する場合、制約付き増大度グラフである。導入で述べられたように、次元mのユークリッド空間における一様な密度の埋め込みから導出されたグラフは、増大定数k+2が次元と独立である、制約付き増加を呈する。制約付き増加の仮定に関する洞察を詳しく説明するために、我々は、始めに、特に扱いやすい制約付き増大度グラフの族、閉路のk乗に対するグラフのクラスタのランダム化を使用して分散を分析する。我々は、全般的な制約付き増大度グラフに関する分散についての有界性を証明することにより、この分析を行う。本開示は、特定のやり方で修正効果を測定することを説明するが、任意の好適なやり方で修正効果を測定することを想定する。
【0095】
閉路および閉路のべき乗の例
限定ではなく例として、始めに、我々は、n個のノードによる単一の閉路からなる単純なグラフを考える。このグラフに関して、我々は、ノードが修正を示され、それらの近傍点の両方が修正を示されるときのσと、ノードが修正を示されず、それらの近傍点の
どちらも修正を示されないときのσとの間の平均の修正効果に我々が関心がある完全な近傍露出のモデルを考える。修正および対照へのノードの決まった応答に関して、我々は、すべてのノードが修正へのネットワーク露出に一様に
【0096】
【数18】
【0097】
で応答し、対照へのネットワークへの露出に一様にY(σ)=0で応答すると仮定する。閉路グラフは、明らかに、c個のノードのつながったブロックが一緒にランダム化されるようにして、閉路構造を用いる直感的に明白なクラスタリングを許容する。最後の仮定として、クラスタがp=1/2である均衡のとれたランダム化の下で選択されると仮定する。我々の目標は、ホルビッツ−トンプソン平均修正効果推定量の分散がこれらのクラスタのサイズcにどのように依存するかを決定することである。グラフ、露出条件、応答、およびクラスタリングのこの基本的な組み合わせに関して、漸近的な分散を正確に導出し得る。
【0098】
上記の(式3)で提示された分散を考える。我々の例においてはすべてのノードが対照条件にゼロで応答するので、対照条件に関する露出の確率が厳密に正である限り、
【0099】
【数19】
【0100】
【0101】
【数20】
【0102】
との両方がゼロである。我々の計算は修正条件への露出の確率πにのみ依拠するので、我々は、上付き文字を省略する。そのとき、分散は、
【0103】
【数21】
【0104】
である。
二重和の項はπij≠ππであるノードの対に関してのみ非ゼロであることに注意されたい。
【0105】
始めに、各ノードが独自のクラスタである場合を考える。露出され、かつ各ノードの近傍点の両方が露出される確率は、3つの独立したコインが表になるのを見る確率に等しい。ランダム化が均衡している(たとえば、p=1/2である)とき、我々は、すべてのiに対してπ=1/8を得る。共通割り振り(co−assignment)の確率は、ノードiおよびjが近傍点であるのかまたは近傍点を共有するのかに依存する。これから、我々は、|i−j|=1である場合、πij=1/16を導出し、|i−j|=2である場合、πij=1/32を導出し、|i−j|>2である場合、確率は独立である。我々は、
【0106】
【数22】
【0107】
を得る。
今や、c≧2個のノードのブロックをランダム化することを考えるものとし、ここで、cはnに依存しない。我々は、等価な巡回シフトされた確率の1つを考える。計算は、c=2およびc≧3を分けて扱うことを必要とするが、cの関数としてのc≧3に関する式はc=2に関しても成り立ち、したがって、我々は、簡潔にするために特別な場合を省略する。分散の計算は、最高でΔ=c+1である距離Δ=|i−j|に依存し、c≧3に関して、これは、
【0108】
【数23】
【0109】
になる。
これは、すべてのc≧2に関して成り立つ
【0110】
【数24】
【0111】
に帰着する。
図5は、例示的な閉路グラフおよび分散の計算のプロットを示す。上述の計算を組み合わせて、すべてのcに関する推定量の漸近的な分散が、図5にプロットされる。分散は、単純な閉路上の近傍のサイズに正確に対応するサイズc=3のクラスタをランダム化するときに最小化される。(a)c=2個のノードのグループでクラスタリングされたところを示される、ノードが修正に
【0112】
【数25】
【0113】
で応答し、対照に0で応答するサイクル・グラフ。(b)クラスタ毎にc=1個のノードに関する推定量の分散によって正規化されたクラスタあたりのノードの数の関数としてのこのグラフに関する推定量の漸近的な分散。(c)クラスタあたりのノードの数の関数としてのk=1,...,5に対する閉路グラフのk乗に関する推定量のシミュレーションされた分散。各kに対して、クラスタのサイズc=2k+1に関する分散は、kに対して線形に増大する。図5は特定のグラフおよび分散の計算を示し、本開示は特定のグラフおよび分散の計算を説明するが、本開示は任意の好適なグラフおよび分散の計算を想定する。
【0114】
この観測を踏まえて、今や、我々は、解析的な導出が既に手に負えない閉路の高い次数の拡張、いわゆる閉路のk乗に関するシミュレーションされた分散を調べる。したがって、我々は、クラスタのランダム化の手順のシミュレーションを使用して、効果のサイズの推定量(effect size estimator)の分散がこれらのより高い次数のグラフに関してクラスタのサイズにどのように依存するかを調べる。
【0115】
閉路グラフのk乗は、各ノードが両側でk最近傍の近傍点に接続される閉路からなり、すべてのノードが次数d=2kを有する正則グラフを生じる。n=5000個のノードのグラフ上の100万のクラスタのランダム化をサンプリングすることによって、我々は、これらのサンプルにわたる推定量のサンプルの分散を計算し得る。リザルトが、k=1からk=5までに関して図5に示される。k=1に関するシミュレーションは、重ねられた漸近的な計算と精密に一致する。
【0116】
最適なクラスタのサイズcは、次数に対してほぼ線形に増減するように見え、最適なクラスタリングのサイズ、kが増えるときの各曲線の最小値における分散は、kに対して線形に増減するように見える。クラスタのサイズcの関数としての正確な分散は導出するのに手に負えないが、我々は、以下の上界を提供することができ、どのようにしてサイズc=d+1のクラスタに関する推定量の分散がグラフの次数dに対して線形に増減するのかを示す。これは、ノードの近傍のサイズに合わせられた閉路のつながったブロックに修正を示すべきであることを示唆する。
【0117】
この上界を導出するとき、一様な応答
【0118】
【数26】
【0119】
を仮定する必要がもはやなく、代わりに、我々は、単純に、応答が何らかの値によって上に有界(Y(σ)≦Y)とされると仮定する。
クラスタがサイズc=d+1を有するとき、各ノードは、最大で2つのクラスタに接続される可能性があり、すべてのiに対して1/π≦1/pであることを意味する。したがって、
【0120】
【数27】
【0121】
である。
今や、各ノードは、最大で3d+1個のその他のノード、つまり、それらノードが2つのクラスタに隣接するときは最高で2d+1個のその他のノード、左のクラスタの左のd/2、および右のクラスタの右のd/2との(πij≠ππであるような)独立していない結合割り振り確率を有する。結合割り振り確率πijは、2つのノードが両方がクラスタの中心にはなり得ないので、最大でpである。それぞれのiに関して、そのとき、jによってインデックス付けされる和は有界とされる可能性があり、
【0122】
【数28】
【0123】
を生成する。
このリザルトは、ノードがd+1個のノードのつながったブロックでクラスタリングされるならば、dに対してのみ線形である分散を持つ、非常に高い次数dの閉路グラフに対するネットワーク効果を実験的に測定することが可能であることを我々に示す。今、我々は、いかなる幾何学的な構造の知識も必要としないクラスタリング・アルゴリズムを使用することにより、分散を有界とするこの方針が、ずっと全般的なクラスのグラフにさらにどのようにして当てはまるかを示す。
【0124】
制約付き増大度グラフのクラスタリング
今や、我々は、本節の主たるリザルト、すなわち、当該クラスの制約付き増大度グラフに関するクラスタのランダム化方式を詳しく説明することを始める。第1の構成要素は、ノード次数とは独立に各ノードが最大で一定の数のクラスタに接続されるそのようなグラフに関するクラスタリング・アルゴリズムである。そして、これは、任意の制約付き増大度グラフに対する分散が次数に対して線形の関数によって上に有界とされ得ることを示唆する。我々のクラスタリングは、つながっている領域による閉路の良好な分解が我々のクラスの任意のグラフに一般化され得ることを示す。言い換えると、幾何学形状は決定的でなく、制約付き増大度の性質は十分である。
【0125】
制約付き増大度グラフG=(V,E)を考え、我々は、Gがd−正則であるが、我々が以下で述べるように、正則性が、接続されたクラスタの数に対してより弱いが依然として一定である有界性と引き換えに任意の次数の分布に緩和され得る場合を提示する。
【0126】
制約付き増大度条件とは、すべてのνおよびすべてのr>0に関して我々が|Br+1(ν)|≦k|B(ν)|を有するようなкが存在することを言うことを思い出されたい。重要なことに、τ=0は異なり、つまり、B(ν)は、単元集合{ν}であり、一方、B(ν)は、νの近傍であり、よって、サイズd+1を有する。したがって、|B(ν)|/|B(ν)|=d+1となり、τ>0に対する比|Br+1(ν)|/|
(ν)|に対するкの有界性よりも潜在的にずっと大きいものとなる。これは、制約付き増大度条件の核心であり、つまり、半径0から1まで、我々は、制約のない増大度(因子d+1)を有するが、次いで、増加は、dから離れて有界とされ得る因子кまで遅くなる。
【0127】
距離空間の言葉で、我々は、Gの最短経路のメトリック(metric)に関する3−netを使用してグラフをクラスタリングする[ref.8]。形式的に、距離空間Xにおいて、τ−net Y⊂Xは、相互に互いに少なくともrの距離にある点の集合であるが、すべてのそれらのτ−ballの和集合が空間を覆い、X⊆∪y∈Y(y)である。したがって、我々は、我々の構築法をグラフの3−netクラスタリングと呼ぶ。3−netクラスタリングを構築するために、我々は、ノードν,ν,...,を反復的に識別し、我々がこれを行うときにノードを「マーキングする」。その後、我々は、これらのノードに随伴するクラスタC,C,...を識別する。より明示的に、我々は、2つの主要な段階からなる以下の手順を実行する。
【0128】
・ 最初、すべてのノードは、マーキングされていない。
・ マーキングされていないノードが存在する間、工程jにおいて、任意のマーキングされていないノードνを見つけ、νをノードνであるものとして選択し、B(ν)におけるすべてのノードをマーキングする。
【0129】
・ k個のそのようなノードが定義されるものとし、S={νν,...,ν}であるものとする。
・ Gのあらゆるノードwに関して、wを最も近いノードν∈Sに割り振り、一貫して(たとえば、最も小さなインデックスの順に)結びつきを解く。
【0130】
・ あらゆるνに関して、Cは、νに割り振られたすべてのノードの集合であるものとする。
そのとき、集合C,...,Cが、我々の3−netクラスタリングである。このクラスタリングの特性は、各ノードが次数とは独立してкの関数によって有界とされ得るいくつかのクラスタに接続されることを確立する以下のリザルトである。限定ではなく例として、グラフG=(V,E)の任意の3−netクラスタリングを考える。すべてのw∈Vに対して、近傍B(w)は、最大でкのはっきり区別できるクラスタとの空でない交差を有する。始めに、我々は、すべてのν∈Sに対して、我々が有することを要求する。さらに言えば、Cにおいて任意のノードw≠νを考える。我々は、そうでない場合、wがそれ自体によって識別されるクラスタに属することになるので
【0131】
【数29】
【0132】
を有する。今や、wがマーキングされた反復iを考え、我々は、w∈B(υ)を有する。w∈Cであり、そのwがSの最も近いノードに割り振られるので、したがって、w∈B(ν)ということになる。したがって、C⊆B(ν)である。次に、我々は、すべてのνν∈Sに対して、集合B(ν)およびB(ν)は互いに素であることを要求する。背理法により、B(ν)≠φであるものとする。したがってν,ν∈Sということになり、その逆も成り立つ。しかし、そのとき、我々がνおよびνの中で初めにSに追加されたノードを考える場合、νおよびνのうちの他方は
、その反復でマーキングされることになり、よって、同様にSに追加され得なかろう。この矛盾は、B(ν)およびB(ν)が互いに素であることを確立する。証明を完成させるために、背理法により、B(w)がкを超えるはっきり区別できるクラスタとの空でない交差を有するものとする、つまり、h=1,2,...,tに対して
【0133】
【数30】
【0134】
であるように、あるt>кに対して、u,u,...,uがB(w)のはっきり区別できるノードであるものとし、
【0135】
【数31】
【0136】
がSのはっきり区別できるノードであるものとする。
【0137】
【数32】
【0138】
であり、
【0139】
【数33】
【0140】
がwに隣接するノードを含む(またはw自体を含む)ので、我々は、νih∈B(w)を有し、よって、
【0141】
【数34】
【0142】
である。近傍
【0143】
【数35】
【0144】
は、上で論じられたように、すべての対が互いに素であり、すべてB(w)に含まれ、これは、|B(w)|≧t(d+1)>к(d+1)であることを示唆する。しかし、有界増大度不等式|Br+1(w)|≦к|B(w)|を3回適用して、我々は、|B(w)|≦к(d+1)と矛盾を有することになる。これは、B(w)が最大でкのはっきりと区別できるクラスタとの空でない交差を有することが可能であることを確立する。
【0145】
上記のリザルトは、d−正則グラフに関して定式化される。しかし、実際、次数に対するいかなる要件もなしに、任意の制約付き増大度グラフに関してさえも、кのみに依存するより弱い有界性を示し得る。кのこのより弱い有界性は、任意の制約付き増大度グラフがノード次数に対して「有界な勾配」を呈し、それによって、グラフ内で互いに近くにあるノードが同様の次数を持つはずであることを観測することによって確立され得る。この事実を前の事実と組み合わせることが、所望の有界性につながる。
【0146】
分散の有界性
今や、我々は、効果の推定量
【0147】
【数36】
【0148】
の分散を有界とするために上記のリザルトを適用する。以下の節においては、すべての応答が修正への露出と対照への露出x=0,1に関して上界および正の下界に準じる(Y(σ)∈[Y,Y])。正の下界の理由は、それらなしでは、ユーザがすべての修正にすべてゼロで応答しており、修正方式と無関係に分散をゼロにする可能性があることである。我々は、ランダム化の確率pが非退化、つまり、p∈(0,1)であることも仮定する。我々は、式を処理しやすいままに保つために正則グラフに関するリザルトを提示するが、類似したリザルトが任意の次数に関して導出され得る。
【0149】
始めに、我々は、ノード・レベルのランダム化の下での分散に関する指数関数的な下界を確立し、次いで、我々は、我々の3−netクラスタ・ランダム化方式の下での分散に関する対照的な線形の上界を示す。限定ではなく例として、n個のノードによるグラフのノードのランダム化に関する完全な近傍露出の下でのホルビッツ−トンプソン推定量の分散が、グラフの次数dで指数関数によって下に有界とされ、
【0150】
【数37】
【0151】
であると仮定する。同じ露出を有する2つのノードに関する結合割り振り確率は、少なく
とも、それらの個々の確率の積であり、x=0,1に対してπijxy≧ππである。したがって、(式4)の二重和は、非負である。同様に、反対の露出条件に関して、我々は、x≠yに対してπijxy≦ππを有し、これは、(式5)に(式3)に対して非負の寄与をさせる。我々は、我々の下界を(式4)の主要項に対してあてがうことにする。確率π=pd+1およびπ=(1−p)d+1を入力し、応答を下に有界とすることは、我々に所望のリザルト
【0152】
【数38】
【0153】
を与える。
任意の次数の分布を持つグラフに関して、この有界性は、各ノード次数に対して指数関数的である
【0154】
【数39】
【0155】
になり、単一の高い次数のノードでさえも分散を容易に激増させ得ることを意味する。
今や、我々は、我々の3−netクラスタリングを使用するときの制約付き増大度グラフに関する我々の線形の上界に目を向ける。限定ではなく例として、制約付き増大度グラフの3−netクラスタ・ランダム化に関する完全な、q部分的、またはk全面的近傍露出の下でのホルビッツ−トンプソン推定量の分散が、グラフの次数dに対して線形な関数によって上に有界とされると仮定する。推定量の分散は、
【0156】
【数40】
【0157】
によって与えられることを思い出されたい。我々は、まず
【0158】
【数41】
【0159】
の分散を上に有界とし、
【0160】
【数42】
【0161】
に関する上界は、同じ原理に従う。我々は、最後に、共分散(covariance)を有界とする。各ノードは、最大でк個のクラスタに接続される。したがって、我々は、完全な近傍露出と部分近傍露出との両方に関して下界を有し(π≧p∧к)、
【0162】
【数43】
【0163】
である。
各ノードiに関して2つの和の内側は、割り振りが依存するノードjでのみ非ゼロである。iおよびjに関する割り振りが依存する場合、それらは、クラスタ中心の集合の中のノードνに関連付けられている同じクラスタCにおける近傍点をそれぞれ有するはずである。我々はC⊆B(υ)であることを既に確立したので、したがってiおよびjはそれぞれνの距離3以内にあり、よって互いの距離6以内にある。したがって、割り振りがiの割り振りに依存する任意のjは、B(i)内にあるはずであり、したがって、制約付き増大度条件により、最大で|B(i)|≦к|B(i)|=к(d+1)個のそのようなノードjがある可能性がある。したがって、そのようなjの和は、最大でк(d+1)個の項を有する。また、2つのノードが少なくとも1つのクラスタに依存するはずであるので、πij≦pが当てはまる。我々は、
【0164】
【数44】
【0165】
を得る。
今や、分散への共分散の項
【0166】
【数45】
【0167】
の寄与、正の量を考える。(式5)から始まり、我々は、応答Yに関する上界を適用して
【0168】
【数46】
【0169】
を得る。
前の類似した式と同様に、各iに関して、内側の和は、最大でk(d+1)個のその他のノードjに関して非ゼロである。残りの項に関しては、量−(πij10/(ππ)−1)が、1によって上に有界とされることは自明である。したがって、我々は、
【0170】
【数47】
【0171】
を得る。
各上界を組み合わせて、我々は、望んでいた通り、次数に対して線形である合計の上界を得る。
【0172】
我々が使用した制約付き増大度条件は、正則グラフに関して導出されたが、我々が先に述べたように、任意の次数の分布を持つ制約付き増大度グラフに関して、我々は、クラスタの依存性に対するより弱いが依然として一定の有界性を適用して、次数に対して依然として線形である分散の有界性を得ることが可能である。
【0173】
図6は、修正効果を決定するための例示的な方法600を示す。方法は、ソーシャルネットワーキング・システム160が複数のノードおよびノードを接続する複数のエッジを備えるソーシャル・グラフ200にアクセスし得る工程610で始まることが可能である。ノードのうちの2つの間のエッジのそれぞれは、それらのノードの間の隔たりについての単一の次数を表し得る。複数のノードが、それぞれ、オンライン・ソーシャル・ネットワークに関連付けられている複数のユーザに対応することが可能である。特定の実施形態においては、複数のノードが、それぞれ、オンライン・ソーシャル・ネットワークに関連付けられている複数のユーザまたはコンセプトに対応することが可能である。工程620において、ソーシャルネットワーキング・システム160が、グラフ・クラスタリングを使用してソーシャル・グラフにおいて複数のクラスタを識別し得る。各クラスタは、複数のノードからの独立したノード集合を備えることが可能である。各クラスタの閾値数のノードが、クラスタにおけるその他のノードに関連してネットワーク露出されることが可能である。工程630において、ソーシャルネットワーキング・システム160が、複数のクラスタのうちの第1のクラスタ集合に対応する第1のユーザ集合に修正を提供し得る。工程640において、ソーシャルネットワーキング・システム160が、各ユーザに関する修正へのネットワーク露出に基づいて第1のユーザ集合のユーザに対する修正の修正効果を決定し得る。特定の実施形態は、適切な場合、図6の方法の1つまたは複数の工程を繰り返すことが可能である。本開示は、図6の方法の特定の工程を特定の順序で行われるものとして説明しかつ示しているが、図6の方法の任意の好適な工程が任意の好適な順序で行われることを想定する。さらに、本開示は、図6の方法の特定の工程を含む修正効果を決定するための例示的な方法を説明しかつ示しているが、適切な場合、図6の方法の工程のすべてもしくは一部を含むか、または図6の方法の工程のいずれも含まない可能性が
ある任意の好適な工程を含む修正効果を決定するための任意の好適な方法を想定する。さらに、本開示は、特定の構成要素、デバイス、またはシステムが図6の方法の特定の工程を実行することを説明しかつ示しているが、任意の好適な構成要素、デバイス、またはシステムの任意の好適な組み合わせが図6の方法の任意の好適な工程を実施することを想定する。
【0174】
参考文献
【0175】
【表1】
【0176】
本明細書におけるすべての参考文献の引用は、すべてが記載されているかのように参照により援用される。
ソーシャル・グラフ・アフィニティおよび係数
特定の実施形態において、ソーシャルネットワーキング・システム160は、互いに対するさまざまなソーシャル・グラフのエンティティのソーシャル・グラフ・アフィニティ(本明細書においては「アフィニティ」と呼ばれることがある)を決定し得る。アフィニティは、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられているその他のオブジェクト、またはこれらの任意の好適な組み合わせなどのオンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクトの間の関係の強さまたは関心のレベルを表し得る。また、アフィニティは、サードパーティ・システム170またはその他の好適なシステムに関連付けられているオブジェクトに関連して決定され得る。各ユーザ、対象、またはコンテンツの種類に対するソーシャル・グラフのエンティティに関する全体的なアフィニティが、確立されることが可能である。全体的なアフィニティは、ソーシャル・グラフのエンティティに関連付けられているアクションまたは関係の継続的な監視に基づいて変わり得る。本開示は、特定のやり方で特定のアフィニティを決定することを説明するが、任意の好適なやり方で任意の好適なアフィニティを決定することを想定する。
【0177】
特定の実施形態において、ソーシャルネットワーキング・システム160は、アフィニティ係数(affinity coefficient)(本明細書においては「係数」と呼ばれることがある)を使用してソーシャル・グラフ・アフィニティを測定または定量化し得る。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクトの間の関係の強さを表すかまたは定量化し得る。また、係数は、ユーザがアクションに対するユーザの関心に基づいて特定のアクションを実行する予想された確率を測定する確率または関数を表すことが可能である。このようにして、ユーザの将来のアクションが、ユーザの以前のアクションに基づいて予想される可能性があり、係数が、ユーザのアクションの履歴に少なくとも部分的に基づいて計算され得る。係数は、オンライン・ソーシャル・ネットワークの中または外にある可能性がある任意の数のアクションを予想するために使用され得る。限定ではなく例として、これらのアクションは、メッセージを送信すること、コンテンツをポストすること、もしくはコンテンツにコメントすることなどのさまざまな種類の通信、プロファイル・ページ、メディア、もしくはその他の好適なコンテンツにアクセスするかもしくはそれを閲覧することなどのさまざまな種類の観測アクション、同じグループにいること、同じ写真にタグ付けされること、同じ位置にチェックインされること、もしくは同じイベントに参加することなどの2つ以上のソーシャル・グラフのエンティティについてのさまざまな種類の一致情報、またはその他の好適なアクションを含み得る。本開示は、特定のやり方でアフィニティを測定することを説明するが、任意の好適なやり方でアフィニティを測定することを想定する。
【0178】
特定の実施形態において、ソーシャルネットワーキング・システム160は、さまざまな因子を使用して係数を計算し得る。これらの因子は、たとえば、ユーザのアクション、オブジェクトの間の関係の種類、位置情報、その他の好適な因子、またはこれらの任意の組み合わせを含み得る。特定の実施形態においては、係数を計算するときに、異なる因子が異なるように重み付けされることが可能である。各因子に関する重みは、静的であることが可能であり、または重みは、たとえば、ユーザ、関係の種類、アクションの種類、ユーザの位置などに従って変わり得る。因子に関するレーティングが、ユーザに関する全体的な係数を決定するためにそれらの因子の重みに従って組み合わされ得る。限定ではなく例として、特定のユーザのアクションが、レーティングと重みとの両方を割り振られ得る一方、特定のユーザのアクションに関連付けられている関係は、レーティングおよび相関重み(correlating weight)を割り当てられる(たとえば、したがって、重みは合計で100%になる)。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに割り振られるレーティングが、たとえば、全体的な係数の60%を含み得る一方、ユーザとオブジェクトとの間の関係は、全体的な係数の40%
を含み得る。特定の実施形態において、ソーシャルネットワーキング・システム160は、係数を計算するために使用されるさまざまな因子に関する重みを決定するときに、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに接続されたソーシャル・グラフのエンティティとの関係、ユーザのアクションの短期的もしくは長期的平均、ユーザのフィードバック、その他の好適な変数、またはこれらの任意の組み合わせなどのさまざまな変数を考える可能性がある。限定ではなく例として、係数は、係数を計算するときにより最近のアクションがより関連性を持つように、特定のアクションによって提供される信号の強度を時間とともに減衰させる減衰因子を含むことが可能である。レーティングおよび重みは、係数が基づくアクションの継続的な追跡に基づいて継続的に更新され得る。各因子に関するレーティングおよび因子に割り振られる重みの割り振り、組み合わせ、平均などのために任意の種類のプロセスまたはアルゴリズムが採用され得る。特定の実施形態において、ソーシャルネットワーキング・システム160は、履歴的アクションおよび過去のユーザの応答、またはユーザをさまざまなオプションに露出し、応答を測定することによってユーザから養われたデータで訓練された機械学習アルゴリズムを使用して係数を決定し得る。本開示は、特定のやり方で係数を計算することを説明するが、任意の好適なやり方で係数を計算することを想定する。
【0179】
特定の実施形態において、ソーシャルネットワーキング・システム160は、ユーザのアクションに基づいて係数を計算し得る。ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワーク、サードパーティ・システム170、その他の好適なシステム、またはこれらの任意の組み合わせでそのようなアクションを監視し得る。任意の好適な種類のユーザのアクションが、追跡または監視され得る。典型的なユーザのアクションは、プロファイル・ページを閲覧すること、コンテンツを作成またはポストすること、コンテンツとインタラクションすること、画像をタグ付けすることまたは画像でタグ付けされること、グループに参加すること、イベントへの出席をリストに載せることおよび確認すること、位置にチェックインすること、特定のページに「いいね!」を表明すること、ページを作成すること、ならびにソーシャル・アクションを容易にするその他のタスクを実行することを含む。特定の実施形態において、ソーシャルネットワーキング・システム160は、特定の種類のコンテンツとのユーザのアクションに基づいて係数を計算し得る。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム170、または別の好適なシステムに関連付けられることが可能である。コンテンツは、ユーザ、プロファイル・ページ、ポスト、ニュース記事、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、ピクチャ、ビデオ、音楽、その他の好適なオブジェクト、またはこれらの任意の組み合わせを含み得る。ソーシャルネットワーキング・システム160は、ユーザのアクションを分析して、アクションのうちの1つまたは複数が対象、コンテンツ、その他のユーザなどに関するアフィニティを示すかどうかを決定し得る。限定ではなく例として、ユーザが「コーヒー」またはそれに類するものに関わりのあるコンテンツを頻繁にポストする可能性がある場合、ソーシャルネットワーキング・システム160は、ユーザがコンセプト「コーヒー」に関連する高い係数を有すると決定し得る。特定のアクションまたはアクションの種類が、その他のアクションよりも重い重みおよび/またはレーティングを割り振られる可能性があり、そのことが、全体的な計算される係数に影響を与える可能性がある。限定ではなく例として、第1のユーザが第2のユーザに電子メールを送る場合、アクションに関する重みまたはレーティングは、第1のユーザが単に第2のユーザに関するユーザ・プロファイル・ページを閲覧する場合よりも高いことが可能である。
【0180】
特定の実施形態において、ソーシャルネットワーキング・システム160は、特定のオブジェクトの間の関係の種類に基づいて係数を計算し得る。ソーシャル・グラフ200を参照すると、ソーシャルネットワーキング・システム160は、係数を計算するときに、
特定のユーザ・ノード202とコンセプト・ノード204とを接続するエッジ206の数および/または種類を分析し得る。限定ではなく例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)によって接続されるユーザ・ノード202は、友達タイプのエッジによって接続されるユーザ・ノード202よりも高い係数を割り振られることが可能である。言い換えると、特定のユーザに関するアクションおよび関係に割り振られた重みに依存して、全体的なアフィニティが、ユーザの友達についてのコンテンツに関してよりもユーザの配偶者についてのコンテンツに関してより高いと決定されることが可能である。特定の実施形態においては、ユーザが有する別のオブジェクトとの関係が、そのオブジェクトに関する係数を計算することに関連するユーザのアクションの重みおよび/またはレーティングに影響を与えることが可能である。限定ではなく例として、ユーザが第1の写真にタグ付けされるが、第2の写真にしか「いいね!」を表明しない場合、ソーシャルネットワーキング・システム160は、コンテンツとタグ付けタイプの関係を有することがコンテンツと「いいね!」タイプの関係を有することよりも重い重みおよび/またはレーティングを割り振られる可能性があるので、ユーザが第2の写真よりも第1の写真に関連してより高い係数を有すると決定し得る。特定の実施形態において、ソーシャルネットワーキング・システム160は、1人または複数の第2のユーザが有する特定のオブジェクトとの関係に基づいて第1のユーザに関する係数を計算し得る。言い換えると、その他のユーザが有するオブジェクトとの接続および係数が、オブジェクトに関する第1のユーザの係数に影響を与えることが可能である。限定ではなく例として、第1のユーザが1人もしくは複数の第2のユーザに接続されるかまたは1人もしくは複数の第2のユーザに関する高い係数を有し、それらの第2のユーザが特定のオブジェクトに接続されるかまたは特定のオブジェクトに関する高い係数を有する場合、ソーシャルネットワーキング・システム160は、第1のユーザも特定のオブジェクトに関する比較的高い係数を有するべきであると決定し得る。特定の実施形態において、係数は、特定のオブジェクトの間の隔たりの度合いに基づくことが可能である。より低い係数は、第1のユーザがソーシャル・グラフ200の第1のユーザに間接的に接続されるユーザのコンテンツ・オブジェクトへの関心を共有する減少する見込みを表し得る。限定ではなく例として、ソーシャル・グラフ200内でより近いソーシャル・グラフのエンティティ(つまり、隔たりのより低い度合い)は、ソーシャル・グラフ200内でさらに離れているエンティティよりも高い係数を有することが可能である。
【0181】
特定の実施形態において、ソーシャルネットワーキング・システム160は、位置情報に基づいて係数を計算し得る。地理的に互いにより近いオブジェクトは、より遠いオブジェクトよりも互いにより関わりがあるかまたはより関心があると考えられる可能性がある。特定の実施形態において、特定のオブジェクトに対するユーザの係数は、ユーザに関連付けられている現在位置(またはユーザのクライアント・システム130の位置)に対するオブジェクトの位置の近さに基づくことが可能性である。第1のユーザは、第1のユーザにより近いその他のユーザまたはコンセプトにより関心がある可能性がある。限定ではなく例として、ユーザが空港から1.6キロメートル(1マイル)およびガソリン・スタンドから3.2キロメートル(2マイル)の距離にある場合、ソーシャルネットワーキング・システム160は、ユーザがユーザに対する空港の近さに基づいてガソリン・スタンドよりも空港に関してより高い係数を有すると決定し得る。
【0182】
特定の実施形態において、ソーシャルネットワーキング・システム160は、係数情報に基づいてユーザに関連する特定のアクションを実行し得る。係数は、アクションへのユーザの関心に基づいてユーザが特定のアクションを実行するかどうかを予想するために使用され得る。係数は、広告、検索リザルト、ニュース記事、メディア、メッセージ、通知、またはその他の好適なオブジェクトなどの任意の種類のオブジェクトを生じるかまたはユーザに提示するときに使用され得る。係数は、必要に応じてそのようなオブジェクトにランクを付け、順序付けするためにも利用され得る。このようにして、ソーシャルネット
ワーキング・システム160は、ユーザの関心および現在の事情に関連性を持っている情報を提供し、それらのユーザが関心のあるそのような情報を見つける見込みを増やすことが可能である。特定の実施形態において、ソーシャルネットワーキング・システム160は、係数情報に基づいてコンテンツを生じ得る。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択されることが可能である。限定ではなく例として、係数は、ユーザのためのメディアを生じるために使用されることが可能であり、ユーザは、ユーザがメディア・オブジェクトに関連する高い全体的な係数を有するメディアを提示されることが可能である。限定ではなく別の例として、係数は、ユーザのための広告を生じるために使用されることが可能であり、ユーザは、ユーザが広告されるオブジェクトに関連する高い全体的な係数を有する広告を提示されることが可能である。特定の実施形態において、ソーシャルネットワーキング・システム160は、係数情報に基づいて検索リザルトを生じ得る。特定のユーザのための検索リザルトが、問い合わせしているユーザに関連する検索リザルトに関連付けられている係数に基づいてスコアを付けられるかまたはランクを付けられることが可能である。限定ではなく例として、より高い係数を持つオブジェクトに対応する検索リザルトが、より低い係数を有するオブジェクトに対応するリザルトよりも検索リザルト・ページでより高くランクを付けられることが可能である。
【0183】
特定の実施形態において、ソーシャルネットワーキング・システム160は、特定のシステムまたはプロセスからの係数のリクエストに応答して係数を計算し得る。所与の局面でユーザがとり得る(または対象になり得る)ありそうなアクションを予想するために、任意のプロセスが、ユーザに関する計算された係数をリクエストすることが可能である。このリクエストは、係数を計算するために使用されるさまざまな因子に関して使用する重みの集合を含むことが可能である。このリクエストは、オンライン・ソーシャル・ネットワークで実行されるプロセスから、(APIもしくはその他の通信チャネルを介して)サードパーティ・システム170から、または別の好適なシステムから来ることが可能である。リクエストに応答して、ソーシャルネットワーキング・システム160は、係数を計算し得る(または係数情報が既に計算され、記憶されている場合、その係数情報にアクセスし得る)。特定の実施形態において、ソーシャルネットワーキング・システム160は、特定のプロセスに関連するアフィニティを測定し得る。異なるプロセス(オンライン・ソーシャル・ネットワークの内部と外部との両方)が、特定のオブジェクトまたはオブジェクト集合に関する係数をリクエストすることが可能である。ソーシャルネットワーキング・システム160は、アフィニティの測定値をリクエストした特定のプロセスと関連性を持っているアフィニティの測定値を提供し得る。このようにして、各プロセスは、プロセスがアフィニティの測定値を使用する異なるコンテキストのために仕立てられたアフィニティの測定値を受信する。
【0184】
ソーシャル・グラフ・アフィニティおよびアフィニティ係数に関係して、特定の実施形態は、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23日に出願された米国特許出願第12/978265号、および2012年10月1日に出願された米国特許出願第13/632869号で開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、または工程を利用することが可能であり、これらの特許出願のそれぞれは、参照により援用される。
【0185】
広告
特定の実施形態において、広告は、テキスト(HTMLのリンクが張られることが可能である)、1つもしくは複数の画像(HTMLのリンクが張られることが可能である)、1つもしくは複数のビデオ、音声、1つもしくは複数のADOBE FLASHファイル、これらの任意の組み合わせ、あるいは1つもしくは複数のウェブページで、1つもしくは複数の電子メールで、またはユーザによってリクエストされた検索リザルトに関係して
示される任意の好適なデジタル・フォーマットの任意のその他の好適な広告であることが可能である。加えてまたは代替として、広告は、1つまたは複数のスポンサー付きの記事(たとえば、ニュースフィード、またはソーシャルネットワーキング・システム160のティッカー・アイテム)であることが可能である。スポンサー付きの記事は、たとえば、ソーシャル・アクションをユーザのプロファイル・ページもしくはその他のページの予め決められた領域内に示されるか、広告主に関連付けられている追加の情報とともに示されるか、その他のユーザのニュースフィードもしくはティッカー内で大きくされる(bumped up)かもしくはその他の方法で強調されるか、またはその他の方法でプロモーションされるようにすることによって広告主がプロモーションするユーザによるソーシャル・アクション(ページ「に対して『いいね!』を表明する」、ページのポスト「に対して『いいね!』を表明する」かもしくはコメントする、ページに関連するイベントへの出欠の返事をする(RSVP)、ページにポストされた質問に投票する、場所にチェックインする、アプリケーションを使用するかもしくはゲームをする、またはウェブサイト「に対して『いいね!』を表明する」かもしくはウェブサイトを共有するなど)であることが可能である。広告主は、ソーシャル・アクションをプロモーションさせるために料金を支払う場合がある。限定ではなく例として、広告は、検索リザルト・ページの検索リザルトに含まれることが可能であり、スポンサー付きのコンテンツがスポンサー付きでないコンテンツの上でプロモーションされる。特定の実施形態においては、1つまたは複数の広告が、上述のネットワーク指向の製品ロールアウト技術を使用してオンライン・ソーシャル・ネットワークのユーザの1つまたは複数のクラスタ上でテストされ得る。
【0186】
特定の実施形態において、広告は、ソーシャルネットワーキング・システムのウェブページ、サードパーティのウェブページ、またはその他のページ内に表示するためにリクエストされることが可能である。広告は、ページの一番上のバナー領域内、ページの横のカラム内、ページのGUI内、ポップアップ・ウィンドウ内、ドロップダウン・メニュー内、ページの入力フィールド内、ページのコンテンツの上、またはページに関連する他の場所などのページの専用の部分に表示されることが可能である。加えてまたは代替として、広告は、アプリケーション内に表示されることが可能である。広告は、専用のページ内に表示され、ユーザがページにアクセスするかまたはアプリケーションを利用し得る前にユーザが広告とインタラクションするかまたは広告を見ることを要求することが可能である。ユーザは、たとえば、ウェブ・ブラウザを通じて広告を閲覧し得る。
【0187】
ユーザは、任意の好適なやり方で広告とインタラクションし得る。ユーザは、広告をクリックするかまたはその他の方法で選択することが可能である。広告を選択することによって、ユーザは、広告に関連付けられているページに導かれることが可能である(またはユーザによって使用されるブラウザもしくはその他のアプリケーション)。広告に関連付けられているページにおいて、ユーザは、広告に関連付けられ製品もしくはサービスを購入すること、広告に関連付けられ情報を受信すること、または広告に関連付けられているニューズレターを購読することなどの追加的なアクションを行うことが可能である。音声またはビデオによる広告が、(再生ボタンのような)広告の構成要素を選択することによって再生されることが可能である。代替的に、広告を選択することによって、ソーシャルネットワーキング・システム160が、ユーザの特定のアクションを実行または変更することが可能である。
【0188】
広告は、ユーザがインタラクションし得るソーシャルネットワーキング・システムの機能を含むことが可能である。限定ではなく例として、広告は、ユーザが承認に関連付けられているアイコンまたはリンクを選択することによって広告「に対して『いいね!』を表明する」かまたはその他の方法で広告を承認することができるようにし得る。限定ではなく例として、広告は、ユーザが広告主に関わりがあるコンテンツを(たとえば、問い合わせを実行することによって)検索することができるようにし得る。同様に、ユーザは、(
たとえば、ソーシャルネットワーキング・システム160を通じて)別のユーザと広告を共有するか、または(たとえば、ソーシャルネットワーキング・システム160を通じて)広告に関連付けられているイベントへの出欠の返事をし得る。加えてまたは代替として、広告は、ユーザを対象とするソーシャルネットワーキング・システムのコンテキストを含み得る。限定ではなく例として、広告は、広告の対象に関連付けられているアクションを行ったソーシャルネットワーキング・システム160におけるユーザの友達についての情報を表示し得る。
【0189】
システムおよび方法
図7は、例示的なコンピュータ・システム700を示している。特定の実施形態においては、1つまたは複数のコンピュータ・システム700が、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を実行する。特定の実施形態においては、1つまたは複数のコンピュータ・システム700が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、1つまたは複数のコンピュータ・システム700上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている1つもしくは複数の方法の1つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム700の1つまたは複数の部分を含む。本明細書においては、適切な場合には、コンピュータ・システムへの言及はコンピューティング・デバイスを包含することができ、反対に、コンピューティング・デバイスへの言及はコンピュータ・システムを包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、1つまたは複数のコンピュータ・システムを包含することができる。
【0190】
本開示は、任意の適切な数のコンピュータ・システム700を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム700を想定している。限定ではなく、例として、コンピュータ・システム700は、組み込みコンピュータ・システム、システムオンチップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータ・システム700は、1つもしくは複数のコンピュータ・システム700を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド(1つもしくは複数のネットワーク内の1つもしくは複数のクラウド・コンポーネントを含むことができる)内に常駐することが可能である。適切な場合には、1つまたは複数のコンピュータ・システム700は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、1つまたは複数のコンピュータ・システム700は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程をリアル・タイムで、またはバッチ・モードで実行することができる。1つまたは複数のコンピュータ・システム700は、適切な場合には、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
【0191】
特定の実施形態においては、コンピュータ・システム700は、プロセッサ702、メモリ704、ストレージ706、入力/出力(I/O)インタフェース708、通信イン
タフェース710、およびバス712を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
【0192】
特定の実施形態においては、プロセッサ702は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ702は、内部レジスタ、内部キャッシュ、メモリ704、またはストレージ706から命令を取り出し(またはフェッチし)、それらの命令をデコードして実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ704、またはストレージ706に書き込むことができる。特定の実施形態においては、プロセッサ702は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ702を想定している。限定ではなく、例として、プロセッサ702は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(TLB)を含むことができる。命令キャッシュ内の命令は、メモリ704またはストレージ706内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ702によるそれらの命令の取り出しを高速化することができる。データ・キャッシュ内のデータは、プロセッサ702において実行される命令が機能する際に基づくメモリ704もしくはストレージ706内のデータのコピー、プロセッサ702において実行される後続の命令によるアクセスのための、もしくはメモリ704もしくはストレージ706への書き込みのためのプロセッサ702において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データ・キャッシュは、プロセッサ702による読み取り動作または書き込み動作を高速化することができる。TLBは、プロセッサ702のための仮想アドレス変換を高速化することができる。特定の実施形態においては、プロセッサ702は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ702を想定している。適切な場合には、プロセッサ702は、1つまたは複数の演算ロジック・ユニット(ALU)を含むこと、マルチコア・プロセッサであること、または1つもしくは複数のプロセッサ702を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
【0193】
特定の実施形態においては、メモリ704は、プロセッサ702が実行するための命令、またはプロセッサ702が機能する際に基づくデータを格納するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム700は、命令をストレージ706または別のソース(たとえば、別のコンピュータ・システム700など)からメモリ704にロードすることができる。次いでプロセッサ702は、命令をメモリ704から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ702は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ702は、1つまたは複数の結果(それらは、中間の結果または最終的な結果である場合がある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ702は、それらの結果のうちの1つまたは複数をメモリ704に書き込むことができる。特定の実施形態においては、プロセッサ702は、(ストレージ706またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ704内の命令のみを実行し、(ストレージ706またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ704内のデータ上でのみ機能する。1つまたは複数のメモリ・バス(それらはそれぞれ、アドレス・バスお
よびデータ・バスを含むことができる)は、プロセッサ702をメモリ704に結合することができる。バス712は、以降で記述されているような1つまたは複数のメモリ・バスを含むことができる。特定の実施形態においては、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ702とメモリ704との間に常駐し、プロセッサ702によって要求されるメモリ704へのアクセスを容易にする。特定の実施形態においては、メモリ704は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であることが可能である。その上、適切な場合には、このRAMは、シングルポートRAMまたはマルチポートRAMであることが可能である。本開示は、任意の適切なRAMを想定している。メモリ704は、適切な場合には、1つまたは複数のメモリ704を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
【0194】
特定の実施形態においては、ストレージ706は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ706は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ706は、適切な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された)媒体を含むことができる。ストレージ706は、適切な場合には、コンピュータ・システム700の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ706は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ706は、読み取り専用メモリ(ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能ROM(EAROM)、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ706を想定している。ストレージ706は、適切な場合には、プロセッサ702とストレージ706との間における通信を容易にする1つまたは複数のストレージ・コントロール・ユニットを含むことができる。適切な場合には、ストレージ706は、1つまたは複数のストレージ706を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
【0195】
特定の実施形態においては、I/Oインタフェース708は、コンピュータ・システム700と1つまたは複数のI/Oデバイスとの間における通信のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム700は、適切な場合には、これらのI/Oデバイスのうちの1つまたは複数を含むことができる。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータ・システム700との間における通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオ・カメラ、別の適切なI/Oデバイス、またはこれらのうちの複数の組合せを含むことができる。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびそれらのI/Oデバイスのための任意の適切なI/Oインタフェース708を想定している。適切な場合には、I/Oインタフェース708は、プロセッサ702がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。I/Oインタフェース708は、適切な場合には、1つまたは複数のI/Oインタフェース708を含むことができる。本
開示は、特定のI/Oインタフェースについて記述し、示しているが、本開示は、任意の適切なI/Oインタフェースを想定している。
【0196】
特定の実施形態においては、通信インタフェース710は、コンピュータ・システム700と、1つもしくは複数のその他のコンピュータ・システム700または1つもしくは複数のネットワークとの間における通信(たとえば、パケットベースの通信など)のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース710は、イーサネット(登録商標)もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレスNIC(WNIC)もしくはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース710を想定している。限定ではなく、例として、コンピュータ・システム700は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線またはワイヤレスであることが可能である。例として、コンピュータ・システム700は、ワイヤレスPAN(WPAN)(たとえば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(登録商標))ネットワークなど)、またはその他の適切なワイヤレス・ネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータ・システム700は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース710を含むことができる。通信インタフェース710は、適切な場合には、1つまたは複数の通信インタフェース710を含むことができる。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【0197】
特定の実施形態においては、バス712は、コンピュータ・システム700のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス712は、アクセラレイティッド・グラフィックス・ポート(AGP)もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ(EISA)バス、フロントサイド・バス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリー・スタンダード・アーキテクチャ(ISA)バス、インフィニバンド・インターコネクト、ローピンカウント(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス712は、適切な場合には、1つまたは複数のバス712を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
【0198】
本明細書においては、1つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、1つもしくは複数の半導体ベースのもしくはその他の集積回路(IC)(たとえば、フィールドプログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向け集積回路(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・
ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
【0199】
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
【0200】
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、機能、動作、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、機能、動作、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。
図1
図2
図3
図4
図5
図6
図7