KR101937989B1 - 집합 기반 유사 시퀀스 매칭 장치 및 방법 - Google Patents

집합 기반 유사 시퀀스 매칭 장치 및 방법 Download PDF

Info

Publication number
KR101937989B1
KR101937989B1 KR1020170184063A KR20170184063A KR101937989B1 KR 101937989 B1 KR101937989 B1 KR 101937989B1 KR 1020170184063 A KR1020170184063 A KR 1020170184063A KR 20170184063 A KR20170184063 A KR 20170184063A KR 101937989 B1 KR101937989 B1 KR 101937989B1
Authority
KR
South Korea
Prior art keywords
sequence
candidate
window
sequences
query
Prior art date
Application number
KR1020170184063A
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 KR1020170184063A priority Critical patent/KR101937989B1/ko
Application granted granted Critical
Publication of KR101937989B1 publication Critical patent/KR101937989B1/ko

Links

Images

Classifications

    • G06F17/30536
    • 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/2462Approximate or statistical queries
    • 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
    • G06F17/30321

Landscapes

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

Abstract

집합 기반 유사 시퀀스 매칭 방법에 관한 것이며, 집합 기반 유사 시퀀스 매칭 방법은, 데이터 집합 시퀀스들에 대하여 생성된 집합 역인덱스를 이용하여 데이터 집합 시퀀스들 중 질의 집합 시퀀스의 집합과 유사하다고 판단되는 데이터 집합 시퀀스의 집합들을 후보 집합으로서 식별하여 후보 집합 테이블을 생성하는 단계; 상기 후보 집합 테이블을 고려한 후보 집합이 포함된 데이터 집합 시퀀스의 윈도우와 질의 집합 시퀀스의 윈도우 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스에 포함된 윈도우와 유사하다고 판단되는 데이터 집합 시퀀스의 윈도우들을 후보 윈도우로서 식별하여 후보 윈도우 테이블을 생성하는 단계; 및 상기 후보 윈도우 테이블을 고려한 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스를 식별하는 단계를 포함할 수 있다.

Description

집합 기반 유사 시퀀스 매칭 장치 및 방법 {SET-BASED SIMILAR SEQUENCE MATCHING APPARATUS AND METHOD}
본원은 집합 기반 유사 시퀀스 매칭 장치 및 방법에 관한 것이며, 특히, 인덱스 기반 검색을 통한 집합 유사 시퀀스 매칭의 성능 향상 기술에 관한 것이다.
최근 스마트폰의 보급과 소셜 네트워크 서비스의 발전으로 인해 다양한 데이터가 스마트폰 사용자들로부터 데이터스트림의 형태로 끊임없이 실시간으로 생성되는 빅데이터 환경이 도래하였다. 데이터스트림이란 시간의 흐름에 따라 순차적으로 무한하게 생성되는 데이터를 말한다. 데이터스트림의 특징으로 데이터가 시간 순서대로 빠르고 무한하게 동적(dynamic)으로 생성된다는 것을 들 수 있다. 데이터스트림의 예로는 각종 센서 데이터, 네트워크 패킷 데이터 등이 존재한다.
유사 시퀀스 매칭이란 수많은 데이터 시퀀스(data sequence)들 중에서 사용자에 의해 주어지는 질의 시퀀스(query sequence)와 유사한 데이터 시퀀스를 검색하는 문제이다. 유사 시퀀스 매칭의 예로, 여러 사람들의 DNA 시퀀스가 저장되어 있을 때, 특정 질병을 유발하는 DNA 시퀀스를 가지고 있는 사람들을 찾아내는 것이 있다. 시퀀스를 구성하는 데이터로 연속성을 가지는 수치 데이터를 사용하여 유사 시퀀스 매칭을 수행할 경우, 비슷한 형태를 가지는 유사한 데이터 시퀀스를 찾을 수 있다. 이것은 연속성을 가지는 데이터의 경우, 데이터 값 간의 거리로 유사한 정도를 계산할 수 있기 때문에 가능하다. 하지만 범주형 데이터에 대한 유사 시퀀스 매칭은 각 범주간의 유사한 정도가 수치적으로 정해져 있지 않기 때문에 시퀀스 간의 데이터 값들이 시간 순서에 따라 정확하게 일치해야만 유사하다고 판단한다. 이로 인해 실제로 몇몇 데이터의 순서만 바뀌었을 뿐인 유사한 데이터 시퀀스가 유사하지 않다고 판단될 수 있다. 즉, 시간 기준이 엄격하기에 실제로 유사한 시퀀스이지만 유사하지 않은 시퀀스로 판단되는 시간 불일치(time mismatch) 문제가 발생한다.
도 1은 범주형 데이터 시퀀스에 대해 유사 시퀀스 매칭을 수행할 시 발생하는 유사 시퀀스와 시간 불일치 문제가 발생하는 시퀀스의 예를 나타낸 도면이다.
도 1을 참조하면, (a)의 경우 시퀀스 S1과 시퀀스 S2는 시간 순서에 따라 5개의 데이터가 일치하는 것을 확인할 수 있다. 하지만 (b)의 경우 시퀀스 S1과 시퀀스 S3는 시퀀스를 구성하는 데이터들 중 5개가 일치하지만, 시간 순서가 달라 전혀 유사하지 않은 시퀀스로 판단됨을 확인할 수 있다. 이와 같이 일치하는 데이터들이 많지만, 순서에 따라 유사하지 않은 시퀀스로 판단되는 문제를 시간 불일치 문제라고 한다.
이러한 시간 불일치 문제를 해결하기 위해 집합 기반 유사 시퀀스 매칭이 제안된 바 있다. 일예로, 집합 기반 유사 시퀀스 매칭과 관련하여 논문 1 [Eunji, Yeo, Juwon, Lee, and Hyo-Sang, Lim, "A Similar Data Stream Matching Method by Using the Concept of Item-Set Time Series," Korea Computer Congress, pp.237-239, 2016.], 논문 2 [Eunji, Yeo, "A Data Stream Similar Sequence Matching technique Using the Concept of Item Set and Hierarchy," M. Sc. thesis, Yonsei University, 2016.], 논문 3 [Eunji,Yeo, Juwon, Lee, and Hyo-Sang, Lim, "Set-based Subsequence Matching," KIISE SIGDB, Vol.32, No.3, pp.152-169, 2016.] 등이 제안된 바 있다.
집합 기반 유사 시퀀스 매칭은 시퀀스의 데이터들을 일정한 크기 단위인 집합으로 나누어 집합의 시퀀스로 표현한다. 집합의 시퀀스로 표현할 경우, 집합으로 묶인 간격 안에서는 각 데이터의 순서가 정확히 일치하지 않아도 유사하다고 판단할 수 있다. 이는 도 2를 참조하여 보다 쉽게 이해될 수 있다.
도 2는 집합 기반 유사 시퀀스 매칭에 대한 개략적인 그림을 나타낸다.
도 2를 참조하면, 앞서 언급한 도 1에서의 시퀀스 S1과 시퀀스 S3은 순서가 달라서 유사하지 않은 시퀀스라고 판단되었다. 하지만, 도 2와 같이 시퀀스를 일정 크기의 집합으로 구분할 경우, 각각의 집합들에 대해 2개씩 일치하고, 시퀀스 전체로 보면 총 4개가 일치함을 확인할 수 있다. 즉, 집합 기반 유사 시퀀스 매칭은 기존 유사 시퀀스 매칭의 엄격한 시간 기준을 완화시키는 효과를 얻을 수 있어 시간 불일치 문제를 해결할 수 있다.
그런데, 종래에 공지된 논문 1 내지 논문 3과 같은 집합 기반 유사 시퀀스 매칭 연구는 시간 불일치 문제의 해소에 중점을 두고 있을 뿐, 성능적인 측면에 대해서는 전혀 고려하고 있지 않다. 집합 기반 유사 시퀀스 매칭은 시퀀스를 집합으로 나누고 각 집합 간에 얼마나 유사한지, 즉 공통으로 가지는 원소가 얼마나 많은지에 대하여 계산해야 하므로, 수행 시간이 오래 걸리는 성능상의 문제가 있다.
다시 말해, 집합 유사 시퀀스 매칭 방법은 유사한 정도를 나타내는 척도로 교집합을 기반으로 한 유사도를 사용하는데, 종래에 공지된 집합 유사 시퀀스 매칭 방법은 교집합 크기를 계산하는 과정에 시간이 오래 걸릴 뿐만 아니라, 유사한 시퀀스를 찾기 위해서 수많은 집합 간 교집합 크기를 구해야 하므로 수행 시간이 오래 걸리는 성능상의 문제가 있다.
따라서 집합 기반 유사 시퀀스 매칭을 보다 유용하게 사용하기 위해서는 집합 간 교집합의 크기를 계산하는 과정의 성능을 향상시키는 것이 필요하다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 집합 기반 유사 시퀀스 매칭을 보다 유용하게 사용하기 위해 집합 간 교집합의 크기를 계산하는 과정의 성능을 향상시킬 수 있는 인덱스 기반 검색을 통한 집합 유사 시퀀스 매칭 장치 및 방법을 제공하려는 것을 목적으로 한다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 유사한 집합을 찾기 위해 모든 집합들 간의 교집합 크기를 계산할 필요없이 특정 원소가 포함된 집합들에 대해서만 교집합 크기를 계산함으로써, 종래에 수행 시간이 오래 걸리는 성능상의 문제를 효과적으로 개선하여 집합 유사 시퀀스 매칭의 전체 성능을 향상시킬 수 있는 집합 유사 시퀀스 매칭 장치 및 방법을 제공하려는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제1 측면에 따른 집합 기반 유사 시퀀스 매칭 방법은, 데이터 집합 시퀀스들에 대하여 생성된 집합 역인덱스를 이용하여 데이터 집합 시퀀스들 중 질의 집합 시퀀스의 집합과 유사하다고 판단되는 데이터 집합 시퀀스의 집합들을 후보 집합으로서 식별하여 후보 집합 테이블을 생성하는 단계; 상기 후보 집합 테이블을 고려한 후보 집합이 포함된 데이터 집합 시퀀스의 윈도우와 질의 집합 시퀀스의 윈도우 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스에 포함된 윈도우와 유사하다고 판단되는 데이터 집합 시퀀스의 윈도우들을 후보 윈도우로서 식별하여 후보 윈도우 테이블을 생성하는 단계; 및 상기 후보 윈도우 테이블을 고려한 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스를 식별하는 단계를 포함하고, 상기 데이터 집합 시퀀스의 윈도우는, 데이터 집합 시퀀스의 시계열적 원소들에 대하여 형성된 미리 설정된 수의 원소를 갖는 복수의 집합에 있어서 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 디스조인트 윈도우로서, 다른 디스조인트 윈도우 간에 겹침이 발생하지 않도록 생성되고, 상기 질의 집합 시퀀스 윈도우는, 질의 집합 시퀀스의 시계열적 원소들에 대하여 상기 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 슬라이딩 윈도우로서, 다른 슬라이딩 윈도우 간에 하나의 집합의 크기에 대응하는 겹침이 발생하도록 생성될 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제2 측면에 따른 집합 기반 유사 시퀀스 매칭 장치는, 데이터 집합 시퀀스들에 대하여 생성된 집합 역인덱스를 이용하여 데이터 집합 시퀀스들 중 질의 집합 시퀀스의 집합과 유사하다고 판단되는 데이터 집합 시퀀스의 집합들을 후보 집합으로서 식별하여 후보 집합 테이블을 생성하는 후보 집합 식별부; 상기 후보 집합 테이블을 고려한 후보 집합이 포함된 데이터 집합 시퀀스의 윈도우와 질의 집합 시퀀스의 윈도우 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스에 포함된 윈도우와 유사하다고 판단되는 데이터 집합 시퀀스의 윈도우들을 후보 윈도우로서 식별하여 후보 윈도우 테이블을 생성하는 후보 윈도우 식별부; 및 상기 후보 윈도우 테이블을 고려한 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스를 식별하는 유사 데이터 집합 시퀀스 식별부를 포함하고, 상기 데이터 집합 시퀀스의 윈도우는, 데이터 집합 시퀀스의 시계열적 원소들에 대하여 형성된 미리 설정된 수의 원소를 갖는 복수의 집합에 있어서 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 디스조인트 윈도우로서, 다른 디스조인트 윈도우 간에 겹침이 발생하지 않도록 생성되고, 상기 질의 집합 시퀀스 윈도우는, 질의 집합 시퀀스의 시계열적 원소들에 대하여 상기 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 슬라이딩 윈도우로서, 다른 슬라이딩 윈도우 간에 하나의 집합의 크기에 대응하는 겹침이 발생하도록 생성될 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 제3 측면에 따른 컴퓨터 프로그램은, 본원의 제1 측면에 따른 집합 기반 유사 시퀀스 매칭 방법을 실행시키기 위하여 기록매체에 저장되는 것일 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 역인덱스 기반 검색을 통한 집합 유사 시퀀스 매칭 장치 및 방법을 제공함으로써, 집합 간 교집합의 크기를 계산하는 과정의 성능을 효과적으로 향상시켜 집합 기반 유사 시퀀스 매칭을 빠르게 수행할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 역인덱스를 이용함으로써 유사한 집합을 찾기 위해 모든 집합들 간의 교집합 크기를 계산할 필요없이 특정 원소가 포함된 집합들에 대해서만 교집합 크기를 계산할 수 있다. 이에 따라 본원은 종래에 수행 시간이 오래 걸리는 성능상의 문제를 효과적으로 개선하여 집합 유사 시퀀스 매칭의 전체 성능을 향상시킬 수 있다.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.
도 1은 범주형 데이터 시퀀스에 대해 유사 시퀀스 매칭을 수행할 시 발생하는 유사 시퀀스와 시간 불일치 문제가 발생하는 시퀀스의 예를 나타낸 도면이다.
도 2는 집합 기반 유사 시퀀스 매칭에 대한 개략적인 그림을 나타낸다.
도 3은 Dual-Match에서의 윈도우 개념을 개략적으로 나타낸 도면이다.
도 4는 SSM의 데이터 구조 및 윈도우 구성을 개략적으로 나타낸 도면이다.
도 5는 본원의 일 실시예에 따른 집합 기반 유사 시퀀스 매칭 장치(본 장치)에서 고려되는 집합 역인덱스 구조를 개념적으로 나타낸 도면이다.
도 6은 본 장치에 적용되는 집합 시퀀스에 대한 집합 역인덱스의 구성 예를 나타낸 도면이다.
도 7은 본 장치에서 교집합 크기 계산을 위한 교집합 크기 계산 알고리즘의 예를 나타낸 도면이다.
도 8은 본 장치를 통한 교집합 크기 계산 방법을 설명하기 위한 도면이다.
도 9는 본원의 일 실시예에 따른 집합 기반 유사 시퀀스 매칭 장치(본 장치)의 개략적인 구성을 나타낸 도면이다.
도 10은 본 장치에서 후보 집합 식별부를 통해 수행되는 교집합 비교 과정의 예를 나타낸 도면이다.
도 11은 본 장치에서 후보 윈도우 식별부를 통해 수행되는 후보 매칭 과정의 예를 나타낸 도면이다.
도 12는 본 장치에서 유사 데이터 집합 시퀀스 식별부를 통해 수행되는 후처리 과정의 예를 나타낸 도면이다.
도 13은 본원의 제1 실험예에 따른 실험 결과를 나타낸 도면이다.
도 14는 본원의 제2 실험예에 따른 실험 결과를 나타낸 도면이다.
도 15는 본원의 제3 실험예에 따른 실험 결과를 나타낸 도면이다.
도 16은 본원의 일 실시예에 따른 집합 기반 유사 시퀀스 매칭 방법에 대한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본원은 집합 간 유사도를 계산하는 과정에서 발생하는 성능 문제를 해결하기 위한 인덱스 기반 검색을 이용한 집합 기반 유사 시퀀스 매칭 장치 및 방법에 관한 것이다. 이때, 이하에서는 본원의 일 실시예에 따른 집합 기반 유사 시퀀스 매칭 장치를 설명의 편의상 '본 장치'라 하기로 한다.
본원은 집합 유사 시퀀스 매칭에서의 시퀀스 간 유사도를 집합 간의 유사도, 즉 두 집합 간의 교집합 크기를 이용하여 계산할 수 있다. 또한, 본원은 집합 인덱스 구조를 사용하여 교집합 계산을 빠르게 수행할 수 있는 방법을 확장하여 특정 집합과 유사한 집합을 찾는 집합 간의 유사도 비교 문제를 교집합 크기 비교 문제로 변환할 수 있음을 보다 정형적으로 보인다. 또한, 본원은 집합 인덱스 구조를 개선하고 불필요한 데이터 접근을 줄이기 위한 다양한 최적화 방법에 대해 제시한다. 또한 이렇게 새롭게 제시한 방법이 착오기각(false dismissal) 없이 모든 유사 시퀀스를 빠짐없이 찾을 수 있음을 정형적으로 증명한다.
이하에서는 본원의 구체적인 설명에 앞서, 본원의 보다 쉬운 이해를 돕기 위해 필요한 기본 지식에 대하여 설명하기로 한다.
먼저, 집합 간 유사도를 표현하는 방법에 대한 설명은 다음과 같다.
집합 간 유사도를 표현하는 방법에는 자카드 계수(Jaccard coefficient), 소렌센-다이스 계수(Sorensen-Dice coefficient) 등이 있다. 자카드 계수는 집합(set) 간의 유사도를 표현하는 대표적인 방법으로, 공통되는 원소의 비율이 높을수록 유사하다고 판단하며, 유사한 정도를 0부터 1사이의 값으로 표현한다. 즉, 값이 0인 경우는 두 집합의 유사성이 전혀 없다는 것을 의미하고, 1인 경우는 두 집합이 완전히 같다는 의미이다. 집합 A, B에 대한 자카드 계수는 하기 수학식 1과 같이 표현될 수 있다.
[수학식 1]
Figure 112017131139493-pat00001
소렌센-다이스 계수는 집합 뿐만 아니라 중복 집합(bag) 간의 유사도를 표현하는 방법으로, 자카드 계수와 유사한 형태 및 의미를 지닌다. 이하 본 장치에서는 집합 간 유사도를 표현하는 방법으로서 자카드 계수가 사용될 수 있다.
유사 시퀀스 매칭에 대한 설명은 다음과 같다.
유사 시퀀스 매칭은 데이터 시퀀스들 중에서 사용자에 의해 주어지는(제공되는) 질의 시퀀스와 유사한 것을 찾는 문제로 정의된다. 유사 시퀀스 매칭은 전체 매칭과 서브시퀀스 매칭으로 구분될 수 있다. 전체 매칭은 데이터 시퀀스와 질의 시퀀스의 길이가 동일한 경우, 질의 시퀀스와 유사한 데이터 시퀀스를 찾는 문제로 정의된다. 반면 서브시퀀스 매칭은 질의 시퀀스와 데이터 시퀀스의 길이가 다른 경우, 질의 시퀀스와 유사한 서브 시퀀스를 가지고 있는 데이터 시퀀스와 그 위치를 찾는 문제로 정의된다. 서브시퀀스 매칭은 길이에 대한 제약이 없이 수행되므로, 전체 매칭 문제를 일반화 했다고 할 수 있다. 따라서, 본 장치에서는 보다 일반화된 문제인 서브시퀀스 매칭에 관한 기술이 적용될 수 있다.
유사한 시퀀스를 찾기 위해 두 시퀀스의 유사한 정도를 유클리디안 거리를 사용하여 정형적으로 표현할 경우, 길이가 n인 두 시퀀스 X={X[1],X[2],…,X[n]}, Y={Y[1],Y[2],…,Y[n]}의 유클리디안 거리는 하기 수학식 2와 같이 정의될 수 있다.
[수학식 2]
Figure 112017131139493-pat00002
이에 따르면, 두 시퀀스 사이의 거리인 D(X,Y)가 사용자로부터 입력된 허용치 이하이면, 두 시퀀스는 유사하다고 판단될 수 있다. 또한, 이때의 허용치가 ε일 경우에는 두 시퀀스가 ε-매치(ε-match)한다고 표현될 수 있다. 따라서 유사 시퀀스 매칭은 질의 시퀀스와 ε-매치하는 데이터 시퀀스를 찾는 문제라고 할 수 있다. 이를 수식으로 표현하면 하기 수학식 3과 같을 수 있다.
[수학식 3]
Figure 112017131139493-pat00003
이때, ε을 크게 한다는 것은 유클리디안 거리가 비교적 먼, 덜 유사한 시퀀스라도 유사하다고 판단하겠다는 것을 의미할 수 있다. 반면, ε을 작게 한다는 것은 거리가 비교적 가까운 시퀀스들만 유사하다고 판단하겠다는 것을 의미할 수 있다.
종래의 서브 시퀀스 매칭 방법들은 시퀀스 전체 길이에 대한 유사도를 계산하여 유사한지 여부를 판단하므로, 많은 계산과 시간을 필요로 했다. 이를 보다 효율적으로 수행하기 위해 시퀀스를 일정한 길이 단위인 윈도우로 나누어, 윈도우 간의 유사도 계산으로 서브시퀀스 매칭을 수행하는 방법인 Dual-Match가 제안된 바 있다. Dual-Match 기술은 예시적으로 논문 4 [Yang-Sae, Moon, Kyu-Young Whang, and Woong-Kee Loh, “Efficient time-series subsequence matching using duality in constructing windows," Information Systems, Vol.26, No.4, pp.279-293, 2001.]를 참고하여 이해될 수 있으며, 간단히 살펴보면 다음과 같다.
Dual-Match는 시퀀스를 일정한 길이 단위인 윈도우로 나누고, 각 윈도우들 간의 유사도 계산을 통해 특정 시퀀스와 유사한 시퀀스를 찾는 방법이다. Dual-Match 알고리즘은 후보 매칭 단계와 후처리 단계로 이루어진다. 후보 매칭 단계는 윈도우 간의 유사도 비교를 통해 특정 시퀀스와 유사할 것이라고 예상되는 시퀀스들을 후보로 선정하는 단계이다. 후처리 단계는 후보로 선정된 시퀀스들에 대해 특정 시퀀스와의 전체길이 시퀀스 유사도 계산을 수행하여 실제로 유사한 데이터 시퀀스를 찾는 단계이다.
Dual-Match에서 사용하고 있는 개념인 윈도우는 디스조인트 윈도우와 슬라이딩 윈도우로 구분된다. 이는 도 3을 참조하여 보다 쉽게 이해될 수 있다.
도 3은 Dual-Match에서의 윈도우 개념을 개략적으로 나타낸 도면이다.
도 3을 참조하면, 디스조인트 윈도우는 시퀀스의 시작 엔트리부터 크기가 ω인 윈도우를 구성하고, 윈도우 간에 겹치지 않도록 시퀀스를 윈도우로 나눈 것을 의미한다. 이때, 크기가 ω보다 작은 윈도우는 생성되지 않도록 한다. Dual-Match에서는 데이터 시퀀스(S)를 디스조인트 윈도우로 구성하며, 이는 도 3의 (a)와 같이 표현될 수 있다.
슬라이딩 윈도우는 시퀀스의 시작 엔트리부터 크기가 ω인 윈도우를 구성하여 하나의 엔트리씩 슬라이딩시키며 윈도우를 구성한 것을 의미한다. Dual-Match에서는 질의 시퀀스(Q)를 슬라이딩 윈도우로 구성하며, 이는 도 3의 (B)와 같이 표현될 수 있다.
Dual-Match는 시퀀스의 일부인 윈도우 간의 유사도를 계산하는 방식으로 유사 시퀀스 매칭을 수행한다. 이에 Dual-Match에서는 윈도우 간의 유사도 계산 만으로 유사한 시퀀스를 찾더라도 착오기각이 발생하지 않음을 증명하였으며, 이에 대한 보다 자세한 설명은 논문 4를 참조하여 이해될 수 있다.
집합 기반 유사 시퀀스에 대한 설명은 다음과 같다.
집합 기반 유사 시퀀스 매칭은 범주 데이터에 대해 유사 시퀀스 매칭을 수행할 시에 발생하는 시간 불일치 문제를 해결하기 위한 방안으로 제안되었다. 수치 데이터에 대한 유사 시퀀스 매칭의 경우, 앞서 유사 시퀀스 매칭에 대해 설명한 바와 같이 각 데이터 값 간의 거리로 유사한 정도를 계산할 수 있다. 그러나 범주형 데이터에 대한 유사 시퀀스 매칭은 각 범주간의 유사한 정도가 수치적으로 정해져 있지 않기 때문에 시퀀스 간 데이터 값들이 시간 순서에 따라 정확하게 일치해야만 유사하다고 판단한다. 이로 인해 몇몇 데이터의 순서만 바뀌었을 뿐인 유사한 데이터 시퀀스가 유사하지 않은 시퀀스로 판단되는 시간 불일치 문제가 발생한다. 이러한 경우에 집합 개념을 적용할 경우, 집합으로 묶인 일정 시간 간격 안에서는 데이터의 순서가 일치하지 않더라도 유사하다는 판단이 가능하여 시간 불일치 문제를 해결할 수 있다.
그런데, 앞서 말한 바와 같이, 종래에 공지된 집합 기반 유사 시퀀스 매칭 관련 기술들은 시간 불일치 문제의 해소에 중점을 두고 있을 뿐, 성능적인 측면에 대해서는 전혀 고려하고 있지 않다. 이에, 본 장치에서는 일예로 논문 3 [Eunji,Yeo, Juwon, Lee, and Hyo-Sang, Lim, "Set-based Subsequence Matching," KIISE SIGDB, Vol.32, No.3, pp.152-169, 2016.]을 통해 제안된 집합 기반 유사 시퀀스 매칭 기법인 SSM(Set-based Subsequence Matching)의 성능을 보다 효과적으로 향상시킬 수 있는 기술에 대하여 제안한다.
이하에서는 본 장치를 제공함에 있어서 본 장치를 통한 기술의 기반이 되는 기술인 SSM에 대해서 보다 자세히 설명하기로 한다.
SSM은 기존의 유사 시퀀스 매칭 방법인 Dual-Match에서 발생하는 시간 불일치 문제를 해결하기 위해 기존의 시퀀스들을 집합 개념의 시퀀스들로 모델링한다. SSM에서 집합에 대한 정의는 하기 [정의 1]과 같다.
[정의 1] 집합은 시퀀스에서 시간 순서대로 집합의 크기인 σ개의 원소들을 하나로 묶어서 구성한다. 시퀀스 P i k번째 엔트리인 P i [k]를 시작 엔트리로 하는 크기 σ인 집합은 P i [k]부터 P i [k+σ-1]까지 시간 순서대로 σ개의 원소들의 집합이며 SP i,k ={P i [k],…,P i [k+σ-1]}로 표현될 수 있다.
기본적으로 SSM에서는 시퀀스를 일정 크기의 집합으로 나누어 집합들의 시퀀스로 모델링할 수 있다. 상기의 [정의 1]에서 정의한 집합 개념을 이용하면 집합 시퀀스를 하기 [정의 2]와 같이 정의할 수 있다.
[정의 2] 집합 시퀀스는 집합들을 시간 순서대로 정렬한 것을 의미한다. 시퀀스 P i 의 집합 시퀀스는
Figure 112017131139493-pat00004
로 표현될 수 있다. 또한, SP i k번째 엔트리는 SP i [k]로 표현될 수 있다.
또한, SSM에서는 고정된 개수의 집합들로 윈도우를 구성한다. 즉, 집합 시퀀스는 집합들을 시간 순서대로 나열한 시퀀스를 의미하고, 윈도우는 집합의 개수가 ω가 되도록 구성한 서브 시퀀스를 의미한다. 집합 시퀀스에서의 윈도우는 하기 [정의 3]과 같이 정의될 수 있다.
[정의 3] 집합 시퀀스에서의 윈도우는 윈도우 크기인 ω개의 집합들로 구성된 서브 시퀀스를 의미한다. 집합 시퀀스 SP i k번째 엔트리인 SP i [k]를 시작 엔트리로 하는 크기 ω인 윈도우는 SP i [k]부터 SP i [k+ω-1]까지 집합들의 시퀀스로서,
Figure 112017131139493-pat00005
와 같이 표현될 수 있다. 또한,
Figure 112017131139493-pat00006
k번째 윈도우의 j번째 집합을 의미한다.
SSM은 Dual-Match와 동일하게 질의 시퀀스를 슬라이딩 윈도우로 나누고, 데이터 시퀀스는 디스조인트 윈도우로 나누어 구성할 수 있다. 다만, SSM에서는 최근 시점을 더 중요하다고 생각하므로, 최근 시점부터 윈도우가 구성된다는 점에서 Dual-Match와는 차이가 있다.
도 4는 SSM의 데이터 구조 및 윈도우 구성을 개략적으로 나타낸 도면이다.
도 4를 참조하면, 도 4에서 원(동그라미)으로 표시된 기호는 시퀀스의 원소를 의미하고, 원소가 일예로 세 개씩 묶이도록 사각형(네모)로 표시된 기호는 집합을 의미한다. 도 4의 (a)는 σ가 3일때 ω가 2인 데이터 집합 시퀀스 S의 디스조인트 윈도우를 나타낸 것으로, 각각의 윈도우는 일예로 두 개의 집합으로 구성될 수 있다. 도 4의 (b)는 σ가 3일 때 ω가 2인 질의 집합 시퀀스 Q의 슬라이딩 윈도우를 나타낸다.
S-Match(즉, SSM 기반 Match) 알고리즘은 Dual-Match와 마찬가지로 후보 매칭 단계와 후처리 단계로 이루어진다. 후보 매칭 단계는 윈도우 간의 유사도 계산을 통해 후보 데이터 시퀀스를 선정하는 단계로서, 윈도우 간의 유사도 비교를 통해 특정 시퀀스와 유사할 것이라고 예상되는 시퀀스들을 후보로 선정한다. 후처리 단계는 전 단계에서 얻은 후보 시퀀스에 대해 검증을 수행하는 단계로서, 후보 시퀀스들에 대해 특정 시퀀스와의 전체길이 시퀀스 유사도 계산을 수행하여 실제로 유사한 데이터 시퀀스를 찾는다.
하지만, SSM은 집합의 개념을 이용하므로 두 집합 시퀀스 또는 두 윈도우가 유사한지 판단하기 위한 모델로 유클리디안 거리를 집합으로 확장한 유클리디안 집합 거리를 사용한다. 기존 시퀀스에서의 유클리디안 거리가 두 값 사이의 차이의 합을 의미한다면, 집합 시퀀스에서의 유클리디안 집합 거리는 두 집합 사이의 차이의 합을 의미한다. 유클리디안 집합 거리는 하기 [정의 4]와 같이 정의될 수 있다.
[정의 4] 유클리디안 집합 거리는 두 집합 시퀀스의 유사도를 측정하는 모델로, 집합 간의 차이의 합으로 표현될 수 있다. 두 집합 시퀀스 SP i SP j 가 존재할 때, SP i SP j 의 유클리디안 집합 거리는 하기 수학식 4와 같이 표현될 수 있으며, 이때 SP i [k]는 집합 시퀀스 SP i k번째 집합을 의미한다.
[수학식 4]
Figure 112017131139493-pat00007
유사 시퀀스 매칭에서는 두 시퀀스 사이의 거리가 허용치 ε이하인 경우 두 시퀀스가 유사하다고 판단한다. 이와 마찬가지로, SSM에서는 두 집합 시퀀스의 유클리디안 집합 거리가 ε이하일 경우 두 집합이 유사하다고 판단할 수 있으며, 이는 두 집합이 ε-매치한다고 표현될 수 있다.
또한, SSM에서는 Dual-Match와 마찬가지로 집합 시퀀스를 구성하는 윈도우들 간의 유사도 계산을 통해 유사한 후보를 선정하므로, 그 과정에서 착오기각이 발생하지 않는다는 것이 보장되어야 한다. 이를 위해, SSM에서는 하기 [정리1]을 통해 착오기각이 발생하지 않음을 증명하였다. 이는 앞서 설명한 논문 2 및 논문 3을 참고하여 이해될 수 있으며, 이하에서는 간단히 설명하기로 한다.
[정리 1] 데이터 집합 시퀀스 SP m 와 질의 집합 시퀀스 SP a 가 동일한 길이이고 두 시퀀스를 각각 ρ 개의 디스조인트 윈도우
Figure 112017131139493-pat00008
로 나누었을 때, 두 시퀀스 SP m SP a 가 ε-매치하면, 적어도 하나 이상의
Figure 112017131139493-pat00009
쌍이 ε/ρ-매치할 수 있다. 이때, ρ는 질의 집합 시퀀스가 가질 수 있는 최소한의 윈도우 개수를 의미하는 것으로서,
Figure 112017131139493-pat00010
와 같이 계산될 수 있다. 즉, 두 시퀀스 SP m SP a 가 ε-매치하면 하기 수학식 5의 조건식이 성립될 수 있다.
[수학식 5]
Figure 112017131139493-pat00011
이에 따르면, 두 시퀀스 SP m SP a 가 ε-매치하면, 적어도 하나 이상의 디스조인트 윈도우
Figure 112017131139493-pat00012
Figure 112017131139493-pat00013
가 ε/ρ-매치한다고 할 수 있다.
상기 [정리 1]에 의하면, 윈도우 간의 유사도 값인 유클리디안 집합 거리가 ε/ρ 이하인 해당 시퀀스를 질의 집합 시퀀스와 유사한 시퀀스의 후보로 고려하면, 착오기각이 발생하지 않는다는 것을 의미한다. SSM의 착오기각의 증명에 대한 보다 자세한 설명은 논문 2 및 논문 3을 참고하여 이해될 수 있다.
이하에서는 앞서 설명한 본원의 보다 쉬운 이해를 돕기 위한 기본 지식 설명에 기초하여, 본 장치 및 본 장치를 통한 집합 기반 유사 시퀀스 매칭 방법에 대하여 보다 자세히 설명하기로 한다.
본원은 기존 집합 기반 유사 시퀀스 매칭의 성능 상의 문제를 해결하기 위해 집합 역인덱스 기반의 검색 방법을 사용하여 집합 기반 유사 시퀀스 매칭을 빠르게 수행할 수 있는 집합 기반 유사 시퀀스 매칭 장치(본 장치) 및 방법에 관한 것이다.
이하에서는 먼저 본 장치에서 고려되는 교집합 크기 비교 문제에 대해 설명하기로 한다. 이후, 본 장치에 적용되는 집합 역인덱스 구조 및 인덱스(집합 역인덱스) 기반의 검색 방법에 대하여 설명하고, 이후 이러한 교집합 크기 비교 문제와 집합 역인덱스가 적용된 집합 기반 유사 시퀀스 매칭 방법에 대하여 설명하기로 한다.
집합 역인덱스를 사용한 경우에 유사한 집합을 효율적으로 찾을 수 있도록 하는 교집합 크기 비교 문제에 대한 설명은 다음과 같다. 달리 말해, 본 장치에서 고려되는 집합 역인덱스에서 검색의 결과로 선정될 집합을 결정하는데 사용되는 척도인 교집합 크기에 대한 설명은 다음과 같다.
여러 개의 대상 집합들 중에서 특정 집합과 유사한 집합을 찾기 위해서는 모든 대상 집합들과 특정 집합 간의 집합 유사도 계산이 필요하다. 본 장치는 앞서 수학식 1을 통해 설명한 바와 같이 집합 유사도 계산을 위해 일예로 Jaccard 유사도를 사용할 수 있다. 보다 구체적으로, 본 장치는 앞서 [정의 4]에서 언급한 거리 개념을 고려해, 집합 유사도를 하기 수학식 6을 이용하여 계산할 수 있다. 이때, 유사도는 값이 클수록 유사한 것을 나타내는 반면, 하기 수학식 6과 같이 거리 개념에서의 유사도는 가까울수록, 즉 값이 작을수록 더 유사하다고 판단될 수 있다.
[수학식 6]
Figure 112017131139493-pat00014
상기 수학식 6과 같이 거리 개념으로 변환된 집합 유사도를 사용하여 두 집합이 ε-매치한다는 것을 표현하면 하기 수학식 7과 같을 수 있다. 즉, 두 집합 간의 거리가 허용치 ε이하여서 두 집합이 유사하다고 판단되어 ε-매치한다는 것을 표현하면 하기 수학식 7과 같을 수 있다.
[수학식 7]
Figure 112017131139493-pat00015
그런데, Jaccard 계수를 구하기 위해서는 두 집합 간의 합집합 크기와 교집합 크기를 알아야 하기 때문에, 두 집합 간의 거리가 상기 수학식 7의 조건을 만족하는지 판단하기 위해서는 매번 두 크기(즉, 두 집합 간의 합집합 크기와 교집합 크기)를 계산해야 하는 문제가 있으며, 이는 집합 기반 유사 시퀀스 매칭의 성능 저하를 야기시킨다. 이러한 문제를 해소하기 위해, 본 장치에서는 상기 수학식 7과 같이 정의된 집합 간 ε-매치 문제를 하기 [정리 2]와 같이 집합 간 교집합 크기의 비교 문제로 변환할 수 있다.
[정리 2] 본 장치는 두 집합 A와 B가 하기 수학식 8을 만족하는 경우, 두 집합 A와 B가 ε-매치한다고 판단할 수 있다.
[수학식 8]
Figure 112017131139493-pat00016
이때, [정리 2]에 대한 증명은 하기 수학식 9 내지 수학식 12를 통해 보다 쉽게 이해될 수 있다.
두 집합 A, B가 ε-매치한다는 것을 수식으로 표현하면 하기 수학식 9와 같을 수 있다.
[수학식 9]
Figure 112017131139493-pat00017
이를 교집합 크기 기준으로 다시 정리하기 위해, 수학식 9의 좌변을 정리하면 하기 수학식 10과 같을 수 있다.
[수학식 10]
Figure 112017131139493-pat00018
상기 수학식 10에서 좌변의 분모를 우변으로 넘겨 정리하면 수학식 11과 같을 수 있다.
[수학식 11]
Figure 112017131139493-pat00019
여기서, 교집합 크기를 포함하고 있는 변수를 좌변으로 이동시키면 하기 수학식 12이 도출되고, 이를 교집합 크기 기준으로 정렬하면 상기의 수학식 8이 도출될 수 있다.
[수학식 12]
Figure 112017131139493-pat00020
즉, 본 장치는 수학식 8에 의하여, 두 집합 간의 교집합의 크기가 기 설정된 임계값 이상인지의 여부를 확인함으로써 두 집합 간의 ε-매치 여부를 판단할 수 있다. 이때, A와 B가 ε-매치함을 판단하는데 기준이되는 기 설정된 임계값, 즉 교집합 크기의 기준값은 상기 수학식 8의 우변값을 의미할 수 있으며, 이는 본원에서 교집합 임계값이라 지칭될 수 있다. 즉, 본 장치는 집합 기반 유사 시퀀스 매칭 수행시 상기 수학식 8과 같이 두 집합 간의 교집합 크기를 구하고 이를 교집합 임계값과 비교함으로써 집합 기반 유사 시퀀스 매칭을 수행할 수 있다.
상기의 설명에서는 집합 간 유사도 계산 문제를 집합 간 교집합 크기의 비교 문제로 변환하는 방법에 대하여 기술하였다. 이하에서는 이러한 변환에 기반하여 집합 유사 시퀀스 매칭을 보다 빠르게 수행할 수 있도록 교집합 크기가 교집합 임계값 이상인 유사한 집합을 빠르게 찾을 수 있는 인덱스 기반 검색 방법에 대하여 설명하기로 한다. 즉, 이하에서는 본 장치에 적용되는 집합 역인덱스 구조와 교집합 크기를 효율적으로 계산할 수 있는 집합 역인덱스 기반 검색 방법에 대하여 설명한다.
본 장치에 적용되는 집합 역인덱스의 구조에 대한 구체적인 설명은 다음과 같다.
집합 역인덱스는 집합에 대한 역인덱스를 기반으로 구성될 수 있다. 역인덱스는 텍스트 문서에서 많이 사용되는 구조로서, 특정 단어가 어떤 문서에 위치하고 있는지 나타내는 매핑 정보를 저장하여 검색을 빠르게 수행할 수 있도록 하는 인덱스 구조를 의미한다. 집합에 대하여 역인덱스를 구성(생성)할 때에는 특정 원소가 어떤 집합에 들어있는지 나타내는 매핑 정보를 저장한다. 다시 말해, 집합에 대한 역인덱스의 구성(생성)은 각 원소에 대하여 그 원소를 포함하는 집합들의 리스트를 유지하는 형태로 이루어지며, 이를 사용함으로써 특정 원소가 어떤 집합에 포함되어 있는지를 빠르게 확인할 수 있다. 집합 역인덱스의 구조에 대한 설명은 도 5를 참조하여 보다 쉽게 이해될 수 있다.
도 5는 본 장치에서 고려되는 집합 역인덱스 구조를 개념적으로 나타낸 도면이다.
도 5를 참조하면, 전체 원소들의 집합 U={e 1,…,e M }이 존재할 때, 원소 e 1,e 2,e 3로 이루어진 집합 s i U의 부분 집합이라 할 수 있다. 또한, 집합 역인덱스 엔트리 IE M e M 이라는 원소를 포함하는 집합들 s i 의 식별자 i를 일예로 오름차순으로 정리한 리스트를 의미할 수 있다. 또한, 집합 역인덱스 IV U 는 전체 원소들에 대한 모든 집합 역인덱스 엔트리 IE j (e j U)의 집합을 의미할 수 있다.
도 6은 본 장치에 적용되는 집합 시퀀스에 대한 집합 역인덱스의 구성 예를 나타낸 도면이다. 특히 도 6은 일예로 영화 제목을 원소로 하는 집합 시퀀스에 대한 집합 역인덱스의 구성 예를 나타낸다.
도 6을 참조하면, 일예로 전체 영화 이름의 집합 U에 대하여, 집합 s 1 ={Ted,Avatar,Sing}, s 2 ={Sherlock,Avatar,Sing}, s 3 ={Sing,Alive,Avatar}, s 4 ={Avatar,Ted,Alive}로 구성되어 있을 때, 이에 대한 집합 역인덱스 IV U 는 집합 역인덱스 엔트리인 IE Alive , IE Avatar , IE Sherlock , IE Sing , IE Ted 의 집합으로 구성될 수 있다. 이때, 집합 역인덱스 엔트리 IE Alive 는 Alive를 포함하고 있는 집합 식별자의 오름차순 리스트인 3,4로 구성될 수 있다. 즉, Alive를 포함하고 있는 집합은 s 3 s 4 이므로, IE Alive 는 Alive를 포함하고 있는 집합 s 3 s 4 의 집합 식별자인 3과 4에 대하여 오름차순 리스트인 3,4를 포함하도록 구성될 수 있다.
본 장치는 집합 기반 유사 시퀀스 매칭 수행시 이러한 집합 역인덱스를 사용함으로써, 유사한 집합을 찾기 위해 모든 집합들 간의 교집합 크기를 계산할 필요없이, 특정 원소가 포함된 집합들에 대해서만 교집합 크기를 계산할 수 있어, 보다 효율적으로 유사한 집합을 찾을 수 있다.
이하에서는 집합 역인덱스를 이용하여 교집합 크기를 계산하는 방법에 대하여 자세히 설명하기로 한다. 즉, 집합 역인덱스를 이용하여 교집합 크기를 효율적으로 계산할 수 있는 집합 역인덱스 기반 검색 방법에 대하여 설명한다.
집합 역인덱스를 이용한 교집합 크기의 계산과 관련하여, 일예로 본 장치가 주어진 모든 집합들에 대해서 집합 역인덱스 IV U 가 만들어져 있을 때 또 다른 집합인 질의 집합 s q 와의 교집합 크기를 구하고자 하는 경우, 본 장치는 다음의 과정을 수행할 수 있다.
본 장치는 우선 집합 s q 에 포함된 각각의 원소들에 대한 집합 역인덱스 엔트리들을 읽어올 수 있다. 다음으로, 본 장치는 집합 식별자에 대해서 오름차순으로 정렬되어 있는 각 집합 역인덱스 엔트리들을 앞에서부터 순차적으로 읽으면서 특정 집합 s i 가 전체 엔트리에서 몇 번 나오는지 그 빈도수를 계산할 수 있다. 이때의 빈도수는 각 집합 s i 에 집합 s q 에 속한 원소들이 몇 개나 들어있는지를 뜻하는 것으로서, 이는 결국 s i s q 의 교집합 원소의 개수를 의미한다. 달리 말해, 빈도수 산출은 s i s q 의 교집합 원소의 개수의 산출을 의미하는 것으로서, 이를 통해 교집합 크기가 계산될 수 있다. 이러한 교집합 크기 계산 방법을 알고리즘으로 정형적으로 표현하면 도 7과 같을 수 있다.
도 7은 본 장치에서 교집합 크기 계산을 위한 교집합 크기 계산 알고리즘의 예를 나타낸 도면이다.
도 7을 참조하면, 본 장치는 교집합 계산을 위해 데이터 집합 s i 들로부터 구축된 집합 역인덱스 IV U 와 질의 집합 s q 를 사용자로부터 입력받을 수 있다. 이때, 본 장치는 도 7과 같은 알고리즘으로 동작함에 따라 입력에 대한 출력 값으로서 s q s i 들의 교집합 크기 저장 테이블 결과(Result)를 출력할 수 있다.
구체적으로, 본 장치는 교집합 계산을 위해 기 구축된 집합 역인덱스 IV U 를 이용하여 질의 집합 s q 에 포함된 원소들 e j 에 대한 집합 역인덱스 엔트리 IE j (e j s q )들을 모두 읽어올 수 있다(step 1). 다음으로, 본 장치는 읽어온 집합 역인덱스 엔트리 IE j 들의 첫번째 원소들을 읽을 수 있다(step 2). 이때, 본 장치는 집합 역인덱스 엔트리 IE j 들의 모든 원소들을 읽을 때까지 교집합 크기 계산 과정인 step3 내지 step 8 과정을 반복 수행할 수 있다.
교집합 크기 계산 과정의 경우, 집합 역인덱스 엔트리 IE j 들에서 읽어온 원소들 중에서 가장 작은 값인 CurrentMin을 찾을 수 있다(step 4), 이후, 집합 역인덱스 엔트리 IE j 들에서 읽어온 원소들 중에서 step 4에서 찾은 CurrentMin과 동일한 값을 가지는 원소가 몇 개인지 나타내는 Count를 계산할 수 있다(step 5). 달리 말해, step 5에서는 집합 역인덱스 엔트리 IE j 들에서 읽어온 원소들 중에서 CurrentMin과 동일한 값을 가지는 원소의 개수를 카운트하여 계산할 수 있다. 이때 계산한 Count값은 질의 집합 s q CurrentMin을 식별자로 갖는 집합 s CurrentMin 이 공통적으로 가지는 원소의 개수이므로, 두 집합의 교집합 크기라고 할 수 있다. 그러므로, 본 장치는 Count값과 CurrentMin을 교집합 크기 저장 테이블 결과(Result)에 기록할 수 있다(step 6). 달리 말해, step 6에서는 step 5에서 계산한 Count값이 s q 과 s CurrentMin 의 교집합 크기이므로, step 5에서 계산된 Count값과 CurrentMin을 결과 값으로서 교집합 크기 저장 테이블에 기록(저장)할 수 있다. 마지막으로, 본 장치는 CurrentMin을 가지고 있던 집합 역인덱스 엔트리에 대해서만 다음 원소를 읽어온다(step 7). 달리 말해, step 7에서는 CurrentMin을 가지고 있는 집합 역인덱스 엔트리 IE j 들에 대해서만 다음 원소를 읽고, 나머지 집합 역인덱스 엔트리 IE j 들에 대해서는 기존에 읽은 원소를 유지할 수 있다.
이때, 교집합 크기 계산 과정 중 step 7에서 CurrentMin을 가지고 있던 집합 역인덱스 엔트리에 대해서만 다음 원소를 읽어오는 이유는 모든 집합 역인덱스 엔트리에 대하여 한번의 검색으로 모든 원소들을 확인하기 위함이라 할 수 있다. 즉, 본 장치는 교집합 크기 계산 과정 중 CurrentMin을 가지고 있던 집합 역인덱스 엔트리에 대해서만 다음 원소를 읽음으로써, 모든 집합 역인덱스 엔트리에 대하여 한번의 검색으로 모든 원소들을 확인할 수 있다.
도 8은 본 장치를 통한 교집합 크기 계산 방법을 설명하기 위한 도면이다. 즉, 도 8은 특정 집합 s q 과 유사한 집합을 찾고자 할 때, 특정 집합 s q 에 대한 교집합 크기 계산 방법을 설명하기 위한 도면이다.
도 8을 참조하면, s q ={Ted,Avatar,Alive}로 구성되어 있을 때, 본 장치는 s q 에 대한 교집합 크기 계산을 위해, s q 에 포함되어 있는 원소들 Ted,Avatar,Alive에 대한 집합 역인덱스 엔트리 IV Ted , IV Avatar , IV Alive 를 읽어올 수 있다. 다음으로, 본 장치는 집합 역인덱스 엔트리 각각의 첫번째 원소들인 1,1,3을 읽을 수 있다. 이때, 본 장치는 읽어온 원소들 1,1,3 중에서 가장 작은 값인 CurrentMin을 계산(즉, CurrentMin을 1로 계산)하고, 이 시점에서의 CurrentMin인 1을 가지는 원소의 개수인 Count를 계산(즉, Count를 2로 계산)할 수 있다. 이때, CurrentMin인 1의 Count는 2이므로, s q s 1 의 교집합 크기는 2(즉,
Figure 112017131139493-pat00021
)라고 할 수 있다. 이후, 본 장치는 CurrentMin인 1을 가지고 있던 IV Ted , IV Avatar 에서 다음 원소를 읽어와 집합 역인덱스 엔트리의 원소들 4,2,3에 대해 CurrentMinCount 계산 과정을 수행할 수 있다. 이때, CurrentMin은 2이고 Count는 1이므로, s q s 2 의 교집합 크기는 1(즉,
Figure 112017131139493-pat00022
)이 될 수 있다. 이러한 과정을 반복하면, s q s 1 ,s 2 ,s 3 ,s 4 각각 간의 교집합 크기가 계산될 수 있다. 일예로, 도 8의 예에서는 s q s 3 의 교집합 크기는 2로 계산되고, s q s 4 의 교집합 크기는 3으로 계산될 수 있다.
이하에서는 앞서 설명한 집합 역인덱스를 이용한 교집합 크기 계산 방법을 통해 집합 기반 유사 시퀀스 매칭을 수행하는 본 장치에 대하여 자세히 설명하기로 한다.
도 9는 본원의 일 실시예에 따른 집합 기반 유사 시퀀스 매칭 장치(본 장치)의 개략적인 구성을 나타낸 도면이다.
도 9를 참조하면, 본 장치(10)는 후보 집합 식별부(11), 후보 윈도우 식별부(12) 및 유사 데이터 집합 시퀀스 식별부(13)를 포함할 수 있다.
본 장치(10)는 앞서 설명한 집합 역인덱스를 이용한 교집합 크기 계산 방법을 집합 기반 유사 시퀀스 매칭에 적용할 수 있다.
본 장치(10)는 SSM에서 ε/ρ-매치하는 윈도우를 찾는 과정에 집합 역인덱스를 사용한 검색 방법을 적용함으로써, 집합 기반 유사 시퀀스 매칭을 보다 빠르게 수행할 수 있다.
즉, 기존의 SSM에서는 ε/ρ-매치하는 윈도우를 찾기 위해 윈도우를 구성하는 집합 시퀀스들 간의 유사도를 일일이 계산해야 함에 따라 집합 기반 유사 시퀀스 매칭의 수행 속도가 느리다는 단점이 있다. 이에 반해, 본 장치(10)는 윈도우를 구성하는 집합들 간의 교집합 크기가 특정 값(미리 설정된 교집합 임계값) 이상인 집합들을 집합 역인덱스를 사용하여 검색하고, 이러한 조건을 만족하는 집합을 포함한 윈도우에 대해서만 유사도를 계산함으로써, 집합 기반 유사 시퀀스 매칭의 수행 속도를 보다 효과적으로 향상시켜 빠른 계산이 가능하도록 할 수 있다.
먼저, 개략적으로 살펴보면, 본 장치(10)는 집합 역인덱스 기반의 교집합 크기 계산을 통한 집합 기반 유사 시퀀스 매칭을 위해, 후보 집합 식별부(11)를 통해 집합 역인덱스를 사용하여 질의 집합 시퀀스의 한 윈도우와 ε/ρ-매치할 가능성이 있는 데이터 집합 시퀀스의 윈도우에 포함된 집합을 후보 집합(candidate sets)으로서 식별할 수 있다. 이후, 본 장치(10)는 후보 윈도우 식별부(12)를 통해 후보 집합이 포함된 데이터 집합 시퀀스의 윈도우와 질의 집합 시퀀스의 윈도우 간의 유사도 계산을 통해 실제로 ε/ρ-매치하는 윈도우인지 검증하고, 실제로 ε/ρ-매치하는 데이터 집합시퀀스의 윈도우를 후보 윈도우(candidate windows)로서 식별할 수 있다. 이후, 본 장치(10)는 유사 데이터 집합 시퀀스 식별부(13)를 통해 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스의 시퀀스 전체 유사도 계산을 통해 해당 데이터 집합 시퀀스가 ε-매치하는 집합 시퀀스인지 검증할 수 있다.
달리 말해, 본 장치(10)는 후보 집합 식별부(11)를 통해, 질의 시퀀스들의 모든 집합들과 데이터 시퀀스들의 집합들 간의 교집합 크기 비교를 통해 유사한 윈도우를 후보로 선정하기 위한 교집합 비교 단계를 수행할 수 있다. 또한, 본 장치(10)는 후보 윈도우 식별부(12)를 통해, 앞서 선정된 후보 윈도우에 대한 검증을 수행하여 윈도우가 실제로 유사한 경우, 유사한 윈도우가 포함된 시퀀스를 후보 유사 데이터 집합 시퀀스로 선정하는 후보 매칭 단계를 수행할 수 있다. 또한, 본 장치(10)는 유사 데이터 집합 시퀀스 식별부(13)를 통해, 앞서 선정된 후보 유사 데이터 집합 시퀀스가 실제로 유사한 시퀀스인지에 대한 검증을 수행하는 후처리 단계를 수행할 수 있다.
여기서, 후보 집합 식별부(11)는 후보 집합의 식별을 위해 질의 시퀀스의 집합과 교집합의 크기가 임계값 이상인 데이터 시퀀스의 집합들을 모두 후보 집합으로서 식별할 수 있는데, 이때 고려되는 임계값, 달리 말해 교집합 크기 값(즉, 교집합 임계값)은 다음의 조건을 충족하도록 설정될 수 있다. 즉, 교집합 임계값이 어떻게 설정되는지에 대한 설명은 다음과 같다.
후보 집합 식별부(11)를 통한 후보 집합 식별시 고려되는 교집합 임계값은 착오기각이 발생하지 않도록 설정될 수 있다. 즉, 교집합 임계값은, 교집합 임계값 이상의 집합들이 선택되었을 때, ε/ρ-매치하는 모든 집합 윈도우가 찾아질 수 있도록 설정될 수 있다.
본 장치(10)는 착오기각이 발생하지 않도록 하기 위해, 윈도우와 집합 간의 관계가 하기의 [정리 3]에서 정의된 조건을 만족하도록 설정될 수 있다. 즉, [정리 3]은 착오 기각이 발생하지 않도록 하기 위해 윈도우와 집합 간에 어떤 조건을 만족해야 하는지 그 관계를 나타낸 것이다.
[정리 3] 두 집합 시퀀스 SP m ,SP a i번째 디스조인트 윈도우
Figure 112017131139493-pat00023
가 ω개의 집합으로 이루어져 있을 때, 두 디스조인트 윈도우가 ε/ρ-매치하면 적어도 하나의 집합 쌍
Figure 112017131139493-pat00024
이 ε/(ρ·ω)-매치할 수 있다. 즉, 두 디스조인트 윈도우가 ε/ρ-매치하면 하기 수학식 13의 조건이 성립될 수 있다.
[수학식 13]
Figure 112017131139493-pat00025
이에 따르면, 후보 집합 식별부(11)는 윈도우를 구성하는 집합의 쌍 중 하나라도 ε/(ρ·ω)-매치하면, 두 윈도우가 ε/ρ-매치할 가능성이 있다고 판단할 수 있다.
이때, [정리 3]에 대한 증명은 하기 수학식 14 및 수학식 15를 통해 보다 쉽게 이해될 수 있다.
이하 [정리 3]에 대한 증명은 모순 증명을 이용하여 증명할 수 있다. 만약 집합 시퀀스의 i번째 윈도우를 구성하는 모든 집합 쌍들
Figure 112017131139493-pat00026
의 거리가
Figure 112017131139493-pat00027
을 초과하는 값을 가진다면, 집합 쌍들이 포함된 윈도우 쌍
Figure 112017131139493-pat00028
Figure 112017131139493-pat00029
을 초과하는 값을 가진다. 즉, 하기 수학식 14 및 수학식 15의 조건들이 성립할 수 있다.
먼저, 윈도우 쌍의 거리는 윈도우를 구성하는 집합 쌍들의 거리 합이므로 하기 수학식 14와 같이 표현될 수 있다.
[수학식 14]
Figure 112017131139493-pat00030
이때, 모든 집합 쌍들의 거리
Figure 112017131139493-pat00031
Figure 112017131139493-pat00032
을 초과한다면, ω개의 집합으로 이루어진 윈도우 간의 거리
Figure 112017131139493-pat00033
는 반드시
Figure 112017131139493-pat00034
을 초과한다. 즉, 하기 수학식 15의 조건이 성립된다.
[수학식 15]
Figure 112017131139493-pat00035
따라서, 두 디스조인트 윈도우
Figure 112017131139493-pat00036
가 ε/ρ-매치하면, 적어도 하나의 집합 쌍
Figure 112017131139493-pat00037
이 ε/(ρ·ω)-매치해야만 함이 증명될 수 있다.
즉, 상기 [정리 3]에 의하면, 후보 집합 식별부(11)에 의하여 집합 간 유사도 비교를 통해 후보 윈도우를 선정하더라도 착오기각이 발생하지 않는다는 것이 증명될 수 있다.
다음으로, 후보 윈도우 식별부(12)에 의하여 교집합 크기 비교를 통해 후보 윈도우를 선정하더라도 착오기각이 발생하지 않도록 하는 교집합 임계값을 구하기 위해, 본 장치(10)는 상기 [정리 3]을 하기 [정리 4]와 같이 교집합 비교 문제로 변환할 수 있다.
[정리 4] 윈도우를 구성하는 집합 쌍 중 하나라도 하기 수학식 16을 만족하면 두 집합 쌍은 ε/(ρ·ω)-매치한다고 판단될 수 있다.
[수학식 16]
Figure 112017131139493-pat00038
이때, [정리 4]에 대한 증명은 하기 수학식 17 내지 수학식 20을 통해 보다 쉽게 이해될 수 있다.
이는 집합 쌍
Figure 112017131139493-pat00039
의 거리가 ε/(ρ·ω)-매치한다는 수식을 교집합 기준으로 정리함으로써 증명할 수 있다. 먼저, 집합 쌍
Figure 112017131139493-pat00040
의 거리가 ε/(ρ·ω)-매치한다는 것을 수식으로 표현하면 하기 수학식 17과 같을 수 있다.
[수학식 17]
Figure 112017131139493-pat00041
여기서, 상기 수학식 17에서 좌변을 분모로 묶으면 하기 수학식 18과 같다.
[수학식 18]
Figure 112017131139493-pat00042
또한 상기 수학식 18에서 좌변의 분모를 우변으로 넘겨 정리하면 하기 수학식 19와 같다.
[수학식 19]
Figure 112017131139493-pat00043
또한, 상기 수학식 19에서 우변에 교집합을 포함하고 있는 변수들을 좌변으로 넘기고, 이를 교집합 기준으로 정리하면, 하기 수학식 20을 통해 상기 수학식 16이 도출될 수 있다. 여기서, 집합들의 크기는 모두 동일하게 σ이므로 σ로 치환하여 나타낼 수 있다.
[수학식 20]
Figure 112017131139493-pat00044
따라서, 수학식 17 내지 수학식 20을 통해 [정리 4]에 대한 증명이 이루어질 수 있다.
이와 같은 [정리 3]과 [정리 4]에 따라, 본 장치(10)는 집합 역인덱스를 사용하여 질의 집합 시퀀스와 데이터 집합 시퀀스 사이에 교집합의 크기가 교집합 임계값(즉,
Figure 112017131139493-pat00045
) 이상인 모든 집합을 찾음으로써 ε/ρ-매치할 가능성이 있는 모든 윈도우를 빠르게 찾을 수 있다.
이하에서는 본 장치(10)의 각 구성을 설명하면서 이러한 방법을 적용한 집합 유사 시퀀스 매칭 방법인 집합 역인덱스 기반 집합 유사 시퀀스 매칭의 수행 과정에 대해 보다 자세히 설명하기로 한다.
후보 집합 식별부(11)는 데이터 집합 시퀀스들에 대하여 생성된 집합 역인덱스를 이용하여 데이터 집합 시퀀스들 중 질의 집합 시퀀스의 집합과 유사하다고 판단되는 데이터 집합 시퀀스의 집합들을 후보 집합으로서 식별하여 후보 집합 테이블을 생성할 수 있다.
이때, 집합 역인덱스는 후보 집합 식별부(11)를 통한 후보 집합의 식별 이전에 기 구축(생성)되어 있을 수 있다. 이를 위해, 본 장치(10)는 도면에 도시하지는 않았으나 집합 역인덱스 생성부(미도시)를 포함할 수 있다. 집합 역인덱스 생성부(미도시)는 데이터 집합 시퀀스들로부터 집합 역인덱스를 생성(구축)할 수 있다.
여기서, 집합 역인덱스는 질의 집합 시퀀스의 집합 내에 포함된 각 원소에 대하여 각 원소를 포함하는 집합들에 대한 리스트가 매핑되어 저장된 정보를 의미할 수 있다. 또한, 집합 역인덱스는 각 원소 중 어느 하나의 원소에 대한 집합 역인덱스 엔트리로서, 상기 어느 하나의 원소를 포함하는 집합들의 식별자를 식별자 크기순으로 정렬(예를 들어, 오름차순 정렬)한 어느 하나의 원소를 포함하는 집합들에 대한 리스트를 포함할 수 있다. 이러한 집합 역인덱스에 대한 설명은 앞서 도 5 및 도 6 등을 참조하여 설명된 내용을 통해 보다 쉽게 이해될 수 있으며, 이하 중복되는 구체적인 설명은 생략하기로 한다.
이때, 후보 집합 식별부(11)는 질의 집합 시퀀스에 포함된 모든 집합들에 대하여 후보 집합의 식별을 수행할 수 있다. 달리 말해, 후보 집합 식별부(11)는 데이터 집합 시퀀스들 중 질의 집합 시퀀스의 모든 집합과 유사하다고 판단되는 데이터 집합 시퀀스의 집합들을 후보 집합으로서 식별할 수 있다.
또한, 후보 집합 식별부(11)는 질의 집합 시퀀스의 집합에 포함된 원소들에 대한 집합 역인덱스 엔트리 각각의 원소들의 정보를 고려하여 질의 집합 시퀀스의 집합과 데이터 집합 시퀀스의 집합 간의 교집합 크기를 계산하고, 계산된 교집합의 크기가 교집합 임계값 보다 큰 값을 갖는 데이터 집합 시퀀스의 집합들에 대한 정보를 후보 집합에 대한 정보로서 후보 집합 테이블에 저장할 수 있다.
이때, 후보 집합 테이블에 저장되는 후보 집합에 대한 정보에는 후보 집합이 속한 데이터 집합 시퀀스의 윈도우에서의 위치 정보 및 교집합 크기가 계산된 질의 집합 시퀀스의 집합의 식별자 정보(질의 집합 시퀀스의 집합의 위치 정보)가 포함될 수 있다.
또한, 상기 교집합 임계값은, 사용자로부터 입력된 유사도 허용치 ε, 집합 크기 σ, 윈도우 크기 ω 및 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수 ρ를 이용하여 설정될 수 있다. 특히, 교집합 임계값은 앞서 설명한 수학식 16에 의한 식
Figure 112017131139493-pat00046
를 만족하도록 설정될 수 있다.
또한, 후보 집합 식별부(11)는 질의 집합 시퀀스의 집합과 데이터 집합 시퀀스의 집합 간의 교집합 크기의 계산을 위해, 집합 역인덱스 엔트리 각각의 원소들 중 가장 작은 원소 값을 갖는 집합을 식별하고, 집합 역인덱스 엔트리 각각의 원소들 중에서 식별된 집합의 원소 값과 동일한 값을 갖는 원소의 개수를 카운트할 수 있다.
구체적으로, 후보 집합 식별부(11)는 교집합 비교를 위해, 데이터 집합 시퀀스들로부터 구축된 집합 역인덱스와 질의 집합 시퀀스 및 유사도 허용치를 입력받을 수 있으며, 입력받은 정보에 기초하여 데이터 집합 시퀀스들 중에서 질의 집합 시퀀스와 유사할 것으로 예상되는 후보 집합을 식별(선정)할 수 있다. 이를 위해, 후보 집합 식별부(11)는 먼저 입력받은 유사도 허용치를 앞서 설명한 [정리 4]를 이용하여 교집합 임계값으로 변환할 수 있다. 이후, 후보 집합 식별부(11)는 질의 집합 시퀀스에 포함된 각각의 집합에 대하여 앞서 설명한 집합 역인덱스를 이용한 교집합 크기 계산 방법을 이용하여 교집합 크기를 계산할 수 있다. 이때, 후보 집합 식별부(11)는 계산한 집합 간 교집합 크기가 교집합 임계값 이상일 경우, 임계값 이상의 교집합 크기를 가지는 집합들과 윈도우에서 해당 집합의 위치를 후보 집합 테이블에 기록할 수 있다. 한편, 후보 집합 식별부(11)를 통한 후보 집합 식별시 고려되는 집합 역인덱스의 구조와 집합 역인덱스를 이용한 교집합 크기 계산 방법(즉, 도 7에서 설명한 교집합 크기 계산 알고리즘)에 대한 설명은 앞서 자세히 설명했으므로, 이하 중복되는 설명은 생략하기로 한다.
후보 집합 식별부(11)에 의해 수행되는 후보 집합 식별을 위한 교집합 비교 단계의 구체적인 과정은 도 10을 참조하여 보다 쉽게 이해될 수 있다.
도 10은 본 장치(10)에서 후보 집합 식별부(11)를 통해 수행되는 교집합 비교 과정(알고리즘)의 예를 나타낸 도면이다.
도 10을 참조하면, 후보 집합 식별부(11)는 데이터 집합 시퀀스 SP i 들로부터 구축된 집합 역인덱스 IV U 와 질의 집합 시퀀스 SP a 및 유사도 허용치 ε를 입력받을 수 있으며, 입력에 대한 출력 값으로 후보 집합에 대한 정보가 저장된 후보 집합 테이블(후보 집합 저장 테이블)인 candiSet를 출력할 수 있다.
보다 자세하게, 후보 집합 식별부(11)는 교집합 비교 알고리즘을 수행하기 전에, 입력받은 허용치 ε를 앞서 설명한 [정리 4]를 이용하여 교집합 임계값 Thresh로 변환함으로써, 집합 간 유사도 비교 문제를 교집합 비교 문제로 변환할 수 있다(step 1). 이때, 후보 집합 식별부(11)는 입력받은 허용치 ε를 교집합 임계값으로 변환할 때, 집합 크기 σ, 윈도우 크기 ω 및 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수 ρ를 고려할 수 있다.
다음으로, 후보 집합 식별부(11)는 입력받은 질의 집합 시퀀스 SP a 에 포함된 모든 집합들에 대하여 교집합 비교 알고리즘을 반복 수행할 수 있다(step2 내지 step12).
구체적으로, 후보 집합 식별부(11)는 질의 집합 시퀀스 SP a 에 포함된 하나의 집합 sp a,k 와 유사한 데이터 집합 시퀀스들의 집합을 찾기 위해, sp a,k 를 구성하는 원소들에 대한 집합 역인덱스 엔트리 IE j 를 모두 읽어올 수 있다(step 3). 이후, 후보 집합 식별부(11)는 step3에서 읽어온 집합 역인덱스 엔트리 IE j 들 각각의 첫번째 원소들을 읽어올 수 있다(step 4). 이때, 후보 집합 식별부(11)는 읽어온 IE j 들의 원소를 모두 읽을 때까지(즉, IE j 들의 모든 원소를 읽을 때까지) 교집합 크기를 계산하는 과정인 step5 내지 step11의 과정을 반복할 수 있다.
후보 집합 식별부(11)는 교집합 크기 계산을 하기 위해 IE j 들에서 읽어온 원소들 중에서 가장 작은 값인 CurrentMin(i,k)를 찾을 수 있다(step 6). 이때, i는 데이터 집합 시퀀스의 식별자를 나타내고, k는 데이터 집합 시퀀스의 집합 식별자를 나타낸다. 이후, 후보 집합 식별부(11)는 IE j 들에서 읽어온 원소들 중에서 CurrentMin(i,k)와 동일한 값을 가지는 원소의 개수인 Count를 계산할 수 있다(step 7). 이때, 계산된 Countsp a,k sp CurrentMin(i,k) 가 가지고 있는 동일한 원소의 개수를 나타내므로, 교집합 크기라고 할 수 있다. 다음으로, 후보 집합 식별부(11)는 Count값과 교집합 임계값 Thresh을 비교하여 Count값이 교집합 임계값 Thresh 보다 큰지에 대한 여부를 확인할 수 있다(step8). 이때, Count값이 교집합 임계값 Thresh 보다 더 큰 경우 이는 두 집합이 유사하다는 것을 의미하므로, 후보 집합 식별부(11)는 CurrentMinSP i 의 디스조인트 윈도우에서 sp CurrentMin(i,k) 의 위치 및 교집합 크기를 계산한 sp a,k 의 식별자 정보를 후보 집합 테이블인 candiSet에 저장할 수 있다(step9). 이후, 후보 집합 식별부(11)는 CurrentMin(i,k)를 가지고 있던 IE j 들에 대해서만 다음 원소를 읽고, 나머지 IE j 들은 기존에 읽은 원소를 유지(step10)함으로써, 이로부터 한번의 검색 과정을 통해 IE j 의 모든 원소를 확인할 수 있다.
후보 윈도우 식별부(12)는 후보 집합 식별부(11)에 의해 생성된 후보 집합 테이블을 고려한 후보 집합이 포함된 데이터 집합 시퀀스의 윈도우(디스조인트 윈도우)와 질의 집합 시퀀스의 윈도우(슬라이딩 윈도우) 간의 유사도 계산을 통해, 데이터 집합 시퀀스들 중 질의 집합 시퀀스에 포함된 윈도우와 유사하다고 판단되는 데이터 집합 시퀀스의 윈도우들을 후보 윈도우로서 식별하여 후보 윈도우 테이블을 생성할 수 있다.
이때, 데이터 집합 시퀀스의 윈도우는, 데이터 집합 시퀀스의 시계열적 원소들에 대하여 형성된 미리 설정된 수의 원소를 갖는 복수의 집합에 있어서 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 디스조인트 윈도우로서, 다른 디스조인트 윈도우 간에 겹침이 발생하지 않도록 생성된 것일 수 있다. 또한, 질의 집합 시퀀스 윈도우는, 질의 집합 시퀀스의 시계열적 원소들에 대하여 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 슬라이딩 윈도우로서, 다른 슬라이딩 윈도우 간에 하나의 집합의 크기에 대응하는 겹침이 발생하도록 생성된 것일 수 있다.
이때, 디스조인트 윈도우와 슬라이딩 윈도우에 대한 설명은 앞서 [정의 1] 내지 [정의 3]을 통해 설명된 내용 및 도 4를 참조하여 설명된 내용 등을 통해 보다 쉽게 이해될 수 있으며, 이하 중복되는 구체적인 설명은 생략하기로 한다.
또한, 후보 윈도우 식별부(12)는 질의 집합 시퀀스에 포함된 모든 윈도우들에 대하여 후보 집합 테이블에 포함된 후보 집합들이 속한 데이터 집합 시퀀스들의 모든 윈도우들과의 유사도 계산을 수행하되, 후보 집합 테이블에 저장된 후보 집합에 대한 정보를 고려하여 유사도 계산을 수행할 수 있다.
달리 말해, 후보 윈도우 식별부(12)는 질의 집합 시퀀스에 포함된 모든 윈도우들에 대하여 후보 집합 테이블에 포함된 후보 집합들이 속한 데이터 집합 시퀀스들의 모든 윈도우들과의 유사도 계산을 수행할 수 있으며, 이때, 후보 집합 테이블에 저장된 후보 집합에 대한 정보로서 후보 집합이 속한 데이터 집합 시퀀스의 윈도우에서의 위치 정보 및 교집합 크기가 계산된 질의 집합 시퀀스의 집합의 식별자 정보를 고려함으로써 후보 집합들이 속한 데이터 집합 시퀀스들의 모든 윈도우들 중 일부의 윈도우들에 대하여(한하여) 선택적으로 유사도 계산을 수행할 수 있다.
즉, 후보 윈도우 식별부(12)는 데이터 집합 시퀀스의 윈도우 내에서의 후보 집합의 위치와 질의 집합 시퀀스의 윈도우 내에서의 후보 집합과 유사하다고 판단된 질의 집합 시퀀스의 집합의 위치가 동일한 경우에 한하여, 후보 집합들이 속한 데이터 집합 시퀀스들의 모든 윈도우들 중 상기의 조건(위치가 동일하다는 조건)을 충족하는 일부 윈도우들에 대해 선택적으로 유사도 계산을 수행할 수 있다. 이때, 후보 윈도우 식별부(12)는 두 윈도우(데이터 집합 시퀀스의 윈도우와 질의 집합 시퀀스의 윈도우) 간의 유사도 계산으로서 유클리디안 집합 거리 값을 계산할 수 있다.
또한, 후보 윈도우 식별부(12)는 계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치를 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수로 나눈 값 이하인지 여부를 판단하고, 판단 결과에 따라 후보 윈도우에 대한 정보로서 데이터 집합 시퀀스의 윈도우들에 대한 정보를 상기 후보 윈도우 테이블에 저장할 수 있다. 즉, 후보 윈도우 식별부(12)는 계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치를 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수로 나눈 값 이하의 값을 갖는 경우, 상기 이하의 값을 갖는 데이터 집합 시퀀스의 윈도우(즉, 유클리디안 집합 거리 값이 계산된 대상인 데이터 집합 시퀀스의 윈도우)에 대한 정보를 후보 윈도우 테이블에 저장할 수 있다. 이때, 후보 윈도우 테이블에 저장되는 후보 윈도우에 대한 정보에는 후보 윈도우와 관련된 두 윈도우 간의 매칭 시점 정보가 포함될 수 있다.
구체적으로, 후보 윈도우 식별부(12)는 후보 매칭을 위해, 후보 집합 식별부(11)에서 식별(선정)된 후보 집합(달리 말해, 교집합 비교에 의해 선정된 후보 집합)에 대한 검증을 수행하여, 질의 집합 시퀀스의 윈도우와 데이터 집합 시퀀스의 윈도우가 실제로 ε/ρ-매치하는지 검증할 수 있다. 이를 위해, 후보 윈도우 식별부(12)는 후보 집합 식별부(11)를 통해 식별된 후보 집합에 대한 정보(즉, 후보 집합 테이블인 CandiSet에 대한 정보), 데이터 집합 시퀀스, 질의 집합 시퀀스 및 허용치를 입력받을 수 있으며, 입력받은 정보에 기초하여 실제로 ε/ρ-매치하는 데이터 시퀀스의 윈도우를 출력할 수 있다. 즉, 후보 윈도우 식별부(12)는 입력받은 정보에 기초하여 식별된 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사할 것으로 예상되는 후보 윈도우에 대한 정보를 출력할 수 있다.
이를 위해, 후보 윈도우 식별부(12)는 후보 집합이 포함된 데이터 집합 시퀀스의 디스조인트 윈도우와 후보 집합과 유사하다고 판단됐던 질의 시퀀스 집합이 포함된 슬라이딩 윈도우 간의 유사도 계산을 수행할 수 있다. 이때, 두 집합이 각 윈도우에서 차지하는 위치가 동일해야 하는데, 그 이유는 이 경우에만 두 집합 간의 유사도가 윈도우 간 유사도 계산에 반영되기 때문이라 할 수 있다. 또한, 후보 윈도우 식별부(12)는 윈도우 간 유사도 계산 결과가 ε/ρ 이하인 경우, 해당 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스가 실제로 ε-매치할 가능성이 있다고 판단할 수 있다. 이때, 후보 윈도우 식별부(12)는 ε-매치할 가능성이 있다고 판단된 해당 윈도우 및 윈도우 간 매칭 시점을 후보 윈도우 테이블에 저장할 수 있다. 후보 윈도우 테이블에 저장된 정보는 유사 데이터 집합 시퀀스 식별부(13)를 토한 후처리 과정에서 사용될 수 있다.
후보 윈도우 식별부(12)에 의해 수행되는 후보 윈도우 식별을 위한 후보 매칭 단계의 구체적인 과정은 도 11을 참조하여 보다 쉽게 이해될 수 있다.
도 11은 본 장치(10)에서 후보 윈도우 식별부(12)를 통해 수행되는 후보 매칭 과정(알고리즘)의 예를 나타낸 도면이다.
도 11을 참조하면, 후보 윈도우 식별부(12)는 후보 집합 식별부(11)를 통해 생성된 후보 집합 테이블(후보 집합 저장 테이블)인 CandiSet, 데이터 집합 시퀀스 SP i , 질의 집합 시퀀스 SP a 및 허용치 ε를 입력받을 수 있다. 후보 윈도우 식별부(12)는 입력에 대한 출력 값으로 후보 윈도우에 대한 정보가 저장된 후보 윈도우 테이블(후보 윈도우 저장 테이블)인 candiWin을 출력할 수 있다.
보다 자세하게, 후보 윈도우 식별부(12)는 질의 집합 시퀀스 SP a 의 모든 슬라이딩 윈도우들에 대하여 후보 매칭 알고리즘을 반복 수행할 수 있다(step1 내지 step11). 또한, 후보 윈도우 식별부(12)는 질의 집합 시퀀스 SP a 의 슬라이딩 윈도우에 포함된 모든 집합 sp a,k 들에 대해 순차적으로 후보 매칭 알고리즘을 반복 수행할 수 있다(step2 내지 step10). 후보 윈도우 식별부(12)는 교집합 비교 알고리즘의 결과인 candiSet에 포함된 모든 집합sp i,k 들에 포함된 윈도우들에 대해서 검증 작업을 반복 수행한다(step3 내지 step9). 이때, 후보 윈도우 식별부(12)는 윈도우가 실제로 ε/ρ-매치하는지에 대한 검증 작업을, candiSet에 포함된 집합인 sp i,k 와 질의 집합 시퀀스에 포함된 집합인 sp a,k 가 각 윈도우에서 차지하는 위치가 동일한 경우에 대해서만(한해서만) 수행할 수 있다(step4 내지 step8). 달리 말해, 후보 윈도우 식별부(12)는 SP i 의 디스조인트 윈도우에서 sp i,k 의 위치와 질의 집합 시퀀스 SP a 의 슬라이딩 윈도우에서 sp a,k 의 위치가 동일한 경우에 한하여, 해당 디스조인트 윈도우가 슬라이딩 윈도우와 매치하는지에 대한 검증 작업으로서 후보 매칭 단계, 즉 두 윈도우 간 유사도 계산을 수행할 수 있다. 후보 윈도우 식별부(12)는 상기의 조건(위치가 동일한지에 대한 조건)을 만족하는 경우, sp i,k 가 포함된 윈도우와 sp a,k 가 포함된 윈도우 간 유클리디안 집합 거리인 winDist를 계산할 수 있다(step 5). 이후, 후보 윈도우 식별부(12)는 winDist가 ε/ρ 이하인지 여부를 판단할 수 있다(step 6). 이때, 후보 윈도우 식별부(12)는 winDist가 ε/ρ 이하인 경우, 해당 윈도우 및 매칭 시점을 후보 윈도우 테이블인 candiWin에 저장할 수 있다(step 7). 즉, 후보 윈도우 식별부(12)는 winDist가 ε/ρ 이하인 경우, sp i,k 를 포함하는 윈도우 및 sp a,k 를 포함하는 윈도우와의 매칭 시점을 candiWin에 저장할 수 있다.
유사 데이터 집합 시퀀스 식별부(13)는 후보 윈도우 테이블을 고려한 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스 간의 유사도 계산을 통해, 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스를 식별할 수 있다.
또한, 유사 데이터 집합 시퀀스 식별부(13)는 후보 윈도우 테이블에 저장되는 후보 윈도우에 대한 정보인 매칭 시점 정보를 고려하여 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스를 매칭 시점에 맞춤으로써, 두 시퀀스 간의 유사도 계산으로서 유클리디안 집합 거리 값을 계산할 수 있다.
유사 데이터 집합 시퀀스 식별부(13)는 계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치 이하의 값을 갖는 데이터 집합 시퀀스에 대하여 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스로서 식별할 수 있다.
구체적으로, 유사 데이터 집합 시퀀스 식별부(13)는 후처리를 위해, 후보 윈도우 식별부(12)를 통해 식별된 후보 윈도우에 대한 정보(즉, 후보 윈도우 테이블인 candiWin에 대한 정보), 데이터 집합 시퀀스들 및 질의 집합 시퀀스를 입력받을 수 있으며, 입력받은 정보에 기초하여 질의 집합 시퀀스(즉, 질의 시퀀스)와 ε-매치하는 데이터 집합 시퀀스들(즉, 데이터 시퀀스들)을 출력할 수 있다. 즉, 유사 데이터 집합 시퀀스 식별부(13)는 입력받은 정보에 기초하여 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사하다고 판단되는 유사 데이터 집합 시퀀스들을 식별하여 출력할 수 있다.
이러한 유사 데이터 집합 시퀀스 식별부(13)는 후보 윈도우 식별부(12)에 의해 수행되는 후보 매칭 알고리즘의 결과인 ε -매치할 것으로 예상되는 데이터 집합 시퀀스의 후보 윈도우들 및 매칭 시점들 중에서 실제로 ε-매치하지 않는 후보 윈도우들을 제거할 수 있다. 이를 위해, 유사 데이터 집합 시퀀스 식별부(13)는 후보 윈도우들이 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스를 매칭 시점을 이용하여 시퀀스 간 유사도 계산을 수행할 수 있다. 이후, 유사 데이터 집합 시퀀스 식별부(13)는 시퀀스 간 유사도 계산 결과가 ε 이하일 경우, 해당 데이터 집합 시퀀스를 유사 데이터 집합 시퀀스로서 식별하여 출력한다.
유사 데이터 집합 시퀀스 식별부(13)에 의해 수행되는 유사 데이터 집합 시퀀스 식별을 위한 후처리 단계의 구체적인 과정은 도 12를 참조하여 보다 쉽게 이해될 수 있다.
도 12는 본 장치(10)에서 유사 데이터 집합 시퀀스 식별부(13)를 통해 수행되는 후처리 과정(알고리즘)의 예를 나타낸 도면이다.
도 12를 참조하면, 유사 데이터 집합 시퀀스 식별부(13)는 후보 윈도우 식별부(12)에 의하여 생성된 후보 윈도우 테이블인 candiWin, 데이터 집합 시퀀스 SP i , 질의 집합 시퀀스 SP a 와 허용치 ε를 입력받을 수 있다. 유사 데이터 집합 시퀀스 식별부(13)는 입력에 대한 출력 값으로 SP a 와 ε-매치하는 데이터 집합 시퀀스 SP i 를 출력할 수 있다.
보다 자세하게, 유사 데이터 집합 시퀀스 식별부(13)는 입력이 이루어진 이후, 후보 윈도우 테이블인 candiWin에 포함된 모든 후보 윈도우들 및 매칭 시점에 대하여 후처리 알고리즘을 반복 수행할 수 있다(step1 내지 step5). 유사 데이터 집합 시퀀스 식별부(13)는 candiWin에 기록된 후보 윈도우가 포함된 데이터 집합 시퀀스 SP i 와 질의 집합 시퀀스 SP a 를 매칭 시점에 맞추어 시퀀스 간 유클리디안 집합 거리인 seqDist를 계산할 수 있다(step 2). 이후, 유사 데이터 집합 시퀀스 식별부(13)는 계산된 seqDist가 허용치 ε 이하인지 여부를 판단할 수 있다(step3). 이때, 유사 데이터 집합 시퀀스 식별부(13)는 계산된 seqDist가 허용치 ε 이하인 경우, 해당 조건(seqDist가 허용치 이하인 조건)을 만족하는 데이터 집합 시퀀스가 SP i 가 질의 집합 시퀀스 SP a 와 ε-매치한다는 것으로 판단, 즉 유사한 것으로 판단하여, 해당 조건을 만족하는 데이터 집합 시퀀스 SP i 및 두 시퀀스의 매칭 시점을 출력할 수 있다(step4).
이러한 본 장치(10)는 집합 역인덱스 기반의 집합 유사 시퀀스 매칭을 통해 유사한 집합을 효율적으로 찾을 수 있어, 종래 기술들보다 데이터 집합 시퀀스에 대한 교집합 크기 계산 수행 횟수를 효과적으로 줄일 수 있다. 특히, 종래 기술은 ε/ρ-매치하는 윈도우를 찾기 위해, 모든 데이터 집합 시퀀스의 모든 디스조인트 윈도우와 질의 집합 시퀀스의 모든 슬라이딩 윈도우 간의 유사도 계산을 수행함으로써, 수행 시간이 오래 걸리는 성능상의 문제가 있었다. 이에 반해, 본 장치(10)는 이 과정에 집합 역인덱스 기반의 검색 방법을 적용함으로써 모든 데이터 집합 시퀀스의 모든 디스조인트 윈도우가 아닌 교집합 임계값 이상의 집합이 포함된 윈도우들에 대해서만 유사도 계산을 수행할 수 있어, 종래의 방법에서 불필요하게 수행되어야 했던 윈도우 간 유사도 계산 횟수를 효과적으로 줄여 성능을 향상시킬 수 있다.
다시 말해, 본 장치(10)는 역인덱스 기반의 검색 방법을 사용하여 집합 기반 유사 시퀀스 매칭을 빠르게 수행하여 종래의 성능 저하 문제를 해결할 수 있다. 즉, 본원은 집합 시퀀스 유사도 문제를 교집합의 크기 비교 문제로 정형적으로 변환하고, 교집합의 크기를 빠르게 찾을 수 있는 인덱스 구조(역인덱스 구조)에 대해 제안하며, 제안된 인덱스 구조(역인덱스 구조)를 사용한 집합 기반 유사 시퀀스 매칭 방법을 제안한다. 이러한 본 장치(10)는 성능 평가 결과, 기존의 시퀀스 매칭 방법에 비해 최대 30배에서 50배의 수행 시간 단축 효과를 제공할 수 있다. 더하여, 본 장치(10)의 경우, 데이터 시퀀스의 개수가 증가할수록 수행시간의 차이가 점점 커짐에 따라, 대용량 데이터 처리에 보다 효과적으로 적용될 수 있다.
이하에서는 본원의 일 실험예에 따른 본 장치(10)의 성능 평가 결과에 대하여 기술한다.
이하에서는, 본 장치(10)의 성능 평가 결과와 관련하여, 본원의 일 실험예에 따른 실험 데이터에 대해 먼저 설명하고, 이후 실험 환경에 대해 설명한 후 실험 결과에 대해 설명하기로 한다.
먼저, 본원의 일 실험예에 따른 실험 데이터에 대한 설명은 다음과 같다.
본원의 일 실험에 따르면, 실험 데이터로서 합성 데이터를 사용할 수 있다. 이때, 합성 데이터를 사용하여 실험을 수행한 이유는 기존 연구[논문 3]에서 사용한 데이터와 실제로 구할 수 있는 데이터들이 시퀀스 개수에 제한이 있고, 시퀀스 개수에 비해 데이터의 종류가 상당히 많아 특정 질의 시퀀스와 유사한 정답 시퀀스들이 드물기 때문이라 할 수 있다. 따라서 본원의 일 실험예에서는 대용량의 데이터 처리 성능 비교와 유사 시퀀스 비율 등에 따른 성능 비교를 위해서 합성 데이터를 사용한다.
데이터 생성과 관련된 표기에 대한 정의 및 의미는 하기 표 1과 같을 수 있다.
[표 1] 표기법의 요약
Figure 112017131139493-pat00047
표 1을 참조하면, n은 데이터 시퀀스의 개수로, 몇 개의 데이터 시퀀스를 생성할지에 대한 기준이 된다. avgLen은 데이터 시퀀스의 평균 길이를 나타내며, 데이터 시퀀스들이 길이는 avgLen에서 일정 수준이상 벗어나지 않도록 생성될 수 있다. qlen은 질의 시퀀스의 길이로, avgLen의 비율로 표현될 수 있다. NU는 관계가 밀접하다고 할 수 있는데, N은 생성할 전체 원소(element)들의 개수로 navgLen의 곱으로 표현될 수 있다. U는 데이터의 희귀 비율로서, 몇가지의 데이터를 생성할지에 대한 척도가 될 수 있다. 예를 들어, N이 30,000개이고 U가 0.1이라면 3,000가지의 원소를 이용하여 데이터 시퀀스를 생성하겠다는 것을 의미할 수 있다. 또한, C는 특정 질의 시퀀스와 유사한 데이터 시퀀스를 얼마나 생성할지에 대한 파라메터로서, nβ의 곱으로 표현될 수 있다. 이때 β는 정답 데이터 시퀀스 집합 비율에 대한 파라메터로, 0부터 1 사이의 실수 값을 가질 수 있다. 또한, δD는 데이터를 변이하기 위한 파라메터로 얼마만큼 변이할지를 나타내는 척도일 수 있다.
이때, D개 만큼의 데이터를 임의로 변이 시키는 이유는 임계값에 따라 선택율(selectivity)이 다르게 나오게끔 생성하기 위함이라 할 수 있다. 또한, 임의의 위치에 삽입하는 이유는 유사 시퀀스 매칭 수행 시에 동일한 위치에 있는 질의 시퀀스와 유사한 서브시퀀스만을 찾는 것이 아니라, 질의 시퀀스와 유사한 서브시퀀스가 어디에 있던 정답으로 찾을 수 있음을 증명하기 위함이라 할 수 있다. 본원의 일 실험예에서는 위와 같은 방법으로 총 C개 만큼의 정답 집합을 생성하고, 기준이 되는 데이터 시퀀스를 새로 생성하여 위 과정을 반복 수행한다.
본원의 일 실험예에서는 실험을 위해 데이터 시퀀스의 개수를 2,500개부터 20,000개까지 2배씩 증가시키며 총 4개의 데이터셋을 생성한다. 이때, 데이터 시퀀스의 길이는 평균적으로 1,000이 되게끔 생성하고, 질의 시퀀스는 200의 길이를 가지게끔 생성한다. 또한, 본원의 일 실험예에서는 정답 집합의 개수를 250개부터 2,000개까지 2배씩 증가하게 생성하고, 데이터 시퀀스의 임의의 위치에 삽입되는 데이터는 질의 시퀀스 길이 기준 10%에서 50% 사이의 임의의 개수만큼 변이되도록 설정하였다.
본원의 일 실험예에 따른 실험 환경에 대한 설명은 다음과 같다.
본원의 일 실험예에 따른 실험 환경은, 본 장치(10)의 우수성을 검증하기 위해 기존 집합 유사 시퀀스 방법인 SSM과 SSM에 제안하는 방법을 적용한 방법 Indexed에 대해 동일한 데이터, 동일한 사양의 기기를 이용하여 두 방법에 대한 성능 비교를 수행하였다.
실험을 위해 이용한 기기는 일예로 Intel® Core™ i7-4790k, 8GB의 램을 장착한 Windows 10 PC이며, C언어 기반으로 작성된 코드를 이용하여 실험을 수행하였다.
[표 2] 실험에 사용된 매개 변수
Figure 112017131139493-pat00048
상기의 표 2는 본원의 일 실험예에 따른 실험에 사용된 매개 변수를 정리한 것이다. 일 실험예에서 집합의 크기 σ는 10으로 설정하고, 윈도우 크기 ω는 4로 설정하였다. 또한, 허용치 ε는 하기 수학식 21에 의해 기준 유사도 γ가 0.5에서 0.8까지 0.1씩 증가시키는 것과 대응하여 10에서 4까지 2씩 감소시키며 실험을 수행하였다. 이때, 기준 유사도 γ는 유사하다고 판단하기 위한 유사도의 기준을 말하며, 만약 γ가 0.6일 경우 본 장치(10)는 두 집합 시퀀스가 전체 시퀀스 중에서 60% 이상 같아야 유사하다고 판단할 수 있다.
[수학식 21]
Figure 112017131139493-pat00049
상기 수학식 21은 두 집합 시퀀스를 유사하다고 판단하기 위한 허용치 ε를 집합 시퀀스 환경에 맞도록 변환한 것을 의미한다. 이때,
Figure 112017131139493-pat00050
는 질의 시퀀스를 구성하는 집합의 개수를 의미하고,
Figure 112017131139493-pat00051
는 두 집합 간의 유사도 허용치를 의미한다. 두 집합 시퀀스 간의 유사도를 나타내기 위해 사용하는 유클리디안 집합 거리는 앞서 설명한 [정의 4]와 같이 집합 시퀀스를 구성하는 집합들의 유사도의 합으로 표현될 수 있다. 따라서, 집합 시퀀스 간 유사한지 유사하지 않는지 판단하기 위한 허용치 ε는 상기 수학식 21과 같이 집합 시퀀스를 구성하는 집합의 개수에 집합 간 유사도 허용치를 곱한 값으로 표현될 수 있다.
본원의 일 실험예에 따른 실험 결과에 대한 설명은 다음과 같다.
본원의 일 실험예에서는 본 장치(10)의 성능상 우수함을 증명하기 위해, 집합 기반 유사 시퀀스 매칭의 수행 시간을 측정하였다. 먼저 본원의 제1 실험예에서는 데이터 시퀀스의 개수 n을 증가시키며 수행 시간 및 결과를 확인함으로써 본원에서 제안하는 알고리즘이 대량의 데이터 시퀀스에 대해서 빠른 처리가 가능함을 확인하였다. 다음으로, 본원의 제2 실험예에서는 허용치 ε를 변화시켜가며 수행 시간 및 결과를 확인함으로써 결과 크기 증가, 즉 후보 증가로 인한 연산량 증가에 따라 본원에서 제안하는 알고리즘이 어떤 성능상의 이점을 가지는지 확인하였다. 또한, 본원의 제3 실험예에서는 이와는 별도로 n의 증가에 따른 인덱스 구축 시간을 확인함으로써 인덱스를 사용하는데 필요한 사전 비용이 어느정도 인지를 확인하였다.
n을 변화시켜가며 수행 시간을 측정한 제1 실험예와 관련된 설명은 다음과 같다.
본원의 제1 실험예에서는 ε를 8, qlen은 200, σ는 10, ω는 4로 고정되도록 설정한 상태에서 n을 2,500부터 20,000까지 2배씩 증가 시키며 수행 시간을 확인하였다. 본원의 제1 실험예는, 본 장치(10)를 통해 제안된 방법의 확장성(scalability)을 보여주고, 집합 인덱스를 사용함으로써 검색 공간(search space)을 줄여 속도가 향상될 수 있음을 증명하기 위한 실험이라 할 수 있다.
본원의 제1 실험예에 따른 실험 결과는 도 13과 같을 수 있다.
도 13은 본원의 제1 실험예에 따른 실험 결과를 나타낸 도면이다. 즉, 도 13은 데이터 시퀀스의 수 n의 변화에 따른 수행 시간의 측정 결과를 나타낸 도면이다.
도 13을 참조하면, 도 13의 (a)는 두 방법에 대해 수행시간을 측정한 결과로, 본 장치(10)를 통해 제안하는 방법들이 성능 향상의 효과가 있음을 보여준다. 이는 본 장치(10)가 집합 인덱스를 사용함으로써 검색 공간(search space)을 줄여 기존 방법 대비 속도 향상이 있음을 증명해주는 결과라 할 수 있다. 또한, 기존 방법(SSM)의 경우 n이 증가함에 따라 수행 시간 또한 약 2배씩 비례하여 증가하는 것을 확인할 수 있는 반면, 본원에서 제안하는 방법(Indexed)(즉, 본 장치에 의한 매칭 방법)의 경우 약 1.5배씩 증가하여 기존 방법보다 완만하게 증가하는 것을 확인할 수 있다. 이러한 현상은 n이 증가 할수록 본원에서 제안하는 방법의 성능 향상 정도가 증가한다는 것을 의미하므로, 본 장치(10)에 의한 제안 방법의 확장성이 기존 방법에 비해 높다는 것을 나타낸다.
도 13의 (b)는 종래 SSM에 비해 본원에서 제안하는 방법의 성능이 종래 대비 얼마나 향상되었는지에 대한 확인을 비율로 나타낸 결과를 보여준다. 이에 따르면, 본원에서 제안하는 방법이 최소 30배에서 최대 50배 정도의 성능 향상을 보인다는 것을 확인할 수 있다
ε를 변화시켜가며 수행 시간을 측정한 제2 실험예와 관련된 설명은 다음과 같다.
본원의 제2 실험예에서는 n을 10,000으로, qlen은 200, σ는 10, ω는 4로 고정되도록 설정한 후, ε를 변화시키며 실험한 결과에 대해 설명한다. 이러한 제2 실험은 ε에 따라 후보 집합 및 실제로 유사하다고 판단된 집합 시퀀스들의 개수가 변하는 점이 실제 성능에 미치는 영향을 분석하기 위해 수행된 것이다.
유사도 허용치 ε 의 변화에 따른 수행 시간 측정 결과인 제2 실험예에 따른 실험 결과는 도 14와 같을 수 있다.
도 14는 본원의 제2 실험예에 따른 실험 결과를 나타낸 도면이다. 즉, 도 14는 허용치의 변화에 따른 수행 시간의 측정 결과를 나타낸 도면이다
도 14를 참조하면, 도 14의 (a)는 두 방법에 대해 수행 시간을 측정한 결과를 나타내며, 이는 본원의 제1 실험과 마찬가지로 본원에서 제안하는 방법들이 성능 향상의 효과가 있음을 보여준다. 이에 따르면, 본원에서 제안하는 방법(Indexed)의 경우 ε가 감소함에 따라 수행시간이 확연하게 줄어드는 것을 확인할 수 있다. 이러한 현상은 ε 이 감소함에 따라 윈도우 간 유사도 계산을 수행할 윈도우들을 교집합 비교 단계에서 확연하게 줄이기 때문에 발생하는 것이라 할 수 있다.
도 14의 (b)는 본원에서 제안하는 방법의 성능이 종래 대비 얼마나 향상되었는지에 대한 확인을 비율로 나타낸 결과를 보여준다. 이에 따르면, ε이 감소할 수록, 본원에서 제안하는 방법의 성능이 최소 30배에서 최대 90배까지 증가하는 것을 확인할 수 있다. 이는 ε 이 작아질수록 본원에서 제안하는 방법이 보다 효율적이라는 것을 나타낸다.
n의 변화에 따른 인덱스 구축 시간을 비교한 제3 실험예와 관련된 설명은 다음과 같다.
본원에서 제안하는 방법은 기존의 SSM에 비해서 역인덱스를 미리 구축해 둔다는 점에서 차이가 있다. 이러한 인덱스 구축은 사전에 한번 수행하는 작업일 수 있으나, 인덱스 구축에 필요한 시간이 어느 정도인지 확인하는 것은 본원에서 제안하는 방법의 현실 적용성을 살펴본다는 측면에서 중요하다 할 수 있다.
이에 따라, 본원의 제3 실험예에서는 인덱스 구축 시간이 n에 직접적인 영향을 받으므로, n을 2,500에서 20,000까지 2배씩 증가시키며 확인한다.
도 15는 본원의 제3 실험예에 따른 실험 결과를 나타낸 도면이다. 즉, 도 15는 n의 변화에 따른 인덱스 구축 시간의 변화를 나타낸 도면이다.
도 15를 참조하면, n이 20,000일 때 인덱스 구축 시간은 621초(약 10.4분) 정도가 소요됨을 확인할 수 있다. 이에 따르면, 본 장치(10)에서 인덱스 구축 작업이 시퀀스 매칭의 수행 이전에 초기에 한 번 수행되는 작엄임을 감안하였을 때 현실적인 시간 내에 완료할 수 있음을 확인할 수 있다. 또한 n이 증가함에 따라 인덱스 구축 시간 또한 비례하여 증가하는 것을 확인할 수 있다.
각각에 대한 데이터를 살펴보면, n이 두배로 증가할 때 인덱스 구축 시간은 약 4배정도 증가하는 것을 확인할 수 있는데, 그 이유는 다음과 같다. 집합 역인덱스는 데이터 상에 존재하는 모든 데이터의 종류마다 생성될 수 있다. 즉, n 뿐만 아니라 데이터의 모든 종류 개수 k와도 연관이 있다고 할 수 있다. k는 데이터 생성 시에 사용되는 파라메터로, 상기의 [표1]에서의 데이터 희귀 비율 U에 의해 결정될 수 있다. 데이터 희귀 비율 U를 고정시켜 데이터를 생성하는 경우, n이 2배씩 증가하면 k 또한 2배씩 증가할 수 있다. 이러한 집합 역인덱스는 n개 만큼의 데이터에 대해 k개 만큼의 역인덱스 엔트리가 생성되므로, nk가 각각 2배씩 증가하는 경우 인덱스 구축 시간이 총 n·k 배인 4배만큼의 시간이 증가하게 되는 것이라 할 수 있다.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.
도 16은 본원의 일 실시예에 따른 집합 기반 유사 시퀀스 매칭 방법에 대한 동작 흐름도이다.
도 16에 도시된 집합 기반 유사 시퀀스 매칭 방법은 앞서 설명된 집합 기반 유사 시퀀스 매칭 장치(본 장치, 10)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 집합 기반 유사 시퀀스 매칭 장치(본 장치, 10)에 대하여 설명된 내용은 집합 기반 유사 시퀀스 매칭 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 16을 참조하면, 단계S11에서는 데이터 집합 시퀀스들에 대하여 생성된 집합 역인덱스를 이용하여 데이터 집합 시퀀스들 중 질의 집합 시퀀스의 집합과 유사하다고 판단되는 데이터 집합 시퀀스의 집합들을 후보 집합으로서 식별하여 후보 집합 테이블을 생성할 수 있다.
여기서, 집합 역인덱스는, 질의 집합 시퀀스의 집합 내에 포함된 각 원소에 대하여 각 원소를 포함하는 집합들에 대한 리스트가 매핑되어 저장된 정보를 의미할 수 있다. 또한, 집합 역인덱스는 각 원소 중 어느 하나의 원소에 대한 집합 역인덱스 엔트리로서 상기 어느 하나의 원소를 포함하는 집합들의 식별자를 식별자 크기순으로 정렬한 상기 어느 하나의 원소를 포함하는 집합들에 대한 리스트를 포함할 수 있다.
또한, 단계S11에서는 질의 집합 시퀀스의 집합에 포함된 원소들에 대한 집합 역인덱스 엔트리 각각의 원소들의 정보를 고려하여 질의 집합 시퀀스의 집합과 데이터 집합 시퀀스의 집합 간의 교집합 크기를 계산할 수 있다. 또한, 단계S11에서는 계산된 교집합의 크기가 교집합 임계값 보다 큰 값을 갖는 데이터 집합 시퀀스의 집합들에 대한 정보를 후보 집합에 대한 정보로서 후보 집합 테이블에 저장할 수 있다.
여기서, 교집합 임계값은, 사용자로부터 입력된 유사도 허용치, 집합 크기, 윈도우 크기 및 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수를 이용하여 설정될 수 있다.
또한, 단계S11에서는 질의 집합 시퀀스의 집합과 데이터 집합 시퀀스의 집합 간의 교집합 크기의 계산을 위해, 집합 역인덱스 엔트리 각각의 원소들 중 가장 작은 원소 값을 갖는 집합을 식별하고, 집합 역인덱스 엔트리 각각의 원소들 중에서 식별된 집합의 원소 값과 동일한 값을 갖는 원소의 개수를 카운트할 수 있다.
또한, 단계S11에서 후보 집합 테이블에 저장되는 후보 집합에 대한 정보에는 후보 집합이 속한 데이터 집합 시퀀스의 윈도우에서의 위치 정보 및 교집합 크기가 계산된 질의 집합 시퀀스의 집합의 식별자 정보가 포함될 수 있다.
또한, 단계S11에서는 질의 집합 시퀀스에 포함된 모든 집합들에 대하여 후보 집합의 식별을 수행할 수 있다. 즉, 단계S11은 질의 집합 시퀀스에 포함된 모든 집합들에 대하여 반복 수행될 수 있다.
다음으로, 단계S12에서는 후보 집합 테이블을 고려한 후보 집합이 포함된 데이터 집합 시퀀스의 윈도우와 질의 집합 시퀀스의 윈도우 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스에 포함된 윈도우와 유사하다고 판단되는 데이터 집합 시퀀스의 윈도우들을 후보 윈도우로서 식별하여 후보 윈도우 테이블을 생성할 수 있다.
이때, 데이터 집합 시퀀스의 윈도우는, 데이터 집합 시퀀스의 시계열적 원소들에 대하여 형성된 미리 설정된 수의 원소를 갖는 복수의 집합에 있어서 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 디스조인트 윈도우로서, 다른 디스조인트 윈도우 간에 겹침이 발생하지 않도록 생성될 수 있다. 또한, 질의 집합 시퀀스 윈도우는, 질의 집합 시퀀스의 시계열적 원소들에 대하여 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 슬라이딩 윈도우로서, 다른 슬라이딩 윈도우 간에 하나의 집합의 크기에 대응하는 겹침이 발생하도록 생성될 수 있다.
또한, 단계S12에서는, 질의 집합 시퀀스에 포함된 모든 윈도우들에 대하여 후보 집합 테이블에 포함된 후보 집합들이 속한 데이터 집합 시퀀스들의 모든 윈도우들과의 유사도 계산을 수행하되, 후보 집합 테이블에 저장된 후보 집합에 대한 정보를 고려하여 유사도 계산을 수행할 수 있다.
또한, 단계S12에서는 데이터 집합 시퀀스의 윈도우 내에서의 후보 집합의 위치와 질의 집합 시퀀스의 윈도우 내에서의 후보 집합과 유사하다고 판단된 질의 집합 시퀀스의 집합의 위치가 동일한 경우에 한하여, 두 윈도우 간의 유사도 계산으로서 유클리디안 집합 거리 값을 계산할 수 있다.
또한, 단계S12에서는 계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치를 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수로 나눈 값 이하인지 여부를 판단하고, 판단 결과에 따라 후보 윈도우에 대한 정보로서 데이터 집합 시퀀스의 윈도우들에 대한 정보를 후보 윈도우 테이블에 저장할 수 있다. 이때, 후보 윈도우 테이블에 저장되는 후보 윈도우에 대한 정보에는 후보 윈도우와 관련된 두 윈도우 간의 매칭 시점 정보가 포함될 수 있다.
다음으로, 단계S13에서는 후보 윈도우 테이블을 고려한 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스 간의 유사도 계산을 통해, 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스를 식별할 수 있다.
또한, 단계S13에서는 후보 윈도우 테이블에 저장되는 후보 윈도우에 대한 정보인 매칭 시점 정보를 고려하여 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스를 매칭 시점에 맞춤으로써, 두 시퀀스 간의 유사도 계산으로서 유클리디안 집합 거리 값을 계산할 수 있다.
또한, 단계S13에서는 계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치 이하의 값을 갖는 데이터 집합 시퀀스에 대하여 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스로서 식별할 수 있다.
상술한 설명에서, 단계 S11 내지 S13은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본원의 일 실시 예에 따른 집합 기반 유사 시퀀스 매칭 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
10: 집합 기반 유사 시퀀스 매칭 장치
11: 후보 집합 식별부
12: 후보 윈도우 식별부
13: 유사 데이터 집합 시퀀스 식별부

Claims (25)

  1. 집합 기반 유사 시퀀스 매칭 방법에 있어서,
    데이터 집합 시퀀스들에 대하여 생성된 집합 역인덱스를 이용하여 데이터 집합 시퀀스들 중 질의 집합 시퀀스의 집합과 유사하다고 판단되는 데이터 집합 시퀀스의 집합들을 후보 집합으로서 식별하여 후보 집합 테이블을 생성하는 단계;
    상기 후보 집합 테이블을 고려한 후보 집합이 포함된 데이터 집합 시퀀스의 윈도우와 질의 집합 시퀀스의 윈도우 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스에 포함된 윈도우와 유사하다고 판단되는 데이터 집합 시퀀스의 윈도우들을 후보 윈도우로서 식별하여 후보 윈도우 테이블을 생성하는 단계; 및
    상기 후보 윈도우 테이블을 고려한 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스를 식별하는 단계를 포함하고,
    상기 데이터 집합 시퀀스의 윈도우는, 데이터 집합 시퀀스의 시계열적 원소들에 대하여 형성된 미리 설정된 수의 원소를 갖는 복수의 집합에 있어서 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 디스조인트 윈도우로서, 다른 디스조인트 윈도우 간에 겹침이 발생하지 않도록 생성되고,
    상기 질의 집합 시퀀스 윈도우는, 질의 집합 시퀀스의 시계열적 원소들에 대하여 상기 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 슬라이딩 윈도우로서, 다른 슬라이딩 윈도우 간에 하나의 집합의 크기에 대응하는 겹침이 발생하도록 생성되는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  2. 제1항에 있어서,
    상기 후보 집합 테이블을 생성하는 단계는,
    질의 집합 시퀀스의 집합에 포함된 원소들에 대한 집합 역인덱스 엔트리 각각의 원소들의 정보를 고려하여 질의 집합 시퀀스의 집합과 데이터 집합 시퀀스의 집합 간의 교집합 크기를 계산하고,
    계산된 교집합의 크기가 교집합 임계값 보다 큰 값을 갖는 데이터 집합 시퀀스의 집합들에 대한 정보를 후보 집합에 대한 정보로서 상기 후보 집합 테이블에 저장하는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  3. 제2항에 있어서,
    상기 후보 집합 테이블을 생성하는 단계는,
    질의 집합 시퀀스의 집합과 데이터 집합 시퀀스의 집합 간의 교집합 크기의 계산을 위해, 상기 집합 역인덱스 엔트리 각각의 원소들 중 가장 작은 원소 값을 갖는 집합을 식별하고, 상기 집합 역인덱스 엔트리 각각의 원소들 중에서 상기 식별된 집합의 원소 값과 동일한 값을 갖는 원소의 개수를 카운트하는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  4. 제2항에 있어서,
    상기 후보 집합 테이블에 저장되는 후보 집합에 대한 정보에는 상기 후보 집합이 속한 데이터 집합 시퀀스의 윈도우에서의 위치 정보 및 교집합 크기가 계산된 질의 집합 시퀀스의 집합의 식별자 정보가 포함되는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  5. 제2항에 있어서,
    상기 교집합 임계값은,
    사용자로부터 입력된 유사도 허용치, 집합 크기, 윈도우 크기 및 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수를 이용하여 설정되는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  6. 제1항에 있어서,
    상기 후보 집합 테이블을 생성하는 단계는,
    상기 질의 집합 시퀀스에 포함된 모든 집합들에 대하여 후보 집합의 식별을 수행하는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  7. 제1항에 있어서,
    상기 후보 윈도우 테이블을 생성하는 단계는,
    상기 질의 집합 시퀀스에 포함된 모든 윈도우들에 대하여 후보 집합 테이블에 포함된 후보 집합들이 속한 데이터 집합 시퀀스들의 모든 윈도우들과의 유사도 계산을 수행하되, 후보 집합 테이블에 저장된 후보 집합에 대한 정보를 고려하여 유사도 계산을 수행하는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  8. 제7항에 있어서,
    상기 후보 윈도우 테이블을 생성하는 단계는,
    데이터 집합 시퀀스의 윈도우 내에서의 후보 집합의 위치와 질의 집합 시퀀스의 윈도우 내에서의 상기 후보 집합과 유사하다고 판단된 질의 집합 시퀀스의 집합의 위치가 동일한 경우에 한하여, 두 윈도우 간의 유사도 계산으로서 유클리디안 집합 거리 값을 계산하는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  9. 제8항에 있어서,
    상기 후보 윈도우 테이블을 생성하는 단계는,
    계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치를 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수로 나눈 값 이하인지 여부를 판단하고, 판단 결과에 따라 후보 윈도우에 대한 정보로서 데이터 집합 시퀀스의 윈도우들에 대한 정보를 상기 후보 윈도우 테이블에 저장하고,
    상기 후보 윈도우 테이블에 저장되는 후보 윈도우에 대한 정보에는 상기 후보 윈도우와 관련된 두 윈도우 간의 매칭 시점 정보가 포함되는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  10. 제1항에 있어서,
    상기 유사 데이터 집합 시퀀스를 식별하는 단계는,
    상기 후보 윈도우 테이블에 저장되는 후보 윈도우에 대한 정보인 매칭 시점 정보를 고려하여 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스를 매칭 시점에 맞춤으로써, 두 시퀀스 간의 유사도 계산으로서 유클리디안 집합 거리 값을 계산하는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  11. 제10항에 있어서,
    상기 유사 데이터 집합 시퀀스를 식별하는 단계는,
    계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치 이하의 값을 갖는 데이터 집합 시퀀스에 대하여 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스로서 식별하는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  12. 제1항에 있어서,
    상기 집합 역인덱스는,
    질의 집합 시퀀스의 집합 내에 포함된 각 원소에 대하여 각 원소를 포함하는 집합들에 대한 리스트가 매핑되어 저장된 정보이고,
    각 원소 중 어느 하나의 원소에 대한 집합 역인덱스 엔트리로서 상기 어느 하나의 원소를 포함하는 집합들의 식별자를 식별자 크기순으로 정렬한 상기 어느 하나의 원소를 포함하는 집합들에 대한 리스트를 포함하는 것인, 집합 기반 유사 시퀀스 매칭 방법.
  13. 집합 기반 유사 시퀀스 매칭 장치에 있어서,
    데이터 집합 시퀀스들에 대하여 생성된 집합 역인덱스를 이용하여 데이터 집합 시퀀스들 중 질의 집합 시퀀스의 집합과 유사하다고 판단되는 데이터 집합 시퀀스의 집합들을 후보 집합으로서 식별하여 후보 집합 테이블을 생성하는 후보 집합 식별부;
    상기 후보 집합 테이블을 고려한 후보 집합이 포함된 데이터 집합 시퀀스의 윈도우와 질의 집합 시퀀스의 윈도우 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스에 포함된 윈도우와 유사하다고 판단되는 데이터 집합 시퀀스의 윈도우들을 후보 윈도우로서 식별하여 후보 윈도우 테이블을 생성하는 후보 윈도우 식별부; 및
    상기 후보 윈도우 테이블을 고려한 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스 간의 유사도 계산을 통해, 상기 데이터 집합 시퀀스들 중 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스를 식별하는 유사 데이터 집합 시퀀스 식별부를 포함하고,
    상기 데이터 집합 시퀀스의 윈도우는, 데이터 집합 시퀀스의 시계열적 원소들에 대하여 형성된 미리 설정된 수의 원소를 갖는 복수의 집합에 있어서 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 디스조인트 윈도우로서, 다른 디스조인트 윈도우 간에 겹침이 발생하지 않도록 생성되고,
    상기 질의 집합 시퀀스 윈도우는, 질의 집합 시퀀스의 시계열적 원소들에 대하여 상기 미리 설정된 수의 집합의 크기에 대응하는 크기로 생성되는 슬라이딩 윈도우로서, 다른 슬라이딩 윈도우 간에 하나의 집합의 크기에 대응하는 겹침이 발생하도록 생성되는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  14. 제13항에 있어서,
    상기 후보 집합 식별부는,
    질의 집합 시퀀스의 집합에 포함된 원소들에 대한 집합 역인덱스 엔트리 각각의 원소들의 정보를 고려하여 질의 집합 시퀀스의 집합과 데이터 집합 시퀀스의 집합 간의 교집합 크기를 계산하고,
    계산된 교집합의 크기가 교집합 임계값 보다 큰 값을 갖는 데이터 집합 시퀀스의 집합들에 대한 정보를 후보 집합에 대한 정보로서 상기 후보 집합 테이블에 저장하는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  15. 제14항에 있어서,
    상기 후보 집합 식별부는,
    질의 집합 시퀀스의 집합과 데이터 집합 시퀀스의 집합 간의 교집합 크기의 계산을 위해, 상기 집합 역인덱스 엔트리 각각의 원소들 중 가장 작은 원소 값을 갖는 집합을 식별하고, 상기 집합 역인덱스 엔트리 각각의 원소들 중에서 상기 식별된 집합의 원소 값과 동일한 값을 갖는 원소의 개수를 카운트하는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  16. 제14항에 있어서,
    상기 후보 집합 테이블에 저장되는 후보 집합에 대한 정보에는 상기 후보 집합이 속한 데이터 집합 시퀀스의 윈도우에서의 위치 정보 및 교집합 크기가 계산된 질의 집합 시퀀스의 집합의 식별자 정보가 포함되는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  17. 제14항에 있어서,
    상기 교집합 임계값은,
    사용자로부터 입력된 유사도 허용치, 집합 크기, 윈도우 크기 및 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수를 이용하여 설정되는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  18. 제13항에 있어서,
    상기 후보 집합 식별부는,
    상기 질의 집합 시퀀스에 포함된 모든 집합들에 대하여 후보 집합의 식별을 수행하는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  19. 제13항에 있어서,
    상기 후보 윈도우 식별부는,
    상기 질의 집합 시퀀스에 포함된 모든 윈도우들에 대하여 후보 집합 테이블에 포함된 후보 집합들이 속한 데이터 집합 시퀀스들의 모든 윈도우들과의 유사도 계산을 수행하되, 후보 집합 테이블에 저장된 후보 집합에 대한 정보를 고려하여 유사도 계산을 수행하는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  20. 제19항에 있어서,
    상기 후보 윈도우 식별부는,
    데이터 집합 시퀀스의 윈도우 내에서의 후보 집합의 위치와 질의 집합 시퀀스의 윈도우 내에서의 상기 후보 집합과 유사하다고 판단된 질의 집합 시퀀스의 집합의 위치가 동일한 경우에 한하여, 두 윈도우 간의 유사도 계산으로서 유클리디안 집합 거리 값을 계산하는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  21. 제20항에 있어서,
    상기 후보 윈도우 식별부는,
    계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치를 질의 집합 시퀀스가 가질 수 있는 최소 윈도우 개수로 나눈 값 이하인지 여부를 판단하고, 판단 결과에 따라 후보 윈도우에 대한 정보로서 데이터 집합 시퀀스의 윈도우들에 대한 정보를 상기 후보 윈도우 테이블에 저장하고,
    상기 후보 윈도우 테이블에 저장되는 후보 윈도우에 대한 정보에는 상기 후보 윈도우와 관련된 두 윈도우 간의 매칭 시점 정보가 포함되는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  22. 제13항에 있어서,
    상기 유사 데이터 집합 시퀀스 식별부는,
    상기 후보 윈도우 테이블에 저장되는 후보 윈도우에 대한 정보인 매칭 시점 정보를 고려하여 후보 윈도우가 포함된 데이터 집합 시퀀스와 질의 집합 시퀀스를 매칭 시점에 맞춤으로써, 두 시퀀스 간의 유사도 계산으로서 유클리디안 집합 거리 값을 계산하는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  23. 제22항에 있어서,
    상기 유사 데이터 집합 시퀀스 식별부는,
    계산된 유클리디안 집합 거리 값이 사용자로부터 입력된 유사도 허용치 이하의 값을 갖는 데이터 집합 시퀀스에 대하여 질의 집합 시퀀스와 유사한 유사 데이터 집합 시퀀스로서 식별하는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  24. 제13항에 있어서,
    상기 집합 역인덱스는,
    질의 집합 시퀀스의 집합 내에 포함된 각 원소에 대하여 각 원소를 포함하는 집합들에 대한 리스트가 매핑되어 저장된 정보이고,
    각 원소 중 어느 하나의 원소에 대한 집합 역인덱스 엔트리로서 상기 어느 하나의 원소를 포함하는 집합들의 식별자를 식별자 크기순으로 정렬한 상기 어느 하나의 원소를 포함하는 집합들에 대한 리스트를 포함하는 것인, 집합 기반 유사 시퀀스 매칭 장치.
  25. 제1항 내지 제12항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체.
KR1020170184063A 2017-12-29 2017-12-29 집합 기반 유사 시퀀스 매칭 장치 및 방법 KR101937989B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170184063A KR101937989B1 (ko) 2017-12-29 2017-12-29 집합 기반 유사 시퀀스 매칭 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170184063A KR101937989B1 (ko) 2017-12-29 2017-12-29 집합 기반 유사 시퀀스 매칭 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101937989B1 true KR101937989B1 (ko) 2019-01-11

Family

ID=65028247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170184063A KR101937989B1 (ko) 2017-12-29 2017-12-29 집합 기반 유사 시퀀스 매칭 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101937989B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112578351A (zh) * 2020-02-28 2021-03-30 加特兰微电子科技(上海)有限公司 目标匹配方法、集成电路、无线电器件及设备
KR20210067588A (ko) 2019-11-29 2021-06-08 숙명여자대학교산학협력단 항목 분류 체계를 고려한 시퀀스 간 유사도를 판단하는 전자 장치 및 그 제어 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100344530B1 (ko) 1999-12-20 2002-07-24 한국과학기술원 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100344530B1 (ko) 1999-12-20 2002-07-24 한국과학기술원 시계열 데이터베이스에서 윈도우 구성의 이원성을 사용한 서브시퀀스 매칭방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이주원 외 2명. '효율적인 집합 유사도 계산을 위한 인덱스 기법'. 한국정보과학회 2016년 동계학술대회 논문집, 2016.12., pp.214-216.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210067588A (ko) 2019-11-29 2021-06-08 숙명여자대학교산학협력단 항목 분류 체계를 고려한 시퀀스 간 유사도를 판단하는 전자 장치 및 그 제어 방법
CN112578351A (zh) * 2020-02-28 2021-03-30 加特兰微电子科技(上海)有限公司 目标匹配方法、集成电路、无线电器件及设备

Similar Documents

Publication Publication Date Title
Chai et al. Cost-effective crowdsourced entity resolution: A partial-order approach
Amato et al. MI-File: using inverted files for scalable approximate similarity search
JP5054593B2 (ja) 情報検索装置及びプログラム
CN105740386B (zh) 基于排序集成的论文搜索方法及装置
Kashyap et al. Scalable knn search on vertically stored time series
CN105630803B (zh) 文档型数据库建立索引的方法和装置
JP6167767B2 (ja) インデックス生成装置及び検索装置
KR101937989B1 (ko) 집합 기반 유사 시퀀스 매칭 장치 및 방법
Aljubayrin et al. Finding non-dominated paths in uncertain road networks
Fountoulakis On a geometrization of the Chung–Lu model for complex networks
CN105373546A (zh) 一种用于知识服务的信息处理方法及系统
Guo et al. Automatic feature generation on heterogeneous graph for music recommendation
CN105843907A (zh) 一种内存索引结构-距离树的构建及基于距离树的相似性连接算法
JP2014146218A (ja) 情報提供装置
JP5632862B2 (ja) データ検索装置、データ検索方法、及びデータ検索プログラム
US20160210372A1 (en) Method and system for obtaining knowledge point implicit relationship
Coene et al. Balancing profits and costs on trees
JP5903376B2 (ja) 情報推薦装置、情報推薦方法、及び情報推薦プログラム
US10795920B2 (en) Information processing device, information processing method, and computer-readable storage medium
Cabello et al. Finding shortest non-trivial cycles in directed graphs on surfaces
JP6624062B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
Mohammed Decision tree, naïve bayes and support vector machine applying on social media usage in NYC/comparative analysis
KR101058895B1 (ko) 온톨로지를 이용한 문서의 주제 측정 방법 및 장치
KR101067819B1 (ko) 온톨로지를 이용한 문서의 군집화 방법 및 장치
KR20100105080A (ko) 엔-그램 기반의 질의 처리 장치 및 그 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant