KR20160066219A - Method of maintaining recent frequent pattern based on damped window and approximation pruning in stream environment, recent frequent pattern maintenance server performing the same and storage medium storing the same - Google Patents

Method of maintaining recent frequent pattern based on damped window and approximation pruning in stream environment, recent frequent pattern maintenance server performing the same and storage medium storing the same Download PDF

Info

Publication number
KR20160066219A
KR20160066219A KR1020140170280A KR20140170280A KR20160066219A KR 20160066219 A KR20160066219 A KR 20160066219A KR 1020140170280 A KR1020140170280 A KR 1020140170280A KR 20140170280 A KR20140170280 A KR 20140170280A KR 20160066219 A KR20160066219 A KR 20160066219A
Authority
KR
South Korea
Prior art keywords
node
frequent
frequent item
tree
frequency
Prior art date
Application number
KR1020140170280A
Other languages
Korean (ko)
Other versions
KR101649884B1 (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 KR1020140170280A priority Critical patent/KR101649884B1/en
Publication of KR20160066219A publication Critical patent/KR20160066219A/en
Application granted granted Critical
Publication of KR101649884B1 publication Critical patent/KR101649884B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures

Abstract

The present invention relates to a method for maintaining a latest frequent pattern, capable of maintaining and managing only the latest frequent item by using one tree. The method comprises the following steps: collecting transactions based on the size of a first batch; mining at least one first frequent item when the transactions are collected as much as the size of the first batch, and generating a tree by using each first frequent item as a node; collecting transactions based on the size of a second batch; and mining at least one second frequent item when the transactions are collected as much as the size of the second batch, and adding the second frequent items to the tree by using each second frequent item as a node.

Description

스트림 환경의 감쇄 윈도우 및 근접 프루닝 기반 최신 빈발 패턴 유지 방법, 이를 수행하는 최신 빈발 패턴 유지 서버 및 이를 저장하는 기록매체{METHOD OF MAINTAINING RECENT FREQUENT PATTERN BASED ON DAMPED WINDOW AND APPROXIMATION PRUNING IN STREAM ENVIRONMENT, RECENT FREQUENT PATTERN MAINTENANCE SERVER PERFORMING THE SAME AND STORAGE MEDIUM STORING THE SAME}TECHNICAL FIELD [0001] The present invention relates to a method for maintaining a frequent pattern based on attenuation windows and proximity pruning in a stream environment, a server for maintaining the latest frequent patterns, and a recording medium storing the updated frequent patterns. PATTERN MAINTENANCE SERVER PERFORMING THE SAME AND STORAGE MEDIUM STORING THE SAME}

본 발명은 최신 빈발 패턴 유지 기술에 관한 것으로서, 특정 배치 크기를 기초로 트랜잭션을 수집하고 빈발 항목을 마이닝 하여 트리에 삽입하고 비 빈발 항목에 대하여는 해당 노드를 삭제하는 것을 통하여 트리에 빈발 항목 만을 유지할 수 있는 최신 빈발 패턴 유지 방법, 이를 수행하는 최신 빈발 패턴 유지 서버 및 이를 저장하는 기록매체에 관한 것이다.
The present invention relates to a technique for maintaining a frequent pattern, which is capable of collecting transactions based on a specific batch size, mining frequent items and inserting them into a tree, and deleting corresponding nodes for non-frequent items, The present invention relates to a method for maintaining the latest frequent patterns, a server for maintaining the latest frequent patterns for performing the same, and a recording medium for storing the updated frequent patterns.

일반적으로, 트랜잭션 정보를 트리에 저장하여 유지하며 사용자로부터 빈발 항목 추출에 대한 요청을 받은 경우에, 트랜잭션 정보가 저장되어 있는 트리를 마이닝 하여 빈발 항목을 검출한다. 또한, 새로운 트랜잭션이 도착하면 이를 트리에 반영하며, 빈발 항목 추출에 대한 요청을 받을 때마다 모든 트랜잭션 정보에 대하여 마이닝 연산을 수행한다. 즉, 새로운 트랜잭션이 도착할 때마다 이를 처리하여 트리를 갱신하고, 빈발 항목 추출에 대한 요청을 받을 때마다 트리에 대한 마이닝 연산이 요구 된다.In general, when transaction information is stored in a tree and maintained, and a request for frequent item extraction from a user is received, a frequent item is detected by mining a tree storing transaction information. Also, when a new transaction arrives, it reflects it in the tree, and performs mining operation on all transaction information whenever a request for frequent item extraction is received. That is, every time a new transaction arrives, the tree is updated by processing it, and a mining operation on the tree is required every time a request for frequent item extraction is received.

한국등록특허 제10-0899144호는 데이터 스트림으로부터 최대 빈발항목집합을 탐색하는 방법 및 장치에 관한 것으로서, 이미 발생한 트랜잭션들에 포함된 항목집합들 및 항목 집합들의 출현 빈도수가 전위 트리를 통하여 관리되고, 이를 이용하여 노드를 방문하면서 해당하는 항목 집합이 빈발한지 여부를 검사함으로써 최대 빈발 항목 집합을 찾는 기술이다.Korean Patent Registration No. 10-0899144 is directed to a method and apparatus for searching a maximum frequent item set from a data stream, wherein the occurrence frequencies of item sets and item sets included in already generated transactions are managed through a potential tree, It is a technique to find the most frequent item set by checking whether the corresponding item set is frequently visited while visiting the node.

한국등록특허 제10-1105363호는 롱 트랜잭션 데이터 스트림을 위한 빈발항목집합 탐색 방법에 관한 것으로서, 발생하는 트랜잭션을 분할하여 복수 개의 분할 트랜잭션을 생성하고, 복수개의 분할 트랜잭션 각각을 복수 개의 제1 계층 전위 트리를 이용하여 마이닝하여 빈발 항목 집합을 생성하고, 생성된 빈발 항목 집합을 압축 및 병합하고 제2 계층 전위 트리를 이용하여 마이닝 하는 기술이다.
Korean Patent No. 10-1105363 relates to a method for searching frequent item sets for a long transaction data stream, which divides a generated transaction into a plurality of divided transactions, and divides each of the plurality of divided transactions into a plurality of first hierarchical potentials It is a technique to generate a frequent item set by mining using a tree, to compress and merge the generated frequent item set, and to mining using a second-level dislocation tree.

한국등록특허 제10-0899144호Korean Patent No. 10-0899144 한국등록특허 제10-1105363호Korean Patent No. 10-1105363

본 발명의 일 실시예는 하나의 트리를 이용하여 최신 빈발 항목만을 유지 및 관리할 수 있는 최신 빈발 패턴 유지 방법을 제공하고자 한다.One embodiment of the present invention is to provide a method for maintaining the latest frequent items using a single tree.

본 발명의 일 실시예는 특정 배치의 크기를 기초로 트랜잭션을 수집한 다음에 빈발 항목을 마이닝할 수 있는 최신 빈발 패턴 유지 방법을 제공하고자 한다.One embodiment of the present invention seeks to provide a method for maintaining the latest frequent patterns that can be used to mine frequent items after collecting transactions based on the size of a specific batch.

본 발명의 일 실시예는 빈발 항목을 노드로 하여 트리에 추가하고 비 빈발 항목은 해당 트리에서 삭제할 수 있는 최신 빈발 패턴 유지 방법을 제공하고자 한다.One embodiment of the present invention is to provide a method for maintaining the latest frequent patterns that can add frequent items to a tree as nodes and delete non-frequent items from the tree.

본 발명의 일 실시예는 트리에 저장되어 있는 빈발 항목을 탐색하여 사용자에게 최신 빈발 항목의 집합을 제공할 수 있는 최신 빈발 패턴 유지 방법을 제공하고자 한다.
One embodiment of the present invention is to provide a method for keeping up with the latest frequent patterns that can search for frequent items stored in a tree to provide a set of the latest frequent items to a user.

실시예들 중에서, 최신 빈발 패턴 유지 방법은 (a) 제1 배치의 크기를 기초로 트랜잭션을 수집하는 단계, (b) 상기 트랜잭션이 상기 제1 배치의 크기만큼 수집된 경우에는 적어도 하나의 제1 빈발 항목을 마이닝하고 상기 적어도 하나의 제1 빈발 항목 각각을 노드로 하여 트리를 생성하는 단계, (c) 제2 배치의 크기를 기초로 트랜잭션을 수집하는 단계 및 (d) 상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하는 단계를 포함한다.Among the embodiments, the method for maintaining the latest frequent patterns comprises the steps of: (a) collecting a transaction based on a size of a first batch; (b) if the transaction is collected by the size of the first batch, (C) collecting a transaction based on a size of a second batch; and (d) determining whether the transaction is a second one of the second Mining at least one second frequent item and adding each of the at least one second frequent item as a node to the tree if collected by the size of the batch.

일 실시예에서, 상기 (d) 단계는 상기 제2 빈발 항목 중에서 상기 트리에 저장되어 있는 제1 빈발 항목과 동일한 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 포함되어 있는 노드의 빈도수를 증가시키는 단계를 포함할 수 있다.In one embodiment, if there is the same frequent item as the first frequent item stored in the tree among the second frequent items, the step (d) increases the frequency of the node including the first frequent item Step < / RTI >

일 실시예에서, 상기 (d) 단계는 상기 노드의 배치 정보를 갱신하는 단계를 포함할 수 있다.In one embodiment, the step (d) may include updating the placement information of the node.

일 실시예에서, 상기 (d) 단계는 상기 트리에 저장되어 있는 제1 빈발 항목 중에서 상기 제2 빈발 항목과 중복되지 않는 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 저장되어 있는 노드의 빈도수를 감소시키는 단계를 포함할 수 있다.In one embodiment, if there is a frequent item that does not overlap with the second frequent item among the first frequent items stored in the tree, the step (d) may include calculating a frequency of the node storing the first frequent item .

일 실시예에서, (e) 상기 트리의 노드를 순차적으로 탐색하면서 해당 노드의 빈도수가 현재까지 처리한 트랜잭션의 개수 및 사용자 단말에 의하여 기 설정된 빈도수 감소 팩터, 최소 빈도수 임계치 및 신뢰율을 기초로 산출된 근접 최소 빈도수보다 작은 경우에는 해당 노드의 빈도수를 0으로 하거나 또는 해당 노드를 상기 트리에서 삭제하는 단계를 더 포함할 수 있다.In one embodiment, (e) calculating sequentially based on the number of transactions processed by the frequency of the node and the predetermined frequency reduction factor, the minimum frequency threshold, and the reliability rate determined by the user terminal, If the node is smaller than the nearest minimum frequency, the frequency of the node may be set to zero or the node may be deleted from the tree.

일 실시예에서, 상기 (e) 단계는 상기 해당 노드가 상기 트리의 단말노드에 해당하는 경우에는 상기 해당 노드를 삭제하고 상기 삭제된 노드로부터 루트 노드까지 탐색하면서 빈도수가 0에 해당하는 노드를 삭제하는 단계를 포함할 수 있다.In one embodiment, if the corresponding node corresponds to a terminal node of the tree, the step (e) deletes the corresponding node, searches for the deleted node from the deleted node to the root node, .

일 실시예에서, (f) 사용자로부터 최신 빈발 항목에 대한 출력을 요청 받는 경우에는 상기 트리에 저장되어 있는 빈발 항목을 탐색하여 출력하는 단계를 더 포함할 수 있다.In one embodiment, (f) if the user is requested to output the latest frequent item, searching for the frequent item stored in the tree may be further included.

일 실시예에서, 상기 (f) 단계는 상기 트리의 루트 노드로부터 순차적으로 각각의 노드를 탐색하면서 해당 노드의 빈도수가 현재까지 처리한 트랜잭션의 개수 및 사용자 단말에 의하여 기 설정된 빈도수 감소 팩터 및 최소 빈도수 임계치를 기초로 산출된 최소 빈도수 보다 큰 경우에는 상기 해당 노드로부터 상기 루트 노드까지의 경로에 포함되는 노드의 빈발 항목을 추출하는 단계를 포함할 수 있다.In one embodiment, the step (f) searches for each node sequentially from the root node of the tree, and determines the number of transactions that the frequency of the node has processed so far and the frequency reduction factor and the minimum frequency And extracting a frequent item of the node included in the route from the corresponding node to the root node when the calculated value is larger than the calculated minimum frequency based on the threshold value.

일 실시예에서, 상기 트리는 빈발 항목 및 빈발 항목이 저장되어 있는 노드를 연결하기 위한 링크를 포함하는 헤더리스트를 포함할 수 있다.In one embodiment, the tree may include a list of headers including links to connect nodes where frequent items and frequent items are stored.

일 실시예에서, 상기 노드는 빈발 항목 및 해당 빈발 항목에 대한 빈도수 및 배치 정보를 포함하고 해당 노드의 부모 노드 및 자식 노드에 접근할 수 있는 포인터를 포함할 수 있다.In one embodiment, the node may include frequent items and frequency and placement information for the frequent items, and may include pointers to access parent and child nodes of the node.

실시예들 중에서, 최신 빈발 패턴 유지 서버는 제1 배치의 크기 또는 제2 배치의 크기를 기초로 트랜잭션을 수집하는 트랜잭션 수집부, 상기 트랜잭션이 상기 제1 배치의 크기만큼 수집된 경우에는 적어도 하나의 제1 빈발 항목을 마이닝하고 상기 적어도 하나의 제1 빈발 항목 각각을 노드로 하여 트리를 생성하는 트리 생성부 및 상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하는 빈발 항목 추가부를 포함한다.Among the embodiments, the latest frequent pattern maintenance server comprises a transaction collector for collecting transactions based on the size of the first batch or the size of the second batch, at least one A tree generating unit for generating a tree by mining a first frequent item and each of the at least one first frequent item as a node and a tree generating unit for generating at least one second frequent item when the transaction is collected by the size of the second batch And a frequent item addition unit for mining and adding each of the at least one second frequent item as a node to the tree.

일 실시예에서, 상기 트리의 노드를 순차적으로 탐색하면서 해당 노드의 빈도수가 현재까지 처리한 트랜잭션의 개수 및 사용자 단말에 의하여 기 설정된 빈도수 감소 팩터, 최소 빈도수 임계치 및 신뢰율을 기초로 산출된 근접 최소 빈도수보다 작은 경우에는 해당 노드의 빈도수를 0으로 하거나 또는 해당 노드를 상기 트리에서 삭제하는 빈발 항목 관리부를 더 포함할 수 있다.In one embodiment, the nodes of the tree are sequentially searched, and the number of transactions of the node is updated to the nearest minimum value calculated based on the frequency reduction factor, the minimum frequency threshold, And a frequent item management unit that sets the frequency of the corresponding node to 0 or deletes the corresponding node from the tree when the frequency is smaller than the frequency.

일 실시예에서, 사용자로부터 최신 빈발 항목에 대한 출력을 요청 받는 경우에는 상기 트리에 저장되어 있는 빈발 항목을 탐색하여 출력하는 빈발 항목 제공부를 더 포함할 수 있다.In one embodiment, when the user is requested to output the latest frequent item, the frequent item providing unit may search for and output the frequent item stored in the tree.

실시예들 중에서, 최신 빈발 패턴 유지 방법에 관한 컴퓨터 프로그램을 기록한 기록매체는 제1 배치의 크기를 기초로 트랜잭션을 수집하는 기능, 상기 트랜잭션이 상기 제1 배치의 크기만큼 수집된 경우에는 적어도 하나의 제1 빈발 항목을 마이닝하고 상기 적어도 하나의 제1 빈발 항목 각각을 노드로 하여 트리를 생성하는 기능, 제2 배치의 크기를 기초로 트랜잭션을 수집하는 기능 및 상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하는 기능을 포함하는 최신 빈발 패턴 유지 방법에 관한 컴퓨터 프로그램을 기록한다.
Among the embodiments, the recording medium on which the computer program relating to the method for maintaining the latest frequent patterns is recorded includes a function of collecting transactions based on the size of the first batch, a function of collecting the transactions based on the size of the first batch, A function of generating a tree by mining a first frequent item and each of the at least one first frequent item as a node, collecting a transaction based on the size of the second batch, and comparing the transaction with the size of the second batch And a function of mining at least one second frequent item when collected and adding each of the at least one second frequent item as a node to the tree.

본 발명의 일 실시예에 따른 최신 빈발 패턴 유지 방법은 하나의 트리를 이용하여 최신 빈발 항목만을 유지 및 관리할 수 있다.The latest frequent pattern maintenance method according to an embodiment of the present invention can maintain and manage only the latest frequent items using one tree.

본 발명의 일 실시예에 따른 최신 빈발 패턴 유지 방법은 특정 배치의 크기를 기초로 트랜잭션을 수집한 다음에 빈발 항목을 마이닝할 수 있다.According to an embodiment of the present invention, the latest frequent pattern maintenance method can collect frequent items after collecting transactions based on the size of a specific batch.

본 발명의 일 실시예에 따른 최신 빈발 패턴 유지 방법은 빈발 항목을 노드로 하여 트리에 추가하고 비 빈발 항목은 해당 트리에서 삭제할 수 있다.In the method for maintaining the latest frequent patterns according to an embodiment of the present invention, a frequent item may be added to a tree as a node, and a non-frequent item may be deleted from the tree.

본 발명의 일 실시예에 따른 최신 빈발 패턴 유지 방법은 트리에 저장되어 있는 빈발 항목을 탐색하여 사용자에게 최신 빈발 항목의 집합을 제공할 수 있다.
According to an embodiment of the present invention, the latest frequent pattern maintenance method can search a frequent item stored in a tree to provide a set of the latest frequent items to a user.

도 1은 본 발명의 일 실시예에 따른 최신 빈발 패턴 유지 시스템에 대한 블록도이다.
도 2는 도 1의 최신 빈발 패턴 유지 서버에 대한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 최신 빈발 패턴 유지 방법에 대한 흐름도이다.
도 4는 빈발 항목을 트리에 추가하는 방법에 대한 보다 구체적인 흐름도이다.
도 5는 비 빈발 항목을 트리에서 관리하는 방법에 대한 보다 구체적인 흐름도이다.
도 6은 빈발 항목을 유지하는 트리에 대한 예시이다.
1 is a block diagram of a recent frequent pattern maintenance system according to an embodiment of the present invention.
2 is a block diagram of the latest frequent pattern maintenance server of FIG.
3 is a flowchart illustrating a method for maintaining the latest frequent patterns according to an embodiment of the present invention.
Figure 4 is a more specific flow diagram of a method for adding frequent items to a tree.
Figure 5 is a more specific flowchart of a method for managing non-frequent items in a tree.
Figure 6 is an example of a tree that maintains frequent items.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that the singular " include " or "have" are to be construed as including the stated feature, number, step, operation, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes any type of recording device that stores data that can be read by a computer system . Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.

도 1은 본 발명의 일 실시예에 따른 최신 빈발 패턴 유지 시스템에 대한 블록도이다.1 is a block diagram of a recent frequent pattern maintenance system according to an embodiment of the present invention.

도 1을 참조하면, 최신 빈발 패턴 유지 시스템(100)은 사용자 단말(110), 최신 빈발 패턴 유지 서버(120)를 포함한다. 여기에서, 사용자 단말(110)을 네트워크(130)를 통하여 최신 빈발 패턴 유지 서버(120)와 연결된다.Referring to FIG. 1, the latest frequent pattern maintenance system 100 includes a user terminal 110, a latest frequent pattern maintenance server 120, and the like. Here, the user terminal 110 is connected to the latest frequent pattern maintenance server 120 via the network 130.

사용자 단말(110)은 최신 빈발 패턴 유지 서버(120)와 연결되어 최신 빈발 패턴 유지 방법을 수행하는데 대한 데이터를 송수신할 수 있는 컴퓨팅 장치에 해당할 수 있다. 예를 들어, 사용자 단말(110)은 데스크톱(Desktop), 노트북(Laptop), 스마트 폰(Smart phone) 또는 태블릿 PC(Tablet Personal Computer)에 해당할 수 있다. 사용자 단말(110)은 최신 빈발 패턴 유지 서버(120)에 최신 빈발 항목들로 트리를 유지하기 위하여 요구되는 특정 기준 값을 설정하는데 필요한 특정 정보를 전송할 수 있고 최신 빈발 항목의 출력을 요청할 수 있으며 최신 빈발 패턴 유지 서버(120)로부터 최신 빈발 항목에 대한 정보를 수신할 수 있다.The user terminal 110 may correspond to a computing device connected to the latest frequent pattern maintenance server 120 and capable of transmitting and receiving data for performing the latest frequent pattern maintenance method. For example, the user terminal 110 may correspond to a desktop, a laptop, a smart phone, or a tablet personal computer. The user terminal 110 may send to the latest frequent pattern maintenance server 120 specific information necessary to set a specific reference value required to maintain the tree with the latest frequent items and may request the output of the latest frequent items, Information on the latest frequent items from the frequent pattern maintenance server 120 can be received.

최신 빈발 패턴 유지 서버(120)는 사용자 단말(110)과 연결되어 특정 작업을 실행할 수 있는 컴퓨팅 장치에 해당할 수 있다. 일 실시예에서, 최신 빈발 패턴 유지 서버(120)는 사용자 단말(110)로부터 수신한 특정 정보를 기초로 최신 빈발 항목을 트리 형태로 유지 및 관리 할 수 있고, 트리에서 빈발 항목을 탐색하여 사용자 단말(110)에 제공할 수 있다.
The latest frequent pattern maintenance server 120 may correspond to a computing device that is connected to the user terminal 110 and can execute a specific task. In one embodiment, the latest frequent pattern maintenance server 120 can maintain and manage the latest frequent items in a tree form based on the specific information received from the user terminal 110, search for frequent items in the tree, (110).

도 2는 도 1의 최신 빈발 패턴 유지 서버에 대한 블록도이다.2 is a block diagram of the latest frequent pattern maintenance server of FIG.

도 2를 참조하면, 최신 빈발 패턴 유지 서버(120)는 트랜잭션 수집부(210), 트리 생성부(220), 빈발 항목 추가부(230), 빈발 항목 관리부(240) 및 제어부(250)를 포함한다.2, the latest frequent pattern maintenance server 120 includes a transaction collecting unit 210, a tree generating unit 220, a frequent item adding unit 230, a frequent item managing unit 240 and a control unit 250 do.

트랜잭션 수집부(210)는 특정 배치(batch)의 크기를 기초로 해당 크기만큼 트랜잭션을 수집한다. 일 실시예에서, 트랜잭션은 하나의 정보 문서에 해당할 수 있고, 예를 들어, 트랜잭션은 하나의 웹페이지(Webpage)에 해당할 수 있다. 또한, 배치의 크기는 사용자 단말(110)에 의하여 기 설정될 수 있다.The transaction collecting unit 210 collects transactions by a corresponding size based on the size of a specific batch. In one embodiment, a transaction may correspond to one information document, for example, a transaction may correspond to a single webpage. In addition, the size of the batch may be pre-set by the user terminal 110.

트리 생성부(220)는 특정 배치 크기만큼 수집된 트랜잭션으로부터 마이닝된 빈발 항목 각각을 노드로 하는 트리를 생성한다. 일 실시예에서, 도 6을 참조하면, 트리는 헤더리스트를 포함할 수 있고, 여기에서, 헤더리스트는 빈발 항목 및 빈발 항목이 저장되어 있는 노드를 연결하기 위한 링크를 포함할 수 있다. The tree generating unit 220 generates a tree with each of the frequent items mined from the transaction collected by a specific batch size as a node. In one embodiment, referring to FIG. 6, the tree may include a list of headers, where the header list may include links to connect nodes where frequent items and frequent items are stored.

일 실시예에서, 도 6을 참조하면, 트리에 포함되는 노드 각각은 빈발 항목 및 해당 빈발 항목에 대한 빈도수 및 배치 정보를 포함할 수 있고, 해당 노드의 부모 노드 및 자식 노드에 접근할 수 있는 포인터 및 동일한 빈발 항목을 가지는 노드를 연결하기 위한 링크를 포함할 수 있다. 여기에서, 빈도수는 해당 빈발 항목이 특정 배치 내에서 얼마나 자주 나타나는지에 대한 수치이며 배치 정보는 해당 빈발 항목이 마이닝된 배치가 몇번째 배치인지에 대한 정보에 해당한다. 예를 들어, 빈발 항목 A는 제3 배치의 크기를 기초로 수집된 트랜잭션에서 마이닝되고, 제3 배치 내에서 빈발 항목 A가 총 45회 나타나는 경우에는, 빈발 항목 A에 대한 {빈도수, 배치 정보}는 {45, 3}이 될 수 있다.In one embodiment, each of the nodes in the tree may include frequent items and frequency and placement information for the frequent items, and may include pointers to access parent and child nodes of the node And links for connecting nodes with the same frequent items. Here, the frequency is a numerical value as to how frequently the frequent item appears in a specific batch, and the batch information corresponds to the information about how many batches the batch is mined. For example, if frequent item A is mined in a transaction collected based on the size of the third batch, and if the frequent item A appears 45 times in total in the third batch, the {frequency, placement information} Can be {45, 3}.

일 실시예에서, 트리 생성부(220)는 첫번째 배치에 해당하는 제1 배치의 크기를 기초로 수집된 트랜잭션으로부터 마이닝 된 제1 빈발 항목을 기초로 하여 트리를 생성할 수 있다. 즉, 트리 생성부(220)는 최신 빈발 패턴 유지 과정에서 트리를 한번만 생성한다. 일 실시예에서, 트리 생성부(220)는 제1 빈발 항목 각각을 노드로 하는 트리를 생성할 수 있고, 각각의 노드는 해당 빈발 항목에 대한 빈도수 및 배치 정보를 포함할 수 있다.In one embodiment, the tree generating unit 220 may generate a tree based on the first frequent items mined from the collected transactions based on the size of the first batch corresponding to the first batch. That is, the tree generating unit 220 generates the tree only once in the latest frequent pattern maintenance process. In one embodiment, the tree generating unit 220 may generate a tree having each of the first frequent items as a node, and each node may include frequency and placement information for the frequent item.

일 실시예에서, 빈발 항목은 트리 이외의 다른 형태의 데이터 구조를 통하여 유지 및 관리 될 수 있고, 예를 들어, 빈발 항목은 리스트 형태의 데이터 구조를 이용하여 유지 및 관리 될 수 있다.In one embodiment, frequent items can be maintained and managed through other types of data structures other than trees, e.g., frequent items can be maintained and managed using a list-like data structure.

빈발 항목 추가부(230)는 트리 생성부(220)를 통하여 제1 빈발 항목에 대한 트리가 생성된 경우에는 제2 빈발 항목 각각을 노드로 하여 트리 생성부(220)를 통하여 생성된 트리에 추가한다. 여기에서, 제2 빈발 항목은 두번째 배치에 해당하는 제2 배치의 크기를 기초로 수집된 트랜잭션으로부터 마이닝 된 빈발 항목에 해당한다.If the frequent item adding unit 230 generates a tree for the first frequent item through the tree generating unit 220, the frequent item adding unit 230 adds each of the second frequent items as a node to the tree generated through the tree generating unit 220 do. Here, the second frequent item corresponds to a frequent item mined from the collected transaction based on the size of the second batch corresponding to the second batch.

일 실시예에서, 빈발 항목 추가부(230)는 제2 빈발 항목 중에서 트리에 저장되어 있는 제1 빈발 항목과 동일한 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 포함되어 있는 노드의 빈도수를 감쇄시킨 후, 제2 빈발 항목의 빈도수만큼 증가시키고 배치 정보를 갱신할 수 있다. 예를 들어, 트리에 저장되어 있는 특정 제1 빈발 항목의 노드에 {빈도수, 배치 정보}가 {45, 1}로 저장되어 있고, 특정 제1 빈발 항목과 동일한 특정 제2 빈발 항목의 제2 배치 내에서의 빈도수가 20 인 경우에는 특정 제1 빈발 항목의 노드의 {빈도수, 배치 정보}에서 빈도수가 {44(=45-1), 1}로 감쇄된 후 {64(=44+20), 2}로 갱신될 수 있다. 여기에서, 배치 정보는 특정 제1 빈발 항목이 나타난 가장 최근의 배치로서 현재 처리되고 있는 배치에 해당할 수 있다.In one embodiment, if there are frequent items that are the same as the first frequent items stored in the tree among the second frequent items, the frequent item adding unit 230 may reduce the frequency of nodes including the first frequent item , The second frequent item is increased by the frequency and the placement information can be updated. For example, if {frequency, placement information} is stored as {45, 1} in a node of a specific first frequent item stored in the tree, and the second placement of a specific second frequent item that is the same as the specific first frequent item The frequency is reduced to {44 (= 45-1), 1} and {64 (= 44 + 20)} in {frequency and placement information} of the node of the first frequent item, 2}. ≪ / RTI > Here, the placement information may correspond to the batch currently being processed as the most recent batch in which a particular first frequent item appears.

일 실시예에서, 빈발 항목 추가부(230)는 트리에 저장되어 있는 제1 빈발 항목 중에서 제2 빈발 항목과 중복되지 않는 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 저장되어 있는 노드의 빈도수를 감소시킬 수 있다. 예를 들어, 특정 제1 빈발 항목에 해당하는 빈발 항목 B가 트리에 저장되어 있고 빈발 항목 B에 대한 {빈도수, 배치 정보}가 {15, 1}에 해당하고, 제2 빈발 항목 중에서 빈발 항목 B와 동일한 빈발 항목이 없는 경우에는 빈발 항목 B에 대한 {빈도수, 배치 정보}를 {14, 1}로 수정할 수 있다.In one embodiment, if there is a frequent item that does not overlap with the second frequent item among the first frequent items stored in the tree, the frequent item adding unit 230 adds the frequency of the node where the first frequent item is stored . For example, if the frequent item B corresponding to a specific first frequent item is stored in the tree and the {frequency and placement information} for the frequent item B corresponds to {15, 1}, and the frequent item B , The {frequency, placement information} for frequent item B can be modified to {14, 1}.

빈발 항목 관리부(240)는 트리의 노드를 순차적으로 탐색하면서 해당 노드의 빈도수가 근접 최소 빈도수보다 작은 경우에는 해당 노드의 빈도수를 0으로 하거나 또는 해당 노드를 트리에서 삭제한다. 여기에서, 근접 최소 빈도수와 비교되는 노드의 빈도수는 기 저장되어 있는 빈도수에 현재 처리 중인 배치 정보 및 해당 노드에 마지막으로 접근한 배치 정보 사이의 차이만큼 λ를 곱하여 재 산출된 빈도수에 해당하고, λ는 사용자 단말(110)로부터 입력 받은 빈도수 감소 팩터에 해당한다.The frequent item management unit 240 sequentially searches the nodes of the tree, and if the frequency of the corresponding node is smaller than the nearest minimum frequency, the frequent item management unit 240 sets the frequency of the corresponding node to 0 or deletes the corresponding node from the tree. Here, the frequency of the node compared with the nearest minimum frequency corresponds to the re-calculated frequency multiplied by the difference between the currently stored batch information and the batch information last accessed to the node, Corresponds to a frequency reduction factor input from the user terminal 110. [

일 실시예에서, 근접 최소 빈도수는 현재까지 처리한 트랜잭션의 개수 및 사용자 단말(110)에 의하여 기 설정된 빈도수 감소 팩터, 최소 빈도수 임계치 및 신뢰율을 기초로 산출될 수 있다. 보다 구체적으로, 근접 최소 빈도수는 아래의 [수식 1]을 통하여 산출될 수 있다. In one embodiment, the nearest minimum frequency may be computed based on the number of transactions processed so far and the frequency reduction factor, the minimum frequency threshold, and the confidence rate predetermined by the user terminal 110. More specifically, the nearest minimum frequency can be calculated by [Equation 1] below.

[수식 1]

Figure pat00001
[Equation 1]
Figure pat00001

μ: 근접 최소 빈도수μ: nearest minimum frequency

Tx: 현재까지 처리한 트랜잭션 수T x : Number of transactions processed so far

λ: 빈도수 감소 팩터λ: frequency reduction factor

minsup: 최소 빈도수 임계치 (0 < minsup <= 1)minsup: Minimum frequency threshold (0 <minsup <= 1)

δ: 신뢰율
δ: Confidence rate

여기에서, Tx × λ (= Tx`)는 전체 트랜잭션의 개수이고, Tx`× minsup (=ξ)는 최소 빈도수이고,

Figure pat00002
(=ε)는 오차값으로서, 즉, 근접 최소 빈도수는 최소 빈도수에서 오차를 뺌으로써 계산될 수 있다. 또한, 최소 빈도수(minsup)는 체르노프 바운드에 의하여 결정될 수 있다. Here, T x × λ (= Tx` ) is the number of the entire transaction, Tx` × minsup (= ξ) is the minimum frequency,
Figure pat00002
(= ε) is an error value, ie, the nearest minimum frequency can be calculated by subtracting the error from the minimum frequency. In addition, the minimum frequency (minsup) can be determined by chernopubund.

일 실시예에서, 빈발 항목 관리부(240)는 근접 최소 빈도수보다 작은 빈도수를 가지는 노드가 트리의 단말 노드에 해당하는 경우에는 해당 노드를 삭제하고 삭제된 노드로부터 루트 노드까지 탐색하면서 빈도수가 0에 해당하는 노드를 삭제할 수 있다. 또한, 빈발 항목 관리부(240)는 삭제된 노드로부터 루트 노드까지 탐색하면서 빈도수가 0이 아닌 노드가 나타나면 해당 과정을 중단할 수 있다.In an embodiment, if the node having a frequency smaller than the nearest minimum frequency corresponds to a terminal node of the tree, the frequent item management unit 240 deletes the corresponding node, searches for the root node from the deleted node, Node can be deleted. In addition, the frequent item management unit 240 may stop the process when a non-zero node appears from the deleted node to the root node.

일 실시예에서, 빈발 항목 관리부(240)는 트리의 메모리 효율성을 높이기 위하여 체르노프 바운드(chernoff bound)를 응용하여 사용자 단말(110)에 의하여 설정된 신뢰율(δ)을 벗어나지 않는 범위 내에서 트리의 크기를 최대한 줄일 수 있다.In order to increase the memory efficiency of the tree, the frequent item management unit 240 may apply a chernoff bound to the item management unit 240 to increase the tree efficiency of the tree, Can be minimized.

일 실시예에서, 최신 빈발 패턴 유지 서버(120)는 빈발 항목 제공부를 더 포함할 수 있고, 빈발 항목 제공부는 사용자 단말(110)로부터 최신 빈발 항목에 대한 출력을 요청 받는 경우에는 트리에 저장되어 있는 빈발 항목을 탐색하여 사용자 단말(110)에 제공할 수 있다.In one embodiment, the latest frequent pattern maintenance server 120 may further include a frequent item provision unit, and when the frequent item provision unit receives an output of the latest frequent item from the user terminal 110, It is possible to search for a frequent item and provide it to the user terminal 110.

일 실시예에서, 빈발 항목 제공부는 트리의 루트 노드로부터 깊이 우선 탐색 방법을 이용하여 순차적으로 각각의 노드를 탐색하면서 해당 노드의 빈도수가 최소 빈도수 보다 큰 경우에는 해당 노드로부터 루트 노드까지의 경로에 포함되는 노드의 빈발 항목을 추출할 수 있다. 여기에서, 최소 빈도수는 사용자 단말(110)에 의하여 기 설정된 빈도수 감소 팩터(λ) 및 최소 빈도수 임계치(minsup)를 기초로 산출될 수 있고, [수식 1]에서 설명한 최소 빈도수(ξ)와 동일하다. In one embodiment, the frequent item providing unit sequentially searches each node using the depth-first search method from the root node of the tree, and when the frequency of the node is greater than the minimum frequency, the frequent item providing unit includes the path from the corresponding node to the root node It is possible to extract a frequent item of a node. Here, the minimum frequency can be calculated based on the frequency reduction factor (?) And the minimum frequency threshold (minsup) predetermined by the user terminal 110, and is equal to the minimum frequency (?) Described in the formula 1 .

일 실시예에서, 빈발 항목 제공부는 트랜잭션 수집부(210), 트리 생성부(220), 빈발 항목 추가부(230) 또는 빈발 항목 관리부(240)를 통하여 특정 작업이 수행중인 경우에는 해당 작업이 종료될 때까지 대기하고, 해당 작업이 종료된 후에 빈발 항목을 추출할 수 있다.In one embodiment, when a particular task is being performed through the transaction collecting unit 210, the tree generating unit 220, the frequent item adding unit 230, or the frequent item managing unit 240, , And can extract frequent items after the work is completed.

제어부(250)는 최신 빈발 패턴 유지 서버(120)는 트랜잭션 수집부(210), 트리 생성부(220), 빈발 항목 추가부(230) 및 빈발 항목 관리부(240)의 동작 및 데이터의 흐름을 제어한다.
The control unit 250 controls the operation of the transaction collecting unit 210, the tree generating unit 220, the frequent item adding unit 230 and the frequent item managing unit 240 and the flow of data do.

도 3은 본 발명의 일 실시예에 따른 최신 빈발 패턴 유지 방법에 대한 흐름도이다.3 is a flowchart illustrating a method for maintaining the latest frequent patterns according to an embodiment of the present invention.

트랜잭션 수집부(210)는 제1 배치의 크기를 기초로 해당 크기만큼 트랜잭션을 수집하고(단계 S301), 트리 생성부(220)는 수집된 트랜잭션에서 제1 빈발 항목을 마이닝하여 트리를 생성한다(단계 S302). 일 실시예에서, 트리 생성부(220)는 제1 빈발 항목 각각을 노드로 하는 트리를 생성할 수 있고, 각각의 노드는 해당 빈발 항목에 대한 빈도수 및 배치 정보를 포함할 수 있다.The transaction collecting unit 210 collects the transaction by a corresponding size based on the size of the first batch (step S301), and the tree generating unit 220 generates a tree by mining the first frequent item in the collected transaction Step S302). In one embodiment, the tree generating unit 220 may generate a tree having each of the first frequent items as a node, and each node may include frequency and placement information for the frequent item.

트랜잭션 수집부(210)는 제2 배치의 크기를 기초로 해당 크기만큼 트랜잭션을 수집하고(단계 S302), 빈발 항목 추가부(230)는 제2 배치의 크기를 기초로 수집된 트랜잭션에서 제2 빈발 항목을 마이닝 하여 트리에 추가한다(단계 S304). 일 실시예에서, 빈발 항목 추가부(230)는 제2 빈발 항목 중에서 트리에 저장되어 있는 제1 빈발 항목과 동일한 빈발 항목이 있는지 여부를 기초로 새로운 노드를 생성하여 빈발 항목을 트리에 추가하거나 또는 트리에 기 저장되어 있는 제1 빈발 항목의 빈도수 및 배치 정보를 갱신할 수 있다.
The transaction collecting unit 210 collects the transaction by a corresponding size based on the size of the second batch (step S302), and the frequent item adding unit 230 adds the second frequent item in the transaction collected based on the size of the second batch The item is added to the tree by mining (step S304). In one embodiment, the frequent item adding unit 230 creates a new node based on whether the second frequent item is the same as the first frequent item stored in the tree, and adds the frequent item to the tree or The frequency and arrangement information of the first frequent item stored in the tree can be updated.

도 4는 빈발 항목을 트리에 추가하는 방법에 대한 보다 구체적인 흐름도이다.Figure 4 is a more specific flow diagram of a method for adding frequent items to a tree.

빈발 항목 추가부(230)는 특정 배치의 크기만큼 수집된 트랜잭션에서 빈발 항목을 마이닝하고 사용자 단말(110)에 의하여 기 설정된 기준에 따라 빈발 항목을 정렬하고(단계 S401), 정렬된 순서대로 트리에 해당 빈발 항목을 삽입한다.The frequent item adding unit 230 mines a frequent item in a transaction collected by the size of a specific arrangement and arranges frequent items according to a predetermined reference by the user terminal 110 (step S401) Insert the frequent items.

빈발 항목 추가부(230)는 특정 빈발 항목을 트리에 삽입하기 전에 해당 특정 빈발 항목이 트리에 삽입하려는 정렬된 빈발 항목 중에서 마지막 빈발 항목인지 여부를 확인한다(단계 S402). The frequent item adding unit 230 determines whether the specific frequent item is the last frequent item to be inserted into the tree before inserting the specific frequent item into the tree (step S402).

일 실시예에서, 특정 빈발 항목이 마지막 빈발 항목에 해당하는 경우에는 빈발 항목 추가부(230)는 이전 빈발 항목이 추가된 노드의 자식 노드에 해당 빈발 항목이 있는지 여부를 확인한다(단계 S403). 일 실시예에서, 자식 노드에 해당 빈발 항목이 있는 경우에는 자식 노드의 빈도수 및 배치 정보를 갱신한다(단계 S404). 여기에서, 빈도수는 기 저장되어 있는 빈도수가 감쇄된 후 해당 빈발 항목의 빈도수를 더한 값으로 갱신될 수 있고, 배치 정보는 해당 빈발 항목에 대한 배치 정보로 갱신될 수 있다. 다른 일 실시예에서, 자식 노드에 해당 빈발 항목이 없는 경우에는 해당 빈발 항목에 대한 노드를 새로 생성하여 이전 빈발 항목이 추가된 노드의 자식 노드로 삽입한다(단계 S405). In one embodiment, if the particular frequent item corresponds to the last frequent item, the frequent item adding unit 230 determines whether the frequent item exists in the child node of the node to which the previous frequent item is added (step S403). In one embodiment, if there is a frequent item in the child node, the frequency and the placement information of the child node are updated (step S404). Here, the frequency may be updated to a value obtained by adding the frequencies of the frequent items after the stored frequency is attenuated, and the placement information may be updated with the placement information for the frequent items. In another embodiment, if there is no frequent item in the child node, a node is newly created for the frequent item and inserted into the child node of the node to which the previous frequent item is added (step S405).

일 실시예에서, 특정 빈발 항목이 마지막 빈발 항목에 해당하지 않는 경우에는 빈발 항목 추가부(230)는 이전 빈발 항목이 추가된 노드의 자식 노드에 해당 빈발 항목이 있는지 여부를 확인한다(단계 S406). 여기에서, 특정 빈발 항목이 정렬된 빈발 항목 중에서 처음으로 트리에 추가되는 빈발 항목에 해당하는 경우에는 루트 노드의 자식 노드에 해당 빈발항목이 있는지 여부를 확인할 수 있다. In one embodiment, if the particular frequent item does not correspond to the last frequent item, the frequent item adding unit 230 determines whether the frequent item exists in the child node of the node to which the previous frequent item is added (step S406) . Here, if a particular frequent item corresponds to a frequent item added to the first tree among the sorted frequent items, it can be checked whether or not the frequent item exists in the child node of the root node.

일 실시예에서, 자식 노드에 해당 빈발 항목이 있는 경우에는 해당 자식 노드를 다음 빈발 항목에 대하여 현재 노드로 설정하고(단계 S407), 해당 자식 노드의 빈도수 및 배치 정보를 갱신한다. 여기에서, 빈도수 및 배치 정보의 갱신은 단계 S404에서 수행된 것과 동일한 방법으로 갱신 될 수 있다. 보다 구체적으로, 빈발 항목 추가부(230)는 현재 위치한 노드에서 해당 자식 노드로 이동하여, 다음 빈발 항목을 추가할 때 해당 자식 노드를 기준으로 해당 자식 노드의 자식 노드에 빈발 항목이 있는지 여부를 확인한다. 즉, 해당 자식 노드를 다음 빈발 항목에 대하여는 현재 노드로 설정한다. 다른 일 실시예에서, 자식 노드에 해당 빈발 항목이 없는 경우에는 단계 S405와 동일한 단계 S408을 수행한다.
If there is a frequent item in the child node, the child node is set as the current node for the next frequent item (step S407), and the frequency and placement information of the corresponding child node are updated. Here, the update of the frequency and placement information can be updated in the same manner as that performed in step S404. More specifically, the frequent item addition unit 230 moves from the current node to the corresponding child node, and when the next frequent item is added, it is checked whether or not there is a frequent item in the child node of the corresponding child node based on the child node do. That is, the child node is set as the current node for the next frequent item. In another embodiment, if there is no frequent item in the child node, the same step S408 as in step S405 is performed.

도 5는 비 빈발 항목을 트리에서 관리하는 방법에 대한 보다 구체적인 흐름도이다.Figure 5 is a more specific flowchart of a method for managing non-frequent items in a tree.

빈발 항목 관리부(240)는 트리의 각 노드들을 깊이 우선 탐색 방법으로 탐색하고(단계 S501), 각 노드의 빈도수를 재산출한다(단계 S502). 일 실시예에서, 각 노드의 빈도수는 현재 처리 중인 배치 정보 및 해당 노드에 마지막으로 접근한 배치 정보간의 차이만큼 사용자 단말(110)에 의하여 기 설정된 빈도수 감소 팩터(λ)를 기 저장된 빈도수에 곱합으로써 재 산출될 수 있다.The frequent item management unit 240 searches each node of the tree by the depth first search method (step S501), and re-calculates the frequency of each node (step S502). In one embodiment, the frequency of each node is determined by multiplying the pre-stored frequency by a frequency reduction factor (lambda) previously set by the user terminal 110 by the difference between the current in-process deployment information and the last accessed deployment information Can be recalculated.

빈발 항목 관리부(240)는 각 노드를 탐색하면서 재산출된 빈도수와 특정 기준을 비교하여 재산출된 빈도수가 특정 기준보다 작은지 여부를 확인한다(단계 S503). 일 실시예에서, 특정 기준은 근접 최소 빈도수(μ)에 해당할 수 있다.The frequent item management unit 240 searches each node and compares the recalculated frequency with a specific criterion to check whether the re-calculated frequency is smaller than a specific criterion (step S503). In one embodiment, a particular criterion may correspond to a nearest minimum frequency ([mu]).

일 실시예에서, 빈발 항목 관리부(240)는 재산출된 빈도수가 특정 기준보다 작은 노드에 대하여 해당 노드가 트리에서 내부노드에 해당하는지 여부를 확인한다(단계 S504). 여기에서, 내부노드는 단말노드가 아닌 노드에 해당한다. In one embodiment, the frequent item management unit 240 determines whether the corresponding node corresponds to an internal node in a tree for a node whose re-calculated frequency is smaller than a specific criterion (step S504). Here, the internal node corresponds to a node other than the terminal node.

일 실시예에서, 해당 노드가 내부노드에 해당하는 경우에는, 빈발 항목 관리부(240)는 해당 노드의 빈도수를 0으로 설정할 수 있다(단계 S505). 다른 일 실시예에서, 해당 노드가 내부노드에 해당하지 않는 경우에는, 빈발 항목 관리부(240)는 해당 노드를 트리에서 삭제할 수 있다(단계 S506). 또한, 빈발 항목 관리부(240)는 삭제된 노드로부터 루트 노드까지 탐색하면서(단계 S507), 각 노드의 빈도수가 0인지 여부를 확인한다(단계 S508). 일 실시예에서, 특정 노드의 빈도수가 0에 해당하는 경우에는 해당 노드를 제거하고(단계 S509), 단계 S507로 이동하여 다음 노드를 탐색한다.
In one embodiment, if the node corresponds to an internal node, the frequent item management unit 240 may set the frequency of the corresponding node to 0 (step S505). In another embodiment, if the corresponding node does not correspond to an internal node, the frequent item management unit 240 may delete the corresponding node from the tree (step S506). In addition, the frequent item management unit 240 searches from the deleted node to the root node (step S507), and checks whether the frequency of each node is 0 (step S508). In one embodiment, if the frequency of a particular node corresponds to 0, the corresponding node is removed (step S509), and the process goes to step S507 to search for the next node.

상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the present invention as defined by the following claims It can be understood that

100: 최신 빈발 패턴 유지 시스템
110: 사용자 단말
120: 최신 빈발 패턴 유지 서버
130: 네트워크
210: 트랜잭션 수집부
220: 트리 생성부
230: 빈발 항목 추가부
240: 빈발 항목 관리부
250: 제어부
100: The latest frequent pattern maintenance system
110: User terminal
120: Keeping up with the latest patterns
130: Network
210:
220: tree generating unit
230: Frequent item addition section
240: Frequent item management unit
250:

Claims (14)

(a) 제1 배치(batch)의 크기를 기초로 트랜잭션을 수집하는 단계;
(b) 상기 트랜잭션이 상기 제1 배치의 크기만큼 수집된 경우에는 적어도 하나의 제1 빈발 항목을 마이닝하고 상기 적어도 하나의 제1 빈발 항목 각각을 노드로 하여 트리를 생성하는 단계;
(c) 제2 배치의 크기를 기초로 트랜잭션을 수집하는 단계; 및
(d) 상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하는 단계를 포함하는 최신 빈발 패턴 유지 방법.
(a) collecting a transaction based on a size of a first batch;
(b) if the transaction is collected by the size of the first batch, mining at least one first frequent item and creating a tree with each of the at least one first frequent item as a node;
(c) collecting a transaction based on the size of the second batch; And
(d) if the transaction is collected by the size of the second batch, mining at least one second frequent item and adding each of the at least one second frequent item to the tree as a node How to keep frequent patterns.
제1항에 있어서, 상기 (d) 단계는
상기 제2 빈발 항목 중에서 상기 트리에 저장되어 있는 제1 빈발 항목과 동일한 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 포함되어 있는 노드의 빈도수를 감쇄 시킨 후 증가시키는 단계를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
2. The method of claim 1, wherein step (d)
And decreasing the frequency of the node including the first frequent item if the frequent item is the same as the first frequent item stored in the tree among the second frequent items. How to keep up with the latest frequent patterns.
제2항에 있어서, 상기 (d) 단계는
상기 노드의 배치 정보를 갱신하는 단계를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
3. The method of claim 2, wherein step (d)
And updating the arrangement information of the node.
제1항에 있어서, 상기 (d) 단계는
상기 트리에 저장되어 있는 제1 빈발 항목 중에서 상기 제2 빈발 항목과 중복되지 않는 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 저장되어 있는 노드의 빈도수를 감소시키는 단계를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
2. The method of claim 1, wherein step (d)
If there is a frequent item that does not overlap with the second frequent item among the first frequent items stored in the tree, reducing the frequency of the node in which the first frequent item is stored How to keep frequent patterns.
제1항에 있어서,
(e) 상기 트리의 노드를 순차적으로 탐색하면서 해당 노드의 빈도수가 현재까지 처리한 트랜잭션의 개수 및 사용자 단말에 의하여 기 설정된 빈도수 감소 팩터, 최소 빈도수 임계치 및 신뢰율을 기초로 산출된 근접 최소 빈도수보다 작은 경우에는 해당 노드의 빈도수를 0으로 하거나 또는 해당 노드를 상기 트리에서 삭제하는 단계를 더 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
The method according to claim 1,
(e) searching sequentially the nodes of the tree, comparing the frequency of the node with the number of transactions processed up to now, and the proximity minimum frequency based on the frequency reduction factor, the minimum frequency threshold and the reliability rate determined by the user terminal And decreasing the frequency of the corresponding node to zero or deleting the node from the tree when the number of nodes is small.
제5항에 있어서, 상기 (e) 단계는
상기 해당 노드가 상기 트리의 단말노드에 해당하는 경우에는 상기 해당 노드를 삭제하고 상기 삭제된 노드로부터 루트 노드까지 탐색하면서 빈도수가 0에 해당하는 노드를 삭제하는 단계를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
6. The method of claim 5, wherein step (e)
If the corresponding node corresponds to a terminal node of the tree, deleting the corresponding node, searching for the deleted node to the root node, and deleting the node having the frequency of 0, Pattern preservation method.
제1항에 있어서,
(f) 사용자로부터 최신 빈발 항목에 대한 출력을 요청 받는 경우에는 상기 트리에 저장되어 있는 빈발 항목을 탐색하여 제공하는 단계를 더 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
The method according to claim 1,
(f) if the user is requested to output the latest frequent items, searching for the frequent items stored in the tree and providing the latest frequent items.
제7항에 있어서, 상기 (f) 단계는
상기 트리의 루트 노드로부터 순차적으로 각각의 노드를 탐색하면서 해당 노드의 빈도수가 현재까지 처리한 트랜잭션의 개수 및 사용자 단말에 의하여 기 설정된 빈도수 감소 팩터 및 최소 빈도수 임계치를 기초로 산출된 최소 빈도수 보다 큰 경우에는 상기 해당 노드로부터 상기 루트 노드까지의 경로에 포함되는 노드의 빈발 항목을 추출하는 단계를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
8. The method of claim 7, wherein step (f)
When each node is sequentially searched from the root node of the tree and the frequency of the corresponding node is larger than the calculated minimum frequency based on the number of transactions processed to date and the frequency reduction factor and the minimum frequency threshold preset by the user terminal And extracting a frequent item of a node included in a route from the corresponding node to the root node.
제1항에 있어서, 상기 트리는
빈발 항목 및 빈발 항목이 저장되어 있는 노드를 연결하기 위한 링크를 포함하는 헤더리스트를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
2. The method of claim 1,
And a header list including a link for connecting a node storing frequent items and frequent items.
제1항에 있어서, 상기 노드는
빈발 항목 및 해당 빈발 항목에 대한 빈도수 및 배치 정보를 포함하고 해당 노드의 부모 노드 및 자식 노드에 접근할 수 있는 포인터를 포함하는 것을 특징으로 한는 최신 빈발 패턴 유지 방법.
2. The method of claim 1, wherein the node
And a pointer for accessing a parent node and a child node of the node, including frequency and placement information of a frequent item and a corresponding frequent item.
제1 배치의 크기 또는 제2 배치의 크기를 기초로 트랜잭션을 수집하는 트랜잭션 수집부;
상기 트랜잭션이 상기 제1 배치의 크기만큼 수집된 경우에는 적어도 하나의 제1 빈발 항목을 마이닝하고 상기 적어도 하나의 제1 빈발 항목 각각을 노드로 하여 트리를 생성하는 트리 생성부; 및
상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하는 빈발 항목 추가부를 포함하는 최신 빈발 패턴 유지 서버.
A transaction collector for collecting transactions based on the size of the first batch or the size of the second batch;
A tree generating unit for generating a tree by mining at least one first frequent item and each of the at least one first frequent item as a node when the transaction is collected by the size of the first batch; And
And a frequent item adding unit for mining at least one second frequent item and adding each of the at least one second frequent item to the tree when the transaction is collected by the size of the second batch, Pattern maintenance server.
제11항에 있어서,
상기 트리의 노드를 순차적으로 탐색하면서 해당 노드의 빈도수가 현재까지 처리한 트랜잭션의 개수 및 사용자 단말에 의하여 기 설정된 빈도수 감소 팩터, 최소 빈도수 임계치 및 신뢰율을 기초로 산출된 근접 최소 빈도수보다 작은 경우에는 해당 노드의 빈도수를 0으로 하거나 또는 해당 노드를 상기 트리에서 삭제하는 빈발 항목 관리부를 더 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 서버.
12. The method of claim 11,
If the frequency of the corresponding node is sequentially searched for the nodes of the tree and is smaller than the proximity minimum frequency calculated on the basis of the number of transactions processed to date and the frequency reduction factor, the minimum frequency threshold and the reliability rate set by the user terminal Further comprising a frequent item management unit for setting the frequency of the corresponding node to 0 or deleting the corresponding node from the tree.
제11항에 있어서,
사용자로부터 최신 빈발 항목에 대한 출력을 요청 받는 경우에는 상기 트리에 저장되어 있는 빈발 항목을 탐색하여 출력하는 빈발 항목 제공부를 더 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 서버.
12. The method of claim 11,
Further comprising a frequent item providing unit for searching for and outputting a frequent item stored in the tree when the user is requested to output the latest frequent item.
제1 배치의 크기를 기초로 트랜잭션을 수집하는 기능;
상기 트랜잭션이 상기 제1 배치의 크기만큼 수집된 경우에는 적어도 하나의 제1 빈발 항목을 마이닝하고 상기 적어도 하나의 제1 빈발 항목 각각을 노드로 하여 트리를 생성하는 기능;
제2 배치의 크기를 기초로 트랜잭션을 수집하는 기능; 및
상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하는 기능을 포함하는 최신 빈발 패턴 유지 방법에 관한 컴퓨터 프로그램을 기록한 기록매체.
Collecting transactions based on the size of the first batch;
If the transaction is collected by the size of the first batch, mining at least one first frequent item and generating each of the at least one first frequent item as a node to generate a tree;
Collecting transactions based on the size of the second batch; And
And a function of mining at least one second frequent item when the transaction is collected by the size of the second batch and adding each of the at least one second frequent item to the tree as a node A recording medium on which a computer program relating to the method is recorded.
KR1020140170280A 2014-12-02 2014-12-02 Method of maintaining recent frequent pattern based on damped window and approximation pruning in stream environment, recent frequent pattern maintenance server performing the same and storage medium storing the same KR101649884B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140170280A KR101649884B1 (en) 2014-12-02 2014-12-02 Method of maintaining recent frequent pattern based on damped window and approximation pruning in stream environment, recent frequent pattern maintenance server performing the same and storage medium storing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140170280A KR101649884B1 (en) 2014-12-02 2014-12-02 Method of maintaining recent frequent pattern based on damped window and approximation pruning in stream environment, recent frequent pattern maintenance server performing the same and storage medium storing the same

Publications (2)

Publication Number Publication Date
KR20160066219A true KR20160066219A (en) 2016-06-10
KR101649884B1 KR101649884B1 (en) 2016-08-22

Family

ID=56190579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140170280A KR101649884B1 (en) 2014-12-02 2014-12-02 Method of maintaining recent frequent pattern based on damped window and approximation pruning in stream environment, recent frequent pattern maintenance server performing the same and storage medium storing the same

Country Status (1)

Country Link
KR (1) KR101649884B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100899144B1 (en) 2007-10-26 2009-05-27 연세대학교 산학협력단 Method and apparatus for finding maximal frequent itemsets over data streams
KR101105363B1 (en) 2010-01-18 2012-01-16 연세대학교 산학협력단 Method for finding frequent itemsets over long transaction data streams
KR101275834B1 (en) * 2010-11-09 2013-06-18 충북대학교 산학협력단 Method of miming Top-K important patterns
KR20130088584A (en) * 2012-01-31 2013-08-08 충북대학교 산학협력단 Pattern mining method for searching tree on top-down traversal for considering weight in data stream

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100899144B1 (en) 2007-10-26 2009-05-27 연세대학교 산학협력단 Method and apparatus for finding maximal frequent itemsets over data streams
KR101105363B1 (en) 2010-01-18 2012-01-16 연세대학교 산학협력단 Method for finding frequent itemsets over long transaction data streams
KR101275834B1 (en) * 2010-11-09 2013-06-18 충북대학교 산학협력단 Method of miming Top-K important patterns
KR20130088584A (en) * 2012-01-31 2013-08-08 충북대학교 산학협력단 Pattern mining method for searching tree on top-down traversal for considering weight in data stream

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Approximate Frequency Counts over Data Streams",G.S. Manku 외1인, Proc.28th Int'l conf. Very Large Data Base(VLDB 02). 2002 *
"확률 기법에 기반한 근접 빈발 패턴 마이닝 기법의 성능평가", 편광범 외1, 인터넷정보학회논문지 제14권 제1호, 2013.2 *

Also Published As

Publication number Publication date
KR101649884B1 (en) 2016-08-22

Similar Documents

Publication Publication Date Title
JP5092165B2 (en) Data construction method and system
JP5542859B2 (en) Log management apparatus, log storage method, log search method, and program
JP2018081702A (en) Sentence extraction method and system
KR101705778B1 (en) Sliding window based frequent patterns management method for mining weighted maximal frequent patterns over data stream
US9680719B2 (en) Communication system, client terminal, and server
CN113961510B (en) File processing method, device, equipment and storage medium
CN111314063A (en) Big data information management method, system and device based on Internet of things
US11599425B2 (en) Method, electronic device and computer program product for storage management
CN104935601A (en) Cloud-based method, device and system for analyzing website log safety
CN113067860B (en) Method, apparatus, device, medium and product for synchronizing information
CN105978722A (en) User attribute mining method and device
KR101649884B1 (en) Method of maintaining recent frequent pattern based on damped window and approximation pruning in stream environment, recent frequent pattern maintenance server performing the same and storage medium storing the same
KR101761177B1 (en) Method for mining important pattern of high rank k, apparatus performing the same and storage medium storing the same
CN116521816A (en) Data processing method, retrieval method, device, equipment and storage medium
CN106202251A (en) A kind of association page method for digging accessed based on user and system
CN112631517B (en) Data storage method and device, electronic equipment and storage medium
CN115017161A (en) Method, device and application for updating tree data structure by combining virtual DOM
CN105637178A (en) Regression relationship approaches
CN113868138A (en) Method, system, equipment and storage medium for acquiring test data
CN114116924A (en) Data query method based on map data, map data construction method and device
CN106709353B (en) Security detection method and device for search engine
Bröhl et al. A perturbation-based approach to identifying potentially superfluous network constituents
CN112364246B (en) Data searching method, device, computer equipment and storage medium
US11651030B2 (en) Delta-based conflict-free replicated data type arrays using dot stores that map dots to dot stores
CN111971931B (en) Method for verifying transactions in a blockchain network and nodes constituting the network

Legal Events

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

Payment date: 20190722

Year of fee payment: 4