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 neeeewss: 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)
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 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 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
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
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/4miliardi di token questa enorme quantità di dati ha un costo
da un punto di vista del tempo di calcolo e di storage
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
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 RAPPRESENTATIVITA’
(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.