Date post: | 03-May-2015 |
Category: |
Documents |
Upload: | eustorgio-pagano |
View: | 218 times |
Download: | 1 times |
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 = NPverb + PP = VPprep + noun = PP NP + VP = S
Acquisizione della conoscenza
Dove si trova la conoscenza?Le soluzioni sono 2:1)conoscenza dentro il sistema – rule-
based2)conoscenza dentro un corpus di dati
linguistici – corpus-based
Corpus versus rule-based
grammaticagrammatica
lessicolessico
…
SISTEMA
Corpus versus rule-based
grammaticagrammatica
lessicolessico
…
CORPUS
SISTEMAapprendimento
Corpus versus rule-basedIn 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-basedIl 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-basedIn 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-basedMa 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-basedEsempio:“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-basedMa 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-basedi bi-grammi di “il cane dorme in giardino”:1-il cane2-cane dorme3-dorme in4-in giardinoLa 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 treebankQuali 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 fromPRAGUE newspapers, scientific and
economic journals
NEGRA newspaper Frankfurter Rundschau
PENN 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 Nome-pr Verbo
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
NNSDT
NNDTADV
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 SEMPRAGUE semi-
automatic
semi-automatic
semi-automatic
NEGRA automatic interactive(probabilistic)
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 treebankIn 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 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
• 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, 14)
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 morfologicamente (SentiTUT)
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
Ricadute del progetto TUT
Il Turin University Treebank (TUT), ParTUT e SentiTUT sono tutti progetti
del Content Centered Computing Group (C. Bosco, A. Mazzei, V. Lombardo, R. Damiano , V. Patti, M. Sanguinetti)
del Dipartimento di Informatica dell’Università di Torino