KR101857271B1 - 선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치 - Google Patents

선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치 Download PDF

Info

Publication number
KR101857271B1
KR101857271B1 KR1020160180330A KR20160180330A KR101857271B1 KR 101857271 B1 KR101857271 B1 KR 101857271B1 KR 1020160180330 A KR1020160180330 A KR 1020160180330A KR 20160180330 A KR20160180330 A KR 20160180330A KR 101857271 B1 KR101857271 B1 KR 101857271B1
Authority
KR
South Korea
Prior art keywords
information
selector
function
item
specific
Prior art date
Application number
KR1020160180330A
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 KR1020160180330A priority Critical patent/KR101857271B1/ko
Application granted granted Critical
Publication of KR101857271B1 publication Critical patent/KR101857271B1/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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • G06N99/005
    • 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/0201Market modelling; Market analysis; Collecting market data

Abstract

본 발명은 특정 선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치에 관한 것이다. 본 발명에 따르면, (i) 개별 선택자가 과거 시점부터 상기 특정 시점까지 개별 품목을 선택한 횟수의 정보인 선택 이력 정보, (ii) 상기 선택 이력 정보 및 상기 개별 선택자의 정보인 선택자 정보, 또는 (iii) 상기 선택 이력 정보, 상기 선택자 정보 및 상기 특정 시점에 의존하는 정보인 로그 정보를 획득하거나 타 장치로 하여금 획득하도록 지원하고; (i) 획득된 상기 선택 이력 정보, (ii) 획득된 상기 선택 이력 정보 및 상기 선택자 정보, 또는 (iii) 획득된 상기 선택 이력 정보, 상기 선택자 정보 및 상기 로그 정보로부터 로지스틱 회귀 모형의 회귀 계수를 구하거나 상기 타 장치로 하여금 구하도록 지원하며; 상기 회귀 계수 및 상기 회귀 계수에 대응되는 로지스틱 회귀 모형을 이용하여 상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값을 산출하거나 상기 타 장치로 하여금 산출하도록 지원하는 방법 및 이를 이용한 컴퓨팅 장치가 제공된다.

Description

선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치{METHOD FOR PREDICTING WHETHER A CHOOSER WILL CHOOSE AN ITEM AT A CERTAIN MOMENT AND COMPUTING APPPARATUS USING THE SAME}
본 발명은 특정 선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치에 관한 것으로, 보다 상세하게는, (i) 개별 선택자가 과거 시점부터 상기 특정 시점까지 개별 품목을 선택한 횟수의 정보인 선택 이력 정보, (ii) 상기 선택 이력 정보 및 상기 개별 선택자의 정보인 선택자 정보, 또는 (iii) 상기 선택 이력 정보, 상기 선택자 정보 및 상기 특정 시점에 의존하는 정보인 로그 정보를 획득하거나 타 장치로 하여금 획득하도록 지원하고; (i) 획득된 상기 선택 이력 정보, (ii) 획득된 상기 선택 이력 정보 및 상기 선택자 정보, 또는 (iii) 획득된 상기 선택 이력 정보, 상기 선택자 정보 및 상기 로그 정보로부터 로지스틱 회귀 모형의 회귀 계수를 구하거나 상기 타 장치로 하여금 구하도록 지원하며; 상기 회귀 계수 및 상기 회귀 계수에 대응되는 로지스틱 회귀 모형을 이용하여 상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값을 산출하거나 상기 타 장치로 하여금 산출하도록 지원하는 방법 및 이를 이용한 컴퓨팅 장치에 관한 것이다.
본 명세서에서 추천 시스템(Recommender System; RS)은 선택자가 선택할 품목을 제안하는 소프트웨어 기술 및 도구를 지칭하는 용어이다. 그러한 제안은 다양한 결정 과정, 예컨대 어떤 품목을 구입할 것인지, 어떠한 음악을 들을 것인지, 어떠한 온라인 뉴스를 읽을 것인지, 어떠한 애플리케이션을 구매하거나 사용할 것인지 등과 같은 결정을 하는 과정에 관한 것이다. 여기에서 품목(item)이라 함은 추천 시스템이 선택자들에게 추천하는 대상을 지칭하는 데 이용되는 일반적인 용어로서, 유무형의 특정 상품 종류에 한하지 않고, 어떠한 다양한 항목도 선택자가 선택할 대상이 되는 것이라면 품목의 개념에 포함된다.
추천 시스템은 보통 특정 유형의 품목에 초점을 두고 있으므로, 추천 시스템의 디자인, 그래피컬 사용자 인터페이스(graphical user interface; GUI) 및 핵심 추천 기술은 그러한 특정 유형의 품목의 유용하고 효과적인 제안 사항을 제공하도록 커스터마이징된다.
보다 학문적인 정의에 따르면, 추천 시스템이라고 함은 (음악, 책, 영화 등과 같은) 품목 또는 (사람 또는 인맥과 같은) 사회적 요소에 대하여 선택자가 부여할 선호도(rating 혹은 preference)를 예측하고자 하는 정보 정화 시스템(information filtering system)의 하위 분류(subclass)를 지칭하며, 이 추천 시스템은 품목의 특성이나 선택자의 사회적 환경에 기초하여 세워진 모델을 이용한다. 품목의 특성을 고려하는 전자의 접근법을 콘텐츠 기반 접근법(content-based approach)이라고 하는 반면에 사회적 환경을 고려하는 후자의 접근법을 협력적 정화 접근법(collaborative filtering approach)라고 한다.
이와 같은 추천 시스템의 개념이 대두되어 실제로 산업상 이용되기 시작한 것은 인터넷과 같은 미디어를 통하여 다량의 선호도 정보를 입수할 수 있게 된 때부터이다. 인터넷을 매개로 하지 않는 재래의 상점(이른바 "bricks and mortar" 상점)은 선호도에 대한 다량의 정보를 입수할 수 없었으므로, 선호도에 대한 제한적인 정보만을 가지고 특정 선택자의 선호도를 합리적으로 예측하는 것이 불가능했다{이른바 롱테일 현상(long tail phenomenon)}. 인터넷이 대중화된 다음에야 비로소 지금까지 과거 10여년 동안 다양한 추천 시스템이 개발되어 실무에 적용되어 온 것이다.
다양한 추천 시스템 가운데서도 본 명세서에서 중점적으로 다루고자 하는 추천 시스템은 선택 자료, 즉 선택자들이 과거에 어떠한 품목을 선택하였는지를 나타내는 선택 이력 정보와 선택자가 가진 고유의 선택자 정보(예를 들어 인구 통계학적 정보, 상황 정보 등)을 이용하여 선택자가 선택할 품목을 예측 또는 제안하는 시스템(system; 체계)인바, 문맥에서 달리 언급하지 않는 한 본 명세서의 "추천 시스템"은 그러한 시스템을 지칭한다.
우선, 종래의 추천 시스템에 이용되던 연관 규칙의 개념을 설명하기로 한다. 선택 자료를 이용한 기존의 추천 시스템은 연관 규칙(association rule) 분석법을 이용하였다. 여기에서 연관 규칙 분석이라고 함은 선택 자료로부터 품목 간의 연관 규칙을 찾아내는 분석을 지칭하며, 연관 규칙이라고 함은 유용한 규칙, 자명한 규칙, 설명 불가능한 규칙 등을 아우르는 개념을 지칭한다. 연관 규칙 분석을 통하여 연관 규칙들 중에서 유용한 규칙을 찾아내어 추천 시스템에 활용할 수 있게 된다.
다음으로, 연관 규칙 분석의 측도(measure)을 설명한다. 연관 규칙이 유용한 규칙일 필요 조건에 대한 측도에는 지지도, 신뢰도, 향상도가 있다.
이 중 지지도의 정의는 다음과 같다. 연관 규칙 X => Y가 있으면, 그 연관 규칙의 지지도는 전체 거래들 중 품목 X와 품목 Y를 동시에 포함하는 거래의 비율로 정의된다. 다음 수식이 이를 표현한다.
Figure 112016128170280-pat00001
신뢰도의 정의는 다음과 같다. 연관 규칙 X => Y가 있으면, 그 연관 규칙의 신뢰도는 품목 X를 포함하는 거래들 중 품목 Y를 포함하는 거래의 비율로 정의된다. 이는 다음 수식으로 표현된다.
Figure 112016128170280-pat00002
향상도의 정의는 다음과 같다. 연관 규칙 X => Y가 있으면, 그 연관 규칙의 향상도는 품목 X가 주어지지 않았을 때의 품목 Y의 확률 대비 품목 X가 주어졌을 때의 품목 Y의 확률의 증가 비율로 정의된다. 이를 다음 수식으로 표현할 수 있다.
Figure 112016128170280-pat00003
연관 규칙 분석 방법들 중에서 가장 먼저 개발되었으며 또 가장 많이 쓰이는 대표적인 방법으로는 Apriori 알고리즘이 있다. 간략히 설명하자면, Apriori 알고리즘은 최소 지지도보다 큰 집합(빈발 품목 집합; frequent item set)만을 대상으로 높은 지지도를 가지는 품목 집합을 찾는 알고리즘이다.
이 알고리즘은 좀 더 구체적으로 다음의 두 단계로 구성된다. 첫 번째 단계에서는 설정된 최소 지지도를 초과하는 빈도수가 높은 품목들의 집합, 즉 빈발 품목 집합을 생성하고, 그 다음 단계에서는 빈발 품목 집합에서 최소 신뢰도를 초과하는 모든 규칙을 생성한다.
전술한 첫 번째 단계를 더 상세하게 설명하면, 우선, 개별 품목 중에서 최소 지지도를 넘는 모든 품목을 찾아낸 후에, 찾은 개별 품목만을 이용하여 최소 지지도를 넘는 2가지 품목 집합을 찾는다. 또한, 찾은 개별 품목만을 이용하여 최소 지지도를 넘는 3가지 품목 집합을 찾는다. 이 과정을 반복적으로 수행함으로써 최소 지지도를 넘는 빈발 품목 집합들을 찾을 수 있게 된다.
그런데 이러한 Apriori 알고리즘의 특징을 살펴보면 품목의 수가 증가할수록 계산량이 많아지며, 선택자(고객)의 인구통계학적 정보(demographic)나 품목의 내용 정보를 분석에 이용하기가 어렵다는 문제점이 있다. 또한, 새로운 선택자나 새로운 품목에 대한 추천이 어렵다는 콜드 스타트(cold start; 냉시동) 문제도 있다. 이러한 문제점은 본 발명이 속한 기술분야에서 통상의 지식을 가진 사람(이하 "통상의 기술자"라 함)에게 알려져 있다.
이에, 본 발명자는, 종래의 추천 시스템에 이용되던 방법 및 시스템에 비하여 우수한 성능을 가지면서도 계산량을 절감할 수 있도록 추천 시스템을 구성하는 방법 및 시스템을 제안하고자 한다. 본 명세서에서 상세히 설명하는 본 발명에 고유한 분석 방법으로서, 특정 선택자에게 특정 시점에 선택할 특정 물품을 추천하기 위하여 로지스틱 회귀 모형을 이용하는 분석 방법은 본 발명자에 의해 장바구니 회귀분석법(Market Basket Regression)이라는 이름으로 명명된다.
본 발명은 상술한 종래의 추천 시스템이 가지는 단점을 해결하는 것을 목적으로 한다.
구체적으로, 본 발명은 종래의 연관성 분석에서는 이용되지 않았던 회귀 모형을 이용하여 추천 시스템의 예측력을 높이는 것을 목적으로 한다.
또한, 본 발명은 선택 이력 정보 외에 부가되는 정보, 즉 선택자의 인구통계학적 정보나 상황 정보인 선택자 정보를 손쉽게 반영할 수 있는 방법 및 시스템을 제공하는 것을 다른 일 목적으로 한다.
그리고 본 발명은 병렬 처리를 가능하게 하여 방대한 자료에 대하여도 쉽게 적용될 수 있는 방법 및 시스템을 제공하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 특정 선택자가 특정 시점 t에 적어도 하나의 특정 품목(item)을 선택할지 여부를 예측하기 위한 방법이 제공되는바, 그 방법은, (a) 컴퓨팅 장치가, (i) 개별 선택자 u가 과거 시점 t-1부터 상기 특정 시점 t까지 개별 품목 i를 선택한 횟수의 정보인 선택 이력 정보
Figure 112016128170280-pat00004
= rui(t-1), (ii) 상기 선택 이력 정보
Figure 112016128170280-pat00005
및 상기 개별 선택자 u의 정보인 선택자 정보 Zu, 또는 (iii) 상기 선택 이력 정보
Figure 112016128170280-pat00006
, 상기 선택자 정보 Zu 및 상기 특정 시점 t에 의존하는 정보인 로그 정보 Wt를 획득하거나 타 장치로 하여금 획득하도록 지원하는 단계; (b) 상기 컴퓨팅 장치가, (i) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00007
, (ii) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00008
및 상기 선택자 정보 Zu, 또는 (iii) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00009
, 상기 선택자 정보 Zu 및 상기 로그 정보 Wt로부터 제1 로지스틱 회귀 모형
Figure 112016128170280-pat00010
,
Figure 112016128170280-pat00011
의 계수
Figure 112016128170280-pat00012
또는 제2 로지스틱 회귀 모형
Figure 112016128170280-pat00013
의 계수
Figure 112016128170280-pat00014
를 회귀 계수로서 구하거나 상기 타 장치로 하여금 구하도록 지원하는 단계로서, 상기
Figure 112016128170280-pat00015
는, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택할지 여부를 나타내는 확률 변수이되, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택하면 1, 선택하지 않으면 0인 확률 변수를 지칭하고, 상기
Figure 112016128170280-pat00016
이며, 상기
Figure 112016128170280-pat00017
이고, 상기 ×는 행렬 곱(matrix multiplication)인, 단계; 및 (c) 상기 컴퓨팅 장치가, 상기 회귀 계수 및 상기 회귀 계수에 대응되는 로지스틱 회귀 모형을 이용하여 상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값을 산출하거나 상기 타 장치로 하여금 산출하도록 지원하는 단계를 포함한다.
본 발명의 다른 태양에 따르면, 특정 선택자가 특정 시점 t에 적어도 하나의 특정 품목(item)을 선택할지 여부를 예측하기 위한 컴퓨팅 장치가 제공되는바, 그 장치는, (i) 개별 선택자 u가 과거 시점 t-1부터 상기 특정 시점 t까지 개별 품목 i를 선택한 횟수의 정보인 선택 이력 정보
Figure 112016128170280-pat00018
=rui(t-1), (ii) 상기 선택 이력 정보
Figure 112016128170280-pat00019
및 상기 개별 선택자 u의 정보인 선택자 정보 Zu, 또는 (iii) 상기 선택 이력 정보
Figure 112016128170280-pat00020
, 상기 선택자 정보 Zu 및 상기 특정 시점 t에 의존하는 정보인 로그 정보 Wt를 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및 (i) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00021
, (ii) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00022
및 상기 선택자 정보 Zu, 또는 (iii) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00023
, 상기 선택자 정보 Zu 및 상기 로그 정보 Wt로부터 제1 로지스틱 회귀 모형
Figure 112016128170280-pat00024
,
Figure 112016128170280-pat00025
의 계수
Figure 112016128170280-pat00026
또는 제2 로지스틱 회귀 모형
Figure 112016128170280-pat00027
의 계수
Figure 112016128170280-pat00028
를 회귀 계수로서 구하거나 상기 타 장치로 하여금 구하도록 지원하는 프로세서를 포함하며, 상기
Figure 112016128170280-pat00029
는, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택할지 여부를 나타내는 확률 변수이되, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택하면 1, 선택하지 않으면 0인 확률 변수를 지칭하고, 상기
Figure 112016128170280-pat00030
이며, 상기
Figure 112016128170280-pat00031
이고, 상기 ×는 행렬 곱(matrix multiplication)이며, 상기 프로세서는, 상기 회귀 계수 및 상기 회귀 계수에 대응되는 로지스틱 회귀 모형을 이용하여 상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값을 산출하거나 상기 타 장치로 하여금 산출하도록 지원한다.
본 발명의 방법에 의하면, 예측력이 높은 회귀모형이 접목되어 추천 시스템의 예측력이 우수해지는 동시에 병렬처리가 가능하게 됨으로써 방대한 계산이 여러 장치에 분산되어 이루어질 수 있게 된다는 효과가 있다.
이와 같은 장점으로 인하여 종래에는 다루기 힘들었던 규모의 방대한 자료에 대하여도, 선택을 예측 또는 제안하는 추천 시스템을 적용할 수 있다.
또한 본 발명의 방법 및 장치에 의하면 선택 이력 자료 외의 부가 정보인 선택자 정보, 로그 정보 등이 쉽게 반영될 수 있는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 통상의 기술자에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명에 따라 특정 선택자가 특정 시점에 적어도 하나의 특정 품목을 선택할지 여부를 예측하기 위한 방법을 수행하는 컴퓨팅 장치의 예시적 구성을 개략적으로 도시한 개념도이다.
도 2는 본 발명에 따라 특정 선택자가 특정 시점에 적어도 하나의 특정 품목을 선택할지 여부를 예측하기 위한 방법을 예시적으로 나타낸 흐름도이다.
도 3은 본 발명에 따른 방법에 이용되는 자료 구조의 일 예시를 행렬의 형태로 도시한 도면이다.
도 4는 본 발명에 따른 방법에 이용되는 자료 구조의 다른 일 예시를 행렬의 형태로 도시한 도면이다.
도 5는 본 발명에 따른 방법이 분산 처리되는 하드웨어 아키텍처를 개략적으로 설명하기 위한 개념도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
본 명세서에서 '학습'은 절차에 따라 머신 러닝(machine running)을 수행함을 일컫는 용어인바, 인간의 교육 활동과 같은 정신적 작용을 지칭하도록 의도된 것이 아님을 통상의 기술자는 잘 이해할 수 있을 것이다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, '포함하다'라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
본 명세서에서 "선택"의 개념은 광의의 개념으로서, "구매"의 개념을 포함하는 것으로 이해되어야 한다.
본 발명의 몇몇 실시예는 전자 상거래 시스템 및/또는 현재 알려져 있거나 향후 개발될 기타 거래 추천 시스템 상에서 구현될 수 있다. 본 발명에 따른 방법으로서 제공되는 추천 시스템들을 실시하기 위한 컴퓨팅 장치는 전형적으로 컴퓨터 하드웨어(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨터 시스템의 구성요소들을 포함할 수 있는 클라이언트 컴퓨터 및 서버 컴퓨터; 전자 통신선, 라우터, 스위치 등등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨터 하드웨어로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 활용하여 원하는 시스템 성능을 달성한다.
도 1은 본 발명에 따라 특정 선택자가 특정 시점에 적어도 하나의 특정 품목을 선택할지 여부를 예측하기 위한 방법을 수행하는 컴퓨팅 장치의 예시적 구성을 개략적으로 도시한 개념도이다.
도 1에는 본 발명에 따른 방법을 수행하는 컴퓨팅 장치(100)가 도시되는바, 컴퓨팅 장치(100)는 통신부(110) 및 프로세서(120)를 포함한다. 컴퓨팅 장치(100)는 본 발명의 방법에 따라 데이터를 획득하고, 이를 처리하여 원하는 추천 정보를 선택자들에게 제공할 수 있다. 아래에서 상술되는 바와 같이 본 발명의 방법이 컴퓨터 하드웨어 및 소프트웨어의 조합을 활용하여 구현될 것이라는 점은 통상의 기술자는 용이하게 이해할 것이다.
이제 본 발명에 따른 방법에 대하여 설명하기로 한다. 도 2는 본 발명에 따라 특정 선택자가 특정 시점에 적어도 하나의 특정 품목을 선택할지 여부를 예측하기 위한 방법을 예시적으로 나타낸 흐름도이다.
도 2를 참조하면, 본 발명에 따른 방법은, 컴퓨팅 장치(100)의 통신부(110)가, (i) 개별 선택자 u가 과거 시점 t-1부터 상기 특정 시점 t까지 개별 품목 i를 선택한 횟수의 정보인 선택 이력 정보
Figure 112016128170280-pat00032
=rui(t-1), (ii) 상기 선택 이력 정보
Figure 112016128170280-pat00033
및 상기 개별 선택자 u의 정보인 선택자 정보 Zu, 또는 (iii) 상기 선택 이력 정보
Figure 112016128170280-pat00034
, 상기 선택자 정보 Zu 및 상기 특정 시점 t에 의존하는 정보인 로그 정보 Wt를 획득하거나 타 장치로 하여금 획득하도록 지원하는 단계(S210)를 포함한다.
설명의 편의를 위한 몇 가지 표기법을 설명하자면,
Figure 112016128170280-pat00035
는, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택할지 여부를 나타내는 확률 변수이되, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택하면 1, 선택하지 않으면 0인 확률 변수를 지칭하며,
Figure 112016128170280-pat00036
는 선택자 u의 선택 여부를 나타내는 확률 벡터이고, rui(t)는 Rui(t)에 대한 관측값인 선택 이력 정보이며, Zu는 선택자 u의 정보인 선택자 정보이다. 또한, 선택자마다 다른 선택자 정보뿐만 아니라 기타 로그 정보 Wt도 고려될 수 있는바, 예를 들어 각 품목에 대한 할인 정보나 날씨 정보 등이 그러한 로그 정보의 일 예시이다. 이는 선택자마다 달라지기보다는 시점에 따라 달라지므로, Wt로 표기한 것이다.
다음으로 도 2를 참조하면, 본 발명에 따른 방법은, 컴퓨팅 장치(100)의 프로세서(120)가, (i) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00037
, (ii) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00038
및 상기 선택자 정보 Zu, 또는 (iii) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00039
, 상기 선택자 정보 Zu 및 상기 로그 정보 Wt로부터 제1 로지스틱 회귀 모형
Figure 112016128170280-pat00040
,
Figure 112016128170280-pat00041
의 계수
Figure 112016128170280-pat00042
, 또는 제2 로지스틱 회귀 모형
Figure 112016128170280-pat00043
의 계수
Figure 112016128170280-pat00044
를 회귀 계수로서 구하거나 상기 타 장치로 하여금 구하도록 지원하는 단계(S220)를 더 포함한다.
구체적으로, 단계(S220)에서 이용된 제1 로지스틱 회귀 모형은 다음과 같다.
Figure 112016128170280-pat00045
여기에서, ×는 행렬 곱이며,
Figure 112016128170280-pat00046
는 상기 제1 로지스틱 회귀 모형의 회귀 계수이고,
Figure 112016128170280-pat00047
이며,
Figure 112016128170280-pat00048
이고,
Figure 112016128170280-pat00049
,
Figure 112016128170280-pat00050
이다.
또한,
Figure 112016128170280-pat00051
Figure 112016128170280-pat00052
가 1일 확률값의 로짓(logit)값과 선형 관계에 있다. 이를 수직으로 표현하면 다음과 같다.
Figure 112016128170280-pat00053
따라서
Figure 112016128170280-pat00054
중 하나의 스칼라가 양수이고 그 값이 커지면 커질수록
Figure 112016128170280-pat00055
가 1일 확률값이 커지고
Figure 112016128170280-pat00056
중 하나의 스칼라가 음수이고 그 값이 커지면 커질수록
Figure 112016128170280-pat00057
가 1일 확률값이 작아진다. 이러한
Figure 112016128170280-pat00058
는 과거의 선택 횟수와 현재 시점에서 상품 i를 선택할 확률과의 관계로도 볼 수 있다.
위 제1 로지스틱 회귀 모형은 특정 시점(예컨대 현재 시점)에서 품목의 선택 여부를 과거 품목들의 선택 횟수를 이용하여 모형화한 것이다. 모형을 살펴보면 알 수 있는 바와 같이 각 품목별로 모형을 세우기 때문에 서로 다른 계수 값들을 가지게 된다.
이제 선택자 u의 정보를 상기 모형에 추가로 반영하고자 한다면 다음의 제2 로지스틱 회귀 모형에서 보듯 쉽게 반영할 수 있다.
Figure 112016128170280-pat00059
Figure 112016128170280-pat00060
Figure 112016128170280-pat00061
와 의미는 같으며, 단지 선택자 정보에 대한 회귀 계수가 추가된 것이다.
위 제2 로지스틱 회귀 모형에 이용하게 될 자료 구조는 도 3에 도시된 바와 같다. 도 3에 도시된 행렬의 y 부분은 7월에 개별 선택자들이 품목 I를 선택할지 여부를 나타낸 확률 벡터이며, X 부분은 과거 시점에서 품목들이 선택되었는지 여부를 나타낸 확률 변수를 나타낸 부분이고, Z 부분은 개별 선택자들에 대응되는 부가 정보(예컨대, 성별, 주소, 기타 등등을 나타내는 정보), 즉 선택자 정보에 해당하는 부분이다. 이 자료 구조에 상기 로그 정보 Wt를 추가한 것이 도 4에 도시되어 있다. 예를 들어 도 4에는 각 품목에 대한 7월의 할인 정보나 7월 평균 기온 정보 등이 포함되어 있다. 이 경우에 상기 Zu에 Wt를 결합한 것을 Zu에 대입하는 것으로 손쉽게 상기 회귀 모형이 확장될 수 있다. 도 3 내지 4에서는 상기 제2 로지스틱 회귀 모형에 관하여만 도시되었으나, 앞서 언급한 제1 로지스틱 회귀 모형만을 이용하여 본 발명을 구현할 수도 있을 것이며, 통상의 기술자는 상기 제1 로지스틱 회귀 모형에 이용되는 자료 구조가 어떠한지를 쉽게 이해할 수 있을 것이다. 따라서 아래에서는 중복적인 서술을 피하기 위하여 제2 로지스틱 회귀 모형의 회귀 계수인
Figure 112016128170280-pat00062
에 대하여 기술하며, 이로써 제1 로지스틱 회귀 모형의 회귀 계수인
Figure 112016128170280-pat00063
에 대한 설명으로 갈음할 것이다.
이제, 전술한 로지스틱 회귀 모형 중 어느 하나와 이에 대응되는 자료 구조를 가지고 특정 시점에 특정 선택자가 특정 품목을 선택할지 여부를 추정하기로 한다.
본 발명의 제1 실시예에서, 기본적으로 풀어야 할 문제는 다음과 같은 우도 함수(likelihood function;
Figure 112016128170280-pat00064
)를 최대화하는 것이다.
Figure 112016128170280-pat00065
이에 따르면, 단계(S220)는, 컴퓨팅 장치(100)의 프로세서(120)가, 제1 우도 함수
Figure 112016128170280-pat00066
를 최대화하는 상기 회귀 계수
Figure 112016128170280-pat00067
, 또는 제2 우도 함수
Figure 112016128170280-pat00068
를 최대화하는 상기 회귀 계수
Figure 112016128170280-pat00069
를 구하거나 통신부(110)를 통하여 상기 타 장치로 하여금 구하도록 지원하는 것을 특징으로 할 수 있다. 이때, 제1 우도 함수는 제1 로지스틱 회귀 모형을 이용하는 경우에 필요로 될 것이고, 제2 우도 함수는 제2 로지스틱 회귀 모형을 이용하는 경우에 필요로 될 것이다.
또한 수학식 8에 로그를 취하여 (제1 경우) 로그 우도 함수(log-likelihood function;
Figure 112016128170280-pat00070
)를 최대화해주는 회귀 계수를 구하거나 (제2 경우) 마이너스를 붙여 마이너스 로그 우도 함수를 최소화하는 회귀 계수를 구할 수 있는데, 이는 전술한 수학식 7로 보여진 것과 수학적으로 동치인 것이다.
상기 제1 경우와 제2 경우 각각에 대응되는 수식은 다음 수학식 8 및 9와 같다. 앞서 언급하였듯이, 제2 로지스틱 회귀 모형을 위주로 수학식 8 및 9를 설명하면 다음과 같다.
Figure 112016128170280-pat00071
Figure 112016128170280-pat00072
이에 따르면, 단계(S220)는, 상기 프로세서(120)가,
Figure 112016128170280-pat00073
또는
Figure 112016128170280-pat00074
를 상기 회귀 계수
Figure 112016128170280-pat00075
로서 구하거나 상기 통신부(110)를 통하여 상기 타 장치로 하여금 구하도록 지원하는 프로세스를 수행하는 것을 특징으로 할 수도 있다.
참고로, 제1 로지스틱 회귀 모형에 의하면, 단계(S220)는, 상기 프로세서(120)가,
Figure 112016128170280-pat00076
또는
Figure 112016128170280-pat00077
를 상기 제1 로지스틱 회귀 모형에 대응되는 회귀 계수
Figure 112016128170280-pat00078
로서 구하거나 상기 통신부(110)를 통하여 상기 타 장치로 하여금 구하도록 지원하는 프로세스를 수행하는 것을 특징으로 할 수도 있다.
전술한 수학식에 기초한 계산을 통하여 회귀 계수를 구하는 전형적인 수치계산 방법 중 하나는 뉴턴-랩슨법(Newton Raphson method)이다. 이 뉴턴-랩슨법은 1685년에 처음으로 공개되었으며, 1690년에 조셉 랩슨(Joseph Raphson)에 의하여 그 방법의 간략화된 설명이 제시되었는바, 통상의 기술자에게 알려져 있거나 용이하게 이해될 수 있는 바와 같다. 이에 대한 더 상세한 설명은 본 발명을 이해하는 데 있어서 불필요한 세부이므로 생략될 것이다.
한편, 본 발명의 방법의 수행에 있어서는, 개별 품목의 수가 많아질수록 계산량이 증가되나, 품목별로 회귀 계수를 계산할 수 있어 병렬 처리가 가능한바, 도 5에 개략적으로 도시된 바와 같다.
구체적으로, 도 5를 참조하면, 컴퓨팅 장치(100)와 연동되는 제1 분산 장치(100-1), 제2 분산 장치(100-2), ..., 및 제I 분산 장치(100-I)에 의하여 품목별 회귀 계수의 계산이 병렬로 이루어지는 일 예시적 분산 구성이 도시되어 있다.
이와 같이, 컴퓨팅 장치(100)는, 타 장치와 연동될 수 있으며, 타 장치는 복수 개의 분산 장치(100-1 내지 100-I)를 포함할 수 있다. 이 경우, 상기 분산 장치는 개별 품목 i에 대응되도록 마련될 수도 있다. 그러한 개별 품목에의 대응 관계는 모든 개별 품목 i에 대하여 각각 분산 장치가 마련된 1:1 대응 관계일 수 있으나, 이에 한정되지 않으며, 개별 품목 i마다 대응되는 분산 장치가 정해지는 함수적 관계일 수도 있다.
요컨대, 본 발명에 따른 방법과 이와 같은 분산 구성에 따르면 종래의 추천 시스템 기술에 비하여 전체적으로 손쉽게 병렬처리를 이용할 수 있는 장점이 있다.
다만, 상기 수학식 7 내지 9와 관련하여 전술한 계산 방식으로는 설명 변수로 들어가는 것이 과거 품목의 선택 횟수이기 때문에 다중공선성의 문제점이 있을 가능성이 있다. 다중공선성이라 함은 회귀 분석에 이용된 모형의 일부 설명 변수가 다른 설명 변수와 상관 정도가 높아 데이터 분석시에 부정적인 영향을 끼치는 현상을 의미한다. 예를 들어 기저귀를 사는 사람이 분유를 살 가능성이 높으므로 기저귀의 선택 횟수와 분유의 선택 횟수가 서로 강한 상관관계에 있을 가능성이 높다. 이러한 다중공선성은 회귀 계수의 분산을 크게 하기 때문에 추정된 회귀 계수를 믿을 수 없게 되는 문제가 된다. 이와 같은 다중공선성의 문제점을 해결하기 위하여 목적 함수(마이너스 로그 우도 함수)에 소정의 벌점화 함수(penalty function)
Figure 112016128170280-pat00079
를 추가할 수 있다.
이에 따르면, 단계(S220)는, 상기 프로세서(120)가, 상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값이 산출될 수 있도록,
Figure 112016128170280-pat00080
를 상기 제2 로지스틱 회귀 모형에 대응되는 회귀 계수
Figure 112016128170280-pat00081
로서 구하거나 상기 타 장치로 하여금 구하도록 지원하는 프로세스를 수행하는 것을 특징으로 할 수 있다. 여기에서,
Figure 112016128170280-pat00082
인 점은 전술한 바와 같다.
참고로, 상기 제1 로지스틱 회귀 모형에 의하면, 단계(S220)는, 상기 프로세서(120)가,
Figure 112016128170280-pat00083
를 상기 제1 로지스틱 회귀 모형에 대응되는 회귀 계수
Figure 112016128170280-pat00084
로서 구하거나 상기 타 장치로 하여금 구하도록 지원하는 프로세스를 수행하는 것을 특징으로 할 수도 있다. 마찬가지로,
Figure 112016128170280-pat00085
이다.
상기 소정의 벌점화 함수의 일 예시로서, 리지 벌점화 함수(Ridge penalty function)
Figure 112016128170280-pat00086
를 추가한 경우는 다음과 같다.
Figure 112016128170280-pat00087
단, λ는 조율 모수이다.
그런데, 설명 변수가 많고 이러한 설명 변수를 모두 이용할 경우에는 예측력이 오히려 떨어지게 된다. 따라서 설명 변수의 선택을 위하여 다음과 같이 벌점화 함수
Figure 112016128170280-pat00088
를 추가하여 회귀 계수들을 구할 수도 있다.
Figure 112016128170280-pat00089
마찬가지로 λ는 조율 모수이다.
그런데, 이 벌점화 함수(
Figure 112016128170280-pat00090
)는 비볼록함수이기 대문에 최소값을 구하기 용이하지 않다. 따라서 이 비볼록함수의 볼록 대리함수(convex surrogate, LASSO penalty function)로 대체할 수 있는바 그 볼록 대리함수
Figure 112016128170280-pat00091
를 추가하면 다음과 같다.
Figure 112016128170280-pat00092
이 λ 역시 조율 모수이다.
여기에서 다중공선성과 변수 선택의 효과를 동시에 얻기 위하여 다음과 같은 elastic net 벌점화 함수(Elasticnet penalty function)
Figure 112016128170280-pat00093
를 추가하여 회귀 계수를 구하도록 할 수도 있다.
Figure 112016128170280-pat00094
여기에서 λ 및 α는 조율 모수이다.
지금까지 여러 가지 벌점화 함수가 예시적으로 제시되었으나 벌점화 함수
Figure 112016128170280-pat00095
는 경우에 따라 다양하게 변형되어 회귀 계수를 구하는 데 이용될 수 있다. 이와 같은 벌점화 함수가 추가된 경우에도 회귀 계수를 구하는 데에 뉴턴-랩슨법이 이용될 수 있다. 이때, 벌점화 함수에 붙어 있는 λ 및 α는 조율 모수로서, λ 및 α를 먼저 정하고 나서 뉴턴-랩슨법을 시행하는 것이 보통이다.
이에 따르면, 단계(S220)는, 상기 프로세서(120)가, 상기 조율 모수를 구하거나 상기 통신부(110)를 통하여 상기 타 장치로 하여금 구하도록 지원하는 단계(S226); 및 상기 프로세서(120)가, 상기 조율 모수에 기초하여 상기 회귀 계수를 구하거나 상기 통신부(110)를 통하여 상기 타 장치로 하여금 구하도록 지원하는 단계(S228)를 포함하도록 구성될 수도 있다.
통계학적으로 잘 알려져 있는 바에 따르면 최적(optimal)의 조율 모수를 구하기 위하여, 여러 개의 λ 및 α들에 교차 검증법(cross validation)을 적용할 수 있다.
다시 도 2를 참조하면, 본 발명에 따른 방법은, 컴퓨팅 장치(100)의 프로세서(120)가, 상기 회귀 계수 및 상기 회귀 계수에 대응되는 로지스틱 회귀 모형을 이용하여 상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값을 산출하거나 통신부(110)를 통하여 상기 타 장치로 하여금 산출하도록 지원하는 단계(S230)를 더 포함한다.
단계(S230)에서는 제1 로지스틱 회귀 모형을 이용하여
Figure 112016128170280-pat00096
가 도출되거나 제2 로지스틱 회귀 모형을 이용하여
Figure 112016128170280-pat00097
가 도출되고, 도출된
Figure 112016128170280-pat00098
또는
Figure 112016128170280-pat00099
에 특정 선택자 u1, 특정 시점 t, 특정 품목 i1를 대입(assign)하여 예측값이 산출된다.
또 도 2를 참조하면, 본 발명에 따른 방법은, 컴퓨팅 장치(100)의 프로세서(120)가, 산출된 상기 예측값을 이용하여 상기 특정 시점에 상기 특정 선택자에게 상기 특정 품목을 추천하는 정보인 추천 정보를 생성하고, 소정의 표시 장치(display apparatus)를 통하여 상기 생성된 추천 정보를 상기 특정 선택자에게 표시하는 단계(S240)를 더 포함할 수 있다.
이 단계(S240)에서는, 보다 구체적으로, 상기 추천 정보가, 상기 특정 시점에 상기 특정 선택자에 대하여 품목별로 획득된 예측값이 가장 높은 n개의 품목을 추천하는 정보일 수 있는바, 여기에서 n은 소정의 자연수, 예컨대, 1, 2, 3 등을 지칭한다.
이와 같이 특정 품목을 추천 정보를 생성하고, 그래피컬 사용자 인터페이스(Graphic User Interface; GUI)를 이용하여 소정의 표시 장치 상에 그 추천 정보를 표시하는 방법은 아마존(Amazon), 넷플릭스(Netflix) 등과 같은 현존하는 전자 상거래 사이트에 이용되고 있는 것과 같이 통상의 기술자에게 잘 알려져 있다.
한편, 전술한 본 발명의 제1 실시예를 확장하여, 아래에서 설명하는 바와 같은 제2 실시예를 구성할 수도 있다.
우선, 상기 수학식 9의 마이너스 로그 우도 함수는 수학적으로 다음과 같은 로지스틱 손실 함수를 손실 함수로 가지는 목적 함수와 동치이다.
Figure 112016128170280-pat00100
Figure 112016128170280-pat00101
수학식 14의 목적 함수가 수학식 9의 마이너스 로그 우도 함수와 동치라는 것은 아래 수학식 15와 수학식 16이 동치라는 점으로부터 도출된다.
Figure 112016128170280-pat00102
Figure 112016128170280-pat00103
Figure 112016128170280-pat00104
따라서, 상기 수학식 14에서의 손실 함수를 상기 제1 실시예에서와 같은 로지스틱 손실 함수 외에 다른 분류의 손실 함수들을 이용하여 일반화할 수 있다. 그러한 손실 함수들은 로지스틱 손실 함수 L(y, g(x)) = log(1+exp(y g(x))), 지수 손실 함수 L(y, g(x)) = exp(-y g(x)) 및 경첩 손실 함수 L(y, g(x)) = max(1-y g(x), 0)을 포함하나 이에 한정되지는 않는다.
상기 수학식 14에 벌점화 함수를 추가하여 손실 함수에 관하여 일반화하면 다음과 같은 형태가 된다.
Figure 112016128170280-pat00105
수학식 17에서는 선택자 정보 및 로그 정보가 여전히 선형 함수로써 고려되고 있으므로 이를 한층 더 일반화시켜 그 선형 함수를 일반화된 함수인 것으로 확장할 수 있다. 예컨대, 그러한 일반화된 함수는 선형 함수가 아닌 의사 결정 나무의 앙상블 형태인 배깅(bagging; bootstrap aggregating), 부스팅(boosting), 랜덤 포레스트(random forest) 함수 등 소정의 머신 러닝(machine learning) 알고리즘에 해당하는 함수가 될 수 있다.
선택자 정보가 일반화된 함수 f로써 고려된다면, 상기 수학식 17은
Figure 112016128170280-pat00106
과 같은 형태로 변형되며, 선택자 정보뿐만 아니라 로그 정보까지 함께 고려된다면, 상기 수학식 17은
Figure 112016128170280-pat00107
과 같은 형태로 변형된다.
결국, 상기 단계(S220)는, 상기 프로세서(120)가, (i) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00108
, (ii) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00109
및 상기 선택자 정보 Zu, 또는 (iii) 획득된 상기 선택 이력 정보
Figure 112016128170280-pat00110
, 상기 선택자 정보 Zu 및 상기 로그 정보 Wt로부터
Figure 112016128170280-pat00111
,
Figure 112016128170280-pat00112
Figure 112016128170280-pat00113
중 어느 하나인 최소값을 상기 회귀 계수로서 구하거나 상기 타 장치로 하여금 구하도록 지원하는 것을 특징으로 할 수 있다. 여기에서 상기 함수 L은 전술한 바와 같은 소정의 손실 함수(loss function)을 지칭하며, 상기 함수 f는 전술한 바와 같은 소정의 머신 러닝 알고리즘에 대응한 함수를 지칭하고, 상기 함수 J는 전술한 바와 같은 소정의 벌점화 함수(penalty function)를 지칭한다. 이 소정의 벌점화 함수에 대한 설명은 제1 실시예에 관하여 설명한 것으로 갈음한다.
이 제2 실시예에서, 상기 단계(S220)에서 상기 최소화의 대상인 목적 함수는 다음과 같은 과정으로 학습될 수 있다. 우선, 상기 소정의 머신 러닝 알고리즘을 이용하여 상기 함수 f를 학습(S222)하고 나서, 학습된 상기 함수 f를 오프셋으로 넣어 상기 최소값을 학습(S224)할 수 있다.
예를 들어, 상기 함수 f가 부스팅 함수인 부스팅 알고리즘을 이용한다면, 상기 단계(S222)는
Figure 112016128170280-pat00114
또는
Figure 112016128170280-pat00115
에 최급강하법(steepest descent method)을 적용하여 상기 함수 f를 학습하는 단계일 수 있으며, 상기 단계(S224)는 상기 함수 f를 구한 값인
Figure 112016128170280-pat00116
를 오프셋으로 넣은
Figure 112016128170280-pat00117
또는
Figure 112016128170280-pat00118
로부터 상기 최소값을 학습하는 단계일 수 있다.
이 경우에 상기 단계(S224)는, (
Figure 112016128170280-pat00119
가 아닌 경우에) 상기 프로세서가, 상기 조율 모수(λ, 또는 λ 및 α)를 구하거나 상기 타 장치로 하여금 구하도록 지원한 후에, 구해진 상기 조율 모수에 기초하여 상기 회귀 계수를 구하거나 상기 타 장치로 하여금 구하도록 지원하는 것일 수 있다. 예컨대, 연산의 순서는 상기 소정의 머신 러닝 알고리즘을 이용한 후 조율 모수가 구해진 다음에 회귀 계수를 산출하는 것일 수 있다.
이와 같은 제2 실시예는 상기 제1 실시예를 확장한 것인바, 전술한 본 발명의 모든 실시예들에 걸쳐, 예측력이 높은 회귀모형이 접목되어 추천 시스템의 예측력이 우수해지는 동시에, 선택 이력 자료 외의 부가 정보가 쉽게 반영될 수 있는 효과가 있다.
본 발명의 방법이 실시되는 과정을 예시를 들어 설명하자면, 선택자가 3명, 품목이 3개가 있다고 가정하고, t 시점에 선택자 각자에게 품목 하나씩을 추천해 볼 수 있다. 이때, 선택자(사용자) 3명의 과거 품목의 선택(구매) 횟수가 다음과 같다고 가정하여 보자.
Figure 112016128170280-pat00120
그리고 각각의 품목에 대하여 본 발명의 방법에 따라 회귀 계수가 다음과 같이 추정되었다고 가정하자.
Figure 112016128170280-pat00121
그렇다면 로지스틱 회귀 모형에 의하여 t 시점에 선택자 각자가 품목을 살 확률은 다음과 같이 계산된다.
Figure 112016128170280-pat00122
Figure 112016128170280-pat00123
Figure 112016128170280-pat00124
만약, 상기 추천 정보가, 상기 특정 시점에 상기 특정 선택자에 대하여 품목별로 획득된 예측값이 가장 높은 n개의 품목을 추천하는 정보라면, n=1일 때, 선택자 1에게는 품목 2를 구매할 확률이 제일 크기 때문에 품목 2를 추천하고, 선택자 2에게도 역시 품목 2를 추천하고, 선택자 3에게는 품목 1을 추천하게 된다.
상기 실시예들로서 여기에서 설명된 기술의 이점은, 병렬처리가 가능하게 됨으로써 방대한 규모의 계산이 여러 장치에 분산되어 이루어질 수 있어, 종래에는 다루기 힘들었던 규모의 방대한 자료에 대하여도 선택자의 선택을 예측 또는 제안하는 추천 시스템을 적용할 수 있다는 점이다.
위 실시예의 설명에 기초하여 통상의 기술자는, 본 발명이 소프트웨어 및 하드웨어의 결합을 통하여 달성되거나 하드웨어만으로 달성될 수 있다는 점을 명확하게 이해할 수 있다. 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 자료 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 CPU나 GPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고 받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 수학적으로 또는 논리적으로 동치(mathematically equivalent or logically equivalent)인 방법이 포함될 것이다.
본 발명에 따른 방법 및 이를 수행하는 컴퓨팅 장치는, 특정 선택자가 특정 시점 t에 적어도 하나의 특정 품목(item)을 선택할지 여부를 예측하고, 그 예측에 따라 추천하는 데에 이용될 수 있는 것이다. 예를 들어 특정인이 특정 시점에 구매하고 싶어할 만한 상품을 추천하는 것, 특정인이 특정 시점에 보고 싶어할 만한 영화를 추천하는 것, 특정인이 특정 시점에 이용하고 싶어할 만한 애플리케이션(application; 응용 프로그램)을 추천하는 것 등에 이용될 수 있다. 또한, 특정인이 특정 시점에 마시고 싶어할 만한 음료수를 추천하는 것, 특정 시점에 먹고 싶어할 만한 음식을 추천하는 것에도 이용될 수 있는바, 특정 선택자가 있고, 선택 가능한 개별 품목들이 있기만 하면 어떠한 상품, 서비스, 재화나 용역의 분야에도 적용될 수 있을 것이다.
100: 컴퓨팅 장치
110: 통신부
120: 프로세서
100-1: 제1 분산 장치
100-2: 제2 분산 장치
100-I: 제I 분산 장치

Claims (24)

  1. 특정 선택자가 특정 시점 t에 적어도 하나의 특정 품목(item)을 선택할지 여부를 예측하기 위한 방법으로서,
    (a) 컴퓨팅 장치가, (i) 개별 선택자 u가 과거 시점 t-1부터 상기 특정 시점 t까지 개별 품목 i를 선택한 횟수의 정보인 선택 이력 정보
    Figure 112017126191192-pat00125
    = rui(t-1), (ii) 상기 선택 이력 정보
    Figure 112017126191192-pat00126
    및 상기 개별 선택자 u의 정보인 선택자 정보 Zu, 또는 (iii) 상기 선택 이력 정보
    Figure 112017126191192-pat00127
    , 상기 선택자 정보 Zu 및 상기 특정 시점 t에 의존하는 정보로 각 품목에 대한 할인 정보 또는 날씨 정보를 포함하는 로그 정보 Wt를 획득하거나 타 장치로 하여금 획득하도록 지원하는 단계;
    (b) 상기 컴퓨팅 장치가, (i) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00128
    , (ii) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00129
    및 상기 선택자 정보 Zu, 또는 (iii) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00130
    , 상기 선택자 정보 Zu 및 상기 로그 정보 Wt로부터
    제1 로지스틱 회귀 모형
    Figure 112017126191192-pat00131
    ,
    Figure 112017126191192-pat00132

    의 계수
    Figure 112017126191192-pat00133
    또는
    제2 로지스틱 회귀 모형
    Figure 112017126191192-pat00134

    의 계수
    Figure 112017126191192-pat00135

    를 회귀 계수로서 구하거나 상기 타 장치로 하여금 구하도록 지원하는 단계로서,
    상기
    Figure 112017126191192-pat00136
    는, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택할지 여부를 나타내는 확률 변수이되, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택하면 1, 선택하지 않으면 0인 확률 변수를 지칭하고,
    상기
    Figure 112017126191192-pat00137
    이며,
    상기
    Figure 112017126191192-pat00138
    이고,
    상기 ×는 행렬 곱(matrix multiplication)인, 단계; 및
    (c) 상기 컴퓨팅 장치가, 상기 회귀 계수 및 상기 회귀 계수에 대응되는 로지스틱 회귀 모형을 이용하여 상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값을 산출하거나 상기 타 장치로 하여금 산출하도록 지원하는 단계
    를 포함하고,
    상기 (b) 단계는,
    상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값이 산출될 수 있도록, 상기 컴퓨팅 장치가, (i) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00192
    , (ii) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00193
    및 상기 선택자 정보 Zu, 또는 (iii) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00194
    , 상기 선택자 정보 Zu 및 상기 로그 정보 Wt로부터
    Figure 112017126191192-pat00195
    ,
    Figure 112017126191192-pat00196

    Figure 112017126191192-pat00197

    중 어느 하나인 최소값을 상기 회귀 계수로서 구하거나 상기 타 장치로 하여금 구하도록 지원하되,
    상기 함수 L은 소정의 손실 함수(loss function)을 지칭하며,
    상기 함수 f는 소정의 머신 러닝(machine learning) 알고리즘에 대응한 함수를 지칭하고,
    상기 함수 J는 소정의 벌점화 함수(penalty function)를 지칭하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계 중 적어도 하나에서,
    상기 타 장치는 복수 개의 분산 장치를 포함하며, 상기 분산 장치는 상기 개별 품목 i에 대응되도록 마련되는 것을 특징으로 하는 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 소정의 손실 함수 L은,
    로지스틱 함수 L(y, g(x)) = log(1+exp(y g(x))),
    지수 손실 함수 L(y, g(x)) = exp(-y g(x)) 또는
    경첩 손실 함수 L(y, g(x)) = max(1-y g(x), 0)인 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 소정의 머신 러닝 알고리즘은,
    배깅(bagging; bootstrap aggregating), 부스팅(boosting) 또는 랜덤 포레스트(random forest)인 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 소정의 벌점화 함수는,
    Figure 112017126191192-pat00145
    ,
    Figure 112017126191192-pat00146
    ,
    Figure 112017126191192-pat00147
    ,
    Figure 112017126191192-pat00148
    또는
    Figure 112017126191192-pat00149
    이며,
    상기 λ 및 상기 α는 조율 모수인 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 (b) 단계는,
    (b1) 상기 소정의 머신 러닝 알고리즘을 이용하여 상기 함수 f를 학습하는 단계; 및
    (b2) 학습된 상기 함수 f를 오프셋으로 넣어 상기 최소값을 학습하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 함수 f는 부스팅 함수이며,
    상기 (b1) 단계는,
    Figure 112016128170280-pat00150
    또는
    Figure 112016128170280-pat00151
    에 최급강하법(steepest descent method)을 적용하여 상기 함수 f를 학습하는 것을 특징으로 하며,
    상기 (b2) 단계는,
    상기 함수 f를 구한 값인
    Figure 112016128170280-pat00152
    를 오프셋으로 넣은
    Figure 112016128170280-pat00153
    또는
    Figure 112016128170280-pat00154
    로부터 상기 최소값을 학습하는 것을 특징으로 하는 방법.
  9. 제6항에 있어서,
    상기 (b) 단계에서,
    Figure 112016128170280-pat00155
    가 아니면, 상기 컴퓨팅 장치가, 상기 조율 모수(λ, 또는 λ 및 α)를 구하거나 상기 타 장치로 하여금 구하도록 지원한 후에, 구해진 상기 조율 모수에 기초하여 상기 회귀 계수를 구하거나 상기 타 장치로 하여금 구하도록 지원하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 회귀 계수는 뉴턴-랩슨법(Newton-Raphson method)의 시행에 의하여 구해지는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    (d) 상기 컴퓨팅 장치가, 산출된 상기 예측값을 이용하여 상기 특정 시점에 상기 특정 선택자에게 상기 특정 품목을 추천하는 정보인 추천 정보를 생성하고, 생성된 상기 추천 정보를 표시하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 추천 정보는,
    상기 특정 시점에 상기 특정 선택자에 대하여 품목별로 획득된 예측값이 가장 높은 n개의 품목을 추천하는 정보이며,
    상기 n은 소정의 자연수를 지칭하는 것을 특징으로 하는 방법.
  13. 특정 선택자가 특정 시점 t에 적어도 하나의 특정 품목(item)을 선택할지 여부를 예측하기 위한 컴퓨팅 장치로서,
    (i) 개별 선택자 u가 과거 시점 t-1부터 상기 특정 시점 t까지 개별 품목 i를 선택한 횟수의 정보인 선택 이력 정보
    Figure 112017126191192-pat00156
    =rui(t-1), (ii) 상기 선택 이력 정보
    Figure 112017126191192-pat00157
    및 상기 개별 선택자 u의 정보인 선택자 정보 Zu, 또는 (iii) 상기 선택 이력 정보
    Figure 112017126191192-pat00158
    , 상기 선택자 정보 Zu 및 상기 특정 시점 t에 의존하는 정보로 각 품목에 대한 할인 정보 또는 날씨 정보를 포함하는 로그 정보 Wt를 획득하거나 타 장치로 하여금 획득하도록 지원하는 통신부; 및
    (i) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00159
    , (ii) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00160
    및 상기 선택자 정보 Zu, 또는 (iii) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00161
    , 상기 선택자 정보 Zu 및 상기 로그 정보 Wt로부터
    제1 로지스틱 회귀 모형
    Figure 112017126191192-pat00162
    ,
    Figure 112017126191192-pat00163

    의 계수
    Figure 112017126191192-pat00164
    또는
    제2 로지스틱 회귀 모형
    Figure 112017126191192-pat00165

    의 계수
    Figure 112017126191192-pat00166

    를 회귀 계수로서 구하거나 상기 타 장치로 하여금 구하도록 지원하는 프로세서로서,
    상기
    Figure 112017126191192-pat00167
    는, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택할지 여부를 나타내는 확률 변수이되, 상기 개별 선택자 u가 상기 특정 시점 t에 상기 개별 품목 i를 선택하면 1, 선택하지 않으면 0인 확률 변수를 지칭하고,
    상기
    Figure 112017126191192-pat00168
    이며,
    상기
    Figure 112017126191192-pat00169
    이고,
    상기 ×는 행렬 곱(matrix multiplication)인, 프로세서를 포함하되,
    상기 프로세서는,
    상기 회귀 계수 및 상기 회귀 계수에 대응되는 로지스틱 회귀 모형을 이용하여 상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값을 산출하거나 상기 타 장치로 하여금 산출하도록 지원하며,
    상기 특정 선택자가 상기 특정 시점에 상기 특정 품목을 선택할지 여부를 나타내는 예측값이 산출될 수 있도록, 상기 프로세서가, (i) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00198
    , (ii) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00199
    및 상기 선택자 정보 Zu, 또는 (iii) 획득된 상기 선택 이력 정보
    Figure 112017126191192-pat00200
    , 상기 선택자 정보 Zu 및 상기 로그 정보 Wt로부터
    Figure 112017126191192-pat00201
    ,
    Figure 112017126191192-pat00202

    Figure 112017126191192-pat00203

    중 어느 하나인 최소값을 상기 회귀 계수로서 구하거나 상기 타 장치로 하여금 구하도록 지원하되,
    상기 함수 L은 소정의 손실 함수(loss function)을 지칭하며,
    상기 함수 f는 소정의 머신 러닝(machine learning) 알고리즘에 대응한 함수를 지칭하고,
    상기 함수 J는 소정의 벌점화 함수(penalty function)를 지칭하는 것을 특징으로 하는 장치.
  14. 제13항에 있어서,
    상기 타 장치는 복수 개의 분산 장치를 포함하며, 상기 분산 장치는 상기 개별 품목 i에 대응되도록 마련되는 것을 특징으로 하는 장치.
  15. 삭제
  16. 제13항에 있어서,
    상기 소정의 손실 함수 L은,
    로지스틱 함수 L(y, g(x)) = log(1+exp(y g(x))),
    지수 손실 함수 L(y, g(x)) = exp(-y g(x)) 또는
    경첩 손실 함수 L(y, g(x)) = max(1-y g(x), 0)인 것을 특징으로 하는 장치.
  17. 제13항에 있어서,
    상기 소정의 머신 러닝 알고리즘은,
    배깅(bagging; bootstrap aggregating), 부스팅(boosting) 또는 랜덤 포레스트(random forest)인 것을 특징으로 하는 장치.
  18. 제13항에 있어서,
    상기 소정의 벌점화 함수는,
    Figure 112017126191192-pat00176
    ,
    Figure 112017126191192-pat00177
    ,
    Figure 112017126191192-pat00178
    ,
    Figure 112017126191192-pat00179
    또는
    Figure 112017126191192-pat00180
    이며,
    상기 λ 및 상기 α는 조율 모수인 것을 특징으로 하는 장치.
  19. 제13항에 있어서,
    상기 프로세서는,
    상기 소정의 머신 러닝 알고리즘을 이용하여 상기 함수 f를 학습하며, 학습된 상기 함수 f를 오프셋으로 넣어 상기 최소값을 학습하는 것을 특징으로 하는 장치.
  20. 제19항에 있어서,
    상기 함수 f는 부스팅 함수이며,
    상기 프로세서는,
    Figure 112016128170280-pat00181
    또는
    Figure 112016128170280-pat00182
    에 최급강하법(steepest descent method)을 적용하여 상기 함수 f를 학습하며,
    상기 함수 f를 구한 값인
    Figure 112016128170280-pat00183
    를 오프셋으로 넣은
    Figure 112016128170280-pat00184
    또는
    Figure 112016128170280-pat00185
    로부터 상기 최소값을 학습하는 것을 특징으로 하는 장치.
  21. 제18항에 있어서,
    Figure 112016128170280-pat00186
    가 아니면, 상기 프로세서는, 상기 조율 모수(λ, 또는 λ 및 α)를 구하거나 상기 타 장치로 하여금 구하도록 지원한 후에, 구해진 상기 조율 모수에 기초하여 상기 회귀 계수를 구하거나 상기 타 장치로 하여금 구하도록 지원하는 것을 특징으로 하는 장치.
  22. 제13항에 있어서,
    상기 회귀 계수는 뉴턴-랩슨법(Newton-Raphson method)의 시행에 의하여 구해지는 것을 특징으로 하는 장치.
  23. 제13항에 있어서,
    상기 프로세서는,
    산출된 상기 예측값을 이용하여 상기 특정 시점에 상기 특정 선택자에게 상기 특정 품목을 추천하는 정보인 추천 정보를 생성하고, 생성된 상기 추천 정보를 표시하는 것을 특징으로 하는 장치.
  24. 제23항에 있어서,
    상기 추천 정보는,
    상기 특정 시점에 상기 특정 선택자에 대하여 품목별로 획득된 예측값이 가장 높은 n개의 품목을 추천하는 정보이며,
    상기 n은 소정의 자연수를 지칭하는 것을 특징으로 하는 장치.
KR1020160180330A 2016-12-27 2016-12-27 선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치 KR101857271B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160180330A KR101857271B1 (ko) 2016-12-27 2016-12-27 선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160180330A KR101857271B1 (ko) 2016-12-27 2016-12-27 선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치

Publications (1)

Publication Number Publication Date
KR101857271B1 true KR101857271B1 (ko) 2018-05-11

Family

ID=62185460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160180330A KR101857271B1 (ko) 2016-12-27 2016-12-27 선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR101857271B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078780A (ja) * 2002-08-21 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> 予測方法、予測装置、予測プログラム、および予測プログラムを記録した記録媒体
JP2008178546A (ja) * 2007-01-24 2008-08-07 Advanced Telecommunication Research Institute International 行動予測方法及び行動予測装置
JP2013218584A (ja) * 2012-04-10 2013-10-24 Toshiba Corp 情報処理装置、方法及びプログラム、並びに、情報通信端末、その制御方法及びその制御プログラム
JP2016164750A (ja) * 2015-03-06 2016-09-08 日本電信電話株式会社 選択行動モデル化装置、選択行動予測装置、方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078780A (ja) * 2002-08-21 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> 予測方法、予測装置、予測プログラム、および予測プログラムを記録した記録媒体
JP2008178546A (ja) * 2007-01-24 2008-08-07 Advanced Telecommunication Research Institute International 行動予測方法及び行動予測装置
JP2013218584A (ja) * 2012-04-10 2013-10-24 Toshiba Corp 情報処理装置、方法及びプログラム、並びに、情報通信端末、その制御方法及びその制御プログラム
JP2016164750A (ja) * 2015-03-06 2016-09-08 日本電信電話株式会社 選択行動モデル化装置、選択行動予測装置、方法、及びプログラム

Similar Documents

Publication Publication Date Title
KR101735602B1 (ko) 개인화 추천 방법, 시스템 및 기록 매체
US9870224B1 (en) Assessing quality of code in an open platform environment
US10354184B1 (en) Joint modeling of user behavior
EP3648041A1 (en) Recommender systems and methods using cascaded machine learning models
KR101726520B1 (ko) 개인화 추천 방법, 시스템 및 기록 매체
Van den Bulte et al. Bias and systematic change in the parameter estimates of macro-level diffusion models
US20110112981A1 (en) Feature-Based Method and System for Cold-Start Recommendation of Online Ads
US20080010258A1 (en) Collaborative filtering-based recommendations
TW201804400A (zh) 資料物件推送的方法、裝置及系統
US20140195463A1 (en) System and methods for generating and displaying optimized solutions to complex problems
US20190362368A1 (en) Computing architecture for multi-source data aggregation and user-action prediction and related methods
US20160005098A1 (en) Product recommendation engine based on remaining balance in a stored-value scenario
Shani et al. Tutorial on application-oriented evaluation of recommendation systems
AU2016353096B2 (en) Method and apparatus for dynamically selecting content for online visitors
CN111680213B (zh) 信息推荐方法、数据处理方法及装置
KR20210144330A (ko) 협업 필터링 신경망을 이용하여 상품을 추천하는 방법 및 장치
Ali et al. Inferring context with reliable collaborators: a novel similarity estimation method for recommender systems
Han et al. Incentivizing exploration with heterogeneous value of money
KR101857271B1 (ko) 선택자가 특정 시점에 특정 품목을 선택할지 여부를 예측하기 위한 방법 및 이를 이용한 컴퓨팅 장치
US20230162258A1 (en) Method and system for recommending product bundles
CN114004677A (zh) 用于向多个用户提供推荐的方法和系统
Giesecke et al. Introduction to the special section on data-driven prescriptive analytics
JP2009003850A (ja) 企業施策の決定支援装置、企業施策の決定支援方法及びそのプログラム
US11532041B2 (en) Systems and methods for debt management with spending recommendation
JP7122286B2 (ja) 決定装置、決定方法及び決定プログラム

Legal Events

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