(57)【特許請求の範囲】
【請求項１】
索引データ構造（２００）によってデータベース内のオブジェクトを探索する方法であり、当該索引データ構造（２００）は、空間を分割するよう定義された空間要素（５１）のコレクション（２０５、２０６）にオブジェクト属性値を関連付けており、予め定義された数の空間要素（５１）が次のレベルの空間要素（５２）に結合可能である、
方法であって、
第１入力探索パターンを求めて前記索引データ構造（２００）を探索し、前記第１入力探索パターンが、空間要素（５１）の第１コレクション（２０５、２０６）に、前記索引データ構造（２００）によって関連付けられている場合には、前記第１コレクション（２０５、２０６）からの全ての空間要素（５１）を、空間要素（５１）の第１候補集合（１０２ａ、１０２ｂ）に含める工程であって、前記第１候補集合（１０２ａ、１０２ｂ）における空間要素（５１）の数が、一定の限界を超過する場合には、前記空間要素（５１）のうちの一部または全部が、より少ない数の次のレベルの空間要素（５２）に結合される、工程と、
第２入力探索パターンを求めて前記索引データ構造（２００）を探索し、前記第２入力探索パターンが、空間要素（５１）の第２コレクション（２０５、２０６）に、前記索引データ構造（２００）によって関連付けられている場合には、前記第２コレクション（２０５、２０６）からの全ての空間要素（５１）を、空間要素（５１）の第２候補集合（１０２ａ、１０２ｂ）に含める工程であって、前記第２候補集合（１０２ａ、１０２ｂ）における空間要素（５１）の数が、一定の限界を超過する場合には、前記空間要素（５１）のうちの一部または全部が、より少ない数の次のレベルの空間要素（５２）に結合される、工程と、
前記第１候補集合および前記第２候補集合（１０２ａ、１０２ｂ）から、空間要素（５１、５２）の結合後候補集合（１０４ａ）を形成する工程と、
結果オブジェクトの集合を取得するように、前記第１入力探索パターンおよび前記第２入力探索パターンと一致するオブジェクトを求めて、空間要素（５１、５２）の前記結合後候補集合（１０４ａ）を探索する工程とを備えた、オブジェクト探索方法。
【請求項２】
請求項１において、前記第１候補集合および前記第２候補集合から形成された前記結合候補集合（１０４ａ）における前記空間要素の数が、予め定義されたしきい値を超過する場合には、前記空間要素のうちの一部または全部が、より少ない数の次のレベルの空間要素に結合される、オブジェクト探索方法。
【請求項３】
請求項１または２において、前記第１候補集合および前記第２候補集合（１０２ａ、１０２ｂ）の共通部分を構成することによって、前記第１候補集合および前記第２候補集合（１０２ａ、１０２ｂ）から前記結合後候補集合（１０４ａ）が構成される、オブジェクト探索方法。
【請求項４】
請求項１から３のいずれか一項において、前記索引データ構造（２００）は、オブジェクト属性値を、２次元平面の一部分に相当する、４分木の空間要素（５１）に関連付け、
４枚の隣接したタイルが、次のレベルの空間要素（５２）を表す１枚の次のレベルのタイルに結合可能である、オブジェクト探索方法。
【請求項５】
請求項４において、空間要素（５１）の前記第１候補集合（１０２ａ、１０２ｂ）または前記第２候補集合（１０２ａ、１０２ｂ）内における、空間要素（５１）の組合せについて、４枚以下の隣接するタイル（５１）が、１枚の次のレベルのタイル（５２）に結合され、この結合は、前記次のレベルの空間要素（５２）の前記エリアが前記結合後空間要素（５１）の上位集合を表す、安全なコンパクト化を表している、オブジェクト探索方法。
【請求項６】
請求項１から５のいずれか一項において、連続したデータ要素を表す前記第１入力探索パターンまたは前記第２入力探索パターンを求めて前記索引データ構造（２００）を探索する間に、前記第１入力探索パターンまたは前記第２入力探索パターンが空間要素（５１、５２）の、あるオブジェクトの属性値の接頭部に一致するか否かが調べられる、オブジェクト探索方法。
【請求項７】
請求項１から６のいずれか一項において、入力探索パターンを求めて前記索引データ構造（２００）を探索することについて、予め組み立てられた補助の候補集合に対してオブジェクト属性またはオブジェクト属性の接頭部を関連付ける、補助の索引データ構造が使用され、
前記補助の索引データ構造内の前記探索が非空集合を生成する場合には、この集合は所望の候補集合（１０２ａ、１０２ｂ）を構成し、
前記補助の索引データ構造内の前記探索が非空集合を生成しない場合には、所望の候補集合（１０２ａ、１０２ｂ）が、前記入力探索パターンを求めて前記索引データ構造（２００）を探索することによって取得される、オブジェクト探索方法。
【請求項８】
請求項１から７のいずれか一項において、前記第１入力探索パターンと前記第２入力探索パターンのいずれか一方または両方を対話的に入力すると、前記結合後候補集合（１０４ａ）は段階的に減少する、オブジェクト探索方法。
【請求項９】
請求項１から８のいずれか一項において、前記第１入力探索パターンと前記第２入力探索パターンのいずれか一方または両方を対話的に入力すると、前記入力探索パターンに影響を及ぼされた候補集合（１０２ａ、１０２ｂ、１０４ａ）の表現性についてのフィードバックが提供され、
前記表現性は、前記候補集合（１０２ａ、１０２ｂ、１０４ａ）の濃度が減少すると増加する、オブジェクト探索方法。
【請求項１０】
請求項１から９のいずれか一項において、前記結合後候補集合（１０４ａ）の前記濃度が所定のしきい値よりも低くなると、空間要素（５１、５２）の前記結合後候補集合（１０４ａ）においてオブジェクトを求めて前記探索が行われ、
前記結果オブジェクトが出力装置を介して出力される、オブジェクト探索方法。
【請求項１１】
請求項１から１０のいずれか一項において、オブジェクトを求めて空間要素（５１、５２）の前記結合後候補集合（１０４ａ）を探索する間に、
既に探索済みの空間要素（５１、５２）の数が計数されて、この数が予め定義された制限値を超えると、探索処理が停止されるか、または、
既に見つかったオブジェクトの数が計数されて、この数が予め定義された制限値を超えると、探索処理が停止されるか、または、
探索の経過時間が測定され、予め定義された制限時間を超えると、探索処理が停止される、オブジェクト探索方法。
【請求項１２】
請求項１から１１のいずれか一項において、前記探索は、特定の標的領域に関連付けられた空間要素（５１、５２）のみを考慮するよう制約される、オブジェクト探索方法。
【請求項１３】
請求項１から１２のいずれか一項において、結果オブジェクトの集合のうちの、あるオブジェクトが、ユーザが実際に見つけようと意図するオブジェクトに相当する確率を示す、一連の発見的規則に従って、前記オブジェクトの関連性が決定され、
前記結果は、関連性の高いものから順にユーザに表示される、オブジェクト探索方法。
【請求項１４】
請求項１から１３のいずれか一項において、前記データベースはナビゲーション装置のマップデータを含み、
前記オブジェクトは当該マップデータの地理オブジェクトに相当し、
前記２次元平面は前記ナビゲーション装置によって表示される、前記空間要素（５１、５２）によって分割された正縮尺地図に相当する、オブジェクト探索方法。
【請求項１５】
請求項１４において、前記第１入力探索パターンと前記第２入力探索パターンのいずれか一方または両方を対話的に入力すると、空間要素（５１、５２）の前記結合後集合に相当する地理エリアが、前記対話入力中に出力される、オブジェクト探索方法。
【請求項１６】
請求項１から１５のいずれか一項において、前記第１入力探索パターンと前記第２入力探索パターンのいずれか一方または両方は、複数の文字と数字のいずれか一方または両方が一つのキーに割り当てられた簡易キーパッド（３）を介して入力され、各キーは前記入力探索パターンの一文字ごとに１度だけ押されるものである、オブジェクト探索方法。
【請求項１７】
請求項１から１６のいずれか一項において、前記第１入力探索パターンと前記第２入力探索パターンのいずれか一方または両方は、ある複数の予め定義された役割のうちの１つの役割を有する、と発見的に解釈され、前記役割は、前記各入力探索パターンの、想定される、根本的な意味を示す、オブジェクト探索方法。
【請求項１８】
請求項１７において、前記第１入力探索パターンと前記第２入力探索パターンのいずれか一方または両方を発見的に解釈することによって、役割に特化した発見的候補集合（１０２ａ、１０２ｂ）が入力探索パターンごとに計算され、
前記役割に特化した発見的候補集合（１０２ａ、１０２ｂ）の共通部分を求めることによって、探索クエリの特定の解釈についての結合後発見的候補集合（１０４ａ）が取得される、オブジェクト探索方法。
【請求項１９】
請求項１８において、第１ステップでは、ある探索クエリの複数の異なる解釈のそれぞれについて、結合後発見的候補集合（１０４ａ）がその都度計算されて全数探索され、
第２ステップでは、前記探索クエリを特定の解釈に制約することなく、前記結合後候補集合（１０４ａ）が計算されて全数探索される、オブジェクト探索方法。
【請求項２０】
請求項１９において、前記異なる解釈は、前記関連付けられた、役割に特化した発見的候補集合（１０２ａ、１０２ｂ）および結合後発見的候補集合（１０４ａ）を計算することなく、最初に記号を使って列挙され、
前記索引データ構造（２００）を検索することによって、１つ以上の前記役割に特化した発見的候補集合（１０２ａ、１０２ｂ）が空であると検出されと、前記異なる解釈はさらに考慮されない、オブジェクト探索方法。
【請求項２１】
請求項１９または２０において、入力探索パターンについての考慮される前記異なる解釈のうちの１つの解釈、または前記異なる解釈の前記記号による列挙は、索引データ構造（２００）内の検索によって得られた１つ以上の役割に特化した発見的候補集合（１０２ａ、１０２ｂ、１０４ａ）の推定濃度に従って決定される、オブジェクト探索方法。
【請求項２２】
索引データ構造（２００）によってデータベース内のオブジェクトを探索する方法であり、当該索引データ構造（２００）は、要素（５１）のコレクション（２０５、２０６）にデータベースのオブジェクト属性値を関連付ける、方法であって、
入力探索クエリ内で、第１入力探索パターンと第２入力探索パターンの一方または両方が、ある複数の予め定義された役割のうちの１つの役割を有する、と発見的に解釈する工程であって、前記役割は、オブジェクト属性値に関する、前記各入力探索パターンの、想定される、根本的な意味を示す、工程と、
前記第１入力探索パターンと前記第２入力探索パターンの一方または両方を発見的に解釈することによって、要素（５１）の役割に特化した発見的候補集合（１０２ａ、１０２ｂ）を前記索引データ構造によって入力探索パターンごとに計算する工程であって、前記役割に特化した発見的候補集合（１０２ａ、１０２ｂ）は、前記入力探索パターンとその規定の役割において一致する少なくとも１つの属性値を有するオブジェクトを含む要素（５１）のこれらコレクションを含む、工程と、
前記探索クエリの特定の解釈についての結合後発見的候補集合（１０４ａ）を取得するように、前記第１入力探索パターンおよび前記第２入力探索パターンについて、前記役割に特化した発見的候補集合（１０２ａ、１０２ｂ）の共通部分を求める工程と、
要素（５１、５２）の前記結合後発見的候補集合（１０４ａ）において前記第１入力探索パターンおよび前記入力第２探索パターンに一致するオブジェクトを特定し、これによって結果オブジェクトの集合を取得する工程とを備え、
第１ステップでは、ある探索クエリの複数の異なる解釈のそれぞれについて、結合後発見的候補集合（１０４ａ）がその都度計算されて、必要であれば、全数探索され、
第２ステップでは、前記探索クエリを特定の解釈に制約することなく、結合後候補集合（１０４ａ）が計算されて、必要であれば、全数探索される、オブジェクト探索方法。
【請求項２３】
請求項１から２２のいずれか一項において、ある入力探索パターンについての予めコンパクト化された候補集合（１０２ａ、１０２ｂ）を提供するように、前記メイン索引データ構造（２００）が利用される前に必ず調べられる補助の索引データ構造が利用される、オブジェクト探索方法。
【請求項２４】
請求項１から２３のいずれか一項において、候補集合（１０２ａ、１０２ｂ）および結合後候補集合（１０４ａ）が、最初に、所与の入力探索パターンについて計算され、その後、キャッシュメモリデータベースに格納される、オブジェクト探索方法。
【請求項２５】
請求項１から２４のいずれか一項において、前記索引データ構造（２００）は、オブジェクト属性の完全に同一値についてのみでなく、追加的に、前記完全に同一値の予め定義された変形値についてもエントリを有し、これら変形値は、ある文字を他の文字で置換しているか、ある文字を元の値に追加しているか、ある文字を元の値から省略しているか、または、いくつかの文字の位置を元の値における位置に対して交換している、オブジェクト探索方法。
【請求項２６】
請求項１から２５のいずれか一項において、前記第１候補集合および前記第２候補集合（１０２ａ、１０２ｂ）が結合される前に、前記第１候補集合および前記第２候補集合（１０２ａ、１０２ｂ）内に既に存在する前記空間要素（５１）に地理的に隣接する前記空間要素（５１）を、前記第１候補集合および第２候補集合（１０２ａ、１０２ｂ）に包含することによって、前記第１入力探索パターンおよび前記第２入力探索パターンについて前記第１候補集合および前記第２候補集合（１０２ａ、１０２ｂ）が拡張される、オブジェクト探索方法。
【請求項２７】
請求項１から２６のいずれか一項において、前記第１入力探索パターンおよび前記第２入力探索パターンが媒体を介して入力されて、単一の探索クエリの代わりに複数の入力探索パターンからそれぞれが成る複数の探索クエリ変形を生成し、
索引データ構造（２００）の検索を通して前記探索クエリ変形から探索パターンについて計算された候補集合（１０２ａ、１０２ｂ）の推定濃度、または前記探索クエリ変形について計算された結合後候補集合（１０４ａ）の濃度が用いられて、さらなる処理に前記探索クエリ変形の部分集合の選択を導くか、または、さらなる処理手順に影響を与える個々の探索クエリ変形への優先順位の割り当てを導く、オブジェクト探索方法。
【請求項２８】
請求項１から２７のいずれか一項において、索引データ構造（２００）内の検索を通して得られた１つ以上の候補集合（１０２ａ、１０２ｂ、１０４ａ）の推定濃度は、１つの入力探索パターンまたは複数の入力探索パターンの表現性の基準として用いられる、オブジェクト探索方法。
【請求項２９】
請求項１から２８のいずれか一項において、探索結果のユーザの最終選択は、将来の探索処理に用いられるように、永続的記憶媒体に登録される、オブジェクト探索方法。
【請求項３０】
請求項１から２９のいずれか一項において、空間要素（５１、５２）の前記結合後候補集合の前記全数探索の結果として、前記入力探索クエリの全ての入力探索パターンと一致する属性を有するオブジェクトのみでなく、１つ以上の入力探索パターンがオブジェクト属性に一致しないオブジェクトも登録される、オブジェクト探索方法。
【請求項３１】
請求項１から３０のいずれか一項において、前記索引データ構造（２００）、および空間要素（５１）の関連付けられたコレクション（２０４〜２０６）は、前記索引データ構造（２００）を用いて実際に探索される前記データベースから生成されるのではなく、実際に探索される前記データベースの前記オブジェクトの全部または大部分を含む、前記データベースよりも大きいデータベースから生成される、オブジェクト探索方法。
【請求項３２】
請求項１から３１のいずれか一項において、索引データ構造（２００）内に所与の単語が存在するか否か、索引データ構造（２００）の検索を通して得られた、１つ以上の関連付けられた候補集合（１０２ａ、１０２ｂ）の推定濃度、または１つ以上の結合後候補集合（１０４ａ）の濃度が用いられて、タイプミスされた探索パターンを特定および／または訂正し、および／または、タイプミスされた探索パターンを有効な探索パターンに変換することを意図したユーザ指定の探索パターンの自動的に生成された修正を評価する、オブジェクト探索方法。
【請求項３３】
請求項１から３２のいずれか一項において、非空間データベースの探索を可能にするために、合成空間位置の値が、既存データベースオブジェクト属性値の関数として、各データベースオブジェクトに関連付けられる、オブジェクト探索方法。
【請求項３４】
請求項１から３３のいずれか一項において、当該方法を実行するよう配置され、サーバとして動作する１つ以上のコンピュータ装置、およびクライアントとして動作する１つ以上のコンピュータ装置を備えたシステムを使用する方法であり、
各クライアントは、探索クエリをユーザ入力として受け付け、かつ／または、探索結果を１人以上のユーザに通信して返すように構成され、各クライアントはネットワークを介して、または一方向もしくは双方向の通信リンクを介して、前記サーバに永続的または断続的に接続される、オブジェクト探索方法。
【請求項３５】
請求項１から３４のいずれか一項に記載の方法を実行する、コンピュータ装置。
【請求項３６】
請求項１から３４のいずれか一項に記載の方法を実行する、モバイルコンピュータ装置。
【請求項３７】
請求項１から３４のいずれか一項に記載の方法を実行する、ナビゲーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータベース内のオブジェクト（対象）を探索するための方法に関する。
本発明は、特に、モバイル（ナビゲーション）装置上のマップ探索に関する。ＧＰＳベースのモバイルナビゲーションシステムは最近よく普及しており、特に、いわゆるパーソナルナビゲーション装置（ＰＮＤ）や携帯電話、特にスマートフォン上のソフトウェアナビゲーションアプリケーションとして、ますます普及してきている。以下、これらを全体として「ナビゲーション装置」と称する。
【背景技術】
【０００２】
スマートフォンセグメント内のネットワーク接続型ナビゲーションソリューション（いわゆるネットワーク接続型ナビゲーション、例えば、インターネットベースのマップサービス用モバイルクライアント）は、ますます大きな役割を担いつつあるが、大多数のナビゲーションソリューションは（永続的または頻繁な）ネットワーク接続を必要とせず自立して動作（いわゆるオフラインナビゲーション）するように設計されている。これは、一方で、ネットワーク接続が高コストであるため、他方では、国の（田舎の）地域においてはネットワーク適用範囲が限られていたり、異なる国にごとに異なるネットワーク設定がなされたりしているため、ネットワーク接続が、特に旅行中、必ずしも利用可能とは限らないため、有利である。
【０００３】
自立型モバイルナビゲーション装置は、フラッシュメモリカード（例えば、ＳＤカード）のようなデータ格納媒体上に、典型的には高圧縮された形式でマップ素材（地図データ）全体を含まなければならない。ナビゲーション装置内では、例えばユーザがナビゲーション経路の目的地を決定することを可能にするための、例えば通りの番地または特定の対象地点（ＰＯＩ）などのマップ内の任意オブジェクトの入力および探索が、ユーザとの重要な対話型操作のうちの１つである。ここでは、入力操作の複雑さ、特に、必要なキーストローク数もしくは選択の数、想定される待ち時間、および対話型応答の質が、システムの有用性およびユーザ満足度を決定する。
【０００４】
従来のナビゲーション装置は、一般的には、マップ内のオブジェクトを見つけて場所を特定するために２つの可能性を提供する。
【０００５】
一方では、ユーザは、モバイルナビゲーション装置に表示されたマップセグメント（地図の一部分）を対話的に移動（パン（１画面に入らないデータを、カメラを回すように上下左右に表示する））したりズームしたりすることによって目的地を決定でき、これによって目的地を含むマップ領域にたどり着くことができる。これにより、ポインタ（例えば、タッチスクリーン）で目的地を選択（ピック（選択指示））することによって、目的地が決定される。しかし、この手順は退屈させるものであり、（モバイル）ナビゲーション装置のハードウェア制限によって待ち時間が生じる場合がある。さらに、このような手順では、ユーザは、マップ内の目的地を地理的に見つけるための場所のかなり正確な知識を前もって有していなければならない。しかし、実際にはそうではないため、しばしば実用的ではない。
【０００６】
したがって、他方では、ナビゲーション装置は従来、名前（例えば、通りの名前または対象地点の名前）でユーザがオブジェクトの場所を特定できるテキストベース探索機能を提供する。
【０００７】
デスクトップコンピュータまたはサーバなどの据え置き型コンピュータでは、一般的には、全ての利用可能なマップ素材が格納されているデータ記録全体を全数探索（網羅的に探索）するときに問題が生じない。したがって、このような探索機能は、多くの地理情報システム（ＧＩＳ）や地理データベースソフトウェア製品でサポートされている。
【０００８】
インターネットベースのマップサービス（最近ではグーグルマップなど）は、インターネット検索エンジンで既知の機能を使用して、ユーザフレンドリになるように探索機能を最適化している。インターネットベースのマップサービスは、ユーザが入力した複数の探索語をマップ内の全てのオブジェクトの全ての属性と比較するフリーテキスト探索を可能にする。次に、探索結果はその関連性に応じてソートされて表示される。しかし、このようなソリューションやその基本アルゴリズムは、従来のモバイルナビゲーション装置のメインメモリやプロセッサがこのようなソフトウェアアプリケーションの実行には不十分であるため、このようなモバイルナビゲーション装置内では適用できない。さらに、従来のモバイルナビゲーション装置のメモリは、（圧縮されていないか、または十分に圧縮されていない）必要な標準化マップフォーマットの保持、およびデータベース探索中に生成されるソフトウェアの実行に必要な追加のデータファイル（例えば、データベースの索引ファイル）の格納に十分なメモリ空間を備えない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このような制限のために、従来のモバイルナビゲーション装置はテキストベース探索の単純な選択肢しか提供しない。ここでは、探索処理は、一般的には、階層的地理的絞込みを必要とし、探索処理中、ユーザは領域（例えば、国および／または市）を先ず選択し、最後に通りの番地または異なる探索語（対象地点の名前など）を選択する。この領域を入力した後にのみ、ありうる通りの番地または他の探索語を求める探索が実行される。これは、一般のモバイルナビゲーション装置の現状のハードウェア制限により、従来の探索アルゴリズムでは、インターネットベースのマップサービスでのマップの全ての領域にわたるフリーテキスト探索が可能ではないためである。
【００１０】
本発明の目的は、モバイルナビゲーション装置のマップデータ（地図データ）内のオブジェクト（対象、目的物）をフリーテキスト探索可能にする方法およびナビゲーション装置を提供することである。
この目的は請求項１の特徴を備える方法で実現される。
【課題を解決するための手段】
【００１１】
本方法は、索引データ構造によるデータベース内のオブジェクトを探索する方法であり。各オブジェクトは、ここでは、２次元または３次元の空間位置を有し、探索パターンに照合される。索引データ構造は、４分木のタイルまたは８分木の直方体などの空間（スペース）（特に、２次元平面または３次元空間）を分割する（区切る）ように定義された空間要素のコレクション（集合）に、オブジェクトの名前のようなオブジェクト属性値を関連付ける。予め定義された数の空間要素が、次のレベルの空間要素に結合可能である。
【００１２】
本方法では、オブジェクトの探索中に、第１入力探索パターンを求めて（第１入力探索パターンを見つけるために）索引データ構造が探索される。第１入力探索パターンが索引データ構造を介して空間要素の第１コレクションに関連付けられている場合、第１コレクションからの全ての空間要素は空間要素の第１の候補集合に追加される。ここで、第１の候補集合における空間要素の数が所定の最大値を超過する場合、一部または全ての空間要素が、より少ない数の次のレベルの空間要素に結合される。
【００１３】
第１入力探索パターンを求めて索引データ構造が探索される最中またはその次の順番に、第２入力探索パターンを求めて索引データ構造が探索される。第２入力探索パターンが索引データ構造を介して空間要素の第２コレクションに関連付けられている場合、第２コレクションからの全ての空間要素は空間要素の第２の候補集合に追加される。また、第２の候補集合における空間要素の数が所定の最大値を超過する場合、一部または全ての空間要素が、より少ない数の次のレベルの空間要素に結合される。
【００１４】
第１の候補集合および第２の候補集合が得られると、第１の候補集合および第２の候補集合の共通部分（積）が構成されて、空間要素の結合後候補集合が得られる。次に、この結合後候補集合は、第１入力探索パターンおよび第２入力探索パターンと一致するオブジェクトを求めて全数探索され、最終的に全ての入力探索パターンに一致する結果オブジェクトの集合が得られる。
【００１５】
本発明は、候補集合の極めて効率的な計算を可能にする。特に、表現性が乏しい探索パターン（例えば、極めて多くのオブジェクトで出現する短い探索語）については、従来の方法を用いて得られた候補集合は大きい場合がある。また、インコアのデータ構造としての候補集合の表現と候補集合の結合処理（例えば、探索処理中に共通部分を計算すること）との両方は、（モバイルナビゲーション装置のような）限られたリソースを備えたハードウェアプラットフォーム上では実用的でない。本発明は、少ないメモリ量のみを使用して空間要素の大きな候補集合を表現することと、少ない計算でその候補集合を処理することとの両方を可能にする。２つの候補集合がそれぞれ極めて大きい場合であっても、これらの共通部分は比較的低い濃度を有すると、その結果として生じる結合後候補集合は、効率的に決定されるのみでなく、全ての入力探索パターンと一致する結果オブジェクトを求めて全数探索できる程度に十分に小さい。事実上、本方法によって、対話型ユーザ入力の初期段階で出現するような表現性が極めて乏しい探索パターンについての探索結果を、制約されたハードウェアプラットフォーム上で効率的に決定できるようになる。
【００１６】
この場合に、入力探索パターンは、ユーザが対話型入力するパターンで、アルファベット文字および／または数字を含むテキスト文字列であってもよい。
【００１７】
オブジェクトを探索するために、本方法は１つまたは２つの入力探索パターンに限られない。かえって好適には、ユーザが３つ以上の探索パターンを入力してもよく、集合論の法則に許容される任意の順序で、探索パターンに関連付けられた全ての候補集合の共通部分を求めることによって、結合後候補集合（結合された候補集合）が決定される。
【００１８】
空間要素のコレクションは、オブジェクトの名前のようなオブジェクトの属性値に関連付けられた１つまたは複数の空間要素を含む集合である。
索引データ構造は、オブジェクト属性値を、例えば、２次元平面を分割するために用いられる４分木の空間要素のコレクションに関連付ける。４分木では、各空間要素は、タイル、すなわち、２次元平面の長方形セグメントに相当する。４枚の隣接したタイルは、４枚の元のタイルをカバーするエリアを有する次のレベルの空間要素を構成する、１枚の次のレベルのタイルに結合される。
一般的には、４分木は、全ての非葉ノードが４つの子を持つ木として定義される。ここでは、均一の深さを有する４分木が使用される。
【００１９】
索引データ構造は、いわゆるトライ構造を有する。トライ構造は、非空文字列（空ではない文字列）でラベル付けられたエッジと、ルートからノードまでのパスのエッジラベルの連結によってラベル付けられたノードとを有する木を構成する。ルート自体は、例えば、空文字列でラベル付けられている。
【００２０】
空間要素の第１の候補集合内または第２の候補集合内の空間要素の組合せについては、４枚以下の隣接したタイルが、１枚の次のレベルのタイルに結合される。この結合は、安全なコンパクト化を表している。このコンパクト化では、次のレベルの空間要素のエリアが、結合後空間要素の（不適当または適当な）上位集合を表現する。
【００２１】
第１入力探索パターンまたは第２入力探索パターンを求めて索引データ構造を探索することによって、第１入力探索パターンまたは第２入力探索パターンが空間要素のオブジェクト属性と一致するか否かが調べられる。これについては、各探索パターンがテキスト文字列、つまりアルファベット文字および／または数字によって構成された文字列を表現してもよい。テキスト文字列は、探索中に、オブジェクトの属性（例えば、名前）と比較される。テキスト文字列が属性または属性の接頭部と一致する（つまり、属性名の始まりがテキスト文字列と一致する）場合、空間要素の関連付けられたコレクションが各候補集合に追加される。言い換えれば、探索パターンに一致する接頭部を有する全ての索引キー（つまり、探索パターンに含まれる文字または数字で始まる索引キー）を求めて探索することによって、入力探索パターンを求めて索引データ構造が探索される。これら全ての索引キーについて、索引キーが索引データ構造を介して空間要素のコレクションに関連付けられている場合、このコレクションからの全ての空間要素が空間要素の候補集合に追加される。ここで、候補集合における空間要素の数が所定最大値を超過する場合、一部または全ての空間要素は、より少ない数の次のレベルの空間要素に結合される。
【００２２】
この技法によって、探索パターンと一致する、索引データ構造内の全てのキーに関連付けられた全ての候補集合のコンパクト化された集合和は、段階的かつ効率的に構築される。そして、この集合和は、扱いやすくて限られたサイズのメモリ表現を有する。
【００２３】
本発明の実施形態では、索引データ構造において入力探索パターンを求めて探索することについて、補助の索引データ構造が使用される。この補助の索引データ構造は、索引データ構造を介して予め組み立てられた補助の候補集合に対してオブジェクト属性値またはオブジェクトの接頭部の属性値を関連付ける。ここで、補助の索引データ構造内の探索が非空集合を生成する場合、この集合は所望の候補集合を生成する。一方、空集合を生成する場合、所望の候補集合が、入力探索パターンを求めて（メイン）索引データ構造を探索することによって得られる。
【００２４】
このように、本方法の効率はさらに改良される。関連付けられた候補集合が決定される各探索パターンについては、メイン索引データ構造の全部の探索ではなく、ありうるオブジェクト属性値の接頭部の部分集合を予めコンパクト化されて予め組み立てられた候補集合に関連付ける、別の補助の索引データ構造が用いられる。前述したように、ここで、より少ない数の次のレベルの空間要素に空間要素を結合することによって予めコンパクト化が行われるが、補助の索引データ構造が生成される時、つまり、探索クエリが処理される前に、予めコンパクト化が行われる。補助の索引データ構造における探索が非空集合を生成する場合、所望の候補集合が完成する。空集合を生成する場合、所望の候補集合は、（メイン）索引データ構造内を探索することによって計算される。本方法によれば、例えば単一文字のみを含む探索文字列のように、表現性が極めて乏しい探索パターンについてさえ、候補集合を決定できる。このような場合については、メイン索引データ構造内で探索パターンに一致する多くの接頭部が見つかり、これによって、候補集合に含めるために空間要素の多くの関連したコレクションを考慮する必要があるため、メイン索引データ構造内の接頭部の探索はあまり効率的ではない。提案された変更例では、補助の索引データ構造によって提供される極めて少数でありかつサイズが限られたコレクションによって、数が多いコレクションが置き換えられる。
【００２５】
ナビゲーション装置内で使用するためのデータベースは、正縮尺地図のディジタルマップデータを含んでもよい。この場合、オブジェクトは、例えば、通りおよび対象地点などの、マップデータの地理オブジェクトに相当し、２次元平面は、ナビゲーション装置によって表示される正縮尺地図に相当する。次に、索引データ構造は、名前が地理オブジェクトの属性を表すタイルの近似集合に、地理オブジェクトの名前を関連付ける。タイルは、例えば大陸地図のような全体地図を分割する階層的な４分木から作られ、特定の２進法の命番方式を用いて番号付けられる。索引データ構造が１つまたは複数の入力探索パターンでクエリ（照会）されることで探索が実行される。これから、探索パターンが属性として出現するオブジェクトを含むタイルの集合が発生する。接続探索（conjunctive search）、つまり、複数の入力探索パターンの結合クエリ（論理積接続）については、単一入力探索パターンの候補集合の共通部分（積）が構成される。次に、結果として生じる結合後候補集合が、全ての入力探索パターンを属性として含むオブジェクトを求めて、第２のステップにおいて全数探索される。
【００２６】
この概念では、共通の接頭部（単語の始まり）を含む全ての名前について候補集合を容易に減らすことができる。そのため、効率的な接続多重前方一致探索（conjunctive multi-prefix search）が可能になる。接頭部に関連付けられた候補集合を得るために、接頭部の全てのありうる連続文字列の候補集合の結合された集合が構成される。索引データ構造の使用および関連付けられた候補集合の事実上の永続表現によって、この処理は、メインメモリ内でワーク集合に段階的に追加される要素の順次読込みだけになる。
【００２７】
モバイル装置上の大きな候補集合に対しても本方法を実行可能にするために、計算上効率的に演算を集合に適用するためのタイルの（大きな）集合をメモリ上効率的に表現する必要がある。ここで、具体的な表現は、タイル用の命番方式と、小さなタイルからの所定の２次パターンが、より大きな次のレベル４分木タイルによって同値に表すことができるという事実とに基づく。タイルの結合によって、格納されるタイル数は減少し、表現は「コンパクト化される」。
【００２８】
同値コンパクト化（４枚のタイルが、関連付けられた次のレベルのタイルにその都度結合される）、および安全な近似コンパクト化（４枚以下のタイルが、関連付けられた次のレベルのタイルに結合され、次のレベルのタイルによって表されるエリアは、元のタイルによってカバーされたエリアの上位集合である）の両方が使用可能である。安全な近似コンパクト化は、探索のために、候補集合に含まれるタイル数がせいぜい増加するだけであるため、安全である。つまりこれは、最終的には、おそらく本物の候補オブジェクトが存在しない追加タイルが全て調べられなければならないことを意味しているが、同時に、表現がおおまかなことに起因して、真の候補を除外してしまうことは避けられる。
【００２９】
本方法の好ましい実施例では、第１入力探索パターンおよび／または第２入力探索パターンを対話的に入力するときに、結合後候補集合は段階的に減少する。この根拠は、結合後候補集合が、（１つまたは複数の入力探索パターンを含む）多重前方一致探索クエリについて計算された場合に、ユーザが１つもしくは複数の探索パターンの末尾に１文字以上を追加することによって、または１つもしくは複数の新しい探索パターンを追加することによって、探索クエリが変更されると、集合論の法則と（まさに説明したように）拡張された接頭部に関連付けられた候補集合が、常に元の接頭部に関連付けられた候補集合の部分集合であるという事実とを有効に利用することによって、古い結合後候補集合から段階的に、新しい結合後候補集合が効率的に決定される。それぞれ変更されたまたは追加された探索パターンについての単一の共通部分の演算が必要である。この共通部分の演算では、新しい探索パターンまたは変更された探索パターンから得られた新しい候補集合が、古い結合後候補集合と共通する部分が求められる。結合後候補集合の濃度は、その都度減少するか、または少なくとも、増加しない。
【００３０】
さらなる実施形態では、第１入力探索パターンおよび／または第２入力探索パターンを対話的に入力すると、結合後候補集合の表現性についてフィードバックが提供される。ここで、表現性は、結合後候補集合の濃度が減少すると増加する。例えば、フィードバックは、結合後候補集合の濃度が所定のしきい値よりも低くなった場合に提供される。
【００３１】
フィードバックは、ディスプレイを介して視覚的に提供されるが、スピーカーを介して聴覚的に、または触覚的出力デバイス（例えば、振動を生成すること）を介して触覚的にも提供される。
【００３２】
探索クエリが入力された後または格納された探索クエリが変更された後に、索引データ構造の特定構造は、（１つまたは複数の入力探索パターンからなる）探索クエリの表現性の高速推定および評価、つまり探索クエリが探索領域を制限する能力が可能になる。この状況で、結果として生じる結合後候補集合が低い（しかし正の）濃度を含む場合、探索クエリは高い表現性を有する。
【００３３】
索引データ構造の特定の永続構造によって、集合に含まれる空間要素の数を全て計数することなく、結合後候補集合の濃度を良好な精度で推定することが可能になる。これによって、また、ユーザが探索クエリを入力または変更する際に、限られたリソースを備えたモバイルナビゲーション装置が探索クエリの実際の表現性に関して即時にユーザにフィードバックを提供することができる。
【００３４】
例えば、ナビゲーション装置のディスプレイは、探索クエリが妥当な計算量で全数探索できる結合後候補集合を得るのに十分な表現性を有するようになった場合に、表示された入力ウィンドウの赤色の背景を黄色に変更するように設定されてもよい。この場合、ユーザが入力を継続しなければ、（おそらく、比較的多数の空間要素の全数探索にかかる待ち時間の後に、）結合後候補集合の空間要素で見つかった結果オブジェクトを含む結果リストが出力される。一般的には、検索対象の目的地オブジェクトが結果リスト内に含まれている確率は、探索クエリの限られた表現性に起因してかなり限定される。しかし、ユーザが入力を継続する場合、変更された探索クエリに関連付けられた結合後候補集合の推定濃度が、実質的により小さい予め定義されたしきい値よりも低くなると、色が緑色に変更される。この場合、低い濃度を有する結合後候補集合を得ると、結合後候補集合に関連付けられた空間要素の全数探索は、高速かつ効率的に実行される。そして、探索クエリの表現性が高いため、見つかったオブジェクトの得られた結果リスト内に検索対象の目的地オブジェクトが存在する可能性は大きい。
【００３５】
表現性推定によって、また、いずれのタイルにも関連付けられていない入力が瞬時に特定される。この場合、結合後候補集合の濃度は、ゼロ値をとる。ゼロ濃度は、通常、入力探索パターンのタイプミスに起因するため、一致するオブジェクト属性が索引データ構造内で見つからず、空の候補集合の結果が生成される。したがって、このようなタイプミスは、例えば、視覚的、聴覚的、触覚的なアラーム（入力ウィンドウの赤い明滅のようなアラーム）などによる適切なフィードバックによって直ちに示される。
【００３６】
効率的な探索を保証するために、候補集合の濃度が所定のしきい値よりも低くなってはじめて、空間要素の結合後候補集合において結果オブジェクトを求めて全数探索が行われる。全数探索中またはその後に、結果オブジェクトは、例えば、ナビゲーション装置のディスプレイのような出力デバイスを介して出力される。
【００３７】
空間要素の結合後候補集合においてオブジェクトを求める全数探索の計算量（およびユーザによって知覚される、関連する経過の待ち時間）を制限するには、次の１つまたは複数の手段が取られる。
・既に探索済みの空間要素の数を数え、予め定義された上限値を超えたときに処理を終了する
・既に見つかったオブジェクトの数を数え、予め定義された上限値を超えたときに処理を終了する
・探索の経過時間を測定し、予め定義された上限値を超えたときに処理を終了する。
【００３８】
ここで、探索パターンを追加または変更する各ユーザ入力の後、および新しくまたは修正された（改良された）探索クエリに起因する新しい結合後候補集合の計算の後に、結合後候補集合でのオブジェクトを求める全数探索が開始または再開される。
【００３９】
この場合に、オブジェクトを求める全数探索は、索引データ構造のレベルに相当する２つ以上の段階において行われ、高い（より粗い）レベルから始まり、より細かい１レベル以上に進む。第１段階では、（４分木内の）上位レベルのタイルが全数探索される。このようなタイルはより下位レベルのタイルの全ての情報を含まないが、（大きな市の名前または極めて重要な対象地点などの）最も重要な情報のみを含む。したがって、全ての情報が考慮されるわけではないため、第１段階での探索は粗い。次の段階では、さらに下位レベルのタイルが探索され、そして、最終段階で最も細かいレベルの最下位のタイルが全数探索され、全ての含まれる情報が考慮される。このようにして、全数探索は次第により正確になる。ここで、初期の段階で、結果オブジェクトのリストがユーザに既に出力されてもよい。さらに、例えば、時間制限に達したことを理由として全数探索が完了前に停止する場合、この時点で少なくとも最も重要な探索結果が既に表示されていることが保証される。
【００４０】
別の実施形態では、メイン索引データ構造に加えて、別の索引データ構造が用いられる。この別の索引データ構造は、オブジェクトが位置する領域（地域）を記述するオブジェクト属性（例えば、「周辺都市の名前」、「オブジェクトの郵便番号」、「周辺国の名前」のような属性）についてのみ空間要素のコレクションにオブジェクト属性値を関連付けし、その他全ての属性を無視する。したがって、この別の索引データ構造はサイズが制限され、メイン索引データ構造を用いて特定の領域を探索する前に、この別の索引データ構造を用いて所望の領域（例えば、市）をすばやく特定できる。索引データ構造を用いて領域を最初に探索することによって、オブジェクトを求めてメイン索引データ構造を探索する際に考慮されなければならない空間要素の数は、特定領域に関連付けられた空間要素の数に予め限定される。そのため、本方法の計算量をさらに縮小できる。
【００４１】
探索では、特定の標的領域に関連付けられた空間要素のみを考慮するように制約されてもよい。もし特定領域からの探索結果が対象のもの（例えば、ユーザの現在のＧＰＳ位置周辺の領域）であれば、探索方法は上述のように適用されるが、加えて、候補集合は、実際の一致について全数探索を行なう前に、「標的領域集合」と称する空間要素の別の集合との共通部分が求められる。このために、標的領域の集合は、標的領域を記述する空間要素の集合、または標的領域を上位集合によって近似する空間要素の集合として構築される。この集合は通常既にサイズが小さいため、入力探索パターンに従ってさらなる候補集合を段階的に計算するときに、全てのさらなる共通部分が適用される初期候補集合として用いられる。標的領域の集合が極めて粗い近似を用いる場合、実際の標的領域以外の結果オブジェクトはフィルタリングされて全数探索中に無視される。
【００４２】
さらなる実施形態では、結合後候補集合の全数探索の後、および全ての入力探索パターンと一致する結果オブジェクトの集合を得た後、結果オブジェクトは関連性の高いものから順に表示される。例えば、結果オブジェクトの集合のうち、あるオブジェクトが、ユーザが実際に見つけようと意図するオブジェクト（例えば、ｓ通りの住所または対象地点のような目的地）を表している確率を示す、一連の発見的規則を利用して、オブジェクトの関連性が決定されてもよい。
【００４３】
探索結果のリストを表示する場合、例えば、モバイルナビゲーション装置上の限られた表示サイズのために、高い確率で正しい目的地オブジェクトがリストの一番上、または少なくとも一番上に近いところで表示されるように、推定された関連性の順序で結果をユーザに示すことが極めて重要である。これについては、考えられる関連性を高精度で評価できる一連の規則が開発されている。一方で、これら規則は、ユーザが入力した探索クエリの詳細から発生した情報であって、１つまたは複数の探索パターンから成る情報を使用する。他方では、これら規則は、オブジェクト属性としてマップに格納された情報であって、（特に重要な対象地点のような）特定オブジェクトに対する高い総括的関連性を示す情報を用いる。
【００４４】
発見的規則は、例えば、
・ユーザが選択した入力探索パターンの順序を考慮する（例えば、第１探索パターンは市を示し、第２探索パターンは通りを示す、など）、
・領域／市は通りよりも重要であると考える、
・大きな市は小さな市よりも重要であると考える、
・市または空港に相当する対象地点を他の対象地点よりも重要であると考える、
・対象地点が通りよりも重要であると考える。および／または、
・大きな通りが小さな通りよりも重要であると考える。
【００４５】
ナビゲーション装置では、データベースは、オブジェクトが地理オブジェクトに相当するマップデータを含む。本方法のさらなる実施形態では、第１入力探索パターンおよび／または第２入力探索パターンを対話的に入力するとき、空間要素の結合後候補集合に相当する地理エリアが出力される。この場合、探索クエリごとに、マップタイルの結合後候補集合が計算され、この集合ごとに、各結合後候補集合に相当するか、または各結合後候補集合を含む、地理エリアが決定される。このエリアは、例えば、結合後候補集合に含まれる全てのタイルの最北、最南、最西および最東のエッジ（境界）によってその辺が決定される長方形である。探索クエリの入力後に、この長方形を表すマップセグメントの迅速なディスプレイは、検索対象の目的地が潜在的に見つけられるエリアの早急な概観を提供する。
【００４６】
ここで、好ましくは、地理エリアのディスプレイは、結合後候補集合内のオブジェクトの全数探索を行なう前に更新されるが、一般的には、計算上時間がかかる。
【００４７】
第１入力探索パターンおよび／または第２入力探索パターンを対話型入力するときに、空間要素の結合後候補集合に相当する地理エリアは段階的に絞り込まれる。このようにして、探索クエリ入力中の候補集合の効率的な段階的絞込みと組み合わせて、（効率的な地図の可視化が可能ならば、）探索クエリの進行する段階的入力に、検索対象の目的地が潜在的に位置するエリアを表す地理エリアの連続的ズームによる表示が伴う特定の視覚印象が得られる。ここで、地理エリアは、全大陸を示す地図から、目的地オブジェクト（または他のいくつかのオブジェクト）およびその周囲の環境のみを含む小さなマップセグメントにまでおよぶマップセグメントに相当してもよい。（おそらく、補間技法を用いて）、十分な表示速度および表示尺度の連続調節で、ムービーカメラのズーム効果に似た視覚印象が得られる。マップ表示の速度を改善するために、森林エリアのようなあまり重要ではないマップの詳細を省略したり、マップ内に示すテキストを減らしたりすることによって、表示されたマップセグメントを実質的に簡素化することができる。
【００４８】
さらなる実施形態では、第１入力探索パターンおよび／または第２入力探索パターンは、複数の文字または数字が、キーパッドのその一つのキーに割り当てられた簡易キーパッドを介して入力され、各キーは入力探索パターンの一文字ごとに１度だけ押される。このようにして、結果として生じる決定不全性が、一般的には、追加入力文字ごとに減少するという事実を使用し、地理上の名前の異なるもしくは隣接する文字または自然言語の異なるもしくは隣接する単語はある程度相関しないという統計的性質を利用する。
【００４９】
第１の変形例では、従来は複雑な手順ステップを用いてモバイル装置上の仮想または物理的キーパッドを介して入力されなければならなかった発音区別文字（ウムラウト記号）の入力を回避できる。この実施形態で、探索パターンの一部としてウムラウト記号（例えば、「
0005604507.tif 000002
」に対して「Ａ」）に関連付けられたベース文字を入力することが可能になる。ここで、探索処理では、ウムラウト記号とベース文字は一致としてみなされる。
【００５０】
第２の変形例では、複数の文字が各数字キー（キー「０」〜「９」、「＊」、「＃」であって、これらキーには、従来知られているように複数のアルファベット文字が割り当てられる（「２」＝「ＡＢＣ」、「３」＝「ＤＥＦ」、…））に割り当てられている、（ナビゲーションアプリケーションおよびナビゲーション装置としての機能を含む）携帯電話のテンキーが使用される。探索パターンの入力については、複数回のキーストロークは不要である（例えば、「Ｃ」については、キー「２」が一度だけ押される）。ユーザは、まるでフルキーボードを使用しているかのように、このように高速で探索クエリを入力できる。したがって、例えば、タッチスクリーンにタイプ結果が表示されるため、小型化フルキーボードを使用した場合に比べてタイプミスの可能性は低くなる。この概念を使用した本方法の実用的な実装はそれほど複雑ではなく、フルキーボードを介した入力と比較して、本方法の実行は計算能力の点でわずかに負荷が大きいだけである。
【００５１】
装置では、ディスプレイに表示された仮想キーパッドと同様に、物理キーパッドが使用されてもよい。仮想キーパッドでは、ポインティングデバイス、指向性のキーパッド、特定のトリガーキー、またはタッチスクリーンを使用して仮想キーが始動される。
【００５２】
本方法の実施形態では、ある複数の解釈で探索クエリの入力探索パターンを解釈するという考え方に基づいた多重フェーズ発見的探索戦略を用いてもよい。この場合、特定の解釈については、ユーザが入力した探索クエリの各入力探索パターンに、いわゆる、役割が割り当てられる。
【００５３】
根底にある考え方は、以下の観察に由来する。ユーザがデータベース（例えば、正縮尺図）の特定の標的オブジェクトを見つける意図で、ある探索クエリを入力するとき、ユーザの見解では、この探索クエリにのみ基づいた標的オブジェクトを一意に特定できるであろう、ということになる。これは実際に当てはまることが多い（とはいえ、常にではない）。
【００５４】
では、たとえユーザがこれに関して明示的に詳細に通常考えなくとも、ユーザは、尋ねられれば、標的オブジェクトを明白に特定する方法で、この探索クエリがいかに理解されうるかを通常説明できる。したがって、本方法では、この解釈を「推測する」ことができ「さえ」すればよい。
【００５５】
これは、探索クエリの各入力探索パターンに役割を割り当てて、ある解釈で入力探索クエリを解釈することによって行われる。
【００５６】
特定の役割についての考えられる例は次の通りである。「探索パターンはオブジェクトの領域属性に出現する。」または、「探索パターンはオブジェクト名の最初の単語でなければならない」。したがって、この場合、用語「役割」とは、ユーザが考えていると思われる入力探索パターンのありうる特性を指すものである、と理解される。例えば、ユーザが探索クエリ「ＢＥＲ  ＨＵＳ」を入力する場合、第１入力探索パターン（「ＢＥＲ」）はオブジェクト（例えば、ベルリン市）の領域属性を示すものと解釈され、第２入力探索パターン（「ＨＵＳ」）はオブジェクト名（例えば、ベルリンにある通り、オブジェクト「Ｈｕｓｅｍａｎｎｓｔｒａβｅ」）を指すものと解釈される。もちろん他の解釈も可能である。
【００５７】
探索パターンに役割を割り当てることによる探索クエリの解釈は、探索空間を制限するのに用いられてもよい。すなわち、おそらく、例えば分割されたマップデータによって定義された、データベースの探索空間全体ではなく、限られた探索空間のみが探索クエリの特定の解釈を求めて探索される。上記の例について、「ＢＥＲ」が領域属性として解釈される場合、領域属性のみを考慮する（限られた補助の）索引データ構造を使用して、領域（つまり領域属性）に関係するオブジェクトの属性のみを探索する。
【００５８】
したがって、本方法の実施形態では、第１入力探索パターンおよび／または第２入力探索パターンはそれぞれ、ある複数の予め定義された役割を有すると発見的に解釈されてもよい。ここで、役割は、入力探索パターンそれぞれの、考えられる根底にある意味を示す。
【００５９】
次に、第１入力探索パターンおよび／または第２入力探索パターンを発見的に解釈することによって、役割に特化した（役割を特定した）発見的候補集合が入力探索パターンごとに計算される。さらに、役割に特化した発見的候補集合の共通部分を求めることによって、探索クエリの特定の解釈についての結合後発見的候補集合が得られる。
【００６０】
本方法において、第１段階では、ある探索クエリの１つまたは複数の異なる解釈のそれぞれについて、結合後発見的候補集合がその都度計算されて全数探索され、第２段階では、探索クエリを特定の解釈に制約することなく、結合後候補集合が計算されて全数探索される。
【００６１】
したがって、この探索は、異なる段階に分けられる。最初に、探索クエリの複数の考えられる解釈を考慮し、各解釈が、速く全数探索される探索空間であって、所望の結果を含む可能性が高い探索空間の極めて小さい解釈を生成する。第２に、本方法は、より大きい探索空間を生成する解釈であって、データベース内にもし存在するとすれば所望の結果を含むことを保証する一般的な解釈へと後戻りする。全数探索中にリソース制限に到達すると、検索エンジンが探索処理を中止してアプリケーションに通知するため、ユーザに、表現性がより高い入力を提供するように促すことができる。
【００６２】
既に言及したように、ある解釈は各入力探索パターンに特定の役割を割り当てる。入力探索クエリの異なる解釈を生成する異なる役割には多くの考えられる組合せがあるため、異なる解釈は、関連付けられた、役割に特化した発見的候補集合および結合後発見的候補集合を計算することなく、先ず記号を使って列挙される。したがって、索引データ構造内を検索することによって、１つ以上の、役割に特化した発見的候補集合が空であると検出されるこれら解釈はさらに考慮されない。言い換えれば、本方法の実施形態では、実際の候補集合を計算する前に、全ての非空解釈が列挙され、より小さい候補集合を生成する（そして、おそらく所望の結果を生成する）と予測される解釈が先にくるように整列される。この場合、探索クエリの任意の探索パターンが、割り当てられた役割において、空の、役割に特化した発見的候補集合を生成する場合、所与の探索クエリについてはその解釈が空であると称される。これは自動的に、解釈の結合後発見的候補集合を空にするであろう。したがって、このような解釈をこれ以上考慮する必要はない。
【００６３】
これに関して、入力探索パターンについての考慮される異なる複数の解釈のうちの１つの選択、または異なる解釈の記号列挙は、索引データ構造内の検索によって得られた１つ以上の、役割に特化した発見的候補集合の推定濃度に従って決定される。
【００６４】
探索クエリの入力探索パターンにある役割を割り当て、特定の役割を有する探索パターンを含む、ある探索クエリに従ってデータベースを探索することによって探索効率を改善するという考え方は、別々に適用可能である。したがって、各要素のコレクション、例えば、４分木のタイル、８分木の直方体、２分木のノード、ドキュメント、ファイル、あるドキュメントもしくはファイルを特定する数字もしくはその他のコード、または上述したいずれかの情報と、空間要素、ドキュメントもしくはファイル内の属性値の１つ以上の出現位置とを含むデータ構造に、データベースオブジェクト属性値を関連付ける索引データ構造によってデータベース内のオブジェクトを探索する方法は以下を含む。
入力探索クエリでは、第１入力探索パターンおよび／または第２入力探索パターンが予め定義された役割を有すると発見的解釈し（ここでいう役割は、オブジェクト属性値に関する各入力探索パターンの考えられる根底にある意味を示す）、
第１入力探索パターンおよび／または第２入力探索パターンを発見的解釈することによって、索引データ構造による入力探索パターンごとの要素の役割に特化した発見的候補集合を計算し（役割に特化した発見的候補集合は、その予め定められた役割において、入力探索パターンに一致する少なくとも一つの属性を有するオブジェクトを含む要素のコレクションを含む）、
第１入力探索パターンおよび第２入力探索パターンについて、役割に特化した発見的候補集合の共通部分を求めて、探索クエリの特定の解釈についての結合後発見的候補集合を取得し、
要素の結合後発見的候補集合において、第１入力探索パターンおよび入力第２探索パターンと一致するオブジェクトを特定し、これによって、結果オブジェクトの集合を得る。
【００６５】
本方法の実施形態において、第１ステップでは、ある探索クエリの複数の異なる解釈のそれぞれについて、結合後発見的候補集合がその都度計算されて全数探索され、第２ステップでは、前記探索クエリを特定の解釈に制約することなく、前記結合後候補集合が計算されて全数探索される。
【００６６】
本方法の背景および効果に関しては、上記を参照されたい。
一般的には、本方法の異なる実施形態については、表現性が低い入力探索パターンの候補集合を計算するための計算量は、ある入力探索パターンについての予めコンパクト化された候補集合を提供するための補助の索引データ構造を利用することによって縮小される。補助の索引データ構造は、メイン索引データ構造が利用される前に必ず調べられる。つまり、表現性が極めて乏しい、ある探索パターン（単一文字や２文字だけで構成される探索パターンなど）については、まず、入力探索パターンに相当する所望のオブジェクトを含む可能性がある空間要素の予め定義されたコレクションにこれら表現性が乏しい探索パターンが関連付けられている、補助の索引データ構造が検索される。この背景には、ユーザが、短く表現性が乏しい探索パターンを故意に入力した場合、ユーザがこの探索パターンは所望のオブジェクトを実際に指していると考えている可能性が高い。なぜならば、例えば、探索パターンがオブジェクト名や領域属性に確実に含まれているからである（例えば、「Ｐ通り」と呼ばれる通りがある場合、ユーザは「Ｐ」を入力してこの通りを検索する可能性がある）。例えば、（表現性が乏しい）入力探索パターンに完全一致する属性を有するオブジェクトを含む空間要素が補助の索引データ構造に予め格納されており、補助の索引データ構造が（メイン）索引データ構造よりも前に検索される場合、空間要素の結果として生じる候補集合を全数探索することによって、多数の空間要素を全数探索することなく、所望の結果を速く見つけられる場合がある。
【００６７】
本方法のさらなる実施形態では、（例えば、上記の役割に特化した発見的候補集合および結合後発見的候補集合をも含む）候補集合および結合後候補集合は、先ず、所与の入力探索パターンについて計算され、その後、キャッシュメモリデータベースに格納されてもよい。このようにして、入力探索パターンの候補集合を計算するためにかかる計算量は縮小される。なぜならば、探索の異なるステップ中に複数回必要とされた場合に候補集合を再計算する必要がないからであり、その場合は、キャッシュメモリから得られる。
【００６８】
更に改良された本方法では、索引データ構造は、オブジェクト属性の完全な値についてのみでなく、さらに、これら完全な値の予め定義された変形値についてもエントリを有し、これらの変形値は、ある文字を他の文字によって置換、元の値にある文字を追加、該元の値からある文字を省略、またはいくつかの文字の位置を該元の値内のそれらの位置に関して交換されている。これによって、いわゆるあいまい探索が可能になり、例えば、１つまたは複数の入力探索パターンがオブジェクト属性値、例えば、オブジェクト名または領域属性と（完全に）一致しない場合でも所望の結果を見つけることが可能になる。例えば、入力探索パターンにスペルミスがある場合であっても、このように所望の結果が見つかる場合がある。
【００６９】
別の実施例では、第１および第２の候補集合が結合される前に、第１および第２の候補集合内に既に存在する前記空間要素に隣接する空間要素を第１および第２の候補集合に包含することによって、第１および第２入力探索パターンについて第１および／または第２の候補集合が拡張されてもよい。このようにしても、決定された候補集合の空間要素の近傍の空間要素が探索に含まれる。
【００７０】
別の関連する改良された方法では、例えば、ある文字を他の文字によって置換したり、ある文字を元の探索パターンに追加したり、ある文字を元の値から省略したり、あるいはいくつかの文字の位置を元の探索パターン内のそれらの位置に関して交換するなど、ユーザ指定の探索パターンの１つ以上の変形例を生成することによって、いわゆるあいまい探索がサポートされる。この改良では、本方法にかかる索引データ構造が使用されて、さらに考慮されるこのような探索パターン変更例の部分集合を特定したり、選択された変更例についての１つ以上の候補集合または役割に特化した候補集合が得られる。次に、これら集合は、結合後候補集合の決定などの本方法にかかるさらなるステップにおいて、個々にまたはこれら合併集合を構築した後に使用される。
【００７１】
さらに別の改良された本方法では、第１および第２探索パターンは、音声入力装置またはその他サブシステムなどの媒体を介して入力されて、単一の探索クエリの代わりに複数の入力探索パターンからそれぞれ成る多数の探索クエリ変形例を生成してよく、探索クエリ変形例からの探索パターンについて計算された候補集合の濃度や、探索クエリ変形例について計算された結合後候補集合が使用されて、さらなる処理のための探索クエリ変形例の部分集合の選択を導く、または、さらなる処理手順に影響を与える個々の探索クエリ変形例への優先順位の割り当てを導く。したがって、（例えば、音声入力を使用した）（不明確な）入力に相当する可能性がある複数の異なる探索クエリ変形例を考慮することによって、特に、例えば、濃度が一番低い候補集合を生成する探索クエリ変形例を処理するなど、それら探索クエリ変形例から生じる候補集合の濃度を考慮することによって、所望の結果が容易かつ効率的に見つけられる。
【００７２】
さらに別の改良された本方法では、探索パターンは筆跡認識装置またはサブシステムなどの媒体を介して入力されてもよいが、例えば、文字「Ｏ」および「
0005604507.tif 000003
」や数字「０」のように、ある入力文字は入力の際に確実に区別するのが難しいため、本方法に提示された入力探索パターンに記号についての間違った変形例が出現するというリスクがある。本改良では、索引データ構造が生成される前に、このあいまいさが生じる可能性のある記号が特定され、あいまいさは以下のように処理される。確実には区別できない記号の各集合から、１つの代表（例えば、文字「Ｏ」）が選ばれる。これを標準代表と称する。索引作成中および全数探索中に、記号（例えば、文字「
0005604507.tif 000004
」や数字「０」）の他の変形例の出現は全て、標準代表に置き換えられる。言い換えれば、これらは、文字「Ｏ」と「
0005604507.tif 000005
」も数字「０」キーに割り当てられている簡易キーパッド上に存在するかのように処理される。
【００７３】
本方法の別の変形では、索引データ構造内の（計算上低コストである）検索によって得られた１つ以上の候補集合の推定濃度は、１つの入力探索パターンまたは複数の入力探索パターンの表現性の基準（尺度）として使用される。この濃度を使用して、さらなる処理手順に含まれるデータベースセグメントもしくは（内蔵または外部の）データベースの選択、またはさらなる処理手順に影響を与えるこのようなデータベースまたはデータベースセグメントへの優先度の割り当てが制御されてもよい。
【００７４】
さらなる処理（例えば、ナビゲーションアプリケーションでのルート計算のための目的地の選択）のための探索結果のユーザの最終選択が、将来の探索処理に使用するために永続的記憶媒体に登録されてもよい。このように、先に選択された探索結果に対してより大きな優先度が割り当てられ、それら先に選択された探索結果が後の探索の実際の結果リストの首位にまたは首位に近い位置に表示される、自己学習システムが提供される。
【００７５】
さらに別の実施形態では、空間要素の結合後候補集合の全数探索の結果として、入力探索クエリの全ての入力探索パターンと一致する属性を有するオブジェクトのみでなく、１つ以上の入力探索パターンがオブジェクト属性に一致しないオブジェクトも登録される。したがって、いわゆる単語レベルのあいまい一致が行われて、結果として、属性が探索クエリと完全に一致するオブジェクトのみでなく１つまたは複数入力探索パターンに関して一致しないオブジェクトも生成する。
【００７６】
別の変形例では、索引データ構造、および空間要素の関連付けられたコレクションは、索引データ構造を使用して実際に探索されるデータベースから生成されるのではなく、実際に探索されるデータベースのオブジェクトの全てまたは大部分を含む、より大きい上位のデータベースから生成されてもよい。
【００７７】
上記において、本発明にかかる本方法は、ナビゲーション装置で２次元マップが扱われる場合に索引データ構造が有利に使用されるため、４分木の２次元の空間要素（タイル）のコレクションにオブジェクト属性値を関連付ける索引データ構造を中心に記述した。しかし、本方法は、３次元空間に存在するオブジェクトを探索するため、例えば、３次元空間でのナビゲーション装置のために適用されてもよい（例えば、航空宇宙または航空学への適用）。この場合、索引データ構造は、８分木の空間要素のコレクションにオブジェクト属性値を関連付ける。この８分木では、空間要素がそれぞれ直方体に相当し、８つの隣接した直方体が次のレベルの空間要素である１枚の次のレベルの直方体に結合可能である。上述した実施形態と変形例は、このような索引データ構造にも同様に適用される。
【００７８】
可能性として、本方法はより高次元の空間または一次元空間に適用できる。一般的には、このような方法はｋｄ木の空間要素のコレクションにオブジェクト属性値を関連付ける索引データ構造を使用してもよい。ここでｋは任意の自然数（ｋ＝１、２、３、４、５、…）である。
【００７９】
一次元の場合では、索引データ構造は、ｋ＝１とするｋｄ木として解釈される２分木の要素にオブジェクト属性値を関連付ける、つまり、木ノードはそれぞれ一次元の線形空間からの区間（interval）を表す。２つの隣接区間は、次のレベルの木ノードによって表される１つの次のレベルの区間に結合可能である。この場合、区間はそれぞれ一次元空間を分割する空間要素として理解される。
【００８０】
本目的は、上述の方法を実行するよう配置されるナビゲーション装置、または前記方法を実行するよう配置される他のモバイルコンピュータ装置によってさらに実現される。
以下に、本発明の根底にある発想を、図中で示される実施形態を参照しながらさらに説明する。
【図面の簡単な説明】
【００８１】
【図１】索引データ構造による、データベース内のオブジェクトを探索する方法を示すフロー図である。
【図２】トライを形成し、マップを分割するよう定義されたタイルのコレクションにオブジェクト属性値を関連付ける索引データ構造を示す図である。
【図３Ａ】探索パターンを入力するための入力ウィンドウ、およびナビゲーション装置の結果オブジェクトのリストを出力するための出力ウィンドウを示す概略図である。
【図３Ｂ】探索パターンを入力するための入力ウィンドウ、およびナビゲーション装置の結果オブジェクトのリストを出力するための出力ウィンドウを示す概略図である。
【図３Ｃ】探索パターンを入力するための入力ウィンドウ、およびナビゲーション装置の結果オブジェクトのリストを出力するための出力ウィンドウを示す概略図である。
【図４Ａ】探索パターンを入力するための入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および探索パターンを入力するためのナビゲーション装置のキーパッドを示す概略図である。
【図４Ｂ】探索パターンを入力するための入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および探索パターンを入力するためのナビゲーション装置のキーパッドを示す概略図である。
【図４Ｃ】探索パターンを入力するための入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および探索パターンを入力するためのナビゲーション装置のキーパッドを示す概略図である。
【図５Ａ】探索パターンを入力するための第１および第２の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。
【図５Ｂ】探索パターンを入力するための第１および第２の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。
【図５Ｃ】探索パターンを入力するための第１および第２の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。
【図５Ｄ】探索パターンを入力するための第１および第２の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。
【図５Ｅ】探索パターンを入力するための第１および第２の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。
【図５Ｆ】探索パターンを入力するための第１および第２の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。
【図５Ｇ】探索パターンを入力するための第１および第２の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。
【図６】多くのマップタイルに分割されるマップの概略表現を示す図である。
【図７】発見的探索アプローチを使用した、改良された方法のフロー図である。
【図８】複数のデータベースにまたがる探索方法のフロー図である。
【図９】ユーザが音声入力サブシステムを介してクエリを入力する状況において本明細書に記載の本方法を適用する概略図である。
【発明を実施するための形態】
【００８２】
図１は、データベース内のオブジェクト（対象、目的物）を見つけて場所を特定するための本方法の実施形態の概要を示す。本実施形態では、本方法はナビゲーション装置に適用され、オブジェクトは２次元マップの地理オブジェクトを表し、データベースに格納されたデータはディジタル保存された地理的なマップ（正縮尺地図）のデータである。
【００８３】
ナビゲーション装置は、ナビゲーションソフトウェアアプリケーションが実装される、例えば、専用のモバイルナビゲーション装置、または携帯電話、モバイルコンピュータ、携帯情報端末（ＰＤＡ）、モバイルインターネットデバイス（ＭＩＤ）、ポータブルメディアプレイヤ（ＰＭＰ）などのモバイルコンピュータ装置である。
【００８４】
本方法では、いわゆるトライとして実装される索引データ構造を使用してオブジェクトが見つけられ、その位置が特定される。トライ２００を表すこのような索引データ構造の概要図を図２に示す。トライ２００は、名前がオブジェクトの属性として出現するマップタイル（地図タイル）のコレクション（集まり）に地理オブジェクトの名前を関連付ける。ここで、マップタイルは、空間要素を表し、４分木（４分木分割）を使用してナビゲーション装置の地図の階層分割から生じている。４分木分割とは、４枚の隣接するタイルが次のレベルのタイルに結合可能なものである。つまり、４枚の隣接するタイルは、いかなる情報も失わずに、１枚の次のレベルのタイルに同値で置換可能である。ここでは、次のレベルのタイルのエリアは元の４枚の隣接するタイルと同値のエリアをカバー（包含）する。
【００８５】
これは第６図に示されている。マップ５は、マップ５の空間要素をそれぞれ表す複数のマップタイル５１に階層分割される。４枚の隣接するマップタイル５１が、いかなる情報も失わずに、４枚の対応するマップタイル５１に同値で置換わる次のレベルのタイル５２に結合可能である。
【００８６】
マップデータ内のオブジェクトを探索するために、探索クエリ（検索クエリ（search query））がナビゲーション装置の入力ウィンドウ１（図１）に入力される。探索クエリは、テキスト文字列形式で、１つまたは複数の探索パターンから構成される。図１に示す場合では、「ＫＡＰ」および「ＷＡＲ」が探索パターンとして入力されている。ここで、各探索パターン、「ＫＡＰ」および「ＷＡＲ」それぞれで索引データ構造（トライ２００）をクエリ（照会）することによってデータベース内の探索が行われる（ステップ１０１）。個々のクエリから、タイル１０２ａおよび１０２ｂのうちの１つの候補集合が結果として生じる。ここで、各候補集合１０２ａ、１０２ｂは、少なくとも１つのオブジェクトの属性がそれぞれの探索文字列「ＫＡＰ」または「ＷＡＲ」と一致する全てのタイルを含む。ここで一致とは、オブジェクトの属性（例えば、その名前またはその領域属性）が、各探索パターンと、全部またはその接頭部（つまり、開始文字）が一致することを指す。
【００８７】
モバイルナビゲーション装置のような、限られたハードウェアリソースを備えた装置上で上記探索方法を実装して実行可能にするためには、メモリ上効率的に、かつ計算上効率的な集合演算を適用可能にする方法で、多数のタイルの集合を表す必要がある。これについては、４枚の隣接したタイルが１枚の次のレベルのタイルに結合できる４分木の特定構造が使用される。これによって、いかなる情報も失わずにタイル数を減らすことができる。
【００８８】
したがって、得られた候補集合１０２ａ、１０２ｂ内のタイル数が予め定義された数を超過する場合、ステップ１０２では、候補集合１０２ａ、１０２ｂに含まれる一部または全部のタイル（図６のマップタイル５１）を、関連付けられた次のレベルのタイル（図６の次のレベルのタイル５２）に結合することによって、候補集合１０２ａ、１０２ｂは「コンパクト化される」。これによって、候補集合１０２ａ、１０２ｂ内のタイル数を減らすことができる（ステップ１０２は「コンパクト化」とも称す）。ここでは、４枚以下のタイルを１枚の次のレベルのタイルにその都度結合することによって、結合が実現される。厳密に４枚の隣接したタイルが１枚の次のレベルのタイルに結合される場合、次のレベルのタイルによってカバーされたエリアは元のタイルと同値である。４枚未満のタイルが結合される場合、次のレベルのタイルによってカバーされたエリアは、元タイルのエリアを完全に含む上位集合を形成する。このようにして、結合（コンパクト化）は安全となる。なぜなら、得られた次のレベルのタイルによって表されるエリアは元タイルの結合されたエリアよりも、最大では、大きくなるからである。そうすることで、候補集合１０２ａ、１０２ｂに関連付けられたタイルの数が、最大では、多くなる。すなわち、後の探索ステップ（ステップ１０５）では、より多くのタイルが、そこに含まれるオブジェクトについて、全数探索（完全に探索）される。しかし、コンパクト化ではいかなる情報も失われない。つまり、真の候補は削除されない。
【００８９】
ステップ１０２のコンパクト化は候補集合１０２ａおよび１０２ｂ内のタイル数の減少につながる。これによって、候補集合１０２ａおよび１０２ｂを格納するためのメモリ要件が低減される。このようにして、候補集合１０２ａ、１０２ｂ内のタイル数は、予め定義されたしきい値（例えば、５００個）よりも小さな数に常に限定される。
【００９０】
ステップ１０３では、このようして得られた候補集合１０２ａ、１０２ｂから共通部分が構成される。そして、第１の候補集合１０２ａおよび第２の候補集合１０２ｂに含まれており、かつ、その結果として、第１探索パターン「ＫＡＰ」および第２探索パターン「ＷＡＲ」の両方と一致する属性を有するオブジェクトを含むタイルのみを含む結合後候補集合１０４ａが生成される。また、結合後候補集合１０４ａ内のタイル数が予め定義されたしきい値（ステップ１０２のしきい値と異なっていてもよい）を超過する場合、結合後候補集合１０４ａ内のタイルはコンパクト化されてもよい（ステップ１０４）。
【００９１】
探索クエリと一致する属性値を有する全てのオブジェクトを特定するために、タイルの結合後候補集合１０４ａに含まれるタイルが全数探索される（ステップ１０５）。すなわち、タイルが一つずつ調べられ、探索クエリと一致する属性値を有する全てのオブジェクトが抽出される。次に、このような結果オブジェクトが、出力ウィンドウ２を介して出力される。例えば、出力ウィンドウ２に表示される第１オブジェクトは、通りの番地、すなわち、「ＷＡＲｓｔｅｉｎ」の「ＫＡＰｅｌｌｅｎｗｅｇ」である。
【００９２】
この方法で見つかる可能性のある他のオブジェクトは、空港や観光地などの対象地点である。このような関係において参照されるオブジェクトは全て、ナビゲーション装置に含まれるディジタルマップデータ内の特定可能な位置を有しており、このため、マップ内にその位置が特定可能である。
【００９３】
本方法によれば、ナビゲーション装置内に格納されて処理される候補集合が容易に低減される。特に、本方法によって、高速かつ効率的な多重前方一致探索、つまり、特にテキスト文字列である複数の探索パターンを用いて、これら探索パターンをオブジェクト属性の接頭部と比較する探索が可能になる。探索パターンに関連付けられた候補集合を見つけるために、探索パターンの全てのありうる連続文字列（空白を含まずに一連の文字からなる文字列）の単位集合が構成されなければならない。関連付けられた候補集合のトライ構造および特定の永続表現によって、メインメモリのワーク集合に段階的に追加される要素の順次読み取りに、実質的には処理が縮小される。
【００９４】
この処理を図２に示す。ここに示すトライ２００は、ルート２０１、エッジ２０２およびノード２０３を含む。エッジ２０２は、それぞれ、非空文字列（空ではない文字列）に関連付けられ、ルート２０１からノード２０３までのパスのエッジラベルの連結によってラベル付けられるノード２０３を指す。例えば、ルート２０１の左下の第１ノードは、「Ｆ」とラベル付けされ、そのノードの左下のノードは「ＦＥＬＤＫＩＲＣＨ」のようにラベル付けされる。
【００９５】
図２に示すように、トライ２００では、タイルがタイル番号と共にファイル２０４に格納される。トライ２００のノード２０３は、格納されたタイルのコレクション２０５および２０６に関連付けられる。例えば、コレクション２０５は、「ＫＡＭＥＮ」、「ＫＡＭＥＮＥＲ」、「ＫＡＭＥＮＺ」とラベル付けられたノードに関連付けられる。コレクション２０６はノード「ＫＡＲＬＳＲＵＨＥ」に関連付けられる。
【００９６】
トライ２００の形式で索引データ構造を構築すると、一方では、探索パターンを追加することによって、または既存の探索パターンに文字を追加して探索クエリを変更することによって、ユーザが探索クエリを変更したときに、新しい候補集合１０２ａ、１０２ｂ、１０４ａ、および結果オブジェクトの対応リストの効率的な計算が可能となる。この場合に必要なのは、先に得られた結合後候補集合１０４ａおよび新しく得られた候補集合の共通部分を構成するという単一の共通部分演算（図１のステップ１０３）のみである。得られた結合後候補集合１０４ａの濃度は、その都度低減されるか、または少なくとも増加しない。
【００９７】
他方では、トライ２００の構造によって、入力された（または変更された）探索クエリの質をその表現性について高速かつ効率的に推定可能となる。これに関連して、表現性は、探索クエリが探索領域（探索地域）を絞り込むことができる能力を決定する。探索クエリは、それに関連付けられた候補集合が低い（しかし正の）濃度を有する場合に、大きな表現性を有する。ここでは、トライ２００の特定の永続構造（変更されない構造）によって、集合の和を構成せずに濃度は精度良く推定可能となる。これにより、限られたハードウェアリソースを備えたモバイル装置上でもこの処理を使用が可能となる。このように、探索クエリ入力中に、その探索クエリの表現性についての即時のフィードバックがユーザに与えられてもよい。
【００９８】
図３Ａ〜３Ｃは、ナビゲーション装置の入力ウィンドウ１に探索パターンを入力する際の処理を示す。
【００９９】
第１段階では、入力ウィンドウ１に「ｅｉｆ」を入力した後、入力された探索クエリの表現性は低い。これは、この探索クエリに関連付けられたタイルおよびありうる結果オブジェクトが多数存在し、全数探索を妥当な計算量で行なうことができないことを意味する。したがって、出力ウィンドウ２は空である。また、入力ウィンドウの背景色は白（または灰色）である。
【０１００】
ユーザがさらに文字を入力して探索クエリを「ｅｉｆｆ」に変更すると、探索クエリはより表現性を有する。つまり、この探索クエリに関連付けられたタイル数が減少する。推定濃度が第１の予め定義されたしきい値より低くなり妥当な（しかし大きな）計算量で全数探索され得る候補集合が得られたことを示す場合、入力ウィンドウの色が黄色に変化する。推定濃度が、さらに小さい第２の予め定義されたしきい値よりも低くなり全数探索が高速かつ効率的に実行可能であることを示す場合、（図３Ｂで点で示す影１０に示すよう）色は緑色にさらに変化し、得られた候補集合がそこに含まれる全ての結果オブジェクトについて、全数探索される。次に、図３Ｂに示すように、見つけられた結果オブジェクトが出力ウィンドウ２に出力される。
【０１０１】
探索クエリの入力が、探索クエリと一致する属性を有するオブジェクトを含むタイルを生成しない場合、候補集合の濃度はゼロになる。これは、ほとんどの場合、タイプミスに起因し、視覚的、聴覚的、または触覚的なアラームによってユーザに示される。例えば、図３Ｃで示す「ｅｉｆｆｆ」が入力されると、ゼロ濃度を有する空の候補集合が取得され、可能であれば装置の振動といった触覚的アラームを伴って、（図３Ｃでライン影１１に示す）赤い入力ウィンドウの色で瞬時に示される。候補集合が空であるため、結果オブジェクトは出力ウィンドウ２に表示されない。
【０１０２】
出力ウィンドウ２に結果オブジェクトを表示する場合、オブジェクトの表示順序は、ユーザとの確度の高い関連性に従って選ばれる。これについては、ユーザが入力した探索クエリから得られた情報、または地理オブジェクトに関して格納された一般的な関連性情報（例えば、大きな市は小さな市などよりも関連性が高いと考えられる）から得られた情報を用いる、発見的規則（ヒューリスティック規則）が使用されてもよい。
【０１０３】
（１つまたは複数の探索パターンから成る）探索クエリの入力はまた、図４Ａ〜４Ｃに示すように、数値キーパッド（テンキー）３を介して行われてもよい。このテンキーは、例えば、ナビゲーションアプリケーションが実装されているためナビゲーション装置として機能する携帯電話の数値キーパッドである。キーパッドは、一般に知られているように、「０」から「９」、「＊」、「＃」の１２個のキーを備える。キー「＊」は入力ウィンドウ１にスペースを挿入するのに使用され、キー「＃」は入力ウィンドウ１の右端にある（つまり直近に入力された）数字やスペースを削除するのに使用される。いくつかのキーには、さらにアルファベット文字が割り当てられている。例えば、キー「２」（参照符号３１）にはさらに「ＡＢＣ」が記されており、このキーに文字「Ａ」、「Ｂ」、「Ｃ」がさらに割り当てられていることを示す。
【０１０４】
探索クエリを入力する場合、２度以上キーを押す必要はない。例えば、文字「Ｃ」については、キー「２」が一度だけ押されればよい。したがって、ユーザは、キーストロークの複雑な手順を使用する必要なく、あたかもフルキーボードを使用しているかのように、高速かつ容易に探索クエリを入力できる。図４Ａ〜４Ｃの例では、ユーザは、キーパッド３の各キーを順番に押すことによって数字「５４８３７７６」を入力する。各追加数字の入力に伴い、探索クエリは表現性が高くなり、出力ウィンドウ２に表示される結果オブジェクトの出力リストはより短くなる（図４Ｃでは、わずか３つのオブジェクトしか含まない）。
【０１０５】
図４Ａ〜４Ｃに示すように、ディスプレイ（携帯電話の一般的なディスプレイでよい）は、入力探索クエリを、ありうるアルファベットまたは英数字テキスト文字列に数字から変換する追加のウィンドウ１’を含むことができる（例えば、数字「５４８３７７」はおそらく「ＬＩＶＥＲ７」に相当し、「７」は、継続（文字列の最後尾に対する継続）がいまだあいまいであることを示す）。ユーザがより多くの数字を入力して候補集合のサイズおよび（出力ウィンドウ２に示す）一致する結果オブジェクトの数が減少すると、入力ウィンドウ１に入力された数字が、全ての一致する探索結果内の全く同一の文字に一致し始める。この対応は、入力ウィンドウ１下のウィンドウ１’に別個に示されるが、読みやすさを良好にするために、入力ウィンドウ１に直接視覚化されてもよい。
【０１０６】
別の実施形態では、図５Ａ〜５Ｇに示すように、地理エリアが表示されて入力探索クエリに相当するエリアが視覚化されてもよい。図５Ａ〜５Ｇでは、２つの入力ウィンドウ１ａおよび１ｂが存在して表示される。一方の入力ウィンドウ１ａによってユーザは領域（地域）についての探索パターンを入力でき、他方の入力ウィンドウ１ｂによってユーザはオブジェクトについての探索パターンを入力できる。領域入力ウィンドウに探索パターンを入力していくにつれ（図５Ｂ〜５Ｄ）、得られた候補集合の濃度は低くなり、候補集合に含まれるタイルの数は少なくなる。したがって、タイルを全数探索して得られた結果オブジェクトの数は少なくなり、図５Ｄでは領域入力探索パターンについてわずか４つの一致が出力ウィンドウ２に表示されるまでになる。そして、オブジェクト入力ウィンドウ１ｂに探索パターンを入力すると（図５Ｅ〜５Ｇ）、両方の入力探索パターンと一致して見つかった結果オブジェクトが出力ウィンドウ２に表示され、各入力ウィンドウ１ａ、１ｂにより多くの文字を入力するごとに、探索クエリの表現性は大きくなる。
【０１０７】
入力ウィンドウ１ａ、１ｂに探索パターンを入力している間、得られた候補集合のタイルに相当する地理エリアを示すマップセグメント（地図の一部分）４が入力ウィンドウ１ａ、１ｂの隣りに表示される。地理エリアは、例えば、最北、最南、最東、最西のタイルをとり、それらの間に長方形の地理エリアを架け渡す（補充する）ことによって得られる。探索クエリの表現性が高くなればなるほど、対応する地理エリアはさらに絞り込まれ、表示されるマップセグメント４の尺度が大きくなり、その結果、対象領域に近づいて（クロースインして）ズームのような印象をもたらす。
【０１０８】
図５Ａ〜５Ｇの手順は、ユーザが探索クエリ「ＨＡＭＢＵＲＧ  ＲＥＥＰＥＲＢＡＨＮ」の文字を一つずつ入力する状況を示す。これに平行して、マップセグメント４の尺度が段階的にズームされて、ヨーロッパ全体を示すマップセグメント４から始まり「Ｒｅｅｐｅｒｂａｈｎ」という名前の通りが位置するハンブルク市の一部のクロースアップに至る。
【０１０９】
マップセグメント４を表示する速度を改善するために、マップのそれほど重要でない詳細（例えば、森林地帯）は省略されてもよい。
全数探索は計算上高コストである場合があるので、タイルの候補集合で全数探索が行なわれる前に、マップセグメント４の表示がその都度更新されることが有利である。
【０１１０】
上述した一般的な方法の改良を構成する、データベース内のオブジェクトを探索する方法の別の実施形態のフロー図を図７に示す。この改良では、計算速度およびユーザフレンドリの面から本方法の効率をさらに改善するために、多段階（multi-phase）発見的探索アプローチを利用する。これを下記に詳細に説明する。
【０１１１】
この改良ならびに上述した実施形態の目的は、大きなタイルで構成されたマップデータベースからの特定オブジェクトまたは小集合のオブジェクトを標的探索することをサポートすることである。ここで、ユーザ入力は、非体系的な多重前方一致クエリ形式を有しており、対話は段階的で応答性を有する。この機能は、リソースに限りがありネットワークが全く接続されない環境で特に提供される。
【０１１２】
ここで、用語「標的探索」は、検索エンジンで対話を開始するきに、ユーザが、マップデータベース（市、通り、または対象地点など）から特定のオブジェクトまたはオブジェクトの小集合のことを考えているという事実を意味する。このオブジェクトは「ユーザの標的オブジェクト」と称されてもよい。
【０１１３】
上述したように、本方法は、例えば、マップが４分木のタイルに分割されるような（図６参照）、空間が空間要素に分割されるデータベースを使用する。データベースが大きい場合（マップデータベースでは普通のことである）に、全データベースを全数探索することは、リソースが限られた環境においては非実用的な場合があるため、改良された本方法では、リソース制約付き発見的探索アプローチを使用する。この探索戦略を以下に概略的に説明する。
【０１１４】
第１段階（図７の段階１に該当）では、（全数）探索が行なわれることになっている探索空間は、特別な発見的アプローチを使用して縮小される。この発見的アプローチでは、ある複数の発見的候補集合がユーザの所望の結果を含む可能性が高い探索空間の部分集合として選択される。これらの（比較的小さい）発見的候補集合は、サイズが小さい集合から順に全数探索される（最も小さい候補領域が最初に全数探索される）。
【０１１５】
最終段階（以下に詳細に述べられるように、第１段階と最終段階との間にさらに段階があってよい）では、次に、全空間が考慮され、ある全体的な候補集合が、明確に所望の結果を含むに違いない集合として、すなわち、役割が特化した制約のいかなるものも使用せずに、決定される。包括候補集合（catch-all candidate set）とも称されるこの候補集合もまた全数探索される（既に全数探索されたタイルは、役割に特化した複数の発見的候補集合のうちの１つに所属するため、省略する）。
【０１１６】
リソース制約と応答時間制約に適合するために、全数探索段階中にリソース制限に達した場合、探索処理は中止され、アプリケーションはこの状況について通知を受ける。次に、例えば、さらに表現性を高めるためにクエリを拡張するように（例えば、図３を参照して上述した、背景色を付けることを利用して、）ユーザを促してもよい。これにより、今回所望の結果が見つからなかった場合でも、その所望の結果が、次の対話サイクルで有望に見つかるようになる。全体のリソース制限（全数探索で考慮されるマップ特徴の最大値として表現されるものである）は、探索処理の種々の段階に割り当てられた個々の分配分に分割され、それぞれに公平な機会が与えられる。（この分割は専用の発見法に基づく。）
【０１１７】
改良された本方法を、次に、図７を参照して説明する。
図７に示すように、ユーザは、本方法を実行する装置の入力ウィンドウ（フィールド）に、Ｎ個の探索語（探索パターン）を含む探索クエリを入力する（ステップ３０１）。次に、ステップ３０２では、入力中またはその直後に、この入力された探索クエリの異なる解釈変形例が生成され、さらなる探索処理のために整列される。これらの解釈変形例（単に「解釈」とも称す）は、いわゆる役割に特化した発見的候補集合を計算するために使用されて、探索空間が低減される。
【０１１８】
役割に特化した発見的候補集合の計算の出発点は次の観測で始まる。ユーザが特定の標的オブジェクトの標的探索を行うことを意図してある探索クエリを入力する場合、これは、ユーザの見解では、原則として、この探索クエリのみに基づく標的オブジェクトを一意に特定できるはずである、ということを意味し、これが（とはいえ、常にではなく）実際に当てはまることが多い。
【０１１９】
では、たとえユーザが通常、詳細かつ明示的にこれに関して考えなくても、ユーザは、尋ねられると、通常、標的オブジェクトを明白に特定するように、いかにこの探索クエリが解釈され得るかを説明できるだろう。したがって、本方法システムでは、「ただ」この解釈を「推測」できればよい。
【０１２０】
したがって、マップ探索に関係する多重接頭部テキストクエリのいずれの態様が、極めて短いクエリの使用においても標的オブジェクトの特定を可能にするかが調べられ、正しい解釈のみが使用された場合に、この「正しい解釈」はいかに特徴付けられ得るのかについて調べられる。これについては、探索クエリの個々の入力探索パターンはある役割としてみなされると考えることができる。これら役割は、探索クエリがいかに「意味されるか」、または、「解釈されるべきであるか」の説明に関係する。さらに、役割は、探索パターンに関して役割に特化した発見的候補集合を生成することによって、探索空間の大幅な減少も可能にする場合がある。この役割に特化した発見的候補集合は、役割制約のない同一探索パターンの候補集合よりも極めて小さくてもよい。
【０１２１】
このように小さくすることは、個々の探索パターンの役割に特化した発見的候補集合の共通部分として計算される結合後候補集合のレベルにおいてさらに有効である。各（または少なくとも大部分の）オペランド（演算子）が役割制約のおかげで極めて小さくなる場合、共通部分での減少効果は増大する。この集合サイズの減少は、役割制約のない候補集合を使用した非制約の場合と比較して、結合後発見的候補集合が空である可能性を高めるかもしれない。
【０１２２】
「探索パターンは領域名に出現する。」または、「探索パターンはオブジェクト名の最初の単語である。」などと、探索クエリにおける各探索パターンの役割を想定することによって、様々な探索クエリ解釈変形例が得られる。当然、探索クエリにより多くの探索パターンが含まれると、このような想定のありうる組合せは、より多く存在することになる。
【０１２３】
例えば、入力探索クエリ「ＢＥＲ  ＨＵＳ」は、第１の解釈で、領域とオブジェクト名をそれぞれ示す２つの入力探索パターン「ＢＥＲ」および「ＨＵＳ」を含むと解釈されてもよい。別の有意味な解釈は、入力探索パターンがまさにその順序でオブジェクト名に出現するということでもよい。複数のその他解釈が存在して考慮されてよい。
【０１２４】
メイン探索処理が始まる前に、ステップ３０２では、最も具体的な解釈が最初に来るように、組合せ的に全て有意な非空探索クエリ解釈が列挙されて整列される。（役割に特化した発見的候補集合のほとんどは極めて小さくなる）。
【０１２５】
全データベースを全数探索することは通常不可能なので、これらの解釈は、利用される発見的探索処理を導くために、後に使用される。各解釈は、効率的に計算可能な役割に特化した発見的候補集合の共通部分として定義された発見的候補集合を生成する。これによって、この解釈変形例がユーザの意図を正確に反映する場合に、標的オブジェクトを含むに違いない探索空間の小部分への探索が可能になる。一致するデータベースオブジェクトを実際に特定するために、この小部分は後の全数探索の対象になる。
【０１２６】
次の探索パターン役割を使用して、例えば、ステップ３０２で探索クエリ解釈を生成する。
Ａ．属性カテゴリ
データベース属性は、あるカテゴリに属すると特徴付けられることが多い。例えば、マップデータベースでは、オブジェクトは１つの名前属性、およびいくつかの領域に関連する属性を有する（オブジェクトが位置している都市名、領域名および国名を格納する）。このように、探索空間の低減は、ある属性カテゴリを各探索パターンは参照するものとみなすことによって、実現される。次に、ある解釈は、例えば、「第１単語は名前属性を参照するものとして解釈され、第２単語は領域属性を参照するものとして解釈される」、など、ユーザ指定の各探索パターンへのカテゴリの割当てによって、（他の解釈から）特徴付けられる。このような組合せ可能なカテゴリ割当ての多くの組合せ中から、本方法は、さらなる処理のための、実用的なクエリに出現する可能性が高い組合せの部分集合をさらに選択してもよい。最後に、探索パターンが特別なカテゴリを参照することが制約されない場合、解釈変形例が考慮される。
【０１２７】
Ｂ．単語順序制約あり／なしでの一致
次の２つの解釈変形例が考慮される。第１に、より具体的な解釈では、第１探索パターンは、一致させられるオブジェクトの名前の第１単語と一致しなければならず、残りの探索パターンは、オブジェクト名内の（第１位置に存在しない）その他の単語と一致しなければならない。言い換えれば、探索クエリの第１探索パターンは「第１単語役割」に存在すると考えられ、その他のクエリ単語は、「非第１単語役割」に存在すると考えられる。第２に、より全体的な解釈では、探索語はそれぞれ、それらの位置にかかわらず、オブジェクト名のいずれかの単語と一致すればよい。
【０１２８】
Ｃ．単語数制約あり／なしでの一致
次の２つの解釈変形例が考慮される。第１に、より具体的な解釈では、オブジェクト名は探索クエリに由来する単語数を有する必要がある。言い換えれば、各探索パターンには「ｋ単語役割」が割り当てられる。ｋは、探索クエリに由来した数である。第２に、より全体的な解釈では、探索パターンの数は、見つけられるオブジェクト名の特定の単語数を意味するものではないとは考えられる。
【０１２９】
Ｄ．完全／接頭部の一致
探索パターンはそれぞれ接頭部（探索パターンは、特別な探索パターンで始まるオブジェクト属性と一致する）、または完全な（厳密に一致する）テンプレート（オブジェクト属性内で完全に同一探索パターンのみが一致する）として解釈できる。この役割が全ての探索パターンに別々に（かつ、その他の役割とは別に）割り当てられることができ、解釈の組合せ増大は避けられるべきであるため、本方法は、これら変形例のうち選択された部分集合のみを考慮するように選んでもよい。
【０１３０】
対応する、役割に特化した発見的候補集合が、実際に生成されて後に全数走査される前に、解釈変形例は抽象的な記号記述子の形式で先ず列挙されてもよい。
異なるクエリ解釈から生成される発見的集合のサイズは、より一般的またはより具体的な役割が解釈において使用される範囲に、強く関連付けられる。大きな候補集合の前に小さな候補集合を計算して走査するために、割り当てられた役割が考慮されて記述子が評価される。次に、候補集合は、対応する発見的候補集合の（予測される）サイズの昇順に（サイズが小さい方から順に）再度整列される。
【０１３１】
図７のステップ３０２の完了後、入力された探索クエリの異なる解釈変形例が手元にあり、次のステップでさらに処理され、具体的解釈についての発見的候補集合が計算される。
【０１３２】
ステップ３０３では、最初に、上記順序に従って最も具体的であると予測される解釈がとられる。ステップ３０４では、この解釈について、（メイン）索引データ構造または（例えば、オブジェクトの領域属性のみを参照する）補助の索引データ構造が検索され、次に、（考慮された解釈内で特定の役割が割り当てられる）各探索パターンについて、役割に特化した発見的候補集合が決定される。また、異なる探索パターンの役割に特化した発見的候補集合同士の共通部分を求めることによって、結合された発見的候補集合が得られる（ステップ３０５）。最も具体的な解釈に対して、この発見的候補集合はおそらく小さいため（この解釈が最も具体的な解釈であると予測されるため、全体の中で最小であるとは言えないまでも）、少なくともリソース制限に達するまで、この発見的候補集合のタイルを全数探索できる（ステップ３０６）。次に、この結果はランク付けられて適切な表示ウィンドウに表示される（ステップ３０７および３０８）。
【０１３３】
これは、全ての考慮される解釈について繰り返され、最終段階（図７の右）では、いわゆる包括解釈が想定される（ステップ３０９）。この包括解釈では、特別な探索パターンが特別な役割を有するという仮定のもと、探索クエリが制約されない。すなわち、最終段階では、全探索空間が考慮され、全ての（メイン）索引データ構造（トライ、図２参照）の検索によって、（非制約）候補集合が入力探索パターンごとに得られ、候補集合の共通部分を求めることによって結合された候補集合が導き出される（ステップ３１０および３１１）。リソース制限に達するまでこの結合された候補集合も全数探索され（ステップ３１２）、その結果はランク付けられて、先に得られた結果に統合され（ステップ３０７）、表示される（ステップ３０８）。
これらステップのうちのいくつかを以下に詳述する。
【０１３４】
＜発見的候補集合計算（ステップ３０４、３０５）＞
本方法では、全ての候補領域はタイル集合の形式（この形式は、コンパクト化されることもある）で表現される。このようにデータ構造を設計することで、適度で一定の量のメモリを利用しながら極めて効率的なメンバシップテスト、包含（inclusion）、和（union）および積（共通部分）の演算が可能になる。
【０１３５】
探索クエリの複数の異なる解釈から上記一連の候補集合を計算するために、予め計算され役割に特化した、永続的な発見的候補集合を参照する、永続索引が使用される。
この点では、入力探索パターンの異なる「役割」は対応する発見的候補集合を決定するために異なる扱いをされてもよい。
【０１３６】
例えば、探索パターンに「領域カテゴリ役割」が割り当てられた場合の、役割に特化した候補集合を計算するために、補助の索引データ構造を使用してもよい。この補助の索引データ構造は、例えば、タイルの集合に探索語を関連付ける。このタイルの集合において、探索語と一致する領域属性を有するオブジェクトが出現する。この補助の索引データ構造は「領域索引」とも称され、他の索引データ構造のように実際の探索方法の実行に先立って予め計算される。領域索引は図２に示された索引に形と構築において類似するが、オブジェクトの領域属性だけをタイルの対応するコレクション（集まり）に関連付ける（オブジェクトは、一般には、いくつかの属性、例えば、その名前およびその地域、によって記述される）。
【０１３７】
領域索引が領域属性をタイルのコレクション（集合）に関連付けるのみであるため、結果として生じる候補集合と同様に領域索引も、（メイン）索引データ構造、および（メイン）索引データ構造の手順を踏むことで得られる候補集合よりもサイズが小さい。
入力探索パターンが領域名（オブジェクトの属性である領域）を指すものと解釈される場合、領域索引が使用されて進められ、対応する、役割に特化した発見的候補集合が読出される。例えば、入力探索パターン「ＢＥＲ」が領域属性を指していると解釈される場合、タイルのいずれのコレクションがこの特定の探索パターンに相当するかが領域索引によって決定される。このため、所望の、役割に特化した発見的候補集合が決定される。領域属性がわずか１つのオブジェクト属性であるので、得られた、役割に特化した候補集合は、（メイン）索引データ構造を使用して任意のオブジェクト属性に入力探索パターンを一致させることによって得られたであろう候補集合と比較して小さい。
【０１３８】
補助の索引データ構造を利用する代わりに、またはこのような補助の索引データ構造を使用することに加えて、（メイン）索引データ構造を拡張して、役割に特化した発見的候補集合を決定することも可能である。この拡張のために、専用の追加ブランチが、木形の索引データ構造に追加されてもよい。この場合、例えば、第１単語として、考慮された入力探索パターンを有するオブジェクト名に相当するタイルのコレクションが、（メイン）索引データ構造に追加的に予め格納されてもよい。例えば、入力探索パターン「ＢＥＲ」がオブジェクトの名前内の最初の単語（「第１単語役割」）であると解釈される場合、名前に第１単語として「ＢＥＲ」を有するオブジェクトを含むタイルのみが、この入力探索パターンに関連付けられる。
【０１３９】
表現性が低い探索パターンについては、候補集合（特に役割非制約の場合に）はサイズが大きくて計算に時間がかかる。これは次の２つの理由による。永続タイル集合から多数のタイルが読まれなければならないことと、この後の、近似タイル集合データ構造に対するインメモリ集約（in-memory aggregation）の間に、コンパクト化が頻繁に実行されなければならないこととである。
【０１４０】
しかし、索引には、むしろ少数（西ヨーロッパマップデータベースの例において数千）の接頭部しか存在せず、これらは表現性が低いため、この問題が生じる。
したがって、個別で専用の永続「バルク」索引および集合結合が使用されてもよい。この「バルク」索引は、これらの問題の場合について、予めコンパクト化されて効率的にロード可能な集合を提供する。集合検索では、最初に、バルク索引内のエントリを見つけようとし、これが失敗した場合のみ、通常の索引および関連付けられた永続タイル集合が使用される。
【０１４１】
個々の、役割に特化した発見的候補集合の実際の計算は、相当する解釈変形例の象徴的表現に基づく。変形例に応じて、異なる（メインおよび補助の）索引がアクセスされて永続集合表現から特定の成分集合が取り出される。次に、永続集合表現がメモリにロードされて結合され、実際の発見的候補集合が得られる（共通部分が求められる）。
【０１４２】
実用的な探索セッションでは、結合された候補集合の計算に必要な候補集合の広範な共有が、２度以上必要とされる。したがって、計算された候補集合についてのキャッシュ機能によって、これらの集合を再計算する計算量がほとんどの場合に節減されていることを確認すること。
【０１４３】
＜全数探索および文字列探索（ステップ３０６）＞
候補集合が計算されると（かつ非空である場合）、すぐに全数探索される（すなわち、特別な解釈についてのステップ３０６および非制約な場合についてのステップ３１２において）。文字列一致は、各探索パターンが何らかのデータベースオブジェクト属性と一文字ずつ一致しなければならない通常の「完全モード」、またはある「許容された偏差」が探索パターンとオブジェクト属性との間に存在する場合でも一致が登録される、「近似モード」で起こり得る。このような許容された偏差についてのいくつかの例は次のとおりである（一般性の制限なし）。
・オブジェクト属性が元の発音区別文字（例えば、「
0005604507.tif 000006
」）を含む場合も、探索パターン内で発音区別文字の「ベース文字」（例えば、「ｏ」）を使用する。
・データベース属性が元の特殊文字（例えば、「
0005604507.tif 000007
」）を含む場合も、探索パターン内で特殊文字の音訳（例えば、「ｓｓ」）を使用する。
・実際のデータベース属性（ＥＩＦＥＬＴＯＷＥＲ）の代わりに、タイプミスではあるが元の探索パターンの認識可能な変形例（例えば、ＥＩＦＥＬ  ＴＯＷＥＲ）を使用する。
リソース志向的限界に達するか、または十分な一致が見つかるとすぐに、つまり、一致数について、アプリケーションに特化した限界に達するとすぐに、全数探索処理の全体が停止する。
【０１４４】
候補集合（または役割に特化した発見的候補集合も）を既に計算している間に、このような不完全一致をサポートするために、本方法は、データベースオブジェクトの属性に出現する元の単語のみでなく、上述したこれら単語の変形例も含む、「豊富な」予め計算された索引データ構造を使用してもよい。スペルミスであるが認識可能な探索パターンで示された場合に、索引に存在する１つ以上の類似単語を最初に特定することによって索引データ構造からデータベースオブジェクト属性に出現する元の単語を取り出して、次に、タイルの正しく関連付けられたコレクションを取り出す、という技術も本方法は使用してもよい。本方法は、また、これら２つのアプローチの組合せを使用してもよい。
【０１４５】
＜結果のランク付け（ステップ３０７）＞
ユーザは、結果リストに標的オブジェクトを見出すことを欲するだけでなく、標的オブジェクトが結果リストの首位近くに存在することを期待する。これを実現するために、各結果の関連性は、様々な指標（文字通り、信号と称されることもある）を使って評価される。各指標は数値であり、評価された結果のデータベースオブジェクトの何らかの特性がこのオブジェクトをユーザに関連あるものにするものであるか、またはどの程度関連あるかを表す。これらの特性および関連付けられた指標は、以下のように各カテゴリに分類される。
【０１４６】
〔意味論的（セマンティック）データベース固有の特性〕
あるデータベースオブジェクトは、他のデータベースオブジェクトよりも、平均的ユーザに関連している可能性が高い。この分類の指標は、データベースの内容に関する意味論的知識を使用して、データベースオブジェクト自体のみを評価する。例えば、大きな市または通りは、小さい市または通りよりも重要であるとランク付けられてもよい。
〔クエリ一致特性〕
この分類の指標は、意味論的知識を使用せずに、辞書および構文を基準として作用する。代わりに、クエリがいかにデータベースオブジェクトに一致するかの詳細を評価する。例えば、完全一致は不完全一致よりも重要であるとランク付けられてもよい。
【０１４７】
最後のランク付けは、全指標の組合せに重み付けしたものである。本方法は、ユーザに結果リストを提示する前に、このランク付けによって暗示された順序を直接使用するか、または追加の再順序付け技術（例えば、ある共通の特色に従ったクラスタリング結果）を適用してもよい。
【０１４８】
続いて、本方法の更なる改良において使用されてもよい、いくつかのさらなる概念を記述する。
＜さらなる概念＞
〔多数のデータベースにまたがる探索〕
ユーザが探索したい全データが同一のデータベース内に保持可能とは限らないことが多い。この場合、探索処理は、いくつかの別々の探索処理を使用することによって拡張されるが、その結果は同一のランク付け方法を使用して一つの結果格納先に統合される。個々の探索処理は、上述の処理もしくは全く異なる処理、または外部の探索処理のいずれかであってもよい。この処理の結果は、共通のランク付け段階によって処理できるようになっている。
【０１４９】
この処理を第８図に示す。図８において、縦長のボックスによって示された個々の探索処理の特定の順序は、暗示されてはいない。
図８の例では、Ｎ個の入力探索パターンを含む探索クエリが入力される（ステップ４０１）。ステップ４０２〜４０５では、入力された探索クエリに基づいて、複数の異なるデータベース内の探索が行なわれる。ステップ４０２は、例えば、上述したタイプの探索方法を使用したデータベース内の探索に相当してもよい。ステップ４０３は、異なるデータベース内の探索ではあるが、類似の探索方法を使用した探索に相当してもよい。ステップ４０４および４０５は、異なるデータベース内の探索であり、完全に異なる探索方法を使用した探索に相当してもよい。
【０１５０】
ステップ４０６および４０７では、外部探索処理の結果は、ステップ４０２および４０３の結果に（例えば、フォーマットに）互換性をもつようになっている。これにより、探索結果は、ステップ４０８においてランク付け、登録および統合が行われ、ステップ４０９において共に表示される。
探索処理（ステップ４０２〜４０５）は、並列に、または順々に実行される。処理順序はアプリケーションに適応可能である。
【０１５１】
〔ソースデータベースのクエリ表現性誘導選択〕
ユーザ入力の初期において、（部分的、不完全な）探索クエリは、表現性が低いため、大きなデータベース探索空間を有意味に縮小するには不十分である。この状況で実際の一致を列挙することは可能であるが、ユーザにはむしろ無秩序で役立たないものに思われる。クエリの表現性は、クエリが適用されるデータベースのサイズに関係するので、これは、この状況では、データベース（データベースのセグメント）の、より小さく、選択された部分のみを考慮することによって緩和され、または、多重データベース探索の場合には、利用可能なソースデータベースの部分集合のみを考慮することよって緩和される。
【０１５２】
一部のデフォルトデータベースソース（またはセグメント）を除いて、（各利用可能なソースデータベース、またはほぼ代表として選択された、あるソースデータベースに関して考慮された）クエリの表現性が、あるしきい値を越える場合、各利用可能なソースデータベース（またはデータベースセグメント）は探索処理に含まれるのみである。ナビゲーションアプリケーションでは、探索処理は、クエリの表現性が、あるしきい値未満である場合、例えば、次のソースで作用することができる。
【０１５３】
・重要な市および空港のみを考慮したマップデータベースセグメント
・ユーザお気に入りの目的地リスト
・あるマップオブジェクトの略語（例えば、公的機関が車両ナンバープレートで使用するコードで略した市）についての補足データベース
ここでは、探索クエリの文字列長自体ではなく、探索文字列の表現性を使用して、データベースソースまたはセグメントの探索処理における包含（inclusion）について決定する。表現性は、クエリ長に厳密に相関しない。ＢＡＨＮＨＯＦＳＴＲＡＳＳＥのようなかなり長いクエリは、この名前の通りが何千もの市に存在する場合は表現性が比較的低いが、データベース内にほとんど出現しないＸＹＺのような短いクエリは表現性が高い。ここで記述した本方法によって、（一般的な）候補集合のサイズと逆相関している所与の探索語の表現性の推定を効率的に得ることができる。
【０１５４】
〔頻繁に選択されるお気に入り結果の自己学習型高速探索〕
ナビゲーションアプリケーションでは、例えばユーザが頻繁に訪れる目的地に相当する、ユーザが比較的頻繁に探索するデータベースオブジェクトが存在する場合がある。このようなオブジェクトを取り出すための対話を短くするために、以下の方法が使用される。
【０１５５】
ユーザが結果リストからオブジェクトを選択し、アプリケーションのさらなる処理（例えば、ナビゲーションアプリケーションにおける目的地の選択やルート計算の開始）にこのオブジェクトを渡すごとに、選択されたオブジェクトは、お気に入り結果の永続的に格納されたリストに登録される。このリストはユーザ単位で格納される。周辺システムやアプリケーションが複数ユーザをサポートする場合、複数の永続リストが存在することになる。リストは、データベースオブジェクトの参照、および（探索結果リスト内で一般に使用されるような）標的オブジェクトを一意に特徴付ける結果属性のいずれかを格納できる。
【０１５６】
次に、お気に入りリストは、外部データベースとして一般化された探索処理に統合され、上述した表現性誘導（表現性に基づいて誘導される）データベースソース選択処理によってクエリ入力の最初の段階から含まれる。
【０１５７】
〔単語レベルのあいまい探索および連想探索〕
上述した探索空間縮小技法は、タイル集合レベルで作用する。これは、クエリ内の探索パターンごとに、このパターンに一致する（かつ、この候補集合を生成した解釈に対して特化した役割において一致する）あるオブジェクトを含むと候補集合が保証されることを意味する。しかし、全ての入力探索パターンと同時に一致する１つの単一オブジェクトが存在するという保証はない。実際の一致は全数探索および文字列一致段階で特定され、極めて多くの場合、この段階において遭遇したオブジェクトは、入力探索パターンのうちのいくつかのみに一致する。
【０１５８】
これらの不完全一致を無視する代わりに、以下のように処理してもよい。
・いくつかの追加必要条件（例えば、オブジェクトの名前属性と一致するものが少なくとも１つ存在しなければならない）が満たされる場合、一定の数の不一致単語が受入可能であると見なされる、
・不完全一致には、その不完全の程度（つまり、一致しなかった探索語の数）を結果リストに付ける、
・この程度は、結果のランク付けにおいて、不完全一致が、見つかった完全一致を「押しのける（不完全一致が完全一致よりも高いランクとなる）」ことがないように、考慮される、および／または、
・不完全一致は、ユーザが直ちに認識して完全でないことを知ることができるように、結果リストを示す際に、特に印付けされる。
【０１５９】
この技法は、以下のような基礎的な連想探索機能を提供する。ユーザが、個々のデータベースオブジェクトと完全一致しない組合せではあるが、同一マップタイル内にある２つのオブジェクトを指す、２つの探索パターンを例として入力し、かつ、この組合せがマップタイルのうちの１つまたは小さい集合に出現するのみである場合、探索空間縮小の段階において計算された候補集合のうちの１つがこのタイルを含むであろう、また、単語レベルのあいまい一致は、指されたオブジェクトの両方を特定して単語レベルのあいまい結果としてこれらオブジェクトを登録するであろう。
これによって、例えば、クエリ「ＮＥＵＥ  ＯＳＴＫＲ」が、通り「ＮＥＵＥ  ＢＡＨＮＨＯＦＳＴＲＡＳＳＥ」を取り出すことが可能になる。このオブジェクトは、入力探索パターン「ＯＳＴＫＲ」とは一致しないが、ドイツのベルリンのＯＳＴＫＲＥＵＺ駅と同一の（したがって近い）タイル内にある。
【０１６０】
更なる改良では、本方法は隣接するタイルを含めることによって、結合された候補集合を計算する前に個々の候補集合を修正する。これによって、連想探索は、同一タイル内には位置しないが２枚の隣接タイル内に位置するオブジェクトの組合せを見つけることが可能になる。
【０１６１】
〔代替入力方式〕
探索機能と一緒に音声入力または手書き文字認識のような入力方式を使用すれば、異なるアプリケーションにおいて魅力的になる。このような入力方式および関連付けられたソフトウェアは、通常、ユーザの発話のテキスト形式での表現を生成し、このテキスト表現は本明細書に記載のテキスト探索方法で使用される。
【０１６２】
本明細書に記載の本方法を用いれば、集合計算を使用することは、このような入力方式との統合についての追加の方法をもたらす。これらの方法は、通常、確率的手法に基づくので、単一の出力テキストのみでなくランク付けられた変形例リストも生成することが多い。
【０１６３】
例えば、図９に示すように、ユーザは、システムが、最も高いランク付け結果として、「
0005604507.tif 000008
」（スロット１）および「Ｂｒｅｍｅｒｈａｖｅｎ」（スロット２）と解釈する、２つの単語を音声入力によって入力する。ここで、単語にはいわゆるスロットがそれぞれ割り当てられる。この場合、ユーザの音声入力を明白に特定することは不可能であったため、２位にランク付けされた結果は、「
0005604507.tif 000009
」（スロット１）および「
0005604507.tif 000010
」（スロット２）である。音声入力システムが決定した確率は、スロット１における結果については０．７と０．３で、スロット２における結果については０．６と０．４で示される。
【０１６４】
各スロットで最良にランク付けられた結果が実際のユーザ発話を表すとは保証されないため、異なるスロットからの結果の任意の組合せも実際の発話された探索クエリを表現する。
【０１６５】
図９に示すように、本明細書に記載の本方法において利用された候補集合計算は、ありうる組合せの多くを容易に除外できる。１組のスロットについて（明確な）候補集合の共通部分を求めること（点矢印によって示す）は、空集合を生成する場合がある。したがって、探索パターンのこの組合せと一致するものがデータベース内に存在しない。これは、候補集合を計算して共通部分を求めることだけで、スロットのありうる組合せの半分が排除されることを意味する。この２つの非空の結合された候補集合は、異なる質の２つの一致を含む。「
0005604507.tif 000011
」は完全一致（図９中に実線の矢印で示す）である。「
0005604507.tif 000012
」は、図９に破線の矢印で示す接頭部一致（ＢＲＥＭＥＲＨＡＶＥＮＥＲ  ＳＴＲＡＳＳＥ）を生成するだけである。ユーザが接頭部ではなく完全な単語を常に発声すると予測できる場合、「完全な」役割を使用した、役割に特化した候補集合を使用して、集合計算を行うことができる。この場合には、組合せ「
0005604507.tif 000013
」もまた、空の結合後候補集合を生成する。つまり、全ての正しくない組合せは集合計算において排除されている。
この場合、一般に、極めて低い計算コストで、スロット組合せのエントリの相当数の組合せをさらなる考慮から容易に排除できる。
【０１６６】
〔スーパー索引の使用〕
本明細書に記載の探索方法は、メディアプレイヤおよびセットトップボックスのアプリケーションにも使用できる。なぜなら、本探索方法を使用して索引付けられたメタデータを有するメディアデータの大きなコレクションに探索ベースで容易にアクセスできるからである。メディアデータには自然な幾何学的な埋め込みがないため、人工のタイル番号が割り当てられる。
【０１６７】
メディアプレイヤおよびセットトップボックス用のリモートコントロールは、極めて制限されたキーボードを有することが多く、そのため、前述した簡易キーボードを使用する技法は有利である。
【０１６８】
おそらく、これに関連する改良では、メディアプレイヤ装置に移動する必要のある一部または全てのメタデータ情報は、中央データベースから取り出される。これは、例えば、発表されてグローバルデータベースに（ほとんどの場合）登録されているコンパクトディスクにそのほとんどがなんらかの形で由来する音楽ファイルに関して行われてもよい。したがって、グローバルデータベースからスーパー索引を構築し、装置に実際にインストールされたメディアファイルの小さい部分集合の探索に、このスーパー索引を使用することができる。必要条件として、所与のタイル番号に関連付けられたファイルに容易にアクセスできるように、ローカルにインストールされたファイルが登録されていなければならない。これは、単純なトライ形の索引構造にローカルにインストールされたファイルをソートすることによって行われてもよい。人工のタイル番号を計算した後に、スーパー索引を使用して、メディアファイルを見つけることができる可能性が調べられる。メディアファイルのメタデータから構築された探索クエリは、人工のタイル番号を含む候補集合を生成しなければならない。生成しないと、グローバルデータベースはメディアファイルを把握できない。このような場合は、小さい補助データベースが装置上に保持され、探索処理に統合される。
【０１６９】
本発明は上述した実施形態に制限されない。例えば、本発明は２次元平面でのナビゲートを実現することに限定されず、航空宇宙または航空学への適用に認知可能なものとして、４分木ではなく８分木によって分割される３次元空間にも適用可能であり、または一次元探策空間（例えば、ｅブック内のページ）に適用されてもよい。
【０１７０】
メディアプレイヤの場合について既に記述したように、本方法は、元のデータを埋め込んだ人工の空間を作成すること、つまり、各データオブジェクトにｋ次元空間の合成位置を割り当てることによって、元のデータベースオブジェクトが空間的基準を全く有さないアプリケーションで使用されてもよい。
【０１７１】
本方法は、ネットワークに繋がれているか、または接続している場合においても適用されてもよい。このような場合、クエリ入力、結果表現および探索処理の実行が、同一のコンピュータ装置上で必ずしも行われる必要はないが、ネットワークおよび／または他の双方向もしくは一方向の通信リンクを介して接続される複数のコンピュータ装置にわたって行われてもよい。一例は、インターネットベースのアプリケーションである。この場合、ユーザが、ウェブブラウザに表示されたウェブページに示される入力フィールドに、探索クエリを入力する。次に、クエリは本方法が実行されるサーバに伝達され、結果がネットワーク越しに伝達されて前記ウェブページの動的部分に表示される。別の例は、赤外線通信リンクを使用したリモートコントロールを有するメディアセンター装置である。ここでは、メディアセンター装置上で本方法が実行されて、メディアファイルまたはチャンネルに付けられた名前およびテキスト形式の記述を求めた探索が可能になる。ユーザは、リモートコントロール上のキーパッドを使用して探索クエリを入力し、メディアセンター装置に付けられたテレビ受像機を使用して結果がユーザに表示される。
【符号の説明】
【０１７２】
１、１ａ、１ｂ      入力ウィンドウ
１’                ウィンドウ
１０、１１          影
２                  出力ウィンドウ
３                  キーパッド
３１                キー
４                  マップセグメント
５                  マップ
５１                マップタイル
５２                次のレベルのタイル
１０１〜１０５      ステップ
１０２ａ、１０２ｂ  候補集合
１０４ａ            結合後候補集合（結合された候補集合）
２００              トライ
２０１              ルート
２０２              エッジ
２０３              ノード
２０４              タイル番号付きファイル
２０５              空間要素のコレクション
２０６              空間要素のコレクション
３０１〜３１２      ステップ
４０１〜４０９      ステップ
【図１】
0005604507.tif 000014
【図２】
0005604507.tif 000015
【図３Ａ】
0005604507.tif 000016
【図３Ｂ】
0005604507.tif 000017
【図３Ｃ】
0005604507.tif 000018
【図４Ａ】
0005604507.tif 000019
【図４Ｂ】
0005604507.tif 000020
【図４Ｃ】
0005604507.tif 000021
【図５Ａ】
0005604507.tif 000022
【図５Ｂ】
0005604507.tif 000023
【図５Ｃ】
0005604507.tif 000024
【図５Ｄ】
0005604507.tif 000025
【図５Ｅ】
0005604507.tif 000026
【図５Ｆ】
0005604507.tif 000027
【図５Ｇ】
0005604507.tif 000028
【図６】
0005604507.tif 000029
【図７】
0005604507.tif 000030
【図８】
0005604507.tif 000031
【図９】
0005604507.tif 000032