Gli embedding semantici, come Word2Vec e GloVe, rappresentano in realtà un primo passo verso la modellazione del linguaggio - la creazione di modelli che in qualche modo comprendono (o rappresentano) la natura del linguaggio.
L'idea principale della modellazione del linguaggio è addestrare i modelli su dataset non etichettati in modo non supervisionato. Questo è importante perché abbiamo a disposizione enormi quantità di testo non etichettato, mentre la quantità di testo etichettato sarà sempre limitata dallo sforzo necessario per etichettarlo. Molto spesso, possiamo costruire modelli di linguaggio che siano in grado di predire parole mancanti nel testo, poiché è facile oscurare una parola casuale nel testo e usarla come campione di addestramento.
Nei nostri esempi precedenti, abbiamo utilizzato embedding semantici pre-addestrati, ma è interessante vedere come questi embedding possano essere addestrati. Esistono diverse idee che possono essere utilizzate:
- Modellazione del linguaggio con N-Gram, in cui si predice un token osservando i N token precedenti (N-gram).
-
Continuous Bag-of-Words (CBoW), in cui si predice il token centrale
$W_0$ in una sequenza di token$W_{-N}$ , ...,$W_N$ . -
Skip-gram, in cui si predice un insieme di token vicini {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} a partire dal token centrale
$W_0$ .
Immagine tratta da questo articolo
Continua il tuo apprendimento con i seguenti notebook:
Nella lezione precedente abbiamo visto che gli embedding delle parole funzionano come per magia! Ora sappiamo che addestrare embedding delle parole non è un compito molto complesso, e dovremmo essere in grado di addestrare i nostri embedding per testi specifici di dominio, se necessario.
- Tutorial ufficiale di PyTorch sulla Modellazione del Linguaggio.
- Tutorial ufficiale di TensorFlow sull'addestramento del modello Word2Vec.
- L'utilizzo del framework gensim per addestrare gli embedding più comunemente usati in poche righe di codice è descritto in questa documentazione.
Nel laboratorio, ti sfidiamo a modificare il codice di questa lezione per addestrare un modello skip-gram invece di CBoW. Leggi i dettagli
