Filtro collaborativo

Per risolvere alcuni dei limiti del filtro basato sui contenuti, il filtro collaborativo utilizza somiglianze tra utenti e gli elementi contemporaneamente per fornire consigli. Ciò consente per consigli fortuiti; cioè il filtro collaborativo possono consigliare un elemento all'utente A in base agli interessi di un utente simile B. Inoltre, gli incorporamenti possono essere appresi automaticamente, senza ricorrere alla progettazione manuale delle caratteristiche.

Esempio di consigli di film

Considera un sistema di consigli sui film in cui i dati di addestramento siano costituiti di una matrice di feedback in cui:

  • Ogni riga rappresenta un utente.
  • Ogni colonna rappresenta un elemento (un filmato).

Il feedback sui film rientra in una di queste due categorie:

  • Esplicito: gli utenti specificano quanto hanno apprezzato un determinato film. fornendo una valutazione numerica.
  • Implicito: se un utente guarda un film, il sistema deduce che all'utente interessato.

Per semplificare, supponiamo che la matrice di feedback sia binaria; cioè un valore 1 indica l'interesse per il film.

Quando un utente visita la home page, il sistema dovrebbe consigliare film in base a entrambi:

  • somiglianza con film a cui l'utente ha messo Mi piace in passato
  • film che sono piaciuti a utenti simili

A scopo illustrativo, progettiamo insieme alcune caratteristiche dei film descritti nella seguente tabella:

Film Valutazione Descrizione
Il cavaliere oscuro - Il ritorno PG-13 Batman si sforza di salvare Gotham City dall'annientamento nucleare in questo sequel di Il cavaliere oscuro, ambientato nel DC L'universo dei fumetti.
Harry Potter e la pietra filosofale PG Un orfano scopre di essere un mago e si iscrive a Scuola di Hogwarts Stregoneria e magia, dove affronta la sua prima battaglia il malvagio Voldemort.
Shrek PG Un adorabile orco e il suo aiutante asino partono in missione per salvare la principessa Fiona, che è imprigionata nel suo castello da un drago.
Le triplette di Belleville PG-13 Quando il campione di ciclisti professionista viene rapito durante il Tour de France, sua nonna e un cane in sovrappeso viaggiano all'estero per soccorrirlo, con l'aiuto di un trio di cantanti jazz anziani.
Ricordo R Amnesia vuole risolvere l'omicidio della moglie tatuando degli indizi sul corpo.

Incorporamento 1D

Supponiamo di assegnare a ogni filmato uno scalare in \([-1, 1]\) che descrive se il film è per bambini (valori negativi) o adulti (valori positivi). Supponiamo anche di assegnare a ciascun utente uno scalare a \([-1, 1]\) che descriva l'interesse dell'utente per i film per bambini (più vicino a -1) o per adulti filmati (più vicini al +1). Il prodotto dell'incorporamento del filmato e l'utente l'incorporamento dovrebbe essere più alto (più vicino a 1) per i film che ci aspettiamo che l'utente che ti piacerà.

Immagine che mostra diversi film e utenti disposti in uno spazio di incorporamento unidimensionale. La posizione di ogni film lungo questo asse indica se si tratta di un film per bambini (a sinistra) o di un film per adulti (a destra). La posizione di un utente descrive l'interesse nei confronti dei film per bambini o per adulti.

Nel diagramma seguente, ogni segno di spunta identifica un film che un guardato dall'utente. Il terzo e il quarto utente hanno preferenze che ben spiegato da questa funzionalità, il terzo utente preferisce i film per bambini e il quarto utente preferisce i film per adulti. Tuttavia, la prima e la seconda utente preferenze non sono ben spiegate da questa singola funzionalità.

Immagine di una matrice di feedback in cui una riga corrisponde a un utente e una colonna a un filmato. Ogni utente e ciascun filmato vengono mappati a un incorporamento unidimensionale (come descritto nella figura precedente), in modo che il prodotto dei due incorporamenti approssima il valore di dati empirici reali nella matrice di feedback.

Incorporamento 2D

Una funzionalità non era sufficiente per spiegare le preferenze di tutti gli utenti. Da superare questo problema, aggiungiamo una seconda caratteristica: la misura in cui un film di successo o d'essai. Con una seconda caratteristica, ora possiamo rappresentare ogni filmato con il seguente incorporamento bidimensionale:

Immagine che mostra diversi film e utenti disposti in uno spazio di incorporamento bidimensionale. La posizione di ogni filmato lungo l'asse orizzontale indica se si tratta di un filmato per bambini (a sinistra) o di un film per adulti (a destra); la sua posizione lungo l'asse verticale indica se si tratta di un film di successo (in alto) o d'essai (in basso). La posizione degli utenti riflette i loro interessi in ciascuna categoria.

Per spiegare meglio, mettiamo nuovamente i nostri utenti nello stesso spazio di incorporamento la matrice del feedback: per ogni coppia (utente, articolo), vorremmo il prodotto scalare dell'incorporamento dell'utente e l'incorporamento dell'elemento da vicino a 1 quando l'utente ha guardato il film e a 0 negli altri casi.

Immagine della stessa matrice di feedback. Questa volta, ciascun utente e ciascun filmato vengono mappati a un incorporamento bidimensionale (come descritto nella figura precedente), in modo che il prodotto scalare dei due incorporamenti approssima il valore di fatto nella matrice di feedback.

In questo esempio, gli incorporamenti sono stati progettati manualmente. In pratica, gli incorporamenti possono essere apprese automaticamente, grazie al potere dei filtri collaborativi di machine learning. Nelle prossime due sezioni analizzeremo diversi modelli per apprendere a questi incorporamenti e a come addestrarli.

La natura collaborativa di questo approccio appare evidente quando il modello apprende incorporamenti. Supponi che i vettori di incorporamento dei filmati siano fissi. Quindi, il modello può apprendere un vettore di incorporamento per consentire agli utenti di spiegare al meglio le loro preferenze. Di conseguenza, gli incorporamenti di utenti con preferenze simili che saranno vicine tra loro. Analogamente, se gli incorporamenti per gli utenti sono fissi, possiamo imparare gli incorporamenti di film per spiegare al meglio la matrice dei feedback. Di conseguenza, gli incorporamenti di film apprezzati da utenti simili saranno vicini nei lo spazio di incorporamento.

Verifica le tue conoscenze

Il modello consiglia un'app di shopping a un utente perché di recente installato un'app simile. Di che tipo di filtro si tratta di un esempio?
Filtro basato sui contenuti
Ottimo lavoro! Il filtro basato sui contenuti non prende in considerazione altri utenti.
Filtro collaborativo
Il filtro collaborativo prende in considerazione altri utenti. Nella in uno scenario specifico, ci interessa un solo utente.