Estudo de caso da Data Science – Como a Netflix usou a Data Science para melhorar seu sistema de recomendação?
Você se lembra do último filme que assistiu na Netflix? Não quero saber o nome, apenas recorde-se: depois de assistir ao filme, você foi recomendado para filmes semelhantes? Como a Netflix sabe do que você gosta? O segredo aqui é a ciência de dados. A Netflix usa a Data Science para fornecer recomendações relevantes e interessantes para você. Então, hoje, neste artigo, discutiremos o mesmo. Vamos começar a explorar a Ciência de dados na Netflix com uma introdução básica à Netflix.
Ciência de dados na Netflix
A Netflix começou inicialmente como um serviço de aluguel de DVD em 1998. Baseava-se principalmente em serviços postais de terceiros para entregar seus DVDs aos usuários. Isso resultou em grandes perdas que eles logo mitigaram com a introdução do serviço de streaming on-line em 2007. Para fazer isso acontecer a Netflix investiu em muitos algoritmos para fornecer uma experiência de filme impecável aos seus usuários. Um desses algoritmos é o sistema de recomendação usado pela Netflix para fornecer sugestões aos usuários. Um sistema de recomendação compreende as necessidades dos usuários e fornece sugestões dos vários produtos cinematográficos.
O que é um sistema de recomendação?
Um sistema de recomendação é uma plataforma que fornece aos usuários vários conteúdos com base em suas preferências e gostos. Um sistema de recomendação leva as informações sobre o usuário como uma entrada. Essas podem estar na forma de uso passado do produto ou nas classificações fornecidas a ele. Em seguida, processa essas informações para prever quanto o usuário classificaria ou preferiria o produto. Um sistema de recomendação utiliza uma variedade de algoritmos de aprendizado de máquina.
Outro papel importante que um sistema de recomendação desempenha hoje é procurar similaridade entre diferentes produtos. No caso da Netflix, o sistema de recomendação procura filmes semelhantes aos que você assistiu ou gostou anteriormente. Este é um método importante para cenários que envolvem partida a frio. Nesta partida a empresa não possui muitos dados do usuário disponíveis para gerar recomendações, portanto, com base no que foi assistido, a Netflix fornece recomendações dos filmes que compartilham um certo grau de similaridade. Existem dois tipos principais de sistemas de recomendação, são eles:
Sistemas de recomendação baseados em conteúdo
Em um sistema de recomendação baseado em conteúdo o conhecimento dos produtos e as informações do cliente são levados em consideração e com base no conteúdo que você visualizou na Netflix fornece sugestões semelhantes. Por exemplo, se você assistiu a um filme com um gênero de ficção científica o sistema de recomendação, com base em conteúdo, fornecerá sugestões de filmes semelhantes com o mesmo gênero.
Sistemas de recomendação de filtragem colaborativa
Diferente da filtragem baseada em conteúdo que forneceu recomendações de produtos similares, a Filtragem colaborativa fornece recomendações baseadas nos perfis semelhantes de seus usuários. Uma vantagem importante da filtragem colaborativa é que ela é independente do conhecimento do produto. Em vez disso, conta com os usuários com uma suposição básica de que o que eles gostaram no passado também gostará no futuro. Por exemplo, se uma pessoa A assiste gêneros de crime, ficção científica e suspense e B assiste a gêneros de ficção científica, suspense e ação, então A também gostará de ação e B gostará de gênero de crime.
Há também um terceiro tipo de sistema de recomendação que combina as técnicas Conteúdo e Colaboração. Essa forma de sistema de recomendação é conhecida como Sistema de Recomendação Híbrido. A Netflix utiliza o Sistema de Recomendação Híbrido como principal para sugerir conteúdo a seus usuários.
Como a Netflix resolveu seu problema de recomendação com a ciência de dados
Em 2006, quando a Netflix queria entrar no mercado de streaming, começou com uma competição pela previsão de classificação de filmes. Ele forneceu um prêmio de US$ 1 milhão para quem aumentou a precisão da plataforma então existente ‘Cinematch’ em 10%. No final da competição a equipe BellKor apresentou sua solução que aumentou a precisão da previsão em 10,06%, com mais de 200 horas de trabalho e um conjunto de 107 algoritmos forneceu esse resultado e o modelo final deu um RMSE de 0,8712. Para sua solução eles usaram o algoritmo vizinho K-mais próximo para pós-processamento dos dados.
Em seguida, eles implementaram um modelo de fatoração conhecido popularmente como Decomposição de Valor Singular (SVD) por fornecer uma incorporação dimensional ideal para seus usuários. Eles também fizeram uso de máquinas restritas de Boltzmann (RBM) para aprimorar a capacidade do modelo de filtragem colaborativa. Esses dois algoritmos no conjunto, SVD e RBM, forneceram os melhores resultados. Uma combinação linear desses dois algoritmos reduziu o RMSE para 0,88.
No entanto, mesmo após a redução do RMSE e o aumento da precisão, a Netflix sofreu dois grandes desafios: primeiro, os dados fornecidos durante a competição eram de 100 milhões de classificações de filmes, em oposição a mais de 5 bilhões de classificações da Netflix. Segundo, os algoritmos eram estáticos, o que significa que eles lidavam apenas com dados históricos e não levavam em conta a dinamicidade dos usuários que adicionavam análises em tempo real. Depois que a Netflix superou esses desafios, tornou os algoritmos vencedores parte do seu sistema de recomendação.
Usando a intercalação para melhorar a personalização
A Netflix usa algoritmos de classificação para fornecer uma lista de filmes e programas de TV que mais atraem seus usuários, no entanto, com a presença de vários algoritmos de classificação, geralmente é difícil acomodar todos eles e testar seu desempenho simultaneamente. O teste A / B tradicional em um conjunto reduzido de algoritmos não conseguiu identificar os melhores deles com tamanho de amostra menor e também consumiu muito tempo, então a Netflix decidiu inovar seu processo algorítmico. Para acelerar o processo de experimentação de seus algoritmos de classificação, a Netflix implementou a técnica de intercalação que permitiu identificar os melhores algoritmos, que é aplicada em duas etapas para fornecer o melhor algoritmo de classificação de página para fornecer recomendações personalizadas aos seus usuários.
Na primeira etapa são realizadas experiências para determinar a preferência do membro entre os dois algoritmos de classificação. Diferentemente do teste A / B, no qual os dois grupos de espectadores são expostos aos dois algoritmos de classificação, a Netflix utiliza a intercalação para misturar as classificações dos algoritmos A e B. Ela ainda fornece aos usuários conteúdo enriquecido com base nessa técnica de intercalação altamente sensível para classificar a qualidade do algoritmo.
Importância da conscientização do contexto nas recomendações
A conscientização contextual é um dos elementos-chave na personalização de recomendações para seus usuários. Isso não apenas melhora o desempenho do sistema de recomendação, mas também solicita que os usuários forneçam melhores comentários que resultariam em uma recomendação de qualidade. Existem duas categorias de classes contextuais:
Explícito
Localização
Língua
Hora do dia
Dispositivo
Inferido
Padrões Binging
Companheiro
Para prever contextos, usamos o aprendizado de representação. É uma técnica de aprendizado profundo que executa a engenharia de recursos que descobre recursos sem programação explícita. Com base no horário e nos períodos de exibição, a Netflix baseia seus dados em vários parâmetros, como Dia, Semana, Temporada e períodos ainda mais longos, como Olimpíadas, FIFA e eleições.
Sumário
Neste artigo, estudamos como a Netflix utiliza um sistema de recomendação para fornecer sugestões de filmes para seus usuários. Também vimos como ela depende fortemente de várias técnicas na Data Science para fornecer recomendações ao usuário. Passamos pela competição do Prêmio Netflix e como ele usava os algoritmos da equipe vencedora para melhorar sua precisão. No final, discutimos a previsão contextual e como a Netflix a utiliza para fornecer recomendações personalizadas aos seus usuários.