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à.
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à.
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:
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.
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.