JP2010277329A - 近傍探索装置 - Google Patents
近傍探索装置 Download PDFInfo
- Publication number
- JP2010277329A JP2010277329A JP2009129156A JP2009129156A JP2010277329A JP 2010277329 A JP2010277329 A JP 2010277329A JP 2009129156 A JP2009129156 A JP 2009129156A JP 2009129156 A JP2009129156 A JP 2009129156A JP 2010277329 A JP2010277329 A JP 2010277329A
- Authority
- JP
- Japan
- Prior art keywords
- index
- node
- search
- point
- data
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】検索対象ごとに適切なインデクスを選択可能とした近傍探索装置を実現する。
【解決手段】それぞれのインデクスのデータ構造に対応するインデクス依存メタデータを有するメタテーブルを記憶する記憶部と、ユーザからの指示を受け取ると、その指示に対応したインデクスを探し、そのインデクスに対応するインデクス依存メタデータを用いて、指示に対応した処理を行わせるデータベース管理部と、データベース管理部からの指示に基づいて、前記インデクス依存メタデータを用いて、指示された処理を行うインデクス部とを有することを特徴とする近傍探索装置。
【選択図】図1
【解決手段】それぞれのインデクスのデータ構造に対応するインデクス依存メタデータを有するメタテーブルを記憶する記憶部と、ユーザからの指示を受け取ると、その指示に対応したインデクスを探し、そのインデクスに対応するインデクス依存メタデータを用いて、指示に対応した処理を行わせるデータベース管理部と、データベース管理部からの指示に基づいて、前記インデクス依存メタデータを用いて、指示された処理を行うインデクス部とを有することを特徴とする近傍探索装置。
【選択図】図1
Description
本発明は、データベース上の近傍探索装置に関する。
マルチメディアデータから抽出した特徴量や成分データ等、特徴量空間上の点として表現されるデータ集合に対して範囲検索や近傍検索を行う際に用いられる技術として、多次元インデクシング技術がある。これは包含関係を持つ図形で特徴量空間を区切ることにより探索を効率化する手法で、包囲図形(セルと呼ぶ)に矩形を採用した R-tree, R*-tree、球形を採用した SS-tree、球形と矩形の共通部分を採用した SR-tree 等がある。
さらに、木を抽象化してそれに沿った多次元インデクスの実装を容易にするフレームワークについて提案がなされている(たとえば、非特許文献1)。
これ等のインデクシング手法は、多次元空間を階層的に分割することにより、探索範囲を限定することを基本としている。探索範囲を限定すれば、その分だけ計算量も少なくて済むためである。しかしながら、高次元空間では、ある点の最近点と最遠点との間に距離的な差が生じなくなるという現象が起こる。この「次元の呪い」として知られる現象によって、探索する領域を限定することができなくなり、結果として線形探索に近い計算量が必要になってしまうという問題点がある。高次元空間における上記の問題点に対処するために、近似的な最近傍検索についても研究が進められている(例えば、非特許文献2)。
Joseph M. Hellerstein, Jeffrey F. Naughton and Avi Pfeffer. "Generalized Search Trees for Database Systems.", Proc. 21st Int'l Conf. on Very Large Data Bases, Zurich, September 1995, 562-5730.
Arya, S., Mount, D. M., Netanyahu, N. S., Silverman, R., and Wu, A., "An optimal algorithm for approximate nearest neighbor searching.", 1994. In Proceedings of the ACM-SIAM symposium on Discrete Algorithms.
しかしながら、上記非特許文献1に記載の検索システムでは、baranced treeに制限され、また、検索方式はフレームワークが規定するため、対象に応じた検索方式を選択することができないという問題がある。
また、従来の近似近傍探索は、どのノードについても枝刈り範囲を無差別に(1 + ε)倍広げていた。しかし、大きな部分木(配下点数の多いノード)と小さな部分木(配下点数の少ない部分木) はノードの重要性、探索コストとも異なる。
本発明の目的は、検索対象ごとに適切なインデクスを選択可能とした近傍探索装置を実現することにある。
本発明の別の目的は、ノードの情報(包囲領域の大きさ、内部の点数など)によって枝刈り度合を変化させ、検索時間と検索の正確性のトレードオフをより適したものにすることにある。
上記課題を解決するための手段として、本発明は以下の特徴を有する。
本発明の第一の態様は、近傍探索装置として提案される。この近傍探索装置は、それぞれのインデクスのデータ構造に対応するインデクス依存メタデータを有するメタテーブルを記憶する記憶手段と、ユーザからの指示を受け取ると、その指示に対応したインデクスを探し、そのインデクスに対応するインデクス依存メタデータを用いて、指示に対応した処理を行わせるデータベース手段と、前記データベース手段からの指示に基づいて、前記インデクス依存メタデータを用いて、指示された処理を行うインデクス手段とを有することを特徴としている。
本発明の第一の態様は、近傍探索装置として提案される。この近傍探索装置は、それぞれのインデクスのデータ構造に対応するインデクス依存メタデータを有するメタテーブルを記憶する記憶手段と、ユーザからの指示を受け取ると、その指示に対応したインデクスを探し、そのインデクスに対応するインデクス依存メタデータを用いて、指示に対応した処理を行わせるデータベース手段と、前記データベース手段からの指示に基づいて、前記インデクス依存メタデータを用いて、指示された処理を行うインデクス手段とを有することを特徴としている。
本発明の第二の態様は、近傍探索装置として提案される。この近傍探索装置は、指定されたクエリ点について近傍となる点データを探索する近傍探索装置であって、各ノードの配下点の数に応じて、配下点の多いノードの探索範囲は配下点の少ないノードの探索範囲より小さくなるように、クエリ点の探索領域を定めることを特徴としている。
本発明によれば、検索対象ごとに適切なインデクスを選択可能とした近傍探索装置を実現することができる。
また、本発明によれば、ノードの情報(包囲領域の大きさ、内部の点数など)によって枝刈り度合を変化させ、検索時間と検索の正確性のトレードオフをより適したものにすることが可能となる。
また、本発明によれば、ノードの情報(包囲領域の大きさ、内部の点数など)によって枝刈り度合を変化させ、検索時間と検索の正確性のトレードオフをより適したものにすることが可能となる。
以下、図面を参照しながら本発明の実施の形態を説明する。
[1.用語の定義]
本明細書中の主な用語の定義を示す。
「多次元データ(点データ)」とは、一つのデータが複数の値で構成されているものをいう。
「k−近傍検索」とは、ある点(クエリ)が与えられたとき、その点に近い点をk個検索する検索方法をいう。
「近似近傍探索」とは、近似的に近傍を検索することをいう。近似近傍探索の結果は、最良性は保証され無いが、通常の近傍探索に比して高速に探索を行うことができる点で優れる。
「木ノードの配下点数」とは、部分木も含めてノードの配下にある点データの個数をいう。
[1.用語の定義]
本明細書中の主な用語の定義を示す。
「多次元データ(点データ)」とは、一つのデータが複数の値で構成されているものをいう。
「k−近傍検索」とは、ある点(クエリ)が与えられたとき、その点に近い点をk個検索する検索方法をいう。
「近似近傍探索」とは、近似的に近傍を検索することをいう。近似近傍探索の結果は、最良性は保証され無いが、通常の近傍探索に比して高速に探索を行うことができる点で優れる。
「木ノードの配下点数」とは、部分木も含めてノードの配下にある点データの個数をいう。
「ページアクセス数」とは、I/Oの回数をいう。ここでの「ページ」は一定の大きさの領域という意味である。このページアクセス数は、データベースでの性能指標として用いる。機器に依存せず、ほとんどの機器では、計算量よりI/Oの回数のほうが、処理時間の長短に影響する。
「MBS(Minimal Bounding Sphere)」とは、ノードの配下点全てを含む超球をいう。
「MBR(Minimal Bounding Rectangle)」とは、ノードの配下点全てを含む超直方体をいう。
「SR−tree」とは、MBS,MBRの共通部分を包囲領域と定める多次元インデクスである。
「MBS(Minimal Bounding Sphere)」とは、ノードの配下点全てを含む超球をいう。
「MBR(Minimal Bounding Rectangle)」とは、ノードの配下点全てを含む超直方体をいう。
「SR−tree」とは、MBS,MBRの共通部分を包囲領域と定める多次元インデクスである。
[1.第一の実施の形態]
[1.1.近傍探索装置の構成例]
本発明の第一の形態である近傍探索装置は、近傍探索を実行する装置である。
近傍探索装置は、演算処理装置(CPU)、主メモリ(RAM)、読出し専用メモリ(ROM)、入出力装置(I/O)、必要な場合にはハードディスク装置等の外部記憶装置を具備している情報処理装置、或いはそのような情報処理装置を含む装置であって、例えばコンピュータ、携帯電話機、HDレコーダ、家電製品などである。近傍探索装置の前記ROM、若しくはハードディスク装置などにプログラムが記憶されており、このプログラムを主メモリ上に載せ、CPUがこれを実行することにより近傍探索装置が実現される。
[1.1.近傍探索装置の構成例]
本発明の第一の形態である近傍探索装置は、近傍探索を実行する装置である。
近傍探索装置は、演算処理装置(CPU)、主メモリ(RAM)、読出し専用メモリ(ROM)、入出力装置(I/O)、必要な場合にはハードディスク装置等の外部記憶装置を具備している情報処理装置、或いはそのような情報処理装置を含む装置であって、例えばコンピュータ、携帯電話機、HDレコーダ、家電製品などである。近傍探索装置の前記ROM、若しくはハードディスク装置などにプログラムが記憶されており、このプログラムを主メモリ上に載せ、CPUがこれを実行することにより近傍探索装置が実現される。
図1に近傍探索装置の構成例を示す。近傍探索装置1は、記憶部10と、データベース管理部(フレームワークともいう)20と、インデクス部30と、入力部40と、出力部50とを有する。
[1.1.1.記憶部]
本発明の記憶手段に相当する記憶部10は、探索に使用するデータを記憶する機能を有する。より詳しくは、記憶部10は、ノードテーブル11、点テーブル12、メタテーブル13を記憶する。
本発明の記憶手段に相当する記憶部10は、探索に使用するデータを記憶する機能を有する。より詳しくは、記憶部10は、ノードテーブル11、点テーブル12、メタテーブル13を記憶する。
ノードテーブル11は、インデクスのノード情報が記述されたデータ(テーブル)である。図2に、ノードテーブル11のデータ構成例を示す。ノードテーブル11は、ノードごとに一つのレコード110を有し、各レコードは、ノードIDを格納するノードIDフィールド111と、ノード内容を格納するノード内容フィールド112とを有する。ノードIDはノードを一意に特定する情報であり、ノード内容は、インデクスのノード内容を示す情報であり、例えばインデクスがSR−treeであれば親ノードのid、子ノードの包囲領域や、idなどの情報である。
点テーブル12は、各点について、その点がどのノードに入っているかを示す情報が記述されたデータ(テーブル)である。図3に、点テーブル12のデータ構成例を示す。点テーブル12は、点ごとに一つのレコード120を有し、各レコードは、点IDを格納する点IDフィールド121と、その点が入っているノードのノードIDを格納する所属IDフィールド122とを有する。
図4は、ある木データから生成されるノードテーブル11及び点テーブル12の例を示した図である。木データ40は、図中丸印で示される10個のノードを有する。丸印中に表示した数字はそのノードのノードIDである。ここで、ノードIDをかっこ<>内に示してノードを区別する。たとえば、ノードID「1」を有するノードをノード<1>と呼ぶ。木データ40は、根ノードであるノード<4>と、中間ノードである3つのノード、ノード<5>、ノード<6>、ノード<7>と、葉ノードである5つのノード、ノード<1>、ノード<2>、ノード<10>、ノード<8>、ノード<9>とを有する。
ノードには点データが含まれてよいが、この木データ40においては、葉ノードのみが点データを有するものとする。点データの個数は28個でありそれぞれ1から28までの点IDが付与されているものとする。なお、図4において点データの図示は省略している。
また、上記木データ40から生成されるノードテーブル11及び点テーブル12を図4に示す。
また、上記木データ40から生成されるノードテーブル11及び点テーブル12を図4に示す。
メタテーブル13は、インデクスのメタ情報を記述したデータ(テーブル)である。図5に、メタテーブル13のデータ構成例を示す。メタテーブル13は、インデクスの種別ごとに一つのレコード130を有し、各レコードは、点次元(各点が有する特徴量の数)を格納する点次元フィールド131と、そのインデクスの種別を示す情報を格納するインデクス種別フィールド132と、そのインデクスに含まれるノードサイズを格納するノードサイズフィールド133と、そのインデクスに含まれるノードの最大数を格納する最大点IDフィールド134と、そのインデクスに含まれる点の点IDうち最大の値を格納する最大点IDフィールド135と、そのインデクスのインデクス依存メタデータを格納するインデクス依存メタデータフィールド136とを有する。
インデクス依存メタデータは、インデクス部30が、近傍探索等を実行する場合に使用するデータである。以下にインデクス依存メタデータの一例を説明する。ここでは、インデクス種別はSR−treeであるものとして以下のインデクス依存メタデータの説明を行うが、本発明で使用可能なインデクスがSR−treeに限られる趣旨ではなく、近傍探索等を実行可能なインデクスを生成可能などのような方式であっても本探索装置1は使用可能である。
図6は、SR−treeのデータ構造設計の例を示した図である。このようなデータ構造を有するSR−treeのインデクス依存メタデータの例を以下に示す。この例では、インデクス依存メタデータは基本データ、中間ノードデータ、葉ノードデータから構成される。図7は、インデクス依存メタデータの基本データのデータ構成例を示す。図8は、インデクス依存メタデータの中間ノードデータのデータ構成例を示す。但し、図中、項目番号5「子のノードID」から項目番号10「子のMBR上限」については、そのノードのセル数分だけ繰り返される(図では一つのセル分のみ表示した)。図9は、インデクス依存メタデータの葉ノードデータのデータ構成例を示した図である。但し、図中、項目番号5「点データ」については、そのノードに含まれる点の数分だけ繰り返される(図では一つの点分のみ表示した)。
図1に戻り、近傍探索装置1の構成例の説明を続ける。
図1に戻り、近傍探索装置1の構成例の説明を続ける。
[1.1.2.データベース管理部]
本発明のデータベース手段に相当するデータベース管理部20は、インデクス部30からの要求に応じて記憶部10へのデータアクセスを処理する機能を有する。すなわち、データベース管理部20は、インデクスのデータ内容(たとえば、インデクス依存メタデータ136)のデータ内容を考慮して処理するものではなく、固定長のバイト列として認識できればよい。
本発明のデータベース手段に相当するデータベース管理部20は、インデクス部30からの要求に応じて記憶部10へのデータアクセスを処理する機能を有する。すなわち、データベース管理部20は、インデクスのデータ内容(たとえば、インデクス依存メタデータ136)のデータ内容を考慮して処理するものではなく、固定長のバイト列として認識できればよい。
また、データベース管理部20は、ユーザからの指示を受け取ると、メタテーブル13のインデクス依存メタデータを用いて、その指示に対応した(適した)インデクス技術を探し、その指示を実行するための処理をインデクス部30に行わせる。
[1.1.3.インデクス部]
本発明のインデクス手段に相当するインデクス部30は、インデクス依存メタデータの生成、インデクス依存メタデータを利用した探索などの実行を行う機能を有する。
本発明のインデクス手段に相当するインデクス部30は、インデクス依存メタデータの生成、インデクス依存メタデータを利用した探索などの実行を行う機能を有する。
以下に、インデクス部30が実行する処理の具体例を挙げる。
(1) create
この処理は、データベース上でインデクスが作られるときに呼ばれる。呼び出されると、作られたインデクスを返す処理を行う。
(2)connect
この処理は、データベース上に存在するインデクスに接続する際呼ばれる処理である。呼び出されると、接続先のインデクスを返す。
(3)insert(index, id, point)
(id, point)をindexに挿入する処理を行う。
(1) create
この処理は、データベース上でインデクスが作られるときに呼ばれる。呼び出されると、作られたインデクスを返す処理を行う。
(2)connect
この処理は、データベース上に存在するインデクスに接続する際呼ばれる処理である。呼び出されると、接続先のインデクスを返す。
(3)insert(index, id, point)
(id, point)をindexに挿入する処理を行う。
(4)delete(index, id)
IDがidのエントリをindexから削除する処理を行う。
(5)knnSearch(index, query, k, eps)
knn探索を行う処理である。処理の結果として、queryから近い点をk個、誤差係数epsで探索して返す。図10に、knnSearchを実行するプログラムの疑似コードを示す。
(6)searchByID(index, id)
IDがidの点を返す処理である。
(7)costKNN(index)
kNN探索コストを見積もって返す処理である。
(8)getMetadataLength(dimension)
点の次元dimensionを参考に、インデクス依存メタデータの領域長を返す。
(9)free(index)
メモリ上のindexオブジェクトを解放する処理である。
IDがidのエントリをindexから削除する処理を行う。
(5)knnSearch(index, query, k, eps)
knn探索を行う処理である。処理の結果として、queryから近い点をk個、誤差係数epsで探索して返す。図10に、knnSearchを実行するプログラムの疑似コードを示す。
(6)searchByID(index, id)
IDがidの点を返す処理である。
(7)costKNN(index)
kNN探索コストを見積もって返す処理である。
(8)getMetadataLength(dimension)
点の次元dimensionを参考に、インデクス依存メタデータの領域長を返す。
(9)free(index)
メモリ上のindexオブジェクトを解放する処理である。
図1に戻り、近傍探索装置1の構成例の説明に戻る。
[1.1.4.入力部、出力部]
入力部40は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。入力される情報には、使用するインデクスの指定、探索の場合の指定点(クエリ)、k−近傍探索の要素数k等が含まれる。
[1.1.4.入力部、出力部]
入力部40は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。入力される情報には、使用するインデクスの指定、探索の場合の指定点(クエリ)、k−近傍探索の要素数k等が含まれる。
出力部50は、例えば、ディスプレイ、プリンタ、スピーカ等であり、ユーザへの問い合わせや検索結果の出力に用いられる。
[2.第二の実施の形態]
本発明の第二の実施の形態は、上記の近傍探索装置であって、ノード(セル)の大きさによって枝刈り度合を変化させる近似近傍探索を実行する近傍探索装置として提案される。
本発明の第二の実施の形態は、上記の近傍探索装置であって、ノード(セル)の大きさによって枝刈り度合を変化させる近似近傍探索を実行する近傍探索装置として提案される。
従来の近似近傍探索は、近似係数を平たんに考えていた。しかし、大きな(配下点の多い)部分木と、小さな(配下点の少ない)部分木では重要性と探索コストが異なる。すなわち、大きな部分木は配下点が多く、その結果、近傍となる点が含まれている可能性が高いが、点数が多いため探索コストが増大する。また、大きな部分木は包囲範囲が大きいため、近傍となる点が含まれている可能性が低い(配下点が偏った分散をしている可能性がある)。小さな部分木についてはこの逆の性質となる。
図11、図12は大きな部分木は包囲範囲が大きいため、近傍となる点が含まれている可能性が低いことを説明する説明図である。図11、図12はクエリ点1100に対して大きな部分木1101と小さな部分木1102とが存在している。なお、大きな部分木1101は、二つの子ノード1107を有し、子ノード1107に点データ1106(図中、黒い四角で表示し、参照符号1106を代表する点データにのみ付し、他の点データについては省略)が含まれている。
本実施の形態にかかる近傍探索装置1は、大きな部分木用の探索領域1104と小さな部分木用の探索領域1103とを用いて、近似近傍探索を行う。クエリ点1100に対する最近接点が探索領域内にあれば、その部分木内に含まれる点データ1106について近似近傍探索の対象となる点として取り扱う。最近接点が探索領域内になければ、その部分木内の点データは対象としない(その部分木を枝刈りする、ともいう)。
大きな部分木では、図11、12に示すように点データは部分木内に均等に分散しているのではなく、偏在するのが一般的である。探索領域内に偏在した点データが含まれていない場合には、近似近傍探索の対象となる部分木として扱うことは好ましくない。図11の例では、大きな部分木用の探索領域1103に、大きな部分木の最近接点がないため、大きな部分木1101内の点データは対象としない(その部分木を枝刈りする、ともいう)。大きな部分木1101内の点データ1106は、クエリ点1100から離れているため、この例では探索の対象外とすることが好ましい。
一方、図12に示す例では、図11の場合と同様に、大きな部分木用の探索領域1104に、大きな部分木の最近接点がないため、大きな部分木1101内の点データは対象としないが、大きな部分木1103に含まれる点データがクエリ点1100に近い。この場合には本来であれば、近似近傍探索の対象とするのが好ましいが、このような状態はあまり頻繁に起こらないと判断し、図11と同様に枝刈りするものとする。
本実施の形態では、大きな部分木1101と小さな部分木1102の探索領域1104,1103の大きさ(半径)を決定する値を変えて近似近傍検索を行う。なお、探索領域は、クエリ点1100を中心とする半径rの円(多次元空間においては超球)として定義される。この半径rは、以下の計算式により定められる。
図13は、本実施の形態にかかる近傍探索装置1、より詳しくはインデクス部30が実行する近似近傍探索処理の処理例を示すフローチャートである。
近似近傍探索処理を開始すると、インデクス部30は、ユーザからの指示情報として、クエリ点q、検索件数k、近似係数εを取得する。これ等の指示情報はユーザが入力部40により入力したものをデータベース管理部20が受け取り、データベース管理部20がインデクス部30に渡す。
インデクス部30はメタテーブル13、より詳しくはインデクス依存メタデータ136を参照し、その根ノード(Root)をNとする(ノードNとして記憶する)(ステップS10)。次に、インデクス部30はノードN内のセルをクエリ点から近い順に並べ、その結果をCとして記憶する(ステップS20)。
次に、インデクス部30はCから1個セルを取り出す。そのセルをC0と呼ぶ。また、インデクス部30はセルC0をCから削除する(ステップS30)。
次に、インデクス部30は近似係数εからε’(イプシロンプライム;近似係数εと区別するため、修正近似係数と呼ぶ)を計算する。
ここで、ε’は 0 ≦ ε’ ≦ εをみたすため、与えられた近似係数εの最悪保障を逸脱することはない。
次に、インデクス部30は、クエリ点に対するセルC0の最近接点とクエリ点との距離と、検索結果のk番目の点データからクエリ点qへの距離の1/(1+ε’)倍より近いか否かを判定する(ステップS40)。
前記ステップS40の判定結果が、クエリ点に対するセルC0の最近接点とクエリ点との距離と、検索結果のk番目の点データからクエリ点qへの距離の1/(1+ε’)倍より近いと判定された場合(ステップS40、YES)には、インデクス部30は、セルC0が指すノードを新たなノードNとする(ステップS50)。次に、インデクス部30は、この新たなノードNが葉ノードであるか否かを判定する(ステップS60)。ステップS60の判定結果が、ノードNは葉ノードでないとなった場合(ステップS60、NO)は、インデクス部30は、前述のステップS20の処理に戻る。一方、ステップS60の判定結果が、ノードNは葉ノードであるとなった場合(ステップS60、YES)は、インデクス部30は、セルC0内の点データそれぞれとクエリ点qとの距離を計算し、すでに検索済みの点データのうちk番目の点データとクエリ点との距離より近い点データがあれば、その点データを前記k番目の点データと置き換える(ステップS70)。
次に、インデクス部30は、近傍点データの候補となっている点データをクエリ点との距離の順にソートする(ステップS80)。次に、インデクス部30は、ノードNを現在のノードNの親ノードに戻し、Cもその親ノードのセルの集合に戻す(ステップS90)。次に、インデクス部30は前述のステップS30に戻る。
さて、ステップS40において、判定結果が、クエリ点に対するセルC0の最近接点とクエリ点との距離と、検索結果のk番目の点データからクエリ点qへの距離の1/(1+ε’)倍より近くないとなった場合(ステップS40、NO)には、インデクス部30は現在のノードNが根ノードか否かを判定する(ステップS100)。この判定結果がノードNが根ノードであるとなった場合(ステップS100、YES)には、インデクス部30は近似近傍探索処理を終了し、その時点で記憶している1番目からk番目の点データを近似近傍探索結果として出力する。一方、この判定結果がノードNが根ノードでないとなった場合(ステップS100、NO)には、前述のステップS90に進み、近似近傍探索処理を続行する。
以上で、本実施の形態における近似近傍探索処理の例の説明を終了する。
図14に、本実施の形態にかかる近似近傍検索結果と既存の近似近傍検索結果との比較を示した。同図において、縦軸はページアクセス率を示し、横軸は近傍探索の結果得られた点データと完全に一致した割合(完全に一致した場合を1とした)。また、前述の修正近傍係数ε’の計算式における定数γを1とした場合、及び2とした場合を比較した。
図14に示す結果から、本実施の形態にかかる近似近傍検索方法は、既存の近似近傍検索に比して、同じページアクセス率であっても正解率が高いことが検証された。
1…近傍探索装置
10…記憶部
11…ノードテーブル
12…点テーブル
13…メタテーブル
20…データベース管理部
30…インデクス部
10…記憶部
11…ノードテーブル
12…点テーブル
13…メタテーブル
20…データベース管理部
30…インデクス部
Claims (3)
- それぞれのインデクスのデータ構造に対応するインデクス依存メタデータを有するメタテーブルを記憶する記憶手段と、
ユーザからの指示を受け取ると、その指示に対応したインデクスを探し、そのインデクスに対応するインデクス依存メタデータを用いて、指示に対応した処理を行わせるデータベース手段と、
前記データベース手段からの指示に基づいて、前記インデクス依存メタデータを用いて、指示された処理を行うインデクス手段と
を有することを特徴とする近傍探索装置。 - 指定されたクエリ点について近傍となる点データを探索する近傍探索装置であって、各ノードの配下点の数に応じて、配下点の多いノードの探索範囲は配下点の少ないノードの探索範囲より小さくなるように、クエリ点の探索領域を定めることを特徴とする近傍探索装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129156A JP2010277329A (ja) | 2009-05-28 | 2009-05-28 | 近傍探索装置 |
US12/716,370 US20100306201A1 (en) | 2009-05-28 | 2010-03-03 | Neighbor searching apparatus |
CN2010101299690A CN101901246A (zh) | 2009-05-28 | 2010-03-09 | 邻元素搜索设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009129156A JP2010277329A (ja) | 2009-05-28 | 2009-05-28 | 近傍探索装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010277329A true JP2010277329A (ja) | 2010-12-09 |
Family
ID=43221391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009129156A Withdrawn JP2010277329A (ja) | 2009-05-28 | 2009-05-28 | 近傍探索装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100306201A1 (ja) |
JP (1) | JP2010277329A (ja) |
CN (1) | CN101901246A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021026576A (ja) * | 2019-08-06 | 2021-02-22 | ヤフー株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2696298B1 (en) * | 2011-04-05 | 2017-07-12 | Nec Corporation | Information processing device |
US9489398B2 (en) * | 2012-06-25 | 2016-11-08 | Sap Se | Columnwise range K-nearest neighbors search queries |
KR102016545B1 (ko) * | 2013-10-25 | 2019-10-21 | 한화테크윈 주식회사 | 검색 시스템 및 그의 동작 방법 |
US9740722B2 (en) * | 2014-01-06 | 2017-08-22 | International Business Machines Corporation | Representing dynamic trees in a database |
CN108829880B (zh) * | 2018-06-27 | 2020-12-01 | 烽火通信科技股份有限公司 | 一种光网络终端设备的配置管理的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263334B1 (en) * | 1998-11-11 | 2001-07-17 | Microsoft Corporation | Density-based indexing method for efficient execution of high dimensional nearest-neighbor queries on large databases |
US7797638B2 (en) * | 2006-01-05 | 2010-09-14 | Microsoft Corporation | Application of metadata to documents and document objects via a software application user interface |
US20070250476A1 (en) * | 2006-04-21 | 2007-10-25 | Lockheed Martin Corporation | Approximate nearest neighbor search in metric space |
US20080097757A1 (en) * | 2006-10-24 | 2008-04-24 | Nokia Corporation | Audio coding |
-
2009
- 2009-05-28 JP JP2009129156A patent/JP2010277329A/ja not_active Withdrawn
-
2010
- 2010-03-03 US US12/716,370 patent/US20100306201A1/en not_active Abandoned
- 2010-03-09 CN CN2010101299690A patent/CN101901246A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021026576A (ja) * | 2019-08-06 | 2021-02-22 | ヤフー株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
JP7121706B2 (ja) | 2019-08-06 | 2022-08-18 | ヤフー株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100306201A1 (en) | 2010-12-02 |
CN101901246A (zh) | 2010-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Index-based densest clique percolation community search in networks | |
Zhang et al. | Keyword search in spatial databases: Towards searching by document | |
Whang et al. | Pay-as-you-go entity resolution | |
US10754887B1 (en) | Systems and methods for multimedia image clustering | |
Drosou et al. | Diverse set selection over dynamic data | |
Song et al. | Solutions for processing k nearest neighbor joins for massive data on mapreduce | |
JP2010277329A (ja) | 近傍探索装置 | |
Ponomarenko et al. | Comparative analysis of data structures for approximate nearest neighbor search | |
Zhang et al. | Effectively indexing the multi-dimensional uncertain objects for range searching | |
Adamu et al. | A survey on big data indexing strategies | |
Gulzar et al. | Optimizing skyline query processing in incomplete data | |
Alewiwi et al. | Efficient top-k similarity document search utilizing distributed file systems and cosine similarity | |
Kumar et al. | Ontology based semantic indexing approach for information retrieval system | |
JP5470082B2 (ja) | 情報蓄積検索方法及び情報蓄積検索プログラム | |
Günnemann et al. | Subspace clustering for indexing high dimensional data: a main memory index based on local reductions and individual multi-representations | |
JP4440246B2 (ja) | 空間インデックス方法 | |
Xu et al. | Query aware determinization of uncertain objects | |
Schuh et al. | Mitigating the curse of dimensionality for exact knn retrieval | |
US10394870B2 (en) | Search method | |
JP3938815B2 (ja) | ノード作成方法、画像検索方法及び記録媒体 | |
KR100667741B1 (ko) | 특징 벡터 데이터 공간의 인덱싱 방법 | |
Arseneau et al. | STILT: Unifying spatial, temporal and textual search using a generalized multi-dimensional index | |
Schuh et al. | Improving the Performance of High-Dimensional k NN Retrieval through Localized Dataspace Segmentation and Hybrid Indexing | |
Han et al. | Ranking the big sky: efficient top-k skyline computation on massive data | |
CN111984828A (zh) | 一种邻居节点检索方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120807 |