JP2023524362A - パターンベースの分類 - Google Patents

パターンベースの分類 Download PDF

Info

Publication number
JP2023524362A
JP2023524362A JP2022554665A JP2022554665A JP2023524362A JP 2023524362 A JP2023524362 A JP 2023524362A JP 2022554665 A JP2022554665 A JP 2022554665A JP 2022554665 A JP2022554665 A JP 2022554665A JP 2023524362 A JP2023524362 A JP 2023524362A
Authority
JP
Japan
Prior art keywords
interaction
content
interactions
encoded
sequence
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
JP2022554665A
Other languages
English (en)
Other versions
JP7549668B2 (ja
Inventor
ジレ・ジョウ
チョン・ルオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2023524362A publication Critical patent/JP2023524362A/ja
Application granted granted Critical
Publication of JP7549668B2 publication Critical patent/JP7549668B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

方法は、クライアントデバイスにおいて発生した複数のインタラクションのうち、所与のインタラクションごとに、(i)イベントタイプと、(ii)所与のイベントと、所与のイベントの前に発生した前のイベントとの間の時間の長さを指定する遅延期間とを示すインタラクションデータを受信するステップと、各所与のインタラクションを、(i)イベントタイプと、(ii)遅延期間との組合せである標準化されたフォーマットを有するエンコードされたインタラクションにエンコードするステップと、エンコードされたインタラクションのシーケンスを含むインタラクション署名を生成するステップと、ユーザインタラクションのシーケンスを有効または無効としてラベル付けするようにトレーニングされたモデルを使用して、エンコードされたインタラクションのシーケンスを処理するステップであって、モデルを使用して、エンコードされたインタラクションのシーケンスを無効としてラベル付けするステップ、およびエンティティにコンテンツを提供するために後で識別された要求に応答して、エンコードされたインタラクションのシーケンスを実行したエンティティへのコンテンツのセットの配信を防止するステップを含む、ステップとを含む。

Description

本明細書は、インタラクションデータのシーケンスのデータ処理とパターンベースの分類に関する。
一般に、本明細書に記載されている主題の1つの革新的な態様は、クライアントデバイスにおいて発生した複数のインタラクションのうち、所与のインタラクションごとに、(i)イベントタイプと、(ii)所与のイベントと、所与のイベントの前に発生した前のイベントとの間の時間の長さを指定する遅延期間とを示すインタラクションデータを受信するステップと、各所与のインタラクションを、(i)所与のインタラクションのイベントタイプと、(ii)所与のインタラクションのインタラクションデータによって指定された遅延期間との組合せである標準化されたフォーマットを有するエンコードされたインタラクションにエンコードするステップと、エンコードされたインタラクションのシーケンスを含むインタラクション署名を生成するステップと、ユーザインタラクションのシーケンスを有効または無効として分類するようにトレーニングされたモデルを使用して、エンコードされたインタラクションのシーケンスを処理するステップであって、モデルを使用して、エンコードされたインタラクションのシーケンスを無効として分類するステップ、およびエンティティにコンテンツを提供するために後で識別された要求に応答して、エンコードされたインタラクションのシーケンスを実行したエンティティへのコンテンツのセットの配信を防止するステップを含む、ステップとを含む、インタラクションデータのシーケンスを分類するための方法において具現化され得る。
これらおよび他の実施形態はそれぞれ、以下の特徴の1つまたは複数を任意選択で含み得る。
いくつかの実装形態では、再帰型ニューラルネットワークは、長短期記憶(LSTM)ネットワークである。
いくつかの実装形態では、コンテンツのセットの配信を防止するステップは、指定されたタイプのコンテンツをエンティティに提供することを控えるステップを含む。
いくつかの実装形態では、コンテンツのセットの配信を防止するステップは、エンティティに対応する1つまたは複数のデバイスへのコンテンツの配信を一時的に防止するステップを含む。
いくつかの実装形態では、本方法は、無効として分類されたエンコードされたインタラクションのシーケンスに対応するコンテンツ配信ログの結果エントリを識別するステップと、無効として分類されたエンコードされたインタラクションのシーケンスに対応する結果エントリを無効にするステップとを含む。
いくつかの実装形態では、エンコードされたインタラクションのシーケンスに対応する結果エントリを無効にするステップは、メモリから結果エントリを削除するステップを含む。
いくつかの実装形態では、インタラクションデータを受信するステップは、所与のエンティティについて、コンテンツの複数の異なる部分とのインタラクションに対応するインタラクションデータの複数のセットを収集するステップを含み、インタラクション署名を生成するステップは、コンテンツのそれぞれの異なる部分とのインタラクションに対応するインタラクションデータのセットごとに別個のインタラクション署名を生成するステップを含み、本方法は、インタラクションデータの各セットに割り当てられたラベル、または集約してインタラクションデータの複数のセットに割り当てられた集約ラベルに基づいて、所与のエンティティを実際のユーザまたは自動化されたボットとして分類するステップであって、コンテンツのセットの配信を防止するステップが、所与のエンティティが自動化されたボットとして分類される場合、コンテンツのセットの配信を防止するステップを含む、ステップを含む。
この態様の他の実施形態は、方法のアクションを実行するように構成され、コンピュータストレージデバイスにエンコードされた、対応するシステム、装置、およびコンピュータプログラムを含み得る。
本明細書に記載されている主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装することができる。オンラインアクティビティの評価および/または分類は、イベントのシーケンス内のエンティティ行動のパターンに基づいて実行することができる。エンティティは、たとえば、ユーザ、組織、コンテンツプロバイダ、コンテンツ発行者、および企業を含む。一般に、オンラインアクティビティの分類方法は、状態遷移をモデル化するために確率的ルールを使用するが、線形であり、短期的な影響の分析に限定される。たとえば、既存の方法は、順次情報を分類するためにマルコフ連鎖ベースのモデルを使用することができるが、マルコフ連鎖は通常、考慮できる後方ステップ数に制限がある。さらに、マルコフ連鎖は、連鎖内のリンク間のインタラクションの非線形効果を説明することができない。
本明細書に記載の方法は、シーケンシャル情報とコンテキスト情報の両方を使用する改善されたアクティビティ分類方法を提供し、それによって、様々な長さのシーケンスに適合しない、またはシーケンス内で複雑なインタラクションを有する既存の方法の欠点を回避する。特に、本方法は、エンティティに関連するアクティビティイベントの特定のシーケンスを有効または無効のいずれかとして分類するモデルを使用し、分類に基づいてエンティティへのコンテンツの配信を調整するかどうか、または調整する方法を通知するために、分類を使用する。たとえば、イベントがマルウェアや悪意のあるサードパーティによって実行された場合、またはその影響下で実行された場合、アクティビティイベントのシーケンスは無効になる可能性がある。別の例では、行動がユーザまたはユーザのタイプに特徴的でない場合、あるいはシーケンスが人間によって実行できない可能性がある場合(たとえば、実行されたインタラクションのタイプが、人間が実行するには速すぎた場合)、アクティビティイベントのシーケンスは無効になる可能性がある。無効なシーケンスを実行している、またはそれに関連付けられていると識別されたエンティティへのコンテンツの配信を削減または完全に排除することによって、本方法は、無効なインタラクションを起こしやすいエンティティにコンテンツを配信するために費やされるリソースの量を削減し、ネットワーク全体でより効率的にコンテンツを提供し、本方法は、実際にコンテンツを表示していないエンティティへのコンテンツの配信を防ぐ。言い換えれば、ネットワーク帯域幅、プロセッササイクル、および/または割り当てられたメモリなどのコンピューティングリソースは、これらのリソースを、コンテンツを実際に表示していないエンティティにコンテンツを配信するために使用することによって浪費されることはない。
さらに、記載された方法は、無効としてラベル付けされたエンコードされたインタラクションのシーケンスに応答して、コンテンツ配信ログ内のエントリをさかのぼって無効にすることを含むことができる。次いで、これらの無効化されたエントリはメモリから削除することができるため、コンテンツ配信システムによって使用されるメモリの量を削減することができる。
説明されている方法は、たとえば、高リスクの訪問からの広告またはビューカウントを捕捉する強化されたスパムフィルタを提供することと、トラフィック品質を評価するために予測スコアを集計して使用することによって、トラフィック品質スコアを改善することと、エンティティレベルにおいて予測スコアを集計することによって、ならびにし、他のアプリケーションの中でも、配信パラメータをフィルタリングおよび変更するために、予測スコアを使用することによって、エンティティリスクスコアを改善することとを行うことができる。
説明されている方法は、エンティティに関連するインタラクションのシーケンスのイベントレベルの機能のみを使用するモデルと、エンティティに関連するインタラクションのシーケンスの集約された機能を使用するモデルの利点を組み合わせている。コンテキスト情報は、ディープニューラルネットワークを使用してシーケンスモデルにインタラクションデータを入力することによって使用される。説明を簡単にするために、以下の説明は、自然言語処理などのアプリケーションにおいてしばしば使用されるディープニューラルネットワークである、再帰型ニューラルネットワーク(RNN)に関して提供される。しかしながら、トランスフォーマニューラルネットワークおよびトランスフォーマからの双方向エンコーダ表現(BERT)を含む、ディープニューラルネットワークを使用する他の様々なタイプのシーケンスモデルが考えられる。訪問中のユーザの行動、またはエンコードされたイベントのシーケンスを処理することによって、本方法は、シーケンス内のイベント内およびイベント間のコンテキスト情報を考慮して、シーケンスの分類を通知する。特にRNNは、様々な長さのシーケンスで使用される本方法に柔軟性を提供し、シーケンスの様々な位置にわたって学習した特徴を共有することができ、これは、標準のニューラルネットワークを使用して取得することはできない。
以下の説明では、パターンベースのオンラインアクティビティ分類システムをトレーニングする目的で、標準モデルのトレーニング技法を最適化するいくつかの技法についても詳細に説明する。以下で説明するように、これらの技法は、オンラインアクティビティのエンコード(たとえば、標準化されたフォーマットを使用する)、ディープニューラルネットワーク、およびユーザの行動パターンに基づいてモデルをトレーニングする能力を改善するための弱い監視を含み、手動でラベル付けされたデータセットを取得する負担を軽減し、人間の専門家がモデルごとにトレーニングデータセットにラベル付けするコストを負担することなく、モデルを特定のエンティティに合わせて調整できるようにする。
トレーニングされたモデルの品質を改善することに加えて、これらの技法はまた、たとえば、エンティティが無効なシーケンスを実行した場合に、エンティティのクライアントデバイスにデジタルコンポーネントを送信することを控えることによって、通信チャネルを介して送信されるデータの量も削減する。これにより、コンテンツの正当な消費者である可能性が低いエンティティに費やされるリソースの量が削減される。さらに、モデルをリアルタイムのオンライントラフィックに適用することができる(たとえば、特定のデジタルコンポーネントを特定のエンティティに送信した結果として生じる結果を予測するために)。
本明細書に記載されている主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に示される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
アクティビティのパターンベースの分類のための例示的な環境のブロック図である。 アクティビティシーケンスを分類するパターンベースの方法のデータフローを示す図である。 アクティビティシーケンスのエンコードプロセスを示す図である。 アクティビティのパターンベースの分類のための例示的なプロセスのフローチャートである。 例示的なコンピューティングシステムのブロック図である。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
本明細書は、アクティビティシーケンスの有効または無効の分類を改善し、分類に基づいてエンティティへのデジタルコンポーネントの送信を最適化する方法、システム、およびデバイスについて説明する。
デジタルコンポーネント送信のパターンベースの最適化では、デジタルコンポーネントがクライアントデバイスに提供される方法を調整するために、オンラインアクティビティのパターンを利用する。いくつかの実装形態では、オンラインアクティビティの評価は、オンラインアクティビティをRNNモデル(たとえば、予測モデル、または事後品質推定を提供するモデル)を弱い監視の下でトレーニングするために使用することができるエンコードされたインタラクションイベントのシーケンスにエンコードする必要がある。以下の説明の多くは予測分析に言及しているが、以下で説明する技法は事後品質決定にも適用できる点に留意されたい。
以下で詳しく説明するように、モデルはディープニューラルネットワークを使用し、弱い監視を使用してトレーニングされる。モデルは、エンコードされたイベントのシーケンスを有効または無効のいずれかとして分類する。モデルの分類は、デジタルコンポーネントがクライアントデバイスに送信されたセッションの分類に基づいてデジタルコンポーネントの配信基準を調整すること、クライアントデバイスによる特定のクエリの提出に応答して特定のデジタルコンポーネントをクライアントデバイスに送信する必要があるかどうかを決定すること、他のアプリケーションの中でも、過去のインタラクションに対応するログの結果エントリを調整することなど、様々な目的に使用することができる。
図1は、効率的で動的なビデオ編集およびレンダリングのための例示的な環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのネットワーク102を含む。ネットワーク102は、電子ドキュメントサーバ104(「Electronic Doc Server」)、ユーザデバイス106、およびデジタルコンポーネント配信システム110(DCDS110とも呼ばれる)を接続する。例示的な環境100は、多くの異なる電子ドキュメントサーバ104およびユーザデバイス106を含み得る。
ユーザデバイス106は、ネットワーク102を介してリソース(たとえば、電子ドキュメント)を要求および受信することができる電子デバイスである。ユーザデバイス106の例は、パーソナルコンピュータ、ウェアラブルデバイス、スマートスピーカ、タブレットデバイス、モバイル通信デバイス(たとえば、スマートフォン)、スマート家電、およびネットワーク102を介してデータを送受信することができる他のデバイスを含む。いくつかの実装形態では、ユーザデバイスは、可聴情報をユーザに出力するスピーカと、ユーザからの可聴入力(たとえば、話し言葉の入力)を受け入れるマイクロフォンとを含むことができる。ユーザデバイスはまた、入力を提出するため、および/または入力に応答して提供される出力を受信するためのインタラクティブな音声インターフェースを提供するデジタルアシスタントを含むことができる。ユーザデバイスはまた、視覚情報(たとえば、テキスト、画像、および/またはビデオ)を提示するためのディスプレイを含むことができる。ユーザデバイス106は、通常、ネットワーク102を介したデータの送受信を容易にするために、ウェブブラウザなどのユーザアプリケーションを含むが、ユーザデバイス106によって実行されるネイティブアプリケーションもまた、ネットワーク102を介したデータの送受信を容易にすることができる。
1つまたは複数のサードパーティ130は、コンテンツプロバイダ、製品設計者、製品製造業者、およびビデオ、製品、および/またはサービスの設計、開発、マーケティング、または配信に関与する他の関係者を含む。
電子ドキュメントは、ユーザデバイス106においてコンテンツのセットを提示するデータである。電子ドキュメントの例は、ウェブページ、ワードプロセッシングドキュメント、ポータブルドキュメントフォーマット(PDF)ドキュメント、画像、ビデオ、検索結果ページ、およびフィードソースを含む。モバイル、タブレット、またはデスクトップコンピューティングデバイスにインストールされたアプリケーションなどのネイティブアプリケーション(たとえば、「アプリ」)も、電子ドキュメントの例である。電子ドキュメント105(「Electronic Docs」)は、電子ドキュメントサーバ104によってユーザデバイス106に提供することができる。たとえば、電子ドキュメントサーバ104は、発行者のウェブサイトをホストするサーバを含むことができる。この例では、ユーザデバイス106は、所与の発行者ウェブページに対する要求を開始することができ、所与の発行者ウェブページをホストする電子ドキュメントサーバ104は、ユーザデバイス106において所与のウェブページの提示を開始するマシンハイパーテキストマークアップ言語(HTML)コードを送信することによって、要求に応答することができる。
電子ドキュメントは、様々なコンテンツを含むことができる。たとえば、電子ドキュメント105は、電子ドキュメント自体の中にある、および/または経時的に変化しない静的コンテンツ(たとえば、テキストまたは他の指定されたコンテンツ)を含むことができる。電子ドキュメントはまた、時間の経過または要求ごとに変化し得る動的コンテンツを含むことができる。たとえば、所与の電子ドキュメントの発行者は、電子ドキュメントの一部を入力するために使用されるデータソースを維持することができる。この例では、所与の電子ドキュメントは、所与の電子ドキュメントがユーザデバイス106によって処理される(たとえば、レンダリングまたは実行される)ときに、ユーザデバイス106にデータソースからのコンテンツを要求させるタグまたはスクリプトを含むことができる。ユーザデバイス106は、データソースから取得したコンテンツを含む複合電子ドキュメントを作成するために、データソースから取得したコンテンツを所与の電子ドキュメントの提示に統合する。
いくつかの状況では、所与の電子ドキュメントは、DCDS110を参照するデジタルコンテンツタグまたはデジタルコンテンツスクリプトを含むことができる。これらの状況では、デジタルコンテンツタグまたはデジタルコンテンツスクリプトは、所与の電子ドキュメントがユーザデバイス106によって処理されるときにユーザデバイス106によって実行される。デジタルコンテンツタグまたはデジタルコンテンツスクリプトの実行は、ネットワーク102を介してDCDS110に送信されるデジタルコンテンツに対する要求108を生成するようにユーザデバイス106を構成する。たとえば、デジタルコンテンツタグまたはデジタルコンテンツスクリプトは、ユーザデバイス106が、ヘッダおよびペイロードデータを含むパケット化されたデータ要求を生成できるようにすることができる。要求108は、デジタルコンテンツが要求されているサーバの名前(または、ネットワーク位置)、要求デバイス(たとえば、ユーザデバイス106)の名前(または、ネットワーク位置)、および/または要求に応答して提供されるデジタルコンテンツを選択するためにDCDS110が使用できる情報などのデータを含むことができる。要求108は、ユーザデバイス106によって、ネットワーク102(たとえば、電気通信ネットワーク)を介してDCDS110のサーバに送信される。
要求108は、電子ドキュメント、およびデジタルコンテンツを提示することができる位置の特性を指定するデータを含むことができる。たとえば、デジタルコンテンツが提示される電子ドキュメント(たとえば、ウェブページ)への参照(たとえば、URL)を指定するデータ、デジタルコンテンツを提示するために利用できる電子ドキュメントの利用可能な位置(たとえば、デジタルコンテンツスロット)、利用可能な位置のサイズ、電子ドキュメントの提示内の利用可能な位置の場所、および/または位置における提示に適格なメディアタイプをDCDS110に提供することができる。同様に、電子ドキュメントの選択のために指定されたキーワード(「ドキュメントキーワード」)または電子ドキュメントによって参照されるエンティティ(たとえば、人、場所、または物)を指定するデータも、要求108に(たとえば、ペイロードデータとして)含め、電子ドキュメントとともに提示するために適格なデジタルコンテンツアイテムの識別を容易にするためにDCDS110に提供され得る。
要求108はまた、ユーザが提供した情報、要求が提出された州または地域を示す地理的情報、またはデジタルコンテンツが表示される環境のコンテキストを提供する他の情報(たとえば、モバイルデバイスまたはタブレットデバイスなどの、デジタルコンテンツが表示されるデバイスのタイプ)など、他の情報に関連するデータを含むことができる。ユーザ提供情報は、ユーザデバイス106のユーザの人口統計データを含むことができる。たとえば、人口統計情報は、他の特徴の中でも、年齢、性別、地理的位置、教育レベル、婚姻状況、世帯収入、職業、趣味、ソーシャルメディアデータ、およびユーザが特定のアイテムを所有しているかどうかなどを含むことができる。
本明細書で説明するシステムが、ユーザに関する個人情報を収集する、または個人情報を利用する可能性がある状況では、ユーザに、プログラムまたは機能が個人情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの好み、またはユーザの現在の位置に関する情報)を収集するかどうかを制御する機会、あるいはコンテンツサーバからユーザにとってより関連性の高い場合があるコンテンツを受信するかどうか、および/または受信する方法を制御する機会が提供される場合がある。さらに、特定のデータは、個人を識別できる情報が削除されるように、記憶または使用される前に1つまたは複数の方法で匿名化され得る。たとえば、ユーザのアイデンティティを匿名化して、ユーザの個人を識別できる情報を決定できないようにすることができ、ユーザの地理的位置を、ユーザの特定の位置を決定できないように、位置情報が取得される場所(都市、郵便番号、または州レベルなど)で一般化することができる。したがって、ユーザは、自分に関する情報がどのように収集され、コンテンツサーバによって使用されるかを制御し得る。
ユーザデバイス106のモデル、ユーザデバイス106の構成、または電子ドキュメントが提示される電子ディスプレイ(たとえば、タッチスクリーンまたはデスクトップモニタ)のサイズ(たとえば、物理的なサイズまたは解像度)を識別する情報など、ユーザデバイス106の特性を指定するデータも要求108において提供することができる。要求108は、たとえば、パケット化されたネットワークを介して送信することができ、要求108自体は、ヘッダおよびペイロードデータを有するパケット化されたデータとしてフォーマットすることができる。ヘッダはパケットの宛先を指定することができ、ペイロードデータは上記の情報のいずれかを含むことができる。
DCDS110は、要求108の受信に応答して、および/または要求108に含まれる情報を使用して、所与の電子ドキュメントとともに提示されるデジタルコンテンツを選択する。いくつかの実装形態では、DCDS110は、たとえば、サーバと、相互接続され、要求108に応答してデジタルコンテンツを識別および配信する複数のコンピューティングデバイスのセットとを含む、分散型コンピューティングシステム(または、環境)において実装される。複数のコンピューティングデバイスのセットは、数百万以上の利用可能なデジタルコンテンツのコーパスの中から、電子ドキュメントにおいて提示するために適したデジタルコンテンツのセットを識別するために、一緒に動作する。数百万以上の利用可能なデジタルコンテンツを、たとえば、デジタルコンポーネントデータベース112においてインデックス化することができる。各デジタルコンテンツインデックスエントリは、対応するデジタルコンテンツを参照することができ、および/または対応するデジタルコンテンツの配信を調整する配信パラメータ(たとえば、選択基準)を含むことができる。
いくつかの実装形態では、デジタルコンポーネントデータベース112からのデジタルコンポーネントは、サードパーティ130によって提供されるコンテンツを含むことができる。たとえば、デジタルコンポーネントデータベース112は、公道をナビゲートするために機械学習および/または人工知能を使用するサードパーティ130から、公道交差点の写真を受信することができる。
適格なデジタルコンテンツの識別は、複数のコンピューティングデバイスのセット内のコンピューティングデバイス間で割り当てられる複数のタスクに分割することができる。たとえば、異なるコンピューティングデバイスはそれぞれ、要求108に含まれる情報と一致する配信パラメータを有する様々なデジタルコンテンツを識別するために、デジタルコンポーネントデータベース112の異なる部分を分析することができる。
DCDS110は、複数のコンピューティングデバイスのセットから受信した結果を集約し、要求108に応答して提供されるデジタルコンテンツの1つまたは複数のインスタンスを選択するために、集約された結果に関連付けられる情報を使用する。次に、DCDS110は、デジタルコンテンツの選択されたセットと電子ドキュメントのコンテンツが、ユーザデバイス106のディスプレイに一緒に提示されるように、ネットワーク102を介して、ユーザデバイス106がデジタルコンテンツの選択されたセットを所与の電子ドキュメントに統合することを可能にする応答データ114(たとえば、応答を表すデジタルデータ)を生成および送信することができる。
エンコーダ120は、インタラクションまたはイベントデータを受信し、そのデータを標準化されたフォーマットにエンコードする。このエンコードされたインタラクションデータは、分類モデル124に提供される。エンコーダ120は、ユーザデバイス106、サードパーティ130、およびDCDS110自体を含む様々なソースからインタラクションデータを受信することができる。
トレーニングモジュール122は、トレーニングデータを生成するために、RNNおよび弱い監視を含む機械学習技法を使用して、1つまたは複数の分類モデル124をトレーニングする。
分類モデル124は、エンコードされたインタラクションデータを受信し、エンコードされたインタラクションデータによって表されるイベントのシーケンスが有効か無効かの分類を出力する。
説明を簡単にするために、エンコーダ120、トレーニングモジュール122、および分類モデル124がDCDS110の別個のコンポーネントとして図1に示されている。DCDS110は、非一時的コンピュータ可読媒体上の単一のシステムとして実装することができる。いくつかの実装形態では、エンコーダ120、トレーニングモジュール122、および分類モデル124のうちの1つまたは複数を単一のシステムの統合コンポーネントとして実装することができる。DCDS110、そのコンポーネントエンコーダ120、トレーニングモジュール122、および分類モデル124、ならびにそれらのそれぞれの機能および出力は、アクティビティシーケンスのパターンベースの分類を参照して以下でさらに詳細に説明される。
図2は、図1の例示的な環境においてアクティビティシーケンスを分類するパターンベースの方法の例示的なデータフロー200を示している。データフロー200の動作は、システム100の様々なコンポーネントによって実行される。たとえば、データフロー200の動作は、ユーザデバイス106と通信するDCDS110のエンコーダ120、トレーニングモジュール122、および分類モデル124によって実行することができる。
フローは、エンコーダ120がインタラクションデータを受信するステップAから始まる。エンコーダ120は、ユーザデバイス106およびDCDS110自体を含む様々なソースからインタラクションデータを受信することができる。インタラクションデータは、特定のエンティティによって実行されるアクティビティを示す。たとえば、スマートフォン106上のユーザは、ビデオを再生するためにビデオをクリックすることができる。いくつかの実装形態では、エンティティは、スマートフォン106のユーザになりすましたマルウェアまたは悪意のあるサードパーティである可能性がある。エンコーダ120は、スマートフォン106から、ビデオに対するユーザのクリックを示すインタラクションデータを受信する。インタラクションデータは、インタラクションのタイプおよびインタラクションが発生した時間を含む、イベントの詳細を提供する。たとえば、インタラクションデータは、タイムスタンプ、イベントタイプ、およびイベントを実行したエンティティを含むことができる。インタラクションデータは、ウェブブラウザまたはエンティティ自体によって提供されるデータを含む、他の機能を含むことができる。たとえば、ユーザは、スマートフォン106がユーザプロファイル情報を提供する許可を与え得る。別の例では、ユーザのブラウザまたはユーザがアクセスしているウェブサイトが、IPアドレス、クッキーID、および他のブラウザまたはクッキー関連の情報を含む情報を提供し得る。
フローは、エンコーダ120がインタラクションデータをエンコードするステップBに続く。エンコーダ120は、エンコードされたインタラクションデータを標準化されたフォーマットで出力する。このエンコードプロセスの詳細は、図3に関して以下に提供される。
エンコーダ120は、インタラクションデータを、訪問またはセッションごとのインタラクションのシーケンスにエンコードすることができる。訪問は、単一のエンティティによって行われるインタラクションのセットである。セッションは、1つまたは複数の条件の発生に基づいて、時間制限され得および/または終了することができる。たとえば、セッションは、他の条件の中でも、別のデバイス上の同じエンティティによるインタラクションの検出、しきい値期間の任意のインタラクションまたはアクティビティの欠如、およびネットワーク接続の喪失またはネットワークステータスの変化に基づいて終了することができる。セッションは、様々なブラウザまたはデバイスにわたるアクティビティを含むことができる。セッションは複数の訪問を含み得る。たとえば、同じユーザがスマートフォン、ラップトップ、または接続されたTVを使用してウェブサイトにアクセスする可能性があり、その各々は別の訪問になるが、同じセッションの一部である可能性もある。エンコーダ120は、「センテンス(sentence)」を形成するために、個々のイベントを「ワード(word)」としてエンコードし、各訪問をエンコードされたイベント(たとえば、ワード)のシーケンスとしてエンコードすることができる。本明細書の文脈において、「ワード」は、エンコードされたインタラクションを示し、「センテンス」またはエンコードされたイベントのシーケンスは、インタラクション署名を示す。センテンス内のイベントをグループ化することによって、エンコーダ120は、分類モデル124が、同じ訪問内のイベント間の関係および類似性を使用してデータを分類できるようにする。
さらに、訪問ごとにイベントをグループ化することによって、分類モデル124は、単一のセッション内で異なるエンティティによって実行されるアクティビティを検出することができる。たとえば、1つのユーザセッションに、オーガニックな訪問と、マルウェアに操作された訪問またはハイジャックされた訪問との両方が混在している可能性がある。イベントは訪問ごとにグループ化されるため、分類モデル124は、マルウェアによって制御される非表示のブラウジングウィンドウを、特定のユーザによって実行される他の訪問とは異なる分類の異なる訪問として処理することができる。
いくつかの実装形態では、エンコーダ120は、特定のエンティティのイベントのシーケンスをそれぞれが維持する複数のエンコーダを含む。いくつかの実装形態では、エンコーダ120は、エンコーダ120が様々なエンティティのインタラクションデータを受信するように、複数の別個のスレッドを維持することができる。次いで、エンコーダ120は、インタラクションデータを同じ訪問内のインタラクションのシーケンスにエンコードすることができる。
フローはステップCに続き、エンコーダ120は、エンコードされたインタラクションデータを分類モデル124およびトレーニングモジュール122に提供する。エンコーダ120は、エンコードされたインタラクションデータを標準化されたフォーマットで分類モデル124およびトレーニングモジュール122に出力する。いくつかの実装形態では、エンコーダ120は、エンコードされたインタラクションデータをワードごとに分類モデル124に提供し、各エンコードされたインタラクションイベントが発生した訪問を識別する。いくつかの実装形態では、エンコーダ120は、エンコードされたインタラクションデータを分類モデル124にセンテンスで提供する。
トレーニングモジュール122は、分類モデル124などのモデルをトレーニングするために使用されるトレーニングデータを生成するために、エンコードされたデータを使用する。グラウンドトゥルーストレーニングラベルは、存在しない場合もあり、無効な訪問などの様々な例に対してまばらである場合もある。いくつかの実装形態では、DCDS110は、グラウンドトゥルーストレーニングラベルが限定されていてもモデルをトレーニングするために、弱い監視技法を使用する。DCDS110は、たとえば人間の専門家によって作成されたラベル付け関数のセットを使用することと、ラベルごとにラベル付け関数の精度を推測することと、次いで、多数のラベル付け関数によって生成されたラベルを、トレーニングラベルとして使用されるデータポイントごとの確率的ラベルに結合することとを行うことができる。
いくつかの実装形態では、ユーザは十分なトレーニングデータの構成を指定することができる。たとえば、ユーザは、他のトレーニングデータパラメータの中でも、エンコードされたインタラクションの最小数、インタラクションを実行する様々なエンティティの最小数、および人間によって手動で生成されたグラウンドトゥルーストレーニングラベルの数を指定することができる。たとえば、ユーザは、特定のシステムについて、十分なトレーニングデータの構成が、最低100のエンコードされたインタラクション、それらのエンコードされたインタラクションを実行した最低5つの異なるエンティティ、および最低20のグラウンドトゥルーストレーニングラベルを含むように指定することができる。
いくつかの実装形態では、トレーニングデータパラメータの各々は、利用可能なデータの予想量を含む情報に基づいて、トレーニングモジュール122によって自動的に決定および調整することができる。いくつかの実装形態では、エンティティとエンコードされたインタラクションはランダムに選択される必要がある。いくつかの実装形態では、エンティティおよびエンコードされたインタラクションは、インタラクションおよび/またはエンティティのトレーニングセットから引き出すことができる。
トレーニングモジュール122は、たとえば、特定のイベントに対する投票に基づいて、ラベル付け関数ごとの推定精度を出力するパイプラインを使用することができる。いくつかの実装形態では、トレーニングモジュール122は、イベントと前のイベントとの間の時間の長さに基づいて、イベントをバケットにグループ化する。バケットは、有効なシーケンスと無効なシーケンスを容易に区別するために使用され得る。トレーニングモジュール122は、有効なシーケンスと無効なシーケンスを区別するために、バケットの境界をクロッピングまたは調整することができる。イベントタイプによって所要時間が異なる場合があり、ユーザごとにイベント間の所要時間が異なる場合がある。トレーニングモジュール122は、たとえば特定のタイプのイベントについて、イベントと前のイベントとの間の時間に基づいてバケットの境界を調整し得る。
トレーニングラベルは、この特定の例ではRNNベースの分類モデル124をトレーニングするための入力として、トレーニングモジュール210へのグラウンドトゥルースの例の代わりに例として提供することができる。分類モデル124は、長短期記憶モデル(LSTM)であり、様々な長さのシーケンスに適用可能である。分類モデル124はLSTMモデルであるため、訪問中のイベント間の非線形インタラクションも考慮することができる。例には、正の例と負の例があり得る。トレーニングモジュール122は、分類モデル124のモデル出力を検証し、モデルがアクティビティイベントのシーケンスを分類する精度を向上させるためにモデルのトレーニングを継続するために、トレーニングラベルを使用することができる。
トレーニングモジュール122は、推論入力データを使用して推論を実行し、分類に加えて訪問ごとの予測スコアを生成する。予測スコアは、意味的には、訪問が無効になる可能性を示すリスクスコアである。トレーニングモジュール122は、リスクスコアがしきい値よりも高い訪問のログを維持する。いくつかの実装形態では、しきい値は、実行時に分類モデルで利用可能なモデル評価統計に基づいて選択される。たとえば、しきい値を90%にすることができる。いくつかの実装形態では、しきい値は、使用される評価統計において利用可能な最大精度になるように選択される。
トレーニングモジュール122は、損失関数を使用して分類をトレーニングする。損失関数はモデルエラーを計算し、トレーニングモジュール122は、どの変数がモデルにとって重要であるかを学習するために、損失関数とトレーニングラベルでラベル付けされた例を使用して分類モデル124をトレーニングする。トレーニングモジュール122は、モデル内の変数の重要性を強調するように、または強調しないように、異なる変数に適用される重みを変更することによって、分類モデル124が学習できるようにする。変数に適用される重みを変更することにより、分類モデル124は、より正確な分類を生成するために、どのタイプの情報をより重く重み付けする必要があるかを学習できるようになる。トレーニングモジュール122は、たとえば、より低い信頼レベルを有するラベルからの偏差よりも、より高い信頼レベルを有するラベルからの偏差にペナルティを課す損失関数を使用し、モデルに、より低い信頼レベルを有するラベルに対する「善意の解釈(benefit of the doubt)」を与える。分類モデル124は、この弱い監視の方法を使用して、ノイズの多いデータをより適切に調整することができる。
いくつかの実装形態では、トレーニングモジュール122は、分類モデル124への入力として使用されるデータが、入力データが分類されるまでモデルトレーニング中に使用されないように、トレーニングデータおよび分類モデル124への入力としてまだラベル付けされていないデータとして、確率的にラベル付けされたデータを使用する。
分類モデル124は、エンコードされたインタラクションデータを入力データとして使用し、インタラクションデータによって表されるアクティビティが有効か無効かの分類を生成する。
フローはステップDに続き、分類モデル124は、エンコードされたインタラクションデータによって表されるアクティビティを有効または無効のいずれかとして分類する。
分類モデル124は、たとえば、ある程度個別化された「靴のサイズ」モデルとすることができる。たとえば、DCDS110は、特定の年齢層の人々、ニューヨークの人々、テキスト記事よりもビデオを好む人々などの一般的なプロファイルを使用することができる。さらに、各モデルは個別化することができる。たとえば、収集されたデータから決定されたユーザごとの特性に基づいてモデルパラメータを変更することによって、一般的なモデルから各モデルを作成することができる。各モデルは、特定のユーザに対して、長期間または短期間で変化する可能性がある。たとえば、DCDS110は、特定の訪問に関連付けられるエンティティの行動プロファイルを決定し、エンティティの行動プロファイルに基づいて分類モデルを調整することができる。いくつかの実装形態では、各モデルはまた、一般プロファイルを使用して個別化され、ユーザごとにさらに変更されたモデルから作成することができる。たとえば、収集したデータから決定したユーザごとの特性に基づいて、モデルパラメータを変更することによってモデルを作成することができる。
いくつかの実装形態では、モデルは、ベースモデルを使用せずに個別化することができる。たとえば、ユーザ応答データをモデルジェネレータ126に入力し、調整なしで製品構成にマッピングするために、製品設計者、製造者、または設計プログラムに提供することができる。一例では、モデルジェネレータ126により、ユーザは、特定のアイテムをすぐに購入すること、または特定のアイテムが入手可能になったときにアラートを設定することが可能になる。
フローはステップEに続き、分類モデル124は、アクティビティが有効か無効かの決定をDCDS110に出力する。
分類モデル124は、アクティビティが有効か無効かの出力をDCDS110に提供する。DCDS110は、シーケンスを実行したエンティティにコンテンツが配信される頻度を調整するために、分類を使用する。たとえば、DCDS110は、エンティティにコンテンツを提供するために後に識別される要求に応答して、エンコードされたインタラクションのシーケンスを実行したエンティティへのコンテンツのセットの配信を防止することができる。いくつかの実装形態では、DCDS110は、コンテンツがエンティティに配信される頻度を減らすことができる。いくつかの実装形態では、DCDS110は、指定されたタイプのコンテンツをエンティティに提供することを控えることができる。たとえば、DCDS110は、ビデオを実際に視聴する可能性が低いユーザにビデオコンテンツを提供することを控えることができ、それにより、実際には視聴されないビデオを提供しないことによって、無駄な帯域幅、プロセッササイクル、メモリ使用、および/またはディスプレイドライバ能力を削減することができる。
いくつかの実装形態では、DCDS110は、エンティティに対応するデバイスにコンテンツを配信することを控えることができる。たとえば、DCDS110は、マルウェアによって実行されたと決定されたスマートフォン上で実行されたアクティビティシーケンスに基づいて、コンテンツをユーザのスマートフォンに配信することを控えることができるが、コンテンツをユーザのラップトップに配信し続けることはできる。このタイプの配信制限により、ユーザのラップトップへのコンテンツの配信を依然として可能にしながら、そうでなければユーザのスマートフォンへのコンテンツの配信に使用されるであろう無駄なコンピューティングリソースを削減することができる。このようにコンテンツの配信を制限することにより、前述のようにリソースの浪費を防ぎながら、依然としてユーザによって実際に視聴される可能性が高い特定のタイプのデバイスにコンテンツを提供することができる。
別の例では、DCDS110は、無効であると決定された、その位置にあるコンピュータの1つにおいて実行されたアクティビティシーケンスに基づいて、特定の位置にある会社のコンピュータにコンテンツを配信することを控えることができる。いくつかの実装形態では、DCDS110は、コンテンツ配信ログの結果エントリを分析することと、無効として分類されたアクティビティシーケンスに対応する結果エントリを無効にすることと、無効化された結果エントリをメモリから削除することとを行うことによって、メモリリソースを節約することができる。DCDS110は、無効な結果エントリを削除することによってリソース(たとえば、メモリ)を解放し、正確な記録を維持するために役立つことができる。これらの記録は、たとえば、コンテンツ配信システムを維持し、コンテンツプロバイダまたはホストに補償するために使用される記録である可能性がある。
フローはステップFに続き、ここで、DCDS110は、エンティティ情報を含むコンテンツに対する要求をユーザデバイス106から受信する。たとえば、DCDS110は、ユーザデバイス106のユーザから要求108を受信することができる。
フローはステップGで終了し、ここで、DCDS110は、ユーザデバイス106のユーザに関連付けられるアクティビティシーケンスが無効であるという決定に基づいて、コンテンツをユーザデバイス106のユーザに配信することを控えるよう決定する。いくつかの実装形態では、DCDS110は、要求108において要求されたコンテンツに含まれるデジタルコンポーネントの配信を防止する。いくつかの実装形態では、DCDS110は、デジタルコンポーネントと要求108において要求されたコンテンツの両方の配信を防止する。
図3は、アクティビティシーケンスのエンコードプロセス300を示している。いくつかの実装形態では、プロセス300は、1つまたは複数のシステムによって実行することができる。たとえば、プロセス300は、図1~図2のエンコーダ120、トレーニングモジュール122、分類モデル124、DCDS110、および/またはユーザデバイス106によって実装することができる。いくつかの実装形態では、プロセス300は、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、命令が1つまたは複数のサーバによって実行されると、命令は、1つまたは複数のサーバに、プロセス300の動作を実行させることができる。
エンコーダ120は、エンティティに関連付けられるインタラクション情報302を受信する。インタラクション情報は、たとえば、図1~図2に関して前述したインタラクション情報とすることができる。この特定の例では、インタラクション情報302は、イベント304が発生した時間と、イベント304のイベントタイプとを示す。イベントタイプは、たとえば、他のイベントタイプの中でも、コンテンツビデオの再生、デジタルコンポーネントの開始イベント、検索、スキップ可能な、または任意選択のデジタルコンポーネントの再生、新しい訪問、デジタルコンポーネントのクリック、スキップ不可、または非任意選択のデジタルコンポーネントの再生、コンテンツへの関与(他のタイプの関与アクティビティの中でも、好き、嫌い、またはコメントなど)、検索から始まる新しい訪問、新しい埋込み訪問、あるいは関与アクティビティから始まる新しい訪問、検索結果リンクのクリック、提案のクリックを含むことができる。たとえば、ユーザは検索エンジン上で検索を実行し、リンクをクリックしてウェブページまたはアプリケーションプログラムに移動することができ、これらのイベントタイプは、それぞれ、検索結果のクリックまたは新しいアプリケーションの起動として分類することができる。
各イベント304は、そのイベント304のタイムスタンプによって示される特定の時間に発生する。エンコーダ120は、特定のイベントのタイムスタンプに基づいて、訪問における前のイベントからの時間遅延を決定することができる。エンコーダ120は、訪問における第1のイベントに時間遅延値0を割り当てる。
エンコーダ120は、エンコードされた「ワード」306を生成するために、情報を標準化されたフォーマットにフォーマットする。この特定の例では、フォーマットは[イベントタイプ、時間遅延]の形式のベクトルである。フォーマットは、図1~図2に関して前述したような他の特徴を含むことができる。たとえば、ユーザがウェブサイト上でクリックしてから2.4秒後にユーザがウェブサイト上でかわいい子犬のビデオの再生を開始するイベントに対して生成されたエンコードされたワード306は、[視聴する、2.4]としてエンコードされる。エンコーダ120は、インタラクションデータに基づいて、エンコードされたイベントのシーケンス、またはインタラクション署名307を生成することができる。たとえば、ユーザがウェブサイトをクリックし、2.4秒後にかわいい子犬のビデオを視聴し、次いで、2分13秒後に別のビデオへのリンクをクリックするというイベントのシーケンスは、[ナビゲート、0][視聴する、2.4][視聴する、2:13]の形式のインタラクション署名としてエンコードされる。
この特定の例では、エンコーダ120は、[PB、0]、[WP、1:43]、[CV、0:35]、[PB、0:07]であるエンコードされたワード306を生成する。エンコーダ120は、オンラインアクティビティを短い形式のコードにマッピングし、短い形式のコードを計算された時間遅延と組み合わせることによってエンコードを実行する。各イベントにはタイムスタンプが割り当てられ、エンコーダ120は、たとえば、特定のイベントと前のイベントに対応する2つの連続するイベントの2つの連続するタイムスタンプの差を計算することによって、特定のイベントと前のイベントとの間の遅延期間を計算するために、タイムスタンプデータを使用することができる。
この特定の例では、エンコーダ120は、[PB、0] [WP、1:43] [CV、0:35] [PB、0:07]であるインタラクション署名307を生成する。
エンコーダ120は、エンコードされたワード306を分類モデル124に提供する。図3には示されていないが、エンコーダ120はまた、図2に関して説明したように、エンコードされたワード306を、ラベル付けされるトレーニングデータとしてトレーニングモジュール122に提供する。エンコーダ120は、分類モデルに個々のワードまたはインタラクション署名を提供することができる。
分類モデル124は、エンコードされたワード306によって表される訪問を分類するために、エンコードされたワード306を使用し、訪問の分類308を出力する。分類モデル124は、エンコードされたワード306に含まれる特性および特徴に基づいて、訪問を有効または無効のいずれかとして分類する。たとえば、前述のように、分類モデル124は、有効な値と無効な値とを区別するためにバケットを使用することができる。
分類モデル124は、訪問を有効または無効のいずれかとして分類するために、イベント306間の時間遅延を使用する。たとえば、分類モデル124は、特定の時間遅延が人間によって合理的に実行され得るかどうか、ユーザまたはユーザのタイプに典型的であるかどうか、または単にクリックスルーするのとは対照的に、コンテンツとの実際の関与を示しているかどうかに基づいて、決定することができる。一例では、ニュース記事内で提示されているビデオと、ビデオの視聴を開始するためのビデオ上のクリックインタラクションとの間の0.002秒の時間遅延は、人間のユーザにとって実行することが物理的に不可能な場合があり、したがって、分類モデル124は訪問を無効なものとして分類することができる。別の例では、特定の服装のページ内に提示されている同様のスタイルの服装へのリンクと、リンク上のクリックインタラクションとの間の30秒の時間遅延は、ファッションアドバイスウェブサイトを訪問するユーザのタイプに典型的であり得、したがって、分類モデル124は、訪問を有効なものとして分類することができる。別の例では、ソーシャルメディアフィード内で再生を開始する45秒のビデオとスクロールして過ぎていったアクションとの間の1分間の時間遅延は、ビデオを見ずに単純にスクロールして過ぎていく代わりに、人間のユーザが実際にビデオに関与した(たとえば、ビデオのかなりの部分を視聴した)ことを示し得、したがって、分類モデル124は訪問を有効なものとして分類することができる。
いくつかの実装形態では、DCDS110は、所与のエンティティについて、コンテンツの複数の異なる部分とのインタラクションに対応するインタラクションデータの複数のセットを受信することができる。たとえば、DCDS110は、複数の異なるコンテンツプロバイダからの複数のタイプのコンテンツとのインタラクションに対応する特定のユーザのインタラクションデータを受信することができる。分類モデル124は、インタラクションデータの各セットに割り当てられたラベル、または集約してインタラクションデータの複数のセットに割り当てられた集約ラベルに基づいて、所与のエンティティを実際のユーザまたは自動化されたボットのいずれかとして分類することによって、インタラクションデータのセットごとに別個のインタラクション署名を生成することができる。たとえば、分類モデル124は、特定のユーザに関連付けられる訪問ごとに別個のインタラクション署名を生成することができる。分類モデル124は、各訪問を、実際のユーザ、または真にコンテンツに関与するユーザ、あるいは自動化されたボットのいずれかとして個別に分類することができる。分類モデル124による特定の訪問の分類に基づいて、DCDS110は、所与のエンティティが自動化されたボットとして分類される場合、コンテンツのセットの配信を防止することができる。
図4は、ビデオを効率的かつ動的に変更およびレンダリングするための例示的なプロセス400のフローチャートである。いくつかの実装形態では、プロセス400は、1つまたは複数のシステムによって実行することができる。たとえば、プロセス400は、図1~図3のエンコーダ120、トレーニングモジュール122、分類モデル124、DCDS110、および/またはユーザデバイス106によって実装することができる。いくつかの実装形態では、プロセス400は、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、命令が1つまたは複数のサーバによって実行されると、命令は、1つまたは複数のサーバに、プロセス400の動作を実行させることができる。
プロセス400は、クライアントデバイスにおいて発生した複数のインタラクションのうち、所与のインタラクションごとに、(i)イベントタイプと、(ii)所与のイベントと、所与のイベントの前に発生した前のイベントとの間の時間の長さを指定する遅延期間とを示すインタラクションデータを受信すること(402)から始まる。たとえば、DCDS110は、ユーザのユーザデバイス106において発生した複数のインタラクションのセットについて、セット内の各イベントの特定のイベントと前のイベントとの間の遅延期間を計算できるイベントタイプおよびタイムスタンプデータを示すインタラクションデータを受信することができる。各イベントにはタイムスタンプが割り当てられ、DCDS110は、特定のイベントと前のイベントに対応する2つの連続するイベントの2つの連続するタイムスタンプの差を計算することによって、特定のイベントと前のイベントとの間の遅延期間を計算するために、タイムスタンプデータを使用することができる。
いくつかの実装形態では、インタラクションデータを受信することは、特定のエンティティについて、コンテンツの複数の異なる部分とのインタラクションに対応するインタラクションデータの複数のセットを収集することを含む。たとえば、DCDS110は、特定のユーザの複数の訪問についてインタラクションデータの複数のセットを収集することができる。
プロセス400は、各所与のインタラクションを、(i)所与のインタラクションのイベントタイプと、(ii)所与のインタラクションのインタラクションデータによって指定された遅延期間との組合せである標準化されたフォーマットを有するエンコードされたインタラクションにエンコードすること(404)に続く。たとえば、エンコーダ120は、各所与のインタラクションを、イベントタイプおよび遅延期間を含む標準化されたフォーマットを有するエンコードされたインタラクションまたはワードにエンコードすることができる。エンコーダ120は、オンラインアクティビティを短い形式のコードにマッピングし、短い形式のコードを計算された時間遅延と組み合わせることによってエンコードを実行する。エンコーダ120は、たとえばインタラクションデータに含まれるタイムスタンプデータに基づいて遅延期間を計算することができる。次いで、エンコーダ120は、特定のインタラクションについてのイベントタイプおよび遅延期間を含むエンコードされたワード306を生成することができる。
プロセス400は、エンコードされたインタラクションのシーケンスを含むインタラクション署名を生成すること(406)に続く。たとえば、エンコーダ120は、エンコードされたインタラクションのインタラクション署名またはセンテンスを生成することができる。いくつかの実装形態では、エンコーダ120は、特定のユーザの1回の訪問の一部であるイベントのセットのインタラクションデータを集約することによって、ワードをエンコードする前にインタラクション署名を生成することができる。いくつかの実装形態では、エンコーダ120は、特定のユーザの1回の訪問の一部であるイベントのセットのエンコードされたインタラクションを集約することによって、ワードをエンコードした後にインタラクション署名を生成することができる。
いくつかの実装形態では、インタラクション署名を生成することは、コンテンツのそれぞれの異なる部分とのインタラクションに対応するインタラクションデータのセットごとに別個のインタラクション署名を生成することを含む。たとえば、インタラクション署名を生成することは、訪問のセットにおける訪問ごとに別個のインタラクション署名を生成することを含むことができる。
プロセス400は、ユーザインタラクションのシーケンスを有効または無効として分類するようにトレーニングされたモデルを使用して、エンコードされたインタラクションのシーケンスを処理することであって、モデルを使用して、エンコードされたインタラクションのシーケンスを無効として分類することを含む、こと(408)に続く。たとえば、分類モデル124は、ユーザインタラクションのシーケンスを有効または無効として分類するようにトレーニングされた分類モデル124などのモデルを使用して、エンコードされたインタラクションのシーケンスを処理することができる。分類モデル124は、たとえば、エンコードされたワードのセンテンスによって表されるアクティビティシーケンスを、有効なアクティビティシーケンスまたは無効なアクティビティシーケンスとして分類することができる。この特定の例では、分類モデル124は、たとえば、マルウェア、ハイジャック、または実際にはコンテンツに関与していない無関心なユーザの影響下でアクティビティシーケンスが実行されたことをシーケンスが示しているため、アクティビティシーケンスを無効なアクティビティシーケンスとして分類することができる。
いくつかの実装形態では、所与のエンティティを実際のユーザまたは自動化されたボットとして分類することは、インタラクションデータの各セットに割り当てられたラベル、または集約してインタラクションデータの複数のセットに割り当てられた集約ラベルに基づく。たとえば、分類モデル124は、訪問のセットの各々の分類、またはセットに割り当てられた集約分類に基づいて、特定のエンティティを実際のユーザまたはボットとして分類することができる。
プロセス400は、エンティティにコンテンツを提供するために後で識別された要求に応答して、エンコードされたインタラクションのシーケンスを実行したエンティティへのコンテンツのセットの配信を防止すること(410)で完了する。たとえば、DCDS110は、コンテンツの要求の受信に応答して、シーケンスが無効であると決定すると、エンコードされたインタラクションのシーケンスを実行したエンティティへのコンテンツのセットの配信を防止することができる。
いくつかの実装形態では、コンテンツのセットの配信を防止することは、指定されたタイプのコンテンツをエンティティに提供することを控えることを含む。たとえば、DCDS110は、記事を実際に読む可能性が低いユーザにテキストコンテンツを提供することを控えることができ、それにより、実際には読まれないコンテンツを提供しないことによって、無駄な帯域幅、プロセッササイクル、メモリ使用、および/またはディスプレイドライバ能力を削減することができる。
いくつかの実装形態では、DCDS110は、エンティティに対応するデバイスにコンテンツを配信することを控えることができる。たとえば、DCDS110は、悪意のあるサードパーティによって実行されたと決定されたラップトップ上で実行されたアクティビティシーケンスに基づいて、コンテンツをユーザのラップトップに配信することを控えることができるが、コンテンツをユーザのスマートフォンに配信し続けることはできる。いくつかの実装形態では、DCDS110は、このアクティビティをユーザに示すアラートを生成することができる。このタイプの配信制限により、依然としてユーザのラップトップへのコンテンツの配信を可能にしながら、そうでなければユーザのスマートフォンへのコンテンツの配信に使用されるであろう無駄なコンピューティングリソースを削減することができる。このようにコンテンツの配信を制限することにより、前述のようにリソースの浪費を防ぎながら、依然としてユーザによって実際に視聴される可能性が高い特定のタイプのデバイスにコンテンツを提供することができる。
いくつかの実装形態では、コンテンツのセットの配信を防止することには、所与のエンティティが自動化されたボットとして分類された場合にコンテンツのセットの配信を防止することを含む。たとえば、DCDS110は、要求において識別されたエンティティが自動化されたボットとして分類される場合、コンテンツのセットの配信を防止することができる。
いくつかの実装形態では、プロセス400は、無効として分類されたエンコードされたインタラクションのシーケンスに対応するコンテンツ配信ログの結果エントリを識別することと、次いで、無効として分類されたエンコードされたインタラクションのシーケンスに対応する結果エントリを無効にすることとによって継続することができる。たとえば、DCDS110は、コンテンツ配信ログ内で、無効として分類されたインタラクション署名に対応する特定の結果エントリ(たとえば、特定のインタラクションが正常に完了したか、または条件のセットを満たしたかどうかを示す)を識別することができる。次いで、DCDS110は、ログ内の結果エントリを無効にすることができる。いくつかの実装形態では、DCDS110は、無効化されたエントリを削除して、メモリなどのリソースを解放することができる。
再帰型ニューラルネットワーク(RNN)(たとえば、長短期記憶(LSTM)ネットワーク)などの適切にトレーニングされた機械学習モデルを、標準形式(たとえば、前述のベクトル形式)のインタラクションのエンコードと組み合わせて使用することにより、本技法は、計算上信頼性が高く効率的な方法でエンティティによって以前に実行されたエンコードされたインタラクションのシーケンスに基づいて、コンテンツをエンティティに配信すべきか否かを決定することができる。さらに、エンコードされたインタラクションのシーケンスが無効として分類された場合、コンテンツはエンティティに配信されないため、コンテンツが引き続き正当なエンティティに配信されることを保証しながら、コンテンツの配信に必要な処理および帯域幅リソースが削減される。
図5は、前述の動作を実行するために使用することができる例示的なコンピュータシステム500のブロック図である。システム400は、プロセッサ510、メモリ520、ストレージデバイス530、および入力/出力デバイス540を含む。コンポーネント510、520、530、および540の各々は、たとえば、システムバス550を使用して相互接続することができる。プロセッサ510は、システム500内で実行する命令を処理することができる。一実装形態では、プロセッサ510はシングルスレッドプロセッサである。別の実装形態では、プロセッサ510はマルチスレッドプロセッサである。プロセッサ510は、メモリ520またはストレージデバイス530に記憶された命令を処理することができる。
メモリ520は、システム500内に情報を記憶する。一実装形態では、メモリ520はコンピュータ可読媒体である。一実装形態では、メモリ520は揮発性メモリユニットである。別の実装形態では、メモリ520は不揮発性メモリユニットである。
ストレージデバイス530は、システム500に大容量ストレージを提供することができる。一実装形態では、ストレージデバイス530はコンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス530は、たとえば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワーク上で共有されるストレージデバイス(たとえば、クラウドストレージデバイス)、または他の何らかの大容量ストレージデバイスを含むことができる。
入力/出力デバイス540は、システム500に入力/出力動作を提供する。一実装形態では、入力/出力デバイス540は、1つまたは複数のネットワークインターフェースデバイス、たとえばイーサネットカード、シリアル通信デバイス、たとえばRS-232ポート、および/またはワイヤレスインターフェースデバイス、たとえば802.11カードを含むことができる。別の実装形態では、入力/出力デバイスは、入力データを受信し、出力データを他の入力/出力デバイス、たとえば、キーボード、プリンタ、およびディスプレイデバイス460に送信するように構成されたドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビクライアントデバイスなどの他の実装形態も使用することができる。
例示的な処理システムが図5において説明されたが、本明細書に記載されている主題および機能動作の実装形態は、他のタイプのデジタル電子回路、あるいは本明細書に開示された構造およびそれらの構造的均等物を含むコンピュータソフトウェア、ファームウェア、またはハードウェア、あるいはそれらのうちの1つまたは複数の組合せにおいて実装することができる。
電子ドキュメント(簡潔にするために単にドキュメントと呼ばれる)は、必ずしもファイルに対応するとは限らない。ドキュメントは、他のドキュメントを保持するファイルの一部、問題のドキュメント専用の単一のファイル、または複数の調整されたファイルに記憶され得る。
本明細書に記載されている主題および動作の実施形態は、デジタル電子回路、あるいは本明細書に開示された構造およびそれらの構造的均等物を含むコンピュータソフトウェア、ファームウェア、またはハードウェア、あるいはそれらのうちの1つまたは複数の組合せにおいて実装することができる。本明細書に記載されている主題の実施形態は、データ処理装置による実行、またはデータ処理装置の動作を制御するために、コンピュータストレージ媒体(または、複数の媒体)上にエンコードされた、1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。代替的、または追加的に、プログラム命令は、人工的に生成された伝播信号、たとえば、データ処理装置による実行のために適切な受信装置に送信するための情報をエンコードするために生成される機械生成の電気信号、光信号、または電磁気信号でエンコードすることができる。コンピュータストレージ媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読ストレージ基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらの1つまたは複数の組合せであってもよく、それらに含まれてもよい。さらに、コンピュータストレージ媒体は伝播信号ではないが、コンピュータストレージ媒体は、人工的に生成された伝播信号にエンコードされたコンピュータプログラム命令のソースまたは宛先となり得る。コンピュータストレージ媒体は、1つまたは複数の別個の物理的コンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他のストレージデバイス)であってもよく、またはそれらに含まれてもよい。
本明細書に記載されている動作は、1つまたは複数のコンピュータ可読ストレージデバイスに記憶されたデータまたは他のソースから受信したデータに対してデータ処理装置によって実行される動作として実装することができる。
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、または前述のものの複数、あるいは組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。装置は、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、あるいはそれらの1つまたは複数の組合せを構成するコードを含むことができる。この装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境における使用に適した他のユニットとして含まれて、任意の形式で展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、必ずしもそうである必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプト)を保持するファイルの一部、問題のプログラム専用の単一のファイル、または複数の調整されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1台のコンピュータ、あるいは1つのサイトに配置された、または複数のサイトに分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することもできる。
本明細書に記載されているプロセスおよび論理フローは、入力データを動作して出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実行することができ、装置をそれとして実装することができる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方を含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令とデータを受信する。コンピュータの必須要素は、命令に従ってアクションを実行するためのプロセッサと、命令とデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、磁気、光磁気ディスク、または光ディスクなどのデータを記憶するための1つまたは複数の大容量ストレージデバイスを含むか、そこからデータを受信する、またはそこにデータを転送するように動作可能に結合されるか、あるいはその両方である。しかしながら、コンピュータはそのようなデバイスを備えている必要はない。さらに、コンピュータは、いくつか例を挙げると、たとえばモバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、あるいはポータブルストレージデバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)などの別のデバイスに埋め込むことができる。コンピュータプログラム命令およびデータを記憶するために適したデバイスは、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補足することができ、またはそこに組み込むことができる。
ユーザとのインタラクションを提供するために、本明細書に記載されている主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)またはLCD(液晶表示装置)モニタ、ならびにユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有するコンピュータ上に実装することができる。ユーザとのインタラクションを提供するために、他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど、任意の形態の感覚的フィードバックであってよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザとインタラクションすることができる。
本明細書に記載されている主題の実施形態は、たとえばデータサーバとしてバックエンドコンポーネントを含む、またはアプリケーションサーバなどのミドルウェアコンポーネントを含む、または、たとえば、ユーザが本明細書に記載されている主題の実装形態とインタラクションできるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネント、あるいは、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの1つまたは複数の任意の組合せを含むコンピューティングシステムに実装することができる。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体、たとえば通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、クライアントとサーバを含むことができる。通常、クライアントとサーバは互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアントとサーバの関係を有するコンピュータプログラムによって発生する。いくつかの実施形態では、サーバは、データ(たとえば、HTMLページ)をクライアントデバイスに送信する(たとえば、データを表示し、クライアントデバイスとインタラクションするユーザからユーザ入力を受信する目的で)。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザインタラクションの結果)は、サーバにおいてクライアントデバイスから受信することができる。
本明細書は多くの特定の実装形態の詳細を含んでいるが、これらは、発明の範囲または特許請求され得るものに対する制限として解釈されるべきではなく、特定の発明の特定の実施形態に固有の機能の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載されている特定の特徴はまた、単一の実施形態において組み合わせて実装することができる。逆に、単一の実施形態の文脈において説明されている様々な特徴はまた、複数の実施形態において個別に、または任意の適切なサブコンビネーションで実装することができる。さらに、特徴は特定の組合せにおいて作用するものとして上記で説明され、最初にそのように主張されてもよいが、主張された組合せからの1つまたは複数の特徴は、場合によっては組合せから削除される可能性があり、主張された組合せはサブコンビネーションまたはサブコンビネーションのバリエーションに向けられていることがある。
同様に、動作は特定の順序で図面に示されているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序または連続した順序で実行されること、または図示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有利な場合がある。さらに、前述の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明したプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に統合するか、または複数のソフトウェア製品にパッケージ化できることを理解されたい。
このように、主題の特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲の範囲内にある。場合によっては、特許請求の範囲に記載されているアクションを異なる順序で実行しても、望ましい結果が得られることがある。さらに、添付の図に示されるプロセスは、望ましい結果を達成するために、示された特定の順序または連続した順序を必ずしも必要としない。特定の実装形態では、マルチタスクと並列処理が有利な場合がある。
100 環境、システム
102 ネットワーク
104 電子ドキュメントサーバ
105 電子ドキュメント
106 ユーザデバイス、スマートフォン
108 要求
110 デジタルコンポーネント配信システム、DCDS
112 デジタルコンポーネントデータベース
114 応答データ
120 エンコーダ
122 トレーニングモジュール
124 分類モデル
126 モデルジェネレータ
130 サードパーティ
200 データフロー
300 エンコードプロセス
302 インタラクション情報
304 イベント
306 エンコードされたワード、イベント
307 インタラクション署名
308 訪問の分類
460 ディスプレイデバイス
500 コンピュータシステム
510 プロセッサ、コンポーネント
520 メモリ、コンポーネント
530 ストレージデバイス、コンポーネント
540 入力/出力デバイス、コンポーネント
550 システムバス

Claims (20)

  1. クライアントデバイスにおいて発生した複数のインタラクションのうち、所与のインタラクションごとに、(i)イベントタイプと、(ii)所与のイベントと、前記所与のイベントの前に発生した前のイベントとの間の時間の長さを指定する遅延期間とを示すインタラクションデータを受信するステップと、
    各所与のインタラクションを、(i)前記所与のインタラクションの前記イベントタイプと、(ii)前記所与のインタラクションの前記インタラクションデータによって指定された前記遅延期間との組合せである標準化されたフォーマットを有するエンコードされたインタラクションにエンコードするステップと、
    エンコードされたインタラクションのシーケンスを含むインタラクション署名を生成するステップと、
    ユーザインタラクションのシーケンスを有効または無効として分類するようにトレーニングされたモデルを使用して、エンコードされたインタラクションの前記シーケンスを処理するステップであって、
    前記モデルを使用して、エンコードされたインタラクションのシーケンスを無効として分類するステップ、および
    エンティティにコンテンツを提供するために後で識別された要求に応答して、エンコードされたインタラクションの前記シーケンスを実行した前記エンティティへのコンテンツのセットの配信を防止するステップ
    を含む、ステップと
    を含む、1つまたは複数のデータ処理装置によって実行される、方法。
  2. 前記モデルが再帰型ニューラルネットワークであり、任意選択で長短期記憶(LSTM)ネットワークである、請求項1に記載の方法。
  3. コンテンツのセットの配信を防止するステップが、指定されたタイプのコンテンツを前記エンティティに提供することを控えるステップを含む、請求項1または2に記載の方法。
  4. コンテンツのセットの配信を防止するステップが、前記エンティティに対応する1つまたは複数のデバイスへの前記コンテンツの配信を一時的に防止するステップを含む、請求項1から3のいずれか一項に記載の方法。
  5. 無効として分類されたエンコードされたインタラクションの前記シーケンスに対応するコンテンツ配信ログの結果エントリを識別するステップと、
    無効として分類されたエンコードされたインタラクションの前記シーケンスに対応する前記結果エントリを無効にするステップと
    をさらに含む、請求項1から4のいずれか一項に記載の方法。
  6. エンコードされたインタラクションの前記シーケンスに対応する前記結果エントリを無効にするステップが、メモリから前記結果エントリを削除するステップを含む、請求項5に記載の方法。
  7. 前記インタラクションデータを受信するステップが、所与のエンティティについて、コンテンツの複数の異なる部分とのインタラクションに対応するインタラクションデータの複数のセットを収集するステップを含み、
    インタラクション署名を生成するステップが、コンテンツのそれぞれの異なる部分との前記インタラクションに対応する前記インタラクションデータのセットごとに別個のインタラクション署名を生成するステップを含み、前記方法が、
    前記インタラクションデータの各セットに割り当てられたラベル、または集約してインタラクションデータの前記複数のセットに割り当てられた集約ラベルに基づいて、前記所与のエンティティを実際のユーザまたは自動化されたボットとして分類するステップであって、コンテンツの前記セットの配信を防止するステップが、前記所与のエンティティが前記自動化されたボットとして分類される場合、コンテンツの前記セットの配信を防止するステップを含む、ステップをさらに含む、請求項1から6のいずれか一項に記載の方法。
  8. 1つまたは複数のプロセッサと、
    実行されると、前記1つまたは複数のプロセッサに、
    クライアントデバイスにおいて発生した複数のインタラクションのうち、所与のインタラクションごとに、(i)イベントタイプと、(ii)前記所与のイベントと、前記所与のイベントの前に発生した前のイベントとの間の時間の長さを指定する遅延期間とを示すインタラクションデータを受信することと、
    各所与のインタラクションを、(i)前記所与のインタラクションの前記イベントタイプと、(ii)前記所与のインタラクションの前記インタラクションデータによって指定された前記遅延期間との組合せである標準化されたフォーマットを有するエンコードされたインタラクションにエンコードすることと、
    エンコードされたインタラクションのシーケンスを含むインタラクション署名を生成することと、
    ユーザインタラクションのシーケンスを有効または無効として分類するようにトレーニングされたモデルを使用して、エンコードされたインタラクションの前記シーケンスを処理することであって、
    前記モデルを使用して、エンコードされたインタラクションのシーケンスを無効として分類すること、および
    エンティティにコンテンツを提供するために後で識別された要求に応答して、エンコードされたインタラクションの前記シーケンスを実行した前記エンティティへのコンテンツのセットの配信を防止すること
    を含む、ことと
    を含む動作を実行させる命令を含む1つまたは複数のメモリ要素と
    を備える、システム。
  9. 前記モデルが再帰型ニューラルネットワークであり、任意選択で長短期記憶(LSTM)ネットワークである、請求項8に記載のシステム。
  10. コンテンツのセットの配信を防止することが、指定されたタイプのコンテンツを前記エンティティに提供することを控えることを含む、請求項8または9に記載のシステム。
  11. コンテンツのセットの配信を防止することが、前記エンティティに対応する1つまたは複数のデバイスへの前記コンテンツの配信を一時的に防止することを含む、請求項8から10のいずれか一項に記載のシステム。
  12. 前記動作が、
    無効として分類されたエンコードされたインタラクションの前記シーケンスに対応するコンテンツ配信ログの結果エントリを識別することと、
    無効として分類されたエンコードされたインタラクションの前記シーケンスに対応する前記結果エントリを無効にすることと
    をさらに含む、請求項8から11のいずれか一項に記載のシステム。
  13. エンコードされたインタラクションの前記シーケンスに対応する前記結果エントリを無効にすることが、メモリから前記結果エントリを削除することを含む、請求項12に記載のシステム。
  14. 前記インタラクションデータを受信することが、所与のエンティティについて、コンテンツの複数の異なる部分とのインタラクションに対応するインタラクションデータの複数のセットを収集することを含み、
    インタラクション署名を生成することが、コンテンツのそれぞれの異なる部分との前記インタラクションに対応する前記インタラクションデータのセットごとに別個のインタラクション署名を生成することを含み、前記動作が、
    前記インタラクションデータの各セットに割り当てられたラベル、または集約してインタラクションデータの前記複数のセットに割り当てられた集約ラベルに基づいて、前記所与のエンティティを実際のユーザまたは自動化されたボットとして分類することであって、コンテンツの前記セットの配信を防止することが、前記所与のエンティティが前記自動化されたボットとして分類される場合、コンテンツの前記セットの配信を防止することを含む、ことをさらに含む、請求項8から13のいずれか一項に記載のシステム。
  15. 分散コンピューティングシステムによって実行されると、前記分散コンピューティングシステムに、
    クライアントデバイスにおいて発生した複数のインタラクションのうち、所与のインタラクションごとに、(i)イベントタイプと、(ii)前記所与のイベントと、前記所与のイベントの前に発生した前のイベントとの間の時間の長さを指定する遅延期間とを示すインタラクションデータを受信することと、
    各所与のインタラクションを、(i)前記所与のインタラクションの前記イベントタイプと、(ii)前記所与のインタラクションの前記インタラクションデータによって指定された前記遅延期間との組合せである標準化されたフォーマットを有するエンコードされたインタラクションにエンコードすることと、
    エンコードされたインタラクションのシーケンスを含むインタラクション署名を生成することと、
    ユーザインタラクションのシーケンスを有効または無効として分類するようにトレーニングされたモデルを使用して、エンコードされたインタラクションの前記シーケンスを処理することであって、
    前記モデルを使用して、エンコードされたインタラクションのシーケンスを無効として分類すること、および
    エンティティにコンテンツを提供するために後で識別された要求に応答して、エンコードされたインタラクションの前記シーケンスを実行した前記エンティティへのコンテンツのセットの配信を防止すること
    を含む、ことと
    を含む動作を実行させる命令を用いてエンコードされた、非一時的コンピュータストレージ媒体。
  16. 前記モデルが再帰型ニューラルネットワークであり、任意選択で長短期記憶(LSTM)ネットワークである、請求項15に記載の非一時的コンピュータストレージ媒体。
  17. コンテンツのセットの配信を防止することが、指定されたタイプのコンテンツを前記エンティティに提供することを控えることを含む、請求項15または16に記載の非一時的コンピュータストレージ媒体。
  18. コンテンツのセットの配信を防止することが、前記エンティティに対応する1つまたは複数のデバイスへの前記コンテンツの配信を一時的に防止することを含む、請求項15から17のいずれか一項に記載の非一時的コンピュータストレージ媒体。
  19. 前記動作が、
    無効として分類されたエンコードされたインタラクションの前記シーケンスに対応するコンテンツ配信ログの結果エントリを識別することと、
    無効として分類されたエンコードされたインタラクションの前記シーケンスに対応する前記結果エントリを無効にすることと
    をさらに含む、請求項15から18のいずれか一項に記載の非一時的コンピュータストレージ媒体。
  20. エンコードされたインタラクションの前記シーケンスに対応する前記結果エントリを無効にすることが、メモリから前記結果エントリを削除することを含む、請求項19に記載の非一時的コンピュータストレージ媒体。
JP2022554665A 2020-06-25 2021-04-28 パターンベースの分類 Active JP7549668B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/912,009 2020-06-25
US16/912,009 US11704560B2 (en) 2020-06-25 2020-06-25 Pattern-based classification
PCT/US2021/029693 WO2021262316A1 (en) 2020-06-25 2021-04-28 Pattern-based classification

Publications (2)

Publication Number Publication Date
JP2023524362A true JP2023524362A (ja) 2023-06-12
JP7549668B2 JP7549668B2 (ja) 2024-09-11

Family

ID=75954303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022554665A Active JP7549668B2 (ja) 2020-06-25 2021-04-28 パターンベースの分類

Country Status (6)

Country Link
US (2) US11704560B2 (ja)
JP (1) JP7549668B2 (ja)
KR (1) KR20220137943A (ja)
CN (1) CN115280314B (ja)
CA (1) CA3175105A1 (ja)
WO (1) WO2021262316A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11636361B2 (en) * 2020-07-14 2023-04-25 Yahoo Assets Llc Content recommendations based upon historical future data
WO2022069063A1 (en) * 2020-10-02 2022-04-07 Lenovo (Singapore) Pte. Ltd. Validity notification for a machine learning model

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012527691A (ja) * 2009-05-19 2012-11-08 サイバーセキュアー, インコーポレイテッド アプリケーションレベルセキュリティのためのシステムおよび方法
US20180191837A1 (en) * 2016-12-30 2018-07-05 Google Inc. Pattern based optimization of digital component transmission
US20200084219A1 (en) * 2018-09-06 2020-03-12 International Business Machines Corporation Suspicious activity detection in computer networks
JP2020510926A (ja) * 2017-02-27 2020-04-09 アマゾン・テクノロジーズ、インコーポレイテッド インテリジェントセキュリティ管理

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769811B2 (en) * 2003-03-03 2010-08-03 Aol Llc Instant messaging sound control
US8910188B1 (en) * 2011-07-14 2014-12-09 Google Inc. Deterministic data processing
US10121157B2 (en) * 2015-04-17 2018-11-06 GoodData Corporation Recommending user actions based on collective intelligence for a multi-tenant data analysis system
US20180248902A1 (en) 2015-08-28 2018-08-30 Mircea DÃNILÃ-DUMITRESCU Malicious activity detection on a computer network and network metadata normalisation
US10572280B2 (en) * 2017-02-17 2020-02-25 Google Llc Mobile application activity detector
US10726325B2 (en) 2017-04-13 2020-07-28 Adobe Inc. Facilitating machine-learning and data analysis by computing user-session representation vectors
WO2018204399A1 (en) * 2017-05-05 2018-11-08 Microchip Technology Incorporated Devices and methods for transmission of events with a uniform latency on serial communication links
US11171937B2 (en) * 2018-05-25 2021-11-09 Target Brands, Inc. Continuous guest re-authentication system
US11539716B2 (en) 2018-07-31 2022-12-27 DataVisor, Inc. Online user behavior analysis service backed by deep learning models trained on shared digital information
KR20200086143A (ko) * 2019-01-08 2020-07-16 삼성전자주식회사 저장 장치 및 그것의 데이터 처리 방법
US11669431B2 (en) 2019-01-11 2023-06-06 Google Llc Analytics personalization framework
US11869033B2 (en) * 2019-12-09 2024-01-09 Yahoo Ad Tech Llc Content item selection and measurement determination
US11561704B2 (en) * 2019-12-27 2023-01-24 Seagate Technology Llc Artificial intelligence (AI) assisted anomaly detection of intrusion in storage systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012527691A (ja) * 2009-05-19 2012-11-08 サイバーセキュアー, インコーポレイテッド アプリケーションレベルセキュリティのためのシステムおよび方法
US20180191837A1 (en) * 2016-12-30 2018-07-05 Google Inc. Pattern based optimization of digital component transmission
JP2020510926A (ja) * 2017-02-27 2020-04-09 アマゾン・テクノロジーズ、インコーポレイテッド インテリジェントセキュリティ管理
US20200084219A1 (en) * 2018-09-06 2020-03-12 International Business Machines Corporation Suspicious activity detection in computer networks

Also Published As

Publication number Publication date
US20230306263A1 (en) 2023-09-28
US20210406670A1 (en) 2021-12-30
CA3175105A1 (en) 2021-12-30
US11704560B2 (en) 2023-07-18
CN115280314B (zh) 2024-07-12
JP7549668B2 (ja) 2024-09-11
KR20220137943A (ko) 2022-10-12
WO2021262316A1 (en) 2021-12-30
CN115280314A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
US10832008B2 (en) Computerized system and method for automatically transforming and providing domain specific chatbot responses
US9953063B2 (en) System and method of providing a content discovery platform for optimizing social network engagements
US20140129331A1 (en) System and method for predicting momentum of activities of a targeted audience for automatically optimizing placement of promotional items or content in a network environment
US8788442B1 (en) Compliance model training to classify landing page content that violates content item distribution guidelines
US20190347287A1 (en) Method for screening and injection of media content based on user preferences
US10445753B1 (en) Determining popular and trending content characteristics
US11263664B2 (en) Computerized system and method for augmenting search terms for increased efficiency and effectiveness in identifying content
US20230306263A1 (en) Pattern-based classification
US20140279730A1 (en) Identifying salient items in documents
US20150242885A1 (en) Invitational content attribution
US10334057B2 (en) Pattern based optimization of digital component transmission
Krishnan et al. Dynamic and temporal user profiling for personalized recommenders using heterogeneous data sources
JP2019503522A (ja) 最適化されたデジタル・コンポーネント分析システム
US20190080354A1 (en) Location prediction based on tag data
US20240054392A1 (en) Transfer machine learning for attribute prediction
US20150242886A1 (en) Ad impression availability and associated adjustment values
JP7223164B2 (ja) データインテグリティの最適化
US20240160678A1 (en) Distributing digital components based on predicted attributes
US20240273401A1 (en) Privacy preserving transfer learning
US11106682B2 (en) Decision platform for directed information delivery
Fuxman et al. Enabling direct interest-aware audience selection
WO2024151256A1 (en) Configuration based dataset generation for content serving systems
CN113892085A (zh) 限制在客户端设备上对冗余数字组件的提供和显示

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240304

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240830

R150 Certificate of patent or registration of utility model

Ref document number: 7549668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150