Linguistica computazionale e approcci corpus-based Cristina Bosco Corso di Informatica applicata...

Post on 03-May-2015

218 views 1 download

Transcript of Linguistica computazionale e approcci corpus-based Cristina Bosco Corso di Informatica applicata...

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

Per ulteriori informazioni:

http://www.di.unito.it/~tutreeb