JP6072287B2 - オンライン・システムにおけるユーザ・アクションに基づいて特徴について照会すること - Google Patents

オンライン・システムにおけるユーザ・アクションに基づいて特徴について照会すること Download PDF

Info

Publication number
JP6072287B2
JP6072287B2 JP2015545152A JP2015545152A JP6072287B2 JP 6072287 B2 JP6072287 B2 JP 6072287B2 JP 2015545152 A JP2015545152 A JP 2015545152A JP 2015545152 A JP2015545152 A JP 2015545152A JP 6072287 B2 JP6072287 B2 JP 6072287B2
Authority
JP
Japan
Prior art keywords
feature
store
user
incremental
partial result
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
JP2015545152A
Other languages
English (en)
Other versions
JP2016505940A (ja
JP2016505940A5 (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 JP2016505940A publication Critical patent/JP2016505940A/ja
Publication of JP2016505940A5 publication Critical patent/JP2016505940A5/ja
Application granted granted Critical
Publication of JP6072287B2 publication Critical patent/JP6072287B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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
    • 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

Landscapes

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

Description

本発明は、オンライン・システム、たとえば、ソーシャル・ネットワーキング・システムにおけるユーザ・アクションについて記述する特徴を更新することに関し、詳細には、オンライン・システムにおけるユーザ・アクションに基づいてリアルタイムで更新される特徴について照会することに関する。
オンライン・システムはしばしば、ユーザにとって有用な情報を提示し、ユーザがそのオンライン・システムと対話することを可能にする。オンライン・システムは、ユーザにとって関心がある可能性が高い情報を、その情報をそのユーザに提示する前に決定するために、さまざまな技術を使用することができる。ユーザは、自分が好む情報を提示される場合、オンライン・システムを定期的に訪問する可能性が高くなる。オンライン・システムはしばしば、広告から収益を得ている。広告主は、オンライン・システムのユーザによって定期的に訪問されるオンライン・システムに広告を出すことを好む。したがってユーザのロイヤリティが、オンライン・システムによって生み出される収益を決定する場合がある。結果として、関心を引く情報をユーザに提示するオンライン・システムの能力が、典型的には、そのオンライン・システムによって得られる収益に影響を与える。
オンライン・システムはしばしば、それらのオンライン・システムによって取られるアクションに関する決定を行うために過去のユーザ・アクションを使用する。たとえば、過去のユーザ・アクションは、関心があるとユーザが感じる可能性がある情報をそのユーザに提案するためにオンライン・システムによって使用される場合がある。オンライン・システムの一例は、ユーザ同士が互いにつながりを確立することを可能にするソーシャル・ネットワーキング・システムである。ソーシャル・ネットワーキング・システムは、ユーザにとって関心がある可能性があるニュースフィード・ストーリを識別するために、またはユーザに推奨するためのそのユーザの潜在的な友達を識別するために、過去のユーザ・アクションを使用する場合がある。オンライン・システムは、ユーザにとって関心がある情報を決定するための予測モデル、たとえば、機械学習モデルを使用する場合がある。これらのモデルは、オンライン・システムにおけるユーザおよびユーザのアクションについて記述する特徴に基づいてアクションを予測する。
オンライン・システムはしばしば、多数のユーザ、たとえば、数千万人または数億人のユーザを有することがあり、それらのユーザは、日常的にオンライン・システムと対話し、オンライン・システムにおいて大量の情報を生成する。生成された情報は、特徴に基づいて決定を行うオンライン・システムまたはさまざまなモジュールのモデルによって使用される特徴の値を決定するために使用される。典型的には、オンライン・システムは、過去において取られたユーザ・アクションのセットに基づいて特徴を維持する。特徴を更新することは、計算の集中した複雑な演算になる。したがって、特徴値を非常に頻繁に更新することはできない。結果として、オンライン・システムとの対話のパターンにおける最近の変化は、かなり遅くまで特徴の中に反映されない場合がある。たとえば、オンライン・システムのユーザ・インターフェースが変更された場合、そのオンライン・システムとのユーザ対話は、著しく変化する。同様に、技術における変化があった場合、オンライン・システムとのユーザ対話は、著しく変化する。たとえば、以前にはモバイル・デバイスを通じてアクセス可能ではなかったオンライン・システムが、モバイル・デバイスを通じ
てアクセス可能になった場合、ユーザは、以前には可能でなかったか、または普及していなかった新たな方法でそのオンライン・システムと対話することができる。しかしながら、そのオンライン・システムの特徴値がこれらの最近の変化を反映していない場合、そのオンライン・システムによって特徴値に基づいて行われる決定は、ユーザ・アクションにおけるそれらの最近の変化を反映しない。結果として、オンライン・システムは、もはやユーザに関連していないアクションを取る場合があり、またはオンライン・システムは、ユーザにとって関心がない情報を提示する場合がある。
本発明の実施形態は、オンライン・システムが、ユーザによって実行されたアクションに基づいて、ユーザとエンティティとの間における関係を表す特徴値について照会することを可能にする。たとえば、ソーシャル・ネットワーキング・システムが、ユーザと、そのユーザにつながっている別のユーザとの間における対話に基づいて特徴値を記憶することができる。それぞれの特徴は、ユーザと、ターゲット・エンティティと、そのターゲット・エンティティに関してそのユーザによって実行されたユーザ・アクションに基づく値とに関連付けられている。オンライン・システムは、累積特徴ストアおよび増分特徴ストアを維持する。累積特徴ストアは、所与の時点より前に実行されたユーザ・アクションから決定された特徴値を記憶し、増分特徴ストアは、所与の時点より後に実行されたユーザ・アクションから決定された特徴値を記憶する。
ユーザおよび特徴タイプを識別する特徴値の要求が受け取られる。所与の時点より前に実行されたユーザ・アクションから決定された特徴値に関する第1の部分的結果が、累積特徴ストアから受け取られる。所与の時点より後に実行されたユーザ・アクションから決定された第2の部分的結果が、増分特徴ストアから受け取られる。第1の部分的結果が減衰係数によって重み付けされるように第1の部分的結果と第2の部分的結果とを組合せることによって、特徴値が決定される。決定された特徴値は、要求元に返される。
一実施形態において、増分特徴ストア内に記憶されている特徴値は、オンライン・システムのユーザによって実行されている現在のユーザ・アクションに応答して更新される。さらに、後続の時点において、増分特徴ストアに対する更新は停止される。後続の時点より後に発生するユーザ・アクションを使用して決定される特徴値を記憶するための新たな増分特徴ストアが維持される。特徴を求める要求に応答して、後続の時間間隔の後に受け取られたユーザ・アクションを使用して決定された第3の部分的結果の値が、新たな増分特徴ストアから取り出される。第1の部分的結果、第2の部分的結果、および第3の部分的結果という結果同士を組合せることによって、特徴値が決定される。部分的結果同士の組合せでは、第1の部分的結果を減衰係数によって重み付けすることによって実行される。第2の部分的結果は、別の減衰係数によって重み付けされる。増分特徴ストアからの特徴値と、累積ストア内の特徴値とを併合することが可能であり、増分特徴ストアは、リセットされる。
この概要および以降の詳細な説明において記述されている特徴および利点は、すべてを網羅したものではない。図面、明細書、および特許請求の範囲を考慮すれば、当技術分野における通常の知識を有する当業者にとっては、多くのさらなる特徴および利点が明らかになるであろう。
本発明による実施形態は、方法、媒体、およびシステムを対象とした添付の特許請求の範囲において詳細に開示されており、1つの請求項のカテゴリ、たとえば方法において言及されている任意の特徴が、別の請求項のカテゴリ、たとえばシステムにおいて特許請求されることも可能である。
本発明による一実施形態において、オンライン・システムが、所定の時点より前に実行されたユーザ・アクションから決定された特徴値を記憶する累積特徴ストアを維持する工程と、オンライン・システムが、その時点より後に実行されたユーザ・アクションから決定された特徴値を記憶する増分特徴ストアを維持する工程であって、前記維持する工程は、ユーザ・アクションについて記述している情報を受け取ったことに応答して増分特徴ストアの特徴値を更新する工程を含む、工程と、特徴値の要求を受け取る工程であって、その要求は、ユーザおよび特徴を識別する、工程と、累積特徴ストアから第1の部分的結果を受け取る工程であって、その第1の部分的結果は、その時点より前にユーザによって実行されたタイプのユーザ・アクションから決定される、工程と、増分特徴ストアから第2の部分的結果を受け取る工程であって、その第2の部分的結果は、その時点より後にユーザによって実行されたタイプのユーザ・アクションから決定される、工程と、第1の部分的結果および第2の部分的結果を含む重み付けされた組合せを決定する工程であって、第1の部分的結果は、減衰係数によって重み付けされる、工程と、要求された特徴値として重み付けされた組合せを返す工程と、を備えるコンピュータ実装された方法が提供される。
減衰係数は、1未満の値である。
減衰係数はさらに、特徴に関連付けられているタイプに基づく。
特許請求される本発明の別の実施形態において、増分特徴ストアは第1の増分特徴ストアであるコンピュータ実装された方法が提供され、そのコンピュータ実装された方法は、オンライン・システムが、第2の増分特徴ストアを維持する工程と、後続の時点において第1の増分特徴ストアについて非アクティブとして印を付け、その後続の時点より後にオンライン・システムによって受け取られたユーザ・アクションに応答して第2の増分特徴ストアの特徴を更新する工程と、要求を受け取ったことに応答して、第2の増分特徴ストアから第3の部分的結果を受け取る工程と、をさらに備える。好ましくは、重み付けされた組合せは、第3の部分的結果をさらに含む。
好ましくは、重み付けされた組合せでは、第2の減衰係数によって第3の部分的結果を重み付けする。
特徴は、ユーザ・アクションについて記述している値またはその他の特徴値のうちの1以上に基づく式として表される。
特許請求されるさらなる実施形態において、増分特徴ストアについて非アクティブとして印を付け、増分特徴ストア内に記憶されている特徴値に対する更新を停止する工程と、増分特徴ストアからの特徴値と、累積特徴ストアからの対応する特徴値との重み付けされた組合せを決定する工程であって、累積特徴ストアからの特徴値は、減衰係数によって重み付けされる、工程と、重み付けされた組合せによって累積特徴ストアの特徴値を更新する工程と、を備えるコンピュータ実装された方法が提供される。
このコンピュータ実装された方法は、累積特徴ストア用に使用されているデータ・ストアと比較して、より速いデータ・アクセスを提供するデータ・ストア内に増分特徴ストアを記憶する工程をさらに備える。
増分特徴ストアは、ランダム・アクセス・メモリ内に記憶されている。
各特徴は、ユーザと、ターゲット・エンティティと、そのターゲット・エンティティに関連付けられているそのユーザによって実行されたユーザ・アクションに基づく特徴値とに関連付けられている。
特許請求される本発明による一実施形態において、コンピュータ実行可能コードを記憶している非一時的コンピュータ可読記憶媒体を有するコンピュータ・プログラム製品が提
供され、そのコードは、所定の時点より前に実行されたユーザ・アクションから決定された特徴値を記憶する累積特徴ストアを維持する工程、および特徴値を記憶する増分特徴ストアを維持する工程であって、その維持する工程は、その時点より後に実行されたユーザ・アクションについて記述している情報を受け取ったことに応答して増分特徴ストアの特徴値を更新する工程を含む、工程を行うように構成されるオンライン・システムの特徴管理モジュールと、特徴値の要求を受け取る工程であって、その要求は、ユーザ、および所定のタイプのユーザ・アクションに関連付けられている特徴を識別する、工程、第1の部分的結果を累積特徴ストアから受け取る工程であって、その第1の部分的結果は、その時点より前にユーザによって実行されたそのタイプのユーザ・アクションから決定される、工程、増分特徴ストアから第2の部分的結果を受け取る工程であって、その第2の部分的結果は、その時点より後にユーザによって実行されたそのタイプのユーザ・アクションから決定される、工程、第1の部分的結果および第2の部分的結果を含む重み付けされた組合せを決定する工程であって、第1の部分的結果は、減衰係数によって重み付けされる、工程、および要求された特徴値として重み付けされた組合せを返す工程を行うように構成される要求プロセッサ・モジュールと、を備える。
特許請求される別の実施形態では、特徴管理部は、オンライン・システムが、第2の増分特徴ストアを維持する工程と、後続の時点において第1の増分特徴ストアについて非アクティブとして印を付け、その後続の時点より後にオンライン・システムによって受け取られたユーザ・アクションに応答して第2の増分特徴ストアの特徴を更新する工程と、を行うようにさらに構成され、要求プロセッサ・モジュールは、要求を受け取ったことに応答して、第2の増分特徴ストアから第3の部分的結果を受け取る工程を行うようにさらに構成される、コンピュータ・プログラム製品を含む。
特徴管理部は、増分特徴ストアについて非アクティブとして印を付け、増分特徴ストア内に記憶されている特徴値に対する更新を停止する工程と、増分特徴ストアからの特徴値と、累積特徴ストアからの対応する特徴値との重み付けされた組合せを決定する工程であって、累積特徴ストアからの特徴値は、減衰係数によって重み付けされる、工程と、重み付けされた組合せによって累積特徴ストアの特徴値を更新する工程と、を行うようにさらに構成される。
特徴管理部は、累積特徴ストア用に使用されているデータ・ストアと比較して、より速いデータ・アクセスを提供するデータ・ストア内に増分特徴ストアを記憶する工程を行うように構成される。
特許請求されるさらなる実施形態は、特に予測モデルの入力値として使用される大量の特徴値を取り扱うためのコンピュータ実装された方法であって、オンライン・システムが、所定の時点より前に実行されたユーザ・アクションから決定された特徴値を記憶する累積特徴ストアを維持する工程と、オンライン・システムが、その時点より後に実行されたユーザ・アクションから決定された特徴値を記憶する増分特徴ストアを維持する工程であって、その維持する工程は、ユーザ・アクションについて記述している情報を受け取ったことに応答して増分特徴ストアの特徴値を更新する工程を含む、工程と、特徴値の要求を受け取る工程であって、その要求は、ユーザおよび特徴を識別する、工程と、累積特徴ストアから第1の部分的結果を受け取る工程であって、その第1の部分的結果は、その時点より前にユーザによって実行されたタイプのユーザ・アクションから決定される、工程と、増分特徴ストアから第2の部分的結果を受け取る工程であって、その第2の部分的結果は、その時点より後にユーザによって実行されたタイプのユーザ・アクションから決定される、工程と、第1の部分的結果および第2の部分的結果を含む重み付けされた組合せを決定する工程であって、第1の部分的結果は、減衰係数によって重み付けされる、工程と、要求された特徴値として重み付けされた組合せを返す工程と、を備えるコンピュータ実
装された方法を含む。
好ましくは、特徴は、ユーザ・アクションについて記述している値またはその他の特徴値のうちの1以上に基づく式として表され、特に特徴は、オンライン・システムの複数のユーザの間における親密度のような、および/または、ユーザについて、たとえば、ユーザによって指定されたユーザの関心、または、ユーザ対話、たとえば、過去に前記ユーザによって取り出された情報のタイプについて記述している情報に基づくユーザが特定の情報に関心がある蓋然性のような、および/または、特定の情報について記述しているページにユーザがアクセスする蓋然性のような、および/または、オンライン・システム上で利用可能な画像、映像、もしくはその他の任意のタイプのコンテンツにユーザがアクセスする蓋然性のような、前記オンライン・システムのユーザについて、または、前記オンライン・システムの前記ユーザと、前記オンライン・システム、もしくは前記オンライン・システムにおいて表されているエンティティとの対話について記述している情報に基づく値である、
累積特徴ストアの特徴値を更新する工程は、増分特徴ストアと累積特徴ストアとを併合する工程を備え、増分特徴ストアからの新たな特徴が含まれ、増分特徴ストアと累積特徴ストアとの間における重複する特徴は修正され、特徴値の更新および/または集約は、特徴そのものに依存する。
特許請求される本発明のさらなる実施形態において、実行されたときに、本発明または上述の実施形態のうちのいずれかによる方法を実行するように機能するソフトウェアを具体化している1以上の非一時的コンピュータ可読記憶媒体が提供される。
特許請求される本発明のさらなる実施形態において、あるシステムは、1以上のプロセッサと、それらのプロセッサによって実行可能な命令を含み、それらのプロセッサに結合されているメモリと、を備え、それらのプロセッサは、命令を実行したときに、本発明または上述の実施形態のうちのいずれかによる方法を実行するように機能する。
本発明の一実施形態による、オンライン・システム、たとえば、ソーシャル・ネットワーキング・システムにおいて使用するためのユーザ・アクションに基づいて特徴を維持するためのシステム環境の図。 本発明の一実施形態による、オンライン・システムにおいて表されている2つのエンティティの間における対話を表す特徴を示す図。 本発明の一実施形態による、累積特徴グラフと増分特徴グラフとを併合することを示す図。 本発明の一実施形態による、対応するユーザ・アクションが利用可能である場合に処理するためにその他のモジュールにとって特徴を利用可能にするオンライン・システム、たとえば、ソーシャル・ネットワーキング・システムのシステム・アーキテクチャを示す図。 本発明の一実施形態による、オンライン・システムにおける特徴の管理を可能にする特徴管理モジュールのサブモジュールを示す図。 本発明の一実施形態による、増分特徴ストアと累積特徴ストアとを併合する全体的なプロセスを示す図。 本発明の一実施形態による、データと累積増分特徴とを併合するための、アクティブ増分特徴ストアおよび非アクティブ増分特徴ストアを示す図。 本発明の一実施形態による、累積特徴ストアおよび増分特徴ストアに関連付けられている時間間隔を示す図。 本発明の一実施形態による、累積特徴ストアおよび増分特徴ストアに関連付けられている時間間隔を示す図。 本発明の一実施形態による、累積特徴ストアおよび増分特徴ストアに関連付けられている時間間隔を示す図。 本発明の一実施形態による、増分特徴ストアおよび累積特徴ストアを維持するシステムに関する特徴値の要求を処理するための全体的なプロセスを示す図。
これらの図は、例示のみの目的で本発明のさまざまな実施形態を示している。本明細書において記述されている本発明の原理から逸脱することなく、本明細書において示されている構造および方法の代替実施形態が採用されることを当業者であれば以降の考察から容易に理解するであろう。
次いで、一実施形態を詳細に参照し、それらの実施形態の例が、添付の図において示されている。実用的な箇所ならどこでも、類似のまたは同様の参照番号が図において使用されることが可能であり、類似のまたは同様の機能を示すことができることに留意されたい。これらの図は、例示のみの目的で、開示されているシステム(または方法)の実施形態を示している。本明細書において記述されている原理から逸脱することなく、本明細書において示されている構造および方法の代替実施形態が採用されることを当業者であれば以降の説明から容易に理解するであろう。
システム環境
図1は、本発明の一実施形態による、オンライン・システム、たとえば、ソーシャル・ネットワーキング・システムにおいて使用するためのユーザ・アクションに基づいて特徴を維持するためのシステム環境の図である。本明細書において論じられている本発明は、ソーシャル・ネットワーキング・システムを使用して示されているが、ユーザがオンライン・システムと対話することを可能にする任意のオンライン・システムに適用可能である。具体的には、ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システムのユーザに、ソーシャル・ネットワーキング・システムのその他のユーザと通信および対話する能力を提供する。ユーザは、ソーシャル・ネットワーキング・システムに参加し、次いで、ユーザがつながりたいと望むその他の複数のユーザにつながりを付加する。本明細書において使用される際には、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システムを通じて、つながり、関連付け、または関係を形成しているその他の任意のユーザに及ぶ。
図1およびその他の図は、同様の要素を識別するために同様の参照番号を使用する。「110a」など、参照番号の後の文字は、そのテキストが、その特定の参照番号を有する要素を具体的に示していることを示す。「110」など、後続の文字を伴わないテキスト内の参照番号は、その参照番号を有している図における要素のうちの任意のものまたはすべてを示す(たとえば、テキスト内の「110」は、図における参照番号「110a」および/または「110b」を示す)。
ユーザは、クライアント・デバイス110を使用してソーシャル・ネットワーキング・システム200と対話する。一実施形態において、クライアント・デバイス110は、オペレーティング・システム、たとえば、Microsoft Windows(登録商標)に準拠したオペレーティング・システム(OS)、Apple OS X、および/またはLinux(登録商標)ディストリビューションを実行するパーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ノート、タブレットPCである。別の実施形態において、クライアント・デバイス110は、コンピュータ機能を有する任意のデバイス、たとえば、携帯情報端末(PDA)、モバイル電話、スマート・フォンなどである。
オンライン・システム100は、オンライン・システム100とのユーザ対話を表すさまざまな信号105を受け取る。これらの信号105について記述している情報が、特徴としてオンライン・システム内に記憶される。特徴は、オンライン・システムのユーザについて、またはオンライン・システムのユーザと、オンライン・システム100、もしくはオンライン・システム100において表されているエンティティとの対話について記述している情報に基づく値である。たとえば、特徴は、オンライン・システムの2人のユーザの間における対話の割合に基づいて、それらの2人のユーザの間における親密度について記述する。特徴は、ユーザについて記述している情報、たとえば、ユーザまたはユーザ対話によって指定されたユーザの関心、たとえば、過去においてユーザによって取り出された情報のタイプに基づいて、そのユーザが特定の情報に関心がある蓋然性について記述する。特徴は、特定の情報について記述しているページにユーザがアクセスする蓋然性、または、オンライン・システム100上で利用可能である画像、映像、もしくはその他の任意のタイプのコンテンツにユーザがアクセスする蓋然性を表す。一実施形態において、オンライン・システム100は、システム内のオブジェクトの1対に関する特徴ベクトルを記憶し、その場合、その特徴ベクトルは、それらのオブジェクトの間における関係について記述している複数の特徴を含む。ソーシャル・ネットワーキング・システムにおいて、たとえば、ソース・ユーザとターゲット・ユーザとの関係に関して特徴ベクトルが記憶される場合があり、その場合、その特徴ベクトルは、ソース・ユーザが、ターゲット・ユーザに関する情報を閲覧した頻度、ターゲット・ユーザとの通信を開始した頻度という尺度、およびソース・ユーザとターゲット・ユーザとの間における関係について記述しているその他のさまざまな尺度などの特徴を含む。特徴管理部150は、オンライン・システム100によって受け取られた信号105を処理して、さまざまな特徴値を決定し、それらの特徴値を特徴ストア130内に記憶する。
オンライン・システム100は、オンライン・システムにおいて表されているエンティティをランク付けするために、特徴ストア130において利用可能な情報を使用する。たとえば、ソーシャル・ネットワーキング・システムは、ユーザのさまざまな友達をランク付けして、親密な友達のセットを決定することができる。または、ソーシャル・ネットワーキング・システムは、ターゲット・ユーザに関連付けられているユーザのセットをランク付けして、そのターゲット・ユーザに提案するためのそのターゲット・ユーザの潜在的な友達のセットを決定することができる。オンライン・システムは、ユーザに提示されることになる情報を決定するために特徴値を使用することもできる。
オンライン・システム100は、異なるタイプの情報をユーザに提示する。たとえば、ソーシャル・ネットワーキング・システムは、その他のユーザ、ソーシャル・グループ、ソーシャル・イベント、コンテンツ、画像などについて記述している情報をユーザに提示する。オンライン・システムのユーザに関連付けられているオンライン・システム100において発生している多数のアクションが存在する。ユーザは、典型的には、オンライン・システム100上で費やす時間が限られており、オンライン・システム100のユーザ・インターフェースにおいて利用可能な空間の量も、典型的には限られているため、オンライン・システム100は、そのユーザにとって関心がある可能性が最も高い情報を、そのユーザに提示するために選択する。オンライン・システム100は、ユーザに提示するための情報をさまざまな利用可能なオプションから選択する1つまたは複数の提案モジュール140を組み込むことができる。
提案モジュール140は、ユーザに提示された情報に基づいてそのユーザが所望のアクションを実行する可能性が高いか否かを決定するために、特徴ストアにおいて利用可能な情報を使用する。たとえば、オンライン・システムは、ユーザ・アクションを予測する1つまたは予測モデルを含む。提案モジュール140は、予測されたユーザ・アクションに基づいてユーザへの提案115を行う。ユーザに提示される情報に関する決定を行うため
に、提案モジュールによって予測モデルが呼び出される。予測モデルは、ユーザ・アクションを予測するために、特徴ストアにおいて利用可能な情報を利用する。たとえば、予測モデルは、特徴ストア130において利用可能な特徴値を使用して訓練される。一例として、オンライン・システムは、ユーザに提示されたニュースフィード・アイテムに関連したさらに多くの情報をそのユーザが要求する蓋然性を決定する予測モデルを含む。または、予測モデルは、ユーザに提示された画像についてそのユーザがコメントする蓋然性を決定する。あるいは、予測モデルは、ソーシャル・ネットワーキング・システムによって推奨された潜在的なつながりとつながりたいという要求をユーザが送信する蓋然性を決定する。
オンライン・システム100は、ソフトウェア・モジュールを実行する1つまたは複数のコンピュータ・プロセッサを備えている。システム100および110の一実施形態は、本明細書において記述されているのとは異なるおよび/またはその他のモジュールを有し、本明細書において記述されているのとは異なる様式でそれらのモジュールの間において機能同士が分散される。オンライン・システム100は、図1において示されているモジュール以外のモジュール、たとえば、図4において示されているモジュールを備えることができ、それらのモジュールについては、本明細書においてさらに記述されている。
図2は、本発明の一実施形態による、オンライン・システムにおいて表されているエンティティ220間における対話を表す特徴230を示す図である。特徴230は、ソース・エンティティとターゲット・エンティティとの間における対話を表す。たとえば、特徴f11、f12、およびf13は、ソース・エンティティ220mと220pとの間における対話を表しており、特徴f21、f22、およびf23は、ソース・エンティティ220mと220qとの間における対話を表す。たとえば、特徴は、2人のユーザの間における対話の割合、2人のユーザが互いに対話したのはどれぐらい最近か、あるエンティティに関して1人のユーザによって取り出された情報の割合もしくは量、またはあるエンティティに関してユーザによって投稿されたコメントの数およびタイプを表す。特徴は、特定のエンティティ、たとえばユーザについて記述している情報を表すこともできる。一例として、特徴は、ユーザが特定のトピックに対して有している関心のレベル、ユーザがオンライン・システムにログインしている割合、またはユーザに関する人口統計学的情報について記述している情報を表す。
一般に、オンライン・システム100のさまざまな特徴は、特徴グラフとして表される。それぞれの特徴は、ソース・エンティティ、ターゲット・エンティティ、および特徴値に関連付けられる。特徴は、ソース・エンティティ、ターゲット・エンティティ、またはソース・エンティティとターゲット・エンティティとの間における対話について記述している値に基づく式として指定される。特徴式は、合成されることが可能であり、すなわち、特徴式は、その他の特徴式の関数である。オンライン・システムは、多数のユーザ、たとえば、数百万人のユーザまたは数億人のユーザを有する。ユーザとオンライン・システムとの非常に多数の対話、ユーザ間における対話、およびユーザについて記述している大量の情報が存在する。したがって、オンライン・システム100によって表される特徴グラフは、継続的に受け取られる情報に基づいて絶えず更新される。
図3は、本発明の一実施形態による、累積特徴グラフと増分特徴グラフとを併合することを示す図である。さまざまなノード220は、オンライン・システム100において表されているエンティティに対応しており、ソース・エンティティからターゲット・エンティティへのエッジ230は、ソース・エンティティおよびターゲット・エンティティに関連付けられている特徴に対応している。累積特徴グラフ320aは、エンティティ220a、220b、220c、220d、および220e、ならびにエッジ230m、230n、230p、および230qを含む。増分特徴グラフ330は、オンライン・システム
100によって最近受け取られたユーザ・アクション、たとえば、所与の時点以降に受け取られたすべてのユーザ・アクションに対応する特徴グラフを表している。累積特徴グラフ320は、所与の時点より前に発生したすべてのユーザ・アクションの集約情報に基づいて特徴を表している。増分特徴グラフ330において示されているように、所与の時点以降のユーザ・アクションに基づいて、新たなエンティティ220fが導入されており、2つの新たなエッジ230rおよび230sが導入されている。増分特徴グラフ330はまた、既存のエッジ230qを修正しているエッジ230q’を含む。
増分特徴グラフ480の特徴値と累積特徴グラフとが併合される前に増分特徴グラフ480が特徴を蓄積する時間の間隔の長さを、設定することができる。たとえば、オンライン・システムのシステム管理者は、増分特徴グラフに関連付けられている時間間隔の長さを、1日、数時間、または数日間であるかを決定することができる。一実施形態において、時間間隔の長さは、ユーザの特定のセットに関して設定される。したがって、ユーザの特定のセットに関する増分特徴ストアのための時間間隔の長さは、ユーザの別のセットとは異なる。たとえば、ユーザのあるセットが、ユーザ・アクションのさらに高い割合に関連付けられている場合、ユーザのこのセットに関する時間間隔の長さは、オンライン・システムをあまり頻繁に使用しないでユーザ・アクションを実行するユーザのセットよりも短くなるように設定される。一実施形態において、増分特徴ストアのための時間間隔の長さは、それぞれの個々のユーザごとに設定される。
増分特徴グラフ320と累積特徴グラフ320aとの併合310によって、修正された累積特徴グラフ320bが得られる。修正された累積特徴グラフ320bは、増分特徴グラフ320ならびに累積特徴グラフ320aからのグラフの部分を含む。増分特徴グラフ320からの新たなエンティティおよびエッジが、累積特徴グラフ320b内に含まれている。さらに、累積特徴グラフ320a内の既存のエッジ230qに対応する増分特徴グラフ320内の任意のエッジ230q’によって、既存のエッジ230qがエッジ230q’’へ修正される。エッジ230qに対応する特徴値と、230q’に対応する特徴値とを集約することによって、エッジ230q’’が得られる。特徴値同士の集約は、特徴に依存する。特徴のタイプが異なると、コンポーネント値へ併合するために異なる演算が必要とされる。たとえば、エッジ230qは、ソース・エンティティがターゲット・エンティティに情報を要求する割合を表し、エッジ230qは、所与の時点以降にターゲット・エンティティに情報を求めるソース・エンティティによる頻繁な要求を表す。所与の時点以降の通信によって、エッジ230q’’によって示されているように、ソース・エンティティがターゲット・エンティティに情報を要求する全体的な割合が修正される。
累積特徴グラフ320は、グラフ併合演算310中に更新される。しかしながら、併合演算が実行されていない場合、累積特徴グラフ320に対する更新はない。オンライン・システムによって受け取られた最近のユーザ・アクションに基づく更新は、増分特徴グラフ330において実行される。一実施形態において、併合演算310中に、増分特徴グラフは、非アクティブとして印を付けられ、非アクティブ増分特徴グラフに対する更新は、停止される。併合演算310中に最近のユーザ・アクションに基づいて更新を行うために、新たな増分特徴グラフが使用される。併合されている累積特徴グラフまたは非アクティブ増分特徴グラフに対する更新がないため、併合演算は、効率よく実行される。併合演算の2つの入力グラフが併合演算中に更新されるならば、それらのグラフのさまざまな部分がロックされなければならず、それによって併合演算が非効率的になる場合がある。
図3は、累積特徴グラフおよび増分特徴グラフにおける少数のノードおよびエッジを伴う一例を示している。しかしながら、多数のユーザを伴うオンライン・システムにおいて、累積特徴グラフおよび増分特徴グラフは両方とも、多数のノードおよびエッジを有する場合がある。累積特徴グラフは、オンライン・システム100のその他のモジュールが特
徴値を要求するために利用可能である。
システム・アーキテクチャ
図4は、オンライン・システム100の一例としてのソーシャル・ネットワーキング・システム200の一実施形態のシステム・アーキテクチャの図である。ソーシャル・ネットワーキング・システム200は、本明細書においては例示的なオンライン・システムとして記述されているが、本明細書において記述されている原理は、その他のオンライン・システムにも適用可能である。ソーシャル・ネットワーキング・システム200は、ニュースフィード生成器435、ウェブ・サーバ415、アクション・ロガー440、アクション・ログ245、つながりストア430、ユーザ・プロフィール・ストア425、および提案モジュール140、および特徴管理部150を含む。その他の実施形態において、ソーシャル・ネットワーキング・システム200は、さまざまなアプリケーションに関するさらなる、より少ない、または別のモジュールを含む。ネットワーク・インターフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク・オペレーション・コンソール等などの従来の構成要素は、このシステムの詳細をわかりにくくすることのないように示されていない。
ソーシャル・ネットワーキング・システム200は、ユーザ・プロフィールをユーザ・プロフィール・ストア425内に記憶する。ユーザ・プロフィール・ストア425は、経歴情報、人口統計学的情報、およびその他のタイプの記述的情報、たとえば、職業経験、学歴、性別、性的な好み、趣味または好み、ロケーションなどを含めて、ソーシャル・ネットワーキング・システム200のユーザについて記述している情報を記憶する。ユーザ・プロフィール・ストア425は、ユーザによって提供されるコンテンツ、たとえば、画像、映像、コメント、および状態更新を記憶することもできる。一実施形態において、ソーシャル・ネットワーキング・システム200のユーザは、組織、たとえば、企業、非営利組織、製造業者、プロバイダなどである。組織のユーザ・プロフィール内に記憶されている情報のタイプは、個人のユーザ・プロフィール内に記憶されている情報とは異なる場合がある。たとえば、組織は、ビジネスのタイプ、その組織に関連付けられている財務情報、その組織の構造などについて記述している情報を記憶することができる。ユーザは、ソーシャル・ネットワーキング・システム200において表される任意のタイプのエンティティである。
ソーシャル・ネットワーキング・システム200は、ユーザが、ユーザがつながりたいと望むソーシャル・ネットワーキング・システム200のその他の複数のユーザにつながりを付加することを可能にする。つながりは、ユーザによって明示的に付加されることが可能であり、たとえば、ユーザが、その他の特定のユーザを友達であるとして選択することによる。または、ユーザの共通の特徴(たとえば、同じ教育機関の卒業生であるユーザ同士)に基づいてソーシャル・ネットワーキング・システムによって自動的に作成される。ソーシャル・ネットワーキング・システムは、ユーザに固有の情報とともに、そのユーザのつながりについて記述している情報を記憶することができる。
ソーシャル・ネットワーキング・システム200は、別々のメンバの間における1つまたは複数のつながりについて記述しているデータをつながりストア430内に記憶する。つながり情報は、類似のまたは共通の職業経験、グループ・メンバシップ、趣味、または学歴を有しているメンバ同士を示すことができる。加えて、ソーシャル・ネットワーキング・システム200は、別々のユーザの間におけるユーザ定義によるつながりを含み、ユーザがその他のユーザと自分との関係を指定することを可能にする。たとえば、これらのユーザ定義によるつながりは、メンバが、友達、同僚、パートナ等など、そのユーザの実生活の関係に類似しているその他のユーザとの関係を生成する。ユーザは、事前に定義されたタイプのつながりから選択を行うか、または必要に応じてユーザ自身のつながりタイ
プを定義する。それぞれのユーザについて記述されているユーザ情報は、そのユーザのつながりについて記述されている情報を含む。さらに、ユーザのつながりについて記述している情報は、ユーザによって実行されるアクションに関連してアクセスされる。たとえば、ユーザがソーシャル・ネットワーキング・システム上にコメントを投稿した場合、ソーシャル・ネットワーキング・システムは、そのアクションについて記述している情報をそのユーザのつながりに提供することができる。その情報は、ニュースフィードを通じてそのユーザのつながりに提供される。
ソーシャル・ネットワーキング・システム200は、データベースまたはその他のデータ・リポジトリ内に維持されている情報を通じて、ユーザによって取られたアクションをユーザのプロフィールに関連付けることができる。そのようなアクションとしては、数ある中でも、たとえば、メッセージをその他のユーザへ送信すること、その他のユーザからのメッセージを読むこと、その他のユーザに関連付けられているコンテンツを閲覧することを含む。加えて、その他のオブジェクトに関連して実行される複数のアクションは、特定のユーザを対象にしており、したがって、これらのアクションは、それらのユーザにも関連付けられる。
アクション・ロガー440は、ソーシャル・ネットワーキング・システム200の上のおよび/または外のユーザ・アクションに関する通信をウェブ・サーバ415から受け取ることができる。アクション・ロガー440は、ユーザ・アクションに関する情報を追跡把握するために、それらの情報をアクション・ログ445に投入する。特定のユーザが別のユーザに関して取るいずれのアクションも、データベースまたはその他のデータ・リポジトリ、たとえばアクション・ログ445内に維持されている情報を通じて、それぞれのユーザのプロフィールに関連付けられる。そのようなアクションとしては、数ある中でも、たとえば、その他のユーザへのつながりを付加すること、メッセージをその他のユーザへ送信すること、その他のユーザからのメッセージを読むこと、その他のユーザに関連付けられているコンテンツを閲覧すること、別のユーザによって投稿されたイベントに出席することを含む。
ソーシャル・ネットワーキング・システム200は、ソーシャル・ネットワーキング・システム200において利用可能な情報の日常的な更新をユーザに提供するニュースフィード・チャネルを維持する。ニュースフィード・チャネルを通じて報告される情報は、ニュースフィード生成器435によって決定される。ニュースフィード生成器435は、それぞれのユーザのために、アクション・ログ445内に記憶されているアクションに基づいて、そのユーザに関連している可能性がある情報に関するメッセージを生成する。これらのメッセージは、「ストーリ」と呼ばれ、それぞれのストーリは、特定のメンバに関連しているアクション・ログ内のもう1つのアクションに基づく1行または数行の情報を含むメッセージである。たとえば、ユーザのつながりが取引を行った場合、そのアクションは、ニュースフィード・ストーリを通じてユーザに報告される。ニュースフィードを通じて報告されるアクションは、典型的には、ユーザのつながりによって実行されたアクションであるが、それらに限定されない。たとえば、ユーザのつながりに無関係の特定の情報がユーザにとって有用であると決定された場合、その情報は、ニュースフィードを通じてユーザに報告される。
ウェブ・サーバ415は、ソーシャル・ネットワーキング・システム200を、ネットワーク410を通じて1つまたは複数のクライアント・デバイス110にリンクさせ、ウェブ・サーバ415は、ウェブ・ページ、ならびにその他のウェブ関連コンテンツ、たとえばFlash、XMLなどを提供する。ウェブ・サーバ415は、ソーシャル・ネットワーキング・システム200とクライアント・デバイス110との間におけるメッセージを受け取って回送する機能を提供する。これらのメッセージは、インスタント・メッセー
ジ、キューに入れられたメッセージ(たとえば、Eメール)、テキストおよびSMS(ショート・メッセージ・サービス)メッセージ、またはその他の任意の適切なメッセージング技術である。一実施形態において、あるユーザによって別のユーザへ送信されたメッセージは、ソーシャル・ネットワーキング・システム200のその他のユーザによって、たとえば、そのメッセージを受け取るユーザのつながりたちによって閲覧される。メッセージの受信者以外のソーシャル・ネットワーキング・システム200のその他のユーザによって閲覧されるメッセージのタイプの一例が、ウォール投稿である。
ソーシャル・ネットワーキング・システム200は、ウェブサイトによってサポートされるさまざまなタイプのエンティティに関してアクションを取る能力をユーザに提供することができる。これらのエンティティは、ウェブサイトのメンバが属するグループまたはネットワーク(この場合、ここでの「ネットワーク」とは、物理的な通信ネットワークではなく、人々のソーシャル・ネットワークに及ぶ)、メンバが関心を有する可能性があるイベントまたはカレンダ・エントリ、メンバがウェブサイトを通じて使用することができるコンピュータベースのアプリケーション、および、メンバがウェブサイトを通じてアイテムを購入すること、販売すること、オークションに出品すること、レンタルすること、または交換することを可能にする取引を含む。ユーザ・プロフィールは、ユーザとさまざまなエンティティとの関連付けを記憶することができる。
ソーシャル・ネットワーキング・システム200は、ユーザに対して、互いに通信するための、または、ユーザが関心を有すると感じる情報、たとえば、ユーザの友達が関与しているアクティビティ、ユーザの友達がインストールしているアプリケーション、友達によってその他の友達のアクティビティに対して行われたコメントなどを得るためのさまざまな機構を提供することができる。メンバ間における通信機構は、チャネルと呼ばれる。あるユーザが別のユーザと通信する場合、たとえば、その通信するというアクションを送信者および受信者に関連付けるために、両方のユーザのユーザ情報にアクセスしなければならない場合がある。
特徴管理部150は、ユーザ・アクションに対応するソーシャル・ネットワーキング・システム200によって受け取られた信号105から特徴値を抽出する。特徴管理部150は、抽出された特徴値を記憶し、特徴値をソーシャル・ネットワーキング・システム200のさまざまなモジュールに提供する。特徴管理部150については、図1の説明において記述されており、本明細書において、たとえば、図4Bにおいてさらに詳細に記述されている。
提案モジュール140は、さまざまなユーザにとって関心がある情報を識別し、その情報をそれらのユーザに送信する。たとえば、ソーシャル・ネットワーキング・システム200は、ユーザに対して、そのユーザにつながっているその他のユーザによって取られたアクションについて記述しているストーリを送信する。ストーリは、ソーシャル・ネットワーキング・システム200の通信のチャネル、たとえば、ニュースフィード・チャネルを通じてユーザに通信される。提案モジュール140は、さまざまなユーザのユーザ・プロフィールにおいて利用可能な情報を使用して、それぞれのユーザにとって関心があるストーリを決定する。提案モジュールは、特徴ストア130において利用可能な情報を使用して、ユーザに提示される情報を決定する。一実施形態において、提案モジュール140は、ユーザに提示される情報を選択するために、予測モデル、たとえば、機械学習モデルを使用することができる。これらの予測モデルは、特徴ストア130から得られたデータを使用して訓練される。その他のさまざまなモジュールは、決定を行うために、特徴ストア130内に記憶されている情報を使用することができる。たとえば、あるモジュールは、ユーザに提案するためのそのユーザにとっての潜在的な友達を選択するために、特徴ストア130内に記憶されている情報を使用することができる。ニュースフィード生成器4
35は、ユーザに提示するためのニュースフィード・アイテムを選択するために、特徴ストア130内に記憶されている情報を使用することができる。特徴は、オンライン・システムにおいてその他のさまざまな目的で使用されることが可能であり、たとえば、ソーシャル・ネットワーキング・システムは、ユーザに関するさまざまなエンティティをランク付けすること、たとえば、ユーザの友達、そのユーザにとっての潜在的な友達、そのユーザにとって関心がある可能性が高いページ、そのユーザにとって関心がある可能性が高いコンテンツ、所与のユーザにとっての先行入力に関する検索語、ユーザにとって関心がある可能性が高い広告などをランク付けする。
クライアント・デバイス110は、ユーザがソーシャル・ネットワーキング・システム200と対話することを可能にするためにブラウザ405を実行する。ブラウザ405は、ユーザがソーシャル・ネットワーキング・システム200を使用してさまざまなアクションを実行することを可能にする。これらのアクションとしては、ユーザにとって関心がある情報を取り出すこと、コンテンツをその他のユーザに推奨すること、コンテンツをソーシャル・ネットワーキング・システム200にアップロードすること、ソーシャル・ネットワーキング・システムのその他のユーザと対話すること、ソーシャル・ネットワーキング・システムのユーザとのつながりを確立することなどが含まれる。
クライアント・デバイス110とオンライン・システム100との間における対話は、典型的には、ネットワーク410を通じて、たとえば、インターネットを通じて実行される。ネットワーク410は、クライアント・デバイス110とソーシャル・ネットワーキング・システム200との間における通信を可能にする。一実施形態において、ネットワーク410は、標準通信技術および/または標準プロトコルを使用する。したがって、ネットワーク410は、イーサネット(登録商標)、802.11、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX)、3G、デジタル・サブスクライバー・ライン(DSL)、非同期転送モード(ATM)、インフィニバンド、PCIエクスプレス・アドバンスド・スイッチング等などの技術を使用するリンクを含む。同様に、ネットワーク410上で使用されるネットワーキング・プロトコルは、マルチプロトコル・ラベル・スイッチング(MPLS)、トランスミッション・コントロール・プロトコル/インターネット・プロトコル(TCP/IP)、ユーザ・データグラム・プロトコル(UDP)、ハイパーテキスト・トランスポート・プロトコル(HTTP)、シンプル・メール・トランスファー・プロトコル(SMTP)、ファイル・トランスファー・プロトコル(FTP)などを含む。ネットワーク410を通じて交換されるデータは、ハイパーテキスト・マークアップ言語(HTML)、拡張マークアップ言語(XML)などを含む技術および/または形式を使用して表される。加えて、リンクのうちのすべてまたはいくつかは、従来の暗号化技術、たとえば、セキュア・ソケット・レイヤ(SSL)、トランスポート・レイヤ・セキュリティ(TLS)、仮想プライベート・ネットワーク(VPN)、インターネット・プロトコル・セキュリティ(IPsec)などを使用して暗号化される。別の実施形態において、エンティティは、上述のデータ通信技術の代わりに、またはそれらに加えて、カスタムのおよび/または専用のデータ通信技術を使用することができる。実施形態によっては、ネットワーク410は、インターネットなどのその他のネットワークへのリンクを含む。
図4Bは、本発明の一実施形態による、ソーシャル・ネットワーキング・システム200の特徴管理部150のシステム・アーキテクチャの図である。特徴管理部150は、特徴抽出器455、要求プロセッサ470、特徴併合器475、スケジュール管理部465、特徴メタデータ・ストア420、累積特徴ストア490、および1つまたは複数の増分特徴ストア480a、480bを含むモジュールを備える。特徴管理部150は、ユーザ・アクションを処理して特徴値を決定し、それらの特徴値は、特徴ストア480、490内に記憶される。特徴管理部150は、特徴値を提供するためのソーシャル・ネットワー
キング・システム200のさまざまなモジュールからの要求を受け取る。一実施形態において、特徴管理部150は、外部システム、たとえば、アプリケーション・プログラミング・インターフェース(API)を通じてソーシャル・ネットワーキング・システム内の機能を呼び出す外部システムから特徴値の要求を受け取ることができる。
特徴のさまざまなタイプについて記述しているメタデータは、特徴メタデータ・ストア420内に記憶される。特徴は、ソーシャル・ネットワーキング・システム200において表されているエンティティに関連付けられている値、およびソーシャル・ネットワーキング・システム200において実行されたアクションに基づく式として表される。特徴を表すこれらの式は、エキスパートによって提供され、および特権を有するユーザ、たとえば、システム管理者によってシステムに付加される。一実施形態において、特徴は、ソーシャル・ネットワーキング・システムにおいてログを取られた(logged)アクション(actions)の関数、すなわち、特徴=関数(logged_actions)として表される。特徴は、その他の特徴の関数、たとえば、その他の特徴もしくはアクション、またはそれら2つの組合せに基づく式であることも可能である。式としての特徴の一例として、ターゲットはユーザであり、view_profileは、ターゲット・ユーザのプロフィールを閲覧しているソース・ユーザに対応し、view_photoは、ターゲット・ユーザの写真を閲覧しているソース・ユーザに対応し、view_commentは、ターゲット・ユーザによって投稿されたコメントを閲覧しているソース・ユーザに対応する場合、観察と呼ばれる特徴は、下記のように定義される。
観察=view_profile+view_photo+0.5×view_comment
上記の式において、項、たとえば、view_profileの値は、アクションが発生した場合、1であり、アクションが発生しなかった場合、0である。別の実施形態において、それぞれの項の値は、特定のアクションについて記述している情報、たとえば、ある時間間隔内にそのアクションがユーザによって実行される回数に基づくスコア値、またはユーザが、ある写真を、別の写真を取り出す前に眺めている時間の長さなど、そのアクションに関連付けられている時間の長さに基づくスコアである。
一実施形態において、特徴は、ソース・ユーザによって複数のターゲットに関して実行されたアクションに基づく集約値である。たとえば、ある特徴は、所与の時間間隔においてソース・ユーザによって、そのソース・ユーザにつながっているその他のすべてのユーザに関して実行されたすべてのページ閲覧の集約を表す。別の特徴は、ユーザが、そのユーザにつながっているその他のユーザによって投稿された画像を閲覧する割合を表す。特徴は、ソース・ユーザにつながっているその他のすべてのユーザに関するソース・ユーザのアクションに基づいて正規化されるターゲット・ユーザに関してソース・ユーザによって実行されたアクションを表すことができる。たとえば、ある特徴は、ソース・ユーザと、そのソース・ユーザにつながっているその他のユーザとの対話の平均回数を使用して正規化されたターゲット・ユーザとソース・ユーザがどれぐらい頻繁に対話しているかを表すことができる。特徴メタデータは、1つの特徴値に関連付けられている部分的結果同士を組合せるための式を指定することができる。たとえば、特徴について記述している式は、1つの特徴を2つの異なる時間間隔に関して評価することの部分的結果同士を組合せることによって特徴値をどのようにして得るかを指定する。
特徴抽出器455は、ソーシャル・ネットワーキング・システム200のユーザによって実行されたユーザ・アクションに基づいて特徴値を抽出する。特徴抽出器455は、特徴について記述しているメタデータに基づいて特徴を抽出する。一実施形態において、さまざまな特徴について記述しているメタデータは、より速いアクセスのために、ソーシャル・ネットワーキング・システム200を実装するプロセッサのメモリ内に記憶される。
それぞれの特徴タイプは、特定のタイプのユーザ・アクションに関連付けられる。たとえば、ソース・ユーザとターゲット・ユーザとの間における通信の割合に対応する特徴は、ソース・ユーザとターゲット・ユーザとの間におけるそれぞれの通信に関連付けられる。一実施形態において、短い時間間隔内に発生する特定のタイプのアクションの複数のインスタンスは、ユーザ・アクションの単一のインスタンスとして取り扱われる。たとえば、ユーザが数分以内に何回か画像をクリックした場合、特徴管理部150は、これらの複数のクリックを単一のクリック・アクションとして取り扱う。同様に、ユーザが、あるエンティティを自分が気に入っていることを示すユーザ・インターフェース・ボタンを数分以内に複数回クリックした場合、特徴管理部150は、これらの複数の同様の信号を、そのユーザがそのエンティティを気に入っていることを示す単一のユーザ・アクションとして取り扱う。短い間隔内に発生するインスタンスの回数は、ユーザ・アクションが実行されたという事実と比較して、有意な追加の情報を伝達しないため、これらの一連のユーザ・アクションは、単一のユーザ・アクションとして取り扱われる。
特定のタイプのユーザ・アクションがユーザによって実行された場合、そのユーザ・アクションに関連付けられているすべての特徴が再評価される。一実施形態において、1つの特徴の1つのインスタンスは、さまざまなコンポーネント値として記憶されることが可能であり、それらのコンポーネント値が組合わされて、特徴値が決定される。たとえば、2人のユーザの間における個々の通信回数は、別々の時間間隔に関して記憶される。特徴について記述している式に基づいて別々の回数値を組合せることによって、2人のユーザの間における通信の集約割合を得ることができる。別の例として、ある特徴が、ある写真をユーザが閲覧した回数に基づいている場合、そのユーザがその写真を閲覧することのそれぞれのインスタンスによって、その特徴が再評価される。
一実施形態において、特徴表は、さまざまな特徴の値を記憶する。たとえば、特徴表は、ソースID、ターゲットID、ターゲットのタイプ、アクションID、およびさまざまな特徴という列を有することができる。一実施形態において、さまざまな特徴に関する値は、ソースおよびターゲットのそれぞれのインスタンスに関連付けられている名前/値の対として表される。別の実施形態において、特定の予測モデルのために生成されたデータが、表1として表されており、表1において、それぞれのソースおよびターゲットが、そのモデルに関連しているさまざまな特徴に関連付けられている。
特徴ストア480および490は、特徴抽出器455によって抽出される特徴値を記憶する。それぞれの特徴ストア480a、480b、および490は、特定の時間間隔に関する特徴値を記憶する。累積特徴ストア490は、所与の時点より前に発生したユーザ・アクションに基づく特徴値を記憶する。たとえば、現在の時点において、累積特徴ストア490は、昨日またはそれ以前に受け取られたユーザ・アクションに基づく特徴値を記憶する。対照的に、増分特徴ストア480aは、所与の時点以降に発生したユーザ・アクションを記憶する。たとえば、特徴ストアは、今日発生したユーザ・アクションに基づくす
べての特徴値を記憶する。
現在のユーザ・アクションに基づく特徴値が決定されて、所与の点の時間まで増分特徴ストア480a内に記憶されることが可能であり、その点の後に、増分特徴ストア480a内に記憶されている特徴値と、累積特徴ストア490の特徴値とが併合される。特徴併合器475は、増分特徴ストア480からの特徴値と累積特徴ストア490とを併合することを実行する。たとえば、毎日の終わりに、特徴併合器475は、増分特徴ストア480の特徴値と累積特徴ストア490とを併合する。
特徴値が併合されている間の増分特徴ストア480aに対する更新を避けるために、増分特徴ストア480aは、非アクティブとして印を付けられる。非アクティブ増分特徴ストア480は、現在生じているユーザ・アクションに応答して更新されない特徴ストアであり、その一方で、アクティブ増分特徴ストア480は、ソーシャル・ネットワーキング・システム200において現在生じているユーザ・アクションに応答して更新される特徴ストアである。したがって、非アクティブの印を付けられている増分特徴ストア480aに対する更新は、増分特徴ストア480内に記憶されている情報と累積特徴ストア490とが併合されている間は停止される。増分特徴ストア480の特徴値が併合されると、増分特徴ストア480はリセットされる。すなわち、増分特徴ストア480は、空として取り扱われる。増分特徴ストア480bは、アクティブとして印を付けられ、受け取られたユーザ・アクションによって、増分特徴ストア480b内に記憶されている特徴値が更新される。増分特徴ストア480bに対する更新は、後続の点の時間に達するまで、別の時間間隔に亘って継続される。上述のプロセスが繰り返される。すなわち、増分特徴ストア480b内の特徴値と累積特徴ストア490とを併合するために、増分特徴ストア480bが非アクティブとして印を付けられる。この繰り返しにおいて、増分特徴ストア480bが非アクティブとして印を付けられたことに応答して、増分特徴ストア480aがアクティブとして印を付けられる。この段階において、増分特徴ストア480a内に以前に記憶された情報と累積特徴ストア490とが併合されて、増分特徴ストア480aがリセットされたと想定される。したがって、増分特徴ストア480aは、新たな時間間隔に亘って特徴値を更新するために使用される。したがって、2つの増分特徴ストア480aおよび480bの状態は、二者択一的に切り替えられる。ある時間間隔において、第1の増分特徴ストアがアクティブの印を付けられて、更新を受け取り、その一方で第2の増分特徴ストアが非アクティブの印を付けられて、累積特徴ストアと併合される。次の時間間隔において、第2の増分特徴ストアがアクティブの印を付けられて、更新を受け取り、その一方で第1の増分特徴ストアが非アクティブの印を付けられて、累積特徴ストアと併合される。このプロセスは、システム100または200が稼働している間、継続される。スケジュール管理部485は、上述のように、適切な時に、増分特徴ストアと累積特徴ストアとを併合するためのタスク、およびそれぞれの増分特徴ストアの状態を変更するためのタスクをスケジュールする。
一実施形態において、増分特徴ストア480は、累積特徴ストア490用に使用されているストアのアクセス時間と比較して、より速いアクセス時間を有するコンピュータ・システムのストレージ内に記憶される。累積特徴ストア490は、大量のデータを含むため、より遅いがあまり高価ではないストレージ、たとえば、フラッシュ・メモリ内に記憶される。対照的に、増分特徴ストア480は、ユーザ・アクションが実行されるにつれて特徴を更新するために頻繁にアクセスされる。したがって、増分特徴ストア480は、より速いストレージ、たとえば、ランダム・アクセス・メモリ(RAM)内に記憶される。RAMは、典型的には、2次ストレージと比較して高価であり、コンピュータ・システムのRAMストレージの量は、典型的には、利用可能な2次ストレージ、たとえば、フラッシュ・メモリの量よりも少ない。累積特徴ストア490内に記憶されるデータの量は、かなり多くなるため、複数の実施形態は、累積特徴ストア490内の情報を複数のコンピュー
タに亘ってパーティションにより分割し、それによって1つのパーティションが、それぞれのコンピュータに割り振られる。たとえば、ユーザのセットが、1つのパーティションに割り振られることが可能であり、それらのユーザに関連付けられている特徴が、そのパーティションに割り当てられる。
要求プロセッサ470は、特徴値の要求をソーシャル・ネットワーキング・システム200のさまざまなモジュールから受け取る。要求プロセッサ470は、特徴値を取り出し、それらの特徴値を要求元に返す。一実施形態において、要求プロセッサ470は、対応する特徴値をそれぞれの特徴ストアから取り出し、それらの特徴値を組合せて、全体的な特徴値を決定する。たとえば、要求プロセッサ470は、ソース・エンティティおよびターゲット・エンティティに関連付けられている特定の特徴タイプの特徴値の要求を受け取る。特徴ストア480a、480b、および490のそれぞれは、要求されている特徴に関連付けられている部分的結果を、それぞれの特徴ストアに関連付けられている時間間隔において発生したユーザ・アクションに基づいて記憶する。要求プロセッサ470は、特徴値に関する部分的結果をそれぞれの特徴ストアから取り出し、ソーシャル・ネットワーキング・システム200によって受け取られた関連付けられているユーザ・アクションに基づいて、それらの部分的結果を組合せて、特徴値を決定する。
一実施形態において、要求プロセッサ470は、より古い時間間隔に関連付けられている部分的結果の値を減衰させて、より大きな重みを最近のデータに与える。たとえば、組合わされた特徴値を決定するために、累積特徴ストアから得られた部分的結果にアッテネーティング・ファクタ(減衰係数とも呼ばれる)を乗じる。アッテネーティング・ファクタの値は、たとえば、1未満である事前に設定された値、たとえば0.9など、に設定される。結果として、累積データ・ストア内のより古いユーザ・アクションの影響は、時間とともに衰退する。たとえば、特徴値が、別々の時間間隔に関連付けられている部分的結果同士を集約したものとみなされる場合、著しく古い時間間隔に関して決定された部分的結果には、アッテネーティング・ファクタを複数回乗じ、その一方で、比較的最近の時間間隔に関する部分的結果には、アッテネーティング・ファクタを数回だけ乗じる。したがって、より古い時間間隔に関連付けられているユーザ・アクションは、より新しい時間間隔に関連付けられているユーザ・アクションよりも小さく重み付けされる。
特徴値に対するユーザ・アクションの影響は、時間とともに指数関数的に衰退するものとみなされる。一実施形態において、減衰係数の値は、特徴のタイプに依存する。それぞれの特徴は、半減期に関連付けられる。半減期の値は、特徴に関する減衰係数を決定するために使用される。たとえば、いくつかの特徴は、より長い半減期を有する場合があり、その他の特徴は、より短い半減期を有する場合がある。したがって、より長い半減期を有する特徴は、より古い値の衰退をゆっくりと生じさせる減衰係数を有し、より短い半減期を有する特徴は、より古い値の衰退をより速く生じさせる減衰係数を有する。
特徴値を記憶する全体的なプロセス
図5は、本発明の一実施形態による、増分特徴ストアと累積特徴ストアとを併合する全体的なプロセスを示している。一例として、図5において示されているプロセスの実行が開始するときに、増分特徴ストア480aは、アクティブの印を付けられていると想定され、増分特徴ストア480は、非アクティブの印を付けられていると想定される。ウェブ・サーバ415は、さまざまなユーザ・アクションを実行するための要求をユーザから受け取る。これらのアクションは、アクション・ロガー440によってアクション・ログ445内に記録される。特徴抽出器455は、これらのユーザ・アクションについて記述している情報に基づいて、特徴値、または特徴値に関連した部分的結果を抽出することができる。特徴抽出器455は、これらのユーザ・アクションについて記述している情報を、これらのユーザ・アクションが受け取られた際にアクション・ロガー440から得る、ま
たはその情報がアクション・ログ445内に記録された後にアクション・ログを処理する。特徴抽出器455は、特徴値、または特徴値の部分的結果に基づいて、アクティブ増分特徴ストア480aを更新する。ユーザ・アクションを受け取って増分特徴ストア480aを更新するプロセスは、所与の時間間隔に亘って継続される。
スケジュール管理部465は、時間間隔の長さがしきい値を超えているか否かを530で検査して、増分特徴ストア480a内に記憶されている部分的結果と累積ストア490内の特徴値とを併合するか否かを決定する。別の実施形態において、スケジュール管理部465は、増分特徴ストア480a内に記憶されている部分的結果を累積ストア490内の特徴値といつ併合するかを、その他の基準で、たとえば、増分特徴ストア480a内に記憶されている情報の量がしきい値を超えているか否か、または受け取られたユーザ・アクションの数がしきい値を超えているか否かに基づいて決定する。
増分特徴ストア480a内の結果と累積ストア490内の特徴値とが併合される用意ができているとスケジュール管理部465が決定した場合、スケジュール管理部465は、増分特徴ストア480aについて非アクティブとして、および増分特徴ストア480aについてアクティブとして印を付ける。したがって、2つの増分特徴ストア480の状態は切り替えられる。一実施形態において、特徴管理部450は、2つの増分特徴ストアの間において切り替えを行う代わりに、次の時間間隔に亘って更新を記憶するために新たな増分特徴ストア480を割り当てる。たとえば、1つの増分特徴ストアが、増分特徴ストアのプールから選択される。一実施形態において、それぞれの新たな時間間隔に関して、新たな増分特徴ストアが割り当てられる。特徴併合器475は、増分特徴ストア480aからの特徴値と累積特徴ストア490とを併合する。上述の工程510、520、530、540、および550は、たとえば、ソーシャル・ネットワーキング・システム200が稼働している限り、複数回に亘って繰り返される。一実施形態において、特徴併合器475は、併合演算を実行するバックグラウンド・スレッドとして実行される。
図6は、本発明の一実施形態による、データと累積増分特徴とを併合するための、アクティブ増分特徴ストアおよび非アクティブ増分特徴ストアを示す図である。図6は、さまざまな工程を通じて特徴管理部150の特徴ストアを示している。図6において示されているように、工程650aにおいて、増分特徴ストア480aがアクティブの印を付けられ、信号105は、増分特徴ストア480aに対する更新を生じさせる。
工程650bにおいて、増分特徴ストア480aは615で非アクティブとして印を付けられ、増分特徴ストア480bはアクティブとして印を付けられる。したがって、信号105に基づく更新が、増分特徴ストア480bに対して実行され、非アクティブ増分特徴ストア480aに対する更新は停止される。工程650cにおいて、非アクティブ増分特徴ストア480aからの特徴値は、625で累積特徴ストア490に併合される。併合演算625中に、信号105は、増分特徴ストア480bに対する更新を生じさせる。上述のプロセスは、たとえば、ソーシャル・ネットワーキング・システム200が稼働している間に、645で複数回に亘って繰り返される。
図7A〜図7Cは、本発明の一実施形態による、累積特徴ストアおよび増分特徴ストアに関連付けられている時間間隔を示している。図7Aは、図6において示されている工程650aに対応する時間間隔を示している。図7Aは、ある時間線を示しており、時点720aが、その時間線を2つの時間間隔710aおよび710bへと分割している。時間間隔710aは、時点720aの前の時間に対応しており、時間間隔710bは、時点720aの後の時間に対応している。累積特徴ストア710aは、時間間隔710a中に発生したユーザ・アクションを使用して決定された特徴値を記憶する。増分特徴ストア480aは、時間間隔710b中に発生したユーザ・アクションを使用して決定された特徴値
を記憶し、現在発生しているユーザ・アクションに応答して更新される。現在の時刻は、時点720aより右に生じる点によって表されることが可能であり、時間線に沿って右に向かって移動するものとみなされる。
現在の時点が720bに達したときに、増分特徴ストア480aは、非アクティブの印を付けられ、新たな増分特徴ストア480bが、アクティブ増分特徴ストアとして使用される。図7Bは、図6において示されている工程650bに対応する時間間隔を示している。図7Bは、時点710aより前の時間に対応する時間間隔710a、時点710aと710bとの間における時間に対応する時間間隔710b’、および時点710b以降の時間に対応する時間間隔710cという3つの時間間隔を有する時間線を示している。累積特徴ストア710aは、時間間隔710a’中に発生したユーザ・アクションを使用して決定された特徴値を記憶する。非アクティブ増分特徴ストア480aは、時間間隔710b’中に発生したユーザ・アクションを使用して決定された特徴値を記憶し、アクティブ増分特徴ストア480bは、時間間隔710c中に発生したユーザ・アクションを使用して決定された特徴値を記憶し、現在発生しているユーザ・アクションに応答して更新される。
図7Cは、図6において示されている工程650cに対応する時間間隔を示している。図7Cは、時点710bの前の時間に対応する時間間隔710a’、および時点710b以降の時間に対応する時間間隔710cという2つの時間間隔を有する時間線を示している。この工程650cにおいて、増分特徴ストア480aと、累積特徴ストア490とが併合されている。累積特徴ストア710aは、時間間隔710a’中に発生したユーザ・アクションを使用して決定された特徴値を記憶する。アクティブ増分特徴ストア480bは、時間間隔710c中に発生したユーザ・アクションを使用して決定された特徴値を記憶し、現在発生しているユーザ・アクションに応答して更新される。
特徴値について照会する全体的なプロセス
要求プロセッサ470は、特徴値の要求を受け取り、それらの要求を処理する。要求は、要求されている特徴を識別する情報を提供し、たとえば、要求は、特徴値に関連付けられているユーザ、特徴値に関連付けられているターゲット・エンティティ、および特徴のタイプを識別する情報を識別することができる。別々の特徴ストア490、480a、480bは、特定の特徴値に対応している部分的結果を記憶し、それぞれの部分的結果は、ユーザ・アクションのセット、たとえば、特定の時間間隔中に発生するユーザ・アクションを使用して決定される。一例として、特徴値が、ユーザ・アクションに関連付けられている値同士を集約することによって決定される場合、あるストアに対応する部分的結果の値は、そのストア内のすべての関連しているアクションを使用して決定された集約値に対応する。したがって、要求プロセッサ470は、それぞれの特徴ストア490、480a、480bから得られた特徴値に対応する部分的結果同士を組合せることによって、特徴値を決定する。特定の特徴ストアは、たとえば、関連しているユーザ・アクションが、その特徴ストアに対応する時間間隔において発生しなかった場合、特徴に対応する部分的結果の値を有しない。この状況において、要求プロセッサ470は、特徴値に関する部分的結果を有する特徴ストアからの部分的結果同士を組合せる。
図8は、本発明の一実施形態による、増分特徴ストアおよび累積特徴ストアを維持するシステムに関する特徴値の要求を処理するための全体的なプロセスを示している。要求プロセッサ470は、特徴値の要求を810で受け取る。要求プロセッサ470は、特徴値に対応する第1の部分的結果を累積特徴ストア490から820で受け取る。第1の部分的結果は、累積特徴ストア490内の特徴値が更新されているユーザ・アクションを使用して決定される。要求プロセッサ470は、特徴値に対応する第2の部分的結果を増分特徴ストア480aから830で受け取る。第2の部分的結果は、増分特徴ストア480a
内の特徴値が更新されているユーザ・アクションを使用して決定される。要求プロセッサ470は、特徴値に対応する増分特徴ストア480bからの第3の部分的結果を840で受け取る。第3の部分的結果は、増分特徴ストア480b内の特徴値が更新されているユーザ・アクションを使用して決定される。要求プロセッサ470は、第1の部分的結果、第2の部分的結果、および第3の部分的結果の重み付けされた組合せを850で決定し、その組合わされた部分的結果を、要求されている特徴値として860で返す。
要求プロセッサによって850で決定された重み付けされた組合せでは、より古いユーザ・アクションに関連付けられている部分的結果を減衰係数(アッテネーション・ファクタとも呼ばれる)によって重み付けする。これは、特徴値におけるさらに古いユーザ・アクションの影響を減衰させる。減衰係数は、1未満の値、たとえば0.9である。一実施形態において、それぞれの特徴は、別々の減衰係数に関連付けられる。一実施形態において、それぞれの特徴は、半減期に関連付けられており、その特徴に関する減衰係数は、その半減期に基づいて決定される。たとえば、特定の特徴に関しては、その他の特徴と比較して、より古いユーザ・アクションが、より関連している場合がある。より古いユーザ・アクションが、より関連している場合、減衰係数は、より大きくなり、より古いユーザ・アクションは、よりゆっくりと衰退する結果となる。その一方で、より古いユーザ・アクションが、特徴の計算に関して、あまり関連していない場合、減衰係数は、より小さくなり、より古いユーザ・アクションは、より速く衰退する結果となる。一実施形態において、減衰係数の値を設定することができる。
要求されている特徴に関する部分的結果は、たとえば、その特徴を求める要求が工程650a中に受け取られた場合、単一の増分特徴ストアおよび累積特徴ストアにおいて利用可能である。この状況における特徴値fは、式(1)を使用して決定され、式(1)において、xは、増分特徴ストア480aから得られた部分的結果を表しており、yは、累積特徴ストア490から得られた部分的結果を表しており、αは、減衰係数を表している。
f=x+α×y (1)
要求されている特徴に関する部分的結果は、たとえば、その特徴を求める要求が工程650b中に受け取られた場合、増分特徴ストア480a、増分特徴ストア480b、および累積特徴ストアにおいて利用される。この状況における特徴値fは、式(1)を使用して決定され、式(1)において、xは、増分特徴ストア480aから得られた部分的結果を表しており、yは、累積特徴ストア490から得られた部分的結果を表しており、zは、増分特徴ストア480bから得られた部分的結果を表しており、αは、増分特徴ストア480aからの部分的結果に関する減衰係数を表しており、βは、増分特徴ストア480bからの部分的結果に関する減衰係数を表している。
f=x+α×y+β×z (2)
式(1)は、図5において示されているような増分特徴ストア480からの特徴値を累積特徴ストア490に併合すること550、または図6において示されているような併合すること625のために実行される計算に対応する。
代替アプリケーション
本明細書において記述されている特徴および利点は、すべてを網羅したものではなく、特に図面、明細書、および特許請求の範囲を考慮すれば、当技術分野における通常の知識を有する当業者にとっては、多くのさらなる特徴および利点が明らかになるであろう。その上、本明細書において使用されている用語は、主として読みやすさおよび教示上の目的で選択されており、本発明の主題の線引きまたは画定を行うために選択されてはいない場合があることに留意されたい。
たとえば、予測モデルは、その他のタイプのオンライン・システムにおいて生成および使用されることが可能であり、ソーシャル・ネットワーキング・システムに限定されない。たとえば、ユーザ・プロフィールを記憶し、ユーザがアクションを取ることを可能にするオンライン・システムは、ユーザが取ることができるさまざまなアクションに関するプレディクタを生成し、および使用する。たとえば、オンライン・システムは、さまざまなタイプのデータのフィードをユーザが受け取ることを可能にする。予測モデルは、ユーザに提示されたフィードをそのユーザが開くことになるか否かを予測するために開発される。予測モデルは、ユーザに提示されたフィードを順序付けるためにオンライン・システムによって使用されることが可能であり、たとえば、フィード同士は、ユーザがフィードを開くことになる、またはフィードからのさらなる情報を要求することになる可能性に基づいて順序付けられる。
本発明の実施形態についての前述の記述は、例示の目的で提示されており、すべてを網羅すること、または開示されている厳密な形態に本発明を限定することを意図するものではない。上述の開示に照らせば、多くの修正形態および変形形態が可能であることを、関連する技術の分野における技術者であれば理解されるであろう。
この記述のいくつかの部分は、情報に関する演算のアルゴリズムおよびシンボル表示という点から本発明の実施形態について記述している。これらのアルゴリズム的な記述および表示は一般に、データ処理の技術分野における技術者によって、それらの技術者の作業の実体を他の当業者に効果的に伝達するために使用されている。これらの演算は、機能的に、計算処理的に、または論理的に記述されているが、コンピュータ・プログラムまたは均等な電気回路、マイクロコードなどによって実装されることがわかる。さらに、一般性を失うことなく、モジュールとして演算のこれらの構成に言及することが時として好都合であることもわかっている。記述されている演算およびそれらの関連付けられているモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具体化される。
本明細書において記述されている工程、演算、またはプロセスのうちのいずれも、1つもしくは複数のハードウェア・モジュールもしくはソフトウェア・モジュールを用いて、単独で、またはその他のデバイスと組み合わせて実行または実装される。一実施形態において、ソフトウェア・モジュールは、記述されている工程、演算、またはプロセスのうちの任意のものまたはすべてを実行するためにコンピュータ・プロセッサによって実行されるコンピュータ・プログラム・コードを含むコンピュータ可読媒体を備えるコンピュータ・プログラム製品とともに実装される。
本発明の実施形態は、本明細書における演算を実行するための装置に関連することも可能である。この装置は、求められている目的のために特別に構築されることが可能であり、および/または、コンピュータ内に記憶されているコンピュータ・プログラムによって選択的にアクティブ化もしくは再構成される汎用コンピューティング・デバイスを備えることができる。そのようなコンピュータ・プログラムは、有形のコンピュータ可読記憶媒体、または電子命令を記憶するのに適している任意のタイプの媒体内に記憶されること、およびコンピュータ・システム・バスに結合される。さらに、本明細書において言及されているいずれのコンピューティング・システムも、シングル・プロセッサを含むことができ、またはコンピューティング能力を高めるためにマルチ・プロセッサ設計を採用しているアーキテクチャである。
最後に、本明細書において使用されている用語は、主として読みやすさおよび教示上の目的で選択されており、本発明の主題の線引きまたは画定を行うために選択されてはいない場合がある。したがって、本発明の範囲は、この詳細な説明によってではなく、本明細
書に基づく出願上で生じる請求項によって限定されることが意図されている。したがって、本発明の実施形態の開示は、例示的なものであり、添付の特許請求の範囲において示されている本発明の範囲を限定するものではないことが意図される。

Claims (19)

  1. オンライン・システムが、所定の時点より前に実行されたユーザ・アクションから決定された特徴値を記憶する累積特徴ストアを維持する工程であって、前記累積特徴ストアは、第1のタイプのメモリ内に記憶される、工程と、
    前記オンライン・システムが、前記時点より後に実行されたユーザ・アクションから決定された特徴値を記憶する増分特徴ストアを維持する工程であって、前記維持する工程は、ユーザ・アクションについて記述している情報を受け取ったことに応答して前記増分特徴ストアの特徴値を更新する工程を含み、前記増分特徴ストアは、前記第1のタイプのメモリよりも速いアクセス時間を有する第2のタイプのメモリ内に記憶される、工程と、
    特徴値の要求を受け取る工程であって、前記要求は、ユーザ、および所定のタイプのユーザ・アクションに関連付けられている特徴を識別する、工程と、
    前記累積特徴ストアから第1の部分的結果を受け取る工程であって、前記第1の部分的結果は、前記時点より前に前記ユーザによって実行されたタイプのユーザ・アクションから決定される、工程と、
    前記増分特徴ストアから第2の部分的結果を受け取る工程であって、前記第2の部分的結果は、前記時点より後に前記ユーザによって実行されたタイプのユーザ・アクションから決定される、工程と、
    前記第1の部分的結果および前記第2の部分的結果を含む重み付けされた組合せを決定する工程であって、前記第1の部分的結果は、減衰係数によって重み付けされる、工程と、
    要求された前記特徴値として前記重み付けされた組合せを返す工程と、を備える方法であって、前記増分特徴ストアは、第1の増分特徴ストアであり、前記方法は、
    前記オンライン・システムが、第2の増分特徴ストアを維持する工程と、
    後続の時点において前記第1の増分特徴ストアについて非アクティブとして印を付け、前記後続の時点より後に前記オンライン・システムによって受け取られたユーザ・アクションに応答して前記第2の増分特徴ストアの特徴を更新する工程と、
    前記要求を受け取ったことに応答して、前記第2の増分特徴ストアから第3の部分的結果を受け取る工程と、をさらに備える、方法。
  2. 前記減衰係数は、1未満の値である、請求項1に記載の方法。
  3. 前記減衰係数は、前記特徴に関連付けられているタイプに基づく、請求項1に記載の方法。
  4. 前記重み付けされた組合せは、前記第3の部分的結果をさらに含む、請求項に記載の方法。
  5. 前記重み付けされた組合せでは、第2の減衰係数によって前記第3の部分的結果を重み付けする、請求項に記載の方法。
  6. 特徴は、ユーザ・アクションについて記述している値またはその他の特徴値のうちの1以上に基づく式として表される、請求項1に記載の方法。
  7. 前記累積特徴ストア用に使用されているデータ・ストアと比較して、より速いデータ・アクセスを提供するデータ・ストア内に前記増分特徴ストアを記憶する工程をさらに備える、請求項1に記載の方法。
  8. 前記増分特徴ストアは、ランダム・アクセス・メモリ内に記憶されている、請求項1に記載の方法。
  9. 各特徴は、ユーザと、ターゲット・エンティティと、前記ターゲット・エンティティに関連付けられている前記ユーザによって実行されたユーザ・アクションに基づく特徴値とに関連付けられている、請求項1に記載の方法。
  10. オンライン・システムが、所定の時点より前に実行されたユーザ・アクションから決定された特徴値を記憶する累積特徴ストアを維持する工程であって、前記累積特徴ストアは、第1のタイプのメモリ内に記憶される、工程と、
    前記オンライン・システムが、前記時点より後に実行されたユーザ・アクションから決定された特徴値を記憶する増分特徴ストアを維持する工程であって、前記維持する工程は、ユーザ・アクションについて記述している情報を受け取ったことに応答して前記増分特徴ストアの特徴値を更新する工程を含み、前記増分特徴ストアは、前記第1のタイプのメモリよりも速いアクセス時間を有する第2のタイプのメモリ内に記憶される、工程と、
    特徴値の要求を受け取る工程であって、前記要求は、ユーザ、および所定のタイプのユーザ・アクションに関連付けられている特徴を識別する、工程と、
    前記累積特徴ストアから第1の部分的結果を受け取る工程であって、前記第1の部分的結果は、前記時点より前に前記ユーザによって実行されたタイプのユーザ・アクションから決定される、工程と、
    前記増分特徴ストアから第2の部分的結果を受け取る工程であって、前記第2の部分的結果は、前記時点より後に前記ユーザによって実行されたタイプのユーザ・アクションから決定される、工程と、
    前記第1の部分的結果および前記第2の部分的結果を含む重み付けされた組合せを決定する工程であって、前記第1の部分的結果は、減衰係数によって重み付けされる、工程と、
    要求された前記特徴値として前記重み付けされた組合せを返す工程と、
    前記増分特徴ストアについて非アクティブとして印を付け、前記増分特徴ストア内に記憶されている前記特徴値に対する前記更新を停止する工程と、
    前記増分特徴ストアからの特徴値と、前記累積特徴ストアからの対応する特徴値との重み付けされた組合せを決定する工程であって、前記累積特徴ストアからの前記特徴値は、減衰係数によって重み付けされる、工程と、
    前記重み付けされた組合せによって前記累積特徴ストアの前記特徴値を更新する工程と、を備える、方法。
  11. コンピュータ実行形式のコードを記憶している非一時的コンピュータ可読記憶媒体であって、前記コードは、
    所定の時点より前に実行されたユーザ・アクションから決定された特徴値を記憶する累積特徴ストアを維持する工程であって、前記累積特徴ストアは、第1のタイプのメモリ内に記憶される、工程、および、
    特徴値を記憶する増分特徴ストアを維持する工程であって、前記維持する工程は、前記時点より後に実行されたユーザ・アクションについて記述している情報を受け取ったことに応答して前記増分特徴ストアの特徴値を更新する工程を含み、前記増分特徴ストアは、前記第1のタイプのメモリよりも速いアクセス時間を有する第2のタイプのメモリ内に記憶される、工程、
    を行うように構成されるオンライン・システムの特徴管理モジュールと、
    特徴値の要求を受け取る工程であって、前記要求は、ユーザ、および所定のタイプのユーザ・アクションに関連付けられている特徴を識別する、工程、
    前記累積特徴ストアから第1の部分的結果を受け取る工程であって、前記第1の部分的結果は、前記時点より前に前記ユーザによって実行された前記タイプのユーザ・アクションから決定される、工程、
    前記増分特徴ストアから第2の部分的結果を受け取る工程であって、前記第2の部分的結果は、前記時点より後に前記ユーザによって実行された前記タイプのユーザ・アクションから決定される、工程、
    前記第1の部分的結果および前記第2の部分的結果を含む重み付けされた組合せを決定する工程であって、前記第1の部分的結果は、減衰係数によって重み付けされる、工程、および、
    要求された前記特徴値として前記重み付けされた組合せを返す工程、
    を行うように構成される要求プロセッサ・モジュールと、を備え、
    前記増分特徴ストアは、第1の増分特徴ストアであり、
    前記特徴管理モジュールは、
    第2の増分特徴ストアを前記オンライン・システムによって維持する工程と、
    後続の時点において前記第1の増分特徴ストアについて非アクティブとして印を付け、前記後続の時点より後に前記オンライン・システムによって受け取られたユーザ・アクションに応答して前記第2の増分特徴ストアの特徴を更新する工程と、を行うようにさらに構成され、
    前記要求プロセッサ・モジュールは、
    前記要求を受け取ったことに応答して、前記第2の増分特徴ストアから第3の部分的結果を受け取る工程を行うようにさらに構成される、媒体。
  12. 前記減衰係数は、1未満の値である、請求項11に記載の媒体。
  13. 前記減衰係数は、前記特徴に関連付けられているタイプに基づく、請求項11に記載の媒体。
  14. 前記重み付けされた組合せは、前記第3の部分的結果をさらに含む、請求項11に記載の媒体。
  15. 前記重み付けされた組合せでは、第2の減衰係数によって前記第3の部分的結果を重み付けする、請求項11に記載の媒体。
  16. 特徴は、ユーザ・アクションについて記述している値またはその他の特徴値のうちの1
    以上に基づく式として表される、請求項11に記載の媒体。
  17. 前記特徴管理モジュールは、
    前記累積特徴ストア用に使用されているデータ・ストアと比較して、より速いデータ・アクセスを提供するデータ・ストア内に前記増分特徴ストアを記憶する工程を行うようにさらに構成される、請求項11に記載の媒体。
  18. 前記増分特徴ストアは、ランダム・アクセス・メモリ内に記憶されている、請求項11に記載の媒体。
  19. コンピュータ実行形式のコードを記憶している非一時的コンピュータ可読記憶媒体であって、前記コードは、
    所定の時点より前に実行されたユーザ・アクションから決定された特徴値を記憶する累積特徴ストアを維持する工程であって、前記累積特徴ストアは、第1のタイプのメモリ内に記憶される、工程、および、
    特徴値を記憶する増分特徴ストアを維持する工程であって、前記維持する工程は、前記時点より後に実行されたユーザ・アクションについて記述している情報を受け取ったことに応答して前記増分特徴ストアの特徴値を更新する工程を含み、前記増分特徴ストアは、前記第1のタイプのメモリよりも速いアクセス時間を有する第2のタイプのメモリ内に記憶される、工程、
    を行うように構成されるオンライン・システムの特徴管理モジュールと、
    特徴値の要求を受け取る工程であって、前記要求は、ユーザ、および所定のタイプのユーザ・アクションに関連付けられている特徴を識別する、工程、
    前記累積特徴ストアから第1の部分的結果を受け取る工程であって、前記第1の部分的結果は、前記時点より前に前記ユーザによって実行された前記タイプのユーザ・アクションから決定される、工程、
    前記増分特徴ストアから第2の部分的結果を受け取る工程であって、前記第2の部分的結果は、前記時点より後に前記ユーザによって実行された前記タイプのユーザ・アクションから決定される、工程、
    前記第1の部分的結果および前記第2の部分的結果を含む重み付けされた組合せを決定する工程であって、前記第1の部分的結果は、減衰係数によって重み付けされる、工程、および、
    要求された前記特徴値として前記重み付けされた組合せを返す工程、
    を行うように構成される要求プロセッサ・モジュールと、を備え、
    前記特徴管理モジュールは、
    前記増分特徴ストアについて非アクティブとして印を付け、前記増分特徴ストア内に記憶されている前記特徴値に対する前記更新を停止する工程、
    前記増分特徴ストアからの特徴値と、前記累積特徴ストアからの対応する特徴値との重み付けされた組合せを決定する工程であって、前記累積特徴ストアからの前記特徴値は、減衰係数によって重み付けされる、工程、および、
    前記重み付けされた組合せによって前記累積特徴ストアの前記特徴値を更新する工程、
    を行うようにさらに構成される、媒体。
JP2015545152A 2012-11-30 2013-11-25 オンライン・システムにおけるユーザ・アクションに基づいて特徴について照会すること Active JP6072287B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/690,225 US8788487B2 (en) 2012-11-30 2012-11-30 Querying features based on user actions in online systems
US13/690,225 2012-11-30
PCT/US2013/071728 WO2014085341A1 (en) 2012-11-30 2013-11-25 Querying features based on user actions in online systems

Publications (3)

Publication Number Publication Date
JP2016505940A JP2016505940A (ja) 2016-02-25
JP2016505940A5 JP2016505940A5 (ja) 2016-04-07
JP6072287B2 true JP6072287B2 (ja) 2017-02-01

Family

ID=49641639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015545152A Active JP6072287B2 (ja) 2012-11-30 2013-11-25 オンライン・システムにおけるユーザ・アクションに基づいて特徴について照会すること

Country Status (11)

Country Link
US (2) US8788487B2 (ja)
EP (1) EP2738733A1 (ja)
JP (1) JP6072287B2 (ja)
KR (2) KR101802877B1 (ja)
CN (1) CN104956365B (ja)
AU (2) AU2013352429B2 (ja)
BR (1) BR112015012452A2 (ja)
CA (1) CA2891898C (ja)
IL (1) IL238975A (ja)
MX (2) MX361475B (ja)
WO (1) WO2014085341A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037592B2 (en) 2012-09-12 2015-05-19 Flipboard, Inc. Generating an implied object graph based on user behavior
US9712575B2 (en) 2012-09-12 2017-07-18 Flipboard, Inc. Interactions for viewing content in a digital magazine
US10289661B2 (en) 2012-09-12 2019-05-14 Flipboard, Inc. Generating a cover for a section of a digital magazine
US9778820B2 (en) * 2013-01-18 2017-10-03 Salesforce.Com, Inc. Managing applications on a computing device
EP3975014A1 (en) 2013-03-15 2022-03-30 INTEL Corporation Technologies for secure storage and use of biometric authentication information
US9590966B2 (en) 2013-03-15 2017-03-07 Intel Corporation Reducing authentication confidence over time based on user history
US9160730B2 (en) 2013-03-15 2015-10-13 Intel Corporation Continuous authentication confidence module
US10198834B2 (en) * 2013-04-29 2019-02-05 Microsoft Technology Licensing, Llc Graph partitioning for massive scale graphs
US9552360B2 (en) * 2013-09-27 2017-01-24 International Business Machines Corporation Resource reconciliation based on external factors
US10437901B2 (en) 2013-10-08 2019-10-08 Flipboard, Inc. Identifying similar content on a digital magazine server
US10331661B2 (en) * 2013-10-23 2019-06-25 At&T Intellectual Property I, L.P. Video content search using captioning data
US9361338B2 (en) * 2013-11-26 2016-06-07 International Business Machines Corporation Offloaded, incremental database statistics collection and optimization
US10366150B2 (en) 2014-09-22 2019-07-30 Flipboard, Inc. Generating a section of a digital magazine including content from one or more users
CN104809209A (zh) 2015-04-28 2015-07-29 小米科技有限责任公司 社交网络信息流的显示方法、装置及服务器
US10606866B1 (en) 2017-03-30 2020-03-31 Palantir Technologies Inc. Framework for exposing network activities
US10417340B2 (en) 2017-10-23 2019-09-17 International Business Machines Corporation Cognitive collaborative moments
US10803251B2 (en) 2018-06-30 2020-10-13 Wipro Limited Method and device for extracting action of interest from natural language sentences
US10602207B2 (en) * 2018-08-03 2020-03-24 Facebook, Inc. Neural network based content distribution in an online system
KR102186412B1 (ko) * 2019-04-25 2020-12-03 넷마블 주식회사 게임 컨텐츠 제공 방법
JP7227349B2 (ja) * 2019-12-05 2023-02-21 グーグル エルエルシー 寄与増分機械学習モデル
CN112311629B (zh) * 2020-10-30 2022-04-26 广州华多网络科技有限公司 数据处理方法、装置、服务器及计算机可读存储介质

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049777A (en) * 1995-06-30 2000-04-11 Microsoft Corporation Computer-implemented collaborative filtering based method for recommending an item to a user
US6112186A (en) * 1995-06-30 2000-08-29 Microsoft Corporation Distributed system for facilitating exchange of user information and opinion using automated collaborative filtering
US6041311A (en) * 1995-06-30 2000-03-21 Microsoft Corporation Method and apparatus for item recommendation using automated collaborative filtering
US6092049A (en) * 1995-06-30 2000-07-18 Microsoft Corporation Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering
US6421675B1 (en) 1998-03-16 2002-07-16 S. L. I. Systems, Inc. Search engine
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US20010030667A1 (en) * 2000-04-10 2001-10-18 Kelts Brett R. Interactive display interface for information objects
US7987491B2 (en) * 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases
US6946715B2 (en) * 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
US7302422B2 (en) * 2004-04-14 2007-11-27 International Business Machines Corporation Query workload statistics collection in a database management system
US20080077570A1 (en) 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
US7461059B2 (en) 2005-02-23 2008-12-02 Microsoft Corporation Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks
US8838588B2 (en) * 2005-03-30 2014-09-16 International Business Machines Corporation System and method for dynamically tracking user interests based on personal information
US7818196B2 (en) 2005-06-13 2010-10-19 Avaya Inc. Real time estimation of rolling averages of cumulative data
US7991764B2 (en) * 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
US20070060335A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Action charging in a turn-based video game
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US9552420B2 (en) * 2005-10-04 2017-01-24 Thomson Reuters Global Resources Feature engineering and user behavior analysis
US8176004B2 (en) * 2005-10-24 2012-05-08 Capsilon Corporation Systems and methods for intelligent paperless document management
US8019752B2 (en) * 2005-11-10 2011-09-13 Endeca Technologies, Inc. System and method for information retrieval from object collections with complex interrelationships
US7669123B2 (en) 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
US7644313B2 (en) * 2006-02-14 2010-01-05 International Business Machines Corporation Method, apparatus and program product for a point-in-time recovery of a computing system
US7980466B2 (en) * 2006-05-24 2011-07-19 Ebay Inc. Point-of-sale promotions
US7885937B2 (en) * 2007-10-02 2011-02-08 International Business Machines Corporation Mapping online contact information into a contacts list
US8019700B2 (en) * 2007-10-05 2011-09-13 Google Inc. Detecting an intrusive landing page
US20090164287A1 (en) 2007-12-24 2009-06-25 Kies Jonathan K Method and apparatus for optimizing presentation of media content on a wireless device based on user behavior
US9959547B2 (en) * 2008-02-01 2018-05-01 Qualcomm Incorporated Platform for mobile advertising and persistent microtargeting of promotions
US20090197582A1 (en) * 2008-02-01 2009-08-06 Lewis Robert C Platform for mobile advertising and microtargeting of promotions
US9111286B2 (en) * 2008-02-01 2015-08-18 Qualcomm, Incorporated Multiple actions and icons for mobile advertising
US20090198579A1 (en) * 2008-02-01 2009-08-06 Lewis Robert C Keyword tracking for microtargeting of mobile advertising
CN102227737A (zh) * 2008-11-28 2011-10-26 Est软件公司 使用访问时间和频率的网页搜索系统和方法
WO2010085773A1 (en) * 2009-01-24 2010-07-29 Kontera Technologies, Inc. Hybrid contextual advertising and related content analysis and display techniques
CN102414705A (zh) * 2009-03-03 2012-04-11 谷歌公司 用于向社交网络的用户提供广告的方法和系统
US20110055683A1 (en) * 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
US9126120B2 (en) * 2009-09-30 2015-09-08 Zynga Inc. Apparatuses, methods and systems for a virtual security camera
US9547676B2 (en) * 2010-03-30 2017-01-17 Disos Pty Ltd. Cloud computing operating system and method
US8533043B2 (en) * 2010-03-31 2013-09-10 Yahoo! Inc. Clickable terms for contextual advertising
US20110313942A1 (en) * 2010-06-22 2011-12-22 Empco, Inc. System and method for providing departments with candidate test scores and profiles
WO2012047933A2 (en) * 2010-10-04 2012-04-12 Block Torin J Goal management method and system
US8903960B2 (en) * 2010-12-21 2014-12-02 Cisco Technology, Inc. Activate attribute for service profiles in unified computing system
CN102654860B (zh) * 2011-03-01 2015-05-06 北京彩云在线技术开发有限公司 一种个性化音乐推荐方法及系统
CN102760124B (zh) * 2011-04-25 2014-11-12 阿里巴巴集团控股有限公司 一种推荐数据的推送方法及系统
US9110992B2 (en) * 2011-06-03 2015-08-18 Facebook, Inc. Context-based selection of calls-to-action associated with search results
US9268857B2 (en) * 2011-06-03 2016-02-23 Facebook, Inc. Suggesting search results to users before receiving any search query from the users
US8909637B2 (en) * 2011-06-03 2014-12-09 Facebook, Inc. Context-based ranking of search results
JP2013061756A (ja) * 2011-09-13 2013-04-04 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、プログラム及び情報記憶媒体
US8799987B2 (en) * 2011-12-05 2014-08-05 Facebook, Inc. Updating system behavior dynamically using feature expressions and feature loops
WO2013084206A1 (en) * 2011-12-09 2013-06-13 Visual Bearing Limited Web-based social content aggregation and discovery facility
US9355095B2 (en) * 2011-12-30 2016-05-31 Microsoft Technology Licensing, Llc Click noise characterization model
US20140040226A1 (en) * 2012-07-31 2014-02-06 Microsoft Corporation Providing application result and preview

Also Published As

Publication number Publication date
IL238975A (en) 2017-10-31
CN104956365A (zh) 2015-09-30
AU2013352429A1 (en) 2015-06-04
AU2017202596B2 (en) 2018-02-01
MX347986B (es) 2017-05-22
AU2017202596A1 (en) 2017-05-11
JP2016505940A (ja) 2016-02-25
AU2017202596C1 (en) 2018-08-23
IL238975A0 (en) 2015-07-30
MX361475B (es) 2018-12-05
WO2014085341A1 (en) 2014-06-05
BR112015012452A2 (pt) 2017-07-11
CA2891898C (en) 2016-06-21
AU2013352429B2 (en) 2017-03-02
KR101802877B1 (ko) 2017-11-29
EP2738733A1 (en) 2014-06-04
US20140156637A1 (en) 2014-06-05
CA2891898A1 (en) 2014-06-05
KR20160116050A (ko) 2016-10-06
MX2015006811A (es) 2016-01-12
US9195705B2 (en) 2015-11-24
KR102110265B1 (ko) 2020-05-13
US8788487B2 (en) 2014-07-22
CN104956365B (zh) 2018-07-03
US20140250137A1 (en) 2014-09-04
KR20150092198A (ko) 2015-08-12

Similar Documents

Publication Publication Date Title
JP6072287B2 (ja) オンライン・システムにおけるユーザ・アクションに基づいて特徴について照会すること
US9690871B2 (en) Updating features based on user actions in online systems
CA2884201C (en) Customized predictors for user actions in an online system
US11729191B2 (en) Systems and methods for assessing riskiness of a domain
US20180139294A1 (en) Delivering notifications based on prediction of user activity
US20190005409A1 (en) Learning representations from disparate data sets
US10827014B1 (en) Adjusting pacing of notifications based on interactions with previous notifications
US10909454B2 (en) Multi-task neutral network for feed ranking
US20180293611A1 (en) Targeting content based on inferred user interests

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160113

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160113

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160711

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161020

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20161114

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: 20161129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161227

R150 Certificate of patent or registration of utility model

Ref document number: 6072287

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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