KR101624246B1 - 콘텐츠 자동 추천 - Google Patents

콘텐츠 자동 추천 Download PDF

Info

Publication number
KR101624246B1
KR101624246B1 KR1020147026127A KR20147026127A KR101624246B1 KR 101624246 B1 KR101624246 B1 KR 101624246B1 KR 1020147026127 A KR1020147026127 A KR 1020147026127A KR 20147026127 A KR20147026127 A KR 20147026127A KR 101624246 B1 KR101624246 B1 KR 101624246B1
Authority
KR
South Korea
Prior art keywords
video
score
user
metric
pair
Prior art date
Application number
KR1020147026127A
Other languages
English (en)
Other versions
KR20140135207A (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
Priority claimed from US13/401,098 external-priority patent/US8260117B1/en
Application filed by 우얄라, 인크. filed Critical 우얄라, 인크.
Publication of KR20140135207A publication Critical patent/KR20140135207A/ko
Application granted granted Critical
Publication of KR101624246B1 publication Critical patent/KR101624246B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • 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
    • 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/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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
    • 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/4667Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
    • 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/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

각각의 비디오 추천이 소정의 목표를 만족하는 정도를 예측함으로써 사용자에게 어떤 비디오를 추천할지를 선택하는 기술이 제공된다. 예측하기 위하여, 훈련된 머신 학습 엔진에는 협업 필터링 파라미터 값 및 콘텐츠 기반 필터링 파라미터 값 둘 다가 공급된다. 비디오-대-비디오 추천의 경우, 협업 필터링 파라미터 값은 사용자가 이미 흥미를 드러낸 비디오를 포함하는 비디오 쌍에 기초할 수 있다. 머신 학습 엔진은 각각의 비디오에 대하여 머신 학습 스코어를 생성한다. 머신 학습 스코어는 특정 사용자에게 어떤 비디오를 추천할지를 선택하는 기준으로서 사용된다.

Description

콘텐츠 자동 추천{AUTOMATICALLY RECOMMENDING CONTENT}
본 발명은 자동 추천에 관한 것으로, 특히, 콘텐츠를 사용자에게 자동 추천하는 시스템에 관한 것이다.
네트워크를 통해 사용자에게 비디오 애셋(video asset) 등의 콘텐츠를 전달하는 것이 점점 더 흔해지고 있다. 영화, 텔레비전 쇼, 홈 비디오, 사용 안내 비디오(how-to video) 및 음악 비디오는 인터넷, 전화 네트워크, 인트라넷, 케이블 접속 등을 통해 현재 제공되는 비디오 애셋의 타입의 약간의 예일 뿐이다. 네트워크를 통해 얻어지는 비디오 애셋은 전체 비디오 애셋이 다운로드된 후 또는 비디오 애셋이 전달(스트리밍)되는 동안 플레이될 수 있다.
소비에 이용가능한 비디오 애셋의 과잉(plethora)을 고려하면, 사용자가 가장 흥미있어할 비디오 애셋을 사용자가 식별할 수 있도록 돕는 것이 점차 중요해지고 있다. 예를 들어, 사용자는, 덜 흥미있는 백만개의 비디오 중에서 동일한 10개의 비디오를 찾는 툴을 단지 제공하는 시스템보다는, 사용자가 매우 흥미있어 하는 10개의 비디오를 사용자에게 추천하는 시스템으로 더 좋은 경험을 할 것이다.
사용자에게 비디오 애셋을 추천하는데 다양한 접근법이 사용되어 왔지만, 이들은 각각 소정의 결점을 갖는다. 예를 들어, 하나의 "트렌딩(trending)" 접근법은 전체적으로 사용자 인구에 의해 어떤 비디오 애셋이 가장 많이 소비되는 지를 기록하고 모든 사용자에게 가장 많이 소비되는 비디오 애셋을 추천하는 것이다. 다른 트렌딩 접근법은 전체 사용자 인구 중에서 어떤 비디오에 대해 현재 흥미가 쇄도하는 지를 기록하고 모든 사용자에게 이들 비디오를 추천하는 것이다. 이들 "하나의 신발을 모두에게 끼워 맞추는(one-shoe-fits-all)" 트렌딩 접근법은 평균 사용자에 해당하는 흥미를 갖는 사용자에게는 잘 작동하지만, 모든 사용자에게 그런 것은 아니다.
"비디오-대-비디오" 접근법은 해당 사용자에 의해 소비되어 온 비디오 애셋과 공통점이 있는 비디오 애셋을 각각의 사용자에게 추천하는 것이다. 예를 들어, 사용자가 영화(X)를 소비한 후에, 사용자는 영화(X)와 동일한 장르이고 영화(X)와 동일한 주연 배우를 갖고 영화(X)와 동일한 감독을 갖고, 영화(X)와 동일 기간으로부터 비롯되는 영화에 대한 추천을 받을 수 있다. 비디오-대-비디오 접근법은 사용자가 좁은 범위의 흥미를 가질 때 잘 작동하지만, 특정 타입의 비디오에 대한 사용자의 욕구가 물릴 정도로 만족되어 왔고 사용자가 현재 다른 것을 소비하기를 원하는 경우에는 잘 작동하지 않는다.
비디오 애셋을 추천하기 위한 "사용자-대-비디오" 접근법은 시간에 따라 사용자의 애셋 소비 거동을 모니터하는 것을 수반한다. 비디오 소비에 대한 사용자의 이력에 기초하여 사용자의 일반적인 흥미가 도출될 수 있다. 이들 도출된 흥미는, 사용자가 흥미를 가질 수 있고 추천으로서 제공될 수 있는 다른 비디오를 식별하는데 사용될 수 있다. 사용자-대-비디오 접근법은 사용자의 소비 이력이 정확하게 사용자의 현재 흥미를 반영하는 한 잘 작동한다. 그러나, 사용자가 불충분한 이력을 가지고 있거나 사용자가 과거에 소비한 것과 다른 것에 현재 흥미를 가지면, 사용자-대-비디오 기반 추천은 특별히 도움이 되지 않는다.
본 섹션에 기재된 접근법은 추구될 수 있는 접근법이지만 반드시 이전에 고안되거나 추구되어온 접근법은 아닐 수 있다. 그러므로, 다르게 지시되지 않으면, 본 섹션에 기재된 접근법 중의 임의의 것이 본 섹션 내에 포함되는 것에 의해 단지 종래 기술인 것으로 가정해서는 안된다.
도 1은 본 발명의 실시예에 따라 머신 학습 엔진이 비디오에 대한 흥미 스코어를 예측하는데 어떻게 사용될 수 있는지를 나타내는 블록도.
도 2는 본 발명의 실시예에 따라 추천 시스템에 의해 유지될 수 있는 다양한 타입의 메타데이터를 나타내는 블록도.
도 3은 본 발명의 실시예에 따라 모델 튜닝 파라미터의 상이한 값에 대한 다수의 스코어가 어떻게 머신 학습 엔진에 공급될 수 있는지를 나타내는 블록도.
도 4는 본 발명의 실시예에 따라 다수의 개별 스코어 컴포넌트를 생성하고 목표에 기초하여 컴포넌트 스코어를 결합하는 것을 나타내는 블록도.
도 5는 본 발명의 실시예에 따라 비디오 추천 시스템을 구현하는데 사용될 수 있는 컴퓨터 시스템의 블록도.
다음의 설명에서, 설명의 목적으로, 본 발명의 완전한 이해를 제공하기 위하여 본 발명의 수많은 특정 세부 사항이 기재된다. 그러나, 본 발명은 이러한 특정 세부사항 없이 실행될 수 있음이 명백하다. 다른 예로, 공지된 구조 및 장치는 본 발명을 불필요하게 모호하게 하는 것을 피하기 위하여 블록도 형태로 도시된다.
일반적인 개요
각각의 후보 비디오에 대하여 사용자에게 후보 비디오를 추천하는 것이 목표를 만족시키는 정도를 예측함으로써 사용자에게 비디오 애셋을 추천하는 기술이 제공된다. 목표가 사용자 참여(user engagement)인 경우, 예측은 사용자가 후보 비디오에 흥미를 갖는 정도를 나타낼 수 있다. 본 발명의 일 형태에 따르면, 훈련 머신 학습 엔진에는 협업 필터링(collaborative filtering; CF) 파라미터 값 및 콘텐츠 기반 필터링(content-based filtering; CBF) 파라미터 값 둘 다가 공급된다. 입력되는 파라미터 값에 기초하여, 머신 학습 엔진은 사용자에게 특정 비디오를 추천하는 것이 특정 목표를 만족시키는 정도를 반영하는 머신 학습 스코어("ML 스코어")를 생성한다. 목표가 사용자의 시청 흥미를 만족시키는 것인 경우, ML 스코어는 특정 사용자가 비디오를 시청면서 얼마나 흥미를 갖는지의 예측이다.
설명의 목적으로, ML 스코어가 생성되는 사용자를 "타겟 사용자"라 하고, ML 스코어가 생성되는 비디오를 "타겟 비디오"라 한다. 일 실시예에서, 후보 비디오 세트에서 각 비디오에 대하여 생성되는 ML 스코어는 후보 비디오 중에서 어느 비디오가 타겟 사용자에게 추천될지를 선택하는 기준으로서 사용된다.
ML 스코어를 생성할 때, 각각의 입력 파라미터가 ML 스코어에 영향을 주는 정도는 변할 수 있다. 예를 들어, 컬렉션(collection)에 최근에 추가된 비디오는 많은 양의 소비 이력을 갖지 않을 수 있다. 그러므로, 소비 이력에 관련된 파라미터는 그 비디오 자체의 입력들(예를 들어, 길이, 장르, 태그)보다 ML 스코어에 덜 영향을 줄 수 있다. 반면에, 긴 소비 이력을 갖는 비디오에 대하여, 소비 이력에 관련된 파라미터는 ML 스코어에 더 큰 영향을 줄 수 있다. 일 실시예에서, ML 스코어와 함께, 머신 학습 엔진은 어떤 입력이 ML 스코어에 가장 큰 긍정적인 효과를 갖는지에 대한 지시(indication)를 생성한다. 이 정보에 기초하여, 각각의 비디오 추천에서, 왜 그 특정한 비디오가 사용자에게 추천되는지에 대한 설명이 사용자에게 제공될 수 있다.
비디오-대-비디오 추천
비디오-대-비디오 추천은 특정한 비디오에 흥미를 갖는다는 사용자의 지시에 기초한 비디오 추천을 지칭한다. 예를 들어, 사용자가 특정한 비디오를 보거나 브라우징하거나 높게 평가하면, 특정 비디오가 사용자의 흥미 대상인 것으로 가정될 수 있다. 그 흥미에 기초하여, 추천 시스템은 다른 비디오를 사용자에게 추천할 수 있다. 설명의 목적으로, 사용자가 흥미를 지시한 비디오는 "비교" 비디오라 한다.
머신 학습을 이용하여 협업 필터링을 콘텐츠 기반 필터링과 결합
도 1을 참조하면, 훈련 머신 학습 엔진(102)을 이용하여 후보 비디오 애셋에 대한 ML 스코어(150)를 생성하는 시스템이 도시된다. 머신 학습 엔진(102)은 특정 사용자/비디오 조합에 특정한 입력 피드(feed)(106)에 기초하여 ML 스코어(150)를 생성한다. 입력 피드(106)는 몇 개의 타입의 입력 파라미터를 포함한다. 도시된 실시예에서, 입력 피드(106)는 협업 필터링(CF) 입력(108), 콘텐츠 기반 필터링(CBF) 입력(110) 뿐만 아니라 다른 입력(112)을 포함한다. 이들 입력의 각각은 이하에서 더 상세히 설명한다.
협업 필터링(CF) 입력
협업 필터링 입력(108)은 사용자 의견 또는 거동에 관련된 임의의 입력이다. 협업 필터링은 하나의 일에 대하여 유사한 의견을 갖는 2명의 사람이 다른 일에 대하여 유사한 의견을 가질 가능성이 있다는 가정에 기초한다. 비디오 애셋에 대한 사용자 흥미를 예측하는 컨텍스트에서, 협업 필터링은, 타겟 사용자가 다른 사용자와 동일한 비디오 중의 몇 개를 보는 것을 즐겼다면, 그 다른 사용자가 즐겼지만 타겟 사용자가 아직 보지 않은 비디오를 타겟 사용자가 보는 것을 즐길 가능성이 있는 것으로 가정한다.
사용자의 의견에 대한 정보는 다양한 방식으로 얻어지거나 도출될 수 있다. 예를 들어, 사용자가 흥미를 갖는 비디오 타입은 사용자의 비디오 시청 이력에 암시적으로 반영된다. 따라서, 협업 필터링 입력(108)은 타겟 사용자의 비디오 시청 이력, 타겟 사용자와 유사한 사용자의 시청 이력 및/또는 시청자의 전체 인구의 시청 이력에 대한 데이터를 포함할 수 있다.
협업 필터링 입력(108)은 또한 유사한 인구학적 특성을 갖는 사용자가 유사한 비디오 시청 흥미를 가질 것이라는 가정에 기초한 인구학적 정보를 포함할 수 있다. 이러한 인구학적 정보는 예를 들어 사용자의 나이, 성별, 지리적 위치, 소득층 등을 포함할 수 있다. 협업 필터링 입력(108)은 또한 예를 들어 비디오 선호도 조사를 걸러내거나 이전에 시청한 비디오를 평가함으로써 사용자가 명시적으로 확인한 흥미를 포함할 수 있다.
비디오-대-비디오 추천의 컨텍스트에서, CF 입력(108)은 비교 비디오/타겟 비디오 쌍("비디오 쌍")에 관련되기 때문에 특별히 사용자 거동을 지시할 수 있다. 비디오 쌍에 대하여 유지될 수 있는 다양한 타입의 CF 메트릭의 예는 이하에서 상세히 설명한다.
도 1에 도시된 실시예에서, 머신 학습 엔진(102)에는 원(raw) CF 입력(120) 및 그 원 CF 입력에 기초하여 CF 분석기(118)에 의해 생성된 CF 스코어(124) 둘 다가 공급된다. CF 스코어는, 협업 필터링 알고리즘을 구현하는 CF 분석기(118)에 의한, 타겟 비디오를 타겟 사용자에게 제공하는 것이 목표를 만족시키는 정도에 대한 예측이다. 설명의 목적으로, 목표는 타겟 시청자의 시청 흥미를 만족시키는 것으로 가정한다. 그러나, 이하에서 더 상세히 설명하는 바와 같이, 타겟 목표는 시청자의 흥미를 만족시키는 것 이외의 어떤 것이거나 시청자의 흥미 및 하나 이상의 다른 목표를 만족시키는 조합일 수 있다.
도 1에 의해 명백한 바와 같이, 타겟 비디오에 대한 타겟 사용자의 흥미의 예측으로서 CF 스코어(124)를 단순히 이용하기 보다는, CF 스코어(124)는 단순히 ML 스코어(150)를 생성하기 위하여 머신 학습 엔진(102)에 공급되는 몇 개의 입력 중의 하나이다. 궁극적으로, 머신 학습 엔진(102)은, 어떤 비디오를 추천할지를 선택하는 기준으로서 사용되는 ML 스코어(150)를 생성하는 데 있어서 CF 스코어(124)에 얼마나 큰 가중치가 부여되어야 하는지를 결정한다.
콘텐츠 기반 필터링(CBF) 입력
콘텐츠 기반 필터링 입력(110)은 타겟 비디오의 콘텐츠가 다른 비디오의 콘텐츠와 얼마나 유사한지에 관한 임의의 입력이다. 설명의 목적으로, 비디오-대-비디오 추천이 생성되는 실시예를 설명한다. 따라서, 콘텐츠 기반 필터링 입력은 타겟 비디오 및 비교 비디오를 포함하는 비디오 쌍 간의 유사성에 초점을 맞춘다. 그러나, 다른 실시예에서, 콘텐츠 기반 필터링 입력(110)은 타겟 사용자가 최근에 시청하거나 브라우징하거나 평가한 비디오의 세트 등의 임의의 수의 다른 비디오에 대한 입력 정보를 포함할 수 있다.
상술한 바와 같이, 비교 비디오는 일반적으로 타겟 사용자가 이미 흥미를 나타낸 비디오이다. 예를 들어, 비교 비디오는 타겟 사용자가 최근에 시청한 비디오 또는 타겟 사용자가 최근에 높은 평가를 준 비디오일 수 있다.
협업 필터링 입력(108)과 유사하게, 콘텐츠 기반 입력(110)은 또한 원 입력으로부터 도출된 스코어를 포함한다. 특히, 콘텐츠 기반 필터링 입력(110)은 원 CBF 입력(126) 및 원 CBF 입력(126)에 기초하여 CBF 분석기(128)에 의해 생성된 CBF 스코어(130)를 포함한다. 원 CBF 입력(126)은 타겟 비디오 및 비교 비디오에 관련된 임의의 수의 입력을 포함할 수 있다. 예를 들어, 원 CBF 입력(126)은 타이틀, 장르, 기간, 배우, 키워드, 태그 등의 입력을 포함할 수 있다.
CBF 스코어(130)는 타겟 비디오가 비교 비디오와 얼마나 유사한지에 대한 추정치이다. 아마, CBF 스코어(130)가 높을 수록, 타겟 비디오와 비교 비디오 간의 유사성이 높다. 어떤 시스템이 추천될 비디오를 선택하는 유일한 기준으로서 CBF 스코어를 이용하지만, 도 1에 도시된 실시예에서, CBF 스코어(130)는 단지 머신 학습 엔진(102)에 공급되는 많은 입력 파라미터 중의 하나일 뿐이다. ML 스코어(150)를 도출하는데 있어서 CBF 스코어(130)에 부여된 실제 가중치는 머신 학습 엔진(102)으로의 다른 입력 및 머신 학습 엔진(102)이 훈련된 훈련 세트에 기초하여 변경될 수 있다.
머신 학습 엔진으로의 다른 입력
ML 스코어(150)의 정확도를 증가시키기 위하여 머신 학습 엔진(102)에 공급될 수 있는 다른 입력(112)의 타입 및 성질에 대한 제한은 거의 없다. 예를 들어, 다른 입력은 추천이 제공되는 시각, 추전이 제공되는 요일, 타겟 사용자의 접속 속도 등을 포함할 수 있다.
머신 학습(ML) 스코어
협업 필터링 입력(108), 콘텐츠 기반 필터링 입력(110) 및 임의의 수의 다른 입력(112)에 기초하여, 머신 학습 엔진(102)은 ML 스코어(150)를 생성한다. ML 스코어(150)의 값은 타겟 비디오를 타겟 사용자에게 제공하는 것이 특정 목표 또는 목표 세트를 얼마나 잘 만족시킬지에 대한 예측이다. 목표가 사용자 참여인 실시예에서, ML 스코어(150)는 타겟 사용자가 타겟 비디오 시청에 얼마나 많은 흥미를 가질지에 대한 예측이다.
ML 스코어를 생성하는 프로세스는 후보 비디오 세트 내의 각 비디오에 대하여 반복된다. 이들 각각의 ML 스코어에 기초하여, 타겟 사용자가 가장 많은 흥미를 가질 가능성이 있는 후보 비디오가 선택되어 추천 비디오로서 타겟 사용자에게 제시된다.
도 1에 도시된 방식으로 협업 필터링(CF)을 콘텐츠 기반 필터링(CBF)과 결합함으로써, 각 기술의 장점을 즐길 수 있다. 특히, 생성된 CF/CBF 분석기의 판단은 CF/CBF로부터의 원 입력과 함께 머신 학습 엔진(102)에 직접 노출된다. 머신 학습 엔진(102)에 원 입력에 대한 액세스를 주는 것은 몇 가지 이점을 제공할 수 있다.
먼저, CF/CBF 스코어와 함께 ML 시스템에 원 입력을 제공하는 것은 ML 시스템이 각각 CF 및 CBF로부터의 신호 강도에 기초하여 스코어를 결합하도록 한다. 즉, CF/CBF 스코어에 가해진 상대적인 가중치는 ML 시스템에 공급되는 다른 입력에 기초하여 반복마다 달라질 것이다. 예를 들어, 충분한 거동 데이터를 갖지 않는 새로운 영화에 대하여, CF의 신호 강도는 약하다. 그러므로, ML 시스템은 ML 스코어를 생성할 때 CF 스코어에 적은 가중치를 부여할 것이다. 결과적으로, 콘텐츠 기반 입력이 ML 스코어에서 강조된다. 더 많은 사람이 비디오를 봄에 따라, 거동 데이터는 증가할 것이고, ML 스코어를 생성할 때 ML 시스템에 의해 CF 스코어에 가중치가 부여될 것이다.
두번째로, 원 CBF 입력을 노출하면, ML 시스템은 이력 CF 및 CBF 학습 전부에 기초하여 새로운 콘텐츠 문제를 효과적으로 처리할 수 있다. 예를 들어, ML 시스템은 'a', 'the' 등의 키워드를 공유하는 비디오가 반드시 관련되지는 않지만 '축구', '49ers' 등의 다른 공유 키워드가 더 강한 관계를 나타낼 수 있다는 것을 학습할 수 있다. 결과적으로, 약한 비특정 단어 때문에 높은 CBF 스코어에는, ML 스코어를 생성할 때 머신 학습 엔진(102)에 의해 더 적은 가중치가 부여되고, 크게 특정된 단어 때문에 높은 CBF 스코어에는, ML 스코어를 생성할 때 ML 시스템에 의해 더 높은 가중치가 부여된다.
예시적인 추천
일 실시예에 따르면, 하나 이상의 추천 비디오의 세트를 타겟 사용자에게 제사하는 것에 더하여, 추천 시스템은 또한 그 사용자에게 비디오의 각각이 추천되는 이유에 대한 정보를 제시한다. 특히, 일 실시예에서, 머신 학습 엔진(102)은 각각의 ML 스코어(150)에 가장 긍정적으로 영향을 주는 입력을 나타내는 출력(152)을 제공한다. 예를 들어, 출력(152)은, CF 스코어(124)가 높았기 때문에 타겟 비디오가 높은 ML 스코어(150)를 받았고 다른 입력에 기초하여 ML 스코어(150)의 생성시에 CF 스코어(124)에 높은 가중치가 부여되었다는 것을 나타낼 수 있다. 반면에, 타겟 비디오에 대한 출력(152)은, CBF 스코어가 높았고 다른 입력에 기초하여 ML 스코어(150)의 생성시에 CBF 스코어에 높은 가중치가 부여되었다는 것을 나타낼 수 있다. 이들은 비디오의 ML 스코어에 대한 강한 긍정적인 효과를 가질 수 있는 입력의 타입의 2가지 예일 뿐이다.
출력(152)에 의해 지시된 ML 스코어(150)에 가장 긍적적인 영향을 주는 입력에 기초하여, 추천 시스템은 해당 비디오를 타겟 사용자에게 추천한 이유(즉, ML 스코어(150)가 타겟 비디오의 추천을 정당화할 만큼 충분히 높았던 이유)에 대한 "설명"을 선택할 수 있다. 예를 들어,
· CBF 스코어(130)가 높고 머신 학습 엔진(102)에 의해 큰 가중치가 부여되었다면, 사용자에게 "이 비디오는 X와 유사하다"라는 설명을 제시할 수 있다(여기서, X는 비교 비디오이다).
· CF 스코어(124)가 높고 머신 학습 엔진(102)에 의해 큰 가중치가 부여되었다면, 사용자에게 "X의 시청자가 빈번히 이 비디오를 시청한다"라는 설명을 제시할 수 있다(여기서, X는 비교 비디오이다).
· 다른 입력(112)이, 타겟 비디오가 전체 시청자 인구 중에서 가장 많이 시청한 비디오 중의 하나임을 나타내고 이 입력이 ML 스코어(150)에 큰 영향을 가졌다면, 사용자에게 "이 비디오는 모든 사용자 중에서 가장 많이 시청한 비디오 중의 하나이다"라는 설명을 제시할 수 있다.
· 다른 입력(112)이, 타겟 비디오가 현재 흥미 증가를 경험한다는 것을 나타내고 이 입력이 ML 스코어(150)에 큰 영향을 가졌다면, 사용자에게 "이 비디오가 현재 큰 관심 폭발을 경험하고 있다"라는 설명을 제시할 수 있다.
이들은 타겟 비디오가 추천되는 이유를 사용자에게 설명하기 위하여 사용자에게 제시될 수 있는 거의 무제한 수의 설명의 예일 뿐이다. 이들 예는 매우 일반적이지만, 실제 설명은 매우 특정될 수 있다. 예를 들어, "이 비디오가 X와 유사하다"라는 것을 나타내는 것에 더하여, 설명은 X와 유사한 비디오의 다양한 양태(예를 들어, 장르, 배우, 테마, 태그, 기간, 음악 스코어 등)를 열거할 수 있다.
추천 시스템에 대한 메트릭
상술한 바와 같이, 협업 필터링 입력(108)은 비디오 소비자의 시청 거동에 관한 정보를 포함할 수 있다. 시청 거동은 CF 분석기(118) 및 머신 학습 엔진(102) 둘 다에 공급되는 원 CF 입력(120)에 반영된다. CF 입력을 얻기 위하여, 추천 시스템은 (풍부한 거동 정보를 갖는) 플레이어 로그로부터의 사용자 중심 메트릭을 처리하여 머신 학습 엔진(102)으로의 입력 피드(106)에 포함되는 비디오 쌍 중심 메트릭을 궁극적으로 생성할 수 있다.
도 2를 참조하면, 본 발명의 실시예에 따라 추천 시스템에 의해 유지될 수 있는 다양한 타입의 메트릭을 나타내는 블록도이다. 메트릭은 사용자 중심 메트릭(240), 비디오 중심 메트릭(242) 및 비디오 쌍 중심 메트릭(244)을 포함할 수 있다.
사용자 중심 메트릭
사용자 중심 메트릭(240)에 대하여, 추천 시스템은 각각의 사용자에 대한 사용자 로그를 유지한다. 사용자의 사용자 로그는 사용자가 어떤 비디오를 시청했는지 그렇지 않으면 어떤 비디오에 흥미를 표현했는지를 나타낸다. 도 2는 3개의 사용자 로그(250, 252 및 254)를 나타낸다.
일 실시예에 따르면, 사용자가 흥미를 표현한 비디오를 열거하는 것에 더하여, 사용자 로그는 또한 사용자 행동에 의해 나타나는 흥미량 및 흥미가 표현되었을 때를 나타내는 타임스탬프를 나타낸다. 일 실시예에 따르면, 사용자가 비디오에서 표현하는 흥미량은 사용자 로그 내의 비디오 열거와 함께 저장된 "세기" 값으로 표시된다.
세기 값은 비디오와의 사용자의 상호작용의 타입 등의 다양한 인자에 의해 결정될 수 있다. 예를 들어 비디오를 시청한 사용자는 비디오를 단순히 브라우징한 사용자보다 비디오에 더 많은 관심을 표현한다. 각 타입의 상호작용 내에서, 세기 값은 다른 인자에 의해 영향을 받을 수 있다. 예를 들어, 비디오에 별 5개의 등급을 준 사용자가 비디오에 별 3개의 등급을 준 사용자보다 비디오에 더 강한 흥미를 갖는다. 다른 예로서, 전체 비디오를 시청한 사용자는 비디오의 처음 절반만을 본 사용자보다 더 강한 흥미를 갖는다. 따라서, "시청한 비디오의 퍼센티지"는 사용자의 관심 세기를 결정하는 인자일 수 있다. 또 다른 예로서, 비디오를 반복적으로 시청한 사용자는 비디오를 한번 시청한 사용자보다 더 강한 흥미를 갖는다.
비디오 중심 메트릭
추천 시스템은 사용자 로그를 처리하고 각 비디오에 대하여 유지된 비디오 중심 메트릭(242)에 대해 대응하는 업데이트를 실시한다. 도 2에 도시된 실시예에서, 추천 시스템은 3개의 비디오(202, 204 및 206)의 각각에 대한 정보를 유지한다. 각각의 비디오에 대하여, 추천 시스템에 의해 유지된 정보는 비디오에 흥미를 표현한 사용자의 리스트를 포함한다. 비디오(202, 204, 206)의 "흥미있는 사용자 리스트"는 각각 리스트(222, 224, 226)로 도시된다. 일 실시예에서, 이들 리스트는 사용자를 각각 식별하는 엔트리, 타임스탬프 및 타임스탬프에 의해 지시된 시간에 사용자가 비디오에 얼마나 강하게 흥미를 표현하였는지를 나타내는 세기 값을 포함한다.
열거된 사용자 리스트(222, 224, 226)에 더하여, 비디오 메타데이터는 비디오의 각각에 대하여 유지된다. 각각의 비디오에 대하여 유지된 비디오 매타데이터는 기간, 생성 일자, 태그, 타이틀, 키워드, 언어 등의 비디오에 대한 임의의 수 및 타입의 정보를 포함할 수 있다. 종종, 주어진 비디오에 대한 초기 비디오 메타데이터는 비디오의 생산자에 의해 제공되거나(예를 들어, 타이틀, 배우, 언어) 또는 비디오 자체로부터 도출가능하다(예를 들어, 기간, 인코딩 포맷). 그러나, 임의의 발행 환경에서, 비디오에 대한 메타데이터는 시간에 따라 변경되거나 증가(augmented)된다. 예를 들어, 더 많은 사용자가 비디오를 시청함에 따라, 사용자 태그가 비디오에 추가될 수 있다. 일 예로서, 비디오의 시청 수 및 등급은 사용자가 비디오를 시청하고 등급을 매김으로써 연속적으로 변할 수 있다. 도 2에 도시된 실시예에서, 비디오(202, 204, 206)에 대한 비디오 메타데이터는 각각 비디오 메타데이터(232, 234, 236)로서 도시된다.
비디오 쌍 중심 메트릭
비디오 쌍 중심 메트릭(244)은 비디오의 쌍과 관련된 메트릭이다. 예를 들어, 도 2는 비디오(202 및 204)의 쌍에 대한 메트릭, 비디오(202 및 206)의 쌍에 대한 메트릭 및 비디오(204 및 206)의 쌍에 대한 메트릭을 나타낸다. 도 2에 도시된 실시예에서, 각각의 비디오 쌍에 대하여, 메트릭은 CF 메트릭 및 CBF 메트릭을 포함한다.
예를 들어, 비디오 쌍에 대한 CF 메트릭은 쌍 내의 하나의 비디오를 시청한 사용자가 또한 쌍 내의 다른 비디오를 시청할 확률을 예측하는 메트릭이다. 따라서, CF 메트릭(262)은 비디오(202 및 204) 중의 하나를 시청한 사용자가 비디오(202 및 204) 중의 다른 하나를 시청할 확률을 예측하는 메트릭이다. 마찬가지로, CF 메트릭(264)은 비디오(202 및 206) 중의 하나를 시청한 사용자가 비디오(202 및 206) 중의 다른 것을 시청할 확률을 예측하는 메트릭이다. 마지막으로, CF 메트릭(266)은 비디오(204 및 206) 중의 하나를 시청한 사용자가 비디오(204 및 206) 중의 다른 것을 시청할 확률을 예측하는 메트릭이다.
일 실시예에서, 각 비디오 쌍에 대한 CF 메트릭은 적어도:
· 비디오 쌍 내의 각 비디오에 대하여 모든 사용자에 의해 소비된 총 시간
· 비디오 쌍에 대하여 개별 사용자에 의해 소비된 최소 시간의 합
· 쌍 내의 양 비디오를 시청한 사용자에 대하여, 2개의 비디오를 시청하는 사이에 얼마나 많은 시간이 경과했는지
· (한 사람이 100번 시청한 비디오와 100명의 다른 사람들 각각이 한번씩 시청한 비디오를 구별하는) 사용자들의 분포
· (이 비디오를 시청한 사용자가 많은 비디오를 시청하는 경향이 있는지 또는 적은 비디오를 시청하는 경향이 있는지를 나타내는) 비디오 쌍을 시청한 각 사용자에 의해 시청된 비디오들의 분포
· (예를 들어, 동일한 페이지 또는 리스트 상에 빈번히 나타나는 비디오 및 동일 페이지 또는 리스트에 드물게 나타나는 비디오를 구별하는) 쌍 내의 "발견가능한" 각각의 비디오가 다른 비디오와 얼마나 관련되는지
를 포함한다.
비디오 쌍에 대한 CF 메트릭은 쌍 내의 각각의 비디오에 대하여 유지되는 흥미있는 사용자 리스트로부터 도출될 수 있다. 예를 들어, 202/204 내의 각 비디오에 대하여 모든 사용자에 의해 소비된 총 시간은 리스트(222 및 224) 내의 정보에 기초하여 결정될 수 있다. 마찬가지로, CF 메트릭(264)은 리스트(222 및 226)로부터 도출될 수 있다. 마찬가지로, CF 메트릭(266)은 리스트(224 및 226)로부터 도출될 수 있다.
비디오 쌍 내의 비디오들 중의 하나가 타겟 비디오이고 비디오 쌍 내의 다른 비디오가 비교 비디오이면, 비디오 쌍에 대한 CF 메트릭은 ML 스코어를 생성하는데 사용되는 원 CF 입력(120)에 포함될 수 있다. 특히, 특정 사용자에게 비디오(X)를추천하는 것이 목표를 달성하는 정도를 결정하기 위하여, 특정 사용자가 비디오(Y)에 대한 흥미를 드러낸 경우, 비디오 X/Y 쌍에 대한 CF 메트릭은 CF 분석기(118) 및 머신 학습 엔진(102) 둘 다에 공급될 수 있다. CF 분석기(118)는 이들 CF 메트릭에 기초하여 CF 스코어(124)를 생성한다. CF 스코어(124)는 머신 학습 엔진(102)에 공급되고 머신 학습 엔진(102)은 적어도 부분적으로 이들 CF 메트릭에 기초하여 CF 스코어(124)에 얼마나 많은 가중치를 부여하는지를 결정한다.
CF 메트릭에 더하여, 각각의 비디오 쌍에 대한 비디오 쌍 중심 메트릭은 CBF 메트릭을 포함한다. 비디오 쌍의 CBF 메트릭은 비디오 쌍 내의 비디오들의 콘텐츠가 얼마나 유사한지를 일반적으로 나타내는 메트릭이다. 예를 들어, 비디오 쌍의 CBF 메트릭은 비디오들이 공통으로 가진 태그가 얼마나 많은지, 비디오들이 공통으로 가진 메타데이터가 무엇인지(예를 들어, 배우, 감독, 키워드) 등을 나타낼 수 있다. 도 2에 도시된 실시예에서, 비디오 쌍(202/204, 202/206 및 204/206)에 대한 CBF 메타데이터는 각각 CBF 메트릭(272, 274, 276)으로서 도시된다.
일 실시예에 따르면, 비디오 쌍 내의 비디오 중의 하나가 타겟 비디오이고 비디오 쌍 내의 다른 비디오가 비교 비디오이면, 비디오 쌍에 대한 CBF 메트릭은 ML 스코어를 생성하는데 사용되는 원 CBF 입력(126)에 포함될 수 있다. 특히, 비디오(X)가 사용자가 흥미를 표현한 비디오(Y)와 유사한 정도를 결정하기 위하여, 비디오 X/Y 쌍에 대한 CBF 메트릭은 CBF 분석기(128) 및 머신 학습 엔진(102) 둘 다에 공급될 수 있다. CBF 분석기(128)는 이들 CBF 메트릭에 기초하여 CBF 스코어(130)를 생성한다. CBF 스코어(130)는 머신 학습 엔진(102)에 공급되고 머신 학습 엔진(102)은 적어도 부분적으로 이들 CBF 메트릭에 기초하여 CBF 스코어(130)에 얼마나 많은 가중치가 부여되는지를 결정한다.
거동 데이터의 증가 업데이트
가능한 한 정확해야 하는 ML 스코어(150)에 대하여, ML 스코어(150)를 생성하는데 사용되는 원 CF 입력(120)은 가능한 한 현행(current)이어야 한다. 그러나, 비디오 시청 인구가 많을 수록, 모든 후보 비디오에 대한 원 CF 입력(120)이 최신식으로 유지되는 것을 보장하기 더 어려워진다.
예를 들어, 비디오 컬렉션이 백만 비디오 애셋을 갖고 임의의 주어진 시간에 수만의 시청자가 비디오를 시청하는 것으로 가정한다. 이들 조건 하에서, 시청 거동 정보의 양은 거대하다. 거동 데이터를 업데이트하는 하나의 접근법은, 사용자 중심 메트릭을 실시간으로 수집하고 각 주말에 비디오 중심 메트릭(242) 및 비디오 쌍 중심 메트릭(244)에 대하여 배치 업데이트(batch update)를 수행하는 것이다. 그러나, 이러한 접근법은 추천 시스템에 의한 비교적 오래된 비디오 중심 메트릭(242) 및 비디오 쌍 중심 메트릭(244)의 사용을 초래한다.
추천 시스템에 의한 이러한 오래된 비디오 중심 메트릭(242) 및 비디오 쌍 중심 메트릭(244)의 사용을 피하기 위하여, 비디오 중심 메트릭(242) 및 비디오 쌍 중심 메트릭을 증가적으로 유지하는 기술이 제공된다. 일 실시예에 따르면, 추천 시스템은 (사용자, 비디오, 세기) 투플(tuple)의 형태로 모든 이력 시청 거동을 요약하는 사용자 이력에 새로운 사용자 거동 데이터를 증가적으로 넣는다. 또한, 추천 시스템은 오래된 정보로부터 새로운 정보를 구별하고 새로운 사용자 활동을 갖는 비디오 쌍의 비디오 쌍 중심 메트릭(244)만을 업데이트한다.
특히, 일 실시예에서, 특정 비디오에 대한 비디오 중심 CF 메트릭은 특정 비디오에 대한 흥미의 새로운 표현에만 응답하여 업데이트된다. 마찬가지로, 특정 비디오 쌍에 대한 비디오 쌍 중심 메트릭은 비디오 쌍에 속하는 비디오 중의 적어도 하나에 대한 흥미의 새로운 표현에만 응답하여 업데이트된다. 많은 비디오가 사용자가 흥미를 표현하지 않은 긴 기간을 경험할 수 있기 때문에, 재산출될 필요가 있는 비디오 중심 메트릭의 퍼센티지가 감소하여 실시간으로 최신식으로 비디오 중심 메트릭(242) 및 비디오 쌍 중심 메트릭(244)을 유지하는데 요구되는 처리를 감소시킨다.
비디오 메타데이터의 증가적 업데이트
CF 메트릭과 유사하게, 각각의 비디오 및 비디오 쌍의 CBF 메트릭은 최신식으로 유지되는 것이 중요한데, 그 이유는 이들 메트릭은 추천될 비디오를 선택하는 기준으로서 사용되는 ML 스코어에 영향을 주기 때문이다. CBF 메트릭을 효율적인 방식으로 최신식으로 유지하기 위하여, 추천 시스템에 의해 사용되는 콘텐츠 기반 파이프라인이 또한 증가적으로 유지된다. 예를 들어, 일 실시예에서, 추천 시스템에 입수된 새로운 비디오 및 비디오에 대한 메타데이터가 이용가능해지자마자, 비디오는 즉시 추천가능해진다.
일 실시예에서, 콘텐츠 기반 파이프라인은 새로운 비디오 및 기존의 비디오가 공통 메타데이터를 공유할 때만 새로운 비디오가 새로운 비디오와 기존의 비디오에 비교되도록 구현된다. 일 실시예에서, 추천은 (입력 이름, 입력 값) 대 (타임스탬프, 비디오, 비디오 메타데이터) 맵핑을 유지한다. 이러한 실시예에서, 콘텐츠 기반 파이프라인은 다음의 논리적 단계를 포함할 수 있다:
· (입력 이름, 입력 값) 대 (타임스탬프, 비디오, 비디오 메타데이터) 맵핑을 생성하고 새로운 비디오를 글로벌 테이블에 접어 넣는다.
· 동일(입력 이름, 입력 값)을 포함하는 비디오를 그룹핑한다.
· 각각의 그룹에 대하여, 비디오 쌍을 생성한다.
· 비디오 쌍을 수집한다. 각각의 쌍에 대하여, 쌍별 거리를 계산한다.
이 쌍별 거리는, 비디오 쌍 내의 비디오 중의 하나가 타겟 비디오이고 비디오 쌍 내의 다른 비디오가 비교 비디오일 때 머신 학습 엔진(102)에 공급되는 CBF 스코어일 수 있다. 성능의 이유로, 추천 시스템은 타임스탬프을 보고 오직 새로운 비디오를 새로운 비디오와 비교하고 새로운 비디오를 오래된 비디오와 비교할 수 있다(그러나, 오래된 비디오를 오래된 비디오와 비교하지 않는다).
일 실시예에서, 타겟 비디오에 대하여 머신 학습 엔진(102)에 공급된 원 CBF 입력(126)은 그 타겟 비디오에 대한 현재 비디오 중심 메트릭(242) 및 그 비디오 및 비교 비디오를 포함하는 비디오 쌍에 대한 현재 CBF 메트릭을 반영한다. 이것은 특히 (예를 들어, 새로운 태그가 비디오에 추가됨에 따라) 임의의 주어진 비디오와 연관된 비디오 메타데이터가 시간에 따라 크게 변할 수 있는 환경에서 중요하다.
상술한 바와 같이, 일 실시예에서, 비디오 쌍에 대한 CBF 메트릭은 쌍 내의 제2 비디오가 컬렉션에 추가될 때 생성되고 비디오 쌍 내의 비디오 중의 어느 것의 비디오 메타데이터의 변화에만 응답하여 업데이트된다. 예를 들어, 비디오(204)가 컬렉션에 추가될 때 비디오(202)가 비디오 컬렉션에 존재하는 것으로 가정한다. 컬렉션으로의 비디오(204)의 추가에 응답하여, 비디오 쌍(202/204)에 대한 CBF 메트릭(272)은 비디오(202)에 대한 비디오 메타데이터(232) 및 비디오(204)에 대한 비디오 메타데이터(234)에 기초하여 초기에 생성될 수 있다.
일단 생성되면, CBF 메트릭(272)은 비디오(202) 또는 비디오(204)에 대한 비디오 메타데이터가 변경될 때까지 변경되지 않는다. 이러한 변경(예를 들어, 비디오 쌍 내의 비디오 중의 하나로의 태그의 추가)은 쌍에 대한 CBF 메트릭(272)의 재산출을 트리거한다. 각각의 비디오가 다수의 비디오 쌍에 속할 수 있으므로, 하나의 비디오에 대한 비디오 메타데이터에 대한 업데이트는 많은 비디오 쌍에 대한 CBF의 재산출을 트리거할 수 있다. 예를 들어, 비디오(202)의 비디오 메타데이터(232)에 대한 업데이트는 비디오 쌍(202/204)의 CBF 메트릭(272)의 재산출 및 비디오 쌍(202/206)의 CBF 메트릭(274)의 재산출을 트리거한다.
비디오 쌍에 대한 스코어 사전 계산
도 2에 도시되지 않지만, 각 비디오 쌍에 대한 비디오 쌍 중심 메트릭(244)은 또한 사전 계산 CF 스코어 및 사전 계산 CBF 스코어를 포함할 수 있다. 특히, 비디오 추천이 필요할 때 비디오 쌍에 대한 CF 및 CBF 스코어를 생성하기 보다는, 이들 스코어가 근원적인 비디오 쌍 메트릭이 업데이트될 때 사전 계산될 수 있다. 결과적으로, 비디오 추천이 필요할 때, 사전 계산된 스코어가 단순히 저장장치로부터 판독되어 머신 학습 엔진(102)에 공급될 수 있다. 추천(쿼리) 시간 및 영화 정보 업데이트 시간에 이 계산을 수행하는 사이에 트레이드오프가 있다. 일반적인 가이드 원리는 그 상대적인 빈도 및 가능하면 어떻게 계산을 덜 빈번히 할지를 이용하는 것이다.
예를 들어, 비디오 쌍(202/204)에 대한 CF 스코어(124)는 CF 메트릭(262)에 기초한다. CF 메트릭(262)은 비디오(202) 또는 비디오(204)에 흥미를 갖는 사용자의 표시에 응답하여 업데이트된다. 사용자 흥미의 표시에 응답하여, CF 메트릭(262)은 업데이트될 수 있고, CF 스코어(124)는 업데이트된 CF 메트릭(262)을 CF 분석기(118)에 공급함으로써 비디오 쌍(202/204)에 대하여 생성될 수 있다. 이 사전 계산된 CF 스코어는, 머신 학습 엔진(102)을 이용하여 비디오 쌍(202/204)에 기초하여 ML 스코어(150)를 생성할 때, 재계산되기보다는 간단히 판독될 수 있다.
마찬가지로, 비디오 쌍(202/204)에 대한 CBF 스코어(130)는 CBF 메트릭(272)에 기초한다. CBF 메트릭(272)은 비디오(202) 또는 비디오(204)에 대한 비디오 메타데이터에 대한 업데이트에 응답하여 업데이트된다. 이러한 메타데이터 업데이트에 응답하여, CBF 메트릭(272)이 업데이트될 수 있고 CBF 스코어(130)는 업데이트된 CBF 메트릭(272)을 CBF 분석기(128)에 공급함으로써 비디오 쌍(202/204)에 대하여 생성될 수 있다. 이 사전 계산된 CBF 스코어(130)는, 머신 학습 엔진(102)을 이용하여 비디오 쌍(202/204)에 기초하여 ML 스코어(150)를 생성할 때, 재계산되기보다는 간단히 판독될 수 있다.
메트릭을 유지할 비디오 쌍을 선택
이론적으로, 비디오 쌍 중심 메트릭(244)은 컬렉션 내의 2개의 비디오의 모든 조합에 대하여 유지될 수 있다. 컬렉션 내의 가능한 모든 비디오 쌍에 대한 비디오 쌍 중심 메트릭을 유지하는 것은 비디오 쌍 중심 메트릭의 Nx(N-1) 개별 세트를 야기하고, 여기서, N은 컬렉션 내의 비디오의 수이다. 그 비디오 쌍 중심 메트릭의 많은 세트를 유지하는 것은 작은 컬렉션에 대해서는 쉽게 달성되지만, 매우 큰 컬렉션에 대해서는 실행 불가능하다.
그러므로, 실시예에 따르면, 비디오는 비디오가 주어진 비디오와 충분히 유사한 것으로 간주되기 전에 주어진 비디오와 "페어링 테스트(pairing test)"를 거쳐 비디오 및 주어진 비디오의 비디오 쌍에 대한 비디오 쌍 중심 메트릭의 유지를 정당화해야 한다. 특정 비디오에 대하여 페어링 테스트를 통과한 비디오는 여기에서 그 특정 비디오에 대한 "페어링 비디오 세트"라 한다. 그러므로, 일 실시예에서, 비디오 쌍 중심 메트릭(244)은 비디오(Y)가 비디오(X)의 페어링 비디오 세트 내에 있는 경우 그리고 그러한 경우에만 임의의 주어진 비디오 쌍(비디오(X)/비디오(Y))에 대하여 유지된다.
페어링 테스트는 비디오들이 예를 들어 다음의 특성: 장르, 배우, 감독 중의 임의의 것을 공유해야 한다는 것일 수 있다. 이것은 단지 특정 비디오 쌍에 대한 비디오 쌍 중심 메트릭을 유지할지를 결정하기 위하여 적용될 수 있는 거의 비제한되는 타입의 페어링 테스트의 일 예이다. 페어링 테스트가 더 많이 제한될 수록, 비디오 쌍 중심 메트릭(244)이 유지되는 비디오 쌍이 적고, 그러므로, 비디오 쌍 중심 메트릭(244)을 유지하는 오버헤드가 더 감소한다.
그러나, 페어링 테스트가 너무 제한적이면, 추천 시스템은 유용할 수 있는 임의의 추천에 실패할 수 있다. 예를 들어, 비디오(X)가 비디오(Y)의 페어링 비디오 세트에 있지 않으면, 비디오(Y)의 가장 많은 시청자가 실제로 비디오(X)를 보는 것을 즐긴 경우에도, 비디오(Y)가 비교 비디오일 때 비디오(X)가 추천 시스템에 의해 추천되지 않을 가능성이 있다.
페어링 테스트는 임의로 복합적일 수 있다. 예를 들어, 테스트는 다음의 규칙을 가질 수 있다.
· 비디오(X)가 N 이상의 등급을 가지면, 비디오(X)는 자동으로 모든 비디오에 대하여 페어링 테스트를 만족하는 것으로 간주된다.
· 비디오(X)가 N 뷰보다 적지만 M 뷰보다 큰 등급을 가지면, 비디오(X)는 장르, 배우, 감독 중의 적어도 하나를 공통으로 갖는 비디오에 대하여 페어링 테스트를 만족하는 것으로 간주된다.
· 비디오(X)가 M 뷰보다 작으면, 비디오(X)는 동일한 장르의 비디오에 대하여 페어링 테스트를 만족하는 것으로 간주된다.
이들 규칙에서, 비디오의 등급은 페어링 테스트를 통과하기 위하여 어떤 조건이 만족되어야 하는지를 결정한다. 그러나, 다른 페어링 테스트에서, 페어링을 위한 행동 조건은 다른 인자에 기초하여 변경될 수 있다.
비디오 쌍에 대한 임의의 비디오 쌍 중심 메트릭을 저장할지를 결정하기 위하여 페어링 테스트를 이용하기 보다는, 페어링 테스트는 비디오 쌍에 대하여 특정 타입의 비디오 쌍 중심 메트릭이 유지되어야 하는지를 결정하는 데 사용될 수 있다. 예를 들어, CF 메트릭은 컬렉션 내의 모든 비디오 쌍에 대하여 유지될 수 있지만, CBF 메트릭은 페어링 테스트를 통과한 비디오 쌍에 대해서만 유지된다. 대안으로, CBF 메트릭은 컬렉션 내의 모든 비디오 쌍에 대하여 유지될 수 있지만, CF 메트릭은 페어링 테스트를 통과한 비디오 쌍에 대해서만 유지된다.
또다른 실시예에서, 각 타입의 비디오 쌍 중심 메트릭에 대하여 상이한 페어링 테스트가 존재할 수 있다. 예를 들어, 추천 시스템은, 쌍 내의 양 비디오가 소정 문턱값을 초과하는 등급을 가지면, 비디오 쌍에 대한 CF 메트릭을 저장할 수 있다. 동시에, 추천 시스템은, 비디오 쌍이 적어도 하나의 중요한 입력(예를 들어, 장르, 배우, 감독)을 공통으로 가지면 비디오 쌍에 대한 CBF 메트릭을 저장할 수 있다. 이러한 실시예에서, 임의의 비디오 쌍에 대한 비디오 쌍 중심 메트릭(244)은 CF 메트릭 및 CBF 메트릭 둘 다를 포함할 수 있고 다른 비디오 쌍에 대한 비디오 쌍 중심 메트릭은 CF 메트릭 또는 CBF 메트릭만을 갖거나 둘다 갖지 않을 수 있다.
페어링 비디오 세트에 기초하여 비디오-대-비디오 추천
일 실시예에 따르면, 비디오-대-비디오 추천을 제공하면, 추천 시스템은 단지 사용자가 이미 흥미를 표현한 비디오의 페어링 비디오 세트 내에 있는 비디오에 대한 ML 스코어를 생성한다. 예를 들어, 사용자가 비디오(X)를 보는 것을 방금 마친 것으로 가정한다. 사용자가 볼 다음 비디오를 추천하기 위하여, 머신 학습 엔진(102)은 비디오(X)의 페어링 비디오 세트 내의 각 비디오에 대한 ML 스코어(150)를 생성하는데 사용된다.
이 예에서, 비디오(X)의 페어링 비디오 세트 내의 각각의 비디오에 대한 원 CF 입력(120)은 비디오 및 비디오(X)를 포함하는 비디오 쌍에 대한 CF 메트릭을 포함한다. 이들 원 CF 입력(120)은 CF 분석기(118)에 공급되어 비디오(X)의 시청자가 타겟 비디오를 보는데 얼마나 많은 흥미를 갖는지를 예측하는 CF 스코어(124)를 생성한다.
마찬가지로, 원 CBF 입력(126)은 비디오 및 비디오(X)를 포함하는 비디오 쌍에 대한 CBF 메트릭을 포함한다. 이들 원 CBF 입력(126)은 CBF 분석기(128)에 공급되어 비디오(X)가 타겟 비디오와 얼마나 유사한지를 예측하는 CBF 스코어(128)를 생성한다.
도 1에 도시된 바와 같이, 원 입력(120 및 126) 및 다른 입력(112)은 스코어(124 및 130)와 함께 머신 학습 엔진(102)에 공급되어 머신 학습 엔진(102)이 스코어(124 및 130)의 각각에 얼마나 큰 가중치를 부여할지를 결정하도록 한다. 결정된 가중치에 기초하여, 머신 학습 엔진(102)은 타겟 비디오에 대한 ML 스코어(150)를 생성한다.
비디오(X)의 페어링 비디오 세트 내의 모든 비디오에 대한 이 프로세스를 반복한 후, 비디오에 대하여 생성된 ML 스코어는 어떤 비디오가 추천될지를 결정하는 기준으로서 이용된다.
붕괴 인자
일반적으로, 사용자의 최근 행동은 더 먼 과거에 사용자에 의해 취해진 행동보다 사용자의 현재 흥미를 더 많이 나타낸다. 그러므로, CF 스코어(124)를 생성함에 있어서, CF 분석기(118)는 거동이 얼마나 최근에 발생했는지에 기초하여 사용자 거동 메트릭에 가해지는 가중치를 조절하는 "붕괴(decay)" 인자를 적용할 수 있다.
예를 들어, CF 스코어(124)를 생성할 목적으로, CF 분석기(118)는 사용자가 비디오 쌍의 양 비디오를 본 것을 나타내는 데이터에 대하여 사용자가 양 비디오를 본 직후에는 100% 가중치를 주고, 일주일 후에는 80% 가중치를 부여하고 이주일 후에는 60% 가중치를 부여할 수 있다. 사용자 거동의 최신은 사용자 로그에 캡쳐된 타임스탬프에 의해 결정될 수 있다.
붕괴 인자가 높을 수록, 더 낮은 가중치가 오래된 거동에 부여된다. 역으로, 붕괴 인자가 낮을 수록, 더 높은 가중치가 오래된 거동에 부여된다. 높은 붕괴 인자의 예는 예를 들어 현재의 거동에 100% 가중치를 부여하고 일주일 전의 거동에 10% 가중치를 부여하고 2 주전 초과의 거동에 가중치를 부여하지 않는다는 것이다.
CF 분석기(118)에 의해 사용되는 붕괴 인자를 변경하는 것은 CF 분석기(118)에 의해 생성된 CF 스코어(124)에 영향을 준다. 예를 들어, 많은 사용자가 2주 전에 특정 비디오 쌍을 보았지만, 적은 사용자가 지난주에 동일한 비디오 쌍을 본 것으로 가정한다. 이러한 조건 하에서, 높은 붕괴 인자의 사용은 낮은 CF 스코어(124)를 야기하는데, 그 이유는 오래된 시청 정보에 적은 가중치가 주어지기 때문이다. 반면에, 낮은 붕괴 인자의 사용은 높은 CF 스코어(124)를 야기하는데, 그 이유는 오래된 사용 정보가 CF 스코어(124)에 상당한 영향을 주기 때문이다.
불행하게도, 모든 상황에서 최적의 결과를 산출하는 붕괴 인자는 없다. 예를 들어, 많이 본 비디오의 발행인으로부터의 비디오에 대한 높은 붕괴 인자를 이용하면 비디오 쌍 내의 하나의 비디오를 본 사용자가 비디오 쌍 내의 다른 비디오를 보는 것에 흥미를 가질 수 있는지를 정확히 예측하는 CF 스코어(124)를 산출할 수 있다. 높은 붕괴 인자의 사용은 이러한 타입의 비디오에 최적일 수 있는데, 그 이유는 최근 시청 활동의 양은 정확한 예측을 생성하기에 충분하기 때문이다. 결과적으로, 오래된 거동 데이터가 그에 따라 무시될 수 있다.
반면에, 낮은 붕괴 인자의 사용은 훨씬 덜 빈번히 보는 비디오의 발행인으로부터 비디오에 대한 더 정확한 CF 스코어(124)를 산출할 수 있다. 이러한 상황 하의 낮은 붕괴 인자의 사용은 CF 스코어(124)가 유용한 충분한 거동 데이터에 기초하도록 보장하는데 필요할 수 있다. 따라서, 이 예에서, 붕괴 인자와 독립적인 입력 파라미터(비디오 발행인)는 임의의 주어진 상황에서 어떤 붕괴 인자가 사용되기에 더 적합한지에 대한 지시를 머신 학습 엔진(102)에 제공할 수 있다.
어떤 붕괴 인자가 각각의 비디오 쌍에 대한 가장 정확한 CF 스코어(124)를 생성할지를 추측하려는 시도보다는 오히려, 각각의 비디오 쌍에 대한 다수의 CF 스코어가 머신 학습 엔진(102)에 공급되는 실시예가 제공되고, 여기서, 각각의 CF 스코어는 상이한 붕괴 인자를 이용하여 생성된다. 이러한 실시예는 도 3에 도시된다.
도 3을 참조하면, 머신 학습 엔진(102)에 3개의 개별 CF 스코어(324, 326, 328)를 포함하는 CF 입력(308)이 입력되는 추천 시스템을 도시한다. CF 스코어(324, 326, 328)는 동일한 원 CF 입력(120)에 기초하지만 3개의 상이한 붕괴 인자(314, 316 및 318)를 이용하여 생성된다. (비디오 생성자 등의) 입력 피드(306) 내의 다른 입력에 기초하여, 머신 학습 엔진(102)는 CF 스코어 중의 어느 것이 ML 스코어(150)에 더 많은 영향을 주는지를 결정한다.
예를 들어, 원 CBF 입력(126)이 비디오 쌍 내의 비디오가 특정 발행인으로부터의 많이 시청한 현재 뉴스 이벤트에 관한 것이라는 것을 나타내면, 머신 학습 엔진(102)은 높은 붕괴 인자에 기초한 CF 스코어에 더 큰 가중치를 부여할 수 있다. 반면에, 원 CBF 입력(126)이 비디오 쌍 내의 비디오가 다른 발행인으로부터의 드물게 시청하는 클랙식 영화인 것을 지시하면, 머신 학습 엔진(102)은 낮은 붕괴 인자에 기초한 DV 스코어에 더 많은 가중치를 부여한다.
도 3에 도시된 실시예에서, 3개의 상이한 붕괴 인자를 사용하지만, 사용되는 붕괴 인자의 실제 수는 구현예에 따라 달라질 수 있다. 예를 들어, 일 실시예는 임의의 주어진 비디오 쌍에 대한 20개의 CF 스코어를 생성할 수 있고, 20개의 CF 스코어의 각각은 상이한 붕괴 인자에 기초한다. 이하에서 더 상세히 설명하는 바와 같이, 이 기술은 붕괴 인자로 제한되지 않고 임의의 수의 다른 파라미터와 함께 사용될 수 있다.
오즈비 컷오프(odds-ratio cut off)
예측을 생성하는데 모델이 사용되면, 모델은 가정(assumption)에 기초한 소정의 "모델 튜닝 파라미터"를 사용한다. 상술한 붕괴 인자는 이러한 모델 튜닝 파라미터의 예이다. 예를 들어, 일주일 후에 행동에 부여되는 가중치를 50% 감소시키는 붕괴 인자를 사용하는 모델은 미래 행동을 예측하는 지난 행동의 능력이 일주일 후에 50% 감소하는 것으로 가정한다.
붕괴 인자는 단지 CF 및 CBF 분석기에서 구현되는 모델에 의해 사용될 수 있는 모델 튜닝 파라미터의 일 예이다. 붕괴 인자에 더하여, CF 분석기에 의해 채용된 모델은, 예를 들어, 오즈 비 컷오프 문턱값을 이용하여 2개의 비디오가 실제로 서로 연관되는지를 예측할 때 매우 인기있는 비디오에 의해 야기되는 허위 양성(false-positive)의 수를 감소시킬 수 있다.
오즈비 컷오프는 매우 인기있는 비디오를 그렇게 많은 사용자가 시청할 수 있고 사용자가 매우 인기있는 비디오에 더하여 임의의 다른 비디오를 시청한다는 사실이 다른 비디오가 매우 인기있는 비디오와 관련된다는 정확한 지시가 아닌 문제점을 처리하는데 사용될 수 있다. 매우 인기있는 비디오가 관련되지 않은 다른 비디오와 관련된다고 예측하는 것을 피하기 위하여, CF 분석기(118)에 의해 사용되는 모델은 (독립적으로 동시 발생과 반대로) 사용자의 시청 로그에서 2개의 비디오가 동시에 발생할 가능성을 계산함으로써 2개의 비디오가 관련되는지를 결정할 수 있다. 2개의 비디오가 독립적으로 동시에 발생할 가능성이 모델에 의해 사용되는 오즈비 컷오프(예를 들어, 50%)보다 크면, 2개의 비디오는 실제로 서로 관련되지 않는 것으로 가정한다.
붕괴 인자에서, 모델(a)에 의해 사용되는 오즈비 컷오프는 예측에 영향을 주고, (b)는 항상 참(true) 으로 유지될 수 없는 가정(assumption)에 기초한다. 예를 들어, 임의의 경우에, 2개의 비디오는 사용자 로그에 동시에 독립적으로 발생하는 55%의 기회가 있다는 것을 나타내는 통계를 통해서도 매우 관련될 수 있다. 이 상황에서, 60%의 오즈비 컷오프의 사용은 모델이 비디오가 관련된다는 것을 예측하도록 한다.
반면에, 2개의 비디오는 사용자 로그에 독립적으로 동시에 발생하는 45% 기회만 있다는 것을 나타내는 통계를 통해서도 관련되지 않을 수 있다. 이 상황에서, 40% 오즈비 컷오프의 사용은 모델이 비디오가 관련되지 않는 것으로 예측하도록 한다.
정규화 인자
정규화 인자는 임의의 모델에 의해 사용될 수 있는 모델 튜닝 파라미터의 다른 예이다. 정규화 인자는 일반적으로 사용자의 전체 시청 거동에 기초하여 스코어를 정규화하도록 시도한다. 예를 들어, 사용자(A) 및 사용자(B)가 50분 동안 비디오 쌍(v1, v2)을 시청한다. 그러나, 사용자(A)는 비디오(v1 및 v2)만을 시청하지만, 사용자(B)는 수백개의 다른 비디오를 시청한다. 사용자(B)는 비디오 쌍과 관련하여 더 분할된 관심을 갖는다. 비디오(v1 및 v2)의 관련에 대한 사용자(A)로부터의 지지는 사용자(B)로부터의 지지보다 더 중요해야 한다. 이것은 웹 페이지 랭킹에서 사용되는 페이지 랭크의 동일한 사상에 있고, 발신 링크(out-going link에 부여되는 가중치는 각 웹 페이지가 가질 수 있는 발신 링크의 수에 부분적으로 의존한다.
상이한 모델 튜닝 파라미터를 이용한 병행 계산
모델 튜닝 파라미터(예를 들어, 붕괴 인자, 정규화 인자, 오즈비 컷오프 등)에 대하여 모델이 사용하는 값은 모든 상황에 대하여 참을 반드시 유지할 필요가 없다는 가정에 기초하기 때문에, 상이한 모델 튜닝 파라미터 값 조합에 대한 스코어가 동시에 머신 학습 엔진(102)에 공급되는 실시예가 제공된다.
예를 들어, 도 3은 머신 학습 엔진(102)에 3개의 CF 스코어(324, 326, 328)를 동시에 공급하는 것을 나타내고, 각각의 스코어는 상이한 붕괴 인자 값과 연관된다. 다른 실시예에서, 하나의 CF 스코어는 몇 개의 (붕괴 인자, 오즈비 컷오프) 값 조합의 각각에 대하여 생성될 수 있다. 예를 들어, 실시예는 붕괴 인자에 대한 3개의 상이한 값(X, Y, Z) 및 2개의 상이한 오즈비 컷오프 문턱값(A, B)을 이용할 수 있다. 이러한 실시예에서, 머신 학습 엔진(102)에는 모델 튜닝 파라미터 값 조합(X, A), (X, B), (Y, A), (Y, B), (Z, A), (Z, B)의 각각에 대한 6개의 CF 스코어가 동시에 공급된다.
이 예에서 붕괴 인자 및 오즈비 컷오프 문턱값의 모델 튜닝 파라미터를 이용하지만, 동일한 병행 스코어 생성 기술이 임의의 타입 및 수의 모델 튜닝 파라미터에 대하여 사용될 수 있다. 예를 들어, 특정 CF 분석기는 4개의 상이한 모델 튜닝 파라미터를 채용하는 모델을 사용할 수 있다. 각각의 모델 튜닝 파라미터에 대하여, 테스트될 3개의 실행가능한 값이 존재할 수 있다. 이러한 실시예에서, 모델 튜닝 파라미터 값의 81개의 개별 조합이 존재한다. 따라서, (각각의 모델 튜닝 파라미터 값 조합에 대한) 81개의 CF 스코어가 머신 학습 엔진(102)에 동시에 공급될 수 있다.
상기의 붕괴 인자 예에서, ML 스코어를 생성하는데 CF 스코어의 각각에 부여되는 가중치는 적어도 부분적으로 머신 학습 엔진(102)에 의해 수신된 다른 입력에 기초한다. 도 3에서 지시된 바와 같이, 이들 다른 입력은 원 CF 입력(120), 원 CBF 입력(126), CBF 스코어(130) 및 임의의 수의 다른 입력(112)을 포함한다.
플렉시블 목적 함수
비디오-대-비디오 추천의 컨텍스트에 사용될 때, 머신 학습 엔진(102)은 이미 시청한 비디오(A)(비교 비디오)를 고려하여 사용자가 비디오(B)(타겟 비디오)를 시청할 확률을 예측하는 ML 스코어를 생성한다. 실제로, 발행인이 달성을 최적화하기를 원하는 다수의 목표가 존재한다. 목표의 예는, 제한되지 않지만,
· 전체 영화 시청 시간의 증가
· 각 사용자가 시청한 비디오의 수의 증가
· 사용자가 각 (추천된) 비디오를 시청하는데 소비한 총 분의 증가
· 각 비디오 시청으로부터의 광고 수입의 증가
· 범위(reach)의 증가
· 영화 당 수입(revenue)의 증가
이 도전을 처리하기 위하여, 예측이 초기에 몇 개의 개별 서브 컴포넌트에 반영되는 실시예가 제공된다. 컴포넌트는, 예를 들어,
· P(B│A) - 사용자가 자신이 시청한 A를 고려하여 B의 시청을 즐길 확률
· R(B) - B의 각 시청으로부터의 기대 수입(* 미래 작업)
· P(ad│u, B) - B를 시청하는 사용자(u)가 광고를 클릭할 확률
을 포함할 수 있다.
머신 학습 엔진을 이용하여 이들 컴포넌트의 각각에 대하여 스코어를 생성한 후에, 컴포넌트 스코어가 특정 목표 세트에 기초하여 결합되어 어떤 후보 비디오가 추천될지를 선택하는 기준으로서 사용되는 복합 ML 스코어를 생성할 수 있다.
도 4는 특정 목표(430)에 기초하여 복합 ML 스코어(440)를 생성하기 위하여 목표 기반 컴포넌트 결합기(410)에 의해 결합되는 ML 컴포넌트 스코어(404, 406, 408)를 생성하도록 훈련된 머신 학습 엔진(402)의 블록도이다. 이 예에서, ML 컴포넌트 스코어(404, 406, 408)는 상술한 목적 함수(P(B│A), R(B) 및 P(ad│u, B)에 대응할 수 있다. 복합 ML 스코어(440)를 생성할 때 목표 기반 컴포넌트 결합기(410)에 의해 각각의 컴포넌트 스코어에 부여되는 가중치는 목표 기반 컴포넌트 결합기(410)에 공급된 목표 정보(430)에 기초한다.
예를 들어, 목표(430)가 사용자 참여가 수입보다 상당히 중요하고 수입이 광고보다 약간 더 중요하다는 것을 나타내는 것으로 가정한다. 이러한 목표 정보(430)에 기초하여, 목표 기반 결합기(410)는 컴포넌트 스코어(404, 406, 408)에 각각 0.6, 0.25 및 0.15의 가중치를 부여할 수 있다.
머신 학습 엔진(402)이 단일 엔진으로서 도시되지만, 머신 학습 엔진(402)은 3개의 개별 엔진으로서 구현될 수 있고, 이들 개별 엔진은 상이한 ML 컴포넌트 스코어를 생성하도록 훈련된다. 컴포넌트 스코어의 실제 수 및 복합 ML 스코어(440)를 생성할 때 목표 기반 컴포넌트 결합기(410)가 이들 스코어에 가중치를 어떻게 부여하는지는 구현예에 따라 변경될 수 있다. 예를 들어, 단일 추천 시스템은 다수의 ML 컴포넌트 스코어를 생성할 수 있고, 이들 ML 컴포넌트 스코어의 각각은 상이한 목적 함수에 기초하여 예측을 반영한다. 목표 기반 컴포넌트 결합기(410)는 목표 정보(430)에 기초하여 다양한 방법으로 이들 ML 컴포넌트 스코어를 결합할 수 있다.
일 실시예에서, 목표 기반 컴포넌트 결합기(410)에는 다수의 목표 세트가 공급되고, 그러므로, 다수의 복합 ML 스코어를 생성한다. 이러한 실시예에서, 각각의 비디오 쌍 결합은 다수의 ML 스코어를 갖고, 비디오를 추천할지를 결정하는데 사용되는 실제 ML 스코어는 추천이 주어지는 시간에 시행되는 목표에 기초한다.
컴포넌트 스코어 간의 교대
소정의 목표 세트를 만족하는 추천을 제공하기 위하여, 어떤 후보 비디오를 추천할지를 결정하는 기준으로서 사용되는 복합 ML 스코어(440)에 컴포넌트 스코어가 결합될 수 있다. 다른 실시예에서, 복합 ML 스코어(440)가 생성되지 않는다. 대신, 추천을 제공할 때, 추천 시스템은 추천될 비디오를 결정하는 기준으로서 컴포넌트 스코어를 교대로 사용할 수 있다.
예를 들어, ML 컴포넌트 스코어(404, 406, 408)에 각각 0.6, 0.25 및 0.15의 가중치를 부여함으로써 복합 ML 스코어(440)를 생성하는 대신, 추천 시스템은 시간의 ML 컴포넌트 스코어(404)에 기초한 추천에 60%, 시간의 ML 컴포넌트 스코어(406)에 기초한 추천에 25% 및 시간의 컴포넌트 스코어(408)에 기초한 추천에 15%를 부여할 수 있다. 복합 ML 스코어(440)를 생성하는 실시예에서, ML 컴포넌트 스코어를 교대로 사용하는 실시예는 추천이 주어지는 시간에 시행되는 목표에 기초한다.
일 실시예에 따르면, ML 컴포넌트 스코어 사이에서 교대하는 패턴이 균일할 필요는 없다. 예를 들어, 추천 시스템은 사용자 중심의 근거에 기반하여 교대를 수행할 수 있고, 여기서, 사용자 참여를 예측하는 ML 컴포넌트 스코어에 기초하여 추천이 초기에 사용자에게 제공된다. 사용자 참여에 초점을 맞춘 몇 개의 추천이 사용자에게 제시된 후에만, 추천 시스템은 다른 목적 함수에 기초하여 수입 최대화 등의 임의의 추천을 제공한다. 수입 최대화 추천이 제시될 때 사용자의 거동이 사용자 참여가 특정 문턱값 아래로 떨어지는 것을 나타내면, 추천 시스템은 주로 또는 배타적으로 사용자 참여에 관련된 컴포넌트 스코어에 기초하는 추천을 제공하는 것으로 되돌아갈 수 있다.
제한된 탐사
일 실시예에 따르면, 비디오가 사용자에게 추천됨에 따라 사용자 거동이 캡쳐되고, 그 사용자 거동은 상술한 바와 같이 추천 시스템에 의해 사용되는 메타데이터를 업데이트하는데 사용된다. 그러나, 사용자에게 "최적의" 비디오 추천(예를 들어, 가장 높은 ML 스코어를 갖는 비디오)를 제시하는 한, "최적이 아닌" 추천에 사용자가 어떻게 반응했는지에 대한 거동 데이터는 수집되지 않는다. 최적이 아닌 추천에 대한 사용자 반응에 대한 정보의 수집 없이, 추천 시스템은 추천되지 않은 비디오가 추천되어야 했을 때 그 자체를 정정하는 어려움을 갖는다.
예를 들어, 비디오(A)가 비디오(B)의 시청자에게 큰 흥미가 있을 것으로 가정한다. 그러나, 비디오(A)에 대한 임의의 시청 이력의 부재로, 머신 학습 엔진(102)이 비디오 쌍(A 및 B)에 대한 낮은 ML 스코어를 생성하였다. 낮은 ML 스코어 때문에, 비디오(A)는 비디오(B)의 시청자에게 추천되지 않았고, 비디오(B)의 적은 수의 시청자가 비디오(A)를 보았다. 결과적으로, 비디오 쌍(A 및 B)에 대한 ML 스코어는 여전히 낮다.
이러한 문제점을 피하기 위하여, 거동 데이터는 사용자에게 최적이 아닌 추천을 주기적으로 제시함으로써 최적이 아닌 추천에 대하여 수집될 수 있다. 최적이 아닌 추천을 제시하는 것은 "탐사"라 하는데, 그 이유는 사용자에게 정상적으로 제시되는 비디오 세트 밖의 추천을 사용자에게 제시하기 때문이다. 그러나, 너무 많은 탐사 또는 잘못된 상황 하의 탐사는 사용자 경험을 수락가능하지 않은 정도로 저하시킬 수 있다.
그러므로, 일 실시예에 따르면, 추천 시스템은 탐사에 대하여 제한한다. 특히, 탐사는 비디오 추천 목표에 대하여 탐사가 부정적인 영향을 주는 것을 제한하는 방식으로 수행된다. 예를 들어, 추천 시스템은 주기적으로 사용자에게 추천될 비디오의 선택을 랜덤화할 수 있다. 그러나, 랜덤 선택은 랜덤 선택이 이루어지는 풀(pool)로부터 부정적인 영향이 소정의 문턱값보다 높을 것으로 예측되는 임의의 비디오를 배제함으로써 제한될 수 있다.
예를 들어, 탐사시, 랜덤 선택이 이루어지는 비디오의 풀은 비교 비디오에 대하여, 임의의 문턱값(X)보다 높은 CF 스코어, 임의의 문턱값(Y)보다 높은 CBF 스코어 또는 임의의 문턱값(Z)보다 높은 MF 스코어를 갖는 비디오만을 포함할 수 있다. 비디오의 선택 풀에 대한 특정 제한 규칙은 임의로 복합일 수 있다. 예를 들어, 비디오는 (임의의 붕괴 인자에 대한 CF 스코어>X) 또는 ML 컴포넌트 스코어 중의 임의의 것>Y) 및 (복합 ML 스코어>Z)이면 선택 풀의 자격을 얻을 수 있다.
일 실시예에 따르면, 멀티 암 밴디트 기술(multi-armed bandit techniques)이 비디오 추천에 의해 사용되어 현재의 목표 달성에 대한 탐사 선택 프로세스의 각각의 변수의 효과를 학습하고, 최소의 부정적 영향을 가질 것으로 예측되는 변수가 조절된다. 예를 들어, 엡실론 그리디(epsilon-greedy) 전략으로, ML 시스템(최상의 레버)에 의해 추천된 비디오는 시험(trial)의 부분(proportion)(1-ε)을 위해 선택되고, 다른 풀(랜덤, 트렌딩, 소정의 문턱값보다 높은 CBF 스코어)에 속하는 비디오가 부분(ε)을 위해 (균일한 확률로) 선택된다. 일반적인 파라미터 값은 ε=0.1이지만, 이것은 상황 및 매우 좋아함(predirections)에 따라 크게 달라질 수 있다.
런타임 성능 향상
다양한 런타임 성능 향상은 여기에 기재된 기술을 이용하여 비디오 추천을 제공할 때 이루어질 수 있다. 예를 들어, 임의의 실시예는 사용자 클릭 데이터(매우 작음)를 입력(비교적 거대)과 연결할 때 블룸필터(bloomfilter)를 이용하여 머신 학습 시스템으로의 훈련 입력을 생성할 수 있다. 특히, 일 실시예에서, 블룸 필터는 사용자 클릭 데이터를 이용하여 형성되고, 필터는 연관되지 않은 클릭 데이터를 갖지 않는 모든 관련되지 않은 CF 및 CBF 입력을 걸러내는데 사용된다. 이것은 특히 하둡(hadoop) 등의 데이터 처리 시스템에 유용하고, 여기서, 다양한 테이블에 대하여 인덱스가 형성되지 않는다.
비디오 추천 시스템에 의해 사용될 수 있는 다른 런타임 향상은 비대칭 연결(join)을 수반한다. 특히, CBF 입력 및 CF 입력을 연결할 때, 비대칭 연결은 새로운 콘텐츠에 대한 제한된 거동 데이터가 존재한다는 사실을 이용하는데 사용될 수 있다. 일 실시예에서, 입력은 생성되는 시간에 따라 상이한 버킷(bucket)으로 구성된다. 추천 시스템은 단지 CBF 입력을 마지막 몇 시간에 생성된 CF 입력과 연결한다. 이것은 머신 학습 시스템에 대한 훈련 및 테스트 데이터를 생성하는데 필요한 시간을 감소시킨다.
하드웨어 개요
일 실시예에 따르면, 여기에 기재된 기술은 하나 이상의 특수 목적 컴퓨팅 장치에 의해 구현된다. 특수 목적 컴퓨팅 장치는 하드웨어에 설치(hard-wired)되어 기술을 수행하거나 기술을 수행하도록 지속적으로 프로그래밍되는 하나 이상의 ASIC(application-specific integrated circuit) 또는 FPGA(field programmable gate array) 등의 디지털 전자 장치를 포함하거나 펌웨어, 메모리, 다른 저장장치 또는 그 조합으로 프로그램 명령에 따라 기술을 수행하도록 프로그래밍된 하나 이상의 범용 하드웨어 프로세서를 포함할 수 있다. 이러한 특수 목적 컴퓨팅 장치는 또한 하드와이어드 로직, ASIC, FPGA를 주문 프로그래밍과 결합하여 기술을 달성할 수 있다. 특수 목적 컴퓨팅 장치는 데스크탑 컴퓨터 시스템, 포터블 컴퓨터 시스템, 핸드헬드 장치, 네트워킹 장치 또는 하드와이어드 및/또는 프로그램 로직을 포함하여 기술을 구현하는 임의의 다른 장치일 수 있다.
예를 들어, 도 5는 본 발명의 실시예가 구현될 수 있는 컴퓨터 시스템(500)을 나타내는 블록도이다. 컴퓨터 시스템(500)은 버스(502) 또는 정보를 전달하는 다른 통신 메카니즘 및 정보를 처리하기 위하여 버스(502)에 결합된 하드웨어 프로세서(504)를 포함한다. 하드웨어 프로세서(504)는 예를 들어 범용 마이크로프로세서일 수 있다.
컴퓨터 시스템(500)은 또한 프로세서(504)에 의해 실행될 명령 및 정보를 저장하기 위하여 버스(502)에 결합된 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 장치 등의 메인 메모리(506)를 포함한다. 메인 메모리(506)는 또한 프로세서(504)에 의해 실행될 명령의 실행시 임시 변수 또는 다른 중간 정보를 저장하는데 사용될 수 있다. 이러한 명령은, 프로세서(504)에 액세스가능한 비일시적 저장 매체에 저장될 때, 컴퓨터 시스템(500)을 명령에 특정된 동작을 수행하도록 주문 제작된 특수 목적 머신으로 렌더링한다.
컴퓨터 시스템(500)은 또한 프로세서(504)에 대한 정적 정보 및 명령을 저장하기 위하여 버스(502)에 결합된 리드 온리 메모리(ROM)(508) 또는 다른 정적 저장 장치를 포함한다. 자기 디스크 또는 광 디스크 등의 저장 장치(510)는 정보 및 명령을 저장하기 위하여 제공되어 버스(502)에 결합된다.
컴퓨터 시스템(500)은 컴퓨터 사용자에게 정보를 디스플레이하기 위하여 버스(502)를 통해 CRT(cathode ray tube) 등의 디스플레이(512)에 결합될 수 있다. 프로세서(504)에 정보 및 명령 선택을 전달하기 위하여 알파벳 및 숫자 및 다른 키를 포함하는 입력 장치(514)가 버스(502)에 결합된다. 프로세서(504)로의 방향 정보 및 명령 선택을 전달하고 디스플레이(512) 상의 커서 이동을 제어하기 위한 다른 타입의 사용자 입력 장치는 마우스, 트랙볼, 또는 커서 방향 키 등의 커서 제어부(516)이다. 이 입력 장치는 일반적으로 2개의 축, 제1 축(예를 들어, x) 및 제2 축(예를 들어, y)에서 2 자유도를 갖고, 이는 장치가 평면에서의 위치를 특정하도록 한다.
컴퓨터 시스템(500)은 주문제작 하드와이어드 로직, 하나 이상의 ASIC 또는 FPGA, 펌웨어 및/또는 컴퓨터 시스템과 결합하여 컴퓨터 시스템(500)이 특수 목적 머신이 되도록 하거나 컴퓨터 시스템(500)을 프로그래밍하는 프로그램 로직을 이용하여 여기에 기재된 기술을 구현할 수 있다. 일 실시예에 따르면, 여기에 기재된 기술은 메인 메모리(506)에 포함되는 하나 이상의 명령의 하나 이상의 시퀀스를 프로세서(504)가 실행하는 것에 응답하여 컴퓨터 시스템(500)에 의해 수행된다. 이러한 명령은 저장 장치(510) 등의 다른 저장 매체로부터 메인 메모리(506)로 판독될 수 있다. 메인 메모리(506)에 포함된 명령의 시퀀스의 실행은 프로세서(504)가 여기에 기재된 프로세스 단계를 수행하도록 한다. 다른 실시예에서, 하드와이어드 회로는 소프트웨어 명령 대신 또는 그와 결합하여 사용될 수 있다.
여기에서 사용되는 용어 "저장 매체"는 머신이 특정 방식으로 동작하도록 하는 데이터 및/또는 명령을 저장하는 임의의 비일시적 매체를 지칭한다. 이러한 저장 장치는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는 예를 들어 저장 장치(510) 등의 광 또는 자기 디스크를 포함한다. 휘발성 매체는 메인 메모리(506) 등의 동적 메모리를 포함한다. 저장 매체의 공통 형태는 예를 들어 플로피 디스크, 플렉시블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광 데이터 저장 매체, 홀의 패턴을 갖는 임의의 물리적 매체, RAM, PROM 및 EPROM, FLASH-EPROM, NVRAM, 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체는 송신 매체와 별개이지만 그와 결합하여 사용될 수 있다. 송신 매체는 저장 매체 사이에서 정보를 전달하는데 참여한다. 예를 들어, 송신 매체는 버스(502)를 포함하는 와이어를 포함하는 동축 케이블, 구리 와이어 및 파이버 옵틱을 포함한다. 송신 매체는 또한 무선 및 적외선 데이터 통신 동안 생성된 것 등의 음향 및 광파의 형태를 취할 수 있다.
다양한 형태의 매체가 실행을 위해 프로세서(504)로 하나 이상의 명령의 하나 이상의 시퀀스를 전달하는데 참여할 수 있다. 예를 들어, 명령은 원격 컴퓨터의 자기 디스크 또는 솔리드 스테이트 드라이버 상에서 초기에 전달될 수 있다. 원격 컴퓨터는 명령을 자신의 동적 메모리로 로딩하고 모뎀을 이용하여 전화선을 통해 명령을 전송할 수 있다. 컴퓨터 시스템(500)에 로컬인 모뎀은 전화선 상에서 데이터를 수신하고 적외선 송신기를 이용하여 데이터를 적외선 신호로 변환할 수 있다. 적외선 검출기는 적외선 신호에서 전달되는 데이터를 수신하고 적절한 회로는 버스(502) 상에 데이터를 배치할 수 있다. 버스(502)는, 프로세서(504)가 명령을 검색하고 실행하는 메인 메모리(506)로 데이터를 전달한다. 메인 메모리(506)에 의해 수신된 명령은 프로세서(504)에 의해 실행되기 전 또는 후에 저장 장치(510)에 선택적으로 저장될 수 있다.
컴퓨터 시스템(500)은 또한 버스(502)에 결합된 통신 인터페이스(518)를 포함한다. 통신 인터페이스(518)는 로컬 네트워크(522)에 접속된 네트워크 링크(520)에 결합된 양방향 데이터 통신을 제공한다. 예를 들어, 통신 인터페이스(518)는 ISDN(integrated services digital network) 카드, 케이블 모뎀, 위성 모뎀 또는 대응하는 타입의 전화선에 데이터 통신 접속부를 제공하는 모뎀일 수 있다. 다른 예로서, 통신 인터페이스(518)는 호환가능한 LAN에 데이터 통신 접속부를 제공하는 LAN(local area network) 카드일 수 있다. 무선 링크가 또한 구현될 수 있다. 임의의 이러한 구현예에서, 통신 인터페이스(518)는 다양한 타입의 정보를 나타내는 디지털 데이터 스트림을 전달하는 전기, 전가기 또는 광 신호를 전송하고 수신한다.
네트워크 링크(520)는 일반적으로 하나 이상의 네트워크를 통해 다른 데이터 장치로 데이터를 전달한다. 예를 들어, 네트워크 링크(520)는 로컬 네크워크(522)를 통해 호스트 컴퓨터(524) 또는 인터넷 서비스 제공자(ISP)(526)에 의해 동작하는 데이터 장치에 접속부를 제공할 수 있다. ISP(526)는 공통으로 "인터넷"(528)이라 지칭하는 월드 와이드 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스를 제공한다. 로컬 네트워크(522) 및 인터넷(528)은 디지털 데이터 스트림을 전달하는 전기, 전자기 또는 광 신호를 이용한다. 컴퓨터 시스템(500)으로/으로부터 디지털 데이터를 전달하는 다양한 네트워크를 통한 신호 및 네트워크 링크(520) 상의 및 통신 인터페이스(518)를 통한 신호는 송신 매체의 예시적인 형태이다.
컴퓨터 시스템(500)은 네트워크(들), 네트워크 링크(520) 및 통신 인터페이스(518)를 통해 메시지를 전송하고 프로그램 코드를 포함하는 데이터를 수신할 수 있다. 인터넷 예에서, 서버(530)는 인터넷(528), ISP(526), 로컬 네트워크(522) 및 통신 인터페이스(518)를 통해 애플리케이션 프로그램에 대한 요청 코드를 송신한다.
수신된 코드는 수신된 대로 프로세서(504)에 의해 실행되거나 저장 장치(510) 또는 후속 실행을 위해 다른 비휘발성 저장장치에 저장될 수 있다.
상기 명세서에서, 본 발명의 실시예는 구현예에 따라 변경될 수 있는 수많은 특정 세부사항을 참조하여 설명하였다. 따라서, 명세서 및 도면은 제한적인 의미보다 설명하기 위한 것으로 간주된다. 본 발명의 범위의 유일하고 배타적인 지시기 및 출원인에 의해 본 발명의 범위 내에 있는 것으로 의도되는 것은, 임의의 후속 정정을 포함하여 이러한 청구범위가 발행된 특정 형태로 본 출원으로부터 발행된 청구범위의 세트의 기본적인 범위 및 동등 범위에 있다.

Claims (23)

  1. 후보 비디오 세트 내의 각각의 비디오에 대한 입력 피드(input feed)를 머신 학습 엔진에 제공함으로써 복수의 머신 학습(ML) 스코어를 생성하는 단계
    - 상기 후보 비디오 세트 내의 특정 비디오에 대한 입력 피드는 적어도
    복수의 사용자로부터 하나 이상의 메트릭에 적어도 부분적으로 기초하는 하나 이상의 원 협업 필터링 입력(raw collaborative filtering inputs);
    상기 하나 이상의 원 협업 필터링 입력에 기초하여 생성된 협업 필터링 스코어;
    비디오 콘텐츠 메타데이터에 적어도 부분적으로 기초하는 하나 이상의 원 콘텐츠 기반 필터링 입력; 및
    상기 하나 이상의 원 콘텐츠 기반 필터링 입력에 기초하여 생성된 콘텐츠 기반 필터링 스코어
    를 포함함 - ;
    상기 특정 비디오에 대한 ML 스코어를 생성할 때, 상기 머신 학습 엔진이 상기 협업 필터링 스코어를 생성하는 데 사용되는 상기 하나 이상의 원 협업 필터링 입력 및 상기 콘텐츠 기반 필터링 스코어를 생성하는 데 사용되는 상기 하나 이상의 원 콘텐츠 기반 필터링 입력에 적어도 부분적으로 기초하여 상기 협업 필터링 스코어 및 상기 콘텐츠 기반 필터링 스코어에 부여될 가중치들을 결정하는 단계; 및
    상기 ML 스코어들에 적어도 부분적으로 기초하여 상기 후보 비디오 세트로부터 특정 사용자에게 추천할 하나 이상의 비디오를 선택하는 단계
    를 포함하고,
    상기 방법은 하나 이상의 컴퓨팅 장치에 의해 수행되는 방법.
  2. 제1항에 있어서,
    상기 특정 비디오에 대한 입력 피드는 상기 특정 비디오 및 비교 비디오를 포함하는 비디오 쌍에 대한 비디오 쌍 중심 메트릭(video-pair-centric metrics)을 포함하고,
    상기 비디오 쌍 중심 메트릭은,
    상기 비교 비디오를 시청한 사용자가 상기 특정 비디오를 시청할 가능성을 예측하기 위한 하나 이상의 협업 필터링 메트릭; 및
    상기 비교 비디오의 상기 콘텐츠가 상기 특정 비디오와 얼마나 유사한 지를 나타내기 위한 하나 이상의 콘텐츠 기반 필터링 메트릭을 포함하며,
    상기 협업 필터링 메트릭은 상기 특정 비디오에 대한 상기 ML 스코어를 생성하는데 사용되는 상기 하나 이상의 원 협업 필터링 입력에 포함되고,
    상기 콘텐츠 기반 필터링 메트릭은 상기 특정 비디오에 대한 상기 ML 스코어를 생성하는데 사용되는 상기 하나 이상의 원 콘텐츠 기반 필터링 입력에 포함되는 방법.
  3. 제2항에 있어서, 상기 비디오 쌍의 협업 필터링 메트릭은 상기 비디오 쌍 내의 비디오 중의 하나 이상에 대한 사용자 흥미에 대한 새로운 지시를 검출하는 것에만 응답하여 업데이트되는 방법.
  4. 제2항에 있어서, 상기 비디오 쌍의 콘텐츠 기반 필터링 메트릭은 상기 비디오 쌍 내의 비디오 중의 하나 이상에 대한 비디오 메타데이터의 새로운 변화를 검출하는 것에만 응답하여 업데이트되는 방법.
  5. 제2항에 있어서,
    상기 비디오 쌍의 비디오 쌍 중심 메트릭은 특정 메트릭 세트를 포함하고,
    상기 특정 메트릭 세트는 상기 비디오 쌍이 특정 페어링 테스트를 만족하는 경우 그리고 그러한 경우에만 상기 비디오 쌍에 대하여 유지되는 방법.
  6. 제5항에 있어서, 상기 특정 메트릭 세트는 비디오 쌍 중심 메트릭의 전부를 포함하는 방법.
  7. 제5항에 있어서, 상기 특정 메트릭 세트는
    상기 비디오 쌍에 대한 협업 필터링 메트릭; 및
    상기 비디오 쌍에 대한 콘텐츠 기반 필터링 메트릭
    중 하나의 메트릭만을 포함하는 방법.
  8. 제7항에 있어서, 상기 페어링 테스트와는 다른 제2 페어링 테스트를 이용하여 상기 비디오 쌍에 대하여
    상기 비디오 쌍에 대한 협업 필터링 메트릭; 및
    상기 비디오 쌍에 대한 콘텐츠 기반 필터링 메트릭
    중 다른 하나의 메트릭을 유지할지를 결정하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 특정 비디오에 대한 입력 피드는 복수의 협업 필터링 스코어를 포함하고,
    상기 복수의 협업 필터링 스코어의 각각의 협업 필터링 스코어는 상기 복수의 협업 필터링 스코어의 다른 협업 필터링 스코어의 각각과 동일한 원 협업 필터링 입력들, 및 상이한 붕괴 인자(decay factor)에 기초하는 방법.
  10. 제1항에 있어서,
    상기 특정 비디오에 대하여 생성된 ML 스코어는 상기 특정 비디오에 대하여 상기 머신 학습 엔진에 의해 생성된 복수의 컴포넌트 스코어 중의 하나이고,
    상기 방법은 목표 정보에 기초하여 상기 복수의 컴포넌트 스코어를 결합하여 상기 특정 비디오에 대한 복합 ML 스코어를 생성하는 단계를 더 포함하는 방법.
  11. 제1항에 있어서,
    상기 특정 비디오에 대하여 생성된 ML 스코어는 상기 특정 비디오에 대하여 상기 머신 학습 엔진에 의해 생성된 복수의 컴포넌트 스코어 중의 하나이고,
    상기 방법은 상기 특정 사용자에게 어떤 비디오를 추천할지를 선택하기 위한 기준으로서 상기 복수의 컴포넌트 스코어 중 어느 컴포넌트 스코어들을 사용할지를 교번하는(alternating) 단계를 더 포함하는 방법.
  12. 후보 비디오 세트 내의 각각의 비디오에 대한 해당 입력 피드(input feed)를 머신 학습 엔진에 제공함으로써 복수의 머신 학습(ML) 스코어를 생성하는 단계 - 상기 후보 비디오 세트 내의 특정 비디오에 대응하는 입력 피드는 복수의 파라미터 값을 포함함 -;
    상기 ML 스코어들에 적어도 부분적으로 기초하여 상기 후보 비디오 세트로부터 특정 사용자에게 추천할 하나 이상의 비디오를 선택하는 단계 - 상기 특정 사용자에게 추천하기 위하여 선택된 상기 하나 이상의 비디오는 상기 특정 비디오를 포함함 -;
    상기 특정 비디오에 대하여, 상기 머신 학습 엔진이 상기 특정 비디오에 대한 ML 스코어를 생성할 때 상기 복수의 파라미터 값에 가중치를 부여한 방법에 기초하여 복수의 가능한 추천 이유로부터 추천 이유를 결정하는 단계;
    상기 특정 비디오의 추천과 관련하여 상기 추천 이유의 지시를 상기 특정 사용자에게 제시하게 하는 단계
    를 포함하는 방법으로서,
    상기 방법은 하나 이상의 컴퓨팅 장치에 의해 수행되는 방법.
  13. 후보 비디오 세트 내의 각각의 비디오에 대한 해당 입력 피드(input feed)를 머신 학습 엔진에 제공함으로써 복수의 머신 학습(ML) 스코어를 생성하는 단계 - 상기 후보 비디오 세트 내의 특정 비디오에 대응하는 입력 피드는 복수의 파라미터 값을 포함하고, 상기 복수의 파라미터 값은 제1 파라미터 값 세트 및 제2 파라미터 값 세트를 포함하고, 상기 제1 파라미터 값 세트는 특정 모델 튜닝 파라미터를 채용하는 모델에 기초하여 생성되고, 상기 제1 파라미터 값 세트는 상기 특정 모델 튜닝 파라미터에 대한 복수의 모델 튜닝 파라미터 값 중의 각각의 모델 튜닝 파라미터 값에 대하여 상기 모델 튜닝 파라미터 값에 기초한 적어도 하나의 파라미터 값을 포함하고, 상기 제2 파라미터 값 세트는 상기 모델 튜닝 파라미터와 독립적인 하나 이상의 파라미터 값을 포함하고, 상기 특정 비디오에 대한 ML 스코어를 생성할 때, 상기 머신 학습 엔진은 상기 제2 파라미터 값 세트 내의 파라미터 값에 적어도 부분적으로 기초하여 상기 제1 파라미터 값 세트 내의 각각의 파라미터 값에 얼마나 많은 가중치를 부여할지를 결정함 -;
    상기 ML 스코어들에 적어도 부분적으로 기초하여 상기 후보 비디오 세트로부터 특정 사용자에게 추천할 하나 이상의 비디오를 선택하는 단계
    를 포함하는 방법으로서,
    상기 방법은 하나 이상의 컴퓨팅 장치에 의해 수행되는 방법.
  14. 제13항에 있어서, 상기 특정 모델 튜닝 파라미터는 상기 모델에 의해 사용되는 붕괴 인자(decay factor)인 방법.
  15. 제13항에 있어서, 상기 특정 모델 튜닝 파라미터는 상기 모델에 의해 사용되는 오즈비 컷오프(odds-ratio cut off)인 방법.
  16. 제13항에 있어서, 상기 특정 모델 튜닝 파라미터는 상기 모델에 의해 사용되는 정규화 인자인 방법.
  17. 제13항에 있어서,
    상기 모델은 복수의 모델 튜닝 파라미터를 이용하고,
    상기 제1 파라미터 값 세트 내의 각각의 파라미터 값은 상기 복수의 모델 튜닝 파라미터에 대한 모델 튜닝 파라미터 값들의 개별 조합에 기초하는 방법.
  18. 제1항에 있어서,
    사용자들이 최근에 상호작용한 비디오들을 나타내는 거동 데이터에 기초하여 블룸필터(bloomfilter)를 형성하는 단계; 및
    상기 블룸필터를 이용하여 사용자들이 최근 상호작용한 비디오들과 관련되지 않은 협업 필터링 입력들 및 콘텐츠 기반 필터링 입력들을 걸러냄으로써 상기 머신 학습 시스템에 대한 훈련 입력을 생성하는 단계를 더 포함하는 방법.
  19. 제1항에 있어서, 상기 협업 필터링 입력들과의 상기 콘텐츠 기반 필터링 입력들의 비대칭 연결을 수행하여 상기 콘텐츠 기반 필터링 입력들이 임계 기간 내에 생성된 협업 필터링 입력들과만 연결되도록 하는 단계를 더 포함하는 방법.
  20. 제1항에 있어서, 상기 ML 스코어들에 적어도 부분적으로 기초하여 후보 비디오들을 풀(pool)들로 조직화하고 멀티 암 밴디트 기술(multi-armed bandit technique)를 이용하여 상기 풀들로부터 추천될 비디오들을 선택함으로써 제한된 탐사(constrained exploration)를 수행하는 단계를 더 포함하는 방법.
  21. 제20항에 있어서, 상기 멀티 암 밴디트 기술은 엡실론-그리디 전략(epsilon-greedy strategy)을 수반하는 방법.
  22. 하나 이상의 프로세서에 의해 실행될 때 제1항 내지 제21항 중 어느 한 항에 기재된 방법을 수행하게 하는 명령어들을 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 매체.
  23. 제1항 내지 제21항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 하나 이상의 컴퓨팅 장치를 포함하는 시스템.
KR1020147026127A 2012-02-21 2013-02-21 콘텐츠 자동 추천 KR101624246B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/401,098 US8260117B1 (en) 2011-07-26 2012-02-21 Automatically recommending content
US13/401,098 2012-02-21
PCT/US2013/027162 WO2013126589A1 (en) 2012-02-21 2013-02-21 Automatically recommending content

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167013256A Division KR101941757B1 (ko) 2012-02-21 2013-02-21 콘텐츠 자동 추천

Publications (2)

Publication Number Publication Date
KR20140135207A KR20140135207A (ko) 2014-11-25
KR101624246B1 true KR101624246B1 (ko) 2016-05-25

Family

ID=49006205

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167013256A KR101941757B1 (ko) 2012-02-21 2013-02-21 콘텐츠 자동 추천
KR1020147026127A KR101624246B1 (ko) 2012-02-21 2013-02-21 콘텐츠 자동 추천

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167013256A KR101941757B1 (ko) 2012-02-21 2013-02-21 콘텐츠 자동 추천

Country Status (13)

Country Link
EP (1) EP2817970B1 (ko)
JP (2) JP5926823B2 (ko)
KR (2) KR101941757B1 (ko)
CN (2) CN108040294B (ko)
AU (2) AU2013222416B2 (ko)
BR (1) BR112014020459B1 (ko)
CA (1) CA2865079C (ko)
CO (1) CO7071100A2 (ko)
HK (1) HK1205391A1 (ko)
IN (1) IN2014DN07244A (ko)
MX (1) MX353434B (ko)
SG (2) SG11201405084SA (ko)
WO (1) WO2013126589A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210124709A (ko) * 2020-04-07 2021-10-15 주식회사 엘지유플러스 심층 학습에 기반한 실시간 프로그램 추천 방법 및 장치
KR20210136432A (ko) * 2020-05-07 2021-11-17 주식회사 엘지유플러스 심층 학습에 기반한 추천 컨텐츠의 자동 재생 여부 판단 방법 및 장치
KR20220033943A (ko) * 2020-09-10 2022-03-17 주식회사 엘지유플러스 Vod 컨텐츠 추천 방법 및 장치

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5832502B2 (ja) * 2013-10-15 2015-12-16 Necパーソナルコンピュータ株式会社 情報処理装置、方法及びプログラム
CN105472413B (zh) * 2015-11-19 2018-09-04 广州创维平面显示科技有限公司 电视频道排序方法、系统及服务器
CN105898423A (zh) * 2015-12-08 2016-08-24 乐视网信息技术(北京)股份有限公司 视频推送方法、系统及服务器
US10270839B2 (en) * 2016-03-29 2019-04-23 Snap Inc. Content collection navigation and autoforwarding
US10390082B2 (en) 2016-04-01 2019-08-20 Oath Inc. Computerized system and method for automatically detecting and rendering highlights from streaming videos
US10003847B2 (en) 2016-04-22 2018-06-19 Google Llc Watch-time clustering for improving video searches, selection and provision
US10430661B2 (en) * 2016-12-20 2019-10-01 Adobe Inc. Generating a compact video feature representation in a digital medium environment
US20180336645A1 (en) * 2017-05-22 2018-11-22 Google Inc. Using machine learning to recommend live-stream content
KR102384215B1 (ko) * 2017-08-01 2022-04-07 삼성전자주식회사 전자 장치 및 그의 제어방법
US11972327B2 (en) 2017-08-25 2024-04-30 Samsung Electronics Co., Ltd. Method for automating actions for an electronic device
CN108769730B (zh) * 2018-05-21 2021-09-03 腾讯科技(深圳)有限公司 视频的播放方法、装置、计算设备以及存储介质
US10896620B2 (en) * 2018-06-07 2021-01-19 Microsoft Technology Licensing, Llc Programmable interface for automated learning refreshers
US11301513B2 (en) 2018-07-06 2022-04-12 Spotify Ab Personalizing explainable recommendations with bandits
CN109218801B (zh) * 2018-08-15 2021-12-03 咪咕视讯科技有限公司 一种信息处理方法、装置及存储介质
CN109168044B (zh) * 2018-10-11 2021-07-23 北京奇艺世纪科技有限公司 一种视频特征的确定方法及装置
US10812853B2 (en) 2018-10-23 2020-10-20 At&T Intellecutal Property I, L.P. User classification using a remote control detail record
CN111666484B (zh) * 2019-03-07 2023-10-13 腾讯科技(深圳)有限公司 内容推送方法、推送装置及计算机可读存储介质
US11100560B2 (en) * 2019-03-19 2021-08-24 Stitch Fix, Inc. Extending machine learning training data to generate an artificial intelligence recommendation engine
CN110996177B (zh) * 2019-11-27 2022-04-22 北京爱奇艺智慧娱乐科技有限公司 面向点播影院的视频推荐方法、装置及设备
CN113038283B (zh) * 2019-12-25 2022-11-18 北京达佳互联信息技术有限公司 视频推荐方法、装置和存储介质
CN111708964B (zh) * 2020-05-27 2023-06-20 北京百度网讯科技有限公司 多媒体资源的推荐方法、装置、电子设备和存储介质
CN114079826B (zh) * 2020-08-14 2023-11-28 北京达佳互联信息技术有限公司 视频推荐列表生成方法、装置、服务器及存储介质
KR20220141854A (ko) * 2020-09-16 2022-10-20 구글 엘엘씨 디지털 비디오 분석
CN112949703A (zh) * 2021-02-23 2021-06-11 广州市百果园信息技术有限公司 视频召回方法、装置及电子设备
CN113015010B (zh) * 2021-03-16 2022-07-26 杭州网易云音乐科技有限公司 推送参数确定方法、装置、设备及计算机可读存储介质
CN113239230B (zh) * 2021-03-19 2024-05-17 北京达佳互联信息技术有限公司 业务推荐方法、行为数据增量预测模型生成方法和装置
US11962857B2 (en) * 2021-12-10 2024-04-16 On24, Inc. Methods, systems, and apparatuses for content recommendations based on user activity
CN114363660B (zh) * 2021-12-24 2023-09-08 腾讯科技(武汉)有限公司 视频合集确定方法、装置、电子设备及存储介质
US11895372B1 (en) * 2022-08-05 2024-02-06 Roku, Inc. Rendering a dynamic endemic banner on streaming platforms using content recommendation systems and content modeling for user exploration and awareness

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001015449A1 (en) * 1999-08-20 2001-03-01 Singularis S.A. Method and apparatus for creating recommendations from users profile built interactively
US20020174429A1 (en) * 2001-03-29 2002-11-21 Srinivas Gutta Methods and apparatus for generating recommendation scores

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5934900A (en) * 1999-07-16 2001-02-05 Agentarts, Inc. Methods and system for generating automated alternative content recommendations
AUPQ246899A0 (en) * 1999-08-26 1999-09-16 Memetrics An automated communications management agent
AU2262601A (en) * 1999-12-21 2001-07-03 Tivo, Inc. Intelligent system and methods of recommending media content items based on userpreferences
JP2001282838A (ja) * 2000-03-31 2001-10-12 Kyocera Communication Systems Co Ltd コンテンツ推奨システム
US7441260B1 (en) * 2000-09-20 2008-10-21 Koninklijke Philips Electronics, N.V. Television program recommender with automatic identification of changing viewer preferences
EP1223757B1 (en) * 2001-01-09 2006-03-22 Metabyte Networks, Inc. System, method, and software application for targeted advertising via behavioral model clustering, and preference programming based on behavioral model clusters
JP2002342375A (ja) * 2001-05-21 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> 情報間関係定義方法及び監視サーバ及び情報間関係定義プログラム及び情報間関係定義プログラムを格納した記憶媒体
JP4098539B2 (ja) * 2002-03-15 2008-06-11 富士通株式会社 プロファイル情報の推薦方法、プログラム及び装置
US7171620B2 (en) * 2002-07-24 2007-01-30 Xerox Corporation System and method for managing document retention of shared documents
KR20060063779A (ko) * 2003-04-03 2006-06-12 세드나 페이턴트 서비시즈, 엘엘씨 컨텐츠 통보 및 전달
JP4305862B2 (ja) * 2004-07-09 2009-07-29 日本ビクター株式会社 番組順位付け装置、番組順位付け方法、及び番組順位付けプログラム
US9201979B2 (en) * 2005-09-14 2015-12-01 Millennial Media, Inc. Syndication of a behavioral profile associated with an availability condition using a monetization platform
JP2008167019A (ja) * 2006-12-27 2008-07-17 Toshiba Corp 録画再生装置
KR100925511B1 (ko) * 2008-03-24 2009-11-06 에스케이커뮤니케이션즈 주식회사 협업필터링을 이용한 컨텐츠 분류 방법 및 시스템
CN101271559A (zh) * 2008-05-16 2008-09-24 华东师范大学 一种基于用户局部兴趣挖掘的协作推荐系统
JP2009284103A (ja) * 2008-05-20 2009-12-03 Nippon Telegr & Teleph Corp <Ntt> 映像視聴履歴取得装置及び方法及びプログラム
KR100997028B1 (ko) * 2008-05-30 2010-11-25 성균관대학교산학협력단 컨텐츠의 최대 재생 시간과 사용자의 시청시간 혹은청취시간을 고려하는 관심 정보 추천 시스템 및 그 방법
JP2010067175A (ja) * 2008-09-12 2010-03-25 Toshiba Corp ハイブリッド型コンテンツ推薦サーバ、推薦システムおよび推薦方法
JP5173856B2 (ja) * 2009-01-13 2013-04-03 株式会社東芝 コンテンツ推薦装置およびコンテンツ推薦方法
US9215423B2 (en) * 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
GB2472224A (en) * 2009-07-29 2011-02-02 Amino Holdings Ltd Analysing consumption of transmitted audio visual content via weighted tags
JP2011175362A (ja) * 2010-02-23 2011-09-08 Sony Corp 情報処理装置、重要度算出方法及びプログラム
JP5440394B2 (ja) * 2010-05-31 2014-03-12 ソニー株式会社 評価予測装置、評価予測方法、及びプログラム
CN102263992A (zh) * 2011-08-08 2011-11-30 上海文广互动电视有限公司 基于用户收视记录的节目推荐度估计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001015449A1 (en) * 1999-08-20 2001-03-01 Singularis S.A. Method and apparatus for creating recommendations from users profile built interactively
US20020174429A1 (en) * 2001-03-29 2002-11-21 Srinivas Gutta Methods and apparatus for generating recommendation scores

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Y. Jin, M. Hu, H. Singh, D. Rule, M. Berlyant and Z. Xie, "MySpace Video Recommendation with Map-Reduce on Qizmt", 2010 IEEE International Conference on Semantic Computing, pp.126-133(2010.09.)*

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210124709A (ko) * 2020-04-07 2021-10-15 주식회사 엘지유플러스 심층 학습에 기반한 실시간 프로그램 추천 방법 및 장치
KR102357360B1 (ko) * 2020-04-07 2022-01-27 주식회사 엘지유플러스 심층 학습에 기반한 실시간 프로그램 추천 방법 및 장치
KR20210136432A (ko) * 2020-05-07 2021-11-17 주식회사 엘지유플러스 심층 학습에 기반한 추천 컨텐츠의 자동 재생 여부 판단 방법 및 장치
KR102361593B1 (ko) * 2020-05-07 2022-02-09 주식회사 엘지유플러스 심층 학습에 기반한 추천 컨텐츠의 자동 재생 여부 판단 방법 및 장치
KR20220033943A (ko) * 2020-09-10 2022-03-17 주식회사 엘지유플러스 Vod 컨텐츠 추천 방법 및 장치
KR102391644B1 (ko) 2020-09-10 2022-04-27 주식회사 엘지유플러스 Vod 컨텐츠 추천 방법 및 장치

Also Published As

Publication number Publication date
SG10201601514XA (en) 2016-04-28
JP2016167290A (ja) 2016-09-15
AU2013222416A1 (en) 2014-09-11
KR20140135207A (ko) 2014-11-25
EP2817970A4 (en) 2015-04-29
MX2014010107A (es) 2016-09-06
KR101941757B1 (ko) 2019-01-23
WO2013126589A1 (en) 2013-08-29
EP2817970A1 (en) 2014-12-31
SG11201405084SA (en) 2014-10-30
CN108040294B (zh) 2020-10-23
JP2015513736A (ja) 2015-05-14
IN2014DN07244A (ko) 2015-04-24
CN104247441A (zh) 2014-12-24
CO7071100A2 (es) 2014-09-30
AU2016202425A1 (en) 2016-05-12
AU2016202425B2 (en) 2018-04-05
EP2817970B1 (en) 2022-12-21
CA2865079A1 (en) 2013-08-29
MX353434B (es) 2018-01-12
CN104247441B (zh) 2018-01-09
CA2865079C (en) 2017-02-28
HK1205391A1 (en) 2015-12-11
JP6227704B2 (ja) 2017-11-08
KR20160064234A (ko) 2016-06-07
BR112014020459B1 (pt) 2022-12-27
CN108040294A (zh) 2018-05-15
JP5926823B2 (ja) 2016-05-25
AU2013222416B2 (en) 2016-02-04
BR112014020459A2 (pt) 2017-06-20

Similar Documents

Publication Publication Date Title
KR101624246B1 (ko) 콘텐츠 자동 추천
US8260117B1 (en) Automatically recommending content
Yin et al. Social influence-based group representation learning for group recommendation
US9402101B2 (en) Content presentation method, content presentation device, and program
US8775354B2 (en) Evaluating an item based on user reputation information
CN111708901B (zh) 多媒体资源推荐方法、装置、电子设备及存储介质
KR100908822B1 (ko) 미디어 컨텐트를 추천하기 위해 사용될 에이전트들을생성하는 방법
KR101061234B1 (ko) 정보처리 장치와 방법, 및 기록 매체
Rappaz et al. Recommendation on live-streaming platforms: Dynamic availability and repeat consumption
Park et al. RecTime: Real-time recommender system for online broadcasting
Garanayak et al. Recommender system using item based collaborative filtering (CF) and K-means
CN114339417A (zh) 一种视频推荐的方法、终端设备和可读存储介质
CN115455280A (zh) 一种推荐列表确定方法和服务器
Fazelnia et al. Variational user modeling with slow and fast features
US20210200799A1 (en) System and method for improved content discovery
JP6823170B2 (ja) コンテンツストリームにおける中断期間の予測
Hölbling et al. Content-based tag generation to enable a tag-based collaborative tv-recommendation system.
Wit Evaluating recommender systems: an evaluation framework to predict user satisfaction for recommender systems in an electronic programme guide context
Andrade et al. Novel hybrid approach to content recommendation based on predicted profiles
KR20190044592A (ko) 동적인 다차원 분석 기반의 광고 추천 장치 및 방법
Wuytens Detecting relevant context parameters and
Cao et al. Consistent music recommendation in heterogeneous pervasive environment
CN116910378A (zh) 视频推荐系统、方法及计算机存储介质
De Pessemier Improved online services by personalized recommendations and optimal quality of experience parameters

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 4