Os sistemas de recomendação buscam padrões nos dados para realizar sugestões. É um sistema usado por Spotify, Netflix e Amazon. Saiba mais.
Você faz uma compra online ou simplesmente fica navegando por produtos e colocando-os em um carrinho. Logo depois, você recebe recomendações inteligentes que surgem com base no que você viu ou no que outros usuários parecidos viram. Essas sugestões são específicas e te ajudam a fazer sua compra e a entender o que você precisa adquirir.
Esses são os sistemas de machine learning chamados de sistemas de recomendação. Eles estão em todos os lugares: na plataforma de compras online, nos sistemas de streaming de áudio e de música, nas redes sociais, etc. Vemos a cada dia mais gestores de outros tipos de negócio procurando desenvolver aplicações desse tipo para melhorar suas vendas.
Por essa razão, investir em conhecer esse assunto é investir no bem de sua carreira como cientista de dados. Se quiser entender como fazer um sistema de recomendação, saiba primeiro como ele funciona. Acompanhe e descubra.
Sistemas de recomendação, ou algoritmos de recomendação, são aplicações que conseguem sugerir algo a uma pessoa, com a ajuda de uma predição probabilística de que ele vai gostar daquilo. Envolve uma análise profunda que compreende padrões, correlações entre os dados e até mesmo a distância entre variáveis existentes na base de dados.
Geralmente, esse tipo de algoritmo inteligente é desenvolvido de forma não supervisionada, a partir de uma visão descritiva da base de dados. Ou seja, a pessoa cientista de dados passa um conjunto de dados sem saídas predefinidas para os sistemas. O objetivo é esperar que o sistema aprenda e extraia os padrões internos já existentes para gerar isso como saída.
Temos várias formas de implementar uma aplicação de recomendação. Três delas são: algoritmo apriori de regras de associação, filtragem colaborativa e filtragem de conteúdo.
Os algoritmos apriori se baseiam puramente em cálculos estatísticos de frequência em uma base de dados, com auxílio de algumas variáveis como confiança e suporte. Avalia-se a frequência com que certos elementos surgem juntos na base para criar algumas regras fixas que atendem aos critérios definidos. A partir dessas regras, portanto, é possível realizar recomendações.
Um caso clássico de apriori é o dos produtos comprados em um supermercado. Quando se analisa o dataset, percebe-se, por exemplo, que as pessoas que compram café, compram também leite. Então, a um dado grau de certeza, pode-se afirmar que a próxima pessoa que entrar no supermercado e comprar café vai comprar leite.
A filtragem colaborativa é um método mais moderno, sendo, inclusive, o principal usado no mercado para esse tipo de aplicação. Consiste em analisar as similaridades entre usuários e, com isso, determinar uma recomendação de acordo com os usuários mais parecidos. A lógica é a seguinte: descobre-se que uma pessoa A é parecida com a pessoa B. Se A gostou do produto X, então podemos concluir que B poderá gostar de X também.
O critério para determinar a similaridade é definido geralmente com um histórico do usuário A e com o cálculo da distância euclidiana com relação ao usuário B, cujas características servem de entrada para o sistema de recomendação. Em uma recomendação por notas de avaliação, por exemplo, a distância euclidiana é calculada com as notas concedidas por usuários a cada item, de modo a chegar ao valor de similaridade.
Quando um novo usuário C chega para receber uma sugestão, o sistema se pergunta: “de acordo com os dados de C, quem é o usuário mais próximo?” Ora, se for A, então a aplicação simplesmente recomenda para C o que A gostou.
Por fim, temos a filtragem baseada em conteúdo. Ela agrupa produtos com base em características similares, como o gênero no caso de livros ou músicas. Então, é feita a recomendação a partir disso: quem gostou do item X do gênero A deve gostar também de Y do gênero A. A diferença para a colaborativa é o foco no item e na categoria dele.
Agora, vamos entender melhor como os sistemas funcionam com exemplos práticos.
O modelo de recomendação da Netflix é famoso. Sempre que uma pessoa entra na plataforma, ela é recebida com alguns filmes e séries recomendados. Para chegar a essas sugestões, o sistema da empresa usa dados de histórico de visualizações, avaliações, quanto tempo a pessoa assiste, a hora do dia em que vê e os dispositivos utilizados.
Então, realiza um grande cruzamento colaborativo para encontrar usuários similares e recomendar a partir do que os outros veem.
O grande destaque do algoritmo de recomendação da Amazon é que ele mesmo denuncia o tipo que é usado nos bastidores. Há uma seção em que o site informa que os produtos recomendados são os que foram visualizados por outras pessoas (colaborativa) e há também seções que informam que as sugestões são de produtos parecidos, do mesmo gênero de conteúdo.
O Spotify usa os dois tipos de filtragem em um modelo híbrido para chegar a recomendações bem inteligentes e precisas. O grande diferencial é a forma como o algoritmo analisa músicas e encontra formas de agrupá-las de acordo não somente com o gênero, mas também com o tempo, o tom e o nível de intensidade.
Esse foi um projeto de estudantes do curso de Data Science e Machine Learning da Tera. Trata-se de uma aplicação que recomenda cervejas artesanais com base nas preferências culinárias das pessoas.
Então, as pessoas devem preencher um formulário, informando como avaliam determinados alimentos e sabores e até mesmo tipos de cervejas. O software, por sua vez, aplica a filtragem colaborativa para gerar recomendações de cervejas e mostram também a probabilidade do usuário gostar daquele item.
O Edu, outro projeto de estudantes do curso da Tera, é um sistema para recomendar artigos interessantes para leitores. Se baseia na criação de grupos de usuários similares, a partir de outros artigos que eles avaliaram. Diante dessa similaridade, o algoritmo aplica a filtragem colaborativa para chegar ao melhor resultado e sugerir um novo item.
….
Os sistemas de recomendação estão presentes em nosso dia a dia e, por isso, são ótimas aplicações para aprender e dominar. Ao entender como eles funcionam e conciliar o funcionamento com o que você já sabe de Machine Learning e Data Science, você consegue evoluir na carreira e inclusive se preparar para colocar a mão na massa e construir um!
Conseguiu entender o assunto? Então, que tal uma recomendação para continuar aprendendo? Entenda melhor as diferenças entre machine learning e deep learning.