(57)【特許請求の範囲】
【請求項１】
インターネットを介したコンテンツの検索を実現する方法であって、少なくとも１つのハードウェアコンピュータプロセッサを有するサーバを介して少なくとも部分的に実施され、前記方法は、
クライアント装置から第１の検索クエリを受信するステップと、
問い合わせられるべき少なくとも１つの検索エンジンを識別するステップと、
少なくとも１つの第２の検索クエリを生成するステップであって、前記少なくとも１つの第２の検索クエリは、少なくとも部分的に、前記第１の検索クエリに基づき生成され、前記少なくとも１つの第２の検索クエリは、前記少なくとも１つの検索エンジンのためにフォーマットされた少なくとも１つのフォーマットされた検索クエリを有する、ステップと、
前記クライアント装置へ、前記少なくとも１つの第２の検索クエリを送信するステップであって、前記少なくとも１つの第２の検索クエリは、前記少なくとも１つのフォーマットされた検索クエリと、前記少なくとも１つのフォーマットされた検索クエリ及び前記識別された少なくとも１つの検索エンジンを指定する情報を用いてインターネット検索を実行する際に前記クライアント装置により用いられるべき前記識別された少なくとも１つの検索エンジンを指定する前記情報と、を含む、ステップと、
を有し、
前記第１の検索クエリはオーディオ形式であり、前記少なくとも１つの第２の検索クエリを生成するステップは、少なくとも部分的に、前記識別された少なくとも１つの検索エンジンに関連する第１の言語モデルを用いて前記第１の検索クエリに対して会話認識を実行することにより、前記少なくとも１つの第２の検索クエリを生成するステップを更に有し、
前記識別された少なくとも１つの検索エンジンは、サイト固有検索エンジンである、
方法。
【請求項２】
問い合わせされるべき少なくとも１つの検索エンジンを識別するステップは、前記第１の検索クエリ内の明示的入力に基づく、請求項１に記載の方法。
【請求項３】
前記第１の検索クエリはコンテンツを有し、問い合わせされるべき少なくとも１つの検索エンジンを識別するステップは、前記第１の検索クエリの前記コンテンツに基づく、請求項１に記載の方法。
【請求項４】
前記第１の言語モデルは、前記サイト固有検索エンジンによりインデックス付けされたコンテンツに対して訓練された、請求項１に記載の方法。
【請求項５】
問い合わせされるべき前記少なくとも１つの検索エンジンを識別するステップは、複数の検索エンジンの中から前記少なくとも１つの検索エンジンを識別するステップであって、前記第１の言語モデルは、前記複数の検索エンジンのうちの少なくとも１つの他の検索エンジンに関連付けられる、ステップを有する、請求項１に記載の方法。
【請求項６】
前記少なくとも１つの他の検索エンジンは、汎用検索エンジンである、請求項５に記載の方法。
【請求項７】
インターネットを介したコンテンツの検索を実現するプロセッサ実行可能命令を格納する少なくとも１つの有形メモリと、
前記少なくとも１つの有形メモリに結合される少なくとも１つのハードウェアコンピュータプロセッサであって、
クライアント装置から第１の検索クエリを受信し、
問い合わせされるべき少なくとも１つの検索エンジンを識別し、
少なくとも１つの第２の検索クエリを生成し、前記少なくとも１つの第２の検索クエリは、少なくとも部分的に、前記第１の検索クエリのコンテンツに基づき生成され、前記少なくとも１つの第２の検索クエリは、前記少なくとも１つの検索エンジンのためにフォーマットされた少なくとも１つのフォーマットされた検索クエリを有し、
前記クライアント装置へ、前記少なくとも１つの第２の検索クエリを送信し、前記少なくとも１つの第２の検索クエリは、前記少なくとも１つのフォーマットされた検索クエリと、前記少なくとも１つのフォーマットされた検索クエリ及び前記識別された少なくとも１つの検索エンジンを指定する情報を用いてインターネット検索を実行する際に用いられるべき前記識別された少なくとも１つの検索エンジンを指定する前記情報とを含む、
前記プロセッサ実行可能命令を実行する少なくとも１つのハードウェアコンピュータプロセッサと、
を有し、
前記第１の検索クエリはオーディオ形式であり、前記少なくとも１つのハードウェアコンピュータプロセッサは、少なくとも部分的に、前記識別された少なくとも１つの検索エンジンに関連付けられた第１の言語モデルを用いて前記第１の検索クエリに対して会話認識を実行することにより前記少なくとも１つの第２の検索クエリを生成することにより、前記少なくとも１つの第２の検索クエリを生成し、
前記識別された少なくとも１つの検索エンジンは、サイト固有検索エンジンである、
サーバ。
【請求項８】
前記第１の言語モデルは、前記サイト固有検索エンジンによりインデックス付けされたコンテンツに対して訓練された、請求項７に記載のサーバ。
【請求項９】
前記少なくとも１つのハードウェアコンピュータプロセッサは、複数の検索エンジンの中から問い合わせされるべき前記少なくとも１つの検索エンジンを識別する前記プロセッサ実行可能命令を実行し、前記第１の言語モデルは、前記複数の検索エンジンのうちの少なくとも１つの他の検索エンジンに関連付けられる、請求項７に記載のサーバ。
【請求項１０】
前記少なくとも１つの他の検索エンジンは、汎用検索エンジンである、請求項９に記載のサーバ。
【請求項１１】
前記少なくとも１つのハードウェアコンピュータプロセッサは、前記第１の検索クエリのコンテンツに基づき、問い合わせされるべき前記少なくとも１つの検索エンジンを識別する前記プロセッサ実行可能命令を実行する、請求項７に記載のサーバ。
【請求項１２】
インターネット上のコンテンツの検索を実行する方法であって、少なくとも部分的に少なくとも１つのハードウェアコンピュータプロセッサにより実施され、前記方法は、
ユーザから供給される音声入力を受信するステップと、
インターネット上のコンテンツを検索するインターネットにアクセス可能な複数の検索エンジンに対する少なくとも１つのテキスト検索クエリを生成するステップであって、前記少なくとも１つのテキスト検索クエリは、少なくとも部分的に、少なくとも１つの言語モデルを用いて前記音声入力に対して会話認識を実行することにより生成される、ステップと、
頻繁に検索された語に基づき、前記少なくとも１つの言語モデルを周期的に更新するステップと、
を有し、
前記少なくとも１つのテキスト検索クエリは、少なくとも２つのテキスト検索クエリを有し、
前記生成するステップは、
少なくとも部分的に、前記複数の検索エンジンのうちの第１の検索エンジンに関連付けられた第１の言語モデルを用いて前記音声入力に対して会話認識を実行することにより、前記少なくとも２つのテキスト検索クエリのうちの第１の検索クエリを生成するステップと、
少なくとも部分的に、前記複数の検索エンジンのうちの第２の検索エンジンに関連付けられた第２の言語モデルを用いて前記音声入力に対して会話認識を実行することにより、前記少なくとも２つのテキスト検索クエリのうちの第２の検索クエリを生成するステップと、
を更に有する、方法。
【請求項１３】
前記複数の検索エンジンのうちの前記第１の検索エンジンへ、前記少なくとも２つのテキスト検索クエリのうちの前記第１の検索クエリを発行するステップ、
前記複数の検索エンジンのうちの前記第２の検索エンジンへ、前記少なくとも２つのテキスト検索クエリのうちの前記第２の検索クエリを発行するステップ、
を更に有する、請求項１２に記載の方法。
【請求項１４】
前記少なくとも２つのテキスト検索クエリのうちの前記第１の検索クエリは、前記少なくとも２つのテキスト検索クエリのうちの前記第２の検索クエリと異なる、請求項１２に記載の方法。
【請求項１５】
生成するステップは、
前記音声入力に対して自動会話認識を実行するのに用いられるべき複数の利用可能な言語モデルのうちの１つを選択するステップ、
前記複数の言語モデルのうちの前記の選択された１つを用いて、前記音声入力に対して自動会話認識を実行するステップ、
を更に有する、請求項１２に記載の方法。
【請求項１６】
選択するステップは、
少なくとも部分的に前記音声入力のコンテンツに基づき、前記音声入力に対して自動会話認識を実行するのに用いられるべき複数の利用可能な言語モデルのうちの１つを選択するステップ、
を更に有する、請求項１５に記載の方法。
【請求項１７】
前記方法は、前記ユーザの検索結果の前の選択に基づき、前記少なくとも１つの言語モデルを更新するステップ、を更に有する請求項１２に記載の方法。
【請求項１８】
前記複数のインターネットにアクセス可能な検索エンジンの各々は、１又は複数のウェブサイト若しくはドメインにホスティングされたウェブページと、１又は複数のウェブサイト若しくはドメインにホスティングされたコンテンツと、１又は複数のウェブサイト若しくはドメインにホスティングされたウェブページ及び／又はコンテンツへのハイパーリンクと、を有するグループから選択された検索結果を返す、請求項１２に記載の方法。
【請求項１９】
前記第１の言語モデルは、前記第２の言語モデルと異なる、請求項１２に記載の方法。
【請求項２０】
前記第１の言語モデルと前記第２の言語モデルは同じである、請求項１２に記載の方法。
【請求項２１】
少なくとも１つのハードウェアコンピュータプロセッサと、
インターネットを介したコンテンツの検索を実行するプロセッサ実行可能命令を格納する少なくとも１つの有形メモリと、
を有し、前記プロセッサ実行可能命令は、前記少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、前記少なくとも１つのハードウェアコンピュータプロセッサに、
ユーザから音声入力を受信し、
インターネット上にあるコンテンツを検索するインターネットにアクセス可能な複数の検索エンジンに対する少なくとも１つのテキスト検索クエリを生成し、前記少なくとも１つのテキスト検索クエリは、少なくとも１つの言語モデルを用いて前記音声入力に対して会話認識を実行することにより生成され、
頻繁に検索された語に基づき前記少なくとも１つの言語モデルを周期的に更新する、
ようにさせ、
前記少なくとも１つのテキスト検索クエリは、少なくとも２つのテキスト検索クエリを有し、
前記プロセッサ実行可能命令は、前記少なくとも１つのハードウェアプロセッサに、
少なくとも部分的に、前記複数の検索エンジンのうちの第１の検索エンジンに関連付けられた第１の言語モデルを用いて前記音声入力に対して会話認識を実行することにより、前記少なくとも２つのテキスト検索クエリのうちの第１のテキスト検索クエリを生成し、
少なくとも部分的に、前記複数の検索エンジンのうちの第２の検索エンジンに関連付けられた第２の言語モデルを用いて前記音声入力に対して会話認識を実行することにより、前記少なくとも２つのテキスト検索クエリのうちの第２のテキスト検索クエリを生成する、
ことにより前記少なくとも２つのテキスト検索クエリを生成させる、
システム。
【請求項２２】
前記プロセッサ実行可能命令は、前記少なくとも１つのハードウェアコンピュータプロセッサに、
前記複数の検索エンジンのうちの前記第１の検索エンジンへ、前記少なくとも２つのテキスト検索クエリのうちの前記第１のテキスト検索クエリを発行し、
前記複数の検索エンジンのうちの前記第２の検索エンジンへ、前記少なくとも２つのテキスト検索クエリのうちの前記第２のテキスト検索クエリを発行する、
ようにさせる、請求項２１に記載のシステム。
【請求項２３】
前記少なくとも２つのテキスト検索クエリのうちの前記第１のテキスト検索クエリは、前記少なくとも２つのテキスト検索クエリのうちの前記第２のテキスト検索クエリと異なる、請求項２１に記載に記載のシステム。
【請求項２４】
前記プロセッサ実行可能命令は、前記少なくとも１つのハードウェアコンピュータプロセッサに、
前記音声入力に対して自動会話認識を実行するのに用いられるべき複数の利用可能な言語モデルのうちの１つを選択し、
前記複数の言語モデルのうちの前記の選択された１つを用いて、前記音声入力に対して自動会話認識を実行する、
ことにより、前記少なくとも１つのテキスト検索クエリを生成させる、請求項２１に記載のシステム。
【請求項２５】
前記プロセッサ実行可能命令は、前記少なくとも１つのハードウェアコンピュータプロセッサに、
少なくとも部分的に前記音声入力の内容に基づき、前記音声入力に対して自動会話認識を実行するのに用いられるべき複数の利用可能な言語モデルのうちの１つを選択する、
ことにより、前記複数の利用可能な言語モデルのうちの１つを選択させる、請求項２４に記載のシステム。
【請求項２６】
前記プロセッサ実行可能命令は、前記少なくとも１つのハードウェアコンピュータプロセッサに、
前記ユーザの前の検索結果の選択に基づき前記少なくとも１つの言語モデルを更新させる、請求項２１に記載のシステム。
【請求項２７】
前記複数のインターネットにアクセス可能な検索エンジンの各々は、１又は複数のウェブサイト若しくはドメインにホスティングされたウェブページと、１又は複数のウェブサイト若しくはドメインにホスティングされたコンテンツと、１又は複数のウェブサイト若しくはドメインにホスティングされたウェブページ及び／又はコンテンツへのハイパーリンクと、を有するグループから選択された検索結果を返す、請求項２１に記載のシステム。
【請求項２８】
前記第１の言語モデルは、前記第２の言語モデルと異なる、請求項２１に記載のシステム。
【請求項２９】
前記第１の言語モデルと前記第２の言語モデルは同じである、請求項２１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書に記載される技術は、概してインターネットを介して検索クエリを発行する分野に関する。
【背景技術】
【０００２】
インターネットは、膨大な情報を格納する相互接続されたコンピュータネットワークのグローバルシステムである。ＷＷＷ（World  Wide  Web）は、インターネット上に構築された情報共有モデルであり、ＷＷＷでは相互にリンク付けされたハイパーテキスト文書の体系が特定のプロトコル（つまり、Hypertext  Transfer  Protocol及びその変形）を用いてアクセスされる。
【０００３】
ＷＷＷ及びインターネットを介して利用可能な情報が大量であるため、また、利用可能な情報は大量の個別に所有され運営されるネットワーク及びサービスに渡って分散しているために、ＷＷＷ及びインターネットで所望のコンテンツを見付けることは、課題を提示する。
【０００４】
インターネットで所望のコンテンツを見付ける際にユーザを支援するために、検索エンジンが開発されている。検索エンジンは、ユーザにより要求されるコンテンツを示す検索クエリを（例えばキーワードのセットの形式で）ユーザから受信し、情報及び／又は検索エンジンがユーザの検索クエリに関連すると決定した情報へのハイパーリンクを返すコンピュータプログラムである。
【０００５】
検索エンジンは、通常、自動化された方法で（例えば、ブラウズする各ウェブページ内に出てくる全てのパイパーリンクを追随して）ＷＷＷをブラウズするウェブクローラと呼ばれるコンピュータプログラムを用いて膨大なＷＷＷウェブページ及び／又は他のコンテンツを検索することにより動作する。読み出したウェブページ及び／又はコンテンツは分析され、該ウェブページ又はコンテンツに関する情報がインデックスに格納される。ユーザが検索クエリを検索エンジンに発行するとき、検索エンジンはインデックスを用いて、ユーザの検索クエリに最も合致すると決定したウェブページ及び／又はコンテンツを特定し、最も合致するウェブページ及び／又はコンテンツを有する結果のリストを返す。多くの場合、このリストは、ユーザのクエリに最も合致すると決定されたウェブページ及び／又はコンテンツへのハイパーリンクのセットを含む１又は複数のウェブページの形式である。
【０００６】
インターネットを介してアクセス可能な検索エンジンには少なくとも２つの一般的な種類がある。つまり、汎用検索エンジンとサイト特有検索エンジンである。本願明細書で用いられるように、「汎用検索エンジン」は、少なくとも２つの異なる独立したウェブサイト若しくはドメインで提供されるウェブページ及び／又はコンテンツ（又はウェブページ及び／又はコンテンツへのハイパーリンク）を有する検索結果を提供する検索エンジンを意味すると定められる。汎用検索エンジンは、インターネットの広い範囲に渡って分散しているコンテンツからの検索結果にインデックスを付け提供しようとする。汎用検索エンジンの例は、Mountain  View,  CAのGoogle,  Inc.により運営されるＧｏｏｇｌｅ（登録商標）、Sunnyvale,  CAのYahoo!,Inc.により運営されるYahoo!（登録商標）、Redmond,  WAのMicrosoft  Corp.により運営されるBing（登録商標）を含む。
【０００７】
本願明細書で用いられるように、用語「サイト特有検索エンジン」は、１つのみのウェブサイト若しくはドメインで提供されるウェブページ及び／又はコンテンツ（又はウェブページ及び／又はコンテンツへのハイパーリンク）を有する検索結果を提供する検索エンジンを意味すると定められる。サイト特有検索エンジンは、多くの場合、ウェブサイトの運営者により用いられ、ユーザが彼らのウェブサイトにある特定のウェブページ若しくはコンテンツを見付けることができるようにする。例えば、オンライン小売業者（又はＥテイラー）のウェブサイトは、ユーザが該小売業者により販売されている製品のためのウェブページを見付けるのを手助けするサイト特有検索エンジンを有し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
インターネット検索に関する方法及び装置を提供する。
【課題を解決するための手段】
【０００９】
一実施形態は、少なくとも部分的に少なくとも１つのハードウェアコンピュータプロセッサを介して実施される、インターネットを介してコンテンツの検索を実行する方法であって、当該方法は、ユーザから入力を受信するステップ、前記入力を受信するのに応答して、複数の検索エンジンに少なくとも１つの検索クエリを発行するステップであって、前記複数の検索エンジンは、少なくとも１つの汎用検索エンジン及び少なくとも１つのサイト特有検索エンジンを有し、前記少なくとも１つの検索クエリは、少なくとも部分的に前記入力の内容に基づく、ステップ、を有する方法を対象とする。別の実施形態は、実行されると、上述の方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体を対象とする。
【００１０】
更なる実施形態は、インターネットを介してコンテンツの検索を実行するプロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、ユーザから入力を受信し、前記入力を受信するのに応答して、複数の検索エンジンに少なくとも１つの検索クエリを発行し、前記複数の検索エンジンは、少なくとも１つの汎用検索エンジン及び少なくとも１つのサイト特有検索エンジンを有し、前記少なくとも１つの検索クエリは、少なくとも部分的に前記入力の内容に基づく、システムを対象とする。
【００１１】
更なる実施形態は、少なくとも部分的に少なくとも１つのハードウェアコンピュータプロセッサを介して実施される、インターネットを介してコンテンツの検索を実行する方法であって、当該方法は、複数の検索エンジンに少なくとも１つの検索クエリを発行するステップ、前記複数の検索エンジンに少なくとも１つの検索クエリを発行するのに応答して、前記複数の検索エンジンのうちの少なくとも幾つかから検索結果を受信するステップ、ディスプレイ装置のディスプレイに前記検索結果を表示させるステップであって、前記の表示された検索結果は、複数のセットに分類され、各セットは特定の検索エンジンに関連付けられる、ステップ、を有する方法を対象とする。更なる実施形態は、実行されると、上述の方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体を対象とする。
【００１２】
更なる実施形態は、インターネットを介してコンテンツの検索を実行する、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結オグされ、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、複数の検索エンジンに少なくとも１つの検索クエリを発行し、前記複数の検索エンジンに少なくとも１つの検索クエリを発行するのに応答して、前記複数の検索エンジンのうちの少なくとも幾つかから検索結果を受信し、ディスプレイ装置のディスプレイに前記検索結果を表示させ、前記の表示された検索結果は、複数のセットに分類され、各セットは特定の検索エンジンに関連付けられる、システムを対象とする。
【００１３】
更なる実施形態は、少なくとも部分的にハードウェアコンピュータプロセッサを介して実施される、インターネットでコンテンツの検索を実行する方法であって、当該方法は、複数の検索エンジンに少なくとも１つの検索クエリを発行するステップであって、前記複数の検索エンジンは、少なくとも１つのサイト特有検索エンジンを有する、ステップ、前記複数の検索エンジンに少なくとも１つの検索クエリを発行するのに応答して、前記複数の検索エンジンのうちの少なくとも幾つかから検索結果を受信するステップであって、前記検索結果は、前記少なくとも１つのサイト特有検索エンジンから返された少なくとも１つのウェブページを含む、ステップ、ディスプレイ装置のディスプレイに、前記少なくとも１つのサイト特有検索エンジンから返された少なくとも１つのウェブページを表示させるステップ、を有する方法を対象とする。別の実施形態は、実行されると、上述の方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体を対象とする。
【００１４】
更なる実施形態は、インターネットを介してコンテンツの検索を実行する、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、複数の検索エンジンに少なくとも１つの検索クエリを発行するステップであって、前記複数の検索エンジンは、少なくとも１つのサイト特有検索エンジンを有する、ステップ、前記複数の検索エンジンに少なくとも１つの検索クエリを発行するのに応答して、前記複数の検索エンジンのうちの少なくとも幾つかから検索結果を受信するステップであって、前記検索結果は、前記少なくとも１つのサイト特有検索エンジンから返された少なくとも１つのウェブページを含む、ステップ、ディスプレイ装置のディスプレイに、前記少なくとも１つのサイト特有検索エンジンから返された少なくとも１つのウェブページを表示させるステップ、を有する、システムを対象とする。
【００１５】
更なる実施形態は、少なくとも部分的に少なくとも１つのハードウェアコンピュータプロセッサを介して実施される、インターネットを介してコンテンツの検索を実行する方法であって、当該方法は、第１の検索クエリを受信するステップ、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成するステップ、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択するステップであって、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記第１の検索クエリの内容に基づき選択される、ステップ、を有する方法を対象とする。
【００１６】
更なる実施形態は、少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、インターネットを介してコンテンツの検索を実行する方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体であって、当該方法は、第１の検索クエリを受信するステップ、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成するステップ、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択するステップであって、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記第１の検索クエリの内容に基づき選択される、ステップ、を有する少なくとも１つのコンピュータ可読媒体を対象とする。
【００１７】
更なる実施形態は、インターネットを介してコンテンツの検索を実行する、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、第１の検索クエリを受信し、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成し、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択し、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記第１の検索クエリの内容に基づき選択される、システムを対象とする。
【００１８】
更なる実施形態は、少なくとも部分的に少なくとも１つのハードウェアコンピュータプロセッサを介して実施される、インターネットを介してコンテンツの検索を実行する方法であって、当該方法は、ユーザから第１の検索クエリを受信するステップ、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成するステップ、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択するステップであって、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記ユーザによる特定の検索エンジンの使用頻度を表す履歴情報に基づき選択される、ステップ、を有する方法を対象とする。
【００１９】
更なる実施形態は、少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、インターネットを介してコンテンツの検索を実行する方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体であって、当該方法は、ユーザから第１の検索クエリを受信するステップ、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成するステップ、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択するステップであって、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記ユーザによる特定の検索エンジンの使用頻度を示す履歴情に基づき選択される、ステップ、を有する、少なくとも１つのコンピュータ可読媒体を対象とする。
【００２０】
更なる実施形態は、インターネットを介してコンテンツの検索を実行する、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、ユーザから第１の検索クエリを受信し、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成し、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択し、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記ユーザによる特定の検索エンジンの使用頻度を示す履歴情報に基づき選択される、システムを対象とする。
【００２１】
更なる実施形態は、少なくとも部分的に少なくとも１つのハードウェアコンピュータプロセッサを介して実施される、インターネットを介してコンテンツの検索を実行する方法であって、当該方法は、第１のユーザから第１の検索クエリを受信するステップ、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成するステップ、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択するステップであって、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記第１のユーザと異なる少なくとも１人の第２のユーザによる特定の検索エンジンの使用頻度を表す履歴情報に基づき選択される、ステップ、を有する方法を対象とする
更なる実施形態は、少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、インターネットを介してコンテンツの検索を実行する方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体であって、当該方法は、第１のユーザから第１の検索クエリを受信するステップ、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成するステップ、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択するステップであって、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記第１のユーザと異なる少なくとも１人の第２のユーザによる特定の検索エンジンの使用頻度を示す履歴情に基づき選択される、ステップ、を有する、少なくとも１つのコンピュータ可読媒体を対象とする。
【００２２】
更なる実施形態は、インターネットを介してコンテンツの検索を実行する、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、第１のユーザから第１の検索クエリを受信し、前記第１の検索クエリの内容に基づき、少なくとも１つの第２の検索クエリを生成し、前記少なくとも１つの第２の検索クエリが提供されるべき複数の検索エンジンを選択し、前記複数の検索エンジンのうちの少なくとも１つは、少なくとも部分的に前記第１のユーザと異なる少なくとも１人の第２のユーザによる特定の検索エンジンの使用頻度を示す履歴情報に基づき選択される、システムを対象とする。
【００２３】
更なる実施形態は、コンテンツを表示する方法であって、ディスプレイ装置のディスプレイの第１の部分に、複数のスロットを有するカルーセルを表示するステップ、前記複数のスロットのうちの１つをユーザが選択するのに応答して、前記第１の部分から離れた、前記ディスプレイの第２の部分に、ユーザ入力に基づき動的に生成されるコンテンツを表示するステップ、を有する方法を対象とする。
【００２４】
更なる実施形態は、少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、コンテンツを表示する方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体であって、前記方法は、ディスプレイ装置のディスプレイの第１の部分に、複数のスロットを有するカルーセルを表示するステップ、前記複数のスロットのうちの１つをユーザが選択するのに応答して、前記第１の部分から離れた、前記ディスプレイの第２の部分に、ユーザ入力に基づき動的に生成されるコンテンツを表示するステップ、を有する、少なくとも１つのコンピュータ可読媒体を対象とする。
【００２５】
更なる実施形態は、コンテンツを表示する、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、ディスプレイ装置のディスプレイの第１の部分に、複数のスロットを有するカルーセルを表示し、前記複数のスロットのうちの１つをユーザが選択するのに応答して、前記第１の部分から離れた、前記ディスプレイの第２の部分に、ユーザ入力に基づき動的に生成されるコンテンツを表示する、システムを対象とする。
【００２６】
更なる実施形態は、ディスプレイに、最初のスロット及び最後のスロットを含む複数のスロットを有するカルーセルを表示するステップであって、前記カルーセルの前記複数のスロットの一部のみが、前記ディスプレイ装置に一度に表示され、ユーザ入力は、前記カルーセルを前記ディスプレイに渡ってスライドさせ、前記カルーセルの前記最後のスロットが表示されるとき、前記カルーセルは前記最初のスロットに巻き付く、ステップ、を有する方法を対象とする。
【００２７】
更なる実施形態は、少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体であって、前記方法は、ディスプレイに、最初のスロット及び最後のスロットを含む複数のスロットを有するカルーセルを表示するステップであって、前記カルーセルの前記複数のスロットの一部のみが、前記ディスプレイ装置に一度に表示され、ユーザ入力は、前記カルーセルを前記ディスプレイに渡ってスライドさせ、前記カルーセルの前記最後のスロットが表示されるとき、前記カルーセルは前記最初のスロットに巻き付く、ステップ、を有する、少なくとも１つのコンピュータ可読媒体を対象とする。
【００２８】
更なる実施形態は、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、ディスプレイに、最初のスロット及び最後のスロットを含む複数のスロットを有するカルーセルを表示し、前記カルーセルの前記複数のスロットの一部のみが、前記ディスプレイ装置に一度に表示され、ユーザ入力は、前記カルーセルを前記ディスプレイに渡ってスライドさせ、前記カルーセルの前記最後のスロットが表示されるとき、前記カルーセルは前記最初のスロットに巻き付く、システムを対象とする。
【００２９】
更なる実施形態は、マイクロプロセッサの少なくとも一部で実行される、インターネットでコンテンツの検索を実行する方法であって、前記方法は、ユーザから提供される音声入力を受信するステップ、複数の検索エンジンに対する少なくとも１つのテキスト検索クエリを生成するステップであって、前記少なくとも１つのテキスト検索クエリは、少なくとも部分的に、前記音声入力に対して会話認識を実行することにより生成される、ステップ、を有する方法を対象とする。
【００３０】
更なる実施形態は、少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、インターネットでコンテンツの検索を実行する方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体であって、前記方法は、ユーザから提供される音声入力を受信するステップ、複数の検索エンジンに対する少なくとも１つのテキスト検索クエリを生成するステップであって、前記少なくとも１つのテキスト検索クエリは、少なくとも部分的に、前記音声入力に対して会話認識を実行することにより生成される、ステップ、を有する、少なくとも１つのコンピュータ可読媒体を対象とする。
【００３１】
更なる実施形態は、インターネットを介してコンテンツの検索を実行する、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、ユーザから提供される音声入力を受信し、複数の検索エンジンに対する少なくとも１つのテキスト検索クエリを生成し、前記少なくとも１つのテキスト検索クエリは、少なくとも部分的に、前記音声入力に対して会話認識を実行することにより生成される、システムを対象とする。
【００３２】
更なる実施形態は、少なくとも部分的にモバイル通信装置の少なくとも１つのハードウェアコンピュータプロセッサを介して実施される、インターネットを介してコンテンツの検索を実行する方法であって、当該方法は、前記モバイル通信装置で、第１の検索クエリを指定するユーザ入力を受信するステップ、前記モバイル通信装置から複数の検索エンジンへ少なくとも１つの第２の検索クエリを発行するステップであって、前記第２の検索クエリは、少なくとも部分的に、前記第１の検索クエリの内容に基づく、ステップ、を有する方法を対象とする。
【００３３】
更なる実施形態は、少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、インターネットを介してコンテンツの検索を実行する方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体であって、当該方法は、モバイル通信装置で、第１の検索クエリを指定するユーザ入力を受信するステップ、前記モバイル通信装置から複数の検索エンジンへ少なくとも１つの第２の検索クエリを発行するステップであって、前記第２の検索クエリは、少なくとも部分的に、前記第１の検索クエリの内容に基づく、ステップ、を有する、少なくとも１つのコンピュータ可読媒体を対象とする。
【００３４】
更なる実施形態は、モバイル通信装置であって、インターネットを介してコンテンツの検索を実行する、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、前記モバイル通信装置で、第１の検索クエリを指定するユーザ入力を受信し、前記モバイル通信装置から複数の検索エンジンへ少なくとも１つの第２の検索クエリを発行し、前記少なくとも１つの第２の検索クエリは、少なくとも部分的に、前記第１の検索クエリの内容に基づく、モバイル通信装置を対象とする。
【００３５】
更なる実施形態は、少なくとも部分的に少なくとも１つのハードウェアコンピュータプロセッサを介して実施される、インターネットを介してコンテンツの検索を助ける方法であって、当該方法は、クライアント装置から第１の検索クエリを受信するステップ、問い合わせるべき少なくとも１つの検索エンジンを特定するステップ、少なくとも１つの第２の検索クエリを生成するステップであって、前記少なくとも１つの第２の検索クエリは、少なくとも部分的に前記第１の検索クエリの内容に基づき生成される、ステップ、前記クライアント装置へ、前記少なくとも１つの第２の検索クエリと、少なくとも１つの第２の検索クエリを用いてインターネット検索を実行するのに用いられるべきと特定された少なくとも１つの検索エンジンを指定する情報とを送信するステップ、を有する方法を対象とする。
【００３６】
更なる実施形態は、少なくとも１つのハードウェアコンピュータプロセッサにより実行されると、インターネットを介したコンテンツの検索を助ける方法を実行する命令をエンコードされた少なくとも１つのコンピュータ可読媒体であって、当該方法は、クライアント装置から第１の検索クエリを受信するステップ、問い合わせるべき少なくとも１つの検索エンジンを特定するステップ、少なくとも１つの第２の検索クエリを生成するステップであって、前記少なくとも１つの第２の検索クエリは、少なくとも部分的に前記第１の検索クエリの内容に基づき生成される、ステップ、前記クライアント装置へ、前記少なくとも１つの第２の検索クエリと、少なくとも１つの第２の検索クエリを用いてインターネット検索を実行するのに用いられるべきと特定された少なくとも１つの検索エンジンを指定する情報とを送信するステップ、を有する、少なくとも１つのコンピュータ可読媒体を対象とする。
【００３７】
更なる実施形態は、インターネットを介したコンテンツの検索を助ける、プロセッサにより実行可能な命令を格納する少なくとも１つの有形メモリ、前記少なくとも１つの有形メモリに結合され、前記プロセッサにより実行可能な命令を実行する少なくとも１つのハードウェアコンピュータプロセッサ、を有し、前記命令は、クライアント装置から第１の検索クエリを受信し、問い合わせるべき少なくとも１つの検索エンジンを特定し、少なくとも１つの第２の検索クエリを生成し、前記少なくとも１つの第２の検索クエリは、少なくとも部分的に前記第１の検索クエリの内容に基づき生成され、前記クライアント装置へ、前記少なくとも１つの第２の検索クエリと、少なくとも１つの第２の検索クエリを用いてインターネット検索を実行するのに用いられるべきと特定された少なくとも１つの検索エンジンを指定する情報とを送信する、システムを対象とする。
【図面の簡単な説明】
【００３８】
以下の図面がある。
【図１】複数の異なる検索エンジンからの検索結果のセットを示すベン図である。
【図２】幾つかの実施形態による、検索クエリを送信し複数の検索エンジンから検索結果を受信する説明的処理のフローチャートである。
【図３】幾つかの実施形態が実装され得るコンピュータ環境のブロック図である。
【図４】幾つかの実施形態による、複数の検索エンジンに問い合わせるアプリケーションプログラム及び音声検索クエリに対して音声認識を実行する自動音声認識を実行するクライアント装置のブロック図である。
【図５】幾つかの実施形態による、複数の検索エンジンに問い合わせるアプリケーションプログラムを実行するクライアント装置、及び自動音声認識を実行し音声検索クエリに対して音声認識を実行するためにクライアント装置に音声認識サービスを提供するサーバのブロック図である。
【図６】幾つかの実施形態が実装され得るコンピュータ環境のブロック図である。
【図７】幾つかの実施形態による、音声会話クエリのオーディオデータが複数の異なる言語モデルを用いて認識されるブロック図である。
【図８】幾つかの実施形態による、ユーザの供給した検索クエリを受信するのに応答して、クライアント装置にどの検索エンジンに問い合わせるべきかを指示するサーバのブロック図である。
【図９】幾つかの実施形態による、複数の検索エンジンに問い合わせるために生成されるＵＲＬ（Universal  Resource  Locator）を示す図である。
【図１０】複数の検索エンジンからの検索結果が表示され得るクライアント装置のディスプレイの図である。
【図１１】以下に記載されるどれかの態様が実装され得る説明的なコンピュータ装置のブロック図である。
【発明を実施するための形態】
【００３９】
発明者等は、所与のユーザの生成した検索クエリについて、ユーザは該検索クエリに関連する異なる種類の情報に関心を持ち得ることを認識している。例えば、検索クエリ「Miles  Davis」では、ユーザは、Miles  Davisの要人情報を得ること、サンプルを聴くこと、又はMiles  Davisの音楽を購入すること、及び／又はMiles  Davisに関心のある他者とのソーシャルネットワークに関心があるかも知れない。これまで、これらの３つの異なる種類の情報を得るためには、ユーザは検索文字列「Miles  Davis」を異なる検索エンジンに入力していた。例えば、ユーザは、要人情報を得るためにこの検索文字列を百科事典ウェブサイトのための検索エンジンに入力し、音楽を聴く又は購入するためにこの検索文字列を音楽を販売するウェブサイトの検索エンジンに入力し、他者との連絡を取るためにこの検索文字列をソーシャルネットワークサイトの検索エンジンに入力していた。ユーザは複数の異なるウェブサイトをナビゲートし（及び場合によっては複数の異なるブラウザのｕｕインドウ若しくはタブを管理し）、同じ検索文字列を繰り返し入力しなければならないので、発明者等はこの処理が時間を消費し面倒であることを認識している。
【００４０】
発明者等は、異なる検索エンジンが異なる方法でウェブページ及び／又はコンテンツにインデックスを付け、異なる量のコンテンツにインデックスを付け、及び／又は異なるアルゴリズムを用いてどのウェブページ及び／又はコンテンツが特定の検索クエリに最も合致するかを決定するので、異なる検索エンジンが同一の検索クエリに応答して検索結果の異なる（場合によっては重複するのだが）セットを提供し得ることも認識している。この概念は、図１のベン図に示される。図１のベン図に示された各セットは、ユーザの提供したキーワード「Miles  Davis」に対する検索クエリに応答して提供される、４つの仮想の検索エンジン（つまり、検索エンジン１、検索エンジン２、検索エンジン３、検索エンジン４）のうちの１つからの検索結果を表す。図１で、セット１０１は、検索エンジン１から提供された結果を有し、検索結果Ｑ、Ｒ、Ｓ、Ｔを有する。セット１０３は、検索エンジン２から提供された結果を有し、検索結果Ｒ、Ｓ、Ｙを有する。セット１０５は、検索エンジン３から提供された結果を有し、検索結果Ｓ、Ｔ、Ｘを有する。セット１０７は、検索エンジン４から提供された結果を有し、検索結果Ｚを有する。図１に示すように、幾つかの検索結果は、セットのうちの１つのみに含まれ、４つのうちの１つの検索エンジンのみから返されている。一方、他の検索結果は、複数のセットに含まれ、２以上の検索エンジンから返されている。
【００４１】
検索エンジンが検索クエリに応答して検索結果のセットを返すとき、検索エンジンは、通常、順序付けられたリストで結果を返す。リストは、関連性により順序付けられ、検索結果の上の地位に対して支払われる金銭に基づき順序付けられ、及び／又は他の基準に基づき順序付けられ得る。例えば、検索エンジンが最も関連があると決定したウェブページ又はコンテンツは結果リストの上位にあり、一方で、検索エンジンが関連が少ないと決定したウェブページ又はコンテンツは結果リストのずっと下にある。別の例として、特定の電子機器製造業者は、ユーザが単語「テレビ」を含む検索クエリをＥテイラーのウェブサイト用のサイト特有検索エンジンに入力したとき、彼らのテレビを上位に載せるために、電子機器Ｅテイラーに金銭を支払い得る。
【００４２】
発明者等は、異なる検索エンジンが異なるアルゴリズムを用いてウェブページ及び／又はコンテンツを検索結果の中でどんな順序で載せるべきかを決定するので、２つの異なる検索エンジンが特定の検索クエリ（例えば、「Miles  Davis」）に応答して同じウェブページ又はコンテンツのピースを検索結果に含める状況であっても、該ウェブページ又はコンテンツのピースは、（例えば、第１の検索エンジンは該ウェブページ及び／又はコンテンツのピースが評価したコンテンツの分野に特に関連すると決定したため）２つのうちの第１の検索エンジンにより提供される結果のリストの最上位又はその近くに存在するかも知れないが、（例えば、２つのうちの第２の検索エンジンは該ウェブページ及び／又はコンテンツのピースが評価したコンテンツの分野にあまり関連しないと決定したため）２つのうちの第２の検索エンジンにより提供される結果のリストのずっと下に存在するかも知れない。同様に、第２の検索エンジンからの検索結果のリストの上位近くに載せられる幾つかの結果は、第１のエンジンにより提供される結果のリストでは遙か下に載せられ得る。発明者等は、ユーザがリストの最上位近くにある結果に気付きアクセスし易いことを認識している。したがって、２つのうちの１つのみの検索エンジンを用いることにより、ユーザは該ユーザと高い関連性のある結果に気付き又はアクセスできない。
【００４３】
よって、発明者等は、単一の検索エンジンのみにユーザ特有の検索クエリを発行することが、潜在的に関連のある幾つかのウェブページ及び／又はコンテンツのピースが検索結果に含まれず又はユーザが無視してしまうほど返された検索結果のリストの下に載せられる可能性を増大させてしまうことを認識している。さらに、発明者等は、ユーザがその検索クエリに関連する多くの異なる種類のコンテンツに関心があるかも知れないのに、このような検索クエリを単一の検索エンジンのみに発行することが、返されるコンテンツを、その検索エンジンにより検索され及び／又はインデックスを付けられるコンテンツの種類のみに限定してしまうことを認識している。
【００４４】
メタ検索エンジン又は検索エンジンアグリゲータと称される幾つかのウェブベースのソフトウェアプログラムが開発されている。ウェブベースのソフトウェアプログラムは、ユーザ特有の検索クエリを受信し、複数の検索エンジンに該検索クエリを発行し、これらの検索エンジンの各々から結果を受信し、重複を削除し、これらの検索結果を単一のリストに集約し、集約した検索結果のリストをユーザに表示する。このようなメタ検索エンジンの一例は、Bellevue,  WAのInfospace,  Inc.により運営されているDogpile（登録商標）である。しかしながら、発明者等は、これらのメタ検索エンジンが多数の欠点を有することを認識している。
【００４５】
第一に、これらのメタ検索エンジンにより問い合わせられた検索エンジンは、汎用検索エンジンのみを有し、サイト特有検索エンジンを有しない。
【００４６】
第二に、メタ検索エンジンは、ユーザ特有の検索クエリに応答して、多数の異なる検索エンジンから集約した検索結果の単一のリストをユーザに表示するので、ユーザは、どの検索エンジンがどの検索結果を提供したのかを知ることができず、複数の検索エンジンの各々が特定の検索結果をどれだけ関連があると見なしたのかを知ることができず、又は特定の検索エンジンからかえされた結果の完全なセットを見ることができない。
【００４７】
第三に、メタ検索エンジンは１又は複数のサーバで動作し、１又は複数のサーバは、ユーザのクライアント装置で実行されているブラウザ又は他のソフトウェアアプリケーションから発行されたユーザ特有の検索クエリを受信し、該サーバからの検索クエリを問い合わせられた複数の検索エンジンに発行する。メタ検索エンジンは多数のユーザから検索クエリを受信し多数のユーザに集約した検索結果を提供するので、メタ検索エンジンが動作するサーバは、該メタ検索エンジンが結果を集約すべき検索エンジンへ膨大な数の検索クエリを定期的に発行し得る。その結果として、検索エンジンは、何百、何千又は何百万個もの検索クエリを毎日同じサーバ又はＩＰアドレスから受信し、この動作が単一のユーザが膨大な数の検索クエリを検索エンジンに発行するためであることに気付く。多くの検索エンジン運営者等は、この動作が検索エンジンサービスの悪用及び／又は潜在的なサービス拒否攻撃であると考え、このような多数のクエリを発行しているＩＰアドレスから彼らの検索エンジンへの検索クエリをブロックする措置を取り得る。このため、メタ検索エンジン運営者は、通常、検索エンジンの結果がメタ検索エンジンにより集約される検索エンジン運営者等との契約上の合意を得て、メタ検索エンジンがこれらの検索エンジンに膨大な数の検索クエリを発行することを可能にしなければならない。
【００４８】
第四に、これらのメタ検索エンジンは、ユーザにどの検索エンジンに彼又は彼女の検索クエリが提供されるかを制御する能力を提供しない。むしろ、既存のメタ検索エンジンは、各検索クエリが提供されるべき検索エンジンの固定したセットを有する。したがって、ユーザは、どの検索エンジンの結果が検索クエリに応答して提供されるかを制御できない。また、メタ検索エンジンは、どのユーザが検索クエリを発行したかに基づき又はユーザの検索クエリの内容に基づき、どの検索エンジンが問い合わせられるかのカスタマイズを実行しない。
【００４９】
以下に記載する幾つかの実施形態は、ユーザ特有の検索クエリを複数の検索エンジンに発行すること、及び／又はこのようなクエリの結果をユーザに表示することに関する技術を対象としている。以下に議論する幾つかの実施形態は、既存のメタ検索エンジンの上述の欠点の全てを解決するが、各実施形態はメタ検索エンジンの上述の欠点の全てを解決せず、幾つかの実施形態はこれらの欠点のうちの任意のものを解決しない。また、理解されるべき点は、本発明は、メタ検索エンジンの上述の欠点の全て又は任意のものを解決する実施形態に限定されないことである。
【００５０】
図２は、幾つかの実施形態で、検索クエリを複数の検索エンジンに発行し、該検索エンジンの各々からの検索結果をユーザに表示するために、ユーザのクライアント装置で実行するアプリケーションプログラムにより実行され得る説明のための処理２００のフローチャートである。処理２００を実行するためにアプリケーションプログラムが実行されるクライアント装置は、ソフトウェアコンピュータプログラムを実行できるハードウェアを有する任意の種類のコンピュータ装置であっても良い。使用できるクライアント装置の種類の例は、ラップトップ又はデスクトップパーソナルコンピュータ、ＰＤＡ（personal  digital  assistant）、携帯電話機、サーバコンピュータ、及び／又は種々の他の種類のコンピュータ装置を含む。本願明細書に記載されるある特定の実装では、以下に記載する技術は、携帯電話機（例えば、スマートフォン）に実装でき、会話認識機能と結合され、ユーザが検索クエリを音声で発行できるようにするが、本発明の全ての態様が携帯電話機での使用に又は会話認識インタフェースと共に使用することに限定されるものではない。
【００５１】
上述の記載から理解されるように、処理２００は、ユーザがクライアント装置でアプリケーションプログラムを開始し、検索クエリを（例えば、音声により又はテキストにより）入力し、複数の異なる検索エンジンから提供された該検索クエリに対する検索結果を閲覧することを可能にする。
【００５２】
処理２００が実行され得る環境の非限定的な一例は、図３に示したネットワーク接続されたコンピュータ環境３００で実行されることである。図３では、ユーザ３０１は、クライアント装置３０３を介してインターネット３０５にアクセスする。検索エンジン３０７ａ、３０７ｂ、３０７ｃ、．．．、３０７ｎは、インターネット３０５を介してアクセス可能なサーバで実行される。処理２００は動作２０１で開始し、クライアント装置３０３で実行されているアプリケーションプログラムが、ユーザ特有の検索クエリを受信する。以下に詳細に議論するように、クエリは、種々の可能なクライアント装置のユーザインタフェースのうちの任意のものを介して、種々の可能な方法のうちの任意のもので受信できる。次に、処理は動作２０３に進み、アプリケーションプログラムは、ユーザ特有の検索クエリを受信するのに応答して、どの検索エンジン３０７に問い合わせるべきかを決定する。以下に詳細に議論するように、問い合わせられるべき検索エンジンのセットは、動的に決定され、ユーザにより設定可能であっても良い。しかし、本発明の態様は、幾つかの実施形態では問い合わせられるべき検索エンジンのセットが静的であり設定可能でないので、これに関して限定されない。
【００５３】
次に処理は動作２０５へ進み、アプリケーションプログラムは、インターネット３０５を介して、動作２０１で受信したユーザ特有の検索クエリに基づき生成された検索クエリを、動作２０３で特定した検索エンジン３０７へ発行する。幾つかの実施形態では、これらの検索エンジンは、汎用検索エンジン及び／又はサイト特有検索エンジンを含み得るが、幾つかの実施形態ではサイト特有検索エンジンのみ又は汎用検索エンジンのみが問い合わせられるので、本発明はこの点に関して限定されない。次に、処理は動作２０７に進み、アプリケーションプログラムは、インターネット３０５を介して、動作２０５で問い合わせられた検索エンジンから検索結果を受信する。次に、処理は動作２０９に進み、検索結果は、クライアント装置３０３のディスプレイを介してユーザに表示される。
【００５４】
理解されるべき点は、処理２００は、動作２０１、２０３、２０５、２０７及び２０９が実行され得る１つの説明のための順序を示すことである。種々の他の順序が可能であり、種々の異なる実施形態ではこれらの動作は異なる順序で実行されても良い。また、処理２００の動作の各々の種々の可能な実装が可能であり、以下に詳細に議論される。
【００５５】
＜Ｉ．検索クエリの受信＞
上述のように、処理２００の動作２０１で、アプリケーションプログラムは、検索クエリを指定するユーザ入力を受信する。このユーザ入力は、種々の方法のうちの任意の方法で、且つ種々の形式のうちの任意の形式で受信できる。例えば、幾つかの実施形態では、ユーザ入力は、テキストとして受信され、クライアント装置に統合された又は結合された入力装置を介して受信できる。このような入力装置の例は、キーボード、タッチスクリーン、マウス、及び／又はユーザがテキスト入力をコンピュータ装置に供給できる他の入力装置を含む。
【００５６】
幾つかの実施形態では、ユーザ入力は、クライアント装置に統合された又は結合されたマイクロフォンを介してオーディオとして受信できる。例えば、ユーザは、検索クエリをマイクロフォンに話し、アプリケーションプログラムはユーザの音声入力をオーディオデータとして受信できる。自動会話認識がオーディオデータに対して実行され、検索エンジンに問い合わせるための基礎として用いることができる認識結果を（例えば、テキスト形式で）得ても良い。幾つかの実施形態では、問い合わせられるべき１又は複数の検索エンジンは、会話インタフェースを有しても良い。このような実施形態では、例えばオーディオの自動会話認識に基づきテキスト検索クエリを提供する代わりに、オーディオがこのような検索エンジンに提供されても良い。自動会話認識技術は、良く知られている。種々の自動会話認識技術うちの任意のものが、オーディオデータに対する認識結果を得るために用いられても良い。
【００５７】
幾つかの実施形態では、クライアント装置は、ユーザが検索クエリを提供するために選択し得る多数の異なる選択肢を提供しても良い。例えば、幾つかの実施形態では、クライアント装置は、ユーザが音声形式で（例えば、マイクロフォンにクエリを話すことにより）又はテキスト形式で（例えば、キーボード又はタッチスクリーンにクエリをタイプすることにより）クエリを入力できるようにしても良い。
【００５８】
音声入力の自動会話認識が実行される実施形態では、ユーザの供給したオーディオデータの自動会話認識は、種々の方法のうちの任意の方法で達成できる。例えば、図４に示すように、幾つかの実施形態では、クライアント装置は、オーディオデータに対して自動会話認識を実行するソフトウェアプログラムである自動会話認識を実行しても良い。アプリケーションプログラムは、自動会話認識を用いてオーディオデータの認識結果を得ても良い。図４では、クライアント装置４０１は、処理２００を実行するアプリケーションプログラム４０３及び自動会話認識部４０５を実行する。アプリケーションプログラム４０３は、ユーザの供給したオーディオデータ４０７を受信するとき、該オーディオデータを自動会話認識部４０５に渡しても良い。自動会話認識部４０５は、オーディオデータに対して自動会話認識を実行して、認識結果４０９を得て、会話エンジンに対するクエリをフォーマットするのに用いるために認識結果４０９をアプリケーションプログラム４０３に返しても良い。
【００５９】
発明者等は、幾つかのクライアント装置が所望のレベルの精度及び／又は効率で動作する自動会話認識を実行するために十分な計算能力を有しないことを認識している。つまり、例えば、クライアント装置は、音響モデル、言語モデル、文法、及び／又はこのような会話認識の他のコンポーネントを格納するのに十分なメモリを有しないかも知れない。また、クライアント装置は、所望のレベルの効率で自動会話認識を実行するのに十分なパワーのプロセッサを有しないかも知れない。これは、多くの状況で、特にクライアント装置がＰＤＡ又は携帯電話機のようなハンドヘルド装置であるときに、生じ得る。
【００６０】
したがって、幾つかの実施形態では、ユーザから供給されたオーディオデータに対する自動会話認識は、ユーザ入力を受信し該入力に基づき検索を管理するアプリケーションプログラムを実行するクライアント装置の外部にあるコンピュータにより実行されても良い。例えば、図５に示すように、クライアント装置５０１は、オーディオデータの形式でユーザにより供給された音声入力を受信するアプリケーションプログラム５０３を実行する。自動会話認識は、サーバ５０５で実行される自動会話認識部５０７により、オーディオデータに対して実行されても良い。したがって、図５に示すように、幾つかの実施形態では、アプリケーションプログラムは、ユーザの供給したオーディオデータ５０９を、サーバ５０５で実行される自動会話認識部５０７へ送信しても良い。オーディオデータ５０９は、種々の可能な方法のうちの任意の方法で自動会話認識へ送信されても良い。例えば、幾つかの実施形態では、ユーザの供給したオーディオはマイクロフォンによりキャプチャされ、アナログ−デジタル変換が該キャプチャしたマイクロフォンオーディオに対して実行され、デジタルオーディオデータを生成しても良い。このデジタルオーディオデータは、自動会話認識部５０７へ供給されても良い。幾つかの実施形態では、デジタルオーディオデータの特定の処理は、このデータを自動会話認識へ送信する前に実行されても良い。例えば、デジタルデータは圧縮されても良く、又は特定の前処理が実行されて、自動会話認識で有用なオーディオのパラメータを抽出しても良い。抽出したパラメータは、オーディオデータと共に自動会話認識部５０７に渡されても良い。圧縮を用いる実施形態では、種々の可能な圧縮アルゴリズムのうちの任意のものが用いられても良い。例えば、幾つかの実施形態では、speex（登録商標）コーデックが用いられても良い。
【００６１】
したがって、理解されるべき点は、本願明細書で用いられるように、用語「オーディオデータ」は、アナログオーディオ信号又はアナログオーディオ信号のデジタル表現若しくは圧縮デジタル表現を表し得る。
【００６２】
自動会話認識部５０７は、オーディオデータ５０９に対して自動会話認識を実行し、アプリケーションプログラム５０３にオーディオデータ５０９からの結果を有する応答５１１を返しても良い。結果は、任意の適切な形式をとっても良い。非限定的な一例として、結果は、自動会話認識部５０７によりオーディオデータに対して自動会話認識を実行することから得られたテキスト認識結果を有しても良い。
【００６３】
図５の例では、クライアント装置５０１は、サーバ５０５と直接通信するとして示される。理解されるべき点は、この図示は、単にクライアント装置５０１とサ―バ５０５との間で送信される情報の種類の理解を助けるために提供されること、クライアント装置５０１がサーバ５０５と種々の方法のうちの任意の方法で、例えばインターネットを介することを含む任意の適切な通信媒体を介して通信しても良いことである。
【００６４】
図４の例では、クライアント装置で受信したオーディオデータに対する自動会話認識は、クライアント装置で実行され、図５の例では、オーディオデータはクライアント装置からサーバへ提供され、サーバが該サーバで自動会話認識を実行する。しかしながら、幾つかの実施形態では、自動会話認識は、部分的にクライアント装置により実行され、部分的にサーバにより実行されても良い。例えば、ＡＳＲの一部は、クライアント装置で実行され、一部がサーバで実行されても良い。これは、例えば、クライアント装置に会話認識処理の一部を実行させ、残りのコンピュータ的に集約した部分をサーバに任せることができる。
【００６５】
幾つかの実施形態では、サーバ５０５は、複数のクライアント装置に自動会話認識を提供し得る。図６は、複数のユーザ６０１ａ、６０１ｂ、．．．、６０１ｎの各々がクライアント装置６０３ａ、６０３ｂ、．．．、６０３ｎを操作するコンピュータ環境を示す。各クライアント装置６０３は、アプリケーションプログラムを実行しても良い。該アプリケーションプログラムは、図２の処理２００を実行して、検索クエリをインターネット６０７を介して検索エンジン６０９ａ、６０９ｂ、６０９ｃ、．．．、６０９ｎへ送信し、これらの検索クエリの結果をそれら個々のユーザに表示する。サーバ６０５は、自動会話認識サービスを提供しても良い。
【００６６】
したがって、クライアント装置６０３がユーザの供給した検索クエリをオーディオデータの形式で受信する実施形態では、クライアント装置６０３は、オーディオデータをサーバ６０５へ送信し、オーディオデータに対して自動会話認識を実行させても良く、また、それに応答して、認識結果及び／又は認識結果に基づく他の情報を受信しても良い。
【００６７】
上述の例では、サーバ６０５は、クライアント装置６０３に自動会話認識サービスを提供する。幾つかの代替の実施形態では、サーバ６０５は、追加機能を提供し、クライアント装置６０３から１又は複数の検索エンジン６０９への検索クエリの発行を実現しても良い。この追加機能の幾つかの例を、以下に詳細に記載する。簡単のため、図６の例では、１つのサーバのみが示される。しかしながら、理解されるべき点は、インターネットサーバは通常大量のトラフィックを受信するので、本願明細書に記載されるサーバ６０５の機能を提供するために任意の数のサーバが用いられても良いこと、及びクライアント装置６０３からのトラフィック負荷が、種々の負荷平衡技術のうちの任意のものを用いて、これらのサーバ間で平衡を保たれ得ることである。
【００６８】
ユーザが音声により（例えばオーディオデータの形式で）検索クエリを供給する実施形態では、オーディオデータの自動会話認識を実現して検索クエリを生成するために多数の技術が用いられ得る。これらの技術は、自動会話認識がクライアント装置で実行される実施形態と自動会話認識がクライアント装置の外部のコンピュータで実行される実施形態の両方で用いることができる。
【００６９】
幾つかの実施形態では、ユーザの供給した検索クエリのオーディオデータに対して会話認識を実行する際に自動会話認識により用いられる言語モデルは、問い合わせられる検索エンジンに基づき選択されても良い。例えば、図７に示すように、幾つかの実施形態では、自動会話認識は、複数の異なる認識結果を生成するために複数の異なる言語モデルを用いて、同じオーディオデータに対して認識を実行しても良い。図７では、会話認識は、認識結果７０５ａ、７０５ｂ、．．．、７０５ｎを生成するために、言語モデル７０３ａ、７０３ｂ、．．．、７０３ｎを用いてオーディオデータ７０１に対して実行されても良い。オーディオデータ７０１の内容及び言語モデル７０３間の相違に依存して、認識結果７０５の各々は同じであっても良く、各々は互いに異なっても良く、又は幾つかは同じで幾つかは異なっても良い。１又は複数の言語モデル７０３は特定の検索エンジンに関連付けられ、特定の検索エンジンに関連付けられた言語モデルを用いて生成された認識結果は、他の検索エンジンへ発行される検索クエリの基礎として機能しても良い。
【００７０】
したがって、例えば、幾つかの実施形態では、特定の検索エンジンによりインデックスを付けられたコンテンツに対して訓練された言語モデルは、該検索エンジンへ発行されるクエリの基礎として機能する認識結果を生成するために用いられても良い。これは、該検索エンジンで、関連する検索結果を生成する可能性が高いクエリを生じる。
【００７１】
この技術は、通常特定の対象領域に向けられた限られた量のコンテンツをインデックス付けするサイト特有検索エンジンにクエリを発行するときに特に有用であり得る。例えば、オンライン靴小売店は、自身の電子商取引ウェブサイトのサイト特有検索エンジンを有し得る。また、このウェブサイトのコンテンツは、靴のブランド及びモデルの名称、靴の特性の記述、及び種々の他の靴に特有な情報のような、靴に特有の用語及び語句を含み得る。このウェブサイトのコンテンツに対して会話認識により用いられる言語モデルを訓練することにより、認識は、靴特有の用語及び語句を含む会話を正確に認識する可能性が高い。
【００７２】
したがって、例えば、ユーザの供給したオーディオ入力の形式の検索クエリが受信され、サイト特有検索エンジンと汎用検索エンジンの両方へ発行される場合、オーディオ入力は、サイト特有検索エンジンへ発行されるべきクエリの基礎として機能する認識結果を生成するために第１の言語モデル（例えば、サイト特有検索エンジンによりインデックス付けされたコンテンツに関するコンテンツで訓練された言語モデル）を用いて認識されても良く、また、汎用検索エンジンへ発行されるべきクエリの基礎として機能する認識結果を生成するために第１の言語モデルと異なる第２の言語モデル（例えば、より一般的なコンテンツに対して訓練された言語モデル）を用いて認識され得ても良い。
【００７３】
上述の例では、特定の検索エンジンと関連付けられた言語モデルを用いて会話認識を実行することにより得られる認識結果は、該検索エンジンへ発行される検索クエリの基礎として機能する。しかしながら、幾つかの実施形態では、異なる言語モデルを用いて得た認識結果を異なる検索エンジンへ発行するのではなく、複数の認識結果が、異なる言語モデルを用いて得られても良く、最も高いスコア又は信頼値を有する認識結果が、複数の検索エンジンへ発行される検索結果の基礎として機能しても良い。例えば、図７で、認識結果７０５の各々は、特定の言語モデルを用いて、オーディオデータ７０１に自動会話認識を実行することにより生成されても良い。幾つかの実施形態では、認識結果７０５のうちの１つは、複数の検索エンジンへ発行されるべき検索クエリを生成するための基礎として機能する結果として選択されても良い。この選択は、任意の適切な方法で行われても良い。例えば、上述のように、会話認識の結果として最も高いスコア又は信頼値を有する認識結果が選択されても良く、又は任意の他の適切な基準若しくは基準の組合せが用いられても良い。
【００７４】
発明者等は、会話認識が複数の同じオーディオデータに対して言語モデルを用いて実行される状況では、それぞれ異なる言語モデルを有する複数の別個の独立した会話認識処理を実行することは、認識結果を得る際の待ち時間を増大させ、及び／又は会話認識を実行する際に用いられる処理リソースの量を増大させ得ることを理解している。
【００７５】
したがって、幾つかの実施形態では、各言語モデルについて完全に独立した会話認識処理をオーディオデータに対して実行するのではなく、仮定語列の格子（a  lattice  of  hypothesized  word  sequences）を生成するために、１つの汎用言語モデルが用いられても良い。また、この格子は、特に選択した言語モデルの認識結果を生成するために、１又は複数の選択した言語モデルを用いて再びスコアを付けられても良い。このように、各認識結果を生成する際に同じ格子が用いられ、したがって一度生成すれば良いので、認識結果を生成する際に費やされる時間及び処理リソースを低減できる。
【００７６】
図７の例では、オーディオデータ７０１は、各言語モデル７０３に直接提供されるように示された。この図示は、単に、複数の言語モデルがどのように用いられるかの理解を助けるために提供されたものであり、理解されるべき点は、実際には、言語モデルはオーディオデータに対して直接作用しなくもて良いことである。例えば、複数の仮定語列を有する格子が、音響モデル及び汎用言語モデルを用いてオーディオデータから得られても良く、汎用格子に再びスコアを付け特殊検索エンジンに適した語列を得るために特殊言語モデル７０３が用いられても良い。
【００７７】
幾つかの実施形態では、検索エンジンに提供されるべき検索クエリを生成する際に複数の異なる言語モデルを用いるのではなく、１つの言語モデルが複数の利用可能な言語モデルの中から選択されても良い。例えば、幾つかの実施形態では、１つの言語モデルが、特定の音声クエリを認識するのに良く適していると特定されても良く、その言語モデルが該クエリの認識に用いられても良い。
【００７８】
種々の可能な基準若しくは基準の組合せのうちの任意のものが、特定の音声クエリを認識する際に用いられるべき言語モデルを選択するために用いられても良い。例えば、幾つかの実施形態では、クエリの内容は、用いられるべき言語モデルを選択するための基礎として用いられても良い。例えば、２回（two-pass）処理が用いられても良い。２回処理により、第１のパスでは、音声クエリの又は音声クエリの一部の自動会話認識が、専門語彙を有しない汎用言語モデルを用いて実行される。このような言語モデルは、クエリの中の一部の語を認識し得るが、全ての語を正確に認識できない。第１のパスから得られた認識結果は、トピック又はカテゴリに基づきクエリを分類するために用いられても良い。種々の知られている分類技術のうちの任意のものが用いられても良い。
【００７９】
分類に基づき、特定されたトピック又はカテゴリを対象とした専門語彙を有する言語モデルが選択されても良い。言語モデルの選択の後、自動会話認識の第２のパスは、選択した言語モデルを用いて実行されても良い。例えば、第１のパスの後に、音声クエリが「方向」、「通り」、「道」のような語を含むと決定された場合、該音声クエリは、地図に関するクエリであると決定でき、地図に関する言語モデル（例えば、合衆国及び／又は他の国の市、通り、場所の名称を含む言語モデル）が選択され、第２のパスで用いられても良い。
【００８０】
以下に詳細に議論するように、第２のパスからの認識結果は、１又は複数の検索エンジンに提供されるべき１又は複数の検索クエリの基礎として機能しても良い。さらに、以下に詳細に議論するように、問い合わせられる１又は複数の検索エンジンは、第２のパスでクエリを認識するために選択された言語モデル又は第２のパスから得られた認識結果の内容に基づき選択されても良い。
【００８１】
幾つかの実施形態では、ユーザからオーディオデータとして供給された音声検索クエリを認識するために用いられる言語モデルは、関心のあるトピックに基づき更新されても良い。これは、種々の可能な方法のうちの任意の方法で行われても良い。発明者等は、現在のイベントが多くの場合、以前に用いられていない頻繁に検索される主題ではないキーワードを含む特定のイベントに関連付けられたキーワードを含む膨大な数の検索クエリの受信を検索エンジンにもたらすことを認識している。例えば、人気のある新作映画が映画館で上演されている場合、検索エンジンは、該映画の名前、該映画の中の俳優の名前、又は該映画に関連する他のキーワードを含む膨大な数の検索クエリを異なるユーザから受信し得る。同様に、大規模なスポーツイベントが近付いている場合、検索エンジンは、該イベントに参加するチーム及び／又は選手の名前を含む膨大な数の検索クエリを受信し得る。或いは、大衆文化のイベントは、以前は知られていなかった人物を公衆に押し出し脚光を浴びさせ得る（例えば、宝くじに当たった人、注目を浴びた犯罪の容疑者、注目を浴びたスキャンダルに関係する人、等）。
【００８２】
幾つかの実施形態では、最近ユーザの関心のあるトピックに関連する語及び／又は語句が特定され、これらの語及び／又は語句を認識する精度を向上させるために言語モデルが更新されても良い。これらの語及び／又は語句は、種々の方法のうちの任意の方法で特定されても良い。例えば、（例えば、オーディオ形式、テキスト形式又は特定の他の形式の）ユーザ特有のクエリが複数のクライアント装置からサーバ又はサーバのセットへ提供される幾つかの実施形態では、サーバ又はサーバのセットは、これらの検索クエリの中で頻繁に用いられる検索語又は語句を特定しても良く、言語モデルがこれらの頻繁に用いられる検索語に基づき更新されても良い。他の実施形態では、関心のあるトピックに関連する語及び／又は語句は、そのような語又は語句を特定する１又は複数の人間により手動で特定されても良い。
【００８３】
言語モデルは、このように、任意の所望の頻度で更新されても良い。例えば、幾つかの実施形態では、言語モデルは、１日１回、２日に１回、１日２回、１週間に１回のような定期的な間隔で又は種々の他の可能な間隔のうちの任意の間隔で、更新されても良い。幾つかの実施形態では、言語モデルは、ユーザからの言語モデルを更新する指示のようなユーザ動作に応答して、又は任意の他の適切な方法で更新されても良い。
【００８４】
幾つかの実施形態では、ユーザの検索クエリで提供される語、ウェブクロールから得られた語、及び／又は他のソースから得られた語は、収集され、言語モデルを更新するために用いられても良い。ソースデータ内の語の発生回数を示す語数が維持され、語数が閾値を超える語が言語モデルに追加されても良い。
【００８５】
幾つかの実施形態では、言語モデルに追加されるべき各語の自動発音（例えば、音素列）が生成され、対応する語と共に言語モデルに含められても良い。幾つかの実施形態では、人間の校閲者（例えば、言語学者）が吟味し、保証された場合、言語モデルに追加する前に自動的に生成された発音を修正しても良い。
【００８６】
幾つかの実施形態では、検索クエリの自動会話認識で用いられる言語モデルは、ユーザがどの検索結果を選択したかを示すフィードバックを用いて更新されても良い。これは、種々の可能な方法のうちの任意の方法で行われても良い。例えば、幾つかの実施形態では、自動会話認識は、ユーザの供給した音声検索クエリのオーディオデータから認識結果を生成しても良い。この認識結果は、１又は複数の検索エンジンに供給される１又は複数の検索クエリの基礎として機能しても良い。また、１又は複数の検索エンジンからの検索結果が、１又は複数のクエリに応答して返されユーザに表示されても良い。ユーザは、１又は複数の検索結果を選択し、特定のウェブページ又はコンテンツのピースを閲覧しても良い。幾つかの実施形態では、どの検索結果をユーザが選択したかに関する情報は、自動会話認識により用いられる言語モデルを更新するために用いられても良い。例えば、ユーザは、検索クエリ「Willie  Mays」を話すが、自動会話認識はその会話を誤って「Willy  Maze」として認識し得る。したがって、語句「Willy  Maze」のための検索クエリが１又は複数の検索エンジンへ発行され得る。しかしながら、１又は複数の検索エンジンは、自身の結果リストの中で、Willie  Maysに関する要人情報を有するウェブページへのハイパーリンクを返すことができる。ユーザがこのハイパーリンクを選択して該ウェブページにアクセスする場合、ウェブページのコンテンツは、言語モデルを更新するために用いられても良い。これは、次回、ユーザが語句「Willie  Mays」を話す可能性を高め、正しく認識されるだろう。
【００８７】
幾つかの実施形態では、特定のユーザのために用いられる言語モデルは、該ユーザから得られた以前の言葉を用いて、該ユーザの会話にカスタマイズされても良い。これは、種々の方法のうちの任意の方法で行われても良い。例えば、幾つかの実施形態では、特定の話者から受信した音声データは、そのデータを「説明する」ために代表的な潜在的話者の集合を発見することを目的として、Bag-of-wordの特徴ベクトルとして表されても良い。結果として、例えば、類似する話者は確率的方法で一緒にクラスタ化される。これらのクラスタは、潜在的話者言語モデルのコンポーネントの集合を構築するために用いられても良い。これらの潜在的コンポーネントを用いて、適応が実行される特定の話者から受信した音声データを用いて話者特有の言語モデルコンポーネントの線形補間重みを推定することを介して、特定のユーザへの適応が実行される。
【００８８】
幾つかの実施形態では、特定のユーザのために用いられる言語モデルは、該ユーザの過去の閲覧情報に基づき更新されても良い。これは、種々の方法のうちの任意の方法で達成されても良い。例えば、ユーザの閲覧履歴に基づき、頻繁に訪れるウェブサイトが特定されても良い。会話クエリを認識するために用いられる言語モデルは、頻繁に訪問されたウェブサイトからのコンテンツが強調されるトレーニングコーパスを用いて再トレーニングされても良い。
【００８９】
自動会話認識を実現するために言語モデルを選択する上述の技術の任意のもの又は全ては、互いに組み合わせて用いることができる。さらに、理解されるべき点は、言語モデルを選択するこれらの技術は用いられなくても良く、幾つかの実施形態では、全ての音声入力を処理するために同じ言語モデルが用いられても良い。
【００９０】
＜ＩＩ．問い合わせるべき検索エンジンの決定＞
上述のように、処理２００の動作２０３で、ユーザ特有の検索クエリを受信するのに応答して、アプリケーションプログラムは、どれだけ多くの及びどの検索エンジンに問い合わせるべきかを決定する。これは、種々の方法のうちの任意の方法で達成されても良い。
【００９１】
例えば、幾つかの実施形態では、問い合わせるべき検索エンジンのセットは静的であっても良い。例えば、アプリケーションプログラムは、ハードコードされても良く、又は検索エンジンの特定のセットに問い合わせるよう構成されても良い。このような実施形態では、アプリケーションプログラムは、該アプリケーションプログラムが受信した各々のユーザの供給した検索クエリに応答して検索エンジンの同じセットに問い合わせる。したがって、これらの実施形態では、動作２０３は、単にアプリケーションプログラム内の又はアプリケーションプログラムによりアクセス可能な静的な情報により特定される検索エンジンにより問い合わせられるべき検索エンジンを決定するアプリケーションプログラムのソフトウェアコードを実行することにより実行されると考えられ得る。
【００９２】
他の実施形態では、どの検索エンジンに問い合わせるべきかの決定は、１又は複数の種々の可能な基準に基づき動的に行われても良い。例えば、問い合わせられるべき検索エンジンは、問い合わせるべき１又は複数の検索エンジンを示すユーザからの明示的な指示に基づき決定されても良く、クエリを供給するユーザの過去の閲覧情報又はアクセスパターンに基づき決定されても良く、クエリを供給するユーザとは異なる１又は複数の他のユーザの過去の閲覧情報又はアクセスパターンに基づき決定されても良く、前述のうちの２以上の組合せに基づき決定されても良く、及び／又は多数の他の可能な基準のうちの１又は複数に基づき決定されても良い。
【００９３】
幾つかの実施形態では、先に列挙した基準を用いた、どの検索エンジンに問い合わせるべきかの決定は、クライアント装置で実行されるアプリケーションプログラムにより行われても良い。他の実施形態では、先に列挙した基準を用いた、どの検索エンジンに問い合わせるべきかの決定は、アプリケーションプログラムを実行するクライアント装置の外部のコンピュータにより行われても良い。また、このコンピュータは、問い合わせられるべき検索エンジンを特定する情報をアプリケーションプログラムに提供しても良い。これらの実施形態では、アプリケーションプログラムは、該アプリケーションプログラムに外部コンピュータから提供された情報から、どの検索エンジンに問い合わせるべきかを決定する。
【００９４】
例えば、図６に示した環境では、どの検索エンジンに問い合わせるべきかについての決定は、サーバ６０５により行われても良く、この決定に基づき、サーバ６０５は、クライアント装置６０３で実行されているアプリケーションプログラムに、どの検索エンジンに問い合わせるべきかを指示しても良い。幾つかの実施形態では、サーバ６０５は、問い合わせられるべき検索エンジンのＵＲＬ（Universal  Resource  Locator）をアプリケーションプログラムに提供することにより、どの検索エンジンに問い合わせるべきかについて、アプリケーションプログラムに指示しても良い。ここで、問い合わせられるべき検索エンジンのＵＲＬは、該検索エンジンのために適切にフォーマットされた検索文字列を含む。例えば、図８に示すように、クライアント装置８０３で実行されているアプリケーションプログラムは、ユーザ８０１から検索クエリを受信しても良い。検索クエリは、テキストフォーマット、オーディオフォーマット又は特定の他のフォーマットであっても良い。クライアント装置８０３は、ユーザの供給した検索クエリをサーバ８０５に渡しても良い。サーバ８０５は、どの検索エンジンに問い合わせるべきかを決定し、決定した検索クエリのＵＲＬを適切な検索文字列と共に生成し、該ＵＲＬをクライアント装置８０３のアプリケーションプログラムに返しても良い。ユーザの供給したクエリがオーディオデータとして供給される音声クエリである状況では、幾つかの実施形態では、サーバ８０５は、該オーディオデータに対して自動会話認識を実行して認識結果を生成し、該認識結果に基づいてどの検索エンジンに問い合わせるべきかを決定しても良い。他の実施形態では、自動会話認識は、クライアント装置８０３で実行されても良く、オーディオデータではなく認識結果がクライアント装置８０３からサーバ８０５へ送信されても良い。
【００９５】
図９は、検索クエリ「Miles  Davis」に対する３つの異なる検索エンジンのために生成され得るＵＲＬの一例を示す。どの検索エンジンに問い合わせるべきかに関する決定がクライアント装置だけで行われる実施形態では、クライアント装置が、異なる検索エンジンのＵＲＬを生成しても良い。どの検索エンジンに問い合わせるべきかに関する決定がサーバで行われる幾つかの実施形態では、サーバがどの検索エンジンに問い合わせるべきかをクライアント装置に指示しても良く、クライアント装置がこれらの検索エンジンのＵＲＬを生成しても良い。
【００９６】
幾つかの検索エンジンは、単純なＵＲＬでは問い合わせられない。例えば、幾つかの検索エンジンでは、クライアント装置が、先ず検索エンジンとのコネクション又はセッションを確立し、次に検索エンジンにクエリを送信する。このように検索エンジンが問い合わせられるべき検索エンジンとして特定される場合、ユーザの供給したクエリの内容に基づくクエリが、該検索エンジンのために適したフォーマットで生成され得る。ＵＲＬのように、このような検索エンジンに対するクエリは、クライアント装置のアプリケーションプログラムにより、及び／又はクライアント装置の外部のコンピュータ（例えば、サーバ６０５）により生成されても良い。
【００９７】
上述のように、幾つかの実施形態では、どの検索エンジンに問い合わせるべきかの決定は、少なくとも部分的に、彼又は彼女が問い合わせたい検索エンジンを特定する、ユーザからの直接入力に基づいても良い。例えば、ユーザは、彼又は彼女が問い合わせたい検索エンジンをアプリケーションプログラムにより提供されたリストから選択しても良く、ユーザは、クエリの中で検索エンジンを特定しても良く（例えば、「George  WashingtonについてのWikipediaのページを下さい」又は「John  Doe’s  Bar  and  GrillについてのYelpのレビューを下さい」等）、又は特定の他の方法でこの入力を提供しても良い。
【００９８】
幾つかの実施形態では、このような入力は、ユーザが検索クエリをアプリケーションプログラムに提供する度に供給されても良い。他の実施形態では、この入力は、ユーザにより一度だけ供給されても良く、アプリケーションプログラムは、ユーザの示した検索エンジンを特定する情報を格納しても良く、ユーザの供給した検索クエリが受信される度に、アプリケーションプログラムは、この格納した情報を用いてどの検索エンジンに問い合わせるべきかを決定しても良い。
【００９９】
幾つかの実施形態では、アプリケーションプログラムがこの情報を格納する代わりに、アプリケーションプログラムはこの情報を外部コンピュータ（例えば、図６のサーバ６０５）に供給しても良く、この情報は外部コンピュータに格納されても良い。したがって、ユーザが検索クエリをアプリケーションプログラムに入力するとき、サーバ６０５は、この情報を用いてどの検索エンジンに問い合わせるべきかを決定しても良く、（例えば、ＵＲＬを供給することにより又は特定の他の方法で）アプリケーションプログラムにこれらの検索エンジンに問い合わせるよう指示しても良い。
【０１００】
上述のように、１又は複数の問い合わせられるべき検索エンジンは、ユーザの供給した検索クエリの内容に基づき決定されても良い。幾つかの実施形態では、ユーザの供給した検索クエリが、ユーザの供給した検索クエリがコンテンツを要求する検索エンジンの名前を有する場合、該検索エンジンは、問い合わせられるべき検索エンジンとして選択されても良い。例えば、ユーザは、検索クエリ「Miles  Davisに関するwikipediaのページを下さい」を供給しても良い。したがって、wikipedia.comのための検索エンジンが、問い合わせられるべき検索エンジンとして選択されても良い。
【０１０１】
幾つかの実施形態では、１又は複数の問い合わせられるべき検索エンジンは、ユーザの要求する情報の種類に基づき決定されても良い。例えば、ユーザが靴に関する情報を要求する検索クエリを供給する場合、オンライン靴小売店のウェブサイトのための検索エンジンが、問い合わせられるべき検索エンジンとして選択されても良い。べつの例では、ユーザが「ニューヨーク市の現在の天気は何ですか」のような検索クエリを供給する場合、天気ウェブサイトの検索エンジンが、問い合わせられるべき検索エンジンとして選択されても良い。
【０１０２】
また、上述のように、幾つかの実施形態では、１又は複数の問い合わせられるべき検索エンジンが、クエリを発行したユーザの過去の閲覧情報若しくはアクセスパターン及び／又は１又は複数の異なるユーザの過去の閲覧情報若しくはアクセスパターンに基づき決定されても良い。例えば、過去の閲覧情報が、ユーザが検索エンジンＡからの検索結果の中で返されたリンクを非常に頻繁に選択するが、検索エンジンＢからの検索結果の中で返されたリンクを非常に希にしか選択しないことを示す場合、検索エンジンＡが問い合わせられるべき検索エンジンとして選択され、検索エンジンＢは選択されなくても良い。
【０１０３】
同様に、幾つかの実施形態では、他のユーザの過去のアクセスパターンが、他のユーザが特定の検索エンジンからの検索結果の中で返されたリンクを頻繁に選択すると示す場合、該検索エンジンが問い合わせられるべき検索エンジンとして選択されても良い。例えば、他のユーザの過去のアクセスパターンが、ユーザが検索エンジンＡからの天気へのリンクを頻繁に選択し、検索エンジンＢからの天気へのリンクを非常に希にしか選択しないと示す場合、検索エンジンＡが問い合わせられるべき検索エンジンとして選択されても良い。
【０１０４】
＜ＩＩＩ．選択された検索エンジンへのクエリの発行＞
上述のように、処理２００の動作２０５で、クライアント装置で実行されているアプリケーションプログラムは、動作２０３で特定された検索エンジンへ検索クエリを発行しても良い。上述のように、アプリケーションプログラム又はクライアント装置の外部のコンピュータ（例えばサーバ）は、検索エンジンの各々に対応するＵＲＬ又は他の種類の検索クエリを生成しても良い。ここで、各ＵＲＬ又はクエリは、ユーザから受信した検索クエリに基づく検索文字列を有し（例えば、検索クエリは処理２００の動作２０１で受信される）、対応する検索エンジンのために適切にフォーマットされる。
【０１０５】
動作２０５で、アプリケーションプログラムは、（例えば、ＵＲＬにアクセスすることにより）検索クエリを発行し、選択した検索エンジンの各々に対応するＵＲＬに含まれる検索文字列に対する検索を実行させても良い。
【０１０６】
図２の処理２００では、検索クエリは、クライアント装置で実行されているアプリケーションプログラムにより発行され、検索結果が検索エンジンからクライアント装置のアプリケーションプログラムへ返される。これは、問い合わせられる検索エンジンが大量のクエリを同じサーバ又はＩＰアドレスから受信しないという利点をもたらす。上述のように、膨大な数のクライアントの代わりにサーバが検索エンジンにクエリを発行した場合、問い合わせられる検索エンジンは、単一のソースから膨大な数のクエリを受信し、この動作は単一のユーザが膨大な数の検索クエリを検索エンジンに発行しているものと見なされ得る。多くの検索エンジン運営者等は、この動作が検索エンジンサービスの悪用及び／又は潜在的なサービス拒否攻撃であると考え、このような多数のクエリを発行しているソースから彼らの検索エンジンへの検索クエリをブロックする措置を取り得る。クライアント装置から検索クエリを発行することにより、検索エンジンは、これらのクエリが該クエリを発行するようにされたクライアント装置から発行されていると見なし、このようなクエリの発行を通常のユーザ動作として取り扱うことができる。
【０１０７】
しかしながら、ＵＲＬ又はクエリがクライアント装置の外部のコンピュータ（例えば、図６のサーバ６０５）により生成される場合、該コンピュータは、クエリを発行し、対応する検索エンジンから検索結果を受信し、これらの検索結果をクライアント装置のアプリケーションプログラムに返しても良い。
【０１０８】
幾つかの実施形態では、動作２０３で選択された各検索エンジンに対するクエリは、動作２０１でユーザから検索クエリを受信するのに応答して自動的に発行されても良い。他の実施形態では、動作２０３で選択された検索エンジンの全部又は一部に対するクエリは、ユーザから該検索エンジンからの検索結果を見たいと要求する入力を供給するまで、該検索エンジンへ発行されなくても良い。例えば、幾つかの検索エンジンからの検索結果は、大量のコンテンツを有しても良い。一例として、ビデオクリップを提供するウェブサイトのための検索エンジンからの検索結果は、結果のリストに含まれる各ビデオのサムネイル画像を有しても良い。したがって、検索エンジンからクライアント装置又は外部コンピュータへの検索結果の転送は、比較的長時間を要し得る。検索結果を転送するのに要する時間は、ユーザが検索エンジンからの検索結果を見ていない場合、有益に使われない時間である。したがって、幾つかの実施形態では、膨大な数の画像、ビデオデータ、オーディオデータのような帯域集中型コンテンツ及び／又は他の帯域集中型コンテンツを含む結果を返す検索エンジンへの検索クエリは、ユーザの供給した検索クエリを受信するのに応答して自動的に発行されなくても良い。一方で、帯域集中型コンテンツを含まない結果を返す検索エンジンへの検索クエリは、自動的に発行されても良い。
【０１０９】
理解されるべき点は、検索結果セットのコンテンツのサイズ（又はコンテンツの期待されるサイズ）は、検索クエリを自動的に特定の検索エンジンへ発行するか否か又は該検索エンジンへクエリを発行する前に特定のユーザ指示を待つか否かを決定するために用いられ得る基準の一例であることである。種々の他の基準又は基準の組合せが用いられても良い。
【０１１０】
＜ＩＶ．検索エンジンからの検索結果の受信＞
上述のように、処理２００の動作２０７で、クライアント装置で実行されているアプリケーションプログラムは、動作２０５で問い合わせられた検索エンジンにより生成された検索エンジンの結果を受信しても良い。検索エンジンの結果は、種々の可能な方法のうちの任意の方法で行われても良い。クライアント装置が検索クエリをこれらの検索エンジンへ発行する実施形態では、各検索エンジンは、自身の結果をクライアント装置へ直接提供しても良い。外部コンピュータ（例えば、図６のサーバ６０５）が検索クエリを検索エンジンへ発行する実施形態では、各検索エンジンは、自身の結果を外部コンピュータへ提供し、外部コンピュータはこれらの結果をクライアント装置へ提供しても良い。
【０１１１】
結果は、種々のフォーマットのうちの任意のフォーマットで受信されても良い。幾つかの検索エンジンは、検索クエリに関連すると特定されたコンテンツ及び／又はウェブページへのハイパーリンクを含むＨＴＭＬ（hypertext  markup  language）ウェブページとして結果を提供する。他の検索エンジンは、異なるフォーマットで結果を提供しても良い。理解されるべき点は、アプリケーションプログラムが種々のフォーマットのうちの任意のフォーマットで結果を受信しても良く、受信した全ての検索結果が同一のフォーマットである必要がないことである。
【０１１２】
＜Ｖ．検索結果の表示＞
処理２００の動作２０９で、アプリケーションプログラムは、動作２０７で受信した検索結果をクライアント装置に統合された又はそれに結合されたディスプレイに表示させても良い。結果は、種々のフォーマットのうちの任意のフォーマットで表示されても良く、種々の可能な方法のうちの任意の方法で提示されても良い。
【０１１３】
例えば、幾つかの実施形態では、検索結果をＨＴＭＬウェブページとして提供する検索エンジンからの検索結果は、ウェブページ内のＨＴＭＬコードをレンダリングすることにより表示されても良い。これは、検索エンジンから受信したＨＴＭＬコードをレンダリングしない上述のDogpile（登録商標）のようなメタ検索エンジンからの表示結果と異なり、このＨＴＭＬコードからリンクを抽出し、新しいＨＴＭＬコードを生成して、抽出したリンクを表示する。
【０１１４】
ＨＴＭＬフォーマットで受信されない検索結果では、受信した検索結果を表示するためにＨＴＭＬコードが自動的に生成され、これらの検索結果は、自動的に生成したＨＴＭＬコードをレンダリングすることにより表示されても良い。
【０１１５】
幾つかの実施形態では、各検索エンジンからの検索結果は、他の検索エンジンからの検索結果と視覚的に離されて表示され、検索結果を見るユーザに、殿検索エンジンがどの検索結果セットを提供したかを明らかにするようにしても良い。さらに、このような実施形態の幾つかでは、各検索エンジンから返された検索結果のリストの順序は、各検索エンジンの表示された検索結果の中で保存されて、各検索エンジンが自身の各検索結果を決定したどのような関連性がリスト内にあるかをユーザが見られるようにしても良い。
【０１１６】
検索エンジンからの検索結果は、種々の可能な方法のうちの任意の方法で互いに視覚的に分離されても良い。例えば、幾つかの実施形態では、複数の検索エンジンからの検索結果は、ディスプレイに同時に、列に、行に又は特定の他の方法で分けられて表示されても良い。幾つかの実施形態では、１つのみの検索エンジンの検索結果が、所与の時間にディスプレイに表示されても良く、ユーザは、どの検索エンジンの検索結果が表示されるかを、アイコン、ボタン又は他のユーザインタフェースの要素を選択することにより制御しても良い。
【０１１７】
幾つかの実施形態では、各スロットが検索結果が受信された検索エンジンの１つに対応する複数のスロットを有するカルーセルがディスプレイ装置に表示されても良い。カルーセルの１つのスロットがユーザにより選択されると、選択された１つのスロットに対応する検索エンジンからの検索結果をディスプレイに表示させる。図１０は、このようなカルーセルを用いるディスプレイ１０００の一例を示す。図１０は、Cupertino,  CAのApple  Computerから入手可能なiPhone（登録商標）のためのBurlington,  MAのNuance  Communications,  Inc.から入手可能なDragon  Search（登録商標）からの検索結果のスクリーンショットである。図１０のスクリーンショットは、複数の検索エンジンからの検索結果を表示するために用いられ得る種々の可能性の一例である。
【０１１８】
図１０で、ディスプレイ１０００は、カルーセル１００１が表示される第１の領域を有する。カルーセル１００１は、多数のスロット１００３ａ、１００３ｂ、１００３ｃ、１００３ｄ、１００３ｅを有し、各スロットは、動作２０７で検索結果が受信された検索エンジンに対応する。上述のように、スロット１００３の対応する検索エンジンは、汎用検索エンジン及び／又はサイト特有検索エンジンを有しても良く、ユーザの供給したクエリに応答して提供される検索結果が、複数の異なる検索エンジン（一部は汎用検索エンジンであり、一部はサイト特有検索エンジンであり得る）から来るようにしても良い。
【０１１９】
幾つかの実施形態では、各スロットの対応する検索エンジンは、シンボル、アイコン、テキスト、画像又は各スロット内の該スロットに対応する検索エンジンを示す他の情報を表示することにより識別されても良い。幾つかの実施形態では、クライアント装置で受信したユーザの供給したクエリに応答して問い合わせられる検索エンジンは動的に決定されても良いので、カルーセル内のスロットに割り当てられる検索エンジンも動的に決定されても良い。つまり、例えば、スロットは、処理２００の動作２０３で選択された各検索エンジンついて、問い合わせられるべき検索エンジンとしてカルーセル内で割り当てられても良い。また、理解されるべき点は、ユーザがどの検索エンジンが問い合わせられるべきかを（直接又は間接に）指定する実施形態では、ユーザは、どの検索エンジンがカルーセル内のスロットに割り当てられるべきかを設定しても良い。さらに、幾つかの実施形態では、カルーセルのスロットの特定の検索エンジンへの割り当ては、検索エンジンにより返される結果に基づき行われても良い。例えば、処理２００の動作２０３で問い合わせられるべき検索エンジンとして選択された検索エンジンの１つが検索結果を返さない又はクエリの結果としての検索結果が見付からない指示を返した場合、カルーセル内のスロットは、該検索エンジンに割り当てられなくても良く、該検索エンジンから返されたページは、ユーザに表示されなくても良い。
【０１２０】
ディスプレイ１０００は、検索結果が表示される領域１００５も有する。カルーセル１００１内のスロット１００３の１つがユーザにより選択されると、選択されたスロットに対応する検索エンジンから受信された結果を領域１００５に表示させる。スロット１００３が選択されたとき領域１００５に表示される結果はユーザから受信したクエリに依存するので、領域１００５に表示される内容は、異なるユーザの発行したクエリ毎に異なり得る。つまり、例えば、ユーザがカルーセル１００１内のスロット１００３ｂを選択したとき、領域１００５に表示される内容は、クエリ「Miles  Davis」に対するものと、クエリ「George  Washington」に対するものとで異なり得る。したがって、スロットが選択される度に同じ内容を表示するのではなく、異なる内容がユーザにより発行された異なる検索クエリに対して表示され得る。この意味で、ユーザがカルーセルのスロットを選択することに応答して表示される内容は、「動的」であると考えられる。
【０１２１】
ディスプレイ１０００は、カルーセル１００１内のどのスロット１００３が現在選択されているかを示すインジケータ（例えば、矢印又は特定の他の種類のインジケータ）１００７も有しても良い。このインジケータは、どの検索エンジンの検索結果が領域１００５に表示されているかをユーザに特定させる。
【０１２２】
ディスプレイ１０００は、クエリフィールド１００９も有しても良い。フィールド１００９に表示される検索クエリは、検索結果が受信された検索エンジンの各々に発行された検索クエリの基礎をユーザに示す。上述の議論から理解されるように、幾つかの実施形態では、全てユーザの供給した検索クエリに基づく異なる検索クエリが、異なる検索エンジンへ発行さても良い。このような実施形態では、クエリフィールド１００９は、ユーザの供給したクエリに応答して発行された異なる検索クエリの各々の基礎として機能した該ユーザの供給したクエリを表示しても良い。
【０１２３】
ユーザは、種々の方法のうちの任意の方法で検索クエリをフィールド１００９に入力してもよい。幾つかの実施形態では、ユーザは、（例えば、物理的な又はタッチスクリーン式のキーボードを介して）テキスト入力をフィールド１００９に提供しても良い。幾つかの実施形態では、ユーザはフィールド１００９に音声入力を供給してもよい。図１０の例では、ユーザが音声入力をフィールド１００９に供給したいとき、ユーザは、選択ボタン１０１１を選択肢、彼又は彼女の検索クエリをクライアント装置のマイクロフォンに話しても良い。
【０１２４】
幾つかの実施形態では、処理２００の動作２０５で問い合わせられた検索エンジンから検索結果が受信されたとき、１つのカルーセルのスロットがデフォルトで選択され、１つの検索エンジンの検索結果が領域１００５に自動的に表示されるようにしても良い。デフォルトのカルーセルのスロットは、種々の方法のうちの任意の方法で選択されても良い。例えば、デフォルトのカルーセルのスロットは、どの検索エンジンの結果をユーザが最も頻繁に見るかに基づき、ユーザのクエリの内容に基づき、どの検索エンジンが最も一般的な結果を提供するかに基づき、及び／又は任意の他の適切な１又は複数の基準に基づき選択されても良い。
【０１２５】
さらに、特定の検索エンジンから返された全ての結果が一度に領域１００５に適合しなくても良い。したがって、幾つかの実施形態では、ユーザは、検索結果のリストを上及び下へスクロールする機能、及び／又は結果が表示されるズームレベルを調整する機能を提供され、検索結果のどの部分が領域１００５に表示されるかを調整できるようにしても良い。
【０１２６】
さらに、カルーセルのスロット内の検索エンジンの順序は、種々の方法のうちの任意の方法で選択されても良い。幾つかの実施形態では、検索エンジンは、ユーザにより使用される頻度に基づき、ユ―ザのクエリの内容に基づき、及び／又は他の適切な１又は複数の基準に基づき並べられても良い。
【０１２７】
図１０に示すように、ディスプレイのサイズにより、カルーセル１００１の全てのスロットが一度にディスプレイに表示できなくても良い。例えば、図１０で、スロット１００３ａ、１００３ｅは、部分的にしか表示されない。さらに、カルーセル１００１は、図１０に全く表示されない更なるスロットを有しても良い。幾つかの実施形態では、ユーザは、カルーセルのどのスロットが表示されるかを、カルーセルをディスプレイの右側及び／又は左側へシフトすることにより調整しても良い。これは、種々の方法のうちの任意の方法で達成されても良い。例えば、ユーザは、マウスのようなポインティング装置を用いて、カルーセルを一方向にドラッグしても良い。ディスプレイ１０００がタッチスクリーンに表示される実施形態では、ユーザは、彼又は彼女の指を用いて、カルーセルを一方向にドラッグしても良い。
【０１２８】
幾つかの実施形態では、カルーセル１００１は、回り込み式ディスプレイ１０００であってもよい。したがって、例えば、ユーザがカルーセル１００１をディスプレイ１０００の左側へ連続してドラッグする場合、左に動いているカルーセル１００１のスロットは、ディスプレイの左側へ消えていき、最終的に右側でディスプレイに再び入ってくる。これに関し、カルーセル１００１を特定の方向にドラッグすることは、その方向にカルーセルを回転することと考えられる。
【０１２９】
＜ＶＩ．ユーザ動作のモニタ＞
上述のように、１又は複数の検索エンジンからの検索結果がユーザに表示されるとき、ユーザは、検索結果のリストの一部又は全部を見ることができ、結果のリスト内で特定されるウェブページ又はコンテンツへのハイパーリンクにアクセスできる。
【０１３０】
幾つかの実施形態では、アプリケーションプログラムは、検索結果に対して行われたユーザ動作を監視しても良く、監視したユーザ動作に関する情報を格納しても良い。ユーザ動作の監視に関する本発明の態様はこれに関して限定されないので、監視した動作は任意の適切な形式で行うことができる。幾つかの実施形態では、監視したユーザ動作は、例えば、どの検索エンジンの検索結果をユーザは見たか及びどのウェブページ及び／又はコンテンツにユーザはアクセスしたかを含んでも良い。
【０１３１】
監視したユーザ動作を説明する情報は、後に音声クエリの自動会話認識で用いられる言語モデルを更新するために、後のユーザクエリに応答してどの検索エンジンに問い合わせるべきかを決定するために、検索結果がどのように提示されるべきかを決定するために（例えば、どのカルーセルのスロットがデフォルトスロットか及び／又は検索エンジンがカルーセルのスロット内に位置付けられるべき順序を決定するために）、及び／又は検索エンジンに問い合わせる及び／又は検索エンジンの結果を表示する種々の他の態様を実現するために、用いられても良い。
【０１３２】
クライアント装置の外部のコンピュータがこのような情報を用いて検索エンジンに問い合わせる上述の態様を実現する実施形態では、クライアント装置は、監視した情報を外部コンピュータへ送信しても良い。外部コンピュータは、この情報をクライアント装置、クライアント装置のユーザ、及び／又は情報が送信されたネットワークアドレスと関連付け、該情報を後の使用のために格納しても良い。
【０１３３】
＜ＶＩＩ．追加の実装の詳細＞
上述のコンピュータ装置（例えば、クライアント装置、サーバ、外部コンピュータ、及び／又は任意の他の上述のコンピュータ装置）は、種々の方法のうちの任意の方法で実施されても良い。図１１は、任意の上述のコンピュータ装置を実施するために用いることのできる説明のためのコンピュータ装置１１００のブロック図である。
【０１３４】
コンピュータ装置１１００は、１又は複数のプロセッサ１１０１、１又は複数の有形非一時的コンピュータ可読記憶媒体（例えば、メモリ１１０３）を有しても良い。メモリ１１０３は、有形非一時的コンピュータ可読記憶媒体に、任意の上述の機能を実施するコンピュータ命令を格納しても良い。プロセッサ１１０１は、メモリ１１０３に結合されても良く、このようなコンピュータ命令を実行して該機能を実現及び実行させても良い。コンピュータ装置１１００は、ネットワーク入力／出力（Ｉ／Ｏ）インタフェース１１０５も有しても良い。Ｉ／Ｏインタフェース１１０５を介して、コンピュータ装置は、（例えば、ネットワークを介して）他のコンピュータと通信しても良い。また、コンピュータ装置１１００は、１又は複数のユーザＩ／Ｏインタフェースも有しても良い。ユーザＩ／Ｏインタフェースを介して、コンピュータは、ユーザへ出力を提供しユーザからの入力を受信しても良い。ユーザＩ／Ｏインタフェースは、キーボード、マウス、マイクロフォン、ディスプレイ装置（例えば、モニタ又はタッチスクリーン）、スピーカ、カメラ、及び／又は種々の他の種類のＩ／Ｏ装置のような装置を有しても良い。
【０１３５】
本発明の上述の実施形態は、種々の方法のうちの任意の方法で実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組み合わせで実施されても良い。ソフトウェアで実施されるとき、単一のコンピュータで又は複数のコンピュータ間で分散して提供されるかに関わらず、ソフトウェアコードは、任意の適切なプロセッサ又はプロセッサの集合で実行できる。理解されるべき点は、上述の機能を実行する任意のコンポーネント又はコンポーネントの集合が、概して、上述の機能を制御する１又は複数の制御部と考えられることである。１又は複数の制御部は、上述の機能を実行するためにマイクロコード又はソフトウェアを用いてプログラミングされる専用ハードウェア又は（例えば、１又は複数のプロセッサ）汎用ハードウェアのような種々の方法で実施できる。
【０１３６】
これに関し、理解されるべき点は、本発明の種々の実施形態の１つの実施が、少なくとも１つの有形非一時的コンピュータ可読記憶媒体（例えば、コンピュータメモリ、フロッピディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、１又は複数のコンピュータ若しくは他のプロセッサで実行されると本発明の種々の実施形態の上述の機能を実行する１又は複数のコンピュータプログラム（つまり、複数の命令）でエンコードされたＦＰＧＡ（Field  Programmable  Gate  Array）若しくは他の半導体素子内の回路構成）を有することである。コンピュータ可読記憶媒体は持ち運び可能であり、本願明細書で議論された本発明の種々の態様を実施するために該コンピュータ可読記憶媒体に格納されたプログラムが任意のコンピュータリソースにロードできる。さらに、理解されるべき点は、実行されると上述の機能を実行するコンピュータプログラムへの言及は、ホストコンピュータで実行されるアプリケーションプログラムに限定されない。むしろ、用語コンピュータプログラムは、本願明細書では、本発明の上述の態様を実施するためにプロセッサをプログラミングするために用いることができる如何なる種類のコンピュータコード（例えば、ソフトウェア又はマイクロコード）も表すために総称的に用いられる。
【０１３７】
本発明の種々の態様は、単独で、組合せで、又は上述の実施形態で詳細に議論されていない種々の構成で用いられることができるので、それらの用途は以上に説明された又は図面に記載されたコンポーネントの詳細事項及び構成に限定されない。例えば、一実施形態で説明した態様は、任意の方法で他の実施形態で説明した大要と組合せることができる。
【０１３８】
また、本発明の実施形態は、一例を提供した１又は複数の方法として実施できる。この方法の一部として実行される動作は、任意の適切な方法で順序付けられても良い。したがって、実施形態は、図示した順序と異なる順序で動作が実行されることも想定しており、説明のための実施形態では順次的動作として示していても、幾つかの動作を同時に実行することも含む。
【０１３９】
請求項の要素を修飾するための請求項における「第１」、「第２」、「第３」等のような序数の使用は、それ自体がある請求項の要素の他者に対する優先度、先行若しくは順序、又は方法が実行される時間的順序を示すものではない。このような語は、単に特定の名称を有するある請求項の要素を、（序数の使用を除いて）同じ名称を有する他の要素と区別するためのラベルとして用いられる。
【０１４０】
本願明細書で用いられる表現及び用語は、説明を目的としており、限定として見なされるべきではない。「含む、有する（including、comprising、having、containing、involving）」及びそれらの変形は、以降に列挙される項目及び追加の項目を包含することを意味する。
【０１４１】
本発明の幾つかの実施形態を詳細に記載したが、当業者には種々の変形及び改良が直ちに生じるだろう。このような変形及び改良は、本発明の精神及び範囲内に包含される。したがって、前述の記載は、単なる例であり、限定と見なされない。本発明は、添付の請求の範囲及びその等価物によって定められるものによってのみ限定される。
【図１】
0005851507.tif 000002
【図２】
0005851507.tif 000003
【図３】
0005851507.tif 000004
【図４】
0005851507.tif 000005
【図５】
0005851507.tif 000006
【図６】
0005851507.tif 000007
【図７】
0005851507.tif 000008
【図８】
0005851507.tif 000009
【図９】
0005851507.tif 000010
【図１０】
0005851507.tif 000011
【図１１】
0005851507.tif 000012