(57)【特許請求の範囲】
【請求項１】
推測検索結果を与えるコンピュータに実施される方法であって、
クライアントノードから、（１）前記クライアントノードのユーザによって入力されて、（２）前記ユーザによって送信されていない検索クエリを受信するステップと、
前記ユーザが前記検索クエリを送信したという指示を前記クライアントノードから受信する前に、前記検索クエリについての推測検索結果を決定するステップと、
前記推測検索結果が所定の関連性閾値を満たす場合に前記推測検索結果又は前記推測検索結果へのリンクを前記クライアントノードに与えるステップであって、前記推測検索結果は前記検索クエリを満たす、テキスト、グラフィック、ウェブページ、又はビデオの１つである少なくとも１つのアイテムを特定するものであるステップと、
前記推測検索結果が所定の関連性閾値を満たさない場合に、検索クエリを受信する前記ステップ、推測検索結果を決定する前記ステップ、及び前記推測検索結果又は前記推測検索結果へのリンクを与える前記ステップ、を継続するステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は検索エンジンに関し、詳細には予測検索クエリに対する代替検索クエリを与えることに関する。
【背景技術】
【０００２】
発明の背景
検索エンジンは、ユーザが情報を見つけるのを助けるコンピュータプログラムである。検索エンジンを使用して、ユーザは１つ以上の検索クエリ用語を入力して、これらの検索クエリ用語に一致する題材を含む、またはそれらに関連付けられたリソースのリストを得ることができる。検索エンジンは多様なコンテキストに適用し得るが、検索エンジンは特にインターネットを介してアクセス可能なリソースを見つけるのに有用である。検索エンジンを介して見つけられ得るリソースは、例えば、コンテンツがハイパーテキストマークアップ言語（ＨＴＭＬ）などのページ記述言語で構成されるファイルを含む。このようなファイルは典型的にはページと呼ばれる。検索エンジンを使用して、興味のあるファイルまたはページへのＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）および／またはＨＴＭＬリンクを作成する。
【０００３】
検索エンジンは典型的にはユーザが検索基準を特定することを可能とするインターフェースおよび検索結果を表示するインターフェースを有する。典型的には、検索エンジンは、ユーザへ検索結果インターフェースを提示する前に検索結果を順序付ける。順序付けは通常、「ランキング」の形態を取り、最も高いランキングの文書は、ユーザにより特定された検索基準に反映される興味を最も満足させそうであると考えられる文書である。ランキングに基づいて、ユーザに１つ（またはそれ以上）の検索結果ページを送信する。但し、ユーザはそれでも尚、検索結果を処理して検索クエリが適切な検索結果を生成したかどうかを決定するのに、かなりの時間と労力を費やさなければならない。ユーザが結果に満足しない場合は、ユーザは新しい検索クエリを形成してそのプロセスを繰り返す。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように検索プロセスは、ユーザが検索クエリを形成して、膨大な検索結果が適切かどうかを決定し、その後、適宜検索クエリを再決定するという対話式のタスクであることが多い。それゆえに検索エンジンに関するユーザの経験はいらいらする、時間のかかるものであることが多い。
【課題を解決するための手段】
【０００５】
本節で説明されるアプローチは、遂行可能なアプローチではあるが、必ずしもすでに着想または遂行されたアプローチではない。それゆえに、別途指示がなければ、本節で説明されるアプローチのいずれも単に本節に包括されるがゆえに先行技術とみなすことを前提とすべきでない。
【図面の簡単な説明】
【０００６】
【図１Ａ】本発明の実施形態に従う推測検索結果を与えるグラフィカルユーザインターフェースを図示する。
【図１Ｂ】本発明の実施形態に従う推測検索結果を与えるグラフィカルユーザインターフェースを図示する。
【図１Ｃ】本発明の実施形態に従う推測検索結果を与えるグラフィカルユーザインターフェースを図示する。
【図１Ｄ】本発明の実施形態に従う推測検索結果を与えるグラフィカルユーザインターフェースを図示する。
【図２】本発明の実施形態に従う検索結果に対する推測検索結果を与える技術を図示するフロー図である。
【図３】本発明の実施形態に従う関連性のある推測検索結果を決定するための技術を図示する流れ図である。
【図４】本発明の実施形態により与えられる種々のタイプの推測検索結果を図示する。
【図５】本発明の実施形態により与えられる種々のタイプの推測検索結果を図示する。
【図６】本発明の１つの実施形態に従うクエリフィールドに打ち込まれた入力に基づいて予測クエリと最も可能性のある予測クエリからの検索結果とを表示するユーザインターフェースを図示する。
【図７】本発明の１つの実施形態による、どの潜在的クエリがユーザに送信される予測クエリとなるかの決定に時間的関連性がどのように組み入れられるかを示すフロー図である。
【図８Ａ】本発明の１つの実施形態に従うクライアント上のウェブブラウザとフロントエンドサーバとの間の通信を示すブロック図である。
【図８Ｂ】本発明の別の実施形態に従うクライアント上のウェブブラウザとフロントエンドサーバとの間の通信を示すブロック図である。
【図８Ｃ】本発明の別の実施形態に従うクライアント上のウェブブラウザとフロントエンドサーバとの間の通信を示すブロック図である。
【図９】本発明の実施形態に従う予測検索クエリに対する代替を表示するための実例ユーザインターフェースを描く。
【図１０】本発明の実施形態に従う予測検索クエリの代替を決定するプロセスのステップを示すフローチャートである。
【図１１Ａ】本発明の実施形態に従う予測検索クエリと代替検索クエリとを表示するユーザインターフェースを図示する図である。
【図１１Ｂ】本発明の実施形態に従う予測検索クエリと代替検索クエリとを表示するユーザインターフェースを示す図である。
【図１１Ｃ】本発明の実施形態に従う予測検索クエリと代替検索クエリとを表示するユーザインターフェースを図示する図である。
【図１２】本発明の実施形態が実施し得るコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【０００７】
発明の詳細な説明
本発明は、添付の図面の図において決して限定としてではなく例として図示され、同じ参照番号は同様の要素を示す。
【０００８】
以下の記述では、説明の目的で本発明の深い理解を与えるために多くの具体的詳細が述べられる。但し、本発明はこれらの具体的詳細なしで実践し得ることは明らかとなるであろう。他の例では、不必要に本発明を分かりにくくするのを避けるために、周知の構造および装置がブロック図形式で示される。
【０００９】
（推測（ＳＰＥＣＵＬＡＴＩＶＥ）検索結果概要）
典型的には、ワールドワイドウェブなどの検索を形成する際に、ユーザは検索クエリを決定して、その後キャリッジリターンを入力するか、または「検索ボタン」をクリックして検索クエリに基づいて検索要求を開始する。検索要求を開始する動作はまた、検索クエリが「送信」されたことを指示するように機能する。検索を開始する動作以前は、検索クエリは「未送信」である。本発明の実施形態は、検索を行うとともにユーザが検索要求を明示的に開始する前に未送信検索クエリに基づいて推測検索結果を与える。
【００１０】
本明細書では、検索クエリの入力完了の前に検索クエリに推測検索結果を与えるための技術を記載する。１つの実施形態によると、クライアントノードからの未送信検索の受信に応答して、前述の検索クエリが完全に形成されたというクライアントノードからの指示を受信する前に、未提出検索クエリに対して推測検索結果がクライエントノードに与えられる。推測検索結果は、未送信検索クエリとしてクライアントノード上の同一のウェブページに表示され得るが、検索クエリはなおユーザにより入力されている。ユーザが検索クエリを決定し続けるにつれて、新しい推測検索結果がユーザに与えられ得る。
【００１１】
検索要求および検索結果はワールドワイドウェブに関し得るが、本明細書に記載される技術はそのように限定されない。より一般的には、検索要求および結果は任意のフォーマットの任意の検索可能データに関し得る。例えば、データはユーザアドレス帳、保存リンク、個人的に保存された画像（．ｊｐｅｇファイル、．ｇｉｆファイルなど）、ビデオ、オーディオ（．ｍｐ３ファイル、．ｗｍｖファイルなど）、連絡先カード（例えば、ｖカード）、カレンダオブジェクト、ワープロ文書、グラフィックファイルまたはコンピュータコード（オブジェクトファイルおよびソースコード）であり得る。
【００１２】
（推測検索開始基準）
検索クエリの入力時において新しい推測検索結果が与えられる頻度を制限するために、未送信検索クエリが検索を開始するための基準を満たしているかどうかについて判断を行い得る。このような基準は本明細書では「推測検索開始基準」と称される。推測検索開始基準は、推測検索結果を高度に関連のある結果に限定されるように設計され得る。例えば、基準はユーザが未送信検索クエリに完全な言葉を入力したことであり得る。
【００１３】
推測検索開始基準を使用して、検索クエリが形成されるにつれて、おびただしい数の頻繁に変化する検索結果をユーザが受け取ることのないようにし得る。また、推測検索開始基準を必須とするのは、検索エンジンがおびただしい数の検索要求を受け取ることがないようにするのに役立つ。さらには、推測検索開始基準を満足させるまでなんら検索を行わないことにより、推測検索結果がそのリターンをユーザに対して保証するのに十分な関連性を有する可能性が高まり得る。例えば、いくつかの部分的に形成された言葉に基づいた推測検索結果は低い関連性を有し得る。しかし、部分的に形成された言葉に基づいた推測検索結果が高度に関連性があり得るという場合がある。部分的な言葉であろうがなかろうが、どの部分的検索クエリが関連性のある推測検索結果に繋がりそうかを判断する技術が提供される。
【００１４】
未送信検索クエリが検索を開始する基準を満たし、それによって十分に形成されているかどうかを判断するための１つの技術は、ユーザが検索要求において文字を最後に入力してからの時間を計ることである。タイマが時間切れになると、検索が開始される。タイマの期間はユーザに適応するように動的に調整可能である。例えば、ユーザが早くタイプを打ちすぎた場合、検索はあまりにもまれにしか開始され得ない。または、ユーザがゆっくりタイプすると、検索はあまりにも頻繁に開始され得る。
【００１５】
未送信検索クエリが推測検索開始基準を満たすかどうかを判断するための別の技術は、所定文字が検索クエリに含まれるかどうかを判断することである。例えば、ユーザがスペース文字を入力すると、ユーザが言葉を完成しそうであり、検索クエリは十分に形成されて検索を開始し得る。本明細書で使用されるように、「言葉」は英語のような自然言語に発生する言葉か、または略語、頭字語、製品コード、ＵＲＬなどのような特別な表記法のいずれかであり得る。
【００１６】
未送信検索クエリが十分に形成されて検索を開始するかどうかを判断する別の技術は、検索クエリが予め定義されたフレーズを含む辞書中のフレーズに一致するか、またはほとんど一致するかどうかを判断することである。予め定義されたフレーズは検索要求における言葉の組み合わせである可能性があるフレーズであり得る。１つの実施形態では、辞書は人気のあるクエリに基づく。１つの実施形態では、辞書を使用して、検索を行うための条件として未送信検索クエリがその辞書の用語またはフレーズに一致するかまたはほとんど一致するかどうかを判断することにより行われる検索クエリの数を制限する。
【００１７】
未送信検索クエリが十分に形成されて検索を開始するかどうかの判断は本明細書に記載される技術に限定されない。また、技術の任意の組み合わせを使用して判断がなされ得る。判断はクライアントノードで行われ得るが、これは必須条件ではない。１つの実施形態では、クライアントノードはＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ＋ＸＭＬ）エンジンを有して、検索エンジンへ未提出検索クエリを転送するべきかどうかについての判断を容易にする。クライアントノードは他の技術により判断を行い得る。別の実施形態では、検索を開始するべきかどうかの決定は、検索エンジンなどクライアント以外のノードで行われ得る。
【００１８】
（関連性閾値）
推測検索開始基準が満たされた後、予め定義された検索ルールが適用されて、ユーザに１つまたは数個の関連性の高い推測検索結果を与え、それが未送信検索クエリと同一のウェブページに表示され得る。例えば、予め定義されたルールは、関連性の高い推測検索結果を生成しそうな第１の検索を行うことを含み得る。第１の検索が一定の関連性閾値を満たす推測検索結果を生成しない場合、ユーザには検索結果が提示されない。あるいは、第２の検索が行われる。第２の検索は未送信検索クエリの現在の状態に基づいて行われるが、この状態はそれに基づいて第１の検索が行われた未送信検索クエリの状態とは異なり得る。第２の検索の結果が関連性閾値を満たさない場合、第２の検索の結果はユーザに提示されない。未送信検索クエリに基づいた繰り返し行われる検索のプロセスは、検索クエリが送信されるまで継続し得る。検索クエリが送信されるまで、それらの結果が関連性閾値を満たす場合にだけユーザは推測検索の結果が提示される。
【００１９】
様々な検索は様々な検索技術を採用可能であり、および／または様々なデータベースを検索し得る。この順序付けされた検索および関連性閾値の使用は、ユーザに関連性の高い結果を提供し、推測検索結果関連性または他の基準が低すぎると見なされるとユーザにはなんら結果を返す必要がないので、結果に関してユーザに負担をかけすぎることを回避する。
【００２０】
（クエリ決定時における推測検索の例）
図１Ａ、図１Ｂ，図１Ｃおよび図１Ｄは、本発明の実施形態に従う推測検索結果を与えるためのグラフィカルユーザインターフェース１００を図示する。図１Ａ〜図１Ｄでのシーケンスは、ユーザがさらに検索クエリを入力し続けるにつれて、推測検索結果が関連性のある検索結果に更新されることを示す。新しい推測検索をいつ開始すべきかを決定するための技術が本明細書に記載される。
【００２１】
図１Ａでは、ユーザは検索クエリ１０１ａ“ｓｕｎ”を検索ボックス１０２に入力している。ユーザはまだ、検索クエリが完成したという指示を入力していない。従って、テキスト「ｓｕｎ」は未送信検索クエリである。例えば、ユーザはまだ、「ウェブ検索」ボタン１０４をクリックするか、キャリッジリターンを入力して自動的な検索をトリガしていない。しかし、未送信検索クエリ１０１ａは検索エンジンに転送されて、検索エンジンは未送信検索クエリ１０１ａに基づいて推測検索結果１０６ａを与える。この場合、推測検索結果１０６ａはＵＲＬを与えるハイパーテキストリンクを有する。
【００２２】
推測検索結果１０６ａはユーザにそれを与えるに値するのに十分な関連性を有すると判断されたものである。例えば、おびただしい数の関連性の低い結果をユーザが受け取ることは望ましくない。本発明の実施形態は、どの推測検索結果がユーザに返すに値するのに十分な関連性を有するかを判断するための種々の技術を提供する。検索クエリ１０１ａを完成する前に、ユーザは任意の推測検索結果１０６ａのハイパーテキストリンク１０６ａをクリックし得る。
【００２３】
ユーザがさらに検索クエリを入力するにつれて推測検索結果１０６ａは更新され得る。図１Ｂは、ユーザが今“ｓｕｎｎ”という未送信検索クエリ１０１ｂを入力した状態のグラフィカルユーザインターフェース１００を図示する。推測検索結果１０６ｂが未送信検索クエリ１０１ｂ“ｓｕｎｎ”に対して与えられている。このように、更新された検索クエリ１０１ｂに基づいて、推測検索結果１０６ｂは更新されている。この場合、推測検索結果１０６ｂは未提出検索クエリ１０１ａ“ｓｕｎｎ”に関連したストックに関する情報の系統付けられた集合を含む。
【００２４】
推測検索結果は必ずしも、ユーザが新しい文字を検索クエリ１０１に入力する度に更新されるとは限らない。今度は図１Ｃを参照すると、未提出検索クエリ１０１ｃは、今は“ｓｕｎｎｙｖａｌｅ”である。テキスト“Ｓｕｎｎｙｖａｌｅ”に基づいて、Ｓｕｎｎｙｖａｌｅ，Ｃａｌｉｆ．という都市に関連する新しい推測検索結果１０６ｃが与えられる。なお、“ｓｕｎｎｙｖ”などの検索クエリに対しては、必ずしも推測検索結果に更新があるとは限らない。このように、推測検索結果を用語“ｓｕｎｎｙｖ”に対して与えることは可能であろうが、本発明の実施形態は、かかる推測検索結果はユーザに与えられるべきでないと決定する。この決定を行うための技術が本明細書に記載される。
【００２５】
図１Ｄを参照すると、検索クエリ１０１ｄは今や“ｓｕｎｎｙｖａｌｅ  ｗｅａｔｈｅｒ”であり、Ｓｕｎｎｙｖａｌｅ，Ｃａｌｉｆ．の天候に関連する新しい推測検索結果１０６ｄが与えられている。この場合、推測検索結果１０６ｄは天候サイトへのリンク１１２ならびにＳｕｎｎｙｖａｌｅ，Ｃａｌｉｆ．に対する天候の概要を提供するアブストラクト１１４を含む。
【００２６】
（推測検索結果の提供）
図２は、本発明の実施形態に従う、検索クエリに推測検索結果を与えるためのプロセス２００を示すフロー図である。ブロック２０２では、未送信検索クエリが受信される。例えば、クライアントノード上で実行するアプリケーションは、ユーザにより入力された未送信検索クエリを受信する。未送信検索クエリは検索エンジンに転送され得るが、未送信検索クエリを検索エンジンに転送することはプロセス２００においてより後の方で行われ得る。
【００２７】
この説明を通して使用されるように、未送信検索クエリとは、検索要求が完成したという指示が、検索クエリを入力するためのユーザインターフェースにより受信されていない検索クエリを意味する。例えば、ワールドウェブなどの検索を形成する際に、ユーザは典型的にはキャリッジリターンを入力するか、または「検索ボタン」をクリックして検索要求を開始し、これにより検索クエリが完成したことを指示する。
【００２８】
ブロック２０４では、未送信検索クエリが推測検索開始基準を満たしているかについての判断がなされる。推測検索開始基準が満たされると、ブロック２０６において検索が開始される。未送信検索クエリが推測検索開始基準を満たすのに十分に形成されていない場合は、プロセス２００はブロック２０２に戻り、未送信検索クエリのさらなる入力を受信する。
【００２９】
ブロック２０６では、検索は未送信検索クエリ上で行われる。検索は任意の便利な技術で行われ得、いくつかのステージを含み得る。検索を行うための実施形態が図３に述べられるが、本発明はこの技術に限定されない。検索は任意のデータベースであり得る。例えば、検索は必ずしもワールドワイドウェブの実質的部分に基づいたインデックスを有するデータベースであるとは限らない。１つの実施形態では、検索の少なくとも一部は検索クエリを行っているユーザに関連した情報に関するデータベースである。例えば、ユーザアドレス帳、カレンダなどが検索され得る。
【００３０】
ブロック２０８では、推測検索結果がユーザに与えられる。例示的な推測検索結果１０６は図１Ａ〜図１Ｄ、図４および図５に描かれる。推測検索結果はユーザが検索クエリを入力している同一のウェブページ上に表示され得る。推測検索結果は、ウェブページへのリンク、ウェブページそのもの、グラフィック（例えば、対話式マップ）およびテキスト記述を含むが、但しこれらに限定されない、多くの種々の形態を取ることが可能である。従って、ユーザは推測検索結果を見ることができ、検索クエリが完成したことを指示する前に、推測検索結果の関連性を決定することができる。典型的な状況では、情報がユーザに殺到しないように、限定された１セットの結果がユーザに表示される。検索エンジンはウェブページ全体または更新された情報のみをクライアントノードに転送して、クライアントノードがクライアントノード上に現在記憶されているウェブページに統合し得る。１つの実施形態では、クライアントノードはＡＪＡＸエンジンを有し、クライアントと検索エンジンとの間のデータ伝送を容易にすると共に、更新されたウェブページを解釈して表示する（ｒｅｎｄｅｒｉｎｇ）のを助ける。
【００３１】
ブロック２１０においてユーザが推測検索結果を選択すると、ブロック２１２において推測検索結果に関連するコンテンツが与えられる。例えば、ユーザが図１Ａ〜図１Ｄで描かれた推測検索結果においてリンクの１つを選択すると、選択されたリンクに関連するウェブページがユーザに与えられ得る。
【００３２】
ユーザが検索クエリを完成したという指示を与えると、ユーザは従来の検索において返され得る検索結果が与えられる。従って、ブロック２１４において検索クエリが完成したという指示が受信されると、ブロック２１６において完成検索結果がユーザに与えられる。例えば、ユーザが検索ボタン（図１Ａ、１０４）をクリックするかキャリッジリターンを入力すると、クライアントノードは検索エンジンに完成検索クエリと検索クエリが完成したという明示または黙示の指示を転送する。完成検索クエリに応答して、検索エンジンはＵＲＬに関連付けられたコンテンツの簡単な説明を添えたＵＲＬを含み得るリストなど、完成検索結果を与える。この完成検索結果は、検索クエリウェブページとは別のウェブページ上に与えられ得る。
【００３３】
プロセス２００は、ユーザが、検索クエリが完成したことを指示しなければ、ブロック２０２に戻り、未送信検索クエリへのさらなる入力が受信される。プロセス２００は継続し、ユーザがさらなる情報に対する推測検索結果の１つを選択するか、または検索クエリが完成したことを指示すると終了し得る。
【００３４】
（推測検索の実施）
推測検索を開始すると判断された後で、かつユーザが明示的に検索要求を開始する前に、予め定義された検索ルールが適用されてユーザに１つまたは２，３個の高度に関連性のある検索結果を与え、これらはまだ検索クエリを形成しているのと同一のウェブページ上に表示され得る。図３は、本発明の実施形態による関連性のある推測検索結果を決定してユーザに与える、プロセス３００を図示するフロー図である。このプロセス３００は、関連性のありそうな結果をユーザに与え、より関連性がないと予想される検索結果をフィルタにかけて除去することによりノイズを低減する。ブロック３０２では、未送信検索クエリがアクセスされる。例えば、検索エンジンが未送信検索クエリにアクセスする。
【００３５】
ブロック３０４では、検索クエリが、その検索クエリに関連する情報の系統付けられた集合を含み得る予め定義された検索結果のトリガとなるかどうかの判断が行われる。例えば、多くの検索の分析に基づいて、検索クエリに関連する種々のリンクを含む１セットの予め定義された検索結果が形成される。一例としては図１Ｂに描かれるストックに対する推測検索結果は予め定義された検索結果を生じる検索クエリの一例である。予め定義された検索結果の他の例は図５に描かれるが、「１ドルを円に換算」という検索クエリに応答してドルを円に換算する検索結果が与えられている。
【００３６】
ブロック３０４において検索クエリが予め定義された検索結果と一致（またはほとんど一致）したら、ブロック３０６において予め定義された検索結果が与えられる。例えば、ウェブサーバは予め定められた検索結果をクライアントノードに転送し、クライアントノード上で実行するアプリケーションは、検索クエリが形成されているのと同じウェブページ上にその結果を表示可能である。
【００３７】
ブロック３０８では、未送信検索クエリが分析されて、ＵＲＬなどのナビゲーションリンクを得るための検索クエリであり得るかどうかを決定する。例えば、ユーザがＵＲＬに確信がない場合、多くのユーザはＵＲＬを得るための検索クエリを採用する。未送信検索クエリを分析することにより、検索クエリがＵＲＬを見つける試みのように見えるかどうかを決定することが可能である。場合によって、ユーザはＵＲＬに論理的に関連すると予想されるであろう検索クエリをタイプし得るが、実際のＵＲＬは予想したものと異なることもある。ユーザに関連性の高いウェブサイドへのＵＲＬが与えられるように、内蔵された知能（ｉｎｔｅｌｌｉｇｅｎｃｅ）によりかかる状況を補正することができる。
【００３８】
ブロック３０８において検索クエリはナビゲーションリンク用であり得るという判断がされた場合は、ナビゲーションリンクはブロック３１０でユーザに与えられる。例えば、検索エンジンはウェブリンクをクライアントノードに転送し、クライアントノード上で実行するアプリケーションは検索クエリと同一のウェブページ上にナビゲーションリンクを表示する。
【００３９】
未送信検索クエリが予め定義された検索結果かナビゲーションリンクの何れについてもトリガとならない場合は、ブロック３１２においてユーザにフォールバック検索結果を与えるべきかどうかについての判断がなされる。潜在的フォールバック結果の関連性はそれをユーザに与える前に査定されるので、ユーザはおびただしい数の関連性の低い結果を受け取ることはない。本明細書の１つの実施形態では、辞書を使用して、フォールバック検索を行う前に検索クエリにフィルタをかける。従って、辞書内の用語またはフレーズに検索クエリが一致しない、またはほとんど一致しない場合は、プロセス２００はブロック３１４に進み、フォールバック検索は行われない。１つの実施形態では、辞書内のフレーズは検索の統計的分析から学習される。
【００４０】
ブロック３１２のテストが、フォールバック検索を行うべきであると判断すると、ブロック３１６でユーザに提供するための１つ以上のフォールバック検索結果が選択される。フォールバック検索結果はウェブページのタイトル、ページの１つ以上のアブストラクト、ページのＵＲＬを含み得る。フォールバック結果はウェブ検索または部分的ウェブ検索の単一結果（または限定数の結果）を与えることができる。また、検索の範囲を調節して、検索結果の予想関連性に影響を与えることが可能である。フォールバック検索結果については、以下、より詳細に説明する。
【００４１】
（フォールバック検索結果）
関連性が低いかもしれない一般的でない検索結果を与えるのではなく、フォールバック検索を１セットの一般的な検索結果に限定できる。例えば、上位５０，０００件の検索の結果が追跡され、未送信検索クエリが人気のある検索結果のうち１つのトリガとなる場合にのみフォールバック検索結果が与えられる。任意の便利な数の人気のある検索結果が使用され得る。従って、本発明の実施形態は、未送信検索クエリに基づいた検索が曖昧なウェブページをトリガするがゆえに関連性のない検索結果をユーザに与えるのを回避する。フォールバック検索結果は、検索エンジンを使用するすべての人から、現在の検索クエリを形成しているユーザのみに至る範囲の任意のセットのユーザ検索に基づくことができる。
【００４２】
ユーザ経験を簡素化するために、限られた数のフォールバック結果が検索クエリページ上に示される。例えば、１つの実施形態では単一結果のみがユーザに与えられ得る。典型的には検索者の結果に１つの関連性が認められる。１つの実施形態では、関連性の高い検索結果が与えられる。または、関連性の分析に基づいて数個の結果が与えられ得る。１つの実施形態では、検索結果はその関連性が閾値を終えた場合にのみ与えられる。上位の結果間の関連性の広がりが緊密である場合は複数の結果を与え得る。閾値は動的であり得る。その関連性についてユーザを案内するのに役立つように、結果に関してアブストラクトが示され得る。
【００４３】
関連性は多様な技術により決定され得る。例えば、ページの関連性スコアは検索クエリからのいくつの言葉がそのページに含まれ、および／またはどのくらい頻繁にそれらの言葉がそのページから発生するかに基づき得る。ページの関連性スコアはまた、引用索引、ページソースの信頼性などのようないくつかの「ページ品質評価指標」も考慮し得る。ページの関連性はまた、クエリを提出したユーザに関して定義され得る。例えば、関連性はクエリを送信するのに使用された言語（例えば、英語またはフランス語）に基づき得る。別の例では、関連性はユーザの特性（例えば、ユーザの地理的地域、性別、または社会的グループ）に基づき得る。従って、英国にいるユーザにより提出されたクエリから生じるページの関連性スコアは、米国にいるユーザにより提出された同じクエリから生じるページの関連性スコアとは異なって決定され得る。
【００４４】
（検索クエリを改善する連想）
検索クエリの品質を改善するために、本発明の実施形態は、ユーザが、検索クエリが完成したことを指示する前に、形成されている検索クエリに対する代替のスペリングを連想する。例えば、ユーザはスペリング誤りの可能性があると判断される予備検索クエリを入力するかもしれない。ユーザには本発明の実施形態による代替スペリング連想が促される。また、スペリング連想は、検索クエリが完成したことをユーザが指示する前に与えられる。ユーザはスペリング連想に関連付けられた、与えられたリンクをクリックして、検索ボックス内のスペリングを自動的に修正し得る。さらには、連想されたスペリングに関連付けられたリンクをユーザがクリックすることに応答して、ナビゲーションリンクが推測検索結果として与えられ得る。
【００４５】
別の実施形態では、ユーザは未送信検索クエリの分析に基づいて、別の検索クエリを試みるように促される。連想された代替検索クエリは、ユーザがまだ検索クエリを入力している間に未送信検索クエリに応答して与えられる。
【００４６】
１つの実施形態では、ユーザの検索要求の履歴が追跡されて、関連性のある検索結果を決定するのに使用される。例えば、ユーザが頻繁に一定の天気予報にアクセスする場合、ユーザが検索クエリの最初の文字をタイプすると自動的にリンクが与えられ得る。
【００４７】
ユーザ経験を高める推測の１つのタイプは、未送信検索クエリが何になるかを推測して、推測された完成検索クエリに基づいて積極的に検索することである。例えば、データベースが部分的に形成された検索クエリで索引を付けられて、完成検索クエリが何であり得るかについて推測することができる。または、アドレス帳もしくは電話帳などのユーザ固有の情報が部分的に形成された検索クエリで検索されて、完成検索クエリが何であり得るかについて推測することができる。例えば、未提出検索クエリとしてユーザによりフレーズ“ｊｏｈｎ  ｔｅｌｅｐ”が入力されると、ユーザの電話／アドレス帳が検索されて、Ｊｏｈｎという名前の誰かの電話番号をみつけることができる。未提出検索クエリに応答して電話番号がユーザに与えられる。ｅメール、ノートパッド、お気に入り、履歴など、他のユーザデータベースも同様に検索可能であろう。
【００４８】
（例示的検索結果）
本発明の実施形態はキーワードに対する検索クエリを分析して、どのようなタイプの検索が行われるべきかを決定する。例えば、図４はユーザが“ｓｆ  ｍａｐ”という検索５０１を入力して、ユーザが検索クエリ５０２においてタイピングしている間にＳａｎ  Ｆｒａｎｃｉｓｃｏのマップ５０２が提供される例を図示する。また、他の役に立つリンク５０４が推測検索結果において与えられる。
【００４９】
（予測検索クエリ概要）
検索エンジンへのインターフェースを与えるための技術が提供される。検索エンジンへのインターフェースは、１）ユーザがそれまでインターフェースのクエリフィールドに入力した文字（単数または複数）に基づいて、ユーザが何を検索しているかを予測することにより、および２）ユーザが正式に意図するクエリを発行する必要なしにインターフェースを介してユーザに検索結果を提供することにより、ユーザを援助する。クエリフィールドに入力される文字毎に、それまで入力されたクエリの部分が、クエリのその部分に対応する１つ以上の予測クエリのセットを決定するクエリプレディクタに自動的に送られる。予測クエリのセットは以前に発行されたクエリの頻度のみに基づいて、または以前のクエリがいつ発行されたかにも基づいて決定される。最も可能性のある予測クエリが検索エンジンにより処理されて検索結果を得る。予測クエリと検索結果は共に対話式ユーザインターフェースを介してユーザに与えられる。予測クエリは、ユーザに対して表示される場合、その人気のみに基づくか（頻度ベース）、またその時間的関連性（時間ベース）にも基づいて順序付けられ得る。
【００５０】
ユーザが最も可能性のある予測クエリに基づいた検索結果に興味がない場合は、ユーザは予測クエリのセットにおいて任意のクエリを選択し得る。ユーザがリスト内で異なる予測クエリを選択すると、検索結果はその後更新されて、異なる予測クエリに関する検索結果を表示する。
【００５１】
ユーザインターフェースを介した予測クエリおよび検索結果のユーザに対する表示に加えて、最も可能性のある予測クエリに関連するが、必ずしも検索結果により得られるとは限らない、広告やウェブサイトへの他の関連リンクといった他の動的データが与えられてもよい。
【００５２】
（予測検索機能概要）
図６は、本発明の１つの実施形態によるユーザインターフェース表示、予測クエリおよび検索結果を図示する。ユーザはウェブブラウザ６００を介して、ユーザの意図するクエリを構成することになる文字をクエリフィールド６０２に入力する。第１の文字が入力するとすぐに、下記で説明するように（また、図８Ａ〜図８Ｃ参照）、後続の入力文字毎に意図されるクエリのその部分がクエリプレディクタに送信される。その部分クエリに基づいて、クエリプレディクタは１つ以上の予測クエリのセットを決定する。予測クエリはユーザに送り返され、例えばドロップボックス６０４に表示される。ウェブブラウザ６００はまた、選択された予測クエリ６０８（以後、「特定予測クエリ」と称する）も表示する。
【００５３】
検索エンジンは１セットの予測クエリからの特定予測クエリ６０８を処理して、検索結果６１２をユーザに送信して、例えば結果ページ６１０に表示する。従って、実際に意図するクエリが決定されて、意図するクエリの結果が表示されるまでにユーザは１つまたは２、３個の文字を入力するだけよいということが可能である。それゆえに、意図したクエリが発行されるのに、検索ボタン６０６が選択される必要はないかもしれない。
【００５４】
クエリプレディクタ
本発明の１つの実施形態では、ユーザによりそれまで入力されたクエリの部分は、ユーザのウェブブラウザからネットワークでクエリプレディクタに送信される。これはユーザにより入力される文字毎、または文字のシーケンス毎に行われ得る。クエリプレディクタは、１つ以上の文字を調べて意図するクエリが何かについて１つ以上の予測をする。１つ以上の予測は１つ以上の完成したクエリの形態であるが、それぞれは以前に発行されたクエリである。これらの１つ以上の予測はユーザのコンピュータに送信され、表示されて、ユーザがクエリフィールドに意図するクエリ全体を完全にタイプする前にクエリを決定することを効果的に援助する。
【００５５】
クエリプレディクタの基本前提は、少なくとも他の１人の個人が以前に発行しているクエリをユーザが発行しようする可能性が高いということである。その情報を使用することにより、高度な対話式検索エンジンは、クエリの決定においてユーザを援助するか、またはおそらくユーザが興味を持つであろうクエリに生じ得る他の変形をリストにすることにより、クエリを改良する際のユーザの手助けとなり得る。クエリが１人のユーザにとって価値がある場合は別のユーザにも潜在的価値があるので、以前に発行されたクエリはすべて保存され、ログされる。
【００５６】
１つの実施形態では、クエリプレディクタは他の言語に延長し、英語だけに限定されない。クエリプレディクタはまた、ユーザがその小さい部品だけが分かっている製品名および部品数など、他のタイプのストリングもサポートし得る。
【００５７】
（「スマート」語彙完成）
従って、クエリプレディクタは、一旦１つ以上の文字をユーザから受信するとクエリプレディクタがアクセスし得るクエリの検索可能データベースを有する。部分クエリに基づいて、クエリプレディクタは語彙的に一致するクエリのデータベースから１つ以上の完成したクエリを決定する。但し、部分クエリを語彙的に単に完成し、部分クエリ内の文字（単数または複数）から始まるようなクエリのみを返す代わりに、予測クエリのどこかにその語彙的完成を含む他のクエリも見つけられる。例えば、ユーザがストリング“ｔｈ”を入力すると、“ｔｈｅｏｒｙ  ｏｆ  ｅｖｏｌｕｔｉｏｎ”がユーザに送信される予測クエリであり得るだけでなく、“ｔｈ”の単なる語彙完成ではない、“ｓｔｒｉｎｇ  ｔｈｅｏｒｙ”または“ｍｕｓｉｃ  ｔｈｅｏｒｙ”も予測クエリであり得る。
【００５８】
（頻度および時間）
場合によっては、以前発行された多くのクエリが“ｔｈ”で始まり得る。最も有用なクエリは、最もしばしば発行されている（人気）だけでなく、最も新しく発行されている（時間的関連性）ものである可能性があると判断されている。それゆえに、本発明の１つの実施形態では、クエリプレディクタは、その頻度（すなわち、クエリが全クエリデータベース履歴において発行された回数）およびそれらが特定時間、例えばこの１週間のうちにどのくらい頻繁に発行されたかに基づいて、結果的に得られる予測クエリのセットにバイアスを与える。最も新しく発行されたクエリにバイアスをかけるという事実は、ユーザは他の多くの人々が概ね同じ時間に興味を持つ主題により興味を持ちそうであるという前提に基づいている。
【００５９】
一例として、“ｒｅｎｅｗａｂｌｅ  ｅｎｅｒｇｙ  ｓｏｕｒｃｅｓ”（エネルギー源の一新）はクエリとして“ｎｕｃｌｅａｒ  ｅｎｅｒｇｙ”（原子力エネルギー）よりも５倍頻繁に発行されたかもしれないが、１００個の原子炉が建設されるというアメリカ連邦議会による仮説的な最近の発表ゆえに、先週は“ｎｕｃｌｅａｒ  ｅｎｅｒｇｙ”がずっと頻繁に発行されたかもしれないので、部分クエリ“ｅｎｅｒ”はクエリプレディクタに、特定予測クエリとして“ｎｕｃｌｅａｒ  ｅｎｅｒｇｙ”を生成させる。
【００６０】
１つの実施形態では、１つは相対的に新しいクエリに対するものと、もう１つは相対的に古いクエリに対するものとからなる少なくとも２つのデータベースを検索して、その後、新しいデータベースを検索した結果を調整して、それに応じてそれらに重み付けを行うことにより時間要素が決定される。図７は、本実施形態が実施され得るステップを図示する。本発明はこの特定例に限定されないので、「古い」クエリデータベースおよび「新しい」クエリデータベースの数に加えて、この調整および重み付けが行われ得る多くの方法があることは明白となるであろう。本実施形態において、クエリプレディクタは先週発行されたすべてのクエリからなる小さいデータベースと、一週間前より以前に発行されたすべてのクエリからなる大きいデータベースとにアクセスする。潜在的に価値のある予測クエリを求めて小さいデータベースを検索する場合、潜在的クエリが小さいデータベースで見つけられる回数はあるファクタに基づいて調整される。このファクタは、適度に人気のあるクエリが小さいデータベースで見つけられる回数に対する同じ適度に人気のあるクエリが大きなデータベースで見つけられる回数の比率である。例えば、“Ｙａｈｏｏ”は先週および過去数年を通して適度に人気のあるクエリであるとする。“Ｙａｈｏｏ”が大きいデータベースで１，７００，０００回見つけられ、小さいデータベースで２５，０００回見つけられたとすると、ファクタは１，７００，０００／２５，０００すなわち６８であろう。
【００６１】
小さいデータベースと大きいデータベースとの両者における適度に人気のあるクエリが調整に使用されなかったら、クエリ予測は効果が少ないであろう。クエリが大きいデータベースでのみ人気があり、小さいデータベースでは人気がなかったとすると、調整ファクタは歪められるであろう。例えば、クエリ“ｆｌｏｐｐｙ  ｄｉｓｋ”が調整ファクタとして使用されて、大きいデータベースの履歴において何度もクエリされているが、これ以上誰もフロッピディスクを生産しないか使用しないという単純な理由でその前の週では数回しかクエリされていないとすると、大きいデータベースと小さいデータベースとの間の比率は膨大になろう。これは相対的により古く、潜在的により価値のあるクエリの不利益に対して相対的に最近のクエリを重く重み付けしすぎることにより部分的クエリの結果を歪めていることになろう。
【００６２】
この１週間においてだけ発行されたが、大きいデータベースの履歴ではまれにしか発行されていない新しいクエリが調整ファクタとして使用されると、同様の問題が存在するであろう。例えば、“ｎｕｃｌｅａｒ  ｅｎｅｒｇｙ”は過去においてあまり頻繁に発行さていないクエリであるかもしれない。しかし、１００個の原子炉が建設されるというアメリカ連邦議会による仮説的な最近の発表ゆえに、数十万回ではないがクエリ“ｎｕｃｌｅａｒ  ｅｎｅｒｇｙ”が数千回発行されそうである。その場合、調整ファクタはかなり小さくて、小さいデータベースにおけるクエリが大きなデータベースにおけるクエリに対して重み付けされると、相対的により新しく潜在的により価値がある予測クエリよりも、相対的により古い予測クエリが最もユーザに返されるであろう。
【００６３】
それゆえに、図７を参照すると、クエリプレディクタはステップ７０２において、所定の潜在的に価値のあるクエリが小さい（すなわち最近の）データベースにおいて発行された回数を決定した後、ステップ７０４において調整クエリとしての“Ｙａｈｏｏ”に関する上記で決定した調整ファクタに基づいて、その回数を６８に調整する。その結果生じた調整値は本質的に、小さいデータベースにおける潜在的クエリが大きい（すなわち、古い）データベースにおける潜在的クエリと重みにおいて等しいことを示す。ついで、クエリプレディクタはステップ７０６において、「より古い」クエリの大きなデータベースにおいて潜在的クエリが現われる回数を決定する。
【００６４】
この時点で、大きいデータベースにおける潜在的クエリに対して小さいデータベースにおける潜在的クエリに重みが加えられる。これは調整された小さいデータベース数の結果に２／３をかけて、潜在的クエリが大きいデータベースで見つかった数に１／３を掛けた結果にそれを加えることにより行われる（ステップ７０８〜ステップ７１２を参照）。ステップ７０２〜ステップ７１２は、クエリプレディクタにより決定された潜在的クエリ毎に行われる。処理すべき潜在的クエリがこれ以上ない場合（７１４）、ステップ７１２において潜在的クエリ毎に決定された各値に基づいて、すべての潜在的クエリは互いに比較される（ステップ７１６）。最も高い値を有する２つ以上のクエリ（例えば、１０）は予測クエリとなり、その後ユーザに送信される。
【００６５】
（検索エンジン）
本発明の１つの実施形態では、検索エンジン構成要素はユーザが興味を持つであろう特定予測クエリ（すなわち最も意図されそうな予測クエリ）を処理する。特定予測クエリが処理されて検索結果を得る。この目的に使用され得る検索エンジンは当該技術において一般的であり、さらなる説明は必要としない。
【００６６】
検索エンジンにより得られた検索結果はユーザのコンピュータに送信され、表示される。特定予測クエリがユーザの意図するクエリである場合は、特定予測クエリに基づいた検索結果が、ユーザがクエリフィールドに別の文字を入力する前であっても、および意図するクエリを完全に入力し終わるまさに直前であっても、ユーザのモニタに現れ得る。特定予測クエリがユーザの意図する検索でない場合、ユーザはリスト中の異なる予測クエリを選択するか、あるいは文字のタイプを続けることができ、このときに、選択された、または新たな特定予測クエリに基づく新たな検索結果のセットが、ユーザインターフェースを介して表示されることになる。
【００６７】
（予測クエリおよび検索結果の提供）
図８Ａは、本発明の１つの実施形態により、部分クエリが処理される１つの方法および部分クエリの結果がどのように返されるかを図示するブロック図である。
【００６８】
クライアント８００におけるユーザはウェブブラウザ８０２に部分クエリを入力する。部分クエリ８１２はネットワーク８０５でフロントエンドサーバ８０４に送信される。フロントエンドサーバ８０４は本発明の任意の実施形態において必要な要素ではない。その主たる目的は、対話式検索エンジンシステムにセキュリティを付加することである。ネットワーク８５０もまた、任意の実施形態において必須の要素ではなく、本発明が実施され得る１つのアプローチを示すのに図示されるだけである。ネットワーク８５０はローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）またはインターネットであり得る。フロントエンドサーバ８０４は部分クエリ８１２を、上述のクエリプレディクタ８０６に転送して、クエリプレディクタ８０６はその部分クエリを処理する。
【００６９】
フロントエンドサーバ８０４、クエリプレディクタ８０６および検索エンジン８０８または任意のこれらの組み合わせは同一装置上で実行され得る。但し、図示および簡素化の目的で、それらはそれぞれ異なる装置に存在する。
【００７０】
クエリプレディクタ８０６は部分クエリに基づいて、１つ以上の予測クエリのセットを決定して、それら８１４をフロントエンドサーバ８０４に送り返す。予測クエリのセットと共に、クエリプレディクタ３０６はそのセット内の予測クエリのいずれが特定予測クエリであるかを指示するさらなるデータを送信する。クエリプレディクタ８０６は、どの予測クエリが特定予測クエリかを決定するか、またはウェブブラウザ８０２にその決定を行うのに十分な情報を与えるかのいずれかが行われる。フロントエンドサーバ８０４はその後、予測クエリ８１４および特定予測クエリを示すデータをネットワーク８５０でクライアント８００に転送して、ウェブブラウザ８０２上に表示する。
【００７１】
予測クエリのセットを受信すると、ウェブブラウザ８０２はネットワーク８５０でフロントエンドサーバ８０４に特定予測クエリ８１６を送信して、フロントエンドサーバ８０４は特定予測クエリ８１６を検索エンジン８０８に転送する。上述の検索エンジン８０８は特定予測クエリを処理して検索結果を得る。検索結果８１８は最後にフロントエンドサーバ８０４に送信され、フロントエンドサーバ８０４はそれら８１８をネットワーク８５０でクライアント８００に転送する。
【００７２】
この実行の１つの利点は、予測クエリはそれらが決定されるとすぐにユーザに送信されるということである。しかし、この実行はまた、ユーザが自分のウェブブラウザのクエリフィールドにタイプする文字ごとにクライアント８００とフロントエンドサーバ８０４との間で通信が行わなければならないという２回の全往復がある可能性も示す。
【００７３】
図８Ｂは、本発明の別の実施形態による、部分クエリが処理される異なる方法および、その結果がどのようにユーザに返されるかを図示するブロック図である。
【００７４】
ユーザクライアント８００はウェブブラウザ８０２に部分クエリを入力する。部分クエリ８１２はネットワーク８５０でフロントエンドサーバ８０４に送信される。フロントエンドサーバ８０４は部分クエリ８１２をクエリプレディクタ８０６に転送し、クエリプレディクタ８０６は部分クエリを処理する。
【００７５】
クエリプレディクタ８０６は、部分クエリに基づいて１つ以上の予測クエリのセットを決定し、それら８１４をフロントエンドサーバ８０４に送信する。予測クエリをクライアント８００に即座に転送する代わりに、フロントエンドサーバ８０４は予測クエリを保持して、検索エンジン８０８に特定予測クエリ８１６を送信する。再び、予測クエリのセットとともに、クエリプレディクタ８０６は、そのセット内の予測クエリのうちのいずれが特定予測クエリであるかを示すさらなるデータを送信する。クエリプレディクタ８０６が、どの予測クエリが特定予測クエリであるかを決定するか、フロントエンドサーバ８０４がその決定をするのに十分な情報を与えるかのいずれかが行われる。
【００７６】
エンジン８０８は、特定予測クエリを処理して検索結果を得る。検索結果８１８はフロントエンドサーバ８０４に送信され、このときフロントエンドサーバ８０４は予測クエリ８１４と検索結果８１８との両方をネットワーク８５０でクライアント８００に転送する。
【００７７】
フロントエンドサーバ８０４がない場合、クエリプレディクタ８０６は予測クエリ８１４を検索エンジン８０８に送信して、検索エンジン８０８はその後予測クエリ８１４および検索結果８１８をネットワーク８５０でクライアント８００に送信する。
【００７８】
この実施の１つの利点は、クライアント８００とフロントエンドサーバ８０４との間の通信（すなわち、トラフィック）がより少ないということである。しかし、予測クエリは、予測クエリがクライアント８００に転送される前に検索結果が生成されてフロントエンドサーバ８０４に送信されるまで待たなければならないので、前述の実施形態ほど迅速にユーザのウェブブラウザ８０２に表示し得ない。
【００７９】
図８Ｃは、本発明の別の実施形態による、部分クエリが処理される異なる方法および、その結果がどのようにユーザに返されるかを図示するブロック図である。
【００８０】
クライアント８００のユーザはウェブブラウザ８０２に部分クエリを入力する。部分クエリ８１２はネットワーク８５０でフロントエンドサーバ８０４に送信される。フロントエンドサーバ８０４は部分クエリ８１２をクエリプレディクタ８０６に転送し、クエリプレディクタ８０６は部分クエリを処理する。
【００８１】
クエリプレディクタ８０６は、部分クエリに基づいて１つ以上の予測クエリのセットを決定し、それら８１４をフロントエンドサーバ８０４に送信する。再び、予測クエリのセットとともに、クエリプレディクタ８０６は、そのセット内の予測クエリのうちのいずれが特定予測クエリであるかを示すさらなるデータを送信する。クエリプレディクタ８０６はどの予測クエリが特定予測クエリであるかを決定するか、フロントエンドサーバ８０４にその決定をするのに十分な情報を与えられるかのいずれかが行われる。
【００８２】
先の実施形態のように予測クエリを「保持（ｈｏｌｄ  ｏｎ）する代わりに、フロントエンドサーバ８０４は予測クエリ８１４をネットワーク８５０でクライアント８００に送信し、実質的に同時に特定予測クエリ８１６を検索エンジン８０８に送信する。また、クエリプレディクタ８０６が特定予測クエリを検索エンジン８０８に直接送信することも可能である。
【００８３】
エンジン８０８は特定予測クエリを処理して検索結果を得る。検索結果８１８はフロントエンドサーバ８０４に送信され、このときフロントエンドサーバ８０４は検索結果８１８をネットワーク８５０でクライアント８００に転送する。フロントエンドサーバ８０４がない場合、クエリプレディクタ８０６は予測クエリ８１４と特定予測クエリ８１６との両方を検索エンジン８０８に送信して、その後、検索エンジン８０８は予測クエリ８１４および検索結果８１８をネットワーク８５０でクライアント８００に送信する。
【００８４】
フロントエンドサーバ８０４がない場合、クエリプレディクタ８０６は予測クエリ８１４と特定予測クエリ８１６との両方を検索エンジン８０８に送信して、その後、検索エンジン８０８は予測クエリ８１４および検索結果８１８をネットワーク８５０でクライアント８００に送信する。
【００８５】
図８Ａで説明される実施形態と比較したこの実施の利点は、クライアント８００とフロントエンドサーバ８０４との間のトラフィックがより少ないということである。図８Ｂで説明される実施形態と比較した利点は、予測クエリはクライアント８００に転送される前に、検索結果が生成されてフロントエンドサーバ８０４に送信されるのを「待つ」必要がないことである。従って、予測クエリはその生成後すぐに送信され、クライアント８００とフロントエンドサーバ８０４の間の通信はより少なくて済む。
【００８６】
（ユーザインターフェース）
本発明の１つの実施形態では、図６に図示されるように、ユーザインターフェースは少なくとも１）部分クエリを構成する文字をユーザが入力するクエリフィールド６０２と、２）１つ以上の予測クエリのセットを一覧表示するドロップダウンボックス６０４と、３）検索結果ページ６１０と、４）「検索」ボタン６０６とを含む。検索ボタンは、ユーザが双方向検索エンジンにより与えられた予測クエリのいずれにも満足しない場合に、ユーザが、自分が入力するクエリを選択することを可能とする任意のメカニズムの形態であり得る。ドロップダウンボックス６０４に一覧表示された予測クエリのセットは、テキストボックス、リストボックス、メニュまたはコンテキストメニュを含むが、これらに限定されない他のほぼ任意のタイプのユーザインターフェース要素で表され得る。ユーザインターフェースは、ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥまたはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブブラウザを使用して見得る。
【００８７】
１つの実施形態では、最も可能性のありそうな予測クエリから最も可能性の少ない予測クエリの順番で、一番上から予測クエリのセットが一覧表示される。
【００８８】
（変形例）
上述のユーザインターフェース、クエリプレディクタおよび検索エンジンに加えて、双方向検索エンジンを多くの方法で変更して、検索経験の様相、感覚、応答性を変化させ得る。
【００８９】
（タブ）
例えば、ユーザインターフェースは図６のボタンやリンク６２２のようなタブを含み、ユーザは可能なクエリのサブセクションを選択し、そのサブセクションに基づいて検索し得る。タブの集合、すなわち、「ウェブ」「画像」「動画」および「買い物」などの「バーティカル検索」で、ユーザは異なるクエリセットを選択し得る。クエリプレディクタが予想しているデータは何にユーザが興味を持っているかに基づいて異なり、そのデータはこれらのタブを使用することにより狭められる。例えば、ユーザが製品の買い物に興味がある場合は、ユーザは「買い物」タブを選択する。その後、ユーザは製品名またはサービスをクエリフィールド６０２に入力し始める。クエリプレディクタには部分クエリだけでなく、ユーザが特定製品またはサービスを検索していることを示す買い物選択情報も送信され、クエリプレディクタはその製品およびサービスに関するような予測クエリのみを返す。
【００９０】
（キーワード）
クエリが発行される場合、クエリにおける言葉の順番は重要でないこともしばしばある。先に触れたように、発行されたクエリは英語である必要はない。他の実施形態では、他の自然言語が支持されるだけでなく、ユーザが非自然ストリングの一部しか知らない製品名および部品番号などの非自然ストリングも支持される。それゆえに、本明細書で使用される用語「言葉」は、英語の言葉、韓国語の言葉、または製品番号を含み得る。
【００９１】
ユーザがクエリフィールドに２つ以上の言葉を入力する場合、ユーザは必ずしも、検索エンジンが入力された順番で２つ以上の言葉を含むウェブアクセス可能文書へのリンクを返すことを気にしているとは限らない。むしろ、ユーザはそれらがどのような順番で見つけられるかに関わらず、単にこれらの言葉を含むウェブアクセス可能文書に興味がある。
【００９２】
例えば、ユーザはクエリフィールドに“ｓｏｌａｒ  ｗｉｎｄ  ｗａｔｅｒ  ｐｏｗｅｒ”と入力する。ユーザは特に順番にこだわらない。ユーザはむしろ、クエリのどこかに“ｓｏｌａｒ”、“ｗｉｎｄ”、“ｗａｔｅｒ”および“ｐｏｗｅｒ”を含むクエリに興味がある。クエリプレディクタは何の言葉がクエリにおいて重要であるか、またどの言葉が重要でないかを決定して、その後、単に一致するサブストリングに基づいてクエリを予測する代わりに重要な言葉に基づいてクエリを予測する。
【００９３】
（遅延結果）
別の実施形態では、予測クエリおよび／または検索結果を表示するステップが遅延する。予測クエリを即座に返す代わりに、クエリプレディクタは、予測クエリ及び検索結果が表示される前に、一定の基準（特定時間量の経過、または数個の文字が入力されたとき、またはその両方など）が満たされるまで「待機」する。待機というこのさらなるステップは、ユーザが何についてクエリしたいのかを確信していないかもしれないということを想定している。このように、待機基準に基づいて対話式ユーザインターフェースが、これはユーザが本当にクエリするつもりのものであるということを決定するまで、予測クエリは遅延する。一旦待機基準が満たされると、部分クエリは上述のようにクエリプレディクタおよび検索エンジンにより処理される。
【００９４】
（他の動的データ）
意図されるクエリを予測して適切な検索結果を返す以外にユーザを手助けするさらなる方法がある。別の実施形態では、クエリプレディクタから返される特定予測クエリに基づいて、対話式ユーザインターフェース上に現われる広告が変化する。このように、特定予測クエリが変化するたびに、クエリに関連する新しい広告がユーザインターフェースに掲載されて、より古いおよび関連性のないクエリに関する広告はユーザインターフェースから削除される。例えば、ユーザが“ｅｌｌｉ”と入力し、クエリプレディクタは“ｅｌｌｉｐｔｉｃａｌ”（楕円の）を特定予測クエリとして決定すると、運動機器に関連する広告がユーザインターフェースに現われることになる。
【００９５】
広告に加えて、クエリを送信する際に他の動的情報がユーザに有用であり得る。別の実施形態では、特定予測クエリに関連するが検索結果で見つけられない情報がユーザインターフェースを介してユーザに表示される。上記で使用した“ｔｈｅｏｒｙ”の例を発展させると、クエリプレディクタは  “ｔｈｅｏｒｙ”がユーザにより入力された部分クエリ“ｔｈ”に対する特定予測クエリであると決定する。クエリプレディクタまたはおそらく他のプログラムは、“ｔｈｅｏｒｙ”は“ｓｔｒｉｎｇ  ｔｈｅｏｒｙ”、“ｍｕｓｉｃ  ｔｈｅｏｒｙ”、“ｍａｔｈ  ｔｈｅｏｒｙ”に関連付けられると決定し、これらの関連題材を返し、予測クエリの形態または異なる形態でユーザインターフェース上に表示する。“ｔｈｅｏｒｙ”のような短いクエリに関しては、このさらなる情報はクエリプレディクタが生成するであろうものとたまたま同一のセットであることもある。
【００９６】
しかしながら、ユーザがクエリフィールドに“ｉｎｔｅｒｎａ”と入力し、クエリプレディクタが特定予定クエリを“ｉｎｔｅｒｎａｔｉｏｎａｌ  ｔｒａｄｅ”と決定すると、クエリプレディクタは、予測クエリに加えて  “ｉｎｔｅｒｎａｉｏｎａｌ  ｔｒａｄｅ”（国際貿易）の語彙完成でなく、国際貿易のトピックに関連したクエリを返すであろう。このようなクエリはＧＡＴＴ、ＷＴＯ、ＵＮ、ＵＳ貿易政策などに関し得るであろう。クエリプレディクタとは別のプログラムもこの機能を行い得るであろう。
【００９７】
明らかに、本発明のこの態様はクエリ予測を行うことではなくむしろ、ユーザに動的で関連のある、希望的有用情報を提供することである。広告、さらなるクエリおよび他の関連情報を与える際の原則はユーザインターフェースを介して表示されるすべてのものをクエリプレディクタがユーザの意図であると「信じる」ものと一致させておくが、クエリプレディクタはそれを部分クエリから決定することである。
【００９８】
（予測検索クエリの代替：概要）
ユーザ検索クエリが完成されたときに何になるかを予め予測するための技術について述べてきた。このように予測される検索クエリは本明細書では、「予測検索クエリ」と称される。１つの実施形態によると、予測検索クエリを決定した後、検索エンジンは予測検索クエリの１つ以上の代替を決定してそれをユーザに提供し続ける。このような代替クエリを本明細書では、「代替検索クエリ」と称する。各代替検索クエリは少なくとも部分的に予測検索クエリに基づくが、予測検索クエリとは幾分異なる。
【００９９】
予測検索クエリとは異なり、代替検索クエリはユーザクエリが完成されるとどのようになるかの予測ではない。実際に、代替検索クエリは、部分的に形成されたユーザ検索クエリがそのように完成しそうもないこともしばしばである。例えば、ユーザが“ｂｒｉｔｔａｎｙ  ｓｐ”という検索クエリを入力したことに応答して、予測検索クエリは“ｂｒｉｔｔａｎｙ  ｓｐｅａｒｓ”であり得るが、代替検索クエリは“ｂｒｉｔｎｅｙ  ｓｐｅａｒｓ”であり得る。本例では、ユーザがスペリングの前に戻って変更した場合にのみ“ｂｒｉｔｎｅｙ  ｓｐｅａｒｓ”が生成され得るので、“ｂｒｉｔｔａｎｙ  ｓｐ”の完成されたバージョンは  “ｂｒｉｔｎｅｙ  ｓｐｅａｒｓ”ではない可能性が高い。
【０１００】
本発明の実施形態によると、代替検索クエリは以下のように決定される。検索クエリがクライアントノードから受信される。検索クエリが完全に形成されたという指示をクライアントノードから受信する前に、以下のステップが行われる：１）検索クエリが完成されたときに何になるかを予め予測することにより予測検索クエリが決定される。２）予測検索クエリとは異なる代替検索クエリが、予測検索クエリに基づいて決定される。代替検索クエリはクライアントノードに与えられる。
【０１０１】
代替検索クエリは、予測検索クエリの代替スペリング（またはスペリング連想）に基づいて行われ得る。代替検索クエリは予測検索クエリに緊密に関連した検索クエリであり得る。例えば、予測検索クエリが頭字語である場合は、代替は頭字語の展開であり得る。緊密に関連した検索クエリの別の例は“ｍｏｖｉｅ  ｔｉｍｅｓ”と“ｓｈｏｗ  ｔｉｍｅｓ”である。
【０１０２】
（実例のユーザインターフェース）
図９は、本発明の実施形態による、実例ユーザインターフェース９００である。ユーザインターフェースは検索ボックス９０１を有し、そこにはユーザが“ｃｈｉｃｋｅｎ  ｒ”（鶏肉ｒ）というユーザ検索クエリ９０２を入力している。検索ボックス９０１の下には、ユーザがユーザ検索クエリ９０２を入力するにつれてリアルタイムにユーザに与えられる検索クエリのリストがある。検索クエリのリストは、ユーザ検索クエリ９０２のミラードバーション９０３を含む。ミラードバージョン９０３の下は、予測検索クエリ９０４および代替検索クエリ９０５を含む領域であり、その両者とも本発明の実施形態によるユーザ検索クエリ９０２に基づいて直接または間接的に決定される。１つの実施形態によると、予測検索クエリ９０４および代替検索クエリ９０５はユーザ検索クエリ９０２との予想される関連性に基づいてランク付けされる。より高くランク付けされた検索クエリはリストにおいてより高いところに提示され得る。
【０１０３】
予測検索クエリ９０４“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”，“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅ”（鶏肉レシピ）および“ｃｈｉｃｋｅｎ  ｒａｎｃｈ”（養鶏場）がユーザ検索クエリ９０２が完成されたときのものの予測である。本発明の実施形態によると、代替検索クエリ９０５は予測検索クエリ９０４に基づいて決定される。一例として、検索クエリ“ｃｈｉｃｋｅｎ  ａｎｄ  ｒｉｃｅ  ｒｅｃｉｐｅｓ”（鶏飯レシピ）は、予測検索クエリ“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”（複数の鶏肉レシピ）の代替である。なお、代替検索クエリ９０５はユーザ検索クエリ９０２の末尾以外に文字を付加することにより形成される。他の代替検索クエリ９０５は、“ｃｈｉｃｋｅｎ  ｗｉｎｇ  ｒｅｃｉｐｅｓ”，“ｃｈｉｃｋｅｎ  ｗｉｎｇｓ  ｒｅｃｉｐｅ”（鶏肉手羽レシピ）、“ｃｈｉｃｋｅｎ  ｒｉｃｅ  ｒｅｃｉｐｅ”（鶏飯レシピ）、“ｅａｓｙ  ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”（簡単鶏肉レシピ）および“ｂａｋｅｄ  ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”（焼鳥レシピ）を含む。
【０１０４】
ユーザインターフェース９００は検索クエリの１つ以上を満足させる文書（例えば、ウェブページ）へのリンクを含む検索結果９０６を有する。本例では、検索結果９０６は予測検索クエリ９０４および代替検索クエリ９０５の最も高い関連性ランキングを有する予測検索クエリ“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”（鶏肉レシピ）に関する。１つの実施形態では、これらの検索結果はユーザがその特定検索クエリに対する検索結果を要求することなく初期設定でユーザに与えられる。但し、検索結果は代替検索クエリ９０５の何れかを含む、検索クエリの何れかに対して与えることが可能である。なお、この実例のユーザインターフェース９００には、ユーザが検索クエリを提出するボタンがない。１つの実施形態では、ユーザは検索クエリのリスト（ミラード検索クエリ９０３を含む）中をスクロールすることによりどの検索結果が表示されるかを変更することができる。
【０１０５】
ユーザインターフェース９００は、スポンサ提供領域９１０などの検索クエリに関連する結果を表示するための他の領域を有する。予測検索クエリ９０４または代替検索クエリ９０５のいずれかに関連する結果がスポンサ提供領域９１０に表示され得る。
【０１０６】
（予測検索クエリの代替を決定するフロー）
図１０は、本発明の実施形態による予測検索クエリの代替を決定するプロセス１０００のステップを図示するフロー図である。プロセス１０００は、図８Ａのクライアント／サーバシステムおよび図９の実例のユーザインターフェースと関連して述べられるが、プロセス１００はそのように限定されない。
【０１０７】
ステップ１００２では、検索クエリがクライアントノードから受信される。例えば、図９の実例のユーザインターフェース９００は、クライアントノード８００上で実行するウェブブラウザ８０２などの一部である。一例として、ユーザは検索クエリ“ｃｈｉｃｋｅｎ  ｒ”を入力し、それがサーバ８０４に転送される。
【０１０８】
ステップ１００４では、完成されると検索クエリが何になるかを予測することにより１つ以上の予測検索クエリが決定される。ステップ１００４は、検索クエリが完全に形成されたというクライアント８００からの指示を受信する前に行われる。例えば、クエリプレディクタ８０６は、ユーザ検索クエリが完成されると、“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅ”または“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”となると決定する。
【０１０９】
１つの実施形態では、予測検索クエリは、過去に提出された検索クエリのデータベース（「履歴データベース」）から検索クエリを選択することにより決定される。例えば、履歴データベースはまた、各検索クエリが提出された頻度を記憶して、予測検索クエリの選択はその頻度に基づいて行われる。本例では、ユーザが検索クエリ“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅ”および“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”を提出した頻度は十分高いのでユーザ検索クエリがそれらのうちの１つに完成するであろうことを予測できる。選択は検索クエリが過去に提出された頻度以外またはそれに付加する情報に基づき得る。
【０１１０】
ステップ１００６では、予測検索クエリの少なくとも１つに対して、予測検索クエリとは異なる少なくとも１つの代替検索クエリが決定される。ステップ１００６は、クライアント８００が検索クエリを完成したという指示を与える前に行われる。例えば、代替検索クエリ“ｃｈｉｃｋｅｎ  ａｎｄ  ｒｉｃｅ  ｒｅｃｉｐｅｓ”は“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”に基づいて決定される。他の実例代替検索クエリは“ｃｈｉｋｅｎ  ｗｉｎｇ  ｒｅｃｉｐｅｓ”、“ｃｈｉｃｋｅｎ  ｗｉｎｇｓ  ｒｅｃｉｐｅ”、“ｃｈｉｃｋｅｎ  ｒｉｃｅ  ｒｅｃｉｐｅ”、“ｅａｓｙ  ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”および“ｂａｋｅｄ  ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”である。
【０１１１】
なお、本例では、代替はユーザ検索クエリの末尾に文字を付加することにより形成されていない。例えば、“ｗｉｎｇ”および“ｗｉｎｇｓ”などの言葉はユーザ検索クエリ“ｃｈｉｃｋｅｎ  ｒ”の文字のストリングの真中に挿入される。なお、代替検索クエリ“ｅａｓｙ  ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”のようにユーザ検索クエリの前に文字が付加され得る。代替検索クエリがどのように決定されるかについてのさらなる詳細は以下に述べる。
【０１１２】
ステップ１００８において、代替検索クエリの少なくとも１つがクライアント８００に与えられる。１つの実施形態では、潜在的代替検索クエリがユーザ検索クエリとの予測関連性に応じてランク付けされ、より高くランク付けされた代替がクライアント８００に与えられる。代替検索クエリはその後、図９に示すようにユーザインターフェース９００に表示される。なお、代替検索クエリは、クライアント８００が検索クエリが完成したという指示を与える前に、クライアント８００に与えられる。
【０１１３】
オプションのステップ１０１０では、代替検索クエリの１つ以上を満足させる検索結果が決定され、クライアント８００に与えられる。予測検索結果の１つ以上を満足させる結果などの他の検索結果はクライアント８００に転送可能である。代替検索クエリの１つ以上を満足させる結果は、スポンサ提供領域９１０などのユーザインターフェース９００の他の領域において検索結果９０６として表示され得る。
【０１１４】
（予測検索クエリに基づいて生成される代替検索クエリの例）
代替検索クエリは多数の方法で決定可能である。以下の節では、代替検索クエリを決定するためのいくつかの方法について説明する。但し、予測検索クエリに対する代替検索結果の決定はこれらの例に限定されない。
【０１１５】
（高度関連情報との関連付けに基づくもの）
検索クエリによっては、おそらく構造上全く異なってはいるが互いに関連しているものもある。ユーザがこれらの検索クエリの１つを入力すると、関連検索クエリの１つ以上がまた興味深いものであり得る。場合によっては、検索クエリは極めて同様の検索結果を生成し得る。一例は、検索クエリ“ｍｏｖｉｅ  ｔｉｍｅｓ”と“ｓｈｏｗ  ｔｉｍｅｓ”である。別の例は、検索クエリ“ＣＩＡ”と“ｃｅｎｔｒａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ  ａｇｎｅｃｙ”である。関連検索クエリによっては必ずしも実質的に同様の結果を生成するとは限らない。例えば、検索クエリ“ｆｌｏｗｅｒｓ”（花）と“ｗｅｄｄｉｎｇ  ｆｌｏｗｅｒｓ”（結婚式の花）は関連しているが、検索結果は全く異なり得る。
【０１１６】
Ａ）頭字語
検索クエリが関連し得る１つの方法は、他方において書き出された言葉の頭字語を一方が含む場合である。図１１Ａは本発明の実施形態による、ユーザインターフェース９００を描いている。検索ボックス９０１は“ｃｉａ”というユーザ検索クエリ９０２を含む。検索クエリ９０２が完成したという指示をユーザが与える前に、検索クエリ９０２が完成されたときに何になるかについて１つ以上の予測がなされる。この場合、予測検索クエリ９０４は、“ｃｉａ”、“ｃｉａｒａ”“ｃｉａｌｉｓ”、“ｃｉａ  ｆａｃｔｂｏｏｋ”、“ｃｉａ  ｃｏｕｎｔｒｙ  ｆａｃｔｂｏｏｋ”、および“ｃｉａ  ｗｏｒｌｄ  ｆａｃｔｂｏｏｋ”を含む。なお、予測検査クエリ９０４“ｃｉａ”はユーザ検索クエリ９０２と同一であり、従ってユーザ検索クエリ９０２のミラードバージョンとして機能する。
【０１１７】
１つの実施形態では、ユーザ検索クエリが完成したときに何になるかの判断は履歴検索クエリの分析に基づく。例えば、１つの実施形態では、検索クエリ“ｃｉａ”が十分に高い頻度で履歴データベースに現われる場合、完成検索クエリと予測される。同様のプロセスは他の予測検索クエリ９０４の決定に適用する。
【０１１８】
前述のように、本発明の実施形態により代替検索クエリが決定され、クライアントに与えられる。例えば、１つの予測検索クエリ９０４は“ｃｉａ”である。本例では、１つの代替検索クエリ９０５は“ｃｅｎｔｒａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ  ａｇｅｎｃｙ”（中央情報局）である。この代替検索クエリは“ＣＩＡ”が頭字語であることを認識して、頭字語を展開することに基づく。プロセスは逆も可能である。言い換えると、予測検索クエリが“ｃｅｎｔｒａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ  ａｇｅｎｃｙ”であった場合、“ｃｉａ”の代替検索クエリがクライアントに与えられ得るであろう。“ｃｉａ”の予測検索クエリ９０４に対する他の代替検索クエリ９０５は、“ｃｕｌｉｎａｒｙ  ｉｎｓｔｉｔｕｔｅ  ｏｆ  ａｍｅｒｉｃａ”（アメリカ調理協会）および“ｃａｉｒｏ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ａｉｒｐｏｒｔ”（カイロ国際空港）である。
【０１１９】
ユーザインターフェース９００は、検索クエリの１つ以上を満足させる文書（例えば、ウェブページ）へのリンクを含む検索結果９０６を有する。本例では、検索結果９０６は検索クエリの１つ以上に関する。例えば、代替検索クエリ９０５“ｃｅｎｔｒａｌ  ｉｎｔｅｌｌｉｇｎｅｃｅ  ａｇｅｎｃｙ”および“ｃｕｌｉｎａｒｙ  ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ａｍｅｒｉｃａ”に関連性のある検索結果が与えられる。
【０１２０】
Ｂ）別の試し（ＡＬＳＯ  ＴＲＹ）
代替検索クエリはまた、「別の試し」提案に基づくことも可能である。別の試し提案は互いに緊密に関連する検索クエリに基づく。別の試しクエリの例は、“ｓｈｏｗ  ｔｉｍｅｓ”のユーザ検索クエリに関連した検索クエリ“ｍｏｖｉｅ  ｔｉｍｅｓ”を提案することである。本発明の実施形態により、緊密に関連した検索クエリの関連付けを有するデータベース（「試しデータベース」（ａｌｓｏ  ｔｒｙ  ｄａｔａｂａｓｅ）を使用して、代替検索クエリを決定する。
【０１２１】
図１１Ｂは、ユーザ検索クエリ９０２が“ｓｏｎｙ  ｗｅ”であるインターフェースを描いている。ユーザ検索クエリ９０２が完成されたという指示をユーザが入力する前に、完成された検索クエリ９０４が“ｓｏｎｙ  ｗｅｇａ”となるという予測がなされる。他の予測検索クエリ９０４のなかには、“ｓｏｎｙ  ｗｅｇａ  ｔｖ”、“ｓｏｎｙ  ｗｅｇａ  ４２  ｔｖ”などがある。予測検索クエリ９０４のうちの少なくとも１つに基づいて、多数の代替検索クエリ９０５がユーザに提案される。例えば、“ｓｏｎｙ  ｆｄ  ｔｒｉｎｉｔｒｏｎ  ｗｅｇａ  ”および“ｓｏｎｙ  ｐｌａｓｍａ  ｗｅｇａ”の代替が代替検索クエリ９０５として与えられる。
【０１２２】
なお、代替検索クエリはユーザ検索クエリの本文に挿入される１つ以上の文字を含まれ得る。例えば、“ｆｄ  ｔｒｉｎｉｔｒｏｎ”はユーザ検索クエリ９０２“ｓｏｎｙ  ｗｅ”の本文に現われる。この代替は、試しデータベースを検索することにより決定可能であるが、他の技術も使用され得る。例えば、互いに関連付けられたまたは関連した検索クエリを含む任意のデータベースを検索可能である。
【０１２３】
代替検索クエリはまた、ユーザ検索クエリの本文を導く文字を含み得る。例えば、ユーザ検索クエリ９０２が“ｆｌｏｗｅｒｓ”である場合、予測される完成された検索クエリは“ｆｌｏｗｅｒｓ”であり得るであろう。この予測された検索クエリに基づいて、“ｗｅｄｄｉｎｇ  ｆｌｏｗｅｒｓ”、“ｐｉｃｔｕｒｅｓ  ｏｆ  ｆｌｏｗｅｒｓ”などの代替が代替検索クエリとして与えられ得る。なお、これらの代替検索クエリのどれも、単に１つ以上の文字をユーザ検索クエリの末尾に付加することによりユーザ検索クエリを完成するだけで形成され得ないであろう。
【０１２４】
図９を再び参照すると、ユーザ検索クエリ９０２は“ｃｈｉｃｋｅｎ  ｒ”である。本発明の実施形態によると、代替検索クエリ９０５は“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅ”または“ｃｈｉｃｋｅｎ  ｒｅｃｉｐｅｓ”の予測検索クエリ９０４のうちの１つに関連する検索クエリに基づいて決定される。
【０１２５】
このように、本発明の実施形態によると、単に文字をユーザ検索クエリの末尾に付加するだけで形成することが出来ない代替検索クエリが決定される。
【０１２６】
（スペリング連想）
本発明の実施形態によると、スペリング連想を使用して予測検索クエリの代替を決定する。前述のように、ユーザが提出した検索クエリの履歴データベースが生成可能である。１つの実施形態では、履歴データベースを使用して、ユーザ検索クエリがどのように完成するかの予測を行う。ユーザがスペルミスした用語を含む検索クエリを送信すると、その検索クエリはまず履歴データベースに付加され得る。但し、１つの実施形態では、スペルミスを有する検索クエリは履歴データベースから除去される。スペルミスした検索クエリがデータベース内にある場合およびない場合をカバーする変形例が下記で述べられる。
【０１２７】
１つの実施形態では、スペリングデータベースを使用して、潜在的にスペルミスしたユーザ検索クエリに対する代替検索クエリを決定する。スペリングデータベースへの入力は、用語の第１のスペリングとその用語の少なくとも１つの代替スペリングとからなる。スペリングデータベースはさらに、用語の第１のスペリングに対する用語の代替スペリングを選択するのに使用可能な頻度情報を含み得る。スペリングデータベースをどのように使用して代替検索クエリを決定し得るかの例を以下で説明する。
【０１２８】
スペリング連想に基づいて予測検索クエリの代替検索クエリを提供することは、幾つかの異なる方法で行われ得る。以下は３つの異なる実施形態である。但し、スペリング連想に基づいて予測検索クエリに対する代替検索クエリを提供することは以下の実施形態に限定されない。
【０１２９】
Ａ）履歴データベースがユーザ検索クエリに対する入力を有している場合
図１１Ｃでは、ユーザは“ｂｒｉｔｔａｎｙ  ｓｐ”というユーザ検索クエリ９０２を入力している。この検索クエリ９０２は、このユーザ検索クエリ９０２が完成されたときにどのようになるかを予測するクエリプレディクタ（図８、８０６）に転送される。例えば、予測された検索クエリ９０４は“ｂｒｉｔｔａｎｙ  ｓｐａｅｒｓ”である。１つの実施形態では、この予測は履歴検索クエリのデータベースの検索に基づく。この場合、履歴データベースは、スペルミスされた検索クエリ“ｂｒｉｔｔａｎｙ  ｓｐｅａｒｓ”を含む。予測検索クエリ９０４はクライアントに与えられる。
【０１３０】
さらには、本実施形態では、予測検索クエリに対する代替スペリングである代替検索クエリ９０５が決定される。例えば、１つの実施形態では、予測検索クエリ“ｂｒｉｔｔａｎｙ  ｓｐｅａｒｓ”をキーとして使用してスペリングデータベースを検索することにより代替検索クエリ９０５が決定される。代替検索クエリ９０５“ｂｒｉｔｎｅｙ  ｓｐｅａｒｓ”がクライアントに与えられ、そのように図１１Ｃのユーザインターフェースに表示される。
【０１３１】
本例において、さらなる予測検索クエリ９０４もクライアントに与えられる。例えば、検索クエリ“ｂｒｉｔｔａｎｙ  ｓｐａｎｉｅｌ”がユーザに与えられる。さらには、連想された検索クエリの１つを満足させる検索結果９０６がユーザに与えられる。本例では、代替検索クエリ９０５“Ｂｒｉｔｎｅｙ  Ｓｐｅａｒｓ”に対する検索結果９０６が与えられる。代替検索クエリ９０５に関連したスポンサ提供結果９１０も与えられる。
【０１３２】
Ｂ）履歴データベースはユーザ検索クエリに対する入力を有していないが、スペリング連想データベースはユーザ検索クエリに対する入力を有している場合
別の例では、ユーザが検索クエリ“ｒｉｔｎｅｙ  ｓｐｅａｒｓ”を入力した場合、完成された検索クエリに対する予測は“ｒｉｔｎｅｙ  ｓｐｅａｒｓ”であり得る。本例では、履歴データベースを検索して検索クエリ“ｒｉｔｎｅｙ  ｓｐｅａｒｓ”が存在しないと判断することにより、予測が行われ得る。ユーザは過去においてこのスペルミスを送信したかもしれないが、この特定スペルミスに対する入力は履歴データベースから除去されている。履歴データベースには、この検索クエリ、またはユーザがその末尾に付加するかもしれないさらなる文字を有する検索クエリのいずれも含まれないという事実に基づいて、“ｒｉｔｎｅｙ  ｓｐｅａｒｓ”が完成されたユーザ検索クエリであるという予測に達することができる。
【０１３３】
予測検索クエリに基づいて、“ｂｒｉｔｎｅｙ  ｓｐａｅｒｓ”という代替検索クエリが決定されてユーザに与えられる。１つの実施形態では、代替検索クエリは、予測検索クエリをキーとして使用してスペリングデータベースを検索することにより決定される。本例では、検索用語“ｒｉｔｎｅｙ  ｓｐｅａｒｓ”は第１の検索クエリとしてスペリングデータベース内にあり、“ｂｒｉｔｎｅｙ  ｓｐｅａｒｓ”に関連付けられる。
【０１３４】
Ｃ）履歴データベースおよびスペリング連想データベースのいずれもユーザ検索クエリの入力を有していない場合
さらに別の例では、ユーザは検索クエリ“ｎｋｕｓｐ  ｆ”を入力した。本例では、履歴データベースはこの検索クエリに一致する、またはさらなる文字を末尾に付加して一致可能となりうるいかなる入力も含み得ない。それゆえに、これは完成された検索クエリであるという予測がなされる。例示の目的で、検索クエリ“ｎｋｕｓｐ  ｆ”がスペリングデータベースに表れない場合、スペリング訂正はユーザ検索クエリの現在の形態の使用では判断可能ではない。この場合、ユーザ検索クエリは改められ、改められたユーザ検索クエリに関してスペリング訂正が試みられる。例えば、文字ユーザ検索クエリの右端の１つ以上の文字が除去される。特定の例として、用語“ｎｋｕｓｐ”がスペリングデータベースにおいて検索される。例示の目的で、スペリングデータベースは“ｎａｋｕｓｐ”を“ｎｋｕｓｐ”と関連付ける。そのために、ブリティッシュコロンビア州の都市である、代替検索クエリ“ｎａｋｕｓｐ”がクライアントに与えられる。
【０１３５】
なお、代替検索クエリ“ｎａｋｕｓｐ”はユーザが検索クエリに“ｆ”を入力する前にユーザに与えられたかもしれない。但し、場合によっては、ユーザは適切な検索クエリが与えられた後でもさらに文字をタイプし続けることになる。
【０１３６】
（代替検索クエリを決定するための組み合わせ）
代替検索クエリは本明細書で述べられる技術の１つ以上の組み合わせに基づくことも可能である。例えば、代替検索クエリは、代替スペリングを予測検索クエリに適用してその後、さらに代替スペリングを修正することにより形成される。例えば、代替スペリングは頭字語であり得る。頭字語は展開されて１つ以上の代替検索クエリを生成することができる。
【０１３７】
（ハードウェア概要）
図１２は本発明の実施形態が実施され得るコンピュータシステム１２００を図示するブロック図である。コンピュータ１２００は、情報を通信するためのバス１２０２または他の通信メカニズム、およびバス１２０２に連結された情報を処理するためのプロセッサ１２０４を含む。コンピュータシステム１２００は、情報およびプロセッサ１２０４により実行される命令を記憶するための、バス１２０２に連結されたランドダムアクセスメモリ（ＲＡＭ）または他の動的記憶装置などのメインメモリ１２０６も含む。メインメモリ１２０６はまた、プロセッサ１２０４により実行される命令の実行時における一時的数値変数または他の中間情報を記憶するために使用され得る。コンピュータシステム１２００はさらに、静的情報およびプロセッサ１２０４のための命令を記憶するための、バス１２０２に連結された読み出し専用メモリ（ＲＯＭ）１２０８または他の静的記憶装置を含む。磁気ディスクまたは光ディスクなどの記憶装置１２１０が情報および命令を記憶するために設けられて、バス１２０２に連結される。
【０１３８】
コンピュータシステム１２００はバス１２０２を介して、コンピュータユーザに情報を表示するための、ブラウン管（ＣＲＴ）などのディスプレイ１２１２に連結され得る。英数字および他のキーを含む入力装置１２１４が、情報およびプロセッサ１２０４へのコマンド選択を通信するためにバス１２０２と連結される。別のタイプのユーザ入力装置は、方向情報およびプロセッサ１２０４へのコマンド選択を通信するため、およびディスプレイ１２１２上のカーソルの動きを制御するためのマウス、トラックボール、カーソル方向キーなどのカーソル制御１２１６である。この入力装置は典型的には、装置が平面における位置を特定できるようにする第１軸（例えば、ｘ）および第２軸（例えば、ｙ）の２軸おける２つの自由度を有する。
【０１３９】
コンピュータシステム１２００を使用して、本明細書に記載された技術を実行し得る。本発明の１つの実施形態によると、それらの技術は、プロセッサ１２０４がメインメモリ１２０６に含まれる１つ以上の命令の１つ以上のシーケンスを実行することに応答して、コンピュータシステム１２００により行われる。このような命令は、記憶装置１２１０などの別のコンピュータ読み取り可能媒体からメインメモリ１２０６内に読み取られ得る。メインメモリ１２０６に含まれる命令のシーケンスの実行により、プロセッサ１２０４は本明細書に記載される処理ステップを行う。代替実施形態においては、本発明を実施するために、ソフトウェア命令の代わり、またはそれと組み合わせて配線回路が使用され得る。このように、本発明の実施形態はハードウェア回路およびソフトウェアのいかなる特定組み合わせにも限定されない。
【０１４０】
本明細書で使用される用語「コンピュータ読み取り可能媒体」は実行のためにプロセッサ１２０４に命令を与えることに関与する任意の媒体を称する。このような媒体は、不揮発性媒体、揮発性媒体および伝送媒体を含むがこれらに限定されない多く形態を取り得る。例えば、不揮発性媒体は記憶装置１２１０などの光ディスクまたは磁気ディスクを含む。不揮発性媒体はメインメモリ１２０６などの動的メモリを含む。伝送媒体は、バス１２０２を構成するワイヤを含む同軸ケーブル、銅線および光ファイバを含む。伝送媒体はまた、電波および赤外線データ通信時において生成されるものなど音波または光波の形態も取ることが可能である。
【０１４１】
コンピュータ読み取り可能媒体の一般的な形態は、例えば、フロッピディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープまたは他の任意の磁気媒体、ＣＤ−ＲＯＭ，他の任意の光媒体、パンチカード、ペーパーテープ、孔のパターンを備える他の任意の物理媒体、ＲＡＭ、ＰＲＯＭ、およびＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他の任意のメモリチップまたはカートリッジ、以後説明される搬送波、またはコンピュータが読み取ることが可能な他の任意の媒体を含む。
【０１４２】
コンピュータ読み取り可能媒体の種々の形態は、実行のためにプロセッサ１２０４に対する１つ以上の命令の１つ以上のシーケンスを運ぶのに従事し得る。例えば、命令はまずリモートコンピュータの磁気ディクス上で運ばれ得る。リモートコンピュータはその動的メモリに命令をロードして、モデムを使用した電話線でその命令を送信し得る。コンピュータシステム１２００にローカルなモデムが電話線上でデータを受信して、赤外線トランスミッタを使用してデータを赤外線信号に変換し得る。赤外線検出器は赤外線信号で運ばれるデータを受信し得、適切な回路がデータをバス１２０２に置き得る。バス１２０２はデータをメインメモリ１２０６に運び、そこからプロセッサ１２０４が命令を取り出して実行する。メインメモリ１２０６により受信された命令は、オプションでプロセッサ１２０４による実行前または実行後の何れかに記憶装置１２１０上に任意に保存され得る。
【０１４３】
コンピュータシステム１２００はまた、バス１２０２に連結された通信インターフェース１２１８も含む。通信インターフェース１２１８は、ローカルネットワーク１２２２に接続されたネットワークリンク１２２０に連結された２方向データ通信を提供する。例えば、通信インターフェース１２１８は総合デジタル通信網（ＩＳＤＮ）カードまたは、対応タイプの電話線へのデータ通信接続を提供するモデムであり得る。別の例では、通信インターフェース１２１８は、互換性のあるＬＡへのデータ通信接続を提供するためのローカルエリアネットワーク（ＬＡＮ）カードであり得る。無線リンクも実施され得る。かかる任意の実施において、通信インターフェース１２１８は種々のタイプの情報を表すデジタルデータストリームを運ぶ電気信号、電磁信号または光信号を送受信する。
【０１４４】
ネットワークリンク１２２０は典型的には、他のデータ装置への１つ以上のネットワークを介するデータ通信を提供する。例えば、ネットワークリンク１２２０はローカルネットワーク１２２２を介したホストコンピュータ１２２４への、またはインターネットサービスプロバイダ（ＩＳＰ）１２２６により操作されるデータ機器への接続を提供し得る。ＩＳＰ１２２６は今度は、現在では一般的に「インターネット」１２２８と呼ばれるワールドワイドパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク１２２２およびインターネット１２２８はともに、デジタルデータストリームを運ぶ電気信号、電磁信号または光信号を使用する。デジタルデータをコンピュータシステム１２００に対して運んだり、そこから運び出したりする種々のネットワークを介する信号およびネットワークリンク１２２０上および通信インターフェース１２１８を介する信号は、情報を運搬する搬送波の例示的形態である。
【０１４５】
コンピュータシステム１２００は、ネットワーク（単数、複数）、ネットワークリンク１２２０および通信インターフェース１２１８を介して、メッセージを送信しプログラムコードを含むデータを受信し得る。インターネット例では、サーバ１２３０は、インターネット１２２８、ＩＳＰ１２２６、ローカルネットワーク１２２２および通信インターフェース１２１８を介してアプリケーションプログラムに対する要求コードを転送し得るであろう。
【０１４６】
受信されたコードは、それが受信され、かつ／または記憶装置１２１０または、後に実行するための他の不揮発性記憶装置に保存されると、プロセッサ１２０４により実行され得る。このように、コンピュータシステム１２００は搬送波の形態においてアプリケーションコードを得るかもしれない。
【０１４７】
前述の明細書において、本発明の実施形態は実施毎に変わり得る多くの具体的詳細を参照して説明された。従って、何が本発明であるか、および出願者により何が本発明であると意図されるかについての唯一かつ排他的指標は、任意の後続の補正を含む請求項が発行する特定形態における本出願から発行される一連の請求項である。かかる請求項に含まれる用語に対する本明細書で述べるいかなる定義も、請求項において使用されるような用語の意味に適用されるべきである。それゆえに、請求項において明確に述べられていないいかなる限定、要素、特性、特徴、利点、または属性もかかる請求項の範囲を決して限定すべきでない。従って、明細書および図面は限定的な意味というよりは例示的な意味で考慮されるべきである。
【図１Ａ】
0005909271.tif 000002
【図１Ｂ】
0005909271.tif 000003
【図１Ｃ】
0005909271.tif 000004
【図１Ｄ】
0005909271.tif 000005
【図２】
0005909271.tif 000006
【図３】
0005909271.tif 000007
【図４】
0005909271.tif 000008
【図５】
0005909271.tif 000009
【図６】
0005909271.tif 000010
【図７】
0005909271.tif 000011
【図８Ａ】
0005909271.tif 000012
【図８Ｂ】
0005909271.tif 000013
【図８Ｃ】
0005909271.tif 000014
【図９】
0005909271.tif 000015
【図１０】
0005909271.tif 000016
【図１１Ａ】
0005909271.tif 000017
【図１１Ｂ】
0005909271.tif 000018
【図１１Ｃ】
0005909271.tif 000019
【図１２】
0005909271.tif 000020