Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Escalando a Personalização com Mecanismos Estáveis de Correspondência Baseados em Itens | Sistemas de Filtragem Colaborativa e Correspondência Comportamental
Análise de Cesta de Mercado e Sistemas de Recomendação

Escalando a Personalização com Mecanismos Estáveis de Correspondência Baseados em Itens

Deslize para mostrar o menu

Para compreender como os sistemas modernos de recomendação escalam para milhões de usuários e itens, é fundamental analisar a evolução do filtro colaborativo baseado em usuários para o baseado em itens.

Filtragem Baseada em Itens: Funcionamento e Motivações

A filtragem colaborativa baseada em itens prevê o interesse de um usuário em um item analisando as similaridades entre itens, em vez de entre usuários. Em vez de perguntar

"Quais usuários são semelhantes a este usuário alvo?",

a filtragem baseada em itens pergunta

"Quais itens são semelhantes àqueles que o usuário já gosta?"

O processo envolve as seguintes etapas:

  • Construção de uma matriz de similaridade item-item comparando itens com base nos padrões de interação dos usuários;
  • Para um determinado usuário, identificação dos itens com os quais ele interagiu ou avaliou positivamente;
  • Recomendação de novos itens semelhantes às escolhas anteriores do usuário, de acordo com a matriz de similaridade.
Note
Nota

Essa abordagem é amplamente utilizada porque os itens (como produtos ou filmes) tendem a ter características mais estáveis do que os usuários, tornando as relações de similaridade mais consistentes ao longo do tempo. É fácil pré-computar e armazenar em cache as similaridades entre itens, acelerando as recomendações em tempo real.

Estabilidade: Por Que Métodos Baseados em Itens São Mais Estáveis ao Longo do Tempo

As preferências dos usuários podem mudar rapidamente—usuários entram e saem, e seus gostos podem variar. Em contraste, os itens geralmente permanecem constantes, e seus relacionamentos (como "usuários que compraram X também compraram Y") mudam com menos frequência. Isso traz várias vantagens:

Menor volatilidade: As pontuações de similaridade entre itens são menos afetadas por novos usuários ou atividades esporádicas;

Consistência: As recomendações permanecem confiáveis mesmo com flutuações na população de usuários.

Escalabilidade: Como a Filtragem Baseada em Itens Lida com Grandes Conjuntos de Dados

A filtragem colaborativa baseada em itens é especialmente adequada para sistemas em larga escala por diversos motivos:

  • O número de itens geralmente é muito menor do que o número de usuários, reduzindo o tamanho da matriz de similaridade;
  • O pré-cálculo das similaridades entre itens permite recomendações rápidas e escaláveis para qualquer usuário;
  • A adição de novos usuários não exige recálculo das similaridades—recomendações são geradas a partir dos relacionamentos item-item já existentes.

Exemplo: Implementação da Filtragem Baseada em Itens em uma Matriz de Exemplo

Suponha que você tenha uma matriz de interação usuário-item, onde cada linha representa um usuário e cada coluna representa um item. Ao calcular a similaridade entre as colunas de itens, é possível recomendar itens mais semelhantes àqueles que o usuário já aprecia. O código a seguir demonstra esse processo utilizando similaridade do cosseno.

12345678910111213141516171819202122232425262728
import numpy as np import pandas as pd from sklearn.metrics.pairwise import cosine_similarity # Sample user-item interaction matrix # Rows: users, Columns: items (1 = interaction, 0 = no interaction) data = { 'Milk': [1, 1, 0, 0], 'Bread': [1, 1, 1, 0], 'Butter': [0, 1, 1, 1], 'Eggs': [0, 0, 1, 1] } user_item_matrix = pd.DataFrame(data, index=['User1', 'User2', 'User3', 'User4']) # Computing item-item cosine similarity item_similarity = pd.DataFrame( cosine_similarity(user_item_matrix.T), index=user_item_matrix.columns, columns=user_item_matrix.columns ) # Example: Recommend items similar to 'Milk' for a user who likes 'Milk' target_item = 'Milk' similar_items = item_similarity[target_item].sort_values(ascending=False) recommended = similar_items[1:3] # Exclude 'Milk' itself print('Items most similar to \'Milk\':') print(recommended)

1. Qual é um benefício chave de usar filtragem colaborativa baseada em itens em vez de filtragem baseada em usuários?

2. Qual afirmação melhor descreve por que a filtragem colaborativa baseada em itens é mais escalável para sistemas grandes?

question mark

Qual é um benefício chave de usar filtragem colaborativa baseada em itens em vez de filtragem baseada em usuários?

Selecione a resposta correta

question mark

Qual afirmação melhor descreve por que a filtragem colaborativa baseada em itens é mais escalável para sistemas grandes?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 3. Capítulo 4
some-alt