Linguistica Computazionale La Legge di Zipf 13 ottobre 2014
Distribuzione della frequenza delle parole Rango di una parola (r v ) posizione occupata da una parola in un ordinamento di frequenza discendente Le 30 parole più frequenti in Pinocchio 2
Distribuzione della frequenza delle parole Distribuzione delle frequenze delle parole in Pinocchio rispetto al loro rango 3
La Legge di Zipf Legge di Zipf (George Kingsley Zipf, 1949) la frequenza di una parola è inversamente proporzionale al suo rango f ( z) = C a z f(z) = frequenza della parola di rango z C è una costante corrispondente alla frequenza della parola di rango 1 C dipende dalla lunghezza del corpus e dal suo vocabolario a è un indice inverso della ricchezza lessicale del corpus più grande a e più ristretto è il vocabolario del corpus per Zipf, a 1 4
La Legge di Zipf Per a = 1, vale che f(1) = C f(2) = C/2 f(3) = C/3 in generale, al crescere del rango, lo scarto (C/n)-(C/n+1) tra la frequenza della parola di rango n e la frequenza della parola di rango n-1 diminuisce progressivamente all aumentare del rango la frequenza diminuisce sempre più lentamente La Legge di Zipf prevede un decremento progressivo della frequenza di una parola proporzionale all aumentare del suo rango la parola di rango 2 dovrebbe ricorrere la metà delle volte della parola più frequente parole che appaiono molto in basso nella lista di Zipf tendono ad avere frequenze simili la coda della curva di Zipf conterrà dunque tante parole con frequenza 1: gli hapax 5
La Legge di Zipf La Legge di Zipf in doppia scala logaritmica 10000 andamento teorico previsto alla Legge di Zipf C = 6185 a=1,04 frequenza 1000 100 10 y = 6185.5x -1.0418 andamento del rapporto tra rango e frequenza osservato in Pinocchio 1 1 10 100 1000 10000 rango 6
I logaritmi Il logaritmo in base a di un numero x è l'esponente da dare ad a per ottenere x se x = a y, allora y = log a x log a a = 1 log a 1 = 0 (il log in qualsiasi base di 1 è 0) 7
I logaritmi Alcune proprietà dei logaritmi log m (a * b) = log m a + log m b log m (a/b) = log m a - log m b La scala logaritmica ingrandisce le distanze tra i punti vicini allo zero e comprime le stesse distanze tra punti lontani dallo zero 0 0,1 1 2 3 4 5 6 7 8 9 10 100-1 0 1 2 trasforma rapporti costanti tra distanze in differenze costanti 10/1 = 1000/100 log(10) log(1) = log(1000)-log(100) 8
La Legge di Zipf La legge di Zipf in doppia scala logaritmica diventa l equazione di una retta (per le proprietà dei logaritmi) log f ( z) = logc a log z l intercetta sull asse y corrisponde a log (C) log della frequenza massima nel corpus l intercetta dell asse x corrisponde al rango in cui incominciamo a trovare hapax la pendenza della retta è data da a (coefficiente angolare) dipende dalla ricchezza lessicale del testo In scala logaritmica f(1)-f(10) = f(100)-f(10) = f(1000)-f(100), ecc. secondo la legge di Zipf le frequenze per parole con ranghi alti decrescono molto più lentamente 9
Equazione della retta y = mx + q m è il coefficiente angolare e determina la pendenza (positiva o negativa) di una retta q è l intercetta, ovvero il punto in cui la retta incrocia l asse y se q = 0, la retta passa per l origine 10
La Legge di Zipf La Legge di Zipf è una legge teorica della distribuzione delle parole in un testo, che approssima la distribuzione reale maggiori discostamenti nella testa e nella coda della distribuzione nelle distribuzioni reali, la coda della retta è costituita da gradoni sempre più larghi esistono più parole con la stessa frequenza e il numero di queste aumenta all aumentare del rango In ogni testo (e in ogni lingua) la distribuzione delle parole approssima la Legge di Zipf la retta varia nella pendenza e nelle intercette la Legge di Zipf definisce una famiglia di distribuzioni che dipendono da C e da a 11
Invarianza di scala La Legge di Zipf fa parte delle leggi di potenza (power laws) y=ax k cf. frattali (Mandelbrot) Le leggi di potenza godono della proprietà di invarianza di scala moltiplicando l argomento per un fattore di scala c, il valore della funzione viene moltiplicato di un fattore c k f(cx) = a(cx) k =c k f(x) es. funzione lineare: y = 3x => 2(y) = 3(2x) Ampliando la dimensione del testo, si ha solo un cambiamento di scala, che non muta la forma della distribuzione di Zipf 12
La Legge di Zipf e l invarianza di scala Brown BNC Wikipedia ukwac 13
Altre Leggi di Zipf La frequenza di una parola è correlata ad altre sue proprietà le parole più frequenti sono più corte (l = lunghezza in caratteri) f v 1 l v le parole più frequenti hanno più significati (s = significati di una parola) sv f v Altri eventi nel mondo si distribuiscono secondo la Legge di Zipf accessi ai siti web numero degli abitanti per città distribuzione del reddito reti sociali (social networks) 14
Intepretare la Legge di Zipf Secondo Zipf la distribuzione delle parole nei testi riflette un principio di economia nella comunicazione parlante e ascoltatore cercano entrambi di minimizzare i loro sforzi lo sforzo del parlante è ridotto avendo un piccolo vocabolario di parole molto comuni (= frequenti) lo sforzo dell ascoltatore è ridotto avendo un grande vocabolario di parole più rare (e meno ambigue) la Legge di Zipf rappresenterebbe il compromesso migliore (= più economico) tra queste due opposte tendenze 15
La Legge di Zips le conseguenze per la linguistica computazionale Ci sono sempre poche parole molto frequenti corrispondono solitamente a parole appartenenti a classi chiuse (articoli, preposizioni, congiunzioni, ecc.) Ci sono sempre moltissime parole a bassa frequenza e hapax (LNRE, Large Number of Rare Events) sono parole piene (nomi, verbi, ecc.), solitamente estremamente informative sul contenuto di un documento il vocabolario è aperto nuovi temi e concetti portano a introdurre nuove parole produttività lessicale nuovi termini derivati morfologici, ecc. I dati linguistici sono rari (data sparseness) 16
La dinamica del vocabolario Studiamo l andamento della crescita lessicale all aumentare del testo come aumenta V C all aumentare di C Il testo come flusso di parole Il testo può essere visto come una sequenza v 1, v 2,,v i, v C di parole indicizzate per posizione i può essere interpretato come associato a un dato istante temporale, v i è la parola che troviamo leggendo sequenzialmente il testo all istante i V C(i) è il vocabolario delle prime i parole di C (i C ) V C(i) è la grandezza del vocabolario usato nelle prime i parole del testo fornisce il tasso di crescita del vocabolario all aumentare del corpus 17
La dinamica del vocabolario 7000 V C (i) grandezza vocabolario 6000 5000 4000 3000 2000 1000 0 y = 3.2824x 0.6984 0 10000 20000 30000 40000 50000 60000 La crescita del vocabolario in PInocchio lunghezza testo con punteggiatura senza punteggiatura Potenza (con punteggiatura) numero di hapax 3500 3000 2500 2000 1500 1000 500 0 0 10000 20000 30000 40000 50000 La crescita degli hapax in Pinocchio media hapax hapax osservati 18
La dinamica del vocabolario Forte correlazione tra aumento della lunghezza del corpus e aumento del vocabolario Il vocabolario V C di un corpus cresce in maniera non lineare rispetto a C V C(i) non cresce sempre, poiché esistono parole che devono ripetersi più o meno regolarmente parole grammaticali, principi di coerenza lessicale andamento narrativo, ecc. la curva di V C(i) non ha mai un asintoto orizzontale il vocabolario non smette mai di crescere aumenta sempre più lentamente rispetto al crescere delle dimensioni 19 del corpus