Sei sulla pagina 1di 40

Livello di riservatezza - PU

Information retrieval tecnology weakness and stenght

D_InformationRetrieval.doc

Pag. 1 di 40

Livello di riservatezza - PU

Cronologia aggiornamenti
Versione 1.1 Data 10.11.2011 Stesura Descrizione Autore (Societ/Ente) Gianluigi Brasili

D_InformationRetrieval.doc

Pag. 2 di 40

Livello di riservatezza - PU

Lista abbreviazioni
Abbreviazione IR IE REX FIT Overfitting LSI Tf idf NLP TMC DATEX Information retrieval Information Extraction Information relation extraction Adattamento di un modello Modello troppo adattato a dati per il training. Manca di generalizzazione Latent semantic index Term frequency Inverse document frequency Natural Language Processing Traffic Message Channel protocollo di scambio delle informazioni sugli eventi del traffico Descrizione

D_InformationRetrieval.doc

Pag. 3 di 40

Livello di riservatezza - PU

Indice

Cronologia aggiornamenti ................................................................................................................. 2 Lista abbreviazioni .............................................................................................................................. 3 Indice ..................................................................................................................................................... 4 Sommario .............................................................................................................................................. 6 Lista Figure ........................................................................................................................................... 7 Lista Tabelle ......................................................................................................................................... 8 1. Information retrieval ed information extraction ...................................................................... 9 1.1. Information retrieval ..................................................................................................................... 9 1.1.1. Information retrieval e tecniche di indicizzazione .......................................................... 10 1.1.2. Principali modelli di IR e algoritmo di ranking ................................................................ 12 1.1.2.1. Il modello booleano ........................................................................................................ 13 1.1.2.2. Il modello vettoriale ........................................................................................................ 14 1.1.2.3. Latent semantic indexing .............................................................................................. 16 1.1.2.4. K-Means Clustering ....................................................................................................... 17 1.2. 2. Information extraction ................................................................................................................ 18

Tecnologie e loro problematiche............................................................................................. 21 2.1. Informazione non strutturata nel web...................................................................................... 21

2.2. Analisi del linguaggio naturale ................................................................................................. 22 2.2.1. Fasi del NLP ....................................................................................................................... 23 2.2.2. Tokenization ....................................................................................................................... 24 2.2.3. Analisi morfologica e lessicale (part-of-speech) ............................................................ 24 2.2.4. Analisi sintattica e generazione di parse tree ................................................................ 26 2.2.5. Stemming ............................................................................................................................ 27 2.2.6. Named Entities Recognition ............................................................................................. 27 2.2.7. Analisi semantica ............................................................................................................... 28 2.2.8. CoReference ....................................................................................................................... 29 2.2.9. Analisi pragmatica.............................................................................................................. 29 2.3. Machine learning e tecniche di data mining ........................................................................... 30 2.3.1. Clustering e classificazione .............................................................................................. 31 2.3.2. Classificazione binaria....................................................................................................... 32 2.3.3. Decision Tree...................................................................................................................... 33 2.3.4. Naive bayes ........................................................................................................................ 33 2.3.5. K-nearest-neighbors classifier ......................................................................................... 34 D_InformationRetrieval.doc
Pag. 4 di 40

Livello di riservatezza - PU

2.3.6. 2.3.7.

SVM Support Vector Machine .......................................................................................... 35 Estrazione dei metadata tramite SVM ............................................................................ 37

Riferimenti/Bibliografia ..................................................................................................................... 39

D_InformationRetrieval.doc

Pag. 5 di 40

Livello di riservatezza - PU

Sommario
Il presente documento si prefigge il compito di valutare le varie tecniche di analisi descritte nel documento WP 1.1.1. In particolare nel capitolo 1 verranno presi in considerazioni gli algoritmi per linformation retrieval ed nel capitolo 2 quelli per linformation extraction e verranno evidenziati i loro punti di forza e debolezza. Nel capitolo 3 verranno invece descritte possibili utilizzi del sistema su alcuni domini di conoscenza specifici quali per esempio il recupero, lestrazioni e la validazione degli eventi del traffico.

D_InformationRetrieval.doc

Pag. 6 di 40

Livello di riservatezza - PU

Lista Figure
Figura 1 Modulo di un sistema IR .................................................................................................... 9 Figura 2 vista logica del documento, da full-text a parole chiavi ................................................... 10 Figura 3 il processo di Information retrieval .................................................................................. 11 Figura 4 esempio di indice inverso ................................................................................................ 12 Figura 5 - Tassonomia dei modelli di IR ........................................................................................ 13 Figura 6 Modello booleano. Le tre componenti congiuntive della query q .................................... 13 Figura 7 coseno dell'angolo tra i due vettori q e dJ ....................................................................... 14 Figura 8 classificazione binaria lineare e non lineare .................................................................. 32 Figura 9 Esempi di Voronoi Tesselation ........................................................................................ 35 Figura 10 - Esempio di Classificatori SVM .................................................................................... 36

D_InformationRetrieval.doc

Pag. 7 di 40

Livello di riservatezza - PU

Lista Tabelle
Non stata trovata alcuna voce dell'indice delle figure.

D_InformationRetrieval.doc

Pag. 8 di 40

Livello di riservatezza - PU

1. Information retrieval ed information extraction


Linformation retrieval (IR), una tecnica per identificare i documenti pi utili e rilevanti da una collezione pi ampia rispetto ad alcune query o ad un dominio di conoscenza prefissato. Le tecniche di information extraction hanno il compito di analizzare ciascun documento che stato valutato rilevante nella fase precedente ed estrarre le entit e le relazioni tra i termini che lo costituiscono. In altre parole, IR recupera i documenti pi rilevanti da collezioni, IE estrae le informazioni rilevanti da questultimi. Le due tecniche sono quindi tra loro complementari, e il loro uso in combinazione consente di estrarre le singole informazioni di interesse e trasformare ogni documento in testo libero in uno ben strutturato. Tutte le entit estratte possono quindi essere memorizzate in un database e popolare uno specifico dominio di conoscenza. I due compiti principali dell IR sono l'indicizzazione e la ricerca dei documenti. L'indicizzazione ha il compito di rappresentare un documento rispetto alle sue caratteristiche chiavi allo scopo di accelerare il suo recupero. Linformation extraction invece ha il compito di compilare un template predefinito per ogni documento recuperato.

1.1.

Information retrieval

Il modulo di un sistema di information retrieval pu essere visto essenzialmente come costituito da tre parti principali: input, output ed il processore. L'input del sistema caratterizzato da una query che pu dipendere dallutente o da una richiesta automatica effettuata per individuare tutti quei documenti rilevanti per un dominio di conoscenza scelto.

Figura 1 Modulo di un sistema IR

La seconda parte del sistema costituita dal processore, che realizza la fase vera e propria di ricerca e di recupero sulle rappresentazioni dei documenti ed il blocco principale in cui vengono implementate le tecniche e le strategie di recupero delle informazioni che permettono di confrontare la richiesta con le rappresentazioni di documenti. Loutput consiste in una serie di documenti che dovrebbero essere attinenti al dominio di conoscenza. Il processo di recupero dell'informazione deve eseguire su una collezione di documenti un preprocesso in cui vengono applicate al testo le operazioni che trasformano i documenti originali in una rappresentazione degli stessi. In questa fase ogni documento viene descritto tramite termini indice e ad ogni termine indice viene assegnato un peso che quantifica l'importanza di un termine per descrivere il contesto semantico del documento preso in considerazione. Una volta definita una vista logica dei

D_InformationRetrieval.doc

Pag. 9 di 40

Livello di riservatezza - PU

documenti si passa alla fase di indicizzazione in cui il sistema di Information retrieval costruisce un indice del testo. Definito un indice questo viene collegato ad uno o pi documenti. Un indice una struttura dati critica poich permette in seguito, una ricerca veloce su grandi volumi di dati. Per essere veramente efficace, un sistema di IR deve in qualche modo interpretare il contenuto degli oggetti informativi (i documenti) in una collezione e ordinarli in base al grado di rilevanza con la query. Questa interpretazione del contenuto del documento riguarda lestrazione di informazioni sintattiche e semantiche dal testo del documento e la loro utilizzazione per soddisfare i bisogni dellutente. La difficolt sta non solo nel decidere come estrarre le informazioni ma anche come usarle per stabilirne la rilevanza. Pertanto, la nozione di rilevanza al centro dellinformation retrieval: lo scopo primario di un sistema di IR proprio recuperare tutti i documenti rilevanti rispetto alla query dellutente, ordinandoli (ranking) rispetto a una misura di similarit e riducendo il pi possibile il numero di documenti non rilevanti recuperati. Negli ultimi 20 anni, larea dellinformation retrieval andata ben oltre gli scopi primari di indicizzare testo e ricercare i documenti utili di una collezione. Oggi, la ricerca nellIR include modellazione, classicazione e categorizzazione di documenti, architetture di sistema, interfacce utente, visualizzazione di dati, ltraggio, ecc. Inoltre, con lintroduzione del World Wide Web, lIR ha perso la connotazione di piccola area di interesse per pochi eletti, come bibliotecari od esperti di informazione, ed ha assunto unimportanza e una rilevanza globali.

1.1.1. Information retrieval e tecniche di indicizzazione


Ciascun documento prima di essere analizzato da un algoritmo di IR che ne valuta la rilevanza, deve attraversare una serie processi che hanno il compito di semplificare e agevolare la fase di recupero. Tali processi hanno il compito di creare una rappresentazione logica del documento attraverso la creazione di termini indice che lo caratterizzano. Per piccoli documenti e poco numerosi,una prima ipotesi di indicizzazione quella effettuata in un database relazionale in cui vengono creati indici full-text. In questo caso il documento viene rappresentato tramite lintero insieme delle parole in esso contenute. Si parla quindi di vista logica full-text. Con insiemi molto voluminosi di documenti tuttavia, persino i moderni elaboratori devono poter ridurre linsieme delle parole rappresentative. Questo pu essere ottenuto mediante stemming (o normalizzazione, che riduce diverse parole alla loro comune radice grammaticale) o con lidenticazione di gruppi di nomi (che elimina aggettivi, avverbi e verbi). Queste elaborazioni vengono dette text operation e, in generale, riducono la complessit della rappresentazione del documento, permettendo di passare dalla vista logica full text a quella dellinsieme delle parole chiave. Le varie tecniche di text operation verranno discusse nel paragrafo 3.1.

Figura 2 vista logica del documento, da full-text a parole chiavi

Una volta definita la vista logica dei documenti, il sistema di IR costruisce un indice del testo: lindice una struttura dati critica poich permette una ricerca veloce su grandi volumi di dati.

D_InformationRetrieval.doc

Pag. 10 di 40

Livello di riservatezza - PU

Possono essere utilizzate differenti strutture, ma la pi popolare il cosiddetto inverted index: questo contiene in buona sostanza lelenco delle parole di interesse presenti nei vari documenti, seguite da una serie di link ai documenti stessi. Le risorse (di tempo e di spazio) spese per definire un database dei testi e per costruire gli indici sono ammortizzate dalle numerose query rivolte al sistema. Dopo aver indicizzato il database dei documenti, la ricerca pu iniziare. Lutente o un processo automatico fornisce la propria richiesta, la quale viene analizzata da un parser e trasformata con le stesse text operation applicate ai testi. La query viene dunque processata per ottenere i documenti recuperati: questi, prima di essere proposti, vengono ordinati (ranking) sulla base di un livello di rilevanza determinato da una misura di similarit.

Figura 3 il processo di Information retrieval Linverted index un meccanismo orientato alle parole per indicizzare una collezione di testo, al fine di velocizzare loperazione di ricerca. La struttura dellinverted index composta da due elementi: il vocabolario e le occorrenze. Il vocabolario linsieme di tutte le parole del testo; per ognuna di queste conservata una lista di tutte le posizioni nel testo dove essa compare. Linsieme di tutte queste liste viene chiamato occorrenze. Le posizioni possono fare riferimento a caratteri o a parole. Le posizioni relative alle parole semplificano le query di prossimit o di frase, mentre le posizioni relative ai caratteri facilitano laccesso diretto alle posizioni corrispondenti nel testo.

D_InformationRetrieval.doc

Pag. 11 di 40

Livello di riservatezza - PU

Figura 4 esempio di indice inverso

1.1.2. Principali modelli di IR e algoritmo di ranking


Uno dei problemi principali dei sistemi di IR quello di predire quali documenti siano rilevanti e quali no; la rilevanza si ottiene a partire da un algoritmo di ranking, il quale tenta di stabilire, sulla base di una misura di similarit, un ordinamento dei documenti recuperati. I documenti in cima alla lista hanno una probabilit maggiore di essere rilevanti. Un tale algoritmo opera secondo dei criteri di rilevanza dei documenti, ossia insiemi di regole che permettono di stabilire quali documenti siano rilevanti e quali no; criteri diversi producono differenti modelli di IR. Il modello definisce la filosofia di fondo di un IRS, ovvero attorno a quali principi generali si sviluppato il sistema. L'uso di un modello concettuale influenza o determina il linguaggio di interrogazione, la rappresentazione dei documenti, la struttura dei file ed i criteri di recupero dei documenti Una definizione formale di modello IR : Un Modello di IR una quadrupla [D; Q; F;R(qi; dj)] dove: D un insieme di viste logiche (o rappresentazioni) dei documenti nella collezione Q un insieme di viste logiche (o rappresentazioni) relative al bisogno di informazione dell'utente F un framework per modellare le rappresentazioni dei documenti, delle queries e delle loro relazioni R(qi; dj) una funzione di ordinamento (ranking) che associa un numero reale ad ogni coppia costituita da una query qi appartenente a Q e da una rappresentazione di documento dj appartenente a D. Tale ranking definisce un ordine tra i documenti rispetto alla query qi. I tre modelli classici in IR sono: Booleano, Vettoriale, Probabilistico. Negli anni sono state proposte delle varianti ai modelli classici: le varianti relative al modello Booleano sono: Fuzzy e Booleano esteso, quelle relative al modello Vettoriale sono: Vettore generalizzato, Latent Semantic Indexing e Neural Network. Infine le varianti al modello probabilistico sono Inference Network e Belief Network.

D_InformationRetrieval.doc

Pag. 12 di 40

Livello di riservatezza - PU

Figura 5 - Tassonomia dei modelli di IR

1.1.2.1.

Il modello booleano

Il modello booleano un semplice modello basato sulla teoria degli insiemi e sullalgebra booleana. Le query vengono espresse come espressioni booleane con precise semantiche, fornendo a questo modello una notevole semplicit e una chiara formalizzazione. Storicamente, stato il primo e il pi utilizzato per decenni. I documenti vengono rappresentati come insiemi di termini. Le query vengono specificate come espressioni booleane, cio come un elenco di termini connessi dagli operatori booleani AND, OR e NOT. La strategia di ricerca basata su un criterio di decisione binario, senza alcuna nozione di grado di rilevanza:un documento considerato rilevante oppure non rilevante. Per esempio la query q = ka (kb not kc) pu essere scritta in DNF come [ = (1, 1, 1)

(1, 1, 0) (1, 0, 0))] dove ogni componente un vettore booleano di pesi binari associato alla tupla di termini (ka; kb; kc). Il documento dj = (0, 1, 0), che contiene solo il termine kb, sarebbe pertanto considerato non significativo.

Figura 6 Modello booleano. Le tre componenti congiuntive della query q

D_InformationRetrieval.doc

Pag. 13 di 40

Livello di riservatezza - PU

Definizione: Per il modello Booleano, le variabili dei pesi dei termini indice sono tutte binarie, cio wi,j {0,1}. Una query q una convenzionale espressione booleana. Sia la DNF di

una query q, e definita come:

ognuna delle sue componenti. La similarit di un documento dj alla query q

Se sim(dj, q) = 1 allora il modello Booleano predice che il documento dj rilevante per la query q, altrimenti, la predizione che il documento non rilevante. Il modello Booleano, pur essendo semplice e chiaro, presenta lo svantaggio di non avere la nozione di corrispondenza parziale con la query. Per esempio,come abbiamo sottolineato, per la query q = ka ^( kb not kc) il documento = (0, 1, 0) non considerato rilevante, pur contenendo il termine indice kb. La corrispondenza esatta alla query pu implicare a prendere in considerazione pochi o troppi documenti rispetto al numero totale di documenti rilevanti. Un altro svantaggio dato dal fatto che con le espressioni booleane non semplice esprimere le richieste di informazione.

1.1.2.2.

Il modello vettoriale

Il modello vettoriale riconosce che lutilizzo di pesi binari troppo limitativo e propone un insieme di regole di base in cui possibile un match parziale. Per farlo esso assegna ai termini indice dei pesi non-binari, nelle query e nei documenti; questi pesi vengono utilizzati per calcolare il grado di somiglianza tra ogni documento memorizzato nel sistema e la query dellutente. Definizione Nel modello Vettoriale, il peso wi,j associato alla coppia (ki, dj) positivo e non binario. Inoltre, anche ai termini indice della query viene assegnato un peso. Sia wi,q il peso associato alla coppia [ki, q], dove wi,q > 0. Il vettore della query quindi definito come = (w1,q,w2,q, ,wt,q), dove t il numero totale dei termini indice nel sistema. Il vettore di un documento dj rappresentato da ( , ,..., )

w w
1, j

2, j

t, j

Il modello vettoriale si propone di valutare il grado di similarit del documento dj rispetto alla query q come la correlazione tra i vettori dj e q. Questa correlazione pu essere quantificata , ad esempio, come il coseno dellangolo tra i due vettori:

Figura 7 coseno dell'angolo tra i due vettori q e dJ

La similarit sym(dj,q) data dalla seguente formula che non altro che il prodotto scalare tra i D_InformationRetrieval.doc
Pag. 14 di 40

Livello di riservatezza - PU

due vettori:

pesi dei termini possono essere calcolati in molti modi. Lidea alla base delle tecniche pi efficienti legata al concetto di cluster, proposto da Salton. Si pensi ai documenti come a una collezione C di oggetti e alla query dellutente come a una specificazione di un insieme A di oggetti. Il problema dellIR pu essere allora ridotto a quello di determinare quali documenti sono nel set A e quali no; in particolare in un problema di clustering occorre risolvere due sotto-problemi. Occorre determinare quali sono le caratteristiche che descrivono al meglio gli oggetti dellinsieme A (si parla allora di similarit intra-cluster ) e quali sono le caratteristiche che meglio distinguono gli oggetti dellinsieme A dagli altri oggetti della collezione C (dissimilarit inter-cluster ). Nel modello vettoriale, la similarit intra-cluster quantificata misurando la frequenza di un termine ki in un documento dj : questa viene detta fattore tf (term frequency) e misura quanto un termine descrive i contenuti del documento. La dissimilarit inter-cluster invece quantificata misurando linverso della frequenza di un termine ki tra i documenti della collezione (fattore idf o inverse document frequency). Definizione: Sia N il numero totale di documenti del sistema e ni il numero dei documenti in cui compare il termine indice ki. Sia freqi,j la frequenza del termine ki nel documento dj (cio il numero di volte in cui il termine ki usato nel testo del documento dj). Allora la frequenza normalizzata fi,j del termine ki nel documento dj data da

dove il massimo calcolato tra tutti i termini menzionati nel testo del documento d j. Se il termine ki non compare nel documento dj allora fi,j = 0. Inoltre, l'Inverse Document Frequency per il termine ki dato da:

Il pi noto schema per determinare i pesi dei termini usano i pesi dati da

o da una variante di questa formula. Questi sono detti schemi TF - IDF. Sono state proposte alcune varianti alla espressione per i pesi wi,j , tuttavia quella descritta prima rimane un buon schema per la determinazione dei pesi per molte collezioni. Per il peso dei termini della query, Salton propose la formula

dove freqi,q indica la frequenza del termine k i nel testo della richiesta di informazione q. I vantaggi del modello vettoriale sono diversi, in particolare l'uso dei pesi migliora la performance del recupero dei documenti e consente il recupero di documenti che approssimano le condizioni della

D_InformationRetrieval.doc

Pag. 15 di 40

Livello di riservatezza - PU

query. Inoltre la formula di ranking con il coseno ordina i documenti secondo il grado di somiglianza con la query. Uno svantaggio invece del modello Vettoriale dato dal fatto che i termini indice sono sempre assunti mutualmente indipendenti.

1.1.2.3.

Latent semantic indexing

Uno dei problemi che i metodi precedenti non possono risolvere quello inerente al significato dei termini ed al loro ambiguit. In particolare pu verificarsi che un termine presente nel documento abbia pi significati (polisemia) e questo va a discapito della precisione di recupero degli stessi. Possono anche verificarsi problemi di sinonimia in cui un termine pu avere lo stesso significato di un altro. In questo caso possiamo notare la perdita del recupero di documenti che contegono termini sinonimi non presenti nella query. Latent Semantic Indexing (LSI) cerca di superare i problemi di corrispondenza lessicale utilizzando indici statistici concettuali invece di singole parole per il recupero. LSI presuppone che vi sia qualche struttura di base o latente nell'uso della parola che parzialmente oscurata dalla variabilit nella scelta delle parole. Latent Semantic Indexing (LSI) un metodo di indicizzazione e ricerca che utilizza una tecnica matematica chiamata Singular Value Decomposition (SVD) per identificare i modelli nei rapporti tra i termini e concetti contenuti in una raccolta strutturata di testo. LSI si basa sul principio che le parole che vengono utilizzati negli stessi contesti tendono ad avere significati simili. Una caratteristica fondamentale di LSI la capacit di estrarre il contenuto concettuale di un corpo di testo mediante l'istituzione di associazioni tra quei termini che si verificano in contesti simili. LSI anche una applicazione di analisi delle corrispondenze, una tecnica statistica multivariata sviluppata da Jean-Paul Benzcri nei primi anni 1970, ad una tabella di contingenza costruita dal numero di parole nei documenti. Chiamato Latent Semantic Indexing per la sua capacit di correlare semanticamente termini correlati che sono latenti in una collezione di testo, per la prima volta applicato al testo presso i Laboratori Bell alla fine del 1980. Il metodo, anche sotto il nome di analisi semantica latente (LSA), mette a nudo la struttura sottostante semantica latente nell'uso delle parole in un corpo di testo e come pu essere utilizzato per estrarre il significato del testo, in risposta a quesiti dell'utente, comunemente denominato Ricerche come concetto. Query o concetto ricerche, contro una serie di documenti che sono stati sottoposti LSI restituir i risultati che sono concettualmente simili nel significato ai criteri di ricerca anche se i risultati non condividono una determinata parola o le parole con i criteri di ricerca. Definizione: Sia t il numero dei termini indice in una collezione e N il numero totale dei documenti, allora si definisce M = (Mi,j) la matrice termini-documenti dove t il numero di righe e N il numero delle colonne. Ad ogni elemento ai,j della matrice viene assegnato un peso wi,j associato alla coppia termine-documento [ki, dj]. Il proposito del LSI di decomporre la matrice di associazione M in tre diverse componenti utilizzando la Single Value Decomposition (SVD). M= La matrice K la matrice degli autovettori derivati dalla matrice di correlazione termine-termine t data da MMt. La matrice D la matrice degli autovettori derivati dalla trasposta della matrice documento-documento ottenuta mediante . La matrice S, infine, una matrice diagonale

di valori singolari dove r = min(t,N) il rango di M. Solo gli s massimi valori singolari di S sono mantenuti nelle rispettive colonne in K e Dt (ovvero i rimanenti valori singolari di S vengono eliminati). La matrice risultante Ms la matrice di rango s pi vicina alla matrice originale M nel senso dei minimi quadrati. Questa matrice data da

D_InformationRetrieval.doc

Pag. 16 di 40

Livello di riservatezza - PU

dove s, s < r, la dimensionalit dello spazio concettuale ridotto. La selezione del valore per s deve essere effettuata cercando di bilanciare due effetti opposti. Innanzitutto, s dovrebbe essere grande abbastanza per permettere di riempire tutta la struttura con i dati reali. In secondo luogo, s dovrebbe essere sufficientemente piccolo per escludere tutti i dettagli non rilevanti delle rappresentazioni (che sono presenti nella rappresentazione convenzionale basata sui termini indice). La relazione tra qualsiasi due documenti nello spazio a dimensionalit ridotta s pu pertanto essere ottenuto dalla matrice nel modo seguente:

Nella matrice sopra descritta, l'elemento (i, j) quantifica la relazione tra il documento di ed il documento dj. Per classificare i documenti in base ad una certa query dell'utente, sufficiente modellare la query come uno pseudo documento nella matrice originale M (termini-documenti). Si supponga che la query modellata come documento numero 0. Allora, la prima riga della matrice fornisce la classificazione di tutti i documenti rispetto a questa query. Siccome le matrici utilizzate nel modello LSI sono di rango s, con s << t, e s << N, allora esse costituiscono un efficiente schema di indicizzazione per i documenti nella collezione. Inoltre, consentono l'eliminazione del rumore (presente nelle rappresentazioni basate su termini indice) e la rimozione della ridondanza. Il modello LSI introduce una interessante concettualizzazione del problema dell'Information Retrieval basato sulla teoria della decomposizione a valore singolo. L'ipotesi di LSI che le nuove dimensioni sono una migliore rappresentazione di documenti e query. La metafora alla base del termine "Latente" che queste nuove dimensioni sono la vera rappresentazione. Questa vera rappresentazione stata poi oscurata da un processo di generazione che ha espresso un particolare dimensione con una serie di parole in alcuni documenti e un set diverso di parole in un altro documento. Lanalisi LSI recupera la struttura semantica originale dello spazio e le sue dimensioni originali. I vantaggi principali di tale tecnica sono nella risoluzione della sinonimia e polisemia. Strategie di recupero tradizionali hanno difficolt a recuperare documenti sullo stesso argomento che usano un vocabolario diverso. In LSI, il concetto in questione cos come tutti i documenti che sono ad essa collegate hanno tutte le probabilit di essere rappresentati da una simile combinazione ponderata di variabili di indicizzazione. Utilizzando una ridotta rappresentanza in LSI, si spera di togliere qualche "rumore" dai dati, che potrebbe essere descritto come usi rari e meno importanti di alcuni termini. I principali svantaggi sono loccupazione della memoria e lefficienza. Si potrebbe anche sostenere che la rappresentazione SVD pi compatto. Molti documenti sono pi di 150 termini univoci. Cos la rappresentazione vettoriale sparsa occuper pi spazio di memoria rispetto alla rappresentazione compatta SVD poich si riduce a 150 dimensioni. In realt purtroppo vero il contrario poich per esempio pur conservando solo 100 dei 1399 possibili vettori di LSI si richiede la memorizzazione di 139.900 valori per i soli documenti. I vettori dei termini richiedono la memorizzazione di circa 400.000 valori aggiuntivi. Inoltre, i valori di LSI sono numeri reali, mentre le frequenze dei termini sono in interi. Utilizzando i vettori LSI inoltre , non possiamo pi sfruttare il fatto che ogni termine presente in un numero limitato di documenti.

1.1.2.4.

K-Means Clustering

Nell'ambito dell'Information Retrieval si definisce cluster un gruppo omogeneo di documenti, che sono tra loro pi fortemente associati di quanto lo siano con documenti di altri gruppi, quindi un processo di clustering si pu vedere come l'organizzazione degli oggetti in gruppi i cui membri sono simili. Prima di descrivere la tecnica di K-Means Clustering opportuno citare l'enunciato che sta alla base dell'utilizzo delle tecniche di clustering e che in letteratura viene indicato come Cluster Hypothesis: i documenti che sono simili l'uno con l'altro tendono ad essere rilevanti per le

D_InformationRetrieval.doc

Pag. 17 di 40

Livello di riservatezza - PU

medesime query. Nelle tecniche di clustering viene assegnato ad ogni cluster un elemento, detto centroide, che rappresenta in qualche modo la media dei documenti appartenenti a un determinato cluster. Il centroide pu essere considerato come il documento pi tipico tra quelli appartenenti al suo stesso cluster, ovvero quello che esprime meglio la caratterizzazione del gruppo di documenti cui appartiene. Invece di confrontare la query con tutti i documenti della collezione la si confronta con i vari centroidi e come risultato si ha il cluster o i cluster che risultano essere i pi simili alla query. Per organizzare i documenti in clustering bisogna definire una misura di similarit tra i documenti e definire i metodi per suddividere in classi quest'ultimi. Una tecnica di clustering K-Means Clustering che utilizza l'algoritmo Bisecting-Spherical KMeans. L'algoritmo Bisecting-Spherical K-Means cerca di trovare k cluster diversi dalla

collezione dei documenti espressa mediante la matrice M in modo da massimizzare la seguente funzione obiettivo:

dove cj il centroide normalizzato o il vettore dei concetti del cluster seguente espressione

, che calcolato dalla

dove nj il numero dei documenti nel cluster costituito da quattro passi:

. L'algoritmo Bisecting-Spherical K-Means

Calcola il cluster iniziale k con l'algoritmo di Bisection K-Means: . Il valore iniziale di t lo si pone a 0. Calcola la nuova partizione concetti, Calcola i vettori dei concetti associati ai nuovi cluster nella funzione obiettivo Quando il criterio di stop soddisfatto, ritornare incrementa t (t = t + 1) e torna al passo 2. e indotta dal vettore dei

e i vettori dei concetti

con 1 usando lespressione indicata

altrimenti

1.2.

Information extraction

Per information extraction si intende la creazione di una rappresentazione strutturata dell'informazione rilevante presente in un documento machine-readable non strutturato. Se applicata a documenti testuali, l'Information Extraction dunque una tecnologia che punta ad estrarre elementi salienti relativi ad un particolare contesto, come entit o relazioni o dominio di conoscenza.

D_InformationRetrieval.doc

Pag. 18 di 40

Livello di riservatezza - PU

Esso si distingue dall'IR in quanto l'enfasi in IR trovare documenti che gi contengono la risposta alla domanda formulata dell'utente: data una collezione di documenti, il sistema di IR che riceve in input una query (set di parole chiave) seleziona un sottoinsieme di documenti che ritiene rilevanti per la query. Lutente poi navigher la lista di documenti e cercher linformazione che pi gli interessa. Il sistema di IE, invece, data una selezione di documenti, cerca invece di estrarre in modo strutturato linformazione rilevante secondo le esigenze fornite in input. Tradizionalmente esistono tre generazioni di sistemi di IE: Hand-Built Systems - Knowledge Engineering [1980s- ] in cui le regole sono scritte a mano, richiesto l'intervento di esperti del sistema e del dominio di applicazione e sono necessari ripetuti tentativi per affinare i risultati Automatic, Trainable Rule-Extraction Systems [1990s ] si utilizzano learner per l'apprendimento automatico delle regole ma tale soluzione richiede corpora molto ampi Statistical Models [dal 1997 in poi] uso del machine learning per l'individuazione delle feature inerenti a tipologie di entit; si tratta spesso di supervised learning, ma pu essere parzialmente unsupervised L'IE usata in numerose applicazioni, in particolare nel text data mining: il data mining estrae sapere o conoscenza a partire da grandi quantit di dati, attraverso metodi automatici o semiautomatici. Il text data mining una forma particolare di data mining dove i dati sono costituiti da testi scritti in linguaggio naturale, quindi da documenti "destrutturati". Il text data mining unisce la tecnologia di analisi linguistica con gli algoritmi di data mining. IR e IE sono quindi tecnologie complementari che condividono lo stesso obiettivo finale: l'estrazione di informazione implicita contenuta in un insieme di documenti. Nei motori di ricerca, l'uso primario di IE l'identificazione di attributi (features) da utilizzare per migliorare il ranking. Con eccessivo ottimismo, si pensa che le tecniche di IE possano trasformare la ricerca su testo in un problema di interrogazione su database, estraendo tutte le informazioni importanti dal testo e memorizzandole in forma strutturata, ma per ora si tratta di obbiettivi ancora lontani. Esempi di attributi da identificare possono essere: titolo del documento, testo in grassetto, sostantivi. Se il documento scritto in XML, alcuni di questi dati sono facilmente individuabili tramite i markup; altri dati, invece, richiedono un processo aggiuntivo prima di annotare il testo con la relativa feature (esempio: sentence). Tuttavia, se si considerano documenti acquisiti mediante tecniche di riconoscimento ottico dei caratteri (OCR), essi non hanno alcun markup e, quindi, anche semplici elementi strutturali come il titolo devono essere individuati e annotati. Sebbene le feature siano spesso di tipo generale, gli sforzi in IE si concentrano per ottenerne di pi complesse, con uno specifico contenuto semantico, come entit e relazioni. La named entity una parola o sequenza di parole utilizzata per riferirsi a qualcosa di particolarmente significativo in un determinato contesto o per una specifica applicazione. Gli esempi pi comuni sono i nomi di persona, compagnie, organizzazioni, luoghi, date, quantit, valute monetarie. Data la natura pi specifica di queste feature, il processo di identificazione e di marcatura noto come semantic annotation e generalmente gli approcci pi usati come identificatori di named entity sono basati su regole che usano uno o pi lexicons (liste di parole o gruppi di parole). Se la lista sufficientemente precisa ed estesa, gran parte dell'estrazione pu essere fatta semplicemente tramite lookup; combinando regole e patterns, poi, si possono creare nuove entit (per esempio il pattern via <word>, <number> pu identificare una via). L'IE si compone generalmente di una serie di fasi (task): Named Entity Task (NE): marcare nel testo le stringhe che rappresentano entit Template Element Task (TE): estrarre linformazione rilevante associata alle entit Template Relation Task (TR): estrarre linformazione sulle relazioni tra gli elementi del Template ottenuti con NE e TE. Scenario Template Task (ST): come TR, ma la scelta del template (slot da riempire) determinata dal riconoscimento di elementi rilevanti per un certo argomento.

D_InformationRetrieval.doc

Pag. 19 di 40

Livello di riservatezza - PU

Coreference Task (CO): catturare linformazione sulle coreferenze legate agli elementi marcati con TE e NE

Attualmente gli approcci dell'IE sono due: Sistema basato su regole: esperti specializzati nel linguaggio definiscono a mano le grammatiche del sistema (i domain patterns) Le regole si basano su intuizioni umane il perfezionamento del sistema viene fatto a mano richiede solo una piccola quantit di training data lo sviluppo potrebbe richiedere molto tempo, potrebbe essere difficile apportare eventuali cambiamenti In questo scenario, l'intervento umano dell'esperto consente di creare un sistema funzionante con buone prestazioni; tuttavia definire manualmente le regole pu andar bene in applicazioni che non hanno grosse pretese di accuratezza, mentre l dove richiesto un alto grado di precisione, tale modalit potrebbe richiedere tempi molto lunghi, particolarmente difficile e crea facilmente inconvenienti quando il set di regole diventa molto ampio, senza contare che se il contesto cambia, c' da ricostruire tutto il sistema. Learning Systems il sistema usa metodi statistici (machine learning) gli sviluppatori non sono necessariamente esperti di Language Engineering apprende regole da corpora di addestramento richiede una grossa quantit di training data con annotazioni apprende regole dall'interazione con l'utente eventuali cambiamenti potrebbero richiedere la riannotazione dell'intero training corpus gli annotatori sono a buon prezzo Questo secondo approccio offre il vantaggio di un'alta portabilit tra domini diversi e non richiedendo la presenza di specialisti in Language Engineering, presenta costi contenuti. Il fattore negativo dato dalla grande quantit di dati richiesta per il training: pi abbondante quest'ultimo, maggiore sar il grado di precisione raggiunto.

D_InformationRetrieval.doc

Pag. 20 di 40

Livello di riservatezza - PU

2. Tecnologie e loro problematiche


Il capitolo seguente si propone di analizzare le varie tecniche di analisi a supporto dellinformation retrieval e information extraction e i vantaggi/svantaggi di ciascuna tecnologia.

2.1.

Informazione non strutturata nel web

L'ambiente web ormai rappresenta una piattaforma di scambio per i dati insostituibile. Se prima del suo utilizzo in termini massicci, ogni azienda o struttura organizzata aveva una propria collezione di dati cui accedeva con applicazioni specializzate e dedicate, oggi la necessit di scambio e di condivisione delle informazioni tramite il web ha messo ben in evidenza la difficolt di conciliare reperimento di informazione, utilizzo di banche dati e testo non strutturato. La diffusione della connettivit internet ha favorito un uso intensivo della stessa da parte degli utenti accelerando nel contempo la produzione sempre pi abbondante di contenuti web. Contestualmente non si posta sufficiente attenzione alla struttura dei documenti web, pertanto se da un lato i motori di ricerca si sono resi necessari per consultare tali contenuti (e la loro creazione ha decretato il vero e proprio successo del web), dall'altro il loro uso comporta alcuni problemi: Alto richiamo, bassa precisione. La produzione di informazione ha creato sovrabbondanza: in questa situazione, 'utente che sottopone una richiesta al motore di ricerca, anche se ben formata, si vede restituire un set di documenti che comporta spesso un alto costo in termini di tempo ed energie per selezionare l'informazione ritenuta rilevante e trarre valore da essa. Anche se le principali risorse web rilevanti sono recuperate, non sempre esse appaiono tra le prime visualizzate, e diventa difficile individuarle tra altre migliaia, pi o meno rilevanti. Richiamo scarso o assente. Non sempre si ottengono risposte rilevanti per le nostre richieste, oppure pagine importanti e rilevanti possono non essere recuperate. Nonostante il basso richiamo sia il problema meno frequente con gli attuali motori di ricerca, esso potrebbe comunque verificarsi. Risultati molto sensibili al vocabolario. Spesso la nostra parola chiave iniziale non ci fornisce i risultati sperati e non perch non ci siano documenti rilevanti, bens perch quest'ultimi, al loro interno, contengono una terminologia differente da quella utilizzata dalla query. Questo crea insoddisfazione perch query semanticamente simili dovrebbero fornire lo stesso risultato I risultati sono singole pagine web. Se noi abbiamo bisogno di una informazione diffusa su numerosi documenti, siamo costretti a fornire ripetute query per collezionare documenti rilevanti ed estrarre manualmente la parziale informazione presente in ognuno per integrarla con il resto. Contenuti non sempre direttamente accessibili I risultati delle ricerche web, quando non sono semplici pagine web, sono accessibili solo se si dispone di altri strumenti software (per esempio: .pdf, .doc, .xls, .ppt, .jpg ). Fortunatamente si assiste alla diffusione di prodotti open source generalmente gratuiti che consentono da parte dell'utente l'utilizzo concreto di tali contenuti. Nel contesto web il termine information retrieval usato in abbinamento a search engine pu trarre in inganno: location finder potrebbe essere un termine pi appropriato. Fare information extraction su una collezione cos vasta e varia come quella dei documenti in rete un compito particolarmente arduo. Il principale ostacolo per fornire supporto all'utente web, al momento,

D_InformationRetrieval.doc

Pag. 21 di 40

Livello di riservatezza - PU

rappresentato dal fatto che il significato del contenuto web non accessibile alla macchina: naturalmente ci sono strumenti che possono recuperare testi, suddividerli in pi parti, verificare lo spelling, contare i termini, etc., ma non sono ancora in grado di interpretare le frasi ed estrarre informazione utile per gli utenti, o almeno le capacit in tal senso sono per ora limitate. Questo non significa progettare sistemi software intelligenti in grado di capire l'informazione, sufficiente, per ora, che essi siano capaci di processarla effettivamente rendendola utile (machine-understandable). Inoltre, per ottenere risultati soddisfacenti, preferibile che l'informazione sia facilmente elaborabile dalla macchina: un testo strutturato in XML oppure opportunamente annotato sicuramente pi comprensibile per un elaboratore rispetto ad un testo non strutturato.

2.2.

Analisi del linguaggio naturale

Il Natural Language Processing (NLP) un settore della computer science che si occupa delle interazioni tra computer e linguaggio umano naturale; esso studia i problemi connessi alla generazione automatica e alla comprensione del linguaggio umano, scritto o parlato. Il termine Natural Language usato per distinguere il linguaggio umano usato dalle persone (italiano, inglese, spagnolo...) dal linguaggio dei computer (Java, C++, XML). La sua attenzione dunque rivolta al trattamento automatico della lingua utilizzando l'analisi morfologica, sintattica e semantica come strumento di approssimazione del significato di un testo. Nel nostro caso specifico, l'elaborazione consiste in un processo di estrazione di informazione da documenti scritti in linguaggio naturale. Lo studio del linguaggio naturale avviene per fasi eseguite in una precisa sequenza e caratterizzate da una valenza semantica crescente: articolare e decodificare i suoni di una lingua (identificazione di suoni e lettere) conoscere le parole di una lingua, la loro struttura (plurale/singolare) e la loro organizzazione (sostantivo, verbo, aggettivo). L'analisi lessicale individua i lessemi che compongono il linguaggio e che trovano una definizione nel dizionario; l'analisi morfologica individua la struttura plurale/singolare, modo verbale, tempo verbale, e assegna ad ogni parola la propria classe morfologica intesa come aggettivo, sostantivo, verbo. composizione di parole in costituenti complessi (part-of-speech). La sintassi individua le parti del discorso come soggetto, predicato, complemento, oppure gruppi di parole con significato unico come hot-dog, o ancora la parte nominale e verbale con derivazione dell'albero sintattico completo. assegnazione di significati alle espressioni linguistiche semplici e complesse. La semantica cerca di individuare il significato delle parole in funzione del contesto. utilizzo delle frasi nei contesti, situazioni e modi appropriati agli scopi comunicativi. La pragmatica osserva come e per quali scopi la lingua viene utilizzata, distinguendo se si tratta di narrazione, dialogo, metafora, etc.

I risultati ottenuti sono poi applicati alle due principali categorie di NLP: natural language generation che si occupa della conversione di informazione da database a linguaggio umano leggibile natural language understanding che trasforma il linguaggio umano in forme di rappresentazione facilmente manipolabili dai programmi. Il NLP affronta numerose problematiche: speech segmentation, conversione di una traccia vocale in caratteri e in parole di senso compiuto; text segmentation, riconoscimento delle singole parole in testi scritti con ideogrammi anzich lettere (cinese, giapponese, thai....); part-of-speech tagging, individuazione degli elementi grammaticali di una frase come sostantivo, aggettivo, D_InformationRetrieval.doc
Pag. 22 di 40

Livello di riservatezza - PU

verbo, pronome; word sense disambiguation: deduzione dal contesto del significato di un termine normalmente utilizzato per indicare pi concetti; imperfect or irregular input: riconoscimento e correzione di eventuali accenti regionali, errori di battitura, errori prodotti da strumenti di Optical Character Recognition. NLP, dunque, indica qualsiasi applicazione che elabora il linguaggio umano. La linguistica computazionale descrive metodi per il NLP che possano dotare il computer di conoscenze linguistiche affinch programmi e sistemi informatici siano in grado di assistere l'uomo in compiti linguistici. I principali task in cui fornisce supporto sono: strumenti di scrittura e lettura in lingua straniera suggerimento ortografico o correzione ortografica controllo della grammatica individuazione di sinonimi e suggerimento degli stessi all'utente consentendogli di raffinare il risultato di una query (detta anche generazione di sinonimi) information extraction assegnazione automatica di metadati automatic summarization, ossia la creazione automatica, a partire da un documento, di un riassunto che contenga i punti pi importanti del testo originale. classificazione o categorizzazione dei documenti (si parla di classificazione quando le categorie sono due, di categorizzazione quando le categorie sono pi di due) traduzione simultanea di linguaggio umano da una lingua all'altra (machine translation) question answering, ossia strumenti che, da una richiesta espressa in linguaggio umano, producono risultati tradotti in linguaggio umano. speech recognition, traduzione simultanea di un discorso in un testo scritto.

Le difficolt di elaborazione in ambito linguistico si spiegano anche considerando le caratteristiche pi evidenti del linguaggio naturale stesso: la flessibilit, perch usa modi diversi per affermare lo stesso fatto; l'ambiguit in quanto la medesima affermazione pu avere pi di un significato; la dinamicit data dalla continua creazione di parole nuove. Proprio a causa di queste particolarit, la comprensione del linguaggio naturale spesso considerata un problema IA-completo, ossia un problema la cui risoluzione paragonata equivalente alla creazione di una intelligenza artificiale realistica. Infatti la comprensione dei testi necessita la comprensione dei concetti ad essi associati, e quindi una conoscenza estesa della realt e una grande capacit di manipolarla. Per le persone, la comprensione del linguaggio frutto di un processo mentale che non pu essere riprodotto in una macchina; inoltre, il linguaggio una forma di comunicazione e interazione tra persone che riflette la superficie del significato e consente alle persone di capirsi mentre un elaboratore, per quanto sofisticato possa essere il software di cui dotato, si basa comunque su procedimenti determinati a priori. Per questa ragione, la definizione di "comprensione" uno dei maggiori problemi dell'elaborazione del linguaggio naturale.

2.2.1. Fasi del NLP


Come anticipato poco fa, l'elaborazione del linguaggio naturale comporta una successione di fasi che tentano di superare le ambiguit del linguaggio umano. Si tratta di un processo particolarmente delicato a causa delle complesse caratteristiche del linguaggio stesso. tokenization analisi morfologica analisi lessicale scomposizione di un'espressione linguistica in token (parole, spazi, punteggiatura, frasi) forme di flessione e regole di composizione (part-of-speech) individuazione dei vocabol

D_InformationRetrieval.doc

Pag. 23 di 40

Livello di riservatezza - PU

analisi sintattica named entit recognition analisi semantica

co-reference analisi pragmatica

creazione di una struttura sintattica ad albero (parse tree) identificazione di entit con significato semantico assegnazione di un significato alla struttura sintattica e, di conseguenza, all'espressione linguistica individuazione di pronomi e parafrasi distinzione del testo in dialogo, discorso, metafora

2.2.2. Tokenization
L'elaborazione di un testo inizia con la sua scomposizione in token corrispondenti a spazi, parole, punteggiatura, frasi. Il task non particolarmente complesso rispetto agli altri ma presenta comunque alcune problematiche: per esempio, se si considera il punto come fine sentence si rischia di sbagliare frequentemente in quanto il punto potrebbe riferirsi ad una abbreviazione o ad una data o ad un link. Con opportune regole che gestiscono la struttura delle abbreviazioni si possono ottenere risultati ancora pi accurati. Pur essendo di per se' un task indipendente dalla lingua, non sempre si ottengono i risultati sperati. Qualche esempio: Citazioni >>> tagger.tokenize('This is a "simple" example.') ['This', 'is', 'a', '"', 'simple', '"', 'example', '.'] >>> tagger.tokenize('"This is a simple example."') ['"', 'This', 'is', 'a', 'simple', 'example', '."'] >>> tagger.tokenize('Parts-Of-Speech') ['Parts-Of-Speech'] >>> tagger.tokenize('amazon.com') ['amazon.com'] >>> tagger.tokenize('Hi , I am here.') ['Hi', ',', 'I', 'am', 'here', '.'] >>> tagger.tokenize("my parents' car") ['my', 'parents', "'", 'car'] >>> tagger.tokenize("12.4") ['12.4'] >>> tagger.tokenize("-12.4") ['-12.4'] >>> tagger.tokenize("$12.40") ['$12.40'] >>> tagger.tokenize("10/3/2009") ['10/3/2009'] >>> tagger.tokenize("3.10.2009") ['3.10.2009']

Parole che contengono caratteri speciali

Tolleranza per punteggiatura non corretta Forme grammaticali particolari Numeri

Date

2.2.3. Analisi morfologica e lessicale (part-of-speech)


La morfologia fornisce informazioni sulla forma di ciascuna parola e sul suo ruolo all'interno di una frase. Il lessico (o vocabolario) il complesso delle parole e dei modi di dire (locuzioni) di una lingua. L'analisi morfologica e lessicale prevedono la consultazione di apposite liste di lemmi e loro derivazioni (liste che possono essere eventualmente integrate con termini specifici relativi al dominio che si sta studiando), la risoluzione delle forme di flessione (come la coniugazione per

D_InformationRetrieval.doc

Pag. 24 di 40

Livello di riservatezza - PU

i verbi e la declinazione per i nomi) e la classificazione delle parole basata su determinate categorie (come il nome, pronome, il verbo, l'aggettivo). Per esempio: Analisi morfologica libro sostantivo simpatiche aggettivo urlano verbo Analisi lessicale singolare plurale plurale

maschile femminile Terza persona

libro Simpatico urlare

L'analizzatore morfologico tenta di individuare la radice e gli affissi (prefissi e suffissi) di ogni parola ottenendo morfemi, ossia le unit linguistiche pi piccole con significato semantico, e generando le seguenti scomposizioni: Portato indipendentemente Pittrici port-ato in-dipend-ente-mente pitt-ric-i (participio passato) (prefisso-radice-suffissi) (radice- suffisso-plurale)

Analizzatore lessicale e morfologico possono essere implementati separatamente, ma spesso costituiscono un unico task. Il risultato di questo processo pi spesso noto come Part of Speech Tagging (PoS) e il tagset pi diffuso Penn che distingue 36 parti di speech (48 se si include la punteggiatura). Qualche esempio concreto aiuta ad individuare e far comprendere le pi frequenti tipologie di problemi legati a questa fase e le funzionalit offerte dai tagger PoS: >>> tagger('These are simple examples.') [['These', 'DT', 'These'], ['are', 'VBP', 'are'], ['simple', 'JJ', 'simple'], ['examples', 'NNS', 'example'], ['.', '.', '.']] PennTreebank tagset DT determiner VBP verb, pres.tense, not 3th person singular JJ adjective NNS noun, plural common

Regole >>> tagger('Ikea') [['Ikea', 'NN', 'Ikea']] >>> tagger('Ikeas') [['Ikeas', 'NNS', 'Ikea']] >>> tagger('. Police') [['.', '.', '.'], ['police', 'NN', 'police']] >>> tagger('Police') [['police', 'NN', 'police']] >>> tagger('. Stephan') [['.', '.', '.'], ['Stephan', 'NNP', 'Stephan']] >>> tagger('The fox can jump') [['The', 'DT', 'The'], ['fox', 'NN', 'fox'], ['can', 'MD', 'can'], ['jump', 'VB', 'jump']] >>> tagger('The fox can really jump') [['The', 'DT', 'The'], ['fox', 'NN', 'fox'], ['can', 'MD', 'can'], ['really', 'RB', 'really'], ['jump', 'VB', 'jump']] D_InformationRetrieval.doc

descrizione Correggi nomi di default

Distingui nomi propri da nomi ad inizio frase

Determina il verbo modale e il relativo verbo successivo

Pag. 25 di 40

Livello di riservatezza - PU

>>> tagger('examples') [['examples', 'NNS', 'example']] >>> tagger('stresses') [['stresses', 'NNS', 'stress']] >>> tagger('cherries') [['cherries', 'NNS', 'cherry']] >>> tagger('men') [['men', 'NNS', 'men']] >>> tagger('feet') [['feet', 'NNS', 'feet']]

Normalizza forme plurali

In alcuni casi, non fare nulla

Gi in questa fase emergono le prime difficolt legate all'ambiguit, in questo caso lessicale: per certi vocaboli il task non sa attribuire correttamente la giusta categoria morfologica. Consideriamo per esempio La vecchia legge la regola : si possono avere due possibili varianti di classificazione morfologica associata ai token.

La vecchia legge la regola

articolo sostantivo verbo articolo Sostantivo

oppure

articolo aggettivo sostantivo pronome verbo

In questo esempio si nota come solo l'articolo rimanga inviariato mentre gli altri token siano associati a categorie totalmente diverse.

2.2.4. Analisi sintattica e generazione di parse tree


La sintassi contiene la conoscenza necessaria per spiegare come sequenze di parole hanno senso compiuto mentre altre sequenze, pur contenendo esattamente le stesse parole ma in ordine non corretto, siano prive di senso. Per esempio, la frase il sole tramonta a ovest ha senso compiuto; il tramonta ovest a sole non ha alcun senso. L'analisi sintattica tenta, dunque, di individuare le varie parti che danno un significato alla frase (soggetto, predicato, complementi) e di costruire la giusta posizione delle parole. Generalmente la struttura sintattica rappresentata come Parse Tree. Si consideri la frase The dog ate my homework e si supponga di aver risolto l'ambiguit lessicale con il giusto tag di PoS (anche qui dog potrebbe indicare un sostantivo o il verbo pedinare); l'analizzatore sintattico rielabora il documento e crea la struttura ad albero sulla base di alcune regole: The dog ate my homework det noun Det + noun verb Poss. adj noun Verb + NP NP + VP PoS PoS Applicazione regole PoS PoS PoS Appliaczione regole Appliaczione regole

NP (noun frase)

VP (verbo phrase) S (sentence)

Il parsing, dunque, tenta di capire le relazioni sintattiche tra gli elementi del testo. Esso pu

D_InformationRetrieval.doc

Pag. 26 di 40

Livello di riservatezza - PU

essere implementato a vari livelli di complessit: il full parsing (o parsing completo) molto dettagliato ma comporta tempi eccessivi di elaborazione e percentuali di errore non trascurabili. Lo shallow parsing (o parsing superficiale), invece, oltre ad essere pi veloce, ottiene buoni risultati, anche perch l'informazione essenziale di solito presente in poche porzioni dell'albero. Anche in questa fase l'ambiguit, stavolta di tipo sintattico (detta anche ambiguit locale perch riferita ad una parte della frase), comporta non poche difficolt. Si consideri questo esempio: Egli vide una donna con gli occhiali Non ben chiaro se l'uomo ha gli occhiali e vede una donna oppure se la donna vista dall'uomo indossa gli occhiali. A volte il contesto aiuta a risolvere tali ambiguit, ma in presenza di frasi articolate si genera una proliferazione di alberi sintattici con evidente aumento della complessit.

2.2.5. Stemming
Stemming (Lemmatization) loperazione che porta una parola dalla sua forma flessa al suo lemma. Gli stemmer sono analizzatori morfologici, che associano alle forme flesse di un termine, la sua forma radicale. La forma radicale pu essere pensata come il lemma che si trova normalmente sui dizionari. In linguistica si dice lemma la forma di citazione di una parola, se ad esempio se in una frase troviamo la parola cani questa sar una forma flessa plurale e il suo lemma sar cane. Per i verbi in italiano il lemma sar la forma allinfinito del verbo. I due metodi principali sono: il linguistic/dictionary-based stemming; il Porter-style stemming. Il linguistic/dictionary-based stemming ha unaccuratezza di stemming pi elevata, ma anche costi di implementazione e di elaborazione pi elevati ed una copertura pi bassa. Il Porter-style stemming ha unaccuratezza minore, ma costi di implementazione e di elaborazione pi bassi ed solitamente sufficiente per lIR. Lo stemming mappa vari termini ad una forma base, la quale poi utilizzata come termine nel modello a spazio vettoriale. Ci vuol dire che, nella media, aumenta le similarit tra documenti o documenti e query poich avranno pi termini comuni in seguito allo stemming, ma non prima. Lo stemming ha un costo di elaborazione relativamente basso, specialmente quando si utilizza il Porter-style stemming, il quale riduce la dimensione dellindice e solitamente migliora di poco i risultati. Ci lo rende molto appetito per lutilizzo nellIR. Il vantaggio dello stemming che si ritrovato tramite molte ricerche risulta in una sovrapposizione di casi positivi e negativi. Linflexional stemming per lo pi vantaggioso, anche se vi sono casi ambigui nei quali lo stemming risulta contestabile. Per esempio, un utente probabilmente non sta cercando la parola window quando il termine della sua query Windows (parte della casa vs. il sistema operativo). Il derivational stemming ha effetti misti: pi adatto a mappare la parola resignation con la parola resign, e assassination con assassin. Ma molti mapping generati da un semplice stemmer sono errati o introducono ambiguit.

2.2.6. Named Entities Recognition


La fase successiva vede poi l'individuazione, tramite regole o approcci statistici di machine learning, di parole o gruppi di parole che specificano entit appartenti a diverse categorie. E' spesso suddivisa in due step: segmentazione e classificazione. Con la segmentazione si individuano i confini (start e end offset) delle entit, con la classificazione si assegna loro un'annotazione con validit semantica. Un esempio quello riferito all'individuazione dei nomi propri come Mario Rossi: gestirli con apposite liste troppo dispendioso a causa dei continui aggiornamenti che richiederebbero, senza contare che appartengono a troppi domini diversi. Le entit possono appartenere ad alcune categorie standard, generalmente riconosciute valide in ogni dominio come Luoghi o Organizzazioni, a categorie comuni come Date, Misure, Indirizzi oppure a specifici domini (nomi farmacologici, D_InformationRetrieval.doc
Pag. 27 di 40

Livello di riservatezza - PU

banche..). Per riconoscere le entit si utilizzano generalmente tre approcci: Lookup List o Gazetteers: veri e propri elenchi suddivisi per categoria. Rule-based (pattern-matching): le entity sono individuate utilizzando espressioni regolari che analizzano il contesto e/o alcune caratteristiche delle entity stesse come l'ortografia, la categoria di POS o altre features ad esse collegate. Anche con questa modalit non mancano i casi di ambiguit: General Motors potrebbe indicare un'entit appartenente alla categoria Organizzazione oppure essere considerata un titolo militare. Machine-trainable: in questo modalit, la tecnologia che si affermata maggiormente grazie ai risultati raggiunti quella di Hidden Markov Model (HMM), un modello probabilistico che tratta sequenze di parole. Introdotto da Church e DeRose55 e importato dalla comunit di speech recognition, il modello parte da corpus annotato per ricavare le probabilit di transizione da uno stato all'altro (macchina a stati finiti). Tale processo probabilistico genera sequenze di stati e di simboli in output che rappresentano una frase. In pratica, definisce le probabilit inerenti a sequenze di parole.

L'uso dei gazetteers certamente il sistema pi semplice ma non sempre applicabile perch richiederebbe elenchi troppo lunghi. Il riconoscimento delle entit basato su regole ha sicuramente il vantaggio della semplicit in fase di sviluppo, ma richiede tempi lunghi per verificare i risultati sui corpora e raffinare in pi step la regola stessa. E' veloce in fase di esecuzione e normalmente si applica su testi standard ottenendo buone prestazioni. Il machine-trainable, infine, ha il vantaggio di essere pi generale e applicabile senza variazioni a pi domini ma richiede moltissimi dati per calcolare le probabilit e finora ottiene risultati inferiori rispetto alle altre due metodologie.

2.2.7. Analisi semantica


L'analisi semantica si propone di estrarre il significato di una intera frase partendo dal significato di ciascun termine che la compone e dalle relazioni esistenti tra gli stessi. Infatti il significato di una frase non dato solo dalle parole ma anche dalla conoscenza delle regole che decidono il loro significato in base alla combinazione, all'ordine in cui appaiono, ai legami che le legano ad altri termini interni o esterni alla frase. Per esempio: Maria ha un forte interesse per i computer. Maria ha un alto tasso di interesse sul suo conto corrente. In questo esempio interesse sempre sostantivo ma il significato che trasmette nelle due frasi molto differente. Inoltre forte interesse e alto tasso di interesse sono entrambi complemento oggetto ma hanno significati totalmente diversi nelle due frasi. Rimane invece difficile distinguere il significato di frasi come queste: Qual il senso di vita? da Qual il senso della vita? oppure risolvere ambiguit relative alla quantificazione: Roberto regal agli amici una birra in cui non chiaro se Roberto ha distribuito una birra a ciascun amico oppure se quella birra era da spartire. Ma forse l'esempio pi famoso quello composto nel 1957 da Noam Chomsky per dimostrare l'inadeguatezza degli algoritmi di allora nell'elaborazione del linguaggio naturale:

D_InformationRetrieval.doc

Pag. 28 di 40

Livello di riservatezza - PU

Colorless green ideas sleep furiously liberamente tradotta in idee verdi senza colore dormono furiosamente: sebbene ciascun termine abbia un suo significato e sebbene la struttura grammaticale del periodo sia corretta, la frase nel suo insieme non ha alcun significato.

2.2.8. CoReference
Questo task, particolarmente complesso, tenta di risolvere pronomi e parafrasi, identificando nei testi relazioni di identit tra entit individuate da Named Entity o referenze anaforiche ad esse attinenti. In una prima fase identifica le parti nominali del testo usando NE, numero, genere e ruolo sintattico. Successivamente effettua un controllo di consistenza a ritroso e determina tutti i possibili precedenti fino ad una distanza predefinita. Dopodich elimina i precedenti che non sono correlati e infine ordina per vicinanza gli antecedenti tentando di distinguere i pronomi intra-frase, intra-paragrafo, o intra-documento. Esiste poi un task ulteriore che risolve le ellissi, ossia frasi prive di alcuni elementi sintattici che devono essere dedotti dal contesto. Per esempio: Docenti e studenti finirono gli esami e se ne andarono. Anche Mario. L'ellisse in questo caso rappresentata dalla seconda frase: essa non ha una costruzione regolare e acquista senso solo se la si considera legata alla precedente.

2.2.9. Analisi pragmatica


La pragmatica tende a fare distinzione tra significato dell'enunciato e intenzione del parlante. Il significato dell'enunciato il suo significato letterale, mentre l'intenzione del parlante il concetto che il parlante tenta di trasmettere.

Io non ho mai detto che lei ha rubato i miei soldi. Lo dice qualcun altro, ma non io Io non ho mai detto che lei ha rubato i miei soldi. Io semplicemente non l'ho mai detto. Io non ho mai detto che lei ha rubato i miei soldi. Posso averlo lasciato intendere ma non l'ho mai detto esplicitamente Io non ho mai detto che lei ha rubato i miei soldi. Ho detto che qualcuno ruba, ma non ho detto che era lei Io non ho mai detto che lei ha rubato i miei soldi. Ho detto che probabilmente li ha presi in prestito Io non ho mai detto che lei ha rubato i miei soldi. Ho detto che ha rubato i soldi a qualcun altro Io non ho mai detto che lei ha rubato i miei soldi. Ho detto che ha rubato qualcosa ma non i miei soldi.
Pur considerando sempre la stessa frase, abbiamo posto l'enfasi su parole diverse mettendo in luce le possibili intenzioni dell'interlocutore. Si tratta di un task particolarmente difficile che comunque non trova la sua ideale applicazione nei referti, soprattutto per la document classification che si vuole ottenere. Quello che conta, alla luce delle problematiche emerse e degli esempi riportati, sottolineare quanto sia importante risolvere l'ambiguit, non solo per ottenere precisione nei risultati ma anche per risparmiare sulla complessit dell'intera analisi, dato che pi interpretazioni differenti comportano una ripetizione esponenziale dei task. D_InformationRetrieval.doc
Pag. 29 di 40

Livello di riservatezza - PU

2.3.

Machine learning e tecniche di data mining

Il seguente capitolo descrive e analizza alcuni algoritmi di data mining per linfomation extraction e information retrieval. Tali algoritmi vengono utilizzati nel caso nellIR per la classificazione dei documenti secondo un dominio di conoscenza prefissato. Hanno quindi lo scopo di individuare la rilevanza di un documento rispetto ad una categoria appartenete al dominio. Nella fase dellIE invece, tali algoritmi vengono utilizzati per individuare attraverso la posizione degli elementi nel testo, la frequenza, e le varie analisi descritte precedentemente, un associazione tra una parte del documento e una particolare entit. Il Machine Learning rappresenta una delle aree fondamentali dell' Intelligenza Artificiale e si occupa della realizzazione di sistemi che si basano su osservazioni o esempi come dati per la sintesi di nuova conoscenza (classificazioni, generalizzazioni, riformulazioni). Il Machine Learning (ML) o Apprendimento automatico una disciplina scientifica che progetta e sviluppa algoritmi che consentono agli elaboratori di evolvere il proprio comportamento basandosi su dati empirici. Il principale obiettivo di ricerca in ambito di Machine Learning imparare a riconoscere automaticamente pattern complessi ed effettuare scelte intelligenti basandosi su dati gi analizzati. La necessit di ricorrere al ML nasce dal fatto che prevedere a priori l'intero set di possibili comportamenti in base all'input, costruendo per esempio manualmente un set di regole, troppo complesso da descrivere in un linguaggio di programmazione. Parallelamente, la difficolt di tale metodologia risiede nell'incertezza con cui si individua una corrispondenza tra input e output: essa si basa su un meccanismo parametrico per la generazione dei dati, di cui per non si conoscono a priori valori esatti dei parametri. Caratteristica del ML l'induzione, ossia lestrazione di leggi generali a partire da un insieme di dati osservati. Essa si contrappone alla deduzione in cui, a partire da leggi generali, si prevede il valore di un insieme di variabili. Linduzione parte dallosservazione per misurare un insieme di variabili e per poi effettuare previsioni su ulteriori dati. Questo processo complessivo nel quale, a partire da un insieme di osservazioni, si vuole effettuare previsioni su nuovi dati prende il nome di inferenza. Le situazioni di difficile soluzione mediante algoritmi tradizionali sono numerose e dovute tipicamente alla presenza di: Difficolt di formalizzazione: per esempio ognuno di noi sa riconoscere se una certa immagine raffiguri il volto di un amico ma probabilmente nessuno sa descrivere una sequenza di passi computazionali che, eseguita sui pixel, consenta di rispondere alla domanda. Elevato numero di variabili in gioco: quando si considera ad esempio l'elaborazione di documenti in linguaggio naturale, la specifica di tutti i parametri che si pensa possano essere coinvolti pu essere particolarmente complessa. Inoltre, la stessa formalizzazione applicata in un medesimo contesto ma su corpora differenti potrebbe rivelarsi inadeguata e richiedere una nuova rielaborazione. Mancanza di teoria: si immagini di dover prevedere con esattezza l'andamento dei mercati finanziari in assenza di leggi matematiche specifiche. Necessit di personalizzazione: la distinzione tra documenti interessanti e non interessanti dipende significativamente dalla percezione del singolo utente. Gli algoritmi di apprendimento automatico sono tradizionalmente divisi in tre principali tipologie: Apprendimento supervisionato: quando l'utente fornisce esempi (e controesempi) di quello che si deve apprendere. E' il problema pi studiato nel machine learning. Esso si pone lobiettivo di prevedere, dato un elemento di cui si conoscono un insieme di
Pag. 30 di 40

D_InformationRetrieval.doc

Livello di riservatezza - PU

parametri (features), il valore di un diverso parametro di output relativo allelemento stesso. Apprendimento non supervisionato: parte da osservazioni non preclassificate Apprendimento con rinforzo: tecnica di programmazione che si basa sul presupposto che l'algoritmo possa ricevere stimoli dall'esterno a seconda delle scelte fatte.

Il problema definito a partire da un universo di elementi: ciascun elemento x descritto dai valori assunti da un insieme di features considerate come input del problema. Ad ogni x associato un valore y di output (o target). A partire dalla conoscenza di un insieme T di elementi (denominato training set) in cui ogni elemento descritto da una coppia (xi ,yi), con xi = vettore (1) (2) (3) (d) dei valori delle d features xi , xi , xi ,,xi e yi = valore di output, si vuole derivare un modello delle relazioni sconosciute tra features e valori di output, che, dato un nuovo elemento x, consenta di predire il corrispondente valore di output y. I valori assunti dalle singoli features possono essere di varia natura: Quantitativi: quando forniscono la misura di una grandezza Qualitativi: se specificano una classe di appartenenza Qualitativi ordinati: quando specificano lappartenenza ad un intervallo

Allo stesso modo, i valori di output possono essere: Quantitativi: in questo caso il valore restituito la predizione di una misura, e si parla di regressione (valori continui). Qualitativi: in questo caso il valore restituito lassegnazione ad una classe (categoria), e si parla di classificazione o pattern recognition. In particolare, se il numero di possibili classi due, si parla di classificazione binaria, altrimenti di classificazione multi-classe. Qualitativi ordinati: in questo caso si parla di regressione ordinale.

2.3.1. Clustering e classificazione


La classificazione, come accennato, si ha quando i valori di output che si vogliono predire non sono continui ma possono assumere soltanto valori appartenenti ad un insieme discreto, in cui ogni valore denota una classe. Nel caso pi diffuso, le classi sono disgiunte, e quindi ogni input va assegnato ad una e una sola classe: lo spazio di input quindi diviso in regioni di decisione delimitate da confini. Il machine learning ha un ruolo importante nei problemi di classificazione che pu avvenire con diversi livelli di granularit: classificazione di interi documenti (text classification), identificazione e classificazione di piccole unit presenti nei documenti (IE), identificazione e classificazione di nomi propri, luoghi, organizzazioni, particolari entit relative ad uno specifico contesto (sottoinsieme di IE). Esistono due modi per assegnare la classe ad un elemento: Classificazione: si conoscono a priori le classi in cui assegnare gli elementi e si hanno a disposizioni un set di esempi per ciascuna classe. Clustering: si assume che esista una naturale suddivisione degli elementi in categorie ma non si sa a priori quante e quali siano le categorie. In questa ipotesi non ci sono naturalmente esempi espliciti per ciascuna categoria. Proprio per la particolare tipologia dei due metodi, la classificazione si basa su dati annotati e avviene in modalit supervised, ossia si allena il sistema su dati con classificazione nota. Il clustering invece avviene in modalit unsupervised e si applica a corpora non annotati. Quando le dimensioni dei corpora sono particolarmente elevate, si tenta di applicare una modalit semi-

D_InformationRetrieval.doc

Pag. 31 di 40

Livello di riservatezza - PU

supervised che rappresenta una generalizzazione delle due e che consiste nell'annotazione parziale del training set, lasciando alcune istanze non annotate. Se per esempio si chiede di determinare l'esatta Part-of-Speech di una parola (che quindi rappresenta l'istanza), la funzione (classifier) prima apprende da una collezione di istanze appartenenti alle relative categorie morfologiche ed etichettate con risposta corretta, poi predice per la nuova istanza (con PoS sconosciuta) il valore nominale, cos definito in quanto appartenente ad un set finito di valori possibili. Con il clustering, invece, non conoscendo a priori questo set di valori possibili, la funzione tenter di eseguire la categorizzare senza alcuna istanza di riferimento. La scelta della modalit supervised o unsupervised si basa sui vantaggi e svantaggi di entrambe: la modalit supervised riesce a predire la giusta classe per le istanze appartenenti al test set ma richiede una consistente quantit di istanze annotate e questo pu rappresentare un processo costoso se effettuato manualmente. La modalit unsupervised tipica del clustering, invece, ha il vantaggio di non richiedere un training gi annotato (situazione particolarmente frequente quando si ricorre al ML) ma difficilmente etichetta correttamente il cluster e ottiene una precisione pi scarsa rispetto al primo metodo nell'associare le istanze ai cluster corretti.

2.3.2. Classificazione binaria


E' una tipologia di classificazione in cui le istanze appartengono in maniera esclusiva ad una classe o categoria (positiva) oppure all'altra (negativa). Geometricamente parlando, si tratta di individuare un separatore tra le istanze. Se tale separatore una linea retta che classifica correttamente le istanze appartenenti alle due classi, si parla di classificazione lineare; se ci non possibile, si parla di classificazione non lineare.

Quando si considerano solo due features, la classificazione binaria rappresentabile su un piano. A sinistra si nota un esempio di classificatore lineare: la separazione delle due classi si pu ottenere tracciando una linea retta anche se tre elementi del training set (due rossi e un bianco) appartengono alla classe sbagliata. A destra, invece, le classi sono separate da una curva pi complessa: non ci sono errori di classificazione, ma la separazione potrebbe essere eccessivamente dipendente dal training set (in tal caso si parla di overfitting).

Figura 8 classificazione binaria lineare e non lineare Esistono vari algoritmi di classificazione, i pi noti sono:

D_InformationRetrieval.doc

Pag. 32 di 40

Livello di riservatezza - PU

decision tree: lineare multiclasse - confini di regione paralleli Naive Bayes: lineare multiclasse - confini di regione non paralleli KNN: non lineare multi-classe SVM: lineare binaria

Per ognuno si fornisce una breve panoramica.

2.3.3. Decision Tree

Si tratta di un classificatore con struttura ad albero, in cui ogni nodo pu essere o foglia o nodo interno: se foglia, indica il valore della classe assegnata all'istanza; se nodo interno, specifica il test effettuato su un attributo. Per ciascun valore assunto da un attributo in un test, l'algoritmo rea un ramo e il relativo sottoalbero. Il focus principale dell'algoritmo di crescita del decision tree come scegliere gli attributi da testare in ciascun nodo interno dell'albero. L'obiettivo selezionare gli attributi pi utili per classificare le istanze di training attraverso una strategia top down, che consiste in una ricerca greedy degli attributi senza tornare a riconsiderare le precedenti scelte. Il criterio di split (suddivisione) con cui crea un nuovo nodo si basa sul massimo guadagno di informazione (info gain). In pratica sceglie l'attributo che riesce a dividere meglio le istanze appartenenti a classi diverse (detto anche criterio di massima riduzione di incertezza). Quando tutti gli elementi in un nodo hanno la medesima classe, l'algoritmo non procede con ulteriore split (criterio di stopping). Per evitare overfitting, l'algoritmo inizia una eventuale fase di pruning (potatura): individua gli attributi che non hanno contribuito ad una consistente suddivisione delle istanze ed elimina i rispettivi nodi riunendo le istanze al livello superiore. Quando l'algortimo termina, possibile percorrere l'albero dalla radice e, seguendo il persorso risultante dai singoli test presenti su ogni nodo interno, si ottiene la classificazione dell'istanza (nodo foglia). Il decision tree non funziona bene quando la classificazione prevede numerose classi e un numero relativamente piccolo di esempi. Inoltre la fase di training pu essere computazionalmente costosa perch deve confrontare tutti i possibili split ed eventualmente effettuare il pruning, anch'esso molto costoso.

2.3.4. Naive bayes

D_InformationRetrieval.doc

Pag. 33 di 40

Livello di riservatezza - PU

The Naive Bayes un classificatore lineare particolarmente semplice, basato sul teorema di Bayes e su una forte assunzione di indipendenza, tanto che a volte noto come modello a feature indipendenti. In pratica si assume che la presenza (o l'assenza) di una particolare feature di una classe non sia correlata alla presenza (o assenza) di altre features. Dunque il contributo di ogni feature considerato indipendente dagli altri. Il classificatore considera un'istanza come un vettore di valori relativi a m attributi: x = (x1, x2,...xm). La probabilit p(x,y) di un'istanza x con label y pu essere espressa come: p(x,y) = p(y)p(x1|y)....p(xm |y, x1, x2,...xm-1). Grazie proprio all'assuzione di indipendenza dei parametri, sono determinate solo le varianze delle variabili di ciascuna classe. Sebbene questa assunzione sia spesso falsa, il classificatore si dimostra paradossalmente efficiente nel supervised learning, senza contare l'enorme beneficio in termini di complessit computazionale. I vantaggi di questo algoritmo comprendono la semplicit del modello stesso facile da implementare, l'efficienza ottenuta soprattutto con la text categorization, la velocit sia in fase di training che di classificazione, lo spazio di memoria richiesto abbastanza contenuto, la preparazione di un set training non troppo vasto. Lo svantaggio principale dato dal fatto che, assumendo gli attributi indipendenti tra loro, non considera la sequenza ordinata delle parole, ma solo la loro presenza (bag of words), assunzione inappropriata se ci sono forti dipendenze tra le variabili. Sebbene tale modello non sia del tutto corretto, lavora bene in un sorprendente gran numero di casi perch spesso si interessati all'accuratezza della classificazione pi che all'accuratezza delle stime di probabilit.

2.3.5. K-nearest-neighbors classifier

Anche questo classificatore considerato tra i pi semplici del machine learning: esso memorizza le istanze del training, poi, basandosi su un criterio di vicinanza, mette in relazione l'istanza da classificare con alcune istanze del training set presenti nello spazio delle feature. In pratica, l'istanza classificata a maggioranza in base alla classe pi comune tra le k istanze pi vicine del training. Tutto il lavoro fatto dal classificatore in runtime. Data una nuova istanza x da classificare, il classificatore cerca i k esempi del training che sono pi simili a x e guarda le loro etichette. Qualsiasi label ricorra pi frequentemente tra le k label pi vicine scelta per assegnare la classe a x. Il parametro k un intero positivo, tipicamente non molto grande e dispari nella

D_InformationRetrieval.doc

Pag. 34 di 40

Livello di riservatezza - PU

classificazione binaria, per evitare di ritrovarsi in situazioni di parit. La migliore scelta di k dipende dalla tipologia di dati: grandi valori di k riducono l'effetto rumore nella classificazione (ossia la classificazione meno influenzata da istanze strane) ma rendono i confini tra le classi meno definiti. Considerando solo le label dei k oggetti vicini, se una classe predomina sensibilmente sull'altra l'errore di classificazione aumenta. In questa circostanza pu essere utile associare dei pesi alle istanze vicine in modo che l'algoritmo dia la giusta importanza alla distanza tra l'oggetto considerato e i vicini, senza lasciarsi influenzare totalmente dalla quantit. Scegliendo k =1 risulta semplice applicare una misura di similarit tra istanze basata sulla distanza euclidea. Le istanze corrispondono a punti in uno spazio definito da assi corrispondenti a feature e sono rappresentate da vettori di dimensione pari al numero delle feature. Ogni punto P del training circondato da una regione: i punti dello spazio che racchiude sono quelli pi vicini a P rispetto a qualsiasi altra istanza del training. I confini delle regioni sono ricavati calcolando la bisettrice della linea che collega una coppia di punti; alcuni di questi confini individuano le regioni di decisione che separano istanze appartenenti a classi diverse. L'insieme di confini che suddivide lo spazio di feature in porzioni crea la Voronoi tessellation, illustrata in figura.

Figura 9 Esempi di Voronoi Tesselation

2.3.6. SVM Support Vector Machine


Le macchine a vettori di supporto (SVM, dall'inglese Support Vector Machines), o macchine kernel, sono un insieme di metodi di apprendimento supervisionato per la regressione e la classificazione di pattern, sviluppati negli anni '90 da Vladimir Vapnik ed il suo team presso i laboratori Bell AT&T. Appartengono alla famiglia dei classificatori lineari generalizzati e sono anche note come classificatori a massimo margine, poich allo stesso tempo minimizzano lerrore empirico di classificazione.

D_InformationRetrieval.doc

Pag. 35 di 40

Livello di riservatezza - PU

Figura 10 - Esempio di Classificatori SVM Le macchine a vettori di supporto possono essere pensate come una tecnica alternativa per lapprendimento di classificatori polinomiali, contrapposta alle tecniche classiche di addestramento delle reti neurali. Le reti neurali ad un solo strato hanno un algoritmo di apprendimento efficiente, ma sono utili soltanto nel caso di dati linearmente separabili. Viceversa, le reti neurali multistrato possono rappresentare funzioni non lineari, ma sono difficili da addestrare a causa dellalto numero di dimensioni dello spazio dei pesi e della presenza di un numero indeterminato di minimi locali, le tecniche pi diffuse come la backpropagation,infatti, permettono di ottenere i pesi della rete risolvendo un problema di ottimizzazione non convesso e non vincolato con le caratteristiche negative appena citate. La tecnica di addestramento SVM risolve entrambi i problemi: presenta un algoritmo efficiente ed in grado di rappresentare funzioni non lineari complesse. Le SVM, proiettando gli elementi del training set in uno spazio multidimensionale, cerca di trovare un iperpiano di separazione ottimale che massimizzi la separazione dei dati di esempio su cui si sta facendo il learning. La corrispondente funzione di decisione chiamata classificatore SVM che quindi apprendono a separare gli elementi appartenenti al training set in due classi diverse. Sono tra le tecniche pi efficaci ed usate in ambito di Machine Learning. La caratteristica fondamentale delle SVM di riuscire a dividere sia insiemi di dati linearmente separabili , che insiemi inizialmente non facilmente separabili , proiettando i punti dallo spazio originale, in cui non si riesce ad individuare un iperpiano separatore, in uno dove sono posizionati in maniera tale che si pu facilmente trovare un iperpiano di separazione. Nel caso di classi non linearmente separabili, lidea quindi quella di mappare lo spazio originario in un spazio a molte dimensioni in cui le classi divengono linearmente separabili. Se x la rappresentazione di un elemento nello spazio originario, si considera il suo trasformato nel nuovo spazio F(x) e in tale spazio si determina liperpiano che separa le due classi con margine massimo. Una volta scelta la funzione F (detta funzione kernel) e assegnati gli esempi x con associata la relativa classe, la soluzione al problema un iperpiano separatore che definito dai punti dellinsieme di esempi pi vicini ad esso, i Support Vector. Una SVM apprende, in base a degli esempi etichettati, a dividere gli elementi tra due classi (tipicamente quella a cui gli elementi appartengono e quella a cui non appartengono). I parametri caratteristici del modello sono ottenuti mediante la soluzione di un problema di programmazione quadratica convesso con vincoli di uguaglianza o di tipo box (in cui il valore del parametro deve essere mantenuto allinterno di un intervallo), che prevede un unico minimo globale. Tra le applicazioni per cui le SVM sono state utilizzate con successo vi sono proprio alcune D_InformationRetrieval.doc
Pag. 36 di 40

Livello di riservatezza - PU

elaborazioni del linguaggio naturale, ad esempio riconoscimento di cifre, campo in cui tale tecnica diventate in breve tempo competitive con i migliori metodi utilizzati; Nel caso in esame in cui si vuole classificare un set di documenti in C classi, baster creare C modelli SVM, uno per classe, facendo per ogni modello un addestramento su un Training Set in cui si forniscono vari esempi di documenti etichettati come appartenenti a quella classe e di documenti etichettati come non appartenenti a quella classe, appartenenti cio alle altre classi, senza specificare quale. I vari modelli vengono quindi creati indipendentemente ed una volta effettuato lapprendimento, quando si chieder a quale classe appartiene un nuovo documento, si sceglier quella il cui modello, confrontato con il documento, ha dato il maggior grado di appartenenza.

2.3.7. Estrazione dei metadata tramite SVM


SVM si prestano molto bene anche per trattare il problema dellestrazione di metadati da documenti di testo. Lalgoritmo si struttura in tre differenti fasi che potremmo sintetizzare come segue: Classificazione indipendente delle righe; Classificazione delle righe in funzione di quelle vicine; Segmentazione della riga per lestrazione delle informazioni. In ognuna di queste tre fasi che ora descriveremo e in maniera dettagliata, si optato per lutilizzo di classificatori SVM raggiungendo risultati notevoli che hanno reso, senza alcun dubbio, i classificatori SVM uno degli strumenti pi importanti per risolvere il problema dellinformation extraction. Per il primo passo, ovvero per la classificazione indipendente delle righe, necessario rappresentare le righe in uno spazio di feature (caratteristiche della riga). Per qualsiasi problema di classificazione, la scelta dello spazio delle feature tra i compiti pi delicati e da cui dipende notevolmente la qualit del risultato dei classificatori. Le feature utilizzate in questo step dellalgoritmo sono: Il numero di parole contenute nella riga. La posizione della riga nel documento. La percentuale di parole della riga contenute in un dizionario di termini generici. La percentuale di parole della riga che non sono contenute nel dizionario. La percentuale di parole della riga che iniziano per lettera maiuscola contenute nel dizionario. La percentuale di parole della riga che iniziano per lettera maiuscola non contenute nel dizionario. La percentuale di numeri presenti nella riga. La percentuale di parole di tipo affiliazione (Department, School) contenute nella riga. La percentuale di parole che riguardano indirizzi (Street, Square) contenute nella riga. La percentuale di parole di tipo data (September, Sept. ...) contenute nella riga. La percentuale di parole che riguardano gradi accademici contenute nella riga. La percentuale di numeri di telefono contenuti nella riga. La percentuale di numeri di pubblicazione contenute nella riga. Ovviamente tutte queste feature vengono normalizzate in modo tale che i valori che possono assumere siano sempre tra 0 e 1. C da tenere in considerazione anche unaltra classe di feature che viene dalla possibilit di fare un word clustering che raggruppi le parole che concettualmente sono correlate tra loro. Questo permette di considerare anche le feature quali la percentuale delle parole della riga appartenenti ai vari gruppi di parole raggruppate precedentemente. Dunque rappresentata ogni riga in questo spazio di feature possibile etichettarle con una o pi etichette definite a priori (Title, Author, Affiliation, Address, Note, Email, Date, Abstract, Introduction, Phone, Keyword, Web, Degree, Pubnum, Page) mediante un insieme di classificatori SVM ognuno dei quali addestrato ad identificare gli elementi di una certa classe e

D_InformationRetrieval.doc

Pag. 37 di 40

Livello di riservatezza - PU

distinguerli da tutto il resto del mondo. I classificatori SVM infatti sono classificatori binari, ovvero capaci di distinguere gli elementi di una specifica classe da tutto il resto del mondo. Questo un limite sostanziale dei classificatori SVM in quanto non sono discriminanti, ovvero non possono imparare (a differenza di sistemi come ad esempio reti neurali) a scegliere tra pi classi, ma questo solitamente viene fatto a posteriori, scegliendo come classe per un dato esempio che si prova a classificare in una delle classi prescelte, quella per cui il corrispondente classificatore mostra la maggiore confidenza. A questo punto possibile passare al secondo passo dellalgoritmo, ovvero alla classificazione delle righe in funzione delle etichette delle righe vicine. Dunque codifichiamo le etichette delle righe precedenti e successive alla riga corrente come feature binarie e le concateniamo in un vettore di feature. Un nuovo insieme di classificatori SVM sono addestrati su esempi rappresentati in questo nuovo spazio di feature. Anche in questo caso avremo un classificatore per ogni classe (etichetta). Data la riga corrente, questa viene classificata in funzione delle informazioni contestuali, ovvero dalle etichette con cui sono state classificate le k righe precedenti e successive alla riga corrente. Tale classificazione modifica linformazione contestuale delle righe vicine, e dunque necessario riclassificare le righe mediante questo secondo insieme di classificatori fino a che non si giunge a convergenza, ovvero finch nessuna riga (in generale il numero di righe che cambiano etichette sono minori di una certa soglia) viene etichetta con una nuova etichetta a causa della classificazione basata sul contesto.

D_InformationRetrieval.doc

Pag. 38 di 40

Livello di riservatezza - PU

Riferimenti/Bibliografia
[1] Exeura, Progettazione modulo document conveter [2] CiteSeer Europe,Architettura e sistema di information extraction [3] Barbara Rosario, Latent Semantic Indexing: An overview [4] Christopher D. Manning, Prabhakar Raghavan, Hinrich Schtze An Introduction to Information Retrieval [5] Peter Mika, Hans Akkermans, Analysis of the State-of-the-Art in Ontology-based Knowledge Management [6] Ryan LaBrie, Robert St. Louis INFORMATION RETRIEVAL FROM KNOWLEDGE MANAGEMENT SYSTEMS: USING KNOWLEDGE HIERARCHIES TO OVERCOME KEYWORD LIMITATIONS [7] Expert System, Cogito: la piattaforma linguistica di expert system [8] Javier Gramajo Lopez, State of the Art: Ontologies [9] Burcu Yildiz1 and Silvia Miksch1, Motivating Ontology-Driven Information Extraction [10] Dr Adam Bostock of Acro Logic, Avoiding Information Overload: Knowledge Management on the Internet [11] Andrea Gesmundo, Elaborazione del Linguaggio Naturale Basata suFeatures Bidirezionali [12] Giovanni Stilo, Tecniche efficienti di information retrieval per il trattamento di documenti di interesse legale [13] Riccardo Martoglia: Progetto e Sviluppo di un Ambiente per Traduzioni Multilingua Assistite [14] Simone Ferrari, information extraction: il rapporto Gate [15] Luisa Calcagno, Implementazione e Valutazione di Tecniche di Information Retrieval basate su Stem, Lemma e Synset

D_InformationRetrieval.doc

Pag. 39 di 40

Deliverable Dx.y.z

Livello di riservatezza - PU

D_01_01_02_DeterminazioneCaratteristicheForzaDebolezza.doc