La generazione dei candidati è la prima fase della procedura di suggerimento. Data una query, genera una serie di candidati pertinenti. La tabella seguente mostra due approcci comuni alla generazione di candidati:
Tipo | Definizione | Esempio |
---|---|---|
filtro basato sui contenuti | Utilizza la somiglianza tra gli elementi per consigliare gli articoli simili a ciò che piace all'utente. | Se l'utente A guarda due graziosi video di gatti, il sistema può consigliare a quell'utente video con animali carini. |
filtro collaborativo | Utilizza somiglianze tra query ed elementi contemporaneamente per fornire consigli. | Se all'utente A è simile all'utente B e all'utente B piace il video 1, il sistema può consigliare il video 1 all'utente A (anche se l'utente A non ha visto un video simile al video 1). |
Spazio di incorporamento
I filtri basati sui contenuti e quelli collaborativi mappano ogni elemento e ogni query (o contesto) a un vettore di incorporamento in uno spazio di incorporamento comune \(E = \mathbb R^d\). Generalmente, lo spazio di incorporamento è di bassa dimensionalità (ossia \(d\) è molto più piccola della dimensione del corpus) e acquisisce una struttura latente dell'elemento o del set di query. Articoli simili, ad esempio YouTube video che vengono solitamente guardati dallo stesso utente, finiscono vicino uno all'altro nella di incorporamento. Il concetto di "vicinanza" è definito da una misura di somiglianza.
Misure di somiglianza
Una misura di somiglianza è una funzione \(s : E \times E \to \mathbb R\) che prende una coppia di incorporamenti e restituisce uno scalare che misura la loro somiglianza. Gli incorporamenti possono essere usati per la generazione candidata nel seguente modo: dato un incorporamento della query \(q \in E\), il sistema cerca gli incorporamenti degli elementi \(x \in E\) simili a \(q\), ovvero incorporamenti con un'alta similitudine \(s(q, x)\).
Per determinare il grado di somiglianza, la maggior parte dei sistemi di consigli si basa su una o più delle seguenti opzioni:
- coseno
- prodotto scalare
- Distanza euclidea
Coseno
Si tratta semplicemente del coseno dell'angolo tra i due vettori, \(s(q, x) = \cos(q, x)\)
Prodotto scalare
Il prodotto scalare di due vettori è \(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\). È anche dato da \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (il coseno del angolo moltiplicato per il prodotto delle norme). Di conseguenza, se gli incorporamenti normalizzati, quindi il prodotto scalare e il coseno coincidono.
Distanza euclidea
Questa è la distanza abituale in modalità euclidea spazio, \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Una distanza minore indica una maggiore somiglianza. Tieni presente che quando gli incorporamenti sono normalizzati, la distanza euclidea al quadrato coincide con il prodotto scalare (e coseno) fino a una costante, poiché in richiesta \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).
Confronto di misure di somiglianza
Considera l'esempio nella figura a destra. Il vettore nero indica dell'incorporamento delle query. Gli altri tre vettori di incorporamento (Elemento A, Elemento B, Elemento C) che rappresentano gli elementi candidati. A seconda della misura di somiglianza utilizzata, il ranking degli articoli può essere diverso.
Utilizzando l'immagine, prova a determinare il ranking dell'articolo utilizzando tutte e tre le misure di somiglianza: coseno, prodotto scalare e distanza euclidea.
Quale misura di somiglianza?
Rispetto al coseno, la somiglianza del prodotto scalare è sensibile al la norma dell'incorporamento. Vale a dire, più è grande la norma di un incorporamento, maggiore è la somiglianza (per gli elementi con un angolo acuto) e maggiore è la probabilità che l'articolo venga consigliato. Ciò può influire consigli come segue:
Elementi che appaiono molto spesso nel set di addestramento (ad esempio, video di YouTube popolari) tendono ad avere incorporamenti con norme ampie. Se ti interessa acquisire informazioni sulla popolarità, allora dovresti Preferisci il prodotto scalare. Tuttavia, se non fai attenzione, il popolare elementi possono finire per dominare i consigli. In pratica, è possibile usare altre varianti di misure di somiglianza che pongono meno enfasi secondo la norma dell'articolo. Ad esempio, definisci \(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) per alcuni \(\alpha \in (0, 1)\).
Gli elementi che appaiono molto raramente potrebbero non essere aggiornati di frequente addestramento. Di conseguenza, se vengono inizializzati con una norma grande, il sistema potrebbe consigliare articoli rari rispetto ad articoli più pertinenti. Per evitare che questo accada occorre prestare attenzione all'inizializzazione dell'incorporamento e usare le regolarizzazione. Questo problema verrà descritto in dettaglio nel primo esercizio.