Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
C V
p (w) =
Add one smoothing (legge di Laplace): ( ) +1
f w
s ¿
per effetto dello smoothing, possiamo assegnare una probabilità
diversa da 0 anche ad eventi non osservati nel corpus:
es.
|C| = 50
|V| = 20
f(w) = 0
P (w) = 0
normale
P (w) = 1/(50+20) = 0.014
s
ASSIOMI DELLA PROBABILITA’:
1) 0 ≤ P(A) ≤ 1
2) P(A U B) = P(A) + P(B) SE E SOLO SE A∩B = insieme
vuoto (A e B sono eventi disgiunti)
3) P(Ω) = 1 (certezza)
(per la parte di formule sulla probabilità vedi libro)
Probabilità congiunte: sequenze di parole
Esperimento: estrarre due parole consecutive da un testo:
bigramma = sequenza di due parole; n-gramma = sequenza di n
parole
Es. “il presidente italiano è donna.” I bigrammi sono:
il <> presidente
presidente <> italiano
italiano <> è
è <> donna
donna <> .
< > $ numero bigrammi = numero tokens se si aggiunge un token
“segnaposto” di fine testo
6 tokens, 6 bigrammi
Quale è la probabilità di estrarre un bigramma <V V >?
1, 2
La probabilità di estrarre V (consecutiva a V ) NON E’
2 1 ≠
INDIPENDENTE dalla probabilità di estrarre V1, dunque P(V , V )
1 2
P(V ) * P(V )
1 2
PROBABILITA’ CONDIZIONATA
P(A|B) ovvero probabilità dell’evento A dopo essersi verificato
l’evento B: probabilità che si verifica A dato che sappiamo che è
avvenuto B
P(V |V ) = P(V ) * P(V |V )
2 1 1 2 1
MODELLI A n-GRAMMI assegnano una distribuzione di probabilità a
sequenze di parole WORD PREDICTION: data una sequenza di
parole W , …, W quale è la parola W che ha maggior probabilità
1 n-1 n
di seguire la sequenza?
Ovvero quale è la parola W che massimizza la seguente probabilità:
n
P(W |W , …, W )
n 1 n-1
….. ed entra in gioco la chain rule
Chain Rule: regola del prodotto può essere generalizzata per
calcolare la probabilità di n eventi congiunti, dunque permette di
calcolare la probabilità di sequenze di caratteri, parole, frasi
Es. quale è la probabilità di estrarre la stringa “azione”?
P(a,z,i,o,n,e) = P(a)*P(z|a)*P(i|a,z)*P(o|a,z,i)*P(n|a,z,i,o)*P(e|
a,z,i,o,n) a/numero
P(a) = numero delle totale di unigrammi
az/frequenza a
P(z|a) = frequenza dei bigrammi di
azi/frequenza az
P(i|a,z) = frequenza dei trigrammi di bigrammi
….
Le probabilità possono essere stimate con le frequenze di n-grammi
MA in una parola lunga 15 caratteri ha senso dire che l’ultimo
carattere dipende ( CONCETTO DI DIPENDENZA come raggio di
azione di trasmissione delle regole) dal primo carattere? NO, infatti
è difficile stimare la probabilità condizionale da stringhe molto
lunghe es. probabilità della frase “la macchina rossa insegue la
bicicletta”: P(la, macchina, rossa, insegue, la, bicicletta) =
P(la)*P(macchina|la)*P(rossa|la, macchina)*………..
Problemi:
- I dati sono TROPPO SPARSI (data sparseness)
- se uno dei termini della chain rule è 0, l’intera frase riceve
probabilità = 0 per la Maximum like estimation (se una parola
non è presente in un corpus, ha probabilità 0)
Quindi non possiamo distinguere sequenze rare ma possibili nella
lingua da sequenze impossibili (agrammaticali): le seq impossibili
hanno probabilità = 0, mentre quelle rare ma possibili ≠ 0, e il
rischio è che a causa della sparsità dei dati ad entrambe le tipologie
di sequenze venga assegnata probabilità = 0
SOLUZIONE: porre un limite alla chain rule i modelli di Markov
n
(di ordine fissato a priori, ovvero viene fissata la lunghezza del
raggio di azione del rapporto di dipendenza)
n
Un modello markoviano di ordine assume che ciascun evento E in
i n
una seq di eventi E … E dipende solo da una finestra limitata di
1 n n
eventi che lo precedono; gli eventi da cui dipende E i
rappresentano la sua storia
I modelli (catene) di markov permettono di creare modelli
probabilistici di seq linguistiche per le quali si assume che esista un
particolare tipo di dipendenza tra gli elementi della sequenza
NON SI TIENE CONTO DELLA STRUTTURA SINTAGMATICA, MA SOLO
DELL’ORDINE LINEARE
Es. “la macchina rossa insegue la bicicletta” modello markoviano
di ordine 1: la probabilità di ciascuna parola dipende solo dalla
parola precedente; modello markoviano di ordine 2: la probabilità di
ciascuna parola dipende solo dalle 2 parole precedenti (la scelta
dell’ordine è personale e a priori)
Modello markoviano di ordine 1: P(la, macchina, rossa, insegue, la,
bicicletta) = P(la)*P(macchina|la)*P(rossa|macchina)*P(insegue|
rossa)*P(la|insegue)*P(bicicletta|la)
Modello markoviano di ordine 2: P(la)*P(macchina|la)*P(rossa|la,
macchina)*P(insegue|macchina, rossa)*P(la|rossa,
insegue)*P(bicicletta|insegue, la) – non ha molto senso un mod
markoviano di ordine 2 con una frase così breve
I modelli di markov sono language models, ovvero modelli in grado
di assegnare una certa probabilità a sequenze di strutture
linguistiche E sono modelli generativi (generative language
models), poiché viene postulato che le strutture linguistiche di una
certa lingua siano GENERATE da un sistema probabilistico (ad es gli
esseri umani) che produce quel tipo di strutture secondo una certa
distribuzione di probabilità
Due attività preliminari:
- definizione del modello = decidiamo l’ordine della catena
markoviana
- stima dei parametri = stimiamo le probabilità condizionate che
compongono il modello markoviano usando n-grammi estratti
da un corpus
In linguistica i modelli di markov vengono usati per la word-
prediction
I modelli devono IMPARARE ad assegnare la probabilità corretta agli
eventi: se il mio modello assegna stessa probabilità a “il sasso
uccise l’uomo” e a “l’uomo uccise il sacco” è evidente che non
funziona
Un modello di markov di ordine n deve essere ADDESTRATO su un
corpus di addestramento > usiamo il modello addestrato per
generare sequenze di parole: le parole vengono generate con una
probabilità dipendente dai parametri del modello > ….. > notiamo
che con l’aumentare dell’ordine (n ∞), le sequenze generate dal
modello approssimano meglio i vincoli strutturali della lingua reale,
ma dove mi fermo? Aumentando l’ordine del modello si ritorna alla
n
chain rule, e in più non esiste nella lingua un numero a cui ci
possiamo fermare: è chiaro che abbiamo dei limiti di memoria di
lavoro, MA esiste comunque una capacità delle regole della lingua
di influenzare a distanze illimitate
INSOMMA I SISTEMI MARKOVIANI NON FUNZIONANO, SONO SOLO
APPROSSIMAZIONI, sono i modelli linguistici più semplici, anche se
alla fine tutte le tecnologie si fondano su language models, anche
se magari più raffinati delle catene di markov
Morale: i sistemi di markov sono utili su porzioni finite di linguaggio
(parole) es. language recognition task: come possiamo
decidere se la stringa “action” è italiana o inglese senza dizionario?
Si confronta la probabilità che questa stringa sia generata da un
modello di markov per l’italiano con la probabilità che sia generata
da un modello di markov per l’inglese, ovvero servono due training
corpora (corpora di addestramento) rappresentativi dell’italiano e
dell’inglese con cui stimare le probabilità
P(a,c,t,i,o,n) = P(a)*P(c|a)*P(t|c)*P(i|t)*P(o|i)*P(n|o) – modello di
markov di ordine 1
PRESUPPOSTO: la stringa è stata GENERATA (modello linguistico
generativo) da un sistema probabilistico
Se la probabilità assegnata alla stringa “action” è più alta nel
modello inglese, allora la stringa è stata generata dal modello
inglese, altrimenti è stata generata dal modello italiano
Ad es. Seq “ct” è una sequenza molto più probabile in inglese
piuttosto che italiano
NB come si capisce di essere ad un confine di parola? A un confine
di parola tutti i suoni diventano equiprobabili, diminuisce la nostra
capacità di predizione
I sistemi di language recognition falliscono nel caso di lingue molto
simili (es. italiano-spagnolo)
Altre applicazioni della probabilità in linguistica
Le parole in contesto: “you shall know a word by the company
it keeps” (J.R. Firth, 1957, uno dei padri della linguistica dei corpora
e coniatore del termine collocazione – collocation )
Associazioni tra parole > analisi dei contesti linguistici (ANALISI
DISTRIBUZIONALE) rivela le PREFERENZE COMBINATORIE delle
parole: alcuni contesti emergono con maggiore frequenza, dunque
sono più caratteristici
Ci sono due tipologie di legame di associazione:
1) Alcune potenzialità combinatorie sono determinate da tratti
morfo-sintattici e semantici generali delle parole stesse, in
quanto membri di una classe linguistica astratta principio di
un
opposizionalità delle espressioni linguistiche, es. ho visto
grigio
topolino
2) Esistono associazioni tra parole che si basano su legami non
riconducibili a classi linguistiche generali, ma collegano
lessemi specifici “alta stagione”, “notte fonda”, “vista
lunga”, “all’ultimo grido”, “infrangere la legge”; non vale l’uso
di sinonimi, non ha senso dire “vestito all’ultimo urlo”, si
spezza un legame
Si tratta di un fenomeno molto difficile da definire, viene detto
fenomeno delle COLLOCAZIONI = combinazioni di 2+ parole
caratterizzate da un elevato grado di associazione reciproca,
determinata dalla tendenza a ricorrere una accanto all’altra, ovvero
a co-occorrere (Sinclair 1991) es. “redigere un testo” vs “redigere
un sms”, “acerrimo nemico”, “stringere amicizia” ecc
Fenomeno che abbraccia un’area molto vasta del lessico e delle
espressioni linguistiche; vi rientrano: espressioni come “lavare le
mani”, “mangiare una pizza, “inseguire una macchina”, ovvero
argomenti tipici; argomenti idiosincratici (“mangiare la polvere”);
costruzioni idiomatiche (“tagliare la corda”, “voltare pagina”);
costruzioni a verbo supporto (“dare manforte”, “fare attenzione”,
“prendere