Modello linguistico -Language model

Un modello linguistico è una distribuzione di probabilità su sequenze di parole. Data una tale sequenza di lunghezza m , un modello linguistico assegna una probabilità all'intera sequenza. I modelli linguistici generano probabilità allenandosi su corpora testuali in una o più lingue. Dato che le lingue possono essere utilizzate per esprimere una varietà infinita di frasi valide (la proprietà di digital infinity ), la modellazione linguistica affronta il problema di assegnare probabilità diverse da zero a sequenze linguisticamente valide che potrebbero non essere mai incontrate nei dati di addestramento. Diversi approcci di modellazione sono stati progettati per superare questo problema, come l'applicazione dell'ipotesi di Markovo utilizzando architetture neurali come reti neurali ricorrenti o trasformatori .

I modelli linguistici sono utili per una varietà di problemi di linguistica computazionale ; dalle applicazioni iniziali nel riconoscimento vocale per garantire che non siano previste sequenze di parole prive di senso (cioè a bassa probabilità), a un uso più ampio nella traduzione automatica ( ad es. codifica vocale , analisi , riconoscimento ottico dei caratteri , riconoscimento della grafia , induzione grammaticale , recupero di informazioni e altre applicazioni.

I modelli linguistici vengono utilizzati nel recupero delle informazioni nel modello di probabilità della query . Lì, un modello linguistico separato è associato a ciascun documento in una raccolta. I documenti sono classificati in base alla probabilità della query Q nel modello linguistico del documento : . Comunemente, il modello del linguaggio unigram viene utilizzato per questo scopo.

Tipi di modello

Unigramma

Un modello unigram può essere trattato come la combinazione di più automi finiti a uno stato . Presuppone che le probabilità dei token in una sequenza siano indipendenti, ad esempio:

In questo modello, la probabilità di ogni parola dipende solo dalla probabilità di quella parola nel documento, quindi abbiamo solo automi finiti a uno stato come unità. L'automa stesso ha una distribuzione di probabilità sull'intero vocabolario del modello, sommando a 1. Quanto segue è un'illustrazione di un modello unigram di un documento.

Termini Probabilità nel doc
un 0.1
mondo 0.2
piace 0,05
noi 0,05
Condividere 0.3
... ...

La probabilità generata per una specifica query viene calcolata come

Documenti diversi hanno modelli unigram, con diverse probabilità di successo delle parole al suo interno. Le distribuzioni di probabilità di documenti diversi vengono utilizzate per generare probabilità di successo per ciascuna query. I documenti possono essere classificati per una query in base alle probabilità. Esempio di modelli unigram di due documenti:

Termini Probabilità in Doc1 Probabilità in Doc2
un 0.1 0.3
mondo 0.2 0.1
piace 0,05 0.03
noi 0,05 0.02
Condividere 0.3 0.2
... ... ...

Nei contesti di recupero delle informazioni, i modelli del linguaggio unigram sono spesso smussati per evitare casi in cui P (termine) = 0. Un approccio comune consiste nel generare un modello di massima verosimiglianza per l'intera raccolta e interpolare linearmente il modello di raccolta con un modello di massima verosimiglianza per ogni documento per smussare il modello.

n-grammo

In un modello n -gram, la probabilità di osservare la frase è approssimata come

Si presume che la probabilità di osservare la i - esima parola w i nella storia del contesto delle precedenti i  − 1 parole possa essere approssimata dalla probabilità di osservarla nella storia del contesto abbreviata delle precedenti n  − 1 parole ( n ° ordine proprietà Markov ). Per chiarire, per n=3 e i=2 abbiamo .

La probabilità condizionale può essere calcolata da n conteggi di frequenza del modello in grammi:

I termini modelli linguistici bigram e trigram denotano modelli n -gram con n  = 2 e n  = 3, rispettivamente.

Tipicamente, le probabilità del modello n -gram non sono derivate direttamente dai conteggi di frequenza, perché i modelli derivati ​​in questo modo hanno seri problemi quando confrontati con qualsiasi n -gram che non è stato visto esplicitamente prima. Invece, è necessaria una qualche forma di livellamento, assegnando parte della massa totale di probabilità a parole o n -grammi invisibili. Vengono utilizzati vari metodi, dal semplice smoothing "add-one" (assegnare un conteggio di 1 a n -grams non visti, come un precedente non informativo ) a modelli più sofisticati, come i modelli di sconto Good-Turing o back-off .

Bidirezionale

Le rappresentazioni bidirezionali condizionano sia il pre che il post-contesto (es. parole) in tutti i livelli.

Esempio

In un modello linguistico bigram ( n  = 2), la probabilità della frase che ho visto la casa rossa è approssimata come

mentre in un modello linguistico a trigramma ( n  = 3), l'approssimazione è

Si noti che il contesto dei primi n  – 1 n grammi è pieno di marcatori di inizio frase, tipicamente indicati con <s>.

Inoltre, senza un indicatore di fine frase, la probabilità di una sequenza sgrammaticata *ho visto sarebbe sempre maggiore di quella della frase più lunga ho visto la casa rossa.

esponenziale

I modelli linguistici di massima entropia codificano la relazione tra una parola e la cronologia di n grammi utilizzando funzioni di funzionalità. L'equazione è

dove è la funzione di partizione , è il vettore di parametri ed è la funzione di funzionalità. Nel caso più semplice, la funzione caratteristica è solo un indicatore della presenza di un certo n-gram. È utile utilizzare un precedente o una qualche forma di regolarizzazione.

Il modello log-bilineare è un altro esempio di modello linguistico esponenziale.

Rete neurale

I modelli di linguaggio neurale (o modelli di linguaggio spaziale continuo ) utilizzano rappresentazioni continue o incorporamenti di parole per fare le loro previsioni. Questi modelli fanno uso di reti neurali .

I continui incorporamenti nello spazio aiutano ad alleviare la maledizione della dimensionalità nella modellazione linguistica: man mano che i modelli linguistici vengono addestrati su testi sempre più grandi, il numero di parole uniche (il vocabolario) aumenta. Il numero di possibili sequenze di parole aumenta esponenzialmente con la dimensione del vocabolario, causando un problema di scarsità di dati a causa delle sequenze esponenzialmente numerose. Pertanto, le statistiche sono necessarie per stimare correttamente le probabilità. Le reti neurali evitano questo problema rappresentando le parole in modo distribuito , come combinazioni non lineari di pesi in una rete neurale. Una descrizione alternativa è che una rete neurale approssima la funzione del linguaggio. L'architettura della rete neurale potrebbe essere feed-forward o ricorrente e mentre la prima è più semplice, la seconda è più comune.

Tipicamente, i modelli del linguaggio della rete neurale sono costruiti e addestrati come classificatori probabilistici che imparano a prevedere una distribuzione di probabilità

.

Cioè, la rete è addestrata per prevedere una distribuzione di probabilità sul vocabolario, dato un certo contesto linguistico. Questo viene fatto utilizzando algoritmi di addestramento della rete neurale standard come la discesa del gradiente stocastico con backpropagation . Il contesto potrebbe essere una finestra di dimensioni fisse di parole precedenti, in modo che la rete preveda

da un vettore di caratteristiche che rappresenta le k parole precedenti. Un'altra opzione è usare parole "future" e parole "passate" come caratteristiche, in modo che la probabilità stimata sia

.

Questo è chiamato un modello a sacco di parole . Quando i vettori di caratteristiche per le parole nel contesto sono combinati da un'operazione continua, questo modello viene definito architettura a bag-of-words continua (CBOW).

Una terza opzione che si allena più lentamente del CBOW ma con prestazioni leggermente migliori è invertire il problema precedente e fare in modo che una rete neurale apprenda il contesto, data una parola. Più formalmente, data una sequenza di parole di addestramento , si massimizza la probabilità logaritmica media

dove k , la dimensione del contesto di addestramento, può essere una funzione della parola centrale . Questo è chiamato un modello linguistico skip-gram . I modelli Bag-of-words e skip-gram sono alla base del programma word2vec .

Invece di utilizzare modelli del linguaggio della rete neurale per produrre probabilità effettive, è comune utilizzare invece la rappresentazione distribuita codificata negli strati "nascosti" delle reti come rappresentazioni di parole; ogni parola viene quindi mappata su un vettore reale n -dimensionale chiamato word embedding , dove n è la dimensione del livello appena prima del livello di output. Le rappresentazioni nei modelli skip-gram hanno la caratteristica distintiva di modellare le relazioni semantiche tra le parole come combinazioni lineari , catturando una forma di composizionalità . Ad esempio, in alcuni di questi modelli, se v è la funzione che mappa una parola w alla sua rappresentazione vettoriale n -d, allora

dove ≈ è precisato stabilendo che il suo lato destro deve essere il più vicino del valore del lato sinistro.

Altro

Un modello linguistico posizionale valuta la probabilità che determinate parole ricorrano l'una vicino all'altra in un testo, non necessariamente immediatamente adiacenti. Allo stesso modo, i modelli bag-of-concept sfruttano la semantica associata a espressioni multi-parola come buy_christmas_present , anche quando sono usati in frasi ricche di informazioni come "oggi ho comprato molti bei regali di Natale".

Nonostante i limitati successi nell'utilizzo delle reti neurali, gli autori riconoscono la necessità di altre tecniche durante la modellazione delle lingue dei segni.

Valutazione e benchmark

La valutazione della qualità dei modelli linguistici viene effettuata principalmente rispetto a benchmark di esempio creati dall'uomo creati da tipici compiti orientati alla lingua. Altri test di qualità meno consolidati esaminano il carattere intrinseco di un modello linguistico o confrontano due di questi modelli. Poiché i modelli linguistici sono in genere concepiti per essere dinamici e per imparare dai dati che vede, alcuni modelli proposti studiano il tasso di apprendimento, ad esempio attraverso l'ispezione delle curve di apprendimento.

Sono stati sviluppati vari set di dati da utilizzare per valutare i sistemi di elaborazione del linguaggio. Questi includono:

  • Corpus di accettabilità linguistica
  • benchmark COLLA
  • Corpus di parafrasi di Microsoft Research
  • Inferenza del linguaggio naturale multigenere
  • Domanda Inferenza del linguaggio naturale
  • Coppie di domande Quora
  • Riconoscere l'intreccio testuale
  • Benchmark di somiglianza testuale semantica
  • SQuAD risposta alle domande Test
  • Stanford Sentiment Treebank
  • Winograd NLI

Critica

Sebbene sia possibile dimostrare che i modelli linguistici contemporanei, come GPT-2, corrispondano alle prestazioni umane in alcuni compiti, non è chiaro che siano modelli cognitivi plausibili . Ad esempio, è stato dimostrato che le reti neurali ricorrenti apprendono schemi che gli esseri umani non imparano e non riescono ad apprendere schemi che gli umani imparano.

Guarda anche

Appunti

Riferimenti

Citazioni

Fonti

  • JM Ponte e WB Croft (1998). "Un approccio di modellazione del linguaggio al recupero delle informazioni". Ricerca e sviluppo nel recupero delle informazioni . pp. 275–281. CiteSeerX  10.1.1.117.4237 .{{cite conference}}: Manutenzione CS1: utilizza il parametro autori ( collegamento )
  • F Canzone e WB Croft (1999). "Un modello linguistico generale per il recupero delle informazioni". Ricerca e sviluppo nel recupero delle informazioni . pp. 279–280. CiteSeerX  10.1.1.21.6467 .{{cite conference}}: Manutenzione CS1: utilizza il parametro autori ( collegamento )
  • Chen, Stanley; Joshua Goodman (1998). Uno studio empirico sulle tecniche di smoothing per la modellazione del linguaggio (rapporto tecnico). Università di Harvard. CiteSeerX  10.1.1.131.5458 .