BR112014020459B1 - Método e mídia de armazenamento para conteúdo de recomendação automática - Google Patents

Método e mídia de armazenamento para conteúdo de recomendação automática Download PDF

Info

Publication number
BR112014020459B1
BR112014020459B1 BR112014020459-4A BR112014020459A BR112014020459B1 BR 112014020459 B1 BR112014020459 B1 BR 112014020459B1 BR 112014020459 A BR112014020459 A BR 112014020459A BR 112014020459 B1 BR112014020459 B1 BR 112014020459B1
Authority
BR
Brazil
Prior art keywords
video
videos
score
metrics
user
Prior art date
Application number
BR112014020459-4A
Other languages
English (en)
Other versions
BR112014020459A2 (pt
Inventor
Zhichen Xu
Sami Abu-El-Haija
Lei Huang
Nimrod Hoofien
Original Assignee
Ooyala, Inc
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 Ooyala, Inc filed Critical Ooyala, Inc
Publication of BR112014020459A2 publication Critical patent/BR112014020459A2/pt
Publication of BR112014020459B1 publication Critical patent/BR112014020459B1/pt

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/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/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/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/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/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)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (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

CONTEÚDO DE RECOMENDAÇÃO AUTOMÁTICA. A presente invenção refere-se a técnicas que são proporcionadas para selecionar quais vídeos para recomendar aos usuários por prever o grau ao qual recomendar cada vídeo que irá satisfazer determinados objetivos. Para se realizar as referidas previsões, um mecanismo de aprendizado de máquina treinado é alimentado não só com valores de parâmetro de filtragem colaborativa e valores de parâmetro de filtragem com base em conteúdo. No caso de recomendações de vídeo-a-vídeo, os valores de parâmetro de filtragem colaborativa podem ser com base em um par de vídeo que inclui um vídeo no qual um usuário já tenha demonstrado interesse. O mecanismo de aprendizado de máquina gera uma marca de aprendizado de máquina para cada vídeo. As marcas de aprendizado de máquina são usadas como uma base para selecionar quais vídeos recomendar a um usuário particular.

Description

Campo da Invenção
[001] A presente invenção se refere a recomendações automatizadas e, mais especificamente, a um sistema para conteúdo de recomendação automática um usuário.
Antecedentes
[002] Tornou-se cada vez mais comum para o conteúdo, tal como recursos de vídeo, a serem encaminhados aos usuários em uma rede. Filmes, shows de televisão, vídeos para TV, vídeos educativos, e vídeos de música são meramente poucos exemplos dos tipos de recursos de vídeo que são atualmente proporcionadas na Internet, redes de telefonia, intranets, conexões a cabo, etc. Os recursos de vídeo que são obtidos em uma rede podem ser exibidos após todos os recursos de vídeo terem sido baixados, ou na medida em que os recursos de vídeo estão sendo enviados (transmitido).
[003] Considerando a infinidade de recursos de vídeo que estão disponíveis para consumo, se torna cada vez mais importante se ajudar os usuários a identificar os recursos de vídeo que são mais prováveis de serem de interesse deles. Por exemplo, um usuário terá uma experiência muito melhor com um sistema que recomenda ao usuário dez vídeos nos quais o usuário seja altamente interessado, do que com um sistema que meramente proporcione ferramentas para pesquisar pelos referidos mesmos dez vídeos dentre um milhão vídeos menos interessantes.
[004] Várias abordagens foram usadas para recomendar os recursos de vídeo aos usuários, cada um dos quais tem determinados inconvenientes. Por exemplo, uma "tendência" de abordagem é de manter o acompanhamento de quais recursos de vídeo são mais consumidos pela população de usuários como um todo, e para recomendar os recursos de vídeo mais consumidos para todos os usuários. Outra tendência de abordagem é de manter o acompanhamento de quais vídeos estão atualmente experimentando uma onda de interesse entre toda a população de usuários, e para recomendar os referidos vídeos a todos os usuários. A referida tendência de abordagens de "um sapato serve para todos" funciona bem para os usuários que têm interesses que correspondem ao usuário médio, mas não para todos os usuários.
[005] Uma abordagem de "vídeo-a-vídeo" é de recomendar, a cada usuário, recursos de vídeo que tenham algo em comum com um recurso de vídeo que tenha sido apenas consumido por aquele usuário. Por exemplo, após um usuário ter consumido um filme X, o usuário pode ser apresentado com recomendações para filmes que são do mesmo gênero que o filme X, que tenham os mesmos atores principais que o filme X, que tenham o mesmo diretor que o filme X, que venham partir do mesmo período de tempo que o filme X, etc. A abordagem de "vídeo- a-vídeo" funciona bem quando o usuário tem uma faixa estreita de interesses, mas não funciona tão bem quando o apetite do usuário por algum tipo de vídeo particular se tornou saciado e o usuário quer agora consumir algo diferente.
[006] Uma abordagem de "usuário-para-vídeo" para recomendar recursos de vídeo envolve o monitoramento do comportamento de consumo de recursos de usuários com o tempo. Com base em um histórico do usuário de consumo de vídeo, os interesses gerais do usuário podem ser derivados. Os referidos interesses derivados podem então ser usados para identificar outros vídeos nos quais o usuário pode ser interessado, que podem ser oferecidos como recomendações. A abordagem de usuário-para-vídeo funciona bem desde que o histórico de consumo do usuário reflita com precisão os interesses atuais do usuário. Entretanto, se o usuário tem um histórico insuficiente, ou se o usuário está atualmente interessado em algo diferente do que o usuário tenha consumido no passado, as recomendações com base na abordagem de usuário-para-vídeo não são particularmente de grande ajuda.
[007] As abordagens descritas na referida seção são abordagens que podem ser seguidas, mas não necessariamente abordagens que tenham sido anteriormente concebidas ou seguidas. Portanto, a não ser que indicado de outro modo, não deve ser assumido que qualquer uma das abordagens descritas na presente seção se qualifiquem como técnica anterior meramente em virtude de suas inclusões na referida seção.
Breve Descrição dos Desenhos
[008] Nos desenhos:
[009] A figura 1 é um diagrama de bloco que ilustra como um mecanismo de aprendizado de máquina pode ser usado para prever a pontuação de interesses para vídeos, de acordo com uma modalidade da presente invenção;
[0010] A figura 2 é um diagrama de bloco que ilustra vários tipos de metadados que podem ser mantidos por um sistema de recomendação, de acordo com uma modalidade da presente invenção;
[0011] A figura 3 é um diagrama de bloco que ilustra como múltiplas pontuações podem ser alimentadas em um mecanismo de aprendizado de máquina para diferentes valores de parâmetros de ajuste do modelo, de acordo com uma modalidade da presente invenção;
[0012] A figura 4 é um diagrama de bloco que ilustra gerar múltiplos componentes de pontuação distintos, e combinar as pontuações de componente com base em objetivos, de acordo com uma modalidade da presente invenção; e
[0013] A figura 5 é um diagrama de bloco de um sistema de computação que pode ser usado para implementar um sistema de recomendação de vídeo, de acordo com uma modalidade da presente invenção.
Descrição Detalhada
[0014] Na descrição a seguir, com o objetivo de explicação, numerosos detalhes específicos são determinados de modo a proporcionar um verdadeiro entendimento da presente invenção. Será aparente, entretanto, que a presente invenção pode ser praticada sem os referidos detalhes específicos. Em outros casos, estruturas e dispositivo bem conhecidos são mostrados em forma de diagrama de bloco de modo a evitar o desnecessário obscurecimento da presente invenção.
Visão Geral
[0015] Técnicas são proporcionadas para recomendar recursos de vídeo um usuários por prever, para cada vídeo candidato, o grau no qual a recomendação do vídeo candidato a um usuário pode satisfazer um objetivo. No caso onde o objetivo é o envolvimento do usuário, as previsões podem indicar o grau no qual um usuário estaria interessado no vídeo candidato. De acordo com um aspecto da presente invenção, um mecanismo de aprendizado de máquina treinado é alimentado não só por valores de parâmetro de filtragem colaborativa (CF) mas também por valores de parâmetro filtragem com base em conteúdo (CBF). Com base nos valores de parâmetro informados, o mecanismo de aprendizado de máquina gera a pontuação de aprendizado de máquina (uma "pontuação ML") que reflete a extensão na qual recomendar o vídeo particular ao usuário irá satisfazer um objetivo particular. No caso onde o objetivo é de satisfazer os interesses de visualização do usuário, a pontuação de ML é uma previsão de quanto interessado o usuário particular estaria em visualizar o vídeo.
[0016] Apenas com o objetivo de explicação, o usuário para quem uma pontuação de ML é gerada é referido aqui como o "usuário alvo", e o vídeo para o qual a pontuação de ML é gerada é referido aqui como o "vídeo alvo". Em uma modalidade, a pontuação de ML que é gerada para cada vídeo em um conjunto de vídeos candidatos é usada como uma base para selecionar quais vídeos, a partir de entre os vídeos candidatos, para recomendar para o usuário alvo.
[0017] Quando gerar pontuações de ML, o grau no qual cada parâmetro informado afeta a pontuação de ML pode variar. Por exemplo, um vídeo que foi recentemente adicionado a uma coleção pode não ter uma quantidade significante de histórico de consumo. Portanto, os parâmetros relacionados a histórico de consumo podem ter menos efeito na pontuação de ML do que as características do vídeo em si (por exemplo, extensão, gênero, tags). Por outro lado, para um vídeo que tenha um longo histórico de consumo, os parâmetros relacionados ao histórico de consumo podem ter um efeito mais significante na pontuação de ML. Em uma modalidade, o mecanismo de aprendizado de máquina gera, junto com a pontuação de ML, uma indicação de quais características têm o maior efeito positivo na pontuação de ML. Com base na referida informação, com cada recomendação de vídeo, os usuários podem ser proporcionados com uma explicação de porque aquele vídeo particular está sendo recomendado para eles.
RECOMENDAÇÕES DE VÍDEO-PARA-VÍDEO
[0018] Recomendações de vídeo-para-vídeo se referem a recomendações de vídeo que são com base em uma indicação de interesse do usuário em um vídeo particular. Por exemplo, se um usuário tiver assistido, pesquisado, ou cotado altamente um vídeo particular, pode ser assumido que o vídeo particular é de interesse para o usuário. Com base no referido interesse, um sistema de recomendação pode recomendar outros vídeos para o usuário. Apenas com o objetivo de explicação, o vídeo no qual o usuário indicou um interesse é referido aqui como o vídeo "comparado".
USO DO APRENDIZADO DE MÁQUINA PARA COMBINAR FILTRAGEM COLABORATIVA COM FILTRAGEM COM BASE EM CONTEÚDO
[0019] Com referência à figura 1, a mesma ilustra um sistema para usar um mecanismo de aprendizado de máquina treinado 102 para gerar pontuações de ML 150 para recursos de vídeo candidatos. O mecanismo de aprendizado de máquina 102 gera as pontuações de ML 150 com base na alimentação de entrada 106 que é específica a uma combinação de usuário particular/vídeo. A alimentação de entrada 106 inclui diversos tipos de parâmetro informados. Na modalidade ilustrada, a alimentação de entrada 106 inclui informações de filtragem colaborativa (CF) 108, informações de filtragem com base em conteúdo (CBF) 110, assim como outras informações 112. Cada uma das referidas informações deve ser descrita em maiores detalhes aqui posteriormente.
INFORMAÇÕES DE FILTRAGEM COLABORATIVA (CF)
[0020] Informações de filtragem colaborativa 108 são quaisquer informações que se referem a opiniões ou comportamentos do usuário. Filtragem colaborativa é com base no pressuposto de que duas pessoas que têm opiniões similares sobre uma coisa são propensas a terem opiniões similares acerca de outra coisa. No contexto de prever interesse do usuário em recursos de vídeo, a filtragem colaborativa assume que se um usuário alvo apreciou assistir a diversos dos mesmos vídeos que outro usuário, então o usuário alvo é provável de gostar de assistir a um vídeo que o outro usuário gostou, mas que o usuário alvo ainda não viu.
[0021] Informação sobre as opiniões de usuários pode ser obtida ou derivada em uma variedade de modos. Por exemplo, os tipos de vídeos que um usuário está interessado em são implicitamente refletido no histórico de visualização de vídeo do usuário. Assim sendo, as informações de filtragem colaborativa 108 podem incluir dados acerca do histórico de visualização de vídeo do usuário alvo, o histórico de visualização de usuários que são similares aos do usuário alvo, e/ou o histórico de visualização de toda a população de espectadores.
[0022] Informações de filtragem colaborativa 108 podem também incluir informação demográfica, com base no pressuposto de que usuários com características demográficas similares terão similar interesses similares de visualização de vídeo. A referida informação demográfica pode incluir, por exemplo, a idade, gênero, local geográfico, faixa de renda, etc. de usuários. As informações de filtragem colaborativa 108 podem também incluir interesses que os usuários explicitamente identificaram por, por exemplo, preencher uma pesquisa de preferência de vídeo ou classificando vídeos anteriormente vistos.
[0023] No contexto das recomendações de vídeo-para-vídeo, as informações de CF 108 podem especificamente indicar o comportamento do usuário na medida em que ele se refere ao par de vídeos de vídeo comparado/alvo (o "par de vídeo"). Exemplos de vários tipos de métricas de CF que podem ser mantidas para um par de vídeos são descritas aqui posteriormente em detalhes.
[0024] Na modalidade ilustrada na figura 1, o mecanismo de aprendizado de máquina 102 é alimentado não só com as características de CF brutas 120 mas também com a pontuação de CF 124 produzida por um analisador de CF 118 com base nas características brutas de CF. A pontuação de CF é uma previsão, pelo analisador de CF 118 que implementa um algoritmo de filtragem de colaboração, do grau no qual proporcionar o vídeo alvo para o usuário alvo irá satisfazer um objetivo. Apenas com o objetivo de explicação, deve ser assumido que o objetivo é satisfazer o interesse de visualização do espectador alvo. Entretanto, como deve ser descrito em maiores detalhes aqui posteriormente, o objetivo alvo pode ser alguma outra coisa além de satisfazer o interesse do espectador, ou pode ser uma combinação de satisfazer o interesse do espectador e um ou mais outros objetivos.
[0025] Como é evidente pela figura 1, em vez de simplesmente usar a pontuação de CF 124 como a previsão do interesse do usuário alvo no vídeo alvo, a pontuação de CF 124 é simplesmente uma das diversas informações que é alimentada no mecanismo de aprendizado de máquina 102 para gerar a pontuação de ML 150. Ultimamente, o mecanismo de aprendizado de máquina 102 determina o quão pesadamente a pontuação de CF 124 deve ser ponderada no sentido de gerar a pontuação de ML 150, que é usada como a base para selecionar quais vídeos recomendar.
INFORMAÇÕES DE FILTRAGEM COM BASE EM CONTEÚDO (CBF)
[0026] Informações de filtragem com base em conteúdo 110 são quaisquer informações que se referem a quão similar o conteúdo do vídeo alvo é para o conteúdo de outros vídeos. Apenas com o objetivo de explicação, uma modalidade deve ser descrita na qual as recomendações de vídeo-para-vídeo são geradas. Assim sendo, as informações de filtragem com base em conteúdo se focalizam na similaridade entre um par de vídeos compreendendo o vídeo alvo e o vídeo comparado. Entretanto, em modalidades alternativas, as informações de filtragem com base em conteúdo 110 podem incluir informação característica para qualquer número de outros vídeos, tal como o conjunto de vídeos que o usuário alvo recentemente visualizou, pesquisou, ou cotou.
[0027] Como mencionado acima, o vídeo comparado é tipicamente um vídeo no qual o usuário alvo já tenha indicado um interesse. Por exemplo, o vídeo comparado pode ser um vídeo que o usuário alvo tenha visto recentemente, ou ao qual o usuário alvo tenha recentemente dado uma alta cotação.
[0028] Similar às informações de filtro de colaboração 108, as informações com base em conteúdo 110 também incluem uma pontuação que é derivada a partir das informações brutas. Especificamente, as informações de filtragem com base em conteúdo 110 incluem características de CBF brutas 126, e uma pontuação de CBF 130 que é gerada por um analisador de CBF 128 com base nas características de CBF brutas 126. As características de CBF brutas 126 podem incluir qualquer número de características relacionadas ao vídeo alvo e ao vídeo comparado. Por exemplo, as características de CBF brutas 126 podem incluir características, tais como o título, gênero, duração, atores, palavras chave, tags, etc.
[0029] A pontuação de CBF 130 é uma estimativa do quão similar o vídeo alvo é para o vídeo comparado. Presumivelmente, quanto mais alta a pontuação de CBF 130, maior a similaridade entre o vídeo alvo e o vídeo comparado. Embora alguns sistemas usem pontuações de CBF como a única base para selecionar os vídeos a recomendar, na modalidade ilustrada na figura 1, a pontuação de CBF 130 é meramente um dos muitos parâmetros informados alimentados ao mecanismo de aprendizado de máquina 102. O peso atual dado à pontuação de CBF 130 em derivar a pontuação de ML 150 irá variar com base em outras informações para o mecanismo de aprendizado de máquina 102, e o conjunto de treinamento pelo qual o mecanismo de aprendizado de máquina 102 foi treinado.
OUTRAS INFORMAÇÕES PARA O MECANISMO DE APRENDIZADO DE MÁQUINA
[0030] Não há de fato limites para o tipo e a natureza de outras informações 112 que podem ser alimentadas ao mecanismo de aprendizado de máquina 102 para aumentar a precisão das pontuações de ML 150. Por exemplo, as outras informações podem incluir a hora do dia na qual a recomendação deve ser dada, o dia da semana na qual a recomendação deve ser dada, a velocidade de conexão do usuário alvo, etc.
AS PONTUAÇÕES DE APRENDIZADO DE MÁQUINA (ML)
[0031] Com base nas informações de filtragem colaborativa 108, as informações de filtragem com base em conteúdo 110, e qualquer número de outras informações 112, o mecanismo de aprendizado de máquina 102 gera a pontuação de ML 150. O valor da pontuação de ML 150 é uma previsão do quão bem proporcionar o vídeo alvo para o usuário alvo irá satisfazer um objetivo particular ou conjunto de objetivos. Em uma modalidade onde o objetivo é o envolvimento do usuário, a pontuação de ML 150 é uma previsão de quanto interesse o usuário alvo terá em visualizar o vídeo alvo.
[0032] O processo de gerar a pontuação de ML é repetido para cada vídeo em um conjunto de vídeos candidatos. Com base em suas respectivas pontuações de ML, os vídeos candidatos nos quais o usuário alvo é provável de ter o maior interesse são selecionados para serem apresentados para o usuário alvo como vídeos recomendados.
[0033] Ao se combinar a filtragem colaborativa (CF) com a filtragem com base em conteúdo (CBF) na maneira ilustrada na figura 1, os pontos fortes de cada tecnologia podem ser apreciados. Em particular, os julgamentos gerados pelos analisadores de CF/CBF são expostos, junto com as características brutas a partir de CF/CBF, diretamente ao mecanismo de aprendizado de máquina 102. Considerando o mecanismo de aprendizado da máquina 102 o acesso às características brutas pode proporcionar diversos benefícios.
[0034] Primeiro, ao proporcionar as características brutas ao sistema de ML, junto com as pontuações de CF/CBF, se permite que o sistema de ML combine as pontuações com base na resistência do sinal a partir de CF e CBF, respectivamente. Ou seja, os pesos relativos dados às pontuações de CF/CBF irão variar a partir de interação para interação com base nas outras informações alimentadas ao sistema de ML. Por exemplo, para novos filmes que não têm dados de comportamento suficientes, a resistência do sinal de CF é fraca. Portanto, o sistema de ML dará menos peso à pontuação de CF quando gerar a pontuação de ML. Consequentemente, as características com base em conteúdo são enfatizadas na pontuação de ML. Na medida em que o vídeo é visto por mais pessoas, os dados de comportamento irão aumentar, da mesma forma que o peso dado à pontuação de CF pelo sistema de ML quando gerar a pontuação de ML.
[0035] Segundo, ao se expor as características de CBF brutas se permite que o sistema de ML efetivamente vá de encontro ao novo problema de conteúdo com base nos aprendizados históricos de CF e CBF em sua totalidade. Por exemplo, o sistema de ML pode aprender que vídeos que compartilham palavra chave tal como 'a', 'o' não são necessariamente relacionados, enquanto que outras palavras chave compartilhadas tais como 'futebol', '49ers', podem indicar uma relação mais forte. Consequentemente, as pontuações de CBF que são altas em virtude de palavras fracas não específicas serão dadas menos peso pelo mecanismo de aprendizado de máquina 102 quando gerar pontuações de ML, enquanto as pontuações de CBF que são altas em virtude de palavras altamente específicas serão dadas mais peso pelo sistema de ML quando gerar pontuações de ML.
EXPLAINABLE RECOMENDAÇÕES
[0036] De acordo com uma modalidade, além de apresentar um usuário alvo com um conjunto de um ou mais vídeos recomendados, o sistema de recomendação também apresenta ao usuário com informação acerca do motivo pelo qual cada um dos vídeos está sendo recomendado. Especificamente, em uma modalidade, o mecanismo de aprendizado de máquina 102 proporciona a resposta 152 que indica as características que mais positivamente afetaram cada pontuação de ML 150. Por exemplo, a resposta 152 pode indicar que o vídeo alvo recebeu uma alta pontuação de ML 150 pelo fato de que a pontuação de CF 124 foi alta e, com base nas outras informações, a pontuação de CF 124 foi fortemente ponderada na geração da pontuação de ML 150. Por outro lado, a resposta 152 para um vídeo alvo pode indicar que a pontuação de CBF foi alta e, com base nas outras informações, a pontuação de CBF foi fortemente pesada na geração da pontuação de ML 150. Os referidos são meramente dois exemplos dos tipos de características que podem ter um forte efeito positivo nas pontuações de ML de vídeos.
[0037] Com base nas características que mais positivamente afetam a pontuação de ML 150, indicada pela resposta 152, o sistema de recomendação pode selecionar uma "explicação" do motivo do vídeo correspondente ter sido recomendado para o usuário alvo (isto é, o motivo pelo qual a pontuação de ML 150 foi suficientemente alta para justificar recomendar o vídeo alvo). Por exemplo: • Se a pontuação de CBF 130 é alta, e foi fortemente pesada pelo mecanismo de aprendizado de máquina 102, então o usuário pode ser apresentado com a explicação "Este vídeo é similar a X" (onde X é o vídeo comparado). • Se a pontuação de CF 124 é alta, e foi fortemente pesada pelo mecanismo de aprendizado de máquina 102, então o usuário pode ser apresentado com a explicação "Espectadores de X com frequência vêm este vídeo" (onde X é o vídeo comparado). • Se as outras informações 112 indicam que o vídeo alvo é um da maioria dos vídeos mais vistos entre toda a população de espectadores, e a referida característica teve um significante efeito na pontuação de ML 150, então o usuário pode ser apresentado com a explicação: "Este vídeo é um dos vídeos mais vistos entre todos os usuários". • Se as outras informações 112 indicam que o vídeo alvo está atualmente experimentando um impulso de interesse, e a referida característica tem um significante efeito na pontuação de ML 150, então o usuário pode ser apresentado com a explicação "Este vídeo está atualmente experimentando uma significante explosão de interesse".
[0038] Os referidos são meramente exemplos dos números de explicações de fato ilimitadas que um usuário pode ser apresentado para explicar ao usuário o motivo pelo qual o vídeo alvo está sendo recomendado. Embora os referidos exemplos sejam bastante gerais, as explicações atuais podem ser bastante específicas. Por exemplo, além de indicar que "este vídeo é similar a X", a explicação pode enumerar os vários aspectos do vídeo que são similares a X (por exemplo, gênero, atores, tema, tags, duração, pontuação musical, etc.)
MÉTRICAS PARA O SISTEMA DE RECOMENDAÇÃO
[0039] Como mencionado acima, as informações de filtragem colaborativa 108 podem incluir informação acerca do comportamento de visualização dos consumidores de vídeo. O comportamento de visualização é refletido nas características de CF brutas 120 que são alimentadas não só ao analisador de CF 118 mas também ao mecanismo de aprendizado de máquina 102. Para se obter as características de CF, o sistema de recomendação pode processar as métricas centradas no usuário a partir de registro de players (com informação rica em comportamento) para de fato produzir as métricas centradas de pares de vídeo que são incluídas na alimentação de entrada 106 para o mecanismo de aprendizado de máquina 102.
[0040] Com referência à figura 2, é um diagrama de bloco que ilustra os vários tipos de métricas que podem ser mantidas por um sistema de recomendação, de acordo com uma modalidade da presente invenção. As métricas podem incluir métricas centradas no usuário 240, métricas centradas no vídeo 242, e métricas centradas de pares de vídeo 244.
MÉTRICAS CENTRADAS NO USUÁRIO
[0041] Com relação ás métricas centradas no usuário 240, o sistema de recomendação mantém um registro de usuário para cada usuário. O registro de usuário de um usuário indica quais vídeos o usuário assistiu ou de algum modo expressou um interesse em. A figura 2 ilustra três registros de usuário 250, 252 e 254.
[0042] De acordo com uma modalidade, além de listar os videos nos quais um usuário expressou um interesse, os registros de usuário também indicam a quantidade de interesse que foi indicada pela ação do usuário, e um carimbo de tempo que indica quando o interesse foi expresso. De acordo com uma modalidade, a quantidade de interesse que um usuário expressa em um vídeo é reapresentado por um valor de "intensidade" que é armazenado junto com a listagem de vídeo dentro do registro de usuário.
[0043] O valor de intensidade pode ser determinado por uma variedade de fatores, tal como o tipo de interação que o usuário teve com o vídeo. Por exemplo, um usuário que viu um vídeo expressa mais interesse no vídeo do que um usuário que meramente pesquisa o vídeo. Dentro de cada tipo de interação, o valor de intensidade pode ser afetado por outros fatores. Por exemplo, um usuário que atribui a um vídeo uma cotação de cinco estrelas teve um interesse mais intenso no vídeo do que um usuário que dá ao vídeo uma cotação de três estrelas. Como outro exemplo, um usuário que vê todo um vídeo tem um interesse mais intenso do que um usuário que meramente assiste à primeira metade do vídeo. Assim sendo, "o percentual de vídeo visto" pode ser um fator na determinação da intensidade de interesse de um usuário. Como ainda outro exemplo, um usuário que assiste a um vídeo repetidamente tem um interesse mais intenso do que um usuário que assiste ao vídeo apenas uma vez.
MÉTRICAS CENTRADAS NO VÍDEO
[0044] O sistema de recomendação processa os registros de usuário, e realiza atualizações correspondentes para as métricas centradas no vídeo 242 mantidas para cada vídeo. Na modalidade ilustrada na figura 2, o sistema de recomendação mantém informação para cada um dos três vídeos 202, 204 e 206. Para cada vídeo, a informação mantida pelo sistema de recomendação inclui uma lista de usuários que expressaram um interesse no vídeo. As "listas de usuários interessados" de vídeos 202, 204 e 206 são ilustradas como as listas 222, 224 e 226, respectivamente. Em uma modalidade, as referidas listas incluem entradas, cada uma das quais identifica um usuário, um carimbo de tempo, e um valor de intensidade que indica o quão intensamente o usuário expressou um interesse no vídeo na hora indicada pelo carimbo de tempo.
[0045] Além das listas de usuários interessados 222, 224 e 226,metadados de vídeo são mantidos para cada um dos vídeos. Os metadados de vídeo mantidos para cada vídeo podem incluir qualquer número e tipo de informação acerca do vídeo, tal como duração, data de criação, tags, título, palavras chave, linguagem, etc. Com frequência, os metadados de vídeo iniciais para um determinado vídeo são proporcionados pelo produtor do vídeo (por exemplo, título, atores, linguagem) ou derivável a partir do vídeo em si (por exemplo, duração, formato de codificação). Entretanto, em alguns ambientes de publicação, os metadados para o vídeo podem ser mudados ou aumentados com o tempo. Por exemplo, tags de usuário podem ser adicionadas ao vídeo na medida em que mais usuários assistem ao vídeo. Como outro exemplo, o número de visualizações e a cotação do vídeo podem estar continuamente mudando na medida em que os usuários assistem e cotam o vídeo. Na modalidade ilustrada na figura 2, os metadados de vídeo para vídeos 202, 204 e 206 são ilustrados como os metadados de vídeo 232, 234 e 236, respectivamente.
MÉTRICAS CENTRADAS EM PARES DE VÍDEO
[0046] Métricas centradas em pares de vídeo 244 são métricas que se referem a um par de vídeos. Por exemplo, a figura 2 ilustra métricas para o par de vídeos 202 e 204, métricas para o par de vídeos 202 e 206, e métricas para o par de vídeos 204 e 206. Na modalidade ilustrada na figura 2, para cada par de vídeo, as métricas incluem métricas de CF e métricas de CBF.
[0047] Em geral, as métricas de CF para um par de vídeos são métricas para prever a probabilidade de que usuários que assistem um vídeo no par também assistirão o outro vídeo no par. Assim sendo, as métricas de CF 262 são métricas para prever a probabilidade de que usuários que assistem uma de vídeo 202 e 204 irão assistir o outro de vídeo 202 e 204. De modo similar, as métricas de CF 264 são métricas para prever a probabilidade de que usuários que assistem a um de vídeo 202 e 206 irão assistir o outro de vídeo 202 e 206. Finalmente, as métricas de CF 266 são métricas para prever a probabilidade de que usuários que assistem uma de vídeo 204 e 206 irão assistir o outro de vídeo 204 e 206.
[0048] Em uma modalidade, as métricas de CF para cada par de vídeos incluem pelo menos: • Tempo total gasto por todos os usuários em cada vídeo no par de vídeo • A soma do tempo mínimo gasto por usuários individuais no par de vídeos • Para os usuários que assistiram a ambos os vídeos no par, quanto tempo decorreu entre assistir os dois vídeos • A distribuição dos usuários (distingue entre o vídeo sendo assistido 100 vezes por uma pessoa, e o vídeo sendo assistido uma vez por cada uma de 100 diferentes pessoas) • A distribuição dos vídeos assistido por cada usuário que assistiu o par de vídeos (indica se os usuários que assistiram este vídeo tendem a assistir muitos vídeos, ou poucos vídeos) • Como "ser capaz de descobrir" cada vídeo no par é relativo ao outro vídeo (por exemplo, distinguir entre, por exemplo, vídeos que com frequência aparecem na mesma página ou lista, e vídeos que raramente aparecem na mesma página ou lista).
[0049] As métricas de CF para um par de vídeos podem ser derivadas a partir das listas de usuários interessados que são mantidas para cada vídeo no par. Por exemplo, o tempo total gasto por todos os usuários em cada vídeo no par de vídeos 202/204 pode ser determinado com base na informação nas listas 222 e 224. De modo similar, as métricas de CF 264 podem ser derivadas a partir das listas 222 e 226. Da mesma forma, as métricas de CF 266 podem ser derivadas a partir das listas 224 e 226.
[0050] Quando um dos vídeos em um par de vídeos é o vídeo alvo, e o outro vídeo no par de vídeos é o vídeo comparado, as métricas de CF para o par de vídeos podem ser incluídas nas características de CF brutas 120 usadas para gerar uma pontuação de ML. Especificamente, para determinar o grau no qual recomendar um vídeo X a um usuário particular irá alcançar um objetivo, onde o usuário particular tenha demonstrado um interesse em vídeo Y, as métricas de CF para o par de vídeo X/Y pode ser alimentado não só para o analisador de CF 118 mas também o mecanismo de aprendizado de máquina 102. O analisador de CF 118 poderia produzir uma pontuação de CF 124 com base nas referidas métricas de CF. A pontuação de CF 124 seria alimentada para o mecanismo de aprendizado de máquina 102, e o mecanismo de aprendizado de máquina 102 determinaria quanto peso proporcionar para a pontuação de CF 124 baseado, pelo menos em parte, nas referidas métricas de CF.
[0051] Além das métricas de CF, as métricas centradas de pares de vídeo para cada par de vídeos incluem as métricas de CBF. As métricas de CBF de um par de vídeos são métricas que em geral indicam o quanto similar são os conteúdos dos vídeos no par de vídeos. Por exemplo, as métricas de CBF de um par de vídeos podem indicar quantas tags os vídeos têm em comum, quais metadados (por exemplo, atores, diretores, palavras chave) os vídeos têm em comum, etc. Na modalidade ilustrada na figura 2, os metadados de CBF para o par de vídeos 202/204, 202/206 e 204/206 são respectivamente mostrados como as métricas de CBF 272, 274 e 276.
[0052] De acordo com uma modalidade, quando um dos vídeos em um par de vídeos é o vídeo alvo, e o outro vídeo no par de vídeos é o vídeo comparado, as métricas de CBF para o par de vídeos podem ser incluídas nas características de CBF brutas 126 usadas para gerar uma pontuação de ML. Especificamente, para determinar o grau no qual um vídeo X é similar a um vídeo Y no qual um usuário expressou um interesse, as métricas de CBF para o par de vídeo X/Y podem ser alimentadas não só para o analisador de CBF 128 mas também para o mecanismo de aprendizado de máquina 102. O analisador de CBF 128 pode produzir uma pontuação de CBF 130 com base nas referidas métricas de CBF. A pontuação de CBF 130 estaria alimentada para o mecanismo de aprendizado de máquina 102, e o mecanismo de aprendizado de máquina 102 determinaria quanto peso proporcionar para a pontuação de CBF 130 baseado, pelo menos em parte, nas referidas métricas de CBF.
ATUALIZAÇÕES POR INCREMENTOS DE DADOS DE COMPORTAMENTO
[0053] Para a pontuação de ML 150 ser a mais precisa possível, as características de CF brutas 120 que são usadas para gerar a pontuação de ML 150 devem ser as mais atuais possíveis. Entretanto, quanto maior a população que visualiza o vídeo, mais difícil é para se garantir que as características de CF brutas 120 para todos os vídeos candidatos sejam mantidas atualizadas.
[0054] Por exemplo, considerando que uma coleção de videos tenha um milhão de recursos de vídeo, e que em qualquer determinado momento, dezenas de milhares de espectadores estão visualizando os vídeos. Sob as referidas condições, a quantidade de informação de comportamento de visualização seria enorme. Uma abordagem para atualizar os dados de comportamento seria de coletar as métricas centradas no usuário em tempo real e, no final de cada semana, realizar uma atualização em lote para as métricas centradas no vídeo 242, e então para as métricas centradas de pares de vídeo 244. Entretanto, a referida abordagem resultaria no uso de relativamente obsoletas métricas centradas no vídeo 242 e métricas centradas de pares de vídeo 244 pelo sistema de recomendação.
[0055] Para se evitar o uso de métricas centradas no vídeo 242 e métricas centradas de pares de vídeo 244 obsoletas pelo sistema de recomendação, técnicas são proporcionadas para por incremento manter as métricas centradas no vídeo 242 e as métricas centradas de pares de vídeo. De acordo com uma modalidade, o sistema de recomendação adiciona em incrementos novos dados de comportamento do usuário em um histórico do usuário que resume todo o histórico do comportamento de visualização na forma de um duplo (usuário, vídeo, intensidade). Adicionalmente, o sistema de recomendação distingue nova informação a partir de velha informação, e apenas atualiza as métricas centradas de pares de vídeo 244 do par de vídeos que tem novas atividades do usuário.
[0056] Especificamente, em uma modalidade, as métricas de CF centradas em vídeo para um vídeo particular são apenas atualizadas em resposta a uma nova expressão de interesse no vídeo particular. De modo similar, as métricas centradas de pares de vídeo para um par de vídeos particulares são apenas atualizadas em resposta a uma nova expressão de interesse em pelo menos um dos vídeos que pertence ao par de vídeo. Pelo fato de muitos vídeos poderem experimentar longos períodos durante o qual nenhum usuário expressa um interesse, o percentual de métricas centradas no vídeo que precisam ser recalculadas é reduzido, desse modo reduzindo o processamento necessário para manter as métricas centradas no vídeo 242 e as métricas centradas de pares de vídeo 244 atualizadas em tempo real.
ATUALIZAÇÕES POR INCREMENTOS DE METADADOS DE VÍDEO
[0057] Similar às métricas de CF, é importante para as métricas de CBF de cada vídeo, e do par de vídeo, serem mantidas atualizadas, uma vez que as referidas métricas têm um efeito nas pontuações de ML que são usadas como a base para selecionar os vídeos a recomendar. Para manter as métricas de CBF atualizadas em um modo eficiente, o sistema de execução encadeada com base em conteúdo usado pelo sistema de recomendação é também mantido em incrementos gradativos. Por exemplo, em uma modalidade, tão logo novos vídeos são inseridos no sistema de recomendação e os metadados a cerca de um vídeo se tornam disponíveis, o vídeo se torna imediatamente recomendável.
[0058] Em uma modalidade, o sistema de execução encadeada com base em conteúdo é implementado de modo que novos vídeos são comparados a novos vídeos e a vídeos existentes apenas quando os mesmos compartilham metadados comuns. Em uma modalidade, a recomendação mantém um mapeamento (nome característico, valor característico) para o (carimbo de tempo, vídeo, metadados de vídeo). Na referida modalidade, o sistema de execução encadeada com base em conteúdo pode incluir as etapas logicas a seguir: • Gerar (nome característico, valor característico) para o mapeamento de (carimbo de tempo, vídeo, metadados de vídeo), e inserir o novo vídeo em uma tabela global • Agrupar vídeos que contêm o mesmo (nome característico, valor característico) • Para cada grupo, gerar o par de vídeos. • Agregar o par de vídeos. Para cada par, computar a distância aos pares.
[0059] A referida distância aos pares pode ser a pontuação de CBF que é alimentada para o mecanismo de aprendizado de máquina 102 quando um dos vídeos no par de vídeos é o vídeo alvo e o outro vídeo no par de vídeos é o vídeo comparado. Por questões de desempenho, o sistema de recomendação pode examinar os carimbos de tempo, e apenas comparar os novos vídeos com novos vídeos, e os novos vídeos com vídeos antigos (mas não vídeos antigos com vídeos antigos).
[0060] Em uma modalidade, as características de CBF brutas 126 que são alimentadas ao mecanismo de aprendizado de máquina 102 para um vídeo alvo reflete as métricas atuais centradas no vídeo 242 para aquele vídeo alvo, e as métricas atuais de CBF para o par de vídeos compreendendo aquele vídeo e o vídeo comparado. Isso é particularmente importante em ambientes onde os metadados de vídeo associados com qualquer determinado vídeo podem mudar significativamente com o tempo (por exemplo, na medida em que nova tags são adicionadas ao vídeo).
[0061] Como mencionado acima, em uma modalidade, as métricas de CBF para um par de vídeos são criadas quando o segundo vídeo no par é adicionado à coleção, e são apenas atualizadas em resposta a uma mudança nos metadados de vídeo de qualquer um dos vídeos no par de vídeo. Por exemplo, considerando que o vídeo 202 existe em uma coleção de vídeos no momento em que o vídeo 204 é adicionado à coleção. Em resposta à adição de vídeo 204 à coleção, as métricas de CBF 272 para o par de vídeos 202/204 podem ser inicialmente criadas com base nos metadados de vídeo 232 para o vídeo 202 e os metadados de vídeo 234 para o vídeo 204.
[0062] Uma vez geradas, as métricas de CBF 272 permanecem inalteradas até que os metadados de vídeo para qualquer um de vídeo 202 ou de vídeo 204 sejam mudados. A referida mudança (por exemplo, a adição de uma tag a um dos vídeos no par de vídeo) engatilha o novo cálculo das métricas de CBF 272 para o par. Uma vez que cada vídeo pode pertencer a múltiplos pares de vídeos, a atualização para os metadados de vídeo para um vídeo pode engatilhar o novo cálculo das métricas de CBF para muitos pares de vídeos. Por exemplo, uma atualização para os metadados de vídeo 232 de vídeo 202 pode engatilhar o novo cálculo das métricas de CBF 272 de par de vídeos 202/204, e o novo cálculo das métricas de CBF 274 de par de vídeos 202/206.
PRE-COMPUTAÇÃO DAS PONTUAÇÕES PARA OS PARES DE VÍDEOS
[0063] Embora não ilustrado na figura 2, as métricas centradas de pares de vídeo 244 para cada um dos pares de vídeos podem também incluir uma pontuação de CF pré-computada e uma pontuação de CBF pré-computada. Especificamente, em vez de gerar pontuações de CF e CBF para o par de vídeos no momento da recomendação de vídeo é necessário, as referidas pontuações podem ser pré-computadas no momento em que as métricas subjacentes do par de vídeos são atualizadas. Consequentemente, no momento da recomendação de vídeo ser necessária, as pontuações pré-computadas podem simplesmente ser lidas a partir do armazenamento e alimentadas dentro do mecanismo de aprendizado de máquina 102. Há uma compensação entre realizar a referida computação no momento da recomendação (consulta), e o tempo de atualização da informação de filme. Um princípio de orientação geral é de ter vantagem de sua frequência relativa, e como realizar a computação com a menor frequência possível.
[0064] Por exemplo, a pontuação de CF 124 para o par de videos 202/204 é com base em métricas de CF 262. As métricas de CF 262 são atualizadas em resposta a uma indicação de interesse do usuário no vídeo 202 ou no vídeo 204. Em resposta à indicação de interesse do usuário, as métricas de CF 262 podem ser atualizadas e a pontuação de CF 124 pode ser gerada para o par de vídeos 202/204 por alimentar as métricas de CF atualizadas 262 dentro do analisador de CF 118. A referida pontuação de CF pré-computada pode então simplesmente ser lida, em vez de recomputada, quando se usa o mecanismo de aprendizado de máquina 102 para gerar uma pontuação de ML 150 com base no par de vídeos 202/204.
[0065] De modo similar, a pontuação de CBF 130 para o par de vídeos 202/204 é com base em métricas de CBF 272. As métricas de CBF 272 são atualizadas em resposta a uma atualização para os metadados de vídeo for vídeo 202 ou vídeo 204. Em resposta a referida atualização de metadados, as métricas de CBF 272 podem ser atualizadas e uma pontuação de CBF 130 pode ser gerada para o par de vídeos 202/204 por alimentar as métricas de CBF atualizadas 272 dentro do analisador de CBF 128. A referida pontuação de CBF pré- computada 130 pode então simplesmente ser lida, em vez de recomputada, quando se usa o mecanismo de aprendizado de máquina 102 para gerar uma pontuação de ML 150 com base no par de vídeos 202/204.
SELECIONAR O PAR DE VÍDEOS PARA O QUAL MANTER AS MÉTRICAS
[0066] Teoricamente, as métricas centradas de pares de vídeo 244 podem ser mantidas para cada combinação de dois vídeos em uma coleção. Manter a métricas centradas de pares de vídeo para cada possível par de vídeos em uma coleção resultaria em conjuntos distintos de Nx(N-1) de métricas centradas de pares de vídeo, onde N é o número de vídeos na coleção. Ao mesmo tempo em que se mantém que os muitos conjuntos de métricas centradas de pares de vídeo sejam facilmente alcançadas para uma pequena coleção, isso se torna impraticável para coleções extremamente grandes.
[0067] Portanto, de acordo com uma modalidade, um vídeo deve passar por um "teste de pareamento" com um determinado vídeo antes do vídeo ser considerado suficientemente similar ao determinado vídeo para justificar manter métricas centradas no par de vídeos para o par de vídeos do vídeo e o determinado vídeo. Os vídeos que passam no teste de pareamento com relação a um vídeo particular são referidos aqui como o "conjunto de vídeo pareado" para aquele vídeo particular. Assim sendo, em uma modalidade, as métricas centradas de pares de vídeo 244 são mantidas para qualquer determinado par de vídeos (vídeo X/vídeo Y) se e apenas se o vídeo Y estiver no conjunto de vídeo pareado de vídeo X.
[0068] O teste de pareamento pode, por exemplo, ser que os videos devem compartilhar qualquer uma das características a seguir: gênero, atores, diretor. Isso é meramente um exemplo dos tipos de teste de pareamentos virtualmente ilimitados que podem ser aplicados para determinar se manter as métricas centradas de pares de vídeo para um par de vídeos particular. No teste de pareamento mais restritivo, quanto menos pares de vídeos para os quais as métricas centradas de pares de vídeo 244 são mantidas, e, portanto, menos sobrecarga de manter métricas centradas de pares de vídeo 244.
[0069] Entretanto, se o teste de pareamento for muito restritivo,então o sistema de recomendação pode falhar em fazer algumas recomendações que seriam uteis. Por exemplo, se o vídeo X não está no conjunto de vídeo pareado de vídeo Y, então o vídeo X não é provável de ser recomendado pelo sistema de recomendação quando o vídeo Y é o vídeo comparado, mesmo se a maioria dos espectadores do vídeo Y teriam realmente gostado de assistir ao vídeo X.
[0070] O teste de pareamento pode ser arbitrariamente complexo. Por exemplo, o teste pode ter regras tais como: • Se o vídeo X tem uma cotação de N ou melhor, então o vídeo X é automaticamente considerado satisfazer o teste de pareamento com relação a todos os vídeos. • Se o vídeo X tem uma cotação que é menos do que a visualização N, mas mais do que a visualização M, então o vídeo X é considerado satisfazer o teste de pareamento com relação a vídeos que têm pelo menos uma das a seguir em comum: gênero, ator, diretor. • Se o vídeo X tem menos do que a visualização M, então o vídeo X é considerado satisfazer o teste de pareamento com relação aos vídeos que são do mesmo gênero.
[0071] Nas referidas regras, a cotação de um vídeo determina quais condições devem ser satisfeitas para passar no teste de pareamento. Entretanto, em testes de pareamento alternativos, as condições de ação para o pareamento podem variar com base em outros fatores.
[0072] Em vez de usar um teste de pareamento para determinar se armazenar quaisquer métricas centradas no par de vídeos para um par de vídeo, o teste de pareamento pode ser usado para determinar se um tipo particular de métricas centradas no par de vídeos deve ser mantido para um par de vídeo. Por exemplo, as métricas de CF podem ser mantidas para todos os pares de vídeos em uma coleção, enquanto que as métricas de CBF são apenas mantidas para os pares de vídeos que passam no teste de pareamento. Alternativamente, as métricas de CBF podem ser mantidas para todos os pares de vídeos em uma coleção, enquanto que as métricas de CF são apenas mantidas para os pares de vídeos que passam no teste de pareamento.
[0073] Em ainda outra modalidade, pode haver um diferente teste de pareamento para cada tipo de métricas centradas de pares de vídeo. Por exemplo, o sistema de recomendação pode armazenar métricas de CF para um par de vídeos se ambos os vídeos no par tiverem uma cotação que excede a determinados limiares. Ao mesmo tempo, o sistema de recomendação pode armazenar métricas de CBF para um par de vídeos se o par de vídeos tiver pelo menos uma significante característica (por exemplo, gênero, atores, diretor) em comum. Na referida modalidade, as métricas centradas de pares de vídeo 244 para algum par de vídeos pode incluir não só as métricas de CF, mas também as métricas de CBF, e para o outro par de vídeos pode apenas ter as métricas de CF ou as métricas de CBF, mas não ambas.
RECOMENDAÇÕES DE VÍDEO-PARA-VÍDEO COM BASE EM CONJUNTOS DE VÍDEOS PAREADOS
[0074] De acordo com uma modalidade, quando se dá uma recomendação de vídeo-para-vídeo, o sistema de recomendação apenas gera pontuações de ML para os vídeos que estão no conjunto de vídeo pareado do vídeo no qual o usuário já expressou um interesse. Por exemplo, considerando que um usuário tenha acabado de ver um vídeo X. Para recomendar o próximo vídeo para o usuário assistir, o mecanismo de aprendizado de máquina 102 é usado para gerar pontuações de ML 150 para cada vídeo no conjunto de vídeo pareado de vídeo X.
[0075] No referido exemplo, as características de CF brutas 120 para cada vídeo no conjunto de vídeo pareado de vídeo X incluiriam as métricas de CF para o par de vídeos que inclui o vídeo e vídeo X. As referidas características de CF brutas 120 seriam alimentadas ao analisador de CF 118 para gerar a pontuação de CF 124 que prevê quanto interesse o usuário de vídeo X teria em assistir o vídeo alvo.
[0076] De modo similar, as características de CBF brutas 126 incluiriam as métricas de CBF para o par de vídeos que inclui o vídeo e vídeo X. As referidas características de CBF brutas 126 seriam alimentadas ao analisador de CBF 128 para gerar uma pontuação de CBF 128 que prevê o quão similar o vídeo X é para o vídeo alvo.
[0077] Como ilustrado na figura 1, as características brutas 120 e 126 e outras informações 112 são alimentadas para o mecanismo de aprendizado de máquina 102, junto com as pontuações 124 e 130, para permitir que o mecanismo de aprendizado de máquina 102 determine quanto peso para proporcionar a cada uma das pontuações 124 e 130. Com base nos pesos determinados, o mecanismo de aprendizado de máquina 102 gera a pontuação de ML 150 para o vídeo alvo.
[0078] Após repetir esse processo para todos os vídeos no conjunto de vídeo pareado do vídeo X, as pontuações de ML geradas para os vídeos são usadas como uma base para determinar quais dos vídeos a recomendar.
FATORES DE REDUÇÃO
[0079] Em geral, as ações recentes de um usuário são mais indicativas dos interesses atuais do usuário do que as ações tomadas pelo usuário em um passado mais distante. Portanto, ao gerar a pontuação de CF 124, o analisador de CF 118 pode aplicar um fator de "declínio" que ajusta o peso determinado para as métricas de comportamento do usuário com base em quanto recentemente o comportamento ocorreu.
[0080] Por exemplo, para os objetivos de gerar a pontuação de CF 124, o analisador de CF 118 pode dar dados que indicam que um usuário assistiu ambos os vídeos de um par de vídeos de peso 100% imediatamente após o usuário ter assistido ambos os vídeos, 80% para a última semana, e 60% para duas semanas depois. O caráter recente de comportamento do usuário pode ser determinado pelo carimbo de tempos capturado nos registros de usuário.
[0081] Quanto mais alto o fator de redução, mais baixo o peso determinado para o comportamento antigo. De modo oposto, quanto mais baixo o fator de redução, mais alto o peso determinado para o comportamento antigo. Um exemplo de um alto fator de redução seria, por exemplo, dando 100% de peso ao comportamento atual, 10% de peso ao comportamento que é a semana passada, e nenhum peso ao comportamento de mais do que duas semanas atrás.
[0082] Ao se mudar o fator de redução usado pelo analisador de CF 118 se afeta a pontuação de CF 124 produzida pelo analisador de CF 118. Por exemplo, considerando que muitos usuários tenham assistido a um par de vídeos particulares duas semanas atrás, mas poucos usuários tenham assistido o mesmo par de vídeos na última semana. Sob as referidas condições, o uso de um alto fator de redução resultaria em uma baixa pontuação de CF 124, pelo fato de que pouco peso seria determinado a uma informação de visualização mais antiga. Por outro lado, o uso de um baixo fator de redução resultaria em uma alta pontuação de CF 124, pelo fato de uma informação de uso mais antiga ter um significante efeito na pontuação de CF 124.
[0083] Infelizmente, não há fator de redução que produza resultados ótimos em todas as situações. Por exemplo, o uso de um alto fator de redução para vídeos a partir de uma publicação de vídeos altamente assistidos pode produzir uma pontuações de CF 124 que preveem com precisão se os usuários que assistiram a um vídeo em um par de vídeos podem ser interessar em assistir o outro vídeo no par de vídeo. O uso de um alto fator de redução pode ser ótimo para os referidos tipos de vídeos em virtude da quantidade de recentes atividades de visualização ser suficiente para produzir previsões precisas. Consequentemente, dados de comportamento antigos podem ser descontados de acordo.
[0084] Por outro lado, ao usar um baixo fator de redução se pode produzir uma pontuação mais precisa de CFs 124 para vídeos a partir de editores cujos vídeos são vistos com muito menos frequência. Ao se usar um baixo fator de redução sob as referidas circunstâncias pode ser necessário para garantir que a pontuação de CF 124 seja com base em suficientes dados de comportamento para serem úteis. Assim sendo, no referido exemplo, um parâmetro informado (editor de vídeo) que é independente do fator de redução pode dar uma indicação ao mecanismo de aprendizado de máquina 102 cujo fator de redução estaria mais apropriado para usar em qualquer determinada situação.
[0085] Em vez de tentar adivinhar qual fator de redução pode produzir a pontuação mais precisa de CF 124 para cada par de vídeo, uma modalidade é proporcionada na qual múltiplas pontuações de CF são alimentadas dentro do mecanismo de aprendizado de máquina 102 para cada par de vídeo, onde cada pontuação de CF é produzida por usar um diferente fator de redução. A referida modalidade é ilustrada na figura 3.
[0086] Com referência à figura 3, a mesma ilustra um sistema de recomendação no qual o mecanismo de aprendizado de máquina 102 é alimentado com informações de CF 308 que incluem três pontuações de CF distintas 324, 326, 328. As pontuações de CF 324, 326 e 328 são com base nas mesmas características de CF brutas 120, mas são produzidas por se usar três diferentes fatores de redução 314, 31 e 318. Com base em outras características na alimentação de entrada 306 (tal como produtor de vídeo), o mecanismo de aprendizado de máquina 102 determina quais das pontuações de CF devem ter mais efeito na pontuação de ML 150.
[0087] Por exemplo, se as características de CBF brutas 126 indicam que os vídeos no par de vídeos são acerca dos novos eventos atuais altamente vistos a partir de um editor particular, o mecanismo de aprendizado de máquina 102 pode dar mais peso a uma pontuação de CF que é com base em um alto fator de redução. Por outro lado, se as características de CBF brutas 126 indicam que os vídeos no par de vídeos são filmes clássicos raramente vistos a partir de outro editor, o mecanismo de aprendizado de máquina 102 pode dar mais peso à pontuação DV que é com base em um baixo fator de redução.
[0088] Embora a modalidade ilustrada na figura 3 use três diferentes fatores de redução, o número atual de fatores de redução usados pode variar a partir de implementação para implementação. Por exemplo, uma modalidade pode gerar vinte pontuações de CF para qualquer determinado par de vídeo, onde cada uma das vinte pontuações de CF é com base em um diferente fator de redução. Como deve ser explicado em maiores detalhes abaixo, a referida técnica não é limitada aos fatores de redução, e pode ser usada com qualquer número de outros parâmetros também.
RAZÕES DE CHANCE DE CORTE
[0089] Quando modelos são usados para gerar previsões, os modelos usam determinados "parâmetros de sintonização de modelos" que são com base em suposições. O fator de redução, discutido acima, é um exemplo do referido parâmetros de ajuste do modelo. Por exemplo, um modelo que usa um fator de redução que diminui o peso determinado a uma ação por 50% após uma semana assume que a capacidade de uma ação passada para prever ação futura se reduz por 50% após uma semana.
[0090] O fator de redução é meramente um exemplo de um parâmetro de ajuste do modelo que pode ser usado pelos modelos que são implementados em analisadores de CF e CBF. Além dos fatores de redução, os modelos empregados pelos analisadores de CF podem, por exemplo, usar uma razão de chance de limiar de corte para reduzir o número de falso-positivos causados por vídeos altamente populares quando se prevê se dois vídeos são de fato relacionados um ao outro.
[0091] Uma razão de chance de corte pode ser usada para ir de encontro ao problema de que vídeos extremamente populares podem ser assistidos por tantos usuários, que o fato dos referidos usuários assistirem a algum outro vídeo além do vídeo extremamente popular não é uma precisa indicação de que o outro vídeo é relacionado ao vídeo extremamente popular. Para se evitar prever que os vídeos extremamente populares estão relacionados a outros vídeos aos quais os mesmos não estão relacionados, o modelo usado pelo analisador de CF 118 pode determinar se dois vídeos estão relacionados por computar as probabilidades de que os dois vídeos co-ocorram independentemente em um log de visualização de usuário (em oposição a co-ocorrer de modo dependente). Se as probabilidades de que os dois vídeos co-ocorram independentemente são maiores do que a razão de chance de corte que é usada pelo modelo (por exemplo, 50%), então é assumido que os dois vídeos não estão de fato relacionados um ao outro.
[0092] Com o fator de redução, a razão de chance de corte que é usada por um modelo (a) afeta as previsões, e (b) é com base em suposições que podem nem sempre ser verdadeiras. Por exemplo, em alguns casos, dois vídeos podem estar altamente relacionados embora as estatísticas indiquem que há 55% de chance de que os mesmos co- ocorram de modo independente em registros de usuário. Na referida situação, o uso de 60% de razão de chance de corte faria com que o modelo previsse que os vídeos estão de fato relacionados.
[0093] Por outro lado, dois vídeos podem estar não relacionados embora as estatísticas indiquem que há apenas uma chance de 45% de que os mesmos ocorram de modo independente em registros de usuário. Na referida situação, o uso de 40% de razão de chance de corte faria com que o modelo previsse que os vídeos não estão relacionados.
FATORES DE NORMALIZAÇÃO
[0094] Um fator de normalização é outro exemplo de parâmetros de ajuste do modelo que podem ser usados por alguns modelos. Um fator de normalização em geral tenta normalizar as pontuações com base no comportamento de visualização geral do usuário. Por exemplo, o usuário A e o usuário B ambos assistiram o par de vídeos (v1, v2) por 50 minutos. Entretanto, o usuário A apenas assistiu aos vídeos v1 e v2, enquanto que o usuário B assistiu centenas de outros vídeos. O usuário B teve a atenção mais dividida com relação ao par de vídeo. A aprovação a partir do usuário A para a relação de vídeo v1 e v2 deve ser mais importante do que aquela a partir do usuário B. Isso é o mesmo espírito de PageRank usado no ranking da Web page, onde o peso determinado para um link de saída depende em parte do número de links de saída que cada web page pode ter.
COMPUTAÇÃO PARALELA USANDO DIFERENTES PARÂMETROS DE SINTONIZAÇÃO DE MODELOS
[0095] Pelo fato dos valores que os modelos usam para o parâmetro de sintonização de modelos (por exemplo, fatores de redução, fatores de normalização, razão de chance de corte, etc.) serem com base em suposições de que não necessariamente são verdadeiras para todas as situações, modalidades são proporcionadas nas quais as pontuações para diferentes combinações de valor de sintonização de modelo de parâmetro são alimentadas para o mecanismo de aprendizado da máquina 102 em paralelo.
[0096] Por exemplo, a figura 3 ilustra a alimentação ao mecanismo de aprendizado de máquina 102 três pontuações de CF 324, 326 e 328 em paralelo, cada uma das quais está associada com um diferente fator de valor de redução. Em uma modalidade alternativa, uma pontuação de CF pode ser gerada para cada um dos diversos valores de combinação (fator de redução, razão de chance de corte). Por exemplo, uma modalidade pode usar três diferentes valores para o fator de redução (X, Y, Z), e dois diferentes limiares de razão de chance de corte (A, B). Na referida modalidade, o mecanismo de aprendizado de máquina 102 seria alimentada, em paralelo, seis pontuações de CF - uma para cada combinação de valor de sintonização de modelo de parâmetro (X, A), (X, B), (Y, A), (Y, B), (Z, A), (Z, B).
[0097] Embora o referido exemplo use o parâmetro de sintonização de modelos de fatores de redução e limiares de razão de chance de corte, a mesma técnica de geração de pontuação paralela pode ser usada para qualquer tipo e número de parâmetro de sintonização de modelos. Por exemplo, um analisador de CF particular pode usar um modelo que emprega quatro diferentes parâmetros de sintonização de modelos. Para cada parâmetro de sintonização de modelo, pode haver três valores viáveis para testar. Na referida modalidade, há 81 combinações distintas de valores de sintonização de modelo de parâmetro. Assim sendo, 81 pontuações de CF (uma para cada combinação de valor de sintonização de modelo de parâmetro) podem ser alimentadas em paralelo dentro do mecanismo de aprendizado de máquina 102.
[0098] Com o fator de redução exemplo determinado acima, o peso que é determinado a cada uma das pontuações de CF em gerar a pontuação de ML é baseado, pelo menos em parte, nas outras informações recebidas por mecanismo de aprendizado de máquina 102. Como indicado na figura 3, as outras informações incluem as características de CF brutas 120, as características de CBF brutas 126, a pontuação de CBF 130 e qualquer número de outras informações 112. FUNÇÕES DE OBJETIVO FLEXÍVEL
[0099] Quando usadas no contexto das recomendações de vídeo- para-vídeo, o mecanismo de aprendizado de máquina 102 gera pontuações de ML que preveem a probabilidade de que um usuário irá assistir ao vídeo B (o vídeo alvo) considerando que ele/ela já assistiu ao vídeo A (o vídeo comparado). Na prática, há múltiplos objetivos que os editores querem otimizar para alcançar. Exemplos dos objetivos incluem, mas não são limitados a: • Aumentar o tempo total de assistir ao filme • Aumentar o número de vídeos que cada usuário assiste • Aumentar o total de minutos que um usuário gasta ao assistir cada (recomendado) vídeo • Aumentar a receita publicitária a partir de cada vídeo assistido • Aumentar o alcance • Aumentar a receita por filme
[00100] Para ir de encontro a esse desafio, modalidades são proporcionadas nas quais as previsões são inicialmente refletidas em diversos subcomponentes distintos. Os componentes podem incluir, por exemplo: • P(B|A) — a probabilidade de que um usuário gostaria de assistir a B considerando que ele/ela assistiu a A • R(B) — a receita esperada a partir de cada exibição de B (* futuro trabalho) • P(ad | u, B) — a probabilidade de que usuário u assistindo a B irá clicar no anúncio
[00101] Após gerar as pontuações, cada um dos referidos componentes usando um mecanismo de aprendizado de máquina, as pontuações de componente podem então ser combinadas, com base em um conjunto particular de objetivos, para produzir a pontuação de compósito de ML que é usada como a base para selecionar quais vídeos candidatos a recomendar.
[00102] A figura 4 é um diagrama de bloco de um mecanismo de aprendizado de máquina 402 que foi treinado para gerar pontuações de componente de mL 404, 406 e 408 que são combinadas por um combinador de componente com base em objetivo 410 para produzir uma pontuação de compósito de ML 440 com base em objetivos especificados 430. No referido exemplo, pontuações de ML do componente 404, 406 e 408 podem corresponder às funções de objetivo P(B|A), R(B), e P(ad | u, B), descritas acima. O peso de cada uma das pontuações de componente é determinado pelo combinador de componente com base em objetivo 410 quando gera a pontuação de compósito de ML 440 é com base na informação de objetivo 430 alimentada para o combinador de componente com base em objetivo 410.
[00103] Por exemplo, considerando que os objetivos 430 indicam que o envolvimento do usuário é significativamente mais importante do que a receita, e que a receita é relativamente mais importante do que o anúncio. Com base na referida informação de objetivo 430, o combinador com base em objetivo 410 pode pesar as pontuações de componente 404, 406 e 408 por 0,6, 0,25 e 0,15, respectivamente.
[00104] Embora o mecanismo de aprendizado de máquina 402 seja ilustrado como uma única máquina, o mecanismo de aprendizado de máquina 402 pode ser implementado como três máquinas distintas, cada uma das quais é treinada para gerar uma diferente pontuação de componente de ML. O número atual de pontuações de componente, e como o combinador de componente com base em objetivo 410 atribui pesos às referidas pontuações quando gera a pontuação de compósito de ML 440, pode variar a partir de implementação para implementação. Por exemplo, um único sistema de recomendação pode gerar dúzias de pontuações de ML de componente, cada uma das quais reflete uma previsão com base em uma diferente função de objetivo. Combinador de componente com base em objetivo 410 pode combinar as referidas pontuações de ML de componentes em uma variedade de modos com base na informação de objetivo 430.
[00105] Em uma modalidade, o combinador de componente com base em objetivo 410 é alimentado com múltiplos conjuntos de objetivos, e, portanto, gera múltiplas pontuações de compósito de ML. Na referida modalidade, cada combinação de par de vídeos teria múltiplas pontuações de compósito de ML, e a pontuação de ML atual usada para determinar se recomendar um vídeo estaria com base nos objetivos que são em efeito no momento a recomendação é para ser dada.
ALTERNAR ENTRE PONTUAÇÕES DE COMPONENTE
[00106] Para se dar recomendações que satisfaçam um determinado conjunto de objetivos, as pontuações de componente podem ser combinadas em uma pontuação de compósito de ML 440 que é usada como a base para determinar quais vídeos candidatos a recomendar. Em uma modalidade alternativa, uma pontuação de compósito de ML 440 não é gerada. Em vez disso, quando se oferece recomendações, o sistema de recomendação alterna entre quais das pontuações de componente usar como a base para determinar um vídeo a recomendar.
[00107] Por exemplo, em vez de gerar uma pontuação de compósito de ML 440 ao dar pontuações de ML de componente 404, 406 e 408 os pesos de 0,6, 0,25 e 0,15, respectivamente, o sistema de recomendação pode dar recomendações com base em pontuação de componente de ML 404 60% do tempo, com base na pontuação de componente de ML 406 25% do tempo, e a pontuação do componente 408 15% do tempo. Com as modalidades que geram uma pontuação de compósito de ML 440, as modalidades que alternam entre as pontuações de ML de componente o fazem com base nos objetivos que estão em efeito no momento que a recomendação está sendo dada.
[00108] De acordo com uma modalidade, o padrão de alternar entre as pontuações de ML de componente não precisa ser uniforme. Por exemplo, um sistema de recomendação pode realizar alternação em uma base centrada no usuário, onde um usuário é inicialmente proporcionado com recomendações com base em uma pontuação de componente de ML que prevê o envolvimento do usuário. Apenas após o usuário ter sido apresentado com diversas recomendações que focalizam no envolvimento do usuário, o sistema de recomendação pode começar a proporcionar algumas recomendações com base em outras funções de objetivo, tal como a maximização da receita. Se um comportamento do usuário quando apresentado com recomendações de maximização e receita indica que o envolvimento do usuário caiu abaixo de um limiar particular, o sistema de recomendação pode alternar de volta para proporcionar recomendações que são principalmente ou exclusivamente com base em pontuações de componente que se referem ao envolvimento do usuário.
EXPLORAÇÃO RESTRITA
[00109] De acordo com uma modalidade, o comportamento do usuário é capturado quando vídeos são recomendados a usuários, e esse comportamento do usuário é usado para atualizar os metadados usados pelo sistema de recomendação, como descrito acima. Entretanto, desde que os usuários sejam sempre apresentados com as recomendações "ótimas" de vídeo (por exemplo, os vídeos com as pontuações de mL mais elevadas), nenhum dado de comportamento será captado acerca de como os usuários teriam reagido a recomendações "não ótimas". Sem captar a informação acerca da reação do usuário a recomendações "não ótimas", o sistema de recomendação terá dificuldade de corrigir a si mesmo quando vídeos que não foram recomendados devem ter sido recomendados.
[00110] Por exemplo, considerando que um vídeo A seja de grande interesse aos espectadores do vídeo B. Entretanto, na ausência de qualquer histórico de visualização para o vídeo A, o mecanismo de aprendizado de máquina 102 gerou uma baixa pontuação de ML para o par de vídeos A e B. Em virtude da baixa pontuação de ML, o vídeo A não seria recomendado aos espectadores do vídeo B, desse modo poucos espectadores do vídeo B poderiam assistir ao vídeo A. Consequentemente, a pontuação de ML para o par de vídeos A e B permaneceria baixa.
[00111] Para evitar os referidos problemas, dados de comportamento podem ser coletados para recomendações não ótimas por periodicamente apresentar recomendações não ótimas aos usuários. Apresentar uma recomendação não ótima é referido como "explorar", pelo fato de que ela apresenta o usuário com a recomendação que está fora do conjunto de vídeos que o usuário normalmente seria apresentado. Entretanto, muita exploração, ou exploração sob circunstâncias erradas, podem degradar a experiência do usuário a um grau inaceitável.
[00112] Portanto, de acordo com uma modalidade, o sistema de recomendação coloca restrições à exploração. Especificamente, a exploração é realizada em um modo que restringe o impacto negativo que a exploração tem na recomendação de vídeos objetivos. Por exemplo, o sistema de recomendação pode periodicamente aleatorizar a seleção de vídeos para recomendar a um usuário. Entretanto, a seleção aleatória pode ser restrita por excluir a partir do grupo a partir do qual a seleção aleatória é feita de quaisquer vídeos cujo impacto negativo seja previsto estar acima de determinados limiares.
[00113] Por exemplo, durante a exploração, o grupo de vídeos a partir dos quais uma seleção aleatória é produzida pode incluir apenas os vídeos que têm, em relação ao vídeo comparado, a pontuação de CF acima de alguns limiares X, ou uma pontuação de CBF acima de alguns limiares Y, ou uma pontuação de MF acima de alguns limiares Z. As regras de restrição específicas que colocam um grupo de seleção de vídeos podem ser arbitrariamente complexas. Por exemplo, um vídeo pode qualificar um grupo de seleção se ((a pontuação de CF para qualquer fator de redução > X) ou (qualquer uma das pontuações de ML de componente >Y) e (a pontuação de compósito de ML > Z)).
[00114] De acordo com uma modalidade, a técnica de bandido multiarmados é usada pela recomendação de vídeo para aprender o efeito de que cada variável nos processos de seleção de exploração tem no alcançar os objetivos atuais, e as variáveis que são previstas ter o menor impacto negativo são ajustadas. Por exemplo, com a estratégia de epsilon ganancioso, os vídeos recomendados pelo sistema de ML (melhor alavanca) é selecionado para a proporção । - dos ensaios, e vídeos que pertencem a outros conjuntos (aleatório, tendência de, a pontuação de CBF acima de determinados limiares) são selecionados (com probabilidade uniforme) para a proporção . Um valor típico de parâmetro deve ser ■ i\., mas isso pode variar amplamente dependendo das circunstâncias e das previsões.
MELHORIAS DE DESEMPENHO NO TEMPO DE EXECUÇÃO
[00115] Várias melhorias de desempenho no tempo de execução podem ser realizadas quando proporcionar recomendações de vídeo usando as técnicas descritas aqui. Por exemplo, algumas modalidades podem usar um filtro de Bloom quando se une os dados de clicks do usuário (muito pequeno) com as características (relativamente enormes) para gerar as entradas de treinamento para o sistema de aprendizado de máquina. Especificamente, em uma modalidade, um filtro de Bloom é construído usando os dados de clicks do usuário, e o filtro é usado para filtrar todas as características irrelevantes de CF e CBF que não têm dados de clicks associados com as mesmas. Isso é particularmente útil para os sistemas de processamento de dados tal como hadoop, onde nenhum índice foi construído para as várias tabelas.
[00116] Outro aprimoramento no tempo de execução que pode ser usado pelo sistema de recomendação de vídeo envolve uma junção assimétrica. Especificamente, quando se une as características de CBF e as características de CF, uma junção assimétrica pode ser usada para ter vantagem do fato de que há dados de comportamento limitados para um novo conteúdo. Em uma modalidade, as características são organizadas em diferentes compartimentos dependendo do tempo em que os mesmos foram gerados. O sistema de recomendação apenas une as características de CBF com as características de CF que foram geradas nas ultimas poucas horas. Isso significativamente reduz o tempo necessário para gerar treinamento e dados de teste para o sistema de aprendizado de máquina.
VISÃO GERAL DO HARDWARE
[00117] De acordo com uma modalidade, as técnicas descritas aqui são implementadas por um ou mais dispositivos de computação de objetivo especial. Os dispositivos de computação de objetivo especial podem ser com fio para realizar as técnicas, ou podem incluir dispositivos eletrônicos digitais tais como um ou mais circuitos integrados de aplicação específica (ASICs) ou matrizes de portas lógicas de campo programável (FPGAs) que são persistentemente programadas para realizar as técnicas, ou podem incluir um ou mais processadores de hardware de objetivo geral programados para realizar as técnicas de acordo com as instruções do programa no firmware, memória, outro armazenamento, ou uma combinação dos referidos. Os referidos dispositivos de computação de objetivo especial podem também combinar lógica personalizada com fio, ASICs, ou FPGAs com programação personalizada para realizar as técnicas. Os dispositivos de computação de objetivo especial podem ser sistemas de computação do tipo desktop, sistemas de computação portáteis, dispositivos de mão, dispositivos de rede ou qualquer outro dispositivo que incorpore lógica com fio e/ou de programa para implementar as técnicas.
[00118] Por exemplo, a figura 5 é um diagrama de bloco que ilustra um sistema de computação 500 com o qual uma modalidade da presente invenção pode ser implementada. O sistema de computação 500 inclui um barramento 502 ou outro mecanismo de comunicação para comunicar informação, e um processador de hardware 504 acoplado com o barramento 502 para processar a informação. Processador de hardware 504 pode, por exemplo, ser um microprocessador de objetivo geral.
[00119] O sistema de computação 500 também inclui uma memória principal 506, tal como uma memória de acesso aleatório (RAM) ou outro dispositivo de armazenamento dinâmico, acoplado ao barramento 502 para armazenar informação e instruções a serem executadas pelo processador 504. A memória principal 506 também pode ser usada para armazenar variáveis temporárias ou outra informação intermediaria durante a execução das instruções a serem executadas pelo processador 504. As referidas instruções, quando armazenadas em um meio de armazenamento não transitório acessível ao processador 504, torna o sistema de computação 500 em uma máquina de objetivo especial que é customizada para realizar as operações especificadas nas instruções.
[00120] O sistema de computação 500 adicionalmente inclui uma memória de apenas leitura (ROM) 508 ou outro dispositivo de armazenamento estático acoplado ao barramento 502 para armazenar informação estática e instruções para o processador 504. Um dispositivo de armazenamento 510, tal como um disco magnético ou disco ótico, é proporcionado e acoplado ao barramento 502 para armazenar informação e instruções.
[00121] O sistema de computação 500 pode ser acoplado via barramento 502 a uma tela 512, tal como um tubo de raio catódico (CRT), para exibir informação ao usuário do computador. Um dispositivo de entrada de informação 514, incluindo teclas alfanuméricas e outras teclas, é acoplado ao barramento 502 para comunicar informação e seleções de comando ao processador 504. Outro tipo de dispositivo de entrada de informação do usuário é o controle do cursor 516, tal como um mouse, uma trackball, ou teclas de direcionamento do cursor para comunicar a informação de direção e as seleções de comando ao processador 504 e para controlar o movimento do cursor na tela 512. O dispositivo de entrada de informação tipicamente tem dois graus de liberdade nos dois eixos, um primeiro eixo (por exemplo, x) e um segundo eixo (por exemplo, y), que permite que o dispositivo especifique as posições em um plano.
[00122] O sistema de computação 500 pode implementar as técnicas descritas aqui usando lógica com fio customizada, uma ou mais ASICs ou FPGAs, firmware e/ou lógica de programa que em combinação com o sistema de computação faz com que ou programa o sistema de computação 500 para ser uma máquina de objetivo especial. De acordo com uma modalidade, as técnicas aqui são realizadas pelo sistema de computação 500 em resposta ao processador 504 executando uma ou mais das sequencias de uma ou mais instruções contidas na memória principal 506. As referidas instruções podem ser lidas na memória principal 506 a partir de outro meio de armazenamento, tal como o dispositivo de armazenamento 510. A execução das sequências de instruções contidas na memória principal 506 faz com que o processador 504 realize as etapas do processo descritas aqui. Em modalidades alternativas, circuitos com fio podem ser usados em lugar de ou em combinação com instruções de software.
[00123] O termo "meio de armazenamento" como usado aqui se refere a qualquer meio não transitório que armazena dados e/ou instruções que fazem com que a máquina opere em um modo específico. O referido meio de armazenamento pode compreender um meio não volátil e/ou um meio volátil. Meio não volátil inclui, por exemplo, discos óticos ou magnéticos, tal como o dispositivo de armazenamento 510. Meio volátil inclui memória dinâmica, tal como a memória principal 506. Formas comuns de meio de armazenamento incluem, por exemplo, um disquete, um disco flexível, disco rígido, drive de estado sólido, fita magnética, ou qualquer outro meio magnético de armazenamento de dados, um CD-ROM, qualquer outro meio ótico de armazenamento de dados, qualquer meio físico com padrões de furos, uma RAM, uma PROM, e EPROM, a FLASH-EPROM, NVRAM, qualquer outro chip ou cartucho de memória.
[00124] Meio de armazenamento é distinto a partir de mas pode ser usado em conjunto com o meio de transmissão. Meio de transmissão participa na transferência de informação entre meio de armazenamento. Por exemplo, o meio de transmissão inclui cabos coaxiais, fios de cobre e fibra ótica, incluindo os fios que compreendem o barramento 502. Meio de transmissão pode também adotar a forma de ondas acústicas ou de luz, tal como as geradas durante as comunicações de ondas de rádio e de dados infravermelho.
[00125] Várias formas de meio podem ser envolvidas na realização de uma ou mais das sequências de uma ou mais instruções ao processador 504 para execução. Por exemplo, as instruções podem inicialmente ser portadas em um disco magnético ou drive de estado sólido de um computador remoto. O computador remoto pode carregar as instruções em sua memória dinâmica e enviar as instruções por uma linha de telefone usando um modem. Um modem local para o sistema de computação 500 pode receber os dados na linha de telefone e usar um transmissor de infravermelho para converter os dados em um sinal de infravermelho. Um detector de infravermelho pode receber os dados portados no sinal de infravermelho e circuito apropriado pode dispor os dados no barramento 502. O barramento 502 porta os dados para a memória principal 506, a partir da qual o processador 504 recupera e executa as instruções. As instruções recebidas pela memória principal 506 podem opcionalmente ser armazenadas no dispositivo de armazenamento 510 seja antes ou após a execução pelo processador 504.
[00126] O sistema de computação 500 também inclui uma interface de comunicação 518 acoplada ao barramento 502. A interface de comunicação 518 proporciona uma comunicação de dados de duas vias acoplando a um link de rede 520 que é conectado a uma rede local 522. Por exemplo, a interface de comunicação 518 pode ser um cartão de rede digital de serviços integrados (ISDN), cabo de modem, modem por satélite, ou um modem para proporcionar a conexão de comunicação de dados a um tipo correspondente de linha de telefone. Como outro exemplo, interface de comunicação 518 pode ser um cartão de rede de área local (LAN) para proporcionar a conexão de comunicação de dados a uma LAN compatível. Links sem fio podem também ser implementados. Em qualquer das referidas implementações, a interface de comunicação 518 envia e recebe sinais elétricos, eletromagnéticos ou óticos que portam correntes de dados digitais que representam os vários tipos de informação.
[00127] O link de rede 520 tipicamente proporciona comunicação de dados através de uma ou mais redes a outros dispositivos de dados. Por exemplo, o link de rede 520 pode proporcionar uma conexão através da rede local 522 a um computador hospedeiro 524 ou a um equipamento de dados operado por um Provedor de Serviço de Internet (ISP) 526. O ISP 526 por sua vez proporciona serviços de comunicação de dados através da rede de pacotes de comunicação de dados no mundo hoje comumente conhecida como a "Internet" 528. A rede local 522 e a Internet 528 ambas usam sinais elétricos, eletromagnéticos ou óticos que protam correntes de dados digitais. Os sinais através das várias redes e os sinais no link de rede 520 e através da interface de comunicação 518, que protam os dados digitais para e a partir do sistema de computação 500, são exemplos de formas de meio de transmissão.
[00128] O sistema de computação 500 pode enviar mensagens e receber dados, incluindo código de programa, através da(S) rede(s), link de rede 520 e interface de comunicação 518. No exemplo da Internet, um servidor 530 deve transmitir um código de solicitação para um programa de aplicativo através da Internet 528, ISP 526, rede local 522 e interface de comunicação 518.
[00129] O código recebido pode ser executado pelo processador 504 como foi recebido, e/ou armazenado no dispositivo de armazenamento 510, ou outro armazenamento não volátil para execução posterior.
[00130] Na especificação acima, as modalidades da presente invenção foram descritas com referência a numerosos detalhes específicos que podem variar a partir de implementação da implementação.
[00131] A especificação e os desenhos devem, desse modo, ser observados como uma ilustração em vez de em um sentido restritivo. O único e exclusivo indicador do âmbito da presente invenção, e que é pretendido pelos requerentes ser o âmbito da presente invenção, é o âmbito literal e equivalente do conjunto das reivindicações que decorrem a partir do presente pedido, na forma específica na qual as referidas reivindicações se inserem, incluindo qualquer correção subsequente.

Claims (24)

1. Método, caracterizado pelo fato de que compreende: gerar uma pluralidade de pontuações de aprendizado de máquina (ML) (150) por alimentar uma alimentação de entrada (106) a um mecanismo de aprendizado de máquina (102) para cada vídeo (202, 204, 206) em um conjunto de vídeos candidatos; em que a alimentação de entrada (106) para um vídeo particular (202) no conjunto de vídeos candidatos inclui pelo menos: uma ou mais características de filtragem colaborativa bruta (120); uma pontuação de filtragem colaborativa (124) que foi gerada com base nas uma ou mais características de filtragem colaborativa bruta (120); uma ou mais características de filtragem com base em conteúdo (126); e uma pontuação de filtragem com base em conteúdo (130) que foi gerada com base nas uma ou mais características de filtragem com base em conteúdo (126); quando gerar a pontuação de ML (150) para o vídeo particular (202), o mecanismo de aprendizado de máquina (102) determinando pesos para proporcionar a pontuação de filtragem colaborativa (124) e a pontuação de filtragem com base em conteúdo (130) baseado, pelo menos em parte, nas uma ou mais características de filtragem colaborativa bruta (120) e as uma ou mais características de filtragem com base em conteúdo (126); selecionar um ou mais vídeos (202, 204, 206), a partir do conjunto de vídeos candidatos, para recomendar a um usuário particular baseado, pelo menos em parte, na pontuação de MLs (150); em que o método é realizado por uma ou mais dispositivos de computação (500).
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: a alimentação de entrada (106) para o vídeo particular (202) inclui métricas cêntricas de pares de vídeo (244) para um par de vídeo que inclui o vídeo particular (202) e um vídeo comparado (204); as uma ou mais características de filtragem colaborativa bruta (120) incluem métricas de filtragem colaborativa (262) para o par de vídeo; e as uma ou mais características de filtragem com base em conteúdo (126) bruto incluem métricas de filtragem com base em conteúdo (272) para o par de vídeo.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que que as métricas de filtragem colaborativa (262) do par de vídeo são apenas atualizadas em resposta a detectar uma nova indicação de interesse do usuário com um ou mais dos vídeos no par de vídeo.
4. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que as métricas de filtragem com base em conteúdo (272) do par de vídeo são apenas atualizadas em resposta a detectar uma nova mudança nos metadados do vídeo (232, 234) para um ou mais dos vídeos (202, 204, 206) no par de vídeo.
5. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que: as métricas cêntricas de pares de vídeo (244) do par de vídeo incluem um conjunto particular de métricas; e o conjunto particular de métricas é mantido para o par de vídeo se e apenas se o par de vídeo satisfizer um teste de pareamento particular.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que o conjunto particular de métricas inclui todas as métricas cêntricas dos pares de vídeo (244).
7. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que o conjunto particular de métricas inclui apenas um de: as métricas de filtragem colaborativa (262) para o par de vídeo; e as métricas de filtragem com base em conteúdo (272) para o par de vídeo.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que adicionalmente compreende usar um segundo teste de pareamento, que é diferente do que o teste de par, para determinar se manter, para o par de vídeo, a outra de: as métricas de filtragem colaborativa (262) para o par de vídeo; e as métricas de filtragem com base em conteúdo (272) para o par de vídeo.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: a alimentação de entrada (106) para o vídeo particular (202) inclui uma pluralidade de pontuações de filtragem colaborativa; e cada pontuação de filtragem colaborativa (124) da pluralidade de pontuações de filtragem colaborativa é com base nas mesmas características de filtragem colaborativa bruta (120), mas um diferente fator de redução, como cada outra da pluralidade de pontuações de filtragem colaborativa.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: a pontuação de ML (150) gerada para o vídeo particular (202) é uma de uma pluralidade de pontuações de componente geradas pelo mecanismo de aprendizado de máquina (102) para o vídeo particular (202); e o método adicionalmente compreende combinar a pluralidade de pontuações de componente, com base na informação de objetivo, para produzir uma pontuação de compósito de ML para o vídeo particular (202).
11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: a pontuação de ML (150) gerada para o vídeo particular (202) é uma de uma pluralidade de pontuações de componente geradas pelo mecanismo de aprendizado de máquina (102) para o vídeo particular (202); e o método adicionalmente compreende alternar quais pontuações de componente, da pluralidade de pontuações de componente, são usadas como a base para selecionar quais vídeos (202, 204, 206) para recomendar ao usuário particular.
12. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que adicionalmente compreende: construir a filtro de Bloom com base nos dados de comportamento que indicam vídeos (202, 204, 206) com os quais os usuários tenham interagido recentemente; e gerar entradas de treinamento para o sistema de aprendizado de máquina por usar o filtro de Bloom para filtrar as características de filtragem colaborativa e as características de filtragem com base em conteúdo (126) que não se relacionam aos vídeos (202, 204, 206) com os quais os usuários tenham interagido recentemente.
13. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que adicionalmente compreende realizar uma junção assimétrica das características de filtragem com base em conteúdo (126) com as características de filtragem colaborativa de modo que as características de filtragem com base em conteúdo (126) são apenas unidas com as características de filtragem colaborativa que foram geradas dentro de um limiar de período de tempo.
14. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que adicionalmente compreende realizar exploração restrita por organizar vídeos (202, 204, 206) candidatos em conjuntos baseado, pelo menos em parte, na pontuação de MLs (150), e selecionar vídeos (202, 204, 206) para recomendar a partir dos conjuntos usando uma técnica de bandido multiarmado.
15. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que a técnica de bandido multiarmado envolve uma estratégia de épsilon ganancioso.
16. Método, caracterizado pelo fato de que compreende: gerar uma pluralidade de pontuações de aprendizado de máquina (ML) (150) por alimentar a alimentação de entrada (106) correspondente a um mecanismo de aprendizado de máquina (102) para cada vídeo em um conjunto de vídeos candidatos; em que a alimentação de entrada (106) que corresponde a um vídeo particular (202) no conjunto de vídeos candidatos inclui uma pluralidade de valores de parâmetro; selecionar um ou mais vídeos (202, 204, 206), a partir do conjunto de vídeos candidatos, para recomendar a um usuário particular baseado, pelo menos em parte, na pontuação de MLs (150); em que os um ou mais vídeos (202, 204, 206) selecionados para recomendação ao usuário particular inclui o vídeo particular (202); para o vídeo particular (202), determinar a razão da recomendação, a partir de uma pluralidade de possíveis razões da recomendação, com base em como o mecanismo de aprendizado de máquina (102) ponderou a pluralidade de valores de parâmetro quando gerar a pontuação de ML (150) para o vídeo particular (202); causar uma indicação da razão da recomendação a ser apresentada ao usuário particular, em associação com a recomendação do vídeo particular (202); em que o método é realizado por uma ou mais dispositivos de computação (500).
17. Método, caracterizado pelo fato de que compreende: gerar uma pluralidade de pontuações de aprendizado de máquina (ML) (150) por alimentar a alimentação de entrada (106) correspondente a um mecanismo de aprendizado de máquina (102) para cada vídeo em um conjunto de vídeos candidatos; em que a alimentação de entrada (106) que corresponde a um vídeo particular (202) no conjunto de vídeos candidatos inclui uma pluralidade de valores de parâmetro; em que a pluralidade de valores de parâmetro inclui um primeiro conjunto de valores de parâmetro e um segundo conjunto de valores de parâmetro; em que o primeiro conjunto de valores de parâmetro é gerado com base em um modelo que emprega um parâmetro de sintonização de modelo particular; em que o primeiro conjunto de valores de parâmetro inclui, para cada valor de sintonização de modelo de parâmetro de uma pluralidade de valores de sintonização de modelo de parâmetro para o parâmetro de sintonização de modelo particular, pelo menos um valor de parâmetro que é com base no valor de sintonização de modelo de parâmetro; em que o segundo conjunto de valores de parâmetro inclui um ou mais valores de parâmetro que são independentes do parâmetro de sintonização de modelo; em que, quando gerar a pontuação de ML (150) para o vídeo particular (202), o mecanismo de aprendizado de máquina (102) determina quanto peso para proporcionar a cada valor de parâmetro no primeiro conjunto de valores de parâmetro baseado, pelo menos em parte, nos valores de parâmetro no segundo conjunto de valores de parâmetro; e selecionar um ou mais vídeos (202, 204, 206), a partir do conjunto de vídeos candidatos, para recomendar a um usuário particular baseado, pelo menos em parte, na pontuação de MLs (150); em que o método é realizado por uma ou mais dispositivos de computação (500).
18. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que o parâmetro de sintonização de modelo particular é um fator de redução usado pelo modelo.
19. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que o parâmetro de sintonização de modelo particular é um corte de relação de probabilidade usado pelo modelo.
20. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que o parâmetro de sintonização de modelo particular é um fator de normalização usado pelo modelo.
21. Método, de acordo com a reivindicação 17, caracterizado pelo fato de que: o modelo usa uma pluralidade de parâmetro de sintonização de modelos; e cada valor de parâmetro no primeiro conjunto de valores de parâmetro é com base em uma combinação distinta de valores de sintonização de modelo de parâmetro para a pluralidade de parâmetro de sintonização de modelos.
22. Mídia de armazenamento não transitória contendo instruções, caracterizada pelo fato de que, quando executada por meio de um ou mais processadores (504), causam a realização do método como definido na reivindicação 1.
23. Mídia de armazenamento não transitória contendo instruções, caracterizada pelo fato de que, quando executadas por meio de um ou mais processadores (504), causam a realização do método como definido na reivindicação 12.
24. Mídia de armazenamento não transitória contendo instruções, caracterizada pelo fato de que, quando executadas por meio de um ou mais processadores (504), causam a realização do método como definido na reivindicação 17.
BR112014020459-4A 2012-02-21 2013-02-21 Método e mídia de armazenamento para conteúdo de recomendação automática BR112014020459B1 (pt)

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

Publications (2)

Publication Number Publication Date
BR112014020459A2 BR112014020459A2 (pt) 2017-06-20
BR112014020459B1 true BR112014020459B1 (pt) 2022-12-27

Family

ID=49006205

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014020459-4A BR112014020459B1 (pt) 2012-02-21 2013-02-21 Método e mídia de armazenamento para conteúdo de recomendação automática

Country Status (13)

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

Families Citing this family (32)

* 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 北京达佳互联信息技术有限公司 视频推荐方法、装置和存储介质
KR102357360B1 (ko) * 2020-04-07 2022-01-27 주식회사 엘지유플러스 심층 학습에 기반한 실시간 프로그램 추천 방법 및 장치
KR102361593B1 (ko) * 2020-05-07 2022-02-09 주식회사 엘지유플러스 심층 학습에 기반한 추천 컨텐츠의 자동 재생 여부 판단 방법 및 장치
CN111708964B (zh) * 2020-05-27 2023-06-20 北京百度网讯科技有限公司 多媒体资源的推荐方法、装置、电子设备和存储介质
CN114079826B (zh) * 2020-08-14 2023-11-28 北京达佳互联信息技术有限公司 视频推荐列表生成方法、装置、服务器及存储介质
KR102391644B1 (ko) * 2020-09-10 2022-04-27 주식회사 엘지유플러스 Vod 컨텐츠 추천 방법 및 장치
CN115299069A (zh) * 2020-09-16 2022-11-04 谷歌有限责任公司 数字视频分析
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

Family Cites Families (26)

* 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
WO2001015449A1 (en) * 1999-08-20 2001-03-01 Singularis S.A. Method and apparatus for creating recommendations from users profile built interactively
AUPQ246899A0 (en) * 1999-08-26 1999-09-16 Memetrics An automated communications management agent
US7840986B2 (en) * 1999-12-21 2010-11-23 Tivo Inc. Intelligent system and methods of recommending media content items based on user preferences
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
DE60209947T2 (de) * 2001-01-09 2007-02-22 Metabyte Networks, Inc., Fremont System, Verfahren und Software für die Bereitstellung einer gezielten Werbung durch Benutzerprofildatenstruktur basierend auf Benutzerpräferenzen
US20020174429A1 (en) * 2001-03-29 2002-11-21 Srinivas Gutta Methods and apparatus for generating recommendation scores
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
CA2520621A1 (en) * 2003-04-03 2004-10-21 Sedna Patent Services, Llc Content notification and delivery
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 上海文广互动电视有限公司 基于用户收视记录的节目推荐度估计方法

Also Published As

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

Similar Documents

Publication Publication Date Title
BR112014020459B1 (pt) Método e mídia de armazenamento para conteúdo de recomendação automática
US11601703B2 (en) Video recommendation based on video co-occurrence statistics
US8260117B1 (en) Automatically recommending content
CN111708901B (zh) 多媒体资源推荐方法、装置、电子设备及存储介质
US10303696B2 (en) Searching topics by highest ranked page in a social networking system
Rappaz et al. Recommendation on live-streaming platforms: Dynamic availability and repeat consumption
US10007728B2 (en) Determining a community page for a concept in a social networking system
AU2012336123B2 (en) Providing universal social context for concepts in a social networking system
US10210465B2 (en) Enabling preference portability for users of a social networking system
Sultana A survey on YouTube recommendation system
WO2019112673A1 (en) Identifying videos with inappropriate content by processing search logs
Liang et al. Personalized sports video customization using content and context analysis
AU2015200201B2 (en) Video recommendation based on video co-occurrence statistics

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 21/25 , H04N 21/45

Ipc: H04N 21/466 (2011.01), H04N 21/482 (2011.01)

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 21/02/2013, OBSERVADAS AS CONDICOES LEGAIS