(57)【要約】ネットワークベースサービスからの結果をクライアントアプリケーションからの結果と統合することによって豊富なルックアヘッドクエリ結果を提供するクエリ入力ボックスをクライアントアプリケーションに設けることにより、従来のクエリアーキテクチャにより提供される分割よりも勝ったアーキテクチャが提供される。ユーザがクライアント入力ボックスにクエリをタイプしている時に、リアルタイムのネットワークベース探索結果がクエリにインジェクトされる。ユーザが、クライアントアプリケーションのクエリ入力ボックスにクエリ文字を入力すると、存在するクエリ文字を使用してインターネットベースインデックスサービスを介して探索が行われる。それに応答して、探索は、提案結果を返す。これら提案結果は、その後、ユーザによる選択用にクエリ入力ボックスに提示されるクエリを完成させるために処理される。【選択図】図１
2009512068.tif 000002
【特許請求の範囲】
【請求項１】
クエリ処理を容易にするシステムであって、以下のコンピュータ実行可能コンポーネント、すなわち、
クエリ生成プロセスの期間中に、クライアントアプリケーションへのクエリデータの一部の入力を容易にするクエリコンポーネントと、
前記クエリデータの前記一部を受け取ることに応答して、ネットワークベースサービスにアクセスして追加のクエリデータを提案すると共に、ユーザへの提示用に前記追加のクエリデータを前記クエリコンポーネントへ通信する探索コンポーネントと、
を備える、システム。
【請求項２】
請求項１に記載のシステムにおいて、前記クエリコンポーネントは、前記クライアントアプリケーションのクライアント入力ボックスを含む、システム。
【請求項３】
請求項１に記載のシステムにおいて、前記クエリコンポーネントの入力は、ユーザが前記クライアントアプリケーションに１つ又は２つ以上の文字をタイプしている時に、前記提案された追加のクエリデータを、前記クライアントアプリケーションを介して提示する、システム。
【請求項４】
請求項１に記載のシステムにおいて、前記ネットワークベースサービスは、インターネットサービスである、システム。
【請求項５】
請求項１に記載のシステムにおいて、前記クエリコンポーネントは、前記クライアントアプリケーションのブラウザ探索ボックス、ブラウザナビゲーションボックス、及びデスクバーボックスのうちの少なくとも１つへの前記提案された追加のクエリデータの入力を容易にする、システム。
【請求項６】
請求項１に記載のシステムにおいて、前記クエリデータは、前記クライアントアプリケーションの入力ボックスに入力される単一の文字である、システム。
【請求項７】
請求項１に記載のシステムにおいて、前記クライアントアプリケーションは、ワードプロセッシングアプリケーション、ブラウザアプリケーション、スプレッドシートアプリケーション、及びプレゼンテーションアプリケーションのうちの少なくとも１つである、システム。
【請求項８】
請求項１に記載のシステムにおいて、前記クエリデータは、前記クライアントアプリケーションの入力ボックスに入力される複数の文字である、システム。
【請求項９】
請求項１に記載のシステムにおいて、前記追加のクエリデータは、前記クライアントアプリケーションにローカルに記憶される結果のキャッシュから提案される、システム。
【請求項１０】
請求項１に記載のシステムであって、確率的及び／又は統計的ベースの解析を用いて、ユーザが自動的に実行されることを所望する動作を予想又は推論するマシン学習／論理的判断コンポーネントをさらに備える、システム。
【請求項１１】
請求項１に記載のシステムであって、前記クエリ生成プロセスを前記ユーザの技能レベルに適応させる適応コンポーネントをさらに備える、システム。
【請求項１２】
請求項１に記載のシステムにおいて、前記追加のクエリデータは、個人化探索情報に基づいている、システム。
【請求項１３】
請求項１に記載のシステムにおいて、前記追加のクエリデータは、個人化される探索結果に基づいている、システム。
【請求項１４】
コンピュータにより実施されるクエリを処理する方法であって、以下のコンピュータ実行可能動作、すなわち、
クライアントアプリケーションのクエリ入力ボックスにクエリ文字を受け取る動作と、
前記クエリ文字に基づいて探索結果を返すインターネットベース探索サービスにリアルタイムでアクセスする動作と、
ルックアヘッド方法で追加のクエリ文字を提案する動作であって、該追加のクエリ文字が、前記探索結果を受け取ることに応答して前記クエリ文字に関連してユーザに提示される、動作と、
を含む、方法。
【請求項１５】
請求項１４に記載の方法であって、前記インターネットベース探索サービスにアクセスする動作への追加及び該動作への代替のうちの少なくとも一方として、最も好評なクエリのローカルキャッシュにアクセスする動作をさらに含む、方法。
【請求項１６】
請求項１４に記載の方法であって、
前記探索結果に基づいて精緻化されたクエリを提案する動作と、
すべてのクエリ文字が前記ユーザによって入力される前に前記探索結果に基づいて完成されたクエリを提案する動作と、
のうちの少なくとも一方をさらに含む、方法。
【請求項１７】
請求項１４に記載の方法であって、前記探索結果に基づいてクエリスペルのスペル訂正を提案する動作をさらに含む、方法。
【請求項１８】
請求項１４に記載の方法であって、
ＵＲＬクエリデータの正しいスペルを提案すると共に、ＵＲＬ探索結果に基づいて前記ＵＲＬクエリデータを訂正する動作、及び
前記ＵＲＬ探索結果に基づいて前記ユーザにＵＲＬを提案する動作、
をさらに含む、方法。
【請求項１９】
請求項１４に記載の方法であって、前記クエリがサブミットされる前に、該クエリに対する回答を提供する動作をさらに含む、方法。
【請求項２０】
コンピュータにより実行可能なシステムであって、
クライアントアプリケーションのクエリ入力ボックスにクエリ文字を受け取るコンピュータにより実施される手段と、
前記クエリ文字に基づいて探索結果を返すインターネットベース探索サービスにリアルタイムでアクセスするコンピュータにより実施される手段と、
ルックアヘッド方法で追加のクエリ文字を提案するコンピュータにより実施される手段であって、前記追加のクエリ文字が、前記探索結果を受け取ることに応答して前記クエリ文字に関連してユーザに提示される、コンピュータにより実施される手段と、
を備える、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
インターネットの出現により、膨大な量の情報が、あらゆる技能レベル及び素養を有するユーザにネットワークを介してアクセス可能にされてきた。このことは、大量のデータ（たとえば、ギガバイト及びテラバイト）をユーザのホームコンピュータに記憶することを容易にするハードウェアストレージシステムの技術進歩にも当てはまる。ユーザは、今や、ホームユーザ及びプロフェッショナルユーザ共に、何もかもを記憶する傾向がある。というのは、そのためのコストが安くなってきているからである。しかしながら、この場合に、これらの大量のデータを探索することが問題となってくる。
【０００２】
多くのテキスト入力及び探索結果のインターフェースは、ルックアヘッド、オートコンプリート等としても知られているいわゆる「ワードホイール」インターフェースの恩恵を受けてきたが、これにより、クエリ提案又は探索結果が表示され、各ユーザのキーストロークに応じて調整されるものである。入力の定式化にかなりの確度で成功すると、ユーザには、即座にフィードバックが与えられる。ユーザは、より迅速に入力を行うことができ、エンターキーを打つこともなく、自身のタスクを完了することさえできる。
【０００３】
多くの好評な市販のワードホイールの例がある。常時インターネット接続、ブロードバンド接続、及びプロトコルは、キーストローク及び結果がシームレスなユーザエクスペリエンスで有線で交換される驚くべき対話応答性を可能にしてきた。
【０００４】
しかしながら、現在までのところ、これらのシステムは、その提案、完了等を提供しようと試みる場合に、アクセスするデータシステムによって範囲が限定される。たとえば、ブラウザアドレスボックス及びウェブページデスクバー等のクライアントベースのシステムは、ローカルなリスト及びインデックスからの結果しか供給しない一方、インターネットベースのシステムは、インターネットベースのリスト及びインデックスからの結果しか供給しない。
【発明の開示】
【０００５】
以下において、簡潔な概要を提示するが、これにより、開示されるイノベーションのいくつかの態様について基本的な理解を提供するものである。この概要は、広範囲にわたる概要ではなく、重要／決定的な要素を特定することも、本イノベーションの範囲を画定することも意図していない。この概要の唯一の目的は、後に提供するより詳細な説明の前置きとして、いくつかの概念を簡単化された形で提示することである。
【０００６】
本イノベーションは、従来のアーキテクチャにより提供される分割（division）よりも勝るが、それは、ネットワークベースサービス（たとえば、インターネットベースサービス）からの結果をクライアントアプリケーションからの結果と統合することによってより豊富なルックアヘッドクエリ結果を提供するクエリ入力ボックスを、クライアントアプリケーションに設けていることによるものである。換言すれば、ユーザがクライアント入力ボックスにクエリをタイプしている時に、リアルタイムのネットワークベース探索結果がクエリにインジェクトされる。ユーザが、クライアントアプリケーションのクエリ入力ボックスにクエリ文字を入力すると、存在するクエリ文字を使用してインターネットベースインデックスサービスを介して探索が行われる。それに応答して、探索は、提案結果を返す。これら提案結果は、その後、ユーザによる選択用にクエリ入力ボックスに提示されるクエリを完成させるために処理される。
【０００７】
したがって、本明細書に開示されると共に特許請求される本発明は、その一態様では、クエリ処理を容易にするシステムを含む。このシステムは、クライアントアプリケーションへのクエリデータの一部の入力を容易にするクエリコンポーネントと、クエリデータのこの一部を受け取ったことに応答して追加のクエリデータを提案するためにネットワークベースサービスにアクセスし、ユーザに提示するために追加のクエリデータをクエリコンポーネントへ通信する探索コンポーネントとを含む。
【０００８】
本発明の別の態様では、インジェクトされたクエリデータをユーザ関連情報に従って絞るユーザ関連データにアクセスすることによって、クエリの個人化カスタマイズが提供される。
【０００９】
本発明のさらに別の態様では、ユーザ対話及びユーザ情報に従って探索結果を絞ることによって、結果の個人化が提供される。
【００１０】
本発明のさらに別の態様では、確率的及び／又は統計的ベースの解析を用いて、ユーザが自動的に実行されることを所望する動作を予想又は推論するマシン学習／論理的判断コンポーネントが提供される。
【００１１】
上記目的及び関連する目的の達成のために、開示するイノベーションの一定の例示的な態様が、以下の説明及び添付図面と共に本明細書で説明される。しかしながら、これらの態様は、本明細書で開示する原理を用いることができるさまざまな方法のごく一部を示しているにすぎず、これらの態様は、このようなすべての態様及びそれらの均等物を含むように意図されている。他の利点及び新規な特徴は、以下の詳細な照明を図面と共に検討した場合に、その以下の詳細な説明から明らかになろう。
【発明を実施するための最良の形態】
【００１２】
次に、図面を参照して本イノベーションを説明する。図面では、同じ参照符号は、図面全体を通じて同じ要素を指すのに使用されている。以下の説明では、説明の目的上、本イノベーションの完全な理解を提供するために、多数の具体的な詳細が述べられている。しかしながら、本イノベーションは、これらの具体的な詳細がなくても実施できることが明らかな場合がある。それ以外の場合には、既知の構造及びデバイスは、本イノベーションの説明を円滑にするためにブロック図の形で示されている。
【００１３】
この出願で使用される場合、「コンポーネント」及び「システム」という用語は、ハードウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかのコンピュータ関連エンティティを指すことを意図している。たとえば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、ハードディスクドライブ、（光ストレージ媒体及び／又は磁気ストレージ媒体の）マルチストレージドライブ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、及び／又はコンピュータとすることができるが、これらに限定されるものではない。例示として、サーバ上で実行されるアプリケーション及びそのサーバは、共に、コンポーネントとすることができる。１つ又は２つ以上のコンポーネントが、１つのプロセス及び／又は実行スレッド内に存在することができ、１つのコンポーネントが、１つのコンピュータに局在化することができ、且つ／又は、２つ以上のコンピュータ間に分散することができる。
【００１４】
本明細書で使用されるように、「推論する」及び「推論」という用語は、一般に、イベント及び／又はデータを介して捕捉されるような一組の観測結果から、システム、環境、及び／又はユーザの状態について論理的に判断するプロセス、又は、それらの状態を推論するプロセスを指す。推論は、特定の状況又は動作を識別するのに用いることもできるし、たとえば、状態の確率分布を生成することもできる。推論は、確率的なもの、すなわち、データ及びイベントの考慮に基づく、対象となる状態の確率分布の計算とすることができる。また、推論は、一組のイベント及び／又はデータからより高いレベルのイベントを構成するために用いられる技法を指すこともできる。このような推論の結果、イベントが時間的に極めて接近して相関していようといまいと、且つイベント及びデータが１つのイベントソース及びデータソースからのものであろうと数個のイベントソース及びデータソースからのものであろうと、一組の観測されたイベント及び／又は記憶されたイベントデータから新しいイベント又は動作が構築される。
【００１５】
情報をユーザに表示する一定の方法を、スクリーンショットとしての一定の図に関して図示して説明するが、当業者は、他のさまざまな代替的なものを用いることができることを認識するであろう。「スクリーン」、「ウェブページ」、及び「ページ」という用語は、一般に、本明細書では交換可能に使用される。ページ又はスクリーンは、ディスプレイ記述として、グラフィカルユーザインターフェースとして、又は、情報を（たとえば、パーソナルコンピュータ、ＰＤＡ、移動電話、又は他の適したデバイスのいずれであろうと）スクリーン上に描く他の方法によって記憶され、且つ／又は、送信される。ここで、ページ上に表示されるレイアウト及び情報又はコンテンツは、メモリ、データベース、又は別のストレージ設備に記憶される。
【００１６】
まず図面を参照する。図１は、新規な一態様に従ってクエリ処理を容易にするシステム１００を示している。このシステム１００は、従来のアーキテクチャにより提供される分割（division）よりも勝るが、それは、ネットワークベースサービス（たとえば、インターネットベースサービス）からの結果をクライアントアプリケーションからの結果と統合することによってより豊富なルックアヘッドクエリ結果を提供するクエリ入力ボックスを、クライアントアプリケーションに設けていることによるものである。換言すれば、ユーザがクライアント入力ボックスにクエリをタイプしている時に、リアルタイムネットワークベース探索結果がクエリにインジェクトされる。ユーザが、クライアントアプリケーションのクエリ入力ボックスにクエリ文字を入力すると、存在するクエリ文字を使用してインターネットベースインデックスサービスを介して探索が行われる。それに応答して、探索は、提案結果を返す。これら提案結果は、その後、ユーザによる選択用にクエリ入力ボックスに提示されるクエリを完成させるために処理される。
【００１７】
したがって、システム１００は、クライアントアプリケーションへのクエリデータの一部の入力を容易にするクエリコンポーネント１０２と、クエリデータのその一部を受け取ったことに応答して追加のクエリデータを提案するためにネットワークベースサービスにアクセスし、その追加のクエリデータをユーザに提示するためにクエリコンポーネント１０２へ通信する探索コンポーネント１０４とを含む。
【００１８】
図２は、新規な一態様によるクエリ処理の一方法論を示している。説明を簡単にするために、たとえばフローチャート又はフロー図の形で本明細書に示す１つ又は２つ以上の方法論は、一連の動作として図示及び説明されるが、いくつかの動作は、本イノベーションによれば、本明細書で図示及び説明されるものとは異なる順序で且つ／又は他の動作と同時に行うことができるので、本イノベーションは動作の順序によって限定されるものではないことが理解され、且つ十分に認識されるべきである。たとえば、当業者は、一方法論を、状態図等で、相互に関係した一連の状態又はイベントとして代替的に表すことができることを理解し且つ十分に認識するであろう。その上、本イノベーションによる一方法論を実施するのに、図示されるすべての動作が必要とされ得るとは限らない。
【００１９】
２００において、クライアントアプリケーションが実行のために受け取られる。２０２において、ユーザは、クライアントアプリケーションのクエリ入力ボックスにクエリ文字を入力する。２０４において、この文字は、インデックス付きのネットワークベース（たとえば、インターネットベースサービス）探索サービスに対してリアルタイムで処理される。２０６において、探索結果が、入力された文字に基づいて、ネットワークベースサービスから返される。２０８において、クエリ入力ボックスのクエリを完成させるために、探索結果の提案リストが提示される。２１０において、システムは、ユーザが、提案されたクエリの１つを選択したか否かを判断する。選択した場合には、探索結果が提示され、クエリプロセスは停止する。あるいは、ユーザが、提案されたクエリの１つを選択しなかった場合には、フローは、２１０から２１２に向かい、ユーザによってクエリ入力ボックスに入力された次のクエリ文字が受け取られる。次に、フローは、２０４に戻り、ネットワークベースインデックスサービスに対して、存在する文字の組み合わせを処理し、探索結果の新しい提案リストをクエリ入力ボックスに提供する。
【００２０】
次に図３を参照すると、別の態様に従ってクエリを処理する１つの代替的な方法論が示されている。３００において、クライアントアプリケーションが受け取られる。３０２において、ユーザは、クライアントアプリケーションのクエリ入力ボックスに文字のセット（少なくとも２つ）を入力する。３０４において、これら複数の文字は、インターネットベースインデックスサービスに対して処理される。３０６において、処理された文字セットに基づいて、探索結果が、インターネットベースサービスから返される。３０８において、完成されたクエリの提案探索結果が、リアルタイムでクエリ入力ボックスにインジェクトされ、ルックアヘッドクエリを提示する。
【００２１】
図４は、新規な一態様に従ってルックアヘッドクエリ処理を容易にするコンポーネントを用いるクライアントアプリケーション４００を示している。この実施態様では、アプリケーション４００は、トリガコンポーネント４０２、ランク付けコンポーネント４０４、ルールコンポーネント４０６、及び学習／論理的判断コンポーネント４０８と共に、図１のクエリコンポーネント及び探索コンポーネント（１０２及び１０４）を含むことができる。
【００２２】
トリガコンポーネント４０２は、クエリプロセスに影響を与える他のデータを含めることを容易にする。たとえば、ユーザプロファイル情報等の個人化情報を処理して、探索結果を精緻化又は絞ることができる。ユーザプロファイル情報は、訪問しないサイトはどのサイトであるのか、常に最初に訪問すべきサイトはどのサイトであるのか等についてのプリファレンスを含むことができる。他の個人化情報には、前の探索から追跡されて（たとえば、お気に入りファイル、履歴ファイル等に）記憶された履歴データが含まれ得る。したがって、この個人化されたトリガ情報は、ルックアヘッドリアルタイム提示のためにクエリを処理する方法に影響を与えるために、ユーザマシン又はユーザデバイスの他のアプリケーションからローカルにアクセスすることができる。
【００２３】
また、トリガコンポーネント４０２は、探索結果がユーザに返されている間に、探索結果に影響を与えたり、探索結果を精緻化したり、探索結果をフィルタリングしたりすることを容易にすることもできる。したがって、探索結果の個人化は、この場合も、たとえば、ユーザプリファレンス情報、頻繁にアクセスされるウェブサイト（たとえば、履歴ファイル）、及び／又は好まれる一組のウェブサイト（たとえば、お気に入りファイル）を考慮することによって達成することができる。一例では、ユーザが、文字「h-o-t」の入力を開始した場合、最も一般的なサイトはHotmailと考えられるが、ユーザブラウジング履歴に基づくと、アプリケーションは、実際には、Hot Jobsが、ユーザがアクセスしたいウェブサイトであることを知る。他の個人化情報は、ユーザが、通常、所与のウェブサイトにアクセスする時刻を含むことができる。たとえば、ユーザが、通常、午前８時〜午前９時の午前中にMSN.comにアクセスする場合には、この情報は、クエリ及び探索結果を精緻化するのに使用することができる。
【００２４】
ランク付けコンポーネント４０４は、結果をランク付けすることを容易にする。ランク付け基準は、この場合も、好まれるウェブサイト、（過去のクエリ入力から学習された）好まれるクエリ用語等の個人化情報に基づくことができる。
【００２５】
ルールコンポーネント４０６は、ユーザが作成でき且つ／又はインターネットサービスから渡すことができる任意の個数のルールを記憶して処理することができる。ユーザ定義のルールは、たとえば、クエリが作成されているクライアントアプリケーション又はクライアントマシン上の他の任意の関連するクライアントアプリケーションを介して作成することができる。ルールの一例は、「いずれの日も所与の時間帯の間はクエリオプションＸ及びＹのみを考慮する」である。別のルールは、「クエリ入力ボックスに入力文字列h-o-tを検出したときは、ルールＡ及びＢを実行する」とすることができる。これらは、本イノベーションによる、クエリ処理についてユーザ定義とすることができる多くのルールのほんの数例に過ぎないことが理解されるべきである。
【００２６】
クライアントアプリケーション４００は、本イノベーションによる、１つ又は２つ以上の機能を自動化することを容易にするオプションのマシン学習及び論理的判断（ＬＲ）のコンポーネント４０８も含むことができる。本イノベーションは、（たとえば、選択に関して）本イノベーションのさまざまな態様を実行するためのさまざまなＬＲベースの方式を用いることができる。たとえば、どのようなルールを課すのか決定するためのプロセスを、自動クラシファイアのシステム及びプロセスを介して容易にすることができる。
【００２７】
クラシファイアは、入力属性ベクトルｘ＝（ｘ１，ｘ２，ｘ３，ｘ４，ｘｎ）をクラスラベルｃｌａｓｓ（ｘ）にマッピングする関数である。また、クラシファイアは、入力がクラスに属する信頼度、すなわち、ｆ（ｘ）＝ｃｏｎｆｉｄｅｎｃｅ（ｃｌａｓｓ（ｘ））を出力することもできる。このような分類は、ユーザが自動的に実行されることを所望する動作を予想又は推論する（たとえば、解析のユーティリティ及びコストを要素に入れた）確率的解析及び／又は統計ベース解析を用いることができる。
【００２８】
サポートベクトルマシン（ＳＶＭ）は、使用できるクラシファイアの一例である。ＳＶＭは、最適な方法でトリガ入力イベントを非トリガ入力イベントから分離する超曲面を、可能な入力からなる空間で見つけることによって動作する。直観的には、これによって、トレーニングデータに近いが同一ではないテストデータについて分類が正確になる。他の有向モデル及び非有向モデルの分類手法には、たとえば、ナイーブベイズ、ベイジアンネットワーク、決定木、ニューラルネットワーク、ファジー論理モデル、及び異なるパターンの独立性を提供する確率分類モデルが含まれる。本明細書で使用される分類には、優先順位のモデルを発展させるのに利用される統計的回帰も含まれる。
【００２９】
本明細書から容易に認識されるように、本発明は、（たとえば、汎用トレーニングデータを介して）明示的にトレーニングされるクラシファイアだけでなく、（たとえば、ユーザの振る舞いを観察すること、外部からの情報を受け取ったりすることを介して）暗黙的にトレーニングされるクラシファイアも用いることができる。たとえば、ＳＶＭは、クラシファイアコンストラクタ及び機能選択モジュール内の学習フェーズ又はトレーニングフェーズを介して構成することができる。したがって、クラシファイア（複数可）は、多くの機能を自動的に学習して実行するのに用いることができる。これら多くの機能には、所定の基準に従って以下の実施態様例を判断することが含まれるが、これに限定されるものではない。
【００３０】
ＬＲコンポーネント４０８は、ユーザ対話の態様を学習して、後に、前に学習した態様に基づき対話を自動化することができる。たとえば、ユーザが、前のユーザ対話によってパワーユーザであることが学習された場合には、ＬＲコンポーネント４０８は、これを判断し、今後、クエリの複数の提示間を素早く移動し、また、ルックアヘッドオペレーション及び結果の処理に直接ジャンプすることによって、ユーザエクスペリエンスをさらに自動化することができる。あるいは、ユーザ対話として、ユーザがむしろ初心者ユーザであるとＬＲコンポーネント４０８が判断した場合には、ユーザがクエリ完成プロセス及び探索結果の態様をよりゆっくりと認識することを可能にするように、自動化を制限することができる。一方、ユーザがクエリプロセスの期間中しだいに技能を有するにつれて、ＬＲコンポーネント４０８は、これを学習し、クエリ完成プロセス及び探索結果のより多くの機能又は態様を自動化する。
【００３１】
別の実施態様では、ＬＲコンポーネント４０８は、ユーザ対話に基づいて実行できるルールを自動的に生成する。たとえば、ユーザが特定のウェブサイトと定期的に対話している時は、ＬＲコンポーネント４０８は、ルックアヘッドクエリオペレーションが処理されている間に他のウェブサイト結果を制限するルールを作成することができる。したがって、経時的なユーザ対話をルールとして自動的に記憶することができ、任意の時刻にアクティブ化するためにルールコンポーネント４０６に記憶することができる。別の例は、ユーザが単語をいつも決まってタイプミスする場合であり、これらのタイプミスした単語は、最終的には、ユーザの訂正、アプリケーションのスペルチェック等によって解決される。ＬＲコンポーネント４０８は、これらの定期的にタイプミスした単語を学習して、それら単語を正しいスペルに関連付け、そして、正しいスペルをルックアヘッドクエリ入力及び探索結果処理に利用することができる。これによって、ユーザが、いつも決まってタイプミスする単語をアプリケーション辞書に手動で挿入し、アプリケーション辞書がその後、エントリー時にタイプミスした単語を自動的に訂正する必要が排除される。
【００３２】
さらに別の実施態様では、ＬＲコンポーネント４０８は、特定のクライアントアプリケーションとのユーザ対話を学習し、ユーザ対話をその特定のクライアントアプリケーションに関連付ける。たとえば、ユーザが、通常、スプレッドシートアプリケーション中にクエリを入力し、そのクエリの結果、特定のウェブサイトがアクセスされる場合には、この関連性は、別のクライアントアプリケーションではなく、スプレッドシートアプリケーションに関連付けて学習し記憶することができる。しかしながら、この対話情報は、２つ以上のクライアントアプリケーションにも適用できることが分かる。
【００３３】
さらに別の例では、ＬＲコンポーネント４０８は、ユーザ対話及び学習に基づいてリアルタイムルックアヘッドフォーマットでクエリ入力ボックスに自動的に入力される文字の個数を、ユーザがむしろパワーユーザである場合には増加させ、ユーザがむしろ初心者ユーザである場合には減少させることを学習することができる。この学習は、ユーザがどれだけ高速にタイプするのか、最終的にユーザが或る提案結果を使用するときの提案文字及び／又は探索結果の不使用、スペルミスの個数等に基づくことができる。
【００３４】
これらは、ＬＲコンポーネント４０８が、本イノベーションのユーザエクスペリエンスを向上させる際に提供できる能力のごく数例にすぎないことが理解されるべきである。たとえば、学習されたユーザ対話及びクエリ入力に基づいて探索結果をランク付けする際にもＬＲコンポーネント４０８を用いることができる。一実施態様では、ユーザは、手動でスライドバー（又は他の或る制御入力）を調整して、プロセスの自動化を向上又は抑制することができる。たとえば、ユーザは、１文字ごとではなく３文字が入力された後にのみ探索を実行するようにシステムを手動で構成することができる。よりローバストな実施態様では、探索用に使用されるユーザ入力文字の個数は、ユーザ対話及び探索されている情報のタイプに基づいて動的に増減することができる。たとえば、ＵＲＬ（統一資源位置指定子）が入力されている場合には、文字単位で探索する必要がない場合があるが、一時に２〜３文字分を動的に増加させ、次いで、後のエントリープロセスで一時に単一文字に戻すことが必要となる場合がある。
【００３５】
図５は、本イノベーションの別の態様に従って、個人化情報を利用してクエリ探索を絞る一方法論を示している。５００において、クライアントアプリケーションが受け取られる。５０２において、１つ又は２つ以上の文字（たとえば、英数字、ユニコード等）が、クライアントアプリケーションのクエリ入力ボックスに一時に１つ入力される。５０４において、個人化情報（たとえば、履歴データ、お気に入りリスト、ユーザプリファレンス等）がアクセスされる。５０６において、クエリ入力ボックスに入力された文字（複数可）が、個人化ユーザデータに対して処理される。５０８において、探索がインターネットベースインデックスサービスに対して行われ、探索結果が、入力された各文字及び個人化ユーザデータに基づいて返される。５１０において、探索結果が処理され、ランク付けされ、クエリ入力ボックスでリアルタイムにクエリ入力を完成するのに利用される。
【００３６】
次に図６を参照すると、開示されるイノベーションに従って探索結果を個人化データに基づきフィルタリングする一方法論が示されている。６００において、クライアントアプリケーションが受け取られる。６０２において、ユーザが、クライアントアプリケーションのクエリ入力ボックスに文字（複数可）を入力する。６０４において、これらの文字（複数可）が、インターネットベース探索サービスに対して処理される。６０６において、探索結果が、インターネットベース探索インデックスサービスから返される。６０８において、個人化ユーザデータがアクセスされる。６１０において、探索結果が、個人化ユーザデータを使用してフィルタリングされる。上記に示したように、個人化ユーザデータには、ユーザプリファレンス、ユーザプロファイル情報、履歴対話データ、お気に入りデータ等が含まれ得る。６１２において、フィルタリングされた探索結果が使用されて、探索結果をクエリ入力ボックスにインジェクトすると共にリアルタイムでクエリ文字（複数可）の存在する文字列を完成させることによりクエリのルックアヘッド提示が提供される。
【００３７】
図７は、本イノベーションの別の態様に従ってクエリプロセスをユーザ対話に基づき適応的に調整する一方法論を示している。７００において、クライアントアプリケーションが受け取られる。７０２において、１つ又は２つ以上の文字が、ユーザによってクライアントアプリケーションのクエリ入力ボックスに入力される。７０４において、キーストロークの入力、クエリ文字、及び提案探索結果等のユーザ対話が監視される。７０６において、リアルタイムルックアヘッドクエリのインジェクションが、ユーザ対話に基づいて調整される。調整は、たとえば、キーストローク入力の速度、キーストロークを入力する正確さ、及び提案探索結果の選択に基づいて行うことができる。
【００３８】
図８は、本イノベーションの別の態様に従ってクエリプロセス中のスペル誤りをユーザ対話に基づき処理する一方法論を示している。８００において、クライアントアプリケーションが受け取られる。８０２において、１つ又は２つ以上の文字が、このアプリケーションのクエリ入力ボックスに入力される。８０４において、クエリ単語が、正しいスペルの単語の辞書に対して処理され、タイプミスした単語が正しいスペルに訂正される。これは、ローカル辞書及び／又はオンライン辞書とすることができることに留意されたい。加えて、ユーザがスペルミスした単語をその時に手動で訂正するように、この機能を手動で無効にすることもできる。
【００３９】
８０６において、クエリは、現在受け取った文字に基づいて完成される。たとえば、ユーザが、文字b-a-s-eの入力を開始する場合、システムは、提案としてユーザに対してb-a-l-lを自動的に入力することによってクエリを完成させる。たとえば、basement（地階）の場合のm-e-n-t、base station（基地局）の場合のs-t-a-t-i-o-n等、他の多くの提案をランク付けして提供することができる。
【００４０】
図９は、本イノベーションの別の態様に従ってクエリ用語を精緻化することによりクエリを絞る一方法論を示している。９００において、クライアントアプリケーションが受け取られる。９０２において、ユーザが、クライアントアプリケーションのクエリ入力ボックスに文字（複数可）の入力を開始する。９０４において、クエリが、存在する文字（複数可）の入力に基づき、インターネットベースインデックスサービスに対して実行される。９０６において、クエリ結果が処理される。９０８において、クエリは、現在受け取っている文字（複数可）及び結果について精緻化され、精緻化されたクエリが、クエリ入力ボックスに自動的に提示される。たとえば、ユーザがbaseball（野球）のためにb-a-s-eをタイプ入力している時、システムは、baseball glovesを自動的に提案する。この理由は、クエリbaseballが、おそらくあまりに一般的すぎて、良好な探索結果セットを返すことができず、baseball glovesが、良好な結果を得ることができる好評なクエリであるからである。
【００４１】
図１０は、本イノベーションの別の態様に従ってＵＲＬ（統一資源位置指定子）クエリを処理する一方法論を示している。１０００において、ユーザが、クライアントアプリケーションのクエリ入力ボックスにＵＲＬ文字の入力を開始する。１００２において、システムが、ＵＲＬで使用されるあらゆる用語のスペル訂正を行う。１００４において、クエリが、現在受け取られているＵＲＬ文字に基づきインターネットベースサービスに対して実行される。１００６において、入力ボックスのＵＲＬデータは、ユーザにより提供されたクエリ入力ボックスに存在するＵＲＬ文字に基づいてリアルタイムルックアヘッドオペレーションでユーザ用に自動的に完成される。
【００４２】
図１１は、本イノベーションの別の態様に従ってクエリに対する回答を提供する一方法論を示している。１１００において、ユーザが、クライアントアプリケーションのクエリ入力ボックスにクエリ質問の文字の入力を開始する。１１０２において、クエリが、現在提供されているユーザ入力文字に基づき、インターネットベースインデックスサービスに対して実行される。１１０４において、探索が行われ、探索結果が、クエリ質問に対する回答として返される。クエリ質問に対する回答は、ユーザがクエリ質問の文字の入力を完成させる前にユーザに提示される。
【００４３】
図１２は、本イノベーションのリアルタイムルックアヘッドクエリ処理アーキテクチャを用いるクライアント演算システム１２００を示している。このクライアントシステム１３００は、クエリプロセスを実行するために、図１のクエリコンポーネント１０２及び探索コンポーネント１０４のみを含むことができる。システム１２００の能力に関連する態様は、本明細書に記載済みである。
【００４４】
図１３は、新規な一態様によるクエリ処理のシステム１３００の代替的な一実施態様を示している。ここで、クライアントマシン１３０２は、クエリコンポーネント１０２のみを含み、リモートシステム又はリモートロケーション１３０４は、探索コンポーネント１０４を含む。それらの間の通信は、有線接続及び／又はワイヤレス接続を介することができる。クライアントマシン１３０２が能力の限られたデスクトップコンピュータとすることができ、且つリモートロケーション又はリモートデバイスがピア演算デバイスとすることができる環境で、システム１３００は適用される。
【００４５】
図１４は、本イノベーションのさまざまな態様を表すシステム１４００のフロー概観を示している。クライアントアプリケーションは、クライアント入力インターフェース１４０２を含む。このクライアント入力インターフェース１４０２は、クエリ入力ボックス１４０４と、前の類似の文字入力をこの入力ボックスに提示するドロップダウン履歴メニュー１４０６とを含むことができる。図示するように、入力ボックス１４０４に文字が入力されると、ユーザによって行われた各キーストロークは、トリガコンポーネント１４０８に渡されて、トリガコンポーネント１４０８により処理される。上記に示したように、トリガコンポーネント１４０８は、施行はクライアントによって行われるが、指示はクライアント及び／又はインターネットベースサービスによって行われるルールを組み込むことができるトリガロジックを含む。キーストロークによって生成された各文字は、トリガロジックに従ってパッケージ化され、探索システム１４１０に対する探索で利用される。探索システム１４７０は、回答データベース１４１２、フルテキストインデックス１４１４、完成／精緻化／スペル訂正データ構造１４１６、及び他のサービス（図示せず）を含むことができる。図示するように、各文字は、探索処理のために、クライアントからインターネットベース探索システム１４１０に渡され、ユーザが文字を入力している間、探索結果、及びクエリ入力ボックス１４０４におけるリアルタイムのルックアヘッドクエリの完成を容易にする提案が返される。
【００４６】
図１５は、クエリ文字を入力できるウェブブラウザ探索ボックスの部分的なスクリーンショット１５００を示している。ユーザが文字H-o-tを入力している時、より好評な結果及び提案からなるドロップダウンメニューが提示され、ランク付けされた提案が提供される。ここでは、ユーザは、Hot wheelsを選択する。
【００４７】
図１６は、同様の機能を有するウェブブラウザナビゲーションボックスの実施態様の部分的なスクリーンショット１６００を示している。ここでは、ユーザがクエリ入力ボックスに文字を入力している時、その時点で入力された文字を含む質問及び関連する文の形式でお気に入りリストから結果が返される。たとえば、文字D-o-gの入力の結果、ユーザが前にアクセスしたロケーションに関連付けられた「Who let the dog out?」及び「Dog grooming tips」等の質問が返される。同様に、履歴メニューが、過去に訪問したことがあるロケーション、たとえば、「Alaskan sleigh Ride races」、「Canine Wonderland」、及び「German Shepard Weekly」に関連付けられたウェブサイトを提示する。
【００４８】
図１７は、同様の機能を有する１つの代替的なウェブブラウザナビゲーションボックスの実施態様の部分的なスクリーンショット１７００を示している。図１７は、インターネットアドレスを提案する実際のアドレスボックスを示している。従来、ユーザがアドレスボックスにアドレスをタイプ入力した場合又はアドレスをタイプミスした場合、ブラウザは、「did you mean…」の応答を伴って反応を示す場合がある。これは、ローカルマシン上の履歴ファイルからの文字との照合に基づいている。本イノベーションは、単にローカルな提案だけでなく、インターネットアドレス提案も提供するインターネットベースサービスからのこのような提案も受け取る。ここでは、ユーザがM-S-Nを入力した時、提案結果は、アドレスロケーションウェブサイトの記述と共にwww.msnbc.comとしてランク付けすることができる。これらは、図示するように、ユーザのお気に入り及びユーザ履歴に基づいてフィルタリングしてランク付けすることができる。
【００４９】
図１８は、入力クエリが完全に入力される前に回答を提示するクエリプロセスの部分的なスクリーンショット１８００を示している。ユーザが「w-e-a-t-h-e-r」をクエリボックスにタイプすることを開始する時に、システムが、ランク付けされた情報としてweather（天気）の上位６つのクエリを即座に提案することを考える。これは、クライアントではなく、この情報を提供するインターネットサービスに基づいている。加えて、クライアントインターフェースは、クエリに対する即答になり得ると考えるインターネットからの情報も表示している。したがって、クエリはまだ処理されていないが、可能な回答が提供される。この例では、上位６つのクエリが提供されるだけでなく、最上位のクエリは、ユーザが過去に興味を示したかもしれない他のロケーション（たとえば、マイアミ及びニューイングランド）と共に、ユーザのロケーション（たとえば、シアトル）の関連する天気を提示するように処理される。
【００５０】
図１９は、デスクバークエリ入力ボックス１９０２を用いるユーザインターフェースの部分的なスクリーンショット１９００を示している。ユーザがb-l-o-g文字をボックス１９０２に入力している時、blog（ブログ）に関しての結果が返され、コミュニケーションアプリケーション（たとえば、電子メールアプリケーション）、ファイル名が単語blogを含む画像及びビデオのPicture and Videoグループ、並びにファイル名が単語blogを含むFilesグループに従ってグループ化される。
【００５１】
図２０は、一態様によるクエリの完成及び精緻化のプロセスの部分的なスクリーンショット２０００を示している。ここでは、ユーザがbaseballを入力している時、精緻化されたクエリ提案（たとえば、baseball gloves、baseball america等）のドロップダウンメニューが提供され、このメニューを介して、ユーザは選択を行うことができる。
【００５２】
図２１は、一態様によるクエリスペル訂正プロセスの部分的なスクリーンショット２１００を示している。ここでは、ユーザは、クエリ入力ボックスにbaseballkを入力し、システムは、探索結果の正しい提案スペル並びに精緻化されて完成された正しいスペルのクエリ及び不正確なスペルのクエリ（たとえば、baseball kids game、baseballkidsgames等）のドロップダウンメニューをユーザの認識用及び選択用に提示する。
【００５３】
次に図２２を参照すると、開示されるクエリ処理アーキテクチャを実行するように動作可能なコンピュータのブロック図が示されている。本イノベーションのさまざまな態様のさらなる状況を提供するために、図２２及び以下の説明は、本イノベーションのさまざまな態様を実施できる、適した演算環境２２００の簡潔な一般的説明を提供することを意図している。上記説明は、１つ又は２つ以上のコンピュータ上で実行できるコンピュータ実行可能命令の一般的状況におけるものであるが、当業者は、本イノベーションが、他のプログラムモジュールと組み合わせても実施でき、且つ／又は、ハードウェア及びソフトウェアの組み合わせとしても実施できることを認識するであろう。
【００５４】
一般に、プログラムモジュールには、特定のタスクを実行するか又は特定の抽象データタイプを実装するルーチン、プログラム、コンポーネント、データ構造等が含まれる。さらに、当業者は、シングルプロセッサコンピュータシステム又はマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータ、及びパーソナルコンピュータ、ハンドヘルド演算デバイス、マイクロプロセッサベース一般消費者向け電子機器又はプログラマブル一般消費者向け電子機器等を含む、他のコンピュータシステム構成で本発明の方法を実施できることを十分認識するであろう。これらコンピュータシステム構成のそれぞれは、１つ又は２つ以上の関連するデバイスに動作可能に結合することができる。
【００５５】
また、本イノベーションの図示される態様は、通信ネットワークを通じてリンクされたリモート処理デバイスにより一定のタスクが実行される分散演算環境においても実施することができる。分散演算環境では、プログラムモジュールは、ローカルメモリストレージデバイス及びリモートメモリストレージデバイスの双方に配置することができる。
【００５６】
コンピュータは、通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータがアクセスできる任意の利用可能な媒体とすることができ、コンピュータ可読媒体には、揮発性媒体及び不揮発性媒体の双方、並びに着脱可能媒体及び着脱不能媒体の双方が含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータストレージ媒体及び通信媒体が含まれ得る。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータ等の情報を記憶するための任意の方法又は技術で実装された揮発性媒体及び不揮発性媒体の双方、着脱可能媒体及び着脱不能媒体の双方が含まれる。コンピュータストレージ媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルビデオディスク（ＤＶＤ）、若しくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは他の磁気ストレージデバイス、又は、所望の情報を記憶するのに使用でき且つコンピュータがアクセスできる他の任意の媒体が含まれるが、これらに限定されるものではない。
【００５７】
通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波又は他のトランスポートメカニズム等の変調されたデータ信号で実施し、通信媒体には、任意の情報配信媒体が含まれる。「変調されるデータ信号」という用語は、その特性のうちの１つ又は２つ以上が、自身が有する情報を符号化するように設定又は変更されている信号を意味する。限定ではなく例として、通信媒体には、有線ネットワーク又は直接有線接続等の有線媒体、及び音響、ＲＦ、赤外線、他のワイヤレス媒体等のワイヤレス媒体が含まれる。上記のものの任意のものの組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５８】
図２２を再び参照すると、さまざまな態様を実施するためのこの例示的な環境２２００は、コンピュータ２２０２を含む。コンピュータ２２０２は、処理ユニット２２０４、システムメモリ２２０６、及びシステムバス２２０８を含む。システムバス２２０８は、システムコンポーネントを処理ユニット２２０４に結合する。システムコンポーネントには、システムメモリ２２０６が含まれるが、これに限定されるものではない。処理ユニット２２０４は、さまざまな市販のプロセッサの任意のものとすることができる。デュアルマイクロプロセッサ及び他のマルチプロセッサアーキテクチャも処理ユニット２２０４として用いることができる。
【００５９】
システムバス２２０８は、さまざまな市販のバスアーキテクチャの任意のものを使用してメモリバス（メモリコントローラを有するもの又は有しないもの）、周辺バス、及びローカルバスにさらに相互接続できるいくつかのタイプのバスアーキテクチャの任意のものとすることができる。システムメモリ２２０６は、読み出し専用メモリ（ＲＯＭ）２２１０及びランダムアクセスメモリ（ＲＡＭ）２２１２を含む。基本入出力システム（ＢＩＯＳ）は、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等の不揮発性メモリ２２１０に記憶される。このＢＩＯＳは、起動中等にコンピュータ２２０２内の要素間で情報を転送するのを助ける基本ルーチンを含む。ＲＡＭ２２１２は、データをキャッシュするためのスタティックＲＡＭ等、高速ＲＡＭも含むことができる。
【００６０】
コンピュータ２２０２は、内蔵ハードディスクドライブ（ＨＤＤ）２２１４（たとえば、ＥＩＤＥ、ＳＡＴＡ）をさらに含む。この内蔵ハードディスクドライブ２２１４は、適した筐体（図示せず）、（たとえば、着脱可能ディスケット２２１８からの読み出し又は着脱可能ディスケット２２１８への書き込みを行う）磁気フロッピー（登録商標）ディスクドライブ（ＦＤＤ）２２１６、及び（たとえば、ＣＤ−ＲＯＭディスク２２２２の読み出し、又は、ＤＶＤ等の他の大容量光媒体からの読み出し若しくはこの大容量光媒体への書き込みを行う）光ディスクドライブ２２２０で外付け使用するようにも構成することができる。ハードディスクドライブ２２１４、磁気ディスクドライブ２２１６、及び光ディスクドライブ２２２０は、それぞれ、ハードディスクドライブインターフェース２２２４、磁気ディスクドライブインターフェース２２２６、及び光ドライブインターフェース２２２８によってシステムバス２２０８に接続することができる。外付けドライブの実装用のインターフェース２２２４は、ユニバーサルシリアルバス（ＵＳＢ）及びＩＥＥＥ１３９４のインターフェース技術の少なくとも一方又は双方を含む。他の外付けドライブ接続技術も、本イノベーションの意図された範囲内にある。
【００６１】
ドライブ及びドライブに関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令等の不揮発性ストレージを提供する。コンピュータ２２０２の場合、ドライブ及び媒体は、任意のデータのストレージを適したデジタルフォーマットで収容する。上記コンピュータ可読媒体の説明は、ＨＤＤ、着脱可能磁気ディスケット、及びＣＤ又はＤＶＤ等の着脱可能光媒体を指すが、ｚｉｐドライブ、磁気カセット、フラッシュメモリカード、カートリッジ等、コンピュータによって可読である他のタイプの媒体も、この例示的な動作環境で使用できること、及び、さらには、このような任意の媒体は、開示されるイノベーションの方法を実行するためのコンピュータ実行可能命令を含むことができることが当業者によって十分認識されるべきである。
【００６２】
オペレーティングシステム２２３０、１つ又は２つ以上のアプリケーションプログラム２２３２、他のプログラムモジュール２２３４、及びプログラムデータ２２３６を含む、多くのプログラムモジュールをドライブ及びＲＡＭ２２１２に記憶することができる。オペレーティングシステム、アプリケーション、モジュール、及び／又はデータの全部又は一部は、ＲＡＭ２２１２にキャッシュすることもできる。本イノベーションは、さまざまな市販のオペレーティングシステム又はオペレーティングシステムの組み合わせで実施できることが十分認識されるべきである。
【００６３】
ユーザは、１つ又は２つ以上の有線／ワイヤレスの入力デバイスを通じてコンピュータ２２０２にコマンド及び情報を入力することができる。これらの入力デバイスは、たとえば、キーボード２２３８、及びマウス２２４０等のポインティングデバイスである。他の入力デバイス（図示せず）には、マイク、ＩＲリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン等が含まれ得る。これらの入力デバイス及び他の入力デバイスは、システムバス２２０８に結合された入力デバイスインターフェース２２４２を通じて処理ユニット２２０４に接続されることが多いが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインターフェース等の他のインターフェースによって接続することもできる。
【００６４】
モニタ２２４４又は他のタイプのディスプレイデバイスも、ビデオアダプタ２２４６等のインターフェースを介してシステムバス２２０８に接続される。コンピュータは、モニタ２２４４に加えて、通常、スピーカ、プリンタ等の他の周辺出力デバイス（図示せず）を含む。
【００６５】
コンピュータ２２０２は、リモートコンピュータ（複数可）２２４８等の１つ又は２つ以上のリモートコンピュータへの有線通信及び／又はワイヤレス通信を介した論理接続を使用してネットワーク接続環境で動作することができる。リモートコンピュータ（複数可）２２４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベース娯楽器具、ピアデバイス、又は他の一般的なネットワークノードとすることができ、通常は、コンピュータ２２０２について説明した要素の多く又は全部を含む。ただし、簡潔にするために、メモリ／ストレージデバイス２２５０しか図示されていない。図示した論理接続には、ローカルエリアネットワーク（ＬＡＮ）２２５２、及び／又は、たとえばワイドエリアネットワーク（ＷＡＮ）２２５４といったより大きなネットワークへの有線／ワイヤレス接続が含まれる。このようなＬＡＮ及びＷＡＮのネットワーキング環境は、オフィス及び会社では一般的であり、イントラネット等の企業規模のコンピュータネットワークを容易にする。これらのネットワークのすべては、たとえばインターネットといったグローバル通信ネットワークに接続することができる。
【００６６】
コンピュータ２２０２は、ＬＡＮネットワーキング環境で使用されるとき、有線及び／又はワイヤレスの通信ネットワークインターフェース又はアダプタ２２５６を通じてローカルエリアネットワーク２２５２に接続される。アダプタ２２５６は、ＬＡＮ２２５２への有線通信又はワイヤレス通信を容易にすることができる。ＬＡＮ２２５２は、ワイヤレスアダプタ２２５６と通信するためにＬＡＮ２２５２に配置されたワイヤレスアクセスポイントも含むことができる。
【００６７】
コンピュータ２２０２は、ＷＡＮネットワーキング環境で使用されるとき、モデム２２５８を含むことができるか、ＷＡＮ２２５４上の通信サーバに接続されるか、又は、インターネットを経由する等、ＷＡＮ２２５４上で通信を確立するための他の手段を有する。モデム２２５８は、内蔵又は外付けとすることができ、また、有線デバイス又はワイヤレスデバイスとすることができ、シリアルポートインターフェース２２４２を介してシステムバス２２０８に接続される。ネットワーク接続環境では、コンピュータ２２０２に関して図示したプログラムモジュール又はその一部をリモートメモリ／ストレージデバイス２２５０に記憶することができる。図示したネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段も使用できることが十分認識されよう。
【００６８】
コンピュータ２２０２は、ワイヤレス通信において動作するように配置された任意のワイヤレスデバイス又はワイヤレスエンティティと通信するように動作することができる。このワイヤレスデバイス又はワイヤレスエンティティは、たとえば、プリンタ、スキャナ、デスクトップコンピュータ及び／又はポータブルコンピュータ、携帯情報端末、通信衛星、ワイヤレス検出可能タグに関連付けられたあらゆる機器又はロケーション（たとえば、キオスク、新聞売店、トイレ）、並びに電話である。コンピュータ２２０２は、少なくともＷｉ−Ｆｉ及びＢｌｕｅｔｏｏｔｈ（商標）のワイヤレス技術を含む。したがって、この通信は、少なくとも２つのデバイス間の従来のネットワーク又は単にアドホック通信のような所定の構造とすることができる。
【００６９】
Ｗｉ−Ｆｉ、すなわちワイヤレスフィデリティによって、自宅の長椅子、ホテルの部屋のベッド、又は職場の会議室から配線なしでインターネットへの接続が可能になる。Ｗｉ−Ｆｉは、携帯電話で使用されるものと同様のワイヤレス技術であり、たとえばコンピュータといったこのようなデバイスが基地局の範囲内ならどこでも屋内及び屋外でデータを送受信することを可能にするワイヤレス技術である。Ｗｉ−Ｆｉネットワークは、ＩＥＥＥ８０２．１１（ａ、ｂ、ｇ等）と呼ばれる無線技術を使用して、セキュアで信頼できる高速ワイヤレス接続を提供する。Ｗｉ−Ｆｉネットワークは、コンピュータの相互接続、コンピュータのインターネットへの接続、及びコンピュータの（ＩＥＥＥ８０２．３、すなわちイーサネット（登録商標）を使用する）有線ネットワークへの接続を行うのに使用することができる。Ｗｉ−Ｆｉネットワークは、免許不要の２．４ＧＨｚ及び５ＧＨｚの無線帯域において、たとえば１１Ｍｂｐｓ（８０２．１１ａ）又は５４Ｍｐｂｓ（８０２．１１ｂ）のデータレートでも動作するし、双方の帯域（デュアルバンド）を含む製品でも動作する。その結果、ネットワークは、多くのオフィスで使用される基本的な１０ＢａｓｅＴ有線イーサネット（登録商標）ネットワークと同様の実際の性能を提供することができる。
【００７０】
次に図２３を参照すると、別の態様に従ってクエリ処理イノベーションに対応することができる１つの例示的な演算環境２３００の概略ブロック図が示されている。このシステム２３００は、１つ又は２つ以上のクライアント（複数可）２３０２を含む。クライアント（複数可）２３０２は、ハードウェア及び／又はソフトウェア（たとえば、スレッド、プロセス、演算デバイス）とすることができる。クライアント（複数可）２３０２は、たとえば、本イノベーションを用いることによって、クッキー（複数可）及び／又は関連するコンテキスト情報を格納することができる。
【００７１】
また、システム２３００は、１つ又は２つ以上のサーバ（複数可）２３０４も含む。サーバ（複数可）２３０４も、ハードウェア及び／又はソフトウェア（たとえば、スレッド、プロセス、演算デバイス）とすることができる。サーバ２３０４は、たとえば、本発明を用いることによって変換を行うスレッドを格納することができる。クライアント２３０２とサーバ２３０４との間の１つの可能な通信は、２つ以上のコンピュータプロセス間で送信されるようになっているデータパケットの形態をとることができる。このデータパケットは、たとえば、クッキー及び／又は関連するコンテキスト情報を含むことができる。システム２３００は、クライアント（複数可）２３０２とサーバ（複数可）２３０４との間の通信を容易にするのに用いることができる通信フレームワーク２３０６（たとえば、インターネット等のグローバル通信ネットワーク）を含む。
【００７２】
通信は、有線技術（光ファイバを含む）及び／又はワイヤレス技術を介して容易にすることができる。クライアント（複数可）２３０２は、１つ又は２つ以上のクライアントデータストア（複数可）２３０８に動作可能に接続される。このクライアントデータストア（複数可）２３０８は、クライアント（複数可）２３０２にローカルな情報（たとえば、クッキー（複数可）及び／又は関連するコンテキスト情報）を記憶するのに用いることができる。同様に、サーバ（複数可）２３０４は、サーバ２３０４にローカルな情報を記憶するのに用いることができる１つ又は２つ以上のサーバデータストア（複数可）２３１０に動作可能に接続される。
【００７３】
上述したものは、開示されるイノベーションの例を含む。もちろん、コンポーネント及び／又は方法論の考えられるあらゆる組み合わせを説明することは不可能であるが、当業者は、多くのさらなる組み合わせ及び並べ替えが可能であることを認識することができる。したがって、本イノベーションは、添付の特許請求の範囲の趣旨及び範囲内に含まれるこのようなすべての代替的なもの、変更、及び変形を包含することが意図されている。さらに、「含む」という用語が、詳細な説明又は特許請求の範囲のいずれかで使用される限りにおいて、このような用語は、「備える」が１つの請求項において移行語として使用されるときに解釈されるように「備える」という用語と同様に包括的であることが意図されている。
【図面の簡単な説明】
【００７４】
【図１】新規な一態様に従ってクエリ処理を容易にするシステムを示す図である。
【図２】新規な一態様によるクエリ処理の一方法論を示す図である。
【図３】別の態様に従ってクエリを処理する１つの代替的な方法論を示す図である。
【図４】新規な一態様に従ってルックアヘッドクエリ処理を容易にするコンポーネントを用いるクライアントアプリケーションを示す図である。
【図５】本イノベーションの別の態様に従って、個人化情報を利用してクエリ探索を絞る一方法論を示す図である。
【図６】開示されるイノベーションに従って探索結果を個人化データに基づきフィルタリングする一方法論を示す図である。
【図７】本イノベーションの別の態様に従ってクエリプロセスをユーザ対話に基づき適応的に調整する一方法論を示す図である。
【図８】本イノベーションの別の態様に従ってクエリプロセス中のスペル誤りをユーザ対話に基づき処理する一方法論を示す図である。
【図９】本イノベーションの別の態様に従ってクエリ用語を精緻化することによりクエリを絞る一方法論を示す図である。
【図１０】本イノベーションの別の態様に従ってＵＲＬ（統一資源位置指定子）クエリを処理する一方法論を示す図である。
【図１１】本イノベーションの別の態様に従ってクエリに対する回答を提供する一方法論を示す図である。
【図１２】本イノベーションのリアルタイムルックアヘッドクエリ処理アーキテクチャを用いるクライアント演算システムを示す図である。
【図１３】新規な一態様によるクエリ処理のシステムの代替的な一実施態様を示す図である。
【図１４】本イノベーションのさまざまな態様を表すシステムのフロー概観を示す図である。
【図１５】クエリ文字を入力できるウェブブラウザ探索ボックスの部分的なスクリーンショットを示す図である。
【図１６】同様の機能を有するウェブブラウザナビゲーションボックスの一実施態様の部分的なスクリーンショットを示す図である。
【図１７】同様の機能を有する代替的なウェブブラウザナビゲーションボックスの一実施態様の部分的なスクリーンショットを示す図である。
【図１８】入力クエリが完全に入力される前に回答を提示するクエリプロセスの部分的なスクリーンショットを示す図である。
【図１９】デスクバークエリ入力ボックスを用いるユーザインターフェースの部分的なスクリーンショットを示す図である。
【図２０】一態様によるクエリの完成及び精緻化のプロセスの部分的なスクリーンショットを示す図である。
【図２１】一態様によるクエリスペル訂正プロセスの部分的なスクリーンショットを示す図である。
【図２２】開示されるクエリ処理アーキテクチャを実行するように動作可能なコンピュータのブロック図である。
【図２３】別の態様に従ってクエリ処理イノベーションに対応することができる１つの例示的な演算環境の概略ブロック図である。
【図１】
2009512068.tif 000003
【図２】
2009512068.tif 000004
【図３】
2009512068.tif 000005
【図４】
2009512068.tif 000006
【図５】
2009512068.tif 000007
【図６】
2009512068.tif 000008
【図７】
2009512068.tif 000009
【図８】
2009512068.tif 000010
【図９】
2009512068.tif 000011
【図１０】
2009512068.tif 000012
【図１１】
2009512068.tif 000013
【図１２】
2009512068.tif 000014
【図１３】
2009512068.tif 000015
【図１４】
2009512068.tif 000016
【図１５】
2009512068.tif 000017
【図１６】
2009512068.tif 000018
【図１７】
2009512068.tif 000019
【図１８】
2009512068.tif 000020
【図１９】
2009512068.tif 000021
【図２０】
2009512068.tif 000022
【図２１】
2009512068.tif 000023
【図２２】
2009512068.tif 000024
【図２３】
2009512068.tif 000025
【国際調査報告】
2009512068.tif 000026
2009512068.tif 000027
2009512068.tif 000028