Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Recommendation System

Um sistema de recomendação prevê quais os itens que um utilizador vai querer e ordena-os. Filtragem colaborativa e baseada em conteúdo, pipelines, desafios e código.

Um sistema de recomendação, ou recomendador, é um software que prevê quais os itens que um utilizador provavelmente vai querer — como produtos, vídeos, músicas, artigos ou publicações — e os ordena para esse utilizador. Aprende com feedback explícito, como classificações por estrelas, e, muito mais frequentemente, com feedback implícito, como cliques, tempo de visualização e compras, o que faz dele uma das aplicações de aprendizagem automática mais implementadas. Dois marcos moldaram a área: a descrição da filtragem colaborativa item a item da Amazon, em 2003, e o Prémio Netflix (2006–2009), que atribuiu 1 milhão de dólares à equipa que melhorou em 10% as previsões das classificações de filmes da Netflix.

Como funcionam os sistemas de recomendação#

A filtragem colaborativa usa apenas os padrões de quem interagiu com o quê. Os métodos baseados em utilizadores encontram utilizadores com históricos semelhantes, os métodos baseados em itens encontram itens de que os mesmos utilizadores gostaram e a fatorização de matrizes, popularizada durante o Prémio Netflix, aprende um vetor para cada utilizador e item, cujo produto escalar prevê a interação. Em vez disso, a filtragem baseada em conteúdo descreve os itens através dos seus atributos, como o género, o texto processado com processamento de linguagem natural (NLP) ou os embeddings de imagens, e recomenda itens semelhantes aos de que o utilizador já gostou, o que também funciona com itens com os quais ninguém interagiu. Os sistemas híbridos combinam ambos os sinais, para que as características do conteúdo possam posicionar um novo item até se acumularem interações suficientes.

Este exemplo aplica a filtragem colaborativa item a item a uma pequena matriz de classificações e prevê as classificações que um utilizador atribuirá aos filmes que ainda não classificou, com base na similaridade do cosseno entre as colunas de classificações dos filmes:

import numpy as np

# Ratings from 4 users (rows) for 5 movies (columns); 0 means not rated
ratings = np.array(
    [
        [5, 4, 0, 1, 0],
        [4, 5, 1, 0, 1],
        [1, 0, 5, 4, 5],
        [0, 1, 4, 5, 0],
    ]
)

# Item-item cosine similarity between the movies' rating columns
norms = np.linalg.norm(ratings, axis=0)
item_sim = ratings.T @ ratings / np.outer(norms, norms)

# Predict user 3's rating of each movie as a similarity-weighted average of their own ratings
user = ratings[3]
rated = user > 0
scores = item_sim[:, rated] @ user[rated] / item_sim[:, rated].sum(axis=1)

for movie in np.flatnonzero(~rated):
    print(f"Movie {movie}: predicted rating {scores[movie]:.2f}")

O utilizador 3, a última linha, classificou bem os filmes 2 e 3 e mal o filme 1. Assim, o filme 4, cujas classificações acompanham as dos filmes 2 e 3, recebe uma classificação prevista de 4.10, enquanto o filme 0, cujas classificações acompanham as do filme 1, recebe 2.09. O sistema recomenda o filme 4.

Os recomendadores de aprendizagem profunda aprendem estas representações de ponta a ponta. As redes de duas torres criam embeddings de utilizadores e itens em separado, pelo que a recuperação de candidatos se torna uma pesquisa vetorial dos embeddings de itens mais próximos do embedding de um utilizador; os modelos sequenciais, como os transformers, leem o histórico do utilizador por ordem para prever a interação seguinte.

O pipeline em várias etapas#

Os grandes serviços não conseguem executar um modelo pesado sobre milhões de itens a cada pedido, por isso recomendam em várias etapas. A geração de candidatos, ou recuperação, reduz o catálogo a algumas centenas de itens usando sinais simples, como filtragem colaborativa ou pesquisa de embeddings. Em seguida, um modelo de classificação atribui uma pontuação a cada candidato com características mais detalhadas, para prever a probabilidade de um clique, visualização ou compra; uma etapa final de reordenação acrescenta diversidade, atualidade e regras de negócio. O YouTube descreveu esta conceção em duas etapas em 2016. Cada recomendação apresentada também gera o feedback usado para treinar o modelo seguinte, por isso o sistema aprende com dados moldados pelas suas próprias escolhas anteriores.

Os sistemas recentes aumentam a escala dos modelos de classificação e recuperação, à semelhança dos modelos de linguagem. Os recomendadores generativos da Meta, publicados na ICML 2024, tratam as ações de cada utilizador como uma sequência, atingiram 1,5 biliões de parâmetros e melhoraram as métricas em testes A/B online em 12,4%.

Recomendações visuais#

Os catálogos de moda, mobiliário e arte recomendam com base na aparência, por isso as funcionalidades de «mais deste tipo» comparam embeddings de imagens de fotografias de produtos, enquanto as funcionalidades de «criar um conjunto» usam primeiro a deteção de objetos para recortar cada item de uma fotografia de uma cena e, depois, procuram produtos visualmente semelhantes no catálogo. A mesma recuperação também ajuda a encontrar dados de treino: a funcionalidade Encontrar imagens semelhantes da Ultralytics Platform mostra até 24 das imagens mais próximas de conjuntos de dados públicos e de equipas, cada uma com uma pontuação de similaridade; ignora imagens que já estão no conjunto de dados e pode começar pelas imagens de validação com pior desempenho de um modelo.

Aplicações#

  • Comércio a retalho e comércio eletrónico: As páginas de produtos mostram listas do tipo «os clientes que compraram este produto também compraram» e páginas iniciais personalizadas com base no histórico de navegação e compras.
  • Conteúdos em streaming: Os serviços de vídeo e música ordenam títulos e criam listas de reprodução com base no histórico de visualização e audição; a Netflix também personaliza a imagem apresentada para cada título.
  • Feeds sociais e notícias: As plataformas ordenam publicações, vídeos curtos e artigos segundo o envolvimento previsto e atualizam a ordenação sempre que um utilizador abre o feed.
  • Moda: A pesquisa por similaridade visual sugere peças de roupa que combinam com o estilo, a cor ou o padrão de um artigo que o cliente viu ou fotografou.
  • Pesquisa: Um motor de pesquisa responde a uma consulta explícita, enquanto um recomendador antecipa o que um utilizador quer sem que este o peça; os sistemas modernos partilham os componentes de recuperação e ordenação.
  • Pesquisa vetorial e bases de dados vetoriais: Encontram os embeddings armazenados mais próximos de um embedding de consulta; este é o elemento básico que um recomendador usa para a recuperação.
  • Reordenadores: Modelos de segunda etapa que voltam a pontuar uma lista curta de candidatos com maior precisão; desempenham o papel da etapa de ordenação num recomendador.
  • Modelação preditiva: A etapa de ordenação é um modelo preditivo da probabilidade de interação, enquanto o recomendador completo também gere a recuperação, a ordenação e o ciclo de feedback.

Desafios#

  • Problema de arranque a frio: Os novos utilizadores e itens não têm histórico de interações, por isso os sistemas recorrem à popularidade, a perguntas iniciais ou a características do conteúdo.
  • Esparsidade: Cada utilizador interage com uma pequena fração de um catálogo extenso, por isso a maior parte da matriz utilizador-item está vazia.
  • Enviesamento para a popularidade e ciclos de feedback: O treino com interações registadas favorece os itens que já eram apresentados com frequência, limitando o que os utilizadores veem e podendo criar bolhas de filtro.
  • Avaliação: As métricas offline, como precisão@k e NDCG calculados com dados históricos, muitas vezes não coincidem com os testes A/B online, que medem o que os utilizadores realmente fazem com novas recomendações.
  • Privacidade: Os perfis comportamentais detalhados são dados pessoais protegidos por leis de proteção de dados na UE e noutras jurisdições.
  • Regulamentação: O Regulamento dos Serviços Digitais da UE exige que as plataformas online de muito grande dimensão e os motores de pesquisa disponibilizem, para cada sistema de recomendação, pelo menos uma opção que não se baseie na definição de perfis.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina