KR20020051601A - 시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법 - Google Patents

시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법 Download PDF

Info

Publication number
KR20020051601A
KR20020051601A KR1020000080997A KR20000080997A KR20020051601A KR 20020051601 A KR20020051601 A KR 20020051601A KR 1020000080997 A KR1020000080997 A KR 1020000080997A KR 20000080997 A KR20000080997 A KR 20000080997A KR 20020051601 A KR20020051601 A KR 20020051601A
Authority
KR
South Korea
Prior art keywords
time
time relationship
database
equation
time interval
Prior art date
Application number
KR1020000080997A
Other languages
English (en)
Other versions
KR100430479B1 (ko
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 KR10-2000-0080997A priority Critical patent/KR100430479B1/ko
Publication of KR20020051601A publication Critical patent/KR20020051601A/ko
Application granted granted Critical
Publication of KR100430479B1 publication Critical patent/KR100430479B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 환자의 병력, 웹 로그 등과 같은 시간 간격(Time Interval)을 가진 데이터로부터 시간 관계 규칙(Temporal Relation Rules)을 효율적으로 탐사하기 위한 새로운 시간 데이터마이닝(Temporal Data Mining) 기법과 이를 소프트웨어로 구현하기 위한 시스템 구조를 제안하고 있다.
이 방법은 발생 시점(Time Point)을 가진 시간 데이터(Temporal Data)를 시간 간격 데이터로 요약하여 일반화하는 전처리(Preprocessing) 알고리즘과 시간 간격 데이터로부터 시간 관계 규칙을 생성하는 규칙 탐사 알고리즘으로 구성된다.

Description

시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법 {System and mechanism for discovering temporal realtion rules from interval data}
본 발명은 시간 관계 규칙 탐사 시스템 및 그 방법에 관한 것으로서, 보다 상세하게 설명하면, 환자의 병력, 웹 로그 등과 같은 시간 간격(Time Interval)을 가진 데이터로부터 시간 관계 규칙(Temporal Relation Rules)을 효율적으로 탐사하기 위한 새로운 시간 데이터마이닝(Temporal Data Mining) 기법과 이를 소프트웨어로 구현하기 위한 시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법에 관한 것이다.
본 발명은 전자 상거래 쇼핑몰, 환자 병적 관리와 웹 사용자 분석 등의 여러 분야에 활용이 기능한 시간 간격을 고려하여 유용한 시간 지식을 탐사할 수 있는 시간 데이터마이닝(Data Mining) 방법이다.
데이터마이닝은 '데이터로부터 이전에 잘 알려지지는 않았지만, 묵시적이고 잠재적으로 유용한 지식을 추출하는 기술'로 정의되며, 전자 상거래, 의사 결정 지원, 의료 등의 다양한 분야에서 유용하게 활용될 수 있다.
종래의 데이터마이닝 기술은 데이터베이스, 기계 학습(Machine Learning), 패턴 인식(Pattern Recognition), 통계학(Statistics), 인공 지능(Artificial Intelligence), 전문가 시스템(Expert System) 등과 같은 여러 분야의 전문가들에 의해 관심을 가지고, 다양한 기술과 알고리즘을 통해 방대한 데이터로부터 유용하게 이용될 수 있는 지식을 추출한다는 목표를 가지고 진행되어 왔다. 하지만, 기존의 기술은 시간을 고려하지 않은 정적인 데이터에 대한 지식 추출이 주로 이루어져왔다.
시간은 모든 실세계 현상에서 중요한 측면으로서, 이전에 알려지지 않은 지식을 발견하고 예측하며 미래에 이러한 지식을 적용하기 위해서 시간을 고려한 마이닝 기법이 현재 관련 업계에서 절실히 요구되어 지고 있다.
지금까지의 시간 데이터마이닝은 단순한 시간 차원의 확장이라 할 수 있는연구가 진행되면서, 순차 패턴, 유사 시계열 탐사, 시간 연관 규칙 탐사 등과 같이 타임 스탬프(Time Stamp)를 가진 시간 데이터로부터 지식을 탐사하고자 하는 시간 데이터마이닝에 대한 연구가 수행되었다. 시간 데이터마이닝은 일시적이거나 시간의 근접(Proximity) 관련성들을 추론하기 위한 능력으로서, 데이터마이닝 분야의 중요한 확장이며, 이는 시간 윈도우 상에 사건의 시간에 따른 정렬을 말하고, 원인과 결과를 제안할 수 있는 유용성을 가진다. 시간 마이닝 연구자들이 제시한 시간 데이터마이닝은 명시적으로 시간 내용을 포함한 정보를 추출해야 하며, 시간 구성 요소를 포함하고, 만약 시간 구성 요소가 단순한 수치적 속성이거나, 무시된다면, 시간 데이터마이닝이라 할 수 없다고 하였다.
현재까지 진행된 시간 데이터마이닝 기법은 기존의 마이닝 기법을 확장하는 측면 연구가 진행되어 왔지만, 체계적인 시간 구성 요소를 적용하는 측면에서는 상당히 미흡하다. 또한, 발견된 지식의 표현에 있어 단순한 연관성이나 연속성만을 표현하고 있으며, 마이닝 시스템과 실제 적용 도메인의 유기적인 연동이나 지식 베이스의 시간에 따른 관리가 진행되지 않는 문제점이 있었다.
이러한 종래 기술들을 보다 더 상세히 살펴 보면, 다음과 같은 것들이 있다.
먼저, 발명자가 'Agrawal, Rakesh, Srikant'이고, 특허 명칭이 'System and method for mining sequential patterns in a large database'(US : 5,819,266)인 선행 특허를 살펴 보면, 다음과 같다.
본 선행 특허는 컴퓨터에 포함된 대용량의 데이터베이스에서 지식 추출을 위한 방법과 시스템을 제시하고 있다. 구현된 프로그램은 순서화된 구매 데이터에서유용한 패턴을 발견하는 것이고, 사용자가 지정한 일정한 규칙성을 갖는 규칙을 데이터베이스에 저장하게 된다.
본 선행 특허에서 제시한 방법의 특징은, 먼저, 구매 데이터베이스를 시간 순서로 정렬하는 과정을 거치고, 데이터베이스의 구매 항목 집합(Itenset) 중에서 주요 항목(Large Itemset) 집합을 생성하는 과정이다. 이때, 항목들의 구매 횟수는 사용자가 지정한 지지도(Support) 이상을 가지는 항목이 해당된다. 주요 항목의 집합에 대하여 빠른 검증 작업을 위해, 각각의 고객 데이터를 변형하는 과정을 거치고, 계산을 편리하게 하기 위하여 각각의 순서 항목에 대하여 숫자로 매핑하는 과정을 거친다.
또한, 최대 순차 패턴을 구하기 위하여 (K-1) 순차 항목 집합에서 K 후보 순차 항목의 집합을 생성하며, 각각의 후보 순차 항목의 집합에서 지지도 이상을 만족하는 항목이 K 순차 항목이 된다. 최대 순차 패턴을 찾는 과정은 (K-1) 순차 항목 집합 중에 K 순차 항목의 부분 순차 집합을 포함고 있는 순차 집합을 제거된다. 아록리즘에 사용한 자료 구조는 해쉬 트리를 사용하여 주어진 순차 집합에서 부분 순차 집합에 대하여 빠른 검색이 가능하며, 항목 집합에서 부분 항목 집합을 찾는 방법도 이와 유사하다.
그러나, 본 선행 특허는 시간 관련성을 다양하게 표현하지 못하여 특정 도메인에 한정된다는 한계가 있다.
또한, 저자가 'Gideon Berger'이고, 논문지 'Lecture Notes in ComputerScience 1399 Springer, Vol 1'에 게재된 선행 논문 'Discovering Unexpected patterns in temporal data using temporal logic'을 살펴 보면, 다음과 같다.
본 선행 논문은 시간 패턴을 찾는 문제에 접근하기 위한 방법론을 제시하고 있으며, 발견된 규칙을 제한된 개수의 규칙에 대하여 의미가 있으므로, 발견된 규칙의 유용성을 측정하기 위한 방법을 제시하고 있다.
먼저, 선행 논문에서는 시간 데이터베이스에서 이전에 알지 못한 유용한 시간 순차 패턴을 찾아내기 위한 문제를 제시하고 있다. 사건의 연속성에서 흥미있는 규칙을 찾기 위하여 연속적인 각각의 사건은 일정한 확률을 가지고 발생해야 하며, 인접 사건들은 일정한 조건으로 분포되어 있다고 가정한다. 이 가정을 기반으로 찾아진 연속적인 사건에 대한 규칙에 대하여 실제 발생한 사건이 기대치 이상 발생한다면, 유용하다고 간주한다.
본 선행 논문에서 제시한 네이티브(Native) 알고리즘은 위와 같은 유용한 패턴을 찾아 내는 방법이고, 다음과 같이 구성된다.
사건들의 집합은 E = {a, b, c, ...}로 구성되고 사건 사이의 시간 패턴을 발견하기 위하여 기본적인 시간 연산자 B(Before), N(Next) 및 U(Until)를 사용하여 표현한다. 사건과 사건 사이의 관계는 시간 연산자의 쌍으로 결합되어 진다. 예를 들어, aNb는 a 다음에 b가 발생한다는 의미이다. 발견된 규칙에 대한 관심 척도(IM : Interesting Measure)는 어떠한 시간적 패턴을 P라 할때, 다음과 같이 얻어진다.
실제 발생된 수 A[P]에 대한 패턴 P의 각 사건이 독립적으로 발생한다고 가정하면, P의 기대치에 대한 A의 실제 발생 빈발도를 말한다. 선행 논문에서 제시한 알고리즘은 입력으로 순차적인 사건의 열이며, 이중 가장 IM을 만족하는 패턴 C를 찾는다. 그 다음에 후보 항목을 확장해 나가게 된다. 이때, X op C와 C op X와 같이 선행 사건, 후행 사건과 시간 연산자 op를 이용하여 사용자가 주언진 임계치를 만족하는 최대 문자열을 찾게 된다. 결과로 얻어지는 규칙은 IM을 만족하는 값, 패턴 및 발생 빈도를 얻을 수 있다. 실험을 위하여 운영 체제의 시스템 사건의 순차열과 웹 로그 파일을 이용하여 실험하였다.
그러나, 본 선행 논문도 시간상에서 발생하는 사건의 순차 패턴만을 고려한다는 한계가 있다.
또한, 저자가 'Juan M. Ale'이고, 논문지 'Proceedings of the 2000 ACM Symposium, Vol 1'에 게재된 선행 논문 'An approach to discovering temporal association rules'을 살펴 보면 다음과 같다.
본 선행 논문은 Agrawal이 제시한 정적인 연관 규칙(Association)의 발견 문제에서 지지도(Support) 및 신뢰도(Confidence)를 이용하여 규칙을 생성하는 기존의 방법을 확장하여 시간 지지도(Temporal Support)를 고려한 시간 연관 규칙을 발견하는 접근 방법이다.
본 선행 논문에서 제시한 모델을 살펴 보면, 항목들의 집합을 Ai라 하고, 트랜잭션 데이터베이스 R의 부분 집합들을 d라 하였다. d의 각각의 트랜잭션 s는 항목들의 집합이고, 트랜잭션 s의 유효 시간(Valid Time)을 표현하는 타임 스탬프 ts를 가진다. 이때, 각각의 항목은 데이터베이스 일정 수명(Lifespan)을 가지며, 이는 항목의 시간적 지속성을 의미한다.
상품에 대한 수명은 일정 기간 지속적으로 구매한 상품의 시작 시점과 종료 시점에 대한 시간 간격을 의미한다. 이때, R은 X를 포함한 항목들의 집합이고, s는 X를 포함한다고 가정하면, X의 지지도는 전체 트랜잭션 d에 대하여 X를 포함하는 비율을 의미한다. 다시 말해 집합 X의 빈발도를 지지도라 한다. 시간 지지도는 만약 하나의 항목 집합이 항목 집합을 포함하는 트랜잭션의 개수와 항목 집합의 수명을 포함하는 유효 시간에 대한 데이터베이스 개수 사이의 비율이 빈발한지를 결정하는 것으로 시간과 관련된다.
d에 대한 시간 연관 규칙은 X -> Y[t1, t2] 형태로 표현되고, 이때, X ⊆ R, Y ⊆ R이고, [t1, t2]는 사용자에 의하여 결정된 시간 크기(Granularity)에 의하여 표현된 X ∪ Y의 수명과 관련된 시간 구조이다. 위의 지지도와 시간 지지도를 이용하여 선행 논문에서는 수퍼 마켓의 트랜잭션 데이터 예를 통하여 단순한 상품간의 연관성을 찾는 방법과는 달리 판매 데이터가 얻어진 시간 간격을 고려한 연관 규칙을 생성하는 방법을 제공하고 있다.
제시된 알고리즘은 Agrawal의 Apriori 알고리즘을 이용하여 구현되어 지며, 후보 항목 생성시 시간 간격을 만족하는 항목에 대하여 K 항목까지 생성한다. 이를 통하여 찾아진 규칙은 상품간의 연관성뿐만 아니라, 판매 시기에 대한 예측을할 수 있어 계절에 따른 상품 진열과 재고 관리가 가능하다는 잇점이 있다.
그러나, 본 선행 논문도 시간 관련성을 다양하게 표현하지 못하여, 특정 도메인에 한정된다는 한계가 있다.
따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명은 Allen의 시간 연산자를 기반으로 시간 간격 데이터로부터 시간 관계 규칙을 효율적으로 탐사하기 위한 새로운 마이닝 기법을 제안하며, 이 기법은 전자 상거래 쇼핑몰, 환자 병적 이력과 웹 로그 데이터에 적용하여 유용한 규칙을 발견하여 방법을 제시하는데 목적을 둔다.
도 1은 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사 시스템의 개략적인 구성도이고,
도 2는 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사의 세부 처리 과정을 나타낸 도면이고,
도 3은 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사의 전처리 과정을 개략적으로 나타낸 도면이고,
도 4는 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사의 후처리 과정을 개략적으로 나타낸 도면이고,
도 5는 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사 알고리즘을 원시 코드로 기술한 도면이고,
도 6은 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사 알고리즘을 실제적으로 적용하였을 때, 그 결과값을 보여 주는 도면이다.
※ 도면의 주요 부분에 대한 부호의 설명 ※
101 : 시간 마이닝 시스템 관리자
102 : 시간 관계 규칙 생성 모듈
103 : 고객 ID와 트랜잭션 시간에 따른 정렬 단계
104 : 빈발 사건 종류 생성 단계
105 : 일반화 단계
106 : 시간 관계 생성 단계 107 : 규칙 생성 단계
108 : 마이닝 규칙 적용 도메인
109 : 전처리 과정 110 : 규칙 탐사 과정
111 : 시간 인덱스 구조
112 : 트랜잭션 데이터베이스
113 : 시간 간계 규칙 데이터베이스
201 : 고객 ID, 트랜잭션 시간을 포함한 구매 DB
202 : 데이터 정제 과정
203 : 고객 ID와 트랜잭션 시간에 따른 정렬
204 : 후보 사건 추출
205 : 지지도 이상을 만족하는 빈발 사건 생성
206 : 시간 윈도우 분할
207 : 균등 분포 조건을 만족하는 사건
208 : 시간 지지도를 만족하는 균등 사건 추출
209 : 시간 간격 데이터 변환
210 : 각 사건에 시간 관계 비교
211 : 시작 시점과 종료시점 비교
212 : 동적 그래프 생성
213 : 지지도를 만족하는 각 시간 간격 사건에 시간 관계 규칙 생성
301 : 구매 데이터베이스 예
302 : 후보사건 303 : 빈발 사건
304 : 시간 윈도우 분할 305 : 발생 사건
306 : 후보 균등 사건 307 : 균등 사건
308 : 시간 관계 후보 사건
401 : 시간 간격 데이터베이스 402 : 동적 그래프
403 : 빈발 시간 관계 404 : 시각적 표현
501 : 시간 관계 규칙 탐사 알고리즘
601 : 시간 관계 탐사 알고리즘 구현 화면
상기한 목적을 달성하기 위한 본 발명에 따르면, 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템에 있어서, 입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 정렬부; 상기 정렬부에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 빈발 사건 종류 생성부; 미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 일반화부; 를 포함하여 이루어진 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템이 제공된다.
또한, 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성한 후, 이를 이용하여 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템에 있어서, 시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 시간 관계 생성부 ; 및 상기 시간 관계 생성부에 의하여 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 규칙 생성부; 를 포함하여 이루어진 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템이 제공된다.
또한, 입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 정렬부; 상기 정렬부에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 빈발 사건 종류 생성부; 미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 일반화부; 시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 시간 관계 생성부 ; 및 상기 시간 관계 생성부에 의하여 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 규칙 생성부; 를 포함하여 이루어진 것을 특징으로 하는 시간 관계 규칙 탐사 시스템이 제공된다.
또한, 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법에 있어서, 입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 제 1 단계; 상기 제 1 단계에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 제 2 단계; 및 미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 제 3 단계; 를 포함하여 이루어진 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법이 제공된다.
또한, 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성한 후, 이를 이용하여 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법에 있어서, 시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 제 1 단계 ; 및 상기 제 1 단계에서 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 제 2 단계; 를 포함하여 이루어진 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법이 제공된다.
또한, 입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 제 1 단계; 상기 제 1 단계에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 제 2 단계; 미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여시간 간격 데이터베이스 ND를 구하는 제 3 단계; 시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 제 4 단계 ; 및 상기 제 4 단계에서 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 제 5 단계; 를 포함하여 이루어진 것을 특징으로 하는 시간 관계 규칙 탐사 방법이 제공된다.
또한, 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 제 1 단계; 상기 제 1 단계에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 제 2 단계; 및 미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 제 3 단계; 를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
또한, 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성한 후, 이를 이용하여 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 제 1 단계 ; 및 상기 제 1 단계에서 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 제 2 단계; 를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
또한, 컴퓨터에, 입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 제 1 단계; 상기 제 1 단계에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 제 2 단계; 미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 제 3 단계; 시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 제 4 단계 ; 및 상기 제 4 단계에서 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 제 5 단계; 를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
이하, 첨부된 도면을 참조하면서 본 발명의 일 실시예에 따른 시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법을 보다 상세하게 설명하기로 한다.
본 발명의 특징은 시간 간격 데이터에서 다양한 시간관계 지식의 추출을 통해 시간 간격을 갖는 구매 데이터의 구매 패턴과 환자 병적 관리 측면에서 병의 발생 관련에 적용할 수 있는 유용한 지식 탐사가 가능하다.
예를 들어, 기존 데이터마이닝 기법들이 단순히 'A 증세를 보이는 환자는 다음에 B 증세를 보인다'라는 지식을 추출하는데 비해, 본 발명은 시간 간격을 고려하여 'A 증세를 겪고 있는 동안 B 증세가 나타난다'와 같은 유용한 시간 지식(Temporal Knowledge)을 탐사할 수 있는 시간 데이터마이닝 기법이다.
또한, 시간 시점 데이터를 시간 간격 데이터로 변환하는 방법 측면에서 시간 지속성을 갖는 사건을 검출하기 위해, 사건에 대한 시간 지지도를 이용하며, 이때, 시간 지지도는 전체 트랜잭션에 대해 각 윈도우 세그먼트에서 발생한 해당 사건 비율을 계산하여 변환하는 것을 특징으로 한다.
시간 간격을 가진 데이터에 대해 시간 관계를 발견하기 위해 Allen이 제시한 시간 연산자를 응용하여 시간 간격 시작 시점과 종료 시점을 비교하여 각 시간 간격 사건에 대한 관계를 발견한 것이 특징이다. 이 과정에서 각 사건에 대해 중복된 관련성을 발견을 줄이기 위해 사건의 시간 관련성이 지지도 이상을 만족하는 사건에 한정한다.
또한, 중복 시간 사건과 빈발 사건을 효율적으로 검색 적용하기 위해 동적인 그래프 구조의 저장 구조를 사용하였다. 지식 표현의 측면에서 일반 문자 표현과 시각적 표현을 위해 방향성을 갖는 그래프로 표현함으로써, 지식의 이해와 적용 측면에서 효과를 얻을 수 있는 것을 특징으로 한다.
본 발명은 먼저 이론적인 근거를 제시하기 위하여 관련 용어 및 알고리즘을 수학적으로 정의한 후, 도 1과 도 2를 참조하여 전체적인 수행과정과 도 3, 4, 5를 참조하여 전체 알고리즘 수행 과정을 상세히 설명한다.
1. 용어 정의
발생 시간을 가진 사건 e를 e = (E, t)라고 정의한다. E는 사건 종류, t는 e가 발생한 시점이다. 발생 시간에 따라 정렬된 사건 시퀀스를 S = <e1, e2, ..., en>이라고 정의한다. 단, ei= (Ei, ti)이고, {ti≤ ti+1, i = 1, 2, ..., (n-1))이다. 처음 사건 e1과 마지막 사건 en사이의 기간(Period)을 [t1, tn]이라고 표현한다. 또한, 시간 간격을 가진 사건을 e' = (E, vs, ve)라고 정의한다. 이때, vs는 시간 간격 시작점, ve는 시간 간격 종료점이고, 각각 e'.vs, e'.ve라고 표현한다.
또한, 시간 간격에 따라 정렬된 사건 시퀀스를 S' = <e1', e2', ..., en'>라고 정의한다. 단, ej' = (Ej, vsj, vej)이고, (vej≤ vsj+1, j = 1, 2, ..., (n-1))이다.
정리 3.1 : 임의의 시간 단위 U(Time Granularity), 기준 시점 V가 주어졌을 때, S는 시간 간격을 가진 시퀀스 S' = <((E1, vs1, ve1), (E2, vs2, ve2), ..., (En, vsn, ven)>으로 변환된다. 단, (vei≤ vsi+1, i = 1, 2, ..., (n-1))이고, vsi, vei는 정수이다. 또한, S'의 기간을 [vs1, ven]이라 정의하고, 이는 [1, m]으로 변환할 수 있다. 이때, m은 임의의 정수이고, (m ≥ 1)이다.
예를 들어 t를 2000년 10월 5일, U를 월, V를 2000년 1월 1일이라고 가정하면, f(2000/10/5, month, 2000/1/1) = 10이 된다. 즉, t는 시간 간격 10월 1일과 10월 31일 사이에 속하며, U가 월이므로, 10월로 변환된 후, V가 2000년 1월이므로 V를 기준으로 10번째 달로 인식되어 10이 계산된다.
정의 3.1 : 임의의 시간 간격을 가진 사건 집합은 IE = {e1', e2', ..., en'}이고, ej' = (Ej, vsj, vej), (j = 1, 2, ..., n)이다. 사건 ej'의 시간 간격 시작점을 ej'.vs, 종료점을 ej'.ve라고 표현한다.
이때 사건 관계 Ω + {(x, y) │ x, y ∈ IE, x ≠ y}에 포함되는 임의의 사건 조합 (x, y)는 이항 시간 관계(Binary Temporal Relationship) R(x, y)를 가진다. 단, x와 y 는 서로 다른 사건이다. R(x, y)는 Allen이 제안한 시간 간격 연산자를 참조하여 아래의 정의 3.2와 같이 정의한다.
정의 3.2 : 시간 관계 R(x, y) = {P(x, y) | P ∈ IO}, ∀(x, y) ∈ Ω이다.
시간 간격 연산자의 집합은 IO = {before, equal, meets, overlaps, during}이고, P(x, y)는 x, y 간의 시간 관계를 표현하는 이진 술어(Predicate)이다. R(x, y)는 다음과 같이 수학적으로 표현할 수 있다.
before(x, y) ≡ x.ve < y.vs
equal(x, y) ≡ (x.vs = y.vs) ∧ (x.ve = y.ve)
meets(x, y) ≡ x.ve = y.vs
overlap(x, y) ≡ (x.vs < y.vs) ∧ (x.ve > y.vs)
during(x, y) ≡ (x.vs > y.vs) ∧ (x.ve < y.ve)
예를 들어, before(x, y)는 사건 y의 발생 기간 이전에 사건 x가 발생하고, equal(x, y)는 같은 기간 동안에 x와 y가 발생하며, meets(x, y)는 x의 발생 기간이 끝난 직후에 y가 발생하고, overlap(x, y)는 x의 발생이 시작된 후, 끝나기 전에 y가 발생하며, during(x, y)는 y의 발생 기간 동안 x가 발생한 경우를 말한다.
트랜잭션들로 구성된 데이터베이스를 D라고 할 때, 각각의 트랜잭션은 고객ID, 트랜잭션이 발생한 시점, 사건 종류 집합으로 구성되며, 같은 시점에 두개 이상의 트랜잭션이 발생하는 고객은 없다고 가정한다.
데이터베이스 스키마는 {Cid, Ttime, {E1, E2, ..., En}}으로 표현되고, Cid는 고객 ID, Ttime은 트랜잭션 발생 시점, E는 사건 종류이다. 사건 종류의 예로는 환자의 증상, 구매 상품, 방문한 웹 페이지 등이 있다. 데이터베이스 D의 트랜잭션 집합은 Cid와 Ttime을 기준으로 오름차순으로 정렬되어 있다고 가정한다. 임의의 고객 Cid의 트랜잭션 집합을 사건 시퀀스 S(Cid) = <e1, e2, ..., en>이라고 정의한다. 단, S(Cid) = <(E1, t1), (E2, t2), ..., (En, tn)>, ti≤ ti+1, i = 1, 2, ..., (n-1)이다. 이때, S(Cid)에 포함된 임의의 사건종류 Ei에 대하여 시점이 다른 동일한 사건 집합 {(Ei, t1), (Ei, t2), ..., (Ei, tm)이 발생할 수 있다. 단, tj≤ tj+1, j = 1, 2, ..., (m-1)이다. 예를 들어 환자 C1은 증상 E1이라는 사건 종류를 다른 시점에 여러 번 경험(사건)한다.
시간 간격 일반화는 E1과 같이 다른 시점을 가진 연속된 여러 동일 사건들이 발생할 경우, 이를 시간 간격을 가진 한 사건으로 요약하는 작업을 말한다. 또한,다른 시간 간격을 가진 동일 사건들이 발생할 경우에도 이를 요약할 수 있다. 시간 간격 일반화를 통해 데이터베이스 D로부터 시간 간격 데이터를 생성하고, 효과적으로 D를 요약할 수 있다. 데이터베이스 D에 있는 모든 고객의 집합을 아래의 정의 3.3과 같이 정의한다.
정의 3.3 : 데이터베이스 D에 있는 고객 C = {C1, C2, ..., Cn}이고, 이때의 사건 시퀀스 S(C) = {S(C1), S(C2), ..., S(Cn)}이다.
여기서 임의의 시퀀스 S(Cid)에 포함된 모든 사건 종류를 후보 사건 종류(Candidate Event Type)라고 부른다. 만일, S(Cid)에서 임의의 후보 사건 종류 Ei가 발생한다면 Ei를 발생시킨 고객 Cid는 사건 종류 Ei를 지지한다고 한다. Cid에 속한 여러 트랜잭션들에서 Ei가 여러 번 발생하였더라도 한 번 발생한 것으로 간주한다.
Ei의 지지도(Support)를 Supp(Ei)라고 하고, 이는 D에서 Ei를 지지하는 전체 고객의 수이다. 만일, 사용자가 지정한 최소 지지도 Suppmin에 대해 Supp(Ei) ≥ Suppmin이라면, Ei를 빈발 사건 종류(Large Event Type), Ei를 가진 사건 ei를 빈발 사건(Large Event)이라고 부른다. Suppmin은 전체 고객 수에 대한 지지 고객 수의 비율이다. 예를 들어, 500명의 고객이 있고, Suppmin이 40 %, Supp(Ei)가 200이면,Ei는 빈발 사건 종류이다. D로부터 빈발 사건 종류 집합 LE = {E1, E2, ..., Em}을 구할 수 있다.
앞의 정의에 의해, Cid와 상관없이 데이터베이스 D의 모든 빈발 사건을 발생 시간에 따라 정렬한 사건 시퀀스를 S = <e1, e2, ..., en>이라고 정의한다. 단, ei= (Ei, ti), ti≤ ti+1, i = 1, 2, ..., (n-1)이고, Ei∈ LE이다.
상기 정리 3.1에 의해, S는 시간 단위 U, 기준 시점 V가 주어졌을 때, 시간 간격을 가진 사건 시퀀스 S' = <(E1, vs1, ve1), (E2, vs2, ve2), ..., (En, vsn, ven)>으로 변환된다. 단, vsi, vei는 정수이고, vei≤ vsi+1이다. S'의 기간 [1, m]은 D에서 최초의 빈발 사건이 발생한 시간부터 마지막 빈발 사건이 발생한 시간까지의 전체 기간을 의미한다.
사용자가 지정한 시간 윈도우 크기를 w, w의 크기를 가진 임의의 윈도우를 W라고 정의한다. 단, w는 정수 값이고 w ≥ vei- vsi, i = 1, 2, ..., n이다. 이때, S'의 윈도우 개수 주은 [1, m] / w의 반올림 값이 되고, 윈도우 시퀀스 W1, W2, ..., Wwn이 존재한다.
만일, S'에 속한 임의의 윈도우 W1안에서 빈발 사건 종류 Ei가 존재하면, W1에서 Ei가 발생하였다고 말한다. Ei의 발생도를 Freq(Ei)라고 정의하고, 이는 S' 내에 있는 윈도우 시퀀스 W1, W2, ..., Wwn에 대해 Ei가 발생한 윈도우의 수이다. 윈도우 내에서 Ei가 여러 번 발생하더라도, Ei는 한번만 발생한 것으로 간주한다.
만일, 사용자가 지정한 최소 발생도 Freqmin에 대해 Freq(Ei) ≥ Freqmin이면, Ei는 S'의 기간 [1, m]에서 균등하게 발생한다고 정의하며, Ei를 균등 사건 종류(Uniform Event Type)라고 부른다. 예를 들어, Ei의 수명 [1, 50] 사이에 윈도우 크기 5를 가진 10개의 윈도우가 존재하고, Freqmin이 50 %, Freq(E1)이 6이면, E1은 균등 사건 종류이다. 사건 시퀀스 S'로부터 균등 사건 종류 집합 UE = {E1, E2, ..., El}을 구할 수 있다.
모든 균등 사건 종류는 빈발 사건 종류이나, 모든 빈발 사건종류가 균등 사건 종류는 아니다.
정의 3.4 : 임의의 고객 Cid의 사건 시퀀스는 S(Cid) = <e1, e2, ..., en>이다. 단, S(Cid) = <(E1, t1), (E2, t2), ..., (En, tn)>, ti≤ ti+1, i = 1, 2, ..., (n-1)이고, Ei∈ UE이다. 또한, S(Cid)는 S의 부분 집합이다.
S(Cid)는 상기 정리 3.1에 의해, S'(Cid) = <((E1, vs1, ve1), (E2, vs2, ve2), ..., (En, vsn, ven)>으로 변환된다. 단, vei≤ vsi+1, i = 1, 2, ..., (n-1)이다.
S'(Cid)는 기간 [vs1, ven]을 가지며, S'의 기간 [1, m]에 포함된다.
[vs1, ven]은 고객 Cid의 트랜잭션 집합에서 최초의 사건 e1'가 발생한 시간부터 마지막 사건 en'가 발생한 시간까지의 기간을 의미한다.
S'(Cid)에 존재하는 임의의 균등 사건 종류 Ej에 대하여 시간 간격이 다른 동일한 사건 시퀀스 S"(Ej) = <(Ej, vsk, vek), (Ej, vsk+1, vek+1), ..., (Ej, vsm, vem)>이 존재한다고 가정한다. 단, vei≤ vevsi+1, i = k, (k+1), ..., (m-1)이다. 이때, S"(Ej)의 기간 [vsk, vem]은 S'(Cid)의 기간 [vs1, ven]에 포함되며, vsk, vem은 정수 값을 가진다.
정리 3.2 : 임의의 고객 Cid에 의해 발생한 균등 사건 종류 Ej의 시퀀스 S"(Ej)는 기간 [vsk, vem]을 가지는 한 사건 (Ej, vsk, vem)으로 요약하여 일반화할 수 있다.
예를 들면, 고객 C1이 상품 A를 1월, 4월, 7월에 구매하고, 시간 단위가 월, 윈도우 크기가 분기이면, 4분기 중 3분기를 구매하였으므로, Freq(A)는 3이다. 만일, Freqmin이 50 %이면, A는 균등 사건 종류이므로, 상품 A를 1월부터 7월까지 구매하였다고 간주하고, [A, 1, 7]로 요약한다.
데이터베이스 D의 균등 사건 종류 집합 UE를 이용하여 일반화된 데이터베이스를 ND라고 부른다. 상기 정의 3.3에 따라, ND의 모든 고객 집합을 {C1, C2, ..., Cn}이라고 하면, ND는 사건 시퀀스의 집합 {S'(C1), S'(C2), ..., S'(Cn)}으로 구성된다. 그리고, 상기 정의 3.4에서 기술한 임의의 사건 시퀀스 S'(Cid)를 구성하는 사건 집합을 IE(Cid) = {e1', e2', ..., em'}이라고 정의한다. 단, ei' = (Ei, vsi, vei), i = 1, 2, ..., m이고, Ei∈ UE이다.
정의 3.5 : 사건 시퀀스 S"(Cid)에 대해 Ω = {(x, y) │ x, y ∈ IE(Cid), x ≠ y}라고 하면, 상기 정의 3.2에 의해서, 임의의 사건 조합 (x, y)는 이항 시간 관계 R(x, y) = {P(x, y) | P ∈ IO}, ∀(x, y) ∈ Ω를 가진다. 이때, R(x, y)를 후보 시간 관계(Candidate Temporal Relationship)라고 부른다.
예를 들어, 고객 C1의 사건 집합 IE(C1) = {e1', e2', e3'}에 대해 후보 시간관계의 집합 {before(e1', e2'), overlap(e2', e3'), before(e1', e3')}가 발생한다. 데이터베이스 ND로부터 모든 후보 시간 관계의 집합 CR = {R1(x, y), R2(x, y), ..., Rk(x,y)}를 구할 수 있다.
고객 Cid의 후보 시간 관계 집합을 Cid의 고객 시간 관계(Customer Temporal Relationship), CR(Cid)라고 부른다. 만일, 고객 시간 관계 CR(Cid)가 임의의 후보시간 관계 R1(x, y)를 포함하고 있다면, 고객 Cid는 R1(x, y)를 지지한다고 한다. Cid에 속한 여러 트랜잭션들에서 R1(x, y)가 여러 번 발생하였더라도, 한 번 발생한 것으로 간주한다. R1(x, y)의 지지도를 Supp(R1)이라고 정의하고, 이는 데이터베이스 D에서 R1(x, y)를 지지하는 고객들의 수이다. 만일, 사용자가 지정한 최소 지지도 Suppmin에 대해 Supp(R1) ≥ Suppmin이면, R1(x, y)를 빈발 시간 관계(Frequent Temporal Relationship)라고 부른다.
예를 들어, 500명의 고객이 있고 Suppmin이 30 %, Supp(R1)이 100이면, R1(x, y)는 빈발 시간 관계이다. 후보 시간 관계 집합 CR로부터 빈발 시간 관계 집합 FR = {R1(x, y), R2(x, y), ..., Rz(x, y)}를 구할 수 있다.
정리 3.3 : 임의의 빈발 시간관계 Ri(x, y)를 구성하는 모든 사건 x, y는 빈발 사건이다. 이 정리를 통해 빈발 시간 관계를 구하기 위해서는 반드시 빈발 사건 종류를 먼저 구해야 함을 알 수 있다.
임의의 사건 집합 {e1', e2', e3'}에서 발생한 빈발 시간 관계 집합을{R1(e1', e2'), R2(e2', e3'), R3(e1', e3')}라고 정의한다.
정의 3.6 : 시간 관계 규칙 TR은 다음과 같이 정의된다.
TR(e1', e2', e3') = R1(e1', e2') | Supp(R1) ∧ R2(e2', e3') | Supp(R2) ∧ R3(e1', e3') | Supp(R3)이다. 즉, 시간 관계 규칙은 임의의 사건 집합으로부터 발생한 빈발 시간 관계의 연결로 표현할 수 있다.
예를 들어, 빈발 시간 관계 집합을 {before(e1', e2'), overlap(e2', e3'), before(e1', e3')}라고 가정하면, 시간 관계 규칙 TR(e1', e2', e3') = before(e1', e2') | Supp(R1) ∧ overlap(e2', e3') | Supp(R2) ∧ before(e1', e3') | Supp(R3) 가 된다. 결론적으로, 데이터베이스 D로부터 모든 시간 관계 규칙의 집합 {TR1, TR2, ..., TRn}을 구할 수 있다.
2. 알고리즘 정의
용어 정의에 의거하여, 시간 관계 규칙을 탐사하는 알고리즘은 다음과 같은 절차로 수행된다.
입력 데이터 : 발생 시점을 가진 트랜잭션들로 구성된 데이터베이스 D, D의 스키마는 {Cid, Ttime, {E1, E2, ..., En}}
출력 결과 : 상기 정의 3.2 및 정의 3.6에 의해, 정의된 시간 관계 규칙 집합 {TR1, TR2, ..., TRn}
단계 1 : 상기 정리 3.3에 의해, 우선 데이터베이스 D로부터 사용자가 지정한 최소 지지도 Suppmin을 가지는 빈발 사건 종류 집합 LE = {E1, E2, ..., Em}을 구함.
단계 2 : 상기 정리 3.1에 의해, 시간 단위 U와 기준 시점 V가 주어졌을 때, 데이터베이스 D에서 LE를 가지는 트랜잭션만을 가지고, 시간 간격을 가진 사건 시퀀스 S' = <(E1, vs1, ve1), (E2, vs2, ve2), ..., (En, vsn, ven)>를 생성.
단계 3 : 시간 관계 일반화에 의해, S'로부터, 사용자가 지정한 윈도우 크기 w에 대해, 최소 발생도 Freqmin이상을 가지는 균등 사건 종류 집합 UE = {E1, E2, ..., El}을 구함.
단계 4 : 상기 정리 3.2에 의해, UE를 가지고, 사건 시퀀스 S'를 요약하여 일반화된 데이터베이스 ND를 생성.
단계 5 : 상기 정의 3.5, 정리 3.3에 의해, ND로부터 모든 후보 시간 관계 집합 CR = {R1(x, y), R2(x, y), ..., Rk(x, y)}를 구함.
단계 6 : 시간 관계 규칙에 의해, CR로부터 사용자가 지정한 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR = {R1(x, y), R2(x, y), ..., Rz(x, y)}를 구함.
단계 7 : 상기 정의 3.6에 의해, FR로부터 시간 관계 규칙 {TR1, TR2, ..., TRn}을 구함.
이러한 알고리즘은 전처리 알고리즘과 규칙 탐사 알고리즘으로 구성된다. 전처리는 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성하는 과정으로 발생 시점을 가진 시간 데이터를 시간간격 데이터로 요약하여 일반화한다. 전처리 알고리즘은 단계1부터 단계 4에 해당한다. 규칙 탐사는 시간 간격 데이터로부터 빈발 시간 관계를 구하여 시간 관계 규칙을 생성하는 과정이다. 규칙 탐사 알고리즘은 단계5부터 단계 7에 해당한다.
도 1은 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사 시스템의 개략적인 구성도이고, 도 2는 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사의 세부 처리 과정을 나타낸 도면이며, 도 3은 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사의 전처리 과정을 개략적으로 나타낸 도면이고, 도 4는 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사의 후처리 과정을 개략적으로 나타낸 도면이다.
도 3의 301은 발생 시점을 가진 트랜잭션들로 구성된 데이터베이스로써, 트랜잭션은 고객 ID, 트랜잭션 시간, 사건 종류 집합으로 구성된다. 도 3의 301은 전처리 과정을 거쳐, 도4의 401과 같은 시간 간격 데이터베이스로 변환된 후, 도 4의 401로부터 도 4의 404와 같은 시간 관계 규칙이 생성된다.
3. 전처리 알고리즘
1) 정렬 단계(도 1의 103) : 이 단계는 입력 데이터베이스를 도 3과 같이 고객 ID와 트랜잭션 시간으로 정렬한다. 도 3의 301은 각 고객별, 트랜잭션 시간별로 정렬되어 있는 데이터베이스 D이다. 각 트랜잭션에는 월 단위로 발생한 사건 종류가 저장된다.
2) 빈발 사건 종류 생성 단계(LE Phase, 104) : 이 단계는 알고리즘의 단계 1에 해당하며, 데이터베이스 D로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합, LE를 찾는다. 연관 규칙 탐사에서는 항목의 지지도를 항목이 존재하는 트랜잭션의 비율로서 결정하였지만, 본 실시예에서는 순차 패턴에서와 같이 사건 종류가 발생한 고객 비율로서, 지지도를 결정한다. 사건 사이의 시간 관계를 찾는 문제는 전체 고객 관점에서 이루어져야 하기 때문이다. 도 3의 302는 D 로부터 생성된 후보 사건 종류 집합, CD = {A, B, C, D, E, F, G}이며, 도 3의 303은 CE로부터 Suppmin75 % 이상을 만족하는 빈발 사건 종류 집합, LE = {B, C, D, E}이다. 즉, 데이터베이스 D의 전체 고객 4명 중에서 3명 이상이 LE를 포함한다.
3) 일반화 단계(Generalization Phase)
이 단계는 알고리즘의 단계 2 부터 단계 4에 해당하며, 도 3의 303에서 빈발 사건 종류 집합 LE를 이용하여 도 3의 301의 데이터베이스 D로부터 도 4의 401의 시간 간격 데이터베이스를 생성한다.
시간 간격 데이터로 변환하는데 있어 해결해야 할 문제는 다른 트랜잭션 시간에 발생한 동일한 여러 사건, 즉 같은 빈발 사건 종류를 가진 사건들을 시간 간격을 가진 한 사건으로 요약하여 일반화하는 문제이다. 이를 위해서는 요약을 위한 명확한 기준이 필요하며, 시간 지지도(Time Support) 개념을 제안하였다. 시간 지지도란 다음과 같이 정의된다.
임의의 사건 종류 E1에 대하여 시점이 다른 동일한 사건 집합 {(E1, t1), (E1, t2), ..., (E1, tm)이 발생한다고 정의한다. 단, tj≤ tj+1, j = 1, 2, ..., (m-1)이다.
이때 최초의 사건 (E1, t1)이 발생한 시간부터 마지막 사건 (E1, tm)이 발생한 시간까지의 기간 [t1, tm]을 E1의 수명(Lifespan)이라고 부른다. 시간 지지도는 수명 [t1, tm] 내에서 E1이 발생한 횟수이다. 사용자가 지정한 최소 시간 지지도를 만족하는 E1은 기간 [t1, tm] 내에서 지속적으로 발생한다고 간주하여, 한 사건 (E1, t1, tm)으로 요약할 수 있다. 예를 들어 E1의 수명을 [1, 6]이라 하고, 최소 시간 지지도를 50 %, E1의 시간 지지도가 3이라 하면, E1은 (E1, 1, 6)으로 요약된다.
그러나 이 방법은 사건 E1이 [t1, tm] 사이의 특정 시간대에만 집중적으로 발생하고, 꾸준히 지속적으로 발생하지 않더라도 요약되는 문제점을 가진다. 본 실시에에서는 시간 지지도의 문제점을 해결하기 위하여 다음과 같은 방법을 제안한다.
먼저, 알고리즘의 단계 2를 수행하여 시간 단위 U와 기준 시점 V가 사용자에의해 지정되었을 때, 도 3의 301의 데이터베이스 D를 시간 간격을 가진 사건 시퀀스 S'로 변환한다. 단, S'는 LE만을 포함한다. 상기 정리 3.1에 의해 시간 단위 U를 월, 기준 시점 V를 99년 1월로 주면 S'는 도 3의 305로 표현된다. D의 트랜잭션 시간은 1부터 12까지의 정수값으로 변환되고, 각 사건은 정수 시간 간격을 가진다.
예를 들어. {B, D, E}의 시간 간격은 [1, 1]이다. 알고리즘 의 단계 3을 수행하여, 도 3의 305에 의하여, 사건 시퀀스 S'로부터 사용자가 지정한 시간 윈도우 크기 w에 대해, Freqmin이상을 가지는 균등 사건 종류 집합 UE = {B, C, E}를 구한다. 도 3의 308은 윈도우 크기 2에 대해 Freqmin33 % 이상을 가지는 UE이다.
S'는 LE만을 포함하므로, LE의 일부만이 UE가 된다.
상기 정리 3.2에 의해, 균등 사건 종류 UE를 가지고, 사건 시퀀스 S'를 요약하여 일반화할 수 있다. 따라서, 알고리즘의 단계 4를 수행하여 도 3의 305에 사건 시퀀스 S'를 도 4의 401과 같은 시간 간격 데이터베이스 ND로 변환한다.
ND는 사건 종류 UE를 가진 시간 간격 사건의 집합으로 구성된다.
이러한 방법을 통해 특정 시간대에만 집중적으로 발생하는 사건을 가지 치기하여 지속적으로 균등하게 발생하는 사건만을 일반화한다. 단, 요약은 같은 고객의 트랜잭션들 내에서만 가능하다.
4. 규칙 탐사 알고리즘
상술한 전처리 과정을 거쳐 생성된 시간 간격 데이터베이스 ND로부터 빈발 시간 관계 집합 FR을 구하여 시간 관계 규칙을 생성하는 알고리즘이다.
1) 시간 관계 생성 단계(Temporal Relationship Phase) : 이 단계는 알고리즘의 단계 5에 해당하며, 도 4의 401은 ND로부터 후보 시간 관계 집합CR = {R1(B, C), R2(C, E), ..., Rk(B, E)}를 구한다.
도 4의 402는 ND로부터 구해진 CR로서, 트리 형태로 표현된다. 노드는 사건종류, 연결선은 두 사건 사이의 시간 관계, 리프 노드(사각형)는 시간 관계의 지지도를 나타낸다. 여기서 구해진 후보 시간 관계는 Before(B, C), during(C, E), overlap(C, E), overlap(B, E), during(B, E)이다.
시간 관계 지지도는 데이터베이스 ND내에서 시간 관계가 발생한 고객의 수 이다.
트리 생성 방법은 다음과 같다. ND의 사건을 스캔하면서 기존 시간 관계가 존재하면 지지도를 증가하고, 새로운 시간 관계가 존재하면, 노드와 연결선을 추가하면서 동적으로 생성한다.
2) 규칙 생성 단계(Rule Generation Phase) : 이 단계는 알고리즘의 단계 6부터 단계 7에 해당하며, 도 4의 402에 CR 트리로부터 사용자가 지정한 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR = {R1(x, y), R2(x, y), ..., Rz(x, y)}를 구한 후, FR로부터 시간 관계 규칙 {TR1, TR2, ..., TRn}을 생성한다.
도 4는 Suppmin이 50 %일때, 도 5로부터 구해진 FR과 TR(B, C, E)이다.
FR은 before(B, c), during(C, E), overlap(B, E)이다. 상기 정의 3.6에 의해 TR(B, C, E)는 FR의 연결 조합인 before(B, C) | 0.75 ∧ overlap(B, E) | 0.5의 형태로 생성된다. 이는 도 4에서 DAG(Directed Acyclic Graph) 형태로 표현할 수 있다. 노드는 사건 종류, 연결선은 두 사건 사이에 발생한 빈발 시간 관계를 나타낸다. DAG을 통해 시간 관계 규칙을 보다 쉽게 이해할 수 있다.
지금까지 시간 관계 규칙 탐사 기법을 전처리 알고리즘과 규칙 탐사 알고리즘으로 구분하여 단계별로 예를 들어 설명하였다.
도 5는 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사 알고리즘을 원시 코드로 기술한 도면이고, 도 6은 본 발명의 일 실시예에 따른 시간 관계 규칙 탐사 알고리즘을 실제적으로 적용하였을 때, 그 결과값을 보여 주는 도면이다.
알고리즘에서 도 3의 사건 시퀀스는 트랜잭션 시간을 키로 하는 해쉬 테이블에 저장된다. 해쉬 테이블을 이용하여 동일한 시간을 가지는 사건들을 효율적으로 검색할 수 있다. 또한, 도 4의 후보 시간 관계 트리도 시간 관계를 키로 하는 해쉬 트리로 구현된다. 해쉬 트리를 이용하여 시간 관계를 효율적으로 검색, 생성할 수 있다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술 사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호 범위는 첨부된 청구 범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 의하면, 첫째, 시간 간격 데이터로부터 기존 알고리즘에서 찾지 못하는 유용한 시간 규칙을 탐사할 수 있는 효과가 있다. 예를 들어, 도 4에 도시된 시간 관계 규칙은 다음과 같이 여러 분야에서 활용될 수 있다. 데이터베이스 D를 상품 판매 데이터라고 하면, 상품 B를 구매한 소비자의 75 %는 이후 상품 C를 구매하고, 상품 E를 구매한 소비자의 75 %는 상품 E를 구매하는 동안 상품 C를 구매하고, 상품 B를 구매한 소비자의 50 %는 B의 구매 기간이 끝나기 전에 상품 E를 중복하여 구매한다는 경향을 알 수 있다. 이러한 경향은 순차 패턴과 같은 기존의 방법에서는 찾을 수 없다. 따라서, 전자 상거래에서의 고객 마케팅, 교차 상품 판매 등에 유용하게 활용할 수 있다.
또한, 데이터베이스 D를 환자 병력 데이터라고 하면, 질병 B가 발생한 환자의 75 %는 이후 질병 C가 발생하고, 질병 E가 발생하는 동안 질병 C가 발생할 확률은 75 %이다. 또한, 질병 B 및 C가 50 %의 확률로 중복되어 발생할 가능성이 있음을 알 수 있다. 따라서, 환자의 질병 기간에 따라 다른 질병의 발생을 예측할 수있어, 사전 검사 권유 등에 활용할 수 있다. 이외에도 이력 데이터가 발생되는 여러 분야에서 지식 탐사를 위하여 활용할 수 있다.
둘째, 시간 데이터베이스로부터 시간 관계 규칙을 효율적으로 탐사할 수 있다. 데이터베이스로부터 시간 관계 규칙을 탐사하는 비용은 매우 크다. 예를 들어 도 3의 데이터베이스 D가 n 개의 사건을 가지고 있으며, 시간 간격 연산자의 수가 m이라고 할 때, 발생될 수 있는 사건 쌍을 순차적으로 비교하여 시간 관계를 찾는 알고리즘을 이용할 경우, 시간 복잡도(Time Complexity0는 O(N2)이 된다. 그러나, 본 발명에서는 O(N2)의 시간 복잡도를 개선하기 위하여 도 5와 같은 시간 관계 탐사 알고리즘을 제안하여 개선된 성능의 결과를 얻을 수 있었다.

Claims (49)

  1. 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템에 있어서,
    입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 정렬부;
    상기 정렬부에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 빈발 사건 종류 생성부;
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 일반화부;
    를 포함하여 이루어진 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템.
  2. 제 1 항에 있어서,
    상기 빈발 사건 종류 생성부는,
    순차 패턴에서와 같이 사건 종류가 발생한 고객 비율로서 지지도(Support)를결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템.
  3. 제 1 항에 있어서,
    상기 트랜잭션은 고객 ID, 트랜잭션이 발생한 시점 및 사건 종류 집합을 포함하여 이루어진 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템.
  4. 제 1 항에 있어서,
    상기 일반화부는,
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하는 것은 아래의 [식 1]에 의하여 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템.
    [식 1]
    S' = <((E1, vs1, ve1), (E2, vs2, ve2), ..., (En, vsn, ven)>
    이때, E는 사건 종류이고, vs는 시간 간격 시작점이며, ve는 시간 간격 종료점이고, vei≤ vsi+1, i = 1, 2, ..., (n-1)이며, vsi, vei는 정수이다.
  5. 제 1 항에 있어서,
    상기 일반화부는,
    상기 UE는 아래의 [식 2]에 의하여 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템.
    [식 2]
    Freq(Ei) ≥ Freqmin일 때의 Ei들의 집합을 UE로 결정.
    여기서, Ei는 빈발 사건 종류이고, Freq(Ei)는 Ei의 발생도이다.
  6. 제 1 항에 있어서,
    상기 일반화부는,
    상기 S"는 [vsk, vem]을 가지는 한 사건 (Ej, vsk, vem)을 요약하여 일반화하여 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템.
    여기서, vs는 시간 간격 시작점이고, ve는 시간 간격 종료점이며, Ej는 임의의 균등 사건 종류이고, [vsk, vem]은 임의의 균등 사건 종류 Ej가 가지는 시간 간격[vs1, ven]의 부분 집합이다.
  7. 제 6 항에 있어서,
    상기 일반화부는,
    상기 S"는 아래의 [식 3]에 의하여 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템.
    [식 3]
    S"(Ej) = <(Ej, vsk, vek), (Ej, vsk+1, vek+1), ..., (Ej, vsm, vem)>
  8. 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성한 후, 이를 이용하여 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템에 있어서,
    시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 시간 관계 생성부; 및
    상기 시간 관계 생성부에 의하여 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 규칙 생성부;
    를 포함하여 이루어진 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템.
  9. 제 8 항에 있어서,
    상기 시간 관계 생성부는,
    상기 CR 트리를 사건 종류, 두 사건 사이의 시간 관계, 시간 관계의 지지도를 이용하여 정렬하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템.
  10. 제 9 항에 있어서,
    시간 관계 지지도는 상기 시간 간격 데이터베이스 ND 내에서 시간 관계가 발생한 고객의 수를 이용하여 결정하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템.
  11. 제 8 항에 있어서,
    상기 시간 관계 생성부는,
    상기 CR을 아래의 [식 4]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템.
    [식 4]
    CR = {R1(x, y), R2(x, y), ..., Rk(x,y)}
    여기서, (x, y)는 임의의 사건 조합이고, R(x, y)는 후보 시간 관계이며, R은 Allen이 제시한 시간 연산자 before, during 및 overlap 중 어느 하나이다.
  12. 제 8 항 또는 제 11 항에 있어서,
    상기 규칙 생성부는,
    빈발 시간 관계 집합 FR은 아래의 [식 5]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템.
    [식 5]
    Supp(R) ≥ Suppmin일 때의, FR = {R1(x, y), R2(x, y), ..., Rz(x, y)}
    여기서, Supp(R)은 R(x, y)의 지지도로서, 상기 데이터베이스 ND에서 R(x,y)를 지지하는 고객들의 수이다.
  13. 제 12 항에 있어서,
    상기 규칙 생성부는,
    상기 TR은 아래의 [식 6]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 시스템.
    [식 6]
    TR(e1', e2', e3') = R1(e1', e2') | Supp(R1) ∧ R2(e2', e3') | Supp(R2) ∧ R3(e1', e3') | Supp(R3)
    여기서, (e1', e2', e3')은 임의의 사건 집합이고, 빈발 시간 관계 집합을{R1(e1', e2'), R2(e2', e3'), R3(e1', e3')}라고 정의한다.
  14. 입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 정렬부;
    상기 정렬부에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 빈발 사건 종류 생성부;
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 일반화부;
    시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 시간 관계 생성부 ; 및
    상기 시간 관계 생성부에 의하여 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 규칙 생성부;
    를 포함하여 이루어진 것을 특징으로 하는 시간 관계 규칙 탐사 시스템.
  15. 제 14 항에 있어서,
    상기 일반화부는,
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하는 것은 아래의 [식 7]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 시스템.
    [식 7]
    S' = <((E1, vs1, ve1), (E2, vs2, ve2), ..., (En, vsn, ven)>
    이때, E는 사건 종류이고, vs는 시간 간격 시작점이며, ve는 시간 간격 종료점이고, vei≤ vsi+1, i = 1, 2, ..., (n-1)이며, vsi, vei는 정수이다.
  16. 제 14 항에 있어서,
    상기 일반화부는,
    상기 UE는 아래의 [식 8]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 시스템.
    [식 8]
    Freq(Ei) ≥ Freqmin일 때의 Ei들의 집합을 UE로 결정.
    여기서, Ei는 빈발 사건 종류이고, Freq(Ei)는 Ei의 발생도이다.
  17. 제 14 항에 있어서,
    상기 일반화부는,
    상기 S"는 [vsk, vem]을 가지는 한 사건 (Ej, vsk, vem)을 요약하여 일반화하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 시스템.
    여기서, vs는 시간 간격 시작점이고, ve는 시간 간격 종료점이며, Ej는 임의의 균등 사건 종류이고, [vsk, vem]은 임의의 균등 사건 종류 Ej가 가지는 시간 간격[vs1, ven]의 부분 집합이다.
  18. 제 17 항에 있어서,
    상기 일반화부는,
    상기 S"는 아래의 [식 9]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 시스템.
    [식 9]
    S"(Ej) = <(Ej, vsk, vek), (Ej, vsk+1, vek+1), ..., (Ej, vsm, vem)>
  19. 제 14 항에 있어서,
    상기 시간 관계 생성부는,
    상기 CR을 아래의 [식 10]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 시스템.
    [식 10]
    CR = {R1(x, y), R2(x, y), ..., Rk(x,y)}
    여기서, (x, y)는 임의의 사건 조합이고, R(x, y)는 후보 시간 관계이며, R은 Allen이 제시한 시간 연산자 before, during 및 overlap 중 어느 하나이다.
  20. 제 14 항 또는 제 19 항에 있어서,
    상기 규칙 생성부는,
    빈발 시간 관계 집합 FR은 아래의 [식 11]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 시스템.
    [식 11]
    Supp(R) ≥ Suppmin일 때의, FR = {R1(x, y), R2(x, y), ..., Rz(x, y)}
    여기서, Supp(R)은 R(x, y)의 지지도로서, 상기 데이터베이스 ND에서 R(x, y)를 지지하는 고객들의 수이다.
  21. 제 20 항에 있어서,
    상기 규칙 생성부는,
    상기 TR은 아래의 [식 12]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 시스템.
    [식 12]
    TR(e1', e2', e3') = R1(e1', e2') | Supp(R1) ∧ R2(e2', e3') | Supp(R2) ∧ R3(e1', e3') | Supp(R3)
    여기서, (e1', e2', e3')은 임의의 사건 집합이고, 빈발 시간 관계 집합을{R1(e1', e2'), R2(e2', e3'), R3(e1', e3')}라고 정의한다.
  22. 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법에 있어서,
    입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 제 1 단계;
    상기 제 1 단계에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 제 2 단계; 및
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 제 3 단계;
    를 포함하여 이루어진 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법.
  23. 제 22 항에 있어서,
    상기 제 2 단계는,
    순차 패턴에서와 같이 사건 종류가 발생한 고객 비율로서 지지도(Support)를 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법.
  24. 제 22 항에 있어서,
    상기 트랜잭션은 고객 ID, 트랜잭션이 발생한 시점 및 사건 종류 집합을 포함하여 이루어진 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법.
  25. 제 22 항에 있어서,
    상기 제 3 단계는,
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하는 것은 아래의 [식 1]에 의하여 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법.
    [식 13]
    S' = <((E1, vs1, ve1), (E2, vs2, ve2), ..., (En, vsn, ven)>
    이때, E는 사건 종류이고, vs는 시간 간격 시작점이며, ve는 시간 간격 종료점이고, vei≤ vsi+1, i = 1, 2, ..., (n-1)이며, vsi, vei는 정수이다.
  26. 제 22 항에 있어서,
    상기 제 3 단계는,
    상기 S'는 트랜잭션 시간을 키로 하는 해쉬 테이블에 저장하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법.
  27. 제 22 항에 있어서,
    상기 제 3 단계는,
    상기 UE는 아래의 [식 14]에 의하여 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법.
    [식 14]
    Freq(Ei) ≥ Freqmin일 때의 Ei들의 집합을 UE로 결정.
    여기서, Ei는 빈발 사건 종류이고, Freq(Ei)는 Ei의 발생도이다.
  28. 제 22 항에 있어서,
    상기 제 3 단계는,
    상기 S"는 [vsk, vem]을 가지는 한 사건 (Ej, vsk, vem)을 요약하여 일반화하여 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법.
    여기서, vs는 시간 간격 시작점이고, ve는 시간 간격 종료점이며, Ej는 임의의 균등 사건 종류이고, [vsk, vem]은 임의의 균등 사건 종류 Ej가 가지는 시간 간격[vs1, ven]의 부분 집합이다.
  29. 제 28 항에 있어서,
    상기 제 3 단계는,
    상기 S"는 아래의 [식 15]에 의하여 결정하는 것을 특징으로 하는 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 시스템.
    [식 15]
    S"(Ej) = <(Ej, vsk, vek), (Ej, vsk+1, vek+1), ..., (Ej, vsm, vem)>
  30. 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성한 후, 이를 이용하여 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법에 있어서,
    시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 제 1 단계 ; 및
    상기 제 1 단계에서 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 제 2 단계;
    를 포함하여 이루어진 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법.
  31. 제 30 항에 있어서,
    상기 제 1 단계는,
    상기 CR 트리를 사건 종류, 두 사건 사이의 시간 관계, 시간 관계의 지지도를 이용하여 정렬하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법.
  32. 제 30 항에 있어서,
    상기 제 1 단계는,
    상기 CR 트리를 시간 관계를 키로 하는 해쉬 트리로 구현하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법.
  33. 제 30 항에 있어서,
    시간 관계 지지도는 상기 시간 간격 데이터베이스 ND 내에서 시간 관계가 발생한 고객의 수를 이용하여 결정하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법.
  34. 제 30 항에 있어서,
    상기 제 1 단계는,
    상기 CR을 아래의 [식 16]에 의하여 결정하는 것을 특징으로 하는 시간 관계규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법.
    [식 16]
    CR = {R1(x, y), R2(x, y), ..., Rk(x,y)}
    여기서, (x, y)는 임의의 사건 조합이고, R(x, y)는 후보 시간 관계이며, R은 Allen이 제시한 시간 연산자 before, during 및 overlap 중 어느 하나이다.
  35. 제 30 항 또는 제 34 항에 있어서,
    상기 제 2 단계는,
    빈발 시간 관계 집합 FR은 아래의 [식 17]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법.
    [식 17]
    Supp(R) ≥ Suppmin일 때의, FR = {R1(x, y), R2(x, y), ..., Rz(x, y)}
    여기서, Supp(R)은 R(x, y)의 지지도로서, 상기 데이터베이스 ND에서 R(x, y)를 지지하는 고객들의 수이다.
  36. 제 35 항에 있어서,
    상기 제 2 단계는,
    상기 TR은 아래의 [식 18]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법.
    [식 18]
    TR(e1', e2', e3') = R1(e1', e2') | Supp(R1) ∧ R2(e2', e3') | Supp(R2) ∧ R3(e1', e3') | Supp(R3)
    여기서, (e1', e2', e3')은 임의의 사건 집합이고, 빈발 시간 관계 집합을{R1(e1', e2'), R2(e2', e3'), R3(e1', e3')}라고 정의한다.
  37. 입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 제 1 단계;
    상기 제 1 단계에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 제 2 단계;
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 제 3 단계;
    시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 제 4 단계 ; 및
    상기 제 4 단계에서 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 제 5 단계;
    를 포함하여 이루어진 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
  38. 제 37 항에 있어서,
    상기 제 3 단계는,
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하는 것은 아래의 [식 19]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
    [식 19]
    S' = <((E1, vs1, ve1), (E2, vs2, ve2), ..., (En, vsn, ven)>
    이때, E는 사건 종류이고, vs는 시간 간격 시작점이며, ve는 시간 간격 종료점이고, vei≤ vsi+1, i = 1, 2, ..., (n-1)이며, vsi, vei는 정수이다.
  39. 제 37 항에 있어서,
    상기 제 3 단계는,
    상기 S'는 트랜잭션 시간을 키로 하는 해쉬 테이블에 저장하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
  40. 제 37 항에 있어서,
    상기 제 3 단계는,
    상기 UE는 아래의 [식 20]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
    [식 20]
    Freq(Ei) ≥ Freqmin일 때의 Ei들의 집합을 UE로 결정.
    여기서, Ei는 빈발 사건 종류이고, Freq(Ei)는 Ei의 발생도이다.
  41. 제 37 항에 있어서,
    상기 제 3 단계는,
    상기 S"는 [vsk, vem]을 가지는 한 사건 (Ej, vsk, vem)을 요약하여 일반화하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
    여기서, vs는 시간 간격 시작점이고, ve는 시간 간격 종료점이며, Ej는 임의의 균등 사건 종류이고, [vsk, vem]은 임의의 균등 사건 종류 Ej가 가지는 시간 간격[vs1, ven]의 부분 집합이다.
  42. 제 41 항에 있어서,
    상기 제 3 단계는,
    상기 S"는 아래의 [식 21]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
    [식 21]
    S"(Ej) = <(Ej, vsk, vek), (Ej, vsk+1, vek+1), ..., (Ej, vsm, vem)>
  43. 제 37 항에 있어서,
    상기 제 4 단계는,
    상기 CR을 아래의 [식 22]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
    [식 22]
    CR = {R1(x, y), R2(x, y), ..., Rk(x,y)}
    여기서, (x, y)는 임의의 사건 조합이고, R(x, y)는 후보 시간 관계이며, R은 Allen이 제시한 시간 연산자 before, during 및 overlap 중 어느 하나이다.
  44. 제 37 항에 있어서,
    상기 제 4 단계는,
    상기 CR의 트리는 시간 관계를 키로 하는 해쉬 트리로 구현하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
  45. 제 37 항에 있어서,
    상기 제 5 단계는,
    빈발 시간 관계 집합 FR은 아래의 [식 23]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
    [식 23]
    Supp(R) ≥ Suppmin일 때의, FR = {R1(x, y), R2(x, y), ..., Rz(x, y)}
    여기서, Supp(R)은 R(x, y)의 지지도로서, 상기 데이터베이스 ND에서 R(x, y)를 지지하는 고객들의 수이다.
  46. 제 45 항에 있어서,
    상기 제 5 단계는,
    상기 TR은 아래의 [식 24]에 의하여 결정하는 것을 특징으로 하는 시간 관계 규칙 탐사 방법.
    [식 24]
    TR(e1', e2', e3') = R1(e1', e2') | Supp(R1) ∧ R2(e2', e3') | Supp(R2) ∧ R3(e1', e3') | Supp(R3)
    여기서, (e1', e2', e3')은 임의의 사건 집합이고, 빈발 시간 관계 집합을{R1(e1', e2'), R2(e2', e3'), R3(e1', e3')}라고 정의한다.
  47. 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성하는 시간 관계 규칙 탐사 전처리 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 제 1 단계;
    상기 제 1 단계에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 제 2 단계; 및
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 제 3 단계;
    를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  48. 시간 관계 규칙을 탐사하기 위해 필요한 시간 간격 데이터를 생성한 후, 이를 이용하여 시간 관계 규칙을 생성하는 시간 관계 규칙 탐사 후처리 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 제 1 단계 ; 및
    상기 제 1 단계에서 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 제 2 단계;
    를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  49. 컴퓨터에,
    입력 데이터베이스를 고객 ID와 트랜잭션 시간으로 정렬하는 제 1 단계;
    상기 제 1 단계에서 정렬된 데이터베이스로부터 사용자가 지정한 최소 지지도 Suppmin이상의 빈발 사건 종류 집합 LE를 구하는 제 2 단계;
    미리 지정된 시간 단위 U와 기준 시점 V에 의하여 상기 정렬된 데이터베이스를 시간 간격을 가진 사건 시퀀스 S'로 변환하고, 이를 미리 지정한 시간 윈도우 크기 w에 대해, 빈발 사건 종류 발생도의 최소값 Freqmin이상을 가지는 균등 사건 종류 집합 UE를 구한 후, 이를 이용하여 사건 시퀀스 S'를 요약하여 일반화함으로써, S"를 구하고, 이를 정렬하여 시간 간격 데이터베이스 ND를 구하는 제 3 단계;
    시간 간격 데이터베이스 ND로부터 후보 시간 관계 집합 CR을 Allen이 제시한 시간 간격 연산자(Interval Operator), before, during 및 overlap를 이용하여 구한 후, 생성된 후보 시간 관계 집합 CR을 트리 형태로 정렬하는 제 4 단계 ; 및
    상기 제 4 단계에서 정렬된 CR 트리로부터 미리 지정된 최소 지지도 Suppmin이상을 가지는 빈발 시간 관계 집합 FR을 구한 후, 이를 이용하여 시간 관계 규칙 TR을 생성하는 제 5 단계;
    를 포함하여 이루어진 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR10-2000-0080997A 2000-12-23 2000-12-23 시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법 KR100430479B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0080997A KR100430479B1 (ko) 2000-12-23 2000-12-23 시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0080997A KR100430479B1 (ko) 2000-12-23 2000-12-23 시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20020051601A true KR20020051601A (ko) 2002-06-29
KR100430479B1 KR100430479B1 (ko) 2004-05-10

Family

ID=27685175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0080997A KR100430479B1 (ko) 2000-12-23 2000-12-23 시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100430479B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100776640B1 (ko) * 2005-09-27 2007-11-16 인하대학교 산학협력단 시간차를 이용한 상대적인 빈발항목 탐색 시스템 및 방법
WO2008133396A1 (en) * 2007-04-26 2008-11-06 Nhn Corporation Data storage and inquiry method for time series analysis of weblog and system for executing the method
KR100913027B1 (ko) * 2002-09-23 2009-08-20 이원석 데이터 마이닝 시스템 및 그 방법
KR101340287B1 (ko) * 2012-04-13 2013-12-10 경기대학교 산학협력단 스마트 홈에서 마이닝 기반의 패턴 분석을 이용한 침입탐지 시스템
KR20140093535A (ko) * 2013-01-18 2014-07-28 한국전자통신연구원 대용량 이벤트 파일에서 시간 관계를 병렬 탐사하기 위한 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913027B1 (ko) * 2002-09-23 2009-08-20 이원석 데이터 마이닝 시스템 및 그 방법
KR100776640B1 (ko) * 2005-09-27 2007-11-16 인하대학교 산학협력단 시간차를 이용한 상대적인 빈발항목 탐색 시스템 및 방법
WO2008133396A1 (en) * 2007-04-26 2008-11-06 Nhn Corporation Data storage and inquiry method for time series analysis of weblog and system for executing the method
KR100898465B1 (ko) * 2007-04-26 2009-05-21 엔에이치엔(주) 웹로그의 시계열 분석을 위한 데이터 저장 및 조회 방법그리고 상기 방법을 수행하는 시스템
KR101340287B1 (ko) * 2012-04-13 2013-12-10 경기대학교 산학협력단 스마트 홈에서 마이닝 기반의 패턴 분석을 이용한 침입탐지 시스템
KR20140093535A (ko) * 2013-01-18 2014-07-28 한국전자통신연구원 대용량 이벤트 파일에서 시간 관계를 병렬 탐사하기 위한 방법
US9361343B2 (en) 2013-01-18 2016-06-07 Electronics And Telecommunications Research Institute Method for parallel mining of temporal relations in large event file

Also Published As

Publication number Publication date
KR100430479B1 (ko) 2004-05-10

Similar Documents

Publication Publication Date Title
Zhao et al. Sequential pattern mining: A survey
AL-Zawaidah et al. An improved algorithm for mining association rules in large databases
Masseglia et al. Efficient mining of sequential patterns with time constraints: Reducing the combinations
Shyur et al. A data mining approach to discovering reliable sequential patterns
Lee et al. Mining temporal interval relational rules from temporal data
Ingle et al. Association rule mining using improved Apriori algorithm
Gowtham Srinivas et al. Mining coverage patterns from transactional databases
Le et al. An efficient algorithm for hiding high utility sequential patterns
Raju et al. Mining closed sequential patterns in large sequence databases
Van et al. IMSR_PreTree: an improved algorithm for mining sequential rules based on the prefix-tree
Huynh et al. An efficient method for mining sequential patterns with indices
Li et al. Mining association rules based on deep pruning strategies
KR100430479B1 (ko) 시간 간격을 고려한 시간 관계 규칙 탐사 시스템 및 그 방법
Chand et al. Target oriented sequential pattern mining using recency and monetary constraints
Hahsler et al. Selective association rule generation
Yildirim et al. Mining high-average utility itemsets with positive and negative external utilities
Darrab et al. RPP algorithm: a method for discovering interesting rare itemsets
Krasadakis et al. Parallel based hiding of sensitive knowledge
Patil et al. Sequential pattern mining using apriori algorithm & frequent pattern tree algorithm
Abbady et al. Online mining for association rules and collective anomalies in data streams
Hung et al. A General Method for mining high-Utility itemsets with correlated measures
Thakur et al. An improved progressive sampling based approach for association rule mining
Dave et al. Efficient mining of high utility sequential pattern from incremental sequential dataset
Ahola Mining sequential patterns
Chen et al. Sequential Pattern Mining with Multidimensional Interval Items

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100401

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee