Pearson

Imparare sempre

Foto: Richard Ransier/Corbis

magazine # / /

Linguistica. Matematica BIT e parole

di Mirko degli Esposti, Direttore del Dipartimento di Matematica dell’Università di Bologna ed esperto di teoria dell’informazione

9 ottobre 2013

Creatività significa generazione di nuove strutture, originali e coerenti, ottenute combinando elementi elementari attraverso regole

I linguaggi sono sistemi estremamente complessi, tutt’altro che statici o immobili nel tempo. I linguaggi nascono, si evolvono, si mescolano tra di loro, si trasformano e a volte muoiono, scomparendo. I linguaggi sono fatti da parole e anche le parole hanno una loro vita che segue e si adegua agli eventi sociali, storici e di opinione. Linguisti, semiotici, filologi, neuroscienziati e linguisti computazionali, solo per citarne alcuni, si sono dedicati allo studio del linguaggio, di come si apprende, di come si evolve e di come si trasforma. Ma da qualche tempo, e sempre più spesso, anche i matematici si sono avvicinati a tali questioni, per cercare di comprenderle, per crearne dei modelli e per misurarne quantitativamente i fenomeni e i processi coinvolti. Un testo, per esempio un libro o un romanzo, è (almeno per un matematico, ma non solo) una stringa/sequenza unidimensionale di caratteri, presi da un alfabeto fatto di lettere, numeri e caratteri particolari (lo spazio incluso). Ovviamente la sequenza è ben lungi dall’essere aleatoria, le lettere si mettono insieme per motivi fonetici, le sillabe si uniscono per vincoli sintattici e grammaticali, le parole sono legate (correlate, in termini più rigorosi) grazie alla semantica, all’argomento, alla storia che si sta raccontando. Il tutto condizionato dalla scelta dell’autore che seleziona le parole e il loro ordine anche in funzione dello stile e del suo animo. Interpretare e comprendere automaticamente il linguaggio scritto, estrarne i contenuti e catalogarne l’informazione contenuta è l’obiettivo principale della linguistica computazionale e degli esperti di Natural Language Processing (NLP). Questo lavoro è fortemente dettato e condizionato da naturali esigenze  pratiche dettate dal recente “boom digitale”.

Ma vi sono altre questioni, forse più fondamentali, che ricercatori provenienti da diverse aree si stanno ponendo e investigando. Per esempio se sia possibile misurare lo stile di un autore. Se sia possibile che, al di là dell’argomento e della storia che sta raccontando, ciascun autore lasci una traccia, una sua impronta digitale che sia possibile misurare e che ci permetta di riconoscerlo. Insomma, possiamo capire chi sia l’autore di un testo semplicemente misurando delle quantità contenute nel testo? E possiamo studiare, anche matematicamente, lo stesso processo creativo che porta a un testo scritto? Possiamo capire come si è evoluto un testo classico, un testo sottoposto a diverse versioni dal suo autore, tramandato nei secoli attraverso operazioni di copiatura (si pensi agli amanuensi), spesso non prive di interventi e di modifiche, a volte casuali, a volte volute? Non è del tutto assurdo che certi argomenti vengano affrontati con occhi puramente (o quasi) matematici. Creatività significa generazione di nuove strutture, originali e coerenti, ottenute combinando elementi essenziali (le parole ad esempio) attraverso regole.

Ma la generazione di strutture è esattamente quello che un matematico studia e fa quotidianamente (più o meno, diciamo) e alcuni di noi ritengono che certi aspetti legati alla creatività, allo “stile” (qualunque cosa significhi) e a concetti simili possano essere tradotti in modelli, quantificati e misurati. Ovviamente dire che ogni autore possiede uno stile unico e riconoscibile, misurabile precisamente in ogni sua opera, non è solo una dichiarazione scientificamente scarsa, ma probabilmente anche del tutto errata. Però non si può negare che in ogni processo creativo nulla viene veramente generato dal nulla e ogni processo di creazione di un qualche contenuto (come un testo) è il risultato di una complessa interazione tra l’esperienza e le capacità dell’autore sviluppate nel tempo, tra ciò che l’autore ha creato fino a quel momento e l’argomento di cui sta parlando il suo desiderio di essere originale e certamente anche molti altri elementi. Proprio per questo non è del tutto folle immaginare che esistono certi pattern che caratterizzano lo stile dell’autore, celati all’interno di ogni sua opera. Quasi certamente questo non sarà sufficiente per individuare e discriminare l’autore rispetto al resto dell’universo, ma probabilmente (ed è quello che accade in realtà) questi pattern sono sufficienti per identificare e distinguere l’autore all’interno di un numero finito e coerente di possibili autori.

Più precisamente, noi pensiamo che certe quantità astratte, un poco più generali delle usuali strutture semantiche o sintattiche (ad esempio, le parole), contengano in effetti quella informazione necessaria per discriminare un autore da altri. Questo è essenzialmente l’obiettivo della cosiddetta Authorship Attribution , un’area di ricerca piuttosto antica, oggi all’intersezione tra filologia, informatica e, per noi, matematica e fisica. Uno dei passi cruciali nella storia, ormai piuttosto lunga, di questa disciplina risale al lavoro del fisico americano Thomas Corwin Mendenhall (1841-1924), che nel suo articolo The characteristic curves of composition del 1887 fu attratto dalla similarità tra le distribuzioni statistiche delle lunghezze delle parole (quante parole ci sono lunghe 1, 2, 3 caratteri, e così via) e gli spettri generati da quella che era una tecnica innovativa e molto discussa nel XIX secolo, l’analisi spettroscopica.

Ora si è capito che se si vogliono affrontare problemi quale il riconoscimento dell’autore o l’analisi dei suoi sentimenti o del suo stato d’animo è utile abbandonare la parola quale elemento fondamentale del testo e rivolgere l’attenzione alle sequenze arbitrarie di caratteri. Assumere che un testo è “solamente” una sequenza di simboli significa non tenere in considerazione il contenuto del testo o i suoi aspetti grammaticali: lettere dell’alfabeto, segni di interpunzione, spazi tra le parole sono soltanto simboli astratti, senza una gerarchia. Questo approccio trova le sue radici nella Teoria dell’Informazione e ha aperto significative promettenti prospettive. La Teoria dell’Informazione, nata nel 1948, è quella teoria che risolve il problema di definire matematicamente il contenuto di informazione di un messaggio, per esempio un testo o più generalmente una sequenza arbitraria di simboli. Nel 1948 Claude E. Shannon determinò esattamente il contenuto di informazione di un messaggio come il numero minimo di bit necessari per trasmetterlo completamente e introdusse il concetto di entropia di un messaggio come il numero minimo di bit  per caratteri necessari per trasmettere tale informazione. Può sembrare un po’ esotico, ma in effetti tutti noi usiamo quotidianamente dei programmi, degli algoritmi, che automaticamente cercano di determinare il numero di bit  minimo necessario: sono i cosiddetti compressori o zippatori (ad esempio Winzip, Gzip o Bzip2). L’evoluzione di queste idee ha portato allo sviluppo di algoritmi per l’attribuzione di un testo a un autore basati proprio sull’idea di comprimere l’informazione di un testo usando (in poche parole) le informazioni dei possibili autori che si conoscono. Più precisamente, sviluppando le idee di Shannon è possibile ottenere degli strumenti efficienti per affrontare il problema dell’Autorship Attibution. Per esempio il concetto di entropia relativa.

Ma a questo punto, almeno dal punto di vista matematico, la vicenda diventa un po’ complicata ed è forse più utile soffermarsi su qualche esempio concreto. I casi famosi di attribuzione d’autore che coinvolgono testi e autori classici sono numerosi, ma tra tutti emblematico è forse il caso di Platone che ha rappresentato, per secoli, stimolo allo sviluppo di diversi approcci all’attribuzione. Fu proprio lo studio dell’ordine cronologico dei Dialoghi di Platone che nel 1897 portò il filologo Wincenty Lutoslawski a introdurre il termine e il concetto di stilometria, misurando e studiando numerose costruzioni linguistiche riscontrabili all’interno dei testi del filosofo. Fu ancora il problema della cronologia degli scritti di Platone che portò David Roxbee Cox e Leonard Brandwood nel 1959 a caratterizzare lo stile essenzialmente attraverso la statistica delle cinque ultime sillabe di ciascuna frase, evidenziando differenze quantitative ad esempio tra La Repubblica e le Leggi. Ma forse il salto più significativo avvenne nel 1989 quando Gerard Ledger, ignorando completamente la sintattica e la semantica delle parole, pubblicò Recounting Plato: A computer Analysis of Plato’s Style, dove introdusse metodi e criteri specifici per l’analisi del testo attraverso strumenti informatici. È proprio a cavallo dell’inizio del nuovo secolo che l’analisi quantitativa si consolidò, anche con la convinzione che i testi contengano all’interno delle strutture matematiche che possono essere (matematicamente) descritte.

Un esempio più recente è quello del riconoscimento di articoli anonimi, probabilmente scritti da Antonio Gramsci. Su iniziativa della Fondazione Istituto Gramsci qualche anno fa si formò un gruppo di ricercatori per affrontare, con tecniche matematiche e quantitative, il problema di riconoscere scritti di Gramsci all’interno di un corpus di articoli anonimi pubblicati tra il 1913 e il 1926 su quotidiani con i quali Gramsci collaborava (Il Grido del Popolo , Avanti!, La Città Futura e altri) per offrire agli studiosi altro materiale (presumibilmente) gramsciano. Partendo da un corpus di testi certamente scritti da Gramsci è stato così sviluppato un metodo legato alle frequenze di sequenze di caratteri e alla teoria degli algoritmi di compressione che ha permesso di definire una serie di strumenti di calcolo in grado di misurare e quantificare la similarità di stile esistente tra i testi. Questo metodo, insieme a una serie di test controllati, ha portato alla creazione di un algoritmo per la misurazione della “gramscianità” di un testo di notevole efficacia, che è stato poi applicato all’analisi di centinaia di articoli anonimi e che ha permesso di svelare un numero cospicuo di articoli riconosciuti come gramsciani e offerti all’analisi degli studiosi. È ancora ben lontano dall’essere un metodo universale, però ha permesso anche di affrontare una lunga disputa su scritti contesi tra due padri fondatori della cristianità del IV secolo, Gregorio di Nissa e suo fratello San Basilio Magno.

Approfondimenti
Quanti bit fanno una lettera?

L’unita di misura dell’informazione è il bit; la misura dell’informazione quando si sceglie tra due elementi alternativi: on/off, aperto/chiuso, giusto/sbagliato, vero/falso, 0/1 (che sono i due simboli matematici del sistema binario). Con un bit possiamo esprimere due diverse affermazioni; con due bit, possiamo “esprimere” quattro lettere (nel sistema binario: 00, 01, 10, 11); con tre bit possiamo descrivere otto lettere, e cosi via. Il contenuto informativo rappresentato da otto bit e detto byte; con un byte è possibile rappresentare 28 =256 lettere differenti e con 256 possibilità tutto l’intero alfabeto di un linguaggio occidentale può essere codificato; infatti le lettere (incluse le maiuscole, le lettere accentate, i numeri e i simboli) sono sempre meno di 256. È possibile immaginare le codifiche più strane, ad esempio per la sequenza TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT (50 volte T), il contenuto di informazione è di 400 bits se codifichiamo il messaggio usando l’alfabeto latino (50 lettere per 8 bit  per ogni lettera), mentre è solo di pochi bit se la codifichiamo con un linguaggio di programmazione che dice “scrivi T 50 volte”. La domanda è quindi: qual è il vero contenuto informativo della sequenza?

Le biblioteche digitali

Siamo sommersi da un diluvio digitale: ogni giorno milioni di persone scrivono email, chattano, taggano, bloggano, producendo un’enorme quantità di dati digitali, spesso sotto forma di informazione testuale. Informazione che narra storie, esprime opinioni, riporta dati, scatena accesi dibattiti, ecc. D’altra parte, esiste un enorme patrimonio digitale di testi classici e letterari, disponibili ed accessibili a tutti. Per esempio Progetto Gutenberg: un progetto iniziato nel lontano 1971 con l’obiettivo di creare un’enorme biblioteca digitale, liberamente accessibile. Attualmente raccoglie migliaia e migliaia di testi scritti, non solo in inglese, e rappresenta uno dei patrimoni digitali sulla letteratura (contemporanea e non) più importanti. Liber Liber è un progetto di biblioteca digitale interamente italiano, avviato nel 1994. Attualmente contiene diverse migliaia di testi, prevalentemente classici della letteratura italiana ma anche – con l’autorizzazione dei detentori dei diritti – alcune opere contemporanee. Thesaurus Linguae Graecae è il più importante corpus digitale di testi greci antichi. Progetto iniziato nel 1972 dalla Università californiana di Irvine. Infine, Perseus Digital Library è una libreria digitale: iniziata nel 1985, contiene un importante patrimonio di testi in greco ed in latino ed è dotata di numerosi strumenti per la navigazione e l’esplorazione dei documenti.

L’algoritmo che racconta i cambiamenti

Giorno dopo giorno si diffondono sofisticati strumenti per l’analisi dei testi digitalizzati e per lo studio dell’evoluzione dei linguaggi. Primo fra tutti il recente Google Ngram Viewer: un simpatico strumento grafico che permette di seguire l’evoluzione nel tempo dell’uso di parole, combinazioni di parole o intere frasi (ngrams). In continua crescita, con un database iniziale di 5,2 milioni di libri digitali (prevalentemente in lingua inglese), originariamente pubblicati tra il 1500 e oggi, Google Ngram Viewer permette di riportare su dei grafici la frequenza di uso di una o più parole date, e di svelare così sia fenomeni di evoluzione del linguaggio sia fenomeni legati al diverso uso delle parole, anche in relazione a eventi sociali o storici. Immagino possa essere un interessante strumento per curiosi esperimenti anche in una classe.

Video-lezioni di linguistica computazionale

Guarda due brevi lezioni del professor Giacomo Ferrari sulla linguistica computazionale: