Linguistica computazionale (parte 1)
Lenci e Dell’Orletta
- 2 prove scritte (in itinere o agli appelli) + progetto
- Esercitazioni in laboratorio – Python (NLTK)
- Moodle per slides, annunci ecc.
- CoLing Lab
ILC-CNR – Istituto di Linguistica computazionale Zampolli (primo docente di Linguistica matematica computazionale)
AILC – associazione italiana di linguistica computazionale – Torino, 10-12 dicembre
ACL – association for computational linguistics – Firenze, 28 luglio – 2 agosto 2019
Fake news e sentiment analysis
Fake news: c’è possibilità di riconoscerle automaticamente? Sì, si cercano tracce linguistiche come l’enfasi attraverso un’analisi statistica. Difficoltà c’è nel momento in cui il testo è simile a quello delle notizie reali: è necessaria un’analisi del testo più sofisticata.
Sentiment analysis/opinion mining
Primo investitore in Usa per l. comp = agenzia della difesa
Lion Bridge (correttore automatico Word)
Padre Busa
Prima applicazione del computer in assoluto è stata linguistica (Macchina di Turing, operazione di traduzione automatica)
Obiettivi della linguistica computazionale
Due obiettivi della l. computazionale: (1) applicare la matematica e l’informatica allo studio del linguaggio e ai testi; (2) dotare i computer della capacità di usare il linguaggio come noi.
Linguaggio studiato con metodi quantitativi e computazionali, mentre tradizionalmente il linguaggio è concepito come oggetto da analizzare in modo qualitativo. E’ necessario comprendere prima come funziona l’uso umano del linguaggio naturale (1), poi applicarlo alle macchine (2).
Siamo circondati da dati linguistici: big linguistic data: ca. 70% dei dati disponibili sono testuali.
Sono dati non strutturati.
Valenza industriale e umanistica: digital humanities.
Analisi testuale (corpora): fonte di grande importanza per comprendere le strutture linguistiche.
Una cosa è estrarre dei dati, una cosa è elaborare dei modelli teorici che descrivono il comportamento del linguaggio.
NB il computer non conosce il linguaggio naturale, ovvero non ha alcuna conoscenza riguardo alla sua struttura: forme superficiali vs lessemi (NAVIGARE vs navigai, navigato, naviga…); ambiguità morfosintattiche (stato nome vs stato part. passato v. essere vs stato part. passato v. stare); ambiguità semantiche (navigare su mare vs navigare su internet).
Far realizzare questi task così apparentemente semplici e banali a una macchina è molto complicato.
NLP – natural language processing 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 dei testi, interazione con esseri umani in maniera naturale (chat bot), estrazione di informazioni da testi o da altri media, captioning (classificare testi usando immagini o immagini usando testi)).
Computational Humor
Computer dovrebbe possedere diverse competenze linguistiche: fonetica articolatoria e acustica, fonologia, prosodia, lessico, morfologia, sintassi, semantica, pragmatica.
Traduzione automatica e deep learning
Traduzione automatica si basa su distribuzioni statistiche, Google Translator non capisce nulla del testo che deve tradurre. Ciò che manca è una conoscenza semantica del mondo. Traduzione letterale, strutture idiomatiche/idiosincratiche sono poco riconoscibili dal computer. Frasi marcate sono tradotte male.
Noi dobbiamo essere dei buoni fornitori di dati per addestrare gli algoritmi.
Watson: sistema di question-answering dell’IBM (2011), basato su enorme quantità di info scaricata dal web. Ora Watson fa parte della ricerca di assistenza medica per l’elaborazione di diagnosi. Migliori sistemi di NLP sono quelli verticalizzati su un certo ambito (linguaggio medico, linguaggio legale…).
Deep learning: particolare algoritmo di apprendimento automatico, non coincide con l’intelligenza artificiale/machine learning. Si basa su reti neurali artificiali (connessionismo). Ciò che aiuta lo sviluppo del deep learning è l’enorme quantità di dati: “non abbiamo algoritmi migliori, abbiamo solo più dati a disposizione” (Peter Norvig).
Ingegneria del linguaggio
Dati linguistici
Dati linguistici formano l’evidenza empirica per lo sviluppo di modelli e teorie linguistiche (come funziona il linguaggio, come è organizzato, come viene usato, come viene appreso).
Linguista computazionale raccoglie dati linguistici E usa metodi formali e strumenti informatici per analizzare i dati raccolti e ricostruire l’organizzazione e struttura del linguaggio.
Fonti dei dati
- Intuizioni linguistiche dei parlanti (giudizi di grammaticalità, giudizi semantici…) – dati linguistici controllati, raccolti in contesti sperimentali idealizzati, si fa astrazione da determinati fattori di contesto; non si tratta di giudizi metalinguistici (uomo è sostantivo e non verbo vs uomo è una parola della lingua italiana), non servono competenze in ambito linguistico.
- Testi prodotti dai parlanti: testo = qualsiasi prodotto dell’attività linguistica dei parlanti elaborato o trascritto come sequenza di caratteri (grafemi) – dati linguistici ecologici, osservazioni naturali degli usi linguistici in contesti e situazioni reali. Dati linguistici sono presentati in tutto il loro rumore (errori grammaticali, abbreviazioni, costruzioni sintattiche alterate…). Sono dati “sporchi”.
Questi due aspetti sono i poli opposti di una dialettica presente in ogni disciplina scientifica.
Dati l controllati sono fonte primaria per la linguistica formale razionalista di derivazione chomskiana e per la psicolinguistica; obiettivo dell’indagine linguistica è ricostruire le conoscenze interiorizzate che un parlante ideale ha della lingua (competenza vs esecuzione, Langue vs parole), che prescindono dai fenomeni tipici dell’uso linguistico quotidiano.
Esperimenti linguistici in vitro: spesso eccessivo grado di idealizzazione e astrazione rispetto all’uso effettivo del linguaggio ed è necessario raccogliere una grande quantità di giudizi per avere dati affidabili.
Crowdsourcing per raccogliere grandi quantità di giudizi linguistici dall’”uomo della strada” attraverso piattaforme sul web (Amazon Mechanical Turk, Figure Eight, Prolific…) MA raccogliere dati da giudizi linguistici è molto costoso.
Similarità semantica tra parole: utile per motori di ricerca.
Dati controllati sono stati anche fonte per la linguistica computazionale e intelligenza artificiale di prima generazione > sistemi in grado di operare in ambienti circoscritti (toy models).
I sistemi computazionali erano scarsamente adattabili e robusti: avevano difficoltà a gestire testi reali che contengono rumore (noi esseri umani abbiamo una competenza linguistica robusta, riusciamo a comprendere una parola anche in un ambiente rumoroso o a comprendere abbreviazioni per es.) >> salto: si è visto come molti aspetti messi da parte dalla tradizione chomskiana dovessero essere rivalutati perché riguardano il linguaggio nel suo uso quotidiano e nella sua concretezza comunicativa: uso di corpora (s. corpus) e di dati l ecologici – approccio empirista della corpus linguistics (GB), uso di metodi statistici per l’analisi del linguaggio.
Corpora
Corpus = collezione di testi selezionati con qualche criterio funzionale allo svolgimento di determinate analisi linguistiche o usi in ambito computazionale; fonte di dati linguistici ecologici, estrapolati dal loro habitat naturale.
Corpora rappresentano la fonte primaria di dati utilizzati in linguistica computaz: corpora (creazione di corpora annotati - annotazione = processo di arricchimento dei corpora con informazioni linguistiche che esplicitano la natura morfologica, semantica… dei testi contenuti nei corpora) strumenti e applicazioni di NLP (sviluppo e valutazione di modelli e applicazioni soprattutto utilizzando algoritmi di machine learning).
Uso quantitativo vs qualitativo dei corpora.
Frase topicalizzata: il cinema adora Anna.
Parsing: analisi sintattica di una frase da parte di un computer.
Ad un certo punto tradizione empirista della corpus linguistics ha influenzato la tradizione deduttiva-razionalista degli studi informatici in intelligenza artificiale di prima generazione: nasce l’empirical NLP basato su analisi statistiche (anni ’90) – contemporaneo a sviluppo di internet e possibilità di avere sempre più dati, aumento delle capacità computazionali dell’hardware a disposizione.
Deep learning (uso di reti neurali): sempre di matrice statistica.
Anche in ambito di scienze cognitive si sta avendo l’intuizione che il nostro cervello sia un grande motore statistico in grado di filtrare il rumore e cogliere l’essenziale.
Ogni corpus è per sua def. il risultato di un’opera di selezione; i criteri che guidano questa scelta determinano la natura stessa del corpus e condizionano lo spettro dei suoi usi possibili: un corpus è stato creato da qualcuno, per qualche fine, in base a specifici criteri.
Tipi di corpora
Esistono diversi tipi di corpora in base a:
- Generalità
Corpus specialistico (descrive una particolare varietà del linguaggio (sublanguage) o un ristretto dominio applicativo) vs corpus generale o di riferimento (reference corpus, plurifunzionale, trasversale rispetto alle diverse varietà di L). - Modalità
Corpus di scritto vs parlato (trascritto) vs misto vs audio vs multimediale. - Cronologia
C sincronico vs diacronico. - Lingua
C monolingue vs bi-plurilingue, a sua volta divisibile in corpora paralleli (e spesso allineati) vs comparabili.
Corpora paralleli comprendono testi sia nella loro lingua originaria (L1) sia in traduzione in un’altra lingua (L2); se le unità linguistiche dei testi L1 sono esplicitamente collegate alle unità linguistiche nei testi L2 che ne costituiscono le traduzioni, allora si parla di corpora paralleli allineati (unità tipica di allineamento = frase). Utili per sviluppare sistemi di traduzione automatica.
Corpus comparabile non contiene testi in traduzione, ma testi originali in lingue diverse; i corpora sono comparabili nella misura in cui i criteri di selezione dei testi sono gli stessi nelle varie lingue; permettono di confrontare due o più lingue rispetto allo stesso genere testuale o dominio tematico; dati l raccolti possiedono maggior grado di naturalezza poiché si evitano le artificiosità che talvolta conseguono dall’opera di traduzione.
- Integrità
Testi interi vs porzioni di testi di lunghezza prefissata.
Ampiezza e varietà di un corpus deve essere funzionale alla porzione di paesaggio linguistico che voglio identificare.
Corpora codificati: testi digitalizzati sono arricchiti con etichette (codici) che ne rendono espliciti vari tipi di informazione (struttura testuale, composizione…).
Particolare tipo di codifica = annotazione. Corpora annotati: le informazioni codificate sul testo riguardano la struttura linguistica del testo a livelli diversi di rappresentazione (morfologica, sintattica, semantica…).
Dimensione del corpus si conta in numero di parole (token = specifica istanza o occorrenza di una parola) che ricorrono. Regola generale: the larger, the better, anche se si continua a lavorare anche con corpora di dimensione media.
Corpora enormi ovviamente possono essere costruiti automaticamente, quelli più piccoli anche manualmente.
Dimensione attuale di un corpus (di ultima generazione): 3/4 miliardi di token. Questa enorme quantità di dati ha un costo da un punto di vista del tempo di calcolo e di storage.
Esempi di corpora
Primo corpus: Brown Corpus (1961), pensato come corpus generale dell’inglese americano, un milione di parole, sincronico, monolingue. Contiene semplicemente il testo come seq di caratteri.
Seconda generazione: British National Corpus (1991-94), 100 milioni di parole, generale (dedicato al British English), monolingue, sincronico, misto (sia testi scritti che testi parlati trascritti in scarsa parte – è molto complicato trascrivere il parlato), codificato e annotato.
Corpus de La Repubblica: corpus specialistico (giornalistico) come tipologia testuale, ma generale come dominio tematico, scritto, monolingue, annotato (lemmatizzato e annotato a livello morfosintattico) in modo automatico, ca. 326 milioni di parole.
Essendo annotato in modo automatico sicuramente ci sono degli errori (margine di errore dei morpho-syntactic parsers del 1-2% nei casi migliori).
Corpora di parlato: map task corpus (1992), 18 h, 128 dialoghi semi-spontanei task-oriented trascritti e comprensivi di segnale acustico; Archivio di varietà di italiano parlato (2001), 44 dialoghi semi-spontanei task-oriented trascritti.
Corpora paralleli: European Parliament Proceedings Parallel Corpus (1996-2001), estratti dagli atti del parlamento europeo, finalizzato alla traduzione automatica statistica, allineato, usa l’inglese come lingua pivot (ponte tra le varie lingue).
Corpus specialistico: CHILDES, meta-corpus finalizzato allo studio dell’apprendimento linguistico. Deb Roy, human speechome project, 10 ore al giorno di registrazione continua audio-video (corpus multimodale) di un bambino dalla nascita ai 3 anni.
Corpora diacronici: MIDIA, Voci della grande guerra – problema della digitalizzazione.
Sketch Engine: raccolta corpora.
Rappresentatività dei corpora
Dal punto di vista statistico un Corpus può essere considerato come un campione di un linguaggio (frasi di un linguaggio = popolazione infinita): porzione finita di un linguaggio da cui cerchiamo di ricostruire le proprietà dell’intero sistema (statistica induttiva - inferenziale).
MA per fare inferenza dal campione all’intera variabilità linguistica ho bisogno che il mio campione (corpus) sia rappresentativo di tale variabilità: concetto di rappresentatività (representativeness): per essere rappresentativo di una lingua o varietà un corpus dovrebbe tenere traccia di tutto l’ambito di variabilità della popolazione linguistica di riferimento: the appropriate design for a corpus therefore depends upon what is meant to represent > costruzione di un modello in scala della popolazione di riferimento (mantenere le giuste proporzioni) MA questo non accade mai.
Corpora specialistici sono solitamente più bilanciati (balanced corpora) dei corpora generali, complessità dell’operazione di selezione è direttamente proporzionale alla generalità della lingua che il corpus deve rappresentare.
Standard de facto per i criteri di bilanciamento: British National Corpus.
Lingua scritta: dominio (scienze, arte, pensiero, economia…), medium (libri, giornali, lettere, diari…).
Lingua parlata: selezione demografica, selezione contestualizzata (conferenze, discorsi politici…).
Operazione di selezione dei testi da inserire nel corpus al fine di renderlo ben bilanciato e rappresentativo è fondamentale.
COLFIS, 3.800.000 parole dell’italiano scritto bilanciato in modo da essere rappresentativo dell’italiano effettivamente letto dai parlanti; bilanciamento effettuato sulla base delle statistiche ISTAT delle abitudini di lettura degli italiani.
Tuttavia i corpus bilanciati NON funzionano: “any natural corpus will be skewed” – qualsiasi corpus è destinato ad essere sbilanciato (Chomsky).
Nonostante lo sforzo di bilanciamento i corpora sono sempre frammenti parziali e incompleti del linguaggio e la distribuzione dei tratti linguistici è sempre sproporzionata, in quanto condizionata da vincoli d’uso (possono mancare costruzioni importanti anche se rare e altre costruzioni possono essere presenti in eccesso). I nostri per modelli ciò che non viene osservato in un corpus è come se non esistesse nella lingua; purtroppo la probabilità di lasciare fuori fenomeni rari da un corpus nonostante siano possibili è molto alta.
“Outside very narrow, specialized domains, we do not know with any precision what existing corpora might be representative of” (Kilgarriff e Grefenstette 2003).
QUINDI knowing that your corpus is unbalanced is what counts (Atkins).
Un corpus ha dei vincoli temporali, economici, dimensionali, non bisogna affidarsi ciecamente ad esso.
Nozione di rappresentatività e nozione di corpus bilanciato.
Da
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.