KR102023275B1 - Product recommendation method using fp growth - Google Patents

Product recommendation method using fp growth Download PDF

Info

Publication number
KR102023275B1
KR102023275B1 KR1020180026213A KR20180026213A KR102023275B1 KR 102023275 B1 KR102023275 B1 KR 102023275B1 KR 1020180026213 A KR1020180026213 A KR 1020180026213A KR 20180026213 A KR20180026213 A KR 20180026213A KR 102023275 B1 KR102023275 B1 KR 102023275B1
Authority
KR
South Korea
Prior art keywords
tree
user
purchase history
history information
subtree
Prior art date
Application number
KR1020180026213A
Other languages
Korean (ko)
Other versions
KR20190105746A (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 KR1020180026213A priority Critical patent/KR102023275B1/en
Publication of KR20190105746A publication Critical patent/KR20190105746A/en
Application granted granted Critical
Publication of KR102023275B1 publication Critical patent/KR102023275B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0254Targeted advertisements based on statistics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

FP Growth를 이용한 제품 추천 방법 및 시스템이 개시된다. 일 실시예에 따른 제품 추천 시스템에 의하여 수행되는 제품 추천 방법은, 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계; 상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및 상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계를 포함할 수 있다. A method and system for recommending a product using FP growth is disclosed. A product recommendation method performed by a product recommendation system according to an embodiment may include determining purchase history information of a user based on attributes of data; Generating an association rule according to the determined purchase history information of the user; And recommending a new product to the user through the result obtained based on the association rule.

Description

FP Growth를 이용한 제품 추천 방법 및 시스템{PRODUCT RECOMMENDATION METHOD USING FP GROWTH}Product Recommendation Method and System Using FP Growth {PRODUCT RECOMMENDATION METHOD USING FP GROWTH}

아래의 설명은 제품을 추천하는 기술에 관한 것이다.
The description below relates to techniques for recommending a product.

현대 사회는 하드웨어와 인터넷의 발달로 인하여 유비쿼터스 컴퓨팅에서 IoT로 진화되고, 개인 소유의 스마트폰을 보유하는 시대가 되었다. 이로 인하여 소비패턴 또한 과거와 달리 오프라인구매보다는 온라인 구매를 선호하는 시대가 되어가고 있다. 실제 한 백화점의 경우 20대와 30대의 경우 오프라인보다 온라인에서 물건을 구매하는 사람이 월등하게 증가하였으며, 이는 구입할 물건의 사양, 사용기나 가격 등의 정보를 먼저 찾아보고 최적의 경로를 통해 최적가로 합리적으로 구매하려는 소비자의 특성으로 인하여 점차 증가되는 추세이다. 온라인 쇼핑몰을 이용하여 소비자가 제품을 구매할 경우 구매 기록이 남게 된다. Modern society has evolved from ubiquitous computing to IoT due to the development of hardware and the Internet, and has become an era of owning smartphones owned by individuals. As a result, the consumption pattern is also becoming an era where online purchasing is preferred to offline purchasing. In fact, in the case of one department store, the number of people who purchase goods online is much higher than that of offline people in their 20s and 30s. Due to the characteristics of consumers to buy as a trend is gradually increasing. When a consumer purchases a product using an online shopping mall, a record of purchase remains.

한편, 실제 과거부터 마케팅에서 고객의 데이터를 수집한 후 이를 분석하여 실제 고객을 관리하는데 많이 사용하였으며, 대표적으로 CRM(Customer Relationship Management)을 이용하여 많은 기업들은 고객과 관련된 데이터를 분석 및 통합해 고객 개개인의 특성에 맞게 마케팅을 하는데 적용되었다. 최근 머신러닝 및 딥러닝이 사람들로부터 각광을 받으면서 마케팅 분야에도 기존에 사람이 하던 일의 일부분을 머신러닝이나 딥러닝을 적용하여 기계가 자동으로 일을 처리하고 있다. 기업에서는 수익을 창출하기 위해 신규 고객을 모으고, 기존고객의 이탈을 방지하며, 고객들이 필요로 하는 것을 제시하여야 한다.On the other hand, since the customer's data has been collected in marketing since the past, it was analyzed and used a lot to manage the actual customer.Representatively, using customer relationship management (CRM), many companies analyze and integrate the data related to the customer Applied to marketing according to individual characteristics. Recently, as machine learning and deep learning have been in the spotlight, people in the marketing field have applied machine learning or deep learning to a part of their existing tasks, and machines are automatically processing the work. Companies must gather new customers, prevent churn from existing customers, and present what they need to generate revenue.

데이터 마이닝을 이용하여 마케팅을 하는 대표적인 사례로 고객세분화 기호도 분석에 따른 타겟 마케팅이 있고, 수요예측을 통한 제품서비스 공급 준비가 있으며, 구매행동 데이터분석을 통한 마케팅 유통 계획안 개선 등이 있다. 고객들이 온라인 쇼핑몰을 통해 물건을 구매하는 경우 수많은 제품 중 원하는 제품을 찾기가 어려운 경우가 다수 발생한다. 또한 기업 입장에서는 분석을 통해 고객이 필요로 한 제품을 추천하여 더 많은 제품을 판매하여 수익을 창출해야 한다. Representative examples of marketing using data mining include target marketing based on customer segmentation preference analysis, preparation of product service through demand forecasting, and improvement of marketing distribution plan through analysis of purchase behavior data. When customers buy products through online shopping malls, many of them are difficult to find the desired products. In addition, companies should make money by selling more products by recommending products that customers need.

따라서 이러한 문제점을 해결하기 위해 축적된 고객들의 데이터에 기반하여 고객들의 구매내역을 분석하여 각 고객이 원하는 제품을 추천하는 추천 서비스를 제공할 필요가 있다.
Therefore, in order to solve these problems, it is necessary to analyze the purchase history of the customers based on the accumulated data of the customers and provide a recommendation service for recommending the products desired by each customer.

FP Growth 를 이용하여 고객의 구매 내역을 분석하여 고객에게 제품을 추천하는 방법 및 시스템을 제공할 수 있다.
FP Growth can be used to analyze customer purchases to provide a method and system for recommending products to customers.

제품 추천 시스템에 의하여 수행되는 제품 추천 방법은, 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계; 상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및 상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계를 포함할 수 있다. The product recommendation method performed by the product recommendation system may include determining purchase history information of a user based on attributes of data; Generating an association rule according to the determined purchase history information of the user; And recommending a new product to the user through the result obtained based on the association rule.

상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는, FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출하는 단계를 포함할 수 있다. The generating of the association rule according to the determined purchase history information of the user may include extracting a pattern as the purchase history information of the user is scanned using an FP Growth algorithm.

상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는, 상기 사용자의 구매 내역 정보를 2번 스캔함에 따라 패턴을 탐색하는 단계를 포함할 수 있다. The generating of the association rule according to the determined purchase history information of the user may include searching for a pattern by scanning the purchase history information of the user twice.

상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는, 상기 구매 내역 정보를 스캔함에 따라 트랜잭션에서 minsup 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성하는 단계를 포함할 수 있다. The generating of the association rule according to the determined purchase history information of the user includes: building a tree (Global FP Tree) with items of minsup or more in a transaction as the scan history information is scanned, and split and conquer the constructed tree. Selecting another item using a technique to generate at least one sub-tree (Conditional FP Tree).

상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는, 상기 서브 트리를 기준으로 상기 서브 트리의 이전 트리에서 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 상기 선택된 아이템을 포함한 패턴의 서포트(support)가 minsup 이하일 때 상기 서브 트리의 생성을 중지하는 단계를 포함할 수 있다. The generating of the association rule according to the determined purchase history information of the user may include, when it is impossible to generate a new subtree from a previous tree of the subtree based on the subtree, or support of a pattern including the selected item. and stopping generation of the subtree when (support) is less than or equal to minsup.

상기 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계는, 상기 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 상기 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인하는 단계를 포함할 수 있다. The determining of the purchase history information of the user based on the attribute of the data may include performing a preprocessing process of converting the data into binary code, and based on the attribute of the data converted into binary code as the preprocessing process is performed. Checking the purchase history information of the user may include.

제품 추천 시스템에 의하여 수행되는 제품 추천 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램은, 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계; 상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및 상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계를 포함할 수 있다. A computer program stored in a computer-readable recording medium for executing a product recommendation method performed by a product recommendation system includes: determining purchase history information of a user based on attributes of data; Generating an association rule according to the determined purchase history information of the user; And recommending a new product to the user through the result obtained based on the association rule.

제품 추천 시스템은, 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 판단부; 상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 생성부; 및 상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 추천부를 포함할 수 있다. The product recommendation system includes: a determination unit configured to determine purchase history information of a user based on attributes of data; A generation unit generating an association rule according to the determined purchase history information of the user; And a recommendation unit recommending a new product to the user through the result obtained based on the association rule.

상기 생성부는, FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출할 수 있다. The generation unit may extract a pattern as the purchase history information of the user is scanned using the FP Growth algorithm.

상기 생성부는, 상기 사용자의 구매 내역 정보를 2번 스캔함에 따라 패턴을 탐색할 수 있다. The generation unit may search for a pattern by scanning the purchase history information of the user twice.

상기 생성부는, 상기 구매 내역 정보를 스캔함에 따라 트랜잭션에서 minsup 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성할 수 있다. The generation unit builds a tree (Global FP Tree) with items of minsup or more in a transaction as the purchase history information is scanned, and selects another item from the constructed tree by using a partitioned conquer technique to at least one sub serve. Create a Conditional FP Tree.

상기 생성부는, 상기 서브 트리를 기준으로 상기 서브 트리의 이전 트리에서 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 상기 선택된 아이템을 포함한 패턴의 서포트(support)가 minsup 이하일 때 상기 서브 트리의 생성을 중지할 수 있다. The generation unit stops the generation of the subtree when it is impossible to generate a new subtree from the previous tree of the subtree based on the subtree or when the support of the pattern including the selected item is less than minsup. can do.

상기 판단부는, 상기 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 상기 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인할 수 있다.
The determination unit may perform a preprocessing process of converting the data into a binary code, and as the preprocessing process is performed, check the purchase history information of the user based on an attribute of the data converted into the binary code.

일 실시예에 따른 제품 추천 시스템은 FP Growth를 적용하여 획득된 결과를 통해 고객 각각의 구매 내역을 확인하고 고객의 구매력이 높은 제품을 추천하는 서비스를 제공할 수 있다.The product recommendation system according to an exemplary embodiment may provide a service of confirming purchase details of each customer and recommending a product having a high purchasing power by using the result obtained by applying FP growth.

일 실시예에 따른 제품 추천 시스템은 빠른 속도로 분석이 가능하고, 연산량을 감소시킬 수 있다.
Product recommendation system according to an embodiment can be analyzed at a high speed and can reduce the amount of computation.

도 1은 일 실시예에 따른 제품 추천 시스템의 구성을 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 제품 추천 시스템의 제품 추천 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 제품 추천 시스템의 사용자의 구매 내역에 대한 트랜잭션을 나타낸 예이다.
도 4는 일 실시예에 따른 제품 추천 시스템에서 트리를 생성하는 과정을 나타낸 것이다.
도 5는 일 실시예에 따른 제품 추천 시스템에서 사용자의 구매 내역을 나타낸 예이다.
도 6은 일 실시예에 따른 제품 추천 시스템에서 전처리 과정을 수행하는 것을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 제품 추천 시스템에서 전처리 과정이 수행된 데이터 셋을 나타낸 도면이다.
도 8은 일 실시예에 따른 제품 추천 시스템에서 FP Growth 알고리즘을 적용한 제품 추천 목록을 나타낸 예이다.
도 9는 일 실시예에 따른 제품 추천 시스템에서 제품을 추천한 예이다.
1 is a block diagram illustrating a configuration of a product recommendation system according to an exemplary embodiment.
2 is a flowchart illustrating a product recommendation method of a product recommendation system according to an exemplary embodiment.
3 illustrates an example of a transaction of a purchase history of a user of a product recommendation system, according to an exemplary embodiment.
4 illustrates a process of generating a tree in a product recommendation system according to an exemplary embodiment.
5 illustrates an example of a purchase history of a user in a product recommendation system according to an exemplary embodiment.
FIG. 6 is a diagram for describing performing a pretreatment process in a product recommendation system according to an exemplary embodiment.
7 is a diagram illustrating a data set in which a preprocessing process is performed in a product recommendation system according to an exemplary embodiment.
8 is an example of a product recommendation list to which the FP Growth algorithm is applied in a product recommendation system according to an embodiment.
9 is an example of recommending a product in a product recommendation system according to an embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른 제품 추천 시스템의 구성을 설명하기 위한 블록도이고, 도 2는 일 실시예에 따른 제품 추천 시스템의 제품 추천 방법을 설명하기 위한 흐름도이다.1 is a block diagram illustrating a configuration of a product recommendation system according to an embodiment, and FIG. 2 is a flowchart illustrating a product recommendation method of a product recommendation system according to an embodiment.

제품 추천 시스템(100)은 판단부(110), 생성부(120) 및 추천부(130)를 포함할 수 있다. 이러한 구성요소들은 제품 추천 시스템(100)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 구성요소들은 도 2의 제품 추천 방법이 포함하는 단계들(210 내지 230)을 수행하도록 제품 추천 시스템(100)을 제어할 수 있다. 이때, 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. The product recommendation system 100 may include a determiner 110, a generator 120, and a recommender 130. These components may be representations of different functions performed by a processor in accordance with control instructions provided by program code stored in the product recommendation system 100. The components may control the product recommendation system 100 to perform steps 210 to 230 included in the product recommendation method of FIG. 2. In this case, the components may be implemented to execute instructions according to code of an operating system included in a memory and code of at least one program.

프로세서는 제품 추천 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 제품 추천 시스템(100)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 제품 추천 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 판단부(110), 생성부(120) 및 추천부(130) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(210 내지 230)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다. The processor may load program code stored in a file of a program for a product recommendation method into a memory. For example, when a program is executed in the product recommendation system 100, the processor may control the product recommendation system to load program code from a file of a program into a memory under control of an operating system. In this case, each of the processor 110, the generator 120, and the recommender 130 included in the processor executes an instruction of a corresponding part of the program code loaded in the memory, thereby performing steps 210 to 230. May be different functional representations of a processor for executing.

단계(210)에서 판단부(110)는 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단할 수 있다. 판단부(110)는 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인할 수 있다. In operation 210, the determination unit 110 may determine the purchase history information of the user based on the attributes of the data. The determination unit 110 may perform a preprocessing process of converting data into a binary code, and as the preprocessing process is performed, check the purchase history information of the user based on the attribute of the data converted into the binary code.

단계(220)에서 생성부(120)는 판단된 사용자의 구매 내역에 따라 연관규칙을 생성할 수 있다. 생성부(120)는 FP Growth 알고리즘을 사용하여 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출할 수 있다. 생성부(120)는 사용자의 구매 내역 정보를 2번 스캔함에 따라 패턴을 탐색할 수 있다. 생성부(120)는 구매 내역 정보를 스캔함에 따라 트랜잭션에서 minsup 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성할 수 있다. 생성부(120)는 서브 트리를 기준으로 서브 트리의 이전 트리에서 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 선택된 아이템을 포함한 패턴의 서포트(support)가 minsup 이하일 때 서브 트리의 생성을 중지할 수 있다.In operation 220, the generation unit 120 may generate an association rule according to the determined purchase history of the user. The generation unit 120 may extract the pattern according to the purchase history information of the user using the FP Growth algorithm. The generation unit 120 may search for a pattern by scanning the purchase history information of the user twice. The generation unit 120 constructs a tree (Global FP Tree) with items of minsup or more in a transaction as the purchase history information is scanned, and selects another item from the constructed tree by using a partitioned conquer technique to at least one sub serve. Create a Conditional FP Tree. The generation unit 120 may stop the generation of the subtree when it is impossible to generate a new subtree from the previous tree of the subtree based on the subtree or when the support of the pattern including the selected item is minsup or less. have.

단계(230)에서 추천부(130)는 연관규칙에 기반하여 획득된 결과를 통하여 사용자에게 새로운 제품을 추천할 수 있다. In operation 230, the recommendation unit 130 may recommend a new product to the user through the result obtained based on the association rule.

도 3은 일 실시예에 따른 제품 추천 시스템의 사용자의 구매 내역에 대한 트랜잭션을 나타낸 예이다. 3 illustrates an example of a transaction of a purchase history of a user of a product recommendation system, according to an exemplary embodiment.

FP Growth(Frequent Patterns Growth)는 Apriori 알고리즘을 개선한 알고리즘으로 데이터가 가진 패턴이 얼마나 많이 발생하는지를 분석하는 패턴 마이닝에 쓰이는 기법 중 하나이다. 실시예에서는, FP Growth(Frequent Patterns Growth)를 이용하여 제품을 추천하는 방법을 설명하기로 한다. 여기서, 사용자(예를 들면, 고객)의 구매 내역을 표현할 수 있는 제품의 수를 k라고 할 때, 공집합을 제외한 부분집합의 개수를 2k-1 개, 연관규칙의 개수를 3k-2k+1+1개이다. 예를 들면, 제품이 10개라고 하였을 때, 부분집합의 개수는 1023개, 연관규칙의 개수는 57002개이다. 제품의 수가 많아질수록 연관규칙의 경우의 수도 기하급수적으로 증가하게 된다. Frequent Patterns Growth (FP Growth) is an improvement over the Apriori algorithm and is one of the techniques used in pattern mining to analyze how many patterns the data have. In the embodiment, a method of recommending a product using FP growth (Frequent Patterns Growth) will be described. Here, when the number of products that can express the purchase history of the user (for example, the customer) is k, the number of subsets excluding the empty set is 2 k -1 and the number of association rules is 3 k -2 k +1 +1. For example, assuming 10 products, the number of subsets is 1023 and the number of association rules is 57002. As the number of products increases, the number of cases of the relevant rules increases exponentially.

제품 추천 시스템은 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단할 수 있다. 제품 추천 시스템은 연관규칙 생성 알고리즘을 이용하게 된다. 제품 추천 시스템은 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성할 수 있다. 종래의 부분집합인 지지도 계산량을 감소시키기 위한 다양한 방법이 존재하였다. Apiori 알고리즘은 모든 가능한 항목집합의 개수를 줄이는 방법을 사용하고, DHP 알고리즘의 경우 트랜잭션 개수를 줄이는 방법을 사용하며, FP Growth 알고리즘은 비교하는 수를 줄이는 방법을 사용한다. Apriori와 동일한 결과를 보여주지만 Apriori에 비해 실행시간을 급격하게 감소시킨 알고리즘으로 FP Growth 알고리즘을 주로 이용한다. 본 발명의 제품 추천 시스템은 이러한 FP Growth 알고리즘을 이용하여 제품을 추천할 수 있다. Apriori 알고리즘은 패턴을 찾기 위해 할당된 트랜잭션의 아이템 수개의 스캔을 해야 하는 반면, FP Growth 알고리즘을 이용할 경우, 2번의 스캔만 수행하면 된다. 이로 인하여, FP Growth 알고리즘을 이용할 경우 실행 시간을 감소시킬 수 있으며, 패턴 후보인 candidate를 생성하지 않는다는 특징이 있다. 다시 말해서, 제품 추천 시스템은 FP Growth 알고리즘을 통하여 candidate를 생성하지 않는 대신 트리와 노드 링크라는 특별한 자료 구조를 사용한다. The product recommendation system may determine the purchase history information of the user based on the attributes of the data. The product recommendation system uses an association rule generation algorithm. The product recommendation system may generate an association rule according to the determined purchase history information of the user. Various methods exist to reduce the support calculation, which is a subset of the prior art. The Apiori algorithm uses a method that reduces the number of all possible itemsets, the DHP algorithm uses a method that reduces the number of transactions, and the FP Growth algorithm uses a method that reduces the number of comparisons. It shows the same result as Apriori, but the algorithm which drastically reduced the execution time compared to Apriori mainly uses FP Growth algorithm. The product recommendation system of the present invention can recommend a product using this FP Growth algorithm. The Apriori algorithm needs to scan several items of the allocated transaction to find the pattern, whereas the FP Growth algorithm only needs to perform two scans. As a result, when the FP Growth algorithm is used, execution time can be reduced, and a candidate which is a pattern candidate is not generated. In other words, the product recommendation system does not generate candidates through the FP Growth algorithm, but instead uses special data structures called tree and node links.

제품 추천 시스템은 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성할 수 있다. 제품 추천 시스템은 사용자의 구매 내역에 대하여 첫 번째 스캔을 수행할 수 있다. 이때, 사용자의 구매 내역은 트랜잭션 데이터를 의미할 수 있다. 제품 추천 시스템은 사용자의 구매 내역을 스캔함에 따라 트랜잭션이 포함하고 있는 아이템마다 서포트(반발도, support)를 계산할 수 있다. 제품 추천 시스템은 계산된 서포트를 토대로 서포트가 최소 임계치(minsup)이상인 아이템을 추출할 수 있다. 제품 추천 시스템은 트랜잭션에서 minsup이상의 아이템들로 Global FP Tree를 생성하고, 생성된 트리에서 분할 정복 기법을 사용하여 또 하나의 아이템을 선택해서 새로운 서브 트리인 Conditional FP Tree를 생성할 수 있다. 이와 같이, 아이템의 길이를 하나씩 늘려가면서 서브 트리를 복수 개를 생성할 수 있다. 이때, 트리 또는 서브 트리의 이전 트리에서 더 이상 서브 트리를 구축할 수 있을 때, 또는, 선택한 아이템을 포함하는 패턴의 서포트 값이 minsup보다 작을 경우에 트리 및 서브 트리의 생성을 중지할 수 있다.The product recommendation system may generate an association rule according to the determined purchase history information of the user. The product recommendation system may perform a first scan of the user's purchase history. In this case, the purchase history of the user may mean transaction data. As the product recommendation system scans a user's purchase history, the product recommendation system may calculate support for each item included in the transaction. The product recommendation system may extract items whose support is above the minimum threshold (minsup) based on the calculated support. The product recommendation system can create a Global FP Tree with more than minsup items in a transaction, and select another item from the generated tree to create a new subtree, Conditional FP Tree. In this manner, a plurality of subtrees may be generated while increasing the length of an item by one. In this case, when the subtree may be further constructed from the previous tree of the tree or the subtree, or when the support value of the pattern including the selected item is smaller than minsup, the generation of the tree and the subtree may be stopped.

구체적으로, 제품 추천 시스템은 서포트가 minsup이상인 아이템을 추출함에 따라 추출된 아이템을 기 설정된 기준(예를 들면, 내림차순, 올림차순 등)으로 정렬하여 테이블에 보관할 수 있다. 제품 추천 시스템은 사용자의 구매 내역을 두 번째 스캔(재스캔)할 수 있다. 제품 추천 시스템은 사용자의 구매 내역을 다시 한번 스캔함으로써 트랜잭션에 포함된 아이템 중 테이블에 보관되어 있는 아이템을 추출할 수 있고, 추출된 아이템을 재정렬하여 트리에 삽입할 수 있다. 제품 추천 시스템은 트랜잭션마다 root부터 삽입을 할 수 있으며, 새로운 아이템이 나타나면 head of node-links라는 포인터가 그 아이템 노드를 가리키도록 한다. 그리고, 삽입을 하는 도중 동일한 아이템이 나올 경우 노드를 합치고, 노드에 저장하는 서포트 값을 증가시킬 수 있다. 예를 들면, 서포트 값을 기 설정된 크기(예를 들면, 1)만큼 증가시킬 수 있다. 노드 링크는 새로운 노드가 생길 때마다 이전 아이템 링크에서 계속 연결시킬 수 있다. 이러한 과정을 완료함에 따라 트리를 구축할 수 있다. 이때, 구축된 트리를 Global Tree라고 한다. 제품 추천 시스템은 한번에 해결하기 어려운 문제를 작은 단위의 부문제로 분할하여 해결하는 분할 정복 기법으로 테이블에서 바텀업 방식으로 아이템을 하나씩 prefix로 하고, 아이템을 포함하는 트랜잭션의 다른 아이템들의 서포트 값을 계산하고, minsup(최소 임게치)보다 크거나 같을 경우, 서브 트리를 생성할 수 있다. 이때, 서브 트리를 conditional Tree라고 한다. 이러한 방식으로 트리 및 서브 트리를 계속적으로 생성하고, 서포트 값을 산출하면서 패턴이 minsup 이상의 패턴들이 도출될 수 있다. 제품 추천 시스템은 minsup 이상의 패턴을 추출할 수 있다. 예를 들면, 제품 추천 시스템의 사용자의 구매 성향을 추출할 수 있다. Specifically, as the product recommendation system extracts an item whose support is minsup or higher, the extracted item may be sorted according to a predetermined criterion (eg, descending order, descending order, etc.) and stored in the table. The product recommendation system may second scan (rescan) the user's purchase history. The product recommendation system may extract the items stored in the table among the items included in the transaction by scanning the purchase history of the user once again, and rearrange the extracted items into the tree. The product recommendation system inserts from root every transaction, and when a new item appears, the pointer head of node-links points to that item node. And, if the same item comes out during insertion, the nodes can be merged and the support value stored in the node can be increased. For example, the support value may be increased by a predetermined size (for example, 1). Node links can continue to connect from previous item links whenever a new node is created. By completing this process, you can build your tree. At this time, the constructed tree is called Global Tree. The product recommendation system is a partitioning conquering technique that solves problems that are difficult to solve at once by dividing them into small divisions, and prefixes items one by one in the table in a bottom-up manner, and calculates support values of other items in a transaction that includes items. , if it is greater than or equal to minsup (minimum threshold), you can create a subtree. At this time, the subtree is called a conditional tree. In this manner, the tree and the subtree are continuously generated, and a pattern whose minsup is greater than minsup may be derived while calculating the support value. The product recommendation system can extract more than minsup patterns. For example, the purchasing tendency of the user of the product recommendation system may be extracted.

도 4는 일 실시예에 따른 제품 추천 시스템에서 트리를 생성하는 과정을 나타낸 것이다. 도 4를 참고하면, 사용자별 구매 내역으로 생성된 FP Tree를 나타낸 것으로, 사용자(식별 정보, ID)는 5명이고, 사용자의 구매 내역에서의 아이템의 수는 6인 것을 도식화 하였다. 사용자의 구매 내역의 트랜잭션을 오름차순 또는 내림차순으로 정렬하여 차례로 트리에 삽입할 수 있다. 제품 추천 시스템은 연관규칙에 기반하여 획득된 결과를 통하여 고객에게 새로운 제품을 추천할 수 있다. 4 illustrates a process of generating a tree in a product recommendation system according to an exemplary embodiment. Referring to FIG. 4, the FP Tree generated as the purchase history for each user is illustrated. The user (identification information, ID) is 5, and the number of items in the purchase history of the user is 6. Transactions in a user's purchase history can be sorted in ascending or descending order and inserted into the tree in turn. The product recommendation system can recommend new products to customers through the results obtained based on the association rules.

도 5를 참고하면, 사용자의 구매 내역을 나타낸 것이다. 일례로, 제품 추천 시스템은 분석할 원본 데이터에서 아이디별 구매 아이템을 출력할 수 있다. 제품 추천 시스템은 연관 규칙 알고리즘을 적용하기 위하여 데이터를 바이너리 코드 형태로 변형하는 전처리 과정을 수행할 수 있다. 제품 추천 시스템은 데이터에 대한 전처리 과정을 완료함에 따라 도 7과 같은 형태의 데이터를 획득할 수 있다. 도 6을 참고하면, 데이터 셋의 속성을 뜻하며, 사용자가 제품을 구매한 이력이 있는지 여부에 대하여 t/f로 나타낸다. 예를 들면, t는 제품을 구매한 이력이 있을 경우, f는 제품을 구매한 이력이 없을 경우를 의미할 수 있다. 도 7을 참고하면, 중괄호 안에 숫자들이 포함되어 있는데 이것은 데이터에 해당하는 속성, 즉 제품을 뜻하는 것으로 0번부터 시작하게 된다. 그리고 각 중괄호는 각각의 한 사람의 제품에 대한 구매 내역을 의미한다. 만약 0번째 속성에 해당하는 제품을 구매한 이력이 있으면 t로 표현하며, 구매하지 않은 제품에 대해서는 따로 표기를 하지 않고 생략할 수 있다. Referring to Figure 5, it shows the purchase history of the user. For example, the product recommendation system may output a purchase item for each ID in the original data to be analyzed. The product recommendation system may perform a preprocessing process of transforming data into binary code in order to apply an association rule algorithm. The product recommendation system may acquire data in a form as shown in FIG. 7 as the preprocessing process for the data is completed. Referring to FIG. 6, this refers to an attribute of a data set and is represented by t / f as to whether a user has a history of purchasing a product. For example, t may mean that there is a history of purchasing a product, and f may mean that there is no history of purchasing a product. Referring to FIG. 7, numbers are included in braces, which are attributes corresponding to data, that is, products, starting from zero. Each brace represents a purchase history for each person's product. If there is a history of purchasing the product corresponding to the 0th attribute, it is expressed as t, and the product which has not been purchased can be omitted without a separate notation.

제품 추천 시스템은 예를 들면, lowerBoundMinSupport값을 0.001로 설정하고, minMetric의 값을 0.5로 설정한 후 해당 데이터에 FP Growth 알고리즘을 적용할 수 있다. 이때, lowerBoundMinSupport란 앞에서 말한 minsup에 해당하며 {전체 트랜잭션 * 0.001}에 해당하는 값을 minsup로 설정한다는 뜻이고, minMetric은 추천에 대한 신뢰도의 최소 임계치로 신뢰도가 0.5이상인 값만 출력한다는 것을 의미한다. For example, the product recommendation system may set the lowerBoundMinSupport value to 0.001, the minMetric value to 0.5, and apply the FP Growth algorithm to the data. In this case, lowerBoundMinSupport corresponds to minsup mentioned above and sets {supplied transaction * 0.001} to minsup, and minMetric means that only a value of 0.5 or higher confidence is output as the minimum threshold of confidence for the recommendation.

도 8은 일 실시예에 따른 제품 추천 시스템에서 FP Growth 알고리즘을 적용한 제품 추천 목록을 나타낸 예이다. purchaseProduct는 구매한 제품, purchaseQuantity는 상기 제품을 구매한 사람의 숫자를 의미한다. recommendProduct는 purchaseProduct를 구매한 사람이 구매한 제품, 다시 말해서, 이는 추천 제품이 된다. 그리고 recommentQuantity는 purchaseProduct와 recommendProduct를 구매한 사람의 수를 뜻한다. Confidence는 recommendQuantity/purchaseQuantity의 연산식을 가지며 제품 추천에 대한 신뢰도이다. 제품 추천 시스템은 결과 빠른 속도로 분석이 가능하였으며, 몇몇의 제품을 구매한 경우 특정 제품을 자주 구매하는 것을 알 수 있었고, 이와 같이 획득된 결과를 통해 해당 제품을 구매한 사용자에게 특정 제품을 추천할 수 있다. 도 9는 일 실시예에 따른 제품 추천 시스템에서 제품을 추천한 예이다. 9(a)는 구매한 제품인 제품 BGMP310이고, 9(b)는 BGSP321 여성 흰색 바지를 나타낸 것이다. 예를 들면, 제품 BGMP310은 여성 검정 바지이고, BGSB435는 여성 모더니티 블라우스 상품이며, 이러한 두 제품을 구매한 경우 BGMP310과 유사한 스타일의 흰색 바지를 추천할 수 있다. 8 is an example of a product recommendation list to which the FP Growth algorithm is applied in a product recommendation system according to an embodiment. purchaseProduct means the purchased product, and purchaseQuantity means the number of people who purchased the product. recommendProduct is a product purchased by the person who purchased the purchaseProduct, that is, a recommendation product. And recommentQuantity refers to the number of people who purchased purchaseProduct and recommendProduct. Confidence has a formula of recommendQuantity / purchaseQuantity and is the reliability of product recommendation. The product recommendation system was able to analyze the results at a rapid rate, and when a few products were purchased, it was found that a particular product was frequently purchased. Based on the obtained results, the product recommendation system was recommended to a user who purchased the product. Can be. 9 is an example of recommending a product in a product recommendation system according to an embodiment. 9 (a) shows the purchased product BGMP310, and 9 (b) shows the BGSP321 female white trousers. For example, the product BGMP310 is a female black pants, BGSB435 is a women's modern blouse, and if you buy these two products, you can recommend white pants similar in style to BGMP310.

일 실시예에 따른 제품 추천 시스템은 기존의 방법이 트랜잭션도 많이 읽어야 하고, 연산량이 많이 필요하였던 문제점을 FP Growth 알고리즘을 사용하여 해결할 수 있다. 다시 말해서, 제품 추천 시스템은 2번의 스캔만으로 결과를 획득할 수 있으며, 연산량도 적어도 분석 속도가 빠르다. 제품 추천 시스템은 FP Growth를 적용하여 획득된 결과를 통해 고객 각각의 구매 내역을 확인하고 고객의 구매력이 높은 제품을 추천하는 서비스를 제공할 수 있다. Product recommendation system according to an embodiment can solve the problem that the conventional method has to read a lot of transactions and a large amount of calculation using the FP Growth algorithm. In other words, the product recommender system can obtain the result in two scans, and the computation rate is at least fast. The product recommendation system may provide a service of confirming each purchase history of each customer and recommending products having high purchasing power through the results obtained by applying FP growth.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). Can be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. It can be embodied in. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

Claims (13)

제품 추천 시스템에 의하여 수행되는 제품 추천 방법에 있어서,
데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계;
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및
상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계
를 포함하고,
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는,
FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출하고, 상기 사용자의 구매 내역 정보를 복수 번 스캔함에 따라 패턴을 탐색하고,
상기 사용자의 구매 내역 정보를 스캔함에 따라 트랜잭션이 포함하고 있는 아이템마다 서포트 값을 계산하고, 상기 계산된 서포트 값을 토대로 서프트 값이 최소 임계치(minsup) 이상인 아이템을 추출하고, 상기 트랜잭션에서 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성하고, 상기 서포트 값이 최소 임계치 이상인 아이템을 기 설정된 기준으로 정렬하여 테이블에 보관하고,
상기 사용자의 구매 내역 정보를 재스캔함에 따라 트랜잭션에 포함된 아이템 중 테이블에 보관되어 있는 아이템을 추출하고, 상기 추출된 아이템을 재정렬하여 트리에 삽입하고, 상기 추출된 아이템을 트랜잭션에 root부터 삽입하고, 상기 삽입을 하는 도중에 동일한 아이템이 추출될 경우 노드를 합치고, 노드에 저장하는 서프트 값을 증가시키는 과정을 완료함에 따라 트리 또는 서브 트리를 구축하고, 상기 트리 또는 상기 서브 트리를 계속적으로 생성하고, 서포트 값을 추출함에 따라 최소 임계치 이상의 패턴들을 추출하고,
1)상기 트리 또는 상기 서브 트리를 기준으로 상기 트리 또는 상기 서브 트리의 이전 트리에서 새로운 트리 또는 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 2)상기 선택된 아이템을 포함한 패턴의 서포트 값이 최소 임계값 이하일 때 상기 트리 또는 상기 서브 트리의 생성을 중지하는 단계
를 포함하고,
상기 분할 정복 기법은, 상기 테이블에서 바텀업 방식으로 상기 아이템을 prefix로 하고, 상기 아이템을 포함하는 트랜잭션의 다른 아이템들의 서포트 값을 계산하고, 상기 계산된 서포트 값이 상기 최소 임계치보다 크거나 같을 경우, 서브 트리가 생성되는
제품 추천 방법.
In the product recommendation method performed by the product recommendation system,
Determining purchase history information of the user based on the attributes of the data;
Generating an association rule according to the determined purchase history information of the user; And
Recommending a new product to the user through the result obtained based on the association rule.
Including,
Generating an association rule according to the determined purchase history information of the user,
Pattern is extracted by scanning the purchase history information of the user using the FP Growth algorithm, and the pattern is searched by scanning the purchase history information of the user a plurality of times,
As a result of scanning the purchase history information of the user, a support value is calculated for each item included in a transaction, and based on the calculated support value, an item having a support value equal to or greater than a minimum threshold (minsup) is extracted, and the item more than or equal to the transaction. Construct a Global FP Tree, select another item from the constructed tree using a partitioned conquer technique to generate at least one conditional FP tree, and the support value is above a minimum threshold Arrange the items in the table by preset criteria, and keep them in the table.
By rescanning the purchase history information of the user, the items stored in the table among the items included in the transaction are extracted, the extracted items are rearranged and inserted into the tree, and the extracted items are inserted into the transaction from the root. When the same item is extracted during the insertion, the nodes are combined, the tree or subtree is constructed as the value of the value stored in the node is increased, and the tree or the subtree is continuously generated. By extracting the support value, we extract patterns above the minimum threshold,
1) when it is impossible to create a new tree or a new subtree in the tree or the previous tree of the subtree based on the tree or the subtree; or 2) the support value of the pattern including the selected item is the minimum threshold value. Stopping generation of the tree or the subtree when
Including,
The partitioning conquering technique prefixes the item in the table in a bottom-up manner, calculates support values of other items in the transaction including the item, and when the calculated support value is greater than or equal to the minimum threshold. , The subtree is created
How to recommend a product.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계는,
상기 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 상기 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인하는 단계
를 포함하는 제품 추천 방법.
The method of claim 1,
Determining the purchase history information of the user based on the attribute of the data,
Performing a preprocessing process of converting the data into binary code, and confirming purchase history information of the user based on the attribute of the data converted into binary code as the preprocessing process is performed;
Product recommendation method comprising a.
제품 추천 시스템에 의하여 수행되는 제품 추천 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램에 있어서,
데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계;
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및
상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계
를 포함하고,
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는,
FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출하고, 상기 사용자의 구매 내역 정보를 복수 번 스캔함에 따라 패턴을 탐색하고,
상기 사용자의 구매 내역 정보를 스캔함에 따라 트랜잭션이 포함하고 있는 아이템마다 서포트 값을 계산하고, 상기 계산된 서포트 값을 토대로 서프트 값이 최소 임계치(minsup) 이상인 아이템을 추출하고, 상기 트랜잭션에서 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성하고, 상기 서포트 값이 최소 임계치 이상인 아이템을 기 설정된 기준으로 정렬하여 테이블에 보관하고,
상기 사용자의 구매 내역 정보를 재스캔함에 따라 트랜잭션에 포함된 아이템 중 테이블에 보관되어 있는 아이템을 추출하고, 상기 추출된 아이템을 재정렬하여 트리에 삽입하고, 상기 추출된 아이템을 트랜잭션에 root부터 삽입하고, 상기 삽입을 하는 도중에 동일한 아이템이 추출될 경우 노드를 합치고, 노드에 저장하는 서프트 값을 증가시키는 과정을 완료함에 따라 트리 또는 서브 트리를 구축하고, 상기 트리 또는 상기 서브 트리를 계속적으로 생성하고, 서포트 값을 추출함에 따라 최소 임계치 이상의 패턴들을 추출하고,
1)상기 트리 또는 상기 서브 트리를 기준으로 상기 트리 또는 상기 서브 트리의 이전 트리에서 새로운 트리 또는 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 2)상기 선택된 아이템을 포함한 패턴의 서포트 값이 최소 임계값 이하일 때 상기 트리 또는 상기 서브 트리의 생성을 중지하는 단계
를 포함하고,
상기 분할 정복 기법은, 상기 테이블에서 바텀업 방식으로 상기 아이템을 prefix로 하고, 상기 아이템을 포함하는 트랜잭션의 다른 아이템들의 서포트 값을 계산하고, 상기 계산된 서포트 값이 상기 최소 임계치보다 크거나 같을 경우, 서브 트리가 생성되는
컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer readable recording medium for executing a product recommendation method performed by a product recommendation system,
Determining purchase history information of the user based on the attributes of the data;
Generating an association rule according to the determined purchase history information of the user; And
Recommending a new product to the user through the result obtained based on the association rule.
Including,
Generating an association rule according to the determined purchase history information of the user,
Pattern is extracted by scanning the purchase history information of the user using the FP Growth algorithm, and the pattern is searched by scanning the purchase history information of the user a plurality of times,
As a result of scanning the purchase history information of the user, a support value is calculated for each item included in a transaction, and based on the calculated support value, an item having a support value equal to or greater than a minimum threshold (minsup) is extracted, and the item more than or equal to the transaction. Construct a Global FP Tree, select another item from the constructed tree using a partitioned conquer technique to generate at least one conditional FP tree, and the support value is above a minimum threshold Arrange the items in the table by preset criteria, and keep them in the table.
By rescanning the purchase history information of the user, the items stored in the table among the items included in the transaction are extracted, the extracted items are rearranged and inserted into the tree, and the extracted items are inserted into the transaction from the root. When the same item is extracted during the insertion, the nodes are combined, the tree or subtree is constructed as the value of the value stored in the node is increased, and the tree or the subtree is continuously generated. By extracting the support value, we extract patterns above the minimum threshold,
1) when it is impossible to create a new tree or a new subtree in the tree or the previous tree of the subtree based on the tree or the subtree; or 2) the support value of the pattern including the selected item is the minimum threshold value. Stopping generation of the tree or the subtree when
Including,
The partitioning conquering technique prefixes the item in the table in a bottom-up manner, calculates support values of other items in the transaction including the item, and when the calculated support value is greater than or equal to the minimum threshold. , The subtree is created
A computer program stored on a computer readable recording medium.
제품 추천 시스템에 있어서,
데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 판단부;
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 생성부; 및
상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 추천부
를 포함하고,
상기 생성부는,
FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출하고, 상기 사용자의 구매 내역 정보를 복수 번 스캔함에 따라 패턴을 탐색하고,
상기 사용자의 구매 내역 정보를 스캔함에 따라 트랜잭션이 포함하고 있는 아이템마다 서포트 값을 계산하고, 상기 계산된 서포트 값을 토대로 서프트 값이 최소 임계치(minsup) 이상인 아이템을 추출하고, 상기 트랜잭션에서 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성하고, 상기 서포트 값이 최소 임계치 이상인 아이템을 기 설정된 기준으로 정렬하여 테이블에 보관하고,
상기 사용자의 구매 내역 정보를 재스캔함에 따라 트랜잭션에 포함된 아이템 중 테이블에 보관되어 있는 아이템을 추출하고, 상기 추출된 아이템을 재정렬하여 트리에 삽입하고, 상기 추출된 아이템을 트랜잭션에 root부터 삽입하고, 상기 삽입을 하는 도중에 동일한 아이템이 추출될 경우 노드를 합치고, 노드에 저장하는 서프트 값을 증가시키는 과정을 완료함에 따라 트리 또는 서브 트리를 구축하고, 상기 트리 또는 상기 서브 트리를 계속적으로 생성하고, 서포트 값을 추출함에 따라 최소 임계치 이상의 패턴들을 추출하고,
1)상기 트리 또는 상기 서브 트리를 기준으로 상기 트리 또는 상기 서브 트리의 이전 트리에서 새로운 트리 또는 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 2)상기 선택된 아이템을 포함한 패턴의 서포트 값이 최소 임계값 이하일 때 상기 트리 또는 상기 서브 트리의 생성을 중지하는 것을 포함하고,
상기 분할 정복 기법은, 상기 테이블에서 바텀업 방식으로 상기 아이템을 prefix로 하고, 상기 아이템을 포함하는 트랜잭션의 다른 아이템들의 서포트 값을 계산하고, 상기 계산된 서포트 값이 상기 최소 임계치보다 크거나 같을 경우, 서브 트리가 생성되는
제품 추천 시스템.
In the product recommendation system,
A determination unit to determine purchase history information of the user based on the attributes of the data;
A generation unit generating an association rule according to the determined purchase history information of the user; And
Recommendation unit for recommending new products to the user through the results obtained based on the association rules
Including,
The generation unit,
Pattern is extracted by scanning the purchase history information of the user using the FP Growth algorithm, and the pattern is searched by scanning the purchase history information of the user a plurality of times,
As a result of scanning the purchase history information of the user, a support value is calculated for each item included in a transaction, and based on the calculated support value, an item having a support value equal to or greater than a minimum threshold (minsup) is extracted, and the item more than or equal to the transaction. Construct a Global FP Tree, select another item from the constructed tree using a partitioned conquer technique to generate at least one conditional FP tree, and the support value is above a minimum threshold Arrange the items in the table by preset criteria, and keep them in the table.
By rescanning the purchase history information of the user, the items stored in the table among the items included in the transaction are extracted, the extracted items are rearranged and inserted into the tree, and the extracted items are inserted into the transaction from the root. When the same item is extracted during the insertion, the nodes are combined, the tree or subtree is constructed as the value of the value stored in the node is increased, and the tree or the subtree is continuously generated. By extracting the support value, we extract patterns above the minimum threshold,
1) when it is impossible to create a new tree or a new subtree in the tree or the previous tree of the subtree based on the tree or the subtree; or 2) the support value of the pattern including the selected item is the minimum threshold value. Stopping generation of the tree or the subtree when
The partitioning conquering technique prefixes the item in the table in a bottom-up manner, calculates support values of other items in the transaction including the item, and when the calculated support value is greater than or equal to the minimum threshold. , The subtree is created
Product recommendation system.
삭제delete 삭제delete 삭제delete 삭제delete 제8항에 있어서,
상기 판단부는,
상기 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 상기 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인하는
것을 특징으로 하는 제품 추천 시스템.
The method of claim 8,
The determination unit,
Performing a preprocessing process of converting the data into a binary code, and confirming the purchase history information of the user based on the attribute of the data converted into the binary code as the preprocessing process is performed;
Product recommendation system, characterized in that.
KR1020180026213A 2018-03-06 2018-03-06 Product recommendation method using fp growth KR102023275B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180026213A KR102023275B1 (en) 2018-03-06 2018-03-06 Product recommendation method using fp growth

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180026213A KR102023275B1 (en) 2018-03-06 2018-03-06 Product recommendation method using fp growth

Publications (2)

Publication Number Publication Date
KR20190105746A KR20190105746A (en) 2019-09-18
KR102023275B1 true KR102023275B1 (en) 2019-09-19

Family

ID=68067762

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180026213A KR102023275B1 (en) 2018-03-06 2018-03-06 Product recommendation method using fp growth

Country Status (1)

Country Link
KR (1) KR102023275B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116862625B (en) * 2023-09-05 2023-11-21 武汉森全科技有限公司 Online recommendation method for fresh fruits based on Internet big data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102146987B1 (en) * 2013-09-03 2020-08-24 에스케이플래닛 주식회사 System and method for products recommendation service, and apparatus applied to the same
KR102251285B1 (en) * 2014-08-27 2021-05-14 주식회사 케이티 System and server reflecting user real-time preference

Also Published As

Publication number Publication date
KR20190105746A (en) 2019-09-18

Similar Documents

Publication Publication Date Title
Marisa et al. Segmentation model of customer lifetime value in small and medium enterprise (SMEs) using K-means clustering and LRFM model
Lackermair et al. Importance of online product reviews from a consumer’s perspective
US10430727B1 (en) Systems and methods for privacy-preserving generation of models for estimating consumer behavior
JP6158623B2 (en) Database analysis apparatus and method
CN110728015A (en) Cognitive automation and interactive personalized fashion design
US20160004757A1 (en) Data management method, data management device and storage medium
US11120073B2 (en) Generating metadata for image-based querying
WO2018059298A1 (en) Pattern mining method, high-utility item-set mining method and relevant device
Fabra et al. Log-based session profiling and online behavioral prediction in E–Commerce websites
KR20190103688A (en) Customer classification method and system using frm and k-means algorithm
KR102023275B1 (en) Product recommendation method using fp growth
JP6662637B2 (en) Information processing system, information processing method and recording medium for storing program
Anusha et al. Segmentation of retail mobile market using HMS algorithm
Qian et al. Parallel time series modeling-a case study of in-database big data analytics
US20190213613A1 (en) Segmenting market data
Chan et al. Interactive Audience Expansion On Large Scale Online Visitor Data
Dalla Vecchia et al. Mining Totally Ordered Sequential Rules to Provide Timely Recommendations
US9529833B2 (en) Graph pruning in hipergraph
Soni et al. An fp-growth approach to mining association rules
Maingi A Survey on the Clustering Algorithms in Sales Data Mining
JPWO2011016281A1 (en) Information processing apparatus and program for Bayesian network structure learning
Idowu et al. Customer Segmentation Based on RFM Model Using K-Means, Hierarchical and Fuzzy C-Means Clustering Algorithms
JP7457738B2 (en) Information processing device, information processing method, and information processing program
Hindolia et al. Hermeneutic Approach In Understanding The Role Of Artificial Intelligence: Fashion & Apparel Industry/Luxury Brand Retailing
JP7224392B2 (en) Information processing device, information processing method and program

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant