Che cos'è un modello linguistico?
Un modello linguistico stima la probabilità che un token o una sequenza di token si verifichi all'interno di una sequenza di token più lunga. Un token può essere una parola, una subword (un sottoinsieme di una parola) o anche un singolo carattere.
Considera la seguente frase e i token che potrebbero completarla:
When I hear rain on my roof, I _______ in my kitchen.
Un modello linguistico determina le probabilità che diversi token o sequenze di token completino lo spazio vuoto. Ad esempio, la seguente tabella di probabilità identifica alcuni token possibili e le relative probabilità:
| Probabilità | Token |
|---|---|
| 9,4% | cucinare la zuppa |
| 5,2% | scaldare un bollitore |
| 3,6% | cower |
| 2,5% | nap |
| 2,2% | relax |
In alcune situazioni, la sequenza di token potrebbe essere un'intera frase, un paragrafo o persino un intero saggio.
Un'applicazione può utilizzare la tabella delle probabilità per fare previsioni. La previsione potrebbe essere la probabilità più alta (ad esempio, "cook soup") o una selezione casuale di token con una probabilità superiore a una determinata soglia.
La stima della probabilità di ciò che riempie lo spazio vuoto in una sequenza di testo può essere estesa a attività più complesse, tra cui:
- Generazione del testo in corso.
- Traduzione del testo da una lingua all'altra.
- Riassumere i documenti.
Modellando i pattern statistici dei token, i moderni modelli linguistici sviluppano rappresentazioni interne estremamente potenti del linguaggio e possono generare un linguaggio plausibile.
Modelli linguistici n-grammi
Gli N-grammi sono sequenze ordinate di parole utilizzate per creare modelli linguistici, dove N è il numero di parole nella sequenza. Ad esempio, quando N è 2, l'N-gramma è chiamato 2-gramma (o bigramma); quando N è 5, l'N-gramma è chiamato 5-gramma. Data la seguente frase in un documento di addestramento:
you are very nice
I 2-grammi risultanti sono i seguenti:
- tu
- sono molto
- ottimo
Quando N è 3, l'N-gramma viene chiamato 3-gramma (o trigramma). Data la stessa frase, i 3-grammi risultanti sono:
- sei molto
- sono molto carini
Dato l'input di due parole, un modello linguistico basato su 3-grammi può prevedere la probabilità della terza parola. Ad esempio, date le seguenti due parole:
orange is
Un modello linguistico esamina tutti i diversi trigrammi derivati dal corpus di addestramento che iniziano con orange is per determinare la terza parola più probabile.
Centinaia di trigrammi potrebbero iniziare con le due parole orange is, ma puoi
concentrarti esclusivamente sulle due possibilità seguenti:
orange is ripe orange is cheerful
La prima possibilità (orange is ripe) riguarda l'arancia, il frutto,
mentre la seconda (orange is cheerful) riguarda il colore
arancione.
Contesto
Gli esseri umani possono conservare contesti relativamente lunghi. Mentre guardi il terzo atto di un'opera teatrale, ricordi i personaggi introdotti nel primo atto. Allo stesso modo, la battuta finale di una barzelletta lunga fa ridere perché si ricorda il contesto dall'inizio della barzelletta.
Nei modelli linguistici, il contesto è un'informazione utile prima o dopo il token di destinazione. Il contesto può aiutare un modello linguistico a determinare se "arancione" si riferisce a un agrume o a un colore.
Il contesto può aiutare un modello linguistico a fare previsioni migliori, ma un
trigramma fornisce un contesto sufficiente? Purtroppo, l'unico contesto fornito da un trigramma
sono le prime due parole. Ad esempio, le due parole orange is non
forniscono un contesto sufficiente al modello linguistico per prevedere la terza parola.
A causa della mancanza di contesto, i modelli linguistici basati su 3 grammi commettono molti errori.
Gli N-grammi più lunghi forniscono sicuramente più contesto rispetto a quelli più brevi. Tuttavia, man mano che N aumenta, la frequenza relativa di ogni istanza diminuisce. Quando N diventa molto grande, il modello linguistico in genere ha una sola istanza di ogni occorrenza di N token, il che non è molto utile per prevedere il token di destinazione.
Reti neurali ricorrenti
Le reti neurali ricorrenti forniscono più contesto rispetto agli n-grammi. Una rete neurale ricorrente è un tipo di rete neurale che viene addestrata su una sequenza di token. Ad esempio, una rete neurale ricorrente può imparare gradualmente (e imparare a ignorare) il contesto selezionato di ogni parola in una frase, un po' come faresti quando ascolti qualcuno parlare. Una rete neurale ricorrente di grandi dimensioni può acquisire il contesto da un passaggio di diverse frasi.
Sebbene le reti neurali ricorrenti apprendano più contesto rispetto agli N-grammi, la quantità di contesto utile che le reti neurali ricorrenti possono intuire è ancora relativamente limitata. Le reti neurali ricorrenti valutano le informazioni "token per token". Al contrario, i modelli linguistici di grandi dimensioni, l'argomento della sezione successiva, possono valutare l'intero contesto contemporaneamente.
Tieni presente che l'addestramento delle reti neurali ricorrenti per contesti lunghi è limitato dal problema di scomparsa del gradiente.
Esercizio: verifica la tua comprensione
- Un modello linguistico basato su 6 grammi
- Un modello linguistico basato su 5 grammi