複数の図にわたって繰り返される参照番号は、様々な実装形態において同じ特徴を識別するものである。
概観
本開示の例示的な態様は、1つまたは複数のコンピュータアプリケーションから利用可能なアクションを選択し、ユーザに提供するためのシステムおよび関係する方法を対象とする。本明細書のシステムおよび関係する方法は、それを通して、コンピューティングシステムが、モバイルデバイス上に存在するアプリケーションなど、1つまたは複数のコンピューティングアプリケーションによって実行され得るコンテキスト関係アクションについてのプロンプト、提案、またはヒントを(たとえば、「サーフェスチップ(surface chip)」内で)ユーザにインテリジェントに提供することができる、(たとえば、あらかじめ定義されたアプリケーションプログラミングインターフェース(API)を含む)システムまたはプラットフォームを提供し得る。そうする際に、システムおよび関係する方法は、ガイド付きの人間機械対話プロセスによって、以下でさらにより詳細に説明するように、技術的タスクの実行において、ユーザを支援し得る。コンピューティングシステムは、コンテキストデータ(たとえば、コンピューティングシステムによって表示、検出、またはさもなければ処理された情報)から、セマンティックエンティティを検出する、(たとえば、1つまたは複数の機械学習モデルを含む)人工知能システムを含み得る。コンピューティングシステムは、たとえば、あらかじめ定義されたAPIを通して、コンピュータアプリケーションに問い合わせるか、またはさもなければそれと対話して、コンピュータアプリケーションから利用可能なコンテキスト関係アクションを受信することができる。あらかじめ定義されたAPIは、コンピューティングシステムおよびコンピュータアプリケーションがどのように対話するかについてのルール、プロトコル、または他の情報を表すことができる。1つまたは複数のインジケータ(たとえば、視覚インジケータ)が、コンピュータアプリケーションの利用可能なアクションを示すために、ユーザに提供され得る。この構成またはプラットフォームによって、本明細書で説明するようなコンピューティングシステムとインターフェースするように構成されるアプリケーションを設計するように、アプリケーション開発者を促すことができる。結果として、コンピューティングシステムは、コンピュータアプリケーションからの関連のあるプロンプト、提案、またはヒントを、より高信頼、インテリジェント、および有用な方法で、たとえば、技術的タスクの実行中にユーザをガイドするように、ユーザに提供することができる。
一例として、コンピューティングシステムは、レストラン名など、ユーザインターフェースにおいて表示されたテキストによって言及された1つまたは複数のセマンティックエンティティを認識することができる。コンピューティングシステムは、(たとえば、あらかじめ定義されたAPIまたは他のプロトコルに従って)コンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供することができる。データは、レストラン名、および/または、レストラン名がユーザインターフェースにおいて(たとえば、テキストメッセージングアプリケーションにおいて、ウェブブラウジングアプリケーションにおいて表示された記事などにおいて)表示された位置もしくはコンテキストについての追加の情報を含み得る。コンピューティングシステムは、セマンティックエンティティを記述するデータに応答して、コンピュータアプリケーションから1つまたは複数のアプリケーション出力を(たとえば、あらかじめ定義されたAPIまたは他のプロトコルに従って)受信することができる。たとえば、コンピュータアプリケーションは、あらかじめ定義されたAPIによって指定されたルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。コンピューティングシステムは、ユーザに、コンピュータアプリケーションから利用可能なアクション(たとえば、レストラン名とともに表示されたテキストを翻訳すること、予約アプリケーションを使用して予約すること、レビューアプリケーションを使用して、レビューを読むこと、および/またはナビゲーションアプリケーションを使用して、レストランまでナビゲートすること)を表すかまたは提案するインジケータを提供することができる。
重要なことには、ユーザは、本明細書で説明するシステム、プログラム、または特徴がユーザ情報(たとえば、周囲音声、ユーザインターフェースにおいて提示されたテキストなど)の収集を可能にし得るか否かと、いつそうであるかの両方について、ユーザが選定を行うことを可能にする制御を提供され得る。追加として、いくつかのデータは、個人を特定可能な情報が除去されるように、記憶または使用される前に1つまたは複数の方法で扱われ得る。たとえば、ユーザの識別情報は、ユーザについて個人を特定可能な情報を決定することができないように扱われ得る。したがって、ユーザは、何の情報がユーザについて収集されるか、どのようにその情報が使用されるか、および何の情報がユーザに提供されるかに対する制御を有し得る。
本開示の一態様によれば、コンピューティングシステムは、機械学習モデル(たとえば、認識モデル)と、1つまたは複数のコンピュータアプリケーションとを含み得る。機械学習モデルは、コンテキストデータを含むモデル入力を受信すること、および、モデル入力によって言及された1つまたは複数のセマンティックエンティティを表すモデル出力を出力することを行うように構成され得る。コンテキストデータの例には、ユーザインターフェースにおいて表示されたテキスト、コンピューティングシステムによって再生もしくは処理された音声、コンピューティングシステムによって検出された音声、ユーザの位置(たとえば、コンピューティングシステムのモバイルコンピューティングデバイスの位置)についての情報、カレンダーデータ、および/または連絡先データが含まれ得る。たとえば、コンテキストデータは、コンピューティングシステムのマイクロフォンによって検出された周囲音声、および/または通話中に処理された電話音声を含み得る。カレンダーデータは、将来のイベントまたは計画(たとえば、フライト、ホテルの予約、ディナーの計画など)を表すことができる。モデル出力によって表され得る例示的なセマンティックエンティティは、テキストおよび/または音声において認識された単語または句を含む。追加の例には、市の名前、州の名前、街路名、近くの集客施設の名前など、ユーザの位置についての情報が含まれる。
コンピューティングシステムは、1つまたは複数のコンピュータアプリケーションに、1つまたは複数のセマンティックエンティティを記述するデータを提供するように構成され得る。データは、セマンティックエンティティ、および/またはセマンティックエンティティについての追加のコンテキスト情報であり得るか、またはそれを含み得る。たとえば、データは、たとえば、他の言語へのテキストの翻訳、コンピューティングシステムによって再生された音声のテキストキャプション、たとえば、車椅子ユーザのための、1つまたは複数の特定のビルを利用する方法に関する情報、あるいは、コンピューティングシステムによって再生されたビデオにおいて認識された曲の名前を含み得る。データはまた、曲を演奏するアーティストの名前など、他の関連情報を含み得る。
コンピューティングシステムは、1つまたは複数のセマンティックエンティティを記述するデータの提供に応答して、1つまたは複数のコンピューティングアプリケーションから、1つまたは複数のアプリケーション出力を受信するように構成され得る。各コンピュータアプリケーションから受信されたアプリケーション出力は、1つまたは複数のセマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。上記で説明した例を使用するために、アプリケーション出力は、1つまたは複数の他の言語へのテキストの翻訳、たとえば、聴覚障害をもつユーザのための、コンピューティングシステムによって再生された音声のテキストキャプション、たとえば、車椅子ユーザのための、1つまたは複数の特定のビルを利用する方法に関する情報、あるいは、音楽ストリーミングアプリケーションによってストリーミングされ得る、曲および/またはアーティストの名前を含み得る。別の例として、(たとえば、ユーザが訪問するつもりである)市の名前を含むセマンティックエンティティの受信に応答して、アプリケーション出力は、旅行予約アプリケーションからの、その市において利用可能である、可能な宿泊および/またはレンタカーを含み得る。
コンピューティングシステムは、対応するコンピュータアプリケーションの利用可能なアクションのうちの1つまたは複数を表す、少なくとも1つのインジケータをユーザに提供するように構成され得る。インジケータは、利用可能なアクションを記述する単語または句など、ユーザインターフェースにおいて提示されたグラフィカルインジケータであり得るか、またはそれを含み得る。たとえば、曲名に関する上記の例では、インジケータは、ビデオにおいて認識された曲の名前の隣の「再生」というラベルが付いたボタンであり得るか、またはそれを含み得る。別の例として、グラフィカルインジケータは、他の言語へのテキストの翻訳、再生された音声のテキストキャプション、および/または車椅子専用入口の位置など、他のアクセシビリティ情報を含み得る。別の例として、グラフィカルインジケータは、ユーザインターフェースにおいて表示されたか、または周囲音声(たとえば、コンピューティングデバイスによって処理された、かつ/またはコンピューティングデバイスのマイクロフォンによって検出された音声)に含まれた、映画のタイトルを含むセマンティックエンティティに基づく、映画の時間および/または映画館の位置であり得るか、またはそれらを含み得る。また別の例として、インジケータは、ユーザに対して再生された音声インジケータを含み得る。たとえば、音声インジケータは、ユーザインターフェースまたは周囲音声において現れるテキストが異なる言語に翻訳されるべきであるか否かを、ユーザに尋ねる声、または他の音を含み得る。
インジケータはまた、アクションを実行するために利用可能であるコンピュータアプリケーションについての識別情報を含むか、または表すこともできる。一例として、いくつかの実装形態では、コンピュータアプリケーションは、識別情報を含み得る、美的特徴を表す様式化出力を提供することができる。コンピューティングシステムは、様式化出力に基づいて、ユーザインターフェースにおいてインジケータを表示することができる。美的特徴は、コンピュータアプリケーションの名前、ロゴ、フォント、色、形状、ユーザインターフェース内の位置、および/または任意の他の好適な視覚特徴のうちの1つまたは複数を含み得る。
いくつかの実装形態では、コンピューティングシステムは、人工知能システム(たとえば、「Googleアシスタント」)を含み得る。人工知能システムは、機械学習モデルを含むことができ、本明細書で説明する動作の一部または全部を実行する。人工知能システムは、1つまたは複数のコンピュータアプリケーションとは別個で異なり得るが、1つまたは複数のコンピュータアプリケーションと通信することが可能であり得る。人工知能システムは、コンピュータアプリケーションに、1つまたは複数のセマンティックエンティティを記述するデータを提供することができ、あらかじめ定義されたアプリケーションプログラミングインターフェースを介して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信することができる。
いくつかの実装形態では、本明細書で説明する動作の一部または全部が、それらの実行を要求するユーザ入力なしに、事前に実行され得る。コンピューティングシステム(たとえば、人工知能システム)は、そのようなアクションを要求するユーザ入力なしに、ユーザがコンピューティングデバイスを使用中である間に、コンテキストデータを識別することができる。たとえば、テキストの音訳、音声のテキストキャプション、および/または他のアクセシビリティ情報が、その情報のための先行するユーザ入力要求なしに、システムによって事前に提供され得る。そのような情報は、たとえば、ユーザがあるタイプの情報の受信に関心があることが知られている場合、提供され得る。たとえば、ユーザは、ユーザインターフェースにおいて表示される記事を読んでいることがある。コンピューティングシステムは、記事のテキストの一部または全部を機械学習モデルに入力し、テキスト内のセマンティックエンティティを表したモデル出力を受信することができる。セマンティックエンティティは、製品の名前、利用しやすい入口および出口、人々、イベント、または関心を引く他の項目を含み得る。コンピューティングシステムは、ユーザインターフェースにおいて、コンピュータアプリケーションから利用可能なアクションを表す1つまたは複数のインジケータを提示することができる。インジケータは、場合によっては、利用可能なアクションについてのさらなる情報と結合された、セマンティックエンティティの強調(たとえば、強調表示、輪郭付き、下線付きなど)を含み得る。たとえば、セマンティックエンティティは、ビルの利用しやすい入口および/または出口の位置を含むことがあり、インジケータは、ナビゲーションアプリケーションが、車椅子にとって好適な経路など、好適に利用しやすい経路に沿って、入口/出口までユーザをナビゲートするために利用可能であることを、ユーザに知らせることができる。別の例では、セマンティックエンティティは、記事のテキストにおいて述べられた製品の名前を含むことがあり、インジケータは、ショッピングアプリケーション(たとえば、Amazonアプリ)が、アイテムの購入などのアクションを実行するために利用可能であることを、ユーザに知らせることができる。
しかしながら、いくつかの実装形態では、少なくとも、少なくとも1つのインジケータを提供する動作が、ユーザ入力に応答して反応的に実行され得る。ユーザは、1つまたは複数のコンピュータアプリケーションから利用可能なアクションを明確に要求するアクション(たとえば、長押し、ダブルタップ、要求を話すことなど)を実行することができる。代替的に、ユーザは、コピーアンドペーストするために、テキストを強調表示することなど、利用可能なアクションを明確に要求しないアクションを実行することができる。コンピューティングシステムは、ユーザによるテキストの強調表示に応答して、インジケータを提供することができる。たとえば、ユーザは、市の名前を強調表示することができ、コンピューティングシステムは、その市に関して利用可能なアクション(たとえば、その市における宿泊を予約すること)を表すインジケータを提供することができる。
いくつかの実装形態では、コンピューティングシステムは、コンピューティングシステムによって受信されたアプリケーション出力と一致する利用可能なアクションのすべてよりも少ないものを表すインジケータを提供するように構成され得る。言い換えれば、コンピューティングシステムは、複数の利用可能なアクションを表す複数のアプリケーション出力を(たとえば、複数のコンピュータアプリケーションから)受信することができる。
コンピューティングシステムは、たとえば、様々なファクタまたはデータに基づいて、ユーザに提供するために、複数の利用可能なアクションの適切なサブセットなど、サブセットを選択することができる。例には、1つまたは複数のセマンティックエンティティとの関連性、過去のユーザ対話、1つまたは複数のセマンティックエンティティのタイプ、あるいは1つまたは複数の利用可能なアクションのタイプが含まれる。
一例として、利用可能なアクションは、セマンティックエンティティのタイプと、利用可能なアクションのタイプとの間の比較に基づいて選択され得る。セマンティックエンティティタイプは、集客施設(たとえば、レストラン、ランドマークなど)、メディア(たとえば、テキスト、曲、ビデオなど)、位置(たとえば、市、街路など)、製品、および/または人々(たとえば、歴史上の人物、著者、連絡先など)を含み得る。利用可能なアクションタイプは、ナビゲーション、予約(たとえば、宿泊、食事など)、メディア(たとえば、音声からのキャプションテキスト、音訳されたテキスト、曲、画像、ビデオなど)の表示、および/または必ずしもアクション可能であるとは限らない情報の提供(たとえば、メニュー、キャプションテキスト、翻訳、または他の情報の表示)を含み得る。利用可能なアクションは、好適な利用可能なアクションタイプをセマンティックエンティティとマッチングすることによって選択され得る。たとえば、メディアタイプのセマンティックエンティティの提供、および複数の利用可能なアクションタイプの受信に応答して、コンピューティングシステムは、メディアを表示することを含む、利用可能なアクションを選択(または選好)し得る。
別の例として、利用可能なアクションは、過去のユーザ対話に基づいて選択され得る。過去のユーザ対話の例には、特定のタイプの利用可能なアクションを受信するための選好、または特定のコンピュータアプリケーション、もしくはコンピュータアプリケーションのグループからのアクションについての選好が含まれる。したがって、コンピューティングシステムは、コンピューティングデバイスのユーザに合わせて、コンピュータアプリケーションから利用可能なアクションの選択をカスタマイズすることができる。
いくつかの実装形態では、利用可能なアクションの選択が、機械学習モデルによって実行され得る。「ランキング機械学習モデル」は、各コンピュータアプリケーションから受信された出力によって表される、1つまたは複数の利用可能なアクションを表す入力を受信するように構成され得る。入力の受信に応答して、機械学習モデルは、利用可能なアクションのランキングを表すランキング出力を出力するように構成され得る。コンピューティングシステムは、ランキング機械学習モデルに、利用可能なアクションを表す入力を入力すること、および、ランキング機械学習モデルの出力として、それぞれの出力のランキングを表すランキング出力を受信することを行うように構成され得る。コンピューティングシステムは、ランキング出力に基づいて、ユーザに提示するために利用可能なアクションを選択するように構成され得る。たとえば、最高ランクのアクション(たとえば、最高の単一の結果、上位2つのアクション、3つのアクションなど)が、ユーザに提示するために選択され得る。
いくつかの実装形態では、コンピューティングシステムは、ユーザによって後で見るために、インジケータを含むかまたは表す「ブックマーク」などの情報を記憶するように構成され得る。コンピュータシステムは、後で見るために、インジケータが保存されることを要求する、ユーザ入力アクションを検出するように構成され得る。コンピューティングシステムは、インジケータに関連付けられる(たとえば、その近くに表示される)「ブックマーク」アイコンを表示することができる。ユーザは、「ブックマーク」アイコンをタップまたはタッチして、後で見るためにメモリにインジケータを保存することができる。ユーザは、ユーザが以前に提供されたインジケータを再訪問することを望むときに取り出すことができる、「後のために保存済み」パネルにおいて、保存済みインジケータを見ることができる。
いくつかの実装形態では、保存済みインジケータは、たとえば、インジケータの作成および/または表示に関連付けられたコンテキストデータに基づいて、まとめてグループ化および/または保存され得る。保存済みインジケータは、特定のエンティティ、イベント、または位置に関係するとしてまとめてグループ化され、かつ/あるいは他の情報に基づいてまとめてグループ化され得る。たとえば、保存済みインジケータは、インジケータに関連付けられた利用可能なアクションおよび/もしくはコンピュータアプリケーションのタイプ、インジケータがユーザに提供された時間におけるモバイルコンピューティングデバイスの位置、利用可能なアクションの焦点の位置(たとえば、利用可能な宿泊リストが位置する市、そこへの航空券がオファーされた目的地の市)、ならびに/または、日付もしくは日付の範囲に基づく時間的なグループ化(たとえば、インジケータが、特定の休暇または旅行についてまとめてグループ化され得る)に基づいて、ある人物(たとえば、連絡先)に関係するとして、まとめてグループ化され得る。
いくつかの実装形態では、コンピューティングシステムは、ローカルに、たとえば、モバイルコンピューティングデバイス上で、本明細書で説明する動作の一部または全部を実行するように構成され得る。モバイルデバイスは、本明細書で説明する機械学習モデルを記憶し、機械学習モデルをローカルに実行することができる。ユーザのモバイルデバイス上のローカルな実行によって、全体としてシステムのレイテンシが低減され、ならびに、モバイルデバイスからリモートに位置する1つまたは複数のバックエンドサーバコンピュータとのネットワークトラフィックが低減され得る。ユーザは、(たとえば、クラウドコンピューティングのために)情報がオフデバイスで送られる前に、通知またはシグナリングされ得る。そのようなシグナリングによって、本明細書で説明する特徴の使用に伴うユーザの信頼を向上させることができる。たとえば、ユーザは、特定のタイプのコンテキストデータ(たとえば、マイクロフォンを用いて検出された周囲音声、および/または通話中に収集された音声)がオフデバイスで送信されるか否か、またはいつそうされるかを知ることに、特に関心があり得る。したがって、いくつかの実装形態では、コンテキストデータのオフデバイス送信を可能にする、ユーザからの同意が受けられない限り、一部または全部のコンテキストデータが、オンデバイスのままであり得る。
本開示のシステムおよび方法は、いくつかの技術的効果および利益を提供することができる。上記の数か所で述べたように、システムおよび関係する方法は、ユーザを支援するために事前の方法で動作し得る。そうする際に、システムおよび方法は、たとえば、ユーザのモバイルデバイスを介して、システムに与えられるユーザ入力の数を低減し、それによって、さもなければそのような入力(たとえば、検索エンジンを介した要求または検索)を処理するために必要になる、計算および電力に関係するリソースを節約し得る。たとえば、ユーザデバイスにおいてローカルに記憶および実行される機械学習モデルを介した、方法のオンデバイス実装形態によって、ユーザを支援するために情報を提供する際のレイテンシを低減することができ、さらに、さもなければ、リモートに位置するサーバコンピュータからそのような情報を要求/提供するために必要になる、ネットワークトラフィックを低減することができる。上記で説明したタイプのプロンプトおよび/または他の情報の事前の提供によって、たとえば、車椅子ユーザをビルの利用しやすい入口までナビゲートするために、または、聴覚障害のある人に、音声からの技術情報のテキストキャプションを提供するために、ガイド付きの人間機械対話を容易にする方法で、情報を提示することによって、ユーザデバイスにおける画面スペースの効率的な使用を提供することもできる。
次に、図を参照しながら、本開示の例示的な実施形態について、さらに詳細に説明する。
例示的なデバイスおよびシステム
図1Aは、本開示の例示的な実施形態による、1つまたは複数のコンピュータアプリケーションから利用可能なアクションを選択し、ユーザに提供する、例示的なコンピューティングシステム100のブロック図を示す。システム100は、ネットワーク180上で通信可能に結合される、ユーザコンピューティングデバイス102、サーバコンピューティングシステム130、および/またはトレーニングコンピューティングシステム150を含み得る。
ユーザコンピューティングデバイス102は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲームコンソールもしくはコントローラ、ウェアラブルコンピューティングデバイス、埋込みコンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、任意のタイプのコンピューティングデバイスであり得る。
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112と、メモリ114とを含む。1つまたは複数のプロセッサ112は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であり得、1つのプロセッサ、または動作可能に接続される複数のプロセッサであり得る。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ114は、データ116と、ユーザコンピューティングデバイス102に動作を実行させるために、プロセッサ112によって実行される命令118とを記憶することができる。
ユーザコンピューティングデバイス102は、1つまたは複数のコンピュータアプリケーション119を記憶するか、または含み得る。コンピュータアプリケーションは、本明細書で説明するように、様々な動作を実行し、アプリケーション出力を提供するように構成され得る。
ユーザコンピューティングデバイス102は、人工知能システム120を記憶するか、または含み得る。人工知能システム120は、本明細書で説明する動作の一部または全部を実行することができる。人工知能システム120は、1つまたは複数のコンピュータアプリケーション119とは別個で異なり得るが、1つまたは複数のコンピュータアプリケーション119と通信することが可能であり得る。
人工知能システム120は、1つまたは複数の認識モデル122、および/あるいは1つまたは複数のランキングモデル124を含み得る。認識モデル122、および/あるいは1つまたは複数のランキングモデル124は、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)、または他の多層非線形モデルなど、様々な機械学習モデルであり得るか、またはさもなければそれらを含み得る。ニューラルネットワークは、リカレントニューラルネットワーク(たとえば、長短期メモリリカレントニューラルネットワーク)、フィードフォワードニューラルネットワーク、または他の形態のニューラルネットワークを含み得る。例示的な認識モデル122については、図2Aを参照しながら説明する。例示的なランキングモデル124については、図2Bを参照しながら説明する。
いくつかの実装形態では、1つまたは複数の認識モデル122、および/あるいは1つまたは複数のランキングモデル124は、ネットワーク180上でサーバコンピューティングシステム130から受信され、ユーザコンピューティングデバイスメモリ114内に記憶され、1つまたは複数のプロセッサ112によって使用またはさもなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス102は、(たとえば、認識モデル122の複数のインスタンスにわたって並列認識動作を実行するために)単一の認識モデル122の複数の並列インスタンスを実装することができる。いくつかの実装形態では、ユーザコンピューティングデバイス102は、(たとえば、ランキングモデル124の複数のインスタンスにわたって並列ランキング動作を実行するために)ランキングモデル124の複数の並列インスタンスを実装することができる。
より詳細には、認識モデル122は、コンテキストデータによって表された1つまたは複数のセマンティックエンティティを認識するように構成され得る。認識モデル122は、コンテキストデータを含むモデル入力を受信すること、および、モデル入力によって言及された1つまたは複数のセマンティックエンティティを表すモデル出力を出力することを行うように構成され得る。コンテキストデータの例には、ユーザインターフェースにおいて表示されたテキスト、コンピューティングシステムによって再生または処理された音声、コンピューティングシステムによって検出された音声、ユーザの位置(たとえば、コンピューティングシステムのモバイルコンピューティングデバイスの位置)についての情報、カレンダーデータ、および/または連絡先データが含まれ得る。たとえば、コンテキストデータは、コンピューティングシステムのマイクロフォンによって検出された周囲音声、および/または通話中に処理された電話音声を含み得る。カレンダーデータは、将来のイベントまたは計画(たとえば、フライト、ホテルの予約、ディナーの計画など)を表すことができる。モデル出力によって表され得る例示的なセマンティックエンティティは、テキストおよび/または音声において認識された単語または句を含む。追加の例には、市の名前、州の名前、街路名、近くの集客施設の名前など、ユーザの位置についての情報が含まれる。
ランキングモデル124は、各コンピュータアプリケーションから受信された出力によって表される、1つまたは複数の利用可能なアクションを表す入力を受信するように構成され得る。入力の受信に応答して、機械学習モデルは、利用可能なアクションのランキングを表すランキング出力を出力するように構成され得る。コンピューティングシステムは、ランキング機械学習モデルに、利用可能なアクションを表す入力を入力すること、および、ランキング機械学習モデルの出力として、それぞれの出力のランキングを表すランキング出力を受信することを行うように構成され得る。コンピューティングシステムは、ランキング出力に基づいて、ユーザに提示するために利用可能なアクションを選択するように構成され得る。たとえば、最高ランクのアクション(たとえば、最高の単一の結果、上位2つのアクション、3つのアクションなど)が、ユーザに提示するために選択され得る。
追加または代替として、人工知能システム140は、クライアントサーバ関係に従ってユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130内に含まれるか、またはさもなければ記憶され、それによって実装され得る。たとえば、人工知能システム140は、認識モデル142および/またはランキングモデル144を含み得る。認識モデル142および/またはランキングモデル144は、ウェブサービスの一部分として、サーバコンピューティングシステム130によって実装され得る。したがって、1つまたは複数のモデル122、124が、ユーザコンピューティングデバイス102において記憶および実装され得、かつ/あるいは、1つまたは複数のモデル142、144が、サーバコンピューティングシステム130において記憶および実装され得る。
ユーザコンピューティングデバイス102はまた、ユーザ入力を受信する、1つまたは複数のユーザ入力構成要素126を含み得る。たとえば、ユーザ入力構成要素126は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに対してセンシティブである、タッチセンシティブ構成要素(たとえば、タッチセンシティブディスプレイ画面、またはタッチパッド)であり得る。タッチセンシティブ構成要素は、仮想キーボードを実装するための働きをすることができる。他の例示的なユーザ入力構成要素には、マイクロフォン、従来のキーボード、またはそれによってユーザが通信を入力することができる他の手段が含まれる。
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132と、メモリ134とを含む。1つまたは複数のプロセッサ132は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であり得、1つのプロセッサ、または動作可能に接続される複数のプロセッサであり得る。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ134は、データ136と、サーバコンピューティングシステム130に動作を実行させるために、プロセッサ132によって実行される命令138とを記憶することができる。
いくつかの実装形態では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはさもなければそれによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、逐次計算アーキテクチャ、並列計算アーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
上記で説明したように、サーバコンピューティングシステム130は、1つまたは複数の機械学習モデル142、144を含み得る、人工知能システムを記憶するか、またはさもなければ含み得る。たとえば、モデル142、144は、ニューラルネットワーク(たとえば、ディープリカレントニューラルネットワーク)、または他の多層非線形モデルなど、様々な機械学習モデルであり得るか、またはさもなければそれらを含み得る。例示的なモデル142、144については、図2Aおよび図2Bを参照しながら説明する。
サーバコンピューティングシステム130は、ネットワーク180上で通信可能に結合されるトレーニングコンピューティングシステム150との対話を介して、モデル142、144をトレーニングすることができる。トレーニングコンピューティングシステム150は、サーバコンピューティングシステム130とは別個であり得るか、またはサーバコンピューティングシステム130の一部分であり得る。
トレーニングコンピューティングシステム150は、1つまたは複数のプロセッサ152と、メモリ154とを含む。1つまたは複数のプロセッサ152は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であり得、1つのプロセッサ、または動作可能に接続される複数のプロセッサであり得る。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ154は、データ156と、トレーニングコンピューティングシステム150に動作を実行させるために、プロセッサ152によって実行される命令158とを記憶することができる。いくつかの実装形態では、トレーニングコンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはさもなければそれによって実装される。
トレーニングコンピューティングシステム150は、たとえば、誤差逆伝播法(backwards propagation of errors)など、様々なトレーニングまたは学習技法を使用して、サーバコンピューティングシステム130において記憶された機械学習モデル142、144をトレーニングする、モデルトレーナー160を含み得る。いくつかの実装形態では、誤差逆伝播法を実行することは、打ち切り型通時的逆伝播(truncated backpropagation through time)を実行することを含み得る。モデルトレーナー160は、トレーニングされているモデルの汎化機能を改善するために、いくつかの汎化技法(たとえば、重み減衰、ドロップアウトなど)を実行することができる。
具体的には、モデルトレーナー160は、トレーニングデータ162のセットに基づいて、モデル122、124、142、144のうちの1つまたは複数をトレーニングすることができる。トレーニングデータ162は、たとえば、ラベル付きまたはラベルなしの画像、音など、公的に利用可能なデータセットを含み得る。
いくつかの実装形態では、ユーザが同意した場合、トレーニング例が、ユーザコンピューティングデバイス102によって(たとえば、ユーザコンピューティングデバイス102のユーザによって以前に提供された通信に基づいて)提供され得る。したがって、そのような実装形態では、ユーザコンピューティングデバイス102に提供されたモデル122、124は、ユーザコンピューティングデバイス102から受信されたユーザ固有の通信データにおいて、トレーニングコンピューティングシステム150によってトレーニングされ得る。いくつかの事例では、このプロセスは、モデルの個別化と呼ばれることがある。
モデルトレーナー160は、所望の機能を提供するために利用されるコンピュータ論理を含む。モデルトレーナー160は、ハードウェア、ファームウェア、および/または汎用プロセッサを制御するソフトウェアにおいて実装され得る。たとえば、いくつかの実装形態では、モデルトレーナー160は、記憶デバイス上に記憶され、メモリ内にロードされ、1つまたは複数のプロセッサによって実行される、プログラムファイルを含む。他の実装形態では、モデルトレーナー160は、RAMハードディスク、または光もしくは磁気媒体など、有形のコンピュータ可読記憶媒体内に記憶される、コンピュータ実行可能命令の1つまたは複数のセットを含む。
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなど、任意のタイプの通信ネットワークであり得、任意の数のワイヤードまたはワイヤレスリンクを含み得る。一般に、ネットワーク180上の通信は、多種多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSL)を使用して、任意のタイプのワイヤードおよび/またはワイヤレス接続を介して搬送され得る。
図1Aは、本開示を実装するために使用され得る、1つの例示的なコンピューティングシステムを示す。他のコンピューティングシステムも同様に使用され得る。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス102は、モデルトレーナー160と、トレーニングデータセット162とを含み得る。そのような実装形態では、モデル122、124のトレーニングと使用の両方が、ユーザコンピューティングデバイス102においてローカルに行われ得る。そのような実装形態のうちのいくつかでは、ユーザコンピューティングデバイス102は、ユーザ固有のデータに基づいて、モデル122、124を個別化するために、モデルトレーナー160を実装することができる。
図1Bは、本開示の例示的な実施形態に従って、1つまたは複数のコンピュータアプリケーションから利用可能なアクションを選択し、ユーザに提供するための例示的なコンピューティングデバイス10のブロック図を示す。コンピューティングデバイス10は、ユーザコンピューティングデバイス(たとえば、モバイルコンピューティングデバイス)、またはサーバコンピューティングデバイスであり得る。
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習モデルを含む。たとえば、各アプリケーションは、機械学習モデルを含み得る。例示的なアプリケーションには、テキストメッセージングアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどが含まれる。
図1Bに示されるように、各アプリケーションは、たとえば、1つまたは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加の構成要素など、コンピューティングデバイスのいくつかの他の構成要素と通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使用して、各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使用されるAPIは、そのアプリケーションに固有である。
図1Cは、本開示の例示的な実施形態に従って実行する、例示的なコンピューティングデバイス50のブロック図を示す。コンピューティングデバイス50は、ユーザコンピューティングデバイス、またはサーバコンピューティングデバイスであり得る。
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信している。例示的なアプリケーションには、テキストメッセージングアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどが含まれる。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたって共通のAPI)を使用して、中央インテリジェンスレイヤ(および、その中に記憶されたモデル)と通信することができる。
中央インテリジェンスレイヤは、いくつかの機械学習モデルを含む。たとえば、図1Cに示されるように、それぞれの機械学習モデル(たとえば、モデル)は、アプリケーションごとに提供され、中央インテリジェンスレイヤによって管理され得る。他の実装形態では、2つ以上のアプリケーションが、単一の機械学習モデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンスレイヤは、アプリケーションのすべてのための単一のモデル(たとえば、単一のモデル)を提供することができる。いくつかの実装形態では、中央インテリジェンスレイヤは、コンピューティングデバイス50のオペレーティングシステム内に含まれるか、またはさもなければそれによって実装される。
中央インテリジェンスレイヤは、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス50のためのデータの集中リポジトリであり得る。図1Cに示されるように、中央デバイスデータレイヤは、たとえば、1つまたは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加の構成要素など、コンピューティングデバイスのいくつかの他の構成要素と通信することができる。いくつかの実装形態では、中央デバイスデータレイヤは、API(たとえば、プライベートAPI)を使用して、各デバイス構成要素と通信することができる。
図1Dは、本開示の態様による、1つまたは複数のコンピュータアプリケーション172から利用可能なアクションを選択し、ユーザに提供するように構成される、例示的なユーザコンピューティングデバイス170(たとえば、モバイルコンピューティングデバイス)を示す。より具体的には、ユーザコンピューティングデバイス170は、1つまたは複数のコンピュータアプリケーション172に、1つまたは複数のセマンティックエンティティを記述するデータ174を提供するように構成され得る。データは、セマンティックエンティティ、および/またはセマンティックエンティティについての追加のコンテキスト情報であり得るか、またはそれを含み得る。たとえば、データは、コンピューティングシステムによって再生されたビデオにおいて認識された曲の名前を含み得る。データはまた、曲を演奏するアーティストの名前を含み得る。コンピューティングシステムは、あらかじめ定義されたAPIまたは他のプロトコルに従って、コンピュータアプリケーションに、セマンティックエンティティを記述するデータ174を提供することができる。
ユーザコンピューティングデバイス170は、1つまたは複数のコンピュータアプリケーション172への、1つまたは複数のセマンティックエンティティを記述するデータ174の提供に応答して、1つまたは複数のコンピューティングアプリケーション172から、1つまたは複数のアプリケーション出力176をそれぞれ受信するように構成され得る。各コンピュータアプリケーションから受信されたアプリケーション出力176は、1つまたは複数のセマンティックエンティティに関して、対応するコンピュータアプリケーション172の1つまたは複数の利用可能なアクションを表すことができる。上記で説明した例では、アプリケーション出力176は、音楽ストリーミングアプリケーションによってストリーミングされ得る、曲および/またはアーティストの名前を含み得る。別の例として、(たとえば、ユーザが訪問するつもりである)市の名前を含むセマンティックエンティティを含むデータ174の受信に応答して、アプリケーション出力176は、旅行予約アプリケーションからの、その市において利用可能である、可能な宿泊および/またはレンタカーを含み得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。
ユーザコンピューティングデバイス170は、対応するコンピュータアプリケーション172の利用可能なアクションのうちの1つまたは複数を表す、少なくとも1つのインジケータ178をユーザに提供するように構成され得る。インジケータ178は、利用可能なアクションを記述する単語または句など、ユーザインターフェースにおいて提示されたグラフィカルインジケータであり得るか、またはそれを含み得る。たとえば、上記の例では、インジケータは、ビデオにおいて認識された曲の名前の隣の「再生」というラベルが付いたボタンであり得るか、またはそれを含み得る。別の例として、グラフィカルインジケータは、ユーザインターフェースにおいて表示されたか、または周囲音声(たとえば、コンピューティングデバイスによって処理された、かつ/またはコンピューティングデバイスのマイクロフォンによって検出された音声)に含まれた、映画のタイトルを含むセマンティックエンティティに基づく、映画の時間および/または映画館の位置であり得るか、またはそれらを含み得る。また別の例として、インジケータは、ユーザに対して再生された音声インジケータを含み得る。たとえば、音声インジケータは、ユーザインターフェースまたは周囲音声において現れるテキストが異なる言語に翻訳されるべきであるか否かを、ユーザに尋ねる声、または他の音を含み得る。しかしながら、本明細書で説明するいかなるグラフィカルインジケータも、本開示の範囲内で音声フォーマットにおいて提供され得ることを理解されたい。
インジケータはまた、アクションを実行するために利用可能であるコンピュータアプリケーションについての識別情報を含むか、または表すこともできる。一例として、いくつかの実装形態では、コンピュータアプリケーションは、識別情報を含み得る、美的特徴を表す様式化出力を提供することができる。コンピューティングシステムは、様式化出力に基づいて、ユーザインターフェースにおいてインジケータを表示することができる。美的特徴は、コンピュータアプリケーションの名前、ロゴ、フォント、色、形状、ユーザインターフェース内の位置、および/または任意の他の好適な視覚特徴のうちの1つまたは複数を含み得る。
例示的なモデル配置
図2Aは、本開示の例示的な実施形態による、例示的な認識モデル202のブロック図を示す。いくつかの実装形態では、認識モデル202は、コンテキストデータ204を含むモデル入力を受信すること、および、モデル入力によって言及された1つまたは複数のセマンティックエンティティ206を表すモデル出力を出力することを行うように構成され得る。コンテキストデータ204の例には、ユーザインターフェースにおいて表示されたテキスト、コンピューティングシステムによって再生もしくは処理された音声、コンピューティングシステムによって検出された音声、ユーザの位置(たとえば、コンピューティングシステムのモバイルコンピューティングデバイスの位置)についての情報、カレンダーデータ、および/または連絡先データが含まれ得る。たとえば、コンテキストデータ204は、コンピューティングシステムのマイクロフォンによって検出された周囲音声、および/または(たとえば、通話中、またはビデオ、ポッドキャストなどのメディアを再生する間などに)コンピューティングデバイスによって処理された音声を含み得る。カレンダーデータは、将来のイベントまたは計画(たとえば、フライト、ホテルの予約、ディナーの計画など)を表すことができる。モデル出力によって表され得る例示的なセマンティックエンティティは、テキストおよび/または音声において認識された単語または句を含む。追加の例には、市の名前、州の名前、街路名、近くの集客施設の名前など、ユーザの位置についての情報が含まれる。
図2Bは、各コンピュータアプリケーションから受信された出力によって表される、1つまたは複数の利用可能なアクション252を表す入力を受信するように構成され得る、ランキングモデル250を示す。入力の受信に応答して、機械学習モデルは、利用可能なアクションのランキングを表すランキング出力254を出力するように構成され得る。コンピューティングシステムは、ランキング機械学習モデル250に、利用可能なアクション252を表す入力を入力すること、および、ランキング機械学習モデル250の出力として、それぞれの出力のランキングを表すランキング出力254を受信することを行うように構成され得る。コンピューティングシステムは、ランキング出力254に基づいて、ユーザに提示するために利用可能なアクション252を選択するように構成され得る。たとえば、最高ランクのアクション(たとえば、最高の単一の結果、上位2つのアクション、3つのアクションなど)が、ユーザに提示するために選択され得る。
いくつかの実装形態では、コンピューティングシステムは、人工知能システム(たとえば、「Googleアシスタント」)を含み得る。人工知能システムは、図2Aおよび図2Bを参照しながら上記で説明した機械学習モデル202、250のうちの1つまたは複数を含み得る。人工知能システムは、本明細書で説明する動作の一部または全部を実行することができる。人工知能システムは、1つまたは複数のコンピュータアプリケーションとは別個で異なり得るが、1つまたは複数のコンピュータアプリケーションと通信することが可能であり得る。人工知能システムは、コンピュータアプリケーションに、1つまたは複数のセマンティックエンティティを記述するデータを提供することができ、あらかじめ定義されたアプリケーションプログラミングインターフェースを介して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信することができる。
例示的な方法
図3は、本開示の例示的な実施形態による、1つまたは複数のコンピュータアプリケーションから利用可能なアクションを選択し、ユーザに提供するための例示的な方法300のフローチャート図を示す。図3は、例示および説明の目的で、特定の順序で実行されるステップを示すが、本開示の方法は、具体的に示された順序または配置に限定されない。方法300の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略、再配置、結合、および/または適合され得る。
302において、コンピューティングシステムは、たとえば、図2Bを参照しながら上記で説明したような、ランキング機械学習モデルなどの機械学習モデルに、モデル入力を入力するように構成され得る。モデル入力は、コンテキストデータを含み得る。コンテキストデータの例には、ユーザインターフェースにおいて表示されたテキスト、コンピューティングシステムによって再生もしくは処理された音声、コンピューティングシステムによって検出された音声、ユーザの位置(たとえば、コンピューティングシステムのモバイルコンピューティングデバイスの位置)についての情報、カレンダーデータ、および/または連絡先データが含まれ得る。たとえば、コンテキストデータは、コンピューティングシステムのマイクロフォンによって検出された周囲音声、および/または通話中に処理された電話音声を含み得る。カレンダーデータは、将来のイベントまたは計画(たとえば、フライト、ホテルの予約、ディナーの計画など)を表すことができる。
いくつかの実装形態では、コンピューティングシステムは、人工知能システム(たとえば、「Googleアシスタント」)を含み得る。人工知能システムは、ランキング機械学習モデルを含むことができ、本明細書で説明する動作の一部または全部を実行することができる。人工知能システムは、1つまたは複数のコンピュータアプリケーションとは別個で異なり得るが、1つまたは複数のコンピュータアプリケーションと通信することが可能であり得る。人工知能システムは、コンピュータアプリケーションに、1つまたは複数のセマンティックエンティティを記述するデータを提供することができ、あらかじめ定義されたアプリケーションプログラミングインターフェースを介して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信することができる。
304において、コンピューティングシステムは、機械学習モデル(たとえば、ランキング機械学習モデル)の出力として、コンテキストデータによって言及された1つまたは複数のセマンティックエンティティを表すモデル出力を受信するように構成され得る。モデル出力によって表され得る例示的なセマンティックエンティティは、コンテキストデータによって表されたテキストおよび/または音声において認識された単語または句を含む。追加の例には、市の名前、州の名前、街路名、近くの集客施設の名前など、ユーザの位置についての情報が含まれる。
306において、コンピューティングシステムは、1つまたは複数のコンピュータアプリケーションに、1つまたは複数のセマンティックエンティティを記述するデータを提供するように構成され得る。データは、セマンティックエンティティ、および/またはセマンティックエンティティについての追加のコンテキスト情報であり得るか、またはそれを含み得る。たとえば、データは、コンピューティングシステムによって再生されたビデオにおいて認識された曲の名前を含み得る。データはまた、曲を演奏するアーティストの名前を含み得る。コンピューティングシステムは、あらかじめ定義されたAPIまたは他のプロトコルに従って、コンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供することができる。
308において、コンピューティングシステムは、1つまたは複数のコンピュータアプリケーションへの、1つまたは複数のセマンティックエンティティを記述するデータの提供に応答して、1つまたは複数のコンピューティングアプリケーションから、1つまたは複数のアプリケーション出力をそれぞれ受信するように構成され得る。各コンピュータアプリケーションから受信されたアプリケーション出力は、1つまたは複数のセマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。上記で説明した例では、アプリケーション出力は、音楽ストリーミングアプリケーションによってストリーミングされ得る、曲および/またはアーティストの名前を含み得る。別の例として、(たとえば、ユーザが訪問するつもりである)市の名前を含むセマンティックエンティティの受信に応答して、アプリケーション出力は、旅行予約アプリケーションからの、その市において利用可能である、可能な宿泊および/またはレンタカーを含み得る。
310において、コンピューティングシステムは、対応するコンピュータアプリケーションの利用可能なアクションのうちの1つまたは複数を表す、少なくとも1つのインジケータをユーザに提供するように構成され得る。インジケータは、利用可能なアクションを記述する単語または句など、ユーザインターフェースにおいて提示されたグラフィカルインジケータであり得るか、またはそれを含み得る。たとえば、上記の例では、インジケータは、ビデオにおいて認識された曲の名前の隣の「再生」というラベルが付いたボタンであり得るか、またはそれを含み得る。別の例として、グラフィカルインジケータは、ユーザインターフェースにおいて表示されたか、または周囲音声(たとえば、コンピューティングデバイスによって処理された、かつ/またはコンピューティングデバイスのマイクロフォンによって検出された音声)に含まれた、映画のタイトルを含むセマンティックエンティティに基づく、映画の時間および/または映画館の位置であり得るか、またはそれらを含み得る。また別の例として、インジケータは、ユーザに対して再生された音声インジケータを含み得る。たとえば、音声インジケータは、ユーザインターフェースまたは周囲音声において現れるテキストが異なる言語に翻訳されるべきであるか否かを、ユーザに尋ねる声、または他の音を含み得る。しかしながら、本明細書で説明するいかなるグラフィカルインジケータも、本開示の範囲内で音声フォーマットにおいて提供され得ることを理解されたい。
インジケータはまた、アクションを実行するために利用可能であるコンピュータアプリケーションについての識別情報を含むか、または表すこともできる。一例として、いくつかの実装形態では、コンピュータアプリケーションは、識別情報を含み得る、美的特徴を表す様式化出力を提供することができる。コンピューティングシステムは、様式化出力に基づいて、ユーザインターフェースにおいてインジケータを表示することができる。美的特徴は、コンピュータアプリケーションの名前、ロゴ、フォント、色、形状、ユーザインターフェース内の位置、および/または任意の他の好適な視覚特徴のうちの1つまたは複数を含み得る。
例示的な実装形態
図4は、本開示の態様の例示的な実装形態を示す。より具体的には、図4は、本開示の態様による、ユーザインターフェース401において、コンピュータアプリケーションから利用可能なアクションを示すインジケータ402を表示する、例示的なモバイルコンピューティングデバイス400を示す。モバイルコンピューティングデバイス400は、図1Aのユーザコンピューティングデバイス102と一致し得る。モバイルコンピューティングデバイス400は、コンピュータアプリケーションを記憶またはさもなければ実装することができる。この例では、モバイルコンピューティングデバイス400は、レストランレビューアプリケーションの「Eater」によって作成された、レストランのレビューを表示することができる。
モバイルコンピューティングデバイス400は、たとえば、図2Aを参照しながら説明したような認識機械学習モデルに、コンテキストデータを含むモデル入力を入力するように構成され得る。この例では、コンテキストデータは、ユーザインターフェース401におけるテキスト表示の一部または全部を含み得る。
モバイルコンピューティングデバイス400は、コンテキストデータによって言及された1つまたは複数のセマンティックエンティティを表すモデル出力を受信するように構成され得る。この例では、モデル出力は、強調表示されたテキストを含み得る。より具体的には、この例では、ユーザは、ユーザインターフェース401において表示されたテキストにおいて、市の名前の「ポート・アンジェルス」を強調表示している。
モバイルコンピューティングデバイス400は、1つまたは複数のコンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、「ポート・アンジェルス」という名前を含み得る。モバイルコンピューティングデバイス400は、宿泊アプリケーション、ナビゲーションアプリケーション、および/または他の好適なアプリケーションを含む、いくつかのコンピュータアプリケーションにデータを提供することができる。モバイルコンピューティングデバイス400は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
追加として、コンピュータアプリケーションのうちの1つまたは複数は、「サードパーティ」コンピュータアプリケーションであり得る。言い換えれば、コンピュータアプリケーションのうちの一部または全部は、オペレーティングシステムの、および/またはモバイルコンピューティングデバイス上で動作可能である人工知能システムの開発者以外のエンティティによって開発され得る。
モバイルコンピューティングデバイス400は、コンピューティングシステム上で動作可能な複数のアプリケーションから、モデル出力と、複数のアプリケーションについてのそれぞれの情報との間の比較に基づいて、1つまたは複数のセマンティックエンティティを記述するデータを提供する対象の、コンピュータアプリケーションを選択するように構成され得る。この例では、モバイルコンピューティングデバイス400(たとえば、人工知能システム)は、(たとえば、「ポート・アンジェルス」を含む)モデル出力を、宿泊アプリケーション、ナビゲーションアプリケーション、映画チケットアプリケーション、映画レビューアプリケーション、レストランレビューアプリケーション、レストラン予約アプリケーションなど、可能なアプリケーションについての情報と比較するように構成され得る。モバイルコンピューティングデバイス400は、(たとえば、「ポート・アンジェルス」を含む)データを提供する対象の、1つまたは複数のアプリケーションを選択することができる。この例では、モバイルコンピューティングデバイス400(たとえば、人工知能システム)は、可能なアプリケーションについての情報(たとえば、典型的な入力および/または出力)の比較に基づいて、宿泊アプリケーションおよび/またはナビゲーションアプリケーションを選択し得る。たとえば、宿泊アプリケーションおよび/またはナビゲーションアプリケーションは、そのようなアプリケーションのための典型的な入力が市の名前を含むので、選択され得る。
モバイルコンピューティングデバイス400は、コンピュータアプリケーションへの、セマンティックエンティティを記述するデータの提供に応答して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。各コンピュータアプリケーションから受信されたアプリケーション出力は、セマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。この例では、アプリケーション出力は、宿泊アプリケーションの「Airbnb」からの出力を含む。アプリケーション出力は、ポート・アンジェルスにおいて利用可能な宿泊オプションについての情報を含み得る。アプリケーション出力は、ナビゲーションアプリケーションおよび/または検索アプリケーションからの出力を含み得る。
モバイルコンピューティングデバイス400は、ユーザに提供するために、アプリケーション出力によって表された複数の利用可能なアクションのサブセットを選択することができる。モバイルコンピューティングデバイス400は、様々なファクタまたはデータに基づいて、利用可能なアクションのサブセットを選択することができる。例には、1つまたは複数のセマンティックエンティティとの関連性、コンピューティングシステムのモバイルコンピューティングデバイス400の位置、過去のユーザ対話、1つまたは複数のセマンティックエンティティのタイプ、あるいは1つまたは複数の利用可能なアクションのタイプが含まれる。
この例では、モバイルコンピューティングデバイス400は、宿泊アプリケーション、ナビゲーションアプリケーション、検索アプリケーション、および/または追加のアプリケーション(たとえば、レストラン予約アプリケーション、レストランレビューアプリケーションなど)から、それぞれの利用可能なアクションを表すアプリケーション出力を受信することができる。モバイルコンピューティングデバイス400は、たとえば、過去のユーザ対話に基づいて、宿泊アプリケーションからユーザに表示するためのアプリケーション出力を選択することができる。過去のユーザ対話の例には、他のアプリケーションと比較して、宿泊アプリケーションの使用の増加、宿泊アプリケーションからのアクションを表すインジケータとの関与の増加などが含まれ得る。したがって、コンピューティングシステムは、コンピューティングデバイスのユーザに合わせて、コンピュータアプリケーションから利用可能なアクションの選択をカスタマイズすることができる。
いくつかの実装形態では、利用可能なアクションの選択が、機械学習モデル、たとえば、図2Bを参照しながら説明したような「ランキング機械学習モデル」によって実行され得る。モバイルコンピューティングデバイス400は、ランキング機械学習モデルに、利用可能なアクションを表す入力を入力すること、および、ランキング機械学習モデルの出力として、それぞれの出力のランキングを表すランキング出力を受信することを行うように構成され得る。モバイルコンピューティングデバイス400は、ランキング出力に基づいて、ユーザに提示するために利用可能なアクションを選択するように構成され得る。たとえば、最高ランクのアクション(たとえば、最高の単一の結果、上位2つのアクション、3つのアクションなど)が、ユーザに提示するために選択され得る。この例では、モバイルコンピューティングデバイス400は、2つ以上のコンピュータアプリケーション(たとえば、宿泊アプリケーション、ナビゲーションアプリケーション、検索アプリケーション、および/または追加のアプリケーション(たとえば、レストラン予約アプリケーション、レストランレビューアプリケーションなど))からのアプリケーション出力を表す、モデル入力を入力することができる。モバイルコンピューティングデバイス400は、ランキング機械学習モデルからの出力として、コンピュータアプリケーションのランキングを含むモデル出力を受信することができる。モバイルコンピューティングデバイス400は、ランキングに基づいて、ユーザに提供するために、利用可能なアクションを選択することができる。この例では、モバイルコンピューティングデバイス400は、ユーザに提供するために、宿泊アプリケーションから利用可能なアクションを選択することができる。
より具体的には、モバイルコンピューティングデバイス400は、ユーザインターフェース401において表示するために、宿泊アプリケーションから利用可能なアクションを表すインジケータ402を提供することができる。この例では、インジケータ402は、宿泊アプリケーションの名前およびロゴを含む。ユーザが、(たとえば、モバイルコンピューティングデバイス400のタッチスクリーンに対するユーザタッチアクションを使用して)インジケータに向けられた入力を実行する場合、モバイルコンピューティングデバイス400は、宿泊アプリケーションを開いて(または、ユーザインターフェース401において表示するために、宿泊アプリケーションからの出力を提供して)、宿泊アプリケーションからの、ポート・アンジェルスにおいて利用可能な宿泊オプションを示すことができる。
インジケータ402は、パネル404において提供され得る。追加の利用可能なアクションまたはインジケータ406が、パネル404において表示され得る。たとえば、この例では、強調表示されたテキストをコピーまたは共有するためのオプション、さらにすべてのテキストを選択するためのオプションもまた、パネル404において提示される。追加として、垂直の楕円408が、パネル404において表示され得る。垂直の楕円408に向けられたユーザ入力アクションの受信に応答して、モバイルコンピューティングデバイス400は、追加のコンピュータアプリケーションからの追加のインジケータ、および/またはパネル404において現在表示されているインジケータ402、406についての追加の情報を表示することができる。
モバイルコンピューティングデバイス400は、オペレーティングシステムレベルのナビゲーションバー412において、インジケータ410を表示することができる。オペレーティングシステムレベルのナビゲーションバー412は、複数のアプリケーションの使用中に、かつ/またはモバイルコンピューティングデバイスの「ホーム画面」において表示され得る。この例では、ナビゲーションバー412におけるインジケータ410は、「Airbnb予約をする」ことをオファーするテキストを含む。
上記で示したように、インジケータ402はまた、アクションを実行するために利用可能であるコンピュータアプリケーションについての識別情報(たとえば、コンピュータアプリケーションのロゴまたは名前)を含むか、または表すこともできる。いくつかの実装形態では、コンピュータアプリケーションは、識別情報を含み得る、美的特徴を表す様式化出力を提供することができる。この例では、宿泊アプリケーションは、表示するための宿泊アプリケーションのロゴを含む様式化出力を提供することができる。様式化出力は、インジケータ402のフォント、色、形状、ユーザインターフェース内の位置、および/または任意の他の好適な視覚特徴など、様々な美的特徴を含み得る。
いくつかの実装形態では、モバイルコンピューティングデバイス400は、ユーザに対して再生され得る音声インジケータを提供することができる。たとえば、音声インジケータは、ユーザインターフェースまたは周囲音声において現れるテキストが異なる言語に翻訳されるべきであるか否かを、ユーザに尋ねる声、または他の音を含み得る。この例では、音声インジケータは、話されたスペイン語の英訳を話す声を含み得る。しかしながら、本明細書で説明するいかなるグラフィカルインジケータも、本開示の範囲内で音声フォーマットにおいて提供され得ることを理解されたい。
追加として、いくつかの実装形態では、モバイルコンピューティングデバイス400は、(たとえば、ナビゲーションバー412において)視覚信号414を提供することができる。視覚信号414は、モバイルコンピューティングデバイスのステータスを示すものであり得る。たとえば、視覚信号414は、いつコンテキストデータ(たとえば、ユーザインターフェースにおいて表示されたテキスト)がオフデバイスで送信されているか、または送信されていないかを、ユーザにシグナリングすることができる。別の例として、視覚信号414は、人工知能システムのステータスを示すものであり得る。視覚信号414は、いつ人工知能システムがコンテキストデータを収集中であるか、コンピュータアプリケーションから利用可能なアクションを取り出すように構成された1つまたは複数の動作を実行(たとえば、コンテキストデータを「処理」)中であるか、および/あるいは、ユーザに提供されるインジケータ402、410の関連性に関連付けられた信頼性を示すことができる。
図5Aおよび図5Bは、本開示の態様の別の例示的な実装形態を示す。より具体的には、図5Aは、本開示の態様による、モバイルコンピューティングデバイス500がユーザインターフェース502においてテキストメッセージ交換を表示中である、第1の状態における例示的なモバイルコンピューティングデバイス500を示す。図5Bは、本開示の態様による、モバイルコンピューティングデバイスが、図5Aのテキストメッセージ交換から認識されたテキストに関して、複数のコンピュータアプリケーションから利用可能なアクションのインジケータを提供中である、第2の状態における図5Aのモバイルコンピューティングデバイス500を示す。モバイルコンピューティングデバイス500は、たとえば、図2Aを参照しながら上記で説明したような認識モデルに、コンテキストデータを含むモデル入力を入力することができる。この例では、コンテキストデータは、ユーザインターフェース502において表示されたテキストの一部または全部を含み得る。認識モデルは、レストランの名前の「Sushi Tomi」、および/あるいはテキストメッセージ交換についての1つまたは複数の情報など、コンテキストデータによって言及された1つまたは複数のセマンティックエンティティを表すモデル出力を出力することができる。モデル出力によって表され得るセマンティックエンティティの追加の例には、ユーザがテキストメッセージを交換中である相手の人物の名前、および/または「ランチ」という単語が含まれる。
モバイルコンピューティングデバイス500は、1つまたは複数のコンピュータアプリケーションに、1つまたは複数のセマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、セマンティックエンティティを含み得る。モバイルコンピューティングデバイス500は、予約アプリケーションおよび/またはナビゲーションアプリケーションを含む、いくつかのコンピュータアプリケーションにデータを提供することができる。モバイルコンピューティングデバイス500は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
モバイルコンピューティングデバイス500は、コンピュータアプリケーションへの、1つまたは複数のセマンティックエンティティを記述するデータの提供に応答して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。各コンピュータアプリケーションから受信されたアプリケーション出力は、セマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。この例では、アプリケーション出力は、予約アプリケーション「Open Table」からの出力、およびナビゲーションアプリケーション「Googleマップ」からの出力を含む。アプリケーション出力は、レストランのSushi Tomiの予約取得および/または位置についての情報を含み得る。
モバイルコンピューティングデバイス500は、ユーザインターフェース502においてインジケータを表示することによって、コンピューティングシステムのユーザに、1つまたは複数のインジケータを提供するように構成され得る。たとえば、モバイルコンピューティングデバイス500は、予約アプリケーションを使用して予約するという利用可能なアクションを表す、インジケータ552を表示することができる。インジケータ552は、「ハーフシェルフ(half-shelf)」554において表示され得る。ハーフシェルフ554は、ユーザインターフェース502の下側部分に位置し得る。
モバイルコンピューティングデバイス500は、ナビゲーションアプリケーションから利用可能なアクションを表す、インジケータ556を表示することができる。たとえば、利用可能なアクションは、(アイコン558によって表された)レストランに電話をかけること、(アイコン560によって表された)レストランまでナビゲートすること、および/または(アイコン562によって表された)地図上でレストランの位置を見ることを含み得る。インジケータ556は、レストランのウェブサイトからの写真564、および/または地図566など、レストランについての追加の情報を含み得る。
モバイルコンピューティングデバイス500は、検索アプリケーションを使用して、レストランを検索することを含む、利用可能なアクションを表すインジケータ568を表示することができる。モバイルコンピューティングデバイス500は、検索アプリケーションを使用して、レストランを検索することを含む、利用可能なアクションを表すインジケータ568、および/または、たとえば、ウェブブラウザアプリケーションもしくはレストランレビュー/予約アプリケーションにおいて、レストランの営業時間を見ることを含む、利用可能なアクションを表すインジケータ570を表示することができる。
図6は、本開示の態様による、ユーザインターフェース604において、テキストメッセージ通知602と、テキストメッセージから認識されたテキストに関して、複数のコンピュータアプリケーションから利用可能なアクションのインジケータとを表示する、例示的なモバイルコンピューティングデバイス600を示す。より具体的には、モバイルコンピューティングデバイス600は、ユーザインターフェース604において表示されたロック画面606において、テキストメッセージ通知を表示することができる。
この例では、コンテキストデータは、受信されたテキストメッセージのテキスト、および/または送信者の名前を含み得る。セマンティックエンティティは、コンテキストデータによって表される以下のもの、すなわち、日付(「8月6日」)、イベント(「クリスの結婚式」)、または会場(「Arboretum」)のうちの1つまたは複数を含み得る。
モバイルコンピューティングデバイス600は、コンピュータアプリケーションに、1つまたは複数のセマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、1つまたは複数のセマンティックエンティティを含み得る。モバイルコンピューティングデバイス600は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
モバイルコンピューティングデバイス600は、コンピュータアプリケーションから、1つまたは複数のアプリケーション出力を受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。この例では、アプリケーション出力は、ナビゲーションアプリケーションからの、Arboretumまでナビゲートすることを含む、利用可能なアクションについての情報、および/またはカレンダーアプリケーションからの、カレンダーイベントを作成することを含む、利用可能なアクションについての情報を含み得る。
モバイルコンピューティングデバイス600は、ナビゲーションアプリケーションを使用して、Arboretumまでナビゲートすることを含む、利用可能なアクションを表すインジケータ608、および/またはカレンダーアプリケーションからの、カレンダーイベントを作成することを表すインジケータ610を提供するように構成され得る。
モバイルコンピューティングデバイス600は、提案された応答を含む、1つまたは複数のインジケータ612を表示することができる。たとえば、知能システムは、コンテキストデータを解析し、提案された応答を生成することができる。代替的に、モバイルコンピューティングデバイス600は、たとえば、他のインジケータ608、610に関して上記で説明したように、知能システムとは別個であるコンピュータアプリケーションから、提案された応答を含むインジケータ612を受信することができる。
図7Aは、本開示の態様による、歴史上の人物について述べる周囲音声が検出され、インジケータ706が、モバイルコンピューティングデバイス700のユーザインターフェース704において表示されたロック画面702において表示される、第1の状態における例示的なモバイルコンピューティングデバイス700を示す。たとえば、モバイルコンピューティングデバイス700は、マイクロフォンを使用して、(音声記号706によって表された)周囲音声を検出するように構成され得る。
モバイルコンピューティングデバイス700は、たとえば、図2Aを参照しながら説明したような認識機械学習モデルに、コンテキストデータを含むモデル入力を入力するように構成され得る。この例では、コンテキストデータは、検出された周囲音声の一部または全部を含み得る。
モバイルコンピューティングデバイス700は、コンテキストデータによって言及された1つまたは複数のセマンティックエンティティを表すモデル出力を受信するように構成され得る。この例では、モデル出力は、歴史上の人物の名前であるエンリコ・フェルミ、および/あるいは、歴史上の人物について、または歴史上の人物の名前が述べられた文もしくはコンテキストについての追加の情報を含み得る。たとえば、歴史上の人物の名前が、「エンリコ・フェルミは、どの本を書いたか?」または「エンリコ・フェルミとは、誰だったか?」などの質問において話された場合、モデル出力は、質問についての追加の情報を表すか、または質問からの追加のセマンティックエンティティ(たとえば、「本」)を含み得る。
モバイルコンピューティングデバイス700は、1つまたは複数のコンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、「エンリコ・フェルミ」という名前、および/または「本」を含み得る。モバイルコンピューティングデバイス700は、検索アプリケーション、ショッピングアプリケーション、および/または他の好適なアプリケーションを含む、いくつかのコンピュータアプリケーションにデータを提供することができる。モバイルコンピューティングデバイス700は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
モバイルコンピューティングデバイス700は、コンピュータアプリケーションへの、セマンティックエンティティを記述するデータの提供に応答して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。各コンピュータアプリケーションから受信されたアプリケーション出力は、セマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。この例では、アプリケーション出力は、検索アプリケーション、およびショッピングアプリケーション「Amazon」からの出力を含む。検索アプリケーション出力からのアプリケーション出力は、セマンティックエンティティに関して関連のある情報を含むことがあり、インターネットクエリからのそのような結果が、セマンティックエンティティを含む。この例では、検索アプリケーションからのアプリケーション出力は、エンリコ・フェルミについてのウィキペディア記事からのテキストを含み得る。ショッピングアプリケーションからのアプリケーション出力は、セマンティックエンティティに関係する1つまたは複数の製品を購入することを含む、利用可能なアクションを含み得る。この例では、ショッピングアプリケーションからのアプリケーション出力は、ショッピングアプリケーションを使用して購入され得る、エンリコ・フェルミによる本、またはエンリコ・フェルミについての本を含み得る。
図7Bは、周囲音声において述べられた歴史上の人物に関して利用可能なアクションを表すインジケータが表示される、第2の状態における図7Aの例示的なモバイルコンピューティングデバイス700を示す。より具体的には、検索アプリケーションから受信された情報を表す、インジケータ720が表示され得る。この例では、インジケータ720は、歴史上の人物に関して実行されたウェブクエリからのテキストを含む。
セマンティックエンティティに関して、ショッピングアプリケーションによって実行され得る、利用可能なアクションを含む、インジケータ722が表示され得る。より具体的には、セマンティックエンティティに関係するアイテム724が、セールのためにオファーされ得る。この例では、アイテム724は、歴史上の人物によって書かれたか、もしくは歴史上の人物について書かれた、かつ/または歴史上の人物に関係する主題(たとえば、物理学)について書かれた本を含み得る。
いくつかの実装形態では、モバイルコンピューティングデバイス700は、ユーザによって後で見るために、インジケータ720、722を含むかまたは表す「ブックマーク」などの情報を記憶するように構成され得る。たとえば、モバイルコンピューティングデバイス700は、ブックマークアイコン726を表示することができる。後で見るために、インジケータ720、722のうちの1つまたは複数を記憶することを要求する、ユーザ入力(たとえば、ブックマークアイコン726に向けられたユーザタッチアクション)に応答して、モバイルコンピューティングデバイス700は、後で見るためにインジケータ720、722を表す情報を記憶し、かつ/または、たとえば、図7Cを参照しながら以下で説明するような、「後のために保存済み」パネルを表示することができる。
図7Cは、本開示の態様による、インジケータが、後で見るために「ブックマーク」された、第3の状態における図7Aの例示的なモバイルコンピューティングデバイス700を示す。モバイルコンピューティングデバイス700は、ユーザが以前に提供されたインジケータ740を再訪問することを望むときに取り出すことができる、「後のために保存済み」パネル742において、保存済みインジケータ740を表示することができる。いくつかの実装形態では、保存済みインジケータ740は、たとえば、インジケータ740の作成および/または表示に関連付けられたコンテキストデータに基づいて、まとめてグループ化および/または保存され得る。この例では、複数の保存済みインジケータ740が、特定の人物(たとえば、連絡先)に関係するとして、まとめてグループ化され得る。追加の例には、インジケータに関連付けられた利用可能なアクションおよび/もしくはコンピュータアプリケーションのタイプ、インジケータがユーザに提供された時間におけるモバイルコンピューティングデバイスの位置、利用可能なアクションの焦点の位置(たとえば、利用可能な宿泊リストが位置する市、そこへの航空券がオファーされた目的地の市)、ならびに/または、日付もしくは日付の範囲に基づく時間的なグループ化(たとえば、インジケータが、特定の休暇または旅行についてまとめてグループ化され得る)に基づいて、インジケータを保存またはグループ化することが含まれる。
図8Aは、本開示の態様による、ビデオ802およびインジケータ804が、モバイルコンピューティングデバイス800のユーザインターフェース806において表示される、第1の状態における例示的なモバイルコンピューティングデバイス800を示す。この例では、ビデオ802は、映画の予告編、映画レビュー、または映画の他の部分であり得るか、またはそれを含み得る。モバイルコンピューティングデバイス800は、認識モデルにモデル入力を入力することができる。モデル入力は、たとえば、図2Aを参照しながら上記で説明したように、ビデオ802の1つまたは複数のフレーム、および/あるいはビデオ802からの音声の一部分を含み得る。認識モデルは、1つまたは複数のセマンティックエンティティを表すモデル出力を出力することができる。たとえば、セマンティックエンティティは、映画において話された単語を含み得る。いくつかの実装形態では、認識モデルは、映画のタイトルを識別するように構成され得、セマンティックエンティティは、映画のタイトルを含み得る。
モバイルコンピューティングデバイス800は、1つまたは複数のコンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、映画のタイトル、および/または映画において話された単語を含み得る。モバイルコンピューティングデバイス800は、検索アプリケーション、ナビゲーションアプリケーション、映画の時間を見るためのアプリケーション、および/または映画のチケットを購入するためのアプリケーションを含む、いくつかのコンピュータアプリケーションにデータを提供することができる。モバイルコンピューティングデバイス800は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
モバイルコンピューティングデバイス800は、コンピュータアプリケーションへの、セマンティックエンティティを記述するデータの提供に応答して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。各コンピュータアプリケーションから受信されたアプリケーション出力は、1つまたは複数のセマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。この例では、アプリケーション出力は、検索アプリケーション、ナビゲーションアプリケーション、映画の時間を見るためのアプリケーション、および/または映画のチケットを購入するためのアプリケーションからの出力を含み得る。アプリケーション出力は、映画に関して、各コンピュータアプリケーションとともに実行され得る、利用可能なアクションを表すことができる。
インジケータ804は、たとえば、図8Bを参照しながら以下で説明するように、映画についての情報を検索すること、および/または追加のインジケータを見ることを含む、利用可能なアクションを表すことができる。モバイルコンピューティングデバイス800は、インジケータ804に向けられるユーザ入力に応答して、表示するために追加のインジケータを提供するように構成され得る。したがって、いくつかの実装形態では、モバイルコンピューティングデバイス800は、アクションが利用可能であることを示すインジケータ804を提供するように構成され得る。次いで、ユーザは、たとえば、図8Bを参照しながら以下で説明するように、追加のインジケータを見るか否かを決定することができる。
図8Bは、追加のインジケータ850、852、854がユーザインターフェース806において表示される、第2の状態における図8Aの例示的なモバイルコンピューティングデバイス800を示す。追加のインジケータ850、852、854は、映画のチケットを購入することなど、映画に関連付けられた利用可能なアクションを表すことができる。追加のインジケータ850、852、854は、パネル856において表示され得る。映画館名など、利用可能なアクションの共通の特徴が、パネル856において表示され得る。追加のインジケータ850、852、854は、映画に関して利用可能なアクションを表すことができる。第1のインジケータ850は、映画館までナビゲートすることを含む、利用可能なアクションを表すことができる。第2のインジケータ852は、映画館における映画の上映時間を見ることを含む、利用可能なアクションを表すことができる。第3のインジケータ854は、(たとえば、ユーザインターフェース806において見られている映画の部分についてリストされた映画館において)映画のチケットを購入することを含む、利用可能なアクションを表すことができる。モバイルコンピューティングデバイス800は、たとえば、図7Bを参照しながら上記で説明したように、ブックマークアイコン858を表示することができる。
図9Aは、本開示の態様による、ビデオ902およびインジケータ904がユーザインターフェース906において表示される、第1の状態における例示的なモバイルコンピューティングデバイス900を示す。モバイルコンピューティングデバイス900は、認識モデルにモデル入力を入力することができる。モデル入力は、たとえば、図2Aを参照しながら上記で説明したように、ビデオ902の1つまたは複数のフレーム、および/あるいはビデオ902からの音声の一部分を含み得る。認識モデルは、1つまたは複数のセマンティックエンティティを表すモデル出力を出力することができる。たとえば、セマンティックエンティティは、ビデオにおいて話された単語、またはビデオにおいて再生された曲からの単語を含み得る。いくつかの実装形態では、認識モデルは、ビデオにおいて再生された曲のタイトルを識別するように構成され得る。
インジケータ904は、ビデオにおいて再生された曲を聴くことを含む、利用可能なアクションを表すことができる。たとえば、インジケータ904は、音楽再生アプリケーションのロゴを含み得る。モバイルコンピューティングデバイス900は、インジケータ904に向けられるユーザタッチアクションに応答して、音楽再生アプリケーションを使用して、曲を再生するように構成され得る。モバイルコンピューティングデバイス900はまた、たとえば、図9Bを参照しながら以下で説明するように、そのようなユーザ入力に応答して、表示するために追加のインジケータを提供するように構成され得る。
図9Bは、図9Aのインジケータ904に関連付けられた利用可能なアクションが実行されている、第2の状態における図9Aの例示的なモバイルコンピューティングデバイス900を示す。より具体的には、音楽再生アプリケーションは、ビデオにおいて識別された曲を再生することができる。パネル952が表示され得、要求されたアクション(たとえば、曲を再生すること)を実行するアプリケーションは、アクションについての情報(たとえば、曲のタイトル、曲が出たアルバムのアルバムジャケット)を表示し、かつ/または要求されたアクションをユーザが制御するための制御953を提供することができる。
追加のインジケータ956、958が、(たとえば、パネル952において)表示され得る。追加のインジケータ956、958は、曲に関して追加の利用可能なアクションを表すことができる。たとえば、追加のインジケータ956、958は、1つまたは複数の追加の音楽再生またはストリーミングアプリケーションにおいて、曲を聴くことを表すことができる。モバイルコンピューティングデバイス900は、たとえば、図7Bを参照しながら上記で説明したように、ブックマークアイコン960を表示することができる。
図10Aは、本開示の態様による、テキストがモバイルコンピューティングデバイス1000のユーザインターフェース1002において表示される、例示的なモバイルコンピューティングデバイス1000を示す。より具体的には、映画をレビューする記事が、ユーザインターフェース1002において表示される。
図10Bは、映画のタイトル1020がテキストにおいて強調表示される、第2の状態における図10Aの例示的なモバイルコンピューティングデバイス1000を示す。本開示の態様による、映画のタイトル1020に関して利用可能なアクションを表すインジケータ1022、1024、1026が表示される。より具体的には、モバイルコンピューティングデバイス1000は、ユーザによる映画のタイトル1020の強調表示に応答して、インジケータ1022、1024、1026を表示するように構成され得る。いくつかの実装形態では、モバイルコンピューティングデバイス1000は、ユーザによる映画のタイトル1020の強調表示に応答して、たとえば、図2Aを参照しながら説明したような認識モデルに、モデル入力を入力するように構成され得る。
モバイルコンピューティングデバイス1000は、ユーザインターフェース1002において表示されたテキストの一部または全部を含む、モデル入力を認識モデルに入力するように構成され得る。たとえば、モデル入力は、ユーザインターフェース1002において表示された映画のタイトル1020、ならびに/または追加のテキストおよび/もしくは画像を含み得る。認識モデルは、モデル入力によって表された1つまたは複数のセマンティックエンティティを表す、モデル出力を出力することができる。たとえば、セマンティックエンティティは、映画のタイトル、および/またはセマンティック入力のタイプもしくはカテゴリーを含み得る(たとえば、モデル出力は、モデル入力が映画のタイトルを含むことを表すか、または認識することができる)。
モバイルコンピューティングデバイス1000は、1つまたは複数のコンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、映画のタイトル、および/またはセマンティックエンティティのタイプもしくはカテゴリー(たとえば、映画のタイトル)を含み得る。モバイルコンピューティングデバイス1000は、映画チケット購入アプリケーション、映画レビューアプリケーション、および/または検索アプリケーションを含む、1つまたは複数のコンピュータアプリケーションにデータを提供することができる。モバイルコンピューティングデバイス1000は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
モバイルコンピューティングデバイス1000は、コンピュータアプリケーションへの、セマンティックエンティティを記述するデータの提供に応答して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。各コンピュータアプリケーションから受信されたアプリケーション出力は、1つまたは複数のセマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。この例では、アプリケーション出力は、映画チケット購入アプリケーション、映画レビューアプリケーション、および/または検索アプリケーションからの出力を含み得る。アプリケーション出力は、映画に関して、各コンピュータアプリケーションとともに実行され得る、利用可能なアクションを表すことができる。
モバイルコンピューティングデバイス1000は、ユーザインターフェース1002において、インジケータ1022、1024、1026を表示することができる。インジケータ1022、1024、1026は、映画チケット購入アプリケーションを使用して、映画のチケットを購入すること、映画レビューアプリケーションを使用して、映画レビューを見ること、および/または検索アプリケーションを使用して、ウェブ検索を実行することを含み得る、利用可能なアクションを表すことができる。インジケータ1022、1024、1026は、ユーザインターフェースにおけるパネル1028において表示され得る。たとえば、図7Bを参照しながら上記で説明したように、後のためにインジケータ1022、1024、1026を保存するように構成される、ブックマークアイコン1030が、パネル1028において表示され得る。
図10Cは、本開示の態様による、映画のタイトルに関してさらに利用可能なアクションを表す追加のインジケータ1044、1046が表示される、第3の状態における図10Aの例示的なモバイルコンピューティングデバイス1000を示す。モバイルコンピューティングデバイス1000は、図10Bのインジケータ1022、1024、1026のうちの1つまたは複数に向けられたユーザ入力の検出に応答して、追加のインジケータ1044、1046を表示するように構成され得る。追加のインジケータ1044、1046は、ユーザインターフェース1002の下側の領域において表示され得る、パネル1048(たとえば、半分のパネル)において表示され得る。追加のインジケータ1044、1046は、(たとえば、特定の時間における、および/または特定の映画館における)映画のチケットを購入するという利用可能なアクションを表すことができる。
図11Aは、本開示の態様による、モバイルコンピューティングデバイス1100のユーザインターフェース1110において(たとえば、ユーザインターフェース1110において表示されたパネルまたはタイトル1112において)、テキスト1102が強調表示されており、インジケータ1104、1106、1108が表示される、第1の状態における例示的なモバイルコンピューティングデバイス1100を示す。この例では、ユーザが、製品の名前である「Oculus Rift」を強調表示している。1つのインジケータ1104は、ショッピングアプリケーションのAmazonから利用可能なアクションを表す。別のインジケータ1106は、検索アプリケーションから利用可能なアクションを表す。また別のインジケータ1108は、Oculus Riftについての追加の情報を含む、ウィキペディアからのウェブページを見ることを含む、利用可能なアクションを表す。たとえば、図7Bを参照しながら上記で説明したように、後のためにインジケータ1104、1106、1108を保存するように構成される、ブックマークアイコン1114が、パネル1112において表示され得る。
図11Bは、本開示の態様による、選択されたアクションについての情報が表示される、第2の状態における図11Aの例示的なモバイルコンピューティングデバイス1100を示す。より具体的には、ショッピングアプリケーションから利用可能なアクションを表すインジケータ1104に向けられたユーザ入力に応答して、モバイルコンピューティングデバイス1100は、選択された利用可能なアクションについての追加の情報を提供するインジケータ1152を表示することができる。この例では、インジケータ1152は、購入価格および出荷オプションなど、強調表示された製品1102についての情報を含み得る。モバイルコンピューティングデバイス1100は、インジケータ1152に向けられたユーザ入力アクションに応答して、製品を購入するように構成され得る。
図12Aは、本開示の態様による、テキストがモバイルコンピューティングデバイス1200のユーザインターフェース1202において表示される、例示的なモバイルコンピューティングデバイス1200を示す。より具体的には、記事が、ユーザインターフェース1202において表示され得る。
モバイルコンピューティングデバイス1200は、たとえば、図2Aを参照しながら上記で説明したように、ユーザインターフェース1202において表示された記事のテキストの一部または全部を含む、モデル入力を認識モデルに入力するように構成され得る。認識モデルは、モデル入力によって表された1つまたは複数のセマンティックエンティティを表す、モデル出力を出力することができる。たとえば、セマンティックエンティティは、記事において述べられた製品、技術、歴史上の人物、および/または関心を引く他のエンティティの名前を含み得る。この例では、モデル出力は、Oculus RiftおよびHTC Vibeなど、製品の名前を含み得る。モデル出力は、バーチャルリアリティ(VR)など、技術の名前を含み得る。
モバイルコンピューティングデバイス1200は、1つまたは複数のコンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、記事において述べられた製品および/または技術の名前を含み得る。モバイルコンピューティングデバイス1200は、たとえば、ショッピングアプリケーションおよび/または他の好適なコンピュータアプリケーションを含む、1つまたは複数のコンピュータアプリケーションにデータを提供することができる。モバイルコンピューティングデバイス1200は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
モバイルコンピューティングデバイス1200は、コンピュータアプリケーションへの、セマンティックエンティティを記述するデータの提供に応答して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。各コンピュータアプリケーションから受信されたアプリケーション出力は、1つまたは複数のセマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。この例では、アプリケーション出力は、ショッピングアプリケーションからの出力を含み得る。
図12Bは、本開示の態様による、テキストの部分に関して利用可能なアクションを表すインジケータ1222、1224、1226が表示される、第2の状態における図12Aの例示的なモバイルコンピューティングデバイス1200を示す。より具体的には、この例では、インジケータ1222、1224、1226は、輪郭付き、強調表示、または別様に改変された外観(たとえば、フォント、サイズ、色など)とともに表示されたそれぞれのセマンティックエンティティを含み得る。インジケータ1222、1224、1226は、アクションがセマンティックエンティティに関して利用可能であることを、ユーザにアラートすることができる。
図12Cは、本開示の態様による、図12Aの選択されたインジケータについての追加の情報が表示され、ならびに、さらに利用可能なアクションを表す追加のインジケータが表示される、第3の状態における図12Aの例示的なモバイルコンピューティングデバイス1200を示す。より具体的には、テキスト「Oculus Rift」を含むインジケータ1224に向けられたユーザタッチアクションに応答して、モバイルコンピューティングデバイス1200は、インジケータ1224によって表された利用可能なアクションについての追加の情報1242を表示するように構成され得る。この例では、追加の情報1242は、ショッピングアプリケーションを用いて、Oculus Riftシステムを購入することに関連付けられた、価格、出荷オプションなどを含み得る。
モバイルコンピューティングデバイス1200はまた、追加の利用可能なアクションを表す追加のインジケータ1244、1246を表示することもできる。この例では、1つの追加のインジケータ1244が、セマンティックエンティティの「Oculus Rift」に関してウェブ検索を実行することを表す。他の追加のインジケータ1246は、セマンティックエンティティについての追加の情報を提供する、(たとえば、ウィキペディア上の)ウェブページを見ることを含む、利用可能なアクションを表す。
図13Aは、本開示の態様による、通話中の音声を処理中である、例示的なモバイルコンピューティングデバイス1300を示す。モバイルコンピューティングデバイス1300は、通話中に処理された音声の一部または全部を含むモデル入力を、機械学習モデル(たとえば、図2Aを参照しながら上記で説明した認識モデル)に入力するように構成され得る。重要なことには、ユーザは、本明細書で説明するシステム、プログラム、または特徴がそのような情報の収集を可能にし得るか否かと、いつそうであるかの両方について、ユーザが選定を行うことを可能にする制御を提供され得る。
図13Bは、本開示の態様による、ユーザインターフェース1304において、通話の音声において認識または識別されたセマンティックエンティティに関して利用可能なアクションを表すインジケータ1302が表示される、第2の状態における図13Aの例示的なモバイルコンピューティングデバイス1300を示す。たとえば、ユーザが「午後7時にTullulah'sでディナー」と述べる場合、モバイルコンピューティングデバイス1300は、通話において述べられたレストランにおいてディナーを食べることに関連付けられた1つまたは複数のインジケータを提供することができる。
モバイルコンピューティングデバイス1300は、1つまたは複数のコンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、モデル出力によって表され、かつ通話の音声において認識された、1つまたは複数のセマンティックエンティティを含み得る。モバイルコンピューティングデバイス1300は、カレンダーアプリケーション、レストラン予約アプリケーション、および/または追加のアプリケーション(たとえば、検索アプリケーション、ナビゲーションアプリケーション、映画の時間を見るためのアプリケーション、および/または映画のチケットを購入するためのアプリケーション)を含む、いくつかのコンピュータアプリケーションにデータを提供することができる。モバイルコンピューティングデバイス1300は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
重要なことには、ユーザは、本明細書で説明するシステム、プログラム、または特徴が上記で示したようなユーザ情報の収集を可能にし得るか否かと、いつそうであるかの両方について、ユーザが選定を行うことを可能にする制御を提供され得る。追加として、いくつかの実装形態では、潜在的に機密の情報、もしくは個人情報は、オンデバイスのままであることが可能であり、かつ/または、そのような情報がデバイス1300から(たとえば、処理のためにサーバコンピューティングシステムに)送信されるとき、通知もしくは信号がユーザに提供され得る。
モバイルコンピューティングデバイス1300は、コンピュータアプリケーションへの、セマンティックエンティティを記述するデータの提供に応答して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。各コンピュータアプリケーションから受信されたアプリケーション出力は、1つまたは複数のセマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。アプリケーション出力は、実行され得る利用可能なアクションを表すことができる。この例では、アプリケーション出力は、カレンダーアプリケーション、レストラン予約アプリケーション、および/または他のコンピュータアプリケーションからの出力を含み得る。
モバイルコンピューティングデバイス1300は、ユーザインターフェース1304において、インジケータ1302を表示するように構成され得る。この例では、インジケータ1302は、電話での会話の音声において述べられたイベントに対応するカレンダーイベントを作成することを含む、利用可能なアクションを表すことができる。
図13Cは、選択された利用可能なアクションについての情報1306が表示される、第3の状態における図13Aの例示的なモバイルコンピューティングデバイス1300を示す。より具体的には、インジケータ1302に向けられたユーザ入力アクションに応答して、モバイルコンピューティングデバイス1300は、利用可能なアクションについての情報1306を表示するように構成され得る。この例では、情報1306は、ユーザが(たとえば、「イベントを追加」1307に向けられたユーザ入力を実行することによって)確認することができる、提案されたカレンダーイベントを含み得る。
モバイルコンピューティングデバイス1300は、本開示の態様による、通話の音声から検出されたセマンティックエンティティに関してさらに利用可能なアクションを表す、追加のインジケータ1308、1310、1312を表示することができる。この例では、追加のインジケータ1308、1310、1312は、それぞれのコンピュータアプリケーションを使用して、通話において述べられたレストランまでナビゲートすること、通話において述べられたレストランの予約をすること、レストランの時間を見ることなどを含む、利用可能なアクションを表すことができる。
図14Aは、本開示の態様による、モバイルコンピューティングデバイス1400のカメラからの画像が、モバイルコンピューティングデバイス1400のユーザインターフェース1402において表示される、カメラモードにおける例示的なモバイルコンピューティングデバイス1400を示す。モバイルコンピューティングデバイス1400は、(たとえば、図2Aを参照しながら上記で説明したような機械学習モデルを使用して)ユーザインターフェース1402において示された1つまたは複数のエンティティを認識することができる。モバイルコンピューティングデバイス1400は、たとえば、図4~図13Cを参照しながら上記で説明したように、1つまたは複数のコンピュータアプリケーションに、1つまたは複数のセマンティックエンティティを記述するデータを提供すること、および/あるいは、コンピュータアプリケーションからアプリケーション出力を受信することを行うように構成され得る。
図14Bは、図14Aのユーザインターフェースにおいて示されたエンティティについての追加の情報1422が表示される、第2の状態における図14Aの例示的なモバイルコンピューティングデバイス1400を示す。たとえば、モバイルコンピューティングデバイス1400は、図14Aのインジケータ1404に向けられたユーザ入力に応答して、利用可能なアクションについての情報1422を提供するように構成され得る。この例では、情報1422は、ランドマークの名前、ランドマークの説明、および/または地図上のランドマークの位置を含み得る。情報は、ナビゲーションアプリケーションによって提供され得る。モバイルコンピューティングデバイス1400は、ナビゲーションアプリによって実行され得る追加のアクションを表す追加のインジケータ1424、1426、1428を提供するように構成され得る。この例では、追加のインジケータ1424、1426、1428は、ナビゲーションアプリケーションを用いて実行され得る追加のアクションを表すことができる。モバイルコンピューティングデバイス1400はまた、検索アプリケーションおよび/または予約アプリケーションなど、他のアプリケーションによって実行され得る利用可能なアクションを表す、追加のインジケータ1430、1432、1434を提供するように構成され得る。情報1422、および/またはインジケータ1424、1426、1428、1430、1432、1434は、ユーザインターフェース1402におけるパネル1436(たとえば、ハーフシェルフ)内に表示され得る。
図14Cは、本開示の態様による、カメラからの画像において示されたランドマークに関してさらに利用可能なアクションを表すインジケータが表示される、第3の状態における図14Aの例示的なモバイルコンピューティングデバイス1400を示す。より具体的には、いくつかの実装形態では、モバイルコンピューティングデバイス1400は、図14Bにおいて表示されたものに対して、追加の情報および/または利用可能なアクションを要求する、ユーザ入力アクションに応答して、より大きいパネルまたはシェルフ1438を表示するように構成され得る。たとえば、ユーザは、より大きいパネル1438が表示されることを要求するために、図14Bのパネル1436を上方へスワイプまたはドラッグすることができる。より大きいパネル1438は、(たとえば、他のコンピュータアプリケーションからの)追加の情報1450、1460、および/または(たとえば、他のコンピュータアプリケーションからの)追加の利用可能なアクションを表す追加のインジケータ1452、1456、1458、1464を含み得る。たとえば、追加のインジケータ1464は、図14Aおよび図14Bのユーザインターフェース1402において示されたランドマークにおけるツアーまたは他のイベントのためのチケットを購入することを含み得る。
図15Aは、本開示の態様による、テキストがモバイルコンピューティングデバイスのユーザインターフェース1502において表示される、例示的なモバイルコンピューティングデバイス1500を示す。テキストは、ある言語における記事を含み得る。モバイルコンピューティングデバイス1500は、テキストの一部または全部を別の言語に翻訳することを含む、利用可能なアクションを表すインジケータ1504を表示するように構成され得る。
図15Bは、本開示の態様による、テキストの部分に関して利用可能なアクションを表すインジケータが表示される、第2の状態における図15Aの例示的なモバイルコンピューティングデバイス1500を示す。モバイルコンピューティングデバイス1500は、記事のテキストの一部または全部を翻訳することを含む、利用可能なアクションを表すインジケータ1506、1508、1510を提供するように構成され得る。たとえば、モバイルコンピューティングデバイス1500は、ユーザによるテキストの一部分の強調表示に応答して、インジケータ1506、1508、1510を提供するように構成され得る。
図15Cは、要求されたアクションが実行される、第3の状態における図15Aの例示的なモバイルコンピューティングデバイス1500を示す。たとえば、翻訳が、パネルまたはシェルフ1542において表示され得る。
図16Aは、本開示の態様による、話されたスペイン語の周囲音声が検出され、話されたスペイン語を英語に翻訳することを含む、利用可能なアクションを表すインジケータ1602が、モバイルコンピューティングデバイス1600のロック画面1604において表示される、第1の状態における例示的なモバイルコンピューティングデバイス1600を示す。モバイルコンピューティングデバイス1600は、マイクロフォンを用いて音声を検出し、音声の記録を含むモデル入力を、たとえば、図2Aを参照しながら上記で説明したような認識機械学習モデルに入力することができる。
図16Bは、翻訳および/または音声において述べられたエンティティに関して利用可能なアクションを表すインジケータ1622、1624、1626が表示される、第2の状態における図16Aの例示的なモバイルコンピューティングデバイス1600を示す。たとえば、あるインジケータ1622は、翻訳アプリケーションから、話されたスペイン語の翻訳を提供することができる。別のインジケータ1624は、話されたスペイン語において述べられた位置までナビゲートすることを含む、ナビゲーションアプリケーションから利用可能なアクションを表すことができる。第3のインジケータ1626は、たとえば、話されたスペイン語において述べられた時間において、またはその近くで、話されたスペイン語において述べられたレストランの予約をすることを含む、予約アプリケーションから利用可能なアクションを表すことができる。
図16Cは、追加の情報1642、1644、および/またはインジケータ1646、1648が翻訳アプリケーションから表示される、第3の状態における図16Aの例示的なモバイルコンピューティングデバイス1600を示す。たとえば、モバイルコンピューティングデバイス1600は、図16Bのインジケータ1622に向けられたユーザ入力アクションに応答して、追加の情報1642、1644、および/またはインジケータ1646、1648を表示するように構成され得る。
図17Aは、本開示の態様による、次のフライトを含み得るカレンダーデータに基づいて、利用可能なアクションを示すインジケータ1702が、モバイルコンピューティングデバイス1700のロック画面1704において表示される、例示的なモバイルコンピューティングデバイス1700を示す。モバイルコンピューティングデバイス1700は、コンピューティングシステムによって記憶された一部または全部のカレンダーデータを、たとえば、図2Aを参照しながら上記で説明したような認識機械学習モデルに入力するように構成され得る。モバイルコンピューティングデバイス1700は、モデル入力によって表された1つまたは複数のセマンティックエンティティを表すモデル出力を受信するように構成され得る。たとえば、セマンティックエンティティは、ユーザが乗るつもりである次のフライトについての情報を含み得る。
モバイルコンピューティングデバイス1700は、1つまたは複数のコンピュータアプリケーションに、セマンティックエンティティを記述するデータを提供するように構成され得る。この例では、データは、目的地の空港の空港コード(たとえば、「LAX」)、次のフライトの日付、および/または次のフライトの時間を含み得る。モバイルコンピューティングデバイス1700は、たとえば、エアラインアプリケーション、宿泊アプリケーション、エンターテインメントアプリケーション、および/または天気アプリケーションを含む、1つまたは複数のコンピュータアプリケーションにデータを提供することができる。モバイルコンピューティングデバイス1700は、あらかじめ定義されたAPIまたは他のプロトコルに従って、データを提供することができる。
モバイルコンピューティングデバイス1700は、コンピュータアプリケーションへの、セマンティックエンティティを記述するデータの提供に応答して、コンピューティングアプリケーションからアプリケーション出力をそれぞれ受信するように構成され得る。コンピュータアプリケーションは、(たとえば、あらかじめ定義されたAPIによって指定されるような)ルールまたはプロトコルに従って、アプリケーション出力をフォーマットし、送信し、かつ/またはアプリケーション出力についてコンピューティングシステムにアラートすることができる。各コンピュータアプリケーションから受信されたアプリケーション出力は、1つまたは複数のセマンティックエンティティに関して、対応するコンピュータアプリケーションの1つまたは複数の利用可能なアクションを表すことができる。この例では、アプリケーション出力は、エアラインアプリケーション、宿泊アプリケーション、エンターテインメントアプリケーション、および/または天気アプリケーションからの出力を含み得る。アプリケーション出力は、次のフライトに関して、各コンピュータアプリケーションとともに実行され得る、利用可能なアクションを表すことができる。モバイルコンピューティングデバイス1700は、ユーザインターフェース1704において、インジケータ1702を表示することができる。インジケータ1702は、アクションが、次のフライトに関して、1つまたは複数のコンピュータアプリケーションから利用可能であることを、ユーザにアラートすることができる。
図17Bは、本開示の態様による、カレンダーデータに関してさらに利用可能なアクションを表すインジケータ1742、1744、1746、1748が表示される、第2の状態における図17Aの例示的なモバイルコンピューティングデバイス1700を示す。たとえば、次のフライトに関連付けられた情報および/または文書(たとえば、飛行時間、搭乗券など)を見ることを含む、利用可能なアクションを表す、インジケータのうちの1つのインジケータ1742が表示され得る。インジケータのうちの別のインジケータ1744は、次のフライトの目的地の市における宿泊を見るか、または予約することを含む、利用可能なアクションを表すことができる。インジケータのうちの別のインジケータ1746は、フライト中に見るために、エンターテインメントコンテンツ(たとえば、映画、ポッドキャストなど)をダウンロードすることを含む、利用可能なアクションを表すことができる。インジケータのうちの別のインジケータ1748は、目的地の市、および/またはユーザが目的地の市にいることになる日付に関する、天気予報情報を提供することができる。
図18Aは、インジケータ1802が、ユーザインターフェース1800において表示されるロック画面1804において表示される、例示的なモバイルコンピューティングデバイスのユーザインターフェース1800を示す。インジケータ1802は、本開示の態様による、モバイルコンピューティングデバイスの位置に基づいて利用可能なアクションを表すことができる。より具体的には、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスの位置を使用して、たとえば、過去のユーザ対話、または学習された選好に基づいて、近くのレストランまたは関心を引く他のポイントを識別することができる。ユーザが、以前に特定のレストランまたは関心ポイントへの関心を(たとえば、テキストメッセージを介して、そのレストランについての記事を見ることによって、そのレストランの料理を注文すること、そのレストランにおいて食事することなどによって)表したことがある場合、モバイルコンピューティングデバイス(たとえば、人工知能システム)は、モバイルコンピューティングデバイスが近くにあるとき、そのレストランまたは関心ポイントを識別することができる。
図18Bは、図18Aのインジケータ1802によって表されたレストランに関して利用可能なアクションを表すインジケータ1852、1854が表示される、図18Aのユーザインターフェース1800を示す。たとえば、モバイルコンピューティングデバイスは、図18Aのインジケータ1802に向けられたユーザ入力アクションの検出に応答して、インジケータ1852、1854を表示するように構成され得る。あるインジケータ1852は、レストランから配達用の料理を注文することを含む、利用可能なアクションを表すことができる。別のインジケータ1854は、レストランに関するソーシャルメディアを見ることを含む、利用可能なアクションを表すことができる。
いくつかの実装形態では、インジケータは、レストランまたは関心ポイントの、車椅子で利用しやすい入口および/または出口までナビゲートすることを含む、利用可能なアクションを表すことができる。たとえば、インジケータは、ナビゲーションアプリケーションが、車椅子にとって好適な経路など、好適に利用しやすい経路に沿って、入口/出口までユーザをナビゲートするために利用可能であることを、ユーザに知らせることができる。
追加の開示
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびにそのようなシステムとの間でとられるアクション、および送られる情報について言及する。コンピュータベースのシステムに固有の柔軟性によって、幅広い種類の可能な構成、組合せ、ならびに構成要素の間のタスクおよび機能の分割が可能になる。たとえば、本明細書で説明するプロセスは、単一のデバイスもしくは構成要素、または組合せにおいて働く複数のデバイスもしくは構成要素を使用して実装され得る。データベースおよびアプリケーションは、単一のシステム上で実装されるか、または複数のシステムにわたって分散され得る。分散された構成要素は、逐次または並列に動作することができる。
本主題について、その様々な具体例の実施形態に関して詳細に説明したが、各例は、本開示の限定ではなく、説明として提供されるものである。当業者は、上記の理解を得ると、そのような実施形態の改変、変形、および均等物を容易に作り出すことができる。したがって、本開示は、当業者に容易に明らかになるように、本主題に対するそのような変更、変形、および/または追加の包含を排除しない。たとえば、ある実施形態の一部として例示または説明する特徴は、またさらなる実施形態を生じるために、別の実施形態とともに使用され得る。したがって、本開示は、そのような改変、変形、および均等物を包含するものとする。