Como o próprio nome diz, os Sistemas de Recomendação têm o objetivo de recomendar produtos ou serviços para o consumidor, de forma personalizada, utilizando técnicas de Machine Learning para isso.
Personalização
A personalização é a grande diferença em relação aos sistemas mais antigos como, por exemplo, a televisão. Antigamente, antes da internet, ou da inteligência artificial, estávamos sujeito às grades de programação dos canais; ou seja, tínhamos que nos adequar aos horários específicos em que os programas eram apresentados, sendo que se quiséssemos assisti-los, teria que ser no horário estipulado pela emissora; ou se os perdêssemos, não os veríamos mais, a não ser que usássemos o velho vídeo cassete, ou o programa fosse reprisado pela emissora.
E pior: se não tivéssemos interesse por determinado programa – ou programas de um horário específico –, então não tínhamos opção; ou nos sujeitávamos à programação proposta e disponível, ou não assistiríamos nada!
A mesma situação se dava com o rádio: quem quisesse ouvir alguma música, estaria sujeito à programação com as músicas que estavam tocando naquele momento. Mesmo que as estações tivessem blocos com músicas de um determinado estilo, a única opção era sujeitar-se àquela programação ou, então, simplesmente, não ouvir música!
Com o avanço da internet, estas muitas limitações foram superadas, fazendo com que a experiência do consumidor se tornasse personalizada.
Quando se fala dessa experiência personalizada, falamos do que se vê em plataformas como a Netflix, por exemplo: quando alguém, que tem uma conta, entra para assistir, a página inicial já está de acordo com o perfil do consumidor, de acordo com os seus gostos, as suas preferências.
A mesma coisa acontece no Youtube, para quem tem uma conta que é usada há algum tempo, cuja página inicial tem recomendações de vídeos baseada nos vídeos que a pessoa já assistiu.
É claro que essa experiência não se limita ao ramo de vídeos ou de música, mas a todos os que navegamos, hoje em dia, na internet, principalmente em sites maiores como os mencionados acima, entre muitos outros.
Podemos citar, também, as notícias, cujos sites procuram proporcionar aos seus clientes aquelas do seu interesse, aquelas que os usuários procuram e acessam mais. Ou, ainda, os sites de compras, que procuram recomendar produtos de acordo com as compras já realizadas, e assim por diante.
Isso colocou a humanidade na era da experiência personalizada, em que cada pessoa, cada cliente, tem uma página diferenciada de outras pessoas, algo específico para ela.
Cold Start
Um problema muito comum da experiência personalizada é o “cold start“, ou partida a frio, que deriva de uma expressão utilizada no ramo automobilístico, quando é necessário ligar um motor em uma temperatura muito abaixo de sua temperatura normal de operação.
Nos sistemas de recomendação, podemos enxergar como sua temperatura normal de funcionamento a situação onde o usuário já possui um histórico conhecido, sendo que quando este histórico é desconhecido a temperatura estaria muito abaixo do esperado, levando a uma partida a frio. Vamos entender melhor!
Por se tratar de um início, podemos imaginar que para proporcionar essa experiência personalizada para cada usuário é necessário conhecer um pouco sobre ele, suas preferências e gostos; mas, se ele estiver entrando pela primeira vez na plataforma, não se tem como adivinhar quais são eles! Então, o que se vai recomendar para um usuário nesse princípio, quando não se tem nenhuma informação disponível sobre ele?
Nesse caso, pode-se adotar uma abordagem de recomendar os produtos ou serviços mais utilizados, os que estão mais em alta, como acontece no Youtube, por exemplo. Quando ainda não se conhece o perfil do usuário, se oferece os vídeos que estão em alta, os mais vistos. Ou numa plataforma de vendas, se oferece os produtos mais vendidos, e assim por diante.
Essa, então, é a estratégia usada com os usuários que estão acessando pela primeira vez uma plataforma.
Mas, a partir do momento que o usuário já fez alguma interação com algum produto ou serviço, aí já começa a ficar um pouco mais fácil, e já se pode começar a usar machine learning para fazer recomendações mais específicas para esse usuário. Vamos conhecer algumas das técnicas utilizadas neste processo.
Técnicas utilizadas
Atualmente existem dois métodos principais para se trabalhar com sistemas de recomendação, a filtragem por conteúdo e a filtragem colaborativa, sendo que através destas duas opções podemos ainda obter um método híbrido, criado a partir da união dos dois.
Filtragem baseada em conteúdo (Content-based)
A filtragem por conteúdo consiste basicamente em trazer recomendações com base nas características de cada produto ou serviço consumido. Ou seja, um usuário que busca por um notebook receberá recomendações de outros notebooks, um usuário que assiste um filme de comédia receberá como indicação outros filmes de comédia.
Estas características podem ser simples, levando a uma categorização manual, ou complexas, sendo necessário, inclusive, em alguns casos, utilizar um algoritmo de machine learning para identificá-las.
Neste método estamos preocupados apenas com o conteúdo do produto ou serviço, ignorando características de seus consumidores. Desta forma, não será considerado o perfil do consumidor, nem mesmo comparações que busquem similaridades e diferenças no comportamento dos usuários.
Filtragem colaborativa (Collaborative Filtering)
Já a filtragem colaborativa busca justamente identificar o comportamento dos consumidores, através de suas interações com os produtos e serviços, encontrando relações entre esses comportamentos. Desta forma, o perfil do usuário estará em análise, e as indicações que serão realizadas para ele serão relacionadas com produtos e serviços que consumidores com este mesmo perfil costumam consumir.
Com esta abordagem as indicações serão de produtos e serviços variados. Ao buscar por um computador você poderá receber a recomendação de uma cadeira, caso pessoas com o mesmo perfil que o seu tenham o hábito de também buscar por cadeiras além de computadores.
Ao analisarmos as grandes massas, percebemos padrões de comportamento. É claro que sempre existirão pessoas que por mais que se enquadrem em um perfil, seus desejos não são os mesmos da maioria, porém, normalmente, não é isto que acontece, o que torna a filtragem colaborativa uma poderosa ferramenta de recomendação.
Confira também, no vídeo abaixo, uma aplicação prática de inteligência artificial para recomendação de filmes, utilizando linguagem Python e o Power BI.
Sistemas de Recomendação na prática
Em nosso módulo II do curso de Machine Learning com Python abordamos em detalhes, tanto a teoria, quanto a prática, que envolve os sistemas de recomendação, fornecendo aos alunos toda a base necessária para criação de soluções próprias. Nossos cursos são totalmente focados na didática, de maneira que todos consigam acompanhar e não fiquem lacunas no aprendizado. Todo conhecimento prévio exigido também é fornecido ao longo dos cursos.
Confira aqui a lista completa de cursos de machine learning.
Leia também: