84
Elaborazione del linguaggio naturale Maria Teresa PAZIENZA a.a. 2006-07

Elaborazione del linguaggio naturale

  • Upload
    temple

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

Elaborazione del linguaggio naturale. Maria Teresa PAZIENZA a.a. 2006-07. Intelligenza artificiale. Una macchina sarà considerata veramente intelligente solo quando sarà in grado di elaborare il linguaggio naturale come fa un umano. Elaborazione del linguaggio naturale. - PowerPoint PPT Presentation

Citation preview

Page 1: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

Maria Teresa PAZIENZA

a.a. 2006-07

Page 2: Elaborazione del linguaggio naturale

Intelligenza artificiale

Una macchina sarà considerata veramente intelligente solo quando sarà in grado di elaborare il linguaggio naturale come fa un umano

Page 3: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

I metodi, le tecniche, i tools, e le applicazioni relativamente alla modellizzazione dell’uso del linguaggio naturale costituiscono le tecnologie del linguaggio naturale (ingegneria del linguaggio naturale)

Page 4: Elaborazione del linguaggio naturale

Ingegneria del linguaggio naturale

Il linguaggio è un meccanismo di comunicazione il cui tramite è il testo o il discorso.

L’ingegneria è interessata, oltre che alla creazione di nuova conoscenza, anche alla creazione di sistemi per ottenere gli obiettivi desiderati.

I sistemi ingegnerizzati devono essere conformi a specifici criteri di adeguatezza (es. criteri legati all’esecuzione di processi in un certo tempo ed in un certo spazio)

Page 5: Elaborazione del linguaggio naturale

Ingegneria del linguaggio naturale

Sistemi per l’elaborazione del linguaggio naturale.

Sviluppo di algoritmi per il parsing, la generazione, e la acquisizione di conoscenza linguistica,

Indagine sulla complessità spaziale e temporale di tali algoritmi,

Progettazione dei linguaggi formali computazionalmente utili (es. grammatiche e formalismi lessicali) per codificare conoscenza linguistica,

Indagine su architetture software appropriate,

Considerazioni sui tipi di conoscenza non linguistica che vengono a contatto

Problematiche di integrazione in sistemi applicativi più ampi

Page 6: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

Un programma può contare il numero di bits, bytes e linee in un file testo: quando conta le parole dello stesso file di testo, allora è necessario che abbia conoscenza di ciò che significa essere una parola.

Sono richieste varie tipologie di conoscenza linguistica per elaborare un testo

Page 7: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

La morfologia fornisce informazioni su le forme possibili per ogni parola del linguaggio ed il loro comportamento. Inoltre riconosce le variazioni delle parole singole.

Di, del, della, delle,…Casa, case, casetta, …Capostazione, capistazione, …La, le, lo, gli, …La, lo, li, …

Page 8: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

La sintassi contiene la conoscenza necessaria per spiegare come sequenze di parole possono non aver alcune senso a dispetto di altre sequenze che contengono invece esattamente, e nell’ordine corretto, le stesse parole.

La FIAT produce autovetture

La autovetture produce FIAT

Page 9: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

Per capire il significato di una frase, oltre alla conoscenza delle parole e della struttura sintattica, è necessario avere

conoscenza del significato di ogni parola componente la frase (semantica lessicale) e

conoscenza di come queste componenti si combinino per formare significati più larghi (semantica composizionale)

Page 10: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

L’uso appropriato di espressioni di cortesia, o di stile a sottolineare la volontà di essere cortese (amareggiato, contrariato, affabile, benaugurale, volitivo, …) sono descritte dalla pragmatica.

La strutturazione corretta dei termini in risposta ad una domanda all’interno di una conversazione richiede conoscenza della struttura del discorso.

Page 11: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

In sintesi la conoscenza del linguaggio necessaria per la comprensione dei testi si articola in 5 distinte categorie:

Morfologia: scomposizione delle parole in unità minime di significato (dogs=dog+s)

Sintassi: definizione delle relazioni strutturali tra le parole

Semantica: attribuzione del significato delle espressioni

Pragmatica: studio di come il linguaggio è usato per raggiungere un obiettivo (usi/convenzioni linguistiche)

Analisi del discorso: identificazione delle relazioni tra unità linguistiche più ampie della singola frase

Page 12: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

L’elaborazione di un testo prevede l’attivazione di tool con conoscenza linguistica per l’analisi delle singole componenti e la risoluzione di possibili interpretazioni ambigue in ciascuna delle singole fasi.

Un testo è ambiguo se esistono più strutture linguistiche alternative che possono essere generate durante le fasi di analisi (non-determinismo)

L’ambiguità è il motivo per cui le macchine non riescono ad elaborare completamente il linguaggio naturale.

Page 13: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

Problema dell’ambiguità

La vecchia porta la sbarra

Esistono più interpretazioni di questa frase

Una vecchia signora trasporta una sbarra

Una vecchia porta sbarra una signora

Page 14: Elaborazione del linguaggio naturale

Ambiguità

Una vecchia porta la sbarra

1-Una articolo

2-Vecchia aggettivo/sostantivo

3-Porta sostantivo/verbo

4-La articolo/pronome

5-Sbarra sostantivo/verbo

Proliferazione degli alberi sintattici

Assegnazione di più di un significato alla frase

Page 15: Elaborazione del linguaggio naturale

AmbiguitàFare un piano

Fare verboUn articoloPiano sostantivo/avverbio/aggettivo

Assegnazione di più di un significato alla fraseFare costruire, progettare, idearePiano pianoforte, progetto, piano d’azione, piano

dell’edificioWord-sense disambiguation (lexical disambiguation) , Context analysis

Fare un piano (di corsa)

Page 16: Elaborazione del linguaggio naturale

Ambiguità

La palla di Maria era arrivata davanti ai piedi di Mario. Lui le diede un calcio.

Assegnazione di più di un significato alla frase

Risoluzione dell’anafora Conoscenza di dominio Senso comune

Page 17: Elaborazione del linguaggio naturale

Ambiguità

Il fiume scorre veloce nel suo alveo

Il traffico scorre veloce nella strada principale

Giovanni ama Maria

Giovanni ama i racconti d’avventura

Page 18: Elaborazione del linguaggio naturale

Ambiguità

L’auto verde è arrivata sul tavolo della Presidenza del Consiglio

C’è acqua in frigo?

Assegnazione di più di un significato alla frase

Nomi propri Terminologia Modello del mondo Senso comune

Page 19: Elaborazione del linguaggio naturale

Ambiguità

Mario guardò la ragazza con la minigonna

Mario guardò la ragazza con la cartella

Mario guardò la ragazza con il binocolo

Mario guardò la ragazza con il collega

Mario guardò la ragazza con sospetto

Strutture argomentali dei verbi

Contesto Senso comune

Page 20: Elaborazione del linguaggio naturale

Ambiguità

Il significato di una frase non è dato solo dal significato delle parole

Si richiede la conoscenza delle regole che governano:• il significato con cui le parole sono combinate,• l’ordine con cui compaiono, • i legami che le legano ad altri termini all’interno ed

all’esterno della frase.

E’ spesso necessario fare delle inferenze ed avere una conoscenza del mondo.

Page 21: Elaborazione del linguaggio naturale

Perché l’ambiguità è un problema?

Lo spazio di ricerca: esplosione combinatoriale

Sostanzialmente l’ambiguità aumenta il numero delle possibili interpretazioni delle espressioni in ling. nat. da controllare. L’esplosione combinatoriale deriva dal dover moltiplicare le analisi per ciascuna diversa interpretazione. Es. Supponiamo che ciascuna parola di una frase di 10 parole possa avere 3 interpretazioni: il numero totale delle interpretazioni della frase sarebbe

3*3*3*3*3*3*3*3*3*3= 59049

Page 22: Elaborazione del linguaggio naturale

Perché l’ambiguità è un problema?

Ambiguità locale - globale

Ambiguità globale:“Giovanni conosce molte più ragazze di Mario”Ambiguità locale:“anche se lui ne conosce molte”

Ambiguità locale significa che una parte della frase può avere più di una interpretazione

Ambiguità globale significa che l’intera frase può avere più di una interpretazione

Page 23: Elaborazione del linguaggio naturale

Perché l’ambiguità è un problema?

Ambiguità locale - globale

L’ambiguità locale si può talvolta risolvere con l’analisi sintattica

es. The old trains …

…the young (1)

…left the station (2)

La sintassi permette di disambiguare che train nella frase 1 è verbo e nella frase 2 è sostantivo

Page 24: Elaborazione del linguaggio naturale

Perché l’ambiguità è un problema?

Ambiguità locale - globale

L’ambiguità globale richiede un’analisi semantica e pragmatica

es. Vidi il Gran Canyon volare a New York (1)

Vidi il Boeing 747 volare a New York (2)

Il significato delle due frasi viene disambiguato perché sappiamo cosa può volare e cosa no (semantica).

In particolari circostanze le interpretazioni possono cambiare (pragmatica)

Page 25: Elaborazione del linguaggio naturale

Tipi di ambiguità

Ambiguità categoriale

(1)Time is money (sostantivo)

(2)Time me on the last lap (verbo)

L’analisi sintattica aiuta ad identificare la categoria corretta

(3) Time flies like an arrow

Esistono 5 possibili analisi sint. per questa frase dove time può essere sostantivo, verbo, aggettivo

Page 26: Elaborazione del linguaggio naturale

Tipi di ambiguità

Word-sense ambiguity

Una parola ha diversi significati (sensi)

(1) The battery was charged with jump leads(2) Thief was charged by PC Smith(3) The lecturer was charged with students recruitment

L’analisi sintattica aiuta a disambiguare:Charged with, charged by

L’analisi semantica aiuta a disambiguareJump leads , student recruitment

Page 27: Elaborazione del linguaggio naturale

Tipi di ambiguità

Ambiguità strutturale

“Metti la scatola sul tavolo dalla finestra nella cucina”

Possibili interpretazioni(1)Metti la scatola (una scatola specifica, quella sul tavolo

dalla finestra) nella cucina(2)Metti la scatola sul tavolo (un tavolo specifico, dalla

finestra nella cucina)Problema della ambiguità proposizionale (in assenza di

punteggiatura)

Page 28: Elaborazione del linguaggio naturale

Tipi di ambiguità

Ambiguità referenziale

“Dopo che ebbero finito l’esame gli studenti e i professori lasciarono l’aula”

Possibili interpretazioni(1)Gli studenti finirono l’esame(2)Gli studenti ed i professori finirono l’esame

Altre soluzioniSituazioni attese (usando i frame)(1) Giovanni diede a Marco un regalo e lui ringraziò

Page 29: Elaborazione del linguaggio naturale

Tipi di ambiguità

Ellissi

Frasi incomplete dove non è chiaro il termine mancante.

“Giovanni aveva studiato molto e superò l’esame. Anche Mario”

(1)Mario aveva studiato molto

(2)Mario superò l’esame

(3)Mario aveva studiato molto e superò l’esame

Page 30: Elaborazione del linguaggio naturale

Elaborazione del linguaggio naturale

L’elaborazione del linguaggio naturale richiede la descrizione di un modello del mondo.

Gran parte del significato non risiede all’interno delle parole, per cui il sistema di nlp deve avere la conoscenza del senso comune, o un modello del mondo usato da chi ha scritto il testo!

Page 31: Elaborazione del linguaggio naturale

E’ sempre necessario capire tutto?

Giovanni ha comprato una Punto dal concessionario.

Chi ha venduto una Punto? Il concessionario

Giovanni ha regalato un anello alla sua fidanzata.

Cosa ha avuto in dono la fidanzata di Giovanni? Un anello.

Page 32: Elaborazione del linguaggio naturale

Applicazioni

Fornire spiegazioni a chi le chieda, anche per telefono (call center)

Capire il testo di una pagina web e decidere a chi possa interessare (semantic web)

Tradurre la pagina di un quotidianoCapire il testo di un giornale/libro e costruire un

sistema esperto a partire da questa conoscenzaGenerare risposte o testo libero per documentazione……

Page 33: Elaborazione del linguaggio naturale

Ruolo della sintassi

La sintassi:

1. identifica il ruolo delle parole in una frase2.descrive come le parole sono raggruppate in

classi dette POS (part-of-speech)3.mostra come le parole sono collegate tra

loro all’interno di una frase4.spiega come le parole sono collegate ad

altre all’interno di più frasi.

Page 34: Elaborazione del linguaggio naturale

POS / tag lessicali

Sono riconosciute almeno 8 classi principali:

noun, verb, adverb, pronoun, article, preposition, conjunction, participle

che permettono di associare un significato alla parola cui si riferiscono. Sapere se una parola è un pronome o un nome ci permette di riconoscere la tipologia di altre parole vicine alla prima.

Sono utili anche per le applicazioni (es. IR)

Page 35: Elaborazione del linguaggio naturale

POS / tag lessicali

Le POS si dividono in due categorie:

open class (con un numero imprecisato, ed in continua evoluzione, di elementi)

closed class (con un numero fisso di elementi)

function words (parole corte e usate frequentemente che assumono un

ruolo importante in una grammatica)

Page 36: Elaborazione del linguaggio naturale

Come rappresentiamo la sintassi?

Lista

“Sue hit John”

[s, [np, [proper_noun, Sue] ],

[vp, [v,hit] ,

[np, [proper_noun, John]]

Parse treeUn modo di mostrare la struttura di un frammento di

linguaggio (slide successiva)

Page 37: Elaborazione del linguaggio naturale
Page 38: Elaborazione del linguaggio naturale

Grammatica

Una grammatica descrive quali sono le strutture ammesse in un linguaggio e divide una frase in simboli terminali

Regole di riscrittura

sentence -> noun phrase, verb phrase

noun phrase -> noun

noun phrase -> determiner, noun

verb phrase -> verb, noun phrase

Page 39: Elaborazione del linguaggio naturale

Grammatica Transition network

(come attraversare una frase con strutture idonee)

Page 40: Elaborazione del linguaggio naturale

They are cooking apples parse tree

Page 41: Elaborazione del linguaggio naturale

They are cooking apples parse tree

Page 42: Elaborazione del linguaggio naturale

Mario ama il calcio top-down strategy

1. S

2. S -> np, vp

3. S ->prpn, vp

4. S ->Mario, v, np

5. S ->Mario, ama, np

6. S ->Mario, ama, det, n

7. S ->Mario, ama, il, n

8. S ->Mario, ama, il, calcio

Va bene se esistono simboli terminale alternativi per ciascuna parola

Va male se esistono regole alternative per una frase

Page 43: Elaborazione del linguaggio naturale

Mario ama il calcio bottom-up strategy

1. Mario ama il calcio2. Prpn, ama , il, calcio3. Prpn, v, il, calcio4. Prpn, v, det, calcio5. Prpn, v, det, n,6. Np, v, det, n7. Np, v, np8. Np, vp9. SVa bene se esistono regole alternative per una fraseVa male se esistono simboli terminale alternativi per

ciascuna parola

Page 44: Elaborazione del linguaggio naturale

Strategie di ricerca

• Depth firstAttiva le regole una per volta e torna indietro se

fallisce (facile da programmare, richiede poca memoria, va bene se il parse tree è profondo)

• Breadth firstAttiva tutte le regole insieme (può essere più veloce,

l’ordine con cui appaiono le regole non è rilevante, va bene se il parse tree è piatto)

Page 45: Elaborazione del linguaggio naturale

Prolog per scrivere grammaticheUna semplice grammaticas --> np vpnp --> det nnp --> det adj nvp --> v npdoves sentence “the cat ate the big fish”np noun phrase “the cat”vp verb phrase “ate the big fish”det determiner “the”n noun “cat”v verb “ate”adj adjective “big”

Page 46: Elaborazione del linguaggio naturale

Prolog per scrivere grammatiche

Si può usare il Prolog per esprimere grammatiche facendo corrispondere una regola Prolog a ciascuna regola della grammatica; es:

sentence (S) :-noun_phrase (NP), verb_phrase (VP), append (NP,VP,S).

noun_phrase (NP) :-determiner (D), noun(N), append (D,N,NP).

noun_phrase (NP) :-determiner (D), adj(A), noun (N), append (D,A,AP),

append (AP,N,NP).

verb_phrase (VP) :-verb (V), noun_phrase (NP), append (V,NP,VP).…….

Page 47: Elaborazione del linguaggio naturale

Prolog per scrivere grammatiche

…determiner ([D]) :-

member (D,[the,a,an]).

noun ([N]) :-

member (N,[cat, dog, mat, meat, fish]).

adj ([A]) :-

member (A,[big, fat, red]).

verb ([V]) :-

member (V,[ate, saw, killed, pushed]).

Page 48: Elaborazione del linguaggio naturale

Parser Il parser è un algoritmo che usa una grammatica e un

lessico per riconoscere la struttura di una frase. L’input è la frase da analizzare, l’output è una qualche rappresentazione della struttura della frase.

Lessico Il lessico mostra a quale simbolo terminale (simbolo che

non può essere ulteriormente suddiviso) appartiene una parola del linguaggio (es.:

Eat= verboDuck=nounDuck=verbo

Page 49: Elaborazione del linguaggio naturale

Prolog per analizzare frasi parser

s( sentence(NP,VP)) --> np(NP), vp(VP).

np(noun_phrase(NP)) -->prpn(PN)np(noun_phrase (D,N) -->det (D), n(N).np(noun_phrase (D,A,N)--> det(D),adjs(A),n(N).

adjs(adjective_phrase(A)-->adj(A).adjs(adjective_phrase(A,AJ))--> adj(A),adjs(AJ).

Page 50: Elaborazione del linguaggio naturale

Prolog per analizzare frasi parser…vp(verb_phrase (V)) --> v(V).vp(verb_phrase(V,NP))--> v(V),np(NP).

det(determiner(X)) --> [X],{member(X,[a,an,the])}.

n(noun(X)) --> [X],{member(X,[woman, food])}.

prpn(proper_noun(X)) --> [X],{member(X,[john,sue,bill])}.

adj(adjective(X)) --> [X],{member(X,[red,fat,new])}.

v(verb(X)) --> [X],{member(X,[eats,likes,works])}.

Page 51: Elaborazione del linguaggio naturale

Fornire informazioni ad un utente

Information retrieval

Information extraction

Question answering

Summarization

Textual entailment

….

Page 52: Elaborazione del linguaggio naturale

Information extraction – J. R. Hobbs

“An information extraction system is a cascade of transducers or modules that, at each step, add structure and often lose information, hopefully irrelevant, by applying rules that are acquired manually and/or automatically”.

Page 53: Elaborazione del linguaggio naturale

Estrazione di informazione da testi

L’estrazione di informazione da testi, IE (information extraction) è un processo di elaborazione che riceve in input testi e produce in uscita, come risultato dell’elaborazione, dati non ambigui in un formato predefinito.

Questi dati possono essere usati immediatamente, oppure possono essere conservati in una base di dati per analisi ed applicazioni successive.

Page 54: Elaborazione del linguaggio naturale

IE versus IR

L’information retrieval IR ricerca testi e li presenta all’utente

L’information extraction IE analizza testi e presenta all’utente solo quelle informazioni cui egli è interessato (xxx informazioni rilevanti xxx))

I sistemi di IE sono più costosi e richiedono maggiore conoscenza (knowledge-intensive); inoltre sono specifici per un particolare dominio ed applicazione. Nell’ipotesi di avere a disposizione grandi volumi di dati (domain document collection - corpora), i sistemi di IE diventano più efficienti di quelli di IR

Page 55: Elaborazione del linguaggio naturale

Problemi per l’IE

Il linguaggio naturale è:

Flessibile (modi diversi per affermare lo stesso fatto)

Ambiguo (la stessa affermazione può avere più significati)

Dinamico (vengono create nuove parole ed assegnati nuovi sensi a vecchie)

Page 56: Elaborazione del linguaggio naturale

IE tasks MUC Message Understanding Conference

Tradizionalmente si riconoscono 5 diversi task di IE:NE Named Entity recognition (ricerca e classificazione di

nomi, luoghi, etc)CO Coreference Resolution (identifica relazioni di

identità tra entità nei testi)TE Template Element construction (aggiunge

informazioni descrittive ai risultai del NE usando le CO)TR Template Relation construction (ricerca relazioni tra

entità TE)ST Scenario Template production (fa corrispondere i

risultati del TE e TR negli specifici eventi di scenario

Page 57: Elaborazione del linguaggio naturale

Performance dei task IE La performance dei task di IE dipende in maniera diversa

da:Testo (tipo di testo in analisi: articoli di giornale, email,

documenti web, …)Dominio (argomento generale dei corpora, es: notizie

finanziarie, domande di lavoro, offerte commerciali, …)Scenario (il particolare tipo di evento a cui è interessato

l’utente del sistema di IE, es: fusione di compagnie, curricula, descrizione di un prodotto, …)

Se si cambia la domanda di informazione ed il corpus di partenza, le performance del sistema possono cambiare.

Page 58: Elaborazione del linguaggio naturale

Named Entity recognition - NE

Vengono riconosciuti tutti i nomi di persone,luoghi, organizzazioni, date, quantità di denaro.

“Il 18 maggio 2006 il presidente Ciampi ha votato nel Senato come senatore a vita.”

“Le azioni della FIAT ieri hanno subito un ulteriore calo alla Borsa di Milano : le perdite dell’azienda sono dell’ordine di qualche milione di euro.”

Page 59: Elaborazione del linguaggio naturale

Named Entity recognition - NE

Vengono riconosciuti tutti i nomi di persone,luoghi, organizzazioni, date, quantità di denaro.

“Il 18 maggio 2006 il presidente Ciampi ha votato nel Senato come senatore a vita.”

“Le azioni della FIAT ieri hanno subito un ulteriore calo alla Borsa di Milano: le perdite dell’azienda sono dell’ordine di qualche milione di euro.”

Page 60: Elaborazione del linguaggio naturale

Named Entity recognition - NE

Le performance del task di NE sono molto alte (più del 90%) e paragonabili a quelle umane (difficoltà nel mantenere costanza di decisione nel tempo e su collezioni di documenti di grandi dimensioni )

Page 61: Elaborazione del linguaggio naturale

Coreference resolution - CO

Vengono identificate nei testi relazioni di identità tra entità (sia identificate dal NE, che referenze anaforiche ad esse).

Task meno utile a sé stante ma importante per applicazioni; identificare, e collegare in un ipertesto, tutte le occorrenze di una specifica istanza in un documento e in più documenti.

Performance della CO basse (circa 60%) e dipendenti dal dominio.

Page 62: Elaborazione del linguaggio naturale

Coreference resolution - CO

“Oggi il nuovo Presidente della Repubblica Italiana è entrato nel pieno delle sue funzioni”

“ Giorgio Napolitano ha ricevuto una scolaresca come primo atto da presidente della Repubblica; come ha avuto modo di dire loro, la qualificazione culturale dei giovani deve costituire un impegno per i responsabili della nazione. Lui si impegnerà in questa direzione.”

Page 63: Elaborazione del linguaggio naturale

Template Element production - TE

Come risultato delle attività di NE e CO, il sistema di IE diventa consapevole delle NE e delle loro descrizioni. Ciò rappresenta un primo livello di template (il cosiddetto template element).

L’insieme dei template elements può essere considerato come una prima base di conoscenza a cui il sistema accede per ottenere informazioni sui principali concetti di dominio, così come essi sono stati riconosciuti nel testo.

La performance del task è circa 80%, l’umano circa 90%.

Page 64: Elaborazione del linguaggio naturale

Template Element production - TE

ORGANIZZAZIONE 123456789-1

ORG_NAME FIAT

ORG_ALIAS Fiat

ORG_TYPE Gruppo

ORG_PLACE Torino

ORG_COUNTRY Italia

Page 65: Elaborazione del linguaggio naturale

Scenario template extraction - ST

L’estrazione del template di scenario rappresenta la sintesi delle attività di task diversi, soprattutto l’identificazione di alcuni template element che sono in relazione tra loro.

Ciò rappresenta un evento (scenario) collegato al dominio in esame. I valori riconosciuti vengono usati per riempire il template di scenario.

Page 66: Elaborazione del linguaggio naturale

Scenario template extraction - ST

TEMPLATES ST:<TEMPLATE> := DOC_NR: “ 56 “

CONTENT: <SUCCESSION EVENT 56-1> <SUCCESSION EVENT 56-1>:=

SUCCESSION_ORG: <ORGANIZATION 56-1>POST: “executive vice president ”IN_AND_OUT: <IN_AND_OUT 56-1>

<IN_AND_OUT 56-1>VACANCY REASON: OTH_UNK

Page 67: Elaborazione del linguaggio naturale

Scenario template extraction - ST

<IN_AND_OUT 56-1>:=IO_PERSON: <PERSON 56-2>NEW STATUS: OUTON_THE_JOB: NO

<IN_AND_OUT 56-1>:=

IO_PERSON: <PERSON 56-1>NEW STATUS: INON_THE_JOB: NOOTHER ORG: <ORGANIZATION 56-2>REL_OTHER_ORG: OUTSIDE_ORG

Page 68: Elaborazione del linguaggio naturale

Scenario template extraction - ST

TEMPLATES TE:<ORGANIZATION 56-1>:=

ORG_NAME: “Burns Fry Ltd.”ORG_ALIAS: “Burns Fry”ORG_DESCRIPTION: “this brokerage firm”ORG_TYPE: COMPANYORG_LOCALE: Toronto CITYORG_COUNTRY: Canada

<ORGANIZATION 56-2>:=

ORG_NAME: “Merrill Lynch Canada Inc.”ORG_ALIAS: “Merrill Lynch”ORG_DESCRIPTION: “a unit of Merrill Lync & Co.”ORG_TYPE: COMPANY

Page 69: Elaborazione del linguaggio naturale

Scenario template extraction - ST

<PERSON 56-1>:=PER_NAME: “Donald Wright”PER_ALIAS: “Wright”PER_TITLE: “Mr.”

<PERSON 56-2>:=PER_NAME: “Mark Kassirer”

Page 70: Elaborazione del linguaggio naturale

Architettura di un sistema di IE

Generalmente un sistema di IE è caratterizzato dai seguenti moduli fondamentali:

Text Zoner, Pre-processor, Filter, Pre-parser, Parser, Fragment Combiner, Semantic Interpreter, Lexical Disambiguation, Coreference Resolution or Discourse Processing, Template Generator.

Page 71: Elaborazione del linguaggio naturale

Architettura di un sistema di IE

Text ZoningQuesto modulo prende un testo e lo divide in

frammenti.  Pre-processorVengono localizzati gli estremi delle frasi ed

identificata, per ciascuna di esse, una sequenza di item lessicali (parole e Pos) 

Filter Vengono eliminate le frasi irrilevanti (frasi prive di

item rilevanti per l’applicazione) per ottenere testi brevi da elaborare

Page 72: Elaborazione del linguaggio naturale

Architettura di un sistema di IE

Pre-parser Vengono riconosciute strutture frasili minime (frasi

nominali, verbi con ausiliari, termini composti,…) per semplificare il compito del parser successivo.

ParserPartendo da sequenze di item lessicali (frammenti) si

produce un albero sintattico dell’intera frase.

Fragment CombinationSi ricombinano gli alberi sintattici dei frammenti

Page 73: Elaborazione del linguaggio naturale

Architettura di un sistema di IE

Semantic InterpretationDall’albero sintattico si produce una struttura

semantica, una forma logica o un frame evento. Si produce anche una prima disambiguazione lessicale.

Lexical DisambiguationSi passa da una struttura semantica con predicati

ambigui o generali ad una con predicati specifici e non ambigui.

Co-reference resolution Questo modulo risolve le coreferenze per entità

elementari (pronomi, frasi nominali, anafora).

Page 74: Elaborazione del linguaggio naturale

Architettura di un sistema di IE

Template Generation

Tutte le strutture semantiche generate dalle precedenti elaborazioni del linguaggio naturale sono usate per produrre il template finale per l’utente solo nel caso in cui gli eventi riconosciuti hanno una rilevanza per l’utente maggiore della soglia prefissata.

Page 75: Elaborazione del linguaggio naturale

Question/Answering - Q/A

I sistemi di Q/A forniscono l’indicazione del brano che contiene la risposta ad una richiesta dell’utente (non rispondono direttamente).

5 W (who, which, where, when, why)

Necessità di identificare preliminarmente le aree di interesse per l’utente (classi di domande) per finalizzare ad esse la struttura della conoscenza del sistema

Page 76: Elaborazione del linguaggio naturale

Architettura sistemi di Q/A

QuestionQuestionAnalysis

InformationRetrieval

AnswerExtraction

AnswerMergingAnswer

Page 77: Elaborazione del linguaggio naturale

Architettura sistemi di Q/A

Possono esserci loops

Non tutti i sistemi di Q/A aderiscono a questa architettura

Domande complesse (quale delle sorelle Carlucci è entrata in politica?)

Q/A in domini aperti o in domini chiusi

Page 78: Elaborazione del linguaggio naturale

Question/Answering - Q/A

Answer type: la classe di oggetti coinvolti dalla domanda; in genere sono strettamente collegati alle classi di NE riconosciute.

Question focus: proprietà od entità sottesa dalla domanda (In quale città c’è il Colosseo?)

Question topic: l’oggetto o l’evento cui attiene la domanda (es: “Qual è l’altezza del monte Everest?”, il focus è l’altezza, il topic è il monte Everest)

Candidate passage: un qualunque brano testuale (dalla frase all’intero documento) ritrovato in fase di ricerca

Candidate answer: nel contesto della domanda, una piccola quantità di testo dello stesso tipo dell’answer

Page 79: Elaborazione del linguaggio naturale

Question/Answering - Q/A

Risorse comunemente usate:

Algoritmi di apprendimento automaticoGazeteersNE taggersPart of Speech taggersParsersWordnetStopword listTerminologie di dominio….

Page 80: Elaborazione del linguaggio naturale

Question/Answering - Q/A

Domande capziose

“Chi sono i 5 uomini più ricchi del mondo?”

“Qual è l’attrice più famosa?

“Chi disse la celebre frase – Il dado è tratto?”

Page 81: Elaborazione del linguaggio naturale

Summarization

Text summarizationIl processo di selezione delle informazioni più importanti da

una o più sorgenti di informazione per produrre una versione trasversale per un particolare utente o task.

EstrattoSommario consistente interamente di materiale copiato

dall’inputAbstractSommario di cui parte del contenuto non è presente

nell’input (categorie, parafrasi del contenuto, etc.)

Page 82: Elaborazione del linguaggio naturale

Summarization – funzionalità

Sommari indicativiForniscono una funzione di riferimento per selezionare

documenti per una lettura più approfonditaSommari informativiCoprono tutte le informazioni salienti del documento

sorgente con un certo dettaglio Sommari valutativiValutano l’argomento della sorgente esprimendo il

punto di vista del sistema sulla qualità del lavoro dell’autore

Page 83: Elaborazione del linguaggio naturale

Textual entailment

Il textual entailment esprime una relazione tra • un testo coerente T e• una espressione linguistica detta ipotesi H

Si dice che T entails H (T->H)Se il significato di H può essere inferito dal significato di T

“Yahoo acquired Overture”entails“Yahoo owns Overture “

Page 84: Elaborazione del linguaggio naturale

Textual entailment

Funzione di entailment e(T,H)È una funzione probabilistica che mappa la coppia T-H con

un valore tra 0 ed 1 ed esprime la confidenza con cui un giudice umano o un sistema automatico può valutare la relazione esistente tra T ed H.

ParaphraseL’ipotesi esprime un fatto uguale a quello espresso dal

testo (Yahoo acquired Overture, Yahoo bought Overture)

Strict entailmentLa frase contiene più fatti tra cui uno può essere inferito

dall’altro (Yahoo acquired Overture, now Yahoo owns Overture)