KR20030032499A - 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법 - Google Patents

시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법 Download PDF

Info

Publication number
KR20030032499A
KR20030032499A KR1020010064303A KR20010064303A KR20030032499A KR 20030032499 A KR20030032499 A KR 20030032499A KR 1020010064303 A KR1020010064303 A KR 1020010064303A KR 20010064303 A KR20010064303 A KR 20010064303A KR 20030032499 A KR20030032499 A KR 20030032499A
Authority
KR
South Korea
Prior art keywords
sequence
subsequence
time warping
index
query
Prior art date
Application number
KR1020010064303A
Other languages
English (en)
Inventor
한미경
최완
김상욱
박상현
조준서
Original Assignee
한국전자통신연구원
주식회사 케이티
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 한국전자통신연구원, 주식회사 케이티 filed Critical 한국전자통신연구원
Priority to KR1020010064303A priority Critical patent/KR20030032499A/ko
Publication of KR20030032499A publication Critical patent/KR20030032499A/ko

Links

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 시퀀스 데이터베이스에서 타임 워핑기반의 서브시퀀스 매칭방법은 시퀀스들로부터 모든 가능한 슬라이딩 윈도우들을 분할하여 네 개의 특징을 추출한 후 사차원 인덱스를 구성하고 질의 시퀀스의 모든 가능한 접두어들로부터 추출된 네 개의 특징값에 대한 사차원 공간상의 각 점과 그 특징거리가 ε이내인 시퀀스 내의 슬라이딩 윈도우들을 검색하여 상기 검색된 슬라이딩 윈도우를 접두어로 가지는 후보 서브시퀀스들을 인덱스 검색의 결과로 반환하며 상기 반환된 후보 서브시퀀스를 액세스하여 상기 질의 시퀀스와의 타임 워핑 거리가 ε이내인 서브시퀀스를 최종 결과로 반환함으로써 서브시퀀스 매칭을 처리하는 방법에 관한 것이다.
본 발명에 따르면 시퀀스의 길이가 서로 다른 경우에도 유사한 패턴을 갖는 시퀀스를 착오 채택없이 찾을 수 있으며 인덱스를 기반으로 하는 서브시퀀스 매칭을 지원하므로 빠른 질의 처리가 가능하며, 접두어 기반 질의 개념을 이용함으로써 인덱스를 위한 저장 공간도 매우 작아 대용량의 데이터베이스가 필요한 환경에서도 타임 워핑 기반 서브시퀀스 매칭의 처리를 매우 효과적으로 지원할 수 있다.

Description

시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법{A METHOD FOR MATCHING SUBSEQUENCE BASED ON TIME-WARPING IN SEQUENCE DATABASES}
본 발명은 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법에 관한 것으로서 보다 상세하게는, 시퀀스들로부터 모든 가능한 슬라이딩 윈도우들을 분할하여 다차원 인덱스를 구성하고 슬라이딩 윈도우 단위의 인덱스와 질의시퀀스의 접두어들을 이용하여 서브시퀀스 매칭을 처리하는 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법에 관한 것이다.
최근 컴퓨터 기술의 발전과 더불어 데이터 시퀀스를 활용하고자 하는 연구가 활발하게 진행되고 있으며 실제로 다양한 분야에서 많은 양의 데이터 시퀀스가 이용되고 있다. 길이 n인 시퀀스는 n개의 엔트리로 구성된 배열을 의미하고 시계열 데이터는 시간대별로 측정한 실수 값을 가지는 엔트리의 시퀀스를 의미한다.
또한, 시퀀스 데이터베이스는 객체의 변화되는 값들의 연속으로 구성된 데이터 시퀀스들의 집합이다. 그 대표적인 예로는 주가 데이터, 환율 데이터, 기온 데이터, 제품 판매량 데이터, 기업 성장률 데이터 등이 있다. 질의 시퀀스는 사용자에 의해 주어지는 검색하고자 하는 패턴의 시퀀스를 의미한다. 상기와 같이 사용자에 의해 질의 시퀀스와 유사한 데이터 시퀀스들을 시퀀스 데이터베이스에서 검색하는 것을 유사 시퀀스 매칭이라 하며 이러한 유사 시퀀스 매칭은 시퀀스 데이터베이스를 기반으로 하는 새로운 응용분야인 데이터 마이닝(data mining) 및 데이터 웨어하우징(data warehousing) 분야에서 중요한 연산으로 사용된다.
일반적으로 하나의 시퀀스가 다른 시퀀스의 일부분인 경우 전자는 후자의 서브시퀀스가 된다. 유사 시퀀스 매칭은 크게 전체 매칭과 서브시퀀스 매칭으로 분류된다. 상기 전체 매칭은 모든 데이터 시퀀스들과 질의 시퀀스의 길이가 항상 동일하다는 전제하에 상기 질의 시퀀스와 유사한 시퀀스를 데이터베이스로부터 검색하는 것을 말한다. 반면, 상기 서브시퀀스 매칭은 다양한 길이의 데이터 시퀀스들이 존재하는 것을 허용하며 데이터베이스로부터 질의 시퀀스와 유사한 서브시퀀스의오프셋을 검색한다. 이와 같이 서브시퀀스 매칭은 길이에 대한 제약이 없으므로 다양한 실제 응용 분야에서 널리 사용된다.
상기 유사 서브시퀀스 매칭에 관한 기존의 많은 연구에서는 길이 n의 시퀀스를 n차원 공간상의 한 점으로 간주한다. 또한, 두 시퀀스간의 유사한 정도를 측정하기 위하여 두 점들간의 유클리드 거리를 이용한다. 상기 유클리드 거리만을 이용한 유사 서브시퀀스 매칭에서는 사용자가 원하는 시퀀스들을 검색하지 못하는 경우가 빈번하게 발생하였다. 따라서, 응용 분야에 적합한 유사모델을 적절히 정의할 수 있도록 변환을 지원하기도 한다. 초기의 연구에서는 상기 변환을 지원하지 않았으나 이후에는 스케일링, 시프팅, 정규화, 이동평균, 타임워핑 등의 다양한 변환을 지원하는 방법들이 제안되었다.
이들 중에서 상기 타임 워핑(time warping)은 시퀀스 내의 각 요소값을 임의의 수만큼 반복시키는 것을 허용하는 변환이다(참고문헌 참조 - [Yi98] B.K.Yi, H.V.Jagadish, and C.Faloutos, "Efficient Retrieval of Similar Time Sequence Under Time Warping," In Proc.Int'l. Conf. on Data Engineering, IEEE, pp. 201-208,1998. 참조). 예를 들어, 타임 워핑에 의하여 두 시퀀스 Q = <20,20,21,20,23> 와 S = <20,21,21,20,20,23,23,23>를 동일한 시퀀스 <20,20,21,21,20,20,23,23,23>으로 변환시킬 수 있다. 여기서, 상기 타임 워핑 후의 두 시퀀스들간의 거리를 타임 워핑 거리(time warping distance)라 정의한다. 상기한 유클리드 거리는 시퀀스들의 길이가 동일한 경우에만 유사한 정도를 측정할 수 있지만 상기 타임 워핑은 데이터베이스 내의 시퀀스들의 길이가 서로 다른 경우에도 유사한 패턴을 갖는 시퀀스들을 찾을 수 있도록 해주므로 시퀀스들의 길이가 서로 달라서 유클리드 거리를 이용하여 유사 정도를 직접 측정할 수 없는 경우에 매우 유용하다.
이하, 본 발명에서 사용되는 용어를 정의한다.
시퀀스 S(= <s[1],s[2], ..., s[|S|]>)는 실수인 요소 값들의 연속이다. 여기서, 상기 |s|는 시퀀스의 길이이며, s[i]는 S의 i번째 요소를 의미한다. First(S)와 Last(S)는 각각의 S의 첫 번째 요소 s[1]과 마지막 요소 s[|S|]를 의미한다. 또한, Rest(S)는 s[1]을 제외한 S의 나머지 요소들로 구성된 시퀀스 <s[2],s[3], ..., s[|S|]>를 의미한다. s[i:j]는 S의 서브시퀀스로서 i번째 요소에서 j번째 요소까지를 포함한다. < >는 요소가 존재하지 않는 널 시퀀스(null sequence)를 의미한다.
길이 n을 갖는 두 시퀀스 S와 Q의 유사한 정도를 측정하기 위하여 다음과 같은 거리 함수 Lp가 널리 사용된다. L1은 맨하탄 거리(Manhattan distance), L2는 유클리드 거리(Euclidean distance), L∞는 대응되는 각 쌍의 거리 중 최대 거리를 의미한다. 거리 함수 Lp는 하기 식 1과 같이 정의되며 대상이 되는 두 시퀀스의 길이가 같아야 한다는 제한이 있다.
[식 1]
여기서, 1 ≤p ≤∞이다.
한편, 두 시퀀스 S와 Q간의 타임 워핑 변환을 기반으로 한 타임 워핑 거리 Dtw는 하기의 정의 1과 같이 재귀적으로 정의된다.
[정의 1]
1) Dtw(< >, < >) = 0,
2) Dtw(S, < >) = Dtw(< >, Q) = ∞,
3) Dtw(S,Q) = Dbase(First(S),First(Q) +
min(Dtw(S,Rest(Q)), Dtw(Rest(S),Rest(Q)))
여기서, 상기 min은 인자들 중 가장 작은 값을 가지는 것을 취하는 함수이며, 상기 Dbase는 기본 거리 함수로서 Lp중 응용에 적합한 임의의 것을 선택하여 사용할 수 있다. 특히, 본 발명에서는 요소 반복을 통하여 변환된 두 시퀀스간의 거리 함수 Dbase로서 L∞를 사용한다. 타임 워핑 변환에서는 상기 정의 1의 3)에서와 같이 두 시퀀스의 거리 차를 최소화하기 위하여 한 시퀀스 내의 임의의 요소를 반복시킴으로써 상기 요소가 다른 시퀀스의 다수의 요소들과 매치되는 것을 허용한다. 상기 특성으로 인하여 Dtw는 요소 추출의 주기가 다르거나 길이가 다른 두 시퀀스의 유사 정도를 특정하는 응용에서 널리 사용된다.
종래의 서브시퀀스 매칭을 위한 해결 방법에서는 미리 고정된 크기 w를 갖는 윈도우(window) 개념을 이용한다. 상기 윈도우(window)는 시퀀스를 분할하는 단위로서, 분할하는 방법에 따라 슬라이딩 윈도우(sliding window)와 디스조인트 윈도우(disjoint window)로 구분한다. 상기 슬라이딩 윈도우는 시퀀스의 가능한 모든 위치를 시작 위치로 하여 구성한 윈도우를 의미하며 상기 디스조인트 윈도우는 윈도의 크기의 배수가 되는 위치를 시작 위치로 하여 구성한 윈도우를 의미한다.
도 1은 상기한 시퀀스를 윈도우로 분할하는 예시도를 도시한 것이다. 도 1(a)는 시퀀스를 슬라이딩 윈도우로 분할하는 방법에 대한 예시도를 나타낸 것으로서 시퀀스(11)를 크기가 4인 슬라이딩 윈도우(12)들로 나눈 예이다. 도 1(a)에 도시된 바와 같이 시퀀스(11)의 크기가 12이고 슬라이딩 윈도우(12)의 크기가 4 인 경우, 상기 분할된 슬라이딩 윈도우(12)의 개수는 9개(=12-4+1)가 된다. 도 1(b)는 시퀀스를 디스조인트 윈도우로 분할하는 방법에 대한 예시도를 나타낸 것으로서 시퀀스(13)를 크기가 4인 디스조인트 윈도우(14)들로 나눈 예이다. 도 1(b)에 도시된 바와 같이 시퀀스(13)의 크기가 12이고 디스조인트 윈도우(14)의 크기가 4 인 경우 상기 분할된 디스조인트 윈도우(14)의 개수는 3개(=12/4)이다.
종래의 타임 워핑 지원 유사 검색에 관한 접근 방법들이 여러가지 소개되어 있다. 이를 간단히 살펴보면 다음과 같다.
먼저, 참고 문헌 [Law93] L.Rabiner and H.H.Juang, "Fundamentals of Speech Recognition," Prentice Hall, 1993. 및 참고 문헌 [Ber96a] D.J.Berndt and J.Clifford, "Finding Patterns in Time Series: A Dynamic Programming Approach," Advances in Knowledge Discovery and Data Mining, pp. 229-248,1996.의 논문에는 서브시퀀스 매칭을 위해 데이터베이스 내에 존재하는 모든 서브시퀀스를 액세스하여 각 서브시퀀스 s와 질의 시퀀스 q의 Dtw를 계산하는 Naive_Scan방법이 제시되어 있으나 이는 가능한 서브시퀀스의 개수가 많고 디스크로부터의 액세스 횟수가 많아 대형 데이터베이스 환경에서 응답 시간이 길어지고 높은 CPU비용을 초래하였다.
또한, 상술한 참고 문헌 [Yi98]에는 두 시퀀스들간의 위치 관계를 이용하여 고안한 하한 함수 Dtw_lb를 필터링 단계에서 사용하여 착오 기각없이 효과적인 시퀀스를 검색할 수 있는 LB_Scan 방법이 제시되어 있으나 상기 방법은 하나의 질의 처리를 위하여 전체 데이터베이스를 디스크로부터 액세스해야 한다는 성능 개선의 한계가 있어 대형 데이터베이스 환경에 적합치 않았다.
다른 방법으로는 참고 문헌 [Par00] S.H.Park et al., "Efficient Searches for Similar Subsequences of Difference Lengths in Sequence Databases," In Proc. Int'l. Conf. on Data Engineering, IEEE. pp. 23-32,2000.의 논문에는 서픽스 트리를 인덱스 구조로 이용하는 ST_Filter 방법을 제시하고 있으나, 상기 방법은 많은 공통 서브시퀀스들을 생성하기 위하여 도메인 분류를 이용하며 상기 도메인을 작은 범위들로 분할하면 트리가 커져 트리 비용이 증가하였고 도메인을 적은 수의 큰 범위로 분할하면 착오 채택이 많이 발생하여 후보 시퀀스 액세스 비용이 증가되는 문제점이 있었다.
또 다른 방법으로는 참고 문헌 [Kim01] S.W.Kim, S.H.Park, and W.W.Chu, "An Index-Based Approach for Similarity Search Supporting Time Warping in Large Sequence Databases," In Proc. Intl. Conf. on Data Engineering, IEEE, pp. 607-614, 2001의 논문에서는 삼각형 부등식을 만족하는 Dtw의 새로운 하한 거리 함수(lower bound function) Dtw_lb를 고안하였다.
상기 Dtw 및 상기 새로운 하한 거리 함수 Dtw_lb의 개념과 특징은 본 발명에서 적용되므로 여기서 보다 구체적으로 설명한다.
상기 Dtw_lb는 각 시퀀스 S로부터 타임 워핑과 무관한 네 개의 특징 <Frist(S), Last(S), Greatest(S), Smallest(S)>를 함수의 인자로서 사용한다. 여기서, 상기 Frist(S), Last(S), Greatest(S), Smallest(S)는 각각 S의 첫 값, 마지막 값, 최대 값, 최소 값을 의미하며 각각을 '특징'이라 한다.
이러한 특징들을 인자로 사용하는 하한 함수 Dtw_lb는 하기 식 2와 같이 정의된다.
[식 2]
Dtw_lb(S,Q) = Lp(Feature(S), Feature(Q))
여기서, 상기 Feature(S) = <Frist(S), Last(S), Greates(S), Smallest(S)>이고 상기 Feature(Q) = <Frist(Q), Last(Q), Greates(Q), Smallest(Q)>이며, 상기 p는 주어진 응용에서 사용하는 Dtw가 채택하는 p와 동일하게 결정된다. 상기 논문에서는 상기 네 개의 특징들을 인덱싱 애트리뷰트로 사용하는 사차원 인덱스를 구성하고 상기 구성된 인덱스와 Dtw_lb를 이용한 필터링 단계를 통하여 전체 매칭을 매우 효율적으로 처리하였다. 상기 방식을 LB_Filter라 정의한다.
상기 LB_Filter를 서브시퀀스 매칭에 응용하기 위한 가장 단순한 방법은 데이터베이스 내에 존재하는 모든 가능한 서브시퀀스들에 대하여 상술한 네 개의 특징들을 추출하고 상기 추출된 네 개의 특징들에 대하여 다차원 인덱스를 구성하는 것이다. 이어, 서브시퀀스 매칭 시에는 상기와 같이 구성된 인덱스를 이용하여 후보들을 효과적으로 파악할 수 있다. 이러한 방법은 상기 LB_Filter를 손쉽게 적용할 수 있다는 장점이 있다.
그러나, 길이가 L인 시퀀스 내에서 추출 가능한 모든 서브시퀀스의 수는 (L+1) ×L/2로서 매우 많다. 예를 들어, 데이터베이스 내에 평균 길이 1,000인 1,000개의 시퀀스들이 저장되어 있는 경우 500,500,000개의 특징들을 포함하는 사차원 인덱스를 구성해야 한다. 이 결과, 다차원 인덱스 내에 저장해야 하는 특징들의 수는 시퀀스 길이의 제곱에 비례하고, 시퀀스 수에 비례하는 형태를 가진다. 따라서, 대형 데이터베이스 환경에서는 인덱싱을 위한 저장 공간의 오버헤드 측면에서 큰 무리가 있었다.
상기 문제점을 해결하기 위해 안출된 것으로서 본 발명은 상기한 LB_Filter를 확장함으로써 타임 워핑을 지원하는 서브시퀀스 매칭을 효과적으로 처리하는 방법을 제공하는데 그 목적이 있다.
또한, 데이터베이스 내의 시퀀스들로부터 모든 가능한 슬라이딩 윈도우들을 분할하여 다차원 인덱스를 구성하는 방법을 제공하는데 그 부가적인 목적이 있다.
나아가, 슬라이딩 윈도우 단위의 인덱스와 질의 시퀀스의 접두어들을 이용하여 서브시퀀스 매칭을 처리함으로써 빠른 질의 처리가 가능하고 인덱스를 위한 저장 공간이 적은 환경에서 유용한 서브시퀀스 매칭 방법을 제공하는데 그 목적이 있다.
도 1은 시퀀스를 윈도우로 분할하는 예시도를 도시한 것이다.
도 2는 본 발명에 따른 서브시퀀스 매칭의 인덱스 구성과정의 일실시예를 보이는 플로우차트이다.
도 3은 본 발명에 따른 서브시퀀스 매칭과정을 보이는 플로우차트이다.
도 4는 본 발명의 인덱스 검색 결과에 따른 후보 서브시퀀스의 일실시예를 도시한 것이다.
* 도면의 주요 부분에 대한 부호의 설명 *
11,13,41 : 시퀀스 12,42 : 슬라이딩 윈도우
14 : 디스조인트 윈도우
질의 시퀀스와 유사한 데이터베이스 내의 시퀀스를 매칭하는 시퀀스 베이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법에 있어서,
시퀀스로부터 분할된 모든 가능한 슬라이딩 윈도우들로부터 각각 네 개의 특징을 추출하고 상기 각각의 네 개의 특징을 사차원 공간상의 한 점들로 하여 다차원 인덱스 내에 삽입하는 제1 단계;
질의 시퀀스의 모든 가능한 접두어로부터 각각 네 개의 특징을 추출하여 상기 네 개의 특징값으로 구성되는 사차원 공간상의 점들과 특징 거리가 유사 허용치 이내인 슬라이딩 윈도우를 상기 다차원 인덱스에서 검색하고 상기 검색된 슬라이딩 윈도우를 접두어로 가지는 후보 서브시퀀스를 반환하는 제2 단계; 및
상기 반환된 후보 서브시퀀스를 액세스하여 상기 질의 시퀀스와 상기 후보 서브시퀀스와의 타임 워핑 거리가 상기 유사 허용치 이내인 상기 후보 서브시퀀스를 최종 결과로 반환하는 제3 단계를 포함한다.
일반적으로 서브시퀀스 매칭은 크게 인덱스 구성과정과 질의 처리과정으로 분류되고 상기 질의 처리과정은 다시 크게 인덱스 검색과정과 후처리 과정으로 분류되는데, 본 발명에 따른 서브시퀀스 매칭 방법은 데이터베이스 내의 각 시퀀스를 고정된 길이의 슬라이딩 윈도우들로 분할하고 상기 각 윈도우들로부터 상술한 네 개의 특징을 추출하여 이들을 인덱싱 애트리뷰트로 이용하여 전체 데이터베이스를 위한 다차원 인덱스를 구성한다. 이어, 서브시퀀스 매칭시에는 질의 시퀀스의 모든 가능한 접두어에 대하여 상술한 네 개의 특징들을 추출하고 상기 특징들과 특징거리 및 허용치 ε을 이용하여 다차원 인덱스를 검색하며, 상기 인덱스 검색 결과로 반환된 후보들에 대하여 착오 채택 여부를 검사함으로써 최종 질의 결과를 구하는시퀀스 데이터베이스에서 타임 워핑기반의 서브시퀀스 매칭방법에 관한 것이다.
본 발명에서는 두 시퀀스들의 유사한 정도를 나타내는 척도로서 상술한 정의 1에 나타난 타임 워핑 거리 Dtw를 사용한다. 특히, 요소 반복을 통하여 변환된 두 시퀀스간의 거리 함수 Dbase로서 L∞를 사용한다. 이를 위하여 타임 워핑 거리는 하기의 정의 2와 같이 변형된다.
[정의 2]
1) Dtw(< >, < >) = 0,
2) Dtw(S, < >) = Dtw(< >, Q) = ∞,
3) Dtw(S,Q) = max(|First(S),First(Q)|, min(Dtw(S,Rest(Q)),
Dtw(Rest(S),Q), Dtw(Rest(S),Rest(Q))))
상기 Dbase로서 상술한 맨하탄 거리 L1을 사용하는 상기한 참고 문헌 [Ber96a],[Yi98],[Par00]과는 달리 본 발명에서는 L∞를 사용하는 주된 이유는 사용자가 질의 작성의 부담을 덜도록 하기 위한 것이다. 이에 대해 간략히 살펴보면, 상기 정의 1에서 나타낸 바와 같이, 상기 L1을 사용하는 경우 타임 워핑 거리는 변환된 두 시퀀스의 각 대응되는 요소 쌍의 거리들의 합으로 나타나므로 질의 시퀀스와 데이터 시퀀스의 길이에 큰 영향을 받는다. 특히, 서브시퀀스 매칭 문제에서는 같은 데이터 시퀀스로부터 추출되는 서브시퀀스들이라 할 지라도 그 길이 차가 매우 큰 경우에는 문제는 더욱 심각하게 나타난다. 따라서, 질의를 작성하는 사용자가 해당 데이터베이스 특성에 맞는 적절한 ε을 결정한다는 것은 매우 어려운 일이다. 특히, 동적인 환경에서는 시퀀스의 길이가 계속 변경되므로 올바른 ε을 결정하는 것이 사실상 불가능하다. 반면, L∞를 사용하는 경우에는 시퀀스의 길이에 영향을 받지 않고 일관된 ε을 사용할 수 있으므로 이러한 질의 작성의 부담을 덜 수 있다. 여기서, 상기한 바와 같이 상기 L∞의 사용은 사용자의 질의 작성의 부담을 덜기 위한 유사모델상의 변화를 의미하며 본 발명에서 제안되는 인덱스 기반 서브시퀀스 매칭방법이 상기 유사 모델에 한정되는 것은 아니다. 따라서, 상기 Dbase로서 상기한 L1 또는 상기한 L2를 사용하는 경우에도 본 발명에서 제안하는 인덱스 기반 서브시퀀스 매칭 방법은 그대로 사용할 수 있음을 밝혀두고자 한다.
본 발명에 따른 서브시퀀스 매칭을 인덱스 구성과정과 질의 처리과정으로 분류하여 설명하기로 한다. 먼저, 인덱스 구성과정을 설명한다.
이하의 정리 1에서 본 발명에 따른 인덱스 구성을 위한 이론적 배경을 설명한다.
[정리 1]
임의의 두 시퀀스 s, q 및 임의의 양수 w (1 ≤w ≤|s|)에 대하여, 다음의 식이 항상 성립한다.
(∃x) Dtw(s,q) ≤ ε ⇒ (Dtw(s[1:w],q[1:x]) ≤ε),
여기서, 1 ≤x ≤|q|이다.
상기 정리 1은 만일 두 시퀀스 s,q의 타임 워핑 거리가 ε이내이면 상기 시퀀스 s의 접두어 s[1:w]와의 타임 워핑 거리가 ε이내인 q의 접두어가 반드시 하나 이상 존재한다는 것이다.
상기 접두어를 구체적으로 설명한다. 상기한 바와 같이, 하나의 시퀀스 s에서 s[i:j]는 상기 시퀀스에서 i번째 요소부터 j번째 요소를 포함하는 서브시퀀스를 의미한다. 따라서, 상기 s[1:w]는 시퀀스 s의 첫 번째 요소부터 크기 w에 해당하는 요소까지의 서브시퀀스를 의미한다. 이와 같이, 상기 접두어 q[1:x]는 시퀀스 q에서 첫 번째 요소부터 x번째 요소까지의 서브시퀀스이다. 상기 x는 변수로서 1 ≤x ≤|q|의 범위를 갖기 때문에 상기 q의 접두어의 개수는 |q|개이다. 즉, q[1:1],q[1:2], ..., q[1:|q|]로 모두 |q|개 이다.
여기서, 상기 정리 1의 증명을 기존의 참고문헌을 참조하여 하기 증명 1에서 간략하게 기술한다.
[증명 1]
P = <p[1],p[2], ..., p[|P|]>를 두 시퀀스 s와 q의 Dtw를 최소화하는 워핑 경로(warping path; 참고문헌 [Ber96]참)]라 한다. 여기서, |s|≤|P|이고,|q|≤|P|이다. 또한, 상기 워핑 경로의 각 요소를 p[h]=(s[ih],q[jh])라 하고 상기 워핑 경로 내에 존재하는 s와 q의 타임 워핑된 시퀀스를 각각 s'(=<s[ih]>,q'(=<q[jh]>)라 한다. 여기서, 1 ≤h ≤|P|, 1 ≤ih≤|s|, 1 ≤jh≤|q|이다. 이때, 두 시퀀스 s와 q의 Dtw는 하기 식 3과 같이 계산된다.
[식 3]
Dtw(s,q) = L∞(s',q')
여기서, 워핑 경로의 단조 및 연속 성질(monotonic and continual property; 참고문헌 [Ber96a]참조)에 따라 다음의 식 4가 만족된다.
[식 4]
(∃x) (p[x] = (s[w],q[jx]),
여기서, 1 ≤w ≤|s|, 1 ≤x ≤|P|, 1 ≤jx≤|q|이다.
L∞를 사용하는 Dtw는 워핑 경로 내에 존재하는 두 요소 값의 차의 최대값을 취하므로, p[1]부터 p[x]까지의 서브 워핑 경로는 워핑 경로 p보다 항상 작은 타임 워핑 거리를 반환한다. 따라서, 워핑 거리 p가 ε이하의 거리를 반환하는 경우, p[1]부터 p[x]까지의 서브 워핑 경로도 역시 ε이하의 거리를 반환한다. 상기 p[1]부터 p[x]까지의 서브 워핑 경로의 거리가 Dtw(s[1:w],q[1:jx])를 의미하므로 상기 정리 1은 성립한다.
한편, 상술한 LB_Filter에서 사용한 거리 함수 Dtw_lb는 타임 워핑 거리 Dtw의 하한 함수이므로 상기 정리 1로부터 하기의 정리 2를 쉽게 유도할 수 있다.
[정리 2]
임의의 두 시퀀스 s,q 및 임의의 양수 w(1 ≤w ≤|s|))에 대하여, 하기의 식 5가 성립한다.
[식 5]
(∃x) Dtw(s,q) ≤ ε ⇒ (Dtw_lb(s[1:w],q[1:x]) ≤ε),
여기서, 1 ≤x ≤|q|이다.
상기 식 5는, 만일 두 시퀀스 s와 q의 타임 워핑 거리가 ε이내이면 상기 시퀀스 s의 접두어 s[1:w]와의 특징거리가 ε이내인 q의 접두어 q[1:x]가 적어도 하나 존재한다는 것을 의미한다.
한편, 본 발명의 인덱스 구성에 이용되는 윈도우로부터 추출되는 네 개의 특징에 대해 설명한다. 데이터베이스 내의 각 시퀀스를 길이가 w인 슬라이딩 윈도우들로 분할하고 각 윈도우로부터 상기 네 개의 특징 First(w), Last(w), Greatest(w), Smallest(w)를 추출한다. 상기 네 개의 특징들은 타임 워핑 후에도 그 값이 변하지 않는 특징을 가지고 있다. 예를 들어, 타임 워핑에 의하여 두 시퀀스 Q = <20,20,21,20,23> 와 S = <20,21,21,20,20,23,23,23>를 동일한 시퀀스 <20,20,21,21,20,20,23,23,23>으로 변환시킬 수도 있고 다른 시퀀스로도 변환시킬 수도 있는데, 어떻게 변환시키든지 상기 타임 워핑 후의 상기 네 개의 특징은 변하지 않다. 상기 예에서 First(w)는 20, Last(w)는 23, Greatest(w)는 23, Smallest(w)는 20으로 상기 두 시퀀스에서의 네 개의 특징과 동일하다.
상기한 바와 같이 타임 워핑 후의 시퀀스의 개수는 무수히 많이 될 수도 있다. 그러나, 상기한 네 개의 특징들은 타임 워핑 후에도 변하지 않는 특성을 이용하여 상기 네 개의 특징들을 인덱싱 애트리뷰트로 하여 전체 데이터베이스를 위한 사차원 인덱스를 구성한다. 이로써, 길이가 L인 시퀀스로부터 추출되는 길이가 w인 슬라이딩 윈도우의 수는 (L-w+1)개가 된다. 이것은 상술한 모든 가능한 서브시퀀스의 수(L+1)×L/2와 비교하여 훨씬 적은 수이므로 인덱스의 저장 공간 측면에서 실용적이다.
한편, 윈도우의 길이 w는 서브시퀀스 매칭의 처리 성능과 매우 밀접한 관계가 있다. 예를 들어, 크기 w인 슬라이딩 윈도우들에 대하여 인덱스가 구성되어 있을 경우 서브시퀀스 s, 질의 시퀀스 q에 대하여 w의 크기가 작을 수록 Dtw_lb를 이용한 인덱스 필터링 단계에서 반환되는 착오 채택의 수가 많아진다. 또한, q와 w의 차이가 커질 수록 s[1:w]와 비교해야하는 q의 접두어의 개수가 많아진다. 상기 두 사실은 윈도우 길이가 질의 시퀀스 길이보다 작을 수록 서브시퀀스 매칭의 처리 성능이 저하됨을 의미한다. 반대로, 윈도우 길이가 질의 시퀀스 길이보다 큰 경우에는 인덱스를 이용한 필터링이 불가능하다.
따라서, 본 발명에서는 기존의 참고문헌 [Ber96a]에 제시된 minQLen와 maxWarpRatio의 두 가지 개념을 사용하여 상기 슬라이딩 윈도우 길이 w를 결정한다. 상기 minQLen는 응용 분야에서 사용될 수 있는 최소의 질의 시퀀스 길이를 의미한다. 이는 일반적으로 응용 분야에서 결정되는데 원하는 질의 시퀀스 길이의 최소값을 정하여 그 이하의 길이를 가지는 질의 시퀀스는 버리고 최소 길이 이상의 질의 시퀀스에 대해서만 매칭을 하는데 사용된다. 또한, maxWarpRatio는 타임 워핑 변환에 의하여 하나의 시퀀스 요소가 반복될 수 있는 최대 수를 의미한다. 이도 역시 응용 분야에서 결정되며 타임 워핑 변환시 요소 하나가 최대 몇 번 반복되어 사용될 수 있는지를 결정하는 것이다. 예를 들어, maxWarpRatio가 3일 때, 시퀀스 s의 타임 워핑 변환된 s'의 길이는 |s|와 3|s| 사이가 된다. 본 발명에서는 응용 분야의 특성에 따라 minQLen(최소 질의 시퀀스 길이)와 maxWarpRatio가 미리 결정된다는 가정 하에, 상기 윈도우의 크기를 w =(minQLen / maxWarpRatio)로 결정한다. 이때, 상기 w는 최소 길이의 질의 시퀀스와 매치될 수 있는 데이터베이스 내의최소 서브시퀀스의 길이를 의미한다.
이하, 도 2를 참조하여 상기한 크기 w인 슬라이딩 윈도우를 대상으로 인덱스 구성 과정을 설명한다. 도 2는 본 발명에 따른 서브시퀀스 매칭의 인덱스 구성과정의 일실시예를 보이는 플로우차트이다. 이하에서는 데이터베이스 내에 포함된 시퀀스를 S라 하고 상기 시퀀스로부터 추출되는 슬라이딩 윈도우의 크기를 w라 한다.
먼저, 응용 분야에서 사용할 minQLen(최소 질의 시퀀스 길이)와 maxWarpRatio(타임 워핑시 한 요소의 최대 반복수)를 결정한다(S201). 상기 결정된 minQLen와 maxWarpRatio를 이용하여 윈도우 크기 w를 결정한다(S202). 상기 w의 크기의 결정은 상술한 바와 같이, w =(minQLen / maxWarpRatio)로 결정된다. 이어, 빈 상태의 사차원 R-트리를 하나 생성한다(S203).
계속하여, 데이터베이스 내에 액세스할 새로운 시퀀스 S가 존재하는지 판단한다(S204). 상기 단계(S204)에서 액세스할 새로운 시퀀스 S가 상기 데이터베이스 내에 존재하지 않는 것으로 판단되면 상기 과정은 바로 종료되고, 반대로 액세스할 새로운 시퀀스 S가 상기 데이터베이스 내에 존재하는 것으로 판단되면 상기 새로운 시퀀스를 액세스한다(S205). 상기 액세스한 시퀀스에서 크기 w인 슬라이딩 윈도우를 추출한다(S206). 상기 크기 w인 윈도우로부터 네 가지 특징을 추출한다(S207). 즉, First(w), Last(w), Greatest(w), Smallest(w)를 각각 추출한다. 상기 추출된 네 개의 특징을 사차원 공간상의 한 점으로 변환하여 상기 단계(S203)에서 생성한 사차원 R-트리에 삽입한다(S208). 상기 삽입 알고리즘은 기존의 연구에서 이미 제시된 R-트리의 삽입 알고리즘을 이용한다. 이어, 상기 액세스한 시퀀스 S에 새로운윈도우가 있는지 판단한다(S209). 상기 단계(S209)에서 상기 시퀀스 S에 새로운 윈도우가 있는 것으로 판단되면 상기 단계(S207)로 진행하여 상기 새로운 윈도우로부터 네 가지 특징을 추출하여(S207) 상기 이후의 과정들을 반복한다. 그러나, 상기 단계(S209)에서 상기 시퀀스에 새로운 윈도우가 없는 것으로 판단되면 모든 윈도우들에 대한 네 개의 특징의 추출이 완료된 것으로 간주하여 상기 단계(S204)로 진행하여 상기 데이터베이스 내에 새로운 시퀀스 S가 존재하는지 판단한다.
이를 반복함으로써, 데이터베이스 내의 시퀀스의 모든 가능한 슬라이딩 윈도우들에 대한 각각의 특징 네 개를 추출하고 상기 네 개의 특징을 사차원 공간상의 한 점으로 하여 상기 사차원 R-트리에 삽입하게 되는 것이다. 여기서, 상기 인덱스 구성시 상기 슬라이딩 윈도우의 네 개의 특징값에 의해 변환된 사차원 공간상의 한 점은 상기 네 개의 특징값과 상기 슬라이딩 윈도우가 속하는 시퀀스 S의 식별자 및 상기 슬라이딩 윈도우가 상시 시퀀스 S에서 시작하는 시작 위치정보를 포함한다.
상기와 같이 본 발명에 따른 서브시퀀스 매칭을 위한 인덱스를 구성하고 상기 크기 w의 윈도우들을 대상으로 구성된 인덱스를 이용하여 질의 처리 과정을 수행하게 된다. 질의 과정을 수행에 있어서 상기 인덱스 내에 저장된 크기 w인 서브시퀀스(즉, 윈도우)와 매치될 수 있는 질의 시퀀스 q의 접두어의 최소 및 최대 길이를 결정한다. 여기서, 상기 질의 시퀀스 q의 접두어의 최소 길이를 minPrefixLen라 하고 minPrefixLen = (w / maxWarpRatio)로 결정된다. 또한, 상기 q의 접두어의 최대 길이를 maxPrefixLen라 하고 maxPrefixLen = w ×maxWarpRatio(=minQLen)로결정된다. 상기와 같이 q의 접두어 최소길이와 최대 길이를 설정하는 것은 응용분야에서 결정하는 것이며 어느 정도의 질의 시퀀스에 대한 질의를 수행할 것인지를 결정하는 것이다.
그리고, 질의 시퀀스 q의 경우, 상기 q의 각 접두어 q[1:j](minPrefixLen ≤j ≤maxPrefixLen)에 대하여, 네 개의 특징 First(q[1:j]), Last(q[1:j]), Greatest(q[1:j]), Smallest(q[1:j])를 추출하고, 상기 네 개의 특징들과 Dtw_lb 그리고 ε을 이용하여 상기 구성된 사차원 인덱스 R-트리에서 인덱스 검색을 수행하고 상기 인덱스 검색 결과로부터 반환되는 후보들을 실제로 액세스하여 착오 채택을 제거한다. 이를 도 3을 참조하여 보다 상세하게 설명한다.
도 3은 본 발명에 따른 서브시퀀스 매칭과정을 보이는 플로우차트이다. 이하에서는 질의 시퀀스를 q, 시퀀스 S의 서브시퀀스를 s라 한다.
먼저, 상술한 바와 같이 구성된 인덱스 R-트리를 이용한 질의 시퀀스 q에 대한 서브시퀀스 매칭을 위해 인덱스 내에 저장된 크기 w인 서브시퀀스(즉, 윈도우)와 매치될 수 있는 질의 시퀀스 q의 접두어의 최소 및 최대 길이 즉, minPrefixLen와 maxPrefixLen를 결정한다(S301). 상기 질의 시퀀스 q의 접두어의 최소 및 최대 길이의 결정은 상술하였으므로 설명을 생략한다. 이어, 루프 인덱스 j를 minPrefixLen으로 설정한다(S302). 상기 j는 상기 질의 시퀀스 q의 접두어의 끝 요소를 의미하며 상기 j의 크기는 결정된 최소 길이 이상이고 최대 길이 이하이다.
이어, 상기 j가 상기 maxPrefixLen 이하 인지를 판단한다(S303). 상기 단계(S303)의 판단결과 상기 j가 상기 maxPrefixLen 보다 크면 상기 과정은 바로종료되고 상기 j가 상기 maxPrefixLen 이하이면 상기 질의 시퀀스의 접두어 q[1:j]로부터 네 개의 특징을 추출한다(S304). 즉, 상기 네 개의 특징은 상술한 바와 같이 각각 First(q[1:j]), Last(q[1:j]), Greatest(q[1:j]), Smallest(q[1:j])이다. 상기 추출된 네 특징의 값으로 구성되는 사차원 공간상의 한 점과 특징 거리함수 Dtw-lb 그리고 ε을 이용하여 상기 구성된 인덱스 R-트리 검색을 수행한다(S305). 상기 R-트리의 검색은 기존에 공지된 R-트리 검색 알고리즘을 사용한다.
상기 단계(S305)의 상기 인덱스 검색을 구체적으로 설명하면, 상기 질의 시퀀스 q의 접두어 q[1:j]로부터 추출된 네 개의 특징값은 사차원 공간상의 한 점으로 표현되고 상기 한 점을 중심으로 하고 질의의 범위가 ε인 범위를 구성하여 영역 질의(range query)를 미리 생성된 상기 사차원 인덱스 R-트리에 수행한다. 이때, 상기에 사용되는 거리 함수는 Dtw_lb이다.
상술한 정리 2에 의하면, 임의의 두 시퀀스 S,q 및 임의의 양수 w(1 ≤w ≤|S|))에 대하여, 만일 두 시퀀스 S와 q의 타임 워핑 거리가 ε이내이면 상기 시퀀스 S의 접두어 S[1:w]와의 특징거리가 ε이내인 q의 접두어가 적어도 하나 존재한다는 것이다. 즉, 시퀀스 S와 질의 시퀀스 q의 타임 워핑 거리가 ε이내이면 인덱스 검색 결과 상기 질의 시퀀스 q의 모든 가능한 접두어 q[1:j]의 영역 질의에 대하여 적어도 하나의 상기 시퀀스 S의 접두어 S[1:w]가 존재하는 것이며 이것은 인덱스 검색에서 질의 시퀀스 q의 접두어로부터 추출된 네 개의 특징값으로 구성된 점과의 특징 거리가 ε이내인 임의의 슬라이딩 윈도우의 네 개의 특징값으로 구성된 점에 대응하는 슬라이딩 윈도우가 있다는 것을 의미한다. 상기 슬라이딩 윈도우를 검색하고 상기 검색된 슬라이딩 윈도우를 접두어로 갖는 후보 서브시퀀스들은 모두 인덱스 검색 결과로써 반환하는 것이다.
이에 따라 상기 단계(S305)에서는 상기 추출된 네 개의 특징값으로부터 구성된 사차원 공간상의 한 점과 특징 거리가 ε이하인 슬라이딩 윈도우를 상기 사차원 인덱스 R-트리에서 검색한다. 상기 슬라이딩 윈도우는 각각 네 개의 특징값을 가지고 있으며 상기 각 슬라이딩 윈도우가 포함하는 시퀀스의 식별자와 시퀀스에서 몇번째 요소에서부터 시작하는지에 대한 정보를 가지고 있다. 또한, 상기 인덱스 검색 과정에서 허용치 이내인 점에 대응하는 슬라이딩 윈도우를 검출하고 상기 검출된 슬라이딩 윈도우를 접두어로 가지는 모든 서브시퀀스들(이를, 후보 서브시퀀스라 함)을 인덱스 검색 결과로 반환한다. 즉, 상기 슬라이딩 윈도우를 포함하여 상기 슬라이딩 윈도우를 접두어로 가지는 이후의 모든 서브시퀀스들을 반환하는 것이다. 예를 들어, 상기 단계(S305)에서 검색된 슬라이딩 윈도우 s라 하면 상기 인덱스 검색 결과로 반환되는 후보 서브시퀀스들은 상기 슬라이딩 윈도우를 접두어 s[1:w]로 하는 모든 서브시퀀스 즉, s[1:w], s[1:w+1], s[1:w+2], ..., s[1:|s|]가 된다. 이를 도 4를 참조하여 상세하게 설명한다. 도 4는 본 발명의 인덱스 검색 결과에 따른 후보 서브시퀀스의 일실시예를 도시한 것으로서, 상기 단계(S305)에서는 상기 구성된 사차원 인덱스 R-트리에 영역 질의를 수행한 결과 도 4에 도시된 바와 같이 크기가 7인 시퀀스 S(41) 내에 크기가 2인 슬라이딩 윈도우(42)가 검색되면 상기 검색된 슬라이딩 윈도우(42)를 접두어로 하는 상기 시퀀스 S(41) 내의 모든 서브시퀀스들(즉, 후보 서브시퀀스들)을 그 인덱스 검색 결과로서 반환된다.이때, 상기 반환되는 후보 서브시퀀스들은 도 4에 도시된 바와 같이 상기 슬라이딩 윈도우(42)를 접두어로 하는 상기 시퀀스 S내의 서브시퀀스 s1,s2,s3,s4가 된다. 이들이 곧 상기한 후보 서브시퀀스들이다. 이로써, 상기 단계(S305)에서는 인덱스 검색 결과로서 상기 후보 서브시퀀스들(s1,s2,s3,s4)가 반환되는 것이다.
여기서, 주의해야 할 것은 상기 단계(S305)의 검색 결과에는 상기 시퀀스 S의 슬라이딩 윈도우들로부터 추출된 네 개의 특징으로 구성된 점들 중에서 질의 시퀀스 q의 접두어들로부터 추출된 네 개의 특징값에 대한 점들간의 특징거리가 ε이하인 것은 모두 검색되어 반환되지만 이들 중에는 타임 워핑 거리가 ε보다 큰 것들도 포함되어 있다. 예를 들어, 특징거리가 3이고 ε이 5인데 타임 워핑 거리가 10인 것들도 상기 검색 결과로 반환될 수 있다는 것이다. 이것은 후처리에서 상기 검색 결과로 반환된 후보 서브시퀀스를 액세스하여 상기 후보 서브시퀀스와 질의 시퀀스의 타임 워핑 거리를 계산하여 ε이내 인 것을 찾는다.
이하에서 이를 설명한다. 상기 단계(S305)에서의 R-트리 검색을 통하여 반환된 새로운 후보 서브시퀀스 s를 액세스한다(S306). 이때, 액세스할 더 이상의 s가 존재하지 않으면(S307), j값을 하나 증가시켜(S308) 상기 단계(S303)로 진행하여 이후 과정을 다시 실행하고 상기 액세스 할 더 이상의 s가 존재하면(S307), 질의 시퀀스 q와 후보 서브시퀀스 s의 타임 워핑 거리가 ε이하인지를 판단한다(S309). 상기 단계(S309)는 상기한 예에서와 같이 특징거리가 3이고 ε이 5인데 타임 워핑 거리가 10인 것들을 실제 워핑 거리를 측정하여 상기 거리가 ε즉, 5 이하인 서브시퀀스를 찾아 최종 결과에 포함시켜(S310) 후처리 결과로 반환한다. 상기단계(S305)에서는 상기 질의 시퀀스에 대한 영역 질의 결과 상기 모든 질의 시퀀스와의 거리가 유사 허용치 내에 들어오는 후보 서브시퀀스들은 모두 다 검색하여 반환한다는 것이다. 여기서는 상기 유사 허용치를 벗어나는 것은 일단 질의 시퀀스와 유사하지 않는 서브시퀀스로 간주되므로(정리1,2에 의해) 착오 채택이 발생하지 않는다. 단지, 모든 후보 서브시퀀스들 중에는 질의 시퀀스와 타임 워핑 거리가 상기 유사 허용치를 벗어나는 후보 서브시퀀스가 포함될 수도 있다. 따라서, 상기 단계(S309)에서는 최종적으로 상기 질의 시퀀스와 상기 후보 서브시퀀스와의 타임 워핑 거리를 측정하여 상기 거리가 유사 허용치 ε이내 인 서브시퀀스를 반환하는 것이다.
따라서, 상기 단계(S309)의 판단결과 타임 워핑 거리가 ε보다 크면 상기 단계(S306)로 진행하여 새로운 후보 서브시퀀스 s를 액세스한다(S306). 그러나, 상기 단계(S309)의 판단결과 상기 타임 워핑 거리가 ε이하 이면 상기 s를 최종 결과에 포함시킨 후(S310) 상기 단계(S306)로 진행하여 새로운 후보 서브시퀀스 s를 액세스한다.
상기와 같은 과정을 반복함으로써, 후보 서브시퀀스 s에 대해 질의 시퀀스 q와의 타임 워핑 거리를 계산하여 거리가 ε이하인 후보 서브시퀀스들을 반환하게 된다.
이상에서 기재한 바와 같이, 본 발명에서는 데이터베이스 내의 각 시퀀스들로부터 모든 가능한 점에서 크기가 w인 슬라이딩 윈도우들을 분할하고 상기 분할된 각 윈도우들로부터 네 개의 특징 First(w), Last(w), Greatest(w), Smallest(w)를각각 추출하여 사차원 공간상의 한 점으로 변환한 후 사차원 인덱스 R-트리에 삽입함으로써 인덱스를 구성한다.
또한, 질의 시퀀스의 모든 가능한 접두어들로부터 상기한 네 개의 특징을 추출하고 상기 추출된 네 개의 특징값에 대한 사차원 공간상의 각 점과 그 특징거리가 ε이내인 시퀀스 내의 슬라이딩 윈도우들을 R-트리를 검색하며 상기 검색된 슬라이딩 윈도우를 접두어로 가지는 후보 서브시퀀스들을 인덱스 검색의 결과로 반환하고 상기 반환된 후보 서브시퀀스를 액세스하여 상기 질의 시퀀스와의 타임 워핑 거리가 ε이내인 서브시퀀스를 최종 결과로 반환한다.
본 발명에서의 상세한 설명 및 도면의 기재한 일실시예는 본 발명을 설명하기 위한 것이므로 본 발명의 권리의 범위는 상기한 상세한 설명에 의해 결정되는 것이 아니라 첨부한 청구범위에 결정되어야만 할 것이다.
본 발명에 따르면 시퀀스의 길이가 서로 다른 경우에도 유사한 패턴을 갖는 시퀀스를 착오 채택없이 찾을 수 있으며 인덱스를 기반으로 하는 서브시퀀스 매칭을 지원하므로 빠른 질의 처리가 가능하고 빠른 검색 기능을 갖는다.
또한, 접두어 기반 질의 개념을 이용함으로써 인덱스를 위한 저장 공간도 매우 작아 대용량의 데이터베이스가 필요한 환경에서도 타임 워핑 기반 서브시퀀스 매칭의 처리를 매우 효과적으로 지원할 수 있다.

Claims (7)

  1. 질의 시퀀스와 유사한 데이터베이스 내의 시퀀스를 매칭하는 시퀀스 베이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법에 있어서,
    시퀀스로부터 분할된 모든 가능한 슬라이딩 윈도우들로부터 각각 네 개의 특징을 추출하고 상기 각각의 네 개의 특징을 사차원 공간상의 한 점들로 하여 다차원 인덱스 내에 삽입하는 제1 단계;
    질의 시퀀스의 모든 가능한 접두어로부터 각각 네 개의 특징을 추출하여 상기 네 개의 특징값으로 구성되는 사차원 공간상의 점들과 특징 거리가 유사 허용치 이내인 슬라이딩 윈도우를 상기 다차원 인덱스에서 검색하고 상기 검색된 슬라이딩 윈도우를 접두어로 가지는 후보 서브시퀀스를 반환하는 제2 단계; 및
    상기 반환된 후보 서브시퀀스를 액세스하여 상기 질의 시퀀스와 상기 후보 서브시퀀스와의 타임 워핑 거리가 상기 유사 허용치 이내인 상기 후보 서브시퀀스를 최종 결과로 반환하는 제3 단계를 포함하는 것을 특징으로 하는 시퀀스 베이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법.
  2. 제 1항에 있어서,
    슬라이딩 윈도우의 크기는 최소 질의 시퀀스 길이(minQLen)와 타임 워핑시 한 요소의 최대 반복수(maxWarpRatio)의 비를 이용하여 결정하는 것을 특징으로 하는 시퀀스 베이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법.
  3. 제 1항에 있어서,
    상기 네 개의 특징은 해당 시퀀스의 요소들의 값 중 첫째값, 마지막값, 최대값, 최소값인 것을 특징으로 하는 시퀀스 베이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법.
  4. 제 1항에 있어서,
    상기 특징 거리는 타임 워핑 거리의 하한 함수(Dtw_lb)를 이용하여 계산하는 것을 특징으로 하는 시퀀스 베이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법.
  5. 제 1항에 있어서,
    상기 접두어는 해당 시퀀스의 첫 번째 요소부터 이후의 한 요소까지를 포함하는 서브시퀀스인 것을 특징으로 하는 시퀀스 베이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법.
  6. 제 1항에 있어서,
    상기 슬라이딩 윈도우는 상기 네 개의 특징값, 상기 슬라이딩 윈도우가 포함된 시퀀스의 식별자 및 상기 시퀀스 내에서 상기 슬라이딩 시퀀스가 시작되는 위치를 포함하고 있는 것을 특징으로 하는 시퀀스 베이터베이스에서 타임 워핑 기반의서브시퀀스 매칭방법.
  7. 제 1항에 있어서, 상기 제1 단계는,
    상기 슬라이딩 윈도우의 크기를 결정하는 단계;
    빈 상태의 다차원 인덱스를 생성하는 단계;
    상기 시퀀스를 액세스하는 단계;
    상기 시퀀스 내에서 상기 슬라이딩 윈도우를 분할하는 단계를 포함하는 것을 특징으로 하는 시퀀스 베이터베이스에서 타임 워핑 기반의 서브시퀀스 매칭방법.
KR1020010064303A 2001-10-18 2001-10-18 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법 KR20030032499A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010064303A KR20030032499A (ko) 2001-10-18 2001-10-18 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010064303A KR20030032499A (ko) 2001-10-18 2001-10-18 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법

Publications (1)

Publication Number Publication Date
KR20030032499A true KR20030032499A (ko) 2003-04-26

Family

ID=29565238

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010064303A KR20030032499A (ko) 2001-10-18 2001-10-18 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법

Country Status (1)

Country Link
KR (1) KR20030032499A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190010254A (ko) 2017-07-21 2019-01-30 단국대학교 산학협력단 특징 강조형 dtw 기반의 패턴인식 모델 구축을 위한 장치 및 방법
KR20190116032A (ko) * 2018-04-04 2019-10-14 한양대학교 산학협력단 시계열 데이터베이스의 서브 시퀀스 매칭 시스템 및 그 방법
CN113780295A (zh) * 2021-09-13 2021-12-10 东北大学 一种基于lac-floss算法和ier算法的时间序列分割方法
KR20220055228A (ko) * 2020-10-26 2022-05-03 광운대학교 산학협력단 세미-스트림 서브시퀀스 매칭을 이용한 온라인 머신러닝 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687254A (en) * 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
JPH10254902A (ja) * 1997-03-14 1998-09-25 Nippon Telegr & Teleph Corp <Ntt> オブジェクトの類似度算出方法および類似オブジェクト検索装置
KR19990061557A (ko) * 1997-12-31 1999-07-26 구자홍 음성 인식기의 유사단어 인식 방법
KR20010064977A (ko) * 1999-12-20 2001-07-11 윤덕용 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687254A (en) * 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
JPH10254902A (ja) * 1997-03-14 1998-09-25 Nippon Telegr & Teleph Corp <Ntt> オブジェクトの類似度算出方法および類似オブジェクト検索装置
KR19990061557A (ko) * 1997-12-31 1999-07-26 구자홍 음성 인식기의 유사단어 인식 방법
KR20010064977A (ko) * 1999-12-20 2001-07-11 윤덕용 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190010254A (ko) 2017-07-21 2019-01-30 단국대학교 산학협력단 특징 강조형 dtw 기반의 패턴인식 모델 구축을 위한 장치 및 방법
KR20190116032A (ko) * 2018-04-04 2019-10-14 한양대학교 산학협력단 시계열 데이터베이스의 서브 시퀀스 매칭 시스템 및 그 방법
KR20220055228A (ko) * 2020-10-26 2022-05-03 광운대학교 산학협력단 세미-스트림 서브시퀀스 매칭을 이용한 온라인 머신러닝 장치 및 방법
CN113780295A (zh) * 2021-09-13 2021-12-10 东北大学 一种基于lac-floss算法和ier算法的时间序列分割方法
CN113780295B (zh) * 2021-09-13 2024-02-20 东北大学 一种基于lac-floss算法和ier算法的时间序列分割方法

Similar Documents

Publication Publication Date Title
KR100344530B1 (ko) 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법
Yang et al. CLUSEQ: Efficient and effective sequence clustering
US7689588B2 (en) Method of syntactic pattern recognition of sequences
US20100070509A1 (en) System And Method For High-Dimensional Similarity Search
CN108846016B (zh) 一种面向中文分词的搜索算法
Brisaboa et al. Similarity search using sparse pivots for efficient multimedia information retrieval
Gunopulos et al. Time series similarity measures (tutorial pm-2)
CN110569328A (zh) 实体链接方法、电子装置及计算机设备
Yuen et al. Superseding nearest neighbor search on uncertain spatial databases
Keogh Efficiently finding arbitrarily scaled patterns in massive time series databases
CN109359135B (zh) 一种基于分段权重的时间序列相似性搜索方法
US20020184193A1 (en) Method and system for performing a similarity search using a dissimilarity based indexing structure
CN116562297A (zh) 基于HTrie树的中文敏感词变形体识别方法及系统
Naidan et al. Non-metric space library manual
KR20030032499A (ko) 시퀀스 데이터베이스에서 타임 워핑 기반의 서브시퀀스매칭방법
Kang et al. Mining frequent contiguous sequence patterns in biological sequences
KR20100105080A (ko) 엔-그램 기반의 질의 처리 장치 및 그 방법
Günther et al. Fast approximated nearest neighbor joins for relational database systems
KR100472949B1 (ko) 시계열 데이터베이스에서 서브시퀀스 매칭의 인덱스검색방법
Kim et al. Shape-based retrieval in time-series databases
Achtert et al. Approximate reverse k-nearest neighbor queries in general metric spaces
Sharma et al. Nlcs based string approximation for searching indexing keywords in b-tree
Arslan et al. Content and concept indexing for high-dimensional multimedia data
Song et al. Accelerating sequence searching: dimensionality reduction method
Ma et al. Fast Online Similarity Search for Uncertain Time Series

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
WITB Written withdrawal of application