KR20170088469A - 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법 - Google Patents

동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법 Download PDF

Info

Publication number
KR20170088469A
KR20170088469A KR1020160008147A KR20160008147A KR20170088469A KR 20170088469 A KR20170088469 A KR 20170088469A KR 1020160008147 A KR1020160008147 A KR 1020160008147A KR 20160008147 A KR20160008147 A KR 20160008147A KR 20170088469 A KR20170088469 A KR 20170088469A
Authority
KR
South Korea
Prior art keywords
association rule
association
data
user
premise
Prior art date
Application number
KR1020160008147A
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 KR1020160008147A priority Critical patent/KR20170088469A/ko
Publication of KR20170088469A publication Critical patent/KR20170088469A/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/30309
    • G06F17/30572
    • G06F17/30702
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은, 집합 형태로 모델링 되는 사용자의 선호도 혹은 히스토리를, 집합 대비 보다 높은 표현력을 이진 논리식 형태를 기반으로 표현 및 기술하고, 이에 부합하는 결론 집합을 추출하는 알고리즘에 관한 발명이다. 특히, 빈번하게 업데이트되거나 혹은 업데이트 주기가 짧은 동적 데이터 집합을 연관 규칙 추출 대상으로 하고, 단계적인 연관 규칙 추출 방법론을 제시함으로써, 빈번히 변화하는 대용량 데이터에 대해 신속하게 결론 집합을 제공하고자 한다.
따라서 본 발명은 사용자의 선호도 혹은 히스토리를 표현하는 전제 Q의 타입을, 기존의 집합에서 이진 논리식으로 확장하여, 사용자의 상태 및 상황을 보다 명확히 반영하고, 상세히 표현된 전제 Q에 부합하는 결론 R을 제공함으로, 기존의 연관 규칙 추출 방법론의 확장 및 개량이라 할 수 있으며, 또한, 정적 데이터를 대상으로 하는 기존 알고리즘들과는 달리, 동적으로 변화하는 데이터에 대한 것임으로, 전통적 연관 규칙 활용 분야 뿐만 아니라, SNS와 같은 실시간으로 변화하는 데이터를 처리하는 분야들에 높은 사업화 경쟁력 보유할 수 있다.

Description

동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법 { A stepwise method for mining association rules based on a Boolean expression for dynamic datasets }
본 발명은 연관 규칙의 전제를 집합에서 이진 논리식으로 재정의하고, 동적으로 변화하는 대용량 데이터로부터 재정의된 연관 규칙을 효율적으로 추출해 내는 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법에 관한 것이다.
사용자 혹은 개체의 상태/상황을 이진 논리식을 통해 보다 명확히 기술할 수 있으므로, 이진 논리식을 전제로 하는 연관 규칙의 결론의 정확도를 상승 시키며, 다수의 기존 알고리즘들이 정적 데이터로부터 연관 규칙을 일괄적으로 추출하는 것과는 달리, 빈번하게 변화하는 동적 데이터로부터 단계적으로 주어진 이진 논리식에 부합하는 결론을 추출함으로써, 데이터의 변화를 유동적 및 효율적으로 반영하는 알고리즘이라 할 수 있다. 나아가 중복성 있는 연관 규칙 추출을 방지하고 유의미한 연관 규칙 집합만을 추출하는 특장점 역시 보유한다. 본 발명은, 동적 데이터를 활용하고자 하는 다양한 기술분야에서 활용 가능할 것으로 예상되며, 특히 데이터 마이닝(Data mining) 분야와 추천 시스템 분야 그리고 시장 및 소비 패턴 분석 분야에서의 활발할 적용을 기대한다.
일반적으로, 도메인 전문가가 지정한 최소 지지도 및 최소 확신도를 기반으로, 연관 규칙 Q→R 집합을 추출하여 연관 규칙 저장소에 저장한다. 연관 규칙 저장소 구축 후, 사용자의 성향 혹은 특성을 집합 형식으로 기술한 후, 이와 일치하는 전제 Q를 갖는 연관 규칙의 결론 R의 집합을 해당 사용자에게 추천한다.
이때, 사용자의 특성 혹은 성향은 집합 형식으로 표현됨으로, 보다 구체적이고 상세한 사용자 특성 기술에는 한계가 있으며, 이로 인해 실제 사용자에게 추천되는 연관 규칙의 결론에 대한 정확도 및 만족도 저하라는 종래 기술의 문제점 및 한계점이 존재한다.
또한, 최근 SNS(Social Network Service) 및 IoT(Internet of Thing)와 같이 수시로 수집 및 업데이트되는 동적인 데이터 집합이 보편화되는 추세임에도 불구하고, 이에 대한 연관 규칙 추출 방법론에 대한 연구는 미비하다.
이와 같은 한계 및 문제점을 해결하기 위해서는 1) 사용자의 선호도 혹은 특성이 기술되는 연고나 규칙의 전제 형식을, 집합 대비 높은 표현력을 지니는 형식으로 확장하여야 하며, 2) 확장된 전제에 부합하는 결론을 대용량의 동적인 데이터베이스로부터 단 시간 내에 추출하는 방법론의 개발이 요구된다 할 수 있다.
따라서 연관 규칙 전제의 표현력을 증가시키고, 표현력이 증가된 전제에 부합하는 결론을, 대용량의 동적 데이터베이스로부터 단계적으로 추출하는 방법이 필요하다.
[특허문헌 1] 한국공개특허공보 제10-2011-0096302호(2011.08.30.공개) [특허문헌 2] 한국공개특허공보 제10-2011-0110628호(2011.10.07.공개)
[비특허문헌 1] S.-J. Song, E.-H. Kim, H.-G. Kim, H. Kumar, Query-based association rule mining supporting user perspective, Computing 93 (1) (2011) 1??25. [비특허문헌 2] Eung-Hee Kim, Hong-Gee Kim, Suk-Hyung Hwang and Sung-In Lee, FARM: An FCA-based Association Rule Miner. Knowledge-Based Systems, Volume 85, September 2015, 277-297
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 연관 규칙의 전제를 집합에서 이진 논리식으로 재정의하고, 동적으로 변화하는 대용량 데이터로부터 재정의된 연관 규칙을 효율적으로 추출해 내는, 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법에 관한 것으로서, 연관 규칙 전제의 표현력을 높이고 그에 부합하는 결론을 추출하기 위한 본 발명의 구성은 다음과 같이 3단계로 요약될 수 있다: 1) 연관 규칙 전제 표현력 확장, 2) 확장형 연관 규칙 기반의 유의미한 연관 규칙에 대한 정의 그리고 3) 동적 데이터 대상 단계적인 확장형 연관 규칙 추출 알고리즘 개발. 개략적으로 본 발명의 구성을 기술하자면, 연관 규칙 전제의 형태를 집합 대비 높은 표현력을 지원하는 이진 논리식(Boolean expression)으로의 확장, 확장된 연관 규칙 기반의 유의미한 연관 규칙에 대한 정의, 그리고 효율적인 조합 연산을 통해 단 시간 내에 동적인 데이터로부터 주어진 이진 논리식에 부합하는 유의미한 연관 규칙의 단계적 추출 방법으로 구성된다.
또한, 본 발명은 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
상술한 바와 같이, 본 발명에 따른 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법에 의하면, 사용자 혹은 개체의 상태/상황을 이진 논리식을 통해 보다 명확히 기술할 수 있으므로, 이진 논리식을 전제로 하는 연관 규칙의 결론의 정확도를 상승시킬 수 있는 효과가 얻어진다.
본 발명은 다수의 기존 알고리즘들이 정적 데이터로부터 연관 규칙을 일괄적으로 추출하는 것과는 달리, 빈번하게 변화하는 동적 데이터로부터 단계적으로 주어진 이진 논리식에 부합하는 결론을 추출함으로써, 데이터의 변화를 유동적 및 효율적으로 반영할 수 있다.
나아가 중복성 있는 연관 규칙 추출을 방지하고 유의미한 연관 규칙 집합만을 추출하는 특장점 역시 보유한다. 본 발명은, 동적 데이터를 활용하고자 하는 다양한 기술분야에서 활용 가능할 것으로 예상되며, 특히 데이터 마이닝(Data mining) 분야와 추천 시스템 분야 그리고 시장 및 소비 패턴 분석 분야에서의 활발할 적용을 기대한다.
도 1은 연관 규칙이 추출되는 데이터베이스의 예
도 2는 알고리즘 동작 메커니즘의 도식화
도 3은 연관 규칙의 일반적 활용 절차
도 4는 종래 기술 대비 본 발명의 우월성
도 5는 동적 데이터 대상 확장형 연관 규칙의 단계적 추출 알고리즘의 플로우차트
도 6은 3가지 수학적 속성에 기반한 아이템 조합이 수행되는 과정
도 7은 재귀적으로 조합이 수행되는 과정
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 알고리즘이 동작하는 데이터베이스에 대한 설명으로 시작한다.
연관 규칙은 도 1의 표에 표현된 데이터베이스와 같은 형식을 갖는 데이터 집합으로부터 도출된다. 본 문서에서 데이터베이스는 D=(T, I, R)로 표기하며, T는 transaction 집합을, I는 아이템 집합 그리고 R은 transaction과 아이템 간의 관계 정보를 나타낸다(즉, R⊆T × I). 고로, 특정 transaction t∈T가 특정 아이템 i∈I를 갖는다는 정보는, (t, i)∈R로 표기한다. 또한, 임의의 아이템 집합 X⊆I에 대한 함수 t(X)={t∈T | (t, i)∈R, ∀i∈X}로 정의하며, 이는 아이템 집합 X를 소유하는 모든 transaction 집합을 나타낸다. 표 1에 표현된 예제 데이터베이스는 총 10개의 transaction 집합 T={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, 10개의 아이템 집합 I={i 1 , i 2 , i 3 , i 4 , i 5 , i 6 , i 7 , i 8 , i 9 , i 10 } 그리고 이들 간의 관계로 구성되어 있다. 만약 transaction을 영수증이라 한다면, 영수증 1은 아이템 A, C, D 그리고 H를 구입한 고객의 영수증이라 해석될 수 있다. 또한 아이템 집합 X={i 1 , i 3 , i 5 }에 대한 함수 t(X)는 transaction 집합 {4, 5, 7}이라 할 수 있으며, 고로 t({i 1 , i 3 , i 5 })={4, 5, 7}이라 기술할 수 있다.
1. 연관 규칙(Association rule)
연관 규칙 Q→R은 두 개의 상호 배반적인 아이템 집합 Q와 R 간에 존재하는 규칙성을 나타내며, Q를 연관 규칙의 전제, 그리고 R을 연관 규칙의 결론이라 지칭한다. 연관 규칙의 formal한 정의는 다음과 같이 주어진다:
[수학식 1]
Figure pat00001
도 1의 표에 주어진 데이터베이스로부터 추출 가능한 연관 규칙 {i 1 , i 3 }→{i 5 , i 6 }를 예로 살펴보자. 연관 규칙 {i 1 , i 3 }→{i 5 , i 6 }의 지지도와 확신도는 정의 2에 따라, 지지도= |{4,5,7}| /10 =0.3 그리고 확신도= |{4,5,7}| /|{1,4,5,7,8}| =0.6으로 각각 그 값을 구할 수 있다. 만약, 최소 지지도가 0.2 그리고 최소 확신도가 0.5로 설정된 경우, 규칙 {i 1 , i 3 }→{i 5 , i 6 }는 데이터베이스 내에서 유효한 연관 규칙이며, 반면 최소 지지도와 확신도가 0.4 그리고 0.8과 같이 주어질 경우, 위 규칙은 유효하지 않은 연관 규칙으로 분류된다.
2. 유의미한 연관 규칙(Informative association rules) 및 중복적인 연관 규칙(Redundant association rules)
앞서 언급한 바와 같이 임의의 연관 규칙은 규칙은 주어진 문턱 값 대비 규칙의 지지도와 확신도의 크기에 따라 유효 혹은 유효하지 않은 연관 규칙으로 구분된다. 유효한 연관 규칙을 더욱 세분화 하면, 유의미한 연관 규칙 그리고 중복적인 연관 규칙으로 나눌 수 있다. 아래 정의 3은 유의미한 연관 규칙에 대한 정의이다:
[수학식 2]
Figure pat00002
정의 2. 임의의 연관 규칙 r 1 : Q 1 →R 1 은 다음과 같은 조건을 만족하는 연관 규칙 r 2 : Q 2 →R 2 가 데이터베이스 내에 존재하지 않을 경우 유의미한 연관 규칙이라 하며, r 2 가 존재할 경우 r 1 은 중복된 연관 규칙이라 한다:
- 연관 규칙 r 2 : Q 2 →R 2 의 조건: Q 1 ⊆Q 2 ∧ R 1 ⊆R 2 ∧ t(Q 1 ∪R 1 )=t(Q 2 ∪R 2 )
도 1의 표의 데이터베이스로부터 추출 가능한 두 연관 규칙 r 1 : {i 1 }→{i 4 } 그리고 r 2 : {i 1 }→{i 3 , i 4 }를 가정하면, 정의 2에 따라 연관 규칙 r 1 은 유의미한 연관 규칙이 아닌, 중복적인 연관 규칙이다. 그 이유는 r 1 의 전제와 결론인 {i 1 }과 {i 4 }가, r 2 의 전제와 결론인 {i 1 } 그리고 {i 3 , i 4 }에 각각 포함되며, t({i 1 , i 4 })=t({i 1 , i 3 , i 4 })={1, 8}이기 때문이다. 반면 연관 규칙 r 2 : {i 1 }→{i 3 , i 4 }는 유의미한 연관 규칙으로 분류된다. 연관 규칙 추출 분야에서는, 위와 같이 중복적인 연관 규칙의 추출을 배제함과 동시에, 유의미한 연관 규칙들만을 추출하여, 정보의 손실 없이 최소한의 연관 규칙들만을 사용자에게 전달하고자 하는 연구가 하나의 중요한 연구 과제로 자리잡고 있다.
연관 규칙 전제의 표현력을 높이고 그에 부합하는 결론을 추출하기 위한 본 발명의 구성은 다음과 같이 3단계로 요약될 수 있다: 1) 연관 규칙 전제 표현력 확장, 2) 확장형 연관 규칙 기반의 유의미한 연관 규칙에 대한 정의 그리고 3) 동적 데이터 대상 단계적인 확장형 연관 규칙 추출 알고리즘 개발. 개략적으로 본 발명의 구성을 기술하자면, 연관 규칙 전제의 형태를 집합 대비 높은 표현력을 지원하는 이진 논리식(Boolean expression)으로의 확장, 확장된 연관 규칙 기반의 유의미한 연관 규칙에 대한 정의, 그리고 효율적인 조합 연산을 통해 단 시간 내에 동적인 데이터로부터 주어진 이진 논리식에 부합하는 유의미한 연관 규칙의 단계적 추출 방법으로 구성된다.
1. 연관 규칙 전제 형태의 재정의
본 연구에서는 연관 규칙의 전제 Q를 주어진 데이터베이스 내에 존재하는 아이템들과 이진 논리 연산자 AND, OR, NOT 그리고 이진 논리 연산자 간의 우선 순위를 명시하는 괄호의 조합인 이진 논리식으로 정의하며, formal한 정의는 아래와 같다:
[수학식 3]
Figure pat00003
정의 3. Q := i | ¬i | ¬(Q) | Q 1 ∧Q 2 | Q 1 ∨Q 2 | (Q), 단 i는 데이터베이스 내에 존재하는 아이템.
나아가, 특정 데이터베이스에 대한 이진 논리식 형태의 전제 Q에 대하여, t(Q)는 Q를 만족하는 transaction 집
합을 지칭한다. 표 1에 주어진 데이터베이스를 기반으로 Q 및 t(Q)에 대한 예를 기술하면 다음과 같다. 표 1의
데이터베이스에 대한 Q를 i 1 ∧¬i 2 는 정의 3에 기술된 생성 규칙에 의해 생성 가능한 이진 논리식임으로, 유효
한 Q라 할 수 있으며, 이때, t(Q)={1, 4, 5, 7}이라 할 수 있다.
2. 확장형 연관 규칙 기반의 유의미한 연관 규칙
본 절에서는 전제의 형태가 집합에서 이진 논리식으로 확장된 연관 규칙에 대해 유의미한 규칙 그리고 이와
상반되는 개념인 중복적인 규칙에 대해 논하며, 이는 앞서 기술한 전통적인 형태의 연관 규칙에 대한 유의미/
중복된 연관 규칙의 정의를 변형함으로 손쉽게 정의할 수 있다.
[수학식 4]
Figure pat00004
정의 4. 특정 데이터베이스에 대한 이진 논리식 Q를 전제로 하는 연관 규칙 r 1 : Q→R 1 은 다음과 같은 조건을 만족하는 연관 규칙 r 2 : Q→R 2 가 존재하지 않을 경우, 유의미한 확장형 연관 규칙이라 하며, r 2 가 존재할 경우,
r 1 은 중복적인 확장형 연관 규칙이라 한다:
- 연관 규칙 r 2 : Q→R 2 의 조건: R 1 ⊆R 2 ∧ t(Q)∩t(R 1 )=t(Q)∩t(R 2 )
도 1의 표의 데이터베이스로부터 추출 가능한 두 확장형 연관 규칙 r 1 : i 1 ∧¬i 2→{i 1 , i 3 , i 4 } 그리고 r 2 : i 1 ∧¬i 2→{i 1 , i 3 , i 4 , i 8 }을 가정하면, 정의 4에 따라 연관 규칙 r 1 은 유의미한 확장형 연관 규칙이 아닌, 중복적인 확장형 연관 규칙이다. 그 이유는, 두 확장형 연관 규칙 r 1 과 r 2 가 전제 Q를 i 1 ∧¬i 2 로써 공유하고, r 1 의 결론 {i 1 , i 3 , i 4 }가 r 2 의 결론 {i 1 , i 3 , i 4 , i 8 }의 부분 집합이며, t(i 1 ∧¬i 2 )={1, 4, 5, 7}과 r 1 의 결론으로부터 유도되는 transaction 집합 t({i 1 , i 3 , i 4 })={1, 8}과의 교집합이, t(i 1 ∧¬i 2 )={1, 4, 5, 7}과 r 2 의 결론으로부터 유도되는 transaction 집합 t({i 1 , i 3 , i 4 , i 8 })={1}과의 교집합과 동일하게 {1}이기 때문이다. 다시 말해, 규칙 r 1 은, 전제 Q를 만족하는 transaction 1에 대한 정보 중, 일부분만을 제공하는 중복적인 확장형 연관 규칙이며, 반면 규칙 r 2 : i 1 ∧¬i 2→{i 1 , i 3 , i 4 , i 8}은 transaction 1에 대한 정보를 누락 없이 제공하는 유의미한 확장형 연관 규칙이라 할 수 있다.
3. 동적 데이터 대상 단계적 확장형 연관 규칙 추출 방법론
본 절에서는 주어진 이진 논리식 형태로 주어진 전제에 부합하는 유의미한 결론 리스트를 대용량의 동적 데이터로부터 단계적으로 추출하는 알고리즘을 제안하고자 한다. 기존의 알고리즘들은 연관 규칙을 추출하는 데이터 집합을 정적인 형태의 데이터로 규정하고, 주어진 문턱 값들을 기반으로 데이터 내에 존재하는 모든 연관 규칙을 일괄적으로 추출 후, 이를 특정 도메인에 활용하는 접근 방식을 취해왔다. 비록 소수의 연구 집단에서 단계적인 방식으로 주어진 연관 규칙의 전제에 대한 결론 추출 방법을 제시하였으나, 이들 역시 연관 규칙이 추출되는 데이터를 정적인 데이터로 규정하고, 대용량의 데이터로부터 단 시간 내의 연관 규칙 추출을 위해 다양한 인덱스 및 데이터 구조를 구축하는 것과 같이 막대한 시간 및 자원이 소모되는 사전 처리 작업에 대한 의존도가 절대적이라 할 수 있다. 그러나, SNS 및 IoT의 개념이 보편화되는 현 시점에서, 동적으로 업데이트되는 특성을 갖는 데이터 집합들의 수가 급격히 증가하고 있어, 기존의 접근 방법에는 명확한 한계점이 있다. 이에 본 연구에서는, 연관 규칙이 추출되는 데이터 집합을 동적 데이터로 규정하고, 사용자로부터 주어진 이진 논리식 형태의 전제에 부합하는 유의미한 결론 집합만을, 인덱스 및 데이터 구조 구축과 같은 높은 복잡도를 요구하는 사전 처리 없이, 단계적으로 추출하는 알고리즘을 제안한다. 도면 1은 본 연구에서 제안하는 알고리즘의 동작 메커니즘을 추상화하여 도식한 것이다.
도 2를 통해 확인할 수 있는 바와 같이, 본 연구에서는 연관 규칙이 추출되는 데이터베이스(즉, transaction 집합)을 시시각각 변화는 동적인 데이터로 취급한다. 또한 데이터베이스 자체를 동적으로 규정하고 있기 때문에, 기존의 방법론들이 취했던 접근법인 고정된 인덱스 및 특화된 자료구조 대신, 3가지 수학적 속성을 활용한 효율적인 조합 연산을 통해, 대용량의 동적 데이터로부터 이진 논리식 형태의 전제에 부합하는 결론 리스트를 단 시간 내에 추출하고자 하는 구조를 갖는다. 또한, 첫 번째 단계에서 추출된 결론 리스트 중, 사용자가 관심을 표명한 결론이 연관 규칙 추출 모듈의 입력으로 다시 활용되어, 다음 단계의 결론 리스트를 제공하는 형식의 재귀적인 처리 절차를 특성으로 한다.
가. 3가지 수학적 속성
본 연구에서 제안하는 이진 논리식 형태의 전제에 부합하는 유의미한 결론의 단계적 추출 알고리즘은, 두 개의 아이템 집합 X i 그리고 X j 의 조합을 통하여 결론을 도출하는 방식을 취한다. 또한, 두 개의 아이템 집합 X i 및 X j 는 독립/의존 중 하나의 상태를 가지며, 각 아이템 집합의 초기 상태는 독립이다. 이때, 다음과 같은 3가지 수학적 속성을 기반으로 조합의 결과를 생성해 낸다:
속성 1. t(X i )=t(X j )이고 Xi의 상태가 독립인 경우:
X i 를 X i ∪X j 로 대체하고, X j 의 상태를 의존으로 설정
속성 2. t(X i )⊃t(X j )이고 X i 의 상태가 독립인 경우:
X j 를 X i 의 자식으로 할당하고, X j 의 상태를 의존으로 설정
속성 3. 속성 1과 속성 2 모두 아닐 경우:
X i 가 독립인 경우, X j 를 X i 의 자식으로 할당
X j 가 독립인 경우, X i 를 X j 의 자식으로 할당
위에서 언급한 임의의 두 아이템 집합 X i 그리고 X j 의 transaction에 대한 경우의 수는 이어지는 절에서 소개되는 동적 데이터 대상 단계적 확장형 연관 규칙 추출 알고리즘에서 핵심적인 역할을 수행한다.
나. 동적 데이터 대상 단계적 확장형 연관 규칙 추출 알고리즘
아래의 pseudo 코드는 도면 1의 절차를 앞서 소개된 3가지 수학적 속성들을 기반으로, 보다 formal하게 그리고 상세히 표현한다.
Algorithm. GetFirstGeneration(D=(T, I, R), Q, minsup, minconf):
1. SEED←getSeed( )
2. FirstGen←genNextGeneration(SEED)
3. return FirstGen
Function. getSeed( ):
1. SEED ← ??
2. for each i in I
3. sup ← |t(Q)∩t({i})|/|T| and conf ← |t(Q)∩t({i})|/|t(Q)|
4. if sup≥minsup and conf≥minconf then
5. SEED ← SEED∪{{i} × (t(Q)∩t({i}))}
6. end if
7. end for
8. return SEED
Function. getNextGeneration(COMBI):
Figure pat00005
Function. getPropType(T i , T j ):
1. if T i = T j then
2. return 1 // 속성 1
3. else if T i ⊃T j then
4. return 2 // 속성 2
5. else
6. return 3 // 속성 3
7. end if
알고리즘 GetFirstGeneration은, 데이터베이스 D, 데이터베이스 D에 관한 이진 논리식 Q 그리고 0과 1사이의 두 종류의 문턱 값 minsup과 minconf를 입력으로 취하며, 함수 getSeed를 호출하여 획득한 SEED 변수의 값들을 매개변수로 하여, 함수 getNextGeneration을 호출, 주어진 이진 논리식 Q에 대응되는 결론 리스트 중 첫 번째 단계의 결론 리스트들을 추출한다. 함수 getSeed는 데이터베이스 D의 모든 아이템들 중, 주어진 이진 논리식 Q를 만족하는 transaction들 중, 충분한 수의 transaction들에 의해 공유되는 아이템만을 선택하여, 선택된 아이템과 transaction 집합의 쌍({아이템}×transaction 집합)을 변수 SEED의 원소로 하여 SEED 변수를 리턴한다.
본 발명의 핵심 함수인 genNextGeneration은, SEED와 같이 아이템 집합×transaction 집합(이하 I i ×T i 로 표기)을 원소로 하는 변수를 입력으로 하여, 주어진 이진 논리 형태의 전제 Q에 부합하는 결론들을 단계적으로 추출한다. 함수 genNextGeneration은, 가장 먼저 매개변수로 받은 I i ×T i 형태의 원소들을 갖는 변수 COMBI에 대하여, 원소들의 transaction 집합의 수인 |T i |를 기반으로 내림차순 정렬을 수행한다. 이는 quick sorting과 같은 정렬 방식을 써 nlog n 시간에 종료될 수 있다. 또한 COMBI의 원소인 모든 (Ii×T i )의 상태(state)를 독립(ind: independent)로 초기화하고, 자식(child)을 공집합으로 초기화한다. 초기화 작업이 완료 된 후, 정렬된 COMBI 변수를 대상으로 하여, i<j 관계에 있는 COMBI의 두 원소 (I i × T i )와 (I j × T j )를 기반으로 조합 연산을 수행한다. 이때, 앞 절에서 언급한 3가지 수학적 속성에 따라 각기 다른 조합 연산이 수행된다. 만약 속성 1을 만족하고 (I i × T i )의 상태가 독립인 경우, 속성 1의 규칙에 따라 (I i × T i )의 구성요소 I i 를 I i ∪I j 로 변경하고, (I i × T i )의 상태를 의존(dep: dependent)로 설정한다(즉, (I i × T i )를 (I i ∪I j × T i )로 변경). 반면, 속성 2를 만족하고 (I i × T i )의 상태가 독립인 경우, (I j × T j )을 (I i × T i )의 자식에 추가한 후 (I j × T j )의 상태를 의존으로 설정한다. 마지막으로 속성 3을 만족할 경우는, COMBI의 두 원소 (I i × T i )와 (I j × T j )의 상태에 따라 조합 연산을 수행한다. 만약 (I i × T i )의 상태가 독립인 경우, (I j × T i ∩T j )라는 새로운 조합을 생성한 후, 이를 (I i × T i )의 자식에 추가한다. 또한, 원소 (I j × T j )의 상태가 독립인 경우는, (I i × T i ∩T j )라는 새로운 조합을 생성한 후, 이를 (I j × T j )의 자식에 추가한다. i<j 관계에 있는 COMBI의 모든 원소의 조합을 완료한 후, (I i × T i )∈COMBI 중, 그 상태가 독립인 원소들만을 변수 NEXT에 할당하고, 이를 함수 getNextGeneration의 결과 값으로 리턴한다. (I i × T i ) 형태의 결과 값에 대하여, 사용자에게는 아이템 부분인 I i 부분 만을 전달하고, 사용자가 특정 결과 값(즉 결론) (I i × T i )를 선택할 경우, (I i × T i )의 child들을 매개변수로 하여, 함수 getNextGeneration을 호출, 그 결과를 다시 사용자에게 제공한다. 이와 같은 재귀적 반복은 함수 getNextGeneration의 리턴 값이 공집합일 때까지 지속될 수 있다.
본 발명의 효과를 보다 구체적으로 설명한다.
본 발명과 종래의의 기술과의 구성 및 동작으로부터 발생하는 효과 및 이점을 기술하기 위해, 연관 규칙의 일반적인 활용 절차를 도면 2에 도식화 하였다. 도면 2에서 확인할 수 있는 바와 같이, 연관 규칙의 일반적일 활용 절차를 크게 1) 규칙 생성부 그리고 2) 규칙 활용부로 나눌 수 있다. 규칙 생성부에서는 가장 먼저 transaction 데이터를 수집하고, 수집된 데이터에 대해 도메인 전문가가 문턱 값을 지정, 지정된 문턱 값을 만족하는 모든 연관 규칙 집합을 추출하여, 이를 연관 규칙 저장소에 저장한다. 추출된 연관 규칙들은 도면 2와 같이, 전제, 결론, 지지도 및 확신도 정보가 저장된다. 규칙 생성이 완료된 후, 사용자의 선호도 혹은 히스토리가 집합 형태로 모델링되어 연관 규칙 저장소에 전달되며, 집합 형태의 사용자 선호도와 추출된 연관 규칙의 전제가 일치할 경우, 해당 연관 규칙의 결론이 지지도 혹은 확신도를 기반으로 내림차순 정렬되어 사용자에게 전달된다.
그러나, 위와 같은 기존의 접근법은 4가지의 한계점이 있다. 첫 번째 제약 사항은, 집합 기반의 사용자의 요구 혹은 상태 기술로부터 오는 표현력의 한계로부터 비롯된다. 종래 기술의 경우 연관 규칙 전제의 형태를 집합으로 한정하여, 사용자의 요구 및 상태는 AND 조건으로 묶인 형태만을 지원한다 (예: A와 B를 모두 선호). 그러나, 특정 사용자가 특정 항목들을 배제하고 싶거나 AND 조건만이 아닌 OR 조건을 도입하여 보다 상세히 자신의 상태를 기술하고, 이에 부합하는 결론의 획득을 요할 경우, 기존의 기술은 보다 상세한 사용자의 요구에 부합할 수 없다. 두 번째 한계점은 최소 지지도 및 최소 확신도의 주관성 및 변통성으로부터 야기된다. 도면 2에서 확인할 수 있는 바와 같이, 연관 규칙 저장소에 축적되는 연관 규칙들은, 특정 시스템 관리자에 의해 특정 시점에 설정된 최소 지지도 및 최소 확신도를 만족하는 규칙들로 이루어져 있다. 그러나, 시스템 관리자가 변경되거나 혹은 주변 상황의 변화로 최소 지지도 및 최소 확신도의 값에 변화가 요구되는 경우, 연관 규칙 추출 엔진은 연관 규칙의 재생성이라는 시간 및 공간 복잡도가 높은 high cost성 작업을 수행해야 하거나(기존의 최소 지지도 및 확신도보다 낮은 값들이 재설정 될 경우), 연관 규칙 저장소 내 존재하는 연관 규칙들을 삭제해야 한다 (기존의 최소 지지도 및 확신도보다 높은 값들이 재설정 될 경우). 세 번째 한계점은 연관 규칙 저장에 소요되는 자원의 낭비라 할 수 있다. 이는 앞서 기술된 기존 기술이 갖는 두 가지 한계점의 연장선에 있는 한계점이라 할 수 있다. 기존의 기술들은 최소 지지도 및 최소 확신도를 만족하는 모든 연관 규칙들을 일괄적으로 추출하여 이를 활용한다. 그러나, 사용자의 상태 혹은 선호도가 집합이 아닌 이진 논리식과 같은 보다 표현력이 높은 형태로 기술될 경우, n개의 아이템 집합으로부터, 이론 상으로, 무한대의 선호도 종류가 표현될 수 있다. 또한, 동일한 데이터에 대해 서로 다른 관점(최소 지지도 및 확신도)이 동시에 요구되는 상황 역시 발생할 수 있다. 기존의 기술들을 활용하여 두 가지 상황에 대처하기 위해서는, 대용량의 연관 규칙 저장소가 요구되며, 대용량의 연관 규칙들을 단 시간 내에 검색하기 위한 검색 기술 등 고난이도의 기술 및 고가의 장비 등, 고비용의 자원이 요구된다 할 수 있다. 마지막으로, 도면 2에 표현된 연고나 규칙 활용 절차에서는, transaction 집합을 그 업데이트 빈도가 낮거나 혹은 업데이트 주기가 긴 정적 데이터로 가정하고 있다. 그러나, 최근 생성되는 다수의 데이터 집합은 업데이트의 빈도가 잦고 업데이트 주기가 짧은 동적인 데이터 집합이라 할 수 있기 때문에, 위 접근법을 활용할 경우, 데이터가 업데이트 될 때마다 규칙 생성부에 나열될 절차를 다시 수행하고, 연관 규칙 저장소 역시 상시적으로 변경해야 한다는 명백한 한계점이 존재한다.
본 발명에서 제시한 방법론에 의해, 위에 기술된 4가지 문제점은 원활히 해결될 수 있다. 가장 먼저, 본 발명은 연관 규칙 전제의 형태를 기존의 집합에서, 보다 높은 표현력을 지원하는 이진 논리식으로 확장하였다. 또한 주어진 이진 논리식을 전제로 하고, 이에 부합하는 결론을 갖는 연관 규칙만을 추출하는 알고리즘을 제시하여, 사용자의 요구 혹은 상태를 AND 조건만이 아닌, OR 그리고 NOT 조건을 사용 및 조합하여 표현하고, 이에 부합하는 결론을 획득할 수 있도록 지원한다. 또한, 본 발명에서 제시한 알고리즘은 동적인 최소 지지도 및 최소 확신도를 반영하여 연관 규칙 추출을 지원한다. 또한, transaction 집합에 추가적인 인덱스 혹은 특정 자료구조를 활용하는 방식 대신, 주어진 임의의 이진 논리식에 대응되는 유의미한 결론 리스트만을 단계적으로 추출하여, 동적으로 변화하는 대용량의 transaction 집합으로부터 단 시간 내에 사용자 선호도에 부합하는 추천 리스트를 제공할 수 있다. 지금까지 기술한, 종래 기술 대비 본 발명으로부터 얻을 수 있는 이점 및 이점 발생의 인과관계를 요약/정리하여 도식화하면 도 4의 표와 같이 나타낼 수 있다.
본 발명에서 제안하는 동적 데이터 대상 확장형 연관 규칙의 단계적 추출 알고리즘의 플로우차트는 도 5와 같이 단순화하여 도식화할 수 있다. 가장 먼저, 사용자의 선호도가 이진 논리식 형태로 알고리즘(시스템)에 주어진다. 알고리즘은 동적 transaction 집합을 참조하여 이진 논리식의 문법 등을 점검하고, 주어진 이진 논리식을 만족하는 transaction 집합을 산출해 낸다. 산출된 transaction 집합을 기반으로, transaction 집합 내에 존재하는 단일 아이템들 중, 충분히 많은 transaction 집합에 의해 공유되는 아이템들을 산출한다. 산출된 단일 아이템 집합들은 3가지 수학적 속성을 기반하여 조합되며, 조합된 아이템 집합들은 선별작업을 거쳐 사용자에게 1단계 추천 리스트로 제공된다. 사용자가 제공된 추천 리스트 중 특정 아이템 집합을 선택할 경우, 선택된 아이템 집합의 하위 아이템 집합들이 다시 알고리즘으로 전달되고, 재귀적으로 조합 및 선별 작업을 거쳐 다음 단계의 아이템 집합들이 사용자에게 전달된다.
구체적인 실시예를 표 1에 기술된 데이터베이스를 기반으로 제시하면 다음과 같다. 먼저 사용자의 선호도 Q를 i 1 ∧¬i 2 라 가정하고, 문턱 값 minsup=0.1 그리고 minconf=0.2라 하자. 알고리즘은 주어진 Q를 만족하는 transaction 집합 {1, 2, 3, 4, 5, 6, 7, 8}을 도출해 낸다(즉 t(Q)={1, 2, 3, 4, 5, 6, 7, 8}). 다음으로, 단일 아이템 적합 여부를 판단하기 위해 데이터베이스 내, 아이템×transaction 집합 {{i 1 }×{1, 4, 5, 7, 8}, {i 2 }×{2, 3, 6, 8}, {i 3 }×{1, 4, 5, 7, 8}, {i 4 }×{1, 8, 9}, {i 5 }×{4, 5, 7, 10}, {i 6 }×{4, 5, 7}, {i 7 }×{5, 7}, {i 8 }×{1}, {i 9 }×{8}, {i 10 }×{3, 6}}의 각 원소들의 transaction 부분을 t(Q)와의 intersection 연산을 통해 다음과 같은 결과를 산출한다: {{i 1 }×{1, 4, 5, 7}, {i 2 }×{ }, {i 3 }×{1, 4, 5, 7}, {i 4 }×{1}, {i 5 }×{4, 5, 7}, {i 6 }×{4, 5, 7}, {i 7 }×{5, 7}, {i 8 }×{1}, {i 9 }×{ }, {i 10 }×{ }}. 문턱 값 minsup이 0.1이므로, 위 집합의 원소 중 transaction 부분이 공집합인 원소들은 적합하지 않은 원소로 분류되고, 적합한 원소들을 기반으로, 3가지 수학적 속성에 기반한 아이템 조합이 도 6과 같이 수행된다(스트라이크 원소는 의존 상태를 뜻함).
이진 논리식 i 1 ∧¬i 2에 대한 첫 번째 단계의 추천 리스트 추출은 7단계를 거쳐 사용자에게 주어지며, 위 예에서는 {i 1 , i 3 }가 전달된다. 만약 사용자가 {i 1 , i 3 }를 선택할 경우, {i 1 , i 3 }의 자식 리스트인 {{i 5 }×{4, 5, 7}, {i 6 }×{4, 5, 7}, {i 7 }×{5, 7}, {i 4 }×{1}, {i 8 }×{1}}를 기반으로 도 7과 같이 재귀적으로 조합을 수행, 그 결과를 제공한다.
이진 논리식 i 1 ∧¬i 2에 대한 첫 번째 단계의 추천 리스트 추출은 위 4단계에 의해 종료되며, {i 5 , i 6 } 그리고 {i 4 , i 8 }이 사용자에게 각각 주어진다. 만약 사용자가 {i 5 , i 6 }을 선택할 경우, 이 집합의 자식은 유일함으로 {i 7 }이 추천된 후 더 이상 추천할 아이템 집합은 남지 않는다. 반면 사용자가 {i 4 , i 8 }을 선택할 경우, {i 4 , i 8 }의 자식이 존재하지 않음으로, 추천 프로세스는 종료된다.
본 발명을 통한 산출물인 동적 데이터 대상 확장형 연관 규칙의 단계적 추출 알고리즘은, 의료, 경영, 컴퓨터 공학 등과 같은 특정 분야에 특화된 방법론이 아닌, transaction과 아이템 간의 연관 관계(Associated relation)가 유의미한 효과를 낼 수 있는 모든 분야에서 적용 가능하다 할 수 있다. 특히, 이진 논리식 형태로 기술한 연관 규칙 전제에 부합하는 결론을 활용할 수 있는 시나리오 혹은 상황과 SNS 그리고 IoT와 같이 동적으로 변경되는 데이터가 수집되는 분야에서 긍정적인 효과를 발휘할 것으로 기대한다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 사용자 단말 20 : 네트워크
30 : 연관규칙 추출 서버 40 : 데이터베이스

Claims (2)

  1. 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법에 있어서,
    (a) 연관 규칙의 전제를 집합에서 이진 논리식으로 재정의하고,
    (b) 동적으로 변화하는 대용량 데이터로부터 재정의된 연관 규칙을 효율적으로 추출해 내는 것을 특징으로 하는 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법.
  2. 제1항의 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020160008147A 2016-01-22 2016-01-22 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법 KR20170088469A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160008147A KR20170088469A (ko) 2016-01-22 2016-01-22 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160008147A KR20170088469A (ko) 2016-01-22 2016-01-22 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법

Publications (1)

Publication Number Publication Date
KR20170088469A true KR20170088469A (ko) 2017-08-02

Family

ID=59651979

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160008147A KR20170088469A (ko) 2016-01-22 2016-01-22 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법

Country Status (1)

Country Link
KR (1) KR20170088469A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190049536A (ko) * 2017-10-30 2019-05-09 서울대학교산학협력단 연관 규칙의 단계적 추출 장치 및 방법
CN112434104A (zh) * 2020-12-04 2021-03-02 东北大学 面向关联规则挖掘的冗余规则筛除方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190049536A (ko) * 2017-10-30 2019-05-09 서울대학교산학협력단 연관 규칙의 단계적 추출 장치 및 방법
CN112434104A (zh) * 2020-12-04 2021-03-02 东北大学 面向关联规则挖掘的冗余规则筛除方法及装置
CN112434104B (zh) * 2020-12-04 2023-10-20 东北大学 面向关联规则挖掘的冗余规则筛除方法及装置

Similar Documents

Publication Publication Date Title
Hu et al. Heterogeneous graph transformer
Yu et al. A three-way cluster ensemble approach for large-scale data
CN109255586B (zh) 一种面向电子政务办事的在线个性化推荐方法
Farnadi et al. Soft quantification in statistical relational learning
JP2016100005A (ja) リコンサイル方法、プロセッサ及び記憶媒体
Duval et al. Higher-order clustering and pooling for graph neural networks
US20160299771A1 (en) Collaborative generation of configuration technical data for a product to be manufactured
Le et al. An efficient algorithm for hiding high utility sequential patterns
Hassani et al. On the application of sequential pattern mining primitives to process discovery: Overview, outlook and opportunity identification
Mumin et al. An efficient algorithm for link prediction based on local information: considering the effect of node degree
Castro et al. Review and comparison of Apriori algorithm implementations on Hadoop-MapReduce and Spark
Kalifullah et al. Retracted: Graph‐based content matching for web of things through heuristic boost algorithm
Li et al. In-database batch and query-time inference over probabilistic graphical models using UDA–GIST
Al-Ghezi et al. Adaptive workload-based partitioning and replication for RDF graphs
KR20170088469A (ko) 동적 데이터 대상 이진 논리식 기반의 단계적 연관 규칙 추출 방법
Vu et al. FTKHUIM: a fast and efficient method for mining top-K high-utility itemsets
WO2018070038A1 (ja) 計算機システム及び制御方法
Chen et al. Fuzzy Frequent Pattern Mining Algorithm Based on Weighted Sliding Window and Type‐2 Fuzzy Sets over Medical Data Stream
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
Sarno et al. Workflow common fragments extraction based on WSDL similarity and graph dependency
CN116806337A (zh) 使用子图的信息匹配
Diamantini et al. Supporting users in kdd processes design: a semantic similarity matching approach
Martin et al. Graded concepts for collaborative intelligence
Hońko Upgrading a granular computing based data mining framework to a relational case
Wu et al. Mining skyline patterns from big data environments based on a spark framework

Legal Events

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