Tra$amento
Automa-co del
Linguaggio Naturale (1)
Cris%na Bosco
Informa%ca applicata alla comunicazione mul%mediale
2014-‐2015
Di cosa parleremo
-‐ definizione di NLP e MT -‐ problemi e so$oproblemi -‐ approcci
-‐ valutazione
Definizione
Con Tra=amento Automa%co del Linguaggio Naturale (TAL) o il suo equivalente inglese Natural Language Processing (NLP) o
Linguis%ca Computazionale
si indica quella parte dell’Intelligenza Ar-ficiale che si occupa specificamente del linguaggio umano dis-nguendolo, grazie al termine
NATURALE, dai linguaggi di programmazione o
della logica.
Origini di NLP
Uno dei primi problemi che si è cercato di tra$are con il computer è quello della traduzione automa-ca da una lingua ad
un’altra, in inglese Machine Transla%on (MT).
Ma a causa delle difficoltà emerse nello sviluppo di sistemi di MT, ci si è rivol- ad approfondire i problemi del linguaggio naturale anche in
modo indipendente dalla MT.
Brevissima storia di NLP e MT
-‐ Anni ’30: si costruiscono le 2 prime macchine di MT
-‐ 1949: memorandum “On Transla-on”
-‐ Anni ‘50-‐’60: si sviluppano i primi sistemi di MT -‐ Anni ‘60: la MT riceve molte cri-che
-‐ 1966: viene s-lato il rapporto ALPAC -‐ Dopo il 1966: nascono NLP e CAT
-‐ Fine ‘900: si ricomincia a lavorare a MT
NLP: i problemi
L’approfondimento dello studio del linguaggio ha portato i ricercatori a scoprire una grande
varietà di problemi ad esso so$ostan-. Noi parleremo in par-colare di:
-‐ ambiguità nel linguaggio naturale
-‐ variabilità e costante evoluzione del linguaggio naturale
-‐ differenze tra lingue, che possono richiedere algoritmi parzialmente diversi, e che
impa$ano fortemente sui sistemi di MT.
NLP: esiste una GU?
Se fosse possibile ritrovare, al di là delle
differenze, una condivisione di principi tra le diverse lingue ed una stru$ura basilare
comune a tub i linguaggi, allora si potrebbero tra$are tu$e le lingue con approcci e sistemi simili.
Ma esistono principi comuni a tu$e le lingue?
Secondo la teoria della Gramma-ca Universale (GU) proposta da Noham Chomsky, ques-
principi esistono.
NLP: esiste una GU?
La GU è una teoria linguis-ca secondo la quale i principi della gramma-ca sono condivisi da tu$e le lingue, e sono inna- in tub gli esseri umani.
Chomsky propose questa teoria per spiegare l’acquisizione del linguaggio in presenza di
s-moli limita-: come può il bambino imparare così bene la sua lingua madre e in così poco
tempo?
Chi parla fluentemente una lingua sa quali espressioni sono acce$abili nella propria
lingua e quali espressioni sono inacce$abili.
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 s-molo offerto a chi apprende non con-ene prove che un'espressione appartenga alla
classe di frasi gramma-calmente scorre$e e le espressioni scorre$e non vengono proposte a chi apprende la lingua. La GU conterrebbe le restrizioni su come è fa$o 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 gramma-ci specula-vi che postulavano regole universali alla base di tu$e le gramma-che, e sta alla
base di molte teorie filosofiche del XVII secolo.
NLP: esiste una GU?
Secondo Sampson le teorie sulla GU non sono refutabili in quanto le generalizzazioni
gramma-cali alla base della GU sono
speculazioni sulle lingue esisten-, e non
valutazioni predibve sulle possibilità di una lingua. La povertà dello s-molo si spiega
osservando che chi apprende un linguaggio può ipo-zzare da solo le restrizioni
gramma-cali notando l'assenza di una certa classe di espressioni.
NLP: esiste una GU?
Come vedremo più avan-, esistono approcci alla MT che presuppongono l’esistenza di una
sorta di GU, ma si sono rivela- in pra-ca non realizzabili.
E vedremo che si è rivelato molto difficile anche pensare di descrivere completamente una
lingua tramite regole.
Sono queste delle prove empiriche del fa$o che non esiste una GU?
NLP: esiste una GU?
NLP: suddivisione in so$oproblemi
Il compito che NLP deve affrontare è quello di COMPRENDERE IL LINGUAGGIO NATURALE.
Vista la sua difficoltà, si suddivide tale compito in so$ocompi- più semplici in cui occorre solo una parziale comprensione del linguaggio:
-‐ Informa-on Extrac-on -‐ Informa-on Retrieval -‐ Machine Transla-on
-‐ Sen-ment Analysis e Opinion Mining
-‐ …
NLP: suddivisione in so$oproblemi
Anche quando si vuole affrontare il compito di COMPRENDERE IL LINGUAGGIO NATURALE, grazie a delle astrazioni lo si ges-sce come composto da più compi- da affrontare
separatamente:
-‐ morfologia -‐ sintassi
-‐ seman-ca
-‐ pragma-ca
NLP: suddivisione in so$oproblemi
Ad ogni livello di astrazione si risolvono diversi problemi ed in par-colare:
-‐ tra$amento delle ambiguità
-‐ rappresentazione ada$a ai sistemi di NLP
-‐ acquisizione e u-lizzo di conoscenza linguis-ca
linguis-ca nei sistemi di NLP
NLP: approcci
Me$endo insieme la definizione di Informa-ca (= scienza che studia gli algoritmi per risolvere problemi) con quella di NLP, risulta chiaro che NLP si occupa di proge$are gli algoritmi
necessari a tra$are in modo automa-co il linguaggio naturale.
Nel corso degli anni si sono studia- algoritmi che seguono approcci diversi ai problemi di NLP, e in par-colare approcci basa% su regole e
approcci basa% su corpora di da- linguis-ci.
NLP: approcci
L’applicazione di un algoritmo che segue
l’approccio basato su regole anziché quello basato su corpora ha degli effeb significa-vi su:
-‐ come si costruisce il sistema di NLP -‐ quale conoscenza serve al sistema
-‐ come deve essere acquisita la conoscenza
-‐ come deve essere valutato il risultato prodo$o
dal sistema
NLP: valutazione
Una importante abvità legata ai sistemi di NLP è quella che riguarda la valutazione.
L’obiebvo della valutazione è sempre quello di scoprire fino a che punto le prestazioni del
sistema di NLP sono vicine a quelle offerte da un essere umano che svolge lo stesso compito.
Si tra$a quindi di una valutazione insieme
qualita-va e quan-ta-va, che è molto
importante per decidere se un sistema è
pronto per essere u-lizzato o dove si deve
intervenire per migliorarlo.
NLP: valutazione
L’idea della valutazione nasce contestualmente all’idea di Intelligenza Ar-ficiale e resta
presente in tu$a la storia dell’NLP.
Turing per primo richiama l’a$enzione sulla valutazione proponendo il famoso test che porta il suo nome.
Il rapporto ALPAC propone la prima valutazione
“formale” della MT.
Tu$e le volte che si costruisce un sistema di NLP si deve dimostrare che produce i risulta-
a$esi.
NLP: riassumendo
Ci concentreremo su:
-‐ cosa significa comprendere il linguaggio
-‐ cosa è l’ambiguità e perché ci interessa
-‐ come si può rappresentare il linguaggio
-‐ come si può tra$are il linguaggio
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 gramma-cale e lessicale
• È supportata da una almeno altre$anto ampia conoscenza del mondo
• Insomma ... comprendere l’informazione
codificata nel linguaggio richiede una quan-tà di
conoscenza e competenza
Livelli di stru$ura linguis-ca
La complessità del linguaggio umano è tale che si è soli- assumere diversi livelli di astrazione per descriverlo ed analizzarlo.
Questa assunzione è fondamentale per il NLP e per qualunque elaborazione
automa-ca del inguaggio.
Livelli di stru$ura linguis-ca
• fone-co: suoni del parlato, come vengono prodob, come vengono percepi-
• fonologico: la stru$ura gramma-cale dei suoni e del sistema sonoro
Ogni lingua ha delle convenzioni in base alle
quali cer- suoni e certe composizioni di le$ere sono acce$abili ed altri no:
ca / tcha / ça
taogt / ga$o
Livelli di stru$ura linguis-ca
• morfologico: come le so$o-‐unità delle parole si combinano per formare la parola
* remangia vs mangiare
* silavare vs lavarsi
Livelli di stru$ura linguis-ca
• sintabco: 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 Ma in toba batak:
Manjaha buku guru i
legge libro maestro il
Livelli di stru$ura linguis-ca
• seman-co (lessicale e proposizionale): che cosa significa ogni parola e come i significa- delle parole si combinano per formare il significato della frase
* la macchia invisibile crede nel cielo
* idee verdi senza colore sognano
furiosamente
Livelli di stru$ura linguis-ca
• pragma-co: in che modo i significa- delle frasi sono u-lizza- per manifestare gli scopi comunica-vi 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 no$e di San Silvestro del nuovo millennio
-‐ Questo è bello
Problemi
Oltre alla molta conoscenza che il NLU richiede, il principale problema del NLP è la pervasiva
ambiguità del linguaggio a tuJ i livelli di analisi.
Noi vedremo in modo specifico i livelli morfologico e sintabco, che sono quelli
maggiormente interessan- dal punto di vista
della traduzione.
Cosa è l’ambiguità?
Quando una frase con-ene una ambiguità non è
possibile darne una (SOLA) interpretazione.
Perchè ci interessa l’ambiguità?
Gli esseri umani hanno una quan-tà di conoscenza grazie alla quale
non percepiscono
molte delle ambiguità che invece una
macchina trova nel linguaggio.
Ambiguità morfologica
Trans-‐categoriale:
-‐ “Tub hanno un TELEFONINO e a chi TELEFONINO non si capisce”
-‐ PESCA nome (il fru$o, lo sport) verbo (lo sport, l’estrazione, ...)
aggebvo (il colore)
Ambiguità seman-ca lessicale
brucia (bruciare, 3a persona, ind. pres., intr.):
-‐ La carta brucia (“è un combus-bile”)
-‐ 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à sintabca
Può essere indipendente dall’ambiguità morfologica: “Giorgio vide un uomo nel parco con il telescopio”
Può causare ambiguità seman-ca: “Giorgio vide un uomo con un telescopio”
Può essere rela-va alle relazioni
gramma-cali: “Chi uccise il polizio$o?”
Ambiguità sintabca
Può essere locale, nel senso che una parte della frase amme$e diverse analisi, ma solo una di queste analisi è valida per la frase intera:
“I solda-, avver-- del pericolo ...
..., condussero il raid di mezzano$e.”
“I solda-, avver-- del pericolo ...
... i ci$adini, condussero il raid di mezzano$e.”
Ambiguità sintabca
Può essere globale ed anche irrisolvibile se la frase completa amme$e più analisi tu$e
valide:
“La vecchia porta la sbarra”
Ambiguità seman-ca
Può essere determinata dall’ambiguità presente ad altri livelli, e può dipendere dai
quan-ficatori:
-‐ 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
E so$oproblemi
Per ges-re le difficoltà che la comprensione del linguaggio nel suo complesso comporta, si
scompone il compito (task) del NLP in vari so$oproblemi (subtasks) rela-vamente
indipenden- e consisten- con i livelli di analisi
iden-fica- a livello teorico.
Analisi morfologica
Si analizza ogni parola PRESA SINGOLARMENTE e se ne esplicitano le cara$eris-che
gramma-cali:
-‐ categoria gramma-cale della parola (Part of Speech tagging), come nome, verbo,
aggebvo, ecc.
-‐ Lemma-zzazione o ricerca delle radici, come
“vedere” per “vidi”, “rosso” per “rossi”, ecc.
Analisi morfologica
Deve essere chiarito cosa si intende per parola PRESA SINGOLARMENTE ovvero si deve
affrontare la tokenizzazione del testo:
-‐ mangiamelo è una singola parola o sono tre?
-‐ della è una singola parola o sono due?
-‐ e la punteggiatura?
• Es.: la morfologia di CANI è
CANE (lemma), NOME COMUNE (categoria gramma-cale), MASCHILE (genere),
SINGOLARE (numero)
• Es.: la morfologia di DORMÌ è
DORMIRE (lemma), VERBO (categoria
gramma-cale), INDICATIVO (modo), PASSATO
REMOTO (tempo), 3 (persona), SINGOLARE
(numero)
Analisi morfologica
Un esempio di analisi morfologica di una frase 1. la (IL ART DEF F SING)
2. storia (STORIA NOUN COMMON F SING) 3. non (NON ADV NEG)
4. educa (EDUCARE VERB MAIN IND PRES 3 SING) 5. a (A PREP MONO)
6. nulla (NULLA NOUN COMMON M SING)
E se la parola è ambigua? Un esempio di analisi possibile:
1. la (IL ART DEF F SING)
2. pesca (PESCA NOUN COMMON F SING)
pesca (PESCARE VERB MAIN IND PRES 3 SING) pesca (PESCARE VERB MAIN IMP PRES 2 SING) 3. non (NON ADV NEG)
4. è (ESSERE VERB MAIN IND PRES 3 SING) 5. un (UN ART INDEF M SING)
6. fru=o (FRUTTO NOUN COMMON M SING)
Analisi sintabca
Riguarda le informazioni a livello dell’intera frase e si può impostare secondo due modelli teorici:
-‐ riconoscimento della stru=ura sintagma%ca della frase, cioè dei sintagmi e del modo in cui si compongono tra di loro
-‐ riconoscimento della stru=ura relazionale della
frase in cui gli interi sintagmi o le singole parole
sono legate tra di loro
Analisi sintabca
La stru=ura sintagma%ca:
-‐ in cosa consiste
-‐ come si rappresenta
Analisi sintabca: sintagmi
La stru=ura sintagma%ca della frase, de$a anche stru$ura a cos%tuen% rappresenta la suddivisione della frase in so$ounità più piccole e così via
procedendo in ordine gerarchico:
La frase è un sintagma composto (e.g.) da sintagma nominale + sintagma verbale.
Il sintagma verbale è composto (e.g.) da verbo + sintagma nominale.
Il sintagma nominale è composto da ar-colo +
sintagma nominale … ecc.
Analisi sintabca: sintagmi
La stru=ura sintagma%ca della frase si
rappresenta tradizionalmente con degli alberi, perchè sono le stru$ure che meglio consentono di mostrare un ordinamento gerarchico di
elemen-.
Quindi il risultato prodo$o su una frase da un
sistema di analisi sintabca, de$o PARSER, è un
albero sintabco o albero di derivazione.
Analisi sintabca: sintagmi
E se la frase con-ene ambiguità sintabche?
Una frase ambigua perme$e più di una analisi sintabca, quindi verranno costruite più
stru$ure per la stessa frase.
Esempio: “Giorgio vide l’uomo dentro il parco con il telescopio”
Analisi sintabca: sintagmi
Analisi sintabca: sintagmi
L’albero di derivazione corrisponde alla seguente interpretazione della frase ambigua:
Giorgio vide l’uomo, Giorgio lo vide dentro il
parco, Giorgio lo vide u-lizzando il telescopio
Analisi sintabca: sintagmi
Analisi sintabca: sintagmi
L’albero di derivazione corrisponde alla
seguente interpretazione della frase ambigua:
Giorgio vide l’uomo, Giorgio lo vide dentro il parco, il parco che ha il telescopio
Analisi sintabca: sintagmi
Analisi sintabca: sintagmi
L’albero di derivazione corrisponde alla seguente interpretazione della frase ambigua:
Giorgio vide l’uomo, l’uomo che stava dentro il parco, e Giorgio lo vide u-lizzando il
telescopio
Analisi sintabca: sintagmi
Analisi sintabca: sintagmi
L’albero di derivazione corrisponde alla seguente interpretazione della frase ambigua:
Giorgio vide l’uomo, l’uomo che stava dentro il parco, il parco che ha il telescopio
Analisi sintabca: sintagmi
I qua$ro alberi di derivazione non esauriscono tu$e le possibili stru$ure che si possono
costruire per la frase.
In questo esempio l’ambiguità è determinata dalla presenza di sintagmi preposizionali che possono essere aggancia- pra-camente a qualunque altro sintagma.
Analisi sintabca: sintagmi
Analisi sintabca
La stru=ura relazionale:
-‐ in cosa consiste
-‐ come si rappresenta
Analisi sintabca: relazioni
La stru=ura relazionale, de$a anche stru=ura a dipendenze, mostra in che rapporto stanno tra loro le parole della frase tramite le cosidde$e relazioni gramma-cali o di dipendenza.
In “il cane dorme” cane è il SOGGETTO del verbo dorme.
In “Mario sovente mangia banane” sovente è un
modificatore del verbo mangia, mentre banane è
l’ogge$o del verbo mangia.
Analisi sintabca: relazioni
La stru=ura a dipendenze della frase si
rappresenta tradizionalmente con degli alberi, perchè sono le stru$ure che meglio consentono di mostrare le relazioni sugli archi che legano le parole.
Quindi il risultato prodo$o su una frase da un
sistema di analisi sintabca, de$o PARSER, è un
albero sintabco a dipendenze.
Es.: la sintassi della frase “Giorgio ama Maria”
Giorgio
ama
Maria
SUBJ OBJ