Sunti di linguistica computazionale
Introduzione
Il linguaggio umano è lo strumento primario più immediato e duttile di cui disponiamo per comunicare contenuti complessi sempre nuovi. Il computer si è imposto come la macchina intelligente per eccellenza, capace di memorizzare ed elaborare dati strutturati e renderli disponibili come informazioni. Tuttavia, le sue capacità comunicative sono rimaste rudimentali, affidate a linguaggi artificiali ad hoc. La linguistica computazionale si propone di sviluppare modelli computazionali della lingua, che possano essere tradotti in programmi eseguibili dalla macchina, che consentano a quest’ultima di comunicare direttamente nella nostra lingua; allo stesso tempo, si occupa anche dell’applicazione della matematica e dell’informatica allo studio del linguaggio umano e dei testi.
Allo stato attuale, questo obiettivo può essere perseguito a più livelli di astrazione: riconoscitore vocale, trascrizione ortografica, analisi del contenuto, ecc. Ciascuno di questi compiti richiede l’acquisizione di competenze specifiche da tradurre in tecnologie linguistiche accessibili al computer. La capacità di comunicare con l’ambiente esterno in modo intelligente passa attraverso l’integrazione di queste tecnologie in sistemi funzionalmente complessi, che interpretino l’informazione in ingresso e rispondano con altra informazione pertinente.
Il Natural Language Processing (NLP) o Trattamento Automatico del Linguaggio (TAL) cerca di dotare il computer di conoscenze linguistiche allo scopo di progettare programmi e sistemi informatici che assistano l’uomo in “compiti linguistici” (traduzione, gestione testi, interazioni con esseri umani, estrazione automatica di informazioni, ecc.). Viviamo in quella che è definita la società della conoscenza, dove chiunque si trova nella necessità quotidiana di recuperare, selezionare e gestire grandi quantità di informazioni dal web: la LC promette di espandere la capacità del computer di comprendere la struttura e il contenuto dei nostri testi, per far sì che le informazioni siano a tutti più facilmente accessibili e le parti rilevanti siano distinte da quelle inutili.
La prospettiva parallela è quella secondo cui il mondo computazionale può contribuire nell’indagine linguistica, definendo modelli che spieghino proprietà e problemi linguistici interessanti, attraverso l’ausilio del computer. Queste due direzioni del rapporto fra linguaggio e computer sono in continua osmosi: programmi applicativi sono stati sviluppati grazie a una più profonda comprensione del linguaggio, metodi informatici nati per scopi autonomi si sono rivelati utili per innovare le metodologie di rappresentazione e le analisi linguistiche.
Negli anni ’50 si hanno le prime applicazioni del calcolatore allo studio di testi filosofici e letterari, con il lavoro di padre Roberto Busa a Pisa. Nel 1957 nasce la Grammatica Generativa di Noam Chomsky, con la quale si ha l’applicazione di metodi formali all’analisi del linguaggio; questo tipo di analisi è profondamente intrecciato con le ricerche nel settore dell’Intelligenza Artificiale, e all’interno di questa tradizione si sviluppa il NLP. Nei primi decenni, questo è stato fortemente influenzato dalla metodologia razionalista e simbolica dell’epoca, per cui il modello più influente della conoscenza umana era quello di un sistema di regole per la manipolazione di strutture di simboli.
Parallelamente, a metà degli anni ’60, si è sviluppata una tradizione di ricerca linguistica di derivazione empirista, che fonda l’indagine sulla raccolta e l’analisi di corpora, ovvero raccolte di grandi quantità di testi appartenenti a una certa varietà del linguaggio, con strumenti di analisi quantitativa e statistica. La LC di ispirazione razionalista e quella empirista hanno proceduto in maniera parallela per molti anni, ma dalla seconda metà degli anni ’80 si ha un netto prevalere di un approccio neoempirista al NLP; questo cambiamento si è concretizzato nella diffusione di metodi statistico-quantitativi e nella rinnovata centralità dei dati testuali come base essenziale per l’esplorazione del linguaggio.
Parte 1 – Il dato e la sua rappresentazione
I dati della lingua
Per “dati linguistici” si intende i prodotti del linguaggio che sono oggetto di un processo di analisi (in questo caso computazionale) e che formano l’evidenza empirica per lo sviluppo di modelli e teorie linguistiche. Un linguista computazionale deve innanzitutto saper selezionare e raccogliere dati linguistici appropriati, per poi analizzarli secondo metodi formali (matematici, logici, statistici, ecc.) e tramite strumenti informatici, così da ricostruire l’organizzazione e la struttura del linguaggio. Uno dei problemi fondamentali in questo campo è l’individuazione delle corrette fonti da cui attingere i dati per le proprie analisi.
Esistono due tipi di fonti principali, che si distinguono per la naturalezza del contesto in cui sono raccolte:
- Le intuizioni linguistiche sono dette dati linguistici controllati, nel senso che sono raccolti in un contesto “sperimentale” ed in situazioni “idealizzate”; questo tipo di dati è la fonte primaria per la linguistica formale “razionalista” di derivazione chomskiana e per la psicolinguistica, il cui obiettivo è ricostruire le conoscenze che i parlanti hanno della lingua (competenza) indipendentemente dal modo in cui la usano (esecuzione). Questo tipo di dati presenta però dei limiti in quanto le intuizioni dei parlanti non sono sempre chiare, si ha un eccessivo grado di astrazione rispetto all’uso effettivo del linguaggio e inoltre si presentano difficoltà nel gestire testi reali che contengono un alto grado di rumore (errori di vario tipo, forme substandard, ecc.).
- I testi dei parlanti sono detti dati linguistici ecologici e rappresentano l’habitat naturale dei dati linguistici, che in questo caso conservano tutta la propria naturalezza; solitamente i testi vengono raccolti in un corpus, ovvero una collezione di testi organizzati in maniera tale da soddisfare specifici criteri che li rendono funzionali per le analisi linguistiche.
I corpora rappresentano fonti di dati linguistici ecologici raccolti nei loro habitat naturali, che possono riguardare lingua scritta (libri, giornali, riviste, pagine Web, ecc.) o lingua parlata trascritta (notiziari, conversazioni telefoniche, ecc.). I corpora testuali rappresentano la principale fonte di dati in linguistica computazionale. Per quanto la nozione di corpus preceda l’avvento del computer (la raccolta di testi era già la prassi comune nello studio del linguaggio), è con l’era informatica che viene rivoluzionata la natura, il ruolo e l’uso dei corpora: il computer permette di immagazzinare quantità di dati testuali prima inimmaginabili, ottimizzando la loro esplorazione e la ricerca di dati linguistici interessanti, per poi sviluppare modelli computazionali della lingua. Il ruolo del computer nell’uso dei corpora è così cruciale che ormai il termine di corpus è diventato sinonimo di corpus elettronico, ovvero corpus in formato digitale (machine-readable).
Fra i principali usi dei corpora ci si sofferma su quello applicativo, tipico del NLP e dell’ingegneria del linguaggio, utilizzato per progettare strumenti (“robusti” e ben adattati al linguaggio reale, dotati di conoscenze linguistiche ricavate da dati rappresentativi) e quello analitico utilizzato per fondare analisi linguistiche sull’effettiva distribuzione delle costruzioni all’interno del linguaggio.
Ogni corpus è il risultato di un’opera di selezione, basata su criteri che determinano la natura stessa del corpus e condizionano lo spettro dei suoi usi possibili; i parametri più rilevanti sono:
- La Generalità riguarda la misura in cui i suoi testi sono stati selezionati in maniera trasversale rispetto a varietà diverse di una lingua: si distinguono corpora specialistici (verticali) orientati alla descrizione di una particolare varietà del linguaggio o a un ristretto dominio applicativo (giornalistico, infantile, giuridico, ecc.) e corpora generali orientati alla rappresentazione di tutti gli aspetti di un linguaggio L, plurifunzionali.
- La Modalità riguarda il modo in cui i testi sono prodotti (scritto o orale): si distinguono corpus di scritto, corpus di parlato (trascrizioni), corpora misti (testi scritti e trascrizioni), speech database (campioni di linguaggio in forma di segnale acustico, più eventualmente la trascrizione) e corpora multimediali (testi scritti, video, parlato, ecc.).
- La Cronologia riguarda il modo in cui i testi sono selezionati rispetto all’asse temporale: si distinguono corpora sincronici che descrivono un particolare stadio del linguaggio, e corpora diacronici che descrivono il mutamento linguistico di una lingua in diverse finestre temporali.
- La Lingua riguarda il numero di lingue rappresentate in un corpus: si distinguono corpora monolingue che contengono testi in una sola lingua, mentre possono esistere corpora plurilingue di vario tipo (corpora paralleli in cui lo stesso testo è rappresentato in traduzione in più lingue, che possono essere allineati se ciascuna frase della lingua L1 è esplicitamente collegata al suo traducente nella lingua L2; o corpora comparabili in cui i testi non sono in traduzione, ma sono semplicemente appartenenti alle stesse tipologie).
- L’Integrità indica che un corpus può contenere testi interi, oppure porzioni di testi di lunghezza prefissata: da una parte la selezione di frammenti può incidere negativamente sulla naturalezza dei dati da estrarre, mentre dall’altra permette di aumentare il numero di testi rappresentati.
- La Codifica Digitale riguarda il modo in cui sono rappresentati i testi digitali: si distinguono corpora codificati, arricchiti con etichette che ne rendono espliciti vari tipi di informazione (struttura testuale, composizione, ecc.), e corpora annotati, le cui informazioni riguardano la struttura linguistica del testo a livelli diversi di rappresentazione (morfologia, sintassi, ecc.).
I corpora oggi sono sempre più generali e ospitano spesso proporzioni variabili di parlato trascritto. È crescente il numero di corpora audio e multilingui, come è crescente il numero di lingue per le quali esistono corpora. Si preferisce inserire in un corpus testi interi, per garantire la massima naturalezza dei dati. Tutti i testi sono riccamente codificati e sempre più annotati.
Il corpus come campione
Il linguaggio è un sistema potenzialmente illimitato, nel senso che è possibile comprendere e generare un numero potenzialmente infinito di frasi. In questo senso, un corpus è una porzione finita di un linguaggio, dalla quale cerchiamo di ricostruire le proprietà dell'intero sistema; il corpus è quindi un campione di un linguaggio. I testi di un corpus sono selezionati in modo da renderlo il più rappresentativo possibile. Da un lato si ha quindi la dimensione quantitativa del corpus, mentre dall'altro è importante considerare l'aspetto qualitativo: il corpus è una selezione di testi che sono giudicati significativi per esplorare una lingua.
Il termine "campione" è utilizzato nel senso statistico di sottoinsieme di unità di una popolazione (insieme di entità oggetto di studio), opportunamente selezionate come fonte di dati per formulare generalizzazioni corrette e affidabili sull'intera popolazione di riferimento. Una popolazione linguistica è quindi l'insieme di tutti i testi che appartengono a un linguaggio L o a una sua varietà, e che sono oggetto di studio.
Uno dei fattori più importanti che rendono un corpus efficace è la rappresentatività, la quale permette di generalizzare (induttivamente) le proprietà linguistiche del corpus all'intera popolazione. Perché un corpus sia rappresentativo è necessario che il campione sia il più simile possibile alla popolazione e che ne rappresenti un modello fedele in scala ridotta. Un corpus rappresentativo di una lingua, inoltre, deve tener traccia dell'intero ambito di variabilità dei suoi tratti e proprietà.
La linguistica dei corpora ha sottolineato l'importanza di adottare criteri di selezione dei testi che accrescano il più possibile la rappresentatività del campione. L'opera di selezione dipende dalla trasversalità o dalla generalità della lingua che il corpus deve rappresentare; il caso più semplice è costituito dai corpora verticali (specialistici): i corpora per lo studio della lingua di un autore, i corpora di domini linguistici settoriali (giuridico, medico, ecc.), i corpora di testi che appartengono a generi particolari (SMS, bollettini, notiziari, ecc.).
Un ordine di complessità maggiore è invece presentato dai corpora che vogliono essere rappresentativi di una lingua nel suo complesso. Questi sono detti corpora generali, ed includono testi che coprono le diverse varietà testuali e linguistiche della popolazione. Questa caratteristica li rende bilanciati, ovvero diversificati rispetto a un ampio spettro di tipi testuali. Questo tipo di corpora presuppone la creazione di una mappa che fornisca una descrizione accurata della popolazione linguistica, tracciando i suoi confini spaziali e temporali e stabilendo la tipologia di testi, ovvero l’articolazione in strati della popolazione. Il BNC è un esempio di corpora bilanciato, con divisione in lingua scritta e lingua parlata trascritta di testi non anteriori al 1975; un’ulteriore stratificazione è basata sul dominio (scienze, arte, ecc.) e sul medium (libri, giornali, ecc.) per lo scritto, e su una selezione demografica e contestualizzata (conferenze, discorsi politici, ecc.) per il trascritto.
I limiti della rappresentatività
I corpora sono comunque frammenti parziali e incompleti del linguaggio, mentre la conoscenza umana del linguaggio stesso è intrinsecamente infinita. Secondo Chomsky, il modello offerto da un corpus è destinato a essere sistematicamente fuori scala e distorto, con squilibrio nella distribuzione dei tratti linguistici: il numero di volte con cui occorre una certa costruzione, o la sua eventuale assenza, sono legati alle contingenze dell’uso e della selezione di testi.
Nessun campione è perfettamente rappresentativo della sua popolazione, ma l’applicazione costante di rigorose metodologie statistiche dovrebbe garantire che il corpus sia il più possibile rappresentativo; il controllo degli aspetti qualitativi di un corpus è lo strumento fondamentale per migliorarne la rappresentatività. Ogni corpus è di fatto il risultato dell’applicazione di metodologie di campionamento rigorose miste a soluzioni pragmatiche (budget, limiti temporali o tecnologici, disponibilità di materiale, ecc.) La rappresentatività e la nozione di corpus bilanciato restano concetti limite, valori di riferimento ideali, in quanto definire i limiti di una lingua è arduo.
Da questo punto di vista, la consapevolezza dei limiti e il controllo dei criteri qualitativi possono agire in favore dell’analisi: l’imperativo per il linguista computazionale deve essere “Conosci il tuo corpus!”, ovvero sii consapevole che esso è frutto di una selezione effettuata sulla base di particolari criteri e vincoli.
Il Web come corpus
Il web è la più grande collezione di testi esistente, ed è dinamica poiché si auto-espande continuamente: di 6 terabytes di testo presente sul web nel 1999, ad oggi si contano decine di miliardi di pagine indicizzate. Il web è inoltre una risorsa multilingue, in quanto la presenza di lingue diverse dall’inglese è in continua crescita. Per prima cosa il web è estremamente importante come risorsa di materiali testuali per costruire corpora, poiché i testi disponibili appartengono a un ampio spettro di generi, domini, ecc.
Il web in sé non rientra nella definizione più restrittiva di corpus, in quanto non è un campione rappresentativo (se non di se stesso). I motori di ricerca commerciali possono essere usati per ottenere dati quantitativi sull’uso delle espressioni linguistiche: si seleziona una parola come query e si usano gli “hits” (numero di documenti recuperati) per stimare quante volte la parola ricorre; cercando su Google la stringa “daccordo” otteniamo in risposta circa 48.000 pagine che la contengono, a fronte di più di 330.000 pagine che il motore restituisce se cerchiamo “d’accordo”.
Chiaramente, uno dei problemi da affrontare è la presenza di “rumore”, ovvero di informazione non rilevante, che l’utilizzo del web comporta. L’uso dei motori di ricerca deve essere fatto con cautela: i risultati dipendono dalle specifiche caratteristiche dei motori di ricerca (algoritmi di indicizzazione e recupero della pagine), sono spesso non replicabili (motori diversi danno risultati diversi), si ha la presenza di documenti duplicati (headers, ecc.), e i risultati sono in termini di pagine web, e non dell’effettiva frequenza dell’espressione linguistica.
Il testo e la sua codifica digitale
I computer memorizzano ed elaborano dati sotto forma di sequenze di due soli simboli 0 e 1 (bit), aggregati in sequenze di 8 cifre (byte). Tutti i testi devono avere una rappresentazione binaria per essere elaborati o trasmessi da un programma, sotto forma di Machine Readable Form (MRF); ciascun carattere alfanumerico deve essere rappresentato nei termini di un codice binario. Esistono due livelli di codifica: una codifica di livello 0, che riguarda la rappresentazione binaria della sequenza ordinata dei caratteri del testo, e una codifica di alto livello, che arricchisce la rappresentazione con informazioni strutturali e linguistiche.
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.
-
Riassunto esame Linguistica, prof. Tamburini, libro consigliato Testo e computer, Lenci, Montemagni, capitoli 1-2, …
-
Riassunto esame Scienza delle costruzioni, Prof. Clementi Francesco, libro consigliato Lezioni di meccanica struttu…
-
Riassunto esame Meccanica dei solidi, Prof. Pesavento Francesco, libro consigliato Meccanica delle strutture, Lenci
-
Linguistica Computazionale appunti lezione prof Alessandro Lenci e Felice Dell'Orletta