Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Recommendation System

Un sistema di raccomandazione prevede quali elementi interesseranno un utente e li ordina per rilevanza. Filtraggio collaborativo e basato sui contenuti, pipeline, sfide e codice.

Un sistema di raccomandazione, o recommender, è un software che prevede quali elementi un utente potrebbe volere — per esempio prodotti, video, canzoni, articoli o post — e li ordina per quell’utente. Apprende dai feedback espliciti, come le valutazioni a stelle, e molto più spesso dai feedback impliciti, come clic, tempo di visualizzazione e acquisti, il che ne fa una delle applicazioni del machine learning più diffuse. Due tappe fondamentali hanno plasmato il settore: la descrizione di Amazon del 2003 del filtraggio collaborativo elemento per elemento e il Netflix Prize (2006–2009), che ha messo in palio 1 milione di dollari per la squadra che avesse migliorato del 10% le previsioni di Netflix sulle valutazioni dei film.

Come funzionano i sistemi di raccomandazione#

Il filtraggio collaborativo usa solo gli schemi di chi ha interagito con cosa. I metodi basati sugli utenti trovano utenti con cronologie simili, quelli basati sugli elementi trovano elementi apprezzati dagli stessi utenti e la fattorizzazione di matrici, resa popolare durante il Netflix Prize, apprende un vettore per ogni utente ed elemento, il cui prodotto scalare prevede l’interazione. Il filtraggio basato sui contenuti descrive invece gli elementi tramite i loro attributi, come il genere, il testo elaborato con l’elaborazione del linguaggio naturale (NLP) o gli embedding delle immagini, e consiglia elementi simili a quelli già apprezzati dall’utente; funziona anche per gli elementi con cui nessuno ha ancora interagito. I sistemi ibridi combinano entrambi i segnali, così le caratteristiche dei contenuti possono posizionare un nuovo elemento finché non si accumulano abbastanza interazioni.

Questo esempio applica il filtraggio collaborativo basato sugli elementi a una piccola matrice di valutazioni e prevede le valutazioni di un utente per i film che non ha valutato, usando la similarità coseno tra le colonne di valutazione dei film:

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}")

L’utente 3, l’ultima riga, ha valutato molto positivamente i film 2 e 3 e negativamente il film 1; il film 4, le cui valutazioni seguono quelle dei film 2 e 3, ottiene quindi una valutazione prevista di 4.10, mentre il film 0, le cui valutazioni seguono quelle del film 1, ottiene 2.09. Il sistema consiglia il film 4.

I sistemi di raccomandazione basati sul deep learning apprendono queste rappresentazioni end-to-end. Le reti a due torri generano embedding separati per utenti ed elementi, così il recupero dei candidati diventa una ricerca vettoriale degli embedding degli elementi più vicini a un embedding utente; i modelli sequenziali, come i transformer, leggono in ordine la cronologia di un utente per prevedere l’interazione successiva.

La pipeline a più fasi#

I grandi servizi non possono eseguire un modello pesante su milioni di elementi per ogni richiesta, quindi formulano le raccomandazioni in più fasi. La generazione dei candidati, o recupero, restringe il catalogo a qualche centinaio di elementi usando segnali poco costosi, come il filtraggio collaborativo o la ricerca basata su embedding. Un modello di ranking assegna quindi un punteggio a ciascun candidato usando caratteristiche ricche per prevedere la probabilità di un clic, una visualizzazione o un acquisto; una fase finale di riordinamento aggiunge diversità, novità e regole aziendali. Nel 2016 YouTube ha descritto questa architettura a due fasi. Ogni raccomandazione mostrata genera anche il feedback usato per addestrare il modello successivo, quindi il sistema apprende da dati plasmati dalle proprie scelte precedenti.

I sistemi recenti scalano i modelli di ranking e recupero come i modelli linguistici. I sistemi di raccomandazione generativi di Meta, presentati a ICML 2024, trattano le azioni di ogni utente come una sequenza, hanno raggiunto 1.5 trilioni di parametri e hanno migliorato le metriche del 12.4% nei test A/B online.

Raccomandazioni visive#

I cataloghi di moda, arredamento e arte consigliano elementi in base all’aspetto, quindi le funzioni «più simili a questo» confrontano gli embedding delle immagini dei prodotti e quelle «acquista il look» usano prima il rilevamento degli oggetti per ritagliare ogni elemento da una foto della scena, poi cercano nel catalogo prodotti visivamente simili. Lo stesso recupero suggerisce dati di addestramento: Trova immagini simili in Ultralytics Platform mostra fino a 24 delle immagini più vicine provenienti dai dataset pubblici e del team, ciascuna con un punteggio di similarità; esclude le immagini già presenti nel dataset e può partire dalle immagini di validazione con le prestazioni peggiori del modello.

Applicazioni#

  • Vendita al dettaglio ed e-commerce: Le pagine dei prodotti mostrano elenchi del tipo «i clienti che hanno acquistato questo prodotto hanno acquistato anche» e home page personalizzate basate sulla cronologia di navigazione e degli acquisti.
  • Streaming multimediale: I servizi di video e musica ordinano i contenuti e generano playlist a partire dalla cronologia di visualizzazione e ascolto; Netflix personalizza anche le immagini mostrate per ogni titolo.
  • Feed social e notizie: Le piattaforme ordinano post, video brevi e articoli in base al coinvolgimento previsto e aggiornano l’ordinamento ogni volta che un utente apre il feed.
  • Moda: La ricerca per similarità visiva suggerisce capi che si abbinano allo stile, al colore o al motivo di un elemento che un acquirente ha visualizzato o fotografato.
  • Ricerca: Un motore di ricerca risponde a una query esplicita, mentre un recommender anticipa ciò che un utente vuole senza che lo chieda; i sistemi moderni condividono i componenti di recupero e ranking.
  • Ricerca vettoriale e database vettoriali: Trovano gli embedding memorizzati più vicini a un embedding di query, l’elemento di base usato da un recommender per il recupero.
  • Modelli di riordinamento: Modelli di seconda fase che rivalutano con maggiore precisione un breve elenco di candidati; svolgono il ruolo della fase di ranking in un recommender.
  • Modellazione predittiva: La fase di ranking è un modello predittivo della probabilità di interazione, mentre il recommender completo gestisce anche il recupero, l’ordinamento e il ciclo di feedback.

Sfide#

  • Cold start: Gli utenti e gli elementi nuovi non hanno una cronologia di interazioni, quindi i sistemi ricorrono alla popolarità, alle domande iniziali o alle caratteristiche dei contenuti.
  • Sparsità: Ogni utente interagisce con una frazione minima di un ampio catalogo, quindi la maggior parte della matrice utenti-elementi è vuota.
  • Bias di popolarità e cicli di feedback: Addestrare i modelli sulle interazioni registrate favorisce gli elementi che erano già mostrati spesso, restringendo ciò che gli utenti vedono e potendo creare bolle di filtraggio.
  • Valutazione: Le metriche offline, come precision@k e NDCG calcolate su dati storici, spesso non concordano con i test A/B online, che misurano ciò che gli utenti fanno davvero con le nuove raccomandazioni.
  • Privacy: I profili comportamentali dettagliati sono dati personali, protetti nell’UE e in altre giurisdizioni dalle leggi sulla protezione dei dati.
  • Normativa: Il regolamento sui servizi digitali dell’UE impone alle piattaforme online e ai motori di ricerca di dimensioni molto grandi di offrire, per ciascun sistema di raccomandazione, almeno un’opzione non basata sulla profilazione.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning