Text Mining: aspetti applicativi in campo bio-medico
(Roberta Turra – CINECA)
Introduzione
Con il termine text mining s’intende l’applicazione di tecniche di data mining a documenti testuali.
Ma che cos’è il data mining? È un processo di estrazione di conoscenza da banche dati di grandi
dimensioni, che avviene tramite l’applicazione di algoritmi che individuano le associazioni
“nascoste” tra le informazioni e le rendono visibili.
I concetti chiave di questa definizione sono:
processo (vedremo nel seguito più in dettaglio
quali sono le fasi di questo processo),
conoscenza, cioè informazioni significative ed
utilizzabili, grandi dimensioni, in quanto questi
algoritmi sono efficaci nell’esplorazione di
grandi quantità di dati, e associazioni, in quanto
la conoscenza deriva dall’individuazione di
omogeneità, sequenze ripetute, regolarità,
patterns, che sono “nascosti”, o sepolti nella
grande mole dei dati disponibili.
Perché sono necessari
strumenti di Data Mining
• Quantità di dati
valore
• Natura dei dati
• Rapida evoluzione
del mercato
• Inadeguatezza
degli strumenti
tradizionali
volume
decisione
conoscenza
informazione
dati
L’applicazione di questi strumenti è appropriata
quando 1) la quantità di dati da analizzare e/o la tipologia di dati (ad esempio qualitativi/testuali,
eterogenei o incompleti) rendono inutilizzabili i classici strumenti di analisi statistica, ed inoltre 2)
l’obiettivo è di tipo esplorativo. Se infatti sto cercando un’informazione di tipo puntuale (es: quante
sono le clienti quarantenni di un supermercato, che consumano Diet Coke), gli strumenti
tradizionali di data retrieval (che consistono nell’esecuzione di una query) sono sufficienti per
soddisfare le mie esigenze. Le tecniche di data mining consentono, a differenza delle tecniche di
data retrieval, di individuare automaticamente quelle fasce d’età e quei prodotti che sono
effettivamente associate all’interno dei dati, e pertanto non richiedono la formulazione di ipotesi a
priori. Sono infatti le regolarità che emergono dai dati che consentono di acquisire nuova
conoscenza.
Il data mining è stato definito come un processo, all'interno del quale si utilizzano una o più
tecniche per estrarre conoscenza. Le tecniche utilizzabili sono varie e, di conseguenza, anche gli
algoritmi che le implementano. La scelta dipende principalmente dall'obiettivo che si vuole
raggiungere (descrittivo e/o predittivo) e dal tipo di dati da analizzare.
Le più utilizzate sono: Clustering, Reti Neurali, Alberi di Decisione e Analisi delle Associazioni.
Le tecniche di clustering e l'uso delle reti neurali non supervisionate consentono di effettuare
operazioni di segmentazione sui dati, cioè di individuare gruppi omogenei, o tipologie, che
presentano delle regolarità al loro interno in grado di caratterizzarli e differenziarli dagli altri
gruppi.
Le reti neurali (supervisionate) e gli alberi di decisione consentono di effettuare operazioni di
classificazione, fanno cioè uso della conoscenza acquisita in fase di addestramento per classificare
nuovi oggetti o prevedere nuovi eventi.
Le tecniche di analisi delle associazioni consentono di individuare delle regole nelle occorrenze
concomitanti di due o più eventi.
A queste si aggiungono "sequential patterns" (tecniche di individuazione di sequenze temporali),
"naive Bayes", algoritmi genetici, …
Gli ambiti applicativi più noti sono:
Segmentazione della Clientela (database marketing) – applicazione di tecniche di clustering per
individuare i raggruppamenti impliciti nei dati, omogenei in termini di comportamento d’acquisto e
di caratteristiche socio-demografiche
Customer Retention – applicazione di tecniche previsive per individuare i clienti in fase di
abbandono / Fraud Detection – individuazione di comportamenti fraudolenti
Analisi delle Associazioni (market basket analysis) – individuazione dei prodotti acquistati
congiuntamente; individuazione di associazioni “anomale”
Competitive Intelligence (o technology watch) – applicazione di tecniche di clustering a
documenti estratti da banche dati internazionali di tipo tecnico-scientifico volte ad individuare le
tecnologie emergenti, le loro relazioni, l’evoluzione temporale e le aziende coinvolte
Analisi Testuale (text mining) individuazione degli argomenti trattati da un set di documenti di
tipo testuale e delle relazioni tra argomenti
Indipendentemente dal tipo di applicazione e dal
Il processo di estrazione di
tipo di tecniche utilizzate, il processo di
conoscenza (KDD)
estrazione di conoscenza, noto anche con il nome
Visualization /
di Knowledge Discovery in Databases (KDD), si
Evaluation
esplica attraverso alcune fasi, che possono essere
Data Mining
Knowledge
schematizzate in: a) Definizione dell'obiettivo; b)
Transformation
Patterns / models
Individuazione delle fonti di dati; c) Estrazione /
and reduction
Pre-processing
acquisizione dei dati (ed eventuale integrazione);
Transformed data
and cleaning
d) Pre-processing (Pulizia dei dati - Analisi
Selection /
Cleaned data
Sampling
esplorative - Selezione - Trasformazione Target data
Formattazione); e) Data Mining (Scelta
dell'algoritmo - Individuazione dei parametri Database /
Data Warehouse
Elaborazione - Valutazione del modello); f)
Interpretazione / valutazione dei risultati; g) Rappresentazione dei risultati.
Lo schema mette in luce la natura iterativa del processo. La fase di valutazione può infatti portare
ad una semplice ridefinizione dei parametri di analisi utilizzati, ma anche ad una ridefinizione
dell'intero processo (a partire dai dati estratti).
Mentre l'individuazione di patterns avviene automaticamente, l'intero processo di estrazione della
conoscenza è difficilmente automatizzabile e richiede il coinvolgimento di varie professionalità
(esperti del dominio applicativo, specialisti in analisi dati, informatici). La fase più impegnativa è,
generalmente, quella del pre-processing.
xxlafair
Applicazioni in campo biologico
Tecniche di data mining sono già utilizzate, in ambito biologico, per la previsione della struttura di
proteine, ricerca di omologie, analisi di sequenze genomiche, individuazione e mappatura di geni,
analisi di dati di espressione genetica (microarrays), …
Per quanto riguarda l’analisi della letteratura scientifica, queste tecniche consentono di identificare
e classificare specifici termini biologici (es: nomi di proteine), individuare parole chiave e concetti,
raggruppare automaticamente, classificare, …
Ognuna di queste applicazioni richiede una presentazione a parte. Nel seguito approfondiremo
l’apporto che tecniche di text mining possono dare all’analisi della letteratura biomedica.
Analisi della letteratura biomedica
Esistono principalmente due tipi di approccio all’analisi dei testi: l’information extraction, che ha
come obiettivo quello di produrre una rappresentazione strutturata dell’informazione testuale, e il
text mining, che ha come obiettivo l’individuazione automatica di pattern di parole che consentano
la creazione di gruppi tematici.
Il primo richiede che entità e relazioni da ricercare nei testi siano predefinite (ad esempio le entità
possono essere proteine e farmaci e le relazioni attivazione, inibizione, …), il secondo non richiede
alcuna definizione a priori e consente di individuare nuovi concetti e nuove relazioni.
Il primo comprende tecniche che utilizzano sia l’analisi sintattica che l’analisi semantica, il secondo
opera solamente a livello sintattico.
Questi due approcci non sono completamente separati: l’information extraction genera databases
che possono essere analizzati utilizzando le tecniche di data mining, mentre il text mining può trarre
vantaggio dalla presenza di informazione specifica di dominio estratta con tecniche di I.E., come di
seguito sarà mostrato.
L’esempio di applicazione di text mining che segue è disponibile on-line, ad accesso protetto, sul
sito http://medmole.test.cineca.it/ e segue le fasi classiche di un processo di estrazione di
conoscenza.
La fonte da cui sono stati estratti i documenti è
Il processo di analisi
Pubmed e la selezione è stata effettuata in modo
1) Individuazione delle diverse parti di ciascun documento
da
ottenere
l’insieme
completo
delle
(tagging) ed assegnazione di un numero identificativo
pubblicazioni che trattano di ciclo cellulare (cell
cycle OR cell proliferation OR cell death OR
Affiliation (AD)
TITLE (TI)
Date (EDAT)
oncogenes OR tumor suppressor OR apoptosis
TEXT (AB)
Journal (TA)
OR PARP OR caspase OR CDK OR PCNA OR
Publ.Type (PT)
Country (CY)
Fas ligand OR cytochrome C), per un totale di
circa 400 mila testi.
parte testuale
metainformazione
La preparazione dei documenti è stata effettuata
attraverso tre fasi. Innanzitutto l’individuazione
2) Analisi grammaticale (e lemmatizzazione)
3) Information Extraction
delle diverse parti del documento ha consentito
di separare l’informazione testuale dalla metainformazione (organismo di appartenenza, data e rivista di pubblicazione, tipo di pubblicazione,
paese, ecc…). Sulla parte testuale è stata quindi effettuata un'analisi grammaticale e sono
successivamente state applicate tecniche di information extraction.
L’analisi grammaticale consente di individuare
Fase 2: analisi
grammaticale
la funzione di ciascun termine e di ricondurlo
alla propria radice, o forma canonica, o lemma.
Poiché, all’interno di un discorso, i sostantivi
sono generalmente i termini con maggiore
contenuto semantico, dalla lista dei termini
lemmatizzati che si ottiene, per ogni documento,
come risultato di questa fase, si selezionano tutti
i sostantivi. Questi vengono a costituire l’insieme
di parole chiave che caratterizza e descrive
ciascun documento. È sulla base di queste parole
chiave che verrà giudicato il grado di
somiglianza tra i documenti.
Identificazione automatica di:
SOSTANTIVI
AGGETTIVI
VERBI
NOMI PROPRI
Tutte le altre parti del discorso (aggettivi, verbi e nomi propri) vengono mantenute come
informazioni aggiuntive, così come la meta-informazione che era stata estratta durante la prima
fase, di tagging.
Fase 3: information
Poiché nell’ambito della ricerca biologica è
extraction
molto importante poter identificare i nomi dei
geni, e poiché l’analisi grammaticale li classifica,
genericamente, come nomi propri, è necessaria
un’ulteriore fase di analisi del testo per estrarre
questo tipo d’informazione.
Questa fase, cosiddetta di information
extraction, in quanto l’obiettivo è l’estrazione di
termini specifici (e predefiniti) dal testo, è stata
effettuata utilizzando un dizionario contenente
nomi ufficiali di geni ed alias (vedremo
successivamente più in dettaglio come è stato
ottenuto questo dizionario). Occorre precisare
che non si tratta di I.E. vera e propria, in quanto, al momento, nessuna analisi semantica opera sul
testo, per l’estrazione dei termini.
Al termine di questa fase, per ogni documento si è ottenuta della meta-informazione aggiuntiva,
data dalla lista dei nomi di geni (solo nomi ufficiali) che erano presenti nel testo (o come tali, o
sotto forma di alias).
Il documento finale, al termine della fase di
Documento finale
preparazione, è formato da un elenco composto
da tre elementi: l’identificativo del documento, il
nome della variabile (nell’esempio NN indica
sostantivo, cioè parola chiave, JJ aggettivo, VV
verbo, NPRO nome proprio, AD “affiliation”,
PD data di pubblicazione, … GENE nome di
gene) e il valore, o contenuto, della variabile,
anche detto attributo del documento.
Questo formato consente di rappresentare
l’informazione in una matrice binaria che
contiene, sulle righe ciascun documento, sulle
colonne ciascun sostantivo, e all’interno i valori
1 o 0 ad indicare la presenza di quella determinata parola chiave in quel determinato documento
oppure la sua assenza (analogamente sono rappresentati gli altri attributi).
Gene “Dictionary”:
gene name alias
CDKN1B
IFI27
P27
P27KIP1
P27
P27
20000219 gene CDKN1B
20000219 gene IFI27
20000219 gene P27
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
20000219 gene CDKN1B
20000219 gene IFI27
20000219 gene P27
astrocyte
brain
case
cell
control
disease
distribution
expression
frequency
glioma
grade
index
lesion
pattern
process
proliferation
rat
specimen
staining
subset
tumor
20000219 A D
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
20000219
PD
E DA T
TA
PT
NP RO
NP RO
NP RO
NP RO
NP RO
NP RO
NP RO
NP RO
NP RO
JJ
JJ
JJ
JJ
JJ
JJ
JJ
JJ
JJ
JJ
JJ
Departm ent of
Neuros urgery ,
S higa Univers ity of
M edic al S c ienc e,
Ohts u,Japan
1999
1999
B rain Tum or P athol
Journal A rtic le
as troc y tic
as troc y tom as
im m unohis toc hem ic ally
M IB -1
nonneoplas tic
p27
p27K ip
p27k ip1
p27-pos itive
anom alous
heterogeneous
high-grade
hum an
low
m alignant
norm al
reac tive
rec iproc al
s urgic al
uniform
Siamo così giunti alla fase di data mining vera e
propria che si concretizza nell’applicazione di un
algoritmo di clustering. Poiché l’informazione
disponibile è tutta di tipo qualitativo, si è scelto
un algoritmo partitivo basato sull’analisi
relazionale. Questo metodo consente di
confrontare tutte le coppie di documenti e di
calcolare, per ogni coppia, un indice di
somiglianza basato sul numero di co-occorrenze
delle parole chiave.
I cluster vengono formati in modo da
massimizzare la somiglianza complessiva dei
clustering
m
W1
W2
...
Doc i
1
1
1
1
0
1
1
0
1
0
1
0
Doc j
1
0
0
1
1
1
0
1
0
0
0
1
N11=  xik xjk
Wm
k=1
m
N10=  xik (1-xjk)
k=1
m
N01=  (1-xik) xjk
k=1
m
N00=  (1-xik) (1-xik)
k=1
 Indice di Somiglianza
a N11
s(i,j) =
b N11 + c (N10 +N01)
 Condorcet
 Dice
a=b=1 c=1/2
a=b=1 c=1/4
 Soglia di Somiglianza
se s(i,j) > 
Doci e Docj sono simili
 default: 0.5
 Sistema di ponderazione
m
N11=  xik xjk wk
k=1
(N10=.. N01=...)
 wk = 1 / x.k
 wk = log( N / x.k)
 in [0,1]
documenti raggruppati e minimizzare la somiglianza dei documenti che vengono separati. Su questo
processo si può intervenire agendo attraverso alcuni parametri che si vedranno nel seguito
(principalmente la soglia di somiglianza ed il sistema di ponderazione).
Per consentire al ricercatore di effettuare analisi su una selezione di documenti di interesse (anziché
su tutti i 400 mila disponibili), utilizzando i parametri più opportuni, questa fase di data mining è
stata messa on-line.
Esempio di risultati
Supponiamo di essere interessati alle eventuali interazioni tra due geni, RET e BRCA1, e
selezioniamo tutti i documenti che contengono almeno uno di questi geni. Con la query “RET
<OR> BRCA1” otteniamo 1981 documenti (naturalmente è possibile selezionare i documenti anche
in base alla patologia, utilizzando le opportune parole chiave, es: “breast cancer”).
Poiché questi documenti sono già stati preparati secondo il procedimento precedentemente
descritto, può essere lanciata un’analisi di data mining, che, in tempo reale, confronta le parole
chiave dei documenti selezionati (in quanto questi sono gli attributi descrittivi che abbiamo deciso
di usare per il clustering) e li raggruppa secondo
i pattern individuati.
I gruppi ottenuti vengono presentati in ordine di
dimensione e sono descritti dalle parole chiave
che maggiormente li caratterizzano. Questa
descrizione
automatica
non
sempre
è
sufficientemente chiara per capire il contenuto
del cluster. Bisogna, in questo caso, entrare nel
cluster (ciccando il simbolo sotto “docs”) per
visualizzare l’elenco dei titoli (ed eventualmente
il testo completo) dei documenti che contiene.
La “cluster map” fornisce una visione d’insieme
dei clusters e dei loro legami (nella partizione
finale dei documenti possono rimanere dei
residui di somiglianza tra documenti che sono stati assegnati a gruppi diversi, questi residui sono
rappresentati da linee). Anche da questa mappa è possibile entrare in ciascun gruppo, seguendo in
questo caso un percorso che è suggerito dai legami, piuttosto che dalla dimensione.
In questo esempio, la mappa mette in evidenza un gruppo di clusters (nell’immagine si trova in alto
a sinistra, cerchiato di rosso) che sono collegati tra di loro, ma separati da tutti gli altri clusters. Se
andiamo a vedere il loro contenuto, ci accorgiamo che tutti questi gruppi condividono alcune parole
chiave quali “woman”, “history”, “age”, “test”, “risk”, … pur trattando di argomenti separati.
Se andiamo a vedere la metainformazione
(ciccando
il
simbolo sotto “report”), e, in
particolare, i nomi di geni estratti
da questi documenti, vedremo
che RET non è mai presente. Un
modo ancora più rapido per
visualizzare
la
metainformazione
è
dato
da
“histogram”.
In
questa
immagine,
ogni
barra
rappresenta un cluster (tranne la
prima che indica la distribuzione dei geni su tutti i documenti selezionati) e l’estensione di ciascun
colore indica la percentuale di documenti che, all’interno del gruppo, contiene un particolare nome
di gene (indicato dalla legenda). Ovviamente questa rappresentazione grafica ha dei limiti, per
esempio solo i geni più frequenti vengono visualizzati. Per avere l’informazione completa occorre
esaminare i report.
Dall’immagine è comunque evidente che i documenti selezionati tendono a trattare dei due geni
separatamente, come era prevedibile, dato che un gene è implicato nel tumore al polmone e l’altro
nel tumore al seno e che le interrelazioni dovrebbero essere minime. Viceversa si può notare che,
quando compare BRCA1 (colore rosso), spesso compare anche BRCA2 (colore giallo), quindi tra
questi due geni deve esserci una interrelazione.
Tornando al gruppo di clusters individuato sulla mappa, possiamo notare che si tratta proprio di
quei clusters che fanno riferimento solamente a BRCA1 (il colore verde, che rappresenta RET, non
compare nemmeno in piccola percentuale).
I gruppi di documenti che, al contrario, trattano unicamente del gene RET (barre dove il colore
rosso è assente) sono anch’essi evidenziabili sulla mappa come un insieme riconoscibile (nella
mappa è stato cerchiato di verde) anche se non totalmente separato dagli altri. In questo caso sono le
parole chiave “man”, “thyroid”, “thyrosine”, … a comparire più frequentemente.
Gli altri due gruppi di clusters (cerchiati con tratteggio giallo, nella mappa), trattano
prevalentemente di BRCA1, ma anche di RET. Le parole chiave sono infatti più generiche: in un
gruppo troviamo “domain”, “protein”, “function”, “transcription”, “amino”, “acid”, …, nell’altro
troviamo “chromosome”, “loss”, “marker”, …
Di questi due gruppi, il primo contiene
Esempio risultati: RET <OR> BRCA1
documenti di pubblicazione più recente, come si
può vedere dall’istogramma che rappresenta la
variabile anno di pubblicazione. I clusters 11, 18
e 24 sono infatti quelli nei quali l’area occupata
dai colori del 2000-2001 è più estesa e tutti e tre
appartengono al su menzionato primo gruppo.
Questa analisi ha quindi individuato delle
sequenze di parole chiave che sono condivise da
più documenti e li ha raggruppati. Ogni cluster
rappresenta un diverso argomento. I macro
argomenti sono comunque stati individuati
attraverso i legami tra clusters. Così gli abstract che trattano del gene BRCA1, seppur da punti di
vista diversi, sono (quasi tutti) collegati tra loro.
Tutto ciò è stato ottenuto automaticamente. L’utente può però intervenire sul processo di clustering,
selezionando le “advanced options” che sono disponibili, assieme al tasto “cluster”, dopo la
selezione dei documenti (occorre quindi tornare indietro fino a quel punto).
I parametri di analisi
Le Advanced Options permettono all'utente di modificare i parametri di default dell'analisi, di
salvare le modifiche in un profilo e di lanciare una nuova analisi utilizzando questo nuovo profilo.
Dopo aver selezionato un profilo (quello di default esiste sempre) si possono effettuare quattro
distinte operazioni: Classify, Modify or Create a new profile, View statistics/edit weighting, Delete.
Classify esegue l'analisi cluster con i parametri del profilo selezionato.
Per procedere alla creazione di un nuovo profilo o alla modifica di un profilo già esistente bisogna
selezionare l’opzione “Modify or Create a new profile” ed un profilo (il profilo default è sempre
presente). Premendo il tasto submit si accede alla pagina che consente di modificare i parametri di
clustering.
Per creare un nuovo profilo, occorre modificare il nome del profilo ed eventualmente inserire un
nuovo commento (nel caso si sia selezionato il profilo default è necessario sempre cambiare il nome
in quanto non è possibile cambiare il profilo di default).
In questa pagina è possibile modificare 4
parametri:
Parametri
Nb cluster max: uno dei principali vantaggi
dell’Analisi Relazionale è che non è necessario
fissare a priori il numero dei cluster. Questa
opzione consente di modificare il numero
massimo di cluster ottenibili da un’analisi. Si
può in questo modo limitare il numero di cluster
creati oppure, alzando opportunamente questo
valore, lasciar libero l'algoritmo di trovare il
"numero naturale di cluster".
Search for: Selezionando una delle tre opzioni
disponibili (Large domains , Medium domains,
Specific domains) si attribuisce un diverso sistema di ponderazione alle parole chiave.
Large domains: non viene applicato nessun sistema di ponderazione (quindi le parole chiave
hanno tutte uguale peso nella determinazione dei clusters)
Medium domains: alle parole chiave viene attribuito un peso inversamente proporzionale alla
frequenza in maniera “dolce” (grazie ad una trasformazione logaritmica, l’aumento di peso dato
dalla diminuzione di frequenza è molto graduale)
Specific domains: viene attribuito un peso minore alle parole chiave maggiormente frequenti ed
un peso maggiore alle parole chiave meno frequenti (manca, in questo caso, la trasformazione
logaritmica); le parole meno frequenti hanno, quindi, un’influenza maggiore nella formazione
dei cluster. A parità di tutti gli altri parametri selezionando questa opzione si genera un numero
maggiore di cluster.
Keyword drop threshold: modificando questo valore è possibile eliminare dall’analisi tutte le parole
chiave che hanno una frequenza (nell'insieme dei documenti selezionati) pari o minore a quella
indicata. Consente di eliminare l’effetto di parole molto rare.
Min. domain homogeneity: consente di modificare la soglia di somiglianza. Il valore deve essere
compreso tra 0 e 1. Modificando questo parametro si possono ottenere più o meno cluster. Tanto
più la soglia di somiglianza è elevata tanto maggiore è il numero di cluster creati e la loro
omogeneità. La scelta della soglia deve essere fatta in ragione degli obiettivi dell'analisi.
Dopo aver eseguito le modifiche è possibile, selezionando save, salvare il profilo oppure, salvare il
profilo ed eseguire l'analisi (save parameters and run).
In aggiunta alla possibilità di attribuire un sistema di ponderazione alle parole chiave (con l'opzione
Search for descritta nel paragrafo precedente) è possibile attribuire un peso ad ognuna delle parole
chiave presenti nell'insieme dei documenti estratti, attraverso l’opzione “View statistics/edit
weighting” delle Advanced Options. Accedendo a questa pagina troviamo quattro scelte:
High frequencies, by frequency
High frequencies, alphabetically
All words from the weighting list, by frequency
All words from the weighting list, alphabetically
Cliccando su High frequencies, by frequency si
ottiene la lista di tutte le parole chiave (con
Parametri
frequenza maggiore od uguale a 5) in ordine
decrescente per frequenza. A fianco di ciascuna
parola chiave si trova la sua frequenza nella
collezione di documenti estratti ed il peso ad essa
attribuito. E' possibile modificare il peso.
Generalmente nella configurazione di default a
tutte le parole chiave viene attribuito il peso 1.
Attribuendo un peso minore di 1 si diminuisce
l'influenza della parola chiave nella formazione
dei cluster, mentre attribuendo un peso maggiore
di 1 si aumenta la sua influenza. Attribuendo il
peso 0 ad una parola chiave la si esclude dall'insieme delle parole che contribuiscono alla
formazione dei cluster. Le modifiche portate ai pesi si aggiungono a quelle eventualmente apportate
avendo selezionato Medium domains o Specific Domains.
Cliccando sul bottone Submit changes si rendono effettive le modifiche effettuate.
Selezionando High frequencies, alphabetically si ottiene la lista di tutte le parole chiavi (con
frequenza maggiore od uguale a 5) in ordine alfabetico. E' possibile modificare i pesi in maniera del
tutto analoga alla opzione precedente.
Selezionando All words from the weighting list, by frequency si ottiene la lista di tutte le parole a cui
è stato modificato il peso in ordine decrescente per frequenza. Anche in questa pagina è possibile
modificare i pesi.
Selezionando All words from the weighting list, alphabetically si ottiene la lista di tutte le parole a
cui è stato modificato il peso in ordine alfabetico.
Infine l’opzione “Delete” delle Advanced Options consente di cancellare il profilo selezionato.
Esempio risultati: RET <OR> BRCA1
Se, nell’esempio precedente, modifichiamo il
con “Nb cluster max” = 10
parametro Nb cluster max portandolo a 10,
avremo una rappresentazione ancora più sintetica
dei nostri 1981 documenti. In questo caso tutti i
documenti che trattano solo di RET sono
raggruppati in un unico cluster separato da tutti
gli altri, mentre quelli che trattano
esclusivamente di BRCA1 sono raggruppati in
due clusters collegati tra loro.
Anche la modifica manuale dei pesi è spesso
utile, quando, per esempio, da una prima
elaborazione si evidenziano parole chiave di
scarso significato (come “cell”). Attribuire peso zero a queste parole chiave consente di avere
clusters più significativi. L’insieme delle parole con peso zero è anche detta lista di stop words.
Attualmente non è possibile selezionare gli attributi che devono avere ruolo attivo nella formazione
dei clusters e i patterns sono ricercati solo all’interno delle parole chiave, costituite, come si è visto
dall’insieme dei sostantivi presenti nel testo. Teoricamente è possibile utilizzare per il clustering
anche altre parti del discorso e/o la meta-informazione. Risultati interessanti si potrebbero infatti
ottenere raggruppando i documenti in base ai nomi di geni che contengono, oppure in base a
sostantivi e a nomi di geni, …
Il processo di riconoscimento dei nomi di geni
Il riconoscimento dei nomi di geni presenti all’interno degli abstract di Medline (terza ed ultima
fase di preparazione dei documenti) è stato fatto sulla base di un “dizionario”.
Questo processo è stato chiamato di information extraction in quanto con le tecniche di I.E.
condivide almeno l’obiettivo finale ed inoltre si prevede di integrare questa fase con l’esecuzione di
regole che attengono all’analisi semantica.
Il “dizionario” è stato derivato dalla banca dati Locus Link, in quanto risulta essere la fonte più
stabile e completa di informazioni sui geni finora individuati (le cui sequenze sono memorizzate
nella banca dati collegata RefSeq). Locus Link deriva da UniGene ed associa a ciascun gene un
numero identificativo univoco.
Attualmente il processo si compone di tre parti: filtro, indicizzazione e generazione della metainformazione.
Filtro
Il filtro consente di estrarre dai record di Locus
gene
alias
Link solo le informazioni di interesse e cioè
OFFICIAL_SYMBOL ed ALIAS_SYMBOL,
Indice
selezionare i termini di almeno tre caratteri e
A1BG 18650110 45822308 69800214
creare le coppie GENE/ALIAS per la successiva
A2M 78121104 74300722 51024679
A2MP …
indicizzazione dei documenti.
L’indicizzazione viene fatta ricercando ciascun
termine che compare nella colonna “alias” nel
testo dei documenti e registrando il termine
Metainformazione
ufficiale corrispondente (che compare nella
20000219 gene CDKN1B
colonna “gene”) più il numero identificativo del
20000219 gene IFI27
20000219 gene P27
documento che contiene l’alias.
Questo elenco viene successivamente pulito
dalle ridondanze e viene ordinato per identificativo del documento. Per ogni documento si ottiene
così l’elenco dei nomi ufficiali di geni che vi compaiono, sia come tali, sia come alias. Questo
consente di generare la meta-informazione nel formato precedentemente visto e di integrarla con le
altre informazioni estratte dal documento originale.
A1BG
A2M
A2MP
NAT1
NAT1
NAT2
NAT2
AACP
AACP
SERPINA3
SERPINA3
SERPINA3
AADAC
AADAC
AAMP
AANAT
AANAT
AANAT
AARS
AAVS1
AAVS1
ABAT
ABAT
A1BG
A2M
A2MP
NAT1
AAC1
NAT2
AAC2
AACP
NATP
SERPINA3
ACT
AACT
AADAC
DAC
AAMP
AANAT
SNAT
AA-NAT
AARS
AAVS1
AAV
ABAT
GABAT
Occorre notare che questo uso degli alias non sempre porta ad una sintesi nei nomi di geni, vi sono
infatti termini che risultano alias di più nomi ufficiali. È il caso del documento di esempio
precedentemente visto in cui i nomi di alias individuati nel testo erano due (P27 e P27KIP1) mentre
i nomi ufficiali assegnati al documento sono tre in quanto P27 è sia nome ufficiale, sia alias di
IFI27.
La ricerca all’interno dei testi è stata fatta cercando un match esatto con il termine della colonna
“alias”. Nei casi in cui questo termine ha anche un significato compiuto nella lingua inglese (es:
FAR, GAS, RED, …), per evitare di riconoscere come nomi di geni termini di tutt’altro significato,
si è inibita la ricerca oppure la si è vincolata alla presenza dei termini “gene” oppure “protein”
oppure “product” in un intorno di sei parole.
Approcci alternativi di information extraction e di
clustering
Per quanto riguarda il riconoscimento di nomi di geni negli abstract, il semplice uso di dizionari
può creare problemi dovuti sia alla presenza di termini di significato compiuto nella lingua inglese
(ambiguità), sia dovuti al grado di aggiornamento e di completezza del dizionario (che è comunque
un dizionario aperto, in continua espansione).
Gli approcci alternativi al problema sono
principalmente di due tipi: uno basato su regole
semantiche, sintattiche e morfologiche scritte ad
hoc per l’applicazione specifica e l’altro basato
su metodi di apprendimento.
Il primo richiede un grande sforzo in termini di
risorse umane per codificare la conoscenza in un
determinato dominio ed ha lo svantaggio che il
risultato di questa attività è difficilmente
riutilizzabile in contesti diversi. Nel caso dei
nomi di geni, inoltre, è particolarmente arduo
individuare delle regole.
Il secondo richiede di avere a disposizione un
certo numero di documenti (da studi precedenti si può affermare che 100 abstract non sono
sufficienti) già annotati, nei quali cioè i nomi di geni sono stati già individuati. Questo costituisce il
corpus di addestramento che consente l’apprendimento automatico di regole.
Lo schema riporta alcuni di questi metodi con a fianco, ove disponibile, un indicatore di successo
nel riconoscimento di termini biologici (proteine o geni). Tale indicatore, l’F-score, è calcolato
come sintesi di due ben noti indicatori nell’ambito dell’information retrieval: il grado di precision
(quanti tra i termini individuati sono effettivamente nomi di geni) e il grado di recall (quanti, tra i
nomi di geni presenti negli abstract, sono stati effettivamente individuati).
Queste informazioni sono state tratte da alcuni articoli scientifici (si veda, a questo proposito, la
bibliografia allegata).
Per quanto riguarda il clustering, alternative al metodo presentato si possono cercare nell’ambito
della rappresentazione vettoriale che del documento viene fatta, nell’ambito della metrica scelta per
misurare il grado di “prossimità” dei documenti, ed infine, nell’ambito dell’algoritmo.
La rappresentazione del documento riguarda sia la scelta degli elementi descrittivi (nel nostro caso
sostantivi, ma come abbiamo visto, anche altre scelte sono possibili) sia la modalità di
rappresentazione vera e propria. Questa può essere binaria (come nel metodo che è stato presentato,
dove l’attributo è presente oppure assente) ma può anche essere quantitativa (per esempio la
frequenza con cui ogni sostantivo appare nel testo).
La metrica dipende in parte dalla rappresentazione. Oltre all’indice di somiglianza, altre metriche
molto utilizzate nell’analisi testuale sono la distanza Euclidea e il coseno dell’angolo compreso tra i
vettori (entrambe utilizzabili solo nel caso di informazioni quantitative).
L’algoritmo può essere principalmente di due tipi: gerarchico o partitivo. Di quest’ultimo tipo,
oltre a quello visto, esistono anche le K-medie, le Self Organizing Maps, Autoclass, …
Il metodo utilizzato costituisce, a nostro avviso un buon punto di partenza per la sperimentazione
delle tecniche di text mining in ambito biologico. L’obiettivo è quello di creare uno strumento di
effettiva utilità per il ricercatore, in questo senso l’unico indicatore di successo può essere quanto
tempo fa risparmiare e/o quante nuove “scoperte” consente di fare.
Bibliografia
[1] Hamphrays, K., et al. (2000): Two Applications of Information Extraction to Biological Science
Journal Articles: Enzyme Interactions and Protein Structures, in Proceedings of Pacific
Symposium on Biocomputing, pp 72-80, World Scientific Press
[2] Milward, T., et al. (2000): Automatic Extraction of Protein Interactions from Scientific
Abstracts, in Proceedings of Pacific Symposium on Biocomputing, pp538-549, World Scientific
Press.
[3] Rindflesch, T. C. et al. (2000), “EDGAR: Extraction of Drugs, Genes and Relations from the
Biomedical Literature”, PSB'2000
[4] Iliopoulos, et al., « TEXTQUEST : Document Clustering of Medline Abstracts for Concept
Discovery in Molecular Biology»
[5] Stapley, B.J. et al., « Biobibliometrics : Information Retrieval and Visualization form Cooccurrences of Gene Names in Medline Abstracts»
[6] Jeffrey T. Chang et al., « Including Biological Literature Improves Homology Search »
[7] Leung, S. et al., « Basic Gene Grammars and DNA-ChartParser for language processing of
Escherichia Coli promoter DNA sequences »
[8] Andrade, M. A. Et at., « Automatic extraction of keywords from scientific text: application to the
knowledge domain of protein families »
[9] Marcotte, E. M. et al., « Mining literature for protein-protein interactions »
[10] Masys, D. R. et al., « Use of keyword hierarchies to interpret gene expression patterns »
[11] Eckman, B. A. et al., « The Merck Gene Index browser: an extensible data integration system
for gene finding, gene characterization and EST data mining »
[12] Fukuda, et al., (1999): “Toward Information extraction: Identifying protein names from
biological papers”, PSB 98
[13] Collier, N., Nobata, C., and Tsujii, J. (2000), “Extracting the Names of Genes and Gene
Products with a Hidden Markov Model”, COLING-2000
[14] Nobata, C., et al.(1999): “Automatic Term Identification and Classification in Biology Texts”,
in Proceeding. of 5th Natural Language Processing Pacific Rim Symposium
[15] Borthwick, A. et al. (1998), “Exploiting Diverse Knowledge Sources via Maximum Entropy in
Named Entity Recognition”, Proceedings of the Sixth Workshop on Very Large Corpora, pp 152160.
[16] Hatzivassiloglou, V. et al., « Disambiguating Proteins, Genes, and RNA in Text : A Machine
Learning Approach»
[17] Mikheev, A. Et al., « Description of the LTG System used for MUC-7 »
[18] Andrade, M. A. Et at., « Automatic Annotation for Biological Sequences by Extraction of
Keywords from Medline Abstracts. Development of a prototype system. »