Entropia e linguaggio

Transcript

Entropia e linguaggio
Linguistica Computazionale
Entropia e linguaggio
11 novembre 2014
Incertezza e informazione
l 
l 
Le probabilità servono per modellare fenomeni e sistemi il cui
esito è incerto (fenomeni aleatori)
L’entropia è una misura dell’incertezza di un fenomeno (sistema)
l 
l 
misura quanto è difficile predire qual è l’esito del fenomeno
Da cosa dipende il grado di incertezza?
l 
numero di esiti alternativi possibili
l 
l 
lancio di un dato = 6 esiti possibili
estrazione di una carta = 52 esiti possibili
§ 
l 
l’estrazione di una carta ha un maggior grado di incertezza!!
distribuzione delle probabilità per ciascun esito
l 
se gli esiti hanno probabilità uniforme è più difficile prevedere quello
giusto (a parità del loro numero)
§ 
cf. lancio di un dado non truccato vs. lancio di un dado in cui sappiamo che il 6
ha probabilità doppia di uscire degli altri numeri
2
Incertezza e informazione
l 
L’informazione è la diminuzione dell’incertezza
l 
l 
l 
se un evento aleatorio si verifica, abbiamo ottenuto
dell’informazione
l  da non confondersi con la nozione “semiotica” di
informazione!!
più un evento è raro, maggiore è l’informazione che
otteniamo sapendo che si è verificato
l  cf. Oggi è sorto il sole vs. Oggi c’è stata un’eclisse di sole
L’entropia è la misura della quantità di informazione
portata dagli eventi prodotti da un processo o sistema
aleatorio (formalizzato come una variabile casuale)
3
Variabile casuale
l 
Una variabile casuale (random variable) è una variabile ai cui
valori è associata una distribuzione di probabilità (che specifica
la probabilità di ogni valore)
l 
l 
probability mass function
Una variabile casuale rappresenta un processo o sistema
aleatorio
l 
l 
un processo o sistema aleatorio è descritto dall’insieme di stati che
esso può assumere e da una distribuzione di probabilità ad essi
associata
Possiamo rappresentare un testo o una lingua come una
variabile casuale (W)
l 
es. un testo può essere immaginato come una sequenza di parole
generata secondo una certa distribuzione di probabilità
§ 
i valori di W sono parole, ciascuna con una probabilità associata (= la
probabilità di una parola di essere generata/osservata in una lingua)
4
Entropia puntuale
l 
l 
l 
L’entropia è la misura della quantità di informazione o incertezza
di una variabile casuale
L’entropia è misurata in bits (cifre binarie)
Supponiamo che
l 
ad ogni istante ti si debba trasmettere un messaggio per comunicare
in quale stato si trova il sistema in ti
l 
l 
l 
es. “quale parola v è stata prodotta?”
che il messaggio debba essere in codice binario (una stringa di 0 e 1)
Entropia puntuale (informazione) di una parola
h(v) = −log 2 p(v)
l 
corrisponde al numero di bits necessari per trasmettere (=
descrivere) che è stata estratta la parola v
5
€
Entropia puntuale
l 
In generale, un numero binario di n cifre può codificare al massimo 2n
messaggi
l 
es. un numero binario di 2 cifre può codificare 4 messaggi diversi
l 
l 
00, 01, 10, 11
Se W ha n stati possibili (tutti equiprobabili), il numero di bits necessari
per codificare ogni stato è log2n
l 
l 
l 
h(s) = log2n
se gli stati del sistema sono equiprobabili, p(s) = 1/n e n = 1/p(s)
quindi, h(s) = log21/p(s) = - log2p(s)
l 
l 
l 
se W ha 1 stato possibile, h(s) = 0 bits
se W ha 2 stati possibili, h(s) = 1 bits
se W ha 4 stati possibili, h(s) = 2 bits
6
Entropia
l 
l 
l 
L’entropia di un variabile W è il numero medio di bits
necessari per codificare i suoi stati possibili
Nel caso del testo (linguaggio), possiamo assumere
che i valori (= stati) di W siano gli elementi del
vocabolario VC di un corpus C
L’entropia di W è la media dell’entropia dei suoi
possibili stati
∑ f (v ) ⋅ h(v )
i
H(W ) =
v i =Vc
C
i
H(W ) = −
∑ p(v )log
i
2
p(v i )
v i ∈VC
7
Entropia
H(W ) = −
∑ p(v )log
i
2
p(v i )
v i ∈VC
l 
l 
Se W ha n stati possibili equiprobabili l’entropia del
sistema è uguale all’entropia puntuale
W = 4 stati equiprobabili (p(s) = 1/4)
l 
l 
l 
l 
€
H(W) = - (1/4*log 1/4+1/4*log 1/4+1/4*log 1/4+1/4*log 1/4)
2
2
2
2
H(W) = - (1/4*(-2)+1/4*(-2)+1/4*(-2)+1/4*(-2))
H(W) = - (-1/2-1/2-1/2-1/2) = -(-2) = 2 bits (= log24)
L’entropia aumenta col crescere del numero degli stati
possibili
l 
l 
W = 8 stati equiprobabili
H(W) log28 = 3 bits
8
Entropia
l 
W = produzione di una parola (esiti non equiprobabili!!)
l 
V(W) = {il, cane, mangia, gatto}
l  P(cane) = 1/4
P(il) = 1/2
P(gatto) = 1/8
§ 
§ 
§ 
l 
P(mangia) = 1/8
H(W) = - (1/4*log21/4 + 1/2*log21/2 + 1/8*log21/8 + 1/8*log21/8)
H(W) = - (0,25*(-2) + 0,5 * (-1) + 0,125 * (-3) + 0,125 * (-3))
H(W) = - (-0,5 - 0,5 - 0,375 – 0,375) = 1,75 bits
L’entropia (media) del sistema è minore di quella che si
avrebbe se i suoi stati fossero equiprobabili
l 
cf. H(W) con 4 stati equiprobabili = 2 bits
9
Entropia e codice ottimale
l 
l 
L’entropia permette di stabilire il codice ottimale per descrivere un
sistema aleatorio
Codice di Shannon-Fano
l 
gli stati più probabili (più frequenti) sono descritti usando messaggi più
corti, gli stati meno probabili sono descritti usando messaggi più lunghi
l  stati del sistema = {il, cane, mangia, gatto}
§ 
l 
p(il) = 1/2 p(mangia) = 1/8
p(gatto) = 1/8
codifica ottimale in bits
§ 
§ 
§ 
§ 
l 
p(cane) = 1/4
il = 0
cane = 10
gatto = 110
mangia = 111
l’entropia di un sistema che usa questo tipo di codifica per
trasmettere messaggi è di 1,75 bits
10