corporaElingcomp-2014.ppt - Dipartimento di Informatica

Corpora e linguistica
computazionale
Cristina Bosco
Corso di Informatica applicata alla
comunicazione multimediale
2013-2014
Elaborare il linguaggio
naturale
Il problema della comprensione del
linguaggio naturale è molto complesso
per un computer.
Lo è anche per gli esseri umani, in cui
l’apprendimento della lingua madre è un
processo lungo e articolato.
Elaborare il linguaggio
naturale
Da un lato, esiste il problema di dotare il
computer di tutta la conoscenza
necessaria (acquisendola e
rappresentandola).
Assumendo che un linguaggio sia
trattabile da un computer che contiene
la conoscenza posseduta da un parlante
di quella lingua.
Elaborare il linguaggio
naturale
Dall’altro lato, esiste il problema di
dotare il computer di algoritmi
adeguati.
Assumendo che le operazioni da fare
sull’input siano ben definibili.
Soluzioni
Si divide il problema generale della
comprensione del linguaggio in
sottoproblemi, quindi:
• si adottano delle astrazioni per
limitare a determinati livelli la
comprensione
• si eseguono dei task in cui si ottiene
una comprensione parziale
Soluzioni?
L’utilizzo delle astrazioni e
la scomposizione in subtask
portano vantaggi
sia nell’acquisizione/rappresentazione
della conoscenza
sia nella costruzione degli algoritmi.
Ma non risolvono del tutto il problema.
Soluzioni?
Utilizzare le astrazioni
nell’acquisizione/rappresentazione
della conoscenza
significa rappresentare il linguaggio con
formalismi adatti ai vari livelli distinti.
Ad es. definire chiaramente quali sono le
informazioni morfologiche e quali
quelle sintattiche.
Soluzioni?
testo
rappresentazione
morfologica del testo
rappresentazione
sintattica del testo
Soluzioni?
Utilizzare le astrazioni nella costruzione
degli algoritmi significa dividere il
trattamento del linguaggio in livelli
diversi.
Ad es. definire algoritmi che trattano
solo la morfologia ed altri che trattano
solo la sintassi.
Soluzioni?
PoS
tagger
testo
Parser
rappresentazione
morfologica del testo
rappresentazione
sintattica del testo
Problemi
Anche assumendo le astrazioni, tuttavia
il linguaggio resta difficile da
trattare perchè:
• è ricco di ambiguità
• è usato in modo non corretto
• è in continua espansione
Problemi
Le diverse soluzioni adottate per
acquisire/rappresentare il
linguaggio e per costruire gli
algoritmi tengono conto dei
problemi intrinseci al linguaggio.
Astrazioni e
rappresentazioni
In questo corso ci focalizziamo
sull’acquisizione e rappresentazione
della conoscenza pertinente a 2 livelli
di astrazione, fondamentali per la
maggior parte dei task:
• morfologia
• sintassi
Acquisizione della
conoscenza
Un sistema che tratta il linguaggio
deve avere a disposizione la
conoscenza linguistica necessaria.
Ma come si mette la conoscenza
dentro un sistema?
Acquisizione della
conoscenza
Esempio: che conoscenza occorre a un
PoS tagger (analizzatore
morfologico) per prendere in input
“il cane dorme in giardino”
e restituire in output
“il ART, cane NOUN, dorme VERB, in
PREP, giardino NOUN” ?
Acquisizione della
conoscenza
output = il ART, cane NOUN, dorme
VERB, in PREP, giardino NOUN
conoscenza =
ART (il), NOUN (cane, giardino),
VERB (dorme), PREP (in)
Acquisizione della
conoscenza
Esempio: che conoscenza occorre a un
parser (analizzatore sintattico) per
prendere in input
“il cane dorme in giardino”
e restituire in output
“[S [NP (il – cane)]
[VP (dorme) [PP (in – giardino)]]]” ?
Acquisizione della
conoscenza
output = [S [NP (il – cane)] [VP
(dorme) [PP (in – giardino)]]]
conoscenza =
art + noun = NP
verb + PP = VP
prep + noun = PP
NP + VP = S
Acquisizione della
conoscenza
Dove si trova la conoscenza?
Le soluzioni sono 2:
1) conoscenza dentro il sistema –
rule-based
2) conoscenza dentro un corpus di
dati linguistici – corpus-based
Corpus versus rule-based
SISTEMA
…
grammatica
lessico
Corpus versus rule-based
SISTEMA
…
apprendiment
o
grammatica
lessico
CORPUS
Corpus versus rule-based
In entrambi i casi si presuppone che il
linguaggio sia governato da regole (da
conoscere per trattarlo)
MA:
• nei sistemi corpus-based le regole
sono apprese, nei rule-based sono date
• nei sistemi corpus-based le regole
sono probabilistiche, nei rule-based
sono deterministiche
Corpus versus rule-based
Se le regole variano, ad es. da una
lingua all’altra, da un genere
testuale ad un altro, devono
essere riscritte in un sistema rulebased, ma non in uno corpus-based.
Approccio corpus-based
• Utilizzato dai linguisti dalla fine
dell’800 e tutt’ora molto diffuso
• Consiste nell’apprendere dal
linguaggio le regole ed irregolarità
del linguaggio
Approccio corpus-based
• Si basa sull’idea che le co-occorrenze
sono fonti importanti di informazioni
sulla lingua
• Si ispira all’idea di apprendimento
linguistico umano, tramite
esposizione a esempi e basato su
criteri statistici
Approccio corpus-based
Esempio:
Nell’analisi sintattica (parsing), di
fronte all’ambiguità e quindi
generazione di più strutture, per
una singola frase, si ricavano dai
dati linguistici i CRITERI per
scegliere la migliore delle strutture
generate
Approccio corpus-based
L’approccio corpus-based assume che
buona parte del successo del
linguaggio umano nella
comunicazione dipende dall’abilità
che gli esseri umani hanno nel
gestire ambiguità ed imprecisione
in modo efficiente.
Approccio corpus-based
Gli esseri umani riescono infatti a
cogliere la corretta interpretazione
di un messaggio da un insieme di
stimoli di varia natura (ad es.
contestuali ed emotivi) oltre che
dalle parole e strutture che
compongono il messaggio stesso.
Approccio corpus-based
L’approccio corpus-based offre inoltre
la possibilità di sfruttare la
conoscenza che va al di là delle parole
e delle strutture che compongono il
linguaggio.
È quindi un modo efficiente di
acquisire la conoscenza sul linguaggio.
Approccio corpus-based
Si assume che un CORPUS C di un
linguaggio L possa contenere (~tutta)
la conoscenza necessaria a trattare
L, e si acquisisce la conoscenza da
esso
Approccio corpus-based
Il processo di apprendimento offre
come risultato
•la conoscenza delle regole ed
irregolarità del linguaggio (nonristretto)
•MA SOPRATTUTTO la percezione
della frequenza delle strutture
linguistiche
Approccio corpus-based
In pratica per acquisire la conoscenza:
si prende un campione di linguaggio, cioè
un insieme di frasi = CORPUS
si cercano nel corpus le strutture
linguistiche e le loro probabilità =
BASE di CONOSCENZA
Approccio corpus-based
In pratica un sistema corpus-based:
se incontra una struttura ambigua
cerca nella base di conoscenza
l’informazione utile per costruire la
rappresentazione più probabile della
struttura
Approccio corpus-based
Ma come funziona un sistema statistico?
ad ogni struttura S del linguaggio il
sistema associa un valore di probabilità
il valore di probabilità di S è dato dalla
composizione delle probabilità delle
parti di S
Approccio corpus-based
Esempio:
“il cane dorme in giardino”
P(il–cane: NP) = 95%
P(in-giardino: PP) = 95%
P(cane-dorme: VP) = 5%
…
Approccio corpus-based
Ma come funziona un sistema
statistico?
la probabilità di ogni parte di una
frase analizzata dipende dalla sua
frequenza in un CORPUS di
riferimento e dal modello
statistico utilizzato
Approccio corpus-based
Ma come funziona un sistema
statistico?
Cosa è un modello probabilistico ?
Serve a determinare come
calcolare la probabilità di ogni
risultato ottenuto dal sistema
Approccio corpus-based
Ma come funziona un sistema statistico?
Esempio di un modello probabilistico
molto usato:
i bi-grammi:- per ogni coppia <a,b> di
parole avremo una stima della
probabilità che a e b siano associate
sintatticamente (a=il e b=cane ha
maggiore probabilità di occorrere che
a=il e b=gatta)
Approccio corpus-based
i bi-grammi di “il cane dorme in giardino”:
1-il cane
2-cane dorme
3-dorme in
4-in giardino
La probabilità di 1 sarà maggiore di
quella di 2, quindi il sistema propone la
costruzione di 1 invece che di 2.
Approccio corpus-based
A partire dagli anni ‘90 si sono sviluppati
sistemi che apprendono la conoscenza
da corpora di dati linguistici per
moltissimi linguaggi.
Si è progressivamente affermata anche
la necessità di ANNOTARE i dati
linguistici e si sono costruiti i
TREEBANK.
Approccio corpus-based
Attualmente i TREEBANK sono
le risorse linguistiche più
utilizzate nel NLP.
Approccio corpus-based
Perché annotare i dati ?
L’informazione è presente in forma
implicita anche nei dati non annotati.
Ma introdurre l’informazione in forma
esplicita semplifica il processo di
apprendimento, inoltre rende possibile
la correzione.
Annotazione e treebank
Come annotare i dati ?
Solitamente si annotano le
informazioni di tipo morfologico
e sintattico, più raramente
quelle semantiche
Annotazione e treebank
Come annotare i dati ?
Per ogni livello di annotazione
vengono fatte delle scelte sia sulla
teoria linguistica da prendere come
riferimento sia sul modo in cui
fisicamente mostrare i dati.
Annotazione e treebank
Quali dati annotare ?
Occorre scegliere i testi da
introdurre nel corpus in modo che
siano rappresentativi del linguaggio
che si vuole trattare.
Annotazione e treebank
Quali dati annotare ?
un corpus é un campione significativo e
rappresentativo di un linguaggio SE:
• contiene frasi non ristrette
• è “bilanciato” rispetto al genere, alla
collocazione geografica e sociale, al
tempo
• MA non rappresenta mai TUTTO il
linguaggio nel suo complesso
Un progetto reale:
Turin University
Treebank
• Obiettivo:
sviluppare una risorsa
linguistica, una banca di alberi
sintattici per l’italiano
Fasi di sviluppo del
progetto
• Selezione dei testi da annotare
• Definizione dello schema di
annotazione
• Applicazione dello schema al
corpus di testi (validità e
consistenza)
Selezione di testi in TUT
• Giornali quotidiani (1.100 frasi = 18,044
tokens)
• Codice civile (1.100 frasi = 28,048 tokens)
• Acquis (201 frasi = 7,455 tokens)
• Wikipedia (459 frasi = 14,746 tokens)
• Costituzione Italiana, intera (682 frasi =
13,178 tokens)
• Totale 3.452 frasi = 102.000 token
Selezione in altri treebank
TEXTS from
PRAGUE
newspapers, scientific and economic
journals
NEGRA
newspaper Frankfurter Rundschau
PENN
IBM manuals, nursing notes,
newspapers (Wall Street Journal),
telephone conversations
Definizione dello schema
di annotazione
• Scelta del formalismo
• Scelta delle informazioni e
strutture da rappresentare
Struttura sintattica:
scelta tra 2 aspetti
• L’organizzazione delle unitá della
frase (sintagmi e constituent
structure)
• La funzione degli elementi della
frase (relazioni grammaticali e
relational structure)
Relational structure
• Le parole della frase svolgono
funzioni diverse
• Le funzioni sono espresse in
termini di relazioni
grammaticali
Relational structure
ama
SUBJ
Giorgio
OBJ
Maria
Constituent
structure
Le parole della frase sono
organizzate in unità
(costituenti) che a loro volta
sono oggetto di una
organizzazione (constituent
structure) in unità più grandi
ES: constituents
S
VP
NP
NP
Nome-pr
Verbo
Nome-pr
Giorgio
ama
Maria
Constituent
structure
(S
)
(NP ( NOME Giorgio))
(VP (VERBO ama)
(NP (NOME Maria)
)
)
Constituent
structure
Le relazioni tra le parole non sono
tutte uguali:
“Maria leggeva un libro in
biblioteca”
ES: Penn annotation
( SS
SBJ
( NP - SBJ
PRP I) )
(PRP
( ADVP - TMP
TMP ( RB
RB never) )
( VP (VBD
VBD had)
DT many) (NNS
NNS clients) )
( NP (JJ
ADV (DT
DT a) ( NN
NN day) ))
( NP - ADV
))
ES: NEGRA annotation
S
OC
HD
SB
NG
VP
MO
HD
ADV
VVPP
OA
VAFIN
NE
NE
ADV
Costituenti e relazioni
• La struttura relazionale include le
informazioni relative all’
organizzazione della frase in unità
• La struttura a costituenti non
include le informazioni relative alla
funzione delle parole
• La struttura relazionale è più
compatta
Costituenti e relazioni
• Sia le relazioni che i costituenti
sono realizzati in modo diverso
nelle diverse lingue
• La struttura relazionale include
la struttura argomentale
La struttura
argomentale
• relazioni grammaticali
• ruoli semantici
• uguali o distinti?
Le relazioni
grammaticali
• Identificabili da varie
proprietà
• Diverse nelle varie lingue
Le relazioni
grammaticali
• Le relazioni sono realizzate
diversamente nelle varie lingue, a
seconda dell’uso di casi, inflessioni
give someone something
dare a qualcuno qualcosa
Processo di annotazione
MORPHO
SYNT
PRAGUE
semisemiautomatic automatic
NEGRA
automatic
interactive
(probabilistic)
PENN
automatic
automatic
(skeletal)
SEM
semiautomatic
Processo di annotazione
in TUT
• Part Of Speech tagging
automatico
• Correzione manuale del tagging
• Parsing interattivo
• Verifica e revisione
Costruire un treebank
Per costruire validi sistemi di
analisi del linguaggio occorrono i
treebank.
Infatti è dimostrato che i sistemi
di NLP che ottengono i migliori
risultati sono quelli che prendono le
informazioni da treebank)
Costruire un treebank
Per costruire dei treebank
occorrono validi sistemi di analisi
del linguaggio.
È impossibile costruire treebank in
modo esclusivamente manuale per
motivi di tempo e di correttezza.
Costruire un treebank
In pratica l’annotazione dei treebank è
prodotta da
sistemi automatici di analisi
morfologica (-4%) e sintattica (-10%)
+
annotatori umani che correggono le
analisi prodotte in modo automatico
TurinRelazioni
UniversityinTreebank
TUT (2)
Ogni relazione di TUT può essere composta
di 3 elementi:
• Morfo-sintattico: features che
esprimono la categoria grammaticale
Verb, Noun, …
• Funzionale-sintattico: relazioni
sintattiche come Subject, Object
• Semantico: relazioni semantiche come
Location, Time, Cause
1 In (IN PREP MONO) [7;PREP-RMOD-TIME]
2 quei (QUELLO ADJ DEMONS M PL) [1;PREPARG]
3 giorni (GIORNO NOUN COMMON M PL)
[2;DET+DEF-ARG]
4 Sudja (|Sudja| NOUN PROPER) [7;VERBSUBJ]
5 la (IL ART DEF F SING) [4;APPOSITION]
6 zingara (ZINGARO NOUN COMMON F SING)
[5;DET+DEF-ARG]
7 annunciava (ANNUNCIARE VERB MAIN IND
IMPERF TRANS 3 SING) [0;TOP-VERB]
8 il (IL ART DEF F SING) [7;VERB-OBJ]
9 fallimento (FALLIMENTO NOUN COMMON M
SING FALLIRE INTRANS) [8;DET+DEF-ARG]
TUT Componente
morfo-sintattica
La nazione sogna
VERB-SUBJ VERB
I sogni di ricchezza
NOUN NOUN-OBJ
ricchezza
VERB-OBJ
della nazione
NOUN-SUBJ
Velocemente / in modo veloce
ADV-role
ADV-role
TUT Componente
morfo-sintattica
TUT Componente
morfo-sintattica
•
•
Dati 944 differenti Verbi per un totale
di 4.169 occorrenze nel corpus di TUT
Il 30% di questi Verbi (e le strutture
predicative argomentali ad essi
associate) risulta presente anche in
forma nominale
TUT Componente
funzionale-sintattica
Egli non è stato visto da nessuno
ARG
Egli non è stato visto da ieri
MOD
TUT Componente
funzionale-sintattica
TUT Componente
semantica
Da qui
è partito l’assalto
LOC+FROM
Succedeva dall’altra parte del mondo
LOC+IN
I miliardi stanziati dal 1991
TIME
Era impazzito dal dolore
REASONCAUSE
Trarrà beneficio dalla bonifica
SOURCE
TUT Componente
semantica
TUT Componente
semantica
•
•
Dati 600 sintagmi preposizionali
introdotti dalla preposizione DA e che
svolgono il ruolo di modificatori
È stato rilevato che essi possono
assumere i seguenti 7 differenti valori
semantici: LOC+FROM, LOC+IN,
LOC+METAPH, TIME, THEME,
REASONCAUSE, SOURCE
1 In (IN PREP MONO) [7;PREP-RMOD-TIME]
2 quei (QUELLO ADJ DEMONS M PL) [1;PREPARG]
3 giorni (GIORNO NOUN COMMON M PL)
[2;DET+DEF-ARG]
4 Sudja (|Sudja| NOUN PROPER) [7;VERBSUBJ]
5 la (IL ART DEF F SING) [4;APPOSITION]
6 zingara (ZINGARO NOUN COMMON F SING)
[5;DET+DEF-ARG]
7 annunciava (ANNUNCIARE VERB MAIN IND
IMPERF TRANS 3 SING) [0;TOP-VERB]
8 il (IL ART DEF F SING) [7;VERB-OBJ]
9 fallimento (FALLIMENTO NOUN COMMON M
SING FALLIRE INTRANS) [8;DET+DEF-ARG]
Applicare lo schema di annotazione a
TUT significa che ogni sua frase:
•viene parsificata in modo automatico
dal parser TULE, sviluppato in
parallelo con TUT
•corretta da almeno 2 annotatori
umani
•verificata da tool automatici appositi
•sottoposta a conversioni e
applicazione di altri sistemi
Ricadute del progetto TUT
Utilizzo in 3 diverse direzioni:
• Come raccolta di dati linguistici
• Come banco di prova per sistemi di
NLP
• Come modello per lo sviluppo di altre
risorse
Ricadute del progetto TUT
• Come raccolta di dati linguistici TUT
ha consentito
• Studi sul comportamento dei verbi
della lingua italiana (estrazione di
conoscenza)
• Studio dell’ordine delle parole nella
lingua italiana
Ricadute del progetto TUT
(in 3500 sentences)
Ricadute del progetto TUT
• Come banco di prova per sistemi di
NLP TUT ha consentito di
raggiungere i risultati allo stato
dell’arte per il parsing dell’italiano,
errore intorno al 10%
• TUT è il treebank di riferimento
nelle competizioni per parser di
italiano (Evalita 07, 09, 11)
Ricadute del progetto TUT
• Come modello per lo sviluppo di altre
risorse, TUT è utilizzato in:
• in prospettiva cross-linguistica, è in corso
di sviluppo un treebank parallelo per le
lingue italiano, francese e inglese
(ParTUT)
• per lo studio di fenomeni legati
all’espressione di sentimenti, opinioni ed
emozioni, è in corso di sviluppo un corpus
di testi di Twitter annotato
Ricadute del progetto TUT
• INOLTRE: TUT è stato tradotto in
formati di altri treebank grazie a tool di
conversione automatica
• Questo ha reso possibile l’applicazione di
strumenti sviluppati per tali formati ed il
confronto tra paradigmi e modelli
linguistici differenti nell’ambito del
dibattito su quale formato si rivela più
adeguato per il NLP in generale e per le
diverse lingue naturali
Il Turin University Treebank (TUT),
ParTUT e SentiTUT sono tutti
progetti
dell’Interaction Models Group (L.
Lesmo, C. Bosco, A. Mazzei, V.
Lombardo, L. Robaldo, M. Sanguinetti)
del Dipartimento di Informatica
dell’Università di Torino
Per ulteriori informazioni:
http://www.di.unito.it/~tutreeb