Sistemas de Recomendação (SR) são conjuntos de algoritmos capazes analisar e identificar padrões de comportamento dos usuários de determinada plataforma, com objetivo de fornecer sugestões personalizadas, com base em seus interesses e histórico de navegação.
A crescente variedade de informações disponíveis na web, somada ao rápido surgimento de novos serviços de e-business, gerou uma sobrecarga de opções aos usuários. Ter opções é bom, mas, “infinitas” nem sempre é o melhor.
Surgem então, os Sistemas de Recomendação, 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, como Facebook, Twitter, e Instagram.
Quer entender como esses sistemas funcionam na prática?
Neste post, além de explicar o que é um Sistema de Recomendação, também mostramos como esse tipo de ferramenta funciona, quais tecnologias utilizar, exemplos e tendências para este mercado. Ao final, ainda indicamos algumas formações para quem deseja se capacitar para atuar na área. Boa leitura!
O que é um Sistema de Recomendação?
Um 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. Seu objetivo é oferecer uma experiência de consumo mais personalizada para os usuários.
Para que serve um sistema de recomendação?
O objetivo dos SR é gerar recomendações válidas de itens que possam interessar aos usuários, tal como sugestões de:
- livros e produtos na Amazon;
- filmes e séries na Netflix;
- amigos no Facebook;
- vídeos no Youtube;
- lugares no Foursquare;
- e outras infinidades de recomendações.
Ou seja, podemos entender “item” como um termo geral, utilizado para designar o que o sistema recomenda ao usuário, podendo ser filmes, músicas, vídeos, roupas e até pessoas.
Na imagem abaixo é possível ver um exemplo do Foursquare, com recomendações de lugares relacionados a busca por alimentação em Belo Horizonte:
Fonte: Foursquare.com – Screenshot de Recomendação de Lugares
< Quer conhecer melhor seus usuários? Então, leia este post: Saiba como montar um mapa de empatia para conhecer o seu cliente />
Como funciona um sistema de recomendação?
Fazer um sistema de recomendação, como você pode imaginar, envolve a análise de dados como preferências e padrões de navegação dos usuários. Desse modo, é possível personalizar sua experiência, sugerindo conteúdos e produtos mais adequados ao seu perfil.
Para que isso seja possível, é preciso filtrar toda essa informação, de modo a encontrar padrões. Dentre as modalidades de filtragem mais comuns, temos:
- colaborativa – considera a experiência de todos os usuários;
- baseada em conteúdo – considera a experiência do usuário alvo;
- híbrida – tanto a filtragem colaborativa, quanto a baseada em conteúdo são consideradas.
Vamos entender um pouco mais sobre cada uma delas a seguir:
Filtragem Colaborativa
Os algoritmos de recomendação de Filtragem Colaborativa são amplamente utilizados no ramo de e-commerce, assim como nas Redes Sociais.
O usuário alvo recebe recomendações baseadas nas avaliações de todos os outros usuários, de forma coletiva.
Por exemplo: em uma loja de comércio eletrônico, ao buscarmos por uma geladeira da marca X, recebemos também recomendações de geladeiras de outras marcas, com base nas avaliações realizadas pelas pessoas.
As avaliações dos itens podem ser feitas de diversas maneiras. Dentre os exemplos mais comuns, temos:
- escala de pontuação;
- escala de estrelas;
- ícones de gostei e não gostei (avaliação binária);
- comentários sobre o item.
Na imagem abaixo, temos o exemplo de sistema do recomendação de produtos utilizado pela Amazon:
Fonte: Amazon.com – Screenshot de Recomendação de produtos
Filtragem Baseada em Conteúdo
Já os SR que utilizam Filtragem Baseada em Conteúdo, apresentam sugestões de acordo com as configurações de preferências definidas pelo usuário, e/ou com base em seu histórico de navegação, indicando itens semelhantes aos que demonstrou interesse no passado. Ou seja, as recomendações são personalizadas.
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.
Esse tipo de filtragem parte da premissa de que os usuários tendem a se interessar por itens semelhantes aos escolhidos no passado.
Abaixo, você confere um exemplo de sistema de recomendação de produtos no Twitter:
Fonte: Twitter.com – Screenshot de Anúncios Patrocinados
Similaridade de Item/Usuário
Um dos principais conceitos utilizados nos SR é a similaridade, que consiste em descobrir itens similares aos que o usuário já adquiriu, ou mesmo, usuários que sejam semelhantes entre si (vizinho mais próximo).
Utilizando as avaliações e preferências de todos os usuários, pode-se calcular a similaridade entre o grupo geral e um usuário alvo. Assim, se torna possível recomendar filmes ainda não assistidos para uma pessoa, com base na similaridade com os demais e na classificação deste item (Liu, 2014).
Por exemplo, em um site de filmes, podemos recomendar ao usuário, títulos que pessoas com gostos similares aos dele já assistiram.
A semelhança 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 é o 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 algoritmos de sistemas de recomendação, vários métodos híbridos, que combinam as duas abordagens, foram propostos. Dentre as filtragens híbridas, destacam-se:
- produzir listas separadas de recomendação (de cada abordagem) e unir seus resultados, a fim de produzir uma lista final;
- utilizar pesos para os tipos de filtragem, por exemplo, na técnica colaborativa, podemos valorizar itens que receberem mais acessos;
- 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 conteúdo será ou não apreciado pelo usuário.
< Quer saber mais sobre como aprimorar a experiência do seu usuário? Então, confira este post: UI e UX Design: diferenças e semelhanças />
Exemplo de sistema de recomendação da Netflix
Um dos SRs mais personalizados atualmente é o utilizado pela Netflix, que aprimorou o algoritmo de seu sistema de recomendação de tal maneira que, cerca de 75% da atividade de sua audiência é direcionada pelas indicações da plataforma.
Um dos conceitos aplicados na Netflix é a diversidade, realizada a partir da combinação de várias métricas. Com foco nos dados do perfil de cada usuário, o sistema possibilita a recomendação de itens relevantes, mesmo que não possuam similaridade com o conteúdo já visto por ele.
A integração com as redes sociais, como o Facebook, também contribui para personalizar recomendações. Assim, é possível recomendar itens vistos pelos amigos do usuário.
Na imagem abaixo, vemos o exemplo do sistema de recomendação de conteúdos utilizado pela Netflix:
Fonte: Netflix.com – Screenshot de recomendações Híbridas
Quais são as tendências em sistemas de recomendação?
Não é novidade para ninguém que a tecnologia está em constante evolução, não é mesmo? Pegando carona nesses avanços, os mercados de consumo e entretenimento estão sempre em busca de inovações para oferecer experiências cada vez melhores a seus usuários.
Conheça algumas tendências:
- agrupar os usuários por gostos similares, assim, a similaridade pode ser calculada entre os membros do grupo, ao invés de compará-lo com todos os usuários do sistema;
- aplicação de técnicas avançadas de Aprendizagem de Máquina, como Deep Learning, e também análise de sentimento;
- explorar a combinação de features, além das tradicionais, relacionadas aos itens e ao usuário, explorar a integração com outras plataformas, como as redes sociais;
- inserir diversidade e novidade nos resultados contribui para melhorar a experiência do usuário, impedindo a monotonia e previsibilidade do sistema.
Por fim, é importante ter clareza de que, quanto mais o usuário interagir com o sistema, mais precisas serão as recomendações obtidas, independentemente do tipo de técnica utilizada.
< Leia também: Quais são as profissões do futuro na área de tecnologia? Como se preparar? />
Como se preparar para atuar nesta área?
Os Sistemas de Recomendação tornaram-se essenciais para a fidelização de usuários. Principalmente pelo fato destes se sentirem reconhecidos, ao serem tratados com individualidade.
Ao que tudo indica, esta é a direção natural para esse tipo de tecnologia, uma vez que o caminho do sucesso passa pela personalização, a fim de oferecer experiências cada vez mais completas e satisfatórias para os consumidores.
Quer atuar nesta área, mas não sabe por onde começar? Confira algumas dicas de formação que vão te levar ao próximo nível:
- Pós-graduação em Machine Learning;
- Bootcamp online: Arquiteto(a) de Machine Learning;
- Bootcamp online: Engenheiro(a) de Machine Learning.
E aqui vai a cereja do bolo: aderindo ao XPE Multi+, com uma única assinatura, você tem acesso a dezenas de cursos para aprimorar ainda mais seus conhecimentos e enriquecer o seu currículo. Experimente agora mesmo!
Este post foi escrito pela professora Michelle Hanne Soares Andrade. Se você deseja explorar este universos e entender mais sobre o assunto, não deixe de conferir:
Referências utilizadas
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ções 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.