(57)【特許請求の範囲】
【請求項１】
クエリを処理するためにコンピュータにより実現される方法において、
ユーザデバイスからクエリを受信するステップと、
１つ以上のコンテンツ情報源を識別するために前記クエリを類別するステップと、
前記１つ以上のコンテンツ情報源に対する１つ以上のコンテンツ情報源特有のものにしたがって、前記クエリをフォーマットするステップと、
前記１つ以上のコンテンツ情報源に対して前記フォーマットされたクエリを前記１つ以上のコンテンツ情報源に送信するステップと、
前記１つ以上のコンテンツ情報源のうちの少なくとも１つからの結果を受信するステップと、
１つ以上の要因および１つ以上のローカルランキング統計に少なくとも部分的に基づいて、前記１つ以上のコンテンツ情報源からの前記フォーマットされたクエリに応答した結果をマージするステップと、
前記ユーザデバイスに配信するために前記結果をフォーマットするステップとを含み、
前記結果は、各コンテンツ情報源において、前記フォーマットされたクエリに応答して動的に計算された、１つ以上のローカルランキング統計を含み、前記１つ以上のローカルランキング統計は、前記フォーマットされたクエリに関係付けられた１つ以上の用語に、および、クエリコンテキスト中のメタデータに関連し、
前記１つ以上の要因に少なくとも部分的に基づいて、前記結果をマージするステップは、応答待ち時間を含む情報源レイティングに基づいて、前記結果をマージすることを含む方法。
【請求項２】
前記１つ以上の要因は、グローバルおよびローカル要因を含む、請求項１記載の方法。
【請求項３】
前記ユーザデバイスは、インターネット可能入力デバイス、インターネットもしくは音声可能移動体デバイス、音声可能入力デバイス、コンピュータ、およびキオスクのうちの１つ以上を含む、請求項１記載の方法。
【請求項４】
前記１つ以上のコンテンツ情報源は、コンテンツ情報源に関係付けられた検索エンジン、広告エンジン、およびデータベースに対するアクセスインターフェイスのうちの１つ以上を含む、請求項１記載の方法。
【請求項５】
前記１つ以上の要因は、編集レイティング、応答信頼性、コンテンツ関連性、およびコンテンツの規模もしくはカバレッジのうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項６】
前記１つ以上の要因は、ユーザ選択、利用統計、クエリ頻度、カテゴリ頻度、販売者選択、推薦統計、ユーザ作成のレイティング、および／またはビジネス関係のうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項７】
前記１つ以上の要因は、結果アイテムのテキストもしくは非テキストの解析、データもしくはテキストマイニング解析、データもしくはテキストクラスタリング、および／または非テキストパターン解析に関係付けられた統計のうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項８】
前記１つ以上の要因は、デバイス特有のものおよび／またはフォーマット仕様に関係付けられた統計のうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項９】
前記１つ以上の要因は、ユーザの人口統計特性、位置、言語、社会ネットワーク、社会グループ、および個人化特性のうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項１０】
前記１つ以上の要因は、ページサイズ、グラフィック、テキストエレメント、およびテキストのうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項１１】
前記１つ以上の要因は、情報源レイティング、信頼性要因、および待ち時間要因のうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項１２】
前記１つ以上の要因は、ビジネスルール、ビジネス関係、人口統計選択、およびマーケティング目的のうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項１３】
前記１つ以上の要因は、ローカルランキングスコア、情報源順序付け値、情報源特有一般スコア、および情報源要因のうちの少なくとも１つ以上を含む、請求項１記載の方法。
【請求項１４】
前記１つ以上の要因は、結果ベースのランキング、関連性、精度、利用要因のうちの少なくとも１つ以上を含み、前記利用要因は、人口統計、トラフィックパターン、ユーザ個人化、およびコミュニティ値のうちの１つ以上を含む、請求項１記載の方法。
【請求項１５】
前記クエリは、１つ以上のタクソノミーまたは統制語彙中のカテゴリに分類される、請求項１記載の方法。
【請求項１６】
前記結果は、テキスト関連性、ユーザ選択、順序付け、関連性もしくは類似性スコア、および／または結果アイテム要因のうちの１つ以上に少なくとも部分的に基づいてマージされる、請求項１記載の方法。
【請求項１７】
前記結果アイテム要因は、情報源レイティング、メタデータ関連性要因、類似性要因、ランキング要因、販売者選択、利用パターン、位置、デバイス仕様、クエリ頻度、および／またはカテゴリ頻度のうちの１つ以上を含む、請求項１６記載の方法。
【請求項１８】
各コンテンツ情報源において、前記クエリに関係付けられた１つ以上の用語に関連し、前記クエリに応答する前記クエリコンテキスト中のメタデータに関連する、各結果アイテムに対する１つ以上のローカルランキング統計を動的に計算するステップをさらに含む、請求項１記載の方法。
【請求項１９】
結果集合中の１つ以上のコンテンツアイテムに関連する少なくとも１つのグローバル統計を計算するステップと、
正規化係数を計算するステップとをさらに含む、請求項１記載の方法。
【請求項２０】
前記少なくとも１つのグローバルおよび／またはローカル統計にしたがって、前記１つ以上のコンテンツ情報源からの前記結果アイテムに対する１つ以上の関連性スコアを決定するステップをさらに含む、請求項１９記載の方法。
【請求項２１】
前記正規化係数にしたがって、前記１つ以上の関連性スコアを正規化するステップをさらに含む、請求項１９記載の方法。
【請求項２２】
前記正規化係数によって決定される順序付けに基づいて、前記結果を単一の結果集合へと組み合わせるステップをさらに含む、請求項１９記載の方法。
【請求項２３】
１つ以上のキャッシュ中に各コンテンツ情報源からの結果を記憶させるステップをさらに含む、請求項１記載の方法。
【請求項２４】
既存の結果を取得するために前記１つ以上のキャッシュにアクセスするステップと、
１つ以上のクエリコンテキストパラメータに基づいて、前記取得された既存の結果をフォーマットするステップとをさらに含む、請求項２３記載の方法。
【請求項２５】
前記１つ以上のキャッシュにアクセスするステップは、１つ以上の情報源動作を軽減する、請求項２３記載の方法。
【請求項２６】
前記クエリを類別するステップは、前記クエリが受信されるときに動的に発生する、請求項１記載の方法。
【請求項２７】
１つ以上の重複結果を識別するステップをさらに含む、請求項１記載の方法。
【請求項２８】
ユーザ選択、デバイス選択、および販売者選択のうちの１つ以上にしたがって、前記１つ以上の重複結果を除去するステップをさらに含む、請求項２７記載の方法。
【請求項２９】
ユーザ選択、デバイス選択、および販売者選択のうちの１つ以上にしたがって、前記１つ以上の重複結果を保持するステップをさらに含む、請求項２７記載の方法。
【請求項３０】
請求項１記載の方法の動作を実行するコードを含むコンピュータ読み取り可能媒体。
【請求項３１】
クエリを処理するためにコンピュータにより実現されるシステムにおいて、
ユーザデバイスからクエリを受信する受信モジュールと、
１つ以上のコンテンツ情報源を識別するために前記クエリを類別する類別モジュールと、
前記１つ以上のコンテンツ情報源に対する１つ以上のコンテンツ情報源特有のものにしたがって、前記クエリをフォーマットするフォーマットモジュールと、
前記１つ以上のコンテンツ情報源に対して前記フォーマットされたクエリを前記１つ以上のコンテンツ情報源に送信する送信モジュールと、
前記１つ以上のコンテンツ情報源のうちの少なくとも１つからの結果を受信する結果プロセッサと、
１つ以上の要因および１つ以上のローカルランキング統計に少なくとも基づいて、前記１つ以上のコンテンツ情報源からの前記フォーマットされたクエリに応答した結果をマージするマージモジュールと、
前記ユーザデバイスに配信するために前記結果をフォーマットする結果モジュールとを具備し、
前記結果は、前記フォーマットされたクエリに応答して、各コンテンツ情報源において動的に計算された、１つ以上のローカルランキング統計を含み、前記１つ以上のローカルランキング統計は、前記フォーマットされたクエリに関係付けられた１つ以上の用語に、および、クエリコンテキスト中のメタデータに関連し、
前記マージモジュールは、応答待ち時間を含む情報源レイティングに基づいて、前記結果をマージするように構成されているシステム。
【請求項３２】
前記１つ以上の要因は、グローバルおよびローカル要因を含む、請求項３１記載のシステム。
【請求項３３】
前記ユーザデバイスは、インターネット可能入力デバイス、インターネットもしくは音声可能移動体デバイス、音声可能入力デバイス、コンピュータ、およびキオスクのうちの１つ以上を含む、請求項３１記載のシステム。
【請求項３４】
前記１つ以上のコンテンツ情報源は、コンテンツ情報源に関係付けられた検索エンジン、広告エンジン、およびデータベースに対するアクセスインターフェイスのうちの１つ以上を含む、請求項３１記載のシステム。
【請求項３５】
前記１つ以上の要因は、編集レイティング、応答信頼性、コンテンツ関連性、およびコンテンツの規模またはカバレッジのうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項３６】
前記１つ以上の要因は、ユーザ選択、利用統計、クエリ頻度、カテゴリ頻度、販売者選択、推薦統計、ユーザ作成のレイティング、および／またはビジネス関係のうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項３７】
前記１つ以上の要因は、結果アイテムのテキストまたは非テキストの解析、データもしくはテキストマイニング解析、データもしくはテキストクラスタリング、および／または非テキストパターン解析のうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項３８】
前記１つ以上の要因は、デバイス特有のものおよび／またはフォーマット仕様に関係付けられた統計のうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項３９】
前記１つ以上の要因は、ユーザ人口統計特性、位置、言語、社会ネットワーク、社会グループ、および個人化特性のうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項４０】
前記１つ以上の要因は、ページサイズ、グラフィック、テキストエレメント、およびテキストのうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項４１】
前記１つ以上の要因は、情報源レイティング、信頼性要因、および待ち時間要因のうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項４２】
前記１つ以上の要因は、ビジネスルール、ビジネス関係、人口統計選択、およびマーケティング目的のうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項４３】
前記１つ以上の要因は、ローカルランキングスコア、情報源順序付け値、情報源特有一般スコア、および情報源要因のうちの少なくとも１つ以上を含む、請求項３１記載のシステム。
【請求項４４】
前記１つ以上の要因は、結果ベースのランキング、関連性、精度、利用要因のうちの少なくとも１つ以上を含み、前記利用要因は、人口統計、トラフィックパターン、ユーザ個人化、およびコミュニティ値のうちの１つ以上を含む、請求項３１記載のシステム。
【請求項４５】
前記クエリは、１つ以上のタクソノミーまたは統制語彙中のカテゴリに分類される、請求項３１記載のシステム。
【請求項４６】
前記結果は、テキスト関連性、ユーザ選択、順序付け、関連性もしくは類似性スコア、および／または結果アイテム要因のうちの１つ以上に少なくとも部分的に基づいてマージされる、請求項３１記載のシステム。
【請求項４７】
前記結果アイテム要因は、情報源レイティング、メタデータ関連性要因、類似性要因、ランキング要因、販売者選択、利用パターン、位置、デバイス仕様、クエリ頻度、および／またはカテゴリ頻度のうちの１つ以上を含む、請求項４６記載のシステム。
【請求項４８】
各コンテンツ情報源において、前記クエリに関係付けられた１つ以上の用語に関連し、前記クエリに応答する前記クエリコンテキスト中のメタデータに関連する、各結果アイテムに対する、１つ以上のローカルランキング統計を動的に計算するステップをさらに含む、請求項３１記載のシステム。
【請求項４９】
結果集合中の１つ以上のコンテンツアイテムに関連する少なくとも１つのグローバル統計を計算し、正規化係数を計算するモジュールをさらに備える、請求項３１記載のシステム。
【請求項５０】
前記少なくとも１つのグローバルおよび／またはローカル統計にしたがって、前記１つ以上のコンテンツ情報源からの前記結果アイテムに対する１つ以上の関連性スコアを決定する、請求項４９記載のシステム。
【請求項５１】
前記正規化係数にしたがって、前記１つ以上の関連性スコアを正規化する、請求項４９記載のシステム。
【請求項５２】
前記正規化係数によって決定される順序付けに基づいて、結果を単一の結果集合へと組み合わせる、請求項４９記載のシステム。
【請求項５３】
各コンテンツ情報源からの結果を記憶する１つ以上のキャッシュをさらに備える、請求項３１記載のシステム。
【請求項５４】
既存の結果を取得するために前記１つ以上のキャッシュにアクセスし、
１つ以上のクエリコンテキストパラメータに基づいて、前記取得された既存の結果をフォーマットする、請求項５３記載のシステム。
【請求項５５】
前記１つ以上のキャッシュにアクセスすることは、１つ以上の情報源動作を軽減する、請求項５３記載のシステム。
【請求項５６】
前記クエリを類別することは、前記クエリが受信されるときに動的に発生する、請求項３１記載のシステム。
【請求項５７】
１つ以上の重複結果が識別される、請求項３１記載のシステム。
【請求項５８】
ユーザ選択、デバイス選択、および販売者選択のうちの１つ以上にしたがって、前記１つ以上の重複結果を除去する、請求項５７記載のシステム。
【請求項５９】
ユーザ選択、デバイス選択、および販売者選択のうちの１つ以上にしたがって、前記１つ以上の重複結果を保持する、請求項５７記載のシステム。
【発明の詳細な説明】
【関連出願】
【０００１】
本特許出願は、２００６年２月１６日に出願された米国仮特許出願第６０/７６６，８９２号に対して優先権を主張し、ここに参照としてその全体を組み込んでいる。
【発明の分野】
【０００２】
本発明は一般的に情報取得のためのコンピュータ化された技術に関連する。さらに詳細には、フェデレイト検索および取得技術に関連し、これは、クエリを動的に類別して、ネットワーク経由でアクセス可能な複数のコンテンツ情報源を識別することと、さらに、複数の情報源から戻された結果をキャッシュすることと、情報源レイティング、ユーザレイティング、ビジネス考慮事項および／または他の要因に少なくとも部分的に基づいて、複数の情報源からの結果をさらにマージすることとを含む。
【発明の背景】
【０００３】
安価なコンピュータおよびネットワーキング技術が、インターネットおよび移動体ネットワークユーザに対して大量のデジタルコンテンツを利用可能にしたことにより、情報の過負荷となった。結果として、ユーザは、彼らが大規模の集中型公衆検索エンジンにより、一貫して確実に位置特定できるよりも、はるかにより多くの情報およびエンターテイメントに対するアクセスを有している。
【０００４】
同時に、かなりの実用的および商業的価値がテキストおよびデータ検索技術により提供されており、テキストおよびデータ検索技術の目的は、公衆に利用可能な大規模なインターネット検索エンジンにより生成されて管理されている情報のような所定のコンテンツ収集物内で、ユーザに対して最も有用性のある情報を識別することである。
【０００５】
情報検索および取得技術の結果的な急増と商品化は、コンテンツ情報源により独立してインデックス付けされて維持されている、増加している数の知的所有権下にある商業データ、メディアおよびテキスト収集物を生み出してきた。これらのコンテンツ情報源は、公衆検索エンジンによるインデックス付けのためにそれらのデジタルコンテンツを完全にアクセス可能にするには限られた経済的インセンティブしか持っておらず、公衆検索エンジンは、実際のコンテンツへの直接のアクセスを彼らのユーザに提供することによってよりも、これらの情報源を広告主として契約させることにより、より多くの経済的利益を得る。
【０００６】
ほとんどの現在の検索エンジンはリソース（例えば、文書、画像、ウェブサイト）の収集物に予めインデックス付けし、クエリに応答して、クエリを満たすコンテンツを探すために１つのまたはグループのコンピュータ中の収集物を調査し、可能性のあるマッチングの順序付けられたリストを結果集合としてユーザに戻すように設計されている。コンテンツがどのくらい近くクエリにマッチングしているかを意味している関連性ランキングを示す結果アイテムメタデータが、明示的に戻されてもよく、暗黙的に結果集合中のアイテムの順序で与えられてもよく、通常は最も関連性のあるアイテムがリストのトップにある。ランキングは数的類似性スコア値、または、コンテンツ発行者によってコンテンツに対して以前に計算され、フルテキストもしくはデータベースインデックスで記憶されている多くの可能性ある尺度のうちの１つに基づいていてもよい。
【０００７】
検索エンジンクエリおよびインデックス付けアーキテクチャは少なくとも３つのタイプ、すなわち、集中型インデックス付け、メタ検索、およびフェデレイト検索エンジンに分かれる。各タイプは異なるタイプのコンテンツ収集物に対して検索を行うのに使用される。例えば、集中型インデックスは、単一企業コンテンツ管理システム、または、公衆に利用可能であるおびただしい数のインターネット可能ウェブサイト中に見受けられるもののような、完全にアクセス可能な同種のコンテンツに対する検索を容易にするのに使用される。
【０００８】
メタ検索エンジンは、いくつかの外部検索エンジンまたはデータベースインデックスからの結果を組み合わせる。メタ検索エンジンは、例えば、複数のインターネット検索エンジンまたは書誌データベースのような、同種のテキストコンテンツ収集インデックスを有する収集物に対する検索を口語的に意味するようになった。
【０００９】
フェデレイト検索も１つより多い検索からの結果を組み合わせる。それぞれの検索は一般的に、異なるタイプのインデックス付けエンジンに関係付けられているような、異種のコンテンツ収集物に対して行われる。これは例えば、フルテキスト検索エンジンおよびデータベースからの混合コンテンツ、異なるファイルサーバまたは異なるコンテンツタイプからのような異なる情報リソース、あるいは、スポーツニュース、スポーツアパレルおよびスポーツチーム商品を含む複数のスポーツサイトを検索するときのように異なる所有権がある収集物に対するアクセスを要求するものである。
【００１０】
メタ検索またはフェデレイト検索を最大限に正確にするためには、それらが存在している個別の収集物に関して最高のスコアをつけるものでは必ずしもない、メタ収集物に関して最高のスコアをつけるリソースを見つけるべきである。例えば、スポーツと技術ニュースの２つの異なる収集物の組み合わせに対するフェデレイト検索では、クエリが用語「コンピュータ」を含む場合、不正確な実施では、スポーツ収集物中に出現するコンピュータ関連の文書に不適当な重み付けを与えるだろう。それぞれが異なる専門またはフォーカスを持つ、多様な収集物から情報を選別するのにメタ収集物が使用されるので、この影響の実質的インパクトはかなりある。
【００１１】
据え置き型のコンピュータによる従来型コンテンツアクセスに加えて、ラップトップ、パーソナルデジタルアシスタント（ＰＤＡ）、および移動体電話機のような移動体コンピューティングデバイスを使用するインターネットアクセスの爆発的急増があった。この急増は著しくコンテンツアクセスの性質を変えており、コンテンツ発行者は移動体アクセスのために彼らのコンテンツを再フォーマットし、再組織化している。デスクトップコンピュータユーザが複数の試行および閲覧を使用して、快適に情報を検索できるのに対して、移動体コンピューティングユーザは、小型スクリーンおよび入力エルゴノミックス、位置の特定性および彼ら自身の移動性によって、一般的に制限されている。これらの制約のために、移動体コンピューティングユーザはすべての可能性のある関連性のある結果を受け取ろうと望む傾向が少なく、特定の情報を即座に望む傾向が多い。
【００１２】
コンテンツアクセスのこの変化している性質は、結果集合の最初の５から１０エントリ中で最も高い可能性のある適合率を強調する新しい検索および取得プロセスにより、再現率に対する情報取得適合率の値を増加させる際に大きな役割を果たす。同じ理由のため、移動体ユーザは彼らの所望のコンテンツへの最短パスも要求する。したがって、検索結果のアイテムはコンテンツ情報源のリストに対するアクセスを提供するというよりは、ユーザが興味のあるコンテンツアイテムに直接アクセスできるようにすべきである。
【００１３】
フェデレイト検索機能への他の挑戦も存在する。異なる情報源は、異なるアルゴリズムを使用して、あるいは、テキストおよび／またはメタデータの異なるセクションに対して、同一のアルゴリズムを処理することにより、それらのコンテンツ収集物にインデックス付けする。
【００１４】
異なる情報源はオーバーラップしているリソース収集物を含んでいてもよく、このことにより、両方の情報源からの結果集合に同一のコンテンツアイテムが出現することになる。従来の脱重複アルゴリズムは、メタデータフィールド値またはフィールド値の集合に基づいて、すべての重複を除去する。例えば、ニュース情報源は同じヘッドライン、バイラインおよび日付値を有するすべてのコンテンツアイテムを除去する。
【００１５】
さまざまな情報源は類似したコンテンツを含むが、コンテンツの異なる深さ（収集物の規模）を含み、または、応答特性（待ち時間、稼働時間パーセンテージ）が変化する。これらのバリエーションは不十分な結果を発生させることにより、または、システムもしくはユーザ知覚タイムアウトの前に応答しないことによって、ユーザの経験に悪いインパクトを与えることがある。複数のコンテンツ情報源に渡るフェデレイト検索は、ユーザが妥当な時間フレーム内で彼らのクエリに対していくつかの応答を得る機会を改善する。
【００１６】
さらに、クエリへのコンテンツ収集物の関連性に広いバリエーションがあってもよい。すべての利用可能なコンテンツ情報源が、メタ収集物中に含まれることを保証するくらい十分に関連した収集物を含んでいるわけではない。
【発明の概要】
【００１７】
したがって、本発明の１つの観点は、上に述べた問題のうちの１つ以上を取り扱うことである。本発明の例示的な実施形態にしたがうと、クエリを処理するためにコンピュータにより実現される方法において、ユーザデバイスからクエリを受信するステップと、１つ以上の関連性のあるコンテンツ情報源を識別するためにクエリを類別するステップと、１つ以上のコンテンツ情報源から予め受信されたクエリ結果を取得し、利用可能である場合、ローカルキャッシュに記憶するステップと、利用可能でない場合、１つ以上のコンテンツ情報源に対する１つ以上のコンテンツ情報源特有クエリ言語にしたがって、クエリをフォーマットするステップと、１つ以上のコンテンツ情報源に対してフォーマットされたクエリを１つ以上のコンテンツ情報源に送信するステップと、１つ以上のコンテンツ情報源から受信される結果をキャッシュするステップと、１つ以上のコンテンツ情報源へのフォーマットされたクエリに応答した結果をマージするステップと、ユーザ、情報源、コンテンツおよび／または配信チャネルランキング要因のうちの１つ以上に少なくとも部分的に基づいて、結果をマージするステップと、デバイスまたは要求者特性に基づいて、ユーザに配信するために結果をフォーマットするステップと、フォーマットされた結果を要求者に戻すステップとを含む方法。
【００１８】
本発明のこの例示的実施形態の他の観点にしたがうと、方法は以下のことをさらに含んでいてもよい。すなわち、要求デバイスは、インターネット可能入力デバイス、インターネットもしくは音声可能移動体デバイス、音声可能入力デバイス、コンピュータ、およびキオスクのうちの１つ以上を含み、コンテンツ情報源は、コンテンツ情報源に関係付けられた、検索エンジン、広告エンジン、コンテンツ配信システムおよびデータベースのうちの１つ以上を含み、１つ以上のユーザランキング要因は、ユーザの人口統計特性、位置、言語、社会ネットワークおよびグループ、ならびに個人化特性のうちの少なくとも１つ以上を含み、１つ以上のコンテンツランキング要因は、ページサイズ、グラフィック、テキストエレメント、およびテキストのうちの少なくとも１つ以上を含み、１つ以上の情報源ランキング要因は、情報源レイティング、信頼性要因、待ち時間要因、全体コンテンツ関連性、およびコンテンツの規模またはカバレッジのうちの少なくとも１つ以上を含み、１つ以上の配信チャネルランキング要因は、ビジネスルール、ビジネス関係、人口統計選択、およびマーケティング目的のうちの少なくとも１つ以上を含み、クエリは、１つ以上の主題または機能的タクソノミーあるいは統制語彙中の関連性のあるカテゴリに類別され、クエリはユーザ選択、デバイス特有のものおよびフォーマット制限のうちの１つ以上をさらに含み、方法は、各コンテンツ情報源からの結果を１つ以上のキャッシュ中に記憶するステップをさらに含み、キャッシュはクエリ特有であり、キャッシュは情報源特有であり、方法は既存の結果を取得するために１つ以上のキャッシュにアクセスするステップをさらに含み、結果はユーザ、コンテンツ、情報源および／または配信チャネル要因の１つ以上に少なくとも部分的に基づいてマージされ、１つ以上の結果ランキング要因は、情報源レイティング、メタデータ関連性要因、類似性要因およびランキング要因のうちの１つ以上を含む。
【００１９】
本発明のこの例示的実施形態の他の観点にしたがうと、方法は以下のことをさらに含んでいてもよい。すなわち、各コンテンツ情報源クエリ結果キャッシュにおいて、クエリに関係付けられた１つ以上の用語に関連し、クエリコンテキスト中のメタデータに関連する各結果アイテムに対して、１つ以上のローカルランキング統計を動的に計算することをさらに含む。方法は、結果集合中の１つ以上のコンテンツアイテムに関連する少なくとも１つのグローバル統計を計算するステップと、正規化係数を計算するステップとをさらに含む。方法は、グローバルおよび／またはローカル統計の少なくとも１つにしたがって、１つ以上のコンテンツ情報源からの結果アイテムに対する１つ以上の関連性スコアを決定するステップをさらに含む。方法は、正規化係数にしたがって、１つ以上の関連性スコアを正規化するステップをさらに含む。方法は正規化係数によって決定された順序に基づいて、結果を単一の結果集合に組み合わせるステップと、１つ以上のクエリコンテキストパラメータに基づいて取得された既存の結果をフォーマットするステップをさらに含む。
【００２０】
本発明の例示的な実施形態にしたがうと、クエリを処理するためにコンピュータにより実現されるシステムにおいて、ユーザデバイスからクエリを受信する受信モジュールと、１つ以上のコンテンツ情報源を識別するために、クエリを類別する類別モジュールと、１つ以上のコンテンツ情報源に対する１つ以上のコンテンツ情報源特有のものにしたがって、クエリをフォーマットするフォーマットモジュールと、１つ以上のコンテンツ情報源に対してフォーマットされたクエリを１つ以上のコンテンツ情報源に送信する送信モジュールと、１つ以上の要因に少なくとも基づいて、１つ以上のコンテンツ情報源からのフォーマットされたクエリに応答して結果をマージするマージモジュールと、ユーザデバイスに配信するために結果をフォーマットする結果モジュールとを具備するシステム。
【００２１】
本発明の完全な理解を容易にするために、添付の図面に対する参照が行われる。これらの図面は本発明を制限するものとして考えられるべきでなく、例示的なものとしてのみ企図されている。
【例示的な実施形態の詳細な説明】
【００２２】
本発明のさまざまな実施形態は、ユーザ知覚の待ち時間と、消費されるメモリ、処理およびネットワーク要求を含むプラットフォームリソースとを最小化させつつ、結果の関連性を最大化させるような方法で、検索結果を戻すことに向けられている。これらの品質は、結果集合のサイズおよび情報源の数が増加するにつれて、ますます重要になっている。
【００２３】
以下の定義は、単に例示的なものであり、以下に説明する本発明のさまざまな実施形態を図解するためにここで参照されている。本発明の実施形態および範囲は以下で述べる定義により制限されない。
【００２４】
検索エンジン：は、クエリによるユーザからの命令に基づいて、情報にインデックス付けし、情報を記憶および取得するように設計されているコンピュータプログラムを指す。単一の収集物に対して個々の検索を実行するプロセスは検索エンジンと呼ばれる。複数の検索エンジンおよび／またはデータベースに対して検索を実行し、結果を組み合せるプロセスは、フェデレイトまたはメタ検索エンジンとして知られている。
【００２５】
検索結果をランキングする方法は、クエリの観点から、リソース（例えば、リソース、ウェブサイト、画像）に対する関連性スコアを決定することを含んでいてもよい。結果に関係付けられた属性およびクエリ単語を特徴付ける特徴ベクトルを利用して、クエリに対する類似スコアが計算されてもよい。関連性スコア、類似スコア、および／または、他の要因もしくは基準に基づいて、ランク値が結果に割り当てられてもよい。さらに、検索結果は、ユーザの以前の動作と、テキスト検索エンジンまたは他のコンテンツ情報源から戻されたリソースとに基づいて、適応的にランキングすることによって改善されてもよい。より詳細には、ユーザの以前の動作を評価してレートを決定し、そのレートにおいて、所定のクエリに対して適応訂正を適用してもよい。
【００２６】
結果リストはユーザの利便性のために最も関連性のあるエントリを最初に配置する目的でマージされる。関係する計算のオーバーヘッドを減少させるために、リストは単一のエントリ毎の調査に基づいてマージされなくてもよい。むしろ、リストは各リストからのより少ない数のエントリの調査に基づいてマージされてもよい。エントリの部分集合が各リストから選択されてもよく、リストは単一リスト毎の単一エントリ毎の評価においてというよりは、これらの部分集合にしたがってマージされてもよい。部分集合はより大きなグループからいくつかのアイテムを選択する技術にしたがって選択されてもよい。例えば、数ｎが選択され、各リストからトップｎ個のリソースが選ばれてもよい。他の例にしたがうと、数が再び選ばれて、各結果リスト内で均一にスペースが空けられているｎ個のリソースをマージアルゴリズムが選択してもよい。さらに他の例にしたがうと、数が選択され、各リストからｎ個のリソースがランダムに選択されてもよい。
【００２７】
選ばれたさまざまな部分集合中の各エントリに対してスコア値が決定される。スコア値は、エントリがクエリにどのくらい近くマッチングしているかを一般的に表す数であってもよく、ある数の範囲は、ユーザに関連性がありそうなエントリを示す。すべてのスコア値の代表スコアが決定される。代表スコアは１組のスコア値に対する、相加平均または平均に比例する値であってもよい。
【００２８】
各リストに対する代表的スコアに少なくとも基づいて、すべてのリストからのすべてのエントリが、マージされまたはランク付けされる。一度、各結果リストが割り当てられた代表スコアを持つと、それにしたがって、各結果リストは他のリストとマージされてもよい。例えば、エントリは最も高い代表値（例えば、最も高い平均スコア値）を有するリストを選択することによってマージされてもよい。まだ選択されていないリスト上の最初のエントリが次に選ばれる。そのリストの代表値は固定量だけ減じられ、処理はすべてのエントリが選ばれるまで繰り返される。減じられた後、何らかの代表値がゼロより低くなる場合、代表値はその初期値または予め定められた値に再設定されてもよい。
【００２９】
他の例にしたがうと、確率的アプローチを使用して、エントリがマージされてもよく、確率的アプローチではすべてのリストの合計代表値に対するそのリストの代表値の割合に等しい確率値が各リストに割り当てられる。リストはそれらの確率値にしたがって選択されてもよく、より高い確率値を持っているリストがより選択され易くなる。リストが選択されるとき、まだ選択されていないそのリスト上の最初のエントリが選ばれる。このプロセスは繰り返され、リストのすべてのエントリが選ばれたとき、合計代表値が修正される。
【００３０】
コンテンツ情報源：は、ネットワーク経由で利用可能なデジタルまたは非デジタルコンテンツの収集物を持っている発行者を指す。
【００３１】
（コンテンツ）情報源レイティングは、クエリのタイプに対するコンテンツ情報源の相対的有用性を測定するのに使用されるスコアを指す。コンテンツ情報源レイティングは、規模またはカバレッジ、分類信頼性、コンテンツ品質、および／または情報源の結果の関連性に影響を与える他の情報のような、コンテンツ要因を含めることによって計算されてもよい。レイティングはビジネス関係および利用パターンによって影響されてもよい。例えば、情報源ライブラリ中の他の情報源に対してある１つの情報源を選ぶために、または、組み合わされた結果集合中の他の情報源結果に対してコンテンツ情報源結果アイテムの選択を与えるために、コンテンツ情報源と販売者との間のビジネス関係は、情報源のレイティングを増加させてもよい。何の結果も返さない割合が高い情報源は、高い割合のクエリが戻り結果アイテムを持つような情報源よりも低いレイティングを持つ。
【００３２】
情報源レイティングは、待ち時間、応答信頼性および／または他の基準のような性能要因も考慮してもよい。例えば、信頼性は平均１ヶ月の期間（または他の期間）中の情報源の稼働時間の割合を指す。待ち時間は、クエリブローカシステムによるコンテンツ情報源へのクエリ送信に対する時間、プラス、情報源からのクエリブローカシステムへの結果集合の戻り時間として測定されてもよい。例えば、情報源レイティングは、クエリに応答している情報源の信頼性および応答待ち時間の客観的測定と、コンテンツカバレッジの主観的測定とを組み合わせることにより計算されてもよい。例えば、一日で２４時間中の９９％利用可能である情報源は、一日の９３％しか利用可能でない情報源よりも高い情報源レイティングを持つ。
【００３３】
さらに、以前のクエリへの応答、ユーザ選択もしくは他の動的イベントに依拠する適応プロセスを使用して、これらに限定されるわけではないが、クエリもしくはクエリ集合、ユーザトラフィックパターン、情報源応答、および／または広告／マーケティングキャンペーンの考慮事項のような、さまざまな要因に応答して情報源レイティングは更新されてもよい。
【００３４】
クエリ：は、ユーザによって探される情報またはデータを記述または識別する要求を指す。クエリはテキスト、非テキスト、および／または、ユーザ選択されたカテゴリのさまざまな組み合わせを含んでいてもよい。例えば、クエリはキーワード（例えば、用語、フレーズ、自然言語文）とともに、非テキストクエリ（例えば、画像または音声クリップ、および／または、オークション入札、購入金額もしくは旅行日付のような数的クエリ）、および／または、カテゴリ（例えば、ロック、ポップ、またはアーバンのような音楽ジャンル）を含んでいてもよい。
【００３５】
クエリタイプおよびフォーマットのさまざまな組み合わせが適用されてもよい。例えば、旅行予約のケースでは、クエリは日付範囲、出発および目的都市の対、および／または旅行人数を含んでいてもよい。音声ファイルのケースでは、クエリは言語のまたは音楽のフレーズ、とともに、アーティスト名、曲タイトル等を含んでいてもよい。より複雑なシナリオでは、クエリは株式相場、株価デリバティブ、信号パターンまたは等圧線に関して特徴付けられてもよい。
【００３６】
ユーザは電話機、ＰＤＡおよび／または他の移動体デバイスのような遠隔デバイスを通してクエリを送信してもよい。さらに、ユーザはコンピュータまたは他の通信デバイスを使用して、クエリを送信してもよい。
【００３７】
クエリコンテキスト：は、ユーザ性別、年齢、および配偶者の有無のような人口統計の情報、コミュニティ、場所、グループメンバーシップのような社会ネットワーキング情報、および／または、検索エンジンにより受け取られる他のデータを含んでいてもよい。クエリコンテキストは、言語選択、表示選択、時間／日付データ、および／または他の情報のような、他のユーザ特有のものを含んでいてもよい。クエリコンテキストは、（例えば、移動体電話機、ラップトップコンピュータ、ＰＤＡ、ゲームコンソールのような）デバイスのタイプ、（例えば、サイズ、グラフィックス、オーディオ、ビデオ、メモリのような）デバイス設定／制限、（例えば、フォント、色のような）応答表示設定を含んでいてもよい。クエリコンテキストはユーザの現在の位置、および／または、好ましい位置を含んでいてもよく、これは、位置関連のクエリに対して関連性のある検索結果を選択するために使用される。例えば、ユーザは近くのピザ店を検索してもよい。検索エンジンはユーザの現在の位置に最も近いピザレストランのリストを自動的に戻してもよい。
【００３８】
クエリコンテキストはデバイスから自動的に取得され、クエリに含まれてもよい。さらに、ユーザはウェブページまたは他のユーザインターフェイスにアクセスして、ユーザ選択、設定、および／またはコンテキストに含められることになる他のデータを提供および／または更新してもよい。
【００３９】
記憶されたクエリ：ユーザは根本的な技術を何も変更することなく、株式相場、天気、お気に入りの有名人についての更新のような頻繁な検索を予めプログラムしてもよい。
【００４０】
結果アイテム：情報の最小部分。結果アイテムは検索エンジンにより戻され、特定の文書を指すために使用される。結果アイテムは情報リソースの位置と、記述、タイトルおよび価格等のようなさまざまな他のメタデータ値とを含んでいてもよい。
【００４１】
結果集合：クエリに応答して検索エンジンから戻された結果アイテムのリスト。
【００４２】
類別：は、そのメンバーがお互いに何らかの類似性を有するタクソノミーのような、潜在的に階層的に構成されているグループ中におけるエンティティの配置として規定される。類別システムはそのリソースの知的、機能的または概念的コンテンツを表現することを意図した１つ以上のグループラベルの、リソースに対する割り当てを伴う。これらのラベルは通常、統制語彙から得られる。統制語彙は、用語の集合（ターミノロジー）を正規化し、検索クエリを適切に投げかけるのに使用することができる１組の認証された用語またはラベルを特定することにより、情報取得システムと個々またはいくつかの情報取得システムとの間の通信を提供する。
【００４３】
タクソノミー：は、収集物中のコンテンツを組織化するのに使用される、階層的に配置された統制語彙であってもよい。インターネット検索エンジンは、コンテンツ収集物の閲覧検索を容易にするために、１つ以上の関係するタクソノミーを持っていてもよい。ウェブアプリケーション開発者およびマーケティング担当者は、異なる利害関係者の組織的使用を満足させるために、リソースの組織を２つの別の表現に分割してもよい。単一タクソノミーノード（taxonomy node）はタクソン(taxon)と呼ぶ。複数のタクソンはタクサ(taxa)と呼ぶ。
【００４４】
参照タクソノミー：は、ローカル収集物中に記憶されているコンテンツアイテムの人的または機械的分類のための構造として使用される、細粒度のある、単調に展開するタクソノミーであってもよい。
【００４５】
表示タクソノミー：は、参照タクソノミーの部分集合であり、検索エンジンにアクセスしている個人に対する表示のために使用される。この表示タクソノミーは参照タクソノミーよりも可変性がある。その理由は、表示タクソノミーは個々の閲覧検索に対してカテゴリを強調するのに使用され、コンテンツ情報源スタッフが今週はコンテンツのある領域を、来週は異なる領域を強調することがさらに重要であると決定することがあるからである。表示タクソノミーが変化しても、参照タクソノミーはコンテンツ収集物全体を再類別することを避けるために、不変のままにされる。
【００４６】
情報源タクソノミー：は、フェデレイト検索エンジンによりアクセス可能なコンテンツ情報源に対する表示タクソノミーである。フェデレイト検索システムでは、３つのレベルの組織があってもよい。例えば、個人により閲覧可能な表示タクソノミーと、メタ収集物中で利用可能なリソースを組織化するための参照タクソノミーレベルとに加えて、コンテンツ情報源表示タクソノミーが、ユーザ閲覧のために間接的に利用可能であってもよい。
【００４７】
本発明は、改善されたフェデレイトまたはメタ検索エンジンのための方法およびシステムに特に関連し、改善されたフェデレイトまたはメタ検索エンジンは、クエリとクエリコンテキストを類別して、複数の分散された異種のコンテンツ情報源の集合から最も関連性のある情報源を選択し、情報源、ユーザ、販売者レイティング、および／または他の要因を使用して、順序付けられ、組み合わされた検索結果集合をユーザに対して最小の待ち時間で発生させる。
【００４８】
図１は本発明の実施形態にしたがった、複数のコンテンツ情報源に対してフェデレイト検索するためのシステム１００の例示的な図である。システム１００の構成部品は、本発明の実施形態のさまざまな適用をサポートするために、さらに二重化され、組み合わされ、および／または、分離されてもよい。さまざまな適用をサポートするために、追加的な要素がシステムで実現されてもよい。
【００４９】
システム１００は、ユーザクエリを満たすコンテンツリソースの位置を詳述する１組の結果アイテムを要求するために、ユーザデバイス１１０からフェデレイト検索エンジン１２２に検索クエリを送るのに使用される。ユーザデバイス１１０は、ユーザがインターネットにアクセスできるようにする、クライアントまたはブラウザプログラム１１２を含むコンピュータ入力デバイスを備えていてもよい。ユーザデバイス１１０は、キオスクまたはデスクトップコンピュータのような端末を含む、移動体デバイスまたは他の通信デバイスを含んでいてもよい。ユーザデバイス１１０はネットワーク１２０経由で通信してもよく、ネットワーク１２０はフェデレイト検索エンジン１２２へのインターネットまたは他のネットワークを含んでいてもよい。フェデレイト検索エンジン１２２は、クライアントサーバ、ピアツーピア、および／または他の構成で動作してもよい。
【００５０】
検索エンジン１２２は、情報源選択、結果キャッシュ、および、情報源特有の結果集合をマージする関連マージプログラムを備えた、クエリブローカシステム１３０を含む。別のものとして示されているが、検索エンジン１２２とクエリブローカシステム１３０は単一ユニットであってもよい。
【００５１】
クエリブローカシステム１３０は、有線または無線ネットワーク接続によりネットワーク１２０を通してユーザデバイス（例えば、ユーザデバイス１１０）に通信してもよく、ネットワーク１２４を通してコンテンツ情報源（例えば、コンテンツ情報源１５０ａ、１５０ｂ、…１５０ｋ、…１５０ｍ）、（データベース１７０ｋにより表されるような）データベース、および／または、例えば「オンデッキ」コンテンツ情報源のような他の情報源１５０ｍにさらに通信してもよい。
【００５２】
クエリブローカシステム１３０は、検索、取得、および／または、他の処理に関係付けられた機能を実行するさまざまなモジュールを含んでいてもよい。例えば、クエリブローカシステム１３０は、ネットワーク接続１３２、クエリプロセッサ１３４、コネクタフレームワーク１３６、マージプロセス１３８、結果プロセッサ１４０、結果キャッシュ１４２ａ…１４２ｎ、および／または他のモジュールを含んでいてもよい。システム１００のさまざまな構成部品はさまざまな適用およびプラットフォームをサポートするために、さらに二重化され、組み合わされ、および／または統合されてもよい。さらに、モジュール、キャッシュおよび他の構成部品は、複数のシステム、プラットフォーム、アプリケーション等を通して実現されてもよい。さまざまな適用をサポートするために、追加的な要素がシステムで実現されてもよい。
【００５３】
ネットワーク接続モジュール１３２は、ネットワーク１２０、ネットワーク１２４、ならびに／あるいは他のネットワークおよび通信ポータルを通して、バランスのとれたデータの交換を管理する。
【００５４】
クエリプロセッサ１３４はクエリを動的に分類する。本発明の実施形態は、コンテンツ発行者、位置、コンテンツ主題もしくは機能、および／または、他の関連性のあるコンテンツ区別のうちの任意のものを組織化するタクソノミー的構造を使用して、ユーザクエリおよび／またはクエリ状態の動的分類を行う。クエリプロセッサ１３４の類別機能は、情報源のライブラリから関連性のあるコンテンツ情報源の部分集合を選択または識別する。クエリが提示されるときに、ユーザの情報要求に関連性のある１組の情報源を動的に計算することによって、本発明の実施形態は、関連性のないコンテンツの取得コストを最小化しつつ、適合率（precision）を最大化する。
【００５５】
クエリプロセッサ１３４は、情報源特有のクエリ言語へとクエリを再フォーマットし、情報源コネクタフレームワーク１３６は、再フォーマットされたクエリをそれぞれのコンテンツ情報源に送信する。情報源特有のクエリ言語へとクエリを再フォーマットすることにより、より正確な結果がさらに効率的に得られる。これに応答して、情報源コネクタフレームワーク１３６によりそれぞれのコンテンツ情報源から結果集合が受け取られる。
【００５６】
コンテンツ情報源１５０ａ…１５０ｍは、いくつかのモジュールを使用して、それらのコンテンツ収集物からの情報取得を容易にする。コンテンツ情報源は有線または無線ネットワーク接続によりネットワーク１６０ａ…１６０ｍを通してユーザデバイスまたは他のプログラムに通信する。検索エンジンアクセスモジュール１６２ａ…１６２ｍは、検索エンジン所有のインデックス付けアルゴリズムを使用して、到来クエリに対して構文解析することと、クエリをコンテンツインデックスにマッチングすることと、マッチングコンテンツアイテムの記述および位置のようなメタデータを含む結果集合を戻すこととを提供する。インデックス１６４ａ…１６４ｍは、記憶メカニズムならびにコンピュータプログラムを含んでいてもよく、これらは、情報源のコンテンツ収集物に含まれるリソースからのメタデータ、テキストおよび／または他の属性を含有していてもよい。記憶コンテンツ収集モジュール１７０ａ…１７０ｍは、検索エンジンによりインデックス付けされ、メタデータにより参照され、結果集合中にリストアップされた位置によりアクセス可能である、リソース、マルチメディアおよび／または他のコンテンツを含んでいてもよい。
【００５７】
コンテンツ情報源のモジュールおよび他の構成部品は、複数のシステム、プラットフォーム、アプリケーション等を通して実現されてもよい。さまざまな適用をサポートするために、追加的な要素がコンテンツ情報源システムで実現されてもよい。
【００５８】
記憶されたコンテンツ収集物は、収集アイテム［１７０ａ−ａ…１７０ａ−ｅ］および［１７０ａ−ａ、１７０ａ−ｂ、１７０ｂ−ａ、１７０ｂ−ｂ、１７０ｂ−ｅ］のようなデータアイテムを含んでいてもよい。例えば、コンテンツアイテムは、アイテム［１７０ａ−ａ…１７０ａ−ｅ］でのように、１つの収集物中に出現してもよい。しかしながら、コンテンツアイテムは、収集物１７０ａと１７０ｂ中のコンテンツ集合［１７０ａ−ａ、１７０ａ−ｂ］のオーバーラップにより示されるように、１つより多い収集物中に出現してもよい。そのようなケースでは、これらの外部エンジンの両方を呼び出すフェデレイト検索の結果集合中において、同一のコンテンツへの複数の参照が出現する。この状況はコンテンツ再販者が彼らの各構成員に対して、同一のコンテンツを発行するときに存在し、これは、言語、コンテンツランキング、組織、請求書発行の構成および／または他の考慮事項のようなさまざまな要因により、ユーザへの提示を変化させる。フェデレイト検索エンジンは、複数の収集物の公正な表現を生成するような方法で、重複をさらに保持または除去してもよい。
【００５９】
本発明の実施形態にしたがうと、情報源コネクタフレームワーク１３６は、個々のコンテンツ情報源（例えば、検索エンジン、データベース、他のデータ情報源等）からの結果を受け取り、結果をクエリ／情報源特有の結果キャッシュ１４２ａ…１４２ｎ中にさらに記憶させる。結果キャッシュは、例えば、キーワード、用語集合、ハミングされたフレーズ、または、カテゴリのような、特定のクエリに応答してコンテンツ情報源から戻された結果集合を含む。結果キャッシュは時間に感応するものでもよく、コンテンツの新鮮さを保つために、特定の分または時間のような予め定められた期間の後、結果が使用不可能になるようなものでもよい。キャッシュは、関係する一意的なキャッシュキーを持っていてもよく、これは、情報源識別子、クエリまたはカテゴリ用語、および／または再使用を容易にする他の要因を含む。
【００６０】
クエリ特有のキャッシュ（例えば、結果キャッシュ１４２ａ…１４２ｎ）は、コンテンツ情報源１５０ａ…１５０ｍから戻された結果を記憶し、結果プロセッサ１４０における後処理のためにマージされた結果集合を記憶してもよい。結果プロセッサ１４０は、マージプロセス１３８を使用して、組み合わされたリストを編集し、おそらくはキャッシュして、ユーザのためにランク付けられた単一の結果リストを生成させる。別々の情報源特有のリストと、組み合わされたリストは、同一のまたは他のユーザによるその後のクエリに対する応答のために、設定可能な時間内で再使用可能であってもよい。
【００６１】
ほとんどの、または、すべての結果が受け取られた後、時間しきい値が経過したとき、あるいは、他の条件が満足されたときに、マージプロセス１３８は、さまざまな要因に基づいた順序で、異なる結果集合を単一のリスト（または、他のフォーマット）にマージする。例えば、本発明の実施形態は、情報源応答に対して１００ミリ秒待機した後、情報源レイティングに基づいて結果をマージするように向けられていてもよい。さらに、内部コンテンツ関連性スコア、および／または、他の結果特有の基準に基づいて、結果はランク付けされてもよい。例えば、個々の結果が受け取られた後、マージプロセス１３８は、マージアルゴリズムまたはプログラムにしたがって、情報源特有の結果をマージしてもよい。マージアルゴリズムまたはプログラムは、ローカルランキングスコア、情報源順序づけ値、情報源特有の一般的スコア、および／または他の情報源要因とともに、関連性または精度（accuracy）のような結果ベースランキング、ならびに、人口統計、トラフィックパターン、ユーザ個人化およびコミュニティ値等のような利用要因を含んでいてもよい。マージプロセス１３８は、ユーザ、デバイス、および／または、結果に適用されてもよい他の選択またはプロセスにしたがって、重複結果を保持または除去してもよい。
【００６２】
図２は、本発明の実施形態にしたがった、クエリ実行のための方法を図示する例示的なフローチャートである。本発明の実施形態の方法は、フェデレイト検索エンジンのような検索エンジンに利用可能な可能性のあるコンテンツ情報源の関連性のある部分集合を選択し、再フォーマットされたクエリを部分集合中の各情報源に送り、各結果集合を受け取ってキャッシュし、結果集合を単一の組み合わされた結果集合にマージする。
【００６３】
図２に示されるように、ステップ２１０においてクエリがユーザから受け取られる。ステップ２２２において、コンテンツ情報源ライブラリ、コンテンツ主題および機能的観点、ならびに／あるいは、ユーザおよびオペレータの特性を組織化する１つ以上のタクソノミーに対して、クエリが動的に分類される。ステップ２２４では、コンテンツ情報源の部分集合が情報源ライブラリから識別される。ステップ２３０において、予め存在している結果集合について結果キャッシュがチェックされる。クエリおよびクエリコンテキストに対してキャッシュ中に何の結果も存在しない場合、クエリブローカはステップ２４２、２４４および２４６を通って進む。ステップ２４２において、コンテンツ情報源の部分集合に特定の情報源特有クエリ言語にクエリが再フォーマットされてもよい。ステップ２４４において、再フォーマットされたクエリは、コンテンツプロバイダ、検索エンジン、データベース、および／または他のデータ情報源のようなコンテンツ情報源に送信される。ステップ２４６において、コンテンツはコンテンツ情報源から受け取られ、ローカル結果キャッシュに記憶される。ステップ２５０において、コンテンツ情報源からの結果はマージされ、さらに再フォーマットされる。ステップ２６０において、ユーザに対して表示するために結果が戻される。図２のステップは特定の順序で実行される特定のステップを図示しているが、本発明の実施形態は１つ以上のステップを処理に追加することにより、プロセス内のステップを省略することにより、および／または、１つ以上のステップが実行される順序を変更することにより、実施されてもよいことを理解すべきである。
【００６４】
本発明の実施形態は、コンテンツ情報源の予め類別されたライブラリに対して、ユーザクエリおよび／またはクエリ状態の動的な類別を行う。ステップ２２２において、クエリはクエリプロセッサ２２０によりランタイムにおいて類別される。例えば、ユーザは「オートレーシング」というキーワードを使用して移動体電話機ゲームを検索してもよい。例えば、ステップ２２２において、クエリプロセッサ２２０は、「移動体ゲーム」クエリとしてクエリを分類し、これによって、１組の移動体ゲームコンテンツ情報源を識別する。さらに、検索結果をさらに正確にするために、クエリカテゴリの粒度を調整してもよい。例えば、クエリはオートレーシングについてのゲームに対する要求であってもよい。このケースでは、クエリは「移動体ゲーム」および「アクション」として類別されてもよい。したがって、コンテンツ情報源の部分集合は２つのカテゴリの組み合わせに最大に関連性があるものとして識別される。他のバリエーションが適用されてもよい。
【００６５】
クエリが提示されるときにおいて、ユーザの情報要求に関連性のある１組の情報源を動的に計算することにより、本発明の実施形態はクエリに対する適合率を最大化する。さらに、ネットワーク上で送信されるデータ量が、他のフェデレイト検索技術に比して最小化され、それによって効率的な帯域幅の利用がもたらされる。さらに、フェデレイト検索情報源の選択メカニズムのトポロジは、検索エンジンおよびメタ検索エンジンの複数層の階層を容易にサポートし、それによって任意の数のコンテンツ収集物、検索エンジン、および／または他のデータ情報源に対する検索システムの拡張を容易にする。
【００６６】
ステップ２２４において、コンテンツ情報源の部分集合が識別される。クエリプロセッサ２２０の類別機能は、可能性のある情報源のライブラリからの関連性のあるコンテンツ情報源の部分集合を選択または識別する。
【００６７】
ステップ２３０において、１つ以上の結果キャッシュがチェックされる。本発明の実施形態にしたがうと、以前に戻された結果について結果キャッシュがチェックされる。本発明の実施形態は、キャッシュからクエリについて結果を取得するように向けられていてもよく、それによって、他のユーザからの同一のおよび／または関連するクエリに対して、結果の再使用を可能にする。結果として、ネットワーク送信が最小化され、ユーザに対するネットワーク待ち時間の影響が減少される。したがって、クエリ結果がローカル内部または外部のキャッシュにすでに記憶されていることが決定される場合、ステップ２５０においてユーザに戻すために、これらの結果は直接使用されてもよく、または、他の検索エンジンからの結果とマージされてもよい。
【００６８】
キャッシュ中に何の結果もない場合、ステップ２４２において、クエリは情報源特有クエリ言語に再フォーマットされてもよい。例えば、クエリブローカシステムは、１つ以上のコンテンツ情報源に対する情報源特有クエリ言語にクエリを再フォーマットしてもよい。ステップ２４４において、再フォーマットされたクエリはコンテンツ情報源に送信される。
【００６９】
ステップ２４６において、コンテンツはそれぞれのコンテンツ情報源から受け取られる。さらに、各コンテンツ情報源は、クエリにしたがって、それらの各収集物中のコンテンツに対するスコア、ランキング、および／または他のレイティングを予め決定してもよい。さらに、順序付けされた結果リストとしてクエリブローカシステムに送信されることにより、結果アイテムが暗黙的ランキングを示してもよい。クエリブローカシステム２４０は、個々のコンテンツ情報源（例えば、検索エンジン、データベース、他のデータ情報源等）から結果を受け取り、ローカル内部または外部の結果キャッシュ中に結果をさらに記憶させてもよい。ローカル結果キャッシュは、クエリ、特有のコンテンツ情報源、情報源のグループ、情報源のタイプ、および／または他の類別により特定されてもよい。
【００７０】
ステップ２５０において、コンテンツ情報源からのコンテンツはマージされ、さらにフォーマットされる。個々の結果が受け取られた後、または、時間しきい値が経過したとき、プログラムはマージアルゴリズムまたはプログラムにしたがって、情報源特有の結果をマージしてもよく、マージアルゴリズムまたはプログラムは、ローカルランキングスコア、情報源順序づけ値、情報源特有の一般的スコア、利用スコア、ユーザまたは販売者スコア、および／または他の要因を含んでいてもよい。ステップ２５０において、ユーザに対するランク付けされた単一の結果リストを作成するために、組み合わされた結果リストが編集される。別々の情報源特有のリストと、組み合わされたリストは、同一のまたは他のユーザによるその後のクエリに対して応答するために、設定可能な時間内で再使用可能である。さらに、重複結果は保持または除去されてもよく、他の選択が結果に適用されてもよい。結果は、コンテンツ情報源を指すために各結果アイテムを有するコンテンツ情報源参照を含んでいてもよい。例えば、本発明の実施形態は、さまざまな要因に基づく順序に結果をマージするように向けられてもよく、さまざまな要因は、コンテンツ品質と規模のような情報源要因、コンテンツ情報源待ち時間と信頼性、ビジネス関係、（例えば、ザガットレイティング等のような）外部的に決定された品質レイティング、個人とコミュニティの利用パターン、および／または、他のレイティングと計算を含んでいてもよい。さらに、結果はテキストおよびメタデータ関連性に基づいてランク付けされてもよく、および／または、他の結果特有の基準に基づいてランク付けされてもよい。
【００７１】
例えば、結果集合中のコンテンツアイテムに関連する少なくとも１つのグローバル統計が計算されてもよい。これは結果アイテムランクと情報源レイティングとからなるスコア正規化係数を含んでいてもよい。加えて、グローバル統計にしたがって、コンテンツ情報源からの結果アイテムに対するコンテンツ関連性スコアが決定されてもよい。さらに、メタ収集物に対する正規化係数、外部類似性スコア、および、情報源統計にしたがいコンテンツ情報源から戻された結果メタ収集物アイテムの順序にしたがって、スコアが正規化されてもよい。
【００７２】
ステップ２６０では、結果がユーザに対して表示される。結果をユーザに対して表示するとき、ユーザデバイス特有のものおよび／またはユーザ選択が考慮されてもよい。例えば、移動体デバイスはスクリーンサイズ制限を持っているかもしれず、ユーザのデバイスおよび／または他の選択に適応するように、結果アイテム記述またはタイトルが短縮されてもよく、および／または、そうでなければ修正されてもよい。
【００７３】
図３は、本発明の実施形態にしたがった、インテリジェント情報源選択のための方法を図示する例示的なフローチャートである。本発明の実施形態は、検索エンジンおよびデータベースの情報源ライブラリから関連性のあるコンテンツ情報源の部分集合を識別するように向けられていてもよい。類別プロセスはクエリおよびその属性を解析し、コンテンツ情報源の関連性のある部分集合を識別してもよい。クエリプロセッサは類別プロセスを利用して、参照タクソノミー中の関連性のあるタクソンまたはタクサにクエリを割り当て、コンテンツ情報源を一意的に識別する、関連する情報源タクサの最適集合を選択してもよい。
【００７４】
ステップ３１０において、１つ以上のクエリコンテキスト属性が識別される。例えば、属性は販売者、深さ優先検索チャネル、言語、国、アーティスト、タイトル、価格、ならびに／あるいは、クエリおよび／またはユーザに関係付けられた他のメタデータを含んでいてもよい。
【００７５】
ステップ３２０において、コンピュータプログラムはクエリコンテキスト属性値を評価する。ステップ３２２において、深さ優先検索選択と他のコンテキストパラメータ値に応答して、関係する参照タクソノミーが選択される。ステップ３３０において、コンピュータプログラムはクエリが１組の用語またはカテゴリであるかどうかを決定する。用語は単語、フレーズ等を指してもよい。そうである場合、ステップ３３２において、動的機械分類プロセスを使用して、関係付けられた参照タクソノミー中のカテゴリに用語が割り当てられる。ステップ３４０において、コンピュータプログラムはクエリが表示タクソノミーからのカテゴリであるかどうか決定する。そうである場合、ステップ３４２において、関係するカテゴリが参照タクソノミー中で識別される。ステップ３５０において、選択された参照タクソノミーカテゴリは、それぞれ選択されたコンテンツ情報源に関係付けられた情報源タクソンまたはタクサと関連付けられる。ステップ３６０において、情報源メタデータフィールドおよび値にマッチングさせるために、クエリおよびクエリコンテキスト値を変換させてもよく、変換は翻訳、ユーザ選択の抽出等を含んでいてもよい。ステップ３７０において、クエリコンテキスト属性（例えば、言語、国等）は、１つ以上の情報源属性にマッチングされ、コンテキスト属性名は情報源属性名にマッピングされる。ステップ３８０において、情報源タクサリスト、マッチングメタデータ属性名および値、ならびに変換されたクエリは、クエリブローカシステムに戻される。
【００７６】
図４は、本発明の実施形態にしたがった、結果リストにアクセスし、結果リストを記憶し、結果リストをマージするための方法を図示している例示的なフローチャートである。上で説明したように、情報源の部分集合が識別され、関係するタクソンがクエリブローカシステムに戻される。ステップ４１０ａ…４１０ｍおよび４５０において、各情報源およびクエリに対して、既存の結果集合がキャッシュ中に存在するかどうか決定される。結果が存在する場合、ステップ４５５において、到来クエリコンテキスト属性値に基づいて結果がマージされる。このステップにおいて、以前に記憶された結果が、結果キャッシュから取得される。
【００７７】
結果が存在しない場合、ステップ４２０ａ…４２０ｍにおいて、クエリは情報源特有クエリ言語へと再フォーマットされ、それぞれのコンテンツ情報源に送信される。ステップ４３０ａ…４３０ｍにおいて、クエリブローカシステムは、各情報源からの結果を待つ。待機タイムアウト、または、他の予め定められた条件が、効率性を確実にするために実現されていてもよい。一度結果が受け取られると、ステップ４４０ａ…４４０ｍにおいて、結果は結果キャッシュ中に記憶される。ステップ４５０において、すべての情報源が結果を戻したかどうか、またはタイムアウト制限が期限切れしたかどうかが決定される。ステップ４５５において、キャッシュされた結果集合中のすべての結果アイテムが、到来クエリコンテキスト属性値に基づいて、組み合わされた単一の結果集合にマージされる。マージアルゴリズムは、マージされたリストをキャッシュして、ランク付けされた単一の結果リストを作成する。
【００７８】
ステップ４６０に示されるように、付加的処理は、ユーザ特有の結果ページを作成するために、組み合わされた結果集合からトップまたは次のｍ個のアイテムを取ることを伴う。さらに、クエリブローカシステムは、重複に関して結果リストをチェックし、システムおよび販売者の選択にしたがって、それらをグループ化し、除去または保持する。このステップは、これらに限定されるものではないが、デバイス特有のもの、ユーザ選択、および／または、結果ページを作成する際の販売者制限のような、クエリコンテキスト属性を考慮してもよい。ステップ４６５において、結果ページは有線または無線通信チャネル経由でユーザに送られる。ステップ４７０において、組み合わされた結果リスト中の（ｍ＋１番目の結果アイテムにおいて）残りの結果アイテムにポインタが設定される。
【００７９】
マージプロセスは、クエリに応答して情報源により戻された各結果集合中の各結果アイテムに対するグローバル統計を計算してもよい。このグローバル統計は２つ以上の要因の関数であり、要因とは、情報源により決定される類似性スコアまたはランキングにより表され、明示的にまたは暗黙的に結果アイテムに含まれる、クエリに対する結果アイテムの関連性と、これらに限定されるわけではないが、情報源レイティング、利用パラメータ値、ユーザ選択スコア、または販売者選択値のような、外的特性とである。図５は、本発明の実施形態にしたがった、結果アイテムスコアおよび情報源レイティングとしてランク順序を使用して外的特性を表すマージプロセスを図示する例示的なフローチャートである。
【００８０】
すべての個々の結果が受信された後、クエリブローカシステムは、（例えば、ｎjのような）一般的スコアと、（例えば、ｍjのような）結果特有の関連性スコアとを含むマージアルゴリズムにしたがって、結果をマージしてもよい。例えば、ステップ５２０において、クエリコンテキスト中に記憶されているタクサ識別子を使用して情報源タクサが取得される。ステップ５３０において、各情報源に対して、各情報源タクソンに記憶されている属性値から（例えば、ｎiのような）情報源スコアが計算される。ステップ５４０ａ…５４０ｍにおいて、各情報源に対して、結果アイテムが関係するキャッシュから取得される。ステップ５４５ａ…５４５ｍにおいて、各情報源の結果アイテムに対して、（例えば、ｍjのような）アイテムスコアが決定され、ステップ５５０ａ…５５０ｍにおいて、（例えば、scoreij= f（ni，mj）のような）再ランキングスコアが計算される。ステップ５６０により示されるように、クエリブローカは、ユーザに対してランク付けされた単一の結果リストを作成するため、scoreij を使用して、マージされたリストを編集してもよい。
【００８１】
図６は、本発明の実施形態にしたがった、複数の情報源により戻された結果集合からの結果アイテムを再ランキングする例示的な図である。この例では、６００ａおよび６００ｂにそれぞれ示されるように、情報源Ａは８０である情報源レイティングｎAを持っていてもよく、情報源Ｂは５０である情報源レイティングｎBを持っていてもよい。それぞれの結果集合中の各アイテムに対するローカル統計は、６１０ａおよび６１０ｂにより示されるように、アイテム順序、ｍAjおよびｍBjの関数として計算される。６４０ａおよび６４０ｂにより示されるように、グローバル統計、再ランキングscoreijが結果アイテムランクｍijおよび情報源レイティングｎiの関数として計算されるので、各結果アイテムに対するscoreijは、情報源レイティングにより乗算された、各結果アイテムに対する逆ランクの積である。６５０により示されるように、組み合わされた結果集合は、情報源Ａからのアイテムと情報源Ｂからのアイテムとを含み、それらの関係付けられたグローバルscoreij によりそれぞれの結果アイテムをソートすることによって配置されている。
【００８２】
上で説明したように、各コンテンツ情報源（例えば、検索エンジン、データベース等）は、クエリにしたがって、それぞれの収集物中のコンテンツに対するスコアを決定してもよい。コネクタフレームワークは、個々の検索エンジンから結果を受け取り、アイテム毎にローカルランキングスコアを計算し、結果を情報源特有のキャッシュ中に記憶させてもよく、結果はそれぞれのランキングおよび／または他のスコアを含んでいてもよい。すべての個々の結果が受け取られた後、時間しきい値が経過し、または、他の前提条件が満たされるとき、クエリブローカシステムはマージアルゴリズムにしたがって、結果をマージしてもよい。マージアルゴリズムは、ローカルランキングスコア、情報源特有の一般的スコア、および／または他の要因と条件を考慮してもよい。
【００８３】
本発明の実施形態にしたがうと、本発明で説明したシステムおよびプロセスは、任意の汎用または専用計算デバイス上で、スタンドアローンのアプリケーションとして、またはクライアントサーバモードで動作するグループとしてネットワーク上で接続された、いくつかの汎用または専用計算デバイスで実施されてもよい。本発明の他の実施形態にしたがうと、それらの中に記憶された複数のコンピュータ読取可能プログラムコードを持っている、コンピュータ利用可能および書込可能な媒体が本発明のプロセスを実現するために提供される。本発明のプロセスおよびシステムは、Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステム、または、Ｕｎｉｘ（登録商標）ベースのオペレーティングシステム（例えば、Ｕｎｉｘベースのオペレーティングシステムのヒューレットパッカード（登録商標）またはレッドハットリナックス（登録商標）バージョン）のさまざまなバージョン、あるいは、ＡＳ／４００ベースのオペレーティングシステムのさまざまなバージョンのような、さまざまなオペレーティングシステム内で実現されてもよい。例えば、コンピュータ利用可能および書込可能な媒体は、ＣＤ  ＲＯＭ、フロッピー（登録商標）ディスク、ハードディスク、または他の任意のコンピュータ利用可能媒体から構成されていてもよい。本発明を具体化するシステムの構成部品のうちの１つ以上は、コンピュータ利用可能な媒体に記憶されている機能的命令の形態のコンピュータ読取可能プログラムコードを含んでいてもよく、コンピュータ利用可能媒体がシステムにインストールされるとき、これらの構成部品が記述された機能をシステムに実行させるようなものであってもよい。本発明に対するコンピュータ読取可能プログラムコードは、他のコンピュータ読取可能プログラムソフトウェアと抱き合わせ販売されていてもよい。また、構成部品のいくつかのものだけが、コンピュータ読取可能コード中に提供されていてもよい。
【００８４】
さらに、さまざまなエンティティおよびエンティティの組み合わせがコンピュータを用いて、上に説明した機能を実行する構成部品を実現してもよい。本発明の実施形態にしたがうと、コンピュータは、入力デバイス、出力デバイス、プロセッサデバイス、および、データ記憶デバイスを含む、標準コンピュータであってもよい。本発明の他の実施形態にしたがうと、さまざまな構成部品は同一の企業またはエンティティ内の異なる部門のコンピュータであってもよい。他のコンピュータ構成も使用されてもよい。本発明の他の実施形態にしたがうと、さまざまな構成部品は企業、または、有限会社のような別のエンティティであってもよい。適用できる法律および規則に準拠して、他の実施形態も使用されてもよい。
【００８５】
本発明のある特定の実施形態にしたがうと、システムはソフトウェアシステムの構成部品を含んでいてもよい。システムはネットワーク上で動作してもよく、付加的データまたはアプリケーションサービスを動作させる、共通データベースおよび共通サーバを共有する他のシステムに接続されていてもよい。他のハードウェア構成が提供されてもよい。
【００８６】
本発明の他の実施形態、使用および利点は、ここで開示した本発明の仕様および実行を考慮すると、当業者に明らかになるだろう。仕様および例は、例示的なものとしてのみ考慮されるべきである。本発明の意図する範囲は、添付の特許請求の範囲によってのみ制限される。
【００８７】
本発明はクレームの処理の枠組み内で特に示し、説明したが、バリエーションおよび修正は、本発明の範囲を逸脱することなく当業者にとって実行可能となることが理解されるだろう。さらに、そのようなプロセスおよびシステムはここで説明した特定の実施形態に制限される必要がないことを当業者は理解するだろう。
【図面の簡単な説明】
【００８８】
【図１】図１は、本発明の実施形態にしたがった、複数のコンテンツ情報源に対するフェデレイト検索クエリのシステムの例示的な図である。
【図２】図２は、本発明の実施形態にしたがった、クエリ実行のための方法を図示している例示的なフローチャートである。
【図３】図３は、本発明の実施形態にしたがった、インテリジェント情報源選択のための方法を図示している例示的なフローチャートである。
【図４】図４は、本発明の実施形態にしたがった、結果リストにアクセスし、結果リストを記憶し、マージするための方法を図示している例示的なフローチャートである。
【図５】図５は、本発明の実施形態にしたがった、マージプロセスを図示している例示的なフローチャートである。
【図６】図６は、本発明の実施形態にしたがった、再ランキング結果の例示的な図示である。
【図１】
0005377829.tif 000002
【図２】
0005377829.tif 000003
【図３】
0005377829.tif 000004
【図４】
0005377829.tif 000005
【図５】
0005377829.tif 000006
【図６】
0005377829.tif 000007