(58)【調査した分野】(Int.Cl.,DB名)
ソーシャル・ネットワーキング・システムが、前記ソーシャル・ネットワーキング・システムのユーザに対するビュー状態を維持する工程であって、前記ビュー状態はコンテンツ・アイテムに関する記録であり、
ユーザ・デバイスに対し送られた複数のコンテンツ・アイテムと、
前記ユーザに対し提示された前記複数のコンテンツ・アイテムのうちの1つ以上と、
前記複数のコンテンツ・アイテムのうちの前記1つ以上が前記ユーザに提示された順序と、を識別する、工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに関連付けられているコンテンツ・アイテムを求める要求を受信する工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザ・デバイスに対し送られたと前記ビュー状態に基づき識別される前記複数のコンテンツ・アイテムのうち1つ以上のコンテンツ・アイテムを、前記ユーザに対し提示されていないと前記ビュー状態に基づき識別する工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対し提示されたと前記ビュー状態に基づき識別される前記複数のコンテンツ・アイテムのうち1つまたは複数のコンテンツ・アイテムから、前記ユーザに前記複数のコンテンツ・アイテムのうちの前記1つまたは複数を提示したときから状態が変化した追加のコンテンツ・アイテムを前記ビュー状態に基づき識別する工程であって、状態が変化した前記追加のコンテンツ・アイテムを識別する工程は、
前記追加のコンテンツ・アイテムに関して1つ以上の他のユーザによる指定される新しいインタラクションを受信する工程を含む、工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対し提示されていないと識別された前記1つ以上のコンテンツ・アイテムから、前記ユーザに対する閾値以上の関連性を有するコンテンツ・アイテムを識別する工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと、前記ユーザに対し提示されていない、かつ、前記ユーザに対する前記閾値以上の関連性を有すると識別された前記コンテンツ・アイテムとをランク付けする工程と、
前記ソーシャル・ネットワーキング・システムが、少なくとも部分的には前記ランク付けに基づいて、1つまたは複数のコンテンツ・アイテムを選択する工程であって、選択される前記1つまたは複数のコンテンツ・アイテムはコンテンツ・アイテムのセットを形成する、工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対する提示用にニュースフィードを前記ユーザ・デバイスに送る工程であって、前記ニュースフィードは、前記複数のコンテンツ・アイテムのうちの前記1つまたは複数のコンテンツ・アイテムの一部の上方に表示される選択されたコンテンツ・アイテムの前記セットを含む、工程と、
を備える、コンピュータ実装方法。
前記ユーザ・デバイスに対し送られたと識別されている選択されたコンテンツ・アイテムの前記セットと選択されたコンテンツ・アイテムの前記セットが提示された順序とを識別するために、前記ユーザに対する前記ビュー状態を更新する工程をさらに備える、請求項1に記載のコンピュータ実装方法。
前記複数のコンテンツ・アイテムのうちの前記1つまたは複数のコンテンツ・アイテムの前記一部の上方に表示される選択されたコンテンツ・アイテムの前記セットを含む前記ニュースフィードは、前記ユーザに対し提示されていないとして識別され、かつ、前記ユーザに対する前記閾値以上の関連性を有すると識別された前記コンテンツ・アイテムを含む、請求項1に記載のコンピュータ実装方法。
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと、前記ユーザに対し提示されていない、かつ、前記ユーザに対する前記閾値以上の関連性を有すると識別された前記1つ以上のコンテンツ・アイテムとをランク付けする工程は、
少なくとも部分的には、取り出された前記1つまたは複数の広告の各々に関連付けられている入札額に基づき、識別された1つまたは複数の広告をランク付けする工程を含む、請求項5に記載のコンピュータ実装方法。
ソーシャル・ネットワーキング・システムが、前記ソーシャル・ネットワーキング・システムのユーザに対するビュー状態を維持する工程であって、前記ビュー状態はコンテンツ・アイテムに関する記録であり、
ユーザ・デバイスに対し送られた複数のコンテンツ・アイテムと、
前記ユーザに対し提示された前記複数のコンテンツ・アイテムのうちの1つ以上と、
前記複数のコンテンツ・アイテムのうちの前記1つ以上が前記ユーザに提示された順序と、を識別する、工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに関連付けられているコンテンツ・アイテムを求める要求を受信する工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザ・デバイスに対し送られたと前記ビュー状態に基づき識別される前記複数のコンテンツ・アイテムのうち1つ以上のコンテンツ・アイテムを、前記ユーザに対し提示されていないと前記ビュー状態に基づき識別する工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対し提示されたと前記ビュー状態に基づき識別される前記複数のコンテンツ・アイテムのうち1つまたは複数のコンテンツ・アイテムから、前記ユーザに前記複数のコンテンツ・アイテムのうちの前記1つまたは複数を提示したときから状態が変化した追加のコンテンツ・アイテムを前記ビュー状態に基づき識別する工程であって、状態が変化した前記追加のコンテンツ・アイテムを識別する工程は、
前記追加のコンテンツ・アイテムに関して1つ以上の他のユーザによる指定される新しいインタラクションを受信する工程を含む、工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対し提示されていないと識別された前記1つ以上のコンテンツ・アイテムから、前記ユーザに対する閾値以上の関連性を有するコンテンツ・アイテムを識別する工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと、前記ユーザに対し提示されていない、かつ、前記ユーザに対する前記閾値以上の関連性を有すると識別された前記コンテンツ・アイテムとをランク付けする工程と、
前記ソーシャル・ネットワーキング・システムが、少なくとも部分的には前記ランク付けに基づいて、1つまたは複数のコンテンツ・アイテムを選択する工程であって、選択される前記1つまたは複数のコンテンツ・アイテムはコンテンツ・アイテムのセットを形成する、工程と、
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対する提示用にニュースフィードを前記ユーザ・デバイスに送る工程であって、前記ニュースフィードは、前記複数のコンテンツ・アイテムのうちの前記1つまたは複数のコンテンツ・アイテムの一部の上方に表示される選択されたコンテンツ・アイテムの前記セットを含む、工程と、
のためのプログラムコードを含む、非一時的なコンピュータ可読記憶媒体。
前記ユーザ・デバイスに対し送られたと識別されている選択されたコンテンツ・アイテムの前記セットと選択されたコンテンツ・アイテムの前記セットが提示された順序とを識別するために、前記ユーザに対する前記ビュー状態を更新する工程をさらに含む、請求項10に記載のコンピュータ可読記憶媒体。
前記複数のコンテンツ・アイテムのうちの前記1つまたは複数のコンテンツ・アイテムの前記一部の上方に表示される選択されたコンテンツ・アイテムの前記セットを含む前記ニュースフィードは、前記ユーザに対し提示されていないとして識別され、かつ、前記ユーザに対する前記閾値以上の関連性を有すると識別された前記コンテンツ・アイテムを含む、請求項10に記載のコンピュータ可読記憶媒体。
前記ソーシャル・ネットワーキング・システムが、前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと、前記ユーザに対し提示されていない、かつ、前記ユーザに対する前記閾値以上の関連性を有すると識別された前記1つ以上のコンテンツ・アイテムとをランク付けする工程は、
少なくとも部分的には、取り出された前記1つまたは複数の広告の各々に関連付けられている入札額に基づき、識別された1つまたは複数の広告をランク付けする工程を含む、請求項14に記載のコンピュータ可読記憶媒体。
前記複数のコンテンツ・アイテムのうちの前記1つまたは複数のコンテンツ・アイテムの前記一部の上方に表示される選択されたコンテンツ・アイテムの前記セットを含む前記ニュースフィードは、前記ユーザに対し提示されていないとして識別され、かつ、前記ユーザに対する前記閾値以上の関連性を有すると識別された前記コンテンツ・アイテムを含む、請求項18に記載のシステム。
【発明を実施するための形態】
【0009】
これらの図は、例示のためだけに様々な実施形態を示す。当業者なら、以下の考察から、本明細書に示されている構造および方法の代替の実施形態を、本明細書に記載の実施形態の原理から逸脱することなしに使用することができることを容易に理解するであろう。
【0010】
概要
ソーシャル・ネットワーキング・システムは、そのユーザに、ソーシャル・ネットワーキング・システムの他のユーザと通信およびインタラクションする能力を提供する。ユーザは、ソーシャル・ネットワーキング・システムに参加し、自分達が接続したいと望む幾人かの他のユーザに対する接続を追加する。ソーシャル・ネットワーキング・システムのユーザは、ユーザ・プロフィールとして記憶される、自分達について記述する情報を提供することができる。たとえば、ユーザは、自分達の年齢、性別、地理的位置、学歴、雇用歴などを提供することができる。ユーザによって提供される情報は、ソーシャル・ネットワーキング・システムによって、情報をそのユーザに向けて送るために使用され得る。たとえば、ソーシャル・ネットワーキング・システムは、ソーシャル・グループ、イベント、および潜在的な友達をユーザに推薦することができる。
【0011】
ユーザによって提供される宣言型情報に加えて、ソーシャル・ネットワーキング・システムは、ユーザのアクションをソーシャル・ネットワーキング・システム上で記録することもできる。これらのアクションは、他のユーザとの通信、写真の共有、ソーシャル・ゲーミング・アプリケーションなどソーシャル・ネットワーキング・システム上で動作するアプリケーションとのインタラクション、投票に対する応答、関心事の追加、および従業員ネットワークへの参加を含む。また、ソーシャル・ネットワーキング・システムは、そのユーザ達によってアクセスされる外部ウェブサイト・データを取り込むこともできる。この外部ウェブサイト・データは、頻繁に訪問を受けるウェブサイト、選択されるリンク、および他のブラウジング・データを含むことができる。ユーザの挙動に基づく、特定のユーザおよびアプリケーションの他者より強い関心事など、ユーザについての情報を、ソーシャル・ネットワーキング・システムによって、解析および機械学習を通じて、これら
の記録されたアクションから生成することができる。
【0012】
ソーシャル・ネットワーキング・システムは、そのユーザ達についての情報を推測しようと試みることもできる。ソーシャル・ネットワーキング・システムは、「結婚式」などキーワードを含む、ユーザによってポストされたコンテンツを解析することができる。位置情報をユーザによってポストされたコンテンツ・アイテムから集め、そのユーザのホーム・ロケーションを推測することができる。その結果、ソーシャル・ネットワーキング・システムは、地理的位置、通学している教育機関、および年齢範囲など、ユーザのいくつかのプロフィール属性を、そのユーザのコネクション、およびその宣言されたプロフィール情報を解析することによって推測することができる。プロフィール属性を推測することについては、参照により本願明細書に援用する2010年10月29日に出願された米国特許出願第12/916,322号「ユーザ・プロフィール情報を推測すること(Inferring User Profile Information)」でさらに論じられている。
【0013】
また、ソーシャル・ネットワーキング・システムは、有名人、趣味、スポーツ・チーム、本、音楽など、あるコンセプトに関心があることをユーザが明示的に示すことを可能にする。これらの関心事は、ターゲティング広告や、共有された関心事に基づいてソーシャル・ネットワーキング・システムの他のユーザについての関連ストーリを示すことによってソーシャル・ネットワーキング・システム上でユーザ体験を個人化することを含めて、無数の方法で使用することができる。一実施形態では、ソーシャル・ネットワーキング・システムは、明示的に示された、または他の方法でソーシャル・ネットワーキング・システム上で推測されたユーザの関心事に対する親和性スコアを計算し、これらの親和性スコアを、ニュースフィード、またはソーシャル・ネットワーキング・システム上の通信チャネルでユーザのために公開されることになる新しいコンテンツ・アイテムをランク付けする際に使用することができる。親和性スコアに基づくニュースフィード・ランク付けについては、共に参照により本願明細書に援用する関連出願、2011年7月29日に出願された米国特許出願第13/194,770号「ソーシャル・ネットワークにおけるニュースフィードの適応ランク付け(Adaptive Ranking of Newsfeed in Social Networks)」、および2011年7月29日に出願された米国特許出願第13/194,773号「ソーシャル・グラフ情報に基づいてニュースフィードをランク付けすること(Ranking Newsfeed Based on Social Graph Information)」でさらに論じられている。
【0014】
ソーシャル・グラフは、ソーシャル・ネットワーキング・システム上に記憶されるエッジによって接続されたノードを含む。ノードは、コンセプトおよびエンティティを具体化するウェブ・ページなどソーシャル・ネットワーキング・システムのユーザおよびオブジェクトを含む。エッジは、ユーザが「アメリカズ・カップ」について別のユーザによって共有される新しい記事に関心があることを示したときなど、2つのノード間での特定のインタラクションを表す。ソーシャル・グラフは、ソーシャル・ネットワーキング・システムのユーザ間のインタラクション、ならびにソーシャル・ネットワーキング・システムのユーザとオブジェクトの間のインタラクションを、これらのインタラクションを表すノードおよびエッジ内の情報を記憶することによって記録することができる。サードパーティ開発者ならびにソーシャル・ネットワーキング・システムの管理者がカスタムのグラフ・オブジェクト・タイプおよびグラフ・アクション・タイプを定義し、グラフ・オブジェクトおよびグラフ・アクションの属性を定義することができる。たとえば、映画のためのグラフ・オブジェクトは、タイトル、出演者、監督、プロデューサ、年など、いくつかの定義されたオブジェクト・プロパティを有することができる。「購入」など、あるグラフ・アクション・タイプをソーシャル・ネットワーキング・システム外部のウェブサイト上で
サードパーティ開発者が使用し、ソーシャル・ネットワーキング・システムのユーザによって実施されたカスタムのアクションをレポートすることができる。このようにして、ソーシャル・グラフは、「オープン」とすることができ、サードパーティ開発者が外部ウェブサイト上でカスタムのグラフ・オブジェクトおよびアクションを作成および使用することを可能にする。
【0015】
サードパーティ開発者は、ソーシャル・ネットワーキング・システムのユーザが、ソーシャル・ネットワーキング・システム外部のウェブサイト上でホストされているウェブ・ページに関心があることを示すことを可能にすることができる。これらのウェブ・ページは、ウィジェット、ソーシャル・プラグイン、プログラム可能な論理またはコード・スニペットをiFrameなどウェブ・ページ内に埋め込んだ結果として、ソーシャル・ネットワーキング・システム内のページ・オブジェクトとして表されてもよい。ウェブ・ページ内に埋め込むことができるコンセプトは、このようにしてソーシャル・ネットワーキング・システム上でソーシャル・グラフ内のノードになり得る。その結果、ユーザは、「ジャスティン・ビーバー」などキーワードまたはキーワード・フレーズに関係のあるソーシャル・ネットワーキング・システム外部の多数のオブジェクトとインタラクションすることができる。オブジェクトとのインタラクションのそれぞれは、ソーシャル・ネットワーキング・システムによってエッジとして記録され得る。あるキーワードに関連するオブジェクトとのユーザ・インタラクションに基づいて広告主が自分達の広告をターゲットすることを可能にすることによって、それらの広告は、より受容力のある視聴者に届く可能性がある。なぜなら、それらのユーザは、その広告に関連するアクションをすでに実施しているからである。たとえば、ジャスティン・ビーバーのTシャツ、帽子、およびアクセサリを販売する小売業者は、ジャスティン・ビーバーの楽曲「Baby」を聴いた、ジャスティン・ビーバーの新しい香水「Someday」を購入した、ジャスティン・ビーバーのファン・ページでコメントした、新しいジャスティン・ビーバーのコンサート・ツアーの開始についてソーシャル・ネットワーキング・システム上でイベントに出席したなど、複数の異なるタイプのアクションの1つを最近実施したユーザに、新しい商品に関する広告をターゲットすることができる。サードパーティ開発者にカスタムのオブジェクト・タイプおよびカスタムのアクション・タイプを定義することを可能にすることは、参照により本願明細書に援用する関連出願、2011年9月21日に出願された米国特許出願第13/239,340号「ソーシャル・ネットワーキング・システム上の構造化オブジェクトおよびアクション(Structured Objects and Actions
on a Social Networking System)」でさらに論じられている。
【0016】
ソーシャル・ネットワーキング・システムは、そのユーザ達についての情報を収集し、場合によっては推測することができるが、収集される膨大な量のデータを編成するために、著しいリソースを費やさなければならない。何億ものユーザを有するソーシャル・ネットワーキング・システムは、たとえばそのユーザ達について膨大な量の情報を集め、推測する。コンピュータ・リソースをスケーラブルかつ効率的に費やすという問題に対処するために、ソーシャル・ネットワーキング・システムは、モジュールが処理するためにデータベースのスナップショットを提供する。婚約、子供の誕生、国中を移動したこと、大学を卒業したこと、新しい仕事を始めたことなど、ユーザの私生活の最近の変化を、ソーシャル・ネットワーキング・システム上のこれらのスナップショットから収集および推測することができる。これらの人生の出来事に関連するコンテンツ・アイテムは、一実施形態では、最も関係のある情報が最初に消費されることを確実にするために、ユーザ達に選択的に提供されるニュースフィード・ストーリのランク付けにおいて優先順位付けされてもよい。
【0017】
ユーザがソーシャル・ネットワーキング・システム上でより多くのコネクションを蓄積
するにつれて、ニュースフィード、またはユーザのコネクションによってポストされるコンテンツを通信するためにソーシャル・ネットワーキング・システムによって使用される通信チャネルは、無関係な情報で充満し、詰まる可能性を有する。ユーザの関心事および他のユーザに対する親和性に従ってコンテンツ・アイテムをランク付けすることは、この問題を軽減する助けとなり得る。しかし、ソーシャル・ネットワーキング・システムは、同じユーザ・プロフィールに関連付けられている異なるデバイスで1日に何回でも、ソーシャル・ネットワーキング・システムとしばしば関わり合うユーザが、すでに提供済みのコンテンツ・アイテムを閲覧し終わったか否かを決定することができない可能性がある。ユーザはしばしば、ソーシャル・ネットワーキング・システム上のウェブ・ページをロードし、そのユーザに接続された別のユーザによってポストされた特に魅力的なコンテンツ・アイテムをうかつにも見落とすことがある。これは、ソーシャル・ネットワーキング・システムに対するユーザの関わり合いを少なくする。
【0018】
ソーシャル・ネットワーキング・システムは、ユーザがコンテンツを消費することができるとき直ちに関係のあるコンテンツを配信することによって、ユーザを関わり合わせておこうと努力する。特にユーザがソーシャル・ネットワーキング・システム上で数百、さらには数千の「友達」を蓄積しているとき、ユーザがより多くのコンテンツを閲覧する準備ができているか否かを決定することは、ユーザが自分達のニュースフィードを無関係なコンテンツで充満させることなしにソーシャル・ネットワーキング・システムと依然として関わり合っているようにするために貴重である。機械学習およびヒューリスティック解析を、ソーシャル・ネットワーキング・システムのユーザにコンテンツを選択的に提供する際に使用してもよい。
【0019】
図1は、一実施形態において、ソーシャル・ネットワーキング・システムのユーザにコンテンツを選択的に提供するためのプロセスの高レベル・ブロック図を示す。ソーシャル・ネットワーキング・システム100は、ユーザにコンテンツを選択的に提供するプロセスにおいて、ユーザ・プロフィール・オブジェクト102、アクション・ログ104、およびエッジ・オブジェクト106を含む、ユーザについての異なるタイプの情報を使用する。ソーシャル・ネットワーキング・システム100の各ユーザは、特定のユーザ・プロフィール・オブジェクト102に関連付けられる。これらのユーザ・プロフィール・オブジェクト102は、そのユーザによって明示的に共有されたそのユーザについての宣言型情報、ならびにこのソーシャル・ネットワーキング・システム100によって推測される任意のプロフィール情報を含む。一実施形態では、ユーザ・プロフィール・オブジェクト102は、30以上の異なるデータ・フィールドを含むことができ、各データ・フィールドは、ソーシャル・ネットワーキング・システム100の対応するユーザの属性について記述する。
【0020】
ソーシャル・ネットワーキング・システム100のユーザは、ソーシャル・ネットワーキング・システム100を使用して、1つまたは複数のオブジェクトに関連付けられるアクションを行うことができる。これらのアクションを記述する情報は、アクション・ログ104内に記憶される。アクション・ログ104は、フォト・アルバムに対してコメントすること、ユーザ間の通信、音楽家のファンになること、およびカレンダにイベントを追加することを含めて、ソーシャル・ネットワーキング・システム上で行われる多数の異なるタイプのインタラクションを含む。さらに、アクション・ログ104は、ソーシャル・ネットワーキング・システム100上の広告、ならびにソーシャル・ネットワーキング・システム100上で動作する他のアプリケーションとのユーザのインタラクションを記録する。
【0021】
エッジ・オブジェクト106は、ソーシャル・ネットワーキング・システム100上の他のノードに対するユーザのコネクションについての情報を記憶する。そのような情報は
、ウォール・ポスト、写真に対するコメント、共にタグ付けされている地理的場所、および共にタグ付けされている写真を含めて、ソーシャル・ネットワーキング・システム100上のユーザとコネクションとの間のインタラクションを含むことができる。一実施形態では、エッジ・オブジェクト106は、親和性スコアなどユーザ間のコネクションの強さについての情報を含む。ユーザが特定のコネクションについて高い親和性スコアを有する場合、ソーシャル・ネットワーキング・システム100は、そのユーザがそのコネクションと非常にインタラクションすると認識している。親和性スコア、およびソーシャル・ネットワーキング・システムからソーシャル・データを集める方法については、参照により本願明細書に援用する2010年12月23日に出願された米国特許出願第12/978,265号「ソーシャル・ネットワーキング・システムにおけるコンテキスト的に関係のある親和性予測(Contextually Relevant Affinity Prediction in a Social Networking System)」でさらに論じられている。
【0022】
閲覧ユーザ・デバイス108が、ソーシャル・ネットワーキング・システム100と接続し、ニュースフィード・ユーザ・インタフェース118内のコンテンツを要求する。ニュースフィード・マネージャ110は、閲覧ユーザ・デバイス108に関連付けられているユーザについて以前に提示されたニュースフィード・ストーリ116を最初に決定することによって、閲覧ユーザ・デバイス108からの要求に応答する。閲覧ユーザ・デバイス108に関連付けられているユーザについての着信ニュースフィード・ストーリ112が決定され、次いでニュースフィード・ランク付けモジュール114によってランク付けされる。上位の着信ニュースフィード・ストーリ112は、ニュースフィード・マネージャ110によって選択され、ニュースフィード内で残りの着信ニュースフィード・ストーリ112の上方に表示されてもよい。ニュースフィード・ランク付けモジュール114は、閲覧ユーザ・デバイス108に関連付けられているユーザについての情報を使用し、そのユーザについてのニュースフィード内のコンテンツ・アイテムのランク付けを決定することができる。このユーザ情報は、ユーザ・プロフィール・オブジェクト102、エッジ・オブジェクト106、およびそのユーザに関連付けられているアクション・ログ104内に記憶されたアクションから取得することができる。
【0023】
次いで、ニュースフィード・マネージャ110は、以前に提示されたニュースフィード・ストーリ116をユーザが消費し終わったことを示す受信されたユーザ入力に基づいて、ニュースフィード・ユーザ・インタフェース118内でレンダリングするために着信ニュースフィード・ストーリ112の下方に以前に提示されたニュースフィード・ストーリ116を提供することができる。その結果、閲覧ユーザは、最初に上位の新しいストーリ、それに続いて残りの新しいストーリ、次いで以前に提示されたニュースフィード・ストーリを見ることになる。そのようなユーザ入力は、より多くのストーリのためにニュースフィード・ユーザ・インタフェース118内のリンクをクリックする、または他の方法で選択すること、閲覧ユーザ・デバイス108からスクロール・アクションを検出すること、ニュースフィード・ユーザ・インタフェース118内の様々なコンテンツ・アイテム上でのクリック・アクションを受信すること、および閲覧ユーザ・デバイス108上でニュースフィード・ユーザ・インタフェース118をロードした後ニュースフィード・ユーザ・インタフェース118上で費やされた経過時間を含むことができる。
【0024】
ニュースフィード・マネージャ110は、ソーシャル・ネットワーキング・システム100上の各ユーザについて、各ユーザのニュースフィード内で提示されたニュースフィード・ストーリの「ビュー状態」を記録し、提示されたストーリの順序を記憶する。特定の時刻でのビュー状態は、そのユーザに関連付けられているビュー状態オブジェクト120内に記憶することができる。このビュー状態を使用して、ニュースフィード・マネージャ110は、ニュースフィード・ストーリが発展したか否かを決定し、ニュースフィード・
ストーリのランク付けを変更することができる。たとえば、閲覧ユーザは、クリスマス・ショッピングについてのニュース・ストーリについてのリンクを共有している別のユーザに接続されてもよい。閲覧ユーザは、そのニュース・ストーリを閲覧ユーザに接続された他のユーザと共有することによってこのリンクに関心があることを示し、そのニュース・ストーリに対してコメントすることも、そのニュース・ストーリに対して「いいね!」を表明することもできる。その後、閲覧ユーザに接続された他のユーザが、そのニュース・ストーリとさらにインタラクションすることも、クリスマスについてのそのニュース・ストーリの話題に関連する他のストーリをポストすることもできる。ニュースフィード・ランク付けモジュール114は、高い親和性を有するユーザ達がそのニュース・ストーリとインタラクションした結果として、そのニュース・ストーリをより高くランク付けすることができる。これらのインタラクションが以前に提示されたニュース・ストーリ116を発展させたので、そのニュース・ストーリは、ニュースフィード・マネージャ110によって着信ニュースフィード・ストーリ112として閲覧ユーザに提示されてもよい。さらに、ニュースフィード・マネージャ110は、クリスマスについてのニュースフィード・ストーリを1つのニュースフィード・ストーリ内に集めてまとめ、他のユーザによるより新しいインタラクションを示してもよい。
【0025】
ニュースフィード・マネージャ110は、一実施形態では、機械学習法を使用し、新しいコンテンツをソーシャル・ネットワーキング・システム100のユーザに選択的に提供することができる。ソーシャル・ネットワーキング・システム100上の各ユーザは、ソーシャル・ネットワーキング・システム100上の他のユーザに対する異なる親和性と、ソーシャル・ネットワーキング・システム100のソーシャル・グラフ上のノードとして具体化された関心事およびコンセプトと、ソーシャル・ネットワーキング・システム100上にインストールされ得るアプリケーションとを有することができる。これらのユーザ、関心事、コンセプト、およびアプリケーションによって生成されるコンテンツ・アイテムは、無関係な情報でユーザをあふれかえらせる可能性を有し、より関係のあるアイテムを事実上覆い隠す。機械学習を使用し、どのコンテンツ・アイテムがユーザにより関係があるか、ならびにいつユーザが新しいコンテンツ・アイテムを消費する準備ができている可能性があるか、ソーシャル・ネットワーキング・システム上のユーザ挙動を解析することによって予測することができる。
【0026】
閲覧ユーザ・デバイス108がニュースフィード・ユーザ・インタフェース118をロードするとき、ニュースフィード・マネージャ110は、ニュースフィード・ユーザ・インタフェース118内にリンクをレンダリングし、蓄積されているいくつかの新しいストーリを示すことができる。このようにして、ユーザは、最後にユーザがログインして以来ポストされた上位のストーリを読む、および/または消費することができる。一実施形態では、ニュースフィード・マネージャ110は、閲覧ユーザ・デバイス108に関連付けられているユーザがニュースフィード・ユーザ・インタフェース118と積極的に関わり合っていると決定することができ、ニュースフィード・ランク付けモジュール114によってランク付けされた上位の着信ニュースフィード・ストーリ112でニュースフィード・ユーザ・インタフェース118を自動的に更新することができる。別の実施形態では、ニュースフィード・マネージャ110は、そのユーザに対するニュースフィード・ユーザ・インタフェース118を過去のユーザ挙動に基づき自動的に更新することが上位の着信ニュースフィード・ストーリ112によって請け合われると決定することができる。他の実施形態では、ニュースフィード・マネージャ110は、ニュースフィード・ユーザ・インタフェース118内のリンクを更新し、蓄積されている更新された数の新しいストーリを示し、マウス・クリック、タッチパッド入力、音声入力、ジェスチャ入力、またはキーボード入力などユーザ入力を待ち、リンクを実行し新しい着信ニュースフィード・ストーリ112を表示することができる。「クリック」アクションを、リンクを選択および実行するために使用される何らかのユーザ入力として定義してもよい。
【0027】
一実施形態では、ニュースフィード・マネージャ110は、以前に提示されたニュースフィード・ストーリ116および着信ニュースフィード・ストーリ112を、ニュースフィード・ランク付けモジュール114によって決定されたランク付けで、閲覧ユーザ・デバイス108上のニュースフィード・ユーザ・インタフェース118からユーザ入力が受信されたこと、または受信されないことに基づいて動的にレンダリングすることができる。たとえば、ユーザは、朝、閲覧ユーザ・デバイス108を通じてソーシャル・ネットワーキング・システム100にアクセスし、ニュースフィード・ユーザ・インタフェース118内で提供されるコンテンツ・アイテムを見て回ってもよい。ニュースフィード・ユーザ・インタフェース118内で提供された後で、以前に提示されたニュースフィード・ストーリ116の順序が、その時点のユーザのビュー状態として、閲覧ユーザに関連付けられているビュー状態オブジェクト120内に記憶される。次いで、ユーザは、閲覧ユーザ・デバイス108上で他のサイトをブラウズし、ニュースフィード・ユーザ・インタフェース118を開いたままにしてもよく、この場合、ニュースフィード・ユーザ・インタフェース118は、ウェブ・ブラウザによってロードされるウェブ・ページ上、またはモバイル・デバイス上のネイティブ・アプリケーション上で具体化される。後にその日の午後、ユーザは、以前に提示されたニュースフィード・ストーリ116または新しい着信ニュースフィード・ストーリ112を引き続きブラウズするために、閲覧ユーザ・デバイス108を通じてソーシャル・ネットワーキング・システム100に再びアクセスしてもよい。上述のように、ニュースフィード・マネージャ110は、ニュースフィード・ユーザ・インタフェース118内にリンクをレンダリングし、着信ニュースフィード・ストーリ112が使用可能であることを示すことができる。ユーザは、そのリンクをクリックし、新しい着信ニュースフィード・ストーリ112を閲覧してもよい。このユーザ入力により、ニュースフィード・マネージャ110は、ニュースフィード・ユーザ・インタフェース118内で、ニュースフィード・ランク付けモジュール114によってランク付けされた着信ニュースフィード・ストーリ112を、以前に提示されたニュースフィード・ストーリの上方に、ユーザに関連付けられているビュー状態オブジェクト120から取り出されたその朝のユーザのビュー状態に記憶された順序で表示することができる。
【0028】
あるいは、ユーザは、着信ニュースフィード・ストーリ112を表示するためのそのリンクを決してクリックしない可能性がある。その場合、ニュースフィード・マネージャ110は、着信ニュースフィード・ストーリ112を引き続き保持し、一方、量の増え続ける新しいストーリを示すリンクをリフレッシュすることができる。一方、ニュースフィード・マネージャ110は、着信ニュースフィード・ストーリ112を以前に提示されたニュースフィード・ストーリ116と共に表示するためにニュースフィード・ユーザ・インタフェース118を自動的にリフレッシュすることができる。一実施形態では、ニュースフィード・ランク付けモジュール114は、新しい着信ニュースフィード・ストーリ112を以前に提示されたニュースフィード・ストーリ116の下方にランク付けしてもよい。なぜなら、以前に提示されたニュースフィード・ストーリ116は、閲覧ユーザに接続された他のユーザによって非常にインタラクションされている可能性があり、オリジナルの公開ユーザが以前に提示されたニュースフィード・ストーリ116に対してコメントしたことによって発展している可能性があり、または閲覧ユーザに接続された複数のユーザにとって関心の高いものであり得るからである。その結果、着信ニュースフィード・ストーリは、閲覧ユーザに対して、そのユーザについて集められた情報、ならびにそのユーザに対するニュースフィードのビュー状態に基づいて、選択的に提供される。
【0029】
システム・アーキテクチャ
図2は、一実施形態による、ソーシャル・ネットワーキング・システムのユーザにコンテンツを選択的に提供するのに適したシステム環境を示す高レベル・ブロック図である。このシステム環境は、1つまたは複数のユーザ・デバイス202と、ソーシャル・ネット
ワーキング・システム100と、ネットワーク204、外部ウェブサイト216とを含む。代替の構成では、異なる、および/または追加のモジュールをシステムに含めることができる。
【0030】
ユーザ・デバイス202は、ユーザ入力を受信することができ、ネットワーク204を介してデータを送受信することができる1つまたは複数のコンピューティング・デバイスを含む。一実施形態では、ユーザ・デバイス202は、たとえばMicrosoft WINDOWS(登録商標)互換のオペレーティング・システム(OS)、Apple OS X、および/またはLINUX(登録商標)ディストリビューションを実行する従来のコンピュータ・システムである。別の実施形態では、ユーザ・デバイス202は、携帯情報端末(PDA)、モバイル電話、スマートフォンなど、コンピュータ機能を有するデバイスとすることができる。ユーザ・デバイス202は、ネットワーク204を介して通信するように構成される。ユーザ・デバイス202は、アプリケーション、たとえばユーザ・デバイス202のユーザがソーシャル・ネットワーキング・システム100とインタラクションすることを可能にするブラウザ・アプリケーションを実行することができる。別の実施形態では、ユーザ・デバイス202は、IOS(登録商標)およびANDROID(登録商標)など、ユーザ・デバイス202のネイティブ・オペレーティング・システム上で動作するアプリケーション・プログラミング・インタフェース(API)を通じてソーシャル・ネットワーキング・システム100とインタラクションする。
【0031】
一実施形態では、ネットワーク204は、標準的な通信技術および/またはプロトコルを使用する。したがって、ネットワーク204は、ETHERNET(登録商標)802.11、WiMAX(worldwide interoperability for
microwave access)、3G、4G、CDMA、デジタル加入者線(DSL)などの技術を使用するリンクを含むことができる。同様に、ネットワーク204上で使用されるネットワーキング・プロトコルは、マルチプロトコル・ラベル・スイッチング(MPLS)、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)、ユーザ・データグラム・プロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)を含むことができる。ネットワーク204の上で交換されるデータは、ハイパーテキスト・マークアップ言語(HTML)および拡張マークアップ言語(XML)を含む技術および/またはフォーマットを使用して表すことができる。さらに、リンクのすべて、または一部は、セキュア・ソケット・レイヤ(SSL)、トランスポート・レイヤ・セキュリティ(TLS)、およびインターネット・プロトコル・セキュリティ(IPsec)など従来の暗号化技術を使用して暗号化することができる。
【0032】
図2は、ソーシャル・ネットワーキング・システム100のブロック図を含む。ソーシャル・ネットワーキング・システム100は、ユーザ・プロフィール・ストア206、ウェブ・サーバ208、アクション・ロガー210、アクション・ログ104、コンテンツ・ストア212、エッジ・ストア214、ニュースフィード・マネージャ110、ニュースフィード・ランク付けモジュール114、ニュースフィード・ストーリ・ストア218、ビュー状態ストア220、およびアド要求ストア230を含む。他の実施形態では、ソーシャル・ネットワーキング・システム100は、様々なアプリケーションのための追加の、より少ない、または異なるモジュールを含むことができる。ネットワーク・インタフェース、セキュリティ機能、ロード・バランサ、フェールオーバ・サーバ、管理およびネットワーク運用コンソールなど従来の構成要素は、システムの詳細を不明瞭にしないように示されていない。
【0033】
ウェブ・サーバ208は、ソーシャル・ネットワーキング・システム100を、ネットワーク204を介して1つまたは複数のユーザ・デバイス202にリンクし、ウェブ・サ
ーバ208は、ウェブ・ページ、ならびにJAVA(登録商標)、Flash、XMLなど他のウェブ関連のコンテンツを供給する。ウェブ・サーバ208は、ソーシャル・ネットワーキング・システム100とユーザ・デバイス202の間のメッセージ、たとえばインスタント・メッセージ、キューに入れられた(queued)メッセージ(たとえば、電子メール)、テキストおよびSMS(ショート・メッセージ・サービス)メッセージ、または任意の他の好適なメッセージング技法を使用して送られるメッセージを受信しルーティングする機能を提供することができる。ユーザは、情報、たとえばコンテンツ・ストア212内に記憶される画像またはビデオをアップロードするために、ウェブ・サーバ208に要求を送ることができる。さらに、ウェブ・サーバ208は、IOS(登録商標)、ANDROID(登録商標)、WEBOS(登録商標)、およびBLACKBERRY(登録商標)OSなどネイティブ・ユーザ・デバイス・オペレーティング・システムにデータを直接送るためのAPI機能を提供することができる。
【0034】
アクション・ロガー210は、ソーシャル・ネットワーキング・システム100上および/またはその外のユーザ・アクションについてウェブ・サーバ208から通信を受信することが可能である。アクション・ロガー210は、ユーザ・アクションについての情報を、それらを追跡するためにアクション・ログ104に追加する。そのようなアクションは、たとえば、とりわけ、コネクションを他のユーザに追加すること、メッセージを他のユーザに送ること、画像をアップロードすること、他のユーザからのメッセージを読むこと、他のユーザに関連付けられているコンテンツを閲覧すること、別のユーザによってポストされたイベントに出席することを含むことができる。さらに、他のオブジェクトと関連して記述されるいくつかのアクションが特定のユーザを対象にし、その結果、これらのアクションは、それらのユーザにも関連付けられる。これらのアクションは、アクション・ログ104内に記憶される。
【0035】
アクション・ログ104は、ソーシャル・ネットワーキング・システム100、ならびにソーシャル・ネットワーキング・システム100に情報を通信して返す外部ウェブサイト上でのユーザのアクションを追跡するために、ソーシャル・ネットワーキング・システム100によって使用され得る。上述のように、ユーザは、ポストに対してコメントすること、リンクを共有すること、およびモバイル・デバイスを介して物理的な位置にチェックインすることを含めて、ソーシャル・ネットワーキング・システム100上の様々なオブジェクトとインタラクションすることができる。また、アクション・ログ104は、外部ウェブサイト上でのユーザ・アクションをも含むことができる。たとえば、主に豪華な靴をバーゲン価格で販売するeコマース・ウェブサイトは、そのeコマース・ウェブサイトがソーシャル・ネットワーキング・システムのユーザを識別することを可能にするソーシャル・プラグインを通じて、ソーシャル・ネットワーキング・システム100のユーザを認識することができる。ソーシャル・ネットワーキング・システム100のユーザは一意に識別可能であるため、この豪華な靴の再販業者などeコマース・ウェブサイトは、これらのユーザが自分達のウェブサイトを訪問したとき、これらのユーザについての情報を使用することができる。アクション・ログ104は、閲覧履歴、クリックされた広告、購買活動、および買い付けパターンを含めて、これらのユーザについてのデータを記録する。
【0036】
ユーザ・アカウント情報、およびユーザに対する他の関連情報が、ユーザ・プロフィール・オブジェクト102としてユーザ・プロフィール・ストア206内に記憶される。ユーザ・プロフィール・ストア206内に記憶されたユーザ・プロフィール情報は、職歴、学歴、性別、趣味または好み、居住地など、経歴、人口統計学的、または他のタイプの記述情報を含めて、ソーシャル・ネットワーキング・システム100のユーザについて記述する。また、ユーザ・プロフィールは、ユーザによって提供される他の情報、たとえば画像またはビデオを記憶することができる。いくつかの実施形態では、ユーザの画像は、画
像内に表示されるソーシャル・ネットワーキング・システム100のユーザの識別情報と共にタグ付けされてもよい。ユーザ・プロフィール・ストア206は、アクション・ログ内に記憶され、コンテンツ・ストア212内のオブジェクトに対して実施されたアクションに対する参照をも維持する。
【0037】
エッジ・ストア214は、ユーザ間のコネクションおよびソーシャル・ネットワーキング・システム100上の他のオブジェクトを記述する情報をエッジ・オブジェクト110内に記憶する。いくつかのエッジは、ユーザによって定義されてもよく、ユーザが自分達の他のユーザとの関係を指定することを可能にする。たとえば、ユーザは、友達、同僚、パートナなど、ユーザの現実の関係に符合する、他のユーザとのエッジを生成することができる。他のエッジは、ソーシャル・ネットワーキング・システム上のページに関心があることを示すこと、ソーシャル・ネットワーキング・システムの他のユーザとリンクを共有すること、およびソーシャル・ネットワーキング・システムの他のユーザによってなされたポストに対してコメントすることなど、ユーザがソーシャル・ネットワーキング・システム100内のオブジェクトとインタラクションしたとき生成される。エッジ・ストア214は、オブジェクト、関心事、および他のユーザに対する親和性スコアなど、エッジについての情報を含むエッジ・オブジェクトを記憶する。親和性スコアは、ユーザによって実施されたアクションに基づいて、ソーシャル・ネットワーキング・システム100内のオブジェクト、関心、および他のユーザに対するユーザの親和性を近似するために、ソーシャル・ネットワーキング・システム100によって経時的に計算されてもよい。一実施形態では、ユーザと特定のオブジェクトとの間の複数のインタラクションを、エッジ・ストア214内の1つのエッジ・オブジェクト内に記憶することができる。たとえば、レディ・ガガのアルバム「Born This Way」から複数の楽曲を再生するユーザは、それらの楽曲に対して複数のエッジ・オブジェクトを有するが、レディ・ガガに対しては1つのエッジ・オブジェクトしか有していない可能性がある。
【0038】
ニュースフィード・マネージャ110は、ソーシャル・ネットワーキング・システム100のユーザにコンテンツを選択的に提供し、ソーシャル・ネットワーキング・システム100のそれらのユーザに対するビュー状態オブジェクト120を使用して、ユーザによるコンテンツの消費を記録する。ビュー状態オブジェクト120は、ビュー状態ストア220内に記憶され、ユーザ・プロフィール・ストア206内に記憶されたユーザ・プロフィール・オブジェクト102に関連付けられる。新しいニュースフィード・ストーリがユーザのためにニュースフィード・マネージャ110によって生成されたとき、それらのニュースフィード・ストーリは、ニュースフィード・ランク付けモジュール114によってランク付けされ、ニュースフィード・ストーリ・ストア218内に記憶される。ニュースフィード・マネージャ110は、ウェブ・サーバ208およびネットワーク204を通じてユーザ・デバイス202と通信し、ソーシャル・ネットワーキング・システム100のユーザにコンテンツを提供することができる。一実施形態では、ニュースフィード・マネージャ110は、iFrameなどソーシャル・プラグインを通じて外部ウェブサイト216にコンテンツを提供し、その外部ウェブサイト216に関連付けられているエンティティについてソーシャル・ネットワーキング・システム100上でポストされたコンテンツを提供することができる。一例として、ソーシャル・ネットワーキング・システム100上でページを作成する企業体は、ソーシャル・ネットワーキング・システム内のページのニュースフィード上でポストされたコンテンツ・アイテムを、外部ウェブサイト216上にインストールされたソーシャル・プラグインを介して外部ウェブサイト216に公開したいと望む可能性がある。
【0039】
1つまたは複数の広告要求(アド要求)がアド要求ストア230内に含まれる。広告要求は、広告コンテンツ(「広告」とも呼ばれる)および入札額を含む。広告コンテンツは、テキスト、画像、オーディオ、ビデオ、またはユーザに提示される任意の他の好適なデ
ータである。様々な実施形態では、広告コンテンツは、広告がアクセスされたときユーザが導かれるネットワーク・アドレスを指定するランディング・ページをも含む。入札額は、広告主によって広告に関連付けられ、広告がユーザに提示された場合、広告がユーザ・インタラクションを受けた場合、または任意の他の好適な条件に基づいて広告主によってソーシャル・ネットワーキング・システム100に提供される、金銭的補償など予想される値を決定するために使用される。たとえば、入札額は、広告が表示された場合、ソーシャル・ネットワーキング・システム100が広告主から受け取る金額を指定し、その予想される値は、入札額に、広告がユーザによってアクセスされる確率を乗ずることによって決定される。
【0040】
さらに、広告要求は、広告主によって指定される1つまたは複数のターゲティング基準を含むことができる。広告要求内に含まれるターゲティング基準は、アド要求内の広告コンテンツを提示されるのにふさわしいユーザの1つまたは複数の特徴を指定する。たとえば、ターゲティング基準は、ターゲティング基準の少なくとも1つを満たすユーザ・プロフィール情報を有するユーザ、エッジ、またはアクションを識別するために使用される。したがって、ターゲティング基準は、広告主が特定の特徴を有するユーザを識別することを可能にし、後で異なるユーザにコンテンツを分配するのを容易にする。
【0041】
一実施形態では、ターゲティング基準は、ソーシャル・ネットワーキング・システム100のユーザと別のユーザまたはオブジェクトとの間のアクションまたはコネクションのタイプを指定することができる。また、ターゲティング基準は、ユーザと、サード・パーティ・システム130上などソーシャル・ネットワーキング・システム100の外部で実施されるオブジェクトとの間のインタラクションを指定することができる。たとえば、ターゲティング基準は、メッセージを別のユーザに送ること、アプリケーションを使用すること、グループに参加すること、グループを離脱すること、イベントに参加すること、イベント記述を生成すること、オンライン・マーケットプレイスを使用して製品もしくはサービスを購入もしくは論評すること、サード・パーティ・システム130からの情報を要求すること、または任意の他の好適なアクションなど、特定のアクションをとったユーザを識別する。ターゲティング基準内にアクションを含めることは、広告主が、広告要求からコンテンツを提示されるのにふさわしいユーザをさらに洗練することを可能にする。別の例として、ターゲティング基準は、別のユーザもしくはオブジェクトに対するコネクションを有する、または別のユーザもしくはオブジェクトに対する特定のタイプのコネクションを有するユーザを識別する。
【0042】
ソーシャル・ネットワーキング・システムのユーザにコンテンツを提供する
図3は、一実施形態における、ニュースフィード・マネージャ110の高レベル・ブロック図をさらに詳細に示す。ニュースフィード・マネージャ110は、ニュースフィード・ストーリを生成すること、ソーシャル・ネットワーキング・システム100のユーザに提示するためにニュースフィード・ストーリを選択すること、ユーザに提示するために識別されたニュースフィード・ストーリのランク付けを取り出すこと、およびニュースフィード・ユーザ・インタフェース118を介してニュースフィード・ストーリを提示することを含む、ニュースフィードに関連する活動を管理するための機能を提供する。ニュースフィード・ストーリは、ソーシャル・ネットワーキング・システム内で表されるオブジェクト、たとえば画像、ビデオ、ユーザからのコメント、ステータス・メッセージ、外部リンク、ソーシャル・ネットワーキング・システムによって生成されたコンテンツ、アプリケーション、ゲーム、またはユーザ・プロフィールについて記述することができる。ニュースフィード・マネージャ110は、ニュースフィード・ジェネレータ300、ニュースフィード提示モジュール302、ニュースフィード・ユーザ・インタフェース・モジュール304、ビュー状態マネージャ306、ニュースフィード・ストーリ強調モジュール308、および機械学習モジュール310を含む。これらのモジュールは、互いに協力して
、または独立して、コンテンツをソーシャル・ネットワーキング・システム100のユーザに選択的に提供するように実施することができる。
【0043】
ニュースフィード・ジェネレータ300モジュールは、ソーシャル・ネットワーキング・システム100のユーザに提示するためにニュースフィード・ストーリを生成する。ニュースフィード・ストーリが提示されるユーザは、ニュースフィード・ストーリの閲覧者と呼ばれる。一実施形態では、ニュースフィード・ジェネレータ300は、アクション・ログ104内に記憶された情報を解析し、ニュースフィード・ストーリを生成するのに有用な情報を識別する。ニュースフィード・ジェネレータ300は、閲覧者にとって関心のあるものとなる可能性が高いアクション・ログ104内に記憶されたアクションを識別し、これらのアクションを記述する情報をアクション・ログ104から抽出し、着信ニュースフィード・ストーリ112を生成する。あるいは、ニュースフィード・ジェネレータ300は、アクションについて記述する情報を、他のモジュールから、たとえばアクション・ロガー210、または異なるタイプのアクションを実施するための機能を実装する他のラン・タイム・モジュールから取得することができる。たとえば、ユーザが画像をソーシャル・ネットワーキング・システム100にアップロードする場合、画像をアップロードするためのコードを実行するモジュールがニュースフィード・ジェネレータ300にそのアクションについて通知することができ、その結果、ニュースフィード・ジェネレータ300は、そのアクションについて記述するニュースフィード・ストーリを生成することができる。一実施形態では、ニュースフィード・ジェネレータ300は、広告コンテンツをアド要求ストア230から取り出すことができ、ニュースフィード・ストーリと共にユーザに提示されるニュースフィード内に広告コンテンツを含めることを可能にする。
【0044】
ニュースフィード・ジェネレータ300は、いくつかのアクションが着信ニュースフィード・ストーリ112としてレポートするにはユーザにとって関心のあるものとなる可能性が高くないと決定することができる。たとえば、ユーザが別のユーザによってポストされたコメントを隠すこと、またはユーザがいくつかのタイプのユーザの好みを変更することは、他のユーザにとって関心のあるものでない可能性があり、したがってニュースフィード・ストーリ内でレポートされない。しかし、ユーザによってそのユーザのプロフィールに対してなされた他の変更、たとえばユーザの関係ステータスの変更は、他のユーザに関心のあるものと考えられ得る。ニュースフィード・ジェネレータ300は、ソーシャル・ネットワーキング・システム100によって施行されるポリシの問題としていくつかのアクションに基づいてニュースフィード・ストーリを生成しないことがある。たとえば、別のユーザのユーザ・プロフィールを閲覧するユーザまたは別のユーザにプライベート・メッセージを送るユーザは、プライバシ問題によりニュースフィード・ストーリとして提示されないことがある。さらに、ニュースフィード・ジェネレータ300は、個々のユーザのプライバシ設定を考慮し、ユーザのいくつかのアクションをニュースフィード・ストーリとして他のユーザに提示することができるか否かを決定することができる。ユーザは、ユーザのアクションについて記述するニュースフィード・ストーリが送られてもよい人々のセットを限定するように、ユーザのプライバシ設定を設定することができる。たとえば、あるユーザは、そのユーザのコネクションだけがそのユーザのアクションについて記述する情報を受信することを可能にしてもよく、一方、別のユーザは、ユーザのコネクションのコネクションがその情報を受信することを可能にしてもよい。ユーザは、ニュースフィード・ストーリとしてレポートされるアクションのタイプを制限することができる。たとえば、ユーザは、いくつかのアクション、たとえば新しいコネクションを追加することがニュースフィード・ストーリとしてレポートされなくてもよいことを指定することができる。
【0045】
一実施形態では、ニュースフィード・ジェネレータ300は、生成されたニュースフィード・ストーリをニュースフィード・ストーリ・ストア218内に記憶する。ニュースフ
ィード・ストーリ・ストア218は、ニュースフィード・ストーリに関連する様々なオブジェクトをリンクするデータベースとして表されてもよい。ニュースフィード・ストーリ・ストア218内に記憶された各ニュースフィード・ストーリは、ソーシャル・ネットワーキング・システム100内の他のエンティティと関連付けることができる。たとえば、ニュースフィード・ストーリを、そのニュースフィード・ストーリ内で記述されているアクションを実施した1人または複数のユーザに、またソーシャル・ネットワーキング・システム100内のビデオの表現に関連付けることができる。ニュースフィード・ストーリ内で記述されているアクションを実施したユーザは、アクタ(actor)と呼ばれる。たとえば、ニュースフィード・ストーリが、ジャックによってポストされたビデオに対するジョンによってポストされたコメントについて記述している場合、ジョンとジャックを共にニュースフィード・ストーリのアクタと考えることができる。別の例として、別のユーザのウォール・ポストに応答してユーザによってポストされたコメントについて記述するニュースフィード・ストーリを、ウォールに対するメッセージをポストしたユーザとコメントをポストしたユーザの両方に関連付けることができる。
【0046】
ニュースフィード提示モジュール302は、閲覧ユーザ・デバイス108上のニュースフィード・ユーザ・インタフェース118上で表示するために、生成されたコンテンツ・アイテム、またはニュースフィード・ストーリを提供する。ニュースフィード提示モジュール302は、ユーザに提示されるべきニュースフィード・ストーリを決定し、提示するために選択されたストーリをニュースフィード・ユーザ・インタフェース・モジュール304に提供する。ニュースフィード・ユーザ・インタフェース・モジュール304は、選択されたニュースフィード・ストーリを、閲覧ユーザ・デバイス108上のニュースフィード・ユーザ・インタフェース118に提示する。ニュースフィード提示モジュール302は、ストーリと閲覧者の間の関連付けに基づいて閲覧者に提示するためのストーリのセットを決定する。これらの関連付けは、ユーザに接続されているソーシャル・ネットワーキング・システムのユーザについてストーリが記述しているか否か、ストーリ内で記述されているソーシャル・ネットワーキング・システム内で表されたエンティティについて記述する情報に閲覧者が以前アクセスしたか否か、閲覧者が現在のストーリに関連する別のストーリとインタラクションしたか否か、などを含む、様々な要因に基づいて決定される。ニュースフィード提示モジュール302は、ニュースフィード・ランク付けモジュール114を使用し、ユーザに提示されるニュースフィード・ストーリをランク付けする。
【0047】
ニュースフィード提示モジュール302は、ストーリを提示するためにニュースフィード・ユーザ・インタフェース118上で使用可能な表示エリアに応じて、ランクに基づくストーリのサブセット、たとえば上位10ストーリを提示することができる。ニュースフィード提示モジュール302は、ランク付けによって決定された順序でストーリを提示する。たとえば、より高いランクのストーリは、より低いランクのストーリに比べて、より目立つように提示されてもよい。一実施形態では、より高いランクのストーリは、より低いランクのストーリより上方に提示される。他の実施形態では、「上位」として選択されない残りの着信ストーリは、上位のストーリの後で、時系列で提示されてもよい。他の実施形態では、より高いランクのストーリは、適切なテキスト色、フォント、テキスト・サイズ、背景色などを使用してそれらを表示することによって、より目立つように提示されてもよい。
【0048】
ビュー状態マネージャ306は、ニュースフィード・マネージャ110内の他のモジュールとは独立して非同期で動作する。ビュー状態マネージャ306は、ソーシャル・ネットワーキング・システム100の各ユーザについてニュースフィードのビュー状態をいつ取り込むか決定する。閲覧ユーザは、新しい閲覧セッションを開始するためにソーシャル・ネットワーキング・システム100にログインすることができる。セッションを通じて、着信ニュースフィード・ストーリ112が閲覧ユーザに提供されてもよく、その結果、
その閲覧ユーザに対するビュー状態が変化している。ビュー状態マネージャ306は、各ニュースフィード・ストーリがユーザのニュースフィードに公開された、またはユーザのニュースフィードの上で提示された後、ビュー状態をビュー状態オブジェクト120内で更新するべきであると決定することができる。ビュー状態オブジェクト120は、一実施形態では、超高速メモリで実施され得るビュー状態ストア220内に記憶される。一実施形態では、ビュー状態は、ユーザのセッションが満了したとき更新される。セッションは、ユーザによるソーシャル・ネットワーキング・システム100との関わり合い、またはその上での活動がないことに基づいて満了してもよい。たとえば、ユーザは、ソーシャル・ネットワーキング・システム100に接続するためにユーザ・デバイス202上でウェブ・ブラウザを開くことができる。ニュースフィード・ストーリをブラウズした後、ユーザは、ソーシャル・ネットワーキング・システム100に接続されていない他のウェブ・ページを閲覧するために、別のブラウザ・ウィンドウを開くことがある。一実施形態では、ユーザが最初にソーシャル・ネットワーキング・システム100と接続したとき作成されたセッションは、不活動の所定の期間が経過したことに基づいて満了することになる。別の実施形態では、閲覧セッションは、ユーザがソーシャル・ネットワーキング・システム100からログ・アウトしたとき満了する。セッションが満了するとき、ニュースフィード・ストーリの順序、およびニュースフィード・ストーリが上位のストーリとして特に取り上げられた、または強調されたか否かのインジケーションを含むビュー状態が、そのユーザに関連付けられているビュー状態オブジェクト120内に記憶される。
【0049】
ニュースフィード・マネージャ110は、ビュー状態マネージャ306を使用して、ユーザがそれ以上のニュースフィード・ストーリを読む、または消費する準備がまだできていないと決定することができる。たとえば、ユーザが新しいセッションを開始し、しかしニュースフィードがスクロール・ダウンされないことがニュースフィード・ユーザ・インタフェース・モジュール304によって検出された場合には、ニュースフィード・マネージャ110は、ニュースフィード・ユーザ・インタフェース上で提供されたニュースフィード・ストーリをそのユーザがまだ読んでいないと推定することができる。そのユーザが後で別のセッションを開始する場合、ビュー状態マネージャ306によって以前記憶されたビュー状態を使用して、以前に提示されたニュースフィード・ストーリ116がニュースフィード・ユーザ・インタフェース上で凍結されたままである。ニュースフィード・ユーザ・インタフェース・モジュール304によってリンクがレンダリングされ、ニュースフィード・ジェネレータ300によって生成されニュースフィード・ランク付けモジュール114によってランク付けされた着信ニュースフィード・ストーリ112が、その新しい着信ニュースフィード・ストーリ112を提示することなしに消費に使用可能であることを示すことができる。一実施形態では、リンクは、使用可能ないくつかの着信ニュースフィード・ストーリ112を含む。この数は、新しいニュースフィード・ストーリがニュースフィード・ジェネレータ300によって生成されるにつれて、リアルタイムで動的に更新され得る。別の実施形態では、ニュースフィード・ユーザ・インタフェース・モジュール304は、着信ニュースフィード・ストーリ112を公開しビュー状態を変更することなしに、消費に使用可能な新しい着信ニュースフィード・ストーリ112のプレビューを含んでもよい。
【0050】
他の実施形態では、ニュースフィード・マネージャ110は、ユーザ・デバイス202上のニュースフィード・ユーザ・インタフェースをロードしたとき提示されるニュースフィード・ストーリをユーザが消費し終えた、または読み終えたと推測することができる。その場合、着信ニュースフィード・ストーリ112は、ニュースフィード・ジェネレータ300によって作成されニュースフィード・ランク付けモジュール114によってランク付けされたとき、ニュースフィード提示モジュール302によって自動的にレンダリングおよび提示されてもよい。ビュー状態もまた、ビュー状態マネージャ306によって更新されることになる。別の実施形態では、ニュースフィード・マネージャ110は、上位の
ストーリがニュースフィード・ジェネレータ300によって生成されニュースフィード・ランク付けモジュール114によってランク付けされない限り、またはされるまで、ニュースフィード・ユーザ・インタフェース・モジュール304によってレンダリングされるリンクの後ろで着信ニュースフィード・ストーリ112を保持することができる。上位の新しいニュース・ストーリは、所定の閾値を越えると、閲覧ユーザがそれ以上のストーリを消費する準備ができていると決定することなしに上位のニュース・ストーリをニュースフィード・マネージャ110に公開させる、ニュースフィード・ランク付けモジュール114によって決定される予測スコアを有することができる。
【0051】
ニュースフィード・ストーリ強調モジュール308は、閲覧ユーザにとって非常に関係のあるストーリとしてニュースフィード・ランク付けモジュール114によって強調されたニュースフィード・ストーリを選択する。強調されたストーリは、ニュースフィード内で、他のニュースフィード・ストーリの上方により目立つように表示されてもよく、また、それらのストーリが強調されていることを示すように異なる色または背景でレンダリングされてもよい。また、ニュースフィード・ストーリ強調モジュール308は、一実施形態では、同じ話題についてのものである、または同じリンクを参照するニュースフィード・ストーリ同士を組み合わせることができる。たとえば、ニュースフィード・ストーリ強調モジュール308は、「クリスマス」など、ソーシャル・ネットワーキング・システム100上でポストされたコンテンツ・アイテムに含まれるキーワードを解析し、それらのニュースフィード・ストーリを、閲覧ユーザが自分達のニュースフィード上で見るように強調される凝縮されたニュースフィード・ストーリに組み合わせることができる。これは、冗長かつ同様のポストを組み合わせることによって、閲覧ユーザがニュースフィードをより効率的にブラウズすることを可能にする。別の実施形態では、別個のニュースフィード・プロセスが、これらの冗長かつ同様のポストを単一の組み合わされたポストにグループ化し、ニュースフィード・ストーリ強調モジュール308と共に動作し、組み合わされたポストをニュースフィード上で強調する。
【0052】
一実施形態では、ニュースフィード・ストーリ強調モジュール308は、閲覧ユーザの親和性スコアに基づいて、そのユーザに接続された別のユーザまたはエンティティによってポストされたニュースフィード・ストーリが確実に強調されるようにするためのプログラム可能な論理または命令を含むことができる。たとえば、閲覧ユーザが、閲覧ユーザの妻などソーシャル・ネットワーキング・システム100上の別のユーザによってポストされたニュースフィード・ストーリに、ユーザ・プロフィール情報、そのユーザとのインタラクション、ならびにそのユーザによってポストされたコンテンツに基づいて、非常に関心がある場合には、ニュースフィード・ストーリ強調モジュール308は、そのユーザによって公開されたニュースフィード・ストーリすべてを強調するように構成されてもよい。一実施形態では、閲覧ユーザは、ニュースフィード・ユーザ・インタフェースとインタラクションし、あるニュースフィード・ストーリが強調されるべきであることを示すことができる。それを行う際、ニュースフィード・ストーリ強調モジュール308は、どのタイプのニュースフィード・ストーリが閲覧ユーザに訴えるかよりよく理解することができる。同様に、閲覧ユーザは、ニュースフィード・ユーザ・インタフェースとインタラクションすることによって、強調されたストーリが強調されるべきでないことを示すこともできる。
【0053】
別の実施形態では、ニュースフィード・ストーリ強調モジュール308は、ニュースフィード・ストーリの著作ユーザ、ニュースフィード・ストーリの話題、ニュースフィード・ストーリに含まれるコンテンツのタイプ、ニュースフィード・ストーリを公開したアプリケーション、ニュースフィード・ストーリを公開したユーザの評判メトリクス、およびニュースフィード・ストーリの様々なメトリクスを含む、いくつかの要因に基づいて、どのニュースフィード・ストーリが強調されるべきか予測するために、ソーシャル・ネット
ワーキング・システム100上の各ユーザについて予測モデルを生成することができる。予測モデルは、ユーザごとに異なるユーザ・インタラクションに応じて、経時的に、これらの要因に対する重みを調整することができる。一実施形態では、機械学習法を使用し、予測モデルを各閲覧ユーザ特有のものとなるように最適化してもよい。このようにして、異なるタイプのコンテンツ・アイテムに対して異なる親和性を有する閲覧ユーザが、より個人化されたニュースフィードを有することができる。
【0054】
機械学習モジュール310は、ニュースフィード・マネージャ110内で、予測モデルを洗練し、強調されたニュースフィード・ストーリを選択するために使用される予測要因を選択するために使用され得る。一実施形態では、ソーシャル・ネットワーキング・システム100は、機械学習アルゴリズムを使用し、強調されたニュースフィード・ストーリとのユーザ・インタラクションを解析し、予測モデルを再訓練する。ニュースフィード・ストーリが強調されるべきか否かを示すユーザ・インタラクションからのフィードバックを使用して、より多くの、またはより少ない予測要因を含むように予測モデルが洗練されてもよく、各予測要因に割り当てられた重み、または係数をも、応答、すなわち強調されたストーリとのユーザ・インタラクションに基づいて調整することができる。
【0055】
別の実施形態では、機械学習モジュール310を使用し、ビデオに対する共有リンクなど以前に提示されたニュースフィード・ストーリが新しい着信ニュースフィード・ストーリに発展し得るか否か、他のユーザがそのリンクを共有すること、そのリンクに対してコメントすること、または他の方法でそのリンクとインタラクションすることに基づいて決定することができる。たとえば、非常に近い友達のためのユーザ・プロフィール・オブジェクトに対する親和性スコアから決定される閲覧ユーザの非常に近い友達が、閲覧ユーザのニュースフィード上で以前に提示されたリンクを共有していた場合、以前に提示されたニュースフィード・ストーリは、その非常に近い友達、およびそのリンクについてのその人のコメントがあればそれを含めて、そのリンクを共有していた他のユーザを含む単一のニュースフィード・ストーリに組み合わされてもよい。機械学習モジュール310を使用し、ニュースフィード・ストーリ強調モジュール308と共に、そのようなストーリが発展し閲覧ユーザに再び提示されるべきか否かを決定することができる。
【0056】
図4は、一実施形態による、ソーシャル・ネットワーキング・システムの閲覧ユーザにコンテンツを選択的に提供するプロセスを示す流れ図を示す。ソーシャル・ネットワーキングのユーザに対するビュー状態が維持され(402)、ビュー状態は、ユーザに提供されるニュースフィード・ストーリの順序を含む。ユーザに対するビュー状態は、新しいニュースフィード・ストーリがユーザに提供されるたびに、そのユーザに対するユーザ・プロフィール・オブジェクト102に関連付けられているビュー状態オブジェクト120内に記憶され得る。ビュー状態は、ユーザがニュースフィード・ストーリとインタラクションするユーザ・デバイスにかかわらず、ニュースフィード・ストーリがユーザに提示された順序を記憶するために、経時的に維持されてもよい(402)。
【0057】
新しいニュースフィード・ストーリを求める要求がユーザから受信されることがある(404)。この要求は、一実施形態では、ユーザ・デバイス上のニュース・フィード・ユーザ・インタフェースのためのコンテンツを要求するモバイル・デバイス・アプリケーションからのアプリケーション・プログラミング・インタフェース(API)コールの形態にあってもよい。別の実施形態では、この要求は、ユーザ・デバイス上で動作するブラウザ・ウィンドウ上のニュース・フィード・ユーザ・インタフェース内のコンテンツを求めるウェブ・ページ要求として受信されてもよい(404)。
【0058】
新しいニュースフィード・ストーリを求める要求が受信された後で(404)、新しいニュースフィード・ストーリが取得される(406)。ニュースフィード・マネージャ1
10内のニュースフィード・ジェネレータ300は、新しいニュースフィード・ストーリを生成し、閲覧ユーザに提示されるようにそれらをキュー内で保持することができる。新しいニュースフィード・ストーリは、一実施形態では、このキューから取得されてもよい。別の実施形態では、新しいニュースフィード・ストーリは、要求をユーザから受信したとき(404)生成されてもよい。他の実施形態では、ニュースフィード・ランク付けモジュール114は、ニュースフィード・ストーリ強調モジュール308のために上位のニュースフィード・ストーリを識別することができる。その結果、上位のニュースフィード・ストーリが新しいニュースフィード・ストーリとして取得される(406)。この新しいニュースフィード・ストーリは、一実施形態では、単一のニュースフィード・ストーリに組み合わされた複数のニュースフィード・ストーリを含むことができる。また、選択された上位のニュースフィード・ストーリ以外の残りの新しいニュースフィード・ストーリも取得される(406)。
【0059】
新しいニュースフィード・ストーリが取得された後で(406)、ソーシャル・ネットワーキング・システム100は、受信されるユーザ入力に基づいて、ユーザが提供されたニュースフィード・ストーリを読むか否かを決定する(408)。受信されるユーザ入力に基づいて、ユーザが提供されたニュースフィード・ストーリを読んでいないとソーシャル・ネットワーキング・システム100が決定した場合には(408)、新しいニュースフィード・ストーリが生成されており、新しいニュースフィード・ストーリが継続的に取得される(406)ことを示すために、リンクがユーザに提供される(410)。ユーザが提供されたニュースフィード・ストーリを読んだか否かを示すことができるユーザ入力は、ウェブ・ブラウザまたはモバイル・アプリケーション上でのスクロール・アクション、ニュースフィード・ストーリ内に提供されたリンク上でのクリック・アクション、ウェブ・ブラウザまたはモバイル・アプリケーション上でのユーザ・インタフェースのリフレッシュを含む。一実施形態では、ユーザ入力は必要とされず、ウェブ・ブラウザがアクティブである、またはモバイル・アプリケーションが開いている場合、ソーシャル・ネットワーキング・システム100は、ユーザが提供されたニュースフィード・ストーリを読んだと決定してもよい(408)。別の実施形態では、ソーシャル・ネットワーキング・システム100は、所定の期間が経過したことに基づいて、ユーザが提供されたニュースフィード・ストーリを読んだと決定してもよい(408)。
【0060】
ユーザが提供されたニュースフィード・ストーリを読んだとソーシャル・ネットワーキング・システム100が決定した後(408)、ニュースフィード・ランク付けに従って新しいニュースフィード・ストーリがユーザに提供される(412)。ニュースフィード・ストーリは、ニュースフィード・ランク付けモジュール114によってランク付けされ、ニュースフィード・マネージャ110内のニュースフィード・ストーリ強調モジュール308によって強調されてもよい。一実施形態では、ソーシャル・ネットワーキング・システム100上の以前のユーザ・インタラクションに基づいてニュースフィード・ストーリ強調モジュール308によって生成された予測モデルに従って、新しいニュースフィード・ストーリがユーザに提供される(412)。別の実施形態では、ニュースフィード・ランク付けは、新たに生成されるニュースフィード・ストーリに基づいて動的に変化してもよい。他の実施形態では、上位の新しいニュースフィード・ストーリがランク付けされた順序で提供され、それに続いて、残りの新しいニュースフィード・ストーリが、逆時系列など時系列で提供される。
【0061】
新しいニュースフィード・ストーリがユーザに提供された後(412)、更新されたビュー状態がユーザに提供されたニュースフィード・ストーリの新しい順序を含むように、ユーザに対するビュー状態が更新される(414)。更新されたビュー状態は、閲覧ユーザに対するユーザ・プロフィール・オブジェクト102に関連付けられているビュー状態オブジェクト120内に記憶される。ビュー状態は、一実施形態ではユーザが提供された
ニュースフィード・ストーリを読んだか否かを決定する(408)ために、ソーシャル・ネットワーキング・システム100によって使用される。
【0062】
しかし、コンテンツ・アイテムがニュースフィードを介してユーザに提供されたとき、ユーザは、ニュースフィード内に含まれるいくつかのコンテンツ・アイテムを読まないことがある。たとえば、ユーザは、ニュースフィード内に含まれるコンテンツ・アイテムを閲覧するためにディスプレイをスクロールしないことも、少なくとも指定された時間間隔の間、ウェブ・ブラウザまたはモバイル・アプリケーションをアクティブにしないこともある。したがって、コンテンツ・アイテムは、ニュースフィード内で順序付けされるが、ニュースフィードとのユーザ・インタラクションがないため、読まれない、またはユーザに提供されない可能性がある。ニュースフィード内に含まれるがユーザによって閲覧されなかったいくつかのコンテンツ・アイテムは、ユーザに関係があり得るが、新しいコンテンツ・アイテムが以前に提示され未読のコンテンツ・アイテムの前に提示される場合、ユーザによって読まれる、または閲覧される可能性が少なくなる。たとえば、ニュースフィードに含まれる広告が、ユーザに提示されるニュースフィード内に最初に含まれているときユーザによって閲覧されない可能性があり、追加のコンテンツ・アイテムをユーザに提示することにより、ユーザは、広告を閲覧および/または広告とインタラクションしない可能性がある。
【0063】
図5は、ソーシャル・ネットワーキング・システム・ユーザに提供するためにコンテンツ・アイテムを選択するための方法の一実施形態を示す。本明細書で使用されるとき、「コンテンツ・アイテム」は、ニュースフィード・ストーリ、広告、またはそれらの任意の組合せを指す。ソーシャル・ネットワーキング・システム・ユーザに対するビュー状態が維持される(502)。ビュー状態は、コンテンツ・アイテム、および識別されたコンテンツ・アイテムがユーザに提示される順序を識別する。たとえば、ビュー状態は、識別されたコンテンツ・アイテムがニュースフィード内でユーザに提示される順序を含む。コンテンツ・アイテムは、ニュースフィード・ストーリおよび広告を含むことができ、ユーザに提示されるニュースフィードがニュースフィード・ストーリと広告を共に含むことを可能にする。一実施形態では、ユーザに対するビュー状態は、そのユーザに対するユーザ・プロフィール・オブジェクト102に関連付けられているビュー状態オブジェクト120内に記憶され、コンテンツ・アイテムがそのユーザに提供されるたびに修正され得る。ビュー状態は、ユーザが複数のユーザ・デバイスを介してコンテンツ・アイテムとインタラクションするときでさえ、コンテンツ・アイテムがユーザに提示された順序を記憶するために、経時的に維持されてもよい(502)。
【0064】
コンテンツ・アイテムを求める要求がユーザから受信される(504)。たとえば、ユーザ・デバイスによって提示されるユーザ・インタフェースを通じてユーザに提示するためのコンテンツ・アイテムを要求するモバイル・デバイス・アプリケーションからのアプリケーション・プログラミング・インタフェース(API)コールが受信される(504)。別の例として、この要求は、ユーザ・デバイス上で実行するブラウザによって提示されるニュース・フィード・ユーザ・インタフェース内のコンテンツを求めるウェブ・ページ要求として受信される(504)。
【0065】
コンテンツ・アイテムを求める受信された要求に基づいて、ユーザに提示するためにユーザ・デバイスに事前に提供されたがユーザによって閲覧されなかった1つまたは複数のコンテンツ・アイテムが識別される(506)。たとえば、ソーシャル・ネットワーキング・システム100は、ユーザに関連付けられているビュー状態によって、ユーザに提示されたと識別されたコンテンツ・アイテムをユーザが閲覧したか否かを決定する。ビュー状態によってユーザに提示されたがユーザによって閲覧されなかったと識別されるコンテンツ・アイテムが識別される(506)。一実施形態では、ユーザ・デバイスから受信さ
れたユーザ入力は、提示するために提供されたコンテンツ・アイテムをユーザが閲覧したか否かを示す。たとえば、ユーザ・デバイス上で実行するアプリケーションは、そのアプリケーションがスクロール・アクションを受信した、コンテンツ・アイテム内に提供されたリンク上でのクリック・アクションを受信した、またはそのアプリケーションによって提示されたユーザ・インタフェースのリフレッシュを受信したとき、ユーザがコンテンツ・アイテムを閲覧したとソーシャル・ネットワーキング・システム100に対して示す。別の例として、ウェブ・ブラウザまたはモバイル・アプリケーションが開いている場合、ソーシャル・ネットワーキング・システム100は、ユーザが提供されたコンテンツ・アイテムを閲覧したと決定し、モバイル・アプリケーションまたはウェブ・ブラウザが開いていない場合、コンテンツ・アイテムを閲覧されなかったものとして識別する(506)。別の実施形態では、ソーシャル・ネットワーキング・システム100は、コンテンツ・アイテムがユーザ・デバイスに提供されてから指定された期間未満が経過した場合、コンテンツ・アイテムをユーザによって閲覧されなかったものとして識別する(506)。
【0066】
ユーザに以前に提供されたがユーザによって閲覧されなかったコンテンツ・アイテムを識別すること(506)に加えて、1つまたは複数の追加のコンテンツ・アイテムが識別される(508)。たとえば、新しいニュースフィード・ストーリが、ニュースフィード・マネージャ110内のニュースフィード・ジェネレータ300によって生成され、ユーザに提示するためにキュー内で維持される。1つまたは複数のニュースフィード・ストーリが、追加のコンテンツ・アイテムとしてこのキューから識別されてもよい(508)。ニュースフィード・ストーリの識別については、
図4に関連してさらに上述されている。いくつかの実施形態では、追加のコンテンツ・アイテムの1つまたは複数の識別は、ユーザが1つまたは複数の以前に提供されたコンテンツ・アイテムを閲覧した後で発生する、コンテンツ・アイテムに関連付けられている状態変化に基づくものとすることができる。状態変化は、たとえば新しいコンテンツ・アイテム、新しい「いいね!」を含むコンテンツ・アイテム、新しい共有を含むコンテンツ・アイテム、新しいコメントを含むコンテンツ・アイテム、またはそれらの何らかの組合せを示してもよい。さらに、アド要求ストア230内に含まれる1つまたは複数の広告が追加のコンテンツ・アイテムとして識別されてもよい(508)。たとえば、ユーザによって満たされる1つまたは複数のターゲティング基準に関連付けられている広告が、追加のコンテンツ・アイテムとしてアド要求ストアから識別される(508)。
【0067】
ユーザに以前に提供されたがユーザによって閲覧されず、そのユーザに対する閾値以上の関連性を有すると識別されたコンテンツ・アイテムの1つまたは複数が識別される(510)。たとえば、ユーザが閾値以上の親和性を有するコンテンツ・アイテムが識別される(510)。上述のように、ユーザがコンテンツ・アイテムに関心がある可能性の尺度を提供するために、親和性スコアが様々なコンテンツ・アイテムについて計算されてもよい。親和性スコアは、コンテンツ・アイテムとのユーザのインタラクション、コンテンツ・アイテムに関連付けられているオブジェクト、またはコンテンツ・アイテムに関連付けられているユーザに基づいて、コンテンツ・アイテムに関連付けられているオブジェクトまたは別のユーザにユーザが関心があることを表すことができ、ユーザに以前に提供されたがユーザによって閲覧されなかったコンテンツ・アイテムについてのユーザの親和性スコアが閾値と比較され、閾値以上の親和性スコアを有する、以前に提供されたコンテンツ・アイテムを識別する(510)。一実施形態では、ユーザに以前に提供されたがユーザによって閲覧されなかったコンテンツ・アイテムは1つまたは複数の広告を含んでおり、コンテンツ・アイテムを求める要求が受信された時点から閾値の時間間隔より長くユーザに提供されたがユーザによって閲覧されなかった広告が識別される(510)。さらに、広告に関連付けられている入札額を使用し、以前に提示されたが閲覧されなかった広告、たとえば閲覧されず、かつ、閾値以上の入札額を有する以前に提示された広告が識別される(510)。
【0068】
次いで、ユーザに対する閾値以上の関連性を有する追加のコンテンツ・アイテムおよびユーザに以前に提供されたがユーザによって閲覧されなかったコンテンツ・アイテムが、ソーシャル・ネットワーキング・システムによってランク付けされる(512)。一実施形態では、追加のコンテンツ・アイテムおよび取り出されたコンテンツ・アイテム内のニュースフィード・ストーリが、
図1に関連して上述したように、それらのニュースフィード・ストーリに関連付けられているオブジェクトまたはユーザに対するユーザの親和性に基づいてランク付けされる(512)。たとえば、ユーザとニュースフィード・ストーリの間の親和性スコアが、そのユーザとニュースフィード・ストーリに関連付けられているユーザもしくはオブジェクトとの間のインタラクション、そのユーザに接続された他のユーザとニュースフィード・ストーリに関連付けられているユーザもしくはオブジェクトとの間のインタラクションに基づいて、または任意の好適な情報に基づいて生成される。
【0069】
一実施形態では、追加のコンテンツ・アイテムおよびユーザに以前に提供されたがユーザによって閲覧されなかったコンテンツ・アイテム内に含まれる広告が、一部にはそれらの広告に関連付けられている入札額に基づいてランク付けされる(512)。たとえば、オークション・プロセスがこれらの広告に適用され、それらの関連の入札額およびそれらの広告のそれぞれにユーザがアクセスする可能性から決定される予想値に基づいて、それらの広告をランク付けする(512)。あるいは、追加のコンテンツ・アイテム内に、また以前に提供されたが閲覧されなかったコンテンツ・アイテム内に含まれるニュースフィード・ストーリおよび広告が、統一されたランク付け内に含まれる。たとえば、有機値(organic value)が各ニュースフィード・ストーリに関連付けられ、予想値が、少なくとも部分的には広告に関連付けられている入札額に基づいて、広告のそれぞれについて決定される。広告のそれぞれの予想値は、有機値に変換され、ニュースフィード・ストーリおよび広告は、その有機値に基づいて共にランク付けされ(512)、あるいは各ニュースフィード・ストーリの有機値が予想値に変換され、ニュースフィード・ストーリおよび広告がその予想値に基づいて共にランク付けされる(512)。ニュースフィード・ストーリおよび広告を共にランク付けすることについては、参照によりその全体を本願明細書に援用する2012年7月10日に出願された米国特許出願第13/545,266号にさらに記載されている。
【0070】
ランク付けすること(512)に基づいて、1つまたは複数のコンテンツ・アイテムが選択され、ユーザに提示するためにユーザ・デバイスに提供される(514)。たとえば、コンテンツ・アイテムは、ニュースフィード・ランク付けモジュール114によってランク付けされ(512)、ニュースフィード・マネージャ110内のニュースフィード・ストーリ強調モジュール308によって強調されてもよい。一実施形態では、コンテンツ・アイテムは、ソーシャル・ネットワーキング・システム100上での以前のユーザ・インタラクションに基づいてニュースフィード・ストーリ強調モジュール308によって生成される予測モデルに従って、ランク付けされたコンテンツ・アイテムから選択される。別の実施形態では、コンテンツ・アイテムのランク付けは、ランク付け内のコンテンツ・アイテムがユーザに最初に提供されたとき、およびコンテンツ・アイテムを求める要求が受信されたとき(504)ユーザによって実施されるインタラクション、ならびに新たに生成された、または受信されたコンテンツ・アイテムに基づいて変化する。たとえば、ユーザ・デバイスに最初に提供されるコンテンツ・アイテム間でユーザによって実施されるアクション、および以前に提示されたが閲覧されなかったコンテンツ・アイテムのランク付け(512)は、以前に提示されたが閲覧されなかったコンテンツ・アイテムのランク付けを互いに対して修正する。一実施形態では、ランク付けにおいて閾値以上の位置を有するコンテンツ・アイテムは、ランク付けによって決定される順序で提供されるのに対して、残りのコンテンツ・アイテムは、逆時系列など時系列で提示される。
【0071】
新しいニュースフィード・ストーリがユーザ・デバイスに提供された後で(514)、ユーザに対するビュー状態が、ユーザに提供されたコンテンツ・アイテムの新しい順序を含むように更新される。更新されたビュー状態は、閲覧ユーザに対するユーザ・プロフィール・オブジェクト102に関連付けられているビュー状態オブジェクト120内に記憶される。ビュー状態は、さらに上述したように、ユーザが提供されたコンテンツ・アイテムを閲覧したどうか決定する(408)ために、ソーシャル・ネットワーキング・システム100によって使用される。
【0072】
図6Aおよび
図6Bは、一実施形態による、ソーシャル・ネットワーキング・システムの閲覧ユーザにコンテンツを提供するプロセスのユーザ・インタフェースの例である。
図6Aでは、このユーザ・インタフェースは、ソーシャル・ネットワーキング・システムの閲覧ユーザにニュースフィード600を提供する。ニュースフィード600は、メアリー・アレンがデビー・チャンの写真608に対してコメントしていることについてのニュースフィード・ストーリ610、ユーザのアレックスとアル・スミスの間に新しいコネクションが形成されたことを示すニュースフィード・ストーリ612、広告614、ギャレット・ブラウンとスティーブン・リーの間に新しいコネクションが形成されたことを示すニュースフィード・ストーリ616、およびユーザのエリザベス・ホワイトとカール・ブラックの間に新しいコネクションが形成されたことを示すニュースフィード・ストーリ618を含めて、複数のニュースフィード・ストーリを含む。ニュースフィード・ストーリ610は、「いいね!」を表明することによってニュースフィード・ストーリ610の賛同を示すこと、およびニュースフィード・ストーリ610に対してコメントすることを含む、閲覧ユーザがニュースフィード・ストーリ610とインタラクションするためのリンク604を含む。また、ニュースフィード・ストーリ610は、ニュースフィード・ストーリ610に関心を示す他のユーザのソーシャル・インジケータ606を含む。
【0073】
図6Aに示されているニュースフィード600は、提示される準備ができている追加のニュースフィード・ストーリがあることを閲覧ユーザに対して示す着信ニュースフィード・ストーリ・リンク602をも含む。
図6Aに示されているように、着信ニュースフィード・ストーリ・リンク602に記載されている、閲覧ユーザに提示されるように使用可能な「2件の新しいストーリ」がある。時間の経過につれて、より多くの新しい着信ニュースフィード・ストーリ・リンクがニュースフィード・ジェネレータ300によって生成されるにつれて、着信ニュースフィード・ストーリ・リンク602内で使用可能な新しいストーリの数は増大することになる。一実施形態では、新しい着信ニュースフィード・ストーリは、閲覧ユーザが着信ニュースフィード・ストーリ・リンク602上でクリックするまで閲覧ユーザに提示されない。別の実施形態では、新しい着信ニュースフィード・ストーリは、所定の期間が経過した後、閲覧ユーザに提示される。別の実施形態では、新しい着信ニュースフィード・ストーリは、非常に関係のあるニュースフィード・ストーリがあるとニュースフィード・マネージャ110内のニュースフィード・ストーリ強調モジュール308によって決定された場合、閲覧ユーザに提示される。他の実施形態では、新しい着信ニュースフィード・ストーリは、着信ニュースフィード・ストーリ・リンク602がレンダリングされることなしに閲覧ユーザに提示される。この実施形態では、着信ニュースフィード・ストーリは、生成されたとき閲覧ユーザに提示される。
【0074】
図6Bでは、このユーザ・インタフェースは、新しい着信ニュースフィード・ストーリを含むニュースフィード600を含む。一実施形態では、閲覧ユーザは、
図6Aに示されている着信ニュースフィード・ストーリ・リンク602上でクリックしており、その結果、ユーザのマイケル・ロバーツおよび閲覧ユーザに接続されている34人の他のユーザによって共有されている外部ウェブサイト上のビデオに対するリンクについてのニュースフィード・ストーリ620と、ユーザのメアリー・ジョセフとピーター・キャロルの間に新しいコネクションが形成されたことを示すニュースフィード・ストーリ628とが、ニュ
ースフィード600内で表示するために提示される。ニュースフィード・ストーリ620は、そのリンクが最初にいつ閲覧ユーザと共有されたか、すなわち10時間前の時間インジケータ622を含む。また、ニュースフィード・ストーリ620は、コメントがいつなされたか、すなわち45分前の時間インジケータをさらに含む、ソーシャル・ネットワーキング・システムの別のユーザによるそのリンクに対する最近のコメントを含む。最後に、ニュースフィード・ストーリ620は、やはりそのリンクを共有した、閲覧ユーザに接続された他のユーザについての情報を示すグループ化リンク626を含む。グループ化リンク626をクリックしたとき、他のユーザのコメントが、ニュースフィード600内において、ニュースフィード・ストーリ620内で提示される。
【0075】
ニュースフィード・ストーリ628もまた、新しいコネクションがいつ形成されたか、すなわち1時間前の時間インジケータ630を含む。
図6Bに示されているように、同じリンクを共有する複数のポストの組み合わされたポストを備えるニュースフィード・ストーリ620は、最初に10時間前に閲覧ユーザと共有されたが、ニュースフィード・ストーリ620は、1時間前に完了したニュースフィード・ストーリ628の上方に提示される。一実施形態では、ニュースフィード・ストーリ強調モジュール308は、ニュースフィード・ストーリ620内に含まれるコンテンツのタイプのために、外部ビデオに対する共有リンクについてのニュースフィード・ストーリ620を、ソーシャル・ネットワーキング・システムの他のユーザ間の新しいコネクションの形成についてのニュースフィード・ストーリ628の上方に配置した可能性がある。閲覧ユーザは、外部ビデオに対する共有リンクを閲覧することに、より関心がある可能性がある。別の実施形態では、ニュースフィード・ストーリ強調モジュール308は、わずか45分前に完了した共有リンクに対するユーザのフランク・ウィリアムズのコメント624のために、外部ビデオに対する共有リンクについてのニュースフィード・ストーリ620をニュースフィード・ストーリ628の上方に配置した可能性がある。ユーザのフランク・ウィリアムズからの新しいコメントのために、ニュースフィード・ストーリ620は、新しい着信ニュースフィード・ストーリに発展したとニュースフィード・ストーリ強調モジュール308によって決定される可能性がある。別の実施形態では、閲覧ユーザが外部ビデオに対する共有リンクについてのニュースフィード・ストーリ620のコンテンツ・タイプの好みを有していなかった場合には、ユーザのフランク・ウィリアムズからの最近のコメント624は、ニュースフィード・ストーリ620を、ソーシャル・ネットワーキング・システム100の他のユーザ間のコネクションのその後の形成よりも閲覧ユーザにとって関係のあるものとしている。
【0076】
新しい着信ニュースフィード・ストーリ620、628は、ニュースフィード600内の以前に提示されたニュースフィード・ストーリ610、612の上方に現れる。一実施形態では、着信ニュースフィード・ストーリ620、628は、閲覧ユーザが
図6Aに示されている602上でクリックしたときニュースフィード600内で動的にレンダリングされる。別の実施形態では、着信ニュースフィード・ストーリ620、628は、ニュースフィード・マネージャ110内のニュースフィード・ジェネレータ300によって生成されたときニュースフィード600内で自動的にレンダリングされる。別の実施形態では、閲覧ユーザが着信ニュースフィード・ストーリ620、628を閲覧したいはずであるというほど着信ニュースフィード・ストーリ620、628が関係のあるものであるとニュースフィード・マネージャ110が決定するので、着信ニュースフィード・ストーリ620、628は、閲覧ユーザがリンク602上でクリックしない場合でさえ、ニュースフィード600内で閲覧ユーザに提示されてもよい。他の実施形態では、スクロール・アクション、ニュースフィード600内のリンク上でのクリック・アクション、またはアクティブなブラウザ・ウィンドウもしくはモバイル・アプリケーションを検出することなど、閲覧ユーザがニュースフィード600を含むユーザ・インタフェースと積極的に関わり合っていることをニュースフィード・マネージャ110が検出するので、着信ニュースフィ
ード・ストーリ620、628は、ニュースフィード600内で動的にレンダリングされる。代替の実施形態では、着信ニュースフィード・ストーリ620、628は、所定の期間が経過したときニュースフィード600内で動的にレンダリングされる。
【0077】
まとめ
本発明の実施形態の前述の記載は、例示のために提供されており、網羅的なものでも、開示されているその形態に本発明を限定するものでもない。当業者なら、上記の開示に照らして多数の修正および変形が可能であることを理解することができる。
【0078】
この記載の一部分は、アルゴリズム、および情報に対する演算の記号表現で表して、本発明の実施形態について記載している。これらのアルゴリズムによる記載および表現は、データ処理技術分野の当業者によって、自分の仕事の内容を他の当業者に効果的に伝えるために一般的に使用されている。これらの演算は、機能的、計算的、または論理的に記載されているが、コンピュータ・プログラムまたは等価な電気回路、マイクロコードなどによって実装されると理解される。さらに、演算のこれらの構成をモジュールとして言及することは、一般性を失うことなしに、折に触れて好都合であることもまた証明されている。記載の演算、およびそれらの関連付けられているモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実装することができる。
【0079】
本明細書に記載のステップ、演算、またはプロセスのどれも、1つまたは複数のハードウェアまたはソフトウェア・モジュールで、単独または他のデバイスとの組合せで実施または実装することができる。一実施形態では、ソフトウェア・モジュールは、コンピュータ・プログラム・コードを含むコンピュータ可読媒体を備えるコンピュータ・プログラム製品で実装され、コンピュータ・プログラム・コードは、記載のステップ、演算、またはプロセスのいずれか、またはすべてを実施するために、コンピュータ・プロセッサによって実行することができる。
【0080】
本発明の実施形態は、本明細書の操作を実施するための装置に関することもある。この装置は、必要とされる目的のために特別に構築されてもよく、および/またはコンピュータ内に記憶されたコンピュータ・プログラムによって選択的に起動もしくは再構成される汎用コンピューティング・デバイスを備えてもよい。そのようなコンピュータ・プログラムは、コンピュータ・システム・バスに結合され得る、非一時的な有形のコンピュータ可読記憶媒体、または電子命令を記憶するのに適した任意のタイプの媒体内に記憶されてよい。さらに、本明細書内で言及されるコンピューティング・システムは、単一のプロセッサを含んでもよく、高い計算能力のためにマルチプロセッサ設計を使用するアーキテクチャであってもよい。
【0081】
本発明の実施形態は、本明細書に記載のコンピューティング・プロセスによって作り出される製品に関することもある。そのような製品は、コンピューティング・プロセスに起因する情報を備えることができ、その情報は、非一時的な有形のコンピュータ可読記憶媒体上に記憶され、コンピュータ・プログラム製品の任意の実施形態、または本明細書に記載の他のデータ組合せを含むことができる。
【0082】
最後に、本明細書で使用される言語は、主に読みやすさ、および説明のために選択されており、本発明の主題を正確に示す、または制限するために選択されていないことがある。したがって、本発明の範囲は、この詳細な説明によってではなく、本明細書に基づく出願に現れる特許請求の範囲によって限定されるものとする。したがって、本発明の実施形態の開示は、以下の特許請求に記載されている本発明の範囲を例示するものであり、限定するものではない。
[項目1]
ソーシャル・ネットワーキング・システムのユーザに対するビュー状態を維持する工程であって、前記ビュー状態は、コンテンツ・アイテムのセットから前記ユーザに提供される複数のコンテンツ・アイテムと、前記複数のコンテンツ・アイテムのうちの1つ以上が
前記ユーザに提示された順序とを識別する、工程と、
前記ユーザに関連付けられているコンテンツ・アイテムを求める要求を受信する工程と、
前記複数のコンテンツ・アイテムのうち、前記ユーザに対する提示用にユーザ・デバイスに対し以前に提供されたが前記ユーザによって閲覧されなかった1つまたは複数のコンテンツ・アイテムを識別する工程と、
前記ユーザに前記1つまたは複数のコンテンツ・アイテムを提示したときから状態が変化した追加のコンテンツ・アイテムを識別する工程と、
識別された前記1つまたは複数のコンテンツ・アイテムから、前記ユーザによって閲覧されず、かつ、前記ユーザに対する閾値以上の関連性を有する少なくとも1つのコンテンツ・アイテムを識別する工程と、
前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと識別された前記少なくとも1つのコンテンツ・アイテムとをランク付けする工程と、
少なくとも部分的には前記ランク付けに基づいて、1つまたは複数のコンテンツ・アイテムを選択する工程と、
前記ユーザに対する提示用にニュースフィードをユーザ・デバイスに送る工程であって、前記ニュースフィードは、前記ユーザに対し以前に提示されたコンテンツ・アイテムの前記セットからの前記複数のコンテンツ・アイテムの上方に表示される選択されたコンテンツ・アイテムのセットを含む、工程と、
を備える、コンピュータ実装方法。
[項目2]
選択された前記1つまたは複数のコンテンツ・アイテムと選択された前記1つまたは複数のコンテンツ・アイテムが提示された順序とを識別するために、前記ユーザに対する前記ビュー状態を更新する工程をさらに備える、項目1に記載のコンピュータ実装方法。
[項目3]
前記ユーザに対し以前に提示されたコンテンツ・アイテムの前記セットからの前記複数のコンテンツ・アイテムの上方に表示される選択されたコンテンツ・アイテムのセットを含む前記ニュースフィードは、識別された前記少なくとも1つのコンテンツ・アイテムからの、前記ユーザに対し提示されず、かつ、前記ユーザに対する前記閾値以上の関連性を有する少なくとも1つのコンテンツ・アイテムを含む、項目1に記載のコンピュータ実装方法。
[項目4]
前記複数のコンテンツ・アイテムのうち、前記ユーザに対する提示用にユーザ・デバイスに対し以前に提供されたが前記ユーザによって閲覧されなかった前記1つまたは複数のコンテンツ・アイテムは、1つまたは複数の広告を含む、項目1に記載のコンピュータ実装方法。
[項目5]
識別された前記1つまたは複数のコンテンツ・アイテムから、前記ユーザによって閲覧されず、かつ、前記ユーザに対する閾値以上の関連性を有する少なくとも1つのコンテンツ・アイテムを取り出す工程は、
コンテンツ・アイテムを求める前記要求が受信された時点から閾値の時間間隔より長く前記ユーザ・デバイスに対し以前に提供されたが前記ユーザによって閲覧されなかった1つまたは複数の広告を取り出す工程を含む、項目4に記載のコンピュータ実装方法。
[項目6]
前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと識別された前記少なくとも1つのコンテンツ・アイテムをとランク付けする工程は、
少なくとも部分的には、取り出された前記1つまたは複数の広告の各々に関連付けられている入札額に基づき、識別された1つまたは複数の広告をランク付けする工程を含む、項目5に記載のコンピュータ実装方法。
[項目7]
前記ユーザに対する提示用にユーザ・デバイスに対し以前に提供された前記少なくとも1つのコンテンツ・アイテムは、前記ソーシャル・ネットワーキング・システムの他のユーザによるアクションを記述する1つまたは複数のニュースフィード・ストーリを含む、項目1に記載のコンピュータ実装方法。
[項目8]
前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと識別された前記少なくとも1つのコンテンツ・アイテムをとランク付けする工程は、
閲覧ユーザと前記1つまたは複数のニュースフィード・ストーリの各々によって記述される追加のユーザとの間の親和性を決定する工程と、
少なくとも部分的には前記親和性に基づき、前記1つまたは複数のニュースフィード・ストーリをランク付けする工程と、を含む、項目7に記載のコンピュータ実装方法。
[項目9]
前記ユーザに前記1つまたは複数のコンテンツ・アイテムを提示したときから状態が変化した追加のコンテンツ・アイテムを識別する工程は、
新しいコンテンツ・アイテムと、新しい「いいね!」を含むコンテンツ・アイテムと、新しい共有を含むコンテンツ・アイテムと、新しいコメントを含むコンテンツ・アイテムとからなる群から選択されるコンテンツ・アイテムを識別する工程を含む、項目1に記載のコンピュータ実装方法。
[項目10]
コンピュータ可読記憶媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読記憶媒体は、
ソーシャル・ネットワーキング・システムのユーザに対するビュー状態を維持する工程であって、前記ビュー状態は、コンテンツ・アイテムのセットから前記ユーザに提供される複数のコンテンツ・アイテムと、前記複数のコンテンツ・アイテムのうちの1つ以上が前記ユーザに提示された順序とを識別する、工程と、
前記ユーザに関連付けられているコンテンツ・アイテムを求める要求を受信する工程と、
前記複数のコンテンツ・アイテムのうち、前記ユーザに対する提示用にユーザ・デバイスに対し以前に提供されたが前記ユーザによって閲覧されなかった1つまたは複数のコンテンツ・アイテムを識別する工程と、
前記ユーザに前記1つまたは複数のコンテンツ・アイテムを提示したときから状態が変化した追加のコンテンツ・アイテムを識別する工程と、
識別された前記1つまたは複数のコンテンツ・アイテムから、前記ユーザによって閲覧されず、かつ、前記ユーザに対する閾値以上の関連性を有する少なくとも1つのコンテンツ・アイテムを識別する工程と、
前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと識別された前記少なくとも1つのコンテンツ・アイテムとをランク付けする工程と、
少なくとも部分的には前記ランク付けに基づいて、1つまたは複数のコンテンツ・アイテムを選択する工程と、
前記ユーザに対する提示用にニュースフィードをユーザ・デバイスに送る工程であって、前記ニュースフィードは、前記ユーザに対し以前に提示されたコンテンツ・アイテムの前記セットからの前記複数のコンテンツ・アイテムの上方に表示される選択されたコンテンツ・アイテムのセットを含む、工程と、
のためのプログラムコードを含む、コンピュータ・プログラム製品。
[項目11]
選択された前記1つまたは複数のコンテンツ・アイテムと選択された前記1つまたは複数のコンテンツ・アイテムが提示された順序とを識別するために、前記ユーザに対する前記ビュー状態を更新する工程をさらに含む、項目10に記載のコンピュータ・プログラム製品。
[項目12]
前記ユーザに対し以前に提示されたコンテンツ・アイテムの前記セットからの前記複数のコンテンツ・アイテムの上方に表示される選択されたコンテンツ・アイテムのセットを含む前記ニュースフィードは、識別された前記少なくとも1つのコンテンツ・アイテムからの、前記ユーザに対し提示されず、かつ、前記ユーザに対する前記閾値以上の関連性を有する少なくとも1つのコンテンツ・アイテムを含む、項目10に記載のコンピュータ・プログラム製品。
[項目13]
前記複数のコンテンツ・アイテムのうち、前記ユーザに対する提示用にユーザ・デバイスに対し以前に提供された前記1つまたは複数のコンテンツ・アイテムは、1つまたは複数の広告を含む、項目10に記載のコンピュータ・プログラム製品。
[項目14]
識別された前記1つまたは複数のコンテンツ・アイテムから、前記ユーザによって閲覧されず、かつ、前記ユーザに対する閾値以上の関連性を有するコンテンツ・アイテムを取り出す工程は、
コンテンツ・アイテムを求める前記要求が受信された時点から閾値の時間間隔より長く前記ユーザ・デバイスに対し以前に提供されたが前記ユーザによって閲覧されなかった1つまたは複数の広告を取り出す工程を含む、項目13に記載のコンピュータ・プログラム製品。
[項目15]
前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと識別された前記少なくとも1つのコンテンツ・アイテムをとランク付けする工程は、
少なくとも部分的には、取り出された前記1つまたは複数の広告の各々に関連付けられている入札額に基づき、識別された前記1つまたは複数の広告をランク付けする工程を含む、項目14に記載のコンピュータ・プログラム製品。
[項目16]
前記ユーザに対する提示用にユーザ・デバイスに対し以前に提供された前記少なくとも1つのコンテンツ・アイテムは、前記ソーシャル・ネットワーキング・システムの他のユーザによるアクションを記述する1つまたは複数のニュースフィード・ストーリを含む、項目10に記載のコンピュータ・プログラム製品。
[項目17]
前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと識別された前記少なくとも1つのコンテンツ・アイテムをとランク付けする工程は、
閲覧ユーザと前記1つまたは複数のニュースフィード・ストーリの各々によって記述される追加のユーザとの間の親和性を決定する工程と、
少なくとも部分的には前記親和性に基づき、前記1つまたは複数のニュースフィード・ストーリをランク付けする工程と、を含む、項目16に記載のコンピュータ・プログラム製品。
[項目18]
プロセッサと、
前記プロセッサに結合されたコンピュータ可読記憶媒体と、を備えるシステムであって、前記コンピュータ可読記憶媒体は、前記プロセッサによる実行時、前記プロセッサに、
ソーシャル・ネットワーキング・システムのユーザに対するビュー状態を維持する工程であって、前記ビュー状態は、コンテンツ・アイテムのセットから前記ユーザに提供される複数のコンテンツ・アイテムと、前記複数のコンテンツ・アイテムのうちの1つ以上が前記ユーザに提示された順序とを識別する、工程と、
前記ユーザに関連付けられているコンテンツ・アイテムを求める要求を受信する工程と、
前記複数のコンテンツ・アイテムのうち、前記ユーザに対する提示用にユーザ・デバイスに対し以前に提供されたが前記ユーザによって閲覧されなかった1つまたは複数のコンテンツ・アイテムを識別する工程と、
前記ユーザに前記1つまたは複数のコンテンツ・アイテムを提示したときから状態が変化した追加のコンテンツ・アイテムを識別する工程と、
識別された前記1つまたは複数のコンテンツ・アイテムから、前記ユーザによって閲覧されず、かつ、前記ユーザに対する閾値以上の関連性を有する少なくとも1つのコンテンツ・アイテムを識別する工程と、
前記ユーザに対する関連性に基づき、前記追加のコンテンツ・アイテムと識別された前記少なくとも1つのコンテンツ・アイテムとをランク付けする工程と、
少なくとも部分的には前記ランク付けに基づいて、1つまたは複数のコンテンツ・アイテムを選択する工程と、
前記ユーザに対する提示用にニュースフィードをユーザ・デバイスに送る工程であって、前記ニュースフィードは、前記ユーザに対し以前に提示されたコンテンツ・アイテムの前記セットからの前記複数のコンテンツ・アイテムの上方に表示される選択されたコンテンツ・アイテムのセットを含む、工程と、
を行わせる命令を含む、システム。
[項目19]
前記ユーザに対し以前に提示されたコンテンツ・アイテムの前記セットからの前記複数のコンテンツ・アイテムの上方に表示される選択されたコンテンツ・アイテムのセットを含む前記ニュースフィードは、識別された前記1つ又は複数のコンテンツ・アイテムからの、前記ユーザに対し提示されず、かつ、前記ユーザに対する前記閾値以上の関連性を有する少なくとも1つのコンテンツ・アイテムを含む、項目18に記載のシステム。
[項目20]
前記ユーザに対する提示用にユーザ・デバイスに対し以前に提供された前記1つまたは複数のコンテンツ・アイテムは、1つまたは複数の広告を含む、項目18に記載のシステム。