Linguistica computazionale e approcci corpus-based
Cristina Bosco
Corso di Informatica applicata alla comunicazione multimediale
2014-2015
Per definire un sistema di NLP occorre conoscerne i seguenti aspetti:
- Input
- Algoritmi
- Conoscenza linguistica - Output
Sistemi di NLP
INPUT: modalità
Il sistema riceve in ingresso un input in linguaggio naturale
L’input può assumere diverse modalità: scritto,
parlato, gestuale o una mescolanza di queste tre modalità, che possono anche interagire tra loro.
Noi ci occuperemo specificamente di linguaggio scritto, ma non va dimenticata la complessità
derivante dalle altre, come la sintesi del parlato e i
problemi derivanti dal “rumore”, la percezione ed
interpretazione della gestualità.
Un esempio: l’input nelle lingue dei segni e nel parlato
Nel caso delle lingue dei segni, l’input è gestuale e si deve tenere conto della gestualità delle mani,
principale strumento per “segnare”, ma anche
delle espressioni del viso, della posizione del capo, delle spalle, braccia, ecc.
Queste stesso componenti possono entrare in gioco anche quando il linguaggio è parlato …
l’espressione del viso in molti casi è una
fondamentale chiave di interpretazione del
significato del testo enunciato.
INPUT: lingua e genere
Il sistema riceve in ingresso un input in linguaggio naturale
L’input può contenere testi di natura molto diversa tra loro a seconda di:
- Lingua (francese, giapponese, swahili …)
- Genere testuale (prosa giornalistica, Twitter,
poesia, romanzi, prosa scientifica, manualistica
tecnica, previsioni meteo …)
Il sistema deve anche avere gli algoritmi adeguati a utilizzare la conoscenza e a produrre un determinato output.
Si deve pertanto assumere che le operazioni da fare sull’input siano ben definibili, e
trovare un modo per definirle.
ALGORITMI
Quali sono le operazioni da fare sull’input?
Potrebbero essere le stesse che fanno gli esseri umani (intelligenza artificiale forte) oppure
differenti (intelligenza artificiale debole).
In entrambi i casi possono esserci vari modi di produrre uno stesso output e il modo
migliore può dipendere anche dall’input o dalla conoscenza.
ALGORITMI
I sistemi che traducono in modo automatico adottano approcci diversi, traducono
direttamente dalla lingua target alla lingua sorgente oppure tramite la mediazione di interlingue.
Essi utilizzano tipi di conoscenza diversa,
dizionari, ontologie ecc. (e non tutte queste
basi di conoscenza sono disponibili per tutte le lingue).
ALGORITMI: un esempio, la
traduzione
Assumiamo che una lingua sia trattabile da un sistema che contiene la conoscenza
posseduta da un parlante di quella lingua.
Occorre equipaggiare il sistema con tale conoscenza.
CONOSCENZA LINGUISTICA
Il primo problema consiste nel delimitare la
conoscenza necessaria alla comprensione del linguaggio.
Essa deve essere rappresentata in modo opportuno (dizionari, ontologie, corpora,
memorie di traduzione, basi terminologiche
…).
CONOSCENZA LINGUISTICA
Inoltre la conoscenza deve essere fornita al sistema in una forma adeguata.
Questo è un problema che è stato molto discusso e che è determinante per chi progetta un sistema di NLP.
CONOSCENZA LINGUISTICA
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
grammatica grammatica
lessico lessico
…
SISTEMA
Corpus versus rule-based
grammatica grammatica
lessico lessico
…
CORPUS SISTEMA
apprendimento
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 rule-based, ma non in uno
corpus-based.
Approccio corpus-based
• Utilizzato dai linguisti dalla fine dell’800 e oggi molto diffuso
• Consiste nell’apprendere dal linguaggio le
regole ed irregolarità del linguaggio
Approccio corpus-based
• A causa delle critiche di Chomsky
l’approccio corpus-based non è stato
adottato dalla linguistica computazionale che negli ultimi 20 anni.
• Le critiche che Chomsky porta a questo
approccio sono riducibili a 2.
Approccio corpus-based
• Prima critica:
Un corpus può adeguatamente rappresentare un linguaggio?
Il numero di frasi di un linguaggio è infinito,
mentre un corpus ne contiene comunque
un numero finito, non tutte, e distribuite in
modo casuale.
Approccio corpus-based
• 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.
Approccio corpus-based
• Seconda critica:
Perché studiare il linguaggio tramite osservazione diretta invece che
introspezione?
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.
Approccio corpus-based
• 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.
Approccio corpus-based
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 corpus-based è empiricista
e fondato sull’osservazione di dati naturali che
sono espressione empirica della conoscenza del
linguaggio (performance).
Approccio corpus-based
• Il suo principale vantaggio è di offrire un concreto supporto alla soluzione del
problema dell’ambiguità.
• Se una frase è ambigua, il sistema che la tratta ne costruisce più strutture
alternative. Analizzando un corpus
possiamo scoprire quale ordine di
preferenza dare alle alternative.
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 (non-ristretto)
•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
TEXTS from PRAGUE
newspapers, scientific andeconomic journals
NEGRA
newspaper Frankfurter RundschauPENN
IBM manuals, nursing notes,newspapers (Wall Street Journal), telephone conversations
Selezione in altri treebank
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
Giorgio
ama
Maria
SUBJ OBJ
Relational structure
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
Giorgio ama Maria
Nome-pr Verbo Nome-pr
VP S
NP NP
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
( S
( NP - SBJ (PRP I) )
( ADVP - TMP ( RB never) ) ( VP (VBD had)
( NP (JJ many) (NNS clients) ) ( NP - ADV (DT a) ( NN day) )) ))
NP
VP
NP ADVP
NP S
SBJ
TMP
PRP
RB VBD
NNS DT
NN DT
ADV
ES: NEGRA annotation
S VP
HD SB NG
MO HD OA
OC
ADV VVPP 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
• Sia le relazioni che i costituenti sono realizzati in modo diverso nelle
diverse lingue
• La struttura relazionale include la struttura argomentale
Costituenti e relazioni
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
MORPHO SYNT SEM PRAGUE
semi-automat ic
semi-
automatic semi-
automatic
NEGRA
automatic interactive (probabilisti c)PENN
automatic automatic (skeletal)Processo di annotazione
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
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
Turin University Treebank (2)
1 In (IN PREP MONO) [7;PREP-RMOD-TIME]
2 quei (QUELLO ADJ DEMONS M PL) [1;PREP-ARG]
3 giorni (GIORNO NOUN COMMON M PL) [2;DET+DEF- ARG]
4 Sudja (|Sudja| NOUN PROPER) [7;VERB-SUBJ]
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]
La nazione sogna ricchezza
I sogni di ricchezza della nazione
Velocemente / in modo veloce
VERB-SUBJ
NOUN-OBJ NOUN-SUBJ VERB-OBJ
VERB
NOUN
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
morfo-sintattica
Egli non è stato visto da nessuno Egli non è stato visto da ieri
ARG MOD
TUT Componente
funzionale-sintattica
TUT Componente
funzionale-sintattica
Da qui è partito l’assalto
Succedeva dall’altra parte del mondo I miliardi stanziati dal 1991
Era impazzito dal dolore
Trarrà beneficio dalla bonifica LOC+FROM
LOC+IN
TIME
REASONCAUSE 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
TUT Componente
semantica
1 In (IN PREP MONO) [7;PREP-RMOD-TIME]
2 quei (QUELLO ADJ DEMONS M PL) [1;PREP-ARG]
3 giorni (GIORNO NOUN COMMON M PL) [2;DET+DEF- ARG]
4 Sudja (|Sudja| NOUN PROPER) [7;VERB-SUBJ]
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
• corretta da almeno 2 annotatori umani TUT
• 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
• 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)