KR20190105746A - FP Growth를 이용한 제품 추천 방법 및 시스템 - Google Patents
FP Growth를 이용한 제품 추천 방법 및 시스템 Download PDFInfo
- Publication number
- KR20190105746A KR20190105746A KR1020180026213A KR20180026213A KR20190105746A KR 20190105746 A KR20190105746 A KR 20190105746A KR 1020180026213 A KR1020180026213 A KR 1020180026213A KR 20180026213 A KR20180026213 A KR 20180026213A KR 20190105746 A KR20190105746 A KR 20190105746A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- purchase history
- history information
- product recommendation
- recommendation system
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0254—Targeted advertisements based on statistics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (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를 이용한 제품 추천 방법 및 시스템이 개시된다. 일 실시예에 따른 제품 추천 시스템에 의하여 수행되는 제품 추천 방법은, 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계; 상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및 상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계를 포함할 수 있다.
Description
아래의 설명은 제품을 추천하는 기술에 관한 것이다.
현대 사회는 하드웨어와 인터넷의 발달로 인하여 유비쿼터스 컴퓨팅에서 IoT로 진화되고, 개인 소유의 스마트폰을 보유하는 시대가 되었다. 이로 인하여 소비패턴 또한 과거와 달리 오프라인구매보다는 온라인 구매를 선호하는 시대가 되어가고 있다. 실제 한 백화점의 경우 20대와 30대의 경우 오프라인보다 온라인에서 물건을 구매하는 사람이 월등하게 증가하였으며, 이는 구입할 물건의 사양, 사용기나 가격 등의 정보를 먼저 찾아보고 최적의 경로를 통해 최적가로 합리적으로 구매하려는 소비자의 특성으로 인하여 점차 증가되는 추세이다. 온라인 쇼핑몰을 이용하여 소비자가 제품을 구매할 경우 구매 기록이 남게 된다.
한편, 실제 과거부터 마케팅에서 고객의 데이터를 수집한 후 이를 분석하여 실제 고객을 관리하는데 많이 사용하였으며, 대표적으로 CRM(Customer Relationship Management)을 이용하여 많은 기업들은 고객과 관련된 데이터를 분석 및 통합해 고객 개개인의 특성에 맞게 마케팅을 하는데 적용되었다. 최근 머신러닝 및 딥러닝이 사람들로부터 각광을 받으면서 마케팅 분야에도 기존에 사람이 하던 일의 일부분을 머신러닝이나 딥러닝을 적용하여 기계가 자동으로 일을 처리하고 있다. 기업에서는 수익을 창출하기 위해 신규 고객을 모으고, 기존고객의 이탈을 방지하며, 고객들이 필요로 하는 것을 제시하여야 한다.
데이터 마이닝을 이용하여 마케팅을 하는 대표적인 사례로 고객세분화 기호도 분석에 따른 타겟 마케팅이 있고, 수요예측을 통한 제품서비스 공급 준비가 있으며, 구매행동 데이터분석을 통한 마케팅 유통 계획안 개선 등이 있다. 고객들이 온라인 쇼핑몰을 통해 물건을 구매하는 경우 수많은 제품 중 원하는 제품을 찾기가 어려운 경우가 다수 발생한다. 또한 기업 입장에서는 분석을 통해 고객이 필요로 한 제품을 추천하여 더 많은 제품을 판매하여 수익을 창출해야 한다.
따라서 이러한 문제점을 해결하기 위해 축적된 고객들의 데이터에 기반하여 고객들의 구매내역을 분석하여 각 고객이 원하는 제품을 추천하는 추천 서비스를 제공할 필요가 있다.
FP Growth 를 이용하여 고객의 구매 내역을 분석하여 고객에게 제품을 추천하는 방법 및 시스템을 제공할 수 있다.
제품 추천 시스템에 의하여 수행되는 제품 추천 방법은, 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계; 상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및 상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계를 포함할 수 있다.
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는, FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출하는 단계를 포함할 수 있다.
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는, 상기 사용자의 구매 내역 정보를 2번 스캔함에 따라 패턴을 탐색하는 단계를 포함할 수 있다.
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는, 상기 구매 내역 정보를 스캔함에 따라 트랜잭션에서 minsup 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성하는 단계를 포함할 수 있다.
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는, 상기 서브 트리를 기준으로 상기 서브 트리의 이전 트리에서 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 상기 선택된 아이템을 포함한 패턴의 서포트(support)가 minsup 이하일 때 상기 서브 트리의 생성을 중지하는 단계를 포함할 수 있다.
상기 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계는, 상기 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 상기 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인하는 단계를 포함할 수 있다.
제품 추천 시스템에 의하여 수행되는 제품 추천 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램은, 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계; 상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및 상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계를 포함할 수 있다.
제품 추천 시스템은, 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 판단부; 상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 생성부; 및 상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 추천부를 포함할 수 있다.
상기 생성부는, FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출할 수 있다.
상기 생성부는, 상기 사용자의 구매 내역 정보를 2번 스캔함에 따라 패턴을 탐색할 수 있다.
상기 생성부는, 상기 구매 내역 정보를 스캔함에 따라 트랜잭션에서 minsup 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성할 수 있다.
상기 생성부는, 상기 서브 트리를 기준으로 상기 서브 트리의 이전 트리에서 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 상기 선택된 아이템을 포함한 패턴의 서포트(support)가 minsup 이하일 때 상기 서브 트리의 생성을 중지할 수 있다.
상기 판단부는, 상기 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 상기 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인할 수 있다.
일 실시예에 따른 제품 추천 시스템은 FP Growth를 적용하여 획득된 결과를 통해 고객 각각의 구매 내역을 확인하고 고객의 구매력이 높은 제품을 추천하는 서비스를 제공할 수 있다.
일 실시예에 따른 제품 추천 시스템은 빠른 속도로 분석이 가능하고, 연산량을 감소시킬 수 있다.
도 1은 일 실시예에 따른 제품 추천 시스템의 구성을 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 제품 추천 시스템의 제품 추천 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 제품 추천 시스템의 사용자의 구매 내역에 대한 트랜잭션을 나타낸 예이다.
도 4는 일 실시예에 따른 제품 추천 시스템에서 트리를 생성하는 과정을 나타낸 것이다.
도 5는 일 실시예에 따른 제품 추천 시스템에서 사용자의 구매 내역을 나타낸 예이다.
도 6은 일 실시예에 따른 제품 추천 시스템에서 전처리 과정을 수행하는 것을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 제품 추천 시스템에서 전처리 과정이 수행된 데이터 셋을 나타낸 도면이다.
도 8은 일 실시예에 따른 제품 추천 시스템에서 FP Growth 알고리즘을 적용한 제품 추천 목록을 나타낸 예이다.
도 9는 일 실시예에 따른 제품 추천 시스템에서 제품을 추천한 예이다.
도 2는 일 실시예에 따른 제품 추천 시스템의 제품 추천 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 제품 추천 시스템의 사용자의 구매 내역에 대한 트랜잭션을 나타낸 예이다.
도 4는 일 실시예에 따른 제품 추천 시스템에서 트리를 생성하는 과정을 나타낸 것이다.
도 5는 일 실시예에 따른 제품 추천 시스템에서 사용자의 구매 내역을 나타낸 예이다.
도 6은 일 실시예에 따른 제품 추천 시스템에서 전처리 과정을 수행하는 것을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 제품 추천 시스템에서 전처리 과정이 수행된 데이터 셋을 나타낸 도면이다.
도 8은 일 실시예에 따른 제품 추천 시스템에서 FP Growth 알고리즘을 적용한 제품 추천 목록을 나타낸 예이다.
도 9는 일 실시예에 따른 제품 추천 시스템에서 제품을 추천한 예이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른 제품 추천 시스템의 구성을 설명하기 위한 블록도이고, 도 2는 일 실시예에 따른 제품 추천 시스템의 제품 추천 방법을 설명하기 위한 흐름도이다.
제품 추천 시스템(100)은 판단부(110), 생성부(120) 및 추천부(130)를 포함할 수 있다. 이러한 구성요소들은 제품 추천 시스템(100)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 구성요소들은 도 2의 제품 추천 방법이 포함하는 단계들(210 내지 230)을 수행하도록 제품 추천 시스템(100)을 제어할 수 있다. 이때, 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 제품 추천 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 제품 추천 시스템(100)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 제품 추천 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 판단부(110), 생성부(120) 및 추천부(130) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(210 내지 230)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
단계(210)에서 판단부(110)는 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단할 수 있다. 판단부(110)는 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인할 수 있다.
단계(220)에서 생성부(120)는 판단된 사용자의 구매 내역에 따라 연관규칙을 생성할 수 있다. 생성부(120)는 FP Growth 알고리즘을 사용하여 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출할 수 있다. 생성부(120)는 사용자의 구매 내역 정보를 2번 스캔함에 따라 패턴을 탐색할 수 있다. 생성부(120)는 구매 내역 정보를 스캔함에 따라 트랜잭션에서 minsup 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성할 수 있다. 생성부(120)는 서브 트리를 기준으로 서브 트리의 이전 트리에서 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 선택된 아이템을 포함한 패턴의 서포트(support)가 minsup 이하일 때 서브 트리의 생성을 중지할 수 있다.
단계(230)에서 추천부(130)는 연관규칙에 기반하여 획득된 결과를 통하여 사용자에게 새로운 제품을 추천할 수 있다.
도 3은 일 실시예에 따른 제품 추천 시스템의 사용자의 구매 내역에 대한 트랜잭션을 나타낸 예이다.
FP Growth(Frequent Patterns Growth)는 Apriori 알고리즘을 개선한 알고리즘으로 데이터가 가진 패턴이 얼마나 많이 발생하는지를 분석하는 패턴 마이닝에 쓰이는 기법 중 하나이다. 실시예에서는, FP Growth(Frequent Patterns Growth)를 이용하여 제품을 추천하는 방법을 설명하기로 한다. 여기서, 사용자(예를 들면, 고객)의 구매 내역을 표현할 수 있는 제품의 수를 k라고 할 때, 공집합을 제외한 부분집합의 개수를 2k-1 개, 연관규칙의 개수를 3k-2k+1+1개이다. 예를 들면, 제품이 10개라고 하였을 때, 부분집합의 개수는 1023개, 연관규칙의 개수는 57002개이다. 제품의 수가 많아질수록 연관규칙의 경우의 수도 기하급수적으로 증가하게 된다.
제품 추천 시스템은 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단할 수 있다. 제품 추천 시스템은 연관규칙 생성 알고리즘을 이용하게 된다. 제품 추천 시스템은 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성할 수 있다. 종래의 부분집합인 지지도 계산량을 감소시키기 위한 다양한 방법이 존재하였다. Apiori 알고리즘은 모든 가능한 항목집합의 개수를 줄이는 방법을 사용하고, DHP 알고리즘의 경우 트랜잭션 개수를 줄이는 방법을 사용하며, FP Growth 알고리즘은 비교하는 수를 줄이는 방법을 사용한다. Apriori와 동일한 결과를 보여주지만 Apriori에 비해 실행시간을 급격하게 감소시킨 알고리즘으로 FP Growth 알고리즘을 주로 이용한다. 본 발명의 제품 추천 시스템은 이러한 FP Growth 알고리즘을 이용하여 제품을 추천할 수 있다. Apriori 알고리즘은 패턴을 찾기 위해 할당된 트랜잭션의 아이템 수개의 스캔을 해야 하는 반면, FP Growth 알고리즘을 이용할 경우, 2번의 스캔만 수행하면 된다. 이로 인하여, FP Growth 알고리즘을 이용할 경우 실행 시간을 감소시킬 수 있으며, 패턴 후보인 candidate를 생성하지 않는다는 특징이 있다. 다시 말해서, 제품 추천 시스템은 FP Growth 알고리즘을 통하여 candidate를 생성하지 않는 대신 트리와 노드 링크라는 특별한 자료 구조를 사용한다.
제품 추천 시스템은 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성할 수 있다. 제품 추천 시스템은 사용자의 구매 내역에 대하여 첫 번째 스캔을 수행할 수 있다. 이때, 사용자의 구매 내역은 트랜잭션 데이터를 의미할 수 있다. 제품 추천 시스템은 사용자의 구매 내역을 스캔함에 따라 트랜잭션이 포함하고 있는 아이템마다 서포트(반발도, support)를 계산할 수 있다. 제품 추천 시스템은 계산된 서포트를 토대로 서포트가 최소 임계치(minsup)이상인 아이템을 추출할 수 있다. 제품 추천 시스템은 트랜잭션에서 minsup이상의 아이템들로 Global FP Tree를 생성하고, 생성된 트리에서 분할 정복 기법을 사용하여 또 하나의 아이템을 선택해서 새로운 서브 트리인 Conditional FP Tree를 생성할 수 있다. 이와 같이, 아이템의 길이를 하나씩 늘려가면서 서브 트리를 복수 개를 생성할 수 있다. 이때, 트리 또는 서브 트리의 이전 트리에서 더 이상 서브 트리를 구축할 수 있을 때, 또는, 선택한 아이템을 포함하는 패턴의 서포트 값이 minsup보다 작을 경우에 트리 및 서브 트리의 생성을 중지할 수 있다.
구체적으로, 제품 추천 시스템은 서포트가 minsup이상인 아이템을 추출함에 따라 추출된 아이템을 기 설정된 기준(예를 들면, 내림차순, 올림차순 등)으로 정렬하여 테이블에 보관할 수 있다. 제품 추천 시스템은 사용자의 구매 내역을 두 번째 스캔(재스캔)할 수 있다. 제품 추천 시스템은 사용자의 구매 내역을 다시 한번 스캔함으로써 트랜잭션에 포함된 아이템 중 테이블에 보관되어 있는 아이템을 추출할 수 있고, 추출된 아이템을 재정렬하여 트리에 삽입할 수 있다. 제품 추천 시스템은 트랜잭션마다 root부터 삽입을 할 수 있으며, 새로운 아이템이 나타나면 head of node-links라는 포인터가 그 아이템 노드를 가리키도록 한다. 그리고, 삽입을 하는 도중 동일한 아이템이 나올 경우 노드를 합치고, 노드에 저장하는 서포트 값을 증가시킬 수 있다. 예를 들면, 서포트 값을 기 설정된 크기(예를 들면, 1)만큼 증가시킬 수 있다. 노드 링크는 새로운 노드가 생길 때마다 이전 아이템 링크에서 계속 연결시킬 수 있다. 이러한 과정을 완료함에 따라 트리를 구축할 수 있다. 이때, 구축된 트리를 Global Tree라고 한다. 제품 추천 시스템은 한번에 해결하기 어려운 문제를 작은 단위의 부문제로 분할하여 해결하는 분할 정복 기법으로 테이블에서 바텀업 방식으로 아이템을 하나씩 prefix로 하고, 아이템을 포함하는 트랜잭션의 다른 아이템들의 서포트 값을 계산하고, minsup(최소 임게치)보다 크거나 같을 경우, 서브 트리를 생성할 수 있다. 이때, 서브 트리를 conditional Tree라고 한다. 이러한 방식으로 트리 및 서브 트리를 계속적으로 생성하고, 서포트 값을 산출하면서 패턴이 minsup 이상의 패턴들이 도출될 수 있다. 제품 추천 시스템은 minsup 이상의 패턴을 추출할 수 있다. 예를 들면, 제품 추천 시스템의 사용자의 구매 성향을 추출할 수 있다.
도 4는 일 실시예에 따른 제품 추천 시스템에서 트리를 생성하는 과정을 나타낸 것이다. 도 4를 참고하면, 사용자별 구매 내역으로 생성된 FP Tree를 나타낸 것으로, 사용자(식별 정보, ID)는 5명이고, 사용자의 구매 내역에서의 아이템의 수는 6인 것을 도식화 하였다. 사용자의 구매 내역의 트랜잭션을 오름차순 또는 내림차순으로 정렬하여 차례로 트리에 삽입할 수 있다. 제품 추천 시스템은 연관규칙에 기반하여 획득된 결과를 통하여 고객에게 새로운 제품을 추천할 수 있다.
도 5를 참고하면, 사용자의 구매 내역을 나타낸 것이다. 일례로, 제품 추천 시스템은 분석할 원본 데이터에서 아이디별 구매 아이템을 출력할 수 있다. 제품 추천 시스템은 연관 규칙 알고리즘을 적용하기 위하여 데이터를 바이너리 코드 형태로 변형하는 전처리 과정을 수행할 수 있다. 제품 추천 시스템은 데이터에 대한 전처리 과정을 완료함에 따라 도 7과 같은 형태의 데이터를 획득할 수 있다. 도 6을 참고하면, 데이터 셋의 속성을 뜻하며, 사용자가 제품을 구매한 이력이 있는지 여부에 대하여 t/f로 나타낸다. 예를 들면, t는 제품을 구매한 이력이 있을 경우, f는 제품을 구매한 이력이 없을 경우를 의미할 수 있다. 도 7을 참고하면, 중괄호 안에 숫자들이 포함되어 있는데 이것은 데이터에 해당하는 속성, 즉 제품을 뜻하는 것으로 0번부터 시작하게 된다. 그리고 각 중괄호는 각각의 한 사람의 제품에 대한 구매 내역을 의미한다. 만약 0번째 속성에 해당하는 제품을 구매한 이력이 있으면 t로 표현하며, 구매하지 않은 제품에 대해서는 따로 표기를 하지 않고 생략할 수 있다.
제품 추천 시스템은 예를 들면, lowerBoundMinSupport값을 0.001로 설정하고, minMetric의 값을 0.5로 설정한 후 해당 데이터에 FP Growth 알고리즘을 적용할 수 있다. 이때, lowerBoundMinSupport란 앞에서 말한 minsup에 해당하며 {전체 트랜잭션 * 0.001}에 해당하는 값을 minsup로 설정한다는 뜻이고, minMetric은 추천에 대한 신뢰도의 최소 임계치로 신뢰도가 0.5이상인 값만 출력한다는 것을 의미한다.
도 8은 일 실시예에 따른 제품 추천 시스템에서 FP Growth 알고리즘을 적용한 제품 추천 목록을 나타낸 예이다. purchaseProduct는 구매한 제품, purchaseQuantity는 상기 제품을 구매한 사람의 숫자를 의미한다. recommendProduct는 purchaseProduct를 구매한 사람이 구매한 제품, 다시 말해서, 이는 추천 제품이 된다. 그리고 recommentQuantity는 purchaseProduct와 recommendProduct를 구매한 사람의 수를 뜻한다. Confidence는 recommendQuantity/purchaseQuantity의 연산식을 가지며 제품 추천에 대한 신뢰도이다. 제품 추천 시스템은 결과 빠른 속도로 분석이 가능하였으며, 몇몇의 제품을 구매한 경우 특정 제품을 자주 구매하는 것을 알 수 있었고, 이와 같이 획득된 결과를 통해 해당 제품을 구매한 사용자에게 특정 제품을 추천할 수 있다. 도 9는 일 실시예에 따른 제품 추천 시스템에서 제품을 추천한 예이다. 9(a)는 구매한 제품인 제품 BGMP310이고, 9(b)는 BGSP321 여성 흰색 바지를 나타낸 것이다. 예를 들면, 제품 BGMP310은 여성 검정 바지이고, BGSB435는 여성 모더니티 블라우스 상품이며, 이러한 두 제품을 구매한 경우 BGMP310과 유사한 스타일의 흰색 바지를 추천할 수 있다.
일 실시예에 따른 제품 추천 시스템은 기존의 방법이 트랜잭션도 많이 읽어야 하고, 연산량이 많이 필요하였던 문제점을 FP Growth 알고리즘을 사용하여 해결할 수 있다. 다시 말해서, 제품 추천 시스템은 2번의 스캔만으로 결과를 획득할 수 있으며, 연산량도 적어도 분석 속도가 빠르다. 제품 추천 시스템은 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)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (13)
- 제품 추천 시스템에 의하여 수행되는 제품 추천 방법에 있어서,
데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계;
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및
상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계
를 포함하는 제품 추천 방법. - 제1항에 있어서,
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는,
FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출하는 단계
를 포함하는 제품 추천 방법. - 제2항에 있어서,
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는,
상기 사용자의 구매 내역 정보를 2번 스캔함에 따라 패턴을 탐색하는 단계
를 포함하는 제품 추천 방법. - 제3항에 있어서,
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는,
상기 구매 내역 정보를 스캔함에 따라 트랜잭션에서 minsup 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성하는 단계
를 포함하는 제품 추천 방법. - 제4항에 있어서,
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계는,
상기 서브 트리를 기준으로 상기 서브 트리의 이전 트리에서 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 상기 선택된 아이템을 포함한 패턴의 서포트(support)가 minsup 이하일 때 상기 서브 트리의 생성을 중지하는 단계
를 포함하는 제품 추천 방법. - 제1항에 있어서,
상기 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계는,
상기 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 상기 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인하는 단계
를 포함하는 제품 추천 방법. - 제품 추천 시스템에 의하여 수행되는 제품 추천 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램에 있어서,
데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 단계;
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 단계; 및
상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 단계
를 포함하는 제품 추천 방법. - 제품 추천 시스템에 있어서,
데이터의 속성에 기초하여 사용자의 구매 내역 정보를 판단하는 판단부;
상기 판단된 사용자의 구매 내역 정보에 따라 연관규칙을 생성하는 생성부; 및
상기 연관규칙에 기반하여 획득된 결과를 통하여 상기 사용자에게 새로운 제품을 추천하는 추천부
를 포함하는 제품 추천 시스템. - 제8항에 있어서,
상기 생성부는,
FP Growth 알고리즘을 사용하여 상기 사용자의 구매 내역 정보를 스캔함에 따라 패턴을 추출하는
것을 특징으로 하는 제품 추천 시스템. - 제9항에 있어서,
상기 생성부는,
상기 사용자의 구매 내역 정보를 2번 스캔함에 따라 패턴을 탐색하는
것을 특징으로 하는 제품 추천 시스템. - 제10항에 있어서,
상기 생성부는,
상기 구매 내역 정보를 스캔함에 따라 트랜잭션에서 minsup 이상의 아이템들로 트리(Global FP Tree)를 구축하고, 상기 구축된 트리에서 분할 정복 기법을 사용하여 또 다른 아이템을 선택하여 적어도 하나 이상의 서브 트리(Conditional FP Tree)를 생성하는
것을 특징으로 하는 제품 추천 시스템. - 제11항에 있어서,
상기 생성부는,
상기 서브 트리를 기준으로 상기 서브 트리의 이전 트리에서 새로운 서브 트리의 생성이 불가능한 상태일 때 또는 상기 선택된 아이템을 포함한 패턴의 서포트(support)가 minsup 이하일 때 상기 서브 트리의 생성을 중지하는
것을 특징으로 하는 제품 추천 시스템. - 제9항에 있어서,
상기 판단부는,
상기 데이터를 바이너리 코드로 변환하는 전처리 과정을 수행하고, 상기 전처리 과정이 수행됨에 따라 바이너리 코드로 변환된 데이터의 속성에 기초하여 사용자의 구매 내역 정보를 확인하는
것을 특징으로 하는 제품 추천 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180026213A KR102023275B1 (ko) | 2018-03-06 | 2018-03-06 | FP Growth를 이용한 제품 추천 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180026213A KR102023275B1 (ko) | 2018-03-06 | 2018-03-06 | FP Growth를 이용한 제품 추천 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190105746A true KR20190105746A (ko) | 2019-09-18 |
KR102023275B1 KR102023275B1 (ko) | 2019-09-19 |
Family
ID=68067762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180026213A KR102023275B1 (ko) | 2018-03-06 | 2018-03-06 | FP Growth를 이용한 제품 추천 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102023275B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116862625A (zh) * | 2023-09-05 | 2023-10-10 | 武汉森全科技有限公司 | 基于互联网大数据的生鲜水果线上推荐方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150027442A (ko) * | 2013-09-03 | 2015-03-12 | 에스케이플래닛 주식회사 | 상품 추천 서비스 시스템 및 그 방법, 그리고 이에 적용되는 장치 |
KR20160027263A (ko) * | 2014-08-27 | 2016-03-10 | 주식회사 케이티 | 사용자의 실시간 선호도를 반영한 추천 시스템 및 서버 |
-
2018
- 2018-03-06 KR KR1020180026213A patent/KR102023275B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150027442A (ko) * | 2013-09-03 | 2015-03-12 | 에스케이플래닛 주식회사 | 상품 추천 서비스 시스템 및 그 방법, 그리고 이에 적용되는 장치 |
KR20160027263A (ko) * | 2014-08-27 | 2016-03-10 | 주식회사 케이티 | 사용자의 실시간 선호도를 반영한 추천 시스템 및 서버 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116862625A (zh) * | 2023-09-05 | 2023-10-10 | 武汉森全科技有限公司 | 基于互联网大数据的生鲜水果线上推荐方法 |
CN116862625B (zh) * | 2023-09-05 | 2023-11-21 | 武汉森全科技有限公司 | 基于互联网大数据的生鲜水果线上推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102023275B1 (ko) | 2019-09-19 |
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 | |
US11436056B2 (en) | Allocation of shared computing resources using source code feature extraction and clustering-based training of machine learning models | |
US10430727B1 (en) | Systems and methods for privacy-preserving generation of models for estimating consumer behavior | |
CN110728015A (zh) | 认知自动化和交互式个性化时尚设计 | |
JP6028103B2 (ja) | データ管理方法、データ管理装置及び記憶媒体 | |
JP6158623B2 (ja) | データベース分析装置及び方法 | |
US9928530B2 (en) | Digitization of a catalog of retail products | |
KR102049166B1 (ko) | RFM 기법과 K-Means 알고리즘을 이용한 고객 분류 방법 및 시스템 | |
CN113570437A (zh) | 一种产品推荐方法和装置 | |
Verdenhofs et al. | Evolution of customer segmentation in the era of big data | |
Fabra et al. | Log-based session profiling and online behavioral prediction in E–Commerce websites | |
KR102023275B1 (ko) | FP Growth를 이용한 제품 추천 방법 및 시스템 | |
JP5945206B2 (ja) | 商品推薦装置及び方法及びプログラム | |
Bhargavi et al. | Comparative study of consumer purchasing and decision pattern analysis using pincer search based data mining method | |
Chan et al. | Interactive audience expansion on large scale online visitor data | |
KR102290213B1 (ko) | 카드 이용 정보를 이용하여 고객 프로파일을 생성하기 위한 방법 및 고객 프로파일을 생성하기 위한 장치 | |
US9529833B2 (en) | Graph pruning in hipergraph | |
Dalla Vecchia et al. | Mining totally ordered sequential rules to provide timely recommendations | |
Idowu et al. | Customer Segmentation Based on RFM Model Using K-Means, Hierarchical and Fuzzy C-Means Clustering Algorithms | |
Hindolia et al. | Hermeneutic approach in understanding the role of artificial intelligence: Fashion & apparel industry/luxury brand retailing | |
JP7457738B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
CN112989020A (zh) | 信息处理方法、装置和计算机可读存储介质 | |
Monte et al. | Clustering for decision support in the fashion industry: A case study | |
JP7224392B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US11120313B2 (en) | Generating search determinations for assortment planning using visual sketches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |