JP2019506664A - ディープラーニングモデルを用いたエンティティの識別 - Google Patents

ディープラーニングモデルを用いたエンティティの識別 Download PDF

Info

Publication number
JP2019506664A
JP2019506664A JP2018534041A JP2018534041A JP2019506664A JP 2019506664 A JP2019506664 A JP 2019506664A JP 2018534041 A JP2018534041 A JP 2018534041A JP 2018534041 A JP2018534041 A JP 2018534041A JP 2019506664 A JP2019506664 A JP 2019506664A
Authority
JP
Japan
Prior art keywords
entities
user
entity
vector representation
social networking
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.)
Granted
Application number
JP2018534041A
Other languages
English (en)
Other versions
JP2019506664A5 (ja
JP6689389B2 (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 JP2019506664A publication Critical patent/JP2019506664A/ja
Publication of JP2019506664A5 publication Critical patent/JP2019506664A5/ja
Application granted granted Critical
Publication of JP6689389B2 publication Critical patent/JP6689389B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一実施形態において、方法は、ソーシャルネットワーキング・システムにおいて、ユーザが対話したことのある第1組のエンティティと、第2組のエンティティと、にアクセスする工程を含む。ディープラーニングモデルを用いて、第1組のエンティティの第1組のベクトル表現を決定する。第1組のエンティティから対象エンティティを選択し、対象エンティティのベクトル表現を第1組から削除する。第1組内の残りのベクトル表現を結合して、ユーザのベクトル表現を決定する。ディープラーニングモデルを用いて、第2組のエンティティの第2組のベクトル表現を決定する。ユーザと、対象エンティティおよび第2組のエンティティ内のエンティティそれぞれとの類似度スコアを計算する。ディープラーニングモデルを用いて、類似度スコアに基づいて第2組のエンティティ内のエンティティのベクトル表現を更新する。

Description

本開示は、一般的にディープラーニングモデルを訓練することに関する。
ディープラーニングは、教師ありの設定または教師無しの設定でモデルを訓練することを含む機械学習の一種である。ディープラーニングモデルは、データの表現を学習するために訓練され得る。限定ではなく一例として、ディープラーニングモデルは、強度値のベクトルとしてデータを表現し得る。ディープラーニングモデルは、データの分類に使用され得る。分類は、ディープラーニングモデルを訓練することによって、データポイントが属する一組のカテゴリのうちのどれかを決定することを含む。
特定の実施形態においては、ソーシャルネットワーキング・システムは、ディープラーニングモデルを用いてユーザに関連性があるエンティティを予測することができる。ディープラーニングモデルは、エンティティをベクトル表現にマッピングするように訓練することができる。ユーザのベクトル表現は、ソーシャルネットワーキング・システムにおいてユーザが対話したことのあるエンティティの集合に基づいて決定することができる。特定の実施形態においては、ユーザが対話したことのあるエンティティの集合から対象エンティティを選択して、削除することができる。エンティティ集合内の残りのエンティティのベクトル表現を結合して、ユーザのベクトル表現を求めることができる。ディープラーニングモデルは、対象エンティティを教師信号として使用して訓練することができる。ユーザが対話したことのないエンティティのベクトル表現は、ディープラーニングモデルを用いて決定することができる。エンティティまたはユーザの埋め込みは、それぞれのベクトル表現に基づいて決定することができ、これは、多次元埋め込み空間内の1点の座標に対応することが可能である。埋め込みは、埋め込み空間内のエンティティまたはユーザの表現であることが可能である。埋め込み空間は、1人または複数人のユーザの埋め込みと、複数のエンティティの埋め込みとを含むことができる。これらのユーザおよびエンティティの埋め込みを用いて、任意の数の適切なタスクを行うことができる。限定ではなく、例として、ソーシャルネットワーキング・システムは、ユーザが対話したことがなく、埋め込み空間内のユーザ埋め込みに近接する埋め込みを有する1つまたは複数のエンティティを識別するために、検索アルゴリズムを採用することができる。ソーシャルネットワーキング・システムは、識別されたエンティティがユーザに関連性があると決定することができる。
特定の実施形態においては、識別されたエンティティは、推奨としてユーザのクライアント・システムに送ることができる。識別されたエンティティは、クライアント・システム上で稼働するアプリケーション(たとえば、ソーシャルネットワーキング・システムに関連付けられているメッセージング・プラットフォームまたはアプリケーション)のインタフェースに、提案としてユーザに対して表示することができる。ユーザは、識別されたエンティティの集合から1つまたは複数のエンティティを選択することができ、選択されたエンティティは、限定ではなく、例として、ソーシャルネットワーキング・システムによってホストされるアプリケーション内の別のページにユーザを結びつけることができる。
特定の実施形態においては、エンティティは、ユーザの埋め込みに近接する埋め込み空間で識別されることがあり(たとえば、ユーザを含む検索クエリに応答して)、その埋め込み空間内に埋め込みを有することがある(たとえば、識別されたエンティティがユーザに関連性がある)。ユーザの埋め込みの近くに対応する埋め込みを有し、かつユーザがまだ対話したことのないエンティティは、キャッシュまたは事前キャッシュすることができる。限定ではなく、例として、識別されたエンティティを、それぞれの1人または複数人のユーザ(すなわち、識別されたエンティティの埋め込みの近くに埋め込みを有し、かつ識別されたエンティティとまだ対話したことのない1人または複数人のユーザ)に対してキャッシュまたは事前キャッシュすることができる。キャッシュまたは事前キャッシュは、限定ではなく、例として、1人または複数人の特定のユーザに関して、またはユーザのそれぞれに関して、サーバ側またはクライアント側で実施または実行することができる。キャッシュまたは事前キャッシュにより、エンティティへのアクセスを高速化することが可能である。限定ではなく、例として、エンティティ(たとえば、ユーザに関連性があると決定された識別されたエンティティ)には、それぞれのユーザがそれを要求する場合、またはサーバがユーザ(たとえば、ユーザのクライアント・システム)に推奨(たとえば、識別されたエンティティ)をプッシュする場合、素早くアクセスすることができる。提案される方法を用いることにより、特定のユーザに関連性があるエンティティ(たとえば、コンピューティング・システム(限定ではなく、例として、ソーシャルネットワーキング・システム)の1つまたは複数のデータベース内に格納されるデータ・オブジェクト)を識別することが可能である。識別されたエンティティは、それぞれのユーザ(すなわち、識別されたエンティティに関連性があると決定されたユーザ)によってアクセスされる確率にそれぞれ関連付けることができる。特定の実施形態においては、エンティティは、特定のユーザによってアクセスされる確率が一定の最低確率を超えることに基づいて選択することができる。このようなエンティティをキャッシュまたは事前キャッシュすることは、無用なキャッシュを防ぎ、および/またはデータ・トラフィックを減らし、および/または各エンティティにアクセスする速度もしくはアクセス時間を改善する上で効果的であるだろう。すべてのエンティティ候補(たとえば、数十億のエンティティ)の中から、各検索でエンティティの部分集合のみを関連性があると判断することができる。提案される方法を用いることで、関連性があるエンティティの部分集合をクライアント・システムに送ること、またはクライアント・システムによってキャッシュもしくは事前キャッシュすることができる。本明細書で説明するように、訓練の結果、提案される訓練方法を実行しないでデータにアクセスするよりも、サーバ、クライアント・システムまたは任意の他の適切なコンピューティング・デバイスもしくはプラットフォームは、埋め込み空間により迅速にアクセスすることができる。限定ではなく、例として、ユーザに関連性があると決定された(たとえば、埋め込み空間においてユーザの埋め込みに近接する埋め込みに関連付けられている)エンティティを含め、関連性があるエンティティは、埋め込み空間で検索(たとえば、距離検索)を実行することで、迅速に取得および識別または取得もしくは識別することができる。特定の実施形態においては、エンティティのクラスタリングは、使用される各データベースに基づくことができる。言い換えると、クラスタリングは、データベース固有であることが可能である。関連性があるエンティティのクラスタリングは、限定ではなく、例として、提案される方法に基づいて、ソーシャルネットワーキング・システムの1人または複数人のユーザに対して行うことができる。
特定の実施形態では、複数のエンティティ、複数のエンティティに関連付けられた情報、またはその両方は、限定ではなく一例として、1つまたは複数のデータベースまたはデータストアにデータ・オブジェクトとして格納され得る。これらのデータベースまたはデータストアは、限定ではなく一例として、(例えば、異なる場所、都市、国および/または大陸において)地理的に分散している1つまたは複数のデータセンター内に存在し得る。特定の実施形態では、埋め込み空間を使用して、1人または複数人の特定のユーザ、各ユーザ、ソーシャルネットワーキング・システムの1人または複数人のユーザ、またはそれらの任意の組み合わせに関する1つまたは複数のエンティティの関連性の予測を行うことができ、ユーザはそれぞれ、個々の地理的な場所に位置することができる。関連性があると予測された複数のエンティティおよび対応する情報は、決定された関連性に基づいて、1人または複数のユーザにより近い距離に位置するデータベースに格納され得る。関連性があると判定された複数のエンティティおよび関連する情報は、限定ではなく一例として、1人または複数人のユーザまたは1つまたは複数のクライアント・システムの地理的位置に近い距離にある1つまたは複数のクライアント・システム、1つまたは複数のサーバ、またはそれらの任意の組み合わせにおいて事前キャッシュまたはキャッシュし得る。そのような実施形態は、リモートデータベース間および/またはデータセンター間の負荷および/またはデータ・トラフィックを低減するのに有効であり得る。これらの実施形態は、(例えば、特定の複数のエンティティにアクセスするための)アクセス時間を改善(例えば、低減)することもできる。
特定の実施形態では、さらに複数のエンティティはクラスタリングまたは再クラスタリングされ得る。クラスタリングは、より速い検索結果(すなわち、検索時間の短縮、それにより検索エンジンの負荷の低減)および/または対応するデータネットワークにわたるより少ないデータ・トラフィックをもたらし得る。クラスタは、埋め込み空間内の位置または場所に基づいて、複数のデータストアにわたって格納され得る。この記憶方式は、データアクセス時間および/または検索時間を改善することができる。限定ではなく一例として、埋め込み空間内の個々の位置に基づいて複数のデータストアにわたって複数のエンティティのクラスタを格納することにより、関連する結果を検索するために検索エンジンがより少ないデータストアを検索することができる。さらに、埋め込みをクラスタリングすることによって、埋め込み空間から検索された検索結果は、クラスタリングが実行されていない埋め込み空間から検索結果を検索するアプリケーションと比較して、より正確で/特定的であり得る。その理由は、検索結果は、一般的な高レベルの分類のみならず、エンティティの属性に付加的に基づくものであり得るからである。クライアント・システムは、ユーザに対する適切な検索結果を得るために、より多くの洗練された検索を提示し続ける必要はない。これは、クライアント・システムとサーバとの間のインタラクションの数および強度が減少する可能性があることを意味する。さらに、クラスタリングは、異なるクラスタからの検索結果が意図的に検索結果に引き込まれる可能性があるので、より多様な検索結果を提供することができる。埋め込みの決定がサーバによって実行される特定の実施形態が説明されているが、これは限定ではなく一例であり、クライアント・システムは埋め込み空間内の複数のエンティティの埋め込みの一部または全部を決定し得る。限定ではなく一例として、エンティティはビジュアルコンテンツアイテムであってもよく、ビジュアルコンテンツアイテムの前処理(例えば、ビジュアルコンテンツアイテムの1つまたは複数の属性を決定すること)は、クライアント・システム上で、またはクライアント・システムによって実行され得る。次いで、ユーザに、ビジュアルコンテンツアイテムに対応する1つまたは複数の検索語(例えば、各検索語がビジュアルコンテンツアイテムの1つまたは複数の属性に基づく)が(例えば、クライアント・システムのインタフェースにおいて)提示され得る。ユーザは、(例えば、クライアント・システムまたは個々のプロンプトを発行しているサーバによって)検索語を確認するよう促される。
本明細書で開示される実施形態は単なる例であり、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書で開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてまたは一部を含むか、いずれも含まなくてもよい。本発明による実施形態は、方法、記憶媒体、システム、およびコンピュータ・プログラム製品に向けられた添付の特許請求の範囲に特に開示されており、1つの請求項のカテゴリ、例えば方法で言及された任意の特徴は、別の請求項のカテゴリ、例えばシステムも同様に請求することができる。添付の特許請求の範囲に記載された従属性または参照は、形式的な理由のためにのみ選択される。しかしながら、先の請求項(特に多数項従属性)を意図的に参照した結果生じる主題も同様に請求することができ、その結果、請求項およびその請求項の特徴の任意の組合せが開示され、かつ添付された特許請求の範囲で選択された従属性にかかわらず請求することができる。特許請求することができる主題は、添付の特許請求の範囲に記載されている特徴の組み合わせだけでなく、特許請求の範囲内の特徴の任意の他の組み合わせをも含み、特許請求の範囲に記載された各特徴は、特許請求の範囲内の任意の他の特徴または他の特徴の組み合わせと組み合わせることができる。さらに、本明細書に記載または図示された実施形態および特徴のうちのいずれかは、別個の請求項および/または本明細書に記載または図示される任意の実施形態または特徴との任意の組み合わせまたは添付の特許請求の範囲の特徴との任意の組み合わせ請求することができる。
本発明による一実施形態において、コンピュータ実装方法は、
1つまたは複数のコンピューティング・デバイスによって、
ソーシャルネットワーキング・システムのユーザがそのソーシャルネットワーキング・システムにおいて対話したことのある第1のエンティティ集合(たとえば、1つまたは複数のデータストア内に格納されている第1のデータ・オブジェクト集合)と、
ソーシャルネットワーキング・システム内の第2のエンティティ集合(たとえば、1つまたは複数のデータストア内に格納されている第2のデータ・オブジェクト集合)と、
にアクセスする工程と、
1つまたは複数のコンピューティング・デバイスによって、ディープラーニングモデルを用いて第1のエンティティ集合の第1のベクトル表現集合を決定する工程と、
1つまたは複数のコンピューティング・デバイスによって、第1のエンティティ集合から対象エンティティを選択する工程と、
1つまたは複数のコンピューティング・デバイスによって、第1のベクトル表現集合から対象エンティティのベクトル表現を削除する工程と、
1つまたは複数のコンピューティング・デバイスによって、第1のベクトル表現集合内の残りのベクトル表現を結合して、ユーザのベクトル表現を決定する工程と、
1つまたは複数のコンピューティング・デバイスによって、ディープラーニングモデルを用いて第2のエンティティ集合の第2のベクトル表現集合を決定する工程と、
1つまたは複数のコンピューティング・デバイスによって、
ユーザのベクトル表現と対象エンティティのベクトル表現とを比較することによって、対象エンティティとユーザとの類似度スコア、および
ユーザのベクトル表現と第2のエンティティ集合内のエンティティのベクトル表現とを比較することによって、ユーザと第2のエンティティ集合内のエンティティとの類似度スコア、を計算する工程と、
1つまたは複数のコンピューティング・デバイスによって、ディープラーニングモデルを用いて、類似度スコアに基づいて第2のエンティティ集合内の1つまたは複数のエンティティのベクトル表現を更新する工程と、
を備える。
上記示したように、ベクトル表現の更新は、データアクセス時間の改善もしくは最適化、および遠隔デバイス間のデータ・トラフィックの低減、の両方または一方のために使用または適用することができる。さらなる有利な効果については、たとえば埋め込みに関する上記およびさらに以下の説明を参照する。
ディープラーニングモデルは、たとえば、機械学習モデル、ニューラル・ネットワーク、潜在ニューラル・ネットワーク、任意の他の適切なディープラーニングモデル、またはその任意の組合せにすることが可能であり、上記および以下の説明を参照する。
たとえば、本明細書で説明する実施形態のディープラーニングモデルの使用性は、提案される方法の発見の1つであり、ユーザおよびエンティティの両方または一方のベクトル表現に関連してディープラーニングモデルを使用することは、特に、たとえばソーシャルネットワーキング・データベースによって、またはソーシャルネットワーキング・データベースにおいて使用される大規模データベースでは、データアクセスの改善およびデータ・トラフィックの低減の両方または一方に特に効果があることが明らかになった。
類似度スコアは、エンティティ同士およびエンティティとユーザ表現との間またはエンティティ同士もしくはエンティティとユーザ表現との間の類似度を表すパラメータである。
本発明による実施形態において、方法は、
1つまたは複数のコンピューティング・デバイスによって、ユーザ、第1のエンティティ集合の各エンティティ、および第2のエンティティ集合の各エンティティの埋め込みを決定する工程をさらに備えることができ、
各埋め込みは、多次元埋め込み空間内の1点に対応し、
埋め込み空間は、複数のエンティティに対応する複数の点を備え、
各埋め込みは、ディープラーニングモデルを用いて決定されたそれぞれのベクトル表現に基づく。
埋め込み空間は、たとえば多次元空間、たとえばd次元空間にすることができ、ここで、dは、容量を制御するハイパーパラメータ、たとえば自然数であり、エンティティの埋め込みに対応する複数の点を含むことができる。本明細書で使用されるとき、エンティティの埋め込みとは、埋め込み空間内のエンティティの表現をいうことがある。
実施形態において、ディープラーニングモデル(たとえば、ニューラル・ネットワーク)は、エンティティを
のベクトルにマッピングするように構成される1つまたは複数のインデックスを含むことができ、ここで、
は実数の集合を示し、dは、容量を制御するハイパーパラメータ、たとえば自然数である。ベクトルは、d次元強度ベクトルにすることができる。本明細書で使用するとき、強度値は、−1から1までの範囲内の任意の適切な値にすることができる。エンティティのベクトル表現のそれぞれは、埋め込み空間内のそれぞれの点に座標を提供することができる。
特定の実施形態においては、ディープラーニングモデルは、エンティティをベクトル表現にマッピングするように訓練された1つまたは複数のインデックスを含むことができる。
特定の実施形態においては、たとえば選択した数のエンティティのうちのもう1つのエンティティおよび/またはエンティティのグループおよび/または各エンティティ、またはそれぞれのベクトル表現(たとえば、1対1のマッピング)は、たとえばソーシャルネットワーキング・システムによって、限定ではなく、例として、ディープラーニングモデルを用いて生成されるディクショナリを使用してマッピングすることができる。
本発明による一実施形態においては、方法は、1つまたは複数のコンピューティング・デバイスによって、対象エンティティおよび第2のエンティティ集合の各エンティティに、類似度スコアに基づいてそれぞれのランキングを割り当てる工程をさらに備えることができ、第2のエンティティ集合のうちの1つまたは複数のエンティティのベクトル表現を更新する工程は、さらにランキングに基づくことができる。
第2のエンティティ集合のうち、ベクトル表現が更新された1つまたは複数のエンティティのそれぞれは、オプションで、対象エンティティの類似度スコアよりも大きい類似度スコアを有することができる。本明細書で使用されるモデルにおいて、類似度スコアが高いほど、比較されるエンティティおよびユーザ表現の両方または一方に、より類似している。たとえば、類似度スコアが第2エンティティより高い第1エンティティは、第2エンティティよりもユーザ表現に類似している。
本発明による一実施形態において、方法は、埋め込み空間に検索アルゴリズムを適用することによって、複数のエンティティの中からユーザに関連性があるとして1つまたは複数のエンティティを識別する工程をさらに備えることができ、識別されたエンティティの1つまたは複数の埋め込みに対応する点は、埋め込み空間においてユーザの埋め込みに対応する点の閾値距離内にすることができる。
本発明による一実施形態において、方法は、ユーザに対して表示するために、1つまたは複数の識別されたエンティティを、ユーザのクライアント・システムに送信する工程をさらに含むことができる。
対象エンティティはランダムに選択することができる。
ユーザは、ソーシャルネットワーキング・システムにおいて第2のエンティティ集合と対話したことがないかもしれない。
ソーシャルネットワーキング・システムは、複数のノードと、ノード同士をつなげる複数のエッジとを含むソーシャルグラフを備えることができ、2つのノード間のエッジのそれぞれが、それらの間の1次の隔たり度を表し、ノードが、
ユーザに対応する第1のノードと、
それぞれが各エンティティに対応する複数の第2のノードと、を備える。
ソーシャルネットワーキング・システムのソーシャルグラフ・データベースのノードおよびエッジの両方または一方は、本明細書で述べるエンティティとして使用することができる。
ユーザは、ユーザのソーシャルネットワーキング・アクションによって第1のエンティティ集合と対話したことがあることがあり、ソーシャルネットワーキング・アクションは、第1のノードと、第1のエンティティ集合のそれぞれのエンティティに対応する各第2のノードとに関して取られる。
ソーシャルネットワーキング・アクションは、エンティティに対するアフィニティの表明を表すことができる。
エンティティのうちの少なくとも1つは、ソーシャルネットワーキング・システムによってホストされるページを備えることができる。
ベクトル表現はd次元強度ベクトルを備えることができる。
本発明による一実施形態においては、1つまたは複数のコンピュータ可読非一時的記憶媒体は、実行時、
ソーシャルネットワーキング・システムにおいてソーシャルネットワーキング・システムのユーザが対話したことのある第1のエンティティ集合と、
ソーシャルネットワーキング・システム内の第2のエンティティ集合と、にアクセスする工程と、
ディープラーニングモデルを用いて、第1のエンティティ集合の第1のベクトル表現集合を決定する工程と、
第1のエンティティ集合から対象エンティティを選択する工程と、
第1のベクトル表現集合から、対象エンティティのベクトル表現を削除する工程と、
第1のベクトル表現集合内の残りのベクトル表現を結合して、ユーザのベクトル表現を決定する工程と、
ディープラーニングモデルを用いて、第2のエンティティ集合の第2のベクトル表現集合を決定する工程と、
ユーザのベクトル表現を対象エンティティのベクトル表現と比較することによって、対象エンティティとユーザとの類似度スコア、および
ユーザのベクトル表現を第2のエンティティ集合内のエンティティのベクトル表現と比較することによって、ユーザと第2のエンティティ集合内のエンティティとの類似度スコア、を計算する工程と、
ディープラーニングモデルを用いて、類似度スコアに基づいて第2のエンティティ集合内の1つまたは複数のエンティティのベクトル表現を更新する工程と、を行うように動作可能であるソフトウェアを備えることができる。
利点および有利な効果ならびにさらなる実施形態、の両方または一方に関しては、方法に関する上記の説明を参照し、これを準用するものとする。
ソフトウェアは、実行時、
ユーザ、第1のエンティティ集合の各エンティティ、および第2のエンティティ集合の各エンティティの埋め込みを決定する工程を行うようにさらに動作可能にすることができ、
各埋め込みが、多次元埋め込み空間内の1点に対応し、
埋め込み空間は複数のエンティティに対応する複数の点を備え、
各埋め込みはディープラーニングモデルを用いて決定されたそれぞれのベクトル表現に基づく。
ソフトウェアは、実行時、対象エンティティと第2のエンティティ集合の各エンティティとに、類似度スコアに基づいてそれぞれのランキングを割り当てる工程を行うようにさらに動作可能にすることができ、第2のエンティティ集合のうちの1つまたは複数のエンティティのベクトル表現を更新する工程は、さらにランキングに基づくことができる。
本発明による一実施形態において、システムは、1つまたは複数のプロセッサと、プロセッサに連結されてプロセッサによって実行可能な命令を含むメモリとを備えることができ、プロセッサは、命令の実行時、
ソーシャルネットワーキング・システムにおいてソーシャルネットワーキング・システムのユーザが対話したことのある第1のエンティティ集合と、
ソーシャルネットワーキング・システム内の第2のエンティティ集合と、にアクセスする工程と、
ディープラーニングモデルを用いて、第1のエンティティ集合の第1のベクトル表現集合を決定する工程と、
第1のエンティティ集合から対象エンティティを選択する工程と、
第1のベクトル表現集合から対象エンティティのベクトル表現を削除する工程と、
第1のベクトル表現集合内の残りのベクトル表現を結合して、ユーザのベクトル表現を決定する工程と、
ディープラーニングモデルを用いて、第2のエンティティ集合の第2のベクトル表現集合を決定する工程と、
ユーザのベクトル表現を対象エンティティのベクトル表現と比較することによって、対象エンティティとユーザとの類似度スコア、および
ユーザのベクトル表現を第2のエンティティ集合内のエンティティのベクトル表現と比較することによって、ユーザと第2のエンティティ集合内のエンティティとの類似度スコア、を計算する工程と、
ディープラーニングモデルを用いて、類似度スコアに基づいて、第2のエンティティ集合内の1つまたは複数のエンティティのベクトル表現を更新する工程とを行うように動作可能である。
利点および有利な効果ならびにさらなる実施形態の両方または一方に関しては、方法に関する上記の説明を参照し、これを準用するものとする。
プロセッサは、命令の実行時、
ユーザ、第1のエンティティ集合の各エンティティ、および第2のエンティティ集合の各エンティティの埋め込みを決定する工程を行うようにさらに動作可能にすることができ、
各埋め込みは、多次元埋め込み空間内の1点に対応し、
埋め込み空間は、複数のエンティティに対応する複数の点を備え、
各埋め込みは、ディープラーニングモデルを用いて決定されたそれぞれのベクトル表現に基づく。
プロセッサは、命令の実行時、対象エンティティおよび第2のエンティティ集合の各エンティティに、類似度スコアに基づいてそれぞれのランキングを割り当てる工程を行うようにさらに動作可能にすることができ、第2のエンティティ集合のうちの1つまたは複数のエンティティのベクトル表現を更新する工程は、さらにランキングに基づくことができる。
本発明によるさらなる実施形態においては、1つまたは複数のコンピュータ可読非一時的記憶媒体は、実行時、本発明による方法または前述の実施形態のいずれかを行うように動作可能なソフトウェアを備える。
本発明によるさらなる実施形態において、システムは、1つまたは複数のプロセッサと、プロセッサに連結されておりプロセッサによって実行可能な命令を含む少なくとも1つのメモリとを備え、プロセッサは、命令の実行時、本発明による方法または前述の実施形態のいずれかを行うように動作可能である。
本発明によるさらなる実施形態においては、好ましくはコンピュータ可読非一時的記憶媒体を備えるコンピュータ・プログラム製品は、データ処理システム上での実行時、本発明による方法または前述の実施形態のいずれかを行うように動作可能である。
ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す。 例示的なソーシャルグラフを示す。 例示的なディープラーニングモデルを示す。 エンティティをベクトル表現にマッピングする例示的なディクショナリを示す。 ディープラーニングモデルを用いて、ユーザの埋め込みを決定するための例示的な方法を示す。 ディープラーニングモデルを訓練するための例示的な方法を示す。 埋め込み空間の例示的な図を示す。 ディープラーニングモデルを用いてエンティティのベクトル表現を更新するための例示的な方法を示す。 例示的なコンピュータシステムを示す。
システムの概要
図1は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示している。ネットワーク環境100は、ネットワーク110によって互いにつながっているクライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を含む。図1は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示しているが、本開示は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、ネットワーク110を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図1は、特定の数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示しているが、本開示は、任意の適切な数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を想定している。限定ではなく、例として、ネットワーク環境100は、複数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含むことができる。
本開示は、任意の適切なネットワーク110を想定している。限定ではなく、例として、ネットワーク110の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク110は、1つまたは複数のネットワーク110を含むことができる。
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続することができる。本開示は、任意の適切なリンク150を想定している。特定の実施形態においては、1つまたは複数のリンク150は、1つもしくは複数の有線リンク(たとえば、デジタルサブスクライバライン(DSL)もしくはデータオーバケーブルサービスインタフェース仕様(DOCSIS)など)、ワイヤレスリンク(たとえば、Wi−Fiもしくはワールドワイドインターオペラビリティーフォーマイクロウェーブアクセス(WiMAX)など)、または光リンク(たとえば、同期光ネットワーク(SONET)もしくは同期デジタル階層(SDH)など)を含む。特定の実施形態においては、1つまたは複数のリンク150はそれぞれ、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラーテクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク150、または複数のそのようなリンク150の組合せを含む。リンク150は、ネットワーク環境100の全体を通じて必ずしも同じである必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の点において1つまたは複数の第2のリンク150とは異なることが可能である。
特定の実施形態においては、クライアント・システム130は、クライアント・システム130によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジックコンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアント・システム130は、デスクトップコンピュータ、ノートブックコンピュータもしくはラップトップコンピュータ、ネットブック、タブレットコンピュータなどのコンピュータシステム、eブックリーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、拡張現実デバイス/仮想現実デバイスその他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム130を想定している。クライアント・システム130は、クライアント・システム130のネットワークユーザがネットワーク110にアクセスすることを可能にすることができる。クライアント・システム130は、自分のユーザがその他のクライアント・システム130のその他のユーザと通信することを可能にすることができる。
特定の実施形態においては、クライアント130は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOX(いずれも登録商標)などのウェブブラウザ132を含むことができ、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBAR(登録商標)などのその他の拡張を有することができる。クライアント・システム130のユーザは、ウェブブラウザ132を特定のサーバ(サーバ162、またはサードパーティ・システム170に関連付けられているサーバなど)へ導くユニフォームリソースロケータ(URL)またはその他のアドレスを入力することができ、ウェブブラウザ132は、ハイパーテキスト転送プロトコル(HTTP)要求を生成して、そのHTTP要求をサーバに通信することができる。サーバは、そのHTTP要求を受け入れて、そのHTTP要求に応答して1つまたは複数のハイパーテキストマークアップ言語(HTML)ファイルをクライアント・システム130に通信することができる。クライアント・システム130は、ユーザに提示するためにサーバからのHTMLファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパーテキストマークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで書かれたスクリプトなどのスクリプト、AJAX(Asynchronous JAVASCRIPT(登録商標) and XML)などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、(そのウェブページをレンダリングするためにブラウザが使用することができる)1つまたは複数の対応するウェブページファイルを含み、その逆もまた同様である。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであることが可能である。ソーシャルネットワーキング・システム160は、たとえば、ユーザプロフィールデータ、コンセプトプロフィールデータ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキングデータを生成すること、格納すること、受け取ること、および送信することが可能である。ソーシャルネットワーキング・システム160は、ネットワーク環境100のその他のコンポーネントによって直接、またはネットワーク110を介してアクセスされることが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のサーバ162を含むことができる。それぞれのサーバ162は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ162は、限定ではなく、例として、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、Exchangeサーバ、データベースサーバ、プロキシサーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ162は、サーバ162によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジックコンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のデータストア164を含むことができる。データストア164は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施形態においては、データストア164内に格納されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータストア164は、リレーショナルデータベース、行のデータベース、相関関係データベース、あるいはその他の適切なデータベースであることが可能である。本開示は特定のタイプのデータベースを記述し、例示するが、本開示においては、任意の適切なタイプのデータベースが考えられる。特定の実施形態は、クライアント・システム130、ソーシャルネットワーキング・システム160、またはサードパーティ・システム170が、データストア164内に格納されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインタフェースを提供することができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャルグラフを1つまたは複数のデータストア164内に格納することができる。特定の実施形態においては、ソーシャルグラフは、複数のノード(複数のユーザ・ノード(それぞれが、特定のユーザに対応している)、または複数のコンセプト・ノード(それぞれが、特定のコンセプトに対応している)を含むことができる)と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャルネットワーキング・システム160を介してオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキング・システム160のその他の複数のユーザへのつながり(すなわち、関係)を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャルネットワーキング・システム160を介して、つながり、関連付け、または関係を形成しているソーシャルネットワーキング・システム160のその他の任意のユーザを指すことができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供することができる。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキング・システム160のユーザが属することが可能であるグループもしくはソーシャルネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダーエントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキング・システム160において、またはサードパーティ・システム170の外部システム(ソーシャルネットワーキング・システム160とは別個のものであって、ネットワーク110を介してソーシャルネットワーキング・システム160に結合されている)によって表されることが可能である任意のものと対話することができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソーシャルネットワーキング・システム160は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム170もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーションプログラミングインタフェース(API)もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
特定の実施形態においては、サードパーティ・システム170は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータストア、1つもしくは複数のインタフェース(APIを含むが、それには限定されない)、1つもしくは複数のウェブサービス、1つもしくは複数のコンテンツソース、1つもしくは複数のネットワーク、または(たとえば、サーバと通信することができる)その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム170は、ソーシャルネットワーキング・システム160を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・システム160およびサードパーティ・システム170は、ソーシャルネットワーキング・システム160またはサードパーティ・システム170のユーザにソーシャルネットワーキングサービスを提供するために互いに連携して機能することができる。この意味において、ソーシャルネットワーキング・システム160は、サードパーティ・システム170などのその他のシステムがインターネットを介してソーシャルネットワーキングサービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
特定の実施形態においては、サードパーティ・システム170は、サードパーティコンテンツオブジェクトプロバイダを含むことができる。サードパーティコンテンツオブジェクトプロバイダは、コンテンツオブジェクトの1つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム130に通信されることが可能である。限定ではなく、例として、コンテンツオブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテンツオブジェクトは、インセンティブコンテンツオブジェクト、たとえば、クーポン、ディスカウントチケット、ギフト券、またはその他の適切なインセンティブオブジェクトを含むことができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160はまた、ユーザによって生成されたコンテンツオブジェクトを含み、それらのコンテンツオブジェクトは、ソーシャルネットワーキング・システム160とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキング・システム160に付加、アップロード、送信、または「ポスト」することができる任意のものを含むことができる。限定ではなく、例として、ユーザは、クライアント・システム130からソーシャルネットワーキング・システム160へポストを通信する。ポストは、ステータス更新もしくはその他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキング・システム160に付加されることも可能である。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ウェブサーバ、アクションロガー、API要求サーバ、関連性およびランキングエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクト露出ログ、推測モジュール、認可/プライバシーサーバ、検索モジュール、広告ターゲティングモジュール、ユーザインタフェースモジュール、ユーザプロフィールストア、つながりストア、サードパーティコンテンツストア、またはロケーションストアのうちの1つまたは複数を含むことができる。ソーシャルネットワーキング・システム160は、適切なコンポーネント、たとえば、ネットワークインタフェース、セキュリティーメカニズム、ロードバランサ、フェイルオーバサーバ、管理およびネットワークオペレーションコンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザプロフィールを格納するための1つまたは複数のユーザプロフィールストアを含むことができる。ユーザプロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、1つまたは複数のカテゴリに関連した関心を含むことができる。カテゴリは、一般的または具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね!」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を格納するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループメンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ(内部および外部の両方)の間におけるユーザ定義のつながりを含むこともできる。ネットワーク110を介してソーシャルネットワーキング・システム160を1つもしくは複数のクライアント・システム130または1つもしくは複数のサードパーティ・システム170にリンクさせるために、ウェブサーバが使用されることが可能である。ウェブサーバは、ソーシャルネットワーキング・システム160と、1つまたは複数のクライアント・システム130との間においてメッセージを受け取って回送するためにメールサーバまたはその他のメッセージング機能を含むことができる。API要求サーバは、サードパーティ・システム170が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキング・システム160からの情報にアクセスすることを可能にすることができる。ソーシャルネットワーキング・システム160の上のまたは外のユーザのアクションに関してウェブサーバから通信を受け取るために、アクションロガーが使用されることが可能である。アクションログとともに、サードパーティコンテンツオブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクトログが保持されることが可能である。通知コントローラは、コンテンツオブジェクトに関する情報をクライアント・システム130に提供することができる。情報は、通知としてクライアント・システム130へプッシュされることが可能であり、または情報は、クライアント・システム130から受け取られた要求に応答してクライアント・システム130からプルされることが可能である。ソーシャルネットワーキング・システム160のユーザの1つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを特定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキング・システム160によって記録されること、またはその他のシステム(たとえば、サードパーティ・システム170)と共有されることのオプトインまたはオプトアウトを行うことを可能にすることができる。サードパーティ・システム170などのサードパーティから受け取られたコンテンツオブジェクトを格納するために、サードパーティコンテンツオブジェクトストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム130から受け取られたロケーション情報を格納するために、ロケーションストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
ソーシャルグラフ
図2は、例示的なソーシャルグラフ200を示している。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャルグラフ200を1つまたは複数のデータストア内に格納することができる。特定の実施形態においては、ソーシャルグラフ200は、複数のノード(複数のユーザ・ノード202、または複数のコンセプト・ノード204を含むことができる)と、ノード同士をつなげる複数のエッジ206とを含むことができる。図2において示されている例示的なソーシャルグラフ200は、教示上の目的から、2次元のビジュアルマップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキング・システム160、クライアント・システム130、またはサードパーティ・システム170は、適切なアプリケーションに関してソーシャルグラフ200および関連したソーシャルグラフ情報にアクセスすることができる。ソーシャルグラフ200のノードおよびエッジは、データ・オブジェクトとして、たとえば(ソーシャルグラフ・データベースなどの)データストア内に格納されることが可能である。そのようなデータストアは、ソーシャルグラフ200のノードまたはエッジの1つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
特定の実施形態においては、ユーザ・ノード202は、ソーシャルネットワーキング・システム160のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネス、もしくはサードパーティアプリケーション)、または(たとえば、個人もしくはエンティティの)グループであることが可能である。特定の実施形態においては、あるユーザがソーシャルネットワーキング・システム160とのアカウントに登録した場合には、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード202を作成し、そのユーザ・ノード202を1つまたは複数のデータストア内に格納することができる。本明細書において記述されているユーザおよびユーザ・ノード202は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード202を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード202は、適切な場合には、ソーシャルネットワーキング・システム160に登録されていないユーザを指すことができる。特定の実施形態においては、ユーザ・ノード202は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード202は、ユーザに関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード202は、1つまたは複数のウェブページに対応することができる。
特定の実施形態においては、コンセプト・ノード204は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワークシステム160に関連付けられているウェブサイト、もしくはウェブアプリケーションサーバに関連付けられているサードパーティウェブサイトなど)、エンティティ(たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャルネットワーキング・システム160内に、もしくはウェブアプリケーションサーバなどの外部サーバ上に配置されることが可能であるリソース(たとえば、オーディオファイル、ビデオファイル、デジタル写真、テキストファイル、構造化されたドキュメント、もしくはアプリケーションなど)、物的もしくは知的財産(たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など)、ゲーム、アクティビティ、アイディアもしくは理論、拡張現実環境/仮想現実環境におけるオブジェクト、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード204は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数のイメージ(たとえば、本の表紙のイメージ)、ロケーション(たとえば、住所もしくは地理的位置)、(URLに関連付けられることが可能である)ウェブサイト、連絡先情報(たとえば、電話番号もしくはEメールアドレス)、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード204は、コンセプト・ノード204に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード204は、1つまたは複数のウェブページに対応することができる。
特定の実施形態においては、ソーシャルグラフ200内のノードは、ウェブページ(「プロフィール・ページ」と呼ばれる場合もある)を表すこと、またはウェブページによって表されることが可能である。プロフィール・ページは、ソーシャルネットワーキング・システム160によってホストされること、またはソーシャルネットワーキング・システム160にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティサーバ170に関連付けられているサードパーティウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード204に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード202は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプト・ノード204は、対応するコンセプトプロフィールページを有することができ、そのコンセプトプロフィールページにおいては、1人または複数のユーザが、特にコンセプト・ノード204に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
特定の実施形態においては、コンセプト・ノード204は、サードパーティ・システム170によってホストされているサードパーティウェブページまたはリソースを表すことができる。サードパーティウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す(たとえば、JAVASCRIPT(登録商標)、AJAX、もしくはPHPコードで実装されることが可能である)その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティウェブページは、「いいね!」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティウェブページを閲覧しているユーザは、それらのアイコンのうちの1つ(たとえば、「チェックイン」)を選択することによってアクションを実行して、クライアント・システム130に、そのユーザのアクションを示すメッセージをソーシャルネットワーキング・システム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、ユーザに対応するユーザ・ノード202と、サードパーティウェブページまたはリソースに対応するコンセプト・ノード204との間においてエッジ(たとえば、「チェックインタイプ」エッジ)を作成して、エッジ206を1つまたは複数のデータストア内に格納することができる。
特定の実施形態においては、ソーシャルグラフ200内の1対のノードが、1つまたは複数のエッジ206によって互いにつながることが可能である。1対のノードをつなげるエッジ206は、それらの1対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ206は、1対のノードの間における関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャルネットワーキング・システム160は、「友達要求」を第2のユーザに送信することができる。第2のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキング・システム160は、ソーシャルグラフ200内で第1のユーザのユーザ・ノード202を第2のユーザのユーザ・ノード202につなげるエッジ206を作成して、エッジ206をソーシャルグラフ情報としてデータストア164のうちの1つまたは複数の中に格納することができる。図2の例においては、ソーシャルグラフ200は、ユーザ「A」のユーザ・ノード202と、ユーザ「B」のユーザ・ノード202との間における友達関係を示すエッジ206と、ユーザ「C」のユーザ・ノード202と、ユーザ「B」のユーザ・ノード202との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード202同士をつなげる特定の属性を伴う特定のエッジ206を記述している、または示しているが、本開示は、ユーザ・ノード202同士をつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。限定ではなく、例として、エッジ206は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係(例えば、「いいね」他を含む)、フォロワー関係、ビジター関係(例えば、アクセスすること、視聴すること、チェックインすること、共有すること、他を含む)、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、1つまたは複数のエッジ206によってソーシャルグラフ200内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を指すことができる。
特定の実施形態においては、ユーザ・ノード202とコンセプト・ノード204との間におけるエッジ206は、ユーザ・ノード202に関連付けられているユーザによって、コンセプト・ノード204に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図2において示されているように、ユーザは、コンセプトに対して「いいね!を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジタイプまたはサブタイプに対応することができる。コンセプト・ノード204に対応するコンセプトプロフィールページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに加える」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の曲(例えば「イマジン」)を聴く場合がある。このケースにおいては、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード202と、その曲およびアプリケーションに対応するコンセプト・ノード204との間において、(図2に示されているような)「聴いた」エッジ206および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示すことができる。その上、ソーシャルネットワーキング・システム160は、その曲に対応するコンセプト・ノード204と、そのアプリケーションに対応するコンセプト・ノード204との間において、(図2に示されているような)「再生した」エッジ206を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示すことができる。このケースにおいては、「再生した」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオファイル(「イマジン」という曲)に関して実行されたアクションに対応する。本開示は、ユーザ・ノード202とコンセプト・ノード204とをつなげる特定の属性を伴う特定のエッジ206について記述しているが、本開示は、ユーザ・ノード202とコンセプト・ノード204とをつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。その上、本開示は、単一の関係を表すユーザ・ノード202とコンセプト・ノード204との間におけるエッジについて記述しているが、本開示は、1つまたは複数の関係を表すユーザ・ノード202とコンセプト・ノード204との間におけるエッジを想定している。限定ではなく、例として、エッジ206は、ユーザが特定のコンセプトに対して「いいね!」を表明しているということ、およびその特定のコンセプトを使用したということの両方を表すことができる。あるいは、別のエッジ206は、(図2において、ユーザ「E」を表すユーザ・ノード202と、「SPOTIFY」を表すコンセプト・ノード204との間において示されているような)ユーザ・ノード202とコンセプト・ノード204との間におけるそれぞれのタイプの関係(または、単一の関係が複数集まったもの)を表すことができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシャルグラフ200内でユーザ・ノード202とコンセプト・ノード204との間においてエッジ206を作成することができる。限定ではなく、例として、(たとえば、ユーザのクライアント・システム130によってホストされているウェブブラウザまたは専用のアプリケーションを使用することなどによって)コンセプトプロフィールページを閲覧しているユーザは、「いいね!」アイコンをクリックまたは選択することにより、コンセプト・ノード204によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね!」アイコンをクリックまたは選択することは、ユーザのクライアント・システム130に、そのコンセプトプロフィールページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャルネットワーキング・システム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、そのユーザとコンセプト・ノード204との間における「いいね!」エッジ206によって示されているように、そのユーザに関連付けられているユーザ・ノード202とコンセプト・ノード204との間においてエッジ206を作成することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、エッジ206を1つまたは複数のデータストア内に格納することができる。特定の実施形態においては、エッジ206は、特定のユーザ・アクションに応答してソーシャルネットワーキング・システム160によって自動的に形成されることが可能である。限定ではなく、例として、第1のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ206は、第1のユーザに対応するユーザ・ノード202と、それらのコンセプトに対応するコンセプト・ノード204との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ206を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ206を形成することを想定している。
ディープラーニングモデルの訓練
特定の実施形態は、ディープラーニングモデルを用いて、ユーザに関連性があるとして1つまたは複数のエンティティを識別する。特定の実施形態においては、エンティティは、ソーシャルグラフ200内のコンセプト・ノード204またはユーザ・ノード202によって表すことのできる任意の適切なエンティティ(たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人)であることが可能である。特定の実施形態においては、エンティティは、限定ではなく、例として、ソーシャルネットワーキング・システム160によってホストされるページ(たとえば、プロフィール・ページ、場所ページ、企業ページ)、テキスト・コンテンツ(たとえば、1つまたは複数のnグラム)、ビジュアル・コンテンツ(たとえば、1つまたは複数の画像)、オーディオ・コンテンツ(たとえば、1つまたは複数の音声録音)、ビデオ・コンテンツ(たとえば、1つまたは複数のビデオ・クリップ)、ラベル(たとえば、ステッカーまたはハッシュタグ)、任意の他の適切な種類のコンテンツ、任意の他の適切なエンティティ、またはその任意の組合せにすることができる。本明細書で使用されるとき、ラベルは、文字(letter)もしくは言葉の使用の有無に関係なくアイディアもしくは物事をそれぞれ表すことができる、ハッシュタグ、絵文字、ステッカー、表意文字、任意の他の適切なテキスト注釈、任意の他の適切な文字(character)、記号、もしくは画像、またはその組合せにすることができる。本明細書で使用するとき、ハッシュタグは、前に「#」の文字(character)を付けた自然言語のnグラムもしくは略語(たとえば、#感謝)からなる単一トークンであることがある。本明細書で使用するとき、nグラムは、言葉もしくは言葉のグループ、会話の任意の部分、句読点(たとえば、「!」)、口語的表現(たとえば、「頭にくる」)、頭字語(たとえば、「BRB(すぐ戻る)」)、略語(たとえば、「mgmt(マネジメント)」)、感嘆詞(「うわっ」)、英数字、記号、書かれた文字(written character)、アクセント記号、またはその任意の組合せにすることができる。
図3は、例示的なディープラーニングモデル310である。ディープラーニングモデル310は、機械学習モデル、ニューラル・ネットワーク、潜在ニューラル・ネットワーク、任意の他の適切なディープラーニングモデル、またはその組合せにすることができる。特定の実施形態においては、ディープラーニングモデル310は、複数の抽象レイヤを有することができる。入力302、304、306および308は、任意の適切な数のエンティティにすることができる。出力312は、1つまたは複数のエンティティの埋め込みにすることができる。埋め込み空間は、多次元空間(たとえば、d次元、ここで、dは、容量を制御するハイパーパラメータである)にすることができ、エンティティの埋め込みに対応する複数の点を含むことができる。本明細書で使用するとき、エンティティの埋め込みとは、埋め込み空間内のエンティティの表現をいう。図3には特定の数の入力エンティティ302、304、306および308を示しているが、ディープラーニングモデル310は、任意の適切な数の入力エンティティ302、304、306および308について、エンティティの埋め込みを生成することができる。
特定の実施形態においては、ディープラーニングモデル310(たとえば、ニューラル・ネットワーク)は、エンティティを
のベクトルにマッピングする1つまたは複数のインデックスを含むことができ、ここで、
は実数の集合を示し、dは、容量を制御するハイパーパラメータである。ベクトルは、d次元強度ベクトルにすることができる。本明細書で使用するとき、強度値は、−1から1までの範囲の任意の適切な値にすることができる。エンティティのベクトル表現のそれぞれは、埋め込み空間内のそれぞれの点に座標を与えることができる。図3では、特定の数の入力エンティティ302、304、306および308を示しているが、ディープラーニングモデル310は、任意の適切な数のエンティティ302、304、306および308とベクトル表現とのマッピングを提供することができる。
ディープラーニングモデル310は、エンティティの最適な埋め込みを生成するように訓練することができる。ディープラーニングモデル310は、1つまたは複数のインデックス(すなわち、ディクショナリ)を含むことができ、これは、ディープラーニングモデル310が訓練されると動的に更新されることが可能である。1つまたは複数のインデックスは、ディープラーニングモデル310の訓練段階中に生成することができる。特定の実施形態においては、ディープラーニングモデルは、エンティティをベクトル表現にマッピングするように訓練された1つまたは複数のインデックスを含むことができる。ディープラーニングモデル310は、たとえば、ニューラル・ネットワークまたは潜在ニューラル・ネットワークにすることができる。ディープラーニングモデル310は、ランダム分布を用いて初期化することができる。すなわち、ディープラーニングモデル310は、当初、ランダムに割り当てられたマッピングを有することができる(すなわち、エンティティ302、304、306および308の埋め込みが生成される基となる、エンティティ302、304、306および308とベクトル表現とのマッピング)。限定ではなく、例として、ランダム分布は、ガウス分布にすることができる。訓練の結果、ディープラーニングモデル310の1つまたは複数のインデックスが、初期のマッピングよりも最適なマッピングを生成することができる。
特定の実施形態においては、ディープラーニングモデル310は、同時係属出願の、2015年11月23日に出願された米国特許出願第14/949436号明細書、および2015年11月5日に出願された米国特許出願第62/251352号明細書に記述されるディープラーニングモデルの特徴のうちの1つまたは複数を有することができ、同出願を参照により本書に援用する。
本開示は、ソーシャルネットワーキング・システム160によって実施される図3の特定の実施形態を記述し、示しているが、本開示は、任意の適切なプラットフォームまたはシステムによって実施される図3の任意の適切な実施形態を想定している。限定ではなく、例として、図3の特定の実施形態は、クライアント・システム130、サードパーティ・システム170または任意の他の適切なシステムによって実施することができる。また、本開示は、図3の方法の特定の工程を行う特定のコンポーネント、デバイスまたはシステムを記述し、示しているが、本開示は、図3の方法の任意の適切な工程を行う任意の適切なコンポーネント、デバイスまたはシステムの任意の適切な組合せを想定している。
図4は、エンティティ402、404、406および408をベクトル表現412、414、416および418にマッピングする例示的なディクショナリ400を示す。エンティティ402、404、406および408は、限定ではなく、例として、ソーシャルネットワーキング・システム160によってホストされるページにすることができる。特定の実施形態においては、ディクショナリ400は、ソーシャルネットワーキング・システム160によって生成することができる。特定の実施形態においては、ディクショナリ400は、エンティティを
のベクトルにマッピングすることができ、ここで、
は実数の集合を示し、dは、容量を制御するハイパーパラメータである。ベクトル表現412、414、416および418は、d次元強度ベクトルにすることができる。本明細書で使用するとき、強度値(intensity value)は、−1から1までの範囲の任意の適切な値にすることができる。限定ではなく例示のために、図4では、例示的なベクトル表現412、414、416および418の強度値をパターンとして描いている。たとえば、ディクショナリ400は、エンティティ402をベクトル表現412にマッピングしているが、これは、ディクショナリ400において、ページ402に隣接するさまざまなパターンのセルの一番上の行として示される。ディクショナリ400は、特定のサイズ(すなわち、寸法)に描かれているが、これは単なる例示的なものであり、限定するものではない。ディクショナリ400は、任意の適切なサイズをもつことができる。ディクショナリ400は、任意の適切な数のエンティティとベクトル表現とのマッピングを提供することができる。
ディクショナリ400を使用して決定されたエンティティのベクトル表現のそれぞれは、埋め込み空間(embedding space)内のそれぞれの点に座標を提供することができる。埋め込み空間は、多次元空間(たとえば、d次元)にすることができ、エンティティ埋め込みに対応する複数の点を含むことができる。本明細書で使用するとき、エンティティ埋め込みとは、エンティティのベクトル表現(たとえば、ディクショナリ400を使用して決定される)に基づいた、埋め込み空間内のエンティティの表現をいう。各エンティティ埋め込みは、埋め込み空間内のそれぞれの点に対応することができる。特定の実施形態においては、各エンティティは、エンティティ集合として表現することができ(たとえば、ページは、ページ上に表示されるテキスト項目の集合として表現することができる)、エンティティ埋め込みは、エンティティの集合のベクトル表現に基づいて決定することができる(たとえば、ページ上のテキスト項目のベクトル表現の非線形の組合せ)。限定ではなく、別の例として、ユーザをエンティティの集合(たとえば、ユーザがソーシャルネットワーキング・システム160で「いいね!」を表明したページの集合)として表現することができ、ユーザの埋め込みは、その集合内のエンティティのベクトル表現に基づいて決定することができる。集合内のエンティティのそれぞれは、上記説明したように、さらに、エンティティの集合として表現することができる(たとえば、各エンティティのベクトル表現は、エンティティ集合のベクトル表現に基づくことができる)。エンティティをエンティティ集合として階層的に表現するこの手法は、適切な数のレベルまで続けることができる。すなわち、限定ではなく、例として、各エンティティは、エンティティの集合として表現することができ、これはそれぞれエンティティの集合として表現することができ、以下同様である。
ディクショナリ400は、ディープラーニングモデルの一部にすることができる。最適な埋め込みを生成するために、ディープラーニングモデルを訓練することができる。ディクショナリ400は、ディープラーニングモデルの訓練段階中に生成することができる。ディープラーニングモデルは、たとえば、畳み込みニューラル・ネットワークにすることができる。ディクショナリ400は、ランダム分布を使用して初期化することができる。すなわち、ディクショナリ400は、当初、ランダムに割り当てられたマッピングを有することができる。限定ではなく、例として、ランダム分布は、ガウス分布にすることができる。訓練の結果、ディクショナリ400が、初期のマッピングよりも最適なマッピングを生成することができる。
本開示は、ソーシャルネットワーキング・システム160によって実施される図4の特定の実施形態を記述し、示しているが、本開示は、任意の適切なプラットフォームまたはシステムによって実施される図4の任意の適切な実施形態を想定している。限定ではなく、例として、図4の特定の実施形態は、クライアント・システム130、またはサードパーティ・システム170によって実施することができる。また、本開示は、図4の方法の特定の工程を行う特定のコンポーネント、デバイスまたはシステムを記述し、示しているが、本開示は、図4の方法の任意の適切な工程を行う任意の適切なコンポーネント、デバイスまたはシステムの任意の適切な組合せを想定している。
図5は、ディープラーニングモデルを用いてユーザの埋め込みを決定するための例示的な方法を示す。特定の実施形態においては、ユーザは、ユーザがソーシャルネットワーキング・システム160で対話したことのあるエンティティの集合として表現することができる。言い換えると、埋め込みは、ユーザについて、エンティティ集合のベクトル表現に基づいて決定することができる。エンティティ集合は、順序付けされていない集合にすることができる。工程510で、ソーシャルネットワーキング・システム160は、ユーザがソーシャルネットワーキング・システム160で対話したことのある第1のエンティティ集合にアクセスすることができる。ユーザは、任意の適切なソーシャルネットワーキング・アクションを使用して、ソーシャルネットワーキング・システム160において第1のエンティティ集合内のエンティティと対話することができる。限定ではなく、例として、対話は、そのエンティティに対するアフィニティ(affinity)の表明であることが可能である。限定ではなく、別の例として、ユーザは、エンティティに「いいね!」を表明する、エンティティをシェアする、エンティティへの言及を含む投稿を出す、エンティティについて述べるメッセージを作成して別のユーザに送る、任意の他の適切なソーシャルネットワーキング・アクションを行う、またはその任意の組合せによって、エンティティと対話することができる。特定の実施形態においては、図2に関連して説明したソーシャルグラフ200内の第1のノードは、ユーザに対応することができ、ソーシャルグラフ200内の複数の第2のノードは、それぞれエンティティに対応することができる。ユーザは、ユーザのソーシャルネットワーキング・アクションによって、第1のエンティティ集合と対話し、ソーシャルネットワーキング・アクションは、第1のノードと、第1のエンティティ集合内の各エンティティに対応する各第2のノードとに関して実行され得る。たとえば、ソーシャルネットワーキング・アクションの結果、ユーザに対応する第1のノードとエンティティに対応する第2のノードとの間にソーシャルグラフ200内のエッジを作成することができる。第1のエンティティ集合は、任意の適切な数のエンティティを含むことができる。図5に図示する例では、第1のエンティティ集合は、「アイスホッケー」、「ブルックリン」、「コーヒー」、および「アップルパイ」に対応するページであるエンティティ502、504、506および508を含むように示されている。第1のエンティティ集合内のエンティティ502、504、506および508は、限定ではなく、例として、ソーシャルネットワーキング・システム160がホストし、ユーザがソーシャルネットワーキング・システム160で「いいね!」を表明したか、または他の形でアフィニティを表明したページであることが可能である。
工程520で、ソーシャルネットワーキング・システム160は、第1のエンティティ集合の第1のベクトル表現集合を決定することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、限定ではなく、例として、ディープラーニングモデルを用いて生成されたディクショナリ400を使用して、各エンティティ502、504、506および508をそれぞれのベクトル表現にマッピングすることができる(たとえば、1対1のマッピング)。各エンティティ502、504、506および508は、図4に関連して上記説明した手法のいずれか、または任意の他の適切な手法を用いて、それぞれのベクトル表現522、524、526および528にマッピングすることができる。
工程530で、ソーシャルネットワーキング・システム160は、第1のエンティティ集合から対象エンティティを選択することができる。図5に図示する例において、ソーシャルネットワーキング・システム160は、エンティティ508を対象エンティティとして選択する。特定の実施形態においては、対象エンティティはランダムに選択することができる。特定の実施形態においては、対象エンティティは、ディープラーニングモデルによって選択することができる。特定の実施形態においては、対象エンティティは、エンティティの困難な事例(hard example)を見つけるヒューリスティック法(heuristic method)を用いて選択することができる。たとえば、エンティティを埋め込み空間においてクラスタリングまたはハッシュすることができ(たとえば、ディープラーニングモデルを用いて)、困難な事例は、埋め込み空間内の同じクラスタまたはハッシュのエンティティにすることができる。図5に図示する実施形態では、対象エンティティは、エンティティ508として描かれており、これは、ソーシャルネットワーキング・システム160によってホストされる「アップルパイ」のページに対応する。
工程540で、ソーシャルネットワーキング・システム160は、第1のベクトル表現集合から工程530で選択した対象エンティティのベクトル表現を削除することができる。図5に図示する例では、対象エンティティ508のベクトル表現528が、第1のベクトル表現集合から削除されている。その結果の第1のベクトル表現集合は、ベクトル表現522、524および526を含むように示されており、これらベクトル表現522、524および526は、それぞれエンティティ502、504および506に対応する。
工程550で、ソーシャルネットワーキング・システム160は、残りのベクトル表現522、524および526を結合することができる。ベクトル表現522、524および526を1つのベクトル表現560に結合するために、限定ではなく、例として、畳み込み、平均化、任意の他の適切な非線形結合手法、任意の他の適切な手法、またはその任意の組合せを含め、任意の適切な手法を用いることができる。図5に図示する例では、ソーシャルネットワーキング・システム160は、3つのベクトル522、524および526を結合して(たとえば、3タップの畳み込み)、それから最大プーリング演算(max pooling operation)を行って、ユーザの1つのベクトル表現560を得る。
ユーザの埋め込みは、ベクトル表現の結合に基づいて決定することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ベクトル表現560に基づいてユーザの埋め込みを決定することができる。本明細書で使用するとき、ユーザの埋め込みとは、ユーザの結合ベクトル表現560に基づいた埋め込み空間内のユーザの表現をいうことがある。埋め込み空間内の1点の座標は、ユーザのベクトル表現560に基づいて決定することができる。特定の実施形態においては、ディープラーニングモデルを用いて、複数のユーザ埋め込みを生成することができる。これらのユーザ埋め込みのそれぞれが、埋め込み空間内の特定の点に対応するそれぞれのベクトル表現に基づくことができる。特定の実施形態においては、ディープラーニングモデルを用いて、複数のエンティティの埋め込みを生成することができる。エンティティ埋め込みのそれぞれは、埋め込み空間内の特定の点に対応するそれぞれのベクトル表現に基づくことができる。特定の実施形態においては、ユーザに対応する埋め込み空間内の点は、第1のエンティティ集合内のエンティティ(すなわち、ユーザがソーシャルネットワーキング・システム160で対話したことのあるエンティティ)に対応する埋め込み空間内の点に近接することができる。
本開示は、ソーシャルネットワーキング・システム160によって実施される図5の特定の実施形態を記述し、示しているが、本開示は、図5の任意の適切な実施形態が任意の適切なインタフェースで行われ、任意の適切なプラットフォームまたはシステムによって実施されることを想定している。限定ではなく、例として、図5の特定の実施形態は、クライアント・システム130またはサードパーティ・システム170によって実施することができる。また、本開示は、図5の方法の特定の工程を行う特定のコンポーネント、デバイスまたはシステムを記述し、示しているが、本開示は、図5の方法の任意の適切な工程を行う任意の適切なコンポーネント、デバイスまたはシステムの任意の適切な組合せを想定している。
図6は、ディープラーニングモデルを訓練するための例示的な方法を示す。ディープラーニングモデルは、ユーザのベクトル表現とユーザに関連性があるエンティティのベクトル表現との誤差を最小化または減少するように訓練することができる。特定の実施形態においては、ディープラーニングモデルの訓練の目標は、埋め込み空間において、ユーザ埋め込みに対応する点に近接する点に対応する、関連あるエンティティのエンティティ埋め込みを生成することにすることができる。ユーザとエンティティとの関連度は、限定ではなく、例として、ソーシャルネットワーキング・システム160でのエンティティとのユーザの過去の対話、ユーザの任意の他の適切なソーシャルネットワーキング・システム情報、またはその両方(たとえば、ユーザのソーシャルネットワーキングつながりに関する情報)を含め、任意の適切な要因に基づいて決定することができる。特定の実施形態においては、ディープラーニングモデルは、教師信号として、図5の工程530で選択した対象エンティティ508(たとえば、「アップルパイ」に対応するページ)を使用して訓練することができる。限定ではなく、例として、ディープラーニングモデルは、対象エンティティ508の埋め込みが、ユーザが対話したことのないエンティティの埋め込みよりも、埋め込み空間においてユーザ埋め込みに近接するように訓練することができる。
工程610で、ソーシャルネットワーキング・システム160は、ディープラーニングモデルを用いて、第2のエンティティ集合のベクトル表現を決定することができる。限定ではなく、例として、第2のエンティティ集合内のエンティティのベクトル表現は、ディクショナリ400を使用して決定することができる。特定の実施形態においては、第2のエンティティ集合は、複数のエンティティからランダムに選択することができる。特定の実施形態においては、第2のエンティティ集合は、ユーザがソーシャルネットワーキング・システム160で対話したことのない1つまたは複数のエンティティを含むことができる。第2のエンティティ集合は、ディープラーニングモデルの訓練のために、負例(negative examples)(すなわち、ユーザに関連性があることが不明なエンティティ)と見なされるのに対し、第1のエンティティ集合は、正例(positive examples)(すなわち、ユーザに関連性があると分かっているエンティティ)にすることができる。第2のエンティティ集合は、任意の適切な数のエンティティを含むことができる。限定ではなく、例として、第2のエンティティ集合は、ソーシャルネットワーキング・システム160によってランダムに選択された50のエンティティを含むことができる。特定の実施形態においては、第2のエンティティ集合内のエンティティの数は、ディープラーニングモデルの損失関数に基づくことができる。限定ではなく、例として、第2のエンティティ集合内のエンティティの数は、利用できる計算予算(computational budget)に基づく固定のハイパーパラメータにすることができる。特定の実施形態においては、損失関数を使用してディープラーニングモデルを訓練することができる。ディープラーニングモデルの最適な重み(すなわち、パラメータ)を学習するために、ソーシャルネットワーキング・システム160は、損失関数を最小化することができる(すなわち、誤差を最小化する)。特定の実施形態においては、ソーシャルネットワーキング・システム160は、バッチ内の第2のエンティティ集合のベクトル表現を更新することができる。限定ではなく、例として、エンティティの負例の集合(たとえば、ユーザと関連性があることが不明なエンティティ)は、任意の固定サイズのバッチとして選択することができる。限定ではなく、例として、バッチのサイズ(すなわち、第2のエンティティ集合内のエンティティの数)は、ディープラーニングモデルのすべての訓練にわたり事前に固定されたパラメータにすることができる。限定ではなく、別の例として、バッチのサイズは、また、ディープラーニングモデルの訓練中に経時的に変えることもできる。限定ではなく、別の例として、バッチのサイズは、ディープラーニングモデルの関数にすることもできる。ソーシャルネットワーキング・システム160は、さらに、この第2のエンティティ集合(すなわち、負例のバッチ)に対してバッチ勾配更新を行う。
工程620で、ソーシャルネットワーキング・システム160は、ユーザ560のベクトル表現を、工程610で決定した第2のエンティティ集合の各エンティティのベクトル表現と比較することによって、類似度スコアを決定することができる。このように、ソーシャルネットワーキング・システム160は、第2のエンティティ集合の各エンティティに関して、ユーザへの類似度の尺度を決定することができる。図6は、ユーザ560のベクトル表現を第2のエンティティ集合内のエンティティ612の1つのベクトル表現に対して比較するように描いているが、これは単なる例示目的で、限定するものではないことは理解されるであろう。むしろ、ユーザ560のベクトル表現は、第2のエンティティ集合の各エンティティのベクトル表現と比較することによって、第2のエンティティ集合の各エンティティに関して類似度スコアを計算できるようにすることが可能である。特定の実施形態においては、ユーザと第2のエンティティ集合内のエンティティとの類似度スコアは、ユーザ560のベクトル表現とエンティティのベクトル表現との角度に基づいて決定することができる。特定の実施形態においては、ユーザと第2のエンティティ集合内のエンティティとの類似度スコアは、ユーザ560のベクトル表現とエンティティのベクトル表現とのドット積(dot product)を計算して決定することができる。特定の実施形態においては、類似度スコアは、ユークリッド距離、コサイン類似度、または埋め込み空間内の点同士のペアの関連性の尺度を計算するための任意の他の適切な手法に基づいて決定することができる。
工程630で、ソーシャルネットワーキング・システム160は、ユーザ560のベクトル表現を、図5の工程520で決定した対象エンティティ508のベクトル表現528と比較することによって、類似度スコアを決定することができる。このように、ソーシャルネットワーキング・システム160は、対象エンティティに関してユーザへの類似度の尺度を決定することができる。ユーザと対象エンティティ508との類似度スコアは、工程620に関連して説明した手法のいずれかを用いて、または任意の他の適切な手法を用いて決定することができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、工程620および630でそれぞれに関して決定した類似度スコアに基づいて、対象エンティティと第2のエンティティ集合内のエンティティとを相対的にランク付けすることができる。ランク付けは、各エンティティに数値ランクを割り当て、各エンティティに単一列テーブル(single-columned table)内の位置を割り当て、またはそれぞれの類似度スコアに基づいてエンティティを相対的にランク付けするための任意の他の適切な手法を用いて、行うことができる。限定ではなく、例として、ソーシャルネットワーキング・システム160は、各エンティティに数値ランクを割り当てることができ、高い数値ランクが高い類似度スコアに対応する。
工程640で、ソーシャルネットワーキング・システム160は、第2のエンティティ集合内の1つまたは複数のエンティティのベクトル表現を、工程620および630で決定した類似度スコアに基づいて更新することができる。特定の実施形態においては、ベクトル表現は、工程620で決定した類似度スコアを工程630で決定した類似度スコアのそれぞれと比較することに基づいて更新することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、対象エンティティおよび第2のエンティティ集合のそれぞれにランキングを割り当てることができ、ディープラーニングモデルの1つまたは複数の重みをそのランキングに基づいてさらに更新することができる。前述したように、ディープラーニングモデルは、対象エンティティ508の埋め込みが、ユーザが対話したことのないエンティティの埋め込みよりも、埋め込み空間においてユーザ埋め込みに近接するように訓練することができる。このように、ディープラーニングモデルは、第2のエンティティ集合(すなわち、負のサンプル)の中のエンティティのそれぞれが対象エンティティ(すなわち、正のサンプル)よりも低い類似度スコアを有するように訓練することができる。言い換えると、ディープラーニングモデルは、第2のエンティティ集合内のエンティティのそれぞれが対象エンティティよりも低くランク付けされるように訓練することができる。ソーシャルネットワーキング・システム160は、第2のエンティティ集合内のエンティティのうちの1つまたは複数について、対象エンティティよりも上にランク付けされるか、または高い類似度スコアを有する(すなわち、埋め込み空間において、よりユーザ埋め込みに近接する対応埋め込みを有する)と決定することができ、ソーシャルネットワーキング・システム160は、第2のエンティティ集合のうちの1つまたは複数のエンティティのベクトル表現を更新することができる。限定ではなく、例として、第2のエンティティ集合内のエンティティは、ソーシャルネットワーキング・システム160がホストし、「ランニング」に対応するページにすることができる。同じ例で、ソーシャルネットワーキング・システム160は、「ランニング」エンティティが、対象エンティティ(すなわち、ユーザ560のベクトル表現と対象エンティティ508のベクトル表現528との間で計算される)よりも高い類似度スコア(すなわち、ユーザ560のベクトル表現と「ランニング」エンティティのベクトル表現との間で計算される)を有すると決定することがある。ソーシャルネットワーキング・システム160は、「ランニング」エンティティの更新済み類似度スコア(すなわち、ユーザ560のベクトル表現と「ランニング」エンティティの更新済みベクトル表現との間で計算される)が対象エンティティ508の類似度スコアよりも低くなるように、「ランニング」エンティティのベクトル表現を更新することができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ディープラーニングモデルの1つまたは複数の重みを更新することによって、第2のエンティティ集合のうちの1つまたは複数のエンティティのベクトル表現を更新することができる。ディープラーニングモデルの1つまたは複数の重みの初期値は、ランダムに決定することができる(たとえば、ガウス分布を用いて)。特定の実施形態においては、ディープラーニングモデルの重みのうちの1つまたは複数を、工程620で決定したユーザと第2のエンティティ集合内のエンティティとの類似度スコアと、工程630で決定したユーザと対象エンティティ508との類似度スコアとを使用して、誤差を最小化するように更新することができる。特定の実施形態においては、ディープラーニングモデルの1つまたは複数の重みは、Eq.1で求められる誤差を最小化するように更新することができる。ディープラーニングモデルの重みは、第2のエンティティ集合についてよりよいベクトル表現を求めるために更新することができる。工程610〜640で説明されたこの方法は、繰り返すことができ、確率的勾配降下関数を用いて、徐々に重みを改良することができる。重みの更新によるディープラーニングモデルの訓練は、ディクショナリ400のマッピングを改善することができる。
本開示は、ソーシャルネットワーキング・システム160によって実施される図6の特定の実施形態を記述し、示しているが、本開示は、任意の適切なインタフェースで行われ、任意の適切なプラットフォームまたはシステムによって実施される図6の任意の適切な実施形態を想定している。限定ではなく、例として、図6の特定の実施形態は、クライアント・システム130またはサードパーティ・システム170によって実施することができる。また、本開示は、図6の方法の特定の工程を行う特定のコンポーネント、デバイスまたはシステムを記述し、示しているが、本開示は、図6の方法の任意の適切な工程を行う任意の適切なコンポーネント、デバイス、またはシステムの任意の適切な組合せを想定している。
図7は、埋め込み空間700の例示的な図を示す。埋め込み空間700は、ユーザ710の埋め込みに対応する点710と、複数のエンティティ埋め込みに対応する複数の点730とを含む。複数のエンティティ埋め込みは、ディープラーニングモデルを用いて決定したエンティティのベクトル表現に基づいて決定することができ(たとえば、図5〜図6に関連して説明したように訓練した後)、エンティティ埋め込みは、埋め込み空間700内で点730として表現することができる。ユーザ埋め込みは、図5に関連して説明したように、ディープラーニングモデルを用いて決定したユーザ560のベクトル表現に基づいて決定することができ、ユーザ埋め込みは、埋め込み空間700内で点710として表現することができる。埋め込み空間700は三次元空間として示されているが、これは単なる例示目的で、限定するものではなく、埋め込み空間700は任意の適切な次元をもつことができることは理解されるであろう。限定ではなく、例として、埋め込み空間700はd次元にすることができ、埋め込みがそれに基づくベクトル表現(たとえば、ユーザおよびエンティティの埋め込み)は、d次元強度ベクトルにすることができ、ここで、dは、任意の適切な数の次元を表す。埋め込み空間700は、ユーザ710の1つの埋め込みのみを描いているが、これは単なる例示目的で、限定するものではなく、埋め込み空間700は、ソーシャルネットワーキング・システム160の複数の他のユーザに対応する複数の点を含むことができる。限定ではなく、例として、図5および図6の工程を他のユーザについても繰り返して、他のユーザの埋め込みを生成することもできる。同じ例で、ディープラーニングモデルは、エンティティ埋め込みが他のユーザを表すエンティティ集合からの対象エンティティにさらに基づくように訓練することもできる。
特定の実施形態においては、埋め込み空間700を使用して、ユーザに関連性があるエンティティ(たとえば、第2のエンティティ集合内のエンティティ)を予測することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、検索アルゴリズムを用いて、ユーザに関連性があるエンティティの埋め込みに対応する1つまたは複数の点を識別することができる。特定の実施形態においては、エンティティは、ユーザがそのエンティティと対話するある予測尤度がある場合に、ユーザに関連性がある。検索アルゴリズムを埋め込み空間700に適用して、ユーザの埋め込みに対応する点710の閾値距離内にあるエンティティ埋め込みに対応する点を識別することができる。これらのエンティティ埋め込みのそれぞれを、ユーザに関連性があるとして識別されるそれぞれのエンティティに関連付けることができる。図7に図示する例では、閾値距離は、埋め込み空間700内のエリア720として描かれている。限定ではなく、例として、点710は、ユーザの埋め込みに対応する点にすることができ、点710のエリア720内にあるとして識別された点は、ソーシャルネットワーキング・システム160がホストし、「ウェイン・グレツキー(Wayne Gretzky)」および「ボストンクリームパイ」に対応するページを含む、エンティティの埋め込みに対応する点を含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザに関連性がある1つまたは複数のエンティティを識別するために、任意の適切な手法を用いることもできる。限定ではなく、例として、ソーシャルネットワーキング・システム160は、局所性鋭敏型ハッシュ、階層クラスタリング手法、ボールツリー手法、二分探索木手法、k次元の空間内に点を配列するための空間分割データ構造(たとえば、k次元の木)、量子化、任意の他の適切な検索アルゴリズムもしくは手法、またはその任意の組合せを使用することができる。限定ではなく、別の例として、ソーシャルネットワーキング・システム160は、図6に関連して説明したように、計算した類似度スコアに基づいてエンティティに割り当てたランキングに基づいて、ユーザに関連性があるとして所定数のエンティティを識別することができる。限定ではなく、例として、ディープラーニングモデルが訓練を完了した後、ソーシャルネットワーキング・システム160は、そのランキングに基づいて、ユーザに関連性があるものとして上位10のエンティティを選択することができる(ユーザが対話したことがあることが分かっている対象エンティティ508は除く)。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザに対して表示するために、ユーザのクライアント・システム130に、ユーザに関連性があるとして識別された1つまたは複数のエンティティを送信することができる。特定の実施形態においては、識別された1つまたは複数のエンティティは、ユーザのクライアント・システム上で稼働しているアプリケーション(たとえば、ソーシャルネットワーキング・システム160に関連付けられているアプリケーションまたはウェブブラウザ)のインタフェースでユーザに対して表示することができる。限定ではなく、例として、ユーザは、ユーザのクライアント・システム130上で稼働しているアプリケーション(たとえば、ソーシャルネットワーキング・システム160に関連付けられているアプリケーション)のインタフェースを介して検索クエリを入力し、ソーシャルネットワーキング・システム160は、検索クエリに応答するエンティティのランキングに基づいて、アプリケーションにおけるユーザに対する提案として、検索結果を提供することができる(たとえば、識別されたエンティティを検索結果の上位に表示することができる)。限定ではなく、別の例として、識別された1つまたは複数のエンティティは、通知としてユーザに配信することもできる(たとえば、あなたは「アイスホッケー」が好きなので、「ウェイン・グレツキー」も好きかもしれません)。
特定の実施形態においては、ユーザに関連性があるとして識別されたエンティティは、ソーシャルネットワーキング・システム160が予測するように、ユーザが対話するものにすることができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、埋め込み空間700を使用して、ユーザが積極的に対話するエンティティを予測することができる。限定ではなく、例として、ソーシャルネットワーキング・システム160は、検索アルゴリズムを適用して、ユーザ(たとえば、点710)の埋め込みの所定の距離720内の(ユーザがまだ対話したことのない)1つまたは複数のエンティティ埋め込みを識別することができる。ソーシャルネットワーキング・システム160は、次いで、これらの識別したエンティティ埋め込みに関連付けられているエンティティ(たとえば、ソーシャルネットワーキング・システム160によってホストされるページ)を識別して、ユーザが積極的に対話しそうなエンティティを予測する(たとえば、「いいね!」を表明する、クリックする、または他の形でソーシャルネットワーキング・システム160と対話をする)。
本開示は、ソーシャルネットワーキング・システム160によって実施される図7の特定の実施形態を記述し、示しているが、本開示は、任意の適切なインタフェースで行われ、任意の適切なプラットフォームまたはシステムによって実施される図7の任意の適切な実施形態を想定している。限定ではなく、例として、図7の特定の実施形態は、クライアント・システム130またはサードパーティ・システム170によって実施することができる。また、本開示は、図7の方法の特定の工程を行う特定のコンポーネント、デバイスまたはシステムを記述し、示しているが、本開示は、図7の方法の任意の適切な工程を行う任意の適切なコンポーネント、デバイスまたはシステムの任意の適切な組合せを想定している。
図8は、ディープラーニングモデルを用いてエンティティのベクトル表現を更新するための例示的な方法800を示す。方法は、工程810から始まり、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システムのユーザがソーシャルネットワーキング・システム内で対話したことのある第1のエンティティ集合と、ソーシャルネットワーキング・システム内の第2のエンティティ集合と、にアクセスすることができる。工程820で、ソーシャルネットワーキング・システム160は、ディープラーニングモデルを用いて第1のエンティティ集合の第1のベクトル表現集合を決定することができる。工程830で、ソーシャルネットワーキング・システム160は、第1のエンティティ集合から対象エンティティを選択することができる。工程840で、ソーシャルネットワーキング・システム160は、第1のベクトル表現集合から、対象エンティティのベクトル表現を削除することができる。工程850で、ソーシャルネットワーキング・システム160は、第1のベクトル表現集合内の残りのベクトル表現を結合して、ユーザのベクトル表現を決定することができる。工程860で、ソーシャルネットワーキング・システム160は、ディープラーニングモデルを用いて、第2のエンティティ集合の第2のベクトル表現集合を決定する。工程870で、ソーシャルネットワーキング・システム160は、ユーザのベクトル表現を対象エンティティのベクトル表現と比較することによって、対象エンティティとユーザとの類似度スコアを計算することができる。工程880で、ソーシャルネットワーキング・システム160は、ユーザのベクトル表現を第2のエンティティ集合内のエンティティのベクトル表現と比較することによって、ユーザと第2のエンティティ集合内のエンティティとの類似度スコアを計算することができる。工程820で、ソーシャルネットワーキング・システム160は、ディープラーニングモデルを用いて、類似度スコアに基づいて第2のエンティティ集合内の1つまたは複数のエンティティのベクトル表現を更新することができる。
特定の実施形態は、適切な場合、図8の方法の1つまたは複数の工程を繰り返すことができる。本開示は、特定の順序で発生する図8の方法の特定の工程を記述し、示しているが、本開示は、任意の適切な順序で発生する図8の方法の任意の適切な工程を想定している。さらに、本開示は、図8の方法の特定の工程を含むディープラーニングモデルを用いてエンティティのベクトル表現を更新するための例示的な方法を記述し、示しているが、本開示は、適切な場合、図8の方法の工程のうちの全部もしくは一部を含むことができ、または全く含まなくてもよい任意の適切な工程を含むディープラーニングモデルを用いてエンティティのベクトル表現を更新するための任意の適切な方法を想定している。また、本開示は、図8の方法の特定の工程を行う特定のコンポーネント、デバイスまたはシステムを記述し、示しているが、本開示は、図8の方法の任意の適切な工程を行う任意の適切なコンポーネント、デバイスまたはシステムの任意の適切な組合せを想定している。
ソーシャルグラフ・アフィニティおよび係数
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなソーシャルグラフ・エンティティの互いに対するソーシャルグラフ・アフィニティ(これは本明細書において、「アフィニティ」ということもある)を決定することができる。アフィニティは、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、またはその任意の適切な組合せなど、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト同士の関係の強さまたは関心レベルを表すことができる。アフィニティは、サードパーティ・システム170または他の適切なシステムに関連付けられているオブジェクトに関しても決定することができる。各ユーザ、主題、またはコンテンツの種類に対するソーシャルグラフ・エンティティの総合的なアフィニティを確立することができる。総合的なアフィニティは、ソーシャルグラフ・エンティティに関連付けられているアクションまたは関係の継続的な監視に基づいて変わり得る。本開示は、特定のアフィニティを特定のやり方で決定することを記述するが、本開示は、任意の適切なアフィニティを任意の適切なやり方で決定することを想定している。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、アフィニティ係数(これは本明細書において、「係数」ということもある)を使用して、ソーシャルグラフ・アフィニティを測定または定量化することができる。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト同士の関係の強さを表すか、または定量化することができる。係数は、ユーザが特定のアクションを行う予測確率を、そのユーザのそのアクションへの関心に基づいて測定する確率または関数も表す。このように、ユーザの将来のアクションは、係数を少なくとも部分的にユーザのアクションの履歴に基づいて計算できる場合、ユーザの過去のアクションに基づいて予測することができる。係数を使用して、オンライン・ソーシャル・ネットワーク内または外でありうる任意の数のアクションを予測することができる。限定ではなく、例として、これらのアクションは、メッセージの送信、コンテンツの投稿、もしくはコンテンツへのコメントなどのさまざまな種類のコミュニケーション、プロフィール・ページ、メディアもしくは他の適切なコンテンツへのアクセスもしくは閲覧などのさまざまな種類の観察アクション、同じグループにいること、同じ写真にタグ付けされること、同じロケーションにチェックインしたこと、もしくは同じイベントに出席することなど、2つ以上のソーシャルグラフ・エンティティに関するさまざまな種類の同時発生情報、または他の適切なアクションを含むことができる。本開示は、アフィニティを特定のやり方で測定することを記述しているが、本開示は、アフィニティを任意の適切なやり方で測定することを想定している。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、係数を計算するために多様な因子を使用することができる。これらの因子には、たとえば、ユーザのアクション、オブジェクト同士の関係の種類、ロケーション情報、他の適切な因子、またはその任意の組合せを含むことができる。特定の実施形態においては、係数を計算するとき、異なる因子には別の重み付けをすることができる。各因子の重みは静的にすることができ、または重みは、たとえば、ユーザ、関係の種類、アクションの種類、ユーザのロケーションなどに応じて変えることもできる。因子のレーティング(rating)をその重みに従って結合して、ユーザの総合的な係数を決定することができる。限定ではなく、例として、特定のユーザのアクションにはレーティングおよび重みの両方を割り当てることができるのに対し、特定のユーザのアクションに関連付けられる関係にはレーティングおよび相関重みを割り当てる(たとえば、そのため、重みの合計は100%)。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに割り当てられるレーティングが、たとえば総合的な係数の60%を占めるのに対し、ユーザとオブジェクトとの関係が総合的な係数の40%を占めることが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム160は、係数の計算に使用されるさまざまな因子の重みを決定するとき、たとえば、情報がアクセスされてからの時間、減衰因子、アクセス頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトにつながっているソーシャルグラフ・エンティティとの関係、ユーザのアクションの短期的もしくは長期的な平均、ユーザのフィードバック、他の適切な変数、またはその任意の組合せなど、多様な変数を考慮することができる。限定ではなく、例として、係数は、特定のアクションが提供する信号の強さを時間の経過とともに減衰させる減衰因子を含んで、係数を計算するときに、より最近のアクションを、より関連性があるようにすることができる。レーティングおよび重みは、係数が基づくアクションの継続的な追跡に基づいて、継続的に更新することもできる。任意の種類のプロセスまたはアルゴリズムを、各因子のレーティングと因子に割り当てられた重みとの割り当て、結合、平均化などのために採用することもできる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、履歴的なアクションおよび過去のユーザの応答、またはさまざまなオプションをユーザに露出して応答を測定することによってユーザから集めたデータに基づいて訓練した機械学習アルゴリズムを用いて係数を決定することができる。本開示は、係数を特定のやり方で計算するように記述しているが、本開示は、係数を任意の適切なやり方で計算することを想定している。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザのアクションに基づいて係数を計算することができる。ソーシャルネットワーキング・システム160は、このようなアクションを、オンライン・ソーシャル・ネットワークで、サードパーティ・システム170で、他の適切なシステムで、またはその組合せで監視することができる。任意の適切な種類のユーザ・アクションを追跡または監視することもできる。典型的なユーザ・アクションには、プロフィール・ページの閲覧、コンテンツの作成もしくは投稿、コンテンツとの対話、画像にタグ付けすることまたは画像にタグ付けされること、グループへの加入、イベントへの出席のリスト化と確認、ロケーションでのチェックイン、特定のページへの「いいね!」の表明、ページの作成、およびソーシャル・アクションを促進する他のタスクを行うことが含まれる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、特定の種類のコンテンツに対するユーザのアクションに基づいて、係数を計算することができる。係数は、オンライン・ソーシャル・ネットワーク、サードパーティ・システム170または他の適切なシステムに関連付けることもできる。コンテンツは、ユーザ、プロフィール・ページ、投稿、ニュース・ストーリ、ヘッドライン、インスタント・メッセージ、チャットルームでの会話、電子メール、広告、写真、映像、音楽、他の適切なオブジェクト、またはその任意の組合せを含むことができる。ソーシャルネットワーキング・システム160は、ユーザのアクションを分析して、アクションのうちの1つまたは複数が主題、コンテンツ、他のユーザなどに対するアフィニティを示すかどうかを決定することができる。限定ではなく、例として、ユーザが「コーヒー」またはそれに類するものに関するコンテンツを頻繁に投稿する場合、ソーシャルネットワーキング・システム160は、そのユーザが「コーヒー」コンセプトに関して高い係数を有すると決定する。特定のアクションまたはアクションの種類に、他のアクションよりも高い重みおよびレーティングの両方または一方を割り当てることができ、このことは、計算した係数全体に影響し得る。限定ではなく、例として、第1のユーザが第2のユーザに電子メールを送信する場合、そのアクションの重みまたはレーティングは、第1のユーザが第2のユーザのユーザプロフィール・ページをただ閲覧する場合よりも高くすることができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、特定のオブジェクト同士の関係の種類に基づいて係数を計算することができる。ソーシャルグラフ200を参照すると、ソーシャルネットワーキング・システム160は、係数を計算するとき、特定のユーザ・ノード202とコンセプト・ノード204とをつなげているエッジ206の数および種類の両方または一方を分析することができる。限定ではなく、例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)でつながっているユーザ・ノード202には、友達タイプのエッジでつながっているユーザ・ノード202よりも高い係数を割り当てることができる。言い換えると、特定のユーザのアクションおよび関係に割り当てられる重みに応じて、ユーザの友達に関するコンテンツよりもユーザの配偶者に関するコンテンツに対して、総合的なアフィニティが高いと決定することができる。特定の実施形態においては、ユーザが別のオブジェクトともつ関係が、そのオブジェクトに関する係数を計算することに関して、ユーザのアクションの重みおよびレーティングの両方または一方に影響し得る。限定ではなく、例として、ユーザが、第1の写真にはタグ付けされているが第2の写真には単に「いいね!」を表明しただけの場合、ソーシャルネットワーキング・システム160は、コンテンツとタグ付けタイプの関係を有することには、コンテンツと「いいね!」表明タイプの関係を有するよりも高い重みおよびレーティングの両方または一方が割り当てられるので、ユーザが第2の写真よりも第1の写真に関して高い係数を有すると決定することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1人または複数人の第2のユーザが特定のオブジェクトにもつ関係に基づいて、第1のユーザに関する係数を計算することができる。言い換えると、他のユーザがオブジェクトに有するつながりおよび係数が、そのオブジェクトに関する第1のユーザの係数に影響し得る。限定ではなく、例として、第1のユーザが1人または複数人の第2のユーザにつながっているか、またはその第2のユーザに関して高い係数を有し、その第2のユーザが特定のオブジェクトにつながっているか、またはその特定のオブジェクトに関して高い係数を有する場合、ソーシャルネットワーキング・システム160は、第1のユーザもその特定のオブジェクトに関して比較的高い係数を有するはずだと決定することができる。特定の実施形態においては、係数は、特定のオブジェクト同士の隔たり度に基づくことができる。より低い係数は、第1のユーザが、ソーシャルグラフ200内で第1のユーザに間接的につながっているユーザのコンテンツ・オブジェクトに関心を共有する尤度が低くなることを表す。限定ではなく、例として、ソーシャルグラフ200内でより近い(すなわち、隔たり度がより小さい)ソーシャルグラフ・エンティティは、ソーシャルグラフ200内でより離れたエンティティよりも高い係数を有することが可能である。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ロケーション情報に基づいて係数を計算することができる。地理的に互いに近いオブジェクトは、より遠いオブジェクトよりも互いに関係が強いかまたは関心が高いと考えることができる。特定の実施形態においては、特定のオブジェクトに対するユーザの係数は、ユーザに関連付けられている現在のロケーション(またはユーザのクライアント・システム130のロケーション)に対するオブジェクトのロケーションの近接度に基づくことができる。第1のユーザは、第1のユーザにより近い他のユーザまたはコンセプトに、より関心をもつであろう。限定ではなく、例として、ユーザが空港から1.61km(1マイル)のところにいて、ガソリンスタンドから3.22km(2マイル)のところにいる場合、ソーシャルネットワーキング・システム160は、ユーザへの空港の近接度に基づいて、ガソリンスタンドよりも空港に関して、ユーザがより高い係数を有すると決定することができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、係数情報に基づいて、ユーザに関して特定のアクションを行うことができる。係数を使用して、ユーザが特定のアクションを行うかどうかを、そのアクションへのユーザの関心に基づいて予測することができる。係数は、広告、検索結果、ニュース・ストーリ、メディア、メッセージ、通知、または他の適切なオブジェクトなど、任意の種類のオブジェクトを生成し、ユーザに対して提示するときに使用することができる。係数を利用して、適切な場合、このようなオブジェクトをランク付けして、順序付けすることもできる。このように、ソーシャルネットワーキング・システム160は、ユーザの関心および現在の状況に関連性がある状況を提供できるので、このように関心のある情報を見つける尤度が高まる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、係数情報に基づいて、コンテンツを生成することができる。コンテンツ・オブジェクトは、ユーザ固有の係数に基づいて提供または選択することができる。限定ではなく、例として、係数を使用して、ユーザのためのメディアを生成することができ、その場合、ユーザには、ユーザがメディア・オブジェクトに関して総合的に高い係数を有するメディアを提示することができる。限定ではなく、別の例として、係数を使用して、ユーザのための広告を生成することができ、その場合、ユーザには、ユーザが広告オブジェクトに関して総合的に高い係数を有する広告を提示することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、係数情報に基づいて、検索結果を生成することができる。特定のユーザのための検索結果には、クエリを行うユーザに関する検索結果に関連付けられている係数に基づいて、スコアまたはランクを付けることができる。限定ではなく、例として、より高い係数をもつオブジェクトに対応する検索結果は、より低い係数をもつオブジェクトに対応する結果よりも、検索結果ページ上の上位にランク付けすることができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、特定のシステムまたはプロセスからの係数要求に応答して、係数を計算することができる。ユーザが所与の状況で取りうる(またはその対象になりうる)可能性の高いアクションを予測するために、任意のプロセスが、ユーザについて計算した係数を要求することができる。要求には、係数を計算するために用いられたさまざまな因子について使用する重みの集合も含むことができる。この要求は、オンライン・ソーシャル・ネットワーク上で稼働しているプロセスから、サードパーティ・システム170から(たとえば、APIもしくは他の通信チャネルを介して)、または別の適切なシステムからくることができる。要求に応答して、ソーシャルネットワーキング・システム160は、係数を計算する(または、以前に計算して格納されている場合には、係数情報にアクセスする)ことができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、特定のプロセスに対するアフィニティを測定することができる。異なるプロセス(オンライン・ソーシャル・ネットワークの内部および外部の両方)は、特定のオブジェクトまたはオブジェクト集合に関する係数を要求することができる。ソーシャルネットワーキング・システム160は、アフィニティの尺度を要求した特定のプロセスに関連性があるアフィニティの尺度を提供することができる。このように、各プロセスは、プロセスがアフィニティの尺度を使用するさまざまな状況に応じて調整されたアフィニティの尺度を受け取る。
ソーシャルグラフ・アフィニティおよびアフィニティ係数に関連して、特定の実施形態は、2006年8月11日に出願された米国特許出願第11/503093号明細書、2010年12月22日に出願された米国特許出願第12/977027号明細書、2010年12月23日に出願された米国特許出願第12/978265号明細書、および2012年10月1日に出願された米国特許出願第13/632869号明細書に開示された1つまたは複数のシステム、コンポーネント、要素、機能、方法、動作または工程を利用することができ、これら特許出願のそれぞれを参照により本書に援用する。
システムおよび方法
図9は、例示的なコンピュータシステム900を示している。特定の実施形態においては、1つまたは複数のコンピュータシステム900が、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を実行する。特定の実施形態においては、1つまたは複数のコンピュータシステム900が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、1つまたは複数のコンピュータシステム900上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている1つもしくは複数の方法の1つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム900の1つまたは複数の部分を含む。本明細書においては、コンピュータシステムへの言及は、適切な場合には、コンピューティング・デバイスおよびその逆を包含することができる。その上、コンピュータシステムへの言及は、適切な場合には、1つまたは複数のコンピュータシステムを包含することができる。
本開示は、任意の適切な数のコンピュータシステム900を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータシステム900を想定している。限定ではなく、例として、コンピュータシステム900は、組み込みコンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(たとえば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータシステム900は、1つもしくは複数のコンピュータシステム900を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド(1つもしくは複数のネットワーク内の1つもしくは複数のクラウドコンポーネントを含むことができる)内に常駐することが可能である。適切な場合には、1つまたは複数のコンピュータシステム900は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、1つまたは複数のコンピュータシステム900は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程をリアルタイムで、またはバッチモードで実行することができる。1つまたは複数のコンピュータシステム900は、適切な場合には、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
特定の実施形態においては、コンピュータシステム900は、プロセッサ902、メモリ904、ストレージ906、入力/出力(I/O)インタフェース908、通信インタフェース910、およびバス912を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータシステムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータシステムを想定している。
特定の実施形態においては、プロセッサ902は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ902は、内部レジスタ、内部キャッシュ、メモリ904、またはストレージ906から命令を取り出し(またはフェッチし)、それらの命令をデコードして実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ904、またはストレージ906に書き込むことができる。特定の実施形態においては、プロセッサ902は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ902を想定している。限定ではなく、例として、プロセッサ902は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数の変換ルックアサイドバッファ(TLB)を含むことができる。命令キャッシュ内の命令は、メモリ904またはストレージ906内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ902によるそれらの命令の取り出しをスピードアップすることができる。データキャッシュ内のデータは、プロセッサ902において実行される命令が機能する際に基づくメモリ904もしくはストレージ906内のデータのコピー、プロセッサ902において実行される後続の命令によるアクセスのための、もしくはメモリ904もしくはストレージ906への書き込みのためのプロセッサ902において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データキャッシュは、プロセッサ902による読み取りオペレーションまたは書き込みオペレーションをスピードアップすることができる。TLBは、プロセッサ902のための仮想アドレス変換をスピードアップすることができる。特定の実施形態においては、プロセッサ902は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ902を想定している。適切な場合には、プロセッサ902は、1つまたは複数の演算ロジックユニット(ALU)を含むこと、マルチコアプロセッサであること、または1つもしくは複数のプロセッサ902を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
特定の実施形態においては、メモリ904は、プロセッサ902が実行するための命令、またはプロセッサ902が機能する際に基づくデータを格納するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム900は、命令をストレージ906または別のソース(たとえば、別のコンピュータシステム900など)からメモリ904にロードすることができる。次いでプロセッサ902は、命令をメモリ904から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ902は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ902は、1つまたは複数の結果(それらは、中間の結果または最終的な結果である場合がある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ902は、それらの結果のうちの1つまたは複数をメモリ904に書き込むことができる。特定の実施形態においては、プロセッサ902は、(ストレージ906またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ904内の命令のみを実行し、(ストレージ906またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ904内のデータ上でのみ機能する。1つまたは複数のメモリバス(それらはそれぞれ、アドレスバスおよびデータバスを含むことができる)は、プロセッサ902をメモリ904に結合することができる。バス912は、以降で記述されているような1つまたは複数のメモリバスを含むことができる。特定の実施形態においては、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ902とメモリ904との間に常駐し、プロセッサ902によって要求されるメモリ904へのアクセスを容易にする。特定の実施形態においては、メモリ904は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であることが可能である。その上、適切な場合には、このRAMは、シングルポートRAMまたはマルチポートRAMであることが可能である。本開示は、任意の適切なRAMを想定している。メモリ904は、適切な場合には、1つまたは複数のメモリ904を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
特定の実施形態においては、ストレージ906は、データまたは命令のためのマスストレージを含む。限定ではなく、例として、ストレージ906は、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ906は、適切な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された)媒体を含むことができる。ストレージ906は、適切な場合には、コンピュータシステム900の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ906は、不揮発性のソリッドステートメモリである。特定の実施形態においては、ストレージ906は、読み取り専用メモリ(ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能ROM(EAROM)、またはフラッシュメモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマスストレージ906を想定している。ストレージ906は、適切な場合には、プロセッサ902とストレージ906との間における通信を容易にする1つまたは複数のストレージコントロールユニットを含むことができる。適切な場合には、ストレージ906は、1つまたは複数のストレージ906を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
特定の実施形態においては、I/Oインタフェース908は、コンピュータシステム900と1つまたは複数のI/Oデバイスとの間における通信のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム900は、適切な場合には、これらのI/Oデバイスのうちの1つまたは複数を含むことができる。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム900との間における通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なI/Oデバイス、またはこれらのうちの複数の組合せを含むことができる。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびそれらのI/Oデバイスのための任意の適切なI/Oインタフェース908を想定している。適切な場合には、I/Oインタフェース908は、プロセッサ902がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスドライバまたはソフトウェアドライバを含むことができる。I/Oインタフェース908は、適切な場合には、1つまたは複数のI/Oインタフェース908を含むことができる。本開示は、特定のI/Oインタフェースについて記述し、示しているが、本開示は、任意の適切なI/Oインタフェースを想定している。
特定の実施形態においては、通信インタフェース910は、コンピュータシステム900と、1つもしくは複数のその他のコンピュータシステム900または1つもしくは複数のネットワークとの間における通信(たとえば、パケットベースの通信など)のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース910は、イーサネット(登録商標)もしくはその他の有線ベースのネットワークと通信するためのネットワークインタフェースコントローラ(NIC)もしくはネットワークアダプタ、またはWI−FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)もしくはワイヤレスアダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース910を想定している。限定ではなく、例として、コンピュータシステム900は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線またはワイヤレスであることが可能である。例として、コンピュータシステム900は、ワイヤレスPAN(WPAN)(たとえば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(たとえば、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))ネットワークなど)、またはその他の適切なワイヤレスネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータシステム900は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース910を含むことができる。通信インタフェース910は、適切な場合には、1つまたは複数の通信インタフェース910を含むことができる。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
特定の実施形態においては、バス912は、コンピュータシステム900のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス912は、アクセラレイティッドグラフィックスポート(AGP)もしくはその他のグラフィックスバス、エンハンストインダストリースタンダードアーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリースタンダードアーキテクチャ(ISA)バス、インフィニバンドインターコネクト、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクススタンダーズアソシエーションローカル(VLB)バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス912は、適切な場合には、1つまたは複数のバス912を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
本明細書においては、1つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、1つもしくは複数の半導体ベースのもしくはその他の集積回路(IC)(たとえば、フィールドプログラマブルゲートアレイ(FPGA)もしくは特定用途向け集積回路(ASIC)など)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)ディスケット、フロッピー(登録商標)ディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、特徴、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、特徴、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。

Claims (35)

  1. 方法であって、
    1つまたは複数のコンピューティング・デバイスが、ソーシャルネットワーキング・システムのユーザが前記ソーシャルネットワーキング・システムにおいて対話したことのある第1組のエンティティと、前記ソーシャルネットワーキング・システム内の第2組のエンティティと、にアクセスする工程と、
    1つまたは複数のコンピューティング・デバイスが、ディープラーニングモデルを用いて前記第1組のエンティティの第1組のベクトル表現を決定する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記第1組のエンティティから対象エンティティを選択する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記第1組のベクトル表現から、前記対象エンティティのベクトル表現を削除する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記第1組のベクトル表現のうちの残りのベクトル表現を結合して、前記ユーザのベクトル表現を決定する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記ディープラーニングモデルを用いて、前記第2組のエンティティの第2組のベクトル表現を決定する工程と、
    1つまたは複数のコンピューティング・デバイスが、
    前記ユーザのベクトル表現を前記対象エンティティのベクトル表現と比較することによって、前記対象エンティティと前記ユーザとの類似度スコアを計算し、
    前記ユーザのベクトル表現を前記第2組のエンティティのうちの複数のエンティティのベクトル表現と比較することによって、前記ユーザと前記第2組のエンティティのうちの複数のエンティティとの複数の類似度スコアを計算する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記ディープラーニングモデルを用いて、前記複数の類似度スコアに基づいて前記第2組のエンティティのうちの1つまたは複数のエンティティのベクトル表現を更新する工程と、を備える方法。
  2. 1つまたは複数のコンピューティング・デバイスが、前記ユーザ、前記第1組のエンティティの各エンティティ、および前記第2組のエンティティの各エンティティの埋め込みを決定する工程をさらに備え、
    各埋め込みが、多次元埋め込み空間内の1点に対応し、
    前記多次元埋め込み空間が、複数のエンティティに対応する複数の点を備え、
    各埋め込みが、前記ディープラーニングモデルを用いて決定された対応するベクトル表現に基づく、請求項1に記載の方法。
  3. 1つまたは複数のコンピューティング・デバイスが、前記対象エンティティおよび前記第2組のエンティティの各エンティティに、前記類似度スコアに基づいて対応するランキングを割り当てる工程をさらに備え、
    前記第2組のエンティティのうちの前記1つまたは複数のエンティティのベクトル表現を更新する工程は、さらに前記ランキングに基づく、請求項1に記載の方法。
  4. 前記第2組のエンティティのうち、ベクトル表現が更新された前記1つまたは複数のエンティティのそれぞれは、前記対象エンティティの類似度スコアよりも大きい類似度スコアを有する、請求項3に記載の方法。
  5. 前記多次元埋め込み空間に検索アルゴリズムを適用することによって、複数のエンティティから前記ユーザに関連性があるとして1つまたは複数のエンティティを識別する工程をさらに備え、
    識別された前記1つまたは複数のエンティティの1つまたは複数の埋め込みに対応する点は、前記多次元埋め込み空間において前記ユーザの埋め込みに対応する前記点の閾値距離内にある、請求項1に記載の方法。
  6. 前記ユーザに対して表示するために、前記識別された1つまたは複数のエンティティを、前記ユーザのクライアント・システムに送信する工程をさらに備える請求項5に記載の方法。
  7. 前記対象エンティティは、ランダムに選択される、請求項1に記載の方法。
  8. 前記ユーザは、前記ソーシャルネットワーキング・システムにおいて前記第2組のエンティティと対話したことがない、請求項1に記載の方法。
  9. 前記ソーシャルネットワーキング・システムは、複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャルグラフを備え、
    前記複数のノードのうちの2つのノード間の前記エッジのそれぞれが、それらの間の一次の隔たり度を表し、
    前記ノードは、
    前記ユーザに対応する第1のノードと、
    各々、対応するエンティティに対応する複数の第2のノードとを備える、請求項1に記載の方法。
  10. 前記ユーザは、前記ユーザのソーシャルネットワーキング・アクションによって前記第1組のエンティティと対話したことがあり、
    前記ソーシャルネットワーキング・アクションは、前記第1のノードと、前記第1組のエンティティの各エンティティに対応する各第2のノードとに関して行われる、請求項9に記載の方法。
  11. 前記ソーシャルネットワーキング・アクションは、エンティティに対するアフィニティの表明を表す、請求項10に記載の方法。
  12. 前記1つまたは複数のエンティティのうちの少なくとも1つは、
    前記ソーシャルネットワーキング・システムによってホストされるページを含む、請求項1に記載の方法。
  13. 前記ベクトル表現は、d次元強度ベクトルを含む、請求項1に記載の方法。
  14. ソフトウェアを備える1つまたは複数のコンピュータ可読非一時的記憶媒体であって、
    前記ソフトウェアは、実行されると、
    ソーシャルネットワーキング・システムのユーザが前記ソーシャルネットワーキング・システムにおいて対話したことのある第1組のエンティティと、前記ソーシャルネットワーキング・システム内の第2組のエンティティと、にアクセスする工程と、
    ディープラーニングモデルを用いて前記第1組のエンティティの第1組のベクトル表現を決定する工程と、
    前記第1組のエンティティから対象エンティティを選択する工程と、
    前記第1組のベクトル表現から、前記対象エンティティのベクトル表現を削除する工程と、
    前記第1組のベクトル表現うちの残りのベクトル表現を結合して、前記ユーザのベクトル表現を決定する工程と、
    前記ディープラーニングモデルを用いて、前記第2組のエンティティの第2組のベクトル表現を決定する工程と、
    前記ユーザのベクトル表現を前記対象エンティティのベクトル表現と比較することによって、前記対象エンティティと前記ユーザとの類似度スコアを計算し、前記ユーザのベクトル表現を前記第2組のエンティティのうちの複数のエンティティのベクトル表現と比較することによって、前記ユーザと前記第2組のエンティティのうちの複数のエンティティとの類似度スコアを計算する工程と、
    前記ディープラーニングモデルを用いて、前記類似度スコアに基づいて前記第2組のエンティティのうちの1つまたは複数のエンティティのベクトル表現を更新する工程と、を行うように動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体。
  15. 前記ソフトウェアは、実行されると、
    前記ユーザ、前記第1組のエンティティの各エンティティ、および前記第2組のエンティティの各エンティティの埋め込みを決定する工程を行うようにさらに動作可能であり、
    各埋め込みが、多次元埋め込み空間内の1点に対応し、
    前記多次元埋め込み空間が、複数のエンティティに対応する複数の点を備え、
    各埋め込みが、前記ディープラーニングモデルを用いて決定された対応するベクトル表現に基づく、請求項14に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  16. 前記ソフトウェアは、実行されると、
    前記対象エンティティおよび前記第2組のエンティティの各エンティティに、前記類似度スコアに基づいて対応するランキングを割り当てる工程を行うようにさらに動作可能であり、
    前記第2組のエンティティのうちの前記1つまたは複数のエンティティのベクトル表現を更新する工程は、さらに前記ランキングに基づく、請求項14に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  17. 1つまたは複数のプロセッサと、該1つまたは複数のプロセッサに接続されて前記1つまたは複数のプロセッサによって実行可能な命令を含むメモリと、を備えるシステムであって、前記1つまたは複数のプロセッサは、前記命令を実行すると、
    ソーシャルネットワーキング・システムのユーザが前記ソーシャルネットワーキング・システムにおいて対話したことのある第1組のエンティティと、前記ソーシャルネットワーキング・システム内の第2組のエンティティと、にアクセスする工程と、
    ディープラーニングモデルを用いて前記第1組のエンティティの第1のベクトル表現を決定する工程と、
    前記第1組のエンティティから対象エンティティを選択する工程と、
    前記第1組のベクトル表現から、前記対象エンティティのベクトル表現を削除する工程と、
    前記第1組のベクトル表現のうちの記残りのベクトル表現を結合して、前記ユーザのベクトル表現を決定する工程と、
    前記ディープラーニングモデルを用いて、前記第2組のエンティティの第2組のベクトル表現を決定する工程と、
    前記ユーザのベクトル表現を前記対象エンティティのベクトル表現と比較することによって、前記対象エンティティと前記ユーザとの類似度スコアを計算し、前記ユーザのベクトル表現を前記第2組のエンティティのうちの複数のエンティティのベクトル表現と比較することによって、前記ユーザと前記第2組のエンティティのうちの複数のエンティティとの類似度スコアを計算する工程と、
    前記ディープラーニングモデルを用いて、前記類似度スコアに基づいて前記第2組のエンティティのうちの1つまたは複数のエンティティのベクトル表現を更新する工程と、を行うように動作可能である、システム。
  18. 前記1つまたは複数のプロセッサは、前記命令を実行すると、
    前記ユーザ、前記第1組のエンティティの各エンティティ、および前記第2組のエンティティの各エンティティの埋め込みを決定する工程を行うようにさらに動作可能であり、
    各埋め込みが、多次元埋め込み空間内の1点に対応し、
    前記多次元埋め込み空間が、複数のエンティティに対応する複数の点を備え、
    各埋め込みが、前記ディープラーニングモデルを用いて決定された対応するベクトル表現に基づく、請求項17に記載のシステム。
  19. 前記1つまたは複数のプロセッサは、前記命令を実行すると、
    前記対象エンティティおよび前記第2組のエンティティの各エンティティに、前記類似度スコアに基づいて対応するランキングを割り当てる工程を行うようにさらに動作可能であり、
    前記第2組のエンティティのうちの前記1つまたは複数のエンティティのベクトル表現を更新する工程は、さらに前記ランキングに基づく、請求項17に記載のシステム。
  20. コンピュータにより実行される方法であって、
    1つまたは複数のコンピューティング・デバイスが、ソーシャルネットワーキング・システムのユーザが前記ソーシャルネットワーキング・システムにおいて対話したことのある第1組のエンティティ、たとえば、1つまたは複数のデータストア内に格納されている第1組のデータ・オブジェクトと、前記ソーシャルネットワーキング・システム内の第2組のエンティティ、たとえば、1つまたは複数のデータストア内に格納されている第2組のデータ・オブジェクトと、にアクセスする工程と、
    1つまたは複数のコンピューティング・デバイスが、ディープラーニングモデルを用いて前記第1組のエンティティの第1組のベクトル表現を決定する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記第1組のエンティティから対象エンティティを選択する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記第1組のベクトル表現から、前記対象エンティティのベクトル表現を削除する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記第1組のベクトル表現のうちの残りのベクトル表現を結合して、前記ユーザのベクトル表現を決定する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記ディープラーニングモデルを用いて、前記第2組のエンティティの第2組のベクトル表現を決定する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記ユーザのベクトル表現を前記対象エンティティのベクトル表現と比較することによって、前記対象エンティティと前記ユーザとの類似度スコアを計算し、前記ユーザのベクトル表現を前記第2組のエンティティのうちの複数のエンティティのベクトル表現と比較することによって、前記ユーザと前記第2組のエンティティのうちの複数のエンティティとの類似度スコアを計算する工程と、
    1つまたは複数のコンピューティング・デバイスが、前記ディープラーニングモデルを用いて、前記類似度スコアに基づいて前記第2組のエンティティのうちの1つまたは複数のエンティティのベクトル表現を更新する工程と、を備える、方法。
  21. 1つまたは複数のコンピューティング・デバイスが、前記ユーザ、前記第1組のエンティティの各エンティティ、および前記第2組のエンティティの各エンティティの埋め込みを決定する工程をさらに備え、
    各埋め込みが、多次元埋め込み空間内の1点に対応し、
    前記多次元埋め込み空間が、複数のエンティティに対応する複数の点を備え、
    各埋め込みが、前記ディープラーニングモデルを用いて決定された対応するベクトル表現に基づく、請求項20に記載の方法。
  22. 1つまたは複数のコンピューティング・デバイスが、前記対象エンティティおよび前記第2組のエンティティの各エンティティに、前記類似度スコアに基づいて対応するランキングを割り当てる工程をさらに備え、
    前記第2組のエンティティのうちの前記1つまたは複数のエンティティのベクトル表現を更新する工程は、さらに前記ランキングに基づき、
    前記第2組のエンティティのうち、ベクトル表現が更新された1つまたは複数のエンティティのそれぞれは、任意で前記対象エンティティの前記類似度スコアよりも大きい類似度スコアを有する、請求項20または21に記載の方法。
  23. 前記多次元埋め込み空間に検索アルゴリズムを適用することによって、複数のエンティティから前記ユーザに関連性があるとして1つまたは複数のエンティティを識別する工程をさらに備え、
    識別された前記1つまたは複数のエンティティの1つまたは複数の埋め込みに対応する点は、前記多次元埋め込み空間において前記ユーザの前記埋め込みに対応する前記点の閾値距離内にあり、
    任意で、前記ユーザに対して表示するために、前記識別された1つまたは複数のエンティティを、前記ユーザのクライアント・システムに送信する工程、
    任意で、ユーザおよびサーバの両方もしくは一方に関連付けられているクライアント・デバイス上に、識別された1つもしくは複数のエンティティをキャッシュもしくは事前キャッシュする工程であって、好ましくは、1つもしくは複数のユーザまたは選択されたユーザ・グループの各ユーザに関して行われる前記キャッシュもしくは事前キャッシュする工程、ならびに
    任意で、前記識別されたエンティティから選択されるエンティティをクラスタリングする工程、および任意で、前記多次元埋め込み空間内の対応する位置に基づいて、エンティティのクラスタをデータストア内に格納する工程、のうちの少なくとも1つを備える、請求項20から22のいずれか1項に記載の方法。
  24. 前記対象エンティティは、ランダムに選択される、請求項20から23のいずれか1項に記載の方法。
  25. 前記ユーザは、前記ソーシャルネットワーキング・システムにおいて前記第2組のエンティティと対話したことがない、請求項20から24のいずれか1項に記載の方法。
  26. 前記ソーシャルネットワーキング・システムは、複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャルグラフを備え、
    前記複数のノードのうちの2つのノード間の前記エッジのそれぞれが、それらの間の一次の隔たり度を表し、
    前記ノードは、
    前記ユーザに対応する第1のノードと、
    各々、対応するエンティティに対応する複数の第2のノードと、を含む、請求項20から25のいずれか1項に記載の方法。
  27. 前記ユーザは、前記ユーザのソーシャルネットワーキング・アクションによって前記第1組のエンティティと対話したことがあり、
    前記ソーシャルネットワーキング・アクションは、前記第1のノードと、前記第1組のエンティティの各エンティティに対応する各第2のノードとに関して行われ、
    好ましくは、前記ソーシャルネットワーキング・アクションは、エンティティに対するアフィニティの表明を表す、請求項26に記載の方法。
  28. 前記エンティティのうちの少なくとも1つは、前記ソーシャルネットワーキング・システムによってホストされるページを含む、請求項20から27のいずれか1項に記載の方法。
  29. 前記ベクトル表現は、d次元強度ベクトルを含む、請求項20から28のいずれか1項に記載の方法。
  30. ソフトウェアを備える1つまたは複数のコンピュータ可読非一時的記憶媒体であって、
    前記ソフトウェアは、実行されると、
    請求項20から29の少なくとも1項による方法を行うように、特に、
    ソーシャルネットワーキング・システムのユーザが、前記ソーシャルネットワーキング・システムにおいて対話したことのある第1組のエンティティと、前記ソーシャルネットワーキング・システム内の第2組のエンティティと、にアクセスする工程と、
    ディープラーニングモデルを用いて前記第1組のエンティティの第1組のベクトル表現を決定する工程と、
    前記第1組のエンティティから対象エンティティを選択する工程と、
    前記第1組のベクトル表現から、前記対象エンティティのベクトル表現を削除する工程と、
    前記第1組のベクトル表現のうちの残りのベクトル表現を結合して、前記ユーザのベクトル表現を決定する工程と、
    前記ディープラーニングモデルを用いて、前記第2組のエンティティの第2のベクトル表現を決定する工程と、
    前記ユーザのベクトル表現を前記対象エンティティのベクトル表現と比較することによって、前記対象エンティティと前記ユーザとの類似度スコアを計算し、前記ユーザのベクトル表現を前記第2組のエンティティのうちの複数のエンティティのベクトル表現と比較することによって、前記ユーザと前記第2組のエンティティのうちの複数のエンティティとの類似度スコアを計算する工程と、
    前記ディープラーニングモデルを用いて、前記類似度スコアに基づいて前記第2組のエンティティのうちの1つまたは複数のエンティティのベクトル表現を更新する工程と、を行うように動作可能である、1つまたは複数のコンピュータ可読非一時的記憶媒体。
  31. 前記ソフトウェアは、実行されると、
    前記ユーザ、前記第1組のエンティティの各エンティティ、および前記第2組のエンティティの各エンティティの埋め込みを決定する工程を行うようにさらに動作可能であり、
    各埋め込みが、多次元埋め込み空間内の1点に対応し、
    前記多次元埋め込み空間が、複数のエンティティに対応する複数の点を備え、
    各埋め込みが、前記ディープラーニングモデルを用いて決定された対応するベクトル表現に基づく、請求項30に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  32. 前記ソフトウェアは、実行されると、
    前記対象エンティティおよび前記第2組のエンティティの各エンティティに、前記類似度スコアに基づいてそれぞれのランキングを割り当てる工程を行うようにさらに動作可能であり、
    前記第2組のエンティティのうちの前記1つまたは複数のエンティティのベクトル表現を更新する工程は、さらに前記ランキングに基づく、請求項30または31に記載の媒体。
  33. 1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサに接続されて前記1つまたは複数のプロセッサによって実行可能な命令を含むメモリと、を備えるシステムであって、
    前記1つまたは複数のプロセッサは、前記命令を実行すると、
    請求項20から29のうちの少なくとも1項による方法を行うように、特に、
    ソーシャルネットワーキング・システムのユーザが前記ソーシャルネットワーキング・システムにおいて対話したことのある第1組のエンティティと、前記ソーシャルネットワーキング・システム内の第2組のエンティティと、にアクセスする工程と、
    ディープラーニングモデルを用いて前記第1組のエンティティの第1組のベクトル表現を決定する工程と、
    前記第1組のエンティティから対象エンティティを選択する工程と、
    前記第1組のベクトル表現から、前記対象エンティティの前記ベクトル表現を削除する工程と、
    前記第1組のベクトル表現のうちの残りのベクトル表現を結合して、前記ユーザのベクトル表現を決定する工程と、
    前記ディープラーニングモデルを用いて、前記第2組のエンティティの第2組のベクトル表現を決定する工程と、
    前記ユーザのベクトル表現を前記対象エンティティのベクトル表現と比較することによって、前記対象エンティティと前記ユーザとの類似度スコアを計算し、前記ユーザのベクトル表現を前記第2組のエンティティのうちの複数のエンティティのベクトル表現と比較することによって、前記ユーザと前記第2組のエンティティのうちの複数のエンティティとの類似度スコアを計算する工程と、
    前記ディープラーニングモデルを用いて、前記類似度スコアに基づいて前記第2組のエンティティのうちの1つまたは複数のエンティティのベクトル表現を更新する工程と、を行うように動作可能である、システム。
  34. 前記1つまたは複数のプロセッサは、前記命令を実行すると、
    前記ユーザ、前記第1組のエンティティの各エンティティ、および前記第2組のエンティティの各エンティティの埋め込みを決定する工程を行うようにさらに動作可能であり、
    各埋め込みが、多次元埋め込み空間内の1点に対応し、
    前記多次元埋め込み空間が、複数のエンティティに対応する複数の点を備え、
    各埋め込みが、前記ディープラーニングモデルを用いて決定された対応するベクトル表現に基づく、請求項33に記載のシステム。
  35. 前記1つまたは複数のプロセッサは、前記命令を実行すると、前記対象エンティティおよび前記第2組のエンティティの各エンティティに、前記類似度スコアに基づいてそれぞれのランキングを割り当てる工程を行うようにさらに動作可能であり、
    前記第2組のエンティティのうちの前記1つまたは複数のエンティティの前記ベクトル表現を更新する工程は、さらに前記ランキングに基づく、請求項33または32に記載のシステム。
JP2018534041A 2015-12-30 2016-02-18 ディープラーニングモデルを用いたエンティティの識別 Active JP6689389B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/984,956 2015-12-30
US14/984,956 US10402750B2 (en) 2015-12-30 2015-12-30 Identifying entities using a deep-learning model
PCT/US2016/018367 WO2017116488A1 (en) 2015-12-30 2016-02-18 Identifying entities using a deep-learning model

Publications (3)

Publication Number Publication Date
JP2019506664A true JP2019506664A (ja) 2019-03-07
JP2019506664A5 JP2019506664A5 (ja) 2019-04-18
JP6689389B2 JP6689389B2 (ja) 2020-04-28

Family

ID=59225437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018534041A Active JP6689389B2 (ja) 2015-12-30 2016-02-18 ディープラーニングモデルを用いたエンティティの識別

Country Status (10)

Country Link
US (2) US10402750B2 (ja)
JP (1) JP6689389B2 (ja)
KR (1) KR20180099812A (ja)
CN (1) CN108604315B (ja)
AU (1) AU2016380683A1 (ja)
BR (1) BR112018013550A2 (ja)
CA (1) CA3009157A1 (ja)
IL (1) IL260165A (ja)
MX (1) MX2018008104A (ja)
WO (1) WO2017116488A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022137214A (ja) * 2021-07-15 2022-09-21 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド インスタントメッセージングオブジェクトの検索方法、その検索装置、電子機器及び記憶媒体

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387464B2 (en) * 2015-08-25 2019-08-20 Facebook, Inc. Predicting labels using a deep-learning model
US11019177B2 (en) * 2016-07-21 2021-05-25 Facebook, Inc. Selecting assets
US20180060747A1 (en) * 2016-08-23 2018-03-01 Linkedln Corporation Intelligent candidate generation for large-scale link recommendation
US10026021B2 (en) * 2016-09-27 2018-07-17 Facebook, Inc. Training image-recognition systems using a joint embedding model on online social networks
US10223359B2 (en) * 2016-10-10 2019-03-05 The Directv Group, Inc. Determining recommended media programming from sparse consumption data
US10586157B2 (en) * 2016-11-23 2020-03-10 Microsoft Technology Licensing, Llc Skill-based title prediction model
US10810492B2 (en) * 2017-01-27 2020-10-20 Hewlett Packard Enterprise Development Lp Memory side acceleration for deep learning parameter updates
US11669220B2 (en) * 2017-03-20 2023-06-06 Autodesk, Inc. Example-based ranking techniques for exploring design spaces
US11488028B2 (en) * 2017-03-31 2022-11-01 Yahoo Assets Llc Collaborative personalization via simultaneous embedding of users and their preferences
KR101975750B1 (ko) * 2017-09-27 2019-05-07 주식회사 종달랩 사용자 맞춤형 의류 부자재 추천 및 주문 시스템
US20190130444A1 (en) * 2017-11-02 2019-05-02 Facebook, Inc. Modeling content item quality using weighted rankings
KR20190054454A (ko) 2017-11-13 2019-05-22 삼성전자주식회사 인공 신경망의 양자화 방법 및 장치
US11475351B2 (en) * 2017-11-15 2022-10-18 Uatc, Llc Systems and methods for object detection, tracking, and motion prediction
US11989774B1 (en) * 2017-11-20 2024-05-21 Wells Fargo Bank, N.A. Systems and methods for providing digital trusted data
US10699398B2 (en) * 2017-12-13 2020-06-30 Uber Technologies, Inc. Deep learning coordinate prediction using satellite and service data
US10809083B1 (en) 2017-12-30 2020-10-20 Uber Technologies, Inc. Using sensor data for coordinate prediction
US11455663B2 (en) * 2018-01-30 2022-09-27 Walmart Apollo, Llc System and method for rendering advertisements using lookalike model
CN110232393B (zh) * 2018-03-05 2022-11-04 腾讯科技(深圳)有限公司 数据的处理方法、装置、存储介质和电子装置
US11500910B2 (en) * 2018-03-21 2022-11-15 International Business Machines Corporation Similarity based negative sampling analysis
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US11115410B1 (en) 2018-04-20 2021-09-07 Facebook, Inc. Secure authentication for assistant systems
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11010436B1 (en) 2018-04-20 2021-05-18 Facebook, Inc. Engaging users by personalized composing-content recommendation
EP3557498A1 (en) * 2018-04-20 2019-10-23 Facebook, Inc. Processing multimodal user input for assistant systems
US10978056B1 (en) 2018-04-20 2021-04-13 Facebook, Inc. Grammaticality classification for natural language generation in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
CN118133039A (zh) * 2018-05-01 2024-06-04 谷歌有限责任公司 加速大规模相似性计算
US11106859B1 (en) * 2018-06-26 2021-08-31 Facebook, Inc. Systems and methods for page embedding generation
US10896295B1 (en) 2018-08-21 2021-01-19 Facebook, Inc. Providing additional information for identified named-entities for assistant systems
US10949616B1 (en) 2018-08-21 2021-03-16 Facebook, Inc. Automatically detecting and storing entity information for assistant systems
US11151175B2 (en) 2018-09-24 2021-10-19 International Business Machines Corporation On-demand relation extraction from text
KR102093233B1 (ko) * 2018-09-27 2020-03-26 동국대학교 산학협력단 신경망 기반의 음악 자동 생성 장치 및 그 방법
ES2961676T3 (es) * 2018-09-28 2024-03-13 Permutive Ltd Sistema de clasificación rápido y eficiente
CN109543046A (zh) * 2018-11-16 2019-03-29 重庆邮电大学 一种基于深度学习的机器人数据互操作领域本体构建方法
CN109582802B (zh) * 2018-11-30 2020-11-03 国信优易数据股份有限公司 一种实体嵌入方法、装置、介质及设备
US11797843B2 (en) * 2019-03-06 2023-10-24 Samsung Electronics Co., Ltd. Hashing-based effective user modeling
WO2020185234A1 (en) 2019-03-14 2020-09-17 Hewlett-Packard Development Company, L.P. Preprocessing sensor data for machine learning
US11983909B2 (en) 2019-03-14 2024-05-14 Hewlett-Packard Development Company, L.P. Responding to machine learning requests from multiple clients
US11080477B2 (en) 2019-03-19 2021-08-03 Microsoft Technology Licensing, Llc Form-based formula editing in spreadsheets
WO2020227434A1 (en) * 2019-05-07 2020-11-12 Cerebri AI Inc. Predictive, machine-learning, locale-aware computer models suitable for location- and trajectory-aware training sets
US11042706B2 (en) * 2019-05-20 2021-06-22 Sap Se Natural language skill generation for digital assistants
CN110245980B (zh) * 2019-05-29 2023-06-30 创新先进技术有限公司 基于神经网络模型确定目标用户激励形式的方法和设备
US11205048B2 (en) * 2019-06-18 2021-12-21 International Business Machines Corporation Contextual disambiguation of an entity in a conversation management system
US11657094B2 (en) 2019-06-28 2023-05-23 Meta Platforms Technologies, Llc Memory grounded conversational reasoning and question answering for assistant systems
US11442992B1 (en) 2019-06-28 2022-09-13 Meta Platforms Technologies, Llc Conversational reasoning with knowledge graph paths for assistant systems
CN110689166B (zh) * 2019-09-02 2024-04-05 中国平安人寿保险股份有限公司 一种基于随机梯度下降算法的用户行为分析方法及装置
US11132403B2 (en) 2019-09-06 2021-09-28 Digital Asset Capital, Inc. Graph-manipulation based domain-specific execution environment
US10831452B1 (en) 2019-09-06 2020-11-10 Digital Asset Capital, Inc. Modification of in-execution smart contract programs
US11386144B2 (en) * 2019-09-09 2022-07-12 Adobe Inc. Identifying digital attributes from multiple attribute groups within target digital images utilizing a deep cognitive attribution neural network
US11531831B2 (en) * 2019-09-30 2022-12-20 Meta Platforms, Inc. Managing machine learning features
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
CN111160564B (zh) * 2019-12-17 2023-05-19 电子科技大学 一种基于特征张量的中文知识图谱表示学习方法
CN111177581A (zh) * 2019-12-25 2020-05-19 清华大学 一种基于多平台的社交电商网站商品推荐方法及装置
US11941506B2 (en) * 2020-02-04 2024-03-26 Hubbell Incorporated System and method for monitoring via smart devices
US11562744B1 (en) 2020-02-13 2023-01-24 Meta Platforms Technologies, Llc Stylizing text-to-speech (TTS) voice response for assistant systems
US11238113B2 (en) * 2020-04-01 2022-02-01 Grand Rounds Inc. Systems and methods for machine learning models for search engine performance optimization
US11159767B1 (en) 2020-04-07 2021-10-26 Facebook Technologies, Llc Proactive in-call content recommendations for assistant systems
US11657304B2 (en) * 2020-05-01 2023-05-23 Microsoft Technology Licensing, Llc Assessing similarity between items using embeddings produced using a distributed training framework
US11222358B2 (en) 2020-05-29 2022-01-11 At&T Intellectual Property I, L.P. Facilitation of artificial intelligence predictions of telecommunications customers
CN111698327B (zh) * 2020-06-12 2022-07-01 中国人民解放军国防科技大学 基于聊天室架构的分布并行强化学习模型训练方法及系统
US11658835B2 (en) 2020-06-29 2023-05-23 Meta Platforms, Inc. Using a single request for multi-person calling in assistant systems
US20220027373A1 (en) * 2020-07-21 2022-01-27 Tubi, Inc. Intuitive content search results suggestion system
US20220027409A1 (en) * 2020-07-23 2022-01-27 Vmware, Inc. Entity to vector representation from graphs in a computing system
CN116249987A (zh) * 2020-09-22 2023-06-09 维萨国际服务协会 具有更新向量的基于图学习的系统
CN112507312B (zh) * 2020-12-08 2022-10-14 电子科技大学 在深度学习系统中基于数字指纹的验证与追踪方法
US11563706B2 (en) 2020-12-29 2023-01-24 Meta Platforms, Inc. Generating context-aware rendering of media contents for assistant systems
US11809480B1 (en) 2020-12-31 2023-11-07 Meta Platforms, Inc. Generating dynamic knowledge graph of media contents for assistant systems
US11775533B2 (en) * 2021-01-14 2023-10-03 Capital One Services, Llc Customizing search queries for information retrieval
US11899766B2 (en) 2021-03-15 2024-02-13 International Business Machines Corporation User authentication using original and modified images
US20220327637A1 (en) * 2021-04-12 2022-10-13 Microsoft Technology Licensing, Llc Interaction based social distance quantification
US12118790B2 (en) 2021-04-21 2024-10-15 Meta Platforms, Inc. Auto-capture of interesting moments by assistant systems
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US12045568B1 (en) 2021-11-12 2024-07-23 Meta Platforms, Inc. Span pointer networks for non-autoregressive task-oriented semantic parsing for assistant systems
US11983329B1 (en) 2022-12-05 2024-05-14 Meta Platforms, Inc. Detecting head gestures using inertial measurement unit signals
KR102615014B1 (ko) * 2022-12-15 2023-12-19 한국과학기술원 인터넷 포럼들 간의 사회적 영향력 분석 방법 및 그 장치
US12112001B1 (en) 2023-03-14 2024-10-08 Meta Platforms, Inc. Preventing false activations based on don/doff detection for assistant systems
KR102649675B1 (ko) * 2023-12-20 2024-03-20 주식회사 인텔렉투스 그래프 자료 구조 및 벡터 데이터가 통합된 풀 텍스트 인덱스를 이용한 정보 제공 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015164022A (ja) * 2014-02-28 2015-09-10 日本電気株式会社 マッチング装置、マッチング方法及びプログラム
JP2015536056A (ja) * 2012-08-31 2015-12-17 フェイスブック,インク. ソーシャルネットワーキングを通したテレビおよびビデオ番組の共有

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294101A1 (en) 2005-06-24 2006-12-28 Content Analyst Company, Llc Multi-strategy document classification system and method
WO2007002820A2 (en) 2005-06-28 2007-01-04 Yahoo! Inc. Search engine with augmented relevance ranking by community participation
US7970727B2 (en) * 2007-11-16 2011-06-28 Microsoft Corporation Method for modeling data structures by creating digraphs through contexual distances
WO2012114452A1 (ja) * 2011-02-22 2012-08-30 三菱電機株式会社 類似度算出システム及び類似度算出装置及びコンピュータプログラム及び類似度算出方法
EP2570970A1 (en) 2011-09-16 2013-03-20 Technische Universität Berlin Method and system for the automatic analysis of an image of a biological sample
US20130073568A1 (en) * 2011-09-21 2013-03-21 Vladimir Federov Ranking structured objects and actions on a social networking system
US9348886B2 (en) 2012-12-19 2016-05-24 Facebook, Inc. Formation and description of user subgroups
US9141906B2 (en) 2013-03-13 2015-09-22 Google Inc. Scoring concept terms using a deep network
US9147154B2 (en) 2013-03-13 2015-09-29 Google Inc. Classifying resources using a deep network
US9552055B2 (en) 2013-07-15 2017-01-24 Facebook, Inc. Large scale page recommendations on online social networks
US9460215B2 (en) 2013-12-19 2016-10-04 Facebook, Inc. Ranking recommended search queries on online social networks
CN103886090B (zh) * 2014-03-31 2018-01-02 北京搜狗科技发展有限公司 基于用户喜好的内容推荐方法及装置
US9535960B2 (en) 2014-04-14 2017-01-03 Microsoft Corporation Context-sensitive search using a deep learning model
US20150310862A1 (en) * 2014-04-24 2015-10-29 Microsoft Corporation Deep learning for semantic parsing including semantic utterance classification
US20150331908A1 (en) * 2014-05-15 2015-11-19 Genetic Finance (Barbados) Limited Visual interactive search
US9484022B2 (en) 2014-05-23 2016-11-01 Google Inc. Training multiple neural networks with different accuracy
CN104199875B (zh) * 2014-08-20 2017-10-27 百度在线网络技术(北京)有限公司 一种搜索推荐方法及装置
US10699198B2 (en) * 2014-10-21 2020-06-30 Oath Inc. Method and system for cold-start item recommendation
US9589237B1 (en) * 2015-11-17 2017-03-07 Spotify Ab Systems, methods and computer products for recommending media suitable for a designated activity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015536056A (ja) * 2012-08-31 2015-12-17 フェイスブック,インク. ソーシャルネットワーキングを通したテレビおよびビデオ番組の共有
JP2015164022A (ja) * 2014-02-28 2015-09-10 日本電気株式会社 マッチング装置、マッチング方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022137214A (ja) * 2021-07-15 2022-09-21 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド インスタントメッセージングオブジェクトの検索方法、その検索装置、電子機器及び記憶媒体

Also Published As

Publication number Publication date
US20190340538A1 (en) 2019-11-07
KR20180099812A (ko) 2018-09-05
WO2017116488A1 (en) 2017-07-06
BR112018013550A2 (pt) 2018-12-04
CA3009157A1 (en) 2017-07-06
CN108604315A (zh) 2018-09-28
AU2016380683A1 (en) 2018-08-16
US10402750B2 (en) 2019-09-03
MX2018008104A (es) 2018-08-23
JP6689389B2 (ja) 2020-04-28
CN108604315B (zh) 2022-01-11
IL260165A (en) 2018-07-31
US20170193390A1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
JP6689389B2 (ja) ディープラーニングモデルを用いたエンティティの識別
US11599566B2 (en) Predicting labels using a deep-learning model
US10592511B2 (en) Search client context on online social networks
US11710079B2 (en) Generating recommendations using a deep-learning model
US10552759B2 (en) Iterative classifier training on online social networks
US10210261B2 (en) Ranking and filtering groups recommendations
US9679024B2 (en) Social-based spelling correction for online social networks
US10268763B2 (en) Ranking external content on online social networks
US10699320B2 (en) Marketplace feed ranking on online social networks
US20180121550A1 (en) Ranking Search Results Based on Lookalike Users on Online Social Networks
US20170132510A1 (en) Identifying Content Items Using a Deep-Learning Model
CN113850393A (zh) 基于图学习的特征工程的系统和方法
JP2018501584A (ja) オンライン・ソーシャル・ネットワーク上でニュース関連のコンテンツを検索するための提案キーワード
US10467238B2 (en) Search perceived performance
EP3188086B1 (en) Identifying entities using a deep-learning model
US9450992B2 (en) Node properties in a social-networking system
EP3166025A1 (en) Identifying content items using a deep-learning model
US20240193232A1 (en) Post syndication through artificial intelligence cross-pollination

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190214

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200310

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200407

R150 Certificate of patent or registration of utility model

Ref document number: 6689389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250