Sistema di raccomandazione
Scopri come i sistemi di raccomandazione utilizzano l'IA e il machine learning per fornire suggerimenti personalizzati, aumentare il coinvolgimento e guidare le decisioni online!
A recommendation system is an information filtering algorithm designed to predict a user's preference for specific
items. These intelligent systems serve as the foundation of modern
Artificial Intelligence (AI)
applications, helping users navigate the overwhelming amount of content available online by curating personalized
suggestions. By analyzing patterns in Big Data—such as
purchase history, viewing habits, and user ratings—recommendation engines enhance user engagement and streamline
decision-making processes. They are heavily utilized in environments where the variety of choices exceeds a user's
ability to evaluate them all manually.
Meccanismi fondamentali di raccomandazione
I motori di raccomandazione utilizzano in genere specifiche
Machine Learning (ML) per generare suggerimenti
suggerimenti pertinenti. I tre approcci principali includono:
-
Filtro collaborativo:
Questo metodo si basa sul presupposto che gli utenti che si sono accordati in passato si accorderanno anche in futuro. Identifica le
le somiglianze tra gli utenti (user-based) o gli elementi (item-based) utilizzando i dati di interazione. Ad esempio, se all'utente A e all'utente
B hanno entrambi apprezzato il "film X", il sistema presume che all'utente A possa piacere anche il "film Y" se è piaciuto all'utente B.
se all'utente B è piaciuto.
-
Filtraggio basato sui contenuti: Questo approccio
Questo approccio raccomanda elementi simili a quelli che l'utente ha apprezzato in precedenza, in base agli attributi dell'elemento. Richiede l'analisi delle
caratteristiche degli articoli stessi, spesso utilizzando
elaborazione del linguaggio naturale (NLP)
per le descrizioni testuali o
Computer Vision (CV) per analizzare le immagini
immagini dei prodotti.
-
Modelli ibridi: Combinando il filtraggio collaborativo e quello basato sui contenuti,
sistemi di raccomandazione ibridi mirano a
superare le limitazioni dei singoli metodi, come l'incapacità di raccomandare nuovi elementi che non hanno una storia di interazioni dell'utente.
interazione dell'utente.
Applicazioni nel mondo reale
L'utilità pratica dei sistemi di raccomandazione si estende a diversi settori, guidando sia la
l'esperienza del cliente
e i ricavi aziendali.
-
E-Commerce and Retail: Platforms utilize sophisticated algorithms to suggest products to shoppers.
These systems power AI in retail by dynamically
displaying "Customers who bought this also bought..." lists, which significantly increases cross-selling
opportunities.
-
Media Streaming: Services heavily depend on personalization.
Netflix recommendation research teams
develop algorithms that analyze viewing history to populate a user's homepage with relevant movies and shows.
Similarly, music platforms generate playlists by analyzing acoustic patterns and user listening behaviors.
Raccomandazioni visive con embeddings
Una tecnica chiave dei moderni sistemi di raccomandazione, in particolare per i contenuti visivi, prevede l'uso di
embeddings. Un embedding è una rappresentazione numerica
di un elemento (come un'immagine) in uno spazio ad alta dimensionalità. Gli elementi visivamente simili avranno embedding vicini.
vicini.
The following Python code demonstrates how to extract image embeddings using a pre-trained
Ultralytics YOLO26 classification model and calculate their
similarity using
PyTorch.
import torch.nn.functional as F
from ultralytics import YOLO
# Load a YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate embeddings for two images (returns a list of Results objects)
results = model.predict(["bus.jpg", "dog.jpg"], embed=[1000])
# Calculate cosine similarity between the two embeddings
# Higher score indicates greater visual similarity
similarity = F.cosine_similarity(results[0].probs.data, results[1].probs.data, dim=0)
print(f"Visual Similarity Score: {similarity.item():.4f}")
Sistemi di raccomandazione e concetti correlati
È importante distinguere i sistemi di raccomandazione dalle tecnologie sottostanti che spesso utilizzano:
-
Ricerca vettoriale: Si tratta di un metodo di reperimento
utilizzato per trovare gli elementi in un database
database vettoriale che sono matematicamente più vicini
a una query. Mentre un sistema di raccomandazione utilizza la ricerca vettoriale per trovare prodotti simili, il sistema di raccomandazione stesso comprende la logica più ampia della profilazione e della classificazione degli utenti.
sistema di raccomandazione stesso comprende la logica più ampia della profilazione e della classificazione degli utenti. È possibile approfondire questo aspetto nella nostra
guida sulla ricerca per similarità.
-
Ricerca semantica: A differenza delle raccomandazioni di base
raccomandazioni di base che potrebbero basarsi su una sovrapposizione comportamentale, la ricerca semantica si concentra sulla comprensione del
significato dietro una query. Un motore di raccomandazione potrebbe utilizzare la ricerca semantica per interpretare l'intento di un utente quando
quando naviga in categorie specifiche.
Sfide e considerazioni
L'implementazione di sistemi di raccomandazione efficaci comporta notevoli ostacoli:
To build and train your own models for recommendation tasks, the
Ultralytics Platform offers a comprehensive environment for dataset
management and model training.