(57)【要約】【課題】リソースのアクションにインデックス付けを行うための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む、方法、システム、および装置を提供する。【解決手段】一態様において、ある方法は、ユーザデバイスによってそれぞれアクセス可能な複数のリソースのうちの各リソースに対して、各リソースによってサポートされるアクションを記述するアクションデータを受け取り、各アクションは、リソースを処理するユーザデバイスによって実行され得るアクションであり、各リソースに対して、アクションデータから、リソースによってサポートされる各アクションのためのアクションタイプを決定し、アクションデータから、リソースによってサポートされる各アクションのためのアクションパラメータを決定し、かつ、検索エンジンによって検索可能なインデックスで、リソースのアクションデータ、アクションタイプ、およびアクションパラメータにインデックス付けを行う。【選択図】図１
2019164824.tif 000002
【特許請求の範囲】
【請求項１】
データ通信において、1つまたは複数のコンピュータを備えるデータ処理装置によって実行されるコンピュータ実施方法であって、
ユーザデバイスによってそれぞれアクセス可能な複数のリソースのうちの各リソースに対して、各アクションが、前記リソースを処理する前記ユーザデバイスによって実行され得るアクションである、各リソースによってサポートされたアクションを記述するアクションデータを受け取るステップと、
各リソースに対して、
前記アクションデータから、前記リソースによってサポートされた各アクションのアクションタイプを決定するステップと、
前記アクションデータから、前記リソースによってサポートされた各アクションのアクションパラメータを決定するステップと、
検索エンジンによって検索可能なインデックスで、前記リソースの前記アクションデータ、アクションタイプ、およびアクションパラメータにインデックス付けを行うステップと、
を含む、コンピュータ実施方法。
【請求項２】
各リソースに対して、前記リソースを処理する前記ユーザデバイスが、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行するかどうか判定するステップと、
前記リソースを処理する前記ユーザデバイスに、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行させる各リソースに対して、前記リソースが検証されたと判定するステップと、
前記リソースを処理する前記ユーザデバイスに、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行させることのない各リソースに対して、前記リソースが検証されなかったと判定するステップと、
各リソースに対する検証の前記判定に、前記インデックスでインデックス付けを行うステップと、
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項３】
前記リソースを処理する前記ユーザデバイスが、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行するかどうかを判定するステップが、前記リソースが前記ユーザデバイス上でインスタンス化の失敗を引き起こすかどうか判定するステップと、インスタンス化の失敗を引き起こすリソースが、前記リソースを処理する前記ユーザデバイスに、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行させることはないことを判定するステップと、
を含む、請求項2に記載のコンピュータ実施方法。
【請求項４】
前記リソースを処理する前記ユーザデバイスが、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行するかどうかを判定するステップが、
前記アクションデータから、アクションの実行によって提供されたものとして指定されたコンテンツタイプを決定するステップと、
前記アクションの前記実行から、アクションの実行によって提供されたコンテンツタイプを決定するステップと、
アクションの実行によって提供されたものとして指定されたコンテンツタイプが、アクションの実行によって提供された前記コンテンツタイプと一致したときのみ、前記リソースを処理する前記ユーザデバイスが、前記アクションデータによって記述される前記アクションを正しく実行することを決定するステップと、
を含む、請求項2に記載のコンピュータ実施方法。
【請求項５】
ユーザデバイスから、1つまたは複数の用語を含むクエリを受け取るステップと、
前記クエリの前記用語から、前記クエリに関連したアクションタイプを決定するステップと、
前記クエリに関連した前記アクションタイプに基づいて、前記リソースの少なくとも適切なサブセットの各リソースに対して、前記リソースのための前記アクションデータから、前記アクションタイプのアクションを実行する前記リソースの能力の尺度であるアクションスコアを決定するステップと、
前記各アクションスコアに部分的に基づく順序に従って、前記リソースにランク付けを行うステップと、
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項６】
前記クエリの前記用語から、前記クエリに関連するアクションを決定するステップが、
前記リソースの少なくとも前記適切なサブセットの各リソースに対して、前記アクションタイプのアクションを実行するのに必要とされる、前記アクションタイプのためのアクションパラメータを決定するステップと、
前記クエリの前記用語から、前記アクションタイプのための前記アクションパラメータに一致するパラメータ値を決定するステップと、
前記リソースのための前記アクションデータから、アクションスコアを決定するステップが、前記アクションタイプのための前記アクションパラメータに一致する前記パラメータ値に基づいて、前記アクションスコアを決定するステップと、
を含む、請求項5に記載の方法。
【請求項７】
ユーザデバイス上の検索エンジンリソースへ入力されたことに応答して、前記クエリが受け取られる、請求項5に記載のコンピュータ実施方法。
【請求項８】
ユーザデバイス上のカレンダアプリケーションへ入力されたことに応答して、前記クエリが受け取られる、請求項5に記載のコンピュータ実施方法。
【請求項９】
ユーザデバイスから、1つまたは複数の用語を含むクエリを受け取るステップと、
前記クエリの前記用語から、前記クエリに関連したアクションタイプを決定するステップと、
前記クエリの前記用語から、前記アクションタイプのための前記アクションパラメータに一致するパラメータ値を決定するステップと、
前記クエリのパラメータ値と一致しないアクションパラメータに基づく追加のパラメータ値を求める要求を、ユーザデバイスに提供するステップと、
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項１０】
前記リソースが、ウェブページリソースおよびネイティブアプリケーションリソースを含む、請求項1に記載のコンピュータ実施方法。
【請求項１１】
データ処理装置と、
前記データ処理装置によって実行可能であり、実行されると前記データ処理装置に動作を実行させる命令を記憶する、非一時的なコンピュータ可読記憶媒体に記憶されたソフトウェアと、
を備え、前記動作が、
ユーザデバイスによってそれぞれアクセス可能な複数のリソースのうちの各リソースに対して、各アクションが、前記リソースを処理する前記ユーザデバイスによって実行され得るアクションである、各リソースによってサポートされたアクションを記述するアクションデータを受け取ることと、
各リソースに対して、
前記アクションデータから、前記リソースによってサポートされた各アクションのアクションタイプを決定することと、
前記アクションデータから、前記リソースによってサポートされた各アクションのアクションパラメータを決定することと、
検索エンジンによって検索可能なインデックスで、前記リソースの前記アクションデータ、アクションタイプ、およびアクションパラメータにインデックス付けを行うことと、
を含む、システム。
【請求項１２】
前記動作が、
各リソースに対して、前記リソースを処理する前記ユーザデバイスが、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行するかどうか判定することと、
前記リソースを処理する前記ユーザデバイスに、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行させる各リソースに対して、前記リソースが検証されたと判定することと、
前記リソースを処理する前記ユーザデバイスに、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行させることのない各リソースに対して、前記リソースが検証されなかったと判定することと、
各リソースに対する検証の前記判定に、前記インデックスでインデックス付けを行うことと、
をさらに含む、請求項11に記載のシステム。
【請求項１３】
前記リソースを処理する前記ユーザデバイスが、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行するかどうかを判定することが、前記リソースが前記ユーザデバイス上でインスタンス化の失敗を引き起こすかどうか判定することと、インスタンス化の失敗を引き起こすリソースが、前記リソースを処理する前記ユーザデバイスに、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行させることはないことを判定することと、
を含む、請求項12に記載のシステム。
【請求項１４】
前記リソースを処理する前記ユーザデバイスが、前記リソースのための前記アクションデータによって記述される前記アクションを正しく実行するかどうかを判定することが、
前記アクションデータから、アクションの実行によって提供されたものとして指定されたコンテンツタイプを決定することと、
前記アクションの前記実行から、アクションの実行によって提供されたコンテンツタイプを決定することと、
アクションの実行によって提供されたものとして指定されたコンテンツタイプが、アクションの実行によって提供された前記コンテンツタイプと一致したときのみ、前記リソースを処理する前記ユーザデバイスが、前記アクションデータによって記述される前記アクションを正しく実行することを決定することと、
を含む、請求項12に記載のシステム。
【請求項１５】
前記動作が、
ユーザデバイスから、1つまたは複数の用語を含むクエリを受け取ることと、
前記クエリの前記用語から、前記クエリに関連したアクションタイプを決定することと、
前記クエリに関連した前記アクションタイプに基づいて、前記リソースの少なくとも適切なサブセットの各リソースに対して、前記リソースのための前記アクションデータから、前記アクションタイプのアクションを実行する前記リソースの能力の尺度であるアクションスコアを決定することと、
前記各アクションスコアに部分的に基づく順序に従って、前記リソースにランク付けを行うことと、
をさらに含む、請求項11に記載のシステム。
【請求項１６】
前記クエリの前記用語から、前記クエリに関連するアクションを決定することが、
前記リソースの少なくとも前記適切なサブセットの各リソースに対して、前記アクションタイプのアクションを実行するのに必要とされる、前記アクションタイプのためのアクションパラメータを決定することと、
前記クエリの前記用語から、前記アクションタイプのための前記アクションパラメータに一致するパラメータ値を決定することと、
前記リソースのための前記アクションデータから、アクションスコアを決定することが、前記アクションタイプのための前記アクションパラメータに一致する前記パラメータ値に基づいて、前記アクションスコアを決定することと、
を含む、請求項15に記載のシステム。
【請求項１７】
ユーザデバイス上の検索エンジンリソースへ入力されたことに応答して、前記クエリが受け取られる、請求項15に記載のシステム。
【請求項１８】
ユーザデバイス上のカレンダアプリケーションへ入力されたことに応答して、前記クエリが受け取られる、請求項15に記載のシステム。
【請求項１９】
ユーザデバイスから、1つまたは複数の用語を含むクエリを受け取ることと、
前記クエリの前記用語から、前記クエリに関連したアクションタイプを決定することと、
前記クエリの前記用語から、前記アクションタイプのための前記アクションパラメータに一致するパラメータ値を決定することと、
前記クエリのパラメータ値と一致しないアクションパラメータに基づく追加のパラメータ値を求める要求を、ユーザデバイスに提供することと、
をさらに含む、請求項11に記載のシステム。
【請求項２０】
前記リソースが、ウェブページリソースおよびネイティブアプリケーションリソースを含む、請求項11に記載のシステム。
【請求項２１】
データ処理装置によって実行可能であり、実行されると前記データ処理装置に動作を実行させる命令を記憶する、非一時的なコンピュータ可読記憶媒体であって、前記動作が、
ユーザデバイスによってそれぞれアクセス可能な複数のリソースのうちの各リソースに対して、各アクションが、前記リソースを処理する前記ユーザデバイスによって実行され得るアクションである、各リソースによってサポートされたアクションを記述するアクションデータを受け取ることと、
各リソースに対して、
前記アクションデータから、前記リソースによってサポートされた各アクションのアクションタイプを決定することと、
前記アクションデータから、前記リソースによってサポートされた各アクションのアクションパラメータを決定することと、
検索エンジンによって検索可能なインデックスで、前記リソースの前記アクションデータ、アクションタイプ、およびアクションパラメータにインデックス付けを行うことと、
を含む、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソースに対するアクションへのインデックス付けに関する。
【背景技術】
【０００２】
インターネットにより、多種多様な情報へのアクセスが可能となる。たとえば、デジタルイメージファイル、ビデオおよび/または音声ファイル、ならびに、特定の主題に対するウェブページリソースが、インターネットを介してアクセス可能である。ウェブページリソースに関して、これらのリソースの多くは、レストラン予約、ホテル予約、チケット購入、ビデオ再生、ショッピングなど特定のアクションの実行を容易にするように設計されている。さらに、タブレットコンピュータおよびスマートフォンの出現とともに、類似の機能の実行を促進するネイティブアプリケーションリソースが、現在、大量に提供されつつある。検索エンジンも現在、こうしたリソースをクローリングし、インデックス付けを行うことにより、ウェブページおよびネイティブアプリケーション両者のこうしたリソースの検索を容易にする。リソースのコンテンツは通常、インデックス付けプロセス中に識別され、検索クエリに応答して、コンテンツの検索を容易にする方法でインデックス中に記憶される。
【０００３】
検索エンジンが、ネイティブアプリケーションのための情報を収集する1つのプロセスは、ネイティブアプリケーション用の「ディープリンク」にアクセスすることによってである。ディープリンクは、ネイティブアプリケーションの特定の環境インスタンスを指定する命令であり、ユーザデバイスにおいて選択されるとき、ネイティブアプリケーションに、指定されたネイティブアプリケーションの環境インスタンスをインスタンス化させるように構成されている。ネイティブアプリケーションは、ユーザデバイスのネイティブアプリケーション内に表示するための環境インスタンスを生成する。たとえば、ディープリンクは、ゲーム環境のための選択メニュー、または音楽アプリケーションのための特定の歌の選択、料理アプリケーションのための特定のレシピ等を指定することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書は、ネイティブアプリケーションの検証にインデックス付けを行うことに関する技術を記述する。
【０００５】
一般に、本明細書に記載の主題の1つの革新的な態様は、ユーザデバイスによってそれぞれアクセス可能な複数のリソースのうちの各リソースに対して、各アクションが、リソースを処理するユーザデバイスによって実行され得るアクションである、各リソースによってサポートされたアクションを記述するアクションデータを受け取るアクションと、各リソースに対して、アクションデータから、リソースによってサポートされた各アクションのアクションタイプを決定するアクションと、アクションデータから、リソースによってサポートされた各アクションのアクションパラメータを決定するアクションと、検索エンジンによって検索可能なインデックスで、リソースのためのアクションデータ、アクションタイプ、およびアクションパラメータにインデックス付けを行うアクションとを含む方法によって具体化され得る。この態様の他の実施形態は、対応するシステム、装置、および、コンピュータの記憶デバイスに符号化された、この方法のアクションを実行するように構成されたコンピュータプログラムを含む。
【０００６】
本明細書に記載の主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装され得る。システムは、ウェブページリソース、ウェブサービスリソース、およびネイティブアプリケーションリソースによってサポートされたアクションに、インデックス付けを行うための枠組みを提供する。次いで、クエリがアクションと関連付けられているかどうか、および、もし関連付けられている場合には、どの程度十分にリソースがそのアクションをサポートしているかどうかを判定するために、システムはクエリを評価する。これにより、クエリに対して関連するコンテンツを有するだけでなく、クエリに応答するものと判定されたアクションに役立つことができるリソースを表面化させるのが容易になる。したがって、検索は、こうしたアクションニーズが存在する場合、ユーザの情報ニーズに焦点を当てるだけでなく、ユーザのアクションニーズにも焦点を当てる。
【０００７】
システムは、リソースに対するアクション実行の検証を容易にすることができる。たとえば、リソースに対して指定されたアクションを実行することを検証されたリソースのみが、検証されたものとして示される。検証されないリソースは、アクションスコアに対するランク付けにおいて無視される。これにより、ユーザがこのリソースを使用してアクションを実行しようとしたとしても、ユーザの不満足な経験になる可能性があるリソースを表面化させることはなくなる。
【０００８】
いくつかの実装形態において、アクションのタイプ、対応する制約条件、ならびに、どのリソースがこれらのアクションおよび制約条件を満足させることができるかを理解することにより、システムは、ユーザに適切な状況でアクションを提供することができる。たとえば、ユーザが夕食の予約をスケジューリングするとき、ユーザに、予約するためにカレンダアプリケーションから夕食予約アプリケーションに切り替えさせ、次いで、予約スケジューリングを完了するためにカレンダアプリケーションに切替え復帰させる代わりに、カレンダアプリケーション内で夕食の予約をできるようにさせる。いくつかの実装形態において、このシステムを利用することにより、たとえば、他の企業から提供された他のシステムによって与えられたアプリケーションが、アクションのシステムインデックスを使用して、類似のアクション分析、アクションプレゼンテーション、またはその両者を実行することが容易になる。これにより、アプリケーション間、ウェブページ間、またはその両者間で切り替える必要がなくなり、ユーザアクションが容易となる。
【０００９】
本明細書に記載の主題の1つまたは複数の実施形態の詳細を、添付の図面および以下の記述で説明する。主題の他の特徴、態様および利点は、記述、図面および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【００１０】
【図１】リソースに対するアクションが、インデックス付けおよび検索を行うために検証される環境の一例のブロック図である。
【図２】リソースに対するアクションデータにインデックス付けを行うためのプロセスの一例の流れ図である。
【図３】リソースのアクションを検証するためのプロセスの一例の流れ図である。
【図４】コンテンツタイプに基づいてリソースに対するアクションを検証する流れ図である。
【図５】アクションタイプに基づいてリソースをランク付けするためのプロセスの一例の流れ図である。
【図６】リソースを使用してユーザがアクションを呼び出すのを支援するためのプロセスの一例の流れ図である。
【発明を実施するための形態】
【００１１】
いくつかの図面において同じ参照番号および名称は同じ要素を示す。
【００１２】
概要
システムは、リソースによって実行されたアクションを記述するアクションデータを受け取り、検索可能なインデックスでアクションデータにインデックス付けを行う。次いで、インデックスは、ユーザデバイスにユーザ入力に応答するアクションを実行させるリソースを識別するために検索され得る。ユーザ入力は、そこから情報ニーズまたはユーザの意図を導き出せるクエリまたはいくつかの他のコマンドとすることができる。システムは、ユーザが特定のアクションの要求を満たす助けとなる、追加情報を要求または供給することができる。たとえば、システムはユーザの場所をタクシー予約アプリケーションに供給し、その結果、アプリケーションは、ユーザの近くの場所でタクシーのピックアップを手配することができる。同様に、システムは、ユーザが望む場合には、ユーザに仲間の多くの人々のために夕食の予約をするよう促すことができる。システムはまた、リソースに対するアクションデータの正確性を検証することができ、その検証は、クエリに応答してリソースにスコアリング、ランク付け、またはその両者を行うとき、考慮に入れることができる。
【００１３】
以下に、これらの特徴および追加の特徴をより詳細に記述する。
【００１４】
［動作環境の例］
図1はリソースに対するアクションが、インデックス付けおよび検索を行うために検証される環境100の一例のブロック図である。インターネットなどのコンピュータネットワーク102が、発行者ウェブサイト104、ユーザデバイス106、および検索システム110を接続する。
【００１５】
発行者ウェブサイト104はリソース105を発行する。リソースは、ウェブページリソースおよびネイティブアプリケーションリソースを含む。発行者ウェブサイト104は、ドメインと関連付けられ、1つまたは複数の場所の1つまたは複数のサーバによってホスティングされる。発行者ウェブサイトの一例は、ハイパーテキストマークアップ言語(HTML)でフォーマットされた、テキスト、画像、マルチメディアコンテンツ、およびプログラミング要素を含むことができるウェブページリソース105の集合体である。
【００１６】
ウェブページリソースは、コンピュータネットワーク102を介して発行者ウェブサイト104によって提供され得、リソースのアドレス、たとえば、ユニフォームリソースロケータ(URL)を有する任意のデータである。ウェブリソースは、ほんのわずか名前をあげると、HTMLページ、画像ファイル、ビデオファイル、音声ファイル、および、フィードソースとすることができる。ウェブページは、埋め込み情報、たとえば、メタ情報およびハイパーリンク、ならびに/または、埋め込み命令、たとえば、クライアント側のスクリプトを含むことができる。
【００１７】
別のタイプのリソース発行者は、ネイティブアプリケーションリソースを提供するアプリケーション発行者である。ネイティブアプリケーションは、特別なユーザデバイスオペレーティングシステム、およびマシンファームウェア上で実行するように特別に設計されている。本明細書で使用する場合、「環境インスタンス」とは、ネイティブアプリケーション内の表示環境であり、その中で、テキスト、画像などのコンテンツが表示される。環境インスタンスは、特定のネイティブアプリケーションに特有であり、ネイティブアプリケーションは、ユーザデバイス106の特定のオペレーティングシステムに特有である。環境インスタンスは、環境インスタンスがネイティブアプリケーション内で、かつそのネイティブアプリケーションに特有に生成されるが、一方ウェブページリソースは、そのウェブページリソースが互換性を有する任意のブラウザ内でレンダリングされ得る点、および、環境インスタンスが、ユーザデバイスのオペレーティングシステムとは無関係である点で、レンダリングされたウェブリソースと異なる。
【００１８】
ユーザデバイス106は、コンピュータネットワーク102を介して、ウェブページリソースおよびネイティブアプリケーションリソースを要求し、受け取ることができる電子デバイスである。例示のユーザデバイス106には、パーソナルコンピュータ、モバイル通信デバイス、およびタブレットコンピュータが含まれる。
【００１９】
ウェブリソースおよびネイティブアプリケーションの両者を含むリソース105を検索するために、検索システム110はウェブインデックス112にアクセスする。ウェブインデックス112は、たとえば、発行者ウェブサイト104およびリソース105をクローリングすることから作成された、リソース105のインデックスである。
【００２０】
ユーザデバイス106は、検索クエリを検索システム110にサブミットする。各クエリに応答して、検索システム110は、インデックス112にアクセスしてクエリに関連したリソースを識別することができる。検索システム110は、たとえば、ウェブリソース検索結果およびネイティブアプリケーション検索結果の形式で、それぞれリソースを識別する。いったん生成されると、検索結果はユーザデバイス106に提供され、そこからクエリが受け取られる。
【００２１】
ウェブリソース検索結果は、ウェブリソースを識別し、特定の検索クエリを満足させる情報を提供する検索システム110によって生成されたデータである。リソースに対するウェブリソース検索結果は、ウェブページタイトル、リソースから引用されたテキストの抜粋、および、リソースに対するリソースロケータ、たとえば、ウェブページのURLを含むことができる。ネイティブアプリケーション検索結果は、ネイティブアプリケーションを指定し、ネイティブアプリケーションの特別な環境インスタンスを指定しネイティブアプリケーションに、指定された環境インスタンスをインスタンス化させるように構成された「ディープリンク」を含むことができる。たとえば、ネイティブアプリケーション検索結果を選択することにより、ネイティブアプリケーションに環境インスタンスを立ち上げさせ(ユーザデバイス106上にインストールされている場合)、環境インスタンス、たとえば、スクリーンショットの形式でアプリケーション検索結果中に参照される、ネイティブアプリケーションの特定のユーザインターフェースを生成させることができる。たとえば、アプリケーション検索結果は、環境インスタンスの例を表すスクリーンショットを含み得、ネイティブアプリケーション検索結果を選択することにより、たとえば、環境インスタンスとスクリーンショット間の相違が、スクリーンショットを作成するために使用されるネイティブアプリケーションのための設定と異なる可能性がある、ユーザに関連付けられた設定によって引き起こされるとき、ネイティブアプリケーションに、スクリーンショットで表されたユーザと同様なユーザにインタフェースを提供させる。
【００２２】
リソースに対するアクションへのインデックス付け
上述のように、ユーザは、自らのユーザデバイスがアクションを実行することを望むことが多く、または、特定のアクションを実行するリソースによって十分にサービスされ得る。たとえば、ユーザは、「Brandenburg Concertosを聴く」というクエリを入力することができる。検索システム110は、クエリ用語から、クエリによって指定されたアクション、すなわち、ユーザが媒体を聴取することができるように、1つまたは複数のBrandenburg Concertosを録音した媒体をユーザデバイス上で再生するアクションを検出する。したがって、このアクションを実行することができるリソースが、ユーザに最も役に立つ。
【００２３】
同様に、ユーザは特別な夜に夕食を予約したいと願うことがある。ユーザはコマンド[Make reservation for City Diner for tomorrow evening at seven(明日の夜7時にCity Dinerを予約する)]を述べることができる。ユーザデバイスは、スピーチをテキストに変換するよう動作可能とすることができ、そのテキストを検索システム110に提供する。いくつかの例において、ユーザデバイスは、スピーチを検索システム110または別のシステムに提供することができ、検索システムはスピーチをテキストに変換する。別のシステムがスピーチをテキストに変換するとき、他のシステムがそのテキストを検索システム110に提供する。引き続き、検索システム110はクエリによって指定されたアクションを検出、すなわち、City Dinerの予約を行うことができる。
【００２４】
これらの入力を処理して所望のアクションを検出することは、クエリプロセッサ111によって実行される。クエリプロセッサ111は、任意の適切なクエリ処理アルゴリズムを実装し、クエリを処理してアクションを検出することができる。たとえば、クエリプロセッサ111は、とりわけ、アクション呼び出しを検出する自然言語プロセッサを実装することができる。同様に、クエリプロセッサ111は、特定のアクションおよびアクションのための引数に対応して、端末を使用する、および端末を使用しない特定のアクションを構文解釈する、文脈自由文法を実装することができる。他のクエリ処理技術も使用することができる。
【００２５】
しかし、検索システム110は、特定の入力がアクションの実行によって十分にサービスされるということを決定できる一方、リソースによってサポートされたアクションは、たとえば、リソースによってアクションは発生するが、アクションの記述を含まないとき、リソースの主題のコンテンツによって容易に識別可能とはならない。このように、検索システム110は、リソース105のためのアクションデータ114を処理し、インデックス付けを行う。アクションデータは、各リソースによってサポートされたアクションを記述し、ここで各アクションは、リソースを処理するユーザデバイスによって実行され得るアクションである。アクションデータは構造化データであり、特定のリソースをイネーブルするアクション、アクションの呼び出し方法、アクション用のパラメータ、および他のアクション関連情報を記述する語彙を定義する。たとえば、レストランアプリケーションは、アクション関連の特徴があまたある中で、アプリケーションによって実行されるアクションタイプ<AT>、アクションパラメータ<AP>または各アクションタイプAT、各アクションタイプATに対するアクションアウトプット<AO>を記述するアクションデータ114を含む、アプリケーションマニフェストを有することができる。
【００２６】
アクションデータの一例が、Schema.org Actionsに実装されている。たとえば、音楽演奏サービスExample_Player.comのためのウェブリソース105の場合、例示のアクションデータは、Brandenburg Concertosがそこから演奏されるウェブページ用のSchema.org Actions語彙に基づいて以下の形式とすることができる。
{
"@context": "http://schema.org",
"@type": "MusicGroup",
"url": [
"http://www.example_player.com/Bach",
"androidapp://com.example_player.android/example_player/Bach ",
],
"name": "Brandenburg Concertos",
"potentialAction": {
"@type": "ListenAction",
"target": [
"http://www.example_player com/Bach/listen",
"androidapp://com.example_player.android/example_player/Bach/listen",
]
}
}
【００２７】
ウェブページの場合、アクションデータは、マークアップ言語形式で提供され得る。アプリケーションの場合、アクションデータは、アプリケーションマニフェストの一部として、またはメタデータのいくつかの他の形式として提供され得る。さらに、上述の例と異なる語彙規約もアクションデータを実装するとき使用可能である。
【００２８】
最後に、いくつかの実装形態において、アクションデータはそれ自体ユーザデバイスによって実行可能であり、それ自体でユーザデバイスに特定のアクションを実行させることができる。したがって、アクションデータは、必ずしもメタデータである必要はなく、ユーザデバイスにアクションを実行させる必要な命令を含むデータとすることができる。たとえば、アクションデータは、ユーザデバイスが実行できるスクリプトの形式とすることができる。
【００２９】
アクションデータは、リソースの発行者によって作成され得る。特定のリソースに対して、発行者は、リソースがサポートするアクションのアクションタイプ、もしあれば、アクションによって提供されたコンテンツ、および、アクションの実行に関連する他の特徴を規定する。以下で説明するように、検索システム110は、アクションデータにインデックス付けを行うことができ、各リソースに対して、アクションデータがリソースによって実行されたアクションを正しく記述していることを検証することもできる。
【００３０】
図2は、リソースに対するアクションデータにインデックス付けを行うためのプロセス200の一例の流れ図である。プロセス200は検索システム110に実装され得る。プロセス200の動作を、図1を参照して記述する。
【００３１】
プロセス200は、複数のリソースのうちの各リソースに対して、各リソースによってサポートされたアクションを記述するアクションデータを受け取る(202)。たとえば、検索システム110は、リソースのクローリング中にアクションデータを提供され得る。または、発行者は、検索システムに対して、対応するリソースと共にアクションデータをサブミットすることができる。
【００３２】
プロセス200は、各リソースに対して、アクションデータから、リソースによってサポートされた各アクションのアクションタイプを決定する(204)。たとえば、インデクサ120は、アクションデータを処理して、アクションタイプを定める対応するアクションデータを識別する。アクションタイプの例としては、音声再生を生成する「聴く」アクション、ビデオ再生を生成する「見る」アクション、ソフトウェアをインストールする、または、他のいくつかのインストールプロセスを実行する「インストール」アクション、予約を生成する「予約」アクションなどがあげられる。各アクションタイプは、アクションデータスキーマに従った、対応するタイプラベルを有する。
【００３３】
プロセス200は、各リソースに対して、アクションデータから、リソースによってサポートされた各アクションのためのアクションパラメータを決定する(206)。たとえば、インデクサ120は、アクションデータを処理して、各アクションタイプ用にリストアップされた対応するアクションパラメータ識別する、または、アクションパラメータがリストアップされない場合には、アクションデータスキーマにアクセスして、アクションに必要とされるパラメータタイプを決定する。例をあげると、「聴く」アクションが自動演奏アクションの場合、アクションパラメータは音声ファイルのURLを含むことができる。同様に「予約」アクションの場合、パラメータは、予約サービスのURL、人数、予約名、日付け、および時刻を含むことができる。
【００３４】
プロセス200は、各リソースに対して、リソースのためのアクションデータ、アクションタイプ、およびアクションパラメータに、検索エンジンによって検索可能なインデックスでインデックス付けを行う(208)。たとえば、インデクサ120は、図1に図で示したように、リソース105に対してインデックス付けされた他のデータと関連して1つまたは複数のキーによってインデックス付けされたアクションデータを記憶する。任意の適切なインデックス付けプロセスおよびスキーマは、アクションデータ114にインデックス付けを行うために使用され得る。
【００３５】
［リソースアクションの検証］
いくつかの実装形態において、検索システム110は、リソースのためのアクションデータの正確性を検証する。それ自体ではアクションを実行しないリソースの主題のコンテンツとは異なり、ユーザデバイスの振る舞い、またはユーザデバイスの仮想エミュレーションは、リソースによって実行されるアクションが、そのアクションを記述するアクションデータと一致していること、および、そのアクションが正しく実行することを検証するために確認されなければならない。
【００３６】
アクションを検証するプロセスの一例を、リソースのアクションを検証するためのプロセス300の一例の流れ図である図3を参照して説明する。プロセス300は、アクションプロセッサ130などにより、検索システム110に実装され得る。アクションプロセッサ130は、データ通信における1つまたは複数のコンピュータのデータ処理装置とすることができ、その上でアプリケーションが実行され、ウェブページがレンダリングされかつ処理されることとなる、オペレーティングシステムをエミュレートするオペレーティングシステムエミュレータを実行する。アクションの呼び出しを検証するのに加えて、プロセス300はまた、アクションが正しく誤りなく実行するのを検証する。エラー、タイムアウト、およびアクションの失敗またはエラーを表す他の条件および合図を監視する、任意の適切な器具類および対応するハンドラを使用して、以下に記述する動作を実現することができる。
【００３７】
プロセス300は、各リソースに対して、リソースを処理するユーザデバイスが、リソースのためのアクションデータによって記述されるアクションを正しく実行するかどうか判定する(302)。たとえば、アクションプロセッサ130は、インスタンス化および実行の失敗を監視することができる。これは、ユーザデバイスがクラッシュする、または、アプリケーションがクラッシュもしくはフリーズするなど、リソースによってユーザデバイス上でインスタンス化の失敗が発生するかどうか判定することを含み得る。同様に、タイムアウトおよびリンクの失敗もインスタンス化の失敗と解釈され得る。たとえば、リソースのためのアクションデータは、リソースがユーザデバイスに特定のレコーディングを再生させることを指示することができる。しかし、ユーザデバイスがレコーディングのファイルまたはデータに対する要求を送信し、タイムアウトが発生した場合、または、要求が送信されるべきアドレスが解決されない場合、インスタンス化の失敗と判定される。そうでなければ、アクションプロセッサ130は、リソースによりユーザデバイスがアクションを首尾よく実行したと判定する。
【００３８】
プロセス300は、リソースを処理するユーザデバイスに、リソースのためのアクションデータによって記述されるアクションを正しく実行させる各リソースに対して、リソースが検証されたと判定する(304)。逆に、リソースを処理するユーザデバイスに、リソースのためのアクションデータによって記述されるアクションを正しく実行させることのない各リソースに対して、プロセス300はリソースが検証されなかったと判定する(306)。
【００３９】
プロセス300は、各リソースに対する検証の判定に、インデックスでインデックス付けを行う(308)。リソースに対する検証データは、いくつかの実装形態において、アクションをサポートするリソースの能力に部分的に基づいて、そのリソースがランク付けに適しているかどうか判定するために使用することができる。いくつかの実装形態において、検証されたリソースのみが、アクションデータに部分的に基づいてランク付けすることができる。アクションを実行するためにアプリケーションを自動的に立ち上げる、または、リソースにリンクする検索結果の選択に応答して、アクションを自動的に実行するなどの他の動作は、肯定的な検証を受ける可能性がある。
【００４０】
ユーザデバイスがアクションを実行したとしても、アクションプロセッサ130は、検証のための追加チェックを実行することができる。これらの追加チェックは、アクションがそのタイプと関連した動作を実行すること、および、任意の指定された出力が正しく生成されることを検証することを含むことができる。たとえば、あるアクションが「見る」アクションとして指定されたが、代わりに、「聴く」アクションが実行された場合、その聴くアクションがエラー無しに実行されたとしても、リソースは検証されたことにはならない。これは、確認されたアクションタイプ「聴く」は、指定されたアクションタイプ「見る」と一致しないからである。
【００４１】
指定されたアクションタイプと確認されたアクションタイプの間のアクションタイプの一致は、アクション検証の一例にすぎない。別のタイプの検証は、図4のプロセス400を参照しながら説明する、コンテンツの一致である。プロセス400は、アクションプロセッサ130によるなど、検索システム110に実装され得る。
【００４２】
プロセス400は、アクションデータから、アクションを実行することによって提供されるものとして指定される、コンテンツタイプを決定する(402)。たとえば、いくつかの実装形態において、コンテンツタイプは、そのコンテンツが音声、ビデオ、または何らかの他のタイプのコンテンツであるかどうか指定することができる。これらの実装形態の変更例として、コンテンツの主題、たとえば、特定のアーティスト、特定のプログラム、または特定のファイルを指定するなど、コンテンツタイプをより具体的にすることができる。
【００４３】
プロセス400は、アクションの実行から、アクションを実行することによって提供されるコンテンツタイプを決定する(404)。たとえば、アクションプロセッサ130は、提供されたコンテンツタイプを記述するメタデータを受け取り、そのメタデータをアクションデータによって指定されたコンテンツタイプと比較することができる。
【００４４】
プロセス400は、コンテンツタイプに基づいて、リソースを処理するユーザデバイスが、アクションデータによって記述されたアクションを正しく実行しているかどうか判定する(406)。たとえば、コンテンツタイプ、要求されたコンテンツ、または両者が一致した場合、リソースを処理するユーザデバイスを決定するアクションプロセッサ130は、アクションデータによって記述されたアクションを正しく実行する。逆に、コンテンツタイプ、要求されたコンテンツ、または両者が一致しない場合、リソースを処理するユーザデバイスを決定するアクションプロセッサ130は、アクションデータによって記述されたアクションを正しく実行することはない。
【００４５】
［アクションに基づくリソースのランク付け］
リソースおよびアクションデータが、インデックス112においてインデックス付けされると、検証されたリソースが,それらが実行したアクションに部分的に基づいてランク付けされ得る。これにより、検索システム110は、アクションの実行が、たとえば、アクションの実行により検索クエリと関連したユーザのニーズを満足させる高い可能性を有する、ユーザのニーズを高く満足させる状況において、特定のアクションを実行するリソースを表面化させることが可能となる。図5は、アクションタイプに基づいてリソースをランク付けするためのプロセス500の一例の流れ図である。プロセス500は、検索システム110に実装され得る。
【００４６】
プロセス500は、クエリの用語から、クエリに関連したアクションタイプを決定する(502)。上述のように、クエリは検索インタフェースに入力することができ、検索システム110は、アクションをクエリから特定のクエリ言語に関連付けるクエリプロセッサ111を有することができる。他の状況において、プロセスまたはサービスは、そこからユーザの意図を導き出すこと、たとえば、ユーザはコマンド[Make reservation for City Diner for tomorrow evening at seven(明日の夜7時にCity Dinerを予約する)]を述べることができるコマンドに基づいて、クエリを生成することができる。
【００４７】
プロセス500は、各リソースに対して、クエリに関連するアクションタイプに基づいて、リソースのためのアクションデータからアクションスコアを決定する。ここで、アクションスコアは、アクションタイプのアクションを実行するためのリソースの能力の尺度である(504)。たとえば、アクションスコアラ140は、有効なリソースそれぞれに得点をつける。いくつかの実装形態において、アクションスコアは2進数スコアとすることができる。ここで、第1の値は、リソースがアクションタイプのアクションを実行することを示し、第2の値は、リソースがアクションタイプのアクションを実行しないことを示す。他の実装形態において、アクションスコアは、上限と下限の範囲内の連続スコアとすることができ、アクションスコアが高いほど、アクションタイプを実行するリソースの能力が高い。
【００４８】
アクションを実行するリソースの能力は、ユーザがアクションを実行するのに必要なステップに部分的に基づく場合がある。たとえば、アクションを呼び出すのにユーザからの入力を必要としないリソースは、アクションを実行するのにユーザ確認またはユーザ情報を必要とするリソースよりも、より高いアクションスコアを得ることができる。
【００４９】
アクションスコアは、クエリに依存していてもよい。たとえば、アクションタイプのアクションを実行するのに必要な、アクションタイプのためのアクションパラメータは、アクションタイプに対応する各リソースに対して決定することができる。同様に、アクションタイプのためのアクションパラメータに一致するパラメータ値も決定される。次いで、アクションスコアは、アクションタイプのアクションパラメータに一致するクエリ中のパラメータ値の数、および、アクションタイプのアクションパラメータに一致するクエリから欠けたパラメータ値の数に基づくことができる。たとえば、特定のアクションを実行するのに、クエリ中で指定されたパラメータのみを必要とするリソースは、アクションを実行するのに、クエリ中で指定されたパラメータ値および追加のパラメータ値を必要とするリソースよりも、より高いアクションスコアを得ることができる。
【００５０】
プロセス500は、各アクションスコアに部分的に基づく順番に従って、リソースにランク付けを行う(506)。全体的なリソースのランク付けは、各リソースの権限、リソースの特性などを考慮に入れることができる。アクションスコアを有するリソースに対しては、リソースのランク付けを行うときにアクションスコアも考慮され得る。
【００５１】
［追加の実装詳細］
いくつかの実装形態において、アクションデータは、リソースを使用してアクションを呼び出すために、ユーザがアクションパラメータ値など情報を提供するのを支援するために使用することができる。図6は、リソースを使用してユーザがアクションを呼び出すのを支援するためのプロセス600の一例の流れ図である。プロセス600は、検索システム110に実装され得る。
【００５２】
プロセス600は、クエリの用語から、検索クエリに関連するアクションタイプを決定する(602)。このステップは、上のステップ502に似ている。たとえば、コマンド[Make reservation for City Diner for tomorrow evening at seven(明日の夜7時にCity Dinerを予約する)]の場合、アクションタイプは「reserve(予約)」とすることができる。
【００５３】
プロセス600は、クエリの用語から、アクションタイプのためのアクションパラメータに一致するパラメータ値を決定する(604)。たとえば、クエリプロセッサ111またはアクションスコアラ140は、クエリから、アクションタイプのアクションを実行するのに必要なパラメータ値を決定することができる。たとえば、アクションタイプ「予約」の場合、「レストラン名」、「パーティ名」、「客の人数」、「日付け」「時刻」のパラメータ値が必要となろう。この例において、パラメータタイプに一致するパラメータ値は、「レストラン名」に対する「City Diner」、「日付け」に対する「明日」、および「時刻」に対する「夜7時」である。欠けたパラメータ値は、「客の人数」および「パーティ名」である。
【００５４】
プロセス600は、クエリのパラメータ値によって一致されないアクションパラメータに基づく追加のパラメータ値を求める要求を、ユーザデバイスに提供する(606)。たとえば、アクションスコアラ140は、客の人数およびパーティ名を求める要求を、ユーザデバイス106に送信することができる。例をあげると、ユーザデバイスは、「私は、あなたのために明日の夜7時にCity Dinerの予約をしようとしているが、パーティ名と客の人数が必要である。パーティ名と客の人数を教えてもらえるだろうか」とのメッセージを表示することができる。次いで、ユーザデバイスは、たとえば、音声入力またはタッチ入力のどちらかの形式で、データを受け取るために入力モードになる。
【００５５】
本実装形態の変更例において、一部のパラメータデータは、たとえばパラメータ値が入手可能な場合には、自動的に提供され得る。たとえば、タクシーを予約するとき、ユーザの場所は自動的に提供されるであろう。同様に、予約をするとき、ユーザ名は自動的に提供されるであろう。
【００５６】
今説明しているシステムがユーザについての個人情報を収集し、または、個人情報を利用することができる状況において、ユーザは、プログラムもしくは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくは社会的活動、職業、ユーザの嗜好、またはユーザの現在場所についての情報)を収集するかどうかを制御する、または、ユーザとより関連する可能性のあるコンテンツサーバからコンテンツを受け取るかどうか、および/もしくは、どのように受け取るかを制御する機会を提供され得る。さらに、個人を識別できる情報を除去するために一定のデータは、それが記憶されまたは使用される前に、1つまたは複数の方法で処理され得る。たとえば、個人を識別できる情報がユーザについて決定できないように、ユーザの身元が取り扱われ、または、ユーザの地理的場所は、ユーザの特定の場所が決定できないように、場所情報(市、郵便番号、または州レベルなどまで)が入手される場所をぼかすことが可能である。このように、ユーザは、ユーザについての情報がどのように収集され、コンテンツサーバによってどのように使用されるかについて制御することが可能である。
【００５７】
主題の実施形態および本明細書に記述された動作は、本明細書で開示された構造体およびその構造的等価物を含む、デジタル電子回路もしくはコンピュータソフトウェア、ファームウェアもしくはハードウェア、または、それらの1つまたは複数の組合せにより実装され得る。本明細書に記載の主題の実施形態は、データ処理装置によって実行され、または、データ処理装置の動作を制御するために実行するコンピュータ記憶媒体上に符号化された、1つまたは複数のコンピュータプログラム、すなわち、コンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。別法としてまたは追加として、プログラム命令は、人工的に生成された伝搬信号、たとえば、機械生成された電気信号、光信号、または電磁信号上に符号化され得る。この伝搬信号は、データ処理装置によって実行するために、適切な受信装置に送信するための情報を符号化するために生成される。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイもしくはデバイス、または、これらの1つまたは複数の組合せとする、または、これらに含まれるものとすることができる。さらに、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令のソースまたは保存先とすることができる。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理的構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)とすること、またはそれらに含まれるとすることができる。
【００５８】
本明細書に記述の動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶され、または他のソースから受け取られたデータに対して、データ処理装置によって実行された動作として実装することができる。
【００５９】
「データ処理装置」という用語は、一例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは複数のシステムオンチップ(multiple ones)、または前述の組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、およびマシンを包含する。装置はまた、ハードウェアに加えて、当のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つまたは複数の組合せを構成するコード含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【００６０】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む任意の形式のプログラミング言語で書くことができ、スタンドアロンプログラムとして、もしくは、モジュール、コンポーネント、サブルーチン、オブジェクトとして、または、コンピューティング環境で使用するのに適した他のユニットを含む任意の形式で展開することができる。コンピュータプログラムは、ファイルシステム中のファイルに対応するが、対応しなくてもよい。プログラムは、当のプログラムに専用の単一のファイル、または、複数の連係ファイル(multiple coordinated files)(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)内の他のプログラムまたはデータ(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を収容するファイルの一部に、記憶することができる。コンピュータプログラムは、1つの場所に配置された、または複数の場所にわたって分散され通信ネットワークによって相互接続された、1つのコンピュータまたは複数のコンピュータ上で実行されるように展開することができる。
【００６１】
本明細書に記述のプロセスおよび論理フローは、入力データに作用し、出力を生成することによりアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行することができる。コンピュータプログラムを実行するのに適したプロセッサには、一例として、汎用および専用マイクロプロセッサの両方、ならびに、任意の種類のデジタルコンピュータのうちのいずれか1種または複数種のプロセッサが含まれる。一般に、プロセッサは、命令およびデータをリードオンリメモリもしくはランダムアクセスメモリ、またはその両者から受け取る。コンピュータの重要な要素は、命令に従ってアクションを実行するプロセッサ、および、命令およびデータを記憶する1つまたは複数のメモリデバイスである。コンピュータプログラム命令およびデータを記憶するのに適したデバイスとしては、一例として、半導体メモリデバイス、たとえばEPROM、EEPROMおよびフラッシュメモリデバイス、磁気ディスク、たとえば内部ハードディスクまたはリムーバブルディスクを含む、あらゆる形式の不揮発性メモリ、媒体およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補完され、または、それに組み込むことができる。
【００６２】
ユーザとの対話を実現するために、本明細書に記述の主題の実施形態は、情報をユーザに表示するための表示デバイス、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびに、それによってユーザがコンピュータに入力が可能なキーボード、およびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装することができる。他の種類のデバイスも、ユーザとの対話を実現するために使用することができる。たとえば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響、音声または触覚入力を含む任意の形式で受け取ることができる。さらに、コンピュータは、ユーザが使用するデバイスとの間で文書を送受することによって、たとえば、ウェブブラウザから受け取られた要求に応答して、ユーザのユーザデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【００６３】
本明細書に記述の主題の実施形態は、バックエンドコンポーネント、たとえばデータサーバとして、または、ミドルウェアコンポーネント、たとえばアプリケーションサーバ、または、フロントエンドコンポーネント、たとえばそれを介してユーザが本明細書に記述の主題の実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するユーザコンピュータ、または、こうした1つまたは複数のバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムに実装することができる。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体、たとえば通信ネットワークによって、相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、およびインターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)が含まれる。
【００６４】
コンピューティングシステムはユーザおよびサーバを含むことができる。ユーザおよびサーバは、一般に相互に離れており、通常は通信ネットワークを介して対話する。ユーザとサーバの関係は、それぞれのコンピュータ上で実行し、ユーザ/サーバ関係を相互に有するコンピュータプログラムによって発生する。いくつかの実施形態において、サーバはデータ(たとえば、HTMLページ)をユーザデバイス(たとえば、ユーザデバイスと対話するユーザとの間でデータを表示し、ユーザ入力を受け取る目的で)に送信する。ユーザデバイスで生成されたデータ(たとえば、ユーザ対話の結果)は、サーバのユーザデバイスから受け取ることができる。
【００６５】
本明細書には多くの特定の実装形態の詳細が含まれているが、これらは以下の特許請求の範囲を制限するものと解釈すべきではなく、むしろ、特定の実施形態に特有の特徴を述べたものと解釈すべきである。別々の実施形態との関連で本明細書に記述されたある特徴は、また、単一の実施形態中に組み合わせて実装することができる。逆に、単一の実施形態との関連で記述された様々な特徴も、複数の実施形態に別個に、または、任意の適切な小組合せで実装することができる。さらに、諸特徴は上記で一定の組合せとして動作するものとして説明され、当初でさえこうしたものとして特許請求されるが、特許請求された組合せからの1つまたは複数の特徴は、いくつかのケースにおいて、その組合せから削除可能であり、特許請求された組合せは、小組合せまたは小組合せの変更例を対象とすることが可能である。
【００６６】
同様に、動作は図面において特定の順序で示されているが、望ましい結果を達成するためには、こうした動作を表示された特定の順序または逐次的順序で実行すること、または、示された全ての動作を実行することが必要であると理解すべきではない。ある環境において、多重タスク処理および並列処理が有利な場合がある。さらに、上述の実施形態における様々なシステムコンポーネントの分離により、全ての実施形態においてこうした分離が必要であると考えるべきではなく、記述したプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に共に統合され、または複数のソフトウェア製品にパッケージ化することが可能であると理解すべきである。
【００６７】
かくして、主題の特定の実施形態を説明してきた。他の実施形態は以下の特許請求の範囲内にある。いくつかのケースにおいて、特許請求中に述べられたアクションは、異なる順序で実行することができ、それでも望ましい結果を達成することができる。さらに、添付の図面に示されたプロセスは、望ましい結果を達成するために、必ずしも表示された特定の順序、または逐次的順序を必要とするわけではない。ある実装形態において、多重タスク処理および並列処理が有利な場合がある。
【符号の説明】
【００６８】
100  例示の環境
102  コンピュータネットワーク
104  発行者ウェブサイト
105  リソース  ウェブリソース  ウェブページリソース
106  ユーザデバイス
110  検索システム
111  クエリプロセッサ
112  ウェブインデックス
114  アクションデータ
120  インデクサ
130  アクションプロセッサ
140  アクションスコアラ
200  プロセス
300  プロセス
400  プロセス
500  プロセス
600  プロセス
【図１】
2019164824.tif 000003
【図２】
2019164824.tif 000004
【図３】
2019164824.tif 000005
【図４】
2019164824.tif 000006
【図５】
2019164824.tif 000007
【図６】
2019164824.tif 000008
【手続補正書】
【提出日】令和1年6月20日(2019.6.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ通信において、1つ又は複数のコンピュータを備えるデータ処理装置によって実行されるコンピュータ実施方法であって、
クライアントデバイスから、1つ又は複数の用語を含むクエリを受信するステップと、
前記クエリに含まれている前記1つ又は複数の用語を使用して、複数の異なるコンピュータアクションタイプからコンピュータアクションタイプ検出するステップであって、検出される前記コンピュータアクションタイプは、a)前記クエリに関連し、b)前記クエリに応答してリソースを処理するデバイスにより実行可能なアクションである、ステップと、
前記1つ又は複数の用語を使用して、複数のコンピュータリソースのインデックスにアクセスすることにより、i)前記複数のコンピュータリソースから、ii)前記クエリにそれぞれ応答する、多数のコンピュータリソースを決定するステップであって、前記複数のコンピュータリソースは、ウェブページリソースとネイティブアプリケーションリソースとを含む、ステップと、
前記複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出することに応答して、前記多数のコンピュータリソースのいくつかに対して、それぞれのリソースによりサポートされる1つ又は複数のコンピュータアクションを記述するアクションデータを決定するステップと、
前記それぞれのリソースを処理するデバイスが前記クエリに関連する前記コンピュータアクションタイプのアクションを実行することを可能にする前記多数のコンピュータリソースから、前記アクションデータを使用して、特定のコンピュータリソースを決定するステップと、
前記クライアントデバイスが前記特定のコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の前記特定のコンピュータリソースのデータを提供するステップと、
を具備することを特徴とするコンピュータ実施方法。
【請求項２】
前記クエリは、2以上の用語を含み、
前記1つ又は複数の用語を使用して、複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出する前記ステップは、
前記2以上の用語から第1の用語を使用して、前記複数の異なるコンピュータアクションタイプから前記クエリに潜在的に関連する2以上のコンピュータアクションタイプを判定するステップと、
前記2以上の用語から少なくとも１つの第2の用語を使用して、前記クエリに潜在的に関連する前記2以上のコンピュータアクションタイプから前記コンピュータアクションタイプを選択するステップと、
を具備することを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項３】
前記クエリに関連する前記コンピュータアクションタイプのアクションを実行するために、前記アクションデータを使用して、前記それぞれのコンピュータリソースの能力に少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けするステップを具備し、
前記クライアントデバイスが前記特定のコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の前記特定のコンピュータリソースのデータを提供する前記ステップは、前記クライアントデバイスが最高ランクのコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の最高ランクのコンピュータリソースのデータを提供するステップを具備する
ことを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項４】
前記クエリに関連する前記コンピュータアクションタイプのアクションを実行するために、前記アクションデータを使用して、前記それぞれのコンピュータリソースの能力に少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けする前記ステップは、
前記コンピュータアクションタイプのアクションを実行するためのアクションパラメータを決定するステップと、
前記クエリの前記1つ又は複数の用語を使用して複数の前記特定のコンピュータリソースのそれぞれのコンピュータリソースに対し、対応するパラメータ値が欠落している前記それぞれのコンピュータリソースに必要な前記アクションパラメータを決定するステップと、
前記アクションデータを使用して、対応するパラメータ値が欠落しているコンピュータリソースに必要な前記アクションパラメータに少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けするステップと、
を具備することを特徴とする請求項3に記載のコンピュータ実施方法。
【請求項５】
前記複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出する前記ステップに応答して、前記クエリの前記1つ又は複数の用語から、前記コンピュータアクションタイプのためのアクションパラメータに合致するクエリ用語を決定するステップと、
前記クエリのクエリ用語によって合致しないアクションパラメータに基づいて追加のパラメータ値の要求を、前記クライアントデバイスに提供するステップと、
を具備することを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項６】
前記複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出する前記ステップに応答して、前記クエリの前記1つ又は複数の用語から、前記コンピュータアクションタイプのためのアクションパラメータと合致するクエリ用語を決定するステップと、
前記クライアントデバイスのデータを使用して、前記クエリのクエリ用語と一致しない1つ又は複数のアクションパラメータのパラメータ値を自動的に決定するステップと、
を具備することを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項７】
前記クライアントデバイスから、前記1つ又は複数の用語を含む前記クエリを受信する前記ステップは、前記クライアントデバイス上の検索エンジンリソースに入力されている前記クエリに応答することを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項８】
前記クライアントデバイスから、前記1つ又は複数の用語を含む前記クエリを受信する前記ステップは、前記クライアントデバイス上のカレンダーアプリケーション上に入力されている前記クエリに応答することを特徴とする請求項1に記載のコンピュータ実施方法。
【請求項９】
システムであって、
データ処理装置と、
前記データ処理装置により実行可能な命令を格納している非一時的コンピュータ可読記憶媒体に格納され、その実行により前記データ処理装置に、
クライアントデバイスから、1つ又は複数の用語を含むクエリを受信するステップと、
前記クエリに含まれている前記1つ又は複数の用語を使用して、複数の異なるコンピュータアクションタイプからコンピュータアクションタイプ検出するステップであって、検出される前記コンピュータアクションタイプは、a)前記クエリに関連し、b)前記クエリに応答してリソースを処理するデバイスにより実行可能なアクションである、ステップと、
前記1つ又は複数の用語を使用して、複数のコンピュータリソースのインデックスにアクセスすることにより、i)前記複数のコンピュータリソースから、ii)前記クエリにそれぞれ応答する、多数のコンピュータリソースを決定するステップであって、前記複数のコンピュータリソースは、ウェブページリソースとネイティブアプリケーションリソースとを含む、ステップと、
前記複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出することに応答して、前記多数のコンピュータリソースのいくつかに対して、それぞれのリソースによりサポートされる1つ又は複数のコンピュータアクションを記述するアクションデータを決定するステップと、
前記それぞれのリソースを処理するデバイスが前記クエリに関連する前記コンピュータアクションタイプのアクションを実行することを可能にする前記多数のコンピュータリソースから、前記アクションデータを使用して、特定のコンピュータリソースを決定するステップと、
前記クライアントデバイスが前記特定のコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の前記特定のコンピュータリソースのデータを提供するステップ
の動作を実行させるソフトウェアと、
を具備することを特徴とするシステム。
【請求項１０】
前記クエリは、2以上の用語を含み、
前記1つ又は複数の用語を使用して、複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出する前記ステップは、
前記2以上の用語から第1の用語を使用して、前記複数の異なるコンピュータアクションタイプから前記クエリに潜在的に関連する2以上のコンピュータアクションタイプを判定するステップと、
前記2以上の用語から少なくとも１つの第2の用語を使用して、前記クエリに潜在的に関連する前記2以上のコンピュータアクションタイプから前記コンピュータアクションタイプを選択するステップと、
を具備することを特徴とする請求項9に記載のシステム。
【請求項１１】
前記動作は、
前記クエリに関連する前記コンピュータアクションタイプのアクションを実行するために、前記アクションデータを使用して、前記それぞれのコンピュータリソースの能力に少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けするステップを具備し、
前記クライアントデバイスが前記特定のコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の前記特定のコンピュータリソースのデータを提供する前記ステップは、前記クライアントデバイスが最高ランクのコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の最高ランクのコンピュータリソースのデータを提供するステップを具備することを特徴とする請求項9に記載のシステム。
【請求項１２】
前記クエリに関連する前記コンピュータアクションタイプのアクションを実行するために、前記アクションデータを使用して、前記それぞれのコンピュータリソースの能力に少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けする前記ステップは、
前記コンピュータアクションタイプのアクションを実行するためのアクションパラメータを決定するステップと、
前記クエリの前記1つ又は複数の用語を使用して複数の前記特定のコンピュータリソースのそれぞれのコンピュータリソースに対し、対応するパラメータ値が欠落している前記それぞれのコンピュータリソースに必要な前記アクションパラメータを決定するステップと、
前記アクションデータを使用して、対応するパラメータ値が欠落しているコンピュータリソースに必要な前記アクションパラメータに少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けするステップと、
を具備することを特徴とする請求項11に記載のシステム。
【請求項１３】
前記動作は、
前記複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出する前記ステップに応答して、前記クエリの前記1つ又は複数の用語から、前記コンピュータアクションタイプのためのアクションパラメータに合致するクエリ用語を決定するステップと、
前記クエリのクエリ用語によって合致しないアクションパラメータに基づいて追加のパラメータ値の要求を、前記クライアントデバイスに提供するステップと、
を具備することを特徴とする請求項9に記載のシステム。
【請求項１４】
前記動作は、
前記複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出する前記ステップに応答して、前記クエリの前記1つ又は複数の用語から、前記コンピュータアクションタイプのためのアクションパラメータと合致するクエリ用語を決定するステップと、
前記クライアントデバイスのデータを使用して、前記クエリのクエリ用語と一致しない1つ又は複数のアクションパラメータのパラメータ値を自動的に決定するステップと、
を具備することを特徴とする請求項9に記載のシステム。
【請求項１５】
前記クライアントデバイスから、前記1つ又は複数の用語を含む前記クエリを受信する前記ステップは、前記クライアントデバイス上の検索エンジンリソースに入力されている前記クエリに応答することを特徴とする請求項9に記載のシステム。
【請求項１６】
前記クライアントデバイスから、前記1つ又は複数の用語を含む前記クエリを受信する前記ステップは、前記クライアントデバイス上のカレンダーアプリケーション上に入力されている前記クエリに応答することを特徴とする請求項9に記載のシステム。
【請求項１７】
データ処理装置により実行可能な命令を格納している非一時的コンピュータ可読記憶媒体であって、前記命令が実行されると前記データ処理装置に、
クライアントデバイスから、1つ又は複数の用語を含むクエリを受信するステップと、
前記クエリに含まれている前記1つ又は複数の用語を使用して、複数の異なるコンピュータアクションタイプからコンピュータアクションタイプ検出するステップであって、検出される前記コンピュータアクションタイプは、a)前記クエリに関連し、b)前記クエリに応答してリソースを処理するデバイスにより実行可能なアクションである、ステップと、
前記1つ又は複数の用語を使用して、複数のコンピュータリソースのインデックスにアクセスすることにより、i)前記複数のコンピュータリソースから、ii)前記クエリにそれぞれ応答する、多数のコンピュータリソースを決定するステップであって、前記複数のコンピュータリソースは、ウェブページリソースとネイティブアプリケーションリソースとを含む、ステップと、
前記複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出することに応答して、前記多数のコンピュータリソースのいくつかに対して、それぞれのリソースによりサポートされる1つ又は複数のコンピュータアクションを記述するアクションデータを決定するステップと、
前記それぞれのリソースを処理するデバイスが前記クエリに関連する前記コンピュータアクションタイプのアクションを実行することを可能にする前記多数のコンピュータリソースから、前記アクションデータを使用して、特定のコンピュータリソースを決定するステップと、
前記クライアントデバイスが前記特定のコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の前記特定のコンピュータリソースのデータを提供するステップ
の動作を実行させることを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記クエリは、2以上の用語を含み、
前記1つ又は複数の用語を使用して、複数の異なるコンピュータアクションタイプから前記コンピュータアクションタイプを検出する前記ステップは、
前記2以上の用語から第1の用語を使用して、前記複数の異なるコンピュータアクションタイプから前記クエリに潜在的に関連する2以上のコンピュータアクションタイプを判定するステップと、
前記2以上の用語から少なくとも１つの第2の用語を使用して、前記クエリに潜在的に関連する前記2以上のコンピュータアクションタイプから前記コンピュータアクションタイプを選択するステップと、
を具備することを特徴とする請求項17に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記動作は、
前記クエリに関連する前記コンピュータアクションタイプのアクションを実行するために、前記アクションデータを使用して、前記それぞれのコンピュータリソースの能力に少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けするステップを具備し、
前記クライアントデバイスが前記特定のコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の前記特定のコンピュータリソースのデータを提供する前記ステップは、前記クライアントデバイスが最高ランクのコンピュータリソースの１つを使用して前記コンピュータアクションタイプのアクションを実行することを可能にするために、前記クライアントデバイスに、1つ又は複数の最高ランクのコンピュータリソースのデータを提供するステップを具備する
ことを特徴とする請求項17に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記クエリに関連する前記コンピュータアクションタイプのアクションを実行するために、前記アクションデータを使用して、前記それぞれのコンピュータリソースの能力に少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けする前記ステップは、
前記コンピュータアクションタイプのアクションを実行するためのアクションパラメータを決定するステップと、
前記クエリの前記1つ又は複数の用語を使用して複数の前記特定のコンピュータリソースのそれぞれのコンピュータリソースに対し、対応するパラメータ値が欠落している前記それぞれのコンピュータリソースに必要な前記アクションパラメータを決定するステップと、
前記アクションデータを使用して、対応するパラメータ値が欠落しているコンピュータリソースに必要な前記アクションパラメータに少なくとも部分的に基づいて、順番に従って前記特定のコンピュータリソースをランク付けするステップと、
を具備することを特徴とする請求項19に記載のコンピュータ可読記憶媒体。
【外国語明細書】
2019164824000001.pdf