Information Extraction Appunti estratti da un corso di Rada Michalcea.

23
Information Extraction Appunti estratti da un corso di Rada Michalcea

Transcript of Information Extraction Appunti estratti da un corso di Rada Michalcea.

Page 1: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Information Extraction

Appunti estratti da un corso di Rada Michalcea

Page 2: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Information Extraction (IE)

• Identifica frammenti di informazione specifici in testi parzialmente strutturati (ex. Xml) o non strutturati.

• Trasforma l’informazione estratta in un database strutturato.

• Si applica a dominii diversi:– Articoli di giornale– Pagine Web– Letteratura scientifica– Messaggi di Newsgroup– Annunci economici o di lavoro – Cartelle cliniche

Page 3: Information Extraction Appunti estratti da un corso di Rada Michalcea.

MUC

• DARPA ha finanziato ricerche in IE dal 1990.

• Message Understanding Conference (MUC) è la conferenza-gara del settore.

• Generalmente le gare hanno come tema l’estrazione di notizie da giornali:– Eventi terroristici– joint ventures– Cambi di management

Page 4: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Altre applicazioni

• Job postings:– Newsgroups: Rapier da austin.jobs– Pagine Web : Flipdog

• Annunci di lavoro: – BurningGlass– Mohomine

• Annunci di Seminari

• Notizie societarie sul web

• Corsi sul web (continuing education)

• Iformazioni e annunci universitari sul web

• Annunci di affitto appartamenti

• Informazioni di biologia molecolare su MEDLINE

Page 5: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Subject: US-TN-SOFTWARE PROGRAMMERDate: 17 Nov 1996 17:37:29 GMTOrganization: Reference.Com Posting ServiceMessage-ID: <[email protected]>

SOFTWARE PROGRAMMER

Position available for Software Programmer experienced in generating software for PC-Based Voice Mail systems. Experienced in C Programming. Must be familiar with communicating with and controlling voice cards; preferable Dialogic, however, experience with others such as Rhetorix and Natural Microsystems is okay. Prefer 5 years or more experience with PC Based Voice Mail, but will consider as little as 2 years. Need to find a Senior level person who can come on board and pick up code with very little training. Present Operating System is DOS. May go to OS-2 or UNIX in future.

Please reply to:Kim AndersonAdNET(901) 458-2888 [email protected]

Subject: US-TN-SOFTWARE PROGRAMMERDate: 17 Nov 1996 17:37:29 GMTOrganization: Reference.Com Posting ServiceMessage-ID: <[email protected]>

SOFTWARE PROGRAMMER

Position available for Software Programmer experienced in generating software for PC-Based Voice Mail systems. Experienced in C Programming. Must be familiar with communicating with and controlling voice cards; preferable Dialogic, however, experience with others such as Rhetorix and Natural Microsystems is okay. Prefer 5 years or more experience with PC Based Voice Mail, but will consider as little as 2 years. Need to find a Senior level person who can come on board and pick up code with very little training. Present Operating System is DOS. May go to OS-2 or UNIX in future.

Please reply to:Kim AndersonAdNET(901) 458-2888 [email protected]

Esempio Offerte di lavoro

Page 6: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Struttura estratta (template)

computer_science_jobid: [email protected]: SOFTWARE PROGRAMMERsalary:company:recruiter:state: TNcity:country: USlanguage: Cplatform: PC \ DOS \ OS-2 \ UNIXapplication:area: Voice Mailreq_years_experience: 2desired_years_experience: 5req_degree:desired_degree:post_date: 17 Nov 1996

Page 7: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Descrizione di libri Amazon….</td></tr></table><b class="sans">The Age of Spiritual Machines : When Computers Exceed Human Intelligence</b><br><font face=verdana,arial,helvetica size=-1>by <a href="/exec/obidos/search-handle-url/index=books&field-author= Kurzweil%2C%20Ray/002-6235079-4593641">Ray Kurzweil</a><br></font><br><a href="http://images.amazon.com/images/P/0140282025.01.LZZZZZZZ.jpg"><img src="http://images.amazon.com/images/P/0140282025.01.MZZZZZZZ.gif" width=90 height=140 align=left border=0></a><font face=verdana,arial,helvetica size=-1><span class="small"><span class="small"><b>List Price:</b> <span class=listprice>$14.95</span><br><b>Our Price: <font color=#990000>$11.96</font></b><br><b>You Save:</b> <font color=#990000><b>$2.99 </b>(20%)</font><br></span><p> <br>

….</td></tr></table><b class="sans">The Age of Spiritual Machines : When Computers Exceed Human Intelligence</b><br><font face=verdana,arial,helvetica size=-1>by <a href="/exec/obidos/search-handle-url/index=books&field-author= Kurzweil%2C%20Ray/002-6235079-4593641">Ray Kurzweil</a><br></font><br><a href="http://images.amazon.com/images/P/0140282025.01.LZZZZZZZ.jpg"><img src="http://images.amazon.com/images/P/0140282025.01.MZZZZZZZ.gif" width=90 height=140 align=left border=0></a><font face=verdana,arial,helvetica size=-1><span class="small"><span class="small"><b>List Price:</b> <span class=listprice>$14.95</span><br><b>Our Price: <font color=#990000>$11.96</font></b><br><b>You Save:</b> <font color=#990000><b>$2.99 </b>(20%)</font><br></span><p> <br>…

Page 8: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Template estratto

Title: The Age of Spiritual Machines : When Computers Exceed Human IntelligenceAuthor: Ray KurzweilList-Price: $14.95Price: $11.96::

Page 9: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Architettura di un sistema di IE

Riempimento dei templates

Definizionetemplate

Templates(unfilled)

Analisi dei testi: POS, NE recognition, ??

Pattern matching patterns

Analisi del discorso, inferenze

Definizionepatterns

Page 10: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Tipi di Template

• “record” di coppie attributo (slot) valore. Valori sono parti del testo con cui riempire lo slot.

• Gli slot vanno riempiti con stringhe la cui natura (lessicale, sintattica, semantica) è in genere predeterminata in modo più o meno specifico– Terrorist act: threatened, attempted, accomplished.– Job type: clerical, service, custodial, etc.– Company type: codice SEC

• Alcuni slot possono accettare elementi di una classe, es:.– Programming language

• In alcuni dominii si devono estrarre più templates da uno stesso documento.Una lista di appartamenti in un unico avviso

Page 11: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Identificazione dei “fillers” basata su pattern matching

• Generalmente si usano espressioni regolari:– Pattern che identifica un prezzo in Amazon Book: “\b\$\d+

(\.\d{2})?\b”

<b>List Price:</b> <span class=listprice>$14.95</span><br><b>Our Price: <font color=#990000>$11.96</font></b><br>

• L’espressione regolare in genere consente di identificare il “filler” ma impone condizioni anche sui pre-filler e post-filler (il contesto di un filler).– Listino prezzi Amazon:

• Pre-filler pattern: “<b>List Price:</b> <span class=listprice>”• Filler pattern: “.+”• Post-filler pattern: “</span>”

Page 12: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Template Extraction

• Nel caso si voglia estrarre da documenti semi-strutturati (es. Amazon) l’estrazione die templates è relativamente semplice, inoltre gli slot fillers seguono un ordine predeterminato: – Title– Author– List price– …

• Molto più complesso nel caso di testi liberi.

Page 13: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Natural Language Processing

• Nel caso si estraggano i patterns da pagine web automaticamente generate, bastano espressioni regolari.

• In caso contrario, occorre utilizzare alcune tecniche di NLP.– Part-of-speech (POS) tagging– Syntactic parsing– Categorie semantiche (es da WordNet)

• KILL: kill, murder, assassinate, strangle, suffocate

• I pattern possono usare categorie lessicali, sintattiche, semantiche.– Crime victim:

• Prefiller: [POS: V, Hypernym: KILL]• Filler: [Phrase: NP]

Page 14: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Apprendimento automatico di patterns per IE

•L’aspetto più critico è la scrittura di patterns (regex), specifici per ogni dominio e template

•Scrivere delle regex accurate richiede tempo, ed è una attività domain-dependent (non ri-usabile).

•L’alternativa è usare tecniche di machine learning:– Si parte da un set di apprendimento in cui esperti

umani evidenziano i patterns di interesse (es. si sottolineano i filler degli slots).

– Impara un modello generalizzato degli slot-fillers (cioè un pattern) usando algoritmi di ML.

Page 15: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Automatic Pattern-Learning Systems

• Vantaggi:– Portabile a vari dominii– I patterns hanno una copertura più ampia– Non serve rivolgersi a knowledge engineers

• Svantaggi:– Bisogna annotare un campione ampio di documenti.– Non funziona sicuramente meglio di un sistema in cui

i patterns siano scritti a mano

• Esempi: Riloff et al., AutoSlog (UMass); Soderland WHISK (UMass); Mooney et al. Rapier (Utexas)

Trainer

Decoder

Model

LanguageInput

Answers

AnswersLanguageInput

Page 16: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Rapier [Califf & Mooney, AAAI-99]

• Rapier apprende da templates con relativi slots riempiti a mano

• Rapier impara tre tipi di fillers per ciascuno slot, in stile di :Pre-filler pattern Filler pattern Post-filler pattern

Esempio di regola imparata da RAPIER per estrarre “transaction price”

“…paid $11M for the company…”“…sold to the bank for an undisclosed

amount…”“…paid Honeywell an undisclosed price…”

Page 17: Information Extraction Appunti estratti da un corso di Rada Michalcea.

esempio

“…sold to the bank for an undisclosed amount…”POS: vb pr det nn pr det jj nnSClass: price

“…paid Honeywell an undisclosed price…”POS: vb nnp det jj nnSClass: price

Page 18: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Rapier Rules: dettagli

• Rapier rule :=– pre-filler pattern– filler pattern– post-filler pattern

• pattern := subpattern +

• subpattern := constraint +

• constraint :=– Word - exact word that must be present– Tag - matched word must have given POS tag– Class - semantic class of matched word– Can specify disjunction with “{…}” – List length N - between 0 and N words satisfying other constraints

Page 19: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Algoritmo di apprendimento di Rapier

• Input: set of training examples (list of documents annotated with “extract this substring”)

• Output: set of rules

• Init: Rules = a rule that exactly matches each training example

• Repeat several times:– Seed: Select M examples randomly and generate the K

most-accurate maximally-general filler-only rules(prefiller = postfiller = “true”). Cioè la regola si applica solo al filler

– Grow:Repeat For N = 1, 2, 3, … Try to improve K best rules by adding N context words of prefiller or postfiller context Migliora la regola aggiungendo restrizioni sui pre e post fillers

– Keep:Rules = Rules the best of the K rules – subsumed rules

Page 20: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Esempio (una iterazione)

2 examples:‘… located in Atlanta, Georgia…”

‘… offices in Kansas City, Missouri…’

maximally specific rules(high precision, low recall)

maximally general rules(low precision, high recall)

appropriately general rule (high precision, high recall)

Init

Seed

Grow

Page 21: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Valutazione dell’accuratezza

• La valutazione va fatta su testi sui quali non sia stato fatto alcun apprendimento.

• Measura per ogni documento:– Numero totale di estrazioni corrette : N– Numero totale di coppie slot-valore estratte dal

sistema : E– Numero totale di coppie slot-valore estratte dal sistema

che sono corrette (rispetto al template-soluzione): C

• Misure di prestazione:– Recall = C/N– Precision = C/E– F-Measure = media armonica fra recall e precision

Page 22: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Web Semantico e IE

• Se i documenti sono annotati (dal semplice XML fino alle annotazioni semantiche mediante ontologoia) le tecniche di IE sarebbero banali.

• Ma…– E’ difficile annotare manualmente archivi documentali in xml o altri

linguaggi di annotazione.– Alcune industrie commerciali potrebbero essere riluttanti a fornire

dati in formati cosè accessibili.

• In realtà, un’altra applicazione di IE è proprio quella di trasformare documenti non strutturati in files annotati in xml.

“Mr. John Smith è stato nominato Presidente della ACE Spa il 25 dicembre 2222”.

<management_change>

<new_manager>Mr. John Smith</new_manager> è stato nominato <title>Presidente</title> della <company>ACE Spa</company> il <date_of_event>25 dicembre 2222 </date_of_event> </ management_change>

Page 23: Information Extraction Appunti estratti da un corso di Rada Michalcea.

Un esempio

•Un sistema di IE + ML sul Web:

•http://www.flipdog.com