O que é filtragem colaborativa?

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

O que é filtragem colaborativa?

A filtragem colaborativa é uma abordagem utilizada em sistemas de recomendação. O sistema classifica os usuários conforme comportamentos parecidos, oferecendo novas recomendações de itens com base nas características do grupo.

A filtragem colaborativa é um método de recuperação de informações que recomenda itens aos usuários com base em como outros usuários com preferências e comportamentos semelhantes interagiram com esses itens. Em outras palavras, os algoritmos de filtragem colaborativa agrupam usuários com base em seu comportamento e utilizam as características gerais do grupo para recomendar itens a um usuário específico. Os sistemas de recomendação colaborativa operam com o princípio de que usuários com comportamentos semelhantes compartilham interesses e gostos similares.1

Filtragem colaborativa vs filtragem baseada em conteúdo

A filtragem colaborativa é um dos dois principais tipos de sistemas de recomendação, sendo o outro as recomendações baseadas em conteúdo. O método baseado em conteúdo utiliza as funcionalidades dos itens para sugerir outros semelhantes àqueles com os quais o usuário teve interações positivas anteriormente.2 A filtragem colaborativa se concentra na similaridade entre usuários para sugerir itens, enquanto a filtragem baseada em conteúdo faz recomendações exclusivamente com base nas funcionalidades do item. A filtragem baseada em conteúdo foca em recomendar itens de acordo com as preferências individuais de um usuário, diferentemente da filtragem colaborativa, que se baseia em grupos.

Ambos os métodos têm testemunhado muitas aplicações no mundo real nos últimos anos, desde e-commerce como a Amazon até redes sociais e serviços de streaming. Juntos, os sistemas colaborativos e baseados em conteúdo formam sistemas de recomendação híbridos. Em 2009, a Netflix, por meio de sua competição Netflix Prize, adotou um sistema de recomendação híbrido.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Como funciona a filtragem colaborativa

A filtragem colaborativa utiliza uma matriz para mapear o comportamento dos usuários em relação a cada item no sistema. Em seguida, o sistema utiliza os valores dessa matriz para posicioná-los como pontos de dados em um espaço vetorial. Diversas métricas são utilizadas para medir a distância entre os pontos como forma de calcular a similaridade entre usuários e entre itens.

Matriz usuário-item

Em um cenário padrão de filtragem colaborativa, temos um conjunto de n usuários e um conjunto de x itens. A preferência individual de cada usuário por cada item é exibida em uma matriz usuário-item (às vezes chamada de matriz de avaliações de usuários). Nessa matriz, os usuários são representados nas linhas e os itens nas colunas. Na matriz Rij, um valor específico representa o comportamento do usuário u em relação ao item i. Esses valores podem ser números contínuos fornecidos pelos usuários (como avaliações) ou valores binários que indicam se um usuário visualizou ou comprou o item. Aqui está um exemplo de matriz usuário-item para um site de livraria:

Tabela ilustrando a matriz de itens de usuário

Esta matriz exibe as avaliações dos usuários para os diferentes livros disponíveis. Um algoritmo de filtragem colaborativa compara as avaliações fornecidas pelos usuários para cada livro. Ao identificar usuários ou itens semelhantes com base nessas classificações, o algoritmo prevê as notas para livros que um usuário-alvo ainda não viu (representados por null na matriz) e recomenda (ou não recomenda) esses livros ao usuário-alvo.

A matriz de exemplo utilizada aqui é completa, pois está restrita a quatro usuários e quatro itens. No entanto, em situações do mundo real, as preferências conhecidas dos usuários em relação aos itens são frequentemente limitadas, resultando em uma matriz usuário-item esparsa.3

Medidas de similaridade

Como um algoritmo de recomendação colaborativa determina a similaridade entre diferentes usuários? Como mencionado, a proximidade no espaço vetorial é o método principal. Mas as métricas específicas usadas para determinar essa proximidade podem variar. Duas dessas métricas são a similaridade de cossenos e o coeficiente de correlação de Pearson.

Similaridade de cosseno

A similaridade de cosseno indica a medição do ângulo entre dois vetores. Os vetores comparados consistem em um subconjunto de avaliações para um usuário ou item específico. A pontuação de similaridade do cosseno pode ser qualquer valor entre -1 e 1. Quanto maior o valor do cosseno, mais semelhantes são considerados dois itens. Algumas fontes recomendam essa métrica para espaços de funcionalidades de alta dimensão. Na filtragem colaborativa, os pontos vetoriais são extraídos diretamente da matriz usuário-item. A semelhança entre cossenos é representada por esta fórmula, em que x e y significam dois itens-vetores no espaço vetorial:7

Ilustração da fórmula de similaridade cosseno

Coeficiente de correlação de Pearson (PCC)

O PCC ajuda a medir a similaridade entre itens ou usuários ao calcular a correlação entre as avaliações respectivas de dois usuários ou itens. O PCC pode oscilar entre -1 e 1, o que representa uma correlação negativa a uma correlação idêntica. Ao contrário da similaridade do cosseno, o PCC utiliza todas as classificações de um determinado usuário ou item. Por exemplo, ao calcular o PCC entre dois usuários, usamos esta fórmula, em que a e b são usuários diferentes, e rai e rbi são a classificação desse usuário para o item i:5

Ilustração do coeficiente de correlação de Pearson

Tipos de sistemas colaborativos de recomendação 

Existem dois tipos principais de sistemas de filtragem colaborativa: baseados em memória e baseados em modelo.

Baseados na memória

Os sistemas de recomendação baseados em memória, ou sistemas baseados em vizinhos, são extensões de classificadores k-vizinhos mais próximos, pois tentam prever o comportamento de um usuário-alvo em relação a um determinado item com base em usuários semelhantes ou em um conjunto de itens. Os sistemas baseados em memória podem ser divididos em dois subtipos:

  • A filtragem baseada no usuário recomenda itens para um usuário-alvo com base nas preferências dos usuários que se comportam. O algoritmo de recomendação compara o comportamento passado de um usuário-alvo com o de outros usuários. Especificamente, o sistema atribui a cada usuário um peso que representa sua similaridade percebida com o usuário-alvo, formando assim os vizinhos do usuário-alvo. Em seguida, ele seleciona os n usuários com os maiores pesos e calcula uma previsão do comportamento do usuário-alvo (por exemplo, avaliação de filmes, compras, dislikes etc.) a partir de uma média ponderada do comportamento dos vizinhos selecionados. O sistema, então, recomenda itens ao usuário-alvo com base nessa previsão. A ideia é que, se o usuário-alvo teve um comportamento parecido com o desse grupo anteriormente, ele apresentará um comportamento similar em relação a itens que ainda não conheceu. As funções de similaridade baseadas em usuários são calculadas entre as linhas da matriz usuário-item.6
  • A filtragem baseada em itens recomenda novos itens para um usuário-alvo com base no comportamento desse usuário em relação a itens semelhantes. No entanto, é importante notar que, ao comparar itens, o sistema colaborativo não analisa as funcionalidades dos itens (como na filtragem baseada em conteúdo), mas sim a interação dos usuários com esses itens. Por exemplo, em um sistema de recomendação de filmes, o algoritmo pode identificar filmes semelhantes com base nas correlações entre todas as avaliações dos usuários para cada filme (corrigindo pela média das classificações de cada usuário). O sistema, então, recomendará um novo filme ao usuário-alvo com base nas classificações correlacionadas. Ou seja, se o usuário-alvo avaliou os filmes a e b positivamente, mas ainda não assistiu ao filme c, e outros usuários que deram altas notas aos dois primeiros também avaliaram o filme c de forma positiva, o sistema recomendará o filme c ao usuário-alvo. Dessa forma, a filtragem baseada em itens calcula a similaridade entre itens por meio do comportamento dos usuários. As funções de similaridade entre itens são calculadas entre as colunas da matriz usuário-item.7

Baseados no modelo

Em alguns casos, os métodos baseados em memória são referidos na literatura como métodos de aprendizado por instância. Isso indica como a filtragem baseada em usuários e em itens faz previsões específicas para uma determinada interação entre usuário e item, como a classificação de um filme ainda não visto por um usuário-alvo.

Por outro lado, os métodos baseados em modelos desenvolvem um modelo preditivo de aprendizado de máquina a partir das informações. O modelo utiliza os valores presentes na matriz usuário-item como conjunto de dados de treinamento e gera previsões para os missing values com o modelo resultante. Portanto, os métodos baseados em modelos usam técnicas de ciência de dados e algoritmos de aprendizado de máquina, como árvore de decisão, classificadores de Bayes e redes neurais, para recomendar itens aos usuários.8

A fatoração de matrizes é um método de filtragem colaborativa amplamente discutido, frequentemente classificado como um tipo de modelo de fator latente. Como um modelo de fator latente, a fatoração de matrizes assume que a similaridade entre usuários ou itens pode ser determinada por um número específico de funcionalidades. Por exemplo, a classificação de um livro por um usuário pode ser prevista apenas com base no gênero do livro e na idade ou gênero do usuário. Essa representação de dimensão inferior visa, portanto, explicar, por exemplo, as classificações de livros, caracterizando itens e usuários de acordo com algumas funcionalidades selecionadas extraídas dos dados de feedback dos usuários.9 Como reduz as funcionalidades de um determinado espaço vetorial, a fatoração de matrizes também serve como um método de redução de dimensionalidade. 10

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Vantagens e desvantagens da filtragem colaborativa

Vantagens

Em relação aos sistemas baseados em conteúdo, a filtragem colaborativa se destaca por proporcionar recomendações inovadoras aos usuários. Os métodos baseados em colaboração extraem recomendações de um grupo de usuários que compartilham interesses com um usuário-alvo. Por exemplo, se um grupo de usuários gostou do mesmo conjunto de itens que o usuário-alvo, mas também apreciou um item adicional desconhecido para o usuário-alvo, pois não possui funcionalidades em comum com o conjunto anterior, um sistema de filtragem colaborativa recomendará esse item novo ao usuário. A filtragem colaborativa pode recomendar itens que um usuário-alvo pode não ter considerado, mas que, ainda assim, são atraentes para seu perfil.11

Desvantagens

O problema da "partida a frio" é talvez a desvantagem mais amplamente citada dos sistemas de filtragem colaborativa. Isso ocorre quando um novo usuário (ou até mesmo um novo item) entra no sistema. A falta de histórico de interação do usuário com os itens impede que o sistema avalie a similaridade ou associação do novo usuário com os usuários existentes. Por outro lado, os sistemas baseados em conteúdo são mais hábeis em lidar com novos itens, embora também tenham dificuldades com as recomendações para novos usuários.12

A escassez de dados é um problema considerável que pode prejudicar os sistemas de recomendação colaborativa. Como mencionado, os sistemas de recomendação geralmente carecem de dados sobre as preferências dos usuários para a maioria dos itens no sistema. Isso significa que a maior parte do espaço de funcionalidades do sistema está vazia, uma condição chamada de dispersão de dados. Com o aumento da dispersão de dados, os pontos vetoriais tornam-se tão díspares que os modelos preditivos se tornam menos eficientes na identificação de padrões explicativos.13 Essa é uma das razões principais pelas quais a fatoração de matrizes e métodos de fatores latentes, como a decomposição em valores singulares, são muito utilizados na filtragem colaborativa, uma vez que mitigam a dispersão de dados por meio da redução de funcionalidades. Outros métodos implementados para resolver esse problema podem envolver os próprios usuários avaliando e fornecendo informações sobre seus interesses, que o sistema pode então usar para filtrar recomendações.

Pesquisa recente

Embora estudos anteriores tenham abordado a recomendação como um problema de predição ou classificação, uma quantidade significativa de pesquisas recentes defende que ela deve ser vista como um problema de tomada de decisão sequencial. Nesse paradigma, o aprendizado por reforço pode ser mais adequado para lidar com recomendações. Essa abordagem argumenta que a recomendação deve ser atualizada em tempo real de acordo com a interação usuário-item; conforme o usuário pula, clica, avalia, compra itens sugeridos, o modelo desenvolve uma política ideal a partir desse feedback para recomendar novos itens.14 Estudos recentes propõem uma ampla variedade de aplicações de aprendizado por reforço para lidar com interesses mutáveis e de longo prazo do usuário, que representam desafios para a filtragem baseada em conteúdo e colaborativa.15

Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real