(57)【要約】  一実施形態では、方法は、複数のノードおよびエッジを含むソーシャル・グラフにアクセスする工程と、複数のノードのうちの第１の組のユーザ・ノードに対するユーザ−コンセプト・スコアにそれぞれアクセスする工程と、第１の組のユーザ・ノードと複数のコンセプト・ノードとによるすべてのユーザ−コンセプト・ペアに対する推薦されるユーザ−コンセプト・スコアを推定するための推薦アルゴリズムを生成する工程と、複数のノードのうちの第２の組のユーザ・ノードに対する推薦されるユーザ−コンセプト・スコアを計算する工程とを含む。
2016532943.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティング・デバイスに関連付けられている１つまたは複数のプロセッサが、
複数のノードと、前記複数のノードを接続する複数のエッジとを含むソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つのノードの間の前記エッジの各々は、それら２つのノードの間の１次の隔たりを表し、前記複数のノードは、
オンライン・ソーシャル・ネットワークに関連付けられている複数のユーザにそれぞれ対応する複数のユーザ・ノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられている複数のコンセプトにそれぞれ対応する複数のコンセプト・ノードと、
を含む、工程と、
前記複数のノードのうちの第１の組のユーザ・ノードに対するユーザ−コンセプト・スコアにそれぞれアクセスする工程であって、各ユーザ−コンセプト・スコアは特定のユーザ−コンセプト・ペアに関し、前記特定のユーザ−コンセプト・ペアは、前記複数のコンセプト・ノードのうちの１つのコンセプト・ノードに対し１つのエッジによって接続されている、前記第１の組のユーザ・ノードのうちの１つのユーザ・ノードを含む、ユーザ−コンセプト・スコア・アクセス工程と、
前記第１の組のユーザ・ノードと前記複数のコンセプト・ノードとによるすべてのユーザ−コンセプト・ペアに対する推薦されるユーザ−コンセプト・スコアを推定するための推薦アルゴリズムを生成する工程であって、前記推薦されるユーザ−コンセプト・スコアは、アクセスされた前記ユーザ−コンセプト・スコアに基づく、推薦アルゴリズム生成工程と、
前記複数のノードのうちの第２の組のユーザ・ノードに対する推薦されるユーザ−コンセプト・スコアを計算するユーザ−コンセプト・スコア計算工程であって、前記第１の組のユーザ・ノードは前記第２の組のユーザ・ノードから分離している、工程と、
を行う方法。
【請求項２】
前記第２の組のユーザ・ノードに対する計算された前記推薦されるユーザ−コンセプト・スコアに基づいて、１つまたは複数のコンセプト・ノードに対する推薦を、前記第２の組のユーザ・ノードのうちの前記１つのユーザ・ノードに対応する１つまたは複数のユーザに送信する工程をさらに備える、請求項１に記載の方法。
【請求項３】
前記ユーザ−コンセプト・スコア・アクセス工程は、
前記第１の組のユーザ・ノードに対する前記ユーザ−コンセプト・スコアを表すレーティング行列Ｒにアクセスする工程と、
前記レーティング行列Ｒに基づいて、ユーザ行列Ｐを決定する工程であって、前記ユーザ行列Ｐは、前記第１の組のユーザ・ノードの各ユーザ・ノードｕについての複数のユーザ−スコア・ベクトルＰ（ｕ）を含む、工程と、
前記レーティング行列Ｒに基づいて、コンセプト行列Ｑを決定する工程であって、前記コンセプト行列Ｑは、前記複数のコンセプト・ノードの各コンセプト・ノードｉについての複数のコンセプト−スコア・ベクトルＱ（ｉ）を含む、工程と、
を含む、請求項１に記載の方法。
【請求項４】
前記ユーザ行列Ｐと、各ユーザ・ノードｕについての前記ユーザ−スコア・ベクトルＰ（ｕ）と、前記コンセプト行列Ｑと、各コンセプト・ノードｉについての前記コンセプト−スコア・ベクトルＱ（ｉ）とは、並列型確率的勾配降下を使用して決定される、請求項３に記載の方法。
【請求項５】
前記推薦アルゴリズム生成工程は、
前記第１の組のユーザ・ノードの各ユーザ・ノードｕについての複数のユーザ−スコア・ベクトルＰ（ｕ）を含むユーザ行列Ｐにアクセスする工程であって、各ユーザ・ノードｕは、ユーザ−バイアス・ベクトルＢｕ（ｕ）に関連付けられている、工程と、
前記複数のコンセプトの各コンセプト・ノードｉについての複数のコンセプト−スコア・ベクトルＱ（ｉ）を含むコンセプト行列Ｑにアクセスする工程であって、各コンセプト・ノードｉは、コンセプト−バイアス・ベクトルＢｉ（ｉ）に関連付けられている、工程と、
前記第１の組のユーザ・ノードに対する推薦されるユーザ−コンセプト・スコアを表すエスティメータ行列Ｒ’を生成する工程であって、各ユーザ−コンセプト・ペアについて、Ｒ’（ｕ，ｉ）＝Ｐ（ｕ）・Ｑ（ｉ）＋Ｂｕ（ｕ）＋Ｂｉ（ｉ）である、工程と、
を含む、請求項１に記載の方法。
【請求項６】
前記ユーザ−コンセプト・スコア計算工程は、
前記第２の組のユーザ・ノードの各ユーザ・ノードについて、複数のユーザ−バイアス・ベクトルＢｕ（ｕ）を計算する工程であって、各ユーザ−バイアス・ベクトルＢｕ（ｕ）は、前記第２の組のユーザ・ノードのうちの１つのユーザ・ノードｕに関連付けられている、工程と、
ランダム・ハッシュ関数を使用して、前記複数のユーザ−バイアス・ベクトルＢｕ（ｕ）および複数のコンセプト−バイアス・ベクトルＢｉ（ｉ）を複数の部分空間にマッピングする工程であって、各コンセプト−バイアス・ベクトルＢｉ（ｉ）は、前記複数のコンセプト・ノードのうちの１つのコンセプト・ノードｉに関連付けられている、マッピング工程と、
各部分空間について、前記部分空間にマッピングされた前記ユーザ−バイアス・ベクトルＢｕ（ｕ）に関連付けられている、前記第２の組のユーザ・ノードのうちの前記１つのユーザ・ノードｕに対するユーザ−コンセプト・スコアを計算する工程であって、前記ユーザ−コンセプト・スコアは、前記部分空間にマッピングされた前記ユーザ−バイアス・ベクトルＢｕ（ｕ）および前記コンセプト−バイアス・ベクトルＢｉ（ｉ）に対し、Ｂｕ（ｕ）・Ｂｉ（ｉ）に等しい、工程と、
を備える、請求項１に記載の方法。
【請求項７】
前記マッピング工程は、前記複数のユーザ−バイアス・ベクトルＢｕ（ｕ）および複数のコンセプト−バイアス・ベクトルＢｉ（ｉ）を前記複数の部分空間に射影するためにランダム射影処理を使用する工程を含む、請求項６に記載の方法。
【請求項８】
前記ユーザ−コンセプト・スコア計算工程は、前記１つまたは複数のコンピューティング・デバイスに関連付けられている複数のプロセッサ上で、並列型確率的勾配降下を使用して、前記第２の組のユーザ・ノードのうちの複数の分離したユーザの組に対し実行される、請求項１に記載の方法。
【請求項９】
前記第１の組のユーザ・ノードは、前記オンライン・ソーシャル・ネットワークのユーザの代表サンプルに対応する、代表数のユーザ・ノードを含む、請求項１に記載の方法。
【請求項１０】
前記第１の組のユーザ・ノードは、前記複数のユーザ・ノードのうちの約１％の前記ユーザ・ノードを含む、請求項１に記載の方法。
【請求項１１】
前記第２の組のユーザ・ノードは、前記複数のユーザ・ノードのうちの実質的にすべての残りのユーザ・ノードを含む、請求項１に記載の方法。
【請求項１２】
前記第２の組のユーザ・ノードは、前記第１の組のユーザ・ノードを差し引いた前記複数のユーザ・ノードのうちのほぼ１００％の前記ユーザ・ノードを含む、請求項１に記載
の方法。
【請求項１３】
前記第２の組のユーザ・ノードは、複数の分離したユーザの組に分割される、請求項１２に記載の方法。
【請求項１４】
ソフトウェアを具現する１または複数の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは実行時、
複数のノードと、前記複数のノードを接続する複数のエッジとを含むソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つのノードの間の前記エッジの各々は、それら２つのノードの間の１次の隔たりを表し、前記複数のノードは、
オンライン・ソーシャル・ネットワークに関連付けられている複数のユーザにそれぞれ対応する複数のユーザ・ノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられている複数のコンセプトにそれぞれ対応する複数のコンセプト・ノードと、
を含む、工程と、
前記複数のノードのうちの第１の組のユーザ・ノードに対するユーザ−コンセプト・スコアにそれぞれアクセスする工程であって、各ユーザ−コンセプト・スコアは特定のユーザ−コンセプト・ペアに関し、前記特定のユーザ−コンセプト・ペアは、前記複数のコンセプト・ノードのうちの１つのコンセプト・ノードに対し１つのエッジによって接続されている、前記第１の組のユーザ・ノードのうちの１つのユーザ・ノードを含む、ユーザ−コンセプト・スコア・アクセス工程と、
前記第１の組のユーザ・ノードと前記複数のコンセプト・ノードとによるすべてのユーザ−コンセプト・ペアに対する推薦されるユーザ−コンセプト・スコアを推定するための推薦アルゴリズムを生成する工程であって、前記推薦されるユーザ−コンセプト・スコアは、アクセスされた前記ユーザ−コンセプト・スコアに基づく、推薦アルゴリズム生成工程と、
前記複数のノードのうちの第２の組のユーザ・ノードに対する推薦されるユーザ−コンセプト・スコアを計算するユーザ−コンセプト・スコア計算工程であって、前記第１の組のユーザ・ノードは前記第２の組のユーザ・ノードから分離している、工程と、
を行うように構成されている、媒体。
【請求項１５】
１つまたは複数のプロセッサと、前記プロセッサに結合されており前記プロセッサによって実行可能な命令を含むメモリと、を備えるシステムであって、前記プロセッサは前記命令の実行時、
複数のノードと、前記複数のノードを接続する複数のエッジとを含むソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つのノードの間の前記エッジの各々は、それら２つのノードの間の１次の隔たりを表し、前記複数のノードは、
オンライン・ソーシャル・ネットワークに関連付けられている複数のユーザにそれぞれ対応する複数のユーザ・ノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられている複数のコンセプトにそれぞれ対応する複数のコンセプト・ノードと、
を含む、工程と、
前記複数のノードのうちの第１の組のユーザ・ノードに対するユーザ−コンセプト・スコアにそれぞれアクセスする工程であって、各ユーザ−コンセプト・スコアは特定のユーザ−コンセプト・ペアに関し、前記特定のユーザ−コンセプト・ペアは、前記複数のコンセプト・ノードのうちの１つのコンセプト・ノードに対し１つのエッジによって接続されている、前記第１の組のユーザ・ノードのうちの１つのユーザ・ノードを含む、ユーザ−コンセプト・スコア・アクセス工程と、
前記第１の組のユーザ・ノードと前記複数のコンセプト・ノードとによるすべてのユーザ−コンセプト・ペアに対する推薦されるユーザ−コンセプト・スコアを推定するための
推薦アルゴリズムを生成する工程であって、前記推薦されるユーザ−コンセプト・スコアは、アクセスされた前記ユーザ−コンセプト・スコアに基づく、推薦アルゴリズム生成工程と、
前記複数のノードのうちの第２の組のユーザ・ノードに対する推薦されるユーザ−コンセプト・スコアを計算するユーザ−コンセプト・スコア計算工程であって、前記第１の組のユーザ・ノードは前記第２の組のユーザ・ノードから分離している、工程と、
を行うように構成されている、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、オンライン・ソーシャル・ネットワークに関する。
【背景技術】
【０００２】
ソーシャルネットワーキング・システム（ソーシャルネットワーキング・ウェブサイトを含むことができる）は、そのソーシャルネットワーキング・システムのユーザ（人または組織など）がそのソーシャルネットワーキング・システムと、およびそのソーシャルネットワーキング・システムを通じて互いに対話することを可能にすることができる。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャルネットワーキング・システム内に格納することができる。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含むことができる。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャルネットワーキング・システムのその他のユーザとの関係のレコードを作成および格納すること、ならびにサービス（たとえば、ウォール・ポスト、写真共有、イベント編成、メッセージング、ゲーム、または広告）を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
【０００３】
ソーシャルネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、１つまたは複数のネットワークを介して、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信することができる。ユーザは、自分のユーザ・プロフィールおよびソーシャルネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャルネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュースフィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成することができる。
【０００４】
行列因子分解は、行列の、行列の積への因子分解である。低階数行列の因子分解は、２つのエンティティ間の対話を発見し、捉えることを目的とする、二者データの分析にとって有効なツールである。成功している応用は、（対応するエンティティが文書および用語である）トピック検出およびキーワード検索、ニュース・パーソナライゼーション（ユーザとストーリ）、ならびに推薦システム（ユーザとアイテム）を含む。大規模な応用では、これらの問題は、数１００万の行（例えば、異なる顧客）と、数１００万の列（例えば、異なるアイテム）と、数十億のエントリ（例えば、顧客とアイテムの間の対話）を有する行列を含み得る。
【図面の簡単な説明】
【０００５】
【図１】ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す図。
【図２】例示的なソーシャル・グラフを示す図。
【図３】オンライン・ソーシャル・ネットワークにおいて推薦されるコンテンツを決定するための例示的な方法を示す図。
【図４】例示的なコンピュータ・システムを示す図。
【発明を実施するための形態】
【０００６】
特定の実施形態では、ソーシャルネットワーキング・システムは、オンライン・ソーシ
ャル・ネットワークの多数のユーザに推薦または広告するコンテンツ・オブジェクトを識別することができる。そのような推薦は、ユーザに提示されたコンテンツのコンバージョン・レートを最適化するために識別され得る。コンテンツ推薦は、予測されるレーティング関数を含む目的関数を最適化することによって決定されることができ、（ユーザ−コンセプト・ペアのための）各レーティング関数は、ユーザ−スコア・ベクトルとコンセプト−スコア・ベクトルとのドット積と、バイアス値とを含む。しかしながら、オンライン・ソーシャル・ネットワークのすべてのユーザについて、これらのベクトルのドット積を直接的に計算することは、時間および処理の観点から見て、負担が大きすぎることがある。特定の実施形態では、ソーシャルネットワーキング・システムは、ユーザによって提供されたエンティティへの接続に基づいた協調フィルタリングを通して、ユーザの関心を予測し、これらの関心を利用して、コンテンツ推薦を行うことができる。オンライン・ソーシャル・ネットワークは、１０億を超えるユーザおよび何１００万ものコンセプト（例えば、場所、ウェブサイト、エンティティ、リソースなど）に関連付けられることができ、他のユーザにこれらのユーザおよびコンセプトを推薦することが望ましいことがある。実現不可能なほど大きなデータ・セットであることがある、すべてのユーザおよびすべてのコンセプトからのレーティング・データを使用する代わりに、ソーシャルネットワーキング・システムは、オンライン・ソーシャル・ネットワークに関連付けられているすべてのコンセプトに関して、ユーザのサンプルのみからのレーティング・データを使用することができ、この限られたデータ・セットを使用して、コンセプト特徴を計算することができる。その後、これらのコンセプト特徴は、固定され、オンライン・ソーシャル・ネットワークの残りのすべてのユーザについてのユーザ特徴を計算するために使用され得る。ユーザ特徴およびコンセプト特徴を取得した後、各ユーザ−コンセプト・ペアについてスコアを直接的に計算する代わりに、ソーシャルネットワーキング・システムは、ランダム射影を使用して、どのユーザについてもコンセプトの範囲を狭めることができる。それは、コンセプト特徴ベクトルのコサイン類似距離に基づいて、どのコンセプトについても最も類似するコンセプトを決定することができ、次に、それを情報源として使用して、ユーザに提案（例えば、ユーザが以前「いいね」を表明した、または他の方法で対話したコンセプトに最も類似したコンセプト）を提供することができる。
【０００７】
図１は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境１００を示している。ネットワーク環境１００は、ネットワーク１１０によって互いにつながっているクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０を含む。図１は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の特定の構成を示しているが、本開示は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、ネットワーク１１０を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図１は、特定の数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を示しているが、本開示は、任意の適切な数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を想定している。限定ではなく、例として、ネットワーク環境１００は、複数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を含むことができる。
【０００８】
本開示は、任意の適切なネットワーク１１０を想定している。限定ではなく、例として、ネットワーク１１０の１つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイヤレスＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、ワイヤレスＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク１１０は、１つまたは複数のネットワーク１１０を含むことができる。
【０００９】
リンク１５０は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０を通信ネットワーク１１０に、または互いに接続することができる。本開示は、任意の適切なリンク１５０を想定している。特定の実施形態においては、１つまたは複数のリンク１５０は、１つもしくは複数の有線リンク（たとえば、デジタル・サブスクライバ・ライン（ＤＳＬ）もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様（ＤＯＣＳＩＳ）など）、ワイヤレス・リンク（たとえば、Ｗｉ−Ｆｉもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）など）、または光リンク（たとえば、同期光ネットワーク（ＳＯＮＥＴ）もしくは同期デジタル階層（ＳＤＨ）など）を含む。特定の実施形態においては、１つまたは複数のリンク１５０はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク１５０、または複数のそのようなリンク１５０の組合せを含む。リンク１５０は、ネットワーク環境１００の全体を通じて必ずしも同じである必要はない。１つまたは複数の第１のリンク１５０は、１つまたは複数の点において１つまたは複数の第２のリンク１５０とは異なることが可能である。
【００１０】
特定の実施形態においては、クライアント・システム１３０は、クライアント・システム１３０によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアント・システム１３０は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、ｅブック・リーダ、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム１３０を想定している。クライアント・システム１３０は、クライアント・システム１３０のネットワーク・ユーザがネットワーク１１０にアクセスすることを可能にすることができる。クライアント・システム１３０は、自分のユーザがその他のクライアント・システム１３０のその他のユーザと通信することを可能にすることができる。
【００１１】
特定の実施形態においては、クライアント１３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブ・ブラウザ１３２を含むことができ、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲなどのその他の拡張を有することができる。クライアント・システム１３０のユーザは、ウェブ・ブラウザ１３２を特定のサーバ（サーバ１６２、またはサードパーティ・システム１７０に関連付けられているサーバなど）へ導くユニフォーム・リソース・ロケータ（ＵＲＬ）また
はその他のアドレスを入力することができ、ウェブ・ブラウザ１３２は、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）要求を生成して、そのＨＴＴＰ要求をサーバに通信することができる。サーバは、そのＨＴＴＰ要求を受け入れて、そのＨＴＴＰ要求に応答して１つまたは複数のハイパー・テキスト・マークアップ言語（ＨＴＭＬ）ファイルをクライアント・システム１３０に通信することができる。クライアント・システム１３０は、ユーザに提示するためにサーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、ＨＴＭＬファイル、拡張可能ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプトなどのスクリプト、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴ（登録商標）
ａｎｄ  ＸＭＬ）などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、１つまたは複数の対応するウェブページ・ファイル（そのウェブページをレンダリングするためにブラウザが使用することができる）を含み、その逆もまた同様である。
【００１２】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであることが可能である。ソーシャルネットワーキング・システム１６０は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、格納すること、受け取ること、および送信することが可能である。ソーシャルネットワーキング・システム１６０は、ネットワーク環境１００のその他のコンポーネントによって直接、またはネットワーク１１０を介してアクセスされることが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のサーバ１６２を含むことができる。それぞれのサーバ１６２は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ１６２は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Ｅｘｃｈａｎｇｅサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくは処理を実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ１６２は、サーバ１６２によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム１６４は、１つまたは複数のデータ・ストア１６４を含むことができる。データ・ストア１６４は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施形態においては、データ・ストア１６４内に格納されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ストア１６４は、リレーショナル、コラム、相関関係、または他の好適なデータベースを含むことができる。この開示は、特定のタイプのデータベースを説明する、または図示するが、この開示は、任意の好適なタイプのデータベースを検討する。特定の実施形態は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、またはサードパーティ・システム１７０が、データ・ストア１６４内に格納されている情報を管理すること、取り出すこと、変更すること、追加すること、または削除することを可能にするインタフェースを提供することができる。
【００１３】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフを１つまたは複数のデータ・ストア１６４内に格納することができる。特定の実施形態においては、ソーシャル・グラフは、複数のノード（複数のユーザ・ノード（それぞれが、特定のユーザに対応している）、または複数のコンセプト・ノード（それぞれが、特定のコンセプトに対応している）を含むことができる）と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャルネットワーキング・システム１６０を介してオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキング・システム１６０のその他の複数のユーザにつながり（例えば、関係）を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャルネットワーキング・システム１６０を介して、つながり、関連付け、または関係を形成しているソーシャルネットワーキング・システム１６０のその他の任意のユーザを指すことができる。
【００１４】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ソーシャルネットワーキング・システム１６０によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを行う能力をユーザに提供することができる。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキング・システム１６０のユーザが属することが可能であるグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキング・システム１６０において、またはサードパーティ・システム１７０の外部システム（ソーシャルネットワーキング・システム１６０とは別個のものであって、ネットワーク１１０を介してソーシャルネットワーキング・システム１６０に結合されている）によって表されることが可能である任意のものと対話することができる。
【００１５】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム１７０もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース（ＡＰＩ）もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
【００１６】
特定の実施形態においては、サードパーティ・システム１７０は、１つもしくは複数のタイプのサーバ、１つもしくは複数のデータ・ストア、１つもしくは複数のインタフェース（ＡＰＩを含むが、それには限定されない）、１つもしくは複数のウェブ・サービス、１つもしくは複数のコンテンツ・ソース、１つもしくは複数のネットワーク、または（たとえば、サーバが通信することができる）その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム１７０は、ソーシャルネットワーキング・システム１６０を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・システム１６０およびサードパーティ・システム１７０は、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０のユーザにソーシャルネットワ
ーキング・サービスを提供するために互いに連携して機能することができる。この意味において、ソーシャルネットワーキング・システム１６０は、サードパーティ・システム１７０などのその他のシステムがインターネットを介してソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
【００１７】
特定の実施形態においては、サードパーティ・システム１７０は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの１つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム１３０に通信されることが可能である。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトを含むことができる。
【００１８】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャルネットワーキング・システム１６０とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキング・システム１６０に付加、アップロード、送信、または「ポスト（投稿）」することができる任意のものを含むことができる。限定ではなく、例として、ユーザは、クライアント・システム１３０からソーシャルネットワーキング・システム１６０へポストを通信する。ポストは、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、ビデオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキング・システム１６０に付加されることも可能である。
【００１９】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ウェブ・サーバ、アクション・ロガー、ＡＰＩ要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可／プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの１つまたは複数を含むことができる。ソーシャルネットワーキング・システム１６０は、適切なコンポーネント、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ユーザ・プロフィールを格納するための１つまたは複数のユーザプロフィール・ストアを含むことができる。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、１つまたは複数のカテゴリに関連した関心を含むことができる。カテゴリは、一般的また
は具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね！」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を格納するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ（内部および外部の両方）の間におけるユーザ定義のつながりを含むこともできる。ネットワーク１１０を介してソーシャルネットワーキング・システム１６０を１つもしくは複数のクライアント・システム１３０または１つもしくは複数のサードパーティ・システム１７０にリンクさせるために、ウェブ・サーバが使用されることが可能である。ウェブ・サーバは、ソーシャルネットワーキング・システム１６０と、１つまたは複数のクライアント・システム１３０との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含むことができる。ＡＰＩ要求サーバは、サードパーティ・システム１７０が、１つまたは複数のＡＰＩを呼び出すことによってソーシャルネットワーキング・システム１６０からの情報にアクセスすることを可能にすることができる。ソーシャルネットワーキング・システム１６０の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用されることが可能である。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持されることが可能である。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム１３０に提供することができる。情報は、通知としてクライアント・システム１３０へ押し出されることが可能であり、または情報は、クライアント・システム１３０から受け取られた要求に応答してクライアント・システム１３０から引き出されることが可能である。ソーシャルネットワーキング・システム１６０のユーザの１つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを識別する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキング・システム１６０によって記録されること、またはその他のシステム（たとえば、サードパーティ・システム１７０）と共有されることのオプトインまたはオプトアウトを行うことを可能にすることができる。サードパーティ・システム１７０などのサードパーティから受け取られたコンテンツ・オブジェクトを格納するために、サードパーティコンテンツオブジェクト・ストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム１３０から受け取られたロケーション情報を格納するために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
【００２０】
図２は、例示的なソーシャル・グラフ２００を示している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフ２００を１つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、ソーシャル・グラフ２００は、複数のノード（複数のユーザ・ノード２０２、または複数のコンセプト・ノード２０４を含むことができる）と、ノード同士をつなげる複数のエッジ２０６とを含むことができる。図２において示されている例示的なソーシャル・グラフ２００は、教示上の目的から、２次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキング・システム１６０、クライアント・システム１３０、またはサードパーティ・システム１７０は、適切なアプリケーションに関してソーシャル・グラフ２００および関連したソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ２００のノードおよびエッジは、データ・
オブジェクトとして、たとえば（ソーシャルグラフ・データベースなどの）データ・ストア内に格納されることが可能である。そのようなデータ・ストアは、ソーシャル・グラフ２００のノードまたはエッジの１つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
【００２１】
特定の実施形態においては、ユーザ・ノード２０２は、ソーシャルネットワーキング・システム１６０のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャルネットワーキング・システム１６０と、またはソーシャルネットワーキング・システム１６０を介して対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション）、または（たとえば、個人もしくはエンティティの）グループであることが可能である。特定の実施形態においては、あるユーザがソーシャルネットワーキング・システム１６０とのアカウントに登録した場合には、ソーシャルネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２を作成し、そのユーザ・ノード２０２を１つまたは複数のデータ・ストア内に格納することができる。本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード２０２を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、ソーシャルネットワーキング・システム１６０に登録されていないユーザを指すことができる。特定の実施形態においては、ユーザ・ノード２０２は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード２０２は、ユーザに関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード２０２は、１つまたは複数のウェブページに対応することができる。
【００２２】
特定の実施形態においては、コンセプト・ノード２０４は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所（たとえば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（たとえば、ソーシャルネットワーク・システム１６０に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど）、エンティティ（たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など）、ソーシャルネットワーキング・システム１６０内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース（たとえば、オーディオ・ファイル、ビデオ・ファイル、デジタル写真、テキスト・ファイル、構造化されたドキュメント、もしくはアプリケーションなど）、物的もしくは知的財産（たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など）、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード２０４は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、１つもしくは複数のイメージ（たとえば、本の表紙のイメージ）、ロケーション（たとえば、住所もしくは地理的ロケーション）、ウェブサイト（ＵＲＬに関連付けられることが可能である）、連絡先情報（たとえば、電話番号もしくは電子メール・アドレス）、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード２０４は、コンセプト・ノード２０４に関連付けられている情報に
対応する１つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード２０４は、１つまたは複数のウェブページに対応することができる。
【００２３】
特定の実施形態においては、ソーシャル・グラフ２００内のノードは、ウェブページ（「プロフィール・ページ」と呼ばれる場合もある）を表すこと、またはウェブページによって表されることが可能である。プロフィール・ページは、ソーシャルネットワーキング・システム１６０によってホストされること、またはソーシャルネットワーキング・システム１６０にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティ・サーバ１７０に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード２０４に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード２０２は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプト・ノード２０４は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、１人または複数のユーザが、特にコンセプト・ノード２０４に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
【００２４】
特定の実施形態においては、コンセプト・ノード２０４は、サードパーティ・システム１７０によってホストされているサードパーティ・ウェブページまたはリソースを表すことができる。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す（たとえば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実装されることが可能である）その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティ・ウェブページは、「いいね！」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの１つ（たとえば、「食べる」）を選択することによってアクションを実行して、クライアント・システム１３０に、そのユーザのアクションを示すメッセージをソーシャルネットワーキング・システム１６０へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード２０４との間においてエッジ（たとえば、「食べる」エッジ）を作成して、エッジ２０６を１つまたは複数のデータ・ストア内に格納することができる。
【００２５】
特定の実施形態においては、ソーシャル・グラフ２００内の１対のノードが、１つまたは複数のエッジ２０６によって互いにつながることが可能である。１対のノードをつなげるエッジ２０６は、それらの１対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ２０６は、１対のノードの間における関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であることを示すことができる。この表示に応答して、ソーシャルネットワーキング・システム１６０は、「友達要求」を第２のユーザに送信することができる。第２のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキング・システム１６０は、ソー
シャル・グラフ２００内で第１のユーザのユーザ・ノード２０２を第２のユーザのユーザ・ノード２０２につなげるエッジ２０６を作成して、エッジ２０６をソーシャル・グラフ情報としてデータ・ストア１６４のうちの１つまたは複数の中に格納することができる。図２の例においては、ソーシャル・グラフ２００は、ユーザ「Ａ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジ２０６と、ユーザ「Ｃ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード２０２同士をつなげる特定の属性を伴う特定のエッジ２０６を記述している、または示しているが、本開示は、ユーザ・ノード２０２同士をつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。限定ではなく、例として、エッジ２０６は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、１つまたは複数のエッジ２０６によってソーシャル・グラフ２００内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を指すことができる。
【００２６】
特定の実施形態においては、ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジ２０６は、ユーザ・ノード２０２に関連付けられているユーザによって、コンセプト・ノード２０４に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図２において示されているように、ユーザは、コンセプトに対して「いいね！を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジ・タイプまたはサブタイプに対応することができる。コンセプト・ノード２０４に対応するコンセプトプロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン（たとえば、クリック可能な「チェックイン」アイコンなど）、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキング・システム１６０は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ（ユーザ「Ｃ」）が、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の曲（「イマジン」）を聴く場合がある。このケースにおいては、ソーシャルネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２と、その曲およびアプリケーションに対応するコンセプト・ノード２０４との間において、「聴いた」エッジ２０６（図２に示されている）および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したことを示すことができる。その上、ソーシャルネットワーキング・システム１６０は、その曲に対応するコンセプト・ノード２０４と、そのアプリケーションに対応するコンセプト・ノード２０４との間において、「再生した」エッジ２０６（図２に示されている）を作成して、その特定の曲がその特定のアプリケーションによって再生されたことを示すことができる。このケースにおいては、「再生した」エッジ２０６は、外部アプリケーション（ＳＰＯＴＩＦＹ）によって外部オーディオ・ファイル（「イマジン」という曲）に関して実行されたアクションに対応する。本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる特定の属性を伴う特定のエッジ２０６について記述しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。その上、本開示は、単一の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジについて記述しているが、本開示は、１
つまたは複数の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジを想定している。限定ではなく、例として、エッジ２０６は、ユーザが特定のコンセプトに対して「いいね！」を表明していること、およびその特定のコンセプトを使用したことの両方を表すことができる。あるいは、別のエッジ２０６は、ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるそれぞれのタイプの関係（または、単一の関係が複数集まったもの）を表すことができる（図２において、ユーザ「Ｅ」を表すユーザ・ノード２０２と、「ＳＰＯＴＩＦＹ」を表すコンセプト・ノード２０４との間において示されているように）。
【００２７】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００内でユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成することができる。限定ではなく、例として、（たとえば、ユーザのクライアント・システム１３０によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって）コンセプトプロフィール・ページを閲覧しているユーザは、「いいね！」アイコンをクリックまたは選択することにより、コンセプト・ノード２０４によって表されているコンセプトを自分が気に入っていることを示すことができ、その「いいね！」アイコンをクリックまたは選択することは、ユーザのクライアント・システム１３０に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っていることを示すメッセージをソーシャルネットワーキング・システム１６０へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム１６０は、そのユーザとコンセプト・ノード２０４との間における「いいね！」エッジ２０６によって示されているように、そのユーザに関連付けられているユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成することができる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、エッジ２０６を１つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、エッジ２０６は、特定のユーザ・アクションに応答してソーシャルネットワーキング・システム１６０によって自動的に形成されることが可能である。限定ではなく、例として、第１のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ２０６は、第１のユーザに対応するユーザ・ノード２０２と、それらのコンセプトに対応するコンセプト・ノード２０４との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ２０６を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ２０６を形成することを想定している。
【００２８】
特定の実施形態では、ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークの多数のユーザに推薦または広告するコンテンツ・オブジェクトを識別することができる。これらのコンテンツ・オブジェクトは、ユーザ−プロファイル・ページ、コンセプト−プロファイル・ページ、マルチメディア・コンテンツ、広告、またはオンライン・ソーシャル・ネットワークに関連付けられている他の任意の適切なオブジェクトとすることができる。そのような推薦は、ユーザに提示されたコンテンツのコンバージョン・レート（すなわち、インプレッションの数に対する対話／クリックの数）を最適化するために識別され得る。コンテンツ推薦は、予測されるレーティング関数を含む目的関数を最適化することによって計算されることができ、ユーザ−コンセプト・ペア（ｕ，ｉ）のための各レーティング関数は、ユーザ−スコア・ベクトルＰ（ｕ）とコンセプト−スコア・ベクトルＱ（ｉ）とのドット積と、バイアス値とを含む。しかしながら、オンライン・ソーシャル・ネットワークのすべてのユーザについて、これらのベクトルのドット積を直接的に計算することは、時間および処理の観点から見て、負担が大きすぎることがある。したがって、各ユーザの個人的な嗜好に基づいて、ユーザに的を絞った関連するコンセプト推薦を決定するための、より効率的な仕方を提供することが有利なことがある。特定の実施形態では、ソーシャルネットワーキング・システム１６０は、ユーザに
よって提供されたエンティティへの接続（例えば、レーティング・データと呼ばれることがある、ユーザ・ノード２０２とソーシャル・グラフ２００の他のノードとの間のユーザ生成のエッジ接続）に基づいた協調フィルタリングを通して、ユーザの関心を予測し、これらの関心を利用して、コンテンツ推薦を行うことができる。問題は、オンライン・ソーシャル・ネットワークでは、（ユーザ・ノード２０２およびコンセプト・ノード２０４にそれぞれ対応する）１０億を超えるユーザと何１００万ものコンセプトとが関連付けられることができ、他のユーザにこれらのユーザおよびコンセプトを推薦する（例えば、それらに対応するプロファイル・ページを推薦する）ことが望ましいことがあることである。ソーシャル・グラフ２００のサイズのせいで、特異値分解（ＳＶＤ）などの標準的な次元削減技法を使用してユーザ推薦を計算することは、時間制約および計算能力制約が原因で、負担が大きすぎることがある。システムが、ユーザおよび推薦の低次元近似を取得することができたとしても、すべての可能なユーザ−コンセプト・ペアのスコアを計算するコストは、きわめて高いことがある。限定ではなく、例として、１０億を超えるユーザ・ノード２０２と５００万のコンセプト・ノード２０４を含むソーシャル・グラフ２００の場合、すべてのユーザ−コンセプト・ペアを分析するために、５０００兆（５×１０１５）を超える計算を要し、それを妥当なタイムフレーム内で完了するのは実現不可能なことがある。すべてのコンセプトが、個別にスコア付けされ得たとしても、そのような大きなセットから推薦を与えることは、大規模なインフラストラクチャを必要とする。したがって、実現不可能なほど大きなデータ・セットであることがある、すべてのユーザおよびすべてのコンセプトからのレーティング・データを使用する代わりに、ソーシャルネットワーキングは、オンライン・ソーシャル・ネットワークに関連付けられているすべてのコンセプトに関して、ユーザのサンプル（例えば、１％）のみからのレーティング・データを使用することができ、この限られたデータ・セットを使用して、すべてのコンセプト特徴を計算することができる。その後、これらのコンセプト特徴は、固定され、オンライン・ソーシャル・ネットワークの残りのすべてのユーザについてのユーザ特徴を計算するために使用され得る。ユーザ特徴およびコンセプト特徴を取得した後、各ユーザ−コンセプト・ペアについてスコアを直接的に計算する代わりに、ソーシャルネットワーキング・システム１６０は、ランダム射影を使用して、どのユーザについてもコンセプトの範囲を狭めることができる。それは、コンセプト特徴ベクトルのコサイン類似距離に基づいて、どのコンセプトについても最も類似するコンセプトを決定することができ、次に、それを情報源として使用して、ユーザに提案（例えば、ユーザが以前「いいね」を表明した、または他の方法で対話したコンセプトに最も類似したコンセプト）を提供することができる。本開示は、特定の方法で推薦または広告する特定のコンテンツ・オブジェクトを識別することについて説明するが、本開示は、任意の適切な方法で推薦または広告する任意の適切なコンテンツ・���ブジェクトを識別することを想定している。
【００２９】
特定の実施形態では、ソーシャルネットワーキング・システム１６０は、複数のノードのうちの第１の組のユーザ・ノード２０２に対するユーザ−コンセプト・スコアにそれぞれアクセスすることができる。各ユーザ−コンセプト・スコアは、複数のコンセプト・ノードのうちの１つのコンセプト・ノード２０４にエッジ２０６によって接続された、第１の組のユーザ・ノードのうちの１つのユーザ・ノード２０２を含む、特定のユーザ−コンセプト・ペアに関することができる。第１の組のユーザ・ノード２０２は、オンライン・ソーシャル・ネットワークのユーザの代表サンプルに対応する、代表数のユーザ・ノード２０２を含むことができる。限定ではなく、例として、第１の組のユーザ・ノード２０２は、ソーシャル・グラフ２００の複数のユーザ・ノード２０２のうちの約１％のユーザ・ノード２０２を含むことができる（しかし、例えば、オンライン・ソーシャル・ネットワークのユーザの０．１％、１％、２％、５％、１０％、または別の適切な割合など、他の任意の適切な割合も使用され得る）。ユーザ・セットを識別し、選択することに関連して、特定の実施形態は、本願明細書に援用する、２０１３年７月１０日に出願された米国特許出願第１３／９３９０９３号に開示されている、１つまたは複数のシステム、コンポー
ネント、要素、機能、方法、動作、または工程を利用することができる。特定の実施形態では、ソーシャルネットワーキング・システム１６０は、第１の組のユーザ・ノード２０２に対するユーザ−コンセプト・スコアを表すレーティング行列Ｒにアクセスすることができる。レーティング行列Ｒは、ユーザのコンセプトに対するレーティングを含むことができ、Ｒ（ｕ，ｉ）は、ユーザ・ノードｕからのコンセプト・ノードｉに対するレーティングを提示することができる。レーティング行列Ｒは、ユーザとエンティティとの間の自己報告された接続（例えば、ユーザがコンセプトに「いいね」を表明するときのエッジ２０６接続）によって生成され得る。ソーシャル・グラフ２００との関連において、エッジ２０６によって接続されたノードは、ノード・ペアに関するレーティング／スコアを有すると見なされ得るが、接続されていないノードは、ノード・ペアに関するスコアを有さない、またはゼロ・スコアを有することができる。一般的なユーザは、オンライン・ソーシャル・ネットワークに関連付けられているコンセプトの総数に比べて非常に僅かなコンセプトにしかレーティング／「いいね」の表明を行わないことがある点で、レーティング行列Ｒは、きわめて疎であり得る。言い換えれば、一般的なユーザ・ノード２０２は、エッジ２０６によって、相対的に僅かなコンセプト・ノード２０４に接続され得る。しかし、例えば、１０億を超えるユーザおよび数１００万のコンセプトが存在する場合、すべてのユーザについてのレーティング行列Ｒは、非常に大きな次元を有し得る。レーティング行列Ｒに基づいて、次に、ソーシャルネットワーキング・システム１６０は、ユーザ行列Ｐを決定することができ、ユーザ行列Ｐは、第１の組のユーザ・ノード２０２の各ユーザ・ノードｕについての複数のユーザ−スコア・ベクトルＰ（ｕ）を含む。ソーシャルネットワーキング・システム１６０は、レーティング行列Ｒに基づいて、コンセプト行列Ｑも決定することができ、コンセプト行列Ｑは、複数のコンセプト・ノードの各コンセプト・ノードｉについての複数のコンセプト−スコア・ベクトルＱ（ｉ）を含む。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、ユーザの１％と、すべてのコンセプトとを取り、１％のユーザとコンセプトとの間の対話履歴（例えば、ユーザ・ノード２０２からコンセプト・ノード２０４への接続に関するエッジ・タイプ情報）をトレーニング・データとして収集し、並列型（ｄｉｓｔｒｉｂｕｔｅｄ）確率的勾配降下アルゴリズムを使用して、１％のユーザすべてについてのユーザ・トレース・ベクトル、およびコンセプトすべてについてのコンセプト・トレース・ベクトル、ならびにユーザ−コンセプト・ペアすべてについてのバイアスを計算することができる。本開示は、特定の方法で特定のユーザ−コンセプト・スコアにアクセスすることについて説明するが、本開示は、任意の適切な方法で任意の適切なユーザ−コンセプト・スコアにアクセスすることを想定している。
【００３０】
特定の実施形態では、ソーシャルネットワーキング・システム１６０は、第１の組のユーザ・ノード２０２と複数のコンセプト・ノード２０４とによるすべてのユーザ−コンセプト・ペアに対する推薦されるユーザ−コンセプト・スコアを推定するための推薦アルゴリズムを生成することができる。推薦されるユーザ−コンセプト・スコアは、先に説明されたように、アクセスされたユーザ−コンセプト・スコアに基づくことができる。特定の実施形態では、ソーシャルネットワーキング・システム１６０は、ユーザ特徴およびコンセプト特徴の使用によって、あらゆるユーザ−コンセプト・ペア（ｕ，ｉ）に対する推薦スコアの計算を可能にするために、行列因子分解モデルを使用することができる。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、レーティング行列Ｒから推薦スコアを計算することができる。ソーシャルネットワーキング・システム１６０は、レーティング行列Ｒに基づいて、ユーザ行列Ｐにアクセスすることができ、ユーザ行列Ｐは、第１の組のユーザ・ノード２０２の各ユーザ・ノードｕについての複数の（ユーザ特徴ベクトルとも呼ばれる）ユーザ−スコア・ベクトルＰ（ｕ）を含み、各ユーザ・ノードｕは、ユーザ−バイアス・ベクトルＢｕ（ｕ）に関連付けられている。言い換えれば、ユーザ行列Ｐでは、各行は、ユーザによってインデックス付けされることができ、列は、特徴空間内の値とすることができる。ユーザ行列Ｐの特徴空間は、次元ｋを有するこ
とができる。次に、ソーシャルネットワーキング・システム１６０は、レーティング行列Ｒに基づいて、コンセプト行列Ｑにアクセスすることができ、コンセプト行列Ｑは、複数のコンセプトの各コンセプト・ノードｉについての複数の（コンセプト特徴ベクトルとも呼ばれる）コンセプト−スコア・ベクトルＱ（ｉ）を含み、各コンセプト・ノードｉは、コンセプト−バイアス・ベクトルＢｉ（ｉ）に関連付けられている。言い換えれば、コンセプト行列Ｑは、各列がコンセプトによってインデックス付けされ、行が特徴空間内の値である、行列である。コンセプト行列Ｑの特徴空間も、同様に次元ｋを有することができる。コンセプト行列Ｑの列は、コンセプト・ノードｉによって参照される。どのユーザも、ユーザ−バイアス・ベクトルＢｕ（ｕ）によって定められるバイアス値を有することができ、Ｂｕは、ユーザのすべてのバイアスからなるベクトルである。同様に、どのコンセプトも、コンセプト−バイアス・ベクトルＢｉ（ｉ）によって定められるバイアス値を有することができ、Ｂｉは、コンセプトのすべてのバイアスからなるベクトルである。次に、ソーシャルネットワーキング・システム１６０は、第１の組のユーザ・ノードに対する推薦されるユーザ−コンセプト・スコアを表すエスティメータ行列Ｒ’を生成することができ、ユーザ・ノードｕのコンセプト・ノードｉに対するレーティングは、各ユーザ−コンセプト・ペア（ｕ，ｉ）に対し、Ｒ’（ｕ，ｉ）＝Ｐ（ｕ）・Ｑ（ｉ）＋Ｂｕ（ｕ）＋Ｂｉ（ｉ）である。特定の実施形態では、ソーシャルネットワーキング・システム１６０は、並列型確率的勾配降下（ＤＳＧＤ）を使用して、ユーザ行列Ｐ、各ユーザ・ノードｕについてのユーザ−スコア・ベクトルＰ（ｕ）、コンセプト行列Ｑ、および各コンセプト・ノードｉについてのコンセプト−スコア・ベクトルＱ（ｉ）を決定することができる。限定ではなく、例として、ソーシャルネットワーキング・システム１６０によって使用される実施アルゴリズムは、Ｒ’（ｕ，ｉ）についての式によって生成されたユーザ・ノードｕおよびコンセプト・ノードｉのスコア／レーティングが、Ｒ（ｕ，ｉ）と最も密接にマッチするように、ユーザ行列Ｐ、コンセプト行列Ｑ、ユーザ−バイアス・ベクトルＢｕ（ｕ）、およびコンセプト−バイアス・ベクトルＢｉ（ｉ）を見つけるために、並列型確率的勾配降下を使用することができる。アルゴリズムは、事前トレーニング・フェーズにおいて、データのサンプル上で稼働させられることができ、次に、それらの結果から、すべてのデータに外挿され得る。最終的なスコア／レーティングは、ランダム射影を使用して計算されることができ、次に、トップ・スコアのコンセプトが、ソーシャルネットワーキング・システム１６０の推薦処理によって使用するために格納され得る。ユーザ行列Ｐおよびコンセプト行列Ｑは、ＤＳＧＤによって、必ずしもすべてのユーザおよびすべてのコンセプトについてトレーニングされる必要はない。代わりに、ユーザのサンプルおよびすべてのコンセプトについて、ＤＳＧＤの完全稼働が、このサンプルからユーザ行列Ｐおよびコンセプト行列Ｑを学習するために、稼働させられ得る。このように、コンセプト行列Ｑおよびコンセプト−バイアス・ベクトルＢｉ（ｉ）は、より小さなサンプルから学習され得る。次に、コンセプト特徴およびコンセプト・オフセットについてのこれらの値が、固定され得る。すべてのユーザについてのユーザ行列Ｐを計算するために、次に、繰り返されるサンプルが、置き換えのないユーザの組から選択され得る。次に、各サンプルが、サンプル内のユーザに対応するユーザ行列Ｐの部分行列を計算するために使用され得る。この部分行列は、事前トレーニングからの固定されたコンセプト行列Ｑおよびコンセプト−バイアス・ベクトルＢｉ（ｉ）を保持しながら、上で行列因子分解に関して説明された最適化処理にＤＳＧＤを適用することによって計算され得る。第１のトレーニング・工程では、ソーシャルネットワーキング・システム１６０は、ユーザのランダムなサンプルＰおよびすべてのアイテムＱ上において、各ユーザ・ノードｕについてのユーザ・スコア・ベクトルＰ（ｕ）および各コンセプト・ノードｉについてのコンセプト・スコア・ベクトルＱ（ｉ）を発見するために最適化することができる。次に、コンセプト特徴が、固定されることができ、次に、ソーシャルネットワーキング・システム１６０は、ユーザ・ベースの区画上で、そのユーザ・ベースについてのＰ（ｕ）を計算するために、数々の処理を稼働させることができる。これらの処理は、並列で稼働させられることができ、各並列稼働は、機械のクラスタ上でＤＳＧＤを稼働させることによって行われ得る。限定ではな
く、例として、ソーシャルネットワーキング・システムは、コンセプト・トレース・ベクトルおよびすべてのバイアスを固定し、並列型確率的勾配降下アルゴリズムを使用して、（第１の組が約１％のユーザを含むと仮定すれば）オンライン・ソーシャル・ネットワークの残りの９９％のユーザについてのデータを用いてトレーニングし、すべてのユーザについてのユーザ・トレース・ベクトル、すべてのコンセプトについてのコンセプト・トレース・ベクトル、およびすべてのユーザ−コンセプト・ペアについてのバイアスを計算することができる。本開示は、特定の方法で特定の推薦アルゴリズムを生成することについて説明するが、本開示は、任意の適切な方法で任意の適切な推薦アルゴリズムを生成することを想定している。
【００３１】
特定の実施形態では、ソーシャルネットワーキング・システム１６０は、複数のノードのうちの第２の組のユーザ・ノード２０２に対する推薦されるユーザ−コンセプト・スコアを計算することができる。第１の組のユーザ・ノード２０２は、第２の組のユーザ・ノード２０２から分離していることができる。推薦されるユーザ−コンセプト・スコアは、例えば、（以下で説明されるような）アフィニティ（親和性）係数、またはソーシャル・グラフ・アフィニティを決定するときに使用される因子とすることができる。特定の実施形態では、第２の組のユーザ・ノード２０２は、ソーシャル・グラフ２００の実質的にすべての残りのユーザ・ノード２０２を含むことができる。ソーシャルネットワーキング・システム１６０は、先に説明されたように、第１の組のユーザ・ノード２０２上における最適化の稼働によって決定されたコンセプト特徴を取り、これらを使用して、オンライン・ソーシャル・ネットワークのユーザの他のすべての区画についてのユーザ特徴を計算することができる。第２の組のユーザ・ノード２０２は、複数の分離したユーザの組に分割され得る。限定ではなく、例として、第２の組のユーザ・ノード２０２は、第１の組のユーザ・ノード２０２内に含まれない、ソーシャル・グラフ２００のユーザ・ノード２０２の約１００％を含むことができる。どのユーザおよびどのコンセプトについても、ソーシャルネットワーキング・システム１６０は、ユーザの関心を表すベクトル、およびコンセプトの特徴を表すベクトルを有することができる。上で説明されたように、オフセットとともに、ソーシャルネットワーキング・システム１６０は、２つのベクトルの内積を取ることによって、コンセプトがユーザの関心にどれだけマッチするかを量的に計算することができる。コンセプト推薦の場合、ソーシャルネットワーキング・システム１６０は、ユーザについてすべてのコンセプトについてのそのスコアを計算し、そのスコアに基づいてすべてのコンセプトをランク付けし、トップｎの結果を選択することができる。しかしながら、先に説明されたように、１０億を超えるユーザおよび何１００万ものコンセプトがある場合、すべてのユーザに関するすべてのコンセプトについてのスコアを推定するためには、１兆の計算が必要とされることがあり、それを妥当なタイムフレーム内で完了するのは実現不可能なことがある。この問題は、ランダム射影（ハッシュ）を使用して解決され得る。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、各部分空間内で、ユーザ・トレース・ベクトルおよびコンセプト・トレース・ベクトルが、高いコサイン類似度（類似のビット・マップ、またはおおよそ同じ方向を指すこと）を有するように、ユーザ・トレース・ベクトルおよびコンセプト・トレース・ベクトルを複数の部分空間（またはバケット）に射影するために、ランダム射影（ハッシュ）を使用することができる。バケット内では、ユーザ・トレース・ベクトルおよびコンセプト・トレース・ベクトルは、高いコサイン類似度を有することができるので、ユーザ・トレース・ベクトルとコンセプト・トレース・ベクトルとのドット積、したがって、レーティング関数の計算が実施され得る。ランダム射影は、コンバージョン・レートの僅かな低下（例えば、２％）しかもたらし得ない。特定の実施形態では、複数のノードのうちの第２の組のユーザ・ノード２０２に対する推薦されるユーザ−コンセプト・スコアを計算するとき、ソーシャルネットワーキング・システム１６０は、ランダム射影処理を使用することができる。ソーシャルネットワーキング・システム１６０は、第２の組のユーザ・ノードの各ユーザ・ノードについて、複数のユーザ−バイアス・ベクトルＢｕ（ｕ）を計算することが
でき、各ユーザ−バイアス・ベクトルＢｕ（ｕ）は、第２の組のユーザ・ノードのうちの１つのユーザ・ノードｕに関連付けられている。次に、ソーシャルネットワーキング・システム１６０は、ランダム・ハッシュ関数を使用して、複数のユーザ−バイアス・ベクトルＢｕ（ｕ）および複数のコンセプト−バイアス・ベクトルＢｉ（ｉ）を複数の部分空間にマッピングすることができ、各コンセプト−バイアス・ベクトルＢｉ（ｉ）は、複数のコンセプト・ノードのうちの１つのコンセプト・ノードｉに関連付けられている。次に、ソーシャルネットワーキング・システム１６０は、各部分空間について、部分空間にマッピングされたユーザ−バイアス・ベクトルＢｕ（ｕ）に関連付けられている、第２の組のユーザ・ノードのうちの１つのユーザ・ノードｕに対するユーザ−コンセプト・スコアを計算することができ、ユーザ−コンセプト・スコアは、部分空間にマッピングされたユーザ−バイアス・ベクトルＢｕ（ｕ）およびコンセプト−バイアス・ベクトルＢｉ（ｉ）対し、Ｂｕ（ｕ）・Ｂｉ（ｉ）に等しい。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、一連のランダム・ハッシュ関数を定義し、それを使用して、各ユーザ関心ベクトルおよび各コンセプト関心ベクトルを、部分空間ＩＤを有する部分空間にマッピングすることができる。この処理は、局所性鋭敏型ハッシュ（ＬＳＨ）に類似しており、コンセプト特徴およびユーザ特徴の低次元近似を提供する。次に、ソーシャルネットワーキング・システム１６０は、各部分空間について、同じ部分空間内のすべてのユーザとすべてのコンセプトのベクトルの内積を計算することができる。この処理の後、任意の特定のユーザおよび任意の特定のコンセプトについて、ソーシャルネットワーキング・システム１６０は、推薦されるユーザ−コンセプト・スコアを計算することができることがある。どのユーザについても、ソーシャルネットワーキング・システム１６０は、スコアに基づいて、そのベクトルがユーザのベクトルと同じ部分空間内にある、すべてのコンセプトをランク付けすることができる。次に、そのユーザについてのトップｎのコンセプトが、ユーザに対する推薦として格納され得る。特定の実施形態では、この処理は、新しい推薦または更新された推薦が各ユーザについて生成され得るように、指定された時間区間において繰り返され得る。本開示は、特定の方法で特定の推薦されるユーザ−コンセプト・スコアを計算することについて説明するが、本開示は、任意の適切な方法で任意の適切な推薦されるユーザ−コンセプト・スコアを計算することを想定している。
【００３２】
特定の実施形態では、ソーシャルネットワーキング・システム１６０は、第２の組のユーザ・ノード２０２についての計算された推薦されるユーザ−コンセプト・スコアに基づいて、１つまたは複数のコンセプト・ノード２０４に対する推薦を、第２の組のユーザ・ノード２０２のうちの１つのユーザ・ノード２０２に対応する１つまたは複数のユーザに送信することができる。計算されたレーティング関数に基づいて、次に、ソーシャルネットワーキング・システム１６０は、スコアに基づいて、各ユーザに関してコンセプトをランク付けし、各ユーザについてのランキング（例えば、トップ５０にランク付けされたコンセプト−プロファイル・ページのリスト）を格納することができる。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、１つまたは複数のページ（例えば、ユーザ−プロファイル・ページまたはコンセプト−プロファイル・ページ）を、オンライン・ソーシャル・ネットワークのユーザに推薦することができる。推薦されるユーザ−コンセプト・スコアを計算した後、ソーシャルネットワーキング・システムは、例えば、「あなたが気に入るかもしれないページ」、「あなたがきっとフォローする人々」、または「あなたがきっと参加するグループ」などの推薦または広告をユーザに送信することができ、推薦または広告は、推薦または広告を受け取るユーザおよび参照されるコンセプトに関する推薦されるユーザ−コンセプト・スコアに基づいたノード参照を含む。限定ではなく、別の例として、計算された推薦されるユーザ−コンセプト・スコアは、（以下で説明されるような）ソーシャル・グラフ・アフィニティまたはアフィニティ係数を計算するために使用されることができ、それは、推薦、広告、検索結果、またはオンライン・ソーシャル・ネットワークのユーザについての他の適切なコンテンツを提供するときに、因子として使用され得る。本開示は、特定の方法で特定の推薦を送信することについて説
明するが、本開示は、任意の適切な方法で任意の適切な推薦を送信することを想定している。
【００３３】
図３は、オンライン・ソーシャル・ネットワークにおいて推薦されるコンテンツを決定するための例示的な方法３００を示している。方法は、工程３１０において開始することができ、そこで、ソーシャルネットワーキング・システム１６０は、複数のノードと、ノードを接続する複数のエッジ２０６とを含むソーシャル・グラフにアクセスすることができる。ノードの２つの間のエッジ２０６の各々は、それらの間の単一の隔たり度合いを表すことができる。ノードは、オンライン・ソーシャル・ネットワークに関連付けられている複数のユーザにそれぞれ対応する複数のユーザ・ノード２０２を含むことができる。ノードは、オンライン・ソーシャル・ネットワークに関連付けられている複数のコンセプトにそれぞれ対応する複数のコンセプト・ノード２０４も含むことができる。工程３２０において、ソーシャルネットワーキング・システム１６０は、複数のノードのうちの第１の組のユーザ・ノード２０２に対するユーザ−コンセプト・スコアにそれぞれアクセスすることができる。各ユーザ−コンセプト・スコアは、複数のコンセプト・ノードのうちの１つのコンセプト・ノード２０４にエッジ２０６によって接続された、第１の組のユーザ・ノードのうちの１つのユーザ・ノード２０２を含む、特定のユーザ−コンセプト・ペアに関することができる。工程３３０において、ソーシャルネットワーキング・システム１６０は、第１の組のユーザ・ノード２０２と複数のコンセプト・ノード２０４とによるすべてのユーザ−コンセプト・ペアに対する推薦されるユーザ−コンセプト・スコアを推定するための推薦アルゴリズムを生成することができる。推薦されるユーザ−コンセプト・スコアは、アクセスされたユーザ−コンセプト・スコアに基づくことができる。工程３４０において、ソーシャルネットワーキング・システム１６０は、複数のノードのうちの第２の組のユーザ・ノード２０２に対する推薦されるユーザ−コンセプト・スコアを計算することができる。第１の組のユーザ・ノード２０２は、第２の組のユーザ・ノード２０２から分離していることができる。特定の実施形態は、適切な場合には、図３の方法の１つまたは複数の工程を繰り返すことができる。本開示は、特定の順序で発生する図３の方法の特定の工程について説明および例示するが、本開示は、任意の適切な順序で発生する図３の方法の任意の適切な工程を想定している。さらに、本開示は、図３の方法の特定の工程を含む、オンライン・ソーシャル・ネットワークにおいて推薦されるコンテンツを決定するための例示的な方法について説明および例示するが、本開示は、適切な場合には、図３の方法の工程のすべてもしくはいくつかを含むことができる、またはまったく含まないことがある、任意の適切な工程を含む、オンライン・ソーシャル・ネットワークにおいて推薦されるコンテンツを決定するための任意の適切な方法を想定している。さらに、本開示は、図３の方法の特定の工程を実施する特定のコンポーネント、デバイス、またはシステムについて説明および例示するが、本開示は、図３の方法の任意の適切な工程を実施する任意の適切なコンポーネント、デバイス、またはシステムの任意の適切な組み合わせを想定している。
【００３４】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、互いに対するさまざまなソーシャル・グラフのエンティティのソーシャル・グラフ・アフィニティ（本明細書においては「アフィニティ」と呼ばれることがある）を決定し得る。アフィニティは、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられているその他のオブジェクト、またはこれらの任意の好適な組み合わせなどのオンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクトの間の関係の強さまたは関心のレベルを表し得る。また、アフィニティは、サードパーティ・システム１７０またはその他の好適なシステムに関連付けられているオブジェクトに関連して決定され得る。各ユーザ、対象、またはコンテンツの種類に対するソーシャル・グラフのエンティティに関する全体的なアフィニティが、確立されることが可能である。全体的なアフィニティは、ソーシャル・グラフのエンティティに関連付けら
れているアクションまたは関係の継続的な監視に基づいて変わり得る。本開示は、特定のやり方で特定のアフィニティを決定することを説明するが、任意の好適なやり方で任意の好適なアフィニティを決定することを想定する。
【００３５】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、アフィニティ係数（本明細書においては「係数」と呼ばれることがある）を使用してソーシャル・グラフ・アフィニティを測定または定量化し得る。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクトの間の関係の強さを表すかまたは定量化し得る。また、係数は、ユーザがアクションに対するユーザの関心に基づいて特定のアクションを実行する予想された確率を測定する確率または関数を表すことが可能である。このようにして、ユーザの将来のアクションが、ユーザの以前のアクションに基づいて予想される可能性があり、係数が、ユーザのアクションの履歴に少なくとも部分的に基づいて計算され得る。係数は、オンライン・ソーシャル・ネットワークの中または外にある可能性がある任意の数のアクションを予想するために使用され得る。限定ではなく例として、これらのアクションは、メッセージを送信すること、コンテンツをポストすること、もしくはコンテンツにコメントすることなどのさまざまな種類の通信、プロファイル・ページ、メディア、もしくはその他の好適なコンテンツにアクセスするかもしくはそれを閲覧することなどのさまざまな種類の観測アクション、同じグループにいること、同じ写真にタグ付けされること、同じ位置にチェックインされること、もしくは同じイベントに参加することなどの２つ以上のソーシャル・グラフのエンティティについてのさまざまな種類の一致情報、またはその他の好適なアクションを含み得る。本開示は、特定のやり方でアフィニティを測定することを説明するが、任意の好適なやり方でアフィニティを測定することを想定する。
【００３６】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、さまざまな因子を使用して係数を計算し得る。これらの因子は、たとえば、ユーザのアクション、オブジェクトの間の関係の種類、位置情報、その他の好適な因子、またはこれらの任意の組み合わせを含み得る。特定の実施形態においては、係数を計算するときに、異なる因子が異なるように重み付けされることが可能である。各因子に関する重みは、静的であることが可能であり、または重みは、たとえば、ユーザ、関係の種類、アクションの種類、ユーザの位置などに従って変わり得る。因子に関するレーティングが、ユーザに関する全体的な係数を決定するためにそれらの因子の重みに従って組み合わされ得る。限定ではなく例として、特定のユーザのアクションが、レーティングと重みとの両方を割り振られ得る一方、特定のユーザのアクションに関連付けられている関係は、レーティングおよび相関重み（ｃｏｒｒｅｌａｔｉｎｇ  ｗｅｉｇｈｔ）を割り当てられる（たとえば、したがって、重みは合計で１００％になる）。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに割り振られるレーティングが、たとえば、全体的な係数の６０％を含み得る一方、ユーザとオブジェクトとの間の関係は、全体的な係数の４０％を含み得る。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、係数を計算するために使用されるさまざまな因子に関する重みを決定するときに、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに接続されたソーシャル・グラフのエンティティとの関係、ユーザのアクションの短期的もしくは長期的平均、ユーザのフィードバック、その他の好適な変数、またはこれらの任意の組み合わせなどのさまざまな変数を考える可能性がある。限定ではなく例として、係数は、係数を計算するときにより最近のアクションがより関連性を持つように、特定のアクションによって提供される信号の強度を時間とともに減衰させる減衰因子を含むことが可能である。レーティングおよび重みは、係数が基づくアクションの継続的な追跡に基づいて継続的に更新され得る。各因子に関するレーティングおよび因子に割り振られる重みの割り振り、組み合わせ、平均などのために任意の種類の処理またはアルゴリズムが採用され得る。特定の実施形
態において、ソーシャルネットワーキング・システム１６０は、履歴的アクションおよび過去のユーザの応答、またはユーザをさまざまなオプションに露出し、応答を測定することによってユーザから養われたデータで訓練された機械学習アルゴリズムを使用して係数を決定し得る。本開示は、特定のやり方で係数を計算することを説明するが、任意の好適なやり方で係数を計算することを想定する。
【００３７】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、ユーザのアクションに基づいて係数を計算し得る。ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワーク、サードパーティ・システム１７０、その他の好適なシステム、またはこれらの任意の組み合わせでそのようなアクションを監視し得る。任意の好適な種類のユーザのアクションが、追跡または監視され得る。典型的なユーザのアクションは、プロファイル・ページを閲覧すること、コンテンツを作成またはポストすること、コンテンツと対話すること、画像をタグ付けすることまたは画像でタグ付けされること、グループに参加すること、イベントへの出席をリストに載せることおよび確認すること、位置にチェックインすること、特定のページに「いいね！」を表明すること、ページを作成すること、ならびにソーシャル・アクションを容易にするその他のタスクを実行することを含む。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、特定の種類のコンテンツとのユーザのアクションに基づいて係数を計算し得る。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム１７０、または別の好適なシステムに関連付けられることが可能である。コンテンツは、ユーザ、プロファイル・ページ、ポスト、ニュース記事、ヘッドライン、インスタント・メッセージ、チャット・ルームの会話、電子メール、広告、ピクチャ、ビデオ、音楽、その他の好適なオブジェクト、またはこれらの任意の組み合わせを含み得る。ソーシャルネットワーキング・システム１６０は、ユーザのアクションを分析して、アクションのうちの１つまたは複数が対象、コンテンツ、その他のユーザなどに関するアフィニティを示すかどうかを決定し得る。限定ではなく例として、ユーザが「コーヒー」またはそれに類するものに関わりのあるコンテンツを頻繁にポストする可能性がある場合、ソーシャルネットワーキング・システム１６０は、ユーザがコンセプト「コーヒー」に関連する高い係数を有すると決定し得る。特定のアクションまたはアクションの種類が、その他のアクションよりも重い重みおよび／またはレーティングを割り振られる可能性があり、そのことが、全体的な計算される係数に影響を与える可能性がある。限定ではなく例として、第１のユーザが第２のユーザに電子メールを送る場合、アクションに関する重みまたはレーティングは、第１のユーザが単に第２のユーザに関するユーザ・プロファイル・ページを閲覧する場合よりも高いことが可能である。
【００３８】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、特定のオブジェクトの間の関係の種類に基づいて係数を計算し得る。ソーシャル・グラフ２００を参照すると、ソーシャルネットワーキング・システム１６０は、係数を計算するときに、特定のユーザ・ノード２０２とコンセプト・ノード２０４とを接続するエッジ２０６の数および／または種類を分析し得る。限定ではなく例として、配偶者タイプのエッジ（２人のユーザが結婚していることを表す）によって接続されるユーザ・ノード２０２は、友達タイプのエッジによって接続されるユーザ・ノード２０２よりも高い係数を割り振られることが可能である。言い換えると、特定のユーザに関するアクションおよび関係に割り振られた重みに依存して、全体的なアフィニティが、ユーザの友達についてのコンテンツに関してよりもユーザの配偶者についてのコンテンツに関してより高いと決定されることが可能である。特定の実施形態においては、ユーザが有する別のオブジェクトとの関係が、そのオブジェクトに関する係数を計算することに関連するユーザのアクションの重みおよび／またはレーティングに影響を与えることが可能である。限定ではなく例として、ユーザが第１の写真にタグ付けされるが、第２の写真にしか「いいね！」を表明しない場合、ソーシャルネットワーキング・システム１６０は、コンテンツとタグ付けタイプの関係を
有することがコンテンツと「いいね！」タイプの関係を有することよりも重い重みおよび／またはレーティングを割り振られる可能性があるので、ユーザが第２の写真よりも第１の写真に関連してより高い係数を有すると決定し得る。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、１人または複数の第２のユーザが有する特定のオブジェクトとの関係に基づいて第１のユーザに関する係数を計算し得る。言い換えると、その他のユーザが有するオブジェクトとの接続および係数が、オブジェクトに関する第１のユーザの係数に影響を与えることが可能である。限定ではなく例として、第１のユーザが１人もしくは複数の第２のユーザに接続されるかまたは１人もしくは複数の第２のユーザに関する高い係数を有し、それらの第２のユーザが特定のオブジェクトに接続されるかまたは特定のオブジェクトに関する高い係数を有する場合、ソーシャルネットワーキング・システム１６０は、第１のユーザも特定のオブジェクトに関する比較的高い係数を有するべきであると決定し得る。特定の実施形態において、係数は、特定のオブジェクトの間の隔たりの度合いに基づくことが可能である。より低い係数は、第１のユーザがソーシャル・グラフ２００の第１のユーザに間接的に接続されるユーザのコンテンツ・オブジェクトへの関心を共有する減少する見込みを表し得る。限定ではなく例として、ソーシャル・グラフ２００内でより近いソーシャル・グラフのエンティティ（つまり、隔たりのより低い度合い）は、ソーシャル・グラフ２００内でさらに離れているエンティティよりも高い係数を有することが可能である。
【００３９】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、位置情報に基づいて係数を計算し得る。地理的に互いにより近いオブジェクトは、より遠いオブジェクトよりも互いにより関わりがあるかまたはより関心があると考えられる可能性がある。特定の実施形態において、特定のオブジェクトに対するユーザの係数は、ユーザに関連付けられている現在位置（またはユーザのクライアント・システム１３０の位置）に対するオブジェクトの位置の近さに基づくことが可能性である。第１のユーザは、第１のユーザにより近いその他のユーザまたはコンセプトにより関心がある可能性がある。限定ではなく例として、ユーザが空港から１．６キロメートル（１マイル）およびガソリン・スタンドから３．２キロメートル（２マイル）の距離にある場合、ソーシャルネットワーキング・システム１６０は、ユーザがユーザに対する空港の近さに基づいてガソリン・スタンドよりも空港に関してより高い係数を有すると決定し得る。
【００４０】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、係数情報に基づいてユーザに関連する特定のアクションを実行し得る。係数は、アクションへのユーザの関心に基づいてユーザが特定のアクションを実行するかどうかを予想するために使用され得る。係数は、広告、検索リザルト、ニュース記事、メディア、メッセージ、通知、またはその他の好適なオブジェクトなどの任意の種類のオブジェクトを生じるかまたはユーザに提示するときに使用され得る。係数は、必要に応じてそのようなオブジェクトにランクを付け、順序付けするためにも利用され得る。このようにして、ソーシャルネットワーキング・システム１６０は、ユーザの関心および現在の事情に関連性を持っている情報を提供し、それらのユーザが関心のあるそのような情報を見つける見込みを増やすことが可能である。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、係数情報に基づいてコンテンツを生じ得る。コンテンツ・オブジェクトは、ユーザに固有の係数に基づいて提供または選択されることが可能である。限定ではなく例として、係数は、ユーザのためのメディアを生じるために使用されることが可能であり、ユーザは、ユーザがメディア・オブジェクトに関連する高い全体的な係数を有するメディアを提示されることが可能である。限定ではなく別の例として、係数は、ユーザのための広告を生じるために使用されることが可能であり、ユーザは、ユーザが広告されるオブジェクトに関連する高い全体的な係数を有する広告を提示されることが可能である。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、係数情報に基づいて検索リザルトを生じ得る。特定のユーザのための検索リザルトが、問い合わせしているユーザに
関連する検索リザルトに関連付けられている係数に基づいてスコアを付けられるかまたはランクを付けられることが可能である。限定ではなく例として、より高い係数を持つオブジェクトに対応する検索リザルトが、より低い係数を有するオブジェクトに対応するリザルトよりも検索リザルト・ページでより高くランクを付けられることが可能である。
【００４１】
特定の実施形態において、ソーシャルネットワーキング・システム１６０は、特定のシステムまたは処理からの係数のリクエストに応答して係数を計算し得る。所与の局面でユーザがとり得る（または対象になり得る）ありそうなアクションを予想するために、任意の処理が、ユーザに関する計算された係数をリクエストすることが可能である。このリクエストは、係数を計算するために使用されるさまざまな因子に関して使用する重みの集合を含むことが可能である。このリクエストは、オンライン・ソーシャル・ネットワークで実行される処理から、（ＡＰＩもしくはその他の通信チャネルを介して）サードパーティ・システム１７０から、または別の好適なシステムから来ることが可能である。リクエストに応答して、ソーシャルネットワーキング・システム１６０は、係数を計算し得る（または係数情報が既に計算され、記憶されている場合、その係数情報にアクセスし得る）。特定の実施形態において、ソーシャルネットワーキング・システム１６０は、特定の処理に関連するアフィニティを測定し得る。異なる処理（オンライン・ソーシャル・ネットワークの内部と外部との両方）が、特定のオブジェクトまたはオブジェクト集合に関する係数をリクエストすることが可能である。ソーシャルネットワーキング・システム１６０は、アフィニティの測定値をリクエストした特定の処理と関連性を持っているアフィニティの測定値を提供し得る。このようにして、各処理は、処理がアフィニティの測定値を使用する異なるコンテキストのために仕立てられたアフィニティの測定値を受信する。
【００４２】
ソーシャル・グラフ・アフィニティおよびアフィニティ係数に関係して、特定の実施形態は、２００６年８月１１日に出願された米国特許出願第１１／５０３０９３号、２０１０年１２月２２日に出願された米国特許出願第１２／９７７０２７号、２０１０年１２月２３日に出願された米国特許出願第１２／９７８２６５号、および２０１２年１０月１日に出願された米国特許出願第１３／６３２８６９号で開示された１つまたは複数のシステム、構成要素、要素、機能、方法、動作、または工程を利用することが可能であり、これらの特許出願のそれぞれは、参照により援用される。
【００４３】
特定の実施形態において、広告は、テキスト（ＨＴＭＬのリンクが張られることが可能である）、１つもしくは複数の画像（ＨＴＭＬのリンクが張られることが可能である）、１つもしくは複数のビデオ、音声、１つもしくは複数のＡＤＯＢＥ  ＦＬＡＳＨファイル、これらの任意の組み合わせ、あるいは１つもしくは複数のウェブページで、１つもしくは複数の電子メールで、またはユーザによってリクエストされた検索リザルトに関係して示される任意の好適なデジタル・フォーマットの任意のその他の好適な広告であることが可能である。加えてまたは代替として、広告は、１つまたは複数のスポンサー付きの記事（たとえば、ニュースフィード、またはソーシャルネットワーキング・システム１６０のティッカー・アイテム）であることが可能である。スポンサー付きの記事は、たとえば、ソーシャル・アクションをユーザのプロファイル・ページもしくはその他のページの予め決められた領域内に示されるか、広告主に関連付けられている追加の情報とともに示されるか、その他のユーザのニュースフィードもしくはティッカー内で大きくされる（ｂｕｍｐｅｄ  ｕｐ）かもしくはその他の方法で強調されるか、またはその他の方法でプロモーションされるようにすることによって広告主がプロモーションするユーザによるソーシャル・アクション（ページ「に対して『いいね！』を表明する」、ページのポスト「に対して『いいね！』を表明する」かもしくはコメントする、ページに関連するイベントへの出欠の返事をする（ＲＳＶＰ）、ページにポストされた質問に投票する、場所にチェックインする、アプリケーションを使用するかもしくはゲームをする、またはウェブサイト「に対して『いいね！』を表明する」かもしくはウェブサイトを共有するなど）であることが
可能である。広告主は、ソーシャル・アクションをプロモーションさせるために料金を支払う場合がある。限定ではなく例として、広告は、検索リザルト・ページの検索リザルトに含まれることが可能であり、スポンサー付きのコンテンツがスポンサー付きでないコンテンツの上でプロモーションされる。
【００４４】
特定の実施形態において、広告は、ソーシャルネットワーキング・システムのウェブページ、サードパーティのウェブページ、またはその他のページ内に表示するためにリクエストされることが可能である。広告は、ページの一番上のバナー領域内、ページの横のカラム内、ページのＧＵＩ内、ポップアップ・ウィンドウ内、ドロップダウン・メニュー内、ページの入力フィールド内、ページのコンテンツの上、またはページに関連する他の場所などのページの専用の部分に表示されることが可能である。加えてまたは代替として、広告は、アプリケーション内に表示されることが可能である。広告は、専用のページ内に表示され、ユーザがページにアクセスするかまたはアプリケーションを利用し得る前にユーザが広告と対話するかまたは広告を見ることを要求することが可能である。ユーザは、たとえば、ウェブ・ブラウザを通じて広告を閲覧し得る。
【００４５】
ユーザは、任意の好適なやり方で広告と対話し得る。ユーザは、広告をクリックするかまたはその他の方法で選択することが可能である。広告を選択することによって、ユーザは、広告に関連付けられているページに導かれることが可能である（またはユーザによって使用されるブラウザもしくはその他のアプリケーション）。広告に関連付けられているページにおいて、ユーザは、広告に関連付けられ製品もしくはサービスを購入すること、広告に関連付けられ情報を受信すること、または広告に関連付けられているニューズレターを購読することなどの追加的なアクションを行うことが可能である。音声またはビデオによる広告が、（再生ボタンのような）広告の構成要素を選択することによって再生されることが可能である。代替的に、広告を選択することによって、ソーシャルネットワーキング・システム１６０が、ユーザの特定のアクションを実行または変更することが可能である。
【００４６】
広告は、ユーザが対話し得るソーシャルネットワーキング・システムの機能を含むことが可能である。限定ではなく例として、広告は、ユーザが承認に関連付けられているアイコンまたはリンクを選択することによって広告「に対して『いいね！』を表明する」かまたはその他の方法で広告を承認することができるようにし得る。限定ではなく例として、広告は、ユーザが広告主に関わりがあるコンテンツを（たとえば、問い合わせを実行することによって）検索することができるようにし得る。同様に、ユーザは、（たとえば、ソーシャルネットワーキング・システム１６０を通じて）別のユーザと広告を共有するか、または（たとえば、ソーシャルネットワーキング・システム１６０を通じて）広告に関連付けられているイベントへの出欠の返事をし得る。加えてまたは代替として、広告は、ユーザを対象とするソーシャルネットワーキング・システムのコンテキストを含み得る。限定ではなく例として、広告は、広告の対象に関連付けられているアクションを行ったソーシャルネットワーキング・システム１６０におけるユーザの友達についての情報を表示し得る。
【００４７】
図４は、例示的なコンピュータ・システム４００を示している。特定の実施形態においては、１つまたは複数のコンピュータ・システム４００が、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を実行する。特定の実施形態においては、１つまたは複数のコンピュータ・システム４００が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、１つまたは複数のコンピュータ・システム４００上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている１つもしくは複数の方法の１つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を
提供する。特定の実施形態は、１つまたは複数のコンピュータ・システム４００の１つまたは複数の部分を含む。本明細書においては、適切な場合には、コンピュータ・システムへの言及はコンピューティング・デバイスを包含することができ、反対に、コンピューティング・デバイスへの言及はコンピュータ・システムを包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、１つまたは複数のコンピュータ・システムを包含することができる。
【００４８】
本開示は、任意の適切な数のコンピュータ・システム４００を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム４００を想定している。限定ではなく、例として、コンピュータ・システム４００は、組み込みコンピュータ・システム、システムオンチップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータ・システム４００は、１つもしくは複数のコンピュータ・システム４００を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド（１つもしくは複数のネットワーク内の１つもしくは複数のクラウド・コンポーネントを含むことができる）内に常駐することが可能である。適切な場合には、１つまたは複数のコンピュータ・システム４００は、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、１つまたは複数のコンピュータ・システム４００は、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程をリアル・タイムで、またはバッチ・モードで実行することができる。１つまたは複数のコンピュータ・システム４００は、適切な場合には、本明細書において記述されているまたは示されている１つまたは複数の方法の１つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
【００４９】
特定の実施形態においては、コンピュータ・システム４００は、プロセッサ４０２、メモリ４０４、ストレージ４０６、入力／出力（Ｉ／Ｏ）インタフェース４０８、通信インタフェース４１０、およびバス４１２を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
【００５０】
特定の実施形態においては、プロセッサ４０２は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ４０２は、内部レジスタ、内部キャッシュ、メモリ４０４、またはストレージ４０６から命令を取り出し（またはフェッチし）、それらの命令をデコードして実行し、次いで、１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ４０４、またはストレージ４０６に書き込むことができる。特定の実施形態においては、プロセッサ４０２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ４０２を想定している。限定ではなく、例として、プロセッサ４０２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータ・キャッシュ、および１つまたは複数の変換ルックアサイド・バッファ（ＴＬＢ）を含むことができる。命令キャッシュ内の命令は、メモリ４０４またはストレージ４０６内の命令
のコピーであることが可能であり、命令キャッシュは、プロセッサ４０２によるそれらの命令の取り出しを高速化することができる。データ・キャッシュ内のデータは、プロセッサ４０２において実行される命令が機能する際に基づくメモリ４０４もしくはストレージ４０６内のデータのコピー、プロセッサ４０２において実行される後続の命令によるアクセスのための、もしくはメモリ４０４もしくはストレージ４０６への書き込みのためのプロセッサ４０２において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データ・キャッシュは、プロセッサ４０２による読み取り動作または書き込み動作を高速化することができる。ＴＬＢは、プロセッサ４０２のための仮想アドレス変換を高速化することができる。特定の実施形態においては、プロセッサ４０２は、データ、命令、またはアドレスのための１つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ４０２を想定している。適切な場合には、プロセッサ４０２は、１つまたは複数の演算ロジック・ユニット（ＡＬＵ）を含むこと、マルチコア・プロセッサであること、または１つもしくは複数のプロセッサ４０２を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
【００５１】
特定の実施形態においては、メモリ４０４は、プロセッサ４０２が実行するための命令、またはプロセッサ４０２が機能する際に基づくデータを格納するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム４００は、命令をストレージ４０６または別のソース（たとえば、別のコンピュータ・システム４００など）からメモリ４０４にロードすることができる。次いでプロセッサ４０２は、命令をメモリ４０４から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ４０２は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ４０２は、１つまたは複数の結果（それらは、中間の結果または最終的な結果である場合がある）を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ４０２は、それらの結果のうちの１つまたは複数をメモリ４０４に書き込むことができる。特定の実施形態においては、プロセッサ４０２は、（ストレージ４０６またはその他の場所ではなく）１つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ４０４内の命令のみを実行し、（ストレージ４０６またはその他の場所ではなく）１つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ４０４内のデータ上でのみ機能する。１つまたは複数のメモリ・バス（それらはそれぞれ、アドレス・バスおよびデータ・バスを含むことができる）は、プロセッサ４０２をメモリ４０４に結合することができる。バス４１２は、以降で記述されているような１つまたは複数のメモリ・バスを含むことができる。特定の実施形態においては、１つまたは複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ４０２とメモリ４０４との間に常駐し、プロセッサ４０２によって要求されるメモリ４０４へのアクセスを容易にする。特定の実施形態においては、メモリ４０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であることが可能である。その上、適切な場合には、このＲＡＭは、シングルポートＲＡＭまたはマルチポートＲＡＭであることが可能である。本開示は、任意の適切なＲＡＭを想定している。メモリ４０４は、適切な場合には、１つまたは複数のメモリ４０４を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
【００５２】
特定の実施形態においては、ストレージ４０６は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ４０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ
、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ４０６は、適切な場合には、取り外し可能なまたは取り外し不能な（すなわち、固定された）媒体を含むことができる。ストレージ４０６は、適切な場合には、コンピュータ・システム４００の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ４０６は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ４０６は、読み取り専用メモリ（ＲＯＭ）を含む。適切な場合には、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書替え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ４０６を想定している。ストレージ４０６は、適切な場合には、プロセッサ４０２とストレージ４０６との間における通信を容易にする１つまたは複数のストレージ・コントロール・ユニットを含むことができる。適切な場合には、ストレージ４０６は、１つまたは複数のストレージ４０６を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
【００５３】
特定の実施形態においては、Ｉ／Ｏインタフェース４０８は、コンピュータ・システム４００と１つまたは複数のＩ／Ｏデバイスとの間における通信のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム４００は、適切な場合には、これらのＩ／Ｏデバイスのうちの１つまたは複数を含むことができる。これらのＩ／Ｏデバイスのうちの１つまたは複数は、人とコンピュータ・システム４００との間における通信を可能にすることができる。限定ではなく、例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオ・カメラ、別の適切なＩ／Ｏデバイス、またはこれらのうちの複数の組合せを含むことができる。Ｉ／Ｏデバイスは、１つまたは複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏデバイス、およびそれらのＩ／Ｏデバイスのための任意の適切なＩ／Ｏインタフェース４０８を想定している。適切な場合には、Ｉ／Ｏインタフェース４０８は、プロセッサ４０２がこれらのＩ／Ｏデバイスのうちの１つまたは複数を駆動することを可能にする１つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインタフェース４０８は、適切な場合には、１つまたは複数のＩ／Ｏインタフェース４０８を含むことができる。本開示は、特定のＩ／Ｏインタフェースについて記述し、示しているが、本開示は、任意の適切なＩ／Ｏインタフェースを想定している。
【００５４】
特定の実施形態においては、通信インタフェース４１０は、コンピュータ・システム４００と、１つもしくは複数のその他のコンピュータ・システム４００または１つもしくは複数のネットワークとの間における通信（たとえば、パケットベースの通信など）のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース４１０は、イーサネット（登録商標）もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレスＮＩＣ（ＷＮＩＣ）もしくはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース４１０を想定している。限定ではなく、例として、コンピュータ・システム４００は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１つまたは複数の部分、ま
たはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの１つまたは複数の１つまたは複数の部分は、有線またはワイヤレスであることが可能である。例として、コンピュータ・システム４００は、ワイヤレスＰＡＮ（ＷＰＡＮ）（たとえば、ブルートゥースＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、セルラー電話ネットワーク（たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ（登録商標））ネットワークなど）、またはその他の適切なワイヤレス・ネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータ・システム４００は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース４１０を含むことができる。通信インタフェース４１０は、適切な場合には、１つまたは複数の通信インタフェース４１０を含むことができる。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【００５５】
特定の実施形態においては、バス４１２は、コンピュータ・システム４００のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス４１２は、アクセラレイティッド・グラフィックス・ポート（ＡＧＰ）もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ（ＥＩＳＡ）バス、フロントサイド・バス（ＦＳＢ）、ハイパートランスポート（ＨＴ）インターコネクト、インダストリー・スタンダード・アーキテクチャ（ＩＳＡ）バス、インフィニバンド・インターコネクト、ローピンカウント（ＬＰＣ）バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル（ＶＬＢ）バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス４１２は、適切な場合には、１つまたは複数のバス４１２を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
【００５６】
本明細書においては、１つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、１つもしくは複数の半導体ベースのもしくはその他の集積回路（ＩＣ）（たとえば、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）もしくは特定用途向け集積回路（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
【００５７】
本明細書においては、「または（もしくは）」は、包含的であり、排他的ではない（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡまたはＢ」は、「Ａ、Ｂ、またはその両方」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。その上、「および（ならびに）」は、包括的および個別的の両方である（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡおよびＢ」は、「まとめて、または個別に、ＡおよびＢ」を意味する（ただし、そうではないことが明示されている場合、または、そう
ではないことが文脈によって示されている場合は除く）。
【００５８】
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、機能、動作、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、機能、動作、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。
【図１】
2016532943.tif 000003
【図２】
2016532943.tif 000004
【図３】
2016532943.tif 000005
【図４】
2016532943.tif 000006
【国際調査報告】
2016532943.tif 000007
2016532943.tif 000008