KR102281863B1 - 머신 학습을 이용한 라이브-스트림 콘텐츠의 추천 - Google Patents

머신 학습을 이용한 라이브-스트림 콘텐츠의 추천 Download PDF

Info

Publication number
KR102281863B1
KR102281863B1 KR1020197032053A KR20197032053A KR102281863B1 KR 102281863 B1 KR102281863 B1 KR 102281863B1 KR 1020197032053 A KR1020197032053 A KR 1020197032053A KR 20197032053 A KR20197032053 A KR 20197032053A KR 102281863 B1 KR102281863 B1 KR 102281863B1
Authority
KR
South Korea
Prior art keywords
live
user
stream media
training
media items
Prior art date
Application number
KR1020197032053A
Other languages
English (en)
Other versions
KR20190132476A (ko
Inventor
토마스 프라이스
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020217023031A priority Critical patent/KR102405115B1/ko
Publication of KR20190132476A publication Critical patent/KR20190132476A/ko
Application granted granted Critical
Publication of KR102281863B1 publication Critical patent/KR102281863B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • H04L51/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • 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
    • H04N21/252Processing of multiple end-users' preferences to derive collaborative data
    • 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/4661Deriving a combined profile for a plurality of end-users of the same client, e.g. for family members within a home
    • 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/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

라이브-스트림 미디어 아이템을 콘텐츠 공유 플랫폼의 사용자에게 추천하기 위해 머신 학습 모델을 트레이닝하기 위한 시스템 및 방법이 개시된다. 일 구현에서, 머신 학습 모델에 대한 트레이닝 데이터는 제1 사용자 클러스터들의 사용자들에 의해 소비된 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 포함하는 제1 트레이닝 입력을 생성함으로써 생성된다. 트레이닝 데이터는 또한 제2 사용자 클러스터들의 사용자들에 의해 현재 소비되고 있는 하나 이상의 현재 제시되는 라이브-스트림 미디어 아이템을 포함하는 제2 트레이닝 입력을 생성하는 것을 포함한다. 트레이닝 데이터는 또한 라이브-스트림 미디어 아이템, 및 사용자가 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별하는 제1 타겟 출력을 생성하는 것을 포함한다. 이 방법은 머신 학습 모델을 트레이닝하기 위한 트레이닝 데이터를 제공하는 단계를 포함한다.

Description

머신 학습을 이용한 라이브-스트림 콘텐츠의 추천
본 개시내용의 양태들 및 구현들은 콘텐츠 공유 플랫폼들에 관한 것이며, 보다 구체적으로는 라이브-스트림 미디어 아이템들에 대한 추천들을 생성하는 것에 관한 것이다.
인터넷을 통해 접속하는 소셜 네트워크들은 사용자들이 서로 접속하고 정보를 공유하는 것을 허용한다. 많은 소셜 네트워크들은 사용자들이 비디오 아이템들, 이미지 아이템들, 오디오 아이템들 등과 같은 콘텐츠를 업로드, 뷰, 및 공유하게 하는 콘텐츠 공유 양태를 포함한다. 소셜 네트워크의 다른 사용자들은 공유 콘텐츠에 관하여 의견을 말하고, 새로운 콘텐츠를 발견하고, 업데이트들을 찾아내고, 콘텐츠를 공유하고, 아니면 제공된 콘텐츠와 상호작용할 수 있다. 공유된 콘텐츠는 전문 콘텐츠 생성자들로부터의 콘텐츠, 예를 들면, 영화 클립들, TV 클립들, 및 뮤직 비디오 아이템들뿐만 아니라, 아마추어 콘텐츠 생성자들로부터의 콘텐츠, 예를 들면, 비디오 블로깅 및 짧은 오리지널 비디오 아이템들을 포함할 수 있다.
이하에서는 본 개시내용의 일부 양태들의 기본적인 이해를 제공하기 위해서 본 개시내용의 단순화된 요약을 제공한다. 이 요약은 본 개시내용에 대한 광범위한 개관은 아니다. 이것은, 본 개시내용의 주요한 또는 결정적인 요소들을 식별하기 위한 것도 아니며, 본 개시내용의 특정한 구현들의 임의의 범위 또는 청구항들의 임의의 범위를 기술하기 위한 것도 아니다. 그 유일한 목적은 이후에 제시되는 더 상세한 설명에 대한 서론으로서 본 개시내용의 일부 개념들을 단순화된 형태로 제시하기 위한 것이다.
일 구현에서, 이 방법은 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 단계를 포함한다. 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 단계는 하나 이상의 이전에 제시된 미디어 아이템, 예를 들어 콘텐츠 공유 플랫폼 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 소비된 이전에 제시된 라이브-스트림 미디어 아이템들을 포함하는 제1 트레이닝 입력을 생성하는 단계를 포함한다. 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 단계는 또한 현재 제시되는 미디어 아이템들, 예를 들어 콘텐츠 공유 플랫폼 상에서 제2 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 현재 제시되는 라이브-스트림 미디어 아이템들을 포함하는 제2 트레이닝 입력을 생성하는 단계를 포함한다. 이 방법은 제1 트레이닝 입력 및 제2 트레이닝 입력에 대한 제1 타겟 출력을 생성하는 단계를 포함한다. 제1 타겟 출력은 미디어 아이템, 예를 들어 라이브-스트림 미디어 아이템, 및 사용자가 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별한다. 이 방법은 또한 (i) 제1 트레이닝 입력 및 제2 트레이닝 입력을 포함하는 트레이닝 입력들의 세트 및 (ii) 제1 타겟 출력을 포함하는 타겟 출력들의 세트에 대해 머신 학습 모델을 트레이닝하기 위한 트레이닝 데이터를 제공하는 단계를 포함한다. 일단 머신 학습 모델이 트레이닝되었다면, 이것은 라이브-스트림 미디어 아이템의 전송 동안(즉, 라이브-스트림 미디어 아이템의 전송이 완료되는 것을 기다릴 필요 없이), 라이브-스트림 미디어 아이템을 분류하는데 이용될 수 있다.
다른 구현에서, 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 단계는 또한 콘텐츠 공유 플랫폼 상에서 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 제1 복수의 사용자 클러스터의 사용자들에 의한 사용자 액세스들과 연관된 제1 컨텍스트 정보를 포함하는 제3 트레이닝 입력을 생성하는 단계를 포함한다. 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 단계는 또한 콘텐츠 공유 플랫폼 상에서 현재 제시되는 라이브-스트림 미디어 아이템들을 소비하고 있는 제2 복수의 사용자 클러스터의 사용자들에 의한 사용자 액세스들과 연관된 제2 컨텍스트 정보를 포함하는 제4 트레이닝 입력을 생성하는 단계를 포함한다. 이 방법은 (i) 제1, 제2, 제3 및 제4 트레이닝 입력을 포함하는 트레이닝 입력들의 세트 및 (ii) 제1 타겟 출력을 포함하는 타겟 출력들의 세트에 대해 머신 학습 모델을 트레이닝하기 위한 트레이닝 데이터를 제공하는 단계를 포함한다.
일 구현에서, 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 단계는 콘텐츠 공유 플랫폼 상에서 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 제1 복수의 사용자 클러스터의 사용자들과 연관된 제1 사용자 정보를 포함하는 제5 트레이닝 입력을 생성하는 단계를 포함한다. 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 단계는 콘텐츠 공유 플랫폼 상에서 현재 제시되는 라이브-스트림 미디어 아이템들을 소비하고 있는 제2 복수의 사용자 클러스터의 사용자들과 연관된 제2 사용자 정보를 포함하는 제6 트레이닝 입력을 생성하는 단계를 포함한다. 이 방법은 또한 (i) 제1, 제2, 제5, 및 제6 트레이닝 입력을 포함하는 트레이닝 입력들의 세트, 및 (ii) 제1 타겟 출력을 포함하는 타겟 출력들의 세트에 대해 머신 학습 모델을 트레이닝하기 위한 트레이닝 데이터를 제공하는 단계를 포함한다.
일 구현에서, 트레이닝 입력들의 세트의 각각의 트레이닝 입력은 머신 학습 모델을 트레이닝하는데 이용되는 트레이닝 데이터에서 타겟 출력들의 세트 내의 각각의 타겟 출력과 연관된다(예를 들어, 이에 매핑된다).
일 구현에서, 제1 트레이닝 입력은 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템 중 제1 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 제1 복수의 사용자 클러스터 중 제1 사용자 클러스터를 포함하고, 제1 이전에 제시된 라이브-스트림 미디어 아이템은 제1 사용자 클러스터에게 라이브 스트리밍되었던 것이다.
일 구현에서, 제1 트레이닝 입력은 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템 중 제2 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 제1 복수의 사용자 클러스터 중 제2 사용자 클러스터를 포함하고, 제2 이전에 제시된 라이브-스트림 미디어 아이템은 라이브 스트리밍된 후에 제2 사용자 클러스터에게 제시되었던 것이다.
일 구현에서, 제1 트레이닝 입력은 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템 중 상이한 이전에 제시된 라이브-스트림 미디어 아이템들을 소비한 제1 복수의 사용자 클러스터 중 제3 사용자 클러스터를 포함하고, 상이한 이전에 제시된 라이브-스트림 미디어 아이템들은 제3 사용자 클러스터에게 라이브 스트리밍되었고 후속하여 라이브-스트림 미디어 아이템들의 유사한 카테고리로 분류되었던 것이다.
일 구현에서, 이 방법은 또한 콘텐츠 공유 플랫폼에의 사용자에 의한 사용자 액세스의 표시를 수신한다. 이 방법은 머신 학습 모델에 의해, 테스트 라이브-스트림 미디어 아이템, 및 사용자가 테스트 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별하는 테스트 출력을 생성한다. 이 방법은 사용자에게 테스트 라이브-스트림 미디어 아이템의 추천을 추가로 제공한다. 이 방법은 추천을 고려하여 사용자에 의한 테스트 라이브-스트림 미디어 아이템의 소비의 표시를 수신한다. 사용자에 의한 테스트 라이브-스트림 미디어 아이템의 소비의 표시에 응답하여, 이 방법은 소비의 표시에 기반하여 머신 학습 모델을 조정한다.
일 구현에서, 머신 학습 모델은 콘텐츠 공유 플랫폼에의 새로운 사용자에 의한 새로운 사용자 액세스를 처리하고, (i) 현재 라이브-스트림 미디어 아이템, 및 (ii) 새로운 사용자가 현재 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 표시하는 하나 이상의 출력을 생성하도록 구성된다.
상이한 구현에서, 미디어 아이템, 예를 들어 라이브-스트림 미디어 아이템을 추천하기 위한 방법이 개시된다. 이 방법은 콘텐츠 공유 플랫폼에의 사용자에 의한 사용자 액세스의 표시를 수신하는 단계를 포함한다. 사용자 액세스에 응답하여, 이 방법은 콘텐츠 공유 플랫폼에의 사용자 액세스와 연관된 컨텍스트를 포함하는 제1 입력, 콘텐츠 공유 플랫폼에의 사용자 액세스와 연관된 사용자 정보를 포함하는 제2 입력, 및 사용자 액세스와 동시에 제공되고 콘텐츠 공유 플랫폼 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 미디어 아이템들(예를 들어, 사용자 액세스와 동시에 라이브 스트리밍되는 라이브-스트림 미디어 아이템들)을 포함하는 제3 입력을 트레이닝된 머신 학습 모델에게 제공한다. 이 방법은 또한 트레이닝된 머신 학습 모델로부터, (i) 예를 들어 라이브-스트림 미디어 아이템들일 수 있는 복수의 미디어 아이템, 및 (ii) 사용자가 복수의 미디어 아이템의 각각의 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별하는 하나 이상의 출력을 획득한다.
다른 구현에서, 이 방법은 사용자가 복수의 라이브-스트림 미디어 아이템의 각각의 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 고려하여 콘텐츠 공유 플랫폼의 사용자에게 복수의 라이브-스트림 미디어 아이템 중 하나 이상에 대한 추천을 제공한다.
일 구현에서, 콘텐츠 공유 플랫폼의 사용자에게 복수의 라이브-스트림 미디어 아이템 중 하나 이상에 대한 추천을 제공함에 있어서, 이 방법은 복수의 라이브-스트림 미디어 아이템 각각과 연관된 신뢰도 레벨이 임계 레벨을 초과하는지 여부를 결정한다. 복수의 라이브-스트림 미디어 아이템 중 하나 이상과 연관된 신뢰도 레벨이 임계 레벨을 초과한다고 결정하는 것에 응답하여, 이 방법은 복수의 라이브-스트림 미디어 아이템 중 하나 이상의 각각에 대한 추천을 사용자에게 제공한다.
일 구현에서, 트레이닝된 머신 학습 모델은 콘텐츠 공유 플랫폼 상에서 제2 복수의 사용자 클러스터의 사용자들에 의해 소비된 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 포함하는 제1 트레이닝 입력을 이용하여 트레이닝되었던 것이다.
일 구현에서, 제1 트레이닝 입력은 제1 사용자 클러스터의 사용자들에게 라이브 스트리밍되었던 제1 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 제2 복수의 사용자 클러스터 중 제1 사용자 클러스터를 포함한다.
일 구현에서, 제1 트레이닝 입력은 라이브 스트리밍된 후에 제2 사용자 클러스터의 사용자들에게 제시되었던 제2 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 제2 복수의 사용자 클러스터 중 제2 사용자 클러스터를 포함한다.
일 구현에서, 제1 트레이닝 입력은 제3 사용자 클러스터의 사용자들에게 라이브 스트리밍되었고 후속하여 라이브-스트림 미디어 아이템들의 유사한 카테고리로 분류되었던 상이한 이전에 제시된 라이브-스트림 미디어 아이템들을 소비한 제2 복수의 사용자 클러스터 중 제3 사용자 클러스터를 포함한다.
일 구현에서, 라이브-스트림 미디어 아이템은 라이브-스트림 비디오 아이템이다.
추가 구현들에서, 전술된 구현들의 동작들을 수행하기 위한 하나 이상의 처리 디바이스가 개시된다. 추가 구현들에서, 시스템이 개시되며, 이 시스템은 메모리, 및 전술된 구현들 중 임의의 하나에 따른 방법을 포함하는 동작들을 수행하기 위한, 메모리에 결합된 처리 디바이스를 포함한다. 추가 구현들에서, 시스템이 개시되며, 이 시스템은 메모리, 메모리에 결합된 처리 디바이스 및 컴퓨터 판독가능한 저장 매체를 포함하고, 이 컴퓨터 판독가능한 저장 매체는, 실행될 때 프로세서로 하여금 전술한 구현들 중 임의의 하나에 따른 방법을 포함하는 동작들을 수행하게 하는 명령어들을 저장한다. 추가로, 본 개시내용의 구현들에서, (비일시적 컴퓨터 판독가능한 저장 매체일 수 있지만, 이 구현이 이에 제한되지는 않는) 컴퓨터 판독가능한 저장 매체는 설명된 구현들의 동작들을 수행하기 위한 명령어들을 저장한다. 또한, 다른 구현들에서, 설명된 구현들의 동작들을 수행하기 위한 시스템들이 또한 개시된다.
본 개시내용의 양태들 및 구현들이 이하 주어지는 상세한 설명으로부터 그리고 본 개시내용의 다양한 양태들 및 구현들의 첨부 도면들로부터 보다 충분히 이해될 것이지만, 이는 본 개시내용을 이러한 특정 양태들 또는 구현들에 제한하는 것으로 고려되지 않아야 하며, 설명 및 이해를 위한 것일 뿐이다.
도 1은 본 개시내용의 일 구현에 따른 예시적인 시스템 아키텍처를 도시한다.
도 2는 본 개시내용의 구현들에 따라 라이브-스트림 미디어 아이템들을 추천하는 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 예시적인 트레이닝 세트 생성기이다.
도 3은 본 개시내용의 구현들에 따라 라이브-스트림 비디오 아이템들을 추천하기 위해 머신 학습 모델을 트레이닝하는 방법의 일 예의 흐름도를 도시한다.
도 4는 본 개시내용의 구현들에 따라 라이브-스트림 비디오 아이템들을 추천하기 위해 트레이닝된 머신 학습 모델을 이용하는 방법의 일 예의 흐름도를 도시한다.
도 5는 본 개시내용의 구현에 따른 예시적인 컴퓨터 시스템(500)을 나타내는 블록도이다.
방대한 수의 콘텐츠 아이템들이 온라인으로 액세스가능하고, 이용가능한 콘텐츠 아이템들의 수가 계속 증가한다. 콘텐츠 아이템들의 탐색 및 검색을 돕기 위해, 그 아이템들에 따라 콘텐츠 아이템들을 분류하거나 인덱싱하는 것이 알려져 있다. 예를 들어, 사전 녹화된 영화들과 같이 흔히 보관된 미디어 아이템들이 미리 기록되고 저장되어 보관된 미디어 아이템의 콘텐츠들을 분석하기에 충분한 시간을 제공한다. 예를 들어, 보관된 미디어 아이템은 인간 분류기 또는 머신 지원 분류기에 의해 분류되어 보관된 미디어 아이템의 콘텐츠들을 설명하는 메타데이터를 생성할 수 있고, 이 메타데이터는 검색 질의에 응답하여 아이템을 회신할지 여부를 결정하는데 이용될 수 있다. 그러나, 이것은 일반적으로 "라이브-스트림" 미디어 아이템에 대한 경우가 아니다. 비디오 아이템("비디오"라고도 지칭됨)과 같은 미디어 아이템은 그 사용자 디바이스들을 통해 콘텐츠 공유 플랫폼의 사용자들이 소비하도록 이벤트의 라이브-스트림으로서의 전송을 위해 비디오 소유자(예를 들어, 비디오 생성자, 또는 비디오 생성자를 대신하여 비디오 아이템을 업로드하도록 허가된 비디오 배포자)에 의해 콘텐츠 공유 플랫폼에 업로드될 수 있다. 라이브-스트림 미디어 아이템은 라이브 이벤트의 라이브 방송 또는 전송으로 지칭될 수 있으며, 미디어 아이템은, 적어도 부분적으로, 이벤트가 발생함에 따라 동시에 전송되고, 미디어 아이템은 그 이벤트가 종료된 후까지 그 전체가 이용가능하지는 않다. 라이브-스트림 미디어 아이템들은 라이브 이벤트들의 방송들이고, 불완전한 정보(예를 들어, 라이브 스트림의 완전한 데이터가 수신되지는 않았음) 및/또는 강건한 콘텐츠 분석을 수행하고 아이템을 분류하기에 불충분한 시간(또는 다른 경우)을 제공한다. 분류되어 보관된 미디어 아이템들과 비교하여, 라이브-스트림 미디어 아이템들의 콘텐츠들에 대해서는 거의 또는 전혀 정보가 알려져 있지 않을 수 있다. 라이브-스트림 아이템을 분류하는데 있어서의 이러한 어려움은, 관련 라이브-스트림 아이템들을 식별하는 것과 같이, 콘텐츠 아이템들을 탐색하고 검색할 때 라이브-스트림 아이템들이 과제들을 제시한다는 것을 의미하며, 예를 들어, 라이브-스트림 아이템이 부정확하거나 불완전하게 분류되는 경우(또는 심지어 전혀 분류되지 않은 경우), 이것은 그 콘텐츠가 검색 질의와 매우 관련될 수 있더라도 라이브-스트림 아이템이 검색 질의에 응답하여 찾아지지 않는다는 것을 의미할 수 있다. 또한, 라이브-스트림 아이템의 부정확하거나, 불완전하거나 또는 누락된 분류는 아이템들을 탐색하고 검색하는 프로세스가 네트워크 리소스들의 비효율적인 이용을 야기하고, 그 결과 관련된 라이브-스트림 미디어 아이템들을 식별하기에 충분한 계산 리소스들을 제공하는데 있어서 어려움들을 초래한다는 것을 의미할 수 있다.
본 개시내용의 양태들은 이전에 제시된 라이브-스트림 미디어 아이템들 및 현재 제시되는 라이브-스트림 미디어 아이템들을 포함하는 트레이닝 데이터를 이용하여 머신 학습 모델을 트레이닝함으로써 전술한 및 다른 과제들을 해결한다. 이전에 제시된 라이브-스트림 미디어 아이템들은 과거에 콘텐츠 공유 플랫폼 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 소비된 라이브-스트림 미디어 아이템들이다. 현재 제시되는 라이브-스트림 미디어 아이템들은 콘텐츠 공유 플랫폼 상에서 제2 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 라이브-스트림 미디어 아이템들이다. 사용자 클러스터는, 사용자들이 소비한 이전에 제시된 라이브-스트림 미디어 아이템들 또는 사용자들이 소비하고 있는 현재 제시되는 라이브-스트림 미디어 아이템들과 같은 하나 이상의 속성 또는 특징에 기반하는, 콘텐츠 공유 플랫폼의 사용자들과 같은 사용자들의 그룹화일 수 있다. 구현들에서, 트레이닝된 머신 학습 모델은 하나 이상의 라이브-스트림 미디어 아이템을 콘텐츠 공유 플랫폼에 액세스하는 특정 사용자에게 추천하는데 이용될 수 있다.
머신 학습 모델을 트레이닝하고 트레이닝된 머신 학습 모델을 이용하여 라이브-스트림 미디어 아이템들을 분류하는 것은 라이브-스트림 미디어 아이템들의 보다 효과적인 분류를 제공하며, 예를 들어 라이브 미디어가 여전히 전송되고 있는 동안 라이브 미디어 아이템의 정확한 분류를 가능하게 한다. 이것은 라이브-스트림 아이템들의 보다 정확한 탐색 및 검색 및/또는 라이브-스트림 미디어 아이템들의 보다 정확한 추천을 가능하게 하며, 차례로, 미디어 아이템들을 검색/제공하는 프로세스에 요구되는 계산(처리) 리소스들을 감소시키고, 트레이닝된 머신 학습 모델을 이용하여 분류된 라이브-스트림 미디어 아이템들을 검색/추천하는 것은 그 콘텐츠들에 대해 정보가 거의 또는 전혀 이용가능하지 않은 미디어 아이템들을 검색/추천하는 것보다 더 리소스 효율적이다. 또한, 본 개시내용의 양태들은, 예를 들어, 검색 질의에 응답하여 회신된 아이템들이 사실상 질의에 관련되는 것을 보장함으로써, 탐색 및 검색 시스템 또는 콘텐츠 공유 플랫폼과의 전체적인 사용자 만족도를 개선한다.
라이브-스트림 미디어 아이템들은 제한이 아니라 예시를 위해 이용된다는 것에 유의한다. 다른 구현들에서, 본 개시내용의 양태들은 미디어 아이템의 콘텐츠들에 대해 정보가 거의 또는 전혀 알려지지 않은 임의의 미디어 아이템들과 같은 다른 미디어 아이템들에 적용될 수 있다. 예를 들어, 본 개시내용의 양태들은 분류되지 않은 새로운 미디어 아이템들, 또는 가상 현실 미디어 아이템들, 증강 현실 미디어 아이템들, 또는 3차원 미디어 아이템들과 같이, 콘텐츠들을 분류하기 어려운 임의의 미디어 아이템들에 적용될 수 있다.
전술한 바와 같이, 라이브-스트림 미디어 아이템은 라이브 이벤트의 라이브 방송 또는 전송일 수 있다. 또한, 달리 언급되지 않는 한, "라이브-스트림 미디어 아이템" 또는 "현재 제시되는 라이브-스트림 미디어 아이템"은 라이브 스트리밍되고 있는 미디어 아이템(예를 들어, 이벤트가 발생함에 따라 동시에 전송되는 미디어 아이템)을 지칭한다는 점에 유의한다. 라이브-스트림 미디어 아이템의 라이브 스트림의 완료에 후속하여, 완전한 라이브-스트림 미디어 아이템이 획득 및 저장될 수 있고, 본 명세서에서 "이전에 제시된 라이브-스트림 미디어 아이템" 또는 "보관된 라이브-스트림 미디어 아이템"이라고 지칭될 수 있다.
도 1은 본 개시내용의 일 구현에 따른 예시적인 시스템 아키텍처(100)를 도시한다. 시스템 아키텍처(100)(본 명세서에서는 "시스템"으로도 지칭됨)는 네트워크(104)에 접속된 콘텐츠 공유 플랫폼(120), 하나 이상의 서버 머신(130 내지 150), 데이터 저장소(106), 및 클라이언트 디바이스들(110A-110Z)을 포함한다.
구현들에서, 네트워크(104)는 공중 네트워크(예를 들어, 인터넷), 사설 네트워크(예를 들어, 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)), 유선 네트워크(예를 들어, 이더넷 네트워크), 무선 네트워크(예를 들어, 802.11 네트워크 또는 Wi-Fi 네트워크), 셀룰러 네트워크(예를 들어, 롱텀 에볼루션(LTE) 네트워크), 라우터들, 허브들, 스위치들, 서버 컴퓨터들 및/또는 이들의 조합을 포함할 수 있다.
구현들에서, 데이터 저장소(106)는 콘텐츠 아이템들(예컨대, 미디어 아이템들)뿐만 아니라 콘텐츠 아이템들을 태그, 조직화, 및 인덱싱하는 데이터 구조들을 저장할 수 있는 영구 스토리지이다. 데이터 저장소(106)는 메인 메모리, 자기 또는 광학 스토리지 기반 디스크들, 테이프들 또는 하드 드라이브들, NAS, SAN 등과 같은, 하나 이상의 저장 디바이스에 의해 호스팅될 수 있다. 일부 구현들에서, 데이터 저장소(106)는 네트워크-부착 파일 서버일 수 있는 반면, 다른 실시예들에서 데이터 저장소(106)는 콘텐츠 공유 플랫폼(120) 또는 네트워크(104)를 통해 서버 콘텐츠 공유 플랫폼(120)에 결합된 하나 이상의 상이한 머신에 의해 호스팅될 수 있는, 객체-지향 데이터베이스, 관계형 데이터베이스 등과 같은 일부 다른 타입의 영구 스토리지일 수 있다.
클라이언트 디바이스들(110A-110Z)은 각각 퍼스널 컴퓨터들(PC들), 랩톱들, 모바일 폰들, 스마트 폰들, 태블릿 컴퓨터들, 넷북 컴퓨터들, 네트워크 접속 텔레비전들 등과 같은 컴퓨팅 디바이스들을 포함할 수 있다. 일부 구현들에서, 클라이언트 디바이스들(110A 내지 110Z)은 또한 "사용자 디바이스들"로 지칭될 수 있다. 구현들에서, 각각의 클라이언트 디바이스는 미디어 뷰어(111)를 포함한다. 일 구현에서, 미디어 뷰어들(111)은 이미지들, 비디오 아이템들, 웹 페이지들, 문서들 등과 같은 콘텐츠를 사용자들이 보거나 업로드할 수 있게 하는 애플리케이션들일 수 있다. 예를 들어, 미디어 뷰어(111)는, 웹 서버에 의해 서빙되는 콘텐츠(예를 들어, HTML 페이지들 등의 웹 페이지들, 디지털 미디어 아이템들 등)를 액세스, 검색, 제시, 및/또는 네비게이트할 수 있는 웹 브라우저일 수 있다. 미디어 뷰어(111)는 콘텐츠(예를 들어, 웹 페이지, 미디어 뷰어)를 사용자에게 렌더링하고, 표시하고/하거나 제시할 수 있다. 미디어 뷰어(111)는 또한, 웹 페이지(예를 들어, 온라인 상인에 의해 판매되는 제품에 관한 정보를 제공할 수 있는 웹 페이지)에 임베딩되는 임베디드 미디어 플레이어(예를 들어, Flash® 플레이어 또는 HTML5 플레이어)를 포함할 수 있다. 다른 예에서, 미디어 뷰어(111)는 사용자들이 디지털 미디어 아이템들(예를 들어, 디지털 비디오 아이템들, 디지털 이미지들, 전자 서적들 등)을 보는 것을 허용하는 독립형 애플리케이션(예를 들어, 모바일 애플리케이션 또는 앱)일 수 있다. 본 개시내용의 양태들에 따르면, 미디어 뷰어(111)는 사용자들이 콘텐츠 공유 플랫폼 상에서 공유하기 위해 콘텐츠를 기록, 편집, 및/또는 업로드하기 위한 콘텐츠 공유 플랫폼 애플리케이션일 수 있다. 이와 같이, 미디어 뷰어들(111)은 서버 머신(150) 또는 콘텐츠 공유 플랫폼(120)에 의해 클라이언트 디바이스들(110A-110Z)에 제공될 수 있다. 예를 들어, 미디어 뷰어들(111)은, 콘텐츠 공유 플랫폼(120)에 의해 제공되는 웹 페이지들에 임베딩되는 임베디드 미디어 플레이어들일 수 있다. 다른 예에서, 미디어 뷰어들(111)은 서버 머신(150)으로부터 다운로드되는 애플리케이션들일 수 있다.
일 구현에서, 콘텐츠 공유 플랫폼(120) 또는 서버 머신들(130-150)은, 사용자에게 미디어 아이템들로의 액세스를 제공하고/하거나 사용자에게 미디어 아이템들을 제공하는데 이용될 수 있는, 하나 이상의 컴퓨팅 디바이스(예를 들어, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 퍼스널 컴퓨터, 메인프레임 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터 등), 데이터 저장소들(예를 들어, 하드 디스크들, 메모리들, 데이터베이스들), 네트워크들, 소프트웨어 컴포넌트들, 및/또는 하드웨어 컴포넌트들일 수 있다. 예를 들어, 콘텐츠 공유 플랫폼(120)은, 사용자가 미디어 아이템들을 소비하고, 업로드하고, 탐색하고, 승인하거나("좋아하거나"), 반대하거나("싫어하거나"), 이에 대해 코멘트하는 것을 허용할 수 있다. 콘텐츠 공유 플랫폼(120)은 또한, 사용자에게 미디어 아이템들로의 액세스를 제공하는데 이용될 수 있는 웹 사이트(예를 들어, 웹 페이지) 또는 애플리케이션 백엔드 소프트웨어를 포함할 수 있다.
본 개시내용의 구현들에서, "사용자"는 단일 개체로 표현될 수 있다. 그러나, 본 개시내용의 다른 구현들은 사용자들의 세트 및/또는 자동화된 소스에 의해 제어되는 엔티티인 "사용자"를 포함한다. 예를 들어, 소셜 네트워크에서의 커뮤니티로서 연합된 개별 사용자들의 세트가 "사용자"로 고려될 수 있다. 다른 예에서, 자동화된 소비자는 콘텐츠 공유 플랫폼(120)의 토픽 채널 등의 자동화된 입수 파이프라인일 수 있다.
콘텐츠 공유 플랫폼(120)은 복수의 채널(예를 들어, 채널 A 내지 채널 Z)을 포함할 수 있다. 채널은 공통 소스로부터 이용가능한 데이터 콘텐츠 또는 공통 토픽, 테마 또는 내용을 가지는 데이터 콘텐츠일 수 있다. 데이터 콘텐츠는 사용자에 의해 선택되는 디지털 콘텐츠, 사용자에 의해 이용가능하게 된 디지털 콘텐츠, 사용자에 의해 업로드된 디지털 콘텐츠, 콘텐츠 제공자에 의해 선택되는 디지털 콘텐츠, 방송자에 의해 선택되는 디지털 콘텐츠 등일 수 있다. 예를 들어, 채널 X는 비디오들 Y 및 Z를 포함할 수 있다. 채널은 그 채널에 대해 액션들을 수행할 수 있는 사용자인 소유자와 연관될 수 있다. 소유자가 채널에서 디지털 콘텐츠를 이용가능하게 하는 것, 소유자가 다른 채널과 연관된 디지털 콘텐츠를 선택하는 것(예를 들어, 좋아하는 것), 소유자가 다른 채널과 연관된 디지털 콘텐츠에 대해 코멘트하는 것 등과 같은 소유자의 액션들에 기반하여 상이한 활동들이 채널과 연관될 수 있다. 채널과 연관된 활동들은 채널에 대한 활동 피드로 수집될 수 있다. 채널의 소유자 이외의 사용자들이 자신들이 관심을 갖는 하나 이상의 채널에 가입할 수 있다. "가입하기"의 개념은 또한 "좋아하기", "팔로우하기", "친구하기" 등으로 지칭될 수 있다.
일단 사용자가 채널에 가입하였다면, 사용자는 채널의 활동 피드로부터 정보를 제시받을 수 있다. 사용자가 복수의 채널에 가입하였다면, 사용자가 가입한 각각의 채널에 대한 활동 피드는 신디케이트된 활동 피드가 되도록 결합될 수 있다. 신디케이트된 활동 피드로부터의 정보가 사용자에게 제시될 수 있다. 채널들은 자체 피드들을 가질 수 있다. 예를 들어, 콘텐츠 공유 플랫폼 상에서 채널의 홈 페이지로 네비게이트할 때, 그 채널에 의해 생성된 피드 아이템들이 채널 홈 페이지 상에서 보여질 수 있다. 사용자들은, 사용자가 가입된 채널들 모두로부터 적어도 콘텐츠 아이템들의 서브세트를 포함하는 피드인 신디케이트된 피드를 가질 수 있다. 신디케이트된 피드들은 또한 사용자가 가입하지 않은 채널들로부터의 콘텐츠 아이템들을 포함할 수 있다. 예를 들어, 콘텐츠 공유 플랫폼(120) 또는 다른 소셜 네트워크들은 추천된 콘텐츠 아이템들을 사용자의 신디케이트된 피드에 삽입할 수 있거나, 또는 사용자의 관련된 접속과 연관되는 콘텐츠 아이템들을 신디케이트된 피드에 삽입할 수 있다.
각각의 채널은 하나 이상의 미디어 아이템(121)을 포함할 수 있다. 미디어 아이템(121)의 예들로는, 디지털 비디오, 디지털 영화들, 디지털 사진들, 디지털 음악, 오디오 콘텐츠, 멜로디들, 웹 사이트 콘텐츠, 소셜 미디어 업데이트들, 전자 서적들(ebooks), 전자 잡지들, 디지털 신문들, 디지털 오디오 북들, 전자 저널들, 웹 블로그들, RSS(real simple syndication) 피드들, 전자 만화책들, 소프트웨어 애플리케이션들 등이 있을 수 있지만, 이에 제한되지는 않는다. 일부 구현들에서, 미디어 아이템(121)은 콘텐츠 또는 콘텐츠 아이템으로도 지칭된다.
미디어 아이템(121)은 인터넷 또는 모바일 디바이스 애플리케이션을 통해 소비될 수 있다. 간결함 및 단순함을 위해, 본 문서 전체에 걸쳐 미디어 아이템(121)의 예로서 비디오 아이템이 사용된다. 본 명세서에서 사용되는 "미디어", "미디어 아이템", "온라인 미디어 아이템", "디지털 미디어", "디지털 미디어 아이템", "콘텐츠" 및 "콘텐츠 아이템"은 디지털 미디어 아이템을 엔티티에게 제시하도록 구성된 소프트웨어, 펌웨어 또는 하드웨어를 이용하여 실행 또는 로딩될 수 있는 전자 파일을 포함할 수 있다. 일 구현에서, 콘텐츠 공유 플랫폼(120)은 데이터 저장소(106)를 이용하여 미디어 아이템들(121)을 저장할 수 있다. 다른 구현에서, 콘텐츠 공유 플랫폼(120)은 비디오 아이템들 또는 핑거프린트들을 데이터 저장소(106)를 이용하여 하나 이상의 포맷의 전자 파일들로서 저장할 수 있다.
일 구현에서, 미디어 아이템들(121)은 비디오 아이템들이다. 비디오 아이템은 움직이는 장면을 나타내는 순차적인 비디오 프레임들(예를 들어, 이미지 프레임들)의 세트이다. 예를 들어, 일련의 순차적인 비디오 프레임들은 연속적으로 캡처되거나 나중에 재구성되어 애니메이션을 생성할 수 있다. 비디오 아이템들은 아날로그, 디지털, 2차원 및 3차원 비디오를 포함하지만 이에 제한되지는 않는 다양한 포맷들로 제시될 수 있다. 또한, 비디오 아이템들은 영화들, 비디오 클립들 또는 차례로 표시될 애니메이션 이미지들의 임의의 세트를 포함할 수 있다. 또한, 비디오 아이템은 비디오 컴포넌트 및 오디오 컴포넌트를 포함하는 비디오 파일로서 저장될 수 있다. 비디오 컴포넌트는 비디오 코딩 포맷 또는 이미지 코딩 포맷(예를 들어, H.264 (MPEG-4 AVC), H.264 MPEG-4 Part 2, 그래픽 교환 포맷(GIF), WebP 등)의 비디오 데이터를 지칭할 수 있다. 오디오 컴포넌트는 오디오 코딩 포맷(예를 들어, 고급 오디오 코딩(AAC), MP3 등)의 오디오 데이터를 지칭할 수 있다. 유의할 점은, GIF가 이미지 파일(예를 들어, .gif 파일)로서 저장되거나 일련의 이미지들로서 애니메이트된 GIF(예를 들어, GIF89a 포맷)로 저장될 수 있다는 것이다. H.264는 예를 들어 비디오 콘텐츠의 기록, 압축, 또는 배포를 위한 블록 지향 움직임 보상 기반 비디오 압축 표준인 비디오 코딩 포맷일 수 있다는 점에 유의한다.
구현들에서, 콘텐츠 공유 플랫폼(120)은 사용자들이 미디어 아이템들을 포함하는 재생리스트들(예를 들어, 미디어 아이템들(121)을 포함하는 재생리스트 A-Z)을 생성, 공유, 보기 또는 이용하게 할 수 있다. 재생리스트는 임의의 사용자 상호작용 없이 특정 순서로 차례로 재생하도록 구성되는 미디어 아이템들의 집합을 지칭한다. 구현들에서, 콘텐츠 공유 플랫폼(120)은 사용자를 대신하여 재생리스트를 유지할 수 있다. 구현들에서, 콘텐츠 공유 플랫폼(120)의 재생리스트 특징은 사용자들이 그 선호하는 미디어 아이템들을 재생을 위해 단일 위치에서 함께 그룹화하는 것을 허용한다. 구현들에서, 콘텐츠 공유 플랫폼(120)은 재생리스트 상의 미디어 아이템을 재생 또는 표시를 위해 클라이언트 디바이스(110)에 전송할 수 있다. 예를 들어, 미디어 뷰어(111)는 미디어 아이템들이 재생리스트 상에 목록화되는 순서로 재생리스트 상의 미디어 아이템들을 재생하는데 이용될 수 있다. 다른 예에서, 사용자는 재생리스트 상의 미디어 아이템들 사이를 옮길 수 있다. 또 다른 예에서, 사용자는 재생할 재생리스트 상의 다음 미디어 아이템을 기다릴 수 있거나, 또는 재생을 위해 재생리스트 내의 특정 미디어 아이템을 선택할 수 있다.
일부 구현들에서, 콘텐츠 공유 플랫폼(120)은 추천들(122)과 같은 미디어 아이템들의 추천들을 사용자 또는 사용자 그룹에 할 수 있다. 추천은 사용자에게 매력적일 수 있는 미디어 아이템들의 개인화된 제안들을 사용자에게 제공하는 표시자(예를 들어, 인터페이스 컴포넌트, 전자 메시지, 추천 피드 등)일 수 있다. 예를 들어, 추천은 미디어 아이템의 썸네일로서 제시될 수 있다. 사용자에 의한 상호작용(예를 들어, 클릭)에 응답하여, 미디어 아이템의 더 큰 버전이 재생을 위해 제시될 수 있다. 구현들에서, 추천은 사용자의 선호하는 미디어 아이템들, 최근에 추가된 재생리스트 미디어 아이템들, 최근에 시청된 미디어 아이템들, 미디어 아이템 순위들, 쿠키로부터의 정보, 사용자 이력, 및 다른 소스들을 포함하는 다양한 소스들로부터의 데이터를 이용하여 이루어질 수 있다. 일 구현에서, 추천은, 본 명세서에서 추가로 설명되는 바와 같이, 트레이닝된 머신 학습 모델(160)의 출력에 기반할 수 있다. 추천이 특히 미디어 아이템(121), 채널, 재생리스트에 대한 것일 수 있다는 점에 유의한다. 일 구현에서, 추천(122)은 콘텐츠 공유 플랫폼(120) 상에서 현재 라이브 스트리밍되고 있는 라이브-스트림 비디오 아이템들 중 하나 이상에 대한 추천일 수 있다.
서버 머신(130)은 머신 학습 모델을 트레이닝하기 위한 트레이닝 데이터(예를 들어, 트레이닝 입력들의 세트 및 타겟 출력들의 세트)를 생성할 수 있는 트레이닝 세트 생성기(131)를 포함한다. 트레이닝 세트 생성기(131)의 일부 동작들은 도 2 및 도 3과 관련하여 이하에서 상세히 설명된다.
서버 머신(140)은 트레이닝 세트 생성기(131)로부터의 트레이닝 데이터를 이용하여 머신 학습 모델(160)을 트레이닝할 수 있는 트레이닝 엔진(141)을 포함한다. 머신 학습 모델(160)은 트레이닝 입력들 및 대응하는 타겟 출력들(각각의 트레이닝 입력들에 대한 올바른 답변들)을 포함하는 트레이닝 데이터를 이용하여 트레이닝 엔진(141)에 의해 생성되는 모델 아티팩트를 지칭할 수 있다. 트레이닝 엔진(141)은 트레이닝 입력을 타겟 출력(예측될 답변)에 매핑하는 트레이닝 데이터 내의 패턴들을 발견하고, 이러한 패턴들을 캡처하는 머신 학습 모델(160)을 제공할 수 있다. 머신 학습 모델(160)은 예를 들어 단일 레벨의 선형 또는 비선형 동작들(예를 들어, 지원 벡터 머신 [SVM])로 구성될 수 있거나 심층 네트워크, 즉 복수의 레벨의 비선형 동작들로 구성되는 머신 학습 모델일 수 있다. 심층 네트워크의 예는 하나 이상의 숨겨진 층을 갖는 신경망이고, 이러한 머신 학습 모델은, 예를 들어, 역전파 학습 알고리즘 등에 따라 신경망의 가중치들을 조정함으로써 트레이닝될 수 있다. 편의상, 본 개시내용의 나머지에서는, 일부 구현들이 신경망 대신에 또는 신경망에 추가하여 SVM 또는 다른 타입의 학습 머신을 이용할 수 있더라도, 신경망으로서 이러한 구현을 지칭할 것이다. 일 양태에서, 트레이닝 세트는 서버 머신(130)으로부터 획득된다.
서버 머신(150)은 트레이닝된 머신 학습 모델(160)에의 입력으로서 데이터(예를 들어, 콘텐츠 공유 플랫폼(120)에의 사용자 액세스와 연관된 컨텍스트 정보, 사용자 액세스와 연관된 사용자 정보, 또는 사용자 액세스와 동시에 라이브 스트리밍되고 하나 이상의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 라이브-스트림 미디어 아이템들)를 제공하는 라이브-스트림 추천 엔진(151)을 포함하고, 입력에 대해 트레이닝된 머신 학습 모델(160)을 실행하여 하나 이상의 출력을 획득한다. 도 4에 관하여 이하에서 상세히 설명하는 바와 같이, 일 구현에서, 라이브-스트림 추천 엔진(151)은 또한 트레이닝된 머신 학습 모델(160)의 출력으로부터 현재 또는 임박하게 라이브 스트리밍되는 하나 이상의 라이브-스트림 미디어 아이템을 식별하고, 사용자가 각각의 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 표시하는 신뢰도 데이터를 출력으로부터 추출하고, 신뢰도 데이터를 이용하여 현재 라이브 스트리밍되고 있는 라이브-스트림 미디어 아이템들의 추천들을 제공할 수 있다.
일부 다른 구현들에서, 서버 머신들(130, 140 및 150) 또는 콘텐츠 공유 플랫폼(120)의 기능들은 더 적은 수의 머신들에 의해 제공될 수 있다는 점에 유의해야 한다. 예를 들어, 일부 구현들에서는, 서버 머신들(130 및 140)이 단일 머신으로 통합될 수 있는 반면, 일부 다른 구현들에서는, 서버 머신들(130, 140 및 150)이 단일 머신으로 통합될 수 있다. 또한, 일부 구현들에서는, 서버 머신들(130, 140 및 150) 중 하나 이상이 콘텐츠 공유 플랫폼(120)에 통합될 수 있다.
일반적으로, 일 구현에서 콘텐츠 공유 플랫폼(120), 서버 머신(130), 서버 머신(140), 또는 서버 머신(150)에 의해 수행되는 것으로서 설명되는 기능들은 또한, 적절한 경우, 다른 구현들에서 클라이언트 디바이스들(110A 내지 110Z) 상에서 수행될 수 있다. 추가로, 특정 컴포넌트에게 기인하는 기능은 함께 동작하는 상이한 또는 복수의 컴포넌트에 의해 수행될 수 있다. 콘텐츠 공유 플랫폼(120), 서버 머신(130), 서버 머신(140), 또는 서버 머신(150)은 또한 적절한 애플리케이션 프로그래밍 인터페이스들을 통해 다른 시스템들 또는 디바이스들에게 제공되는 서비스로서 액세스될 수 있으므로, 웹 사이트들에서의 이용으로 제한되지는 않는다.
본 개시내용의 구현들이 콘텐츠 공유 플랫폼들과 콘텐츠 공유 플랫폼 상의 콘텐츠 아이템의 소셜 네트워크 공유를 증진시키는 면에서 논의되지만, 이러한 구현들은 일반적으로, 사용자들 간의 접속들을 제공하는 임의의 타입의 소셜 네트워크에도 적용될 수 있다. 본 개시내용의 구현들은 사용자들에게 채널 가입들을 제공하는 콘텐츠 공유 플랫폼들에만 제한되지는 않는다.
본 명세서에서 논의되는 시스템들이 사용자들에 관한 개인 정보를 수집하거나, 개인 정보를 이용할 수 있는 상황들에서, 사용자들에게는, 콘텐츠 공유 플랫폼(120)이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호도, 또는 사용자의 현재 위치에 관한 정보)를 수집할지를 제어하거나, 또는 사용자와 더욱 관련성이 있을 수 있는 콘텐츠 서버로부터 콘텐츠를 수신할지 여부 및/또는 그 방법을 제어할 기회가 제공될 수 있다. 또한, 특정 데이터는 저장되거나 이용되기 전에 하나 이상의 방식으로 처리될 수 있어서, 개인적으로 식별가능한 정보가 제거된다. 예를 들어, 사용자의 아이덴티티가 처리될 수 있어서 어떠한 개인적으로 식별가능한 정보도 사용자에 대해 결정될 수 없거나, 사용자의 지리적 위치가 위치 정보가 획득되는 곳(예컨대, 도시, 우편 번호, 또는 도(state) 수준)으로 일반화될 수 있어서, 사용자의 특정한 위치가 결정될 수 없다. 따라서, 사용자는, 사용자에 관해 정보가 어떻게 수집되고 콘텐츠 공유 플랫폼(120)에 의해 어떻게 이용될지에 대한 제어를 할 수 있다.
도 2는 본 개시내용의 구현들에 따라 라이브-스트림 미디어 아이템들을 추천하는 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 예시적인 트레이닝 세트 생성기이다. 시스템(200)은 트레이닝 세트 생성기(131), 트레이닝 입력들(230), 및 타겟 출력들(240)을 도시한다. 시스템(200)은 도 1과 관련하여 설명된 바와 같은, 시스템(100)과 유사한 컴포넌트들을 포함할 수 있다. 도 1의 시스템(100)과 관련하여 설명된 컴포넌트들은 도 2의 시스템(200)을 설명하는 것을 돕는데 이용될 수 있다.
구현들에서, 트레이닝 세트 생성기(131)는 하나 이상의 트레이닝 입력(230), 하나 이상의 타겟 출력(240)을 포함하는 트레이닝 데이터를 생성한다. 트레이닝 데이터는 또한 트레이닝 입력들(230)을 타겟 출력들(240)에 매핑하는 매핑 데이터를 포함할 수 있다. 트레이닝 입력들(230)은 또한 "특징들" 또는 "속성들"로 지칭될 수 있다. 일 구현에서, 트레이닝 세트 생성기(131)는 트레이닝 세트로 트레이닝 데이터를 제공하고 이 트레이닝 세트를 트레이닝 엔진(141)에 제공할 수 있으며, 트레이닝 세트는 머신 학습 모델(160)을 트레이닝하는데 이용된다. 트레이닝 세트를 생성하는 것은 도 3과 관련하여 추가로 설명될 수 있다.
일 구현에서, 트레이닝 입력들(230)은 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템(230A), 현재 제시되는 라이브-스트림 미디어 아이템(230B), 컨텍스트 정보(230C), 또는 사용자 정보(230D)를 포함할 수 있다. 일 구현에서, 이전에 제시된 라이브-스트림 미디어 아이템들(230A)은 콘텐츠 공유 플랫폼(120)의 하나 이상의 사용자 클러스터의 사용자들에 의해 소비되었던 보관된 라이브-스트림 미디어 아이템일 수 있다.
일 구현에서, 이전에 제시된 라이브-스트림 미디어 아이템들(230A)은 라이브-스트림 미디어 아이템이 사용자 클러스터의 사용자들에게 라이브 스트리밍되었던 동안 (동일한) 이전에 제시된 라이브-스트림 미디어 아이템을 소비한(예를 들어, 공동 시청한) 사용자들의 그룹("사용자들의 클러스터"라고도 지칭됨)에 매핑된(또는 이와 연관된) 이전에 제시된 라이브-스트림 미디어 아이템을 포함할 수 있다. 유의할 점은, 이전에 제시된 라이브-스트림 미디어 아이템들(230A)이 복수의 이전에 제시된 라이브-스트림 미디어 아이템을 포함할 수 있으며, 각각의 이전에 제시된 라이브-스트림 미디어 아이템이 이전에 제시된 라이브-스트림 미디어 아이템을 공동 시청한 사용자들의 각각의 클러스터에 매핑된다는 것이다. 유의할 점은, 미디어 아이템들이 라이브 스트리밍된 동안 동일한 라이브-스트림 미디어 아이템들 중 하나 이상을 시청한 사용자들이 (동일한 라이브-스트림 미디어 아이템들 중 어느 것도 시청하지 않았던 사용자들보다) 더 밀접하게 함께 클러스터링할 것이라는 점이다.
구현들에서, 사용자들은 동일한 이전에 제시된 라이브-스트림 미디어 아이템의 소비와 같은 하나 이상의 특징을 고려하여 함께 클러스터링될 수 있다. 일부 구현들에서, 사용자들의 클러스터는 트레이닝 입력(230)으로서 이용되기 전에(또는 아래에 설명되는 바와 같이 트레이닝된 머신 학습 모델(160)에 대한 입력으로서 이용되기 전에) 클러스터링될 수 있다는 점에 유의한다. 예를 들어, 사용자들의 클러스터에 매핑되는 (이전에 제시된) 라이브-스트림 미디어 아이템은 트레이닝 입력(230)으로서 이용되기 전에 클러스터들이 결정되었던 트레이닝 입력(230)일 수 있다. 전술한 트레이닝 입력(230)은 단일 트레이닝 입력일 수 있고, 예를 들어, 사용자 클러스터에 매핑되는 이전에 제시된 라이브-스트림 미디어 아이템 또는 이전에 제시된 라이브-스트림 미디어 아이템(또는 유사한 것)을 소비한 사용자 클러스터라고 지칭될 수 있다. 전술한 트레이닝 입력(230)은 특정한 라이브-스트림 미디어 아이템 및 사용자들의 특정한 클러스터의 사용자들을 식별하거나 지정하는 추가적인 정보를 포함할 수 있다는 점에 또한 유의한다. 유의할 점은, 라이브-스트림 미디어 아이템이 사용자 클러스터에 매핑되는 구현들에서, 트레이닝 세트 생성기(131)가 새로운 사용자 클러스터들을 추가로 생성하거나 기존의 사용자 클러스터들을 정밀화할 수 있다는 것이다. 다른 구현들에서, (예를 들어, 이전에 제시된) 라이브-스트림 미디어 아이템 및 (이전에 제시된) 라이브-스트림 미디어 아이템을 소비하는 사용자들은 트레이닝 세트 생성기(131)가 (예를 들어, 컨텍스트 정보(230C) 또는 사용자 클러스터들의 사용자들의 사용자 정보(230D)에 기반하여) 사용자 클러스터들을 결정하는 개별 트레이닝 입력들(230)일 수 있다. 전술한 것은 본 명세서에서 설명되는 다른 사용자 클러스터들 및 다른 사용자 클러스터들에 매핑된 라이브-스트림 미디어 아이템들에 적용될 수 있다는 점에 유의한다.
일부 구현들에서, 트레이닝 입력(230)(또는 트레이닝된 머신 학습 모델(160)에 대한 입력)으로서 이용되는 사용자 클러스터들을 결정하는데 머신 학습 기술들이 이용될 수 있다. 예를 들어, K-평균 클러스터링 또는 다른 클러스터링 알고리즘들이 이용될 수 있다.
이하에서 설명되는 바와 같이, 이전에 제시된 라이브-스트림 미디어 아이템들(230)을 소비한 사용자의 클러스터들을 구별하는데 추가적인 특징들이 이용될 수 있다는 점에 유의한다.
다른 구현에서, 이전에 제시된 라이브-스트림 미디어 아이템들(230A)은 사용자 클러스터에 매핑된(또는 이와 연관된) 이전에 제시된 라이브-스트림 미디어 아이템을 포함하고, 라이브-스트림 미디어 아이템이 라이브 스트리밍된(예를 들어, 보관된 라이브-스트림 미디어 아이템을 소비한) 후에, 사용자 클러스터는 (동일한) 이전에 제시된 라이브-스트림 미디어 아이템을 소비한다. 이전에 제시된 라이브-스트림 미디어 아이템들(230A)은 복수의 이전에 제시된 라이브-스트림 미디어 아이템을 포함할 수 있으며, 이전에 제시된 라이브-스트림 미디어 아이템 각각은 각각의 보관된 라이브-스트림 미디어 아이템을 공동 시청한 사용자들의 각각의 클러스터에 매핑된다는 점에 유의한다. 미디어 아이템이 라이브 스트리밍되었던 동안, 보관된 라이브-스트림 미디어 아이템을 시청한 사용자 및 동일한 라이브-스트림 미디어 아이템을 시청한 상이한 사용자는 밀접하게 함께 클러스터링할 것이라는 점에 유의한다.
또 다른 구현에서, 이전에 제시된 라이브-스트림 미디어 아이템들(230A)은 사용자 클러스터에 매핑된(또는 이와 연관된) 상이한 이전에 제시된 라이브-스트림 미디어 아이템들을 포함하고, 여기서 사용자 클러스터는 상이한 이전에 제시된 라이브-스트림 미디어 아이템들의 라이브 스트리밍 동안 상이한 이전에 제시된 라이브-스트림 미디어 아이템들 중 하나 이상을 소비하였고, 상이한 이전에 제시된 라이브-스트림 미디어 아이템들은 나중에 라이브-스트림 미디어 아이템의 유사하거나 동일한 카테고리로 분류된 것이다. 예를 들어, 제1 그룹의 사용자들은 라이브-스트림 A를 소비하였고, 제2 그룹의 사용자들은 라이브-스트림 B를 소비하였다. 라이브-스트림 A 및 라이브-스트림 B는 후속하여 보관되고 카테고리화(예를 들어, 콘텐츠 분석과 같은 머신 지원 분류 또는 인간 분류)되었다. 라이브-스트림들 A 및 B는 모두 축구 경기들로서 카테고리화되었다. 라이브-스트림 A를 소비한 사용자 및 라이브-스트림 B를 소비한 상이한 사용자가 사용자들의 동일한 클러스터에 포함될 수 있다. 전술한 이전에 제시된 라이브-스트림 미디어 아이템들(230A) 및 각각의 사용자 클러스터들은 제한적인 것이 아니라 예시적인 것으로 의도되는데, 이는 본 명세서에서 제시된 요소들의 다른 조합들 또는 다른 이전에 제시된 라이브-스트림 미디어 아이템들(230A) 및 사용자들의 연관된 클러스터들이 또한 이용될 수 있기 때문이다.
또한, 콘텐츠 분석이 이전에 제시된 라이브-스트림 미디어 아이템들(230A)(예를 들어, 수신된 완전한 정보)에 대해 수행될 수 있고, 이전에 제시된 라이브-스트림 미디어 아이템들(230A)을 설명하는 메타데이터가 획득될 수 있다는 것에 유의한다. 일 구현에서, 메타데이터는 이전에 제시된 라이브-스트림 미디어 아이템들(230A)의 콘텐츠를 설명하는 디스크립터들 또는 카테고리들을 포함할 수 있다. 디스크립터들 및 카테고리들은 인간 분류 또는 머신 지원 분류를 이용하여 생성될 수 있고, 각각의 이전에 제시된 라이브-스트림 미디어 아이템들(230A)과 연관될 수 있다. 일부 구현들에서, 이전에 제시된 라이브-스트림 미디어 아이템들(230A)의 메타데이터는 추가적인 트레이닝 입력(230)으로서 이용될 수 있다.
일 구현에서, 트레이닝 입력들(230)은 현재 제시되는 라이브-스트림 미디어 아이템(230B)을 포함할 수 있다. 일 구현에서, 현재 제시되는 라이브-스트림 미디어 아이템(230B)은 사용자 클러스터에 매핑된(또는 이와 연관된) 현재 제시되는 라이브-스트림 미디어 아이템을 포함할 수 있고, 여기서 사용자 클러스터의 사용자들은 라이브-스트림 미디어 아이템이 콘텐츠 공유 플랫폼(120) 상에서 사용자 클러스터의 사용자들에게 라이브 스트리밍되고 있는 동안 (동일한) 라이브-스트림 미디어 아이템을 현재 소비(예를 들어, 공동 시청)하고 있다. 현재 제시되는 라이브-스트림 미디어 아이템들(230B)은 복수의 현재 제시되는 라이브-스트림 미디어 아이템을 포함할 수 있으며, 현재 제시되는 라이브-스트림 미디어 아이템들 각각은 각각의 현재 제시되는 라이브-스트림 미디어 아이템을 공동 시청하고 있는 각각의 사용자 클러스터에 매핑된다는 점에 유의한다. 일부 구현들에서, 현재 제시되는 라이브-스트림 미디어 아이템들은 그 콘텐츠들을 설명하는 메타데이터를 거의 또는 전혀 갖지 않는다.
구현들에서, 트레이닝 입력들(230)은 컨텍스트 정보(230C)를 포함할 수 있다. 컨텍스트 정보는 특정 미디어 아이템을 소비하기 위해 콘텐츠 공유 플랫폼(120)에의 사용자에 의한 사용자 액세스의 상황들 또는 맥락에 관한 정보를 지칭할 수 있다. 예를 들어, 사용자는 브라우저 또는 로컬 애플리케이션을 이용하여 콘텐츠 공유 플랫폼(120)에 액세스할 수 있다. 사용자 액세스의 컨텍스트 레코드가 기록되고 저장될 수 있고, 사용자 액세스의 시각, (디바이스 또는 사용자의 위치를 결정하는데 이용될 수 있는) 액세스를 행하는 사용자 디바이스에 할당된 인터넷 프로토콜(IP) 주소, 사용자 디바이스의 타입, 또는 사용자 액세스를 설명하는 다른 컨텍스트 정보와 같은 정보를 포함할 수 있다. 구현들에서, 컨텍스트 정보(230C)는 이전에 제시된 라이브-스트림 미디어 아이템들(230A) 또는 현재 제시되는 라이브-스트림 미디어 아이템(230B)의 소비를 위해 콘텐츠 공유 플랫폼(120)에의 사용자 클러스터들의 일부 또는 전부의 사용자들에 의한 사용자 액세스들의 컨텍스트 정보를 포함할 수 있다.
구현들에서, 트레이닝 입력들(230)은 사용자 정보(230D)를 포함할 수 있다. 사용자 정보는 콘텐츠 공유 플랫폼(120)에 액세스하는 사용자에 관한 정보 또는 사용자를 설명하는 정보를 지칭할 수 있다. 예를 들어, 사용자 정보(230D)는 사용자의 나이, 성별, 사용자 이력(예를 들어, 이전에 시청한 미디어 아이템들) 또는 친화도들을 포함할 수 있다. 친화도는 미디어 아이템의 특정 카테고리(예를 들어, 뉴스, 비디오 게임, 대학 농구 등)에서의 사용자의 관심을 지칭할 수 있다. 친화도 스코어(예를 들어, 값 0-1, 로우 내지 하이)는 사용자의 관심을 특정 카테고리에 정량화하기 위해 각각의 카테고리에 할당될 수 있다. 예를 들어, 사용자는 대학 농구에 대한 0.5의 친화도 스코어 및 비디오 게임에 대한 0.9의 친화도 스코어를 가질 수 있다. 예를 들어, 사용자는 콘텐츠 공유 플랫폼(120)에 로그인(예를 들어, 계정 이름 및 패스워드)될 수 있고, 사용자 정보(230D)는 사용자 계정과 연관될 수 있다. 다른 예에서, 쿠키는 사용자, 사용자 디바이스 또는 사용자 애플리케이션과 연관될 수 있고, 사용자 정보(230D)는 쿠키로부터 결정될 수 있다. 구현들에서, 사용자 정보(230D)는 이전에 제시된 라이브-스트림 미디어 아이템들(230A) 또는 현재 제시되는 라이브-스트림 미디어 아이템(230B)을 소비하는 사용자 클러스터들 중 일부 또는 전부의 사용자들의 일부 또는 전부의 사용자 정보를 포함할 수 있다.
구현들에서, 타겟 출력들(240)은 하나 이상의 라이브-스트림 미디어 아이템(240A)을 포함할 수 있다. 일 구현에서, 라이브-스트림 미디어 아이템(240A)은 현재 제시되는 라이브-스트림 미디어 아이템을 포함할 수 있다. 일 구현에서, 라이브-스트림 미디어 아이템(240A)은 연관된 신뢰도 데이터(240B)를 포함할 수 있다. 신뢰도 데이터(240B)는 사용자가 라이브-스트림 미디어 아이템(240A)을 소비할 것이라는 신뢰도 레벨을 포함하거나 이를 표시할 수 있다. 일 예에서, 신뢰도 레벨은 0 내지 1을 포함하는 실수이며, 여기서 0은 사용자가 라이브-스트림 미디어 아이템(240A)을 소비할 것이라는 어떠한 신뢰도도 표시하지 않고, 1은 사용자가 라이브-스트림 미디어 아이템(240A)을 소비할 것이라는 절대 신뢰도를 표시한다.
일부 구현들에서, 트레이닝 세트를 생성하는 것 및 트레이닝 세트를 이용하여 머신 학습 모델(160)을 트레이닝하는 것에 후속하여, 머신 학습 모델(160)은, 추천된 라이브-스트림 미디어 아이템(예를 들어, 트레이닝된 또는 부분적으로 트레이닝된 머신 학습 모델(160)을 이용하여 추천됨) 및 추천된 라이브-스트림 미디어 아이템과의 사용자 상호작용을 이용하여 추가로 트레이닝(예를 들어, 트레이닝 세트에 대한 추가적인 데이터)되거나 조정(예를 들어, 머신 학습 모델(160)의 입력 데이터와 연관된 가중치들, 예컨대 신경망에서의 접속 가중치들을 조정함)될 수 있다. 예를 들어, 트레이닝 세트가 생성되고, 머신 학습 모델(160)이 트레이닝 세트를 이용하여 트레이닝된 후에, 머신 학습 모델(160)은 콘텐츠 공유 플랫폼(120)의 사용자에게 라이브-스트림 미디어 아이템을 추천하는데 이용될 수 있다. 추천을 행하는 것에 이어서, 시스템(100)은 추천된 라이브-스트림 미디어 아이템의 사용자에 의한 소비의 표시를 수신할 수 있다. 예를 들어, 시스템(100)은 사용자가 추천된 라이브-스트림 미디어 아이템을 소비했다는(예를 들어, 임계량의 시간 동안 라이브-스트림 비디오 아이템을 시청했다는) 표시 또는 사용자가 추천된 라이브-스트림 미디어 아이템을 소비하지 않았다는(예를 들어, 추천된 라이브-스트림 미디어 아이템을 선택하지 않았다는) 표시를 수신할 수 있다. 추천된 라이브-스트림 미디어 아이템에 관한 정보는 머신 학습 모델(160)을 추가로 트레이닝하거나 조정하기 위한 추가적인 트레이닝 입력들(230) 또는 추가적인 타겟 출력들(240)로서 이용될 수 있다. 예를 들어, 추천된 라이브-스트림 미디어 아이템과 연관된 사용자의 사용자 정보 및 사용자 액세스의 컨텍스트 정보가 추가적인 트레이닝 입력들(230)로서 이용될 수 있고, 추천된 라이브-스트림 미디어 아이템이 타겟 출력(240)으로서 이용될 수 있다. 또 다른 예들에서, 사용자 소비의 표시는 추천된 라이브-스트림 미디어 아이템에 대한 신뢰도 데이터를 생성하거나 조정하는데 이용될 수 있고, 신뢰도 데이터는 추가적인 타겟 출력(240)에 이용될 수 있다.
일 구현에서, 추천된 라이브-스트림 미디어 아이템을 이용하여 머신 학습 모델(160)을 추가로 트레이닝 또는 조정하기 위해, 시스템(100)은 콘텐츠 공유 플랫폼(120)에의 사용자에 의한 사용자 액세스의 표시를 수신할 수 있다. 시스템(100)은 (트레이닝된 또는 부분적으로 트레이닝된) 머신 학습 모델(160)을 이용하여 테스트 라이브-스트림 미디어 아이템 및 사용자가 테스트 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별하는 테스트 출력을 생성한다. 시스템(100)은 신뢰도 레벨에 기반하여(예를 들어, 신뢰도 레벨이 임계치를 초과하는 경우) 테스트 라이브-스트림 미디어 아이템의 추천을 사용자에게 제공한다. 시스템(100)은 그 추천을 고려하여 사용자에 의한 테스트 라이브-스트림 미디어 아이템의 소비의 표시를 수신한다. 사용자에 의한 테스트 라이브-스트림 미디어 아이템의 소비의 표시에 응답하여, 시스템(100)은 그 소비의 표시에 기반하여 머신 학습 모델을 조정한다.
도 3은 본 개시내용의 구현들에 따라, 머신 학습 모델을 트레이닝하기 위한 방법(300)의 일 예의 흐름도를 도시한다. 이 방법은 하드웨어(회로, 전용 로직 등), 소프트웨어(예를 들어, 처리 디바이스 상에서 실행되는 명령어들), 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행된다. 일 구현에서, 방법(300)의 동작들의 일부 또는 전부는 도 1의 시스템(100)의 하나 이상의 컴포넌트에 의해 수행될 수 있다. 다른 구현들에서, 방법(300)의 하나 이상의 동작은 도 1 및 도 2와 관련하여 설명된 바와 같이 서버 머신(130)의 트레이닝 세트 생성기(131)에 의해 수행될 수 있다. 도 1 및 도 2와 관련하여 설명된 컴포넌트들이 도 3의 양태들을 예시하는데 이용될 수 있다는 점에 유의한다.
방법(300)은 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 것으로 시작한다. 일부 구현들에서는, 블록(301)에서, 방법(300)을 구현하는 처리 로직은 트레이닝 세트 T를 빈 세트로 초기화한다. 블록(302)에서, 처리 로직은 콘텐츠 공유 플랫폼 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 소비된 (도 2와 관련하여 설명된 바와 같이) 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템(230A)을 포함하는 제1 트레이닝 입력을 생성한다. 블록(303)에서, 처리 로직은, 콘텐츠 공유 플랫폼 상에서 제2 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 현재 제시되는 라이브-스트림 미디어 아이템들(230B)을 포함하는 제2 트레이닝 입력을 생성한다. 블록(304)에서, 처리 로직은 콘텐츠 공유 플랫폼(120) 상에서 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템(230A)을 소비한 제1 복수의 사용자 클러스터의 사용자들에 의한 사용자 액세스들과 연관된 제1 컨텍스트 정보를 포함하는 제3 트레이닝 입력을 생성한다. 블록(305)에서, 처리 로직은 콘텐츠 공유 플랫폼 상에서 현재 제시되는 라이브-스트림 미디어 아이템들을 소비하고 있는 제2 복수의 사용자 클러스터의 사용자들에 의한 사용자 액세스들과 연관된 제2 컨텍스트 정보를 포함하는 제4 트레이닝 입력을 생성한다. 블록(306)에서, 처리 로직은 콘텐츠 공유 플랫폼(120) 상에서 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템(230A)을 소비한 제1 복수의 사용자 클러스터의 사용자들과 연관된 제1 사용자 정보를 포함하는 제5 트레이닝 입력을 생성한다. 블록(307)에서, 처리 로직은 콘텐츠 공유 플랫폼(120) 상에서 현재 제시되는 라이브-스트림 미디어 아이템들(230B)을 소비하고 있는 제2 복수의 사용자 클러스터의 사용자들과 연관된 제2 사용자 정보를 포함하는 제6 트레이닝 입력을 생성한다.
블록(308)에서, 처리 로직은 트레이닝 입력들(예를 들어, 트레이닝 입력들 1 내지 6) 중 하나 이상에 대한 제1 타겟 출력을 생성한다. 제1 타겟 출력은 라이브-스트림 미디어 아이템(예를 들어, 현재 제시됨) 및 사용자가 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별한다. 블록(309)에서, 처리 로직은 입력/출력 매핑을 표시하는 매핑 데이터를 생성한다. 입력/출력 매핑(또는 매핑 데이터)은 트레이닝 입력(예를 들어, 본 명세서에서 설명된 트레이닝 입력들 중 하나 이상), 트레이닝 입력에 대한 타겟 출력(예를 들어, 타겟 출력이 라이브-스트림 미디어 아이템 및 사용자가 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별함)을 지칭할 수 있고, 트레이닝 입력(들)은 타겟 출력과 연관된다(또는 이에 매핑된다). 블록(310)에서, 처리 로직은 블록(309)에서 생성된 매핑 데이터를 트레이닝 세트 T에 추가한다.
블록(311)에서, 처리 로직은 트레이닝 세트 T가 머신 학습 모델(160)을 트레이닝하기에 충분한지 여부에 기반하여 분지한다. 만일 그렇다면, 실행은 블록(312)으로 진행하고, 그렇지 않다면, 실행은 블록(302)에서 다시 계속된다. 일부 구현들에서, 트레이닝 세트 T의 충분성은 단순히 트레이닝 세트 내의 입력/출력 매핑들의 수에 기반하여 결정될 수 있는 반면, 일부 다른 구현들에서는, 트레이닝 세트 T의 충분성이 입력/출력 매핑들의 수에 추가하여 또는 그 대신에, 하나 이상의 다른 기준(예를 들어, 트레이닝 예들의 다이버시티의 측정치, 정확도 등)에 기반하여 결정될 수 있다는 점에 유의해야 한다.
블록(312)에서, 처리 로직은 머신 학습 모델(160)을 트레이닝하기 위한 트레이닝 세트 T를 제공한다. 일 구현에서, 트레이닝 세트 T는 서버 머신(140)의 트레이닝 엔진(141)에 제공되어 트레이닝을 수행한다. 신경망의 경우, 예를 들어, 주어진 입력/출력 매핑의 입력 값들(예를 들어, 트레이닝 입력들(230)과 연관된 수치 값들)은 신경망에 입력되고, 입력/출력 매핑의 출력 값들(예를 들어, 타겟 출력들(240)과 연관된 수치 값들)은 신경망의 출력 노드들에 저장된다. 이어서, 신경망에서의 접속 가중치들은 학습 알고리즘(예를 들어, 역전파 등)에 따라 조정되고, 그 절차는 트레이닝 세트 T에서의 다른 입력/출력 매핑들에 대해 반복된다. 블록(312) 후에, 머신 학습 모델(160)은 서버 머신(140)의 트레이닝 엔진(141)을 이용하여 트레이닝될 수 있다. 트레이닝된 머신 학습 모델(160)은 라이브-스트림 미디어 아이템들 및 라이브-스트림 미디어 아이템들 각각에 대한 신뢰도 데이터를 결정하고 사용자들에게 라이브-스트림 미디어 아이템의 추천들을 행하기 위해 (서버 머신(150) 또는 콘텐츠 공유 플랫폼(120)의) 라이브-스트림 추천 엔진(151)에 의해 구현될 수 있다.
도 4는 본 개시내용의 구현들에 따라, 트레이닝된 머신 학습 모델을 이용하여 라이브-스트림 비디오 아이템들을 추천하기 위한 방법(400)의 일 예의 흐름도를 도시한다. 이 방법은 하드웨어(회로, 전용 로직 등), 소프트웨어(예를 들어, 처리 디바이스 상에서 실행되는 명령어들), 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행된다. 일 구현에서, 방법(400)의 동작들 중 일부 또는 전부는 도 1의 시스템(100)의 하나 이상의 컴포넌트에 의해 수행될 수 있다. 다른 구현들에서, 방법(400)의 하나 이상의 동작은, 도 1 내지 도 3과 관련하여 설명된 바와 같이, 트레이닝된 머신 학습 모델(160)과 같은 트레이닝된 모델을 구현하는 서버 머신(150) 또는 콘텐츠 공유 플랫폼(120)의 라이브-스트림 추천 엔진(151)에 의해 수행될 수 있다. 도 1 및 도 2와 관련하여 설명된 컴포넌트들이 도 4의 양태들을 예시하는데 이용될 수 있다는 점에 유의한다.
일부 구현들에서, 트레이닝된 머신 학습 모델(160)은 콘텐츠 공유 플랫폼(120) 상에서 라이브 스트리밍되고 있는 현재 제시되는 라이브-스트림 미디어 아이템을 추천하는데 이용될 수 있다. 일부 구현들에서, 사용자가 콘텐츠 공유 플랫폼(120)에 액세스하는 것(예를 들어, 사용자 액세스)에 응답하여, 복수의 입력이 트레이닝된 머신 학습 모델(160)에 제공될 수 있다. 예를 들어, 입력들은 현재 제시되는 라이브-스트림 미디어 아이템들을 현재 소비하고 있는 사용자들 또는 사용자 클러스터들에 매핑된 (사용자 액세스 시의) 현재 제시되는 라이브-스트림 미디어 아이템들을 포함할 수 있다. 입력들은 또한 사용자 정보(230D)와 같이 콘텐츠 공유 플랫폼(120)에 액세스하는 사용자에 관한 정보, 또는 사용자 액세스에 관한 컨텍스트 정보(230C)와 같은 컨텍스트 데이터를 포함할 수 있다. 트레이닝된 머신 학습 모델(160)은 다차원 공간에서 액세스 사용자를 그래프화하거나 매핑할 수 있다(예를 들어, 각각의 차원은 트레이닝 입력들(230)의 특징에 기반한다). 다차원 공간은 트레이닝 입력들(230)로서 이용되는 클러스터들 또는 매핑 데이터에 의해 결정된 다른 클러스터들에 기반하여 클러스터들 내의 다른 사용자들을 매핑할 수 있다. 액세스 사용자는 다차원 공간에서 하나 이상의 사용자 클러스터에 매핑될 수 있다. 일부 구현들에서, 액세스 사용자는 클러스터 중심으로 고려될 수 있다. 트레이닝된 머신 학습 모델(160)은 액세스 사용자(예를 들어, 일부 임계 거리)에 근접한 다른 사용자들 또는 사용자 클러스터들(예를 들어, 근접 사용자들 또는 사용자 클러스터들)을 식별하고, 근접 사용자들 또는 사용자 클러스터들이 액세스하고 있는 현재 제시되는 라이브-스트림 미디어 아이템들을 검사하고, 근접 사용자들 또는 사용자 클러스터들이 소비하고 있는 하나 이상의 현재 제시되는 라이브-스트림 미디어 아이템을 출력할 수 있다. 일부 구현들에서, 근접 사용자들 또는 사용자 클러스터들이 액세스 사용자에의 거리가 가까울수록, 액세스 사용자가 각각의 근접 사용자 또는 사용자 클러스터와 연관된 현재 제시되는 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨이 높아진다.
방법(400)은 방법(400)을 구현하는 처리 로직이 콘텐츠 공유 플랫폼(120)의 사용자에 의한 사용자 액세스의 표시를 수신하는 블록(401)에서 시작할 수 있다. 블록(402)에서, 사용자 액세스에 응답하여, 처리 로직은 트레이닝된 머신 학습 모델(160)에게, 제1 입력, 제2 입력 및 제3 입력을 갖는 입력 데이터를 제공한다. 제1 입력은 콘텐츠 공유 플랫폼(120)에의 사용자 액세스와 연관된 컨텍스트 정보(예를 들어, 컨텍스트 정보(230C))를 포함한다. 예를 들어, 컨텍스트 정보는 사용자 액세스의 시각 및 콘텐츠 공유 플랫폼(120)에 액세스하는 디바이스의 타입을 포함할 수 있다. 제2 입력은 콘텐츠 공유 플랫폼(120)에의 사용자 액세스와 연관된 사용자 정보(예를 들어, 사용자 정보(230D))를 포함한다. 예를 들어, 사용자 정보는 사용자의 성별 및 나이를 포함할 수 있다. 제3 입력은 사용자 액세스와 동시에 라이브 스트리밍되고 콘텐츠 공유 플랫폼(120) 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 라이브-스트림 미디어 아이템들을 포함한다. 예를 들어, 제3 입력은 콘텐츠 공유 플랫폼(120) 상에서 라이브 스트리밍되고 있고 현재 제시되는 라이브-스트림 미디어 아이템을 소비하고 있는 사용자들의 클러스터에 매핑되거나 이와 연관되는 현재 제시되는 라이브-스트림 미디어 아이템을 포함할 수 있다. 구현들에서, 입력들(예를 들어, 제1 내지 제3 입력들)은 단일 동작 또는 복수의 동작으로 트레이닝된 머신 학습 모델(160)에 제공될 수 있다.
블록(403)에서, 처리 로직은 트레이닝된 머신 학습 모델(160)로부터 그리고 입력 데이터에 기반하여, (i) 복수의 라이브-스트림 미디어 아이템, 및 (ii) 사용자가 복수의 라이브-스트림 미디어 아이템의 각각의 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별하는 하나 이상의 출력을 획득한다. 예를 들어, 트레이닝된 머신 학습 모델(160)은 콘텐츠 공유 플랫폼(120) 상에서 현재 라이브 스트리밍되고 있는 라이브-스트림 미디어 아이템, 및 콘텐츠 공유 플랫폼(120)에 액세스하고 있는 사용자가 현재 제시되는 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 표시하는 신뢰도 데이터를 출력할 수 있다.
블록(404)에서, 처리 로직은 사용자가 복수의 라이브-스트림 미디어 아이템의 각각의 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 고려하여 콘텐츠 공유 플랫폼(120)의 사용자에게 복수의 라이브-스트림 미디어 아이템 중 하나 이상에 대한 추천을 제공할 수 있다. 일 구현에서, 처리 로직은 트레이닝된 머신 학습 모델(160)에 의해 결정된 복수의 라이브-스트림 미디어 아이템 중 어느 것이 임계 레벨을 초과하거나 충족시키는 신뢰도 레벨을 갖는지를 결정할 수 있다. 처리 로직은 임계 레벨을 초과하거나 충족시키는 신뢰도 레벨들을 갖는 라이브-스트림 미디어 아이템들(라이브-스트림 미디어 아이템들의 그룹)의 일부(예를 들어, 상위 3개) 또는 전부를 선택하고, 라이브-스트림 미디어 아이템들의 그룹의 각각의 라이브-스트림 미디어 아이템에 대한 추천을 제공할 수 있다.
도 5는 본 개시내용의 일 구현에 따른 예시적인 컴퓨터 시스템(500)을 나타내는 블록도이다. 컴퓨터 시스템(500)은 머신이 본 명세서에서 논의되는 방법론들 중 임의의 하나 이상을 수행하게 하는 명령어들의 하나 이상의 세트를 실행한다. 명령어들의 세트, 명령어들 등은, 컴퓨터 시스템(500)을 실행할 때, 컴퓨터 시스템(500)으로 하여금 트레이닝 세트 생성기(131) 또는 라이브-스트림 추천 엔진(151)의 하나 이상의 동작을 수행하게 하는 명령어들을 지칭할 수 있다. 머신은 클라이언트-서버 네트워크 환경에서의 서버 또는 클라이언트 디바이스로서, 또는 피어 대 피어(또는 분산) 네트워크 환경에서의 피어 머신으로서 동작할 수 있다. 머신은 퍼스널 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인 휴대 단말기(PDA), 모바일 전화기, 웹 어플라이언스, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 그 머신에 의해 취해질 액션들을 지정하는 (순차 등의) 명령어들의 세트를 실행할 수 있는 임의의 머신일 수 있다. 또한, 단일의 머신만이 도시되어 있지만, 용어 "머신"은 본 명세서에서 논의되는 방법론들 중 임의의 하나 이상을 수행하기 위해 개별적으로 또는 공동으로 명령어들의 세트들을 실행하는 머신들의 임의의 집합을 포함하는 것으로 또한 간주되어야 한다.
컴퓨터 시스템(500)은 버스(508)를 통해 서로 통신하는, 처리 디바이스(502), 메인 메모리(504)(예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM), 예컨대 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM) 등), 정적 메모리(506)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등), 및 데이터 저장 디바이스(516)를 포함한다.
처리 디바이스(502)는 마이크로프로세서, 중앙 처리 유닛 등과 같은 하나 이상의 범용 처리 디바이스를 나타낸다. 더 구체적으로는, 처리 디바이스(502)는, CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 처리 디바이스나 명령어 세트들의 조합을 구현하는 처리 디바이스들일 수 있다. 처리 디바이스(502)는 또한 ASIC(application specific integrated circuit), FPGA(field programmable gate array), DSP(digital signal processor), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 디바이스일 수 있다. 처리 디바이스(502)는 본 명세서에서 논의되는 동작들을 수행하기 위해 시스템 아키텍처(100) 및 트레이닝 세트 생성기(131) 또는 라이브-스트림 추천 엔진(151)의 명령어들을 실행하도록 구성된다.
컴퓨터 시스템(500)은 근거리 네트워크(LAN), 인트라넷, 엑스트라넷 또는 인터넷과 같은 네트워크(518)를 통해 다른 머신들과의 통신을 제공하는 네트워크 인터페이스 디바이스(522)를 추가로 포함할 수 있다. 컴퓨터 시스템(500)은 또한, 디스플레이 디바이스(510)(예를 들어, 액정 디스플레이(LCD) 또는 CRT(cathode ray tube)), 문자숫자식 입력 디바이스(512)(예를 들어, 키보드), 커서 제어 디바이스(514)(예를 들어, 마우스), 및 신호 생성 디바이스(520)(예를 들어, 스피커)를 포함할 수 있다.
데이터 저장 디바이스(516)는, 본 명세서에 설명된 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는, 시스템 아키텍처(100) 및 트레이닝 세트 생성기(131) 또는 라이브-스트림 추천 엔진(151)의 명령어들의 세트들이 저장되어 있는 비일시적 컴퓨터 판독가능한 저장 매체(524)를 포함할 수 있다. 시스템 아키텍처(100) 및 트레이닝 세트 생성기(131) 또는 라이브-스트림 추천 엔진(151)의 명령어들의 세트들은 또한 컴퓨터 시스템(500)에 의한 그 실행 동안 메인 메모리(504) 내에 및/또는 처리 디바이스(502) 내에 완전히 또는 적어도 부분적으로 상주할 수 있고, 메인 메모리(504) 및 처리 디바이스(502)는 또한 컴퓨터 판독가능한 저장 매체를 구성한다. 명령어들의 세트들은 또한 네트워크 인터페이스 디바이스(522)를 통해 네트워크(518) 상에서 전송 또는 수신될 수 있다.
컴퓨터 판독가능한 저장 매체(524)의 예가 단일 매체로서 도시되지만, 용어 "컴퓨터 판독가능한 저장 매체"는 명령어들의 세트들을 저장하는 단일 매체 또는 복수의 매체(예를 들어, 중앙집중형 또는 분산형 데이터베이스 및/또는 연관된 캐시들 및 서버들)를 포함할 수 있다. 용어 "컴퓨터 판독가능한 저장 매체"는 머신에 의한 실행을 위해 명령어들의 세트를 저장, 인코딩 또는 운반할 수 있고 머신으로 하여금 본 개시내용의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함할 수 있다. 따라서, 용어 "컴퓨터 판독가능한 저장 매체"는 고체 상태 메모리들, 광학 매체 및 자기 매체를 포함할 수 있지만 이에 제한되지는 않는다.
전술한 설명에서, 수많은 세부사항들이 제시된다. 그러나, 본 개시내용은 이러한 특정 세부사항들 없이도 실시될 수 있다는 것이 본 개시내용의 혜택을 받는 관련 기술분야의 통상의 기술자에게 명백할 것이다. 일부 경우들에서, 본 개시내용을 모호하게 하는 것을 피하기 위해 잘 알려진 구조들 및 디바이스들은 상세하게 설명하지 않고 블록도 형태로 도시된다.
상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 기호적 표현들의 관점에서 제시되었다. 이러한 알고리즘적 설명들 및 표현들은 데이터 처리 분야의 통상의 기술자가 그 작업 내용을 그 기술분야의 다른 통상의 기술자에게 가장 효과적으로 전달하기 위해 이용하는 수단이다. 알고리즘은 본 명세서에서 일반적으로 원하는 결과를 낳는 일관된 동작들의 시퀀스인 것으로 생각된다. 동작들은 물리량들의 물리적인 조작들을 필요로 하는 것들이다. 통상, 반드시 그렇지는 않지만, 이러한 양들은 저장, 전송, 조합, 비교, 및 다른 방식으로 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 때로는 주로 통상적인 용법을 이유로, 이러한 신호들을 비트들, 값들, 요소들, 기호들, 문자들, 항들, 숫자들 등으로 지칭하는 것이 편리한 것으로 드러났다.
그러나, 이러한 및 유사한 용어들의 전부는 적절한 물리적 양들과 연관되고 이러한 양들에 적용되는 단지 편리한 라벨들이라는 점이 유념되어야 한다. 구체적으로 달리 언급되지 않는 한, 설명 전체에 걸쳐, "제공하는", "수신하는", "조정하는", "생성하는", "획득하는", "결정하는" 등과 같은 용어들을 이용하는 논의들은 컴퓨터 시스템 메모리들 또는 레지스터들 내의 물리적(예를 들어, 전자적) 양들로서 표현된 데이터를, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 전송 또는 디스플레이 디바이스들 내의 물리적인 양들로서 유사하게 표현된 다른 데이터로 조작하고 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작들 및 프로세스들을 지칭한다는 것이 이해된다.
본 개시내용은 또한 본 명세서에서 동작들을 수행하기 위한 장치에 관한 것이다. 이러한 장치는 요구된 목적들을 위해 특별하게 구성될 수 있거나, 또는 컴퓨터에 저장되는 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 플로피 디스크, 광학 디스크, CD-ROM(compact disc read-only memory), 자기 광학 디스크를 포함하는 임의의 타입의 디스크, ROM, RAM, EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 자기 또는 광학 카드, 또는 전자 명령어들을 저장하는데 적합한 임의의 타입의 매체와 같은 컴퓨터 판독가능한 저장 매체에 저장될 수 있지만 이에 제한되지는 않는다.
본 명세서에서 단어들 "예" 또는 "예시적인"은 예, 사례 또는 실례로서 기능하는 것을 의미하는 것으로 사용된다. 본 명세서에서 "예" 또는 "예시적인"으로서 설명되는 임의의 양태 또는 설계가 다른 양태들 또는 설계들에 비해 반드시 바람직하거나 유리한 것으로 해석될 필요는 없다. 오히려, 단어들 "예" 또는 "예시적인"의 사용은 구체적인 방식으로 개념들을 제시하도록 의도된 것이다. 이 출원에서 사용될 때, 용어 "또는"은 배타적 "또는"이 아니라 포함적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 명시되거나 문맥상 명백하지 않다면, "X는 A 또는 B를 포함한다"라는 것은 자연스런 포함적 치환들 중 임의의 것을 의미하는 것으로 의도된다. 즉, X가 A를 포함하거나, X가 B를 포함하거나, 또는 X가 A 및 B 양자 모두를 포함하면, 전술한 사례들 중 임의의 것에서 "X는 A 또는 B를 포함한다"가 충족된다. 게다가, 단수형은 이 출원 및 첨부된 청구항들에서 사용될 때 일반적으로, 단수 형태에 관한 것으로 달리 명시되거나 문맥상 명백하지 않는 한, "하나 이상"을 의미하는 것으로 해석될 수 있다. 더욱이, 전체에 걸쳐 용어 "구현" 또는 "일 구현"의 사용은 이와 같이 설명되지 않는 한 동일한 구현을 의미하는 것으로 의도되지는 않는다. 본 명세서에서 사용되는 바와 같은 용어들 "제1", "제2", "제3", "제4" 등은 상이한 요소들을 구별하기 위한 라벨들로서 의미되며, 반드시 그 수치 지정에 따라 서수 의미를 갖지는 않을 수 있다.
설명의 간소화를 위해, 방법들은 본 명세서에서 일련의 동작들로서 묘사되고 설명된다. 그러나, 본 개시내용에 따른 동작들은 다양한 순서들로 및/또는 동시에, 및 본 명세서에서 제시 및 설명되지 않은 다른 동작들과 함께 발생할 수 있다. 더욱이, 예시된 동작들 모두가 개시된 주제에 따른 방법들을 구현하는데 요구되지는 않을 수 있다. 또한, 관련 기술분야의 통상의 기술자는 이러한 방법들이 대안적으로 상태도 또는 이벤트들을 통해 일련의 상호관련된 상태들로 표현될 수 있다는 것을 이해하고 알 것이다. 추가적으로, 본 명세서에 개시된 방법들은 이러한 방법들을 컴퓨팅 디바이스들에 전송 및 전달하는 것을 용이하게 하기 위해 제조 물품 상에 저장될 수 있다는 점을 이해해야 한다. 본 명세서에서 사용되는 바와 같은 제조 물품이라는 용어는 임의의 컴퓨터 판독가능한 디바이스 또는 저장 매체로부터 액세스가능한 컴퓨터 프로그램을 포함하는 것으로 의도된다.
이러한 설명은 예시이며 제한적이지 않은 것으로 이해되어야 한다. 이러한 설명을 읽고 이해하면, 다른 구현들이 관련 기술분야의 통상의 기술자에게 명백할 것이다. 따라서, 본 개시내용의 범위는, 첨부된 청구항들에 부여되는 등가물들의 전체 범위와 함께, 이러한 청구항들과 관련하여 결정될 수 있다.

Claims (20)

  1. 머신 학습 모델을 트레이닝하기 위한 방법으로서,
    상기 머신 학습 모델에 대한 트레이닝 데이터를 생성하는 단계를 포함하며,
    상기 트레이닝 데이터를 생성하는 단계는,
    제1 트레이닝 입력을 생성하는 단계 - 상기 제1 트레이닝 입력은 콘텐츠 공유 플랫폼 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 소비된 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 포함함 -;
    제2 트레이닝 입력을 생성하는 단계 - 상기 제2 트레이닝 입력은 상기 콘텐츠 공유 플랫폼 상에서 제2 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 하나 이상의 현재 제시되는 라이브-스트림 미디어 아이템을 포함함 -;
    상기 제1 트레이닝 입력 및 상기 제2 트레이닝 입력에 대한 제1 타겟 출력을 생성하는 단계 - 상기 제1 타겟 출력은 라이브-스트림 미디어 아이템 및 사용자가 상기 라이브-스트림 미디어 아이템을 소비할 것인지 여부를 식별함 -; 및
    (i) 상기 제1 트레이닝 입력 및 상기 제2 트레이닝 입력을 포함하는 트레이닝 입력들의 세트, 및 (ii) 상기 제1 타겟 출력을 포함하는 타겟 출력들의 세트에 대해 상기 머신 학습 모델을 트레이닝하기 위한 상기 트레이닝 데이터를 제공하는 단계
    를 포함하는, 머신 학습 모델을 트레이닝하기 위한 방법.
  2. 제1항에 있어서,
    상기 트레이닝 데이터를 생성하는 단계는,
    제3 트레이닝 입력을 생성하는 단계 - 상기 제3 트레이닝 입력은 상기 콘텐츠 공유 플랫폼 상에서 상기 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 상기 제1 복수의 사용자 클러스터의 사용자들에 의한 사용자 액세스들과 연관된 제1 컨텍스트 정보를 포함함 -; 및
    제4 트레이닝 입력을 생성하는 단계 - 상기 제4 트레이닝 입력은 상기 콘텐츠 공유 플랫폼 상에서 상기 하나 이상의 현재 제시되는 라이브-스트림 미디어 아이템을 소비하고 있는 상기 제2 복수의 사용자 클러스터의 사용자들에 의한 사용자 액세스들과 연관된 제2 컨텍스트 정보를 포함함 -;
    를 더 포함하며,
    상기 트레이닝 입력들의 세트는 상기 제1, 제2, 제3 및 제4 트레이닝 입력을 포함하는, 머신 학습 모델을 트레이닝하기 위한 방법.
  3. 제1항에 있어서,
    상기 트레이닝 데이터를 생성하는 단계는,
    제5 트레이닝 입력을 생성하는 단계 - 상기 제5 트레이닝 입력은 상기 콘텐츠 공유 플랫폼 상에서 상기 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 상기 제1 복수의 사용자 클러스터의 사용자들과 연관된 제1 사용자 정보를 포함함 -; 및
    제6 트레이닝 입력을 생성하는 단계 - 상기 제6 트레이닝 입력은 상기 콘텐츠 공유 플랫폼 상에서 상기 하나 이상의 현재 제시되는 라이브-스트림 미디어 아이템을 소비하고 있는 상기 제2 복수의 사용자 클러스터의 사용자들과 연관된 제2 사용자 정보를 포함함 -;
    를 더 포함하며,
    상기 트레이닝 입력들의 세트는 상기 제1, 제2, 제5 및 제6 트레이닝 입력을 포함하는, 머신 학습 모델을 트레이닝하기 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 트레이닝 입력들의 세트의 각각의 트레이닝 입력은 상기 타겟 출력들의 세트 내의 각각의 타겟 출력과 연관되는, 머신 학습 모델을 트레이닝하기 위한 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 트레이닝 입력은 상기 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템 중 제1 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 상기 제1 복수의 사용자 클러스터 중 제1 사용자 클러스터를 식별하고, 상기 제1 이전에 제시된 라이브-스트림 미디어 아이템은 상기 제1 사용자 클러스터에게 라이브 스트리밍되었던 것인, 머신 학습 모델을 트레이닝하기 위한 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 트레이닝 입력은 상기 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템 중 제2 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 상기 제1 복수의 사용자 클러스터 중 제2 사용자 클러스터를 식별하고, 상기 제2 이전에 제시된 라이브-스트림 미디어 아이템은 라이브 스트리밍된 후에 상기 제2 사용자 클러스터에게 제시되었던 것인, 머신 학습 모델을 트레이닝하기 위한 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 트레이닝 입력은 상기 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템 중 복수의 상이한 이전에 제시된 라이브-스트림 미디어 아이템들을 소비한 상기 제1 복수의 사용자 클러스터 중 제3 사용자 클러스터를 식별하고, 상기 상이한 이전에 제시된 라이브-스트림 미디어 아이템들은 상기 제3 사용자 클러스터에 라이브 스트리밍되었고 후속하여 라이브-스트림 미디어 아이템들의 유사한 카테고리로 분류되었던 것인, 머신 학습 모델을 트레이닝하기 위한 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 콘텐츠 공유 플랫폼에의 상기 사용자에 의한 사용자 액세스의 표시를 수신하는 단계;
    상기 머신 학습 모델에 의해, 테스트 라이브-스트림 미디어 아이템 및 상기 사용자가 상기 테스트 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별하는 테스트 출력을 생성하는 단계;
    상기 사용자에게 상기 테스트 라이브-스트림 미디어 아이템의 추천을 제공하는 단계;
    상기 추천을 고려한 상기 사용자에 의한 상기 테스트 라이브-스트림 미디어 아이템의 소비의 표시를 수신하는 단계; 및
    상기 사용자에 의한 상기 테스트 라이브-스트림 미디어 아이템의 소비의 표시에 응답하여, 상기 소비의 표시에 기반하여 상기 머신 학습 모델을 조정하는 단계
    를 더 포함하는, 머신 학습 모델을 트레이닝하기 위한 방법.
  9. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 머신 학습 모델은 상기 콘텐츠 공유 플랫폼에의 새로운 사용자에 의한 새로운 사용자 액세스를 처리하고, (i) 현재 라이브-스트림 미디어 아이템, 및 (ii) 상기 새로운 사용자가 상기 현재 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 표시하는 하나 이상의 출력을 생성하도록 구성되는, 머신 학습 모델을 트레이닝하기 위한 방법.
  10. 방법으로서,
    콘텐츠 공유 플랫폼에의 사용자에 의한 사용자 액세스의 표시를 수신하는 단계;
    상기 사용자 액세스의 표시를 수신하는 것에 응답하여,
    상기 콘텐츠 공유 플랫폼에의 상기 사용자 액세스와 연관된 컨텍스트 정보를 포함하는 제1 입력, 상기 사용자 액세스와 연관된 사용자 정보를 포함하는 제2 입력, 및 상기 사용자 액세스와 동시에 라이브 스트리밍되고 상기 콘텐츠 공유 플랫폼 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 라이브-스트림 미디어 아이템들을 포함하는 제3 입력을 트레이닝된 머신 학습 모델에게 제공하는 단계; 및
    상기 트레이닝된 머신 학습 모델로부터, (i) 복수의 라이브-스트림 미디어 아이템, 및 (ii) 상기 사용자가 상기 복수의 라이브-스트림 미디어 아이템의 각각의 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별하는 하나 이상의 출력을 획득하는 단계
    를 포함하는, 방법.
  11. 제10항에 있어서,
    상기 사용자가 상기 복수의 라이브-스트림 미디어 아이템의 각각의 라이브-스트림 미디어 아이템을 소비할 것이라는 상기 신뢰도 레벨을 고려하여 상기 복수의 라이브-스트림 미디어 아이템 중 하나 이상에 대한 추천을 상기 콘텐츠 공유 플랫폼의 상기 사용자에게 제공하는 단계를 더 포함하는, 방법.
  12. 제11항에 있어서,
    상기 복수의 라이브-스트림 미디어 아이템 중 하나 이상에 대한 추천을 상기 콘텐츠 공유 플랫폼의 상기 사용자에게 제공하는 단계는,
    상기 복수의 라이브-스트림 미디어 아이템 각각과 연관된 상기 신뢰도 레벨이 임계 레벨을 초과하는지 여부를 결정하는 단계; 및
    상기 복수의 라이브-스트림 미디어 아이템 중 하나 이상과 연관된 상기 신뢰도 레벨이 상기 임계 레벨을 초과한다고 결정하는 것에 응답하여, 상기 복수의 라이브-스트림 미디어 아이템 중 하나 이상의 각각에 대한 추천을 상기 사용자에게 제공하는 단계
    를 포함하는, 방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 트레이닝된 머신 학습 모델은 상기 콘텐츠 공유 플랫폼 상에서 제2 복수의 사용자 클러스터의 사용자들에 의해 소비된 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 포함하는 제1 트레이닝 입력을 이용하여 트레이닝되었던 것인, 방법.
  14. 제13항에 있어서,
    상기 제1 트레이닝 입력은 제1 사용자 클러스터의 사용자들에게 라이브 스트리밍되었던 제1 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 상기 제2 복수의 사용자 클러스터 중 상기 제1 사용자 클러스터를 식별하는, 방법.
  15. 제13항에 있어서,
    상기 제1 트레이닝 입력은 라이브 스트리밍된 후에 제2 사용자 클러스터의 사용자들에게 제시되었던 제2 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 상기 제2 복수의 사용자 클러스터 중 제2 사용자 클러스터를 식별하는, 방법.
  16. 제13항에 있어서,
    상기 제1 트레이닝 입력은 제3 사용자 클러스터의 사용자들에게 라이브 스트리밍되었고 후속하여 라이브-스트림 미디어 아이템들의 유사한 카테고리로 분류되었던 상이한 이전에 제시된 라이브-스트림 미디어 아이템들을 소비한 상기 제2 복수의 사용자 클러스터 중 제3 사용자 클러스터를 식별하는, 방법.
  17. 시스템으로서,
    메모리; 및
    상기 메모리에 결합된 처리 디바이스
    를 포함하며, 상기 처리 디바이스는,
    콘텐츠 공유 플랫폼에의 사용자에 의한 사용자 액세스의 표시를 수신하고;
    상기 사용자 액세스의 표시를 수신하는 것에 응답하여,
    상기 콘텐츠 공유 플랫폼에의 상기 사용자 액세스와 연관된 컨텍스트 정보를 포함하는 제1 입력, 상기 콘텐츠 공유 플랫폼에의 상기 사용자 액세스와 연관된 사용자 정보를 포함하는 제2 입력, 및 상기 사용자 액세스와 동시에 라이브 스트리밍되고 상기 콘텐츠 공유 플랫폼 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 라이브-스트림 미디어 아이템들을 포함하는 제3 입력을 트레이닝된 머신 학습 모델에게 제공하며;
    상기 트레이닝된 머신 학습 모델로부터, 복수의 라이브-스트림 미디어 아이템, 및 상기 사용자가 상기 복수의 라이브-스트림 미디어 아이템의 각각의 라이브-스트림 미디어 아이템을 소비할 것이라는 신뢰도 레벨을 식별하는 하나 이상의 출력을 획득하도록 구성되는, 시스템.
  18. 제17항에 있어서,
    상기 처리 디바이스는 추가로,
    상기 사용자가 상기 복수의 라이브-스트림 미디어 아이템의 각각의 라이브-스트림 미디어 아이템을 소비할 것이라는 상기 신뢰도 레벨을 고려하여 상기 복수의 라이브-스트림 미디어 아이템 중 하나 이상에 대한 추천을 상기 콘텐츠 공유 플랫폼의 상기 사용자에게 제공하도록 구성되는, 시스템.
  19. 시스템으로서,
    메모리; 및
    상기 메모리에 결합된 처리 디바이스
    를 포함하며,
    상기 처리 디바이스는 머신 학습 모델에 대한 트레이닝 데이터를 생성하도록 구성되며,
    상기 트레이닝 데이터를 생성하기 위해, 상기 처리 디바이스는,
    제1 트레이닝 입력을 생성하고 - 상기 제1 트레이닝 입력은 콘텐츠 공유 플랫폼 상에서 제1 복수의 사용자 클러스터의 사용자들에 의해 소비된 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 포함함 -;
    제2 트레이닝 입력을 생성하고 - 상기 제2 트레이닝 입력은 상기 콘텐츠 공유 플랫폼 상에서 제2 복수의 사용자 클러스터의 사용자들에 의해 현재 소비되고 있는 하나 이상의 현재 제시되는 라이브-스트림 미디어 아이템을 포함함 -;
    상기 제1 트레이닝 입력 및 상기 제2 트레이닝 입력에 대한 제1 타겟 출력을 생성하며 - 상기 제1 타겟 출력은 라이브-스트림 미디어 아이템 및 사용자가 상기 라이브-스트림 미디어 아이템을 소비할 것인지 여부를 식별함 -;
    (i) 상기 제1 트레이닝 입력 및 상기 제2 트레이닝 입력을 포함하는 트레이닝 입력들의 세트, 및 (ii) 상기 제1 타겟 출력을 포함하는 타겟 출력들의 세트에 대해 상기 머신 학습 모델을 트레이닝하기 위한 상기 트레이닝 데이터를 제공하도록 구성되는, 시스템.
  20. 제19항에 있어서,
    상기 트레이닝 데이터를 생성하기 위해, 상기 처리 디바이스는 추가로,
    제3 트레이닝 입력을 생성하고 - 상기 제3 트레이닝 입력은 상기 콘텐츠 공유 플랫폼 상에서 상기 하나 이상의 이전에 제시된 라이브-스트림 미디어 아이템을 소비한 상기 제1 복수의 사용자 클러스터의 사용자들에 의한 사용자 액세스들과 연관된 제1 컨텍스트 정보를 포함함 -;
    제4 트레이닝 입력을 생성하도록 구성되며,
    상기 제4 트레이닝 입력은 상기 콘텐츠 공유 플랫폼 상에서 상기 하나 이상의 현재 제시되는 라이브-스트림 미디어 아이템을 소비하고 있는 상기 제2 복수의 사용자 클러스터의 사용자들에 의한 사용자 액세스들과 연관된 제2 컨텍스트 정보를 포함하고,
    상기 트레이닝 입력들의 세트는 상기 제1, 제2, 제3 및 제4 트레이닝 입력을 포함하는, 시스템.
KR1020197032053A 2017-05-22 2018-02-22 머신 학습을 이용한 라이브-스트림 콘텐츠의 추천 KR102281863B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217023031A KR102405115B1 (ko) 2017-05-22 2018-02-22 머신 학습을 이용한 라이브-스트림 콘텐츠의 추천

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/601,081 2017-05-22
US15/601,081 US20180336645A1 (en) 2017-05-22 2017-05-22 Using machine learning to recommend live-stream content
PCT/US2018/019247 WO2018217255A1 (en) 2017-05-22 2018-02-22 Using machine learning to recommend live-stream content

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217023031A Division KR102405115B1 (ko) 2017-05-22 2018-02-22 머신 학습을 이용한 라이브-스트림 콘텐츠의 추천

Publications (2)

Publication Number Publication Date
KR20190132476A KR20190132476A (ko) 2019-11-27
KR102281863B1 true KR102281863B1 (ko) 2021-07-26

Family

ID=61617108

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197032053A KR102281863B1 (ko) 2017-05-22 2018-02-22 머신 학습을 이용한 라이브-스트림 콘텐츠의 추천
KR1020217023031A KR102405115B1 (ko) 2017-05-22 2018-02-22 머신 학습을 이용한 라이브-스트림 콘텐츠의 추천

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217023031A KR102405115B1 (ko) 2017-05-22 2018-02-22 머신 학습을 이용한 라이브-스트림 콘텐츠의 추천

Country Status (6)

Country Link
US (1) US20180336645A1 (ko)
EP (1) EP3603092A1 (ko)
JP (2) JP6855595B2 (ko)
KR (2) KR102281863B1 (ko)
CN (2) CN114896492A (ko)
WO (1) WO2018217255A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10945014B2 (en) * 2016-07-19 2021-03-09 Tarun Sunder Raj Method and system for contextually aware media augmentation
US11416129B2 (en) * 2017-06-02 2022-08-16 The Research Foundation For The State University Of New York Data access interface
WO2019035619A1 (en) * 2017-08-14 2019-02-21 Samsung Electronics Co., Ltd. METHOD FOR DISPLAYING CONTENT AND ASSOCIATED ELECTRONIC DEVICE
AU2017431788B2 (en) * 2017-09-14 2023-09-21 Rovi Guides, Inc. Systems and methods for managing user subscriptions to content sources
US11100559B2 (en) * 2018-03-29 2021-08-24 Adobe Inc. Recommendation system using linear stochastic bandits and confidence interval generation
EP3588964A1 (en) * 2018-06-26 2020-01-01 InterDigital VC Holdings, Inc. Metadata translation in hdr distribution
AU2019370178A1 (en) * 2018-10-29 2021-06-03 Commercial Streaming Solutions Inc. System and method for customizing information for display to multiple users via multiple displays
CN109816495B (zh) * 2019-02-13 2020-11-24 北京达佳互联信息技术有限公司 商品信息推送方法、系统及服务器和存储介质
US11567335B1 (en) * 2019-06-28 2023-01-31 Snap Inc. Selector input device to target recipients of media content items
CN111339327B (zh) * 2020-02-20 2024-05-07 北京达佳互联信息技术有限公司 作品推荐方法及装置、服务器和存储介质
US11190843B2 (en) * 2020-04-30 2021-11-30 At&T Intellectual Property I, L.P. Content recommendation techniques with reduced habit bias effects
US11070881B1 (en) 2020-07-07 2021-07-20 Verizon Patent And Licensing Inc. Systems and methods for evaluating models that generate recommendations
CN112035683A (zh) * 2020-09-30 2020-12-04 北京百度网讯科技有限公司 用户交互信息处理模型生成方法和用户交互信息处理方法
US11470370B2 (en) * 2021-01-15 2022-10-11 M35Creations, Llc Crowdsourcing platform for on-demand media content creation and sharing
CN115002490A (zh) * 2021-03-01 2022-09-02 山东云缦智能科技有限公司 依据用户观看行为自动生成多频道预览的方法及系统
CN113032029A (zh) * 2021-03-26 2021-06-25 北京字节跳动网络技术有限公司 音乐应用的续听处理方法、装置及设备
US11758243B2 (en) * 2021-11-24 2023-09-12 Disney Enterprises, Inc. Automated generation of personalized content thumbnails
WO2023126797A1 (en) * 2021-12-29 2023-07-06 AMI Holdings Limited Automated categorization of groups in a social network
US11983386B2 (en) * 2022-09-23 2024-05-14 Coupang Corp. Computerized systems and methods for automatic generation of livestream carousel widgets
JP7316598B1 (ja) * 2023-04-24 2023-07-28 17Live株式会社 サーバ

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003079688A1 (en) * 2002-03-19 2003-09-25 Koninklijke Philips Electronics N.V. Recommendation system using a plurality of recommendation scores
US20170142462A1 (en) 2015-11-16 2017-05-18 Telefonaktiebolaget L M Ericsson (Publ) Techniques for generating and providing personalized dynamic live content feeds

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757250B1 (en) * 2001-04-04 2010-07-13 Microsoft Corporation Time-centric training, inference and user interface for personalized media program guides
US8301692B1 (en) * 2009-06-16 2012-10-30 Amazon Technologies, Inc. Person to person similarities based on media experiences
JP5445085B2 (ja) * 2009-12-04 2014-03-19 ソニー株式会社 情報処理装置、およびプログラム
WO2013126589A1 (en) * 2012-02-21 2013-08-29 Ooyala, Inc. Automatically recommending content
US9460401B2 (en) * 2012-08-20 2016-10-04 InsideSales.com, Inc. Using machine learning to predict behavior based on local conditions
US10182766B2 (en) * 2013-10-16 2019-01-22 University of Central Oklahoma Intelligent apparatus for patient guidance and data capture during physical therapy and wheelchair usage
CN103747343B (zh) * 2014-01-09 2018-01-30 深圳Tcl新技术有限公司 资源分时段推荐的方法和装置
US10289962B2 (en) * 2014-06-06 2019-05-14 Google Llc Training distilled machine learning models
SE1550325A1 (en) * 2015-03-18 2016-09-19 Lifesymb Holding Ab Optimizing recommendations in a system for assessing mobility or stability of a person
CN105392020B (zh) * 2015-11-19 2019-01-25 广州华多网络科技有限公司 一种互联网视频直播方法,及系统
CN105791910B (zh) * 2016-03-08 2019-02-12 北京四达时代软件技术股份有限公司 一种多媒体资源推送系统及方法
CN106658205B (zh) * 2016-11-22 2020-09-04 广州华多网络科技有限公司 直播间视频流合成控制方法、装置及终端设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003079688A1 (en) * 2002-03-19 2003-09-25 Koninklijke Philips Electronics N.V. Recommendation system using a plurality of recommendation scores
US20170142462A1 (en) 2015-11-16 2017-05-18 Telefonaktiebolaget L M Ericsson (Publ) Techniques for generating and providing personalized dynamic live content feeds

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zhang Dai et. al., "A Real-Time Video Recommendation System For Live Programs", Proceedings of IC-NIDC 2014, Pages 498-502(2014. 09. 19.) 1부.*

Also Published As

Publication number Publication date
JP2020521207A (ja) 2020-07-16
KR20190132476A (ko) 2019-11-27
JP7154334B2 (ja) 2022-10-17
KR102405115B1 (ko) 2022-06-02
CN110574387A (zh) 2019-12-13
WO2018217255A1 (en) 2018-11-29
JP6855595B2 (ja) 2021-04-07
KR20210094148A (ko) 2021-07-28
US20180336645A1 (en) 2018-11-22
CN110574387B (zh) 2022-05-10
JP2021103543A (ja) 2021-07-15
CN114896492A (zh) 2022-08-12
EP3603092A1 (en) 2020-02-05

Similar Documents

Publication Publication Date Title
KR102281863B1 (ko) 머신 학습을 이용한 라이브-스트림 콘텐츠의 추천
US11570498B2 (en) Using machine learning and other models to determine a user preference to cancel a stream or download
Véras et al. A literature review of recommender systems in the television domain
US10347294B2 (en) Generating moving thumbnails for videos
US20220107978A1 (en) Method for recommending video content
US11907817B2 (en) System and methods for machine learning training data selection
US20230164369A1 (en) Event progress detection in media items
US20240193475A1 (en) System and methods for machine learning training data selection
US11977599B2 (en) Matching video content to podcast episodes
US11727046B2 (en) Media item matching using search query analysis
US20230379520A1 (en) Time marking of media items at a platform using machine learning
US20230409582A1 (en) Precision of content matching systems at a platform
Dong et al. Cooperative Filtering Program Recommendation Algorithm Based on User Situations and Missing Values Estimation
US20240155195A1 (en) Recommendation system forward simulator
US20230023973A1 (en) System and methods for changing a size of a group of users to be presented with a media item

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