KR102128059B1 - 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치 - Google Patents

고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치 Download PDF

Info

Publication number
KR102128059B1
KR102128059B1 KR1020190096643A KR20190096643A KR102128059B1 KR 102128059 B1 KR102128059 B1 KR 102128059B1 KR 1020190096643 A KR1020190096643 A KR 1020190096643A KR 20190096643 A KR20190096643 A KR 20190096643A KR 102128059 B1 KR102128059 B1 KR 102128059B1
Authority
KR
South Korea
Prior art keywords
vector
customer
product
financial products
financial
Prior art date
Application number
KR1020190096643A
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 KR1020190096643A priority Critical patent/KR102128059B1/ko
Application granted granted Critical
Publication of KR102128059B1 publication Critical patent/KR102128059B1/ko

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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/06Asset management; Financial planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/0278Product appraisal
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치가 개시된다. 본 발명에 따른 전자 장치는 복수개의 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 가중치 행렬을 곱하여 연산 벡터를 생성하고, 활성화 함수를 기초로 상기 연산 벡터를 구성하는 성분들을 변환하여 복수개의 출력 데이터들로 구성된 출력 벡터를 생성한 후, 상기 출력 벡터와 복수개의 금융상품들 각각에 대한 원-핫 벡터 간의 내적을 연산함으로써, 상기 복수개의 금융상품들 각각에 대응하는 내적 값을 생성하여 상기 복수개의 금융상품들 각각에 대한 내적 값과 상기 복수개의 금융상품들 각각에 대한 구매 결과 값을 기초로 손실 함수를 기반으로 한 손실 값을 연산하고, 상기 손실 값이 최소가 되도록 상기 가중치 행렬을 결정하기 위한 기계학습을 수행함으로써, 고객에게 가장 적합한 금융상품을 추천할 수 있도록 지원할 수 있다.

Description

고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치{ELECTRONIC APPARATUS RECOMMENDING OPTIMAL FINANCIAL PRODUCTS THROUGH MACHINE LEARNING BASED ON CUSTOMER'S INFORMATION AND PURCHASE HISTORY OF FINANCIAL PRODUCTS}
본 발명은 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치에 대한 것이다.
최근, 경제가 장기 불황 기조를 띄면서, 금융상품에 대한 사람들의 관심이 커지고 있다.
이러한 금융상품에 대한 사람들의 관심은 청년부터 노년층까지 이어지고 있는 상황이다.
한편, 사람들은 최소 시간을 투자하여 최대 효율의 정보를 취득하고자 하기 때문에 만족도가 클만한 금융상품을 선별하여 추천해줄 필요가 생겼다.
이에 따라, 금융상품을 추천함에 있어, 추천 알고리즘 기술을 활용하려는 움직임이 발생하고 있다.
그러나, 과거의 추천 알고리즘인 협업 필터링(Collaborative Filtering) 기법은 새로운 패턴에 대한 추천이 어렵다는 단점이 있고, 과거의 추천 알고리즘인 콘텐츠 기반 필터링(Contents Based Filtering) 기법은 추천되는 상품의 다양성이 떨어진다는 단점이 있어, 과거의 추천 알고리즘들을 복잡하고 정교한 금융상품에 적용하기에는 다소 어려움이 있다.
여기서, 과거의 추천 알고리즘들을 금융상품에 적용하는 방식 외에 새로운 추천 알고리즘을 금융상품에 적용하는 방식이 필요하게 되었는데, 이 새로운 추천 알고리즘은 바로 딥러닝(Deep Learning) 기술을 접목시키는 것이다.
보통, 딥러닝 기술은 인공지능 기술 중 하나로 컴퓨터가 데이터 축적을 통해 인간의 학습능력을 지니도록 할 수 있다. 이러한 딥러닝 기술이 접목된 새로운 추천 알고리즘을 금융상품에 적용하게 되면, 사람들의 개인정보 및 금융상품에 대한 구매이력 등의 데이터를 축적함으로써, 정확도 높은 분석이 가능하게 되어 보다 적합한 금융상품을 추천할 수 있다.
따라서, 과거의 추천 알고리즘들을 금융상품에 적용할 때 발생하는 문제점에 대비하고자 딥러닝 기술이 접목된 새로운 추천 알고리즘을 금융상품에 적용하여 최적의 금융상품을 추천할 수 있도록 하는 기법에 대한 연구가 필요하다.
본 발명에 따른 전자 장치는 복수개의 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 가중치 행렬을 곱하여 연산 벡터를 생성하고, 활성화 함수를 기초로 상기 연산 벡터를 구성하는 성분들을 변환하여 복수개의 출력 데이터들로 구성된 출력 벡터를 생성한 후, 상기 출력 벡터와 복수개의 금융상품들 각각에 대한 원-핫 벡터 간의 내적을 연산함으로써, 상기 복수개의 금융상품들 각각에 대응하는 내적 값을 생성하여 상기 복수개의 금융상품들 각각에 대한 내적 값과 상기 복수개의 금융상품들 각각에 대한 구매 결과 값을 기초로 손실 함수를 기반으로 한 손실 값을 연산하고, 상기 손실 값이 최소가 되도록 상기 가중치 행렬을 결정하기 위한 기계학습을 수행함으로써, 고객에게 가장 적합한 금융상품을 추천할 수 있도록 지원하고자 한다.
본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치는 고객으로부터 미리 수집한 N(N은 3이상의 자연수임)개의 개인정보들에 대한 N개의 개인정보 변환 값들 - 상기 N개의 개인정보 변환 값들은 각 개인정보에 대응되는 것으로 미리 지정된 수치 값이 기록되어 있는 기설정된(predetermined) 수치 변환 테이블을 기초로 상기 N개의 개인정보들 각각을 대응되는 수치 값으로 변환시킨 값임 - 과 M(M은 N보다 작은 2이상의 자연수임)개의 금융상품들 각각에 대한 상기 고객의 구매이력과 연관된 구매 결과 값 - 상기 M개의 금융상품들 각각에 대한 구매 결과 값은 각 금융상품에 대해 구매이력이 있는 경우 '1'로, 구매이력이 없는 경우 '0'으로 설정되어 있음 - 이 저장되어 있는 훈련 데이터 저장부, 상기 M개의 금융상품들 각각에 대한 미리 정해진 서로 다른 M차원의 원-핫(one-hot) 벡터가 저장되어 있는 상품 벡터 저장부, 상기 N개의 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 제1 가중치 행렬을 곱하여 M차원의 연산 벡터를 생성하고, 기설정된 활성화 함수(Activation Function)를 기초로 상기 M차원의 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 M개의 출력 데이터들로 구성된 M차원의 출력 벡터를 생성하는 출력 벡터 생성부, 상기 M차원의 출력 벡터와 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 M개의 금융상품들 각각에 대응하는 내적 값을 생성하는 내적 연산부 및 상기 M개의 금융상품들 각각에 대한 내적 값과 상기 M개의 금융상품들 각각에 대한 구매 결과 값을 기초로 기설정된 손실 함수(Loss Function)를 기반으로 한 손실 값을 연산하고, 상기 손실 값이 최소가 되도록 상기 제1 가중치 행렬을 결정하기 위한 기계학습을 수행하는 학습 수행부를 포함한다.
본 발명에 따른 전자 장치는 복수개의 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 가중치 행렬을 곱하여 연산 벡터를 생성하고, 활성화 함수를 기초로 상기 연산 벡터를 구성하는 성분들을 변환하여 복수개의 출력 데이터들로 구성된 출력 벡터를 생성한 후, 상기 출력 벡터와 복수개의 금융상품들 각각에 대한 원-핫 벡터 간의 내적을 연산함으로써, 상기 복수개의 금융상품들 각각에 대응하는 내적 값을 생성하여 상기 복수개의 금융상품들 각각에 대한 내적 값과 상기 복수개의 금융상품들 각각에 대한 구매 결과 값을 기초로 손실 함수를 기반으로 한 손실 값을 연산하고, 상기 손실 값이 최소가 되도록 상기 가중치 행렬을 결정하기 위한 기계학습을 수행함으로써, 고객에게 가장 적합한 금융상품을 추천할 수 있도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치(110)는 훈련 데이터 저장부(111), 상품 벡터 저장부(112), 출력 벡터 생성부(113), 내적 연산부(114) 및 학습 수행부(115)를 포함한다.
훈련 데이터 저장부(111)에는 고객으로부터 미리 수집한 N(N은 3이상의 자연수임)개의 개인정보들에 대한 N개의 개인정보 변환 값들과 M(M은 N보다 작은 2이상의 자연수임)개의 금융상품들 각각에 대한 상기 고객의 구매이력과 연관된 구매 결과 값이 저장되어 있다.
여기서, 상기 N개의 개인정보 변환 값들은 각 개인정보에 대응되는 것으로 미리 지정된 수치 값이 기록되어 있는 기설정된(predetermined) 수치 변환 테이블을 기초로 상기 N개의 개인정보들 각각을 대응되는 수치 값으로 변환시킨 값이고, 이때, 상기 기설정된 수치 변환 테이블은 하기의 표 1과 같이 구성되어 있을 수 있다.
수치 변환 테이블(N=4일 때)
성별 연령대 거주 지역 월 소득
남자 1 10대 미만 1 서울 1 백만원 미만 1
10대 2 경기 2 1백만원대 2
20대 3 인천 3 2백만원대 3
30대 4 대전 4 3백만원대 4
여자 2 40대 5 대구 5 4백만원대 5
50대 6 부산 6 5백만원대 6
60대 7 광주 7 6백만원대 7
... ... ... ... ... ...
예컨대, 앞서 설명한 예시와 같이, 'N=4'라고 하고, 상기 고객으로부터 미리 수집한 4개의 개인정보들을 '남자, 30대, 서울, 2백만원대'라고 가정하는 경우, 상기 고객에 대한 개인정보 변환 값들은 상기 표 1과 같은 상기 기설정된 수치 변환 테이블을 기초로 '1, 4, 1, 3'로 변환될 수 있고, 이때, 훈련 데이터 저장부(111)에는 상기 고객에 대한 개인정보 변환 값들인 '1, 4, 1, 3'이 저장되어 있을 수 있다.
또한, 상기 M개의 금융상품들 각각에 대한 구매 결과 값은 상기 고객이 각 금융상품에 대해 구매이력이 있는 경우 '1'로, 구매이력이 없는 경우 '0'으로 설정되어 있다.
관련해서, 훈련 데이터 저장부(111)에는 하기의 표 2와 같이 정보가 저장되어 있을 수 있다.
복수개의
개인정보 변환 값들
복수개의 금융상품들 각각에 대한 구매 결과 값
N=4일 때, '1, 4, 1, 3' M=3일 때 예금 1
적금 1
펀드 0
상품 벡터 저장부(112)에는 상기 M개의 금융상품들 각각에 대한 미리 정해진 서로 다른 M차원의 원-핫(one-hot) 벡터가 저장되어 있다.
예컨대, 상품 벡터 저장부(112)에는 하기의 표 3과 같이 정보가 저장되어 있을 수 있다.
복수개의 금융상품들 원-핫 벡터
M=3일 때 예금 [001]
적금 [010]
펀드 [100]
출력 벡터 생성부(113)는 상기 N개의 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 제1 가중치 행렬을 곱하여 M차원의 연산 벡터를 생성하고, 기설정된 활성화 함수(Activation Function)를 기초로 상기 M차원의 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 M개의 출력 데이터들로 구성된 M차원의 출력 벡터를 생성한다.
여기서, 상기 기설정된 활성화 함수로 시그모이드 함수(Sigmoid Function)가 이용될 수 있다.
이때, 출력 벡터 생성부(113)는 하기의 수학식 1에 따라 상기 M차원의 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환할 수 있다.
Figure 112019081314090-pat00001
상기 수학식 1에서 xi는 상기 M차원의 연산 벡터를 구성하는 성분들 중 i번째 성분, Si는 상기 시그모이드 함수를 기초로 상기 M차원의 연산 벡터를 구성하는 성분들 중 i번째 성분을 '0'과 '1' 사이의 값으로 변환한 값을 의미한다.
예컨대, 앞서 설명한 예시와 같이, 'N=4'라고 하고, 상기 4개의 개인정보 변환 값들을 '1, 4, 1, 3'이라고 하며, 'M=3'이라고 가정하자. 이때, 출력 벡터 생성부(113)는 상기 4개의 개인정보 변환 값들인 '1, 4, 1, 3'을 성분으로 갖는 개인정보 벡터에 4 x 3의 크기의 제1 가중치 행렬을 곱하여 3차원의 연산 벡터를 생성할 수 있고, 상기 수학식 1을 통해 상기 3차원의 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 3개의 출력 데이터들로 구성된 3차원의 출력 벡터를 생성할 수 있다.
내적 연산부(114)는 상기 M차원의 출력 벡터와 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 M개의 금융상품들 각각에 대응하는 내적 값을 생성한다.
예컨대, 앞서 설명한 예시와 같이, 'M=3'이라고 하고, 상기 3개의 금융상품들을 '예금, 적금, 펀드'라고 가정하자. 이때, 상기 3차원의 출력 벡터가 전자 장치(110)에서 생성되면, 내적 연산부(114)는 상기 3차원의 출력 벡터와 상기 표 3과 같은 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대한 3차원의 원-핫 벡터인 '[001]', '[010]', '[100]' 간의 내적을 연산함으로써, 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대응하는 내적 값을 생성할 수 있다.
학습 수행부(115)는 상기 M개의 금융상품들 각각에 대한 내적 값과 상기 M개의 금융상품들 각각에 대한 구매 결과 값을 기초로 기설정된 손실 함수(Loss Function)를 기반으로 한 손실 값을 연산하고, 상기 손실 값이 최소가 되도록 상기 제1 가중치 행렬을 결정하기 위한 기계학습을 수행한다.
예컨대, 앞서 설명한 예시와 같이, 'M=3'이라고 가정하고, 상기 3개의 금융상품들을 '예금, 적금, 펀드'라고 가정하자. 이때, 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대응하는 내적 값이 전자 장치(110)에서 생성되면, 학습 수행부(115)는 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대한 내적 값과 상기 표 2와 같은 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대한 구매 결과 값인 '1', '1', '0'을 기초로 상기 기설정된 손실 함수를 기반으로 한 손실 값을 연산하고, 상기 손실 값이 최소가 되도록 상기 제1 가중치 행렬을 결정하기 위한 기계학습을 수행할 수 있다.
이때, 본 발명의 일실시예에 따르면, 학습 수행부(115)는 상기 손실 값에 기초하여 역전파(Backpropagation) 처리를 수행함으로써, 상기 제1 가중치 행렬을 결정하기 위한 기계학습을 수행할 수 있다. 그리고, 학습 수행부(115)는 하기의 수학식 2의 연산에 따라 상기 손실 값을 연산할 수 있다.
Figure 112019081314090-pat00002
여기서, L은 상기 손실 값으로, M은 상기 금융상품들의 총 개수, tk는 상기 금융상품들 중 k번째 금융상품에 대한 구매 결과 값, yk는 상기 금융상품들 중 k번째 금융상품에 대응하는 내적 값을 의미한다.
이때, 본 발명의 일실시예에 따르면, 전자 장치(110)는 지금까지 설명한 기계학습 과정을 다수의 고객들로부터 수집한 데이터를 이용해서 추가적으로 수행함으로써, 상기 제1 가중치 행렬을 정밀하게 결정할 수 있다.
본 발명의 일실시예에 따르면, 전자 장치(110)는 추출부(116), 추천용 출력 벡터 생성부(117), 추천용 내적 연산부(118) 및 추천 금융상품 전송부(119)를 더 포함할 수 있다.
추출부(116)는 상기 제1 가중치 행렬을 결정하기 위한 기계학습이 완료된 이후, 제1 고객의 고객 단말(130)로부터 상기 제1 고객에 대한 N개의 제1 개인정보들이 수신되면서, 상기 M개의 금융상품들에 대한 상기 제1 고객의 상품 추천 요청이 수신되면, 상기 기설정된 수치 변환 테이블을 기초로 상기 N개의 제1 개인정보들을 N개의 제1 개인정보 변환 값들로 변환하고 상품 벡터 저장부(112)로부터 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터를 추출한다.
예컨대, 앞서 설명한 예시와 같이, 'N=4'라고 하고, 상기 제1 고객에 대한 4개의 제1 개인정보들을 '여자, 40대, 대구, 3백만원대'라고 하며, 'M=3'이라고 하고, 상기 3개의 금융상품들을 '예금, 적금, 펀드'라고 가정하자. 상기 제1 가중치 행렬을 결정하기 위한 기계학습이 완료된 이후, 제1 고객의 고객 단말(130)로부터 전자 장치(110)에 상기 제1 고객에 대한 상기 4개의 제1 개인정보들인 '여자, 40대, 대구, 3백만원대'가 수신되면서, 상기 3개의 금융상품들인 '예금, 적금, 펀드'에 대한 상기 제1 고객의 상품 추천 요청이 수신되면, 추출부(116)는 상기 표 1과 같은 상기 기설정된 수치 변환 테이블을 기초로 상기 4개의 제1 개인정보들인 '여자, 40대, 대구, 3백만원대'를 4개의 제1 개인정보 변환 값들인 '2, 5, 5, 4'로 변환하고 상기 표 3과 같은 상품 벡터 저장부(112)로부터 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대한 3차원의 원-핫 벡터인 '[001]', '[010]', '[100]'을 추출할 수 있다.
추천용 출력 벡터 생성부(117)는 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터가 추출되면, 상기 N개의 제1 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 기계학습이 완료된 상기 제1 가중치 행렬을 곱하여 M차원의 제1 연산 벡터를 생성하고, 상기 기설정된 활성화 함수를 기초로 상기 M차원의 제1 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 M개의 제1 출력 데이터들로 구성된 M차원의 제1 출력 벡터를 생성한다.
추천용 내적 연산부(118)는 상기 M차원의 제1 출력 벡터와 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값을 생성한다.
예컨대, 앞서 설명한 예시와 같이, 'N=4'라고 하고, 상기 4개의 제1 개인정보 변환 값들을 '2, 5, 5, 4'라고 하며, 'M=3'이라고 하고, 상기 3개의 금융상품들을 '예금, 적금, 펀드'라고 가정하자. 이때, 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대한 3차원의 원-핫 벡터인 '[001]', '[010]', '[100]'이 전자 장치(110)에서 추출되면, 추천용 출력 벡터 생성부(117)는 상기 4개의 제1 개인정보 변환 값들인 '2, 5, 5, 4'를 성분으로 갖는 개인정보 벡터에 기계학습이 완료된 상기 제1 가중치 행렬을 곱하여 3차원의 제1 연산 벡터를 생성하고, 상기 수학식 1을 통해 상기 3차원의 제1 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 3개의 제1 출력 데이터들로 구성된 3차원의 제1 출력 벡터를 생성할 수 있다.
이렇게, 상기 3차원의 제1 출력 벡터가 전자 장치(110)에서 생성되면, 추천용 내적 연산부(118)는 상기 3차원의 제1 출력 벡터와 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대한 3차원의 원-핫 벡터인 '[001]', '[010]', '[100]' 간의 내적을 연산함으로써, 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대응하는 추천용 내적 값을 생성할 수 있다.
추천 금융상품 전송부(119)는 상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값이 생성되면, 상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값을 기설정된 기준 값인 '0.5'와 각각 비교하여 상기 M개의 금융상품들 중 상기 기설정된 기준 값인 '0.5' 이상의 추천용 내적 값을 보유한 적어도 하나의 금융상품을 상기 제1 고객에 대한 추천 금융상품으로 선택하여 제1 고객의 고객 단말(130)로 전송한다.
예컨대, 앞서 설명한 예시와 같이, 'M=3'라고 하고, 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대응하는 추천용 내적 값인 '0.3', '0.4', '0.8'이 전자 장치(110)에서 생성되었다고 가정하는 경우, 추천 금융상품 전송부(119)는 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대응하는 추천용 내적 값인 '0.3', '0.4', '0.8'을 상기 기설정된 기준 값인 '0.5'와 각각 비교하여 상기 3개의 금융상품들인 '예금, 적금, 펀드' 중 상기 기설정된 기준 값인 '0.5' 이상의 추천용 내적 값을 보유한 적어도 하나의 금융상품인 '펀드'를 상기 제1 고객에 대한 추천 금융상품으로 선택하여 제1 고객의 고객 단말(130)로 전송할 수 있다.
결국, 본 발명에 따른 전자 장치(110)는 복수의 금융상품들에 대한 고객의 구매이력 여부에 대한 결과 값과 상기 고객의 개인정보 변환 값들을 기초로 상기 고객의 개인정보 특성에 따른 상기 복수의 금융상품들에 대한 적합성 여부를 예측할 수 있는 예측 모델을 구성함으로써, 금융상품 추천 과정에서 상기 복수의 금융상품들에 대해서 특정 고객이 적합성을 가지고 있는지 여부를 미리 예측할 수 있도록 지원할 수 있다.
본 발명의 일실시예에 따르면, 추출부(116)는 소정의 고객으로부터 금융상품 추천 요청이 수신되었을 때, 인증된 고객에 대해서만 금융상품의 추천 서비스를 제공하기 위한 구성으로, OTP 저장부(120), 유클리드 거리 저장부(121), 요청부(122), 인증 확인부(123) 및 상품 벡터 추출부(124)를 포함할 수 있다.
OTP 저장부(120)에는 현재 시간 값을 기초로 일회용 인증 번호를 생성할 수 있는 미리 정해진 OTP(One Time Password) 생성 함수가 저장되어 있다.
여기서, OTP란 고정된 패스워드 대신 무작위로 생성되는 일회용 인증 번호를 의미하고, 상기 OTP 생성 함수는 개발자에 의해 미리 설정될 수 있는 함수로서, 현재 시간 값을 기초로 일회용 인증 번호가 생성되도록 설정될 수 있다.
유클리드 거리 저장부(121)에는 고객 인증에 사용하기 위한 기설정된 유클리드 거리(Euclidean Distance)에 대한 정보가 저장되어 있다.
여기서, 유클리드 거리란 두 개의 벡터가 존재한다고 하였을 때, 두 벡터 간의 거리를 의미하는 것으로 하기의 수학식 3에 따라 연산될 수 있다.
Figure 112019081314090-pat00003
상기 수학식 3에서 D는 유클리드 거리, Ai와 Bi는 두 벡터에 포함되어 있는 i번째 성분들을 의미한다. 보통, 두 벡터 간의 유클리드 거리가 작을수록 두 벡터는 유사한 벡터라고 볼 수 있고, 두 벡터 간의 유클리드 거리가 클수록 두 벡터는 비유사한 벡터라고 볼 수 있다.
요청부(122)는 제1 고객의 고객 단말(130)로부터 상기 제1 고객에 대한 상기 N개의 제1 개인정보들이 수신되면서, 상기 M개의 금융상품들에 대한 상기 제1 고객의 상품 추천 요청이 수신되면, 상기 OTP 생성 함수를 기초로 현재 시간 값에 따른 제1 일회용 인증 번호를 생성하고, 상기 제1 일회용 인증 번호에서 기설정된 자릿수에 해당되는 숫자를 확인한 후, 상기 숫자의 크기에 대응하는 해밍 무게(Hamming Weight)를 가지면서, 기설정된 길이를 갖는 랜덤 벡터를 랜덤하게 생성하고, 상기 랜덤 벡터를 제1 고객의 고객 단말(130)로 전송하면서, 제1 고객의 고객 단말(130)로 상기 랜덤 벡터에 대응되는 피드백 벡터의 전송을 요청한다.
여기서, 해밍 무게란 '0'과 '1'의 코드로 구성된 데이터에서 '1'의 개수를 의미하고, 상기 자릿수는 개발자에 의해 미리 설정될 수 있는 것으로, 왼쪽부터 몇 번째 자리인지를 지시하는 숫자로 설정될 수 있다.
예컨대, 앞서 설명한 예시와 같이, 'N=4'라고 하고, 상기 제1 고객에 대한 상기 4개의 제1 개인정보들을 '여자, 40대, 대구, 3백만원대'라고 하며, 'M=3'이라고 하고, 상기 3개의 금융상품들을 '예금, 적금, 펀드'라고 가정하자. 이때, 제1 고객의 고객 단말(130)로부터 전자 장치(110)에 상기 제1 고객에 대한 상기 4개의 제1 개인정보들인 '여자, 40대, 대구, 3백만원대'가 수신되면서, 상기 3개의 금융상품들인 '예금, 적금, 펀드'에 대한 상기 제1 고객의 상품 추천 요청이 수신되면, 요청부(122)는 상기 OTP 생성 함수를 기초로 현재 시간 값에 따른 제1 일회용 인증 번호를 생성할 수 있고, 만약, 상기 제1 일회용 인증 번호가 '12345'로 생성되었고, 기설정된 자릿수가 3인 경우, 요청부(122)는 상기 제1 일회용 인증 번호인 '12345'에서 3번째 자릿수인 '3'을 확인할 수 있다. 그 이후, 요청부(122)는 상기 숫자인 '3'의 크기에 대응하는 해밍 무게를 가지면서, 상기 기설정된 길이를 갖는 랜덤 벡터를 랜덤하게 생성할 수 있다. 관련해서, 상기 기설정된 길이를 '6'이라고 하는 경우, 요청부(122)는 '1'의 개수가 3개이면서 길이가 6인 랜덤 벡터를 랜덤하게 생성할 수 있다.
예컨대, 상기 랜덤 벡터가 '[100110]'으로 생성되었다고 하는 경우, 요청부(122)는 상기 랜덤 벡터인 '[100110]'을 제1 고객의 고객 단말(130)로 전송하면서, 제1 고객의 고객 단말(130)로 상기 랜덤 벡터인 '[100110]'에 대응되는 피드백 벡터의 전송을 요청할 수 있다.
이때, 본 발명의 일실시예에 따르면, 제1 고객의 고객 단말(130)은 메모리 상에 상기 기설정된 유클리드 거리, 상기 OTP 생성 함수와 동일한 검증용 OTP 생성 함수를 저장하고 있을 수 있다.
만약, 전자 장치(110)로부터 상기 랜덤 벡터가 제1 고객의 고객 단말(130)에 수신되면, 제1 고객의 고객 단말(130)은 상기 메모리 상에 저장되어 있는 상기 검증용 OTP 생성 함수를 기초로 현재 시간 값에 따른 검증용 일회용 인증 번호를 생성한 후, 상기 검증용 일회용 인증 번호에서 상기 기설정된 자릿수에 해당되는 검증용 숫자를 확인하여 상기 랜덤 벡터의 해밍 무게가 상기 검증용 숫자의 크기에 대응하는 해밍 무게와 일치하는지 여부를 확인할 수 있다.
이때, 상기 랜덤 벡터의 해밍 무게가 상기 검증용 숫자의 크기에 대응하는 해밍 무게와 일치하는 것으로 확인되는 경우, 제1 고객의 고객 단말(130)은 상기 랜덤 벡터와의 유클리드 거리가 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리로 연산되는 제1 피드백 벡터를 랜덤하게 생성하여 전자 장치(110)로 전송할 수 있다.
관련해서, 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리를 'D1'이라고 하고, 전자 장치(110)로부터 제1 고객의 고객 단말(130)에 '[100110]'이라고 하는 상기 랜덤 벡터가 수신되었다고 하는 경우, 제1 고객의 고객 단말(130)은 상기 메모리 상에 저장되어 있는 상기 검증용 OTP 생성 함수를 기초로 현재 시간 값에 따른 검증용 일회용 인증 번호인 '12345'를 생성한 후, 상기 검증용 일회용 인증 번호에서 상기 기설정된 자리수인 '3'에 해당되는 검증용 숫자 '3'을 확인할 수 있다.
그 이후, 제1 고객의 고객 단말(130)은 상기 랜덤 벡터의 해밍 무게가 상기 검증용 숫자인 '3'의 크기에 대응하는 해밍 무게와 일치하는지 확인할 수 있다.
본 실시예에서 상기 랜덤 벡터의 해밍 무게는 '3'으로 상기 검증용 숫자와 일치하는데, 상기 랜덤 벡터의 해밍 무게인 '3'과 상기 검증용 숫자인 '3'이 서로 일치한다는 것은 상기 랜덤 벡터가 전자 장치(110)와 제1 고객의 고객 단말(130)이 사전 공유하고 있는 동일한 OTP 생성 함수를 기초로 도출된 일회용 인증 번호에 기초하여 생성된 것이 맞다는 의미로 볼 수 있다.
따라서, 상기 랜덤 벡터의 해밍 무게가 상기 검증용 숫자의 크기에 대응하는 해밍 무게와 일치하는 것으로 확인되는 경우, 제1 고객의 고객 단말(130)은 상기 랜덤 벡터와의 유클리드 거리가 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리인 'D1'으로 연산되는 제1 피드백 벡터를 랜덤하게 생성하여 전자 장치(110)로 전송할 수 있다.
인증 확인부(123)는 제1 고객의 고객 단말(130)로부터 상기 랜덤 벡터에 대응되는 피드백 벡터로 상기 제1 피드백 벡터가 수신되면, 상기 제1 피드백 벡터와 상기 랜덤 벡터 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리로 연산되는지 확인함으로써, 제1 고객의 고객 단말(130)에 대한 인증을 완료한다.
상품 벡터 추출부(124)는 제1 고객의 고객 단말(130)에 대한 인증이 완료되면, 상기 기설정된 수치 변환 테이블을 기초로 상기 N개의 제1 개인정보들을 상기 N개의 제1 개인정보 변환 값들로 변환하고 상품 벡터 저장부(112)로부터 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터를 추출한다.
예컨대, 앞서 설명한 예시와 같이, 상기 랜덤 벡터를 '[100110]'이라고 하고, 상기 기설정된 유클리드 거리를 'D1'이라고 하며, 'N=4'라고 하고, 상기 4개의 제1 개인정보들을 '여자, 40대, 대구, 3백만원대'라고 하며, 'M=3'이라고 하고, 상기 3개의 금융상품들을 '예금, 적금, 펀드'라고 가정하자. 이때, 제1 고객의 고객 단말(130)로부터 상기 랜덤 벡터인 '[100110]'에 대응되는 피드백 벡터로 상기 제1 피드백 벡터가 전자 장치(110)에 수신되면, 인증 확인부(123)는 상기 제1 피드백 벡터와 상기 랜덤 벡터인 '[100110]' 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리인 'D1'으로 연산되는지 확인함으로써, 제1 고객의 고객 단말(130)에 대한 인증을 완료할 수 있다.
이렇게, 제1 고객의 고객 단말(130)에 대한 인증이 완료되면, 상품 벡터 추출부(124)는 상기 표 1과 같은 상기 기설정된 수치 변환 테이블을 기초로 상기 4개의 제1 개인정보들인 '여자, 40대, 대구, 3백만원대'를 상기 4개의 제1 개인정보 변환 값들인 '2, 5, 5, 4'로 변환하고 상기 표 3과 같은 상품 벡터 저장부(112)로부터 상기 3개의 금융상품들인 '예금, 적금, 펀드' 각각에 대한 3차원의 원-핫 벡터인 '[001]', '[010]', '[100]'을 추출할 수 있다.
즉, 제1 고객의 고객 단말(130)은 사전 발급된 OTP 생성 함수를 기초로 랜덤 벡터의 해밍 무게가 검증용 숫자의 크기에 대응하는 해밍 무게와 일치하는 경우에만 상기 랜덤 벡터와의 유클리드 거리가 메모리 상에 저장되어 있는 기설정된 유클리드 거리로 연산되는 제1 피드백 벡터를 랜덤하게 생성하여 전자 장치(110)로 전송하고, 전자 장치(110)는 제1 고객의 고객 단말(130)로부터 상기 랜덤 벡터에 대응되는 피드백 벡터로 상기 제1 피드백 벡터가 수신되면, 상기 제1 피드백 벡터와 상기 랜덤 벡터 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리로 연산되는지 확인하여 제1 고객의 고객 단말(130)에 대한 인증이 완료되는 경우에만 기설정된 수치 변환 테이블을 기초로 N개의 제1 개인정보들을 N개의 제1 개인정보 변환 값들로 변환하고 상품 벡터 저장부(112)로부터 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터를 추출함으로써, 비인증 고객이 적어도 하나의 금융상품을 추천받는 것을 방지할 수 있다.
도 2는 본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 고객으로부터 미리 수집한 N(N은 3이상의 자연수임)개의 개인정보들에 대한 N개의 개인정보 변환 값들(상기 N개의 개인정보 변환 값들은 각 개인정보에 대응되는 것으로 미리 지정된 수치 값이 기록되어 있는 기설정된 수치 변환 테이블을 기초로 상기 N개의 개인정보들 각각을 대응되는 수치 값으로 변환시킨 값임)과 M(M은 N보다 작은 2이상의 자연수임)개의 금융상품들 각각에 대한 상기 고객의 구매이력과 연관된 구매 결과 값(상기 M개의 금융상품들 각각에 대한 구매 결과 값은 각 금융상품에 대해 구매이력이 있는 경우 '1'로, 구매이력이 없는 경우 '0'으로 설정되어 있음)이 저장되어 있는 훈련 데이터 저장부를 유지한다.
단계(S220)에서는 상기 M개의 금융상품들 각각에 대한 미리 정해진 서로 다른 M차원의 원-핫 벡터가 저장되어 있는 상품 벡터 저장부를 유지한다.
단계(S230)에서는 상기 N개의 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 제1 가중치 행렬을 곱하여 M차원의 연산 벡터를 생성하고, 기설정된 활성화 함수를 기초로 상기 M차원의 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 M개의 출력 데이터들로 구성된 M차원의 출력 벡터를 생성한다.
단계(S240)에서는 상기 M차원의 출력 벡터와 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 M개의 금융상품들 각각에 대응하는 내적 값을 생성한다.
단계(S250)에서는 상기 M개의 금융상품들 각각에 대한 내적 값과 상기 M개의 금융상품들 각각에 대한 구매 결과 값을 기초로 기설정된 손실 함수를 기반으로 한 손실 값을 연산하고, 상기 손실 값이 최소가 되도록 상기 제1 가중치 행렬을 결정하기 위한 기계학습을 수행한다.
이때, 본 발명의 일실시예에 따르면, 전자 장치(110)의 동작 방법은 상기 제1 가중치 행렬을 결정하기 위한 기계학습이 완료된 이후, 제1 고객의 고객 단말로부터 상기 제1 고객에 대한 N개의 제1 개인정보들이 수신되면서, 상기 M개의 금융상품들에 대한 상기 제1 고객의 상품 추천 요청이 수신되면, 상기 기설정된 수치 변환 테이블을 기초로 상기 N개의 제1 개인정보들을 N개의 제1 개인정보 변환 값들로 변환하고 상기 상품 벡터 저장부로부터 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터를 추출하는 단계, 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터가 추출되면, 상기 N개의 제1 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 기계학습이 완료된 상기 제1 가중치 행렬을 곱하여 M차원의 제1 연산 벡터를 생성하고, 상기 기설정된 활성화 함수를 기초로 상기 M차원의 제1 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 M개의 제1 출력 데이터들로 구성된 M차원의 제1 출력 벡터를 생성하는 단계, 상기 M차원의 제1 출력 벡터와 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값을 생성하는 단계 및 상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값이 생성되면, 상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값을 기설정된 기준 값인 '0.5'와 각각 비교하여 상기 M개의 금융상품들 중 상기 기설정된 기준 값인 '0.5' 이상의 추천용 내적 값을 보유한 적어도 하나의 금융상품을 상기 제1 고객에 대한 추천 금융상품으로 선택하여 상기 제1 고객의 고객 단말로 전송하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S250)에서는 상기의 수학식 2의 연산에 따라 상기 손실 값을 연산할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터를 추출하는 단계는 현재 시간 값을 기초로 일회용 인증 번호를 생성할 수 있는 미리 정해진 OTP 생성 함수가 저장되어 있는 OTP 저장부를 유지하는 단계, 고객 인증에 사용하기 위한 기설정된 유클리드 거리에 대한 정보가 저장되어 있는 유클리드 거리 저장부를 유지하는 단계, 상기 제1 고객의 고객 단말로부터 상기 제1 고객에 대한 상기 N개의 제1 개인정보들이 수신되면서, 상기 M개의 금융상품들에 대한 상기 제1 고객의 상품 추천 요청이 수신되면, 상기 OTP 생성 함수를 기초로 현재 시간 값에 따른 제1 일회용 인증 번호를 생성하고, 상기 제1 일회용 인증 번호에서 기설정된 자릿수에 해당되는 숫자를 확인한 후, 상기 숫자의 크기에 대응하는 해밍 무게를 가지면서, 기설정된 길이를 갖는 랜덤 벡터를 랜덤하게 생성하고, 상기 랜덤 벡터를 상기 제1 고객의 고객 단말로 전송하면서, 상기 제1 고객의 고객 단말로 상기 랜덤 벡터에 대응되는 피드백 벡터의 전송을 요청하는 단계, 상기 제1 고객의 고객 단말로부터 상기 랜덤 벡터에 대응되는 피드백 벡터로 제1 피드백 벡터(상기 제1 피드백 벡터는 상기 랜덤 벡터와의 유클리드 거리가 상기 제1 고객의 고객 단말에 기 저장되어 있는 상기 기설정된 유클리드 거리로 연산되도록 생성된 벡터임)가 수신되면, 상기 제1 피드백 벡터와 상기 랜덤 벡터 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리로 연산되는지 확인함으로써, 상기 제1 고객의 고객 단말에 대한 인증을 완료하는 단계 및 상기 제1 고객의 고객 단말에 대한 인증이 완료되면, 상기 기설정된 수치 변환 테이블을 기초로 상기 N개의 제1 개인정보들을 상기 N개의 제1 개인정보 변환 값들로 변환하고 상기 상품 벡터 저장부로부터 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터를 추출하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 제1 고객의 고객 단말은 메모리 상에 상기 기설정된 유클리드 거리, 상기 OTP 생성 함수와 동일한 검증용 OTP 생성 함수를 저장하고 있고, 상기 전자 장치로부터 상기 랜덤 벡터가 수신되면, 상기 메모리 상에 저장되어 있는 상기 검증용 OTP 생성 함수를 기초로 현재 시간 값에 따른 검증용 일회용 인증 번호를 생성한 후, 상기 검증용 일회용 인증 번호에서 상기 기설정된 자릿수에 해당되는 검증용 숫자를 확인하여 상기 랜덤 벡터의 해밍 무게가 상기 검증용 숫자의 크기에 대응하는 해밍 무게와 일치하는지 여부를 확인하며, 상기 랜덤 벡터의 해밍 무게가 상기 검증용 숫자의 크기에 대응하는 해밍 무게와 일치하는 것으로 확인되는 경우, 상기 랜덤 벡터와의 유클리드 거리가 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리로 연산되는 상기 제1 피드백 벡터를 랜덤하게 생성하여 상기 전자 장치로 전송할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치의 동작 방법은 도 1을 이용하여 설명한 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치
111: 훈련 데이터 저장부 112: 상품 벡터 저장부
113: 출력 벡터 생성부 114: 내적 연산부
115: 학습 수행부 116: 추출부
117: 추천용 출력 벡터 생성부 118: 추천용 내적 연산부
119: 추천 금융상품 전송부 120: OTP 저장부
121: 유클리드 거리 저장부 122: 요청부
123: 인증 확인부 124: 상품 벡터 추출부
130: 제1 고객의 고객 단말

Claims (5)

  1. 고객으로부터 미리 수집한 N(N은 3이상의 자연수임)개의 개인정보들에 대한 N개의 개인정보 변환 값들 - 상기 N개의 개인정보 변환 값들은 각 개인정보에 대응되는 것으로 미리 지정된 수치 값이 기록되어 있는 기설정된(predetermined) 수치 변환 테이블을 기초로 상기 N개의 개인정보들 각각을 대응되는 수치 값으로 변환시킨 값임 - 과 M(M은 N보다 작은 2이상의 자연수임)개의 금융상품들 각각에 대한 상기 고객의 구매이력과 연관된 구매 결과 값 - 상기 M개의 금융상품들 각각에 대한 구매 결과 값은 각 금융상품에 대해 구매이력이 있는 경우 '1'로, 구매이력이 없는 경우 '0'으로 설정되어 있음 - 이 저장되어 있는 훈련 데이터 저장부;
    상기 M개의 금융상품들 각각에 대한 미리 정해진 서로 다른 M차원의 원-핫(one-hot) 벡터가 저장되어 있는 상품 벡터 저장부;
    상기 N개의 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 제1 가중치 행렬을 곱하여 M차원의 연산 벡터를 생성하고, 기설정된 활성화 함수(Activation Function)를 기초로 상기 M차원의 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 M개의 출력 데이터들로 구성된 M차원의 출력 벡터를 생성하는 출력 벡터 생성부;
    상기 M차원의 출력 벡터와 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 M개의 금융상품들 각각에 대응하는 내적 값을 생성하는 내적 연산부;
    상기 M개의 금융상품들 각각에 대한 내적 값과 상기 M개의 금융상품들 각각에 대한 구매 결과 값을 기초로 기설정된 손실 함수(Loss Function)를 기반으로 한 손실 값을 연산하고, 상기 손실 값이 최소가 되도록 상기 제1 가중치 행렬을 결정하기 위한 기계학습을 수행하는 학습 수행부;
    상기 제1 가중치 행렬을 결정하기 위한 기계학습이 완료된 이후, 제1 고객의 고객 단말로부터 상기 제1 고객에 대한 N개의 제1 개인정보들이 수신되면서, 상기 M개의 금융상품들에 대한 상기 제1 고객의 상품 추천 요청이 수신되면, 상기 기설정된 수치 변환 테이블을 기초로 상기 N개의 제1 개인정보들을 N개의 제1 개인정보 변환 값들로 변환하고 상기 상품 벡터 저장부로부터 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터를 추출하는 추출부;
    상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터가 추출되면, 상기 N개의 제1 개인정보 변환 값들을 성분으로 갖는 개인정보 벡터에 기계학습이 완료된 상기 제1 가중치 행렬을 곱하여 M차원의 제1 연산 벡터를 생성하고, 상기 기설정된 활성화 함수를 기초로 상기 M차원의 제1 연산 벡터를 구성하는 성분들을 '0'과 '1' 사이의 값으로 변환하여 M개의 제1 출력 데이터들로 구성된 M차원의 제1 출력 벡터를 생성하는 추천용 출력 벡터 생성부;
    상기 M차원의 제1 출력 벡터와 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터 간의 내적을 연산함으로써, 상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값을 생성하는 추천용 내적 연산부; 및
    상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값이 생성되면, 상기 M개의 금융상품들 각각에 대응하는 추천용 내적 값을 기설정된 기준 값인 '0.5'와 각각 비교하여 상기 M개의 금융상품들 중 상기 기설정된 기준 값인 '0.5' 이상의 추천용 내적 값을 보유한 적어도 하나의 금융상품을 상기 제1 고객에 대한 추천 금융상품으로 선택하여 상기 제1 고객의 고객 단말로 전송하는 추천 금융상품 전송부
    를 포함하는 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 학습 수행부는
    하기의 수학식 1의 연산에 따라 상기 손실 값을 연산하는 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치.
    [수학식 1]
    Figure 112019081314090-pat00004

    여기서, L은 상기 손실 값, M은 상기 금융상품들의 총 개수, tk는 상기 금융상품들 중 k번째 금융상품에 대한 구매 결과 값, yk는 상기 금융상품들 중 k번째 금융상품에 대응하는 내적 값을 의미함.
  4. 제1항에 있어서,
    상기 추출부는
    현재 시간 값을 기초로 일회용 인증 번호를 생성할 수 있는 미리 정해진 OTP(One Time Password) 생성 함수가 저장되어 있는 OTP 저장부;
    고객 인증에 사용하기 위한 기설정된 유클리드 거리(Euclidean Distance)에 대한 정보가 저장되어 있는 유클리드 거리 저장부;
    상기 제1 고객의 고객 단말로부터 상기 제1 고객에 대한 상기 N개의 제1 개인정보들이 수신되면서, 상기 M개의 금융상품들에 대한 상기 제1 고객의 상품 추천 요청이 수신되면, 상기 OTP 생성 함수를 기초로 현재 시간 값에 따른 제1 일회용 인증 번호를 생성하고, 상기 제1 일회용 인증 번호에서 기설정된 자릿수에 해당되는 숫자를 확인한 후, 상기 숫자의 크기에 대응하는 해밍 무게(Hamming Weight)를 가지면서, 기설정된 길이를 갖는 랜덤 벡터를 랜덤하게 생성하고, 상기 랜덤 벡터를 상기 제1 고객의 고객 단말로 전송하면서, 상기 제1 고객의 고객 단말로 상기 랜덤 벡터에 대응되는 피드백 벡터의 전송을 요청하는 요청부;
    상기 제1 고객의 고객 단말로부터 상기 랜덤 벡터에 대응되는 피드백 벡터로 제1 피드백 벡터 - 상기 제1 피드백 벡터는 상기 랜덤 벡터와의 유클리드 거리가 상기 제1 고객의 고객 단말에 기 저장되어 있는 상기 기설정된 유클리드 거리로 연산되도록 생성된 벡터임 - 가 수신되면, 상기 제1 피드백 벡터와 상기 랜덤 벡터 간의 제1 유클리드 거리를 연산하고, 상기 제1 유클리드 거리가 상기 기설정된 유클리드 거리로 연산되는지 확인함으로써, 상기 제1 고객의 고객 단말에 대한 인증을 완료하는 인증 확인부; 및
    상기 제1 고객의 고객 단말에 대한 인증이 완료되면, 상기 기설정된 수치 변환 테이블을 기초로 상기 N개의 제1 개인정보들을 상기 N개의 제1 개인정보 변환 값들로 변환하고 상기 상품 벡터 저장부로부터 상기 M개의 금융상품들 각각에 대한 M차원의 원-핫 벡터를 추출하는 상품 벡터 추출부
    를 포함하는 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치.
  5. 제4항에 있어서,
    상기 제1 고객의 고객 단말은
    메모리 상에 상기 기설정된 유클리드 거리, 상기 OTP 생성 함수와 동일한 검증용 OTP 생성 함수를 저장하고 있고,
    상기 전자 장치로부터 상기 랜덤 벡터가 수신되면, 상기 메모리 상에 저장되어 있는 상기 검증용 OTP 생성 함수를 기초로 현재 시간 값에 따른 검증용 일회용 인증 번호를 생성한 후, 상기 검증용 일회용 인증 번호에서 상기 기설정된 자릿수에 해당되는 검증용 숫자를 확인하여 상기 랜덤 벡터의 해밍 무게가 상기 검증용 숫자의 크기에 대응하는 해밍 무게와 일치하는지 여부를 확인하며,
    상기 랜덤 벡터의 해밍 무게가 상기 검증용 숫자의 크기에 대응하는 해밍 무게와 일치하는 것으로 확인되는 경우, 상기 랜덤 벡터와의 유클리드 거리가 상기 메모리 상에 저장되어 있는 상기 기설정된 유클리드 거리로 연산되는 상기 제1 피드백 벡터를 랜덤하게 생성하여 상기 전자 장치로 전송하는 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치.
KR1020190096643A 2019-08-08 2019-08-08 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치 KR102128059B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190096643A KR102128059B1 (ko) 2019-08-08 2019-08-08 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190096643A KR102128059B1 (ko) 2019-08-08 2019-08-08 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치

Publications (1)

Publication Number Publication Date
KR102128059B1 true KR102128059B1 (ko) 2020-06-29

Family

ID=71400727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190096643A KR102128059B1 (ko) 2019-08-08 2019-08-08 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치

Country Status (1)

Country Link
KR (1) KR102128059B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210028365A (ko) * 2019-09-04 2021-03-12 (주)투비소프트 인공지능 기반의 기계학습을 통한 사용자 맞춤형 상품 추천 장치
CN112801803A (zh) * 2021-02-07 2021-05-14 中国工商银行股份有限公司 一种理财产品推荐方法和装置
KR102268739B1 (ko) * 2021-03-08 2021-06-24 홍민혜 사용자의 구매 내역에 기반한 상품 추천 방법 및 장치
KR20220011296A (ko) * 2020-07-21 2022-01-28 도형동 휴대폰 번호 기반의 결제 전용계좌를 이용한 결제 처리 서버 및 그 동작 방법
KR102448083B1 (ko) 2021-11-22 2022-09-27 (주)스네일 빅데이터 및 인공지능 기반 고객 맞춤형 금융 상품 추천 방법, 장치 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170125631A (ko) * 2016-05-04 2017-11-15 주식회사 레이니스트 우대금리 기반 금융상품 추천 서비스 제공 방법 및 시스템
KR20180078569A (ko) * 2016-12-30 2018-07-10 한국과학기술연구원 텍스트 기반의 상황 분류 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170125631A (ko) * 2016-05-04 2017-11-15 주식회사 레이니스트 우대금리 기반 금융상품 추천 서비스 제공 방법 및 시스템
KR20180078569A (ko) * 2016-12-30 2018-07-10 한국과학기술연구원 텍스트 기반의 상황 분류 장치 및 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210028365A (ko) * 2019-09-04 2021-03-12 (주)투비소프트 인공지능 기반의 기계학습을 통한 사용자 맞춤형 상품 추천 장치
KR102270321B1 (ko) * 2019-09-04 2021-06-29 (주)투비소프트 인공지능 기반의 기계학습을 통한 사용자 맞춤형 상품 추천 장치
KR20220011296A (ko) * 2020-07-21 2022-01-28 도형동 휴대폰 번호 기반의 결제 전용계좌를 이용한 결제 처리 서버 및 그 동작 방법
KR102437080B1 (ko) * 2020-07-21 2022-08-25 도형동 휴대폰 번호 기반의 결제 전용계좌를 이용한 결제 처리 서버 및 그 동작 방법
CN112801803A (zh) * 2021-02-07 2021-05-14 中国工商银行股份有限公司 一种理财产品推荐方法和装置
CN112801803B (zh) * 2021-02-07 2024-02-02 中国工商银行股份有限公司 一种理财产品推荐方法和装置
KR102268739B1 (ko) * 2021-03-08 2021-06-24 홍민혜 사용자의 구매 내역에 기반한 상품 추천 방법 및 장치
KR20220126182A (ko) * 2021-03-08 2022-09-15 홍민혜 상품 코드와 구매 패턴에 따른 회귀분석을 이용한 상품 추천 방법 및 장치
KR102495011B1 (ko) * 2021-03-08 2023-02-06 홍민혜 상품 코드와 구매 패턴에 따른 회귀분석을 이용한 상품 추천 방법 및 장치
KR102448083B1 (ko) 2021-11-22 2022-09-27 (주)스네일 빅데이터 및 인공지능 기반 고객 맞춤형 금융 상품 추천 방법, 장치 및 시스템

Similar Documents

Publication Publication Date Title
KR102128059B1 (ko) 고객의 정보와 금융상품 구매이력에 기초한 기계학습을 통해 최적의 금융상품을 추천하는 전자 장치
CN111324774B (zh) 一种视频去重方法和装置
Zhang et al. Dtr-gan: Dilated temporal relational adversarial network for video summarization
CN111695415A (zh) 图像识别模型的构建方法、识别方法及相关设备
CN107507028A (zh) 用户偏好确定方法、装置、设备及存储介质
KR102385054B1 (ko) 인공지능 기반의 신용등급 변동 예측 처리 장치 및 그 동작 방법
CN107767152B (zh) 产品购买倾向分析方法及服务器
CN110555148A (zh) 一种用户行为评估方法、计算设备及存储介质
CN112734104B (zh) 一种融合生成对抗网络和自编码器的跨域推荐方法
US20230237252A1 (en) Digital posting match recommendation apparatus and methods
KR102270321B1 (ko) 인공지능 기반의 기계학습을 통한 사용자 맞춤형 상품 추천 장치
CN111078942B (zh) 一种推荐视频的方法、装置及存储介质
KR20230022005A (ko) 화합물 정보 추출을 위한 장치 및 방법
KR102271983B1 (ko) 고객정보와 가상화폐 구매이력을 기반으로 한 기계학습 수행을 통해 사용자 맞춤의 가상화폐 추천을 제공하는 가상화폐 거래 플랫폼 서버 및 그 동작 방법
CN113705698A (zh) 基于点击行为预测的信息推送方法及装置
KR102188115B1 (ko) 생성적 적대 신경망을 기초로 암의 예후 예측에 사용되는 바이오 마커의 선정이 가능한 전자 장치 및 그 동작 방법
EP4133415A1 (en) Training a convolutional neural network
CN110263530A (zh) 密码重置请求的鉴别方法与装置
CN110827078A (zh) 一种信息推荐方法、装置、设备及存储介质
CN116108687A (zh) 一种利用多属性多行为信息的序列推荐方法
CN114048826B (zh) 一种推荐模型训练方法、装置、设备及介质
KR102439959B1 (ko) 이상 결제 여부에 대한 안내 서비스를 제공하는 고객 관리 서비스 서버 및 그 동작 방법
US11836692B1 (en) Apparatus and methods for executing a transaction protocol for rights to non-fungible tokens (NFTs)
CN115567227B (zh) 一种基于大数据安全的身份认证方法及系统
US11313694B2 (en) Method and apparatus for recommending travel way

Legal Events

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