JP6023203B2 - ソーシャル・ネットワーキング・システム上の構造化オブジェクトおよびアクション - Google Patents

ソーシャル・ネットワーキング・システム上の構造化オブジェクトおよびアクション Download PDF

Info

Publication number
JP6023203B2
JP6023203B2 JP2014531842A JP2014531842A JP6023203B2 JP 6023203 B2 JP6023203 B2 JP 6023203B2 JP 2014531842 A JP2014531842 A JP 2014531842A JP 2014531842 A JP2014531842 A JP 2014531842A JP 6023203 B2 JP6023203 B2 JP 6023203B2
Authority
JP
Japan
Prior art keywords
user
social networking
graph
networking system
action
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014531842A
Other languages
English (en)
Other versions
JP2014528133A (ja
Inventor
フェドルフ、ウラジーミル
シャー、ナイティック
ケネス オニール、エドワード
ケネス オニール、エドワード
アイルストラップ ラスムッセン、ラーズ
アイルストラップ ラスムッセン、ラーズ
タージャン、ポール
スティーブン バーナル、マイケル
スティーブン バーナル、マイケル
フィリップ ショーグリーン、カール
フィリップ ショーグリーン、カール
Original Assignee
フェイスブック,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2014528133A publication Critical patent/JP2014528133A/ja
Application granted granted Critical
Publication of JP6023203B2 publication Critical patent/JP6023203B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、一般的に、ソーシャル・ネットワーキングに関し、詳細には、ソーシャル・ネットワーキング・システム上の構造化オブジェクトおよびアクションを定義することに関する。
ソーシャル・ネットワーキング・システムが近年流行しているのは、ユーザと他のユーザとのコネクションおよびコミュニケーションを可能にする有用な環境を提供しているからである。さまざまな異なるタイプのソーシャル・ネットワーキング・システムが存在しているが、これらのシステムは、一般に、ユーザがソーシャル・ネットワークを定義し、ソーシャル・ネットワーク内において相互作用することを可能にするメカニズムを提供する。このような状況において、ユーザは、個人であってもよいし、企業や他の人間以外のエンティティなど、他の任意のエンティティであってもよい。したがって、ソーシャル・ネットワーキング・システムは、友達間の社会的コミュニケーションを可能にする一方で、企業が潜在的顧客と関わりを持つための有益な手段にもなり得る。商業的な目的がない場合であっても、ソーシャル・ネットワーキング・システムを利用することで、他のタイプのエンティティがそれらのメッセージを広めることができる。例えば、人間以外のエンティティは、他のユーザが「好む」、または他の任意の形で関わりを持ち得るページもしくはグループを設けることができ、これにより、人間以外のエンティティは関心のあるユーザのグループとのコミュニケーションの受信および送信を行うフォーラムを提供することができる。
有益なソーシャル情報は、エッジによって相互接続されたノードの「ソーシャル・グラフ」にコンセプトとして維持され得る。ソーシャル・グラフのそれぞれのノードは、別のノードに作用し、および/または別のノードからの作用を受け得る何かを表す。ノードの一般的な例として、ユーザ、人間以外のエンティティ、コンテンツ・アイテム、グループ、イベント、ロケーション、メッセージ、コンセプト、およびソーシャル・ネットワーキング・システム内のオブジェクトで表すことができる他のものが挙げられる。ソーシャル・グラフ内の2つのノード間のエッジは、これらのノードの一方によって他方のノードに対して実行されたアクションの結果である2つのノード間の特定のタイプのコネクションを表す。
例えば、一方のユーザがソーシャル・ネットワーキング・システム内の他方のユーザとのコネクションを確立した場合、それらのユーザはノードとして表され、それらの間のエッジは、確立されたコネクションを表す。引き続きこの例を参照すると、一方のユーザはソーシャル・ネットワーキング・システム内の他方のユーザにメッセージを送信することができる。メッセージング・アクションは、ソーシャル・ネットワーキング・システムによって識別される2つのノードの間の別のエッジを表す。メッセージそれ自体は、1つのノードとして処理され得る。別の例では、一方のユーザは、ソーシャル・ネットワーキング・システムによって維持されている画像で別のユーザをタグ付けすることができる。このタグ付けアクションは、ユーザ間のエッジ、さらにはユーザのそれぞれとノードでもある画像との間のエッジも形成し得る。さらに別の例では、ユーザがイベントへの参加を確認する場合、ユーザとイベントはノードであり、イベントの参加はエッジである。したがって、ソーシャル・グラフを使用することで、ソーシャル・ネットワーキング・システムは、異なるタイプのオブジェクト、ならびにそれらのオブジェクト間の相互作用およびコネクションを維持することができ、これにより社会的に(ソーシャル・ネットワーク上で
)関連性のある情報の非常に豊かなストアを生成する。
車の長旅で他の友達と発見したサウンドトラックを聴きながら、車を運転して国を横断したり、名所旧跡を訪れたりするなどの現実世界の社会的相互作用は、ソーシャル・ネットワーキング・システムによって適切に取り込まれていない。この問題は、ソーシャル・グラフの説明の文脈において十分に理解され得る。まず所定のものが1つのノードによって表されない場合、他のノードは、ソーシャル・ネットワーキング・システムがそれらのノード間のエッジを発見することができるようにその1つのノードと相互作用することができない。例えば、人は、友達と公園をジョギングしながらインターネット・ラジオ放送局のダンス・ミュージックを聴くことができる。楽曲のタイトル、アーティスト、ジャンル、ロケーション、移動マイル数、持続時間を含めた、これらの情報を取り込むために、複数の外部システムおよびウェブサイトを使用することができる。外部システム上でユーザが聴く音楽のアーティストおよびジャンルを発見することが望ましい場合には、その情報は、外部システムによってソーシャル・ネットワーキング・システムに提供されなければならない。現状では、外部システム上のユーザは、手動で、この情報をソーシャル・ネットワーキング・システムと共有することになる。これは、外部システムを使用して再生する音楽を共有するに際してボトルネックとなる。さらに、外部システムがこの機能を使用可能にしていない場合、ユーザは、音楽をソーシャル・ネットワーキング・システム上で他のユーザと共有することができない。音楽を聴くなどの、外部の現実世界の相互作用から集められ得る無限量の情報をソーシャル・ネットワーキング・システムで利用できるようにすると、ソーシャル・ネットワーキング・システムのユーザに、あまりにも多いコンテンツ・アイテムが殺到するおそれがある。この情報をソーシャル・ネットワーキング・システムのユーザに提示する効率的なメカニズムは、生み出されていない。
したがって、アクションおよびオブジェクトを含む、ソーシャル・グラフのカスタマイズされた構造を定義して、ソーシャル・ネットワーキング・システムがこれらの現実世界の社会的相互作用に関する情報を発見し、共有し、ソーシャル・ネットワーキング・ユーザ経験に統合することを可能にするメカニズムが求められている。
ソーシャル・ネットワーキング・システムがオブジェクトおよびそれらの間の相互作用に関する社会的に関連する情報を発見できるようにするために、本発明の実施形態では、ソーシャル・ネットワーキング・システムの外部にあるオブジェクトに対するユーザ・アクションをソーシャル・ネットワーキング・システム上のユーザ経験に統合するための柔軟なメカニズムを提供する。例えば、ユーザが外部システム上でストリーミング音楽を再生することを可能にする音楽サービスは、ソーシャル・ネットワーキング・システム上のユーザ経験に統合され得る。ソーシャル・ネットワーキング・システムの管理者に加えて、サードパーティ・デベロッパーが、社会的に関連する情報をソーシャル・ネットワーキング・システムの他のユーザにも提供しながら、ソーシャル・ネットワーキング・システムを使用して再生され制御される外部音源の統合を可能にするオブジェクトおよびアクションを定義することができる。特に、本発明の実施形態では、ソーシャル・ネットワーキング・システムのドメインの外部のインターネットまたは他のネットワーク上のURL、URI、または他のアドレスによってアクセス可能なウェブサイト、アプリケーション、および企業システムなどの外部システムのサードパーティ・デベロッパーによってグラフ・アクション・タイプおよびグラフ・オブジェクト・タイプが定義されることを可能にすることができる。ユーザ相互作用から記録され、ソーシャル・ネットワーキング・システムに報告される、グラフ・アクションおよびグラフ・オブジェクトは、定義済みのグラフ・アクション・タイプおよびグラフ・オブジェクト・タイプに基づき構造化され、これに
より、集約および構造化クエリ機能が使用可能になる。グラフ・アクションとグラフ・オブジェクトのこれらの関連付けで、ソーシャル・グラフ上で発見可能な情報のデータ可視化がなされる。グラフ・アクションおよびグラフ・オブジェクトは、グラフ・アクション・タイプおよびグラフ・オブジェクト・タイプの定義に基づきグラフ・アクションがグラフ・オブジェクトに対してどのように実行されたかを示すテキスト記述にも翻訳され得る。外部システム、またはソーシャル・ネットワーキング・システムの外部のエンティティに対して、その評判に関するスコアを付けることができる。これらの評判スコアは、視聴ユーザの選好および親近感に加えて、グラフ・アクションおよびグラフ・オブジェクトから生成されるコンテンツ・アイテムの順位付けに影響を及ぼし得る。このようにして、ソーシャル・ネットワーキング・システムのドメインの内部および外部の両方における、ユーザのアクションに関する興味深い情報は、ソーシャル・ネットワーキング・システム上の他のユーザと共有され、比較され得る。
グラフ・アクション・タイプおよび関連するグラフ・オブジェクト・タイプは、ソーシャル・ネットワーキング・システムの外部のエンティティによって定義されるものとしてよい。一実施形態では、ユーザ・インタフェースは、外部システムのサードパーティ・デベロッパーを含む、これらのエンティティが、外部システム上のユーザ相互作用がソーシャル・ネットワーキング・システム上のソーシャル・グラフ内のグラフ・アクションおよびグラフ・オブジェクトとして取り込まれ得るようにグラフ・アクション・タイプおよび関連するグラフ・オブジェクト・タイプを作成することを可能にし得る。ソーシャル・ネットワーキング・システムに加えて、複数の外部システムがソーシャル・ネットワーキング・システムのユーザに表示するコンテンツ・アイテムを生成する際に定義済みのグラフ・アクション・タイプおよび関連するグラフ・オブジェクト・タイプを利用することができる。グラフ・アクション・タイプおよび関連するグラフ・オブジェクト・タイプの定義に含まれる動詞時制および名詞形に基づき、グラフ・オブジェクトに対して実行されるグラフ・アクションのテキスト記述は、コンテンツ・アイテムについて自動的に生成され、ソーシャル・ネットワーキング・システムの他のユーザに表示され得る。ソーシャル・ネットワーキング・システムのユーザによって生成されるグラフ・アクションおよびグラフ・オブジェクトを含むコンテンツ・アイテムは、視聴ユーザの選好、グラフ・アクション・タイプおよびグラフ・オブジェクト・タイプを定義したエンティティの評判スコア、さらにはそれらのエンティティに対するユーザの親近感スコアを組み込むように順位付けされ得る。コンテンツ・アイテムの順位付けは、ソーシャル・ネットワーキング・システムのユーザが、外部エンティティによって定義されたグラフ・アクションおよびグラフ・オブジェクトを含む関連する、評判のよいコンテンツ・アイテムを表示することを確実にする。一実施形態では、ソーシャル・ネットワーキング・システムは、ストリーミング音楽およびビデオなどの、マルチメディア・アプリケーションに関するグラフ・アクションおよびグラフ・オブジェクトを、ユーザによって実行されるグラフ・アクションおよびグラフ・オブジェクトを集約してソーシャル・ネットワーキング・システム内の他のユーザに表示することによってユーザ経験に統合することができる。
楽曲のプレイリストを聴く、ギフトを購入する、書籍を読む、ニュース記事をリーディングリストに追加する、およびマラソンを走るなど、例えば、ソーシャル・ネットワーキング・システムのユーザによって、外部システム上でウェブ・ページに対して実行される相互作用は、ウェブ・ページに埋め込まれているウィジェットによって記録され得る。アクション・ログが、グラフ・アクション・タイプおよびグラフ・オブジェクト・タイプの定義に基づき相互作用を記録するウィジェットによって生成され得る。これらのエッジ、またはオブジェクトとユーザの間の相互作用は、ソーシャル・グラフに公開され、ソーシャル・ネットワーキング・システム内のニュースフィードまたはストリームにおけるコンテンツ・アイテムとして表示され得る。アクション・ログを作成するウィジェットは、アクション・ログをバッチ・プロセスで、またはリアルタイムで、ソーシャル・ネットワー
キング・システムに伝送することができる。別の実施形態では、ソーシャル・ネットワーキング・システムは、外部システムを「スクレイピング」して、アクション・ログに記録されたアクションを取り出すことができる。コンテンツ・アイテムは、ユーザがウェブ・ページ内のオブジェクトに構造化アクションを実行したことを示し、受信されたグラフ・アクションおよび関連するグラフ・オブジェクトから、対応するグラフ・アクション・タイプおよびグラフ・オブジェクト・タイプの定義に基づき生成される。
楽曲を聴く、書籍を購入する、ニュース記事を読む、製品を欲しい物リストに追加する、およびランニングコースをジョギングするなど、構造化アクションおよびオブジェクトをソーシャル・ネットワーキング・システムに公開した結果、これらの構造化アクションに関するストーリまたは記述が、対応するグラフ・アクション・タイプおよびグラフ・オブジェクト・タイプで定義されている動詞時制および名詞形に基づきソーシャル・ネットワーキング・システム上に自動的に生成され得る。外部システム上のユーザ相互作用がソーシャル・ネットワーキング・システムによって受け取られた後、ソーシャル・ネットワーキング・システムは、ユーザのプロファイルを更新して、作用を受けるオブジェクトとの関連付けを追加し、アクションをユーザのコネクションに投稿し、および/またはユーザがソーシャル・ネットワーキング・システムにおいてオブジェクトと相互作用するときに適している応答の組み合わせを実行することができる。
一実施形態では、オブジェクトは、ウェブサイトなど、外部システム上で、アクションとして取り込まれ、ソーシャル・グラフ内のエッジとして具現化される、ユーザ相互作用をソーシャル・ネットワーキング・システムに統合するためのソーシャル・グラフ内のノードとして定義される。オブジェクトは、マークアップ言語文書によって符号化されているそのようなウェブサイト上のウェブ・ページによって記述されることができ、ウェブ・ブラウザ・アプリケーションを使用してユーザ・デバイス上にウェブ・ページを描画して表示することができる。マークアップ言語文書は、ウェブ・ページ上のオブジェクトを識別するための情報を含む、1つまたは複数のタグを備える。これらのタグは、テキスト・タイトル、ラベル、オブジェクトに固有の識別子、マイクロ・フォーマット(micro
format)、および/またはオブジェクトに関する記述、さらには一実施形態において、オブジェクトのタイプなどその他の情報を提供することができる。別の実施形態では、オブジェクトは、データベースまたはフラット・ファイルなどの、その他のフォーマットで記述することもでき、その場合、オブジェクトを記述するタグがデータベースに記憶される。一実施形態では、サードパーティ・デベロッパーによってウェブサイト上のさまざまなウェブ・ページに埋め込まれる、ウィジェットは、ユーザ・デバイス上のブラウザ・アプリケーションによって実行され得る。別の実施形態では、ウィジェットは、外部システムおよびソーシャル・ネットワーキング・システムでアプリケーション・プログラミング・インタフェース(API)を呼び出すユーザ・デバイス上で実行されるアプリケーションに埋め込まれ得る。ウィジェットは、ソーシャル・グラフ内への統合のためウェブ・ページとのユーザ相互作用を記録する命令またはプログラミング論理を含む。このようにして、ソーシャル・ネットワーキング・システムの外部のウェブ・ページとのユーザ相互作用は、ソーシャル・ネットワーキング・システムとの統合のためソーシャル・グラフ上にオブジェクトおよびアクションを生成することができる。これは、サードパーティ・デベロッパーに対してソーシャル・グラフを効果的に開放し、複雑で豊かなソーシャル・グラフのさらなる開発および定義を促す。
別の実施形態では、ユーザは、ソーシャル・ネットワーキング・システムの外にあり、隔たっているものとしてよい、ウェブサイト・サーバにウェブ・ページを要求する。サーバはユーザ・デバイスに、ウェブ・ページ内にシステム・ネットワーキング・システムから得られた情報を組み込み、またウェブ・ページ内に、マークアップ言語文書内にタグ付けされているリンクおよびボタンをクリックするなどの、指定されたオブジェクトに対す
る構造化アクションを取り込むためにユーザ・デバイス上で実行されるブラウザ・アプリケーションに対する命令を記憶するマークアップ言語文書を送信する。一実施形態では、命令は、ソーシャル・ネットワーキング・システムから直接引き込むコンテンツを記憶するウェブ・ページ内にフレームを作成する(例えば、インラインフレーム(iframe))。ソーシャル・ネットワーキング・システムによって提供される、フレームのコンテンツは、ソーシャル・グラフに公開されるカスタマイズされたアクションおよびオブジェクトからクエリされた情報を含む。このような情報は、例えば、音楽を聴く際にユーザが最も頻繁に聴く楽曲、トップ・アーティスト、トップジャンル、および同様のもの、ソーシャル・ネットワーキング・システム上でユーザと接続している他のユーザにより最も頻繁に読まれる記事、またはソーシャル・ネットワーキング・システムのすべてのユーザによってカリフォルニア州パロ・アルトでジョギングするために共有される最も一般的なルートも含むことができる。フレームは、電子リーダー用の雑誌を購入する、ゲーム・アプリケーションをインストールする、および電子商取引ウェブサイトに熊の玩具を組み入れるなどの、アクションも実行しているソーシャル・ネットワーキング・システムにおけるユーザのコネクションの1つまたは複数の指示などのユーザおよびノードに関係するソーシャル情報も記憶することができる。一実施形態では、フレームにコンテンツを設定する(populate)のために、ユーザ指定クエリおよびテンプレート・クエリが使用され得る。
したがって、本発明の実施形態は、ソーシャル・ネットワーキング・システムが、コンセプトおよび外部システム上でユーザによって実行され得るアクションを、複数の外部システムからの音楽のプレイリストを作成し共有する、ソーシャル・ネットワーキング・システム上のそのコネクションの視聴習慣に基づき音楽をユーザに推奨する、ソーシャル・ネットワーキング・システム上のコネクションでラジオ放送局を協力しあって聴く、さらにはそれらのユーザと接続している他のユーザと、ニュース・ウェブサイト上で読まれている記事、ビデオ・ストリーミング・ウェブサイト上で視聴されているビデオ、および外部システム・アプリケーションを通じて実行され記録されているエクササイズを自動的に共有するなどの、ソーシャル・ネットワーキング・システム上のユーザ経験に統合することを可能にする。異なる外部システムは、音楽ストリーミング・ウェブサイト、ビデオ・ストリーミング・ウェブサイト、ニュースまとめウェブサイト、および同様のものをホストすることができるため、ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システムの管理者によって定義された構造化オブジェクトおよびアクションを使用してソーシャル・ネットワーキング・システム上で外部システムとの相互作用をユーザ経験に統合し方法を合理化することを可能にすることができる。例えば、ユーザは、アールディーオー(RDIO)などの、特定の音楽サービスを使用して楽曲のプレイリストを聴くことができ、このアクションは、ソーシャル・ネットワーキング・システム上でユーザのコネクションと共有され得る。別のユーザが、スポティファイ(Spotify)などの、異なる音楽サービスを使用して楽曲の同じプレイリストを聴くことができるが、それはソーシャル・ネットワーキング・システムが名前、アーティスト名、および持続時間で楽曲オブジェクトを自動的にマッピングしているからである。言い換えると、ソーシャル・ネットワーキング・システムは、オブジェクトのタグを使用して、相互作用をソーシャル・ネットワーキング・システムの経験に統合することを可能にし得るということである。同様に、ネットフリックス(Netflix)などの、一方のサービス上でユーザによって視聴されるビデオは、Huluなどの、別のサービス上でビデオを閲覧することができるソーシャル・ネットワーキング・システム上の別のユーザと共有され得る。それに加えて、ニューヨークタイムズ(New York Times)などの、一方の新聞ウェブサイト上のユーザによって読まれるニュース記事は、AP通信(Associated Press)などの、異なる新聞ウェブサイト上の別のユーザによって読まれ得る。外部ユーザ相互作用とソーシャル・ネットワーキング・システムとの統合により、ソーシャル・ネットワーキング・システムが音楽選択、視聴したビデオジャンル、読ん
だニュース記事、購入した製品、プレイしたゲームなどを含む、ユーザの選好についてさらに学習することができる。この情報の可視化は、さまざまな目的(アクティビティフィードの投稿、ターゲティング広告など)で社会的に関連する情報を提供するために形成され得る。
本発明の一実施形態による、ソーシャル・ネットワーキング・システム上で公開するように外部ユーザ・アクションを構造化するためのシステムのネットワーク図。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションから生成されるグラフ・ストーリを順位付けするための方法のハイレベルブロック図。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの図。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表す定義済みグラフ構造のハイレベルブロック図。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションを表すグラフ構造を定義するためのアプリケーションのスクリーンショット。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するための方法の相互作用図。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するためのウィジェットを備える外部システムのウェブ・ページの例を示す図。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するためのウィジェットを備える外部システムのウェブ・ページの例を示す図。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するためのウィジェットを備える外部システムのウェブ・ページの例を示す図。 本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部でユーザ・アクションを構造化するためのウィジェットを備える外部システムのウェブ・ページの例を示す図。 本発明の一実施形態による、グラフ・コンテンツ・アイテム順位付けモジュールのハイレベルブロック図。 本発明の一実施形態により、グラフ・オブジェクトおよびグラフ・アクションをソーシャル・ネットワーキング・システムに統合するソーシャル・ネットワーキング・システム上のユーザ・インタフェースの一例を示す図。
これらの図は、例示することのみを目的として本発明のさまざまな実施形態を示している。当業者であれば、本明細書で説明されている発明の原理から逸脱することなく本明細書に示されている構造および方法の代替的実施形態を使用できることを以下の説明から容易に理解するであろう。
ソーシャル・ネットワーキング・システムのアーキテクチャの概要
図1Aは、ソーシャル・ネットワーキング・システム130上で公開するように外部ユーザ・アクションを構造化するためのシステム100の一実施形態のネットワーク図である。システム100は、1つまたは複数のユーザ・デバイス110、1つまたは複数の外部システム120、ソーシャル・ネットワーキング・システム130、およびネットワーク140を備える。例示することを目的として、図1に示されているシステム100の実施形態は、単一の外部システム120および単一のユーザ・デバイス110を備える。しかし、他の実施形態では、システム100は、さらに多くのユーザ・デバイス110および/またはさらに多くの外部システム120を備えることができる。いくつかの実施形態において、ソーシャル・ネットワーキング・システム130は、ソーシャル・ネットワーク・プロバイダによって運営されるが、外部システム120は、異なるエンティティによって運営され得るという点でソーシャル・ネットワーキング・システム130とは別である。しかし、さまざまな実施形態において、ソーシャル・ネットワーキング・システム130と外部システム120は連携して動作し、ソーシャル・ネットワーキング・サービスをソーシャル・ネットワーキング・システム130のユーザに提供する。この点で、ソーシャル・ネットワーキング・システム130は、外部システム120などの他のシステムがソーシャル.ネットワーキング・サービスおよび機能をインターネット経由でユーザに提供するために使用することができるプラットフォーム、またはバックボーンを構成する。
ユーザ・デバイス110は、ユーザから入力を受信し、ネットワーク140を通じてデータを送受信することができる1つまたは複数のコンピューティング・デバイスを備える。一実施形態では、ユーザ・デバイス110は、例えば、マイクロソフト・ウィンドウズ(登録商標)(Microsoft Windows(登録商標))互換オペレーティング・システム(OS)、アップル(Apple)OS X、および/またはLinux(登録商標)ディストリビューションを実行する従来のコンピュータ・システムである。別の実施形態では、ユーザ・デバイス110は、携帯情報端末(PDA)、携帯電話、スマートフォンなどのコンピュータ機能を有するデバイスとすることができる。ユーザ・デバイス110は、ネットワーク140を通じて通信するように構成される。ユーザ・デバイス110は、アプリケーション、例えば、ユーザ・デバイス110のユーザとソーシャル・ネットワーキング・システム130との相互作用を可能にするブラウザ・アプリケーシ
ョンを実行することができる。別の実施形態では、ユーザ・デバイス110は、iOS4およびアンドロイド(ANDROID(登録商標))などの、ユーザ・デバイス110のネイティブ・オペレーティング・システム上で実行するアプリケーション・プログラミング・インタフェース(API)を通じてソーシャル・ネットワーキング・システム130と相互作用する。ユーザ・デバイス110は、有線通信システムと無線通信システムの両方を使用して、ローカル・エリア・ネットワークおよび/またはワイド・エリア・ネットワークの組み合わせを含み得る、ネットワーク140を通じて外部システム120およびソーシャル・ネットワーキング・システム130と通信するように構成される。
一実施形態では、ネットワーク140は、標準通信技術および/プロトコルを使用する。したがって、ネットワーク140は、イーサネット(登録商標)(Ethernet(登録商標))802.11、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX)、3G、4G、CDMA、デジタル加入者回線(DSL)などの技術を使用するリンクを備えることができる。同様に、ネットワーク204上で使用されるネットワーキング・プロトコルとして、マルチプロトコル・ラベル・スイッチング(MPLS)、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)、ユーザ・データグラム・プロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)が挙げられる。ネットワーク140上で交換されるデータは、ハイパーテキスト・マークアップ言語(HTML)および拡張マークアップ言語(XML)を含む技術および/またはフォーマットを使用して表現され得る。それに加えて、リンクの全部または一部は、セキュア・ソケット・レイヤ(SSL)、トランスポート・レイヤ・セキュリティ(TLS)、およびインターネット・プロトコル・セキュリティ(IPsec)などの従来の暗号化技術を使用して暗号化され得る。
一実施形態では、ユーザ・デバイス110は、ブラウザ・アプリケーション112を使用して外部システム120から、またはソーシャル・ネットワーキング・システム130から受信されたマークアップ言語文書114を処理することによって外部システム120から、またはソーシャル・ネットワーキング・システム130からのコンテンツを表示する。マークアップ言語文書114は、コンテンツ、およびコンテンツのフォーマットまたは表現を記述する1つまたは複数の命令を識別する。マークアップ言語文書114に含まれる命令を実行することによって、ブラウザ・アプリケーション112は、マークアップ言語文書114によって記述されたフォーマットまたは表現を使用して示されたコンテンツを表示する。例えば、マークアップ言語文書114は、外部システム120および/またはソーシャル・ネットワーキング・システム130から取り出されたテキストおよび/または画像データを含む複数のフレームを有するウェブ・ページを生成し、表示するための命令を含む。さまざまな実施形態において、マークアップ言語文書114は、拡張マークアップ言語(XML)データ、拡張ハイパーテキスト・マークアップ言語(XHTML)データ、または他のマークアップ言語データを含むデータ・ファイルからなる。それに加えて、マークアップ言語文書114は、外部システム120とユーザ・デバイス110との間の軽量データ交換を円滑にするため、ジャバスクリプト・オブジェクト・ノテーション(JavaScript(登録商標)Object Notation(JSON))データ、パディング付きJSON(JSONP)、およびJavaScriptデータを含み得る。ユーザ・デバイス110上のブラウザ・アプリケーション112では、そのようなマークアップ言語文書を復号化するためにJavaScriptコンパイラを必要とする。
一実施形態では、ユーザ・デバイス110は、ユーザ・デバイス110のユーザがソーシャル・ネットワーキング・システム130にログインしたか否かを示すデータを含むクッキー116も備える。クッキー116は、ユーザ・デバイス110がソーシャル・ネッ
トワーキング・システム130とデータを交換するアクティブ・セッションにコンピューティング・デバイス110のユーザが関わっているか否かを示す。これにより、ソーシャル・ネットワーキング・システム130からユーザ・デバイス110に伝達されるデータを修正することが可能になる。ユーザ・デバイス110、ソーシャル・ネットワーキング・システム130、および/または外部システム120の間でデータを交換する際にクッキー116を使用することについて、図4を参照しつつ以下に説明する。
図1および他の図では、類似の参照番号を使用して類似の要素を識別する。「122a」などの参照番号の後の英字は、テキストがその特定の参照番号を有する要素を特に参照していることを示す。テキスト内に「122」など、英字が後に続かない数字がある場合、その参照番号を付けられた図中の要素のいずれか、またはすべてを指す(例えば、テキスト内の「122」は図中の参照番号「122a」および/または「122b」を指す)。説明を簡素化し、わかりやすくするため、図1には2つのウェブ・ページ122aおよび122bのみが示されている。
外部システム120は、ネットワーク140を使用してユーザ・デバイス110に伝達される、1つまたは複数のウェブ・ページ122を含む1つまたは複数のウェブ・サーバを備える。外部システム120は、ソーシャル・ネットワーキング・システム130とは別である。例えば、外部システム120は、第1のドメインに関連付けられるが、ソーシャル・ネットワーキング・ウェブサイトは、別のソーシャル・ネットワーキング・ドメインに関連付けられている。外部システム120内に含まれるウェブ・ページ122は、コンテンツを識別し、識別されたコンテンツのフォーマットまたは表示を指定する命令を含むマークアップ言語文書からなる。ウェブ・ページ122a内には、ウェブ・ページ上でユーザによって実行されているグラフ・アクションを識別する命令を与えるウィジェット124が含まれる。例えば、ユーザが外部システム120上の楽曲を再生するリンクをクリックすると、ウィジェット124は、グラフ定義モジュール132を使用してソーシャル・ネットワーキング・システム130上で定義されたオブジェクトおよびアクションの構造に応じて、グラフ・アクションおよびグラフ・オブジェクト、楽曲を再生するリンクのクリックを識別するためウェブ・ページ122aをレンダリングする命令をブラウザ・アプリケーション112に送る。同様に、外部システム120上で実行される、ゲームをする、商品を欲しい物リストに追加する、ビデオを視聴するなどの、他のタイプのグラフ・アクションは、ユーザ・デバイス110によるクリックの後に、ウィジェット124がグラフ定義モジュール132を使用してソーシャル・ネットワーキング・システム130上で定義されているオブジェクトおよびアクションの構造に応じてグラフ・アクションを識別する命令をブラウザ・アプリケーション112に送る動作を引き起こすリンクに関連付けられ得る。ウィジェット124は、一実施形態において、ソーシャル・ネットワーキング・システムによって定期的に取り出されるアクション・ログにグラフ・オブジェクト上で実行されるグラフ・アクションを記録することによってグラフ・アクションを識別することができる。別の実施形態では、ウィジェット124は、グラフ・アクションをソーシャル・ネットワーキング・システムにリアルタイムで伝達することによってグラフ・アクションを識別することができる。外部システム120は、ウェブ・ページ122bによって記述されているオブジェクト126も含み得る。サードパーティ・デベロッパーは、タグを使用して、マークアップ言語文書内のウェブ・ページ122bにオブジェクトを記述することができる。例えば、オブジェクト126は、タイトル、アーティスト名、および持続時間を有する楽曲とすることができる。タグは、曲名、アーティスト・オブジェクト、および持続時間を含むようにオブジェクト126を記述するために使用され得る。同様に、オブジェクト126は、名前、説明、および製品カテゴリを有する製品とすることができる。ウェブ・ページ122aは、リンク内のウェブ・ページ122bによって記述されたオブジェクト126を参照するウィジェット124を含み得る。例えば、ユーザが、オブジェクト126によって参照されている楽曲を再生するウェブ・ページ122a上
のリンクをクリックする。同様に、ユーザは、オブジェクト126によって参照されている製品を欲しい物オブジェクトに追加するウェブ・ページ122a上のリンクをクリックすることができる。
ソーシャル・ネットワーキング・システム130は、ソーシャル・ネットワーク、またはソーシャル・グラフを記憶する、複数のユーザからなる、およびソーシャル・ネットワークのユーザにソーシャル・ネットワークの他のユーザとのコミュニケーションおよび相互作用を行う機能を提供する、1つまたは複数のコンピューティング・デバイスからなる。ソーシャル・ネットワーキング・システム130は、図2に関して以下でさらに説明される。使用時に、ユーザはソーシャル・ネットワーキング・システム130に参加し、次いで、コネクションを望んでいるソーシャル・ネットワーキング・システム130の多数の他のユーザにコネクションを追加する。本明細書で使用されているように、「友達」という用語は、ソーシャル・ネットワーキング・システム130を通じてユーザが形成した接続(コネクション)先、関連付け先、または関係先であるソーシャル・ネットワーキング・システム130の他のユーザを指す。
コネクションは、ユーザによって明示的に追加され得るか、またはユーザの共通特性(例えば、同じ教育機関の同窓生であるユーザ)に基づきソーシャル・ネットワーキング・システム130によって自動的に作成され得る。例えば、第1のユーザは、特に、他のユーザを友達として選択する。ソーシャル・ネットワーキング・システム130内のコネクションは、通常、双方向であるが、そうである必要はなく、したがって、「ユーザ」および「友達」という用語は、基準のフレームに依存する。ソーシャル・ネットワーキング・システム130のユーザ間のコネクションは、通常二者間のもの、つまり「相互的」であるが、コネクションは、一者だけ、つまり「一方向」であってもよい。例えば、ボブ(Bob)とジョー(Joe)がソーシャル・ネットワーキング・システム130の両方のユーザであり、互いに接続されている場合、BobとJoeは、それぞれ他方のコネクションである。他方で、Bobが、Joeによってソーシャル・ネットワーキング・システムに伝達されるデータを見るためにJoeに接続することを望んでいるが、Joeは、相互コネクションを形成することを望んでいない場合、一方向コネクションが確立され得る。ユーザ間のコネクションは、直接的コネクションであってよいが、ソーシャル・ネットワーキング・システムのいくつかの実施形態では、コネクションは、1つまたは複数のレベルのコネクションまたは程度または分離距離を通じて間接的なものとすることができる。
ユーザ間のコネクションを確立し、維持すること、およびユーザ間の相互作用を可能にすることに加えて、ソーシャル・ネットワーキング・システム130では、ソーシャル・ネットワーキング・システム130によってサポートされているさまざまなタイプのアイテムにアクションを実行する機能をユーザに付与する。これらのアイテムとして、ソーシャル・ネットワーキング・システムのユーザが属し得るグループまたはネットワーク(ここで「ネットワーク」は物理的な通信ネットワークを指すのではなく、むしろ人々、エンティティ、およびコンセプトの社会的ネットワークを指す)、ユーザが関心を持つと思われるイベントまたはカレンダー・エントリ、ソーシャル・ネットワーキング・システム130を通じてユーザが使用することができるコンピュータベースのアプリケーション、サービスを通じて商品をユーザが売買することを可能にする取引、およびユーザがソーシャル・ネットワーキング・システム上で、またはソーシャル・ネットワーキング・システムから離れて実行することができる広告との相互作用が挙げられる。これらは、ユーザがソーシャル・ネットワーキング・システム上で作用できるアイテムの一例にすぎず、他の多くの例が考えられる。ユーザは、ソーシャル・ネットワーキング・システム130または外部システム120において表現され得る、ソーシャル・ネットワーキング・システム130から分離されることができる、ネットワーク140を通じてソーシャル・ネットワーキング・システム130に結合され得る何かと相互作用することができる。
ソーシャル・ネットワーキング・システム130は、さまざまなエンティティをリンクすることもできる。例えば、ソーシャル・ネットワーキング・システム130では、ユーザが互いに、さらには外部システム120または他のエンティティと、APIまたは他の通信チャネルを通じて相互作用することができる。したがって、ソーシャル・ネットワーキング・システム130は、複数のエッジによって相互接続されている複数のノードからなる「ソーシャル・グラフ」を生成し、維持する。ソーシャル・グラフのそれぞれのノードは、別のノードに作用し、および/または別のノードからの作用を受け得るエンティティを表し得る。ソーシャル・グラフは、さまざまなタイプのノードを含み得る。ノードのいくつかのタイプの例として、ユーザ、人間以外のエンティティ、コンテンツ・アイテム、ウェブ・ページ、グループ、イベント、メッセージ、コンセプト、およびソーシャル・ネットワーキング・システム130内のオブジェクトで表すことができる他のものが挙げられる。ソーシャル・グラフ内の2つのノード間のエッジは、これらのノードの一方によって他方のノードに対して実行されたアクションの結果生じ得る、2つのノード間の特定のタイプのコネクションを表す。例えば、第1のユーザが、第2のユーザを友達として識別したとき、第1のユーザを表すノードと第2のユーザを表す第2のノードとを接続するソーシャル・グラフ内のエッジが生成される。さまざまなノードが互いに相互作用するときに、ソーシャル・ネットワーキング・システム130は、さまざまなノード同士を接続するエッジを、それらの相互作用を反映するように修正する。
ソーシャル・ネットワーキング・システム130は、ユーザとソーシャル・ネットワーキング・システム130との相互作用を強化する、ユーザ生成コンテンツも含む。ユーザ生成コンテンツは、ユーザがソーシャル・ネットワーキング・システム130に追加、アップロード、送信、または「投稿」することができる何かを含むことができる。例えば、ユーザは、ユーザ・デバイス100からソーシャル・ネットワーキング・システム130への投稿を伝達する。投稿は、ステータス更新または他のテキスト・データ、ロケーション情報、写真、ビデオ、リンク、音楽、または他の類似のデータなどのデータおよび/メディアを含み得る。コンテンツは、ニュースフィードまたはストリームなどの、「通信チャネル」を通じてサードパーティによってソーシャル・ネットワーキング・システム130にも追加され得る。コンテンツ「アイテム」は、ソーシャル・ネットワーキング・システム130内のオブジェクトとして表される単一のコンテンツ部分を表す。この方法で、ソーシャル・ネットワーキング・システム130のユーザは、さまざまな通信チャネルを通じてさまざまなタイプのメディアのテキストおよびコンテンツ・アイテムを投稿すること、ユーザ同士の相互作用を向上すること、およびソーシャル・ネットワーキング・システム130とユーザが相互作用する頻度を増やすことによって互いのコミュニケーションを奨励される。
ソーシャル・ネットワーキング・システム130のユーザが外部システム120を利用するときに、外部システム120に対するアクションが取り込まれ、ソーシャル・ネットワーキング・システム130に報告され得る。さらに、外部システム120に対して実行されるアクションは、ソーシャル・ネットワーキング・システム130がアクションからセマンティックな意味を導出できるようにウィジェット124によって識別され得る。例えば、外部システム120上の楽曲を再生するリンクをクリックすると、ユーザがその楽曲を聴いたことを示すだけでなく、その楽曲がダンス・ミュージック・ジャンルで再生された100番目の楽曲であるためユーザがダンス・ミュージックを聴くことを好むことも示し得る。または、ユーザはその楽曲を歌うアーティストを聴くことを、ユーザがそのアーティストによる1000曲を超える楽曲を再生したため、楽しんでいると思われる。「聴く」、「再生する」、「楽曲」、「アーティスト」、および「ジャンル」などのコンセプト間のセマンティックな意味は、ソーシャル・ネットワーキング・システム130が意味を導出するための構造を構成することによって実現される。ソーシャル・ネットワーキ
ング・システム130は、アクションおよびオブジェクトをソーシャル・グラフ内で定義することを可能にするグラフ定義モジュール132を備える。グラフ・アクション・モジュール134は、楽曲を聴く、靴を購入する、または映画を批評するなど、ユーザによって実行され得るグラフ・アクションを定義する。グラフ・オブジェクト・モジュール136は、楽曲、ラジオ放送局、製品、映画、および同様のものなどの、ユーザからの作用を受け得るグラフ・オブジェクトを定義する。
グラフ定義モジュール132は、サードパーティ・デベロッパーが動詞時制および名詞形、関係するグラフ・オブジェクト、およびデータ視覚エフェクトテンプレートを含む、グラフ・アクションおよびグラフ・オブジェクトのプロパティを定義することを可能にする。サードパーティ・デベロッパーは、「聴く」アクションなどの、グラフ・アクションを、過去、現在、単数形、および複数形の動詞時制を有するように定義することができる。同様に、「楽曲」オブジェクトなどの、グラフ・オブジェクトは、単数および複数名詞形、さらには「アーティスト」オブジェクトおよび「ジャンル」オブジェクトなどの、他のオブジェクトを含むオブジェクト・プロパティを有するように定義され得る。動詞時制および名詞形を定義することによって、ストーリをソーシャル・ネットワーキング・システムのユーザに伝達するためソーシャル・ネットワーキング・システムによりグラフ・オブジェクト上でグラフ・アクションを実行するユーザのテキスト記述が自動的に生成され得る。一実施形態では、グラフ・アクションおよびグラフ・オブジェクトを含むストーリは、動詞時制および名詞形の定義に基づき異なる言語に翻訳され得る。アクション・タイプは、一実施形態では、グラフ定義モジュール132に関連するソーシャル・ネットワーキング・システム130上でユーザ・インタフェース・ツールを使用してサードパーティ・デベロッパーによって定義され得る。アクション・タイプが、特定のオブジェクト・タイプに対して実行されるようにアクション・タイプを構成することを伴う、ユーザ・インタフェース・ツールを使用してサードパーティ・デベロッパーによって定義された後、ソーシャル・ネットワーキング・システム130は、そのアクション・タイプにアクセスする外部システム120にウェブ・ページを公開することができる。別の例として、「購入する」アクション・タイプは、「製品」オブジェクト・タイプ上で実行され、「欲しい物リスト」オブジェクト・タイプなどの、他のオブジェクト・タイプに関連付けられ得るサードパーティ・デベロッパーによって定義され得る。サードパーティ・デベロッパーは、外部システム120上にウェブ・ページ122aを生成することができ、一方のウェブ・ページ122bは、「製品」オブジェクト・タイプのオブジェクト126、およびユーザが外部システム120上でユーザの欲しい物リストにある製品を購入することを可能にするウィジェット124を有する別のウェブ・ページ122aを含み、ウィジェット124は、「製品」オブジェクト上で実行される「購入する」アクションを記録する。
オブジェクトおよびアクションに構造化クエリを使用してアーティストによる特定の1つまたは複数の楽曲の演奏の頻度を集計するなどの、分析がコンセプトに対して実行され得る。これらの集計は、ソーシャル・ネットワーキング・システム130上のストリームでニュースフィード・ストーリとして公開され得るか、ユーザを比較するために外部システム上のアプリケーションによって使用され得るか、または多数の方法で使用され得る。グラフ公開API138は、ユーザによって外部システム上で実行されるアクションを受け取り、集計などの、オブジェクトおよびアクションの定義済みプロパティを使用して外部ユーザ・アクションをソーシャル・グラフに公開する。一実施形態では、サードパーティ・デベロッパーは、グラフ定義モジュール132を利用して、ソーシャル・グラフにおけるグラフ・オブジェクトおよびグラフ・アクションのプロパティを定義する。別の実施形態では、ソーシャル・ネットワーキング・システム130の管理者が、ソーシャル・グラフ内のグラフ・オブジェクトおよびグラフ・アクションのプロパティを定義する。グラフ・オブジェクトおよびグラフ・アクションは、いくつかの実施形態ではグローバルに定義され得るため、管理者は、均一性のためいくつかのグラフ・オブジェクトおよびグラフ
・アクションの初期プロパティを定義することができる。他の実施形態では、特定のオブジェクトおよびアクションは、異なるプロパティを備えることができ、また違いは、標準設定委員会によって、または合意によって調整され得る。いくつかのオブジェクトおよびアクションは、ソーシャル・ネットワーキング・システムの管理者またはサードパーティ・デベロッパーによって後で定義されおよび/または調整され得る未定義のプロパティを有することができる。
ユーザ・デバイス110は、外部システム120から受信されたマークアップ言語文書114を解釈するブラウザ・アプリケーション112を含み得る。マークアップ言語文書114は、ウィジェット124を含む、ウェブ・ページ122a内のコンテンツを記述するメタ情報を含む1つまたは複数のタグを含む。タグは、ソーシャル・ネットワーキング・システム130内のオブジェクトに関するタイトル、タイプ、ラベル、一意的な識別子、マイクロ・フォーマット、および/または他の記述などの、オブジェクトに関する記述を提供することができる。例えば、マークアップ言語文書114は、ユーザがバーチャル・スノーマンを作り、ソーシャル・ネットワーキング・システム130上でカスタマイズされたバーチャル・スノーマンを共有することを可能にするアプリケーションへのリンクを含む。オブジェクト126は、外部システム120上のウェブ・ページ122bに記載されているサードパーティ・デベロッパーによってスノーマン・オブジェクトについて定義され得る。スノーマン・オブジェクトは、例えば、トウモロコシの穂軸のパイプ、ボタンの鼻、および石炭で作られた2つの目を含むオブジェクト・プロパティを有することができる。スノーマン・オブジェクトのオブジェクト・プロパティを記述するためにタグが外部システム120のウェブ・ページ122b上で使用され得る。これらのタグにより、ウェブ・ページ122b内に定義された構造に基づきソーシャル・ネットワーキング・システム130内に構造化オブジェクトを作成することができる。他の実施形態では、オブジェクト126を記述するタグは、データベース、ファイル、または他のタイプのフォーマットに記憶され得る。サードパーティ・デベロッパーは、より多くのオブジェクト・プロパティに対応するより多くのタグを追加することによってカスタム・オブジェクトの定義を拡張することができる。ユーザ・デバイス110が、マークアップ言語文書114を解釈し、リンクをクリックするなどのユーザ入力を受け取るブラウザ・アプリケーション112を実行すると、ブラウザ・アプリケーション112は、マークアップ言語文書114を含むウェブ・ページ122a内のウィジェット124によって参照されるようなオブジェクト126を記述するウェブ・ページ122b内の情報にアクセスすることができる。その結果、ソーシャル・ネットワーキング・システム130上で作成されたグラフ・オブジェクトは、オブジェクト126を記述するタグを含むウェブ・ページ122b内に定義されたオブジェクト・プロパティを有する。これにより、外部システム120は、ソーシャル・ネットワーキング・システム130によって利用されるソーシャル・グラフ内にオブジェクトを定義し、作成し、維持することができる。
一実施形態では、ウェブ・ページ122aは、ユーザ・デバイス110のブラウザ・アプリケーション112によって実行されたときに、グラフ定義モジュール132によって定義されるようなソーシャル・グラフ構造に対応するウェブ・ページ122a内でユーザによって実行されるアクションを記録し、報告し、さらに、ウェブ・ページ122a内でソーシャル・ネットワーキング・システム130から社会的に関連する情報を取り出し、表示する命令からなるウィジェット124を含む。例えば、ウィジェット124は、インターネット・ラジオ・ウェブサイト上で次の楽曲にスキップすることに関連するリンクの選択を取り込む命令を備えることができる。セマンティックには、現在再生中の楽曲をスキップするリンクの選択は、ユーザがその楽曲に関心を持っていないか、または好きでないことを示すものとしてよい。この情報は、ウィジェット124がイベントを取り込み、その情報をソーシャル・ネットワーキング・システム130に渡すことができるようにアクション・タイプを記述するソーシャル・ネットワーキング・システム130上のウェブ
・ページ内でタグ付けされ得る。したがって、ユーザが、「漕げ漕げお舟(Row, row, row your boat)」と呼ばれる楽曲をスキップした場合、「スキップ」リンクの選択に関連付けられているタグが、ソーシャル・ネットワーキング・システム130に対して、ユーザが、アクション、「スキップ」がソーシャル・ネットワーキング・システム130においてどのように定義されているかに応じて、その楽曲、その楽曲を歌っているアーティスト、または楽曲のジャンルを好んでいないことを指示することができる。
一実施形態では、ウィジェット124は、外部システム120上で実行されるアクションをリアルタイムでソーシャル・ネットワーキング・システム130に報告する。ウィジェット124は、電子メール、SMSメッセージング、リアルタイム・チャット・メッセージング、通知、ニュースフィード、ストリーム、およびモバイル・デバイス上で動作しているアプリケーションによって解釈され得るAPIイベントを含む、複数の通信チャネルを通じてソーシャル・ネットワーキング・システム130の他のユーザにアクションを伝達する命令を含むものとされてよい。別の実施形態では、ウィジェット124は、エントリをソーシャル・ネットワーキング・システム130によって後で取り出せるアクション・ログ内に作成する。グラフ公開API138は、受け取った情報を整理、組み立てし(アセンブルし)、ソーシャル・ネットワーキング・システム130によって提供されるテンプレート、またはサードパーティ・デベロッパーによって作成されるカスタマイズされた視覚エフェクトに基づきソーシャル・ネットワーキング・システム130内のストリームに対するニュースフィード・ストーリまたはコンテンツを生成する。ウィジェット124は、ウェブ・ページ122aがユーザ・デバイス110のブラウザ・アプリケーション112によってレンダリングされ、表示されるときに外部システム120からのウェブ・ページ122aでソーシャル・ネットワーキング・ウェブサイト130からのパーソナライズされたコンテンツを提供することも可能にする。ウィジェット124は、ブラウザ・アプリケーション112が、現在再生中の楽曲を最近聴いた友達など、ソーシャル・ネットワーキング・システム130からの社会的に関連性のある情報を含むウェブ・ページ122a内のフレームを生成する命令を含む。ウェブ・ページ122b内のオブジェクト126を記述するタグを使用することで、ウィジェットは、ソーシャル・ネットワーキング・システム130と通信して、同じオブジェクト126、すなわち、ウェブ・ページ122a上の現在再生中の楽曲と相互作用した視聴ユーザに接続された他のユーザを識別することができる。ウィジェット124が視聴ユーザに接続されている他のユーザを識別した後、他のユーザに関する情報が、ソーシャル・ネットワーキング・システム130から取り出され、外部システム120上のウェブ・ページ122a内のフレームの中に表現され得る。この情報は、同じオブジェクト126と相互作用した他のユーザの名前およびプロファイル写真も含み得る。
ソーシャル・ネットワーキング・システム130は、グラフ・コンテンツ・アイテム順位付けモジュール150およびグラフ統合モジュール160も備える。グラフ・コンテンツ・アイテム順位付けモジュール150は、外部システムおよび/またはソーシャル・ネットワーキング・システム上のユーザの相互作用の結果得られるグラフ・アクションおよびグラフ・オブジェクトから整理、組み立てされたコンテンツ・アイテムを分析する。分析結果に基づき、グラフ・コンテンツ・アイテムは、関連性および品質に応じて順位付けされ、これにより、ユーザ経験が改善される。グラフ・コンテンツ・アイテム順位付けモジュール150は、ソーシャル・ネットワーキング・システム130の視聴ユーザに対してグラフ・コンテンツ・アイテムを順位付けする際に、グローバルファクタおよびユーザ特有の複数のファクタを利用することができる。グラフ統合モジュール160は、外部システム120上のユーザによってソーシャル・ネットワーキング・システム130上のインタラクティブ要素として生成される構造化アクションおよびオブジェクトを統合する。例えば、音楽制御ユーザ・インタフェースは、ソーシャル・ネットワーキング・システム
のユーザがユーザのローカル・コンピュータ・システムで動作するアプリケーション、ストリーミング音楽サービスなどの外部システムで動作するアプリケーション、インターネット・ラジオ放送局、または購入した音楽がローカル・コンピュータの代わりに外部システム上に記憶される「クラウド・ベース」音楽サービスなど、外部システム上で現在再生中の音楽を再生または一時停止することを可能にする2つのボタンを備えることができる。
異なる外部システム120は、構造化アクションおよびオブジェクトの均一な集合がソーシャル・ネットワーキング・システムの管理者またはサードパーティ・デベロッパーによって定義されているため、音楽制御ユーザ・インタフェースを通じてソーシャル・ネットワーキング・システム130のユーザに音楽を提供することができる。ソーシャル・ネットワーキング・システム130は、一実施形態において、複数の異なる外部システム120によって生成され得る、楽曲などのオブジェクトの重複をなくすことができる。例えば、第1のユーザは、iTunesなどの、音楽サービス上で楽曲を聴くことができ、楽曲オブジェクト上で実行される聴くアクション・インスタンスは、ソーシャル・ネットワーキング・システム130の他のユーザと共有され得る。次いで、第2のユーザは、RDIOなどの、異なる音楽加入サービス上で同じ楽曲を聴くことができるが、それは、ソーシャル・ネットワーキング・システム130がタイトル、アーティスト名、および持続時間を含む、楽曲オブジェクトのオブジェクト・プロパティを認識しており、ソーシャル・ネットワーキング・システム130において楽曲に対するバーチャル・オブジェクトを作成しているからである。その結果、第2のユーザが、アーティスト「レディー・ガガ(Lady Gaga)」による「ボーン・ディス・ウェイ(Born This Way)」に対する楽曲オブジェクト上で実行される第1のユーザの聴くアクション・インスタンスを視聴するときに、ソーシャル・ネットワーキング・システム130は、第1のユーザによって作成された楽曲オブジェクトを楽曲オブジェクトに対するバーチャル・オブジェクトに自動的にマッピングしている。次いで、第2のユーザは、Spotifyなどの、異なる音楽加入サービスを使用してその楽曲を聴くことができる。このようにして、ソーシャル・ネットワーキング・システム130は、類似のオブジェクトを認識し、異なる外部システム120上で異なるタグを使用して潜在的に定義される、異なるドメイン間の類似のオブジェクトを表すバーチャル・オブジェクトを生成することができる。これにより、ソーシャル・ネットワーキング・システム130は、アクションおよびオブジェクトのインスタンスを集約し、すべてのニュース報告ウェブサイト間でソーシャル・ネットワーキング・システム130上のユーザの友達ネットワーク内で共有されるトップニュース記事、すべての音楽加入プラットフォームおよびサービス間でユーザまたはユーザの定義済みグループが聴く音楽のトップジャンル、およびビデオ・ストリーミング・サービス上でソーシャル・ネットワーキング・システム130上のユーザが見る最高視聴率の映画などの、興味深いストーリを作成することができる。また、これにより、ソーシャル・ネットワーキング・システム130はソーシャル・グラフを正しく構築することができ、したがって、ユーザと映画「トランスフォーマー(Transformers)」との間のエッジが、ユーザとNetflixなどの、特定のビデオ・ストリーミング・サービスによって配信されるような映画「Transformers」との間のエッジの代わりに作成される。音楽制御インタフェースを通じて、楽曲オブジェクト、アーティスト・オブジェクト、ジャンル・オブジェクト、聴くアクション、スキップするアクション、および同様のものを含む、グラフ・オブジェクトおよびグラフ・アクションが、楽曲をユーザが聴くときに生成される。一実施形態では、アーティスト・オブジェクトおよび楽曲オブジェクトは、ソーシャル・ネットワーキング・システム130、さらには図3Aに説明されているような他の関係するオブジェクト上に記憶され、インデックスを付けられ得る。異なるドメインおよび異なるウェブサイトを有する異なる外部システム120からの楽曲オブジェクトは、重複しないように固有の1つの楽曲に対するバーチャル楽曲オブジェクトにされているため、ソーシャル・ネットワーキング・システム130は、固有の楽曲に対するバ
ーチャル楽曲オブジェクトとの相互作用として異なる外部システム120からの楽曲オブジェクトとのユーザ相互作用を記憶し、インデックスを付けることができる。概して、ニュース記事、映画、およびテレビ番組などの類似の異なるサイトおよびドメインからのグラフ・オブジェクトは、タイトル、持続時間、単語数、ディレクタ、制作年、などを含む、グラフ・オブジェクトのオブジェクト・プロパティをマッピングすることによって同様に重複しないようにされ得る。ソーシャル・ネットワーキング・システム130は、ソーシャル・ネットワーキング・システム130のユーザの相互作用をソーシャル・グラフに正しくマッピングすることを可能にするように類似のオブジェクトに対するバーチャル・オブジェクトを記憶し、インデックスを付けることができる。ソーシャル・ネットワーキング・システム130のユーザは、グラフ・オブジェクト内でコメントすること、共有すること、賛同(「いいね」)を表明すること、および他のユーザをタグ付けすることを含む、ソーシャル・ネットワーキング・システム上の他のオブジェクトのようにソーシャル・ネットワーキング・システム130上に記憶され、インデックスを付けられているグラフ・オブジェクトと相互作用することができる。この方法で、ユーザは、特定の楽曲、アーティスト、ラジオ放送局、音楽のジャンル、映画、ニュース記事、俳優、ディレクタ、放送会社、またはソーシャル・ネットワーキング・システム130において定義されているグラフ・オブジェクトに関する対話を有し、経験を共有することができる。
グラフ統合モジュール160は、ソーシャル・ネットワーキング・システム130のユーザがインターネット・ラジオ放送局上の音楽再生など、外部オブジェクトと協力的に相互作用することを可能にするユーザ・インタフェースを備えることもできる。グラフ統合モジュール160によって提供されるユーザ・インタフェースは、視聴ユーザが視聴ユーザに接続されている別のユーザから「また聞き」することを可能にする。一実施形態では、ソーシャル・ネットワーキング・システム130のユーザのグループは、1つまたは複数の外部システム120上にホストされている同じラジオ放送局、音楽プレイリスト、またはアルバムを協力的に聴くことができる。グループ内の何人かのユーザが、管理者として指定され、別のラジオ放送局、音楽プレイリスト、またはアルバムに切り替えることを選択することができる。別の実施形態では、楽曲は、2人のユーザによってソーシャル・ネットワーキング・システムの2人のユーザ間で関係ページについて選択され得る。さらに別の実施形態では、バースデー・パーティ、音楽コンサート、および同窓会などの、ソーシャル・ネットワーキング・システム130上のユーザ生成イベントは、プレイリスト、ラジオ放送局、およびグラフ統合モジュール160によって提供されるユーザ・インタフェースを使用して複数の外部システム120から集められたアルバムを含むことができる。さらなる実施形態において、グラフ統合モジュール160は、グラフ・オブジェクトおよびグラフ・アクションをソーシャル・ネットワーキング・システム130上のユーザのプロファイルに表示され得るユーザ・インタフェースに集約することができる。このユーザ・インタフェースは、ユーザの最近のアクション、ユーザのトップ・アーティスト、楽曲、アルバム、プレイリスト、およびラジオ放送局を含み得る。ユーザ・インタフェースは、別のユーザのプロファイルの視聴ユーザがユーザ・インタフェースからの楽曲、ソーシャル・ネットワーキング・システム130上のそのユーザのプロファイル・ページ上のユーザ・インタフェースから外部システム120上にホストされたストリーミング音楽を聴くことを可能にし、その一方で、視聴ユーザのプロファイルに対してグラフ・オブジェクト上にグラフ・アクションを生成することができる。このようにして、外部ユーザ相互作用は、ソーシャル・ネットワーキング・ユーザ経験に統合される。
図1Bは、本発明の一実施形態による、ソーシャル・ネットワーキング・システムの外部で外部ユーザ・アクションから生成されるグラフ・コンテンツ・アイテムを順位付けするための方法のハイレベルブロック図である。ここで、複数の外部システム120が、グラフ・コンテンツ・アイテム順位付けモジュール150が受け取るグラフ・データ142を生成する。一実施形態では、グラフ・データ142は、アクションが取り込まれたとき
の日時、アクションに関連付けられているオブジェクト(ユーザを含む)、アクションが実行された場所(複数可)、および同様のもの、さらには、外部システム120上に生成されたアクションおよびオブジェクトなどの、外部システム120上に生成されたアクションおよびオブジェクトに関する情報を含む。グラフ・コンテンツ・アイテム順位付けモジュール150は、アクションおよびオブジェクトに関する情報を利用して、グラフ・コンテンツ・アイテム・オブジェクト152に対する順位付けスコアを生成する。これらの順位付けスコアは、ソーシャル・ネットワーキング・システム130のユーザのストリーム内のニュースフィード・ストーリを順位付けしてより関連性の高いニュースフィード・ストーリをそれらのストリーム内でより高い位置に表示するために使用され得る。順位付けスコアは、楽曲、映画、テレビ番組、ニュース記事、ゲーム・アプリケーション、および同様のものなどの、視聴ユーザに接続されているソーシャル・ネットワーキング・システムの他のユーザによる相互作用を受けるグラフ・オブジェクトに基づき推奨されるグラフ・オブジェクトを視聴ユーザに通知する外部システム120に組み込まれている推奨プラグインによっても使用され得る。これは、より関連性の高いグラフ・オブジェクトがユーザに対して表示され、それによりソーシャル・ネットワーキング・システムのユーザの関与が高まるため、ソーシャル・ネットワーキング・システムのユーザに対するユーザ経験を改善する。
ソーシャル・ネットワーキング・システム130のユーザを、望ましくないアプリケーションがそれらのユーザ経験においてコンテンツ・アイテムでそれらに「スパムを送る」ことから保護するために、外部システム120上で生成されたコンテンツ・アイテム、またはアプリケーションは、グローバルファクタ、ユーザ特有のファクタ、および推奨されるスコアを含む、選択されたファクタに応じてグラフ・コンテンツ・アイテム順位付けモジュール150によって順位付けされる。グローバルファクタは、一実施形態では、ソーシャル・ネットワーキング・システム130に関して「グローバル」であると考えられ得る。グローバルファクタは、アプリケーションがスパムであることが既知であるのか、信頼できることが既知であるのか、さらにはソーシャル・ネットワーキング・システム130間のアプリケーションの品質の測定を含み得る。別の実施形態では、グローバルファクタは、スパマーに関する知識をグローバルファクタに組み込むことによってインターネットに関して「グローバル」である。ユーザ特有のファクタは、ユーザがアプリケーションに関わっているか、ユーザがアプリケーションをソーシャル・ネットワーキング・システム130にインストールしたか、およびユーザの他の特性を含む。最後に、推奨エンジンが、類似のコンテンツ・アイテムおよびその類似度を視聴ユーザに表示したソーシャル・ネットワーキング・システム130の他のユーザの相互作用に基づきコンテンツ・アイテムに対する推奨スコアを計算する。これらのファクタと推奨スコアとの組み合わせを使用して、外部システム120上に外部ユーザ相互作用を組み込みながらユーザ経験を改善することができる。一実施形態では、グラフ・コンテンツ・アイテム順位付けモジュール150は、視聴ユーザへの推奨楽曲へのユーザ・インタフェースの視聴ユーザに対する聴くアクション、楽曲オブジェクト、およびアーティスト・オブジェクトを含むコンテンツ・アイテムを順位付けすることができる。
図2は、ソーシャル・ネットワーキング・システム130の一実施形態の図である。図2に示されているソーシャル・ネットワーキング・ウェブサイト130の実施形態は、ウェブ・サーバ210、アクション・ロガー224、API要求サーバ220、アクティビティ・ログ226、ユーザ・プロファイル・ストア212、コネクション・ストア214、グラフ・オブジェクト・タイプ・ストア216、グラフ・アクション・タイプ・ストア218、グラフ定義モジュール132、グラフ公開API138、グラフ取り出しモジュール222、承認サーバ228、グラフ・コンテンツ・アイテム・オブジェクト・ストア230、グラフ・コンテンツ・アイテム順位付けモジュール150、グラフ統合モジュール160、グラフ・データ・ストア232、およびグラフ翻訳モジュール234を備える
。他の実施形態において、ソーシャル・ネットワーキング・ウェブサイト130は、さまざまなアプリケーションに対して、追加の、より少数の、または異なるモジュールを備えることができる。ネットワーク・インタフェース、セキュリティ・メカニズム、ロード・バランサー、フェイルオーバ・サーバ、管理およびネットワーク運用コンソール、および同様のものなどの従来のコンポーネントは、システムの詳細をわかりにくくしないために、図示されていない。
ユーザ・プロファイルは、ユーザによって宣言された、またはソーシャル・ネットワーキング・システム130によって推論された実務経験、教育経歴、趣味または選好、場所、および同様のものなどの、伝記、人口統計学、および他のタイプの記述情報を含む。この情報は、それぞれのユーザが一意に識別されるようにユーザ・プロファイル・ストア212内に記憶される。ソーシャル・ネットワーキング・システム130は、コネクション・ストア214における異なるユーザ間の1つまたは複数のコネクションを記述するデータも記憶する。コネクション情報は、類似のまたは共通の実務経験、集団の帰属関係、趣味、または教育経歴を有するユーザを示すことができる。それに加えて、ソーシャル・ネットワーキング・システム130は、異なるユーザ間のユーザ定義コネクションを含み、これにより、ユーザは他のユーザとの関係を指定することができる。例えば、ユーザ定義コネクションにより、ユーザは、友達、同僚、パートナなどの、ユーザの現実の関係と並行する他のユーザとの関係を生成することができる。ユーザは、定義済みタイプのコネクションから選択するか、または必要に応じて自身のコネクションのタイプを定義することができる。人間以外のエンティティ、利害関係、ページ、外部システム、コンセプト、および同様のものなどのソーシャル・ネットワーキング・システム130内の他のノードとのコネクションも、コネクション・ストア214内に記憶される。
ウェブ・サーバ210は、ソーシャル・ネットワーキング・システムを1つまたは複数のユーザ・デバイス110および/または1つまたは複数の外部システム120にネットワーク140を通じてリンクする。ウェブ・サーバ210は、ウェブ・ページ、さらにはJava(登録商標)、Flash(登録商標)、XMLなどの他のウェブ関係コンテンツを提供する。ウェブ・サーバ210は、ソーシャル・ネットワーキング・システム130と1つまたは複数のユーザ・デバイス110との間のメッセージの受信およびルーティングを行うためのメール・サーバまたは他のメッセージング機能を備えることができる。メッセージは、インスタント・メッセージ、キューに入っているメッセージ(例えば、電子メール)、テキストおよびSMSメッセージ、または他の好適なメッセージング・フォーマットであってもよい。
アプリケーション・プログラミング・インタフェース(API)要求サーバ220を使用することで、1つまたは複数の外部システム120およびユーザ・デバイス110は1つまたは複数のAPIを呼び出すことによってソーシャル・ネットワーキング・システム130から情報にアクセスすることができる。API要求サーバ220は、外部システム120がAPIを呼び出すことによってソーシャル・ネットワーキング・ウェブサイトに情報を送信することも可能にし得る。一実施形態では、外部システム120は、ネットワーク140を通じてソーシャル・ネットワーキング・システム130にAPI要求を送信し、API要求サーバ220がそのAPI要求を受信する。API要求サーバ220は、適切な応答を生成するAPI要求に関連付けられているAPIを呼び出すことによって要求を処理し、API要求サーバ220は、ネットワーク140を通じて外部システム120と通信する。例えば、API要求への応答として、API要求サーバ220は、外部システム120にログインしたユーザのコネクションなどの、ユーザに関連付けられているデータを収集し、収集されたデータを外部システム120に伝達する。別の実施形態では、ユーザ・デバイス110は、外部システム120と同様にAPIを通じてソーシャル・ネットワーキング・システム130と通信する。
アクション・ロガー224は、ソーシャル・ネットワーキング・システム130上で、および/またはそこから離れてユーザ・アクションに関する通信をウェブ・サーバ210から受け取ることができる。アクション・ロガー224は、アクティビティ・ログ226に、ユーザ・アクションに関する情報を設定し、これにより、ソーシャル・ネットワーキング・システム130は、ソーシャル・ネットワーキング・システム130内の、またソーシャル・ネットワーキング・システム130の外部のユーザによって実行されるさまざまなアクションを発見することができる。特定のユーザがソーシャル・ネットワーキング・システム130上の別のノードに関して実行するアクションは、アクティビティ・ログ226に、または類似のデータベースまたは他のデータ・リポジトリ内に維持されている情報を通じて、それぞれのユーザのプロファイルに関連付けられる。識別され、記憶されているソーシャル・ネットワーク130内のユーザによって実行されるアクションの例として、例えば、コネクションを別のユーザに追加すること、メッセージを別のユーザに送信すること、別のユーザからメッセージを読み取ること、別のユーザに関連付けられているコンテンツを見ること、別のユーザによって投稿されたイベントに参加すること、または別のユーザと相互作用する他のアクションが挙げられる。ユーザがソーシャル・ネットワーキング・システム130内でアクションを実行すると、アクションはアクティビティ・ログ226に記録される。一実施形態では、ソーシャル・ネットワーキング・システムは、アクティビティ・ログ226をエントリのデータベースとして維持する。アクションがソーシャル・ネットワーキング・システム130内で実行されると、アクションのエントリがアクティビティ・ログ226に追加される。一実施形態では、アクティビティ・ログ226は、アクション・ログと称され得る。
それに加えて、ユーザ・アクションは、ソーシャル・ネットワーキング・システム130から分離している外部システム120などの、ソーシャル・ネットワーキング・システム130の外部のエンティティ内に出現するコンセプトおよびアクションに関連付けられ得る。例えば、アクション・ロガー224は、ユーザと外部システム120との相互作用を記述するデータをウェブ・サーバ210から受信することができる。この例では、外部システム120は、ソーシャル・グラフ内の構造化アクションおよびオブジェクトによるユーザの相互作用を報告する。受け取った相互作用は、一実施形態では、グラフ定義モジュール132によって定義されたグラフ・オブジェクトおよびグラフ・アクションを含むことができる。アクション・ロガー224は、グラフ・アクションおよびグラフ・オブジェクトの定義に応じて受け取った相互作用を解釈する。例えば、アクション・ロガー224は、ユーザの一意的な識別子、「聴く」と称されるグラフ・アクション、および「楽曲」と称されるグラフ・オブジェクトを含む相互作用を受け取ることができる。アクティビティ・ログ226には、この受信した情報が収められる。ユーザが外部システム120と相互作用するアクションの他の例として、ユーザが外部システム120または別のエンティティへの関心を表明すること、ユーザが外部システム120または外部システム120内のウェブ・ページ122aを説明するコメントをソーシャル・ネットワーキング・システム130に投稿すること、ユーザがソーシャル・ネットワーキング・システム130に外部システム120と関連付けられているユニフォーム・リソース・ロケータ(URL)または他の識別子を投稿すること、ユーザが外部システム120または外部システム120に関係するユーザによる他のアクションに関連付けられたイベントに参加することが挙げられる。したがって、アクティビティ・ログ226は、ソーシャル・ネットワーキング・システム130のユーザとソーシャル・ネットワーキング・システム130とは別の外部システム120との間の相互作用を記述するアクションを含み得る。
承認サーバ228は、ソーシャル・ネットワーキング・システム130のユーザの1つまたは複数のプライバシー設定を強制する。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有され得るかを決定する。プライバシー設定は
、ユーザに関連付けられている特定の情報の指定および情報の共有先となり得る1つまたは複数のエンティティの指定からなる。情報の共有先となり得るエンティティの例として、他のユーザ、アプリケーション、外部システム120、または情報に潜在的にアクセス可能であるエンティティが挙げられる。ユーザによって共有され得る情報は、プロファイル写真などのプロファイル情報、ユーザに関連付けられている電話番号、ユーザのコネクション、コネクションを追加する、ユーザ・プロファイル情報を変更するなどのユーザによって実行されるアクション、および同様のものからなる。
プライバシー設定指定は、異なる粒度レベルで構成され得る。例えば、プライバシー設定では、他のユーザと共有される特定の情報を識別することができる。例えば、プライバシー設定では、仕事用電話番号またはプロファイル写真、自宅の電話番号、および役職を含む個人情報などの関連性のある情報の特定の組を識別する。あるいは、プライバシー設定は、ユーザに関連付けられているすべての情報に適用され得る。特定の情報にアクセスすることができるエンティティの組の指定も、さまざまな粒度レベルで指定され得る。情報の共有先となり得るエンティティのさまざまな組として、例えば、ユーザのすべての友達、友達のすべての友達、すべてのアプリケーション、またはすべての外部システム120が挙げられる。一実施形態では、エンティティの組の指定はエンティティの列挙からなるものとしてよく、例えば、ユーザは、特定の情報にアクセスすることを許されている外部システム120のリストを提供することができる。別の実施形態では、指定は情報にアクセスすることを許されていない例外のあるエンティティの組からなるものとしてよい。例えば、ユーザは、すべての外部システム120がユーザの仕事情報にアクセスするが仕事情報にアクセスすることを許されていない外部システム120のリストを指定することを許すことができる。いくつかの実施形態では、ブロック・リストの特定の情報にアクセスすることを許されていない例外のリストを呼び出す。ユーザによって指定されたブロック・リストに属す外部システム120は、プライバシー設定で指定された情報にアクセスすることからブロックされる。情報の指定の粒度と情報の共有先となるエンティティの指定の粒度のさまざまな組み合わせが可能である、つまり、すべての個人情報が友達と共有され得るが、すべての仕事情報は友達の友達とは共有され得ない。
承認サーバ228は、ユーザに関連付けられている特定の情報がユーザの友達、外部システム120、および/または他のアプリケーションおよびエンティティによってアクセスできるか否かを決定するロジックを含む。外部システム120に関連付けられているURLに関するユーザのコメントにアクセスすることを試みる外部システム120は、ユーザの仕事用電話番号などのユーザのよりプライベートな、より機密の情報にアクセスために承認サーバ228からの承認を必要とする場合もある。ユーザのプライバシー設定に基づき、承認サーバ228は、別のユーザ、外部システム120、アプリケーション、または別のエンティティがユーザによって実行されるアクションに関する情報を含む、ユーザに関連付けられている情報にアクセスすることを許されているか否かを決定する。一実施形態では、承認サーバ228は、ユーザ・プライバシー設定を使用して、外部システム120に関連付けられているURLに関するユーザのコメントが外部システム120によってアクセスされ得るか否かを決定する。ユーザのプライバシー設定は、他のユーザまたは他のエンティティのうちのいずれがユーザのアクションに関するデータまたはユーザに関連付けられている他の情報を受け取ることを許されているかを指定することができる。
それに加えて、ソーシャル・ネットワーキング・システム130は、ソーシャル・ネットワーキング・システム130を使用することでユーザが相互作用することができるオブジェクトに関するデータを維持する。このデータを維持するために、ユーザ・プロファイル・ストア212およびコネクション・ストア214がソーシャル・ネットワーキング・システム130によって維持される対応するタイプのオブジェクトのインスタンスを記憶する。それぞれのオブジェクト・タイプは、オブジェクトのタイプに適している情報を記
憶するのに適している情報フィールドを有する。例えば、ユーザ・プロファイル・ストア212は、ユーザのプロファイルを記述するのに適しているフィールドを有するデータ構造体を含む。特定のタイプの新しいオブジェクトが作成されると、ソーシャル・ネットワーキング・システム130は、対応するタイプの新しいデータ構造体を初期化し、一意的なオブジェクト識別子をそれに割り当て、必要に応じてオブジェクトにデータを追加することを開始する。これは、例えば、ユーザがソーシャル・ネットワーキング・システム130のユーザになり、ソーシャル・ネットワーキング・システム130がユーザ・プロファイル・ストア212内にユーザ・プロファイルの新しいインスタンスを生成し、一意的な識別子をユーザ・プロファイルに割り当て、ユーザ・プロファイルのフィールドにユーザによって提供される情報を設定することを開始するときに、発生し得る。
アクション・ストア214は、ユーザと他のユーザとのコネクション、外部システム120とのコネクション、または他のエンティティとのコネクションを記述するのに適したデータ構造体を含む。コネクション・ストア214は、コネクション・タイプをユーザのコネクションに関連付けることもでき、これはユーザのプライバシー設定とともに使用され、ユーザに関する情報へのアクセスを調節することができる。
コネクション・ストア214内に記憶されているデータ、ユーザ・プロファイル・ストア212、およびアクティビティ・ログ226は、ソーシャル・ネットワーキング・システム120がノードを使用してさまざまなオブジェクトおよびノード同士を接続するエッジを識別し異なるオブジェクト間の関係を識別するソーシャル・グラフを生成することを可能にする。ソーシャル・グラフ内の2つのノード間のエッジは、これらのノードの一方によって他方のノードに対して実行されたアクションの結果生じ得る、2つのノード間の特定のタイプのコネクションを表す。
例えば、第1のユーザがソーシャル・ネットワーキング・システム内で第2のユーザとのコネクションを確立する場合、ユーザ・プロファイル・ストア212からの第1のユーザおよび第2のユーザのユーザ・プロファイルが、ソーシャル・グラフ内のノードとして機能し得る。コネクション・ストア214内に記憶されている第1のユーザと第2のユーザとの間のコネクションは、第1のユーザおよび第2のユーザに関連付けられているノード間のエッジである。引き続きこの例を参照すると、第2のユーザは、次いで、アクション・ロガー224によって識別され、アクティビティ・ログ226に記憶されているメッセージを、ソーシャル・ネットワーキング・システム130内で第1のユーザに送信し得ることがわかる。メッセージを送信する記憶されているアクションは、第1のユーザおよび第2のユーザを表すソーシャル・グラフ内の2つのノード間の別のエッジである。それに加えて、メッセージそれ自体は、アクティビティ・ログ226から識別され、ソーシャル・グラフ内に、第1のユーザおよび第2のユーザを表すノードに接続された別のノードとして含まれ得る。
別の例では、第1のユーザは、ソーシャル・ネットワーキング・システム130によって維持されている画像で(あるいは、ソーシャル・ネットワーキング・システム130の外部の別のシステムによって維持される画像で)第2のユーザをタグ付けすることができる。画像は、それ自体、ソーシャル・ネットワーキング・システム130内のノードで表され得る。このタグ付けアクションは、第1のユーザと第2のユーザとの間のエッジを作成し、さらにはユーザのそれぞれとソーシャル・グラフ内のノードでもある画像との間のエッジも作成することができる。さらに別の例では、ユーザがイベントへの参加を確認する場合、ユーザとイベントはユーザ・プロファイル・ストア212から得られるノードであり、イベントの参加は、アクティビティ・ログ226から取り出せるノード間のエッジである。ソーシャル・グラフを生成し、維持することによって、ソーシャル・ネットワーキング・システム130は、異なるタイプのオブジェクト、ならびにそれらのオブジェク
ト間の相互作用およびコネクションを記述し、社会的に関連性のある豊かな情報源となるデータを含む。
ノードおよびエッジからなる、ソーシャル・グラフのこのような理解を基に、ソーシャル・グラフは、サードパーティ・デベロッパーおよび外部システム120によって「オープンであり」、ソーシャル・グラフに公開されるオブジェクトおよびアクションを定義することができる。図1Aおよび図2に示されているように、グラフ定義モジュール132は、グラフ・アクション・モジュール134およびグラフ・オブジェクト・モジュール136を備える。グラフ定義モジュール132は、現実世界の相互作用を模倣するアクションおよびオブジェクトの作成を可能にする。「聴く」などのアクションは、そのアクションが実行された場所、そのアクションに関わる1または複数のユーザ、およびユーザがアクションを実行した時間の長さを記録する持続時間フィールドなど、さまざまなプロパティを備えることができる。一実施形態では、その結果得られるグラフ・アクション・タイプは、グラフ・アクション・タイプ・ストア218内に記憶され得る。「楽曲」、「アーティスト」、「ジャンル」、および「ラジオ放送局」などのオブジェクトは、グラフ・オブジェクト・モジュール136を使用して、聴覚的オブジェクト・タイプ、音楽オブジェクト・タイプ、パフォーマンス・アート・オブジェクト・タイプ、および同様のものなどの、オブジェクト・プロパティを有するように定義され得る。これらのグラフ・オブジェクト・タイプは、グラフ・オブジェクト・タイプ・ストア216内に記憶される。
一実施形態では、グラフ定義モジュール132は、いくつかのアクションをいくつかのオブジェクトに対して実行されるものとして定義する。例えば、ソーシャル・ネットワーキング・システム130の管理者は、「聴く」アクションを、「楽曲」、「アーティスト」、「ジャンル」、および「ラジオ放送局」オブジェクトなどの、聴覚的オブジェクト・タイプに対してのみ実行されるように定義することができる。したがって、ユーザがアクション「聴く」を実行することができる「スピーチ」オブジェクトを定義することを望んでいると思われるサードパーティ・デベロッパーは、ユーザ自身の「スピーチ」オブジェクトを、「聴く」アクションがそれに対して実行され得るように聴覚的オブジェクト・タイプとして定義することができる。
別の実施形態では、グラフ定義モジュール132は、アクションをオブジェクトに対して実行することを可能にし、その意味については、ウィジェット124によって解釈されるマークアップ言語文書114上でアクションおよびオブジェクトを利用するサードパーティ・デベロッパーに委ねる。そのため、この実施形態では、サードパーティ・デベロッパーは、ソーシャル・ネットワーキング・システム130のユーザとVoice−over−IPアプリケーションのユーザとの間のVoice−over−IPアプリケーション通話において「ユーザ」オブジェクトとともに「聴く」アクションを利用することができる。Voice−over−IPアプリケーションのユーザがソーシャル・ネットワーキング・システム130のユーザでない場合、外部システム120から受け取った情報のみが、ソーシャル・ネットワーキング・システム130内のニュースフィードまたはストリームで公開されるようにアクティビティ・ログ226において使用され得る。したがって、外部ユーザ相互作用を取り込み、それらをソーシャル・ネットワーキング・システム130に統合するために文脈自由文法が利用され得る。
グラフ公開API138は、一実施形態において、受け取ったアクションおよびオブジェクトをソーシャル・ネットワーキング・システム130におけるコンテンツ・アイテムのストリーム内のニュースフィード・ストーリまたは他のコンテンツ・アイテムに整理、組み立てする。別の実施形態では、グラフ公開API138は、外部システム120上のユーザ相互作用を取り出すために外部システム120からのAPIコールに応答する。グラフ公開API138は、アクションおよびオブジェクトの定義を利用して、データをソ
ーシャル・ネットワーキング・システム130のソーシャル・グラフにどのように公開するかを決定する。一実施形態では、マークアップ言語文書114は、ストリーム中のニュースフィード・ストーリまたはコンテンツ・アイテムとして外部システム120上で実行されるすべてのアクションを公開するソーシャル・ネットワーキング・システム130内の命令を含む。別の実施形態では、マークアップ言語文書114は、バッチで、または全体で、外部システム120上で実行されるアクションを公開するソーシャル・ネットワーキング・システム130内の命令を含む。ソーシャル・ネットワーキング・システム130は、事前の承認が外部システム120に与えられているためソーシャル・ネットワーキング・システム130上のユーザのストリーム内にこれらのコンテンツ・アイテムを受動的に公開できることに留意されたい。コンテンツ・アイテムをストリーム内に投稿するこのような承認がユーザによって与えられていない場合、許可を求めるダイアログ・ボックスがユーザに対して促される。
グラフ翻訳モジュール234は、ソーシャル・ネットワーキング.システム130が外部システム上に生成される構造化オブジェクトおよびアクションに基づき文章を動的に形成することを可能にする。グラフ定義モジュール132によって定義されるアクション・タイプおよびオブジェクト・タイプの基本的なセマンティックな理解は、動詞時制および名詞形をアクション・タイプおよびオブジェクト・タイプに付加することによって達成され得る。文法の規則を外部システム上に生成されるアクションおよびオブジェクトの動詞時制および名詞形に適用することによって、グラフ翻訳モジュール234は、サードパーティ・デベロッパーまたはソーシャル・ネットワーキング・システム130の開発者からの介入なしで文法的に正しい文章を形成することができる。例えば、単数過去時制、または単純過去時制のアクション・タイプは、ユーザを過去のアクション・タイプのアクションを実行する実行者として表すために使用され得る。オブジェクト・タイプは、単数または複数名詞形のいずれかであってよく、そのアクションは実行者によって実行される。したがって、「フランクは、iMapMyRunとともに100マイルを完走した(Franc completed 100 miles with iMapMyRun)」は、グラフ翻訳モジュール234によって決定され得る文法的に正しい文章である。
上で説明されているランニング・アプリケーションにおいて、「完了する(complete)」アクション・タイプは、「走る(run)」オブジェクト・タイプおよび「マイル」オブジェクト・タイプに作用し得る。複数動詞時制は、単数現在時制、複数現在時制、単数過去時制、および複数過去時制を含む、アクション・タイプの定義の際に集められる。同様に、名詞形は、単数名詞形および複数名詞形を含む、オブジェクト・タイプの定義の際に集められる。グラフ翻訳モジュール234は、グラフ・アクション・タイプ・ストア218およびグラフ・オブジェクト・タイプ・ストア216に記憶されるアクション・タイプおよびオブジェクト・タイプから動詞時制および名詞形を取り出す。
グラフ公開API138と協調して、グラフ翻訳モジュール234は、一実施形態において、文章形成時に利用可能な情報に基づき文章を形成する。例えば、ランニング・アプリケーションは、ユーザがこのアプリケーションを使用して100マイルを完走する毎にソーシャル・ネットワーキング・システム130内のストリームにニュースフィード・ストーリつまりタイムライン・ユニットを投稿するように構成され得る。グラフ翻訳モジュール234は、「フランクは、iMapMyRunとともに200マイルを完走した(Franc completed 200 miles on iMapMyRun)」を示すストーリを投稿する際にアクション・タイプ「完了」およびオブジェクト・タイプ「マイル」に対して正しい動詞時制および名詞形を利用する。それに加えて、グラフ翻訳モジュール234は、構文を変えて、「フランク、300マイルをiMapMyRun上で完走した!(Complete 300 miles with Franc on iMapMyRun!)」などのアクション・ニュース・ストーリへの呼び出しを作成する
こともできる。別の実施形態では、ニュースフィード・ストーリは、特定の期間に集められた情報を使用して形成され得る。
グラフ取り出しモジュール222と協調して、グラフ翻訳モジュール234は、外部システム、サードパーティ・デベロッパー、またはソーシャル・ネットワーキング・システムの管理者からの追加の入力なしでさまざまなデータ視覚エフェクトに対するコンテンツを動的に提供することができる。データ視覚エフェクトを提示する際に、データを記述する文章は、アクション・タイプの動詞時制およびオブジェクト・タイプの名詞形を使用して形成され得る。例えば、ソーシャル・ネットワーキング・システム130のフランクとその友達の5人は、ウェブサイトなどの、外部システム上で動作するランニング・アプリケーションを使用して、エクササイズ、燃焼カロリー、登った高さ、および同様のものを追跡することができる。この情報の豊富なデータセットは、上で説明されているように、カスタム・オブジェクトおよびアクションを使用して取り込まれ得る。グラフ取り出しモジュール222およびグラフ翻訳モジュール234を連携させて使用することで、フランクとその5人の友達による燃焼カロリーの総数、平均ランニング速度、その中で一番速いランナー、などのユーザ指定クエリに基づき関心あるデータの視覚エフェクトを生成することができる。
グラフ・コンテンツ・アイテム順位付けモジュール150は、ソーシャル・ネットワーキング・システム130の他のモジュールから集められたグラフ・データ142および情報を利用して、視聴ユーザ向けにパーソナライズされたストーリの順位付けスコアを生成する。従来、コンテンツ・アイテムは、クリック率を観察すること、挙動を共有すること、および関与パターンから示されるような、視聴ユーザが一般的に好むソーシャル・ネットワーキング・システム130の他のユーザからのアクションのタイプに応じて順位付けされた。ここでは、グラフ・コンテンツ・アイテム順位付けモジュール150は、エクササイズにおいて走ったマイル数または今週聴いたトップ・アーティストを示すアプリケーションなど、外部システム120上で生成されるオブジェクトに関するメタデータを利用する。これらのオブジェクト、例えば、アーティスト・オブジェクトおよびエクササイズ・オブジェクトに関するメタデータはグラフ・コンテンツ・アイテム順位付けモジュール150によって利用され、一実施形態において、これらの外部ユーザ相互作用から生成されるコンテンツ・アイテムを順位付けすることができる。これらのオブジェクトに関するメタデータは、いくつかの実施形態では、ニュースフィード・ストリームに公開されるか、ユーザのプロファイルに追加されるか、またはプラグイン(例えば、iframe)を通じて外部システム上に表示されるものとされてよい。
グラフ・コンテンツ・アイテム順位付けモジュール150は、視聴ユーザに対して表示されるコンテンツ・アイテムの順位付けスコアを計算する際に、グローバルファクタ、ユーザ特有のファクタ、および推奨スコアを含む、いくつかのファクタを利用する。グローバルファクタは、ソーシャル・ネットワーキング・システム130と対話するすべてのアプリケーションおよび/または外部システム120に適用される。ソーシャル・ネットワーキング・システム130の個別のモジュールが、アプリケーションおよび/または外部システム120に対する評判スコアを決定して、スパムまたは不要なアプリケーションを識別することができる。スパムの可能性を示す、アプリケーションの評判スコアは、アプリケーションによって生成されるコンテンツ・アイテムに対する順位付けスコアを決定する際にグラフ・コンテンツ・アイテム順位付けモジュール150によって利用される。評判スコアは、ヒューリスティック解析から集められたアプリケーションの挙動、そのアプリケーションがスパムである、迷惑である、不快であるというユーザからの報告、およびアプリケーションがスパムであることを示すブラックリストを含む、多数のファクタから決定され得る。
グラフ・コンテンツ・アイテム順位付けスコアに適用され得る別のグローバルファクタは、コンテンツ・アイテムを生成するアプリケーションの総合的品質である。アプリケーションの品質は、個別のモジュールを通じて決定され、アプリケーションの品質を判断する際に考慮されるファクタとして、ユーザとアプリケーションとの関わり、ソーシャル・ネットワーキング・システム130の全ユーザ間のアプリケーションの人気度、ソーシャル・ネットワーキング・システム130によって観察されるアプリケーションの挙動の一貫性、アプリケーションの作成者の評判、およびソーシャル・ネットワーキング・システム130のユーザおよび管理者によるアプリケーションの平均的格付けが挙げられる。一実施形態では、アプリケーションの総合的品質は、アプリケーション品質スコアとして表現され、アプリケーション品質スコアは、視聴ユーザに表示するためコンテンツ・アイテムを順位付けする際のファクタとみなされる。
ユーザ特有のファクタは、グラフ・コンテンツ・アイテムの順位付けにも適用され得る。これらのユーザ特有のファクタとして、視聴ユーザに接続された他のユーザへの重み、および視聴ユーザが好むアプリケーションおよび関心事への重みが挙げられる。例えば、視聴ユーザは、ソーシャル・ネットワーキング・システム130上で他のユーザとの1000を超えるコネクションを有していたとしても、ユーザの部分集合によって生成されるコンテンツ・アイテム内に具現化されるリンクについての共有、コメント作成、賛同の表明、および選択を通じて毎日それらのユーザのうちの20人とのみ相互作用しているかもしれない。したがって、部分集合内のユーザからのコンテンツ・アイテムは、グラフ・コンテンツ・アイテム順位付けモジュール150によってより高い順位を付けられ得る。それに加えて、観察されたクリック率、ユーザがコンテンツ・アイテムを生成するアプリケーションをインストールしたか否か、アプリケーションとの相互作用が始まってから経過した時間、およびアプリケーションとの相互作用の回数から決定されるような、視聴ユーザが好むアプリケーションによって生成されるコンテンツ・アイテムも、グラフ・コンテンツ・アイテム順位付けモジュール150によってより高い順位を付けられ得る。アプリケーション、関心事、および他のコンセプトに対する視聴ユーザの選好は、ユーザ・プロファイル・ストア212内の視聴ユーザに関連付けられているユーザ・プロファイル・オブジェクト内に親近感スコアとして記憶され得る。
例えば、視聴ユーザは、ユーザに関連付けられているユーザ・プロファイル・オブジェクト内でレディー・ガガに対する親近感スコアによって示されるように、レディー・ガガに非常に大きな関心を有しているものとしてよい。親近感スコアは、プロファイル・ページ上のユーザによって明示的に述べられた関心またはソーシャル・ネットワーキング・システム130および外部システム120上のユーザおよびそのコネクションのアクションによる暗黙的な関心に基づきソーシャル・ネットワーキング・システム130のさまざまな関心事、ノード、およびユーザについて個別のモジュールによって計算され得る。一実施形態では、レディー・ガガに対するアーティスト・オブジェクトは、高い親近感スコアを有する視聴ユーザのユーザ・プロファイル・オブジェクトに関連付けられている。視聴ユーザに接続されているユーザによって外部システム上に生成されたレディー・ガガに関連付けられているコンテンツ・アイテムは、レディー・ガガに関連付けられているアーティスト・オブジェクトに対して視聴ユーザが親近感を有しているのでグラフ・コンテンツ・アイテム順位付けモジュール150によってより高い順位を付けられる。それに加えて、ソーシャル・ネットワーキング・システム130上の視聴ユーザのコネクションが高い親近感スコアを有しているアーティスト・オブジェクトを伴うコンテンツ・アイテムも、視聴ユーザとのそれらのアーティスト・オブジェクトの隣接性(adjacency)に基づきより高い順位を付けられ得る。その結果、レディー・ガガ・ブランドを利用するゲーム・アプリケーション上の接続されているユーザによる得点成績、ビデオ共有ウェブサイト上で別の接続されているユーザによって視聴されているレディー・ガガによる新譜ミュージック・ビデオ、および外部ウェブサイト上の別の接続されているユーザによって出
されたレディー・ガガLP新譜のアルバム・レビューなどの、さまざまな外部システムから生成されるコンテンツ・アイテムは、外部システム120上のユーザ相互作用によって生成される他のコンテンツ・アイテムよりも高い順位を付けられ得る。
グラフ・コンテンツ・アイテム順位付けモジュール150は、他のオブジェクトとの過去の相互作用、視聴ユーザの表明された関心、および視聴ユーザに接続された他のユーザによる他のオブジェクトとの過去相互作用に基づき視聴ユーザが関心を持つと思われる推奨エンジン・ハイライト・オブジェクトを含み得る。オブジェクト間類似度解析は、推奨エンジンによって非同期に決定されるものとしてよい。それに加えて、一実施形態では、推奨エンジンは、ユーザにどのようなオブジェクト・タイプが表示されたかを追跡することができ、またユーザに提示されるオブジェクト・タイプを多様化することを目指して、最近表示されていないオブジェクト・タイプも推奨することができる。推奨は、順位付けスコアを指数関数的に、直線的に、または対数関数的に増加させることなどによって、可変強度でグラフ・コンテンツ・アイテム順位付けモジュール150によって生成された順位付けスコアに影響を及ぼし得る。一実施形態では、オブジェクト所有者、ブランド所有者、または他のサードパーティは、ソーシャル・ネットワーキング・システム上のユーザ・インタフェースを通じて順位付けスコアの上昇を購入することができる。例えば、ソーシャル・ネットワーキング・システムのユーザによって実行されるグラフ・アクション・インスタンスとしてソーシャル・ネットワーキング・システムに伝達された電子小売店の書籍の購入は、書籍の出版社がソーシャル・ネットワーキング・システムの視聴ユーザに対する推奨内の書籍に対するプレミアム配置を購入した場合にユーザに接続されている視聴ユーザへの推奨の順位付けにおいて上昇され得る。
グラフ・データ142は、グラフ・データ・ストア232内に記憶され、インデックスを付けられ得る。グラフ・データ・ストア232は、外部システム120から受け取ったグラフ・データ142を記述するのに適しているデータ構造体を含む。一実施形態では、グラフ・データ142は、グラフ・データ142を含むストーリを他のユーザと共有するユーザ、ソーシャル・ネットワーキング・システム130上のストーリのニュースフィード・ストリーム内で共有された楽曲を再生するユーザ、ソーシャル・ネットワーキング・システム130上のアプリケーション内から製品を購入するユーザ、およびソーシャル・ネットワーキング・システム130の他のユーザからメッセージで共有されたプレイリストからのビデオを視聴するユーザなど、ソーシャル・ネットワーキング・システム130内から受信され得る。グラフ・データ142は、カスタム・グラフ・アクション、実行者(カスタム・グラフ・アクションを実行するユーザ)、カスタム・グラフ・オブジェクト、ならびにソーシャル・ネットワーキング・システム130の外部のエンティティによって定義されているカスタム・グラフ・アクションおよびカスタム・グラフ・オブジェクトのプロパティを含むことができる。グラフ・データ142が受信されると、ソーシャル・ネットワーキング・システム130は、グラフ・データ・ストア232内のグラフ・データ142を検索し、データを必要に応じてオブジェクトに追加する可能性がある。これは、例えば、ユーザが外部システム120上で既に聴いている楽曲を聴いた場合に生じる可能性がある。この場合、楽曲オブジェクトに対応するグラフ・データ142は、新しい聴くアクションを反映するように修正され得る。グラフ統合モジュール160は、グラフ・データ・ストア232と相互作用し、新しい聴くアクションを反映するソーシャル・ネットワーキング・システム130上のユーザのユーザ・プロファイル・ページにユーザ・インタフェースを構成することができる。グラフ・データ142は、Spotify、iTunes、パンドラ(Pandora)、およびRDIOなどの複数のドメインから類似のオブジェクトに関して収集されるので、バーチャル・オブジェクトは、ソーシャル・ネットワーキング・システム130によって作成され、グラフ・データ・ストア232内に記憶され得る。聴くアクション・インスタンスが、楽曲のタイトル、アーティスト名、アルバム名、および持続時間でソーシャル・ネットワーキング・システム130によって識
別されるような、同じ楽曲上で実行される複数のドメインから届くと、グラフ・データ・ストア232は、聴くアクション・インスタンスに関連付けられている楽曲オブジェクトを表すバーチャル・オブジェクトを識別するためにアクセスされる。次いで、聴くアクション・インスタンスは、ソーシャル・ネットワーキング・システム130によって決定されたような類似の楽曲オブジェクトを表すソーシャル・ネットワーキング・システム130によって作成されるバーチャル・オブジェクトに関連付けられる。この方法で、ソーシャル・ネットワーキング・システム130は、楽曲をSpotifyで聴こうと、iTunesで聴くこと、Pandoraで聴くこと、RDIOで聴くことに関係なく、ジャスティン・ビーバーによる「ベイビー(Baby)」などの特定の楽曲に対する聴くアクションおよびバーチャル・オブジェクトを含むニュースフィード・ストーリを報告することができる。一実施形態では、ニュースフィード・ストーリは、聴いた楽曲のドメイン、または音楽サービスを含み得るが、これにより、ユーザはソーシャル・ネットワーキング・システム上のニュースフィード・ストーリ内から異なるドメインまたは音楽サービス上で楽曲を再生することができる。別の実施形態では、ユーザは、地理的位置をカスタム・グラフ・アクション・インスタンスに追加し、グラフ・アクションがどこで実行されたかを指示することができる。バーチャル・オブジェクトが、ニュース・ストーリ、商品、ビデオ、コンサート、演劇、テレビ番組などの他のタイプのカスタム・グラフ・オブジェクトについてソーシャル・ネットワーキング・システム130によって生成され得る。
グラフ統合モジュール160は、グラフ・オブジェクト・タイプ・ストア216およびグラフ・アクション・タイプ・ストア218内に記憶されるグラフ定義モジュール132によって定義されたアクション・タイプおよびオブジェクト・タイプ利用して、外部システム120上のユーザ相互作用をソーシャル・ネットワーキング・システム130と統合する。例えば、ストリーミング音楽サービスを使用すると、ユーザは、ウェブサイトまたはモバイル・アプリケーションなどの、外部システム120上のインターネット・ラジオ放送局を聴くことができる。一実施形態では、ソーシャル・ネットワーキング・システム130は、ユーザ・インタフェース上のボタンおよびリンクを、ストリーミング音楽サービスをホストする外部システム120上の組み込みウェブ・サーバに送信される要求と関連付けることができる。これらの要求は、楽曲の再生および一時停止またはラジオ放送局での音楽演奏などの、要求されたアクションのトリガとなる。これは、音楽ストリーミングをソーシャル・ネットワーキング・システム130上のチャット・アプリケーションまたはチャット・インタフェースに統合すること、ユーザがソーシャル・ネットワーキング・システム130を通じて外部システム120上の同じ楽曲またはラジオ放送局の再生を聴けるようにすること、「ジョーとあなたの5人の友達がたった今パンドラ・ラジオで“Party Like a Rockstar”を聴きました(Joe and 5 of your friends just listened to Party Like a Rockstar on Pandora Radio)」と読めるコンテンツ・アイテムなどの、相互作用の視覚エフェクトを外部システム120に投稿すること、ユーザが外部システム120との統合で別のユーザを「タグ付け」するか、または別のユーザへの選択可能なリンクを作成したという、携帯電話および電子メール・メッセージ上のプッシュ通知などの、メッセージを送信すること、および楽曲などの外部システム120上のオブジェクトとのすべての相互作用を取り込むソーシャル・ネットワーキング・システム130上のページを生成することなどの、ソーシャル・ネットワーキング・システム130上でユーザ経験と統合することをさらに可能にする。これらの機能によって、以前に聴いた1つの楽曲の名前を単に知っていてその後インターネットでその楽曲を検索しなければならないという状況になる代わりに、視聴ユーザは、ユーザ・インタフェースを通じてソーシャル・ネットワーキング・システム内から楽曲オブジェクトに関連付けられているリンクを単にクリックするだけでその楽曲を素早く聴くことができるため、ユーザ経験が向上する。リンクの選択で、アクションを実行する、この場合、ネットワーク140を通じてソーシャル・ネットワーキング・システム130にアクセスするユーザ・デバ
イス110を通じて楽曲を再生する外部システム120への要求を生成する。
さらに、グラフ統合モジュール160は、視聴ユーザまたは視聴ユーザのコネクションによって現在聴かれている、または最近聴かれた楽曲オブジェクトなどの、外部システム120から受け取ったグラフ・データ142に基づき広告の専門分野別ターゲット設定を可能にする。グラフ統合モジュール160は、ソーシャル・ネットワーキング・システム130上でグラフ・データ142の解析を行い、その情報をターゲット基準モジュールに送る。例えば、音楽コンサートの広告は、ユーザがコンサート会場の近くに位置するか否か、ユーザがコンサートで演奏しているアーティスト、またはそれらのアーティストに類似するアーティストによる楽曲を最近聴いたか否かに基づきユーザに対するターゲット設定がなされ得る。広告主は、グラフ・データ142から集められ、グラフ統合モジュール160によって解析された情報をさらに解析して、より関連性の高い広告を生成することができる。
一実施形態では、グラフ統合モジュール160はグラフ・コンテンツ・アイテム順位付けモジュール150を利用して、楽曲、アーティスト、およびジャンルなどの、グラフ・データ142の推奨を、ユーザの楽曲およびアーティストの選好、他の視聴選好を決定するためのユーザ挙動のヒューリスティック解析、およびソーシャル・ネットワーキング・システム130上のユーザのコネクションの視聴パターンを含む、多数のファクタに基づきソーシャル・ネットワーキング・システム130のユーザに提供することもできる。例えば、ユーザに関連付けられているリンクの高いクリック率、ソーシャル・ネットワーキング・システム上の頻繁な相互作用、および他のファクタの結果、互いに対して高い親近感スコアを有するユーザは、それらのユーザによる楽曲の推奨における重みに影響を及ぼし得る。一実施形態では、グラフ・コンテンツ・アイテム順位付けモジュール150は、ソーシャル・ネットワーキング・システム130に記憶されているオブジェクト・メタデータに基づきグラフ・オブジェクトを推奨するための順位付けモデルを構成することができる。
グラフ取り出しモジュール222は、サードパーティ・デベロッパーによって、外部システム120上の受け取ったアクションのデータの視覚エフェクトについてソーシャル・グラフにクエリを実行することができる。例えば、サードパーティ・デベロッパーが、ソーシャル・ネットワーキング・システム130内のユーザの友達間で外部システム120上の最も頻繁に聴いた楽曲を表示したい場合、そのクエリを生成するためにグラフ取り出しモジュール222が使用され得る。ソーシャル・ネットワーキング・システム130の管理者は、実行されたオブジェクトのユニットの数を合計する「総和(sum)」クエリを含む、これおよび他のものなどの基本クエリを作成することができる。例えば、ランニング・アプリケーションは、エクササイズ毎にユーザが走ったマイル数を記録することができる。「マイル」オブジェクトは、「総和」クエリがユーザが完走した合計マイル数を返すことが可能なようにこの値を記録することができる。「最もよく聴くアーティストの誕生年は?(What is the birth year of artists that a user listens to the most?)」などの興味深い質問に答えるためにソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーおよび管理者によって他のクエリが生成され得る。例えば、「アーティスト」オブジェクトは、「アーティスト」オブジェクトを定義したサードパーティ・デベロッパーによって「誕生年」オブジェクトにリンク付けされ得るため、グラフ取り出しモジュール222を使用してこの質問に答えるためのクエリが実行され得る。ソーシャル・グラフをサードパーティ・デベロッパーおよび外部システム120に開放し、ソーシャル・ネットワーキング・システム130の外部で実行され得るアクションに構造を提供することによって、ソーシャル・ネットワーキング・システム130のユーザは、ソーシャル・ネットワーキング・システム130で社会的に関連性のある情報を共有し、発見すること
によってメリットを得る。ソーシャル・ネットワーキング・システム130の外部で行われるアクションに構造を提供する別の利点は、外部システム120のユーザの行動に基づき広告のターゲットを設定することおよび興味深いデータの視覚エフェクトでユーザ経験を向上するために追加の入力を生成することである。
グラフ・コンテンツ・アイテム・オブジェクト・ストア230は、外部システム120との外部ユーザ相互作用の結果生成されるグラフ・コンテンツ・アイテム・オブジェクトを維持する。グラフ・コンテンツ・アイテム順位付けモジュール150は、ソーシャル・ネットワーキング・システム130のユーザに対するグラフ・コンテンツ・アイテム・オブジェクトの順位付けスコアであって、グラフ・コンテンツ・アイテムを潜在的に示す順位付けスコアを計算する。潜在的視聴ユーザに関連付けられているユーザ・プロファイル・オブジェクトに基づき、グラフ・コンテンツ・アイテムに対する順位付けスコアは、視聴ユーザの個々の選好に基づき変化する。一実施形態では、グラフ・コンテンツ・アイテム・オブジェクト・ストア230に記憶され、インデックスを付けられているグラフ・コンテンツ・アイテム・オブジェクトは、コンテンツ・アイテムに関するカテゴリのパラメータに対する値を含むユーザ独立のストーリ・ベクトルに関連付けられる。当業者であれば、配列、行列、およびデータベース・オブジェクトなどの、情報を維持するデータ構造体を含み得ることを理解されるであろう。
グラフ・アクションおよびグラフ・オブジェクトに対する構造および文法の定義
図3Aは、本発明の一実施形態による、グラフ・アクションおよびソーシャル・ネットワーキング・システムの外部のエンティティによって定義されているようなグラフ・オブジェクトとのその関係を表す定義済みグラフ構造のハイレベルブロック図である。1つのアクション、聴くアクション310しか例示されていないが、全領域のアクション(whole universe of actions)が、ソーシャル・ネットワーキング・システム130内での定義に利用可能である。例えば、ユーザは、製品、音楽、スポーツ試合、および映画などの、さまざまなオブジェクトを読み、購入し、販売し、視聴し、欲求し、再生し、達成し、取り、推奨し、レビューし、訪問し、コメントすることができる。ソーシャル・ネットワーキング・システム130の外部のエンティティは、ソーシャル・ネットワーキング・システム130上でソーシャル・グラフに公開するようにこれらのグラフ・アクションおよびグラフ・オブジェクトを定義することができる。グラフ・アクションおよびグラフ・オブジェクトは、外部システム120で、さらにはソーシャル・ネットワーキング・システム130上でユーザによって実行され得る。
図3Aに例示され、上で説明されているように、例示的な実施形態は、インターネット・ラジオ・ウェブサイトなどの、外部システム120上で音楽を聴くことを伴う。聴くアクション310は、ネットワーク140に接続されているスタンドアロンのデスクトップ・アプリケーション、ポッドキャスト、インターネットを通じて放送する地上波ラジオ放送局、バーチャル・ミュージック・ロッカー・ウェブサイト、および音楽ストリーミング加入サービス・ウェブサイトを含む、他の外部システム120について定義され得る。上で述べたように、いくつかの実施形態では、聴くアクション310などのアクションは、プレイリスト、ポッドキャスト、およびストリーミング・ライブラリなどの(図示されていないが)、新しいオブジェクトが聴くアクション310の作用を受け得るようにオープンエンドであると定義され得る。聴くアクション310は、一実施形態ではエンティティが聴くアクション310タイプに関連付けられているオブジェクトのタイプを含む、アクション・プロパティを定義することを可能にする、ソーシャル・ネットワーキング・システム130によって提供されるツールを通じてソーシャル・ネットワーキング・システム130の外部のエンティティによって定義され得る。ツールは、新しいアクション・タイプをソーシャル・ネットワーキング・システム130上のウェブ・ページに公開し、これにより、ソーシャル・ネットワーキング・システム130の外部のエンティティは新しい
アクション・タイプにアクセスすることができる。
グラフ・オブジェクトは、ソーシャル・ネットワーキング・システム130の外部のエンティティによってオブジェクト・プロパティを含むように定義され得る。楽曲オブジェクト304のオブジェクト・プロパティは、例えば、タイトル、持続時間、アーティスト・オブジェクト306、アルバム・オブジェクト314、および複数のジャンル・オブジェクト316を含むことができる。アーティスト・オブジェクト306のオブジェクト・プロパティは、例えば、アーティスト名、アルバム・オブジェクト314、複数のジャンル・オブジェクト316、およびアーティスト誕生年オブジェクト308を含むことができる。ラジオ放送局オブジェクト302は、アプリケーションによって作成される楽曲オブジェクト304との関連付けを含むことができる。例えば、ラジオ放送局オブジェクト302は、ラジオ放送局オブジェクト302に関連付けられているラジオ放送局を聴いているユーザのために再生される複数の楽曲オブジェクト304のプレイリストを含むことができる。一実施形態では、オブジェクトは、タイトル、説明、画像、およびURLなどの、標準的なオブジェクト・プロパティを有する。オブジェクト・プロパティは、ソーシャル・ネットワーキング・システム130の外部のエンティティによって定義され得る。この方法では、複数の異なるオブジェクトが互いに関係するものとされてよい。
ラジオ放送局オブジェクト302は、「99.7FM」または「ブリトニー・スピアーズ・チャネル(Britney Spears Channel)」などの名前を有するものとして定義され得る。ラジオ放送局オブジェクト302は、企業によって所有される、特定のインターネットURL上で放送されるなどのプロパティを備えることができる。ラジオ放送局オブジェクト302は、楽曲オブジェクト304にリンクされる。楽曲オブジェクト304は、ラジオ放送局で再生された1つの楽曲を表す。楽曲オブジェクト304は、楽曲を演奏するアーティスト・オブジェクト306にリンクされる。アーティスト・オブジェクト306は、アーティストが生まれた誕生年を表すアーティスト誕生年オブジェクト308にリンクされ得る。例えば、アーティスト・オブジェクト306が「ブリトニー・スピアーズ」を表した場合、アーティスト・オブジェクト306は、「1981」誕生年オブジェクト308にリンクされるが、それは、サードパーティ・デベロッパーがブリトニー・スピアーズが1981年に生まれたことを知っているからである。同様に、ブリトニー・スピアーズの曲である「ティル・ザ・ワールド・エンズ(Till the World Ends)」に対する楽曲オブジェクト304の所有者は、その楽曲オブジェクト304を「ファム・ファタール(Femme Fatale)」に対するアルバム・オブジェクト314および「ポップ」、「ダンス・ポップ」、および「エレクトロ・ポップ」に対するジャンル・オブジェクト316にも関連付ける。このような情報は、データベースに記憶されているグラフ・オブジェクトに関する情報を使用して手動で定義されるか、または自動的に関連付けられ得る。
インターネット・ラジオ・ウェブサイトのサードパーティ・デベロッパーは、一実施形態ではソーシャル・ネットワーキング・システム130によって提供されるツールを使用して、または別の実施形態では、タグを使用してマークアップ言語文書の外部システム120上のウェブ・ページ内にオブジェクトを記述することによって、上で説明されているようなラジオ放送局、楽曲、アーティスト、アーティスト誕生年、アルバム、およびジャンルに対するオブジェクトを定義することができる。聴くアクション310は、同一もしくは別のサードパーティ・デベロッパーによって、またはソーシャル・ネットワーキング・システム130の管理者によって定義され得る。聴くアクション310は、大半のアクションと同様に、アクションが実行された地理的位置を識別し、記録するためにロケーション・オブジェクト312に関連付けられ得る。聴くアクション310は、アクションを実行しているユーザに対するユーザ・プロファイル・オブジェクト318にも関連付けられ得る。最後に、聴くアクション310のプロパティは、聴くアクション310が実行さ
れた回数を識別するアグリゲータ・オブジェクト320を含むことができる。一実施形態では、実行されたアクションのこの数は、ユーザ、位置、ユーザのグループ、またはソーシャル・ネットワーキング・システム130内の識別可能なノードで細分化され得る。
一例において、ソーシャル・ネットワーキング・システム130のユーザは、インターネット・ラジオ・ウェブサイトを訪れ、外部システム120上でホストされているインターネット・ラジオ・ウェブサイト上で実行されるアクションを共有する許可を既に与えられている。サードパーティ・デベロッパーは、ラジオ放送局を聴くなど、インターネット・ラジオ・ウェブサイト上でユーザがアクションを実行するときにソーシャル・ネットワーキング・システム130内にグラフ・オブジェクト・インスタンスを作成するようにマークアップ言語文書でタグを符号化することができる。ユーザがインターネット・ラジオ・ウェブサイト上で音楽を聴いているときに、聴くアクション310は、アクション・ログに記録されるか、またはユーザに対するユーザ・プロファイル・オブジェクト318に関連してソーシャル・ネットワーキング・システムに伝達され得る。アクション・ログは、スキップするまでに楽曲を聴いている時間の長さなど、オブジェクト・プロパティおよびアクション・プロパティの値などの、ユーザ識別子、グラフ・アクションのアクション・タイプ、オブジェクト識別子、時刻、日付、および他のメタデータを含み得る。ユーザが全地球測位システム(GPS)機能を備えるモバイル・デバイスを使用している場合、または地理的位置が他の任意の方法で利用可能である場合に、その位置に対するロケーション・オブジェクト312は、聴くアクション310に関連付けられ得る。
アグリゲータ・オブジェクト320は、アクションが実行された回数をカウントするために聴くアクション310に関連付けられ得る。一実施形態では、ラジオ放送局オブジェクト302、楽曲オブジェクト304、アーティスト・オブジェクト306、アルバム・オブジェクト314、ジャンル・オブジェクト316などの、オブジェクトは、ソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者によって、集約され得るオブジェクトとして構成され得る。グラフ構造は、完全にカスタマイズ可能であるため、集約、さらには総和、頻度、距離、平均、および最頻値からの偏差などの他の統計機能は、指定されたオブジェクト上で実行され得る。例えば、アーティスト・オブジェクト306によって表される、レディー・ガガを聴くのに費やす時間などの、興味深いデータは、構造化グラフ・アクションおよびグラフ・オブジェクトの単純なクエリから決定され、ソーシャル・ネットワーキング・システム130のユーザの任意の組上で計算され得る。ユーザが、ラジオ放送局上で楽曲を聴くときに、聴くアクション310は、楽曲に対する対応するラジオ放送局オブジェクト302、楽曲オブジェクト304、さらにはリンクされたアーティスト・オブジェクト306、アルバム・オブジェクト314、およびジャンル・オブジェクト316に関連付けられ得る。アーティスト誕生年オブジェクト308は、聴くアクション310に直接的にはリンクされないが、代わりに、アーティスト・オブジェクト306に直接的にリンクされる。したがって、誕生年によって並べ替えられた、聴いたトップ・アーティストなどの、興味深いデータの視覚エフェクトを生成するために専門分野別クエリが利用され得る。
図3B〜図3Jは、外部システム上のユーザ相互作用に対するグラフ構造を定義するためソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者用のソーシャル・ネットワーキング・システム130上のツールのスクリーンショットを示している。図3Bは、外部システム上のアクション・タイプおよびオブジェクト・タイプの定義を可能にするソーシャル・ネットワーキング・システム上のウェブ・アプリケーションのスクリーンショットを示している。この実施形態では、外部システム120は、「マッチブック(The Matchbook)」と称すアプリケーション330である。アクション・タイプ・フィールド332およびオブジェクト・タイプ・フィールド334は、ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパ
ーまたは管理者がグラフ構造を定義することを可能にする。ボタン336は、クリックされると、ソーシャル・ネットワーキング・システム130においてアクション・タイプおよびオブジェクト・タイプを生成する。この例では、オブジェクト・タイプ「テニス試合(tennis match)」に実行されるアクション・タイプ「再生する(play)」が定義されている。
図3Cに示されているように、アクション・タイプは、グラフ構造を定義するソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者によって定義されるようなさまざまな動詞形および他のプロパティを有することができる。アクション・タイプ名フィールド338内のアクション・タイプの名前を変更することができる。追加のオブジェクト・タイプをオブジェクト・フィールド340に含めることができる。アクション・ストーリ、またはタイムライン・ユニットのプレビューが表示され得る。ここで、第1の例示的なストーリ342は、単数過去時制でアクション・タイプを表示し、第2の例示的なストーリ344は、複数過去時制でアクション・タイプを表示する。図3Cでは、現在時制動詞をサポートするラジオ・ボタンのチェックが外されており、したがって、動詞形は現在、定義されていない。
図3Dは、外部システム120に関してアクション・タイプおよびオブジェクト・タイプを記述するために使用される前置詞に対するドロップ・ダウン・メニュー346を例示している。第1の例示的なストーリ342および第2の例示的なストア344は、ドロップ・ダウン・メニュー346内の前置詞の選択に基づき更新される。「at」、「in」、「on」、「using」、「via」、「with」などの異なる前置詞は、利用可能な異なる文章構造を示し得る。図3Eは、現在時制動詞のサポートがアクション・タイプに追加されるアクション・タイプ定義ツールの別の実施形態を示している。第3の例示的なストーリ348は、単数過去時制でアクション・タイプを表示し、第4の例示的なストーリ350は、複数過去時制でアクション・タイプを表示する。図3Eは、アクションが過去時制になる前の期間を管理者が設定することができるフィールドも例示している。この期間は、データの視覚エフェクトに対する文章を形成するためアクション・タイプの現在時制と過去時制との間で選択するためにグラフ翻訳モジュール234によって利用され得る。別の実施形態では、アクションが過去時制になる前の期間は、楽曲オブジェクト上の「持続時間」タグなどのメタ・タグを通じて推論され、推論された期間は、ソーシャル・ネットワーキング・システム130によってオブジェクト上で直接渡され得る。ソーシャル・ネットワーキング・システム130上のニュースフィード内のストーリに対する文章を形成する際に、このツールは、ソーシャル・ネットワーキング・システム130が動詞の正しい時制を使用して意味のある文章を自動的に形成することを可能にする。ニュースフィード・ストーリに誤った文章が現れると、ニュースフィード・ストーリのアピール力および関連性が弱められ、ユーザが特定のブランドから離れるのを助長する可能性がある。しかし、視聴ユーザに接続されている別のユーザによって現在読まれているニュース記事などの、より関連性のあるニュースフィード・ストーリは、チャット・メッセージまたは投稿などを通じてソーシャル・ネットワーキング・システム上でリアルタイムにそのニュース記事に関する議論を誘発する可能性があり、これにより、より関わりのあるユーザ経験をもたらす。同様に、ソーシャル・ネットワーキング・システム130の視聴ユーザは、視聴ユーザに接続されている他のユーザがジャスティン・ティンバーレイクの新譜を現在聴いていることを示すニュースフィード・ストーリを読み、その試聴ユーザは、ニュースフィード・ストーリの中からソーシャル・ネットワーキング・システム130を通じてその楽曲を聴くのにそれらの他のユーザに加わることを選ぶことができる。両方の例において、ニュースフィード・ストーリの中の動詞の現在時制は、視聴ユーザがソーシャル・ネットワーキング・システム130との関わりを強める機会を生み出した。さらに、ソーシャル・ネットワーキング・システム130は、ソーシャル・ネットワーキング・システム130の視聴ユーザに提示する過去に出現したニュースフィード・ストーリを順
位付けし、および/または集約することができる。順位付けされた、および/または集約されたニュースフィード・ストーリは、過去に起きたものであり、したがって、ニュースフィード・ストーリは、必ず、過去時制で表されるべきである。ソーシャル・ネットワーキング・システムによって形成される文章は、より最近のイベントと過去のイベントとを自動的に線引きすることができるため、ユーザ経験はより関わりのある、関連性の高いものとなる。
図3Fは、ソーシャル・ネットワーキング・システム130上で公開するか、またはソーシャル・ネットワーキング・システム130の外部のドメイン上の外部システム120上で公開するように外部システムに対するグラフ構造でオブジェクト・タイプを定義するためのツールを例示している。この例では、オブジェクト・タイプ「テニス試合」が定義されている。単数名詞形フィールド352および複数名詞形フィールド354は、ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーまたは管理者がソーシャル・ネットワーキング・システム130で公開する文章においてオブジェクト・タイプの名詞形を指定することを可能にする。ここで、「テニス試合」は、このオブジェクト・タイプに対する複数名詞形である。図3Fは、定義されているオブジェクト・タイプのオブジェクト・プロパティ356も例示している。タイトル、画像、および説明などの、複数のプロパティが、ソーシャル・ネットワーキング・システム130によって構造化され得る。追加のプロパティは、オブジェクト・タイプのカスタマイズされたプロパティを含むようにリンク358をクリックすることによって定義され得る。図3Aで説明されているように、オブジェクト・タイプ「楽曲」などのオブジェクト・タイプは、オブジェクト・タイプ「アーティスト」、オブジェクト・タイプ「アルバム」、およびオブジェクト・タイプ「ジャンル」などの、他のオブジェクト・タイプを含む、複数のプロパティを有することができる。図3Fに示されているように、これらの追加のプロパティは、ソーシャル・ネットワーキング・システム130上で定義されているオブジェクト・タイプに追加され得る。単数形オブジェクト・タイプの例示的ストーリ360および複数形オブジェクト・タイプの例示的ストーリ362は図3Fにも示されている。
図3Gは、ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーまたは管理者が外部システム120上で行われるユーザ・アクションに対するグラフ構造を定義するアクション・タイプおよびオブジェクト・タイプを管理し、作成することを可能にするソーシャル・ネットワーキング・システム130上のツールを例示している。ドロップ・ダウン・メニュー382を使用すると、ソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者が管理されるグラフ構造を選択することができる。ここで、リンク364は、リンク364に続くテキスト366によって示されているように、「テニス試合(teniss match)」に作用する「再生する(play)」アクション・タイプが定義されていることを表示する。また、リンク368は、リンク368に続くテキスト370によって示されているように、「タイプ、タイトル、画像(type, title, image)」のオブジェクト・プロパティを有する「テニス試合」オブジェクト・タイプが定義されていることを表示する。
さらに、図3Gは、ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーまたは管理者がアクション・タイプ、オブジェクト・タイプ、および/またはプロファイル・ユニットを作成し編集し、さらにはソーシャル・ネットワーキング・システム130に公開する外部ユーザ・アクションを取り込むために外部システム上で入れるコード・スニペットを生成することを可能にするボタンおよびリンクを例示している。ソーシャル・ネットワーキング・システム130の外部のエンティティは、ソーシャル・ネットワーキング・システム130のユーザがクリックしたときに、エンティティによって決定されるようなカスタム・グラフ・アクション・タイプを有するグラフ・アクション・インスタンスを生成する外部システム上のウェブ・ページにボタンを備えることがで
きる。図3Gに例示されているボタンおよびリンクを通じてソーシャル・ネットワーキング・システム130が提供することができるコード・スニペットは、外部システム上でウェブ・ページ用にマークアップ言語文書に組み込まれ得る。例えば、「欲しい物リスト」ボタンは、電子商取引ウェブサイト上で民生用エレクトロニクス・デバイス用のウェブ・ページ上に備えることができる。ソーシャル・ネットワーキング・システム130のユーザが「欲しい物リスト」ボタンをクリックすると、「追加する」アクション・インスタンスが、民生用エレクトロニクス・デバイスに対するグラフ・オブジェクトの識別子とともに、アクション・ログに記録され得る。他の実施形態では、ソーシャル・ネットワーキング・システム130の外部のエンティティは、リンクをクリックすること、タッチスクリーン・インタフェースからタッチを受け取ること、視聴ユーザがウェブ・ページをロードしてから経過した所定の時間の長さなどの、イベントの他のタイプに基づきグラフ・アクション・インスタンスをアクション・ログに記録することができる。
図3Gは、ソーシャル・ネットワーキング・システム130上にグラフ構造を定義する際にサードパーティ・デベロッパーによって使用され得るさまざまなリンクおよびボタンを例示している。ボタン372を使って、新しいアクション・タイプを定義することができ、リンク374では、サードパーティ・デベロッパーまたは管理者は、定義されているアクション・タイプに対するコードを編集または取得することができる。一実施形態では、アクション・タイプに対する「コードを取得(Get Code)」のリンク374は、ユーザが外部システム上でそのアクションを実行すると外部システム120上の「再生する」アクション・インスタンスを識別するために必要なパラメータを含むアプリケーション・プログラミング・インタフェース(API)コールを含むコード・スニペットを提供する。別の実施形態では、「コードを取得」のリンク374は、ボタンまたはリンクをクリックするなどのイベントとして再生アクションが外部システム120上で生じると「テニス試合」のオブジェクト・インスタンスを識別するために必要なパラメータを含むマークアップ言語文書内に含めるメタ・タグを含むコード・スニペットを提供する。同様に、ボタン376を使って、新しいオブジェクト・タイプを定義することができ、リンク378では、サードパーティ・デベロッパーまたは管理者は、定義されているオブジェクト・タイプに対するコードを編集または取得することができる。一実施形態では、「コードを取得」のリンク378は、外部システム120上の「テニス試合」のオブジェクト・インスタンスを識別するために必要なパラメータを含むマークアップ言語文書内に含めるメタ・タグを含むコード・スニペットを提供する。ボタン380を使用することで、サードパーティ・デベロッパーまたは管理者は、新しいプロファイル・ユニットを定義することができる。プロファイル・ユニットは、定義されているグラフ構造に対するカスタマイズされたストーリである。例えば、グラフ取り出しモジュール222を使用して外部システム120上で取り込まれるユーザ・アクションに基づき興味深いデータを可視化するようにカスタム・クエリが定義され得る。グラフ翻訳モジュール234は、データ可視化に対する記述的コンテンツを生成するために使用され得る。
一実施形態では、プロファイル・ユニットは、図3Hに例示されているツールによって定義される。プロファイル・ユニットの名前は、名前のテキスト・フィールド384を通じて変更できる。ソーシャル・ネットワーキング・システム130は、プロファイル・ユニット内に取り込まれる外部ユーザ相互作用を可視化するために使用され得る複数のテンプレートを備える。プロファイル・ユニットは、ソーシャル・ネットワーキング・システム上で、ニュースフィード・ストーリとしてニュースフィード内に、またはユーザ・プロファイル・ページ上に表示され得る。プロファイル・ユニットは、一実施形態では、組み込みウィジェット(例えば、iframe)を通じてソーシャル・ネットワーキング・システムの外の外部システム上にも表示され得る。別の実施形態では、ソーシャル・ネットワーキング・システム130の外部のエンティティは、他のウェブサイト上の広告において図3Hに例示されているツールによって定義されるようなプロファイル・ユニットを備
えることができる。テンプレート・ドロップ・ダウン・メニュー386は、マップ(map)、リストビュー(listview)、ギャラリー(gallery)、テーブル(table)、およびポスター(poster)を含む、選択用のテンプレートを提示する。マップは、地図上に出現しているように外部ユーザ相互作用を表示することができる。リストビューは、外部ユーザ相互作用をリスト形式で提示する。ギャラリーは、外部ユーザ相互作用の取り込み時にパラメータ化されるような、外部ユーザ相互作用を表す画像とともに外部ユーザ相互作用を提示する。テーブルは、外部ユーザ相互作用の単純なテーブル・データの視覚エフェクトを提示する。ポスターは、外部ユーザ相互作用を個別にまたはグループ化して表示するタイムライン・ユニット、またはニュースフィード・ストリーム・ストーリを提示する。
図3Hに示されているように、取り込まれた外部ユーザ相互作用は、実行されるアクション・タイプまたはオブジェクト・タイプのプロパティによってグループ化され得る。これらのプロパティは、テキスト・フィールド388で指定される。外部ユーザ相互作用は、テキスト・フィールドおよびドロップ・ダウン・メニュー390を使用してユーザ指定のプロパティによって並べ替えることができる。定義されているプロファイル・ユニットのプレビュー392も表示される。一実施形態では、グラフ取り出しモジュール222を使用することで、外部システム上で生成されるアクションおよびオブジェクトを解析し、図3Hに例示されているデベロッパー・ツール・アプリケーションを使用して構成され得るプロファイル・ユニットで提示することができる。グラフ翻訳モジュール234は、プロファイル・ユニットにおけるデータの視覚エフェクトに対する記述的コンテンツを構成するために利用され得る。
図3Iは、テキスト・フィールド394のオブジェクト・タイプの名前を指定することによって新しいオブジェクト・タイプがどのように定義され得るかを示している。図3Jは、テキスト・フィールド396でプロパティ名(property name)を指定し、ドロップ・ダウン・メニュー398でプロパティのタイプを識別することによって新しいオブジェクト・タイプの新しいプロパティがどのように指定され得るかを例示する。図3Fと同様に、図3Jに示されているツールのスクリーンショットでは、複数のオブジェクト・タイプ・プロパティを定義に追加することができ、追加されたオブジェクト・プロパティを含むプレビューが表示される。
ソーシャル・ネットワーキング・システムに公開するように構造化された外部ユーザ相互作用の取り込み
ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーまたは管理者が、ソーシャル・ネットワーキング・システム130内のソーシャル・グラフに公開するためのアクションおよびオブジェクトの構造を定義した後、サードパーティ・デベロッパーは、図1Aと併せて上で説明されているウィジェット124を含む外部システム120上のウェブ・ページ122aを符号化するマークアップ言語文書114内に、構造化されたオブジェクトおよびアクションを識別するタグを含めることができる。外部システム上のユーザ相互作用は、アクションおよびオブジェクトに関連付けられているノードを生成する。ノードが生成された後、一実施形態では、アクションおよびオブジェクトが、ソーシャル・ネットワーキング・システム130によって維持されるソーシャル・グラフ内に記憶される。別の実施形態では、ソーシャル・グラフは、外部システム120によって維持されるが、ソーシャル・ネットワーキング・システム130によってアクセス可能であり、サードパーティ・デベロッパーにソーシャル・グラフを効果的に開放し、複雑で豊かなソーシャル・グラフのさらなる開発および定義を促進する。
一実施形態では、ウェブ・ページ122aは、ウェブ・コンテンツおよびウェブ・コンテンツをフォーマットまたは提示するための命令を含むマークアップ言語文書114から
なる。さまざまな実施形態において、マークアップ言語文書114は、拡張マークアップ言語(XML)データ、拡張ハイパーテキスト・マークアップ言語(XHTML)データ、または他のマークアップ言語データを含むデータ・ファイルからなる。ウェブ・ページ122bからなるマークアップ言語文書は、ウェブ・ページ122a内の外部ユーザ・アクションを取り込むように定義されている1つまたは複数のタグを備えており、該1つまたは複数のタグはオブジェクト・タイプに関するメタ情報を含む。一実施形態では、スクリプト言語のコード・スニペットは、サードパーティ・デベロッパーによってウェブ・ページ122aを符号化するマークアップ言語に統合される。このコード・スニペットは、一実施形態において、ボタンまたはリンクをユーザがクリックすることなどのイベントに応答してユーザをオブジェクトに接続するアクション・インスタンスを作成するためのパラメータを含むAPIコールを備える。一実施形態では、ソーシャル・ネットワーキング・システム130は、マークアップ言語文書114からタグを取り出し、タグから抽出された情報を使用してアクションおよびオブジェクトをソーシャル・グラフに公開する。別の実施形態では、抽出された情報は、ソーシャル・ネットワーキング・システム130内に記憶される。これらのタグにより、ソーシャル・ネットワーキング・システム130は、ウェブ・ページ122aおよび外部システム120上のユーザ相互作用に基づきアクションおよびオブジェクトに対するソーシャル・グラフ内にノードを作成し定義することができる。ウェブ・ページ122aは、ソーシャル・ネットワーキング・システム130のドメインの外にあってよく、またソーシャル・ネットワーキング・システム130の通信事業者とは別のエンティティによって運営され得るため、これらのタグを使用することで、サードパーティがソーシャル・ネットワーキング・システム130内のソーシャル・グラフに公開した構造化アクションおよびオブジェクトを表すノードを作成することができる。
ウェブ・ページ122aを符号化するマークアップ言語文書114に含まれるタグによって提供されるアクションおよびオブジェクトに関する情報は、限定はしないが、タイトル、ラベル、一意的な識別子、マイクロ・フォーマット、および/またはアクションとオブジェクトに関する説明、さらにはノードのタイプ、ノードの1または複数の管理者を指定する1つまたは複数のソーシャル・ネットワーキング・システムのユーザ識別子、および/またはノードに関連付けられている位置情報などの他の情報を含み得る。タイトル・タグは、ソーシャル・ネットワーキング・システム130がノードにアクセスするときに示されるテキスト文字列を識別する。同様に、キーワード・タグは、アクションまたはオブジェクトを識別する1つまたは複数のキーワードを識別するテキスト情報を含み、説明タグは、ノードが提示されときにソーシャル・ネットワーキング・システム130によって表示されるアクションまたはオブジェクトを記述するテキストを含む。画像タグは、ノードが提示されるときにソーシャル・ネットワーキング・システム130によって、またはウィジェット124によって表示される画像を識別することができる。ユニフォーム・リソース・ロケータ(URL)、または他のウェブ識別子を使用して、外部システム120上のウェブ・ページ122bに記述されているグラフ・オブジェクトを識別することができる。例えば、ユーザがインターネット・ラジオ放送局ウェブサイト上で楽曲を再生するリンクをクリックした場合、リンクは、アドビ・ショックウェーブ−フラッシュ(Adobe shockwave−flash)(.swf)マルチメディア・ファイルのアクション・イベントであってよい。サードパーティ・デベロッパーは、Adobe shockwave−flashマルチメディア・ファイルなどの、楽曲オブジェクト、アーティスト・オブジェクト、および他のファイル内の同様のものの識別子を埋め込むことができる。ランニング・エクササイズの持続時間など、アクション・プロパティの値に対する識別子は、Adobe shockwave−flashマルチメディア・ファイルなどの、ファイル内に埋め込まれ得る。Adobe shockwave−flashマルチメディア・ファイル内のアクション・イベントの場合、サードパーティ・デベロッパーは、ウェブ・ページ122a内に埋め込まれたウィジェット124にグラフ定義モジュー
ル132によって定義されるようなオブジェクトおよびアクションを作成するために必要な情報を伝達する。
管理者タグは、ウェブ・ページ122a上でタグ付けされたアクションおよびオブジェクトに関連付けられているノードを作成および/または維持する能力を持つソーシャル・ネットワーキング・システム130のユーザを指定する1つまたは複数のソーシャル・ネットワーキング・システム130のユーザ識別子を含む。管理者タグを使用すると、ソーシャル・ネットワーキング・システム130の指定されたユーザが、管理者タグによって指定されたユーザ識別子にのみ利用可能であるユーザ・インタフェースを使用してノードを作成し維持することができる。一実施形態では、アプリケーション識別子は、オブジェクトの所有者を識別するために管理者タグの代わりに使用され得る。別の実施形態では、ソーシャル・ネットワーキング・システム130は、オブジェクトがホストされているドメインに基づきオブジェクトの所有者を自動的に検出することができる。例えば、オブジェクトがウェブサイト上のウェブ・ページ、例えば、http://www.example.com/SNOWMANによって記述され、「スノーマン(SNOWMAN)」がオブジェクトである場合、「SNOWMAN」オブジェクトの所有者はドメイン「www.example.com」として自動的に検出され得る。次いで、ソーシャル・ネットワーキング・システムは、オブジェクトと相互作用したユーザの数などのオブジェクトに関する測定基準情報を決定することができる。ソーシャル・ネットワーキング・システムは、オブジェクト所有者に基づきオブジェクトの挙動を監視することもできる。例えば、既知のスパマーがオブジェクトを作成することをブロックされ得る。ソーシャル・ネットワーキング・システム上でコネクションを有していない所有者によって作成されたオブジェクトは、オブジェクトがスパムであるか、ウイルスであるか、または他のマルウェアであるかを決定するために監視され得る。
1つまたは複数のマイクロ・フォーマットは、マークアップ言語文書114に含まれる他のマークアップ・タグに意味を付加し、これにより、マークアップ・タグによって識別される情報をソーシャル・ネットワーキング・システム130によって自動処理することができる。マイクロ・フォーマットにより、オブジェクトおよびアクションを記述するデータを標準化することができる。それに加えて、1つまたは複数のマイクロ・フォーマットは、ノード・タイプをより詳細に識別するか、またはタイプにオブジェクトまたはアクションを関連付けるためにウェブ・ページ122aからソーシャル・ネットワーキング・システム130が得る情報を増やすことができる。例えば、マイクロ・フォーマットを使用してウェブ・ページ122aから得られた追加の情報により、ソーシャル・ネットワーキング・システム130は、マイクロ・フォーマットからインターネット・ラジオ放送局ウェブサイト、電子商取引ウェブサイト、またはニュース・サービスなどの、視聴されているウェブ・ページ122aのタイプを認識することができる。一実施形態では、これらのタイプのウェブ・ページに固有のアクションおよびオブジェクトは、ソーシャル・ネットワーキング・システム130によって、外部システム120上で取り込まれるユーザ・アクションを検証するための追加チェックとして期待され得る。それに加えて、マイクロ・フォーマットを使用すると、ソーシャル・ネットワーキング・システム130は、ウェブ・ページ122aに関連付けられているオブジェクトおよびアクションに接続されたユーザの関心に関してさらに学習することができる。同様に、位置タグは、ウェブ・ページ122aに関連付けられている位置に関する情報をソーシャル・ネットワーキング・システム130に提供する。例えば、位置タグは、ウェブ・ページ122aに関連付けられている1つまたは複数のアドレスを識別する。
ノード・タイプ・タグは、ソーシャル・ネットワーキング・ウェブサイト130上のノードのタイプを識別する。ソーシャル・ネットワーキング・システム130は、異なるタイプのノード上で異なるアクションを実行させることができる。ノードは、ユーザ、人間
以外のエンティティ、コンテンツ・アイテム、グループ、イベント、メッセージ、コンセプト、スポーツ・チーム、ブログ、アクティビティ、ウェブサイト、映画、ミュージシャン、ホテル、大学、政府機関、UPCで識別される製品、書籍、レストラン、会社、名所旧跡、バー、位置、またはソーシャル・ネットワーキング・システム130内のオブジェクトによって表すことができる他のものを表すことができる。ノード・タイプ・タグは、サードパーティ・デベロッパーが外部システム120および外部システム上でホストされているウェブサイト上のウェブ・ページ122a内のノードを識別することができる。例えば、楽曲オブジェクトに対するノード・タイプ・タグは、「<nodetype=Graph Object><OG:music:song>ムーブス・ライク・ジャガー(Moves Like Jagger)</OG>」などの文字列を含むことができ、ノード・タグはノード・タイプをグラフ・オブジェクトであると識別し、タグは「Moves Like Jagger」というタイトルの楽曲へのリンクを識別する。
外部システム120は、ウェブ・ページ122aを符号化するマークアップ言語文書114を生成し、要求があった場合にマークアップ言語文書114をユーザ・デバイス110に提供する。ユーザ・デバイス110は、ユーザのユーザ・プロファイル・オブジェクト識別子を含むクッキー116を使用するブラウザ・アプリケーション112を利用する。マークアップ言語文書114内で、ウィジェット124は、一実施形態において、ウェブ・ページ122a上のグラフ・オブジェクトに対するユーザ・アクションに関する情報を含むソーシャル・ネットワーキング・システム130にAPIコールを実行する命令を含む。ウィジェット124は、一実施形態では、ブラウザ・アプリケーション112によってレンダリングされたウェブ・ページ122aには表示されない。別の実施形態では、ウィジェット124は、ウェブ・ページ122a上のユーザのアクションに対するアクション・ログを生成して、ソーシャル・ネットワーキング・システム130がアクションおよびオブジェクトをソーシャル・グラフ内に公開するためアクション・ログを定期的に取り出せるようにユーザによって受動的に生成されるアクションおよびオブジェクトを記録する。アクション・ログから抽出された、またはAPIコールを通じて受け取った情報は、一実施形態において、ソーシャル・ネットワーキング・システム130に記憶され得る。別の実施形態では、抽出された情報は、ソーシャル・ネットワーキング・システム130のストリームでニュースフィード・ストーリまたはコンテンツ・アイテムを生成するために使用され得る。
ソーシャル・ネットワーキング・システム130が、ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーまたは管理者によって定義されるような、オブジェクトのタイプおよびアクションのタイプ、さらにはオブジェクトとアクションとの間の関係を記憶した後、グラフ・アクションおよびグラフ・オブジェクトは、外部システム120上のウェブ・ページ122aと相互作用するソーシャル・ネットワーキング・システム130のユーザによって生成され得る。図4は、本発明の一実施形態による、ソーシャル・ネットワーキング・システム130の外にある構造化アクションおよびオブジェクトを取り込むための方法の相互作用図である。図4で示されている実施形態において、外部システム120は、ソーシャル・ネットワーキング・システム130とは別である。最初に、ユーザ・デバイス110は、外部システム120にコンテンツを要求する(410)。例えば、ユーザ・デバイス110のユーザは、外部システム120に関連付けられているユニフォーム・リソース・ロケータ(URL)または他の識別子をユーザ・デバイス110上で動作するブラウザ・アプリケーション112に入力する。ブラウザ・アプリケーション112は、受け取ったURLまたは他の識別子に関連付けられている外部システム120を識別し、識別された外部システム120に受け取ったURLまたは他の識別子に関連付けられているウェブ・ページ122aを要求する。別の例として、ユーザ・デバイス110のユーザは、外部システム120に関連付けられているユーザ・デバイス110上のアプリケーションを開き、コンテンツの要求410がアプリケーションによ
って外部システム120に送られる。
コンテンツの要求410を受信した後、外部システム120は、ローカルに記憶されているデータを使用してコンテンツを生成する(412)。例えば、外部システム120は、記憶されているデータに基づきウェブ・ページ122aのコンテンツおよびフォーマットを記述するマークアップ言語文書114を生成する(412)。マークアップ言語文書114は、ユーザ・デバイス110のブラウザ・アプリケーション112によって実行されたときに、ソーシャル・ネットワーキング・システム130からデータを取り出し、ソーシャル・ネットワーキング・システム130から取り出された情報を表示する命令からなるウィジェット124を備える。別の例として、外部システム120は、ユーザ・デバイス110からのAPIコールに応答してコンテンツを生成することができる(412)。
次いで、外部システム120は、コンテンツをユーザ・デバイスに送信する(414)。一実施形態では、外部システム120は、ネットワーク140を通じて、生成されたウェブ・ページ122a記述し、ウィジェット124を含むマークアップ言語文書114をユーザ・デバイス110に送信する(414)。マークアップ言語文書114を受け取った後、ブラウザ112は、マークアップ言語文書114に含まれるコンテンツおよびフォーマット命令に基づきウェブ・ページ122aをレンダリングする(416)。ウェブ・ページ122をレンダリングする(416)ことに加えて、ユーザ・デバイス110におけるブラウザ112は、ウィジェット124を実行して(418)、ウェブ・ページ122a内にフレームを作成する。ウィジェット124を実行すると、クッキーを通じてユーザ・デバイスを認証することによってソーシャル・ネットワーキング・システム130にパーソナライズされたコンテンツを要求する(420)ことにもなる。ウィジェット124に含まれる、URL、または他のウェブ識別子は、ソーシャル・ネットワーキング・システム130に伝達され、これにより、URLまたは他のウェブ識別子に関連付けられているオブジェクトおよびアクションにコンテンツを要求する(420)。一実施形態では、ブラウザ112は、ウィジェット124からの1つまたは複数のパラメータも識別し、フレーム内に入れるコンテンツを要求する(420)ときに識別されたパラメータをソーシャル・ネットワーキング・システム130に送信し、要求されたコンテンツのカスタマイズをさらに行えるようにする。別の実施形態では、パーソナライズされたコンテンツに対する要求420は、ユーザ・デバイス110からソーシャル・ネットワーキング・システム130へのAPIコールを通じて行われる。APIコールは、上で説明されているように、アクションおよびオブジェクトの構造を定義したサードパーティ・デベロッパーによってパラメータ化される。
ユーザ・デバイス110からコンテンツに対する要求を受け取ったことに応答して、ソーシャル・ネットワーキング・システム130は、クッキー116を通じてユーザ・デバイス110を認証する。一実施形態では、クッキー116の存在は、コンピューティング・デバイス110のユーザが、ソーシャル・ネットワーキング・システム130のユーザか否か(例えば、ユーザがソーシャル・ネットワーキング・システム130の有効なアカウントを有するか否か)を示す。コンピューティング・デバイス110のユーザが、ソーシャル・ネットワーキング・システム130のユーザである場合、クッキー116は、ユーザが、ソーシャル・ネットワーキング・システム130のユーザか否か(例えば、ユーザがソーシャル・ネットワーキング・システム130と現在有効なセッションを有するか否か)を示す情報を含んでいるものとしてよい。クッキーは、本明細書では、ユーザおよび/またはユーザ・セッションを認証することについて説明されているが、ユーザまたはセッション識別または認証の他の方法を使用することもできる(物理的なトークンを認識するなど)。
ユーザ・デバイス110の認証後に、ソーシャル・ネットワーキング・システム130は、受け取ったクッキー116に関連付けられているユーザに応じてパーソナライズされるフレームに入れる要求されたパーソナライズコンテンツを生成する(422)。例えば、ソーシャル・ネットワーキング・システム130は、ウィジェット124に含まれているURLに関連付けられ、識別されたユーザの友達に関連付けられているノードのアクションを記述するソーシャル情報を生成する(422)。例えば、生成されたソーシャル情報は、あるタイプのオブジェクトに特定のタイプのアクションを行って識別されているユーザの友達の数を識別するか、またはあるタイプのオブジェクトに指定されたタイプのアクションを最近行ったユーザの特定の友達を識別する。あるいは、ソーシャル・ネットワーキング・システム130は、ウィジェット124に含まれているURLに関連付けられているアクションおよびオブジェクトから、識別されたユーザに関連付けられているソーシャル情報を追加することなく、データを抽出することによってコンテンツを生成する(420)。例えば、ソーシャル・ネットワーキング・システム130は、ウィジェット124に含まれるURL上に既に取り込まれているアクションおよびオブジェクトのタイトル、説明、および画像を決定する。このコンテンツは、例えば、他のユーザがユーザに直接的に接続されていない場合であっても、関心に対する親近感で他のユーザによって実行されるアクションを並べ替えることによってユーザ・デバイス110に関連付けられているソーシャル・ネットワーキング・システム130のユーザにパーソナライズすることができる。
ソーシャル・ネットワーキング・システム130が、受け取ったクッキー116に関連付けられているユーザがウィジェット124に含まれるURLに関連付けられているオブジェクト・タイプまたはアクション・タイプに記憶されている管理者ユーザ識別子と一致すると決定した場合に、ソーシャル・ネットワーキング・システム130は、フレームによる提示のため管理コンテンツを生成する(422)。ウェブ・ページ122aを符号化するマークアップ言語文書114に含まれる管理者タグは、ウェブ・ページ122aに関連付けられているオブジェクト・タイプまたはアクション・タイプを作成し、および/または維持することができるソーシャル・ネットワーキング・システム130のユーザを指定する。したがって、ソーシャル・ネットワーキング・システム130が、管理者ユーザ識別子に関連付けられているユーザを識別するときに、ソーシャル・ネットワーキング・システム130は、ユーザがウィジェット124に含まれるURLに関連付けられているノードを修正することを可能にするコンテンツを生成する(422)。例えば、ソーシャル・ネットワーキング・システム130は、フレームを通じてユーザによってアクセスされたときにユーザをデバッグ・ページに誘導するリンクを生成する(422)。あるいは、ソーシャル・ネットワーキング・システム130は、フレームを使用して表示するためにウィジェット124に含まれているURLに関連付けられているノードからデバッグ情報を生成する(422)。例えば、ソーシャル・ネットワーキング・システム130は、ウェブ・ページ122aを符号化するマークアップ言語文書114から欠落しているタグを識別し、ユーザが欠落タグを入力するか、または既存のタグを修正することを可能にする。
しかし、ソーシャル・ネットワーキング・システム130が、受け取ったクッキー116に関連付けられているユーザを認証することができない場合、ソーシャル・ネットワーキング・システム130は、ユーザが認証情報を入力することを求めるプロンプトをユーザ・デバイス110に伝達する。あるいは、ソーシャル・ネットワーキング・システム130は、ウィジェット124に含まれているURLに関連付けられているノードから、ユーザに向けてコンテンツをパーソナライズすることなく、データを抽出することによってコンテンツを生成する(422)。別の実施形態では、ソーシャル・ネットワーキング・システム130は、ウィジェット124に含まれているURLに関連付けられているノードからデータを抽出することと、識別されたノードに関するソーシャル・ネットワーキン
グ・システム130のユーザが実行するアクションを決定することとによってコンテンツを生成する(422)。例えば、ソーシャル・ネットワーキング・システム130は、ソーシャル・ネットワーキング・システム130のユーザによって実行される識別されたアクション・タイプおよびオブジェクト・タイプに関して一番最近のユーザ相互作用を識別することができる。したがって、ソーシャル・ネットワーキング・システム130が、受け取ったクッキー116に関連付けられているユーザに関連付けられている認証情報を受信するまで、ソーシャル・ネットワーキング・システム130によって生成される(422)コンテンツは、識別されたノードに関する受け取ったクッキー116に関連付けられているユーザの友達によって実行されるアクションを記述するソーシャル情報を含まない。
ユーザ・デバイス110は、ネットワーク140を通じてソーシャル・ネットワーキング・システム130からパーソナライズされたコンテンツを受信する(424)。次いで、ユーザ・デバイス110は、ソーシャル・ネットワーキング・システム130から受信された(424)パーソナライズコンテンツを表示する(426)。次いで、ユーザ・デバイス110は、アクションに関連付けられているユーザから入力を受け取る(428)。ユーザ・デバイス110は、ユーザがプロンプトまたは他のユーザ・インタフェースを通じてユーザ・デバイス110を使用してユーザが「10マイル走った」か、または「テール・オブ・ザ・シティ(Tales of the City)を読んだ」ことを示すことを可能にするユーザ・デバイス110上で実行されているアプリケーションなどの、アクションをユーザが実行したことを示す明示的な指示をユーザから受け取ることができる。別の実施形態では、ユーザ・デバイス110は、ユーザが特定のウェブ・ページをロードする、電子書籍リーダー・アプリケーションを開いて書籍をロードする、または音楽アプリケーションを開いて楽曲をロードするなど、ユーザが実行するアクションを観察することができる。アクションは、楽曲を聴く、書籍を読む、バーベルを持ち上げる、またはテニスの試合をするなど、ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーまたは管理者によって定義される。アクションに関連付けられているユーザからの入力は、一実施形態では、ブラウザ・アプリケーション上でのマウスのクリック、タッチ・コマンド、または音声コマンドによって受け取ることができる。別の実施形態では、アクションに関連付けられているユーザ入力は、ウェブ・ページの指定されたURLをロードするHTTP要求を提出することによって受け取る(428)ことができる。さらに別の実施形態では、アクションに関連付けられているユーザ入力は、ユーザ・デバイス110でユーザ・デバイス110上で実行しているアプリケーションを通じてGPS位置を取得することによって受け取る(428)ことができる。さらなる実施形態において、アクションに関連付けられているユーザ入力は、ユーザ・デバイス110が外部システムと通信して、インターネット・ラジオ放送局で次の楽曲を再生する、またはテニス試合で新しい高スコアを達成するなど、ユーザ・デバイス110上でアクションを実行することによって受け取る(428)ことができる。上で説明されているように外部システム120を運用しているサードパーティ・デベロッパーまたは通信事業者は、ウィジェット124でコード・スニペットを実装し、ユーザ・デバイス110が受け取る(428)アクションを識別した。このようにして、ユーザ・デバイス110のユーザは、ユーザ・デバイス110がソーシャル・ネットワーキング・システム130によって認証された後、ユーザ・デバイス110が受け取る(428)アクションを受動的に作成することができる。
ユーザ・デバイス110は、アクションを受け取る(428)と、アクションに対するウィジェット・ロジック、またはウィジェットに含まれる命令を実行する(430)。一実施形態では、ウィジェット・ロジック内の命令により、ブラウザ・アプリケーション112はウィジェット124を実行させて、ウィジェット124によって識別されたURLに関連付けられているアクション・タイプおよびオブジェクト・タイプの定義済みの構造
に応じてアクションを記録する。ウィジェットは、ソーシャル・ネットワーキング・システム130にAPIコールでユーザ・アクションに関する情報を送信する(432)命令も含み得る。そのような情報は、実行されたアクション・タイプ、オブジェクト・タイプ、およびユーザに対するユーザ識別子、さらには走ったマイル数、燃焼したカロリー数、エクササイズの位置、音楽アプリケーションなどの同時に実行している他のアプリケーション、および同様のものなどの、実行されたアクションに関する文脈の情報を含むものとしてよい。ソーシャル・ネットワーキング・システム130は、ユーザとアクション・タイプ・ノードとの間のアクションを記録する(440)。ソーシャル・ネットワーキング・システム130におけるノードとのユーザ相互作用の場合と同様に、この相互作用は、ユーザとそのユーザが相互作用したアクション・タイプとの間のエッジを形成し得る。記憶されているエッジは、そのアクション・タイプ・ノードとユーザとの間のコネクションに関する有用な情報をもたらす(ユーザがノードでも表されている場合)。このエッジ情報は、ソーシャル・ネットワーキング・システム130のオブジェクト・ストア内に、例えば、ユーザに関連付けられているユーザ・プロファイル・オブジェクト内に、またはコネクション・ストア214内の個別のコネクション・オブジェクトとして、記憶され得る。
受け取った(428)アクションは、外部システム120との通信で行われ得るので、ユーザ・アクションは、ユーザ・デバイス110によって個別に報告される代わりに、外部システム120によって集約され得る(434)。定期的に、これらの集約されたアクションは、ソーシャル・ネットワーキング・システム130によって要求され(436)、アクションがソーシャル・ネットワーキング・システム130に記録され(440)得るようにソーシャル・ネットワーキング・システム130によって取り出され得る(438)。このような一実施形態では、ソーシャル・ネットワーキング・システム130は、外部システム120が集約されたアクションを要求(436)後に取り出し(438)に利用可能にするAPIを提供することができる。あるいは、この情報を外部システム120からソーシャル・ネットワーキング・システム130に伝達するための他の適切なメカニズムも使用され得る。
したがって、ソーシャル・ネットワーキング・システム130によって維持されるソーシャル・グラフは、外部システム上で生成され得るアクションおよびオブジェクトを含むことができる。ソーシャル・グラフによって記憶されるデータの量を増加させることに加えて、ソーシャル・グラフをサードパーティ・デベロッパーに開放することで、ソーシャル・ネットワーキング・システム130のユーザは、異なる外部システムからトラックの音楽プレイリストを再生する、ソーシャル・ネットワーキング・システム上のコネクションを有する新しいアーティストのアルバムに関して会話に加わる、推奨およびレビューを通じてソーシャル・ネットワーキング・システムのユーザと視聴選好に関する情報を受動的に共有する、外部システム120内に具現化されるコンセプトとの他の相互作用の数限りない組み合わせなど、外部システムとの現実世界の相互作用をソーシャル・ネットワーキングのユーザ経験に容易に統合し、共有し、発見することができる。
図5A〜図5Cは、外部システム120のウェブ・ページ122aの一実施形態を例示している。ウェブ・ページ122aは、ウェブ・ページ122aを閲覧しているユーザに接続されているソーシャル・ネットワーキング・システム130の他のユーザに基づき外部システム120から公開されたソーシャル・グラフ・データのクエリの結果を表示するためのフレーム504を備える。ウェブ・ページ122aは、ユーザ・デバイス110上で動作するブラウザ・アプリケーション112を使用してテキスト・データ、ビデオ・データ、画像データ、または提示するための他のデータなどのコンテンツ510を含む。ウェブ・ページ122aは、コンテンツ510のフォーマットまたは表現を記述する1つまたは複数の命令も含む。ユーザ・デバイス110上で動作しているブラウザ・アプリケー
ション112が、ウェブ・ページ122に含まれる命令を実行する場合、ブラウザ・アプリケーション112は、ウェブ・ページ122aによって記述されたフォーマットまたは提示を使用して識別されたコンテンツ510を表示する。
ウェブ・ページ122aは、ソーシャル・ネットワーキング・システム130に関連付けられているドメイン内のユニフォーム・リソース・ロケータ(URL)を呼び出すフレーム504も備える。フレーム504は、ウェブ・ページ122aを符号化するマークアップ言語文書114に含まれるウィジェット124を実行するユーザ・デバイス110上で動作するブラウザ・アプリケーション112によってレンダリングされる。ウィジェット124は、ブラウザ・アプリケーション112によって実行されたときにウェブ・ページ122a内にフレーム504を生成し、フレーム504にソーシャル・ネットワーキング・システムからの情報を入れる1つまたは複数の命令からなる。一実施形態では、フレーム504は、ソーシャル・ネットワーキング・システム130から得られたデータを含むiFrameである。iFrameは、外部システム120上で社会的に関連性のある情報をウェブ・ページ122a内に組み込むプラグインとしても記述され得る。社会的に関連性のある情報は、視聴ユーザに関して既知の情報に基づき視聴ユーザに関連性があるとして認知され得るソーシャル・ネットワーキング・システム130のコネクションまたは他のユーザに関する情報として定義され得る。一実施形態では、視聴ユーザの関心および選好は、視聴ユーザに関連付けられ、ソーシャル・ネットワーキング・システム130から得られるユーザ・プロファイル・オブジェクトから取得され得る。別の実施形態では、ソーシャル・ネットワーキング・システム130上の視聴ユーザの同一性は、未知であってもよい。その場合、ウェブ・ページ122a上で生成されるコンテンツに関する情報を利用して、コンテンツに関係する社会的に関連性のある情報をフレーム504に設定することができる。プラグインは、閲覧されている外部システム120上のソーシャル・ネットワーキング・システムのユーザによって生成されているグラフ・アクションおよびグラフ・オブジェクトを含み得る。
フレーム504は、ソーシャル・ネットワーキング・システム130によって維持されるノードに関連付けられ、ウィジェット124によって指定された、URL、または他のウェブ識別子に関連付けられているソーシャル・ネットワーキング・システム130からのデータを含む。例えば、ブラウザ・アプリケーション112が、ウィジェット124を実行したときに、楽曲オブジェクト識別子、ラジオ放送局オブジェクト識別子、および/またはユーザ・プロファイル識別子を含むコンテンツに対する要求が、ブラウザ・アプリケーション112からソーシャル・ネットワーキング・システム130に伝達される。ソーシャル・ネットワーキング・システム130は、コンテンツに対する要求から楽曲オブジェクト304および/またはラジオ放送局オブジェクト302を識別し、識別された楽曲オブジェクト304および/またはラジオ放送局オブジェクト302に関する社会的に関連性のある情報を、ユーザ・プロファイル・オブジェクト318のコネクションに基づきブラウザ・アプリケーション112に伝達する。ブラウザ・アプリケーション112は、この社会的に関連性のある情報をフレーム504内に表示する。一実施形態では、ウィジェット124は、1つまたは複数のパラメータをソーシャル・ネットワーキング・システム130に伝達する。これらのパラメータにより、ウェブ・ページ124においてフレーム504をカスタマイズすることができる。例えば、これらのパラメータで、フレーム504の高さおよび/または幅を指定する。
一実施形態では、ウィジェット124は、URLまたは他のウェブ識別子へのいくつかのリンクをクリックするなど、いくつかのイベントの完了後にAPIコールを行うスクリプト言語の命令を備える。例えば、図5Aは、ウィジェット124を含むウェブ・ページ122aの一部分500を例示している。ウィジェット124は、ラジオ放送局メニュー502、聴くボタン514、次へボタン516、再生中リボン512、およびフレーム5
04を備える。聴くボタン514の選択で、ユーザはインターネット・ラジオ放送局ウェブサイトで音楽を再生することができる。このイベントの後、聴くボタン514をクリックすると、ウィジェット124は、ユーザに関連付けられているユーザ・プロファイル・オブジェクト318によって聴くアクション310を記録する。それに加えて、ラジオ放送局オブジェクト302および楽曲オブジェクト304が記録され、聴くアクション310に関連付けられる。ウィジェット124は、一実施形態において、ソーシャル・ネットワーキング・システム130に伝達されるアクション・ログにアクションおよびオブジェクトを記録することができる。別の実施形態では、ウィジェット124は、APIコールでラジオ放送局オブジェクト302、楽曲オブジェクト304、聴くアクション310、およびユーザ・プロファイル・オブジェクト318を含むメッセージをソーシャル・ネットワーキング・システム130に伝達する。ソーシャル・ネットワーキング・システム130へのこのAPIコールにより、ソーシャル・グラフ上にノードを作成することができ、ユーザのコネクションに対して表示されるソーシャル・ネットワーキング・システム130のストリームで公開される新しいストーリおよびコンテンツ・アイテムに対するコンテンツを構成する。
別の例として、ソーシャル・ネットワーキング・システム130の外部にある、モバイル・アプリケーションは、ユーザから要求されたときに動作して、クラブで演奏する楽曲を聴くことができる。モバイル・アプリケーションのユーザは、モバイル・アプリケーションにソーシャル・ネットワーキング・システム130と情報を共有する許可を与えたと仮定すると、クラブで演奏する識別された楽曲に対応する楽曲オブジェクト304は、ウィジェット124、さらには聴くアクション310によって記録され得る。ロケーション・オブジェクト312も、ユーザのモバイル・デバイス上のGPS測位サービスに基づきウィジェット124によって記録され得る。モバイル・アプリケーションは、ソーシャル・ネットワーキング・システム130のユーザによって実行されるオブジェクトおよびアクションを記録し、報告するためのウィジェット124を組み込むことができる。その結果、ユーザのユーザ・プロファイル・オブジェクト318は、楽曲オブジェクト304に関連付けられているジャンル・オブジェクト(複数可)316の音楽ジャンルにおける関心を反映するように更新され得る。さらに、ユーザは、ロケーション・オブジェクト312によって示される場所にチェックインすることができる。そこで、アプリケーションまたはウェブ・ページに組み込まれている、ウィジェット124により、ソーシャル・ネットワーキング・システム130のユーザは、ソーシャル・グラフに外部システム120との1つまたは複数の相互作用を受動的に公開することができる。
フレーム504は、「友達の楽曲トップ3(Your Friends’ Top 3
Songs)」など、ソーシャル・ネットワーキング・システム130から得られた社会的に関連性のある情報506も含み得る。これにより、フレーム504内のコンテンツをソーシャル・ネットワーキング・システム130の示されたユーザについてパーソナライズすることができる。社会的に関連性のある情報506は識別されたユーザの友達にパーソナライズされるか、ソーシャル・ネットワーキング・システム130のユーザが識別できない場合にはすべてのユーザから得られた情報であってよい。それに加えて、社会的に関連性のある情報506は、現在視聴されているオブジェクトに対応するオブジェクト識別子に関係する構造化されたアクションおよびオブジェクトに関するクエリを使用して取り出すことができる。この場合、再生中リボン512は、アーティスト「ブリトニー・スピアーズ」による曲「Till The World Ends」を現在再生中となっている。
図5A〜図5Cは、インターネット・ラジオ放送局に対する外部システム120の例示的なウェブ・ページを示している。ソーシャル・ネットワーキング・システム130のユーザは、ソーシャル・ネットワーキング・システム130と情報を共有する許可を外部シ
ステム120に既に与えている。ユーザは、外部システム120上で「Britney」ラジオ放送局を聴くためにラジオ放送局メニュー502で選択508を行った。アーティスト「ブリトニー・スピアーズ」による曲「Till The World Ends」が再生中リボン512で現在再生中である。ユーザが「聴く」ボタン514をクリックすると、一実施形態において、ウェブ・ページ122aに埋め込まれているウィジェット124は、ユーザのユーザ・プロファイル・オブジェクト識別子および楽曲オブジェクト識別子とともにソーシャル・ネットワーキング・システム130にAPIコールを実行する。別の実施形態では、ウィジェット124は、ソーシャル・ネットワーキング・システム130によって定期的に取り出されるアクション・ログ内に、聴くアクションおよび楽曲オブジェクトを記録する。さらなる実施形態において、ウィジェット124は、ソーシャル・ネットワーキング・システム130上で聴くアクション・インスタンスおよび楽曲オブジェクト・インスタンスに関する識別情報をアクション・ログ内に記録する。一実施形態では、楽曲に対する楽曲オブジェクト識別子は、楽曲の名前およびアーティストの名前である。別の実施形態では、英数字識別子は、ソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者によって楽曲に割り当てられる。さらなる実施形態において、楽曲オブジェクトの識別子は、外部システム120上で楽曲オブジェクトを記述するウェブ・ページ122bに対するURLである。
ユーザが「次へ」ボタン516をクリックすると、サードパーティ・デベロッパーは、ユーザは再生していた楽曲に関心を持っていないと解釈し得る。その結果、ユーザが楽曲をスキップしたことを示すユーザのユーザ・プロファイル・オブジェクト識別子および楽曲オブジェクト識別子とともにソーシャル・ネットワーキング・システム130に対して別のAPIコールが実行される。「スキップする」アクションは、アプリケーションがこの情報を利用してユーザのユーザ・プロファイル情報を修正することによって、ユーザがその楽曲、その楽曲を演奏しているアーティスト、およびその楽曲に関連付けられている音楽のジャンルに関心を持っていないことを示すと解釈できる。楽曲オブジェクト304がアーティスト・オブジェクト306にリンクされ、楽曲オブジェクトとアーティスト・オブジェクトの両方がジャンル・オブジェクト316にリンクされている図3に説明されている構造のように、ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーまたは管理者によって定義されているなど、楽曲オブジェクトが構造化されているため、グラフ・オブジェクトに対するグラフ・アクションの解析が実行され得る。グラフ・アクションおよびグラフ・オブジェクトの解釈は、ソーシャル・ネットワーキング・システム130および/または外部システム120のさまざまなモジュールによって生成され得る。
図5Aは、ウィジェット124が、現在再生している楽曲に関する社会的に関連性のある情報506をユーザにどのように提供することができるかも示している。これは、本発明の実施形態によって生成されるアクションおよびオブジェクトに対して行われるクエリの結果である。図5Aにおいて、「Your Friends’ Top 3 Songs」は、ソーシャル・ネットワーキング・システム130上のユーザのコネクションによって再生された曲上位3曲を示す。サードパーティ・デベロッパーは、ソーシャル・ネットワーキング・システム130の管理者によって作成され得る最も頻繁に再生される楽曲などのテンプレート・クエリに加えて、カスタム・クエリも利用することができる。例えば、図5Bにおいて、ウィジェット124は、ユーザ自身の曲上位3曲のユーザへの表示のためフレーム520を提供する。これらの結果を取り出したクエリは、ユーザが最も聴いた楽曲に加えてユーザがスキップした楽曲を除外することができる。さらに入り組んだ複雑なクエリを生成して、ユーザが好むアーティストの最もポピュラーな誕生年を表示するフレーム522を例示している図5Cに示されているように、より興味深いデータの視覚エフェクトを提供することができる。このクエリは、ユーザが最も聴き、次いでアーティストの誕生年でグループ化された楽曲をとる。図示されていないが、このクエリは、ソ
ーシャル・ネットワーキング・システム130内のユーザのコネクション上で、またはソーシャル・ネットワーキング・システム130のすべてのユーザに亘って実行することもできる。ここでもまた、これらのクエリは、図3に例示されているように、ソーシャル・ネットワーキング・システム130のサードパーティ・デベロッパーまたは管理者によって定義されているような楽曲オブジェクトの構造によって可能にされる。
図5Cは、ソーシャル・ネットワーキング・システム130のユーザによって再生されている、別のラジオ放送局である「グリー(Glee)」放送局を例示している。「Glee」ラジオ放送局の選択508は、一実施形態において、APIコールのパラメータとして「Glee」に対するラジオ放送局オブジェクト識別子302およびユーザのユーザ・プロファイル・オブジェクト識別子を渡すウィジェット124によるソーシャル・ネットワーキング・システム130へのAPIコールのトリガとなり得る。別の実施形態では、アクション・ログは、同じ情報が設定され、ソーシャル・ネットワーキング・システム130によって定期的に取り出され得る。例えば、「切り替える」アクションは、図3で説明されている「聴く」アクションに加えて、アクション・ログに記録され得る。
図5A〜図5Cに例示されているように、外部システム120上、特にウェブ・ページ122a上のユーザ・アクションに基づき複数のアクションおよびオブジェクトが生成され、ソーシャル・ネットワーキング・システム130のソーシャル・グラフに公開され得る。特に、ウェブ・ページ122a内に埋め込まれているウィジェット124は、一実施形態において、さまざまなボタン、メニュー、およびリンクをクリックするなど、ユーザ・イベントにおいてソーシャル・ネットワーキング・システム130へのAPIコールを実行するようにサードパーティ・デベロッパーによってプログラムされ得る。別の実施形態では、ウィジェット124は、ユーザがこれらのイベントを実行することに対するアクション・ログを生成し、オブジェクトおよびアクションをアクション・ログに記録してソーシャル・ネットワーキング・システム130が定期的に取り出せるようにすることができる。
図5Dは、本発明の一実施形態による、外部システム120のウェブ・ページ122a上で実行されるウィジェット124の一例を示している。一実施形態では、ウィジェット124は、社会的に関連性のある情報538を取り出して視聴ユーザに推奨を行うためにソーシャル・ネットワーキング・システム130へのAPIコールを生成する命令を含む。図5Dは、ウィジェット124がソーシャル・ネットワーキング・システム130から取得された社会的に関連性のある情報538、「“ウラジーミル・プーチンは、人物です”は、ソレイオ・クエルボと3人の友達によって読まれた(Vladimir Putin is The Man read by Soleio Cuervo and 3
friends)」を組み込んだプラグイン530をレンダリングする外部システム120上にホストされているニュース記事ウェブサイトを例示している。図5Dに示されているように、ニュース記事「ウラジーミル・プーチンは、人物です(Vladimir Putin is The Man)」はグラフ・オブジェクトであり、「読まれた(read)」がグラフ・アクションである。「ソレイオ・クエルボ(Soleio Cuervo)」および「3人の友達(3 friends)」は、グラフ・オブジェクトに対してグラフ・アクションを実行した実行者(Soleio Cuervo)540、またはソーシャル・ネットワーキング・システム130のユーザである。画像544は、実行者540に対応するAPIコールの結果としてソーシャル・ネットワーキング・システム130から取り出され、プラグイン530にも表示され得る。
グラフ・アクションは、ニュース記事を「未読」としてマークすることを可能にするボタンなど、カスタム実行ボタン532に組み込まれ得る。カスタム実行ボタン532は、関わるグラフ・アクションのタイプに応じてさまざまなプログラミング命令を組み込むこ
とができる。この場合、カスタム実行ボタン532は、ユーザがウェブ・ページ122aをロードするときに個別のアクション、「既読にする」アクションを反転する「未読にする」アクションを生成する。「既読にする」アクションは、一実施形態では、ウェブ・ページ122上でユーザが所定の時間を費やすか、または別の実施形態では、ウェブ・ページ122の終わりまでスクロール・ダウンすると受動的に生成され得る。ソーシャル・ネットワーキング・システム上のコネクションとノードを共有する、ノードの賛同を表明するなどの、他のアクションも、プラグイン530の送信(Send)ボタン534および「いいね(Like)」ボタン536に組み込むことができる。プラグイン530は、社会的に関連性のある情報538内に、ソーシャル・ネットワーキング・システム130のユーザによる多数のコメントおよび賛同の表明も含める。最後に、プラグイン530内に表示する承認(Add to Profile)ボタン542が提供され、これにより、継続的に外部システム120上で生成されるグラフ・コンテンツ・アイテムのソーシャル・ネットワーキング・システム130への受動的公開に対する承認を行うことができる。例えば、外部システム120上にホストされているウェブサイトのウェブ・ページ122aを訪れるユーザは、プラグイン530において、ウェブサイトをユーザに関連付けられているプロファイル・ページに追加するよう求められ得る。そうする際に、ユーザは、ユーザがウェブサイトとの相互作用を続けるときにコンテンツ・アイテムをストリーム内に受動的に公開する許可をソーシャル・ネットワーキング・システム130に付与する。これは、外部システム120上の現実世界の相互作用も取り込みつつ、ソーシャル・ネットワーキング・システム130のユーザに対して、発見し共有する追加のグラフ・コンテンツ・アイテムを生成する点において有益である。
別の実施形態では、サードパーティ・デベロッパーは、ウェブ・ページ122a上のコンテンツに対するソーシャル・コンテキストを含む外部システム120上のウェブ・ページ122a上にウィジェット124を備えることができる。複数のアクションが、「推奨する」、「共有する」、「いいね」、「読む」、「コメントする」、「ダウンロードする」などのウェブ・ページ122a上に具現化されたグラフ・オブジェクトに対して実行され得る。図5Dにおいて、記事は、視聴ユーザによって「読まれている」。ウィジェット124に含まれる画像544は、ニュース記事オブジェクトに対して「読む」アクションを実行した他のユーザを含み得る。他方で、「推奨する」アクションなどの異なるアクションがグラフ・オブジェクトに対する「最良の」アクションであると決定される場合もあるが、それは視聴ユーザに接続されているより多くのユーザがグラフ・オブジェクトに対してそのアクションを実行しているためである。そのようなものとして、画像544は、「最良の」アクションである、「推奨する」アクションを実行した他のユーザを示すものとしてよい。さらなる実施形態において、ウィジェット124は、視聴ユーザの関心、親近感、および過去のクリックの挙動などの視聴ユーザに関する情報を使用して、表示する「最良の」アクションを決定することができる。例えば、「コメントする」アクションは、視聴ユーザが他の記事を頻繁にコメントしているため図5に表示されているグラフ・オブジェクトに対する「最良の」アクションとなっているものとしてよい。したがって、視聴ユーザに表示される画像544は、ニュース記事に関してコメントした他のユーザを含むことができる。一実施形態では、サードパーティ・デベロッパーは、ウェブ・ページ122aのコンテンツに対するソーシャル・コンテキストを含め、ウェブ・ページ122aに具現化されたグラフ・オブジェクトに関係する他のユーザ相互作用の可視化を広げるように、ウェブ・ページ122aに具現化されたグラフ・オブジェクトに関係する他のオブジェクトに関心を有しているユーザも含めることができる。例えば、図5Dに示されているような「ザ・セレブリティ・ディフェンス(The Celebrity Defense)」という表題の記事、「ロマン・ポランスキー(Roman Polanski)」に関する記事と相互作用したユーザをウィジェット124に単に示す代わりに、ウィジェット124は、「Roman Polanski」に関心を持っている視聴ユーザに接続されたユーザ、ソーシャル・ネットワーキング・システム内のページ・オブジェクト、
ロマン・ポランスキーが監督する映画の映画評論記事に対するグラフ・オブジェクトと相互作用したユーザ、さらにはロマン・ポランスキーに関する別のニュース記事にコメントしたユーザを示すものとしてよい。この例では、ウィジェット124は、ウェブ・ページ122aに具現化されたグラフ・オブジェクトがキーワード「Roman Polanski」を含んでいるため、映画監督グラフ・オブジェクト「Roman Polanski」などの、これらと関連付けられているメタデータを有する、グラフ・オブジェクトを含む、他のオブジェクトと相互作用したソーシャル・ネットワーキング・システムのユーザを含む。他の実施形態では、サードパーティ・デベロッパーは、ロマン・ポランスキーが監督した映画を鑑賞した、法律的記事に関心のある、視聴ユーザに接続されている他のユーザを検索するカスタム・クエリをウィジェット124に入れることができる。これらのカスタム・クエリは、カスタム・グラフ・オブジェクトが検索可能なオブジェクト・プロパティを含むことができるため実行され得る。
ソーシャル・ネットワーキング・システム上への公開のためのグラフ・コンテンツ・アイテムの順位付け
図6は、本発明の一実施形態による、グラフ・コンテンツ・アイテム順位付けモジュールのハイレベルブロック図を例示している。グラフ・コンテンツ・アイテム順位付けモジュール150は、機械学習モジュール600、ヒューリスティック解析モジュール602、アプリケーション・スコアリング・モジュール604、グラフ・オブジェクト推奨モジュール606、パフォーマンス・メトリクス解析モジュール608、およびグラフ・コンテンツ・アイテム・スコアリング・モジュール610を備える。これらのモジュールは、互いに連携して、または独立して動作し、ソーシャル・ネットワーキング・システム130に伝達される外部システム120上に生成されたグラフ・データから整理、組み立てられたコンテンツ・アイテムに対する順位付けスコアを作成することができる。
機械学習モジュール600は、ソーシャル・ネットワーキング・システム130上のグラフ・コンテンツ・アイテムの順位付けを最適化する。初期重みとともに学習モジュールを利用することで、機械学習モジュール600は、パフォーマンス・メトリクス解析モジュール608と連携して使用され、これにより関連性のあるコンテンツ・アイテムを提示するために順位付けを最適化する最もよい方法を決定することができる。例えば、視聴ユーザによってスパムであるとマークされるか、または隠されるコンテンツ・アイテムは、機械学習モジュール600によって、初期重みを調整するための学習情報として解釈されてもよく、この初期重みは、グラフ・コンテンツ・アイテムの順位付けにおいて機械学習モジュール600によって使用される。機械学習モジュール600は、他のモジュールと連携して使用され、一実施形態において、特定の視聴ユーザについてソーシャル・ネットワーキング・システム130に表示するコンテンツ・アイテムを明示的に含めるか、または除外することができる。
ヒューリスティック解析モジュール602は、グラフ・コンテンツ・アイテム順位付けモジュール150において他のモジュールから独立して、非同期に動作する。ヒューリスティック解析モジュール602は、外部システム120上に生成されるオブジェクトおよびアクションに関するソーシャル・ネットワーキング・システム130によって集められた情報を解析するさまざまな工程を実行する。一実施形態では、ヒューリスティック解析モジュール602を使用して、外部ユーザ相互作用を通じて生成されるオブジェクトに具現化される特定の関心に関するコミュニケーション・アクティビティのレベルを解析し、それらのコミュニケーションが外部ユーザ相互作用から生成されたコンテンツ・アイテムを順位付けする際の関連するキーワードを含むか否かを決定することができる。例えば、ヒューリスティック解析モジュール602が「レディ・ガガのニュー・シングルは、ブリトニーのより断然よい(The new Lady Gaga single is way better than Britney’s)」と読めるソーシャル・ネットワ
ーキング・システム130に投稿されたコンテンツ・アイテムに関するコメントを解析して「レディー・ガガ」に対する関心が「ブリトニー」に関する関心より高いと推論し、その結果、コメント作成者のユーザ・プロファイル・オブジェクトにおいて「レディー・ガガ」により高い親近感スコアを割り当ててよい。別の例として、オブジェクト間類似度解析が、ヒューリスティック解析モジュール602によって実行され、視聴ユーザが関わっているか、または関心を表明しているオブジェクトと類似するオブジェクトを識別することができる。次いで、グラフ・オブジェクト推奨モジュール606によって類似度解析が利用され得る。外部システム120上のユーザ相互作用がグラフ・オブジェクトおよびグラフ・アクションを生成すると、整理、組み立てられたグラフ・コンテンツ・アイテムは、ヒューリスティック解析モジュール602からの情報を利用することによって順位付けされる。
アプリケーション・スコアリング・モジュール604は、外部システム120から受け取ったグラフ・データ142に基づき品質に関してアプリケーションを評価する。アプリケーションは、アプリケーションのユーザの数、デベロッパーの年齢、デベロッパーが誰であるか、アプリケーションが報告された回数、公開された、またはスパムとマークされたストリーム・ストーリの数、アプリケーションがソーシャル・ネットワーキング・システムによって無効化されているか否か、および同様のものを含む、さまざまなファクタに基づきソーシャル・ネットワーキング・システム130の他のモジュールによって評判スコアを割り当てられ得る。これらのファクタは、アプリケーション・スコアリング・モジュール604によって解析され、表示するコンテンツ・アイテムを順位付けする際にグラフ・コンテンツ・アイテム順位付けモジュール150によって使用されるアプリケーション品質スコアを生成することができる。アプリケーション品質スコアを生成するために利用され得る追加のファクタとして、インプレッション、クリック、コメント、およびソーシャル・ネットワーキング・システム130の視聴ユーザに表示するために提供されたコンテンツ・アイテムとの他の相互作用が挙げられる。アプリケーションに関して受け取った情報は、過去数時間、日、週、および月に基づく履歴的値を含み得る。アプリケーションに対するアプリケーション品質スコアは、一実施形態において、機械学習モジュール600およびパフォーマンス・メトリクス解析モジュール608と連携してアプリケーションに関して受け取った肯定的フィードバックおよび否定的フィードバックに基づき時間の経過とともに最適化されてよい。
グラフ・オブジェクト推奨モジュール606は、他のオブジェクトとの過去の相互作用、視聴ユーザの関心、および視聴ユーザに接続された他のユーザによる他のオブジェクトとの過去相互作用に基づき視聴ユーザが関心を持つと思われるオブジェクトをハイライトする推奨エンジンを備える。一実施形態では、推奨スコアは、視聴ユーザに対するユーザ・ベクトルとオブジェクトを参照するユーザ独立ストーリ・ベクトルとの内積から決定される。視聴ユーザは、音楽ビデオ、社会論評リンク、ニュース記事、政治運動、および社会的正義などの、オブジェクト・タイプのいくつかのカテゴリに対する選好を有し得る。これらの視聴選好は、オブジェクトのそのカテゴリに対する親近感に対応する値を持つユーザ・ベクトルとして記憶され得る。同様に、オブジェクトに関するメタデータが解析され、ユーザ・ベクトルにおけるカテゴリのそれぞれに対するメンバーシップ値を持つユーザ独立ストーリ・ベクトルに記憶され得る。当業者であれば、ユーザ・ベクトルおよびユーザ独立ストーリ・ベクトル内の情報は、配列、行列、およびデータベースなどのさまざまなデータ構造体に記憶され得ることを理解されるであろう。ここで、「ベクトル」という用語は、例示のみを目的として使用されている。例えば、視聴ユーザに接続されている3人のユーザが視聴ユーザと同じ楽曲のうちの99曲を聴いていれば、それら3人のユーザが100番目の楽曲も聴いた場合、100番目の楽曲は、視聴ユーザに関連性を有すると思われる楽曲オブジェクトとして推奨エンジンによって選択され得る。推奨エンジンは、ユーザ・ベクトルおよびユーザ独立ストーリ・ベクトルを使用して、視聴ユーザに推奨
され得る潜在的オブジェクトに対する推奨スコアを計算する。
その構造で定義されるようなグラフ・オブジェクトのプロパティなどの、オブジェクト・メタデータは、グラフ・オブジェクトのカテゴリを生成するために利用され得る。例えば、社会論評を含むレディー・ガガによる音楽ビデオは、ストーリ・ベクトル内の音楽ビデオ・パラメータおよび社会的正義パラメータに対して値1を有するものとしてよい。ストーリ・ベクトルは、一実施形態では、ソーシャル・ネットワーキング・システムによって生成され得る。別の実施形態では、ストーリ・ベクトルは、オブジェクトおよびアクションを生成した外部システムによって生成され得る。ユーザ・ベクトルとユーザ独立ストーリ・ベクトルとの内積を求めた結果、コンテンツ・アイテムに対する推奨スコアが、視聴ユーザの選好およびコンテンツ・アイテム(ストーリ)において参照されるオブジェクトに関する情報に基づき生成される。ストーリ・ベクトルに対する値は、一実施形態では、音楽ビデオ・ファイル・フォーマット、社会的正義を専門とするウェブ・ドメイン、および同様のものなどの、既知のカテゴリを使用して、自動的に生成され得る。その結果、視聴ユーザに対するユーザ特有のスコアが、ソーシャル・ネットワーキング・システム上の他のユーザの挙動パターンを解析することによってグラフ・オブジェクトについて生成され得る。これにより、ソーシャル・ネットワーキング・システムは、視聴ユーザがグラフ・オブジェクトに関心を持っているか否かを予測することができる。
オブジェクト間類似度解析は、グラフ・オブジェクト推奨モジュール606でも非同期に決定されるものとしてよい。グラフ・オブジェクトはそのオブジェクト・プロパティに基づき解析され、グラフ・オブジェクトが十分に類似しているか否かを決定することができる。例えば、ゲーム・アプリケーションは、「戦略ゲーム」のオブジェクト・プロパティを含むことができる。「戦略ゲーム」の同じオブジェクト・プロパティを含む他のゲーム・アプリケーションは、類似しているとみなされ得る。別の例では、「カントリー(Country)」の同じジャンル・オブジェクト・プロパティを有する楽曲オブジェクトは、グラフ・オブジェクト推奨モジュール606によって類似していると考えられ得る。引き続き上記の例を参照すると、社会論評を含むケイティ・ペリーによる音楽ビデオは、ケイティ・ペリーへの関心を表明していない視聴ユーザに表示するため推奨される社会論評を含むレディー・ガガの音楽ビデオに十分類似していると決定され得る。類似度スコアリング・モデルは、グラフ・オブジェクトの類似度のスコアを設定するために生成され得る。その結果、所定の類似度閾値は、グラフ・オブジェクト推奨モジュール606によって、オブジェクトが視聴ユーザが相互作用した他のグラフ・オブジェクトとの類似度に基づき視聴ユーザに推奨され得るか否かを決定するために使用され得る。一実施形態では、ユーザ挙動が解析され、これによりグラフ・オブジェクトが類似しているか否かを決定することができる。グラフ・オブジェクト推奨モジュール606は、ヒューリスティック解析モジュール602と連携して動作し、オブジェクトが別のオブジェクトと類似していると見なせるか否かを決定するために事前のスパムの挙動に関してアプリケーションの挙動を解析することができる。また、オブジェクト・メタデータは、フィルタリングを目的としてグラフ・オブジェクト推奨モジュール606によってインデックスを付けられ得る。
それに加えて、グラフ・オブジェクト推奨モジュール606は、一実施形態において、ユーザに表示されているオブジェクト・タイプを追跡し、最近表示されていないオブジェクト・タイプを推奨することができる。この情報は、ユーザに関連付けられているユーザ・プロファイル・オブジェクトにおいて追跡され維持され得る。これはユーザにとって都合がよいが、それは、多様なオブジェクト・タイプを有するさまざまなコンテンツ・アイテムがユーザとより関わり、それと引き換えに、広告主により多くの広告機会も与えつつ、ソーシャル・ネットワーキング・システム130上のユーザ経験を改善する可能性が高まるからである。
グラフ・オブジェクト推奨モジュール606によって推奨されたオブジェクトおよび/またはコンテンツ・アイテムは、順位付けスコアを指数関数的に、直線的に、または対数関数的に増加させることなどによって、可変強度でグラフ・コンテンツ・アイテム順位付けモジュール150によって生成された順位付けスコアに影響を及ぼし得る。例えば、ユーザ・ベクトルとユーザ独立ストーリ・ベクトルとの内積によって決定されるような、上で説明されている推奨スコアは、順位付けスコアに強く影響し、その結果、順位付けスコアを指数関数的に増加させ得る。別の例として、オブジェクト間の類似度解析は、視聴ユーザの選好の不確定性により順位付けスコアへの影響が小さいものとされてよい。機械学習モジュール600およびヒューリスティック解析モジュール602は、グラフ・オブジェクト推奨モジュール606およびパフォーマンス・メトリクス解析モジュール608と連携して動作し、推奨スコアがコンテンツ・アイテムの総順位付けスコアに有する影響の大きさを詳細化し、調整することができる。
パフォーマンス・メトリクス解析モジュール608は、順位付けされ、視聴ユーザに表示されたコンテンツ・アイテムの転換率およびクリック率(CTR)を追跡し、グラフ・コンテンツ・アイテム順位付けモジュール150によって生成される順位付けスコアに関するフィードバックを提供する。特に、機械学習モジュール600は、パフォーマンス・メトリクス解析モジュール608によって集められた情報を利用して、ユーザ・プロファイル・オブジェクトにおける親近感、推奨スコアを決定する際に使用するためのユーザ・ベクトルおよびユーザ独立ストーリ・ベクトルのパラメータ、および外部システム120上でオブジェクトおよびアクションを生成することを可能にするソーシャル・ネットワーキング・システム130上のアプリケーションの品質を決定するためのアプリケーション品質スコアを含む、さまざまなパラメータを調整し、最適化する。コンテンツ・アイテムのクリック率(CTR)に加えて、他の性能測定基準も、パフォーマンス・メトリクス解析モジュール608によって集められ、視聴ユーザによってコンテンツ・アイテムがスパムとマークされる頻度を追跡する「スパムとしてマーク」率、アプリケーションが不正使用として報告される頻度を同様に追跡する「不正使用として報告」率、およびコンテンツ・アイテム上のコメントおよび「いいね」の回数などの、順位付けスコア・モデルを最適化する際にユーザ向けに解析される。これらのパフォーマンス・メトリクスは、ユーザからの否定的フィードバックおよび肯定的フィードバックの両方を含み、外部システム120がユーザにスパムを送っているか、または社会的に関連性のある情報を提供しているかを見極める有用な手段となる。
一実施形態では、ユーザは、ソーシャル・ネットワーキング・システム130上のユーザのプロファイル・ページ上でハイライトされるコンテンツ・アイテムを選択することができる。この選択は、プロファイル・ページ上へのコンテンツ・アイテムの「ピン留め」とも称され得る。ユーザ・プロファイル・ページ上に現れるコンテンツ・アイテムは、本明細書では「タイムライン・ユニット」とも称され、さまざまなタイムライン・ユニットが、グラフ・コンテンツ・アイテム順位付けモジュール150を使用しソーシャル・ネットワーキング・システムによって自動的に「ピン留め」され得る。タイムライン・ユニットとしてピン留めされるコンテンツ・アイテムを選択するために、さまざまな情報およびファクタがグラフ・コンテンツ・アイテム順位付けモジュール150によって利用され、ソーシャル・ネットワーキング・システム130のユーザによって高いコメントが付けられた、共有された、タグ付けされた、および関わり合った特定のコンテンツ・アイテムをハイライトする。この実施形態では、パフォーマンス・メトリクス解析モジュール608は、追加のパフォーマンス・メトリクスも集めて、追加のファクタをグラフ・コンテンツ・アイテム順位付けモジュール150に送り、ユーザによるピン留めされたタイムライン・ユニットの数、ユーザによって明示的に隠されたタイムライン・ユニットの数、およびピン留めされたタイムライン・ユニットとの関わり合いのメトリクス(クリック率、転換率、コメント、共有、「いいね」、およびタグ付けを含む)を含む、ユーザに対するプロ
ファイル・ページ上にタイムライン・ユニットを自動的に生成することもできる。これらのパフォーマンス・メトリクスは、一実施形態では、ユーザのプロファイル・ページに自動的にピン留めされる、グラフ・コンテンツ・アイテムを含む、最も関連性のあるコンテンツ・アイテムを表に出すために使用される。
グラフ・コンテンツ・アイテム・スコアリング・モジュール610は、視聴ユーザに潜在的に表示され得る候補コンテンツ・アイテムの順位付けスコアを生成する。順位付けスコア・モデルは、グローバルファクタ、ユーザ特有のファクタ、および推奨スコアを含む。順位付けスコア・モデルは、一実施形態において、それぞれのファクタが重みである線形加重関数である。別の実施形態では、順位付けスコア・モデルは、機械学習モジュール600を使用して最適化され得るそれぞれのファクタに対する係数および指数を持つ指数関数である。さらに別の実施形態では、順位付けスコア・モデルは、対数関数を含む。例えば、ソーシャル・ネットワーキング・システム上のコネクションの数が高いユーザは、他のユーザからのインプレッションおよびコメントの数が高いグラフ・コンテンツ・アイテムを公開している可能性がある。グラフ・コンテンツ・アイテムの人気は、その順位付けスコアに影響を及ぼすよいファクタであるものとされてよいが、グラフ・コンテンツ・アイテムの人気は、コンテンツ・アイテムを生成するユーザのコネクションの数が高いことによりその真の人気について歪められているか、または不釣り合いである場合がある。対数関数は、コネクションの数の多さを説明するために、この例では一次関数または指数関数より適していると思われる。それに加えて、一部のユーザは、ソーシャル・ネットワーキング・システムへのコンテンツ・アイテムの「過剰共有」または公開を頻繁に行っている可能性がある。一実施形態では、対数関数は、これらの過剰共有ユーザから推奨されるコンテンツ・アイテムを制限するために利用することができる。
したがって、グラフ・コンテンツ・アイテム順位付けモジュール150を利用して、楽曲を聴く、映画を見る、ボードゲームをする、エクササイズを完了するなど、外部システム上でグラフ・オブジェクトおよびグラフ・アクションから整理、組み立てられたコンテンツ・アイテムを順位付けすることができる。順位付けモジュール150は、ソーシャル・ネットワーキング・システム130上のモジュールによって利用され、構造化されたグラフ・オブジェクトおよびグラフ・アクションがソーシャル・ネットワーキング・システム130上で定義されているため解析され観察され得る挙動のパターンに基づき楽曲、映画、ゲーム、および他のコンセプトに対する推奨を生成することができる。さらに、外部相互作用は、ソーシャル・ネットワーキング・システム130内に違和感無く統合することができ、これにより、ユーザに対するユーザ経験をより有益なものにし、それぞれのユーザについて、音楽を聴くなどの、現実世界のアクティビティをパーソナライズすることができる。
ソーシャル・ネットワーキング・システム上のソーシャル音楽アプリケーションの例
図7は、本発明の一実施形態により、グラフ・オブジェクトおよびグラフ・アクションをソーシャル・ネットワーキング・システムに統合するソーシャル・ネットワーキング・システム上のユーザ・インタフェースの一例を示している。一実施形態では、グラフ・オブジェクトおよびグラフ・アクションは、図3Aで定義されているような楽曲オブジェクト、アーティスト・オブジェクト、聴くアクション、および他のオブジェクトとして定義される。音楽ダッシュボード700は、ユーザが外部システム120上でホストされているグラフ・アクションおよびグラフ・オブジェクトと相互作用することを可能にするソーシャル・ネットワーキング・システム130上のユーザ・インタフェースである。音楽ダッシュボード700は、トップ・リスト・モジュール700、音楽追跡モジュール704、再生中モジュール706、プレイリスト・モジュール708、視聴履歴モジュール710、および推奨モジュール712を含む、いくつかのモジュールを備える。音楽ダッシュボード700は、一実施形態では、ソーシャル・ネットワーキング・システム130上の
ユーザ・プロファイル・ページ上のタブとして表示され得る。別の実施形態では、音楽ダッシュボード700は、モバイル・デバイス上のネイティブ・オペレーティング・システムで実行されるモバイル・アプリケーションに表示され得る。さらに別の実施形態では、音楽ダッシュボード700は、外部システム120によってホストされるウェブサイト上に埋め込むことができる。
トップ・リスト・モジュール700は、一実施形態では、ソーシャル・ネットワーキング・システム130のユーザによって生成される音楽のトップ・リストを表示する。楽曲のトップ・リストは、一実施形態では、ソーシャル・ネットワーキング・システム130上で利用可能なグローバルな情報に関するユーザ指定のクエリによって生成され得る。別の実施形態では、トップ・リスト・モジュール700は、視聴ユーザに接続されているユーザによって生成される楽曲のトップ・リストを表示する。さらに別の実施形態では、トップ・リスト・モジュール700は、先月、先週、最新の日、および最後の時間などの、所定の期間に最も聴いたリストを表示する。図7は、3つの選択可能なリンク、「ブリトニー・スピアーズ・ヒット(Britney Spears Hits)」、「レディ・ガガ・ステーション(Lady Gaga Station)」、および「エクササイズ・ミックス(Workout Mix)」を表示するトップ・リスト・モジュール700を例示する。一実施形態では、選択されたときにリンクは、音楽を提供する外部システム120に、リンクに関連付けられているリストを再生することを要求するトリガとなる。別の実施形態では、リンクを選択すると、リストに関連付けられているソーシャル・ネットワーキング・システム130上で別のページが開く。リストは、コメントされ、共有され、「いいね」が付けられ、タグが付けられ得るグラフ・オブジェクトとして定義されているリスト・オブジェクトによって表される。リストは、「Workout Mix」リスト716など、一実施形態におけるソーシャル・ネットワーキング・システム130のユーザによって、または別の実施形態におけるサードパーティ・デベロッパーによって作成され得る。
音楽追跡モジュール704は、ユーザがその楽曲を聴いた結果として他のユーザによって発見された楽曲を表示する。グラフ統合モジュール160は、ソーシャル・ネットワーキング・システム130上に表示されるグラフ・コンテンツ・アイテム上のユーザによる転換およびクリックを追跡する。図7は、3つのコンテンツ・アイテム、「ジョーがBon JoviのYou Give Love A Bad Nameを聴きました(Joe listened to Bon Jovi−You Give Love A Bad Name)」、「マイクがLa RouxのBulletproofを聴きました(Mike listened to La Roux−Bulletproof)」、および「チャーリーがBritney SpearsのTill The World Endsを聴きました(Charlie listened to Britney Spears−Till The World Ends)」を表示する音楽追跡モジュール704の一例を示している。一実施形態では、音楽追跡モジュール704は、視聴ユーザがソーシャル・ネットワーキング・システム130を通じて外部システム120から選択された楽曲の再生を開始する楽曲を選択することを可能にする。一実施形態では、音楽追跡モジュール704において追跡されるユーザに関連付けられているリンク(Mike)714を選択することで、視聴ユーザを追跡されているユーザに対するユーザ・プロファイル・ページに誘導することができる。別の実施形態では、その追跡されているユーザに関連付けられているリンク714を選択すると、視聴ユーザは、音楽ダッシュボード700に関連付けられているユーザを通じて追跡されているユーザによって聴かれている楽曲を含むソーシャル・ネットワーキング・システム130内のページに誘導される。
同様に、再生中モジュール706は、現在再生中である楽曲およびユーザが聴いているリストを表示する。視聴ユーザは、再生中の楽曲(「Britney Spears−T
ill The World Ends」)、再生中のリスト(「Britney Spears Hits」)を聴くことを選択することができるか、または視聴ユーザは、リンク718「ボブと共に聴く!(Listen in with Bob!)」を選択することによって音楽ダッシュボード700に関連付けられているユーザと共同で聴くことを選択することができる。リンク718を選択することによって、視聴ユーザは、Bobがリアルタイムで聴いているものを聴く。これにより、ユーザはソーシャル・ネットワーキング・システム130を通じて外部システム上のストリーミング音楽を共同で聴くことができる。共同で聴くアクション・リンク718は、メッセージング・アプリケーション、チャット・インタフェース、写真アプリケーション、グループ・インタフェース、および同様のものなどの、ソーシャル・ネットワーキング・システム130上の他のアプリケーションおよびインタフェースに含めることができる。
プレイリスト・モジュール708は、視聴ユーザがソーシャル・ネットワーキング・システム130の別のユーザが聴き、作成するプレイリストを選択することを可能にする。一実施形態では、ユーザは、単純に楽曲の名前を入力するか、またはアルバム上のトラックを選択することによってソーシャル・ネットワーキング・システム130上にプレイリストを選択的に作成することができる。音楽は、入力された楽曲またはアルバム上の選択されたトラックに対応する利用可能な外部システム120から異なるストリームによりオンラインでブロードキャストされ、その際に、音源をユーザ生成のプレイリスト・グラフ・オブジェクト内に混ぜることができる。別の実施形態では、ユーザは、プレイリストを外部システム120からソーシャル・ネットワーキング・システム130にインポートすることができる。さらに別の実施形態では、プレイリストは、外部システム120上のユーザの聴く挙動に基づきソーシャル・ネットワーキング・システム130に自動的にインポートされる。図7では、プレイリスト・モジュール708は、3つのプレイリスト、「グリー・キャスト・ラジオ(Glee Cast Radio)」、「チルアウト・ミックス(Chill out Mix)」、および「ジャーニーズ・グレイテスト・ヒット(Journey’s Greatest Hits)」を表示している。ラジオ・プレイリストは、アーティストまたは楽曲に基づきプレイリストを生成するインターネット・ラジオ・ウェブサイトなどの、外部システム120によって生成され得る。例えば、AMおよびFMラジオを含む、地上波ラジオは、それらのプレイリストをウェブサイトを通じて、ソーシャル・ネットワーキング・システム130のユーザに利用できるようにすることができる。「Chill out Mix」プレイリストは、ソーシャル・ネットワーキング・システム130のユーザの1人によって作成され、音楽ダッシュボード700に関連付けられているユーザによってプレイリスト・モジュール708に追加され得る。一実施形態では、「Chill out Mix」などのユーザ生成プレイリストは、複数のユーザによって所有され、これにより、ユーザはソーシャル・ネットワーキング・システム130を通じて共同でプレイリストを修正することができる。「Journey’s
Greatest Hits」プレイリストは、掲示板またはアーティストのプロモーションを行うレコード会社などの、外部システム120上でサードパーティ・デベロッパーによって生成され得る。一実施形態では、視聴ユーザは、音楽ダッシュボード700に関連付けられているユーザにプレイリストを提案するリンク(Suggest Playlists)720を選択する。提案されたプレイリストは、視聴ユーザが生成したプレイリスト、または外部システムを使用するサードパーティ・デベロッパーによって生成されたプレイリストを含み得る。プレイリスト・モジュール708を使用することで、ソーシャル・ネットワーキング・システム130は、順位スコアリング・アルゴリズム、ヒューリスティック解析、および上で説明されているような機械学習を使用してユーザの視聴選好を記録し、理解することができる。その結果、ユーザ経験が高められ、広告のターゲット設定、関連するコンテンツ・アイテムの投稿、および同様のものに対してユーザに関する有益な情報を与えることもできる。
視聴履歴モジュール710は、音楽ダッシュボード700に関連付けられているユーザ、この例では「ボブ(Bob)」の最近聴いたもの、さらにはソーシャル・ネットワーキング・システム130上のBobの友達の最近聴いたものを含み得る。別の実施形態では、外部システム120上でホストされている音楽ビデオは、視聴履歴モジュール710に統合され得る。図7に例示されているように、外部システム120上の楽曲オブジェクトへの選択可能なリンクは、ユーザおよびソーシャル・ネットワーキング・システム130上のユーザのコネクションについてリストされる。それに加えて、ユーザのコネクションは、視聴ユーザを、一実施形態ではユーザのコネクションの音楽ダッシュボードに誘導し、別の実施形態ではユーザのコネクションのプロファイル・ページに誘導することができる選択可能なリンクによっても表される。グラフ・コンテンツ・アイテム順位付けモジュール150は、一実施形態では、視聴ユーザの選好およびユーザのコネクションへの視聴ユーザの隣接性に基づき視聴ユーザにより関連性のあるユーザのコネクションによって最近聴いたものを表示するために利用され得る。別の実施形態では、ユーザおよびユーザのコネクションが一番最近聴いたものが、視聴履歴モジュール710に表示される。
推奨モジュール712は、グラフ・コンテンツ・アイテム順位付けモジュール150を利用して、視聴ユーザに関連付けられているユーザ・プロファイル・オブジェクトから取得された選好に基づき視聴ユーザに対する推奨を生成する。この例では、推奨モジュール712は、視聴ユーザに表示する3つの楽曲、「Lady Gaga−Born This Way」、「マドンナ(Madonna)−ヴォーグ(Vogue)」、および「ケシャ(Ke$ha)−ブロー(Blow)」を提示する。推奨モジュール712に表示される楽曲は、音楽ダッシュボード700に関連付けられているユーザに聴かれていない場合がある。その代わりに、視聴ユーザに表示される楽曲は、楽曲オブジェクトおよびアーティスト・オブジェクトに対するリンクをクリックした視聴ユーザの過去の履歴、視聴ユーザの選好、またはソーシャル・ネットワーキング・システム130に対する視聴ユーザのプロファイル・ページ上で述べた関心を含む多数のファクタ、および楽曲オブジェクトおよびアーティスト・オブジェクトに関連付けられている情報に基づきグラフ・コンテンツ・アイテム順位付けモジュール150によって選択される。例えば、視聴ユーザは、楽曲「Lady Gaga−Born This Way」を聴いたことのあるソーシャル・ネットワーキング・システム130上の多数のコネクションを有するものとしてよい。その結果、グラフ・コンテンツ・アイテム順位付けモジュール150は、視聴ユーザのその楽曲オブジェクトについて高い順位スコアを割り当てることができる。別の例として、視聴ユーザは、「Madonna−Vogue」を含むアルバム上の多くの楽曲を、その曲を聴かずに最近聴いたと思われ、したがって、視聴ユーザがアルバムを最初から最後まで聴きたいと推論できるため、その楽曲が推奨され得る。さらに別の例では、アーティスト「Ke$ha」は視聴ユーザによって聴かれていないが、「Ke$ha」は視聴ユーザが最近聴いた他のアーティストに非常によく似ていると思われる。「ポップ(pop)」および「ダンス(dance)」ジャンル・オブジェクトなどの「Ke$ha」に対するアーティスト・オブジェクトに関するメタデータに基づき、「Ke$ha−Blow」が視聴ユーザに対して推奨され得る。
ソーシャル・グラフに公開するための追加の外部ユーザ相互作用
ウェブサイト、モバイル・アプリケーション、エンタープライズ・システム、およびクラウド・ベースのサービスを含む、外部システム上で実行される他のアクションは、ソーシャル・グラフに公開することについて本明細書で説明されているような構造化されたオブジェクトおよびアクションを利用することによって取り込むことができる。一実施形態において、ユーザが電子商取引ウェブサイト上でギフトを購入することは、ソーシャル・ネットワーキング・システム100の他のユーザと共有され得るオブジェクトに対するアクションのトリガとなる。全世界測位システム(GPS)を装備するモバイル・デバイス上で動作するロケーション・ベースのアプリケーション上のロケーション・イベント、ま
たは場所への「チェックイン」は、一実施形態では、ソーシャル・グラフ内のアクションおよびオブジェクトを生成することができる。エンタープライズ・システムを通じてリアルタイムでアップロードされる、スポーツ・イベント・スコアも、ソーシャル・ネットワーキング・システム100へのAPIコールを通じて生成される構造化されたアクションおよびオブジェクトに関するニュースフィード・ストーリを生成することができる。これらの外部ユーザ相互作用は、ソーシャル・ネットワーキング・ユーザ経験にも統合され得る。
例えば、ソーシャル・ネットワーキング・システム130に接続されている、モバイル・デバイス上のAPIで書籍を読むモバイル・ユーザは、「Memoirs of a Geisha」を読んでいることをソーシャル・ネットワーキング・システム130上の他のユーザと受動的に共有することができる。一実施形態では、書籍は、書籍タイプ・オブジェクトとして識別され、その国際標準図書番号(ISBN)は、書籍オブジェクトのプロパティとなる。一実施形態において、「メモワール・オブ・ア・ゲイシャ(Memoirs of a Geisha)」に対する書籍オブジェクトおよびその著者「アーサー・ゴールデン(Arthur Golden)」に対する著者オブジェクトは、「読む」アクションに関連付けられ、他のオブジェクトは、ソーシャル・ネットワーキング・システムのサードパーティ・デベロッパーまたは管理者のいずれかによって定義される構造に応じて、関連付けられる。あるいは、別の実施形態では、書籍オブジェクトは、書籍タイプ・オブジェクト、製品タイプ・オブジェクト、および/または娯楽タイプ・オブジェクトとして識別され得る。
別の例として、映画レンタル・ウェブサイトでは複数の映画をリストし、それぞれの映画について別のウェブ・ページを維持し、観た映画のレビューを提出することをユーザに奨励する。ウェブ・ページにアクセスするためのリンクは、さまざまなフレームが、異なる映画に関連付けられている異なるウェブ・ページのURLまたはウェブ識別子をソーシャル・ネットワーキング・システム130に伝達する異なるウィジェット124によって生成されるように異なる映画に関連付けられ得る。これらのフレームは、ユーザがソーシャル・ネットワーキング・システム130内のオブジェクトに関連付けられている特定の映画を観たいという関心を示す、ユーザがソーシャル・ネットワーキング・システム130内のオブジェクトに関連付けられている特定の映画を観たことを示す、およびユーザがソーシャル・ネットワーキング・システム130内のオブジェクトに関連付けられている特定の映画をレビューするなど、複数のアクションを記録することができる。これらのアクション、「映画を観たい」、「映画を既に観た」、および「映画をレビューする」、のそれぞれは、ソーシャル・ネットワーキング・システム130内に記憶され維持されている別々のグラフ・アクション・タイプに関連付けられ得る。同様に、映画、俳優、監督、プロデューサ、セッティング、カテゴリ、および同様のものを含む、オブジェクトは、ソーシャル・ネットワーキング・システム130内に記憶されているグラフ・オブジェクト・タイプに関連付けられ得る。
追加の例として、ユーザは、ソーシャル・ネットワーキング・システム130上にも存在するバースデー・ディナー・イベントを主催するためにレストランを探している。レストラン予約ウェブサイトは、世界中の都市のレストランの空き予約を表示する。ウェブサイト上に表示されるそれぞれの空き予約は、例えば、ユーザの友達のレストランの推奨およびレビューを示すソーシャル・ネットワーキング・システム130からのパーソナライズされたコンテンツを含み得る。ユーザがレストラン予約ウェブサイトを使用してレストランを予約する場合、バースデー・パーティをレストランで主催するアクションは、予約ウェブサイトがソーシャル・ネットワーキング・システム130に接続され、ソーシャル・ネットワーキング・システム130と情報を共有する許可を受け取っていると仮定して、受動的に生成され得る。一実施形態では、ユーザのイベントに対するクエリが、ソーシ
ャル・ネットワーキング・システム130上で作成されたユーザのイベントを取り出すAPIコールで予約ウェブサイトのデベロッパーによって作成され得る。例えば、このアプローチを使用することで、レストラン予約ウェブサイトは、日付および地理的位置に基づき取り出されたイベントをフィルタリングすることができる。ソーシャル・ネットワーキング・システム130上のユーザのユーザ・プロファイル・オブジェクトに関連付けられているイベントの日付について予約ウェブサイト上に要求されている予約日を検索するより詳細なユーザ指定クエリが実行され得る。適切な許可が降りていると仮定して、予約ウェブサイトは、ソーシャル・ネットワーキング・システム130上で既に作成されているイベント・オブジェクトにも関連付けられている「バースデー・パーティ(birthday party)」のオブジェクト・タイプの「ホスティング(hosting)」のアクション・タイプを記録することができる。この方法で、サードパーティ・デベロッパーによって生成されるグラフ・アクションおよびグラフ・オブジェクトは、ソーシャル・ネットワーキング・システム130に固有のアクションおよびオブジェクトと違和感無く組み合わされ得る。
まとめ
本発明の実施形態の前記の説明は、例示を目的として提示されており、網羅的であること、または本発明を開示されている正確な形態に制限することを意図されていない。当業者であれば、上記の開示に照らして多くの修正および変更が可能であることを理解されるであろう。
この説明のいくつかの部分では、情報に関する動作のアルゴリズムおよび記号的表現に関して本発明の実施形態を説明している。これらのアルゴリズムの説明および表現は、作業の内容を当業者に効果的に伝えるためにデータ処理の技術者によって一般に使用されている。これらの動作は、機能、計算、または論理に関して説明されているが、コンピュータ・プログラムまたは同等の電気的回路、マイクロコード、または同様のもので実装されると理解される。さらに、ときには、一般性を失うことなく、動作のこれらの配置構成はモジュールとして参照することも都合がよいと実証されている。説明されている動作および関連するモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組み合わせで具現化され得る。
本明細書で説明されている工程、動作、または方法は、1つまたは複数のハードウェアもしくはソフトウェア・モジュールで、単独で、または他のデバイスと組み合わせて実行または実装され得る。一実施形態では、ソフトウェア・モジュールは、説明されている工程、動作、または方法のどれか、または全部を実行するためにコンピュータ・プロセッサによって実行され得る、コンピュータ・プログラム・コードを記憶するコンピュータ可読媒体からなるコンピュータ・プログラム製品で実装される。
本発明の実施形態は、本明細書の動作を実行するための装置に関するものであってもよい。この装置は、必要な目的のために特別に構築され得るか、および/またはコンピュータに記憶されているコンピュータ・プログラムによって選択的にアクティブ化されるかもしくは再構成される汎用コンピューティング・デバイスを備えることができる。このようなコンピュータ・プログラムは、非一時的な、有形のコンピュータ可読記憶媒体、またはコンピュータ・システム・バスに結合され得る、電子命令を記憶するのに適した任意のタイプの媒体に記憶され得る。さらに、本明細書で参照されているコンピューティング・システムは単一のプロセッサを備えるか、または計算能力を向上させるためにマルチプロセッサ設計をとるアーキテクチャであってもよい。
本発明の実施形態は、本明細書で説明されている計算方法によって生み出される製品にも関係し得る。このような製品は、計算により得られる情報からなり、この情報は非一時
的な、有形のコンピュータ可読記憶媒体に記憶され、コンピュータ・プログラム製品または本明細書で説明されている他のデータ組み合わせの任意の実施形態を含み得る。
最後に、本明細書で使用されている用語は、主に、可読および教育的な目的で選択されており、本発明の主題を限定、または制限するために選択されていないといえる。したがって、本発明の範囲は、この詳細な説明では限定されず、むしろ、本明細書に基づくアプリケーションに関して公表している請求項によって制限されることが意図されている。したがって、本発明の実施形態の開示は、以下の請求項で規定される本発明の範囲を例示することを意図し、本発明の範囲を制限することを意図していない。

Claims (30)

  1. ソーシャル・グラフを記憶するステップであって、該ソーシャル・グラフは複数のグラフ・オブジェクトと複数のグラフ・アクションとを含んでおり、それぞれのグラフ・アクションは、複数の事前定義されたアクション・タイプのうちの1つのアクション・タイプを有しており2つ以上のグラフ・オブジェクト間の関係を表している、記憶するステップと、
    ーシャル・ネットワーキング・システムとは別のサードパーティ・エンティティから新しいアクション・タイプの定義を受け取るステップと、
    受け取った前記定義に応答して、グラフ・オブジェクトとのユーザ相互作用を取り込むために前記ソーシャル・ネットワーキング・システムが使用する前記新しいアクション・タイプを前記複数の事前定義されたアクション・タイプに追加するステップと、
    グラフ・オブジェクトに関連して前記新しいアクション・タイプを有するグラフ・アクションを前記ソーシャル・ネットワーキング・システムのユーザが前記ソーシャル・ネットワーキング・システムの外部のシステムにおいて実行したことを示す指示を受け取る、指示を受け取るステップと、
    前記ソーシャル・ネットワーキング・システムの外部のシステムから情報にアクセスして前記ソーシャル・ネットワーキング・システムにおいて前記ユーザに関連付けられている前記グラフ・オブジェクトおよび前記グラフ・アクションをリアルタイムに記録するステップであって、前記ソーシャル・ネットワーキング・システムの外部のシステムは前記情報を提供し、該情報は前記ソーシャル・ネットワーキング・システムの外部のシステムに埋め込まれているウィジェットによって生成されるアクション・ログ内の対応するオブジェクト・タイプおよび対応するアクション・タイプに応じてパラメータ化された前記グラフ・オブジェクトおよび前記グラフ・アクションを含む、記録するステップと、
    アクセスされた前記情報から前記グラフ・オブジェクトおよび前記グラフ・アクションを抽出するステップと、
    前記ソーシャル・ネットワーキング・システムの前記ソーシャル・グラフに、前記ユーザに関連付けられている前記グラフ・オブジェクトおよび前記グラフ・アクションを記憶するステップと、
    前記グラフ・オブジェクトに関連して前記ユーザによって実行された前記グラフ・アクションであって、前記新しいグラフ・アクション・タイプを有する該グラフ・アクション
    を前記ユーザがコネクションを確立した1または複数の他のユーザであって、前記ソーシャル・ネットワーキング・システムの1または複数の他のユーザに伝達するステップと、からなる方法。
  2. サードパーティ・エンティティから、ユーザ相互作用を取り込むための新しいオブジェクト・タイプの定義を受け取るステップと、
    け取った前記新しいオブジェクト・タイプの定義に応答して、該新しいオブジェクト・タイプのグラフ・オブジェクトとのユーザ相互作用を取り込むために前記ソーシャル・ネットワーキング・システムが使用する該新しいオブジェクト・タイプを定義するステップと、をさらに含み、
    前記ソーシャル・ネットワーキング・システムの前記ユーザは前記新しいオブジェクト・タイプを有する前記グラフ・オブジェクトに関連して前記新しいアクション・タイプを有する前記グラフ・アクションを実行する、請求項1に記載の方法。
  3. 指示を受け取る前記ステップは、
    アプリケーション・プログラミング・インタフェース(API)コールを前記ソーシャル・ネットワーキング・システムの外部のシステムから受け取ることであって、該APIコールは前記グラフ・オブジェクトと前記ソーシャル・ネットワーキング・システムの前記ユーザとに関連する前記グラフ・アクションを含む、受け取ることと、
    前記ソーシャル・ネットワーキング・システムにおける前記ソーシャル・グラフに記録するため前記APIコールから前記グラフ・オブジェクトと関連する前記新しいアクション・タイプを有する前記グラフ・アクションを抽出することと、をさらに含む、請求項1に記載の方法。
  4. 前記新しいオブジェクト・タイプの前記定義は、他のオブジェクト・タイプを含むプロパティを含む、請求項に記載の方法。
  5. 前記新しいオブジェクト・タイプに関連付けられている前記グラフ・オブジェクトに対して前記新しいアクション・タイプの前記グラフ・アクションを実行する前記ユーザは、前記他のオブジェクト・タイプのグラフ・オブジェクトに対して前記グラフ・アクションを実行する、請求項に記載の方法。
  6. 前記グラフ・オブジェクトは、前記ソーシャル・ネットワーキング・システム内の別のユーザを表す、請求項1に記載の方法。
  7. 前記新しいアクション・タイプは、前記ユーザが前記別のユーザと共に前記グラフ・アクションを実行することを含む、請求項に記載の方法。
  8. 前記グラフ・オブジェクトは、位置を表す、請求項1に記載の方法。
  9. 前記新しいアクション・タイプは、前記ユーザが前記位置に将来存在することを確認することを含む、請求項に記載の方法。
  10. 前記外部システムから前記情報にアクセスすることは、
    前記ソーシャル・ネットワーキング・システムの外部のシステムのウェブ・ページに対するマークアップ言語文書を取得することと、
    前記マークアップ言語文書内の1つまたは複数のタグを識別することであって、該タグは前記アクセスされた情報を含む、識別することと、を含む、請求項に記載の方法。
  11. しいアクション・タイプの定義を受け取る前記ステップは、
    前記新しいアクション・タイプによって実行され得るオブジェクト・タイプを受け取ることと、
    前記新しいアクション・タイプの前記定義に、前記オブジェクト・タイプとの関連付けを記憶することと、をさらに含む、請求項1に記載の方法。
  12. しいオブジェクト・タイプの定義を受け取る前記ステップは、
    前記新しいオブジェクト・タイプのアグリゲータ・プロパティを受け取ることであって、該アグリゲータ・プロパティは、前サードパーティ・エンティティによって、該アグリゲータ・プロパティにより該新しいオブジェクト・タイプのグラフ・オブジェクトをグループ化するように定義される、アグリゲータ・プロパティを受け取ることと、
    前記新しいオブジェクト・タイプの前記受け取ったアグリゲータ・プロパティに応答して、該受け取ったアグリゲータ・プロパティにより、該新しいオブジェクト・タイプを有するグラフ・オブジェクトをグループ化することと、をさらに含む、請求項に記載の方法。
  13. 前記ソーシャル・ネットワーキング・システムの外部のシステム上の前記埋め込まれているウィジェットから、前記ユーザに関するパーソナライズされた情報の要求を受け取るステップであって、前記パーソナライズされた情報は、前記ソーシャル・ネットワーキング・システムに記憶された前記ソーシャル・グラフに記録されているグラフ・アクションおよびグラフ・オブジェクトに関係する、要求を受け取るステップと、
    前記要求に応答して、前記ユーザに関する前記パーソナライズされた情報を前記ソーシャル・ネットワーキング・システムの外部のシステム上の前記埋め込まれているウィジェット内に提供するステップと、をさらに含む、請求項に記載の方法。
  14. 前記パーソナライズされた情報は、前記新しいアクション・タイプを有するグラフ・アクションに対するカスタマイズされたクエリに応答して提供される、請求項13に記載の方法。
  15. 前記新しいアクション・タイプを有する前記グラフ・アクションに対して、前記ソーシャル・グラフに記録された前記新しいアクション・タイプを有するグラフ・アクションをフィルタリングするクエリを指定することを可能にするステップと、
    前記クエリの結果を可視化するためのテンプレートを提供するステップであって、前記テンプレートはソーシャル・ネットワーキング・システム上でタイムライン・ユニットを公開する、テンプレートを提供するステップと、
    前記クエリの前記結果を可視化するために提供された前記テンプレートを使用して前記ソーシャル・ネットワーキング・システムのユーザに、該クエリの該結果を記述する前記タイムライン・ユニットを伝達するステップと、をさらに含む、請求項1に記載の方法。
  16. ソーシャル・グラフを記憶するステップであって、該ソーシャル・グラフは複数のグラフ・オブジェクトと複数のグラフ・アクションとを含んでおり、それぞれのグラフ・アクションは、複数の事前定義されたアクション・タイプのうちの1つのアクション・タイプを有しており2つ以上のグラフ・オブジェクト間の関係を表している、記憶するステップと、
    ソーシャル・ネットワーキング・システムとは別のサードパーティ・エンティティから、新しいアクション・タイプの定義を受け取る、ステップと、
    受け取った前記定義に応答して、グラフ・オブジェクトとのユーザ相互作用を取り込むために前記ソーシャル・ネットワーキング・システムが使用する前記新しいアクション・タイプを前記複数の事前定義されたアクション・タイプに追加するステップと、
    ユーザ・デバイス上にレンダリングするために、前記ソーシャル・ネットワーキング・システムとは別のドメイン上でコンテンツをホストする前記ソーシャル・ネットワーキン
    グ・システムの外部のシステムから前記コンテンツを要求するステップと、
    要求された前記コンテンツ、および前記ユーザ・デバイスを前記ソーシャル・ネットワーキング・システムで認証するための第1の命令を備える実行可能なウィジェットを受け取るステップと、
    前記ユーザ・デバイス上に、要求された前記コンテンツをレンダリングするステップであって、該ユーザ・デバイスは、ユーザが前記ソーシャル・ネットワーキング・システムの外部のシステム上の要求された前記コンテンツと相互作用することを可能にする、レンダリングするステップと、
    ユーザ相互作用を検出したことに応答して要求された前記コンテンツ内に該ユーザ相互作用を記録するための第2の命令を備える前記ウィジェットを該ユーザ・デバイス上で実行するステップと、
    前記ユーザのユーザ識別子を含む該ユーザの認証を前記ソーシャル・ネットワーキング・システムから受け取るステップと、
    前記ユーザ・デバイス上の要求された前記コンテンツとの前記ユーザの相互作用を検出するステップであって、該ユーザ相互作用は前記ソーシャル・ネットワーキング・システムの外部のシステム上で実行されるグラフ・アクションを含み、該グラフ・アクションはアクション・タイプを有し、ラフ・オブジェクトはオブジェクト・タイプを有する、前記検出するステップと、
    前記ソーシャル・ネットワーキング・システムの外部のシステムから情報にアクセスして前記ソーシャル・ネットワーキング・システムにおいて前記ユーザに関連付けられている前記グラフ・オブジェクトおよび前記グラフ・アクションをリアルタイムに記録するステップであって、前記ソーシャル・ネットワーキング・システムの外部のシステムは前記情報を提供し、該情報は前記ウィジェットによって生成されるアクション・ログ内の対応するオブジェクト・タイプおよび対応するアクション・タイプに応じてパラメータ化された前記グラフ・オブジェクトおよび前記グラフ・アクションを含む、記録するステップと、
    前記オブジェクト・タイプに対応する前記グラフ・オブジェクト、前記アクション・タイプに対応する前記グラフ・アクション、前記ソーシャル・ネットワーキング・システムの外部のシステム上の前記ユーザ相互作用を実行する前記ユーザの前記ユーザ識別子、および該グラフ・アクションおよび該グラフ・オブジェクトに関係するコンテキスト情報を含むエントリとして、該ユーザ相互作用を記録するステップであって、前記ソーシャル・グラフに記録された前記グラフ・アクションは、新しいアクション・タイプを有する、ステップと、からなる方法。
  17. 要求された前記コンテンツを受け取るステップは、
    要求された前記コンテンツに対するマークアップ言語文書を受け取ることであって、前記マークアップ言語文書は、前記ソーシャル・ネットワーキング・システムからのパーソナライズされた情報を含む要求された前記コンテンツについてフレームをウェブ・ページ内に作成するための第3の命令を含む、受け取ることと、
    前記マークアップ言語文書内の前記第3の命令の実行に基づき前記ソーシャル・ネットワーキング・システムから、パーソナライズされた情報を受け取ることと、をさらに含む請求項16に記載の方法。
  18. 要求された前記コンテンツは、前記オブジェクト・タイプに対して実行される前記アクション・タイプを表す前記ユーザ相互作用に対応する選択可能なリンクを含む、請求項16に記載の方法。
  19. 要求された前記コンテンツは、異なるアクション・タイプおよびオブジェクト・タイプを表す複数のユーザ相互作用をユーザが実行することを可能にする、請求項16に記載の方法。
  20. 前記エントリを前記ソーシャル・ネットワーキング・システムに伝達することをさらに含む、請求項16に記載の方法。
  21. 前記フレームは、前記ソーシャル・ネットワーキング・システムの前記ドメイン内のウェブ・ページを含むインラインフレーム(iframe)を含む、請求項17に記載の方法。
  22. 前記iframeは、前記ソーシャル・ネットワーキング・システムの前記ドメイン内から直接の、前記ユーザに関係する前記パーソナライズされた情報を含む、請求項21に記載の方法。
  23. 前記ソーシャル・ネットワーキング・システムからパーソナライズされた情報を受け取ることは、
    前記ソーシャル・ネットワーキング・システムの外部のシステムと相互作用しており、かつ前記ユーザが前記ソーシャル・ネットワーキング・システム内のコネクションを確立したユーザであ1または複数の他のユーザに関する情報を前記ソーシャル・ネットワーキング・システムから受け取ることと、
    前記ソーシャル・ネットワーキング・システムの外部のシステムと前記他のユーザの相互作用に関する前記情報を前記ウェブ・ページ内に表示することと、をさらに含む、請求項17に記載の方法。
  24. 前記ユーザ相互作用をエントリとして記録するステップは、
    前記エントリを前記ユーザ・デバイス上に記憶されているアクション・ログ内に生成することをさらに含む、請求項16に記載の方法。
  25. 構造化されたクエリに応答してソーシャル・ネットワーキング・システムの外部のアクションを提供するための方法であって、
    前記ソーシャル・ネットワーキング・システムのサーバにおいて、アプリケーション・プログラミング・インタフェース(API)コールに基づき、外部アクションに対するクエリを受け取るステップであって、該クエリは、少なくとも1つのオブジェクト・タイプ、少なくとも1つのアクション・タイプ、および少なくとも1つのユーザ識別子を指定するパラメータを含む、受け取るステップと、
    前記クエリへの結果を決定するステップであって、該結果は、前記ソーシャル・ネットワーキング・システムのユーザによってオブジェクトに対して実行されるアクションを含む、決定するステップと、
    マークアップ言語文書内の命令によって生成されたフレーム内に表示するため前記結果を送るステップであって、該命令は前記クエリを含む、送るステップと、からなり、
    前記クエリは、並べ替えパラメータを含み、前記方法は、
    前記並べ替えパラメータによって前記クエリへの前記結果の順位付けを決定するステップと、
    前記順位付けによって前記フレーム内に表示するために前記結果を提供するステップと、をさらに含む方法。
  26. 前記フレームは、前記ソーシャル・ネットワーキング・システムのドメイン内のウェブ・ページを含むインラインフレーム(iframe)を含む、請求項25に記載の方法。
  27. 前記iframeは、他のクエリを選択するためのユーザ・インタフェースを含み、前記方法は、
    前記ユーザ・インタフェース内のリンクの選択を受け取るステップであって、該リンク
    は異なるパラメータを持つ第2のクエリに関連付けられている、受け取るステップと、
    前記第2のクエリへの結果を決定するステップと、
    前記結果を前記フレーム内の表示のために前記第2のクエリに送るステップと、をさらに含む、請求項26に記載の方法。
  28. 前記フレームを、前記ソーシャル・ネットワーキング・システムのユーザに対応するユーザ・デバイス上に表示するために提供するステップであって、前記フレームは、その外部アクションが前記ソーシャル・ネットワーキング・システムによって取り込まれており、かつ前記ソーシャル・ネットワーキング・システム内のコネクションを前記ユーザが確立した1または複数の他のユーザによってグループ化された前記結果を含む、提供するステップをさらに含む、請求項27に記載の方法。
  29. 前記フレームを、前記ソーシャル・ネットワーキング・システムの外部のシステム上に表示するために提供するステップであって、前記フレームは、その外部アクションが前記ソーシャル・ネットワーキング・システムによって取り込まれた前記ソーシャル・ネットワーキング・システムの1または複数のユーザによってグループ化された前記結果を含む、提供するステップをさらに含む、請求項25に記載の方法。
  30. 前記クエリは、グループ化パラメータおよびグループ化ファンクションを含み、前記方法は、
    前記グループ化パラメータおよび前記グループ化ファンクションによって前記クエリへの前記結果の集計値を決定するステップと、
    前記フレーム内に表示するために前記結果の前記集計値を提供するステップと、をさらに含む、請求項25に記載の方法。
JP2014531842A 2011-09-21 2012-08-30 ソーシャル・ネットワーキング・システム上の構造化オブジェクトおよびアクション Active JP6023203B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/239,340 US8849721B2 (en) 2011-09-21 2011-09-21 Structured objects and actions on a social networking system
US13/239,340 2011-09-21
PCT/US2012/053229 WO2013043346A1 (en) 2011-09-21 2012-08-30 Structured objects and actions on a social networking system

Publications (2)

Publication Number Publication Date
JP2014528133A JP2014528133A (ja) 2014-10-23
JP6023203B2 true JP6023203B2 (ja) 2016-11-09

Family

ID=47881680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014531842A Active JP6023203B2 (ja) 2011-09-21 2012-08-30 ソーシャル・ネットワーキング・システム上の構造化オブジェクトおよびアクション

Country Status (11)

Country Link
US (1) US8849721B2 (ja)
EP (1) EP2758935A4 (ja)
JP (1) JP6023203B2 (ja)
KR (1) KR101777303B1 (ja)
CN (1) CN103946886B (ja)
AU (1) AU2012312858B2 (ja)
BR (1) BR112014006863A2 (ja)
CA (1) CA2848605C (ja)
IN (1) IN2014CN02024A (ja)
MX (1) MX336792B (ja)
WO (1) WO2013043346A1 (ja)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996650B2 (en) * 2011-08-26 2015-03-31 Accenture Global Services Limited Preparing content packages
US9032290B2 (en) * 2011-09-21 2015-05-12 Facebook, Inc. Tool for creating structured objects and actions on a social networking system
US20130103758A1 (en) * 2011-10-19 2013-04-25 c/o Facebook, Inc. Filtering and ranking recommended users on a social networking system
US8825763B2 (en) * 2011-12-09 2014-09-02 Facebook, Inc. Bookmarking social networking system content
US9053416B1 (en) * 2012-01-03 2015-06-09 Google Inc. Systems and methods for screening potentially inappropriate content
US9875488B2 (en) * 2012-03-30 2018-01-23 Rewardstyle, Inc. Targeted marketing based on social media interaction
US20130268543A1 (en) * 2012-04-06 2013-10-10 Myspace Llc System and method for recommending content
US20130268523A1 (en) * 2012-04-06 2013-10-10 Myspace Llc System and method for determining user or resource influence within a pre-defined context
US10547493B2 (en) * 2012-06-06 2020-01-28 Callidus Software, Inc. System, method, apparatus, and computer program product for determining behavior-based relationships between website users
JP5769884B2 (ja) * 2012-06-27 2015-08-26 株式会社コナミデジタルエンタテインメント ゲーム制御装置、プログラム、ゲームシステム
US9363325B2 (en) * 2012-08-29 2016-06-07 Yammer, Inc. Method for generating social network activity streams
US9396179B2 (en) * 2012-08-30 2016-07-19 Xerox Corporation Methods and systems for acquiring user related information using natural language processing techniques
US8886625B1 (en) 2012-10-31 2014-11-11 Google Inc. Methods and computer-readable media for providing recommended entities based on a user's social graph
US9131019B2 (en) 2012-11-17 2015-09-08 Facebook, Inc. Prompting social networking system users to provide additional user profile information
US8959211B2 (en) 2012-11-17 2015-02-17 Facebook, Inc. Prompting social networking system users in a newsfeed to provide additional user profile information
US8898804B2 (en) * 2012-11-27 2014-11-25 Applied Research Works, Inc. System and method for selectively sharing information
US20140188866A1 (en) * 2012-12-31 2014-07-03 Microsoft Corporation Recommendation engine based on conditioned profiles
US10356135B2 (en) 2013-01-22 2019-07-16 Facebook, Inc. Categorizing stories in a social networking system news feed
US10445786B2 (en) 2013-01-23 2019-10-15 Facebook, Inc. Sponsored interfaces in a social networking system
US10277642B2 (en) 2013-02-11 2019-04-30 Facebook, Inc. Composer interface for providing content to a social network
US9256621B2 (en) * 2013-03-13 2016-02-09 Facebook, Inc. Claims-based querying in an online system
US9177163B1 (en) * 2013-03-15 2015-11-03 Google Inc. Data access lockdown
US10686898B1 (en) * 2013-03-15 2020-06-16 Twitter, Inc. Music discovery using messages of a messaging platform
US10594808B2 (en) 2013-04-23 2020-03-17 Facebook, Inc. Pre-fetching newsfeed stories from a social networking system for presentation to a user
JP5439620B1 (ja) * 2013-05-07 2014-03-12 株式会社 ディー・エヌ・エー 電子コンテンツを推奨するシステム
US9454348B2 (en) 2013-06-21 2016-09-27 Here Global B.V. Methods, apparatuses, and computer program products for facilitating a data interchange protocol modeling language
US9485306B2 (en) * 2013-06-21 2016-11-01 Here Global B.V. Methods, apparatuses, and computer program products for facilitating a data interchange protocol
US9495383B2 (en) 2013-08-22 2016-11-15 Microsoft Technology Licensing Realtime activity suggestion from social and event data
US20150058123A1 (en) * 2013-08-23 2015-02-26 Michael George Lenahan Contextually aware interactive advertisements
US10635732B2 (en) * 2013-09-19 2020-04-28 Facebook, Inc. Selecting content items for presentation to a social networking system user in a newsfeed
US11238056B2 (en) 2013-10-28 2022-02-01 Microsoft Technology Licensing, Llc Enhancing search results with social labels
US9542440B2 (en) * 2013-11-04 2017-01-10 Microsoft Technology Licensing, Llc Enterprise graph search based on object and actor relationships
JP5478767B1 (ja) 2013-11-05 2014-04-23 株式会社 ディー・エヌ・エー 電子コンテンツを提供するシステム及び方法
US11645289B2 (en) 2014-02-04 2023-05-09 Microsoft Technology Licensing, Llc Ranking enterprise graph queries
US9870432B2 (en) 2014-02-24 2018-01-16 Microsoft Technology Licensing, Llc Persisted enterprise graph queries
US11657060B2 (en) 2014-02-27 2023-05-23 Microsoft Technology Licensing, Llc Utilizing interactivity signals to generate relationships and promote content
US9454620B2 (en) 2014-02-28 2016-09-27 Here Global B.V. Methods, apparatuses and computer program products for automated learning of data models
US10757201B2 (en) 2014-03-01 2020-08-25 Microsoft Technology Licensing, Llc Document and content feed
US10255563B2 (en) 2014-03-03 2019-04-09 Microsoft Technology Licensing, Llc Aggregating enterprise graph content around user-generated topics
US10394827B2 (en) 2014-03-03 2019-08-27 Microsoft Technology Licensing, Llc Discovering enterprise content based on implicit and explicit signals
US10169457B2 (en) 2014-03-03 2019-01-01 Microsoft Technology Licensing, Llc Displaying and posting aggregated social activity on a piece of enterprise content
US9147051B2 (en) * 2014-03-03 2015-09-29 Palo Alto Research Center Incorporated Method and apparatus for maintaining content view statistics in a named data network
US20150358390A1 (en) * 2014-06-04 2015-12-10 Stand Technologies, Inc. Method and system to share visual content across a plurality of mobile devices to generate interest, support and funding for philanthropic and for social causes
CN104199884B (zh) * 2014-08-19 2017-09-22 东北大学 一种基于r覆盖率优先的社交网络观察点选取方法
US10061826B2 (en) 2014-09-05 2018-08-28 Microsoft Technology Licensing, Llc. Distant content discovery
US9275641B1 (en) * 2014-09-14 2016-03-01 Speaktoit, Inc. Platform for creating customizable dialog system engines
US9800535B2 (en) * 2014-10-09 2017-10-24 Facebook, Inc. Presenting contacts to a social networking system user based on user interactions with additional users and with groups
US20160117523A1 (en) * 2014-10-23 2016-04-28 Applied Research Works, Inc. System and Method for Selectively Sharing Information
US10909601B2 (en) * 2014-12-11 2021-02-02 Facebook, Inc. Providing product advice recommendation
US9589305B2 (en) * 2014-12-30 2017-03-07 Facebook, Inc. Techniques for graph based natural language processing
CN104660496B (zh) * 2015-01-28 2018-09-25 腾讯科技(深圳)有限公司 一种信息处理方法、客户端及服务器
US10200486B2 (en) 2015-02-26 2019-02-05 Urban Airship, Inc. Mobile event notifications for network enabled objects
US10084865B2 (en) * 2015-02-26 2018-09-25 Urban Airship, Inc. Mobile event notifications
US10164931B2 (en) * 2015-03-30 2018-12-25 Microsoft Technology Licensing, Llc Content personalization based on attributes of members of a social networking service
WO2016196693A1 (en) 2015-06-01 2016-12-08 Miller Benjamin Aaron Content segmentation and time reconciliation
WO2016196692A1 (en) 2015-06-01 2016-12-08 Miller Benjamin Aaron Break state detection in content management systems
US10224027B2 (en) 2015-06-01 2019-03-05 Sinclair Broadcast Group, Inc. Rights management and syndication of content
US10629086B2 (en) * 2015-06-09 2020-04-21 International Business Machines Corporation Providing targeted, evidence-based recommendations to improve content by combining static analysis and usage analysis
CN106407238B (zh) * 2015-08-03 2021-07-13 腾讯科技(深圳)有限公司 基于媒体内容互动的方法和***
US10789615B1 (en) * 2015-10-28 2020-09-29 Reputation.Com, Inc. Customized targeting framework
CN105653659A (zh) * 2015-12-29 2016-06-08 韩宏华 一种以app形式收录和推广武术谚语的方法
US10855765B2 (en) 2016-05-20 2020-12-01 Sinclair Broadcast Group, Inc. Content atomization
US10579493B2 (en) * 2016-08-22 2020-03-03 Oath Inc. Systems and methods for determining user engagement with electronic devices
CN106339150A (zh) * 2016-08-24 2017-01-18 协和干细胞基因工程有限公司 一种多媒体交互展示***
US9947037B2 (en) * 2016-09-14 2018-04-17 International Business Machines Corporation Software recommendation services for targeted user groups
JP6370854B2 (ja) * 2016-10-03 2018-08-08 ヤフー株式会社 作成装置、作成方法及び作成プログラム
US11188824B2 (en) * 2017-02-17 2021-11-30 Google Llc Cooperatively training and/or using separate input and subsequent content neural networks for information retrieval
US11373086B2 (en) 2017-02-17 2022-06-28 Google Llc Cooperatively training and/or using separate input and response neural network models for determining response(s) for electronic communications
US10621062B2 (en) * 2017-02-21 2020-04-14 International Business Machines Corporation Widget provisioning of user experience analytics and user interface / application management
US20180239516A1 (en) * 2017-02-23 2018-08-23 Usablenet Inc. Methods for generating and publishing microsites and devices thereof
US20180276543A1 (en) * 2017-03-22 2018-09-27 Swoup, LLC Intelligent visual object management system
US20180300028A1 (en) * 2017-04-17 2018-10-18 Facebook, Inc. Systems and methods for dynamically determining actions associated with a page in a social networking system
US10354176B1 (en) 2017-05-03 2019-07-16 Amazon Technologies, Inc. Fingerprint-based experience generation
CN107341196B (zh) * 2017-06-16 2021-04-16 绿湾网络科技有限公司 关系图谱展示方法及装置
US11195106B2 (en) 2017-06-28 2021-12-07 Facebook, Inc. Systems and methods for scraping URLs based on viewport views
US11080291B2 (en) 2017-08-02 2021-08-03 Sap Se Downloading visualization data between computer systems
US10977262B2 (en) * 2017-08-02 2021-04-13 Sap Se Data export job engine
US10445365B2 (en) 2017-12-04 2019-10-15 Amazon Technologies, Inc. Streaming radio with personalized content integration
US10298640B1 (en) * 2018-01-29 2019-05-21 Amazon Technologies, Inc. Overlaying personalized content on streaming audio
US10965391B1 (en) 2018-01-29 2021-03-30 Amazon Technologies, Inc. Content streaming with bi-directional communication
US10839013B1 (en) * 2018-05-10 2020-11-17 Facebook, Inc. Generating a graphical representation of relationships among a set of articles and information associated with the set of articles
US10742712B2 (en) * 2018-10-30 2020-08-11 Citrix Systems, Inc. Web adaptation and hooking for virtual private integration systems and methods
CN112997212A (zh) * 2018-11-02 2021-06-18 连普乐士株式会社 通过即时通讯软件提供小说的方法、***及非暂时性计算机可读记录介质
US11188846B1 (en) * 2018-11-13 2021-11-30 Facebook, Inc. Determining a sequential order of types of events based on user actions associated with a third party system
CN109947949A (zh) * 2019-03-12 2019-06-28 国家电网有限公司 知识信息智能管理方法、装置及服务器
CN110516148A (zh) * 2019-08-09 2019-11-29 福建路阳信息科技有限公司 一种校友社交服务***和方法
WO2021061107A1 (en) * 2019-09-24 2021-04-01 Timecode Archive Inc. Systems, devices, and methods for contextualizing media
US10872116B1 (en) 2019-09-24 2020-12-22 Timecode Archive Corp. Systems, devices, and methods for contextualizing media
US11893043B2 (en) * 2020-01-21 2024-02-06 Salesforce, Inc. Identifying associated data objects
CN114417175A (zh) * 2020-10-28 2022-04-29 北京达佳互联信息技术有限公司 社交关联信息的获取方法、装置、电子设备及存储介质
CN112417448B (zh) * 2020-11-15 2022-03-18 复旦大学 一种基于api关系图谱的恶意软件检测模型抗老化增强方法

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848396A (en) 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US6269343B1 (en) 1998-08-25 2001-07-31 Mobshop, Inc. On-line marketing system and method
US6980962B1 (en) 1999-03-02 2005-12-27 Quixtar Investments, Inc. Electronic commerce transactions within a marketing system that may contain a membership buying opportunity
WO2000065509A2 (en) 1999-04-22 2000-11-02 Qode.Com, Inc. System and method for providing electronic information upon receipt of a scanned bar code
US8316450B2 (en) 2000-10-10 2012-11-20 Addn Click, Inc. System for inserting/overlaying markers, data packets and objects relative to viewable content and enabling live social networking, N-dimensional virtual environments and/or other value derivable from the content
US20030163375A1 (en) 2002-02-26 2003-08-28 Dombrowski Paul Joseph Methods, systems, and options for publication advertisement information management
US20040002878A1 (en) 2002-06-28 2004-01-01 International Business Machines Corporation Method and system for user-determined authentication in a federated environment
US7219154B2 (en) 2002-12-31 2007-05-15 International Business Machines Corporation Method and system for consolidated sign-off in a heterogeneous federated environment
US7472110B2 (en) 2003-01-29 2008-12-30 Microsoft Corporation System and method for employing social networks for information discovery
US20050154639A1 (en) 2004-01-09 2005-07-14 Zetmeir Karl D. Business method and model for integrating social networking into electronic auctions and ecommerce venues.
EP1738323A4 (en) 2004-03-15 2009-02-04 Aol Llc SHARING SOCIAL NETWORK INFORMATION
US20080126476A1 (en) 2004-08-04 2008-05-29 Nicholas Frank C Method and System for the Creating, Managing, and Delivery of Enhanced Feed Formatted Content
US20060080613A1 (en) 2004-10-12 2006-04-13 Ray Savant System and method for providing an interactive social networking and role playing game within a virtual community
US7716300B2 (en) 2005-02-22 2010-05-11 Microsoft Corporation Systems and methods to facilitate self regulation of social networks through trading and gift exchange
US7620902B2 (en) 2005-04-20 2009-11-17 Microsoft Corporation Collaboration spaces
US20070106627A1 (en) 2005-10-05 2007-05-10 Mohit Srivastava Social discovery systems and methods
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US7860751B2 (en) 2006-06-27 2010-12-28 Google Inc. Cross domain customer interface updates
US20080046562A1 (en) 2006-08-21 2008-02-21 Crazy Egg, Inc. Visual web page analytics
US7752552B2 (en) 2006-11-30 2010-07-06 Red Hat, Inc. Method and system for embedding an aggregated event stream into a third party web page
US7752553B2 (en) 2006-12-01 2010-07-06 Red Hat, Inc. Method and system for aggregating and displaying an event stream
US7844604B2 (en) 2006-12-28 2010-11-30 Yahoo! Inc. Automatically generating user-customized notifications of changes in a social network system
US8074209B2 (en) * 2007-01-04 2011-12-06 Microsoft Corporation Extending native data types
US10007895B2 (en) * 2007-01-30 2018-06-26 Jonathan Brian Vanasco System and method for indexing, correlating, managing, referencing and syndicating identities and relationships across systems
US20080228537A1 (en) 2007-02-26 2008-09-18 Andrew Monfried Systems and methods for targeting advertisements to users of social-networking and other web 2.0 websites and applications
WO2008111049A2 (en) * 2007-03-09 2008-09-18 Ghost, Inc. System and method for a virtual hosted operating system
US10181125B2 (en) 2007-05-15 2019-01-15 Viacom International Inc. System for creating a social-networking online community
AU2008261648B2 (en) * 2007-06-12 2013-10-03 Facebook, Inc. Personalized social networking application content
US20090049070A1 (en) 2007-08-15 2009-02-19 Arieh Steinberg Web-based social network badges
US20090070435A1 (en) 2007-09-10 2009-03-12 Fatdoor, Inc. Targeted websites based on a user profile
US20090182589A1 (en) * 2007-11-05 2009-07-16 Kendall Timothy A Communicating Information in a Social Networking Website About Activities from Another Domain
EP2235858A4 (en) 2007-12-28 2011-12-07 Amazon Tech Inc WIDGET SUPPORTED ACCOUNTING AND PRESENTATION OF BEHAVIORAL ASSOCIATIONS
US20090172021A1 (en) 2007-12-28 2009-07-02 Kane Francis J Recommendations based on actions performed on multiple remote servers
US20090171964A1 (en) 2008-01-02 2009-07-02 George Eberstadt Acquiring And Using Social Network Information
JP2011516938A (ja) * 2008-02-22 2011-05-26 ソーシャルレップ・エルエルシー 分散型オンライン会話の測定および管理のためのシステムと方式
US8234193B2 (en) 2008-03-03 2012-07-31 Wildfire Interactive, Inc. Method and system for providing online promotions through a social network-based platform
GB2458388A (en) 2008-03-21 2009-09-23 Dressbot Inc A collaborative online shopping environment, virtual mall, store, etc. in which payments may be shared, products recommended and users modelled.
US8072954B2 (en) * 2008-06-16 2011-12-06 Microsoft Corporation Mashup application and service for wireless devices
US8301743B2 (en) 2008-07-24 2012-10-30 Go Daddy Operating Company, LLC Enhanced domain name generation and registration
US8275870B2 (en) * 2008-08-12 2012-09-25 Olive Interactive, LLC Internet identity graph and social graph management system and method
US8949343B2 (en) 2008-08-28 2015-02-03 Microsoft Corporation Email confirmation page for social network notifications
US20100119053A1 (en) 2008-11-13 2010-05-13 Buzzient, Inc. Analytic measurement of online social media content
US20100132049A1 (en) * 2008-11-26 2010-05-27 Facebook, Inc. Leveraging a social graph from a social network for social context in other systems
US9582807B2 (en) 2009-02-20 2017-02-28 Facebook, Inc. Engagement interface advertising in a social network
US20100268582A1 (en) 2009-04-20 2010-10-21 International Business Machines Corporation Affiliate system on social networking
US8880620B2 (en) * 2009-06-12 2014-11-04 Microsoft Corporation Social graphing for data handling and delivery
US20120011432A1 (en) * 2009-08-19 2012-01-12 Vitrue, Inc. Systems and methods for associating social media systems and web pages
US8239364B2 (en) * 2009-12-08 2012-08-07 Facebook, Inc. Search and retrieval of objects in a social networking system
US8683311B2 (en) 2009-12-11 2014-03-25 Microsoft Corporation Generating structured data objects from unstructured web pages
US20110153412A1 (en) 2009-12-23 2011-06-23 Victor Novikov Selection and Presentation of Related Social Networking System Content and Advertisements
US20110153377A1 (en) 2009-12-23 2011-06-23 Victor Novikov Mixing and Targeting Content Types/Items for Users to Promote Optimization Goals
US8290926B2 (en) 2010-01-21 2012-10-16 Microsoft Corporation Scalable topical aggregation of data feeds
WO2011097624A2 (en) * 2010-02-08 2011-08-11 Facebook, Inc. Communicating information in a social network system about activities from another domain
US20110208822A1 (en) * 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US8185558B1 (en) * 2010-04-19 2012-05-22 Facebook, Inc. Automatically generating nodes and edges in an integrated social graph
US20120084160A1 (en) 2010-10-05 2012-04-05 Gregory Joseph Badros Providing Social Endorsements with Online Advertising
US10304066B2 (en) * 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
CN102045273A (zh) * 2010-12-28 2011-05-04 位涛 一种通过页面关注将互联网信息订阅到社交网络的方法
CN102158468B (zh) * 2011-01-26 2014-10-22 清华大学 一种在社交网络服务中分享和获取数据的方法
US8819009B2 (en) * 2011-05-12 2014-08-26 Microsoft Corporation Automatic social graph calculation
US8700708B2 (en) * 2011-05-26 2014-04-15 Facebook, Inc. Social data recording

Also Published As

Publication number Publication date
CN103946886B (zh) 2018-06-08
CN103946886A (zh) 2014-07-23
US8849721B2 (en) 2014-09-30
US20130073632A1 (en) 2013-03-21
KR101777303B1 (ko) 2017-09-11
IN2014CN02024A (ja) 2015-05-29
KR20140078691A (ko) 2014-06-25
EP2758935A1 (en) 2014-07-30
AU2012312858B2 (en) 2016-12-22
BR112014006863A2 (pt) 2017-04-04
AU2012312858A1 (en) 2014-04-10
JP2014528133A (ja) 2014-10-23
MX336792B (es) 2016-02-02
WO2013043346A1 (en) 2013-03-28
MX2014003529A (es) 2014-12-05
CA2848605C (en) 2016-06-28
CA2848605A1 (en) 2013-03-28
EP2758935A4 (en) 2015-03-04

Similar Documents

Publication Publication Date Title
JP6023203B2 (ja) ソーシャル・ネットワーキング・システム上の構造化オブジェクトおよびアクション
US8909515B2 (en) Dynamic sentence formation from structured objects and actions in a social networking system
US9032290B2 (en) Tool for creating structured objects and actions on a social networking system
US8793593B2 (en) Integrating structured objects and actions generated on external systems into a social networking system
US20130073568A1 (en) Ranking structured objects and actions on a social networking system
US11632407B2 (en) Supplementing user web-browsing
US11868966B2 (en) Utilizing cross-network identity data for audience analysis, metrics, profiling and targeting
JP5779740B1 (ja) アクションタイプに基づくサード・パーティ・アプリケーションからのユーザに関する情報の受け取り
US10826953B2 (en) Supplementing user web-browsing
KR101922182B1 (ko) 소셜 네트워킹 시스템에서 컨셉에 대한 범용 소셜 컨텍스트의 제공
US9767206B2 (en) Searching and aggregating web pages
US20130124624A1 (en) Enabling preference portability for users of a social networking system
US12021908B2 (en) Supplementing user web-browsing
Wirtz Social Media and Public Disinformation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161006

R150 Certificate of patent or registration of utility model

Ref document number: 6023203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250