(57)【要約】      （修正有）【課題】データ処理及びアプリケーション情報の提示をトリガするシステム、方法及びコンピュータプログラム製品を提供する。【解決手段】トリガするクエリにインデックス付けするプロセスは、記憶されたクエリ及び主要なクエリトピックと少なくとも１つのクエリサブトピックとを指定する記憶されたクエリの特徴のセットをアクセスする。特定のアプリケーションの少なくとも主要なアプリケーションカテゴリとアプリケーションサブカテゴリとを指定する、階層的アプリケーション分類をアクセスする。記憶されたクエリの特徴のセットと、階層的アプリケーション分類との間の類似性のレベルを決定する。特定のアプリケーションが、指定された閾値を満たす類似性のレベルに基づいて、記憶されたクエリに関連すると判定する。システムは、記憶されたクエリを受信したときに特定のアプリケーションに関する情報の提示をトリガするクエリとしてインデックス付けする。【選択図】図３
2020173845.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサと、
実行されると、前記1つまたは複数のプロセッサに、
1つまたは複数のサーバによってメモリデバイスから、記憶されたクエリおよび前記記憶されたクエリの特徴のセットにアクセスすることであって、前記記憶されたクエリの前記特徴のセットが、前記記憶されたクエリの主要なクエリトピックと少なくとも1つのクエリサブトピックとを指定する、アクセスすることと、
前記1つまたは複数のサーバによってメモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスすることであって、前記階層的アプリケーション分類が、前記特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、アクセスすることと、
前記1つまたは複数のサーバによって、前記記憶されたクエリの前記特徴のセットと前記特定のアプリケーションの前記階層的アプリケーション分類との間の類似性のレベルを決定することと、
前記1つまたは複数のサーバによって、指定されたしきい値を満たす前記類似性のレベルに基づいて、前記特定のアプリケーションが前記記憶されたクエリに関連すると判定することと、
前記1つまたは複数のサーバによって、前記記憶されたクエリがクライアントデバイスから受信されたときに、前記記憶されたクエリを前記特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けすることと
を備える動作を実行させる命令を含む1つまたは複数のメモリ要素と
を備える、システム。
【請求項２】
前記動作が、
提出されたクエリをクライアントデバイスから受信することと、
前記特定のアプリケーションが前記提出されたクエリに関連すると判定することと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記特定のアプリケーションに関する情報を提示するデータを提供することと
をさらに備える、請求項1に記載のシステム。
【請求項３】
前記特定のアプリケーションが前記提出されたクエリに関連すると判定することが、前記提出されたクエリが前記インデックスにおける前記記憶されたクエリと一致すると判定することを備える、請求項2に記載のシステム。
【請求項４】
前記動作が、
提出されたクエリをクライアントデバイスから受信することと、
前記提出されたクエリについて、前記提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、前記提出されたクエリの特徴のセットを取得することと、
前記主要なトピックおよび前記サブトピックを含む階層的アプリケーション分類を有する候補アプリケーションを識別することと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供することと
をさらに備える、請求項1に記載のシステム。
【請求項５】
前記動作が、
前記識別された候補アプリケーションの中から、前記提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別することであって、前記候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供することが、前記クライアントデバイスにおいて提示される前記ユーザインターフェース内に、前記所与のアプリケーションを識別する情報と、前記所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供することを備える、識別することをさらに備える、請求項4に記載のシステム。
【請求項６】
前記動作が、
前記記憶されたクエリの前記特徴のセットを生成することであって、
前記記憶されたクエリについて、前記記憶されたクエリを使用して取得された検索結果から顕著な用語のセットを識別することと、
前記記憶されたクエリをユニグラムのセットに解析することと、
前記顕著な用語のセットおよび前記ユニグラムに基づいて、前記記憶されたクエリに対応するトピックのセットを前記記憶されたクエリの前記特徴のセットとして識別することと
を含む、生成すること
をさらに備える、請求項1に記載のシステム。
【請求項７】
1つまたは複数のサーバによってメモリデバイスから、記憶されたクエリおよび前記記憶されたクエリの特徴のセットにアクセスするステップであって、前記記憶されたクエリの前記特徴のセットが、前記記憶されたクエリの主要なクエリトピックと少なくとも1つのクエリサブトピックとを指定する、ステップと、
前記1つまたは複数のサーバによってメモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスするステップであって、前記階層的アプリケーション分類が、前記特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、ステップと、
前記1つまたは複数のサーバによって、前記記憶されたクエリの前記特徴のセットと前記特定のアプリケーションの前記階層的アプリケーション分類との間の類似性のレベルを決定するステップと、
前記1つまたは複数のサーバによって、指定されたしきい値を満たす前記類似性のレベルに基づいて、前記特定のアプリケーションが前記記憶されたクエリに関連すると判定するステップと、
前記1つまたは複数のサーバによって、前記記憶されたクエリがクライアントデバイスから受信されたときに、前記記憶されたクエリを前記特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けするステップと
を備える、方法。
【請求項８】
提出されたクエリをクライアントデバイスから受信するステップと、
前記特定のアプリケーションが前記提出されたクエリに関連すると判定するステップと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記特定のアプリケーションに関する情報を提示するデータを提供するステップと
をさらに備える、請求項7に記載の方法。
【請求項９】
前記特定のアプリケーションが前記提出されたクエリに関連すると判定するステップが、前記提出されたクエリが前記インデックスにおける前記記憶されたクエリと一致すると判定するステップを備える、請求項8に記載の方法。
【請求項１０】
提出されたクエリをクライアントデバイスから受信するステップと、
前記提出されたクエリについて、前記提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、前記提出されたクエリの特徴のセットを取得するステップと、
前記主要なトピックおよび前記サブトピックを含む階層的アプリケーション分類を有する候補アプリケーションを識別するステップと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供するステップと
をさらに備える、請求項7に記載の方法。
【請求項１１】
前記識別された候補アプリケーションの中から、前記提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別するステップであって、前記候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供するステップが、前記クライアントデバイスにおいて提示される前記ユーザインターフェース内に、前記所与のアプリケーションを識別する情報と、前記所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供するステップを備える、ステップをさらに備える、請求項10に記載の方法。
【請求項１２】
前記記憶されたクエリの前記特徴のセットを生成するステップであって、
前記記憶されたクエリについて、前記記憶されたクエリを使用して取得された検索結果から顕著な用語のセットを識別するステップと、
前記記憶されたクエリをユニグラムのセットに解析するステップと、
前記顕著な用語のセットおよび前記ユニグラムに基づいて、前記記憶されたクエリに対応するトピックのセットを前記記憶されたクエリの前記特徴のセットとして識別するステップと
を含む、ステップをさらに備える、請求項7に記載の方法。
【請求項１３】
複数の異なるアプリケーションの前記階層的アプリケーション分類に基づいて前記複数の異なるアプリケーションをアプリケーションクラスタにクラスタリングするステップであって、前記アプリケーションクラスタが代表的な階層的アプリケーション分類を有する、ステップと、
提出されたクエリをクライアントデバイスから受信するステップと、
前記提出されたクエリの特徴のセットを取得するステップと、
前記提出されたクエリの前記特徴のセットを対応する階層的アプリケーション分類にマッピングするステップと、
前記対応する階層的アプリケーション分類が、前記クラスタの前記代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有すると判定するステップと、
前記対応する階層的アプリケーション分類が前記クラスタの前記代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有することに応答して、前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記アプリケーションクラスタにおける前記アプリケーションのうちの少なくともいくつかに関する情報を提示するデータを提供するステップと
をさらに備える、請求項7に記載の方法。
【請求項１４】
実行されると、1つまたは複数のプロセッサに、
1つまたは複数のサーバによってメモリデバイスから、記憶されたクエリおよび前記記憶されたクエリの特徴のセットにアクセスすることであって、前記記憶されたクエリの前記特徴のセットが、前記記憶されたクエリの主要なクエリトピックと少なくとも1つのクエリサブトピックとを指定する、アクセスすることと、
前記1つまたは複数のサーバによってメモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスすることであって、前記階層的アプリケーション分類が、前記特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、アクセスすることと、
前記1つまたは複数のサーバによって、前記記憶されたクエリの前記特徴のセットと前記特定のアプリケーションの前記階層的アプリケーション分類との間の類似性のレベルを決定することと、
前記1つまたは複数のサーバによって、指定されたしきい値を満たす前記類似性のレベルに基づいて、前記特定のアプリケーションが前記記憶されたクエリに関連すると判定することと、
前記1つまたは複数のサーバによって、前記記憶されたクエリがクライアントデバイスから受信されたときに、前記記憶されたクエリを前記特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けすることと
を備える動作を実行させる命令を含む非推移的コンピュータ可読記録媒体に組み込まれた、コンピュータプログラム製品。
【請求項１５】
前記動作が、
提出されたクエリをクライアントデバイスから受信することと、
前記特定のアプリケーションが前記提出されたクエリに関連すると判定することと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に、前記特定のアプリケーションに関する情報を提示するデータを提供することと
をさらに備える、請求項14に記載のコンピュータプログラム製品。
【請求項１６】
前記特定のアプリケーションが前記提出されたクエリに関連すると判定することが、前記提出されたクエリが前記インデックスにおける前記記憶されたクエリと一致すると判定することを備える、請求項15に記載のコンピュータプログラム製品。
【請求項１７】
前記動作が、
提出されたクエリをクライアントデバイスから受信することと、
前記提出されたクエリについて、前記提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、前記提出されたクエリの特徴のセットを取得することと、
前記主要なトピックおよび前記サブトピックを含む階層的アプリケーション分類を有する候補アプリケーションを識別することと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供することと
をさらに備える、請求項14に記載のコンピュータプログラム製品。
【請求項１８】
前記動作が、
前記識別された候補アプリケーションの中から、前記提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別することであって、前記候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供することが、前記クライアントデバイスにおいて提示される前記ユーザインターフェース内に、前記所与のアプリケーションを識別する情報と、前記所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供することを備える、識別することをさらに備える、請求項17に記載のコンピュータプログラム製品。
【請求項１９】
前記動作が、
前記記憶されたクエリの前記特徴のセットを生成することであって、
前記記憶されたクエリについて、前記記憶されたクエリを使用して取得された検索結果から顕著な用語のセットを識別することと、
前記記憶されたクエリをユニグラムのセットに解析することと、
前記顕著な用語のセットおよび前記ユニグラムに基づいて、前記記憶されたクエリに対応するトピックのセットを前記記憶されたクエリの前記特徴のセットとして識別することと
を含む、生成することをさらに備える、請求項14に記載のコンピュータプログラム製品。
【請求項２０】
前記動作が、
複数の異なるアプリケーションの前記階層的アプリケーション分類に基づいて前記複数の異なるアプリケーションをアプリケーションクラスタにクラスタリングすることであって、前記アプリケーションクラスタが代表的な階層的アプリケーション分類を有する、クラスタリングすることと、
提出されたクエリをクライアントデバイスから受信することと、
前記提出されたクエリの特徴のセットを取得することと、
前記提出されたクエリの前記特徴のセットを対応する階層的アプリケーション分類にマッピングすることと、
前記対応する階層的アプリケーション分類が、前記クラスタの前記代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有すると判定することと、
前記対応する階層的アプリケーション分類が前記クラスタの前記代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有することに応答して、前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記アプリケーションクラスタにおける前記アプリケーションのうちの少なくともいくつかに関する情報を提示するデータを提供することと
をさらに備える、請求項14に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、データ処理、およびアプリケーション情報の提示をトリガすることに関する。
【背景技術】
【０００２】
インターネットは様々なリソースへのアクセスを提供する。たとえば、ビデオおよび/またはオーディオファイル、ならびに特定の主題に関するウェブページまたは特定のニュース記事は、インターネットを介してアクセス可能である。これらのリソースへのアクセスは、サードパーティコンテンツがリソースとともに提供される機会を提供する。たとえば、ウェブページは、コンテンツを提示することができるスロットを含むことができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
一般に、本明細書に記載される主題の革新的な一態様は、1つまたは複数の処理デバイスおよび1つまたは複数のストレージデバイスを含むシステムにおいて実装することができる。本ストレージデバイスは、1つまたは複数の処理デバイスによって実行されると、1つまたは複数の処理デバイスに、1つまたは複数のサーバによって、メモリデバイスから、記憶されたクエリおよび記憶されたクエリの特徴のセットにアクセスすることであって、記憶されたクエリの特徴のセットは、記憶されたクエリの主要なクエリトピックと少なくとも1つのクエリサブトピックとを指定する、アクセスすることと、1つまたは複数のサーバによって、メモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスすることであって、階層的アプリケーション分類は、特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、アクセスすることと、1つまたは複数のサーバによって、記憶されたクエリの特徴のセットと特定のアプリケーションの階層的アプリケーション分類との間の類似性のレベルを決定することと、1つまたは複数のサーバによって、指定されたしきい値を満たす類似性のレベルに基づいて、特定のアプリケーションは記憶されたクエリに関連すると判定することと、1つまたは複数のサーバによって、記憶されたクエリがクライアントデバイスから受信されたときに、記憶されたクエリを特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けすることとを含む動作を実行させる命令を記憶する。
【０００４】
これらおよび他の実装形態はそれぞれ、任意で以下の特徴のうちの1つまたは複数を含むことができる。本動作は、提出されたクエリをクライアントデバイスから受信することと、特定のアプリケーションが提出されたクエリに関連すると判定することと、提出されたクエリに応じて、クライアントデバイスにおいて提示されたユーザインターフェース内に、特定のアプリケーションに関する情報を提示するデータをクライアントデバイスに提供することとをさらに含むことができる。特定のアプリケーションが提出されたクエリに関連すると判定することは、提出されたクエリがインデックスにおける記憶されたクエリと一致すると判定することを含むことができる。本動作は、提出されたクエリをクライアントデバイスから受信することと、提出されたクエリについて、提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、提出されたクエリの特徴のセットを取得することと、主要なトピックおよびサブトピックを含む階層的アプリケーション分類を有する候補アプリケーションを識別することと、提出されたクエリに応じて、クライアントデバイスにおいて提示されたユーザインターフェース内に、候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータをクライアントデバイスに提供することとをさらに含むことができる。本動作は、識別された候補アプリケーションの中から、提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別することをさらに含むことができ、候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供することは、クライアントデバイスにおいて提示されるユーザインターフェース内に、所与のアプリケーションを識別する情報と、所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供することを備える。本動作は、記憶されたクエリについて、記憶されたクエリを使用して取得された検索結果から、顕著な用語のセットを識別することと、記憶されたクエリをユニグラムのセットに解析することと、顕著な用語のセットおよびユニグラムに基づいて、記憶されたクエリに対応するトピックのセットを記憶されたクエリの特徴のセットとして識別することとを含む、記憶されたクエリの特徴のセットを生成することをさらに含むことができる。
【０００５】
特定の実装形態は、以下の利点のうちのいずれも実現しないこともあり、そのうちの1つまたは複数を実現することもある。アプリケーション(または「アプリ」)のカテゴリは、コンテンツ要求(たとえばクエリ)と一致する単語(たとえば、キーワード)とは無関係のクエリ−アプリケーションインデックスに基づいて選択されるアプリケーション関連コンテンツを有することができる。アプリケーション関連コンテンツは、アプリケーションダウンロードポータル(たとえば、アプリストア)を通じて提供され、クエリのトピックに関連する、アプリケーション(たとえば、ゲーム)のカテゴリ(または、クラスタ)に一致するクエリに基づいて選択することができる。クエリからアプリケーションへのインデックス付けは、キーワード一致システムによって誤解される可能性があるアプリケーションタイトルを有するアプリケーションに関連付けられる無関係なコンテンツ選択の割合を減らすために使用することができる。目標アプリケーション(たとえば、ユーザが探しているアプリ)に関する情報をユーザに提示するために必要な処理能力、時間、および/または帯域幅消費の量を減らすことができる。クエリからアプリケーションへのインデックス付けは、クエリに対応するアプリケーションを識別するために必要な時間の量および/またはクエリ時間処理を減らすことができる。
【０００６】
一般に、本明細書に記載される主題の別の革新的な態様は、1つまたは複数のサーバによって、メモリデバイスから、記憶されたクエリおよび記憶されたクエリの特徴のセットにアクセスするステップであって、記憶されたクエリの特徴のセットは、記憶されたクエリの主要なクエリトピックと少なくとも1つのクエリサブトピックとを指定する、ステップと、1つまたは複数のサーバによって、メモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスするステップであって、階層的アプリケーション分類は、特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、ステップと、1つまたは複数のサーバによって、記憶されたクエリの特徴のセットと特定のアプリケーションの階層的アプリケーション分類との間の類似性のレベルを決定するステップと、1つまたは複数のサーバによって、指定されたしきい値を満たす類似性のレベルに基づいて、特定のアプリケーションは記憶されたクエリに関連すると判定するステップと、1つまたは複数のサーバによって、記憶されたクエリがクライアントデバイスから受信されたときに、記憶されたクエリを特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けするステップと含む方法において実装することができる。
【０００７】
これらおよび他の実装形態はそれぞれ、任意で以下の特徴のうちの1つまたは複数を含むことができる。本方法は、提出されたクエリをクライアントデバイスから受信するステップと、特定のアプリケーションが提出されたクエリに関連すると判定するステップと、提出されたクエリに応じて、クライアントデバイスにおいて提示されたユーザインターフェース内に、特定のアプリケーションに関する情報を提示するデータをクライアントデバイスに提供するステップとをさらに含むことができる。特定のアプリケーションが提出されたクエリに関連すると判定するステップは、提出されたクエリがインデックスにおける記憶されたクエリと一致すると判定するステップを含むことができる。本方法は、提出されたクエリをクライアントデバイスから受信するステップと、提出されたクエリについて、提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、提出されたクエリの特徴のセットを取得するステップと、主要なトピックおよびサブトピックを含む階層的アプリケーション分類を有する候補アプリケーションを識別するステップと、提出されたクエリに応じて、クライアントデバイスにおいて提示されたユーザインターフェース内に、候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータをクライアントデバイスに提供するステップとをさらに含むことができる。本方法は、識別された候補アプリケーションの中から、提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別するステップをさらに含むことができ、候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供するステップは、クライアントデバイスにおいて提示されるユーザインターフェース内に、所与のアプリケーションを識別する情報と、所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供するステップを備える。本方法は、記憶されたクエリについて、記憶されたクエリを使用して取得された検索結果から、顕著な用語のセットを識別するステップと、記憶されたクエリをユニグラムのセットに解析するステップと、顕著な用語のセットおよびユニグラムに基づいて、記憶されたクエリに対応するトピックのセットを記憶されたクエリの特徴のセットとして識別するステップとを含む、記憶されたクエリの特徴のセットを生成するステップをさらに含むことができる。本方法は、複数の異なるアプリケーションの階層的アプリケーション分類に基づいて複数の異なるアプリケーションをアプリケーションクラスタにクラスタリングするステップであって、アプリケーションクラスタが代表的な階層的アプリケーション分類を有する、ステップと、提出されたクエリをクライアントデバイスから受信するステップと、提出されたクエリの特徴のセットを取得するステップと、提出されたクエリの特徴のセットを対応する階層的アプリケーション分類にマッピングするステップと、対応する階層的アプリケーション分類が、クラスタの代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有すると判定するステップと、対応する階層的アプリケーション分類がクラスタの代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有することに応答して、提出されたクエリに応じて、クライアントデバイスにおいて提示されたユーザインターフェース内に、アプリケーションクラスタにおけるアプリケーションのうちの少なくともいくつかに関する情報を提示するデータをクライアントデバイスに提供するステップとをさらに含むことができる。
【０００８】
一般に、本明細書に記載される主題の別の革新的な態様は、コンピュータプログラムで符号化された非一時的コンピュータストレージ媒体において実装することができる。本プログラムは、分散コンピューティングシステムによって実行されると、分散コンピューティングシステムに、1つまたは複数のサーバによって、メモリデバイスから、記憶されたクエリおよび記憶されたクエリの特徴のセットにアクセスすることであって、記憶されたクエリの特徴のセットは、記憶されたクエリの主要なクエリトピックと少なくとも1つのクエリサブトピックとを指定する、アクセスすることと、1つまたは複数のサーバによって、メモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスすることであって、階層的アプリケーション分類は、特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、アクセスすることと、1つまたは複数のサーバによって、記憶されたクエリの特徴のセットと特定のアプリケーションの階層的アプリケーション分類との間の類似性のレベルを決定することと、1つまたは複数のサーバによって、指定されたしきい値を満たす類似性のレベルに基づいて、特定のアプリケーションは記憶されたクエリに関連すると判定することと、1つまたは複数のサーバによって、記憶されたクエリがクライアントデバイスから受信されたときに、記憶されたクエリを特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けすることとを含む動作を実行させる命令を含むことができる。
【０００９】
これらおよび他の実装形態はそれぞれ、任意で以下の特徴のうちの1つまたは複数を含むことができる。本動作は、提出されたクエリをクライアントデバイスから受信することと、特定のアプリケーションが提出されたクエリに関連すると判定することと、提出されたクエリに応じて、クライアントデバイスにおいて提示されたユーザインターフェース内に、特定のアプリケーションに関する情報を提示するデータをクライアントデバイスに提供することとをさらに含むことができる。特定のアプリケーションが提出されたクエリに関連すると判定することは、提出されたクエリがインデックスにおける記憶されたクエリと一致すると判定することを含むことができる。本動作は、提出されたクエリをクライアントデバイスから受信することと、提出されたクエリについて、提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、提出されたクエリの特徴のセットを取得することと、主要なトピックおよびサブトピックを含む階層的アプリケーション分類を有する候補アプリケーションを識別することと、提出されたクエリに応じて、クライアントデバイスにおいて提示されたユーザインターフェース内に、候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータをクライアントデバイスに提供することとをさらに含むことができる。本動作は、識別された候補アプリケーションの中から、提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別することをさらに含むことができ、候補アプリケーションのうちの少なくとも1つに関する情報を提示するデータを提供することは、クライアントデバイスにおいて提示されるユーザインターフェース内に、所与のアプリケーションを識別する情報と、所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供することを備える。本動作は、記憶されたクエリについて、記憶されたクエリを使用して取得された検索結果から、顕著な用語のセットを識別することと、記憶されたクエリをユニグラムのセットに解析することと、顕著な用語のセットおよびユニグラムに基づいて、記憶されたクエリに対応するトピックのセットを記憶されたクエリの特徴のセットとして識別することとを含む、記憶されたクエリの特徴のセットを生成することをさらに含むことができる。本動作は、複数の異なるアプリケーションの階層的アプリケーション分類に基づいて複数の異なるアプリケーションをアプリケーションクラスタにクラスタリングすることであって、アプリケーションクラスタが代表的な階層的アプリケーション分類を有する、クラスタリングすることと、提出されたクエリをクライアントデバイスから受信することと、提出されたクエリの特徴のセットを取得することと、提出されたクエリの特徴のセットを対応する階層的アプリケーション分類にマッピングすることと、対応する階層的アプリケーション分類が、クラスタの代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有すると判定することと、対応する階層的アプリケーション分類がクラスタの代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有することに応答して、提出されたクエリに応じて、クライアントデバイスにおいて提示されたユーザインターフェース内に、アプリケーションクラスタにおけるアプリケーションのうちの少なくともいくつかに関する情報を提示するデータをクライアントデバイスに提供することとをさらに含むことができる。
【００１０】
本明細書に記載される主題の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】電子文書を用いた提示のためにサードパーティコンテンツが配信される例示的な環境のブロック図である。
【図２】アプリケーションに関連する情報の提示をトリガする例示的なシステムを示す図である。
【図３】アプリケーションに関連する情報の提示をトリガするクエリにインデックス付けするための例示的なプロセスのフローチャートである。
【図４】本開示において説明される方法、システム、およびプロセスを実装するために使用されてもよい例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１２】
様々な図面における同様の参照番号および名称は同様の要素を示す。
【００１３】
アプリケーション関連情報の提示をトリガするクエリにインデックス付けするためのシステム、方法、およびコンピュータプログラム製品について説明する。たとえば、アプリケーション関連情報は、ユーザに提示することができ、アプリケーションの特徴、アプリケーションカテゴリ、および/またはアプリケーションのタイトルを記述する情報を含むことができる。この情報は、たとえばクライアントデバイスへのダウンロード、および/またはクライアントデバイスへのインストールに利用可能なアプリケーションに適用することができる。いくつかの実装形態では、各アプリケーション(または「アプリ」)は、たとえばクエリからアプリケーションへのインデックスを作成するために、アプリケーションに関する情報を具体的に要求するために使用される、既知のクエリにインデックス付けすることができる。クエリは、たとえばアプリ関連サイト(たとえば、アプリケーションストア)および一般的な検索サイトから発生することができる。作成されたクエリからアプリケーションへのインデックスは、コンテンツのリアルタイム配信(たとえば、受信したクエリに関連付けられるアプリの広告)をサポートすることができる。たとえば、クエリからアプリケーションへのインデックスは、特定のクエリをアプリケーションにマッピングすることができる。また、たとえばクエリとアプリケーションとの間で共有される階層的分類に基づいて、クエリをアプリケーションカテゴリにマッピングするために、クラスタリング技法を使用することができる。
【００１４】
提示および/またはダウンロードされるべきアプリケーションを識別するために、複数の異なる方法を使用することができる。1つの方法は、たとえば前述のように、アプリケーションに対するクエリのインデックス付けを含むことができる。インデックス付けはオフラインで行うことができ、たとえば何が関連するかを決定するために、クエリの多くのインスタンスが以前に受信および分析されていることを必要とする。たとえば、表面化され、ユーザが対話した検索結果に対して、たとえばクエリの顕著な用語を決定するために分析を行うことができる。顕著な用語は、たとえば文書(たとえば、ウェブページ)内に重要なトピック関連用語またはフレーズを含むことができ、また通常は検索されない非トピックワード(たとえば、記事および他の非名詞)を除外することができる。次いで、クエリとアプリとの間の類似性を決定するために、顕著な用語と、アプリに関連付けられる顕著な用語(たとえば、アプリケーションの説明から識別された用語、および提出されてアプリのダウンロードにつながったクエリを含む)とを比較することができる。
【００１５】
アプリケーションを識別する別の方法は、たとえば類似性を決定するために、個々のアプリケーションのクエリから階層的分類への階層的分類のクエリ−時間一致を使用することを含むことができる。たとえば、アプリケーションは、クエリとアプリケーションとの間で共有される階層的分類に基づいて識別することができる。特定の例は、入ってくるクエリが同じレベルのクエリの階層的分類に分類されるときに、/ゲーム→/パズル→/何らかの例示的なパズルタイプとして分類される1つまたは複数のアプリケーションの情報を提供することである。
【００１６】
アプリケーションを識別するさらに別の方法は、たとえば関連するアプリケーションのセットを識別するために、アプリケーションを分類にクラスタリングすることを含むことができる。この手法もまた、上述のようにクエリのクエリ−時間分析を使用し、さらにその分類をその同じ階層的分類に分類されているアプリケーションのクラスタに一致させることができる。クラスタリングは様々なレベルで行われるため、クエリが受信されたときに、所与のクラスタ内のアプリケーションをリアルタイムで識別する/返すことができる。アプリケーションを識別する他の方法も可能である。
【００１７】
いくつかの実装形態では、クエリとアプリケーションとの間の一致を決定することは、クエリ分類空間とアプリケーション分類空間との間で転置または共有されてもよい特徴のクラスを分析することを含むことができる。たとえば、分析される特徴は、クエリの意図を捉えるだけでなくアプリケーションの目的も捉えるという特徴などの意味論的なものとすることができる。これは、たとえ字句(lexical)比較がナビゲーションの一致を検出するための有用な特徴になることができるとしても、たとえばクエリテキストとアプリケーション名の字句比較のみに依存することなしに行うことができる。クエリが、特定のアプリケーションを見つけるためのユーザによる試みであると判定された場合、クエリとアプリとの間の一致はナビゲーションであると見なされる。この種の一致は、クエリの用語が特定のアプリケーションのタイトルと十分に類似している(たとえば、ほぼ完全に一致している)場合、ならびに/あるいは、履歴クエリログが、所与のクエリを提出したユーザの少なくともしきい値部分が特定のアプリケーションに関する情報を最終的に要求したか、および/または特定のアプリケーションをダウンロードしたことを明らかにした場合に存在すると見なすことができる。キーワードを使用しない、クエリからアプリケーションへのマッピング手法においては、キーワード一致技法ではなく、異なる種類の特徴が一致の中心になることがある。
【００１８】
クエリとアプリケーションの間で共有される顕著な用語は、第1のタイプの特徴として使用することができる。たとえば、顕著な用語は、通常は検索されない非トピックワード(たとえば、記事および他の非名詞)を除外することなど、ウェブページなどの文書における重要な用語またはフレーズである単語またはバイグラム(または、他のnグラム)であってもよい。クエリ側では、たとえばユーザによって入力されたクエリおよびクエリに応じて生成された結果として得られたクエリ結果を分析することを含む履歴情報を分析することなどによって、受信したクエリに応答して返される検索結果から顕著な用語を抽出することができる。アプリケーション側では、顕著な用語は、アプリケーションに関連付けられるウェブページから抽出することができ、あるいはアプリケーションストアまたは他のアプリケーション関連ページにあるアプリケーションの記述から抽出することができる。
【００１９】
たとえば、トピックおよびサブトピックに関連付けられる別のタイプの特徴は、ツリー、ネットワーク、ならびにインデックス付けおよび関連用語において使用される他の構造などのインデックス付け構造からの情報を使用して決定することができる。たとえば、インデックス付け構造は、半教師付きクラスタリングプロセスを通じて導出されたウェブ文書上のトピッククラスタに関連付けられる識別子を含むことができる。クエリ側では、ユーザから受け取った入力によって、クエリから構造へのトピック分類子を提供することができる。アプリケーション側では、アプリケーション記述は、アプリケーションを分類するために使用することができるトピックを識別するためのテキストのソースとして使用することができる。いくつかの実装形態では、サンドボックス環境でアプリを自動的に実行すること、および/または意味信号のためのアプリのオペレーティングシステム配布/インストールファイルを直接解釈することによって、アプリ側の意味信号を決定することができる。
【００２０】
さらに別の種類の特徴、たとえばタイトル関連特徴をアプリケーションのアプリケーションタイトルに関連付けることができる。たとえば、字句特徴のセット、たとえばユニグラムまたは他のnグラムを、アプリケーションタイトルとクエリの両方から抽出することができる。字句特徴のセット間の一致は、クエリとアプリケーションとの間の類似性の尺度を提供することができる。
【００２１】
さらなる種類の特徴はまた、顕著な用語を決定するために使用することができるアプリケーションカテゴリの階層を表す分類法を含む。たとえば、分類法は、他の可能な階層の中でも、/ゲーム→/ゲーム/パズル、または/ゲーム→/ゲーム/パズル_ゲーム/番号_ゲームなどの階層関係を含むことができる。顕著な用語は、たとえば人間が入力したラベル、発行者が提供したカテゴリ、およびアプリケーションに関する利用可能な情報を分析するモデルからの推論の組合せなどのアプリケーションごとの分類から決定することができる。クエリ側では、以下でより詳細に説明するように、たとえばクエリのトピックをクエリの最も可能性の高いカテゴリ、または階層的分類にマッピングするモデルから顕著な用語を決定することができる。
【００２２】
いくつかの実装形態では、クエリ側とアプリケーション側の両方の特徴の各々は、たとえば特徴、およびクエリまたはアプリケーションのいずれかに関連付けられる総合スコアを計算するために使用される重みを含むことができる。いくつかの実装形態では、クエリをアプリケーションに関連付ける総合スコアは、各特徴に(たとえば、顕著な用語、トピック/サブトピック、タイトル、およびアプリケーションカテゴリ)に、その特徴のクラスの対応する重みを掛けることを含む、クエリ側の特徴のベクトルとアプリケーション側の特徴のベクトルとの間の内積を取ることによって計算することができる。内積は、たとえばクエリ側とアプリケーション側の特徴のセット間の重複を数えることによって単純化することができる。一般に、重複が増大するにつれて、クエリとアプリケーションとの間の関連性(たとえば、類似性)が増大する。
【００２３】
各特徴のクラスに関連付けられる重みを確立するために異なる方法を使用することができる。いくつかの実装形態では、たとえば関連性スコアを識別するために、クエリ−アプリケーションのペアごとにグラウンドトゥルースセットを確立することができる。たとえば、クエリからアプリケーションへの一致のサンプルを提供された人間の評価者は、[-100、100]のスケール(またはその他のスケール)で、各クエリからアプリケーションへの一致の関連性をランク付けすることができる。いくつかの実装形態では、クエリとアプリケーションとの間の類似性を決定する際に各特徴の有用性に効果的に重み付けするために、線形回帰モデルを特徴クラスにわたって(たとえば、非線形回帰または分類モデルを使用して)トレーニングするために、何千ものそのような人間が評価したクエリからアプリケーションへの関連性スコアを使用することができる。
【００２４】
アプリケーション数および履歴クエリ数が増加するにつれて、処理要件および/または所与のクエリに関連するアプリケーションを識別するのに必要な時間量も増加する。たとえば、アプリケーションの数が10の8乗以上を超える場合があり、クエリの数が10の7乗以上を超える場合がある。いくつかの実装形態では、数が増え続けるアプリケーションおよびクエリに関連付けられる関連性スコアを決定することに関連付けられる技術的問題(たとえば、処理要件/処理時間/記憶要件)を克服するために、保存される関連性スコアの数をクエリ特徴とアプリケーション特徴の間で最も高い内積を持つN個のクエリに制限することができる。
【００２５】
図1は、電子文書を用いた提示のためにサードパーティコンテンツが配信される例示的な環境100のブロック図である。例示的な環境100は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはそれらの組合せなどのネットワーク102を含む。ネットワーク102は、電子文書サーバ104、ユーザデバイス106、サードパーティコンテンツサーバ108、およびサードパーティコンテンツ配信システム110(コンテンツ配信システムとも呼ばれる)を接続する。例示的な環境100は、多くの異なる電子文書サーバ104、ユーザデバイス106、およびサードパーティコンテンツサーバ108を含んでもよい。いくつかの実装形態では、環境100は、たとえばダウンロードおよび/または使用のために利用可能なアプリケーション(または「アプリ」)を提供するアプリケーションサーバ124(たとえば、アプリストア)を含む。たとえば、アプリは、アプリケーション(または「アプリ」)開発者126によって開発されてもよい。
【００２６】
ユーザデバイス106は、ネットワーク102を介してリソース(たとえば、電子文書)を要求および受信することができる電子デバイスである。例示的なユーザデバイス106は、パーソナルコンピュータ、モバイル通信デバイス、およびネットワーク102を介してデータを送受信することができる他のデバイスを含む。ユーザデバイス106は、通常、ネットワーク102を介するデータの送受信を容易にするためにウェブブラウザなどのユーザアプリケーションを含むが、ユーザデバイス106によって実行されるネイティブアプリケーションもまた、ネットワーク102を介するデータの送受信を容易にすることができる。
【００２７】
電子文書は、ユーザデバイス106においてコンテンツのセットを提示するデータである。電子文書の例には、ウェブページ、ワープロ文書、ポータブルドキュメントフォーマット(PDF)文書、画像、ビデオ、検索結果ページ、およびフィードソースが含まれる。モバイル、タブレット、またはデスクトップコンピューティングデバイスにインストールされたアプリケーションなどのネイティブアプリケーション(たとえば、「アプリ」)もまた、電子文書の例である。電子文書は、電子文書サーバ104によってユーザデバイス106に提供されてもよい。たとえば、電子文書サーバ104は、発行者ウェブサイトをホストするサーバを含むことができる。この例では、ユーザデバイス106は所与の発行者ウェブページに対する要求を開始することができ、所与の発行者ウェブページをホストする電子文書サーバ104は、ユーザデバイス106において所与のウェブページの提示を開始する機械ハイパーテキストマークアップ言語(HTML)コードを送信することによって要求に応答することができる。
【００２８】
別の例では、電子文書サーバ104は、ユーザデバイス106がアプリをダウンロードできるアプリサーバを含むことができる。この例では、ユーザデバイス106は、ユーザデバイス106においてアプリをインストールするために必要なファイルをダウンロードし、次いでダウンロードしたアプリをローカルに実行することができる。
【００２９】
電子文書は様々なコンテンツを含むことができる。たとえば、電子文書は、電子文書自体の中にあり、および/または時間の経過とともに変化しない静的コンテンツ(たとえば、テキストまたは他の指定されたコンテンツ)を含むことができる。電子文書はまた、時間の経過とともに、または要求ごとに変化する動的コンテンツを含むことができる。たとえば、所与の電子文書の発行者は、電子文書の一部を入力するために使用されるデータソースを維持することができる。この例では、所与の電子文書は、ユーザデバイス106によって所与の電子文書が処理(たとえば、レンダリングまたは実行)されたときに、ユーザデバイス106にデータソースからコンテンツを要求させるタグまたはスクリプトを含むことができる。ユーザデバイス106は、データソースから取得されたコンテンツを含む複合電子文書を作成するために、データソースから取得されたコンテンツを所与の電子文書の提示に統合する。
【００３０】
状況によっては、所与の電子文書は、サードパーティコンテンツ配信システム110を参照するサードパーティタグまたはサードパーティスクリプトを含むことができる。これらの状況では、サードパーティタグまたはサードパーティスクリプトは、所与の電子文書がユーザデバイス106によって処理されるときに、ユーザデバイス106によって実行される。サードパーティタグまたはサードパーティスクリプトの実行は、ネットワーク102を介してサードパーティコンテンツ配信システム110に送信されるサードパーティコンテンツの要求112を生成するようにユーザデバイス106を構成する。たとえば、サードパーティタグまたはサードパーティスクリプトは、ユーザデバイス106がヘッダおよびペイロードデータを含むパケット化データ要求を生成することを可能にすることができる。要求112は、サードパーティコンテンツが要求されているサーバの名前(または、ネットワークの場所)、要求しているデバイス(たとえば、ユーザデバイス106)の名前(または、ネットワークの場所)、および/あるいはサードパーティコンテンツ配信システム110が、要求に応答して提供されるサードパーティコンテンツを選択するために使用できる情報などのデータを含むことができる。要求112は、ユーザデバイス106によって、ネットワーク102(たとえば、通信ネットワーク)を介してサードパーティコンテンツ配信システム110のサーバに送信される。
【００３１】
要求112は、電子文書を指定するデータと、サードパーティコンテンツが提示されてもよい場所の特性とを含むことができる。たとえば、サードパーティコンテンツが提示される電子文書(たとえば、ウェブページ)への参照(たとえば、URL)を指定するデータ、サードパーティコンテンツを提示するために利用可能な電子文書の利用可能な場所(たとえば、サードパーティコンテンツスロット)、利用可能な場所のサイズ、電子文書の提示内の利用可能な場所の位置、および/またはその場所での提示に適格な媒体タイプが、サードパーティコンテンツ配信システム110に提供されてもよい。同様に、電子文書によって参照される電子文書(「文書キーワード」)またはエンティティ(たとえば、人、場所、または物)に関連付けられるキーワードを指定するデータもまた、(たとえば、ペイロードデータとして)要求112に含まれ、電子文書での提示に適格なサードパーティコンテンツアイテムの識別を容易にするためにサードパーティコンテンツ配信システム110に提供されてもよい。
【００３２】
要求112はまた、ユーザが提供した情報、要求が提出された州または地域を示す地理的情報、あるいはサードパーティコンテンツが表示される環境に関するコンテキストを提供する他の情報(たとえば、モバイルデバイスまたはタブレットデバイスなどのサードパーティコンテンツが表示されるデバイスのタイプ)などの他の情報に関連するデータを含むことができる。ユーザデバイス106のモデル、ユーザデバイス106の構成、または電子文書が提示される電子ディスプレイ(たとえば、タッチスクリーンまたはデスクトップモニタ)のサイズ(たとえば、物理的サイズまたは解像度)を識別する情報などのユーザデバイス106の特性を指定するデータも、要求112において提供されてもよい。要求112は、たとえばパケット化ネットワークを介して送信されてもよく、要求112自体は、ヘッダおよびペイロードデータを有するパケット化データとしてフォーマットされてもよい。ヘッダは、パケットの宛先を指定することができ、ペイロードデータは、上述の情報のいずれかを含むことができる。
【００３３】
サードパーティコンテンツ配信システム110は、要求112の受信および/または要求112に含まれる情報の使用に応答して、所与の電子文書とともに提示されるサードパーティコンテンツ(たとえば、アプリに関する情報)を選択する。いくつかの実装形態では、サードパーティコンテンツの選択の遅れによって発生する可能性のあるエラーを避けるために、サードパーティコンテンツは1秒未満で選択される。たとえば、要求112に応答してサードパーティコンテンツを提供する際の遅延は、ユーザデバイス106においてページロードエラーをもたらす可能性もあり、電子文書の一部が、電子文書の他の部分がユーザデバイス106において提示された後でも未入力のままで残る可能性もある。また、サードパーティコンテンツをユーザデバイス106に提供する際の遅延が増加するにつれて、サードパーティコンテンツが提供されたときにユーザデバイス106において電子文書がもはや提示されなくなり、それによって電子文書のユーザ経験に悪影響を与える可能性がより高くなる。さらに、サードパーティコンテンツを提供する際の遅延は、たとえばサードパーティコンテンツが提供されたときにユーザデバイス106において電子文書がもはや提示されない場合、サードパーティコンテンツの配信の失敗をもたらす可能性がある。
【００３４】
いくつかの実装形態では、サードパーティコンテンツ配信システム110は、たとえばサーバと、相互接続された複数のコンピューティングデバイス114のセットとを含む分散コンピューティングシステムに実装され、要求112に応答してサードパーティコンテンツを識別して配信する。複数のコンピューティングデバイス114のセットは、数百万の利用可能なサードパーティコンテンツ(3PC1-x)のコーパスの中から電子文書に提示される資格のあるサードパーティコンテンツのセットを識別するためにともに動作する。たとえば、サードパーティコーパスデータベース116において、数百万の利用可能なサードパーティコンテンツが索引付けされてもよい。各サードパーティコンテンツ索引エントリは、対応するサードパーティコンテンツを参照し、および/または対応するサードパーティコンテンツの配信を条件付けする配信パラメータ(DP1-DPx)(たとえば、選択基準)を含むことができる。
【００３５】
いくつかの実装形態では、特定のサードパーティコンテンツの配信パラメータ(たとえば、選択基準)は、サードパーティコンテンツが提示のために適格になるために(たとえば、電子文書、または要求112において指定された用語によって)一致されなければならない配信キーワードを含むことができる。配信パラメータはまた、サードパーティコンテンツが提示のために適格になるために、要求112が、特定の地理的領域(たとえば、国または州)を指定する情報、および/または要求112が特定のタイプのユーザデバイス(たとえば、モバイルデバイスまたはタブレットデバイス)において発信されたことを指定する情報を含むことを要求することができる。配信パラメータはまた、特定のサードパーティコンテンツを配信するための入札および/または予算を指定することができる。
【００３６】
適格なサードパーティコンテンツの識別は、複数のコンピューティングデバイス114のセット内のコンピューティングデバイス間で割り当てられる複数のタスク117a〜117cに分割されてもよい。たとえば、複数のコンピューティングデバイス114のセット内の異なるコンピューティングデバイスは、要求112に含まれる情報と一致する配信パラメータを有する様々なサードパーティコンテンツを識別するために、サードパーティコーパスデータベース116の異なる部分をそれぞれ分析することができる。いくつかの実装形態では、複数のコンピューティングデバイス114のセット内の各所与のコンピューティングデバイスは、異なるデータ次元(または、次元のセット)を分析し、分析の結果118a〜118cをサードパーティコンテンツ配信システム110に戻すことができる。たとえば、セット内のコンピューティングデバイスの各々によって提供された結果118a〜118cは、要求に応答して配信に適格なサードパーティコンテンツのサブセットおよび/または特定の配布パラメータまたは属性を有するサードパーティコンテンツのサブセットを識別してもよい。
【００３７】
サードパーティコンテンツ配信システム110は、要求112に応答して提供されるサードパーティコンテンツの1つまたは複数のインスタンスを選択するために、複数のコンピューティングデバイス114のセットから受信した結果118a〜118cを集約し、集約された結果に関連付けられる情報を使用する。たとえば、サードパーティコンテンツ配信システム110は、以下でさらに詳細に説明するように、1つまたは複数のコンテンツ評価プロセスの結果に基づいて、勝利のサードパーティコンテンツのセットを選択することができる。次に、サードパーティコンテンツ配信システム110は、勝利のサードパーティコンテンツのセットおよび電子文書のコンテンツが、ユーザデバイス106のディスプレイにともに提示されるように、ネットワーク102を介して、ユーザデバイス106が勝利のサードパーティコンテンツのセットを所与の電子文書に統合することを可能にする応答データ120(たとえば、応答を表すデジタルデータに)を生成し、送信することができる。
【００３８】
いくつかの実装形態では、ユーザデバイス106は、ユーザデバイス106を構成し、ユーザデバイス106が1つまたは複数のサードパーティコンテンツサーバから勝利のサードパーティコンテンツのセットを取得することを可能にする、応答データ120に含まれる命令を実行する。たとえば、応答データ120内の命令は、サードパーティコンテンツサーバ108から所与の勝利のサードパーティコンテンツを取得するために、ネットワークの場所(たとえば、ユニフォームリソースロケータ(URL))と、ユーザデバイス106にサードパーティリクエスト121をサードパーティコンテンツサーバ108に送信させるスクリプトとを含むことができる。要求に応答して、サードパーティコンテンツサーバ108は、所与の勝利のサードパーティコンテンツを電子文書に組み込ませ、ユーザデバイス106において提示させるサードパーティデータ122をユーザデバイス106に送信する。
【００３９】
サードパーティコンテンツ配信システム110は、(たとえば、要求に対応するデータに基づいて)所与の要求ごとに勝利のサードパーティコンテンツのセットを識別および選択するために、1つまたは複数の評価プロセスを利用することができる。いくつかの実装形態では、評価プロセスは、電子文書とともに提示するためにどのサードパーティコンテンツを選択するかを決定するために必要であるだけでなく、選択されたサードパーティコンテンツに動的に(たとえば、要求ごとに)適用されるフォーマットの種類、および適用されたフォーマットで提示されたときに、選択されたサードパーティコンテンツの提示に対して支払われる価格を決定するためにも必要である。
【００４０】
いくつかの実装形態では、サードパーティコンテンツ配信システム110は、その要求に応じてユーザデバイス106に戻るために適格であると見なされたサードパーティコンテンツアイテムのセット(たとえば、サードパーティコンテンツのインスタンス)の中から所与の要求に応じて勝利のサードパーティコンテンツを選択してもよい。適格なサードパーティコンテンツは、要求における特定の様々なデータ、または要求に関連付けられるコンテキストに従って、要求ごとに識別することができる。たとえば、要求は、要求されたサードパーティコンテンツの許容サイズまたはアスペクト比を示してもよく、サードパーティコンテンツ配信システム110は、利用可能なサードパーティコンテンツの全セットを、サイズまたはアスペクト比の制約、および任意の他の適用可能な制約を満たす適格なコンテンツのセットにフィルタリングしてもよい。次いで、勝利のサードパーティコンテンツを選択するための評価プロセスは、適格なサードパーティコンテンツのセットに関してのみ実行することができる。いくつかの例では、評価プロセスは、サードパーティコンテンツアイテムをスコア付けおよびランク付けすることを含んでもよい。勝利のサードパーティコンテンツアイテムは、スコアに従って最高ランクのアイテムであってもよい。いくつかの実装形態では、たとえばコンテンツがスコア付けおよびランク付けされる前に、不適格なサードパーティコンテンツが利用可能なコンテンツの全セットから除外されてもよい。いくつかの実装形態では、コンテンツがスコア付けおよびランク付けされた後、不適格なサードパーティコンテンツが利用可能なコンテンツの全セットから除外されてもよい。
【００４１】
図2〜図3に関してさらに説明されるように、サードパーティコンテンツ配信システム110は、アプリケーションに関する情報の提示をトリガするように構成されてもよい。たとえば、提出されたクエリの受信に応答して、サードパーティコンテンツ配信システム110は、アプリの広告および/またはアプリダウンロード要素などのアプリに関連付けられるアプリケーション情報を提供することができる。
【００４２】
図2は、アプリケーションに関連する情報の提示をトリガする例示的なシステム200を示す。図2に示されるように、サードパーティコンテンツ配信システム110と、ユーザ210に関連付けられるユーザデバイス106aとの間の対話およびデータが示される。たとえば、サードパーティコンテンツ配信システム110は、ユーザデバイス106aから受信され、提出されたクエリ202に関連付けられる特定のアプリケーションの識別を可能にするクエリ−アプリケーションインデックス234を生成することができる。提出されたクエリ202は、たとえばユーザ210に情報を表示し、ユーザ210とのユーザ対話を容易にするユーザインターフェース206から発生することができる。受信された提出されたクエリ202に応答して、たとえばサードパーティコンテンツ配信システム110は、クエリから識別された関連アプリケーションを検索し、特定のアプリケーションについてのアプリケーション情報208を提供することができる。いくつかの実装形態では、サードパーティコンテンツ配信システム110は、ユーザ210が特定のアプリケーションをダウンロードするために(たとえば、クリックまたはタップによって)対話することができるアプリケーションダウンロード要素212の提示を引き起こすデータを提供することができる。
【００４３】
サードパーティコンテンツ配信システム110に含まれる、またはサードパーティコンテンツ配信システム110によって使用される複数のデータストアは、サードパーティコンテンツ配信システム110によってローカルに記憶されてもよく、他のどこかに記憶されてネットワーク102を使用してアクセス可能であってもよく、様々なデータソースから必要に応じて生成されてもよく、またはこれらの組合せであってもよい。さらに、本明細書に記載のいくつかのデータストアは、対応するデータ記録、または他の場所にたとえばローカルに、および/または遠隔に記憶されている他の情報と一致させるために、またはそれにアクセスするために使用することができる識別子を含んでもよい。
【００４４】
アプリケーションに関連する情報の提示をトリガすることができるようにするために、サードパーティコンテンツ配信システム110は複数のエンジンを含むことができ、それらのうちのいくつかまたはすべては組み合わされるか、分離してもよく、また共同設置されてもよく、分散され(たとえば、ネットワーク102を介して接続され)てもよい。特徴−アプリケーション類似性エンジン220は、たとえば記憶されたクエリの特徴とアプリケーションに関連付けられる階層的分類との間の類似性を決定することができる。たとえば、アプリケーション関連性エンジン222は、特徴−アプリケーション類似性エンジン220によって決定された類似性のレベルがしきい値を超えるかどうかを判定することができる。しきい値を超える場合、アプリケーション関連性エンジン222は、クエリとアプリケーションとの間の関係は記憶およびインデックス付けされるべきであることを示すことができる。たとえば、インデックス付けエンジン224は、クエリ−アプリケーションのペアのためのインデックスを作成し、そのインデックスをクエリ−アプリケーションインデックス234に記憶することができる。クエリ−アプリケーションインデックス234は、たとえばクエリ−アプリケーションのペアごとに、クエリが受信されたときにアプリケーションが検索されることを可能にするインデックスを記憶することができる。これは、たとえばキャンペーン内のコンテンツ選択基準に一致するクエリ内のキーワードに基づいてコンテンツアイテム(たとえば、広告)を識別するのとは対照的に行われる。たとえば、アプリケーション情報エンジン226は、特定のアプリケーションが提出されたクエリに関連すると判定し、提出された検索クエリに応答するアプリケーション情報をクライアントデバイスに提供することができる。アプリケーションクラスタリングエンジン228は、たとえば複数の異なるアプリケーションの階層的アプリケーション分類に基づいて、複数の異なるアプリケーションをアプリケーションクラスタにクラスタリング(たとえば、グループ化)することができる。異なる種類のアプリケーションを、異なるおよび/または重複するクラスタのセットにクラスタリングすることができる。たとえば、ゲームおよびボードゲーム用のアプリケーションは同じクラスタ内にあってもよく、健康、フィットネス、および身体活動を追跡するためのアプリケーションは異なるクラスタ内にあってもよい。
【００４５】
いくつかの実装形態では、以下の例示的な段階は、クエリをグループ化し、関連付けられるコンテンツアイテムを価格設定するために使用することができる。段階1では、たとえばサードパーティコンテンツ配信システム110は、記憶されたクエリ(たとえば、「ウィジェットゲーム」)、および記憶されたクエリの特徴のセットにアクセスすることができる。一例として、記憶されたクエリの特徴のセットは、記憶されたクエリの主要なクエリトピックと少なくとも1つのクエリサブトピックとを指定することができる。記憶されたクエリおよび特徴のデータストア230において、以前に記憶された、記憶されたクエリおよび記憶されたクエリの特徴のセットにアクセスすることができる。たとえば、記憶されたクエリおよび特徴のデータストア230は、サードパーティコンテンツ配信システム110によって、および/または他のシステムによって受信されたクエリに関する情報を記憶することができる。(これらに限定されないが)顕著な用語、トピック/サブトピック、タイトル、アプリケーションカテゴリなどを含む異なる特徴のクラスがあってよい。上述のように、顕著な用語は、ウェブページなどの文書内の重要なトピック関連用語またはフレーズを含むことができるが、アプリケーションの説明または製品ページから識別されるものなどのアプリケーションに関連付けられる重要なトピック関連用語またはフレーズにも適用することができる。いくつかの実装形態では、以前に記憶されていない、知られていないクエリ(たとえば、テールクエリ)の分析は、リアルタイムで(たとえば、クエリ時に)実行することができる。たとえば、受信したクエリと関連するアプリケーションとを一致させるために、クエリ側で意味特徴を計算することができ、またクエリと使用可能なすべてのアプリインベントリを使用した内積をリアルタイムで実行することができる。
【００４６】
段階2では、たとえばサードパーティコンテンツ配信システム110は、特定のアプリケーション(たとえば、Widgetland2017アプリケーション)の階層的アプリケーション分類にアクセスすることができる。階層的アプリケーション分類は、特定のアプリケーションの少なくとも主要なアプリケーションカテゴリ(たとえば、ウィジェット関連アプリ)と、少なくとも1つのアプリケーションサブカテゴリ(たとえば、教育ウィジェット関連アプリ)とを指定することができる。階層的アプリケーション分類は、アプリケーション分類のデータストア232からアクセスすることができる。たとえば、アプリケーション分類のデータストア232は、アプリケーションごとに、特定のアプリケーションの少なくとも主要なアプリケーションカテゴリと少なくとも1つのアプリケーションサブカテゴリとを指定する、アプリケーションの階層的アプリケーション分類を記憶することができる。他の介在サブカテゴリが存在する可能性があり、つまり、複数レベルの分類が存在する可能性がある。さらに、特定のアプリケーションを、同じカテゴリの複数のサブカテゴリ、または同じサブカテゴリの複数のサブサブカテゴリに関連付けることができる。
【００４７】
段階3では、たとえば特徴−アプリケーション類似性エンジン220は、記憶されたクエリの特徴のセットと、特定のアプリケーションの階層的アプリケーション分類との間の類似性を決定することができる。類似性を決定することは、たとえばクエリ分類空間とアプリケーション分類空間との間で置き換えまたは共有されてもよい特徴のクラスを分析することによって行うことができる。たとえば、共通用語の重複の割合、またはいくつかの共通の顕著な用語を示すスコアを決定するためなどに記憶されたクエリと特定のアプリケーションとの間で共通している顕著な用語を分析することができる。たとえば共通のトピックおよびサブトピックを決定するために、記憶されたクエリおよび特定のアプリケーションの各々に関連付けられるトピックおよびサブトピックに対しても分析を行うことができる。特定のアプリケーションと記憶されたクエリがタイトルに関連するかどうか(および、その程度)を決定するために、特定のアプリケーションのタイトルの1つまたは複数の部分を記憶されたクエリにおける用語と比較することができる。さらに、カテゴリおよびサブカテゴリを特定のアプリケーションと記憶されたクエリとの間で比較することができる。
【００４８】
いくつかの実装形態では、たとえば異なる種類の特徴に異なる重みを割り当てるために、記憶されたクエリと特定のアプリケーションの両方に対して特徴を重み付けすることができる。その結果、トピック/サブトピック、タイトル、およびアプリケーションカテゴリの各々に顕著な用語に異なる重みを付けることができる。いくつかの実装形態では、特徴−アプリケーション類似性エンジン220は、記憶されたクエリの特徴のセットと特定のアプリケーションとの間の類似性に関連付けられる総合スコアを決定することができる。たとえば、総合スコアは、特徴のクラスごとの重みを任意に使用することを含む、記憶されたクエリ上の特徴と特定のアプリケーションとの間の内積を計算することによって決定することができる。いくつかの実装形態では、内積を使用する代わりに、総合スコアは、記憶されたクエリと特定のアプリケーションとの間の重複する特徴の数とすることができる。
【００４９】
段階4では、たとえばアプリケーション関連性エンジン222は、指定されたしきい値を満たす類似性のレベルに基づいて、特定のアプリケーションが記憶されたクエリに関連すると判定することができ、これは記憶されたクエリと特定のアプリケーションとの間の関係が記憶およびインデックス付けされるべきであることを意味する。たとえば、特徴−アプリケーション類似性エンジン220によって決定された総合スコアがあらかじめ定められた値を上回る場合、アプリケーション関連性エンジン222は、記憶されたクエリと特定のアプリケーションとの間の関係が記憶される(また、たとえば次の段階のように、インデックス付けされる)べきであると判定することができる。
【００５０】
段階5では、たとえばインデックス付けエンジン224は、記憶されたクエリがクライアントデバイス(たとえば、ユーザデバイス106)から受信されたときに、特定のアプリケーション(たとえば、Widgetland2017アプリケーション)に関連する情報の提示をトリガするクエリとして記憶されたクエリ(たとえば「ウィジェットゲーム」)にインデックス付けすることができる。たとえば、インデックス付けエンジン224は、クエリ−アプリケーションのペアのインデックス(たとえば、[(「ウィジェットゲーム」)、(Widgetland2017)])を作成し、そのインデックスをクエリ−アプリケーションインデックス234に記憶することができる。たとえば、インデックスは、記憶されたクエリと一致するクエリが受信されたときに、特定のアプリケーションを自動的に、およびリアルタイムで識別することを可能にすることができる。いくつかの実装形態では、たとえばクエリに一致する最高ランクのアプリケーションを見つけるために実行時に使用されるために、クエリとアプリケーションとの間の関係の強度も同様に記憶することができる。同じクエリに対して複数のクエリ−アプリケーションのペアを記憶することができる。
【００５１】
段階1〜5は、たとえばバックグラウンドにおいて実行し、識別された、およびクエリ−アプリケーションのインデックス付けが所望される、新しいクエリやアプリケーションに対して必要に応じて繰り返すことができる。さらに、クエリ−アプリケーションインデックス234を最新に維持するために、必要に応じて段階1〜5を再実行することができる。次いで、段階6〜9がリアルタイムで発生する。
【００５２】
段階6では、たとえばサードパーティコンテンツ配信システム110は、ユーザインターフェース206内の検索制御214に入力された検索クエリなどの提出されたクエリ202(たとえば、「ウィジェットゲーム」)を受信することができる。提出されたクエリ202は、代わりにリソース内のスロット216、サードパーティコンテンツスロット204、アプリケーション内の表示領域219、またはユーザインターフェース206に関連する他の何らかのソースから発生することができる。いくつかの実装形態では、ユーザインターフェース206は、様々なアプリケーションを検索しアクセスするためのダウンロードページの一部とすることができる。
【００５３】
段階7では、たとえばアプリケーション情報エンジン226は、特定のアプリケーションは提出されたクエリに関連すると判定することができる。たとえば、アプリケーション情報エンジン226は、クエリに関連付けられるアプリケーション(たとえば、Widgetland2017アプリケーション)を識別するために、クエリ−アプリケーションインデックス234内の受信され、提出されたクエリ202(たとえば、「ウィジェットゲーム」)を検索することができる。
【００５４】
段階8では、たとえばアプリケーション情報エンジン226は、受信した送信されたクエリ202に応答してアプリケーション情報208を提供することができる。アプリケーション情報208は、クエリ−アプリケーションインデックス234から識別されたアプリケーションに関する情報を含むことができる。たとえば、情報は、アプリケーションへのリンク、アプリケーションに関連付けられる情報(たとえば、製品ページ)、およびアプリケーションをダウンロードおよび/または購入するために必要な情報を含むことができる。
【００５５】
段階9では、たとえばアプリケーション情報エンジン226は、アプリケーション情報208が提供されるアプリケーションに関連付けられるアプリケーションダウンロード要素212をユーザインターフェース206において提示するためのデータを提供することができる。たとえば、アプリケーションダウンロード要素212に提供される情報は、ユーザがアプリケーションをたとえばユーザインターフェース206にダウンロードすることを可能にすることができる。
【００５６】
図3は、アプリケーションに関連する情報の提示をトリガするクエリにインデックス付けするための例示的なプロセス300のフローチャートである。いくつかの実装形態では、サードパーティコンテンツ配信システム110およびそれが含むコンポーネントは、1つまたは複数のサーバ、および1つまたは複数のプロセッサによって実行される命令を記憶するメモリデバイスを使用してプロセス300のステップを実行することができる。図1〜図2は、プロセス300のステップを実行するための例示的な構造を提供するために使用される。たとえば、図2を参照して上述した段階1〜5が、ステップ302〜310をそれぞれ追跡する。
【００５７】
記憶されたクエリおよび記憶されたクエリの特徴のセットがアクセスされる(302)。一例として、記憶されたクエリ(たとえば、「ウィジェットアプリ」)の特徴のセットは、記憶されたクエリの主要なクエリトピック(たとえば、「ウィジェット制御」)と少なくとも1つのクエリサブトピック(たとえば、「ウィジェット設定」)とを指定することができる。サードパーティコンテンツ配信システム110および/またはその構成要素は、記憶されたクエリおよび特徴のデータストア230などにおける、以前に記憶された、記憶されたクエリおよび記憶されたクエリの特徴のセットにアクセスすることができる。
【００５８】
特定のアプリケーションの階層的アプリケーション分類がアクセスされる(304)。階層的アプリケーション分類は、特定のアプリケーション(たとえば、Widgetland2017アプリケーション)の少なくとも主要なアプリケーションカテゴリ(たとえば、ウィジェット関連アプリ)と少なくとも1つのアプリケーションサブカテゴリ(たとえば、教育ウィジェット関連アプリ)とを指定する。サードパーティコンテンツ配信システム110および/またはその構成要素は、アプリケーション分類のデータストア232から階層的アプリケーション分類にアクセスすることができる。
【００５９】
記憶されたクエリの特徴のセットと、特定のアプリケーションの階層的アプリケーション分類との間の類似性のレベルが決定される(306)。特徴−アプリケーション類似性エンジン220は、たとえば記憶されたクエリの特徴(たとえば、「ウィジェットアプリ」)と、Widgetland2017アプリケーションに関連付けられる階層的分類との間の類似性を決定することができる。
【００６０】
特定のアプリケーションが、指定されたしきい値を満たす類似性のレベルに基づいて、記憶されたクエリに関連すると判定される(308)。たとえば、アプリケーション関連性エンジン222は、特徴−アプリケーション類似性エンジン220によって決定された類似性のレベルがしきい値を超えるかどうかを判定することができ、しきい値を超える場合、アプリケーション関連性エンジン222は、クエリとアプリケーションとの間の関係は記憶およびインデックス付けできることを示すことができる。
【００６１】
記憶されたクエリは、記憶されたクエリがクライアントデバイスから受信されたときに特定のアプリケーションに関する情報の提示をトリガするクエリとしてインデックス付けされる(310)。たとえば、ユーザデバイス106から受信したクエリについて、インデックス付けエンジン224は、クエリ−アプリケーションのペアのインデックスを作成し、そのインデックスをクエリ−アプリケーションインデックス234に記憶することができる。その結果、たとえばクエリ「ウィジェットアプリ」およびWidgetland2017アプリケーションに関連付けられるインデックスを記憶することができる。
【００６２】
いくつかの実装形態では、プロセス300は、受信したクエリに応答してコンテンツを提供するためのステップをさらに含むことができる。たとえば、提出されたクエリ202(たとえば、「ウィジェットアプリ」)は、検索ボックス214に入力された検索クエリとすることができ、コンテンツに対する他の何らかの要求が、ユーザデバイス106aに関連付けられるユーザインターフェース206からサードパーティコンテンツ配信システム110によって受信されることができる。たとえば、アプリケーション情報エンジン226は、特定のアプリケーション(たとえば、Widgetland2017アプリケーション)は提出されたクエリに関連すると判定することができる。いくつかの実装形態では、たとえばクエリアプリケーションインデックス234において「ウィジェットアプリ」を見つけることによって、特定のアプリケーションが提出されたクエリに関連すると判定するステップは、提出されたクエリがインデックスにおける記憶されたクエリと一致すると判定するステップを含むことができる。エントリを見つけると、アプリケーション情報エンジン226は、たとえば提出された検索クエリに応答するアプリケーション情報208をユーザデバイス106に提供することができる。アプリケーション情報208は、ユーザインターフェース206内に特定のアプリケーションに関する情報を提示するために、ユーザデバイス106aによって使用することができる。たとえば、提供されるデータは、特定のアプリケーションに関連付けられる検索結果、特定のアプリケーションに関連する広告、特定のアプリケーションに関連付けられる仕様書または他の情報、あるいは特定のアプリケーションに関連付けられ、検索クエリに関連する、何らかの他のコンテンツのうちの1つまたは複数を含むことができる。
【００６３】
いくつかの実装形態では、プロセス300は、受信され、提出されたクエリの主要なトピックおよびサブトピックに関連付けられる階層的アプリケーション分類に一致する候補アプリケーションのための情報を提供するためのステップをさらに含むことができる。たとえば、サードパーティコンテンツ配信システム110は、ユーザデバイス106aから提出されたクエリ(たとえば、「ウィジェットアプリ」)を受信することができる。アプリケーション情報エンジン226は、たとえば提出されたクエリの特徴のセット、提出されたクエリの少なくとも主要なトピック(たとえば「ウィジェット制御」)およびサブトピック(たとえば「ウィジェット設定」)を指定する特徴のセットを取得することができる。アプリケーション情報エンジン226は、主要なトピックおよびサブトピックを含む階層的アプリケーション分類を有する候補アプリケーション(たとえば、Widgetland2017および他のアプリケーションを含む)を識別することができる。アプリケーション情報エンジン226は、提出されたクエリに応答してデータ(たとえば、アプリケーション情報208)をユーザデバイス106aに提供することができる。アプリケーション情報208は、候補アプリケーションに関する情報をユーザインターフェース206内に提示するために、ユーザデバイス106aによって使用することができる。
【００６４】
いくつかの実装形態では、プロセス300は、識別された候補アプリケーションの中から、提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別するステップをさらに含むことができる。たとえば、アプリケーション情報エンジン226は、オークションなどにおいて、Widgetland2017が、クエリ「ウィジェットアプリ」に最もよく一致する候補アプリケーションであると識別することができる。アプリケーション情報エンジン226は、所与のアプリケーションに関するデータ(たとえば、アプリケーション情報208)をユーザデバイス106aに提供することができる。データは、所与のアプリケーションを識別する情報、および所与のアプリケーションをアプリケーションサーバ117(たとえば、アプリストア)からダウンロードすることを可能にする対話型ユーザインターフェース要素(たとえば、ダウンロード制御218)をユーザインターフェース206内に提示するために使用することができる。
【００６５】
いくつかの実装形態では、プロセス300は、記憶されたクエリの特徴のセットを生成するためのステップをさらに含むことができる。たとえば、経時的に受信され、提出されたクエリ202からの情報を使用して、アプリケーション情報エンジン226は、記憶されたクエリを使用して取得された検索結果を使用して記憶されたクエリの顕著な用語のセットを識別することができる。いくつかの実装形態では、記憶されたクエリを、ユニグラムのセット(すなわち、単一の単語または用語)、または他のnグラムに解析することができる。アプリケーション情報エンジン226は、トピックのセットを記憶されたクエリの特徴のセットとして識別することができる。たとえば、識別されたトピックのセットは、顕著な用語のセットおよびユニグラムに基づいて記憶されたクエリに対応することができる。
【００６６】
いくつかの実装形態では、プロセス300は、関連アプリケーションのクラスタを作成し、提出されたクエリに応答するためにそのクラスタを使用するためのステップをさらに含むことができる。たとえば、アプリケーションクラスタリングエンジン228は、(たとえば、アプリケーション分類のデータストア232に記憶された)複数の異なるアプリケーションの階層的アプリケーション分類に基づいて、複数の異なるアプリケーションをアプリケーションクラスタ(たとえば、ウィジェットに関連するアプリケーション)にクラスタリング(たとえば、グループ化)することができる。アプリケーションクラスタは、代表的な階層的アプリケーション分類を有することができ、アプリケーションクラスタは、アプリケーション分類のデータストア232などに記憶することができる。提出されたクエリ202などの提出されたクエリは、ユーザデバイス106aから受信することができる。特徴−アプリケーション類似性エンジン220は、たとえば提出されたクエリの特徴のセットを取得し、特徴のセットを対応する階層的アプリケーション分類にマッピングすることができる。アプリケーション関連性エンジン222は、対応する階層的アプリケーション分類が、クラスタの代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有すると判定することができる。対応する階層的アプリケーション分類がクラスタの代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有するとの判定に応答して、提出されたクエリに応答するデータをクライアントデバイス(たとえば、ユーザデバイス106)に提供することができる。データは、ユーザインターフェース206内に、アプリケーションクラスタにおけるアプリケーションのうちの少なくともいくつかに関する情報を提示するために使用することができる。
【００６７】
図4は、クライアント、サーバ、または複数のサーバのいずれかとして、本明細書において説明されるシステムおよび方法を実装するために使用されてもよい例示的なコンピューティングデバイス400、450のブロック図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図される。コンピューティングデバイス400はさらに、1つまたは複数のプロセッサが組み込まれる、あるいは1つまたは複数のプロセッサがそれに取り付けられるテレビジョンまたは他の電子デバイスなどの任意の他の典型的な非モバイルデバイスを表すことが意図される。コンピューティングデバイス450は、携帯情報端末、セルラー電話、スマートフォン、および他のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことが意図される。本明細書に示されたコンポーネント、それらの接続および関係、ならびにそれらの機能は、例として意図されるに過ぎず、本明細書に記載および/または請求される本発明の実装形態を限定することが意図されるものではない。
【００６８】
コンピューティングデバイス400は、プロセッサ402、メモリ404、ストレージデバイス406、メモリ404および高速拡張ポート410に接続する高速コントローラ408、および低速バス414およびストレージデバイス406に接続する低速コントローラ412を含む。コンポーネント402、404、406、408、410、および412の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または適切な他の方法で取り付けられてもよい。プロセッサ402は、高速コントローラ408に結合されるディスプレイ416などの外部入力/出力デバイス上のGUI用のグラフィカル情報を表示するために、メモリ404またはストレージデバイス406に記憶された命令を含むコンピューティングデバイス400内での実行のための命令を処理することができる。他の実装形態では、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが適切に使用されてもよい。また、複数のコンピューティングデバイス400が接続されてもよく、各デバイスが、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
【００６９】
メモリ404は、コンピューティングデバイス400内に情報を記憶する。一実装形態では、メモリ404は、コンピュータ可読媒体である。一実装形態では、メモリ404は揮発性メモリユニットである。別の実装形態では、メモリ404は、不揮発性メモリユニットである。
【００７０】
ストレージデバイス406は、コンピューティングデバイス400の大容量ストレージを提供することができる。一実装形態では、ストレージデバイス406は、コンピュータ可読媒体である。様々な異なる実装形態では、ストレージデバイス406は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、あるいはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、あるいはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイであってもよい。一実装形態では、コンピュータプログラム製品は、情報担体に実体的に組み込まれている。コンピュータプログラム製品は、実行時に、上述したような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ404、ストレージデバイス406、またはプロセッサ402上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【００７１】
高速コントローラ408は、コンピューティングデバイス400の帯域幅集中動作を管理し、低速コントローラ412は、低帯域幅集中動作を管理する。そのような任務の割振りは一例に過ぎない。一実装形態では、高速コントローラ408は、メモリ404、ディスプレイ416(たとえば、グラフィックプロセッサまたはアクセラレータを通じて)、および高速拡張ポート410に結合され、様々な拡張カード(図示せず)を受け入れてもよい。この実装形態では、低速コントローラ412は、ストレージデバイス406および低速バス414に結合される。様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット、ワイヤレスイーサネット)を含んでもよい低速バス414(たとえば、低速拡張ポート)は、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイス、あるいはスイッチまたはルータなどのネットワークデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【００７２】
コンピューティングデバイス400は、図面に示されるように、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス400は、標準サーバ420として実装されてもよく、そのようなサーバのグループ内で複数回実装されてもよい。コンピューティングデバイス400はまた、ラックサーバシステム424の一部として実装されてもよい。さらに、コンピューティングデバイス400は、ラップトップコンピュータ422などのパーソナルコンピュータに実装されてもよい。あるいは、コンピューティングデバイス400からのコンポーネントは、コンピューティングデバイス450などのモバイルデバイス(図示せず)内の他のコンポーネントと組み合わされてもよい。そのようなデバイスの各々は、コンピューティングデバイス400、450の1つまたは複数を含んでもよく、システム全体は、互いに通信する複数のコンピューティングデバイス400、450から構成されてもよい。
【００７３】
コンピューティングデバイス450は、とりわけプロセッサ452、メモリ464、ディスプレイ454などの入力/出力デバイス、通信インターフェース466、およびトランシーバ468を含む。コンピューティングデバイス450はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスを備えてもよい。コンポーネント450、452、464、454、466、および468の各々は、様々なバスを使用して相互接続され、コンポーネントのうちのいくつかは、共通のマザーボード上に、または適切な他の方法で取り付けられてもよい。
【００７４】
プロセッサ452は、メモリ464に記憶された命令を含むコンピューティングデバイス450内での実行のための命令を処理することができる。プロセッサはまた、別個のアナログおよびデジタルプロセッサを含んでもよい。プロセッサは、たとえばユーザインターフェースの制御、コンピューティングデバイス450によって実行されるアプリケーション、およびコンピューティングデバイス450によるワイヤレス通信などのコンピューティングデバイス450の他のコンポーネントの調整のために提供してもよい。
【００７５】
プロセッサ452は、制御インターフェース458およびディスプレイ454に結合されるディスプレイインターフェース456を通じてユーザと通信してもよい。ディスプレイ454は、たとえばTFT LCDディスプレイまたはOLEDディスプレイ、あるいは他の適切なディスプレイ技術であってもよい。ディスプレイインターフェース456は、グラフィカル情報および他の情報をユーザに提示するために、ディスプレイ454を駆動するための適切な回路を備えてもよい。制御インターフェース458は、ユーザからコマンドを受信し、プロセッサ452への提出のためにそれらを変換してもよい。さらに、コンピューティングデバイス450の他のデバイスとの近距離通信を可能にするために、プロセッサ452と通信する外部インターフェース462が提供されてもよい。外部インターフェース462は、たとえばワイヤード通信(たとえば、ドッキング手順を介する)またはワイヤレス通信(たとえば、Bluetooth(登録商標)または他のそのような技術を介する)を提供してもよい。
【００７６】
メモリ464は、コンピューティングデバイス450内に情報を記憶する。一実装形態では、メモリ464は、コンピュータ可読媒体である。一実装形態では、メモリ464は揮発性メモリユニットである。別の実装形態では、メモリ464は、不揮発性メモリユニットである。拡張メモリ474は、たとえば加入者識別モジュール(SIM)カードインターフェースを含んでもよい拡張インターフェース472を通じてコンピューティングデバイス450に提供され、接続されてもよい。そのような拡張メモリ474は、コンピューティングデバイス450のための余分な記憶スペースを提供してもよく、またコンピューティングデバイス450のためのアプリケーションまたは他の情報を記憶してもよい。具体的には、拡張メモリ474は、上述したプロセスを実行または補足するための命令を含んでもよく、また安全な情報を含んでもよい。したがって、たとえば拡張メモリ474は、コンピューティングデバイス450のためのセキュリティモジュールとして提供されてもよく、コンピューティングデバイス450の安全な使用を可能にする命令でプログラムされてもよい。さらに、安全なアプリケーションは、SIMカード上の識別情報を非ハッカー可能な方法で配置するなどの追加情報とともに、SIMカードを介して提供されてもよい。
【００７７】
メモリは、たとえば後述するように、フラッシュメモリおよび/またはMRAMメモリを含んでもよい。一実装形態では、コンピュータプログラム製品は、情報担体に実体的に組み込まれる。コンピュータプログラム製品は、実行時に上述したような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ464、拡張メモリ474、またはプロセッサ452上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【００７８】
コンピューティングデバイス450は、通信インターフェース466を通じてワイヤレスに通信してもよく、通信インターフェース466は、必要に応じてデジタル信号処理回路を含んでもよい。通信インターフェース466は、とりわけGSMボイスコール、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルの下での通信を提供してもよい。そのような通信は、たとえばトランシーバ468(たとえば、無線周波数トランシーバ)を通じて発生してもよい。さらに、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)などを使用する短距離通信が発生してもよい。さらに、GPS受信機モジュール470は、コンピューティングデバイス450上で動作するアプリケーションによって適切に使用されてもよい、追加のワイヤレスデータをコンピューティングデバイス450に提供してもよい。
【００７９】
コンピューティングデバイス450はまた、オーディオコーデック460を使用して聴覚的に通信してもよく、音声コーデック460は、ユーザからの音声情報を受信し、それを使用可能なデジタル情報に変換してもよい。オーディオコーデック460は、同様に、たとえばコンピューティングデバイス450のハンドセット内のスピーカを通じてなどで、ユーザのための可聴音を生成してもよい。そのような音声は、音声電話呼からの音声を含んでもよく、録音された音声(たとえば、ボイスメッセージ、音楽ファイルなど)を含んでもよく、またコンピューティングデバイス450上で動作するアプリケーションによって生成された音声を含んでもよい。
【００８０】
コンピューティングデバイス450は、図面に示されるように、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス450はセルラー電話480として実装されてもよい。コンピューティングデバイス450はまた、スマートフォン482、携帯情報端末、または他のモバイルデバイスの一部として実装されてもよい。
【００８１】
本明細書に記載されたシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現されてもよい。これらの様々な実装形態は、データおよび命令を受信し、ストレージシステムからデータおよび命令を受信する、ならびにストレージシステムにデータおよび命令送信するように結合される専用または汎用であってもよい少なくとも1つのプログラム可能プロセッサ、少なくとも1つの入力デバイス、ならびに少なくとも1つの出力デバイスを含むプログラム可能システム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【００８２】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラム可能プロセッサ用の機械命令を含み、高水準手続き型および/またはオブジェクト指向プログラミング言語で、ならびに/あるいはアセンブリ/機械言語で実装されてもよい。他のプログラミングパラダイム、たとえば機能プログラミング、論理プログラミング、または他のプログラミングが使用されてもよい。本明細書で使用される場合、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含むプログラム可能プロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラム可能プロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【００８３】
ユーザとの対話を提供するために、本明細書で説明するシステムおよび技法は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ)、ならびにユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)を有するコンピュータ上に実装されてもよい。ユーザとの対話を提供するために他の種類のデバイスも使用されてもよく、たとえばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信されてもよい。
【００８４】
本明細書で説明されるシステムおよび技法は、(たとえば、データサーバとして)バックエンドコンポーネントを含む、またはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含む、またはフロントエンドコンポーネント(たとえば、ユーザが本明細書で説明されるシステムおよび技法の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含むコンピューティングシステム、あるいはそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せにおいて実装されてもよい。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信(たとえば、通信ネットワーク)によって相互接続されてもよい。通信ネットワークの例には、ローカルエリアネットワーク("LAN")、ワイドエリアネットワーク("WAN")、およびインターネットが含まれる。
【００８５】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは、一般に互いに遠隔であり、典型的には通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムのおかげで生じる。
【００８６】
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、任意の発明の範囲または特許請求される可能性のある範囲の限定として解釈されるべきではなく、むしろ特定の発明の特定の実装形態に特有の特徴の説明として解釈されるべきである。別個の実装形態の文脈において本明細書で説明される特定の機能はまた、単一の実装形態において組み合わせて実装されてもよい。逆に、単一の実装形態の文脈において説明される様々な機能はまた、複数の実装形態において個別に、または任意の適切なサブコンビネーションにおいて実装されてもよい。さらに、特徴は、特定の組合せにおいて作用するものとして説明されており、当初はそのように主張されているものであっても、場合によっては請求された組合せからの1つまたは複数の特徴が組合せから切り出されてよく、請求された組合せは、サブコンビネーションまたはサブコンビネーションのバリエーションに導かれる場合がある。
【００８７】
同様に、動作は、特定の順序で図面に示されるが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序または逐次的な順序で実行されること、あるいは図示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク処理および並列処理が有利な場合がある。さらに、上述の実装形態における様々なシステムコンポーネントの分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、記載されたプログラムコンポーネントおよびシステムは、一般に単一のソフトウェア製品に統合されてもよく、複数のソフトウェア製品にパッケージ化されてもよいことが理解されるべきである。
【００８８】
したがって、本主題の特定の実装形態が記載されている。他の実装形態は、以下の請求項の範囲内にある。場合によっては、請求項に列挙された動作は異なる順序で実行され、依然として望ましい結果を達成することができる。さらに、添付の図面に示されるプロセスは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。特定の実装形態では、マルチタスク処理および並列処理が有利な場合がある。
【符号の説明】
【００８９】
100  例示的な環境
102  ネットワーク
104  電子文書サーバ
106  ユーザデバイス
106a  ユーザデバイス
108  サードパーティコンテンツサーバ
110  サードパーティコンテンツ配信システム
112  要求
114  コンピューティングデバイス
116  サードパーティコーパスデータベース
117a〜117c  タスク
118a〜118c  分析の結果
120  応答データ
121  サードパーティ要求
122  サードパーティデータ
124  アプリケーションサーバ
126  アプリケーション(または「アプリ」)開発者
200  例示的なシステム
202  クエリ
204  サードパーティコンテンツスロット
206  ユーザインターフェース
208  アプリケーション情報
210  ユーザ
212  アプリケーションダウンロード要素
214  検索制御
214  検索ボックス
216  リソース
218  ダウンロード制御
219  アプリケーション内の表示領域
220  特徴−アプリケーション類似性エンジン
222  アプリケーション関連性エンジン
224  インデックス付けエンジン
226  アプリケーション情報エンジン
228  アプリケーションクラスタリングエンジン
230  記憶されたクエリおよび特徴のデータストア
232  アプリケーション分類のデータストア
234  クエリ−アプリケーションインデックス
300  プロセス
400  コンピューティングデバイス
402  プロセッサ
404  メモリ
406  ストレージデバイス
408  高速コントローラ
410  高速拡張ポート
412  低速コントローラ
414  低速バス
422  ラップトップコンピュータ
424  ラックサーバシステム
450  コンピューティングデバイス
452  プロセッサ
454  ディスプレイ
456  ディスプレイインターフェース
458  制御インターフェース
460  オーディオコーデック
462  外部インターフェース
464  メモリ
466  通信インターフェース
468  トランシーバ
470  GPS受信機モジュール
472  拡張インターフェース
474  拡張メモリ
480  セルラー電話
482  スマートフォン
【図１】
2020173845.tif 000003
【図２】
2020173845.tif 000004
【図３】
2020173845.tif 000005
【図４】
2020173845.tif 000006
【手続補正書】
【提出日】令和2年7月14日(2020.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のサーバによって、メモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスするステップであって、前記階層的アプリケーション分類が、前記特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、アクセスするステップと、
提出されたクエリをクライアントデバイスから受信するステップと、
前記提出されたクエリについて、前記提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、前記提出されたクエリの特徴のセットを取得するステップと、
前記特定のアプリケーションの前記階層的アプリケーション分類が前記主要なトピックおよびサブトピックを含むことを決定するステップと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記特定のアプリケーションに関する情報を提示するデータを提供するステップと、
を含む、方法。
【請求項２】
候補アプリケーションのセット中から、前記提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別するステップと、
前記候補アプリケーションのうちの少なくとも1つの候補アプリケーションに関する情報を提示するデータを提供するステップと、をさらに含む、
請求項１に記載の方法。
【請求項３】
前記候補アプリケーションの中から少なくとも1つの候補アプリケーションに関する情報を提示するデータを提供するステップが、前記クライアントデバイスにおいて提示される前記ユーザインターフェース内に、前記少なくとも１つの候補アプリケーションを識別する情報と、前記所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供するステップを備える、請求項２に記載の方法。
【請求項４】
前記提出されたクエリの前記特徴のセットを生成するステップであって、
前記提出されたクエリについて、前記提出されたクエリを使用して取得された検索結果から顕著な用語のセットを識別するステップと、
前記提出されたクエリをユニグラムのセットに解析するステップと、
前記顕著な用語のセットおよび前記ユニグラムに基づいて、前記提出されたクエリに対応するトピックのセットを前記提出されたクエリの前記特徴のセットとして識別するステップと、をさらに含む、
請求項１に記載の方法。
【請求項５】
前記提出されたクエリを記憶されたクエリとして記憶するステップと、
前記記憶されたクエリに一致する次のクエリに基づいて、前記特定のアプリケーションが前記次のクエリに関連すると判定するステップと、をさらに含む、
請求項４に記載の方法。
【請求項６】
記憶されたクエリおよび前記記憶されたクエリの特徴のセットにアクセスするステップと、
前記1つまたは複数のサーバによって、前記記憶されたクエリの前記特徴のセットと前記特定のアプリケーションの前記階層的アプリケーション分類との間の類似性のレベルを決定するステップと、
前記1つまたは複数のサーバによって、指定されたしきい値を満たす前記類似性のレベルに基づいて、前記特定のアプリケーションが前記記憶されたクエリに関連すると判定するステップと、
前記1つまたは複数のサーバによって、前記記憶されたクエリがクライアントデバイスから受信されたときに、前記記憶されたクエリを前記特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けするステップと、をさらに含み、前記提出されたクエリが前記主要なトピックおよび前記サブトピックを含むと決定するステップは、前記提出されたクエリが前記記憶されたクエリに一致すると決定するステップを含む、
請求項１に記載の方法。
【請求項７】
複数の異なるアプリケーションの前記階層的アプリケーション分類に基づいて前記複数の異なるアプリケーションをアプリケーションクラスタにクラスタリングするステップであって、前記アプリケーションクラスタが代表的な階層的アプリケーション分類を有する、クラスタリングするステップと、
特定のクエリをクライアントデバイスから受信するステップと、
前記特定のクエリの特徴のセットを取得するステップと、
前記特定のクエリの前記特徴のセットを対応する階層的アプリケーション分類にマッピングするステップと、
前記対応する階層的アプリケーション分類が、前記クラスタの前記代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有すると判定するステップと、
前記対応する階層的アプリケーション分類が前記クラスタの前記代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有することに応答して、前記特定のクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記アプリケーションクラスタにおける前記アプリケーションのうちの少なくともいくつかに関する情報を提示するデータを提供するステップと、
をさらに備える、請求項１に記載の方法。
【請求項８】
１つまたは複数のデータ処理装置によって実行されると、１つまたは複数のデータ処理装置に動作を実行させる命令を格納する非一時的コンピュータ可読記憶媒体であって、前記動作は、
メモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスすることであって、前記階層的アプリケーション分類が、前記特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、アクセスすることと、
提出されたクエリをクライアントデバイスから受信することと、
前記提出されたクエリについて、前記提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、前記提出されたクエリの特徴のセットを取得することと、
前記特定のアプリケーションの前記階層的アプリケーション分類が前記主要なトピックおよびサブトピックを含むことを決定することと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記特定のアプリケーションに関する情報を提示するデータを提供することと、
を含む、非一時的コンピュータ可読記憶媒体。
【請求項９】
前記命令が前記１つまたは複数のデータ処理装置に実行させる動作がさらに、
候補アプリケーションのセット中から、前記提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別することと、
前記候補アプリケーションのうちの少なくとも1つの候補アプリケーションに関する情報を提示するデータを提供することと、を含む、
請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記候補アプリケーションの中から少なくとも1つの候補アプリケーションに関する情報を提示するデータを提供することが、前記クライアントデバイスにおいて提示される前記ユーザインターフェース内に、前記少なくとも１つの候補アプリケーションを識別する情報と、前記所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供することを備える、請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記命令が前記１つまたは複数のデータ処理装置に実行させる動作がさらに、
前記提出されたクエリの前記特徴のセットを生成することであって、
前記提出されたクエリについて、前記提出されたクエリを使用して取得された検索結果から顕著な用語のセットを識別することと、
前記提出されたクエリをユニグラムのセットに解析することと、
前記顕著な用語のセットおよび前記ユニグラムに基づいて、前記提出されたクエリに対応するトピックのセットを前記提出されたクエリの前記特徴のセットとして識別することと、を含む、
生成することをさらに含む、
請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記命令が前記１つまたは複数のデータ処理装置に実行させる動作がさらに、
前記提出されたクエリを記憶されたクエリとして記憶することと、
前記記憶されたクエリに一致する次のクエリに基づいて、前記特定のアプリケーションが前記次のクエリに関連すると判定することと、をさらに含む、
請求項１１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記命令が前記１つまたは複数のデータ処理装置に実行させる動作がさらに、
記憶されたクエリおよび前記記憶されたクエリの特徴のセットにアクセスすることと、
前記1つまたは複数のサーバによって、前記記憶されたクエリの前記特徴のセットと前記特定のアプリケーションの前記階層的アプリケーション分類との間の類似性のレベルを決定することと、
前記1つまたは複数のサーバによって、指定されたしきい値を満たす前記類似性のレベルに基づいて、前記特定のアプリケーションが前記記憶されたクエリに関連すると判定することと、
前記1つまたは複数のサーバによって、前記記憶されたクエリがクライアントデバイスから受信されたときに、前記記憶されたクエリを前記特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けすることと、を含み、前記提出されたクエリが前記主要なトピックおよび前記サブトピックを含むと決定することは、前記提出されたクエリが前記記憶されたクエリに一致すると決定することを含む、
請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記命令が前記１つまたは複数のデータ処理装置に実行させる動作がさらに、
複数の異なるアプリケーションの前記階層的アプリケーション分類に基づいて前記複数の異なるアプリケーションをアプリケーションクラスタにクラスタリングすることであって、前記アプリケーションクラスタが代表的な階層的アプリケーション分類を有する、クラスタリングすることと、
特定のクエリをクライアントデバイスから受信することと、
前記特定のクエリの特徴のセットを取得することと、
前記特定のクエリの前記特徴のセットを対応する階層的アプリケーション分類にマッピングすることと、
前記対応する階層的アプリケーション分類が、前記クラスタの前記代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有すると判定することと、
前記対応する階層的アプリケーション分類が前記クラスタの前記代表的な階層的アプリケーション分類との少なくとも指定されたレベルの類似性を有することに応答して、前記特定のクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記アプリケーションクラスタにおける前記アプリケーションのうちの少なくともいくつかに関する情報を提示するデータを提供することと、
を備える、請求項８に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
メモリデバイスと、
前記メモリデバイスと対話し、命令を実行するように構成された１つまたは複数のデータ処理デバイスを備えるシステムであって、前記命令の実行は、前記１つまたは複数のデータ処理デバイスに、
前記メモリデバイスから、特定のアプリケーションの階層的アプリケーション分類にアクセスすることであって、前記階層的アプリケーション分類が、前記特定のアプリケーションの少なくとも主要なアプリケーションカテゴリおよびアプリケーションサブカテゴリを指定する、アクセスすることと、
提出されたクエリをクライアントデバイスから受信することと、
前記提出されたクエリについて、前記提出されたクエリの少なくとも主要なトピックおよびサブトピックを指定する、前記提出されたクエリの特徴のセットを取得することと、
前記特定のアプリケーションの前記階層的アプリケーション分類が前記主要なトピックおよびサブトピックを含むことを決定することと、
前記提出されたクエリに応じて前記クライアントデバイスに、前記クライアントデバイスにおいて提示されたユーザインターフェース内に前記特定のアプリケーションに関する情報を提示するデータを提供することと、
を含む動作を実行させる、システム。
【請求項１６】
前記命令が前記１つまたは複数のデータ処理デバイスに、
候補アプリケーションのセット中から、前記提出されたクエリに対して最も高い一致スコアを有する所与のアプリケーションを識別することと、
前記候補アプリケーションのうちの少なくとも1つの候補アプリケーションに関する情報を提示するデータを提供することと、をさらに含む動作を実行させる、
請求項１５に記載のシステム。
【請求項１７】
前記候補アプリケーションの中から少なくとも1つの候補アプリケーションに関する情報を提示するデータを提供することが、前記クライアントデバイスにおいて提示される前記ユーザインターフェース内に、前記少なくとも１つの候補アプリケーションを識別する情報と、前記所与のアプリケーションをアプリケーションサーバからダウンロードすることを可能にする対話型ユーザインターフェース要素とを提示するデータを提供することを備える、請求項１６に記載のシステム。
【請求項１８】
前記命令が前記１つまたは複数のデータ処理デバイスに、
前記提出されたクエリの前記特徴のセットを生成することであって、
前記提出されたクエリについて、前記提出されたクエリを使用して取得された検索結果から顕著な用語のセットを識別することと、
前記提出されたクエリをユニグラムのセットに解析することと、
前記顕著な用語のセットおよび前記ユニグラムに基づいて、前記提出されたクエリに対応するトピックのセットを前記提出されたクエリの前記特徴のセットとして識別することと、をさらに含む動作を実行させる、
請求項１５に記載のシステム。
【請求項１９】
前記命令が前記１つまたは複数のデータ処理デバイスに、
前記提出されたクエリを記憶されたクエリとして記憶することと、
前記記憶されたクエリに一致する次のクエリに基づいて、前記特定のアプリケーションが前記次のクエリに関連すると判定することと、をさらに含む動作を実行させる、
請求項１８に記載のシステム。
【請求項２０】
前記命令が前記１つまたは複数のデータ処理デバイスに、
記憶されたクエリおよび前記記憶されたクエリの特徴のセットにアクセスすることと、
前記1つまたは複数のサーバによって、前記記憶されたクエリの前記特徴のセットと前記特定のアプリケーションの前記階層的アプリケーション分類との間の類似性のレベルを決定することと、
前記1つまたは複数のサーバによって、指定されたしきい値を満たす前記類似性のレベルに基づいて、前記特定のアプリケーションが前記記憶されたクエリに関連すると判定することと、
前記1つまたは複数のサーバによって、前記記憶されたクエリがクライアントデバイスから受信されたときに、前記記憶されたクエリを前記特定のアプリケーションに関連する情報の提示をトリガするクエリとしてインデックス付けすることと、をさらに含む動作を実行させ、前記提出されたクエリが前記主要なトピックおよび前記サブトピックを含むと決定することは、前記提出されたクエリが前記記憶されたクエリに一致すると決定することを含む、
請求項１５に記載のシステム。
【外国語明細書】
2020173845000001.pdf