JPH10260990A - 例示検索の高速化方法 - Google Patents

例示検索の高速化方法

Info

Publication number
JPH10260990A
JPH10260990A JP9084569A JP8456997A JPH10260990A JP H10260990 A JPH10260990 A JP H10260990A JP 9084569 A JP9084569 A JP 9084569A JP 8456997 A JP8456997 A JP 8456997A JP H10260990 A JPH10260990 A JP H10260990A
Authority
JP
Japan
Prior art keywords
data
attributes
array
search
predetermined
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
Application number
JP9084569A
Other languages
English (en)
Inventor
Noburo Taniguchi
展郎 谷口
Masashi Yamamuro
雅司 山室
Junichi Nakagawa
純一 中川
Curtis Catherin
カーチス キャサリン
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP9084569A priority Critical patent/JPH10260990A/ja
Publication of JPH10260990A publication Critical patent/JPH10260990A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 探索範囲を限定して検索時間を短縮すること
ができるとともに、様々な種類の関連度算出関数に対し
て、単一の補助データで対応することができる例示検索
の高速化方法を提供することを目的とするものである。 【解決手段】 各データの属性の属性値に応じた位置
に、データ識別子が配置される転置配列を、各属性毎に
予め作成し、検索問い合わせが発行されたときに、上記
転置配列を用いることによって、検索キーとの関連度が
上位k番目までのデータ群を求めるk−例示検索を実行
するものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースにお
いて、例示検索(Query By Example)を高速に行う方法
であり、たとえば文献や画像等のデータについて類似検
索を行う場合、その類似検索を高速化する方法に関する
ものである。
【0002】
【従来の技術】例示検索は、検索キーとして所定の例を
与え、この与えらえた例と、データベース中の各データ
との関連度(たとえば類似度)に応じて、データベース
中のデータを検索するものであり、通常、その関連度の
高い順にデータを並べ、このうちで上位何件かのデータ
を検索結果として出力するものである。
【0003】この例示検索において、上記関連度の値
は、上記例との相対関係によって定まる。したがって、
上記例示検索を実行する場合、検索キーとして与えられ
た例との関連度を、データベース中の総てのデータにつ
いて計算し、この計算結果を上記関連度に基づいてソー
トし、このソートの結果(検索結果)を出力する。
【0004】上記例示検索において、検索キーとして与
えらえた例との関連度を計算する場合、データ数に比例
する計算時間が必要であり、また、上記計算された結果
を上記関連度に基づいてソートする場合、一般的に、デ
ータ数とデータ数の対数との積集合に比例する時間を必
要とする。したがって、データ数がある程度増えると、
実用的な検索時間内に結果を得ることが困難になるとい
う問題がある。
【0005】
【発明が解決しようとする課題】この問題を解決するた
めに、関連度を算出する関数に基づいて、データベース
中のデータを予めグループ化し、木構造の補助データを
構築し、上記構築された木構造の補助データを検索時に
利用することによって、検索対象であるデータの範囲を
限定する手法が考案されている。このようにすることに
よって、データベース中のデータがグループ化され、検
索対象が減少するので、例示検索を高速化することがで
きる。
【0006】しかし、上記木構造の補助データは、関連
度算出関数に依存して構築され、つまり、関連度算出関
数として、たとえば類似度を表すユークリッド距離を算
出する関数を使用する場合、各データの属性値と、検索
キーとして採用されているデータの属性値との差の二乗
和に依存して、上記木構造の補助データが構築される。
したがって、複数の関連度算出関数を切り替えながら上
記木構造の補助データを構築する場合、各関連度算出関
数毎に、上記木構造の補助データを作成する必要があ
り、木構造の補助データを作成する時間が長くなるとと
もに、必要な記憶容量が増大するという問題がある。
【0007】また、たとえば、ヒストグラムに対してイ
ンターセクションを関連度算出関数として用いる場合等
のように、関連度算出関数を予めグループ化することが
不向きな関数である場合には、木構造補助データを作成
すること自体が困難であるという問題がある。
【0008】さらに、データベースにデータを追加/削
除したり、データの内容が変更された場合、最新の状態
を検索に反映させるためには、上記追加/削除/変更に
追従して、上記木構造の補助データを更新する必要があ
るが、木構造を補助データとして用いる場合、データベ
ースのデータが更新されると、木構造を作り直す必要が
生じ、この木構造の作り直しに必要な時間が長くなるこ
とがあり、つまり、データベースのデータ更新の度に、
前処理の時間が長くなることがあるという問題がある。
【0009】本発明は、探索範囲を限定して検索時間を
短縮することができるとともに、様々な種類の関連度算
出関数に対して、単一の補助データで対応することがで
きる例示検索の高速化方法を提供することを目的とする
ものである。
【0010】また、本発明は、関連度算出関数が、木構
造では対応しにくい、予めグループ化しにくい関数(た
とえばヒストグラムのインターセクションのような関
数)であっても、探索順序と探索範囲を適宜調整するこ
とによって、対応することができる例示検索の高速化方
法を提供することを目的とするものである。
【0011】さらに、本発明は、データを追加/削除し
たり、データの内容に変更があった場合、この変更に伴
う更新範囲を、各属性における転置配列の対応する部分
と各転置配列の統計量とに限定することができる例示検
索の高速化方法を提供することを目的とするものであ
る。
【0012】また、本発明は、属性数が多い場合でも、
検索の精確さを所定レベル以上に維持しつつ、検索を高
速化することができる例示検索の高速化方法を提供する
ことを目的とするものである。
【0013】
【課題を解決するための手段】本発明は、各データの属
性の属性値に応じた位置に、データ識別子が配置される
転置配列を、各属性毎に予め作成し、検索問い合わせが
発行されたときに、上記転置配列を用いることによっ
て、検索キーとの関連度が上位k番目までのデータ群を
求めるk−例示検索を実行するものである。
【0014】
【発明の実施の形態および実施例】本発明は、例示検索
を高速化する方法であり、この例示検索の代表的な例と
して画像検索が考えられ、以下、この画像検索を例に取
って本発明を説明する。
【0015】画像検索する場合、データベース中に、各
画像の各種の特徴が多次元ベクトルデータ(組ともい
う)として格納され、各画像データは、多次元ベクトル
空間内の1データポイントとして表されている。この場
合、2つのデータポイント同士における多次元ベクトル
空間内で定義される距離関数(たとえば、各次元の値の
差の2乗和の平方根であるユークリッド距離)による近
さと、元の画像の人間の感覚での類似度とには相関があ
るので、その多次元ベクトル空間での距離の近さを、類
似度と呼ぶことが多い。また、検索キー(例示されたキ
ー画像)と類似の画像を多数の画像中から検索する動作
を、対応する多次元ベクトル空間内の近傍点を取り出す
ことによって実現する。つまり、各画像に対応する多次
元ベクトルデータが、データベースに格納されている。
【0016】ところで、検索の対象になる画像の数は近
年、数十万件というオーダーになっており、この中か
ら、利用者が提示した画像に類似した画像をたとえば1
0件高速に探し出すことが要求されている。数十万件の
データポイントの中から、検索キーとしての多次元ベク
トルデータとの距離を計算し、それらを距離の小さい順
に並べ換え、その距離が小さいものから10件取り出
す。このようにすると、距離の計算(つまり各次元の値
の差の2乗和を取る計算)を数十万回実行する必要があ
り、計算時間が長くなる。
【0017】本発明は、このような場合、距離の計算を
実際に行うべき対象を少数に絞り込むことによって、上
記計算量(各次元の値の差の2乗和を取る計算の量)を
削減するものである。つまり、上記距離を計算するまで
もなく上位10件に入らないようなデータポイントを、
計算対象の候補から排除し、計算対象の候補を少なく絞
り込むようにしている点が特徴である。
【0018】一方、絞り込み過ぎて、要求された10件
よりも少なくなることを阻止し、要求回答数を確保する
ために、停止条件評価を行う。
【0019】次に、本発明をより具体的に説明する。
【0020】図1は、本発明の一実施例である例示検索
の高速化方法の前処理の動作を示すフローチャートであ
る。
【0021】まず、データベース中に格納されている複
数のデータのそれぞれに、各データを互いに識別するデ
ータ識別子を付与し、また上記複数のデータのうちの1
つのデータが複数の属性を有し、上記1つのデータにつ
いて、複数の属性のそれぞれの属性に属性値を付与し、
格納されている。
【0022】補助データ管理装置(図示せず)は、デー
タベース中のデータに基づいて、各属性毎に、転置配列
を作成する(S1)。そして、このときに、各転置配列
毎に統計量(たとえば標準偏差)を計算し(S2)、こ
の計算された各転置配列毎の統計量を格納する(S
3)。
【0023】ところで、上記段階S2において、各転置
配列毎の上記統計量を計算するが、このように各転置配
列のデータ分布を表す統計量を予め計算し、予め定めら
れたデータ分布の評価関数の評価値によって、各転置配
列の検索範囲を決めたり、各転置配列の検索順序を決め
る。この場合、上記データ分布の評価関数は、標準偏差
dと、要求回答数kと、データベース中のデータ数(=
組数)Nとをパラメータとする関数f(d,k,N)で
ある。また、この関数f(d,k,N)の代りに、標準
偏差dと、要求回答数kとをパラメータとする関数f
(d,k)であってもよく、また、標準偏差dと、要求
回答数kと、データベース中のデータ数Nとをパラメー
タとする関数f(d,k,N)であり、上記データベー
ス中のデータ数Nと上記要求回答数kとの単調増加関数
であり、上記標準偏差dの単調減少関数であってもよ
く、さらには、標準偏差dと、要求回答数kとをパラメ
ータとする関数f(d,k)であり、上記要求回答数k
の単調増加関数であり、上記標準偏差dの単調減少関数
であってもよく、また、標準偏差が1次元の一様分布の
標準偏差である(1/12)1/2 の正の実数倍を超える
転置配列の個数a’をカウントし、上記個数a’と、要
求回答数kと、データベース中のデータ数Nとをパラメ
ータとする関数f(a’,k,N)=N*(k/N)
1/(a'+1)であってもよい。
【0024】図2は、上記実施例における転置配列の作
成動作(S1)を具体的に示す説明図である。図2
(1)は、転置配列を説明するために、3つのデータD
1、D2、D3におけるデータ識別子と属性x、yの属
性値とを示す図であり、図2(2)は、図2(1)に示
すデータD1、D2、D3のデータ識別子A、B、C
を、座標軸上に示した図であり、図2(3)は、データ
ベース中のデータD1、D2、D3に基づいて作成され
た転置配列のデータ構造例を示す図である。
【0025】上記実施例において、データベース中の1
つのデータが、複数の属性を有し、1つのデータにおけ
る1つの属性が属性値を有する。たとえば、上記データ
ベースが画像データベースである場合、各データは個々
の画像データであり、1つの画像データを表現するため
に画像の特徴を多次元ベクトルとしてデータベースに格
納する。この場合、多次元ベクトルの各次元が、個々の
属性に当たり、各次元の数値が属性値である。図2の例
では、属性xとyという2次元ベクトルとして、画像の
特徴が表現されている。
【0026】画像の特徴の例としては、たとえば色の分
布が考えられる。1つの画像データは、複数の画素(た
とえば1万画素)で構成されている。それらの個々の画
素に有限個の種類(たとえば16種類)の色のうちの1
つが付されている。色の分布とはこの16種類の色のそ
れぞれが、何画素づつあるかをヒストグラムとして取っ
たものである。この場合、16次元の多次元ベクトルに
なる。
【0027】図2に沿って例を述べれば、属性xとして
たとえば赤色を考え、属性としてたとえば黄色を考え
る。ここでは2種類の色のみを考える。図2(1)のデ
ータD1の属性xの属性値が22であるとは、画像デー
タD1に赤色の画素が22個含まれているということで
ある。同様に、画像データD1には、黄色の画素が21
個含まれ、画像データD2には、赤色の画素が48個含
まれ、画像データD2には、黄色の画素が31個含ま
れ、画像データD3には、赤色の画素が34個含まれ、
画像データD3には、黄色の画素が7個含まれている。
【0028】次に、転置配列の作成方法について説明す
る。
【0029】「転置配列」は、データが有する属性の
「属性値」を、配列上の「位置」に変換し、所定の属性
値を持つデータのデータ識別子を、上記変換された複数
の位置のうちで、上記データの属性の属性値に対応する
位置に格納されている配列である。
【0030】図2(1)に示す例では、データ数3(デ
ータD1、D2、D3の3つのデータ)、属性数2(属
性xと属性yとの2つの属性)のデータベースについ
て、「属性値」を「位置」に変換する変換式として、
「(属性値)÷(定数)の整数部」を使用し、この場
合、除算する際の上記定数として「5」を使用し、属性
xに関する転置配列xと、属性yに関する転置配列yと
の2つの転置配列が作成され、この作成された転置配列
が図2(3)に示されている。
【0031】つまり、属性xに着目すると、データ識別
子Aが付与されているデータの属性xは「22」であ
り、この「22」を除算定数5で割ると、「4.4」で
あり、この場合の整数部は「4」であるので、転置配列
x上の位置「4」に、データ識別子Aが格納される。同
様に、属性xに着目した場合、データ識別子Bが付与さ
れているデータの属性xは「48」であり、この「4
8」を除算定数5で割ると、「9.6」であり、この場
合の整数部は「9」であるので、転置配列x上の位置
「9」に、データ識別子Bを格納する。また、属性yに
着目した場合、データ識別子Cが付与されているデータ
の属性yは「7」であり、この「7」を除算定数5で割
ると、「1.4」であり、この場合の整数部は「1」で
あるので、転置配列y上の位置「1」に、データ識別子
Cを格納する。
【0032】「属性値」を「位置」へ変換する場合、一
般に、属性値を定数で除算した商または整数部を用いる
ことが多いが、このように変換する代わりに、「属性
値」を「位置」に一意に決定することができれば、他の
変換式を使用するようにしてもよい。
【0033】図3は、上記実施例である例示検索の動作
を示すフローチャートを示す図である。
【0034】まず、検索する場合、「検索キー」、「関
連度評価関数の種類(予め用意した複数の関連度評価関
数のうちの1つを選択すること)」、「必要な回答数」
が、問い合わせとして与えられる(S11)。ここで、
データベース中のデータが有する複数の属性の属性値と
同様な複数の属性値として、検索キーを与える。上記関
連度評価関数の種類と、必要な回答数とに応じて、検索
エンジン(図示せず)が、転置配列における探索範囲を
決定する(S12)。
【0035】つまり、たとえば次元軸(図2(2)に示
した座標の軸)のうちで、標準偏差が0.14(=(1
/12)1/2 /2)を越えるものをカウントし、このカ
ウント結果をa’とし、要求回答数k、データ個数Nに
ついて、k’=N*(k/N)1/(a'+1)を求め、1軸当
り(1つの属性当り)の要求回答数k’を越える結果候
補数を得るのに必要な最小の範囲を求める。これが転置
配列の検索範囲の例である。
【0036】さらに、上記検索順序評価関数に各転置配
列の上記統計量を代入し、上記検索順序評価値を導き出
し、各転置配列の検索順序を決定する(S12)。つま
り、各次元軸の標準偏差をsとし、検索範囲の区間の長
さをxとすると、軸分布評価関数e(たとえば=1/
(x*s)を求め、この軸分布評価関数eの値が小さい
順に並べた転置配列の順序が、転置配列の検索順序であ
る。
【0037】次に、決定された転置配列の検索順序に従
って、転置配列を選択し(S13)、上記決定された転
置配列における探索範囲から、転置配列上の定められた
範囲を探索し、各転置配列毎の解候補集合(個別解候補
集合)を得る(S14)。
【0038】そして、この解候補集合と、これまでに求
めた解候補集合(現解候補集合)との積集合を取り、新
たな現解候補集合とする(S15)。この際、停止条件
の計算に必要なパラメータを同時に算出し(S16)、
停止条件評価関数を計算する(S17)。そして、上記
停止条件が満たされるまで、上記処理(S13〜S1
7)を繰り返す(S18)。なお、上記停止条件評価関
数は、たとえば、試行回数≧a’である。つまり、実行
時に計算される停止条件評価関数を用いて、上記複数の
属性の全てについて転置配列を検索する代わりに、上記
複数の属性のうちで、評価関数に基づいて決められる一
部の属性について転置配列を検索し、解候補集合を得
る。
【0039】停止条件がクリアされたら(S18)、ル
ープを停止し、最後に得られた現解候補集合を最終解候
補集合とする。この最終解候補集合中の各要素に対し
て、関連度評価関数を施すことによって、最終解候補集
合中の各要素のそれぞれが検索キーと関連する関連度を
計算し(S19)、この計算された関連度の結果を、評
価値順にソートし、出力する(S20)。
【0040】図4は、複数の属性のうちの所定の1つの
属性について、その転置配列と検索キーとを使用して、
データを絞り込む転置配列絞り込み段階と、絞り込まれ
たデータ群同士の積集合を取る積集合演算段階との具体
例を示す図である。
【0041】まず、属性xに関する転置配列において、
絞り込む数を2個とし、図4(1)の属性xに関する転
置配列において、検索キー「☆」の属性xが「39」で
あるとする。この「39」を除算定数「5」で割ると、
「7.8」であり、この整数部が「7」であるので、検
索キー「☆」の属性xに関する転置配列上の位置は
「7」であり、位置「7」に「☆」が格納され、この位
置「7」が絞り込み開始点になる。
【0042】そして、その転置配列の位置「7」にデー
タ識別子が格納されていれば、そのデータ識別子を絞り
込み個数としてカウントするが、この位置「7」には存
在していないので、データ識別子の絞り込みカウント個
数は「0」である。そして、位置「7」から、その前後
(図4(1)中の左右)に位置を1つ分移動した位置
(位置「6」と「8」)において、格納されているデー
タ識別子の個数をカウントし、このカウントされた個数
を今までの個数に加算する。位置(位置「6」と
「8」)において、格納されているデータ識別子の個数
は1個であり、この1個を、今までにカウントされた個
数「0」に加算すると、属性xに関する絞り込み数が
「1」になる。
【0043】属性xに関する絞り込み数が「2」に達し
ていないので、位置「7」から、その前後(図4(1)
中の左右)に位置を2つ分移動した位置(位置「5」
と「9」)において、格納されているデータ識別子の個
数をカウントし、このカウントされた個数を今までの個
数に加算する。位置(位置「5」と「9」)におい
て、格納されているデータ識別子の個数は1個であり、
この1個を、今までにカウントされた個数「1」に加算
すると、絞り込み数が「2」になる。絞り込み数が
「2」になったので、属性xに関する絞り込みを終了す
る。
【0044】次に、属性yに関する転置配列において、
絞り込む数を上記と同じ2個とし、図4(1)の属性y
に関する転置配列において、検索キー「☆」の属性yが
「13」であるとする。この「13」を除算定数「5」
で割ると、「2.6」であり、この整数部が「2」であ
るので、検索キー「☆」の属性yに関する転置配列上の
位置は「2」であり、位置「2」に「☆」が格納され、
この位置「2」が絞り込み開始点になる。
【0045】そして、その転置配列の位置「2」にデー
タ識別子が格納されていれば、そのデータ識別子を絞り
込み個数としてカウントするが、この位置「2」には存
在していないので、データ識別子の絞り込みカウント個
数は「0」である。そして、位置「2」から、その前後
(図4(1)中の左右)に位置を1つ分移動した位置
(位置「1」と「3」)において、格納されているデー
タ識別子の個数をカウントし、このカウントされた個数
を今までの個数に加算する。位置(位置「1」と
「3」)において、格納されているデータ識別子の個数
は1個であり、この1個を、今までにカウントされた個
数「0」に加算すると、属性yに関する絞り込み数が
「1」になる。
【0046】属性yに関する絞り込み数が「2」に達し
ていないので、位置「2」から、その前後(図4(1)
中の左右)に位置を2つ分移動した位置(位置「0」
と「4」)において、格納されているデータ識別子の個
数をカウントし、このカウントされた個数を今までの個
数に加算する。位置(位置「0」と「4」)におい
て、格納されているデータ識別子の個数は1個であり、
この1個を、今までにカウントされた個数「1」に加算
すると、絞り込み数が「2」になる。絞り込み数が
「2」になったので、属性yに関する絞り込みを終了す
る。
【0047】なお、所定の属性に関する絞り込みを行っ
た結果、転置配列の或る位置において、絞り込み個数を
越える個数がカウントされた場合、その絞り込み個数を
越えた個数までが、絞り込まれたデータ群である。つま
り、絞り込み個数を越える前の段階におけるデータでは
なく、絞り込み個数を越えた分を含めたデータ群が、絞
り込まれたデータ群である。
【0048】上記検索キーと上記関連度評価関数とに基
づいて、上記転置配列絞り込み段階で絞り込まれたデー
タ群からデータ検索する例示検索において、上記データ
が上記検索キーと関連する度合が上記k番目までのデー
タ群を求めるようにしてもよい。
【0049】そして、属性xに関して絞り込まれたデー
タ群と、属性yに関して絞り込まれたデータ群との積集
合を取る。この積集合を取った結果を、図4(2)に示
してある。
【0050】図5は、上記実施例において、データ数、
属性x、yの各絞り込み個数を、図4に示す場合よりも
増やした場合の具体例を示す図である。
【0051】図5において、属性xの値と属性yの値と
を有するデータが約40個示され、この中で属性xの値
が39であり、属性yの値が13である検索キー(☆)
の位置から近い順に5件分のデータを求める場合を想定
する。
【0052】ここで、標準偏差が0.14を越える次元
軸の数をa’とし、つまり、標準偏差が1次元の一様分
布の標準偏差である(1/12)1/2 の正の実数倍を超
える転置配列の個数をa’とし、1つの属性について絞
るべきデータ数をk’とすると、a’=2、データ総数
N=40、要求回答数k=5であるので、k’=20に
なる。
【0053】この状態を図5で示すと、属性xの範囲
は、右上りの斜線で描かれている範囲であり、属性yの
範囲は、左上りの斜線で描かれている範囲である。そし
て、属性xの範囲と属性yの範囲との積集合を取ると、
図5において四角形で囲まれた範囲(属性xの範囲と属
性yの範囲との重複範囲)を得ることである。このよう
に、属性xの範囲と属性yの範囲との積集合を取ること
によって、図5に示す例では、40個のデータを13個
に絞り込むことができる。
【0054】これら13個の各データPi (i=1,
2,……,13)に対して、関連度評価関数に従って最
終的に関連度の高い5件を選ぶことになる。この例で
は,関連度評価関数は2次元ベクトル空間でのユークリ
ッド距離であり、関連度の高い5件とは、距離が近い5
件ということである。なお、属性x、yのそれぞれの値
をPix、Piyとし、検索キーRの属性x、yのそれぞれ
の値をRx 、Ry とすると、各データPi と検索キーR
との距離は、(Pix−Rx2 +(Piy−Ry2また
はこれらの平方根である。
【0055】上記実施例においては、例示検索の検索対
象データの範囲を限定するための補助データとして、各
属性毎に、個々のデータの属性値に応じた位置にデータ
識別子を配置した転置配列(補助データ)を作成する。
【0056】ユーザからの例示問い合わせが与えられる
と、そのときに利用する関連度算出関数が与えられた検
索キーに基づいて、転置配列上で必要な探索範囲を決定
する。これによって、探索範囲を限定し、検索時間を短
縮することができる。
【0057】また、転置配列自身は、関連度算出関数と
は独立であり、検索時に関連度算出関数を初めて適用す
るので、様々な種類の関連度算出関数に対して、関連度
算出関数が変わっても、作成された転置配列を変える必
要がないので、前処理が簡素になるとともに、必要な記
憶容量を少なくすることができる。
【0058】さらに、関連度算出関数が、たとえばヒス
トグラムのインターセクションのように、木構造では対
応しにくく、予めグループ化しにくい関数であっても、
探索順序と探索範囲とを適宜調整することによって、対
応できる。
【0059】また、新しくデータを追加/削除したり、
データの内容に変更があった場合、この変更に伴う更新
範囲を、各属性における転置配列の対応する部分と各転
置配列の統計量とに限定することができる。ところで、
従来の木構造においては、1つのデータを更新すると、
木構造のかなり広い範囲を変更する必要が生じることが
あるが、上記実施例においては、各転置配列の対応する
部分と各転置配列の統計量とに更新範囲を限定すること
ができる。
【0060】上記実施例において、転置配列自身は関連
度算出関数と独立で、検索時に初めて関連度算出関数を
適用するので、様々な種類の関連度算出関数に対して、
単一の転置配列で対応することができる。
【0061】図6は、上記実施例において、転置配列の
作成時に各転置配列の統計量を算出する必要性を説明す
る図である。
【0062】図6に示す例における属性xの転置配列
は、その位置「4」で19個のデータが集中し、統計量
の1つとしての標準偏差が小さくなっている。ここで、
属性xの転置配列を使用してデータを20個に絞ろうと
した場合、結局、29個に絞らざるを得ない。これに対
して、属性yの転置配列における標準偏差が大きいの
で、属性yの転置配列では、20個のデータに絞ること
ができる。
【0063】すなわち、データが有する属性数が多い場
合、転置配列の作成時に各転置配列の統計量を算出・格
納し、検索実行時にこの統計量に基づいて、関連度算出
計算において重要な意味を持つ属性と、重要な意味を持
たない属性とを識別し、重要な属性のみを用いて検索を
行うことによって、検索の精確さをみだりに損なうこと
なく、検索を高速化することができる。
【0064】つまり、上記実施例は、データベース中に
格納されている複数のデータのそれぞれに、上記各デー
タを互いに識別するデータ識別子を付与するデータ識別
子付与段階と、上記複数のデータのうちの1つのデータ
が具備する複数の属性のそれぞれに属性値を付与する属
性値付与段階と、1つの上記属性について、複数の位置
で構成される転置配列を1つ設け、上記複数のデータの
うちの所定のデータに対応する複数の属性のうちの所定
の属性の属性値に対応する位置を上記複数の位置のうち
から1つ求め、上記求められた位置に、上記所定のデー
タの上記データ識別子を配置して転置配列を作成し、上
記複数のデータのうちの上記所定のデータ以外のデータ
のそれぞれについても上記所定の属性に関する転置配列
を作成し、また、上記所定の属性以外の属性のそれぞれ
についても上記転置配列を作成する転置配列作成段階
と、上記複数の属性のそれぞれに所望の属性値を設定す
ることによって、上記検索キーを設定する検索キー設定
段階と、上記データが上記検索キーと関連する度合を評
価する関連度評価関数を設定する関連度評価関数設定段
階と、上記複数の属性のうちの所定の1つの属性につい
て、その転置配列と検索キーとを使用して、上記データ
を絞り込む転置配列絞り込み段階と、上記検索キーと上
記関連度評価関数とに基づいて、上記転置配列絞り込み
段階で絞り込まれたデータ群からデータ検索する例示検
索において、上記データが上記検索キーと関連する度合
が上記k番目までのデータ群を求めるk−例示検索段階
とを有する例示検索の高速化方法である。
【0065】また、1つの上記属性について絞り込まれ
たデータ群と、他の上記属性について絞り込まれたデー
タ群との積集合を演算する積集合演算段階を設けて最終
的な絞り込みを行い、検索キーと関連度評価関数とに基
づいて、上記積集合演算段階で演算されたデータ群から
データ検索する例示検索において、データが検索キーと
関連する度合がk番目までのデータ群を求めるようにし
てもよい。
【0066】さらに、上記各動作に対応するプログラム
であって、コンピュータに実行させるためのプログラム
が、磁気ディスク、光ディスク、光磁気ディスク、磁気
テープ等の記録媒体にコンピュータ読み取り可能に記録
されている。
【0067】
【発明の効果】本発明によれば、属性数が多い場合で
も、検索の精確さを所定レベル以上に維持しつつ、検索
を高速化することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例である例示検索の高速化方法
の前処理の動作を示すフローチャートである。
【図2】上記実施例における転置配列の作成動作、作成
された転置配列のデータ構造例を具体的に示す説明図で
ある。
【図3】上記実施例である例示検索の動作を示すフロー
チャートを示す図である。
【図4】複数の属性のうちの所定の1つの属性につい
て、その転置配列と検索キーとを使用して、データを絞
り込む転置配列絞り込み段階と、絞り込まれたデータ群
同士の積集合を取る積集合演算段階との具体例を示す図
である。
【図5】上記実施例において、データ数、属性x、yの
各絞り込み個数を、図4に示す場合よりも増やした場合
の具体例を示す図である。
【図6】上記実施例において、転置配列の作成時に各転
置配列の統計量を算出する必要性を説明する図である。
【符号の説明】
x、y…属性、 D1、D2、D3…データベースのデータ、 A、B、C…データ識別子、 ☆…検索キー。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 キャサリン カーチス 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 データベース中に格納されている複数の
    データのそれぞれに、上記各データを互いに識別するデ
    ータ識別子を付与するデータ識別子付与段階と;上記複
    数のデータのうちの1つのデータが具備する複数の属性
    のそれぞれに属性値を付与する属性値付与段階と;1つ
    の上記属性について、複数の位置で構成される転置配列
    を1つ設け、上記複数のデータのうちの所定のデータに
    対応する複数の属性のうちの所定の属性の属性値に対応
    する位置を上記複数の位置のうちから1つ求め、上記求
    められた位置に、上記所定のデータの上記データ識別子
    を配置して転置配列を作成し、上記複数のデータのうち
    の上記所定のデータ以外のデータのそれぞれについても
    上記所定の属性に関する転置配列を作成し、また、上記
    所定の属性以外の属性のそれぞれについても上記転置配
    列を作成する転置配列作成段階と;上記複数の属性のそ
    れぞれに所望の属性値を設定することによって、上記検
    索キーを設定する検索キー設定段階と;上記データが上
    記検索キーと関連する度合を評価する関連度評価関数を
    設定する関連度評価関数設定段階と;上記複数の属性の
    うちの所定の1つの属性について、その転置配列と検索
    キーとを使用して、上記データを絞り込む転置配列絞り
    込み段階と;上記検索キーと上記関連度評価関数とに基
    づいて、上記転置配列絞り込み段階で絞り込まれたデー
    タ群からデータ検索する例示検索において、上記データ
    が上記検索キーと関連する度合が上記k番目までのデー
    タ群を求めるk−例示検索段階と;を有することを特徴
    とする例示検索の高速化方法。
  2. 【請求項2】 データベース中に格納されている複数の
    データのそれぞれに、上記各データを互いに識別するデ
    ータ識別子を付与するデータ識別子付与段階と;上記複
    数のデータのうちの1つのデータが具備する複数の属性
    のそれぞれに属性値を付与する属性値付与段階と;1つ
    の上記属性について、複数の位置で構成される転置配列
    を1つ設け、上記複数のデータのうちの所定のデータに
    対応する複数の属性のうちの所定の属性の属性値に対応
    する位置を上記複数の位置のうちから1つ求め、上記求
    められた位置に、上記所定のデータの上記データ識別子
    を配置して転置配列を作成し、上記複数のデータのうち
    の上記所定のデータ以外のデータのそれぞれについても
    上記所定の属性に関する転置配列を作成し、また、上記
    所定の属性以外の属性のそれぞれについても上記転置配
    列を作成する転置配列作成段階と;上記複数の属性のそ
    れぞれに所望の属性値を設定することによって、上記検
    索キーを設定する検索キー設定段階と;上記データが上
    記検索キーと関連する度合を評価する関連度評価関数を
    設定する関連度評価関数設定段階と;上記複数の属性の
    うちの所定の1つの属性について、その転置配列と検索
    キーとを使用して、上記データを絞り込む転置配列絞り
    込み段階と;1つの上記属性について上記絞り込まれた
    データ群と、他の上記属性について上記絞り込まれたデ
    ータ群との積集合を演算する積集合演算段階と;上記検
    索キーと上記関連度評価関数とに基づいて、上記積集合
    演算段階で演算されたデータ群からデータ検索する例示
    検索において、上記データが上記検索キーと関連する度
    合が上記k番目までのデータ群を求めるk−例示検索段
    階と;を有することを特徴とする例示検索の高速化方
    法。
  3. 【請求項3】 請求項1または請求項2において、 上記転置配列絞り込み段階は、上記複数の属性のうちの
    所定の1つの属性における転置配列上のデータのうち
    で、上記検索キーが有する上記所定の1つの属性の属性
    値に近い所定個数のデータを選択する段階であることを
    特徴とする例示検索の高速化方法。
  4. 【請求項4】 請求項1または請求項2において、 上記転置配列絞り込み段階は、上記各転置配列のデータ
    分布を表す統計量を計算し、所定のデータ分布の評価関
    数の評価値に応じて、上記転置配列絞り込み段階におけ
    る上記データを絞り込み範囲を決定する段階であること
    を特徴とする例示検索の高速化方法。
  5. 【請求項5】 請求項4において、 上記所定のデータ分布の評価関数は、標準偏差が1次元
    の一様分布の標準偏差である(1/12)1/2 の正の実
    数倍を超える転置配列の個数a’をカウントし、上記個
    数a’と、要求回答数kと、データベース中のデータ数
    Nとをパラメータとする関数f(a’,k,N)=N*
    (k/N)1/(a'+1)であることを特徴とする例示検索の
    高速化方法。
  6. 【請求項6】 請求項1または請求項2において、 上記転置配列絞り込み段階は、上記各転置配列のデータ
    分布を表す統計量を計算し、所定のデータ分布の評価関
    数の評価値に応じて、上記転置配列の検索順序を決める
    ことを特徴とする例示検索の高速化方法。
  7. 【請求項7】 請求項6において、 上記データ分布の評価関数は、各属性において、最終的
    にk個の解を得るのに必要な探索範囲の広さxを求め、
    この求められた探索範囲の広さxと標準偏差dとをパラ
    メータとする関数f(d,x)=1/(d*x)である
    ことを特徴とする例示検索の高速化方法。
  8. 【請求項8】 請求項1または請求項2において、 実行時に計算される停止条件評価関数を用いて、上記複
    数の属性の全てについて転置配列を検索する代わりに、
    上記複数の属性のうちで、評価関数に基づいて決められ
    る一部の属性について転置配列を検索し、解候補集合を
    得ることを特徴とする例示検索の高速化方法。
  9. 【請求項9】 請求項4または請求項6において、 上記データ分布の評価関数は、標準偏差dと、要求回答
    数kと、データベース中のデータ数Nとをパラメータと
    する関数f(d,k,N)であることを特徴とする例示
    検索の高速化方法。
  10. 【請求項10】 請求項4または請求項6において、 上記データ分布の評価関数は、標準偏差dと、要求回答
    数kとをパラメータとする関数f(d,k)であること
    を特徴とする例示検索の高速化方法。
  11. 【請求項11】 請求項4または請求項6において、上
    記データ分布の評価関数は、標準偏差dと、要求回答数
    kと、データベース中のデータ数Nとをパラメータとす
    る関数f(d,k,N)であり、上記データベース中の
    データ数Nと上記要求回答数kとの単調増加関数であ
    り、上記標準偏差dの単調減少関数であることを特徴と
    する例示検索の高速化方法。
  12. 【請求項12】 請求項4または請求項6において、 上記データ分布の評価関数は、標準偏差dと、要求回答
    数kとをパラメータとする関数f(d,k)であり、上
    記要求回答数kの単調増加関数であり、上記標準偏差d
    の単調減少関数であることを特徴とする例示検索の高速
    化方法。
  13. 【請求項13】 データベース中に格納されている複数
    のデータのそれぞれに、上記各データを互いに識別する
    データ識別子を付与するデータ識別子付与手順と;上記
    複数のデータのうちの1つのデータが具備する複数の属
    性のそれぞれに属性値を付与する属性値付与手順と;1
    つの上記属性について、複数の位置で構成される転置配
    列を1つ設け、上記複数のデータのうちの所定のデータ
    に対応する複数の属性のうちの所定の属性の属性値に対
    応する位置を上記複数の位置のうちから1つ求め、上記
    求められた位置に、上記所定のデータの上記データ識別
    子を配置して転置配列を作成し、上記複数のデータのう
    ちの上記所定のデータ以外のデータのそれぞれについて
    も上記所定の属性に関する転置配列を作成し、また、上
    記所定の属性以外の属性のそれぞれについても上記転置
    配列を作成する転置配列作成手順と;上記複数の属性の
    それぞれに所望の属性値を設定することによって、上記
    検索キーを設定する検索キー設定手順と;上記データが
    上記検索キーと関連する度合を評価する関連度評価関数
    を設定する関連度評価関数設定手順と;上記複数の属性
    のうちの所定の1つの属性について、その転置配列と検
    索キーとを使用して、上記データを絞り込む転置配列絞
    り込み手順と;上記検索キーと上記関連度評価関数とに
    基づいて、上記転置配列絞り込み手順で絞り込まれたデ
    ータ群からデータ検索する例示検索において、上記デー
    タが上記検索キーと関連する度合が上記k番目までのデ
    ータ群を求めるk−例示検索手順と;をコンピュータに
    実行させるためのプログラムを記録したコンピュータ読
    み取り可能な記録媒体。
  14. 【請求項14】 データベース中に格納されている複数
    のデータのそれぞれに、上記各データを互いに識別する
    データ識別子を付与するデータ識別子付与手順と;上記
    複数のデータのうちの1つのデータが具備する複数の属
    性のそれぞれに属性値を付与する属性値付与手順と;1
    つの上記属性について、複数の位置で構成される転置配
    列を1つ設け、上記複数のデータのうちの所定のデータ
    に対応する複数の属性のうちの所定の属性の属性値に対
    応する位置を上記複数の位置のうちから1つ求め、上記
    求められた位置に、上記所定のデータの上記データ識別
    子を配置して転置配列を作成し、上記複数のデータのう
    ちの上記所定のデータ以外のデータのそれぞれについて
    も上記所定の属性に関する転置配列を作成し、また、上
    記所定の属性以外の属性のそれぞれについても上記転置
    配列を作成する転置配列作成手順と;上記複数の属性の
    それぞれに所望の属性値を設定することによって、上記
    検索キーを設定する検索キー設定手順と;上記データが
    上記検索キーと関連する度合を評価する関連度評価関数
    を設定する関連度評価関数設定手順と;上記複数の属性
    のうちの所定の1つの属性について、その転置配列と検
    索キーとを使用して、上記データを絞り込む転置配列絞
    り込み手順と;1つの上記属性について上記絞り込まれ
    たデータ群と、他の上記属性について上記絞り込まれた
    データ群との積集合を演算する積集合演算手順と;上記
    検索キーと上記関連度評価関数とに基づいて、上記積集
    合演算手順で演算されたデータ群からデータ検索する例
    示検索において、上記データが上記検索キーと関連する
    度合が上記k番目までのデータ群を求めるk−例示検索
    手順と;をコンピュータに実行させるためのプログラム
    を記録したコンピュータ読み取り可能な記録媒体。
JP9084569A 1997-03-18 1997-03-18 例示検索の高速化方法 Pending JPH10260990A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9084569A JPH10260990A (ja) 1997-03-18 1997-03-18 例示検索の高速化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9084569A JPH10260990A (ja) 1997-03-18 1997-03-18 例示検索の高速化方法

Publications (1)

Publication Number Publication Date
JPH10260990A true JPH10260990A (ja) 1998-09-29

Family

ID=13834308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9084569A Pending JPH10260990A (ja) 1997-03-18 1997-03-18 例示検索の高速化方法

Country Status (1)

Country Link
JP (1) JPH10260990A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067439A (ja) * 1999-08-27 2001-03-16 Hitachi Ltd 記憶媒体への書き込み情報の管理方法および管理システム
KR100426001B1 (ko) * 2000-12-15 2004-04-03 한국과학기술원 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법
JP2008546098A (ja) * 2005-05-31 2008-12-18 シーメンス メディカル ソリューションズ ユーエスエー インコーポレイテッド 患者の人口統計的レコード照会のデータ依存型フィルタリングシステム及び方法
JP2013146327A (ja) * 2012-01-18 2013-08-01 Hitachi Medical Corp 医用画像表示装置、医用画像表示方法
JP2015022613A (ja) * 2013-07-22 2015-02-02 富士通株式会社 相関抽出方法、相関抽出装置、及び、プログラム
WO2022201541A1 (ja) * 2021-03-26 2022-09-29 日本電気株式会社 検索装置、検索方法、及びコンピュータ読み取り可能な記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067439A (ja) * 1999-08-27 2001-03-16 Hitachi Ltd 記憶媒体への書き込み情報の管理方法および管理システム
KR100426001B1 (ko) * 2000-12-15 2004-04-03 한국과학기술원 데이터 웨어하우스에서 실체 뷰와 차원 계층을 이용한집계 질의의 재작성 방법
JP2008546098A (ja) * 2005-05-31 2008-12-18 シーメンス メディカル ソリューションズ ユーエスエー インコーポレイテッド 患者の人口統計的レコード照会のデータ依存型フィルタリングシステム及び方法
JP2013146327A (ja) * 2012-01-18 2013-08-01 Hitachi Medical Corp 医用画像表示装置、医用画像表示方法
JP2015022613A (ja) * 2013-07-22 2015-02-02 富士通株式会社 相関抽出方法、相関抽出装置、及び、プログラム
WO2022201541A1 (ja) * 2021-03-26 2022-09-29 日本電気株式会社 検索装置、検索方法、及びコンピュータ読み取り可能な記録媒体

Similar Documents

Publication Publication Date Title
Beckmann et al. A revised R*-tree in comparison with related index structures
KR100385528B1 (ko) 다차원 데이터 표시 방법 및 기록 매체
EP0947937B1 (en) Image search apparatus and method
US6084595A (en) Indexing method for image search engine
US5978794A (en) Method and system for performing spatial similarity joins on high-dimensional points
US6285995B1 (en) Image retrieval system using a query image
US6678687B2 (en) Method for creating an index and method for searching an index
Yagoubi et al. Massively distributed time series indexing and querying
US5404512A (en) Method for accessing a database with multi-dimensional search tree nodes
US6003029A (en) Automatic subspace clustering of high dimensional data for data mining applications
US5542089A (en) Method and apparatus for estimating the number of occurrences of frequent values in a data set
EP3014488B1 (en) Incremental maintenance of range-partitioned statistics for query optimization
US4811199A (en) System for storing and manipulating information in an information base
EP1234258B1 (en) System for managing rdbm fragmentations
US6845377B2 (en) Retrieval system and method using distance index
Chen et al. Metric similarity joins using MapReduce
US20020091704A1 (en) Database system and method of organizing an n-dimensional data set
Singh et al. Nearest keyword set search in multi-dimensional datasets
JP3952592B2 (ja) 画像検索装置及び方法
JPH10260983A (ja) 画像検索装置及び方法
JPH10260990A (ja) 例示検索の高速化方法
JPH10301937A (ja) 多次元ベクトル空間内の近傍検索方法とそのプログラムの記録媒体
Sinha LSH vs randomized partition trees: Which one to use for nearest neighbor search?
JP3938815B2 (ja) ノード作成方法、画像検索方法及び記録媒体
KR100667741B1 (ko) 특징 벡터 데이터 공간의 인덱싱 방법