KR20120136677A - 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조 - Google Patents

가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조 Download PDF

Info

Publication number
KR20120136677A
KR20120136677A KR1020110055750A KR20110055750A KR20120136677A KR 20120136677 A KR20120136677 A KR 20120136677A KR 1020110055750 A KR1020110055750 A KR 1020110055750A KR 20110055750 A KR20110055750 A KR 20110055750A KR 20120136677 A KR20120136677 A KR 20120136677A
Authority
KR
South Korea
Prior art keywords
support
item
weight
frequent
data stream
Prior art date
Application number
KR1020110055750A
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 KR1020110055750A priority Critical patent/KR20120136677A/ko
Publication of KR20120136677A publication Critical patent/KR20120136677A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조에 관한 것이다. 더욱 상세하게는, 한 번의 스캔으로 데이터 스트림에서 최근의 유용한 빈발 패턴을 추출하며, 가중치를 갖는 항목들에 대하여 시간의 변화에 따른 가변성을 고려하여 의미 있는 최근 정보를 제공하도록 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조에 관한 것이다. 본 발명은 상기 기술적 과제를 달성하기 위해 개시된 기술의 제 1측면은, 다수의 항목으로 형성된 적어도 하나 이상의 윈도우를 갖는 데이터 스트림 트랜잭션을 스캔 후, 상기 항목 각각에 대하여 지지도를 구하고, 상기 항목 각각의 가중치를 이용하여 상기 항목 각각에 대한 가중치 지지도를 연산하는 제 1단계, 그리고 상기 윈도우 각각 마다 상기 가중치 지지도가 높은 것을 우선순위로 내림차순으로 지정한 상기 가중치 지지도 기반의 빈발 패턴 데이터베이스 트리 구조를 생성하여 가중치 지지도 빈발 항목을 추출하는 제 2단계를 포함하며, 가중치 지지도를 갖는 항목들에 대하여 단일 스캔으로 빈발 패턴을 추출하는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법을 제공한다.

Description

가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조{METHOD AND TREE STRUCTURE OF DATABASE FOR EXTRACTING DATA STEAMS FREQUENT PATTERN BASED ON WEIGHTED SUPPORT AND STRUCTURE OF DATABASE}
개시된 기술은, 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조에 관한 것이다. 보다 구체적으로, 한 번의 스캔으로 데이터 스트림에서 최근의 유용한 빈발 패턴을 추출하며, 가중치를 갖는 항목들에 대하여 시간의 변화에 따른 가변성을 고려하여 의미 있는 최근 정보를 제공하도록 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조에 관한 것이다.
하드웨어 기술의 발전 및 유비쿼터스 컴퓨팅 환경의 확산은 연속성과 실시간의 속성을 갖는 대량의 데이터 생성에 따른 데이터 스트림 분석의 요구가 커지고 있다.
종래의 데이터 마이닝과 지식 탐사 기법들은 빈발 패턴을 추출시 정적인 트랜잭션들을 여러 번의 탐색으로 미리 정의한 특정 임계치(Minimum Support Threshold)보다 높은 지지도(Support, 이하 sup)를 갖는 모든 빈발 항목을 찾는다.
반면에 데이터 스트림은 시간 경과에 따라 빈발 항목의 상태(Status)가 변하고 이전에 생성된 데이터 항목을 다시 스캔할 수 없는 특성이 있다.
기존의 데이터 스트림 빈발 패턴 추출 방법들은 메모리 사용량을 일정 범위로 한정하기 위해 메모리 상에 버퍼를 두고 일괄 연산을 수행하는 방법이 있었으나 빈발 항목 탐색시 필요한 메모리 사용 공간이 증가하고 갱신시 효율적으로 수행되지 못하는 문제점이 있다.
또 다른 방법으로 데이터 스트림에서 발생한 항목들에 대하여 사전에 정의된 지연 추가 및 전지 임계값 이상의 지지도를 갖는 항목들을 추후에 빈발 항목이 될 집합으로 간주하고 메모리 상에 관리하는 방법이 있다.
이 방법은 온라인 데이터 스트림에 대한 빈발 항목 탐색 과정 시 메모리 사용량은 효과적으로 감소하지만 데이터의 변화가 큰 항목집합에 대하여는 메모리 사용량 감소에 한계를 주는 문제점이 있다.
개시된 기술이 이루고자 하는 기술적 과제는, 가중치를 갖는 항목들에 대하여 제한된 메모리 공간에서 데이터 스트림 빈발 패턴을 추출하는 방법을 제공하며,한 번의 스캔으로 데이터 스트림에서 최근의 유용한 빈발 패턴을 추출하기 위한 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조를 제공하기 위한 것이다.
또한, 본 발명의 다른 기술적 과제는, 데이터 스트림에서 빈발 횟수에 대한 정보 손실을 최소화하기 위한 가중치 지지도를 기반으로 하여 데이터 스트림 갱신 작업시 변화된 패턴 정보를 저장하며, 패턴 추출 과정에서 저장된 데이터베이스를 통해 탐색하기 위한 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조를 제공하기 위한 것이다.
상기 기술적 과제를 달성하기 위해 개시된 기술의 제 1측면은, 다수의 항목으로 형성된 적어도 하나 이상의 윈도우를 갖는 데이터 스트림 트랜잭션을 스캔 후, 상기 항목 각각에 대하여 지지도를 구하고, 상기 항목 각각의 가중치를 이용하여 상기 항목 각각에 대한 가중치 지지도를 연산하는 제 1단계; 및 상기 윈도우 각각 마다 상기 가중치 지지도가 높은 것을 우선순위로 내림차순으로 지정한 상기 가중치 지지도 기반의 빈발 패턴 데이터베이스 트리 구조를 생성하여 가중치 지지도 빈발 항목을 추출하는 제 2단계; 를 포함하며, 상기 가중치 지지도를 갖는 상기 다수의 항목에 대하여 단일 스캔으로 빈발 패턴을 추출하는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법을 제공한다.
상기 기술적 과제를 달성하기 위해 개시된 기술의 제 2측면은, 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법에 의해 생성된 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조에 있어서, 윈도우 당 하나의 헤더 테이블, 그리고 가중치 지지도 빈발 트리로 구성되며, 상기 헤더 테이블의 속성으로 항목, 가중치 지지도 및 노드 링크를 포함하며, 상기 가중치 지지도 빈발 트리의 구성 요소는 루트 노드, 인터널 노드 및 터미널 노드 중 어느 하나로 형성되며, 상기 루트 노드, 인터널 노드 및 터미널 노드 각각은 항목 이름, 지지도, 항목 지지도 및 노드 링크로 구성되는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조를 제공한다.
본 발명의 실시예에 따른 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조는, 정보 변화 가능성이 큰 데이터 속성을 갖는 환경에서 최근 정보를 반영하여 빠른 정보 분석을 가능하도록 하며, 중요도가 높은 항목들에 대하여 가중치 지지도를 기반으로 빈발 패턴을 추출시 의미 있는 정보 손실 없이 유용한 정보를 제공하는 효과를 제공한다.
또한, 본 발명의 실시예에 따른 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조는, 시간의 변화에 따른 패턴 정보를 유연하고 메모리의 공간에 효율적으로 저장하는 효과를 제공한다.
도 1은 본 발명의 실시예에 따른 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법을 나타내는 흐름도이다.
도 2는 본 발명의 실시예에 따른 가중치 지지도를 기반으로 하는 빈발 패턴 추출 방법을 설명하기 위한 데이터 스트림 트랜잭션을 나타내는 예시도이다.
도 3은 도 1의 단계(S1)에서 사용되는 데이터 스트림 트랜잭션의 각 항목에 대한 가중치를 나타내는 예시도이다.
도 4는 본 발명의 실시예에 따른 가중치 범위 내의 각 윈도우에 대한 항목별 가중치 지지도를 나타내는 예시도이다.
도 5는 본 발명의 실시예에 따른 윈도우 크기 4의 데이터 스트림 예시도이다.
도 6은 도 4의 윈도우 슬라이드 처리 후 각 항목에 대한 가중치 지지도를 나타내는 예시도이다.
도 7은 도 5의 초기 단계에 대한 가중치 지지도 빈발 패턴 트리의 데이터베이스 구조를 나타내는 예시도이다.
도 8은 도 5의 갱신 단계1에 대한 가중치 지지도 빈발 패턴 트리의 데이터베이스 구조를 나타내는 예시도이다.
도 9는 도 5의 갱신 단계2에 대한 가중치 지지도 빈발 패턴 트리의 데이터베이스 구조를 나타내는 예시도이다.
도 10은 본 발명의 실시예에 따른 시간의 변화에 따른 데이터 스트림 항목에 대한 상태 변화를 나타내는 예시도이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시 예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시 예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시 예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 실시예에 따른 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법을 나타내는 흐름도이고, 도 2는 본 발명의 일 실시예에 따른 가중치 지지도를 기반으로 하는 빈발 패턴 추출 방법을 설명하기 위한 데이터 스트림 트랜잭션을 나타내는 예시도이다.
데이터 스트림 항목들의 집합 I = {i1, i2, ..., im}과 트랜잭션의 집합 D = {T1, T2, ..., Tn: Ti}에 대하여, 각 트랜잭션 Ti는 집합 D의 원소에 속하는 I의 부분 집합으로 정의되며, 트랜잭션 Ti은 공집합이 아닌 집합인 경우, 본 발명에 따른 빈발 패턴 추출 방법은, 트랜잭션 TID를 데이터 스트림 트랜잭션에서 패턴을 추출하는 방법이다.
도 1을 참조하면, 본 발명은 가중치 지지도를 갖는 항목들에 대하여 단일 스캔으로 빈발 패턴을 추출하는 방법으로, 데이터 스트림 트랜잭션을 스캔 후 개별 항목에 대하여 지지도를 구하고, 항목별 가중치를 이용하여 각 항목들에 대한 가중치 지지도를 계산한다(S1).
단계(1)에 대해 보다 구체적으로 살펴보면, 도 2에서 트랜잭션의 집합{T1, T2, T3, T4, T5}과 항목 집합 {A, B, C, D, E, F}에 대하여 윈도우 크기 4를 갖고, 각 윈도우인 윈도우 1과 윈도우 2는 중복되지 않는 유일한 트랜잭션들로 예시되어 있다.
도 3은 도 1의 단계(S1)에서 사용되는 데이터 스트림 트랜잭션의 각 항목에 대한 가중치를 나타내는 예시도이다. 도 3을 참조하면, 데이터 스트림 트랜잭션의 각 항목에 대하여 중요도를 반영하여 가중치를 나타낸다.
이때, 항목(X)의 가중치 범위는 데이터 스트림 각 항목(X)의 최소 가중치(Wmin)와 최대 가중치(Wmax) 범위로 나타내며, 하기 수학식 1을 통하여 표현이 가능하다.
Figure pat00001
한편, 도 4를 참조하면, 도 4에 예시된 윈도우 1 상에서의 가중치 범위는 항목 C의 가중치 0.2가 최소 가중치로, 항목 D의 가중치 0.8이 최대 가중치가 되어 가중치 범위는 0.2부터 0.8까지의 범위가 된다.
또한, 데이터 스트림 트랜잭션에서 각 항목(X)을 포함하는 트랜잭션 수를 해당 항목의 지지도(sup)라 명시하고, 가중치(weight)를 갖는 각 항목에 대한 가중치 지지도(WS)는 하기 수학식 2를 통하여 표현이 가능하다. 이때, 가중치는 각 항목에 중요도를 반영하여 값이 부여된다.
예컨대, 도 3과 도 4에 예시된 테이블을 참조하여 설명하면, 도 4의 윈도우 1에서 항목 A의 지지도 2와 도 3의 항목 A에 대한 가중치 0.3에 대하여 가중치 지지도(WS)는 2 × 0.3에 대한 결과 0.6으로 나타난다.
Figure pat00002
또한, 각 항목(X)에 대한 최소 가중치 지지도(WSmin)와 최대 가중치 지지도(WSmax)는 하기의 수학식 3을 통하여 표현이 가능하다.
Figure pat00003
예컨대, 도 2 내지 도 4에 예시된 테이블을 참조하여 설명하면, 도 4의 윈도우 1에서 항목 A의 지지도 2와, 도 3의 테이블에서 얻어진 가중치 범위 중 최소 가중치 0.2에 대하여 항목 A의 최소 가중치 지지도는 0.4로 나타낸다. 이와 마찬가지로 항목 A의 최대 가중치 지지도는 최대 가중치 0.8에 대하여 1.6로 나타낸다.
단계(S1) 이후, 가중치를 갖는 의미 있는 빈발 항목을 얻기 위해, 사용자 정의 최소 가중치 지지도 임계치(User Defiend Minimum Weighted Support Threshold)인 ρ와 최소 가중치 지지도 에러 임계치(Minimum Weighted Support Error Threshold)인 ε를 정의한다(S2).
단계(S2)에 대해 보다 구체적으로 살펴보면, 종래의 빈발 패턴 추출 방법에서는 미리 정의한 특정 임계치, 또는 최소 지지도 임계치(Minimum Support Threshold)보다 높은 지지도(sup)를 갖는 모든 빈발 항목을 찾는 방법이 주로 이루어졌으나, 데이터 스트림에서는 빠르고 연속적인 데이터 생성으로 항목들에 대한 정확한 지지도를 획득하기 어려운 문제를 갖는다.
이에 본 발명에서는 가중치를 갖는 항목에 대한 최소 가중치 지지도 임계치(ρ)와 최소 가중치 지지도 에러 임계치(ε)를 두어 추후 발생 가능한 빈발 패턴 정보의 손실을 최소화하도록 하기 위해 수학식 4를 통하여 ρ와 ε 표현이 가능하다.
Figure pat00004
수학식 4에서 최소 가중치 지지도 임계치(ρ)는 항목(X)의 "최소 가중치 지지도의 최대값"과 항목(X)의 "최대 가중치 지지도의 최소값"의 합의 평균으로 나타낸다.
또한, 수학식 4에서 최소 가중치 지지도 에러 임계치(ε)는 항목(X)의 "최소 가중치 지지도의 최소값"과 항목(X)의 "최대 가중치 지지도의 최소값"의 합의 평균으로 나타낸다.
다음으로, 수학식 4에서 최소 가중치 지지도 임계치(ρ)와 최소 가중치 지지도 에러 임계치(ε)의 결과로 가중치를 갖는 의미 있는 빈발 항목을 생성하기 위한 항목(X)의 가중치지지도의 범위는 수학식 5를 통하여 표현이 가능하다.
Figure pat00005
도 4는 가중치 범위 내의 각 윈도우에 대한 항목별 가중치 지지도를 나타내는 것이다. 도 4를 참조하면, 일 실시예는 도 2과 도 3의 데이터로부터 예시된 윈도우 1과 윈도우 2에서 생성된 각 항목인 [지지도, 가중치], 가중치 범위, 가중치 지지도의 요소를 포함한다.
여기서, 대용량 데이터 스트림은 생성된 패턴 정도를 저장시 메모리 사용의 제한으로 이전 단계에 생성된 패턴 정보를 동적으로 유지해야 한다.
도 4를 참조하면, 윈도우 1에서 각 항목별 지지도는 A=2, B=3, C=3, D=1, E=3인 값을 가지며, 따라서 항목별 가중치 지지도는 A=0.6, B=1.8, C=0.6, D=0.8, E=1.2가 된다.
단계(S2) 이후, 데이터 스트림 트랜잭션에서 윈도우 크기와 가중치 범위를 정의하고, 각 항목별 최대, 최소 가중치 지지도를 계산한다(S3).
단계(S3)에 대해 보다 구체적으로 살펴보면, 각 항목별 가중치 범위는 수학식 3을 통해 예시된 것을 참조하여 생성된 도 4의 항목 A의 [지지도, 가중치], 가중치 범위 및 가중치 지지도가 계산된다.
즉, 도 4의 항목 A의 가중치 범위는 상기 수학식 1에서 제공된 항목(X)의 가중치 범위인 데이터 스트림 각 항목(X)의 최소 가중치(Wmin)와 최대 가중치(Wmax) 범위를 이용하여 WS(A)는 0.4 보다 크거나 같고 1.6보다 작거나 같은 가중치 범위를 갖게 된다.
이때, 다른 항목 B, C, D, E, F에 대하여도 상기 단계와 동일한 과정에 의해 각 항목별 가중치 범위가 결정되게 된다.
단계(S3) 이후, 각 데이터 항목에 대하여 사용자 정의 최소 가중치 지지도 임계치와 최소 가중치 지지도 에러 임계치에 따른 빈발 패턴을 분류한다(S4).
단계(S4)에 대해 보다 구체적으로 살펴보면, 도 4의 각 항목별 가중치 범위와 수학식 4를 통해 예시된 것을 참조하여 최소 가중치 지지도 임계치(ρ)와 최소 가중치 지지도 에러 임계치(ε)를 구하여 빈발패턴의 유형을 분류한다.
예를 들어, 도 4의 윈도우 1에서 가중치 범위 내에서 WSmin(X)의 최대값은 0.6이 되고, WSmin(X)의 최소값은 0.2, WSmax(X)의 최소값은 0.8, WSmax(X)의 최대값은 1.8이 된다.
따라서, 최소 가중치 지지도 임계치(ρ)는 수학식 4의 식으로부터 0.7이 되고, 최소 가중치 지지도 에러 임계치(ε)는 0.5가 된다.
이에 빈발 패턴 분류는 가중치 지지도가 0.7보다 크거나 같은 경우 빈발 패턴으로, 가중치 지지도가 0.5보다 크거나 같고 0.7보다 적은 경우 잠재 패턴으로, 가중치 지지도가 0.5보다 작으면 비빈발 패턴으로 분류된다.
예를 들어, 도 4에 의하면 항목 B, D, E는 빈발 패턴, 항목 A와 C는 잠재 패턴으로 분류된다.
본 발명은 제한된 메모리에서 단일 스캔으로 데이터 스트림에서 빈발 패턴을 추출하는 방법으로 이것이 시스템에 구현될 경우 이전 윈도우 슬라이드에서 유용한 패턴 정보를 동적으로 유지한다.
단계(S4) 이후, 단계(S4)에서 분류된 빈발 패턴들을 저장하기 위한 가중치 지지도 기반 빈발 패턴 트리(WSFP-Tree)를 생성한다(S5). 도 5는 윈도우 크기 4의 데이터 스트림 예시도로, 보다 구체적으로, T1에서 T6까지의 트랜잭션들에 대하여 윈도우 크기 4인 경우의 데이터 스트림을 나타낸다.
도 5를 참조하여 단계(S5)에 대해서 보다 구체적으로 살펴보면, 윈도우 1에서는 T1, T2, T3, T4로 구성되고, 윈도우 2는 T2, T3, T4, T5로 구성되며, 윈도우 3은 T3, T4, T5, T6으로 구성되어 있다.
이때, 데이터 스트림은 한 번의 스캔만 실행되고 해당 윈도우에서 각 항목들의 지지도를 카운트하고 각 항목의 가중치를 검사한다.
다음으로, 각 항목의 지지도와 가중치를 곱하여 가중치 지지도를 구한 후 각 트랜잭션들의 항목에 대하여 내림차순 정렬한다.
윈도우에서 트랜잭션에 대한 내림차순 정렬에 대하여는 도 6을 참조하여 보다 구체적으로 설명한다.
여기서, 우선 윈도우 1에서 트랜잭션 T1은 데이터 스트림 D, A, C 순으로 발생 되었고 T2, T3, T4에 대해서도 도 5를 참조하여 설명하며, 도 4의 항목별 가중치에 의해 윈도우 1에서의 내림차순 정렬은 아래와 같이 설명한다.
먼저, 항목 A의 윈도우 1에서 지지도는 2, 가중치는 0.3이므로 항목 A의 가중치 지지도는 0.6이다
다음으로, 항목 B의 윈도우 1에서 지지도 3, 가중치 0.6이므로 항목 B의 가중치 지지도는 1.8이다.
다음으로, 위와 같은 방식으로 항목 C는 0.6, 항목 D는 0.8, 항목 E는 1.2로 각각의 가중치 지지도를 갖는다.
다음으로, 윈도우 1에서 내림차순 리스트는 B(1.8), E(1.2), D(0.8), A(0.6), C(0.6)으로, 도 6과 같이 결정되며, 도 6은 도 5의 윈도우 슬라이드 처리 후 각 항목에 대한 가중치 지지도를 나타낸다.
도 6을 참조하면, 초기 단계로 윈도우 1에서 가중치 지지도 결과에 따른 항목의 내림차순 리스트는 (B E D A C)로, 갱신 단계 1의 윈도우 2의 항목 내림차순 리스트는 (B E A C F)로, 갱신 단계 2의 윈도우 3의 항목 내림차순 리스트는 (B A G D E C)로 구성된다.
더욱 상세하게는, 갱신 단계 1의 윈도우 2는 초기 단계인 윈도우 1로부터 트랜잭션 T1을 제거하고 윈도우 2에 T5가 생성되어 추가된다. 따라서, 윈도우 2에서는 새로운 항목 F가 발생한다.
다음으로, 갱신 단계 2의 윈도우 3은 갱신 단계 1의 윈도우 2로부터 트랜잭션 T2를 제거하고 윈도우 3에 T6이 추가된다. 이때, 새로운 항목 G가 추가된다.
이후, 상기 단계(S1) 내지 단계(S4)의 과정에 의해 생성된 빈발 항목들을 저장하기 위한 "가중치 지지도 빈발 패턴 데이터베이스 트리 구조"를 생성한다.
한편, 도 7은 도 5의 초기 단계에 대한 가중치 지지도 빈발 패턴 트리의 데이터베이스 구조를 나타내는 예시도이다.
도 7을 참조하면, 본 발명에 따른 데이터 스트림 환경에서의 빈발 패턴 저장 구조로 헤더 테이블, 그리고 가중치 지지도 빈발 트리로 구성되고, 헤더 테이블의 속성으로 항목, 가중치 지지도, 노드 링크로 구성된다.
또한, 가중치 지지도 빈발 트리의 구성 요소는 널(Null) 값을 갖는 루트 노드, 인터널 노드 및 터미널 노드 중 어느 하나로 형성된다. 각 노드는 네 개 필드인 항목 이름, 지지도, 항목 지지도, 노드 링크로 구성한다.
이하, 도 7을 참조하여, 본 발명에 따른 가중치 지지도 빈발 트리를 설명한다. 우선, 도 6의 윈도우 1에서 내림차순 리스트 (B E D A C)는 헤더 테이블에 속성인 "항목"에 구성된다.
다음으로, 가중치 지지도 빈발 트리에 "루트 노드"를 생성하고, 도 5를 참고하여 윈도우 1의 트랜잭션 T1에 대한 R → D → A → C 순으로 트리가 구성된다.
도 5의 윈도우 1의 나머지 트랜잭션 T2, T3, T4에 대하여 상기 방법과 동일하게 트리를 구성하며, 트리 구성의 방식은 변형가능하다.
다음으로는, 도 5를 참조하여, 도 7의 구성과 동일하게 도 8을 구성하며, 도 8은 도 6의 갱신 단계 1로 표현되며, 트랜잭션 T1에 대한 제거와 트랜잭션 T5의 추가가 이루어진다. 이에 T5의 항목 F는 헤더 테이블에 추가되고, 가중치 지지도 빈발 트리의 노드로 구성된다.
다음으로, 상기의 도 8과 동일한 방법으로도 도 9와 같이 트리가 구성된다.
도 9에서와 같이, 도 6의 갱신 단계 2의 표현으로, 도 8과 동일한 방식으로 트리가 구성된다. 이때, T2는 제거되고, T6은 추가된다.
단계(S5) 이후, 단계(S5)에서 생성된 가중치 지지도 기반 빈발 패턴 트리로부터 빈발 항목을 추출한다(S6).
단계(S6) 이후, 데이터 스트림 갱신 작업(S7)에 따른 패턴 정보 변경을 수행하여 데이터 스트림에서 가중치 지지도를 기반으로 하여 빈발 패턴을 추출하는 방법이 제공된다.
단계(S7)에 대해서 보다 구체적으로 살펴보면, 본 발명의 실시예에 따른 데이터 스트림에서 가중치 지지도를 갖는 항목에 대한 빈발 패턴 추출 방법은 제한된 메모리에서 단일 스캔을 수행하는 시스템에서 수행된다.
이에 따라, 데이터 스트림은 시간의 변화에 따라 항목의 상태가 변한다.
예컨대, 도 10을 참조하여 시간의 변화에 따른 항목의 상태를 설명하면, 우선, 항목 F는 윈도우 2단계에서 잠재 패턴으로 가중치 지지도 빈발 트리의 데이터베이스 구조상에 저장된 뒤, 윈도우 3단계에서 비빈발 패턴으로 상태가 변하여 제거된다.
다음으로, 항목 D는 윈도우 1단계에서 반발 패턴으로 가중치 지지도 빈발 트리 시스템에 저장된 후 윈도우 2단계에서 비반발 패턴으로 상태가 변하고, 이후 윈도우 3단계에서 빈발 패턴으로 상태가 저장된다.
이런 방식을 통해 구성한 가중치 지지도 빈발 트리 구조부터 빈발 패턴을 추출하는 것이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (9)

  1. 다수의 항목으로 형성된 적어도 하나 이상의 윈도우를 갖는 데이터 스트림 트랜잭션을 스캔 후, 상기 항목 각각에 대하여 지지도를 구하고, 상기 항목 각각의 가중치를 이용하여 상기 항목 각각에 대한 가중치 지지도를 연산하는 제 1단계; 및
    상기 윈도우 각각 마다 상기 가중치 지지도를 내림차순으로 지정한 상기 가중치 지지도 기반의 빈발 패턴 데이터베이스 트리 구조를 생성하여 가중치 지지도 빈발 항목을 추출하는 제 2단계; 를 포함하며, 상기 가중치 지지도를 갖는 상기 다수의 항목에 대하여 단일 스캔으로 빈발 패턴을 추출하는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법.
  2. 제 1항에 있어서, 상기 제 1단계에 있어서의 상기 항목의 가중치는,
    상기 항목 각각의 지지도에 상기 항목 각각이 속한 윈도우 상에서의 최소 가중치 및 최대 가중치를 각각 멀티플라이한 사이의 범위 값을 갖으며,
    상기 항목의 각각의 가중치 지지도는,
    상기 항목 각각의 지지도에 상기 항목 각각의 가중치를 멀티플라이하여 계산되는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법.
  3. 제 1항에 있어서, 상기 제 2단계는,
    빈발 항목을 생성하기 위한 상기 항목 각각의 가중치지지도의 범위를 연산하기 위해 상기 가중치를 갖는 의미 있는 빈발 항목을 얻기 위해, 사용자 정의 최소 가중치 지지도 임계치(User Defiend Minimum Weighted Support Threshold)(ρ)와 최소 가중치 지지도 에러 임계치(Minimum Weighted Support Error Threshold)(ε)를 정의하는 정의 단계; 를 더 포함하는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법.
  4. 제 3항에 있어서, 상기 제 2단계에 있어서,
    상기 사용자 정의 최소 가중치 지지도 임계치(ρ)는,
    상기 항목 각각의 최소 가중치 지지도의 최대값과 상기 항목 각각의 최대 가중치 지지도의 최소값의 합의 평균으로 나타내며,
    상기 최소 가중치 지지도 에러 임계치(ε)는,
    상기 항목 각각의 최소 가중치 지지도의 최소값과 상기 항목의 최대 가중치 지지도의 최소값의 합의 평균으로 나타내며,
    상기 항목 각각의 가중치지지도의 범위는, 상기 최소 가중치 지지도 임계치(ρ) 내지 상기 최소 가중치 지지도 에러 임계치(ε) 사이 값을 갖는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법.
  5. 제 3항에 있어서, 상기 제 2단계는,
    상기 데이터 스트림 트랜잭션을 스캔 후, 상기 윈도우의 크기, 상기 가중치의 범위, 상기 항목별 각각의 최대 가중치 지지도 및 최소 가중치 지지도를 계산하는 계산단계; 를 더 포함하는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법.
  6. 제 5항에 있어서, 상기 제 2단계는,
    상기 항목 각각에 대하여 상기 사용자 정의 최소 가중치 지지도 임계치(ρ)와 최소 가중치 지지도 에러 임계치(ε)에 따른 빈발 패턴을 분류하는 패턴 분류 단계; 를 더 포함하는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법.
  7. 제 6항에 있어서, 상기 패턴 분류 단계는,
    상기 항목 각각의 가중치 지지도가, 상기 최소 가중치 지지도 임계치(ρ) 보다 큰 경우 빈발 패턴으로 분류하며, 상기 최소 가중치 지지도 에러 임계치(ε) 보다 크거나 최소 가중치 지지도 임계치(ρ) 보다 적은 경우 잠재 패턴으로 분류하며, 상기 최소 가중치 지지도 에러 임계치(ε) 보다 적은 경우 비빈발 패턴으로 분류하는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법.
  8. 제 6항에 있어서, 상기 제 2단계는,
    상기 분류된 빈발 패턴들을 저장하기 위한 가중치 지지도 기반 빈발 패턴 트리(WSFP-Tree) 생성하는 생성단계;
    상기 생성된 가중치 지지도 기반 빈발 패턴 트리로부터 빈발 항목을 추출하는 추출단계; 및
    상기 생성된 가중치 지지도 기반 빈발 패턴 트리에 대한 데이터 스트림 갱신 작업에 따른 패턴 정보 변경을 수행한 뒤, 빈발 패턴을 다시 추출하는 재추출단계; 를 더 포함하는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법.
  9. 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법에 의해 생성된 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조에 있어서,
    윈도우 당 하나의 헤더 테이블, 그리고 가중치 지지도 빈발 트리로 구성되며,
    상기 헤더 테이블의 속성으로 항목, 가중치 지지도, 노드 링크를 포함하며,
    상기 가중치 지지도 빈발 트리의 구성 요소는 루트 노드, 인터널 노드 및 터미널 노드 중 어느 하나로 형성되며, 상기 루트 노드, 인터널 노드 및 터미널 노드 각각은 항목 이름, 지지도, 항목 지지도, 노드 링크로 구성되는 것을 특징으로 하는 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조.
KR1020110055750A 2011-06-09 2011-06-09 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조 KR20120136677A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110055750A KR20120136677A (ko) 2011-06-09 2011-06-09 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110055750A KR20120136677A (ko) 2011-06-09 2011-06-09 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조

Publications (1)

Publication Number Publication Date
KR20120136677A true KR20120136677A (ko) 2012-12-20

Family

ID=47903990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110055750A KR20120136677A (ko) 2011-06-09 2011-06-09 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조

Country Status (1)

Country Link
KR (1) KR20120136677A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160093237A (ko) * 2015-01-29 2016-08-08 충북대학교 산학협력단 데이터 스트림 상에서 가중화 최대 빈발 패턴을 마이닝하기 위한 슬라이딩 윈도우 기반 빈발 패턴 관리 방법
CN110096629A (zh) * 2019-05-15 2019-08-06 重庆大学 一种基于有效加权树的挖掘频繁加权项集的方法
KR20190103918A (ko) * 2018-02-13 2019-09-05 재단법인대구경북과학기술원 분산 시스템 기반 큰 규모 빈발 패턴 마이닝 시스템 및 방법
KR20220112023A (ko) * 2021-02-03 2022-08-10 경기대학교 산학협력단 패턴 마이닝 및 시계열 윈도우 가중치 기반 데이터 분석 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160093237A (ko) * 2015-01-29 2016-08-08 충북대학교 산학협력단 데이터 스트림 상에서 가중화 최대 빈발 패턴을 마이닝하기 위한 슬라이딩 윈도우 기반 빈발 패턴 관리 방법
KR20190103918A (ko) * 2018-02-13 2019-09-05 재단법인대구경북과학기술원 분산 시스템 기반 큰 규모 빈발 패턴 마이닝 시스템 및 방법
CN110096629A (zh) * 2019-05-15 2019-08-06 重庆大学 一种基于有效加权树的挖掘频繁加权项集的方法
CN110096629B (zh) * 2019-05-15 2023-07-28 重庆大学 一种用于事务处理的内存优化方法
KR20220112023A (ko) * 2021-02-03 2022-08-10 경기대학교 산학협력단 패턴 마이닝 및 시계열 윈도우 가중치 기반 데이터 분석 방법

Similar Documents

Publication Publication Date Title
US7636713B2 (en) Using activation paths to cluster proximity query results
Kumbhare et al. An overview of association rule mining algorithms
JP2009099124A (ja) データ構築方法とシステム
JP6183376B2 (ja) インデックス生成装置及び方法並びに検索装置及び検索方法
US10135723B2 (en) System and method for supervised network clustering
Ebadian et al. Fast algorithm for k-truss discovery on public-private graphs
CN111382276A (zh) 一种事件发展脉络图生成方法
US20120239657A1 (en) Category classification processing device and method
EP3067804B1 (en) Data arrangement program, data arrangement method, and data arrangement apparatus
JP2012073812A (ja) データ分析支援システム及び方法
KR20120136677A (ko) 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 추출 방법 및 가중치 지지도에 기반한 데이터 스트림 빈발 패턴 데이터베이스 트리 구조
JP2018173909A (ja) 学習プログラム、学習方法および学習装置
KR20120049505A (ko) 상위 k개의 중요 패턴들을 마이닝 하는 방법
CN105159898A (zh) 一种搜索的方法和装置
US20130262470A1 (en) Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium
Arge et al. On (dynamic) range minimum queries in external memory
CN115329748A (zh) 一种日志解析方法、装置、设备及存储介质
US20170255691A1 (en) Information processing system, information processing method, and program
Kiran et al. Mining periodic-frequent patterns with maximum items' support constraints
CN111107493B (zh) 一种移动用户位置预测方法与系统
US20150142712A1 (en) Rule discovery system, method, apparatus, and program
Al-Badani et al. Efficient Mining of Frequent Itemsets Using Improved FP-Growth Algorithm
WO2014208728A1 (ja) ルール発見方法と情報処理装置並びにプログラム
US11341147B1 (en) Finding dimensional correlation using hyperloglog
Lan et al. Updating high average-utility itemsets in dynamic databases

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application