JP2022078951A - オンデバイスキャッシュを使用したハイブリッドフェッチング - Google Patents

オンデバイスキャッシュを使用したハイブリッドフェッチング Download PDF

Info

Publication number
JP2022078951A
JP2022078951A JP2021161158A JP2021161158A JP2022078951A JP 2022078951 A JP2022078951 A JP 2022078951A JP 2021161158 A JP2021161158 A JP 2021161158A JP 2021161158 A JP2021161158 A JP 2021161158A JP 2022078951 A JP2022078951 A JP 2022078951A
Authority
JP
Japan
Prior art keywords
query
computing device
answer
cache
queries
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.)
Pending
Application number
JP2021161158A
Other languages
English (en)
Inventor
リー・シン
Li Xing
ワン・イーシン
Yixin Wang
ベネディクト・リャン
Liang Benedict
ダルミンダー・シング
Singh Dharminder
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 JP2022078951A publication Critical patent/JP2022078951A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • 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/24539Query rewriting; Transformation using cached or materialised query results
    • 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/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3608Destination input or retrieval using speech input, e.g. using speech recognition
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • 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/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • 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/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • 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/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • 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/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • 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
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/978Audio interaction as part of an operator interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Acoustics & Sound (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)

Abstract

【課題】コンピューティングデバイス及び車両がインターネット接続を持たない場合でも、コンピューティングデバイスが音声クエリを処理してクエリ回答を生成する方法、コンピューティングデバイス及び記憶装置を提供する。【解決手段】方法は、モバイルコンピューティングデバイスの入力デバイスを介してクエリを検出し、検出されたクエリに基づいて求められたクエリ回答を出力する。リモートコンピューティングシステムに直接照会する代わりに、モバイルコンピューティングデバイスがクエリ回答キャッシュを使用してクエリ回答を生成する。クエリ回答キャッシュは、予測されたクエリと、リモートコンピューティングシステムのクエリ回答キャッシュから検索されたクエリ回答とを含む。それによって、コンピューティングデバイスは、信頼できないインターネット接続を有している間も、検出されたクエリに応答することができる。【選択図】図1

Description

背景
自動車、オートバイ、航空機および船舶などの車両は、機能を実行して、情報、エンターテインメント、支援および/または環境制御を乗員に提供するための1つまたは複数のコンピューティングシステムを含み得る。たとえば、自動車は、エンターテインメントコンテンツを提供するためのエンターテインメントシステム、情報およびナビゲーション支援を提供するためのナビゲーションシステム、車室を暖房もしくは冷房するための温度制御システム、自動車のさまざまな構成要素もしくは特徴(たとえば、サンルーフもしくは日よけ)を調整するための制御システム、またはこれらの上記の機能の一部または全てを実行する「インフォテインメントシステム」を含んでもよい。最近の車両は、ディスプレイデバイス(たとえば、存在感知ディスプレイ)と、オペレーティングシステムおよび1つまたは複数のアプリケーションを実行するように構成されたコンピュートエンジンとを有する自動車用ヘッドユニット(AHU)を備えていることが多い。
多くの場合、車両オペレータは、車両を走行させながら1つまたは複数のクエリをサーチすることができ、AHUは、ディスプレイまたはマイクロフォンを介してクエリ回答を提供し得る。しかし、クエリの回答は、走行中、常に入手できるわけではなく、特に車両がインターネット接続の範囲外にある場合には入手できない。
概要
一般に、本開示の技術は、コンピューティングデバイスがアクティブなネットワーク接続を必要とすることなくクエリ(たとえば、音声クエリまたはテキストクエリ)を処理してクエリ回答を提供することを可能にすることに向けられる。開示されている技術によれば、コンピューティングデバイスは、当該コンピューティングデバイスの入力デバイスを介してクエリを検出し、検出されたクエリに基づいて求められたクエリ回答を出力することができ、これは、コンピューティングデバイスが、クエリを受信した後に、リモートコンピューティングシステムに要求を送信してリモートコンピューティングシステムからの応答を待つことを必要としない。リモートコンピューティングシステムに直接照会する代わりに、本開示の技術のさまざまな局面は、コンピューティングデバイスがローカルクエリ回答キャッシュ(すなわち、コンピューティングデバイスにローカルに格納されたクエリ回答キャッシュ)を使用してクエリ回答を生成することを可能にし得る。クエリ回答キャッシュは、リモートコンピューティングシステムのクエリ回答キャッシュから検索された予測されたクエリおよびクエリ回答を含んでもよく、それによって、コンピューティングデバイスが、信頼できないインターネット接続を有している間も、検出されたクエリに応答することができるようにする。クエリ回答キャッシュは、ユーザが尋ねることが予測される予測されたクエリおよびクエリ回答を含んでもよく、それによって、従来のオフラインクエリサポートを向上させる。代替的にまたは加えて、このようなクエリ回答キャッシュを使用することにより、コンピューティングデバイスが信頼できるインターネット接続を有している場合でも、コンピューティングデバイスがクエリ回答を提供するのに必要な時間を短縮することができる。このように、開示されている技術は、クエリ回答レイテンシを減少させて、ユーザがクエリを提供するときに使用されるネットワークデータを減少させるまたは無くすことができ、それによって、コンピューティングデバイスのサーチ効率を向上させる可能性がある。
一例において、本開示は、方法に向けられ、上記方法は、コンピューティングデバイスが、ユーザ入力を受信するステップと、上記コンピューティングデバイスが、少なくとも部分的に上記ユーザ入力に基づいて、少なくとも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つまたは複数の局面に係る、例示的なモバイルコンピューティングデバイス120がクエリ回答の表示を車両100の例示的な車両コンピューティングシステム112に提供するように構成された車両100の内部の側面図を示す概念図である。図1は、車両コンピューティングシステム112を有する車両100の内部の断面図を示す。車両100は、自動車であり得るが、本開示の局面は、トラック、オートバイ、航空機、船舶、電車または他の車両を含む他のタイプの車両にも適用可能であり得る。
一般に、車両コンピューティングシステム112は、支援するように、知らせるように、楽しませるように、または車両の乗員とのユーザ対話を必要とする他のタスクを実行するように動作し得る。車両コンピューティングシステム112は、自動車用ヘッドユニット、車両ヘッドユニット、インフォテインメントシステム、またはそれらのサブコンポーネントと称されることもある。たとえば、車両コンピューティングシステム112は、車両の1人または複数人の乗員を代表して機能を実行したり情報を処理したりするさまざまなアプリケーションを実行し得る。たとえば、車両コンピューティングシステム112は、目的地への方向を提供するナビゲーションサービスを提供し得る。また、車両コンピューティングシステム112は、車両についての車両データ、または、音声もしくは映像などのマルチメディアも提供し得る。また、車両コンピューティングシステム112は、クエリに応答して情報を提供する情報検索サービスも提供し得る。車両コンピューティングシステム112によって提供され得る機能の一部の例について言及しているが、車両コンピューティングシステム112は、多くの追加機能を提供し得る。
いくつかの例において、車両コンピューティングシステム112は、独自のセルラーデータサービスを有してもよく、1つまたは複数のクエリに基づいて1つまたは複数のクエリ回答を検索する(たとえば、外部サーバからワイヤレスに1つまたは複数のクエリ回答を検索する)ように構成され得る。1つまたは複数のクエリは、(たとえば、ユーザ150からのテキスト入力または音声入力を介して)ユーザ150から提供され得る。いくつかの例において、車両コンピューティングシステム112は、セルラーデータサービスを持たなくてもよく、ユーザ150は、(たとえば、クエリをサーチするために)車両コンピューティングシステム112とのデータ接続を確立するためにモバイルコンピューティングデバイス120を使用することを希望し得る。モバイルコンピューティングデバイス120は、セルラー接続を有してもよく、車両コンピューティングシステム112とのデータ接続を可能にする1つまたは複数のワイヤードまたはワイヤレスデータ接続などの1つまたは複数のデータ接続を介して1つまたは複数のクエリ回答を車両コンピューティングシステム112に提供するように構成され得る。
しかし、クエリ回答は、走行中、常に入手できるわけではない。たとえば、車両100およびモバイルコンピューティングデバイス120がインターネット接続の範囲外にある場合には、クエリ回答は入手できない。
本開示の1つまたは複数の技術を利用することによって、車両コンピューティングシステム112は、改良された機構を提供することができ、この機構によって、車両コンピューティングシステム112は、高速インターネット接続を必要とすることなく、またはインターネット接続を全く必要とすることなく、1つまたは複数のクエリ回答を取得するように構成される。以下でさらに詳細に説明するように、車両コンピューティングシステム112は、(たとえば、ディスプレイデバイス114またはマイクロフォン116を介して)クエリを受信して、このクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成し得る。車両コンピューティングシステム112はさらに、受信したクエリおよび1つまたは複数のコンテキストパラメータに基づいてクエリ回答キャッシュを使用してクエリ結果を生成し得る。クエリ結果は、クエリ回答キャッシュが、受信したクエリに対するクエリ回答を含むか否かを示す。
クエリ回答キャッシュは、リモートコンピューティングシステムのクエリ回答キャッシュから検索されたクエリ回答を含んでもよい。クエリ回答キャッシュは、予測されたテキストクエリおよびクエリ回答を含んでもよい。予測されたクエリ回答からの各々の予測されたクエリ回答は、それぞれのテキストクエリおよびコンテキストパラメータのそれぞれのセットに関連付けられる。クエリ回答キャッシュがクエリ回答を含むことをクエリ結果が示す場合、車両コンピューティングシステム112は、クエリ回答キャッシュから検索されたクエリ回答の表示を出力し得る。クエリ回答キャッシュがクエリ回答を含まないことをクエリ結果が示す場合、少なくとも1つのテキストクエリの表示および1つまたは複数のコンテキストパラメータの表示がリモートコンピューティングシステムに送信されて、クエリ回答の表示を検索し得る。
場合によっては、クエリ回答キャッシュを使用したクエリ結果およびクエリ回答の検索とともに、インターネットサーチが実行され得る。これらの場合には、クエリ回答キャッシュからクエリ回答を検索することは、車両コンピューティングシステム112および/またはモバイルコンピューティングデバイス120がインターネットサーチを実行するのに必要とする時間を速めることに役立つ。
このように、開示されている技術は、クエリ回答キャッシュを使用してクエリのクエリ回答を取得するための車両コンピューティングシステム112の処理速度を向上させ、それによって、おそらく車両コンピューティングシステム112のサーチ効率および電力効率を向上させ、オフラインサーチも可能にすることができる。開示されている技術は、おそらく、インターネットサーチを減少させるまたは無くすことによって車両コンピューティングシステム112の処理サイクル数または電力使用量を減少させることができる。
クエリ回答キャッシュは、車両コンピューティングシステム112上、および/または、モバイルコンピューティングデバイス120などの外部デバイス上に位置し得る。図1に示されるように、モバイルコンピューティングデバイス120は、クエリ回答キャッシュ128を含む。モバイルコンピューティングデバイス120はさらに、存在感知ディスプレイデバイス122と、通信ユニット123と、アプリケーション124と、クエリ情報ストレージ126とを含む。モバイルコンピューティングデバイス120は、車両コンピューティングシステム112とのデータ接続を確立して、ユーザ入力を受信して、クエリ回答キャッシュ128に照会することによってユーザ入力に基づいてクエリ回答を生成するように構成される。
場合によっては、ユーザ入力は、車両コンピューティングシステム112のディスプレイデバイス114を介して検出され得る。一例として、車両コンピューティングシステム112のディスプレイデバイス114は、車両コンピューティングシステム112のユーザ150から触覚入力を受信し得る存在感知スクリーンを含んでもよい。たとえば、ディスプレイデバイス114は、存在感知スクリーン(抵抗型タッチスクリーン、表面弾性波タッチスクリーン、静電容量式タッチスクリーン、投影静電容量タッチスクリーン、感圧スクリーン、音響パルス認識タッチスクリーンまたは別の存在感知スクリーン技術など)を使用した存在感知入力デバイスとして機能し得る。ディスプレイデバイス114は、車両コンピューティングシステム112のユーザ150からの1つまたは複数の入力(たとえば、ユーザがディスプレイデバイス114の1つまたは複数の場所を指で触れたり指差したりすること)を検出することによって触覚入力の表示を受信し得る。たとえば、ディスプレイデバイス114は、「天気はどうですか」を含むテキスト入力をユーザ150から受信し得る。
場合によっては、ユーザ入力は、車両コンピューティングシステム112のマイクロフォン116を介して検出され得る。たとえば、車両コンピューティングシステム112は、口頭の音声データをマイクロフォン116から取り込んでもよい。本開示の技術に従って、車両コンピューティングシステム112は、ユーザ150からの明確な許可がある場合にのみ、マイクロフォン116を使用して音声を取り込んでもよい。たとえば、ユーザ150は、支援アプリケーションモジュールの実行を開始してもよく、これは、ディスプレイデバイス114に、支援アプリケーションモジュールのためのグラフィカルユーザインターフェイスを出力させる。ユーザの明確な許可がなければ、車両コンピューティングシステム112は、口頭の音声データをマイクロフォン116から取り込まない。
ユーザ入力を検出したことに応答して、モバイルコンピューティングデバイス120の1つまたは複数の通信ユニット123は、車両コンピューティングシステム112と通信して、ユーザ入力データを受信し得る。通信ユニット123は、車両コンピューティングシステム112とのワイヤードおよび/またはワイヤレス通信(近距離ワイヤレス通信(たとえば、ブルートゥース(登録商標)、WIFIまたはブルートゥース・ロー・エナジー(BLE)プロトコル)を含む)を可能にし得る。モバイルコンピューティングデバイス120は、通信ユニット123に結合された1つまたは複数のポート121(たとえば、1つまたは複数のユニバーサルシリアルバス(USB)ポート)も含む。たとえば、モバイルコンピューティングデバイス120は、USBデータパイプを使用して、口頭の音声データを車両コンピューティングシステム112から受信し得る。モバイルコンピューティングデバイス120はさらに、少なくとも部分的に口頭の音声データに基づいて、少なくとも1つのテキストクエリを求め得る。たとえば、車両コンピューティングシステム112は、「天気はどうですか」を含む音声を取り込み得て、取り込まれた音声を示すデータをモバイルコンピューティングデバイス120に送信し得る。スピーチ・トゥ・テキスト変換技術を使用して、モバイルコンピューティングデバイス120は、音声データから「天気はどうですか」というテキストクエリを生成し得る。
場合によっては、モバイルコンピューティングデバイス120は、口頭の音声データに基づいて1つまたは複数のテキストクエリを生成し得て、生成された1つまたは複数のテキストクエリを表示のためにディスプレイデバイス114に提供し得る。ディスプレイデバイス114は、1つまたは複数のディスプレイデバイスのうちのいずれか(液晶ディスプレイ(LCD)、ドットマトリクスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、マイクロ発光ダイオード(microLED)ディスプレイ、アクティブマトリクス有機発光ダイオード(AMOLED)ディスプレイ、e-ink、または、目に見える情報をユーザまたは車両乗員に出力することができる同様のモノクロもしくはカラーディスプレイなど)を使用した出力デバイスとして機能し得る。たとえば、車両コンピューティングシステム112は、「エマ・シェロンの誕生日はいつですか」を含む音声を取り込み得て、モバイルコンピューティングデバイス120は、「エマ・シェロンの誕生日はいつですか」および「エミリー・シェロンの誕生日はいつですか」という2つのテキストクエリを生成し得る。モバイルコンピューティングデバイス120は、これら2つのテキストクエリを表示のために車両コンピューティングシステム112に送信し得る。ユーザ150は、ディスプレイデバイス114と対話して、1つまたは複数のテキストクエリのうちの、口頭のクエリに一致するテキストクエリを選択し得る。
テキストクエリを求めたことに応答して、モバイルコンピューティングデバイス120は、求められたテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成し得る。1つまたは複数のコンテキストパラメータの例としては、現在時刻、現在位置、モバイルコンピューティングデバイスの現在のユーザ、履歴ユーザクエリのセット、履歴ユーザ挙動のセット、予測された宛先、および他の好適なコンテキストパラメータが挙げられるが、これらに限定されるものではない。たとえば、モバイルコンピューティングデバイス120は、受信した音声から「天気はどうですか」というテキストクエリを生成してもよく、モバイルコンピューティングデバイス120の現在時刻および現在位置を含むコンテキストパラメータを生成し得る。モバイルコンピューティングデバイス120はさらに、生成されたコンテキストパラメータをクエリ情報ストレージ126に格納し得る。
さまざまな例において、モバイルコンピューティングデバイス120の現在位置データまたはユーザ150に関連付けられた履歴ユーザ挙動などのコンテキストパラメータの格納は、モバイルコンピューティングデバイス120が(たとえば、存在感知ディスプレイデバイス122を介して)ユーザ150から肯定的な同意を受信したことに応答してのみ行われ得る。存在感知ディスプレイデバイス122は、たとえば、このようなデータの格納およびその後の使用に関する明確な要求をユーザに対して表示してもよく、モバイルコンピューティングデバイス120は、(たとえば、存在感知ディスプレイデバイス122を介して)ユーザから肯定的な応答および同意を受信した場合にのみデータの格納に進んでもよい。
上記の説明に付け加えて、ユーザ150は、本明細書に記載されているシステム、プログラムもしくは特徴がユーザ情報(たとえば、履歴ユーザ挙動データ、ユーザ位置データ、ユーザ識別データ)の収集および/もしくは格納を可能にし得るか否かおよびいつ可能にし得るか、ならびに/または、本明細書に記載されているシステム、プログラムまたは特徴がデバイス間のコンテンツの送信もしくは通信を可能にし得るか否かおよびいつ可能にし得るかについてユーザが選択を行うことを可能にする制御を備え得る。また、特定のデータは、識別可能な情報が除去されるように、格納または使用される前に1つまたは複数の方法で処理され得る。たとえば、ユーザのアイデンティティは、ユーザについての識別可能な情報を特定できないように処理されてもよく、またはユーザの地理的位置は、位置情報が(都市レベル、郵便番号レベルまたは国レベルなどで)取得される場合に、ユーザの特定の位置を特定できないように一般化され得る。したがって、ユーザ150は、ユーザについてどのような情報が収集されるか、当該情報がどのように格納および/または使用されるか、ならびにどのような情報がユーザに提供されるかを制御することができる。
モバイルコンピューティングデバイス120が、求められたテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成したことに応答して、モバイルコンピューティングデバイス120は、モバイルコンピューティングデバイス120のクエリ回答キャッシュ128に照会して、クエリ結果を生成し得る。クエリ回答キャッシュ128は、サーバシステム140のクエリ回答キャッシュ144から検索されたクエリ回答を含んでもよい。モバイルコンピューティングデバイス120は、求められたテキストクエリと、求められたテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータとを入力として使用して、クエリ結果を出力してもよく、このクエリ結果は、クエリ回答キャッシュ128が求められたテキストクエリおよび求められたテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータに対するクエリ回答を含むか否かを示す。
クエリ回答キャッシュ128に照会することによって、モバイルコンピューティングデバイス120は、クエリ回答キャッシュ128が求められたテキストクエリおよび求められたテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータに対するクエリ回答を含むか否かを判断し得る。クエリ回答キャッシュ128がクエリ回答を含むことをクエリ結果が示す場合、モバイルコンピューティングデバイス120は、クエリ回答の表示を車両コンピューティングシステム112に出力し得る。クエリ回答キャッシュがクエリ回答を含まないことをクエリ結果が示す場合、モバイルコンピューティングデバイス120は、テキストクエリの表示および求められたテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータの表示をリモートコンピューティングシステム(たとえば、サーバシステム140)に送信してクエリ回答の表示を検索することによって、インターネットサーチ動作を実行し得る。モバイルコンピューティングデバイス120はさらに、リモートコンピューティングシステムから検索されたクエリ回答の表示を車両コンピューティングシステム112に送信し得る。車両コンピューティングシステム112は、ディスプレイデバイス114および/またはマイクロフォン116を介してクエリ回答の表示を出力し得る。
いくつかの例において、クエリ回答は、クエリ回答に関連付けられた1つまたは複数のアシスタントコマンドを含んでもよく、車両コンピューティングシステム112は、受信したクエリ回答の表示に基づいて、クエリ回答を有する1つまたは複数のアシスタントコマンドを実行し得る。たとえば、クエリ回答キャッシュ118および/またはクエリ回答キャッシュ128内の情報が新鮮でない(たとえば、回答が正確でない、適正でない、またはクエリが受信される現在時刻に関係がない)場合、車両コンピューティングシステム112および/またはモバイルコンピューティングデバイス120は、クエリ回答キャッシュ内に含まれる1つまたは複数のアシスタントコマンドを識別して、1つまたは複数のアシスタントコマンドを実行してクエリの最新情報を検索し得る。1つまたは複数のアシスタントコマンドを実行する際、車両コンピューティングシステム112は、クエリをリモートコンピューティングシステム(たとえば、サーバシステム140)に送信し、クエリ回答を含む応答をリモートコンピューティングシステムから受信し得る。
いくつかの例において、モバイルコンピューティングデバイス120がクエリ回答キャッシュ128を使用したオンデバイスフェッチとともにインターネットサーチ動作を実行し得る、ということが考えられる。これらの例では、モバイルコンピューティングデバイス120は、テキストクエリを求めたときにインターネットサーチ動作を開始し得る。モバイルコンピューティングデバイス120は、インターネットサーチまたはオンデバイスフェッチによってクエリ回答を受信すると、クエリ回答の表示を車両コンピューティングシステム112に送信し得る。その結果、クエリ回答キャッシュ128を使用してクエリ回答を検索することは、モバイルコンピューティングデバイス120がインターネットサーチを実行するのに必要とする時間を速めることに役立つ。
いくつかの例において、モバイルコンピューティングデバイス120も車両コンピューティングシステム112もクエリ回答キャッシュ(モバイルコンピューティングデバイス120におけるクエリ回答キャッシュ128および車両コンピューティングシステム112におけるクエリ回答キャッシュ118など)を有する、ということが考えられる。これらの例では、車両コンピューティングシステム112は、マイクロフォン116および/またはディスプレイデバイス114を介して検出されたユーザ入力に基づいてテキストクエリを求め得る。テキストクエリを求めたことに応答して、車両コンピューティングシステム112は、求められたテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成し、車両コンピューティングシステム112におけるクエリ回答キャッシュ118に照会して第1のクエリ結果を生成し得る。第1のクエリ結果は、クエリ回答キャッシュ118が求められたテキストクエリおよび求められたテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータに対するクエリ回答を含むか否かを示す。クエリ回答キャッシュ118と同様に、クエリ回答キャッシュ128は、サーバシステム140のクエリ回答キャッシュ144から検索されたクエリ回答を含んでもよい。クエリ回答キャッシュ128がクエリ回答を含まないことを第1のクエリ結果が示す場合、車両コンピューティングシステム112は、求められたテキストクエリの表示および1つまたは複数のコンテキストパラメータの表示をモバイルコンピューティングデバイス120に送信し得る。次いで、モバイルコンピューティングデバイス120は、クエリ回答キャッシュ118に照会して、第2のクエリ結果を生成し得る。第1のクエリ結果と同様に、第2のクエリ結果は、クエリ回答キャッシュ118が求められたテキストクエリに対するクエリ回答を含むか否かを示す。クエリ回答キャッシュ118がクエリ回答を含まないことを第2のクエリ結果も示す場合、モバイルコンピューティングデバイス120は、次いで、求められたテキストクエリの表示および1つまたは複数のコンテキストパラメータの表示をサーバシステム140に送信して、求められたテキストクエリに対するクエリ回答の表示を検索し得る。
さまざまな例において、クエリ回答キャッシュ118および/またはクエリ回答キャッシュ128は、サーバシステム140のクエリ回答キャッシュ144から検索されたクエリ回答を含む。たとえば、クエリ回答キャッシュ128は、ネットワーク130を介してサーバシステム140のクエリ回答キャッシュ144と同期され得る。場合によっては、クエリ回答キャッシュ118および/またはクエリ回答キャッシュ128は、サーバシステム140のクエリ回答キャッシュ144と定期的に(1日1回、週に1回または月に1回など)同期され得る。場合によっては、クエリ回答キャッシュ118および/またはクエリ回答キャッシュ128は、ネットワーク接続の欠如の予測に基づいてサーバシステム140のクエリ回答キャッシュ144と同期され得る。クエリ回答キャッシュ144は、予測されたテキストクエリおよびクエリ回答を含んでもよい。クエリ回答キャッシュ144に格納された各クエリ回答は、それぞれのテキストクエリおよびコンテキストパラメータのそれぞれのセットに関連付けられる。
場合によっては、サーバシステム140のクエリ回答キャッシュ144から検索されたクエリ回答は、複数のコンピューティングデバイスから収集されたグローバルクエリデータを使用して生成された1つまたは複数のグローバルクエリ回答を含む。サーバシステム140は、複数のモバイルコンピューティングデバイスから収集されたサーチクエリを受信するように構成され得て、受信したサーチクエリに基づいてサーチクエリサンプルおよびそれぞれのクエリ回答を求めることができる。たとえば、サーバシステム140は、予め規定された期間におけるサーチボリュームに基づいて、複数のコンピューティングデバイスから収集されたサーチクエリをランク付けするように構成され得て、1つまたは複数のトップランクのサーチクエリをサーチクエリサンプルとして選択し得る。
場合によっては、サーバシステム140のクエリ回答キャッシュ144から検索されたクエリ回答は、モバイルコンピューティングデバイス120および/または車両コンピューティングシステム112から収集されたローカルクエリデータを使用して生成された1つまたは複数のローカルクエリ回答を含む。たとえば、サーバシステム140は、モバイルコンピューティングデバイス120/または車両コンピューティングシステム112から収集されたサーチクエリを受信するように構成され得て、モバイルコンピューティングデバイス120/または車両コンピューティングシステム112から収集されたサーチクエリに基づいてサーチクエリサンプルおよびそれぞれのクエリ回答を生成することができる。たとえば、サーバシステム140は、予め規定された期間におけるサーチボリュームに基づいて、コンピューティングデバイス120/または車両コンピューティングシステム112から収集されたサーチクエリをランク付けするように構成され得て、1つまたは複数のトップランクのサーチクエリをサーチクエリサンプルとして選択し得る。いくつかの例において、1つまたは複数のローカルクエリ回答は、1つまたは複数のローカルクエリ回答に関連付けられた1つまたは複数のアシスタントコマンドを含んでもよい。
場合によっては、サーバシステム140のクエリ回答キャッシュ144から検索されたクエリ回答は、予測モデル146を使用して生成された1つまたは複数の予測されたクエリ回答を含む。予測モデルは、モバイルコンピューティングデバイス120/または車両コンピューティングシステム112から収集されたローカルクエリデータを使用して訓練される。たとえば、予測モデルは、コンピューティングデバイス120/または車両コンピューティングシステム112から収集されたサーチクエリおよびサーチクエリに関連付けられたコンテキストパラメータを入力とし、モバイルコンピューティングデバイス120/または車両コンピューティングシステム112のユーザ150によってサーチされそうな1つまたは複数のクエリを出力する機械学習モデルであり得る。
このように、開示されている技術は、クエリ回答キャッシュを使用してクエリのクエリ回答を取得するための車両コンピューティングシステム112の処理速度を向上させ、それによって、おそらく車両コンピューティングシステム112のサーチ効率および電力効率を向上させ、オフラインサーチも可能にすることができる。開示されている技術は、おそらく、インターネットサーチを減少させるまたは無くすことによって車両コンピューティングシステム112の処理サイクル数または電力使用量を減少させることができる。
図2は、本開示の1つまたは複数の局面に係る、クエリ回答の表示を例示的な車両コンピューティングシステムに提供するように構成された例示的なモバイルコンピューティングデバイス220を示すブロック図である。場合によっては、モバイルコンピューティングデバイス220は、図1のモバイルコンピューティングデバイス120のより詳細な例であり得る。図2は、モバイルコンピューティングデバイス220の特定の例を1つだけ示しており、他の例では、モバイルコンピューティングデバイス220の多くの他の例が使用され得る。さまざまな場合において、モバイルコンピューティングデバイス220は、図2に示されているコンポーネントのサブセットを含んでもよく、または図2に不図示の追加コンポーネントを含んでもよい。
図2の例において、モバイルコンピューティングデバイス220は、存在感知ディスプレイデバイス222と、1つまたは複数のプロセッサ230と、1つまたは複数の入力コンポーネント242と、1つまたは複数の通信ユニット246と、1つまたは複数の出力コンポーネント244と、1つまたは複数のストレージデバイス248とを含む。通信チャネル249は、コンポーネント間通信のために(物理的に、通信可能におよび/または動作可能に)コンポーネント221,222,230,242,244,246および/または248の各々を相互接続し得る。いくつかの例において、通信チャネル249は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはハードウェアおよび/もしくはソフトウェア間でデータを通信するためのその他の方法を含んでもよい。
モバイルコンピューティングデバイス220の1つまたは複数の入力コンポーネント242は、ユーザからの入力などの入力を受信し得る。入力の例は、タッチ/触覚入力、存在感知入力および音声入力である。入力コンポーネント242の例としては、存在感知スクリーン、タッチセンシティブスクリーン、タッチスクリーン、マウス、キーボード、トラックパッド、音声応答システム、ビデオカメラ、マイクロフォン、または人間もしくは機械からの入力を検出するためのその他のタイプのデバイスが挙げられる。
モバイルコンピューティングデバイス220の1つまたは複数の出力コンポーネント244は、出力を生成し得る。出力の例は、触覚出力、音声出力および視覚出力である。出力コンポーネント244の例としては、存在感知スクリーン、タッチセンシティブスクリーン、タッチスクリーン、サウンドカード、ビデオグラフィックスアダプタカード、スピーカ、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、マイクロ発光ダイオード(microLED)ディスプレイ、アクティブマトリクス有機発光ダイオード(AMOLED)ディスプレイ、または人間もしくは機械への出力を生成するためのその他のタイプのデバイスが挙げられる。
モバイルコンピューティングデバイス220の1つまたは複数の通信ユニット246は、1つまたは複数のネットワーク(たとえば、1つまたは複数のワイヤードおよび/またはワイヤレスネットワーク)上でネットワーク信号を送信および/または受信することによって1つまたは複数のネットワークを介して外部デバイスと通信し得る。たとえば、モバイルコンピューティングデバイス220は、通信ユニット246を使用して、セルラー無線ネットワークなどの無線ネットワーク上で無線信号を送信および/または受信し得る。同様に、通信ユニット246は、グローバルポジショニングシステム(GPS)ネットワークなどの衛星ネットワーク上で衛星信号を送信および/または受信し得る。通信ユニット246の例としては、ネットワークインターフェイスカード(たとえば、イーサネット(登録商標)カードなど)、光トランシーバ、無線周波数トランシーバ、GPS受信機、または情報を送信および/もしくは受信することができるその他のタイプのデバイスが挙げられる。通信ユニット246の他の例としては、短波無線機、セルラーデータ無線機、ワイヤレスイーサネットネットワーク無線機およびユニバーサルシリアルバス(USB)コントローラを挙げることができる。
モバイルコンピューティングデバイス220は、とりわけ、存在感知ディスプレイデバイス222と、1つまたは複数のポート247(たとえば、USBポート)とを含む。図1を参照した上記の説明と同様に、モバイルコンピューティングデバイス220は、車両コンピューティングシステムとのワイヤード接続を確立し得る。
コンピューティングデバイス200内の1つまたは複数のストレージデバイス248は、クエリ情報ストレージ250と、クエリ回答キャッシュ252とを含む。ストレージデバイス248は、モバイルコンピューティングデバイス220の動作中(たとえば、クエリ実行モジュール254、ワイヤレス接続モジュール256、アプリケーション258、支援アプリケーション262、UIモジュール264および/またはオペレーティングシステム266のうちの1つまたは複数の実行中)に処理のための情報を格納し得る。たとえば、モバイルコンピューティングデバイス220の支援アプリケーション262は、テキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成し得て、これらの1つまたは複数のコンテキストパラメータを情報ストレージ250に格納し得る。図1を参照した上記の説明と同様に、クエリ回答キャッシュ252は、リモートコンピューティングシステムのクエリ回答キャッシュから検索された予測されたクエリおよびクエリ回答を含んでもよい。
いくつかの例において、ストレージデバイス248は、一時的なメモリを含み、これは、ストレージデバイス248の主な目的が長期的な格納でないことを意味している。モバイルコンピューティングデバイス220上のストレージデバイス248は、揮発性メモリとして情報を短期的に格納するように構成され得るため、電源がオフにされると、格納されたコンテンツを保持しない。揮発性メモリの例としては、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、および当該技術分野において公知の他の形態の揮発性メモリが挙げられる。
いくつかの例において、ストレージデバイス248は、1つまたは複数のコンピュータ読取可能記憶媒体を含む。ストレージデバイス248は、揮発性メモリよりも大量の情報を格納するように構成され得る。ストレージデバイス248はさらに、不揮発性メモリ空間として情報を長期的に格納するように構成され、電源オン/オフサイクル後に情報を保持し得る。不揮発性メモリの例としては、磁気ハードディスク、光ディスク、フロッピー(登録商標)ディスク、フラッシュメモリ、または電気的にプログラム可能なメモリ(EPROM)もしくは電気的に消去可能かつプログラム可能な(EEPROM)メモリの形態が挙げられる。ストレージデバイス248は、1つまたは複数のクエリ実行モジュール254、ワイヤレス接続モジュール256、アプリケーション258、支援アプリケーション262、UIモジュール264および/またはオペレーティングシステム266に関連付けられたプログラム命令および/またはデータを格納し得る。いくつかの例では、クエリ実行モジュール254、ワイヤレス接続モジュール256、アプリケーション258、支援アプリケーション262、UIモジュール264および/またはオペレーティングシステム266のうちの1つまたは複数。他の場合には、クエリ実行モジュール254、ワイヤレス接続モジュール256、アプリケーション258、支援アプリケーション262、UIモジュール264および/またはオペレーティングシステム266のうちの1つまたは複数は、クラウド内に(たとえば、1つまたは複数の外部サーバに)リモートで格納され得る。
さまざまな場合において、クエリ実行モジュール254は、クエリ情報ストレージ250および/またはクエリ回答キャッシュ252にデータを格納し、またはクエリ情報ストレージ250および/またはクエリ回答キャッシュ252からデータを検索し得る。さまざまな例において、ユーザに関連付けられた位置情報または識別情報などのユーザデータの格納は、モバイルコンピューティングデバイス220が(たとえば、UIモジュール264を介して)ユーザから肯定的な同意を受信したことに応答してのみ行われ得る。たとえば、UIモジュール264は、このようなデータの格納およびその後の使用に関する明確な要求をユーザに提供してもよく、続いて、モバイルコンピューティングデバイス220は、ユーザから肯定的な応答および同意を受信した場合にのみ、ローカルにデータを格納し得る。
ワイヤレス接続モジュール256は、モバイルコンピューティングデバイス220のためのワイヤレス接続イベントおよび/または動作を制御するように構成され得る。さまざまな場合において、ワイヤレス接続モジュール256は、1つまたは複数の外部デバイスまたはシステムとの1つまたは複数のワイヤレス接続を確立し得る。特定の場合において、ワイヤレス接続モジュール256は、それがワイヤレス接続を確立した外部デバイスまたはシステムの固有の識別子、およびこれらの接続に関連付けられたその他の情報(たとえば、接続識別子、プロトコル識別子、ポート識別子、接続パスワードまたは鍵、タイムスタンプ、ペアリング情報など)を格納し得る。
1つまたは複数のプロセッサ230は、モバイルコンピューティングデバイス220内で機能を実行し、および/または、命令を実行し得る。たとえば、モバイルコンピューティングデバイス220上のプロセッサ230は、クエリ実行モジュール254、ワイヤレス接続モジュール256、アプリケーション258、支援アプリケーション262、UIモジュール264および/またはオペレーティングシステム266の機能を実行するストレージデバイス248によって格納された命令を受信して実行し得る。プロセッサ230によって実行されるこれらの命令は、モバイルコンピューティングデバイス220に、プログラム実行中にストレージデバイス248内に情報を格納させ得る。プロセッサ230は、クエリ実行モジュール254、ワイヤレス接続モジュール256、アプリケーション258、支援アプリケーション262、UIモジュール264および/またはオペレーティングシステム266の命令を実行して、1つまたは複数の動作を実行し得る。すなわち、クエリ実行モジュール254、ワイヤレス接続モジュール256、アプリケーション258、支援アプリケーション262、UIモジュール264および/またはオペレーティングシステム266は、本明細書に記載されているさまざまな機能を実行するようにプロセッサ230によって動作可能であり得る。
いくつかの例において、モバイルコンピューティングデバイス220は、プロセッサ230のみを備え得て、またはプロセッサ230のみを含み得る。このような例では、入力コンポーネント242、存在感知ディスプレイデバイス222、通信ユニット246、出力コンポーネント244およびストレージデバイス248のうちの1つまたは複数は、モバイルコンピューティングデバイス220の外部にあるが、(たとえば、通信チャネル249を介して)モバイルコンピューティングデバイス220と通信可能に結合され得る。
いくつかの例において、コンピューティングデバイス200は、支援アプリケーション262の将来の使用を予測し得る。この将来の使用は、支援アプリケーション262によって受信されることが予測される1つまたは複数のクエリと、支援アプリケーション262が1つまたは複数のクエリのうちの少なくとも1つを受信する(たとえば、午前8時から午後5時の間などの、1日の特定の部分の間にユーザ入力を受信する)ことが予測される時間範囲とを含んでもよい。さまざまな例において、コンピューティングデバイス200は、以前の使用に基づいて将来の使用を予測し得る。すなわち、コンピューティングデバイス200は、支援アプリケーション使用履歴および/またはクエリ履歴を維持し得る。このような履歴は、ユーザに特有であり得て、デバイスに特有であり得て、クロスデバイスであり得て、またはクラウドソースであり得る(たとえば、コンピューティングデバイス200の現在のユーザと同様のプロファイルを有し得るような他のユーザからの情報を含む)。当該履歴に基づいて、コンピューティングデバイス200は、ユーザが以前に支援アプリケーション262および/または要求されたさまざまなクエリを使用した特定の時間範囲(たとえば、曜日、時刻、1ヶ月の一部、1年の一部など)を識別し得る。たとえば、ユーザは、支援アプリケーション262を定期的に実行して、毎平日午前8時ごろおよび毎週末午前9時に「今日の天気はどうなりそうですか」と尋ね得る。この使用履歴に基づいて、コンピューティングデバイス200は、例として、コンピューティングデバイス200のユーザが毎朝午前7時から午前10時の間または平日の午前7時から午前9時の間および週末の午前8時から午前10時の間にその日の天気を照会すると予測し得る。いくつかの例において、予測されたクエリおよびクエリ回答は、時間的制約のある情報を含んでもよい。たとえば、ユーザは、支援アプリケーション262を定期的に実行して、毎日午前8時ごろに「今の天気はどうですか」と尋ね得る。この使用履歴に基づいて、コンピューティングデバイス200は、コンピューティングデバイス200のユーザが毎朝午前8時ごろに天気を照会すると予測し得る。ユーザが尋ねることが予測されるクエリおよびクエリ回答を予測することによって、コンピューティングデバイス200は、より詳細な情報を提供し得るので、従来のオフラインクエリサポートを向上させる。
コンピューティングデバイス200は、支援アプリケーション262の予測された将来の使用に基づいて、クエリ回答キャッシュ252を定期的に更新し得る。たとえば、支援アプリケーション262の予測された将来の使用に基づいて、コンピューティングデバイス200は、予測されたクエリおよびリモートコンピューティングシステムのクエリ回答キャッシュからのクエリ回答を検索することによって、クエリ回答キャッシュ252を更新し得る。ユーザが平日の間は午前7時から午前9時の間にその日の天気を照会するとコンピューティングデバイス200が予測する例では、コンピューティングデバイス200は、その日の天気予報を検索するために午前7時より前に(たとえば、午前5時に、午前6時に、午前6時59分に、など)クエリ回答キャッシュ252を更新し得る。
いくつかの例において、コンピューティングデバイス200は、支援アプリケーション262が1日の特定の部分の間に(たとえば、午前8時から午前9時の間に)ユーザ入力を受信し得ることを予測するなど、支援アプリケーション262の予測された将来の使用に基づいてコンピューティングデバイス200のネットワーク接続状態を予測し得る。コンピューティングデバイス200はさらに、支援アプリケーション262がユーザ入力を受信することが予測される時間範囲に基づいて、コンピューティングデバイス200がネットワーク接続を有することを、予測されたネットワーク接続状態が示すか否かを判断し得る。
将来のネットワーク接続状態を予測する際、コンピューティングデバイス200は、明確なユーザ許可があれば、ネットワーク接続履歴を維持してもよく、このネットワーク接続履歴は、ネットワーク接続の状態、コンピューティングデバイス200の位置(たとえば、郵便番号、地理的領域、GPS座標など)、データ情報、および時間情報のうちの1つまたは複数を含む。一例として、ユーザは、定期的にサンドイッチショップにランチしに行き得る。このサンドイッチショップへの経路に沿って、コンピューティングデバイス200は、低品質の(たとえば、弱いワイヤレス信号、低下したデータ転送速度など)ネットワーク接続を有しているか、またはネットワーク接続を失っている。さらに、ユーザは、このサンドイッチショップに向かっている間に、支援アプリケーション262を実行してその日のトップニュースヘッドラインを照会し得る。一般に、ネットワーク接続が低品質であるかまたは欠如していることにより、クエリは失敗する可能性がある。しかし、本開示の技術を使用することによって、コンピューティングデバイス200は、ネットワーク接続が低品質であるおよび/または欠如していることを予測して、トップニュースヘッドラインについての情報を含むようにクエリ回答キャッシュ252を将来を見越して更新し得る。すなわち、コンピューティングデバイス200がその時間範囲中にネットワーク接続を有していないことを、予測されたネットワーク接続状態が示すと判断したことに基づいて、コンピューティングデバイス200は、予測された問題のあるネットワーク接続状態が発生する前に、予測されたクエリおよびリモートコンピューティングシステムのクエリ回答キャッシュからのクエリ回答を検索することによって、クエリ回答キャッシュ252を将来を見越して更新し得る。
図3は、本開示の1つまたは複数の局面に係る、クエリ回答の表示を生成するように構成された例示的な自動車用ヘッドユニット312を示す概念図である。場合によっては、自動車用ヘッドユニット312は、図1の車両コンピューティングシステム112のより詳細な例であり得る。図3は、自動車用ヘッドユニット312の特定の例を1つだけ示しており、他の例では、自動車用ヘッドユニット312の多くの他の例が使用され得る。さまざまな場合において、自動車用ヘッドユニット312は、図3に示されているコンポーネントのサブセットを含んでもよく、または図3に不図示の追加コンポーネントを含んでもよい。
図3の例において、車両300は、プロセッサ306と、グラフィックス処理ユニット(GPU)308と、システムメモリ318とを含む。いくつかの例において、プロセッサ306、GPU308およびトランシーバモジュール(図3には図示せず)は、集積回路(IC)として形成され得る。たとえば、ICは、チップパッケージ内の処理チップであると考えられてもよく、システムオンチップ(SoC)であり得る。
プロセッサ306およびGPU308の例としては、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価の集積もしくはディスクリート論理回路が挙げられるが、これらに限定されるものではない。プロセッサ306は、車両300の中央処理装置(CPU)に相当し得る。いくつかの例において、GPU308は、グラフィックス処理に適した超並列処理機能をGPU308に提供する集積および/またはディスクリート論理回路を含む専門のハードウェアであり得る。いくつかの例において、GPU308は、汎用処理機能も含んでもよく、汎用処理タスク(すなわち、非グラフィックス関連タスク)を実行する際には汎用GPU(GPGPU)と称されることもある。GPU308は、専用のGPU308として示されているが、基礎をなす回路基板(いわゆる「マザーボード」など)に一体化されるかまたはプロセッサ306に組み込まれる内蔵GPUに相当し得る。
プロセッサ306は、さまざまなタイプのアプリケーションを実行し得る。アプリケーションの例としては、ウェブブラウザ、電子メールアプリケーション、スプレッドシート、ビデオゲーム、または閲覧可能なオブジェクトを表示のために生成する他のアプリケーションが挙げられる。システムメモリ318は、1つまたは複数のアプリケーションの実行のための命令を格納し得る。プロセッサ306によるアプリケーションの実行は、プロセッサ306に、表示対象の画像コンテンツのためのグラフィックスデータを生成させる。プロセッサ306は、プロセッサ306がGPU308に送信する命令またはコマンドに基づいて、さらなる処理のために画像コンテンツのグラフィックスデータをGPU308に送信し得る。
プロセッサ306は、アプリケーションプログラミングインターフェイス(API)に従ってGPU308と通信し得る。さらに、本開示に記載されている技術は、APIに従って機能する必要はなく、プロセッサ306およびGPU308は、GPU308と通信するためのいかなる技術も利用し得る。
システムメモリ318は、車両300のためのメモリに相当し得る。システムメモリ318は、クエリ情報ストレージ350と、クエリ回答キャッシュ352とを含んでもよい。システムメモリ318は、1つまたは複数のコンピュータ読取可能記憶媒体を備え得る。システムメモリ318の例としては、ランダムアクセスメモリ(RAM)、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリ、または、命令および/もしくはデータ構造の形態で所望のプログラムコードを担持もしくは格納するために使用可能であって、かつ、コンピュータもしくはプロセッサによってアクセス可能である他の媒体が挙げられるが、これらに限定されるものではない。
いくつかの局面において、システムメモリ318は、プロセッサ306に、本開示に記載されている機能を実行させる、プロセッサ306への命令を含んでもよい。したがって、システムメモリ318は、実行されると1つまたは複数のプロセッサ(たとえば、プロセッサ306)にさまざまな機能を実行させる命令が格納された非一時的なコンピュータ読取可能記憶媒体であり得る。
システムメモリ318は、非一時的な記憶媒体である。「非一時的な」という語は、記憶媒体が搬送波または伝播信号に具体化されないことを意味している。しかし、「非一時的な」という語は、システムメモリ318が移動可能でないことまたはそのコンテンツが静的であることを意味するよう解釈されるべきではない。一例として、システムメモリ318は、車両300から取り外されて別のデバイスに移動され得る。別の例として、実質的にシステムメモリ318と同様のメモリが自律車両300に挿入され得る。特定の例において、非一時的な記憶媒体は、経時的に変化し得るデータを(たとえば、RAMに)格納し得る。
図3の例にさらに示されるように、車両300は、ディスプレイ314と、マイクロフォン316と、ユーザインターフェイス304とを含んでもよい。ディスプレイ314は、画像を投影することができる任意のタイプの受動反射型スクリーン、または画像を表示することができる能動反射型もしくは放射性もしくは透過型ディスプレイ(発光ダイオード(LED)ディスプレイ、有機LED(OLED)ディスプレイ、液晶ディスプレイ(LCD)またはその他のタイプの能動型ディスプレイなど)に相当し得る。車両300は、単一のディスプレイ314を含むものとして示されているが、車両300のキャビン全体にわたって位置決めされ得る複数のディスプレイを含んでもよい。いくつかの例において、受動バージョンのディスプレイ314または特定のタイプの能動バージョンのディスプレイ314(たとえば、OLEDディスプレイ)は、座席、テーブル、ルーフライナ、床、窓(もしくは、窓がないか窓がほとんどない車両では、壁)、または車両のキャビンの他の局面に一体化され得る。ディスプレイ314が受動型ディスプレイに相当する場合、ディスプレイ314は、受動型ディスプレイ314上に画像を投影または再作成することができるプロジェクタまたは他の画像投影デバイスも含んでもよい。さらに、ディスプレイ314は、実際には物理量測定器クラスタ(速度、回転、エンジン温度などを示す)に相当する運転手側のダッシュボードに一体化されたディスプレイを含んでもよい。
ユーザインターフェイス304は、車両300のさまざまな機能を制御するためにユーザが接続し得る任意のタイプの物理的なまたは仮想のインターフェイスに相当し得る。ユーザインターフェイス304は、物理的なボタン、ノブ、スライダまたは他の物理的制御機器を含んでもよい。ユーザインターフェイス304は、仮想のインターフェイスも含んでもよく、それによって、車両300の乗員は、一例としてタッチセンシティブスクリーンまたはタッチレスインターフェイスを介して、仮想のボタン、ノブ、スライダまたは他の仮想のインターフェイス要素と対話する。乗員は、ユーザインターフェイス304に接続して、車両300内の環境、車両300による音声再生、車両300による映像再生、車両300を介した送信(携帯電話呼び出しなど)、または車両300によって実行可能なその他の動作のうちの1つまたは複数を制御し得る。
また、ユーザインターフェイス304は、車両300に一体化されたディスプレイの拡張部としてのまたはその代わりの役割を果たす場合には、ディスプレイ314に拡張されたインターフェイスに相当し得る。すなわち、ユーザインターフェイス304は、ヘッドアップディスプレイ(HUD)、拡張現実コンピューティングデバイス、仮想現実コンピューティングデバイスもしくはディスプレイ、タブレットコンピュータ、またはその他の異なるタイプの上記拡張ディスプレイを介して提示される仮想のインターフェイスを含んでもよい。
図3の例において、プロセッサ306、GPU308、システムメモリ318、ディスプレイ314およびUI304は、ひとまとめにして、少なくとも部分的に、自動車の文脈において自動車用車両ヘッドユニット(AHU)312と称されるものに相当し得る。AHU312は、車両300のさまざまな局面に接続し、ならびに/または、エンターテインメントおよび/もしくは車両300に関する情報を乗員に提供することができる任意の一体化されたまたは別々のコンピューティングデバイスに相当し得る(このようなヘッドユニットは、「インフォテインメントユニット」または「インフォテインメントシステム」と称されることもある)。
図3の例にさらに示されるように、車両300は、複数の異なる車両システム302A~302N(「車両システム302」)を含んでもよい。車両システム302は、暖房、換気、空調(HVAC)システムまたは温度調節システム(たとえば、HVACシステムに加えて、暖房および/または冷房座席を含んでもよい)(それらのいずれかまたは両方は、本明細書において環境システムと称されることもある)、照明システム(内部および/または外部照明を提供するため)、座席制御システム(乗員の着座位置を調整するため)、ミラー制御システム(バックミラー、サイドミラー、バイザーミラーなどを含む内部および/または外部ミラーを制御するため)、ワイパ制御システム、エンターテインメントシステム(ラジオ再生、映像再生、画像表示などを制御するため)、安全支援システム(駐車支援、バックアップ支援などを制御するため)、運転モードシステム(サスペンション、トランスミッションなどを制御するため)、サン/ムーンルーフ制御システム(サンルーフおよび/またはムーンルーフを制御するため)、およびAHU312などのヘッドユニットを介した制御を可能にするその他のタイプの車両システムを含んでもよい。車両システム302の一例としては、車両システム302の上記の例のうちのいずれかを制御し得る電子制御ユニット(ECU)を挙げることができる。
本開示に記載されている技術のさまざまな局面に従って、AHU312は、ユーザ入力を検出して、クエリ回答キャッシュ352に照会することによってユーザ入力に基づいてクエリ回答を生成するように構成される。システムメモリ318は、AHU312の動作中(たとえば、クエリ実行モジュール354、ワイヤレス接続モジュール356および支援アプリケーション362のうちの1つまたは複数の実行中)に処理のための情報を格納し得る。
動作時、AHU312は、マイクロフォン316および/またはUI304を介してユーザ入力を検出し得て、検出されたユーザ入力に基づいてテキストクエリを求め得る。テキストクエリを求めたことに応答して、AHU312は、テキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成し、生成されたコンテキストパラメータをクエリ情報ストレージ350に格納し得る。
AHU312がテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成したことに応答して、クエリ実行モジュール354は、テキストクエリおよびテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを取り込んで、1つまたは複数のクエリ回答を出力し得る。クエリ実行モジュール354は、インターネットサーチおよび/またはオンデバイスフェッチを介して1つまたは複数のクエリ回答を生成し得る。
いくつかの例において、クエリ実行モジュール354は、少なくとも1つのテキストクエリの表示および1つまたは複数のコンテキストパラメータの表示をリモートコンピューティングシステム(たとえば、サーバシステム340)に送信して、クエリ回答の表示を検索し得る。
いくつかの例において、リモートコンピューティングシステムに照会することによってクエリ回答を直接検索するのではなく、クエリ実行モジュール354は、クエリ回答キャッシュ352からクエリ回答を検索し得る。クエリ回答キャッシュ352は、リモートコンピューティングシステム(たとえば、サーバシステム340)のクエリ回答キャッシュ(たとえば、クエリ回答キャッシュ344)から検索された予測されたクエリおよびクエリ回答を含んでもよい。たとえば、AHU312は、テキストクエリに関する履歴データに基づいて、ユーザがその日の天気を照会することを予測してもよく、サーバシステム340のクエリ回答キャッシュ344からその日の天気予報を、更新されたクエリ回答キャッシュ352にプリフェッチし得る。
クエリ回答キャッシュ352からクエリ回答を検索したことに応答して、レンダリングモジュール356は、検索されたクエリ回答をレンダリングして、ディスプレイ314および/またはマイクロフォン316を介して出力するためにクエリ回答の表示を生成し得る。たとえば、レンダリングモジュール356は、検索されたクエリ回答をレンダリングして、検索されたクエリ回答を既知のフォーマットにスケーリングおよび符号化することを可能にし得る。また、レンダリングモジュール356はさらに、検索されたクエリ回答の二次元(2D)または三次元(3D)グラフィカルビューを生成し得る。たとえば、検索されたクエリ回答が嵐を示す例では、レンダリングモジュール356は、ディスプレイ314を介して表示するために嵐記号を生成し得る。
図4は、本開示の1つまたは複数の局面に係る、クエリおよびクエリ回答を生成して例示的なクライアントコンピューティングデバイスに伝達するように構成された例示的なリモートコンピューティングシステムを示す概念図である。図4は、リモートコンピューティングシステム440と通信するクライアントデバイス412を含む。クライアントデバイス412は、図1の車両コンピューティングシステム112、図1のモバイルコンピューティングデバイス120、図2のモバイルコンピューティングデバイス220の一例、および/または、図3のAHU312の一例である。リモートコンピューティングシステム440は、図1のサーバシステム140の一例、および/または、図3のサーバシステム340の一例である。
図4の例において、リモートコンピューティングシステム440は、処理コンポーネント442と、メモリコンポーネント450と、機械学習モデル446とを含む。以下で参照される機械学習モデル446は、1つまたは複数のクエリを生成するためにクエリ生成部452によって使用される任意のモデルの一例であり得る。
いくつかの例において、機械学習モデル446は、1つまたは複数のタイプの入力データを受信し、それに応答して、1つまたは複数のタイプの出力データを提供するように訓練される。入力データは、複数のコンピューティングデバイスから収集されたサーチクエリ、クライアントデバイス412から収集されたサーチクエリ、クライアントデバイス412から収集されたサーチクエリに関連付けられたコンテキストパラメータを含んでもよい。
機械学習モデル446は、1つまたは複数のグローバルクエリを出力し得る。いくつかの例において、機械学習モデル446は、プールされた母集団からサーチクエリが収集される場合、そのプールされた母集団によってサーチされる可能性が最も高い1つまたは複数のグローバルクエリを生成し得る。たとえば、機械学習モデル446は、複数のモバイルコンピューティングデバイスから収集されたサーチクエリを入力として使用してもよく、受信したサーチクエリのサーチボリュームに基づいて1つまたは複数のグローバルクエリを出力、たとえば1つまたは複数のトップランクのサーチクエリをグローバルクエリとして出力し得る。
いくつかの例において、機械学習モデル446は、1つまたは複数のローカルクエリを出力し得る。機械学習モデル446は、クライアントデバイス412から収集されたサーチクエリを入力として使用し得て、クライアントデバイス412から収集されたサーチクエリに基づいて1つまたは複数のローカルクエリを生成し得る。たとえば、機械学習モデル446は、予め規定された期間におけるサーチボリュームに基づいて、クライアントデバイス412から収集されたサーチクエリをランク付けし得て、1つまたは複数のトップランクのサーチクエリをローカルクエリとして出力し得る。
いくつかの例において、機械学習モデル446は、1つまたは複数の予測されたクエリを出力し得る。たとえば、機械学習モデル446は、サーチクエリおよびクライアントデバイス412から収集されたサーチクエリに関連付けられたコンテキストパラメータを入力として使用し得て、クライアントデバイス412のユーザによって検索されそうな1つまたは複数の予測されたクエリを生成し得る。一例として、ユーザは、平日の間、その日の天気予報を定期的に検索し得る。この使用履歴に基づいて、機械学習モデル446は、「今日の天気はどうなりそうですか」および「明日の天気はどうなりそうですか」などの1つまたは複数の予測されたクエリを生成し得る。
機械学習モデル446は、さまざまな異なるタイプの機械学習モデルのうちの1つまたは複数であり得るか、またはそれらを含み得る。いくつかの例において、機械学習モデル446は、1つまたは複数の他の形態の人工ニューラルネットワーク(たとえば、ディープボルツマンマシン、ディープ・ビリーフ・ネットワーク、積層オートエンコーダなど)を含んでもよい。本明細書に記載されているニューラルネットワークはいずれも、組み合わせられて(たとえば、積層されて)より複雑なネットワークを形成することができる。いくつかの例において、機械学習モデル446は、1つまたは複数の強化学習技術(マルコフ決定プロセス、動的プログラミング、Q関数またはQ学習、価値関数アプローチ、ディープQネットワーク、微分可能ニューラルコンピュータ、非同期advantage actor-critics法、決定論的方策勾配法など)を実行することができ、またはそれらを施されることができる。
いくつかの例において、(たとえば、集中的に格納されたデータセットに基づいて)機械学習モデル446を訓練するために、集中的訓練技術が使用され得る。このプロセスは、経時的に繰り返し得る。したがって、機械学習モデル446は、ますます正確になり得て、同一の支援アプリケーションをインストールさせた全てのクライアントデバイスにプッシュされ得る。他の例では、機械学習モデル446を訓練、更新または個人化するために、非集中的訓練技術(分散型訓練、連合学習など)を使用することができる。非集中的訓練は、機械学習モデル446をプライバシに配慮した態様で実際の使用に基づいて向上させることを可能にする。
クエリ生成部452は、機械学習モデル446によって生成されたクエリをクエリ回答生成部454に提供して、クエリ回答およびクエリに関連付けられたコンテキストパラメータを生成し得る。クエリ回答生成部454はさらに、クエリ、クエリ回答、およびクエリに関連付けられたコンテキストパラメータをフレームワーク456に提供し得る。フレームワーク456は、クエリ、クエリ回答、およびクエリに関連付けられたコンテキストパラメータを受信して、クエリ回答キャッシュ444に格納し得る。たとえば、フレームワーク456は、クエリ回答およびクエリに関連付けられたコンテキストパラメータを既知のフォーマットに符号化して、符号化されたクエリ回答およびコンテキストパラメータをクエリ回答キャッシュ444に格納し得る。
リモートコンピューティングシステム440に関して記載されているが、モバイルデバイス120、車両コンピューティングシステム112、モバイルデバイス220またはAHU312は、将来を見越してクエリを予測し、それらの予測されたクエリにクエリ回答を将来を見越してフェッチし得る。たとえば、車両コンピューティングシステム112またはモバイルデバイス120は、車載データに基づいて、ユーザ150が尋ねることが予測されるクエリおよびクエリ回答を予測して、予測されたクエリおよびクエリ回答をローカルクエリ回答キャッシュに格納し得る。このように、本技術のさまざまな局面は、車両コンピューティングシステム112またはモバイルデバイス120がローカルクエリ回答キャッシュを使用してクエリ回答を検索することを可能にし、それによって、従来のオフラインクエリサポートを向上させることができる。
図5は、本開示の1つまたは複数の局面に従って構成されたコンピューティングデバイスの例示的な動作を示すフローチャートである。コンピューティングデバイスは、図1~図3に示されるコンピューティングデバイスのいずれかであり得る。単に例示の目的で、図3に示される自動車用ヘッドユニット(AHU)312を参照して図5の動作を説明する。
図5に示されるように、AHU312は、(たとえば、UI304、ディスプレイ314および/またはマイクロフォン316を介して)ユーザ入力データを受信し得る(502)。たとえば、AHU312は、「天気はどうですか」を含む触覚入力をディスプレイ314を介して受信し得て、受信した触覚入力に基づいて、「天気はどうですか」というテキストクエリを生成し得る。AHU312は、少なくとも部分的にユーザ入力データに基づいて少なくとも1つのテキストクエリを求め得る(504)。たとえば、AHU312は、「天気はどうですか」を含む音声入力をマイクロフォン316を介して受信し得て、スピーチ・トゥ・テキスト変換技術を使用して、音声データから「天気はどうですか」というテキストクエリを生成し得る。
少なくとも1つのテキストクエリを求めたことに応答して、AHU312は、少なくとも1つのテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成し得る(506)。1つまたは複数のコンテキストパラメータは、現在時刻、現在位置、コンピューティングデバイスの現在のユーザ、履歴ユーザクエリのセット、履歴ユーザ挙動のセット、および予測された宛先のうちの少なくとも1つを含む。AHU312が「天気はどうですか」というテキストクエリを生成する例では、AHU312は、AHU312の現在時刻および現在位置をコンテキストパラメータとして生成し得る。
AHU312は、少なくとも1つのテキストクエリおよび1つまたは複数のコンテキストパラメータに基づいて、クエリ回答キャッシュ352に照会して、クエリ結果を生成し得る(508)。クエリ回答キャッシュ352は、サーバシステム340のクエリ回答キャッシュ344から検索されたクエリおよびクエリ回答を含んでもよく、それによって、AHU312がインターネット接続を有していなくてもAHU312が検出されたクエリに応答することを可能にする。いくつかの例において、クエリ回答キャッシュ344から検索されたクエリは、プールされた母集団によってサーチされる可能性が最も高い1つまたは複数のグローバルクエリを含んでもよい。いくつかの例において、クエリ回答キャッシュ344から検索されたクエリは、AHU312のユーザによってサーチされる1つまたは複数のローカルクエリを含んでもよい。いくつかの例において、クエリ回答キャッシュ344から検索されたクエリは、AHU312のユーザによってサーチされそうな1つまたは複数の予測されたクエリを含んでもよい。たとえば、1つまたは複数の予測されたクエリは、AHU312から収集されたローカルクエリデータを使用して訓練された予測モデルを使用して生成され得る。
AHU312は、クエリ結果に基づいて、クエリ回答キャッシュ352が少なくとも1つのテキストクエリおよび1つまたは複数のコンテキストパラメータに対するクエリ回答を含むか否かを判断し得る(510)。クエリ回答キャッシュ352がクエリ回答を含まないと判断したことに応答して(510の「NO」分岐)、AHU312は、少なくとも1つのテキストクエリの表示および1つまたは複数のコンテキストパラメータの表示をサーバシステム340に送信して(512)、クエリ回答を検索し得る。AHU312は、クエリ回答の表示をサーバシステム340から受信し得る(514)。AHU312はさらに、クエリ回答の表示を(たとえば、ディスプレイ314および/またはマイクロフォン316を介して)出力し得る(516)。たとえば、AHU312は、レンダリングモジュール356を使用してクエリ回答をレンダリングして、クエリ回答を既知のフォーマットにスケーリングおよび符号化することを可能にし得る。別の例として、AHU312は、レンダリングモジュール356を使用して、クエリ回答のグラフィカルビューを生成し得る。
クエリ回答キャッシュ352がクエリ回答を含むと判断したことに応答して(510の「YES」分岐)、AHU312は、クエリ回答の表示を出力し得る。いくつかの例では、AHU312は、ディスプレイ314を介してクエリ回答の表示を出力し得る。他の例では、AHU312は、マイクロフォン316を介してクエリ回答の表示を出力し得る。
図6は、本開示の1つまたは複数の局面に従って構成されたサーバシステムの例示的な動作を示すフローチャートである。サーバシステムは、本開示の1つまたは複数の局面に従って、図1および図3に示されるサーバシステムまたは図4に示されるリモートコンピューティングシステムのいずれかなどのいずれかであり得る。単に例示の目的で、図3に示されるリモートコンピューティングシステム440を参照して図5の動作を説明する。
図6に示されるように、リモートコンピューティングシステム440のクエリ生成部452は、機械学習モデル446を使用してクエリを生成し得る(602)。機械学習モデル446は、1つまたは複数の入力(複数のコンピューティングデバイスから収集されたサーチクエリ、クライアントデバイス412から収集されたサーチクエリ、およびクライアントデバイス412から収集されたサーチクエリに関連付けられたコンテキストパラメータなど)を受信し得る。1つまたは複数の入力に基づいて、機械学習モデル446は、1つまたは複数のクエリ(1つまたは複数のグローバルクエリ、1つまたは複数のローカルクエリおよび1つまたは複数の予測されたクエリなど)を生成し得る。いくつかの例において、機械学習モデル446は、複数のコンピューティングデバイスから収集されたサーチクエリに基づいて、プールされた母集団によってサーチされる可能性が最も高い1つまたは複数のグローバルクエリを生成し得る。いくつかの例において、機械学習モデル446は、クライアントデバイス412から収集されたサーチクエリに基づいて、クライアントデバイス412のユーザによってサーチされる1つまたは複数のローカルクエリを生成し得る。いくつかの例において、機械学習モデル446はさらに、クライアントデバイス412から収集されたサーチクエリに基づいて、クライアントデバイス412のユーザによってサーチされそうな1つまたは複数の予測されたクエリを生成し得る。
リモートコンピューティングシステム440のクエリ回答生成部454は、1つまたは複数のクエリに基づいて、クエリ回答、および1つまたは複数のクエリに関連付けられたコンテキストパラメータを生成し得る(604)。たとえば、クエリ回答生成部454は、インターネットサーチを介して1つまたは複数のクエリ回答を生成し得る。
リモートコンピューティングシステム440のフレームワーク456はさらに、1つまたは複数のクエリ、クエリ回答、および1つまたは複数のクエリに関連付けられたコンテキストパラメータをクエリ回答キャッシュ444に格納し得る(606)。たとえば、フレームワーク456は、クエリ、クエリ回答、およびクエリに関連付けられたコンテキストパラメータを既知のフォーマットに符号化して、符号化されたクエリ、クエリ回答およびコンテキストパラメータをクエリ回答キャッシュ444に格納し得る。
1つまたは複数の例において、記載されている機能は、ハードウェア、ハードウェアおよびソフトウェア、ハードウェアおよびファームウェア、またはそれらの任意の組み合わせにおいて実現され得る。これらの機能は、ソフトウェアにおいて実現される場合、1つまたは複数の命令またはコードとして、コンピュータ読取可能媒体上に格納されるかまたはコンピュータ読取可能媒体を介して送信されて、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ読取可能媒体は、たとえば通信プロトコルに従って1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む有形の媒体(データ記憶媒体または通信媒体など)に対応するコンピュータ読取可能記憶媒体を含んでもよい。このように、コンピュータ読取可能媒体は、一般に、(1)非一時的である有形のコンピュータ読取可能記憶媒体、または、(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされて、本開示に記載されている技術を実現するために命令、コードおよび/またはデータ構造を検索することができる任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ読取可能媒体を含んでもよい。
一例として、および非限定的に、このようなコンピュータ読取可能記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶装置、フラッシュメモリ、または、命令もしくはデータ構造の形態で所望のプログラムコードを格納するために使用可能であって、かつ、コンピュータによってアクセス可能であるその他の記憶媒体を備えることができる。また、いかなる接続もコンピュータ読取可能媒体と呼ぶにふさわしい。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者ライン(DSL)、またはワイヤレス技術(赤外線、無線およびマイクロ波など)を使用して命令がウェブサイト、サーバまたは他のリモートソースから送信される場合、これらの同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、またはワイヤレス技術(赤外線、無線およびマイクロ波など)は、媒体の定義に含まれる。しかし、コンピュータ読取可能記憶媒体およびデータ記憶媒体は、接続、搬送波、信号または他の一時的な媒体を含むのではなく、その代わりに非一時的な有形の記憶媒体に向けられる、ということが理解されるべきである。本明細書において使用されるdiskおよびdiscは、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスクおよびブルーレイディスクを含み、diskは、通常、データを磁気的に再生するのに対して、discは、レーザによりデータを光学的に再生する。上記の組み合わせもコンピュータ読取可能媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のプロセッサ(1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価の集積もしくはディスクリート論理回路など)によって実行され得る。したがって、本明細書において使用される「プロセッサ」という語は、上記の構造または本明細書に記載されている技術の実現に適したその他の構造のいずれかを指し得る。また、いくつかの局面において、本明細書に記載されている機能は、専用のハードウェアおよび/またはソフトウェアモジュール内で提供され得る。また、これらの技術は、1つまたは複数の回路または論理要素において完全に実現され得る。
本開示の技術は、多種多様なデバイスまたは器具(ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む)において実現され得る。開示されている技術を実行するように構成されたデバイスの機能的局面を強調するために、さまざまなコンポーネント、モジュールまたはユニットが本開示に記載されているが、さまざまなハードウェアユニットによる実現を必ずしも必要とするものではない。むしろ、上記のように、さまざまなユニットは、好適なソフトウェアおよび/またはファームウェアとともに、ハードウェアユニットにおいて組み合わせられてもよく、または相互運用可能なハードウェアユニットの集合体(上記の1つまたは複数のプロセッサを含む)によって提供され得る。
さまざまな実施形態について説明してきた。これらのおよび他の実施形態は、以下の特許請求の範囲の範囲内である。

Claims (20)

  1. 方法であって、
    コンピューティングデバイスが、ユーザ入力を受信するステップと、
    前記コンピューティングデバイスが、少なくとも部分的に前記ユーザ入力に基づいて、少なくとも1つのテキストクエリを求めるステップと、
    前記少なくとも1つのテキストクエリを求めたことに応答して、前記コンピューティングデバイスが、前記少なくとも1つのテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成するステップとを備え、前記1つまたは複数のコンテキストパラメータは、現在時刻、現在位置、前記コンピューティングデバイスの現在のユーザ、履歴ユーザクエリのセット、履歴ユーザ挙動のセット、および予測された宛先のうちの少なくとも1つを含み、前記方法はさらに、
    前記コンピューティングデバイスが、前記少なくとも1つのテキストクエリおよび前記1つまたは複数のコンテキストパラメータに基づいて、前記コンピューティングデバイスのクエリ回答キャッシュに照会して、クエリ結果を生成するステップと、
    前記クエリ結果に基づいて、前記クエリ回答キャッシュが前記少なくとも1つのテキストクエリおよび前記1つまたは複数のコンテキストパラメータに対するクエリ回答を含むか否かを判断するステップと、
    前記クエリ回答キャッシュが前記クエリ回答を含まないと判断したことに応答して、
    前記少なくとも1つのテキストクエリの表示および前記1つまたは複数のコンテキストパラメータの表示を前記コンピューティングデバイスからリモートコンピューティングシステムに送信するステップと、
    前記リモートコンピューティングシステムから前記クエリ回答の表示を受信するステップとを備え、前記クエリ回答は、前記リモートコンピューティングシステムのクエリ回答キャッシュから検索され、前記クエリ回答キャッシュは、前記コンピューティングデバイスのための複数の予測されたクエリ回答を含み、前記複数の予測されたクエリ回答からの各々の予測されたクエリ回答は、それぞれのテキストクエリおよびコンテキストパラメータのそれぞれのセットに関連付けられ、前記方法はさらに、
    前記コンピューティングデバイスが、前記クエリ回答の表示を出力するステップを備える、方法。
  2. 前記リモートコンピューティングシステムの前記クエリ回答キャッシュから検索された前記クエリ回答は、グローバルクエリデータを使用して生成された1つまたは複数のグローバルクエリ回答を備え、前記グローバルクエリデータは、複数のコンピューティングデバイスから収集される、請求項1に記載の方法。
  3. 前記リモートコンピューティングシステムの前記クエリ回答キャッシュから検索された前記クエリ回答は、ローカルクエリデータを使用して生成された1つまたは複数のローカルクエリ回答を備え、前記ローカルクエリデータは、前記コンピューティングデバイスから収集される、請求項1に記載の方法。
  4. 前記リモートコンピューティングシステムの前記クエリ回答キャッシュから検索された前記クエリ回答は、予測モデルを使用して生成された1つまたは複数の予測されたクエリ回答を備え、前記予測モデルは、前記コンピューティングデバイスから収集されたローカルクエリデータを使用して訓練される、請求項1に記載の方法。
  5. 前記ユーザ入力を受信するステップはさらに、
    車両のヘッドユニットから口頭の音声データを受信するステップを備え、前記口頭の音声データは、前記車両のマイクロフォンを介して検出される、請求項1に記載の方法。
  6. 前記コンピューティングデバイスは、前記車両の前記ヘッドユニットに接続されたモバイルコンピューティングデバイスであり、前記口頭の音声データは、前記ヘッドユニットから前記モバイルコンピューティングデバイスに送信される、請求項5に記載の方法。
  7. 前記ユーザ入力を受信するステップはさらに、
    車両のヘッドユニットから触覚入力を受信するステップを備え、前記触覚入力は、前記車両のタッチセンシティブスクリーンを介して検出される、請求項1に記載の方法。
  8. 前記コンピューティングデバイスが、支援アプリケーションを実行するステップをさらに備え、前記支援アプリケーションは、前記1つまたは複数のコンテキストパラメータを生成して、前記クエリ回答キャッシュに照会し、前記方法はさらに、
    前記コンピューティングデバイスが、前記支援アプリケーションの将来の使用を予測するステップを備え、前記将来の使用は、前記支援アプリケーションによって受信されることが予測される1つまたは複数のクエリと、前記支援アプリケーションが前記1つまたは複数のクエリのうちの少なくとも1つを受信することが予測される時間範囲とを含み、前記方法はさらに、
    前記コンピューティングデバイスが、前記支援アプリケーションの前記予測された将来の使用に基づいて、前記クエリ回答キャッシュを定期的に更新するステップを備える、請求項1に記載の方法。
  9. 前記コンピューティングデバイスが、前記支援アプリケーションの前記予測された将来の使用に基づいて、前記コンピューティングデバイスのネットワーク接続状態を予測するステップと、
    前記コンピューティングデバイスが、前記時間範囲に基づいて、前記コンピューティングデバイスがネットワーク接続を有することを前記予測されたネットワーク接続状態が示すか否かを判断するステップとをさらに備え、
    前記クエリ回答キャッシュは、前記時間範囲中に前記コンピューティングデバイスがネットワーク接続を持たないことを前記予測されたネットワーク接続状態が示すと判断したことに応答して、前記支援アプリケーションによって受信されることが予測される前記1つまたは複数のクエリと、前記1つまたは複数のクエリに対する対応する回答とを含むように更新される、請求項8に記載の方法。
  10. コンピューティングデバイスであって、
    少なくとも1つのプロセッサと、
    命令を格納する少なくとも1つのコンピュータ読取可能記憶装置とを備え、前記命令は、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
    ユーザ入力を受信させ、
    少なくとも部分的に前記ユーザ入力に基づいて、少なくとも1つのテキストクエリを求めさせ、
    前記少なくとも1つのテキストクエリを求めたことに応答して、前記少なくとも1つのテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成させ、前記1つまたは複数のコンテキストパラメータは、現在時刻、現在位置、前記コンピューティングデバイスの現在のユーザ、履歴ユーザクエリのセット、履歴ユーザ挙動のセット、および予測された宛先のうちの少なくとも1つを含み、前記命令はさらに、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
    前記少なくとも1つのテキストクエリおよび前記1つまたは複数のコンテキストパラメータに基づいて、前記コンピューティングデバイスのクエリ回答キャッシュに照会して、クエリ結果を生成させ、
    前記クエリ結果に基づいて、前記クエリ回答キャッシュが前記少なくとも1つのテキストクエリおよび前記1つまたは複数のコンテキストパラメータに対するクエリ回答を含むか否かを判断させ、
    前記クエリ回答キャッシュが前記クエリ回答を含まないと判断したことに応答して、
    前記少なくとも1つのテキストクエリの表示および前記1つまたは複数のコンテキストパラメータの表示をリモートコンピューティングシステムに送信させ、
    前記リモートコンピューティングシステムから前記クエリ回答の表示を受信させ、前記クエリ回答は、前記リモートコンピューティングシステムのクエリ回答キャッシュから検索され、前記クエリ回答キャッシュは、前記コンピューティングデバイスのための複数の予測されたクエリ回答を含み、前記複数の予測されたクエリ回答からの各々の予測されたクエリ回答は、それぞれのテキストクエリおよびコンテキストパラメータのそれぞれのセットに関連付けられ、前記命令はさらに、前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
    前記クエリ回答の表示を出力させる、コンピューティングデバイス。
  11. 前記リモートコンピューティングシステムの前記クエリ回答キャッシュから検索された前記クエリ回答は、グローバルクエリデータを使用して生成された1つまたは複数のグローバルクエリ回答を備え、前記グローバルクエリデータは、複数のコンピューティングデバイスから収集される、請求項10に記載のコンピューティングデバイス。
  12. 前記リモートコンピューティングシステムの前記クエリ回答キャッシュから検索された前記クエリ回答は、ローカルクエリデータを使用して生成された1つまたは複数のローカルクエリ回答を備え、前記ローカルクエリデータは、前記コンピューティングデバイスから収集される、請求項10に記載のコンピューティングデバイス。
  13. 前記リモートコンピューティングシステムの前記クエリ回答キャッシュから検索された前記クエリ回答は、予測モデルを使用して生成された1つまたは複数の予測されたクエリ回答を備え、前記予測モデルは、前記コンピューティングデバイスから収集されたローカルクエリデータを使用して訓練される、請求項10に記載のコンピューティングデバイス。
  14. 前記ユーザ入力は、口頭の音声データを備え、前記少なくとも1つのコンピュータ読取可能記憶装置に格納された前記命令はさらに、前記少なくとも1つのプロセッサに、
    車両のヘッドユニットから前記口頭の音声データを受信させ、前記口頭の音声データは、前記車両のマイクロフォンを介して検出される、請求項10に記載のコンピューティングデバイス。
  15. 前記コンピューティングデバイスは、前記車両の前記ヘッドユニットに接続されたモバイルコンピューティングデバイスを備え、前記口頭の音声データは、前記ヘッドユニットから前記モバイルコンピューティングデバイスに送信される、請求項14に記載のコンピューティングデバイス。
  16. 前記ユーザ入力は、触覚入力を備え、前記少なくとも1つのコンピュータ読取可能記憶装置に格納された前記命令はさらに、前記少なくとも1つのプロセッサに、
    車両のヘッドユニットから触覚入力を受信させ、前記触覚入力は、前記車両のタッチセンシティブスクリーンを介して検出される、請求項10に記載のコンピューティングデバイス。
  17. 前記少なくとも1つのコンピュータ読取可能記憶装置に格納された前記命令はさらに、前記少なくとも1つのプロセッサに、
    前記コンピューティングデバイスが、支援アプリケーションを実行するようにさせ、前記支援アプリケーションは、前記1つまたは複数のコンテキストパラメータを生成して、前記クエリ回答キャッシュに照会し、前記少なくとも1つのコンピュータ読取可能記憶装置に格納された前記命令はさらに、前記少なくとも1つのプロセッサに、
    前記コンピューティングデバイスが、前記支援アプリケーションの将来の使用を予測するようにさせ、前記将来の使用は、前記支援アプリケーションによって受信されることが予測される1つまたは複数のクエリと、前記支援アプリケーションが前記1つまたは複数のクエリのうちの少なくとも1つを受信することが予測される時間範囲とを含み、前記少なくとも1つのコンピュータ読取可能記憶装置に格納された前記命令はさらに、前記少なくとも1つのプロセッサに、
    前記コンピューティングデバイスが、前記支援アプリケーションの前記予測された将来の使用に基づいて、前記クエリ回答キャッシュを定期的に更新するようにさせる、請求項10に記載のコンピューティングデバイス。
  18. 前記少なくとも1つのコンピュータ読取可能記憶装置に格納された前記命令はさらに、前記少なくとも1つのプロセッサに、
    前記コンピューティングデバイスが、前記支援アプリケーションの前記予測された将来の使用に基づいて、前記コンピューティングデバイスのネットワーク接続状態を予測するようにさせ、
    前記コンピューティングデバイスが、前記時間範囲に基づいて、前記コンピューティングデバイスがネットワーク接続を有することを前記予測されたネットワーク接続状態が示すか否かを判断するようにさせ、
    前記クエリ回答キャッシュは、前記時間範囲中に前記コンピューティングデバイスがネットワーク接続を持たないことを前記予測されたネットワーク接続状態が示すと判断したことに応答して、前記支援アプリケーションによって受信されることが予測される前記1つまたは複数のクエリと、前記1つまたは複数のクエリに対する対応する回答とを含むように更新される、請求項12に記載のコンピューティングデバイス。
  19. 命令を格納するコンピュータ読取可能記憶装置であって、前記命令は、実行されると、コンピューティングデバイスの少なくとも1つのプロセッサに、
    ユーザ入力を受信させ、
    少なくとも部分的に前記ユーザ入力に基づいて、少なくとも1つのテキストクエリを求めさせ、
    前記少なくとも1つのテキストクエリを求めたことに応答して、前記少なくとも1つのテキストクエリに関連付けられた1つまたは複数のコンテキストパラメータを生成させ、前記1つまたは複数のコンテキストパラメータは、現在時刻、現在位置、前記コンピューティングデバイスの現在のユーザ、履歴ユーザクエリのセット、履歴ユーザ挙動のセット、および予測された宛先のうちの少なくとも1つを含み、前記命令はさらに、実行されると、前記コンピューティングデバイスの前記少なくとも1つのプロセッサに、
    前記少なくとも1つのテキストクエリおよび前記1つまたは複数のコンテキストパラメータに基づいて、前記コンピューティングデバイスのクエリ回答キャッシュに照会して、クエリ結果を生成させ、
    前記クエリ結果に基づいて、前記クエリ回答キャッシュが前記少なくとも1つのテキストクエリおよび前記1つまたは複数のコンテキストパラメータに対するクエリ回答を含むか否かを判断させ、
    前記クエリ回答キャッシュが前記クエリ回答を含まないと判断したことに応答して、
    前記少なくとも1つのテキストクエリの表示および前記1つまたは複数のコンテキストパラメータの表示をリモートコンピューティングシステムに送信させ、
    前記リモートコンピューティングシステムから前記クエリ回答の表示を受信させ、前記クエリ回答は、前記リモートコンピューティングシステムのクエリ回答キャッシュから検索され、前記クエリ回答キャッシュは、前記コンピューティングデバイスのための複数の予測されたクエリ回答を含み、前記複数の予測されたクエリ回答からの各々の予測されたクエリ回答は、それぞれのテキストクエリおよびコンテキストパラメータのそれぞれのセットに関連付けられ、前記命令はさらに、実行されると、前記コンピューティングデバイスの前記少なくとも1つのプロセッサに、
    前記クエリ回答の表示を出力させる、コンピュータ読取可能記憶装置。
  20. 命令をさらに含み、前記命令は、実行されると、前記コンピューティングデバイスの前記少なくとも1つのプロセッサに、
    支援アプリケーションを実行させ、前記支援アプリケーションは、前記1つまたは複数のコンテキストパラメータを生成して、前記クエリ回答キャッシュに照会し、前記命令はさらに、実行されると、前記コンピューティングデバイスの前記少なくとも1つのプロセッサに、
    前記支援アプリケーションの将来の使用を予測させ、前記将来の使用は、前記支援アプリケーションによって受信されることが予測される1つまたは複数のクエリと、前記支援アプリケーションが前記1つまたは複数のクエリのうちの少なくとも1つを受信することが予測される時間範囲とを含み、前記命令はさらに、実行されると、前記コンピューティングデバイスの前記少なくとも1つのプロセッサに、
    前記支援アプリケーションの前記予測された将来の使用に基づいて、前記クエリ回答キャッシュを定期的に更新させる、請求項19に記載のコンピュータ読取可能記憶装置。
JP2021161158A 2020-11-13 2021-09-30 オンデバイスキャッシュを使用したハイブリッドフェッチング Pending JP2022078951A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/098,016 US11853381B2 (en) 2020-11-13 2020-11-13 Hybrid fetching using a on-device cache
US17/098,016 2020-11-13

Publications (1)

Publication Number Publication Date
JP2022078951A true JP2022078951A (ja) 2022-05-25

Family

ID=79007990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021161158A Pending JP2022078951A (ja) 2020-11-13 2021-09-30 オンデバイスキャッシュを使用したハイブリッドフェッチング

Country Status (5)

Country Link
US (1) US11853381B2 (ja)
EP (1) EP4002164A1 (ja)
JP (1) JP2022078951A (ja)
KR (1) KR102656217B1 (ja)
CN (1) CN113886437A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853381B2 (en) * 2020-11-13 2023-12-26 Google Llc Hybrid fetching using a on-device cache
US11934402B2 (en) * 2021-08-06 2024-03-19 Bank Of America Corporation System and method for generating optimized data queries to improve hardware efficiency and utilization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285982A (ja) * 2005-03-31 2006-10-19 Microsoft Corp 検索エンジンの関連性を改良するデータマイニング技術
US20180115627A1 (en) * 2016-10-24 2018-04-26 Honeywell International Inc. Internet cache server system

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067565A (en) * 1998-01-15 2000-05-23 Microsoft Corporation Technique for prefetching a web page of potential future interest in lieu of continuing a current information download
US6085226A (en) * 1998-01-15 2000-07-04 Microsoft Corporation Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US7398209B2 (en) * 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7840587B2 (en) * 2003-06-06 2010-11-23 Ita Software, Inc. Query caching for travel planning systems
US8407188B1 (en) * 2003-07-25 2013-03-26 Verizon Data Services Llc Methods and systems for providing data form management
US7836044B2 (en) * 2004-06-22 2010-11-16 Google Inc. Anticipated query generation and processing in a search engine
US7487145B1 (en) * 2004-06-22 2009-02-03 Google Inc. Method and system for autocompletion using ranked results
US20060106769A1 (en) * 2004-11-12 2006-05-18 Gibbs Kevin A Method and system for autocompletion for languages having ideographs and phonetic characters
US11392595B2 (en) * 2006-10-26 2022-07-19 EMB Partners, LLC Techniques for determining relevant electronic content in response to queries
US8180735B2 (en) * 2006-12-29 2012-05-15 Prodea Systems, Inc. Managed file backup and restore at remote storage locations through multi-services gateway at user premises
US8335767B2 (en) * 2007-10-17 2012-12-18 Oracle International Corporation Maintaining and utilizing SQL execution plan histories
US7979426B2 (en) * 2008-06-05 2011-07-12 Samsung Electronics Co., Ltd. Clustering-based interest computation
US8312032B2 (en) * 2008-07-10 2012-11-13 Google Inc. Dictionary suggestions for partial user entries
US8145622B2 (en) * 2009-01-09 2012-03-27 Microsoft Corporation System for finding queries aiming at tail URLs
WO2010139277A1 (en) * 2009-06-03 2010-12-09 Google Inc. Autocompletion for partially entered query
US9213780B2 (en) * 2009-06-26 2015-12-15 Microsoft Technology Licensing Llc Cache and index refreshing strategies for variably dynamic items and accesses
US8356026B2 (en) * 2009-08-31 2013-01-15 Microsoft Corporation Predictive data caching
US20120084151A1 (en) * 2009-12-30 2012-04-05 Kozak Frank J Facilitation of user management of unsolicited server operations and extensions thereto
US20120084349A1 (en) * 2009-12-30 2012-04-05 Wei-Yeh Lee User interface for user management and control of unsolicited server operations
US20120078727A1 (en) * 2009-12-30 2012-03-29 Wei-Yeh Lee Facilitation of user management of unsolicited server operations via modification thereof
US20120084348A1 (en) * 2009-12-30 2012-04-05 Wei-Yeh Lee Facilitation of user management of unsolicited server operations
US10705794B2 (en) * 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8983989B2 (en) * 2010-02-05 2015-03-17 Microsoft Technology Licensing, Llc Contextual queries
US20120084291A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Applying search queries to content sets
US20120158685A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Modeling Intent and Ranking Search Results Using Activity-based Context
US8577913B1 (en) * 2011-05-27 2013-11-05 Google Inc. Generating midstring query refinements
WO2013116530A1 (en) * 2012-02-01 2013-08-08 Xerocole, Inc. Dns outage avoidance method for recursive dns servers
US8583806B2 (en) * 2012-02-06 2013-11-12 Xerocole, Inc. Data sharing method for recursive DNS servers
GB2504935A (en) * 2012-08-13 2014-02-19 Ibm Associating ancillary information with an application user interface
US9020866B1 (en) 2012-08-28 2015-04-28 A9.Com, Inc. Combined online and offline ranking
US20170270159A1 (en) * 2013-03-14 2017-09-21 Google Inc. Determining query results in response to natural language queries
US10467327B1 (en) * 2013-03-15 2019-11-05 Matan Arazi Real-time event transcription system and method
US20140280016A1 (en) * 2013-03-15 2014-09-18 Hugh Evan Williams Autocomplete-based advertisements
US20150066594A1 (en) * 2013-08-27 2015-03-05 New York University System, method and computer accessible medium for determining one or more effects of rankings on consumer behavior
US9398116B2 (en) * 2013-12-22 2016-07-19 Cloudcar, Inc. Caching model for in-vehicle-infotainment systems with unreliable data connections
US10069787B2 (en) * 2014-04-01 2018-09-04 Cloudflare, Inc. Domain name system CNAME record management
US10642845B2 (en) * 2014-05-30 2020-05-05 Apple Inc. Multi-domain search on a computing device
US10740412B2 (en) * 2014-09-05 2020-08-11 Facebook, Inc. Pivoting search results on online social networks
US9830321B2 (en) * 2014-09-30 2017-11-28 Rovi Guides, Inc. Systems and methods for searching for a media asset
US10163420B2 (en) * 2014-10-10 2018-12-25 DimensionalMechanics, Inc. System, apparatus and methods for adaptive data transport and optimization of application execution
US9727648B2 (en) * 2014-12-19 2017-08-08 Quixey, Inc. Time-box constrained searching in a distributed search system
US20160188742A1 (en) * 2014-12-30 2016-06-30 Quixey, Inc. Bookmarking Search Results
US10157232B2 (en) * 2014-12-31 2018-12-18 Samsung Electronics Co., Ltd. Personalizing deep search results using subscription data
US10097973B2 (en) * 2015-05-27 2018-10-09 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10200824B2 (en) * 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083697B2 (en) 2015-05-27 2018-09-25 Google Llc Local persisting of data for selectively offline capable voice action in a voice-enabled electronic device
US9792281B2 (en) * 2015-06-15 2017-10-17 Microsoft Technology Licensing, Llc Contextual language generation by leveraging language understanding
US10437820B2 (en) * 2015-08-06 2019-10-08 Red Hat, Inc. Asymmetric distributed cache with data chains
US10650317B2 (en) * 2015-09-21 2020-05-12 Google Llc Detecting and correcting potential errors in user behavior
US10353976B2 (en) * 2015-10-05 2019-07-16 Samsung Electronics Co., Ltd. Generating search results using a set of alternate search queries
US10268756B2 (en) * 2015-12-18 2019-04-23 Here Global B.V. Method and apparatus for providing natural language input in a cartographic system
US9749766B2 (en) * 2015-12-27 2017-08-29 Philip Scott Lyren Switching binaural sound
US10467238B2 (en) * 2016-01-11 2019-11-05 Facebook, Inc. Search perceived performance
US10303646B2 (en) * 2016-03-25 2019-05-28 Microsoft Technology Licensing, Llc Memory sharing for working data using RDMA
US10140017B2 (en) * 2016-04-20 2018-11-27 Google Llc Graphical keyboard application with integrated search
US10305828B2 (en) * 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US10664157B2 (en) * 2016-08-03 2020-05-26 Google Llc Image search query predictions by a keyboard
US10015280B2 (en) * 2016-08-18 2018-07-03 Google Llc Content delivery acceleration system
US10599681B2 (en) * 2016-09-15 2020-03-24 Oracle International Corporation Configurable search categories including related information and related action functionality over a relational database
WO2018146492A1 (en) * 2017-02-10 2018-08-16 Count Technologies Ltd Computer-implemented method of querying a dataset
CN106874467B (zh) * 2017-02-15 2019-12-06 百度在线网络技术(北京)有限公司 用于提供搜索结果的方法和装置
RU2666331C1 (ru) 2017-04-04 2018-09-06 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для создания оффлайн страницы результатов поиска
US10909124B2 (en) * 2017-05-18 2021-02-02 Google Llc Predicting intent of a search for a particular context
EP3642835A4 (en) * 2017-08-03 2021-01-06 Telepathy Labs, Inc. PROACTIVE, INTELLIGENT AND OMNICANAL VIRTUAL AGENT
US20190042071A1 (en) * 2017-08-07 2019-02-07 Microsoft Technology Licensing, Llc Contextual experience based on location
US11126714B2 (en) * 2017-11-29 2021-09-21 Arm Limited Encoding of input to storage circuitry
US20190171728A1 (en) * 2017-12-01 2019-06-06 Microsoft Technology Licensing, Llc Contextual predictive type-ahead query suggestions
US11645277B2 (en) * 2017-12-11 2023-05-09 Google Llc Generating and/or utilizing a machine learning model in response to a search request
US10874947B2 (en) * 2018-03-23 2020-12-29 Sony Interactive Entertainment LLC Connecting a player to expert help in real-time during game play of a gaming application
US11544591B2 (en) * 2018-08-21 2023-01-03 Google Llc Framework for a computing system that alters user behavior
US10991364B1 (en) * 2018-09-18 2021-04-27 Amazon Technologies, Inc. Obtaining context data
US20200117742A1 (en) * 2018-10-15 2020-04-16 Microsoft Technology Licensing, Llc Dynamically suppressing query answers in search
CN112673367A (zh) * 2018-10-31 2021-04-16 华为技术有限公司 用于预测用户意图的电子设备和方法
CN112182181B (zh) * 2018-11-01 2023-08-29 百度在线网络技术(北京)有限公司 智能交互方法和装置
US10673722B2 (en) * 2018-11-06 2020-06-02 Uber Technologies, Inc. Search result suggestions based on dynamic network latency classification
US11023470B2 (en) * 2018-11-14 2021-06-01 International Business Machines Corporation Voice response system for text presentation
US11163842B2 (en) * 2018-11-16 2021-11-02 International Business Machines Corporation Personalized table of contents (TOC) generation based on search results
US11335346B1 (en) * 2018-12-10 2022-05-17 Amazon Technologies, Inc. Natural language understanding processing
US11165270B2 (en) * 2019-03-21 2021-11-02 Microsoft Technology Licensing, Llc Predictive management of battery operation
US10607500B1 (en) * 2019-05-21 2020-03-31 International Business Machines Corporation Providing background music tempo to accompany procedural instructions
US11520677B1 (en) * 2019-09-25 2022-12-06 Aimcast Ip, Llc Real-time Iot device reliability and maintenance system and method
US11580113B2 (en) * 2020-04-20 2023-02-14 Optum, Inc. Generating proactive audiovisual queries using virtual assistant software applications
WO2021263138A1 (en) * 2020-06-25 2021-12-30 Pryon Incorporated Document processing and response generation system
KR20230073297A (ko) * 2020-10-05 2023-05-25 구글 엘엘씨 트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델
US20220122622A1 (en) * 2020-10-20 2022-04-21 Google Llc Cascaded Encoders for Simplified Streaming and Non-Streaming ASR
US11853381B2 (en) * 2020-11-13 2023-12-26 Google Llc Hybrid fetching using a on-device cache
US12002471B2 (en) * 2020-11-17 2024-06-04 Rovi Guides, Inc. Interruption detection and handling by digital assistants
US11805068B2 (en) * 2021-02-23 2023-10-31 Google Llc Selective delaying of provisioning, to assistant device(s), assistant data that is locally utilizable by a corresponding local assistant client
US11715458B2 (en) * 2021-03-23 2023-08-01 Google Llc Efficient streaming non-recurrent on-device end-to-end model
US20220335043A1 (en) * 2021-04-20 2022-10-20 Microsoft Technology Licensing, Llc Unified Multilingual Command Recommendation Model
US11907273B2 (en) * 2021-06-18 2024-02-20 International Business Machines Corporation Augmenting user responses to queries
KR20240068704A (ko) * 2021-09-30 2024-05-17 구글 엘엘씨 준지도 스피치 인식을 위한 대조 샴 네트워크
US11990124B2 (en) * 2021-12-22 2024-05-21 Google Llc Language model prediction of API call invocations and verbal responses
US11625450B1 (en) * 2022-07-07 2023-04-11 Fmr Llc Automated predictive virtual assistant intervention in real time

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285982A (ja) * 2005-03-31 2006-10-19 Microsoft Corp 検索エンジンの関連性を改良するデータマイニング技術
US20180115627A1 (en) * 2016-10-24 2018-04-26 Honeywell International Inc. Internet cache server system

Also Published As

Publication number Publication date
EP4002164A1 (en) 2022-05-25
KR102656217B1 (ko) 2024-04-09
US11853381B2 (en) 2023-12-26
KR20220065669A (ko) 2022-05-20
CN113886437A (zh) 2022-01-04
US20220156340A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
US11034362B2 (en) Portable personalization
US9667742B2 (en) System and method of conversational assistance in an interactive information system
EP2726981B1 (en) Human machine interface unit for a communication device in a vehicle and i/o method using said human machine interface unit
CN113453940A (zh) 交通工具上的查询系统
US20120065815A1 (en) User interface for a vehicle system
US20140188970A1 (en) System and method enabling service and application roaming
EP3167364B1 (en) Operating system startup acceleration
KR102656217B1 (ko) 온-디바이스 캐시를 이용한 하이브리드 페칭
CN106663009B (zh) 操作系统启动加速
JP6564845B2 (ja) オペレーティングシステム起動加速
US20180354433A1 (en) In-Vehicle Infotainment Control Systems and Methods
US20220027413A1 (en) Inline search query refinement for navigation destination entry
EP4369186A1 (en) Control method and apparatus, device, and storage medium
CN113805698B (zh) 一种执行指令确定方法、装置、设备及存储介质
CN113791841A (zh) 一种执行指令确定方法、装置、设备及存储介质
CN113791840A (zh) 一种管理系统、管理方法、装置、设备及存储介质
CN116472516A (zh) 检测和补充各种车辆计算设备能力的自动化助理
JP7407934B2 (ja) 情報処理システム及び情報処理方法
US20240240959A1 (en) Navigation Route Sharing
CN118474331A (zh) 增强现实眼镜、车载信息系统及其交互方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230816

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240206