KR102012676B1 - 콘텐츠 추천 방법, 장치 및 시스템 - Google Patents

콘텐츠 추천 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR102012676B1
KR102012676B1 KR1020160135549A KR20160135549A KR102012676B1 KR 102012676 B1 KR102012676 B1 KR 102012676B1 KR 1020160135549 A KR1020160135549 A KR 1020160135549A KR 20160135549 A KR20160135549 A KR 20160135549A KR 102012676 B1 KR102012676 B1 KR 102012676B1
Authority
KR
South Korea
Prior art keywords
content
recommendation
user
information
policy
Prior art date
Application number
KR1020160135549A
Other languages
English (en)
Other versions
KR20180042934A (ko
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 KR1020160135549A priority Critical patent/KR102012676B1/ko
Priority to US15/709,978 priority patent/US20180108048A1/en
Priority to CN201710896284.0A priority patent/CN107967616A/zh
Publication of KR20180042934A publication Critical patent/KR20180042934A/ko
Application granted granted Critical
Publication of KR102012676B1 publication Critical patent/KR102012676B1/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/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0252Targeted advertisements based on events or environment, e.g. weather or festivals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • 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/0204Market segmentation
    • G06Q30/0205Location or geographical consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0254Targeted advertisements based on statistics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • 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
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Tourism & Hospitality (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

사용자의 인구통계학적 정보 및 상황 정보를 기준으로 사용자의 유형을 구분하고, 상기 사용자의 유형에 따라 콘텐츠를 추천하는 방법, 장치 및 시스템이 제공된다. 상기 콘텐츠를 추천하기 위하여 콘텐츠 추천 서버가 수행하는 콘텐츠 추천 방법은, 제1 시점에 획득된 제1 사용자의 제1 유형 정보를 콘텐츠 추천 모델에 입력하여 결정된 제1 추천 콘텐츠를 콘텐츠 추천 단말에 송신하는 단계, 상기 제1 추천 콘텐츠에 노출된 상기 제1 사용자의 피드백 정보를 상기 콘텐츠 추천 단말로부터 수신하고, 상기 피드백 정보를 상기 콘텐츠 추천 모델에 반영하여 상기 콘텐츠 추천 모델을 갱신하는 단계 및 제1 시점 이후의 제2 시점에 획득된 제2 사용자의 제2 유형 정보를 상기 갱신된 콘텐츠 추천 모델에 입력하여 결정된 제2 추천 콘텐츠를 콘텐츠 추천 단말에 송신하는 단계를 포함하되, 상기 제1 유형 정보는 상기 제1 시점의 상황 정보를 포함하고, 상기 제2 유형 정보는 상기 제2 시점의 상황 정보를 포함하며, 상기 제1 유형 정보와 상기 제2 유형 정보는 동일한 값을 가리키고, 상기 제1 추천 콘텐츠와 상기 제2 추천 콘텐츠는 서로 다른 콘텐츠일 수 있다.

Description

콘텐츠 추천 방법, 장치 및 시스템 {Method, Apparatus and System for Recommending Contents}
본 발명은 콘텐츠 추천 방법, 장치 및 시스템에 대한 것이다. 보다 자세하게는, 사용자의 유형 정보를 고려하여 맞춤형 콘텐츠를 추천하는 방법, 장치 및 시스템에 대한 것이다.
종래의 검색을 통해 이루어지는 수동적인 콘텐츠 제공 방식은 사용자가 원하는 정보를 효율적이고 정확하게 확보하는 데 있어서 많은 문제점이 있었다. 이에 대한 대안으로 현재 다양한 분야에서 사용자의 유형을 고려하여 콘텐츠를 추천하는 방식이 활용되고 있다.
예를 들어, 많은 사업자는 복합 쇼핑몰에 설치된 디지털 사이니지(Digital Signage)를 활용하여 사용자의 유형 별로 특정 브랜드를 추천하고 이를 일종의 타깃 마케팅 전략으로 이용하고 있다.
현재의 콘텐츠 추천 방식은 대부분 룰 기반으로 동작한다. 보다 자세하게는, 관리자가 마케터로부터 제공받은 사전 지식을 기초로 도 1에 도시된 바와 같은 룰을 정의하고, 정의된 룰에 따라 특정 브랜드 등의 콘텐츠를 추천하는 방식으로 동작한다. 예를 들면, 사용자가 10대 남자인 경우 1번 룰에 따라 브랜드 A 및 브랜드 B를 추천하고, 사용자가 20대 여자인 경우 4번 룰에 따라 브랜드 C를 추천하게 된다.
그러나 상술한 룰 기반의 콘텐츠 추천 방식은 시간에 따라 변하는 사용자의 선호도를 반영하기 어렵기 때문에 필연적으로 추천의 정확도가 떨어지게 된다는 문제점을 갖는다. 사용자의 선호도를 반영하기 위해 룰을 변경하거나 다시 정의하더라도 이는 시간 및 비용이 계속해서 소요되기 때문에 유지보수 측면에서 비효율적이다.
또한, 관리자가 수동적으로 정의한 룰은 사전 지식의 한계로 인해 대부분 사용자의 연령 및 성별 등의 정적인 정보 기준으로만 사용자의 유형을 구분하기 때문에 사용자 맞춤형 콘텐츠를 추천하는데 일정한 한계를 갖는다. 즉, 사용자의 현재 상황(Context)과 같은 동적인 정보를 고려하여 사용자의 유형을 세분화할 수 없기 때문에 상황에 따라 달라질 수 있는 사용자의 니즈(Needs)를 반영한 추천을 수행할 수 없다.
따라서, 추천의 정확도를 향상시키기 위해 사용자의 상황 정보를 고려하여 사용자의 유형을 보다 세분화하고, 시간에 따라 변하는 사용자의 선호도를 반영할 수 있는 콘텐츠 추천 방법이 요구된다.
(특허 문헌 0001) 한국공개특허 제2013-0091391호
본 발명이 해결하고자 하는 기술적 과제는, 사용자의 유형에 따라 맞춤형 콘텐츠를 추천하는 콘텐츠 추천 방법, 장치 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 연령, 성별 등의 사용자의 인구통계학적 정보 외에도 시간, 날씨, 그룹의 유형 등 다양한 상황 정보를 고려하여 사용자에게 맞춤형 콘텐츠를 추천하는 콘텐츠 추천 방법, 장치 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 시간에 따라 변할 수 있는 사용자의 선호도를 반영하여 맞춤형 콘텐츠를 추천하는 콘텐츠 추천 방법, 장치 및 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 문제점을 해결하기 위한 본 발명의 일 실시예에 따른 콘텐츠 추천 방법은, 콘텐츠 추천 서버가 수행하는 콘텐츠 추천 방법에 있어서, 제1 시점에 획득된 제1 사용자의 제1 유형 정보를 콘텐츠 추천 모델에 입력하여 결정된 제1 추천 콘텐츠를 콘텐츠 추천 단말에 송신하는 단계, 상기 제1 추천 콘텐츠에 노출된 상기 제1 사용자의 피드백 정보를 상기 콘텐츠 추천 단말로부터 수신하고, 상기 피드백 정보를 상기 콘텐츠 추천 모델에 반영하여 상기 콘텐츠 추천 모델을 갱신하는 단계 및 제1 시점 이후의 제2 시점에 획득된 제2 사용자의 제2 유형 정보를 상기 갱신된 콘텐츠 추천 모델에 입력하여 결정된 제2 추천 콘텐츠를 콘텐츠 추천 단말에 송신하는 단계를 포함하되, 상기 제1 유형 정보는 상기 제1 시점의 상황 정보를 포함하고, 상기 제2 유형 정보는 상기 제2 시점의 상황 정보를 포함하며, 상기 제1 유형 정보와 상기 제2 유형 정보는 동일한 값을 가리키고, 상기 제1 추천 콘텐츠와 상기 제2 추천 콘텐츠는 서로 다른 콘텐츠인,일 수 있다.
일 실시예에서 상기 제1 유형 정보는 상기 제1 사용자의 인구통계학적 정보를 더 포함하고, 상기 제2 유형 정보는 상기 제2 사용자의 인구통계학적 정보를 더 포함하되, 상기 제1 유형 정보 및 상기 제2 유형 정보는 영상 분석(Video Analytics)을 통해 도출된 정보일 수 있다.
일 실시예에서, 상기 제1 추천 콘텐츠를 결정하는 단계는, 상기 제1 유형 정보를 기초로 상기 제1 사용자의 유형을 가리키는 특징 벡터(Feature Vector)를 추출하는 단계 및 상기 특징 벡터를 상기 콘텐츠 추천 모델에 입력하여 상기 제1 추천 콘텐츠를 결정하는 단계를 포함하되, 상기 콘텐츠 추천 모델은 MAB(Multi-Armed Bandits) 알고리즘 기반으로 동작하는 모델을 포함할 수 있다.
일 실시예에서, 상기 콘텐츠 추천 모델은 사용자의 유형 별로 각 콘텐츠에 대한 선호도를 가리키는 보상 값을 포함하고, 상기 피드백 정보를 상기 콘텐츠 추천 모델에 반영하여 상기 콘텐츠 추천 모델을 갱신하는 단계는, 상기 피드백 정보를 기 설정된 기준에 따라 수치화된 보상(Reward) 값으로 변환하는 단계, 상기 보상 값을 기초로 상기 콘텐츠 추천 모델의 제1 유형 정보에 대한 누적 보상 값을 갱신하는 단계를 포함하되, 상기 보상 값은 상기 피드백 정보의 종류에 따라 적어도 일부는 서로 다른 값을 갖는 값일 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 다른 실시예에 따른 콘텐츠 추천 콘텐츠 추천 서버가 수행하는 콘텐츠 추천 방법에 있어서, 사용자의 상황 정보를 포함하는 상기 사용자의 유형 정보를 획득하는 단계, 제1 추천 정책 및 제2 추천 정책을 포함하는 복수의 추천 정책 중에서 기 설정된 각 추천 정책의 점유 비율을 기초로 어느 하나의 추천 정책을 결정하는 단계 및 상기 결정된 추천 정책을 기초로 추천 콘텐츠를 결정하는 단계를 포함하되, 상기 제1 추천 정책은 기 설정된 룰을 기초로 상기 추천 콘텐츠를 결정하는 정책이고, 상기 제2 추천 정책은 MAB 모델 기반으로 상기 추천 콘텐츠를 결정하는 정책일 수 있다.
다른 실시예에서, 기 설정된 룰은, 상기 기 설정된 룰은, 기 설정된 시점까지 랜덤 추천을 통해 수집된 피드백 정보를 기초로 생성된 룰을 포함할 수 있다.
다른 실시예에서, 상기 결정된 추천 콘텐츠에 노출된 상기 사용자의 피드백 정보를 상기 콘텐츠 추천 단말로부터 수신하는 단계 및 상기 피드백 정보를 기초로 상기 추천 정책을 갱신하는 단계를 더 포함하되, 상기 추천 정책을 갱신하는 단계는, 상기 피드백 정보를 기초로 상기 MAB 모델을 실시간으로 갱신하는 단계 및 상기 제2 추천 정책에 이용되는 MAB 모델을 기초로 상기 제1 추천 정책에 이용되는 룰을 기 설정된 시점에 갱신하는 단계를 포함할 수 있다.
다른 실시예에서, 상기 사용자의 유형 별로 MAB 모델에 반영된 피드백의 개수를 산출하는 단계 및 상기 피드백의 개수의 평균 및 분산 중 적어도 어느 하나 이상의 값을 기초로 상기 점유 비율을 조정하는 단계를 더 포함할 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 방법은, 콘텐츠 추천 서버가 수행하는 콘텐츠 추천 방법에 있어서, 기 설정된 제1 시점까지, 랜덤 추천을 통해 사용자의 유형 별 피드백 정보를 수집하는 단계, 상기 수집된 피드백 정보를 기초로 사용자의 유형 별 추천 콘텐츠를 결정하는 룰을 생성하는 단계 및 상기 제1 시점 이후부터, 상기 생성된 룰을 기초로 상기 추천 콘텐츠를 결정하는 제1 추천 정책 및 MAB 모델 기반으로 상기 추천 콘텐츠를 결정하는 제2 추천 정책 중 어느 하나의 정책을 기초로 상기 추천 콘텐츠를 결정하는 단계를 포함하되, 상기 제1 시점의 제2 추천 정책의 점유 비율은 상기 제1 시점 이후의 상기 제2 시점의 제2 추천 정책의 점유 비율보다 작고, 상기 제1 추천 정책의 점유 비율과 상기 제2 추천 정책의 점유 비율의 합은 일정할 수 있다.
상술한 문제점을 해결하기 위한 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 서버는, 하나 이상의 프로세서, 네트워크 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 제1 시점에 획득된 제1 사용자의 제1 유형 정보를 콘텐츠 추천 모델에 입력하여 결정된 제1 추천 콘텐츠를 콘텐츠 추천 단말에 송신하는 오퍼레이션, 상기 제1 추천 콘텐츠에 노출된 상기 제1 사용자의 피드백 정보를 상기 콘텐츠 추천 단말로부터 수신하고, 상기 피드백 정보를 상기 콘텐츠 추천 모델에 반영하여 상기 콘텐츠 추천 모델을 갱신하는 오퍼레이션 및 제1 시점 이후의 제2 시점에 획득된 제2 사용자의 제2 유형 정보를 상기 갱신된 콘텐츠 추천 모델에 입력하여 결정된 제2 추천 콘텐츠를 콘텐츠 추천 단말에 송신하는 오퍼레이션을 포함하되, 상기 제1 유형 정보는 상기 제1 시점의 상황 정보를 포함하고, 상기 제2 유형 정보는 상기 제2 시점의 상황 정보를 포함하며, 상기 제1 유형 정보와 상기 제2 유형 정보는 동일한 값을 가리키고, 상기 제1 추천 콘텐츠와 상기 제2 추천 콘텐츠는 서로 다른 콘텐츠일 수 있다.
상술한 발명에 따르면, 사용자의 인구통계학적 정보 외에도 상황 정보를 고려하여 사용자의 유형을 세분화 함으로써 콘텐츠 추천의 정확도를 향상시킬 수 있다.
또한, 복합 쇼핑몰 등에 설치된 디지털 사이니지를 통해 사용자의 유형에 따라 특정 브랜드를 추천하는 등의 타깃 마케팅 전략에 활용함으로써 복합 쇼핑몰의 매출을 향상시키는 효과가 있다.
또한, 강화 학습 분야의 MAB(Multi-Armed Bandits) 알고리즘을 이용하여 콘텐츠 추천에 대한 사용자의 피드백을 반영함으로써 실시간으로 변동될 수 있는 사용자의 선호도를 반영할 수 있고, 이에 따라 추천의 정확도가 더욱 향상시킬 수 있다.
또한, 강화 학습 분야의 MAB 알고리즘을 이용하여 사용자의 선호도를 자동으로 반영함으로써 룰 기반의 추천 방식에 비해 유지 보수 비용을 절감할 수 있다.
또한, 랜덤 추천을 통해 사용자의 피드백 정보를 수집하고 이에 따라 룰을 자동으로 생성함으로써, 사용자의 선호도를 조사하고 이를 룰로 정의하는데 소요되는 시간 및 인적 비용을 절감할 수 있다,
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래의 룰 기반 추천 방법에서 이용되는 룰의 예시도이다.
도 2는 본 발명의 일 실시예에 따른 콘텐츠 추천 시스템의 구성도이다.
도 3은 도2에 도시된 콘텐츠 추천 시스템의 각 구성 요소 사이에 수행되는 동작의 흐름도이다.
도 4는 도 2에 도시된 콘텐츠 추천 시스템의 일 구성 요소인 콘텐츠 추천 단말의 기능블록도이다.
도 5는 본 발명의 다른 실시예에 따른 콘텐츠 추천 서버의 하드웨어 구성도이다.
도 6은 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 서버의 기능블록도이다.
도 7은 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 방법의 순서도이다.
도 8은 도 7에 도시된 제1 추천 콘텐츠를 결정하는 단계의 상세 순서도이다.
도 9a 내지 도 9c는 특징 벡터를 추출하는 방법의 예시도이다.
도 10은 본 발명의 몇몇 실시예에서 이용되는 추천 후보 데이터의 예시도이다.
도 11은 도 7에 도시된 제1 사용자의 피드백 반영 단계의 상세 순서도이다.
도 12a 내지 도 12d는 사용자의 피드백 정보를 차별화된 보상 값으로 변환하고 반영하는 방법의 예시도이다.
도 13 내지 도 14는 복수의 추천 정책을 활용하는 예를 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 및/또는 동작은 하나 이상의 다른 구성 요소, 단계 및/또는 동작의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명에 대하여 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 콘텐츠 추천 시스템(10)의 구성도이다.
도 2를 참조하면, 콘텐츠 추천 시스템(10)은 사용자의 인구통계학적 보 및 사용자의 상황 정보를 기초로 사용자의 유형을 구분하고, 상기 구분된 사용자의 유형 별로 맞춤형 콘텐츠를 추천하는 시스템이다. 예를 들어, 콘텐츠 추천 시스템(10)은 복합 쇼핑몰에서 디지털 사이지 기반으로 사용자에게 복합 쇼핑몰에 위치한 매장의 브랜드를 추천하는 시스템이 될 수 있다.
인구통계학적 정보는 사용자의 연령, 성별, 국적 등의 정보를 포함하고, 상황 정보는 사용자의 현재 상태를 표현하고 특징지을 수 있는 일체의 정보를 의미한다. 예를 들면, 상기 상황 정보는 날씨, 시간, 요일, 위치, 표정, 자세 등을 포함할 수 있고, 커플, 가족, 친구 등과 같이 콘텐츠 추천을 요청한 사용자를 포함하는 그룹의 특징도 포함할 수 있다. 또한, 상기 콘텐츠는 추천의 대상이 되는 객체로써 콘텐츠 추천 단말(300)의 디스플레이 상에 표출될 수 있는 각종 정보를 포함할 수 있다. 예를 들면, 상기 콘텐츠는 브랜드 정보, 음악 정보, 상품 정보 등을 포함할 수 있다.
콘텐츠 추천 시스템(10)은 콘텐츠 추천 서버(100)와 콘텐츠 추천 단말(300)을 포함할 수 있고, 상기 콘텐츠 추천 서버와 상기 콘텐츠 추천 단말은 네트워크를 통해 연결될 수 있다. 또한, 도 2에 도시되어 있지 않으나, 콘텐츠 추천 시스템(10)은 상기 콘텐츠 추천 시스템이 설치된 장소의 유동 인구수, 사용자의 매장 방문 여부 또는 매장을 방문한 사용자의 제품 구매 여부 등의 정보를 획득하기 위하여 별도의 데이터 수집 장치 및 데이터 분석 장치를 포함할 수 있다.
상기 데이터 수집 장치는 WIFI 데이터를 수집하기 위한 AP(Access Point), 영상 데이터를 수집하기 위한 영상 촬영 장치 등을 포함할 수 있고, 상기 데이터 분석 장치는 수집된 영상으로부터 영상 분석(Video Analytics)을 통해 상술한 정보를 도출하기 위한 영상 분석 모듈 등을 포함할 수 있다.
각 구성 요소를 살펴보면, 콘텐츠 추천 단말(300)은 콘텐츠 추천 서버(100)가 추천한 콘텐츠를 표시하고, 사용자의 피드백을 획득하는 컴퓨팅 장치이다. 상기 컴퓨팅 장치는 예를 들어, 키오스크(Kiosk) 등의 디지털 사이니지와 같이 사용자와 인터랙션이 용이한 특성이 있는 장치로 구현될 수 있다. 단, 이에 국한되는 것은 아니고, 노트북, 데스크톱(desktop), 랩톱(laptop), 스마트폰 등과 같이 컴퓨팅 기능 및 디스플레이 기능을 가진 모든 장치를 포함할 수 있다.
콘텐츠 추천 서버(100)는 콘텐츠 추천 단말(300)로부터 사용자의 유형 정보를 수신하고 이에 기초하여 맞춤형 콘텐츠를 결정하는 장치이다. 시스템의 규모에 따라 상기 콘텐츠 추천 서버는 복수의 콘텐츠 추천 단말(300)로부터 콘텐츠 추천 요청을 수신할 수 있다. 또한, 콘텐츠 추천 서버(100)는 콘텐츠 추천 단말(300)이 획득한 사용자의 피드백을 반영하여 사용자의 선호도를 반영한 콘텐츠 추천을 수행할 수 있다. 즉, 상기 콘텐츠 추천 서버는 다수 사용자의 피드백을 바탕으로 시간에 따라 변하는 사용자의 선호도를 반영함으로써 종래 룰 기반 고정된 추천 방식보다 더 정확한 추천을 수행할 수 있다.
참고로, 콘텐츠 추천 서버(100)는 콘텐츠 추천 단말(300)로부터 수신한 사용자의 유형 정보에 다른 상황 정보를 더 추가하여 사용자의 유형을 더욱 세분화할 수 있다. 예를 들어, 날씨, 시간 등의 상황 정보는 상기 콘텐츠 추천 서버가 독자적으로 획득할 수 있는 상황 정보이므로, 추천 요청이 수신되는 시점의 날씨 및 시간 정보를 내부 또는 외부의 데이터 소스에서 획득하고 사용자의 유형 정보에 추가하여 사용자의 유형을 세분화할 수 있다.
한편, 도 2의 도시된 콘텐츠 추천 시스템(10)의 경우, 콘텐츠 추천 서버(100)와 콘텐츠 추천 단말(300)이 별도의 물리적 장치로 도시되어 있으나, 실시예에 따라 상기 콘텐츠 추천 서버와 콘텐츠 추천 단말은 동일한 물리적 장치 내의 서로 다른 로직(Logic)의 형태로 구현될 수도 있다. 이와 같은 경우, 상기 콘텐츠 추천 서버 콘텐츠 추천 단말은 네트워크를 이용하지 않고 IPC(Inter-Process Communication)를 이용하여 통신하는 형태로 구현될 수도 있으나, 이는 구현 방식의 차이에 불과하다.
다음으로, 도 3을 참조하여 콘텐츠 추천 시스템(10)의 각 구성 요소인 콘텐츠 추천 서버(100)와 콘텐츠 추천 단말(300) 사이에 수행되는 동작의 흐름을 간략하게 설명한다.
먼저, 사용자의 콘텐츠 추천 요청에 따라 콘텐츠 추천 단말(300)은 사용자의 영상을 획득하고 이를 분석하여 사용자의 유형 정보를 추출한다(S100). 콘텐츠 추천 단말(300)은 상기 사용자의 영상을 획득하기 위해 내장된 카메라를 이용하거나, 별도의 데이터 수집 장치로부터 콘텐츠 추천을 요청한 사용자의 영상을 획득할 수도 있다. 또한, 콘텐츠 추천 단말(300)은 상기 사용자의 유형 정보를 추출하기 위해 컴퓨터 비전(Computer Vision) 알고리즘을 이용하여 영상 분석을 수행할 수 있다. 단, 구현 방식에 따라, 사용자의 유형 정보를 추출하는 단계(S100)는 콘텐츠 추천 서버(100)가 수행할 수도 있다. 이와 같은 경우, 콘텐츠 추천 단말(300)은 촬영된 영상을 콘텐츠 추천 서버(100)로 송신하고, 상기 콘텐츠 추천 서버가 수신된 영상을 분석하여 사용자의 유형 정보를 추출할 수 있다.
다음으로, 콘텐츠 추천 단말(300)은 네트워크를 통해 콘텐츠 추천 요청 메시지를 전송하고, 영상 분석을 통해 도출된 사용자의 유형 정보를 콘텐츠 추천 서버(100)로 전달한다(S110). 콘텐츠 추천 요청 메시지를 수신한 콘텐츠 추천 서버(100)는 MAB(Multi-Armed Bandit) 알고리즘 기반으로 동작하는 콘텐츠 추천 모델을 기초로 추천 콘텐츠를 결정한다(S120). 상기 추천 콘텐츠를 결정하는 단계(S120)의 상세한 내용은 도 7 내지 도 10을 참조하여 후술한다.
참고로, 상기 콘텐츠 추천 모델은 사용자의 피드백을 기초로 사용자의 유형 별로 각 콘텐츠에 대한 선호도를 가리키는 보상 값을 학습하고, 제1 사용자의 유형이 입력된 경우 제1 사용자의 유형에 대응되는 보상 값을 기초로 MAB 알고리즘을 통해 제1 사용자의 유형에 대한 추천 콘텐츠를 출력하는 모델이다. 또한, 콘텐츠 추천 모델은 제2 사용자의 유형이 입력된 경우, 제2 사용자의 유형에 대응되는 보상 값을 기초로 MAB 알고리즘을 통해 제2 사용자의 유형에 대한 추천 콘텐츠를 출력할 수 있다. 상기 콘텐츠 추천 모델이 학습하는 사용자 유형 별 콘텐츠의 보상 값은 추후 도 10을 참조하여 부연 설명한다.
다음으로, 콘텐츠 추천 서버(100)는 콘텐츠 추천 모델을 통해 결정된 추천 콘텐츠를 추천을 요청한 콘텐츠 추천 단말(300)로 송신한다(S130). 추천 콘텐츠를 수신한 콘텐츠 추천 단말(300)은 디스플레이 화면을 통해 상기 추천 콘텐츠를 표시한다(S140). 예를 들어, 복합 쇼핑몰 내에 입점한 매장의 브랜드를 추천하는 경우, 콘텐츠 추천 단말(300)은 사용자 편의적인 방식으로 키오스크의 디스플레이 화면에 하나 이상의 추천 브랜드를 표시할 수 있다.
다음으로, 콘텐츠 추천 단말(300)은 콘텐츠 추천에 따른 사용자의 피드백(Feedback) 정보를 획득한다(S150). 상기 피드백 정보는 추천 콘텐츠에 대한 사용자의 다양한 반응을 포함할 수 있고, 이는 추천 콘텐츠의 종류, 콘텐츠 추천 단말(300)의 하드웨어적 특징 등에 따라 다양하게 정의될 수 있다. 예를 들어, 키오스크를 통해 복합 쇼핑몰에 입점한 매장의 브랜드를 추천하는 경우에는 사용자가 브랜드가 표시된 디스플레이 화면을 응시한 시간(Duration Time), 상기 디스플레이 화면 상에 표시된 브랜드의 선택 입력, 상기 브랜드 매장에 대한 길 찾기 요청 등이 사용자의 피드백 정보가 될 수 있다. 따라서, 사용자의 피드백 정보의 획득이 용이하도록 상기 콘텐츠 추천 단말은 사용자와 인터랙션이 용이한 장치를 이용하는 것이 바람직할 수 있다.
다음으로, 콘텐츠 추천 단말(300)은 획득된 사용자의 피드백 정보를 콘텐츠 추천 서버(100)로 전송한다(S160). 상기 사용자의 피드백 정보를 수신한 콘텐츠 추천 서버(100)는 상기 사용자의 피드백 정보를 수치화된 보상 값으로 변경하고 콘텐츠 추천 모델에 반영한다(S170). 상기 피드백 정보를 반영하는 단계(S800)는 이후 도 11 내지 도 12를 참조하여 후술한다.
지금까지 본 발명의 일 실시예에 따른 콘텐츠 추천 시스템(10)과 상기 콘텐츠 추천 시스템을 구성하는 구성 요소 사이에 수행되는 동작의 흐름을 설명하였다. 이하, 콘텐츠 추천 시스템(10)의 구성 요소인 콘텐츠 추천 단말(300)과 콘텐츠 추천 서버(100)에 대하여 도 4 내지 도 6을 참조하여 상세히 설명한다.
도 4는 콘텐츠 추천 시스템(10)의 일 구성 요소인 콘텐츠 추천 단말(300)의 기능블록도이다.
도 4를 참조하면, 콘텐츠 추천 단말(300)은 영상 획득부(310), 사용자 유형 정보 추출부(330) 및 사용자 피드백 정보 획득부(350)를 포함할 수 있다. 다만, 도 4에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 4에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 예를 들어, 콘텐츠 추천 단말(300)은 콘텐츠 추천 서버(100)와 데이터 통신을 수행하는 통신부, 사용자에게 정보를 표시하는 디스플레이부, 사용자의 피드백 정보를 입력 받는 입력부 및 각 콘텐츠 추천 단말(300)의 전반적인 동작을 제어하는 제어부 등을 더 포함할 수 있다.
각 기능 블록을 살펴보면, 영상 획득부(310)는 사용자의 유형 정보를 추출하기 위한 원시 데이터(Raw Data)로써 영상, 스틸 이미지 등의 데이터를 획득한다. 영상 획득부(310)는 상술한 바와 같이 콘텐츠 추천 단말(300)에 내장된 카메라를 이용하여 사용자를 촬영한 영상을 획득할 수 있고, 구현 방식에 따라 별도의 데이터 수집 장치가 촬영한 영상을 수신하는 방식으로 영상을 획득할 수도 있다.
사용자 유형 정보 추출부(330)는 영상 획득부(310)가 획득한 영상을 분석하여 사용자의 유형 정보를 추출한다. 사용자의 유형 정보는 상술한 바와 같이 성별, 연령 등의 인구통계학적 정보와 사용자의 상황 정보를 포함할 수 있다. 획득된 영상으로부터 사용자의 인구통계학적 정보를 추출하기 위해 사용자 유형 정보 추출부(330)는 당해 기술 분야에서 잘 알려진 적어도 하나 이상의 컴퓨터 비전 알고리즘을 적용하여 영상을 분석할 수 있다. 또한, 사용자 유형 정보 추출부(330)는 영상으로부터 사용자의 상황 정보를 추출하기 위해 당해 기술 분야에 잘 알려진 화상 인식 기술을 이용할 수 있다. 예를 들어, 사용자 유형 정보 추출부(330)는 클래리파이(Clarifai)와 같이 딥 러닝 기반의 화상 인식 기술을 이용하여 획득한 영상으로부터 사용자의 상황을 나타내는 키워드를 사용자의 상황 정보로 추출할 수 있다.
이와 같이 사용자 유형 정보 추출부(330)는 영상 분석을 통해 자동으로 사용자의 인구통계학적 정보 및 상황 정보를 추출함으로써, 사용자의 유형 정보를 획득하는 과정에서 사용자의 개입을 최소화할 수 있다.
사용자 피드백 정보 획득부(350)는 추천 콘텐츠에 노출된 사용자의 다양한 피드백 정보를 획득한다. 사용자 피드백 정보 획득부(350)는 콘텐츠 추천 단말(300)의 다양한 입력 기능을 통해 감지될 수 있는 사용자의 반응을 피드백 정보로 획득한다. 상기 피드백 정보는 상술한 바와 같이 콘텐츠 추천에 대한 사용자의 긍정적 또는 부정적 반응을 내포하는 다양한 정보를 포함할 수 있다. 예를 들면, 사용자가 추천 콘텐츠를 응시한 시간, 추천 콘텐츠에 대한 터치 입력 또는 클릭 입력 등이 사용자의 피드백 정보가 될 수 있다.
콘텐츠 추천 단말(300)은 상기 사용자 피드백 정보 획득부가 획득한 사용자의 피드백 정보를 콘텐츠 추천 서버(100)에 전송함으로써 콘텐츠 추천 서버(100)가 사용자의 선호도를 실시간으로 반영할 수 있도록 상호 동작할 수 있다.
지금까지 설명한 도 4의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
다음으로, 도 5 내지 도 6을 참조하여 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 서버(100)의 세부 하드웨어 구성 및 기능 블록에 대하여 설명한다.
먼저 도 5를 참조하면, 본 발명의 실시예에 따른 콘텐츠 추천 서버(100)는 하나 이상의 프로세서(110), 네트워크 인터페이스(170), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(130)와, 콘텐츠 추천 소프트웨어(191) 및 콘텐츠 추천 이력(193)을 저장하는 스토리지(190)를 포함할 수 있다. 다만, 도 5에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 5에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.
여기서, 콘텐츠 추천 이력(193)은 콘텐츠 추천 모델이 실시간으로 학습하는 사용자 유형 별 콘텐츠의 보상 값과는 달리, 지금까지 콘텐츠 추천 서버(100)가 결정한 사용자의 유형 별 추천 콘텐츠와 그에 따른 피드백 정보를 포함하는 과거의 이력(history)를 의미한다.
각 구성 요소를 살펴보면, 프로세서(110)는 콘텐츠 추천 서버(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.
메모리(130)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(130)는 본 발명의 실시예들에 따른 콘텐츠 추천 방법을 실행하기 위하여 스토리지(190)로부터 하나 이상의 프로그램(191)을 로드할 수 있다. 도 5에서 메모리(130)의 예시로 RAM이 도시되었다.
버스(150)는 콘텐츠 추천 서버(100)의 구성 요소 간 통신 기능을 제공한다. 버스(150)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(170)는 콘텐츠 추천 서버(100)의 유선 또는 무선 통신을 지원한다. 이를 위해, 네트워크 인터페이스(170)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
네트워크 인터페이스(170)는 네트워크를 통해 한 대 이상의 콘텐츠 추천 단말(300)과 데이터를 송수신할 수 있다. 자세하게는, 네트워크 인터페이스(170)는 콘텐츠 추천 단말(300)로부터 추천 요청 메시지, 사용자의 유형 정보, 사용자의 피드백 정보 등을 수신할 수 있고, 콘텐츠 추천 단말(300)로 추천 콘텐츠 또는 확인 메시지(ACK) 등을 송신할 수 있다. 또한, 별도의 데이터 분석 장치로부터 사용자의 피드백 정보를 수신할 수도 있다.
스토리지(190)는 상기 하나 이상의 프로그램(191) 및 콘텐츠 추천 이력 (193)을 비임시적으로 저장할 수 있다. 도 5에서 상기 하나 이상의 프로그램(191)의 예시로 콘텐츠 추천 소프트웨어(191)가 도시되었다.
스토리지(190)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
콘텐츠 추천 소프트웨어(191)는 메모리(130)에 로드되어, 하나 이상의 프로세서(110)에 의해 실행되며, 콘텐츠 추천 소프트웨어(191)는, 제1 시점에 획득된 제1 사용자의 제1 유형 정보를 콘텐츠 추천 모델에 입력하여 결정된 제1 추천 콘텐츠를 콘텐츠 추천 단말에 송신하는 오퍼레이션(131), 상기 제1 추천 콘텐츠에 노출된 상기 제1 사용자의 피드백 정보를 상기 콘텐츠 추천 단말로부터 수신하고, 상기 피드백 정보를 상기 콘텐츠 추천 모델에 반영하여 상기 콘텐츠 추천 모델을 갱신하는 오퍼레이션(133) 및 제1 시점 이후의 제2 시점에 획득된 제2 사용자의 제2 유형 정보를 상기 갱신된 콘텐츠 추천 모델에 입력하여 결정된 제2 추천 콘텐츠를 콘텐츠 추천 단말에 송신하는 오퍼레이션(135)을 포함할 수 있다. 단, 상기 제1 유형 정보는 상기 제1 시점의 상황 정보를 포함하고, 상기 제2 유형 정보는 상기 제2 시점의 상황 정보를 포함하며, 상기 제1 유형 정보와 상기 제2 유형 정보는 동일한 값을 가리키고, 상기 제1 추천 콘텐츠와 상기 제2 추천 콘텐츠는 서로 다른 콘텐츠일 수 있다.
이는, 상기 콘텐츠 추천 서버가 제1 사용자의 피드백 정보를 반영하여 콘텐츠 추천 모델을 갱신함으로써, 시간이 지남에 따라 동일한 사용자 유형의 정보에 대해서도 다른 콘텐츠를 추천할 수 있다는 것을 의미한다.
다음으로, 도 6은 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 서버(100)의 기능블록도이다.
도 6을 참조하면, 콘텐츠 추천 서버(100)는 사용자 유형 정보 획득부(210), 특징 벡터 추출부(230), 콘텐츠 추천 엔진(250), 사용자 피드백 정보 수집부(270) 및 콘텐츠 추천 이력 관리부(290)를 포함할 수 있다. 다만, 도 6에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 6에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 예를 들어, 콘텐츠 추천 서버(100)는 콘텐츠 추천 단말(300)과 데이터 통신을 수행하는 통신부 및 콘텐츠 추천 서버(100)의 전반적인 동작을 제어하는 제어부 등을 더 포함할 수 있다.
각 기능 블록을 살펴보면, 사용자 유형 정보 획득부(210)는 하나 이상의 콘텐츠 추천 단말(300)로부터 콘텐츠 추천을 요청한 사용자의 유형 정보를 획득할 수 있다. 또한, 별도의 데이터 분석 장치로부터 콘텐츠 추천 시스템(10)이 설치된 장소의 상황 정보를 수집하거나, 내부 또는 외부의 데이터 소스로부터 날씨, 시간 등의 상황 정보를 더 획득할 수 있다.
특징 벡터 추출부(230)는 사용자 유형 정보 획득부(210)가 획득한 사용자 유형 정보에서 콘텐츠 추천 엔진(250)의 입력이 되는 특징 벡터를 추출할 수 있다. 상기 특징 벡터는 사용자의 유형에 대한 수치화된 특징 값을 갖는 벡터이다. 상기 특징 벡터를 추출하는 방법에 대하여는 도 9를 참조하여 후술한다.
콘텐츠 추천 엔진(250)은 상기 특징 벡터에 매칭되는 추천 후보 데이터의 보상 값을 기초로 MAB 알고리즘을 이용하여 추천 콘텐츠를 결정한다. 추천 콘텐츠는 이용되는 MAB 알고리즘의 종류에 따라 달라질 수 있으며, 콘텐츠 추천 엔진(250)은 해당 기술 분야에 널리 알려진 MAB 알고리즘을 이용하여 구현되거나 하나 이상의 MAB 알고리즘의 조합을 이용하여 구현될 수도 있다.
콘텐츠 추천 엔진(250)은 사용자의 피드백 정보에 기초하여 사용자의 선호도를 실시간으로 반영하고 사용자에게 추천되는 추천 콘텐츠를 변경할 수 있다. 보다 자세하게는, 콘텐츠 추천 엔진(250)은 수집되는 사용자의 피드백 정보를 수치화된 보상 값으로 전환하고 상기 보상 값을 사용자 별 콘텐츠의 보상 값에 반영하여 학습을 수행할 수 있다. 사용자 별 콘텐츠의 보상 값이 변경됨에 따라 MAB 알고리즘에 의해 결정되는 추천 콘텐츠 또한 달라질 수 있기 때문에 콘텐츠 추천 엔진(250)은 시간에 따라 가변적인 사용자의 선호도를 반영한 콘텐츠 추천을 수행할 수 있다.
사용자 피드백 정보 수집부(270)는 콘텐츠 추천 단말(300) 또는 별도의 데이터 분석 장치로부터 다양한 사용자 피드백 정보를 수집한다. 수집된 피드백 정보는 콘텐츠 추천 엔진(250)으로 다시 입력되어 이후의 시점에 동일한 사용자의 유형에 대한 추천을 수행할 때 선호도가 높은 추천 콘텐츠를 보다 정확하게 결정하는데 이용될 수 있다.
마지막으로, 콘텐츠 추천 이력 관리부(290)는 콘텐츠 추천에 대한 과거 데이터인 콘텐츠 추천 이력을 관리한다. 상기 콘텐츠 추천 이력 관리부(290)는 상기 콘텐츠 추천 이력을 관리하기 위해 DB화된 저장 장치를 이용할 수 있다. 콘텐츠 추천 이력은 콘텐츠 추천을 요청한 사용자의 유형을 가리키는 특징 벡터, 추천 콘텐츠 및 그에 대한 사용자의 피드백 정보 등을 포함할 수 있다.
지금까지 설명한 도 6의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
지금까지 도 5 및 도 6을 참조하여, 본 발명의 실시예에 따른 콘텐츠 추천 서버(100)에 대하여 설명하였다. 다음으로, 도 7을 참조하여 콘텐츠 추천 서버(100)에 의해 수행되는 콘텐츠 추천 방법에 대하여 상세히 설명한다.
도 7은 본 발명의 또 다른 실시예에 따른 콘텐츠 추천 방법의 순서도이다. 이하, 이해의 편의를 위해 상기 콘텐츠 추천 방법에 포함되는 각 동작의 주체는 그 기재가 생략될 수 있음에 유의한다.
도 7을 참조하면, 임의의 제1 시점에 제1 사용자가 콘텐츠 추천 단말(300)을 통해 콘텐츠 추천을 요청한 경우, 콘텐츠 추천 서버(100)는 콘텐츠 추천 단말(300)로부터 제1 사용자의 유형 정보를 수신한다(S200). 제1 사용자의 유형 정보는 상술한 바와 같이 인구통계학적 정보 및 제1 시점의 상황 정보를 포함할 수 있고 콘텐츠 추천 단말(300)이 영상 분석을 수행하여 도출된 정보일 수 있다. 단, 콘텐츠 추천 서버(100)는 내부 또는 외부의 데이터 소스로부터 시간, 요일, 날씨 등의 상황 정보를 더 획득할 수도 있다.
제1 사용자의 유형 정보를 수신한 콘텐츠 추천 서버(100)는 상기 제1 사용자의 유형 정보를 콘텐츠 추천 모델에 입력하여 제1 추천 콘텐츠를 결정한다(S300). 상술한 바와 같이, 상기 콘텐츠 추천 모델은 사용자의 유형 정보를 입력으로 추천 콘텐츠를 출력하는 모델로써, 사용자 유형 별 콘텐츠의 보상 값을 기초로 MAB 알고리즘을 이용하여 추천 콘텐츠를 결정한다.
다음으로, 콘텐츠 추천 서버(100)는 결정된 제1 추천 콘텐츠를 콘텐츠 추천 단말(300)로 송신하고, 상기 콘텐츠 추천 단말로부터 제1 사용자의 피드백 정보를 수신한다(S400). 단, 상기 피드백 정보는 콘텐츠 추천 단말 외에도 별도의 데이터 분석 장치로부터 얻을 수도 있다. 예를 들면, 제1 사용자의 매장 방문 여부 등은 상기 데이터 분석 장치가 상기 제1 사용자의 이동 경로를 분석함으로써 도출된 피드백 정보일 수 있다.
콘텐츠 추천 서버(100)는 제1 사용자의 피드백 정보를 콘텐츠 추천 모델에 다시 반영함으로써 콘텐츠 추천 모델을 갱신한다(S500). 자세하게는, 콘텐츠 추천 서버(100)는 콘텐츠 추천 모델에 포함되는 제1 사용자의 유형에 대한 콘텐츠의 보상 값을 갱신하고, 상기 보상 값이 갱신됨에 따라 MAB 알고리즘에 의해 출력되는 추천 콘텐츠는 변경될 수 있다.
다음으로, 콘텐츠 추천 서버(100)는 제1 시점 이후의 제2 시점에 제1 사용자와 동일한 유형 정보를 갖는 제2 사용자의 유형 정보를 수신한다(S600). 상기 제2 사용자는 제1 사용자와 다른 사용자일 수 있으나, 제1 사용자와 인구통계학적 정보 및 상황 정보가 동일한 사용자일 수 있다. 예를 들어, 제1 사용자 및 제2 사용자는 20대 남성으로 성별 및 연령대가 동일하고, 같은 요일 비슷한 시간대에 복합 쇼핑몰을 방문한 사용자일 수 있다.
콘텐츠 추천 서버(100)는 제2 사용자의 유형 정보를 수신함에 따라 제2 사용자에 대한 추천 콘텐츠인 제2 추천 콘텐츠를 결정한다(S700). 여기서, 제2 추천 콘텐츠는 제1 추천 콘텐츠와 적어도 일부는 서로 다른 콘텐츠를 포함할 수 있다. 왜냐하면, 제1 사용자의 피드백에 따라 콘텐츠 추천 모델의 보상 값이 갱신되었고 이에 따라 추천 콘텐츠가 변경될 수 있기 때문이다.
지금까지, 도 7을 참조하여 본 발명의 실시예에 따른 콘텐츠 추천 방법에 대하여 설명하였다. 상술한 방법에 따르면, 콘텐츠 추천 서버(100)는 사용자의 피드백을 기초로 사용자 유형 별로 시간의 흐름에 따라 변동되는 선호도를 반영함으로써 고정된 룰 기반의 추천 방식에 비해 유연하고 정확하게 맞춤형 콘텐츠를 추천할 수 있다.
다음으로, 도 8을 참조하여 도 7에 도시된 제1 추천 콘텐츠 결정 단계(S300)에 대하여 부연하여 상세히 설명한다.
도 8을 참조하면, 콘텐츠 추천 서버(100)는 제1 사용자의 유형 정보를 기초로 특징 벡터를 추출한다(S310). 상기 특징 벡터는 사용자의 유형 정보를 수치화된 형태로 변환한 값으로 콘텐츠 추천 모델의 실제 입력으로 이용되는 값이 될 수 있다.
이해의 편의를 위해, 도 9a 내지 도 9c를 참조하여 상기 특징 벡터를 추출하는 단계(S310)를 예를 들어서 설명한다.
먼저, 도 9a를 참조하면, 특징 벡터(510)는 복수의 속성 필드와 각 속성에 대한 값을 가질 수 있다. 도 9a에 도시된 특징 벡터(510)의 경우, 연령(Age) 및 성별(Gender)을 속성 필드로 갖고, 연령 속성 필드는 연령대 별로 다시 5 개의 하위 속성 필드를 갖는 것을 알 수 있다. 또한, 각 속성 필드 별로 0 또는 1이 설정되도록 정의된 것을 알 수 있다. 단. 9a에 도시된 특징 벡터(510)는 특징 벡터를 설명하기 위한 일 예에 불과하고, 특징 벡터에 포함되는 속성 필드의 개수, 종류 및 형식은 구현 방식에 따라 얼마든지 달라질 수 있다.
콘텐츠 추천 서버(100)는 사용자의 유형 정보 각각을 대응되는 속성 필드의 값으로 변환함으로써 수치화된 특징 벡터를 추출할 수 있다. 예를 들어, 획득된 사용자의 유형 정보가 '30대', '남자'인 경우, 콘텐츠 추천 서버(100)는 '30대'에 대응되는 '30~40' 속성필드의 값을 '1'로 설정하고, '남자'에 대응되는 'Gender'필드의 값을 '1'로 설정할 수 있다.
한편, 콘텐츠 추천 서버(100)가 이용하는 사용자의 유형 정보는 인구통계학적 정보 외에도 다양한 상황 정보를 포함한다. 그러나 추출되는 상황 정보의 개수는 가변적이고 매우 다양한 정보가 추출될 수 있기 때문에 각각의 상황 정보에 대하여 특징 벡터의 속성 필드를 부여하는 것은 비효율적이다. 또한, 상기 상황 정보로 인해 사용자의 유형이 지나치게 세분화될 수 있다. 따라서, 콘텐츠 추천 서버(100)는 상황 정보를 기 설정된 개수의 클러스터에 매핑되도록 클러스터링 함으로써, 상황 정보의 개수에 관계없이 고정된 개수의 속성 필드만이 상황 정보에 할당되도록 할 수 있다.
도 9b에 도시된 예를 참조하면, 콘텐츠 추천 서버(100)는 사용자의 유형 정보에 포함되는 인구통계학적 정보를 기초로 제1 특징 벡터(520)를 추출할 수 있다. 예를 들어, 상기 인구통계학적 정보가 '30대', '남자'인 경우, 콘텐츠 추천 서버(100)는 제1 특징 벡터(520)를 추출할 수 있다.
다음으로, 상기 사용자의 유형 정보에 포함되는 상황 정보의 경우 콘텐츠 추천 서버(100)는 클러스터링 결과를 기초로 제2 특징 벡터(530)를 추출할 수 있다. 상기 클러스터링은 당해 기술 분야에서 잘 알려진 클러스터링 알고리즘을 이용하여 수행될 수 있다. 예를 들면, 도 9b에 도시된 바와 같이 K-평균 클러스터링(K-means Clustering) 알고리즘이 이용될 수 있다. 도 9b의 경우, K가 '4'인 K-평균 알고리즘을 이용함으로써 상황 정보의 개수에 관계없이 특징 벡터에 4 개의 속성 필드만이 할당되도록 한 예를 도시한 것이다. 상기 K-평균 클러스터링 알고리즘은 당해 기술 분야에서 잘 알려진 알고리즘이므로 이에 대한 설명은 생략한다.
콘텐츠 추천 서버(100)는 획득된 사용자의 상황 정보가 기 구축된 클러스터 중에서 어느 클러스터에 위치하는지 확인하여 제2 특징 벡터를 추출할 수 있다. 예를 들면, 도 9b에 도시된 제2 특징 벡터(530)는 상황 정보를 나타내는 키워드인 '오후 3시', '월요일', '맑음' 등이 4 개의 기 구축된 클러스터 중에서, 2 번째 및 4 번째 클러스터에 위치하는 경우 추출되는 특징 벡터(530)를 도시한 것이다.
참고로, 콘텐츠 추천 단말(300)이 클래리파이를 이용하여 상황 정보를 나타내는 키워드를 추출하도록 구현된 경우, 콘텐츠 추천 서버(100)는 상기 클래리파이가 분석 결과로 제공할 수 있는 키워드셋을 이용하여 클러스터를 미리 구축할 수 있으며, K-평균 클러스터링 알고리즘의 클러스터 개수를 가리키는 K의 값은 구현 방식에 따라 달라질 수 있다.
콘텐츠 추천 서버(100)는 제1 특징 벡터(520)와 제2 특징 벡터(530)를 결합하여 최종적으로 사용자의 유형을 가리키는 특징 벡터(540)를 추출할 수 있다.
다음으로, 도 9c는 콘텐츠 추천 서버(100)가 특징 벡터를 추출하는 다른 예를 도시한다. 도 9b의 경우 콘텐츠 추천 서버(100)가 상황 정보 전체에 대하여 클러스터링 결과를 산출하였으나, 구현 방식에 따라 콘텐츠 추천 서버(100)는 사용자의 상황 정보에 포함되는 일부 상황 정보인 제1 상황 정보만을 대상으로 클러스터링 결과를 산출할 수도 있다. 이는 사용자의 상황 정보에 포함되고 제1 상황 정보가 아닌 제2 상황 정보는 추천 콘텐츠를 결정하는 중요한 기준이 될 수도 있기 때문이다.
예를 들어, 복합 쇼핑몰 주변에 다수의 회사가 존재한다고 가정하면 주중 점심 또는 저녁 시간에 상기 복합 쇼핑몰을 방문하는 사용자는 쇼핑 목적이 아니라 복합 쇼핑몰에 위치한 음식점을 방문할 가능성이 통계적으로 높을 수 있다. 따라서, 상황 정보 중 요일과 관련된 정보와 시간과 관련된 정보는 콘텐츠의 종류가 변동될 수 있는 중요한 기준으로 될 수 있기 때문에 특징 벡터에서 독립적인 속성 필드를 갖도록 구현될 수 있다.
도 9c를 참조하면, 위의 예와 같이 상황 정보 중 시간 및 요일 정보에 대한 정보인 '12시'와 '화요일'이 특징 벡터(550)의 독립적인 속성 필드의 값으로 변환되고, '비', '동료', '단체' 등의 상황 정보는 클러스터링을 통해 특징 벡터의 속성 값으로 추출되는 것을 확인할 수 있다.
참고로, 도 9b 및 도 9c에 도시된 예에서 사용자의 유형 정보 중 상황 정보가 클러스터링의 대상이 되는 예만을 도시하였으나, 인구통계학적 정보도 특징 벡터의 독립적인 속성 필드가 되는 것이 아니라 클러스터링을 통해 특징 벡터로 변환되는 속성이 될 수도 있으며, 이는 구현 방식의 차이에 불과하다.
지금까지, 도 9a 내지 도 9c를 참조하여 콘텐츠 추천 서버(100)가 특징 벡터를 추출하는 예에 대하여 설명하였다.
다시, 도 8로 돌아가면, 콘텐츠 추천 서버(100)는 추출된 특징 벡터를 콘텐츠 추천 모델에 입력하여 제1 추천 콘텐츠를 결정한다(S330). 자세하게는, 콘텐츠 추천 모델에 상기 특징 벡터에 대응되는 각 콘텐츠의 보상 값을 기초로 MAB 알고리즘을 수행함으로써 제1 추천 콘텐츠를 결정할 수 있다.
도 10을 참조하여 부연 설명하면, 콘텐츠 추천 모델은 도 10에 도시된 바와 같이 사용자 유형 별로 각 콘텐츠의 보상 값을 포함할 수 있다. 상기 콘텐츠의 보상 값은 특징 벡터가 가리키는 사용자의 유형 별로 설정될 수 있고, 상기 각 콘텐츠의 보상 값은 사용자의 피드백이 학습된 데이터로 이해될 수 있다. 즉 상기 각 콘텐츠의 보상 값은 특징 벡터가 가리키는 유형의 사용자가 각 콘텐츠에 대하여 갖는 선호도를 반영한 값으로 이해될 수 있다.
예를 들어, 표(620)는 특징 벡터(610)가 '100001'인 10대 남성 사용자가 각 콘텐츠에 대하여 갖는 선호도를 가리키고, 표(630)는 특징 벡터(610)가 '010001'인 20대 남성 사용자가 각 콘텐츠에 대하여 갖는 선호도를 가리킬 수 있다.
표(620)를 살펴보면, 각 피드백 타입에 대한 값은 각 피드백 타입 별로 누적된 보상 값을 의미하고, 보상 합계는 각 피드백 타입에 대한 누적된 보상 값을 합산한 값을 의미한다. 표(620)는 특징 벡터(610)가 '100001'인 10대 남성 사용자에게 콘텐츠(B)를 추천한 결과 지금까지 사용자 피드백이 가장 긍정적이었음을 보여주고, 콘텐츠(A)를 정보로 추천한 결과 상대적으로 사용자 피드백이 가장 부정적이었음을 보여준다. 참고로, 각 표(620, 630)의 콘텐츠는 추천 콘텐츠로 결정되지 않은 콘텐츠도 포함될 수 있으며, 추천되지 않은 콘텐츠의 경우 보상 합계는 '0'으로 표시될 수 있다. 또한, 표(620, 630)는 피드백에 대한 보상 값이 시간에 따라 동일한 가중치를 갖는다고 가정하여 각 피드백 타입에 대한 누적 값을 계산하였으나, 최근의 보상 값이 더 큰 가중치를 갖는 경우 상기 각 피드백 타입에 대한 누적 값은 과거의 보상 값에 0과 1사이의 값을 갖는 할인율을 곱한 뒤 누적한 값으로 계산될 수도 있다.
콘텐츠 추천 모델은 특징 벡터가 입력으로 들어온 경우 표(620, 630)에 도시된 보상 값을 기초로 MAB 알고리즘을 수행하여 추천 콘텐츠를 출력하도록 동작할 수 있다. 예를 들어, 추출된 특징 벡터가 '100001'인 경우 콘텐츠 추천 모델은 표(620)의 각 콘텐츠(A, B, C)에 대하여 MAB 알고리즘을 수행하여 추천 콘텐츠를 출력한다.
결과로 출력되는 콘텐츠는 MAB 알고리즘에 따라 달라질 수 있다. 예를 들어, 엡실론-그리디 알고리즘을 이용하는 경우, 엡실론의 확률로 각 콘텐츠의 보상 값을 기초로 경험적으로 가장 반응이 좋았던 콘텐츠를 추천 콘텐츠로 결정하고(Exploitation 모드), 1-엡실론의 확률로 가장 반응이 좋았던 콘텐츠 외의 다른 콘텐츠를 추천 콘텐츠로 결정할 수 있다(Exploration 모드). 상기 경험적으로 가장 반응이 좋았던 콘텐츠는 예를 들어 보상 합계가 가장 높은 콘텐츠(B)가 될 수 있고, N 개의 콘텐츠를 추천하는 경우 보상 합계가 가장 높은 상위 N 개의 콘텐츠를 추천 콘텐츠로 결정할 수 있다.
다른 예로, UCB를 사용하는 경우는 한번도 추천되지 않은 콘텐츠가 있는 경우는 해당 콘텐츠를 먼저 추천하고, 한번도 추천되지 않은 콘텐츠가 없는 경우는 각 콘텐츠 별로 보상 값 및 추천 횟수를 기초로 UCB를 계산하고, 상기 UCB가 높은 값은 추천 콘텐츠로 결정할 수 있다.
이외에도, 해당 기술 분야에서 널리 알려진 다양한 알고리즘을 이용될 수 있고, 하나 이상의 알고리즘의 조합을 통해 추천 콘텐츠가 결정될 수도 있으며, 이는 구현 방식의 차이에 불과하다.
지금까지, 콘텐츠 추천 서버(100)가 특징 벡터를 추출하고, 상기 특징 벡터를 입력으로 하는 콘텐츠 추천 모델을 이용하여 추천 콘텐츠를 결정하는 방법에 대하여 설명하였다. 상술한 방법에 따르면, 콘텐츠 추천 서버(100)는 사용자의 피드백을 통해 학습된 각 콘텐츠의 보상 값을 기초로 MAB 알고리즘을 이용하여 추천 콘텐츠를 결정함으로써 시간에 따라 가변적인 선호도를 고려하여 추천 콘텐츠를 결정할 수 있다.
다음으로, 도 11 내지 도 12를 참조하여, 콘텐츠 추천 서버(100)가 사용자의 피드백 정보를 반영하는 방법 및 피드백 종류 별로 차별화된 보상 값을 부여하는 예에 대하여 설명한다.
먼저 도 11을 참조하면, 콘텐츠 추천 서버(100)는 콘텐츠 추천 단말(300) 또는 별도의 데이터 분석 장치로부터 수집한 피드백 정보를 기 설정된 기준에 따라 수치화된 보상 값으로 변환한다(S510). 여기서, 상기 수치화된 보상 값은 피드백 정보의 종류 별로 서로 다른 보상 값이 될 수 있다. 이는 사용자의 선호 의사가 반영된 피드백에 대하여 더 큰 보상 값을 부여하여 보다 정확한 추천을 수행하기 위함이다.
예를 들어, 디지털 사이니지를 통해 복합 쇼핑몰 내에 입점한 매장의 브랜드를 추천하는 경우 사용자의 피드백 정보는 추천된 매장의 브랜드에 대한 선택 입력, 추천 매장에 대한 길 찾기 요청, 추천 매장의 방문, 추천 매장에서의 상품 구매 등 다양하게 설정될 수 있다. 이 중에서, 매장의 브랜드에 대한 선택 입력은 상기 매장을 방문하려는 사용자의 의사보다는 호기심에 의한 선택일 수 있고, 사실상 호기심에 의한 선택은 사용자의 유형 별 선호도를 결정하는 데 불필요한 노이즈 정보에 불과할 수 있다. 따라서, 사용자의 선호 의사가 강하게 반영된 피드백 정보에 대하여 상대적으로 큰 보상 값을 부여하고, 사용자의 선호 의사가 약하게 반영된 피드백 정보에 대해서는 상대적으로 작은 보상 값을 부여함으로써 노이즈 정보의 영향을 최소화하고 추천의 정확도를 향상시킬 수 있다.
다음으로, 콘텐츠 추천 서버(100)는 콘텐츠 추천 모델을 통해 학습되는 사용자 유형 별 보상 값을 갱신한다(S530). 예를 들어, 상기 피드백 정보가 제1 사용자의 유형에 대한 피드백 정보인 경우, 콘텐츠 추천 모델을 통해 학습되는 사용자 유형 별 보상 값 중에서, 제1 사용자의 유형에 대한 보상 값을 누적하는 방식으로 보상 값을 갱신할 수 있다. 또한, 상술한 바와 같이, 과거의 보상 값에 소정의 할인율을 곱한 뒤 누적하는 방식으로 보상 값을 갱신할 수도 있다.
이해의 편의를 제공하기 위해 도 12a 내지 도 12d를 참조하여 복합 쇼핑몰 내에 입점한 브랜드를 추천하는 경우, 피드백 정보에 따라 차별화된 보상 값의 부여하고 보상 값을 갱신하는 예에 대하여 간략하게 설명한다.
도 12a는 피드백 정보의 종류에 따라 차등화된 보상 값을 부여하는 예를 도시한다. 도 12a를 참조하면, 콘텐츠 추천 서버(100)는 사용자의 반응이 없는 추천 브랜드에 대하여 '-1'점, 사용자가 추천 브랜드를 선택하는 경우는 '+1'점, 해당 브랜드의 매장을 방문한 경우 '+4'점, 상기 방문한 매장에서 특정 상품을 구매한 경우는 '+8'점의 보상 값을 부여할 수 있다. 이는 도 12a 도시된 화살표의 오른쪽 방향으로 갈수록 소비자의 선호 의사가 더 강하게 부여된 것이기 때문이다.
참고로, 사용자가 해당 매장을 방문하였는지 여부의 피드백 정보는 별도의 데이터 분석 장치가 수집된 영상을 통해 해당 사용자의 이동 경로를 추적하거나, WIFI 데이터를 분석함으로써 해당 사용자의 이동 단말기의 이동 경로를 추적하는 등의 방식으로 추출할 수 있다. 또한, 특정 상품을 구매하였는지 여부의 피드백 정보는 별도의 데이터 수집 장치가 해당 매장의 계산대 근처의 영상을 촬영하고, 별도의 데이터 분석 장치가 해당 사용자가 계산대 근처에서 머무른 시간, 계산대 근처에서의 사용자의 응시 대상 또는 응시 시간 등을 분석하여 추출될 수 있다.
도 12b는 추천 브랜드(A)에 대한 선택 입력(710)을 하는 사용자의 피드백을 도시하고, 도 12c는 추천 브랜드(B)에 대한 길 찾기를 요청(730)하는 사용자의 피드백에 대하여 도시한다. 도 12d는 도 12b 및 도 12c에 도시된 사용자의 피드백 정보가 획득된 경우 보상 값을 갱신하는 예를 도시한다.
도 12d에 도시된 표(750)는 콘텐츠 추천 모델이 학습하는 사용자의 유형 별 콘텐츠의 보상 값 데이터 중 상기 피드백을 준 사용자의 유형에 대한 콘텐츠의 보상 값 데이터이다. 콘텐츠 추천 서버(100)는 추천한 브랜드 정보(A) 에 대한 선택 입력(710) 피드백 정보를 획득한 경우, 상기 선택 입력 피드백 정보를 수치화된 보상 값(+1)으로 변환한 뒤, 보상 값(+1)을 브랜드(A)에 대한 보상 값에 합산함으로써 콘텐츠 추천 모델을 갱신할 수 있다. 또한, 콘텐츠 추천 서버(100)는 추천한 브랜드 정보(B)에 대한 길 찾기 요청(730) 피드백 정보를 획득한 경우, 상기 길 찾기 요청 피드백 정보를 수치화된 보상 값(+2)으로 변환한 뒤, 변환된 보상 값(+2)을 브랜드(B)에 대한 보상 값에 합산함으로써 보상 값을 갱신할 수 있다. 또한, 콘텐츠 추천 서버(100)는 피드백 정보가 획득되지 않은 브랜드 정보(C)의 경우 반응 없음에 대한 보상 값(-1)을 합산함으로써 보상 값을 갱신할 수 있다. 이와 같이, 차별화된 보상 값을 기초로 각 정보에 대한 보상 값을 합산함으로써 콘텐츠 추천 서버(100)는 사용자의 유형 별 선호도를 실시간으로 반영하고 보다 정확한 추천을 수행할 수 있다.
지금까지, 콘텐츠 추천 서버(100)가 사용자의 피드백 정보를 반영하는 방법 및 피드백 종류 별로 차별화된 보상 값을 부여하는 예에 대하여 설명하였다. 다음으로, 도 13 내지 도 14를 참조하여 콘텐츠 추천 서버(100)가 복수의 추천 정책을 활용하여 추천 콘텐츠를 결정하는 실시예에 대하여 설명한다.
상술한 바와 같이 콘텐츠 추천 서버(100)는 MAB 알고리즘 기반으로 동작하는 콘텐츠 추천 모델(이하, 'MAB 모델')을 이용하여 추천 콘텐츠를 결정할 수 있다. 상기 MAB 알고리즘은 강화 학습 기술 분야의 알고리즘이므로 사용자의 피드백 정보가 충분하지 않은 경우는 콘텐츠 추천의 정확도가 떨어질 수 있다. 즉, 콘텐츠 추천 시스템(10)을 구축한 초기에는 사용자의 피드백 정보가 부족하기 때문에 정확한 추천을 수행할 수 없는 문제가 발생할 수 있다. 이와 같은 문제를 해결하기 위해 콘텐츠 추천 서버(100)는 사전 정보를 바탕으로 정의된 룰 기반의 추천 정책과 MAB 모델 기반의 추천 정책을 동시에 운용하여 콘텐츠 추천을 수행할 수 있다.
도 13a는 콘텐츠 추천을 위한 룰이 주어진 경우, 상기 룰 기반의 제1 추천 정책과 MAB 모델 기반의 제2 추천 정책 기반으로 콘텐츠 추천 서버가 동작하는 예를 도시한다. 도 13a에서 X 축은 시간의 흐름을 나타내고, Y 축은 각 추천 정책의 점유 비율을 의미한다.
먼저, 각 추천 정책에 사용되는 룰과 MAB 모델의 특징을 살펴보면, 상기 제1 추천 정책에서 이용되는 룰은 사용자의 유형 별 선호도에 대한 사전 정보를 기초로 정의된 룰일 수 있다. 예를 들어, 복합 쇼핑몰 내에 입점한 브랜드를 추천하는 경우, 마케터가 제공하는 사용자의 유형 별 선호 브랜드 정보를 기초로 정의된 룰일 수 있다. 또한, 상기 룰은 시스템 초기에 수동으로 정의될 수 있고, 일반적으로 성별 및 연령만을 기초로 사용자의 유형을 구분하고 이에 따라 추천 브랜드를 결정하는 룰일 수 있다.
이에 반해, 제2 추천 정책에 이용되는 MAB 모델은 상황 정보를 포함하여 사용자의 유형을 구분하기 때문에 세분화된 사용자의 유형에 대하여 추천 콘텐츠를 결정할 수 있다. 또한, 사용자의 피드백을 기초로 실시간으로 사용자의 선호도를 반영할 수 있기 때문에 시간에 따라 동일한 사용자의 유형에 대하여 다른 콘텐츠를 추천할 수 있다.
도 13a를 참조하면, 콘텐츠 추천 서버(100)는 제1 시점(T1)까지 제1 추천 정책만을 이용하여 정보를 추천할 수 있다. 또한, 제1 시점(T1)이 지나면서 콘텐츠 추천 서버(100)는 제2 추천 정책을 이용하고, 제2 시점(T2)에 도달할 때까지 콘텐츠 추천 서버(100)는 제2 추천 정책의 점유 비율을 점차 늘려갈 수 있다. 이는 사용자의 피드백을 반영한 학습 데이터인 각 사용자 유형 별 콘텐츠의 보상 값이 점차 축적될수록 제2 추천 정책의 추천의 정확도가 향상될 수 있기 때문이다.
제1 시점(T1) 이후로, 콘텐츠 추천 서버(100)는 제1 추천 정책 및 제2 추천 정책 중에서 각 추천 정책의 점유 비율을 기초로 어느 하나의 추천 정책을 결정하고, 결정된 추천 정책을 기초로 추천 콘텐츠를 결정할 수 있다. 상기 추천 정책의 점유 비율은 콘텐츠 추천 요청에 따라 각 추천 정책이 이용되는 비율을 의미한다. 도 13a에 도시된 그래프에서 룰을 이용하는 제1 추천 정책의 점유 비율은 제 1시점(T1)에서는 100%이고 이후 점차 감소하는 것을 볼 수 있다.
콘텐츠 추천 서버(100) 시간이 지남에 따라 제1 추천 정책의 점유 비율을 줄이고 제2 추천 정책의 점유 비율을 증가시킬 수 있다. 다시 말하면, 제2 추천 정책에 이용되는 MAB 모델의 학습 정도를 반영하여 제1 추천 정책의 점유 비율을 줄이고 제2 추천 정책의 점유 비율을 증가하는 방식으로 각 추천 정책의 점유 비율을 조정할 수 있고, 각 추천 정책의 점유 비율의 합은 일정할 수 있다.
자세하게는, 콘텐츠 추천 서버(100)는 피드백 정보의 개수를 기초로 제1 추천 정책과 제2 추천 정책의 점유 비율을 조정할 수 있다. 콘텐츠 추천 서버(100)는 사용자의 유형 별로 축적된 피드백 정보의 개수를 산출하고, 상기 사용자 유형 별로 피드백 정보의 개수의 평균 및 분산 중 적어도 어느 하나 이상의 값을 기초로 제1 추천 정책과 제2 추천 정책의 점유 비율을 조정할 수 있다. 다시 말하면, 콘텐츠 추천 서버(100)는 사용자 유형 별 피드백의 개수의 평균 값이 커지거나 사용자 유형 별 피드백의 개수의 분산 값이 작아질수록 제1 추천 정책의 점유 비율을 감소시키고 제2 추천 정책의 점유 비율을 증가시킬 수 있다. 이는, 사용자 유형 별 피드백 개수의 평균 값이 커질수록 많은 피드백을 얻은 것이고 사용자 유형 별 피드백 개수의 분산 값이 작을수록 사용자 유형 별로 고르게 피드백 정보가 수집된 것이기 때문이다.
단, 콘텐츠 추천 서버(100)는 제2 추천 정책의 점유 비율이 기 설정된 상한 값(100-P1)에 도달한 제2 시점(T2) 이후로는 상기 피드백 개수의 평균 값이 커지거나 상기 피드백 개수의 분산 값이 작아지더라도 상기 제2 추천 정책의 점유 비율을 더 증가시키지 않고 유지할 수 있다. 다시 말하면, 제1 추천 정책의 점유 비율이 기 설정된 하한 값(P1)에 도달한 이후로는 상기 피드백 개수의 평균 값이 커지거나 또는 상기 피드백 개수의 분산 값이 작아지더라도 제1 추천 정책의 점유 비율을 더 감소시키지 않고 유지할 수 있다. 이는 제2 추천 정책의 경우 실시간으로 사용자의 선호도를 반영한 추천 정책으로 시간에 따라 천천히 변하는 사용자의 선호도는 배제될 가능성이 있기 때문이다. 따라서, 콘텐츠 추천 서버(100)는 실시간으로 변하는 선호도와 완만히 변하는 선호도를 모두 고려하기 위해 제1 추천 정책의 점유 비율을 기 설정된 값(P1) 이상으로 유지할 수 있다.
구현 방식에 따라, 콘텐츠 추천 서버(100)는 MAB 모델 기반의 제2 추천 정책을 이용하여 결정된 콘텐츠와 기 설정된 룰 기반의 제1 추천 정책을 이용하여 결정된 콘텐츠를 소정의 비율에 따라 종합하여 사용자에게 추천할 수도 있다. 이와 같은 경우, 도 13a에 도시된 그래프의 Y 축은 제1 추천 정책 기반으로 결정된 콘텐츠의 개수와 제2 추천 정책 기반으로 결정된 콘텐츠의 개수의 비율이 될 수 있다. 예를 들어, 제1 추천 정책의 비율이 80% 이고 제2 추천 정책의 비율이 20%이며, 사용자에게 10개의 콘텐츠를 추천한다고 가정하면, 콘텐츠 추천 서버(100)는 제1 추천 정책 기반으로 8개의 콘텐츠를 선정하고, 제2 추천 정책 기반으로 2개의 콘텐츠를 선정함으로써 10개의 추천 콘텐츠를 결정할 수 있다. 또한, 콘텐츠 추천 서버(100)는 피드백 정보가 수집됨에 따라 제2 추천 정책 기반으로 결정되는 콘텐츠의 개수를 증가시키고, 제1 추천 정책 기반으로 결정되는 콘텐츠의 개수를 감소시키는 방식으로 동작할 수도 있다.
한편, 콘텐츠 추천 서버(100)는 기 설정된 시점마다 비실시간으로 MAB 모델의 사용자 유형 별 콘텐츠의 보상 값을 기초로 룰을 생성하고 상기 생성된 룰을 기반으로 제1 추천 정책의 룰을 갱신할 수 있다. 이는 제1 추천 정책의 룰이 사용자의 선호도와 크게 달라지는 점을 방지하기 위해서이다. 예를 들어, 콘텐츠 추천 서버(100)는 사용자 유형 별로 보상 값이 높은 상위 N 개의 콘텐츠를 추천 콘텐츠로 결정하는 룰을 생성하고, 상기 생성된 룰을 기초로 제1 추천 정책에 이용되는 룰을 갱신할 수 있다. 또한, 구현 방식에 따라, 콘텐츠 추천 서버(100)는 제1 추천 정책의 룰을 상술한 바와 같이 갱신하면서 각 추천 정책의 점유 비율을 제1 시점(T1)과 같이 초기화하고 다시 제2 추천 정책만을 실시간으로 갱신하는 방식으로 복수의 추천 정책을 운용할 수도 있다.
참고로, 콘텐츠 추천 서버(100)가 생성하는 룰은 마케터가 제공하는 룰보다 더 세분화된 사용자 유형을 기초로 추천 콘텐츠를 결정하는 룰일 수 있다. 예를 들어, 마케터가 제공하는 룰은 연령 및 성별만을 기초로 사용자의 유형을 구분하나, 콘텐츠 추천 서버(100)가 생성하는 룰은 연령 및 성별과 같은 인구통계학적 정보 외에도 요일, 날씨 등의 상황 정보를 더 고려하여 사용자의 유형을 구분할 수 있다. 이는, 마케터가 제공하는 룰은 시장에서의 사용자의 일반적인 선호도만을 고려할 뿐, 사용자의 상황 정보를 고려하는데 한계가 있기 때문이다. 반면에, 콘텐츠 추천 서버(100)는 상황 정보를 고려하여 사용자의 유형을 세분화하고, 세분화된 사용자의 유형을 기초로 피드백을 수집하기 때문에 콘텐츠 추천 서버(100)가 생성하는 룰은 세분화된 사용자의 유형에 기초하여 보다 정확한 추천을 수행하는 룰일 수 있다.
다음으로, 도 13b는 도 13a에 도시된 그래프에서 MAB 모델이 동작하는 2 가지 방식을 도시한다. 상술한 바와 같이 MAB 모델은 탐험(Exploration)과 이용(Exploitation) 2가지 모드로 동작할 수 있다. 상기 탐험 모드는 예를 들어 경험적으로 보상 값이 가장 높은 콘텐츠를 추천하지 않고 실험적으로 다른 콘텐츠를 추천하여 다양한 피드백을 수집하는 동작 방식이다. 또한, 이용 모드는 경험적으로 보상 값이 가장 높은 콘텐츠를 추천하는 방식이다. 상기 탐험 모드와 이용 모드의 점유 비율은 알고리즘에 따라 달라지며 엡실론 그리디 알고리즘을 이용하는 경우 상기 엡실론이 탐험과 이용 모드를 결정하는 기준이 된다. 일반적으로 피드백 정보가 수집됨에 따라 이용 모드의 점유 비율은 증가하고 탐험 모드의 점유 비율은 감소하게 되며, 상기 탐험과 이용 모드는 강화 학습 분야에 널리 알려진 개념이므로 이에 대한 자세한 설명은 생략하기로 한다.
지금까지 도 13a 내지 도 13b를 참조하여 룰이 주어진 경우, 콘텐츠 추천 서버(100)가 복수의 추천 정책 기반으로 동작하는 예에 대하여 설명하였다. 다음으로, 도 14를 참조하여 룰이 주어지지 않은 경우, 콘텐츠 추천 서버(100)가 동작하는 예에 대하여 설명한다.
콘텐츠 추천에 대한 사전 지식 또는 룰이 주어지지 않은 경우, 콘텐츠 추천 서버(100)는 임의의 제1 시점(T1)까지 랜덤(Random)으로 콘텐츠를 추천하고 사용자의 피드백 정보를 획득할 수 있다. 다음으로, 콘텐츠 추천 서버(100)는 축적된 피드백 정보를 기초로 자동으로 제1 추천 정책에 이용되는 룰을 생성할 수 있다. 즉, 콘텐츠 추천 서버(100)는 상기 피드백 정보를 기초로 학습된 각 사용자의 유형 별 콘텐츠의 보상 값을 이용하여 제1 추천 정책에 이용되는 룰을 생성할 수 있다. 예를 들어, 콘텐츠 추천 서버(100)는 사용자 유형 별로 보상 값이 높은 상위 N 개의 콘텐츠를 추천 콘텐츠로 결정하도록 하는 룰을 생성할 수 있다.
콘텐츠 추천 서버(100)는 이와 같이 수집된 피드백 기반으로 자동으로 룰을 생성함으로써 수동으로 사용자의 선호도를 조사하고, 상기 선호도를 룰로 정의하는데 소요되는 인적 비용 및 시간 비용을 절감할 수 있다.
제 1시점(T1) 이후의 동작 과정은 도 13a에서 설명한 바와 중복되므로 이에 대한 설명은 생략한다.
지금까지 도 13 내지 도 14를 참조하여 복수의 추천 정책을 활용하여 추천을 수행하는 예에 대하여 설명하였다. 상술한 발명에 따르면, 콘텐츠 추천 서버(100)는 룰이 주어지지 않은 경우 랜덤 추천을 통한 룰 자동 생성을 통해 관리 비용을 절감할 수 있고, 룰이 주어진 경우 주어진 룰을 활용하여 피드백 데이터를 통한 학습이 요구되는 MAB 모델의 단점을 보완할 수 있다.
지금까지 도 7 내지 도 14를 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (15)

  1. 콘텐츠 추천 서버가 수행하는 콘텐츠 추천 방법에 있어서,
    제1 시점에 획득된 제1 사용자의 제1 유형 정보 및 콘텐츠 추천 모델을 기초로 제1 추천 콘텐츠를 결정하는 단계;
    상기 제1 추천 콘텐츠를 콘텐츠 추천 단말에 송신하고, 상기 콘텐츠 추천 단말로부터 상기 제1 추천 콘텐츠에 대한 상기 제1 사용자의 피드백 정보를 수신하는 단계; 및
    상기 제1 사용자의 피드백 정보를 상기 콘텐츠 추천 모델에 적용하여 상기 콘텐츠 추천 모델을 갱신하는 단계를 포함하되,
    상기 제1 유형 정보는 상기 제1 사용자와 연관된 복수의 상황 정보를 포함하고,
    상기 제1 추천 콘텐츠를 결정하는 단계는,
    기 설정된 개수의 클러스터 중에서 상기 복수의 상황 정보에 매칭되는 하나 이상의 클러스터를 결정하는 단계;
    상기 결정된 클러스터를 기초로 상기 제1 유형 정보를 나타내는 상기 기 설정된 개수에 대응되는 고정길이의 특징 벡터(Feature Vector)를 생성하는 단계; 및
    상기 생성된 특징 벡터를 상기 콘텐츠 추천 모델에 입력하여 상기 제1 추천 콘텐츠를 결정하는 단계를 포함하되,
    상기 기 설정된 개수의 클러스터는 기 획득된 상황 정보를 클러스터링하여 구축된 것인,
    콘텐츠 추천 방법.
  2. 제1 항에 있어서,
    상기 제1 유형 정보는 상기 제1 사용자의 인구통계학적 정보를 더 포함하고,
    상기 인구통계학적 정보는 영상 분석(Video Analytics)을 통해 도출된 정보인,
    콘텐츠 추천 방법.
  3. 제2 항에 있어서,
    상기 제1 사용자의 인구통계학적 정보는, 상기 제1 사용자의 성별 및 연령 중 적어도 하나의 정보를 포함하고,
    상기 제1 사용자와 연관된 복수의 상황 정보는 시간, 요일, 날씨 및 상기 제1 사용자가 속한 그룹의 유형 중 적어도 하나 이상의 정보를 포함하는,
    콘텐츠 추천 방법.
  4. 제1 항에 있어서,
    상기 콘텐츠 추천 모델은 MAB(Multi-Armed Bandits) 알고리즘 기반으로 동작하는 모델인,
    콘텐츠 추천 방법.
  5. 제4 항에 있어서,
    상기 제1 유형 정보는 상기 제1 사용자의 인구통계학적 정보를 더 포함하고,
    상기 특징 벡터를 생성하는 단계는,
    상기 결정된 클러스터를 기초로 제1 특징 벡터를 생성하는 단계;
    상기 인구통계학적 정보를 기초로 제2 특징 벡터를 생성하는 단계; 및
    상기 제1 특징 벡터와 상기 제2 특징 벡터를 결합하여 상기 제1 사용자의 유형을 나타내는 상기 특징 벡터를 생성하는 단계를 포함하는,
    콘텐츠 추천 방법.
  6. 제1 항에 있어서,
    상기 클러스터링은 K-평균 클러스터링(K-means Clustering) 알고리즘을 이용하여 수행되는 것인,
    콘텐츠 추천 방법.
  7. 제1 항에 있어서,
    상기 콘텐츠 추천 모델은 사용자의 유형 별로 각 콘텐츠에 대한 선호도를 가리키는 누적 보상 값을 기초로 학습되는 모델이고,
    상기 피드백 정보를 상기 콘텐츠 추천 모델에 적용하여 상기 콘텐츠 추천 모델을 갱신하는 단계는,
    상기 제1 사용자의 피드백 정보를 기 설정된 기준에 따라 수치화된 보상(Reward) 값으로 변환하는 단계; 및
    상기 보상 값을 기초로 상기 콘텐츠 추천 모델의 제1 유형 정보에 대한 누적 보상 값을 갱신하는 단계를 포함하되,
    상기 보상 값은 상기 피드백 정보의 종류에 따라 적어도 일부는 서로 다른 값을 갖는,
    콘텐츠 추천 방법.
  8. 제7 항에 있어서,
    상기 제1 추천 콘텐츠는 매장의 브랜드 콘텐츠이고,
    상기 제1 사용자의 피드백 정보는,
    상기 브랜드 콘텐츠의 선택 여부, 상기 매장의 길 찾기 검색 여부, 상기 매장의 방문 여부 및 상기 매장에서의 상품 구매 여부 중 적어도 하나의 정보를 포함하는,
    콘텐츠 추천 방법.
  9. 콘텐츠 추천 서버가 수행하는 콘텐츠 추천 방법에 있어서,
    사용자의 유형 정보를 획득하되, 상기 사용자의 유형 정보는 상기 사용자의 상황 정보를 포함하는 것인, 단계;
    제1 추천 정책 및 제2 추천 정책을 포함하는 복수의 추천 정책 중에서 기 설정된 각 추천 정책의 이용 비율을 기초로 어느 하나의 추천 정책을 결정하는 단계; 및
    상기 결정된 추천 정책을 기초로 추천 콘텐츠를 결정하는 단계를 포함하되,
    상기 제1 추천 정책은 기 설정된 룰을 기초로 상기 추천 콘텐츠를 결정하는 정책이고,
    상기 제2 추천 정책은 MAB(Multi-Armed Bandits) 모델 기반으로 상기 추천 콘텐츠를 결정하는 정책이며,
    상기 MAB 모델은 상기 사용자의 피드백 정보를 학습하여 갱신되고,
    제1 시점보다 이후 시점인 제2 시점의 상기 복수의 추천 정책 대비 상기 제2 추천 정책의 이용 비율은 상기 제1 시점의 상기 복수의 추천 정책 대비 상기 제2 추천 정책의 이용 비율보다 높은,
    콘텐츠 추천 방법.
  10. 제9 항에 있어서,
    상기 기 설정된 룰은, 기 설정된 시점까지 랜덤 추천을 통해 수집된 피드백 정보를 기초로 생성된 룰인,
    콘텐츠 추천 방법.
  11. 제9 항에 있어서,
    콘텐츠 추천 단말로부터, 상기 결정된 추천 콘텐츠에 대한 상기 피드백 정보를 수신하는 단계;
    상기 피드백 정보를 기초로 상기 MAB 모델을 갱신하는 단계; 및
    기 설정된 시점에, 상기 갱신된 MAB 모델을 기초로 상기 제1 추천 정책에 이용되는 룰을 갱신하는 단계를 더 포함하는,
    콘텐츠 추천 방법.
  12. 제9 항에 있어서,
    상기 사용자의 유형 별로 상기 MAB 모델에 적용된 피드백의 개수를 산출하는 단계; 및
    상기 피드백의 개수의 평균 및 분산 중 적어도 하나의 값을 기초로 각 추천 정책의 이용 비율을 조정하는 단계를 더 포함하는,
    콘텐츠 추천 방법.
  13. 제12 항에 있어서,
    상기 이용 비율을 조정하는 단계는,
    상기 피드백의 개수의 평균 값이 커지거나 상기 피드백의 개수의 분산 값이 작아질수록 상기 제2 추천 정책의 이용 비율을 증가시키고, 상기 제1 추천 정책의 이용 비율을 감소시키는 단계를 포함하되,
    상기 제1 추천 정책의 이용 비율과 상기 제2 추천 정책의 이용 비율의 합은 일정한 것인,
    콘텐츠 추천 방법.
  14. 제13 항에 있어서,
    상기 제2 추천 정책의 이용 비율을 증가시키고, 상기 제1 추천 정책의 이용 비율을 감소시키는 단계는,
    상기 제2 추천 정책의 이용 비율이 기 설정된 상한값에 도달한 경우, 상기 피드백의 개수의 평균 값이 커지거나 상기 피드백의 개수의 분산 값이 작아지더라도 상기 제1 추천 정책의 이용 비율을 유지하는 단계를 포함하는,
    콘텐츠 추천 방법.
  15. 콘텐츠 추천 서버가 수행하는 콘텐츠 추천 방법에 있어서,
    기 설정된 제1 시점까지, 랜덤 추천을 통해 사용자의 유형 별로 피드백 정보를 수집하는 단계;
    상기 수집된 피드백 정보를 기초로 사용자의 유형 별로 추천 콘텐츠를 결정하는 룰을 생성하는 단계; 및
    상기 제1 시점 이후부터, 제1 추천 정책 및 제2 추천 정책을 포함하는 복수의 추천 정책 중 어느 하나의 추천 정책을 기초로 상기 추천 콘텐츠를 결정하되, 상기 제1 추천 정책은 상기 생성된 룰을 기초로 상기 추천 콘텐츠를 결정하는 추천 정책이고, 상기 제2 추천 정책은 MAB(Multi-Armed Bandits) 모델 기반으로 상기 추천 콘텐츠를 결정하는 추천 정책인 것인, 단계를 포함하되,
    상기 제1 시점의 상기 복수의 추천 정책 대비 상기 제2 추천 정책의 이용 비율은 상기 제1 시점 이후의 시점인 제2 시점의 상기 복수의 추천 정책 대비 상기 제2 추천 정책의 이용 비율보다 낮고,
    상기 복수의 추천 정책 대비 상기 제1 추천 정책의 이용 비율과 상기 복수의 추천 정책 대비 상기 제2 추천 정책의 이용 비율의 합은 일정한 것인,
    콘텐츠 추천 방법.
KR1020160135549A 2016-10-19 2016-10-19 콘텐츠 추천 방법, 장치 및 시스템 KR102012676B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160135549A KR102012676B1 (ko) 2016-10-19 2016-10-19 콘텐츠 추천 방법, 장치 및 시스템
US15/709,978 US20180108048A1 (en) 2016-10-19 2017-09-20 Method, apparatus and system for recommending contents
CN201710896284.0A CN107967616A (zh) 2016-10-19 2017-09-28 内容推荐方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160135549A KR102012676B1 (ko) 2016-10-19 2016-10-19 콘텐츠 추천 방법, 장치 및 시스템

Publications (2)

Publication Number Publication Date
KR20180042934A KR20180042934A (ko) 2018-04-27
KR102012676B1 true KR102012676B1 (ko) 2019-08-21

Family

ID=61904080

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160135549A KR102012676B1 (ko) 2016-10-19 2016-10-19 콘텐츠 추천 방법, 장치 및 시스템

Country Status (3)

Country Link
US (1) US20180108048A1 (ko)
KR (1) KR102012676B1 (ko)
CN (1) CN107967616A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102267645B1 (ko) * 2020-07-31 2021-06-23 주식회사 랩헌드레드 고객 관리를 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR20210103905A (ko) * 2020-02-14 2021-08-24 김정민 자동난이도조절 및 문제구성추천 기반의 문제거래시스템 및 제공방법
KR102372432B1 (ko) 2021-09-28 2022-03-08 주식회사 노티플러스 클릭 및 노출 정보를 활용한 추천 콘텐츠 제공 방법, 장치 및 시스템
WO2023048537A1 (ko) * 2021-09-27 2023-03-30 삼성전자 주식회사 추천 콘텐트를 제공하는 서버 및 방법

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108230057A (zh) * 2016-12-09 2018-06-29 阿里巴巴集团控股有限公司 一种智能推荐方法及***
US10866989B1 (en) * 2018-04-06 2020-12-15 Architecture Technology Corporation Real time recommender modeling system, methods of construction, and methods of use
US11301513B2 (en) * 2018-07-06 2022-04-12 Spotify Ab Personalizing explainable recommendations with bandits
KR102138923B1 (ko) * 2018-07-30 2020-07-28 서지훈 사용자 맞춤형 콘텐츠 추천 지도 서비스를 제공하는 시스템 및 이의 동작 방법
CN109255682A (zh) * 2018-09-11 2019-01-22 广东布田电子商务有限公司 一种面向大型电子商务***的混合推荐***
CN109543840B (zh) * 2018-11-09 2023-01-10 北京理工大学 一种基于多维分类强化学习的动态推荐***设计方法
CN111222931B (zh) * 2018-11-23 2023-05-05 阿里巴巴集团控股有限公司 一种产品推荐方法及***
CN109615426A (zh) * 2018-12-05 2019-04-12 重庆锐云科技有限公司 一种基于客户聚类的营销方法、***
CN109785052A (zh) * 2018-12-26 2019-05-21 珠海横琴跨境说网络科技有限公司 基于暗数据挖掘的智能购物方法及***
CN111385659B (zh) * 2018-12-29 2021-08-17 广州市百果园信息技术有限公司 一种视频推荐方法、装置、设备及存储介质
CN109800326B (zh) * 2019-01-24 2021-07-02 广州虎牙信息科技有限公司 一种视频处理方法、装置、设备和存储介质
CN114143571B (zh) * 2019-03-19 2024-01-19 广州虎牙信息科技有限公司 一种用户处理方法、装置、设备和存储介质
CN110334658B (zh) * 2019-07-08 2023-08-25 腾讯科技(深圳)有限公司 信息推荐方法、装置、设备和存储介质
CN110335123B (zh) * 2019-07-11 2021-12-07 创新奇智(合肥)科技有限公司 基于社交电商平台的商品推荐方法、***、计算机可读介质以及装置
US11210712B2 (en) * 2019-07-24 2021-12-28 Salesforce.Com, Inc. Automatic rule generation for next-action recommendation engine
KR102233651B1 (ko) * 2019-08-21 2021-03-30 주식회사 카카오 인스턴트 메시지를 전송하는 방법 및 그 장치
US20210089959A1 (en) * 2019-09-25 2021-03-25 Intuit Inc. System and method for assisting customer support agents using a contextual bandit based decision support system
CN110851702B (zh) * 2019-09-29 2021-07-20 珠海格力电器股份有限公司 信息推送的方法、装置、终端及计算机可读介质
KR102100223B1 (ko) * 2019-11-11 2020-04-13 염장열 고객 맞춤형 언더웨어 제작 시스템
CN110929158A (zh) * 2019-11-29 2020-03-27 腾讯科技(深圳)有限公司 一种内容推荐方法、***及存储介质和终端设备
US10909567B1 (en) * 2019-12-04 2021-02-02 Capital One Services, Llc Systems and methods to manage feedback for a multi-arm bandit algorithm
KR20210086008A (ko) 2019-12-31 2021-07-08 삼성전자주식회사 컨텐츠 추천 모델을 개인화하는 방법 및 장치
US11055119B1 (en) * 2020-02-26 2021-07-06 International Business Machines Corporation Feedback responsive interface
CN111442498B (zh) * 2020-03-30 2022-11-04 广东美的制冷设备有限公司 空气调节设备及其控制方法、装置、电子设备
US11954162B2 (en) 2020-09-30 2024-04-09 Samsung Electronics Co., Ltd. Recommending information to present to users without server-side collection of user data for those users
CN112257776B (zh) * 2020-10-21 2023-07-04 中国联合网络通信集团有限公司 终端推荐方法、***、计算机设备及存储介质
CN112232929A (zh) * 2020-11-05 2021-01-15 南京工业大学 一种多模态下的互补物品的多样性推荐列表生成方法
CN113780607A (zh) * 2020-11-16 2021-12-10 北京沃东天骏信息技术有限公司 用于生成模型的方法和装置、用于生成信息的方法和装置
CN112837116A (zh) * 2021-01-13 2021-05-25 中国农业银行股份有限公司 一种产品推荐方法及装置
KR102266153B1 (ko) * 2021-02-05 2021-06-16 (주) 디엘토 인공지능 기반 자가심리분석플랫폼을 통한 소비자 선호도를 제공하는 방법
US11514894B2 (en) * 2021-02-24 2022-11-29 Conversenowai Adaptively modifying dialog output by an artificial intelligence engine during a conversation with a customer based on changing the customer's negative emotional state to a positive one
KR102343848B1 (ko) * 2021-05-04 2021-12-27 다인크레스트코리아 주식회사 이용자 상태 벡터를 이용한 전환 전략 탐색 방법 및 운영 장치
CN113157898B (zh) * 2021-05-26 2022-10-14 中国平安人寿保险股份有限公司 候选问题的推荐方法、装置、计算机设备及存储介质
KR102360727B1 (ko) * 2021-10-22 2022-02-14 주식회사 신차911파트너스 뉴럴 네트워크를 이용한 차량 추천 방법 및 장치
US11853328B2 (en) 2021-12-16 2023-12-26 Spotify Ab Adaptive multi-model item selection systems and methods
CN114238785A (zh) * 2021-12-20 2022-03-25 迈创企业管理服务股份有限公司 一种推荐相似机型的推荐方法和***
KR102478954B1 (ko) * 2022-06-24 2022-12-20 주식회사 스튜디오레논 인공지능 기반 nft 민팅을 위한 디지털 컨텐츠 생성장치, 그 제어방법 및 생성 시스템
CN114971742A (zh) * 2022-06-29 2022-08-30 支付宝(杭州)信息技术有限公司 一种用户分类模型的训练、用户分类处理的方法及装置
KR102511634B1 (ko) * 2022-07-15 2023-03-20 오더퀸 주식회사 리테일 키오스크를 위한 상황인지 기반 크로스도메인 추천 서비스 제공 시스템
KR102538455B1 (ko) * 2022-09-13 2023-05-30 세종대학교산학협력단 강화 학습 기반의 콘텐츠 추천을 위한 학습 방법 및 콘텐츠 추천 방법
KR102619044B1 (ko) * 2023-03-21 2023-12-27 쿠팡 주식회사 기계학습 기반 추천 방법 및 그 시스템
CN117892010B (zh) * 2024-03-14 2024-05-24 江西省博库信息技术有限公司 一种基于大数据的科普知识精准推送方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963996B1 (ko) * 2009-06-29 2010-06-15 주식회사 모임 감성에 기반한 개인별 제품 추천 장치 및 방법, 그 기록 매체
US20160034460A1 (en) * 2014-07-29 2016-02-04 TCL Research America Inc. Method and system for ranking media contents

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030001887A1 (en) * 2001-06-27 2003-01-02 Smith James E. Method and system for communicating user specific infromation
US9582805B2 (en) * 2007-10-24 2017-02-28 Invention Science Fund I, Llc Returning a personalized advertisement
US8112407B2 (en) * 2007-10-24 2012-02-07 The Invention Science Fund I, Llc Selecting a second content based on a user's reaction to a first content
KR101422772B1 (ko) * 2009-12-28 2014-07-29 에스케이플래닛 주식회사 사용자 선호와 평가를 반영한 음악 재생 목록을 생성하는 온라인 음악 서비스 장치 및 방법
US20110264639A1 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Learning diverse rankings over document collections
US20160171430A1 (en) * 2010-12-06 2016-06-16 Bimodal Llc Virtual goods having nested content and system and method for distributing the same
KR20130091391A (ko) 2012-02-08 2013-08-19 한정화 콘텐츠 추천 서버 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
KR101567551B1 (ko) * 2014-02-13 2015-11-10 주식회사 솔트룩스 콘텐츠 추천을 위한 소셜 데이터 분석 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963996B1 (ko) * 2009-06-29 2010-06-15 주식회사 모임 감성에 기반한 개인별 제품 추천 장치 및 방법, 그 기록 매체
US20160034460A1 (en) * 2014-07-29 2016-02-04 TCL Research America Inc. Method and system for ranking media contents

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210103905A (ko) * 2020-02-14 2021-08-24 김정민 자동난이도조절 및 문제구성추천 기반의 문제거래시스템 및 제공방법
KR102435655B1 (ko) * 2020-02-14 2022-08-25 김정민 자동난이도조절 및 문제구성추천 기반의 문제거래시스템 및 제공방법
KR102267645B1 (ko) * 2020-07-31 2021-06-23 주식회사 랩헌드레드 고객 관리를 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR20220016442A (ko) * 2020-07-31 2022-02-09 주식회사 랩헌드레드 고객 관리를 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
KR102593003B1 (ko) * 2020-07-31 2023-10-24 주식회사 랩헌드레드 고객 관리를 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
WO2023048537A1 (ko) * 2021-09-27 2023-03-30 삼성전자 주식회사 추천 콘텐트를 제공하는 서버 및 방법
KR102372432B1 (ko) 2021-09-28 2022-03-08 주식회사 노티플러스 클릭 및 노출 정보를 활용한 추천 콘텐츠 제공 방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR20180042934A (ko) 2018-04-27
US20180108048A1 (en) 2018-04-19
CN107967616A (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
KR102012676B1 (ko) 콘텐츠 추천 방법, 장치 및 시스템
US11734609B1 (en) Customized predictive analytical model training
US10217048B2 (en) Predictive assignments that relate to genetic information and leverage machine learning models
US20230130567A1 (en) Explainable artificial intelligence-based sales maximization decision models
US10796337B2 (en) Realtime feedback using affinity-based dynamic user clustering
US8706656B1 (en) Multi-label modeling using a plurality of classifiers
US11288748B2 (en) Systems and methods for providing customized financial advice
KR102404511B1 (ko) 인공지능 기반 사용자 맞춤형 상품 정보 추천 방법, 장치 및 시스템
US20200293923A1 (en) Predictive rfm segmentation
US20190311418A1 (en) Trend identification and modification recommendations based on influencer media content analysis
CN115917535A (zh) 推荐模型的训练方法、推荐方法、装置及计算机可读介质
US20210012359A1 (en) Device, method and computer-readable medium for making recommendations on the basis of customer attribute information
US10019542B2 (en) Scoring a population of examples using a model
WO2021096564A1 (en) Explainable artificial intelligence-based sales maximization decision models
WO2022251237A1 (en) Explainable artificial intelligence-based sales maximization decision models
KR20210065551A (ko) 제품과 사용자의 매칭을 위한 전자 장치 및 이를 포함하는 매칭 시스템
US11838170B1 (en) Messaging segmentation based on data flow informatics
US11842533B2 (en) Predictive search techniques based on image analysis and group feedback
KR102530527B1 (ko) 건강 정보 기반 식당 추천 서비스 제공 방법, 장치 및 시스템
CN117290598A (zh) 构建序列推荐模型的方法、序列推荐方法与装置
KR20230120874A (ko) 유저 포트폴리오 적합도 평가와 이에 기반한 투자자문 서비스 제공 방법 및 단말
CN114385906A (zh) 一种预测方法、推荐方法、装置、设备以及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant