KR101649884B1 - 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 PDFInfo
- Publication number
- KR101649884B1 KR101649884B1 KR1020140170280A KR20140170280A KR101649884B1 KR 101649884 B1 KR101649884 B1 KR 101649884B1 KR 1020140170280 A KR1020140170280 A KR 1020140170280A KR 20140170280 A KR20140170280 A KR 20140170280A KR 101649884 B1 KR101649884 B1 KR 101649884B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- frequent
- frequent item
- tree
- frequency
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1794—Details of file format conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
최신 빈발 패턴 유지 방법은 제1 배치의 크기를 기초로 트랜잭션을 수집하는 단계, 상기 트랜잭션이 상기 제1 배치의 크기만큼 수집된 경우에는 적어도 하나의 제1 빈발 항목을 마이닝하고 상기 적어도 하나의 제1 빈발 항목 각각을 노드로 하여 트리를 생성하는 단계, 제2 배치의 크기를 기초로 트랜잭션을 수집하는 단계 및 상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하는 단계를 포함한다.The method of claim 1, wherein the latest frequent pattern maintenance method comprises: collecting a transaction based on a size of a first batch; mining at least one first frequent item if the transaction is collected by the size of the first batch, Collecting a transaction based on the size of the second batch, and, if the transaction is collected by the size of the second batch, at least one second frequent item is mapped And adding each of the at least one second frequent item to the tree as a node.
Description
본 발명은 최신 빈발 패턴 유지 기술에 관한 것으로서, 특정 배치 크기를 기초로 트랜잭션을 수집하고 빈발 항목을 마이닝 하여 트리에 삽입하고 비 빈발 항목에 대하여는 해당 노드를 삭제하는 것을 통하여 트리에 빈발 항목 만을 유지할 수 있는 최신 빈발 패턴 유지 방법, 이를 수행하는 최신 빈발 패턴 유지 서버 및 이를 저장하는 기록매체에 관한 것이다.
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.
본 발명의 일 실시예는 하나의 트리를 이용하여 최신 빈발 항목만을 유지 및 관리할 수 있는 최신 빈발 패턴 유지 방법을 제공하고자 한다.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
사용자 단말(110)은 최신 빈발 패턴 유지 서버(120)와 연결되어 최신 빈발 패턴 유지 방법을 수행하는데 대한 데이터를 송수신할 수 있는 컴퓨팅 장치에 해당할 수 있다. 예를 들어, 사용자 단말(110)은 데스크톱(Desktop), 노트북(Laptop), 스마트 폰(Smart phone) 또는 태블릿 PC(Tablet Personal Computer)에 해당할 수 있다. 사용자 단말(110)은 최신 빈발 패턴 유지 서버(120)에 최신 빈발 항목들로 트리를 유지하기 위하여 요구되는 특정 기준 값을 설정하는데 필요한 특정 정보를 전송할 수 있고 최신 빈발 항목의 출력을 요청할 수 있으며 최신 빈발 패턴 유지 서버(120)로부터 최신 빈발 항목에 대한 정보를 수신할 수 있다.The
최신 빈발 패턴 유지 서버(120)는 사용자 단말(110)과 연결되어 특정 작업을 실행할 수 있는 컴퓨팅 장치에 해당할 수 있다. 일 실시예에서, 최신 빈발 패턴 유지 서버(120)는 사용자 단말(110)로부터 수신한 특정 정보를 기초로 최신 빈발 항목을 트리 형태로 유지 및 관리 할 수 있고, 트리에서 빈발 항목을 탐색하여 사용자 단말(110)에 제공할 수 있다.
The latest frequent
도 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
트랜잭션 수집부(210)는 특정 배치(batch)의 크기를 기초로 해당 크기만큼 트랜잭션을 수집한다. 일 실시예에서, 트랜잭션은 하나의 정보 문서에 해당할 수 있고, 예를 들어, 트랜잭션은 하나의 웹페이지(Webpage)에 해당할 수 있다. 또한, 배치의 크기는 사용자 단말(110)에 의하여 기 설정될 수 있다.The
트리 생성부(220)는 특정 배치 크기만큼 수집된 트랜잭션으로부터 마이닝된 빈발 항목 각각을 노드로 하는 트리를 생성한다. 일 실시예에서, 도 6을 참조하면, 트리는 헤더리스트를 포함할 수 있고, 여기에서, 헤더리스트는 빈발 항목 및 빈발 항목이 저장되어 있는 노드를 연결하기 위한 링크를 포함할 수 있다. The
일 실시예에서, 도 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
일 실시예에서, 빈발 항목은 트리 이외의 다른 형태의 데이터 구조를 통하여 유지 및 관리 될 수 있고, 예를 들어, 빈발 항목은 리스트 형태의 데이터 구조를 이용하여 유지 및 관리 될 수 있다.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
일 실시예에서, 빈발 항목 추가부(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
일 실시예에서, 빈발 항목 추가부(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
빈발 항목 관리부(240)는 트리의 노드를 순차적으로 탐색하면서 해당 노드의 빈도수가 근접 최소 빈도수보다 작은 경우에는 해당 노드의 빈도수를 0으로 하거나 또는 해당 노드를 트리에서 삭제한다. 여기에서, 근접 최소 빈도수와 비교되는 노드의 빈도수는 기 저장되어 있는 빈도수에 현재 처리 중인 배치 정보 및 해당 노드에 마지막으로 접근한 배치 정보 사이의 차이만큼 λ를 곱하여 재 산출된 빈도수에 해당하고, λ는 사용자 단말(110)로부터 입력 받은 빈도수 감소 팩터에 해당한다.The frequent
일 실시예에서, 근접 최소 빈도수는 현재까지 처리한 트랜잭션의 개수 및 사용자 단말(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
[수식 1] [Equation 1]
μ: 근접 최소 빈도수μ: 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 (=ξ)는 최소 빈도수이고, (=ε)는 오차값으로서, 즉, 근접 최소 빈도수는 최소 빈도수에서 오차를 뺌으로써 계산될 수 있다. 또한, 최소 빈도수(minsup)는 체르노프 바운드에 의하여 결정될 수 있다. Here, T x × λ (= Tx` ) is the number of the entire transaction, Tx` × minsup (= ξ) is the minimum frequency, (= ε) 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
일 실시예에서, 빈발 항목 관리부(240)는 트리의 메모리 효율성을 높이기 위하여 체르노프 바운드(chernoff bound)를 응용하여 사용자 단말(110)에 의하여 설정된 신뢰율(δ)을 벗어나지 않는 범위 내에서 트리의 크기를 최대한 줄일 수 있다.In order to increase the memory efficiency of the tree, the frequent
일 실시예에서, 최신 빈발 패턴 유지 서버(120)는 빈발 항목 제공부를 더 포함할 수 있고, 빈발 항목 제공부는 사용자 단말(110)로부터 최신 빈발 항목에 대한 출력을 요청 받는 경우에는 트리에 저장되어 있는 빈발 항목을 탐색하여 사용자 단말(110)에 제공할 수 있다.In one embodiment, the latest frequent
일 실시예에서, 빈발 항목 제공부는 트리의 루트 노드로부터 깊이 우선 탐색 방법을 이용하여 순차적으로 각각의 노드를 탐색하면서 해당 노드의 빈도수가 최소 빈도수 보다 큰 경우에는 해당 노드로부터 루트 노드까지의 경로에 포함되는 노드의 빈발 항목을 추출할 수 있다. 여기에서, 최소 빈도수는 사용자 단말(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
일 실시예에서, 빈발 항목 제공부는 트랜잭션 수집부(210), 트리 생성부(220), 빈발 항목 추가부(230) 또는 빈발 항목 관리부(240)를 통하여 특정 작업이 수행중인 경우에는 해당 작업이 종료될 때까지 대기하고, 해당 작업이 종료된 후에 빈발 항목을 추출할 수 있다.In one embodiment, when a particular task is being performed through the
제어부(250)는 최신 빈발 패턴 유지 서버(120)는 트랜잭션 수집부(210), 트리 생성부(220), 빈발 항목 추가부(230) 및 빈발 항목 관리부(240)의 동작 및 데이터의 흐름을 제어한다.
The
도 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
트랜잭션 수집부(210)는 제2 배치의 크기를 기초로 해당 크기만큼 트랜잭션을 수집하고(단계 S302), 빈발 항목 추가부(230)는 제2 배치의 크기를 기초로 수집된 트랜잭션에서 제2 빈발 항목을 마이닝 하여 트리에 추가한다(단계 S304). 일 실시예에서, 빈발 항목 추가부(230)는 제2 빈발 항목 중에서 트리에 저장되어 있는 제1 빈발 항목과 동일한 빈발 항목이 있는지 여부를 기초로 새로운 노드를 생성하여 빈발 항목을 트리에 추가하거나 또는 트리에 기 저장되어 있는 제1 빈발 항목의 빈도수 및 배치 정보를 갱신할 수 있다.
The
도 4는 빈발 항목을 트리에 추가하는 방법에 대한 보다 구체적인 흐름도이다.Figure 4 is a more specific flow diagram of a method for adding frequent items to a tree.
빈발 항목 추가부(230)는 특정 배치의 크기만큼 수집된 트랜잭션에서 빈발 항목을 마이닝하고 사용자 단말(110)에 의하여 기 설정된 기준에 따라 빈발 항목을 정렬하고(단계 S401), 정렬된 순서대로 트리에 해당 빈발 항목을 삽입한다.The frequent
빈발 항목 추가부(230)는 특정 빈발 항목을 트리에 삽입하기 전에 해당 특정 빈발 항목이 트리에 삽입하려는 정렬된 빈발 항목 중에서 마지막 빈발 항목인지 여부를 확인한다(단계 S402). The frequent
일 실시예에서, 특정 빈발 항목이 마지막 빈발 항목에 해당하는 경우에는 빈발 항목 추가부(230)는 이전 빈발 항목이 추가된 노드의 자식 노드에 해당 빈발 항목이 있는지 여부를 확인한다(단계 S403). 일 실시예에서, 자식 노드에 해당 빈발 항목이 있는 경우에는 자식 노드의 빈도수 및 배치 정보를 갱신한다(단계 S404). 여기에서, 빈도수는 기 저장되어 있는 빈도수가 감쇄된 후 해당 빈발 항목의 빈도수를 더한 값으로 갱신될 수 있고, 배치 정보는 해당 빈발 항목에 대한 배치 정보로 갱신될 수 있다. 다른 일 실시예에서, 자식 노드에 해당 빈발 항목이 없는 경우에는 해당 빈발 항목에 대한 노드를 새로 생성하여 이전 빈발 항목이 추가된 노드의 자식 노드로 삽입한다(단계 S405). In one embodiment, if the particular frequent item corresponds to the last frequent item, the frequent
일 실시예에서, 특정 빈발 항목이 마지막 빈발 항목에 해당하지 않는 경우에는 빈발 항목 추가부(230)는 이전 빈발 항목이 추가된 노드의 자식 노드에 해당 빈발 항목이 있는지 여부를 확인한다(단계 S406). 여기에서, 특정 빈발 항목이 정렬된 빈발 항목 중에서 처음으로 트리에 추가되는 빈발 항목에 해당하는 경우에는 루트 노드의 자식 노드에 해당 빈발항목이 있는지 여부를 확인할 수 있다. In one embodiment, if the particular frequent item does not correspond to the last frequent item, the frequent
일 실시예에서, 자식 노드에 해당 빈발 항목이 있는 경우에는 해당 자식 노드를 다음 빈발 항목에 대하여 현재 노드로 설정하고(단계 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
도 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
빈발 항목 관리부(240)는 각 노드를 탐색하면서 재산출된 빈도수와 특정 기준을 비교하여 재산출된 빈도수가 특정 기준보다 작은지 여부를 확인한다(단계 S503). 일 실시예에서, 특정 기준은 근접 최소 빈도수(μ)에 해당할 수 있다.The frequent
일 실시예에서, 빈발 항목 관리부(240)는 재산출된 빈도수가 특정 기준보다 작은 노드에 대하여 해당 노드가 트리에서 내부노드에 해당하는지 여부를 확인한다(단계 S504). 여기에서, 내부노드는 단말노드가 아닌 노드에 해당한다. In one embodiment, the frequent
일 실시예에서, 해당 노드가 내부노드에 해당하는 경우에는, 빈발 항목 관리부(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
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
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 빈발 항목 각각을 노드로 하여 상기 트리에 추가하고, 트리에 저장되어 있는 제1 빈발 항목 중에서 상기 제2 빈발 항목과 중복되지 않는 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 저장되어 있는 노드의 빈도수를 감소시키는 단계를 포함하는 최신 빈발 패턴 유지 방법.
Keeping up-to-date frequent patterns In a method for maintaining the latest frequent patterns performed in a server,
(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 as a node to the tree, If there is a frequent item that does not overlap with the second frequent item among the first frequent items, decreasing the frequency of the node storing the first frequent item.
상기 제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.
상기 노드의 배치 정보를 갱신하는 단계를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
3. The method of claim 2, wherein step (d)
And updating the arrangement information of the node.
(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.
상기 해당 노드가 상기 트리의 단말노드에 해당하는 경우에는 상기 해당 노드를 삭제하고 상기 삭제된 노드로부터 루트 노드까지 탐색하면서 빈도수가 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.
(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.
상기 트리의 루트 노드로부터 순차적으로 각각의 노드를 탐색하면서 해당 노드의 빈도수가 현재까지 처리한 트랜잭션의 개수 및 사용자 단말에 의하여 기 설정된 빈도수 감소 팩터 및 최소 빈도수 임계치를 기초로 산출된 최소 빈도수 보다 큰 경우에는 상기 해당 노드로부터 상기 루트 노드까지의 경로에 포함되는 노드의 빈발 항목을 추출하는 단계를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
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.
빈발 항목 및 빈발 항목이 저장되어 있는 노드를 연결하기 위한 링크를 포함하는 헤더리스트를 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 방법.
2. The method of claim 1,
And a header list including a link for connecting a node storing frequent items and frequent items.
빈발 항목 및 해당 빈발 항목에 대한 빈도수 및 배치 정보를 포함하고 해당 노드의 부모 노드 및 자식 노드에 접근할 수 있는 포인터를 포함하는 것을 특징으로 한는 최신 빈발 패턴 유지 방법.
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 배치의 크기만큼 수집된 경우에는 적어도 하나의 제1 빈발 항목을 마이닝하고 상기 적어도 하나의 제1 빈발 항목 각각을 노드로 하여 트리를 생성하는 트리 생성부; 및
상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하고, 트리에 저장되어 있는 제1 빈발 항목 중에서 상기 제2 빈발 항목과 중복되지 않는 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 저장되어 있는 노드의 빈도수를 감소시키는 빈발 항목 추가부를 포함하는 최신 빈발 패턴 유지 서버.
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
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, And a frequent item addition unit for decreasing the frequency of the node in which the first frequent item is stored if there is a frequent item that does not overlap with the second frequent item among the frequent items.
상기 트리의 노드를 순차적으로 탐색하면서 해당 노드의 빈도수가 현재까지 처리한 트랜잭션의 개수 및 사용자 단말에 의하여 기 설정된 빈도수 감소 팩터, 최소 빈도수 임계치 및 신뢰율을 기초로 산출된 근접 최소 빈도수보다 작은 경우에는 해당 노드의 빈도수를 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.
사용자로부터 최신 빈발 항목에 대한 출력을 요청 받는 경우에는 상기 트리에 저장되어 있는 빈발 항목을 탐색하여 출력하는 빈발 항목 제공부를 더 포함하는 것을 특징으로 하는 최신 빈발 패턴 유지 서버.
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 빈발 항목 각각을 노드로 하여 트리를 생성하는 기능;
상기 트랜잭션 수집부에 의해 제2 배치의 크기를 기초로 트랜잭션을 수집하는 기능; 및
빈발 항목 추가부에 의해 상기 트랜잭션이 상기 제2 배치의 크기만큼 수집된 경우에는 적어도 하나의 제2 빈발 항목을 마이닝하고 상기 적어도 하나의 제2 빈발 항목 각각을 노드로 하여 상기 트리에 추가하고, 트리에 저장되어 있는 제1 빈발 항목 중에서 상기 제2 빈발 항목과 중복되지 않는 빈발 항목이 있는 경우에는 해당 제1 빈발 항목이 저장되어 있는 노드의 빈도수를 감소시키는 기능을 포함하는 최신 빈발 패턴 유지 방법에 관한 컴퓨터 프로그램을 기록한 기록매체.
Collecting the transaction based on the size of the first batch by the transaction collecting unit;
A function of 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 tree generating unit by the size of the first batch;
Collecting a transaction based on the size of the second batch by the transaction collecting unit; And
If the transaction is collected by the frequent item adding unit 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, And a function of reducing the frequency of the node in which the first frequent item is stored if there is a frequent item that does not overlap with the second frequent item among the first frequent items stored in the first frequent item storing unit A recording medium on which a computer program is recorded.
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 KR20160066219A (en) | 2016-06-10 |
KR101649884B1 true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101275834B1 (en) | 2010-11-09 | 2013-06-18 | 충북대학교 산학협력단 | Method of miming Top-K important patterns |
Family Cites Families (3)
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 |
KR101376444B1 (en) * | 2012-01-31 | 2014-03-19 | 충북대학교 산학협력단 | Pattern mining method for searching tree on top-down traversal for considering weight in data stream |
-
2014
- 2014-12-02 KR KR1020140170280A patent/KR101649884B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101275834B1 (en) | 2010-11-09 | 2013-06-18 | 충북대학교 산학협력단 | Method of miming Top-K important patterns |
Non-Patent Citations (2)
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 |
---|---|
KR20160066219A (en) | 2016-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12124326B2 (en) | Automatic correlation of dynamic system events within computing devices | |
JP5092165B2 (en) | Data construction method and system | |
JP6272417B2 (en) | Sentence extraction method and system | |
KR101705778B1 (en) | Sliding window based frequent patterns management method for mining weighted maximal frequent patterns over data stream | |
CN112154420B (en) | Automatic intelligent cloud service testing tool | |
CN107800562B (en) | A kind of method for configuring route and device of view file | |
CN111314063A (en) | Big data information management method, system and device based on Internet of things | |
HewaNadungodage et al. | Hyper-structure mining of frequent patterns in uncertain data streams | |
CN116521816A (en) | Data processing method, retrieval method, device, equipment and storage medium | |
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 | |
CN112783447A (en) | Method, apparatus, device, medium, and article of manufacture for processing snapshots | |
KR101761177B1 (en) | Method for mining important pattern of high rank k, apparatus performing the same and storage medium storing the same | |
CN113014674A (en) | Method and device for drawing service dependency graph | |
CN105637178A (en) | Regression relationship approaches | |
CN112631517B (en) | Data storage method and device, electronic equipment and storage medium | |
CN104750609A (en) | Method and device for determining interface layout compatibility degree | |
US11651030B2 (en) | Delta-based conflict-free replicated data type arrays using dot stores that map dots to dot stores | |
CN113868138A (en) | Method, system, equipment and storage medium for acquiring test data | |
Bröhl et al. | A perturbation-based approach to identifying potentially superfluous network constituents | |
CN115329150A (en) | Method and device for generating search condition tree, electronic equipment and storage medium | |
CN114116924A (en) | Data query method based on map data, map data construction method and device | |
CN112364246B (en) | Data searching method, device, computer equipment and storage medium | |
CN109194613A (en) | A kind of data packet detection method and device | |
US10942969B2 (en) | Non-transitory computer-readable storage medium, search control method, and search control apparatus |
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 |