KR101624272B1 - 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버 - Google Patents

사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버 Download PDF

Info

Publication number
KR101624272B1
KR101624272B1 KR1020140168614A KR20140168614A KR101624272B1 KR 101624272 B1 KR101624272 B1 KR 101624272B1 KR 1020140168614 A KR1020140168614 A KR 1020140168614A KR 20140168614 A KR20140168614 A KR 20140168614A KR 101624272 B1 KR101624272 B1 KR 101624272B1
Authority
KR
South Korea
Prior art keywords
card
user
users
business
usage
Prior art date
Application number
KR1020140168614A
Other languages
English (en)
Inventor
이태영
Original Assignee
비씨카드(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 비씨카드(주) filed Critical 비씨카드(주)
Priority to KR1020140168614A priority Critical patent/KR101624272B1/ko
Priority to PCT/KR2015/001297 priority patent/WO2016085042A1/ko
Priority to CN201580064437.4A priority patent/CN107004221B/zh
Application granted granted Critical
Publication of KR101624272B1 publication Critical patent/KR101624272B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명의 일 실시예에 따르면, 카드 사용자의 이용 업종 예측을 위한 카드 사용 패턴 분석 방법에 있어서, 복수의 사용자로부터 카드 사용 업종 정보를 수집하는 단계; 적어도 하나의 이상의 해쉬 함수들을 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 단계; 상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하는 단계; 상기 해쉬 함수 그룹 별로, 상기 최소값들을 토대로 클러스터링 키(Clustering Key)를 생성하는 단계; 상기 복수의 사용자를 상기 클러스터링 키를 이용하여 그룹화하는 단계; 및 상기 그룹화 정보를 이용하여 카드 사용자의 향후 이용 업종을 예측하는 단계를 포함하는, 카드 사용 패턴 분석 방법이 제공된다.

Description

사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버{CARD USAGE PATTERN ANALYSIS METHOD FOR PREDICTING TYPE OF BUSINESS AND PERFORMING SERVER}
본 발명은 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 카드사 서버에 관한 것으로, 더욱 상세하게는 복수개의 해쉬 함수 그룹을 통해 사용자에 대한 그룹화를 수행하며, 서픽스 트리 및 베이즈 정리를 이용하여 신속하게 카드 사용 패턴을 분석하고 그 결과를 활용하는 방법 및 이를 수행하는 카드사 서버에 관한 것이다.
경제 활동이 점점 활발해지고 있는 현대 사회에서, 물건이나 서비스에 대한 결제 방식도 점차 다양화, 복잡화되고 있다.
그 중, 카드를 통한 결제 방식은 현금 결제와 더불어 가장 보편적으로 쓰이고 있는 결제 방식 중 하나이며, 체크 카드, 신용 카드, 직불 카드 등 여러 형식의 카드가 쓰이고 있다.
각 카드사는 고객 관리를 위해 고객의 결제 정보를 분석하여, 고객들이 자주 사용하는 업종에 대한 카드를 추천하는 일종의 CRM(Customer Relationship Management) 업무를 수행하는데, 기존에는 고객에게 카드를 추천하기 위하여 고객들의 정보를 군집화 하는 방법으로써 K-NN(Nearest Neighbor), K-Means 등의 알고리즘 등이 사용되어 왔다.
다만, 하나의 카드사에는 수많은 고객들이 있으므로 이러한 메모리 기반의 알고리즘들을 사용하여 고객의 카드 사용 패턴을 전부 분석하기 위해서는, 슈퍼 컴퓨터와 같이 성능이 우수한 시스템을 사용하여야 하는 단점이 존재하였다. 따라서, 카드사는 고객 정보를 일정량 샘플링 하여 이를 통해 고객들의 카드 사용 패턴을 비교하고 분석하였는데, 샘플링되는 데이터의 양을 늘리면 분석에 소요되는 시간이 증가하였고, 그 양을 줄이면 샘플링을 통한 데이터 분석의 정확도가 떨어지는 문제점이 존재하였다.
따라서, 방대한 고객 정보를 신속하게 처리하고, 타겟이 되는 고객의 업종별 이용 확률을 보다 정확하게 계산하여 주는 방법이 요구되었다.
본 발명은 전술한 종래기술의 문제점을 해결하기 위한 것을 그 목적으로 한다.
본 발명의 목적은 사용자가 이전에 이용한 업종들을 토대로 향후에 이용할 업종들 각각에 대한 확률을 보다 정확하게 예측하는 것이다.
본 발명의 다른 목적은 사용자의 향후 이용 업종에 대해 계산된 확률을 토대로 해당 사용자에게 알맞은 카드 상품 추천 정보를 제공하는 것이다.
본 발명의 다른 목적은 사용자의 향후 이용 업종에 대해 계산된 확률을 토대로 카드 부정 사용을 감지하는 것이다.
상기와 같은 목적을 달성하기 위해, 본 발명의 일 실시예는 카드 사용자의 이용 업종 예측을 위한 카드 사용 패턴 분석 방법에 있어서, 복수의 사용자로부터 카드 사용 업종 정보를 수집하는 단계; 적어도 하나의 이상의 해쉬 함수들을 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 단계; 상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하는 단계; 상기 해쉬 함수 그룹 별로, 상기 최소값들을 토대로 클러스터링 키(Clustering Key)를 생성하는 단계; 상기 복수의 사용자를 상기 클러스터링 키를 이용하여 그룹화하는 단계; 및 상기 그룹화 정보를 이용하여 카드 사용자의 향후 이용 업종을 예측하는 단계를 포함하는, 카드 사용 패턴 분석 방법을 제공한다.
상기 그룹화 단계는, 상기 클러스터링 키 별로 구분된 각 그룹에 포함된 사용자들의 업종별 이용 경로를 서픽스 트리(Suffix Tree)로 구축하는 단계를 더 포함할 수 있다.
상기 서픽스 트리는 사용자의 업종별 이용 빈도에 따라 상기 이용 경로의 가중치를 설정할 수 있다.
상기 이용 업종 예측 단계는, 이용 업종 예측 대상이 되는 타겟 사용자와 업종 이용 패턴이 유사한 복수의 사용자들을 추출하는 단계; 상기 추출된 사용자들의 업종별 이용 내역에 대한 사전 확률을 계산하는 단계; 및 베이즈 정리를 이용하여, 상기 타겟 사용자의 이전 이용 업종 정보를 토대로, 향후 이용될 수 있는 업종들의 확률을 계산하는 단계를 더 포함할 수 있다.
상기 카드 사용 패턴 분석 방법은, 상기 사용자가 향후 이용 확률이 일정치 이하인 업종에서 카드를 사용하는 경우 이에 대한 이상 수치를 누적하여, 일정 수치에 도달하는 경우 해당하는 사용자의 카드 사용을 부정 사용으로 판단할 수 있다.
상기 그룹화 단계는, 맵리듀스(Map-Reduce) 작업을 수행하여 상기 클러스터링 키 각각에 대한 사용자 그룹을 생성하는 데 있어, 데이터 처리를 복수의 처리부에 분산하여 수행하도록 하는 단계를 포함할 수 있다.
상기 카드 사용 패턴 분석 방법은, 예측된 이용 업종을 토대로 해당 업종에 대한 혜택을 포함하는 카드 상품을 추천하는 단계를 더 포함할 수 있다.
상기와 같은 목적을 달성하기 위해, 본 발명의 다른 실시예는 사용자의 카드 사용 패턴을 분석하는 카드사 서버에 있어서, 복수의 사용자로부터 카드 사용 업종 정보를 수집하는 카드 사용 정보 수집부; 적어도 하나 이상의 해쉬 함수를 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 해쉬 함수 그룹 구성부; 상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하며, 추출된 최소값들을 토대로 상기 해쉬 함수 그룹 별로 클러스터링 키를 생성하고, 생성된 클러스터링 키를 이용하여 복수의 사용자에 대한 그룹화를 수행하는 맵리듀스 수행부; 상기 클러스터링 키 별로 구분된 각 그룹에 포함된 사용자들의 업종별 이용 경로를 서픽스 트리로 구축하는, 서픽스 트리 구축부; 및 분석 대상이 되는 타겟 사용자의 이전 이용 업종에 대한 정보를 토대로, 향후 이용 업종에 대한 이용 확률을 계산하는, 업종별 이용 확률 계산부를 포함하는, 카드사 서버를 제공한다.
상기 서픽스 트리 구축부는, 사용자들의 업종별 이용 빈도에 따라 상기 이용 경로에 대한 가중치를 설정할 수 있다.
상기 업종별 이용 확률 예측부는, 상기 타겟 사용자와 사용 패턴이 유사한 복수의 사용자들을 추출하여, 추출된 사용자들의 업종별 이용 내역에 대한 사전 확률을 계산하며, 베이즈 정리를 이용하여 타겟 사용자의 업종별 이용 확률을 계산할 수 있다.
상기 카드사 서버는 상기 산출된 업종별 이용 확률을 토대로 사용자에게 카드 상품 추천 정보를 제공하는, 카드 상품 추천부를 더 포함할 수 있다.
상기 카드사 서버는 상기 산출된 업종별 이용 확률을 토대로, 사용자가 이용 확률이 일정치 이하인 업종에서 카드를 사용하는 경우, 이에 대한 이상 수치를 누적하여 상기 이상 수치가 일정 수치에 도달하는 경우 해당하는 사용자의 카드 사용을 부정 사용으로 판단하는 부정 사용 감지부를 더 포함할 수 있다.
상기 맵리듀스 수행부는, 사용자 그룹화를 수행함에 있어 필요한 데이터 처리를 복수의 처리부에 분산하여 수행하도록 할 수 있다.
본 발명의 일 실시예에 따르면, 베이즈 정리를 통하여 사용자가 이전에 이용한 업종 정보를 토대로 각 업종별 이용 확률을 계산할 수 있다.
본 발명의 일 실시예에 따르면, 사용자의 향후 이용 업종에 대해 계산된 확률을 바탕으로, 사용자에게 혜택이 큰 카드 상품 정보를 제공할 수 있으며, 사용자의 카드가 부정 사용에 이용되는 것을 탐지할 수 있다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시예에 따른, 카드 사용 패턴 분석 시스템을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른, 사용자가 카드를 사용하여 결제를 수행한 업종의 업종 코드를 해쉬화하는 과정 및 해당 해쉬값을 통해 클러스터링 키를 생성하는 과정을 나타낸 것이다.
도 3은 본 발명의 일 실시예에 따른 Min-Hash 알고리즘을 통한 사용자의 그룹화 방법을 간략히 나타낸 도식도이다.
도 4는 본 발명의 일 실시예에 따라 구축된 서픽스 트리를 간략히 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 카드사 서버의 내부 구성을 도시한 블록도이다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
이하, 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른, 카드 사용 패턴 분석 시스템을 개략적으로 나타낸 도면이다.
본 발명의 일 실시예에 따른 카드 사용 패턴 분석 시스템은, 사용자가 이용하는 카드(100), 가맹점(200) 및 카드사 서버(300)를 포함할 수 있다.
일 실시예에 따른 카드(100)는 신용카드, 체크카드, 직불카드 등 사용자가 해당 카드를 통해 직접 결제가 가능한 모든 카드를 의미할 수 있다. 또한, 카드(100)는 마그네틱 카드, IC 카드, 모바일 카드, RF 카드 등의 형태일 수 있다.
일 실시예에 따른 가맹점(200)은 사용자의 카드(100)를 통해 결제를 수행할 수 있는 CAT 단말기, POS 단말기 또는 그 외의 결제 수행 장치를 지니고 있을 수 있으며, 해당 장치를 통해 카드사 서버(300)와의 통신을 수행할 수 있다. 가맹점(200)의 단말기와 카드사 서버(300)간의 통신은 VAN사 서버를 통하여 이루어질 수 있다.
일 실시예에 따른 가맹점(200)은 카드사 서버(300) 상에서 복수개의 업종으로 분류되어 있을 수 있다. 예를 들어, 카드사는 각각의 가맹점(200)들을 편의점, 음식점, 대형마트, 이동통신, 커피전문점, 병원, 학원 등으로 분류해둘 수 있으며, 이와 같이 분류된 업종을 통해 특정 카드로 특정 업종의 가맹점에서 결제를 수행하였을 때 청구할인, 포인트 적립 등의 각종 혜택을 제공할 수 있다.
카드사 서버(300)는 상기와 같은 가맹점(200)의 업종 분류를 관리하기 위해, 각 업종별로 코드를 할당할 수 있다. 업종별 코드는 다양한 형태로 구성될 수 있으나, 본 발명에서는 설명의 편의를 위해 4자리 숫자로 구성되었다고 가정하고 설명하기로 한다.
카드사 서버(300)는 복수의 사용자들의 카드(100) 결제 내역을 관리하며, 각 카드(100)를 통해 결제가 수행된 가맹점(200)의 업종 코드를 관리할 수 있다. 4명의 사용자에 대해 예를 들어 설명하면, 다음 표 1와 같이, 각 사용자의 업종별 사용 내역이 정리될 수 있다.
User 1 4072 4063 4012 4011 4566
User 2 4072 4063 4076 4099 4800
User 3 4095 4044 4042 4511 4566 4800 4099
User 4 4702 4063 4012 4011 4566 4042 4511 4566 4800
상기 표 1을 살펴보면, 제1 사용자 및 제2 사용자는 5개 업종에서, 제3 사용자는 7개 업종에서, 제4 사용자는 9개 업종의 가맹점(200)에서 자신의 카드(100)를 통해 결제를 수행하였음을 알 수 있다. 또한 일 실시예에 따르면, 각 사용자가 각각의 가맹점(200)에서 결제를 수행한 순서대로 업종 코드 정보가 관리될 수 있다.
카드사 서버(300)는 이와 같은 정보를 토대로 사용자의 카드 사용 패턴을 분석하여, 각 사용자가 다음으로 결제를 수행할 가맹점(200)의 향후 이용 업종 예측을 수행할 수 있다
카드사 서버(300)가 사용자의 향후 이용 업종을 예측하는 구체적인 방법을 살펴보면, 카드사 서버(300)는 Min-Hash 방식을 이용할 수 있다. Min-Hash 알고리즘은 데이터에 대한 해쉬(Hash)화를 수행하였을 때 발생하는 고유한 축소값인 해쉬값들의 최소값을 통해 사용자를 그룹화하는 알고리즘이다.
해쉬는 데이터를 다른 모습으로 바꾸어 다양한 목적으로 사용되는 것을 의미할 수 있으며, 본 발명에서 해쉬화 수행을 위해 사용되는 해쉬 함수는 일방향 해쉬 함수일 수 있다. 일방향 해쉬 함수는 원본 데이터를 해쉬 함수를 이용하여 해쉬화 하였을 때 발생하는 고유의 값(해쉬값)을 통해, 원본 데이터의 내용을 알 수 없는 특징이 존재한다. 또한, 원본 데이터가 동일하다면, 동일한 해쉬 함수를 통해 발생하는 해쉬값은 동일하지만, 동일한 해쉬값에 대한 원본 데이터의 동일성은 보장되지 않는다.
본 발명에서 개시되는 카드사 서버(300)가 이용하는 해쉬 알고리즘들은 SHA(Secure Hash Algorithm) 함수군 중 선택된, 검증된 해쉬 알고리즘들일 수 있으나, 카드사 서버(300)가 임의로 생성하는 알고리즘들로 구성될 수도 있다.
카드사 서버(300)는 적어도 하나 이상의 해쉬 함수를 포함하는 해쉬 함수 그룹을 생성할 수 있다. 또한, 해쉬 함수 그룹도 복수개가 설정될 수 있으며, 이하에서는 2개의 해쉬 함수 그룹이 카드사 서버(300)상에서 구현되며, 각각의 해쉬 함수 그룹은 2개씩의 해쉬 함수를 포함한다고 가정하여 본 발명을 설명하기로 한다.
카드사 서버(300) 상에서 구성되는 2개의 해쉬 함수 그룹을 q1 및 q2 라고 하고, 해쉬 함수를 h1 내지 h4라고 하였을 때, q1은 h1 및 h2를 포함하고 q2는 h3 및 h4를 포함할 수 있으며, 이는 수학식 1과 같이 표현될 수 있다.
Figure 112014115929017-pat00001
일 실시예에 따르면, 본 발명에서 개시되는 해쉬 함수들은 각각 수학식 2와 같은 형태로 구성될 수 있다.
Figure 112014115929017-pat00002
예를 들어, h1 내지 h4의 해쉬 함수는 다음의 수학식 3과 같이 구성될 수 있다.
Figure 112014115929017-pat00003
Figure 112014115929017-pat00004
Figure 112014115929017-pat00005
Figure 112014115929017-pat00006
카드사 서버는 h1 내지 h4에 해당하는 각각의 해쉬 함수에, 사용자들의 결제를 수행한 가맹점(200)의 업종 코드를 대입하여, 각 업종 코드에 해당하는 해쉬값을 획득할 수 있다.
예를 들어, 표 1에 표시된 데이터들에 대한 해쉬값을 획득하는 과정을 살펴보면, 제1 사용자가 결제를 수행한 업종의 업종코드 중 4072가 h1에 해당하는 해쉬 함수에 대입되면, h1(4072) = 3x4072+5(mod 17) = 12221 (mod 17) = 15와 같이 계산이 수행되어 15라는 해쉬값이 산출되게 된다.
카드사 서버(300)는 각 사용자가 결제를 수행한 업종의 업종 코드마다 상기와 같은 계산을 수행하여 각각의 업종 코드에 대한 해쉬값을 획득한다. 이에 대한 결과는 도 2에 나타나 있는 표에서 확인할 수 있다.
도 2는 본 발명의 일 실시예에 따른, 사용자가 카드(100)를 사용하여 결제를 수행한 업종의 업종 코드를 해쉬화하는 과정 및 해당 해쉬값을 통해 클러스터링 키를 생성하는 과정을 나타낸 것이다.
도 2를 참조하면, 4명의 사용자가 결제를 수행한 가맹점(200)의 업종 코드가 표시되어 있고, 각각의 업종 코드가 h1 내지 h4의 해쉬 함수에 대입되어 산출된 해쉬값이 표시되어 있다. 제1 사용자에 해당하는 도 2의 (a)를 살펴보면, 4063 및 4012에 해당하는 업종 코드가 포함되어 있다. 두 업종 코드는 서로 상이하지만, h1에 의해 산출된 해쉬값은 5로 동일하며, h2에 의해 산출된 해쉬값은 1과 6으로 서로 상이함을 알 수 있다.
카드사 서버(300)가 사용하는 Min-hash 알고리즘은 각각의 사용자가 카드(100)를 사용한 가맹점(200)의 업종 코드를 해쉬화하는 과정에서 사용된 해쉬 함수 마다 그 함수를 통해 산출된 해쉬값 중 최소값을 추출할 수 있다. 이와 같이 추출된 최소값은 도 2에 나타나 있는 표에서 음영으로 표시되어 있다.
도 2를 참조하면, 각각의 해쉬 함수로 각 사용자의 카드 이용 업종에 대한 업종 코드의 해쉬값을 산출하였을 때, 해쉬 함수 숫자만큼의 최소값이 추출된다. 본 발명에서는 이를 해쉬 함수 그룹으로 나누어 각 사용자를 그룹화하는데 사용하는데, 도 2의 예시를 참조하여 설명하면, 제1 사용자의 경우 q1에 해당하는 해쉬 함수 그룹에서는 00010000이라는 클러스터링 키(Clustering Key)가 생성된다. 상세하게는, h1에 의해 생성된 해쉬값 중 최소값인 1과 h2에 의해 생성된 해쉬값 중 최소값인 0이 결합되어 00010000이라는 클러스터링 키가 생성된 것이다. 이와 유사하게, 제1 사용자에 대해 q2에 해당하는 해쉬 함수 그룹에서는 00050006이라는 클러스터링 키가 생성된다. 이와 동일한 방식으로, 제2 내지 제4 사용자에 대해서도 각각 2개씩의 클러스터링 키가 생성된다.
클러스터링 키란, 본 발명에서 사용자를 분류하기 위한 기준이 되는 값으로, 같은 값의 클러스터링 키를 갖는 사용자들이 동일 그룹에 포함되게 된다. 클러스터링 키는 카드사 서버(300)가 임의로 설정하는 해쉬 함수 그룹의 숫자만큼 생성되므로, 각 사용자는 해쉬 함수 그룹 숫자만큼의 그룹에 동시에 속할 수 있게 된다.
도 3은 본 발명의 일 실시예에 따른 Min-Hash 알고리즘을 통한 사용자의 그룹화 방법을 간략히 나타낸 도식도이다.
도 3을 참조하면, 도 2에서 산출된 클러스터링 키를 통해 제1 내지 제4 사용자가 그룹화되는 과정을 볼 수 있다.
예를 들면, 00010000에 해당하는 클러스터링 키를 통해서는 제1 사용자, 제3 사용자 및 제4 사용자가 하나의 그룹으로 묶이며, 00030002에 해당하는 클러스터링 키를 통해서는 제3 사용자 및 제4 사용자가 하나의 그룹으로 묶이게 된다. 나머지 000050001, 00050002, 00050006에 해당하는 클러스터링 키에 대해서는 각각 한명씩의 사용자 만이 해당 그룹에 포함되게 된다.
일 실시예에 따르면, 하나의 해쉬 함수 그룹에 포함되는 해쉬 함수의 숫자가 커질수록 각 클러스터링 키가 고유한 값을 갖게 될 확률이 증가하게 되므로, 하나의 그룹 내에 포함되는 사용자의 수가 적어질 수 있다.
본 발명의 일 실시예에 따르면, 카드사 서버(300)가 상기와 같이 클러스터링 키를 이용하여 사용자를 그룹화하는데 있어, 빅데이터를 처리하는 플랫폼인 하둡(Hadoop)을 이용할 수 있다.
하둡이란, 빅데이터와 같이 방대한 용량의 데이터를 효율적으로 처리하기 위해, 복수개의 데이터 처리 시스템을 두고 데이터 처리 작업을 분산시켜 처리하는 역할을 수행하는 플랫폼이다..
하둡은 분산 파일 시스템(Hadoop Distributed File System; HDFS)와 맵리듀스(Map-Reduce) 알고리즘으로 구성되는데, 이하, 카드사 서버(300)가 맵리듀스 알고리즘을 이용하여 사용자를 그룹화하는 방법을 설명하기로 한다.
일 실시예에 따르면, 맵리듀스 알고리즘은 맵핑(Mapping) 작업과 리듀스(Reduce) 작업을 수행할 수 있다. 본 발명에서는 카드사 서버(300)가 맵핑 작업을 통해 사용자가 결제를 수행한 가맹점(200) 업종 코드의 해쉬값중 최소값을 통해 각 사용자의 클러스터링 키를 추출하며, 리듀스 작업을 통해 클러스터링 키 별로 사용자의 그룹화를 수행할 수 있다.
카드사 서버(300)가 맵핑 작업을 통해 Min-Hash 알고리즘을 구현하는 방법을 살펴보면, 카드사 서버(300)는 각각의 사용자의 이용 업종 정보를 맵핑을 처리하는 처리부들에 분산하여 제공한다. 각각의 처리부에서는 각 사용자가 결제를 수행한 가맹점 업종에 대응되는 업종 코드를, 각각의 해쉬 함수에 대입하여 해쉬값으로 산출하고, 각 해쉬 함수 그룹마다 클러스터링 키를 생성할 수 있다.
전술한 바와 같이, 카드사 서버(300)는 사용자의 업종 이용 정보가 각 해쉬 함수에 대입됨으로써 산출되는 해쉬값 중 최소값을 추출하며, 복수개의 해쉬 함수가 존재하는 경우 추출된 최소값들을 조합하여 클러스터링 키를 생성한다.
이와 같이, 클러스터링 키를 생성하는 과정은 각 사용자별로 진행되므로 카드사 서버(300)에 포함되거나 연결된 복수의 처리부에서 각각 사용자 정보가 분산되어 처리된 후에 리듀스 작업을 통해 그룹화될 수 있다.
본 명세서 상의 예시에서는 사용자가 4명인 것으로 제한되어 설명되었으나, 각 카드사에 존재하는 수많은 회원 수에 대한 데이터를 하나의 시스템에서 처리하기 위해서는 슈퍼 컴퓨터와 같이 기능이 우수한 시스템을 필요로 하거나, 데이터 처리에 장시간이 소요되는 문제가 존재하였다. 따라서, 위와 같이 카드사 서버(300)에 포함되거나, 카드사 서버(300)와 연결되어 있는 복수의 처리부에서 사용자 데이터를 분산하여 처리함으로써, 데이터 처리 속도를 향상시킬 수 있다. 본 발명의 실시예에 따라 데이터 처리 속도가 증가함에 따라, 사용자가 향후 결제를 수행할 가맹점(200)의 업종을 예측하여 실시간으로 사용자에게 해당 업종에 대한 혜택을 가진 카드를 추천할 수 있게 된다.
카드사 서버(300)는 맵핑 작업이 완료된 데이터들을 토대로 리듀스 작업을 수행하며, 각 사용자 별로 도출된 클러스터링 키를 토대로 그룹화를 수행한다. 도 3을 참조하면, (b)에서 (c)로 처리되는 과정이 리듀스 작업에 의해 처리되는 것이다.
카드사 서버(300)는 이후, 클러스터링 키로 구분된 각 그룹마다, 포함된 사용자들의 업종별 이용 경로를 서픽스 트리로 구축할 수 있다. 서픽스 트리(Suffix Tree)란, 문자열들이 포함하고 있는 접미사들을 통해 해당 문자열을 탐색할 수 있도록 하는 인덱스 자료구조로, 서픽스 트리에 특정 문자열의 패턴이 존재하는지를 검출하는 도구로 사용될 수 있다.
도 4는 본 발명의 일 실시예에 따라 구축된 서픽스 트리를 간략히 나타내는 도면이다.
카드사 서버(300)는 맵핑 작업과 리듀스 작업을 통해 클러스터링 키를 기반으로 한 사용자 그룹들에 대한 정보를 생성할 수 있다. 카드사 서버(300)는 같은 클러스터링 키를 갖는 사용자가 묶인 그룹 별로, 사용자의 업종별 이용 경로를 서픽스 트리 형태로 구축할 수 있다.
예를 들어, 특정 그룹에 2명의 사용자가 포함되어 있고, 이를 제1 사용자 및 제2 사용자라고 할 때, 제1 사용자는 A-B-C-D 업종 순으로 카드(100)를 사용하였을 수 있고, 제2 사용자는 A-F-B-C 업종 순으로 카드(100)를 사용하였을 수 있다.
이 때, 카드사 서버(300)가 제1 및 제2 사용자의 카드 이용 업종 경로를 토대로 도 4에 나타난 서픽스 트리를 구축할 수 있다. 도 4의 서픽스 트리가 구축되는 과정을 살펴보면, 제1 사용자가 카드(100)를 사용한 업종의 순서가 A-B-C-D 일 때 이 문자열의 서픽스, 즉 접미사는 D, C-D, B-C-D, A-B-C-D 가 나올 수 있다. 이와 마찬가지로 제2 사용자가 카드(100)를 사용한 업종의 순서가 A-F-B-C 일 때, 이 문자열의 접미사는 C, B-C, F-B-C, A-F-B-C가 나올 수 있다. 이와 같이 각 사용자가 사용한 업종 순서를 나타내는 문자열의 접미사들의 목록을 토대로, 카드사 서버(300)는 서픽스 트리를 구축한다.
도 4에서, 각각의 동그라미 표시는 노드라고 불리며, 도면 상에 기재된 것과 같이 업종 정보를 포함하고 있다. 각각의 노드를 연결하는 선은 업종별 이용 순서를 나타낼 수 있다.
도 4를 살펴보면, 서픽스 트리의 최상단(Root 노드)에서 파생되는 노들들은 각각 A, BC, CD, D, FB, C 의 값을 갖을 수 있다. 이 중, A에 해당하는 노드에서는 BCD, FBC의 값을 갖는 노드가 각각 파생되며, BC에 해당하는 노드에서는 D의 값을 갖는 노드가 파생된다.
A노드를 살펴보면, A-B-C-D와 A-F-B-C에서 보여지는 것과 같이 A 이후에 배열 될 수 있는 업종은 B-C-D와 F-B-C가 존재하므로, 이에 해당하는 노드들이 파생될 수 있으며, BC노드를 살펴보면, A-B-C-D 에서는 D가 후속될 수 있으나, A-F-B-C에서는 후속되는 업종이 없으므로, D에 해당하는 노드만이 파생될 수 있다.
이와 같이, 클러스터링 키를 통해 생성된 각 그룹에 포함되는 사용자들의 업종별 이용 경로를 서픽스 트리로 구축하여 둠으로써, 이후 업종별 이용 경로를 탐색하는데 소모되는 시간이 단축될 수 있다. 즉, 서픽스 트리를 활용하여 업종별 이용 경로를 탐색하는 경우에 O(n)의 속도로 검색이 수행될 수 있다. 예를 들어, 특정 사용자가 이용한 이전 5개 업종을 검색한다고 가정할 때, 최악의 경우에도 5번만의 접근으로 해당 패턴이 검색될 수 있다.
일 실시예에 따르면, 카드사 서버(300)는 서픽스 트리를 구축하는데 바탕이 된 그룹에 포함된 사용자들이 자주 사용하는 업종에 해당하는 노드에 가중치를 부여할 수 있다. 서픽스 트리를 구성하는 노드들에 부여된 가중치는, 추후 설명될 이용 업종 예측에 있어서의 확률 계산에 적용될 수 있다.
일 실시예에 따르면, 카드사 서버(300)는 구축된 서픽스 트리들을 토대로, 특정 사용자의 이전 카드 사용 패턴을 분석하여 이후에 사용자가 결제를 수행할 가맹점(200)의 업종을 예측할 수 있다.
카드사 서버(300)가 사용자의 이용 업종 예측을 수행하는 방법을 살펴보면, 카드사 서버(300)는 이용 업종 예측의 대상이 되는 사용자를 선정할 수 있으며, 이하에서는 선정된 사용자를 타겟 사용자라고 지칭하기로 한다. 일 실시예에 따르면, 타겟 사용자는 최근에 카드(100)를 통해 결제를 수행한 사용자로 선정되어, 이후 이용 업종 예측이 카드사 서버(300)상에서 실시간으로 이루어지고, 사용자의 결제 수행 후 일정 시간 내에 이용 업종 예측에 따른 카드 상품 추천 메시지 등이 해당 사용자에게 전송될 수 있다.
카드사 서버(300)는 이후, 타겟 사용자가 속한 그룹 내의 업종별 이용 경로를 모두 탐색하여, 타겟 사용자와 유사한 카드 사용 패턴을 보이는 일정한 수의 사용자를 추출할 수 있다.
일 실시예에 따르면, 타겟 사용자의 업종별 카드 사용 패턴과, 다른 사용자들의 업종별 카드 사용 패턴의 유사도를 판단함에 있어, Jaccard Similarity, Pearson Correlation, Cosine Similarity 등이 사용될 수 있다.
카드사 서버(300)는 타겟 사용자의 이용 업종을 예측하는데 있어, 베이즈 정리를 이용할 수 있다. 베이즈 정리(Bayesian Rule)를 간략히 살펴보면, 이는 사전 확률과 새로운 데이터의 추가에 따라 변경되는 확률값을 통해 원하는 가설의 확률을 획득하는 것으로, 다음과 같은 수식을 통해 표현될 수 있다.
Figure 112014115929017-pat00007
상기 수학식 4을 본 발명에 적용시켜 설명하여 보면, X와 Y는 가맹점(200)의 업종을 나타내며, P(X)와 P(Y)는 각각 사용자들이 X업종과 Y업종에 해당하는 가맹점(200)에서 카드(100)를 사용하여 결제를 수행할 확률, 즉 사용자들이 X업종과 Y업종을 이용할 확률로 볼 수 있다. P(Y|X)는 X업종을 이용한 사용자들이 Y업종을 이용할 확률, P(X|Y)는 사용자들이 Y업종을 이용한 사용자들이 X업종을 이용할 확률을 나타낸다.
카드사 서버(300)는 클러스터링 키를 통해 분류된 그룹 중 타겟 사용자가 속한 그룹들에서 타겟 사용자와 유사한 업종 이용 패턴을 보이는 일정 수의 사용자에 대한 상기 확률들을 계산함으로써, 타겟 사용자가 앞으로 결제를 수행할 확률이 가장 높은 업종을 구할 수 있다. 또한, 카드사 서버(300)는 타겟 사용자가 결제를 수행할 확률이 높은 업종의 상위 일정 개수를 예측할 수도 있다.
상기의 수학식 4는 다음과 같이 변환될 수 있다.
Figure 112014115929017-pat00008
상기 수학식 5에서, 상변의 P(Y)는 사전 확률로서 고정되어 있으며, 하변은 X를 제외한 나머지 업종들이 이용된 뒤에 X업종이 이용될 확률의 합으로 X업종이 이용될 확률을 계산하는 것이다. 이와 같이, Y업종을 이용한 사용자가 X업종을 이용할 조건부 확률을 이용하여, X업종을 이용한 사용자가 Y업종을 사용할 확률을 구할 수 있으며, 이를 반복함으로써, X업종을 이용한 사용자가 어떤 업종을 다음번에 이용할지에 대한 확률을 종합하여, 확률이 가장 높은 업종을 추출할 수 있다. 또한, 카드사 서버(300)는 하나의 업종을 선택하는 대신, 확률이 높은 순서대로 일정 개수의 업종들을 추출할 수도 있을 것이다.
일 실시예에 따르면, 카드사 서버(300)는 타겟 사용자가 앞으로 이용할 업종들에 대한 확률 분석을 토대로, 타겟 사용자에게 새로운 카드 상품을 추천할 수 있다. 타겟 사용자에게 추천되는 카드 상품은 타겟 사용자가 추후 이용할 확률이 가장 높은 업종에 대한 혜택이 가장 큰 카드일 수 있으며, 타겟 사용자가 추후 이용할 확률이 큰 일정개수의 업종에 대한 혜택이 종합적으로 고려되어 선택되는 카드일 수도 있다. 예를 들면, 타겟 사용자가 추후 이용할 업종에 대한 확률과, 특정 카드에 포함된 해당 업종에 대한 혜택에 대한 평가 점수를 각각 곱하여서 총합한 점수가 높은 카드 상품 순으로 추천이 이루어질 수 있다.
카드사 서버(300)의 카드 상품 추천은 사용자의 단말기를 통해서 실시간으로 이루어질 수 있다. 이와 같이 카드사 서버(300)가 실시간으로 카드 상품 추천이 가능한 이유는, 전술한 것과 같이 맵리듀스 방식을 통해 데이터 처리 작업을 여러 개의 처리부에서 분산하여 처리하며, 서픽스 트리 구축을 통해 사용자들의 업종 이용 패턴을 신속히 검색할 수 있기 때문이다.
일 실시예에 따르면, 카드사 서버(300)는 타겟 사용자가 추후 이용할 업종의 확률을 통하여, 해당하는 타겟 사용자의 카드(100)가 부정 사용에 이용되는지 여부를 판단할 수 있다.
상세하게는, 카드사 서버(300)의 분류 체계 내에 존재하는 각각의 업종마다, 타겟 사용자가 추후 해당 업종을 이용할 확률이 계산되어 있는 상태에서, 타겟 사용자가 이용 확률이 일정값보다 낮은 업종을 반복하여 이용하면 이를 부정 사용으로 판단하는 것이다.
예를 들어, 카드사 서버(300)는 각각의 사용자 별로 부정 사용과 관련된 이상 수치를 관리할 수 있으며, 타겟 사용자가 추후 이용할 확률이 일정치보다 낮다고 계산된 업종을 이용할 경우에, 상기 이상 수치를 상승시킬 수 있으며, 이와 같은 방식으로 이상 수치가 증가하다가 일정값에 도달하면, 타겟 사용자의 카드 사용을 부정사용으로 판단할 수 있다.
일 실시예에 따르면, 카드사 서버(300)는 특정 사용자의 카드 사용을 부정 사용으로 판단되는 경우, 해당 카드(100)를 사용할 수 없는 상태로 설정할 수 있다.
이하, 도 5를 참조하여 본 발명의 일 실시예에 따른 카드사 서버(300)의 구성에 대하여 살펴보도록 한다. 도 5는 본 발명의 일 실시예에 따른 카드사 서버(300)의 내부 구성을 도시한 블록도이다.
본 발명의 일 실시예에 따른 카드사 서버는 카드 사용 정보 수집부(310), 해쉬 함수 그룹 구성부(320), 맵리듀스 수행부(330), 서픽스 트리 구축부(340), 업종별 이용 확률 계산부(350), 카드 상품 추천부(360), 부정 사용 감지부(370), 제어부(380) 및 통신부(390)를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 카드 사용 정보 수집부(310), 해쉬 함수 그룹 구성부(320), 맵리듀스 수행부(330), 서픽스 트리 구축부(340), 업종별 이용 확률 계산부(350), 카드 상품 추천부(360), 부정 사용 감지부(370), 제어부(380) 및 통신부(390)는 외부 장치와 통신할 수 있는 프로그램 모듈 또는 하드웨어들일 수 있다. 이러한 프로그램 모듈 또는 하드웨어는 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 카드사 서버(300) 또는 이와 통신 가능한 다른 장치에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 한편, 이러한 프로그램 모듈 또는 하드웨어들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
일 실시예에 따른 카드 사용 정보 수집부(310)는 카드 사용자들의 결제 정보를 수집할 수 있다. 본 발명에서 사용자들의 카드 사용 패턴을 분석하는데에 이용되는 정보는 사용자가 카드(100)를 이용하여 결제를 수행한 가맹점(200)의 업종 정보이며, 카드 사용 정보 수집부(310)는 상기 업종 정보를 각 업종에 대응되는 업종 코드의 형태로 저장할 수 있다.
카드 사용 정보 수집부(310)는 각 사용자의 결제 정보에 대한 시각 정보를 저장하여, 사용자가 이용한 업종의 순서를 토대로 추후 서픽스 트리가 구축되도록 할 수 있다.
일 실시예에 따른 해쉬 함수 그룹 구성부(320)는 사용자들이 사용한 업종에 대한 업종 코드를 해쉬화하는데 사용되는 해쉬 함수 및 적어도 하나의 상기 해쉬 함수를 포함하는 해쉬 함수 그룹을 구성할 수 있다.
전술한 바와 같이, 본 발명에서 사용되는 해쉬 함수는 수학식 2 및 수학식 3에서 나타난 것과 같은 형태일 수 있으며, 복수개의 공인된 해쉬 알고리즘이 이용될 수도 있다.
해쉬 함수 그룹 구성부(320)는 복수개의 해쉬 함수 그룹을 구성하며, 구성되는 해쉬 함수 그룹의 수는 사용자 카드 사용 패턴 분석 결과에 따라 조절될 수 있다. 예를 들어, 해쉬 함수 그룹의 수가 커질수록 하나의 사용자가 속하는 그룹의 수가 증가할 수 있으며, 이에 따라 각각의 사용자의 카드 사용 패턴을 보다 다각적으로 분석할 수 있게 되지만, 카드사 서버(300)가 하나의 사용자마다 분석해야 할 그룹의 숫자가 증가함으로 인해 데이터 분석하는데 시간이 더 소요되고, 카드사 서버(300) 및 이와 연결되어 데이터 분석을 처리하는 처리부들의 부하가 커질 수 있다.
해쉬 함수 그룹 구성부(320)는 각 해쉬 함수 그룹에 포함되는 해쉬 함수의 개수를 조절할 수 있다. 하나의 해쉬 함수 그룹에 포함되는 해쉬 함수가 많아지면 그에 따라 생성되는 클러스터링 키가 생성될 수 있는 경우의 수도 함께 커지게 되므로, 하나의 그룹 내에 포함되는 사용자의 수가 적어지므로 추후 타겟 사용자와 같은 그룹에 포함되어 타겟 사용자와 유사한 업종 이용 내역을 보이는 사용자를 추출하는 대상도 줄어들 수 있다. 또한, 이와 반대로 하나의 해쉬 함수 그룹에 포함되는 해쉬 함수의 숫자가 적으면, 하나의 그룹 내에 포함되는 사용자의 수가 많아짐으로 인해, 타겟 사용자와 유사한 업종 이용 패턴을 보이는 사용자를 탐색하는데 정확도가 떨어질 수 있다. 해쉬 함수 그룹 구성부(320)는 상기와 같은 장단점을 파악하여, 적정한 수의 해쉬 함수가 하나의 해쉬 함수 그룹에 포함되도록 조절할 수 있다.
일 실시예에 따른 맵리듀스 수행부(330)는 맵핑 작업과 리듀스 작업을 수행함으로써 각각의 사용자에 대한 클러스터링 키를 생성하고, 생성된 클러스터링 키를 토대로 사용자들에 대한 그룹화를 수행할 수 있다. 맵리듀스 수행부(330)는 맵핑 수행부와 리듀스 수행부로 나누어져 각각의 역할을 수행할 수 있으며, 맵핑 작업과 리듀스 작업은 카드사 서버(300)에 포함되거나 카드사 서버(300)에 연결되어 있는 복수의 처리부에서 분산되어 수행될 수 있다.
맵리듀스 수행부(330)는 맵핑 작업을 통해 Min-Hash 알고리즘을 구현하고, 이를 통해 클러스터링 키를 생성할 수 있다. 상세하게는, 맵리듀스 수행부(330)는 해쉬 함수 그룹 구성부(320)에서 생성한 각각의 해쉬 함수를 통해, 각 사용자가 이용한 업종의 업종 코드에 대한 해쉬화를 수행하고, 각 해쉬 함수 별로 산출된 해쉬값 중 최소값을 추출할 수 있다. 이후, 맵리듀스 수행부(330)는 각 해쉬 함수 그룹마다 추출된 최소값들을 토대로 클러스터링 키를 생성할 수 있다.
맵리듀스 수행부(330)는 각 사용자마다 생성된 클러스터링 키를 토대로 사용자에 대한 그룹화를 수행할 수 있다. 같은 클러스터링 키를 갖는 사용자들이 하나의 그룹으로 묶이며, 한 사용자가 복수개의 클러스터링 키를 갖음에 따라 복수개의 그룹에 속할 수 있다.
일 실시예에 따른 서픽스 트리 구축부(340)는 클러스터링 키를 통해 구분된 각 그룹마다, 해당 그룹에 포함되는 사용자들의 업종별 이용 경로를 서픽스 트리 형태로 구축할 수 있다. 서픽스 트리는 도 4에 나타난 것과 같이, 하나의 그룹 내에 속한 사용자들의 업종별 이용 경로를 트리 형태로 구축한 자료 구조이며, 사용자들이 이용한 업종들의 순서 정보를 포함할 수 있다.
서픽스 트리 구축부(340)는 서픽스 트리내의 각 노드에 가중치를 부여할 수 있다. 예를 들어, 서픽스 트리 구축부(340)는 빈번하게 발생되는 업종 이용 패턴에 관련된 노드에는 가중치를 부여하여, 추후에 업종별 사후 이용 확률을 계산하는데 해당 가중치를 고려하도록 할 수 있다.
일 실시예에 따른 업종별 이용 확률 계산부(350)는 타겟 사용자가 이전 에 이용한 업종에 대한 정보를 토대로, 추후 타겟 사용자가 다른 업종들을 이용할 확률을 계산할 수 있다.
이를 위해서, 업종별 이용 확률 계산부(350)는 서픽스 트리를 이용하여 타겟 사용자가 속한 그룹내의 업종별 이용 경로를 탐색하며, 각 그룹 내에서 타겟 사용자와 업종별 이용 패턴이 가장 유사한 일정수의 사용자들을 추출할 수 있다.
업종별 이용 확률 계산부(350)는 타겟 사용자의 업종별 이용 확률을 계산하는데 있어, 전술한 바와 같이 베이즈 정리를 이용할 수 있다. 상세하게는, 업종별 이용 확률 계산부(350)는 상기와 같이 타겟 사용자와 업종별 이용 패턴이 유사한 사용자들의 전체 이용 내역을 분석하여, 각 업종이 이용될 사전 확률을 계산할 수 있다.
업종별 이용 확률 계산부(350)는 타겟 사용자의 향후 이용 업종에 대한 확률을 계산하기 위해, 타겟 사용자의 이전 이용 업종에 대한 정보가 수집되면, 이 정보를 토대로 사후 확률, 즉 이전 이용 업종에 따른 향후 이용 업종들에 대한 확률을 베이즈 정리를 통해서 계산할 수 있다.
일 실시예에 따르면, 카드 상품 추천부(360)는 업종별 이용 확률 계산부(350)에서 계산된 확률을 토대로, 사용자에게 새로운 카드 상품 등을 추천할 수 있다. 사용자에게 카드 상품이 추천되는 방식은 카드 상품 추천부(360)가 컴퓨터, 휴대폰 등과 같은 사용자 단말기에 해당하는 정보를 전송하는 방식일 수 있고, 카드사의 텔레마케터가 카드 상품 추천부(360)로부터 정보를 습득하여 텔레마케팅을 수행하는 방식일 수도 있다.
카드 상품 추천부(360)가 사용자에게 카드를 추천하는 방식은 타겟 사용자가 향후 이용할 확률이 가장 높은 업종에 대한 혜택이 가장 큰 카드를 추천하는 것일 수 있고, 사용자가 향후 이용할 확률이 높은 복수개 업종에 대한 혜택을 모두 포함하고 있는 카드를 추천하는 것일 수도 있다. 또한, 카드 상품 추천부(360)는 사용자에게 카드 상품 추천 정보를 제공하면서, 이와 함께 사용자의 카드 사용 패턴을 분석한 정보를 함께 제공할 수 있다.
일 실시예에 따른 부정 사용 감지부(370)는 업종별 이용 확률 계산부(350)에서 도출된 확률을 토대로, 사용자의 카드를 통한 부정 사용이 이루어지는 것을 감지할 수 있다.
부정 사용 감지부(370)는 사용자가 이용할 확률이 낮다고 판단된 업종들에서 계속하여 결제를 수행하는 경우, 이에 대한 이상 수치를 포인트 형식으로 관리하는 등의 방법으로 부정 사용을 판단할 수 있다. 예를 들어, 사용자가 이용할 확률이 일정치 보다 낮은 업종에서 결제를 수행하는 경우, 계산된 확률에 따라 일정한 포인트를 할당하여 포인트의 누적이 일정값에 도달하면 해당 카드(100)를 부정 사용 탐지 대상으로 선정하는 것일 수 있다.
이와 같이, 본 발명의 실시예에 따르면, 카드사 서버(300)가 사용자의 카드 사용 패턴 분석을 신속하게 분석할 수 있게 되며, 사용자의 향후 이용 업종에 대한 확률을 토대로 사용자에게 알맞은 카드 상품을 실시간으로 추천하거나 사용자의 카드를 통한 부정 사용을 감지할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 카드
200: 가맹점
300: 카드사 서버

Claims (13)

  1. 카드 사용자의 이용 업종 예측을 위한 카드 사용 패턴 분석 방법에 있어서,
    복수의 사용자로부터 카드 사용 업종 정보를 수집하는 단계;
    복수의 해쉬 함수들을 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 단계;
    상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하는 단계;
    상기 해쉬 함수 그룹 별로, 상기 최소값들을 토대로 클러스터링 키(Clustering Key)를 생성하는 단계;
    상기 복수의 사용자를 상기 클러스터링 키를 이용하여 그룹화하는 단계; 및
    상기 그룹화 정보를 이용하여 카드 사용자의 향후 이용 업종을 예측하는 단계를 포함하는, 카드 사용 패턴 분석 방법.
  2. 제1항에 있어서,
    상기 그룹화 단계는,
    상기 클러스터링 키 별로 구분된 각 그룹에 포함된 사용자들의 업종별 이용 경로를 서픽스 트리(Suffix Tree)로 구축하는 단계를 더 포함하는, 카드 사용 패턴 분석 방법.
  3. 제2항에 있어서,
    상기 서픽스 트리는 사용자의 업종별 이용 빈도에 따라 상기 이용 경로의 가중치를 설정하는, 카드 사용 패턴 분석 방법.
  4. 제1항에 있어서,
    상기 이용 업종 예측 단계는,
    이용 업종 예측 대상이 되는 타겟 사용자와 업종 이용 패턴이 유사한 복수의 사용자들을 추출하는 단계;
    상기 추출된 사용자들의 업종별 이용 내역에 대한 사전 확률을 계산하는 단계; 및
    베이즈 정리를 이용하여, 상기 타겟 사용자의 이전 이용 업종 정보를 토대로, 향후 이용될 수 있는 업종들의 확률을 계산하는 단계를 더 포함하는, 카드 사용 패턴 분석 방법.
  5. 제4항에 있어서,
    상기 사용자가 향후 이용 확률이 일정치 이하인 업종에서 카드를 사용하는 경우 이에 대한 이상 수치를 누적하여, 일정 수치에 도달하는 경우 해당하는 사용자의 카드 사용을 부정 사용으로 판단하는 단계를 더 포함하는, 카드 사용 패턴 분석 방법.
  6. 제1항에 있어서,
    상기 그룹화 단계는,
    맵리듀스(Map-Reduce) 작업을 수행하여 상기 클러스터링 키 각각에 대한 사용자 그룹을 생성하는 데 있어, 데이터 처리를 복수의 처리부에 분산하여 수행하도록 하는 단계를 포함하는, 카드 사용 패턴 분석 방법.
  7. 제1항에 있어서,
    예측된 이용 업종을 토대로 해당 업종에 대한 혜택을 포함하는 카드 상품을 추천하는 단계를 더 포함하는, 카드 사용 패턴 분석 방법.
  8. 사용자의 카드 사용 패턴을 분석하는 카드사 서버에 있어서,
    복수의 사용자로부터 카드 사용 업종 정보를 수집하는 카드 사용 정보 수집부;
    복수의 해쉬 함수를 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 해쉬 함수 그룹 구성부;
    상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하며, 추출된 최소값들을 토대로 상기 해쉬 함수 그룹 별로 클러스터링 키를 생성하고, 생성된 클러스터링 키를 이용하여 복수의 사용자에 대한 그룹화를 수행하는 맵리듀스 수행부;
    상기 클러스터링 키 별로 구분된 각 그룹에 포함된 사용자들의 업종별 이용 경로를 서픽스 트리로 구축하는, 서픽스 트리 구축부; 및
    분석 대상이 되는 타겟 사용자의 이전 이용 업종에 대한 정보를 토대로, 향후 이용 업종에 대한 이용 확률을 계산하는, 업종별 이용 확률 계산부를 포함하는, 카드사 서버.
  9. 제8항에 있어서,
    상기 서픽스 트리 구축부는,
    사용자들의 업종별 이용 빈도에 따라 상기 이용 경로에 대한 가중치를 설정하는, 카드사 서버.
  10. 제8항에 있어서,
    상기 업종별 이용 확률 예측부는,
    상기 타겟 사용자와 사용 패턴이 유사한 복수의 사용자들을 추출하여, 추출된 사용자들의 업종별 이용 내역에 대한 사전 확률을 계산하며, 베이즈 정리를 이용하여 타겟 사용자의 업종별 이용 확률을 계산하는, 카드사 서버.
  11. 제8항에 있어서,
    상기 산출된 업종별 이용 확률을 토대로 사용자에게 카드 상품 추천 정보를 제공하는 카드 상품 추천부를 더 포함하는, 카드사 서버.
  12. 제8항에 있어서,
    상기 산출된 업종별 이용 확률을 토대로, 사용자가 이용 확률이 일정치 이하인 업종에서 카드를 사용하는 경우, 이에 대한 이상 수치를 누적하여 상기 이상 수치가 일정 수치에 도달하는 경우 해당하는 사용자의 카드 사용을 부정 사용으로 판단하는 부정 사용 감지부를 더 포함하는, 카드사 서버.
  13. 제8항에 있어서,
    상기 맵리듀스 수행부는,
    사용자 그룹화를 수행함에 있어 필요한 데이터 처리를 복수의 처리부에 분산하여 수행하도록 하는, 카드사 서버.
KR1020140168614A 2014-11-28 2014-11-28 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버 KR101624272B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140168614A KR101624272B1 (ko) 2014-11-28 2014-11-28 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버
PCT/KR2015/001297 WO2016085042A1 (ko) 2014-11-28 2015-02-09 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버
CN201580064437.4A CN107004221B (zh) 2014-11-28 2015-02-09 用于预测使用行业的卡使用模式分析方法及执行其的服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140168614A KR101624272B1 (ko) 2014-11-28 2014-11-28 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버

Publications (1)

Publication Number Publication Date
KR101624272B1 true KR101624272B1 (ko) 2016-05-25

Family

ID=56074577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140168614A KR101624272B1 (ko) 2014-11-28 2014-11-28 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버

Country Status (3)

Country Link
KR (1) KR101624272B1 (ko)
CN (1) CN107004221B (ko)
WO (1) WO2016085042A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220130405A (ko) * 2021-03-18 2022-09-27 주식회사 신한디에스 카드추천방법 및 그 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040083026A (ko) * 2004-08-03 2004-09-30 한국정보통신주식회사 카드거래정보를 이용한 연계정보 제공 장치 및 방법
JP2010506283A (ja) * 2006-10-04 2010-02-25 ドケット ロケット ピーティワイ リミテッド 消費者行動モデル化を用いたオファーまたは褒賞システム
US8131722B2 (en) * 2006-11-20 2012-03-06 Ebay Inc. Search clustering
KR20090083972A (ko) * 2008-01-31 2009-08-05 연세대학교 산학협력단 음악 검색을 위한 음악 데이터베이스 구축 방법, 허밍 질의를 입력으로 하여 음악을 검색하는 방법 및 장치
CN102591873B (zh) * 2011-01-12 2016-01-20 腾讯科技(深圳)有限公司 一种信息推荐方法和设备
CN102024065B (zh) * 2011-01-18 2013-01-02 中南大学 基于simd优化的网页去重并行方法
CN102646097B (zh) * 2011-02-18 2019-04-26 腾讯科技(深圳)有限公司 一种聚类方法及装置
KR20130062889A (ko) * 2011-12-05 2013-06-13 삼성전자주식회사 데이터 압축 방법 및 시스템
CN102693502A (zh) * 2012-06-04 2012-09-26 南京中兴软创科技股份有限公司 面向用户消费行为的时间推移数据分析模型的建立方法
CN102750647A (zh) * 2012-06-29 2012-10-24 南京大学 一种基于交易网络的商家推荐方法
CN102929906B (zh) * 2012-08-10 2015-07-22 北京邮电大学 基于内容特征和主题特征的文本分组聚类方法
KR102020673B1 (ko) * 2013-05-03 2019-09-11 삼성전자주식회사 시계열 패턴 마이닝 방법 및 장치
CN103699593A (zh) * 2013-12-11 2014-04-02 中国科学院深圳先进技术研究院 一种广义后缀树快速遍历的方法及***
CN103955842B (zh) * 2014-04-14 2017-03-29 武汉烽火普天信息技术有限公司 一种面向大规模媒体数据的在线广告推荐***及方法
CN104077412B (zh) * 2014-07-14 2018-04-13 福州大学 一种基于多Markov链的微博用户兴趣预测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
정보처리학회논문지 2014.10*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220130405A (ko) * 2021-03-18 2022-09-27 주식회사 신한디에스 카드추천방법 및 그 장치
KR102580402B1 (ko) * 2021-03-18 2023-09-19 주식회사 신한디에스 카드추천방법 및 그 장치

Also Published As

Publication number Publication date
WO2016085042A1 (ko) 2016-06-02
CN107004221B (zh) 2021-07-09
CN107004221A (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
US20210073283A1 (en) Machine learning and prediction using graph communities
Wang et al. A genetic-algorithm-based approach to the two-echelon capacitated vehicle routing problem with stochastic demands in logistics service
Wen et al. Customer purchase behavior prediction from payment datasets
US20180053188A1 (en) Customer transaction behavioral archetype analytics for cnp merchant transaction fraud detection
US20210264448A1 (en) Privacy preserving ai derived simulated world
US10366420B2 (en) Heuristic customer clustering
CN109993627B (zh) 推荐方法、推荐模型的训练方法、装置和存储介质
Sivasankar et al. Hybrid PPFCM-ANN model: an efficient system for customer churn prediction through probabilistic possibilistic fuzzy clustering and artificial neural network
US20210272121A1 (en) Privacy-preserving graph compression with automated fuzzy variable detection
Cho et al. Implementation of Personalized recommendation System using k-means Clustering of Item Category based on RFM
CN107148635A (zh) 对均值场***的询问
Punjabi et al. Robust factorization machines for user response prediction
US11762819B2 (en) Clustering model analysis for big data environments
CN116318989A (zh) 用于用户网络活动异常检测的***、方法和计算机程序产品
CN115578163A (zh) 一种组合商品信息的个性化推送方法及***
KR102428084B1 (ko) Ai를 활용하여 상점에게 최적화된 연계할인율 및 광고 수익모델 추천 시스템 그리고 방법
KR101624272B1 (ko) 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버
CN112685635A (zh) 基于分类标签的项目推荐方法、装置、服务器和存储介质
WO2020150376A1 (en) Real time user matching using purchasing behavior
EP3493082A1 (en) A method of exploring databases of time-stamped data in order to discover dependencies between the data and predict future trends
Badi et al. SISC: Sensor-based intelligent shopping cart
CN109902698A (zh) 信息生成方法和装置
Tran et al. Combining social relations and interaction data in Recommender System with Graph Convolution Collaborative Filtering
CN113946755A (zh) 基于关联规则的信息推送方法、装置、设备及存储介质
Prabhu et al. FI-FCM algorithm for business intelligence

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190514

Year of fee payment: 4