Classificazione di frasi in linguaggio naturale per il riconoscimento di interazioni tra geni e proteine con tecniche di Machine Learning
1. UNIVERSITÀ DEGLI STUDI DI TRIESTE
DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA
Corso di Laurea Magistrale in Ingegneria Informatica
Classificazione di frasi in linguaggio naturale per il
riconoscimento di interazioni tra geni e proteine
con tecniche di Machine Learning
Anno Accademico 2013/2014
Laureando
Marco Virgolin
Relatore
prof. Alberto Bartoli
Correlatori
prof. Eric Medvet
dott. Andrea De Lorenzo
dott. Fabiano Tarlao
2. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Il problema
➔ Estrazione automatica di frasi contenenti
interazioni tra geni e proteine
◆ da articoli scientifici biomedici
➔ Dati a disposizione:
◆ dizionario di geni, proteine e interatori
◆ frasi di esempio
2
3. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Perché è importante?
➔ letteratura scientifica biomedica è
◆ enorme
◆ in costante crescita
➔ problema aperto: estrazione automatica di
conoscenza da testo in linguaggio naturale
◆ informazioni “diluite” nel testo
◆ sfida particolarmente ardua: individuare relazioni tra
entità
3
4. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Obiettivo del lavoro
➔ Generare un classificatore C per identificare
frasi con interazioni tra geni e proteine
◆ in modo automatico
◆ sulla base di esempi
◆ basato su pattern sintattici ricorrenti
4
5. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Approccio proposto
➔ Utilizzare espressioni regolari (regex) per
classificare
➔ regex = descrizione concisa e compatta di un
insieme di stringhe
◆ analizza caratteri
5
r = href="[^"]+"
s = <a href="www.units.it">UniTs</a>
6. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Approccio proposto (II)
➔ Classificatore C insieme di espressioni
regolari (regex)
C={r1
,r2
,...}
◆ C accetta frasi accettate da almeno una regex
➔ Regex applicate su rappresentazione
semantica del testo
6
7. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Approccio proposto (III)
➔ Regex generate automaticamente
◆ con procedura di Programmazione Genetica (GP)
● si sfrutta il motore GP Regex Turtle
◆ a partire da esempi
● frasi che devono essere accettate
● frasi che NON devono essere accettate
7
8. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Preprocessing delle frasi
8
YfhP may act as a negative regulator for the transcription of yfhQ
↓
[YfhP] [may] [act] [as] [a] [negative] [regulator] [for] [the] [transcription] [of] [yfhQ]
↓
[GENEPTN] [MD] [VB] [IN] [DT] [JJ] [INOUN] [IN] [DT] [INOUN] [IN] [GENEPTN]
↓
GB0if6JifJiG
frase
parole
annotazioni
stringa di caratteri
regex analizza
9. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Preprocessing delle frasi (II)
9
Trasformazione frase s in ɸ-stringa x
a. sostituzione parole in s con “annotazioni”
i. indicazione se gene, proteina, interatore
oppure
ii. categoria grammaticale (Part-Of-Speech)
b. mapping delle annotazioni in caratteri Unicode
c. concatenazione
10. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Costruzione di C: GP
10
➔ Tecnica di ricerca euristica in uno spazio di
soluzioni
◆ ispirata alla evoluzione biologica
➔ Indici di qualità delle soluzioni definiti in base
al problema specifico
➔ In questo lavoro
soluzione candidata = regex
11. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Aspetti fondamentali del processo
11
➔ Fitness multi-obiettivo:
◆ prestazioni classificazione + lunghezza regex
◆ generale (non “conosce” geni/proteine, interatori)
➔ Diversità
◆ se viene generata una regex r1
uguale a r2
già presente
● si scarta r1
● si genera una nuova r1
➔ Popolazione iniziale smart
◆ in parte regex costruite da esempi positivi
◆ in parte a caso
12. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Aspetti fondamentali del processo (II)
12
➔ Suddivisione automatica in sottoproblemi
(separate-and-conquer)
➔ Esito procedura: insieme di espressioni
regolari C={r1
,r2
,...}
13. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Separate-and-conquer
13
➔ Si considera un sottoproblema alla volta
◆ sottoproblema = partizione di frasi da classificare
◆ molteplici ricerche GP
◆ partizionamento automatico
➔ Ciascuna ri
∈ C trovata è mirata a risolvere
un sottoproblema
➔ Ogni ri
∈ C effettua classificazione
indipendente e parallela alle altre
◆ output di C = OR logico di r1
,r2
,...∈ C
14. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Esempio di classificatore
14
C = {r1
, r2
}
r1
= GENEPTN[ˆRB][^NNS VBN GENEPTN]++
r2
= . INOUN IN GENEPTN . [ˆDT NN]
r1
, r2
generate automaticamente da frasi d’esempio
(da “accettare”, da “non accettare”)
15. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Valutazione sperimentale: dati
15
➔ Dataset: 456 frasi da articoli biomedici
◆ ½ con interazioni e ½ senza
◆ etichettate da esperti
➔ Dataset diviso in Learning e Testing
◆ ≈80% esempi nel Learning
◆ ≈20% esempi nel Testing
➔ 5 fold generati casualmente
◆ ma tali che Testingi
≠Testingj
16. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Baseline 1, 2: problem specific knowledge
16
➔ Annotations-Co-Occurrence
◆ rappresenta criterio di un esperto
◆ frase è positiva se contiene
● almeno 2 geni/proteine
● almeno 1 interatore
➔ Annotations-LLL05-Patterns
◆ 10 pattern generati in “LLL'05 Challenge: Genic Interaction
Extraction with Alignments and Finite State Automata”
- J. Hakenberg et al.
◆ sono costruiti su >90% del dataset
(compreso testing!)
17. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Baseline 3: ɸ-SSLEA
17
➔ Basata su Smart State Labeling Algorithm
◆ stato dell’arte in DFA learning
➔ Metodo evolutivo di tipo Hill-Climbing
➔ Genera DFA che accetta o rifiuta ɸ-stringa x
◆ se x accettata ⇒ x rappresenta frase con interazione
tra geni e proteine
◆ altrimenti no
18. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Baseline 4, 5: Words-NaiveBayes e Words-SVM
18
➔ Standard nella classificazione del testo
◆ Metodi ad apprendimento supervisionato
➔ Feature basate su occorrenza delle parole
➔ Utilizzati strumenti forniti dal Lab
◆ feature selection
◆ motore per addestrare NaiveBayes e SVM
19. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Risultati
19
Classificatore Accuratezza FPR FNR
Annotations-Co-Occurrence 77.8 40.0 4.5
Annotations-LLL05-Patterns 82.3 25.0 10.5
Words-NaiveBayes 51.3 25.0 95.0
Words-SVM 73.8 29.0 23.5
ɸ-SSLEA 61.3 44.0 33.5
C (nostra proposta) 77.0 23.5 22.5
Medie sui 5 fold di Test
20. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Risultati (II)
20
➔ C ha prestazioni migliori tra i metodi generali
➔ accuratezze di C e Annotations-Co-Occurrence (che
rappresenta il criterio di un esperto) molto vicine
➔ Pro e contro:
◆ C è composto da pattern (regex) applicabili e leggibili
◆ tempi generazione C (ore) ≫ tempi generazione altri
metodi (minuti)
● ma ≈ tempi di applicazione (secondi)
21. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Conclusioni
21
Progettato, realizzato e valutato:
➔ metodo per la sintesi automatica di un
classificatore per frasi in linguaggio naturale
◆ basato sulla rilevazione di pattern sintattici
◆ costruito con tecniche evolutive
◆ ricerca euristica separate-and-conquer
➔ risultati indicano che il metodo ha qualità:
◆ analoga ai metodi problem-specific
◆ superiore ai metodi generali
22. Marco Virgolin (DIA - UniTs)Classificazione di frasi in linguaggio naturale con GP
Infine
22
Il presente lavoro è stato sottomesso ad un
importante congresso internazionale sulla
Computazione Evolutiva
Grazie per l’attenzione