KR101836966B1 - 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법 - Google Patents

데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법 Download PDF

Info

Publication number
KR101836966B1
KR101836966B1 KR1020160023667A KR20160023667A KR101836966B1 KR 101836966 B1 KR101836966 B1 KR 101836966B1 KR 1020160023667 A KR1020160023667 A KR 1020160023667A KR 20160023667 A KR20160023667 A KR 20160023667A KR 101836966 B1 KR101836966 B1 KR 101836966B1
Authority
KR
South Korea
Prior art keywords
situation
context
tree
generating
item set
Prior art date
Application number
KR1020160023667A
Other languages
English (en)
Other versions
KR20170101020A (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 KR1020160023667A priority Critical patent/KR101836966B1/ko
Publication of KR20170101020A publication Critical patent/KR20170101020A/ko
Application granted granted Critical
Publication of KR101836966B1 publication Critical patent/KR101836966B1/ko

Links

Images

Classifications

    • G06F17/30572
    • G06F17/30327
    • G06F17/30539
    • G06F17/30731
    • 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

Abstract

본 발명에 의한 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법이 개시된다. 본 발명에 따른 계층적 상황인지를 수행하기 위한 장치는 입력 받은 데이터 스트림으로부터 빈발 항목집합 마이닝의 재귀적 호출을 통해 다수의 상황을 검출하는 제1 상황 인지부; 및 검출된 상기 다수의 상황을 상황 스트림으로 생성하여 생성된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 제2 상황 인지부를 포함한다.

Description

데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법{apparatus for performing real-time hierarchical context recognition over data streams and method thereof}
본 발명은 실시간 상황 인지 기술에 관한 것으로서, 특히, 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법에 관한 것이다.
다양한 기능을 가진 고성능 센서들이 급속도로 우리의 생활에 사용되면서 실시간 시맨틱 데이터의 발생량이 증가하였고 이로부터 더욱 가치 있는 정보를 추출할 수 있게 되었다. 상황 인지 연구는 이를 위한 대표적인 연구 분야로 스마트 건강 관리나 기타 응용 도메인에서의 상황 인식(context-aware) 시스템 및 어플리케이션으로 이어지고 있다.
상황 인지는 크게 지식 기반(knowledge-driven) 상황 인지와 데이터 기반(data-driven) 상황인지로 나눌 수 있다.
지식 기반 상황 인지는 현실을 관찰한 데이터를 이용하여 상황 인지를 수행할 수 있는데, 예컨대, FCA(Formal Concept Analysis), ADL(Activities of Daily Living) 등이 있다.
이러한 FAC, ADL 등의 지식 기반 상황 인지는 도메인에 대한 풍부한 지식을 바탕으로 빠르고 명확한 상황 인지를 수행할 수 있지만, 마이닝에 앞서 수동적으로 구축된 온톨로지를 필요로 하며 한정된 도메인에서만 수행되기 때문에 다른 도메인에 적용이 불가능하며 갑작스런 상황 변화에 대처하지 못한다.
데이터 기반 상황 인지는 입력된 데이터를 이용하여 상황 인지를 수행할 수 있는데, 예컨대, HMM(Hidden Markov Model), NBC(Naive Bayes Classifiers), CRF(Conditional Random Field) 등이 있다.
이러한 HMM, NBC, CRF 등의 데이터 기반 상황 인지는 학습을 거쳐 순간적인 상황 변화에 대응이 가능하고 여러 도메인에 적용이 가능하지만 지식 기반 상황 인지에 비해 학습 기간이 길고 인지 속도가 비교적 느리다.
이러한 기존의 연구는 대상 도메인이 한정되어 있어 범용적인 적용이 불가능하며, 미리 등록된 상황만을 탐지하기 대문에 상황의 변화에 능동적으로 대처하기 어렵다.
따라서 이러한 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 빈발 항목집합 마이닝의 재귀적 호출을 통해 전의 트리를 생성하여 생성된 전위 트리로부터 상황을 검출하고 검출된 상황을 상황 스트림으로 생성하여 생성된 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하며 생성된 상황 트리로부터 계층적 분석을 수행하도록 하는 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법을 제공하는데 있다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 한 관점에 따른 계층적 상황인지를 수행하기 위한 장치는 입력 받은 데이터 스트림으로부터 빈발 항목집합 마이닝의 재귀적 호출을 통해 다수의 상황을 검출하는 제1 상황 인지부; 및 검출된 상기 다수의 상황을 상황 스트림으로 생성하여 생성된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 제2 상황 인지부를 포함할 수 있다.
바람직하게, 제1 상황 인지부는 상기 빈발 항목집합 마이닝의 재귀적 호출을 통해 전위 트리를 생성하고, 생성된 상기 전위 트리로부터 상황을 검출하는 것을 특징으로 한다.
바람직하게, 제1 상황 인지부는 상기 상황으로 검출된 항목 집합을 이용하여 다음 재귀적 호출을 위한 상황 후보군 트랜잭션을 생성하고, 상기 상황 후보군 트랜잭션이 생성되지 않으면, 생성된 상기 전위 트리 전체로부터 상황을 검출하는 것을 특징으로 한다.
바람직하게, 상기 제1 상황 인지부는 상기 상황으로 검출된 최대 항목 집합을 이용하여 다음 재귀적 호출을 위한 상황 후보군 트랜잭션을 생성하는 것을 특징으로 한다.
바람직하게, 상기 제2 상황 인지부는 제1 상황 인지부로부터 검출된 상기 다수의 상황을 이용하여 하나의 상황 스트림을 생성하고, 생성된 상기 상황 스트림에 대해 식별자를 부여하며, 상기 식별자가 부여된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 것을 특징으로 한다.
바람직하게, 상기 제2 상황 인지부는 상기 상황의 지지도와 상기 상황이 검출된 빈발 항목집합 마이닝의 재귀적 호출 깊이를 기반으로 식별자를 부여하는 것을 특징으로 한다.
바람직하게, 상기 제2 상황 인지부는 상기 지지도가 높은 상황이 상기 상황 트리의 상위에 위치할 수 있도록 하기 위한 상기 식별자를 부여하는 것을 특징으로 한다.
바람직하게, 상기 제2 상황 인지부는 상기 검출된 빈발 항목집합 마이닝의 재귀적 호출 깊이가 낮은 상황이 상기 상황 트리의 상위에 위치할 수 있도록 하기 위한 상기 식별자를 부여하는 것을 특징으로 한다.
바람직하게, 상기 빈발 항목집합 마이닝은 estDec 기법을 사용하는 것을 특징으로 한다.
본 발명의 다른 한 관점에 따른 계층적 상황인지를 수행하기 위한 방법은 입력 받은 데이터 스트림으로부터 빈발 항목집합 마이닝의 재귀적 호출을 통해 다수의 상황을 검출하는 제1 상황 인지단계; 및 검출된 상기 다수의 상황을 상황 스트림으로 생성하여 생성된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 제2 상황 인지단계를 포함할 수 있다.
바람직하게, 제1 상황 인지단계는 상기 상황으로 검출된 항목 집합을 이용하여 다음 재귀적 호출을 위한 상황 후보군 트랜잭션을 생성하고, 상기 상황 후보군 트랜잭션이 생성되지 않으면, 생성된 상기 전위 트리 전체로부터 상황을 검출하는 것을 특징으로 한다.
바람직하게, 상기 제1 상황 인지단계는 상기 상황으로 검출된 최대 항목 집합을 이용하여 다음 재귀적 호출을 위한 상황 후보군 트랜잭션을 생성하는 것을 특징으로 한다.
바람직하게, 상기 제2 상황 인지단계는 제1 상황 인지부로부터 검출된 상기 다수의 상황을 이용하여 하나의 상황 스트림을 생성하고, 생성된 상기 상황 스트림에 대해 식별자를 부여하며, 상기 식별자가 부여된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 것을 특징으로 한다.
바람직하게, 상기 제2 상황 인지단계는 상기 상황의 지지도와 상기 상황이 검출된 빈발 항목집합 마이닝의 재귀적 호출 깊이를 기반으로 식별자를 부여하는 것을 특징으로 한다.
본 발명의 또 다른 한 관점에 따른 컴퓨터 판독 가능한 기록 매체는 계층적 상황인지를 수행하기 위한 방법을 컴퓨터에서 실행가능하도록 기록한 것을 특징으로 한다.
이를 통해, 본 발명은 빈발 항목집합 마이닝의 재귀적 호출을 통해 전의 트리를 생성하여 생성된 전위 트리로부터 상황을 검출하고 검출된 상황을 상황 스트림으로 생성하여 생성된 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하며 생성된 상황 트리로부터 계층적 분석을 수행하도록 함으로써, 실시간 데이터 스트림의 의미적 분석을 통해 상황의 학습을 능동적으로 수행할 수 있는 효과가 있다.
또한 본 발명은 사용자에게 능동적으로 상황 인지를 구현하는 상황의 계층적 관계 분석 모델을 제시하기 때문에 체계적인 상황 대처가 가능할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 계층적 상황 인지를 수행하기 위한 장치를 나타내는 도면이다.
도 2a 내지 도 2b는 항목집합과 지지도 사이의 관계를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 계층적 상황 인지를 수행하기 위한 방법을 나타내는 도면이다.
도 4a 내지 도 4b는 본 발명에 따른 실시간 상황 인지 예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 재귀적 마이닝을 수행하는 과정을 나타내는 도면이다.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 재귀적 상황 인지 예를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 계층적 상황을 인지하는 과정을 나타내는 도면이다.
이하에서는, 본 발명의 실시예에 따른 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법을 첨부한 도면을 참조하여 설명한다. 본 발명에 따른 동작 및 작용을 이해하는 데 필요한 부분을 중심으로 상세히 설명한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부호를 부여할 수도 있으며, 서로 다른 도면임에도 불구하고 동일한 참조부호를 부여할 수도 있다. 그러나, 이와 같은 경우라 하더라도 해당 구성 요소가 실시예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른 실시예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시예에서의 각각의 구성 요소에 대한 설명에 기초하여 판단하여야 할 것이다.
특히, 본 발명에서는 빈발 항목집합 마이닝의 재귀적 호출을 통해 전의 트리를 생성하여 생성된 전위 트리로부터 상황을 검출하고 검출된 상황을 상황 스트림으로 생성하여 생성된 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하며 생성된 상황 트리로부터 계층적 분석을 수행하도록 하는 새로운 방안을 제안한다.
도 1은 본 발명의 일 실시예에 따른 계층적 상황 인지를 수행하기 위한 장치를 나타내는 도면이다.
도 1에 도시한 바와 같이, 본 발명에 따른 계층적 상황 인지를 수행하기 위한 장치는 데이터 입력부(100), 제1 상황 인지부(200), 및 제2 상황 인지부(300)를 포함할 수 있다.
데이터 입력부(100)는 지속적으로 발생되는 트랜잭션들로 구성되는 무한한 데이터 집합인 데이터 스트림을 입력 받을 수 있다. 여기서, 빈발 항목집합 마이닝의 대상이 되는 데이터 집합에서는 응용 도메인에 나타나는 모든 단위 정보들을 단위 항목(item)으로 정의하고, 그 응용 도메인에서 의미적인 동시성(즉, 의미적으로 서로 함께 발생하는)을 갖는 단위 정보들의 모임을 트랜잭션(transaction)이라 정의한다.
이때, 본 발명의 빈발 항목집합 마이닝을 위한 데이터 스트림은 다음과 같이 정의된다.
i) 항목집합 I = {i1, i2, …, in}는 과거의 특정 시점으로부터 현재까지의 모든 항목들의 집합이며, 항목이랑 응용 도메인에서 발생하는 단위 정보를 의미한다.
ii) 2I가 집합 I의 멱집합을 나타낼 때, e ∈ {2I - {
Figure 112016019350043-pat00001
}}을 만족하는 e를 항목집합(itemset)이라 하고, 항목집합 e는 해당 항목집합의 길이에 따라 |e|-항목집합이라 정의한다. 일반적으로 3-항목집합 {a,b,c}는 간단히 abc로 나타낸다.
iii) 트랜잭션은 공집합이 아닌 I의 부분집합이며 각 트랜잭션은 트랜잭션 식별자 TID를 갖는다. k번째 순서로 데이터 집합에 추가되는 트랜잭션을 Tk라 나타내며 Tk의 TID는 k이다.
iv) 새로운 트랜잭션 Tk가 추가되었을 때 현재의 데이터 집합 Dk는 현재까지 발생하여 추가된 모든 트랜잭션들 즉, Dk=<T1, T2, …, Tk>로 구성된다. 따라서, |Dk|는 현재 데이터 집합 Dk에 포함된 트랜잭션의 총 수를 의미한다.
Tk를 현재 트랜잭션이라 할 때, 임의의 항목집합 e에 대한 현재 출현 빈도수를 Ck(e)라 정의하며 이는 현재까지의 k의 트랜잭션에서 e가 포함된 트랜잭션의 수를 나타낸다. 이와 마찬가지로 항목집합 e의 현재 지지도 Sk(e)는 현재까지의 트랜잭션의 총 수 |Dk| 대비 항목집합 e의 출현 빈도수 Ck(e)의 비율로 정의한다. 항목집합 e의 현재 지지도 Sk(e)가 사전 정의된 최소 지지도 Smin 이상일 때, 항목집합 e를 현재 데이터 스트림 Dk에서의 반발 항목집합이라 정의한다.
본 발명에서는 이러한 빈발 항목집합 마이닝 기법으로 기존의 estDec 방법을 사용하고자 한다. estDec 방법은 데이터 스트림을 구성하는 트랜잭션이 생성과 동시에 실시간으로 처리되며, 빈발 항목집합 생성을 위한 후보 집합의 생성 없이 전위 트리 구조를 갖는 모니터링 트리를 이용하여 트랜잭션에 나타난 항목집합들의 출현 빈도수를 관리한다. estDec 방법에서 사용되는 전위 트리(prefix tree)는 null 값을 갖는 루트 노드와 각 빈발항목들에 대응하는 나머지 노드들로 구성되며, 각 노드들은 대응되는 빈발 항목들의 지지도 정보를 포함한다. 또한 전위 트리는 각 노드에 대응되는 항목들의 사전 순으로 구성되며, 특정 노드가 표현하는 빈발 항목집합은 루트 노드로부터 자신에게 이르기까지의 경로 상에 있는 모든 항목들로 이루어진다.
제1 상황 인지부(200)는 데이터 스트림을 입력 받으면, 입력 받은 데이터 스트림으로부터 빈발 항목집합 마이닝의 재귀적 호출을 통해 다수의 상황을 인지 또는 검출할 수 있다.
제2 상황 인지부(300)는 제1 상황 인지부(200)로부터 검출된 적어도 하나의 상황을 상황 스트림으로 생성하여 생성된 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하고 생성된 상황 트리로부터 계층적 분석을 수행할 수 있다.
이때, 상황은 context, situation, activity 등의 세가지 용어로 사용되되 특별한 구분없이 쓰이며 본 발명에서는 컨텍스트(context)를 따르는데 다음과 같이 정의된다.
i) 상황은 어떤 개체의 현재 상태를 특정 지을 수 있는 모든 정보를 의미한다. 개체는 사용자와 어플리케이션 사이의 상호작용에 관련이 있다고 여겨지는 사람이나 장소, 객체를 뜻한다.
상황은 특정 장소에 귀속될 수 있으며 특정 인물 또는 시스템이 될 수도 있다. 예컨대, 어떤 사람이 ‘이를 닦는다’, ‘커피를 만든다’와 같은 상황에 더하여 어떤 도로의 ‘길이 혼잡하다’같은 장소에 대한 정보를 상황으로 표현할 수 있다. 이에 따른 상황의 발견을 위해 정의 1에 기술된 상황은 다음과 같은 특징을 가진다고 가정한다.
가정 1. 도메인내의 상황을 구성하는 각 요소들은 해당 상황이 되었을 때 높은 확률로 동시에 활성화된다.
가정 1이 뜻하는 것은 자주 함께 일어나는 사건 요소를 하나의 상황으로 묶어 간주한다는 것이며, 상황을 일련의 사건의 집합으로 본다는 것을 의미한다. 예를 들어, ‘커피를 만들다’라는 상황은 주방에 들어가고, 물을 끓이고, 컵을 꺼내고, 커피를 내린다는 사건이 일어나야지 성립할 수 있다. 이를 각 사건에 해당하는 센서 데이터로 표현하면 {주방, 컵, 물, 커피}라는 요소로 표현이 가능하며, 상황 발생시 각 요소들이 연속적으로 활성화 되어 높은 확률로 {주방, 컵, 물, 커피}라는 트랜잭션 T커피가 생성된다. 반대로 생각하면 트랜잭션T커피가 생성되었다는 것은‘커피를 만들다’라는 상황이 발생했다는 것을 의미한다. 반대로, 트랜잭션 T커피가 자주 발생하여 {주방, 컵, 물, 커피}라는 항목집합이 빈발하다고 판정이 되고 해당 항목집합이 높은 확률로 동시에 활성화되었음을 탐지했다면, 해당 항목집합은 하나의 상황으로 간주할 수 있다.
항목집합 내 요소들의 동시 활성화 여부는 항목집합의 지지도를 보고 알 수 있다. estDec에 쓰이는 전위 트리는 구조체 상위에 단일 항목이 위치하고 하위로 갈수록 길이가 긴 항목집합이 위치해있다. 만약 어떤 항목집합 abc가 있다면 단일 항목 a,b,c가 전위 트리에 존재하고 그 사이에는 ab, ac, bc항목집합이 존재하게 된다. 이러한 abc 부분집합들의 지지도가 일정 범위 안에 속한다면 항목 a,b,c는 트랜잭션 발생 시 동시에 발생될 확률이 높다고 볼 수 있다. 구성 요소의 동시 활성화 확률을 상황응집도 δ라고 하고 다음과 같이 정의할 수 있다.
ii) 전체 항목집합 I = {i1, i2, …, in}에 속하는 항목집합 e의 k 시점에서의 동시 활성화 여부를 알 수 있는 지지도 변화량 δ는 다음의 [수학식 1]과 같다.
[수학식 1]
δe = MAX(Sk(i), i ∈ e) - Sk(e)
n-항목집합 e의 발생은 부분집합인 m-항목집합(1≤m≤n)의 발생을 동반하므로 항목집합의 길이가 짧을수록 높은 지지도를 갖는다. 단일 항목은 집합 내에서 지지도의 최대값을 갖기 때문에 항목집합 지지도와의 차이를 계산함으로써 부분집합들의 지지도를 따로 계산하지 않고 지지도 변화량을 계산할 수 있다. 지지도 변화량이 작을수록 상황 구성 요소들이 응집되어 발생한 것이다. 지지도 변화량이 크다는 것은 단일 항목과의 지지도 차이가 큰 것이고, 해당 단일 항목이 다른 상황 발생시에도 활성화 되었다는 것을 뜻하며 기존의 상황에서 중요한 요소로 역할을 하지 못한다고 할 수 있다.
도 2a 내지 도 2b는 항목집합과 지지도 사이의 관계를 설명하기 위한 도면이다.
도 2a 내지 도 2b를 참조하면, 도2b의 데이터 스트림이 들어올 경우 전위 트리는 도 2a와 같이 나타낼 수 있는데, 도 2a는 {a,b,c}가 80번 발생하고 {b,c}가 10번 발생하며, {a,b}가 10번 발생했을 때의 전위 트리를 표현한 것으로 가장 상위에 루트 노드가 위치하며 각 노드 별로 항목과 항목의 빈도수 정보가 있다. 각 노드는 자신에서 루트 노드까지의 경로에 있는 항목들을 집합으로 갖는다는 것을 의미한다.
예컨대, 항목집합 abc가 80번, bc가 10번, ab가 10번 들어와 총 100개의 트랜잭션이 발생하였고, abc의 지지도 S100(abc)는 0.8(=80/100)이 되고 abc의 부분집합 중 지지도가 가장 큰 항목인 b의 지지도 S100(b)는 1.0(=100/100)의 값을 갖는다. 이에 따라 abc의 지지도와의 차는 0.2로 abc의 상황 응집도δabc 는 0.2가 된다.
iii) 특정 도메인에 대한 전체 항목집합 I에 대하여 Pm(I)가 m개의 항목들로 이루어진 I의 부분집합이라고 할 때, 상황은 다음의 [수학식 2]와 같은 조건을 만족해야 한다.
[수학식 2]
C = {e|∀e s.t.e ∈ Pk(I)(k≥2), δe ≤ δthr, Se ≥ Smin}
여기서, 상기 δthr는 지지도 변화량의 임계값으로 항목집합 e의 지지도 변화량이 δthr 보다 작으면 상황으로써의 의미를 지닌다고 할 수 있고, 항목집합 e의 지지도 Se 가 최소 지지도 Smin 보다 높으면 현재 발생하고 있는 상황이라고 정의한다.
도 3은 본 발명의 일 실시예에 따른 계층적 상황 인지를 수행하기 위한 방법을 나타내는 도면이다.
도 3에 도시한 바와 같이, 본 발명에 따른 계층적 상황 인지를 수행하기 위한 장치(이하 상황인지 장치라고 한다)는 데이터 스트림을 입력 받을 수 있다(S310).
다음으로, 상황인지 장치는 입력 받은 데이터 스트림을 기반으로 빈발 항목집합 마이닝 예컨대, estDec 기법을 수행하여 실시간으로 상황을 인지 또는 검출할 수 있다(S320).
이러한 본 발명에 따른 상황 인지 알고리즘을 간단히 표현하면 다음의 [표 1]과 같다.
Figure 112016019350043-pat00002
상기 [표 1]를 참조하면, 4번째 라인에서 update_ML_estDec(T) 함수는 본 발명에서 사용한 estDec 기법으로 전위 트리(ML)을 갱신하기 위한 절차를 수행할 수 있다.
본 발명에 따른 상황의 최종 형태는 두 개 이상의 요소로 이루어진 항목집합이다. 이러한 항목집합은 이상적인 형태로는 각 상황을 이루는 항목집합 내 단일 항목들이 모두 겹치는 것이 없는 배타적 관계를 이루는 형태가 있을 수도 있지만, 실제로는 상황을 이루는 항목집합에 중복되는 단일 항목들이 많은 것이 대부분이다.
도 4a 내지 도 4b는 본 발명에 따른 실시간 상황 인지 예를 설명하기 위한 도면이다.
도 4a 내지 도 4b를 참조하면, '커피를 만들다'라는 도메인에서 일어날 수 있는 상황을 보여준다. 도 4b는 상황과 각 상황에 활성화된 항목들과 빈도수를 나타내고, 도 4a는 도 4b에 따라 요소가 활성화 되었을 때 생성되는 전위 트리를 나타낸다.
도 4b에서 발생 가능한 상황은 두 가지 I1, I2 이지만 앞서 정의한 상황에 따르면 지지도 변화량은 각각 δI1 = 0, δI2 = 0.3, δI3 = 0.3으로 δthr가 0.2일 경우 두 가지 중 한 가지 상황만 발견된다. 지지도 변화량의 임계값을 높여서 해결할 수도 있지만, 실제로 상황이 아닌 항목집합도 상황으로 검출될 가능성이 높아진다.
따라서, 본 발명에서는 빈발 항목집합 마이닝의 재귀적 호출 방법을 적용하고자 한다. 여기서, 빈발 항목집합 마이닝의 재귀적 호출 방법은 상황으로 검출된 항목집합을 다시 트랜잭션으로 생성하여 빈발 항목집합 마이닝을 수행하는 것이다.
이때, 기존의 estDec 기법에서 길이가 n인 트랜잭션이 입력될 경우 상황으로 검출될 수 있는 항목집합의 수는 최대 2n-n-1개로 재귀적 마이닝을 거듭할 수록 전위 트리의 크기가 기하급수적으로 증가할 수 있다. 전위 트리의 크기가 커진다는 것은 사용하는 메모리가 증가한다는 것이기 때문에, 검출하는 상황의 수를 줄여 메모리의 사용 효율을 개선할 필요가 있다.
따라서, 본 발명에서는 모든 빈발 항목집합을 검출하여 사용하는 것이 아니라 최대 항목집합만을 선별함으로써 검출되는 상황의 개수를 최소화하고자 한다. 여기서, 최대 항목집합은 지지도 변화량이 임계치보다 낮으면서 이를 만족하는 확대집합을 가지지 않는 항목집합을 뜻한다. 최대 항목집합의 부분 집합들은 정보가 최대 항목집합과 중복되기 때문에 상황으로 검출하지 않아도 정보의 손실이 일어나지 않는다.
예컨대, 길이가 k인 항목집합이 상황의 조건을 만족한다고 할 때, 2k개의 부분 집합에 대한 처리를 하지 않아도 되어 속도와 메모리 효율 면에서 성능을 향상시킬 수 있다.
도 5는 본 발명의 일 실시예에 따른 재귀적 마이닝을 수행하는 과정을 나타내는 도면이다.
도 5에 도시한 바와 같이, 본 발명에 따른 계층적 상황 인지를 수행하기 위한 장치(이하 상황인지 장치라고 한다)는 데이터 스트림을 입력 받으면, 입력 받은 데이터 스트림으로 빈발 항목집합 마이닝을 수행하여 제1 전위 트리를 생성할 수 있다(S311).
다음으로, 상황인지 장치는 생성된 제1 전위 트리로부터 제1 상황 후보군 즉, 제1 상황 후보군 트랜잭션을 생성할 수 있다(S312). 이때, 상황인지 장치는 [표 1]의 알고리즘과 달리 최소 지지도의 만족 여부는 검사하지 않고 지지도 변화량만을 검사하여 상황 후보군을 선별한다.
다음으로, 상황인지 장치는 생성된 상황 후보군 즉 제1 상황 후보군 트랜잭션이 있으면, 제1 상황 후보군 트랜잭션으로 빈발 항목집합 마이닝을 수행하여 제2 전위 트리를 생성하고(S313), 생성된 제2 전위 트리로부터 제2 상황 후보군 트랜잭션을 생성할 수 있다(S314).
다음으로, 상황인지 장치는 생성된 상황 후보군 즉, 제2 상황 후보군 트랜잭션이 있으면, 제2 상황 후보군 트랜잭션으로 빈발 항목집합 마이닝을 수행하여 제3 전위 트리를 생성하고(S315), 생성된 제3 전위 트리로부터 제3 상황 후보군 트랜잭션을 생성할 수 있다(S316).
이때, 상황 후보군이 계속 생성되어 무한정 으로 재귀적 호출이 일어날 때를 대비하여 재귀적 호출 횟수를 제한할 수 있는데, 재귀적 호출 횟수는 5회로 제한될 수 있다. 합성 데이터와 실제로 데이터를 가지고 실험을 여러 번 수행한 결과 3회 이상의 재귀적 호출은 거의 나타나지 않았기 때문에 5회라는 숫자가 다소 근거가 없더라도 무한 재귀적 호출을 막기 위한 숫자로 무난하다.
이처럼 상황인지 장치는 빈발 항목 집합 마이닝의 재귀적 호출을 통해 전위 트리를 연쇄적으로 생성할 수 있는데, 생성된 상황 후보군이 있으면 상황 인지를 재귀적으로 수행하고 더 이상의 상황 후보군이 생성되지 않으면 전체 전위 트리에 대해 최소 지지도를 만족하는 상황을 인지 또는 탐지한다.
즉, 상황인지 장치는 생성된 제1 전위 트리로부터 제1 상황을 인지하고(S317), 제2 전위 트리로부터 제2 상황을 인지하며(S318), 제3 전위 트리로부터 제3 상황을 인지 또는 검출할 수 있다(S319).
이때, 상황인지 장치는 전위 트리의 단일 항목에 대하여 상황 인지를 수행할 수 있다. 이러한 이유는 한번 이상의 재귀적 호출을 통해 연쇄적으로 생성된 전위 트리의 단일 항목이 전 단계 전위 트리의 항목 집합이기 때문에 같은 정보를 담고 있으며, 전체 노드를 탐색하는 것보다 단일 항목만을 검사하는 것이 효율적이기 때문이다.
이러한 본 발명에 따른 재귀적 상황 인지 알고리즘을 간단히 표현하면 다음의 [표 2]와 같다.
Figure 112016019350043-pat00003
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 재귀적 상황 인지 예를 나타내는 도면이다.
도 6a 내지 도 6c를 참조하면, 빈발 항목집합 마이닝을 보여주고 있는데, 왼쪽의 트리는 오른쪽의 트랜잭션이 모두 들어오고 갱신이 된 상태의 전위 트리이다.
도 6a의 빈발 항목 집합 마이닝의 전위 트리에서 지지도 변화량 임계치를 만족하는 항목집합은 총 세 개인 abc, ef, gh로 음양처리가 되어있다. 트랜잭션 {a,b,c}가 들어오면 지지도 변화량을 만족하는 최대 항목집합인 abc를 새로운 상황 후보군 트랜잭션으로 만들어 2차 빈발 항목집합 마이닝을 수행한다. 1차 마이닝에 {e,f}와 {g,h}가 들어올 경우도 같은 방법으로 ef, gh가 각각 트랜잭션을 생성하여 2차 빈발 항목집합 마이닝을 수행한다.
이때까지는 길이가 2 이상인 항목집합이 생성되지 않았지만 {e,f,g,h}가 들어오면서 지지도 변화량 임계치를 만족하면서 최대 항목집합인 ef와 gh가 같은 트랜잭션을 생성하여 2차 빈발 항목집합 마이닝을 수행하게 된다. 이에 따라 길이가 2인 {ef, gh} 항목집합이 생성되고 이 또한 상황 후보군 조건을 만족하여 3차 빈발 항목집합 마이닝의 입력 트랜잭션으로 생성된다.
마지막으로, 2단계 이상의 전위 트리에서 최소 지지도를 만족하는 단일 항목을 찾으면 abc, ef, gh, efgh 가 상황으로 탐지된다. 탐지된 상황에 대하여 2단계에서 먼저 발견된 abc, ef, gh는 의미적으로 명확한 상황, 3단계에서 발견된 efgh는 의미적으로 덜 명확한 상황이라고 할 수 있다.
이러한 재귀적 상황 인지를 통해 발견된 상황들은 발견된 전위 트리의 재귀적 호출 횟수를 통해 가늠할 수 있다. 재귀적 호출이 거듭될수록 의미적 명확성은 모호해지지만 그 내용은 구체적이고 재귀적 호출 단계 상위에서 발견된 상황은 명확하지만 구체적이지 못하다. 이렇듯 상황의 발견은 가능하지만 고수준의 분석을 가능하게 하는 상황 간의 상하 관계나 포함 관계를 알아내기는 어렵다.
따라서, 본 발명에서는 상황 트리를 구축하여 상황간의 계층적 관계의 분석 방법을 제안하고자 한다.
계층적 포함 관계에서 상위에 있는 상황은 더 자주 상황으로 검출되기 때문에 높은 지지도를 지닌다. 높은 지지도를 지닌 상황이 트리 상위에 위치할 수 있도록 빈발 항목집합 마이닝을 수행하면 상황 간의 포함관계를 파악할 수 있는 상황 트리를 얻을 수 있다.
도 7은 본 발명의 일 실시예에 따른 계층적 상황을 인지하는 과정을 나타내는 도면이다.
도 7에 도시한 바와 같이, 본 발명에 따른 계층적 상황 인지를 수행하기 위한 장치(이하 상황인지 장치라고 한다)는 검출된 상황들을 상황 스트림으로 생성할 수 있다(S321).
예컨대, 검출된 상황 {a}, {b,c}, {d}가 하나의 상황 스트림 {a,b,c,d}으로 통합된다.
다음으로, 상황인지 장치는 상황 스트림에 대해 새로 식별자를 부여할 수 있다(S322). 이렇게 식별자를 새로 부여하는 이유는 상황 트리를 만들 때 사용하는 estDec 기법은 식별자가 사전상의 순서로 앞에 오는 데이터가 전위 트리의 상위에 위치하는 특성을 가지기 때문에 의미적으로 상위에 있는 상황을 상황 트리 상위에 위치시키기 위함이다.
구체적으로, 식별자를 새로 부여하는 방법은 상황의 지지도와 상황이 검출된 빈발 항목 집합 마이닝의 재귀적 호출 깊이를 기준으로 수행될 수 있다.
먼저, 의미적으로 상위에 있는 상황이라는 것은 다른 상황의 의미를 내포할 수 있다는 것을 의미하며, 상황이 발견된 빈발 항목집합 마이닝의 재귀적 호출 깊이가 낮을수록 우선적으로 발견된 상황이기 때문에 의미적으로 상위에 있다고 할 수 있다. 반대로 의미적으로 하위에 있다고 하는 것은 상황이 구체적임을 의미한다.
예컨대, ‘커피를 만들다’라는 상황이 의미적으로 상위에 위치한다면, ‘아이스 카페라테를 만들다’라는 상황은 의미적으로 하위에 있지만 보다 구체적인 묘사가 가능한 상황이다.
또한 상황의 지지도는 같은 빈발 항목집합 마이닝 안에서도 지지도가 많이 차이 나는 경우 의미적 상하위가 구분될 수 있기 때문에 이를 구분하기 위해 사용한다.
다음으로, 상황인지 장치는 식별자가 부여된 상황 스트림으로 빈발 항목집합 마이닝을 수행하여 상황 트리를 생성함으로써, 계층적 상황 분석을 수행할 수 있다(S323). 여기서, 상황 트리는 각 노드가 하나의 상황을 의미하며 트리 상위에 위치한 노드는 계층적으로 상위 포함 관계에 있는 상황을 의미한다.
이러한 본 발명에 따른 계층적 상황 인지 알고리즘을 간단히 표현하면 다음의 [표 3]과 같다.
Figure 112016019350043-pat00004
상기 [표 3]을 참조하면, 5번째 라인에서 adjust(C) 함수는 상황 스트림에 대해 새로 식별자를 부여할 수 있다.
이렇게 식별자를 부여하기 위한 알고리즘을 간단히 표현하면 다음의 [표 4]와 같다.
Figure 112016019350043-pat00005
한편, 이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
이상에서 설명한 실시예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 데이터 입력부
200: 제1 상황 인지부
300: 제2 상황 인지부

Claims (14)

  1. 입력 받은 데이터 스트림으로부터 빈발 항목집합 마이닝의 재귀적 호출을 통해 다수의 상황을 검출하는 제1 상황 인지부; 및
    검출된 상기 다수의 상황을 상황 스트림으로 생성하여 생성된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 제2 상황 인지부;
    를 포함하며,
    제1 상황 인지부는,
    상기 빈발 항목집합 마이닝의 재귀적 호출을 통해 전위 트리를 생성하고, 상기 상황으로 검출된 항목 집합을 이용하여 다음 재귀적 호출을 위한 상황 후보군 트랜잭션을 생성하고, 상기 상황 후보군 트랜잭션이 생성되지 않으면, 생성된 상기 전위 트리 전체로부터 상황을 검출하는 계층적 상황인지를 수행하기 위한 장치.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 제1 상황 인지부는,
    상기 상황으로 검출된 최대 항목 집합을 이용하여 다음 재귀적 호출을 위한 상황 후보군 트랜잭션을 생성하는 것을 특징으로 하는 계층적 상황인지를 수행하기 위한 장치.
  5. 제1 항에 있어서,
    상기 제2 상황 인지부는,
    제1 상황 인지부로부터 검출된 상기 다수의 상황을 이용하여 하나의 상황 스트림을 생성하고,
    생성된 상기 상황 스트림에 대해 식별자를 부여하며,
    상기 식별자가 부여된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 것을 특징으로 하는 계층적 상황인지를 수행하기 위한 장치.
  6. 제5 항에 있어서,
    상기 제2 상황 인지부는,
    상기 상황의 지지도와 상기 상황이 검출된 빈발 항목집합 마이닝의 재귀적 호출 깊이를 기반으로 식별자를 부여하는 것을 특징으로 하는 계층적 상황인지를 수행하기 위한 장치.
  7. 제6 항에 있어서,
    상기 제2 상황 인지부는,
    상기 지지도가 높은 상황이 상기 상황 트리의 상위에 위치할 수 있도록 하기 위한 상기 식별자를 부여하는 것을 특징으로 하는 계층적 상황인지를 수행하기 위한 장치.
  8. 제6 항에 있어서,
    상기 제2 상황 인지부는,
    상기 검출된 빈발 항목집합 마이닝의 재귀적 호출 깊이가 낮은 상황이 상기 상황 트리의 상위에 위치할 수 있도록 하기 위한 상기 식별자를 부여하는 것을 특징으로 하는 계층적 상황인지를 수행하기 위한 장치.
  9. 입력 받은 데이터 스트림으로부터 빈발 항목집합 마이닝의 재귀적 호출을 통해 다수의 상황을 검출하는 제1 상황 인지단계; 및
    검출된 상기 다수의 상황을 상황 스트림으로 생성하여 생성된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 제2 상황 인지단계;
    를 포함하며,
    제1 상황 인지단계는,
    상기 빈발 항목집합 마이닝의 재귀적 호출을 통해 전위 트리를 생성하고, 상기 상황으로 검출된 항목 집합을 이용하여 다음 재귀적 호출을 위한 상황 후보군 트랜잭션을 생성하고, 상기 상황 후보군 트랜잭션이 생성되지 않으면, 생성된 상기 전위 트리 전체로부터 상황을 검출하는 계층적 상황인지를 수행하기 위한 방법.
  10. 삭제
  11. 제9 항에 있어서,
    상기 제1 상황 인지단계는,
    상기 상황으로 검출된 최대 항목 집합을 이용하여 다음 재귀적 호출을 위한 상황 후보군 트랜잭션을 생성하는 것을 특징으로 하는 계층적 상황인지를 수행하기 위한 방법.
  12. 제9 항에 있어서,
    상기 제2 상황 인지단계는,
    제1 상황 인지부로부터 검출된 상기 다수의 상황을 이용하여 하나의 상황 스트림을 생성하고,
    생성된 상기 상황 스트림에 대해 식별자를 부여하며,
    상기 식별자가 부여된 상기 상황 스트림으로 빈발 항목 집합 마이닝을 수행하여 상황 트리를 생성하는 것을 특징으로 하는 계층적 상황인지를 수행하기 위한 방법.
  13. 제12 항에 있어서,
    상기 제2 상황 인지단계는,
    상기 상황의 지지도와 상기 상황이 검출된 빈발 항목집합 마이닝의 재귀적 호출 깊이를 기반으로 식별자를 부여하는 것을 특징으로 하는 계층적 상황인지를 수행하기 위한 방법.
  14. 제9 항 및 제11 항 내지 제13 항 중 어느 한 항의 계층적 상황인지를 수행하기 위한 방법을 컴퓨터에서 실행가능하도록 기록한 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
KR1020160023667A 2016-02-26 2016-02-26 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법 KR101836966B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160023667A KR101836966B1 (ko) 2016-02-26 2016-02-26 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160023667A KR101836966B1 (ko) 2016-02-26 2016-02-26 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20170101020A KR20170101020A (ko) 2017-09-05
KR101836966B1 true KR101836966B1 (ko) 2018-04-19

Family

ID=59924811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160023667A KR101836966B1 (ko) 2016-02-26 2016-02-26 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101836966B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040002838A1 (en) 2002-06-27 2004-01-01 Oliver Nuria M. Layered models for context awareness

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040002838A1 (en) 2002-06-27 2004-01-01 Oliver Nuria M. Layered models for context awareness

Also Published As

Publication number Publication date
KR20170101020A (ko) 2017-09-05

Similar Documents

Publication Publication Date Title
CN109739893B (zh) 一种元数据管理方法、设备及计算机可读介质
KR102189854B1 (ko) 개인적 엔티티들을 모델링
CN111241282B (zh) 文本主题生成方法、装置及电子设备
JP5092165B2 (ja) データ構築方法とシステム
CN106663109A (zh) 针对移动屏上内容提供自动动作
US10289609B2 (en) Data processing, apparatus and methods
CN111538794B (zh) 一种数据融合方法、装置及设备
CN105224604B (zh) 一种基于堆优化的微博突发事件检测方法及其检测装置
CN106095912A (zh) 用于生成扩展查询词的方法和装置
CN104298654A (zh) 用于显示信息的方法、装置
CN103902582B (zh) 一种减少数据仓库数据冗余的方法和装置
CN106462591B (zh) 使用存储器中的智能索引的分区过滤
US9996535B1 (en) Efficient hierarchical user interface
Hassani et al. On the application of sequential pattern mining primitives to process discovery: Overview, outlook and opportunity identification
Aufaure et al. Advances in FCA-based applications for social networks analysis
KR20130037975A (ko) 이슈 템플릿 추출 기반의 웹 동향 분석 방법 및 장치
CN110413793A (zh) 一种基于翻译模型的知识图谱实体特征挖掘方法
KR101836966B1 (ko) 데이터 스트림 환경에서 실시간으로 계층적 상황인지를 수행하기 위한 장치 및 그 방법
Nair et al. Accelerating closed frequent itemset mining by elimination of null transactions
Vo et al. Parallel method for mining high utility itemsets from vertically partitioned distributed databases
JP2013257677A (ja) イベント検出装置、イベント検出方法およびイベント検出プログラム
KR20170085771A (ko) 연관 검색어 제공 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
CN113590914B (zh) 信息处理方法、装置、电子设备和存储介质
US11580101B2 (en) Method and apparatus for generating context category dataset
KR20200045310A (ko) 해시태그 기반의 정보 추천 방법 및 이를 수행하기 위한 단말

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant