LINGUISTICA COMPUTAZIONALE 1 Cristina Bosco Informatica applicata alla
LINGUISTICA COMPUTAZIONALE (1) Cristina Bosco Informatica applicata alla comunicazione multimediale 2016 -2017
Di cosa parleremo - definizione di Linguistica Computazionale (LC) - origini della LC - il problema centrale della LC - alcuni problemi di fondo: - la grammatica universale - competence e performance - approcci a regole e basati su corpora - LC e livelli di astrazione
Definizione di LC Con Trattamento Automatico del Linguaggio Naturale (TAL) o il suo equivalente inglese Natural Language Processing (NLP) o Linguistica Computazionale (LC) si indica quella parte dell’Intelligenza Artificiale che si occupa specificamente del linguaggio umano distinguendolo, grazie al termine NATURALE, dai linguaggi di programmazione o della logica
Definizione di LC • L'espressione Artificial Intelligence (AI) fu coniata nel 1956 dal matematico americano John Mc. Carthy, durante uno storico seminario interdisciplinare svoltosi nel New Hampshire • Secondo le parole di Marvin Minsky, uno dei "pionieri" della AI, lo scopo di questa nuova disciplina sarebbe stato quello di "far fare alle macchine delle cose che richiederebbero l'intelligenza se fossero fatte dagli uomini"
Definizione di LC Lo scopo della LC è la simulazione del comportamento linguistico degli esseri umani. Se questo scopo fosse raggiunto in modo completo, si avrebbero dei computer in grado di dialogare, comprendendo il significato di domande e fornendo risposte, di tradurre un testo in una lingua differente, di estrarre informazioni da testi, di produrre testi nuovi.
Origini di LC Il problema di simulare il comportamento linguistico è stato centrale fin dalle origini per l’intelligenza artificiale, perché esso è la più evidente e tangibile espressione dell’intelligenza umana.
Origini di LC Il problema viene posto esplicitamente in un articolo del 1950 di Alan Turing (Computing machinery and intelligence) che anticipa la nascita dell’AI: “I propose to consider the question, “Can machines think? … the problem can be described in terms of a game which we call imitation game. . . ”
Origini di LC Imitation game: A – uomo B – donna C – interrogatore che deve scoprire chi è l’uomo e chi la donna ponendo domande C si trova in una stanza diversa da A e B e interagisce con loro in forma scritta, cioè tramite un dispositivo che impedisce a C di identificare A e B tramite la voce o l’aspetto fisico
Origini di LC Nel gioco l’intelligenza viene rilevata prescindendo totalmente dalle caratteristiche fisiche degli esseri umani e a partire dalle capacità linguistiche della macchina. Quindi le condizioni sono adatte a sostituire uno degli umani con una macchina. “What will happen if a machine takes the place of A in this game? . . . “
Origini di LC “May not machines carry out something which ought to be described as thinking but which is very different from what a man does? This objection is a very strong one, but at least we can say that if, nevertheless, a machine can be constructed to play the imitation game satisfactorily, we need not to be troubled by this objection. ” Se una macchina pensa, forse lo fa in modo diverso da un essere umano. . . AI debole o forte?
Origini di LC Uno dei primi problemi che si è cercato di trattare con il computer è quello della traduzione automatica da una lingua ad un’altra, Machine Translation (MT). Ma a causa delle difficoltà emerse nello sviluppo dei sistemi di MT, ci si è rivolti ad approfondire i problemi del linguaggio naturale anche in modo indipendente dalla MT, dando origine alla LC.
Origini di LC Riassumendo: - l’obiettivo della AI è simulare il comportamento umano intelligente - l’obiettivo della LC è simulare il comportamento linguistico - la simulazione prescinde da correlati fisici - la simulazione può avvenire in termini di input/output o anche di processi interni
Il Problema centrale della LC La costruzione di un qualunque sistema che simula un comportamento richiede una conoscenza completa ed approfondita di quel comportamento. Nonostante secoli di scienza linguistica e di pratica traduttiva, la costruzione dei sistemi di MT ha mostrato quanto limitata fosse la nostra conoscenza e consapevolezza del linguaggio umano. E che il saper fare (=competenza) tipico degli esseri umani non è sinonimo di conoscenza.
Il Problema centrale della LC I principali scopi della LC sono quindi: -CONOSCENZA la scoperta dei che regolano il nostro delmeccanismi LINGUAGGIO linguaggio ed il nostro comportamento linguistico -MODELLAZIONE la costruzione del di teorie che mettano insieme LINGUAGGIO queste scoperte, cioè trovare nei dati linguistici e nel comportamento linguistico il/i livello/i di astrazione adatto/i a trovare delle regolarità che siano formalizzabili -SVILUPPO la costruzione di sistemi che simulino il di SISTEMI comportamento linguistico umano (o qualche sua parte) usando i modelli stessi, per testare le teorie e per sviluppare applicazioni
Brevissima storia di NLP e MT - Anni ’ 30: si costruiscono le 2 prime macchine di MT - 1949: memorandum “On Translation” - Anni ‘ 50 -’ 60: si sviluppano i primi sistemi di MT - Anni ‘ 60: la MT riceve molte critiche - 1966: viene stilato il rapporto ALPAC - Dopo il 1966: nascono NLP e CAT - Fine ‘ 900: si ricomincia a lavorare a MT
Alcuni problemi di fondo L’approfondimento dello studio del linguaggio ha portato i ricercatori a scoprire una grande varietà di problemi ad esso sottostanti, ad esempio: - ambiguità nel linguaggio naturale - variabilità e costante evoluzione del linguaggio naturale - differenze tra lingue e generi testuali Questi problemi hanno un forte impatto sui sistemi di NLP e possono richiedere algoritmi e strutture dati in tutto o in parte diverse tra loro.
Alcuni problemi di fondo. 1 Ci sono almeno due domande fondamentali a cui occorre rispondere per decidere come affrontare lo studio del linguaggio umano: - Il linguaggio è quello che sta nella nostra testa e nelle grammatiche o quello che usiamo per comunicare? perché non sono affatto la stessa cosa - in che considerazione dobbiamo tenere le somiglianze/differenze tra le lingue naturali? le lingue hanno molto o poco in comune?
Competence o performance? • In Aspects of the Theory of Syntax (1965) Noham Chomsky introduce la distinzione tra competence e performance: • la competence è la capacità linguistica idealizzata, collocata tra le proprietà mentali e psicologiche umane • la performance è l’uso del linguaggio nella produzione di frasi nell’ambito del processo di comunicazione quotidiano
Competence o performance? • Nell’elaborazione della sua teoria linguistica Chomsky si focalizza sempre sulla competence ed esprime delle critiche nei confronti delle teorie che mettono al centro la performance. • A causa dell’importanza e della centralità delle teorie chomskiane nella LC, fin quasi alla fine del XX secolo nessun approccio di NLP si basa sui dati derivanti dalla performance.
Le critiche di Chomsky • Prima critica: D: Un corpus (insieme di dati linguistici prodotti dai parlanti) può adeguatamente rappresentare un linguaggio? R: NO, perché il numero di frasi di un linguaggio è infinito, mentre un corpus ne contiene comunque un numero finito, quindi non tutte, e distribuite in modo casuale.
Le critiche di Chomsky • Risposta alla Prima critica: Un corpus può adeguatamente rappresentare un linguaggio se contiene un campione statisticamente significativo di esso. Non occorre che contenga tutte le frasi di un linguaggio, ma una sua porzione abbastanza ampia da contenere esempi di tutte le strutture di tale linguaggio.
Le critiche di Chomsky • Seconda critica: D: Perché studiare il linguaggio tramite osservazione diretta invece che introspezione? R: Nella nostra mente (grazie alla competence) sono presenti tutte le strutture corrette del linguaggio, mentre lo stesso non può accadere in un corpus per quanto grande.
Le critiche di Chomsky • Risposta alla Seconda critica: Solo l’osservazione diretta ci può dare conto di come il linguaggio è realmente usato, del fatto che i parlanti riescono a comunicare tra loro nonostante errori e rumore.
razionalismo vs empirismo La posizione di Chomsky è razionalistica e fondata su dati artificiali e giudizi introspettivi che sono espressione della nostra conoscenza interiorizzata del linguaggio (competence). Al contrario l’approccio empiricista e fondato sull’osservazione di dati naturali che sono espressione empirica della conoscenza del linguaggio (performance). Da queste due posizioni teoriche dipendono i due approcci utilizzati in NLP: rule-based e corpusbased.
razionalismo vs empirismo I primi sistemi e molti di quelli sviluppati prima della fine del XX secolo preferivano approcci che privilegiavano la competence (rule-based), che si fondano su un insieme di regole fornito al sistema in forma strutturata. Oggi nella LC prevalgono invece gli approcci basati sulla performance (corpus-based), che ottengono le regole operando astrazioni da ampie raccolte di esempi e valutandone la frequenza.
Alcuni problemi di fondo. 2 Se fosse possibile ritrovare, al di là delle differenze, una condivisione di principi tra le diverse lingue ed una struttura basilare comune a tutti i linguaggi, allora si potrebbero trattare tutte le lingue con approcci e sistemi simili. Ma esistono principi comuni a tutte le lingue? Secondo la teoria della Grammatica Universale (GU) proposta da Noham Chomsky, questi principi esistono.
NLP: esiste una GU? La GU è una teoria linguistica secondo la quale i principi della grammatica sono condivisi da tutte le lingue, e sono innati in tutti gli esseri umani. Chomsky propose questa teoria per spiegare l’acquisizione del linguaggio in presenza di stimoli limitati (povertà dello stimolo): il bambino può imparare bene e in fretta la sua lingua madre perché ha già innata parte della conoscenza necessaria a usare il linguaggio.
NLP: esiste una GU? Chi parla fluentemente una lingua sa quali espressioni sono accettabili nella propria lingua e quali espressioni sono inaccettabili. L'enigma chiave è capire come chi parla riesce a comprendere le restrizioni del proprio linguaggio, dal momento che le espressioni che violano tali restrizioni non vengono percepite durante l'apprendimento, né vengono indicate come tali.
NLP: esiste una GU? Lo stimolo offerto a chi apprende non contiene prove che un'espressione appartenga alla classe di frasi grammaticalmente scorrette e le espressioni scorrette non vengono proposte a chi apprende la lingua. La GU conterrebbe le restrizioni su come è fatto il linguaggio che portano chi apprende a non poter generalizzare le regole in modo illecito.
NLP: esiste una GU? L'idea di regole universali è presente già nel pensiero di Fancesco Bacone e dei grammatici speculativi che postulavano regole universali alla base di tutte le grammatiche, e sta alla base di molte teorie filosofiche sul linguaggio elaborate nel XVII secolo.
NLP: esiste una GU? Secondo G. Sampson le teorie sulla GU non sono refutabili in quanto le generalizzazioni grammaticali alla base della GU sono speculazioni sulle lingue esistenti, e non valutazioni predittive sulle possibilità di una lingua. La povertà dello stimolo si spiega osservando che chi apprende un linguaggio può ipotizzare da solo le restrizioni grammaticali notando l'assenza di una certa classe di espressioni.
NLP: esiste una GU? Alcuni approcci alla MT presuppongono l’esistenza di una sorta di GU, ma si sono rivelati in pratica non realizzabili perché la GU non è facile da descrivere. Si è rivelato in generale molto difficile descrivere completamente una lingua tramite regole. MA dobbiamo considerare queste delle prove empiriche del fatto che non esiste una GU?
Alcuni problemi di fondo. Conclusione La soluzione per questi problemi non è certa e la storia della LC mostra che sono stati causa di differenti paradigmi. La distinzione competence/performance è alla base della distinzione rule-based/corpusbased. La credenza o rifiuto della GU è alla base degli approcci di MT basati su forme di interlingua.
LC e livelli di astrazione Il compito che NLP deve affrontare è quello di COMPRENDERE IL LINGUAGGIO NATURALE. Si tratta di un compito estremamente complesso, anche se non percepito come tale dagli esseri umani. La LC, per affrontarlo, tradizionalmente opera astrazioni in due modi: • suddividendo tale compito in sottocompiti più semplici • considerando separatamente aspetti diversi del linguaggio
LC e suddivisione in sottoproblemi Il compito di COMPRENDERE IL LINGUAGGIO NATURALE viene suddiviso in sottocompiti più semplici in cui occorre solo una parziale comprensione del linguaggio: - Information Extraction - Information Retrieval - Machine Translation - Sentiment Analysis e Opinion Mining - …
LC e livelli di astrazione Per COMPRENDERE IL LINGUAGGIO NATURALE se ne possono osservare separatamente aspetti diversi: - morfologia - sintassi - semantica - pragmatica
LC e livelli di astrazione Ad ogni livello di astrazione si risolvono diversi problemi ed in particolare: - trattamento delle ambiguità - rappresentazione adatta ai sistemi di NLP - acquisizione e utilizzo di conoscenza linguistica nei sistemi di NLP
Cosa significa comprendere il linguaggio naturale? Comprendere un linguaggio naturale significa essere in grado di associare UNA SOLA interpretazione ad ogni espressione di tale linguaggio. Dove con espressione si intende: parola, sintagma, frase …
Human Language Understanding • Si basa su una complessa conoscenza grammaticale e lessicale • È supportata da una almeno altrettanto ampia conoscenza del mondo • Insomma. . . comprendere l’informazione codificata nel linguaggio richiede una quantità di conoscenza e competenza
Livelli di struttura linguistica • fonetico: suoni del parlato, come vengono prodotti, come vengono percepiti • fonologico: la struttura grammaticale dei suoni e del sistema sonoro Ogni lingua ha delle convenzioni in base alle quali certi suoni e certe composizioni di lettere sono accettabili ed altri no: ca / tcha / ça taogt / gatto
Livelli di struttura linguistica Livello morfologico: come le sotto-unità delle parole si combinano per formare la parola * remangia vs mangiare silavare vs lavarsi RIGUARDA LA SINGOLA PAROLA PRESA IN ISOLAMENTO, quindi non dipende in alcun modo dal contesto (sintattico o semantico)
Livelli di struttura linguistica Livello sintattico: come le parole si combinano per formare la frase In italiano: * bianco Giorgio il vuole pane * Vuole bianco Giorgio pane il Giorgio vuole il pane bianco In toba batak: Manjaha buku guru i legge libro maestro il RIGUARDA LA FRASE, e dipende dall’ordine delle parole in essa, ma non solo
Livelli di struttura linguistica Livello semantico (lessicale e proposizionale): che cosa significa ogni parola e come i significati delle parole si combinano per formare il significato della frase * la macchia invisibile crede nel cielo * idee verdi senza colore sognano furiosamente
Livelli di struttura linguistica Livello pragmatico: in che modo i significati delle frasi sono utilizzati per manifestare gli scopi comunicativi degli esseri umani all’interno del contesto e della situazione di enunciazione - La casa è la prima che trovi svoltando a destra dopo il teatro - La prima notte di San Silvestro del nuovo millennio - Questo è bello
Livelli di struttura linguistica Ogni livello ha le sue peculiarità, comporta determinate conoscenze e rappresenta un modo diverso di vedere i dati linguistici. Ma tutti i livelli sono fondamentali per la comprensione del linguaggio, in cui I livelli sono organizzati gerarchicamente: si parte dai livelli più bassi per arrivare alla morfologia, alla sintassi, alla semantica e alla pragmatica.
Problemi Oltre alla molta conoscenza che la comprensione del linguaggio richiede, il principale problema del NLP è la pervasiva ambiguità del linguaggio a tutti i livelli di analisi. Noi vedremo in modo specifico i livelli morfologico e sintattico, che sono quelli maggiormente interessanti dal punto di vista della traduzione.
Cosa è l’ambiguità? Quando una frase contiene una ambiguità non è possibile darne una (SOLA) interpretazione. Questo è un grosso problema per un sistema di NLP.
Perchè ci interessa l’ambiguità? Gli esseri umani hanno una quantità di conoscenza grazie alla quale non percepiscono molte delle ambiguità che invece una macchina trova nel linguaggio.
Ambiguità morfologica Trans-categoriale: - “Tutti hanno un TELEFONINO e a chi TELEFONINO non si capisce” - PESCA nome (il frutto, lo sport) verbo (lo sport, l’estrazione, . . . ) aggettivo (il colore)
Ambiguità semantica lessicale brucia (bruciare, 3 a persona, ind. pres. , intr. ): - La carta brucia (“è un combustibile”) - La casa di Mario brucia (“ha preso fuoco”) - Il peperoncino brucia (“è piccante”) - La minestra brucia (“è troppo calda”) - La gola brucia (“causa dolore fisico”) - La condanna brucia (“causa dolore mentale”)
Ambiguità sintattica Può essere indipendente dall’ambiguità morfologica: “Giorgio vide un uomo nel parco con il telescopio” Può causare ambiguità semantica: “Giorgio vide un uomo con un telescopio” Può essere relativa alle relazioni grammaticali: “Chi uccise il poliziotto? ”
Ambiguità sintattica Può essere locale, nel senso che una parte della frase ammette diverse analisi, ma solo una di queste analisi è valida per la frase intera: “I soldati, avvertiti del pericolo. . . , condussero il raid di mezzanotte. ” “I soldati, avvertiti del pericolo. . . i cittadini, condussero il raid di mezzanotte. ”
Ambiguità sintattica Può essere globale ed anche irrisolvibile se la frase completa ammette più analisi tutte valide: “La vecchia porta la sbarra”
Ambiguità semantica Può essere determinata dall’ambiguità presente ad altri livelli, e può dipendere dai quantificatori: - Ogni uomo ama una donna = per ogni singolo uomo, esiste una singola donna che egli ama = esiste una sola singola donna che ognuno degli uomini (preso singolarmente) ama
Ambiguità e LC In sostanza l’organizzazione in categorie di conoscenza linguistica ci consente di vedere il trattamento del linguaggio come il lavoro di risolvere l’ambiguità ad ognuno dei livelli di astrazione separatamente. Anche una frase molto semplice può contenere un gran numero di ambiguità.
Ambiguità e LC I made her duck Io ho cucinato un’anitra per lei Io ho cucinato un’anitra che apparteneva a lei Io ho creato l’anitra (di qualche materiale) che lei possiede Io ho fatto si che lei abbassasse rapidamente la testa Io ho trasformato lei in un’anitra (con la mia bacchetta magica)
Ambiguità e LC I made her duck: nome e verbo her: pronome dativo o aggettivo possessivo make: creare e cucinare, transitivo e ditransitivo, prende oggetto e verbo
- Slides: 57