março 10, 2020

Sistemas de recomendação: conceito e exemplos

Por data2learning

Uma vez acessei meu e-mail e tinha uma oferta de um livro de Inteligência Artificial em promoção. Aproveitei o preço e comprei. No entanto, fiquei me perguntando: como ele sabia que eu estava precisando desse produto? É disso que vamos falar no texto de hoje: sistemas de recomendação.

Sistemas de recomendação

Sistemas de recomendação estão cada vez mais presentes no nosso dia-a-dia. Basicamente, quase todos os sistemas que acessamos trazem conteúdo personalizados para cada usuário. Um sistema de recomendação tem como função fornecer sugestões de itens baseadas no interesse do usuário e que sejam capazes de atender às suas necessidades. Esses itens vão desde filmes, músicas a propagandas e posts nas redes sociais. Os geradores de conteúdo estão cada vez mais “subordinados” a esse tipo de sistema para atingir o seu público. É a partir dos sistemas de recomendação que sua postagem chega na pessoa certa. Ou seja, aquela que tem maior probabilidade de interagir com o que você postou.

O crescente interesse por sistemas de informação vem exatamente do fato de que existe muita informação sendo gerada hoje na internet. Basta ver a quantidade de informação que é gerada na internet em 1 minuto:

Infográfico criado por @LoriLewis e @OfficialChadd.
Disponível em: https://www.allaccess.com/merge/archive/29580/2019-this-is-what-happens-in-an-internet-minute

Com o grande volume de informações fica mais difícil para nós humanos coletar e processar esse mundo de dados. Sendo assim, usamos um computador para isso. Podemos fazer isso de duas maneiras: ou usamos uma ferramenta de busca para encontrar o que queremos ou essa informação simplesmente chega para gente. Esse segundo caso é o que chamamos de sistemas de recomendação. Uma estratégia muito eficiente hoje em dia. Você não espera o usuário ir atrás do seu conteúdo, ele já chega para seu cliente.

O sistema de recomendação leva o conteúdo certo ao usuário a partir de uma grande quantidade de conteúdo.

A literatura apresenta vários tipos de sistema de recomendação: recomendação colaborativa, recomendação baseada em conteúdo, recomendação para grupos e tantos outros. Apesar de ter suas especificidades, os algoritmos funcionam, de forma geral, da seguinte maneira:

Usuários e itens são combinados para prover a recomendação

O sistema de recomendação usa informações de usuários combinadas com informações de itens daquele sistema para prever se você vai gostar de um determinado item (a partir da predição de uma nota) ou para recomendar uma lista de itens ordenados pelo seu interesse. As relações usuário-usuário ou usuário-item podem ser usadas para chegara a conclusão do que você gosta. Para quem quiser entender os conceitos básicos de uma sistema de recomendação com mais detalhes, recomendo este artigo.

Uma outra coisa que sempre que me perguntava quando comecei a pesquisar esse tema era como as empresas lucravam a partir dos sistemas de recomendação. O artigo “Case study on the business value impact of personalized recommendations on a large online retailer” fez um experimento com 4 grandes varejistas online e mostrou que as recomendações geraram um aumento de receitas em torno de 8 a 20%. Ou seja, existe sim um impacto financeiro a partir das recomendações. Não é por acaso que há um crescimento no investimento em pesquisa e implementação de sistemas deste tipo. Não basta levar o cliente ao seu site. Ele deve ser levado ao seu site com uma probabilidade maior de que ele vai comprar o seu produto. Para isso, os clientes certos precisam ser apresentados aos produtos certos. Essa é a função dos sistemas de recomendação.

O caso da Netflix

A Netflix é uma empresa que soube usar sistemas de recomendação desde do início. No ano de 2006, nos primórdios do seu serviço online (vale ressaltar que antes de lançar o streaming, a Netflix era uma empresa de locação de DVD), a empresa lançou o Netflix Prize, competição que dava $1M para os pesquisadores que conseguissem melhorar o seu sistema de predição. Foram milhares de submissões para o desafio durante 3 anos. A competição trouxe uma grande contribuição para a área de sistemas de recomendação já que as soluções eram compartilhadas com todos.

Esse foi só o ponto de partida para a Netflix investir e construir sistemas de recomendação cada vez mais precisos. No artigo “The Netflix Recommender System: Algorithms, Business Value, and Innovation”, os autores discutem sobre os diversos sistemas de recomendação que compõem o Netflix e o impacto econômico que soluções deste tipo tem na empresa.

O primeiro ponto a destacar sobre a Netflix, é que seu sistema de recomendação não é feito por um único algoritmo. Como os autores falam:

Our recommender system is not one algorithm, but rather a collection of different algorithms serving different use cases that come together to create the complete Netflix experience.

Carlos A. Gomez-Uribe and Neil Hunt. 2016. The Netflix Recommender System: Algorithms, Business Value, and Innovation. ACM Trans. Manage. Inf. Syst. 6, 4, Article 13 (December 2016), 19 pages. DOI:https://doi.org/10.1145/2843948

Esse conjunto de algoritmos usa as mais diversas informações providas pelos usuários para recomendar e melhorar a experiência dele na plataforma. Dados como: o que cada pessoa assiste, o que não assiste, o que desiste de assistir tem como objetivo gerar uma lista de filmes que agrade o usuário fazendo com que ele gaste menos tempo procurando o que assistir e mais tempo assistindo. O que a Netflix menos quer é que você perca o interesse e saia da plataforma sem assistir.

Consumer research suggests that a typical Netflix member loses interest after perhaps 60 to 90 seconds of choosing, having reviewed 10 to 20 titles (perhaps 3 in detail) on one or two screens. The user either finds something of interest or the risk of the user abandoning our service increases substantially.

Carlos A. Gomez-Uribe and Neil Hunt. 2016. The Netflix Recommender System: Algorithms, Business Value, and Innovation. ACM Trans. Manage. Inf. Syst. 6, 4, Article 13 (December 2016), 19 pages. DOI:https://doi.org/10.1145/2843948
Seu Netflix é um grande sistema de recomendação

Uma outra informação sobre a Netflix é que os sistemas de recomendação permitem manter o usuário mais tempo na plataforma. Quando muitos usuários cancelam o serviço, a empresa tem um gasto a mais para adquirir usuários acima do que talvez tivesse previsto para compensar a quantidade de usuários cancelados. Estima-se que esse tipo de abordagem tem economizado cerca de $1Bilhão por ano.

Isso mostra mais uma vez o impacto econômico que os sistemas de recomendação tem nas empresas. Para quem tiver interesse vale a pena a leitura do artigo da Netflix para entender como o sistema deles funcionam. Para quem não for da área de computação, pode ler sem problemas as 3 primeiras seções do artigo. A partir da seção 4, os tópicos são mais específicos da área de ciência da computação. #ficaadica

O caso das redes sociais

Nas redes sociais não é diferente. Os sistemas de recomendação têm um grande impacto na distribuição de conteúdo para seus usuários. Plataformas como Facebook, Instagram e Twitter utilizam sistemas deste tipo na exibição de sua timeline. O que aparece para o usuário é determinado pelos algoritmos. Neste link, o twitter descreve como a timeline do usuário é formada. Em um dos tópicos eles falam:

Additionally, when we identify a Tweet, an account to follow, or other content that’s popular or relevant, we may add it to your timeline. This means you will sometimes see Tweets from accounts you don’t follow. We select each Tweet using a variety of signals, including how popular it is and how people in your network are interacting with it. Our goal is to show you content on your Home timeline that you’re most interested in and contributes to the conversation in a meaningful way, such as content that is relevant, credible, and safe.

Help center do Twitter: https://help.twitter.com/en/using-twitter/twitter-timeline

Ou seja, além do conteúdo que você escolhe para seguir, vai aparecer um conteúdo adicional proveniente de usuários que você não segue, mas que muito provavelmente você tem interesse. Isso é essencial para te manter na ferramenta por mais tempo e para que você interaja cada vez mais nela.

Disponível em: https://pixabay.com/illustrations/wordcloud-tagcloud-cloud-text-tag-679951/

O Instagram não é muito diferente. Desde 2016, o rede social usa um algoritmo para determinar como o feed deve aparecer para usuário. Em 2018, a empresa finalmente detalhou um pouco mais como esse algoritmo funciona. Segundo este post, existem três aspectos mais relevantes para a formação do feed:

Interest: How much Instagram predicts you’ll care about a post, with higher ranking for what matters to you, determined by past behavior on similar content and potentially machine vision analyzing the actual content of the post.

Recency: How recently the post was shared, with prioritization for timely posts over weeks-old ones.

Relationship: How close you are to the person who shared it, with higher ranking for people you’ve interacted with a lot in the past on Instagram, such as by commenting on their posts or being tagged together in photos.

How Instagram’s algorithm works (Techcrunch): https://techcrunch.com/2018/06/01/how-instagram-feed-works/

Ou seja, o seu feed é resultado de um sistema de recomendação que usa basicamente o seu interesse (ou seja, posts que mais lhe agradam), o tempo em que a publicação foi postada e o seu relacionamento com outros usuários e postagens. Tudo isso constrói o seu perfil de usuário que é usado para determinar o que vai aparecer para você. Outros aspectos relacionados a como você usa o Instagram (tempo de uso, frequência e quantidade de pessoas que você segue) também vão influenciar no seu feed. Nesta conta entra também os conteúdos patrocinados e propagandas. E é sobre isso que gostaria de falar para finalizar nosso texto.

Recomendando propagandas

A primeira vez que tive contato com esse tema foi durante o mestrado, quando durante a busca de trabalhos relacionados cheguei ao artigo de um colega de laboratório. O trabalho “Learning to Advertise” tem como objetivo gerar rankings para propagandas em websites de forma que elas sejam relevantes para os usuários e anunciantes. Mesmo 14 anos após a publicação do artigo, o tema ainda é bem relevante.

Disponível em: https://pixabay.com/vectors/email-email-marketing-newsletter-4284157/

O primeiro banner de propaganda na web foi publicado em 1994 e de lá para cá houve um grande avanço em como as propagandas são utilizadas na internet. Segundo este artigo, estamos na terceira fase da propaganda digital. Chamada pelos autores de intelligent advertising (propaganda inteligente, em tradução livre) essa fase consiste exatamente no uso de uma série de informações que é provida pelos usuários de forma indireta para prover recomendações de propagandas mais eficientes. É fácil perceber que tudo o que fazemos na web gera dados que são casados com as especificações dos anunciantes de conteúdo. Desta forma, as plataformas sabem mais sobre seus usuários e, consequentemente, os anunciantes tem uma resposta mais precisa sobre seus anúncios.

Como visto anteriormente, esse tipo de sistema utiliza todas as informações de interação do usuário nas plataformas ou aplicativos para recomendar conteúdo. No caso das “propagandas inteligentes”, esse tipo de informação é utilizada para antecipar o interesse do usuário por um determinado item. Foi assim que recebi a promoção de um livro de Inteligência Artificial. O site de compras sabia que era um tema que me interessava. Sabia que eu tinha pego um amostra daquele livro. Sabia que eu pesquisava outros livros de temas relacionados. Desta forma, a probabilidade de aceitar aquela compra era alta. Logo, vale a pena oferecer aquele produto para aquele usuário. Deu certo 😉

O tema sistemas de recomendação é um mundo e fonte para mais de um texto. Nesse primeiro queria apresentar alguns conceitos e mostrar como esse tipo de sistema está lidando com a nossa forma de interagir com o mundo. Existem prós, contras e gargalos para esse tipo de sistema. No entanto, isso é tema para outro texto.

E aí gostaram deste tema? Estou preparando um tutorial mais prático para sistemas de recomendação. Em breve estará aqui no site. Se gostou, comente e compartilhe.

Não deixe de me seguir no Instagram @profadolfoguimaraes para ficar por dentro das postagens e assuntos relacionados à Inteligência Artificial, Machine Learning e Análise de Dados.