JP2005011042A - データ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体 - Google Patents
データ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP2005011042A JP2005011042A JP2003174078A JP2003174078A JP2005011042A JP 2005011042 A JP2005011042 A JP 2005011042A JP 2003174078 A JP2003174078 A JP 2003174078A JP 2003174078 A JP2003174078 A JP 2003174078A JP 2005011042 A JP2005011042 A JP 2005011042A
- Authority
- JP
- Japan
- Prior art keywords
- search
- vector
- distance
- data
- search target
- 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.)
- Pending
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- 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/2264—Multidimensional index 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/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルと距離的に近い距離値を所定の個数、あるいは距離が所定値以下のものを複数個保持し、検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各次元毎の加算結果を、保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行し、該検索対象ベクトルに対し得られた距離と保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持する。
【選択図】 図5
Description
【発明の属する技術分野】
本発明は、多次元データの検索を行うデータ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体に関し、例えば画像検索、映像検索、音楽検索等のデータマッチングに応用可能なデータ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
近年のコンピュータ等電子計算機の高性能化、記憶容量の大容量化および低価格化により、情報の電子化、IT化の急速な普及が進み、電子化されたデータが利用される機会が飛躍的に増大した。電子化されたデータは紙のデータに比較して複製や加工、共有が容易であり、しかも検索の面等で優れている。特に最近ではインターネットの普及により、文書のみならず画像や映像、音声データ等のマルチメディアデータが頻繁に扱われるようになった。このような背景において、所望のデータやこれに類似するデータの検索や分類、整理等の技術が重要となっている。ここでは、マルチメディアデータの検索、データマイニング、パターン認識、機械学習、コンピュータ・ビジョン、統計データ解析等を含めてデータマッチングと呼ぶ。
【0003】
データマッチングをコンピュータで行う際、マルチメディアデータはコンピュータ内部では特徴量のベクトルで表現することができる。特徴量のベクトルは、指定された検索条件に類似するデータをデータベース中から検索する際にも利用できる。図1に特徴量ベクトルを利用したマルチメディア・コンテンツ検索の一例を示す。類似検索を行う検索条件として特徴量のベクトルを指定すると、検索の実行は検索条件のベクトルとデータベース中のベクトルの距離を計算し、距離的に小さいものを検索結果として出力する。このように、条件として与えられたベクトルとの距離が小さいベクトルをデータベース中から検索することを、最近傍検索(nearest neighbor search)と呼ぶ。最近傍検索では、複数の特徴量を多次元ベクトルで表現し、ベクトル間の距離によりデータ同士の類似性を判定している。例えば、文書検索の場合には、索引語の重みベクトルで文書や検索条件を表現することができる。また画像の類似検索の場合には、カラーヒストグラム、テクスチャ特徴量、形状特徴量等から成る特徴量ベクトルにより画像データを表現する。
【0004】
このような特徴量ベクトルに基づくコンテンツの類似検索として、線形探索が知られている。線形探索では、データベース中のすべてのデータに関する特徴量ベクトルを検索条件のベクトルと逐次的に比較するため、データベースの規模に比例した計算量が必要となる。計算量の増大は計算機側の処理の負担の増大、要処理時間の増大に繋がる。このため、データベースが大規模化した際の検索システムの処理効率に深刻な影響を及ぼすことになる。したがって、最近傍検索を効率的に行うための多次元インデキシング技術の開発が、重要な課題として従来より活発に研究されてきた(例えば特許文献1および2を参照)。
【0005】
【特許文献1】
特開2002−318818号公報
【特許文献2】
特開2001−209651号公報
【0006】
【発明が解決しようとする課題】
しかしながら、このような研究にも拘わらず決定的な方式は開発されていない。特徴量ベクトルの次元数は一般に非常に大きいため、高次元空間における効率的な多次元インデキシング技術の開発は容易でない。
【0007】
例えば、ユークリッド空間における多次元インデキシング手法には、R−tree、SS−tree、SR−tree等が提案されている。また、より一般的な距離空間を対象にしたインデキシング手法としては、VP−tree、MVP−tree、M−tree等が提案されている。これらのインデキシング手法は、多次元空間を階層的に分割することにより、探索範囲を限定することを基本としている。探索範囲を限定すれば、その分だけ計算量も少なくて済む。しかしながら、高次元空間では、ある点の最近点と最遠点との間に距離的な差が生じなくなるという現象が起こる。この「次元の呪い(curse of dimensionality)」として知られる現象によって、探索する領域を限定することが困難となり、結果として線形探索に近い計算量が必要になってしまうという問題点がある。
【0008】
高次元空間における上記の問題点に対処するために、近似的な最近傍検索についても研究が進められている。たとえば、ハッシュ法に基づく近似検索手法や空間充填曲線(space−filling curve)を用いて、高次元空間の点を索引付けする手法等も提案されているが、実用化には至っていない。
【0009】
一方、種々のメディアのデータが混在するクロスメディア情報検索では、一度の検索で所望の検索結果を得ることが困難であり、ユーザは複数回のやりとりによって所望の検索結果を得ることが多々ある。したがって、クロスメディア情報検索では特徴量ベクトルに基づく最近傍検索の実行回数が必然的に多くなってしまう。このような場合においては、高速な検索の要求が特に高い。
【0010】
これに対して本発明者らは、1次元自己組織化マップを用いた高次元データの高速近傍検索方法を開発した(特願2002−204306号)。この方法では、近似的な最近傍検索として1次元自己組織化マップを利用し、さらに2次記憶媒体へのアクセスを効率化することによって高効率かつ高速なデータマッチングを実現していた。しかしながら、上記の方法はあくまでも近似的な手法であって、検索結果に多少の誤差を伴う可能性を避けられないという問題があった。
【0011】
また、従来の研究では線形検索では時間がかかりすぎるとして、線形検索以外の方法に注力される傾向があり、単純で基本的な線形検索方法自体の改善、見直しが進んでいないという背景があった。
【0012】
本発明は、このような状況に鑑みてなされたものである。本発明の主な目的は、検索結果が正確であって且つ従来よりも高速な多次元データの検索を行うデータ検索装置、データ検索方法、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体を提供することにある。
【0013】
【課題を解決するための手段】
上記の目的を達成するために、本発明の請求項1に記載されるデータ検索方法は、複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索方法であって、指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルと距離的に近い所定の個数の距離を保持するステップと、検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各ベクトルの各次元の要素毎に順次加算しながら計算するステップであって、各次元毎の加算結果を、前記保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行するステップと、該検索対象ベクトルに対し得られた距離と前記保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持するステップと、すべての検索対象ベクトルにつき距離計算を終えた時点で、保持された各距離に対応する検索対象ベクトルの多次元データを、検索結果として出力するステップとを備えることを特徴とする。
【0014】
また、請求項2のデータ検索方法は、複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索方法であって、指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルとの距離が所定範囲内である距離を保持するステップと、検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各ベクトルの各次元の要素毎に順次加算しながら計算するステップであって、各次元毎の加算結果を、前記保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行するステップと、該検索対象ベクトルに対し得られた距離と前記保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持するステップと、すべての検索対象ベクトルにつき距離計算を終えた時点で、保持された各距離に対応する検索対象ベクトルの多次元データを、検索結果として出力するステップとを備えることを特徴とする。
【0015】
さらに、請求項3のデータ検索方法は、請求項1または2に記載のデータ検索方法であって、前記検索対象ベクトルと検索質問ベクトルとの距離を演算する前に、予め検索対象ベクトルを構成する各次元の要素の分散値に基づきベクトルの要素をソートし、分散値の大きい次元から順に前記検索対象ベクトルと検索質問ベクトルとの距離計算を行うことを特徴とする。
【0016】
さらにまた、請求項4のデータ検索方法は、請求項1または2に記載のデータ検索方法であって、前記検索対象ベクトルと検索質問ベクトルとの距離を演算する前に、予めベクトルの座標系を主成分分析に基づき変換し、この座標系に変換されたベクトルに基づいて前記検索対象ベクトルと検索質問ベクトルとの距離計算を行うことを特徴とする。
【0017】
さらにまた、請求項5のデータ検索方法は、請求項1から4のいずれかに記載のデータ検索方法であって、検索対象のデータがローカルもしくはネットワーク上に接続されたデータベースに保存されており、前記データベースに保存されたデータからデータ検索を行う方法であることを特徴とする。
【0018】
さらにまた、請求項6のデータ検索方法は、請求項1から5のいずれかに記載のデータ検索方法であって、前記検索対象のデータが文書データ、静止画または動画である画像データ、音声データ、音楽データのいずれかもしくはこれらの組み合わせであることを特徴とする。
【0019】
さらにまた、請求項7のデータ検索方法は、請求項1から5のいずれかに記載のデータ検索方法であって、前記データ検索が、画像のパターン認識であることを特徴とする。
【0020】
また、請求項8のデータ検索装置は、複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索装置であって、検索対象となる多次元のデータ群を保持するデータベースから検索したい条件を指定して、指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換するための入力部と、検索対象ベクトルと検索質問ベクトルとの距離を、各ベクトルの次元毎に計算する演算部と、前記演算部で計算されたベクトルの距離を複数個保持するためのメモリ部と、前記メモリ部で保持された複数の距離の最大値を抽出するための抽出部と、前記演算部で計算されたベクトルの距離を前記抽出部で抽出される距離の最大値よりも小さい場合に、該計算された距離を最大値と入れ替えて前記メモリ部を更新するための更新部と、検索対象ベクトルと検索質問ベクトルとの距離を、前記演算部で各ベクトルの次元毎に順次加算しながら計算する過程において、各次元毎の加算結果を、前記抽出部により抽出される最大値と比較し、これよりも小さい場合は次の次元につき加算を続行し、最大値以上の場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルの計算に移行する演算中断部とを備えることを特徴とする。
【0021】
さらに、請求項9のデータ検索プログラムは、複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索プログラムであって、コンピュータに、指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルと距離的に近い所定の個数の距離を保持する機能と、検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各ベクトルの各次元の要素毎に順次加算しながら計算する機能であって、各次元毎の加算結果を、前記保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行する機能と、該検索対象ベクトルに対し得られた距離と前記保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持する機能と、すべての検索対象ベクトルにつき距離計算を終えた時点で、保持された各距離に対応する検索対象ベクトルの多次元データを、検索結果として出力する機能とを実現させることを特徴とする。
【0022】
さらにまた、請求項10のデータ検索プログラムは、複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索装置であって、指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルとの距離が所定範囲内である距離を保持する機能と、検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各ベクトルの各次元の要素毎に順次加算しながら計算する機能であって、各次元毎の加算結果を、前記保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行する機能と、該検索対象ベクトルに対し得られた距離と前記保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持する機能と、すべての検索対象ベクトルにつき距離計算を終えた時点で、保持された各距離に対応する検索対象ベクトルの多次元データを、検索結果として出力する機能とを実現させることを特徴とする。
【0023】
さらにまた、本発明の請求項11に記載されるコンピュータで読み取り可能な記録媒体は、前記請求項9または10に記載されるデータ検索プログラムを格納するものである。記録媒体には、CD−ROM、CD−R、CD−RWやフレキシブルディスク、磁気テープ、MO、DVD−ROM、DVD−RAM、DVD−R、DVD+R、DVD−RW、DVD+RW、Blu−ray等の磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。さらにまた、プログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。またプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウエアにより実行してもよいし、各部の処理を所定のゲートアレイ(FPGA、ASIC)等のハードウエア、又はプログラムソフトウエアとハードウェアの一部の要素を実現する部分的ハードウエアモジュールとが混在する形式で実現してもよい。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するためのデータ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体を例示するものであって、本発明はデータ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体を以下のものに特定しない。
【0025】
また本明細書は、特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
【0026】
本明細書において、データ検索の対象となるデータには、テキスト等の文書データ、静止画または動画である画像データ、音楽や演奏、公演、スピーチ等の音声データといったマルチメディアデータが含まれる。またデータ検索には、文書や映像といった単独種類のデータもしくは複数種類のデータが混在するデータベース中からのマルチメディアデータの検索、データマイニング、パターン認識、機械学習、コンピュータ・ビジョン、統計データ解析等が含まれる。ここでデータマイニングとは、統計的・数理的な手法により、多様で大量のデータから自動的に有用な情報を発見する処理を指す。有用な情報には、データの傾向、パターン、相関関係、規則等が含まれる。データマイニングで使われる手法には、統計的データ解析、決定木、ニューラルネットワーク等があり、これらの手法ではデータを多次元のベクトルで表現することが多い。このような場合において、あるデータに類似したデータを探すための処理に、本発明のデータ検索を利用することができる。
【0027】
[特徴量ベクトル]
本明細書において特徴量ベクトルには、電子データ(メディア・コンテンツ)の種類に応じて様々なものが設定できる。様々なメディア・コンテンツに従った検索を行う場合、データベース中に含まれるメディア全体の内容すなわちデータそのものを用いると、非常に大規模なデータを取り扱わなければならない。そのため、データコンテンツの内容を顕著に表す特徴量を使用する。特徴量は多次元ベクトル形式の特徴量ベクトルとして表す。ここで多次元について説明すると、データがn個の属性の性質を持ち、n個の属性値の並びにより表現されるとき、このデータをn次元データと呼び、各データはn次元空間内に配置される。一般にnが大きい場合を多次元データと呼び、各データを検索する際には多次元空間内を検索することとなる。
【0028】
文書コンテンツを表す特徴量としては、文書内に出現する単語の内、文書内容を顕著に表す単語を索引語として抽出し、その索引語の頻度を特徴量として用いる。
【0029】
画像コンテンツを表す特徴量としては、色情報、形状情報、テクスチャ情報が用いられる。色情報は、RGB表色系やCIE Lab表色系等に従って画像内の色分布をヒストグラムに変換したものを多次元ベクトルとする。形状情報、テクスチャ情報は、Wavelet変換等で周波数分解した値を多次元ベクトルとする。
【0030】
映像コンテンツを表す特徴量としては、各画像間の動きベクトルの大きさを多次元ベクトルで表現し、映像の特徴量とする。
【0031】
音楽コンテンツを表す特徴量としては、音楽内に現れる各音の音高を基に、音高の時間的推移や音高差の分布を多次元ベクトルで表現したものを特徴量として用いる。
【0032】
また、多次元ベクトルでコンテンツ特徴量を表現し、コンテンツが類似したデータを検索する技術は、上記のマルチメディア情報検索分野だけに限らず、データマイニング、パターン認識、機械学習、コンピュータ・ビジョン、統計データ解析のような幅広い分野で利用されている。これらの分野では、データが有する様々な属性の値が、そのデータの特徴量として多次元ベクトルで表現されている。
【0033】
本明細書においてデータ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体は、データ検索を行うシステムそのもの、ならびにデータ検索に関連する入出力、表示、演算、通信その他の処理をハードウェア的に行う装置や方法に限定するものではない。ソフトウェア的に処理を実現する装置や方法も本発明の範囲内に包含する。例えば汎用の回路やコンピュータにソフトウェアやプログラム、プラグイン、オブジェクト、ライブラリ、アプレット、コンパイラ等を組み込んでデータ検索そのものあるいはこれに関連する処理を可能とした汎用あるいは専用のコンピュータ、ワークステーション、端末、携帯型電子機器、PDCやCDMA、W−CDMA、FOMA(登録商標)、GSM、IMT2000や第4世代等の携帯電話、PHS、PDA、ページャ、スマートフォンその他の電子デバイスも、本発明のデータ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体の少なくともいずれかに含まれる。また本明細書においては、プログラム自体もデータ検索装置に含むものとする。
【0034】
[接続、通信形態]
本発明の実施の形態において使用されるコンピュータ等の端末同士、およびサーバやこれらに接続される操作、制御、入出力、表示、各種処理その他のためのコンピュータ、あるいはプリンタ等その他の周辺機器との接続は、例えばIEEE1394、RS−232xやRS−422、USB、シリアルATA等のシリアル接続、パラレル接続、あるいは10BASE−T、100BASE−TX、1000BASE−T等のネットワークを介して電気的に接続して通信を行うことができる。接続は有線を使った物理的な接続に限られず、IEEE802.11x、OFDM方式等の無線LANやBluetooth等の電波、赤外線、光通信等を利用した無線接続等でもよい。さらにデータの交換や設定の保存等を行うための記録媒体には、メモリカードや磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等が利用できる。
【0035】
[データ検索装置]
以下、本発明に係るデータ検索の一実施例として、マルチメディアデータの検索に利用した例を図2に基づいて説明する。この図に示すデータ検索装置1は汎用あるいは専用のコンピュータ等が利用でき、演算部2と主記憶部3と2次記憶部4を備える。演算部2はCPUやMPU、システムLSIやIC等で構成され、特徴量ベクトルの距離計算やその他の必要な演算を実行する。演算部2は、後述する距離の最大値を抽出するための抽出部や、計算されたベクトルの距離を抽出部で抽出される距離の最大値とを比較し、必要に応じて値を入れ替えてメモリ部を更新する更新部、中間の演算結果に応じて演算中止を判断する演算中断部としても機能する。演算部2はこれらの処理が可能なようにハードウェア的に構成することもでき、または演算プログラムを実行させてソフトウェア的に実現させてもよい。主記憶部3は、高速な汎用もしくは組み込みメモリで構成され、SDRAM、DDRRAM、RDRAM、EDORAM、ファーストページRAMといったRAM等の半導体メモリが利用できる。主記憶部3は、演算部で計算されたベクトルの距離の内、距離が小さいものを所定の個数、あるいは距離が所定値以下のものを複数個保持するためのメモリ部として機能する。2次記憶部4はハードディスク(固定ディスク)等の二次記憶媒体で構成され、主記憶部3に比べ大容量のものを使用する。さらにデータ検索装置1には必要に応じてマウスやキーボード等の入力部5が接続される。
【0036】
データベース6は、検索対象のデータを保存する記憶媒体であり、大容量のハードディスク等が利用される。一般にはサーバ側のホストコンピュータに内蔵あるいは接続されており、データ検索装置1と通信可能に接続されている。またデータベース6は、データ検索装置1内部に備えることもでき、さらに2次記憶部4と兼用することもできる。このように本発明は、データベースとの接続をネットワーク接続あるいはスタンドアロン接続の両方に対応できる。
【0037】
データベース6中から所望のデータを検索するための検索条件の入力は、直接特徴量のベクトルを指定する他、予めキーワードを設定しておき、入力されたキーワードに応じた特徴量ベクトルに変換して検索条件とすることもできる。この変換はデータ検索装置1内部で行われるため、ユーザは特徴量ベクトルを意識することなくキーワードで検索することができる。
【0038】
検索条件の入力は、データ検索装置1がスタンドアロンで運用される場合は、入力部5から入力される。またネットワークで運用される場合は、さらにネットワーク接続されたクライアント側のコンピュータや携帯電話等の端末7から入力する。ネットワーク接続としてはLANやWAN、インターネット等が利用できる。この形態では、データ検索装置1がサーチエンジンとして機能し、各端末から入力された検索条件に対して検索を行った結果をそれぞれの端末に出力する。
【0039】
本発明の実施の形態では、上記のデータ検索装置1において、データベース6にアクセスし、演算部2がデータベース6に格納されている検索対象データを読み込み、検索対象データの所定の特徴量に基づいて多次元の検索対象ベクトルに変換して2次記憶部4に保存する。一方、入力部5から入力される検索条件を、同様に特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換して2次記憶部4に保存する。そして、検索質問ベクトルと検索対象ベクトルとの距離を演算して、距離の小さいデータを近似すると判断する。例えば、演算された距離をソートして、ベクトル間距離が最も小さいものから順に、検索結果として出力する。
【0040】
なお、検索対象の多次元データから検索対象ベクトルへの変換は、必ずしもデータ検索装置1において行う必要はなく、例えば予め変換された検索対象ベクトルをデータベース6に保存しておき、保存された検索対象ベクトルにデータ検索装置1がアクセスしてデータ検索を実行することもできる。この構成は、特にデータ検索装置1の処理能力が低い場合には有効であり、例えばネットワーク上に配置されたサーバ側でデータ変換済みの検索対象ベクトルを提供し、クライアント側のデータ検索装置1でアクセスすることで、軽快な動作が可能となる。
【0041】
本実施の形態においては、線形検索を改良し、従来よりも計算量を大幅に少なくして短時間で演算を行うことができる。ここで、説明のため単純な線形検索によるデータ検索の一例を、図3にフローチャートで示す。この例では、n次元の検索対象データのN個から、近似するデータをk個検索する。データの類否判断は、ベクトルの各次元の要素の差を2乗して加算し平方根をとるユークリッド距離に基づいて行う。また検索質問ベクトルをquery、i番目の検索対象ベクトルをdata[i]とする。
【0042】
ステップS’1では、検索対象ベクトルの番号を示すiの初期化を行う。これによって1番目の検索対象ベクトルdata[1]からN番目の検索対象ベクトルdata[N]までを演算する。またステップS’2では、検索質問ベクトルと検索対象ベクトルとの距離を各次元毎に加算する累積距離distの初期化を行う。さらにステップS’3では、ベクトルの次元番号を示すjの初期化を行う。これによってi番目の検索対象ベクトルの1次元の値data[i][1]からn次元の値data[i][n]までの演算が行われる。
【0043】
ステップS’4では、具体的な距離を各次元毎に演算する。ここではj次元における累積距離dist、すなわち1次元からj次元までの各距離の2乗を累積加算した値を演算する。計算式は、{(検索質問ベクトルのj次元の値query[j])−(i番目の検索対象ベクトルのj次元の値data[i][j])}2となる。そしてステップS’5でjに1を加算し、さらにステップS’6でjをnと比較し、nより小さい場合はステップS’3に戻ることでn回ループを繰り返し、n次元までの距離の2乗を累積加算して求める。そしてステップS’6でj≦nを満たさなくなったとき、すなわちn回のループを終えると、ステップS’7で累積距離distの平方根を求め、i番目の検索対象ベクトルのユークリッド距離result[i]を演算し、各result[i]を保存する。そしてステップS’8でiに1を加算し、ステップS’9でiとNを比較し、i≦Nの場合はステップS’2に戻ることで、上記のループをN回、すなわちN個の検索対象ベクトルすべてについて演算する。そしてステップS’10で各検索対象ベクトルのユークリッド距離result[1]〜result[N]をソートし、小さい順に並べることで、最も小さい値から検索結果として出力する。
【0044】
この方法では、総当たりで正確な検索結果が得られる反面、n次元の検索対象ベクトルをN個処理するため、ステップS’2からステップS’9までのループを繰り返す必要があり、N×nに比例する計算量が必要となる。従って、データの次元数やデータ数が増加するに伴い、処理数も膨大となる欠点があった。
【0045】
そこで、本発明の実施の形態では、検索の正確さを維持しつつ計算数を低減するアルゴリズムを採用した。具体的には、検索対象ベクトルと検索質問ベクトルの距離演算において、ある次元において演算された距離が大きいものについては以降の計算をスキップし、次の検索対象ベクトルの演算に移行することで不要な計算を削除し、効率的な演算処理を行わせている。
【0046】
なお、条件として与えられたベクトルと距離的に小さい検索対象ベクトルをk個データベース中から検索することをk近傍検索(k−nearest neighbor search)と呼ぶ。また、条件として与えられたベクトルから距離ε以内にある検索対象ベクトルをデータベース中から検索することをε近傍検索(ε−nearest neighbor search)と呼ぶ。本発明はk近傍検索、ε近傍検索のいずれにも適用することができ、以下ではk近傍検索とε近傍検索を総称して最近傍検索と呼ぶこととする。
【0047】
[実施例1]
この手法の一例を、図4および図5のフローチャートに基づいて説明する。この例においても、上記図3と同様にn次元の検索対象データのN個から、近似するデータをk個検索する場合を説明する。図4においては、まずk個分の検索対象ベクトルについて、検索質問ベクトルとのベクトル間距離を演算し、順位キューに格納すると共に先頭に距離の最大値を格納する。順位キューは主記憶部3のメモリ空間内に構成され、アドレス指定で管理される。そして図5ではk+1以降の検索対象ベクトルについて距離演算を続行し、累積距離と順位キューの先頭とを比較する。このとき、累積距離が順位キュー先頭よりも大きい場合は、以降の演算を続行しても当該ベクトルのベクトル間距離が検索結果としてリストされるような近似データとなることはあり得ない。よって累積距離が順位キュー先頭よりも大きくなった時点で該ベクトルについての演算を打ち切り、次の検索対象ベクトルの演算に移行する。このようにベクトル間距離の大きい、類似しない検索対象ベクトルについては、一々距離を求めなくともデータ検索においては差し支えない。そしてこのような無駄な演算を省くことで、必要な演算量を減らして効率的にデータ検索を行うことができる。
【0048】
本実施例では、距離計算における無駄な演算を検出するために順位キュー(priority queue)を用いている。順位キューは、要素の挿入や最大値を削除するという操作を行うにあたって適切なデータ構造である。本実施例の形態では、検索対象ベクトルのN個から、検索質問ベクトルと距離的に近いk個を検索するが、この際順位キューは、検索質問ベクトルと検索対象ベクトルとの間の距離が既に計算されたもののうち、検索質問ベクトルと距離的に近いk個の距離だけを保持する。また、本実施例では、順位キューに保持されたk個の距離のうち、最大の値を持つものを順位キューの先頭に置くようにしている。さらに本実施の形態では、順位キューを実現するためにヒープ(heap)を用いているが、これ以外にもリスト、2項キュー(binominal queue)、pairing heap、P木(P−tree)、パゴダ(pagoda)といった他の順位キューの実現方法を本発明に適用することもできる。ヒープを始めとする順位キューの実現方法では、すべてのデータをソートすることなく、先頭に最大値を持つ要素を位置させることが容易に行えるという利点を持っているため、計算量的な面から望ましいデータ構造である。
【0049】
以下、図4の手順について説明する。ステップS1では、検索対象ベクトルの番号を示すiの初期化を行う。これによって1番目の検索対象ベクトルdata[1]からN番目の検索対象ベクトルをdata[N]までを演算する。
【0050】
ステップS2では、検索質問ベクトルとi番目の検索対象ベクトルとの距離を演算するとともに、演算結果を順位キューに挿入する。ステップS3では、順位キューの先頭にベクトル間距離の最大値を位置させる。そしてステップS4でiに1を加算し、さらにステップS5でiをkと比較し、k以下の場合はステップS2に戻ることでk回ループを繰り返し、1〜k番目までのk個の検索対象ベクトルにつき、ベクトル間距離を演算する。これによって、順位キューの先頭にk個のベクトル間距離の最大値が位置する。ここで順位キューに格納されたk個のベクトル間距離は、この時点での検索の候補値、すなわち仮の検索結果として保持される。
【0051】
iがkになるとステップS5から図5のステップS6に移行する。ステップS6では、検索質問ベクトルと検索対象ベクトルとの距離を各次元毎に加算する累積距離distの初期化を行う。次に、ステップS7では、ベクトルの次元番号を示すjの初期化を行う。そしてステップS8では、検索質問ベクトルとi番目の検索対象ベクトルのj次元までの累積距離distを演算する。その計算式は、上記と同様{(検索質問ベクトルのj次元の値query[j])−(i番目の検索対象ベクトルのj次元の値data[i][j])}2となる。
【0052】
次にステップS9で、現在の累積距離distと、順位キューの先頭に位置する距離の最大値とを比較する。ここで累積距離distが既に順位キューの先頭値を超えている場合は、i番目の検索対象ベクトルについての距離演算を中止し、ステップS14に移行する。これによって、以降の次元番号についての距離演算が省略されるので、処理量が少なくなる。一方、累積距離distが順位キューの先頭値より小さい場合は、距離計算を続行するためステップS10に移行し、jに1を加算し、ステップS11でjとnを比較する。jがn以下の場合はステップS8に戻り、再び累積距離の演算を行うことで、1〜n次元の距離の2乗和、すなわちユークリッド距離の2乗がベクトル間距離distとして求められる。なお、ここでは平方根の演算を省略しているが、平行根としてユークリッド距離を演算することもできる。
【0053】
ステップS12では、このようにして得られたベクトル間距離distを順位キューの先頭値と比較する。ここで演算されている検索対象ベクトルのベクトル間距離distが、順位キューの先頭値すなわち現在保持されているベクトル間距離の内の最大値よりも小さい場合は、検索しようとする類似データの新たな候補となるため、ステップS13に移行して、演算されたベクトル間距離distを順位キューの先頭値と入れ替えて、順位キューに保存する。
【0054】
一方、得られたベクトル間距離distが順位キュー先頭値以上の場合は、検索の候補対象外としてステップS14にジャンプされる。ステップS14では、iに1加算され、続くステップS15でiとNとを比較する。i≦Nの場合はステップS6に戻ることで上記のループを繰り返し、N個の検索対象ベクトルを最後まで演算する。そしてiがNを超えると、ステップS16で順位キューの中の要素をソートし、順位キューに保持された各検索対象ベクトルを小さい順に並べて検索結果として出力する。
【0055】
以上の方法によって、ステップS9からS13にかかる距離演算について、検索結果の候補となり得ないことが明らかになった時点で計算を中止し、次の検索候補を調べる処理に移行するため、無駄な演算を省いて効率よくデータ検索を行うことができる。またこの方法では、最後に1回だけ順位キューの中の要素をソートするだけで良く、途中では順位キューを部分的に修正するのみであるため、演算を省力化できる。
【0056】
さらに、上記の方法では不必要な計算であることが早い段階で検知できれば、それだけ多くの計算を削減でき処理がより効率的、高速となる。このように不要な計算が早期に検出できるような前処理として、以下の実施例2、3の手法が適用できる。
【0057】
[実施例2:分散値による次元ソート]
実施例2の方法は、ベクトル間距離の計算を行う前に、予め検索対象ベクトルを構成する各次元の要素の分散値に基づきベクトルの要素をソートし、分散値の大きい次元から順にベクトル間距離計算を行わせる方法である。この方法では、N個あるn次元の検索対象ベクトルについて、各次元毎に分散値を求め、分散値の高い順に次元をソートして入れ替える。これによって、分散値の大きい次元が最初に計算されることになるので、累積距離も初期の計算で大きくなる傾向が期待でき、以降の計算をスキップできる可能性が高くなる。
【0058】
[実施例3:主成分分析によるデータ変換]
実施例3の方法は、ベクトル間距離の計算を行う前に、予め検索対象ベクトルの座標系を主成分分析に基づき変換し、この座標系に変換されたベクトルに基づいてベクトル間距離の計算を行う方法である。主成分分析は、KL変換(Karhunen−Loeve変換)とも呼ばれており、多次元データの変動を最もよく表すような座標系を求めることができる。主成分分析では、多次元データの共分散行列を固有値分解することにより、固有ベクトルを新しい座標軸とするが、この際、固有値の大きい固有ベクトルに対応する座標軸ほど、データの分散が大きくなっている。固有値の大きい固有ベクトルから順番に第1主成分、第2主成分というように呼ぶが、まず第1主成分に対する座標値、次に第2主成分に対する座標値というようにして、予めデータを変換しておくことにより、ベクトル間距離の演算の際に以降の計算をスキップできる可能性を高くする。また、主成分分析は、新規データが付加された場合でも、当該新規データを各主成分に射影することにより、新しい座標値を容易に計算できるという利点もある。
【0059】
上記の方法はいずれも前処理として、ベクトル間距離の演算前に検索対象ベクトルのデータ変換を実行している。これらのデータ変換には時間がかかり、特に主成分分析によるデータ変換は分散値による次元ソートよりも処理時間を要する。ただ、これらの処理は実際にデータ検索を実行する前に行っておくことができるため、データ検索に要する時間とは無関係である。予めデータの前処理を行い、その結果を保存しておくことで、実際のデータ検索に要する実時間を短縮できる。
【0060】
なお本実施例では、データの変換方法として主成分分析(KL変換)を用いているが、KL変換に代わってウェーブレット変換、フーリエ変換、ウォルシュ・アダマール変換、離散コサイン変換、離散サイン変換等の直交変換を用いることも可能である。
【0061】
[測定結果]
上記の方法を用いてデータ検索を行い、1検索質問に要した処理時間を測定した結果を表1および図6に示す。この例では、データベースとして5万件の画像データを用い、これらの画像データからHSI表色系での色情報のみを取り出し、特徴量とした。HSIは画像全体を3×3の部分画像に分割し、各部分画像に対してHSI特微量を48次元、192次元、384次元、432次元に圧縮して検索対象ベクトルとした。また、Lab−cube−576は、画像全体を縦横3×3に均等分割し、各分割画像の色情報をLab表色系に変換後、各分割画像毎にLab空間を4×4×4の64個の部分空間に分割し、それぞれの部分空間に属する画素の頻度値を計算したものであり、画像全体としては64×9=576次元の特徴量となる。
【0062】
一方、使用したデータ検索装置は、CPUに2.4GHzのPentium(登録商標)−IV、メモリが1024kバイトのコンピュータである。さらに、データ検索方法として、本発明の実施例に係る3つの方法と、比較例として3つの方法をそれぞれ行った。比較例としては、ユークリッド空間における多次元インデキシング手法であるSR−tree、より一般的な距離空間を対象にしたインデキシング手法であるVP−tree、および線形検索であるLinearを使用した。SR−treeは、そのプログラムが公開されており、検索手法の比較のためのベースラインとして多用されている。また本発明の実施例としては、ベクトル間距離の計算と計算スキップを行う実施例1であるFast、上記Fastに加えて分散値による次元ソートを組み合わせた実施例2のFast−DSORT、およびFastに加えて主成分分析によるデータ変換を組み合わせたFast−PCAを行った。図において、横軸に検索対象ベクトルの種別を、縦軸にCPUの演算時間を示す。それぞれの棒グラフは、左からSR−tree、VP−tree、Linear、Fast、Fast−DSORT、Fast−PCAを示している。
【0063】
【表1】
【0064】
この図に示すように、いずれの特徴量に対する検索対象ベクトルに対しても、本発明の実施例に係るデータ検索方法は高速であることが明らかとなった。その差は、高次元になるほど顕著となる。例えば48次元(HSI)においては、SR−treeで0.087sであったのに対し、Fastで0.027s、Fast−DSORTで0.02s、Fast−PCAで0.017sであり、検索速度の基準となるSR−treeに対しそれぞれ2.96倍、4.00倍、4.71倍の処理速度の向上が得られた。さらに高次元の576次元(Lab−cube)においては、SR−treeで1.564sであったのに対し、Fastで0.232s、Fast−DSORTで0.061s、Fast−PCAで0.037sであり、それぞれ6.74倍、25.64倍、42.27倍もの処理速度の向上が得られた。このように、高次元になる程高速化の効果が顕著に現れる。
【0065】
また線形検索の高速化という面でも本発明の実施例に係る方法は効果を得ている。低次元の48次元(HSI)においては、Linearで0.102sであったのに比べ、Fastで3.78倍、Fast−DSORTで5.1倍、Fast−PCAで6倍の高速化が得られている。また高次元の576次元(Lab−cube)においては、Linearで0.382sであったのに比べ、Fastで1.65倍、Fast−DSORTで6.26倍、Fast−PCAで10.32倍の高速化が得られている。このように、従来低速で特に高次元の検索においては不適とされていた線形検索であるが、本発明の実施例を適用することによって実用レベルの速度に高速化することができ、正確な検索結果を得ることができる。
【0066】
以上のように、本発明の実施例に係るデータ検索方法は、単純な線形検索のみならず、従来の多次元検索手法であるVP−treeやSR−treeと比しても遙かに高速であることが確認できた。また実験によれば、実施例1よりも実施例2、実施例2よりも実施例3が優れていることが確認された。特に実施例3の主成分分析によるデータ変換の前処理を行うことで、最も高速な検索速度が得られた。
【0067】
上記の例では、線形検索によるデータ検索方法に応用したが、本発明は線形検索のみならず、SR−tree等木構造の計算にも応用できる。木構造の計算も線形検索と同様全データに総当たり式で演算する方法であるため、データ数が多くなると計算量が多くなり不適と考えられていたが、本発明を適用することによって計算量を削減でき、高速化を図ることが可能となる。
【0068】
またベクトル間の距離尺度についても、種々のものを適用可能である。上記の実施例においてはユークリッド距離を用いたが、本発明はこれに限定されるものではなく、例えばLpノルムあるいはミンコフスキー距離と呼ばれるものをベクトル間の距離尺度として利用できる。Lpノルムにおいてp=2の場合がユークリッド距離に相当する。また本発明においては、ベクトル間の距離を計算する際に、ベクトルの各次元毎に順次加算するという操作を行っているが、これは一般のLpノルムにおいても直ちに適用できる。また、上記以外の距離尺度として、コサイン距離、内積、重み付きユークリッド距離、楕円体距離、マハラノビス距離等、様々なものがあるが、本発明はこれらの距離尺度に対しても適宜適用できる。
【0069】
【発明の効果】
以上のように、本発明のデータ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体によれば、極めて高速な検索が実現され、従来の単純な線形検索アルゴリズムに比べ、1/20〜1/50の計算量で最近傍検索を行うことができる。またこの方法であれば、近似的な手法でなく正確な検索結果を得ることができるので、検索結果に誤差も生じず、データ検索の信頼性も高い。さらに、特別なハードウェアの追加等が必要でなく、演算のアルゴリズムを変更するのみで適用できるので、既存の検索装置に容易に適用でき、安価に実装できるという利点もある。
【図面の簡単な説明】
【図1】特徴量ベクトルを利用したマルチメディア・コンテンツ検索の一例を示す概念図である。
【図2】本発明の一実施の形態に係るデータ検索装置の一例を示す概略ブロック図である。
【図3】線形検索の手順の一例を示すフローチャートである。
【図4】本発明の一実施の形態に係るデータ検索方法の一部を示すフローチャートである。
【図5】図4に続くデータ検索方法の手順を示すフローチャートである。
【図6】本発明の実施例に係るデータ検索方法および比較例の方法でデータ検索を行い、処理時間を測定した結果を示すグラフである。
【符号の説明】
1・・・データ検索装置
2・・・演算部
3・・・主記憶部
4・・・2次記憶部
5・・・入力部
6・・・データベース
7・・・端末
Claims (11)
- 複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索方法であって、
指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルと距離的に近い所定の個数の距離を保持するステップと、
検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各ベクトルの各次元の要素毎に順次加算しながら計算するステップであって、各次元毎の加算結果を、前記保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行するステップと、
該検索対象ベクトルに対し得られた距離と前記保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持するステップと、
すべての検索対象ベクトルにつき距離計算を終えた時点で、保持された各距離に対応する検索対象ベクトルの多次元データを、検索結果として出力するステップと、
を備えることを特徴とするデータ検索方法。 - 複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索方法であって、
指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルとの距離が所定範囲内である距離を保持するステップと、
検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各ベクトルの各次元の要素毎に順次加算しながら計算するステップであって、各次元毎の加算結果を、前記保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行するステップと、
該検索対象ベクトルに対し得られた距離と前記保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持するステップと、
すべての検索対象ベクトルにつき距離計算を終えた時点で、保持された各距離に対応する検索対象ベクトルの多次元データを、検索結果として出力するステップと、
を備えることを特徴とするデータ検索方法。 - 請求項1または2に記載のデータ検索方法であって、前記検索対象ベクトルと検索質問ベクトルとの距離を演算する前に、予め検索対象ベクトルを構成する各次元の要素の分散値に基づきベクトルの要素をソートし、分散値の大きい次元から順に前記検索対象ベクトルと検索質問ベクトルとの距離計算を行うことを特徴とするデータ検索方法。
- 請求項1または2に記載のデータ検索方法であって、前記検索対象ベクトルと検索質問ベクトルとの距離を演算する前に、予めベクトルの座標系を主成分分析に基づき変換し、この座標系に変換されたベクトルに基づいて前記検索対象ベクトルと検索質問ベクトルとの距離計算を行うことを特徴とするデータ検索方法。
- 請求項1から4のいずれかに記載のデータ検索方法であって、検索対象のデータがローカルもしくはネットワーク上に接続されたデータベースに保存されており、前記データベースに保存されたデータからデータ検索を行う方法であることを特徴とするデータ検索方法。
- 請求項1から5のいずれかに記載のデータ検索方法であって、前記検索対象のデータが文書データ、静止画または動画である画像データ、音声データ、音楽データのいずれかもしくはこれらの組み合わせであることを特徴とするデータ検索方法。
- 請求項1から5のいずれかに記載のデータ検索方法であって、前記データ検索が、画像のパターン認識であることを特徴とするデータ検索方法。
- 複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索装置であって、
検索対象となる多次元のデータ群を保持するデータベースから検索したい条件を指定して、指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換するための入力部と、
検索対象ベクトルと検索質問ベクトルとの距離を、各ベクトルの次元毎に計算する演算部と、
前記演算部で計算されたベクトルの距離を複数個保持するためのメモリ部と、
前記メモリ部で保持された複数の距離の最大値を抽出するための抽出部と、
前記演算部で計算されたベクトルの距離を前記抽出部で抽出される距離の最大値よりも小さい場合に、該計算された距離を最大値と入れ替えて前記メモリ部を更新するための更新部と、
検索対象ベクトルと検索質問ベクトルとの距離を、前記演算部で各ベクトルの次元毎に順次加算しながら計算する過程において、各次元毎の加算結果を、前記抽出部により抽出される最大値と比較し、これよりも小さい場合は次の次元につき加算を続行し、最大値以上の場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルの計算に移行する演算中断部と、
を備えることを特徴とするデータ検索装置。 - 複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索プログラムであって、コンピュータに、
指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルと距離的に近い所定の個数の距離を保持する機能と、
検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各ベクトルの各次元の要素毎に順次加算しながら計算する機能であって、各次元毎の加算結果を、前記保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行する機能と、
該検索対象ベクトルに対し得られた距離と前記保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持する機能と、
すべての検索対象ベクトルにつき距離計算を終えた時点で、保持された各距離に対応する検索対象ベクトルの多次元データを、検索結果として出力する機能と、
を実現させることを特徴とするデータ検索プログラム。 - 複数の特徴に対し、これらの特徴に対する特徴量をベクトルで表現可能な検索対象の多次元のデータに対し、検索条件を指定して検索条件に合致あるいは近似するデータを抽出するデータ検索装置であって、
指定された検索条件を特徴量に基づいて検索対象データと同じ次元数の検索質問ベクトルに変換し、一部の検索対象ベクトルについて検索質問ベクトルと検索対象ベクトルとの間の距離を演算して、検索質問ベクトルとの距離が所定範囲内である距離を保持する機能と、
検索対象ベクトルと検索質問ベクトルとの距離を求めるに際し、各ベクトルの各次元の要素毎に順次加算しながら計算する機能であって、各次元毎の加算結果を、前記保持された距離の内最大値と比較し、これよりも小さい場合は次の次元の要素に対し加算を実行し、最大値より大きい場合は該ベクトルにつき以降の計算を中止して次の検索対象ベクトルに対する距離計算に移行する機能と、
該検索対象ベクトルに対し得られた距離と前記保持された距離の最大値とを比較し、計算された距離が小さい場合に、該計算された距離を最大値と入れ替えて保持する機能と、
すべての検索対象ベクトルにつき距離計算を終えた時点で、保持された各距離に対応する検索対象ベクトルの多次元データを、検索結果として出力する機能と、
を実現させることを特徴とするデータ検索プログラム。 - 前記請求項9または10に記載のデータ検索プログラムを格納したコンピュータで読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003174078A JP2005011042A (ja) | 2003-06-18 | 2003-06-18 | データ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体 |
US10/811,953 US20050086210A1 (en) | 2003-06-18 | 2004-03-30 | Method for retrieving data, apparatus for retrieving data, program for retrieving data, and medium readable by machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003174078A JP2005011042A (ja) | 2003-06-18 | 2003-06-18 | データ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005011042A true JP2005011042A (ja) | 2005-01-13 |
Family
ID=34097696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003174078A Pending JP2005011042A (ja) | 2003-06-18 | 2003-06-18 | データ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050086210A1 (ja) |
JP (1) | JP2005011042A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008150692A1 (en) * | 2007-05-31 | 2008-12-11 | Yahoo!, Inc. | System and method for providing vector terms related to a search query |
WO2013051226A1 (ja) | 2011-10-07 | 2013-04-11 | ハーディス株式会社 | 検索システム、検索システムの動作方法、及びプログラム |
JP2014081841A (ja) * | 2012-10-17 | 2014-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 時系列データ探索方法、装置、及びプログラム |
US10303717B2 (en) | 2014-02-10 | 2019-05-28 | Nec Corporation | Search system, search method and program recording medium |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7777125B2 (en) * | 2004-11-19 | 2010-08-17 | Microsoft Corporation | Constructing a table of music similarity vectors from a music similarity graph |
CN100588203C (zh) * | 2005-07-12 | 2010-02-03 | 国际商业机器公司 | 数据存储方法和系统 |
US7890377B2 (en) * | 2005-10-31 | 2011-02-15 | Phonak Ag | Method for producing an order and ordering apparatus |
US7849047B2 (en) | 2006-02-09 | 2010-12-07 | Ebay Inc. | Method and system to analyze domain rules based on domain coverage of the domain rules |
US7725417B2 (en) * | 2006-02-09 | 2010-05-25 | Ebay Inc. | Method and system to analyze rules based on popular query coverage |
US7640234B2 (en) * | 2006-02-09 | 2009-12-29 | Ebay Inc. | Methods and systems to communicate information |
US9443333B2 (en) * | 2006-02-09 | 2016-09-13 | Ebay Inc. | Methods and systems to communicate information |
US7739225B2 (en) | 2006-02-09 | 2010-06-15 | Ebay Inc. | Method and system to analyze aspect rules based on domain coverage of an aspect-value pair |
TWI403912B (zh) * | 2006-06-08 | 2013-08-01 | Univ Nat Chiao Tung | 圖像檢索之方法及系統 |
US20080086493A1 (en) * | 2006-10-09 | 2008-04-10 | Board Of Regents Of University Of Nebraska | Apparatus and method for organization, segmentation, characterization, and discrimination of complex data sets from multi-heterogeneous sources |
JP5104291B2 (ja) * | 2007-12-26 | 2012-12-19 | 富士通株式会社 | 画像解析プログラム、画像解析装置、および画像解析方法 |
CN102571715B (zh) * | 2010-12-27 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 多维数据查询方法及系统 |
US10331785B2 (en) * | 2012-02-17 | 2019-06-25 | Tivo Solutions Inc. | Identifying multimedia asset similarity using blended semantic and latent feature analysis |
WO2013159356A1 (zh) * | 2012-04-28 | 2013-10-31 | 中国科学院自动化研究所 | 基于判别相关分析的跨媒体检索方法 |
WO2016014050A1 (en) * | 2014-07-23 | 2016-01-28 | Hewlett-Packard Development Company, L.P. | Proximity of data terms based on walsh-hadamard transforms |
WO2017082875A1 (en) | 2015-11-10 | 2017-05-18 | Hewlett Packard Enterprise Development Lp | Data allocation based on secure information retrieval |
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 |
US11080301B2 (en) | 2016-09-28 | 2021-08-03 | Hewlett Packard Enterprise Development Lp | Storage allocation based on secure data comparisons via multiple intermediaries |
CN106844518B (zh) * | 2016-12-29 | 2019-02-12 | 天津中科智能识别产业技术研究院有限公司 | 一种基于子空间学习的不完整跨模态检索方法 |
CN109783163A (zh) * | 2019-01-23 | 2019-05-21 | 集奥聚合(北京)人工智能科技有限公司 | 一种基于多维数据变量的数据交互方法及平台 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6714909B1 (en) * | 1998-08-13 | 2004-03-30 | At&T Corp. | System and method for automated multimedia content indexing and retrieval |
US20030025599A1 (en) * | 2001-05-11 | 2003-02-06 | Monroe David A. | Method and apparatus for collecting, sending, archiving and retrieving motion video and still images and notification of detected events |
US6611609B1 (en) * | 1999-04-09 | 2003-08-26 | The Board Of Regents Of The University Of Nebraska | Method of tracking changes in a multi-dimensional data structure |
KR100346262B1 (ko) * | 1999-08-27 | 2002-07-26 | 엘지전자주식회사 | 멀티미디어 데이타의 키워드 자가 생성방법 |
KR100372582B1 (ko) * | 2000-02-23 | 2003-02-17 | 가부시키가이샤 히타치세이사쿠쇼 | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 |
-
2003
- 2003-06-18 JP JP2003174078A patent/JP2005011042A/ja active Pending
-
2004
- 2004-03-30 US US10/811,953 patent/US20050086210A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008150692A1 (en) * | 2007-05-31 | 2008-12-11 | Yahoo!, Inc. | System and method for providing vector terms related to a search query |
WO2013051226A1 (ja) | 2011-10-07 | 2013-04-11 | ハーディス株式会社 | 検索システム、検索システムの動作方法、及びプログラム |
US9547700B2 (en) | 2011-10-07 | 2017-01-17 | Hardis System Design Co., Ltd. | Search system, display unit, recording medium, apparatus, and processing method of the search system |
JP2014081841A (ja) * | 2012-10-17 | 2014-05-08 | Nippon Telegr & Teleph Corp <Ntt> | 時系列データ探索方法、装置、及びプログラム |
US10303717B2 (en) | 2014-02-10 | 2019-05-28 | Nec Corporation | Search system, search method and program recording medium |
US11321387B2 (en) | 2014-02-10 | 2022-05-03 | Nec Corporation | Search system, search method and program recording medium |
US11386149B2 (en) | 2014-02-10 | 2022-07-12 | Nec Corporation | Search system, search method and program recording medium |
Also Published As
Publication number | Publication date |
---|---|
US20050086210A1 (en) | 2005-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005011042A (ja) | データ検索方法、データ検索装置、データ検索プログラムおよびコンピュータで読み取り可能な記録媒体 | |
US11810648B2 (en) | Systems and methods for adaptive local alignment for graph genomes | |
Large et al. | On time series classification with dictionary-based classifiers | |
CN107256262B (zh) | 一种基于物体检测的图像检索方法 | |
US8266121B2 (en) | Identifying related objects using quantum clustering | |
He et al. | Scalable similarity search with optimized kernel hashing | |
US8781255B2 (en) | Methods and apparatus for visual search | |
Liao et al. | A sample-based hierarchical adaptive K-means clustering method for large-scale video retrieval | |
WO2013129580A1 (ja) | 近似最近傍探索装置、近似最近傍探索方法およびそのプログラム | |
US20120290577A1 (en) | Identifying visual contextual synonyms | |
WO2019165546A1 (en) | Layered locality sensitive hashing (lsh) partition indexing for big data applications | |
Zhang et al. | Dynamic time warping under product quantization, with applications to time-series data similarity search | |
Mohamed et al. | Quantized ranking for permutation-based indexing | |
Al-Jubouri | Content-based image retrieval: Survey | |
JP2004046612A (ja) | データマッチング方法、データマッチング装置、データマッチングプログラムおよびコンピュータで読み取り可能な記録媒体 | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
Fu et al. | Financial time series indexing based on low resolution clustering | |
Wong et al. | An empirical study on large-scale content-based image retrieval | |
Mohamed et al. | Quantized ranking for permutation-based indexing | |
Schuh et al. | Mitigating the curse of dimensionality for exact knn retrieval | |
Antaris et al. | Similarity search over the cloud based on image descriptors' dimensions value cardinalities | |
Munarko et al. | HII: Histogram Inverted Index for Fast Images Retrieval. | |
Benloucif et al. | Impact of feature selection on the performance of content-based image retrieval (CBIR) | |
Havasi et al. | LHI-tree: An efficient disk-based image search application | |
Bessine et al. | XCLSC: Structure and content-based clustering of XML documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060612 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060612 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090615 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090707 |