(57)【要約】【課題】数値データの類似検索を行うための索引手法として、数値系列を線分に近似したデータ構造を索引として持つＬ−ｉｎｄｅｘがある。Ｌ−ｉｎｄｅｘでは、近似した線分同士の距離である近似距離を実際の距離に近づけるために誤差を修正するが、この修正幅が大きすぎることが原因で、効率が悪いという問題点があった。【解決手段】発生しうる全て場合に関しての誤差を予め測定しておき、この最大値を索引のメタデータとして保持する。このメタデータを用いて誤差を修正しることにより、修正幅が過大になることを防ぐ。これにより、より実際の距離に近く近似距離を修正できる。【選択図】  図７
2004252795.tif 000002
【特許請求の範囲】
【請求項１】
データベースに格納された系列データを圧縮し、構造化した索引構造であって、数値化された系列データを線分系列に近似した索引構造であり、各線分のについての、開始点、線分の式、ディスクアドレス、及び３つの誤差修正に関するメタデータを持つ索引構造を記録した記録媒体。
【請求項２】
二系列間の距離を計算において、線分に近似してその計算の高速化を実現する場合の、近似による発生誤差をその距離が少なくなる方向に修正するために誤差に関するメタデータを持つ方法、及びそのメタデータの計算方法、及びそれを記録した記録媒体。
【請求項３】
二系列間の距離を計算において、線分に近似してその計算の高速化を実現する場合の、近似による発生誤差をその距離が多くなる方向に修正するために誤差に関するメタデータを持つ方法、及びそのメタデータの計算方法、及びそれを記録した記録媒体。
【請求項４】
請求項１記載の索引構造を用いた類似検索において、請求項２記載のメタデータを用いることにより、解の精度を下げること無く高速に類似検索を行うアルゴリズム、それを実装したプログラム、及びそれを記憶した記憶媒体。
【請求項５】
請求項１記載の索引構造を用いた類似検索において、請求項３記載のメタデータを用いることにより、確実に解であるものを正解の集合の中からから高速に判定し、それ以外については請求項４に記載の方法を用いて残りの正解を判定する類似検索の方法、及びそれを記載した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値系列データ、あるいは画像や文字列データなどの数値系列に変換可能なデータに対して高速に類似検索を行うための索引データ構造、及び索引データ構造の更新および検索手法とこれらを実施するプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
本明細書中で、二つの数値系列の非類似度を算出する非類似度関数をＤ（Ａ，Ｂ）とするとき、数値系列Ａ、Ｂが類似しているとは、次の式を満たしている必要がある。
【０００３】
【数１】
2004252795.tif 000003
ただし、εは類似検索を行うユーザが与える非類似度の閾値で、非類似許容値とよぶ。
【０００４】
数値系列データの類似検索とは、データベースに格納された数値系列（以下、元系列）の中から、検索対象として与えられる数値系列（以下、目標系列）との非類似度がε以下の部分を全て求める問題とする。
【０００５】
数値系列データの類似検索は逐次的に走査することにより、最も単純に実現できる。逐次的な走査は、索引を使わず全てのデータにアクセスする。このため、ディスクアクセス回数、及び計算量が膨大となる。このため、数値系列の類似検索に特化した効率的な幾つかの索引構造が発表されている。
【０００６】
索引構造を用いた類似検索では、まず索引を用いて近似解を求め、次に近似解に対して実際の距離を計算して正解を求めるという段階を経る。近似解に対して実際の距離を計算する作業を精錬とよぶ。
【０００７】
最も代表的な索引構造は、次の文献で参照できるＳＴ−ｉｎｄｅｘである（非特許文献１参照。）。
【０００８】
ＳＴ−ｉｎｄｅｘは、系列を離散フーリエ変換を用いて圧縮し、これを多次元索引構造を用いて構造化したものである。ＳＴ−ｉｎｄｅｘには、大きく次の二つの問題がある。
１、あらかじめ想定した目標系列のサイズと異なるサイズの目標系列を与えた場合、著しく検索効率が低下する。
２、元系列の更新に大きな計算量が必要となる。
【０００９】
これらの問題に対して、発明者らは数値に変換された系列データを、線分の系列に近似したものを索引として保持する新しい索引構造、Ｌ−ｉｎｄｅｘを次の文献に発表した（非特許文献２参照）。
【００１０】
以下、本発明の基礎となる索引構造Ｌ−ｉｎｄｅｘについて概説する。
【００１１】
数値系列Ｘ、  Ｙに対して、Ｌ−ｉｎｄｅｘの構築において前提となっているＬ１距離関数、及びＸ、  Ｙに対する非類似度の定義を以下の定義１に行う。
【００１２】
定義１
【００１３】
【数２】
2004252795.tif 000004
【数３】
2004252795.tif 000005
とするとき、系列Ｘ、ＹのＬ１距離は、Ｌ１（Ｘ，Ｙ）は、次の式で表される
【００１４】
【数４】
2004252795.tif 000006
さらに、
【００１５】
【数５】
2004252795.tif 000007
についても同様とするときＸ，Ｙの非類似度Ｄ（Ｘ，Ｙ）は、次の式で定義される。
【００１６】
【数６】
2004252795.tif 000008
元データを線分の系列に近似する線分系列近似法において、元データを線分に近似するアルゴリズムとしてＬ−ｉｎｄｅｘでは、最小二乗法を用いている。Ｌ−ｉｎｄｅｘでは、系列の添字をＸ座標、その数値をＹ座標とみなし、これらを最小二乗法を用いて直線に近似する。
【００１７】
Ｌ−ｉｎｄｅｘでは、元系列を線分に近似する際の詳細さを調整するために、元データの一部分を線分に近似した際に発生する累積誤差に閾値Δを設けている。近似は数値系列の始点から開始し、近似した線分と元系列が持つ実際の値との累積誤差がΔに達する直前まで同一の線分で行う。これを終点まで繰り返すことによって、膨大な数値系列を線分系列に近似し、データサイズを大幅に縮小している。Ｌ−ｉｎｄｅｘでは各線分が生成される過程で得られる次の４つのメタデ−タを持つ。
線分の開始点
線分の式
開始点のディスクアドレス
誤差情報
これに従い構築されるＬ−ｉｎｄｅｘの概要図を図１に、詳細図を図２に示した。図１にはＬ−ｉｎｄｅｘが持つ先に示した４つの要素の具体例を示している。図２には、数値系列を線分に近似する様子を示した。図中で上向き誤差は、線分に近似したことにより生じた上向きの誤差を表し、下向き誤差も同様である。一つの線分での上向き誤差の合計を上向き偏差、下向き誤差の合計を下向き偏差とよび、それぞれ要素記号δｕｐ、δｄｏｗｎで表す。先に述べたＬ−ｉｎｄｅｘが持つ誤差情報とは、この元データと近似線分との間の偏差の上下差異（上下偏差差異：
【００１８】
【数７】
2004252795.tif 000009
）である。この情報を用いて、近似により生じた距離計算の誤差を修正する。
【００１９】
Ｌ−ｉｎｄｅｘ、および同様に線分系列に近似した目標系列を用いることにより、系列間の近似的な距離（近似距離）を高速に計算することが可能となる。図３を用いて、ｘ  ＝  ｋでの元系列と目標系列との近似距離の計算法について概説する。図３に示すように、
Ｌ−ｉｎｄｅｘの線分系列の式をｙ  ＝  ｆ（ｘ）  、目標系列の近似線分列の式をｙ  ＝  ｇ（ｘ）  とすると、元系列と、目標系列の近似距離ｄ’は以下の式で求めることができる。
【００２０】
【数８】
2004252795.tif 000010
数８の式は、図３に示す線分系列が分断する区間ごとに分けて積分を行うことにより、一次式の積分の加算となり、計算コストを大幅に減少できる。詳細については非特許文献２を参照。
【００２１】
近似距離を数８の式に適用し類似検索を行い求めた解を近似解とする。この場合、近似距離は実際の非類似度とは異なっているため、近似解には正解であるはずのものが含まれない（ｆａｌｓｅ  ｄｉｓｍｉｓｓａｌ）可能性がある。
【００２２】
しかしながら、非特許文献１および非特許文献２にあるように、索引空間での距離が実際の距離を決して超えないことが保証される場合、その索引手法はｆａｌｓｅ  ｄｉｓｍｉｓｓａｌを犯さない。このことから、正解のもれを防ぐために、Ｌ−ｉｎｄｅｘの発明には先に説明した上下偏差差異を用いて近似距離を下向きに修正する。
【００２３】
図４は、図３に対して近似する前の元系列、および目標系列の一部を加えて表示したものである。たとえば、図中の区間［ｔ５．．ｔ６−１］  のＳ’（Ｑ）  に発生している上向き誤差は、この区間の近似距離を実際の距離に比べて増加させている。また、区間［ｔ０．．ｔ１−１］  のＳ’（Ｏ）  に発生している下向き誤差は、この区間の近似距離を実際の距離に比べて減少させている。  Ｌ−ｉｎｄｅｘでは、この誤差を下向きに修正した近似距離を、Ｏｐｔｉｍｉｓｔｉｃ  Ｂｏｕｎｄ  Ｄｉｓｔａｎｃｅ（ＯＢＤ）とよび、ｄ＿ＯＢＤで表す。さらに、ＯＢＤにより求められる近似解をＯＢＤ近似解とよぶ。具体的には、近似距離を計算する際に分割した区間（図４の［ｔ０．．ｔ１］，  ［ｔ１．．ｔ２］，    ．．．  ）ごとに、その区間に終点を持つ線分に関して発生している誤差を修正する。
【００２４】
線分系列Ｓ’（Ｏ）  についての誤差の修正については、Ｓ’（Ｑ）  の位置によりその方法が異なる。逆に、Ｓ’（Ｑ）  の誤差の修正についても同様である。着目線分をｌｉｎｅ１、相対する線分をｌｉｎｅ２とすると、ｌｉｎｅ１についての誤差の修正法は次に示す５つの場合によって異なる。
【００２５】
ｌｉｎｅ２がｌｉｎｅ１と交差せず、
ｌｉｎｅ１の始点あるいは終点のいずれも、２系列の比較区間に収まる場合で、
ｌｉｎｅ１がｌｉｎｅ２より上方にある場合  ：  ｃａｓｅ１
ｌｉｎｅ１がｌｉｎｅ２より下方にある場合  ：  ｃａｓｅ２
ｌｉｎｅ１の始点、終点いずれかが、２系列の比較区間に収まらない場合で
ｌｉｎｅ１がｌｉｎｅ２より上方にある場合  ：  ｃａｓｅ３
ｌｉｎｅ１がｌｉｎｅ２より下方にある場合  ：  ｃａｓｅ４
ｌｉｎｅ２がｌｉｎｅ１と交差（及び一致）する場合  ：  ｃａｓｅ５
ｃａｓｅ１の場合、完全に誤差を修正できる。従って修正すべき誤差は（−δｄｏｗｎ＋δｕｐ）であり、−δｄ−ｕとなる。
【００２６】
ｃａｓｅ２は、ｃａｓｅ１と上下が逆になるため、修正すべき誤差はδｄ−ｕとなる。
【００２７】
ｃａｓｅ３には図４の区間  ［ｔ０．．ｔ２−１］の線分ｌｉが当てはまる。この場合は、線分が途中から始まっているため、線分全体としての上下偏差差異であるδｄ−ｕを使用することができない。線分ｌｉの始点は、ｘ＝ｔ０より前である。図５の（α）に示すように区間［ｔ０．．ｔ１−１］において全ての下向き誤差が発生していた場合には、修正すべき誤差は  −δｄｏｗｎとなる。図５の（β）の場合は修正すべき誤差は  ＋δｕｐとなる。（α）が近似距離を最も増加させる場合であり、他のどのような場合においても、これ以上の減少方向への修正をする必要がない。従って、最悪の場合を想定して  −δｄｏｗｎ  の誤差修正を行う。
【００２８】
ｃａｓｅ４には、図４の区間  ［ｔ５．．ｔ６］が当てはまる。これはｃａｓｅ３と上下が逆になるため、修正すべき誤差は  −δｕｐとなる。
【００２９】
ｃａｓｅ５には、図４の区間  ［ｔ１．．ｔ４−１］、  ［ｔ２．．ｔ３−１］が当てはまる。交差する場所は事前に知り得ないため、誤差の分布を読むことができない。従って最悪の場合の誤差Δを修正する必要がある。修正誤差は−Δとなる。
【００３０】
【非特許文献１】
Ｃ．  Ｆａｌｏｕｔｓｏｓ，  Ｍ．  Ｒａｎｇａｎａｔｈａｎ，  Ｙ．  Ｍａｎｏｌｏｐｏｕｌｏｓ：  Ｆａｓｔ  Ｓｕｂｓｅｑｕｅｎｃｅ  Ｍａｔｃｈｉｎｇ  ｉｎ  Ｔｉｍｅ−Ｓｅｒｉｅｓ  Ｄａｔａｂａｓｅ，  ｐｒｏｃ．  ｏｆ  ＳＩＧＭＯＤ，  ｐｐ．  ４１９〜４２９，  １９９４
【非特許文献２】
Ｙｕｕ  Ｍｏｒｉｎａｋａ，  Ｍａｓａｔｏｓｈｉ  Ｙｏｓｈｉｋａｗａ，  Ｔｏｓｈｉｙｕｋｉ  Ａｍａｇａｓａ，  Ｓｈｕｎｓｕｋｅ  Ｕｅｍｕｒａ，  Ｔｈｅ  Ｌ−ｉｎｄｅｘ：  Ａｎ  Ｉｎｄｅｘｉｎｇ  Ｓｔｒｕｃｔｕｒｅ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  Ｓｕｂｓｅｑｕｅｎｃｅ  Ｍａｔｃｈｉｎｇ  ｉｎ  Ｔｉｍｅ  Ｓｅｑｕｅｎｃｅ  Ｄａｔａｂａｓｅｓ，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ｍｉｎｉｎｇ  Ｓｐａｔｉａｌ  ａｎｄ  Ｔｅｍｐｏｒａｌ  ｄａｔａ（２００１）
【００３１】
【発明が解決しようとする課題】
Ｌ−ｉｎｄｅｘでの誤差修正は、上のｃａｓｅ１、  ｃａｓｅ２の場合は、実際の距離に等しくなるよう修正が行われるが、ｃａｓｅ３、  ｃａｓｅ４、  ｃａｓｅ５に関しては下向きの修正誤差が大きく、ＯＢＤが実際の距離より大幅に小さくなる可能性が高い。近似距離が実際の距離より非常に小さい場合には、近似解として同定されたものの中で正解ではないものの数が増加する。これをｆａｌｓｅ  ａｌａｒｍというがｆａｌｓｅ  ａｌａｒｍの数が増えた場合、精錬作業が多くなり計算量が大きくなる。また、実系列にアクセスするデ−タ量も多くなりディスクアクセスも増加する。
【００３２】
本発明は上記に鑑みてなされたもので、その目的とするところは、  Ｌ−ｉｎｄｅｘの正解に対する近似解のしぼり込み精度を大幅に上昇させるところにあり、このための近似線分の誤差を修正するアルゴリズム、これに用いる索引機構、それを用いた類似検索方法、及び前記述方式を実施するプログラムを記憶した媒体を提供することを目的とする。
【００３３】
【課題を解決するための手段】
Ｌ−ｉｎｄｅｘにおけるＯＢＤ近似解を求めるための誤差修正法は、以下に説明する発明を用いることにより、さらに実際の距離に近く、かつ実際の距離を越えないように改善することができる。これにより、  ｆａｌｓｅ  ａｌａｒｍを大幅に減少し精錬過程のコストを下げ、その結果類似検索の精度を落すこと無く、その性能を大幅に向上できる。
【００３４】
具体的な手段は次のとおりである。２つの線分が交差する場合、あらかじめ交差する点が分かっていれば、修正すべき誤差を計算することができる。しかし、目標系列が与えられるのは、索引を作成した後であるため、あらかじめこれを知ることは不可能である。そこで、全ての点においてその点で交わった場合の下向き修正誤差を計算する。この最大値を常に修正することにより、下向き修正が足りなくなることは無い。従って、常に実際の距離を超えることがない。このような考えに基づいて、Ｌ−ｉｎｄｅｘを拡張し、これを発明とする。
【００３５】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を説明する。説明の際、本発明であるところの索引構造を拡張Ｌ−ｉｎｄｅｘとよぶ。ＯＢＤは実際の距離を越えてはならないため、正確に誤差が分かる場合（ｃａｓｅ１、  ｃａｓｅ２）を除いて距離を減らす方向に修正される。中でも２つの線分が交差する場合（ｃａｓｅ５）は下向きへの誤差修正値はΔとなり、これは実際に修正すべき値より非常に大きくなる。二直線が比較的類似している場合には、交差が頻繁に起こり、これによりＯＢＤは実際の距離より大幅に小さくなる。
【００３６】
以下、本明細書では説明のために、着目する線分が相対する線分について上方から下方に交差することを順交差、その下方から上方に向かって交差することを逆交差と呼ぶ。
【００３７】
図６（ａ）に図４の区間［ｔ２．．ｔ３−１］の詳細図を示した。例えば（ｂ）のように、相対する線分が交差しない場合、修正すべき誤差の求め方は次の通りである。まず、
【００３８】
【数９】
2004252795.tif 000011
で計算される下向き偏差により近似距離は１７減少し、
【００３９】
【数１０】
2004252795.tif 000012
で計算される上向き偏差により近似距離は１８増加した。従って合計で近似距離は実際の距離より１増加しており、修正する誤差は−１となる。
【００４０】
しかし、区間［ｔ２．．ｔ３−１］では、相対する線分に順交差するため修正すべき誤差は異なる。従来のＬ−ｉｎｄｅｘの考え方では、交差した場合には常にΔを減算していた。図８（ａ）の場合Δの値は、上向き偏差＋下向き偏差であるため３５となり、−３５の修正が発生することになる。一方で交差情報が正確に分かっている場合には次のように修正できる。
【００４１】
交差前上向き誤差の合計９加算
交差前下向き誤差の合計８減算
→  交差前修正誤差１加算
交差後下向き誤差の合計９減算
交差後上向き誤差の合計９加算
→  交差後修正誤差０
従って、全体で修正誤差は見積りは  −３５であるのに対し実際には  ＋１となる。この結果より、従来のＬ−ｉｎｄｅｘでの誤差修正の方法は、下方修正が大きすぎることが分かる。
【００４２】
ただし、あらかじめ交差する場所が分かっていればＬ−ｉｎｄｅｘにその情報をメタデ−タとして保持させることも可能であるが、交差する場所は索引構造を構築する段階では知り得ない。
【００４３】
次に、二線分の交差位置が図６の（ｃ）の場所の場合を考える。この場合には、上と同様に修正誤差を計算した場合、次のようになる。
【００４４】
交差前上向き誤差の合計９加算
交差前下向き誤差の合計１５減算
→  交差前修正誤差  −６加算
交差後下向き誤差の合計９減算
交差後上向き誤差の合計２加算
→  交差後修正誤差  −７
この場合は全体での修正誤差は  −１３となる。
【００４５】
このように、交差位置によって修正すべき誤差は大きく異なることが分かる。
しかし、交差位置は目標系列が与えられるまで知ることができない。
【００４６】
そこで、交差位置として可能性のある全ての場所で、次の４つの情報を計算する。
交差前上向き誤差の合計（加算される）
交差前下向き誤差の合計（減算される）
交差後下向き誤差の合計（減算される）
交差後上向き誤差の合計（加算される）
いずれの場所で交差した場合にも、実際の距離を越えないように誤差を修正する必要がある。それゆえ、上の４つの情報に対して、順交差の場合、次のような組合せで値を選ぶことによりどの場所で交差が起こっても、その値以上の減算はなく、その値以下の加算がない。ここで、Ｍａｘ（）は（）の全ての要素の最大値を表す。
Ｍａｘ（交差前下向き誤差の合計  −  交差前上向き誤差の合計）  …  （１）
Ｍａｘ（交差後上向き誤差の合計  −  交差後下向き誤差の合計）  …  （２）
最後に、誤差修正値として（１）と（２）の値を加算したものをＬ−ｉｎｄｅｘのメタデ−タとして持つ。ある線分が図６（ａ）のように上から下に交差する場合には、この値を修正誤差として下方修正する。
【００４７】
これにより、実際の距離を決して越えることがなくかつ実際の距離に近いＯＢＤを計算することができる。なお逆交差の場合、上と逆の計算が必要となるため次のような組合せで選んだ値を加算する必要がある。
Ｍａｘ（交差前上向き誤差の合計  −  交差前下向き誤差の合計）  …  （３）
Ｍａｘ（交差後下向き誤差の合計  −  交差後上向き誤差の合計）  …  （４）
このような考え方で求められる二種類のメタデ−タ（（１）＋（２）、及び（３）＋（４））を従来のＬ−ｉｎｄｅｘに付加したものを拡張Ｌ−ｉｎｄｅｘとよぶ。
【００４８】
以下、上記の考え方を元に従って拡張Ｌ−ｉｎｄｅｘの構造、構築アルゴリズム、及び拡張Ｌ−ｉｎｄｅｘを用いた類似検索方法について述べる。拡張Ｌ−ｉｎｄｅｘは次に示す次の６つの要素の構造体の配列である。
・線分の開始点
・線分の式
・開始点のディスクアドレス
・誤差情報
・順交差最大修正誤差
・逆交差最大修正誤差
以下、拡張Ｌ−ｉｎｄｅｘの索引構造の定義を以下の定義２に行う。
【００４９】
定義２
もと系列Ｏを
【００５０】
【数１１】
2004252795.tif 000013
、拡張Ｌ−ｉｎｄｅｘ構築時の誤差の閾値をΔで参照する。
これに対する拡張Ｌ−ｉｎｄｅｘは
【００５１】
【数１２】
2004252795.tif 000014
で表し、拡張Ｌ−ｉｎｄｅｘを構成するそれぞれの要素は次のように参照する。
・開始点：
【００５２】
【数１３】
2004252795.tif 000015
・線分：
【００５３】
【数１４】
2004252795.tif 000016
【数１５】
2004252795.tif 000017
の実データが格納されているディスクアドレス：
【００５４】
【数１６】
2004252795.tif 000018
・上下偏差差異：
【００５５】
【数１７】
2004252795.tif 000019
・順交差最大修正誤差：
【００５６】
【数１８】
2004252795.tif 000020
・逆交差最大修正誤差：
【００５７】
【数１９】
2004252795.tif 000021
開始点、線分の式、ディスクアドレスは非特許文献２と同じ方法であり、上下偏差差異は、非特許文献２の誤差情報にあたる。次に順交差最大修正誤差と逆交差最大修正誤差の算出アルゴリズムを示す。図７に、もと系列の部分系列
【００５８】
【数２０】
2004252795.tif 000022
に構築されたＬ−ｉｎｄｅｘのある要素ｌｉについての順交差最大修正誤差
【００５９】
【数２１】
2004252795.tif 000023
、及び逆交差最大修正誤差
【００６０】
【数２２】
2004252795.tif 000024
の算出アルゴリズムを示す。
【００６１】
図７のアルゴリズムでは、相対する線分がｉ＝ｐ＋１からｉ＝ｑまで全ての点で交差することを想定して、これらの場合での修正誤差を順交差、及び逆交差それぞれについて求めている。それらの最大値を順交差最大修正誤差、及び逆交差最大誤差としている。
【００６２】
まず、ｓｔｅｐ１では、初期値を設定している。ｓｔｅｐ２では交差点がｉであるとして次の計算を行う。まず、［ｐ．．ｉ］の下向き誤差の合計と上向き誤差の合計を計算する。順交差用と逆交差用に上向き誤差から下向き誤差を減算したものとその逆を計算する。６行目と７行目では、ｉの値が増加して交差点が移動した場合の最大値を計算している。８行目から１２行目は［ｉ＋１．．ｑ］について同様の計算をしている。この計算をｉについて［ｐ＋１．．ｑ］で行うことにより、順交差、逆交差それぞれについての交差前最大修正誤差と交差後最大修正誤差が求められる。ｓｔｅｐ５では、交差前と交差後の最大修正誤差を順交差、逆交差それぞれについて足し合わせることにより、順交差最大修正誤差、及び逆交差最大誤差を求めている。
【００６３】
図７に示すアルゴリズムに従って、拡張Ｌ−ｉｎｄｅｘを構築する。これを用いてＬ−ｉｎｄｅｘと同様に類似検索を行う。類似検索を行う上での距離計算の方法は従来のＬ−ｉｎｄｅｘと全く同じであるため省略する。
【００６４】
次に拡張Ｌ−ｉｎｄｅｘを用いた誤差の修正法を示す。誤差は、近似距離計算の対象区間に存在する線分ごとに修正する。また、修正法は、着目線分が相対する線分との位置関係に応じて異なる。線分の位置関係と修正誤差の定義を以下の定義３に示す。
【００６５】
定義３：拡張Ｌ−ｉｎｄｅｘを用いた誤差の下方修正
【００６６】
【数２３】
2004252795.tif 000025
を拡張Ｌ−ｉｎｄｅｘのうちでｘ＝ｋの候補部分系列に相当する部分を標準化したデータ構造、Ｓ’（Ｑ）をサイズがｎの標準化済み目標系列の近似線分系列（拡張Ｌ−ｉｎｄｅｘと同様のメタデータを持つ）とする。
【００６７】
このとき、
【００６８】
【数２４】
2004252795.tif 000026
に対する修正誤差を次のように定義する。
【００６９】
●線分
【数２５】
2004252795.tif 000027
が
【数２６】
2004252795.tif 000028
においてＳ’（Ｑ）に属するをいかなる線分とも交わらない場合で、
△
【００７０】
【数２７】
2004252795.tif 000029
を満たす場合
◇
【００７１】
【数２８】
2004252795.tif 000030
（ｃａｓｅ１）
◇
【００７２】
【数２９】
2004252795.tif 000031
（ｃａｓｅ２）
△
【００７３】
【数３０】
2004252795.tif 000032
を満たす場合
◇
【００７４】
【数３１】
2004252795.tif 000033
（ｃａｓｅ３）
◇
【００７５】
【数３２】
2004252795.tif 000034
（ｃａｓｅ４）
△
【００７６】
【数３３】
2004252795.tif 000035
を満たす場合
◇
【００７７】
【数３４】
2004252795.tif 000036
（ｃａｓｅ５）
◇
【００７８】
【数３５】
2004252795.tif 000037
（ｃａｓｅ６）
●線分
【００７９】
【数３６】
2004252795.tif 000038
が
【００８０】
【数３７】
2004252795.tif 000039
においてＳ’（Ｑ）に属するある線分と交わる場合、
△
【００８１】
【数３８】
2004252795.tif 000040
（ｃａｓｅ７）
△
【００８２】
【数３９】
2004252795.tif 000041
（ｃａｓｅ８）
以上の誤差の下方修正を対象区間の近似距離に対して施したものをＯＢＤと呼ぶ。
【００８３】
位置関係の分類は、Ｌ−ｉｎｄｅｘと同じであるため図３を参照されたい。なお、定義３内の標準化とは、系列の平均値を０にそろえることを意味している。
【００８４】
定義３でｃａｓｅ３以降が従来のＬ−ｉｎｄｅｘに対して拡張された部分である。ｃａｓｅ７、及びｃａｓｅ８は上で説明した通りである。ｃａｓｅ３、ｃａｓｅ４、ｃａｓｅ５、ｃａｓｅ６に関しては、線分が中途より始まる点、あるいは途中で終る点を交差点と捉えることにより定義３のように求めている。
【００８５】
ｃａｓｅ３は、着目線分が相対する線分より上方にあって、着目線分の途中から比較区間が始まる場合である。この場合、修正すべき誤差は逆交差の場合と同じになる。図８（ａ）はｃａｓｅ３の場合を表している。一方（ｂ）は逆交差の場合を表している。（ａ）と（ｂ）は、（ｂ）の方が００３に示す部分の誤差を多く修正する必要があるという違いを除いては修正すべき誤差に関して全く同じと捉えられる。拡張Ｌ−ｉｎｄｅｘにおいては、下向きに誤差を修正しすぎる分には、ｆａｌｓｅ  ｄｉｓｍｉｓｓａｌを犯す可能性は発生しない。従って、ｃａｓｅ３は逆交差の場合と同じ修正誤差となり、定義３の通りとなる。その他、ｃａｓｅ４、ｃａｓｅ５、ｃａｓｅ６においても同様である。
【００８６】
端点により遮られた部分の最大誤差も下向きに修正されており冗長な下方修正があるが、従来のＬ−ｉｎｄｅｘに比べると実際の距離により近くなっている。
【００８７】
非特許文献２のＰｅｓｓｉｍｉｓｔｉｃ  Ｂｏｕｎｄ  Ｄｉｓｔａｎｃｅ（ＰＢＤ）も従来のＬ−ｉｎｄｅｘに比べて拡張した。ＰＢＤは実際の距離を下回ることがないことを保証した近似距離である。以下に説明する。
【００８８】
類似検索では非類似許容度εの値が大きくなるにつれて、その検索性能が逐次走査に近づくという問題点がある。非類似許容度εが大きな値をとるとき、正解とされる候補部分系列の数が多くなるのは明らかである。Ｆａｌｓｅ  Ｄｉｓｍｉｓｓａｌを犯さない索引手法では、索引空間で求められる近似解は、必ず正解を包含しているためεが大きな値をとるとき近似解の数はさらに多くなる。索引手法では、近似解を逐次走査を用いて精錬するため、近似解の数が多くなるほど、性能が逐次走査に近づくことになる。このような場合に、実際の距離を決して下回らない距離、ＰＢＤを用いる。
【００８９】
系列Ａ、Ｂ間の実際の距離をｄ（Ａ，  Ｂ）とする。類似検索の非類似許容度をεとするとｄ（Ａ，  Ｂ）  ＜  εを満たす部分が解となる。
ｐ（Ａ、  Ｂ）を系列Ａ、  ＢのＰＢＤとするとｄ（Ａ，  Ｂ）  ＜  ｐ（Ａ，  Ｂ）が成り立つ。よって次の式が成り立つ。
【００９０】
【数４０】
2004252795.tif 000042
従って二系列Ａ，  ＢのＰＢＤがεを越えないならば、必ずその二系列は類似検索の解である。このため、ＰＢＤを用いて同定した解は正解であることが保証され、精錬において逐次走査を用いて実際の距離を計算する必要がない。以上より、非類似許容値εが大きい場合にはＰＢＤを用いて幾つかの正解をあらかじめ決定することができ、検索効率をあげることが可能となる。
【００９１】
以下の定義４にＰＢＤを定義する。ＰＢＤの定義は定義３に基づいている。
【００９２】
定義４：拡張Ｌ−ｉｎｄｅｘを用いた誤差の上方修正（ＰＢＤ）
【００９３】
【数４１】
2004252795.tif 000043
を拡張Ｌ−ｉｎｄｅｘのうちでｘ＝ｋの候補部分系列に相当する部分を標準化したデータ構造、Ｓ’（Ｑ）をサイズがｎの標準化済み目標系列の近似線分系列（拡張Ｌ−ｉｎｄｅｘと同様のメタデータを持つ）とする。
このとき、
【００９４】
【数４２】
2004252795.tif 000044
に対する上方修正誤差を次のように定義する。
線分
【００９５】
【数４３】
2004252795.tif 000045
が
【００９６】
【数４４】
2004252795.tif 000046
においてＳ’（Ｑ）に属するをいかなる線分とも交わらない場合で、
【００９７】
【数４５】
2004252795.tif 000047
を満たす場合
【００９８】
【数４６】
2004252795.tif 000048
（ｃａｓｅ１）
【００９９】
【数４７】
2004252795.tif 000049
（ｃａｓｅ２）
【０１００】
【数４８】
2004252795.tif 000050
を満たす場合
【０１０１】
【数４９】
2004252795.tif 000051
（ｃａｓｅ３）
【０１０２】
【数５０】
2004252795.tif 000052
（ｃａｓｅ４）
【０１０３】
【数５１】
2004252795.tif 000053
を満たす場合
【０１０４】
【数５２】
2004252795.tif 000054
（ｃａｓｅ５）
【０１０５】
【数５３】
2004252795.tif 000055
（ｃａｓｅ６）
線分
【０１０６】
【数５４】
2004252795.tif 000056
が
【０１０７】
【数５５】
2004252795.tif 000057
においてＳ’（Ｑ）に属するある線分と交わる場合、
【０１０８】
【数５６】
2004252795.tif 000058
（ｃａｓｅ７）
【０１０９】
【数５７】
2004252795.tif 000059
（ｃａｓｅ８）
最後に拡張Ｌ−ｉｎｄｅｘを用いた類似検索の方法について記す。
１．  ユ−ザが非類似許容度εと目標系列を与える。
２．  与えられた目標系列を線分系列に近似する。
３．  Ｌ−ｉｎｄｅｘと線分系列に近似された目標系列との間のＰＢＤ距離がεより小さい全ての候補部分系列を正解とする。
４．  ３．で求めた正解を除いた部分の中で、ＯＢＤ距離がεより小さい全てのＯＢＤ近似解を求める。
５．  ４．で求めたＯＢＤ近似解に対して逐次走査を適用し正解を求める。
【０１１０】
【発明の効果】
上記で説明した通り、本発明を用いることにより系列データの類似検索において、これを少ない計算量、及び少ないディスクアクセスで行うことが可能となる。結果として検索時間の大幅な短縮が実現する。
【０１１１】
株価予測や地震予測、あるいは動画検索や遺伝子解読といった系列データを扱うアプリケーション、サービス、ビジネス、およびインフラにおいては、検索を行うユーザは検索結果待機時間を大幅に短縮でき、その価値が向上する。また、これらを提供する側は、ＣＰＵパワーやディスク容量、主記憶の容量などのリソースの縮小が実現できる。本発明の応用分野は数値時系列データに限らず、遺伝子やＰＤＦファイルなどの文字列検索、音楽や動画などバイナリデータの類似検索など幅広い分野がある。また、単なる類似検索ではなく、類似パターンを多く発見することによる相関分析、これによりデータに存在する潜在的な知識の発見、潜在知識からビジネスチャンスを見出すデータウェアハウスやＣＲＭに適用できる。
【図面の簡単な説明】
【図１】Ｌ−ｉｎｄｅｘの概要を示した図である。
【図２】Ｌ−ｉｎｄｅｘの詳細を示した図である。
【図３】近似距離の計算方法を示した図である。
【図４】図３に実系列を加えて示した図である。
【図５】検索区間の端点が線分の途中に現れた場合の図である。
【図６】拡張Ｌ−ｉｎｄｅｘの誤差修正について説明した図である。
【図７】拡張Ｌ−ｉｎｄｅｘの要素である誤差情報に関するメタデータの計算方法を定義した図である。
【図８】拡張Ｌ−ｉｎｄｅｘの誤差修正を説明した図である。
００１  始点前
００２  始点後
００３  交差後の誤差
００４  交差前誤差
【図１】
2004252795.tif 000060
【図２】
2004252795.tif 000061
【図３】
2004252795.tif 000062
【図４】
2004252795.tif 000063
【図５】
2004252795.tif 000064
【図６】
2004252795.tif 000065
【図７】
2004252795.tif 000066
【図８】
2004252795.tif 000067