Automatic Text Processing

Slides:



Advertisements
Presentazioni simili
Presentazione della tesi di laurea di Flavio Casadei Della Chiesa Newsletter: un framework per una redazione web.
Advertisements

La Comunicazione Bisogno insopprimibile nella vita di ognuno di noi.
IlTrovatore S.p.a. IlTrovatore RemoteSearch IlTrovatore mette a disposizione di portali Internet, piccole e medie imprese, tutto il suo know-how nel settore.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
STRUTTURA DEL PERSONAL COMPUTER
GEOMETRIA IPERBOLICA.
ECDL MODULO 1.1 Conoscere i sistemi di elaborazione
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Text Representation Ing. Leonardo Rigutini Dipartimento Ingegneria dell’Informazione Rigutini Leonardo – Dipartimento di.
Tecniche di processamento testuale Come classificare testi per argomento.
Sistemi di supporto alle decisioni 2. Features space
Controllo remoto di un robot mobile realizzato con Lego Mindstorms
Automatic Text Segmentation: TextTiling (Hearst)
Controllo remoto di un robot mobile realizzato con Lego Mindstorms
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
"In Internet non siamo in grado di selezionare, almeno a colpo docchio, fra una fonte credibile e una folle. Abbiamo bisogno di una.
Ricercare in Internet Lago nel pagliaio INTERNET Quasi ogni volta in cui hai sentito parlare di Internet o del World Wide Web hai probabilmente sentito.
Applet Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Teoria e Tecniche del Riconoscimento
Apprendimento Non Supervisionato
Enver Sangineto, Dipartimento di Informatica Multimedia Information Retrieval.
La Ricerca in Rete Danco Singer novembre 2002 novembre 2002 Master in Editoria Multimediale La Ricerca in Rete: strategie di navigazione.
Il moto armonico Altro esempio interessante di moto è quello armonico caratterizzato dal fatto che l’accelerazione è proporzionale all’opposto della posizione:
Seminario su clustering dei dati – Parte I
Ricerca della Legge di Controllo
Studente Claudia Puzzo
Laboratorio di El&Tel Elaborazione numerica dei segnali: analisi delle caratteristiche dei segnali ed operazioni su di essi Mauro Biagi.
Concetti di base IR spiegati con l'esempio di Google.
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
Analisi dei gruppi – Cluster Analisys
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
RISORSE WEB Internet Per un uso consapevole delle risorse della Rete
DBMS ( Database Management System)
Spazi vettoriali astratti Somma e prodotto di n-ple Struttura di R n.
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Studio di euristiche per il miglioramento di algoritmi di ranking per il World-Wide Web Università degli Studi di Milano Corso di Laurea in Informatica.
Database & Information Retrieval
Applicazioni di modelli matematici alla ricerca semantica
Internet L’essenziale.
Un modo nuovo di imparare
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
STRUTTURA GENERALE DI UN ELABORATORE
Sistema di interrogazione intelligente di
Multimedia Information Retrieval
Valutazione delle prstazioni di un sistema di retrieval
Multimedia information retrieval. Problematica Materiale multimediale: non solo testo, ma audio (speech, musica..) immagini, video Retrieval basato su.
Web Communities and their identificaton
Internet Explorer I preferiti Stampa di pagine web Salvataggio di pagine web Copia di elementi di pagine web in altri applicativi.
BIOINFO3 - Lezione 361 RICERCA DI SIMILARITA TRA SEQUENZE Un altro problema comunissimo in bioinformatica è quello della ricerca di similarità tra sequenze.
Blog, forum e social network. Glossario e cenni duso. Di Valentina La Rosa.
Alla fine degli anni quaranta nasceva il mito del cervello elettronico, e tutte le attività connesse allutilizzo del computer venivano indicate tramite.
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
MOTORI DI RICERCA. Un motore di ricerca è un sistema automatico che analizza un insieme di dati spesso da esso stesso raccolti e restituisce un indice.
Università degli Studi di Pavia
Rappresentazione Dati Codificare informazioni nel Computer
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
SONIA: A Service for Organizing Networked Information Autonomously Stud. Davide D’Alessandro Prof. Amedeo Cappelli Seminario di ELN – A.A. 2002/2003.
Linguistica computazionale: task sul linguaggio naturale Cristina Bosco 2015 Informatica applicata alla comunicazione multimediale.
Laurea Ing. EO/IN/BIO;TLC D.U. Ing EO 3
Tecnologie dell'informazione e della comunicazione - Stacey S. Sawyer, Brian K. Williams Copyright © The McGraw-Hill Companies srl “Commercio elettronico,
Allineamento di sequenze
Comunicazione Multimediale Letizia Catarini. La differenza tra un motore di ricerca e una directory La differenza tra un motore di ricerca e una directory.
NiXuS srl1 Training Galco Italia 22 Gennaio 2000 pMeter Software per l’analisi delle performance aziendali. N I X U S srl Via G. Scarabelli Roma,
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica Progettazione e.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Per un punto non passa alcuna parallela ad una retta data
Torna alla prima pagina Gestire le Informazioni nelle Organizzazioni Oltre i sistemi per la Qualità Aziendale ing. Alessandro Gallo Responsabile Assicurazione.
Transcript della presentazione:

Automatic Text Processing Ing. Leonardo Rigutini Dipartimento di Ingegneria dell’Informazione Università di Siena Via Roma 53 53100 – SIENA – ITALY rigutini@dii.unisi.it Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Outlines L’era dell’informazione Information Retrieval I documenti di testo Rappresentazione del testo: Vettori di feature Rappresentazione Bag-OF-Word Importanza di un termine Misura di similarità Normalizzazione del testo: Tokenization Conversion to lower case Lemming Stop-Word Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

L’ era dell’ informazione Documento inteso come contenitore di informazione di qualunque tipo Varie forme di informazione: Testo, Radio, Televisione, INTERNET Vari tipi di documenti: Testo, Audio, Immagini e Video, Tutti Incredibile il numero di documenti esistenti oggi: Nel 2000 si stima la dimensione del web in più di 1 BILIONE di pagine I motori di ricerca classici (Google, AltaVista, Yahoo) indicizzano centinaia di milioni di documenti Gli archivi delle aziende raggiungono milioni di documenti Moltissime anche le pubblicazioni memorizzate nei database dei search-engine specializzati (citeseer, cora, IEEE, ecc…) Newsgroup, forum, le e-mail … Archivi fotografici Ecc.. Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Information Retrieval Necessità di organizzare questa informazione Aziende: documenti relativi all’azienda, regolamento interno, bollettini interni, comunicazioni varie, workflow, ecc.. Enti pubblici: Regolamenti, modulistica, notizie, bandi ecc.. WEB: Qualunque informazione Altro… Necessità di studiare tecniche per un recupero “intelligente” dell’informazione: IR (Information Retrieval) Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Information Retrieval Disciplina che studia tecniche per il recupero dell’informazione Es. Motori di ricerca Scopo: Recupero dei documenti “giusti” durante la ricerca da parte dell’utente Misure per l’ IR: RECALL: PRECISION: n° relevant items retrieved n° relevant items in collection n° relevant items retrieved total n° items retrieved Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Information Retrieval Misurare la similarità tra due o più documenti in modo da restituire all’utente i documenti più significativi: Trovare una rappresentazione adeguata dei documenti Definire una metrica (distanza) per tale rappresentazione La macchina determina la similarità tra la query e tutti i documenti nel database, restituendo i documenti con punteggio più elevato. Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Documenti di testo La maggioranza di documenti presenti sulla rete sono documenti di testo La maggioranza delle tecniche di classificazione e di recupero dell’informazione sono relative al testo La maggioranza delle ricerche effettuate sul web riguarda documenti di testo Le ultime due affermazioni sono strettamente correlate: Ad oggi pochi sono i motori per immagini che funzionano, quasi nessuno per i video o audio, ciò spiega perché l’utente si muove su documenti di testo Inoltre molte ricerche multimediali si risolvono in ricerche testuali in appositi campi un video viene etichettato con un insieme di keyword e la sua ricerca avviene per tali parole Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Text-IR Text Information Retrival raccoglie: Text Retrieval: Data una query, recuperare i documenti più attinenti Text Segmentation: Dato un documento, suddividerlo in sub-topic Text Classification: Determinare la classe del documento tra un insieme di classi prestabilito Document Clustering: Dato un database documentale, determinare l’insieme delle classi e gli abbinamenti classe-doumento Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rappresentazione del testo Documento di testo: Sequenza (flusso) di parole contenente uno o più topic (argomenti, concetti ecc..) Feature: Parole Punteggiatura Stile del testo (Grassetto, Corsivo, ecc…) Struttura del testo (Titolo, paragarafo, nota ecc…) Bi-grammi o tri-grammi Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Vettori - 1 Un punto in uno spazio può essere rappresentato come un insieme di valori, ognuno dei quali si riferisce ad una dimensione dello spazio stesso Es. 2-D : P = ( x1 , x2 ) 3-D : P = ( x1 , x2 , x3 ) Formalmente: Un vettore è una n-pla di valori dove n è la dimensione dello spazio P = ( x1 , x2 , … , xn ) x1 x2 P (x1,x2) x1 x2 x3 P (x1,x2,x3) Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Vettori - 2 Rappresentazione alternativa di un vettore in R2: Modulo: misura del vettore Angolo: angolo che il vettore forma con le ascisse N.B. sempre due dimensioni (cambia la base) Operazioni: Modulo: Per calcolare il modulo si utilizza il teorema di pitagora: E si indica con Prodotto scalare Il prodotto scalare tra A e B si indica con < A,B> o A•B x1 x2 P (x1,x2) α Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Vettore differenza Dati due punti (vettori) è possibile calcolare il vettore differenza: Quanto vale A-B ? A-B= C (a1-b1 , a2-b2 ) A (a1,a2) a2 b2 B (b1,b2) a1 b1 C (a1-b1 , a2-b2) a2-b2 a1-b1 Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Distanza - 1 Possiamo definire due tipi di distanze: Distanza euclidea : modulo del vettore differenza Distanza del coseno: Angolo formato dai due vettori: Se due vettori hanno “pendenze” vicine allora l’angolo che essi formano è piccolo ed il coseno tende ad 1 A (a1,a2) a2 b2 B (b1,b2) α a1 b1 Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Distanza - 2 La seconda formula è 0 quando α = 90° In tale situazione infatti il prodotto scalare è 0 Ed i due vettori si dicono ortogonali Infatti: < A ,B > = 0·b1 + a2·0 = 0 a2 A (0,a2) α =90° B (b1,0) b1 Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Vector Space Model Un documento è visto come un punto (vettore) nello spazio delle parole del dizionario (feature): Di = ( wi,1, wi,2 , wi,3 , … , wi,n) Ogni termine wi,k è il peso della parola k nel documento i: tf.tdf: …altri Tale rappresentazione è detta comunemente Bag-of-Word Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Es. BOW (Bag-of-Word) Supponiamo di avere due documenti: D1 = “ingredienti pizza: farina, acqua, lievito, olio” D2 = “descrizione computer: CPU, RAM, Hard disk” Il dizionario è l’unione dei due insiemi: T = {ingredienti,pizza,farina,acqua,lievito,olio,descrizione,computer,CPU,RAM,Hard Disk} n=11 dimensione dello spazio La rappresentazione BOW dei due documenti: D1 = (1,1,1,1,1,1,0,0,0,0,0) D2 = (0,0,0,0,0,0,1,1,1,1,1) Se un utente esegue una query Q= “ingredienti pizza” essa viene rappresentata come: Q = (1,1,0,0,0,0,0,0,0,0,0) Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Grado di similarità Il calcolo della similitudine tra due documenti diventa il calcolo della distanza tra due vettori: Sim(Di , Dj) = d (Di , Dj) Normalmente si utilizza la distanza del coseno: Sim(Di , Dj) = cos (Di , Dj) = Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Es. (reprise) Nell’ esempio precedente avevamo: D1 = (1,1,1,1,1,1,0,0,0,0,0) D2 = (0,0,0,0,0,0,1,1,1,1,1) Q = (1,1,0,0,0,0,0,0,0,0,0) Calcolando sim( ) avremo: Sim (D1, D2) = 0 Sim (Q , D1) = 0.37 Sim (Q , D2) = 0 Ed il sistema restituisce il documento D1 Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Soglia di similarità Nella realtà: Databases con milioni di documenti Dizionario formato da migliaia di parole (vettori di ~10.000 componenti) Conseguenze: Molti confronti con un valore di similarità prossimo a zero ma non zero Soluzione: Soglia di similarità Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Bag-Of-Word Limiti: Rappresentazione cruda del testo (non viene analizzata la semantica) Parole uguali che assumono nel documento significati differenti sono trattate come la stessa parola Presenza di elevato rumore (vedremo più avanti) Vantaggi: Semplice e veloce Relativamente bassa complessità computazionale Buoni risultati (60 % – 70 % in classificazione) Studiata da 15 anni Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Rumore Con rumore si intende qualunque cosa che disturba il buon comportamento del sistema In questo caso: Parole poco informative sul topic del documento (articoli, congiunzioni, avverbi) Parole diverse con significati simili (sinonimi) Parole uguali con significati diversi (es. àncora e ancòra) Verbi coniugati (vado e andare) Per limitare alcuni di questi problemi sono stati studiati metodi di pre-processing Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Normalizzazione del testo Consiste in quattro step di cui due opzionali: Tokenization Conversion to lowercase Lemming Stop-word Tali operazioni tentano di ridurre il rumore introdotto dalla rappresentazione bag-of-word del documento Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Tokenization Evita che parole e punteggiatura siano incorporate in un unico termine, separandoli come due parole disgiunte Es. “ Today, stocks closed higher on heavy trading. Many stocks, despite early losses, reached all time highs.” “ Today , stocks closed higher on heavy trading . Many stocks , despite early losses , reached all time highs . ” Ovviamente non è tutto così semplice: Se il punto fa parte del termine deve rimanere tale (es. nomi di società, indirizzi e-mail ecc…) Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Conversion to lower case Evita che termini scritti totalmente o parzialmente in maiuscolo e in minuscolo vengano considerati diversamente Es. “today , stocks closed higher on heavy trading . many stocks , despite early losses , reached all time highs . ” Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Stemming Riporta i termini alla loro radice: Verbi coniugati Plurale e singolare Maschile e femminile Es. “Today, stocks closed higher on heavy trading. Many stocks, despite early losses, reached all time highs.” “Today, stock close high on heavy trade. Many stock, despite early loss, reach all time high.” Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Stop Words Elimina le parole comuni con un grado di informazione minimo sul topic del documento: Articoli Congiunzioni Avverbi Verbi ausiliari Verbi che non portano informazione (es. potere, fare, ecc…) I termini sono così suddivisi in due tipi: Stop Words: inutili all’individuazione del topic Function Words: importanti per “capire” il topic Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Text-IR Avevamo visto che Text Information Retrival raccoglie: Text Retrieval: Data una query, recuperare i documenti più attinenti Text Segmentation: Dato un documento, suddividerlo in sub-topic Text Classification: Determinare la classe del documento tra un insieme di classi prestabilito Document Clustering: Dato un database documentale, determinare l’insieme delle classi e gli abbinamenti classe-doumento Vediamo come analizzare tali problemi utilizzando la filosofia Bag-Of-Word Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Text-IR - 1 Text Retrieval: La query Q è vista come un documento Calcolo di sim(Q , Dj) per ogni documento Dj Documenti con sim(Q , Dj) abbastanza elevato vengono ritenuti significativi per la ricerca e restituiti all’utente Text Segmentation: Si definiscono unità testuali atomiche lunghe k word dette sentenze: Si Si calcola la similarità tra ogni unità e la sua successiva: sim( Sj , Sj+1 ) Si considera un taglio quando tale valore scende sotto una soglia Nomi eccellenti: Salton, Hearst, Reinar, Beeferman Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Text-IR - 2 Text Classification: Ogni classe Ci è vista come un documento (vettore) Dato un documento Dj , si calcola sim(Ci , Dj) per ogni Ci Dj viene inserito nella classe per cui sim(Ci , Dj) è massimo Document Clustering: Si prendono due o più punti a caso detti centroidi Ci Per ogni documento Dj si calcola la sua similarità con i centroidi Ci : sim(Ci , Dj) Si assegna Dj al centroide per cui sim(Ci , Dj) è massimo Si calcola di nuovo i centroidi come media dei vettori che vi appartengono Si ripete il procedimento fino a che il centroide non si stabilizza Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Text-IR conclusioni Come si vede si può riportare ogni problema al calcolo di sim(Ci , Dj) Utilizzando il Bag-Of-Word si possono risolvere tutti i problemi relativi al IR in maniera semplice ed elegante Ovviamente vi sono altre tecniche (specialmente per la segmentazione ed il clustering) ma si rifanno comunque ad una rappresentazione BOW del testo Segmentazione: dot-plot, entropiche, a regole, ecc.. Clustering: gerarchico Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione

Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione Altri approcci Considerando il testo come sequenza temporale di parole: HMM Reti Neurali Si cerca di: Sfruttare l’informazione sulla posizione della parola Individuare contesti Scopo: Determinare i topic all’interno dei documenti (segmentazione) Classificare un documento in base ai sub-topic Restituire documenti della classe desiderata Rigutini Leonardo – Dipartimento di Ingegneria dell’Informazione