KR102679131B1 - 콘텐츠 추천 방법 및 그 시스템 - Google Patents

콘텐츠 추천 방법 및 그 시스템 Download PDF

Info

Publication number
KR102679131B1
KR102679131B1 KR1020220184572A KR20220184572A KR102679131B1 KR 102679131 B1 KR102679131 B1 KR 102679131B1 KR 1020220184572 A KR1020220184572 A KR 1020220184572A KR 20220184572 A KR20220184572 A KR 20220184572A KR 102679131 B1 KR102679131 B1 KR 102679131B1
Authority
KR
South Korea
Prior art keywords
content
learning model
feedback information
reinforcement learning
user
Prior art date
Application number
KR1020220184572A
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 KR1020220184572A priority Critical patent/KR102679131B1/ko
Application granted granted Critical
Publication of KR102679131B1 publication Critical patent/KR102679131B1/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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/0207Discounts or incentives, e.g. coupons or rebates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

콘텐츠 추천 방법 및 그 시스템이 제공된다. 본 개시의 몇몇 실시예들에 따른 콘텐츠 추천 방법은, 추천 콘텐츠에 대한 사용자의 피드백 정보를 획득하는 단계, 피드백 정보에 대한 리워드(reward)를 반영함으로써 강화학습 모델을 업데이트하는 단계 및 업데이트된 강화학습 모델을 이용하여 사용자에 대한 콘텐츠를 다시 수행하는 단계를 포함할 수 있다. 이러한 방법에 따르면, 사용자가 선호하는 맞춤형 콘텐츠가 정확하게 추천될 수 있다.

Description

콘텐츠 추천 방법 및 그 시스템{METHOD FOR RECOMMENDING CONTENTS AND SYSTEM THEREOF}
본 개시는 콘텐츠 추천 방법 및 그 시스템에 관한 것으로, 보다 상세하게는, 사용자들에게 맞춤형 콘텐츠를 추천하는 방법 및 그 방법을 수행하는 시스템에 관한 것이다.
OTT(Over-The-Top) 서비스가 대중화됨에 따라 사용자에게 맞춤형 콘텐츠를 추천해주는 기술에 대한 관심이 급증하고 있다. 또한, 이러한 추천 기술은 OTT 서비스뿐만 아니라 상품, 음악, 뉴스 등을 추천하는 분야에서도 널리 활용되고 있다.
한편, OTT 서비스 분야에서 이용되는 추천 기술은 대부분 사용자의 시청 이력 분석에 근간을 두고 있다. 예를 들어, 기존의 추천 기술은 사용자의 시청 이력을 분석하여 해당 사용자가 선호하는 콘텐츠의 특성(e.g., 장르, 출연 배우, 주제 등)을 파악하고 파악된 콘텐츠 특성을 이용하여 추천 콘텐츠를 제공하고 있다(e.g., 유사한 특성의 콘텐츠를 추천).
그러나, 위와 같은 추천 기술은 추천 콘텐츠가 사용자의 과거 시청 패턴에 종속되고 사용자의 선호도 변화가 추천 결과에 신속하게 반영될 수 없다는 분명한 한계를 갖고 있다.
한국등록특허 제10-2022-0080563호 (2022.06.14 공개)
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 사용자가 선호하는 맞춤형 콘텐츠를 정확하게 추천할 수 있는 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 사용자의 선호도 변화를 빠르게 반영할 수 있는 콘텐츠 추천 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 강화학습(reinforcement learning) 모델을 이용하여 콘텐츠를 추천함에 있어서, 사용자 피드백에 대한 리워드를 정확하게 산정할 수 있는 방법을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 강화학습 모델을 이용하여 콘텐츠를 추천함에 있어서, 거짓(false) 피드백을 정확하게 판별할 수 있는 방법을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 강화학습 모델을 이용하여 콘텐츠를 추천함에 있어서, 일부 콘텐츠가 지속적으로 추천되거나 추천 대상에서 제외되는 문제를 해결할 수 있는 방법을 제공하는 것이다.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 강화학습 모델을 이용하여 콘텐츠를 추천함에 있어서, 모델 트레이닝에 이용될 수 있는 다양한 종류의 피드백들에 대한 정보를 제공하는 것이다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 콘텐츠 추천 방법은, 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법으로서, 강화학습(reinforcement learning) 모델을 이용하여 사용자에게 제공될 추천 콘텐츠를 결정하는 단계, 상기 추천 콘텐츠에 대한 상기 사용자의 피드백 정보를 획득하는 단계, 상기 피드백 정보에 대한 리워드(reward)를 반영함으로써 상기 강화학습 모델을 업데이트하는 단계 및 상기 업데이트된 강화학습 모델을 이용하여 상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 추천 콘텐츠는 콘텐츠 서비스 페이지의 히어로 영역을 통해 상기 사용자에게 제공될 수 있다.
몇몇 실시예들에서, 상기 추천 콘텐츠를 결정하는 단계는, 광고비, 등록 시점 및 상기 사용자의 시청 이력 분석 결과 중 적어도 하나에 기초하여 기 등록된 콘텐츠들 중에서 복수의 후보 콘텐츠들을 선별하는 단계 및 상기 강화학습 모델을 이용하여 상기 복수의 후보 콘텐츠들 중에서 상기 추천 콘텐츠를 결정하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 추천 콘텐츠를 결정하는 단계는, 랜덤 추천을 통해 수집된 상기 사용자의 피드백 정보를 이용하여 상기 강화학습 모델을 트레이닝하는 단계 및 상기 트레이닝된 강화학습 모델을 이용하여 상기 추천 콘텐츠를 결정하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 추천 콘텐츠를 결정하는 단계는, 기 등록된 콘텐츠들 중에서 적어도 일부 콘텐츠의 누적 리워드를 초기화하거나 디스카운트(discount)하는 처리를 수행하는 단계 및 상기 처리된 누적 리워드가 반영된 상기 강화학습 모델을 이용하여 상기 추천 콘텐츠를 결정하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 강화학습 모델은 톰슨 샘플링에 기반한 것이고, 상기 추천 콘텐츠를 결정하는 단계는, 상기 사용자의 단말 타입과 현재 시간 정보에 기초하여 상기 사용자의 현재 컨텍스트(context)를 결정하는 단계, 기 등록된 콘텐츠들 각각과 대응되는 복수의 확률분포들 중에서 상기 현재 컨텍스트에 대응되는 확률분포를 선택하는 단계 및 상기 선택된 확률분포 기반하여 상기 기 등록된 콘텐츠들 중에서 상기 추천 콘텐츠를 결정하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 강화학습 모델은 톰슨 샘플링 기반의 모델이고, 상기 피드백 정보는 적어도 하나의 긍정 피드백 정보와 적어도 하나의 부정 피드백 정보를 포함하며, 상기 강화학습 모델을 업데이트하는 단계는, 상기 적어도 하나의 긍정 피드백 정보에 대한 리워드를 애그리게이팅(aggregating)하여 제1 리워드를 산정하는 단계, 상기 적어도 하나의 부정 피드백 정보에 대한 리워드를 애그리게이팅하여 제2 리워드를 산정하는 단계 및 상기 제1 리워드 및 상기 제2 리워드를 기초로 상기 추천 콘텐츠에 대응되는 확률분포를 업데이트하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 피드백 정보는 복수개이고, 상기 강화학습 모델을 업데이트하는 단계는, 머신러닝(machine-learning) 모델을 통해 상기 복수개의 피드백 정보에 대한 총 리워드를 예측하는 단계 및 상기 예측된 총 리워드를 기초로 상기 강화학습 모델을 업데이트하는 단계를 포함할 수 있다.
몇몇 실시예들에서, 상기 피드백 정보는 상기 추천 콘텐츠의 선택 및 재생 관련 정보를 포함할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 콘텐츠 추천 시스템은, 하나 이상의 프로세서 및 인스트럭션들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로세서는, 상기 저장된 인스트럭션들을 실행시킴으로써, 강화학습(reinforcement learning) 모델을 이용하여 사용자에게 제공될 추천 콘텐츠를 결정하는 동작, 상기 추천 콘텐츠에 대한 상기 사용자의 피드백 정보를 획득하는 동작, 상기 피드백 정보에 대한 리워드(reward)를 반영함으로써 상기 강화학습 모델을 업데이트하는 동작 및 상기 업데이트된 강화학습 모델을 이용하여 상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 동작을 수행할 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 강화학습(reinforcement learning) 모델을 이용하여 사용자에게 제공될 추천 콘텐츠를 결정하는 단계, 상기 추천 콘텐츠에 대한 상기 사용자의 피드백 정보를 획득하는 단계, 상기 피드백 정보에 대한 리워드(reward)를 반영함으로써 상기 강화학습 모델을 업데이트하는 단계 및 상기 업데이트된 강화학습 모델을 이용하여 상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
본 개시의 몇몇 실시예들에 따르면, 사용자의 피드백 정보에 기초하여 강화학습(reinforcement learning) 모델이 점진적으로 업데이트되고, 업데이트된 강화학습 모델을 이용하여 해당 사용자를 위한 추천 콘텐츠가 결정될 수 있다. 이에 따라, 사용자가 선호하는 맞춤형 콘텐츠가 정확하게 추천될 수 있다.
또한, 주기적 또는 비주기적으로 기 등록된 콘텐츠들의 누적 리워드가 초기화되거나 디스카운트(discount)될 수 있다. 이에 따라, 사용자의 선호도 변화가 강화학습 모델(또는 추천 결과)에 신속하게 반영될 수 있게 된다.
또한, 신규 콘텐츠가 등록됨에 따라 기존 콘텐츠들의 누적 리워드가 초기화되거나 디스카운트될 수 있다. 이러한 경우, 기존 콘텐츠들로 인해 신규 콘텐츠가 추천 대상에서 제외되는 문제가 용이하게 해결될 수 있다.
또한, 머신러닝(machine-learning) 모델을 이용하여 사용자 피드백 정보에 대한 리워드가 예측되거나 추천 콘텐츠 대응되는 확률분포(e.g., 베타분포)의 파라미터값이 예측될 수 있다. 이러한 경우, 피드백 정보에 대한 리워드가 정확하게 산정되고 강화학습 모델에 정확하게 반영될 수 있다.
또한, 사용자의 후속 액션에 대한 모니터링 정보를 이용함으로써 추천 콘텐츠에 대한 거짓 피드백(false feedback)이 정확하게 판별될 수 있다. 이에 따라, 거짓 피드백으로 인해 강화학습 모델의 성능이 저하되는 문제가 미연에 방지될 수 있다.
또한, 추천 콘텐츠에 대한 선택과 재생 등과 관련된 다양한 종류의 피드백 정보를 이용하여 강화학습 모델이 업데이트(트레이닝)될 수 있다. 이에 따라, 강화학습 모델의 추천 정확도는 더욱 향상될 수 있다.
본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 몇몇 실시예들에 따른 콘텐츠 서비스 제공 시스템을 설명하기 위한 예시적인 구성도이다.
도 2는 본 개시의 몇몇 실시예들에 따른 콘텐츠 추천 시스템의 동작을 개략적으로 설명하기 위한 예시적인 도면이다.
도 3 내지 도 5는 본 개시의 몇몇 실시예들에 따른 추천 콘텐츠 제공 방식과 사용자 피드백 정보의 예시들을 설명하기 위한 예시적인 도면이다.
도 6은 본 개시의 몇몇 실시예들에 따른 콘텐츠 추천 방법을 개략적으로 나타내는 예시적인 흐름도이다.
도 7은 본 개시의 몇몇 실시예들에 따른 확률분포 예측 방법을 설명하기 위한 예시적인 도면이다.
도 8은 도 6에 도시된 콘텐츠 추천 및 업데이트 단계 S63의 세부 과정을 나타내는 예시적인 흐름도이다.
도 9는 도 8에 도시된 추천 콘텐츠 결정 단계 S81의 세부 과정을 나타내는 예시적인 흐름도이다.
도 10은 본 개시의 몇몇 실시예들에 따른 리워드 산정 방법을 설명하기 위한 예시적인 도면이다.
도 11은 본 개시의 다른 몇몇 실시예들에 따른 리워드 산정 방법을 설명하기 위한 예시적인 도면이다.
도 12는 본 개시의 몇몇 실시예들에 따른 리워드 반영 방법을 설명하기 위한 예시적인 도면이다.
도 13은 본 개시의 몇몇 실시예들에 따른 강화학습 모델의 업데이트 과정을 예시하고 있다.
도 14는 본 개시의 몇몇 실시예들에 따른 지연 업데이트 방법을 설명하기 위한 예시적인 도면이다.
도 15는 본 개시의 몇몇 실시예들에 따른 거짓 피드백(false feedback) 판별 방법을 설명하기 위한 예시적인 도면이다.
도 16은 본 개시의 몇몇 실시예들에 따른 누적 리워드 처리 및 디스카운트(discount) 방법을 설명하기 위한 예시적인 도면이다.
도 17은 본 개시의 몇몇 실시예들에 따른 초기 리워드 설정 방법을 설명하기 위한 예시적인 도면이다.
도 18 및 도 19는 본 개시의 몇몇 실시예들에 따른 컨텍스트 기반 콘텐츠 추천 방법을 설명하기 위한 예시적인 도면이다.
도 20은 본 개시의 몇몇 실시예들에 따른 콘텐츠 추천 시스템을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
이하, 첨부된 도면을 참조하여 본 개시의 다양한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속한 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
본 개시의 다양한 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 이하의 실시예들에서 사용되는 용어(기술 및 과학적 용어를 포함)는 본 개시가 속한 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수도 있다. 본 개시에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시의 범주를 제한하고자 하는 것은 아니다.
이하의 실시예들에서 사용되는 단수의 표현은 문맥상 명백하게 단수인 것으로 특정되지 않는 한, 복수의 개념을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정되지 않는 한, 단수의 개념을 포함한다.
또한, 이하의 실시예들에서 사용되는 제1, 제2, A, B, (a), (b) 등의 용어는 어떤 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지는 않는다.
이하, 첨부된 도면들을 참조하여 본 개시의 다양한 실시예들에 대하여 상세하게 설명한다.
도 1은 본 개시의 몇몇 실시예들에 따른 콘텐츠 서비스 제공 시스템을 설명하기 위한 예시적인 구성도이다. 도 1 등에서, 콘텐츠 추천 시스템(10)은 '추천 시스템(10)'으로 도시되었고, 이하의 설명에서도 편의상 콘텐츠 추천 시스템(10)을 '추천 시스템(10)'으로 약칭하도록 한다.
도 1에 도시된 바와 같이, 실시예들에 따른 콘텐츠 서비스 제공 시스템은 다수의 사용자 단말들(12-1 내지 12-n)에게 콘텐츠 서비스를 제공하는 시스템일 수 있다. 예를 들어, 콘텐츠 서비스 제공 시스템은 OTT(Over-The-Top) 서비스 또는 콘텐츠 스트리밍 서비스를 제공하는 시스템(플랫폼)일 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 이하에서는, 임의의 사용자 단말(e.g., 12-1)을 지칭하거나 전체 사용자 단말들(12-1 내지 12-n)을 총칭하는 경우 모두에 참조번호 '12'를 사용하도록 한다.
도시된 바와 같이, 콘텐츠 서비스 제공 시스템은 추천 시스템(10)과 콘텐츠 제공 시스템(11)을 포함하도록 구성될 수 있다. 도 1은 콘텐츠 제공 시스템(11)과 추천 시스템(10)이 서로 별개의 물리적 컴퓨팅 장치/시스템에서 구현되는 것처럼 도시하고 있으나, 이는 콘텐츠 서비스 제공 시스템의 구성요소들(10, 11)을 기능적으로 구분하여 도시한 것일 뿐이며, 실제 환경에서는 두 구성요소들(10, 11)이 동일한 물리적 컴퓨팅 장치/시스템 내에서 서로 통합된 형태로 구현될 수도 있음은 물론이다.
콘텐츠 제공 시스템(11)은 사용자에게 콘텐츠를 제공하는 컴퓨팅 장치/시스템일 수 있다. 가령, 콘텐츠 제공 시스템(11)은 기 등록된 콘텐츠들 중에서 요청된 콘텐츠를 사용자 단말(12)로 스트리밍하는 시스템(플랫폼)일 수 있다. 이러한 경우에 한하여, 콘텐츠 제공 시스템(11)은 '콘텐츠 스트리밍 시스템(플랫폼)', '콘텐츠 스트리밍 서버' 등과 같이 명명될 수도 있다. 콘텐츠 제공 시스템(11)은 어떠한 형태로 구현되더라도 무방하다.
서비스(제공)되는 콘텐츠는 예를 들어 비디오(영상), 이미지, 오디오(음성), 텍스트, 멀티미디어 등과 같이 다양한 형태를 가질 수 있으며, 어떠한 형태가 되더라도 무방하다. 또한, 서비스되는 콘텐츠는 예를 들어 영화, TV, 드라마, 웹툰, 음악, 뉴스 등과 같이 다양한 유형의 콘텐츠를 모두 포괄할 수 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 서비스되는 콘텐츠가 멀티미디어, 영상 등과 같이 재생 가능한 형태의 콘텐츠임을 가정하여 설명을 이어가도록 한다.
다음으로, 추천 시스템(10)은 사용자에게 콘텐츠를 추천하는 컴퓨팅 장치/시스템일 수 있다. 즉, 추천 시스템(10)은 사용자를 위한 추천 콘텐츠를 결정하고, 추천 콘텐츠를 직접 또는 콘텐츠 제공 시스템(11)을 통해 사용자에게 제공할 수 있다. 가령, 추천 콘텐츠는 콘텐츠 서비스 페이지(화면)의 히어로(hero) 영역에 표시됨으로써 사용자에게 노출(제공)될 수 있는데, 이와 관련하여서는 도 3 내지 도 5의 설명 내용을 참조하도록 한다.
도 2에 도시된 바와 같이, 추천 시스템(10)은 강화학습(reinforcement learning) 모델(20)을 이용하여 추천 콘텐츠를 결정할 수 있다. 구체적으로, 추천 시스템(10)은 강화학습 모델(20)을 통해 추천 콘텐츠를 결정하고, 추천 콘텐츠에 대한 사용자의 피드백 정보를 획득하며, 획득된 피드백 정보를 이용하여 강화학습 모델(20)을 업데이트하는 일련의 과정들을 반복적으로 수행할 수 있다. 그렇게 함으로써, 강화학습 모델(20)이 사용자 맞춤형 콘텐츠를 정확하게 추천할 수 있도록 트레이닝될 수 있다. 이와 관련하여서는, 도 6 이하의 도면들을 참조하여 보다 상세하게 설명하도록 한다.
피드백(e.g., 추천 콘텐츠와 연관된 사용자의 액션) 정보는 직접적(명시적) 피드백, 간접적(암시적) 피드백, 긍정 피드백, 부정 피드백 등과 같이 사용자로부터 얻을 수 있는 모든 종류의 피드백들에 관한 정보를 포함할 수 있다. 이러한 피드백 정보의 예로는 콘텐츠 선택 관련 정보(e.g., 콘텐츠 페이지 링크 클릭 여부, 클릭횟수, 선택 전에 탐색/재생/클릭한 다른 콘텐츠들의 개수, 선택까지 소요된 시간 등), 콘텐츠 재생/시청/소비 관련 정보(e.g., 재생 버튼 클릭 여부, 재생 중 일시정지횟수, 지속 재생 시간, 전체 재생 시간, 끝까지 재생했는지 여부, 재생까지 소요된 시간, 재생 전에 탐색/재생/클릭한 다른 콘텐츠들의 개수, 단말 변경 시 이어서 시청했는지 여부, 끝까지 시청하는데 소요된 시간 등), 찜하기 관련 정보(e.g., 찜하기 버튼 클릭 여부 찜하기 해제 버튼 클릭 여부 등), 공유하기 관련 정보, 리뷰 관련 정보(e.g., 리뷰 작성 여부, 리뷰 내용 등) 등을 포함할 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 피드백 정보와 관련하여서는 도 3 내지 도 5의 설명 내용을 더 참조하도록 한다.
참고로, '시청' 이라는 용어는 '청취', '감상' 등의 의미를 포괄하는 것으로 해석될 수 있다. 가령, 콘텐츠의 형태가 오디오라면, 콘텐츠를 시청한다는 것은 콘텐츠를 청취 또는 감상한다는 것으로 해석될 수 있다.
강화학습 모델(20)의 업데이트(트레이닝)에 이용되는 리워드(또는 리워드 점수)는 예시된 피드백 정보를 기초로 산정될 수 있다. 다만, 그 구체적인 산정 방식은 다양하게 설계될 수 있다.
예를 들어, 추천 콘텐츠를 선택 또는 재생하기까지 소요된 시간이 짧을수록 리워드는 더 높은 값으로 산정될 수 있다.
다른 예로서, 추천 콘텐츠를 선택 또는 재생하기 전에 사용자에 의해 선택 또는 재생된 콘텐츠 개수가 적을수록 리워드는 더 높은 값으로 산정될 수 있다.
또 다른 예로서, 추천 콘텐츠의 재생 시간 또는 지속 재생 시간이 길수록 리워드는 더 높은 값으로 산정될 수 있다.
또 다른 예로서, 일시정지횟수가 적을수록 리워드는 더 높은 값으로 산정될 수 있다.
또 다른 예로서, 추천 콘텐츠를 끝까지 시청하는데 소요된 시간이 짧을수록 리워드는 더 높은 값으로 산정될 수 있다.
또 다른 예로서, 사용자가 다른 단말을 통해 추천 콘텐츠를 이어보기한 경우, 추가 리워드가 부여될 수 있다.
또 다른 예로서, 추천 콘텐츠를 재생하거나 찜하기한 경우에는 단순히 선택만 한 경우보다 더 높은 리워드가 부여될 수 있다.
또 다른 예로서, 상술한 예시들의 다양한 조합에 기초하여 피드백 정보에 대한 리워드가 산정될 수 있다.
리워드 산정 방법에 관하여서는 도 10 내지 도 12 등의 설명 내용을 더 참조하도록 한다.
참고로, 추천 시스템(10)은 사용자의 피드백 정보를 콘텐츠 제공 시스템(11, e.g., 콘텐츠 서비스 페이지를 제공하는 서버 등)을 통해 획득할 수도 있고 사용자 단말(12)로부터 직접 획득할 수도 있다. 피드백 정보를 획득하는 방식은 어떠한 방식이 되더라도 무방하다.
강화학습 모델(20)은 예를 들어 MAB(Multi-Armed Bandits) 알고리즘에 기반하여 동작하는 모델일 수 있다. 보다 구체적인 예를 들면, 강화학습 모델(20)은 톰슨 샘플링(Thompson sampling), UCB(Upper Confidence Bound), ε-그리디 알고리즘 등에 기반하여 동작하는 모델일 수 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 강화학습 모델이 '톰슨 샘플링'에 기반한 것임을 가정하여 설명을 이어가도록 한다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니며, 베타분포와 직접적으로 연관되지 않은 본 개시의 기술적 사상은 그의 실질적인 변경이 없더라도 다른 종류의 MAB 알고리즘에 적용될 수 있다.
상술한 추천 시스템(10)은 적어도 하나의 컴퓨팅 장치로 구현될 수 있다. 예를 들어, 추천 시스템(10)의 모든 기능이 하나의 컴퓨팅 장치에서 구현될 수도 있고, 추천 시스템(10)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 또는, 추천 시스템(10)의 특정 기능이 복수의 컴퓨팅 장치들에서 구현될 수도 있다.
컴퓨팅 장치는 컴퓨팅 기능을 구비한 임의의 장치를 모두 포괄할 수 있으며, 이러한 장치의 일 예시에 관하여서는 도 20을 참조하도록 한다.
참고로, 컴퓨팅 장치는 다양한 구성요소들(e.g., 메모리, 프로세서 등)이 상호작용하는 집합체이므로, 경우에 따라 '컴퓨팅 시스템'으로 명명될 수도 있다. 물론, 컴퓨팅 시스템이라는 용어는 복수의 컴퓨팅 장치들이 상호작용하는 집합체의 개념도 포괄할 수 있다.
사용자 단말(12)은 콘텐츠 서비스를 제공받기 위해 사용자가 이용하는 단말을 이용할 수 있다. 사용자 단말(12)은 스마트폰, 랩탑, 데스크탑 등과 같은 다양한 유형의 컴퓨팅 장치로 구현될 수 있으며, 어떠한 장치로 구현되더라도 무방하다.
사용자는 단말(12)을 통해 다양한 콘텐츠들을 제공받을 수 있다. 가령, 사용자는 단말(12)을 통해 콘텐츠 서비스 페이지에 접속하여 로그인을 수행한 다음에 원하는 콘텐츠를 시청할 수 있으며, 추천 콘텐츠를 제공받을 수도 있다. 또한, 사용자는 단말(12)을 통해 추천 콘텐츠에 대한 다양한 피드백들을 제공할 수도 있다.
도 1에 도시된 바와 같이, 콘텐츠 서비스 제공 시스템과 사용자 단말(12)은 네트워크를 통해 통신할 수 있다. 여기서, 네트워크는 근거리 통신망(Local Area Network, LAN), 광역 통신망(Wide Area Network, WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
지금까지 도 1 및 도 2를 참조하여 본 개시의 몇몇 실시예들에 따른 콘텐츠 서비스 제공 시스템에 대하여 개략적으로 설명하였다. 이하에서는, 도 3 내지 도 5를 참조하여 본 개시의 몇몇 실시예들에 따른 추천 콘텐츠 제공(노출) 방식과 사용자 피드백 정보의 예시에 대하여 간략하게 설명하도록 한다. 다만, 이하에서는, 본 개시의 명료함을 위해, 도면을 직접적으로 참조하지 않는 경우에는 강화학습 모델(20)의 참조번호가 생략될 수도 있으며, 필요에 따라서는 강화학습 모델(20)의 참조번호가 변경될 수도 있다.
도 3은 본 개시의 몇몇 실시예들에 따라 콘텐츠 서비스 페이지들 중 프로필 선택 페이지(30)를 통해 추천 콘텐츠가 제공되는 경우를 예시하고 있다. 프로필 선택 페이지(30)는 예를 들어 로그인 성공 시에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나(e.g., 콘텐츠 서비스가 멀티-프로필을 지원하는 경우), 본 개시의 범위가 이에 한정되는 것은 아니다.
도 3에 예시된 바와 같이, 추천 시스템(10)에 의해 결정된 추천 콘텐츠는 프로필 선택 페이지(30)의 히어로 영역(34)에 표시될 수 있다. 예를 들어, 추천 콘텐츠의 스틸 이미지, 숏 비디오(클립), 텍스트 등의 정보가 히어로 영역(34)에 표시될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.
참고로, 히어로 영역(34)은 해당 페이지(30)에서 상대적으로 큰 비중을 차지하는 영역 또는 시각적으로 두드러지는 영역을 의미할 수 있다. 당해 기술 분야의 종사자라면, 히어로 영역의 개념에 대해 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.
본 실시예들에서, 추천 시스템(10)은 사용자의 로그인 정보를 이용하여 해당 사용자(또는 사용자의 유형)에 대응되는 강화학습 모델(즉, 맞춤형/개인화된 강화학습 모델)을 선택하고, 선택된 강화학습 모델을 이용하여 추천 콘텐츠를 결정할 수 있다.
다수의 프로필들(31 내지 33)은 사용자와 1:1 대응될 수도 있고, 그렇지 않을 수도 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 하나의 프로필(e.g., 31)이 한 명의 사용자를 의미하는 것으로 가정하도록 한다.
도 4는 본 개시의 몇몇 실시예들에 따라 콘텐츠 서비스 페이지들 중 메인 서비스 페이지(40)에 추천 콘텐츠가 표시되는 경우를 도시하고 있다. 메인 서비스 페이지(40)는 예를 들어 프로필(e.g., 31) 선택 또는 로그인 성공 시에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.
도 4에 도시된 바와 같이, 메인 서비스 페이지(40)는 카테고리 메뉴 영역(41), 히어로 영역(42), 기타 콘텐츠 영역(e.g., 43)을 포함할 수 있다. 또한, 메인 서비스 페이지(40)는 추천 콘텐츠의 대표 정보 영역(44), 재생하기 버튼(45), 콘텐츠 인디케이터(46) 등을 더 포함할 수도 있다. 메인 서비스 페이지(40)는 카테고리, 토픽 등에 따른 콘텐츠 탐색 기능을 제공할 수 있고 콘텐츠 검색 기능(45 참조), 프로필 변경 기능(44 참조) 등을 더 제공할 수도 있다.
상술한 바와 유사하게, 추천 콘텐츠는 메인 서비스 페이지(42)의 히어로 영역(42)에 표시될 수 있다. 또한, 히어로 영역(42) 근처에 추천 콘텐츠의 대표 정보(44, e.g., 제목, 장르, 출연 배우 등)가 함께 표시될 수도 있다.
참고로, 콘텐츠 인디케이터(46)는 추천 콘텐츠들에 대한 탐색 기능과 추천 콘텐츠의 전체 개수(e.g., 6개)를 알리는 용도를 갖는 것으로 이해될 수 있다.
이러한 페이지(40)에서, 콘텐츠 재생 관련 피드백 정보는 예를 들어 사용자가 재생하기 버튼(45)을 선택한 경우에 생성될 수 있다.
또한, 콘텐츠 선택 관련 피드백 정보는 예를 들어 사용자가 추천 콘텐츠의 대표 정보 영역(44), 히어로 영역(42) 등을 선택(클릭)한 경우에 생성될 수 있다(e.g., 히어로 영역 42에 추천 콘텐츠 페이지지의 링크가 내장된 경우). 그러한 경우에, 사용자 단말(12)의 화면이 메인 서비스 페이지(40)에서 추천 콘텐츠의 페이지(도 5의 50 참조)로 이동되며, 콘텐츠 선택과 관련된 피드백 정보가 생성될 수 있다.
도 5는 본 개시의 몇몇 실시예들에 따른 콘텐츠 페이지(50)를 예시하고 있다. 콘텐츠 페이지(50)는 예를 들어 사용자가 해당 콘텐츠를 선택(e.g., 히어로 영역 42 선택 등)한 경우에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.
도 5에 도시된 바와 같이, 콘텐츠 페이지(50)는 카테고리 메뉴 영역(41), 히어로 영역(51), 콘텐츠 상세 정보 영역(52) 등을 포함할 수 있다. 또한, 콘텐츠 페이지(50)는 재생하기 버튼(53), 찜하기 버튼(54), 공유하기 버튼(55) 등을 더 포함할 수 있다. 히어로 영역(51)에는 해당 페이지(50)의 콘텐츠가 표시될 수 있다.
이러한 페이지(40)에서, 콘텐츠 재생 관련 피드백 정보는 예를 들어 사용자가 재생하기 버튼(53)을 선택한 경우에 생성될 수 있다. 물론, 사용자가 콘텐츠를 시청하거나 완료한 경우에도, 일시정지횟수, 총 재생(시청) 시간과 같은 피드백 정보가 생성될 수 있다.
또한, 찜하기 버튼(54), 공유하기 버튼(55)을 통해 찜하기와 공유하기 관련 피드백 정보도 생성될 수 있다.
지금까지 도 3 내지 도 5를 참조하여 본 개시의 몇몇 실시예들에 따른 추천 콘텐츠의 제공 방식과 사용자 피드백 정보의 예시들에 대하여 설명하였다. 상술한 바에 따르면, 콘텐츠 서비스 페이지의 히어로 영역(e.g., 42)을 통해 추천 콘텐츠를 제공함으로써, 추천 콘텐츠의 노출 효과가 극대화될 수 있고 사용자의 흥미와 관심이 용이하게 유도될 수 있다.
이하에서는, 도 6 이하의 도면들을 참조하여 상술한 추천 시스템(10)에서 수행될 수 있는 다양한 방법들에 대하여 설명하도록 한다. 다만, 이해의 편의를 제공하기 위해, 후술될 방법들의 모든 단계/동작이 상술한 추천 시스템(10)에서 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 특정 단계/동작의 주체가 생략된 경우, 추천 시스템(10)에서 수행되는 것으로 이해될 수 있다. 다만, 실제 환경에서는 후술될 방법의 특정 단계/동작이 다른 컴퓨팅 장치에서 수행될 수도 있다.
도 6은 본 개시의 몇몇 실시예들에 따른 콘텐츠 추천 방법을 개략적으로 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.
도 6에 도시된 바와 같이, 실시예들에 따른 콘텐츠 추천 방법은 강화학습 모델을 초기화하는 단계 S61에서 시작될 수 있다. 여기서, 강화학습 모델은 특정 사용자(또는 특정 유형의 사용자)에 맞춤화(특화)될 모델(e.g., 특정 사용자의 피드백 정보를 학습하여 해당 사용자를 위한 콘텐츠 추천에 이용될 모델)을 의미할 수 있다.
참고로, 사용자의 유형은 사용자의 인구통계학적 특성(e.g., 성별, 연령층 등), 시청 이력 등에 기초하여 구분될 수 있을 것이나(e.g., 클러스터링 기법 등을 이용하여 유형을 구분함), 본 개시의 범위가 이에 한정되는 것은 아니다.
한편, 강화학습 모델을 초기화하는 구체적인 방식은 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서는, 추천 시스템(10)이 강화학습 모델의 파라미터들(e.g., 누적 리워드, 확률분포의 파라미터(모수) 등)에 초기값을 할당하는 방식으로 초기화가 수행(완료)될 수 있다. 가령, 강화학습 모델이 톰슨 샘플링과 베타분포에 기반한 것이라면, 추천 시스템(10)은 각 콘텐츠에 대응되는 베타분포의 파라미터들에 적절한 초기값(e.g., '1')을 할당할 수 있다. 이때, 초기값은 미리 설정된 고정값일 수도 있고, 콘텐츠의 특성, 사용자의 유형, 사용자의 시청 이력, 피드백 정보 등에 기초하여 동적으로 결정되는 값일 수도 있다. 가령, 추천 시스템(10)은 특정 콘텐츠(e.g., 신규 콘텐츠)에 대한 사용자들의 피드백 정보를 수집하고 이로부터 초기값을 결정할 수도 있는데, 이와 관련하여서는 도 17의 설명 내용을 참조하도록 한다.
다른 몇몇 실시예들에서는, 도 7에 도시된 바와 같이, 추천 시스템(10)이 트레이닝된 머신러닝(machine-learning) 모델(71)을 통해 특정 콘텐츠의 확률분포(즉, 추천 성공 또는 리워드에 관한 확률분포)를 예측할 수 있고 예측된 확률분포를 해당 콘텐츠의 초기 확률분포로 이용할 수 있다. 가령, 추천 시스템(10)은 머신러닝 모델(71)을 통해 특정 콘텐츠에 대한 사용자의 피드백 정보(72, e.g., 랜덤 추천 등을 통해 수집함)로부터 해당 콘텐츠에 적합한 확률분포를 예측할 수 있다. 머신러닝 모델(71)은 피드백 정보(72)를 입력받아 여러가지 확률분포들에 대한 컨피던스 스코어(73, confidence score)를 출력하도록 구성된 것일 수 있으며, 경우에 따라 사용자의 프로필 정보(e.g., 성별, 연령층 등)와 콘텐츠의 특성 정보(e.g., 장르, 출연 배우 등)를 더 입력받도록 구성될 수도 있다. 머신러닝 모델(71)은 피드백 정보(e.g., 72 참조)와 정답 확률분포(즉, 정답 클래스 레이블)로 구성된 트레이닝셋을 이용하여 트레이닝될 수 있으며, 이러한 트레이닝셋은 예를 들어 해당 사용자 또는 여러 사용자들에 대한 추천 이력을 분석함으로써 생성될 수 있다(e.g., 추천 결과가 좋았던 이력에서 과거 피드백 정보와 추천에 사용된 확률분포를 추출하여 트레이닝셋으로 생성함). 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 머신러닝 모델(71)은 신경망 기반으로 구현될 수 있으나(e.g., 피드백들의 시퀀스를 입력받는 RNN 기반 모델, 셀프-어텐션 기반 모델 등), 본 개시의 범위가 이에 한정되는 것은 아니다.
경우에 따라, 추천 시스템(10)은 신규 콘텐츠에 적용될 확률분포를 결정하기 위해 또는 소정의 조건을 만족하는 특정 콘텐츠(e.g., 지속적으로 부정 피드백 정보가 수신되는 콘텐츠)의 확률분포를 변경하기 위해 앞선 실시예에 따른 머신러닝 모델(71)을 이용할 수 있다.
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 강화학습 모델이 초기화될 수도 있다.
단계 S62에서, 강화학습 모델에 대한 초기 트레이닝이 수행될 수 있다. 가령, 추천 시스템(10)은 일정 기간 동안 랜덤하게 추천 콘텐츠를 결정함으로써 사용자의 피드백 정보를 수집할 수 있다. 그리고, 추천 시스템(10)은 수집된 피드백 정보를 이용하여 강화학습 모델에 대해 초기 트레이닝을 수행할 수 있다.
상술한 단계 S62는 경우에 따라 생략될 수도 있다. 예를 들어, 강화학습 모델이 충분히 트레이닝되기 전까지는 추천 결과가 랜덤 추천의 결과와 유사할 것이므로(즉, 활용(exploitation)보다는 탐험(exploration)의 비중이 훨씬 더 클 것이므로), 초기화된 강화학습 모델이 실제 추천에 그대로 적용될 수도 있다.
단계 S63에서, 강화학습 모델을 이용하여 콘텐츠 추천 과정과 피드백 기반 업데이트 과정이 반복적으로 수행될 수 있다. 본 단계의 세부 과정은 도 8에 예시되어 있다. 이하, 도 8을 참조하여 설명한다.
단계 S81에서, 강화학습 모델을 이용하여 추천 콘텐츠가 결정될 수 있다. 가령, 추천 시스템(10)은 톰슨 샘플링을 이용하여 각 콘텐츠에 대응되는 확률분포로부터 적어도 하나의 추천 콘텐츠를 결정할 수 있다. 추천 콘텐츠의 개수는 경우에 따라 달라질 수 있다. 당해 기술 분야의 종사자라면, 톰슨 샘플링의 동작 방식에 대해 이미 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다.
몇몇 실시예들에서는, 도 9에 도시된 바와 같이, 추천 시스템(10)이 기 등록된 콘텐츠들 중에서 복수의 후보 콘텐츠들을 선별하고, 강화학습 모델을 이용하여 복수의 후보 콘텐츠들 중에서 추천 콘텐츠를 결정할 수 있다(S91, S92). 가령, 추천 시스템(10)은 등록 시점, 광고비, 제작비, 콘텐츠 제작 주체, 사용자의 시청 이력 분석 결과 등에 기초하여 후보 콘텐츠들을 선별할 수 있다. 이를테면, 추천 시스템(10)은 신규(최근 등록) 콘텐츠, 광고비/제작비가 기준치 이상인 콘텐츠, 콘텐츠 서비스 사업자가 직접 제작한 콘텐츠, 특정 콘텐츠 제작자가 제작한 콘텐츠, 사용자의 시청 이력을 토대로 도출된 선호 콘텐츠(e.g., 기존 시청 콘텐츠들과 유사한 장르의 콘텐츠, 동일 배우가 나오는 콘텐츠 등) 등을 후보 콘텐츠로 선별할 수 있다.
다른 몇몇 실시예들에서는, 추천 시스템(10)이 사용자의 현재 컨텍스트(context)를 결정하고, 결정된 컨텍스트에 대응되는 강화학습 모델을 이용하여 추천 콘텐츠를 결정할 수 있다. 그렇게 함으로써, 추천 정확도가 더욱 향상될 수 있는데, 이와 관련하여서는 18 및 도 19를 참조하여 후술하도록 한다.
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 추천 콘텐츠가 결정될 수도 있다.
경우에 따라서는, 추천 시스템(10)이 룰 기반으로 추가적인 추천 콘텐츠를 결정할 수도 있다. 가령, 추천 시스템(10)은 룰 기반으로 앞서 예시된 콘텐츠들(e.g., 신규 콘텐츠, 광고비가 높은 콘텐츠 등)을 사용자에게 더 추천할 수도 있다.
단계 S82에서, 추천 콘텐츠에 대한 사용자의 피드백 정보가 획득될 수 있다.
단계 S83에서, 피드백 정보에 대한 리워드를 반영함으로써 강화학습 모델이 업데이트(트레이닝)될 수 있다. 여기서, 강화학습 모델을 업데이트한다는 것은 콘텐츠 추천에 이용되는 강화학습 모델의 파라미터들(e.g., 콘텐츠별 누적 리워드, 콘텐츠별 UCB, 콘텐츠별 추천횟수, 콘텐츠별 확률분포의 파라미터들 등)을 업데이트하는 것을 의미할 수 있다. 다만, 그 구체적인 방식(e.g., 리워드 산정 방식, 업데이트 방식 등)은 실시예에 따라 달라질 수 있다.
몇몇 실시예들에서는, 추천 시스템(10)이 적어도 하나의 긍정 피드백 정보에 대한 리워드를 애그리게이팅(aggregating, e.g., 합산)하여 제1 리워드를 산정하고 적어도 하나의 부정 피드백 정보(e.g., 선택 안함)에 대한 리워드를 애그리게이팅하여 제2 리워드를 산정할 수 있다. 이때, 개별 피드백 정보의 리워드는 미리 설정되어 있을 수 있다. 그리고, 추천 시스템(10)은 제1 리워드와 제2 리워드를 기초로 강화학습 모델을 업데이트할 수 있다. 가령, 추천 시스템(10)은 제1 리워드를 기초로 추천 콘텐츠에 대응되는 베타분포의 첫번째 파라미터 'α'를 업데이트하고(e.g., 합산) 제2 리워드를 기초로 베타분포의 두번째 파라미터 'β'를 업데이트할 수 있다(톰슨 샘플링의 경우).
다른 몇몇 실시예들에서는, 도 10에 도시된 바와 같이, 추천 시스템(10)이 트레이닝된 머신러닝 모델(101)을 통해 복수개의 피드백 정보(102)에 대한 리워드(103, 즉 총 리워드)를 예측할 수 있다. 그리고, 추천 시스템(10)이 리워드(103)를 기초로 강화학습 모델을 업데이트할 수 있다. 가령, 추천 시스템(10)은 제1 머신러닝 모델을 통해 복수개의 긍정 피드백 정보에 대한 제1 리워드를 예측하고 제2 머신러닝 모델을 통해 복수개의 부정 피드백 정보에 대한 제2 리워드를 예측할 수 있다. 그리고, 추천 시스템(10)은 제1 리워드와 제2 리워드를 기초로 추천 콘텐츠에 대응되는 베타분포의 파라미터들을 업데이트할 수 있다. 이러한 머신러닝 모델(101)의 트레이닝셋은 예를 들어 서로 다른 종류의 피드백 정보와 정답 리워드로 구성될 수 있다. 또한, 트레이닝셋은 예를 들어 해당 사용자 또는 여러 사용자들에 대한 추천 이력에 포함된 피드백 정보를 이용하여 생성될 수 있고, 정답 리워드는 예를 들어 추천 콘텐츠의 총 재생시간, 끝까지 시청하는데 소요된 시간 등에 기초하여 산정될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 도시된 바와 같이, 머신러닝 모델(101)은 신경망에 기반하여 구현될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
또 다른 몇몇 실시예들에서는, 도 11에 도시된 바와 같이, 추천 시스템(10)이 트레이닝된 머신러닝 모델(111)을 통해 복수개의 피드백 정보(e.g., 112) 각각에 부여된 리워드 가중치(e.g., W1 내지 W3 참조)를 결정(예측)할 수 있다. 그리고, 추천 시스템(10)이 결정된 리워드 가중치를 기초로 복수개의 피드백 정보(e.g., 112)에 대한 리워드(즉, 총 리워드)를 산정할 수 있다(e.g., 가중치합을 통해 산정). 머신러닝 모델(111)은 서로 다른 종류의 피드백 정보(112)를 입력받아 각 피드백 정보의 예측 리워드 가중치를 출력하도록 구성될 수 있으며, 예측 리워드 가중치들을 기초로(e.g., 합산) 산정된 리워드(113)와 정답 리워드(114)의 차이에 기초하여 트레이닝될 수 있다.
또 다른 몇몇 실시예들에서는, 도 12에 도시된 바와 같이, 추천 시스템(10)이 트레이닝된 머신러닝 모델(121)을 통해 적어도 하나의 피드백 정보(122)로부터 추천 콘텐츠(124)에 대응되는 확률분포(e.g., 베타분포)의 파라미터값(123)을 예측할 수 있다. 그리고, 추천 시스템(10)은 예측된 파라미터값(123)을 기초로 해당 확률분포를 업데이트할 수 있다. 여기서, 머신러닝 모델(121)은 피드백 정보(e.g., 122)를 입력받아 리워드가 반영된 확률분포의 파라미터값(e.g., 123)을 출력하도록 구성된 것일 수 있으며, 이러한 모델(121)의 트레이닝셋은 피드백 정보와 정답 파라미터값들로 구성될 수 있다.
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 강화학습 모델이 트레이닝될 수도 있다.
톰슨 샘플링 기반의 강화학습 모델이 업데이트되는 과정은 도 13에 예시되어 있다. 도 13에 예시된 바와 같이, 콘텐츠(131 내지 133)들 각각에 대응되는 확률분포가 사용자의 피드백 정보(즉, 리워드 정보)에 기초하여 점진적으로 업데이트될 수 있으며, 그 결과 사용자가 선호하는 맞춤형 콘텐츠(e.g., 131)가 정확하게 추천될 수 있다.
한편, 추천 시스템(10)은 피드백 정보가 획득될 때마다 즉각적으로 강화학습 모델을 업데이트할 수도 있고, 획득 시점보다 지연된 시점에 업데이트를 수행할 수도 있다(e.g., 주기적 업데이트, 피드백의 개수가 기준치 초과 시에 업데이트를 하는 경우 등). 예를 들어, 추천 시스템(10)은 일부 콘텐츠들(e.g., 신규 콘텐츠, 누적 리워드가 기준치 이하인 콘텐츠, 광고비/제작비가 높은 콘텐츠, 콘텐츠 서비스 사업자가 직접 제작한 콘텐츠 등)만을 대상으로 즉각적 업데이트를 수행할 수도 있고, 전체 콘텐츠들을 대상으로 즉각적/지연 업데이트를 수행할 수도 있다. 또는, 강화학습 모델의 트레이닝될수록 피드백 정보가 모델에 미치는 영향이 감소한다는 점을 고려하여, 추천 시스템(10)은 시간이 지날수록 업데이트 지연 시간(e.g., 업데이트 주기)을 증가시킬 수도 있다. 지연 업데이트에 관하여서는 추후 도 14 및 도 15를 참조하여 부연 설명하도록 한다.
다시 도 8을 참조하여 설명한다.
단계 S84에서, 업데이트된 강화학습 모델을 이용하여 사용자를 위한 콘텐츠 추천이 다시 수행될 수 있다. 가령, 추천 시스템(10)은 상술한 단계 S81과 동일한 방식으로 하나 이상의 추천 콘텐츠를 결정할 수 있다.
지금까지 도 6 내지 도 13을 참조하여 본 개시의 몇몇 실시예들에 따른 콘텐츠 추천 방법에 대하여 설명하였다. 상술한 바에 따르면, 사용자의 피드백 정보에 기초하여 강화학습 모델이 점진적으로 업데이트되고, 업데이트된 강화학습 모델을 이용하여 해당 사용자를 위한 추천 콘텐츠가 결정될 수 있다. 이에 따라, 사용자가 선호하는 맞춤형 콘텐츠가 정확하게 추천될 수 있다. 또한, 머신러닝 모델을 이용하여 피드백 정보에 대한 리워드가 예측되거나 추천 콘텐츠 대응되는 확률분포(e.g., 베타분포)의 파라미터값이 예측될 수 있다. 이러한 경우, 피드백 정보에 대한 리워드가 정확하게 산정되고 강화학습 모델에 정확하게 반영될 수 있다.
이하에서는, 도 14를 참조하여 본 개시의 몇몇 실시예들에 따른 지연 업데이트 방법을 설명하기 위한 예시적인 도면이다.
도 14에 도시된 바와 같이, 추천 시스템(10)은 콘텐츠('C' 참조)를 추천한 시점부터 일정 기간 동안 추천 콘텐츠에 대한 피드백 정보(142, 143)를 수집 및 축적할 수 있다. 그리고, 추천 시스템(10)은 축적된 피드백 정보(142, 143)에 대한 리워드를 산정하고 산정된 리워드를 반영함으로써 강화학습 모델을 업데이트할 수 있다(e.g., 콘텐츠 C에 대한 확률분포 업데이트). 즉, 추천 시스템(10)은 강화학습 모델을 즉각적으로 업데이트하지 않고 지연된 시점('T4' 참조)에 업데이트를 수행할 수 있다.
여기서, 일정 기간은 미리 설정된 값일 수도 있고 콘텐츠의 길이(즉, 러닝 타임), 강화학습 모델의 업데이트 주기 등에 기초하여 결정되는 값일 수도 있다.
지연 업데이트가 수행되면, 빈번한 모델 업데이트로 인한 부하 증가가 문제가 완화될 수 있을 뿐만 아니라, 지연 업데이트로 인한 여유 시간을 이용하여 거짓 피드백(false feedback)에 대한 판별도 수행될 수 있다. 여기서, 거짓 피드백은 클릭 실수 등과 같이 사용자의 본래 의도에 부합하지 않는 피드백을 하는데, 이러한 거짓 피드백은 강화학습 모델의 성능에 악영향을 미치기 때문에 가능하면 모델 업데이트 전에 제거하는 것이 바람직할 수 있다. 이하에서는, 상술한 거짓 피드백 문제를 해결할 수 있는 방법에 대하여 설명하도록 한다.
도 15는 본 개시의 몇몇 실시예들에 따른 거짓 피드백 판별 방법을 설명하기 위한 예시적인 도면이다.
도 15에 도시된 바와 같이, 추천 시스템(10)이 콘텐츠('C' 참조)를 추천한 후에 사용자(151)로부터 피드백 정보(152)를 획득하였다고 가정하자. 이러한 경우, 추천 시스템(10)은 피드백(152)이 거짓 피드백에 해당하는지 여부를 판별하기 위해 사용자(151)의 후속 액션들에 대한 모니터링 정보를 수집할 수 있다. 도 15는 추천 시스템(10)이 직접 모니터링을 수행하는 것처럼 도시하고 있으나, 해당 모니터링은 다른 장치에서 수행되더라도 무방하다.
다음으로, 추천 시스템(10)은 수집된 모니터링 정보를 기초로 획득된 피드백(152)이 거짓 피드백에 해당하는지 여부를 판별할 수 있다(153 참조). 가령, 사용자(151)의 후속 액션들이 미리 정의된 액션 패턴(e.g., 콘텐츠 클릭 후 매우 짧은 시간 내에 이전 페이지로 되돌아가는 액션 패턴, 무질서하게 콘텐츠 영역을 탐색하는 액션 패턴 등)에 부합하는 경우, 추천 시스템(10)은 피드백(152)을 거짓 피드백으로 판별할 수 있다. 그리고, 이러한 판별 결과에 응답하여, 추천 시스템(10)은 피드백(152)을 제거할 수 있다. 즉, 추천 시스템(10)은 강화학습 모델을 업데이트하기 전에 피드백(152)을 제거할 수 있다. 그렇게 함으로써, 강화학습 모델의 추천 성능이 향상될 수 있다.
경우에 따라, 추천 시스템(10)은 머신러닝 모델을 통해 거짓 피드백을 판별할 수도 있다. 가령, 추천 시스템(10)은 특정 피드백의 후속 액션들(e.g., 액션들의 시퀀스)을 입력받아 거짓 피드백에 대한 컨피던스 스코어를 출력하도록 구성된 머신러닝 모델을 통해 판별 동작을 수행할 수도 있다.
지금까지 도 14 및 도 15를 참조하여 지연 업데이트와 관련된 실시예들에 대하여 설명하였다. 이하에서는, 도 16을 참조하여 본 개시의 몇몇 실시예들에 따른 누적 리워드 초기화 및 디스카운트(discount) 방법에 대하여 설명하도록 한다.
강화학습 모델을 이용하더라도, 경우에 따라 일부 콘텐츠가 지속적으로 추천되거나 추천 목록에서 제외되는 문제가 발생할 수 있다.
예를 들어, 사용자로부터 특정 콘텐츠에 대한 긍정 피드백으로 반복적으로 수신되는 경우, 누적 리워드가 빠르게 증가하게 되고(e.g., 베타분포의 첫번째 파라미터 'α'의 값이 빠르게 증가하게 됨), 그 결과 특정 콘텐츠가 지속적으로 추천되는 현상이 발생될 수 있다(즉, 활용(exploitation)의 비중이 과하게 커질 수 있음). 이 경우에, 추천 목록에 동일 콘텐츠가 계속 등장하게 됨에 따라 추천 콘텐츠에 대한 사용자의 흥미가 떨어질 수 있다. 또는, 사용자의 선호도가 변화한 경우에도 추천 콘텐츠에 대한 사용자의 흥미는 떨어질 수 있다.
다른 예로서, 누적 리워드가 높은 기존 콘텐츠들이 반복적으로 추천됨에 따라 신규 콘텐츠가 추천 대상에서 지속적으로 제외되는 문제도 발생할 수 있다. 즉, 신규 콘텐츠에게 리워드 확보 기회가 적절하게 주어지지 못하는 문제가 발생할 수 있다.
위와 같은 문제를 해결하기 위해, 추천 시스템(10)은 기 등록된 콘텐츠들의 누적 리워드를 초기화하거나 디스카운트할 수 있다. 여기서, 누적 리워드를 초기화 또는 디스카운트한다는 것은 누적 리워드에 의해 결정되는 확률분포(e.g., 베타분포)의 파라미터값을 초기화 또는 디스카운트한다는 의미도 포함할 수 있다. 경우에 따라, 추천 시스템(10)은 콘텐츠 추천횟수 등과 같은 다른 파라미터들을 함께 초기화하거나 디스카운트할 수도 있다.
구체적인 예를 들어, 도 16에 도시된 바와 같이, 추천 시스템(10)은 신규 콘텐츠(163)가 등록됨에 응답하여 기존 콘텐츠들(161, 162)의 누적 리워드를 초기화하거나 디스카운트할 수 있다. 그렇게 함으로써, 신규 콘텐츠(163)가 추천 대상에서 지속적으로 제외되는 문제가 해결될 수 있다. 물론, 일부 기존 콘텐츠(e.g., 161)가 지속적으로 추천되는 문제도 해결될 수 있다.
다른 예로서, 추천 시스템(10)은 주기적으로 기 등록된 콘텐츠들의 누적 리워드를 초기화하거나 디스카운트할 수도 있다.
또 다른 예로서, 추천 시스템(10)은 미리 설정된 조건을 만족하는 콘텐츠들을 선별하고 선별된 콘텐츠들의 누적 리워드만을 초기화하거나 디스카운트할 수도 있다. 이를테면, 추천 시스템(10)은 기 등록된 콘텐츠들 중에서 추천된 횟수 또는 누적 리워드의 값이 기준치 이상인 콘텐츠를 선별할 수 있다.
또 다른 예로서, 상술한 예시들의 다양한 조합에 기초하여 누적 리워드의 초기화 또는 디스카운트 처리가 수행될 수도 있다.
상술한 방법은 사용자의 선호도 변화를 강화학습 모델에 빠르게 반영하기 위한 수단으로 활용될 수도 있다. 가령, 추천 시스템(10)은 주기적 또는 비주기적으로 강화학습 모델 또는 일부 콘텐츠들의 누적 리워드들을 초기화하거나 디스카운트할 수 있다. 그렇게 함으로써, 사용자의 최근 피드백 정보가 강화학습 모델에 미치는 영향이 증대될 수 있고, 결과적으로 사용자의 선호도 변화가 빠르게 모델에 반영될 수 있게 된다.
한편, 본 개시의 다른 몇몇 실시예들에 따르면, 도 17에 도시된 바와 같이, 추천 시스템(10)이 기존 콘텐츠들(171, 172)의 누적 리워드를 디스카운트하지 않고 신규 콘텐츠(173)의 초기 리워드를 적절하게 설정함으로써 상술한 문제를 해결할 수도 있다. 구체적으로, 신규 콘텐츠(173)가 등록된 경우, 추천 시스템(10)은 신규 콘텐츠(173)를 다수의 사용자들에게 추천하여 빠르게 많은 양의 피드백 정보를 수집할 수 있다. 그리고, 추천 시스템(10)은 수집된 피드백 정보를 기초로 신규 콘텐츠(173)의 초기 리워드를 산정할 수 있다. 그렇게 함으로써, 다수의 사용자들이 보편적으로 관심을 보이는 신규 콘텐츠(173)가 특정 사용자의 추천 대상에서 제외되는 문제가 해결될 수 있다.
지금까지 도 17 및 도 18을 참조하여 누적 리워드 초기화 방법 등과 관련된 실시예들에 대하여 설명하였다. 이하에서는, 도 18 및 도 19를 참조하여 본 개시의 몇몇 실시예들에 따른 컨텍스트 기반 콘텐츠 추천 방법에 대하여 설명하도록 한다.
본 실시예들은 사용자의 현재 컨텍스트를 고려하여 추천을 수행함으로써 추천 정확도를 보다 향상시키는 방법에 관한 것이다. 여기서, 사용자의 컨텍스트는 사용자 단말(12, 즉 접속 단말)의 타입(e.g., 모바일 폰, 데스크탑 등), 콘텐츠 서비스 페이지의 레이아웃(e.g., 히어로 영역의 크기, 배치 위치 등), 시간 정보(e.g., 주중/주말, 시간대, 요일 등)에 기초하여 결정(구분)될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다.
구체적으로, 도 18에 도시된 바와 같이, 3가지 컨텍스트들(181 내지 183)이 정의되어 있고 컨텍스트별로 강화학습 모델(184 내지 186 참조)이 구축되어 있다고 가정하자. 이러한 강화학습 모델들(184 내지 186)은 대응되는 컨텍스트(181 내지 183)에서 수집된 피드백 정보를 이용하여 구축될 수 있다.
위와 같은 경우, 추천 시스템(10)은 사용자 단말의 타입 정보, 현재 시간 정보 등에 기초하여 사용자의 현재 컨텍스트를 결정할 수 있다. 그리고, 추천 시스템(10)은 다수의 강화학습 모델들(184 내지 186) 중에서 사용자의 현재 컨텍스트에 대응되는 모델(e.g., 확률분포)을 이용하여 추천 콘텐츠를 결정할 수 있다. 그렇게 함으로써, 컨텍스트에 따른 변화되는 사용자의 선호도(e.g., 시간대, 주말 여부 등에 따라 시청하는 콘텐츠가 달라지는 경우)까지 고려하여 추천 콘텐츠가 결정될 수 있다. 그 결과, 추천 콘텐츠에 대한 사용자의 만족도는 크게 향상될 수 있다.
한편, 몇몇 실시예들에서는, 도 19에 도시된 바와 같이, 기 등록된 콘텐츠들 중에서 일부 콘텐츠(191 참조)의 모델 파라미터들만이 컨텍스트별로 세분화될 수도 있다. 가령, 특정 콘텐츠(191)는 서로 다른 컨텍스트(192 내지 194)에 대응되는 복수의 확률분포들을 가질 수 있고, 다른 콘텐츠들은 그렇지 않을 수도 있다. 그러면, 해당 콘텐츠(191)에 대한 추천 여부를 결정할 때, 추천 시스템(10)은 복수의 확률분포들 중에서 사용자의 현재 컨텍스트에 대응되는 확률분포를 이용할 수 있다.
지금까지 도 18 및 도 19를 참조하여 본 개시의 몇몇 실시예들에 따른 컨텍스트 기반 콘텐츠 추천 방법에 대하여 설명하였다. 상술한 바에 따르면, 사용자의 현재 컨텍스트를 고려하여 추천 콘텐츠를 결정함으로써 추천 정확도가 더욱 향상될 수 있다.
이하에서는, 도 20을 참조하여 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)을 구현할 수 있는 예시적인 컴퓨팅 장치(200)에 대하여 설명하도록 한다.
도 20은 컴퓨팅 장치(200)를 나타내는 예시적인 하드웨어 구성도이다.
도 20에 도시된 바와 같이, 컴퓨팅 장치(200)는 하나 이상의 프로세서(201), 버스(203), 통신 인터페이스(204), 프로세서(201)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(202)와, 컴퓨터 프로그램(206)을 저장하는 스토리지(207)를 포함할 수 있다. 다만, 도 20에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 20에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(200)에는, 도 20에 도시된 구성요소 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 도 20에 도시된 구성요소들 중 일부가 생략된 형태로 컴퓨팅 장치(200)가 구성될 수도 있다. 이하, 컴퓨팅 장치(200)의 각 구성요소에 대하여 설명한다.
프로세서(201)는 컴퓨팅 장치(200)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(201)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(201)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(200)는 하나 이상의 프로세서를 구비할 수 있다.
다음으로, 메모리(202)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(202)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(207)로부터 컴퓨터 프로그램(206)을 로드할 수 있다. 메모리(202)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
다음으로, 버스(203)는 컴퓨팅 장치(200)의 구성요소 간 통신 기능을 제공할 수 있다. 버스(203)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
다음으로, 통신 인터페이스(204)는 컴퓨팅 장치(200)의 유무선 인터넷 통신을 지원할 수 있다. 또한, 통신 인터페이스(204)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(204)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
다음으로, 스토리지(207)는 하나 이상의 컴퓨터 프로그램(206)을 비임시적으로 저장할 수 있다. 스토리지(207)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
다음으로, 컴퓨터 프로그램(206)은 메모리(202)에 로드될 때 프로세서(201)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다. 즉, 프로세서(201)는 상기 하나 이상의 인스트럭션을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법을 수행할 수 있다.
예를 들어, 컴퓨터 프로그램(206)은 강화학습 모델을 이용하여 사용자에게 제공될 추천 콘텐츠를 결정하는 동작, 추천 콘텐츠에 대한 사용자의 피드백 정보를 획득하는 동작, 피드백 정보에 대한 리워드를 반영함으로써 강화학습 모델을 업데이트하는 동작 및 업데이트된 강화학습 모델을 이용하여 사용자에 대한 콘텐츠 추천을 다시 수행하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(200)를 통해 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)이 구현될 수 있다.
한편, 몇몇 실시예들에서, 도 20에 도시된 컴퓨팅 장치(200)는 클라우드 기술에 기반하여 구현된 가상 머신을 의미하는 것일 수도 있다. 가령, 컴퓨팅 장치(200)는 서버 팜(server farm)에 포함된 하나 이상의 물리 서버(physical server)에서 동작하는 가상 머신일 수 있다. 이 경우, 도 20에 도시된 프로세서(201), 메모리(202) 및 스토리지(207) 중 적어도 일부는 가상 하드웨어(virtual hardware)일 수 있으며, 통신 인터페이스(204) 또한 가상 스위치(virtual switch) 등과 같은 가상화된 네트워킹 요소로 구현된 것일 수 있다.
지금까지 도 20을 참조하여 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)을 구현할 수 있는 예시적인 컴퓨팅 장치(200)에 대하여 설명하였다.
지금까지 도 1 내지 도 20을 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
또한, 이상의 실시예들에서 복수의 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 기술적 사상의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
지금까지 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 컴퓨터로 읽을 수 있는 기록 매체에 기록된 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 이상 첨부된 도면을 참조하여 본 개시의 다양한 실시예들을 설명하였지만, 본 개시가 속한 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시의 기술적 사상이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법으로서,
    강화학습(reinforcement learning) 모델을 이용하여 사용자에게 제공될 추천 콘텐츠를 결정하는 단계;
    상기 추천 콘텐츠에 대한 상기 사용자의 피드백 정보를 획득하는 단계;
    상기 피드백 정보에 대한 리워드(reward)를 반영함으로써 상기 강화학습 모델을 업데이트하는 단계; 및
    상기 업데이트된 강화학습 모델을 이용하여 상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 단계를 포함하고,
    상기 강화학습 모델은 기 등록된 콘텐츠들의 누적 리워드에 기초하여 상기 추천 콘텐츠를 결정하는 모델이며,
    상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 단계는,
    신규 콘텐츠가 등록된 경우, 상기 기 등록된 콘텐츠들 중에서 적어도 일부의 콘텐츠의 누적 리워드를 초기화하거나 디스카운트(discount)하는 처리를 수행하고 상기 처리의 결과를 상기 업데이트된 강화학습 모델에 반영하는 단계; 및
    상기 처리의 결과가 반영된 강화학습 모델을 이용하여 상기 기 등록된 콘텐츠들과 상기 신규 콘텐츠 중에서 콘텐츠 추천을 다시 수행하는 단계를 포함하는,
    콘텐츠 추천 방법.
  2. 제1항에 있어서,
    상기 추천 콘텐츠는 콘텐츠 서비스 페이지의 히어로 영역을 통해 상기 사용자에게 제공되는,
    콘텐츠 추천 방법.
  3. 제1항에 있어서,
    상기 추천 콘텐츠를 결정하는 단계는,
    광고비, 등록 시점 및 상기 사용자의 시청 이력 분석 결과 중 적어도 하나에 기초하여 기 등록된 콘텐츠들 중에서 복수의 후보 콘텐츠들을 선별하는 단계; 및
    상기 강화학습 모델을 이용하여 상기 복수의 후보 콘텐츠들 중에서 상기 추천 콘텐츠를 결정하는 단계를 포함하는,
    콘텐츠 추천 방법.
  4. 제1항에 있어서,
    상기 추천 콘텐츠를 결정하는 단계는,
    랜덤 추천을 통해 수집된 상기 사용자의 피드백 정보를 이용하여 상기 강화학습 모델을 트레이닝하는 단계; 및
    상기 트레이닝된 강화학습 모델을 이용하여 상기 추천 콘텐츠를 결정하는 단계를 포함하는,
    콘텐츠 추천 방법.
  5. 제1항에 있어서,
    상기 강화학습 모델은 톰슨 샘플링 기반의 모델이고,
    상기 추천 콘텐츠를 결정하는 단계는,
    머신러닝(machine-learning) 모델을 통해 상기 기 등록된 콘텐츠들 중 특정 콘텐츠에 대한 상기 사용자의 피드백 정보로부터 상기 특정 콘텐츠에 적합한 확률분포를 예측하는 단계 - 상기 머신러닝 모델은 피드백 정보를 입력받고 미리 정의된 확률분포들에 대한 컨피던스 스코어를 출력하도록 트레이닝된 것임 -; 및
    상기 예측된 확률분포가 반영된 상기 강화학습 모델을 이용하여 상기 기 등록된 콘텐츠들 중에서 상기 추천 콘텐츠를 결정하는 단계를 포함하는,
    콘텐츠 추천 방법.
  6. 제1항에 있어서,
    상기 추천 콘텐츠를 결정하는 단계는,
    신규 콘텐츠가 등록됨에 응답하여, 상기 신규 콘텐츠의 추천에 따른 다른 사용자들의 피드백 정보를 수집하는 단계;
    상기 수집된 피드백 정보에 기초하여 상기 신규 콘텐츠의 초기 리워드를 산정하는 단계; 및
    상기 초기 리워드가 반영된 상기 강화학습 모델을 이용하여 상기 추천 콘텐츠를 결정하는 단계를 포함하는,
    콘텐츠 추천 방법.
  7. 삭제
  8. 삭제
  9. 제1항에 있어서,
    상기 강화학습 모델은 톰슨 샘플링에 기반한 것이고,
    상기 추천 콘텐츠를 결정하는 단계는,
    상기 사용자의 단말 타입과 현재 시간 정보에 기초하여 상기 사용자의 현재 컨텍스트(context)를 결정하는 단계;
    상기 기 등록된 콘텐츠들 각각과 대응되는 복수의 확률분포들 중에서 상기 현재 컨텍스트에 대응되는 확률분포를 선택하는 단계; 및
    상기 선택된 확률분포 기반하여 상기 기 등록된 콘텐츠들 중에서 상기 추천 콘텐츠를 결정하는 단계를 포함하는,
    콘텐츠 추천 방법.
  10. 제1항에 있어서,
    상기 사용자의 피드백 정보를 획득하는 단계는,
    상기 추천 콘텐츠를 제공한 이후부터 미리 설정된 시점까지, 수신되는 피드백 정보를 축적하는 단계를 포함하고,
    상기 강화학습 모델은 상기 축적된 피드백 정보를 기초로 업데이트되는,
    콘텐츠 추천 방법.
  11. 제10항에 있어서,
    상기 수신되는 피드백 정보를 축적하는 단계는,
    특정 피드백에 대한 정보를 수신하는 단계;
    상기 특정 피드백을 수신한 이후의 상기 사용자의 액션에 대한 모니터링 정보를 획득하는 단계;
    상기 모니터링 정보를 기초로 상기 특정 피드백이 거짓 피드백(false feedback)인지 여부를 판별하는 단계; 및
    거짓 피드백이라는 판별 결과에 기초하여 상기 특정 피드백에 대한 정보를 제거하는 단계를 포함하는,
    콘텐츠 추천 방법.
  12. 제1항에 있어서,
    상기 강화학습 모델은 톰슨 샘플링 기반의 모델이고,
    상기 피드백 정보는 적어도 하나의 긍정 피드백 정보와 적어도 하나의 부정 피드백 정보를 포함하며,
    상기 강화학습 모델을 업데이트하는 단계는,
    상기 적어도 하나의 긍정 피드백 정보에 대한 리워드를 애그리게이팅(aggregating)하여 제1 리워드를 산정하는 단계;
    상기 적어도 하나의 부정 피드백 정보에 대한 리워드를 애그리게이팅하여 제2 리워드를 산정하는 단계; 및
    상기 제1 리워드 및 상기 제2 리워드를 기초로 상기 추천 콘텐츠에 대응되는 확률분포를 업데이트하는 단계를 포함하는,
    콘텐츠 추천 방법.
  13. 제1항에 있어서,
    상기 피드백 정보는 복수개이고,
    상기 강화학습 모델을 업데이트하는 단계는,
    머신러닝(machine-learning) 모델을 통해 상기 복수개의 피드백 정보에 대한 총 리워드를 예측하는 단계 - 상기 머신러닝 모델은 입력된 피드백 정보에 대한 총 리워드를 출력하도록 트레이닝된 것임 -; 및
    상기 예측된 총 리워드를 기초로 상기 강화학습 모델을 업데이트하는 단계를 포함하는,
    콘텐츠 추천 방법.
  14. 제1항에 있어서,
    상기 강화학습 모델은 톰슨 샘플링 기반의 모델이고,
    상기 강화학습 모델을 업데이트하는 단계는,
    머신러닝(machine-learning) 모델을 통해 상기 피드백 정보로부터 상기 추천 콘텐츠에 대응되는 확률분포의 파라미터값을 예측하는 단계; 및
    상기 예측된 파라미터값에 기초하여 상기 확률분포를 업데이트하는 단계를 포함하고,
    상기 머신러닝 모델은 피드백 정보를 입력받고 상기 입력된 피드백 정보에 따른 리워드가 반영된 확률분포의 파라미터값을 출력하도록 트레이닝된 것인,
    콘텐츠 추천 방법.
  15. 제1항에 있어서,
    상기 피드백 정보는 복수개이고,
    상기 강화학습 모델을 업데이트하는 단계는,
    각 피드백 정보에 부여된 리워드 가중치에 기초하여 상기 복수개의 피드백 정보에 대한 총 리워드를 산정하는 단계; 및
    상기 총 리워드를 기초로 상기 강화학습 모델을 업데이트하는 단계를 포함하고,
    상기 리워드 가중치는 머신러닝(machine-learning) 모델을 통해 결정된 것이며,
    상기 머신러닝 모델은 복수개의 피드백 정보를 입력받아 각 피드백 정보의 리워드 가중치를 출력하도록 구성된 것인,
    콘텐츠 추천 방법.
  16. 제1항에 있어서,
    상기 피드백 정보는 상기 추천 콘텐츠의 선택 및 재생 관련 정보를 포함하는,
    콘텐츠 추천 방법.
  17. 제16항에 있어서,
    상기 피드백 정보는 상기 추천 콘텐츠를 선택 또는 재생하기까지 소요된 시간에 관한 정보를 포함하고,
    상기 피드백 정보에 대한 리워드는 상기 소요 시간이 짧을수록 더 높은 값으로 산정되는,
    콘텐츠 추천 방법.
  18. 제16항에 있어서,
    상기 피드백 정보는 상기 추천 콘텐츠를 선택 또는 재생하기 전에 선택 또는 재생된 콘텐츠 개수에 대한 정보를 포함하고,
    상기 피드백 정보에 대한 리워드는 상기 콘텐츠 개수가 적을수록 더 높은 값으로 산정되는,
    콘텐츠 추천 방법.
  19. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하고,
    상기 컴퓨터 프로그램은:
    강화학습(reinforcement learning) 모델을 이용하여 사용자에게 제공될 추천 콘텐츠를 결정하는 동작;
    상기 추천 콘텐츠에 대한 상기 사용자의 피드백 정보를 획득하는 동작;
    상기 피드백 정보에 대한 리워드(reward)를 반영함으로써 상기 강화학습 모델을 업데이트하는 동작; 및
    상기 업데이트된 강화학습 모델을 이용하여 상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 동작을 위한 인스트럭션들을 포함하며,
    상기 강화학습 모델은 기 등록된 콘텐츠들의 누적 리워드에 기초하여 상기 추천 콘텐츠를 결정하는 모델이되,
    상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 동작은,
    신규 콘텐츠가 등록된 경우, 상기 기 등록된 콘텐츠들 중에서 적어도 일부의 콘텐츠의 누적 리워드를 초기화하거나 디스카운트(discount)하는 처리를 수행하고 상기 처리의 결과를 상기 업데이트된 강화학습 모델에 반영하는 동작; 및
    상기 처리의 결과가 반영된 강화학습 모델을 이용하여 상기 기 등록된 콘텐츠들과 상기 신규 콘텐츠 중에서 콘텐츠 추천을 다시 수행하는 동작을 포함하는,
    콘텐츠 추천 시스템.
  20. 컴퓨팅 장치와 결합되어,
    강화학습(reinforcement learning) 모델을 이용하여 사용자에게 제공될 추천 콘텐츠를 결정하는 단계;
    상기 추천 콘텐츠에 대한 상기 사용자의 피드백 정보를 획득하는 단계;
    상기 피드백 정보에 대한 리워드(reward)를 반영함으로써 상기 강화학습 모델을 업데이트하는 단계; 및
    상기 업데이트된 강화학습 모델을 이용하여 상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장되되,
    상기 강화학습 모델은 기 등록된 콘텐츠들의 누적 리워드에 기초하여 상기 추천 콘텐츠를 결정하는 모델이고,
    상기 사용자에 대한 콘텐츠 추천을 다시 수행하는 단계는,
    신규 콘텐츠가 등록된 경우, 상기 기 등록된 콘텐츠들 중에서 적어도 일부의 콘텐츠의 누적 리워드를 초기화하거나 디스카운트(discount)하는 처리를 수행하고 상기 처리의 결과를 상기 업데이트된 강화학습 모델에 반영하는 단계; 및
    상기 처리의 결과가 반영된 강화학습 모델을 이용하여 상기 기 등록된 콘텐츠들과 상기 신규 콘텐츠 중에서 콘텐츠 추천을 다시 수행하는 단계를 포함하는,
    컴퓨터 프로그램.
KR1020220184572A 2022-12-26 2022-12-26 콘텐츠 추천 방법 및 그 시스템 KR102679131B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220184572A KR102679131B1 (ko) 2022-12-26 2022-12-26 콘텐츠 추천 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220184572A KR102679131B1 (ko) 2022-12-26 2022-12-26 콘텐츠 추천 방법 및 그 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020240081889A Division KR20240102928A (ko) 2024-06-24 콘텐츠 추천 방법 및 그 시스템

Publications (1)

Publication Number Publication Date
KR102679131B1 true KR102679131B1 (ko) 2024-06-27

Family

ID=91713339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220184572A KR102679131B1 (ko) 2022-12-26 2022-12-26 콘텐츠 추천 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR102679131B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020009283A (ja) 2018-07-11 2020-01-16 楽天株式会社 選択システム、選択方法、及びプログラム
KR102538455B1 (ko) 2022-09-13 2023-05-30 세종대학교산학협력단 강화 학습 기반의 콘텐츠 추천을 위한 학습 방법 및 콘텐츠 추천 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020009283A (ja) 2018-07-11 2020-01-16 楽天株式会社 選択システム、選択方法、及びプログラム
KR102538455B1 (ko) 2022-09-13 2023-05-30 세종대학교산학협력단 강화 학습 기반의 콘텐츠 추천을 위한 학습 방법 및 콘텐츠 추천 방법

Similar Documents

Publication Publication Date Title
US10834225B2 (en) System for prefetching digital tags
CN110825957B (zh) 基于深度学习的信息推荐方法、装置、设备及存储介质
CN110321422B (zh) 在线训练模型的方法、推送方法、装置以及设备
CN110781321B (zh) 一种多媒体内容推荐方法及装置
CN111966914B (zh) 基于人工智能的内容推荐方法、装置和计算机设备
KR102396803B1 (ko) 유통과 물류의 최적화를 위한 마케팅 관리 데이터 제공 방법 및 이를 위한 장치
CN107463701B (zh) 基于人工智能推送信息流的方法和装置
CN109582862B (zh) 点击率预估方法、介质、系统和计算设备
CN113221019A (zh) 基于即时学习的个性化推荐方法和系统
CN112989146A (zh) 向目标用户推荐资源的方法、装置、设备、介质和程序产品
CN115564517A (zh) 商品推荐方法、预测模型训练方法和相关设备
CN113672793A (zh) 一种信息召回方法、装置、电子设备及存储介质
CN113344647B (zh) 一种信息推荐的方法及装置
CN108563648B (zh) 数据显示方法和装置、存储介质及电子装置
CN110020133B (zh) 内容推荐处理方法和装置、计算机设备和存储介质
CN110569447B (zh) 一种网络资源的推荐方法、装置及存储介质
KR102679131B1 (ko) 콘텐츠 추천 방법 및 그 시스템
CN115152242A (zh) 用于选择和显示的视频的机器学习管理
CN114817692A (zh) 确定推荐对象的方法、装置和设备及计算机存储介质
CN113836388A (zh) 信息推荐方法、装置、服务器及存储介质
CN111260416A (zh) 用于确定对象的关联用户的方法及装置
KR20240102928A (ko) 콘텐츠 추천 방법 및 그 시스템
CN111400512B (zh) 一种筛选多媒体资源的方法及装置
KR102619044B1 (ko) 기계학습 기반 추천 방법 및 그 시스템
CN111339291B (zh) 一种信息展示方法、装置和存储介质