UNIVERSITÀ DEGLI STUDI DI BARI Facoltà di Scienze Matematiche, Fisiche e Naturali Dipartimento di Informatica Information Extraction Prof. Giovanni Semeraro Dott. Pasquale Lops Dott. Marco Degemmis Corso di Gestione della Conoscenza d Impresa Anno Accademico 20042005 Information Extraction (IE) è il task che consiste nel localizzare informazioni specifiche all interno di documenti espressi in linguaggio naturale. OBIETTIVI Sviluppo di metodologie in grado di elaborare il testo dei documenti Estrazione di concetti che consentono di descrivere il contenuto dei documenti Rappresentazione strutturata delle informazioni estratte Line Eikvil, 1999 Information Extraction from World Wide Web: a survey Information Extraction 2 1
Information Retrieval (IR) Task che consiste nel ritrovare documenti rilevanti in relazione alle specifiche esigenze dell utente un sistema per IR è usato per memorizzare informazioni passibili di elaborazione, ricerca, recupero e distribuzione a differenti popolazioni di utenti. Salton G., McGill M.J. Introduction to Modern Information Retrieval. McGrawHill, 1983. Information Extraction 3 IR vs. IE IR Seleziona un set di documenti rilevanti da vaste collezioni Il testo è una raccolta disordinata di parole IE Estrae informazioni rilevanti da documenti È interessata alla struttura del testo SONO TECNICHE COMPLEMENTARI PER IL TEXT PROCESSING Information Extraction 4 2
Esempio di rappresentazione TEMPLATE SLOTVALUE Document Iama a Windows NT software engineer seeking a permanent position in a small quiet town 50100 miles from New York City. Ihaveovernineteen years of experience in all aspects of development of application software, with recent focus on design and implementation of systems involving multithreading, client/server architecture, and antipiracy. For the past 5 years, I have implemented Win NT services in Visual C++. I also have designed and implemented applications in Java. Before working with Win NT, I programmed in C under OpenVMS for 5 years. TITLE: LOCATION: LANGUAGE: PLATFORM: AREA: YEARS OF OF EXPERIENCE: Windows NT NT software engineer New New York City Visual C++, C, C, Java Win Win NT, NT, OpenVMS multithreading, client/server, antipiracy. 19 19 years Information Extraction 5 IE: motivazioni Due fattori hanno contribuito in maniera decisiva allo sviluppo dell IE nell ultimo decennio: Information Overflow Message Understanding Conference Information Extraction 6 3
Information Overflow Negli ultimi anni si è registrata una crescita esponenziale del volume di dati testuali disponibili online e offline. Questo fenomeno si è scontrato con l assenza di sistemi efficienti per la gestione di grandi quantità di dati non strutturati. Difficoltà nel selezionare informazioni utili dalla massa di informazioni proveniente da sorgenti di testo distribuite ed eterogenee Information Extraction 7 MUC: la storia (1) Verso la fine degli anni 80 il governo USA sponsorizzò il progetto MUC per valutare e migliorare lo stato dell arte nel campo dell IE. Diversi laboratori di ricerca accademici ed industriali furono impegnati nello sviluppo di sistemi per l IE in domini specifici. Costituì un primo tentativo di ottenere una valutazione quantitativa delle prestazioni di un sistema per l IE basandosi su rigorose procedure di test. Information Extraction 8 4
MUC: la storia (2) A ciascun testo appartenente al corpus di valutazione fu associato un template codificato a mano e progettato per contenere tutte le informazioni rilevanti incorporate nel documento sorgente. L obiettivo era quello di progettare sistemi che fossero in grado di generare i template senza nessuna assistenza umana. Information Extraction 9 Il risultato Il progetto ha dimostrato che: È possibile realizzare sistemi completamente automatizzati Le prestazioni in alcuni task specifici sono paragonabili a quelle di un esperto umano Information Extraction 10 5
Information Extraction: strategie Knowledge Engineering Le regole di estrazione sono costruite manualmente basandosi sulla conoscenza del dominio applicativo Automatic Training Per apprendere le regole di estrazione un algoritmo di training è eseguito su un corpus di documenti annotati per evidenziare le informazioni di interesse Information Extraction 11 Knowledge Engineering Approach Garantisce il controllo del processo di costruzione delle regole di estrazione Determina una forte dipendenza dal grado di abilità dall ingegnere della conoscenza che costruisce le regole Rende laborioso il processo di sviluppo dei sistemi Information Extraction 12 6
Automatic Training Approach Consente uno sviluppo più rapido dei sistemi Richiede uno sforzo minore nell adattare i sistemi ad un nuovo dominio applicativo Necessita della disponibilità di un volume soddisfacente di documenti di training Information Extraction 13 Le fasi di un sistema per IE documento Analisi locale del testo Analisi lessicale Riconoscimento dei nomi Fase di estrazione dei singoli fatti dal testo Analisi sintattica Pattern matching Analisi del discorso Analisi di coreferenza Integrazione dei fatti estratti al fine di ampliarli o produrne di nuovi Inferenza Generazione dei template Template estratti Traduzione nel formato di output richiesto Information Extraction 14 7
Esame delle singole fasi Le fasi del processo saranno analizzate illustrandone i risultati sul frammento di testo: Sam Schwarts retired as executive vice president of the famous hot dog manufacturer, Hupplewhite Inc. He will be succeeded by Harry Himmelfarb Information Extraction 15 Analisi Lessicale documento Analisi locale del testo Analisi lessicale Riconoscimento dei nomi Analisi sintattica Pattern matching Analisi lessicale Analisi del discorso Analisi di coreferenza Inferenza Generazione dei template consente di assegnare opportune proprietà alle singole parole o alle espressioni idiomatiche del testo Template estratti Information Extraction 16 8
Analisi Lessicale: tokens TOKEN: elemento che può corrispondere ad una parola, un numero, un simbolo di punteggiatura oppure qualsiasi altra unità in grado di essere passata alla fase di elaborazione successiva. TOKENIZZATORE: dispositivo che segmenta un flusso di input in una sequenza ordinata di token. Information Extraction 17 Analisi Lessicale: terminologia PARTOFSPEECH TAG: ruolo grammaticale assunto da una determinata parola. ANALIZZATORE MORFOLOGICO: programma che utilizza un lexicon per classificare i vari token. Associa ad un token tutti i possibili partofspeech che può assumere. LEXICON: database lessicale (specifico per una particolare lingua) che indica i possibili partofspeech di una parola. PARTOFSPEECH TAGGER: disambiguatore di partofspeech. Information Extraction 18 9
Riconoscimento dei nomi documento Analisi locale del testo Analisi lessicale Riconoscimento dei nomi Riconoscimento dei nomi Analisi sintattica Pattern matching Analisi del discorso Analisi di coreferenza Inferenza Generazione dei template Template estratti L obiettivo di questa fase è quello di identificare nomi ed altre strutture lessicali speciali (date, importi), usando pattern (espressioni regolari) rappresentati in termini di partofspeech, caratteristiche sintattiche ed ortografiche. Information Extraction 19 Riconoscimento dei nomi: esempio I nomi propri potrebbero essere identificati da: Un titolo che precede un nome Mr. Herrington David Un suffisso John Smith Jr. Una iniziale puntata all interno di una sequenza di nomi Humble T. Hopp Information Extraction 20 10
Riconoscimento dei nomi: risultato [ name type: person Sam Schwarts] retired as executive vice president of the famous hot dog manufacturer, [ name type: company Hupplewhite Inc.] He will succeeded by [ name type: person Harry Himmelfarb] Information Extraction 21 Analisi Sintattica (1) documento Analisi locale del testo Analisi lessicale Analisi sintattica Riconoscimento dei nomi Analisi sintattica Pattern matching Analisi del discorso Analisi di coreferenza identificazione di legami sintattici elementari fra i diversi elementi di una frase Inferenza Generazione dei template Template estratti Information Extraction 22 11
Analisi Sintattica (2) Si rinuncia alla determinazione del completo albero sintattico di interpretazione della frase in favore di una interpretazione locale dei sintagmi di una porzione della frase stessa. SINTAGMA: parola o insieme di parole che abbiano un significato logico Information Extraction 23 Analisi Sintattica (3) Ritornando all esempio iniziale, l applicazione della fase di partial parsing consente l individuazione dei gruppi verbali e delle frasi nominali: [ np entity: e1 Sam Schwarts] [ vg retired] as [ np entity: e2 executive vice president] of [ np entity: e3 the famous hot dog manufacturer], [ np entity: e4 Hupplewhite Inc.] [ np entity: e5 He] [ vg will succeeded] by [ np entity: Harry Himmelfarb] e6 Information Extraction 24 12
Analisi Sintattica (4) A ciascun gruppo nominale il sistema assegna una entità semantica: Entity e1 Entity e2 Entity e3 Entity e4 Entity e5 Entity e6 Type: person name: Sam Schwarts Type: position value: executive vice president Type: manufacturer Type: company name: Hupplewhite Inc. Type: person Type: person name: Harry Himmelfarb Information Extraction 25 Analisi Sintattica (5) Aggregazione dei gruppi in costrutti sintattici più ampi: Sam Schwarts retired as executive vice president of the famous hot dog manufacturer, Hupplewhite Inc. He will be succeeded by Harry Himmelfarb <position> of <company> Information Extraction 26 13
Analisi Sintattica (6) [ np entity: e1 Sam Schwarts] [ vg retired] as [ np entity: e2 executive vice president of the famous hot dog manufacturer], [ np entity: e3 Hupplewhite Inc.] [ np entity: e5 He] [ vg will succeeded] by [ np entity: e6 Harry Himmelfarb] Entity e1 Type: person name: Sam Schwarts Entity e2 Type: position value: executive vice president company: e3 Entity e3 Type: manufacturer name: Hupplewhite Inc. Entity e5 Entity e6 Type: person Type: person name: Harry Himmelfarb Information Extraction 27 Pattern Matching documento Analisi locale del testo Analisi lessicale Pattern Matching Riconoscimento dei nomi Analisi sintattica Pattern matching Analisi del discorso Analisi di coreferenza L obiettivo è l estrazione di eventi o relazioni rilevanti per lo scenario di interesse Inferenza Generazione dei template Template estratti Information Extraction 28 14
Pattern Matching: esempio Scenario: eventi di successione nel management. <person> retires as <position> <person> is succeded by <person> Il risultato della fase di scenario pattern matching èun testo marcato con eventi. Information Extraction 29 Pattern Matching: esempio [ clause event: e7 Sam Schwarts retired as executive vice president of the famous hot dog manufacturer, Hupplewhite Inc.] [ clause event: e8 He will succeeded by Harry Himmelfarb] <person> retires as <position> Information Extraction 30 15
Pattern Matching: esempio [ clause event: e7 Sam Schwarts retired as executive vice president of the famous hot dog manufacturer, Hupplewhite Inc.] [ clause event: e8 He will succeeded by Harry Himmelfarb] <person> is succeded by <person> Information Extraction 31 Pattern Matching: esempio Entity e1 Type: person name: Sam Schwarts Entity e2 Type: position value: executive vice president company: e3 Entity e3 Entity e5 Entity e6 Type: manufacturer name: Hupplewhite Inc. Type: person Type: person name: Harry Himmelfarb Entity e7 Type: leavejob person: e1 position: e2 Entity e8 Type: succeed person1: e6 person2: e5 Information Extraction 32 16
Analisi di Coreferenza documento Analisi locale del testo Analisi lessicale Riconoscimento dei nomi Analisi sintattica Pattern matching Analisi di coreferenza Analisi del discorso Analisi di coreferenza Inferenza Ha come obiettivo la risoluzione dei riferimenti dei pronomi Generazione dei template Template estratti Information Extraction 33 Analisi di Coreferenza [ clause event: e7 Sam Schwarts retired as executive vice president of the famous hot dog manufacturer, Hupplewhite Inc.] [ clause event: e8 He will succeeded by Harry Himmelfarb] Information Extraction 34 17
Confronto: Pattern Matching Entity e1 Type: person name: Sam Schwarts Entity e2 Type: position value: executive vice president company: e3 Entity e3 Entity e5 Entity e6 Entity e7 Entity e8 Type: manufacturer name: Hupplewhite Inc. Type: person Type: person name: Harry Himmelfarb Type: leavejob person: e1 position: e2 Type: succeed person1: e6 person2: e5 Information Extraction 35 Confronto: Analisi di Coreferenza Entity e1 Type: person name: Sam Schwarts Entity e2 Type: position value: executive vice president company: e3 Entity e3 Entity e6 Entity e7 Entity e8 Type: manufacturer name: Hupplewhite Inc. Type: person name: Harry Himmelfarb Type: leavejob person: e1 position: e2 Type: succeed person1: e6 person2: e1 Information Extraction 36 18
Inferenza documento Analisi locale del testo Analisi lessicale Riconoscimento dei nomi Analisi sintattica Pattern matching Analisi del discorso Analisi di coreferenza Inferenza Riunisce mediante meccanismi inferenziali informazioni relative ad uno stesso evento presenti in frasi diverse Inferenza Generazione dei template Template estratti Information Extraction 37 Inferenza: esempio Meccanismi inferenziali possono essere implementati tramite i sistemi a produzione: leavejob(xperson,yjob) AND succeed(zperson, Xperson) > startjob(zperson, Yjob) startjob (Xperson,Yjob) AND succeed(xperson, Zperson) > leavejob(zperson, Yjob) Information Extraction 38 19
Generazione dei Template documento Analisi locale del testo Analisi lessicale Riconoscimento dei nomi Analisi sintattica Pattern matching Analisi del discorso Analisi di coreferenza Inferenza Generazione dei template Costruzione dei template di output: strutture a frame con slot da riempire con i valori estratti Generazione dei Template Template estratti Information Extraction 39 Esempio EVENT: PERSON: POSITION: COMPANY: leavejob Sam Schwarts executive vice president Hupplewhite Inc. EVENT: PERSON: POSITION: COMPANY: startjob Harry Himmelfarb executive vice president Hupplewhite Inc. Information Extraction 40 20
Valutazione R = # True positive # True positive+# False negative IR: misura della frazione dell informazione ritrovata correttamente IE: misura della frazione dell informazione estratta correttamente Information Extraction 41 Valutazione P = # True positive # True positive+# False positive IR: misura della frazione dell informazione ritrovata che risulta corretta IE: si può interpretare come misura della frazione dell informazione estratta che risulta corretta Information Extraction 42 21
Alcuni sistemi Autoslog (1993) Riloff, E. Automatically constructing a dictionary for information extraction tasks. Proceedings of the 11th National Conference of Artificial Intelligence (AAAAI93). LIEP (1995) Huffman, S. Learning information extraction patterns from examples. IJCAI95 Workshop on new approaches to learning for natural language processing. Information Extraction 43 Alcuni sistemi PALKA (1995) Kim, J.; Moldovan, D. Acquisition of linguistic patterns for knowledgebased information extraction. IEEE Transactions on Knowledge and Data Engineering 7(5): 713724. HASTEN (1995) Krupka, G. Description of the SRA system as used for MUC6. Proceedings of the 6th Message Understanding Conference. CRYSTAL (1995) Soderland, S.; Fisher, D.; Aseltine, J.; Lehnert, W. Crystal: Inducing a conceptual dictionary. Proceedings of the 14th International Joint Conference on Atificial Intelligence (IJCAI95). Information Extraction 44 22
Alcuni sistemi RAPIER (1997) Califf, M.; Mooney, R. Relational learning of patternmatch rules for information extraction. ACL97 Workshop on Natural Language Learning. SRV (1998) Freitag, D. Information Extraction fron html: Application of a general learning approach. Proceedings of the 15th Conference on Artificial Intelligence (AAAI98). WHISK (1998) Soderland, S. Learning information extraction rules for semistructured and free text. Machine learning, vol. 34 (Special issue on Natural Language Learning), no. 1/3, pp. 233272, 1999. Information Extraction 45 23