• Non ci sono risultati.

Linguistica computazionale e approcci corpus-based

N/A
N/A
Protected

Academic year: 2021

Condividi "Linguistica computazionale e approcci corpus-based"

Copied!
97
0
0

Testo completo

(1)

Linguistica computazionale e approcci corpus-based

Cristina Bosco

Corso di Informatica applicata alla comunicazione multimediale

2014-2015

(2)

Per definire un sistema di NLP occorre conoscerne i seguenti aspetti:

- Input

- Algoritmi

- Conoscenza linguistica - Output

Sistemi di NLP

(3)

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à.

(4)

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.

(5)

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 …)

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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?

(13)

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” ?

(14)

Acquisizione della conoscenza

output = il ART, cane NOUN, dorme VERB, in PREP, giardino NOUN

conoscenza =

ART (il), NOUN (cane, giardino), VERB

(dorme), PREP (in)

(15)

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)]]]” ?

(16)

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

(17)

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

(18)

Corpus versus rule-based

grammatica grammatica

lessico lessico

SISTEMA

(19)

Corpus versus rule-based

grammatica grammatica

lessico lessico

CORPUS SISTEMA

apprendimento

(20)

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

(21)

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.

(22)

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

(23)

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.

(24)

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.

(25)

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.

(26)

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.

(27)

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.

(28)

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).

(29)

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.

(30)

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

(31)

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

(32)

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.

(33)

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.

(34)

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.

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

Approccio corpus-based

Esempio:

“il cane dorme in giardino”

P(il–cane: NP) = 95%

P(in-giardino: PP) = 95%

P(cane-dorme: VP) = 5%

(41)

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

(42)

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

(43)

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)

(44)

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.

(45)

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.

(46)

Approccio corpus-based

Attualmente i TREEBANK sono le

risorse linguistiche più utilizzate

nel NLP.

(47)

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.

(48)

Annotazione e treebank

Come annotare i dati ?

Solitamente si annotano le

informazioni di tipo morfologico e sintattico, più raramente quelle

semantiche

(49)

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.

(50)

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.

(51)

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

(52)

Un progetto reale: Turin University Treebank

• Obiettivo:

sviluppare una risorsa linguistica,

una banca di alberi sintattici per

l’italiano

(53)

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)

(54)

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

(55)

TEXTS from PRAGUE

newspapers, scientific and

economic journals

NEGRA

newspaper Frankfurter Rundschau

PENN

IBM manuals, nursing notes,

newspapers (Wall Street Journal), telephone conversations

Selezione in altri treebank

(56)

Definizione dello schema di annotazione

• Scelta del formalismo

• Scelta delle informazioni e

strutture da rappresentare

(57)

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)

(58)

Relational structure

• Le parole della frase svolgono funzioni diverse

• Le funzioni sono espresse in

termini di relazioni grammaticali

(59)

Giorgio

ama

Maria

SUBJ OBJ

Relational structure

(60)

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

(61)

ES: constituents

Giorgio ama Maria

Nome-pr Verbo Nome-pr

VP S

NP NP

(62)

Constituent structure

(S

(NP ( NOME Giorgio)) (VP (VERBO ama)

(NP (NOME Maria) )

)

)

(63)

Constituent structure

Le relazioni tra le parole non sono tutte uguali:

“Maria leggeva un libro in biblioteca”

(64)

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

(65)

ES: NEGRA annotation

S VP

HD SB NG

MO HD OA

OC

ADV VVPP VAFIN NE NE ADV

(66)

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

(67)

• Sia le relazioni che i costituenti sono realizzati in modo diverso nelle

diverse lingue

• La struttura relazionale include la struttura argomentale

Costituenti e relazioni

(68)

La struttura argomentale

• relazioni grammaticali

• ruoli semantici

• uguali o distinti?

(69)

Le relazioni grammaticali

• Identificabili da varie proprietà

• Diverse nelle varie lingue

(70)

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

(71)

MORPHO SYNT SEM PRAGUE

semi-

automat ic

semi-

automatic semi-

automatic

NEGRA

automatic interactive (probabilisti c)

PENN

automatic automatic (skeletal)

Processo di annotazione

(72)

Processo di annotazione in TUT

• Part Of Speech tagging automatico

• Correzione manuale del tagging

• Parsing interattivo

• Verifica e revisione

(73)

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)

(74)

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.

(75)

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

(76)
(77)
(78)

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)

(79)

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]

(80)

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

(81)

TUT Componente

morfo-sintattica

(82)

• 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

(83)

Egli non è stato visto da nessuno Egli non è stato visto da ieri

ARG MOD

TUT Componente

funzionale-sintattica

(84)

TUT Componente

funzionale-sintattica

(85)

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

(86)

TUT Componente

semantica

(87)

• 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

(88)

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]

(89)

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

(90)

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

(91)

• 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

(92)

(in 3500 sentences)

Ricadute del progetto TUT

(93)

• 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

(94)

• 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

(95)

• 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

(96)

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

(97)

Per ulteriori informazioni:

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

Riferimenti

Documenti correlati

In order to uncover those phraseological units which are used with a certain preference by judges, a comparison between the relative frequency of these patterns in cospe and

Use of all other works requires consent of the right holder (author or publisher) if not exempted from copyright protection by the

This study considered land use/land cover, elevation, slope, drainage density, soil, and rainfall as important flooding hazard factors in Ambo town’s watershed.. Many scholars in

This review provides an up-to-date overview about the possible strategies to successfully design suitable IONPs able to move from the proof-of-concept level to future clinical

Università degli Studi di Napoli “Federico II” Università degli Studi di Urbino “Carlo Bo” Università degli Studi di Bologna. Università degli Studi del Molise Università

Scartate infatti le soluzioni ibride come quelle delle “Siedlungen” ai margini delle grandi città, e quelle della creazione di fabbriche con colonie di operai in aperta

We try to do our part by informing, raising awareness, and, most importantly, encouraging students to get involved in global health and research and overcome major challenges

Di seguito, illustriamo i criteri adottati nell'osservazione e nella catalogazione dei dati: verranno descritti per primi quei casi che abbiamo deciso di includere