JP6629883B2 - コンテンツ検索エンジン - Google Patents

コンテンツ検索エンジン Download PDF

Info

Publication number
JP6629883B2
JP6629883B2 JP2017556924A JP2017556924A JP6629883B2 JP 6629883 B2 JP6629883 B2 JP 6629883B2 JP 2017556924 A JP2017556924 A JP 2017556924A JP 2017556924 A JP2017556924 A JP 2017556924A JP 6629883 B2 JP6629883 B2 JP 6629883B2
Authority
JP
Japan
Prior art keywords
query
predetermined threshold
rendering period
content items
computerized rendering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017556924A
Other languages
English (en)
Other versions
JP2019511017A (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 JP2019511017A publication Critical patent/JP2019511017A/ja
Application granted granted Critical
Publication of JP6629883B2 publication Critical patent/JP6629883B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0272Period of advertisement exposure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本明細書は、検索エンジンに関する。
検索エンジンは、一般に、クエリを実行し、記憶されたデータを取り出す任意のプログラムとして説明され得る。しかしながら、手元の作業に基づいて、検索エンジンは、様々な異なる方法において構成され得る。たとえば、いくつかの検索エンジンは、キーボードベースの検索および取り出しを実行するように構成され得る。そのような検索エンジンは、特定のリソースまたは特定のリソースのメタデータにおいて検索用語が現れる回数に少なくとも部分的に基づいて、関連する検索結果を識別することができる。代替的には、または加えて、いくつかの検索エンジンは、1つまたは複数の検索用語に関連付けられたエンティティ名を識別し、次いで、1つまたは複数の特定のリソース内のエンティティ名の出現数を決定することによって、関連する検索結果を識別することができる。しかしながら、検索エンジンがクエリに応答して検索結果を識別することができる前述の方法は、単なる例である。
本開示の1つの革新的な態様によれば、予測されるコンピュータ化レンダリング期間(computerized rendering period)に基づいてクエリを実行するかどうかを決定する方法が開示される。方法は、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つまたは複数をオプションで含んでもよい。たとえば、いくつかの実装形態では、方法は、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つまたは複数の実施形態の詳細は、添付図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
予測されるコンピュータ化レンダリング期間に基づいてクエリを実行するときを決定するためのシステムの一例の図である。 予測されるコンピュータ化レンダリング期間に基づいてクエリを実行するときを決定するためのプロセスの一例のフローチャートである。 予測されるコンピュータ化レンダリング期間に基づいてクエリを実行するときを決定するためのシステムの構成要素のブロック図である。
これらおよび他の実装形態の詳細は、添付図面および以下の説明に記載されている。他の特徴および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
本開示は、それぞれのクエリの結果のために利用可能なコンピュータ化レンダリング期間に関係なくすべてのクエリを実行する検索および取り出しシステムの効率と比較して、予測されるコンピュータ化レンダリング期間において使用することによって検索および取り出しの効率を向上させる検索および取り出しシステムを対象とする。コンピュータ化レンダリング期間は、クエリに応答して返されたコンテンツ項目がクライアントデバイスのコンピュータ化されたユーザインターフェースにおいて表示される、視覚的に認識可能である、および/またはレンダリングされる時間量である。たとえば、印象持続時間を含む、様々なタイプのコンピュータ化レンダリング期間が存在する。検索および取り出しシステムはまた、受信されたクエリに基づいて、受信されたクエリが所定のしきい値を超えるコンピュータ化レンダリング期間を有する可能性があるかどうかを予測し、次いで、受信されたクエリに関連するコンピュータ化レンダリング期間が所定のしきい値を満たさない可能性がある場合、受信されたクエリを実行しないことを決定することによって、検索および取り出しの効率を高める。たとえば、本開示によって提供される方法を実行するようにプログラムされたシステムは、予測されるコンピュータ化レンダリング期間が1秒以下である場合、コンテンツ項目を要求するクエリを実行しないことを決定することができる。
本開示は、それぞれのクエリの結果のために利用可能なコンピュータ化レンダリング期間に関係なくすべてのクエリを実行する検索および取り出しシステムの効率と比較して、検索および取り出しシステムによって消費される計算リソースを低減することによって、検索および取り出しシステムの効率を高める。本開示は、検索および取り出しシステムが、クエリが所定のしきい値を満たさない可能性があるコンピュータ化レンダリング期間に関連することを予測する場合、受信されたクエリは、実行されないので、検索および取り出しシステムによって消費される処理能力の量を低減する。さらに、そのようなクエリに対する検索結果は、スコア化されランク付けされる必要がないので、追加の計算リソースが保存される。そのような検索結果のスコア化およびランク付けプロセスは、リソース集約的であり、そのような検索結果のスコア化およびランク付けの実行を回避することは、特定の受信されたクエリの実行を回避するために予測されるコンピュータ化レンダリング期間を使用しないシステムと比較したとき、計算リソースの使用をかなり最適化することができる。
図1は、予測されるコンピュータ化レンダリング期間に基づいてクエリを実行するかどうかを決定するためのシステム100(たとえば、検索および取り出しシステム)の一例の図である。システム100は、クライアントデバイス110と、ネットワーク120と、サーバ130と、クライアントデバイス210とを含む。本明細書において提供されるシステム100の例は、2つのクライアントデバイス110、210を含むが、本開示は、そのように限定される必要はない。代わりに、本明細書によって説明されるシステムはまた、1つのクライアントデバイスのみまたは2つ以上のクライアントデバイスを用いて使用されてもよい。
サーバ130は、1つまたは複数のユニットを含んでもよい。本明細書では、「ユニット」という用語は、1つまたは複数の特定の機能を実行することができるソフトウェアベースのシステムまたはサブシステムを指すために広く使用される。一般に、ユニットは、1つまたは複数の場所における1つまたは複数のコンピュータ上にインストールされた1つまたは複数のソフトウェアモジュールまたは構成要素として実装され、他の場合には、複数のユニットが、同じコンピュータ上にインストールされ得る。
クライアントデバイス110などのクライアントデバイスのユーザは、アプリケーションを開く指示を入力することができる。たとえば、ユーザは、気象アプリケーションを開くことを開始する、クライアントデバイス110のユーザインターネット内に表示されたアイコンを選択してもよい。代替的には、ユーザは、気象アプリケーションを開くために、クライアントデバイス110上にインストールされ実行されている自動化アシスタントアプリケーションに指示する音声コマンドを発してもよい。気象アプリケーションを開くことは、クライアントデバイス110のユーザインターフェース内のグラフィカルユーザインターフェース111の表示をもたらす。ユーザインターフェース111が生成されると、アプリケーションは、特定の場所112の現在の温度と、特定の場所113に関する1つまたは複数の将来の温度とに関するデータを取得するようにデバイス110に指示する。加えて、アプリケーションはまた、グラフィカルユーザインターフェース111の領域114内に表示され得るコンテンツ項目についてクエリ121をサーバ130に送信するようにクライアントデバイス110に指示する。クエリ121によって要求されたコンテンツ項目は、たとえば、画像、ビデオ、テキスト、それらの組合せなどを含んでもよい。いくつかの実装形態では、コンテンツ項目は、製品、サービス、イベントなどのための広告を含んでもよい。クエリ121は、ネットワーク120を介して送信されてもよい。ネットワーク120は、LAN、WAN、セルラーネットワーク、インターネット、またはそれらの組合せを含んでもよい。
サーバ130は、クエリ121を受信し、特徴抽出ユニット132への入力としてクエリ121を提供する(131)。いくつかの実装形態では、サーバ130は、特徴抽出ユニット132とは別個で、クライアントデバイス110、210からデータを受信し、受信されたデータの1つまたは複数の部分を特徴抽出ユニット132に提供するように機能するクエリ受信ユニットを有してもよい。代替的には、クエリ受信ユニット機能は、特徴抽出ユニットが別個のクエリ受信ユニットの必要なしでクエリ121を受信することができるように、特徴抽出ユニット132に統合されてもよい。
受信されたクエリ121は、(i)1つまたは複数のクエリ語と、(ii)クライアントデバイス110の現在のコンテキストに関連するデータとを含んでもよい。クライアントデバイス110の現在のコンテキストは、たとえば、クエリ121を生成したアプリケーションを示すデータ、ユーザのアプリケーション使用の履歴を示すデータなどを含んでもよい。特徴抽出ユニット132は、クエリベクトル134を生成するために使用され得るクエリ121から特徴を抽出する。クエリベクトル134は、クライアントデバイス110から受信された1つまたは複数の検索語およびコンテキスト情報の数値表現である。数値関係は、受信されたクエリ121と、確立された特徴ベクトル語彙との間の関係を定量化する。特徴ベクトル語彙は、各既知の単語のエントリ、クライアントデバイス上にインストールされた各アプリケーションのエントリ、クライアントデバイス110におけるユーザのアプリケーションの履歴使用に関する1つまたは複数のエントリ(たとえば、アプリケーションを使用する時間の平均長)などを含む多くのエントリを含んでもよい。
クエリ特徴ベクトル134は、クエリが所定のしきい値を満たすコンピュータ化レンダリング期間に関連する可能性を予測するように訓練された機械学習モデル136への入力として提供される(135)。機械学習モデル136は、コンピュータ化レンダリング期間が所定のしきい値(たとえば、1秒、3秒、5秒など)よりも大きい可能性がある場合、「0」などの第1の値を定義するラベルか、または、コンピュータ化レンダリング期間が所定のしきい値(たとえば、1秒、3秒、5秒など)よりも小さい可能性がある場合、「1」などの第2の値を定義するラベルを含むロジスティック回帰モデルであってもよい。訓練された機械学習モデル136は、受信されたクエリベクトル134を処理し、受信されたクエリベクトル134を第1の値または第2の値に関連するものとして分類する出力ラベル137を生成してもよい。本開示のこの実装形態は、ロジスティック回帰モデルを使用するが、他のタイプの機械学習モデルが使用され得る。たとえば、入力を処理し、入力を複数の出力クラスのうちの1つに分類するように訓練されることが可能なニューラルネットワークまたは他のタイプの機械学習モデルが、機械学習モデルとして使用されてもよい。
出力ラベル137は、クエリ121に関する予測されるコンピュータ化レンダリング期間が所定のしきい値を満たすこと出力ラベル137が示すかどうかを決定することができるコンピュータ化レンダリング期間分析ユニット138に提供される。一実装形態では、機械学習モデル136が、予測されるコンピュータ化レンダリング期間が所定のしきい値を超えることを示すラベル137を出力する場合、クエリ121に応答するコンテンツ項目の表示のための予測されるコンピュータ化レンダリング期間は、所定のしきい値を満たすことができる。代替的には、機械学習モデル136が、予測されるコンピュータ化レンダリング期間が所定のしきい値を超えないことを示すラベル137を出力する場合、クエリ137に応答するコンテンツ項目の表示のための予測されるコンピュータ化レンダリング期間は、所定のしきい値を満たすことができない。
機械学習モデル136によるクエリベクトル134の処理によって生成された出力ラベル137に基づいて、コンピュータ化レンダリング期間分析ユニット138は、クエリ121が実行されるべきかどうかを決定する。具体的には、コンピュータ化レンダリング期間分析ユニット138が、クエリ121に応答するコンテンツ項目のための予測されるコンピュータ化レンダリング期間が所定のしきい値を満たすと予測されないことを機械学習モデル136の出力137が示すことを決定した場合、コンピュータ化レンダリング期間分析ユニット138は、クエリ121を処理することを回避することを決定してもよい。そのようなシナリオでは、コンピュータ化レンダリング期間分析ユニット138は、クエリ121を実行するために検索エンジン140を使用しないようにサーバ130に指示することになる(139)。検索エンジンは、たとえば、データ構造内に記憶されたコンテンツを識別するために(任意の形式、たとえば、テキスト、画像、または音声における)クエリを使用することができるデバイス上またはデバイスの集合上に記憶され実行される1つまたは複数のソフトウェア構成要素を含んでもよい。
システム100の例では、機械学習モデル136は、クエリ121を発信したアプリケーションのタイプなどのクライアントデバイス110のコンテキストを示す特徴ベクトルの特徴に少なくとも部分的に基づいて、クエリ121に応答するコンテンツ項目のためのコンピュータ化レンダリング期間が所定のしきい値を満たす可能性がないことを予測してもよい。たとえば、機械学習モデル136は、ユーザインターフェース111を提供する気象アプリケーションなどのアプリケーションが、典型的には、高コンピュータ化レンダリング期間に関連付けられていないことを学習するように訓練され得る。これは、ユーザが、典型的には、気象アプリケーションを開き、現在または将来の予報を見て、次いで、気象アプリケーションを閉じるからである。結果として、気象アプリケーションは、典型的には、1秒以下などの低コンピュータ化レンダリング期間に関連付けられ得る。そのような場合、システム100は、システム100の計算リソースを節約するために、クエリ121を実行しないことを決定することができる。クエリ121に基づいて領域114内に表示するためのコンテンツ項目を受信し、クエリ121に応答して返された領域114内に表示されるコンテンツ項目を見て、次いで、領域114内に表示されるコンテンツ項目をクリックするのに十分に長い時間の間、ユーザは、クライアントデバイス110のユーザインターフェース内にユーザインターフェース111を開いて表示させるつもりはないだろうと予測されるので、クエリ121の実行を回避することは、ユーザ体験に影響を与えないであろう。いくつかの実装形態では、ユーザインターフェース111の領域114は、クエリ121の実行が回避されるとき、空のままにされてもよい。
サーバは、クエリ処理ユニット142がクエリ121を実行するために必要な計算リソースを消費する必要ないので、クエリ121を実行しないようにサーバ130に指示すること(139)は、システム100の効率を高める。さらに、システム100は、コンテンツランク付けユニット147によって実行される検索結果のスコア化およびランク付けの計算上コストの高い動作をバイパスすることができる。したがって、システム100は、所定のしきい値を満たさないコンピュータ化レンダリング期間に関連すると機械学習モデル136によって予測されるクエリ121などのクエリを実行しないことによって、計算リソースの消費を節約することができる。
クライアントデバイス210などのクライアントデバイスのユーザはまた、アプリケーションを開く指示を入力することができる。たとえば、ユーザは、ニュースアプリケーションを開くことを開始する、クライアントデバイス210のユーザインターネット内に表示されたアイコンを選択してもよい。代替的には、ユーザは、ニュースアプリケーションを開くために、クライアントデバイス210上にインストールされ実行されている自動化アシスタントアプリケーションに指示する音声コマンドを発してもよい。ニュースアプリケーションを開くことは、クライアントデバイス210のユーザインターフェース内のグラフィカルユーザインターフェース211の表示をもたらす。ユーザインターフェース211が生成されると、アプリケーションは、1つまたは複数のニュース見出しに関するデータを取得するようにデバイス210に指示する。ニュース見出しに関するデータは、ネットワークアドレスに関連付けられた選択可能なテキスト、画像、アイコンなど212a、212bとして表示されてもよい。選択可能なテキスト、画像、アイコンなどのうちの1つの選択に応答して、クライアントデバイスは、選択されたテキスト、画像、アイコンなどに関連するネットワークアドレスからニュース記事213に関するデータを取り出してもよい。加えて、アプリケーションはまた、グラフィカルユーザインターフェース211の領域214内に表示され得るコンテンツ項目についてクエリ122をサーバ130に送信するようにクライアントデバイス210に指示する。クエリ122によって要求されたコンテンツ項目は、たとえば、画像、ビデオ、テキスト、それらの組合せなどを含んでもよい。コンテンツ項目は、ネットワークアドレスに関連付けられ、コンテンツ項目を選択可能にする方法でユーザインターフェース211の領域214内にレンダリングされてもよい。コンテンツ項目が選択されると、クライアントデバイスは、コンテンツ項目に関連するネットワークアドレスから取得されたデータに基づいてユーザインターフェースを生成してもよい。
サーバ130は、クエリ122を受信し、特徴抽出ユニット132への入力としてクエリ122を提供する(131)。受信されたクエリ122は、以前に受信されたクエリ121と実質的に同様である。たとえば、クエリ122も、(i)1つまたは複数のクエリ語と、(ii)クライアントデバイス110の現在のコンテキストに関連するデータとを含んでもよい。しかしながら、クエリ122は、気象アプリケーションとは対照的に、ニュースアプリケーションに由来する。この例では、ニュースアプリケーションは、たとえば、クライアントデバイス210のユーザがニュース記事213などの1つまたは複数のニュース記事を読む間、ユーザ(またはクライアントデバイス)がより長い時間期間、開いたままにすることがあるタイプのアプリケーションである。
特徴抽出ユニット132は、上記で説明したように、クエリベクトルを生成するために使用され得るクエリ122から特徴を抽出する。クエリベクトルは、クエリベクトルに関連するコンピュータ化レンダリング期間が所定のしきい値を満たす可能性を予測するように訓練された機械学習モデル136への入力として提供される(135)。訓練された機械学習モデル136は、受信されたクエリベクトルを処理し、クエリ122に応答して返されたコンテンツ項目のためのコンピュータ化レンダリング期間が所定のしきい値を満たす可能性を示す出力ラベルを生成してもよい。たとえば、出力ラベルは、クエリに応答するコンテンツ項目の表示のための予測されるコンピュータ化レンダリング期間が所定のしきい値(たとえば、1秒、3秒、5秒など)を満たすかどうかを示すデータを含む。
機械学習モデル136によって出力された出力ラベルは、コンピュータ化レンダリング期間分析ユニット138に提供される。コンピュータ化レンダリング期間分析ユニット138は、出力ラベルが、クエリ122のための予測されるコンピュータ化レンダリング期間が所定のしきい値を満たすことを示すかどうかを決定することができる。この決定に基づいて、コンピュータ化レンダリング期間分析ユニット138は、クエリ122を実行するようにクエリ処理ユニット142に指示するかどうかを決定することができる。たとえば、コンピュータ化レンダリング期間分析ユニット138が、クエリ122に応答するコンテンツ項目のためのコンピュータ化レンダリング期間が所定のしきい値を満たさない可能性があることを機械学習モデル136の出力が示すことを決定した場合、コンピュータ化レンダリング期間分析ユニット138は、クエリ122を処理することを回避することを決定してもよい。そのようなシナリオでは、コンピュータ化レンダリング期間分析ユニット138は、クエリ121を実行するために検索エンジン140を使用しないようにサーバ130に指示することになる(139)。代替的には、コンピュータ化レンダリング期間分析ユニット138が、クエリ122に応答するコンテンツ項目のための予測されるコンピュータ化レンダリング期間が所定のしきい値を満たすことが予測されることを機械学習モデル136の出力が示すことを決定した場合、コンピュータ化レンダリング期間分析ユニット138は、クエリを実行するように検索エンジン140に指示する。たとえば、コンピュータ化レンダリング期間分析ユニット138は、クエリ122を実行するようにクエリ処理ユニット142に指示することができる(141)。
システム100の例では、機械学習モデル136は、クエリ122を発信したアプリケーションのタイプなどのクライアントデバイス210のコンテキストを示す特徴ベクトルの特徴に少なくとも部分的に基づいて、クエリ122に応答するコンテンツ項目のためのコンピュータ化レンダリング期間が所定のしきい値を満たす可能性があることを予測する。たとえば、機械学習モデル136は、ユーザインターフェース211を提供するニュースアプリケーションなどのアプリケーションが、典型的には、高コンピュータ化レンダリング期間に関連付けられることを学習するように訓練され得る。これは、ユーザが、典型的には、ニュースアプリケーションを開き、1つまたは複数の見出しに対応するデータを選択し、次いで、関心のある記事を読むか、または少なくともざっと読むからである。代替的には、ユーザは、ニュースアプリケーションによって提供される複数の見出しを単に読むのに十分な時間をかける場合がある。結果として、ニュースアプリケーションは、典型的には、1秒を超える、3秒を超えるなどの十分なコンピュータ化レンダリング期間に関連付けられ得る。そのような場合、ユーザは、クエリ122に応答して返されたコンテンツ項目を見て、潜在的にはコンテンツ項目をクリックするのに十分に長い間グラフィカルユーザインターフェース211を見ていることになるので、システム100は、クエリ122を実行するために検索エンジン140を使用することによって計算リソースを消費することが許容可能であることを決定することができる。
検索エンジン140は、クエリ122を使用してコンテンツデータベース144を検索すること(143)によってクエリ122を実行するためにクエリ処理ユニット142を使用することができる。コンテンツデータベース144は、画像、ビデオ、テキスト、それらの組合せなどの複数のコンテンツ項目を含んでもよい。いくつかの実装形態では、コンテンツデータベース144は、製品、サービス、イベントなどのための広告を含む画像、ビデオ、テキスト、またはそれらの組合せを含んでもよい。クエリ122に応答する1つまたは複数のコンテンツ項目は、コンテンツデータベースの検索中に識別されてもよく、1つまたは複数のコンテンツ項目は、クエリ処理ユニット142に返され得る(145)。クエリ処理ユニット142は、1つまたは複数のコンテンツ項目をコンテンツランク付けユニット147に提供してもよい(146)。代替的には、いくつかの実装形態では、コンテンツデータベースは、クエリ処理ユニット142を介して1つまたは複数のコンテンツ項目をルーティングすることなく、クエリ122に応答する識別された1つまたは複数のコンテンツ項目をコンテンツランク付けユニット147に提供してもよい。
コンテンツランク付けユニット147は、クエリ122に応答して識別された1つまたは複数のコンテンツ項目の各々について1つまたは複数のスコアを生成するために1つまたは複数のスコア化アルゴリズムを使用してもよい。スコアは、複数のコンテンツ項目の品質を評価する品質スコア、コンテンツ項目の人気を評価する人気スコア、クライアントデバイスのユーザがコンテンツ項目をクリックする可能性を示す信頼性スコアなどを含んでもよい。コンテンツランク付けユニット147は、次いで、1つまたは複数のスコアに基づいて1つまたは複数のコンテンツ項目をランク付けしてもよい。次いで、コンテンツ項目のうちの1つまたは複数が、1つまたは複数の生成されたスコアに基づいて選択されてもよい。いくつかの実装形態では、最も高くランク付けされたコンテンツ項目が、クライアントデバイス210への送信(123)のために選択されてもよい。1つまたは複数のコンテンツ項目は、次いで、領域214内に表示され得る(215)。
いくつかの実装形態では、複数のコンテンツ項目が、表示のためにクライアントデバイスに返されてもよい。そのような場合、複数の異なるコンテツ項目が、領域214における表示のために提供されてもよい。代替的には、複数のコンテンツ項目がクライアントデバイス210に返されてもよいが、クライアントデバイス210は、複数のコンテンツ項目のうちの1つまたは複数をキャッシュし、次いで、1つずつ、2つずつなどの周期的な方法で、領域214内の表示されたコンテンツ項目を別のコンテンツ項目に定期的に置き換えてもよい。
クエリに応答して提供されたコンテンツ項目のコンピュータ化レンダリング期間が所定のしきい値を超えるかどうかの機械学習モデル予測の使用は、図1を参照して説明した主題の使用の単なる一例である。これは、予測されるコンピュータ化レンダリング期間の使用が有用であり得る他の実装形態が存在するためである。
たとえば、1つまたは複数の論理命令を実行し(たとえば、オークションを実行し)、コンテンツ項目の表示をトリガするために1つまたは複数の検索語に関する選択命令を受信する論理実行システム(たとえば、オークションシステム)が提供されてもよい。論理実行システムは、ユーザが関心のある1つまたは複数のキーワードのセットを受信し、次いで、キーワードのセットのからの1つまたは複数のキーワードに対して論理実行命令(たとえば、自動入札)を開始するように構成されてもよい。いくつかの実装形態では、論理実行命令が提出されるべきかどうかを決定するために、予測されるコンピュータ化レンダリング期間が使用され得る。たとえば、1つまたは複数の検索語が入札のために提供されてもよい。ユーザに代わって論理実行命令を開始する前に、論理実行システムは、入札の対象となるキーワードに基づくクエリに応答するコンテンツ項目に対応する検索結果のためのコンピュータ化レンダリング期間が所定のしきい値(たとえば、1秒、3秒、5秒など)を満たすかどうかを決定するために、機械学習モデル136およびコンピュータ化レンダリング期間分析ユニット138を使用してもよい。
論理実行システムは、機械学習モデル136およびコンピュータ化レンダリング期間分析ユニット138が、クエリに応答するコンテンツ項目に対応する検索結果のためのコンピュータ化レンダリング期間が所定のしきい値を満たさないことを決定した場合、論理実行命令が実行されないように構成され得る。そのようなシステムは、ユーザがクエリに応答して提供されたコンテンツ項目を見てクリックする機会を提供するコンピュータ化レンダリング期間をもたらさない1つまたは複数のキーワードに対する論理実行命令の開始を回避するという利点を提供する。いくつかの実装形態では、ユーザは、オークションシステムがユーザに代わって論理実行命令を生じさせるために1つまたは複数のキーワードに関連付けられなければならない最小限のコンピュータ化レンダリング期間を指定する入力をオークションシステムに提供することができてもよい。
図2は、予測されるコンピュータ化レンダリング期間に基づいてクエリを実行するかどうかを決定するためのプロセス200の一例のフローチャートである。便宜上、プロセス200について、1つまたは複数の場所に配置された1つまたは複数のコンピュータのシステムによって実行されるものとして説明する。たとえば、システム100などのシステムは、プロセス200を実行するために、本明細書に従って適切にプログラムされ得る。
プロセス200は、システムがクライアントデバイスからクエリを受信することで開始する(210)。クエリは、アプリケーションによって生成されてもよく、コンテンツ項目に対する要求を含んでもよい。クエリは、(i)1つまたは複数のクエリ語と、(ii)クライアントデバイス110の現在のコンテキストに関するデータとを含んでもよい。クライアントデバイス110の現在のコンテキストは、たとえば、クエリを生成したアプリケーションを示すデータ、ユーザのアプリケーション使用の履歴を示すデータなどを含んでもよい。
システムは、受信されたクエリに基づいて1つまたは複数の特徴を決定する(220)。クエリから抽出される特徴は、クエリの単語に関する特徴、クエリの現在のコンテキストに関する特徴などを含む。抽出された特徴は、抽出された特徴のセットに基づいてクエリベクトルを生成するために使用され得る。クエリベクトルは、クライアントデバイスから受信された1つまたは複数の検索語およびコンテキスト情報の数値表現である。数値関係は、受信されたクエリと、確立された特徴ベクトル語彙との間の関係を定量化する。特徴ベクトル語彙は、各既知の単語のエントリ、クライアントデバイス上にインストールされた各アプリケーションのエントリ、クライアントデバイスにおけるユーザのアプリケーションの履歴使用に関する1つまたは複数のエントリ(たとえば、アプリケーションを使用する時間の平均長)などを含む多くのエントリを含んでもよい。
システムは、コンピュータ化レンダリング期間を予測するように訓練された機械学習モデルへの入力として、ステージ220において決定された1つまたは複数の特徴を提供する(230)。いくつかの実装形態では、機械学習モデルへの入力として提供される1つまたは複数の特徴は、ステージ220において生成されたクエリベクトルの形態であってもよい。機械学習モデルは、コンピュータ化レンダリング期間が所定のしきい値を満たす(たとえば、1秒以上、3秒以上、5秒以上など)可能性がある場合、「0」などの第1の値として定義されるラベルか、または、コンピュータ化レンダリング期間が所定のしきい値未満(たとえば、1秒未満、3秒未満、5秒未満など)である可能性がある場合、「1」などの第2の値として定義されるラベルを含むロジスティック回帰モデルを含んでもよい。訓練された機械学習モデルは、受信されたクエリベクトルを処理し、予測されるコンピュータ化レンダリング期間を示す出力ラベルを生成してもよい。システムは、コンピュータ化レンダリング期間が所定のしきい値を満たす可能性があるかどうかを示す機械学習モデルからの出力データを受信してもよい(240)。たとえば、受信された出力データは、機械学習モデルによって生成された出力ラベルを含んでもよい。
プロセス200のいくつかの実装形態は、ロジスティック回帰モデルを使用してもよいが、本開示は、そのように限定される必要はない。代わりに、入力を処理し、入力を複数のクラスのうちの特定のクラスに分類することができる任意のタイプの機械学習モデルが、クエリベクトルのためのコンピュータ化レンダリング期間を予測するように訓練され得る。たとえば、一実装形態では、ニューラルネットワークシステムが、機械学習モデルとして使用されてもよい。
システムは、コンピュータ化レンダリング期間が所定のしきい値を満たす可能性があるかどうかを決定する(250)。コンピュータ化レンダリング期間が所定のしきい値を満たす可能性があるかどうかを決定することは、機械学習モデルから受信された出力データを分析することを含んでもよい。たとえば、システムが、ステージ250において、クエリに応答するコンテンツ項目のための予測されるコンピュータ化レンダリング期間が所定のしきい値を満たす可能性がないことを機械学習モデルの出力が示すことを決定した場合、システムは、クエリを実行しないことを決定することができる(260)。
機械学習モデルの出力に基づいて、コンピュータ化レンダリング期間が所定のしきい値を満たす可能性があるかどうかを決定することは、機械学習モデルによって出力された確率を評価することを含んでもよい。たとえば、システムは、コンピュータ化レンダリング期間が所定のしきい値を超える確率よりも高いコンピュータ化レンダリング期間が所定のしきい値を超えない確率が存在することを機械学習モデルの出力が示す場合、コンピュータ化レンダリング期間が所定のしきい値を満たさないことを決定してもよい。
システムは、低コンピュータ化レンダリング期間時間のために結果を見ることができないか、またはクリックすることができないクエリを実行するために計算リソースを消費する必要がないので、クエリを実行しないことを決定することは、システムの効率を高める。さらに、システムは、クエリが実行された場合、生成された検索結果のセットに対して実行される検索結果のスコア化およびランク付けなどの計算上コストの高い動作をバイパスすることができる。したがって、システムは、所定のしきい値を満たさないコンピュータ化レンダリング期間に関連することが機械学習モデルによって予測されるクエリを実行しないことによって、計算リソースの消費を節約することができる。
代替的には、システムは、ステージ250において、機械学習モデルの出力が、クエリに応答するコンテンツ項目のための予測されるコンピュータ化レンダリング期間が所定のしきい値を満たす可能性があると示すことを決定することができる。そのような場合、システムは、受信されたクエリを実行することを決定することができる(270)。システムは、クエリを使用してコンテンツデータベースを検索することによってクエリを実行してもよい。コンテンツデータベースは、システムによってホストされてもよく、またはリモートのサードパーティサーバによって管理されてもよい。コンテンツデータベース144は、画像、ビデオ、テキスト、それらの組合せなどの複数のコンテンツ項目を含んでもよい。いくつかの実装形態では、コンテンツデータベースは、製品、サービス、イベントなどに関連するコンテンツ項目を含む、画像、ビデオ、テキスト、またはそれらの組合せを含んでもよい。
上記で説明したように、機械学習モデルの出力に基づいて、コンピュータ化レンダリング期間が所定のしきい値を満たす可能性があるかどうかを決定することは、機械学習モデルによって出力された確率を評価することを含んでもよい。たとえば、システムは、コンピュータ化レンダリング期間が所定のしきい値を超えない確率よりも高いコンピュータ化レンダリング期間が所定のしきい値を超える確率が存在することを機械学習モデルの出力が示す場合、コンピュータ化レンダリング期間が所定のしきい値を満たすことを決定してもよい。
クエリに応答する1つまたは複数のコンテンツ項目は、コンテンツデータベースの検索中に識別されてもよく、1つまたは複数のコンテンツ項目は、1つまたは複数のコンテンツスコア化アルゴリズムを使用してシステムによってスコア化され得る。たとえば、システムは、品質スコア、人気スコア、信頼性スコアなどを使用してコンテンツ項目をスコア化してもよい。システムは、次いで、1つまたは複数のスコアに基づいて1つまたは複数のコンテンツ項目をランク付けしてもよい。次いで、ネットワークを使用するシステムに接続されたクライアントデバイスへの送信のために、ランク付けされたコンテンツ項目のうちの1つまたは複数が選択されてもよい。いくつかの実装形態では、最も高くランク付けされたコンテンツ項目が、クライアントデバイスへの送信のために選択されてもよい。1つまたは複数のコンテンツ項目が、次いで、クライアントデバイスのユーザインターフェースにおいて表示され得る。
プロセス200は、所望の出力、すなわち、クエリベクトルが基づくクエリに関連するコンピュータ化レンダリング期間が所定のしきい値を満たすかどうかの指示が未知であるクエリベクトルに対して実行され得る。システムはまた、システムを訓練するために、すなわち、機械学習モデルのパラメータのための訓練された値を決定するために、訓練データのセット、すなわち、システムによって予測されるべき出力が既知である入力のセット内の入力に対してプロセス200を実行することができる。具体的には、プロセス200は、時間訓練技法によって、ニューラルネットワーク、たとえば、確率勾配降下逆伝播(stochastic gradient descent backpropagation)を訓練するために、従来の機械学習モデル訓練技法の一部として、訓練データのセットから選択された入力に対して繰り返し実行され得る。
図3は、予測されるコンピュータ化レンダリング期間に基づいてクエリを実行するときを決定するためのシステムの構成要素のブロック図である。
コンピューティングデバイス300は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの、様々な形態のデジタルコンピュータを表すことが意図される。モバイルコンピューティングデバイス350は、デスクトップ、ラップトップ、タブレット、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの、様々な形態のモバイルコンピューティングデバイスを表すことが意図される。ここに示された構成要素、それらの接続および関係、ならびにそれらの機能は、単なる例であることを意味し、限定であることを意味しない。
コンピューティングデバイス300は、プロセッサ302と、メモリ304と、記憶デバイス306と、メモリ304および複数の高速拡張ポート310に接続する高速インターフェース308と、低速拡張ポート314および記憶デバイス306に接続する低速インターフェース312とを含む。プロセッサ302、メモリ304、記憶デバイス306、高速インターフェース308、高速拡張ポート310、および低速インターフェース312の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または適切なように他の方法で取り付けられてもよい。プロセッサ302は、高速インターフェース308に結合されたディスプレイ316などの外部入力/出力デバイス上にグラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するために、メモリ304内または記憶デバイス306上に記憶された命令を含む、コンピューティングデバイス300内での実行のための命令を処理することができる。他の実装形態では、複数のメモリおよびメモリのタイプとともに、複数のプロセッサおよび/または複数のバスが適切に使用されてもよい。また、各デバイスが(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供して、複数のコンピューティングデバイスが接続されてもよい。
メモリ304は、コンピューティングデバイス300内で情報を記憶する。いくつかの実装形態では、メモリ304は、揮発性メモリユニットである。いくつかの実装形態では、メモリ304は、不揮発性メモリユニットである。メモリ304はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。記憶デバイス306は、コンピューティングデバイス300のための大容量ストレージを提供することができる。いくつかの実装形態では、記憶デバイス306は、ストレージエリアネットワークまたは他の構成におけるデバイスを含む、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリ、もしくは他の同様の固体メモリデバイス、またはデバイスのアレイなどのコンピュータ可読媒体であってもよく、またはそれらを含んでもよい。他の実装形態では、記憶デバイス306は、1つまたは複数のクラウドベースの記憶デバイスを含んでもよい。命令は、情報担体内に記憶され得る。命令は、1つまたは複数の処理デバイス(たとえば、プロセッサ302)によって実行されると、上記で説明したものなどの1つまたは複数の方法を実行する。命令はまた、コンピュータ可読媒体または機械可読媒体(たとえば、メモリ304、記憶デバイス306、またはプロセッサ302上のメモリ)などの1つまたは複数の記憶デバイスによって記憶され得る。
高速インターフェース308は、コンピューティングデバイス300のための帯域幅集約型の動作を管理し、低速インターフェース312は、より低い帯域幅集約型の動作を管理する。そのような機能の割り当ては、単なる例である。いくつかの実装形態では、高速インターフェース308は、メモリ304、(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)ディスプレイ316、および様々な拡張カードを受け入れることができる高速拡張ポート310に結合される。実装形態では、低速インターフェース312は、記憶デバイス306および低速拡張ポート314に結合される。様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット(登録商標))を含むことができる低速拡張ポート314は、キーボード、ポインティングデバイス、スキャナ、または、たとえば、ネットワークアダプタを介するスイッチもしくはルータなどのネットワーキングデバイスなどの、1つまたは複数の入力/出力デバイスに結合されてもよい。
コンピューティングデバイス300は、図に示すように、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス300は、標準サーバ320として実装されてもよく、またはそのようなサーバのグループ内で複数回実装されてもよい。加えて、コンピューティングデバイス300は、ラップトップコンピュータ322などのパーソナルコンピュータにおいて実装されてもよい。コンピューティングデバイス300はまた、ラックサーバシステム324の一部として実装されてもよい。代替的には、コンピューティングデバイス300からの構成要素は、モバイルコンピューティングデバイス350などのモバイルコンピューティングデバイス内の他の構成要素と組み合わされてもよい。そのようなデバイスの各々は、コンピューティングデバイス300およびモバイルコンピューティングデバイス350のうちの1つまたは複数を含んでもよく、システム全体は、互いに通信する複数のコンピューティングデバイスから成り立ってもよい。
モバイルコンピューティングデバイス350は、他の構成要素の中でも、プロセッサ352と、メモリ364と、ディスプレイ354などの入力/出力デバイスと、通信インターフェース366と、トランシーバ368とを含む。モバイルコンピューティングデバイス350はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどの記憶デバイスを備えてもよい。プロセッサ352、メモリ364、ディスプレイ354、通信インターフェース366、およびトランシーバ368の各々は、様々なバスを使用して相互接続され、構成要素のいくつかは、共通のマザーボード上に、または適切なように他の方法で取り付けられてもよい。
プロセッサ352は、メモリ364内に記憶された命令を含む、モバイルコンピューティングデバイス350内の命令を実行することができる。プロセッサ352は、別々の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサ352は、たとえば、ユーザインターフェースの制御、モバイルコンピューティングデバイス350によって実行されるアプリケーション、およびモバイルコンピューティングデバイス350によるワイヤレス通信などの、モバイルコンピューティングデバイス350の他の構成要素の調整に備えてもよい。
プロセッサ352は、ディスプレイ354に結合された制御インターフェース358およびディスプレイインターフェース356を介してユーザと通信してもよい。ディスプレイ354は、たとえば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイまたはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェース356は、グラフィカル情報および他の情報をユーザに提示するためにディスプレイ354を駆動するための適切な回路を備えてもよい。制御インターフェース358は、ユーザからのコマンドを受信し、それらをプロセッサ352に提出するために変換してもよい。加えて、外部インターフェース362は、モバイルコンピューティングデバイス350と他のデバイスとの近距離通信を可能にするために、プロセッサ352との通信を提供してもよい。外部インターフェース362は、たとえば、いくつかの実装形態では有線通信に備えてもよく、または他の実装形態ではワイヤレス通信に備えてもよく、複数のインターフェースも使用されてもよい。
メモリ364は、モバイルコンピューティングデバイス350内に情報を記憶する。メモリ364は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットのうちの1つまたは複数として実装され得る。拡張メモリ374はまた、たとえば、SIMM(シングルインラインメモリモジュール:(Single In Line Memory Module)カードインターフェースを含んでもよい拡張インターフェース372を介して、モバイルコンピューティングデバイス350に提供または接続されてもよい。拡張メモリ374は、モバイルコンピューティングデバイス350のための余分な記憶スペースを提供してもよく、または、モバイルコンピューティングデバイス350のためのアプリケーションまたは他の情報を記憶してもよい。具体的には、拡張メモリ374は、上記で説明したプロセスを実行または補足するための命令を含んでもよく、セキュア情報も含んでもよい。したがって、たとえば、拡張メモリ374は、モバイルコンピューティングデバイス350のためのセキュリティモジュールとして提供されてもよく、モバイルコンピューティング350の安全な使用を可能にする命令を用いてプログラムされてもよい。加えて、識別情報をハッキング不可能な方法でSIMMカード上に配置するなどして、セキュアアプリケーションが追加の情報とともにSIMMカードを介して提供されてもよい。
メモリは、たとえば、以下で説明するように、フラッシュメモリおよび/またはNVRAMメモリ(不揮発性ランダムアクセスメモリ)を含んでもよい。いくつかの実装形態では、命令は、命令が、1つまたは複数の処理デバイス(たとえば、プロセッサ352)によって実行されたとき、上記で説明したものなどの1つまたは複数の方法を実行する、情報担体内に記憶される。命令はまた、1つまたは複数のコンピュータ可読媒体または機械可読媒体(たとえば、メモリ364、拡張メモリ374、またはプロセッサ352上のメモリ)などの1つまたは複数の記憶デバイスによって記憶され得る。いくつかの実装形態では、命令は、たとえば、トランシーバ368または外部インターフェース362を介して、伝搬された信号において受信され得る。
モバイルコンピューティングデバイス350は、必要に応じてデジタル信号処理回路を含んでもよい通信インターフェース366を介してワイヤレス通信してもよい。通信インターフェース366は、数ある中で、GSM(登録商標)(グローバルシステムフォーモバイルコミュニケーションズ)、SMS(ショートメッセージサービス)、EMS(拡張メッセージングサービス)、またはMMSメッセージング(マルチメディアメッセージングサービス)、CDMA(符号分割多元接続)、TDMA(時分割多元接続)、PDC(パーソナルデジタルセルラー)、WCDMA(登録商標)(広帯域符号分割多元接続)、CDMA2000、またはGPRS(汎用パケット無線サービス)などの、様々なモードまたはプロトコルの下での通信を提供してもよい。そのような通信は、たとえば、無線周波数を使用するトランシーバ368を介して生じてもよい。加えて、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバを使用するなどして、近距離通信が生じてもよい。加えて、GPS(全地球測位システム)レシーバモジュール370は、追加のナビゲーション関連のワイヤレスデータおよび位置関連のワイヤレスデータをモバイルコンピューティングデバイス350に提供してもよく、それらのデータは、モバイルコンピューティングデバイス350上で実行されるアプリケーションによって適切に使用され得る。
モバイルコンピューティングデバイス350はまた、ユーザからの発話情報を受信し、それを使用可能なデジタル情報に変換することができるオーディオコーデック360を使用して音声で通信してもよい。オーディオコーデック360は、同様に、たとえば、モバイルコンピューティングデバイス350のハンドセット内のスピーカを介するなどして、ユーザのための可聴音を生成してもよい。そのような音は、音声通話からの音を含んでもよく、記録された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでもよく、また、モバイルコンピューティングデバイス350上で動作するアプリケーションによって生成された音を含んでもよい。
モバイルコンピューティングデバイス350は、図に示すように、いくつかの異なる形態で実装されてもよい。たとえば、モバイルコンピューティングデバイス350は、セルラー電話380として実装されてもよい。モバイルコンピューティングデバイス350はまた、スマートフォン382、携帯情報端末、タブレット、ラップトップ、または他の同様のモバイルコンピューティングデバイスの一部として実装されてもよい。
本明細書で説明した主題、機能的動作、および処理の実施形態は、デジタル電子回路、有形に具体化されたコンピュータソフトウェアもしくはファームウェア、本明細書で開示した構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明した主題の実施形態は、1つまたは複数のプログラムとして、たとえば、データ処理装置によって実行するため、またはデータ処理装置の動作を制御するために有形の不揮発性プログラム担体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的には、または加えて、プログラム命令は、人為的に生成された伝搬信号上、たとえば、データ処理装置による実行のための適切なレシーバ装置への送信のための情報を符号化するために生成された、機械生成の電気信号、光信号、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、またはランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せであり得る。
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを構成するコードを含むことができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは説明されることもある)は、コンパイル型言語もしくはインタプリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形式のプログラミング言語で記述され得、コンピュータプログラムは、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、またはコンピューティング環境での使用に適した他のユニットとしてを含む任意の形式で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、必ずしも対応する必要はない。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語文書内に記憶された1つもしくは複数のスクリプト)を保持するファイルの一部内、問題のプログラム専用の単一のファイル内、または複数の連携ファイル(たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル)内に記憶され得る。コンピュータプログラムは、1つのコンピュータにおいて、または1つのサイトに配置された複数のコンピュータ、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータにおいて実行されるように配置され得る。
本明細書で説明したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって実行され得る。プロセスおよび論理フローはまた、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得、装置はまた、専用論理回路、たとえば、FPGAまたはASICとして実装され得る。
コンピュータプログラムの実行に適したコンピュータは、例として、汎用コンピュータ、もしくは専用コンピュータ、もしくはその両方、または任意の他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含み、またはそれらの大容量記憶デバイスからデータを受信するか、もしくはそれらの大容量記憶デバイスにデータを転送するか、もしくはその両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、いくつかの例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)内に組み込まれ得る。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得、または専用論理回路内に組み込まれ得る。
ユーザとの対話を提供するために、本明細書で説明した主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータにおいて実装され得る。ユーザとの対話を提供するために他の種類のデバイスが使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態において受信され得る。加えて、コンピュータは、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによって、ユーザによって使用されるデバイスにドキュメントを送り、ユーザによって使用されるデバイスからドキュメントを受信することによってユーザと対話することができる。
本明細書で説明した主題の実施形態は、たとえば、データサーバとしてバックエンド構成要素を含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書で説明した主題の実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または、1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)と、ワイドエリアネットワーク(「WAN」)、たとえば、インターネットとを含む。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに離間しており、典型的には、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、特許請求され得るものの範囲に対する限定として解釈されるべきではなく、特定の実施形態に特有のものであり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書で説明されている特定の特徴はまた、単一の実施形態において組合せて実施され得る。逆に、単一の実施形態の文脈において説明されている様々な特徴はまた、複数の実施形態において別々に、または任意の適切な部分的組合せにおいて実施され得る。さらに、特徴は、特定の組合せにおいて作用するように上記で説明され、そのようなものとして当初に特許請求されている場合があるが、特許請求された組合せからの1つまたは複数の特徴は、場合によっては組合せから削除され得、特許請求された組合せは、部分的組合せまたは部分的組合せの変形に向けられ得る。
同様に、動作が特定の順序で図面に示されているが、これは、そのような動作が示された特定の順序もしくは逐次的な順序で実行されること、または所望の結果を達成するためにすべての図示された動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク処理および並列処理が有利である場合がある。さらに、上記で説明した実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして解釈されるべきではなく、説明したプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品内に一緒に統合され得、または複数のソフトウェア製品にパッケージされ得ることが理解されるべきである。
主題の特定の実施形態について説明してきた。他の実施形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲内に列挙されたアクションは、異なる順序で実行され得、依然として所望の結果を達成することができる。一例として、添付図面に示されたプロセスは、所望の結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。特定の実装形態では、マルチタスク処理および並列処理が有利である場合がある。他のステップが提供されてもよく、または説明したプロセスからステップが削除されてもよい。したがって、他の実装形態は、以下の特許請求の範囲内である。
100 システム
110 クライアントデバイス
111 ユーザインターフェース
112 特定の場所
113 特定の場所
114 領域
120 ネットワーク
121 クエリ
122 クエリ
123 送信
130 サーバ
131 提供する
132 特徴抽出ユニット
134 クエリベクトル
135 提供される
136 機械学習モデル
137 出力ラベル
138 コンピュータ化レンダリング期間分析ユニット
139 指示する
140 検索エンジン
141 指示する
142 クエリ処理ユニット
143 検索する
144 コンテンツデータベース
145 返される
146 提供する
147 コンテンツランク付けユニット
210 クライアントデバイス
211 ユーザインターフェース
212a 選択可能なテキスト、画像、アイコンなど
212b 選択可能なテキスト、画像、アイコンなど
213 ニュース記事
214 領域
215 表示される
300 コンピューティングデバイス
302 プロセッサ
304 メモリ
306 記憶デバイス
308 高速インターフェース
310 高速拡張ポート
312 低速インターフェース
314 低速拡張ポート
316 ディスプレイ
320 標準サーバ
322 ラップトップコンピュータ
324 ラックサーバシステム
350 モバイルコンピューティングデバイス
352 プロセッサ
354 ディスプレイ
356 ディスプレイインターフェース
358 制御インターフェース
360 オーディオコーデック
362 外部インターフェース
364 メモリ
366 通信インターフェース
368 トランシーバ
370 GPS(全地球測位システム)レシーバモジュール
372 拡張インターフェース
374 拡張メモリ
380 セルラー電話
382 スマートフォン

Claims (20)

  1. クライアントデバイスから発信されたクエリを受信する受信ユニットであって、前記クエリが、データベースに記憶された1つまたは複数のコンテンツ項目に対する要求を含む、受信ユニットと、
    前記クエリに基づいて1つまたは複数の特徴のセットを決定し、
    前記1つまたは複数の特徴のセットに基づいてクエリベクトルを生成し、
    各々が前記クエリに応答する1つまたは複数の候補コンテンツ項目のセットを表示するためのコンピュータ化レンダリング期間が所定のしきい値を満たすかどうかを示す出力を提供するように訓練された機械学習モデルに前記クエリベクトルを提供する
    特徴抽出ユニットと、
    前記機械学習モデルが前記クエリベクトルを処理することによって生成された前記出力に基づいて、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するための前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすかどうかを示す第1のデータを受信し、
    前記第1のデータに基づいて、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たさないときを決定し、
    各々が前記クエリに応答する前記1つまたは複数の候補項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たさないことを決定することに応答して、前記受信されたクエリを実行するために検索エンジンを使用しないことを決定する
    コンピュータ化レンダリング期間分析ユニットと
    を備えるシステム。
  2. 前記コンピュータ化レンダリング期間分析ユニットが、さらに、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすときを決定し、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすことを決定することに応答して、前記受信されたクエリを実行するために前記検索エンジンを使用することを決定する、請求項1に記載のシステム。
  3. 前記機械学習モデルが、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するための前記コンピュータ化レンダリング期間が前記所定のしきい値を満たす可能性があるかどうかを示す前記出力を提供するように訓練されている、請求項1に記載のシステム。
  4. 前記1つまたは複数の特徴が、前記クエリを発信したアプリケーションを記述するコンテキスト情報から導出される、請求項1に記載のシステム。
  5. 前記機械学習モデルが、ロジスティック回帰モデルを含む、請求項1に記載のシステム。
  6. 前記所定のしきい値が、1秒の時間期間を含む、請求項1に記載のシステム。
  7. 1つまたは複数のサーバコンピュータによって、クライアントデバイスから発信されたクエリを受信するステップであって、前記クエリが、データベースに記憶された1つまたは複数のコンテンツ項目に対する要求を含む、ステップと、
    前記1つまたは複数のサーバコンピュータによって、前記クエリに基づいて1つまたは複数の特徴のセットを決定するステップと、
    前記1つまたは複数のサーバコンピュータによって、前記1つまたは複数の特徴のセットに基づいてクエリベクトルを生成するステップと、
    前記1つまたは複数のサーバコンピュータによって、各々が前記クエリに応答する1つまたは複数の候補コンテンツ項目のセットを表示するためのコンピュータ化レンダリング期間が所定のしきい値を満たすかどうかを示す出力を提供するように訓練された機械学習モデルに前記クエリベクトルを提供するステップと、
    前記1つまたは複数のサーバコンピュータによって、前記機械学習モデルが前記クエリベクトルを処理することによって生成された前記出力に基づいて、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するための前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすかどうかを示す第1のデータを受信するステップと、
    前記1つまたは複数のサーバコンピュータによって、前記第1のデータに基づいて、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たさないときを決定するステップと、
    前記1つまたは複数のサーバコンピュータによって、各々が前記クエリに応答する前記1つまたは複数の候補項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たさないことを決定することに応答して、前記1つまたは複数のサーバコンピュータによって、前記受信されたクエリを実行するために検索エンジンを使用しないことを決定するステップと
    を含む、コンピュータ実施方法。
  8. 前記1つまたは複数のサーバコンピュータによって、前記第1のデータに基づいて、各々が検索クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすときを決定するステップと、
    前記1つまたは複数のサーバコンピュータによって、前記クエリに応答する前記1つまたは複数の候補項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすことを決定することに応答して、前記1つまたは複数のサーバコンピュータによって、前記受信されたクエリを実行するために前記検索エンジンを使用することを決定するステップと
    をさらに含む、請求項7に記載のコンピュータ実施方法。
  9. 前記1つまたは複数の特徴が、前記クエリを発信したアプリケーションを記述するコンテキスト情報から導出される、請求項7に記載のコンピュータ実施方法。
  10. 前記機械学習モデルが、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するための前記コンピュータ化レンダリング期間が前記所定のしきい値を満たす可能性があるかどうかを示す前記出力を提供するように訓練されている、請求項7に記載のコンピュータ実施方法。
  11. 前記機械学習モデルが、ロジスティック回帰モデルを含む、請求項7に記載のコンピュータ実施方法。
  12. 前記所定のしきい値が、1秒の時間期間を含む、請求項7に記載のコンピュータ実施方法。
  13. 前記1つまたは複数のサーバコンピュータによって、前記クライアントデバイスのユーザインターフェース内に表示するための1つまたは複数のコンテンツ項目を提供するステップをさらに含む、請求項8に記載のコンピュータ実施方法。
  14. 1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに動作を実行させる命令で符号化されたコンピュータ可読媒体であって、前記動作が、
    1つまたは複数のサーバコンピュータによって、クライアントデバイスから発信されたクエリを受信する動作であって、前記クエリが、データベースに記憶された1つまたは複数のコンテンツ項目に対する要求を含む、動作と、
    前記1つまたは複数のサーバコンピュータによって、前記クエリに基づいて1つまたは複数の特徴のセットを決定する動作と、
    前記1つまたは複数のサーバコンピュータによって、前記1つまたは複数の特徴のセットに基づいてクエリベクトルを生成する動作と、
    前記1つまたは複数のサーバコンピュータによって、各々が前記クエリに応答する1つまたは複数の候補コンテンツ項目のセットを表示するためのコンピュータ化レンダリング期間が所定のしきい値を満たすかどうかを示す出力を提供するように訓練された機械学習モデルに前記クエリベクトルを提供する動作と、
    前記1つまたは複数のサーバコンピュータによって、前記機械学習モデルが前記クエリベクトルを処理することによって生成された前記出力に基づいて、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するための前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすかどうかを示す第1のデータを受信する動作と、
    前記1つまたは複数のサーバコンピュータによって、前記第1のデータに基づいて、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たさないときを決定する動作と、
    前記1つまたは複数のサーバコンピュータによって、各々が前記クエリに応答する前記1つまたは複数の候補項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たさないことを決定することに応答して、前記1つまたは複数のサーバコンピュータによって、前記受信されたクエリを実行するために検索エンジンを使用しないことを決定する動作と
    を含む、コンピュータ可読媒体。
  15. 前記動作が、
    前記1つまたは複数のサーバコンピュータによって、前記第1のデータに基づいて、各々が検索クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすときを決定する動作と、
    前記サーバコンピュータによって、前記クエリに応答する前記1つまたは複数の候補項目のセットを表示するために利用可能な前記コンピュータ化レンダリング期間が前記所定のしきい値を満たすことを決定することに応答して、前記1つまたは複数のサーバコンピュータによって、前記受信されたクエリを実行するために前記検索エンジンを使用することを決定する動作と
    をさらに含む、請求項14に記載のコンピュータ可読媒体。
  16. 前記1つまたは複数の特徴が、前記クエリを発信したアプリケーションを記述するコンテキスト情報から導出される、請求項14に記載のコンピュータ可読媒体。
  17. 前記機械学習モデルが、各々が前記クエリに応答する前記1つまたは複数の候補コンテンツ項目のセットを表示するための前記コンピュータ化レンダリング期間が前記所定のしきい値を満たす可能性があるかどうかを示す前記出力を提供するように訓練されている、請求項14に記載のコンピュータ可読媒体。
  18. 前記機械学習モデルが、ロジスティック回帰モデルを含む、請求項14に記載のコンピュータ可読媒体。
  19. 前記所定のしきい値が、1秒の時間期間を含む、請求項14に記載のコンピュータ可読媒体。
  20. 前記動作が、
    前記1つまたは複数のサーバコンピュータによって、前記クライアントデバイスのユーザインターフェース内に表示するための1つまたは複数のコンテンツ項目を提供する動作をさらに含む、請求項15に記載のコンピュータ可読媒体。
JP2017556924A 2017-02-27 2017-05-22 コンテンツ検索エンジン Active JP6629883B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/444,279 2017-02-27
US15/444,279 US10747825B2 (en) 2017-02-27 2017-02-27 Content search engine
PCT/US2017/033729 WO2018156186A1 (en) 2017-02-27 2017-05-22 Content search engine

Publications (2)

Publication Number Publication Date
JP2019511017A JP2019511017A (ja) 2019-04-18
JP6629883B2 true JP6629883B2 (ja) 2020-01-15

Family

ID=59054190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017556924A Active JP6629883B2 (ja) 2017-02-27 2017-05-22 コンテンツ検索エンジン

Country Status (6)

Country Link
US (1) US10747825B2 (ja)
EP (1) EP3539009B1 (ja)
JP (1) JP6629883B2 (ja)
KR (1) KR102031271B1 (ja)
CN (1) CN108811513B (ja)
WO (1) WO2018156186A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296826B1 (en) * 2015-08-06 2019-05-21 Clarifai, Inc. Systems and methods for learning new trained concepts used to retrieve content relevant to the concepts learned
US20200111048A1 (en) * 2018-10-08 2020-04-09 Freshtohome PTE Limited System and Method of Sourcing Materials
CN111522448B (zh) * 2019-02-02 2024-04-30 北京搜狗科技发展有限公司 一种提供输入候选项的方法、装置和设备
JP7268402B2 (ja) * 2019-02-28 2023-05-08 富士通株式会社 抽出プログラム、抽出方法及び抽出装置
EP3743873B1 (en) * 2019-04-01 2021-06-30 Google LLC Modeling distribution of digital components over a network
CN110807055A (zh) * 2019-10-14 2020-02-18 支付宝(杭州)信息技术有限公司 用于对数据库执行查询的方法和系统
CN111523802B (zh) * 2020-04-22 2023-08-08 北京京东振世信息技术有限公司 送达时间应答方法、装置、设备及介质
CN113672314A (zh) * 2020-05-13 2021-11-19 百度在线网络技术(北京)有限公司 内容的获取方法、装置以及电子设备
CN113765979B (zh) * 2020-11-20 2022-12-02 北京沃东天骏信息技术有限公司 信息传输方法、系统和装置
CN113791904B (zh) * 2021-09-13 2022-11-08 北京百度网讯科技有限公司 用于处理查询输入的方法、装置、设备和可读存储介质
TWI799008B (zh) * 2021-12-16 2023-04-11 凌華科技股份有限公司 查詢導向之事件辨識系統及方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8205237B2 (en) * 2000-09-14 2012-06-19 Cox Ingemar J Identifying works, using a sub-linear time search, such as an approximate nearest neighbor search, for initiating a work-based action, such as an action on the internet
JP2004151947A (ja) 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd 情報端末機器及び該機器を実行するためのプログラム
US7725485B1 (en) * 2005-08-01 2010-05-25 Google Inc. Generating query suggestions using contextual information
CN102426583B (zh) * 2011-10-10 2013-07-10 北京工业大学 基于图像内容分析的中医舌象检索方法
US9355191B1 (en) * 2012-01-24 2016-05-31 Google Inc. Identification of query completions which change users' original search intent
CN102663423B (zh) * 2012-03-28 2014-01-15 北京航空航天大学 一种简谱图像的自动识别和演奏的方法
CN103425686B (zh) * 2012-05-21 2016-12-07 微梦创科网络科技(中国)有限公司 一种信息发布方法和装置
US20130332476A1 (en) * 2012-06-08 2013-12-12 Apple Inc. Vector road network simplification
EP2745893B1 (en) * 2012-12-21 2019-03-20 Sony Computer Entertainment America LLC Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay
JP5734332B2 (ja) 2013-03-19 2015-06-17 ヤフー株式会社 広告情報提供装置
US10019130B2 (en) * 2013-04-21 2018-07-10 Zspace, Inc. Zero parallax drawing within a three dimensional display
US20140129351A1 (en) 2013-10-18 2014-05-08 Zenovia Digital Exchange Corporation Systems and Methods for Programmatically Arbitraging Viewable Ad Space
CN103699625B (zh) * 2013-12-20 2017-05-10 北京百度网讯科技有限公司 基于关键词进行检索的方法及装置
US9286084B2 (en) 2013-12-30 2016-03-15 Qualcomm Incorporated Adaptive hardware reconfiguration of configurable co-processor cores for hardware optimization of functionality blocks based on use case prediction, and related methods, circuits, and computer-readable media
CN103886090B (zh) * 2014-03-31 2018-01-02 北京搜狗科技发展有限公司 基于用户喜好的内容推荐方法及装置
US20150302009A1 (en) 2014-04-21 2015-10-22 Google Inc. Adaptive Media Library for Application Ecosystems
US10642845B2 (en) * 2014-05-30 2020-05-05 Apple Inc. Multi-domain search on a computing device
US20160180374A1 (en) 2014-12-17 2016-06-23 Yahoo! Inc. Viewable impressions system
US10430473B2 (en) * 2015-03-09 2019-10-01 Microsoft Technology Licensing, Llc Deep mining of network resource references
CN104766014B (zh) * 2015-04-30 2017-12-01 安一恒通(北京)科技有限公司 用于检测恶意网址的方法和系统
US10991013B2 (en) 2015-06-02 2021-04-27 Apple Inc. Presentation of media content based on computing device context
US10650327B2 (en) * 2015-09-18 2020-05-12 Primavera Financial Inc. Adaptive content generation and dissemination system (ACGDS)
CN105559887B (zh) * 2015-12-11 2018-01-30 哈尔滨工业大学 用于手术机器人的基于力反馈的手术切割训练系统及方法
CN105893972B (zh) * 2016-04-08 2022-03-11 深圳市智绘科技有限公司 基于影像进行的违章建筑物自动监测方法及其实现系统
CN106022560A (zh) * 2016-05-05 2016-10-12 四川铁安达科技有限公司 基于物联网和云计算的地铁盾构管片姿态监测管理系统
CN106021341A (zh) * 2016-05-09 2016-10-12 上海二三四五网络科技有限公司 一种在用户终端中对展示信息进行排序的控制方法及装置
CN106326338B (zh) * 2016-08-03 2020-02-04 北京百度网讯科技有限公司 基于搜索引擎的服务提供方法和装置

Also Published As

Publication number Publication date
US10747825B2 (en) 2020-08-18
US20180246966A1 (en) 2018-08-30
KR20180106847A (ko) 2018-10-01
CN108811513A (zh) 2018-11-13
WO2018156186A1 (en) 2018-08-30
KR102031271B1 (ko) 2019-10-11
CN108811513B (zh) 2022-01-07
EP3539009B1 (en) 2020-02-12
JP2019511017A (ja) 2019-04-18
EP3539009A1 (en) 2019-09-18

Similar Documents

Publication Publication Date Title
JP6629883B2 (ja) コンテンツ検索エンジン
WO2020221162A1 (zh) 应用程序推荐、装置、电子设备及介质
CN110692054A (zh) 预测数字分量的不可观察参数
JP2019536172A (ja) キー付きデータベースを使用して維持されるキー付きデータの検索および取得
KR102352654B1 (ko) 추론된 의도에 기반한 로컬 확장 트리거
US20200380076A1 (en) Contextual feedback to a natural understanding system in a chat bot using a knowledge model
US10341457B2 (en) Caching system
KR20190028511A (ko) 설치-후 어플리케이션 인터렉션 개선하기
KR20190031536A (ko) 어플리케이션 정보 트리거링
US11809510B2 (en) Notification of change of value in stale content
US10664482B2 (en) Providing relevance based dynamic hashtag navigation
US20170177739A1 (en) Prediction using a data structure
EP3387556B1 (en) Providing automated hashtag suggestions to categorize communication
US20180121499A1 (en) Targeted Mentions for User Correlation to a Search Term
US11625532B2 (en) Dynamically generated content understanding system
US10867257B2 (en) Automatic online activity abuse report accuracy prediction method and apparatus
US10885130B1 (en) Web browser with category search engine capability
US11849006B2 (en) Method for reporting asynchronous data, electronic device and storage medium
US20230410498A1 (en) Cycling performing image classification based on user familiarity
JP2023050159A (ja) コンピュータプログラム、メディアメッセージ検索方法、記録媒体およびコンピュータ装置
CN115203502A (zh) 业务数据处理方法及装置、电子设备和存储介质
CN117851546A (zh) 资源检索方法、训练方法、装置、电子设备、存储介质及程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190530

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191205

R150 Certificate of patent or registration of utility model

Ref document number: 6629883

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250