Mi chiedo perché skip-gram sia meglio per le parole rare rispetto a CBOW in word2vec. Ho letto il reclamo su https://code.google.com/p/word2vec/ .
Mi chiedo perché skip-gram sia meglio per le parole rare rispetto a CBOW in word2vec. Ho letto il reclamo su https://code.google.com/p/word2vec/ .
Risposte:
In CBOW i vettori delle parole di contesto sono mediati prima di prevedere la parola centrale. In skip-gram non esiste una media dei vettori di incorporamento. Sembra che il modello possa imparare rappresentazioni migliori per le parole rare quando i loro vettori non sono mediati con le altre parole contestuali nel processo di fare le previsioni.
Ecco la mia comprensione semplificata e piuttosto ingenua della differenza:
Come sappiamo, CBOW sta imparando a prevedere la parola in base al contesto. O massimizza la probabilità della parola target osservando il contesto. E questo sembra essere un problema per le parole rare. Ad esempio, dato il contesto yesterday was really [...] day
modello CBOW ti dirà che molto probabilmente la parola è beautiful
o nice
. Parole come delightful
attireranno molto meno l'attenzione del modello, perché è progettato per prevedere la parola più probabile. Le parole rare verranno smussate su molti esempi con parole più frequenti.
D'altra parte, lo skip-gram è progettato per prevedere il contesto. Data la parola delightful
, deve capirla e dirci che esiste un'enorme probabilità, il contesto è yesterday was really [...] day
o qualche altro contesto rilevante. Con skip-gram la parola delightful
non proverà a competere con la parola beautiful
ma invece le delightful+context
coppie verranno trattate come nuove osservazioni. Per questo motivo , skip-gram avrà bisogno di più dati, così imparerà a capire anche le parole rare.
Ho appena trovato un documento che mostra il contrario: che CBOW è meglio per le parole rare rispetto a skip-gram https://arxiv.org/abs/1609.08293 . Mi chiedo quali siano le fonti del reclamo dichiarato su https://code.google.com/p/word2vec/ .