sistemi avanzati di ricerca di informazioni sul web

29
Sistemi avanzati di ricerca di informazioni sul web

Upload: renzo-pini

Post on 02-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi avanzati di ricerca di informazioni sul web

Sistemi avanzati di ricerca di informazioni sul web

Page 2: Sistemi avanzati di ricerca di informazioni sul web

Sistemi avanzati per il Web•Sistemi di Information Extraction

•Sistemi di Question Answering

Page 3: Sistemi avanzati di ricerca di informazioni sul web

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 4: Sistemi avanzati di ricerca di informazioni sul web

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 5: Sistemi avanzati di ricerca di informazioni sul web

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 6: Sistemi avanzati di ricerca di informazioni sul web

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 7: Sistemi avanzati di ricerca di informazioni sul web

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 8: Sistemi avanzati di ricerca di informazioni sul web

Esempio 2

Page 9: Sistemi avanzati di ricerca di informazioni sul web

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 10: Sistemi avanzati di ricerca di informazioni sul web

Template estratto

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

Page 11: Sistemi avanzati di ricerca di informazioni sul web

IE vrs web IE

•I sistemi di IE non-web analizzano documenti non strutturati, utilizzando prevalentemente metodi di analisi del linguaggio naturale

•I sistemi web analizzano documenti semi-strutturati (offerte di lavoro, avvisi commerciali, ..) e utilizzano prevalentemente pattern-matching e metodi di machine learning

Page 12: Sistemi avanzati di ricerca di informazioni sul web
Page 13: Sistemi avanzati di ricerca di informazioni sul web

Web-based IE Wrappers

1. creazione di un insieme di esempi, o “learning set”

2. Annotazione manuale degli esempi

3. Estrazione di regole e generalizzazione

4. Produzione del risultato di output nel formato prescelto

Page 14: Sistemi avanzati di ricerca di informazioni sul web

Web IE: Wrappers

Page 15: Sistemi avanzati di ricerca di informazioni sul web

Architettura di un sistema di IE non web

Riempimento dei templates

Definizionetemplate

Templates(unfilled)

Analisi dei testi: POS, NE recognition, ??

Pattern matching patterns

Analisi del discorso, inferenze

Definizionepatterns

Page 16: Sistemi avanzati di ricerca di informazioni sul web

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 17: Sistemi avanzati di ricerca di informazioni sul web

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 18: Sistemi avanzati di ricerca di informazioni sul web

Template Extraction

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

• Molto più complesso nel caso di testi liberi.

Page 19: Sistemi avanzati di ricerca di informazioni sul web

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 20: Sistemi avanzati di ricerca di informazioni sul web

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 21: Sistemi avanzati di ricerca di informazioni sul web

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 22: Sistemi avanzati di ricerca di informazioni sul web

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 23: Sistemi avanzati di ricerca di informazioni sul web

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 24: Sistemi avanzati di ricerca di informazioni sul web

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 25: Sistemi avanzati di ricerca di informazioni sul web

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 26: Sistemi avanzati di ricerca di informazioni sul web

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 27: Sistemi avanzati di ricerca di informazioni sul web

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 28: Sistemi avanzati di ricerca di informazioni sul web

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 29: Sistemi avanzati di ricerca di informazioni sul web

Un esempio