Sistema di raccomandazione
Scopri come i sistemi di raccomandazione utilizzano l'intelligenza artificiale per personalizzare l'esperienza degli utenti. Esplora il filtraggio collaborativo e la somiglianza visiva utilizzando Ultralytics .
Un sistema di raccomandazione è un algoritmo di filtraggio delle informazioni progettato per prevedere le preferenze di un utente per articoli specifici
. Questi sistemi intelligenti costituiscono la base delle moderne
applicazioni di intelligenza artificiale (AI)
e aiutano gli utenti a navigare nella mole schiacciante di contenuti disponibili online, fornendo suggerimenti personalizzati
. Analizzando i modelli nei Big Data, come la
cronologia degli acquisti, le abitudini di visualizzazione e le valutazioni degli utenti, i motori di raccomandazione migliorano il coinvolgimento degli utenti e semplificano i
processi decisionali. Sono ampiamente utilizzati in ambienti in cui la varietà di scelte supera la capacità dell'utente di
valutarle tutte manualmente.
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 e vendita al dettaglio: le piattaforme utilizzano algoritmi sofisticati per suggerire prodotti agli acquirenti.
Questi sistemi alimentano l'intelligenza artificiale nella vendita al dettaglio visualizzando dinamicamente
elenchi del tipo "I clienti che hanno acquistato questo prodotto hanno acquistato anche...", il che aumenta significativamente le opportunità di cross-selling
.
-
Streaming multimediale: i servizi dipendono fortemente dalla personalizzazione.
I team di ricerca di Netflix dedicati ai consigli
sviluppano algoritmi che analizzano la cronologia di visualizzazione per popolare la home page dell'utente con film e programmi pertinenti.
Allo stesso modo, le piattaforme musicali generano playlist analizzando i modelli acustici e i comportamenti di ascolto degli utenti.
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.
Il seguente Python mostra come estrarre gli embedding delle immagini utilizzando un modello di classificazione Ultralytics pre-addestrato
e calcolarne la
somiglianza utilizzando
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:
Per creare e addestrare i propri modelli per attività di raccomandazione, la
Ultralytics offre un ambiente completo per la gestione dei set di dati
e l'addestramento dei modelli.