(57)【要約】      （修正有）【課題】モバイル・デバイスに表示されたコンテンツに基づいて、選択されたテキストに対するアクションを提案するためのシステムおよび方法を提供する。【解決手段】アクション提案モデルは、ディスプレイ・デバイスを介して行われた選択をクエリに変換し、クエリが与えられるとアクションを予測するためにトレーニングされる。各アクションは、モバイル・アプリケーションに関連付けられ、予測されたアクションを受信し、ディスプレイ・デバイスで予測されたアクションの表示を開始する。検索レコードから、ウェブサイトが高く順位づけられるクエリを識別し、ウェブサイトは、ウェブサイトのモバイル・アプリケーションに対するマッピング内の複数のウェブサイトのうち１つである。また、アクション提案モデルに対するポジティブなトレーニング例を識別されたクエリから生成し、ポジティブなトレーニング例を用いてアクション提案モデルをトレーニングする。【選択図】図１
2020129388.tif 000002
【特許請求の範囲】
【請求項１】
モバイル・デバイスであって、
ディスプレイ・デバイスと、
少なくとも１つのプロセッサと、
命令を格納したメモリと
を備え、
前記命令は、前記少なくとも１つのプロセッサによって実行されたとき、前記モバイル・デバイスに、
前記モバイル・デバイスにおいて、リモート・サーバからアクション提案モデルを受信することであって、前記アクション提案モデルは、対応するクエリに応答して１つまたは複数のアクションを予測するために、複数のユーザの検索レコードから取得されるトレーニング例を用いてトレーニングされ、前記１つまたは複数のアクションの各々は、対応するモバイル・アプリケーションに関連付けられる、ことと、
前記モバイル・デバイスのユーザの検索レコードに基づいて追加のトレーニング例を生成することと、
前記モバイル・デバイスにおいて、前記アクション提案モデルの受信に続いて、前記アクション提案モデルをさらにトレーニングすることであって、前記アクション提案モデルをさらにトレーニングすることにおいて、前記モバイル・デバイスは、前記モバイル・デバイスのユーザに個別化されたアクション提案モデルを生成するために、前記追加のトレーニング例を用いて前記アクション提案モデルをトレーニングする、ことと、
前記アクション提案モデルのさらなるトレーニングに続いて、前記個別化されたアクション提案モデルを生成することと、
前記ディスプレイ・デバイスを介して行われた選択を特定のクエリに変換することと、
前記特定のクエリを前記個別化されたアクション提案モデルに提供して、前記特定のクエリに基づいて前記１つまたは複数のアクションのうちの少なくとも１つを予測することと
を行わせる、モバイル・デバイス。
【請求項２】
前記検索レコードに基づいて追加のトレーニング例を生成することにおいて、前記モバイル・デバイスが、
前記検索レコード内のホワイトリストされたウェブサイトを識別し、
高く順位付けられる前記ホワイトリストされたウェブサイトを含むクエリから前記トレーニング例を生成する、請求項１に記載のモバイル・デバイス。
【請求項３】
前記選択が音声コマンドであり、前記選択を特定のクエリに変換することにおいて、前記モバイル・デバイスが、
前記音声コマンドに単語認識を実行して、認識された単語を生成し、
前記認識された単語を前記クエリとして使用する、請求項１に記載のモバイル・デバイス。
【請求項４】
前記選択を特定のクエリに変換することにおいて、前記モバイル・デバイスが、
前記選択の拡張を決定して、少なくとも１つの拡張されたクエリを生成し、
前記拡張されたクエリを前記アクション提案モデルに提供して、第２の予測されたアクションを生成し、
前記少なくとも１つの拡張されたクエリの表示を開始し、
前記拡張されたクエリの選択を受信したことに応答して、前記第２の予測されたアクションの表示を開始する、請求項１に記載のモバイル・デバイス。
【請求項５】
前記少なくとも１つのプロセッサによって実行されたとき、前記モバイル・デバイスに、
前記ディスプレイ・デバイスでの１つまたは複数の予測されたアクションの表示を開始すること
を行わせる命令を、前記メモリがさらに格納する、請求項１に記載のモバイル・デバイス。
【請求項６】
前記少なくとも１つのプロセッサによって実行されたとき、前記モバイル・デバイスに、
前記１つまたは複数の予測されたアクションのうちの１つの選択を受信することと、
前記１つの選択に関連付けられた前記モバイル・アプリケーションに対する前記クエリを用いてインテントを開始することと
を行わせる命令を、前記メモリがさらに格納する、請求項５に記載のモバイル・デバイス。
【請求項７】
前記１つまたは複数の予測されたアクションの表示を開始することが、
予測されたアクションごとに、当該予測されたアクションに関連付けられた前記モバイル・アプリケーションに対するアイコンを表示すること
を含む、請求項５に記載のモバイル・デバイス。
【請求項８】
前記１つまたは複数の予測されたアクションに対する前記アイコンが、前記ディスプレイ・デバイスに表示されたコンテンツに覆い重ねられる、請求項７に記載のモバイル・デバイス。
【請求項９】
前記選択が画像であり、前記選択を特定のクエリに変換することにおいて、前記モバイル・デバイスが、
前記画像内のエンティティを識別し、
前記エンティティを前記クエリとして使用する、請求項１に記載のモバイル・デバイス。
【請求項１０】
モバイル・デバイスの１つまたは複数のプロセッサによって実施される方法であって、
前記モバイル・デバイスにおいて、リモート・サーバからアクション提案モデルを受信するステップであって、前記アクション提案モデルは、対応するクエリに応答して１つまたは複数のアクションを予測するために、複数のユーザの検索レコードから取得されるトレーニング例を用いてトレーニングされ、前記１つまたは複数のアクションの各々は、対応するモバイル・アプリケーションに関連付けられる、ステップと、
前記モバイル・デバイスのユーザの検索レコードに基づいて追加のトレーニング例を生成するステップと、
前記モバイル・デバイスにおいて、前記アクション提案モデルの受信に続いて、前記アクション提案モデルをさらにトレーニングするステップであって、さらにトレーニングすることは、前記モバイル・デバイスのユーザに個別化されたアクション提案モデルを生成するために、前記追加のトレーニング例を用いることを含む、ステップと、
前記アクション提案モデルのさらなるトレーニングに続いて、前記個別化されたアクション提案モデルを生成するステップと、
ディスプレイ・デバイスを介して行われた選択を特定のクエリに変換するステップと、
前記特定のクエリを前記個別化されたアクション提案モデルに提供して、前記特定のクエリに基づいて前記１つまたは複数のアクションのうちの少なくとも１つを予測するステップと
を有する方法。
【請求項１１】
前記検索レコードに基づいて追加のトレーニング例を生成するステップが、
前記検索レコード内のホワイトリストされたウェブサイトを識別するステップと、
高く順位付けられる前記ホワイトリストされたウェブサイトを含むクエリから前記トレーニング例を生成するステップと
を含む、請求項１０に記載の方法。
【請求項１２】
前記選択が音声コマンドであり、前記選択を特定のクエリに変換するステップが、
前記音声コマンドに単語認識を実行して、認識された単語を生成するステップと、
前記認識された単語を前記クエリとして使用するステップと
を含む、請求項１０に記載の方法。
【請求項１３】
前記選択を特定のクエリに変換するステップが、
前記選択の拡張を決定して、少なくとも１つの拡張されたクエリを生成するステップと、
前記拡張されたクエリを前記アクション提案モデルに提供して、第２の予測されたアクションを生成するステップと、
前記少なくとも１つの拡張されたクエリの表示を開始するステップと、
前記拡張されたクエリの選択を受信したことに応答して、前記第２の予測されたアクションの表示を開始するステップと
を含む、請求項１０に記載の方法。
【請求項１４】
前記ディスプレイ・デバイスでの１つまたは複数の予測されたアクションの表示を開始するステップ
をさらに有する、請求項１０に記載の方法。
【請求項１５】
前記１つまたは複数の予測されたアクションのうちの１つの選択を受信するステップと、
前記１つの選択に関連付けられた前記モバイル・アプリケーションに対する前記クエリを用いてインテントを開始するステップと
をさらに有する、請求項１４に記載の方法。
【請求項１６】
前記１つまたは複数の予測されたアクションの表示を開始するステップが、
予測されたアクションごとに、当該予測されたアクションに関連付けられた前記モバイル・アプリケーションに対するアイコンを表示するステップ
を含む、請求項１４に記載の方法。
【請求項１７】
前記１つまたは複数の予測されたアクションに対する前記アイコンが、前記ディスプレイ・デバイスに表示されたコンテンツに覆い重ねられる、請求項１６に記載の方法。
【請求項１８】
前記選択が画像であり、前記選択を特定のクエリに変換するステップが、
前記画像内のエンティティを識別するステップと、
前記エンティティを前記クエリとして使用するステップと
を含む、請求項１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、発明の名称を「ユーザ選択されたコンテンツに対するアクション提案」とした、２０１５年１０月１日出願の米国特許出願第１４／８７２，５８２号の継続出願であり、その優先権を主張する。
【背景技術】
【０００２】
スマートフォンおよびタブレットのようなモバイル・デバイスの利用により、モバイル・アプリケーションとのユーザ対話が増加している。ユーザがウェブベースのブラウザからモバイル・デバイスの利用に移ると、ユーザはしばしば或るモバイル・アプリから別のモバイル・アプリへデータを容易に転送する能力を失う。一般に、モバイル・アプリケーションは単一の目的であり、或る特定のものは非常に得意であるが、モバイル・アプリケーション間の情報の移動は面倒である可能性があり、ユーザはどのアプリが所与の目的に良好であるか、または、ユーザを支援するアプリをいつ探すべきかすら知らない可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
諸実装では、モバイル・アプリ環境におけるアクション提案を提供する。当該アクションは他のモバイル・アプリケーションに対するインテントであってもよい。当該アクションは、ウェブサイトのモバイル・アプリケーションに対するマッピングを用いてトレーニングされたモデルと当該ウェブサイトが高く順位づけられた検索の例とに基づく。当該モデルはコンパクトであり、一度トレーニングされると、モバイル・デバイスにプッシュすることができ、そこで当該モデルが個別化されうる。個別化が、当該モバイル・デバイスに格納された検索レコードを、より高い重みを有する追加のポジティブな例として使用するステップを含んでもよい。幾つかの実装では、当該モデルが、クエリに対するネガティブな例である、例えば、当該クエリが当該ウェブサイト／モバイル・アプリケーションと相関付けられない、「他の」アクションに対するトレーニング例を含んでもよい。
【０００４】
当該システムは、当該モデルを使用して、スクリーン上で選択された単語または画像に対するアクションを予測してもよい。選択は、ユーザが特にテキストを選択することまたは当該システムが自動的に幾つかの単語を選択し提案を提供することから生じてもよい。幾つかの実装では、当該システムが、当該ユーザが、例えば、タイプまたは発話により当該選択をクエリとして提供でき、その結果、タイプまたは発話された単語が当該選択となるユーザ・インタフェースを含んでもよい。画像が選択されると、当該システムは、当該画像のテキスト説明または当該画像上のエンティティ認識を使用して、当該選択された画像に対するクエリを決定してもよい。当該システムが、当該ユーザが当該選択を修正しかつ／または当該選択に対する共通の拡張を提供できるようにするユーザ・インタフェースを含んでもよい。当該選択されたテキストまたはクエリをついで当該モデルに提供してもよく、当該モデルは当該クエリに対する１つまたは複数のアクションを予測してもよい。当該アクションが、現在のスクリーンに対するオーバレイとして提示されてもよく、アクションごとの選択可能コントロール（例えば、アイコン）を含んでもよい。ユーザがコントロールを選択する場合、当該選択されたクエリを、インテントとともに、当該選択されたコントロールに対応するアプリケーション（例えば、検索インテントのモバイル・アプリケーション）に送信してもよい。当該クエリを当該モデルに提供してもよく、当該モデルはついで、当該クエリに対するアクションを予測してもよい。
【０００５】
１態様によれば、モバイル・デバイスのディスプレイ・デバイスを介して行われた選択をクエリに変換するステップと、当該クエリをアクション提案モデルに提供するステップであって、当該アクション提案モデルはクエリが与えられるとアクションを予測するためにトレーニングされ、各アクションはモバイル・アプリケーションに関連付けられる、ステップと、１つまたは複数の予測されたアクションを受信するステップと、当該ディスプレイ・デバイスでの当該１つまたは複数の予測されたアクションの表示を開始するステップとを含む方法が提供される。
【０００６】
当該方法はさらに、当該１つまたは複数の予測されたアクションのうち１つの選択を受信するステップと、当該選択に関連付けられた当該モバイル・アプリケーションに対するクエリを用いてインテントを開始するステップとを含んでもよい。当該１つまたは複数の予測されたアクションの表示を開始するステップが、予測されたアクションごとに、当該予測されたアクションに関連付けられた当該モバイル・アプリケーションに対するアイコンを表示するステップを含んでもよい。当該１つまたは複数の予測されたアクションに対する当該アイコンは当該ディスプレイ・デバイスに表示されたコンテンツをオーバレイしてもよい。当該選択は画像であってもよく、当該選択をクエリに変換するステップが、当該画像に関するテキストを識別するステップと、当該テキストのうち少なくとも幾つかを当該クエリとして用いるステップを含んでもよい。当該選択は画像であってもよく、当該選択をクエリに変換するステップが、当該画像内のエンティティを識別するステップと、当該エンティティを当該クエリとして使用するステップとを含んでもよい。当該方法はさらに、当該アクション提案モデルをサーバから受信するステップと、当該モバイル・デバイスのユーザに対する検索レコード内のホワイトリストされたウェブサイトを識別するステップと、トレーニング例を、高く順位づけられる当該ホワイトリストされたウェブサイトを含むクエリから生成するステップであって、当該トレーニング例は、当該検索レコード内の当該ホワイトリストされたウェブサイトの順位より高い重みを有する、ステップと、当該トレーニング例を用いて当該アクション提案モデルをトレーニングして、個別化されたアクション提案モデルを生成するステップとを含んでもよい。当該選択は音声コマンドであってもよく、当該選択をクエリに変換するステップが、単語認識を当該音声コマンドに実施するステップと、認識された単語を当該クエリとして使用するステップとを含んでもよい。当該選択をクエリに変換するステップが、少なくとも１つの拡張されたクエリを生成するための当該選択に対する拡張を決定するステップと、当該拡張されたクエリを当該アクション提案モデルに提供して、第２の予測されたアクションを生成するステップと、当該少なくとも１つの拡張されたクエリの表示を開始するステップと、当該拡張されたクエリの選択を受信したことに応答して、第２の予測されたアクションの表示を開始するステップとを含んでもよい。当該モバイル・アプリケーションのうち少なくとも１つが当該モバイル・デバイスにインストールされていなくてもよい。当該方法はさらに、当該予測されたアクションの選択を受信するステップと、当該モバイル・アプリケーションの当該モバイル・デバイスへのインストールを開始するステップとを含んでもよい。
【０００７】
本開示の特定の態様によれば、モバイル・デバイスは、少なくとも１つのプロセッサと、ディスプレイ・デバイスと、当該少なくとも１つのプロセッサにより実行されたとき、当該モバイル・デバイスに動作を実施させる命令を格納したメモリとを備える。当該動作は、当該ディスプレイ・デバイスを介して行われた選択をクエリに変換するステップと、当該クエリをアクション提案モデルに提供するステップであって、当該アクション提案モデルはクエリが与えられるとアクションを予測するためにトレーニングされ、各アクションはモバイル・アプリケーションに関連付けられる、ステップと、１つまたは複数の予測されたアクションを受信するステップと、当該ディスプレイ・デバイスでの当該１つまたは複数の予測されたアクションの表示を開始するステップとを含む。
【０００８】
本開示の特定の態様によれば、方法は検索レコードから、ウェブサイトが対応する検索結果内で高く順位づけられるクエリを識別するステップであって、当該ウェブサイトは、ウェブサイトのモバイル・アプリケーションに対するマッピング内の複数のウェブサイトのうち１つである、ステップを含む。当該方法はまた、アクション提案モデルに対するポジティブなトレーニング例を当該クエリから生成するステップであって、各ポジティブなトレーニング例は、クエリ、ウェブサイト、当該クエリに対する当該検索結果内の当該ウェブサイトの順位に対応する重み、およびモバイル・アプリケーションを有する、ステップと、当該ポジティブなトレーニング例を用いて当該アクション提案モデルをトレーニングするステップとを含む。
【０００９】
当該方法はさらに、第１のモバイル・アプリケーションのマニフェスト内のウェブサイトを識別するステップと、当該ウェブサイトおよび第１のモバイル・アプリケーションを当該マッピングに追加するステップとを含んでもよい。当該方法はさらに、ウェブ・ストア内の同様なモバイル・アプリケーションをクラスタ化するステップであって、第１のモバイル・アプリケーションは第１のクラスタに現れる、ステップと、当該ウェブサイトが高く順位づけられるクエリを識別するステップと、第１のモバイル・アプリケーションにより生成された当該クエリに対する検索結果が第２のモバイル・アプリケーションにより生成された当該クエリに対する検索結果と同様であることを検証するステップであって、第２のモバイル・アプリケーションは第１のクラスタ内にある、ステップと、当該検証に応答して、当該ウェブサイトおよび第２のモバイル・アプリケーションを当該マッピングに追加するステップとを含んでもよい。当該方法はさらに、モバイル・デバイスに格納された検索レコードに基づいて当該モデルを個別化するステップを含んでもよい。当該方法はさらに、当該モデルをクライアント・デバイスにプッシュするステップと、当該クライアント・デバイスのユーザに関連付けられた検索レコード当該モデルを個別化するステップとを含んでもよい。
【００１０】
本開示の特定の態様によれば、方法が、アクション提案指示を受信したことに応答して、モバイル・コンピューティング・デバイスのディスプレイ・デバイスを介して行われた選択をクエリに変換するステップと、アクション提案モデルを用いて、当該クエリに対する少なくとも１つのモバイル・アプリケーションを予測するステップであって、当該アクション提案モデルは、クエリが与えられるとモバイル・アプリケーションを予測するためにトレーニングされる、ステップと、当該少なくとも１つのモバイル・アプリケーションに対する選択可能コントロールの当該ディスプレイ・デバイスへの表示を開始するステップとを含んでもよい。
【００１１】
当該方法はさらに、当該選択可能コントロールの選択を受信するステップと、当該モバイル・アプリケーションへの当該クエリを用いて検索インテントを開始するステップとを含んでもよい。当該選択可能コントロールの表示を開始するステップが、当該モバイル・アプリケーションに対するアイコンを表示するステップを含んでもよい。当該選択をクエリに変換するステップが、少なくとも１つの拡張されたクエリを生成するための当該選択の拡張を決定するステップと、当該拡張されたクエリを第２のモバイル・アプリケーションを生成するために当該アクション提案モデルに提供するステップと、当該少なくとも１つの拡張されたクエリの表示を開始するステップと、当該拡張されたクエリの選択を受信したことに応答して、第２のモバイル・アプリケーションに対する選択可能コントロールの表示を開始するステップとを含んでもよい。当該モバイル・アプリケーションのうち少なくとも１つが、当該モバイル・デバイスにインストールされていなくてもよく、当該方法はさらに、当該選択可能コントロールの選択を受信するステップと、当該モバイル・アプリケーションの当該モバイル・デバイスへのインストールを開始するステップとを含んでもよい。
【００１２】
一般的な態様では、コンピュータ可読記憶デバイスで具現化されたコンピュータプログラム製品は、基板内に形成された少なくとも１つのプロセッサにより実行されたとき、コンピューティング・デバイスに開示された方法、動作、またはプロセスの何れかを実施させる命令を含む。別の一般的な態様は、実質的に、図面のうち少なくとも１つと関連して図示および／または説明され、添付の特許請求の範囲でより十分に説明されるように、スクリーンに表示されたテキストを検出し、インテントにおけるテキスト選択を使用するモバイル・アプリケーションに直接リンクを提供するためのシステムおよび／または方法を含む。
【００１３】
本明細書で説明した主題の実装の１つまたは複数を、以下の利点の１つまたは複数を実現するために、実装することができる。１例として、ユーザは当該ユーザがデバイスのリソースの知識を有することなく、アプリケーションのような、デバイスで利用可能なリソースをより効果的に使用しうる。当該デバイスで利用可能なリソースの利用を改善することは、タスクに対する最も効果的なリソースを自動的に選択し使用しうるので、タスクをより迅速にまたは効果的に実施することを可能としうる。別の例として、実装は、例えば、より少ない当該ユーザからのジェスチャで、当該ユーザがタスクをより迅速に実施するのを支援することでユーザ・エクスペリエンスを改善し、それにより人間とコンピュータのインタフェースを改善しうる。１例として、実装は、ユーザがモバイル・アプリケーションの間で情報をシームレスに転送するための方法を提供して、ユーザが最小限の努力で追加の情報を検索できるようにしてもよい。別の例として、実装は、当該ユーザが当該アプリケーションの知識を有さなくても、当該ユーザが情報を発見／処理するのを支援しうるアプリケーションを提案することで、当該ユーザ・エクスペリエンスを改善しうる。したがって実装は、当該ユーザがより効果的なまたは人気のあるツールを発見するのを支援する。幾つかの実装では、提案された当該アクションを当該モバイル・デバイスの当該ユーザに対してカスタマイズし、当該ユーザが当該提案されたアクションを有用であるとわかる可能性をより高くしてもよい。
【００１４】
実装はまた、パーソナルまたはパブリックな知識グラフ内のエンティティに対応するテキストだけでなく、任意の選択されたテキストに対するアクションを提供する。したがって、実装には、エンティティベースのアクション提案システムより広い利用がある。実装は、当該ユーザが選択により関連する情報を発見するのを支援するアプリケーションを予測し、当該ユーザからの最小限の入力で当該ユーザが当該アプリケーションにナビゲートできるようにすることで、ユーザ・エクスペリエンスを高める。
【００１５】
態様を任意の好都合な形態で実装できることは理解される。例えば、態様を、有形搬送媒体（例えば、ディスク）でありうる適切な搬送媒体上で搬送されうる適切なコンピュータプログラムにより実装してもよい。態様をまた、本発明を実装するように配置されたコンピュータプログラムを実行するプログラム可能コンピュータの形態をとりうる適切な装置を用いて実装してもよい。１態様のコンテキストで説明した特徴を別の態様で実装してもよいように、態様を組み合わせることができる。１つまたは複数の実装の詳細を添付図面および以下の説明で説明する。他の特徴は当該説明と図面から、および添付の特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００１６】
【図１】開示された主題に従う例示的なシステムを示すブロック図である。
【図２Ａ】開示された主題に従うモバイル・コンピューティング・デバイスの例示的なディスプレイを示す図である。
【図２Ｂ】開示された主題に従うモバイル・コンピューティング・デバイスの例示的なディスプレイを示す図である。
【図３Ａ】開示された主題に従うモバイル・コンピューティング・デバイスの例示的なディスプレイを示す図である。
【図３Ｂ】開示された主題に従うモバイル・コンピューティング・デバイスの例示的なディスプレイを示す図である。
【図４】開示された実装に従う、モバイル・コンピューティング・デバイスに表示されたコンテンツに基づいてテキスト選択に対するアクションを提案するための例示的なプロセスの流れ図である。
【図５】開示された実装に従うアクション提案モデルを生成するための例示的なプロセスの流れ図である。
【図６Ａ】開示された実装に従う、選択拡張を伴うモバイル・コンピューティング・デバイスの例示的なディスプレイを示す図である。
【図６Ｂ】開示された実装に従う、選択拡張を伴うモバイル・コンピューティング・デバイスの例示的なディスプレイを示す図である。
【図７】説明された技術を実装するために使用することができるコンピュータ・デバイスの例を示す図である。
【図８】説明された技術を実装するために使用することができる分散コンピュータ・デバイスの例を示す図である。
【発明を実施するための形態】
【００１７】
様々な図面における同様な参照記号は同様な要素を示す。
【００１８】
実装は、オンスクリーン選択に対するモバイル・アプリケーションを予測するシステムおよび方法を含む。当該選択は、スクリーンに表示されたテキストまたは画像またはテキストまたは音声入力の何れかを介して、ユーザ・インタフェースに入力されたクエリであってもよい。既にクエリ形式でない場合、当該選択をクエリに変換してもよい。当該システムは当該クエリを、クエリに対するアクションを予測するようにトレーニングされたモデルに提供してもよい。当該アクションは、モバイル・アプリケーションまたはモバイル・アプリケーションのタイプに対するものであってもよい。当該モデルを、検索レコードから取得された情報に基づいてトレーニングしてもよい。当該モデルは、当該クエリに対する１つまたは複数のアクションを選択可能コントロールの形で提供してもよい。ユーザが当該選択可能コントロールのうち１つを選択すると、当該システムは、当該クエリを用いてインテントを有するコントロールに対応するモバイル・アプリケーションを起動してもよい。インテントは、モバイル・アプリケーションによりサポートされるアクションである。検索または共有のインテントは共通タイプのインテントである。当該検索インテントにより、当該システムは、クエリが与えられると、その検索状態においてモバイル・アプリケーションにリンクすることができる。当該システムは同様に非標準インテントを使用してもよい。例えば、モバイル・アプリカントはマニフェスト・ファイルにおけるインテントを示してもよい。かかる非標準インテントは、当該モバイル・アプリケーションによりサポートされるが、必ずしもオペレーティング・システムによってはサポートされない。一般に、アクションは、当該クエリをパラメータとしてとりうる任意のインテントであってもよい。当該システムはモバイル・デバイスで使用される全てのアプリケーションにわたって動作して、ユーザ・エクスペリエンスを一貫させる。アクション提案機能はしたがって、特定のモバイル・アプリケーションに限定される必要はない。アクション提案も、認識されたエンティティ、例えば、パーソナルまたはパブリックな知識ベースで表されるエンティティに限定されない。さらに、提案されたアクションは、ユーザがまだインストールされていないモバイル・アプリケーションに対するものであってもよく、したがって、有用なモバイル・アプリケーションに関して当該ユーザに通知するための方法としての役割を果たすことができる。
【００１９】
図１は、例示的な実装に従うアクション提案システムのブロック図である。システム１００を使用して、モバイル・デバイスに表示されたコンテンツの選択またはユーザにより入力された選択のためのアクションを提供してもよい。当該アクションはモバイル・アプリケーションに対するインテント（例えば、標準または非標準）を表してもよく、当該ユーザがまだ当該モバイル・デバイスにインストールしていないモバイル・アプリケーションを含むことができる。幾つかの実装では、当該アクションはまた、当該モバイル・アプリケーションに対するウェブミラーを起動してもよい。当該アクションにより表される当該モバイル・アプリケーションを宛先アプリケーションと称してもよく、当該ユーザにより選択されたコンテンツを生成したモバイル・アプリケーションをソース・アプリケーションと考えてもよい。特定の選択に提供されたアクションが、トレーニングされたモデル、例えば、クエリを与えられた場合に１つまたは複数のアクションを予測するためにトレーニングされた機械学習モデルに基づいてもよい。当該システムはしたがって、当該選択をクエリに変換してもよい。図１におけるシステム１００の説明はクライアント・サーバ・システムであり、幾つかのデータ処理はサーバ１１０で発生する。しかし、他の構成およびアプリケーションを使用してもよい。例えば、データ処理がクライアント・デバイス１５０で排他的に発生してもよい。幾つかの実装では、クライアント・デバイス１５０のユーザは、当該処理の部分がサーバ１１０で実施されることを示してもよい。したがって、実装は図示した厳密な構成に限定されない。
【００２０】
アクション提案システム１００がサーバ１１０を含んでもよい。サーバ１１０は、幾つかの異なるデバイス、例えば標準サーバ、１群のかかるサーバ、またはラック・サーバシステムの形態をとるコンピューティング・デバイスまたはデバイスであってもよい。例えば、サーバ１１０を複数のコンピューティング・デバイスにわたって分散方式で実装してもよい。さらに、サーバ１１０をパーソナル・コンピュータ、例えばラップトップコンピュータで実装してもよい。サーバ１１０は、図７に示すようにコンピュータ・デバイス７００、または、図８に示すようにシステム８００の例であってもよい。サーバ１１０が、１つまたは複数の機械実行可能命令またはソフトウェア、ファームウェア、またはそれらの組合せを実行するように構成された基板に形成された１つまたは複数のプロセッサを含んでもよい。当該プロセッサは半導体ベースであることができる。即ち、当該プロセッサはデジタル論理を実施できる半導体材料を含むことができる。サーバ１１０はまた、１つまたは複数のコンピュータ・メモリを含むことができる。当該メモリ、例えば、メイン・メモリは、１つまたは複数のデータを、一時的に、永続的に、準永続的に、またはそれらの組合せの何れかで格納するように構成されてもよい。当該メモリが、当該１つまたは複数のプロセッサにより読み出しかつ／または実行できるフォーマットで情報を格納する任意のタイプの記憶デバイスを含んでもよい。当該メモリが、揮発性メモリ、不揮発性メモリ、またはそれらの組合せを含んでもよく、当該１つまたは複数のプロセッサにより実行されたとき、特定の動作を実施するモジュールまたはエンジンを格納してもよい。幾つかの実装では、当該モジュールを外部記憶デバイスに格納し、サーバ１１０のメモリにロードしてもよい。
【００２１】
アクション提案システム１００のモジュールが、アクション提案モジュール１２０を含んでもよい。アクション提案モジュール１２０は、ホワイトリストされたウェブサイトのモバイル・アプリケーションへのマッピング１３２に基づいて、アクション提案モデル１３０をトレーニングするためのトレーニング例を生成するように構成されてもよい。当該ホワイトリストされたウェブサイトはアクションを実施するために有用であるウェブサイトであってもよい。換言すれば、当該ウェブサイトは、検索インタフェースを含み、クエリに応答してコンテンツを提供するウェブサイトであってもよい。かかるウェブサイトの非包括的な例は、ショッピング・サイト、ウィキ、予約サイト、評価サイト、旅行サイト、チケットサイト等を含む。幾つかの実装では、当該ホワイトリストおよびホワイトリストされたウェブサイトのマッピングは手動で生成され、アクション提案モジュール１２０に提供される。幾つかの実装では、インテント（例えば、検索、共有等）のタイプはマッピング１３２に含まれてもよい。幾つかの実装では、アクション提案モジュール１２０（または別のモジュール）は当該ホワイトリストおよびマッピング１３２を生成してもよい。例えば、アクション提案モジュール１２０はモバイル・アプリケーション・マニフェスト１３６を検索して、当該マニフェストに記載されたウェブサイトを決定してもよい。かかるマニフェスト１３６は従来、開発者、アイコン、説明、バージョン等のようなアプリケーションに関する情報を含む。この情報の幾つかを使用して、当該アプリケーションをインストールするかどうかを判定するためにユーザを支援してもよい。当該情報の幾つかは、アプリケーション・プログラミング・インタフェース（ＡＰＩ）、および当該モバイル・アプリケーションによりサポートされるインテントのような他のアプリケーション開発者に対するものであってもよい。幾つかのモバイル・アプリケーションが非標準インテントを含んでもよく、これらのインテントはマニフェスト・ファイル１３６で識別されてもよい。マニフェスト１３６はしたがって、モバイル・アプリケーションに関する様々な種類のデータを含んでもよく、場合によってはマニフェストは、当該モバイル・アプリケーションのものと同様な機能を提供するウェブサイトへの参照を含む。かかるウェブサイトは場合によってはウェブミラーと称される。マニフェスト１３６が当該モバイル・アプリケーション開発者によりウェブ・ストアに送信されてもよい。アクション提案モジュール１２０はモバイル・アプリケーションのマニフェスト１３６のホワイトリストされたウェブサイトで記述された任意のウェブサイトと考えてもよく、例えば、当該ウェブサイトおよびモバイル・アプリケーションをウェブサイトモバイル・アプリケーション・マップ１３２に追加することで、当該ウェブサイトを当該モバイル・アプリケーションにマップしてもよい。モバイル・アプリケーションが複数のインテントをサポートする場合、アクション提案モジュール１２０は、当該ウェブサイトをマッピングする複数のレコードを当該モバイル・アプリケーションに追加してもよく、それぞれは異なるインテントを有する。
【００２２】
幾つかの実装では、アクション提案モジュール１２０（または別のモジュール）は、エミュレータ１２２を用いてウェブサイトのモバイル・アプリケーション・マップ１３２内のエントリを生成してもよい。エミュレータ１２２はクライアント・デバイスをバッチ環境でエミュレートするように構成されてもよい。換言すれば、エミュレータ１２２は、モバイル・アプリケーションを実行し、当該モバイル・アプリケーションにより生成されたスクリーン・コンテンツを決定するように構成されてもよい。幾つかの実装では、エミュレータ１２２は、クエリを有するインテントをモバイル・アプリケーションに送信し、当該モバイル・アプリケーションはコンテンツを返すかどうかを判定するか、または換言すれば当該クエリに対する結果を返してもよい。幾つかの実装では、当該コンテンツはフレーム・バッファ内の情報であってもよい。幾つかの実装では、当該コンテンツは、フレーム・バッファを生成するためのオペレーティング・システムにより使用される情報であってもよい。当該モバイル・アプリケーションがコンテンツを返すとき、エミュレータ１２２は等価なウェブサイト、例えば、クエリに対する同一のまたは同様な結果を返すものを発見してもよい。エミュレータ１２２が等価なウェブサイトを発見すると、エミュレータ１２２は当該ウェブサイトおよび当該モバイル・アプリケーションおよびインテントをウェブサイトモバイル・アプリケーション・マップ１３２に追加してもよい。
【００２３】
アクション提案モジュール１２０はウェブサイトモバイル・アプリケーション・マップ１３２および検索レコード１３４を使用して、アクション提案モデル１３０をトレーニングするためのポジティブなトレーニング例を生成してもよい。例えば、アクション提案モジュール１２０は、ホワイトリストされたウェブサイト（例えば、ウェブサイトモバイル・アプリケーション・マップ１３２内のウェブサイト）のうち１つを高く順位づけられる検索結果として有するクエリに対する検索レコード１３４を検査してもよい。検索レコード１３４が、検索ログ、クエリから収集された集約されたデータ、またはクエリに基づく任意の他のデータを含んでもよい。幾つかの実装では、検索レコード１３４が、検索結果を生成する正常なプロセスにおいて検索エンジンにより生成されてもよい。高く順位づけられるウェブサイトは、検索結果の初期ページ上にあるかまたはクエリ要求者によりしばしば提供されたウェブサイトであってもよい。検索レコード内のクエリがホワイトリストされたウェブサイトを高く順位づけられる検索結果として含む場合、アクション提案モジュール１２０は、例えば、ウェブサイト−モバイル・アプリケーション・マップ１３２において当該ウェブサイトにマップされるモバイル・アプリケーションをポジティブなトレーニング例として使用してもよい。換言すれば、アクション提案モジュール１２０が、当該クエリを与えたアクション提案モデル１３０を教示するトレーニング例を含んでもよく、当該モバイル・アプリケーションは当該クエリを扱うための良好な候補である。アクション提案モジュール１２０は検索レコード１３４を用いて多数のトレーニング例を生成してもよい。
【００２４】
幾つかの実装では、アクション提案モデル１３０は同様なモバイル・アプリケーションをクラスタ化することによって例の量を増大してもよい。例えば、アクション提案モジュール１２０は、例えば、ウェブ・ストアでまたはモバイル・アプリケーション・マニフェスト１３６内で利用可能なデータに基づくクラスタモバイル・アプリケーションであってもよく、当該クラスタを使用して追加のトレーニング例を生成してもよい。幾つかの実装では、クラスタ内のモバイル・アプリケーションを或るタイプのモバイル・アプリケーションと考えてもよく、ウェブサイトモバイル・アプリケーション・マップ１３２は、当該ウェブサイトを当該クラスタに、例えば、モバイル・アプリケーションのタイプにマップしてもよく、その結果、当該クラスタ内の任意のモバイル・アプリケーションが当該ウェブサイトにマップする。幾つかの実装では、アクション提案モジュール１２０は、エミュレータ１２２を使用して、クラスタ内のモバイル・アプリケーションが所与のクエリに対する同様な結果を生成するかどうかを検証してもよい。当該クラスタ内の特定のモバイル・アプリケーションが同様な結果を当該クラスタ内の他のモバイル・アプリケーションに提供しない場合、特定のモバイル・アプリケーションを当該クラスタから除去し、ネガティブなトレーニング例として使用してもよい。したがって、アクション提案モデル１３０を、特定のアプリケーションを除外するようにトレーニングしてもよい。同様に、アクション提案モジュール１２０は、検索レコード１３４およびモバイル・アプリケーション・マニフェスト１３６内の情報を使用して、他のネガティブなトレーニング例を生成してもよい。例えば、特定のクエリにモバイル・アプリケーションに対するウェブミラーが欠ける場合、即ち、アクション提案モジュール１２０が当該クエリに対する高く順位づけられるウェブ・ページと対応するモバイル・アプリケーションとの間の良いマッチを作れない場合、当該クエリを、１つまたは複数のモバイル・アプリケーションに対するネガティブな例として使用してもよい。
【００２５】
アクション提案モデル１３０は、クエリが与えられた場合に１つまたは複数のアクション（例えば、モバイル・アプリケーション）を予測できる、長短期メモリ（ＬＳＴＭ）ニューラルネットワーク、フィードフォワードニューラルネットワーク、サポート・ベクトル・マシン（ＳＶＭ）分類器等のような任意のタイプの機械学習アルゴリズムであってもよい。幾つかの実装では、アクション提案モジュール１２０は文字ごとにクエリを受理するようにアクション提案モデル１３０をトレーニングしてもよく、モデル１３０は、入力文字のエコーに遭遇したときにのみ予測を行ってもよい。かかる実装では、モデル１３０は、モバイル・デバイスでの記憶および実行のためにそれをコンパクトかつ適切にする非常に小さな語彙を使用する。幾つかの実装では、モデル１３０が、レイヤ、それぞれ６４個のノードを有する２つのＬＳＴＭレイヤ、およびｓｏｆｔｍａｘ分類レイヤを組み込む文字を含んでもよい。幾つかの実装では、モデル１３０をトレーニングして、単語を文字の代わりに入力としてとってもよい。
【００２６】
当該システムはアクション提案モデル１３０を１つまたは複数のクライアント・デバイス、例えば、クライアント・デバイス１５０およびクライアント・デバイス１９０にプッシュしてもよい。クライアント・デバイス１５０は、従来のオープンウェブベース環境ではなく閉モバイル環境で動作するスマートフォンまたは他のハンドヘルドコンピューティング・デバイス、タブレット、ウェラブルコンピューティング・デバイス等のような、任意のモバイル・パーソナル・コンピューティング・デバイスであってもよい。クライアント・デバイスはまた、任意のパーソナル・コンピューティング・デバイスであってもよい。クライアント・デバイス１５０は、図７に示すようにコンピュータ・デバイス７００の例であってもよい。クライアント・デバイス１５０が、ユーザ１８０により使用される１つのモバイル・デバイスであってもよい。ユーザ１８０はまた、クライアント・デバイス１９０のような他のモバイル・デバイスを有してもよい。
【００２７】
クライアント・デバイス１５０が、１つまたは複数の機械実行可能命令またはソフトウェア、ファームウェア、またはそれらの組合せを実行するように構成された基板に形成された１つまたは複数のプロセッサを含んでもよい。クライアント・デバイス１５０はしたがって、１つまたは複数のデータを、一時的に、永続的に、準永続的に、またはそれらの組合せの何れかで格納するように構成された１つまたは複数のコンピュータ・メモリを含んでもよい。クライアント・デバイス１５０はしたがってアプリケーション１５５を含んでもよい。アプリケーション１５５は、機械実行可能命令ソフトウェア、ファームウェア、またはそれらの組合せの形で表す。アプリケーション１５５で識別されるコンポーネントはオペレーティング・システムの一部であってもよい。幾つかの実装では、アプリケーション１５５はモバイル処理環境に対して開発されたモバイル・アプリケーションであってもよい。従来、モバイル・アプリケーションは閉環境で動作し、これは、ユーザが、別々のアプリケーションを使用して、通常はウェブベースのブラウザ環境で実施されるアクティビティを実施することを意味する。例えば、bookit.comに行ってホテルを予約するのではなく、クライアント・デバイス１５０のユーザは、bookit.comにより提供されるモバイル・アプリケーション１５５内のモバイル・アプリケーションを使用することができる。前述のように、モバイル・アプリケーションは、当該モバイル・アプリケーションをミラーする、例えば、当該モバイル・アプリケーションと同一のまたは同様なコンテンツを提供するウェブ・ページを有してもよい。したがって、幾つかの実装では、当該ウェブ・ページ（複数可）（例えば、bookit.com）が、当該モバイル・アプリケーション（例えば、bookit.comにより提供されるかまたはそれに関連付けられたアプリ）のウェブミラーを考慮してもよい。
【００２８】
アプリケーション１５５が、スクリーン・キャプチャ・アプリケーション１６０およびアクション提案アプリケーション１６２を含んでもよい。幾つかの実装では、これらのアプリケーションの１つまたは複数をクライアント・デバイス１５０のオペレーティング・システムにより提供することができる。幾つかの実装では、これらのアプリケーションの１つまたは複数を、当該ユーザによりダウンロードしインストールすることができる。
【００２９】
スクリーン・キャプチャ・アプリケーション１６０は様々な機能を含むことができる。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、スクリーンに表されたテキスト情報を、アプリケーション・プログラム・インタフェース（ＡＰＩ）から取得するように構成されてもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０をオペレーティング・システムに組み込んでもよい。当該オペレーティング・システムは現在のスクリーンに表示されたテキスト・フィールドの内容を決定することができる。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、クライアント・デバイス１５０の現在のスクリーンをキャプチャするように構成されてもよい。スクリーン・キャプチャ・アプリケーション１６０は、当該デバイスのフレーム・バッファの内容をコピーまたは読むことで当該スクリーンをキャプチャしてもよい。当該キャプチャされたスクリーンはしたがって画像であってもよく、キャプチャ画像と称される。スクリーン・キャプチャ・アプリケーション１６０は当該スクリーンをある間隔でキャプチャしてもよい。当該間隔は短くてもよく、例えば半秒ごとまたは毎秒であってもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、タッチ・イベントが発生するたび（例えば、当該ユーザが、当該スクリーンにタッチしてリンクをスクロール、ズーム、クリックするたび等）に、明示的なユーザ要求またはコマンドに応答して、または当該デバイスが或るモバイル・アプリケーションから別のモバイル・アプリケーションに遷移するとき、当該スクリーンをキャプチャするように構成されてもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、当該スクリーンが変化しないときスクリーン・キャプチャが発生する間隔を増大してもよい。換言すれば、当該スクリーンが静的であるとき、スクリーン・キャプチャ・アプリケーション１６０はあまり頻繁に画像をキャプチャしなくてもよい。スクリーン・キャプチャ・アプリケーション１６０は当該キャプチャされたスクリーン画像およびメタデータを認識エンジンに提供してもよい。当該認識エンジンは、クライアント・デバイス１５０または、サーバ１１０のようなサーバの上にあってもよい。当該メタデータが、タイムスタンプ、モバイル・デバイスのタイプ、モバイル・デバイスの識別子、当該スクリーンがキャプチャされたときに実行されているモバイル・アプリケーション、例えば、当該スクリーンを生成したアプリケーション等を含んでもよい。幾つかの実装では、当該メタデータはまた、どのアプリケーションがアクティブであるか、当該デバイスの位置、周辺光、当該デバイスの動き等を含んでもよい。当該システムが、この追加のデバイス情報を使用して、コンテンツ分析（例えば、曖昧性除去）、提案されたアクション生成（例えば、当該デバイスが移動しているとき提案の量を削減する、どのコンテンツが最も関連するかを判定する）等を支援してもよい。
【００３０】
幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、画像で識別されるテキスト、エンティティ、画像、ロゴ等に従ってスクリーン・キャプチャ画像をインデックス付けするように構成されたインデックス付けエンジンを含むことができる。したがって、例えば、当該インデックス付けエンジンはキャプチャ画像に対するインデックス・エントリを生成してもよい。幾つかの実装では当該インデックス付けエンジンがサーバ１１０のようなサーバ上にあってもよく、スクリーン・キャプチャ・アプリケーション１６０は、当該キャプチャ画像および／または当該キャプチャ画像内の認識されたアイテムを当該サーバに提供してもよい。当該インデックスは、キー値（例えば、単語、フレーズ、エンティティ、画像、ロゴ等）が、当該キー値を含むかまたは当該キー値がそこから認識された画像のリストに関連付けられる、反転インデックスであってもよい。当該インデックスが、当該リスト内の各キャプチャされた画像に関連付けられたメタデータ（例えば、当該キー値が発生したキャプチャ画像上の場所、当該画像に対する当該キー値のランク等）を含んでもよい。幾つかの実装では、当該インデックスはまた、タイムスタンプによりインデックス化されたキャプチャされた画像のリストを含んでもよい。当該インデックス付けエンジンは、当該インデックスをメモリ、例えばスクリーン・キャプチャ・インデックス１７２に格納してもよい。勿論、幾つかの実装では、当該システムは、当該インデックスを、クライアント・デバイス１５０上に加えてまたはその代わりに、サーバ上のユーザ・アカウントに格納してもよい。クライアント・デバイス１５０のユーザが、スクリーン・キャプチャ・アプリケーション１６０がアクティブである時点を制御してもよい。例えば、当該ユーザは、他の指定されたモバイル・アプリケーション１５５が実行されているときのみ（例えば、ソーシャル・メディアモバイル・アプリケーションにおけるときのみ）スクリーン・キャプチャ・アプリケーション１６０がアクティブであると指定してもよい。当該ユーザはまた、例えば設定アプリケーションを介して、手動でスクリーン・キャプチャ・アプリケーション１６０をオンおよびオフにしてもよい。幾つかの実装では、当該ユーザは、スクリーン・キャプチャ・アプリケーション１６０を、アクション提案アプリケーション１６２を起動するジェスチャまたはアクションで起動してもよい。
【００３１】
クライアント・デバイス１５０はまた、アクション提案アプリケーション１６２を含んでもよい。アクション提案アプリケーション１６２は、アクション提案モデル１７０またはアクション提案モデル１３０を使用して、ユーザにより提供される選択からクエリを決定し、提案されたアクションを当該クエリに対して提供するように構成されてもよい。幾つかの実装では、ユーザ１８０は特に、アクション提案指示を用いてアクション提案アプリケーション１６２を起動または開始してもよい。幾つかの実装では、当該アクション提案指示はまた、スクリーン・キャプチャ・アプリケーション１６０を起動してもよい。幾つかの実装では、ジェスチャ／アクション、即ち、アクション提案指示が、長押し、２本の指のクリック、またはユーザ１８０がスクリーンの一部をアクティブに選択できるようにするユーザ・インタフェース・コントロールを開始するメニュー（例えば、スワイプ・アップまたはスワイプ・ダウンの後に現れるメニュー）からの選択であってもよい。幾つかの実装では、当該アクション提案指示は選択コントロールを、選択されるべき当該スクリーンの部分にドラッグしてもよい。幾つかの実装では、当該アクション提案指示が、例えば、当該ユーザがアクション提案アプリケーション１６２に固有なユーザ・インタフェースを実行することで、暗黙的であってもよい。例えば、当該ユーザが当該ユーザ・インタフェースを開いてもよく、当該選択をタイプするかまたは発話してもよい。ユーザ１８０が当該スクリーンの一部を画像で、例えば、アイコンまたは画像上の長押しを介して選択する場合、アクション提案アプリケーション１６２は当該画像に関連付けられたテキストを決定し、当該テキストを選択として使用するように構成されてもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０が認識を選択された領域で実施し、テキストをアクション提案アプリケーション１６２に提供してもよい。アクション提案アプリケーション１６２は、当該選択、例えば、スクリーンに現在表示されているテキスト、ユーザ・インタフェースにタイプまたは発話したテキスト、または選択された画像に関連付けられたテキストを、当該アクション提案モデルに対するクエリとして使用してもよい。
【００３２】
幾つかの実装では、アクション提案アプリケーション１６２は当該選択に応答して書き換えられたクエリを提供してもよい。例えば、アクション提案アプリケーション１６２は、例えば、アクション提案モデル１７０、アクション提案モデル１３０から、または別のモジュールから、現在のクエリに対して、または換言すれば当該選択から決定された当該クエリに対して、共通クエリ終了または関連するクエリを決定してもよい。幾つかの実装では、アクション提案アプリケーション１６２は、現在のクエリに対して提案されたアクションに加えてクエリ終了を提供してもよい。当該ユーザが当該書き換えられたクエリのうち１つを選択する場合、図６Ａおよび６Ｂを参照して以下で詳細に説明するように、アクション提案アプリケーション１６２は、当該選択された書き換えられたクエリを現在のクエリとして使用して、当該書き換えられたクエリに対する新たな提案されたアクションを提供してもよい。
【００３３】
アクション提案アプリケーション１６２は、アクション提案モデル１７０またはアクション提案モデル１３０のようなアクション提案モデルを使用して、当該クエリに対する提案されたアクションを決定してもよい。幾つかの実装では、アクション提案モデル１７０はアクション提案モデル１３０のコピーであってもよい。幾つかの実装では、アクション提案モデル１７０はアクション提案モデル１３０の個別化されたコピーであってもよい。例えば、クライアント・デバイス１５０はアクション提案モデル１３０をサーバ１１０、または更新されたアクション提案モデル１３０から受信してもよく、当該モデルのさらなるトレーニングをクライアント・デバイス１５０に実施してもよい。例えば、アクション提案アプリケーション１６２はユーザ・データ１７６を使用してもよい。ユーザ・データ１７６が、アクション提案モデル１７０に対するポジティブなトレーニング例を生成または再重み付けするための、クライアント・デバイス１５０から送信されたクエリまたは特定のモバイル・アプリケーション１５５の利用に関する情報を含んでもよい。アクション提案アプリケーション１６２がユーザ１８０により関連する提案されたまたは予測されたアクションを提供するように、これらの追加のトレーニング例はアクション提案モデル１７０を個別化してもよい。例えば、ユーザ１８０が第１の予約モバイル・アプリケーションをしばしば使用するが第２の予約モバイル・アプリケーションを決して使用しない場合、アクション提案アプリケーション１６２は、アクション提案アプリケーション１６２が第１の予約アプリケーションを提案し第２のものは提案しないように、当該モデルに対する第１の予約モバイル・アプリケーションを上方重み付けしてもよい。
【００３４】
アクション提案モデル１７０は、クエリを与えられた場合に１つまたは複数のアクションを予測するように構成またはトレーニングされる。例えば、アクション提案アプリケーション１６２はモデル１７０にクエリを提供してもよく、モデル１７０は当該クエリに対する１つまたは複数の提案されたアクションを提供してもよい。当該提案されたアクションは、当該クエリを扱うように構成されるモバイル・アプリケーションの形態である。アクション提案アプリケーション１６２は、モバイル・アプリケーションにわたって一貫するように当該提案されたアクション（複数可）を当該デバイスのユーザに提供するユーザ・インタフェースを提供してもよい。幾つかの実装では、当該提案されたアクションは選択可能コントロールの形でであってもよい。当該コントロールは、表示されているスクリーンの上方に表示されたオーバレイ、表示されているスクリーンの背後に表示されたアンダーレイ、または当該モバイル・デバイスのディスプレイ・バッファ内の現在のスクリーンに追加されるように構成された情報であることができる。換言すれば、当該提案されたアクション・コントロールは、それが表示されるときスクリーンの上、下に表示されるか、またはそれに統合されるかに関わらず、当該モバイル・デバイスで生成されたスクリーンに追加された情報を表す。
【００３５】
当該提案されたアクション・コントロールは、対応するアクションを、例えば、インテントを開始する形で開始する選択を検出するように構成されてもよい。当該提案されたアクションはしたがって、ＨＴＭＬベースのドキュメント内のハイパーリンクのように動作する。アクション提案システム１００が当該モバイル・デバイスで実行されている任意のモバイル・アプリケーションに対する当該提案されたアクション・コントロールを提供できるので、アクションはモバイル・アプリケーションにわたって一貫する。
【００３６】
クライアント・デバイス１５０で実行されているとして示されているが、幾つかの実装では、アクション提案アプリケーション１６２はサーバ１１０のようなサーバで実行されるモジュールであってもよい。かかる実装では、スクリーン・キャプチャ・アプリケーション１６０は当該選択、例えば、選択されたテキスト、画像等を、アクション提案アプリケーション１６２に当該サーバで提供してもよく、アクション提案アプリケーション１６２は、アクション提案モデル１３０を用いて、スクリーン・キャプチャ・アプリケーション１６０に当該対応するアクション（複数可）を提供してもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、対応するアクション（複数可）を使用して、提案されたアクションをスクリーン上の選択と統合し当該アクションを選択可能とするインタフェースを提供してもよい。幾つかの実装では、アクション提案アプリケーション１６２は、提案されたアクション・コントロールを、キャプチャ画像内の選択の位置に対応するスクリーン座標と関連付けてもよい。当該座標を、当該選択の近くにしかしそれを完全に不明瞭にしないように選択してもよい。
【００３７】
幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、提案されたアクション・コントロールを現在のスクリーンと統合してもよい。例えば、スクリーン・キャプチャ・アプリケーション１６０が当該選択されたアクションをアクション提案アプリケーション１６２から受信する場合、スクリーン・キャプチャ・アプリケーション１６０は、当該選択されたアクション・コントロールを現在のディスプレイと結合してもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０はオーバレイをアンダーレイとして生成してもよく、または、当該提案されたアクション・コントロールをディスプレイ・バッファ内の現在のスクリーンとインタリーブしてもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、現在表示されているスクリーンが、提案されたアクション・コントロールを表示する前に当該キャプチャされたスクリーン画像と十分に同様であることを検証するように構成されてもよい。例えば、スクリーン・キャプチャ・アプリケーション１６０は、当該コントロールに対する座標または対応する選択に対する座標を使用して、視覚的刺激をキャプチャされた画像から決定し、当該視覚的刺激を現在表示されている画像に対する同一の座標と比較してもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、当該視覚的刺激に対するものと同様な現在の画像内の視覚的要素を短い距離で探すように構成されてもよい。見つかった場合、スクリーン・キャプチャ・アプリケーション１６０は、基盤となるスクリーンの移動とマッチするように、提案されたアクション・コントロールの座標を調整してもよい。幾つかの実装では、スクリーン・キャプチャ・アプリケーション１６０は、キャプチャ画像、選択されたテキストまたは画像、およびアクションを現在のスクリーンの上に表示するアクティビティまたはモードを開始してもよい。以前にキャプチャされた画像、選択されたテキストまたは画像、およびアクションを、ユーザが当該アクションを選択するかまたは表示を（例えば、キャンセルまたは「戻る」コマンドで）キャンセルするまで表示してもよい。
【００３８】
幾つかの実装では、アクション提案アプリケーション１６２はランキング・エンジンを使用して、どの提案されたアクションをモデルから表示するかを判定してもよい。例えば、アクション提案アプリケーション１６２が、上位ランキングの量（例えば、３または４）、または換言すれば最も可能性のある、アクション、または指定された閾値より高い確率スコアを有する任意のアクション、またはこれらの組合せを選択してもよい。幾つかの実装では、当該量または閾値は、デバイスに関するメタデータ、例えば、当該デバイスが移動しているときより低い量または高い閾値に依存してもよい。幾つかの実装では、当該提案されたアクションの表示が、スクロール可能であってもよく、例えば、最初に表示されたものより多いアクションからユーザが選択できるようにしてもよい。
【００３９】
クライアント・デバイス１５０がデータ・ストア１５７を含んでもよい。データ・ストア１５７はクライアント・デバイス１５０のメモリに格納され、アプリケーション１５５により使用される。幾つかの実装では、データ・ストア１５７が、アクション提案モデル１７０、スクリーン・キャプチャ・インデックス１７２、およびユーザ・データ１７６を含んでもよい。これらのデータ・ストアの１つまたは複数はユーザ・アカウントまたはプロフィールに関連付けられてもよい。したがって、当該データ・ストアはまた、サーバ１１０に存在してもよい。さらに、データ・ストア１５７の１つまたは複数は、サーバ１１０または当該ユーザにより指定された別の位置に格納されたデータのコピーまたはサブセットであってもよい。データ・ストア１５７を任意の非一時的メモリに格納してもよい。
【００４０】
クライアント・デバイス１５０は、ネットワーク１４０を介してサーバ１１０とおよび他のクライアント・デバイス１９０と通信してもよい。ネットワーク１４０は例えば、インターネットであってもよく、またはネットワーク１４０は例えば、ゲートウェイデバイス、ブリッジ、スイッチ等を用いて実装された有線または無線ローカル・エリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）等であることができる。ネットワーク１４０はまた、セルラ通信ネットワークを表してもよい。ネットワーク１４０を介して、サーバ１１０はクライアント・デバイス１５０および１９０と通信しそれとデータを送受信してもよく、クライアント・デバイス１５０は他のクライアント・デバイス１９０（図示せず）と通信してもよい。
【００４１】
アクション提案システム１００は１つの例示的な構成を表し、実装は他の構成を組み込んでもよい。例えば、幾つかの実装は、エミュレータ１２２、アクション提案モジュール１２０、またはアクション提案アプリケーション１６２のコンポーネントの１つまたは複数を単一のモジュールまたはエンジンに結合してもよい。同様に、幾つかの実装は、スクリーン・キャプチャ・アプリケーション１６０およびアクション提案アプリケーション１６２の１つまたは複数を単一のモジュールまたはアプリケーションに結合してもよい。さらに、アクション提案アプリケーション１６２またはスクリーン・キャプチャ・アプリケーション１６０のコンポーネントの１つまたは複数をサーバ１１０で実施してもよく、エミュレータ１２２またはアクション提案モジュール１２０のコンポーネントの１つまたは複数をクライアント・デバイス１５０で実施してもよい。別の例として、モバイル・アプリケーション・マニフェスト１３６、検索レコード１３４、アクション提案モデル１３０、またはウェブサイト−モバイル・アプリケーション・マップ１３２のようなデータ・ストアの１つまたは複数を、単一のデータ・ストアに結合してもよく、または、複数のコンピューティング・デバイスにわたって分散してもよく、またはクライアント・デバイス１５０に格納してもよい。同様に、スクリーン・キャプチャ・インデックス１７２およびユーザ・データ１７６の１つまたは複数をサーバ１１０またはユーザにより指定された別の位置に格納してもよい。
【００４２】
アクション提案システム１００がユーザ固有のデータを収集し格納するまたはパーソナル情報を利用しうる範囲で、当該ユーザに、プログラムまたは特徴がユーザ情報（例えば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、ユーザの嗜好、またはユーザの現在の位置に関する情報）を収集するかどうかを制御するか、または、当該ユーザにより関連しうるコンテンツを受信かどうかおよび／またはその方法を制御する機会を提供してもよい。さらに、特定のデータを、個人的に識別可能な情報が除去されるように、それが格納または利用される前に１つまたは複数の方法で処理してもよい。例えば、個人的に識別可能な情報を決定できないように検索レコードを処理してもよく、かつ／または、ユーザの地理的位置を、ユーザの特定の位置を決定できないように、位置情報が取得される場所で（例えば都市、ＺＩＰコード、または州レベルに）一般化してもよい。したがって、当該ユーザは、どのように情報が当該ユーザに関して収集されアクション提案システム１００により使用されるかに対する制御を有しうる。
【００４３】
図２Ａおよび２Ｂは、開示された主題に従うクライアントコンピューティング・デバイスの例示的なディスプレイ２００ａおよび２００ｂである。当該ディスプレイは、図１のクライアント・デバイス１５０のようなモバイル・デバイスのディスプレイであってもよい。図２Ａにおいて、ユーザは、スクリーン２００ａに表示されたコンテンツの選択２０５を行っている。選択２０５は、ソース・プログラムによりスクリーンに表示されたテキスト「patio」である。選択２０５は視覚的にマークされてもよく、その結果、それは幾つかの態様において周囲のコンテンツと異なる。例えば選択２０５はハイライトされてもよく、フォントカラー変化を有してもよく、それを囲む形状を有してもよい等である。アクション提案アプリケーション１６２は当該選択されたテキストをクエリとして使用してもよく、クエリpatioをアクション提案モデル１７０に送信してもよい。アクション提案モデル１７０は当該クエリに応答して１つまたは複数の提案されたアクションを提供してもよい。図２Ｂは当該提案されたアクションの幾つかの例を示す。例えば、アクション２１０は、ショッピング・モバイル・アプリケーションまたはオンライン市場モバイル・アプリケーションを表すアイコンであってもよい。ユーザがアクション２１０を選択する場合、アクション提案アプリケーション１６２は、当該ショッピング・モバイル・アプリケーションを検索インテントで起動してもよい（例えば、フォーカスを当該ショッピング・モバイル・アプリケーションまたは換言すれば宛先アプリケーションに切り替える）。検索インテントは、検索状態、または換言すれば検索ユーザ・インタフェースにおいてアプリケーションを開くオペレーティング・システム標準である。検索インテントはモバイル・アプリケーションおよびウェブアプリケーションと動作することができる。当該検索インテントはクエリ・パラメータをサポートしてもよく、その結果、当該モバイル・アプリケーションには、当該クエリが当該検索インテントの一部として提供され、当該モバイル・アプリケーションが検索結果ページまたはユーザ・インタフェースを開くかまたは起動する。実装はまた、当該クエリをパラメータとしてとりうる、標準（即ち、オペレーティング・システムによりサポートされる）または非標準（即ち、モバイル・アプリケーションによりサポートされるがオペレーティング・システムによってはサポートされない）の何れかで、他のインテントを使用してもよい。したがって、アクション２１０の選択は、クエリpatioをショッピング・モバイル・アプリケーションに渡して、当該クライアント・デバイスにショッピング・モバイル・アプリケーションを開くかフォーカスをそれに切り替えさせてもよく、当該ショッピング・モバイル・アプリケーションは当該クエリの結果ページを表示してもよい。このように、アクション提案アプリケーション１６２は、検索を実施しコンテキストを切り替えるのに必要な入力を減らし、ユーザ・エクスペリエンスを改善する。
【００４４】
アクション２２０はレストラン予約モバイル・アプリケーションを表してもよい。ショッピング・モバイル・アプリケーションと同様に、当該レストラン予約モバイル・アプリケーションはまた検索インテントを含んでもよく、ユーザがアクション２２０を選択すると、当該予約モバイル・アプリケーションはクエリpatioに応答して検索結果インタフェースで開いてもよい。アクション２３０は、例えば、単語の定義を提供する辞書モバイル・アプリケーションであってもよい。アクション２３０の選択は、クエリpatioに対する検索結果を有するインタフェース内の辞書モバイル・アプリケーションにコンテキストを切り替えてもよい。アクション２４０は検索エンジン、例えば、クライアント・デバイス１５０にローカルな検索エンジンまたはインターネット検索エンジンを表してもよい。アクション２４０の選択は、当該検索エンジンへのコンテキストをクエリpatioに対する検索結果ページに切り替えてもよい。勿論、図２Ｂに示されたアクションは例にすぎず、他の提案されたアクションをユーザに提示してもよい。図２Ｂのアクションの提示が、ソース・アプリケーションにより生成されたスクリーンの内容の一部をオーバレイするバー内に示される。実装が、当該アクションのカルーセル・ディスプレイ、円形ディスプレイ、メニュー・ディスプレイ等のような他の配置を含んでもよい。
【００４５】
図３Ａおよび３Ｂは、開示された主題に従うモバイル・コンピューティング・デバイスの例示的なディスプレイである。図１のシステム１００のようなアクション提案システムは、ユーザが、例えば、クエリ３０５を入力することで特定の選択を入力するために、図３Ａおよび３Ｂのユーザ・インタフェース３００を提供してもよい。クエリ３０５がタイプまたは発話されてもよい。したがって、当該選択がソース・アプリケーションにより表示するために生成されたコンテンツであるのではなく、ユーザ・インタフェース３００がアクション提案アプリケーション自体により生成されてもよく、ユーザに当該選択を当該アクション提案アプリケーションに直接提供することを可能としてもよい。かかるユーザ・インタフェース３００を、当該アクション提案アプリケーションに対するランチャと考えてもよい。当該システムは、例えば、図１のアクション提案モデル１７０のようなアクション提案モデルへの入力としてクエリ３０５を使用してもよい。当該モデルは提案されたアクションを当該クエリに提供してもよい。図３Ｂの例では、当該モデルは、予約アクション３１０、旅行アクション３２０、ヘルプ・アクション３３０、および航空会社アクション３４０を提案してもよい。各アクションは、上述のように、選択可能コントロールに関連付けられてもよい。当該選択可能コントロールは、当該アクションに関連付けられたモバイル・アプリケーションに関連付けられたアイコンであってもよい。したがって、予約アクション３１０は予約モバイル・アプリケーションに対するアイコンおよびアクション３１０の選択に関連付けられてもよく、または換言すればアクション３１０に対するコントロールは当該予約アプリケーションを検索インテントで起動してもよい。当該検索インテントがクエリ３０５をパラメータとして有してもよい。したがって、当該クライアント・デバイスは、予約アプリケーション３１０を起動して、クエリ３０５に応答して、結果を有する結果スクリーンを再検索してもよい。ユーザ・インタフェース３００によりしたがって、ユーザは特定のクエリを提供して、当該クエリに適切なアクションを提供することができる。
【００４６】
幾つかの実装では、ユーザは、モバイル・アプリケーションのうち１つをインストールしていなくてもよい。例えば、当該ユーザは、旅行アクション３２０に対応する旅行アプリケーションをインストールしていなくてもよい。アクション３２０に対するコントロールの選択は、デバイスに当該アプリケーションに対するダウンロード・プロセスを開始させてもよい。したがって、ユーザ・インタフェース３００は、ユーザが当該モバイル・アプリケーションについて知らない場合であっても他人が有用であると考える、アクション、または換言すればモバイル・アプリケーションを当該ユーザに提供してもよい。幾つかの実装では、当該ユーザが当該旅行アプリケーションをインストールしていない場合、当該システムは、当該アクションを、インターネット検索モバイル・アプリケーション、辞書アプリ、ウィキアプリ等に対する検索インテントに変換してもよい。図２Ａ、２Ｂ、３Ａ、および３Ｂで示されたユーザ・インタフェースは、知識ベースでエンティティに結び付けられるかまたはエンティティタイプに対するテンプレートに適合する選択だけでなく任意の選択で動作する。したがって、これらの図面のユーザ・インタフェースは、関連付けられたアクションを有する選択を大幅に拡張する。さらに、アクション・コントロールがアイコンベースとして示されているが、アクション・コントロールがテキストベースまたはテキストと画像の組合せであることができる。したがって、当該アクション・コントロールが、テキストベース、画像ベース、またはテキストおよび画像コントロールの組合せを含むことは理解される。
【００４７】
図４は、開示された実装に従う、モバイル・コンピューティング・デバイスに表示されたコンテンツに基づいてテキスト選択に対するアクションを提案するための例示的なプロセス４００の流れ図を示す。プロセス４００を図１のシステム１００のようなアクション提案システムにより実施してもよい。プロセス４００を使用して、クエリに対する提案されたアクションを決定してもよい。当該クエリは、スクリーン・キャプチャ画像からまたはユーザ・インタフェースを起動するアクション提案から識別される。プロセス４００は、アクション提案モデルを生成するステップ（４０５）により開始してもよい。当該アクション提案モデルは提案されたアクションを提供してもよい。即ち、モバイル・アプリケーションに、所与のクエリを使用するインテントを提供してもよい。当該クエリは、当該モバイル・コンピューティング・デバイスのユーザにより行われた選択に基づいてもよい。当該インテントは、任意の標準または非標準インテントのうち１つであることができる。図５はアクション提案モデルを構築する１例を示す。特に図４に示されてはいないが、当該システムは当該モデルをサーバで構築し、当該モデルをクライアント・デバイスにプッシュしてもよい。
【００４８】
当該システムは、アクション提案指示の受信に続いて選択を受信してもよい（４１０）。当該選択は、アクション提案ユーザ・インタフェースに直接入力されたクエリの形であってもよい。当該選択はまた、クライアント・デバイスのスクリーンに表示されたコンテンツから選択されたテキストまたは画像の形であってもよい。例えば、当該ユーザは、オンスクリーン・コンテンツを選択するためのインテントを示すアクション提案指示を提供してもよい。当該システムは、テキスト、画像、またはテキストおよび画像の組合せをオンスクリーン要素から選択するための能力をユーザに提供してもよい。当該アクション提案指示は、例えば、長押し、２つの指の押下であってもよく、または当該ユーザは選択されるスクリーンの領域にわたってセレクタ・ツールをドラッグしてもよい。幾つかの実装では、当該ユーザは、選択の境界を変更、例えば、追加の単語を追加するかまたは当該選択を狭める機会を有してもよい。幾つかの実装では、当該選択はまたクエリ拡張であってもよい。例えば、ユーザはテキストを選択してもよく、当該システムは、クエリ（例えば、選択）を修正するための提案として共通な拡張を提供してもよい。当該ユーザが当該クエリ拡張のうち１つを選択する場合、当該クエリ拡張は選択になる。
【００４９】
当該システムはついで、当該選択をクエリに変換してもよい（４１５）。当該ユーザがスクリーン上のテキストまたはクエリ内のタイプを選択する場合、当該システムは当該選択を直接クエリに変換してもよい。したがって、図２Ａの例において、選択されたテキストpatioはクエリとして使用される。ユーザが画像を選択する場合、当該システムは、当該画像に関連付けられたテキストを決定し、当該テキストを選択として使用してもよい。例えば、幾つかの画像は、当該画像のテキスト説明を含む画像タグを含む。かかるタグは視覚的なオンスクリーンでなくてもよいが、視覚障碍者を支援するためのソフトウェアにより使用されることができ、当該画像をインデックス付けするために検索エンジンにより使用されてもよい。当該システムは、画像タグ内のテキストをクエリとして用いることで、当該選択された画像をクエリに変換してもよい。別の例として、当該画像は、テキスト認識プロセスを介して決定できるテキストを含んでもよい。当該システムは、画像内でクエリとして認識されたテキストを用いることで、当該選択された画像をクエリに変換してもよい。別の例として、当該画像は知識ベース内のエンティティに関連付けられてもよい。当該知識ベースが、当該画像に対するテキスト説明またはタイトルを含んでもよい。当該システムはテキスト説明またはタイトルをクエリとして使用してもよい。
【００５０】
当該システムは当該クエリをアクション提案モデルに提供してもよい（４２０）。当該モデルは、クエリを与えられた場合に１つまたは複数のアクションを予測するためにトレーニングされた機械学習アルゴリズムであってもよい。幾つかの実装では、当該システムは当該クエリを一度に１文字当該モデルに提供して、当該モデルの語彙を削減する。当該モデルは当該クエリに対する予測されたまたは提案されたアクションを提供してもよく、当該システムは当該クエリをユーザに提供してもよい（４２５）。例えば、当該システムは、ユーザがアクションを選択できるようにする、アクションごとの選択可能コントロールを提供してもよい。当該アクションは、検索インテントまたは共有インテントのようなモバイル・アプリケーションに対するインテントを表す。当該アクションはまた、例えばクライアント・デバイスがブラウザで実行されているラップトップであるとき、ウェブサイトに対する検索インテントを表すことができる。当該システムは、ユーザがアクションを選択する（４３０、はい）かまたはアクション提案インタフェースを終了する（４３０、いいえ）のを待機する。当該ユーザが提案されたアクションを選択しない場合（４３０、はい）、当該システムは、インテントを有するアクションにより表されるモバイル・アプリケーションの実行を、当該クエリを当該インテント内のパラメータとして用いて開始してもよい（４３５）。幾つかの実装では、当該インテントは、検索インテントまたは共有インテントのような標準インテントである。したがって、当該クライアント・デバイスは、現在実行しているアプリケーションすべて、例えば、ソース・アプリケーションからコンテキストを、選択されたアクションにより表されるモバイル・アプリケーション、例えば、宛先アプリケーションに切り替える。クライアント・デバイスがモバイル・デバイスでない実装では、当該アクションは当該モバイル・アプリケーションをミラーする特定のウェブサイト内の検索インタフェースに関連付けられてもよく、当該システムは、ブラウザに、当該クエリをパラメータとして用いて、検索インテントを有する検索インタフェースにナビゲートさせてもよい。したがって、ユーザは、宛先アプリケーション（例えば、モバイル・アプリケーションまたは当該モバイル・アプリケーションのウェブミラー）に自動的に切り替えることができる。
【００５１】
幾つかの実装では、アクションは、モバイル・デバイスにインストールされていないモバイル・アプリケーションに関連付けられてもよい。これが発生すると、選択されたエンティティに対するアクションは、選択されたとき、ユーザが当該モバイル・アプリケーションをダウンロードおよびインストールできるインタフェースに当該ユーザを導くか、または当該モバイル・アプリケーションのインストールを自動的に開始する二次アクションであってもよい。したがって、当該アクションの選択により、当該ユーザが当該モバイル・アプリケーションをインストールできてもよいことは理解される。幾つかの実装では、当該モバイル・アプリケーションのインストールに成功した後、当該システムは、新たにインストールされたモバイル・アプリケーションを開くためのパラメータとして当該クエリを用いて、インテントを自動的に開始してもよい。幾つかの実装では、当該ユーザが特定のモバイル・アプリケーションをインストールしていない場合、当該システムは当該クエリのブラウザベースの検索を置き換えてもよい。幾つかの実装では、アクションが指定されない場合、当該システムは、当該クエリを扱うためのブラウザ検索またはカット／コピーオプションのようなユーザ・インタフェースを介してデフォルト・オプションを提供してもよい。
【００５２】
図５は、開示された実装に従う、アクション提案モデルを生成するための例示的なプロセス５００の流れ図を示す。プロセス５００を図１のシステム１００のようなアクション提案システムにより実施してもよい。プロセス５００は図４のステップ４０５の例であり、図１のモデル１３０またはモデル１７０のようなアクション提案アクションモデルを構築するために使用してもよい。プロセス５００は、モバイル・アプリケーション・マッピングに対するウェブサイトを取得することにより開始してもよい（５０５）。幾つかの実装では、当該マッピングを提供、例えば、手でキュレートしてもよい。幾つかの実装では、当該システムが当該マッピングを構築してもよい。例えば、当該システムは、モバイル・アプリケーション・マニフェストを使用してモバイル・アプリケーションに対するウェブサイト・ミラーを決定してもよい。幾つかの実装では、当該システムが、同様なモバイル・アプリケーションをクラスタ化し全ての同様なアプリケーションをウェブサイト・ミラーにマップすることで、当該マッピングを補強してもよい。例えば、フライト、レンタカー、ホテル等を予約するための幾つかの予約モバイル・アプリケーションがあってもよく、これらが従来のクラスタ・アルゴリズムを用いてクラスタ化してもよい。幾つかの実装では、当該システムはクラスタ内の各アプリケーションをウェブサイト・ミラーにマップしてもよい。幾つかの実装では、当該システムは、どのモバイル・アプリケーションにウェブサイトがマップされるかを判定するためのエミュレータを使用してもよい。例えば、当該エミュレータは、クエリを検索レコードから取得し、様々なモバイル・アプリケーション（例えば、ウェブ・ストアを介して利用可能なもの）の実行をシミュレートするように構成されてもよい。当該エミュレータは、特定のモバイル・アプリケーションが同一のクエリを与えられた場合に当該ウェブサイトと同様な結果を返すかどうかを判定してもよい。そうである場合、当該エミュレータは当該ウェブサイトを当該モバイル・アプリケーションにマップしてもよい。幾つかの実装では、当該エミュレータは、クエリをモバイル・アプリケーションに提供し、当該モバイル・アプリケーションがコンテンツ状態で終了する、または、換言すれば当該クエリに対する正当な検索結果を返かどうかを判定するように構成されてもよい。その場合、当該システムが、ウェブサイト・ミラー、例えば、同一のクエリを与えられた場合に同様な結果を返すものを発見してもよい。これらの方式の何れかにおいて、当該システムはモバイル・アプリケーション・マッピングに対して当該ウェブサイトを構築してもよい。
【００５３】
当該システムは、モデルをトレーニングするためのポジティブなトレーニング例を識別してもよい（５１０）。当該ポジティブなトレーニング例を検索レコードから抽出してもよい。当該検索レコードが、インターネット検索エンジンのユーザにより送信されたクエリの匿名化されたレコードであってもよい。当該システムは、当該検索レコード内のクエリに対して高く順位づけられる結果を選択してもよい。結果は、それが当該クエリに対して高い関連性を有するとき、または、当該結果が高いクリック率を有する、例えば、クエリ要求者によるさらなる視聴に対してしばしば選択されるとき、高く順位づけられると考えてもよい。高く順位づけられるウェブサイトは当該クエリに対するポジティブな例と考えられ、したがって当該高く順位づけられるウェブサイトにマップされるモバイル・アプリケーションは当該クエリに対するありうるアクションを表す。幾つかの実装では、当該ポジティブなトレーニング例が、当該検索レコード内のクエリに対するウェブサイトの関連性に等しい重みを有してもよい。幾つかの実装では、当該ポジティブなトレーニング例がクリック率に比例する重みを有してもよい。幾つかの実装では、当該システムはまた、ネガティブな例を生成してもよい。例えば、クエリに対して高く順位づけられるウェブサイトにマップされないモバイル・アプリケーションはネガティブな例であってもよい。同様に、高く順位づけられる検索結果が対応するモバイル・アプリケーション（例えば、マッピング）をもたないとき、任意のモバイル・アプリケーションをそのクエリに対するネガティブな例として使用してもよい。
【００５４】
当該システムは、ポジティブなトレーニング例およびネガティブな例を使用してアクション提案モデルをトレーニングしてもよい（５１５）。当該システムは当該トレーニングされたモデルをクライアント・デバイスに提供してもよい（５２０）。幾つかの実装では、アクション提案アプリケーションがインストールされるかまたは当該モデルが更新されたとき、当該モデルをクライアント・デバイスにプッシュしてもよい。幾つかの実装では、当該アクション提案アプリケーションは、当該モデルを当該サーバから、例えば、アプリケーション更新の一部としてプルしてもよい。当該クライアント・デバイスで、当該システムは当該モデルを個別化するかどうかを判定してもよい（５２５）。個別化がされない場合（５２５、いいえ）、プロセス５００は終了する。そうでなければ（５２５、はい）、当該システムは、当該クライアント・デバイスまたは当該クライアント・デバイスのユーザに関連付けられた検索レコードからポジティブなトレーニング例を識別してもよい（５３０）。例えば、当該システムは、上述のように、ユーザ・プロフィールに関連付けられた検索レコードを使用して追加のポジティブなトレーニング例を追加してもよい。さらにまたはあるいは、当該クライアント・デバイスおよび／または当該ユーザに関連付けられた検索レコードを、トレーニング例を再重み付けするために使用してもよい。当該システムは、更新された例を使用して当該モデルをさらにトレーニングしてもよい（５３５）。したがって、当該モデルをトレーニングして、当該ユーザに最も関連するアクションを予測してもよい。プロセス５００は次いで終了する。
【００５５】
図６Ａおよび６Ｂは、開示された実装に従う、選択拡張を伴うモバイル・コンピューティング・デバイスの例示的なディスプレイである。図１のシステム１００のようなアクション提案システムは、クエリ拡張を提供するために図６Ａおよび６Ｂのユーザ・インタフェース６００を提供してもよい。図６Ａの例において、ユーザは選択６０５を行い、テキスト「Dark Knight」を選択している。当該システムは、選択６０５に対する４つの提案されたアクション、即ち映画データベース・アクション６２０、映画レビュー・アクション６２５、夕食予約アクション６３０、および検索アクション６３５を提供している。提案されたアクション６２０乃至６３５に加えて、当該システムはまた、クエリ拡張６１０を提供している。クエリ拡張６１０は、他人が検索した選択６０５のクエリと同様であるかまたはそれを含むクエリを表してもよい。当該システムはクエリ拡張６１０を当該アクション提案モデルから、検索レコードから、またはクエリ拡張モジュールから、取得してもよく、当該クエリ拡張モジュールはサーバまたは当該クライアント・デバイス上で実行されてもよい。当該クエリ拡張モジュールは検索レコードから決定された共通クエリ拡張へのアクセスを有してもよい。図６Ａの例において、「Dark Knight」クエリに対するクエリ拡張は「Dark Knight trailer」、「Dark Knight reviews」および「Dark Knight show times」である。図６Ｂの例において、当該ユーザは「Dark Knight show times」を選択しており、これは、現在の選択６１５となり、dark knight show timesというクエリに変換される。当該システムはこのクエリを当該アクション提案モデルに提供してもよく、当該アクション提案モデルは当該改良されたクエリを使用してアクションを再順位付けてもよい。幾つかの実装では、当該モデルは、図６Ｂに示されたような提案されたアクション６４０、６２５、および６２０のような新たな組の提案されたアクションを提供してもよい。アクション６４０はローカル映画時間を提供するモバイル・アプリケーションに対するものであってもよい。アクション６２５および６２０は図６Ａに関して説明したものと同一であるが、その順序は変更されており、映画レビュー・アクション６２５を映画データベース・アクション６２０の前に置く。したがって、図６Ａおよび６Ｂは、選択に対するクエリ拡張を提案するユーザ・インタフェースと、当該クエリ拡張がアクションおよび／または当該元のクエリと異なる提案されたアクションをどのように様々に順位づけうるかとを示す。
【００５６】
ここで、本明細書で説明した様々な実施形態にも適用可能であるが、アクションの提供がコンテンツ、レイアウト、機能または画像をデバイスのスクリーンに表示する他の態様の利用権限と一貫し、したがって能力を設定するかどうかを判定する能力を提供しうることに留意されたい。例えば、コンテンツまたは選択を制限する設定を、そのような設定がサービス、コンテンツライセンス、または他の使用制限の条項に違反しうる場面で提供してもよい。かかる設定を手動でまたは自動的に、例えば、新たなサービスまたはデバイス利用許可を確立するときにユーザにより、またはアプリインストールルーチン等により、行ってもよい。
【００５７】
図７は汎用コンピュータ・デバイス７００の例を示し、これは図１のサーバ１１０、および／またはクライアント１５０として動作してもよく、これらを本明細書で説明した技術で使用してもよい。コンピューティング・デバイス７００は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、携帯電話、スマートフォン、タブレット、サーバ、およびウェラブルデバイスを含む他のコンピューティング・デバイスのような様々な例示的な形態のコンピューティング・デバイスを表すことをインテントする。本明細書で示したコンポーネント、それらの接続および関係、およびそれらの機能は例にすぎず、本願で説明および／またはクレームした本発明の諸実装を限定することを意味しない。
【００５８】
コンピューティング・デバイス７００は、プロセッサ７０２、メモリ７０４、記憶デバイス７０６、およびインタフェース７０８を介して接続された拡張ポート７１０を含む。幾つかの実装では、コンピューティング・デバイス７００が、インタフェース７０８を介して接続されたトランシーバ７４６、通信インタフェース７４４、およびＧＰＳ（全地球測位システム）受信機モジュール７４８、他のコンポーネントのうちを含んでもよい。デバイス７００は通信インタフェース７４４を通じて無線で通信してもよく、通信インタフェース７４４が、必要に応じてデジタル信号処理回路を含んでもよい。コンポーネント７０２、７０４、７０６、７０８、７１０、７４０、７４４、７４６、および７４８の各々を共通マザーボードにまたは必要に応じて他の方式でマウントしてもよい。
【００５９】
プロセッサ７０２は、ディスプレイ７１６のような外部入出力デバイス上のＧＵＩに対するグラフィカル情報を表示するためのメモリ７０４または記憶デバイス７０６上に格納された命令を含む、コンピューティング・デバイス７００内で実行するための命令を処理することができる。ディスプレイ７１６はモニタまたはフラットタッチスクリーンディスプレイであってもよい。幾つかの実装では、複数のプロセッサおよび／または複数のバスを複数のメモリおよびメモリのタイプとともに必要に応じて使用してもよい。また、複数のコンピューティング・デバイス７００を接続してもよく、各デバイスは当該必要な動作の部分を（例えば、サーバ・バンク、１群のブレードサーバ、またはマルチプロセッサシステムとして）提供する。
【００６０】
メモリ７０４は情報をコンピューティング・デバイス７００内に記憶する。１実装では、メモリ７０４は１つまたは複数の揮発性メモリ・ユニットである。別の実装において、メモリ７０４は１つまたは複数の不揮発性メモリ・ユニットである。メモリ７０４はまた、磁気または光ディスクのような別の形態のコンピュータ可読媒体であってもよい。幾つかの実装では、メモリ７０４が、拡張インタフェースを通じて提供される拡張メモリを含んでもよい。
【００６１】
記憶デバイス７０６は大容量記憶をコンピューティング・デバイス７００に提供することができる。１実装では、記憶デバイス７０６は、記憶領域ネットワークまたは他の構成でのデバイスを含む、フロッピディスク・デバイス、ハード・ディスク・デバイス、光ディスク・デバイス、またはテープ・デバイス、フラッシュ・メモリまたは他の同様な固体メモリデバイス、またはデバイスのアレイのようなコンピュータ可読媒体であるかまたはそれを含んでもよい。コンピュータプログラム製品をかかるコンピュータ可読媒体で有形に具現化することができる。当該コンピュータプログラム製品はまた、実行されたとき、上述したもののような１つまたは複数の方法を実施する命令を含んでもよい。当該コンピュータまたはマシン可読媒体は、メモリ７０４、記憶デバイス７０６、またはプロセッサ上のメモリ７０２のような記憶デバイスである。
【００６２】
当該インタフェース７０８は、当該コンピューティング・デバイスに対する帯域幅集約的動作を管理する高速コントローラ７００または低帯域幅集約的動作を管理する低速コントローラ、またはかかるコントローラの組合せであってもよい。外部インタフェース７４０をデバイス７００の他のデバイスとの近領域通信を可能とするために提供してもよい。幾つかの実装では、コントローラ７０８を記憶デバイス７０６および拡張ポート７１４に接続してもよい。当該拡張ポートは、様々な通信ポート（例えば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ、Ｅｔｈｅｒｎｅｔ、無線Ｅｔｈｅｒｎｅｔ）を含んでもよく、キーボード、ポインティング・デバイス、スキャナのような１つまたは複数の入出力デバイス、または例えばネットワークアダプタを通じてスイッチまたはルータのようなネットワーク・デバイスに接続してもよい。
【００６３】
コンピューティング・デバイス７００を、図面で示すように幾つかの異なる形態で実装してもよい。例えば、それを、標準サーバ７３０として、または１群のかかるサーバ内で複数回実装してもよい。それをまた、ラック・サーバシステムの一部として実装してもよい。さらに、それを、ラップトップコンピュータ７３２、パーソナル・コンピュータ７３４、またはタブレット／スマートフォン７３６のようなコンピューティング・デバイスで実装してもよい。システム全体が、互いに通信する複数のコンピューティング・デバイス７００で構成されてもよい。他の構成が可能である。
【００６４】
図８は汎用コンピュータ・デバイス８００の例を示し、これは図１のサーバ１１０であってもよく、これを本明細書で説明した技術で使用してもよい。コンピューティング・デバイス８００は、サーバ、ブレードサーバ、データ・センタ、メインフレーム、および他の大規模コンピューティング・デバイスのような様々な例示的な形態の大規模データ処理デバイスを表すものである。コンピューティング・デバイス８００は、１つまたは複数の通信ネットワークにより相互接続される、おそらくネットワーク取付記憶ノードを含む複数のプロセッサを有する分散システムであってもよい。本明細書で示したコンポーネント、それらの接続および関係、およびそれらの機能は例にすぎず、本願で説明および／またはクレームした本発明の諸実装を限定することを意味しない。
【００６５】
分散コンピューティング・システム８００が、任意数のコンピューティング・デバイス８８０を含んでもよい。コンピューティング・デバイス８８０が、ローカルまたは広域ネットワーク、専用光リンク、モデム、ブリッジ、ルータ、スイッチ、有線または無線ネットワーク等を介して通信するサーバまたはラック・サーバ、メインフレーム等を含んでもよい。
【００６６】
幾つかの実装では、各コンピューティング・デバイスは複数のラックを含んでもよい。例えば、コンピューティング・デバイス８８０ａは複数のラック８５８ａ−８５８ｎを含む。各ラックが、プロセッサ８５２ａ−８５２ｎおよび８６２ａ−８６２ｎのような１つまたは複数のプロセッサを含んでもよい。当該プロセッサが、データプロセッサ、ネットワーク取付記憶デバイス、および他のコンピュータ制御されたデバイスを含んでもよい。幾つかの実装では、或るプロセッサはマスタプロセッサとして動作してもよく、スケジューリングおよびデータ分散タスクを制御してもよい。プロセッサは１つまたは複数のラックスイッチ８５８を介して相互接続されてもよく、１つまたは複数のラックを、スイッチ８７８を介して接続してもよい。スイッチ８７８は複数の接続されたコンピューティング・デバイス８８０間の通信を扱ってもよい。
【００６７】
各ラックが、メモリのようなメモリ８５４およびメモリ８６４、および、８５６および８６６のような記憶を含んでもよい。記憶８５６および８６６は大容量記憶を提供してもよく、記憶領域ネットワークまたは他の構成内のデバイスを含む、ネットワーク取付ディスク、フロッピディスク、ハード・ディスク、光ディスク、テープ、フラッシュ・メモリまたは他の同様な固体メモリデバイス、またはデバイスのアレイのような揮発性または不揮発性記憶を含んでもよい。記憶８５６または８６６は複数のプロセッサ、複数のラック、または複数のコンピューティング・デバイスの間で共有されてもよい、当該プロセッサの１つまたは複数により実行可能な命令を格納するコンピュータ可読媒体を含んでもよい。メモリ８５４および８６４が、例えば、磁気または光ディスク、フラッシュ・メモリ、キャッシュ、ランダム・アクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、およびそれらの組合せのような１つまたは複数の揮発性メモリ・ユニット、１つまたは複数の不揮発性メモリ・ユニット、および／または他の形態のコンピュータ可読媒体を含んでもよい。メモリのようなメモリ８５４がまた、プロセッサ８５２ａ−８５２ｎの間で共有されてもよい。インデックスのようなデータ構造を例えば記憶８５６およびメモリ８５４にわたって格納してもよい。コンピューティング・デバイス８８０が、コントローラ、バス、入出力デバイス、通信モジュール等のような図示していない他のコンポーネントを含んでもよい。
【００６８】
システム１００のようなシステム全体が、互いに通信する複数のコンピューティング・デバイス８８０で構成されてもよい。例えば、デバイス８８０ａはデバイス８８０ｂ、８８０ｃ、および８８０ｄと通信してもよく、これらは集合的にシステム１００として知られ得る。別の例として、図１のシステム１００が、１つまたは複数のコンピューティング・デバイス８８０を含んでもよい。当該コンピューティング・デバイスの幾つかが互いと地理的に近接して配置されてもよく、その他が地理的に離れて配置されてもよい。システム８００の当該レイアウトは例にすぎず、当該システムは他のレイアウトまたは構成をとってもよい。
【００６９】
本開示の特定の態様によれば、モバイル・デバイスは、少なくとも１つのプロセッサ、ディスプレイ・デバイス、および当該少なくとも１つのプロセッサにより実行されたとき、当該モバイル・デバイスに動作を実施させる命令を格納したメモリとを備える。当該動作は、当該ディスプレイ・デバイスを介して行われた選択をクエリに変換するステップと、当該クエリをアクション提案モデルに提供するステップであって、当該アクション提案モデルはクエリが与えられるとアクションを予測するためにトレーニングされ、各アクションはモバイル・アプリケーションに関連付けられる、ステップと、１つまたは複数の予測されたアクションを受信するステップと、当該ディスプレイ・デバイスでの当該１つまたは複数の予測されたアクションの表示を開始するステップとを含む。
【００７０】
この態様および他の態様は以下の特徴の１つまたは複数を含むことができる。例えば、当該動作はまた、当該１つまたは複数の予測されたアクションのうち１つの選択を受信するステップと、当該選択に関連付けられた当該モバイル・アプリケーションに対するクエリを用いてインテントを開始するステップとを含んでもよい。別の例として、当該１つまたは複数の予測されたアクションの表示を開始するステップは、予測されたアクションごとに、当該予測されたアクションに関連付けられた当該モバイル・アプリケーションに対するアイコンを表示するステップを含む。幾つかの実装では、当該１つまたは複数の予測されたアクションに対する当該アイコンは、当該ディスプレイ・デバイスに表示されたコンテンツを重ね合わせる。別の例として、当該選択は画像であり、当該選択をクエリに変換するステップは当該画像に関するテキストを識別するステップと、当該テキストのうち少なくとも幾つかを当該クエリとして用いるステップとを含む。別の例として、当該選択は画像であり、当該選択をクエリに変換するステップは、当該画像内のエンティティを識別するステップと、当該エンティティを当該クエリとして使用するステップを含む。
【００７１】
別の例として、当該動作はまた、当該アクション提案モデルをサーバから受信するステップと、当該モバイル・デバイスのユーザに対する検索レコード内のホワイトリストされたウェブサイトを識別するステップと、高く順位づけられる当該ホワイトリストされたウェブサイトを含むクエリからトレーニング例を生成するステップであって、当該トレーニング例は、当該検索レコード内の当該ホワイトリストされたウェブサイトの順位より高い重みを有する、ステップと、当該トレーニング例を用いて当該アクション提案モデルをトレーニングして、個別化されたアクション提案モデルをもたらすステップとを含んでもよい。別の例として、当該選択は音声コマンドであってもよく、当該選択をクエリに変換するステップは、単語認識を当該音声コマンドに実施するステップと、認識された単語を当該クエリとして使用するステップを含むことができる。別の例として、当該選択をクエリに変換するステップは、少なくとも１つの拡張されたクエリを生成するための当該選択の拡張を決定するステップと、当該拡張されたクエリを当該アクション提案モデルに提供して、第２の予測されたアクションを生成するステップと、当該少なくとも１つの拡張されたクエリの表示を開始するステップと、当該拡張されたクエリの選択を受信したことに応答して、第２の予測されたアクションの表示を開始するステップとを含むことができる。別の例として、当該モバイル・アプリケーションのうち少なくとも１つが当該モバイル・デバイスにインストールされていなくてもよい。
【００７２】
本開示の特定の態様によれば、方法は、検索レコードから、ウェブサイトが対応する検索結果内で高く順位づけられるクエリを識別するステップであって、当該ウェブサイトは、ウェブサイトのモバイル・アプリケーションに対するマッピング内の複数のウェブサイトのうち１つである、ステップを含む。当該方法はまた、アクション提案モデルに対するポジティブなトレーニング例を当該クエリから生成するステップであって、各ポジティブなトレーニング例は、クエリ、ウェブサイト、当該クエリに対する当該検索結果内の当該ウェブサイトの順位に対応する重み、およびモバイル・アプリケーションを有する、ステップと、当該ポジティブなトレーニング例を用いて当該アクション提案モデルをトレーニングするステップとを含む。
【００７３】
この態様および他の態様は以下の特徴の１つまたは複数を含むことができる。例えば、当該方法はまた、第１のモバイル・アプリケーションのマニフェスト内のウェブサイトを識別するステップと、当該ウェブサイトおよび第１のモバイル・アプリケーションを当該マッピングに追加するステップとを含んでもよい。別の例として、当該方法はまた、ウェブ・ストア内の同様なモバイル・アプリケーションをクラスタ化するステップであって、第１のモバイル・アプリケーションは第１のクラスタに現れる、ステップと、当該ウェブサイトが高く順位づけられるクエリを識別するステップと、第１のモバイル・アプリケーションにより生成された当該クエリに対する検索結果が第２のモバイル・アプリケーションにより生成された当該クエリに対する検索結果と同様であることを検証するステップであって、第２のモバイル・アプリケーションは第１のクラスタ内にある、ステップと、当該検証に応答して、当該ウェブサイトおよび第２のモバイル・アプリケーションを当該マッピングに追加するステップとを含んでもよい。別の例として、当該方法はまた、モバイル・デバイスに格納された検索レコードに基づいて当該モデルを個別化するステップを含んでもよい。別の例として、当該方法が、当該モデルをクライアント・デバイスにプッシュするステップと、当該クライアント・デバイスのユーザに関連付けられた検索レコード当該モデルを個別化するステップとを含んでもよい。
【００７４】
本開示の特定の態様によれば、方法が、アクション提案指示を受信したことに応答して、モバイル・コンピューティング・デバイスのディスプレイ・デバイスを介して行われた選択をクエリに変換するステップと、アクション提案モデルを用いて、当該クエリに対する少なくとも１つのモバイル・アプリケーションを予測するステップであって、当該アクション提案モデルは、クエリが与えられるとモバイル・アプリケーションを予測するためにトレーニングされる、ステップと、当該少なくとも１つのモバイル・アプリケーションに対する選択可能コントロールの当該ディスプレイ・デバイスへの表示を開始するステップとを含んでもよい。
【００７５】
この態様および他の態様は以下の特徴の１つまたは複数を含むことができる。例えば、当該方法はまた、当該選択可能コントロールの選択を受信するステップと、当該モバイル・アプリケーションへの当該クエリを用いた検索インテントを開始するステップとを含んでもよい。別の例として、当該選択可能コントロールの表示を開始するステップは当該モバイル・アプリケーションに対するアイコンを表示するステップを含む。別の例として、当該選択をクエリに変換するステップは、少なくとも１つの拡張されたクエリを生成するための当該選択の拡張を決定するステップと、当該拡張されたクエリを第２のモバイル・アプリケーションを生成するために当該アクション提案モデルに提供するステップと、当該少なくとも１つの拡張されたクエリの表示を開始するステップと、当該拡張されたクエリの選択を受信したことに応答して、第２のモバイル・アプリケーションに対する選択可能コントロールの表示を開始するステップとを含むことができる。別の例として、当該モバイル・アプリケーションのうち少なくとも１つが当該モバイル・デバイスにインストールされていなくてもよく、当該方法はさらに、当該選択可能コントロールの選択を受信するステップと、当該モバイル・アプリケーションの当該モバイル・デバイスへのインストールを開始するステップとを含む。
【００７６】
第１の態様によれば、モバイル・デバイスのディスプレイ・デバイスを介して行われた選択をクエリに変換するステップと、当該クエリをアクション提案モデルに提供するステップであって、当該アクション提案モデルはクエリが与えられるとアクションを予測するためにトレーニングされ、各アクションはモバイル・アプリケーションに関連付けられる、ステップと、１つまたは複数の予測されたアクションを受信するステップと、当該ディスプレイ・デバイスでの当該１つまたは複数の予測されたアクションの表示を開始するステップとを含む方法が提供される。
【００７７】
第１の態様に基づいて、第２の態様によれば、当該方法はさらに、当該１つまたは複数の予測されたアクションのうち１つの選択を受信するステップと、当該選択に関連付けられた当該モバイル・アプリケーションに対するクエリを用いてインテントを開始するステップとを含んでもよい。
【００７８】
第１のまたは第２の態様に基づいて、第３の態様によれば、当該１つまたは複数の予測されたアクションの表示を開始するステップが、予測されたアクションごとに、当該予測されたアクションに関連付けられた当該モバイル・アプリケーションに対するアイコンを表示するステップを含んでもよい。当該１つまたは複数の予測されたアクションに対する当該アイコンは当該ディスプレイ・デバイスに表示されたコンテンツをオーバレイしてもよい。
【００７９】
第１の、第２の、または第３の態様に基づいて、第４の態様によれば、当該選択は画像であってもよく、当該選択をクエリに変換するステップが、当該画像に関するテキストを識別するステップと、当該テキストのうち少なくとも幾つかを当該クエリとして用いるステップとを含んでもよい。
【００８０】
第１乃至第４の態様の何れかに基づいて、第５の態様によれば、当該選択は画像であってもよく、当該選択をクエリに変換するステップが、当該画像内のエンティティを識別するステップと、当該エンティティを当該クエリとして使用するステップとを含んでもよい。
【００８１】
第１乃至第５の態様の何れかに基づいて、第６の態様によれば、当該方法はさらに、当該アクション提案モデルをサーバから受信するステップと、当該モバイル・デバイスのユーザに対する検索レコード内のホワイトリストされたウェブサイトを識別するステップと、高く順位づけられる当該ホワイトリストされたウェブサイトを含むクエリからトレーニング例を生成するステップであって、当該トレーニング例は、当該検索レコード内の当該ホワイトリストされたウェブサイトのランキングより高い重みを有する、ステップと、当該トレーニング例を用いて当該アクション提案モデルをトレーニングして、個別化されたアクション提案モデルを生成するステップとを含んでもよい。
【００８２】
第１乃至第６の態様の何れかに基づいて、第７の態様によれば、当該選択は音声コマンドであってもよく、当該選択をクエリに変換するステップが、単語認識を当該音声コマンドに実施するステップと、認識された単語を当該クエリとして使用するステップとを含んでもよい。
【００８３】
第１乃至第７の態様の何れかに基づいて、第８の態様によれば、当該選択をクエリに変換するステップが、少なくとも１つの拡張されたクエリを生成するための当該選択の拡張を決定するステップと、当該拡張されたクエリを当該アクション提案モデルに提供して、第２の予測されたアクションを生成するステップと、当該少なくとも１つの拡張されたクエリの表示を開始するステップと、当該拡張されたクエリの選択を受信したことに応答して、第２の予測されたアクションの表示を開始するステップとを含んでもよい。
【００８４】
第１乃至第８の態様の何れかに基づいて、第９の態様によれば、当該モバイル・アプリケーションのうち少なくとも１つが当該モバイル・デバイスにインストールされていなくてもよい。当該方法はさらに、当該予測されたアクションの選択を受信するステップと、当該モバイル・アプリケーションの当該モバイル・デバイスへのインストールを開始するステップを含んでもよい。
【００８５】
本開示の第１０の態様によれば、方法は検索レコードから、ウェブサイトが対応する検索結果内で高く順位づけられるクエリを識別するステップであって、当該ウェブサイトは、ウェブサイトのモバイル・アプリケーションに対するマッピング内の複数のウェブサイトのうち１つである、ステップを含む。当該方法はまた、アクション提案モデルに対するポジティブなトレーニング例を当該クエリから生成するステップであって、各ポジティブなトレーニング例は、クエリ、ウェブサイト、当該クエリに対する当該検索結果内の当該ウェブサイトの順位に対応する重み、およびモバイル・アプリケーションを有する、ステップと、当該ポジティブなトレーニング例を用いて当該アクション提案モデルをトレーニングするステップとを含む。
【００８６】
第１０の態様に基づいて、第１１の態様によれば、当該方法はさらに、第１のモバイル・アプリケーションのマニフェスト内のウェブサイトを識別するステップと、当該ウェブサイトおよび第１のモバイル・アプリケーションを当該マッピングに追加するステップとを含んでもよい。
【００８７】
第１０のまたは第１１の態様に基づいて、第１２の態様によれば、当該方法はさらに、ウェブ・ストア内の同様なモバイル・アプリケーションをクラスタ化するステップであって、第１のモバイル・アプリケーションは第１のクラスタに現れる、ステップと、当該ウェブサイトが高く順位づけられるクエリを識別するステップと、第１のモバイル・アプリケーションにより生成された当該クエリに対する検索結果が第２のモバイル・アプリケーションにより生成された当該クエリに対する検索結果と同様であることを検証するステップであって、第２のモバイル・アプリケーションは第１のクラスタ内にある、ステップと、当該検証に応答して、当該ウェブサイトおよび第２のモバイル・アプリケーションを当該マッピングに追加するステップとを含んでもよい。
【００８８】
第１０乃至第１２の態様の何れかに基づいて、第１３の態様によれば、当該方法はさらに、モバイル・デバイスに格納された検索レコードに基づいて当該モデルを個別化するステップを含んでもよい。
【００８９】
第１０乃至第１３の態様の何れかに基づいて、第１４の態様によれば、当該方法はさらに、当該モデルをクライアント・デバイスにプッシュするステップと、当該クライアント・デバイスのユーザに関連付けられた検索レコードに基づいて当該モデルを個別化するステップとを含んでもよい。
【００９０】
本開示の第１５の態様によれば、方法が、アクション提案指示を受信したことに応答して、モバイル・コンピューティング・デバイスのディスプレイ・デバイスを介して行われた選択をクエリに変換するステップと、アクション提案モデルを用いて、当該クエリに対する少なくとも１つのモバイル・アプリケーションを予測するステップであって、当該アクション提案モデルは、クエリが与えられるとモバイル・アプリケーションを予測するためにトレーニングされる、ステップと、当該少なくとも１つのモバイル・アプリケーションに対する選択可能コントロールの当該ディスプレイ・デバイスへの表示を開始するステップとを含んでもよい。
【００９１】
第１５の態様に基づいて、第１６の態様によれば、当該方法はさらに、当該選択可能コントロールの選択を受信するステップと、当該モバイル・アプリケーションへの当該クエリを用いた検索インテントを開始するステップとを含んでもよい。
【００９２】
第１５のまたは第１６の態様に基づいて、第１７の態様によれば、当該選択可能コントロールの表示を開始するステップが、当該モバイル・アプリケーションに対するアイコンを表示するステップを含んでもよい。
【００９３】
第１５乃至第１７の態様の何れかに基づいて、第１８の態様によれば、当該選択をクエリに変換するステップが、少なくとも１つの拡張されたクエリを生成するための当該選択の拡張を決定するステップと、当該拡張されたクエリを当該アクション提案モデルに提供して、第２のモバイル・アプリケーションを生成するステップと、当該少なくとも１つの拡張されたクエリの表示を開始するステップと、当該拡張されたクエリの選択を受信したことに応答して、第２のモバイル・アプリケーションに対する選択可能コントロールの表示を開始するステップとを含んでもよい。
【００９４】
第１５乃至第１８の態様の何れかに基づいて、第１９の態様によれば、当該モバイル・アプリケーションのうち少なくとも１つが当該モバイル・デバイスにインストールされていなくてもよく、当該方法はさらに、当該選択可能コントロールの選択を受信するステップと、当該モバイル・アプリケーションの当該モバイル・デバイスへのインストールを開始するステップとを含んでもよい。
【００９５】
第２０の態様によれば、コンピュータ装置が、少なくとも１つのプロセッサと、当該少なくとも１つのプロセッサにより実行されたとき、当該プロセッサに第１乃至第１９の態様の何れかに記載の方法を実施させるコンピュータ可読命令を格納したメモリとを備える。
【００９６】
第２１の態様によれば、コンピュータ可読媒体が、プロセッサに第１の態様乃至第１９の態様の何れかに記載の方法を実施させるように構成されたコンピュータ可読命令を運搬する。
【００９７】
様々な実装は、記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスとデータおよび命令を送受信するように接続された、特殊目的または汎用目的でありうる少なくとも１つのプログラム可能プロセッサを含むプログラム可能システムで実行可能および／または解釈可能な１つまたは複数のコンピュータプログラムでの実装を含むことができる。
【００９８】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる）はプログラム可能プロセッサに対するマシン命令を含み、高レベル手続き型および／またはオブジェクト指向プログラミング言語、および／またはアセンブリ／マシン言語で実装することができる。本明細書で使用する際、「マシン可読媒体」、「コンピュータ可読媒体」という用語は、マシン命令および／またはデータをプログラム可能プロセッサに提供するために使用される、任意の非一時的コンピュータプログラム製品、装置および／またはデバイス（例えば、磁気ディスク、光ディスク、（読取りアクセスメモリを含む）メモリ、プログラム可能論理デバイス（ＰＬＤ））を指す。
【００９９】
本明細書で説明したシステムおよび技術を、バックエンドコンポーネントを（例えば、データサーバとして）含むか、またはミドルウェアコンポーネント（例えば、アプリケーションサーバ）を含むか、またはフロントエンドコンポーネント（例えば、ユーザがそれを通じて本明細書で説明したシステムおよび技術の実装と対話できるグラフィカルユーザ・インタフェースまたはＷｅｂブラウザを有するクライアントコンピュータ）、またはかかるバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティング・システムで実装することができる。当該システムの当該コンポーネントを、任意の形態または媒体のデジタルデータ通信（例えば、通信ネットワーク）により相互接続することができる。通信ネットワークの例はローカル・エリアネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、およびインターネットを含む。
【０１００】
当該コンピューティング・システムはクライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に互いから離れており、一般に通信ネットワークを通じて対話する。クライアントおよびサーバの当該関係は、当該夫々のコンピュータ上で実行され互いに対してクライアント−サーバ関係を有するコンピュータプログラムにより生ずる。
【０１０１】
幾つかの実装を説明した。それにも関わらず、様々な修正を本発明の趣旨と範囲から逸脱せずに行ってもよい。さらに、図面で示した論理フローは所望の結果を実現するために、示した特定の順序、または逐次的順序を要求しない。さらに、他のステップを提供してもよいか、またはステップを当該説明されたフローから削除してもよく、他のコンポーネントを当該説明されたシステムに追加するか、または、そこから削除してもよい。したがって、他の実装は添付の特許請求の範囲内にある。
【符号の説明】
【０１０２】
１１０  サーバ
１２０  アクション提案モジュール
１２２  エミュレータ
１３０  アクション提案モデル
１３２  ウェブサイト・モバイル・アプリ・マップ
１３４  検索レコード
１３６  モバイル・アプリ・マニフェスト
１４０  ネットワーク
１５０  クライアント・デバイス
１５５  アプリ
１５７  データ
１６０  スクリーン・キャプチャ・アプリ
１６２  アクション提案アプリ
１７０  アクション提案モデル
１７２  スクリーン・キャプチャ・インデックス
１７６  ユーザ・データ
１９０  クライアント・デバイス
１９５  モバイル・アプリ
１９７  データ
【図１】
2020129388.tif 000003
【図２Ａ】
2020129388.tif 000004
【図２Ｂ】
2020129388.tif 000005
【図３Ａ】
2020129388.tif 000006
【図３Ｂ】
2020129388.tif 000007
【図４】
2020129388.tif 000008
【図５】
2020129388.tif 000009
【図６Ａ】
2020129388.tif 000010
【図６Ｂ】
2020129388.tif 000011
【図７】
2020129388.tif 000012
【図８】
2020129388.tif 000013
【外国語明細書】
2020129388000001.pdf