IGTI Blog
Sistemas de Recomendação

Entenda como funcionam os Sistemas de Recomendação

A crescente variedade de informações disponíveis na web e o rápido surgimento de novos serviços de e-business proporcionou uma sobrecarga de opções aos usuários. Ter opções é algo bom, mas “infinitas” opções nem sempre é melhor.

Surgem então, os Sistemas de Recomendação (SR), a partir da necessidade de filtrar a quantidade de opções disponíveis para o usuário, automatizando a geração de recomendações baseadas na análise dos dados (Melville e Sindhwani, 2010).

Atualmente, os SR têm um papel fundamental em sites como Amazon, YouTube, Netflix, Yahoo, Tripadvisor, WalMart, Spotify e nas principais Redes Sociais (Facebook, Twitter, e Instagram).

O objetivo dos SR é gerar recomendações válidas de itens que possam interessar aos usuários. Sugestões de livros e produtos no Amazon, filmes e séries no Netflix, amigos no Facebook, vídeos no Youtube, lugares no Foursquare e outras infinidades de recomendações. Neste sentido, “item” é um termo geral utilizado para designar o que o sistema recomenda ao usuário, podendo ser, filme, música, vídeo, roupa e até pessoas.

Sistemas de Recomendação

 Fonte: Foursquare.com – Screenshot de Recomendação de Lugares

Mas afinal o que é um Sistema de Recomendação?

Sistema de Recomendação é um conjunto de algoritmos que utilizam técnicas de Aprendizagem de Máquina (AM) e Recuperação da Informação (RI) para gerar recomendações baseadas em algum tipo de filtragem, as mais comuns são: colaborativa (considera a experiência de todos os usuários), baseada em conteúdo (considera a experiência do usuário alvo) e híbrida (as duas abordagens são consideradas).

Filtragem Colaborativa

Os algoritmos de recomendação de Filtragem Colaborativa são amplamente utilizados no ramo de e-commerce e também em Redes Sociais. O usuário recebe recomendações baseadas nas avaliações passadas de todos os usuários, coletivamente. Por exemplo: em uma loja de comércio eletrônico, buscamos por uma geladeira da marca X, e recebemos recomendações de outras geladeiras com base nas avaliações de outros usuários.

As avaliações dos itens podem ser feitas de diversas maneiras. Como uma escala de pontuação baseado em estrelas, um ícone caracterizando gostei e não gostei (avaliação binária), ou até mesmo através da postagem de comentários sobre o item.

Sistemas de Recomendação

 Fonte: Amazon.com – Screenshot de Recomendação de produtos

Filtragem Baseada em Conteúdo

Já os SR que utilizam Filtragem Baseada em Conteúdo. Eles fazem a sugestão de itens que sejam semelhantes aos que o usuário demonstrou interesse no passado, e/ou sobre as configurações de preferências do usuário. Assim, as recomendações são personalizadas para cada usuário.

Por exemplo, os anúncios patrocinados nas redes sociais são filtrados de acordo com as características do perfil, incluindo histórico de postagens, amigos/seguidores e seguidos. O pressuposto para esse tipo de filtragem é que os usuários tendem a se interessar por itens semelhantes aos escolhidos no passado.

Sistemas de Recomendação

Fonte: Twitter.com – Screenshot de Anúncios Patrocinados

Similaridade de Item/Usuário

Um dos principais conceitos utilizados nos SR é a similaridade. Esta consiste em descobrir itens similares aos que o usuário já adquiriu ou usuários mais similares entre si (vizinho mais próximo). Por exemplo, em um site de filmes podemos recomendar para um usuário alvo, filmes que outros usuários similares a ele já assistiram. Utilizando as avaliações e preferências de todos os usuários, pode-se calcular a similaridade entre esses usuários e o usuário alvo. Assim, seria possível fazer recomendações de filmes ainda não assistidos para o usuário alvo, baseado na similaridade com outros usuários e na classificação deste item (Liu, 2014).

A similaridade dos itens pode ser determinada pela busca booleana, métodos probabilísticos e também modelos vetoriais. Nessa abordagem, os algoritmos de Classificação mais utilizados são: Vizinho K-mais-próximo;Árvores de Decisão; Classificador de Bayes; SVM e Redes Neurais.

Um dos problemas em considerar a similaridade é denominado Cold-Start, causado, por exemplo, por novos usuários que não tenham apresentado quaisquer avaliações, e, portanto não podem ser comparados a outros.

Método Híbrido

Para aumentar a eficiência dos sistemas de recomendação baseados nas técnicas de filtragem colaborativa e baseada em conteúdo, foram propostos vários métodos híbridos que combinam as duas abordagens. Dentre as abordagens híbridas destacam-se:

1 – produzir listas separadas de recomendação (de cada abordagem) e unir seus resultados para produzir uma lista final;

2 – utilizar pesos para os tipos de filtragem, por exemplo, na técnica colaborativa, podemos valorizar itens que receberem mais acessos;

3 – utilizar as técnicas de classificação de Aprendizagem de Máquina. Pode-se, por exemplo, prever qual filme o usuário gostaria de ver, e também estimar se este filme será ou não apreciado pelo usuário.

Sistemas de Recomendação

Fonte: Netflix.com – Screenshot de recomendações Híbridas

Recomendação Netflix

Um dos mais personalizados Sistemas de Recomendação existente é utilizado pela empresa Netflix. Ela adaptou seus algoritmos de Recomendação de uma maneira que, no ano de 2012, 75% do conteúdo assistido foi proveniente de algum tipo de recomendação.

Um dos conceitos aplicados na Netflix é a diversidade. Torna-se possível a combinação de diversas métricas com foco nos dados do perfil do usuário para a recomendação de itens relevantes que não possuem similaridade com o conteúdo já visto por este usuário. A integração com as redes sociais (exemplo: Facebook), também auxiliam na tarefa de personalizar recomendações. Assim, é possível recomendar itens vistos pelos amigos do usuário.

Tendências dos SR

Algumas tendências surgem para aperfeiçoar os SR, por exemplo:

1 – agrupar os usuários por gostos similares, assim, a similaridade pode ser calculada entre os usuários do grupo ao invés de compará-lo com todos os usuários do sistema;

2 – aplicação de técnicas avançadas de Aprendizagem de Máquina como Deep Learning e também análise de sentimento;

3 – explorar a combinação de features, além das tradicionais relacionadas aos itens e ao usuário, a integração com outras plataformas, como as redes sociais;

4 – inserir diversidade e novidade nos resultados obtidos melhora a experiência do usuário, impedindo a monotonia e previsibilidade do sistema.

Por fim, os Sistemas de Recomendação tornaram-se essenciais para a fidelização de usuários. Principalmente pelo fato do usuário sentir-se reconhecido e tratado com individualidade, proporcionando a sensação de felicidade. Além disso, quanto mais o usuário interagir com o sistema, mais precisas serão as recomendações obtidas, independente do tipo de técnica utilizada.

Professora autora: Michelle Hanne Soares Andrade

Referências:

MELVILLE, P.; SINDHWANI, V. Encyclopedia of machine learning.[s.l.] Springer-Verlag, chapter Recommender systems, 2010.

LIU, Yang. Sistema de recomendação dos amigos na rede social online baseado em Máquinas de Vetores Suporte. Dissertação (Mestrado), Universidade de Brasília, Brasília, 2014.

Recomendação de Leitura:

Recommender Systems: An Introduction, DietmarJannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich. Cambridge University Press, 2010.

Recommender Systems Handbook, Francesco Ricci, LiorRokach, BrachaShapira, Paul B. Kantor. Springer, 2015.

Recommender Systems: The Textbook, Charu C. Aggarwal. Springer, 2016.