JP3639480B2 - 類似データ検索方法,類似データ検索装置,および類似データ検索用プログラム記録媒体 - Google Patents
類似データ検索方法,類似データ検索装置,および類似データ検索用プログラム記録媒体 Download PDFInfo
- Publication number
- JP3639480B2 JP3639480B2 JP31491999A JP31491999A JP3639480B2 JP 3639480 B2 JP3639480 B2 JP 3639480B2 JP 31491999 A JP31491999 A JP 31491999A JP 31491999 A JP31491999 A JP 31491999A JP 3639480 B2 JP3639480 B2 JP 3639480B2
- Authority
- JP
- Japan
- Prior art keywords
- space
- cell
- cell space
- vector
- feature
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は,検索キーを与えると,類似度の高いものからk件の類似データを高速に返却するような類似データ検索技術に関するものである。
【0002】
【従来の技術】
例えば,情報処理学会論文誌:データベース,Vol.40,No.SIG3(TOD1),pp.171-184,「色や形状等の表層的特徴量にもとづく画像内容検索技術」では,各画像データから抽出される色や形状の特徴量を多次元空間におけるベクトル(多次元ベクトル)として表現し,画像データの特徴量ベクトルとしてデータベースに格納している。検索時においては,与えられた検索キー画像より抽出される該検索キー画像の特徴量ベクトルと,データベース中に格納されている各画像の特徴量ベクトルとの距離を計算し,距離の近い画像を類似画像とすることにより,画像データの検索を実現している。
【0003】
このようなシステムでは,一般に検索キーを表現する特徴量ベクトルと,格納している各データを表現する特徴量ベクトルとの距離が類似尺度となるが,距離計算の計算量が多くなることから,距離計算量を削減する手法が多く提案されている。
【0004】
その一つに,第24回VLDB(Very Large Database )国際会議("A Quantitative Analysis and Performance Study for Similarity-Search Methods in High-Dimensional Spaces",Proc. Of the 24th VLDB Conference,1998. )で提案されているVA‐File法がある。
【0005】
一般に,特徴量ベクトルはディスクに格納され,また多次元ベクトルの各次元の値は整数値または浮動小数点値で表現される。特に,高次元の多次元空間では,このようなベクトルを表現するためのデータ量が多くなり,さらにデータ数が多くなると,多数のディスクI/Oを生じることになって検索効率が悪くなるという問題がある。
【0006】
VA‐File法では,多次元ベクトルの各次元軸を定数個に等分割することにより多次元空間をメッシュ状に分割し,分割されてできた一つ一つの空間(セル空間と呼ぶ)をビット列で表現する。例えば,2次元(x軸,y軸)の多次元空間があり,各次元軸を2分割(0,1)するとすると,分割されてできた(x,y)空間はそれぞれ,00,01,10,11のビット列で表現される。
【0007】
多次元空間における特徴量ベクトルは,多次元空間中の点の位置と等価と考えられる。このため,VA‐File法では,次に,整数値または浮動小数点値で表現される特徴量ベクトルで表現される点が,多次元空間中のどのセル空間に含まれるかを計算し,その特徴量ベクトルを該特徴量ベクトルが表現される点を含むセル空間を表現するビット列で表現する。VA‐File法では,特徴量ベクトルを格納するファイルのほかに,各特徴量ベクトルが示す多次元空間内の点を含むセル空間を示すビット列からなるファイル(VA‐Fileと呼ぶ)を持つ。
【0008】
検索の際には,まず,VA‐Fileを対象として,特徴量ベクトルが示す多次元空間内の点を含むセル空間を表現するビット列をもとに,該セル空間を復元する。一般に,類似検索は与えられる検索キーと類似しているデータを類似度が高い順にk件検索するために,k近傍検索と呼ばれている。
【0009】
VA‐File法では,特徴量ベクトルが示す多次元空間内の点を含むセル空間と,検索キーの特徴量ベクトルが示す多次元空間内の点との距離を計算することにより,おおまかに類似度を計算してk件の候補特徴量ベクトルを絞り込む。次に,絞り込まれた候補特徴量ベクトルに対して実際の特徴量ベクトルを読み出し,実際の類似度を算出し,類似度の高い順にk件検索を行う。したがって,高圧縮されたVA‐Fileを順次読み出すことと,VA‐Fileを用いての候補絞り込みによって,特徴量ベクトルを格納するファイルヘのアクセスを削滅することにより,ディスクI/Oを抑制できる効果がある。
【0010】
しかしながら,VA‐File法では,検索時に,検索キーの特徴量ベクトルと,予め格納された特徴量ベクトルが示す多次元空間内の点を含むセル空間に対して,総当たりに距離計算を行うために,データ数に比例して距離計算量が増加してしまう問題点がある。
【0011】
【発明が解決しようとする課題】
本発明の目的は,上記のようなデータ数が増加すると比例数的に距離計算回数が増加し検索性能が悪化するという問題を解決した高速な類似データ検索方法を提供することにある。
【0012】
【課題を解決するための手段】
本発明は,上記課題を解決するために,各データの特徴量が多次元空間における多次元ベクトル(特徴量ベクトルと呼ぶ)として表現され,検索キーが表現する特徴量ベクトルとの距離の近い順に上位k件(kは1以上の整数)の検索結果を返すような類似データの検索技術において,多次元空間の各次元軸を次元軸毎に2以上の任意の数に等分割し,分割された該次元軸の各区間をビット列で表現し,また,該ビット列を連結することにより,該多次元空間を等分割した部分空間(セル空間と呼ぶ)をビット列で表現し,等分割されたセル空間を,さらに各次元軸に対し次元軸毎に該セル空間の分割時と同じ数に等分割することにより該セル空間を全体空間とした部分空間をビット列表現することを順に繰り返し,特徴量ベクトルが示す多次元空間内の点を含むセル空間を階層的にビット列で表現し,これらのビット列で表現された情報を用いて特徴量ベクトルを管理し,類似したデータを検索することを最も主要な特徴とする。
【0013】
本発明は,さらに詳しくは,
特徴量ベクトルを管理する特徴量ベクトル管理手段と,
多次元空間の各次元軸を次元軸毎に2以上の任意の数に分割したときに構成される部分空間(セル空間)を階層的に構築するための,各階層における各次元軸毎のセル空間の幅を管理するセル幅管理手段と,
特徴量ベクトルが示す多次元空間内の点が各階層においてどのセル空間に含まれるかを判定し,該セル空間を表現するビット列を構築するビット列構築手段と,
ビット列構築手段により各階層毎に構築されたセル空間を表現するビット列を,該セル空間の包含関係にもとづいて木状に管理するととともに,最下層のセル空間が示すビット列と該セル空間が含む特徴量ベクトルとの対応を管理するセル空間管理手段と,
セル空間を表現するビット列を,セル幅管理手段が管理する各次元のセル幅を用いて該セル空間に復元するセル空間復元手段と,
検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間との距離,および検索キーの特徴量ベクトルが示す多次元空間内の点と特徴量ベクトル管理手段が管理する各特徴量ベクトルが示す多次元空間内の点との距離を算出する距離計算手段と,
距離計算手段が算出する検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間の距離をもとに検索結果の候補となるセル空間を絞り込んで管理する候補セル空間管理手段と,
候補セル空間管理手段が管理するセル空間に含まれる特徴量ベクトルを特徴量管理手段より読み出し,検索キーの特徴量ベクトルが示す多次元空間内の点と特徴量管理手段より読み出された該特徴量ベクトルが示す多次元空間内の点との距離をもとに,最終的な検索結果を管理する検索結果管理手段とを用いて,
多次元空間を分割するセル空間を階層的に構築し,階層化された各セル空間を表現するビット列を用いて特徴量ベクトルを管理し,類似検索を行うことを特徴とする。
【0014】
以上の処理をコンピュータによって実現するためのプログラムは,コンピュータが読み取り可能な可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができる。
【0015】
従来の技術とは,特徴量ベクトルを該特徴量ベクトルが示す多次元空間内の点を含むセル空間を表現するビット列を用いて1階層で管理するのではなく,多次元空間内のデータ全体の偏りに応じて複数階層で管理する手段を持つ点が異なる。
【0016】
本発明は,以下のように作用する。
【0017】
特徴量ベクトル管理手段は,多次元空間内に存在する特徴量ベクトルを一意な識別子により管理している。このため,同一点を含めたすべてのデータを一意に特定することが可能となる。
【0018】
セル幅管理手段は,各階層毎に多次元空間の各次元軸に対応したセルの幅を管理している。このため,セル空間をビット列化する際の基準となる数値や,ビット列からセル空間を復元する際の基準となる数値を高速に提供することが可能となる。
【0019】
ビット列構築手段は,まず1番目の階層について,特徴量ベクトルを各次元軸単位にセル幅管理手段が管理するセル幅に従って何番目の区間に含まれるかを判定し,該区間をビット列で表現し,次に,各次元軸毎に構築されたビット列を連結することにより,該特徴量ベクトルが示す多次元空間内の点を含むセル空間を表現するビット列を構築する。2番目の階層以降については,上位階層のセル空間を全体空間として,1番目の階層と同様にビット列を構築する。このため,各階層内に応じたセル幅をもとにビット列を構築することが可能となる。
【0020】
セル空間管理手段は,ビット列構築手段により構築されたセル空間を表現するビット列を,重複を排除して階層的に管理する。このため,同一セル空間に含まれる複数の特徴量ベクトルは該セル空間の階層では一つのビット列として表現される。したがって,各階層のセル幅に従って構築されたビット列を一意に正確に復元することが可能となり,また,ある階層における,検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間との距離計算回数を抑制することが可能となる。
【0021】
以上のことより,多次元空間を分割するセル空間を階層的に構築し,階層化された該各セル空間を表現するビット列を用いて特徴量ベクトルを管理することが可能となる。
【0022】
一方,セル空間復元手段は,セル空間管理手段が管理するビット列を,セル幅管理手段が管埋する各階層の幅をもとにセル空間を復元する。
【0023】
距離計算手段は,検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間,および特徴量ベクトル管理手段が管理する特徴量ベクトルが示す多次元空間内の点との距離計算を行う。このため,検索結果の類似度となる基準値を作成することが可能となる。
【0024】
候補セル空間管理手段は,距離計算手段が算出する検索キーの特徴量ベクトルが示す多次元空間内の点と,セル空間復元手段により復元されたセル空間との距離を用いて,候補セル空間の絞り込みを行う。絞り込みは上位の階層より行われるが,各階層のセル空間は,セル空間管理手段により,重複を排除して管理されているために,距離計算回数を抑制することが可能となる。また,候補セル空間の絞り込みにより,特徴量ベクトル管理手段が管理する特徴量ベクトルの参照回数を抑制できる。
【0025】
検索結果管理手段は,候補セル空間管理手段が管理する,検索結果の候補となる特徴量ベクトルを含むセル空間に含まれる特徴量ベクトルを,特徴量ベクトル管理手段より読み出し,距離計算手段が算出する検索キーの特徴量ベクトルが示す多次元空間内の点と該特徴量ベクトル管理手段より読み出された特徴量ベクトルが示す多次元空間内の点との距離を用いて検索結果を構築する。
【0026】
したがって,検索キーの特徴量ベクトルと類似した特徴量ベクトルを,類似した順に示す検索結果を構築することが可能となり,本発明の目的である高速な類似データ検索方法を提供することが可能となる。
【0027】
【発明の実施の形態】
以下,本発明の実施の形態を図面を用いて説明する。図1は,本発明に係る装置の構成図である。図1において,類似データ検索装置1は,CPUおよびメモリを備え,これらとソフトウェア・プログラムによって実現される索引構築・管理部2と,検索部3とからなる。索引構築・管理部2は,特徴量ベクトルの検索を高速に行うための索引を構築し管理する手段であり,特徴量ベクトル管理手段11,セル幅管理手段12,ビット列構築手段13,セル空間管理手段14を備える。検索部3は,索引構築・管理部2が構築した索引を用いて,検索キーが表現する特徴量ベクトルとの距離が近い順に上位k件の類似データを検索する手段であり,セル空間復元手段15,距離計算手段16,候補セル空間管理手段17,検索結果管理手段18を備える。
【0028】
図2は,多次元空間の各次元をビット化する際の規則を模式的に示した図である。データを2次元(x,y)の特徴量ベクトルとし,各次元が(0.0 ,1.0 )の範囲の浮動小数点値で表現されるとし,3つのデータ,A(0.2 ,0.7 ),B(0.7 ,0.3 ),C(0.8 ,0.1 )があるものとする。
【0029】
各次元を2分割(各次元を1ビットで表現)するとすると,1番目の階層においては,各次元において,0 〜0.5 の数値はビット値0に,0.5 〜1.0 はビット値1に対応することになる。したがって,A,B,Cの各特徴量ベクトルは,それぞれ01,10,10の2ビットのビット列で表現される。なお,各次元は必ずしも同じビット数(セル幅)である必要はないが,ここでは簡単のため各次元を2等分割することとしている。また,特徴量ベクトルB,Cは,1番目の階層において同じセル空間に含まれているが,2番目の階層においては,1番目の階層のセル空間内をさらに分割することにより,1番目の階層のセル空間を全体空間として,1番目の階層と同様に分割される。したがって,2番目の階層における特徴量ベクトルB,Cのビット列は,それぞれ01,10となる。
【0030】
図1に示す特徴量ベクトル管理手段11において,例えば,各特徴量ベクトルはファイルに格納されており,特徴量ベクトル管理手段11は,該特徴量ベクトルを一意の識別子により管理している。この識別子としては,例えば特徴量ベクトルの格納場所を示すファイル管理名とオフセットが用いられる。
【0031】
セル幅管理手段12は,図3に示すような各階層の各次元軸のセルの幅を保持している。このため,ビット列構築手段13における特徴量ベクトルが示す多次元空間内の点が含まれるセル空間の特定,およびセル空間復元手段15におけるビット列からのセル空間の復元を高速化している。
【0032】
ビット列構築手段13は,ビット列構築前にセル空間を表現するビット数が判明しているために,図4に示すようなセル空間を表現するビット列内の,各次元軸を表現する部分ビット列の開始位置と必要ビット数とを保持している。ビット列構築手段13は,例えば,特徴量ベクトルAが与えられると,セル幅管理手段12を用いて,x軸,y軸についてそれぞれ,0,1の部分ビット列(本例では,各次元軸を1ビットで表現するために単一ビット)を構築した後,該開始位置と該必要ビット数の情報を用いて,x軸,y軸のビット列を連結し,該セル空間を表現するビット列(本例では,01)を構築する。
【0033】
セル空間管理手段14は,ビット列構築手段13が構築するセル空間を表現するビット列と,該セル空間内に存在する特徴量ベクトルとの対応を,特徴量ベクトル管理手段11の管理する該特徴量ベクトルを示す一意の識別子を用いて管理する。セル空間を表現するビット列は,入力する特徴量ベクトルをもとに作成されるが,一つの階層における同一のビット列の重複は排除される。
【0034】
重複排除の一つの方法は,セル空間に含まれる複数の特徴量ベクトルをリスト化し,このリスト(同一セル空間内特徴量ベクトル管理リスト)を一意に識別するリスト識別子(例えば,メモリオフセット)を用いて,ビット列(セル空間)と特徴量ベクトルの対応を,特徴量ベクトル管理手段11の管理する識別子を用いる代わりに該リスト識別子を用いることである。なお,同一点についても同じ機構(同一特徴量ベクトル管理リスト)で管理できる。
【0035】
もう一つの重複排除の方法が,セル空間の階層化である。これを特徴量ベクトルB,Cを用いて説明する。特徴量ベクトルB,Cについては,1番目の階層においては同じビット列(10)となる。このとき,1番目の階層のセル空間を全体空間とみなして1番目の階層同様,2番目の階層のセル空間を構築して該セル空間を示すビット列を構築する。1番目の階層においては,ビット列(セル空間)と特徴量ベクトルの対応を,特徴量ベクトル管理手段11の管理する識別子を用いる代わりに,下位の階層におけるセル空間を管理する識別子(例えば,メモリオフセット)を用いる。また,2番目の階層では,1番目の階層における特徴量ベクトルAの管理方法と同じ方法で管理する。
【0036】
このとき,セル幅管理手段12は,2番目の階層のためのセル幅情報を予め作成しておく方法と,ビット列作成を契機として該セル幅情報を作成する方法がある。なお,同一セル空間内特徴量ベクトル管理リストで管理可能な特徴量ベクトル数の閾値を設けて,閾値を越えた場合に階層化するといったことが可能である。
【0037】
以上のようなある階層における特徴量ベクトルの登録の処理の流れを,図5に示す。
【0038】
特徴量ベクトルを入力し(ステップS1),セル分割情報が定義されていない階層の場合には定義をして,特徴量ベクトルをビット列化する(ステップS2)。同じビット列があるかどうかを調べ(ステップS3),同じビット列がなければビット列および特徴量ベクトルの識別子を登録して処理を終了する(ステップS4)。同じビット列があるときは,同一点かどうかを調べ(ステップS5),同一点の場合には,単一特徴量ベクトルであれば,同一特徴量ベクトル管理リスト化してリストに登録し,既にリスト化されていれば,リストに追加登録して処理を終了する(ステップS6)。同一点でなければ,閾値以内かどうかを調べ(ステップS7),閾値以内であればステップS8へ,閾値以内でなければステップS9へ進む。
【0039】
ステップS8では,単一特徴量または同一特徴量ベクトル管理リストであれば,同一セル空間内特徴量ベクトル管理リスト化してリストに登録し,既にリスト化されていれば,リストに追加登録して処理を終了する。ステップS9では,下位のセル空間を作成し,同一セル空間内特徴量ベクトル管理リストで管理される特徴量および追加挿入特徴量を本アルゴリズムにより下位のセル空間に登録して処理を終了する。
【0040】
以上のような処理により構成されたセル空間管理の例を,図6に示す。図6では,2番目の階層におけるセル空間管理の識別子をメモリオフセットとしている。
【0041】
検索処理時においては,まず,セル空間管理手段14が管理する1番目の階層のすべてのビット列について,セル幅管理手段12が管理する各次元のセル空間の幅を用いてセル空間復元手段15が復元する該ビット列のセル空間と,検索キーの特徴量ベクトルとの距離を計算する。この距離計算には,距離計算手段16が用いられる。
【0042】
候補セル空間管理手段17は,検索結果の候補となる特徴量ベクトルを含む候補セル空間をソートしながら管理する。このとき,類似度の高い上位k件の特徴量ベクトル検索するとすると,k件目の特徴量ベクトルを含むセル空間と該検索キーの特徴量ベクトルとの最遠距離より遠い距離にあるセル空間は候補対象から外される(候補の絞り込み)。
【0043】
以上のような候補の絞り込みのための検索の処理の流れを図7に示す。ビット列を入力し(ステップS10),セル空間を復元して(ステップS11),セル空間の検索キーからの最近距離を算出する(ステップS12)。候補がk件あるかどうかを調べ(ステップS13),候補がk件なければ,ステップS15へ進む。候補がk件あれば,さらにステップS12で算出した最近距離が,k件目の候補を含むセル空間の最遠距離より小さいかどうかを調べる(ステップS14)。小さい場合にはステップS15へ進み,小さくない場合にはそのまま処理を終了する。
【0044】
ステップS15では,算出した最近距離のセル空間を候補セル空間リストに登録する(ステップS15)。次に,k件目の候補を含むセル空間の最遠距離が設定済みかどうか,または候補がk件に満たないかどうかを調べ(ステップS16),最遠距離が設定済みか,または候補がk件に満たない場合には,処理を終了する。k件目の候補を含むセル空間の最遠距離が設定済みでなく,かつ,候補がk件になったならば,検索キーからk件目の候補を含むセル空間の最遠距離を設定し,その後処理を終了する(ステップS17)。
【0045】
候補セル空間管理手段17は,以上のような候補セル空間の絞り込み処理を下位の階層がなくなるまで行う。
【0046】
検索結果管理手段18は,候補セル空間管理手段17により絞り込まれた候補セル空間について,特徴量ベクトル管理手段11より実際の特徴量ベクトルを読み出し,距離計算手段16が算出する該特徴量ベクトルと検索キーの特徴量ベクトルとの距離に従って,検索結果となる特徴量ベクトルをソートしながら管理する。このとき,候補セル空間管理手段17の絞り込み同様,k件目の特徴量ベクトルとの距離より遠い距離にあるセル空間については上記の処理対象から外される。
【0047】
このようにして,最終的に上位k件の類似特徴量の検索結果が求められる。
【0048】
【発明の効果】
以上説明したように,本発明によれば,距離計算回数の増加を抑制して高速な類似データ検索を実現することが可能となる。
【図面の簡単な説明】
【図1】本発明装置の構成図である。
【図2】多次元空間の部分空間であるセル空間をビット列化する方法を模式的に示した図である。
【図3】セル幅管理手段が保持するデータの例を示す図である。
【図4】ビット列構築手段が保持するデータの例を示す図である。
【図5】ある階層における特徴量ベクトルの登録の処理の流れを示す図である。
【図6】図2に示す特徴量ベクトルA,B,Cに対し,本発明を適用した結果構築される管理結果を模式的に示した図である。
【図7】検索の処理の流れを示す図である。
【符号の説明】
1 類似データ検索装置
2 索引構築・管理部
3 検索部
11 特徴量ベクトル管理手段
12 セル幅管理手段
13 ビット列構築手段
14 セル空間管理手段
15 セル空間復元手段
16 距離計算手段
17 候補セル空間管理手段
18 検索結果管理手段
Claims (11)
- 索引構築・管理手段と検索手段とを備える類似データ検索装置により,各データの特徴量が多次元空間における多次元ベクトルである特徴量ベクトルとして記憶手段内で表現され,検索キーが表現する特徴量ベクトルとの距離の近い順に上位k件の検索結果を返す類似データ検索方法において,
前記索引構築・管理手段が,検索対象となるデータの特徴量ベクトルを記憶手段に記憶する過程と,
前記索引構築・管理手段が,前記多次元空間の各次元軸を次元軸毎に2以上の任意の数に分割し,分割された該次元軸の各区間をビット列で表現し,また,該ビット列を連結することにより,分割された多次元空間の部分空間であるセル空間をビット列で表現し,前記セル空間を,さらに各次元軸について分割することにより該セル空間を全体空間とした部分空間をビット列表現することを順に繰り返し,特徴量ベクトルが示す多次元空間内の点を含むセル空間を階層的にビット列で表現する情報を生成し,これらのビット列で表現されたセル空間の情報と前記検索対象となる特徴量ベクトルとの対応情報を記憶手段に記憶する過程と,
前記検索手段が,検索キーの特徴量ベクトルが示す多次元空間内の点と前記ビット列で表現されたセル空間との距離を算出し,前記検索キーの特徴量ベクトルが示す多次元空間内の点に近い検索結果の候補となる特徴量ベクトルを含むセル空間を特定する過程と,
前記検索手段が,前記検索キーの特徴量ベクトルと前記特定されたセル空間に含まれる特徴量ベクトルとの距離計算により,検索キーに類似したデータを出力する過程とを有する
ことを特徴とする類似データ検索方法。 - 索引構築・管理手段と検索手段とを備える類似データ検索装置により,各データの特徴量が多次元空間における多次元ベクトルである特徴量ベクトルとして記憶手段内で表現され,検索キーが表現する特徴量ベクトルとの距離の近い順に上位k件の検索結果を返す類似データ検索方法において,
索引構築・管理手段が,前記特徴量ベクトルを管理するための索引の構築時に,
前記多次元空間の各次元軸を次元軸毎に2以上の任意の数に分割したときに構成される部分空間であるセル空間を階層的に構築するための,各階層における各次元軸毎のセル空間の幅を管理するセル幅管理過程と,
前記特徴量ベクトルが示す多次元空間内の点が,各階層においてどのセル空間に含まれるかを判定し,該セル空間を表現するビット列を構築するビット列構築過程と,
前記ビット列構築過程により各階層毎に構築されたセル空間を表現するビット列を該セル空間の包含関係により木状に管理するととともに,最下層のセル空間が示すビット列と該セル空間が含む特徴量ベクトルとの対応を管理するセル空間管理過程とを有し,
前記検索手段が,検索キーが表現する特徴量ベクトルに類似する特徴量ベクトルの検索時に,
セル空間を表現するビット列を,前記セル幅管理過程が管理する各次元のセル幅を用いて該セル空間に復元するセル空間復元過程と,
検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間との距離,および検索キーの特徴量ベクトルが示す多次元空間内の点と前記特徴量ベクトル管理過程によって管理される各特徴量ベクトルが示す多次元空間内の点との距離を算出する距離計算過程と,
前記距離計算過程が算出する検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間との距離をもとに,検索結果の候補となる特徴量ベクトルを含むセル空間を絞り込んで管理する候補セル空間管理過程と,
前記候補セル空間管理過程によって管理されるセル空間に含まれる特徴量ベクトルを読み出し,検索キーの特徴量ベクトルが示す多次元空間内の点と,前記読み出された特徴量ベクトルが示す多次元空間内の点との距離をもとに,最終的な検索結果を管理する検索結果管理過程とを有し,
前記多次元空間を分割するセル空間を階層的に構築し,階層化された各セル空間を表現するビット列を用いて特徴量ベクトルを管理し,類似したデータを検索する
ことを特徴とする類似データ検索方法。 - 前記セル幅管理過程において,予め各階層におけるセル空間の次元軸毎の幅を算出し格納する
ことを特徴とする請求項2に記載の類似データ検索方法。 - 前記セル幅管理過程において,予めすべての階層のセル幅を算出しておくのではなく,ビット列構築時に,ビット化に必要な階層のセル幅情報が保持されていないときに,該階層のセル幅を算出し格納することにより,動的にセル幅の情報を追加する
ことを特徴とする請求項2に記載の類似データ検索方法。 - 前記ビット列構築過程において,セル空間を表現するビット列内の各次元軸を表現する部分ビット列の開始位置と必要ビット数を管理する
ことを特徴とする請求項2に記載の類似データ検索方法。 - 前記セル空間復元過程において,ある階層の上位階層のビット列から復元されるセル空間を,該階層のビット列が示すセル空間の全体空間とすることにより,該階層の上位階層のセル空間の位置と,該階層のビット列と,前記セル幅管理過程によって管理される該階層のセル空間の幅とを用いて該階層のセル空間を復元する
ことを特徴とする請求項2に記載の類似データ検索方法。 - 前記候補セル空間管理過程において,候補となるセル空間について,前記セル空間復元過程により復元されるセル空間を保持する
ことを特徴とする請求項2に記載の類似データ検索方法。 - 各データの特徴量が多次元空間における多次元ベクトルである特徴量ベクトルとして表現され,検索キーが表現する特徴量ベクトルとの距離の近い順に上位k件の検索結果を返す類似データ検索装置において,
検索対象となるデータの特徴量ベクトルを記憶する手段と,
前記多次元空間の各次元軸を次元軸毎に2以上の任意の数に分割し,分割された該次元軸の各区間をビット列で表現し,また,該ビット列を連結することにより,分割された多次元空間の部分空間であるセル空間をビット列で表現し,前記セル空間を,さらに各次元軸について分割することにより該セル空間を全体空間とした部分空間をビット列表現することを順に繰り返し,特徴量ベクトルが示す多次元空間内の点を含むセル空間を階層的にビット列で表現する情報を生成し,これらのビット列で表現されたセル空間の情報と前記検索対象となる特徴量ベクトルとの対応情報を記憶する手段と,
検索キーの特徴量ベクトルが示す多次元空間内の点と前記ビット列で表現されたセル空間との距離を算出し,前記検索キーの特徴量ベクトルが示す多次元空間内の点に近い検索結果の候補となる特徴量ベクトルを含むセル空間を特定する手段と,
前記検索キーの特徴量ベクトルと前記特定されたセル空間に含まれる特徴量ベクトルとの距離計算により,検索キーに類似したデータを出力する手段とを備える
ことを特徴とする類似データ検索装置。 - 各データの特徴量が多次元空間における多次元ベクトルである特徴量ベクトルとして表現され,検索キーが表現する特徴量ベクトルとの距離の近い順に上位k件の検索結果を返す類似データ検索装置において,
特徴量ベクトルを管理する特徴量ベクトル管理手段と,
前記多次元空間の各次元軸を次元軸毎に2以上の任意の数に分割したときに構成される部分空間であるセル空間を階層的に構築するための,各階層における各次元軸毎のセル空間の幅を管理するセル幅管理手段と,
前記特徴量ベクトルが示す多次元空間内の点が,各階層においてどのセル空間に含まれるかを判定し,該セル空間を表現するビット列を構築するビット列構築手段と,
前記ビット列構築手段により各階層毎に構築されたセル空間を表現するビット列を該セル空間の包含関係により木状に管理するととともに,最下層のセル空間が示すビット列と該セル空間が含む特徴量ベクトルとの対応を管理するセル空間管理手段と,
セル空間を表現するビット列を,前記セル幅管理手段が管理する各次元のセル幅を用いて該セル空間に復元するセル空間復元手段と,
検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間との距離,および検索キーの特徴量ベクトルが示す多次元空間内の点と前記特徴量ベクトル管理手段が管理する各特徴量ベクトルが示す多次元空間内の点との距離を算出する距離計算手段と,
前記距離計算手段が算出する検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間との距離をもとに,検索結果の候補となる特徴量ベクトルを含むセル空間を絞り込んで管理する候補セル空間管理手段と,
前記候補セル空間管理手段が管理するセル空間に含まれる特徴量ベクトルを前記特徴量ベクトル管理手段より読み出し,検索キーの特徴量ベクトルが示す多次元空間内の点と該特徴量ベクトル管理手段より読み出された特徴量ベクトルが示す多次元空間内の点との距離をもとに,最終的な検索結果を管理する検索結果管理手段とを備え,
前記多次元空間を分割するセル空間を階層的に構築し,階層化された各セル空間を表現するビット列を用いて特徴量ベクトルを管理し,類似したデータを検索する
ことを特徴とする類似データ検索装置。 - 各データの特徴量が多次元空間における多次元ベクトルである特徴量ベクトルとして表現され,検索キーが表現する特徴量ベクトルとの距離の近い順に上位k件の検索結果を返す類似データ検索装置をコンピュータによって実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって,
前記コンピュータを,
検索対象となるデータの特徴量ベクトルを記憶する手段と,
前記多次元空間の各次元軸を次元軸毎に2以上の任意の数に分割し,分割された該次元軸の各区間をビット列で表現し,また,該ビット列を連結することにより,分割された多次元空間の部分空間であるセル空間をビット列で表現し,前記セル空間を,さらに各次元軸について分割することにより該セル空間を全体空間とした部分空間をビット列表現することを順に繰り返し,特徴量ベクトルが示す多次元空間内の点を含むセル空間を階層的にビット列で表現する情報を生成し,これらのビット列で表現されたセル空間の情報と前記検索対象となる特徴量ベクトルとの対応情報を記憶する手段と,
検索キーの特徴量ベクトルが示す多次元空間内の点と前記ビット列で表現されたセル空間との距離を算出し,前記検索キーの特徴量ベクトルが示す多次元空間内の点に近い検索結果の候補となる特徴量ベクトルを含むセル空間を特定する手段と,
前記検索キーの特徴量ベクトルと前記特定されたセル空間に含まれる特徴量ベクトルとの距離計算により,検索キーに類似したデータを出力する手段として
機能させるためのプログラムを記録した
ことを特徴とする類似データ検索用プログラム記録媒体。 - 各データの特徴量が多次元空間における多次元ベクトルである特徴量ベクトルとして表現され,検索キーが表現する特徴量ベクトルとの距離の近い順に上位k件の検索結果を返す類似データ検索装置をコンピュータによって構成するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって,
前記コンピュータを,
特徴量ベクトルを管理する特徴量ベクトル管理手段と,
前記多次元空間の各次元軸を次元軸毎に2以上の任意の数に分割したときに構成される部分空間であるセル空間を階層的に構築するための,各階層における各次元軸毎のセル空間の幅を管理するセル幅管理手段と,
前記特徴量ベクトルが示す多次元空間内の点が,各階層においてどのセル空間に含まれるかを判定し,該セル空間を表現するビット列を構築するビット列構築手段と,
前記ビット列構築手段により各階層毎に構築されたセル空間を表現するビット列を該セル空間の包含関係により木状に管理するととともに,最下層のセル空間が示すビット列と該セル空間が含む特徴量ベクトルとの対応を管理するセル空間管理手段と,
セル空間を表現するビット列を,前記セル幅管理手段が管理する各次元のセル幅を用いて該セル空間に復元するセル空間復元手段と,
検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間との距離,および検索キーの特徴量ベクトルが示す多次元空間内の点と特徴量ベクトル管理手段が管理する各特徴量ベクトルが示す多次元空間内の点との距離を算出する距離計算手段と,
前記距離計算手段で算出する検索キーの特徴量ベクトルが示す多次元空間内の点とセル空間との距離をもとに,検索結果の候補となる特徴量ベクトルを含むセル空間を絞り込んで管理する候補セル空間管理手段と,
前記候補セル空間管理手段で管理するセル空間に含まれる特徴量ベクトルを,前記特徴量ベクトル管理手段によって読み出し,検索キーの特徴量ベクトルが示す多次元空間内の点と前記特徴量ベクトル管理手段によって読み出された該特徴量ベクトルが示す多次元空間内の点との距離をもとに,最終的な検索結果を管理する検索結果管理手段として
機能させるためのプログラムを記録した
ことを特徴とする類似データ検索用プログラム記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31491999A JP3639480B2 (ja) | 1999-11-05 | 1999-11-05 | 類似データ検索方法,類似データ検索装置,および類似データ検索用プログラム記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31491999A JP3639480B2 (ja) | 1999-11-05 | 1999-11-05 | 類似データ検索方法,類似データ検索装置,および類似データ検索用プログラム記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001134573A JP2001134573A (ja) | 2001-05-18 |
JP3639480B2 true JP3639480B2 (ja) | 2005-04-20 |
Family
ID=18059235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31491999A Expired - Fee Related JP3639480B2 (ja) | 1999-11-05 | 1999-11-05 | 類似データ検索方法,類似データ検索装置,および類似データ検索用プログラム記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3639480B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101048776B (zh) * | 2004-11-04 | 2010-08-18 | 松下电器产业株式会社 | 内容数据检索装置 |
EP1837777A4 (en) * | 2004-11-25 | 2008-01-23 | Square Enix Kk Trading Co Ltd | METHOD FOR SEARCHING CONTENTS AS A USER SELECTION CANDIDATE |
JP2009116592A (ja) * | 2007-11-06 | 2009-05-28 | Nippon Telegr & Teleph Corp <Ntt> | ベクトル検索装置、ベクトル検索方法、プログラムおよびプログラムを記録した記録媒体 |
WO2013014740A1 (ja) | 2011-07-25 | 2013-01-31 | 三菱電機株式会社 | システム構築支援装置およびシステム構成図作成方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3446797B2 (ja) * | 1996-12-11 | 2003-09-16 | 日本電信電話株式会社 | 類似オブジェクト検索方法および装置 |
US5911011A (en) * | 1997-02-28 | 1999-06-08 | Canon Kabushiki Kaisha | Multidimensional close neighbor search |
US5983224A (en) * | 1997-10-31 | 1999-11-09 | Hitachi America, Ltd. | Method and apparatus for reducing the computational requirements of K-means data clustering |
-
1999
- 1999-11-05 JP JP31491999A patent/JP3639480B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001134573A (ja) | 2001-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7558802B2 (en) | Information retrieving system | |
Roshdi et al. | Information retrieval techniques and applications | |
US8224829B2 (en) | Database | |
CN107391554B (zh) | 高效分布式局部敏感哈希方法 | |
US20200004851A1 (en) | Trie-based indices for databases | |
US20100106713A1 (en) | Method for performing efficient similarity search | |
US7853598B2 (en) | Compressed storage of documents using inverted indexes | |
US20070174261A1 (en) | Database retrieval apparatus, retrieval method, storage medium, and progam | |
KR20090065130A (ko) | 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템 | |
CN113535670B (zh) | 一种虚拟化资源镜像存储系统及其实现方法 | |
CN108027816B (zh) | 数据管理系统、数据管理方法及记录介质 | |
Bender et al. | Anti-persistence on persistent storage: History-independent sparse tables and dictionaries | |
US7725450B1 (en) | Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that maintain search coherence during multi-cycle update operations | |
KR20000054899A (ko) | 트리구조의 동영상 색인 기술자를 이용한 검색장치 및 그 방법 | |
CN108304384B (zh) | 拆词方法及设备 | |
CN113918807A (zh) | 数据推荐方法、装置、计算设备及计算机可读存储介质 | |
JP3639480B2 (ja) | 類似データ検索方法,類似データ検索装置,および類似データ検索用プログラム記録媒体 | |
Sinha | LSH vs randomized partition trees: Which one to use for nearest neighbor search? | |
JP2019204436A (ja) | クラスタリング装置、クラスタリング方法、プログラム及びデータ構造 | |
CN110866088B (zh) | 一种语料库之间的快速全文检索方法及系统 | |
Arbitman et al. | Approximate hashing for bioinformatics | |
JP2001134593A (ja) | 近傍データ検索方法及び装置及び近傍データ検索プログラムを格納した記憶媒体 | |
JP3855423B2 (ja) | データ管理装置および記録媒体 | |
Gouda et al. | Efficient string edit similarity join algorithm | |
CN110704579B (zh) | 一种基于分支界定的全文检索方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040803 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041202 |
|
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: 20050111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050114 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080121 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |