(57)【要約】【課題】  ロケーション検索クエリの柔軟性を確保し、検索エンジンのパフォーマンスを向上させる。【解決手段】  ロケーション検索を実行する方法は、ロケーション検索クエリを受信するステップと、ロケーション検索クエリに対応するキーワードを決定するステップと、ロケーション検索クエリのキーワードに対応する１つまたは複数のドキュメントを特定するステップと、１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを特定する情報をクライアントシステムに提供するステップとを含む。【選択図】  図１
2009524893.tif 000002
【特許請求の範囲】
【請求項１】
ロケーション検索クエリを受信するステップと、
前記ロケーション検索クエリに対応するキーワードを決定するステップと、
前記ロケーション検索クエリの前記キーワードに対応する１つまたは複数のドキュメントを特定するステップと、
前記１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを提供するステップと、
を含むロケーション検索を実行する方法。
【請求項２】
前記特定された１つまたは複数のドキュメントの各ドキュメントは、前記検索クエリの前記決定されたキーワードに対応するトークンを有する、請求項１に記載の方法。
【請求項３】
前記キーワードを決定する前記ステップは、前記ロケーション検索クエリから句読記号および非ロケーションタームを削除するステップを含む、請求項１に記載の方法。
【請求項４】
前記キーワードは、前記ロケーション検索クエリにおける１つまたは複数のタームの１つまたは複数の同義語を含む、請求項１に記載の方法。
【請求項５】
前記１つまたは複数のドキュメントを特定する前記ステップは、前記キーワードに対応する正規表現を決定するステップを含む、請求項１に記載の方法。
【請求項６】
前記１つまたは複数のドキュメントは、地理的フィーチャに対応する複数のドキュメントを含むインデクス内にある、請求項１に記載の方法。
【請求項７】
前記複数のドキュメントは、前記地理的フィーチャに対応する参照座標を含む、請求項６に記載の方法。
【請求項８】
前記１つまたは複数のドキュメントを特定する前記ステップは、前記１つまたは複数の各ドキュメントのスコアを決定するステップを含む、請求項１に記載の方法。
【請求項９】
それぞれのスコアは、複数のドキュメント内の前記キーワードの頻度、前記キーワードのうちの１つまたは複数を持つそれぞれのドキュメント内の１つまたは複数の語の一致、および前記キーワードに対応する地理的フィーチャのサイズに従う請求項８に記載の方法。
【請求項１０】
前記提供するステップは、対応するドキュメントの最高スコアが前記１つまたは複数のドキュメントの上位Ｎ件中の次位のドキュメントについての次に高いスコアの予め定められた倍数よりも大きい場合に、１つのロケーションを含む、請求項８に記載の方法。
【請求項１１】
前記提供するステップは、前記１つまたは複数のドキュメントに対応するロケーションの上位Ｎ件を含み、前記上位Ｎ件は予め定められた範囲内のスコアを有するドキュメントを含む、請求項８に記載の方法。
【請求項１２】
前記上位Ｎ件の各ロケーションは、ロケーション識別子を含む、請求項１１に記載の方法。
【請求項１３】
前記上位Ｎ件の前記各ロケーションは、マップイメージへの対応するリンクを含む、請求項１１に記載の方法。
【請求項１４】
前記提供するステップは少なくとも前記１つのロケーションに対応するマップイメージを含む、請求項１に記載の方法。
【請求項１５】
前記マップイメージは、少なくとも前記１つのロケーションを中心とし、少なくとも前記１つのロケーションの周りの予め定められたサイズより小さい領域を含む請求項１４に記載の方法。
【請求項１６】
少なくとも前記１つのロケーションは、全ての前記キーワードを共通に持つ領域の２つ以上の別個のロケーションを含み、前記マップイメージは、前記２つ以上のロケーションに対応するタグを含む、請求項１５に記載の方法。
【請求項１７】
前記１つまたは複数のドキュメントを特定するステップは、前記キーワードの順序とは無関係である、請求項１に記載の方法。
【請求項１８】
プログラムを実行する１つまたは複数の中央演算処理装置と、
メモリと、
前記メモリに格納され、前記プロセッサによって実行されるプログラムであって、
ロケーション検索クエリを受信するための命令と、
前記ロケーション検索クエリに対応するキーワードを決定するための命令と、
前記ロケーション検索クエリの前記キーワードに対応する１つまたは複数のドキュメントを決定するための命令と、
前記１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを特定する情報をクライアントシステムに提供するための命令と、を含むプログラムと、
を備える検索エンジンシステム。
【請求項１９】
コンピュータシステムと共に使用するコンピュータプログラム製品であって、
ロケーション検索クエリを受信するための命令と、
前記ロケーション検索クエリに対応するキーワードを決定するための命令と、
前記ロケーション検索クエリの前記キーワードに対応する１つまたは複数のドキュメントを決定するための命令と、
前記１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを特定する情報をクライアントシステムに提供するための命令と、
を備えるコンピュータプログラム製品。
【請求項２０】
プログラムを実行する処理手段と、
メモリと、
前記メモリに格納され、前記プロセッサによって実行されるプログラムであって、
ロケーション検索クエリを受信するための命令と、
前記ロケーション検索クエリに対応するキーワードを決定するための命令と、
前記ロケーション検索クエリの前記キーワードに対応する１つまたは複数のドキュメントを決定するための命令と、
前記１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを特定する情報をクライアントシステムに提供するための命令と、を含むプログラムと、
を備える検索エンジンシステム。
【請求項２１】
メモリに格納され、ロケーション検索クエリの実行に使用するためのデータ構造であって、
地理的フィーチャに対応する複数のドキュメントを含み、前記複数のドキュメント内のそれぞれのドキュメントはロケーション情報および補足情報を含み、前記ロケーション情報は１つまたは複数のロケーションに対応するキーワード、前記１つまたは複数のロケーションに関連付けられている１つまたは複数の領域、および前記キーワードの同義語を含み、前記補足情報は前記１つまたは複数のロケーションに対応する参照座標を含む、データ構造。
【請求項２２】
前記参照座標は、前記１つまたは複数のロケーションの緯度および経度を含む請求項２１に記載のデータ構造。
【請求項２３】
前記参照座標は、前記１つまたは複数のロケーションを囲む領域を含み、前記領域は予め定められたサイズよりも小さい請求項２１に記載のデータ構造。
【請求項２４】
前記データ構造は、ハイパーテキストマークアップ言語（ＨＴＭＬ）に適合する請求項２１に記載のデータ構造。
【請求項２５】
前記それぞれのドキュメントの前記ロケーション情報は、ロケーション検索クエリ内のタームの順序の影響を受けない請求項２１に記載のデータ構造。
【請求項２６】
ロケーション検索クエリに応答して提供される領域のマップイメージを備えるグラフィカルユーザインターフェイスであって、
前記マップイメージは、前記ロケーション検索クエリに関連付けられている全てのタームを共通に持つ前記領域内の２つ以上の個別のロケーションに対応する２つ以上のタグを含む、グラフィカルユーザインターフェイス。
【請求項２７】
ロケーション検索クエリに応答して提供される領域のマップイメージを備えるグラフィカルユーザインターフェイスであって、
前記マップイメージは、ロケーションを中心とし、前記マップイメージは前記ロケーション検索クエリに関連付けられているタームの順序とは無関係に提供される、グラフィカルユーザインターフェイス。
【請求項２８】
ロケーション検索クエリを受信するステップと、
前記ロケーション検索クエリを満足する１つまたは複数の地理的フィーチャドキュメントを特定するステップであって、前記地理的フィーチャドキュメントの各々は地理的フィーチャに対応する、ステップと、
前記特定されたドキュメントを、前記特定されたドキュメントに対応する前記地理的フィーチャの、クライアントシステムの地理的ビューポート領域への近接性に少なくとも部分的に基づくスコアに従って順位付けして、順位付けされたドキュメントのセットを生成するステップと、
前記順位付けされたドキュメントに従って、前記順位付けされたドキュメントのうちの前記少なくとも１つに対応する少なくとも１つの地理的フィーチャを特定する結果を提供するステップと、
を備えるロケーション検索を実行する方法。
【請求項２９】
前記地理的ビューポート領域は、前記クライアントシステムに表示される地理的領域に対応する、請求項１に記載の方法。
【請求項３０】
前記地理的ビューポート領域は、以前のロケーション検索クエリに応答して前記クライアントシステムに表示される地理的領域に対応する、請求項１に記載の方法。
【請求項３１】
前記地理的ビューポート領域は、前記クライアントシステムに表示される矩形の地理的領域を含有する円形地理的領域を備える、請求項１に記載の方法。
【請求項３２】
前記ロケーション検索クエリに対応するキーワードを決定するステップと、前記ロケーション検索クエリの前記キーワードと一致する１つまたは複数の地理的フィーチャドキュメントを特定するステップと、を含み、
前記キーワードは前記ロケーション検索クエリの１つまたは複数の条件の１つまたは複数の同義語を含む請求項１に記載の方法。
【請求項３３】
プログラムを実行する１つまたは複数の中央演算処理装置と、
メモリと、
前記メモリに格納され、前記プロセッサによって実行される１つまたは複数のプログラムであって、
ロケーション検索クエリを受信するための命令と、
前記ロケーション検索クエリを満足する１つまたは複数の地理的フィーチャドキュメントを特定するための命令であって、前記地理的フィーチャドキュメントの各々は地理的フィーチャに対応する命令と、
前記特定されたドキュメントを、前記特定されたドキュメントに対応する前記地理的フィーチャの、クライアントシステムの地理的ビューポート領域への近接性に少なくとも部分的に基づくスコアに従って順位付けして、順位付けされたドキュメントのセットを生成するための命令と、
前記順位付けされたドキュメントに従って、前記順位付けされたドキュメントのうちの前記少なくとも１つに対応する少なくとも１つの地理的フィーチャを特定する結果を提供するための命令と、を含むプログラムと、
を備える検索エンジンシステム。
【請求項３４】
ロケーション検索クエリを受信するステップと、
前記ロケーション検索クエリを満足する１つまたは複数の地理的フィーチャを特定するステップと、
前記特定された地理的フィーチャを、クライアントシステムの地理的ビューポート領域への前記地理的フィーチャの近接性に少なくとも部分的に基づくスコアに従って順位付けして、順位付けされた地理的フィーチャのセットを生成するステップと、
前記順位付けされたドキュメントに従って、前記順位付けされた地理的フィーチャのうちの前記少なくとも１つに対応する少なくとも１つの地理的フィーチャを特定する結果を提供するステップと、
を備えるロケーション検索を実行する方法。
【請求項３５】
前記地理的ビューポート領域は、前記クライアントシステムに表示される地理的領域に対応する、請求項３４に記載の方法。
【請求項３６】
前記地理的ビューポート領域は、以前のロケーション検索クエリに応答して前記クライアントシステムに表示される地理的領域に対応する、請求項３４に記載の方法。
【請求項３７】
前記ロケーション検索クエリに対応するキーワードを決定するステップと、
前記ロケーション検索クエリの前記キーワードと一致する１つまたは複数の地理的フィーチャを特定するステップと含み、
前記キーワードは前記ロケーション検索クエリの１つまたは複数の条件の１つまたは複数の同義語を含む、請求項３４に記載の方法。
【請求項３８】
プログラムを実行する１つまたは複数の中央演算処理装置と、
メモリと、
前記メモリに格納され、前記プロセッサによって実行される１つまたは複数のプログラムであって、
ロケーション検索クエリを受信するための命令と、
前記ロケーション検索クエリを満足する１つまたは複数の地理的フィーチャを特定するための命令と、
前記特定された地理的フィーチャを、クライアントシステムの地理的ビューポート領域への前記地理的フィーチャの近接性に少なくとも部分的に基づくスコアに従って順位付けして、順位付けされた地理的フィーチャのセットを生成するための命令と、
前記順位付けされたドキュメントに従って、前記順位付けされた地理的フィーチャのうちの前記少なくとも１つに対応する少なくとも１つの地理的フィーチャを特定する結果を提供するための命令と、を含むプログラムと、
を備える検索エンジンシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
[0001]  本出願は、参照により本明細書に援用する、２００６年１月２７日に出願した「Ｇｅｏｇｒａｐｈｉｃ  Ｃｏｄｉｎｇ  ｆｏｒ  Ｌｏｃａｔｉｏｎ  Ｓｅａｒｃｈ  Ｑｕｅｒｉｅｓ」という名称の米国仮特許出願第６０／７６３，１６８号の優先権を主張する。
【０００２】
[0002]  検索エンジンは、インターネットまたはワールドワイドウェブ（ＷＷＷ）上のドキュメント、および／またはイントラネットのコンピュータ上に格納されているドキュメントのような、大規模ドキュメントデータベースにあるドキュメント内のコンテンツの位置を突き止めるための強力なツールを提供する。ドキュメントは、タームと呼ばれる、ユーザによって提示される１つまたは複数の語、用語、キーワード、および／または句で構成される検索クエリに応答して、ドキュメントのインデクスを使用して探し出される。ドキュメントインデクス内のドキュメントは、スコアを決定するために、検索クエリの１つまたは複数のタームと照合される。順位付けされた関連ドキュメントまたはドキュメントのロケーションのリストは、スコアに基づいて、ユーザに提供される。
【背景技術】
【０００３】
[0003]  検索クエリは、さまざまな用途と形式を持つことができる。形式の１つのクラスは、ロケーション検索に対応する。従来のロケーション検索では、テンプレートなどの固定形式を使用することが多い。既存のテンプレートは、多くの場合固定されているか、または限定された数しかバリエーションを許容できないようになっている。例えば、既存のロケーション検索クエリの語またはタームは、予め定められた順序（ストリート名、州、郵便番号）および／または予め定められたスペリングを持つことができる。結果として、さまざまな国々で見られるような、スペルミス、ロケーションの代替名、および代替アドレス形式を含む広範囲のスペリングに適応することは、（従来のロケーション検索では）困難あるいは不可能である。
【０００４】
[0004]  数多くの既存の検索エンジンは、多くの場合、ロケーション検索クエリに応答して単一の結果を返す。そのためこれは、ロケーション検索クエリの形式に柔軟性が不足していることと相まって、ロケーション検索クエリおよび／またはユーザに返される結果の不確実性または多義性への適応を困難にしている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
[0005]  既存のロケーション検索クエリは多くの場合、単一データ構造で処理されるので、既存のロケーション検索クエリの柔軟性の不足はさらに、検索エンジンのパフォーマンスを損なうことも多い。データ構造を拡大縮小して、それを検索エンジン全体にわたり分散できないことで、ロケーション検索クエリの処理速度の低下を招く可能性もある。そのようなボトルネックを克服することは、結果としてさらなる検索エンジンの複雑さと費用をもたらすことになる。
【０００６】
[0006]  従って、ロケーション検索クエリを処理するための改良された形式および技法が必要とされている。加えて、ロケーション検索クエリの結果をユーザに報告する改良された方法も必要とされている。
【課題を解決するための手段】
【０００７】
[0007]  ロケーション検索クエリに関連する前述の不足およびその他の問題は、プロセスおよび検索エンジンの開示される実施形態により軽減または解消される。
【０００８】
[0008]  一部の実施形態において、ロケーション検索を実行する方法は、ロケーション検索クエリを受信するステップと、ロケーション検索クエリに対応するキーワードを決定するステップと、ロケーション検索クエリのキーワードに対応する１つまたは複数のドキュメントを特定するステップと、１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを特定する情報をクライアントシステムに提供するステップとを含む。
【０００９】
[0009]  キーワードを決定するステップは、ロケーション検索クエリから句読記号およびロケーション以外のタームを削除するステップを含むことができる。キーワードは、ロケーション検索クエリの１つまたは複数のタームの１つまたは複数の同義語を含むことができる。キーワードは、１つまたは複数のタームに対応する予め定められた省略形を含むことができる。
【００１０】
[0010]  １つまたは複数のドキュメントを特定するステップは、キーワードに対応する正規表現を決定するステップを含むことができる。１つまたは複数のドキュメントを特定するステップは、１つまたは複数の各ドキュメントのスコアを決定するステップを含むことができる。それぞれのスコアは、複数のドキュメント内のキーワードの頻度、キーワードのうちの１つまたは複数を持つそれぞれのドキュメント内の１つまたは複数の語の一致、およびキーワードに対応する地理的フィーチャのサイズに従ってもよい。１つまたは複数のドキュメントを特定するステップは、キーワードの順序とは独立であってもよい。
【００１１】
[0011]  １つまたは複数のドキュメントは、地理的フィーチャに対応する複数のドキュメントを含むインデクスに格納されてもよい。複数のドキュメントは、地理的フィーチャに対応する参照座標を含むことができる。
【００１２】
[0012]  １つまたは複数のドキュメントに対応する少なくとも１つのロケーションを特定する情報を提供するステップは、対応するドキュメントの最高スコアが、１つまたは複数のドキュメントの上位Ｎ件中の次位のドキュメントについての次に高いスコアの予め定められた倍数よりも大きい場合に、１つのロケーションを特定する情報を提供するステップを含むことができる。提供する操作は、１つまたは複数のドキュメントに対応する上位Ｎ件までのロケーションを特定するステップを含むことができ、上位のドキュメントは予め定められた範囲内のスコアを有する。一部の実施形態において、上位Ｎ件の各ロケーションは、ロケーション識別子を含む。一部の実施形態において、上位Ｎ件の各ロケーションは、マップイメージに対応するリンクを含む。
【００１３】
[0013]  提供する操作は、少なくとも１つのロケーションに対応するマップイメージを提供するステップを含むことができる。マップイメージは、少なくとも１つのロケーションを中心とすることができ、少なくとも１つのロケーションを囲む予め定められたサイズより小さい領域を含むことができる。一部の実施形態において、少なくとも１つのロケーションは、対応するドキュメントが全てのキーワードを共通に持つ２つ以上の別個のロケーションを含むことができる。マップイメージは、２つ以上のロケーションに対応するタグを含むことができる。
【００１４】
[0014]  もう１つの実施形態において、メモリに格納されているデータ構造は、ロケーション検索クエリを実行するために使用されてもよい。データ構造は、地理的フィーチャに対応する複数のドキュメントまたはレコード（これ以降、ドキュメントと呼ぶ）を含むことができる。複数のドキュメントのそれぞれのドキュメントは、ロケーション情報および補足情報を含むことができる。ロケーション情報は、１つまたは複数のロケーションに対応するキーワードまたはトークン、１つまたは複数のロケーションに関連付けられている１つまたは複数の領域、およびキーワードの同義語を含むことができる。補足情報は、１つまたは複数のロケーションに対応する参照座標を含むことができる。
【００１５】
[0015]  参照座標は、１つまたは複数のロケーションの緯度および経度を含むことができる。参照座標は、１つまたは複数のロケーションを取り囲む領域を含むことができる。領域は、予め定められているサイズよりも小さくすることができる。
【００１６】
[0016]  データ構造は、ハイパーテキストマークアップ言語（ＨＴＭＬ）に適合するものであってもよい。
【００１７】
[0017]  それぞれのドキュメントのロケーション情報は、ロケーション検索クエリにおけるタームの順序の影響を受けなくてもよい。
【００１８】
[0018]  別の実施形態において、グラフィカルユーザインターフェイスは、ロケーション検索クエリに応答して提供される領域のマップイメージを含む。マップイメージは、ロケーション検索クエリに関連付けられている全てのタームを共通に持つ領域内の２つ以上の個別のロケーションに対応する２つ以上のタグを含む。
【００１９】
[0019]  別の実施形態において、グラフィカルユーザインターフェイスは、ロケーション検索クエリに応答して提供される領域のマップイメージを含む。マップイメージは、ロケーションを中心とする。マップイメージは、ロケーション検索クエリに関連付けられている条件の順序とは無関係に提供される。
【００２０】
[0020]  前述の方法、データ構造、およびグラフィカルユーザインターフェイスは、１つまたは複数の中央演算処理装置、１つまたは複数のコンピュータのメモリ、およびメモリに格納され、１つまたは複数の中央演算処理装置によって実行される１つまたは複数のプログラムを有する検索エンジンシステムに含まれ、および／または実行されてもよい。
【００２１】
[0021]  本発明の前述の実施形態およびその追加の実施形態をよりよく理解するために、以下の「発明を実施するための最良の形態」には、図全体を通じて類似する参照番号が対応する部分を示す以下の図面と併せて、参照が行われるものとする。
【発明を実施するための最良の形態】
【００２２】
[0037]  これ以降、実施形態について詳細に説明され、その例は添付の図面において示される。以下の詳細な説明において、本発明の十分な理解をもたらすために、多数の具体的な詳細が示される。しかし、当業者であれば、それらの具体的な詳細を使用せずに本発明を実施できることが明らかであろう。その他の例において、既知の方法、手順、構成要素、および回路については、実施形態の態様を不必要に不明瞭にすることのないように、詳細には説明されていない。
【００２３】
[0038]  ロケーション検索クエリを実行して対応する結果をユーザに提供するためのシステムおよび方法の実施形態について説明する。この処理は、場合によっては、ジオコーディングと呼ばれることがある。市町村の番地などのロケーション検索クエリは、インターネット（ワールドワイドウェブやＷＷＷとも呼ばれる）および／または１つまたは複数のイントラネットなど、ネットワークに結合された検索エンジンを使用してユーザから受信されてもよい。ロケーション検索クエリは、正規またはブール演算式を決定するように処理される。処理は、それぞれのロケーション検索クエリの１つまたは複数のキーワードを決定するステップと、それぞれのロケーション検索クエリから句読記号および非ロケーションターム（冠詞など）を削除するステップと、それぞれのロケーション検索クエリの１つまたは複数の条件の１つまたは複数の同義語を決定するステップとを含むことができる。同義語は、それぞれのロケーション検索クエリの１つまたは複数のタームの予め定められた省略形および／または予め定められたミススペルを含むことができる。正規表現は、キーワードの順序とは無関係であってもよい、つまりその影響を受けなくてもよい。
【００２４】
[0039]  正規表現は、検索エンジンにおいて地理的フィーチャドキュメントの索引と比較されうる。各地理的フィーチャドキュメントは、地理的フィーチャに対応するトークンのセットを有するが、これらはロケーション（例えば、ストリート、市町村、行政区、州、国）または地理的エンティティ（例えば、湖、川、山、大陸、海など）であってもよい。単一の地理的フィーチャは、番地のセットなど、ロケーションのセットに対応することができるが、地理的フィーチャに関連付けられている全てのロケーションは、ロケーション検索クエリと最善の一致を示すロケーションまたは地理的フィーチャを特定するコンテキストにおける「ロケーション」であると見なすことができる。「地理的フィーチャ（geographical feature）」および「ロケーション（location）」という用語は、本明細書の少なくとも一部において同義語として使用される。
【００２５】
[0040]  地理的フィーチャドキュメントの索引は、検索エンジンにおいて複数のコンピュータにわたり分散されてもよい。索引は、ロケーション情報および補足情報を含むことができる。ロケーション情報は、キーワード、キーワードの同義語、および複数ロケーションの隣接オブジェクトを含むことができる。補足情報は、ロケーションの緯度および経度、ならびに／あるいはストリート番号の範囲など、参照座標を含むことができる。
【００２６】
[0041]  それぞれの正規表現にほぼ一致する地理的フィーチャドキュメントのサブセットのスコアは、コンピュータによって返されてもよい。上位Ｎ件の地理的フィーチャドキュメントの順位付けが決定されてもよい。最高スコアが、次に高いスコアの予め定められた倍数よりも大きい場合、最高スコアに対応するロケーションは、対応するロケーションのマップイメージと共にユーザに提供することができる。マップイメージは、対応するロケーションを中心とすることができ、対応するロケーションを囲む予め定められた境界ボックス、領域、またはウィンドウを含むようにサイズ変更されてもよい。代替として、最高スコアが予め定められた倍数よりも小さい場合、スコアの範囲に対応する複数のロケーションはユーザに提供されてもよい。ロケーション識別子（市町村、州、郵便番号、および／または国）および／または対応するマップイメージへのリンクなどの追加情報が供給されてもよい。
【００２７】
[0042]  従って、実施形態は、多種多様な形式に適応することができ、ロケーション検索クエリおよび／または結果の多義性を考慮して、ロケーション検索クエリ（ロケーション検索と呼ばれることもある）の高速処理をもたらすように並列処理を使用することができる。従って、実施形態は、ロケーション検索クエリの改良された処理をもたらすことができる。
【００２８】
[0043]  さて、ロケーション検索プロセスに着目する。図１は、ロケーション検索プロセス１００の実施形態を示すフローチャートである。以下で説明されるロケーション検索プロセス１００は、特定の順序で発生するように見えるいくつかの操作を含むが、プロセス１００が、連続または並行して（例えば、並列プロセッサまたはマルチスレッド環境を使用して）実行できるそれより多いかまたはそれより少ない操作を含むことができ、２つ以上の操作の順序は変更されてもよいか、および／または２つ以上の操作は単一の操作に組み合わされてもよいことは明らかであろう。
【００２９】
[0044]  ロケーション検索クエリが受信されうる（１１０）。キーワードが決定されうる（１１２）。ロケーション検索クエリが、正規形式に変換されうる（１１４）。これは、１つまたは複数のロケーション以外あるいはノイズの語またはターム、句読記号、発音区別符号（つまり、特殊発音を示すために文字に追加される記号）、および／またはストリート番号をロケーション検索クエリから削除するステップを含む。ブール演算式が生成されうる（１１６）。ブール演算式は、ロケーション検索クエリの１つまたは複数の語または条件の同義語を含むことができる。検索クエリを正規形式に変換するステップはまた、「ｓｔ．」または「ｓｔ」を「ｓｔｒｅｅｔ」に展開するなど、１つまたは複数の省略形を展開するステップを含むことができる。一部の実施形態において、ロケーション検索クエリのミススペルされた語または条件は（例えば、クエリ処理プロセスが決定する条件はミススペルされる可能性が高い）、対応する正しくスペルされた語を含むミススペルされた語の「同義語」でクエリを補うことによって「訂正」されてもよい。キーワードを決定するステップ（１１２）は、結果として得られるクエリを、キーワードの順序とは無関係にすることができる。Ｎ（例えば、１０）個の最善の一致を示す地理的フィーチャドキュメントは、地理的フィーチャドキュメントデータベースから特定することができる（１１８）。特定されたドキュメントに対応する少なくとも１つの地理的フィーチャまたはロケーションが提供されうる（１２０）。あるいは、場合によっては、要求元ユーザにドキュメントが提供されないこともある。例えば、一部の実施形態において、Ｎ個の最善の一致を示す地理的フィーチャドキュメントの全てが第１のしきい値よりも小さいスコア（スコアについては以下で説明）を有する場合、地理的フィーチャまたはロケーションは特定されない。もう１つの例において、Ｎ個の最善の一致を示す地理的フィーチャドキュメントのリストは、（Ａ）スコアが第１のしきい値よりも小さいドキュメント、および（Ｂ）ＳＡＦ（以下で説明）が第２のしきい値よりも小さく、しかもスコアが第３のしきい値よりも小さい（例えば、第３のしきい値は通常第２のしきい値よりも高い（つまり、より限定的））ドキュメントを除去するようにフィルタリングされる。後者の「フィルタ」は、第１のしきい値を超えるが現在のビューポート（以下で定義される）のはるか外側にある低品位の一致を除去することで、現在のビューポート内にあるかまたはこれに近接する別の地理的フィーチャまたはロケーションが最善の一致として特定されるようにすることができる。
【００３０】
[0045]  Ｎ個の最善の一致を示すドキュメントを特定するステップ１１８は、複数の計算操作を必要とする。第１に、検索クエリを満足する地理的フィーチャドキュメントが特定される１１８Ａ。例えば、これは、各クエリタームと一致するトークンを有するドキュメントのリストを取り出してから、取り出したリストにブールＡＮＤ演算を実行して、全てのクエリタームが一致するトークンを有するドキュメントのリスト（もしあれば）を生成することにより達成されてもよい。この状況において、各トークンは、地理的フィーチャに関連付けられている語、記号、あるいは語および／または記号の組み合わせである。人為的なミスを補うため、ドキュメントのトークンは、ドキュメントに関連付けられている地理的フィーチャを説明するさまざまなタームの種類豊富なミススペルを含むことができ、隣接するつまり近隣の地理的フィーチャ（例えば、ユーザの検索クエリが間違って隣接する市町村などを指定しているが、それ以外では地理的フィーチャに関連付けられているタームを正確にリストしている場合）の名前（およびそのミススペル）を含むことができる。もう１つの例において、検索クエリを満足するドキュメントを特定する前に、検索クエリは、非ロケーションタームと句読記号を削除することによって、最初に「書き換え」られる。オプションで、検索クエリの各々個別のタームは、タームおよび１つまたは複数の同義語を含むブールＯＲ式に置き換えられてもよい。一部の実施形態において、同義語は、同義語のセットが事前定義されているクエリのタームごとに検索クエリに追加される。ブールＯＲ式の一部として検索クエリに追加される「同義語」はまた、複合タームの個々の構成要素の「汎用同義語」を含むこともできる。例えば、ストリート名「Ｎ  Ｒｅｎｇｓｔｏｒｆｆ」の第１の構成要素の汎用同義語は「方向キーワード」であり、これはＮ、Ｓ、Ｅ、Ｗ、Ｎｏｒｔｈ、Ｓｏｕｔｈ、Ｅａｓｔ、およびＷｅｓｔを含む、方向を示すキーワードと一致する。汎用同義語のもう１つの例は、ａｖｅ、ａｖｅｎｕｅ、ｂｌｖｄ．、ｂｏｕｌｅｖａｒｄ、ｌｎ、ｌａｎｅ、ｒｄ、ｒｏａｄ、ｓｔ、ｓｔｒｅｅｔ、ｒｕｅなどのような語（またはトークン）と一致する「接辞キーワード」である。同様の汎用同義語はまた、対応する「正しい」キーワードと同じアドレス構成要素位置において、ドキュメントデータベースにトークンとして含まれる。書き換えられた検索クエリとドキュメント内の汎用同義語の間の一致は、検索クエリ内の同義語以外のキーワードとドキュメント内の同義語以外のトークンとの間の一致よりも、大幅に低いスコアを生成する。オプションとして、検索結果の品質を改善するように、事前定義されている規則に従って検索クエリにその他の変更を行うこともできる。
【００３１】
[0046]  次に、スコアは、特定された一致するドキュメントについて計算される（１１８Ｂ）。一致するドキュメントごとにスコアを生成する例示的なプロセスについては、以下で少し詳しく説明する。一般に、検索クエリに高品位の一致を持つドキュメントは、検索クエリに低品位の一致を持つドキュメントよりも高いスコアを割り当てられる。マップまたはイメージが表示される現在のビューポイントと相対的な、一致するドキュメントに対応する地理的フィーチャのロケーション、それらの地理的フィーチャの相対的重要度などの、その他の要因もまた、スコアを計算する際の要因となりうる。次いで、一致するドキュメントは、計算されたスコアに基づいて順位付けされ（１１８Ｃ）、上位Ｎ件のドキュメントが特定される（１１８Ｄ）。一部の実施形態において、ドキュメントの順位付けおよび上位Ｎ件のドキュメントの選択は、（例えば、スコアにわたり上位Ｎフィルタを実行することによって）単一の操作に一体化される。一部の実施形態において、上位Ｎ件のドキュメントよりも低い順位を有するドキュメントは、順位付けされない。
【００３２】
[0047]  図２は、ロケーション検索クエリを処理する実施形態２００を示すブロック図である。「１５５  Ａｂｅ  Ａｖｅ  Ｇｒｅａｔ  Ｎｅｃｋ  ＮＹ」などのロケーション検索クエリ２１０は、具体的な実施例として使用される。ストリート番号１５５とピリオドは操作１１４の間に削除されて、その結果Ａｂｅ  Ａｖｅ  Ｇｒｅａｔ  Ｎｅｃｋ  ＮＹとなる。操作１１６において、ロケーション検索クエリは、省略形（Ａｖｅなど）と同義語を展開することを含む、ブール演算式に変換することができる。結果として得られるブール演算式は、Ａｂｅ  ＡＮＤ（Ａｖｅ  ＯＲ  Ａｖｅｎｕｅ  ＯＲ  Ｓｔｒｅｅｔ  ＯＲ  Ｌａｎｅ  ＯＲ  Ｃｏｕｒｔ  ＯＲ．．．）ＡＮＤ（Ｇｒｅａｔ  Ｎｅｃｋ）ＡＮＤ（ＮＹ  ＯＲ（ＮＥＷ  ＹＯＲＫ））である。このブール演算式は、ロケーション検索クエリ２１０内の元の語またはタームの順序とは無関係である、つまりその影響を受けることはない。そのようにして、これはロケーション検索クエリ２１０の多種多様な形式に適応することができる。そのようなブール演算式は、分散された地理的フィーチャドキュメントデータベースを使用して、検索エンジン内で処理されうる形式を有する。これについては、以下でさらに説明する。
【００３３】
[0048]  地理的フィーチャドキュメントデータベースの実施形態に着目する。図３は、検索エンジン内の複数のコンピュータに格納されうる、複数の索引にわたり地理的フィーチャドキュメントを分散する実施形態３００を示すブロック図である。地理的フィーチャドキュメント３１０は、複数の地理的フィーチャドキュメント３１２を含むことができる。ドキュメント３１２−１のような、それぞれの地理的フィーチャドキュメントは、フィーチャタイプ（ストリート、ロード、ルート、市町村、国、交差点など）、フィーチャ名（つまり、ロケーションの名前）、主要条件またはトークン（フィーチャに関連付けられている特定のキーワードなど）、近隣のフィーチャ条件またはトークン（近接または隣接する重要な目標物またはロケーションなど）、および補足情報（フィーチャの緯度および経度など）を含むことができる。補足情報は、それぞれの地理的フィーチャドキュメントのロケーションに対応するマップイメージを提示するためにマップまたはタイルサーバによって使用されてもよい。これについては、図５および図７を参照して以下でさらに説明する。
【００３４】
[0049]  パーティショナ３１４は、１つまたは複数のインデクサ３１６を介して地理的フィーチャドキュメント３１０のサブセットを、複数の索引３２０内の索引３２０−１など、それぞれのインデクスに分散することができる。インデクス３２０−１は、インデクス３２０の１つのパーティションまたはサブパーティションに対応することができる（これは集合的に、地理的フィーチャドキュメントデータベース全体の逆インデクスであると見なすことができる）。インデクス３２０は、検索エンジンにおいて１つまたは複数のコンピュータに格納されてもよい。サブセットは、各インデクス３２０が、各々のロケーション検索クエリに関連付けられている処理の等価またはほぼ等価の部分を処理するように分散することができる。例えば、ドキュメント３１２−１は、索引３２０にわたりランダムに、または擬似ランダムに分散されてもよい。例えば、ハッシュ関数およびモジュロ関数は、Ｍ個のインデクサに地理的フィーチャドキュメントを分散するために使用することができ、ここでＭはインデクスの数である（場合によっては、索引パーティションまたはインデクスサブパーティションと呼ばれる）。この例において、ハッシュ関数は、各地理的フィーチャドキュメント（または事前定義されたドキュメントの部分）に適用されてハッシュ値を生成し、その後「モジュロＭ」関数がハッシュ値に適用されて０とＭ−１の間の選択値を生成する。選択値は、Ｍ個のインデクサ３１６のうちのどのインデクサがインデクス付けのためにドキュメントを受け取るかを決定する。
【００３５】
[0050]  それぞれの検索クエリを処理するとき、インデクス３２０の各々は、それぞれのクエリと一致するドキュメントのサブセット内の上位Ｎ件（上位１０位など）のドキュメントのセットを提供することができる。さらに以下で説明するように、上位Ｎ件のドキュメントは、スコアの順位付けを基にすることができる。特に、スコアは、検索クエリと一致するドキュメントごとに決定されてもよい。スコアは、それぞれのロケーション検索クエリの正規および／またはブール演算式を基にすることができる。図７を参照すると、インデクス３２０のサブパーティションごとのクエリ処理は、それぞれのサーバ７３０によって処理されるが、これはクエリと一致する上位Ｎ件までのドキュメントを特定する情報を返す。アグリゲータまたはパーティションレベルクエリ実行マネージャと呼ばれることもあるサーバ７２６は、例えばサーバ７３０から返された結果の中からＮ件の最善の検索結果を選択することにより、サーバ７３０からの検索結果を結合する。階層内で次の上位レベルにあるクエリ実行マネージャ７２０において、全てのアグリゲータ７２６からの検索結果は、アグリゲータ７２０によって返された結果の中からＮ件の最善の検索結果を選択することにより結合される。より一般的には、事前定義された数の最善の検索結果は、分散された階層のレベルごとに選択され、次のレベルに伝えられる。例えば、１０セットの上位１０件のドキュメントが所定のレベルにおいて受信される場合、上位１０件のドキュメントが決定されて伝えられてもよい。このようにして、分散される実施態様を使用して、ドキュメント３１２内の上位Ｎ件のドキュメントが決定および／または特定されうる。この手法は、検索エンジンのパフォーマンスを改善することができ、システムの費用および／または複雑さを軽減することができる。
【００３６】
[0051]  図４は、ドキュメント３１２−１のような、地理的フィーチャドキュメント４００の実施形態を示すブロック図である。ドキュメント４００は、ハイパーテキストマークアップ言語（ＨＴＭＬ）および／または拡張マークアップ言語（ＸＭＬ）に適合するものであってもよい。ドキュメント４００は、ロケーション（例えば、ストリート、交差点、市町村、関心地点など）のような、地理的フィーチャに対応する情報を含むことができる。一部のドキュメント４００は、複数のロケーション（例えば、ストリート、市町村などの複数のセグメント）に関する情報を含むこともできる。そのようなロケーション情報は、１つまたは複数のロケーションに対応するキーワード、１つまたは複数のロケーションに関連付けられている１つまたは複数の領域、および１つまたは複数のキーワードの同義語を含むことができる。
【００３７】
[0052]  実施形態４００に示されるように、ＨＴＭＬタグ＜ＣＮ＞の後に続くテキストは、この場合はｒｏｕｔｅであるロケーションのタイプを示すことができる。ＨＴＭＬタグ＜ＣＮＡ＞の後に続くテキストは、この場合はＶｉｃｔｏｒｉａ  Ｓｔｒｅｅｔであるロケーションの明示的な名前を示すことができる。ＨＴＭＬタグ＜ＣＡ＞の後に続くテキストは、Ｗｅｓｔｍｉｎｓｔｅｒ，ＬｏｎｄｏｎおよびＥｎｇｌａｎｄなどの、ロケーションに対応するキーワードを示すことができる。ＨＴＭＬタグ＜Ａ＞の後に続くテキストは、Ａｎｇｌｅｔｅｒｒｅ，Ｕｎｉｔｅｄ  ＫｉｎｇｄｏｍおよびＶｅｒｅｎｉｇｄ  Ｋｏｎｉｎｋｒｉｊｋなどの、ロケーションのキーワードおよび／または明示名の同義語を示すことができる。同義語は、外国語（つまり、キーワードの言語以外の言語）からの語を含むことができる。一部の実施形態において、同義語は、ロケーションの１つまたは複数のキーワードおよび／または明示名における省略形および／またはありがちなミススペルを含むことができる。ＨＴＭＬタグ＜Ｃｎ＞の後に続くテキストは、ロケーションの近隣または隣接する他のロケーションまたは地域を示すことができる。この例において、付近のロケーションまたは地域は、Ｉｓｌｉｎｇｔｏｎ、Ｗｅｓｔ  Ｅｎｄ、およびＣｏｖｅｎｔ  Ｇａｒｄｅｎである。
【００３８】
[0053]  ドキュメント４００のタグ付きテキストまたは情報は、情報項目またはテキスト項目またはトークンと呼ばれることもある。情報項目またはテキスト項目は、インデクサ３１６（図３）によって処理され、索引３２０を生成する。
【００３９】
[0054]  ドキュメント４００は、より少ないかまたは追加のタグを含む、より少ない情報または追加の情報を含むことができる。例えば、ドキュメント４００は、マップまたはタイルサーバによって使用されうる、地理的フィーチャに対応する参照座標などの補足情報を含むことができる。１つの例示的な実施形態において、参照座標は、１つまたは複数のロケーションの緯度および経度、ならびに／あるいは１つまたは複数のロケーションを囲むストリート番号の範囲を含むことができる。その他の実施形態において、ドキュメント４００内の情報の順序は、変更されてもよい。ドキュメント４００内の２つ以上の項目は、単一の項目に結合されてもよい。
【００４０】
[0055]  ドキュメント４００内の補足情報の１つの具体的な例は、ストリートまたはその他のルートの補足情報である。この例において、補足情報は、各々ストリートまたはルートの一部に対応する、１つまたは複数のセグメントを含む。各セグメントは、セグメントの第１および第２の終点に対応する開始および終了のストリート番号を指定し、またセグメントの終点ごとの緯度および経度を指定する。ストリート番号を含むロケーション検索クエリがドキュメント４００と一致するとき、指定されたストリート番号は、ドキュメントの補足情報内の最善の一致を示すセグメントを特定するために使用される。指定されたストリート番号が、最善の一致のセグメントの開始および終了のストリート番号の間に入る場合、ロケーション検索クエリによって指定されるロケーションの緯度および経度を決定するために線形補間が使用される。あるいは、指定されたストリート番号が、最善の一致のセグメントの開始または終了のストリート番号と一致する場合、対応する緯度および経度は、ロケーション検索クエリによって指定されるロケーションの位置決定に使用される。
【００４１】
[0056]  前述のように、それぞれのロケーション検索クエリに対応する正規および／またはブール演算式を、地理的フィーチャドキュメント３１０（図３）内のドキュメント３１２（図３）と比較するとき、一致の度合いを示すスコアが決定されうる。それらのスコアは、ロケーション検索クエリに対する、ドキュメント２１２の関連性、ひいては対応するロケーションを示すことができる。そのようにして、ロケーション検索クエリに応答して、スコアは、最善の結果、つまり最善のロケーション、または上位Ｎ件の結果のリスト、つまり上位Ｎ件のロケーションを決定するために検索エンジンによって使用されてもよい。
【００４２】
[0057]  一部の実施形態において、スコアは、ドキュメント３１２（図３）のサブセットに対してのみ決定されてもよい、つまり検索エンジンがロケーション検索クエリに対応しうるドキュメントの候補セットを決定してもよい。例示的な実施形態において、ドキュメントの候補セットへの包含の基準は、キーワードのうちの少なくとも１つがフィーチャの明示名と一致し（図４における＜ＣＮＡ＞タグの後に続くテキスト）、正規および／またはブール演算式の要素またはタームの各々がドキュメントに生じるという要件を含むことができる。
【００４３】
[0058]  例示的な実施形態において、スコアは以下の式を使用して決定されてもよい。
【００４４】
【数１】
2009524893.tif 000003
ただし、ＩＲｉは、正規および／またはブール演算式のそれぞれのタームまたは要素「ｉ」に対応するクエリ一致スコア（特定の候補ドキュメントに関して）であり、ＦＲはフィーチャまたはロケーションの重要度を示す「フィーチャ順位」であり、Ｅは正規化値であり、Ｑは任意の係数である。Ｑは、クエリと候補ドキュメントとの一致の品位に対応してもよいか、または検索結果の品位を向上させるために使用されうるその他のメトリックに対応してもよい。Ｑ係数の例は、図１１〜図１５を参照して以下で説明されるＳＡＦ係数である。もう１つの例において、Ｑは、ＳＡＦ＊Ｐｒｏｄｕｃｔ（Ｐｊ）と等しく設定され、ただし、ＳＡＦは以下で説明されるスコア減衰率であり、各Ｐｊはペナルティ係数であり、Ｐｒｏｄｕｃｔ（Ｐｊ）は全てのペナルティ係数の積（つまり、乗積）である。ペナルティ係数は各々、１．０のデフォルト値を有し、対応するペナルティが当該のドキュメントに適用可能である場合に、それよりも低い値（例えば、０．７など）を割り当てられる。ペナルティ係数の例には、Ａ）ドキュメントがユーザの国またはユーザの現在のビューポート（以下で定義される）のいずれにもない場合に適用されるペナルティ係数、Ｂ）ドキュメントとクエリとの間の一致が不正確な一致である（例えば、クエリが無関係または誤った条件または記号を含み、誤った条件または記号とドキュメントの唯一の一致が、「汎用同義語」トークン（「汎用同義語」に関する上記の説明を参照）での一致であるため）場合に適用されるペナルティ係数、およびＣ）クエリとドキュメントとの間の一致にはキー要素が欠落している場合（例えば、クエリがストリート名トークンおよび国トークンで一致するが、ドキュメントの市町村トークンでは一致しない場合）に適用されるペナルティ係数がある。その他のペナルティ係数は、その他の実施形態において使用されてもよい。一般に、ペナルティ係数は、地理的フィーチャドキュメントと検索クエリとの間の潜在的に品位の劣る一致を示す状況に関連付けられている。その他の実施形態において、Ｑは使用されない、すなわち１に等しく設定される。
【００４５】
[0059]  一部の実施形態において、正規化値Ｅは、完全一致に対してはＩＲｉスコアの合計の最大値である、すなわち検索クエリにおけるキーワードのトークン量の合計である。ＩＲｉ値の合計は、合計一致スコア、または候補ドキュメントのＩＲスコアと呼ばれることもある。検索クエリの特定のキーワードに対するＩＲｉの値は、重みの積を含むことができる。重みは、正規および／またはブール演算式の対応する要素またはタームに対するトークン量、適合性スコア、および要素量を含むことができる。トークン量はタームのタイプに対応することができ、タームのタイプは、ストップワード、ストリート接辞キーワード（例えば、フランス語の「ｒｕｅ」のようなストリート接頭語、英語の「ｓｔｒｅｅｔ」、「ａｖｅｎｕｅ」、「ｒｏａｄ」、「ｐｌａｃｅ」のようなストリート接頭語）、番号、同義語、および各事前定義済みのタームのタイプが事前定義されたトークン質量を割り当てられているその他のキーワードを含むことができる。事前定義されたトークン量値は、０から１、または０から８などのような、事前定義された範囲を有することもできる。一部の実施形態において、（「その他のキーワード」に対する）デフォルトのトークン量は１であるが、同義語、ストリート接辞キーワード、およびストップワードは全てそれよりも低いトークン量値を割り当てられる。一部の実施形態において、同義語は、ストリート接辞語よりも大きいトークン量を割り当てられる。
【００４６】
[0060]  適合性スコアは、テキスト一致の度合いに基づいて異なる場合があり、クエリキーワードとドキュメントの情報要素との間の完全テキスト一致には事前定義済みの最大値となる。クエリキーワードのドキュメントの情報要素との最善の一致が部分的一致でしかない（例えば、クエリキーワードがマルチワード要素のうちの１つの語しか一致しない）場合、適合性スコアは事前定義された最大値よりも小さくなり、テキスト一致の度合いを反映する。
【００４７】
[0061]  要素質量は、クエリキーワードと一致する（候補ドキュメントの）情報項目に関連付けられている地理的フィーチャのサイズまたはタイプに応じて変化することがある。例えば、国名である情報項目は、地方の名前（市町村名など）である情報項目よりも高い要素量を与えられることがあり、同様に、ストリート名である情報よりも高い値を与えられる。要素量はまた、クエリキーワードと一致する情報項目のタイプを反映することができる。例えば、地理的フィーチャの明示名を含む情報項目は、最高の要素量を割り当てられ、「コンテキスト」項目（例えば、ストリートが位置する市町村または国）である情報項目は、その次に高い要素量を割り当てられ、近隣市町村、地域、またはその他の地理的フィーチャの名前を含む情報項目は、最低の要素量を割り当てられることがある。一部の実施形態において、候補ドキュメントの情報項目の要素量は、２つの要素量係数の積と等しいが、その１つは、情報項目によって命名された地理的フィーチャのサイズまたはタイプに基づくものであり、その２つめは、クエリキーワードと一致する情報項目タイプ（明示名、コンテキスト、または近隣のフィーチャ）に基づくものである。一部のその他の実施形態において、候補ドキュメントの情報項目の要素量は、これらの２つの要素量係数の合計と等しい。
【００４８】
[0062]  候補ドキュメントのフィーチャ順位ＲＦは、ドキュメント頻度（図３のデータベース３１０にあるドキュメント３１２でフィーチャが参照される回数）に基づくか、またはより大きいフィーチャ（つまり、地理的範囲）がより高いフィーチャ順位値を与えられるように、地理的フィーチャのサイズに基づくこともある。もう１つの実施形態において、フィーチャ順位は、少なくとも部分的に、候補ドキュメントに対応する地理的フィーチャの重要度または知名度に基づいていてもよい。例えば、候補ドキュメントに対応する地理的フィーチャの重要度または知名度は、地理的フィーチャの名前でのワールドワイドウェブ検索または他のデータベース検索によって決定されてもよい。
【００４９】
[0063]  クエリキーワードが１つまたは複数の同義語を有する場合、ＩＲスコアは、各同義語について、およびクエリキーワードについて（候補ドキュメントに関して）計算され、次いでそれらのＩＲスコアのうち最善のものが選択され、候補ドキュメントの結合ＩＲスコアを計算するときに使用される。
【００５０】
[0064]  一部の実施形態において、上記のスコアリング関数は、その他の係数と相対的に１つまたは複数の係数の重要度を増加するように変更される。例えば、スコアリング関数は、以下のように変更されてもよい。
【００５１】
【数２】
2009524893.tif 000004
ただし、指数Ｍは１よりも大きい値（例えば、２、２．５、または３）で、通常は２と５の間（２≦Ｍ≦５）であり、スコアリング関数において正規化合計一致スコアにフィーチャ順位ＦＲおよびＱ係数よりも大きい重要度を与えるようになっている。一部の実施形態において、上述のスコアリング関数は、名前が、同じタームと一致するドキュメントに亘る検索クエリにタームが配置された順序と同じ順序でタームを持つが、それらの名前に異なる順序でタームを持つドキュメントに有利になるように、変更される。例えば、合計一致スコアは、ペアワイズ一致スコアで補足されてもよいが（例えば、合計一致スコア＋ペアワイズ一致スコア）、これはドキュメント名における順序付きタームペアと一致する検索クエリ内の順序付きタームペア（順序付けられた、近接のターム）の数に基づいている。
【００５２】
[0065]  さて、ロケーション検索クエリに応答して１つまたは複数のロケーション結果をユーザに提供するためのプロセスの実施形態に着目する。第１のドキュメントの最高スコアが、上位Ｎ件中の第２のドキュメントの次に高いスコアの予め定められた倍数よりも大きい場合（例えば、次に高いスコアが最高スコアの７０％未満）、第１のドキュメントに対応するロケーションがユーザに提供されうる。ドキュメントと共に格納されている補足情報を使用して、マップまたはタイルサーバはロケーションを中心とする領域のマップイメージをユーザに提供することができる。例えば、補足情報がロケーションを囲む番地を含む場合、マップイメージの中心は線形補間を使用して決定することができる。図５Ａは、ユーザに提供されるマップイメージ５００の実施形態を示すブロック図である。ロケーションに対応するロケーションタグ５１２−１は、境界ボックス５１０の中央に配置される。境界ボックス５１０は、ロケーションを取り囲む領域５１４が提供されるようにサイズ変更される。境界ボックス５１０のサイズは、地理的フィーチャまたはロケーションのサイズに基づいて決定されてもよい。さまざまな大きさのフィーチャ（市町村または国）は、さまざまな大きさの境界ボックスを持つことができる。
【００５３】
[0066]  あるケースでは、領域内の複数の個別のロケーション（つまり、空間的に相互に切り離されている）が同じかまたはほぼ同じスコアを有することもある。例えば、複数のロケーションが、ロケーション検索クエリに対応する正規および／またはブール演算式でキーワードの全てが一致してもよい。そのような場合には、それらの結果はユーザに提供することができる。これは、マップイメージ５５０の実施形態を示すブロック図である図５Ｂに示されている。事前定義されている選択基準を満足する全てのロケーションを含む境界ボックス５１０が定義される。別個のロケーションに対応するロケーションタグ５１２は、境界ボックス５１０に含まれる。一部の実施形態において、タグはリンクである。タグの１つをクリックすることにより、ユーザは対応するロケーションを選択することができる。このロケーションは、マップイメージ５００（図５Ａ）のようなマップイメージと共にユーザに提示されてもよい。一部の実施形態において、最善の一致を示すロケーションのリスト５２０は、マップ５５０の横に一覧される。リスト内の各項目は、そのロケーションに対応するマップへのリンクを含むことができる。リスト５２０内の各項目は、対応する地理的フィーチャドキュメントからの正規名（図４の例においてＣＮＡタグで特定される）およびコンテキストテキスト（図４の例においてＣＡタグで特定される）によって表すことができる。
【００５４】
[0067]  最高スコアが次に高いスコアの予め定められた倍数よりも大きくない場合、上位Ｎ件の範囲に対応する複数のロケーションを提供することができる。例えば、最高スコアの５０％と等しいかまたはそれより大きいスコアを有するロケーションが（上位Ｎ件の結果の中から）提供されてもよい。さまざまな情報は、ロケーションと共に提供されうる。ロケーション検索クエリに応答して返される複数の検索結果を表示するための例示的なグラフィカルユーザインターフェイスが図６に示される。１つの領域６１０またはカラムに、最善の一致を示す地理的フィーチャまたはロケーションが一覧され、グラフィカルユーザインターフェイスの別の領域には、領域６１０に一覧されている最善の一致を示す地理的フィーチャまたはロケーションごとに１つずつ個別の小さいマップ６２０が示されている。この例では、ロケーション検索クエリは「Ｓａｎ  Ａｎｔｏｎｉｏ」であったが、これはいくつかの可能性のある妥当な回答を生成した。回答には、市町村、州、郵便番号、および／または国などの、１つまたは複数のロケーション識別子が提供されてもよい。一部の実施形態において、小さいマップ６２０は各々、対応するより大きいマップへのリンクを含む。同様に、一部の実施形態において、領域６１０に一覧されている最善の一致を示すロケーションは各々、対応するより大きいマップへのリンクを含む。回答または小さいマップの１つをクリックすると、ロケーションが、マップイメージ５００（図５Ａ）のようなマップイメージと共にユーザに提示されるようにすることができる。
【００５５】
[0068]  ここで、前述の方法、地理的フィーチャドキュメント、およびグラフィックユーザインターフェイスを実施するための検索エンジン、クライアントコンピュータ、およびデータ構造の実施形態に着目する。図７は、クライアントシステムまたは装置９００（図９）のような、１つまたは複数のクライアント７１０（本明細書において、クライアント装置またはクライアントシステムとも呼ばれる）から受信したロケーション検索クエリに応答してロケーション検索クエリ結果を生成する検索エンジンシステム７００の実施形態を示すブロック図である。各クライアント７１０は、検索アシスタントモジュール９３０（図９）などの、検索アシスタントを有することができる。図７に示される検索エンジンシステム７００のレイアウトが例示的なものに過ぎず、他の任意の適切なレイアウトまたは構成をとることができることを理解されたい。従って、検索エンジンシステム７００は、これよりも少ないかまたは追加のコンポーネントまたはモジュールを含むことができ、ハードウェアおよび／またはソフトウェアで実施されてもよく、ロケーションあるいは１つまたは複数のコンポーネントまたはモジュールを変更することができる。検索エンジンシステム７００は、地理的フィーチャドキュメント３１０（図３）など、ドキュメントのインデクスを検索するために使用される。
【００５６】
[0069]  検索エンジンシステム７００は、通信ネットワーク７１２を使用してクライアント７１０と通信するマッピングアプリケーションサーバ７１４を含むことができる。通信ネットワーク７１２は、インターネットおよび／またはイントラネットであってもよい。マッピングアプリケーションサーバ７１４は、ロケーション検索クエリをクエリサーバ７１６に転送して、ロケーション結果をクエリサーバ７１６から受信することができる。マッピングアプリケーションサーバ７１４は、ロケーション結果の補足情報を使用して、タイルサーバ７１８から適切なマップイメージにアクセスし、そのようなマップイメージをロケーション結果と共にクライアント７１０に供給することができる。
【００５７】
[0070]  クエリサーバ７１６は、ロケーション検索クエリを正規形式に変換すること、および／またはブール演算式を生成することを含む、ロケーション検索クエリのキーワードを決定することができる。正規および／またはブール演算式は、処理のためにクエリ実行マネージャ７２０に転送することができる。クエリ実行マネージャ７２０は、正規および／またはブール演算式を地理的フィーチャドキュメントデータベース７２２内の複数のパーティション７２４に供給することができる。パーティション７２４−Ｋのような、各パーティション７２４において、パーティションレベルクエリ実行マネージャ７２６は、正規および／またはブール演算式を１つのパーティションのサーバ７３０に分散することができる。サーバ７３０は、索引３２０（図３）を格納することができる。前述のように、地理的フィーチャドキュメントデータベース７２２のサーバは、階層形式でロケーション検索クエリに対応する上位Ｎ件のドキュメントを決定することができる。
【００５８】
[0071]  上位Ｎ件のドキュメントを受信すると、クエリ実行マネージャ７２０は、補足情報など、ドキュメントサーバ７３４内の対応する地理的またはロケーション情報にアクセスすることができる。一部の実施形態において、地理的またはロケーション情報は、地理的フィーチャドキュメントデータベース７２２に含まれてもよい。
【００５９】
[0072]  クエリサーバ７１６のような、検索エンジンシステム７００内の要素は、ロケーション検索クエリの極めて高速な処理をもたらすように、サーバのグループにわたり分散することができる。一部の実施形態において、システム７００は、複数のデータセンター（例えば、さまざまな国、および／または１つまたは複数の国内のさまざまなロケーションに位置する）の、複数のロケーションにおけるクエリサーバ、クエリ実行マネージャ、タイルサーバ、および地理的フィーチャドキュメントデータベースのレプリカを含むことができる。クライアント７１０の１つにおけるユーザによって検索エンジンシステム７００にサブミットされたロケーション検索クエリは、各データセンターの現在のロード、地理的位置および／または稼働状況に基づいて、ドメインネームシステム（ＤＮＳ）を使用して適切なデータセンターにルーティングされる。
【００６０】
[0073]  各バックエンドは、好ましくは、通信ネットワーク７１２に結合された、クエリサーバ７１６のような複数のクエリサーバを含む。通信ネットワーク７１２は、インターネットであってもよいが、任意のローカルエリアネットワーク（ＬＡＮ）および／またはワイドエリアネットワーク（ＷＡＮ）であってもよい。一部の実施形態において、各クエリサーバ７１６は、ロケーション検索クエリ要求を受信して、Ｗｅｂページの形式で検索ロケーション結果をＨＴＴＰ、ＸＭＬ、または類似したプロトコルを介して配信するサーバである。あるいは、クエリサーバ７１６がＬＡＮ内、つまり内部的に使用され、公開ではない場合、クエリサーバはイントラネットサーバであってもよい。クエリサーバ７１６のようなクエリサーバは、ドキュメントインデクスを検索すること、検索結果を分析してフォーマットすることを含む検索プロセスを制御するように構成される。一部の実施形態において、バックエンドは、クエリサーバ７１６のような複数のクエリサーバに結合された、複数のクエリ実行マネージャ７２０を含む。
【００６１】
[0074]  図８は、検索エンジン８００の実施形態を示すブロック図である。検索エンジン８００は、少なくとも１つのデータプロセッサまたは中央演算処理装置（ＣＰＵ）８１０、他のコンピュータ、サーバおよび／またはクライアントと通信するための通信またはネットワークインターフェイス８２０、メモリ８２２、およびこれらのコンポーネントを相互に結合する１つまたは複数の信号線８１２を含むことができる。１つまたは複数の信号線８１２は、１つまたは複数の通信バスを構成することができる。
【００６２】
[0075]  メモリ８２２は、１つまたは複数の磁気ディスク記憶装置などの、高速ランダムアクセスメモリおよび／または不揮発性メモリを含むことができる。メモリ８２２は、基本システムサービスを処理するためおよびハードウェア依存タスクを実行するための手順を含む、ＬＩＮＵＸ、ＵＮＩＸ（登録商標）、またはＷＩＮＤＯＷＳ（登録商標）などのオペレーティングシステム（または命令のセット）８２４を格納することができる。メモリ８２２はまた、ネットワーク通信モジュール８２６の通信手順（または命令のセット）を格納することもできる。通信手順は、クライアント７１０（図７）などのクライアント、および検索エンジンシステム７００（図７）のその他のサーバおよびコンピュータと通信するために使用される。
【００６３】
[0076]  メモリ８２２はまた、クエリサーバ７１６（図７）に対応するクエリサーバモジュール（または命令のセット）、地理的フィーチャドキュメントデータベース７２２、ドキュメント８３２、および選択された結果８３６を格納することもできる。クエリサーバモジュール７１６は、前述のように、受信した検索クエリを書き換えることができるキーワードプロセッサ８２８を含むことができる。地理的フィーチャドキュメントデータベース７２２は、複数の索引８３０を含むことができる。ドキュメント８３２は、地理的またはロケーション情報を含む複数のドキュメント８３４を含むことができる。選択された結果８３６は、１つまたは複数のロケーション検索クエリに対する結果８３８を含むことができる。
【００６４】
[0077]  図８（図７と同様に）は検索エンジン８００を複数の別個の項目として示しているが、図８は、本明細書に説明される実施形態の構造概要としてではなく、検索エンジンシステムに存在しうるさまざまなフィーチャの機能的な説明を目的としている。実際に、また当業者に認識されるように、検索エンジン８００の機能は、それらの機能の特定のサブセットを実行するサーバのさまざまなグループと共に、多数のサーバまたはコンピュータにわたり分散されてもよい。図８において別々に示されている項目は結合されてもよく、また一部の項目は分離されてもよい。例えば、図８において別々に示されている一部の項目は、単一のサーバ上で実施されてもよく、また単一の項目は１つまたは複数のサーバによって実施されてもよい。検索エンジンシステム内の実際のサーバの数、およびそれらの間でフィーチャが割り当てられる方法は、実施態様ごとに異なり、部分的には、システムに格納される情報量および／またはシステムがピーク使用期間中および平均使用期間中に処理する必要のあるデータトラフィック量によって決まることもある。
【００６５】
[0078]  図９は、クライアントコンピュータ、装置、またはシステム９００の実施形態を示すブロック図である。クライアントシステム９００は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末（ＰＤＡ）、携帯電話、パーソナルナビゲーション装置などであってもよい。クライアントシステム９００は一般に、１つまたは複数の処理装置（ＣＰＵ）９１０、ユーザインターフェイス９１４、１つまたは複数のネットワークまたはその他の通信インターフェイス９１２、メモリ９２２、およびこれらのコンポーネントを結合する１つまたは複数の信号バス９２０を含む。ユーザインターフェイス９１４は、１つまたは複数のキーボード９１８、１つまたは複数のディスプレイ９１６、および／またはマウスのような１つまたは複数のポインタ（図示せず）を含むことができる。メモリ９２２は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭまたは他のランダムアクセスソリッドステートメモリデバイスなどのランダムアクセスメモリを含むことができ、１つまたは複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリデバイス、または他の不揮発性ソリッドステート記憶装置などの不揮発性メモリを含むことができる。通信バス９２０は、システムコンポーネントを相互接続して通信を制御する回路（チップセットと呼ばれることもある）を含むことができる。メモリ９２２は、中央演算処理装置９１０から離れて位置する大容量記憶ストレージを含むことができる。
【００６６】
[0079]  一部の実施形態において、メモリ９２２は、オペレーティングシステム（または命令のセット）９２４、ネットワーク通信モジュール（または命令のセット）９２６、ブラウザ／ツールモジュール９２８、および／または検索アシスタントモジュール（または命令のセット）９３０を含むことができる。検索アシスタントモジュール９３０は、入力および選択監視モジュール（または命令のセット）９３２、伝送モジュール（または命令のセット）９３４、検索結果受信モジュール（または命令のセット）９３６、および／または表示モジュール（または命令のセット）を含むことができる。
【００６７】
[0080]  ＬＩＮＵＸ、ＵＮＩＸ（登録商標）、またはＷＩＮＤＯＷＳ（登録商標）などのオペレーティングシステム９２４は、さまざまな基本システムサービスを処理するためおよびハードウェア依存タスクを実行するための手順（または命令のセット）を含むことができる。ネットワーク通信モジュール９２６は、１つまたは複数の通信ネットワークインターフェイス９１２、およびインターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、大都市圏ネットワークなどの１つまたは複数の通信ネットワークを介して、クライアントシステム９００を他のコンピュータ（例えば、他のクライアントコンピュータおよび／または検索エンジン）に接続するために使用されてもよい。
【００６８】
[0081]  ブラウザ／ツールモジュール９２８は、クライアントシステム９００のユーザが、１つまたは複数の通信ネットワーク上の１つまたは複数のホスト（１つまたは複数のＷｅｂサイトおよび／またはＷｅｂページなど）と通信および／または情報を交換するために使用することができるＷｅｂブラウザであってもよい。例えば、ユーザは、ブラウザ／ツールモジュール９２８を使用して、インターネットを利用する（例えば、Ｗｅｂページおよび／またはＷｅｂサイトを表示する）ことができる。
【００６９】
[0082]  検索アシスタントモジュール９３０（例えば、ブラウザ拡張機能、ブラウザツールバー、または検索エンジンＷｅｂページに埋め込まれている命令）は、検索エンジンを使用してロケーション検索クエリなどの１つまたは複数の検索クエリを実行するため、および１つまたは複数のロケーション、１つまたは複数のマップイメージ、１つまたは複数のＵＲＬおよび／またはハイパーリンクを含む対応する検索結果を受信するために、ユーザによって使用されてもよい。特に、入力および選択監視モジュール９３２はユーザ入力を監視することができ、伝送モジュール９３４は検索クエリを検索エンジンに送信することができ、検索結果受信モジュール９３６は検索エンジンから検索結果を受信することができ、表示モジュール９３８は、１つまたは複数のドキュメントの順位および／または検索クエリに対応する特定されたコンテンツを含むドキュメントのロケーションなどの検索結果を表示することができる（または、ブラウザモジュール９２８によって表示するために検索結果のレンダリングを補助することができる）。ユーザは、ユーザインターフェイス９１４およびブラウザ／ツールモジュール９２８を使用して、検索結果の１つまたは複数のドキュメントおよび／またはドキュメントのロケーションにアクセスまたは選択することができる。例えば、ユーザは、ポインタ（図示せず）を使用してハイパーリンクをクリックしてもよい。
【００７０】
[0083]  クライアントシステム９００がローカルサーバコンピュータに結合される実施形態において、メモリ９２２内の１つまたは複数のモジュールおよび／またはアプリケーションは、通常はクライアントシステム９００とは異なるロケーションにあるサーバコンピュータに格納されてもよい。上記の特定されたモジュールおよびアプリケーションは各々、前述の１つまたは複数の機能を実行するために命令のセットに対応する。これらのモジュール（つまり命令のセット）は、別個のソフトウェアプログラム、プロシージャ、またはモジュールとして実施される必要はない。さまざまなモジュールおよびサブモジュールは、再配置および／または結合することができる。メモリ９２２は、追加のモジュールおよび／またはサブモジュール、あるいはより少ないモジュールおよび／またはサブモジュールを含むことができる。例えば、検索アシスタントモジュール９３０は、ブラウザ／ツールモジュール９２８に組み込まれてもよい。従って、メモリ９２２は、上記の特定されたモジュールおよび／またはサブモジュールのサブセットまたはスーパーセットを含むことができる。
【００７１】
[0084]  図１０は、地理的フィーチャドキュメントのデータ構造１０００の実施形態を示すブロック図である。地理的フィーチャドキュメントデータ構造１０００は、地理的フィーチャドキュメント７２２を含むことができる。地理的フィーチャドキュメント７２２は、複数のコンピュータ上の複数のパーティションにわたり分散される複数のレコード１０１０を含むことができる。各レコード１０１０は、それぞれの地理的フィーチャドキュメントに対応することができる。前述のように、地理的フィーチャドキュメントは、地理的フィーチャまたはロケーションに対応することができる。レコードは、キーワード１０１２、１つまたは複数のキーワードの同義語１０１４、関連する語１０１６（ロケーションが生じる市町村など）、および／または隣接するオブジェクト１０１８を含むことができる。地理的フィーチャドキュメントデータ構造１０００は、より少ないかまたは追加の要素を含むことができ、２つ以上の要素は結合されてもよく、１つまたは複数の要素の位置は変更されてもよい。例えば、それぞれのレコード１０１０はさらに、１つまたは複数のロケーションの緯度および経度情報またはレコード１０１０によって表される地理的フィーチャに関連付けられている境界ボックスを含む補足情報１０１８を含むことができる。
ロケーション検索クエリからの結果のビューポート関連のスコアリング
【００７２】
[0085]  例えば、オンラインマッピングプログラムまたはサービスを使用して、ユーザが一連のロケーション検索を実行するとき、ユーザは多くの場合、直前のロケーション検索で検出された地理的フィーチャの近隣にある地理的フィーチャ（例えば、市町村、ストリート、特定のアドレスなど）を検索している。例えば、ユーザは、特定の市町村の第１の地理的フィーチャを検索した後、同じ市町村内、または周辺または隣接する市町村内の第２の地理的フィーチャをしばしば検索する。説明を容易にするため、地理的フィーチャは「ロケーション」と呼ばれることもあるが、（特定の番地とは対照的に）ストリートなどの一部の地理的フィーチャが多数のロケーションに対応することを理解されたい。
【００７３】
[0086]  図１１を参照すると、以下の説明において、「ビューポート」または「現在のビューポート」は、ユーザのクライアント装置またはシステムに現在表示されている地理的領域に対応する。例えば、ビューポートは、直前のロケーション検索に応答して（例えば、オンラインマッピングプログラムまたはサービスにより）生成された表示ウィンドウであってもよいか、またはユーザのクライアントシステム上に表示されるビューポートの矩形の境界を示す円形領域であってもよい。従って、ビューポートは、矩形または円形の形状であってもよい。これ以降この説明において、ビューポートは、形状が円形であり、ユーザのクライアントシステムに表示されるビューポートの矩形を取り囲み、これを含むものと仮定する。加えて、ビューポートは、ビューポートをユーザが指定した領域に変更するユーザアクション（例えば、パンおよび／またはズームコマンドまたはアクション）の結果生じることもある。
【００７４】
[0087]  ユーザが、複数の結果を生じるロケーションクエリを提示する場合、結果は、ビューポート外部のロケーションよりも現在のビューポート内の結果（つまりロケーション）に有利になるように、およびビューポートから遠く離れたロケーションよりもビューポートに近い（例えば、本明細書では「ビューポート周辺領域」と呼ばれる、ビューポートを取り囲む周辺領域内の）ロケーションに有利になるようにスコア付けされてもよい。１つの実施形態において、「ドキュメント」（ロケーション記述ドキュメントまたはロケーション記述データベースエントリと呼ばれることもある）をスコア付けする上記スコアリング関数は、スコア減衰率（ＳＡＦ）を含むように変更されるが、これは現在のビューポートを交差する結果に有利になるように、およびビューポート領域およびビューポート周辺領域（つまりビューポート周辺領域の外部にある）のいずれも交差しない結果よりもビューポートを取り囲むビューポート周辺領域を交差する結果に有利になるように、スコアにバイアスをかけるようになっている。この状況において、「交差（intersect）」という用語は、検索結果によって特定された地理的フィーチャの少なくとも一部が特定の領域内に入ることを意味する。
【００７５】
[0088]  図１２および図１３に示すように、地球の表面上の領域のサイズおよび距離は、それらの領域または距離によって範囲が定められる地球の表面上の弧の角度の大きさである「角距離」に関して測定することができる。角距離は、弧度または度の単位で測定されてもよい。正規化角距離は、２πなどの正規化係数で除算され、最大角距離が１（または他の任意の事前定義された値）であり、最小角距離が０であるようになっている。図１２および図１３において、Ｘ１は、ビューポート領域の半径Ｒ１の角距離に基づいたビューポートの正規化サイズを表す。Ｘ２は、ビューポート周辺領域の半径Ｒ２の角距離に基づいたビューポート周辺領域の正規化サイズである。Ｘ２−Ｘ１は、ビューポート周辺領域の幅を表す。Ｘ３は、地理的フィーチャと最も近接するビューポート領域の端との間の正規化角距離、あるいはより一般的には、地理的フィーチャとビューポート領域との間の距離を表す。Ｘは、（Ａ）地理的フィーチャとビューポート領域間の距離と（Ｂ）ビューポート周辺領域の幅の比率を表す。
【００７６】
[0089]  １つの実施形態において、ビューポート周辺領域のサイズは、ビューポート領域のサイズによって決まる。特に、ビューポート領域の半径が小さい（例えば、数キロメートル未満）場合、ビューポート周辺領域の半径は、ＳｋｉｒｔＦａｃｔｏｒを構成可能なパラメータとして、ビューポート領域の半径の１＋ＳｋｉｒｔＦａｃｔｏｒ倍もの大きさである。ビューポート領域の半径が大きい（例えば、数百キロメートルより大きい）場合、ビューポート周辺領域の半径は、ビューポート領域の半径とほぼ同じである。例示的な実施形態において、ビューポート周辺領域の半径は以下のように定義される。
ＳｋｉｒｔＲｅｇｉｏｎＲａｄｉｕｓ＝ＶｉｅｗｐｏｒｔＲａｄｉｕｓ×（１＋ＳｋｉｒｔＦａｃｔｏｒ×ＥＶ）
ＥＶ＝Ａ＋Ｂ×ｅ−Ｍ×Ｘ１
ただし、ＡおよびＢは、Ｘ１がゼロと等しい場合（つまり、ビューポート領域が非常に小さい場合）に、ＥＶがその最大値１となり、Ｘ１がその最大値１と等しい（地球全体をカバーするビューポート領域に対応する）場合に、ＥＶがその最小値、０と等しくなるように選択される。ＳｋｉｒｔＦａｃｔｏｒは、構成可能な倍率である。ＳｋｉｒｔＦａｃｔｏｒの例示的な値は１０である。その他の実施形態において、ＳｋｉｒｔＦａｃｔｏｒは、４から２０の間の値と等しい。Ｍは、構成可能な指数関数的比率係数である。Ｍの例示的な値は５０である。その他の実施形態において、Ｍは、１０から２００の間の値と等しい。加えて、Ｍの値は、角距離Ｘ１の倍率変更によって決まる。前述の制約に従ってＡおよびＢについて解くと、ＥＶの式は以下のようになる。
【００７７】
【数３】
2009524893.tif 000005
Ｍ＝５０のとき、ｅ−Ｍはゼロに非常に接近し（ｅ−５０≒１．９＊１０−２２）、ＥＶはｅ−Ｍ＊Ｘ１とほぼ等しい。
【００７８】
[0090]  例示的な実施形態において、スコアは、スコアリング関数に従って決定されてもよい。
【００７９】
【数４】
2009524893.tif 000006
ただし、ＩＲｉは、正規および／またはブール演算式のそれぞれの条件または要素「ｉ」に対応するクエリ一致スコア（特定の候補ドキュメントに関して）であり、ＦＲはフィーチャまたはロケーションの重要度を示す「フィーチャ順位」であり、Ｅは正規化値であり、ＳＡＦは前述のスコア減衰率である。ＩＲ、ＦＲ、およびＥパラメータについては上記で詳細に説明されており、その説明はここで説明されるスコアリング関数にも同等に適用可能である。特定の候補ドキュメント（または地理的フィーチャ）のＩＲｉ値の合計は候補の情報検索スコアまたはクエリ一致スコアと見なすことができ、スコアリング関数の他の全てのパラメータは、検索結果が順位付けされる方法を改良するように（つまり、最上位に順位付けされる検索結果がユーザによって検索されている地理的フィーチャに対応する可能性が最も高い検索結果であるように）、追加の係数に従ってスコアを倍率変更、増大、または減衰するためのものであることに留意されたい。
【００８０】
[0091]  例示的な実施形態において、特定の地理的フィーチャのＳＡＦは、以下の関数に従って決定される。
ＳＡＦ＝Ｃ＋Ｄ×ｅ−Ｋ×Ｘ
ただし、Ｋは指数関数的スケーリング係数であり、Ｘは、図１３を参照して上記で説明されているように、（Ａ）地理的フィーチャとビューポート領域間の距離（つまり、ビューポート領域の最近の端）と（Ｂ）ビューポート周辺領域の幅の比率である。上記の式において、ＣおよびＤは、Ｘが１と等しい場合（つまり、地理的フィーチャが周辺領域の最も外側部分にある場合）に、ＳＡＦがその最小値と等しくなり、Ｘがゼロと等しい場合（つまり地理的フィーチャがビューポート領域とビューポート周辺領域間の線または境界を交差するかまたは隣接している場合）に、その最大値１と等しくなるように選択される値である。前述の制約に従ってＣおよびＤについて解くと、ＳＡＦの式は以下のようになる。
【００８１】
【数５】
2009524893.tif 000007
Ｋ＝３のとき、ｅ−Ｋは０．５にほぼ等しく、１−ｅ−Ｋは０．９５にほぼ等しい。ＭｉｎＳｃｏｒｅ＝０．２かつＫ＝３のとき、ビューポート周辺領域を交差する（ただしビューポート領域は交差しない）地理的フィーチャについて、ＳＡＦは０．１５８＋０．８４２＊ｅ−３Ｘにほぼ等しい。ＳＡＦは、この式によれば、Ｘ＝０のとき１．０に等しく、Ｘ＝１のとき０．２にほぼ等しいことに留意されたい。前述のように、ＳＡＦは、ビューポート領域を交差する地理的フィーチャについては１に等しく、ビューポート領域およびビューポート周辺領域のいずれも交差しない地理的フィーチャについてはＭｉｎＳｃｏｒｅ（例えば、０．２）に等しい。その他の実施形態において、ＭｉｎＳｃｏｒｅは、０．１から０．５の間の値であり、Ｋは、２と１０の間の値である。
【００８２】
[0092]  本発明の具体的な実施形態についての上記の説明は、例示と説明を目的として提示されている。これらは、包括的であること、または本発明を開示されている厳密な形態に限定することを意図されていない。そうではなく、前述の教示を考慮して数多くの変更および変更が可能であることを理解されたい。実施形態は、本発明の原理およびその実際の適用を最もよく説明し、それにより当業者が本発明およびさまざまな実施形態を考案される特定の用途に適したさまざまな変更を加えて最もよく利用できるようにするために選択され説明されたものである。
【図面の簡単な説明】
【００８３】
【図１】ロケーション検索プロセスの実施形態を示すフローチャートである。
【図２】ロケーション検索クエリを処理する実施形態を示すブロック図である。
【図３】複数の索引にわたり地理的フィーチャドキュメントを分散する実施形態を示すブロック図である。
【図４】地理的フィーチャドキュメントの実施形態を示すブロック図である。
【図５Ａ】マップイメージの実施形態を示すブロック図である。
【図５Ｂ】マップイメージの実施形態を示すブロック図である。
【図６】ロケーション検索クエリに応答して返される結果の実施形態を示すブロック図である。
【図７】検索エンジンシステムの実施形態を示すブロック図である。
【図８】検索エンジンの実施形態を示すブロック図である。
【図９】クライアントシステムの実施形態を示すブロック図である。
【図１０】地理的フィーチャドキュメントのデータ構造の実施形態を示すブロック図である。
【図１１】現在の表示ウィンドウに関して地理的領域のセットを示す図である。
【図１２】地球の表面上の距離および領域が正規化角距離としてどのように測定され、ビューポート周辺領域内の地理的フィーチャのロケーションが比率値にどのように変換されるかを示す図である。
【図１３】地球の表面上の距離および領域が正規化角距離としてどのように測定され、ビューポート周辺領域内の地理的フィーチャのロケーションが比率値にどのように変換されるかを示す図である。
【図１４】ビューポート領域の半径に従って周辺領域の半径を決定する関数のグラフを示す図である。
【図１５】現在のビューポート領域および周辺領域に相対的な地理的フィーチャのロケーションに従ってスコア減衰率を割り当てるために使用される関数のグラフを示す図である。
【図１】
2009524893.tif 000008
【図２】
2009524893.tif 000009
【図３】
2009524893.tif 000010
【図４】
2009524893.tif 000011
【図５Ａ】
2009524893.tif 000012
【図５Ｂ】
2009524893.tif 000013
【図６】
2009524893.tif 000014
【図７】
2009524893.tif 000015
【図８】
2009524893.tif 000016
【図９】
2009524893.tif 000017
【図１０】
2009524893.tif 000018
【図１１】
2009524893.tif 000019
【図１２】
2009524893.tif 000020
【図１３】
2009524893.tif 000021
【図１４】
2009524893.tif 000022
【図１５】
2009524893.tif 000023
【手続補正書】
【提出日】平成20年9月25日(2008.9.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロケーション検索クエリを受信するステップと、
前記ロケーション検索クエリに対応するキーワードを決定するステップと、
前記ロケーション検索クエリの前記キーワードに対応する１つまたは複数のドキュメントを特定するように、地理的マッピングアプリケーションに関連付けられているドキュメントのセットを検索するステップと、
前記１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを前記地理的マッピングアプリケーションに提供するステップと、
を含むロケーション検索を実行する方法。
【請求項２】
前記キーワードは、前記ロケーション検索クエリにおける１つまたは複数のタームについての１つまたは複数の同義語を含む、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のドキュメントを識別する前記ステップは、前記キーワードに対応する正規表現を決定するステップを含む請求項１に記載の方法。
【請求項４】
前記１つまたは複数のドキュメントは、地理的マップ上のクライアントシステムで表示されうる地理的フィーチャに対応する複数のドキュメントを含むインデクス内にある、請求項１に記載の方法。
【請求項５】
前記複数のドキュメントは、前記地理的フィーチャに対応する参照座標を含む、請求項４に記載の方法。
【請求項６】
前記１つまたは複数のドキュメントを識別する前記ステップは、前記１つまたは複数の各ドキュメントのスコアを決定するステップを含む、請求項１に記載の方法。
【請求項７】
前記提供するステップは、対応するドキュメントの最高スコアが前記１つまたは複数のドキュメントの上位Ｎ件中の次位のドキュメントについての次に高いスコアの予め定められた倍数よりも大きい場合に、前記地理的マッピングアプリケーションにただ１つのロケーションを提供するステップを含む請求項６に記載の方法。
【請求項８】
少なくとも１つのロケーションに対応するマップイメージをクライアントシステムに伝送するステップを含む、請求項１に記載の方法。
【請求項９】
前記少なくとも１つのロケーションは、全ての前記キーワードを共通に持つ２つ以上の別個のロケーションを含み、前記マップイメージは、前記２つ以上のロケーションに対応するタグを含む、請求項８に記載の方法。
【請求項１０】
前記１つまたは複数のドキュメントを識別する前記ステップは、前記キーワードの順序とは無関係である、請求項１に記載の方法。
【請求項１１】
プログラムを実行する１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行される１つまたは複数のプログラムを格納するメモリであって、前記１つまたは複数のプログラムは、
ロケーション検索クエリを受信するための命令と、
前記ロケーション検索クエリに対応するキーワードを決定するための命令と、
前記ロケーション検索クエリの前記キーワードに対応する１つまたは複数のドキュメントを特定するように、地理的マッピングアプリケーションに関連付けられているドキュメントのセットを検索するための命令と、
前記１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを前記地理的マッピングアプリケーションに提供するための命令と、を含むメモリと、
を備える検索エンジンシステム。
【請求項１２】
コンピュータシステムの１つまたは複数のプロセッサにより実行するための１つまたは複数のプログラムを格納するコンピュータ可読記憶媒体であって、前記１つまたは複数のプログラムは、
ロケーション検索クエリを受信するための命令と、
前記ロケーション検索クエリに対応するキーワードを決定するための命令と、
前記ロケーション検索クエリの前記キーワードに対応する１つまたは複数のドキュメントを特定するように、地理的マッピングアプリケーションに関連付けられているドキュメントのセットを検索するための命令と、
前記１つまたは複数のドキュメントに対応する少なくとも１つのロケーションを前記地理的マッピングアプリケーションに提供するための命令と、
を備えるコンピュータ可読記憶媒体。
【請求項１３】
ロケーション検索クエリを受信するステップと、
前記ロケーション検索クエリを満足する１つまたは複数の地理的フィーチャドキュメントを特定するステップであって、前記地理的フィーチャドキュメントの各々は、それぞれの地理的フィーチャに対応し、地理的マッピングアプリケーションに関連付けられるステップと、
前記特定されたドキュメントを、前記特定されたドキュメントに対応する前記地理的フィーチャの、クライアントシステムの地理的ビューポート領域への近接性に少なくとも部分的に基づくスコアに従って順位付けして、順位付けされたドキュメントのセットを生成するステップであって、前記地理的ビューポート領域は前記クライアントシステムに表示される地理的領域に対応するステップと、
前記順位付けされたドキュメントに従って、前記順位付けされたドキュメントのうちの前記少なくとも１つに対応する少なくとも１つの地理的フィーチャを特定する結果を前記地理的マッピングアプリケーションに提供するステップと、
を含むロケーション検索を実行する方法。
【請求項１４】
前記地理的ビューポート領域は、以前のロケーション探索クエリに応答して前記クライアントシステムに表示される地理的領域に対応する、請求項１３に記載の方法。
【請求項１５】
プログラムを実行する１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行される１つまたは複数のプログラムを格納するメモリとを備え、前記１つまたは複数のプログラムが、
ロケーション検索クエリを受信するための命令と、
前記ロケーション検索クエリを満足する１つまたは複数の地理的フィーチャドキュメントを特定するための命令であって、前記地理的フィーチャドキュメントの各々は地理的フィーチャに対応する命令と、
前記特定されたドキュメントを、前記特定されたドキュメントに対応する前記地理的フィーチャの、クライアントシステムの地理的ビューポート領域への近接性に少なくとも部分的に基づくスコアに従って順位付けして、順位付けされたドキュメントのセットを生成するための命令であって、前記地理的ビューポート領域は前記クライアントシステムに表示される地理的領域に対応する命令と、
前記順位付けされたドキュメントに従って、前記順位付けされたドキュメントのうちの前記少なくとも１つに対応する少なくとも１つの地理的フィーチャを特定する結果を地理的マッピングアプリケーションに提供するための命令と、
を含む検索エンジンシステム。
【国際調査報告】
2009524893.tif 000024
2009524893.tif 000025
2009524893.tif 000026