JP5604507B2 - データベース内のオブジェクトを探索する方法 - Google Patents

データベース内のオブジェクトを探索する方法 Download PDF

Info

Publication number
JP5604507B2
JP5604507B2 JP2012505186A JP2012505186A JP5604507B2 JP 5604507 B2 JP5604507 B2 JP 5604507B2 JP 2012505186 A JP2012505186 A JP 2012505186A JP 2012505186 A JP2012505186 A JP 2012505186A JP 5604507 B2 JP5604507 B2 JP 5604507B2
Authority
JP
Japan
Prior art keywords
search
candidate set
input
search pattern
data structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012505186A
Other languages
English (en)
Other versions
JP2012524313A (ja
JP2012524313A5 (ja
Inventor
シュラム・アンドレアス
アーンスト・ティロ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of JP2012524313A publication Critical patent/JP2012524313A/ja
Publication of JP2012524313A5 publication Critical patent/JP2012524313A5/ja
Application granted granted Critical
Publication of JP5604507B2 publication Critical patent/JP5604507B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3611Destination input or retrieval using character input or menus, e.g. menus of POIs
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Description

本発明はデータベース内のオブジェクト(対象)を探索するための方法に関する。
本発明は、特に、モバイル(ナビゲーション)装置上のマップ探索に関する。GPSベースのモバイルナビゲーションシステムは最近よく普及しており、特に、いわゆるパーソナルナビゲーション装置(PND)や携帯電話、特にスマートフォン上のソフトウェアナビゲーションアプリケーションとして、ますます普及してきている。以下、これらを全体として「ナビゲーション装置」と称する。
スマートフォンセグメント内のネットワーク接続型ナビゲーションソリューション(いわゆるネットワーク接続型ナビゲーション、例えば、インターネットベースのマップサービス用モバイルクライアント)は、ますます大きな役割を担いつつあるが、大多数のナビゲーションソリューションは(永続的または頻繁な)ネットワーク接続を必要とせず自立して動作(いわゆるオフラインナビゲーション)するように設計されている。これは、一方で、ネットワーク接続が高コストであるため、他方では、国の(田舎の)地域においてはネットワーク適用範囲が限られていたり、異なる国にごとに異なるネットワーク設定がなされたりしているため、ネットワーク接続が、特に旅行中、必ずしも利用可能とは限らないため、有利である。
自立型モバイルナビゲーション装置は、フラッシュメモリカード(例えば、SDカード)のようなデータ格納媒体上に、典型的には高圧縮された形式でマップ素材(地図データ)全体を含まなければならない。ナビゲーション装置内では、例えばユーザがナビゲーション経路の目的地を決定することを可能にするための、例えば通りの番地または特定の対象地点(POI)などのマップ内の任意オブジェクトの入力および探索が、ユーザとの重要な対話型操作のうちの1つである。ここでは、入力操作の複雑さ、特に、必要なキーストローク数もしくは選択の数、想定される待ち時間、および対話型応答の質が、システムの有用性およびユーザ満足度を決定する。
従来のナビゲーション装置は、一般的には、マップ内のオブジェクトを見つけて場所を特定するために2つの可能性を提供する。
一方では、ユーザは、モバイルナビゲーション装置に表示されたマップセグメント(地図の一部分)を対話的に移動(パン(1画面に入らないデータを、カメラを回すように上下左右に表示する))したりズームしたりすることによって目的地を決定でき、これによって目的地を含むマップ領域にたどり着くことができる。これにより、ポインタ(例えば、タッチスクリーン)で目的地を選択(ピック(選択指示))することによって、目的地が決定される。しかし、この手順は退屈させるものであり、(モバイル)ナビゲーション装置のハードウェア制限によって待ち時間が生じる場合がある。さらに、このような手順では、ユーザは、マップ内の目的地を地理的に見つけるための場所のかなり正確な知識を前もって有していなければならない。しかし、実際にはそうではないため、しばしば実用的ではない。
したがって、他方では、ナビゲーション装置は従来、名前(例えば、通りの名前または対象地点の名前)でユーザがオブジェクトの場所を特定できるテキストベース探索機能を提供する。
デスクトップコンピュータまたはサーバなどの据え置き型コンピュータでは、一般的には、全ての利用可能なマップ素材が格納されているデータ記録全体を全数探索(網羅的に探索)するときに問題が生じない。したがって、このような探索機能は、多くの地理情報システム(GIS)や地理データベースソフトウェア製品でサポートされている。
インターネットベースのマップサービス(最近ではグーグルマップなど)は、インターネット検索エンジンで既知の機能を使用して、ユーザフレンドリになるように探索機能を最適化している。インターネットベースのマップサービスは、ユーザが入力した複数の探索語をマップ内の全てのオブジェクトの全ての属性と比較するフリーテキスト探索を可能にする。次に、探索結果はその関連性に応じてソートされて表示される。しかし、このようなソリューションやその基本アルゴリズムは、従来のモバイルナビゲーション装置のメインメモリやプロセッサがこのようなソフトウェアアプリケーションの実行には不十分であるため、このようなモバイルナビゲーション装置内では適用できない。さらに、従来のモバイルナビゲーション装置のメモリは、(圧縮されていないか、または十分に圧縮されていない)必要な標準化マップフォーマットの保持、およびデータベース探索中に生成されるソフトウェアの実行に必要な追加のデータファイル(例えば、データベースの索引ファイル)の格納に十分なメモリ空間を備えない。
このような制限のために、従来のモバイルナビゲーション装置はテキストベース探索の単純な選択肢しか提供しない。ここでは、探索処理は、一般的には、階層的地理的絞込みを必要とし、探索処理中、ユーザは領域(例えば、国および/または市)を先ず選択し、最後に通りの番地または異なる探索語(対象地点の名前など)を選択する。この領域を入力した後にのみ、ありうる通りの番地または他の探索語を求める探索が実行される。これは、一般のモバイルナビゲーション装置の現状のハードウェア制限により、従来の探索アルゴリズムでは、インターネットベースのマップサービスでのマップの全ての領域にわたるフリーテキスト探索が可能ではないためである。
本発明の目的は、モバイルナビゲーション装置のマップデータ(地図データ)内のオブジェクト(対象、目的物)をフリーテキスト探索可能にする方法およびナビゲーション装置を提供することである。
この目的は請求項1の特徴を備える方法で実現される。
本方法は、索引データ構造によるデータベース内のオブジェクトを探索する方法であり。各オブジェクトは、ここでは、2次元または3次元の空間位置を有し、探索パターンに照合される。索引データ構造は、4分木のタイルまたは8分木の直方体などの空間(スペース)(特に、2次元平面または3次元空間)を分割する(区切る)ように定義された空間要素のコレクション(集合)に、オブジェクトの名前のようなオブジェクト属性値を関連付ける。予め定義された数の空間要素が、次のレベルの空間要素に結合可能である。
本方法では、オブジェクトの探索中に、第1入力探索パターンを求めて(第1入力探索パターンを見つけるために)索引データ構造が探索される。第1入力探索パターンが索引データ構造を介して空間要素の第1コレクションに関連付けられている場合、第1コレクションからの全ての空間要素は空間要素の第1の候補集合に追加される。ここで、第1の候補集合における空間要素の数が所定の最大値を超過する場合、一部または全ての空間要素が、より少ない数の次のレベルの空間要素に結合される。
第1入力探索パターンを求めて索引データ構造が探索される最中またはその次の順番に、第2入力探索パターンを求めて索引データ構造が探索される。第2入力探索パターンが索引データ構造を介して空間要素の第2コレクションに関連付けられている場合、第2コレクションからの全ての空間要素は空間要素の第2の候補集合に追加される。また、第2の候補集合における空間要素の数が所定の最大値を超過する場合、一部または全ての空間要素が、より少ない数の次のレベルの空間要素に結合される。
第1の候補集合および第2の候補集合が得られると、第1の候補集合および第2の候補集合の共通部分(積)が構成されて、空間要素の結合後候補集合が得られる。次に、この結合後候補集合は、第1入力探索パターンおよび第2入力探索パターンと一致するオブジェクトを求めて全数探索され、最終的に全ての入力探索パターンに一致する結果オブジェクトの集合が得られる。
本発明は、候補集合の極めて効率的な計算を可能にする。特に、表現性が乏しい探索パターン(例えば、極めて多くのオブジェクトで出現する短い探索語)については、従来の方法を用いて得られた候補集合は大きい場合がある。また、インコアのデータ構造としての候補集合の表現と候補集合の結合処理(例えば、探索処理中に共通部分を計算すること)との両方は、(モバイルナビゲーション装置のような)限られたリソースを備えたハードウェアプラットフォーム上では実用的でない。本発明は、少ないメモリ量のみを使用して空間要素の大きな候補集合を表現することと、少ない計算でその候補集合を処理することとの両方を可能にする。2つの候補集合がそれぞれ極めて大きい場合であっても、これらの共通部分は比較的低い濃度を有すると、その結果として生じる結合後候補集合は、効率的に決定されるのみでなく、全ての入力探索パターンと一致する結果オブジェクトを求めて全数探索できる程度に十分に小さい。事実上、本方法によって、対話型ユーザ入力の初期段階で出現するような表現性が極めて乏しい探索パターンについての探索結果を、制約されたハードウェアプラットフォーム上で効率的に決定できるようになる。
この場合に、入力探索パターンは、ユーザが対話型入力するパターンで、アルファベット文字および/または数字を含むテキスト文字列であってもよい。
オブジェクトを探索するために、本方法は1つまたは2つの入力探索パターンに限られない。かえって好適には、ユーザが3つ以上の探索パターンを入力してもよく、集合論の法則に許容される任意の順序で、探索パターンに関連付けられた全ての候補集合の共通部分を求めることによって、結合後候補集合(結合された候補集合)が決定される。
空間要素のコレクションは、オブジェクトの名前のようなオブジェクトの属性値に関連付けられた1つまたは複数の空間要素を含む集合である。
索引データ構造は、オブジェクト属性値を、例えば、2次元平面を分割するために用いられる4分木の空間要素のコレクションに関連付ける。4分木では、各空間要素は、タイル、すなわち、2次元平面の長方形セグメントに相当する。4枚の隣接したタイルは、4枚の元のタイルをカバーするエリアを有する次のレベルの空間要素を構成する、1枚の次のレベルのタイルに結合される。
一般的には、4分木は、全ての非葉ノードが4つの子を持つ木として定義される。ここでは、均一の深さを有する4分木が使用される。
索引データ構造は、いわゆるトライ構造を有する。トライ構造は、非空文字列(空ではない文字列)でラベル付けられたエッジと、ルートからノードまでのパスのエッジラベルの連結によってラベル付けられたノードとを有する木を構成する。ルート自体は、例えば、空文字列でラベル付けられている。
空間要素の第1の候補集合内または第2の候補集合内の空間要素の組合せについては、4枚以下の隣接したタイルが、1枚の次のレベルのタイルに結合される。この結合は、安全なコンパクト化を表している。このコンパクト化では、次のレベルの空間要素のエリアが、結合後空間要素の(不適当または適当な)上位集合を表現する。
第1入力探索パターンまたは第2入力探索パターンを求めて索引データ構造を探索することによって、第1入力探索パターンまたは第2入力探索パターンが空間要素のオブジェクト属性と一致するか否かが調べられる。これについては、各探索パターンがテキスト文字列、つまりアルファベット文字および/または数字によって構成された文字列を表現してもよい。テキスト文字列は、探索中に、オブジェクトの属性(例えば、名前)と比較される。テキスト文字列が属性または属性の接頭部と一致する(つまり、属性名の始まりがテキスト文字列と一致する)場合、空間要素の関連付けられたコレクションが各候補集合に追加される。言い換えれば、探索パターンに一致する接頭部を有する全ての索引キー(つまり、探索パターンに含まれる文字または数字で始まる索引キー)を求めて探索することによって、入力探索パターンを求めて索引データ構造が探索される。これら全ての索引キーについて、索引キーが索引データ構造を介して空間要素のコレクションに関連付けられている場合、このコレクションからの全ての空間要素が空間要素の候補集合に追加される。ここで、候補集合における空間要素の数が所定最大値を超過する場合、一部または全ての空間要素は、より少ない数の次のレベルの空間要素に結合される。
この技法によって、探索パターンと一致する、索引データ構造内の全てのキーに関連付けられた全ての候補集合のコンパクト化された集合和は、段階的かつ効率的に構築される。そして、この集合和は、扱いやすくて限られたサイズのメモリ表現を有する。
本発明の実施形態では、索引データ構造において入力探索パターンを求めて探索することについて、補助の索引データ構造が使用される。この補助の索引データ構造は、索引データ構造を介して予め組み立てられた補助の候補集合に対してオブジェクト属性値またはオブジェクトの接頭部の属性値を関連付ける。ここで、補助の索引データ構造内の探索が非空集合を生成する場合、この集合は所望の候補集合を生成する。一方、空集合を生成する場合、所望の候補集合が、入力探索パターンを求めて(メイン)索引データ構造を探索することによって得られる。
このように、本方法の効率はさらに改良される。関連付けられた候補集合が決定される各探索パターンについては、メイン索引データ構造の全部の探索ではなく、ありうるオブジェクト属性値の接頭部の部分集合を予めコンパクト化されて予め組み立てられた候補集合に関連付ける、別の補助の索引データ構造が用いられる。前述したように、ここで、より少ない数の次のレベルの空間要素に空間要素を結合することによって予めコンパクト化が行われるが、補助の索引データ構造が生成される時、つまり、探索クエリが処理される前に、予めコンパクト化が行われる。補助の索引データ構造における探索が非空集合を生成する場合、所望の候補集合が完成する。空集合を生成する場合、所望の候補集合は、(メイン)索引データ構造内を探索することによって計算される。本方法によれば、例えば単一文字のみを含む探索文字列のように、表現性が極めて乏しい探索パターンについてさえ、候補集合を決定できる。このような場合については、メイン索引データ構造内で探索パターンに一致する多くの接頭部が見つかり、これによって、候補集合に含めるために空間要素の多くの関連したコレクションを考慮する必要があるため、メイン索引データ構造内の接頭部の探索はあまり効率的ではない。提案された変更例では、補助の索引データ構造によって提供される極めて少数でありかつサイズが限られたコレクションによって、数が多いコレクションが置き換えられる。
ナビゲーション装置内で使用するためのデータベースは、正縮尺地図のディジタルマップデータを含んでもよい。この場合、オブジェクトは、例えば、通りおよび対象地点などの、マップデータの地理オブジェクトに相当し、2次元平面は、ナビゲーション装置によって表示される正縮尺地図に相当する。次に、索引データ構造は、名前が地理オブジェクトの属性を表すタイルの近似集合に、地理オブジェクトの名前を関連付ける。タイルは、例えば大陸地図のような全体地図を分割する階層的な4分木から作られ、特定の2進法の命番方式を用いて番号付けられる。索引データ構造が1つまたは複数の入力探索パターンでクエリ(照会)されることで探索が実行される。これから、探索パターンが属性として出現するオブジェクトを含むタイルの集合が発生する。接続探索(conjunctive search)、つまり、複数の入力探索パターンの結合クエリ(論理積接続)については、単一入力探索パターンの候補集合の共通部分(積)が構成される。次に、結果として生じる結合後候補集合が、全ての入力探索パターンを属性として含むオブジェクトを求めて、第2のステップにおいて全数探索される。
この概念では、共通の接頭部(単語の始まり)を含む全ての名前について候補集合を容易に減らすことができる。そのため、効率的な接続多重前方一致探索(conjunctive multi-prefix search)が可能になる。接頭部に関連付けられた候補集合を得るために、接頭部の全てのありうる連続文字列の候補集合の結合された集合が構成される。索引データ構造の使用および関連付けられた候補集合の事実上の永続表現によって、この処理は、メインメモリ内でワーク集合に段階的に追加される要素の順次読込みだけになる。
モバイル装置上の大きな候補集合に対しても本方法を実行可能にするために、計算上効率的に演算を集合に適用するためのタイルの(大きな)集合をメモリ上効率的に表現する必要がある。ここで、具体的な表現は、タイル用の命番方式と、小さなタイルからの所定の2次パターンが、より大きな次のレベル4分木タイルによって同値に表すことができるという事実とに基づく。タイルの結合によって、格納されるタイル数は減少し、表現は「コンパクト化される」。
同値コンパクト化(4枚のタイルが、関連付けられた次のレベルのタイルにその都度結合される)、および安全な近似コンパクト化(4枚以下のタイルが、関連付けられた次のレベルのタイルに結合され、次のレベルのタイルによって表されるエリアは、元のタイルによってカバーされたエリアの上位集合である)の両方が使用可能である。安全な近似コンパクト化は、探索のために、候補集合に含まれるタイル数がせいぜい増加するだけであるため、安全である。つまりこれは、最終的には、おそらく本物の候補オブジェクトが存在しない追加タイルが全て調べられなければならないことを意味しているが、同時に、表現がおおまかなことに起因して、真の候補を除外してしまうことは避けられる。
本方法の好ましい実施例では、第1入力探索パターンおよび/または第2入力探索パターンを対話的に入力するときに、結合後候補集合は段階的に減少する。この根拠は、結合後候補集合が、(1つまたは複数の入力探索パターンを含む)多重前方一致探索クエリについて計算された場合に、ユーザが1つもしくは複数の探索パターンの末尾に1文字以上を追加することによって、または1つもしくは複数の新しい探索パターンを追加することによって、探索クエリが変更されると、集合論の法則と(まさに説明したように)拡張された接頭部に関連付けられた候補集合が、常に元の接頭部に関連付けられた候補集合の部分集合であるという事実とを有効に利用することによって、古い結合後候補集合から段階的に、新しい結合後候補集合が効率的に決定される。それぞれ変更されたまたは追加された探索パターンについての単一の共通部分の演算が必要である。この共通部分の演算では、新しい探索パターンまたは変更された探索パターンから得られた新しい候補集合が、古い結合後候補集合と共通する部分が求められる。結合後候補集合の濃度は、その都度減少するか、または少なくとも、増加しない。
さらなる実施形態では、第1入力探索パターンおよび/または第2入力探索パターンを対話的に入力すると、結合後候補集合の表現性についてフィードバックが提供される。ここで、表現性は、結合後候補集合の濃度が減少すると増加する。例えば、フィードバックは、結合後候補集合の濃度が所定のしきい値よりも低くなった場合に提供される。
フィードバックは、ディスプレイを介して視覚的に提供されるが、スピーカーを介して聴覚的に、または触覚的出力デバイス(例えば、振動を生成すること)を介して触覚的にも提供される。
探索クエリが入力された後または格納された探索クエリが変更された後に、索引データ構造の特定構造は、(1つまたは複数の入力探索パターンからなる)探索クエリの表現性の高速推定および評価、つまり探索クエリが探索領域を制限する能力が可能になる。この状況で、結果として生じる結合後候補集合が低い(しかし正の)濃度を含む場合、探索クエリは高い表現性を有する。
索引データ構造の特定の永続構造によって、集合に含まれる空間要素の数を全て計数することなく、結合後候補集合の濃度を良好な精度で推定することが可能になる。これによって、また、ユーザが探索クエリを入力または変更する際に、限られたリソースを備えたモバイルナビゲーション装置が探索クエリの実際の表現性に関して即時にユーザにフィードバックを提供することができる。
例えば、ナビゲーション装置のディスプレイは、探索クエリが妥当な計算量で全数探索できる結合後候補集合を得るのに十分な表現性を有するようになった場合に、表示された入力ウィンドウの赤色の背景を黄色に変更するように設定されてもよい。この場合、ユーザが入力を継続しなければ、(おそらく、比較的多数の空間要素の全数探索にかかる待ち時間の後に、)結合後候補集合の空間要素で見つかった結果オブジェクトを含む結果リストが出力される。一般的には、検索対象の目的地オブジェクトが結果リスト内に含まれている確率は、探索クエリの限られた表現性に起因してかなり限定される。しかし、ユーザが入力を継続する場合、変更された探索クエリに関連付けられた結合後候補集合の推定濃度が、実質的により小さい予め定義されたしきい値よりも低くなると、色が緑色に変更される。この場合、低い濃度を有する結合後候補集合を得ると、結合後候補集合に関連付けられた空間要素の全数探索は、高速かつ効率的に実行される。そして、探索クエリの表現性が高いため、見つかったオブジェクトの得られた結果リスト内に検索対象の目的地オブジェクトが存在する可能性は大きい。
表現性推定によって、また、いずれのタイルにも関連付けられていない入力が瞬時に特定される。この場合、結合後候補集合の濃度は、ゼロ値をとる。ゼロ濃度は、通常、入力探索パターンのタイプミスに起因するため、一致するオブジェクト属性が索引データ構造内で見つからず、空の候補集合の結果が生成される。したがって、このようなタイプミスは、例えば、視覚的、聴覚的、触覚的なアラーム(入力ウィンドウの赤い明滅のようなアラーム)などによる適切なフィードバックによって直ちに示される。
効率的な探索を保証するために、候補集合の濃度が所定のしきい値よりも低くなってはじめて、空間要素の結合後候補集合において結果オブジェクトを求めて全数探索が行われる。全数探索中またはその後に、結果オブジェクトは、例えば、ナビゲーション装置のディスプレイのような出力デバイスを介して出力される。
空間要素の結合後候補集合においてオブジェクトを求める全数探索の計算量(およびユーザによって知覚される、関連する経過の待ち時間)を制限するには、次の1つまたは複数の手段が取られる。
・既に探索済みの空間要素の数を数え、予め定義された上限値を超えたときに処理を終了する
・既に見つかったオブジェクトの数を数え、予め定義された上限値を超えたときに処理を終了する
・探索の経過時間を測定し、予め定義された上限値を超えたときに処理を終了する。
ここで、探索パターンを追加または変更する各ユーザ入力の後、および新しくまたは修正された(改良された)探索クエリに起因する新しい結合後候補集合の計算の後に、結合後候補集合でのオブジェクトを求める全数探索が開始または再開される。
この場合に、オブジェクトを求める全数探索は、索引データ構造のレベルに相当する2つ以上の段階において行われ、高い(より粗い)レベルから始まり、より細かい1レベル以上に進む。第1段階では、(4分木内の)上位レベルのタイルが全数探索される。このようなタイルはより下位レベルのタイルの全ての情報を含まないが、(大きな市の名前または極めて重要な対象地点などの)最も重要な情報のみを含む。したがって、全ての情報が考慮されるわけではないため、第1段階での探索は粗い。次の段階では、さらに下位レベルのタイルが探索され、そして、最終段階で最も細かいレベルの最下位のタイルが全数探索され、全ての含まれる情報が考慮される。このようにして、全数探索は次第により正確になる。ここで、初期の段階で、結果オブジェクトのリストがユーザに既に出力されてもよい。さらに、例えば、時間制限に達したことを理由として全数探索が完了前に停止する場合、この時点で少なくとも最も重要な探索結果が既に表示されていることが保証される。
別の実施形態では、メイン索引データ構造に加えて、別の索引データ構造が用いられる。この別の索引データ構造は、オブジェクトが位置する領域(地域)を記述するオブジェクト属性(例えば、「周辺都市の名前」、「オブジェクトの郵便番号」、「周辺国の名前」のような属性)についてのみ空間要素のコレクションにオブジェクト属性値を関連付けし、その他全ての属性を無視する。したがって、この別の索引データ構造はサイズが制限され、メイン索引データ構造を用いて特定の領域を探索する前に、この別の索引データ構造を用いて所望の領域(例えば、市)をすばやく特定できる。索引データ構造を用いて領域を最初に探索することによって、オブジェクトを求めてメイン索引データ構造を探索する際に考慮されなければならない空間要素の数は、特定領域に関連付けられた空間要素の数に予め限定される。そのため、本方法の計算量をさらに縮小できる。
探索では、特定の標的領域に関連付けられた空間要素のみを考慮するように制約されてもよい。もし特定領域からの探索結果が対象のもの(例えば、ユーザの現在のGPS位置周辺の領域)であれば、探索方法は上述のように適用されるが、加えて、候補集合は、実際の一致について全数探索を行なう前に、「標的領域集合」と称する空間要素の別の集合との共通部分が求められる。このために、標的領域の集合は、標的領域を記述する空間要素の集合、または標的領域を上位集合によって近似する空間要素の集合として構築される。この集合は通常既にサイズが小さいため、入力探索パターンに従ってさらなる候補集合を段階的に計算するときに、全てのさらなる共通部分が適用される初期候補集合として用いられる。標的領域の集合が極めて粗い近似を用いる場合、実際の標的領域以外の結果オブジェクトはフィルタリングされて全数探索中に無視される。
さらなる実施形態では、結合後候補集合の全数探索の後、および全ての入力探索パターンと一致する結果オブジェクトの集合を得た後、結果オブジェクトは関連性の高いものから順に表示される。例えば、結果オブジェクトの集合のうち、あるオブジェクトが、ユーザが実際に見つけようと意図するオブジェクト(例えば、s通りの住所または対象地点のような目的地)を表している確率を示す、一連の発見的規則を利用して、オブジェクトの関連性が決定されてもよい。
探索結果のリストを表示する場合、例えば、モバイルナビゲーション装置上の限られた表示サイズのために、高い確率で正しい目的地オブジェクトがリストの一番上、または少なくとも一番上に近いところで表示されるように、推定された関連性の順序で結果をユーザに示すことが極めて重要である。これについては、考えられる関連性を高精度で評価できる一連の規則が開発されている。一方で、これら規則は、ユーザが入力した探索クエリの詳細から発生した情報であって、1つまたは複数の探索パターンから成る情報を使用する。他方では、これら規則は、オブジェクト属性としてマップに格納された情報であって、(特に重要な対象地点のような)特定オブジェクトに対する高い総括的関連性を示す情報を用いる。
発見的規則は、例えば、
・ユーザが選択した入力探索パターンの順序を考慮する(例えば、第1探索パターンは市を示し、第2探索パターンは通りを示す、など)、
・領域/市は通りよりも重要であると考える、
・大きな市は小さな市よりも重要であると考える、
・市または空港に相当する対象地点を他の対象地点よりも重要であると考える、
・対象地点が通りよりも重要であると考える。および/または、
・大きな通りが小さな通りよりも重要であると考える。
ナビゲーション装置では、データベースは、オブジェクトが地理オブジェクトに相当するマップデータを含む。本方法のさらなる実施形態では、第1入力探索パターンおよび/または第2入力探索パターンを対話的に入力するとき、空間要素の結合後候補集合に相当する地理エリアが出力される。この場合、探索クエリごとに、マップタイルの結合後候補集合が計算され、この集合ごとに、各結合後候補集合に相当するか、または各結合後候補集合を含む、地理エリアが決定される。このエリアは、例えば、結合後候補集合に含まれる全てのタイルの最北、最南、最西および最東のエッジ(境界)によってその辺が決定される長方形である。探索クエリの入力後に、この長方形を表すマップセグメントの迅速なディスプレイは、検索対象の目的地が潜在的に見つけられるエリアの早急な概観を提供する。
ここで、好ましくは、地理エリアのディスプレイは、結合後候補集合内のオブジェクトの全数探索を行なう前に更新されるが、一般的には、計算上時間がかかる。
第1入力探索パターンおよび/または第2入力探索パターンを対話型入力するときに、空間要素の結合後候補集合に相当する地理エリアは段階的に絞り込まれる。このようにして、探索クエリ入力中の候補集合の効率的な段階的絞込みと組み合わせて、(効率的な地図の可視化が可能ならば、)探索クエリの進行する段階的入力に、検索対象の目的地が潜在的に位置するエリアを表す地理エリアの連続的ズームによる表示が伴う特定の視覚印象が得られる。ここで、地理エリアは、全大陸を示す地図から、目的地オブジェクト(または他のいくつかのオブジェクト)およびその周囲の環境のみを含む小さなマップセグメントにまでおよぶマップセグメントに相当してもよい。(おそらく、補間技法を用いて)、十分な表示速度および表示尺度の連続調節で、ムービーカメラのズーム効果に似た視覚印象が得られる。マップ表示の速度を改善するために、森林エリアのようなあまり重要ではないマップの詳細を省略したり、マップ内に示すテキストを減らしたりすることによって、表示されたマップセグメントを実質的に簡素化することができる。
さらなる実施形態では、第1入力探索パターンおよび/または第2入力探索パターンは、複数の文字または数字が、キーパッドのその一つのキーに割り当てられた簡易キーパッドを介して入力され、各キーは入力探索パターンの一文字ごとに1度だけ押される。このようにして、結果として生じる決定不全性が、一般的には、追加入力文字ごとに減少するという事実を使用し、地理上の名前の異なるもしくは隣接する文字または自然言語の異なるもしくは隣接する単語はある程度相関しないという統計的性質を利用する。
第1の変形例では、従来は複雑な手順ステップを用いてモバイル装置上の仮想または物理的キーパッドを介して入力されなければならなかった発音区別文字(ウムラウト記号)の入力を回避できる。この実施形態で、探索パターンの一部としてウムラウト記号(例えば、「
Figure 0005604507
」に対して「A」)に関連付けられたベース文字を入力することが可能になる。ここで、探索処理では、ウムラウト記号とベース文字は一致としてみなされる。
第2の変形例では、複数の文字が各数字キー(キー「0」〜「9」、「*」、「#」であって、これらキーには、従来知られているように複数のアルファベット文字が割り当てられる(「2」=「ABC」、「3」=「DEF」、…))に割り当てられている、(ナビゲーションアプリケーションおよびナビゲーション装置としての機能を含む)携帯電話のテンキーが使用される。探索パターンの入力については、複数回のキーストロークは不要である(例えば、「C」については、キー「2」が一度だけ押される)。ユーザは、まるでフルキーボードを使用しているかのように、このように高速で探索クエリを入力できる。したがって、例えば、タッチスクリーンにタイプ結果が表示されるため、小型化フルキーボードを使用した場合に比べてタイプミスの可能性は低くなる。この概念を使用した本方法の実用的な実装はそれほど複雑ではなく、フルキーボードを介した入力と比較して、本方法の実行は計算能力の点でわずかに負荷が大きいだけである。
装置では、ディスプレイに表示された仮想キーパッドと同様に、物理キーパッドが使用されてもよい。仮想キーパッドでは、ポインティングデバイス、指向性のキーパッド、特定のトリガーキー、またはタッチスクリーンを使用して仮想キーが始動される。
本方法の実施形態では、ある複数の解釈で探索クエリの入力探索パターンを解釈するという考え方に基づいた多重フェーズ発見的探索戦略を用いてもよい。この場合、特定の解釈については、ユーザが入力した探索クエリの各入力探索パターンに、いわゆる、役割が割り当てられる。
根底にある考え方は、以下の観察に由来する。ユーザがデータベース(例えば、正縮尺図)の特定の標的オブジェクトを見つける意図で、ある探索クエリを入力するとき、ユーザの見解では、この探索クエリにのみ基づいた標的オブジェクトを一意に特定できるであろう、ということになる。これは実際に当てはまることが多い(とはいえ、常にではない)。
では、たとえユーザがこれに関して明示的に詳細に通常考えなくとも、ユーザは、尋ねられれば、標的オブジェクトを明白に特定する方法で、この探索クエリがいかに理解されうるかを通常説明できる。したがって、本方法では、この解釈を「推測する」ことができ「さえ」すればよい。
これは、探索クエリの各入力探索パターンに役割を割り当てて、ある解釈で入力探索クエリを解釈することによって行われる。
特定の役割についての考えられる例は次の通りである。「探索パターンはオブジェクトの領域属性に出現する。」または、「探索パターンはオブジェクト名の最初の単語でなければならない」。したがって、この場合、用語「役割」とは、ユーザが考えていると思われる入力探索パターンのありうる特性を指すものである、と理解される。例えば、ユーザが探索クエリ「BER HUS」を入力する場合、第1入力探索パターン(「BER」)はオブジェクト(例えば、ベルリン市)の領域属性を示すものと解釈され、第2入力探索パターン(「HUS」)はオブジェクト名(例えば、ベルリンにある通り、オブジェクト「Husemannstraβe」)を指すものと解釈される。もちろん他の解釈も可能である。
探索パターンに役割を割り当てることによる探索クエリの解釈は、探索空間を制限するのに用いられてもよい。すなわち、おそらく、例えば分割されたマップデータによって定義された、データベースの探索空間全体ではなく、限られた探索空間のみが探索クエリの特定の解釈を求めて探索される。上記の例について、「BER」が領域属性として解釈される場合、領域属性のみを考慮する(限られた補助の)索引データ構造を使用して、領域(つまり領域属性)に関係するオブジェクトの属性のみを探索する。
したがって、本方法の実施形態では、第1入力探索パターンおよび/または第2入力探索パターンはそれぞれ、ある複数の予め定義された役割を有すると発見的に解釈されてもよい。ここで、役割は、入力探索パターンそれぞれの、考えられる根底にある意味を示す。
次に、第1入力探索パターンおよび/または第2入力探索パターンを発見的に解釈することによって、役割に特化した(役割を特定した)発見的候補集合が入力探索パターンごとに計算される。さらに、役割に特化した発見的候補集合の共通部分を求めることによって、探索クエリの特定の解釈についての結合後発見的候補集合が得られる。
本方法において、第1段階では、ある探索クエリの1つまたは複数の異なる解釈のそれぞれについて、結合後発見的候補集合がその都度計算されて全数探索され、第2段階では、探索クエリを特定の解釈に制約することなく、結合後候補集合が計算されて全数探索される。
したがって、この探索は、異なる段階に分けられる。最初に、探索クエリの複数の考えられる解釈を考慮し、各解釈が、速く全数探索される探索空間であって、所望の結果を含む可能性が高い探索空間の極めて小さい解釈を生成する。第2に、本方法は、より大きい探索空間を生成する解釈であって、データベース内にもし存在するとすれば所望の結果を含むことを保証する一般的な解釈へと後戻りする。全数探索中にリソース制限に到達すると、検索エンジンが探索処理を中止してアプリケーションに通知するため、ユーザに、表現性がより高い入力を提供するように促すことができる。
既に言及したように、ある解釈は各入力探索パターンに特定の役割を割り当てる。入力探索クエリの異なる解釈を生成する異なる役割には多くの考えられる組合せがあるため、異なる解釈は、関連付けられた、役割に特化した発見的候補集合および結合後発見的候補集合を計算することなく、先ず記号を使って列挙される。したがって、索引データ構造内を検索することによって、1つ以上の、役割に特化した発見的候補集合が空であると検出されるこれら解釈はさらに考慮されない。言い換えれば、本方法の実施形態では、実際の候補集合を計算する前に、全ての非空解釈が列挙され、より小さい候補集合を生成する(そして、おそらく所望の結果を生成する)と予測される解釈が先にくるように整列される。この場合、探索クエリの任意の探索パターンが、割り当てられた役割において、空の、役割に特化した発見的候補集合を生成する場合、所与の探索クエリについてはその解釈が空であると称される。これは自動的に、解釈の結合後発見的候補集合を空にするであろう。したがって、このような解釈をこれ以上考慮する必要はない。
これに関して、入力探索パターンについての考慮される異なる複数の解釈のうちの1つの選択、または異なる解釈の記号列挙は、索引データ構造内の検索によって得られた1つ以上の、役割に特化した発見的候補集合の推定濃度に従って決定される。
探索クエリの入力探索パターンにある役割を割り当て、特定の役割を有する探索パターンを含む、ある探索クエリに従ってデータベースを探索することによって探索効率を改善するという考え方は、別々に適用可能である。したがって、各要素のコレクション、例えば、4分木のタイル、8分木の直方体、2分木のノード、ドキュメント、ファイル、あるドキュメントもしくはファイルを特定する数字もしくはその他のコード、または上述したいずれかの情報と、空間要素、ドキュメントもしくはファイル内の属性値の1つ以上の出現位置とを含むデータ構造に、データベースオブジェクト属性値を関連付ける索引データ構造によってデータベース内のオブジェクトを探索する方法は以下を含む。
入力探索クエリでは、第1入力探索パターンおよび/または第2入力探索パターンが予め定義された役割を有すると発見的解釈し(ここでいう役割は、オブジェクト属性値に関する各入力探索パターンの考えられる根底にある意味を示す)、
第1入力探索パターンおよび/または第2入力探索パターンを発見的解釈することによって、索引データ構造による入力探索パターンごとの要素の役割に特化した発見的候補集合を計算し(役割に特化した発見的候補集合は、その予め定められた役割において、入力探索パターンに一致する少なくとも一つの属性を有するオブジェクトを含む要素のコレクションを含む)、
第1入力探索パターンおよび第2入力探索パターンについて、役割に特化した発見的候補集合の共通部分を求めて、探索クエリの特定の解釈についての結合後発見的候補集合を取得し、
要素の結合後発見的候補集合において、第1入力探索パターンおよび入力第2探索パターンと一致するオブジェクトを特定し、これによって、結果オブジェクトの集合を得る。
本方法の実施形態において、第1ステップでは、ある探索クエリの複数の異なる解釈のそれぞれについて、結合後発見的候補集合がその都度計算されて全数探索され、第2ステップでは、前記探索クエリを特定の解釈に制約することなく、前記結合後候補集合が計算されて全数探索される。
本方法の背景および効果に関しては、上記を参照されたい。
一般的には、本方法の異なる実施形態については、表現性が低い入力探索パターンの候補集合を計算するための計算量は、ある入力探索パターンについての予めコンパクト化された候補集合を提供するための補助の索引データ構造を利用することによって縮小される。補助の索引データ構造は、メイン索引データ構造が利用される前に必ず調べられる。つまり、表現性が極めて乏しい、ある探索パターン(単一文字や2文字だけで構成される探索パターンなど)については、まず、入力探索パターンに相当する所望のオブジェクトを含む可能性がある空間要素の予め定義されたコレクションにこれら表現性が乏しい探索パターンが関連付けられている、補助の索引データ構造が検索される。この背景には、ユーザが、短く表現性が乏しい探索パターンを故意に入力した場合、ユーザがこの探索パターンは所望のオブジェクトを実際に指していると考えている可能性が高い。なぜならば、例えば、探索パターンがオブジェクト名や領域属性に確実に含まれているからである(例えば、「P通り」と呼ばれる通りがある場合、ユーザは「P」を入力してこの通りを検索する可能性がある)。例えば、(表現性が乏しい)入力探索パターンに完全一致する属性を有するオブジェクトを含む空間要素が補助の索引データ構造に予め格納されており、補助の索引データ構造が(メイン)索引データ構造よりも前に検索される場合、空間要素の結果として生じる候補集合を全数探索することによって、多数の空間要素を全数探索することなく、所望の結果を速く見つけられる場合がある。
本方法のさらなる実施形態では、(例えば、上記の役割に特化した発見的候補集合および結合後発見的候補集合をも含む)候補集合および結合後候補集合は、先ず、所与の入力探索パターンについて計算され、その後、キャッシュメモリデータベースに格納されてもよい。このようにして、入力探索パターンの候補集合を計算するためにかかる計算量は縮小される。なぜならば、探索の異なるステップ中に複数回必要とされた場合に候補集合を再計算する必要がないからであり、その場合は、キャッシュメモリから得られる。
更に改良された本方法では、索引データ構造は、オブジェクト属性の完全な値についてのみでなく、さらに、これら完全な値の予め定義された変形値についてもエントリを有し、これらの変形値は、ある文字を他の文字によって置換、元の値にある文字を追加、該元の値からある文字を省略、またはいくつかの文字の位置を該元の値内のそれらの位置に関して交換されている。これによって、いわゆるあいまい探索が可能になり、例えば、1つまたは複数の入力探索パターンがオブジェクト属性値、例えば、オブジェクト名または領域属性と(完全に)一致しない場合でも所望の結果を見つけることが可能になる。例えば、入力探索パターンにスペルミスがある場合であっても、このように所望の結果が見つかる場合がある。
別の実施例では、第1および第2の候補集合が結合される前に、第1および第2の候補集合内に既に存在する前記空間要素に隣接する空間要素を第1および第2の候補集合に包含することによって、第1および第2入力探索パターンについて第1および/または第2の候補集合が拡張されてもよい。このようにしても、決定された候補集合の空間要素の近傍の空間要素が探索に含まれる。
別の関連する改良された方法では、例えば、ある文字を他の文字によって置換したり、ある文字を元の探索パターンに追加したり、ある文字を元の値から省略したり、あるいはいくつかの文字の位置を元の探索パターン内のそれらの位置に関して交換するなど、ユーザ指定の探索パターンの1つ以上の変形例を生成することによって、いわゆるあいまい探索がサポートされる。この改良では、本方法にかかる索引データ構造が使用されて、さらに考慮されるこのような探索パターン変更例の部分集合を特定したり、選択された変更例についての1つ以上の候補集合または役割に特化した候補集合が得られる。次に、これら集合は、結合後候補集合の決定などの本方法にかかるさらなるステップにおいて、個々にまたはこれら合併集合を構築した後に使用される。
さらに別の改良された本方法では、第1および第2探索パターンは、音声入力装置またはその他サブシステムなどの媒体を介して入力されて、単一の探索クエリの代わりに複数の入力探索パターンからそれぞれ成る多数の探索クエリ変形例を生成してよく、探索クエリ変形例からの探索パターンについて計算された候補集合の濃度や、探索クエリ変形例について計算された結合後候補集合が使用されて、さらなる処理のための探索クエリ変形例の部分集合の選択を導く、または、さらなる処理手順に影響を与える個々の探索クエリ変形例への優先順位の割り当てを導く。したがって、(例えば、音声入力を使用した)(不明確な)入力に相当する可能性がある複数の異なる探索クエリ変形例を考慮することによって、特に、例えば、濃度が一番低い候補集合を生成する探索クエリ変形例を処理するなど、それら探索クエリ変形例から生じる候補集合の濃度を考慮することによって、所望の結果が容易かつ効率的に見つけられる。
さらに別の改良された本方法では、探索パターンは筆跡認識装置またはサブシステムなどの媒体を介して入力されてもよいが、例えば、文字「O」および「
Figure 0005604507
」や数字「0」のように、ある入力文字は入力の際に確実に区別するのが難しいため、本方法に提示された入力探索パターンに記号についての間違った変形例が出現するというリスクがある。本改良では、索引データ構造が生成される前に、このあいまいさが生じる可能性のある記号が特定され、あいまいさは以下のように処理される。確実には区別できない記号の各集合から、1つの代表(例えば、文字「O」)が選ばれる。これを標準代表と称する。索引作成中および全数探索中に、記号(例えば、文字「
Figure 0005604507
」や数字「0」)の他の変形例の出現は全て、標準代表に置き換えられる。言い換えれば、これらは、文字「O」と「
Figure 0005604507
」も数字「0」キーに割り当てられている簡易キーパッド上に存在するかのように処理される。
本方法の別の変形では、索引データ構造内の(計算上低コストである)検索によって得られた1つ以上の候補集合の推定濃度は、1つの入力探索パターンまたは複数の入力探索パターンの表現性の基準(尺度)として使用される。この濃度を使用して、さらなる処理手順に含まれるデータベースセグメントもしくは(内蔵または外部の)データベースの選択、またはさらなる処理手順に影響を与えるこのようなデータベースまたはデータベースセグメントへの優先度の割り当てが制御されてもよい。
さらなる処理(例えば、ナビゲーションアプリケーションでのルート計算のための目的地の選択)のための探索結果のユーザの最終選択が、将来の探索処理に使用するために永続的記憶媒体に登録されてもよい。このように、先に選択された探索結果に対してより大きな優先度が割り当てられ、それら先に選択された探索結果が後の探索の実際の結果リストの首位にまたは首位に近い位置に表示される、自己学習システムが提供される。
さらに別の実施形態では、空間要素の結合後候補集合の全数探索の結果として、入力探索クエリの全ての入力探索パターンと一致する属性を有するオブジェクトのみでなく、1つ以上の入力探索パターンがオブジェクト属性に一致しないオブジェクトも登録される。したがって、いわゆる単語レベルのあいまい一致が行われて、結果として、属性が探索クエリと完全に一致するオブジェクトのみでなく1つまたは複数入力探索パターンに関して一致しないオブジェクトも生成する。
別の変形例では、索引データ構造、および空間要素の関連付けられたコレクションは、索引データ構造を使用して実際に探索されるデータベースから生成されるのではなく、実際に探索されるデータベースのオブジェクトの全てまたは大部分を含む、より大きい上位のデータベースから生成されてもよい。
上記において、本発明にかかる本方法は、ナビゲーション装置で2次元マップが扱われる場合に索引データ構造が有利に使用されるため、4分木の2次元の空間要素(タイル)のコレクションにオブジェクト属性値を関連付ける索引データ構造を中心に記述した。しかし、本方法は、3次元空間に存在するオブジェクトを探索するため、例えば、3次元空間でのナビゲーション装置のために適用されてもよい(例えば、航空宇宙または航空学への適用)。この場合、索引データ構造は、8分木の空間要素のコレクションにオブジェクト属性値を関連付ける。この8分木では、空間要素がそれぞれ直方体に相当し、8つの隣接した直方体が次のレベルの空間要素である1枚の次のレベルの直方体に結合可能である。上述した実施形態と変形例は、このような索引データ構造にも同様に適用される。
可能性として、本方法はより高次元の空間または一次元空間に適用できる。一般的には、このような方法はkd木の空間要素のコレクションにオブジェクト属性値を関連付ける索引データ構造を使用してもよい。ここでkは任意の自然数(k=1、2、3、4、5、…)である。
一次元の場合では、索引データ構造は、k=1とするkd木として解釈される2分木の要素にオブジェクト属性値を関連付ける、つまり、木ノードはそれぞれ一次元の線形空間からの区間(interval)を表す。2つの隣接区間は、次のレベルの木ノードによって表される1つの次のレベルの区間に結合可能である。この場合、区間はそれぞれ一次元空間を分割する空間要素として理解される。
本目的は、上述の方法を実行するよう配置されるナビゲーション装置、または前記方法を実行するよう配置される他のモバイルコンピュータ装置によってさらに実現される。
以下に、本発明の根底にある発想を、図中で示される実施形態を参照しながらさらに説明する。
索引データ構造による、データベース内のオブジェクトを探索する方法を示すフロー図である。 トライを形成し、マップを分割するよう定義されたタイルのコレクションにオブジェクト属性値を関連付ける索引データ構造を示す図である。 探索パターンを入力するための入力ウィンドウ、およびナビゲーション装置の結果オブジェクトのリストを出力するための出力ウィンドウを示す概略図である。 探索パターンを入力するための入力ウィンドウ、およびナビゲーション装置の結果オブジェクトのリストを出力するための出力ウィンドウを示す概略図である。 探索パターンを入力するための入力ウィンドウ、およびナビゲーション装置の結果オブジェクトのリストを出力するための出力ウィンドウを示す概略図である。 探索パターンを入力するための入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および探索パターンを入力するためのナビゲーション装置のキーパッドを示す概略図である。 探索パターンを入力するための入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および探索パターンを入力するためのナビゲーション装置のキーパッドを示す概略図である。 探索パターンを入力するための入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および探索パターンを入力するためのナビゲーション装置のキーパッドを示す概略図である。 探索パターンを入力するための第1および第2の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。 探索パターンを入力するための第1および第2の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。 探索パターンを入力するための第1および第2の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。 探索パターンを入力するための第1および第2の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。 探索パターンを入力するための第1および第2の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。 探索パターンを入力するための第1および第2の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。 探索パターンを入力するための第1および第2の入力ウィンドウ、結果オブジェクトのリストを出力するための出力ウィンドウ、および入力探索パターンに基づいて表示され連続調節される地理的なマップセグメントを示す概略図である。 多くのマップタイルに分割されるマップの概略表現を示す図である。 発見的探索アプローチを使用した、改良された方法のフロー図である。 複数のデータベースにまたがる探索方法のフロー図である。 ユーザが音声入力サブシステムを介してクエリを入力する状況において本明細書に記載の本方法を適用する概略図である。
図1は、データベース内のオブジェクト(対象、目的物)を見つけて場所を特定するための本方法の実施形態の概要を示す。本実施形態では、本方法はナビゲーション装置に適用され、オブジェクトは2次元マップの地理オブジェクトを表し、データベースに格納されたデータはディジタル保存された地理的なマップ(正縮尺地図)のデータである。
ナビゲーション装置は、ナビゲーションソフトウェアアプリケーションが実装される、例えば、専用のモバイルナビゲーション装置、または携帯電話、モバイルコンピュータ、携帯情報端末(PDA)、モバイルインターネットデバイス(MID)、ポータブルメディアプレイヤ(PMP)などのモバイルコンピュータ装置である。
本方法では、いわゆるトライとして実装される索引データ構造を使用してオブジェクトが見つけられ、その位置が特定される。トライ200を表すこのような索引データ構造の概要図を図2に示す。トライ200は、名前がオブジェクトの属性として出現するマップタイル(地図タイル)のコレクション(集まり)に地理オブジェクトの名前を関連付ける。ここで、マップタイルは、空間要素を表し、4分木(4分木分割)を使用してナビゲーション装置の地図の階層分割から生じている。4分木分割とは、4枚の隣接するタイルが次のレベルのタイルに結合可能なものである。つまり、4枚の隣接するタイルは、いかなる情報も失わずに、1枚の次のレベルのタイルに同値で置換可能である。ここでは、次のレベルのタイルのエリアは元の4枚の隣接するタイルと同値のエリアをカバー(包含)する。
これは第6図に示されている。マップ5は、マップ5の空間要素をそれぞれ表す複数のマップタイル51に階層分割される。4枚の隣接するマップタイル51が、いかなる情報も失わずに、4枚の対応するマップタイル51に同値で置換わる次のレベルのタイル52に結合可能である。
マップデータ内のオブジェクトを探索するために、探索クエリ(検索クエリ(search query))がナビゲーション装置の入力ウィンドウ1(図1)に入力される。探索クエリは、テキスト文字列形式で、1つまたは複数の探索パターンから構成される。図1に示す場合では、「KAP」および「WAR」が探索パターンとして入力されている。ここで、各探索パターン、「KAP」および「WAR」それぞれで索引データ構造(トライ200)をクエリ(照会)することによってデータベース内の探索が行われる(ステップ101)。個々のクエリから、タイル102aおよび102bのうちの1つの候補集合が結果として生じる。ここで、各候補集合102a、102bは、少なくとも1つのオブジェクトの属性がそれぞれの探索文字列「KAP」または「WAR」と一致する全てのタイルを含む。ここで一致とは、オブジェクトの属性(例えば、その名前またはその領域属性)が、各探索パターンと、全部またはその接頭部(つまり、開始文字)が一致することを指す。
モバイルナビゲーション装置のような、限られたハードウェアリソースを備えた装置上で上記探索方法を実装して実行可能にするためには、メモリ上効率的に、かつ計算上効率的な集合演算を適用可能にする方法で、多数のタイルの集合を表す必要がある。これについては、4枚の隣接したタイルが1枚の次のレベルのタイルに結合できる4分木の特定構造が使用される。これによって、いかなる情報も失わずにタイル数を減らすことができる。
したがって、得られた候補集合102a、102b内のタイル数が予め定義された数を超過する場合、ステップ102では、候補集合102a、102bに含まれる一部または全部のタイル(図6のマップタイル51)を、関連付けられた次のレベルのタイル(図6の次のレベルのタイル52)に結合することによって、候補集合102a、102bは「コンパクト化される」。これによって、候補集合102a、102b内のタイル数を減らすことができる(ステップ102は「コンパクト化」とも称す)。ここでは、4枚以下のタイルを1枚の次のレベルのタイルにその都度結合することによって、結合が実現される。厳密に4枚の隣接したタイルが1枚の次のレベルのタイルに結合される場合、次のレベルのタイルによってカバーされたエリアは元のタイルと同値である。4枚未満のタイルが結合される場合、次のレベルのタイルによってカバーされたエリアは、元タイルのエリアを完全に含む上位集合を形成する。このようにして、結合(コンパクト化)は安全となる。なぜなら、得られた次のレベルのタイルによって表されるエリアは元タイルの結合されたエリアよりも、最大では、大きくなるからである。そうすることで、候補集合102a、102bに関連付けられたタイルの数が、最大では、多くなる。すなわち、後の探索ステップ(ステップ105)では、より多くのタイルが、そこに含まれるオブジェクトについて、全数探索(完全に探索)される。しかし、コンパクト化ではいかなる情報も失われない。つまり、真の候補は削除されない。
ステップ102のコンパクト化は候補集合102aおよび102b内のタイル数の減少につながる。これによって、候補集合102aおよび102bを格納するためのメモリ要件が低減される。このようにして、候補集合102a、102b内のタイル数は、予め定義されたしきい値(例えば、500個)よりも小さな数に常に限定される。
ステップ103では、このようして得られた候補集合102a、102bから共通部分が構成される。そして、第1の候補集合102aおよび第2の候補集合102bに含まれており、かつ、その結果として、第1探索パターン「KAP」および第2探索パターン「WAR」の両方と一致する属性を有するオブジェクトを含むタイルのみを含む結合後候補集合104aが生成される。また、結合後候補集合104a内のタイル数が予め定義されたしきい値(ステップ102のしきい値と異なっていてもよい)を超過する場合、結合後候補集合104a内のタイルはコンパクト化されてもよい(ステップ104)。
探索クエリと一致する属性値を有する全てのオブジェクトを特定するために、タイルの結合後候補集合104aに含まれるタイルが全数探索される(ステップ105)。すなわち、タイルが一つずつ調べられ、探索クエリと一致する属性値を有する全てのオブジェクトが抽出される。次に、このような結果オブジェクトが、出力ウィンドウ2を介して出力される。例えば、出力ウィンドウ2に表示される第1オブジェクトは、通りの番地、すなわち、「WARstein」の「KAPellenweg」である。
この方法で見つかる可能性のある他のオブジェクトは、空港や観光地などの対象地点である。このような関係において参照されるオブジェクトは全て、ナビゲーション装置に含まれるディジタルマップデータ内の特定可能な位置を有しており、このため、マップ内にその位置が特定可能である。
本方法によれば、ナビゲーション装置内に格納されて処理される候補集合が容易に低減される。特に、本方法によって、高速かつ効率的な多重前方一致探索、つまり、特にテキスト文字列である複数の探索パターンを用いて、これら探索パターンをオブジェクト属性の接頭部と比較する探索が可能になる。探索パターンに関連付けられた候補集合を見つけるために、探索パターンの全てのありうる連続文字列(空白を含まずに一連の文字からなる文字列)の単位集合が構成されなければならない。関連付けられた候補集合のトライ構造および特定の永続表現によって、メインメモリのワーク集合に段階的に追加される要素の順次読み取りに、実質的には処理が縮小される。
この処理を図2に示す。ここに示すトライ200は、ルート201、エッジ202およびノード203を含む。エッジ202は、それぞれ、非空文字列(空ではない文字列)に関連付けられ、ルート201からノード203までのパスのエッジラベルの連結によってラベル付けられるノード203を指す。例えば、ルート201の左下の第1ノードは、「F」とラベル付けされ、そのノードの左下のノードは「FELDKIRCH」のようにラベル付けされる。
図2に示すように、トライ200では、タイルがタイル番号と共にファイル204に格納される。トライ200のノード203は、格納されたタイルのコレクション205および206に関連付けられる。例えば、コレクション205は、「KAMEN」、「KAMENER」、「KAMENZ」とラベル付けられたノードに関連付けられる。コレクション206はノード「KARLSRUHE」に関連付けられる。
トライ200の形式で索引データ構造を構築すると、一方では、探索パターンを追加することによって、または既存の探索パターンに文字を追加して探索クエリを変更することによって、ユーザが探索クエリを変更したときに、新しい候補集合102a、102b、104a、および結果オブジェクトの対応リストの効率的な計算が可能となる。この場合に必要なのは、先に得られた結合後候補集合104aおよび新しく得られた候補集合の共通部分を構成するという単一の共通部分演算(図1のステップ103)のみである。得られた結合後候補集合104aの濃度は、その都度低減されるか、または少なくとも増加しない。
他方では、トライ200の構造によって、入力された(または変更された)探索クエリの質をその表現性について高速かつ効率的に推定可能となる。これに関連して、表現性は、探索クエリが探索領域(探索地域)を絞り込むことができる能力を決定する。探索クエリは、それに関連付けられた候補集合が低い(しかし正の)濃度を有する場合に、大きな表現性を有する。ここでは、トライ200の特定の永続構造(変更されない構造)によって、集合の和を構成せずに濃度は精度良く推定可能となる。これにより、限られたハードウェアリソースを備えたモバイル装置上でもこの処理を使用が可能となる。このように、探索クエリ入力中に、その探索クエリの表現性についての即時のフィードバックがユーザに与えられてもよい。
図3A〜3Cは、ナビゲーション装置の入力ウィンドウ1に探索パターンを入力する際の処理を示す。
第1段階では、入力ウィンドウ1に「eif」を入力した後、入力された探索クエリの表現性は低い。これは、この探索クエリに関連付けられたタイルおよびありうる結果オブジェクトが多数存在し、全数探索を妥当な計算量で行なうことができないことを意味する。したがって、出力ウィンドウ2は空である。また、入力ウィンドウの背景色は白(または灰色)である。
ユーザがさらに文字を入力して探索クエリを「eiff」に変更すると、探索クエリはより表現性を有する。つまり、この探索クエリに関連付けられたタイル数が減少する。推定濃度が第1の予め定義されたしきい値より低くなり妥当な(しかし大きな)計算量で全数探索され得る候補集合が得られたことを示す場合、入力ウィンドウの色が黄色に変化する。推定濃度が、さらに小さい第2の予め定義されたしきい値よりも低くなり全数探索が高速かつ効率的に実行可能であることを示す場合、(図3Bで点で示す影10に示すよう)色は緑色にさらに変化し、得られた候補集合がそこに含まれる全ての結果オブジェクトについて、全数探索される。次に、図3Bに示すように、見つけられた結果オブジェクトが出力ウィンドウ2に出力される。
探索クエリの入力が、探索クエリと一致する属性を有するオブジェクトを含むタイルを生成しない場合、候補集合の濃度はゼロになる。これは、ほとんどの場合、タイプミスに起因し、視覚的、聴覚的、または触覚的なアラームによってユーザに示される。例えば、図3Cで示す「eifff」が入力されると、ゼロ濃度を有する空の候補集合が取得され、可能であれば装置の振動といった触覚的アラームを伴って、(図3Cでライン影11に示す)赤い入力ウィンドウの色で瞬時に示される。候補集合が空であるため、結果オブジェクトは出力ウィンドウ2に表示されない。
出力ウィンドウ2に結果オブジェクトを表示する場合、オブジェクトの表示順序は、ユーザとの確度の高い関連性に従って選ばれる。これについては、ユーザが入力した探索クエリから得られた情報、または地理オブジェクトに関して格納された一般的な関連性情報(例えば、大きな市は小さな市などよりも関連性が高いと考えられる)から得られた情報を用いる、発見的規則(ヒューリスティック規則)が使用されてもよい。
(1つまたは複数の探索パターンから成る)探索クエリの入力はまた、図4A〜4Cに示すように、数値キーパッド(テンキー)3を介して行われてもよい。このテンキーは、例えば、ナビゲーションアプリケーションが実装されているためナビゲーション装置として機能する携帯電話の数値キーパッドである。キーパッドは、一般に知られているように、「0」から「9」、「*」、「#」の12個のキーを備える。キー「*」は入力ウィンドウ1にスペースを挿入するのに使用され、キー「#」は入力ウィンドウ1の右端にある(つまり直近に入力された)数字やスペースを削除するのに使用される。いくつかのキーには、さらにアルファベット文字が割り当てられている。例えば、キー「2」(参照符号31)にはさらに「ABC」が記されており、このキーに文字「A」、「B」、「C」がさらに割り当てられていることを示す。
探索クエリを入力する場合、2度以上キーを押す必要はない。例えば、文字「C」については、キー「2」が一度だけ押されればよい。したがって、ユーザは、キーストロークの複雑な手順を使用する必要なく、あたかもフルキーボードを使用しているかのように、高速かつ容易に探索クエリを入力できる。図4A〜4Cの例では、ユーザは、キーパッド3の各キーを順番に押すことによって数字「5483776」を入力する。各追加数字の入力に伴い、探索クエリは表現性が高くなり、出力ウィンドウ2に表示される結果オブジェクトの出力リストはより短くなる(図4Cでは、わずか3つのオブジェクトしか含まない)。
図4A〜4Cに示すように、ディスプレイ(携帯電話の一般的なディスプレイでよい)は、入力探索クエリを、ありうるアルファベットまたは英数字テキスト文字列に数字から変換する追加のウィンドウ1’を含むことができる(例えば、数字「548377」はおそらく「LIVER7」に相当し、「7」は、継続(文字列の最後尾に対する継続)がいまだあいまいであることを示す)。ユーザがより多くの数字を入力して候補集合のサイズおよび(出力ウィンドウ2に示す)一致する結果オブジェクトの数が減少すると、入力ウィンドウ1に入力された数字が、全ての一致する探索結果内の全く同一の文字に一致し始める。この対応は、入力ウィンドウ1下のウィンドウ1’に別個に示されるが、読みやすさを良好にするために、入力ウィンドウ1に直接視覚化されてもよい。
別の実施形態では、図5A〜5Gに示すように、地理エリアが表示されて入力探索クエリに相当するエリアが視覚化されてもよい。図5A〜5Gでは、2つの入力ウィンドウ1aおよび1bが存在して表示される。一方の入力ウィンドウ1aによってユーザは領域(地域)についての探索パターンを入力でき、他方の入力ウィンドウ1bによってユーザはオブジェクトについての探索パターンを入力できる。領域入力ウィンドウに探索パターンを入力していくにつれ(図5B〜5D)、得られた候補集合の濃度は低くなり、候補集合に含まれるタイルの数は少なくなる。したがって、タイルを全数探索して得られた結果オブジェクトの数は少なくなり、図5Dでは領域入力探索パターンについてわずか4つの一致が出力ウィンドウ2に表示されるまでになる。そして、オブジェクト入力ウィンドウ1bに探索パターンを入力すると(図5E〜5G)、両方の入力探索パターンと一致して見つかった結果オブジェクトが出力ウィンドウ2に表示され、各入力ウィンドウ1a、1bにより多くの文字を入力するごとに、探索クエリの表現性は大きくなる。
入力ウィンドウ1a、1bに探索パターンを入力している間、得られた候補集合のタイルに相当する地理エリアを示すマップセグメント(地図の一部分)4が入力ウィンドウ1a、1bの隣りに表示される。地理エリアは、例えば、最北、最南、最東、最西のタイルをとり、それらの間に長方形の地理エリアを架け渡す(補充する)ことによって得られる。探索クエリの表現性が高くなればなるほど、対応する地理エリアはさらに絞り込まれ、表示されるマップセグメント4の尺度が大きくなり、その結果、対象領域に近づいて(クロースインして)ズームのような印象をもたらす。
図5A〜5Gの手順は、ユーザが探索クエリ「HAMBURG REEPERBAHN」の文字を一つずつ入力する状況を示す。これに平行して、マップセグメント4の尺度が段階的にズームされて、ヨーロッパ全体を示すマップセグメント4から始まり「Reeperbahn」という名前の通りが位置するハンブルク市の一部のクロースアップに至る。
マップセグメント4を表示する速度を改善するために、マップのそれほど重要でない詳細(例えば、森林地帯)は省略されてもよい。
全数探索は計算上高コストである場合があるので、タイルの候補集合で全数探索が行なわれる前に、マップセグメント4の表示がその都度更新されることが有利である。
上述した一般的な方法の改良を構成する、データベース内のオブジェクトを探索する方法の別の実施形態のフロー図を図7に示す。この改良では、計算速度およびユーザフレンドリの面から本方法の効率をさらに改善するために、多段階(multi-phase)発見的探索アプローチを利用する。これを下記に詳細に説明する。
この改良ならびに上述した実施形態の目的は、大きなタイルで構成されたマップデータベースからの特定オブジェクトまたは小集合のオブジェクトを標的探索することをサポートすることである。ここで、ユーザ入力は、非体系的な多重前方一致クエリ形式を有しており、対話は段階的で応答性を有する。この機能は、リソースに限りがありネットワークが全く接続されない環境で特に提供される。
ここで、用語「標的探索」は、検索エンジンで対話を開始するきに、ユーザが、マップデータベース(市、通り、または対象地点など)から特定のオブジェクトまたはオブジェクトの小集合のことを考えているという事実を意味する。このオブジェクトは「ユーザの標的オブジェクト」と称されてもよい。
上述したように、本方法は、例えば、マップが4分木のタイルに分割されるような(図6参照)、空間が空間要素に分割されるデータベースを使用する。データベースが大きい場合(マップデータベースでは普通のことである)に、全データベースを全数探索することは、リソースが限られた環境においては非実用的な場合があるため、改良された本方法では、リソース制約付き発見的探索アプローチを使用する。この探索戦略を以下に概略的に説明する。
第1段階(図7の段階1に該当)では、(全数)探索が行なわれることになっている探索空間は、特別な発見的アプローチを使用して縮小される。この発見的アプローチでは、ある複数の発見的候補集合がユーザの所望の結果を含む可能性が高い探索空間の部分集合として選択される。これらの(比較的小さい)発見的候補集合は、サイズが小さい集合から順に全数探索される(最も小さい候補領域が最初に全数探索される)。
最終段階(以下に詳細に述べられるように、第1段階と最終段階との間にさらに段階があってよい)では、次に、全空間が考慮され、ある全体的な候補集合が、明確に所望の結果を含むに違いない集合として、すなわち、役割が特化した制約のいかなるものも使用せずに、決定される。包括候補集合(catch-all candidate set)とも称されるこの候補集合もまた全数探索される(既に全数探索されたタイルは、役割に特化した複数の発見的候補集合のうちの1つに所属するため、省略する)。
リソース制約と応答時間制約に適合するために、全数探索段階中にリソース制限に達した場合、探索処理は中止され、アプリケーションはこの状況について通知を受ける。次に、例えば、さらに表現性を高めるためにクエリを拡張するように(例えば、図3を参照して上述した、背景色を付けることを利用して、)ユーザを促してもよい。これにより、今回所望の結果が見つからなかった場合でも、その所望の結果が、次の対話サイクルで有望に見つかるようになる。全体のリソース制限(全数探索で考慮されるマップ特徴の最大値として表現されるものである)は、探索処理の種々の段階に割り当てられた個々の分配分に分割され、それぞれに公平な機会が与えられる。(この分割は専用の発見法に基づく。)
改良された本方法を、次に、図7を参照して説明する。
図7に示すように、ユーザは、本方法を実行する装置の入力ウィンドウ(フィールド)に、N個の探索語(探索パターン)を含む探索クエリを入力する(ステップ301)。次に、ステップ302では、入力中またはその直後に、この入力された探索クエリの異なる解釈変形例が生成され、さらなる探索処理のために整列される。これらの解釈変形例(単に「解釈」とも称す)は、いわゆる役割に特化した発見的候補集合を計算するために使用されて、探索空間が低減される。
役割に特化した発見的候補集合の計算の出発点は次の観測で始まる。ユーザが特定の標的オブジェクトの標的探索を行うことを意図してある探索クエリを入力する場合、これは、ユーザの見解では、原則として、この探索クエリのみに基づく標的オブジェクトを一意に特定できるはずである、ということを意味し、これが(とはいえ、常にではなく)実際に当てはまることが多い。
では、たとえユーザが通常、詳細かつ明示的にこれに関して考えなくても、ユーザは、尋ねられると、通常、標的オブジェクトを明白に特定するように、いかにこの探索クエリが解釈され得るかを説明できるだろう。したがって、本方法システムでは、「ただ」この解釈を「推測」できればよい。
したがって、マップ探索に関係する多重接頭部テキストクエリのいずれの態様が、極めて短いクエリの使用においても標的オブジェクトの特定を可能にするかが調べられ、正しい解釈のみが使用された場合に、この「正しい解釈」はいかに特徴付けられ得るのかについて調べられる。これについては、探索クエリの個々の入力探索パターンはある役割としてみなされると考えることができる。これら役割は、探索クエリがいかに「意味されるか」、または、「解釈されるべきであるか」の説明に関係する。さらに、役割は、探索パターンに関して役割に特化した発見的候補集合を生成することによって、探索空間の大幅な減少も可能にする場合がある。この役割に特化した発見的候補集合は、役割制約のない同一探索パターンの候補集合よりも極めて小さくてもよい。
このように小さくすることは、個々の探索パターンの役割に特化した発見的候補集合の共通部分として計算される結合後候補集合のレベルにおいてさらに有効である。各(または少なくとも大部分の)オペランド(演算子)が役割制約のおかげで極めて小さくなる場合、共通部分での減少効果は増大する。この集合サイズの減少は、役割制約のない候補集合を使用した非制約の場合と比較して、結合後発見的候補集合が空である可能性を高めるかもしれない。
「探索パターンは領域名に出現する。」または、「探索パターンはオブジェクト名の最初の単語である。」などと、探索クエリにおける各探索パターンの役割を想定することによって、様々な探索クエリ解釈変形例が得られる。当然、探索クエリにより多くの探索パターンが含まれると、このような想定のありうる組合せは、より多く存在することになる。
例えば、入力探索クエリ「BER HUS」は、第1の解釈で、領域とオブジェクト名をそれぞれ示す2つの入力探索パターン「BER」および「HUS」を含むと解釈されてもよい。別の有意味な解釈は、入力探索パターンがまさにその順序でオブジェクト名に出現するということでもよい。複数のその他解釈が存在して考慮されてよい。
メイン探索処理が始まる前に、ステップ302では、最も具体的な解釈が最初に来るように、組合せ的に全て有意な非空探索クエリ解釈が列挙されて整列される。(役割に特化した発見的候補集合のほとんどは極めて小さくなる)。
全データベースを全数探索することは通常不可能なので、これらの解釈は、利用される発見的探索処理を導くために、後に使用される。各解釈は、効率的に計算可能な役割に特化した発見的候補集合の共通部分として定義された発見的候補集合を生成する。これによって、この解釈変形例がユーザの意図を正確に反映する場合に、標的オブジェクトを含むに違いない探索空間の小部分への探索が可能になる。一致するデータベースオブジェクトを実際に特定するために、この小部分は後の全数探索の対象になる。
次の探索パターン役割を使用して、例えば、ステップ302で探索クエリ解釈を生成する。
A.属性カテゴリ
データベース属性は、あるカテゴリに属すると特徴付けられることが多い。例えば、マップデータベースでは、オブジェクトは1つの名前属性、およびいくつかの領域に関連する属性を有する(オブジェクトが位置している都市名、領域名および国名を格納する)。このように、探索空間の低減は、ある属性カテゴリを各探索パターンは参照するものとみなすことによって、実現される。次に、ある解釈は、例えば、「第1単語は名前属性を参照するものとして解釈され、第2単語は領域属性を参照するものとして解釈される」、など、ユーザ指定の各探索パターンへのカテゴリの割当てによって、(他の解釈から)特徴付けられる。このような組合せ可能なカテゴリ割当ての多くの組合せ中から、本方法は、さらなる処理のための、実用的なクエリに出現する可能性が高い組合せの部分集合をさらに選択してもよい。最後に、探索パターンが特別なカテゴリを参照することが制約されない場合、解釈変形例が考慮される。
B.単語順序制約あり/なしでの一致
次の2つの解釈変形例が考慮される。第1に、より具体的な解釈では、第1探索パターンは、一致させられるオブジェクトの名前の第1単語と一致しなければならず、残りの探索パターンは、オブジェクト名内の(第1位置に存在しない)その他の単語と一致しなければならない。言い換えれば、探索クエリの第1探索パターンは「第1単語役割」に存在すると考えられ、その他のクエリ単語は、「非第1単語役割」に存在すると考えられる。第2に、より全体的な解釈では、探索語はそれぞれ、それらの位置にかかわらず、オブジェクト名のいずれかの単語と一致すればよい。
C.単語数制約あり/なしでの一致
次の2つの解釈変形例が考慮される。第1に、より具体的な解釈では、オブジェクト名は探索クエリに由来する単語数を有する必要がある。言い換えれば、各探索パターンには「k単語役割」が割り当てられる。kは、探索クエリに由来した数である。第2に、より全体的な解釈では、探索パターンの数は、見つけられるオブジェクト名の特定の単語数を意味するものではないとは考えられる。
D.完全/接頭部の一致
探索パターンはそれぞれ接頭部(探索パターンは、特別な探索パターンで始まるオブジェクト属性と一致する)、または完全な(厳密に一致する)テンプレート(オブジェクト属性内で完全に同一探索パターンのみが一致する)として解釈できる。この役割が全ての探索パターンに別々に(かつ、その他の役割とは別に)割り当てられることができ、解釈の組合せ増大は避けられるべきであるため、本方法は、これら変形例のうち選択された部分集合のみを考慮するように選んでもよい。
対応する、役割に特化した発見的候補集合が、実際に生成されて後に全数走査される前に、解釈変形例は抽象的な記号記述子の形式で先ず列挙されてもよい。
異なるクエリ解釈から生成される発見的集合のサイズは、より一般的またはより具体的な役割が解釈において使用される範囲に、強く関連付けられる。大きな候補集合の前に小さな候補集合を計算して走査するために、割り当てられた役割が考慮されて記述子が評価される。次に、候補集合は、対応する発見的候補集合の(予測される)サイズの昇順に(サイズが小さい方から順に)再度整列される。
図7のステップ302の完了後、入力された探索クエリの異なる解釈変形例が手元にあり、次のステップでさらに処理され、具体的解釈についての発見的候補集合が計算される。
ステップ303では、最初に、上記順序に従って最も具体的であると予測される解釈がとられる。ステップ304では、この解釈について、(メイン)索引データ構造または(例えば、オブジェクトの領域属性のみを参照する)補助の索引データ構造が検索され、次に、(考慮された解釈内で特定の役割が割り当てられる)各探索パターンについて、役割に特化した発見的候補集合が決定される。また、異なる探索パターンの役割に特化した発見的候補集合同士の共通部分を求めることによって、結合された発見的候補集合が得られる(ステップ305)。最も具体的な解釈に対して、この発見的候補集合はおそらく小さいため(この解釈が最も具体的な解釈であると予測されるため、全体の中で最小であるとは言えないまでも)、少なくともリソース制限に達するまで、この発見的候補集合のタイルを全数探索できる(ステップ306)。次に、この結果はランク付けられて適切な表示ウィンドウに表示される(ステップ307および308)。
これは、全ての考慮される解釈について繰り返され、最終段階(図7の右)では、いわゆる包括解釈が想定される(ステップ309)。この包括解釈では、特別な探索パターンが特別な役割を有するという仮定のもと、探索クエリが制約されない。すなわち、最終段階では、全探索空間が考慮され、全ての(メイン)索引データ構造(トライ、図2参照)の検索によって、(非制約)候補集合が入力探索パターンごとに得られ、候補集合の共通部分を求めることによって結合された候補集合が導き出される(ステップ310および311)。リソース制限に達するまでこの結合された候補集合も全数探索され(ステップ312)、その結果はランク付けられて、先に得られた結果に統合され(ステップ307)、表示される(ステップ308)。
これらステップのうちのいくつかを以下に詳述する。
<発見的候補集合計算(ステップ304、305)>
本方法では、全ての候補領域はタイル集合の形式(この形式は、コンパクト化されることもある)で表現される。このようにデータ構造を設計することで、適度で一定の量のメモリを利用しながら極めて効率的なメンバシップテスト、包含(inclusion)、和(union)および積(共通部分)の演算が可能になる。
探索クエリの複数の異なる解釈から上記一連の候補集合を計算するために、予め計算され役割に特化した、永続的な発見的候補集合を参照する、永続索引が使用される。
この点では、入力探索パターンの異なる「役割」は対応する発見的候補集合を決定するために異なる扱いをされてもよい。
例えば、探索パターンに「領域カテゴリ役割」が割り当てられた場合の、役割に特化した候補集合を計算するために、補助の索引データ構造を使用してもよい。この補助の索引データ構造は、例えば、タイルの集合に探索語を関連付ける。このタイルの集合において、探索語と一致する領域属性を有するオブジェクトが出現する。この補助の索引データ構造は「領域索引」とも称され、他の索引データ構造のように実際の探索方法の実行に先立って予め計算される。領域索引は図2に示された索引に形と構築において類似するが、オブジェクトの領域属性だけをタイルの対応するコレクション(集まり)に関連付ける(オブジェクトは、一般には、いくつかの属性、例えば、その名前およびその地域、によって記述される)。
領域索引が領域属性をタイルのコレクション(集合)に関連付けるのみであるため、結果として生じる候補集合と同様に領域索引も、(メイン)索引データ構造、および(メイン)索引データ構造の手順を踏むことで得られる候補集合よりもサイズが小さい。
入力探索パターンが領域名(オブジェクトの属性である領域)を指すものと解釈される場合、領域索引が使用されて進められ、対応する、役割に特化した発見的候補集合が読出される。例えば、入力探索パターン「BER」が領域属性を指していると解釈される場合、タイルのいずれのコレクションがこの特定の探索パターンに相当するかが領域索引によって決定される。このため、所望の、役割に特化した発見的候補集合が決定される。領域属性がわずか1つのオブジェクト属性であるので、得られた、役割に特化した候補集合は、(メイン)索引データ構造を使用して任意のオブジェクト属性に入力探索パターンを一致させることによって得られたであろう候補集合と比較して小さい。
補助の索引データ構造を利用する代わりに、またはこのような補助の索引データ構造を使用することに加えて、(メイン)索引データ構造を拡張して、役割に特化した発見的候補集合を決定することも可能である。この拡張のために、専用の追加ブランチが、木形の索引データ構造に追加されてもよい。この場合、例えば、第1単語として、考慮された入力探索パターンを有するオブジェクト名に相当するタイルのコレクションが、(メイン)索引データ構造に追加的に予め格納されてもよい。例えば、入力探索パターン「BER」がオブジェクトの名前内の最初の単語(「第1単語役割」)であると解釈される場合、名前に第1単語として「BER」を有するオブジェクトを含むタイルのみが、この入力探索パターンに関連付けられる。
表現性が低い探索パターンについては、候補集合(特に役割非制約の場合に)はサイズが大きくて計算に時間がかかる。これは次の2つの理由による。永続タイル集合から多数のタイルが読まれなければならないことと、この後の、近似タイル集合データ構造に対するインメモリ集約(in-memory aggregation)の間に、コンパクト化が頻繁に実行されなければならないこととである。
しかし、索引には、むしろ少数(西ヨーロッパマップデータベースの例において数千)の接頭部しか存在せず、これらは表現性が低いため、この問題が生じる。
したがって、個別で専用の永続「バルク」索引および集合結合が使用されてもよい。この「バルク」索引は、これらの問題の場合について、予めコンパクト化されて効率的にロード可能な集合を提供する。集合検索では、最初に、バルク索引内のエントリを見つけようとし、これが失敗した場合のみ、通常の索引および関連付けられた永続タイル集合が使用される。
個々の、役割に特化した発見的候補集合の実際の計算は、相当する解釈変形例の象徴的表現に基づく。変形例に応じて、異なる(メインおよび補助の)索引がアクセスされて永続集合表現から特定の成分集合が取り出される。次に、永続集合表現がメモリにロードされて結合され、実際の発見的候補集合が得られる(共通部分が求められる)。
実用的な探索セッションでは、結合された候補集合の計算に必要な候補集合の広範な共有が、2度以上必要とされる。したがって、計算された候補集合についてのキャッシュ機能によって、これらの集合を再計算する計算量がほとんどの場合に節減されていることを確認すること。
<全数探索および文字列探索(ステップ306)>
候補集合が計算されると(かつ非空である場合)、すぐに全数探索される(すなわち、特別な解釈についてのステップ306および非制約な場合についてのステップ312において)。文字列一致は、各探索パターンが何らかのデータベースオブジェクト属性と一文字ずつ一致しなければならない通常の「完全モード」、またはある「許容された偏差」が探索パターンとオブジェクト属性との間に存在する場合でも一致が登録される、「近似モード」で起こり得る。このような許容された偏差についてのいくつかの例は次のとおりである(一般性の制限なし)。
・オブジェクト属性が元の発音区別文字(例えば、「
Figure 0005604507
」)を含む場合も、探索パターン内で発音区別文字の「ベース文字」(例えば、「o」)を使用する。
・データベース属性が元の特殊文字(例えば、「
Figure 0005604507
」)を含む場合も、探索パターン内で特殊文字の音訳(例えば、「ss」)を使用する。
・実際のデータベース属性(EIFELTOWER)の代わりに、タイプミスではあるが元の探索パターンの認識可能な変形例(例えば、EIFEL TOWER)を使用する。
リソース志向的限界に達するか、または十分な一致が見つかるとすぐに、つまり、一致数について、アプリケーションに特化した限界に達するとすぐに、全数探索処理の全体が停止する。
候補集合(または役割に特化した発見的候補集合も)を既に計算している間に、このような不完全一致をサポートするために、本方法は、データベースオブジェクトの属性に出現する元の単語のみでなく、上述したこれら単語の変形例も含む、「豊富な」予め計算された索引データ構造を使用してもよい。スペルミスであるが認識可能な探索パターンで示された場合に、索引に存在する1つ以上の類似単語を最初に特定することによって索引データ構造からデータベースオブジェクト属性に出現する元の単語を取り出して、次に、タイルの正しく関連付けられたコレクションを取り出す、という技術も本方法は使用してもよい。本方法は、また、これら2つのアプローチの組合せを使用してもよい。
<結果のランク付け(ステップ307)>
ユーザは、結果リストに標的オブジェクトを見出すことを欲するだけでなく、標的オブジェクトが結果リストの首位近くに存在することを期待する。これを実現するために、各結果の関連性は、様々な指標(文字通り、信号と称されることもある)を使って評価される。各指標は数値であり、評価された結果のデータベースオブジェクトの何らかの特性がこのオブジェクトをユーザに関連あるものにするものであるか、またはどの程度関連あるかを表す。これらの特性および関連付けられた指標は、以下のように各カテゴリに分類される。
〔意味論的(セマンティック)データベース固有の特性〕
あるデータベースオブジェクトは、他のデータベースオブジェクトよりも、平均的ユーザに関連している可能性が高い。この分類の指標は、データベースの内容に関する意味論的知識を使用して、データベースオブジェクト自体のみを評価する。例えば、大きな市または通りは、小さい市または通りよりも重要であるとランク付けられてもよい。
〔クエリ一致特性〕
この分類の指標は、意味論的知識を使用せずに、辞書および構文を基準として作用する。代わりに、クエリがいかにデータベースオブジェクトに一致するかの詳細を評価する。例えば、完全一致は不完全一致よりも重要であるとランク付けられてもよい。
最後のランク付けは、全指標の組合せに重み付けしたものである。本方法は、ユーザに結果リストを提示する前に、このランク付けによって暗示された順序を直接使用するか、または追加の再順序付け技術(例えば、ある共通の特色に従ったクラスタリング結果)を適用してもよい。
続いて、本方法の更なる改良において使用されてもよい、いくつかのさらなる概念を記述する。
<さらなる概念>
〔多数のデータベースにまたがる探索〕
ユーザが探索したい全データが同一のデータベース内に保持可能とは限らないことが多い。この場合、探索処理は、いくつかの別々の探索処理を使用することによって拡張されるが、その結果は同一のランク付け方法を使用して一つの結果格納先に統合される。個々の探索処理は、上述の処理もしくは全く異なる処理、または外部の探索処理のいずれかであってもよい。この処理の結果は、共通のランク付け段階によって処理できるようになっている。
この処理を第8図に示す。図8において、縦長のボックスによって示された個々の探索処理の特定の順序は、暗示されてはいない。
図8の例では、N個の入力探索パターンを含む探索クエリが入力される(ステップ401)。ステップ402〜405では、入力された探索クエリに基づいて、複数の異なるデータベース内の探索が行なわれる。ステップ402は、例えば、上述したタイプの探索方法を使用したデータベース内の探索に相当してもよい。ステップ403は、異なるデータベース内の探索ではあるが、類似の探索方法を使用した探索に相当してもよい。ステップ404および405は、異なるデータベース内の探索であり、完全に異なる探索方法を使用した探索に相当してもよい。
ステップ406および407では、外部探索処理の結果は、ステップ402および403の結果に(例えば、フォーマットに)互換性をもつようになっている。これにより、探索結果は、ステップ408においてランク付け、登録および統合が行われ、ステップ409において共に表示される。
探索処理(ステップ402〜405)は、並列に、または順々に実行される。処理順序はアプリケーションに適応可能である。
〔ソースデータベースのクエリ表現性誘導選択〕
ユーザ入力の初期において、(部分的、不完全な)探索クエリは、表現性が低いため、大きなデータベース探索空間を有意味に縮小するには不十分である。この状況で実際の一致を列挙することは可能であるが、ユーザにはむしろ無秩序で役立たないものに思われる。クエリの表現性は、クエリが適用されるデータベースのサイズに関係するので、これは、この状況では、データベース(データベースのセグメント)の、より小さく、選択された部分のみを考慮することによって緩和され、または、多重データベース探索の場合には、利用可能なソースデータベースの部分集合のみを考慮することよって緩和される。
一部のデフォルトデータベースソース(またはセグメント)を除いて、(各利用可能なソースデータベース、またはほぼ代表として選択された、あるソースデータベースに関して考慮された)クエリの表現性が、あるしきい値を越える場合、各利用可能なソースデータベース(またはデータベースセグメント)は探索処理に含まれるのみである。ナビゲーションアプリケーションでは、探索処理は、クエリの表現性が、あるしきい値未満である場合、例えば、次のソースで作用することができる。
・重要な市および空港のみを考慮したマップデータベースセグメント
・ユーザお気に入りの目的地リスト
・あるマップオブジェクトの略語(例えば、公的機関が車両ナンバープレートで使用するコードで略した市)についての補足データベース
ここでは、探索クエリの文字列長自体ではなく、探索文字列の表現性を使用して、データベースソースまたはセグメントの探索処理における包含(inclusion)について決定する。表現性は、クエリ長に厳密に相関しない。BAHNHOFSTRASSEのようなかなり長いクエリは、この名前の通りが何千もの市に存在する場合は表現性が比較的低いが、データベース内にほとんど出現しないXYZのような短いクエリは表現性が高い。ここで記述した本方法によって、(一般的な)候補集合のサイズと逆相関している所与の探索語の表現性の推定を効率的に得ることができる。
〔頻繁に選択されるお気に入り結果の自己学習型高速探索〕
ナビゲーションアプリケーションでは、例えばユーザが頻繁に訪れる目的地に相当する、ユーザが比較的頻繁に探索するデータベースオブジェクトが存在する場合がある。このようなオブジェクトを取り出すための対話を短くするために、以下の方法が使用される。
ユーザが結果リストからオブジェクトを選択し、アプリケーションのさらなる処理(例えば、ナビゲーションアプリケーションにおける目的地の選択やルート計算の開始)にこのオブジェクトを渡すごとに、選択されたオブジェクトは、お気に入り結果の永続的に格納されたリストに登録される。このリストはユーザ単位で格納される。周辺システムやアプリケーションが複数ユーザをサポートする場合、複数の永続リストが存在することになる。リストは、データベースオブジェクトの参照、および(探索結果リスト内で一般に使用されるような)標的オブジェクトを一意に特徴付ける結果属性のいずれかを格納できる。
次に、お気に入りリストは、外部データベースとして一般化された探索処理に統合され、上述した表現性誘導(表現性に基づいて誘導される)データベースソース選択処理によってクエリ入力の最初の段階から含まれる。
〔単語レベルのあいまい探索および連想探索〕
上述した探索空間縮小技法は、タイル集合レベルで作用する。これは、クエリ内の探索パターンごとに、このパターンに一致する(かつ、この候補集合を生成した解釈に対して特化した役割において一致する)あるオブジェクトを含むと候補集合が保証されることを意味する。しかし、全ての入力探索パターンと同時に一致する1つの単一オブジェクトが存在するという保証はない。実際の一致は全数探索および文字列一致段階で特定され、極めて多くの場合、この段階において遭遇したオブジェクトは、入力探索パターンのうちのいくつかのみに一致する。
これらの不完全一致を無視する代わりに、以下のように処理してもよい。
・いくつかの追加必要条件(例えば、オブジェクトの名前属性と一致するものが少なくとも1つ存在しなければならない)が満たされる場合、一定の数の不一致単語が受入可能であると見なされる、
・不完全一致には、その不完全の程度(つまり、一致しなかった探索語の数)を結果リストに付ける、
・この程度は、結果のランク付けにおいて、不完全一致が、見つかった完全一致を「押しのける(不完全一致が完全一致よりも高いランクとなる)」ことがないように、考慮される、および/または、
・不完全一致は、ユーザが直ちに認識して完全でないことを知ることができるように、結果リストを示す際に、特に印付けされる。
この技法は、以下のような基礎的な連想探索機能を提供する。ユーザが、個々のデータベースオブジェクトと完全一致しない組合せではあるが、同一マップタイル内にある2つのオブジェクトを指す、2つの探索パターンを例として入力し、かつ、この組合せがマップタイルのうちの1つまたは小さい集合に出現するのみである場合、探索空間縮小の段階において計算された候補集合のうちの1つがこのタイルを含むであろう、また、単語レベルのあいまい一致は、指されたオブジェクトの両方を特定して単語レベルのあいまい結果としてこれらオブジェクトを登録するであろう。
これによって、例えば、クエリ「NEUE OSTKR」が、通り「NEUE BAHNHOFSTRASSE」を取り出すことが可能になる。このオブジェクトは、入力探索パターン「OSTKR」とは一致しないが、ドイツのベルリンのOSTKREUZ駅と同一の(したがって近い)タイル内にある。
更なる改良では、本方法は隣接するタイルを含めることによって、結合された候補集合を計算する前に個々の候補集合を修正する。これによって、連想探索は、同一タイル内には位置しないが2枚の隣接タイル内に位置するオブジェクトの組合せを見つけることが可能になる。
〔代替入力方式〕
探索機能と一緒に音声入力または手書き文字認識のような入力方式を使用すれば、異なるアプリケーションにおいて魅力的になる。このような入力方式および関連付けられたソフトウェアは、通常、ユーザの発話のテキスト形式での表現を生成し、このテキスト表現は本明細書に記載のテキスト探索方法で使用される。
本明細書に記載の本方法を用いれば、集合計算を使用することは、このような入力方式との統合についての追加の方法をもたらす。これらの方法は、通常、確率的手法に基づくので、単一の出力テキストのみでなくランク付けられた変形例リストも生成することが多い。
例えば、図9に示すように、ユーザは、システムが、最も高いランク付け結果として、「
Figure 0005604507
」(スロット1)および「Bremerhaven」(スロット2)と解釈する、2つの単語を音声入力によって入力する。ここで、単語にはいわゆるスロットがそれぞれ割り当てられる。この場合、ユーザの音声入力を明白に特定することは不可能であったため、2位にランク付けされた結果は、「
Figure 0005604507
」(スロット1)および「
Figure 0005604507
」(スロット2)である。音声入力システムが決定した確率は、スロット1における結果については0.7と0.3で、スロット2における結果については0.6と0.4で示される。
各スロットで最良にランク付けられた結果が実際のユーザ発話を表すとは保証されないため、異なるスロットからの結果の任意の組合せも実際の発話された探索クエリを表現する。
図9に示すように、本明細書に記載の本方法において利用された候補集合計算は、ありうる組合せの多くを容易に除外できる。1組のスロットについて(明確な)候補集合の共通部分を求めること(点矢印によって示す)は、空集合を生成する場合がある。したがって、探索パターンのこの組合せと一致するものがデータベース内に存在しない。これは、候補集合を計算して共通部分を求めることだけで、スロットのありうる組合せの半分が排除されることを意味する。この2つの非空の結合された候補集合は、異なる質の2つの一致を含む。「
Figure 0005604507
」は完全一致(図9中に実線の矢印で示す)である。「
Figure 0005604507
」は、図9に破線の矢印で示す接頭部一致(BREMERHAVENER STRASSE)を生成するだけである。ユーザが接頭部ではなく完全な単語を常に発声すると予測できる場合、「完全な」役割を使用した、役割に特化した候補集合を使用して、集合計算を行うことができる。この場合には、組合せ「
Figure 0005604507
」もまた、空の結合後候補集合を生成する。つまり、全ての正しくない組合せは集合計算において排除されている。
この場合、一般に、極めて低い計算コストで、スロット組合せのエントリの相当数の組合せをさらなる考慮から容易に排除できる。
〔スーパー索引の使用〕
本明細書に記載の探索方法は、メディアプレイヤおよびセットトップボックスのアプリケーションにも使用できる。なぜなら、本探索方法を使用して索引付けられたメタデータを有するメディアデータの大きなコレクションに探索ベースで容易にアクセスできるからである。メディアデータには自然な幾何学的な埋め込みがないため、人工のタイル番号が割り当てられる。
メディアプレイヤおよびセットトップボックス用のリモートコントロールは、極めて制限されたキーボードを有することが多く、そのため、前述した簡易キーボードを使用する技法は有利である。
おそらく、これに関連する改良では、メディアプレイヤ装置に移動する必要のある一部または全てのメタデータ情報は、中央データベースから取り出される。これは、例えば、発表されてグローバルデータベースに(ほとんどの場合)登録されているコンパクトディスクにそのほとんどがなんらかの形で由来する音楽ファイルに関して行われてもよい。したがって、グローバルデータベースからスーパー索引を構築し、装置に実際にインストールされたメディアファイルの小さい部分集合の探索に、このスーパー索引を使用することができる。必要条件として、所与のタイル番号に関連付けられたファイルに容易にアクセスできるように、ローカルにインストールされたファイルが登録されていなければならない。これは、単純なトライ形の索引構造にローカルにインストールされたファイルをソートすることによって行われてもよい。人工のタイル番号を計算した後に、スーパー索引を使用して、メディアファイルを見つけることができる可能性が調べられる。メディアファイルのメタデータから構築された探索クエリは、人工のタイル番号を含む候補集合を生成しなければならない。生成しないと、グローバルデータベースはメディアファイルを把握できない。このような場合は、小さい補助データベースが装置上に保持され、探索処理に統合される。
本発明は上述した実施形態に制限されない。例えば、本発明は2次元平面でのナビゲートを実現することに限定されず、航空宇宙または航空学への適用に認知可能なものとして、4分木ではなく8分木によって分割される3次元空間にも適用可能であり、または一次元探策空間(例えば、eブック内のページ)に適用されてもよい。
メディアプレイヤの場合について既に記述したように、本方法は、元のデータを埋め込んだ人工の空間を作成すること、つまり、各データオブジェクトにk次元空間の合成位置を割り当てることによって、元のデータベースオブジェクトが空間的基準を全く有さないアプリケーションで使用されてもよい。
本方法は、ネットワークに繋がれているか、または接続している場合においても適用されてもよい。このような場合、クエリ入力、結果表現および探索処理の実行が、同一のコンピュータ装置上で必ずしも行われる必要はないが、ネットワークおよび/または他の双方向もしくは一方向の通信リンクを介して接続される複数のコンピュータ装置にわたって行われてもよい。一例は、インターネットベースのアプリケーションである。この場合、ユーザが、ウェブブラウザに表示されたウェブページに示される入力フィールドに、探索クエリを入力する。次に、クエリは本方法が実行されるサーバに伝達され、結果がネットワーク越しに伝達されて前記ウェブページの動的部分に表示される。別の例は、赤外線通信リンクを使用したリモートコントロールを有するメディアセンター装置である。ここでは、メディアセンター装置上で本方法が実行されて、メディアファイルまたはチャンネルに付けられた名前およびテキスト形式の記述を求めた探索が可能になる。ユーザは、リモートコントロール上のキーパッドを使用して探索クエリを入力し、メディアセンター装置に付けられたテレビ受像機を使用して結果がユーザに表示される。
1、1a、1b 入力ウィンドウ
1’ ウィンドウ
10、11 影
2 出力ウィンドウ
3 キーパッド
31 キー
4 マップセグメント
5 マップ
51 マップタイル
52 次のレベルのタイル
101〜105 ステップ
102a、102b 候補集合
104a 結合後候補集合(結合された候補集合)
200 トライ
201 ルート
202 エッジ
203 ノード
204 タイル番号付きファイル
205 空間要素のコレクション
206 空間要素のコレクション
301〜312 ステップ
401〜409 ステップ

Claims (37)

  1. 索引データ構造(200)によってデータベース内のオブジェクトを探索する方法であり、当該索引データ構造(200)は、空間を分割するよう定義された空間要素(51)のコレクション(205、206)にオブジェクト属性値を関連付けており、予め定義された数の空間要素(51)が次のレベルの空間要素(52)に結合可能である、
    方法であって、
    第1入力探索パターンを求めて前記索引データ構造(200)を探索し、前記第1入力探索パターンが、空間要素(51)の第1コレクション(205、206)に、前記索引データ構造(200)によって関連付けられている場合には、前記第1コレクション(205、206)からの全ての空間要素(51)を、空間要素(51)の第1候補集合(102a、102b)に含める工程であって、前記第1候補集合(102a、102b)における空間要素(51)の数が、一定の限界を超過する場合には、前記空間要素(51)のうちの一部または全部が、より少ない数の次のレベルの空間要素(52)に結合される、工程と、
    第2入力探索パターンを求めて前記索引データ構造(200)を探索し、前記第2入力探索パターンが、空間要素(51)の第2コレクション(205、206)に、前記索引データ構造(200)によって関連付けられている場合には、前記第2コレクション(205、206)からの全ての空間要素(51)を、空間要素(51)の第2候補集合(102a、102b)に含める工程であって、前記第2候補集合(102a、102b)における空間要素(51)の数が、一定の限界を超過する場合には、前記空間要素(51)のうちの一部または全部が、より少ない数の次のレベルの空間要素(52)に結合される、工程と、
    前記第1候補集合および前記第2候補集合(102a、102b)から、空間要素(51、52)の結合後候補集合(104a)を形成する工程と、
    結果オブジェクトの集合を取得するように、前記第1入力探索パターンおよび前記第2入力探索パターンと一致するオブジェクトを求めて、空間要素(51、52)の前記結合後候補集合(104a)を探索する工程とを備えた、オブジェクト探索方法。
  2. 請求項1において、前記第1候補集合および前記第2候補集合から形成された前記結合候補集合(104a)における前記空間要素の数が、予め定義されたしきい値を超過する場合には、前記空間要素のうちの一部または全部が、より少ない数の次のレベルの空間要素に結合される、オブジェクト探索方法。
  3. 請求項1または2において、前記第1候補集合および前記第2候補集合(102a、102b)の共通部分を構成することによって、前記第1候補集合および前記第2候補集合(102a、102b)から前記結合後候補集合(104a)が構成される、オブジェクト探索方法。
  4. 請求項1から3のいずれか一項において、前記索引データ構造(200)は、オブジェクト属性値を、2次元平面の一部分に相当する、4分木の空間要素(51)に関連付け、
    4枚の隣接したタイルが、次のレベルの空間要素(52)を表す1枚の次のレベルのタイルに結合可能である、オブジェクト探索方法。
  5. 請求項において、空間要素(51)の前記第1候補集合(102a、102b)または前記第2候補集合(102a、102b)内における、空間要素(51)の組合せについて、4枚以下の隣接するタイル(51)が、1枚の次のレベルのタイル(52)に結合され、この結合は、前記次のレベルの空間要素(52)の前記エリアが前記結合後空間要素(51)の上位集合を表す、安全なコンパクト化を表している、オブジェクト探索方法。
  6. 請求項1からのいずれか一項において、連続したデータ要素を表す前記第1入力探索パターンまたは前記第2入力探索パターンを求めて前記索引データ構造(200)を探索する間に、前記第1入力探索パターンまたは前記第2入力探索パターンが空間要素(51、52)の、あるオブジェクトの属性値の接頭部に一致するか否かが調べられる、オブジェクト探索方法。
  7. 請求項1からのいずれか一項において、入力探索パターンを求めて前記索引データ構造(200)を探索することについて、予め組み立てられた補助の候補集合に対してオブジェクト属性またはオブジェクト属性の接頭部を関連付ける、補助の索引データ構造が使用され、
    前記補助の索引データ構造内の前記探索が非空集合を生成する場合には、この集合は所望の候補集合(102a、102b)を構成し、
    前記補助の索引データ構造内の前記探索が非空集合を生成しない場合には、所望の候補集合(102a、102b)が、前記入力探索パターンを求めて前記索引データ構造(200)を探索することによって取得される、オブジェクト探索方法。
  8. 請求項1からのいずれか一項において、前記第1入力探索パターンと前記第2入力探索パターンのいずれか一方または両方を対話的に入力すると、前記結合後候補集合(104a)は段階的に減少する、オブジェクト探索方法。
  9. 請求項1からのいずれか一項において、前記第1入力探索パターンと前記第2入力探索パターンのいずれか一方または両方を対話的に入力すると、前記入力探索パターンに影響を及ぼされた候補集合(102a、102b、104a)の表現性についてのフィードバックが提供され、
    前記表現性は、前記候補集合(102a、102b、104a)の濃度が減少すると増加する、オブジェクト探索方法。
  10. 請求項1からのいずれか一項において、前記結合後候補集合(104a)の前記濃度が所定のしきい値よりも低くなると、空間要素(51、52)の前記結合後候補集合(104a)においてオブジェクトを求めて前記探索が行われ、
    前記結果オブジェクトが出力装置を介して出力される、オブジェクト探索方法。
  11. 請求項1から10のいずれか一項において、オブジェクトを求めて空間要素(51、52)の前記結合後候補集合(104a)を探索する間に、
    既に探索済みの空間要素(51、52)の数が計数されて、この数が予め定義された制限値を超えると、探索処理が停止されるか、または、
    既に見つかったオブジェクトの数が計数されて、この数が予め定義された制限値を超えると、探索処理が停止されるか、または、
    探索の経過時間が測定され、予め定義された制限時間を超えると、探索処理が停止される、オブジェクト探索方法。
  12. 請求項1から11のいずれか一項において、前記探索は、特定の標的領域に関連付けられた空間要素(51、52)のみを考慮するよう制約される、オブジェクト探索方法。
  13. 請求項1から12のいずれか一項において、結果オブジェクトの集合のうちの、あるオブジェクトが、ユーザが実際に見つけようと意図するオブジェクトに相当する確率を示す、一連の発見的規則に従って、前記オブジェクトの関連性が決定され、
    前記結果は、関連性の高いものから順にユーザに表示される、オブジェクト探索方法。
  14. 請求項1から13のいずれか一項において、前記データベースはナビゲーション装置のマップデータを含み、
    前記オブジェクトは当該マップデータの地理オブジェクトに相当し、
    前記2次元平面は前記ナビゲーション装置によって表示される、前記空間要素(51、52)によって分割された正縮尺地図に相当する、オブジェクト探索方法。
  15. 請求項14において、前記第1入力探索パターンと前記第2入力探索パターンのいずれか一方または両方を対話的に入力すると、空間要素(51、52)の前記結合後集合に相当する地理エリアが、前記対話入力中に出力される、オブジェクト探索方法。
  16. 請求項1から15のいずれか一項において、前記第1入力探索パターンと前記第2入力探索パターンのいずれか一方または両方は、複数の文字と数字のいずれか一方または両方が一つのキーに割り当てられた簡易キーパッド(3)を介して入力され、各キーは前記入力探索パターンの一文字ごとに1度だけ押されるものである、オブジェクト探索方法。
  17. 請求項1から16のいずれか一項において、前記第1入力探索パターンと前記第2入力探索パターンのいずれか一方または両方は、ある複数の予め定義された役割のうちの1つの役割を有する、と発見的に解釈され、前記役割は、前記各入力探索パターンの、想定される、根本的な意味を示す、オブジェクト探索方法。
  18. 請求項17において、前記第1入力探索パターンと前記第2入力探索パターンのいずれか一方または両方を発見的に解釈することによって、役割に特化した発見的候補集合(102a、102b)が入力探索パターンごとに計算され、
    前記役割に特化した発見的候補集合(102a、102b)の共通部分を求めることによって、探索クエリの特定の解釈についての結合後発見的候補集合(104a)が取得される、オブジェクト探索方法。
  19. 請求項18において、第1ステップでは、ある探索クエリの複数の異なる解釈のそれぞれについて、結合後発見的候補集合(104a)がその都度計算されて全数探索され、
    第2ステップでは、前記探索クエリを特定の解釈に制約することなく、前記結合後候補集合(104a)が計算されて全数探索される、オブジェクト探索方法。
  20. 請求項19において、前記異なる解釈は、前記関連付けられた、役割に特化した発見的候補集合(102a、102b)および結合後発見的候補集合(104a)を計算することなく、最初に記号を使って列挙され、
    前記索引データ構造(200)を検索することによって、1つ以上の前記役割に特化した発見的候補集合(102a、102b)が空であると検出されと、前記異なる解釈はさらに考慮されない、オブジェクト探索方法。
  21. 請求項19または20において、入力探索パターンについての考慮される前記異なる解釈のうちの1つの解釈、または前記異なる解釈の前記記号による列挙は、索引データ構造(200)内の検索によって得られた1つ以上の役割に特化した発見的候補集合(102a、102b、104a)の推定濃度に従って決定される、オブジェクト探索方法。
  22. 索引データ構造(200)によってデータベース内のオブジェクトを探索する方法であり、当該索引データ構造(200)は、要素(51)のコレクション(205、206)にデータベースのオブジェクト属性値を関連付ける、方法であって、
    入力探索クエリ内で、第1入力探索パターンと第2入力探索パターンの一方または両方が、ある複数の予め定義された役割のうちの1つの役割を有する、と発見的に解釈する工程であって、前記役割は、オブジェクト属性値に関する、前記各入力探索パターンの、想定される、根本的な意味を示す、工程と、
    前記第1入力探索パターンと前記第2入力探索パターンの一方または両方を発見的に解釈することによって、要素(51)の役割に特化した発見的候補集合(102a、102b)を前記索引データ構造によって入力探索パターンごとに計算する工程であって、前記役割に特化した発見的候補集合(102a、102b)は、前記入力探索パターンとその規定の役割において一致する少なくとも1つの属性値を有するオブジェクトを含む要素(51)のこれらコレクションを含む、工程と、
    前記探索クエリの特定の解釈についての結合後発見的候補集合(104a)を取得するように、前記第1入力探索パターンおよび前記第2入力探索パターンについて、前記役割に特化した発見的候補集合(102a、102b)の共通部分を求める工程と、
    要素(51、52)の前記結合後発見的候補集合(104a)において前記第1入力探索パターンおよび前記入力第2探索パターンに一致するオブジェクトを特定し、これによって結果オブジェクトの集合を取得する工程とを備え、
    第1ステップでは、ある探索クエリの複数の異なる解釈のそれぞれについて、結合後発見的候補集合(104a)がその都度計算されて、必要であれば、全数探索され、
    第2ステップでは、前記探索クエリを特定の解釈に制約することなく、結合後候補集合(104a)が計算されて、必要であれば、全数探索される、オブジェクト探索方法。
  23. 請求項1から22のいずれか一項において、ある入力探索パターンについての予めコンパクト化された候補集合(102a、102b)を提供するように、前記メイン索引データ構造(200)が利用される前に必ず調べられる補助の索引データ構造が利用される、オブジェクト探索方法。
  24. 請求項1から23のいずれか一項において、候補集合(102a、102b)および結合後候補集合(104a)が、最初に、所与の入力探索パターンについて計算され、その後、キャッシュメモリデータベースに格納される、オブジェクト探索方法。
  25. 請求項1から24のいずれか一項において、前記索引データ構造(200)は、オブジェクト属性の完全に同一値についてのみでなく、追加的に、前記完全に同一値の予め定義された変形値についてもエントリを有し、これら変形値は、ある文字を他の文字で置換しているか、ある文字を元の値に追加しているか、ある文字を元の値から省略しているか、または、いくつかの文字の位置を元の値における位置に対して交換している、オブジェクト探索方法。
  26. 請求項1から25のいずれか一項において、前記第1候補集合および前記第2候補集合(102a、102b)が結合される前に、前記第1候補集合および前記第2候補集合(102a、102b)内に既に存在する前記空間要素(51)に地理的に隣接する前記空間要素(51)を、前記第1候補集合および第2候補集合(102a、102b)に包含することによって、前記第1入力探索パターンおよび前記第2入力探索パターンについて前記第1候補集合および前記第2候補集合(102a、102b)が拡張される、オブジェクト探索方法。
  27. 請求項1から26のいずれか一項において、前記第1入力探索パターンおよび前記第2入力探索パターンが媒体を介して入力されて、単一の探索クエリの代わりに複数の入力探索パターンからそれぞれが成る複数の探索クエリ変形を生成し、
    索引データ構造(200)の検索を通して前記探索クエリ変形から探索パターンについて計算された候補集合(102a、102b)の推定濃度、または前記探索クエリ変形について計算された結合後候補集合(104a)の濃度が用いられて、さらなる処理に前記探索クエリ変形の部分集合の選択を導くか、または、さらなる処理手順に影響を与える個々の探索クエリ変形への優先順位の割り当てを導く、オブジェクト探索方法。
  28. 請求項1から27のいずれか一項において、索引データ構造(200)内の検索を通して得られた1つ以上の候補集合(102a、102b、104a)の推定濃度は、1つの入力探索パターンまたは複数の入力探索パターンの表現性の基準として用いられる、オブジェクト探索方法。
  29. 請求項1から28のいずれか一項において、探索結果のユーザの最終選択は、将来の探索処理に用いられるように、永続的記憶媒体に登録される、オブジェクト探索方法。
  30. 請求項1から29のいずれか一項において、空間要素(51、52)の前記結合後候補集合の前記全数探索の結果として、前記入力探索クエリの全ての入力探索パターンと一致する属性を有するオブジェクトのみでなく、1つ以上の入力探索パターンがオブジェクト属性に一致しないオブジェクトも登録される、オブジェクト探索方法。
  31. 請求項1から30のいずれか一項において、前記索引データ構造(200)、および空間要素(51)の関連付けられたコレクション(204〜206)は、前記索引データ構造(200)を用いて実際に探索される前記データベースから生成されるのではなく、実際に探索される前記データベースの前記オブジェクトの全部または大部分を含む、前記データベースよりも大きいデータベースから生成される、オブジェクト探索方法。
  32. 請求項1から31のいずれか一項において、索引データ構造(200)内に所与の単語が存在するか否か、索引データ構造(200)の検索を通して得られた、1つ以上の関連付けられた候補集合(102a、102b)の推定濃度、または1つ以上の結合後候補集合(104a)の濃度が用いられて、タイプミスされた探索パターンを特定および/または訂正し、および/または、タイプミスされた探索パターンを有効な探索パターンに変換することを意図したユーザ指定の探索パターンの自動的に生成された修正を評価する、オブジェクト探索方法。
  33. 請求項1から32のいずれか一項において、非空間データベースの探索を可能にするために、合成空間位置の値が、既存データベースオブジェクト属性値の関数として、各データベースオブジェクトに関連付けられる、オブジェクト探索方法。
  34. 請求項1から33のいずれか一項において、当該方法を実行するよう配置され、サーバとして動作する1つ以上のコンピュータ装置、およびクライアントとして動作する1つ以上のコンピュータ装置を備えたシステムを使用する方法であり、
    各クライアントは、探索クエリをユーザ入力として受け付け、かつ/または、探索結果を1人以上のユーザに通信して返すように構成され、各クライアントはネットワークを介して、または一方向もしくは双方向の通信リンクを介して、前記サーバに永続的または断続的に接続される、オブジェクト探索方法。
  35. 請求項1から34のいずれか一項に記載の方法を実行する、コンピュータ装置。
  36. 請求項1から34のいずれか一項に記載の方法を実行する、モバイルコンピュータ装置。
  37. 請求項1から34のいずれか一項に記載の方法を実行する、ナビゲーション装置。
JP2012505186A 2009-04-17 2010-04-19 データベース内のオブジェクトを探索する方法 Expired - Fee Related JP5604507B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09158188.4 2009-04-17
EP09158188A EP2241983B1 (en) 2009-04-17 2009-04-17 Method for searching objects in a database
PCT/EP2010/055128 WO2010119137A1 (en) 2009-04-17 2010-04-19 Method for searching objects in a database

Publications (3)

Publication Number Publication Date
JP2012524313A JP2012524313A (ja) 2012-10-11
JP2012524313A5 JP2012524313A5 (ja) 2013-04-04
JP5604507B2 true JP5604507B2 (ja) 2014-10-08

Family

ID=41162696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012505186A Expired - Fee Related JP5604507B2 (ja) 2009-04-17 2010-04-19 データベース内のオブジェクトを探索する方法

Country Status (6)

Country Link
US (1) US8886652B2 (ja)
EP (1) EP2241983B1 (ja)
JP (1) JP5604507B2 (ja)
KR (1) KR20120026034A (ja)
CN (1) CN102395965B (ja)
WO (1) WO2010119137A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132427A1 (en) * 2009-05-15 2013-05-23 Hyundai Motor Company Apparatus for searching for information within space of interest
US9002880B2 (en) * 2009-05-15 2015-04-07 Hyundai Motor Company Apparatus for searching for information within space of interest
DE102009060365A1 (de) * 2009-12-24 2012-03-01 Volkswagen Ag Navigationssystem, insbesondere für ein Kraftfahrzeug
US8872848B1 (en) * 2010-09-29 2014-10-28 Google Inc. Rendering vector data as tiles
US9080890B2 (en) * 2010-11-05 2015-07-14 Modena Enterprises, Llc Method and system for obtaining destination information from proximate devices based on time and heading information
DE102011101146A1 (de) * 2011-05-11 2012-11-15 Abb Technology Ag Mehrstufiges Verfahren und Einrichtung zum interaktiven Auffinden von Gerätedaten eines Automatisierungssystem
US20120290615A1 (en) * 2011-05-13 2012-11-15 Lamb Andrew Allinson Switching algorithms during a run time computation
US20130073541A1 (en) * 2011-09-15 2013-03-21 Microsoft Corporation Query Completion Based on Location
US8847949B1 (en) * 2011-11-28 2014-09-30 Google Inc. Streaming replicated geographic data for display in a three-dimensional environment
EP2620749B1 (en) * 2012-01-26 2017-07-26 Hyundai Motor Company Indexing system of spatial information for combined SOI object and content
US8930374B2 (en) 2012-06-29 2015-01-06 Nokia Corporation Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure
WO2014024142A2 (en) * 2012-08-07 2014-02-13 Koninklijke Philips N.V. Population classification of genetic data set using tree based spatial data structure
US9208254B2 (en) * 2012-12-10 2015-12-08 Microsoft Technology Licensing, Llc Query and index over documents
EP2770444A1 (en) * 2013-02-25 2014-08-27 Harman Becker Automotive Systems GmbH Navigation device having next valid character search tree
US10108693B2 (en) * 2013-03-14 2018-10-23 Xdyne, Inc. System and method for interacting with virtual maps
US9274863B1 (en) 2013-03-20 2016-03-01 Google Inc. Latency reduction in distributed computing systems
US9092338B1 (en) * 2013-03-20 2015-07-28 Google Inc. Multi-level caching event lookup
US9798772B2 (en) * 2013-04-12 2017-10-24 Oracle International Corporation Using persistent data samples and query-time statistics for query optimization
GB201306944D0 (en) * 2013-04-17 2013-05-29 Tomtom Int Bv Methods, devices and computer software for facilitating searching and display of locations relevant to a digital map
GB201306942D0 (en) 2013-04-17 2013-05-29 Tomtom Int Bv Methods, devices and computer software for facilitating searching and display of locations relevant to a digital map
DE102013209168A1 (de) 2013-05-17 2014-11-20 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Betreiben eines Navigationssystems, Navigationssystem und Kraftfahrzeug
CN103440350B (zh) * 2013-09-22 2016-10-05 吉林大学 一种基于八叉树的三维数据检索方法及装置
US9726500B2 (en) * 2013-11-08 2017-08-08 At&T Mobility Ii Llc Method and system for generating synthetic location information
WO2015073003A1 (en) * 2013-11-14 2015-05-21 Hewlett-Packard Development Company, L.P. Estimating data
US9355147B2 (en) * 2014-02-13 2016-05-31 International Business Machines Corporation Access plan for a database query
US20150269175A1 (en) * 2014-03-21 2015-09-24 Microsoft Corporation Query Interpretation and Suggestion Generation under Various Constraints
US20150356088A1 (en) * 2014-06-06 2015-12-10 Microsoft Corporation Tile-based geocoder
US10353964B2 (en) * 2014-09-15 2019-07-16 Google Llc Evaluating semantic interpretations of a search query
US20160196349A1 (en) * 2015-01-07 2016-07-07 Microsoft Technology Licensing, Llc Geocoding multi-entity queries
US20160275192A1 (en) * 2015-03-17 2016-09-22 Kobo Incorporated Personalizing an e-book search query
CN107015990B (zh) * 2016-01-27 2020-06-09 阿里巴巴集团控股有限公司 一种数据查找方法和装置
US10747815B2 (en) * 2017-05-11 2020-08-18 Open Text Sa Ulc System and method for searching chains of regions and associated search operators
CN109241151B (zh) * 2017-06-29 2022-05-10 阿里巴巴集团控股有限公司 一种数据结构的转换方法、装置及电子设备
CN107862048B (zh) * 2017-11-08 2021-05-18 四川易利数字城市科技有限公司 基于四叉树分层网格的地图缓存切片分布式集群管理方法
US11132406B2 (en) * 2018-05-18 2021-09-28 Google Llc Action indicators for search operation output elements
US10474655B1 (en) 2018-07-23 2019-11-12 Improbable Worlds Ltd Entity database
CN109815351B (zh) * 2018-12-27 2020-11-24 深圳云天励飞技术有限公司 信息查询方法及相关产品
EP4216164A1 (en) * 2019-01-28 2023-07-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Localization of elements in the space
CN110457530B (zh) * 2019-07-23 2022-02-22 广州软博信息科技有限公司 一种气象自动站数据快速插值填色方法
CN111444413B (zh) * 2020-04-08 2023-05-12 作业不凡(北京)教育科技有限公司 一种数据查询方法、装置和计算设备
CN112380275B (zh) * 2021-01-15 2021-07-23 北京金山云网络技术有限公司 数据查询方法、装置及电子设备
CN113824583A (zh) * 2021-02-22 2021-12-21 京东科技控股股份有限公司 根因元素的定位方法、装置、计算机设备及存储介质
CN114398395A (zh) * 2022-01-19 2022-04-26 吉林大学 一种基于注意力机制的基数成本估算方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02297290A (ja) 1989-05-11 1990-12-07 Fuji Xerox Co Ltd 検索装置
JPH04102969A (ja) 1990-08-22 1992-04-03 Nippon Steel Corp データベースへのデータ格納方法
JPH04247556A (ja) 1991-02-04 1992-09-03 Nippon Telegr & Teleph Corp <Ntt> 探索実行方式
US5644763A (en) * 1995-06-28 1997-07-01 Sybase, Inc. Database system with improved methods for B-tree maintenance
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US5963956A (en) * 1997-02-27 1999-10-05 Telcontar System and method of optimizing database queries in two or more dimensions
JP3570606B2 (ja) 1998-02-12 2004-09-29 日本電信電話株式会社 データ検索装置および方法
US6282540B1 (en) * 1999-02-26 2001-08-28 Vicinity Corporation Method and apparatus for efficient proximity searching
JP2001325299A (ja) * 2000-05-16 2001-11-22 Komakkusu:Kk データ検索装置およびデータ検索方法ならびに情報記録媒体
US7143098B2 (en) * 2002-05-10 2006-11-28 International Business Machines Corporation Systems, methods, and computer program products to reduce computer processing in grid cell size determination for indexing of multidimensional databases
JP4116329B2 (ja) 2002-05-27 2008-07-09 株式会社日立製作所 文書情報表示システム、文書情報表示方法及び文書検索方法
DE60300019D1 (de) 2003-02-18 2004-09-09 Tropf Hermann Datenbank und Methode für das Organisieren der Datenelemente
CN1567174A (zh) 2003-06-09 2005-01-19 吴胜远 对象表示和处理的方法及其装置
US6934634B1 (en) * 2003-09-22 2005-08-23 Google Inc. Address geocoding
JP4153887B2 (ja) * 2004-03-19 2008-09-24 株式会社日立製作所 移動体ナビゲーション装置、および、移動体ナビゲーション装置における目的地の検索方法
US7376642B2 (en) * 2004-03-30 2008-05-20 Microsoft Corporation Integrated full text search system and method
US7895218B2 (en) 2004-11-09 2011-02-22 Veveo, Inc. Method and system for performing searches for television content using reduced text input
US20060101504A1 (en) 2004-11-09 2006-05-11 Veveo.Tv, Inc. Method and system for performing searches for television content and channels using a non-intrusive television interface and with reduced text input
US8122034B2 (en) * 2005-06-30 2012-02-21 Veveo, Inc. Method and system for incremental search with reduced text entry where the relevance of results is a dynamically computed function of user input search string character count
CN100489848C (zh) * 2005-11-02 2009-05-20 北京灵图软件技术有限公司 以金字塔架构存储地形影像数据的方法
JP4878178B2 (ja) 2006-02-28 2012-02-15 株式会社日立製作所 データ処理方法および装置並びにその処理プログラム
CA2652268A1 (en) 2006-05-15 2007-11-22 Xsprada Corporation Systems and methods for data storage and retrieval
AU2007269284A1 (en) 2006-06-30 2008-01-10 Tele Atlas North America, Inc. Nearest search on adaptive index with variable compression
WO2008086281A2 (en) 2007-01-07 2008-07-17 Boopsie, Inc. Multi-prefix interactive mobile search
US7917490B2 (en) 2007-07-09 2011-03-29 Google Inc. Interpreting local search queries
US20090216716A1 (en) * 2008-02-25 2009-08-27 Nokia Corporation Methods, Apparatuses and Computer Program Products for Providing a Search Form
CN101577662B (zh) * 2008-05-05 2012-04-04 华为技术有限公司 一种基于树形数据结构的最长前缀匹配方法和装置
US8180763B2 (en) * 2009-05-29 2012-05-15 Microsoft Corporation Cache-friendly B-tree accelerator

Also Published As

Publication number Publication date
CN102395965B (zh) 2015-07-15
JP2012524313A (ja) 2012-10-11
EP2241983A1 (en) 2010-10-20
WO2010119137A1 (en) 2010-10-21
EP2241983B1 (en) 2012-12-19
CN102395965A (zh) 2012-03-28
US8886652B2 (en) 2014-11-11
US20130066880A1 (en) 2013-03-14
KR20120026034A (ko) 2012-03-16

Similar Documents

Publication Publication Date Title
JP5604507B2 (ja) データベース内のオブジェクトを探索する方法
JP5064388B2 (ja) 位置識別方法
JP5232415B2 (ja) 自然言語ベースのロケーション・クエリー・システム、キーワード・ベースのロケーション・クエリー・システム、及び自然言語ベース/キーワード・ベースのロケーション・クエリー・システム
JP7023821B2 (ja) 情報検索システム
US9471596B2 (en) Systems and methods for processing search queries utilizing hierarchically organized data
EP2518642A1 (en) Method and terminal device for updating word stock
CN107203526B (zh) 一种查询串语义需求分析方法及装置
US9811559B2 (en) Computerized systems and methods for identifying points-of-interest using customized query prediction
KR101835576B1 (ko) 사업체에 대한 지리적 장소 데이터의 비결정적 명확화 및 질적 실체 매칭을 위한 시스템
JP2004362065A (ja) 地図情報検索装置、地図情報検索方法、及び地図情報検索プログラム
US8700661B2 (en) Full text search using R-trees
JP2010128806A (ja) 情報分析装置
Borges et al. Ontology-driven discovery of geospatial evidence in web pages
KR101289082B1 (ko) 지역 정보 서비스 제공 시스템 및 그 방법
KR20100068964A (ko) 연관 질의어 추천 장치 및 방법
CN115329221B (zh) 一种针对多源地理实体的查询方法及查询系统
JP4778284B2 (ja) ローカルサーチシステムおよびローカルサーチ処理方法
CN115730154A (zh) 一种poi数据搜索方法、系统及终端
EP3506123A1 (en) Computer system and method for fast selection of names in a database of person data
CN102289434B (zh) 位置数据搜寻方法
CN113779039A (zh) Top-k集合空间关键字近似查询方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140404

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140805

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140825

R150 Certificate of patent or registration of utility model

Ref document number: 5604507

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees