JPWO2013051619A1 - 類似性検出装置及び指向性近傍検出方法 - Google Patents

類似性検出装置及び指向性近傍検出方法 Download PDF

Info

Publication number
JPWO2013051619A1
JPWO2013051619A1 JP2013537536A JP2013537536A JPWO2013051619A1 JP WO2013051619 A1 JPWO2013051619 A1 JP WO2013051619A1 JP 2013537536 A JP2013537536 A JP 2013537536A JP 2013537536 A JP2013537536 A JP 2013537536A JP WO2013051619 A1 JPWO2013051619 A1 JP WO2013051619A1
Authority
JP
Japan
Prior art keywords
data
similarity
search
parameter
detection apparatus
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.)
Granted
Application number
JP2013537536A
Other languages
English (en)
Other versions
JP6070956B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2013051619A1 publication Critical patent/JPWO2013051619A1/ja
Application granted granted Critical
Publication of JP6070956B2 publication Critical patent/JP6070956B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/766Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Electron Beam Exposure (AREA)

Abstract

大量のデータから類似のデータを高速に検出するために、パラメータリストに基づいて乱数情報を算出する乱数発生装置3と、その乱数情報に基づいて複数のキー計算関数を算出し、入力データに基づいて複数のテーブルを算出し、検索条件が示すクエリに基づいて候補データリストを算出するテーブル管理装置5と、その候補データリストから検索条件が示す条件を満足する検索結果データを算出するデータ処理装置6とを備えている。その各テーブルは、あるキーに対応するバリューが、あるキー計算関数に代入した値がそのキーに等しくなるデータのデータリストを示すように算出される。その候補データリストは、複数の検索データリストを含み、そのテーブルに対応する検索データリストは、そのクエリをそのキー計算関数に代入したクエリ値に対応するバリューを示している。

Description

本発明は、特徴検出装置及び指向性近傍検出方法に関し、特に、多次元連続データ集合から所望のデータを検索する特徴検出装置及び指向性近傍検出方法に関する。
近傍検索技術は、様々な応用範囲で用いられる重要な技術であり、例えば、画像やWebページ等のデータの類似性を考慮し、膨大なデータベースの中から特徴が似たデータを検出する等のアプリケーションに用いられる。非常に単純な方法として、それぞれのデータの特徴を距離の定義された空間の一点(例えばユークリッド空間の一点)で表現し、クエリ点からの全てのデータへの距離を計算することで、クエリに近いデータを検出することができる。しかし、このような距離を直接計算する方法は、非常にコストがかかり、データ数の増大とともに計算負荷が非線形に増加してしまうため、様々な方法が提案されている。
特許文献1(特開2004−021430号公報)には、ユーザの操作を煩雑にすることなく、特定の被写体を含む画像を類似画像として的確に検索し得る画像検索装置が開示されている。その画像検索装置は、検索の対象となる画像を複数含む検索対象画像群の中から、検索キーである基準画像に類似する画像を抽出する画像検索装置であって、基準画像及び検索対象画像群に含まれる各画像をそれぞれ複数の領域に分割する手段と、基準画像及び検索対象画像群に含まれる各画像の各領域から少なくとも1つの特徴量を抽出する手段と、検索対象画像群に含まれる各画像について領域の一部を選択する手段であって、検索対象画像群から画像を順次選択し、基準画像の各領域から抽出された特徴量と、当該選択した画像の各領域から抽出された特徴量と、の類似性に基づいて、所定数の当該選択された画像の領域を選択する手段と、前記検索対象画像群に含まれる各画像について選択された一部の領域の特徴量に基づいて、検索対象画像群から基準画像に類似する画像を抽出する手段と、を含むことを特徴としている。
特許文献2(特開2005−070927号公報)には、画像自体の一致度に拘泥されず、描画形状が類似している画像を検出することができるような画像特徴を取得する画像特徴取得方法が開示されている。その画像特徴取得方法は、二次元画像の画像特徴を取得する画像特徴取得方法であって、上記二次元画像を所定の大きさにサイズ変更し、該画像がカラー画像であれば一色の濃淡の階調で形成するスケール画像に変換し、各スケール画像に対して、二次元画像の左右のいずれか一方に設定した起点から水平方向へ連なる画素列を、該画素列の終点と次の画素列の起点とを鉛直方向へ順番に連結して水平成分の一次元ラスタ画像を作成し、二次元画像の上下のいずれか一方に設定した起点から鉛直方向へ連なる画素列を、該画素列の終点と次の画素列の起点とを水平方向へ順番に連結して鉛直成分の一次元ラスタ画像を作成し、これらの一次元ラスタ画像に対して適宜の変換処理を実行する。
特許文献3(特開平10−326286号公報)には、類似検索の精度が向上でき、また重要な類似データが検索結果からぬけおちる可能性が低い類似検索装置が開示されている。その類似検索装置は、複数の対象に対して各々作成され、対象を特徴づける複数の属性をベクトル構成要素とするベクトルデータを複数蓄積するベクトルデータベースと、指定された類似検索対象に対するベクトルデータを作成する対象ベクトルデータ作成部と、複数の検索条件を生成する検索条件集合生成部と、この検索条件集合生成部で生成された個々の検索条件ごとに、上記ベクトルデータベースに蓄積された複数のベクトルデータの中から、上記検索条件を満足し、かつ上記対象ベクトルデータに類似するベクトルデータを検索する類似検索エンジンと、上記類似検索エンジンにより検索された結果を個々の検索条件ごとに表示する検索結果表示部とを備えたことを特徴としている。
一般に、高次元の空間における近傍検索は、低次元の場合に比べ、更に問題が困難になる。そのため、大量な高次元データに対して、厳密に距離を計算して近傍データを求めるのではなく、近似的に、もしくは確率的に近距離のデータを求める近似的近傍検索方法が提案されている。その一つの代表例は、LSH(Locality Sensitive Hashing)(非特許文献1参照)である。LSHは、任意の2点に対して、その2点の距離が近いほど高い確率で衝突する(同じ値をもつ)ハッシュ関数を利用する方法であり、クエリ入力に対する近傍検出演算にかかる時間を削減することができる。ここで、LSHを用いると、あるクエリqに対してデータpが衝突する確率は、その距離d(p、q)にのみ依存するため、クエリqを中心とする1つの円の円周上にある複数のデータは、全て等確率でクエリqに衝突することになる。
特開2004−021430号公報 特開2005−070927号公報 特開平10−326286号公報
Datar, M., Immorlica, N., Indyk, P., and Mirrokni, V. 2004. Locality sensitive hashing scheme based on p−stable distributions. In Proceedings of the ACM Symposium on Computational Geometry
第1の問題点は、2つのデータの特徴の近さの指標として、方向に代表される詳細な位置関係が考えられていないことである。具体的には、ある方向に関する距離を他の方向に関する距離より重要視する場合等、方向の違いを区別して近傍検索を行うことができない。その理由は、従来の近傍検索はその距離のみに依存する手法が用いられているからである。
第2の問題点は、ある観点に対する類似度のみに関心がある場合、従来手法では、余計な計算時間がかかってしまうことである。その理由は、従来手法では、方向の考慮がないため、全方向での近傍検出によって候補を抽出した後に、関心がある方向に沿ったデータのみを取り出すという2段階の処理が必要であるからである。方向によって関心の高さの違いが大きい(ある方向に沿った距離の重みと、他の方向の距離の重みの差が非常に大きい時)ほど、近傍検出した候補の数が膨大になるため、計算時間の削減効果はあまり期待できなくなってしまう。
本発明の目的は、特徴の違いが、距離として定義された空間内での近傍検出において、任意の類似度判定基準(任意の方向と、任意の距離の重要度)を指定して、近傍データを高速に検出する類似性検出装置及び指向性近傍検出方法を提供することにある。
本発明による類似性検出装置は、乱数発生部と初期化部とデータ登録部と検索部とデータ処理部とを備えている。その乱数発生部は、入力装置を介して入力された複数の方向パラメータと複数の強度パラメータとに基づいて複数の乱数情報を算出する。その複数の方向パラメータは、ユークリッド空間上の方向を示している。その初期化部は、その複数の乱数情報に基づいて複数のキー計算関数を算出する。そのデータ登録部は、入力装置を介して入力された複数の検索対象データに基づいて、その複数のキー計算関数に対応する複数のテーブルを算出し、その複数のテーブルをテーブル保持装置に記録する。その複数の検索対象データは、それぞれ、そのユークリッド空間上の点を示している。その複数の検索対象データのうちの任意の2つの検索対象データがそれぞれ示している2つの点の距離は、その2つの検索対象データの類似度を示している。その複数のテーブルのうちの任意のキー計算関数に対応するテーブルは、複数のキーを複数のデータリストに対応付け、その複数のデータリストのうちの任意のキーに対応するデータリストに属するデータがその任意のキー計算関数に代入されることにより算出される値がその任意のキーに等しくなるように算出される。その検索部は、その複数のテーブルを参照して、入力装置を介して入力された検索条件が示しているクエリに基づいて候補データリストを算出する。その候補データリストは、その複数のキー計算関数に対応する複数の検索データリストを含んでいる。その複数の検索データリストのうちのその任意のキー計算関数に対応する検索データリストは、その複数のデータリストのうちの、そのクエリがそのキー計算関数に代入されることにより算出されるクエリ値に対応するデータリストを示している。そのデータ処理部は、その候補データリストに属する複数の検索データからその検索条件が示している条件を満足する検索結果データを算出し、その検索結果データを出力装置に出力する。
本発明による指向性近傍検出方法では、入力装置を介して入力された複数の方向パラメータと複数の強度パラメータとに基づいて複数の乱数情報を算出する。また、その複数の乱数情報に基づいて複数のキー計算関数を算出する。また、入力装置を介して入力された複数の検索対象データに基づいて、その複数のキー計算関数に対応する複数のテーブルを算出する。また、その複数のテーブルをテーブル保持装置に記録する。また、その複数のテーブルを参照して、入力装置を介して入力された検索条件が示しているクエリに基づいて候補データリストを算出する。また、その候補データリストに属する複数の検索データからその検索条件が示している条件を満足する検索結果データを算出する。また、その検索結果データを出力装置に出力する。その複数の方向パラメータは、ユークリッド空間上の方向を示している。その複数の検索対象データは、それぞれ、そのユークリッド空間上の点を示している。その複数の検索対象データのうちの任意の2つの検索対象データがそれぞれ示している2つの点の距離は、その2つの検索対象データの類似度を示している。その複数のテーブルのうちの任意のキー計算関数に対応するテーブルは、複数のキーを複数のデータリストに対応付け、その複数のデータリストのうちの任意のキーに対応するデータリストに属するデータがその任意のキー計算関数に代入されることにより算出される値がその任意のキーに等しくなるように算出される。その候補データリストは、その複数のキー計算関数に対応する複数の検索データリストを含んでいる。その複数の検索データリストのうちのその任意のキー計算関数に対応する検索データリストは、その複数のデータリストのうちの、そのクエリがそのキー計算関数に代入されることにより算出されるクエリ値に対応するデータリストを示している。
第1の効果は、膨大なデータの中で、あるクエリ点からある興味方向に沿った自由度の高い近傍点の検出が行えることである。その理由は、任意の2点が、任意の興味の方向に沿った任意の距離重み(重要度)で測った距離が短いほど高い確率で同じエントリに登録されるテーブルを具備するデータ管理機能を提供することで、指向性近傍検出機能を実現するからである。
第2の効果は、指向性近傍検索処理の高速化である。その理由は、事前に所望の指向性を登録した複数のテーブルにデータを登録しておくことで、クエリ点からの指向性近傍検索に当たって、クエリ点と同じエントリに登録されたデータのみを扱えば良く、全てのデータとの距離を計算する必要がないためオンライン処理時間が大幅に短縮化されるからである。
図1は、本発明による類似性検出装置を示すブロック図である。 図2は、テーブル管理装置を示すブロック図である。 図3は、初期化動作を示す流れ図である。 図4は、検索動作を示す流れ図である。 図5は、指向パラメータの例を示す表である。 図6は、指向パラメータに対応する衝突確率等値線を示すグラフである。 図7は、指向パラメータの例を示す表である。 図8は、複数のテーブルセットの例を示す表である。 図9は、複数の指向パラメータに対応する複数の衝突確率等値線を示すグラフである。 図10は、画像を示す図である。 図11は、複数の検索対象データ示すグラフである。 図12は、複数のテーブルセットの例を示す表である。 図13は、検索条件のクエリの例を示すグラフである。 図14は、検索結果データの例を示すグラフである。 図15は、複数の時系列データを示すグラフである。 図16は、複数の時系列データのうちの複数の検索対象データを示すグラフである。 図17は、複数の衝突確率等値線を示すグラフである。 図18は、他の複数の衝突確率等値線を示すグラフである。 図19は、衝突確率分布を示すグラフである。 図20は、他の衝突確率分布を示すグラフである。 図21は、特徴分布を示すグラフである。 図22は、移動体管理システムを示すブロック図である。 図23は、複数のテーブルセットを示す表である。
図面を参照して、本発明による類似性検出装置の実施の形態を説明する。その類似性検出装置1は、図1に示されているように、複数のコンピュータが互いに双方向に情報を伝送することができるように接続されている。
その複数のコンピュータの各コンピュータは、図示されていないが、CPUと、記憶装置と、インターフェースとを備えている。
そのCPUは、そのコンピュータにインストールされているコンピュータプログラムを実行することにより、その記憶装置とそのインターフェースとを制御する。
その記憶装置は、そのコンピュータプログラムを記録し、そのCPUにより作成される情報を一時的に記録する。
そのインターフェースは、そのコンピュータに接続されている外部機器により生成される情報をそのCPUに出力したり、そのCPUにより生成された情報をその外部機器に出力したりする。
その外部機器としては、入力装置、出力装置、通信装置、リムーバルメモリドライブが例示される。
その入力装置は、ユーザに操作されることにより情報を作成し、その情報をそのCPUに出力する。その入力装置としては、キーボード、ポインティングデバイス、タッチパネルが例示される。
その出力装置は、そのCPUにより生成される情報をユーザに認識可能に出力する。その出力装置としては、ディスプレイ、音響装置、タッチパネルが例示される。
その通信装置は、通信ネットワークを介してそのCPUにより作成された情報を他のコンピュータに送信し、その通信ネットワークを介して他のコンピュータから受信された情報をそのCPUに出力する。その通信装置は、更に、そのコンピュータにインストールされるコンピュータプログラムを他のコンピュータからダウンロードすることに利用される。
そのリムーバルメモリドライブは、記録媒体が挿入されたときに、その記録媒体に記録されているデータを読み出すことに利用される。そのリムーバルメモリドライブは、更に、コンピュータプログラムが記録されている記録媒体が挿入されたときに、そのコンピュータプログラムをそのコンピュータにインストールするときに利用される。その記録媒体としては、磁気ディスク(フレキシブルディスク、ハードディスク)、光ディスク(CD、DVD)、光磁気ディスク、フラッシュメモリが例示される。
その複数のコンピュータは、パラメータ管理装置2と、乱数発生装置3と、テーブル管理装置5と、データ処理装置6とを含んでいる。
パラメータ管理装置2は、入力装置7を備えている。パラメータ管理装置2は、入力装置7を介してパラメータリスト8がパラメータ管理装置2に入力されるように、入力装置7を制御する。
乱数発生装置3は、テーブル管理装置5から乱数情報を要求されたときに、テーブル管理装置5から出力された情報に基づいて乱数情報を算出する。
テーブル管理装置5は、テーブル保持装置10と、入力装置11とを備えている。テーブル管理装置5は、入力装置11を介して入力データ12がテーブル管理装置5に入力されるように、入力装置11を制御する。テーブル管理装置5は、入力データ12と乱数発生装置3により算出された乱数情報とに基づいて複数のテーブルを算出する。テーブル管理装置5は、その複数のテーブルがテーブル保持装置10に記録されるように、テーブル保持装置10を制御する。テーブル管理装置5は、更に、データ処理装置6からデータリストを要求されたときに、その複数のテーブルを参照して、データ処理装置6から出力された情報に基づいてデータリストを算出し、そのデータリストをデータ処理装置6に出力する。
データ処理装置6は、入力装置14と、出力装置15とを備えている。データ処理装置6は、入力装置14を介して検索条件16がデータ処理装置6に入力されるように、入力装置14を制御する。検索条件16は、クエリと条件とを示している。データ処理装置6は、更に、そのクエリをテーブル管理装置5に出力することにより、テーブル管理装置5にデータリストを要求する。データ処理装置6は、その条件とテーブル管理装置5により算出されたデータリストとに基づいて検索結果データを算出する。その検索結果データは、そのデータリストが示すデータのうちのその条件を満足するデータを示している。データ処理装置6は、更に、テーブル管理装置5により算出された検索結果データがユーザに認識可能に表現されるように、出力装置15を制御する。
図2は、テーブル管理装置5を示している。テーブル管理装置5にインストールされるコンピュータプログラムは、テーブル管理装置5に複数の機能をそれぞれ実現させる複数のコンピュータプログラムから形成されている。
テーブル管理装置5にその複数の機能をそれぞれ実現させた場合、テーブル管理装置5は、乱数情報取得部21と、初期化部22と、データ登録部23と、検索部24とを含んでいる。
乱数情報取得部21は、パラメータ管理装置2に入力されたパラメータリスト8をパラメータ管理装置2から収集する。パラメータリスト8は、テーブルパラメータと管理パラメータと指向パラメータとを示している。そのテーブルパラメータは、テーブルの面数Pとウィンドウ幅Wと基数Cとビット長Bとを示している。面数Pは、正の整数を示している。ウィンドウ幅Wは、正の実数を示している。基数Cは、2以上の整数を示している。ビット長Bは、正の整数を示している。その管理パラメータは、次元数Dを示している。その指向パラメータは、集合Uを示している。
集合Uは、指向パラメータuから形成され、以下の式により表現される。
U={u|u∈R×R}(j=1,・・・,D)
ここで、集合Rは、D次元数ベクトル空間を示している。例えば、集合Rは、2次元数ベクトル空間を示している。
集合Rは、正の実数の集合を示している。すなわち、指向パラメータuは、以下の式により表現される。
=<v,σ
ここで、方向パラメータvは、D次元のベクトルを示している。強度パラメータσは、正の実数であり、方向パラメータvを重視する程度を示している。
乱数情報取得部21は、パラメータリスト8のうちのウィンドウ幅Wとビット長Bと次元数Dと集合Uとを乱数発生装置3に出力することにより、乱数発生装置3に乱数情報を要求する。乱数情報取得部21は、乱数発生装置3により算出された乱数情報を乱数発生装置3から収集する。乱数情報取得部21は、その要求をP回繰り返すことにより、複数(P個)の乱数情報を乱数発生装置3から収集し、乱数情報集合Zを作成する。
乱数情報集合Zは、以下の式により表現される。
Z={Z}(p=1,・・・,P)
ここで、集合Zは、乱数発生装置3により算出された1つの乱数情報を示している。
集合Zは、以下の式により表現される。
={Z|Z=<Φ(p) ,R(p) >}(b=1,・・・,B)
ここで、乱数R(p) は、一様分布U[0,W]に従う乱数を示している。ランダムベクトルΦ(p) は、D次元のベクトルを示している。
ランダムベクトルΦ(p) は、以下の式により表現される。
Φ(p) =VΛ−1/2
行列Vは、以下の式により表現される。
V=(v,・・・,v
対角行列Λ−1/2は、以下の式により表現される。
Λ−1/2=diag{1/σ,・・・,1/σ
ベクトルAは、D次元ベクトルであり、ベクトルAのd成分Ab,d(d=1,・・・,D)は、正規分布N(0,1)に従う乱数を示している。
初期化部22は、更に、パラメータ管理装置2により収集されたパラメータリスト8と乱数情報取得部21により収集された乱数情報とに基づいて複数(P個)のキー計算関数を算出する。その複数のキー計算関数のうちの任意の自然数p(p≦P)に対応するキー計算関数L(p)(x)は、D次元数ベクトルxの関数である。
キー計算関数L(p)(x)は、D次元数ベクトルxを用いて、以下の式により表現される。
(p)(x)=(f(p) (x),・・・,f(p) (x))
基本関数f(p) (x)は、以下の式により表現される。
Figure 2013051619
データ登録部23は、入力装置11を介してテーブル管理装置5に入力データ12が入力されるように、入力装置11を制御する。入力データ12は、データ集合Xを示している。
データ集合Xは、データxから形成され、以下の式により表現される。
X={x|x∈R}(i=1,・・・,N)
ここで、集合Rは、D次元数ベクトル空間を示している。自然数Nは、データ集合Xのデータxの要素の総数を示し、1より大きい自然数を示している。データxは、D次元数ベクトルを示している。
データ登録部23は、更に、入力データ12と初期化部22により算出された複数のキー計算関数とに基づいて、複数(P個)のテーブルを作成する。その複数のテーブルのうちの任意の自然数pに対応するテーブルは、複数のエントリから形成されている。そのテーブルは、その複数のエントリの各エントリが1つのキーと1つのバリューとのペア(組)を示すことにより、複数のキーを複数のバリューに対応付けている。すなわち、その複数のキーのうちの任意のキーは、その複数のバリューのうちの1つのバリューに対応している。
その複数のキーのうちの任意のキーは、初期化部22により算出された複数のキー計算関数のうちの任意の自然数pに対応するキー計算関数L(p)(x)に、データ集合Xのうちのいずれかのデータxが代入されることにより算出された値を示している。更に、その複数のキーは、互いに異なり、データ集合Xに属する全てのデータxがキー計算関数L(p)(x)に代入されることによりそれぞれ算出される複数の値を含んでいる。
その複数のバリューのうちの任意のキーLに対応するバリューTable(p)[L]は、所定のデータの集合であるデータリストを示している。このとき、バリューTable(p)[L]は、そのデータリストに属するデータのうちの任意のデータxがキー計算関数L(p)(x)に代入されることにより算出された値がキーLに一致するように、算出される。
データ登録部23は、更に、その複数のテーブルがテーブル保持装置10に記録されるように、テーブル保持装置10を制御する。
検索部24は、データ処理装置6からクエリが出力されたときに、データ登録部23により作成された複数のテーブルを参照して、そのクエリに基づいてデータリストを算出する。すなわち、検索部24は、そのクエリqに基づいてその複数のテーブルに対応する複数の検索キーを算出する。その複数の検索キーのうちの自然数pに対応する検索キーL(p)(q)は、初期化部22により算出された複数のキー計算関数のうちの自然数pに対応するキー計算関数L(p)(x)にクエリqが代入されることにより算出された値を示している。
検索部24は、データ登録部23により作成された複数のテーブルを参照して、その複数の検索キーに基づいてデータリストList<x>を算出する。データリストList<x>は、データ集合Xに属するデータのうちの所定のデータの集合を示している。データリストList<x>は、その複数のテーブルのうちの自然数pに対応するテーブルがキーL(p)(q)に対応するエントリを含むときに、そのエントリが示すバリューTable(p)[L]が示すデータリストに属するデータを含むように、算出される。
このとき、データ処理装置6は、検索条件16と検索部24により算出されたデータリストList<x>とに基づいて検索結果データxを算出する。検索結果データxは、データリストList<x>に属するデータのうちの検索条件16が示す条件が満足するデータの集合を示している。データ処理装置6は、更に、検索結果データxが表示されるように、出力装置15を制御する。
本発明による指向性近傍検出方法の実施の形態は、類似性検出装置1により実行され、初期化動作とデータ登録動作と検索動作とを備えている。
図3は、その初期化動作を示している。ユーザは、まず、パラメータリスト8を用意し、入力装置7を操作することにより、パラメータリスト8をパラメータ管理装置2に入力する。パラメータ管理装置2は、入力装置7を介してパラメータリスト8が入力されると、パラメータリスト8を記憶装置に記録する。テーブル管理装置5は、パラメータ管理装置2に入力されたパラメータリスト8をパラメータ管理装置2から取得する(ステップS1)。
パラメータリスト8は、テーブルパラメータと管理パラメータと指向パラメータとを示している。そのテーブルパラメータは、テーブルの作成に必要である情報を示し、すなわち、テーブルの面数Pとウィンドウ幅Wと基数Cとビット長Bとを示している。面数Pは、正の整数を示している。ウィンドウ幅Wは、正の実数を示している。基数Cは、2以上の整数を示している。ビット長Bは、正の整数を示している。その管理パラメータは、その他管理運用に必要である情報を示し、すなわち、次元数Dを示している。その指向パラメータは、特徴検出の方向や距離の重み情報を含み、近傍検出における指向性を表現し、集合Uを示している。
集合Uは、指向パラメータuから形成され、以下の式により表現される。
U={u|u=<v,σ>}(j=1,・・・,D)
ここで、方向パラメータvは、D次元のベクトルを示している。強度パラメータσは、正の実数であり、方向パラメータvを重視する程度を示している。
テーブル管理装置5は、テーブル面番号pに1を代入する(ステップS2)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pの大小関係を算出する(ステップS3)。
テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きくないときに(ステップS3、p≦P)、パラメータリスト8のうちのウィンドウ幅Wとビット長Bと次元数Dと集合Uとを乱数発生装置3に出力することにより、乱数発生装置3に乱数情報を要求する。乱数発生装置3は、テーブル管理装置5から乱数情報を要求されたときに、ウィンドウ幅Wとビット長Bと次元数Dと集合Uとに基づいて、集合Zを示す乱数情報を算出する。
集合Zは、要素Zから形成され、以下の式により表現される。
={Z|Z=<Φ(p) ,R(p) >}(b=1,・・・,B)
ここで、乱数R(p) は、一様分布U[0,W)に従う乱数を示し、B回の独立な試行により生成される。ランダムベクトルΦ(p) は、D次元のベクトルを示している。
ランダムベクトルΦ(p) は、以下の式により表現される。
Φ(p) =VΛ−1/2
行列Vは、以下の式により表現される。
V=(v,・・・,v
対角行列Λ−1/2は、以下の式により表現される。
Λ−1/2=diag{1/σ,・・・,1/σ
ベクトルAは、D次元ベクトルであり、ベクトルAのd成分Ab,d(d=1,・・・,D)は、正規分布N(0,1)に従う乱数を示している。ベクトルAの全ての成分は、それぞれ、独立な試行により生成される。テーブル管理装置5は、乱数発生装置3により算出された乱数情報を乱数発生装置3から収集する(ステップS4)。
テーブル管理装置5は、その乱数情報が収集された後に、テーブル面番号pを1だけインクリメントし、すなわち、テーブル面番号pが示す値に1を加算することにより算出された和をテーブル面番号pに代入する(ステップS5)。
テーブル管理装置5は、テーブル面番号pをインクリメントした後に、テーブル面番号pが示す値と面数Pとの大小関係を算出する(ステップS3)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きくないときに(ステップS3、p≦P)、ステップS4〜S5を繰り返して実行する。
テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きいときに(ステップS3、p>P)、乱数情報集合Zとパラメータリスト8と基づいて、複数(P個)のキー計算関数を算出する(ステップS6)。
ここで、乱数情報集合Zは、ステップS4が繰り返し実行されることにより収集された複数(P個)の乱数情報を示している。その複数のキー計算関数のうちのテーブル面番号pに対応するキー計算関数L(p)(x)は、D次元数ベクトルxの関数である。
乱数情報集合Zは、以下の式により表現される。
Z={Z}(p=1,・・・,P)
キー計算関数L(p)(x)は、D次元数ベクトルxを用いて、以下の式により表現される。
(p)(x)=(f(p) (x),・・・,f(p) (x))
ここで、基本関数f(p) (x)は、前述の式により表現される(数1参照)。
テーブル管理装置5は、その複数(P個)のキー計算関数が算出された後に、エントリが空の複数(P個)のテーブルを作成する(ステップS7)。その複数のテーブルは、その複数のキー計算関数に対応している。テーブル管理装置5は、テーブル保持装置10を制御することにより、その複数(P個)のテーブルをテーブル保持装置10に記録する。
そのデータ登録動作は、その初期化動作が実行された後に実行される。ユーザは、まず、入力データ12を用意し、入力装置11を操作することにより、入力データ12をテーブル管理装置5に入力する。入力データ12は、データ集合Xを示している。
データ集合Xは、データxから形成され、以下の式により表現される。
X={x|x∈R}(i=1,・・・,N)
ここで、集合Rは、D次元数ベクトル空間を示している。自然数Nは、データ集合Xの要素であるデータxの総数を示し、1より大きい自然数を示している。データxは、D次元数ベクトルを示している。
テーブル管理装置5は、入力装置11を介して入力データ12が入力されると、記憶装置を制御することにより、入力データ12をその記憶装置に記録する。
テーブル管理装置5は、入力装置11を介して入力データ12が入力されると、その初期化動作により作成された複数(P個)のテーブルに対応する複数(P個)のテーブル作成動作を実行する。その複数のテーブル作成動作のうちのテーブル面番号pに対応するテーブル作成動作は、データ集合Xに属する全てのデータに対応する複数(N個)のエントリ作成動作から形成されている。
その複数(N個)のエントリ作成動作のうちのあるデータxに対応するエントリ作成動作では、テーブル管理装置5は、その初期化動作により作成された複数(P個)のキー計算関数のうちのテーブル面番号pに対応するキー計算関数L(p)(x)にデータxを代入することによりキーL(p)(x)を算出する。テーブル管理装置5は、その初期化動作により作成された複数(P個)のテーブルのうちのテーブル面番号pに対応するテーブルに、キーL(p)(x)に対応するエントリが存在しているかどうかを判別する。
テーブル管理装置5は、そのテーブルにキーL(p)(x)に対応するエントリが存在するときに、そのエントリのバリューTable(p)[L(p)(x)]が示すデータリストにデータxを追加する。テーブル管理装置5は、そのテーブルにキーL(p)(x)に対応するエントリが存在しないときに、キーL(p)(x)に対応するエントリをそのテーブルに追加する。このとき、そのエントリのバリューTable(p)[L(p)(x)]は、データxのみを要素とするデータリストを示している。
テーブル管理装置5は、その複数(N個)のエントリ作成動作の全てを実行することにより、その複数(P個)のテーブルのうちのテーブル面番号pに対応するテーブルを作成する。テーブル管理装置5は、その複数(P個)のテーブル作成動作の全てを実行することにより、その複数(P個)のテーブルの全てを作成する。テーブル管理装置5は、テーブル保持装置10を制御することにより、その複数のテーブルをテーブル保持装置10に記録する。
このように作成されたテーブルでは、任意の2つのデータに対応する2つのキーがそれぞれ示す任意の2点が、指向パラメータuが示す方向に沿った任意の距離重み(重要度)で測った距離が短いほど高い確率で同じエントリに登録される。
図4は、その検索動作を示している。ユーザは、まず、検索条件16を用意し、入力装置14を操作することにより、検索条件16をデータ処理装置6に入力する。検索条件16は、クエリqと条件とを示している。その条件としては、「クエリqの最近傍のデータを1つ取得する」「クエリqに近いものからK個のデータを取得する」が例示される。データ処理装置6は、入力装置14を介して検索条件16が入力されると、記憶装置を制御することにより、検索条件16をその記憶装置に記録する(ステップS11)。データ処理装置6は、検索条件16が入力されると、更に、クエリqをテーブル管理装置5に出力することにより、テーブル管理装置5にデータリストを要求する(ステップS12)。
テーブル管理装置5は、データ処理装置6からクエリqが出力されると、テーブル面番号pに1を代入し、空のデータリストList<x>=φを用意する(ステップS13)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pの大小関係を算出する(ステップS14)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きくないときに(ステップS14、p≦P)、クエリqに基づいて検索キーL(p)(q)を算出する(ステップS15)。
検索キーL(p)(q)は、その初期化動作により算出された複数のキー計算関数のうちのテーブル面番号pに対応するキー計算関数L(p)(x)にクエリqが代入されることにより算出される値を示している。
テーブル管理装置5は、そのデータ登録動作により作成された複数のテーブルのうちのテーブル面番号pに対応するテーブルを参照して、検索キーL(p)(q)に対応するバリューTable(p)[L(p)(q)]を取得する(ステップS16)。テーブル管理装置5は、バリューTable(p)[L(p)(q)]が示すデータリストに属するデータをデータリストList<x>に追加する(ステップS17)。
ここで、テーブル管理装置5は、データリストList<x>とバリューTable(p)[L(p)(q)]とに重複して属するデータがあった場合に、バリューTable(p)[L(p)(q)]が示すデータのうちのデータリストList<x>に登録されていないデータのみをデータリストList<x>に追加する。
テーブル管理装置5は、ステップS17が実行された後に、テーブル面番号pを1だけインクリメントし、すなわち、テーブル面番号pが示す値に1を加算することにより算出された和をテーブル面番号pに代入する(ステップS18)。テーブル管理装置5は、テーブル面番号pをインクリメントした後に、テーブル面番号pが示す値と面数Pとの大小関係を算出する(ステップS14)。テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きくないときに(ステップS14、p≦P)、ステップS15〜S18を繰り返して実行する。
テーブル管理装置5は、テーブル面番号pが示す値が面数Pより大きいときに(ステップS14、p>P)、データリストList<x>をデータ処理装置6に出力する。こうして出来上がったデータリストList<x>は、クエリqの特定方向を適当な重みで重要視して距離計算した時に近距離となるデータの候補となっている。
データ処理装置6は、テーブル管理装置5によりデータリストList<x>が出力されると、検索条件16が示す条件とデータリストList<x>とに基づいて検索結果データxを算出する(ステップS19)。
検索結果データxは、データリストList<x>に属するデータのうちのその条件が満足するデータの集合を示している。もし、その条件が「クエリqに近いものからK個のデータを取得する」を示し、データリストList<x>がK個以下のデータしか含まない場合には、検索結果データxは、データリストList<x>の全てのデータを示している。なお、データリストList<x>からクエリqに近いデータを選択する計算としては、普通のユークリッド距離を用いても良いし、指向パラメータで指定した重要度を考慮して距離を計算しても良い。
データ処理装置6は、検索結果データxが算出された後に、出力装置15を制御することにより、検索結果データxを出力装置15に表示させる(ステップS20)。
このような指向性近傍検出方法によれば、ユーザが興味の方向やその度合い等を示す関心情報を考慮して指向パラメータを設定しておくことで、類似性検出装置1は、高次元データにおいても、その関心に沿った中で、関心中心から近いデータを高速に優先的選択する指向性近傍検出が可能である。
既存手法では、同じ距離(類似度)にあるデータは同じ確率で選択するため、ある検索中心から同心球上の点は、全て同じ確率で検出される。そのため、ある興味方向にある距離rのデータだけを取り出すには、一度半径rの球内にあるデータを全て選択し、そこからある方向のみのものを優先的に取り出す必要がある。このような手法では、指向性が強くなるほど(ある方向の重要度の重みが他の方向の重要度の重みに比べて大きくなるほど)、不必要なデータを大量に取得しなければならず、その分計算時間が増大する。
それに対して、本発明による技術では、衝突確率等値線が等方的な球ではなく、衝突確率等値線が興味方向に長軸をもつ楕円体として制御できるため、任意の方向に任意の重みで指向性近傍検出を行うことが可能となり大幅な時間削減が望める。
なお、類似性検出装置1は、データ処理装置6が、乱数情報取得部21と初期化部22とデータ登録部23と検索部24とがそれぞれ実現される複数のコンピュータに置換されることができる。更に、類似性検出装置1は、パラメータ管理装置2と乱数発生装置3とテーブル管理装置5とデータ処理装置6とが実現される1つのコンピュータに置換されることもできる。更に、パラメータ管理装置2と乱数発生装置3とデータ処理装置6と乱数情報取得部21と初期化部22とデータ登録部23と検索部24とのいずれかが実現される複数のコンピュータから形成されることもできる。このように置換された類似性検出装置も、類似性検出装置1と同様にして、任意の方向に任意の重みで指向性近傍検出を行うことが可能となる。
次に、本発明による指向性近傍検出方法が二次元(D=2)ユークリッド空間に適用される例を考える。例えば、図5に示されているように、集合Uが複数の指向パラメータ36を複数の方向パラメータ37と複数の強度パラメータ38とに対応付けている例を考える。
複数の指向パラメータ36は、2つの指向パラメータuu2から形成されている。複数の方向パラメータ37は、(1/sqrt(2)、1/sqrt(2))を示す方向パラメータvと(−1/sqrt(2)、1/sqrt(2))を示す方向パラメータvとから形成されている。複数の強度パラメータ38は、2を示す強度パラメータσと1を示す強度パラメータσとから形成されている。指向パラメータuは、方向パラメータvを強度パラメータσに対応付けている。指向パラメータuは、方向パラメータvを強度パラメータσに対応付けている。
すなわち、集合Uは、以下の式により表現される。
U={<(1/sqrt(2)、1/sqrt(2))、2>、<(−1/sqrt(2)、1/sqrt(2))、1>}
このとき、方向パラメータvは、図6に示されているように、x軸から反時計回りに45度傾いた方向を示している。方向パラメータvは、方向パラメータvが示す方向と直交する方向を示している。集合Uは、強度パラメータσが示す値の2倍の値を強度パラメータσが示すことから、方向パラメータvの方向を方向パラメータvの方向に比べて2倍重視することを意味する。
入力データ12は、集合Xに属するデータの分布が任意とする。検索条件16の条件としては、「クエリqの入力に対して、クエリqとの距離が最も近いデータである」ことを示す。
このとき、衝突確率等値線31は、方向パラメータvの方向に長軸をもつ楕円に形成される。すなわち、衝突確率等値線31の上のデータは、全て同じ確率で検出される。類似性検出装置1は、方向パラメータvの方向に比べ、方向パラメータvの方向に2倍遠い場所を同一視して、集合Xに属するデータから検索結果データを検索することができる。すなわち、類似性検出装置1は、検出確率を制御することができるため、方向パラメータvの方向に強度パラメータσの重みで指向性近傍検出を行うことが可能となる。
本発明による類似性検出装置の第2の実施の形態は、既述の実施の形態に記載されたパラメータリスト8が示す指向パラメータが他の指向パラメータに置換されている。
その指向パラメータは、集合Uから形成される集合を示し、その集合は、以下の式により表現される。
{U}(k=1,・・・,K)
集合Uは、以下の式により表現される。
={u|u∈R×R}(j=1,・・・,D)
このとき、集合Uは、互いに異なる。すなわち、方向パラメータv又は強度パラメータσのどれかが異なっている。
例えば、簡単のためD=2の2次元の場合を考えると、集合Uは、以下の式により表現される。
={<vx,σ>、<v,σ>}
ここで、方向パラメータvは、x軸方向の単位ベクトルを示している。方向パラメータvは、y軸方向の単位ベクトルを示している。変数pは、0以上の整数を示している。強度パラメータσは、x軸方向の基本重みを示している。強度パラメータσは、y軸方向の基本重みを示している。
例えば、指向パラメータUとしては、図7に示されているように、p=0,1,2,3の4通りとし、(σx,σ)=(1,3)、(3,1)の2通りとすると、K=2×4=8通りの指向パラメータ集合Uが指定される。
このとき、その類似性検出装置は、その指向パラメータに基づいて、その指向パラメータが示す集合Uに属する複数の集合に対応する複数のキー計算関数集合を作成する。その複数のキー計算関数集合のうちの集合Uに対応するキー計算関数集合は、複数のキー計算関数を示している。その複数のキー計算関数は、既述の実施の形態における類似性検出装置1により集合Uに基づいて算出される複数のキー計算関数と同様にして、集合Uに基づいて算出される。
その類似性検出装置は、入力データ12とその複数のキー計算関数集合とに基づいて、図8に示されているように、その複数のキー計算関数集合52に対応する複数のテーブルセット51を作成する。複数のテーブルセット51の任意のテーブルセットは、複数のテーブルから形成されている集合を示している。
その複数のテーブルは、既述の実施の形態における複数のテーブルと同様にして、作成されている。すなわち、その複数のテーブルのうちの任意のテーブル面番号pに対応するテーブルは、複数のキーを複数のバリューに対応付けている。
その複数のキーのうちの任意のキーは、その複数のキー計算関数のうちのテーブル面番号pに対応するキー計算関数L(p)(x)に、データ集合Xのうちのいずれかのデータxが代入されることにより算出された値を示している。
その複数のバリューのうちの任意のキーLに対応するバリューTable(p)[L]は、所定のデータの集合であるデータリストを示している。このとき、バリューTable(p)[L]は、そのデータリストに属するデータのうちの任意のデータxがキー計算関数L(p)(x)に代入されることにより算出された値がキーLに一致するように、算出される。
図9は、集合Uが指定する指向性をそれぞれ示す複数の衝突確率等値線を示している。その複数の衝突確率等値線は、それぞれ、方向パラメータの方向に長軸をもつ楕円に形成され、互いに異なっている。
その複数の衝突確率等値線のうちの集合Uに対応する衝突確率等値線の上のデータは、図6に示される衝突確率等値線31と同様にして、複数のテーブルセット51のうちの集合Uに対応するテーブルセットが示す複数のテーブルを用いて、全て同じ確率で検出される。その類似性検出装置は、既述の最良の実施の形態で述べた方法と同様に、それぞれの指向パラメータに対応するテーブルを指定された面数だけ作成したテーブルを作成・管理する。
ユーザは、その検索動作の際に、検索条件16と異なる他の検索条件をその類似性検出装置に入力する。
その検索条件は、指向性パラメータと検索条件16が示すクエリと条件とを示している。その指向性パラメータは、方向と強度のペアの集合を示している。その類似性検出装置は、複数のテーブルセット51からその指向性パラメータに一番近い指向パラメータを示す集合Uに対応するテーブルセットを選択する。その類似性検出装置は、そのテーブルセットに属する複数のテーブルを用いて複数の検索データリストを算出し、データリストList<x>を算出する。
その複数の検索データリストのうちのあるテーブルセットに対応する検索データリストは、そのテーブルセットの複数のバリューのうちのクエリのキーに対応するバリューが示すデータリストに一致している。データリストList<x>は、その複数のテーブルセットに対応する複数の検索データリストを含んでいる。
このような第2の実施の形態における類似性検出装置は、予め複数のテーブルセットを作成し、検索に合わせて利用するテーブルを選択する機能が設けられていることにより、事前に指向性パラメータが不明な場合でも、検索動作時に「この点のこちらの方向にこれくらいの強さで」という指向性パラメータを合わせて入力することで、指向性近傍検索が可能となる。
なお、ここでは、8通りのみの指向性パラメータを持つテーブルを用意する例を示したが、一般には、もっと多くても良く、様々な方向や強度の組み合わせを用意しておくほど様々な検索要求に対して精度良い出力を返すことができる。そのテーブルセットの個数は、計算資源等とのトレードオフで決めれば良い。
また、検索の指向性パラメータの指定として、この例では、検索者が指向性パラメータUの書式(方向と強度のペアの集合)で入力するとしたが、これは、より直感的な入力を定義しデータ処理装置において指向性パラメータの書式に変換しても良い。
より直感的な入力の例として、関心のない軸方向の単位長さと同一視する関心がある方向にそった長さを指定することで、検索の指向性を指定することも可能である(例えばx軸から45°傾いた方向に沿った長さ1は、x軸から−45°傾いた方向に沿った長さ3に相当する場合は、x軸から−45°傾いた方向は45°傾いた方向より実距離で3倍遠くても同じ確率で検出することになる)。
更に、本例では、検索における指向性情報に対して、最適なテーブルを一つ選択して結果を出力する例を記載したが、複数のテーブルを組み合わせた指向性近傍検索結果を出力しても良い。具体的には、例えば、検索に指定された指向性情報と、テーブルの持つ指向性情報との距離を用いて、その重みで、各テーブルで行った近傍検索結果を表示しても良い。
本発明による指向性近傍検出方法における第2の実施例について詳細に説明する。本実施例では、ある特徴に関して類似する画像を高速検出する手法について説明する。
画像を示す画像データは、一般に、D次元特徴ベクトルで表現することが可能である。様々な手法が考えられるが、ここでは、一例として、図10に示されているように、画像61が適当なメッシュで複数の画素62−1〜62−16に切られており、各画素62−iで画素値を定義することによって表現される画像データを考える。
ここで、それぞれの画素における画素値をラスタ・スキャン(Raster scan)して、画素値を並べることで特徴ベクトルを作成するとする。なお、ラスタ・スキャンでは、左上からはじめて、左から右に順に値を読んでいき、右端までいったら一段おりて同じことを繰り返す。
例えば、4xの画素に区切られた任意の画像の特徴ベクトルuは、16次元ベクトルで表現される。例えば、16個の単位ベクトルe〜e16と16個の画素値とを用いて、以下の式により表現される。
Figure 2013051619
ここで、単位ベクトルeは、i番目の成分のみが1を示し、あとの成分が0を示すベクトルである。
ここで、ユーザは、ある特徴方向に関してのみ興味があるとする。一番簡単には、ユーザは、画像61のうちのある一部分である興味領域63のみに関心があり、それ以外の類似性を無視するような場合が考えられる。その場合、ユーザは、特徴ベクトルuの第1成分と第2成分と第5成分と第6成分とのみを重視し、他の画素を重視しないことになる。
ここで、重視する重みを10倍とすると(非興味方向に沿った距離の1に対して興味方向に沿った距離の10を同一視すると)、指向性パラメータU={u=<v、σ>}i=1,・・・,16をv=e、σ=10(i=1,2,5,6),1(その他)と設定する。この指向性パラメータUを用いて、既述の最良の実施の形態に示した指向性近傍検出を行うことで、あるクエリ画像qの入力に対して、第1、2、5,6番目の画素の類似性を重視した類似画像検索が可能である。
更に、本発明による指向性近傍検出方法は、一般に、画素を適当な割合で組み合わせを特徴方向として類似画像の検出を行うことも可能である。例えば、第1,2,5,6番目の画素値の比率の類似性を重視する場合を考える。
興味方向として、第1,2,5,6番目の画素を同じ重みで足し合わせた方向パラメータvを、以下の式により定義する。
=(e+e+e+e)/2
方向パラメータvは、グラム・シュミットの直交化法等を用いれば、方向パラメータvと{e}i=2,・・・,16とから、互いに直交する正規直交座標系{v,v,・・・,v6}を構成することができる。
先の例と同様に方向パラメータvの方向を他の方向に比べて10倍重視する場合、指向性パラメータUをU={u=<v、σ>}(i=1,・・・,16)をσ=10(i=1),1(その他)と設定することにより、第1,2,5,6番目の画素値の比率が同じ画像を類似画像として検出することができる。これは、例えば画素値として色の濃さを0〜1の実数値で表したときに、対象部分の濃さの比率が近ければ、対象部分以外の画素値の違いが多少大きくても類似画像として検出されることになる。
次いで、本発明による指向性近傍検出方法における第2の実施例について詳細に説明する。本実施例では、多次元関数の局所的特徴に着目した類似関数検索を行う。典型的な例として、多次元ベクトルの集合で表現される時系列データ{v(ti)}i=1,2,・・・を考える。
ここで、v(ti)は、時刻tiにおける多次元ベクトルを示している。その時系列データとしては、ある地点で、時刻tiに測定された加速度センサーのそれぞれx軸方向,y軸方向,z軸方向の加速度の値を3次元ベクトルとして表現したものが例示される。その場合、3次元ベクトル空間上における時刻をパラメータにした点の集合が時系列データとなる。
本実施例は、大量な時系列データ(例えば、大量の地点での加速度データの時系列データ)の中で、あるクエリとなる時系列データに対して、その部分的な領域のみで類似する時系列データを高速検索する。
図11は、本実施例で検索対象となる複数の時系列データ71−1〜71−Tを示している。ユーザは、まず、複数の時系列データ71−1〜71−Tを本実施例における類似性検出装置に入力する。その類似性検出装置は、第2の実施の形態における類似性検出装置と同様にして、複数の指向パラメータに対応する複数のテーブルに時系列データの各点を順次登録する。
ここで、その複数の指向パラメータは、簡単に、x軸方向に長軸をもちy軸方向に短軸をもつ指向パラメータと、その長軸から90度回転した方向に指向性をもつ他の指向パラメータとの2種類とする。指向パラメータの強度は、一般に、複数指定可能だが、ここでは、例えば3:1の比率で設定するものとする。
その類似性検出装置は、図12に示されているように、その複数の指向パラメータ74に対応する複数のテーブルセット75を作成する。ここで、複数のテーブルセット75の各テーブルセットに属するテーブルの数は、K個とする。その類似性検出装置は、既述の実施の形態における類似性検出装置と同様にして、全てのテーブルに、時系列データの各点に対するキーを計算してバリューに登録する。
検索のときは、ユーザは、図13に示されているように、時系列データ76を入力し、時系列データ76のうちの興味領域(検索対象領域)を示す検索範囲パラメータ77をクエリとして指定する。ここで、検索範囲パラメータ77は、時系列データ76の興味領域が指定できれば良い。例えば、座標値の範囲を示すデータでも良いし、各データのパラメータ(例えば、時刻t等)の範囲を示すデータでも良い。また、検索範囲パラメータ77は、時系列データ76のなかから興味領域の範囲内のデータのみ抜き出した部分時系列データそのものでも良い。
その類似性検出装置は、既述の実施の形態における類似性検出装置と同様にして、複数のテーブルセット75のうちのユーザにより選択されたテーブルセットに属する複数のテーブルを参照して、図14に示されているような時系列データ78を抽出し、時系列データ78がユーザ認識可能に表現されるように出力装置15を制御する。時系列データ78は、その複数のテーブルに対応する複数の検索データリストに含まれるデータから形成されている。その複数の検索データリストのうちのあるテーブルに対応する検索データリストは、そのテーブルに対応するキー計算関数にそのクエリが代入されることにより算出されるクエリ値に対応するバリューが示すデータリストを示している。
本発明による指向性近傍検出方法における他の実施例について詳細に説明する。本実施例では、範囲限定類似関数検索を行うための、入力される時系列データと任意の時系列データの、その範囲を限定した類似度を判定する機能について、以下に詳細に説明する。簡単のため、ここでは、図15に模式的に示される2次元空間における時系列データ81に対する時系列データ82の類似度を計算することを考える。ここで、検索範囲の限定として、両者の時系列データのうちのユーザにより指定された時間間隔[tmin:tmaxに属する部分のみの局所的な特徴を比較することを考える。
時系列データ81は、その時間間隔に属するデータとして、{Si}i=1,・・・,9を有している。時系列データ82は、その時間間隔に属するデータとして、{R}i=1,・・・,6を有している。このとき、図16に示されているように、時系列データ81から範囲限定された部分時系列データ83は、{Si}i=1,・・・,9から形成され、時系列データ82から範囲限定された部分時系列データ84は、{R}i=1,・・・,6から形成される。
ここで、ユーザは、更に、部分時系列データ83の点群{Si}i=1,・・・,9から中心的な参照点85をクエリとして抽出する。参照点85は、部分時系列データ83を最も良く代表する点であり、例えば全ての点の平均でも良いし、平均に一番近い点でも良いし、最大・最小値の平均(この例ではS1とS9の平均)等でも良い。
次に、その類似性検出装置は、参照点85と、部分時系列データ83及び部分時系列データ84の各点が複数のテーブルセット75の各々に属する複数のテーブルにおいて同じエントリに登録される確率(衝突確率)を計算し、複数の指向パラメータ74に対応する複数の衝突確率分布を算出する。その複数の衝突確率分布は、それぞれ、参照点85から部分時系列データ83と部分時系列データ84とに属する各データまでの距離の関数を示している。
図17は、複数の指向パラメータのうちの第1指向パラメータに対応する衝突確率等値線を示している。その衝突確率等値線86は、x軸方向に長軸をもちy軸方向に短軸を有している。図18は、その複数の指向パラメータのうちの第2指向パラメータに対応する衝突確率等値線を示している。その衝突確率等値線87は、x軸方向に長軸をもちy軸方向に短軸を有している。
図19は、衝突確率分布を示している。その衝突確率分布88は、部分時系列データ83と部分時系列データ84とに属する各データが参照点85とその第1指向パラメータに基づいて算出されたテーブルで同じエントリに登録される衝突確率を示している。
図20は、他の衝突確率分布を示している。その衝突確率分布89は、部分時系列データ83と部分時系列データ84とに属する各データが参照点85とその第2指向パラメータに基づいて算出されたテーブルで同じエントリに登録される衝突確率を示している。
これらの値は、各指向性パラメータの全テーブル数Kに対して、実際に両者が衝突していた(同じエントリに登録されていた)数Lを測定し、L/Kで衝突確率を計算することで近似される。衝突確率分布88と衝突確率分布89とは、時系列データの各点と参照点85の衝突確率が、両者の場所の位置関係と指向性パラメータの示す方向や強度によって異なる値を取ることを示している。衝突確率分布88と衝突確率分布89とは、この衝突確率分布は、比較する二つの部分時系列データが近いほど同じ形をとるため、この形の違いを比較することで任意の二つの部分時系列データの類似性を評価することが可能である。
図21は、特徴分布を示している。その特徴分布90は、衝突確率分布88と衝突確率分布89とでの各部分時系列データの衝突確率の差を示し、各部分時系列データの特徴分布90の形は、類似度を部分時系列データの類似度として評価されることができる。この類似度の計算には、滑らかに補間した関数間の内積を計算する方法、もしくは、Eh Movers Distanceのような距離評価尺度を使う方法等が考えられるが、これに限るものではなく、関数の形(ある距離が与えられた時の関数値)の類似度が定量的に評価できるものであれば良い。
上記の手法によって、クエリで指定された時系列データに対して、指定された検索範囲に限定した時に、一番類似性の高い時系列データを抽出することが可能である。具体的には、クエリで指定された部分時系列データから参照点を計算し、複数のテーブルセット75に属する全てのテーブルにおける参照点と衝突するデータの中で検索範囲内のもののみを抽出(本例では時間が指定された時間範囲のものを抽出)し、各時系列データに対応する衝突確率分布を作成し、クエリで指定された部分時系列データの衝突確率分布との類似性を評価すれば良い。
ここで、本例では検索範囲の指定を連続した一つの区間としたが、一般に複数の区間で行うことも、それぞれの区間で同様の手法を適用し、各区間における類似性を合わせて評価することで容易に実現可能である。
次に本実施例における効果を説明する。本実施例によれば、実際のクエリと範囲の入力に対して、検索対象の全ての時系列データの中から最も類似する時系列データの抽出処理を大幅に高速化することが可能である。
なぜなら、通常の手法では、検索範囲のみを取り出した全ての部分時系列データとクエリの部分時系列データの比較をオンラインで行わなくてはいけないため、検索対象データ数が増加すると計算時間も増加し、応答速度が遅くなってしまう。
しかし、本実施例によれば、検索対象の時系列データは予めオフラインでテーブルに登録しておくことが可能であり、オンライン処理で実際に評価が必要なのは、参照点と衝突するデータによって構成される時系列データ及びその対応する衝突確率分布のみであるからである。特に検索対象時系列データの数が膨大の時に、対象データ数の大幅な削減が期待できる。
なお、本実施例では、時刻をパラメータとして扱ったが、例えば、時刻自体を適当に定数倍したり、時刻に適当な変換を施したりして時系列データの値と比較できる形で座標値の一つとして取り組んで検索を行うことも可能である。
次に本発明の第三の実施例について詳細に説明する。第三の実施例では、本発明による類似性検出装置は、図22に示されているように、移動体管理システム100に適用されている。
移動体管理システム100は、ネットワーク103を介して、複数のコンピュータが互いに双方向に情報を伝送することができるように接続されている。ネットワーク103としては、インターネット、携帯電話網等が例示される。その複数のコンピュータは、移動体管理装置101と複数の移動体端末102−1〜102−3とを含んでいる。複数の移動体端末102−1〜102−3は、それぞれ、ユーザにより携帯され、現在位置情報を取得できるデバイスである。そのデバイスとしては、スマートフォンやGPSロガー等が例示される。
移動体管理装置101は、既述の実施の形態における類似性検出装置を備え、複数の移動体端末102−1〜102−3の移動方向を管理し、似た方向に進んでいる移動体端末をグルーピングする機能を提供する。例えば、移動体管理装置101は、複数の移動体端末102−1〜102−3の各移動体端末に関してその現在位置と適当な時間τだけ前にいた位置のペアを管理する。ここで、簡単のため扱う空間を2次元空間とし、検出したい主たる移動方向をx軸方向とし、y軸方向に比べx軸方向に適当に指向性を持たせるように強度を設定した指向性パラメータを設定する。強度の例として例えば、x軸方向へはvτの定数倍とし、y軸方向は例えばx軸方向の強度の0.1倍等とすることで、x軸方向の強度は検出したい速度上限を規定し、y軸方向は方向のぶれの許容範囲を規定することができる。
複数の移動体端末102−1〜102−3は、ある時刻tにそれぞれ位置1010,位置1020,位置1030に存在し、時刻t+τにそれぞれ位置1011,位置1021,位置1031に移動したとする。複数の移動体端末102−1〜102−3は、GPSによって現在位置を取得し、定期的にネットワーク103を通して移動体管理装置101に位置情報をアップロードする。
移動体管理装置101は、既述の実施の形態における類似性検出装置と同様にして、図23に示されているように、複数の指向性パラメータ111に対応する複数のテーブルセット112を作成する。移動体管理装置101は、複数のテーブルセット112を用いて複数の移動体端末102−1〜102−3の位置を管理し、位置1010,位置1011,位置1020,位置1021,位置1030,位置1031に対して各テーブルのキーを計算し、そのキーに対応するバリューに登録する。移動体管理装置101は、このテーブルセットを用いて、複数の移動体端末102−1〜102−3のうちのx軸方向に進む移動体端末をグループ化し、そのグループの特性に関する情報を含む移動体グループ情報105を出力する。
次に、移動体管理装置101がこの移動体グループ情報105を作成する手法を説明する。もし、移動体端末がx軸方向に想定速度程度の速度で移動していれば、時刻tと時刻t+τにおける位置座標は、同じキーを持つ可能性が高いが、直交するy軸方向に移動している移動体端末は、異なるキーを持つ可能性が高いため、両者を区別することができる。
本実施例では、移動体端末102−1と移動体端末102−2の位置情報である位置1010,位置1011,位置1020,位置1021は、同じエントリに登録され、移動体端末102−3の位置情報である位置1030及び位置1031は異なるエントリに登録される可能性が高い。そのため、x軸方向に同じような速度で移動している移動体端末102−1及び移動体端末102−2を同じグループとしてグルーピングすることが可能となる。
本例では、1種類の指向性パラメータのみの場合を示したが、一般には、複数の指向性パラメータを指定することで、複数の関心方向や、複数の移動速度上限を設定することが可能であり、様々な移動体端末のグルーピングポリシーを作成することが可能である。
また、ある移動体端末に注目し、その移動体端末が登録されているテーブルエントリをモニターすることで、この移動体端末と並走する他の移動体端末を検出することもできる。例えば、検索対象移動体端末の入力に対して、過去もしくは現在に、この検索対象移動体端末と同じグループに属する移動体端末を並走移動体端末として出力することができる。
その際に、必要ならばグルーピングポリシーを合わせて設定することで、そのポリシーに合わせてグルーピングを修正することも可能である。例えば、グルーピングポリシーとして、「検索対象移動体端末と過去10分以上半径100m以内に存在しながら並走した移動体端末」のように設定すれば、本発明によって出力された移動体端末グループの中から条件を満足させるもののみをフィルタリングして出力すれば良い。
更に、移動体端末の数が大量であった時は、各テーブルの各エントリに登録された移動体端末のうち、時刻tと時刻t+τにおける位置のどちらも同じエントリに登録されているものの数を数え、その数の多い順に適当な数だけエントリに登録された移動体端末の集合を抽出する。
これは、全移動体端末の中から、同じ方向に沿って進む移動体端末をその合計数が多いグループからサンプリングすることを意味する。それらのサンプルされた移動体端末をその移動方向や速度からグルーピングすることで、システム全体の移動体端末移動パターンの主たる傾向(多くの移動体端末がどの方向にどれくらいの速度で移動しているか、等)を取り出して、その移動体端末グループのサイズや方向・速度等の移動体端末グループ情報を作成し、移動体端末の移動状態を分類・表示ことが可能である。
次に、本実施例の効果について述べる。移動体管理システム100は、基本的に、移動体端末の位置アップデートに対して管理するテーブルを更新し、上記の方法でテーブルから関心の高い移動体端末をサンプリングしてグルーピングを行うため、全ての移動体端末の移動に関する相互関係を計算してグルーピングする必要がない。そのため移動体端末数が増加してもその計算負荷の増加を抑えることができ、計算時間の大幅な削減が望める。
なお、本発明で示した全ての実施の形態及び実施例においては、テーブルのキーの計算方法として、既述の実施の形態におけるキー計算関数L(p)(x)と基本関数f(p) (x)とランダムベクトルΦ(p) とを用いたが、指向性を指定するパラメータによって、望む方向・強度に対応する非対称性が導入されたものであればこれに限るものではない。
なお、本発明で示した全ての実施の形態及び実施例では、テーブルにおけるデータの衝突は、厳密に同じエントリに登録されるとして説明したが、バリエーションとしてテーブルのエントリ距離を定義し、近くのエントリ(例えば、キー計算関数L(p)(x)であらわされるキーの一ビットだけ異なる「隣のエントリ」等)までに登録されているデータは衝突すると衝突範囲を拡大しても良い。
<備考>
以上、本発明の実施の形態及び実施例を詳述してきたが、実際には、上記の実施の形態及び実施例に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
<付記>
上記の実施の形態及び実施例の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
[付記1]
入力装置を介して入力された複数の方向パラメータと複数の強度パラメータとに基づいて複数の乱数情報を算出する乱数発生部と、
前記複数の乱数情報に基づいて複数のキー計算関数を算出する初期化部と、
入力装置を介して入力された複数の検索対象データに基づいて、前記複数のキー計算関数に対応する複数のテーブルを算出し、前記複数のテーブルをテーブル保持装置に記録するデータ登録部と、
前記複数のテーブルを参照して、入力装置を介して入力された検索条件が示すクエリに基づいて候補データリストを算出する検索部と、
前記候補データリストに属する複数の検索データから前記検索条件が示す条件を満足する検索結果データを算出し、前記検索結果データを出力装置に出力するデータ処理部と
を具備し、
前記データ登録部は、前記複数のテーブルのうちの任意のキー計算関数に対応するテーブルを算出する際、複数のキーを複数のデータリストに対応付け、前記複数のデータリストのうちの任意のキーに対応するデータリストに属するデータを前記任意のキー計算関数に代入することにより算出される値が前記任意のキーに等しくなるように該テーブルを算出し、
前記候補データリストは、前記複数のキー計算関数に対応する複数の検索データリストを含み、
前記複数の検索データリストのうちの前記任意のキー計算関数に対応する検索データリストは、前記複数のデータリストのうちの、前記クエリが前記キー計算関数に代入されることにより算出されるクエリ値に対応するデータリストを示す
類似性検出装置。
[付記2]
付記1に記載の類似性検出装置であって、
前記データ登録部は、前記複数の検索対象データに基づいて複数のテーブルセットを更に算出し、
前記検索部は、前記複数のテーブルセットのうちの前記検索条件が示すテーブルセットが前記複数のテーブルを示すときに、前記複数のテーブルを参照して前記候補データリストを算出する
類似性検出装置。
[付記3]
付記1乃至2のいずれかに記載の類似性検出装置であって、
前記複数の方向パラメータは、前記複数の検索対象データのうちの類似する2つの状態変化類似データが前記任意のキー計算関数に代入されることによりそれぞれ算出される2つの値が等しくなるように、又は、前記2つの値の差が所定の値より小さくなるように、設定される
類似性検出装置。
[付記4]
付記1乃至3のいずれかに記載の類似性検出装置であって、
前記複数の検索対象データは、それぞれ画像を示す
類似性検出装置。
[付記5]
付記1乃至4のいずれかに記載の類似性検出装置であって、
前記データ登録部は、前記複数の検索対象データが更新されたときに、前記複数のテーブルを更新する
類似性検出装置。
[付記6]
入力装置を介して入力された複数の方向パラメータと複数の強度パラメータとに基づいて複数の乱数情報を算出するステップと、
前記複数の乱数情報に基づいて複数のキー計算関数を算出するステップと、
入力装置を介して入力された複数の検索対象データに基づいて、前記複数のキー計算関数に対応する複数のテーブルを算出するステップと、
前記複数のテーブルをテーブル保持装置に記録するステップと、
前記複数のテーブルを参照して、入力装置を介して入力された検索条件が示すクエリに基づいて候補データリストを算出するステップと、
前記候補データリストに属する複数の検索データから前記検索条件が示す条件を満足する検索結果データを算出するステップと、
前記検索結果データを出力装置に出力するステップと、
前記複数のテーブルのうちの任意のキー計算関数に対応するテーブルを算出する際、複数のキーを複数のデータリストに対応付け、前記複数のデータリストのうちの任意のキーに対応するデータリストに属するデータを前記任意のキー計算関数に代入することにより算出される値が前記任意のキーに等しくなるように該テーブルを算出するステップと
を具備し、
前記候補データリストは、前記複数のキー計算関数に対応する複数の検索データリストを含み、
前記複数の検索データリストのうちの前記任意のキー計算関数に対応する検索データリストは、前記複数のデータリストのうちの、前記クエリが前記キー計算関数に代入されることにより算出されるクエリ値に対応するデータリストを示す
指向性近傍検出方法。
[付記7]
付記6に記載の指向性近傍検出方法であって、
前記複数の検索対象データに基づいて複数のテーブルセットを更に算出するステップと、
前記複数のテーブルセットのうちの前記検索条件が示すテーブルセットが前記複数のテーブルを示すときに、前記複数のテーブルを参照して前記候補データリストを算出するステップと
を更に具備する
指向性近傍検出方法。
[付記8]
付記6乃至7のいずれかに記載の指向性近傍検出方法であって、
前記複数の方向パラメータは、前記複数の検索対象データのうちの類似する2つの状態変化類似データが前記任意のキー計算関数に代入されることによりそれぞれ算出される2つの値が等しくなるように、又は、前記2つの値の差が所定の値より小さくなるように、設定される
指向性近傍検出方法。
[付記9]
付記6乃至8のいずれかに記載の指向性近傍検出方法であって、
前記複数の検索対象データは、それぞれ画像を示す
指向性近傍検出方法。
[付記10]
付記6乃至9のいずれかに記載の指向性近傍検出方法であって、
前記複数の検索対象データが更新されたときに、前記複数のテーブルを更新するステップ
を更に具備する
指向性近傍検出方法。
[付記11]
大量の検索対象データに対して、任意の類似度判定基準で類似するデータを高速に検出する類似性検出装置であり、
前述の類似性検出装置は、前述の検索対象データを登録・管理するための、類似度判定基準を設定するパラメータによって作成される乱数情報と関連付けられたテーブルを保持し、
任意の参照点からの近傍検索要求に対して、前述のテーブルを利用し、前述の設定された類似度判定基準によって類似性判断を行い、近傍と判断されるデータを出力する
ことを特徴とする類似性検出装置。
[付記12]
付記11に記載の類似性検出装置において、複数の異なる類似度判定基準を有し、それぞれの類似度判定基準と関連付けられた複数のテーブルを有し、検索対象データを全てのテーブルで並列に管理する
ことを特徴とする類似性検出装置。
[付記13]
付記11に記載の類似度判定基準として、興味の方向と、その方向の重要度パラメータの組の集合とする
ことを特徴とする類似性検出装置。
[付記14]
付記11に記載の検索対象データとして、任意の2点の距離がユークリッド空間上の距離として定義されている
ことを特徴とする類似性検出装置。
[付記15]
付記12に記載の類似性検出装置において、検索においてその検索中心とともに検索類似度判定基準を入力し、複数のテーブルにおける近傍検出結果と、各テーブルに指定された類似度判定基準パラメータと検索類似度判定基準との関連性とを用いて出力する近傍を決定する
ことを特徴とする類似性検出装置。
[付記16]
付記11又は付記12に記載の検索対象データとして、予めその値が静的に固定されたデータだけでなく、動的にその値を更新するデータであり、値の更新に合わせて前述のテーブルの登録状態を更新する
ことを特徴とする類似性検出装置。
[付記17]
付記11又は付記12に記載の類似性検出装置として、前述のテーブルを用いた類似性判断結果を利用して、各データの状態変化が類似するものをグルーピングする
ことを特徴とする類似性検出装置。
[付記18]
付記11に記載のテーブルは、キーとバリューのペアで構成され、ある任意のデータの登録に当たって、前記乱数情報を用いてデータを登録すべきキーを計算し、対応するバリューに当たるデータのリストに追加登録することでデータを管理する
ことを特徴とする類似性検出装置。
[付記19]
付記11に記載の類似性判断として、同一もしくは差異の小さいキーを持つデータ同士を類似性が高いと扱う
ことを特徴とする類似性検出装置。
なお、本出願は、日本出願番号2011−219547に基づく優先権を主張するものであり、日本出願番号2011−219547における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1. 検索対象データに対して、任意の類似度判定基準で類似するデータを検出する類似性検出装置であって、
    類似度判定基準を設定するパラメータによって作成される乱数情報と関連付けられたテーブルを保持する手段と、
    検索対象データを前記テーブルに登録し管理する手段と、
    任意の参照点からの近傍検索要求に対して、前記テーブルを利用し、前記設定された類似度判定基準によって類似性判断を行い、近傍と判断されるデータを出力する手段と
    を具備する
    類似性検出装置。
  2. 請求項1に記載の類似性検出装置であって、
    複数の異なる類似度判定基準を設定する手段と、
    前記複数の異なる類似度判定基準のそれぞれと関連付けられた複数のテーブルを保持する手段と、
    前記検索対象データを前記複数のテーブルで並列に管理する手段と
    を更に具備する
    類似性検出装置。
  3. 請求項1又は2に記載の類似性検出装置であって、
    興味の方向と、該方向の重要度パラメータとの組の集合を、前記類似度判定基準とする手段
    を更に具備する
    類似性検出装置。
  4. 請求項1乃至3のいずれか一項に記載の類似性検出装置であって、
    任意の2点の距離がユークリッド空間上の距離として定義されているデータを、前記検索対象データとする手段
    を更に具備する
    類似性検出装置。
  5. 請求項1乃至4のいずれか一項に記載の類似性検出装置であって、
    検索の中心とともに検索類似度判定基準を入力し、前記複数のテーブルにおける近傍検出結果と、前記複数のテーブルの各々に指定された類似度判定基準パラメータと検索類似度判定基準との関連性とを用いて出力する近傍を決定する手段
    を更に具備する
    類似性検出装置。
  6. 請求項1乃至5のいずれか一項に記載の類似性検出装置であって、
    予め値が静的に固定されたデータ、及び動的に値を更新するデータのいずれも、前記検索対象データとして使用する手段と、
    前記検索対象データとして使用されるデータの値の更新に合わせて前記テーブルの登録状態を更新する手段と
    を更に具備する
    類似性検出装置。
  7. 請求項1乃至6のいずれか一項に記載の類似性検出装置であって、
    前記テーブルを用いた類似性判断結果を利用して、状態変化が類似するデータをグルーピングする手段
    を更に具備する
    類似性検出装置。
  8. 請求項1乃至7のいずれか一項に記載の類似性検出装置であって、
    前記テーブルをキーとバリューとの組で構成し、ある任意のデータの登録に当たって、前記乱数情報を用いてデータを登録すべきキーを計算し、対応するバリューに当たるデータのリストに追加登録することでデータを管理する手段
    を更に具備する
    類似性検出装置。
  9. 請求項1乃至8のいずれか一項に記載の類似性検出装置であって、
    同一もしくは差異の小さいキーを持つデータ同士を類似性が高いと判断する手段
    を更に具備する
    類似性検出装置。
  10. 類似性検出装置により実施され、検索対象データに対して、任意の類似度判定基準で類似するデータを検出するための指向性近傍検出方法であって、
    類似度判定基準を設定するパラメータによって作成される乱数情報と関連付けられたテーブルを保持することと、
    検索対象データを前記テーブルに登録し管理することと、
    任意の参照点からの近傍検索要求に対して、前記テーブルを利用し、前記設定された類似度判定基準によって類似性判断を行い、近傍と判断されるデータを出力することと
    を含む
    指向性近傍検出方法。
JP2013537536A 2011-10-03 2012-10-03 類似性検出装置及び指向性近傍検出方法 Expired - Fee Related JP6070956B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011219547 2011-10-03
JP2011219547 2011-10-03
PCT/JP2012/075673 WO2013051619A1 (ja) 2011-10-03 2012-10-03 類似性検出装置及び指向性近傍検出方法

Publications (2)

Publication Number Publication Date
JPWO2013051619A1 true JPWO2013051619A1 (ja) 2015-03-30
JP6070956B2 JP6070956B2 (ja) 2017-02-01

Family

ID=48043773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013537536A Expired - Fee Related JP6070956B2 (ja) 2011-10-03 2012-10-03 類似性検出装置及び指向性近傍検出方法

Country Status (5)

Country Link
US (1) US9530081B2 (ja)
EP (1) EP2765520B1 (ja)
JP (1) JP6070956B2 (ja)
SG (1) SG11201401213UA (ja)
WO (1) WO2013051619A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6168303B2 (ja) * 2012-01-30 2017-07-26 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム、通信端末およびその制御方法と制御プログラム
KR102017746B1 (ko) * 2012-11-14 2019-09-04 한국전자통신연구원 유사도 산출 방법 및 그 장치
JP6468876B2 (ja) * 2015-02-18 2019-02-13 Kddi株式会社 移動分析装置、移動分析方法および移動分析プログラム
US9996574B2 (en) 2015-06-30 2018-06-12 International Business Machines Corporation Enhancements for optimizing query executions
WO2017095413A1 (en) * 2015-12-03 2017-06-08 Hewlett Packard Enterprise Development Lp Incremental automatic update of ranked neighbor lists based on k-th nearest neighbors
WO2017095421A1 (en) * 2015-12-03 2017-06-08 Hewlett Packard Enterprise Development Lp Automatic selection of neighbor lists to be incrementally updated
KR101834504B1 (ko) * 2016-01-15 2018-03-06 단국대학교 산학협력단 암복호화 장치 및 방법
JP6433928B2 (ja) * 2016-02-15 2018-12-05 株式会社東芝 検索装置、検索方法および検索システム
US10599664B2 (en) * 2016-04-22 2020-03-24 Cloudera, Inc. Interactive identification of similar SQL queries
KR101834522B1 (ko) 2016-04-22 2018-03-06 단국대학교 산학협력단 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
US10671615B2 (en) * 2016-05-27 2020-06-02 Facebook, Inc. Methods and systems for assigning affinity scores to contacts
DE112017008273T5 (de) * 2017-12-14 2020-09-17 Mitsubishi Electric Corporation Abrufsystem und Überwachungssystem
US11055349B2 (en) * 2018-12-28 2021-07-06 Intel Corporation Efficient storage and processing of high-dimensional feature vectors

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112973A (ja) * 1998-10-02 2000-04-21 Ricoh Co Ltd 空間インデックス方法及び空間インデックス処理プログラムを格納した媒体
JP2003157283A (ja) * 2001-09-04 2003-05-30 Burittsua:Kk 情報検索プログラム
JP2004199472A (ja) * 2002-12-19 2004-07-15 Internatl Business Mach Corp <Ibm> 情報検索のためのデータ構造を生成するコンピュータ・システム、そのための方法、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラム、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラムを記憶したコンピュータ可読な記憶媒体、情報検索システム、およびグラフィカル・ユーザ・インタフェイス・システム
JP2006190191A (ja) * 2005-01-07 2006-07-20 Sony Corp 情報処理装置および方法、並びにプログラム
JP2009116592A (ja) * 2007-11-06 2009-05-28 Nippon Telegr & Teleph Corp <Ntt> ベクトル検索装置、ベクトル検索方法、プログラムおよびプログラムを記録した記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326286A (ja) 1997-05-27 1998-12-08 Mitsubishi Electric Corp 類似検索装置及び類似検索プログラムを記録した記録媒体
JP2004021430A (ja) 2002-06-13 2004-01-22 Fuji Xerox Co Ltd 画像検索装置、画像検索方法及び画像検索プログラム
JP2005070927A (ja) 2003-08-21 2005-03-17 Mitsuru Oba 画像特徴取得方法、及びそのプログラムとその装置
JP2011219547A (ja) 2010-04-06 2011-11-04 Shin-Etsu Chemical Co Ltd エラストマー球状微粒子をポリオルガノシルセスキオキサンで被覆した複合微粒子およびその製造方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112973A (ja) * 1998-10-02 2000-04-21 Ricoh Co Ltd 空間インデックス方法及び空間インデックス処理プログラムを格納した媒体
JP2003157283A (ja) * 2001-09-04 2003-05-30 Burittsua:Kk 情報検索プログラム
JP2004199472A (ja) * 2002-12-19 2004-07-15 Internatl Business Mach Corp <Ibm> 情報検索のためのデータ構造を生成するコンピュータ・システム、そのための方法、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラム、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラムを記憶したコンピュータ可読な記憶媒体、情報検索システム、およびグラフィカル・ユーザ・インタフェイス・システム
JP2006190191A (ja) * 2005-01-07 2006-07-20 Sony Corp 情報処理装置および方法、並びにプログラム
JP2009116592A (ja) * 2007-11-06 2009-05-28 Nippon Telegr & Teleph Corp <Ntt> ベクトル検索装置、ベクトル検索方法、プログラムおよびプログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP6070956B2 (ja) 2017-02-01
US9530081B2 (en) 2016-12-27
US20140324870A1 (en) 2014-10-30
EP2765520A1 (en) 2014-08-13
EP2765520A4 (en) 2016-04-27
WO2013051619A1 (ja) 2013-04-11
EP2765520B1 (en) 2022-09-14
SG11201401213UA (en) 2014-08-28

Similar Documents

Publication Publication Date Title
JP6070956B2 (ja) 類似性検出装置及び指向性近傍検出方法
JP6402265B2 (ja) 意思決定モデルを構築する方法、コンピュータデバイス及び記憶デバイス
US20190065913A1 (en) Search method and information processing apparatus
KR100353798B1 (ko) 영상 객체 모양 정보 추출 방법 및 그를 이용한 내용기반 이미지 검색 시스템 및 그 방법
CN108984785B (zh) 一种基于历史数据和增量的指纹库的更新方法及装置
CN111831660B (zh) 度量空间划分方式评价方法、装置、计算机设备及存储介质
KR20180053731A (ko) 일정한 처리 시간 내에 k개의 극값을 찾는 방법
CN103714148B (zh) 基于稀疏编码分类的sar图像检索方法
CN113436223B (zh) 点云数据的分割方法、装置、计算机设备和存储介质
Moitra et al. Cluster-based data reduction for persistent homology
KR20220017497A (ko) 이미지 특징 추출 및 네트워크의 훈련 방법, 장치 및 기기
CN114077912A (zh) 数据预测方法以及数据预测装置
JP2012079187A (ja) 特徴ベクトル生成装置、特徴ベクトル生成方法及びプログラム
CN116610840A (zh) 一种相似数据搜索方法、系统及电子设备
JP2012079186A (ja) 画像検索装置、画像検索方法及びプログラム
JP2004118290A (ja) 移動軌跡データ検索用インデックス生成装置及びその方法と、移動軌跡データ検索装置及びその方法と、移動軌跡データ検索用インデックス生成プログラム及びそのプログラムを記録した記録媒体と、移動軌跡データ検索プログラム及びそのプログラムを記録した記録媒体
CN110083731B (zh) 图像检索方法、装置、计算机设备及存储介质
CN115129915A (zh) 重复图像检索方法、装置、设备及存储介质
Tianyang et al. Direction-aware KNN queries for moving objects in a road network
Arun et al. On integrating re-ranking and rank list fusion techniques for image retrieval
JP7121706B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
Yang et al. Adaptive density peak clustering for determinging cluster center
Wang et al. ASQT: An Efficient Index for Queries on Compressed Trajectories
JP7468702B2 (ja) データ格納装置、データ格納方法、および、データ格納プログラム
JP6167531B2 (ja) 領域検索方法、領域インデックス構築方法および領域検索装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161021

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: 20161207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161220

R150 Certificate of patent or registration of utility model

Ref document number: 6070956

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees