SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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
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
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
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
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>
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
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
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
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
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
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
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
,...}
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
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”)
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
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!)
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
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
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
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)
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
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

Weitere ähnliche Inhalte

Mehr von Marco Virgo

10 classifica palio
10 classifica palio10 classifica palio
10 classifica palioMarco Virgo
 
9 classifica borghi
9 classifica borghi9 classifica borghi
9 classifica borghiMarco Virgo
 
8 classifica borghi
8 classifica borghi8 classifica borghi
8 classifica borghiMarco Virgo
 
7 classifica borghi
7 classifica borghi7 classifica borghi
7 classifica borghiMarco Virgo
 
Classifica Generale Palio 7
Classifica Generale Palio 7Classifica Generale Palio 7
Classifica Generale Palio 7Marco Virgo
 
classifica borghi
classifica borghiclassifica borghi
classifica borghiMarco Virgo
 
VI Giorno Classifica Palio
VI Giorno Classifica PalioVI Giorno Classifica Palio
VI Giorno Classifica PalioMarco Virgo
 
giorno 3 classifica borghi
giorno 3 classifica borghigiorno 3 classifica borghi
giorno 3 classifica borghiMarco Virgo
 
Regolamento Giochi Palio
Regolamento Giochi PalioRegolamento Giochi Palio
Regolamento Giochi PalioMarco Virgo
 
Regolamento giochi
Regolamento giochiRegolamento giochi
Regolamento giochiMarco Virgo
 
Regolamento Giochi
Regolamento GiochiRegolamento Giochi
Regolamento GiochiMarco Virgo
 
Regolamenti giochi
Regolamenti giochiRegolamenti giochi
Regolamenti giochiMarco Virgo
 
Programma palio 2012
Programma palio 2012Programma palio 2012
Programma palio 2012Marco Virgo
 

Mehr von Marco Virgo (13)

10 classifica palio
10 classifica palio10 classifica palio
10 classifica palio
 
9 classifica borghi
9 classifica borghi9 classifica borghi
9 classifica borghi
 
8 classifica borghi
8 classifica borghi8 classifica borghi
8 classifica borghi
 
7 classifica borghi
7 classifica borghi7 classifica borghi
7 classifica borghi
 
Classifica Generale Palio 7
Classifica Generale Palio 7Classifica Generale Palio 7
Classifica Generale Palio 7
 
classifica borghi
classifica borghiclassifica borghi
classifica borghi
 
VI Giorno Classifica Palio
VI Giorno Classifica PalioVI Giorno Classifica Palio
VI Giorno Classifica Palio
 
giorno 3 classifica borghi
giorno 3 classifica borghigiorno 3 classifica borghi
giorno 3 classifica borghi
 
Regolamento Giochi Palio
Regolamento Giochi PalioRegolamento Giochi Palio
Regolamento Giochi Palio
 
Regolamento giochi
Regolamento giochiRegolamento giochi
Regolamento giochi
 
Regolamento Giochi
Regolamento GiochiRegolamento Giochi
Regolamento Giochi
 
Regolamenti giochi
Regolamenti giochiRegolamenti giochi
Regolamenti giochi
 
Programma palio 2012
Programma palio 2012Programma palio 2012
Programma palio 2012
 

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