KR101130734B1 - 상황 구조 생성 방법 및, 상황 구조 생성 시스템 - Google Patents

상황 구조 생성 방법 및, 상황 구조 생성 시스템 Download PDF

Info

Publication number
KR101130734B1
KR101130734B1 KR1020100077740A KR20100077740A KR101130734B1 KR 101130734 B1 KR101130734 B1 KR 101130734B1 KR 1020100077740 A KR1020100077740 A KR 1020100077740A KR 20100077740 A KR20100077740 A KR 20100077740A KR 101130734 B1 KR101130734 B1 KR 101130734B1
Authority
KR
South Korea
Prior art keywords
situation
new
tree
situations
frequent item
Prior art date
Application number
KR1020100077740A
Other languages
English (en)
Other versions
KR20120015558A (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 KR1020100077740A priority Critical patent/KR101130734B1/ko
Priority to US13/051,914 priority patent/US8224805B2/en
Publication of KR20120015558A publication Critical patent/KR20120015558A/ko
Application granted granted Critical
Publication of KR101130734B1 publication Critical patent/KR101130734B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 상황 구조 생성 방법 및 상황 구조 생성 시스템에 관한 것으로, 특히 지속적으로 발생되는 트랜잭션의 무한 집합으로 구성되는 데이터 스트림으로부터 상황 구조를 생성하는 방법 및, 상기 데이터 스트림으로부터 상황 구조를 생성하는 상황 구조 생성 시스템에 관한 것이다. 이러한 본 발명에 따른 상황 구조 생성 방법은, (a)지속 발생되는 트랜잭션들에 대한 빈발항목집합 트리를 수직적 다수 구간으로 분할하고, 각 구간의 기본 항목집합들에 인덱스를 부여하여 각 구간의 새로운 제1 트랜잭션들 및 새로운 빈발항목집합 트리들을 생성하는 단계; (b)상기 새로운 빈발항목집합 트리들의 빈발항목집합들 중에 지지도 차이가 미리 정해진 값 이하인 경우에 하나의 상황으로 탐지하고, 탐지된 상황들을 토대로 계층적 구조의 상황 트리를 생성하는 단계; (c)상기 상황 트리 중에 선택된 상황들에만 새로운 이름을 부여하여 상황 구조의 최하위 계층을 생성하는 단계; (d)이전 단계에서 부여된 새로운 이름으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성하고 새로운 상황 트리를 생성하는 단계; 및 (e)상기 새로운 상황 트리의 상황들 중에 선택 가능한 상황이 없는지 판단해, 없다고 판단되면 상황 구조의 생성을 종료하고, 있다고 판단되면 적절한 상황들을 선택하여 각 상황들에 새로운 이름을 부여하고 상황 구조의 다음 계층을 생성한 후에 상기(d)단계부터 반복 수행하는 단계; 를 포함한다.

Description

상황 구조 생성 방법 및, 상황 구조 생성 시스템{METHOD FOR GENERATING CONTEXT HIERACHYAND, SYSTEM FOR GENERATING CONTEXT HIERACHYAND}
본 발명은 상황 구조 생성 방법 및 상황 구조 생성 시스템에 관한 것으로, 특히 지속적으로 발생되는 트랜잭션의 무한 집합으로 구성되는 데이터 스트림으로부터 상황 구조를 생성하는 방법 및, 상기 데이터 스트림으로부터 상황 구조를 생성하는 상황 구조 생성 시스템에 관한 것이다.
최근 고성능의 서로 다른 유형과 기능을 가진 각종 센서들이 생활 환경과 보다 밀접해지고 다양하게 분포되어짐에 따라 센서들로부터 얻을 수 있는 정보의 양이 급속히 증가하고 있다. 따라서, 이러한 방대한 양의 실시간 정보(데이터)들에 대한 기존 마이닝 기술들의 적용 가능성 및 필요성이 중요한 이슈로 다루어지고 있으며, 다양한 방식의 실시간 데이터 스트림 마이닝 기술들이 제안되어왔다.
트랜잭션의 유한 집합으로부터 빈발 항목집합을 탐색하는 대표적인 알고리즘으로 <R. Agrawal, R.Strikant, "Fast Algorithms fir Mining Association Rules," In Proceeding of the 20th International Conference on Very Large Databased, pp.487-499, 1994.>에서 Apriori 알고리즘이 제안되었다. 이와 같은 Apriori 알고리즘은 n의 길이를 갖는 빈발항목집합을 탐색하기 위해 후보집합을 n회 생성하고 n+1회의 트랜잭션 정보 탐색을 시도하므로 메모리 사용량이 매우 크며 탐색 소요 시간이 긴 단점이 있다. 그리고, <C. Hidber, "Online Association Rule Mining," In Proceedings of the 21st International Conference on Very Large Data Bases, pp.432-444, 1995.>에서 Carma 알고리즘이 제안되었는데, 이와 같은 Carma 알고리즘은 두 단계의 처리 과정을 통해 데이터 집합 내 트랜잭션을 검색하여 빈발항목집합을 탐색한다. 이러한 고정 데이터 집합을 대상으로 한 빈발항목집합 탐색 알고리즘은 분석 대상의 정의 시점이 마이닝 수행 단계의 이전이어야 하며, 한 번 이상의 스캔 작업이 필수적으로 요구됨에 따라 실시간 데이터 스트림 환경에서의 마이닝 방법으로는 적합하지 않다.
데이터 집합이 점진적으로 증가되는 환경에서는 FUP-based 알고리즘<D. Cheung, J.Han, V.Ng, and C.Y.Wong, "Maintenance of Discovered Association Rules in Large Databases: An Incremental Updating Technique," In Proceedings of the 12th international Conference on Data Engineering, pp.106-114, 1996>, <D.Cheung, S.D.Lee, and B.Kao, "A general Increamental Technique for Maintaining Discovered Association Rules," In Proceedings of the 5th International conference on Databases Systems for Advanced Application, pp.185-194, 1997.>과 같은 점진적 빈발 항목집함 마이닝 알고리즘을 이용하여 새롭게 갱신된 데이터 집합에 대한 종합적 마이닝 결과를 얻을 수 있다. 점진적 마이닝 알고리즘은 최신의 결과를 얻기 위해서 이전의 트랜잭션 정보를 사용할 수 있지만 각 트랜잭션의 정보를 모두 저장해야 하고 정확한 지지도의 계산을 위해서 이전의 트랜잭션을 탐색해야 하는 경우가 있으므로 데이터 스트림의 방법으로 적합하지 않다.
<G.S. Manku and R. Motwani, "Approximate Frequency Counts over Data Streams," In Proceedings of the 28th International Conference on Very Large Databases, pp.346-357, 2002>에서 제안된 Lossy Counting 알고리즘에서는 빈발항목집합 탐색 과정에서 메모리 사용량을 일정 범위로 한정하여 빈발항목집합을 찾는다. 그러나, Lossy Counting 알고리즘에서는 높은 효율을 얻기 위해서는 그 효율에 비례한 메모리 공간 사용이 필수적이며, 이는 마이닝 수행 시간 증가에 영향을 끼치게 된다.
실시간 데이터 스트림 환경에서 효율적인 빈발항목집합 탐색을 위해 estDec 알고리즘<Joong Hyuk Chang, Won Suk Lee, "Finding recent frequent itemsets adaptively over online data streams," In proceedings of the 9th ACM SIGKDD international conference on Knowledge Discovery and Data Mining, pp.487-492, 2003.>이 제안되었다. estDec 알고리즘은 데이터 스트림을 구성하는 트랜잭션이 생성과 동시에 처리되며, 빈발항목집합 생성을 위한 후보 집합의 생성 없이 전위트리 구조를 갖는 모니터링 트리를 이용하여 트랜잭션에 나타난 항목집합들의 출현 빈도수를 관리한다. estDec 알고리즘은 지연 추가와 전지 작업을 통하여 빈발 항목집항이 될 가능성이 있는 중요 항목집합만을 관리함으로써 높은 효율을 유지한다.
이와 같은 다양한 종류의 마이닝 기법들은 주어지는 정보에 포함된 의미있는 항목들을 도출해내는 것은 용이하지만, 실제로 이들에 내포되어 있는 즉시 사용 가능한 의미적 정보들을 탐지해내기는 쉽지 않다. 이에, 의미적 정보의 도출을 위한 다양한 방식들이 제안되었으며, 그 중에 데이터 스트림 기반의 클러스터링 기법을 사용한 방법으로서 사용자가 미리 정의한 이벤트 정보들을 기반으로 추상화 단계를 거쳐 의미를 도출하는 MC-Stream 방법<YongChul Kwon, Wing Yee Lee, Magdalena Balazinska, "Clustering Events on Streams using Complex Context Information," In Proceedings of the IEEE International Conference on Data Mining Workshops, pp.238-247, 2008>이 제안된 바 있다. 이 방법은 대표적인 스트림 기반 클러스터링 알고리즘을 기반으로 거리 측정 방식을 의미 기반 측정 방식으로 대체한 것으로서, 이미 정의된 시간, 소지품 등의 유사성을 통해 그 의미적 거리를 측정하여 클러스터를 생성하는 방식이다.
상술한 알고리즘들 외에도 다양한 방식의 실시간 데이터 스트림 마이닝 기술이 제안되어 왔지만, 상술한 알고리즘들을 비롯한 다수의 알고리즘들은 실시간 데이터 스트림에 내포된 의미적 정보, 즉 해당 도메인의 실시간 상태에 대한 의미적 정보를 능동적으로 탐지해내고 이를 활용하기 위한 접근은 미흡한 상황이다. 대부분의 의미적 접근 방법은 사용자로부터 미리 정의된 상황 정보를 사용하거나, 과거의 정보를 통해 현재의 상황을 예측하는 것일 뿐, 기반이 되는 정보가 존재하지 않을 경우 이를 해결하기 위한 방법이 존재하지 않는다.
본 발명이 이루고자 하는 기술적 과제는 실시간 데이터 스트림의 의미적 분석을 통하여 기존의 연구에서 다루지 못했던 가치있는 상황 정보를 능동적으로 도출함으로써, 알고리즘 사용자에게 기반 데이터가 존재하지 않는 상황 속에서도 자동화된 상황 판단 능력을 부여함으로써 보다 효율적인 서비스 제공자로서의 역할을 수행 가능토록 하는데에 있다.
상기와 같은 기술적 과제를 해결하기 위한 본 발명의 바람직한 실시예에 따른 상황 구조 생성 방법은, (a)지속 발생되는 트랜잭션들에 대한 빈발항목집합 트리를 수직적 다수 구간으로 분할하고, 각 구간의 기본 항목집합들에 인덱스를 부여하여 각 구간의 새로운 제1 트랜잭션들 및 새로운 빈발항목집합 트리들을 생성하는 단계; (b)상기 새로운 빈발항목집합 트리들의 빈발항목집합들 중에 지지도 차이가 미리 정해진 값 이하인 경우에 하나의 상황으로 탐지하고, 탐지된 상황들을 토대로 계층적 구조의 상황 트리를 생성하는 단계; (c)상기 상황 트리 중에 선택된 상황들에만 새로운 이름을 부여하여 상황 구조의 최하위 계층을 생성하는 단계; (d)이전 단계에서 부여된 새로운 이름으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성하고 새로운 상황 트리를 생성하는 단계; 및 (e)상기 새로운 상황 트리의 상황들 중에 선택 가능한 상황이 없는지 판단해, 없다고 판단되면 상황 구조의 생성을 종료하고, 있다고 판단되면 적절한 상황들을 선택하여 각 상황들에 새로운 이름을 부여하고 상황 구조의 다음 계층을 생성한 후에 상기 (d)단계부터 반복 수행하는 단계; 를 포함하는 것을 특징으로 한다.
상기와 같은 기술적 과제를 해결하기 위한 본 발명의 바람직한 실시예에 따른 상황 구조 생성 시스템은, 지속적으로 발생되는 트랜잭션들에 대한 빈발항목집합 트리를 생성하는 빈발항목집합 트리 생성부; 상기 빈발항목집합 트리를 수직적 다수 구간으로 분할하고, 각 구간의 기본 항목집합들에 인덱스를 부여하여 각 구간의 새로운 제1 트랜잭션들 및 새로운 빈발항목집합 트리들을 생성한 후에, 상기 새로운 빈발항목집합 트리들의 빈발항목집합들 중에 지지도 차이가 미리 정해진 값 이하인 경우에 하나의 상황으로 탐지하고, 탐지된 상황들을 토대로 계층적 구조의 상황 트리를 생성하는 상황 트리 생성부; 및 상기 상황 트리 중에 선택된 상황들에만 새로운 이름을 부여하여 상황 구조의 최하위 계층을 생성하고, 상기 새로운 이름으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성하고 새로운 상황 트리를 생성한 후에, 상기 새로운 상황 트리의 상황들 중에 선택 가능한 상황이 없는지 판단하여, 없다고 판단되면 상황 구조 생성을 종료하고, 있다고 판단되면 적절한 상황들을 선택하여 각 상황들에 새로운 이름을 부여하고 상황 구조의 다음 계층을 생성한 후에 상기 새로운 이름으로 다음 계층을 위한 새로운 제2트랜잭션을 생성하는 과정부터 다시 수행하는 상황 구조 생성부; 를 포함하는 것을 특징으로 한다.
상기와 같은 본 발명에 따른 상황 구조 생성 방법과 상황 구조 생성 시스템은, 의미적으로 하나의 상황으로 추정되는 항목들만을 결과로 도출함으로써 최종 결과물의 가독성을 높이고, 탐지된 상황들 간의 연관성, 계층적 관계 등을 효율적으로 도출가능한 능동적인 방법이다. 따라서, 알고리즘 사용자에게 기반 데이터가 존재하지 않는 상황 속에서도 자동화된 상황 판단 능력을 부여함으로써 보다 효율적인 서비스 제공자로서의 역할을 수행 가능토록 하는 장점이 있다.
도 1은 본 발명의 바람직한 실시예에 따른 상황 구조 생성 방법을 나타낸 순서도.
도 2는 본 발명의 바람직한 실시예에 있어서 빈발항목집합 트리 상에서의 상황 확장 모습을 나타낸 도면.
도 3은 본 발명의 바람직한 실시예에 있어서 상황 범위에 따라 수직적으로 분할된 빈발항목집합 트리 상에서의 상황 확장 및 상황 분리의 예를 나타낸 도면.
도 4는 본 발명의 바람직한 실시예에 있어서 수직적으로 분할된 빈발항목집항 트리의 각 구간의 기본 항목집합들에 인덱스를 부여하여 생성한 새로운 트랜잭션의 예를 나타낸 도면.
도 5는 도 4의 각 구간에 대하여 제2차 빈발항목집항 마이닝을 수행하여 생성한 각 구간의 새로운 빈발항목집합 트리의 예를 나타낸 도면.
도 6은 도 5의 각 구간의 새로운 빈발항목집합 트리를 이용하여 생성한 상황 트리의 예를 나타낸 도면.
도 7은 도 6의 상황 트리에 있어서 선택된 상황들에 새로운 이름을 부여한 예와, 이를 기반으로 생성한 새로운 트랜잭션의 예를 나타낸 도면.
도 8의 (a)는 도 7의 새로운 트랜잭션을 기반으로 최하위 계층의 다음 상위 계층의 상황 트리를 생성한 예를 나타낸 도면.
도 8의 (b)는 도 7의 새로운 트랜잭션을 기반으로 최하위 계층의 다음 다음 상위 계층의 상황 트리를 생성한 예를 나타낸 도면.
도 9의 (a)와 (b)는 도 7과 도 8에 따른 상향식 상황 탐지 기법을 나타낸 알고리즘.
도 10은 도 7과 도 8의 각 계층의 새로운 상황 트리를 이용하여 다수의 계층을 포함하는 상황 구조를 생성한 예를 나타낸 도면.
도 11은 본 발명의 바람직한 실시예에 따른 상황 구조 생성 시스템을 나타낸 블록도.
도 12 내지 도 19는 본 발명에 따른 상황 구조 생성 방법의 성능을 검증하기 위한 제 1 실험과 관련한 도면.
도 12는 본 발명에 따른 상황 구조 생성 방법의 성능을 검증하기 위한 제 1 실험에 사용된 데이터의 속성을 나타낸 표.
도 13은 인스턴트의 80%를 임의 추출하여 상황 탐지를 수행한 후에, 최소 지지도 및 상황 범위에 따른 평가 측정값을 비교한 결과.
도 14는 최소 지지도 및 상황 범위에 따른 순수도 및 응집도를 비교한 결과.
도 15는 최소 지지도 및 상황 거리에 따른 평가 측정값을 비교한 결과.
도 16은 각 평가 측정값을 가진 상황 구조들의 정확도 비교 실험을 한 결과.
도 17은 도 13의 실험에서 수행한 80%의 인스턴트를 제외한 나머지 인스턴트를 통해 상황 탐지를 수행한 후에, 각 평가 측정값을 가진 상황 구조의 정확도 및 계층별 배타성을 비교한 결과.
도 18은 상향식 상황 탐지 기법을 통하여 계산된 정확도와 기타 대표적 분류 알고리즘들 및 신경망 알고리즘과의 정확도를 비교한 실험 결과.
도 19는 도 18의 실험에서 사용된 세부적인 매개변수 내역을 나타낸 표.
도 20 내지 도 24는 본 발명의 상황 구조 생성 방법의 성능을 검증하기 위한 제 2 실험과 관련한 도면.
도 20은 본 발명에 따른 상황 구조 생성 방법의 성능을 검증하기 위한 제 2 실험에 사용된 데이터의 속성을 나타낸 표.
도 21은 인스턴트의 80%를 임의 추출하여 상황 탐지를 수행한 후에, 최소 지지도 및 상황 범위에 따른 평가 측정값을 비교한 결과.
도 22는 각 평가 측정값을 가진 상황 구조들의 정확도 비교 실험을 한 결과.
도 23은 도 21의 실험에서 수행한 80%의 인스턴트를 제외한 나머지 인스턴트를 통해 상황 탐지를 수행한 후에, 각 평가 측정값을 가진 상황 구조의 정확도 및 계층별 배타성을 비교한 결과.
도 24는 상향식 상황 탐지 기법을 통하여 계산된 정확도와 기타 대표적 분류 알고리즘 및 신경망 알고리즘과의 정확도를 비교한 실험 결과.
도 25는 도 24의 실험에서 사용된 세부적인 매개변수 내역을 나타낸 표.
도 26 내지 도 28은 본 발명의 상황 구조 생성 방법의 성능을 검증하기 위한 제 3 실험과 관련한 도면.
도 26은 상황 탐지를 수행한 후에 발견되는 상황 개수 변화에 따른 수행 시간 및 최대 메모리 사용량을 측정한 결과.
도 27은 중복적 상황 개수 변화에 따른 수행 시간 및 최대 메모리 사용량을 측정한 결과.
도 28은 트랜잭션 길이 변화에 따른 수행 시간 및 최대 메모리 사용량을 측정한 결과.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 상황 탐지 방법 및 상황 탐지 시스템에 대하여 설명하면 다음과 같다.
[정의]
먼저, 본 발명을 설명함에 있어서 사용될 기호에 대하여 정의한다.
빈발항목집합 마이닝을 위한 데이터 스트림은 지속적으로 발생되는 트랜잭션의 무한집합으로 다음과 같이 정의된다.
1) I={i1, i2, i3, ..., in}는 과거의 특정 시점으로부터 현재까지의 모든 항목의 집합이며, 항목이란 응용 도메인에서 발생한 단위 정보를 의미한다.
2) 2 I 가 집합 I의 멱집합을 나타낼 때, e∈{2 I -{Ø}}을 만족하는 e를 항목집합(itemset)이라 하고, 항목집합의 길이 │e│는 항목집합 e를 구성하는 항목의 수를 의미하며 임의의 항목집합 e는 해당 항목집합의 길이에 따라 │e│-항목집합이라 정의한다. 일반적으로 3-항목집합 {a,b,c}는 간단히 abc로 나타낸다.
3) 트랜잭션은 공집합이 아닌 I의 부분집합이며 각 트랜잭션은 트랜잭션 식별자 TID를 갖는다. k번째 순서로 데이터 집합에 추가되는 트랜잭션을 T k 라 나타내며 T k TIDk이다.
4) 새로운 트랜잭션 T k 가 추가되었을 때 현재의 데이터 집합 D k 는 현재까지 발생하여 추가된 모든 트랜잭션들 즉, D k =<T 1 , T 2 , ..., T k >로 구성된다. 따라서, │D k │는 현재 데이터 집합 D k 에 포함된 트랜잭션의 총 수를 의미한다.
5) T k 를 현재 트랜잭션이라 할 때 임의의 항목집합 e에 대한 현재 출현 빈도수를 C k (e)라 정의하며, 이는 현재까지의 k 트랜잭션에서 e가 포함된 트랜잭션의 수를 나타낸다. 이와 마찬가지로 항목집합 e의 현재 지지도 S k (e)는 현재까지의 트랜잭션의 총수 │D k │대비 항목집합 e의 출현 빈도수 C k (e)의 비율로 정의한다. 항목집합 e의 현재 지지도 S k (e)가 사전 정의된 최소 지지도 S min 이상일 때 항목집합 e를 현재 데이터 스트림 D k 에서의 빈발 항목집합이라 정의한다.
[estDec]
이하, 본 발명의 바람직한 실시예에 따른 상황 구조 생성 방법에 이용되는 "estDec 방법"에 대하여 설명한다.
estDec 방법은 빈발항목집합 마이닝 기법 중에 온라인 데이터 스트림 환경에서 효율적인 빈발항목집합 탐색을 위해 제안된 것으로서, 데이터 스트림을 구성하는 트랜잭션이 생성과 동시에 처리되며, 빈발 항목집합 생성을 위한 후보 집합의 생성없이 전위트리 구조를 갖는 모니터링 트리를 이용하여 트랜잭션에 나타난 항목집합들의 출현 빈도수를 관리한다. estDEC 방법에서 사용되는 전위트리는 null값을 갖는 루트 노드와 각 빈발항목들에 대응하는 나머지 노드들로 구성되며, 각 노드들은 대응되는 빈발항목들의 지지도 정보를 포함한다. 그리고, 전체 트리는 각 노드에 대응되는 빈발 항목들의 사전 순으로 구성되며, 특정 노드가 표현하는 빈발 항목집합은 루트 노드로부터 자신에게 이르기까지의 경로 상에 있는 모든 항목들로 이루어진다.
[상황]
이하, 본 발명의 바람직한 실시예에 따른 상황 구조 생성 방법을 통해 획득하는 상황 구조에 있어서 "상황"에 대하여 설명한다.
관측 대상이 처한 각 상황(context)은 높은 확률로 동시에 행하여지는 행위 혹은 높은 확률로 동시에 발생하는 상태들의 집합으로 이루어진다. --- (가정 1.)
특히, 관측 대상의 행동 또는 상태가 각 아이템으로 매핑되어 트랜잭션을 구성하게 되는 트랜잭션 기반 스트림 환경에서의 상황은, 해당 도메인에 대한 전체 빈발항목집합의 부분집합들 중 이에 포함된 항목의 개수가 변화하여도 그 지지도 값의 증가 혹은 감소 추세가 완만한 항목들로 이루어진 부분집합으로 표현 가능하다. 지지도 값의 변화율과 관련하여 지지도 변화 속도(support changing velocity, SCV(S,x))는, 특정 도메인에 대한 전체 빈발항목집합 I, 그 부분집합 S가 주어졌을 때, S에 새로운 항목 x가 추가되는 시점에서 아래 수학식 1과 같이 정의된다.
Figure 112010051883639-pat00001
즉, 지지도 변화 속도(SCV(S,x))가 일정 수준 이하인 구간에 대한 최대 빈발항목 집합이 특정 상황을 의미하게 되며, 동일 상황 내부에서의 지지도 변화 속도는 서로 다른 상황에 포함된 아이템들에 대한 지지도 변화 속도보다 작다. 예를 들어, 항목집합 abc와 abcd의 최소 지지도가 각각 0.8, 0.5이며 이들이 서로 다른 상황을 이루고 있을 경우에 지지도 변화 속도는 지지도 감소율을 길이 변화로 나눈 0.3이며,
Figure 112010051883639-pat00002
의 조건을 항상 만족시킨다.
특정 도메인에 대한 전체 항목 집합 I와 이 도메인에 존재하는 모든 상황들의 집합 C={C 1 , C 2 ,..., C n }에 대하여, 각 상황 C k (1≤k≤n)가 만족해야할 최소 조건은 아래 수학식 2와 같다.
Figure 112010051883639-pat00003
(단, 2 I Ipowerset)
이때, s,y,z∈I인 아이템 x,y,z에 대하여 x,y∈Ci, z∈Cj, i≠j일 경우, 상황은 항상 아래 수학식 3의 조건을 만족하는 Ci로 정의된다.
Figure 112010051883639-pat00004
특히, 전체 트랜잭션 집합 T 중에 상황 Ci에 속하는 트랜잭션 집합을 T i라 할때,
Figure 112010051883639-pat00005
즉, 두 상황 C i, C j를 모두 만족시키는 트랜잭션이 존재할 경우 이 C i, C j를 중복적 상황(overlapped context)이라고 정의한다. 그 밖의 경우, 즉 i≠j인 모든 i, j에 대하여
Figure 112010051883639-pat00006
를 만족하는 상황 C i, C j를 배타적 상황(disjoint context)라고 정의한다.
[본 발명에 따른 상황 구조 생성 방법]
도 1에는 본 발명의 바람직한 실시예에 따른 상황 구조 생성 방법의 순서도를 나타내었다.
이하, 도 1을 참조하여 본 발명의 바람직한 실시예에 따른 상황 구조 생성 방법에 대하여 상세히 설명하면 다음과 같다.
먼저, 지속적으로 발생되는 트랜잭션들에 대하여 제1차 빈발항목집합 마이닝을 수행하여 빈발항목집합 트리를 생성한다(S101).
상기 빈발항목집합 트리는 제1차 빈발항목집합 마이닝 작업의 수행 결과물인 빈발항목집합들과 이들의 지지도 정보를 포함하는 트리 형태의 자료 구조로서, 상술한 estDec 방법을 통해 생성되는 전위트리 형태의 빈발항목집합 트리일 수 있다. 빈발항목집합 트리에 포함된 각 노드의 깊이는 해당 노드, 즉 빈발항목집합의 지지도와 밀접한 관계가 있으며, 높은 지지도를 갖는 빈발항목은 낮은 지지도를 갖는 빈발항목과 비교하여 더 상위에 위치한다.
estDec 방법을 통해 생성된 빈발항목집합 트리는 부모-자식 관계에 있는 각 빈발항목들의 지지도 변화량을 얻어내기에 매우 효율적인 구조로 생성된다. 이러한 정보 구조를 바탕으로 특정 값 이하의 지지도 변화 속도를 보이는 빈발항목을 기준으로 기존의 상황의 확장을 멈추고 새로운 상황의 확장을 시작함으로써 상술한 가정 1에 만족하는 상황 탐지를 수행할 수 있다. 이때, 상기 수학식 1에 따라 특정 값 이하의 지지도 변화 속도는 곧 특정 값 이상의 지지도 차이에서 비롯됨을 알 수 있으며, 부모-자식 관계에 있는 서로 다른 두 상황의 지지도 차이를 상황 거리(context distance)라고 정의하며, 이들의 분할 기준이 되는 최대 지지도 차이를 최대 상황 거리(maximum context distance)라고 정의한다.
빈발항목집합 트리 P x 에 대하여 상황 거리(δ)는 상황 집합 C={C1, C2,..., Cn}에 대하여 아래 수학식 4의 조건을 만족한다. 아래 수학식 4에서 δmax는 최대 상황 거리이다.
Figure 112010051883639-pat00007
도 2는 빈발항목집합 트리 상에서 지지도 차이가 최대 상황 거리(δmax)보다 작은 항목 집합의 경우에 한하여 해당 항목 집합을 상황에 포함시키는 상황 확장의 수행 모습의 예를 도시하였다. 이와 같은 상황 확장 방법으로 전체 빈발항목집합 트리를 순회하며 지지도 차이가 최대 상황 거리 이하인 빈발항목집합들만을 찾아 상황 확장을 수행함으로써 전체 도메인에 대하여 적절한 상황을 탐지해낸다.
다음으로, 상기 빈발항목집합 트리를 상황 범위에 따라 수직적으로 다수 구간으로 분할한다(S102).
즉, 하나의 상황을 구성할 수 있는 최대 지지도 차이에 대한 제약, 즉 상황 범위(context range)를 설정한 후에, 상황 범위에 따라 빈발항목집합 트리를 수직적으로 다수 구간으로 분할하고, 분할된 각 구간들 중 동일한 구간에 포함된 빈발항목들만이 동일한 상황에 포함될 수 있도록 함으로써 특정 상황의 과도한 확장에 대처한다. 이때, 상기 상황범위 값을 사용자가 직접 지정할 수 있도록 함으로써 본 발명이 해당 도메인의 특성에 따라 유연하게 적용될 수 있을 것이다.
상기 상황범위는 빈발항목집합 트리의 수직적 분할을 위한 분할 범위 즉, 지지도의 범위로서 ℓ로 표기하며, 상황범위의 값에 따라 분할된 빈발항목집합 트리의 각 구간의 경계를 상황경계(context coundary)라 하며, 상황 경계의 상한선(context upper bound)을 Supper, 하한선(context low bound)을 Slow로 표기한다.
도 3에는 빈발항목집합 트리에 상황범위를 적용하여 상황 확장을 제한하는 방법의 예를 도시하였다. 도 3을 참조하면, 상황 범위에 따라 나누어진 상황 경계의 상한선 및 하한선을 기준으로 상황들은 지지도 차이에 관계없이 더 이상의 확장이 불가능하며, 이 지점에서 강제적인 상황 분리가 수행된다.
다음으로, 각 구간의 기본 항목집합들에 인덱스를 부여하여 각 구간의 새로운 제1 트랜잭션들을 생성하고(S103), 상기 새로운 제1 트랜잭션에 대하여 제2차 빈발항목집합 마이닝을 수행하여 각 구간의 새로운 빈발항목집합 트리들을 생성하고(S104), 상기 새로운 빈발항목집합 트리들의 빈발항목집합들 중에 지지도 차이가 미리 정해진 값 이하인 경우에 하나의 상황으로 탐지하고, 탐지된 상황들을 토대로 계층적 구조의 상황 트리를 생성한다(S105).
즉, 해당 구간에 포함되는 지지도가 가장 높은 항목집합들 각각에 유일한 식별자를 부여하고, 최초의 트랜잭션의 각 투플에 이 항목집합이 포함될 경우에 해당 식별자로 대체하여 새로운 제1 트랜잭션을 생성한 후에, 상기 제1 트랜잭션을 기반으로 제2차 빈발항목집합 마이닝을 수행하여 새로운 빈발항목집합 트리를 생성한 후에, 상기 새로운 빈발항목집합 트리에서 지지도 변화 속도가 최대 상황 거리 이하인 빈발항목들을 탐지해냄으로써 상황 탐지를 수행하여, 탐지된 상황들을 토대로 계층적 구조의 상황 트리를 생성한다.
최초의 빈발항목집합 트리의 각 상황 구간에 포함된 모든 가지들로부터 후보 집합을 생성하고, 이들에게 유일한 식별자를 부여한 후 이것을 기반으로 제2차 빈발 마이닝을 수행하기 때문에, 이 과정으로부터 초래되는 정보의 손실은 존재하지 않는다. 이는, 빈발항목집합 트리의 특정 노드는 그와 동일한 항목을 나타내는 다른 노드를 자신의 부모 노드의 형제 노드로 가지게 되는 estDec 알고리즘의 특성에 기인한 것이다. 또한, 이 과정에서 제2차 빈발항목집합 마이닝의 최소 지지도를 상황 경계의 하한선 값으로 설정함으로써, 새로운 빈발항목집합 트리의 크기를 줄일 수 있기 때문에 그 효율성 또한 자명하다. 그리고, 제2차 빈발항목집합 마이닝을 사용할 경우에 단 한 번의 트리 순회를 통해 각 상황 구간에 포함되는 서로 다른 가장 높은 지지도의 빈발항목집합들을 추출하여 새로운 제1 트랜잭션 생성에 사용할 수 있어 효율적이다. 또한, 이 시점에서 중복적으로 발견되는 빈발항목집합들을 미리 제거함으로써 제2차 빈발항목집합 마이닝 결과 트리에서 발견되는 중복을 최소화할 수 있으며, 최초의 트랜잭션에서 발견되는 빈발항목집합들을 미리 제거함으로써 제2차 빈발항목집합 마이닝 결과 트리에서 발견되는 중복을 최소화할 수 있으며, 최초의 트랜잭션에서 발견되는 빈발항목집합들에 부여된 식별자들을 통하여 생성되기 때문에 제2차 빈발항목집합 마이닝을 위한 새로운 제1 트랜잭션들은 그에 포함된 평균 항목들의 개수가 현저히 적어 효율적이다.
도 4에는 각각 최초의 트랜잭션으로부터 생성된 빈발항목집합 트리의 각 구간에 대한 새로운 제1 트랜잭션의 예를 도시하였으며, 도 5에는 도 4의 제1 트랜잭션을 통해 수행된 제2차 빈발항목집합 마이닝의 결과인 새로운 빈발항목집합 트리의 예를 도시하였다. 도 5의 각 구간의 새로운 빈발항목집합 트리는 그 최소 지지도가 해당 구간의 상황 경계의 하한선과 같으며, 구간 1의 2와 6, 3과 7, 4와 5, 구간 2의 9와 11, 10과 12, 구간 3의 14와 15의 경우는 해당 항목들의 지지도 차이가 최대 상황거리 이하임에 따라 하나의 상황으로 탐지된다.
상술한 바와 같이 상황 범위에 따라 수직적으로 다수 구간으로 분할된 빈발항목집합에 있어서 각 구간의 기본 항목집합들에 인덱스를 부여하여 각 구간의 새로운 제1 트랜잭션을 생성하고, 상기 새로운 제1 트랜잭션에 대하여 제2차 빈발항목집합 마이닝을 수행하여 각 구간의 새로운 빈발항목집합 트리들을 생성하고, 상기 새로운 빈발항목집합 트리들의 빈발항목집합들 중에 지지도 차이가 미리 정해진 값 이하인 경우에 하나의 상황으로 탐지하는 상황 탐지 방법을 수행함으로써, 계층적 구조의 상황 트리를 생성할 수 있다.
즉, 상황 탐지 방법을 통해 탐지된 상황들은 상호간에 병렬적, 혹은 계층적 구조를 가지게 되며, 이를 트리 형태로 표현한 것이 상황 트리이다.
더욱 상세히 설명하면, 제1 트랜잭션 T와 상황 집합 C={C 1, C 2,..., C n}가 주어졌을 때, C를 구성하는 상황들 상호간에는 의미적 상하 관계가 존재하며, 이 포함관계에 따라 구성된 트리 구조를 상황 트리라고 정의한다. 이때, 상황 트리는 다음의 특징을 갖는다.
1) 최상위에는 null값을 갖는 루트 노드가 존재한다.
2) 트리는 탐지된 모든 상황을 포함하여야 하며, 트리의 각 노드는 상황과 1:1의 관계를 가지고, 해당 상황에 포함되는 빈발항목집합 정보 및 적정성 평가 수치 정보를 포함한다.
3) 빈발항목집합 트리 상의 동일한 가지에서 발견되는 상황들 중 보다 지지도가 높은 상황을 부모 노드로, 지지도가 낮은 상황을 자식 노드로 구성한다.
4) 빈발항목집합 트리 상의 서로 다른 가지에서 발견되는 상황들은 상황 트리에서도 서로 다른 가지로 구성된다.
도 6에는 도 5의 새로운 빈발항목집합 트리로부터 위의 상황 트리의 특징 1) ~ 4)에 따라 생성된 상황 트리의 예를 도시하였다. 탐지된 모든 상황들로 구성된 상황 트리는 그 적정성 평가를 위한 수치 정보 즉, 응집도와 연속성, 구간 순수도의 세 가지 측정값을 포함한다.
상기 응집도(CD, cohesion degree)는 하나의 상황에 포함된 빈발항목들의 동시 발생률에 대한 평가 척도로서 각 상황 별로 측정값을 가진다. 상기 응집도는 특정 상황에 포함된 빈발항목들이 높은 확률로 동시에 발생할수록 해당 상황의 정확도를 높이 평가할 수 있다.
상황 Cx와 Cx에 포함되는 항목들의 집합 {i1, i2, ..., in}이 주어졌을 때 Cx의 응집도(CD)는 아래 수학식 5와 같이 정의된다.
Figure 112010051883639-pat00008
상기 수학식 5에서 k=1, 2, ..., n이며, max(ik)는 상황 Cx에 포함되는 항목들의 집합{i1, i2, ..., in}의 지지도 중에 가장 큰 값이며, min(ik)는 상황 Cx에 포함되는 항목들의 집합{i1, i2, ..., in}의 지지도 중에 가장 작은 값이고, itemcnt는 상황 Cx에 속한 항목들의 개수이다.
상기 연속성(CP, continous power)은 상황 트리의 구조에 조건부확률의 개념을 적용한 것으로서, 부모 상황이 발생했다는 조건 하의 자식 상황의 발생률로 계산된다. 부모 상황이 발생할 경우 연속성이 높은 자식 상황일수록 상호간의 의미적 연관 관계를 높이 평가할 수 있다.
상황 Cx와 상황트리 상에서 Cx의 자식 노드에 해당하는 상황 Cy가 주어졌을 때, Cy의 연속성(CP)는 아래 수학식 6과 같이 정의된다.
Figure 112010051883639-pat00009
상기 구간 순수도(BP, boundary purity)는 결정된 구간 내에서 발견된 상황들의 순수성을 수치화한 것으로서, 각 상황을 이루는 구성 요소들이 보다 적은 개수의 상황에 포함될수록 높은 구간 순수도를 가지고, 많은 개수의 상황에 공통적으로 포함될수록 낮은 구간 순수도를 가지며, 특정 제1 트랜잭션에 대한 구간 순수도는 아래 수학식 7에 의해 정의되고, 전체 제1 트랜잭션에 대한 구간 순수도는 아래 수학식 8에 의해 정의된다.
Figure 112010051883639-pat00010
Figure 112010051883639-pat00011
상기 수학식 7과 8에서 Cj는 j번째 상황이고, m은 해당 구간에 포함된 상황의 개수이며, n은 전체 제1 트랜잭션 개수이다.
다음으로, 이전 단계에서 획득한 상기 상황 트리에 상향식 상황 탐지 방법을 적용하여 상황 구조를 구축한다.
더욱 상세히 설명하면, 이전 단계에서 획득한 상기 상황 트리 중에 선택된 상황들에만 새로운 이름을 부여하여 상황 구조의 최하위 계층을 생성(S106)한 후에, 이전 단계에서 부여된 새로운 이름으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성하고 새로운 상황 트리를 생성(S107)한 후에, 상기 새로운 상황 트리의 상황들 중에 선택 가능한 상황이 없는지 판단(S108)하여, 없다고 판단되면 상황 구조 생성을 종료(S110)하고, 있다고 판단되면 적절한 상황들을 선택하여 각 상황들에 새로운 이름을 부여하고 상황 구조의 다음 계층을 생성(S109)한 후에 상황 탐지를 재귀적으로 수행한다.
즉, 상황 트리의 각 노드(상황)들을 대상으로 다음 계층에서 고려하고자 하는 상황들만을 추출하여 이들의 의미에 해당하는 새로운 이름을 부여하고 상황 구조의 다음 계층을 생성한 후에, 상기 새로운 이름으로 새로운 제2 트랜잭션을 구성하여 상황 탐지를 재귀적으로 수행한다. 이때, 다음 계층에서 사용될 상황들의 선택을 위해서는 상술한 적정성 평가 요소들(위의 수학식 5 내지 7 참조)을 활용한다.
여기서, 상황 탐지를 재귀적으로 수행하는 과정은, 이전 단계에서 부여된 새로운 이름으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성한 후에, 상기 제2 트랜잭션에 대한 제3차 빈발항목집합 마이닝을 수행하여 새로운 상황트리를 생성하는 과정을 포함한다.
도 7은 도 6의 상황 트리로부터 취사선택된 상황들에 새로운 이름을 부여하고 이를 기반으로 새로운 제2 트랜잭션을 생성한 예를 도시하였다. 상향식 상황 탐지 기법은 다음의 순서에 따라 추상적 의미의 상황들로부터 점차 구체적 의미의 상황들에 이르기까지 최하위 계층으로부터 각 계층을 순차적으로 생성해 나간다.
즉, 1) 상황 탐지 기법을 통하여 작성된 상황 트리의 각 상황들 중 적정성 평가 결과에 따라, 혹은 사용자의 선택에 따라 의미적으로 가치 있다고 여겨지는 상황들을 취사, 선택한 후에,
2) 선택된 상황들로 상황 구조에 포함될 하나의 계층을 구성하고 이 상황들만으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성하고, 상술한 상황 탐지 방법을 재적용하여 새로운 상황 트리를 작성하고,
3) 상기 2)에서 작성된 상황 트리의 각 상황들 중 적정성 평가 결과, 혹은 사용자의 선택에 따라 다시 한 번 적절한 상황들을 선택하고,
4) 더 이상 선택 가능한 상황이 나타나지 않는 시점까지 상기 2), 3)의 과정을 반복하며 최상 계층에 이르기까지 순차적으로 각 계층을 구성한다.
도 8(a)에는 도 7에서 생성된 새로운 제2 트랜잭션을 기반으로 상황 탐지 방법을 재차 수행하여 다음 상위 계층의 새로운 상황 트리를 생성한 예를 도시하였으며, 도 8(b)는 도 8(a)의 새로운 상황 트리의 상황들 중에 취사 선택된 상황들에 새로운 이름을 부여하고 이를 기반으로 생성된 새로운 제2 트랜잭션으로 구성한 새로운 상황 트리이다. 도 7와 도 8의 예제를 통해 알 수 있듯이, 각 상위 계층을 구성하는 방법은 최초의 계층을 구성하는 방법과 동일하며, 각 상황 트리를 생성한 후에 이에 포함된 상황들 중 선택된 상황들만을 대상으로 해당 계층이 구성된다. 상향식 상황 탐지 기법은 이와 같은 방법으로 추상적 의미의 상황들로부터 점차 구체적 의미의 상황들에 이르기까지 최하위 계층으로부터 각 계층을 순차적으로 생성해 나간다.
도 9(a)와 (b)에는 상술한 상향식 상황 탐지 방법을 수행하기 위한 알고리즘의 예를 나타내었다.
상술한 바와 같은 과정을 거쳐 탐지된 상황들을 기반으로 구성되는 상황 구조(context hierarchy)는, 상황 탐지 방법을 통해 탐지되는 모든 상황들의 의미적 계층 관계를 포괄적으로 표현하는 최종 결과물로서, 높은 가독성과 효율적 표현을 제공한다. 상황 구조의 특징 및 각 계층이 포함하는 정보에 대하여 다음과 같이 정의한다.
상황 구조는 이 구조를 이루는 각 계층들과 이에 포함되는 상황들로 구성되며, 각 계층에 속한 상황 상호간의 구성요소 포함 관계, 상황 종속 관계 등의 정보를 추가적으로 포함함으로써 특정 도메인에 대한 사용자의 이해를 돕는다. 상황 구조의 표현 방법은 다음과 같은 특징을 갖는다.
1) 상황 구조는 계층적 표현 방식에 따라 구성되며, 각 계층은 동일한 상황 탐지 방법의 재귀적 수행에 따라 생성된다.
2) 각 계층별로 이에 포함되는 상황 상호간의 구성요소 포함관계에 대한 정보를 유지하고 있으며, 밴다이어그램을 사용하여 이를 표현함을 원칙으로 한다.
3) 각 계층은 이에 포함되는 상황들을 대상으로 응집도 및 순수도 계산 수치 정보를 포함하며, 응집도의 계산법은 위의 수학식 5를, 순수도의 계산법은 위의 수학식 7, 8을 따른다.
도 10에는 도 4 내지 도 8에 도시한 바와 같은 본 발명의 예제를 통해 획득한 최종 상황 구조의 모습을 도시하였다. 첫 번째 상황 트리로부터 선택된 상황들이 최하위 계층을 구성하고 있으며, 이들을 통해 새롭게 작성된 새로운 제2 트랜잭션을 이용하여 두 번째 계층을 구성하고, 두 번째 계층에 포함된 상황들만을 이용하여 재차 제2 트랜잭션을 생성하고, 상황 탐지 기법을 거쳐 최상위 계층이 만들어진다. 상황 구조의 각 계층은 상황 상호간의 구성요소 포함 관계에 대한 정보를 밴다이어그램으로 표현하고 있으며, 각 계층의 순수도와 각 상황들의 응집도 정보를 함께 표현함으로써 사용자의 판단을 돕는다. 또한 각 계층별로 이에 포함되는 상황 상호간의 논리적 종속 관계에 대한 정보를 추가적으로 계산할 경우에 보다 많은 정보를 제공할 수 있다.
상술한 바와 같은 본 발명은 하나의 상황으로 추정되는 항목들만을 결과로 도출함으로써 최종 결과물의 가독성을 높이고, 탐지된 상황들간의 연관성, 계층적 관계 등을 효율적으로 도출 가능한 능동적 방법이다.
[본 발명에 따른 상황 구조 생성 방법을 구현하는 프로그램이 기록된 기록 매체]
한편, 상술한 본 발명에 따른 상황 구조 생성 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예 : ROM, 플로피 디스트, 하드 디스크, 자기 테이트 등), 광학적 판독 매체(예 : CD-ROM, DVD, 광데이터 저장 장치 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)과 같은 저장 매체를 포함한다.
[본 발명에 따른 상황 구조 생성 시스템]
이하에서는, 도 11을 참조하여 본 발명의 바람직한 실시예에 따른 상황 구조 생성 시스템에 대하여 설명한다.
도 11에는 본 발명에 따른 상황 구조 생성 시스템의 블록도를 도시하였다.
도 11을 참조하면, 빈발항목집합 트리 생성부(101)는 지속적으로 발생되는 트랜잭션들에 대하여 제1차 빈발항목집합 마이닝을 수행하여 빈발항목집합 트리를 생성한다. 상기 빈발항목집합 트리 생성부(101)는 빈발항목집합 트리를 생성하기 위한 수단으로서 estDec 방법을 이용할 수 있으며, 이와 같은 빈발항목집합 트리 생성부의 동작 및 특성은 상술한 바 있는 도 1의 S101 단계에 관련된 설명과 동일하므로, 구체적인 설명은 생략한다.
상황 트리 생성부(102)는 상기 빈발항목집합 트리 생성부(101)에서 생성된 빈발항목집합 트리를 수직적 다수 구간으로 분할하고, 각 구간의 기본 항목집합들에 인덱스를 부여하여 각 구간의 새로운 제1 트랜잭션 및 새로운 빈발항목집합 트리들을 생성한 후에, 상기 새로운 빈발항목집합 트리들의 빈발항목집합들 중에 지지도 차이가 미리 정해진 값 이하인 경우에 하나의 상황으로 탐지하고, 탐지된 상황들을 토대로 계층적 구조의 상황 트리를 생성한다. 이와 같은 상황 트리 생성부(102)의 동작 및 특성은 상술한 바 있는 도 1의 S102 단계 내지 S105 단계 및 도 2 내지 도 6에 관련된 설명과 동일하므로, 구체적인 설명은 생략한다.
상황 구조 생성부(103)는 상황 트리 생성부(102)로부터의 상황 트리에 상향식 상황 탐지 방법을 적용하여 상황 구조를 구축한다. 이와 같은 상황 구조 생성부의 동작 및 특성은 상술한 바 있는 도 1의 S106 단계 내지 S110 단계 및 도 7 내지 도 10에 관련된 설명과 동일하므로, 구체적인 설명은 생략한다.
[본 발명의 성능 증명]
이하에서는, 도 12 내지 도 28을 참조하여 본 발명의 성능을 증명하기 위한 실험 및 그 결과에 대하여 설명한다.
실험에서는 상황 탐지 기법의 기반이 되는 빈발항목집합 트리를 생성함에 있어서 estDec 알고리즘을 사용하였으며, 빈발항목집합 마이닝을 위한 최소지지도 S min 은 각 실험에서 제시한다. 또한, S sig S min 에 대한 상대적 값으로 정의하며, 임계값 S sig p%로 표시되었을 때, S sig 의 실제 값은 S min ×(p/100)이다. 모든 실험은 2GB의 메모리를 가진 듀얼코어 2.0GHz 컴퓨터와 리눅스 커널 2.6.26에서 실험되었으며 프로그램 구현은 C언어를 사용하였다. 실험에서 사용된 데이터는 위스콘신 의과대학의 유방암 데이터와 보육원 지원자 데이터로서, 두 데이터 모두 그 분류 결과 각각이 서로 다른 상황을 나타냄을 고려하여 선택하였으며, 이는 상향식 상황 탐지 방법이 이 상황들을 올바르게 분류해 내는 확률을 토대로 그 정확성을 평가하기 위한 것이다.
먼저, 도 11 내지 도 19를 참조하여 본 발명의 성능을 증명하기 위한 실험 1 및 그 결과에 대하여 설명한다.
실험 1은 위스콘신 의과대학의 Dr.william, H.Wolberg가 측정하고 Olvi Mangasarian이 제공한 유방암 데이터를 통해 진행하였으며, 총 11개의 속성 중 Sample code number와 Class를 제외한 9개의 속성으로 상황 탐지를 수행하였으며, 각 속성의 세부 사항은 도 12와 같다. 제공된 데이터는 총 699개의 인스턴스로 이루어져 있으며, 불완전한 16개의 인스턴스를 사전에 제거하여 총 683개의 인스턴스를 사용하였다. 실험은 전체 인스턴스의 80%에 해당하는 546개의 인스턴스를 임의 추출하여 상황 탐지를 수행한 이후에 나머지 137개의 인스턴스로 탐지된 상황의 정확도를 측정하는 방법으로 진행하였다.
도 13은 최대 상황거리를 0.02로, S sig 를 10%로 고정한 상태에서 최소 지지도 S min 값과 상황범위 ℓ값을 변화시키며 실험한 결과이며, 각 계열은 S min 을 의미한다.
도 13의 실험에서 탐지된 상황의 평가를 위하여 순수도와 응집도의 평균을 그 평가 측정값으로 사용하였으며, 순수도와 응집도 각각의 그래프는 도 14의 (a), (b)와 같다.
도 13 내지 14의 결과를 통해 상황범위 ℓ이 0.175일 경우에 0.2의 S min 에서 최대의 측정값이 발견되었으며, 상황범위 ℓ이 0.15일 경우 0.3의 S min 에서 최소의 측정값이 발견됨을 알 수 있다. S min 이 0.3인 경우 ℓ이 0.15인 구간에서 그 순수도는 낮지 않으나 응집도가 낮은 값을 가짐으로 인하여 전체 평가 측정값이 최소인 구간이 된다. 반면, S min 이 0.2, ℓ이 0.175인 구간은 순수도와 응집도 모두 높은 값을 가짐으로써 전체 평가 측정값이 최대인 구간이 된다.
도 15의 (a)는 ℓ값을 0.175로 고정하였을 때 S min 에 따른 평가 측정값의 변화 그래프로서, δ가 0.2일 경우에 그 최대값을 가짐을 보인다. 도 15의 (b)는 ℓ값을 0.175, S min 값을 0.2로 고정한 상태에서 다양한 δ값에 따른 평가 측정값의 변화 모습이다. 결과적으로 상향식 상황 탐지 방법은 해당 데이터셋에 대하여 S min =0.2, ℓ=0.175, δ=0.02일 경우 그 평가 측정값이 최대에 해당하며, S min =0.3, ℓ=0.15, δ=0.03일 경우에 그 평가 측정값이 최소에 해당함을 알 수 있다.
도 16은 앞선 도 13의 실험에서 다양한 수준의 평가 측정값을 가진 상황 구조들에 대하여 상황 탐지에 사용되지 않은 나머지 137개의 인스턴스를 통해 그 정확도를 측정한 결과이다. 전체 데이터에 포함된 두 개의 클래스 각각의 정확도 및 전체 데이터에 대한 정확도가 최대 측정값 (a), 중상 측정값 (b), 중하 측정값(c), 최하 측정값(d)로 표현되어 있다. 중상 측정값의 경우 Smin=0.4, ℓ=0.175, 중하 측정값의 경우 Smin=0.3, ℓ=0.175를 사용하였으며, 최대 측정값과 최하 측정값은 앞서 설명한 값을 사용하였다.
도 13의 실험을 통해 구성된 상황 구조에 포함된 각 상황들은 begin, malignant의 두 가지 클래스들 중 하나를 나타내게 되는데, 이때 전체 데이터셋에 대하여 특정 상황이 순수하게 한 가지 클래스에만 속할 경우 이 상황은 명확히 해당 클래스만을 대표하게 되며, 두 가지 클래스 모두에 속하는 상황이 발생할 경우 그 발생 빈도 수에 따라 비율이 높은 클래스를 선택하여 해당 클래스를 대표하게 된다. 도 16의 모든 결과에 대하여 순수하게 한 가지 클래스에만 속하는 상황들로부터 유추된 결과와 그렇지않은 상황들로부터 유추된 결과의 분포를 확정(precise) 비율과 추측(presumption) 비율로 나누어 표현하고 있다. 결과적으로 최대의 평가 측정값을 가진 상황 구조로 실험하였을 경우 전체 정확도가 높을 뿐 아니라, 정확도를 구성하는 예측 방식 중 확정상황(precise context)으로부터 예측된 비율이 매우 높음을 볼 수 있으며, 최소의 평가 측정값을 가진 상황 구조로 실험하였을 경우 전체 정확도가 일정 수준 감소하였음을 알 수 있고, 정확도를 구성하는 예측 방식 중 추측 상황(presumption dontext)으로부터 예측된 비율이 다소 높아졌음을 알 수 있다. 또한, 중상 측정값을 가진 상황 구조로 실험하였을 경우와 중하 측정값을 가진 상황 구조로 실험하였을 경우 최대, 최하의 범위 사이에서 그 정확도를 가짐을 볼 수 있다. 다음 그림 17의 (a)는 그림 16의 각 경우의 결과를 알기 쉽게 비교한 것이다. 결과적으로 평가 측정값의 감소에 따라 전체 정확도 역시 함께 감소함을 볼 수 있다.
한편, 잘 구성된 상황 구조일수록 상위 계층으로 올라감에 따라 해당 계층을 구성하는 상황들이 명확히 하나의 클래스에만 속하는 것이 바람직하며, 이것은 해당 계층을 구성하는 상황들 중 확정상황의 비율, 즉 배타성(disjointness)이 높음을 의미한다. 도 17의 (b)는 도 16의 각 상황 구조의 계층별 배타성 값에 대한 비교 실험 결과이다. 배타성은 해당 계층에 포함되는 모든 상황의 개수를 100%로 했을 때 그 중 확정상황의 비율을 나타낸다. 최대 평가 측정값을 가진 상황 구조의 경우 최상위 계층은 그 배타성이 100%에 이르며 하위 계층으로 갈수록 그 비율이 떨어지는 현상을 보였고, 최소 평가 측정값을 가진 상황 구조의 경우 최상위 계층의 배타성조차 88% 수준에 그침을 볼 수 있다.
도 18은 상향식 상황 탐지 알고리즘을 통하여 계산된 정확도와 기타 대표적 분류 알고리즘들 및 신경망 알고리즘과의 정확도 비교 실험 결과이다. 실험을 함에 있어서 전체 데이터의 80%에 해당하는 데이터를 임의 추출하여 학습 데이터로 사용하고 나머지 20%의 데이터를 실험 데이터로 사용하는 방식으로 진행하였으며, 도 18의 정확도는 이 과정을 20회 반복하여 얻은 각 결과들의 평균값으로 표현하였다. 각 알고리즘에서 사용된 세부적인 매개변수 내역은 도 19와 같다.
실험 결과, 본 발명에 따른 상향식 상황 탐지 알고리즘은 신경망 알고리즘을 제외한 기타 대표적인 분류 알고리즘들보다 평균적으로 높은 정확도를 보인다. 신경망 알고리즘의 경우 상황 탐지 알고리즘보다 높은 정확도를 보이지만, 그 적용 분야 및 물리적 성능, 즉 수행시간, 메모리 사용량 등의 관점에서 볼 때 단순히 정확도만을 고려한 성능 비교는 불가능하다. 빈발항목집합을 이용하는 본 발명의 특성상 시스템이 허용하는 범위 내에서 보다 낮은 최소 지지도를 사용할 경우 더욱 높은 정확도를 도출할 수 있을 것으로 예상이 된다.
이하에서는, 도 20 내지 도 25를 참조하여 본 발명의 성능을 증명하기 위한 실험 2에 대하여 설명한다.
실험 2는 Vladislav Rajkovic 외 13인이 제공하고 Marko Bohanec, Blaz Zupin이 제공한 보육원 지원자 데이터를 사용하였으며, 데이터는 총 8개의 속성으로 구성되고, 모든 속성은 범주(categorical) 데이터로 이루어져 있다. 각 속성의 세부 사항은 도 20과 같다. 제공된 데이터는 총 12958개의 인스턴스로 이루어져 있으며, 이를 구성하고 있는 네 개의 클래스는 각각 not_recom, very_recom, priority, spec_priority이다. 실험은 전체 인스턴스의 80%에 해당하는 10366개의 인스턴스를 임의 추출하여 상황 탐지를 수행한 이후 나머지 2592개의 인스턴스로 탐지된 상황의 정확도를 측정하는 방법으로 진행하였다. 그림 21은 최대상황거리를 0.02로, Ssig를 10%로 고정한 상태에서 최소지지도 Smin값과 상황범위 ℓ값을 변화시키며 실험한 결과이며, 각 계열은 Smin값을 의미한다.
도 21의 실험에서는 앞선 실험 1과 마찬가지로 탐지된 상황의 평가를 위하여 순수도와 응집도의 평균을 그 평가 측정값으로 사용하였다. 도 21의 결과를 통해 상황범위 ℓ이 0.125일 경우에 0.175의 Smin에서 최대의 측정값이 발견되었으며, 상황범위 ℓ이 0.1일 경우에 0.2의 Smin에서 최소의 측정값이 발견됨을 알 수 있다. 그리고, 앞선 실험 1과 동일한 방식으로 최적의 δ값을 구하였으며, 결과적으로 정확도 비교 실험을 위해 최대 측정값, 중상 측정값, 중하 측정값, 최하 측정값을 얻기위한 매개변수는 각각 Smin이 0.175, ℓ이 0.125인 구간, Smin이 0.125, ℓ이 0.125인 구간, Smin이 0.1, ℓ이 0.125인 구간, Smin이 0.2, ℓ이 0.1인 구간을 선택하였다.
도 22는 도 21의 실험에서 다양한 수준의 평가 측정값을 가진 상황 구조들에 대하여 상황 탐지에 사용되지 않은 나머지 20%에 해당하는 인스턴스들을 통해 그 정확도를 측정한 결과이다. 최대 측정값, 중상 측정값, 중하 측정값, 최하 측정값 각각에 대한 전체 데이터의 정확도를 확정상황(precise context), 추측상황(presumption context)에 매칭된 확률로 구분하여 표현하고 있다. 확정상황과 추측상황에 대한 분류방법은 앞선 실험1과 동일하다.
도 22의 실험 결과를 참조하면, 최대의 평가 측정값을 가진 상황 구조로 실험하였을 경우 전체 정확도가 높았으며, 최하의 평가 측정값을 가진 상황으로 갈수록 전체 정확도가 낮아짐을 볼 수 있다. 또한, 이 실험의 경우 네 개의 클래스 중 하나의 클래스 전체가 다른 클래스들과 중복없이 유일하게 포함하는 확정상황이 존재하고, 나머지 세 개의 클래스는 확정상황 없이 모두 추측 상황으로 구성되어져 있기 때문에 모든 실험에서 확정상황으로부터 측정된 결과의 비율은 동일하다. 앞선 실험 1과 마찬가지로 중상 측정값을 가진 상황 구조로 실험하였을 경우와 중하 측정값을 가진 상황 구조로 실험하였을 경우 최대, 최하의 범위 사이에서 그 정확도를 가짐을 볼 수 있다. 다음 그림 23의 (a)는 그림 21의 각 경우의 결과를 알기 쉽게 비교한 것으로 평가 측정값의 감소에 따라 전체 정확도 역시 함께 감소함을 알 수 있다.
한편, 잘 구성된 상황 구조일수록 상위 계층으로 올라감에 따라 해당 계층을 구성하는 상황들이 명확히 하나의 클래스에만 속하는 것이 바람직하며, 이것은 해당 계층을 구성하는 상황들 중 확정상황의 비율, 즉 배타성(disjointness)이 높음을 의미한다. 도 23의 (b)는 도 21의 각 상황 구조의 계층별 배타성에 대한 비교 실험 결과이다.
실험에 사용된 데이터의 특성 상 확연히 구분되는 클래스가 하나뿐이고 나머지 클래스들은 모두 공유하는 상황들이 존재하기 때문에 최대 측정값을 갖는 상황 구조라 할지라도 그 배타성은 최대값이 50%에 그침을 볼 수 있다. 단, 낮은 평가 측정값을 갖는 상황 구조일수록 배타성이 감소하는 추세이며, 최하의 평가 측정값을 갖는 상황 구조의 경우 첫 번째 계층에서도 배타성은 0%임을 보인다.
도 24는 상향식 상황 탐지 알고리즘을 통하여 계산된 정확도와 기타 대표적 분류 알고리즘들 및 신경망 알고리즘과의 정확도 비교 실험 결과이다. 실험 방법은 앞선 실험 1과 마찬가지로 전체 데이터의 80%에 해당하는 데이터를 임의 추출하여 학습 데이터로 사용하고 나머지 20%의 데이터를 실험 데이터로 사용하는 방식으로 진행하였으며, 도 24의 정확도는 이 과정을 20회 반복하여 얻은 각 결과들의 평균값으로 표현하였다. 각 알고리즘에서 사용된 세부적인 매개변수 내역은 도 25와 같다.
실험 결과, 제안하는 상향식 상황 탐지 알고리즘은 신경망 알고리즘을 제외한 기타 대표적인 분류 알고리즘들보다 평균적으로 높은 정확도를 보인다. 앞선 실험1과 마찬가지로 신경망 알고리즘의 경우 상황탐지 알고리즘보다 높은 정확도를 보이지만, 그 적용 분야 및 물리적 성능, 즉 수행시간, 메모리 사용량 등의 관점에서 볼 때 단순히 정확도만을 고려한 성능 비교는 불가능하며, 빈발항목집합을 이용하는 제안 방법의 특성상 시스템이 허용하는 범위 내에서 보다 낮은 최소지지도를 사용할 경우 더욱 높은 정확도를 도출할 수 있을 것으로 예상된다.
이하에서는, 도 26 내지 도 28을 참조하여 본 발명의 성능을 증명하기 위한 실험 3에 대하여 설명한다.
실험 3은 알고리즘의 물리적 성능 평가를 위한 실험으로서, 수행 결과 발견되는 상황 개수, 중복적 상황 개수 및 트랜잭션의 길이 변화에 따른 수행 시간과 최대 메모리 사용량을 측정하는 방식으로 진행하였다. 실험을 위하여 사용된 데이터셋은 각 실험의 목적에 부합하도록 인공적으로 생성한 것으로서, 이들 각각은 총 10000개의 트랜잭션으로 구성되어 있으며, 상황 개수, 중복적 상황 개수, 트랜잭션 길이의 경우 그 값은 각 실험에서 명기한 바와 같다. 모든 실험에서 상황범위 0.2, 최대상황거리 0.05, Smin 0.05, Ssig 10%의 값을 사용하여 실험을 진행하였으며, 일괄적으로 3계층 상황을 탐지하는 시점 까지를 그 실험 대상으로 하였고, estDec 알고리즘 수행 시간을 제외한 상황 탐지 알고리즘의 수행시간만을 결과에 포함시켰으며, 각 실험 당 총 20회의 수행 결과에 따른 평균값을 비교함으로써 결과를 작성하였다.
도 26은 트랜잭션의 평균 길이를 10으로 고정하고, 중복적 상황을 포함하지 않은 조건 하에서 상황 개수 변화에 따른 성능을 비교한 것이다. 범례로 나타낸 것은 데이터셋에 포함된 서로 다른 항목의 개수를 의미하며, 일반적으로 이러한 서로 다른 항목의 개수가 증가함에 따라 또한, 상황의 개수가 증가함에 따라 그 수행시간 역시 증가함을 확인할 수 있다. 이는 상황의 개수 혹은 각 상황에 포함된 항목의 개수가 증가할 경우 알고리즘이 처리해야할 연산 또한 이에 비례하여 증가하기 때문이며, 트랜잭션에 추가된 노이즈들로 인해 그 수행시간이 다소 불규칙하지만 전체적인 증가 추세를 명확히 확인할 수 있다. 최대 메모리 사용량의 경우 전체 상황들에 포함되는 모든 항목들의 개수에 영향을 받기 때문에, 서로 다른 항목의 전체 개수가 일정할 경우 이를 통해 탐지되는 상황의 개수는 결과에 큰 영향을 미치지 못함을 알 수 있다.
도 27은 전체 상황 개수를 10으로, 트랜잭션의 평균 길이를 10으로 고정한 후에 중복적 상황의 개수를 증가시킴에 따라 그 수행시간과 최대 메모리 사용량을 비교한 것이다. 중복적 상황의 개수가 증가할 경우 상위 계층을 구성하는 상황이 많아지고, 이에 따라 필요한 연산 또한 급격히 증가함을 알 수 있으며, 데이터셋에 포함된 서로 다른 항목의 개수 역시 소요되는 수행시간과 비례하다. 최대 메모리 사용량 비교를 통해 중복적 상황의 발생으로 인하여 상위 계층의 상황이 늘어남에 따라 최대 메모리 사용량 역시 이에 비례하여 증가함을 알 수 있다.
그림 28의 경우 전체 상황 개수를 10으로 고정한 상태에서 트랜잭션의 평균 길이를 점차 증가시킴에 따라 나타나는 수행시간 및 최대 메모리 사용량 비교 실험이며, 실험 전체에 있어 소요된 수행시간의 증가 추세가 비교적 완만히 나타남을 알 수 있다. 단, 상황 탐지 알고리즘은 데이터셋을 이루는 트랜잭션의 길이보다는 이에 포함된 상황 개수, 중복적 상황 개수 등에 보다 큰 영향을 받기 때문에 전체적인 증가 추세 속에서 노이즈로 인한 세부적인 불규칙성이 다양하게 나타난다. 최대 메모리 사용량의 경우 역시 전체 상황들에 포함되는 모든 항목들의 개수에 영향을 받기 때문에, 서로 다른 항목의 전체 개수가 일정할 경우 이를 통해 탐지되는 상황의 결과에 큰 영향 미치지 못한다.
101 : 빈발항목집합 트리 생성부
102 : 상항 트리 생성부
103 : 상황 구조 생성부

Claims (18)

  1. (a)지속 발생되는 트랜잭션들에 대한 빈발항목집합 트리를 수직적 다수 구간으로 분할하고, 각 구간의 기본 항목집합들에 인덱스를 부여하여 각 구간의 새로운 제1 트랜잭션들 및 새로운 빈발항목집합 트리들을 생성하는 단계;
    (b)상기 새로운 빈발항목집합 트리들의 빈발항목집합들 중에 지지도 차이가 미리 정해진 값 이하인 경우에 하나의 상황으로 탐지하고, 탐지된 상황들을 토대로 계층적 구조의 상황 트리를 생성하는 단계;
    (c)상기 상황 트리 중에 선택된 상황들에만 새로운 이름을 부여하여 상황 구조의 최하위 계층을 생성하는 단계;
    (d)이전 단계에서 부여된 새로운 이름으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성하고 새로운 상황 트리를 생성하는 단계; 및
    (e)상기 새로운 상황 트리의 상황들 중에 선택 가능한 상황이 없는지 판단해, 없다고 판단되면 상황 구조 생성을 종료하고, 있다고 판단되면 상기 다음 계층 생성에 사용될 상황들을 선택하여 각 상황들에 새로운 이름을 부여하고 상황 구조의 다음 계층을 생성하는 단계; 를 포함하는 것을 특징으로 하는 상황 구조 생성 방법.
  2. 제 1 항에 있어서, 상기 (a)단계에서는 지속적으로 발생되는 트랜잭션들에 대한 제1차 빈발항목집합 마이닝을 수행하여 빈발항목집합 트리를 생성하며,
    각 구간의 새로운 제1 트랜잭션들에 대한 제2차 빈발항목집합 마이닝을 수행하여 새로운 빈발항목집합 트리들을 생성하는 것을 특징으로 하는 상황 구조 생성 방법.
  3. 제 1 항에 있어서, 상기 빈발항목집합 트리를 수직적 다수 구간으로 분할하는 기준은 상황 범위이며, 상기 상황 범위는 하나의 상황을 구성할 수 있는 지지도 차이의 최대값에 대응되는 것을 특징으로 하는 상황 구조 생성 방법.
  4. 제 1 항에 있어서, 상기 (b)단계에서 미리 정해진 값은 상황들 간의 지지도 차이의 최대값인 최대 상황 거리인 것을 특징으로 하는 상황 구조 생성 방법.
  5. 제 4 항에 있어서, 상황들 간의 지지도 차이인 상황 거리(δ)는
    Figure 112011082972475-pat00012
    를 만족하는 것을 특징으로 하는 상황 구조 생성 방법. (여기서, Ci와 Cj는 상황들로 구성된 집합이며, S(Ci)는 i번째 상황의 지지도이고, S(Cj)는 j번째 상황의 지지도이며,
    Figure 112011082972475-pat00013
    이고, δmax는 최대 상황 거리임.)
  6. 제 1 항에 있어서, 상기 (b)단계에서 상기 상황 트리의 상황들 각각은 빈발항목집합 정보 및 적정성 평가 수치 정보를 포함하고,
    상기 적정성 평가 수치 정보는 응집도 측정값, 연속성 측정값, 구간 순수도 측정값을 포함하며,
    상기 응집도 측정값은 상황에 포함된 항목들의 동시 발생률에 대한 평가 척도로서 각 상황별로 측정값을 가지며, 상기 연속성 측정값은 부모 상황이 발생했다는 조건 하의 자식 상황의 발생률이며, 상기 구간 순수도 측정값은 결정된 구간 내에서 발견된 상황들의 순수성을 수치화한 것인 것을 특징으로 하는 상황 구조 생성 방법.
  7. 제 6 항에 있어서, 상기 응집도(CD)는
    Figure 112011082972475-pat00014
    에 의해 정의되는 것을 특징으로 하는 상황 구조 생성 방법.(여기서, itemcnt는 상황 Cx에 속한 항목들의 개수이고, ik는 상황 Cx에 포함되는 항목들의 집합 {i1, i2, ..., in}들 중에 하나이며, 1≤k≤n이고, max(ik)는 상황 Cx에 포함되는 항목들의 집합{i1, i2, ..., in}의 지지도 중에 가장 큰 값이며, min(ik)는 상황 Cx에 포함되는 항목들의 집합{i1, i2, ..., in}의 지지도 중에 가장 작은 값임.)
  8. 제 6 항에 있어서, 상기 연속성(CP)은
    Figure 112010051883639-pat00015
    에 의해 정의되는 것을 특징으로 하는 상황 구조 생성 방법. (여기서, S(Cy)는 부모 상황의 지지도이고, S(Cx)는 자식 상황의 지지도임.)
  9. 제 6 항에 있어서, 특정 트랜잭션에 대한 구간 순수도(BP)는
    Figure 112010051883639-pat00016
    에 의해 정의되며, 전체 트랜잭션에 대한 구간 순수도는
    Figure 112010051883639-pat00017
    에 의해 정의되는 것을 특징으로 하는 상황 구조 생성 방법. (여기서, Cj는 j번째 상황이고, m은 해당 구간에 포함된 상황의 개수이며, n은 전체 트랜잭션의 개수임.)
  10. 제 1 항에 있어서, 상기 (c)단계에서는 상황 트리의 최하위 계층의 상황들 중에 적정성 평가 결과 또는 사용자에 의해 선택된 상황들에만 새로운 이름을 부여하여 상황 구조의 최하위 계층을 생성하는 것을 특징으로 하는 상황 구조 생성 방법.
  11. 제 10 항에 있어서, 상기 적정성 평가 결과는 응집도, 연속성, 구간 순수도를 포함하는 적정성 평가 수치 정보에 의해 결정되며, 상기 응집도 측정값은 상황에 포함된 항목들의 동시 발생률에 대한 평가 척도로서 각 상황별로 측정값을 가지며, 상기 연속성 측정값은 부모 상황이 발생했다는 조건 하의 자식 상황의 발생률이며, 상기 구간 순수도 측정값은 결정된 구간 내에서 발견된 상황들의 순수성을 수치화한 것인 것을 특징으로 하는 상황 구조 생성 방법.
  12. 제 1 항에 있어서, 상기 (d)단계는,
    (d1)이전 단계에서 부여된 새로운 이름으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성하는 단계; 및
    (d2)상기 제2 트랜잭션에 대한 제3차 빈발항목집합 마이닝을 수행하여 새로운 상황 트리를 생성하는 단계;
    를 포함하는 상황 탐지가 수행되는 것을 특징으로 하는 상황 구조 생성 방법.
  13. 제 1 항에 있어서, 상기 (e)단계에서 상기 새로운 상황 트리의 상황들 중에 선택 가능한 상황이 있다고 판단되면, 상기 새로운 상황 트리의 상황들 중에서 적정성 평가 결과 또는 사용자에 의해 선택된 상황들에 새로운 이름을 부여하고 상황 구조의 다음 계층을 생성한 후에 상기 (d)단계부터 반복 수행하는 것을 특징으로 하는 상황 구조 생성 방법.
  14. 제 1 항에 있어서, 상기 상황 구조는 각 계층에 있어서 상황 상호 간의 구성 요소 포함 관계에 대한 정보를 포함하며, 밴 다이어그램으로 표현되는 것을 특징으로 하는 상황 구조 생성 방법.
  15. 제 1 항에 있어서, 상기 상황 구조의 각 계층은 해당 계층에 포함되는 상황들에 대한 응집도 측정값 및 순수도 측정값을 포함하고 있는 것을 특징으로 하는 상황 구조 생성 방법.
  16. 지속적으로 발생되는 트랜잭션들에 대한 빈발항목집합 트리를 생성하는 빈발항목집합 트리 생성부;
    상기 빈발항목집합 트리를 수직적 다수 구간으로 분할하고, 각 구간의 기본 항목집합들에 인덱스를 부여하여 각 구간의 새로운 제1 트랜잭션들 및 새로운 빈발항목집합 트리들을 생성한 후에, 상기 새로운 빈발항목집합 트리들의 빈발항목집합들 중에 지지도 차이가 미리 정해진 값 이하인 경우에 하나의 상황으로 탐지하고, 탐지된 상황들을 토대로 계층적 구조의 상황 트리를 생성하는 상황 트리 생성부; 및
    상기 상황 트리 중에 선택된 상황들에만 새로운 이름을 부여하여 상황 구조의 최하위 계층을 생성하고, 상기 새로운 이름으로 다음 계층을 위한 새로운 제2 트랜잭션을 생성하고 새로운 상황 트리를 생성한 후에, 상기 새로운 상황 트리의 상황들 중에 선택 가능한 상황이 없는지 판단하여, 없다고 판단되면 상황 구조 생성을 종료하고, 있다고 판단되면 상기 다음 계층 생성에 사용될 상황들을 선택하여 각 상황들에 새로운 이름을 부여하고 상황 구조의 다음 계층을 생성하는 상황 구조 생성부;
    를 포함하여 구성된 것을 특징으로 하는 상황 구조 생성 시스템.
  17. 제 16 항에 있어서, 상기 상황 구조 생성부는 새로운 제2 트랜잭션을 생성하고 새로운 상황 트리를 생성하는데 있어서, 제2 트랜잭션을 생성한 후에 제2 트랜잭션에 대한 제3차 빈발항목집합 마이닝을 수행하여 새로운 상황 트리를 생성하는 과정을 포함하는 상황 탐지를 수행하는 것을 특징으로 하는 상황 구조 생성 시스템.
  18. 컴퓨터로 판독 가능한 기록 매체에 있어서, 제 1 항 내지 제 15 항 중 어느 한 항에 따른 방법을 구현하는 프로그램이 기록되는 기록 매체.
KR1020100077740A 2010-08-12 2010-08-12 상황 구조 생성 방법 및, 상황 구조 생성 시스템 KR101130734B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100077740A KR101130734B1 (ko) 2010-08-12 2010-08-12 상황 구조 생성 방법 및, 상황 구조 생성 시스템
US13/051,914 US8224805B2 (en) 2010-08-12 2011-03-18 Method for generating context hierarchy and system for generating context hierarchy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100077740A KR101130734B1 (ko) 2010-08-12 2010-08-12 상황 구조 생성 방법 및, 상황 구조 생성 시스템

Publications (2)

Publication Number Publication Date
KR20120015558A KR20120015558A (ko) 2012-02-22
KR101130734B1 true KR101130734B1 (ko) 2012-03-28

Family

ID=45565546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100077740A KR101130734B1 (ko) 2010-08-12 2010-08-12 상황 구조 생성 방법 및, 상황 구조 생성 시스템

Country Status (2)

Country Link
US (1) US8224805B2 (ko)
KR (1) KR101130734B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676461B2 (en) * 2007-07-18 2010-03-09 Microsoft Corporation Implementation of stream algebra over class instances
US20100088325A1 (en) 2008-10-07 2010-04-08 Microsoft Corporation Streaming Queries
US9158816B2 (en) 2009-10-21 2015-10-13 Microsoft Technology Licensing, Llc Event processing with XML query based on reusable XML query template
US8930374B2 (en) * 2012-06-29 2015-01-06 Nokia Corporation Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure
CN103577278B (zh) * 2012-07-30 2016-12-21 国际商业机器公司 用于数据备份的方法和系统
US9430548B1 (en) * 2012-09-25 2016-08-30 Emc Corporation Generating context tree data based on a tailored data model
CN103067300B (zh) * 2013-01-09 2016-04-20 清华大学 网络流量自动化特征挖掘方法
US9483581B2 (en) * 2013-06-10 2016-11-01 Google Inc. Evaluation of substitution contexts
US10223401B2 (en) * 2013-08-15 2019-03-05 International Business Machines Corporation Incrementally retrieving data for objects to provide a desired level of detail
US9767222B2 (en) * 2013-09-27 2017-09-19 International Business Machines Corporation Information sets for data management
US9442968B2 (en) * 2014-03-31 2016-09-13 Sap Se Evaluation of variant configuration using in-memory technology
CN104376116A (zh) * 2014-12-01 2015-02-25 国家电网公司 一种人物信息的搜索方法及装置
CN104462318A (zh) * 2014-12-01 2015-03-25 国家电网公司 一种多网络中相同人名的身份识别方法及装置
CN105183780B (zh) * 2015-08-12 2018-09-18 中国工程物理研究院计算机应用研究所 基于改进agnes算法的协议分类方法
CN106022950B (zh) * 2016-05-06 2020-12-18 中国电力科学研究院有限公司 一种配电网二次设备类型识别方法及系统
CN106557535B (zh) * 2016-06-23 2020-10-30 哈尔滨安天科技集团股份有限公司 一种大数据级Pcap文件的处理方法及系统
CN106650273B (zh) * 2016-12-28 2019-08-23 东方网力科技股份有限公司 一种行为预测方法和装置
JP7295132B2 (ja) * 2018-03-12 2023-06-20 ライン プラス コーポレーション ニューラルネットワークを利用して状況を認知する拡張現実提供装置、提供方法、およびコンピュータプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070035300A (ko) * 2005-09-27 2007-03-30 인하대학교 산학협력단 시간차를 이용한 상대적인 빈발항목 탐색 시스템 및 방법
KR20090042362A (ko) * 2007-10-26 2009-04-30 연세대학교 산학협력단 데이터 스트림으로부터 최대 빈발항목집합을 탐색하는 방법및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339767B1 (en) * 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US6185559B1 (en) * 1997-05-09 2001-02-06 Hitachi America, Ltd. Method and apparatus for dynamically counting large itemsets
US6253195B1 (en) * 1998-09-21 2001-06-26 Microsoft Corporation Optimized query tree
US6751634B1 (en) * 1999-08-26 2004-06-15 Microsoft Corporation Method and system for detecting object inconsistency in a loosely consistent replicated directory service
US6721724B1 (en) * 2000-03-31 2004-04-13 Microsoft Corporation Validating multiple execution plans for database queries
US6826568B2 (en) * 2001-12-20 2004-11-30 Microsoft Corporation Methods and system for model matching
US6961733B2 (en) * 2003-03-10 2005-11-01 Unisys Corporation System and method for storing and accessing data in an interlocking trees datastore
WO2005052810A1 (en) * 2003-11-28 2005-06-09 Canon Kabushiki Kaisha Method of constructing preferred views of hierarchical data
US7672958B2 (en) * 2005-01-14 2010-03-02 Im2, Inc. Method and system to identify records that relate to a pre-defined context in a data set
US7747653B2 (en) * 2005-08-26 2010-06-29 International Business Machines Corporation Summarizing application performance in a large system from a components perspective

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070035300A (ko) * 2005-09-27 2007-03-30 인하대학교 산학협력단 시간차를 이용한 상대적인 빈발항목 탐색 시스템 및 방법
KR20090042362A (ko) * 2007-10-26 2009-04-30 연세대학교 산학협력단 데이터 스트림으로부터 최대 빈발항목집합을 탐색하는 방법및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
한국정보기술학회논문집 제8권 제4호 「데이터 스트림 규칙에 기반을 둔 지능형 로봇의 적응적인 실시간 상황 인지 기법」(나상혁 외 1명,2010.04,P.141-151)
한국컨텐츠학회 춘계 종학학술대회 논문집 제5권 제1호 「빈발패턴트리를 이용한 효율적인 연관 아이템 군집」(조동주 외 3명, 2007.06)

Also Published As

Publication number Publication date
US8224805B2 (en) 2012-07-17
US20120041979A1 (en) 2012-02-16
KR20120015558A (ko) 2012-02-22

Similar Documents

Publication Publication Date Title
KR101130734B1 (ko) 상황 구조 생성 방법 및, 상황 구조 생성 시스템
Duong et al. An efficient algorithm for mining the top-k high utility itemsets, using novel threshold raising and pruning strategies
Yun et al. Incremental high utility pattern mining with static and dynamic databases
JP3974511B2 (ja) 情報検索のためのデータ構造を生成するコンピュータ・システム、そのための方法、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラム、情報検索のためのデータ構造を生成するコンピュータ実行可能なプログラムを記憶したコンピュータ可読な記憶媒体、情報検索システム、およびグラフィカル・ユーザ・インタフェイス・システム
JP5092165B2 (ja) データ構築方法とシステム
Osei-Bryson Evaluation of decision trees: a multi-criteria approach
CN109034562B (zh) 一种社交网络节点重要性评估方法及系统
Lin et al. RWFIM: Recent weighted-frequent itemsets mining
JP2009093652A (ja) ターム階層の自動生成
Chen et al. Temporal representation for scientific data provenance
CN105373546A (zh) 一种用于知识服务的信息处理方法及系统
Deylami et al. Link prediction in social networks using hierarchical community detection
Lin et al. Efficiently mining frequent itemsets with weight and recency constraints
Bakar et al. I-Eclat: Performance enhancement of Eclat via incremental approach in frequent itemset mining
CN114707059A (zh) 一种基于用户偏好的水利对象元数据推荐系统构建方法
An et al. Objective and Subjective Algorithms for Grouping Association Rules.
JP5470082B2 (ja) 情報蓄積検索方法及び情報蓄積検索プログラム
Chadokar et al. Optimizing network traffic by generating association rules using hybrid apriori-genetic algorithm
Nguyen et al. A new approach for efficiently mining frequent weighted utility patterns
Nguyen et al. A method for efficient clustering of spatial data in network space
Yun On pushing weight constraints deeply into frequent itemset mining
Joshi et al. An efficient system for subgraph discovery
CN110807061A (zh) 一种基于分层搜索不确定图的频繁子图的方法
Habibpour et al. A new hybrid k-means and k-nearest-neighbor algorithms for text document clustering.
Shaharanee et al. Irrelevant Feature and Rule Removal for Structural Associative Classification Using Structure-Preserving Flat Representation

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee