Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"

Pagina creata da Lorenzo Manzoni
 
CONTINUA A LEGGERE
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Università degli Studi di Roma “Tor Vergata”
 ______________________________________________________

Sistemi per Open Information Extraction

 Manuel Fiorelli
 fiorelli@info.uniroma2.it
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Cos'è

 L'Open Information Extraction (Open IE) è stato introdotto da Banko et
 al (2007):
 a novel extraction paradigm that facilitates domain-independent discovery of
 relations extracted from text and readily scales to the diversity and size of
 the Web corpus

 Mausam (2016) ci dice:
 "Open Information Extraction (Open IE) extracts textual tuples comprising
 relation phrases and argument phrases from within a sentence, without
 requiring a pre-specified relation vocabulary"
 "Its key insight is to not only extract arguments, but also extract relation
 phrases from text itself"

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 2
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Arità delle relazioni

 I primi sistemi di Open IE estraevano relazioni binarie
 "Bill Gates co-founded Microsoft"

 (Bill Gates, founded, Microsoft)

 Tuttavia, sistemi più recenti sono in grado di gestire
 relazioni di arità maggiore di 2:
 "Yakub flew from London to Seattle" (Mausam, 2016)

 (Yakub, flew, from London, to Seattle)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 3
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Assunzioni linguistiche

 Alcuni sistemi sono in grado soltanto di estrarre relazioni
 mediate da verbi:
 "Bill Gates co-founded Microsoft"

 Ci sono sistemi (in particolare quelli più recenti) che supportano relazioni
 mediate da altre tipologie di parole (es. nomi):
 "Microsoft co-founder Bill Gates…"

 Un'altra assunzione molto comune nei primi sistemi è che la
 relation phrase si trovi in mezzo alle argument phrase:
 "Microsoft co-founder Bill Gates…"

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 4
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Analisi del contesto

 Negli esempi successivi, tratti da Mausam et al (2012), sono
 mostrati fenomeni di attribuzione e di verità condizionata:
 – "Early astronomers believed that the earth is the center of the
 universe"
 – "If he wins five key states, Romney will be elected President.”

 Questi fenomeni possono essere gestiti estendendo le tuple
 con componenti addizionali (es. attribuzione, condizione),
 oppure attraverso tuple nidificate.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 5
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Problema della sinonimia e della
 disambiguazione
 Le componenti delle tuple estratte da un sistema di Open IE sono
 generalmente stringhe (normalizzate), senza che venga fatto alcun
 tentativo di riconoscere sinonimi o risolvere le ambiguità
 Bill Gates was the president of Microsoft  (Bill Gates, be the president of, Microsoft) Relation phrase
 diverse per la
 Bill Gates was the chairman of Microsoft  (Bill Gates, be the chairman of, Microsoft) stessa relazione

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 6
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Vantaggi dell'Open IE [Banko et al (2007)]

 Automazione
 – Non richiede esempi, regole né alcun materiale di addestramento specifici
 per le relazioni da estrarre (che comunque non sono note a priori)

 Eterogeneità del corpus
 – Utilizza tecniche in grado di operare su documenti di tipologia e dominio
 diversi (NER e parser sintattici possono avere dei problemi)

 Efficienza
 – Utilizza tecniche efficienti e, in generale, compie un solo passaggio sul
 corpus da elaborare
 – Estrae tutte le relazioni dal corpus di input in una sola esecuzione, mentre
 nell'IE tradizionale occorre rieseguire il sistema (dopo averlo
 configurato/addestrato) ogni volta che cambia lo schema da popolare

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 7
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Applicazioni dell'Open IE [Mausam(2016)] (1/2)

 Applicazioni end-user
 – Interrogazione delle tuple estratte.
 • (?, kill, bacteria)

 – Esplorazione di un corpus
 • Per esempio, andando a leggere i documenti dai quali è stata
 estratta una certa tupla

 – Riepilogo delle informazioni (information summarization)
 • Per esempio, “(Jahangir, ?, ?) restituisce tutte le triple riguardanti "
 Jahangir"

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 8
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Applicazioni dell'Open IE [Mausam(2016)] (2/2)

 Applicazioni in task NLP
 Le tuple prodotte da un sistema di Open IE possono essere usate per
 costruire una rappresentazione intermedia del testo per implementare
 vari task:

 – Traditional IE

 – Event Schema Induction

 – Sentence Similarity

 – Text Comphrension

 – Lexical Similarity and Analogy

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 9
Sistemi per Open Information Extraction - Università degli Studi di Roma "Tor Vergata"
Sistemi di Open IE

 Alcuni sistemi per l'Open IE
 • TextRunner
 • ReVerb
 • OLLIE
 • Claus-IE
 • CSD-IE
 • DefIE
 • Open-IE 5

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 10
TextRunner [Banko et al (2007)] (1/2)

 TextRunner elabora una frase alla volta (single-pass extractor):
 – Effettua il pos tagging della frase
 – Utilizzare un chunker per identificare NP che potrebbero denotare entità
 – Per ogni coppia di NP, viene analizzato il testo nel mezzo, eliminando parti non
 essenziali:
 • "Scientists from many universities are studying…" "Scientists are studying…"
 • "definitely developed”  "developed"

 – La coppia di NP ed il testo normalizzato tra di loro è una tupla candidata
 – Le tuple candidate sono filtrate per mezzo di un classificatore (appreso in
 precedenza)

 La confidenza di una tupla viene quindi stimata in base al numero di frasi che
 la supportano (redundancy-based assessor).

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 11
TextRunner [Banko et al (2007)] (2/2)

 Il classificatore (Self-Supervised Learner) che stabilisce se un candidato è affidabile viene
 appreso offline in maniera self-supervised:
 1. Annota automaticamente i propri dati di addestramento
 2. Apprende un classificatore (Naive Bayes) che usa feature non lessicalizzate e
 che non richiedono un parse tree (es. presenza di certi POS tag, lunghezza della
 relation phrase, etc.)  il modello appreso si può applicare anche a relazioni
 mai viste nei dati di training
 Il primo punto può sembrare strano:
 – Perché non sfruttare capacità di annotare i dati di addestramento per
 annotare le tuple candidate in fase di estrazione?
 – La ragione è che questa capacità sfrutta una rappresentazione (basata
 sull'analisi delle dipendenze) dei dati di esempio diversa da quella che viene
 usata in fase di estrazione (basata sui pos tag)
 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 12
ReVerb [Fader et al (2011)] (1/6)

 ReVerb usa un approccio relation-first:
 – Identifica prima la relation phrase
 – Successivamente identifica le argument phrase

 Rispetto all'approccio argument-first (es. di TextRunner), riduco il
 rischio che certe parole vengano erroneamente inserite negli
 argomenti invece che nella relation phrase:
 – "Faust made a deal with the devil" produce in TextRunner la tupla
 (Faust, made, a deal) invece di (Faust, made a deal with, the devil)
 – In generale, possono essere gestite male tutte le costruzioni con light
 verb

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 13
ReVerb [Fader et al (2011)] (2/6)

 ReVerb usa un modello prestabilito delle relazioni (invece di
 apprenderlo come nel caso di TextRunner)

 Circa l'85% delle relation phrase binarie rette da verbi in un corpus
 di documenti Web soddisfa la seguente espressione regolare su
 POS tag (vincolo sintattico)
 V | V P | VW*P
 V = verb particle? adv?
 W = (noun | adj | adv | pron | det)
 P = (prep | particle | inf. marker)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 14
ReVerb [Fader et al (2011)] (3/6)

 Il vincolo sintattico aiuta ReVerb ad evitare estrazioni
 problematiche:

 • Incoerenti: relation phrase incomprensibile
 – " The guide contains dead links and omits sites" (relation
 phrase "contains omits")

 • Non informative: omettono informazioni critiche
 – "Faust made a deal with the devil"  (Faust, made, a deal)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 15
ReVerb [Fader et al (2011)] (4/6)

 ReVerb utilizza, inoltre, un vincolo lessicale:
 – Una relation phrase deve avere diverse istanze

 – In questo modo, si evita di estrarre tuple con una relation
 phrase eccessivamente specifica

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 16
ReVerb [Fader et al (2011)] (5/6)

 L'estrazione delle tuple in ReVerb funziona così:
 – Di ogni frase viene fatto il pos tagging e il chunking
 – Le relation phrase sono identificate andando a trovare le corrispondenze
 dell'espressione regolare (vincolo sintattico) nella frase (annotata con i pos tag).
 Corrispondenze adiacenti sono fuse.
 – Per ogni relation phrase r:
 • Il primo argomento x è la NP più vicina alla sinistra di r, che non è un pronome, un WHO-
 adverb o un there esistenziale
 • Il secondo argomento y è la NP più vicina alla destra di r

 – Vengono così prodotte le triple candidate (x, r, y)

 Ogni relation phrase deve anche soddisfare il vincolo lessicale.
 La confidenza delle tuple candidate viene calcolata usando una funzione
 appresa in precedenza su un training set.
 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 17
ReVerb [Fader et al (2011)] (6/6)

 Analisi degli errori
 REVERB - Incorrect Extractions
 65% Correct relation phrase, incorrect
 arguments
 16% N-ary relation
 8% Non-contiguous relation phrase
 2% Imperative verb
 2% Overspecified relation phrase
 7% Other, including POS/chunking errors

 REVERB - Missed Extractions
 52% Could not identify correct arguments
 23% Relation filtered out by lexical
 constraint
 17% Identified a more specific relation
 8% POS/chunking error

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 18
OLLIE [Mausam et al (2012)] (1/5)

 • Estrae relazioni mediate non solo da verbi ma anche da
 nomi, aggettivi ed altro  maggiore capacità di
 estrazione

 • Aggiunge alla tuple informazione contestuale
 (attribuzione e condizione)  maggiore precisione

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 19
OLLIE [Mausam et al (2012)] (2/5)

 In fase di estrazione:
 – OLLIE lavora sulla rappresentazione a dipendenze della frase in
 input (mentre TextRunner e ReVerb lavorano solo sui postag).

 – OLLIE cerca delle corrispondenze per degli open pattern
 template, consistenti in
 • Pattern sull'albero delle dipendenze

 • Template di tupla

 • Corrispondenza tra "variabili" nei due template

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 20
OLLIE [Mausam et al (2012)] (3/5)

 ({arg1}, {rel}, {arg2})
 {arg1} {rel} {arg2}

 (Bill Gates, founded, Microsoft)

 ({arg1}, be {rel} of, {arg2})
 {arg2} {rel:type=person} {arg1}

 Qualunque iponimo della
 parola "person"
 (Bill Gates, be co-founder of, Microsoft)
 Argomenti e relatione possono essere
 espansi attraverso certi tipi di dipendenze
 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 21
OLLIE [Mausam et al (2012)] (4/5)

 Attribuzione riconosciuta come dipendenza di tipo ccomp con un
 verbo comunicativo o cognitivo (in base a VerbNet)
 “Early astronomers believed that the earth is the center of the universe.”
 ((the earth; be the center of; the universe)
 AttributedTo believe; Early astronomers)

 Modificatori riconosciuti come dipendenza di tipo advcl, filtrata
 lessicalmente considerando un lessico di 16 termini (if, when, etc..)
 “If he wins five key states, Romney will be elected President.”
 ((Romney; will be elected; President)
 ClausalModifier if; he wins five key states)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 22
OLLIE [Mausam et al (2012)] (5/5)

 Gli open pattern template sono appresi mediante una tecnica di bootstrapping:
 – Si parte da un insieme di tuple (x, r, y) ad elevata confidenza prodotte da un
 sistema come ReVerb
 – Si cercano nel corpus di addestramento frasi che contengono le content word che
 costituiscono x, r, y (nota:il distant supervision differisce perché non cerca una
 corrispondenza per r)
 – Si considera il percorso nell'albero delle dipendenze associato a ciascuna
 corrispondenza: sulla base di alcuni controlli su questo percorso, si distinguono
 • Pattern puramente sintattici: non contengono alcune parole né restrizioni di
 tipo
 • Pattern lessico/semantici: vengono lasciate alcune parole (nel predicato o
 fuori), oppure sono calcolate (mediante una risorsa lessico-semantica delle
 restrizioni di tipo)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 23
ClausIE [Del Corro & Gemulla (2013)] (1/10)

 ClausIE elabora una frase alla volta, senza alcun post-
 processing. Estrazione in 4 fasi:
 – Parsing alle dipendenze
 – Determinazione delle clausole all'interno della frase usando le
 dipendenze
 – Identificazione del tipo di clausola, e derivazione di un insieme
 di clausole coerenti
 – Generazione delle proposizioni da un sottoinsieme delle
 clausole coerenti

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 24
ClausIE [Del Corro & Gemulla (2013)] (2/10)

 Una clausola è una parte di una frase che esprime un pezzo di
 informazione coerente. Essa consiste di:
 – Un subject (S)
 – Un verb (V)
 – Un direct object (O)
 – Un indirect object (O)
 – Un complement (C)
 – Zero o più adverbial (A)

 Solo certe combinazioni sono ammesse dalla grammatica inglese

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 25
ClausIE [Del Corro & Gemulla (2013)] (3/10)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 26
ClausIE [Del Corro & Gemulla (2013)] (4/10)

 • I costituenti di una clausola che fanno parte del suo
 tipo sono detti essenziali: rimuoverli renderebbe la
 clausola priva di significato (o cambierebbe il senso
 del verbo)

 • Gli altri costituenti sono detti opzionali. In generale,
 possono essere opzionali gli adverbial

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 27
ClausIE [Del Corro & Gemulla (2013)] (5/10)

 Le clausole possono essere determinate dall'analisi alle dipendenze.
 Per esempio: per ogni dipendenza di tipo nsubj si costruisce una clausola con:
 – Il dipendente è il subject (S)
 – Il governatore è il verb (V)

 Gli altri costituenti sono dipendenti del verbo:
 – Object (O) e complement (C) tramite dobj, iobj, xcomp e ccomp
 – Gli adverbial (A) tramite relazioni quali advmod, advcl o prep_in

 Altre clausole sono sintetizzate per (può gestire alcune relazioni non mediate da verbi):
 – Clausole relative in cui il pronome relativo è sostituito dal proprio antecedente (tramite
 rcmod)
 – Apposizioni e possessivi, introducendo un verbo sintetico, rispettivamente is o has
 – Participial modifiers

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 28
ClausIE [Del Corro & Gemulla (2013)] (6/10)

 Clausole identificate

 (S: Bell,V: makes, O: products)
 (S: Bell,V: based, A: Angeles)
 (S: Bell,Vc: is, C: Company)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 29
ClausIE [Del Corro & Gemulla (2013)] (7/10)

 Dopo aver identificato le clausole, occorre determinarne il tipo:
 • I tipi SVC, SVOO, and SVOC possono essere determinati
 soltanto dalla loro struttura; tutti gli adverbial sono opzionali
 • Per distinguere SV da SVA e SVO da SVOA, occorre vedere
 se:
 – L'adverbial è un candidato per essere essenziale (dipendente dal verbo
 ed alla sua destra)
 – il verbo è extended copular (SV vs SVA) oppure complex transitive (SVO
 da SVOA): a tale scopo sono usati dei lessici contenti verbi che
 sicuramente hanno oppure non hanno tale caratteristica

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 30
ClausIE [Del Corro & Gemulla (2013)] (8/10)

 Dopo aver determinato il tipo di una clausola, ClauIE
 genera tante clausole coerenti:
 – Selezionando tutti i costituenti essenziali

 – Al più un adverbial opzionale

 Inoltre, fa un'espansione delle clausole rispetto alle
 congiunzioni coordinanti.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 31
ClausIE [Del Corro & Gemulla (2013)] (9/10)

 Clausole identificate
 (S: Bell,V: makes, O: [electronic] products)
 Espansione (S: Bell,V: makes, O: [computer] products)
 (S: Bell,V: makes, O: products) congiunti (S: Bell,V: makes, O: [building] products)
 (S: Bell,V: based, A: Angeles) (S: Bell,V: distributes, O: [electronic] products)
 (S: Bell,Vc: is, C: Company) (S: Bell,V: distributes, O: [computer] products)
 (S: Bell,V: distributes, O: [building] products)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 32
ClausIE [Del Corro & Gemulla (2013)] (10/10)

 Dalle clausole così ottenute sono generate le triple:
 (“Bell”, “is”, “a telecommunication company”),
 (“Bell”, “is based”, “in Los Angeles”),
 (“Bell”, “makes”, “electronic products”),
 (“Bell”, “makes”, “computer products”),
 (“Bell”, “makes”, “building products”),
 (“Bell”, “distributes”, “electronic products”),
 (“Bell”, “distributes”, “computer products”),
 (“Bell”, “distributes”, “building products”)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 33
CSD-IE [Bast & Haussmann (2013)]

 CSD-IE utilizza la tecnica della contextual sentence decomposition, che era stata
 sviluppata originariamente per la ricerca semantica.
 Un contesto è una sotto-sequenza di parole che "si appartengono semanticamente".

 La frase seguente:
 Ruth Gabriel, daughter of the actress and writer Ana Maria Bueno, was born in San Fernando

 Contiene i seguenti contesti:
 #1:Ruth Gabriel was born in San Fernando
 #2: Ruth Gabriel, daughter of Ana Maria Bueno
 #3: actress Ana Maria Bueno
 #4: writer Ana Maria Bueno

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 34
CSD-IE [Bast & Haussmann (2013)]

 L'identificazione dei contesti viene fatta in due fasi:
 – Sentence constituent identification (SCI): applicando un
 insieme di regole al parse tree a costituenti si deriva un
 albero SCI che rappresenta i componenti principali dei
 contesti in una frase

 – Sentence constituent recombination (SCR): ricombina i nodi di
 un albero SCI per identificare i contesti finali della frase

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 35
CSD-IE [Bast & Haussmann (2013)]

 Ciascun contesto produce una tripla:
 – la prima verb phrase esplicita e l'eventuale avverbio vanno
 nella relazione

 – tutto ciò che viene prima va nel soggetto

 – tutto ciò che viene dopo va nell'oggetto

 In alcuni casi, viene sintetizzato un verbo

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 36
CSD-IE [Bast & Haussmann (2013)]

 Ruth Gabriel, daughter of the actress and writer Ana Maria
 Bueno, was born in San Fernando

contesti
#1:Ruth Gabriel was born in San Fernando

#2: Ruth Gabriel, daughter of Ana Maria Bueno

#3: actress Ana Maria Bueno
 triple
 #1: (Ruth Gabriel) (was born) (in San Fernando)
#4: writer Ana Maria Bueno
 #2: (Ruth Gabriel) (is) (daughter of Ana Maria Bueno)

 #3: (Ana Maria Bueno) (is) (actress)

 #4: (Ana Maria Bueno) (is) (writer)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 37
CSD-IE [Bast & Haussmann (2013)]

 Frasi come questa:
 Soubry graduated in law from the University of Birmingham in 1979
 Non sono decomposte nella fase di SCI; tuttavia, durante la fase di
 SCR, usando il parse tree viene notata la presenza di un nome e di
 sintagmi preposizionali; quindi saranno generate le seguenti triple:
 #1: (Soubry) (graduated) (in law)
 #2: (Soubry) (graduated) (in law from the University of Birmingham)
 #3: (Soubry) (graduated) (in law in 1979)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 38
CSD-IE [Bast & Haussmann (2013)]

 Gli obiettivi di CSD-IE sono:
 – Accuratezza delle estrazioni

 – Numero di estrazioni (estrarre quanti più possibili fatti da
 una frase)

 – Minimalità delle estrazioni (un'estrazione non dovrebbe
 contenere altre estrazioni accurate)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 39
DefIE [Delli Bovi et al (2015)] (1/6)

 Utilizza tecniche di Open IE migliorate semanticamente su
 corpus più piccoli e densi di natura prescrittiva (es. definizioni
 tratte da Wikipedia)

 – Combina analisi sintattica alle dipendenza con un approccio
 unificato per l'entity linking e word sense disambiguation

 – Produce triple semanticamente disambiguate su named entity e
 concetti tratti da risorse come Wikipedia e WordNet

 – Costruisce una tassonomia di relazioni

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 40
DefIE [Delli Bovi et al (2015)] (2/6)

 DefIE utilizza:
 – BabelNet come fonte di conoscenza di background che
 include sia named entity sia concetti generali

 – Babelfy per l'annotazione unificata di named entity e word
 senses

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 41
DefIE [Delli Bovi et al (2015)] (3/6)

 Da ciascuna definizione, viene calcolato l'albero delle dipendenze sintattiche (a) e viene
 effettuato l'entity linking/word sense disambiguation (b). Viene, quindi, creato un albero
 sintattico-semantico: i) i vertici sono annotati con i sensi (eventualmente fondendo
 multiword expressions), ii) aggiunti e modificatori non disambiguati vengono scartati.
 
 ( è l'i-esimo senso della parola "band" all'interno di BabelNet)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 42
DefIE [Delli Bovi et al (2015)] (4/6)

 Da ciascun albero sintattico-semantico, vengono identificati
 relation pattern come i) cammini minimi tra coppie di
 concetti, che ii) contengono almeno un verbo.

 → → 1 → → 

 → → 

 Successivamente sono eliminate le relazioni
 con un numero di istanze al di sotto di un
 certa soglia ρ

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 43
DefIE [Delli Bovi et al (2015)] (5/6)

 Di ciascuna relazione, viene determinato il dominio ed
 il range: l'iperonimo diretto della maggioranza dei
 soggetti e degli oggetti, rispettivamente.

 In aggiunta, viene calcolato uno score per ciascun
 relation pattern:
 Numero di istanze

 =
Entropia della distribuzione degli
 + 1 ℎ( )
 iperonimi degli argomenti Lunghezza del pattern
 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 44
DefIE [Delli Bovi et al (2015)] (6/6)

 Viene, infine, creata una tassonomia di relation pattern,
 andando a confrontare tutte le relazioni il cui pattern
 differisce soltanto per un nome.

 Hypernym (a) and substring (b) generalizations

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 45
OpenIE 5

 OpenIE 5 è il successore di Open IE 4, che a sua volta era il
 successore di OLLIE.
 Esso combina diversi sistemi:
 • CALMIE (Saha & Mausam, 2018) per trattare frasi congiuntive
 • BONIE (Saha et al., 2018) per estrarre relazioni numeriche, anche se
 esse sono implicite (es. inferire da "square kilometers" la relazione
 "area")
 • RelNoun (Pal & Mausam, 2016) per estrarre relazioni mediate da nomi
 • SRLIE (Christensen et al., 2011) per estrarre le relazioni mediante
 tecniche di Semantic Role Labeling (SRL)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 46
Ulteriori sfide

 Ci sono un numero di sfide (alcune accennate in
 precedenza) che meritano di essere sottolineate:
 – Sinonimia e ambiguità

 – Complessità del linguaggio naturale

 – Correttezza dell'informazione

 – Aspetti temporali/spaziali

 – Controllo di consistenza

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 47
Sinonimia (1/2)

 Una stessa entità può essere menzionata in modi diversi:
 John Fitzgerald Kennedy, John F. Kenney, John Kennedy, Jack
 Kennedy, JFK

 ma anche
 Kennedy, John

 nel caso di riferimenti parziali (vedi dopo)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 48
Sinonimia (2/2)

 Similmente, una certa relazione può essere espressa da
 parole diverse:
 X is the chairman of Y, X is the president of Y,

 ma anche con costrutti sintattici differenti:
 X is the ceo of Y, Y ceo X

 Alcuni sistemi (es. OLLIE) sono in grado di
 gestire relazioni mediate da diversi tipi di
 parole, e spesso possono generare la
 stessa relation phrase.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 49
Ambiguità

 La phrase "Kevin Smith" ha significati diversi nelle due
 pagine sottostanti tratte da Wikipedia (in inglese).

 https://en.wikipedia.org/wiki/Kevin_Smith https://en.wikipedia.org/wiki/Toronto_Blue_Jays_mi
 nor_league_players#Kevin_Smith

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 50
WordNet (1/2)

 WordNet1 è una risorsa lessico-semantica per l'inglese
 americano.
 – Parole (divise tra nomi, verbi, aggetti e avverbi)
 – Sensi delle parole
 – Synset (raggruppamenti di sensi che esprimono lo stesso concetto,
 descritto tramite una glossa)
 – Relazioni tra synset (es. iperonimia/iponimia) o tra sensi (es.
 antonimia)

 Tipicamente, in WordNet non troveremo named entity, ma
 soprattutto nomi comuni.
 1 https://wordnet.princeton.edu/

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 51
WordNet (2/2)

 "president" e "chairman" sono quasi
 sinonimi, perché hanno dei sensi che
 esprimono lo stesso concetto.

Tuttavia, per essere precisi dovremmo
sapere con quale senso le due parole sono
state usate nel testo, cioè dovremmo avere
effettuato la word sense disambiguation.

 Manuel Fiorelli fiorelli@info.uniroma2.it
 29/11/2018 http://art.uniroma2.it/fiorelli 52
Word sense disambiguation (WSD)
 Una parola può avere più sensi:

 Tuttavia, all'interno di una frase ciascuna parola dovrebbe essere usata in un
 determinato senso (a meno di fenomeni particolari come il doppio senso).

 In linguistica computazionale, il task di word sense disambiguation consiste nel
 determinare con quale senso una parola è usata all'interno di una frase (quando la
 parola ha più significati).

 Questo task presuppone l'esistenza di un repertorio di word sense (es. WordNet).

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 53
Entity Linking o Named Entity Disambiguation

 Citando https://en.wikipedia.org/wiki/Entity_linking:
 In natural language processing, entity linking, named entity
 linking (NEL),[1] named entity disambiguation (NED), named
 entity recognition and disambiguation (NERD) or named
 entity normalization (NEN)[2] is the task of determining the
 identity of entities mentioned in text. […] Entity linking requires a
 knowledge base containing the entities to which entity mentions
 can be linked.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 54
DBpedia Spotlight

 DBpedia Spotlight1 riconosce (soltanto) risorse definite in DBpedia.

 Manuel Fiorelli non
 è riconosciuto
 come menzione di
 una Person, perché
 non c'è una risorsa
 corrispondente in
 DBpedia

 1 https://www.dbpedia-spotlight.org/

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 55
DBpedia Spotlight

 iPhone 3GS è riconosciuto
 come menzione di un
 prodotto della Apple

 iPhone X non è riconosciuto come
 menzione di un prodotto della Apple. La
 sua pagina su Wikiepedia è stata create
 il 10 settembre 2017, mentre la versione
 attuale di Dbpedia è basata su un dump
 di Wikipedia generato nell'ottobre 2016.
 Pertanto, l'iPhone X non ha attualmente
 una risorse in Dbpedia. Questo problema
 sarebbe evitato dall'uso di Dbpedia Live;
 tuttavia, ci sarebbe comunque un
 problema con i modelli usati da Spotlight,
 che non sono aggiornati.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 56
DBpedia Spotlight - Flow

 Input content

 Spotting
 Identifica le porzioni del documento che
 potrebbero essere menzioni di entità

 Candidate Selection
 Associa alle menzioni identificate le entità di Dbpedia che sono
 candidate ad esprimere il significato di queste menzioni
 1
 2
 3 Disambiguation
 21
 1
 Decide qual è il significato delle menzioni

 1
 2
 3 Filtering
 21
 1
 Aggiusta il processo di annotazione attraverso dei
 parametri di configurazione

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 57
DBpedia Spotlight – Due varianti

 Esistono due varianti di DBpedia Spotlight. Entrambe
 usano l'insieme dei link all'interno di Wikipedia.
 – lucene: basata sul vector space model (VSM). Associa a
 ciascuna risorsa una sorta di documento virtuale ottenuto
 combinando tutti i paragrafi all'interno di Wikipedia che la
 menzionano. La disambiguazione si basa sulla similarità tra
 il contesto di una menzione e questo documento virtuale.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 58
DBpedia Spotlight – Due varianti

 Esistono due varianti di DBpedia Spotlight. Entrambe usano l'insieme dei link
 all'interno di Wikipedia.

 – model (più accurata, minore consumo memoria/tempo): basata su un modello
 generativo. La disambiguazione si effettua come un problema di
 Assumendo s e c indipendenti, possiamo esprimerla
 ottimizzazione: come prodotto di due probabilità
 Numero di e e
 link che e = e e = e
 ( )
 = e e e
puntano a e Probabilità che un token t occorre nel
 = e e e e contesto di una menzione

 (e) e t = e + 1 − 
 e = c|e = ෑ e ( ) Smoothed unigram language model
 | |
 (e, ) 
 Numero s|e = e ( )
totale di link ( ) e_ML t =
 σ e ( )
 Numero di link ad e con Assumendo che i token siano Numero di occorrenze del token t nel
 surface form s indipendenti contesto di link a e
 Manuel Fiorelli fiorelli@info.uniroma2.it
 29/11/2018 http://art.uniroma2.it/fiorelli 59
DBpedia Spotlight - Evaluation

 Source:
(Mendes et al., 2011)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 60
DBpedia Spotlight – on premises

 See https://github.com/dbpedia-spotlight/dbpedia-
 spotlight-lucene or https://github.com/dbpedia-
 spotlight/dbpedia-spotlight-model
 wget http://downloads.dbpedia-spotlight.org/spotlight/dbpedia-spotlight-1.0.0.jar
 wget http://downloads.dbpedia-spotlight.org/2016-04/en/model/en.tar.gz
 tar xzf en.tar.gz
 java -jar dbpedia-spotlight-1.0.jar en_2+2 http://localhost:2222/rest

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 61
DBpedia Spotlight - API

 curl http://model.dbpedia-spotlight.org/en/annotate \
 --data-urlencode "text=President Obama called
 Wednesday on Congress to extend a tax break
 for students included in last year's economic stimulus
 package, arguing that the policy provides more generous
 assistance." \
 --data "confidence=0.35" \
 -H "Accept: application/json"

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 62
Vinculum (Ling & Sing, 2015)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 63
Vinculum (Ling & Sing, 2015)

 Fonte: https://kgtutorial.github.io/wsdm-slides/Part2_knowledge-extraction.pdf

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 64
EL incontra WSD [Moro et al (2015)] (1/2)

 Si può utilizzare una base di conoscenza che combina
 informazione lessicale (sulla parole) e enciclopedica (sulle
 named entity)

 BabelNet è un candidato ideale, perché combina Wikipedia,
 WordNet, ed altre risorse

 Annotando il testo si risolveranno in modo unificato sia
 entity linking sia word sense disambiguation.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 65
EL incontra WSD [Moro et al (2015)] (2/2)

 L'approccio proposto funziona grandi linee così:
 Offline

 – Per ogni entità della KB si determina la sua semantic signature, ovvero una
 distribuzione di probabilità su altre risorse della KB (ottenuta mediante Random Walk
 with Restart avendo calcolato in maniera strutturale un peso per ciascun collegamento)

 Online

 – Si associano ai frammenti di testo dei significati candidati

 – Un candidato per un frammento viene collegato ad un candidato di un altro
 frammento, se il secondo è nella semantic signature del primo (quindi sono relazionati)

 – Viene estratto un sottografo denso da questa rappresentazione, e si seleziona il
 miglior candidato per ogni frammento

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 66
Risoluzione di sinonimi non supervisionata
 [Yates & Etzioni (2007)] (1/2)

 Elaborazione a posteriori delle tuple estratte da un sistema di Open IE,
 al fine di rilevare relation e argument phrase sinonime.

 Due sorgenti di evidenza per stabilire la probabilità che due phrase
 sono sinonime:
 – Similarità tra stringhe

 – Numero di proprietà in comune (per gli oggetti) o di istanze (per le relazioni):
 es. (Mars, lacks, ozone layer) (Red Planet, lacks, ozone layer), …

 Clustering delle phrases determinata da questa misura di probabilità.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 67
Risoluzione di sinonimi non supervisionata
 [Yates & Etzioni (2007)] (2/2)

 Il processo di clustering delle phrase comporta una mutua
 ricorsione:
 – Quando accorpiamo due relation phrase, è possibile che
 scopriamo ulteriori proprietà condivise da argument phrase
 coreferenti (ma non ancora classificate come tali)

 – Quando accorpiamo due argument phrase, è possibile che
 scopriamo ulteriori istanze condivise da relation phrase
 coreferenti (ma non ancora classificate come tali)

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 68
Complessità del linguaggio naturale

 • Coreferenza

 • Metafora

 • Ironia, sarcasmo

 • Frasi complesse o sgrammaticate

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 69
Complessità del linguaggio naturale -
 Coreferenza

 Citando https://en.wikipedia.org/wiki/Coreference:
 In linguistics, coreference, sometimes written co-reference, occurs
 when two or more expressions in a text refer to the same person
 or thing; they have the same referent, […] When two expressions
 are coreferential, the one is usually a full form (the antecedent) and
 the other is an abbreviated form (a proform or anaphor). Linguists
 use indices to show coreference, as with the i index in the example
 Billi said hei would come.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 70
Complessità del linguaggio naturale -
 Coreferenza
 anaphora Immagini ottenute modificando l'output di:
 http://corenlp.run/

 partial reference

 Split antecedent

 Split antecedent & coreferring noun phrase

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 71
Complessità del linguaggio naturale -
 Coreferenza

 La risoluzione dell'anafora ci aiuta ad avere estrazioni più significative:
 (he, developed, theory of relativity)  (Albert Einstein, developed, theory of relativity)

 La risoluzione della coreferenza serve a riconoscere che gli argomenti
 di due tuple sono la stessa entità (a dispetto di nomi diversi)

 Essa può servire per passare da una noun phrase come "these
 scientists" alle named entity coinvolte, Albert Einstein and Erwin
 Schrödinger

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 72
Complessità del linguaggio naturale - Metafora

 La comprensione del linguaggio naturale è resa più complicata dall'uso di
 metafore e, più in generale, di forme la cui comprensione richiede di andare
 oltre il significato letterale.

 • "Roma deve mettere nero su bianco le modifiche della manovra": la parola
 "Roma" non indica la città, bensì il governo della Repubblica Italiana che ha
 sede a Roma (metonimia)

 • "Questo problema è solo la punta dell'iceberg": si intende che c'è altro
 oltre il problema di cui si parla, attraverso un riferimento al fatto che
 sotto la parte visibile di un iceberg (la punta) c'è una massa sommersa
 nascosta.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 73
Complessità del linguaggio naturale -
 Sarcasmo

 Fatto accaduto al Tour de France del 2013

 Fonte: https://www.tgcom24.mediaset.it/sport/articoli/1105362/tour-de-france-busta-d-urina-lanciata-addosso-a-cavendish.shtml
 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 74
Complessità del linguaggio naturale -
 Sarcasmo

 Qualcuno l'ha commentato su Twitter più o meno così
 (purtroppo non ho conservato il link):

 Mark Cavendish ha conquistato la maglia gialla

 Da un simile post si potrebbe estrarre il fatto che Mark
 Cavendish ha ottenuto la maglia gialla…

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 75
Correttezza dell'informazione

 Un pezzo di informazione estratto da un sistema di (Open)
 IE potrebbe non essere corretto:
 – Errore del processo di estrazione
 – Oppure, si è estratto in maniera corretta dell'informazione falsa

 L'affidabilità di un'estrazione può essere valutata in base alla:
 – Confidenza dell'estrattore (rischio di errore in estrazione)
 – Numero di occorrenze (ma attenzione alle bufale virali)
 – Credibilità dei documenti in cui occorre

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 76
Aspetti temporali/spaziali

 Tempo:
 – La capitale del Brasile: Salvador, Rio de Janeiro, Brasilia (in
 diversi periodi)

 Spaziale:
 – In natura orsi polari e pinguini
 non si incontrano (dal 1844)

Vedi: https://www.focus.it/ambiente/animali/si-potrebbero-far-vivere-i-pinguini-al-polo-nord
 Manuel Fiorelli fiorelli@info.uniroma2.it
 29/11/2018 http://art.uniroma2.it/fiorelli 77
Controllo di consistenza

 Verificare che la conoscenza estratta non contenga
 contraddizioni.

 Difficile in un contesto di Open IE:
 – Apprendimento degli assiomi

 – Oppure, aggiunta di una o più ontologie di riferimento

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 78
Riferimenti (1/3)

 • Banko, M., Cafarella, M. J., Soderland, S., Broadhead, M., & Etzioni, O. (2007, January). Open
 information extraction from the web. In IJCAI (Vol. 7, pp. 2670-2676).
 • Bast, H., & Haussmann, E. (2013, September). Open information extraction via contextual sentence
 decomposition. In Semantic Computing (ICSC), 2013 IEEE Seventh International Conference on (pp. 154-
 159). IEEE.
 • Bovi, C. D., Telesca, L., & Navigli, R. (2015). Large-scale information extraction from textual
 definitions through deep syntactic and semantic analysis. Transactions of the Association for
 Computational Linguistics, 3, 529-543.
 • Del Corro, L., & Gemulla, R. (2013, May). Clausie: clause-based open information extraction. In
 Proceedings of the 22nd international conference on World Wide Web (pp. 355-366). ACM.
 • Daiber, J., Jakob, M., Hokamp, C., & Mendes, P. N. (2013, September). Improving efficiency and
 accuracy in multilingual entity extraction. In Proceedings of the 9th International Conference on
 Semantic Systems (pp. 121-124). ACM.
 • Etzioni, O., Banko, M., Soderland, S., & Weld, D. S. (2008). Open information extraction from the
 web. Communications of the ACM, 51(12), 68-74.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 79
Riferimenti (2/3)

 • Fader, A., Soderland, S., & Etzioni, O. (2011, July). Identifying relations for open information
 extraction. In Proceedings of the conference on empirical methods in natural language processing (pp.
 1535-1545). Association for Computational Linguistics.
 • Ling, X., Singh, S., & Weld, D. S. (2015). Design challenges for entity linking. Transactions of the
 Association for Computational Linguistics, 3, 315-328.
 • Mausam, M. (2016, July). Open information extraction systems and downstream applications. In
 Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence (pp. 4074-4077).
 AAAI Press.
 • Mendes, P. N., Jakob, M., García-Silva, A., & Bizer, C. (2011, September). DBpedia spotlight:
 shedding light on the web of documents. In Proceedings of the 7th international conference on semantic
 systems (pp. 1-8). ACM.
 • Moro, A., Raganato, A., & Navigli, R. (2014). Entity linking meets word sense disambiguation: a
 unified approach. Transactions of the Association for Computational Linguistics, 2, 231-244.

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 80
Riferimenti (3/3)

 • Schmitz, M., Bart, R., Soderland, S., & Etzioni, O. (2012, July). Open language learning for
 information extraction. In Proceedings of the 2012 Joint Conference on Empirical Methods in Natural
 Language Processing and Computational Natural Language Learning (pp. 523-534). Association for
 Computational Linguistics.

 • Yates, A., & Etzioni, O. (2007). Unsupervised resolution of objects and relations on the web. In
 Human Language Technologies 2007: The Conference of the North American Chapter of the Association
 for Computational Linguistics; Proceedings of the Main Conference (pp. 121-130).

 Manuel Fiorelli fiorelli@info.uniroma2.it
29/11/2018 http://art.uniroma2.it/fiorelli 81
Puoi anche leggere