Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Matematiche Fisiche e Naturali...

Post on 02-May-2015

215 views 1 download

Transcript of Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Matematiche Fisiche e Naturali...

Università degli studi di Modena e Reggio Emilia

Facoltà di Scienze Matematiche Fisiche e Naturali

Progetto e Sviluppo di un’Applicazione Mobile per il Calcolo dell’H-Index

Daniele Cristofori

Relatore: Prof. Riccardo Martoglia

Anno accademico 2010/2011

Introduzione

INTRODUZIONE

• Negli ultimi anni Google e Microsoft hanno cercato sempre di più di democratizzare i criteri di valutazione degli scienziati.

• Tentativo a tale scopo H-Index di Jorge E. Hirsch.

• Definizione di Hirsch: Uno scienziato possiede un indice h se h dei suoi Np lavori hanno almeno h citazioni ciascuno e i rimanenti (Np – h) lavori hanno ognuno al più h citazioni.

1

• Esistono in rete diverse applicazioni che calcolano l’H-Index appoggiandosi a Google Scholar ma presentano tutte dei problemi…

Introduzione

INTRODUZIONE

2

Non appartiene aFloriana Esposito

Introduzione

INTRODUZIONE

• La precedente pubblicazione, pur non appartenendo a Floriana Esposito, partecipa al calcolo dell’H-Index Errore!!!

3

• Soluzione: Estrarre tutte le pubblicazioni dall’homepage dello scienziato di riferimento e considerare solo quelle nel calcolo dell’H-Index.

• Alcune applicazioni hanno la funzionalità che permette di selezionare o deselezionare da parte dell’utente quelle pubblicazioni che si ritiene non appartengono allo scienziato considerato Troppo oneroso dal punto di vista utente!!!

Introduzione

INTRODUZIONE

• E’ stata creata un’applicazione “H-Index Calculator” per iPhone (adottando quindi il linguaggio di programmazione Objective-C) che calcoli l’H-Index di un qualsiasi scienziato in maniera ottimale.

4

L’approccio seguito

L’APPROCCIO SEGUITO

• Estrazione pubblicazioni da homepage.

• Confronto pubblicazioni da Google Scholar con pubblicazioni da homepage.

5

Estrazione pubblicazioni da homepage

ESTRAZIONE PUBBLICAZIONI DA HOMEPAGE

• Obiettivo: Estrapolazione di tutte le pubblicazioni (titoli ed eventualmente autori) da una qualunque homepage.

6

• Problema: Non si ha la conoscenza della struttura della pagina HTML che contiene tutte le pubblicazioni.

• Soluzione: Ideazione ed implementazione di un algoritmo che, in maniera automatica, cerca di capire com’è strutturata l’homepage.

Di seguito è mostrata una simulazione dell’algoritmo.

Estrazione pubblicazioni da homepage

ALGORITMO ESTRAPOLAZIONE PUBBLICAZIONI DA HOMEPAGE

7

…<td> <div id=ID59> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> MULTISTRATEGY OPERATORS FOR RELATIONAL LEARNING AND THEIR COOPERATION. </b> </td> </tr> </tbody> </table> </div>… <div id=ID60> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> INFERENCE OF ABDUCTION THEORIES FOR HANDLING INCOMPLETENESS IN FIRST-ORDER LEARNING. </b> </td> </tr> </tbody> </table> </div>

Estrazione pubblicazioni da homepage

… <div id=ID60> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> INFERENCE OF ABDUCTION THEORIES FOR HANDLING INCOMPLETENESS IN FIRST-ORDER LEARNING. </b> </td> </tr> </tbody> </table> </div>

…<td> <div id=ID59> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> MULTISTRATEGY OPERATORS FOR RELATIONAL LEARNING AND THEIR COOPERATION. </b> </td> </tr> </tbody> </table> </div>

ALGORITMO ESTRAPOLAZIONE PUBBLICAZIONI DA HOMEPAGE

8

Estrazione pubblicazioni da homepage

… <div id=ID60> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> INFERENCE OF ABDUCTION THEORIES FOR HANDLING INCOMPLETENESS IN FIRST-ORDER LEARNING. </b> </td> </tr> </tbody> </table> </div>

…<td> <div id=ID59> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> MULTISTRATEGY OPERATORS FOR RELATIONAL LEARNING AND THEIR COOPERATION. </b> </td> </tr> </tbody> </table> </div>

ALGORITMO ESTRAPOLAZIONE PUBBLICAZIONI DA HOMEPAGE

9

Estrazione pubblicazioni da homepage

… <div id=ID60> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> INFERENCE OF ABDUCTION THEORIES FOR HANDLING INCOMPLETENESS IN FIRST-ORDER LEARNING. </b> </td> </tr> </tbody> </table> </div>

…<td> <div id=ID59> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> MULTISTRATEGY OPERATORS FOR RELATIONAL LEARNING AND THEIR COOPERATION. </b> </td> </tr> </tbody> </table> </div>

ALGORITMO ESTRAPOLAZIONE PUBBLICAZIONI DA HOMEPAGE

10

Estrazione pubblicazioni da homepage

… <div id=ID60> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> INFERENCE OF ABDUCTION THEORIES FOR HANDLING INCOMPLETENESS IN FIRST-ORDER LEARNING. </b> </td> </tr> </tbody> </table> </div>

…<td> <div id=ID59> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> MULTISTRATEGY OPERATORS FOR RELATIONAL LEARNING AND THEIR COOPERATION. </b> </td> </tr> </tbody> </table> </div>

ALGORITMO ESTRAPOLAZIONE PUBBLICAZIONI DA HOMEPAGE

11

Estrazione pubblicazioni da homepage

… <div id=ID60> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> INFERENCE OF ABDUCTION THEORIES FOR HANDLING INCOMPLETENESS IN FIRST-ORDER LEARNING. </b> </td> </tr> </tbody> </table> </div>

…<td> <div id=ID59> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> MULTISTRATEGY OPERATORS FOR RELATIONAL LEARNING AND THEIR COOPERATION. </b> </td> </tr> </tbody> </table> </div>

ALGORITMO ESTRAPOLAZIONE PUBBLICAZIONI DA HOMEPAGE

12

Estrazione pubblicazioni da homepage

… <div id=ID60> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> INFERENCE OF ABDUCTION THEORIES FOR HANDLING INCOMPLETENESS IN FIRST-ORDER LEARNING. </b> </td> </tr> </tbody> </table> </div>

…<td> <div id=ID59> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> MULTISTRATEGY OPERATORS FOR RELATIONAL LEARNING AND THEIR COOPERATION. </b> </td> </tr> </tbody> </table> </div>

ALGORITMO ESTRAPOLAZIONE PUBBLICAZIONI DA HOMEPAGE

13

Estrazione pubblicazioni da homepage

… <div id=ID60> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> INFERENCE OF ABDUCTION THEORIES FOR HANDLING INCOMPLETENESS IN FIRST-ORDER LEARNING. </b> </td> </tr> </tbody> </table> </div>

…<td> <div id=ID59> <table> <tbody> <tr bgcolor=‘#e1e1e1’> <td class=‘pubblfontbig’ colspan=4> <b> MULTISTRATEGY OPERATORS FOR RELATIONAL LEARNING AND THEIR COOPERATION. </b> </td> </tr> </tbody> </table> </div>

ALGORITMO ESTRAPOLAZIONE PUBBLICAZIONI DA HOMEPAGE

14

Fine della risalita!

L’approccio seguito

L’APPROCCIO SEGUITO

• Algoritmo intelligente di estrapolazione pubblicazioni da homepage.

• Confronto pubblicazioni da Google Scholar con pubblicazioni da homepage.

15

Confronto pubblicazioni

CONFRONTO PUBBLICAZIONI

• Obiettivo: Riconoscere lo stesso titolo estratto dall’homepage in Google Scholar e viceversa.

• Problema: In diversi casi una determinata pubblicazione estratta da Google Scholar è presentata con qualche piccola differenza di caratteri rispetto alla stessa pubblicazione all’interno dell’homepage.

Non si può quindi usare un metodo di uguaglianza.

• Soluzione: Definire un grado di similarità sopra il quale le due pubblicazioni vengano considerate la stessa.

Questo lo si può fare grazie all’algoritmo Edit Distance.

Edit Distance: date str1 e str2 due stringhe in input, ritorna il numero minimo di modifiche elementari che consentano di trasformare la stringa str1 nella stringa str2.

16

Introduzione

INTRODUZIONE

17

Verrebbe scartata

Introduzione

INTRODUZIONE

18

Grazie all’Edit Distanceviene presa in considerazione

Algoritmo Edit Distance

ALGORITMO EDIT DISTANCE

19

1),1(

;1)1,(

);,()1,1(

jie

jie

bacjie ji

e(i, j) = min c(a, b) =

- b o- a o b a se 1

b a se 0

ε A N A L Y S I S - A N D - T H E - S O D A S

ε 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

A 1

N 2

A 3

L 4

Y 5

S 6

I 7

S 8

- 9

A 10

N 11

D 12

- 13

S 14

O 15

D 16

A 17

S 18

Algoritmo Edit Distance

ALGORITMO EDIT DISTANCE

20

1),1(

;1)1,(

);,()1,1(

jie

jie

bacjie ji

e(i, j) = min c(a, b) =

- b o- a o b a se 1

b a se 0

ε A N A L Y S I S - A N D - T H E - S O D A S

ε 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

A 1 0

N 2

A 3

L 4

Y 5

S 6

I 7

S 8

- 9

A 10

N 11

D 12

- 13

S 14

O 15

D 16

A 17

S 18

Algoritmo Edit Distance

ALGORITMO EDIT DISTANCE

21

1),1(

;1)1,(

);,()1,1(

jie

jie

bacjie ji

e(i, j) = min c(a, b) =

- b o- a o b a se 1

b a se 0

ε A N A L Y S I S - A N D - T H E - S O D A S

ε 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

A 1 0

N 2 1

A 3

L 4

Y 5

S 6

I 7

S 8

- 9

A 10

N 11

D 12

- 13

S 14

O 15

D 16

A 17

S 18

Algoritmo Edit Distance

ALGORITMO EDIT DISTANCE

22

1),1(

;1)1,(

);,()1,1(

jie

jie

bacjie ji

e(i, j) = min c(a, b) =

- b o- a o b a se 1

b a se 0

ε A N A L Y S I S - A N D - T H E - S O D A S

ε 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

A 1 0

N 2 1

A 3 2

L 4

Y 5

S 6

I 7

S 8

- 9

A 10

N 11

D 12

- 13

S 14

O 15

D 16

A 17

S 18

Algoritmo Edit Distance

ALGORITMO EDIT DISTANCE

23

1),1(

;1)1,(

);,()1,1(

jie

jie

bacjie ji

e(i, j) = min c(a, b) =

- b o- a o b a se 1

b a se 0

ε A N A L Y S I S - A N D - T H E - S O D A S

ε 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

A 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

N 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

L 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Y 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

S 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

I 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

S 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

- 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13

A 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12

N 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11

D 12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10

- 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9

S 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 4 5 6 7 8

O 15 14 13 12 11 10 9 8 7 6 5 4 3 2 2 2 3 4 5 4 5 6 7

D 16 15 14 13 12 11 10 9 8 7 6 5 4 3 3 3 3 4 5 5 4 5 6

A 17 16 15 14 13 12 11 10 9 8 7 6 5 4 4 4 4 4 5 6 5 4 5

S 18 17 16 15 14 13 12 11 10 9 8 7 6 5 5 5 5 5 4 5 6 5

Algoritmo Edit Distance

ALGORITMO EDIT DISTANCE

24

ε A N A L Y S I S - A N D - T H E - S O D A S

ε 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

A 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

N 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

A 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

L 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Y 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

S 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

I 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

S 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

- 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13

A 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12

N 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11

D 12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10

- 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9

S 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1 2 3 4 4 5 6 7 8

O 15 14 13 12 11 10 9 8 7 6 5 4 3 2 2 2 3 4 5 4 5 6 7

D 16 15 14 13 12 11 10 9 8 7 6 5 4 3 3 3 3 4 5 5 4 5 6

A 17 16 15 14 13 12 11 10 9 8 7 6 5 4 4 4 4 4 5 6 5 4 5

S 18 17 16 15 14 13 12 11 10 9 8 7 6 5 5 5 5 5 4 5 6 5 4

L’Edit Distance tra la stringa ‘ANALYSIS AND THE SODAS’ e ‘ANALYSIS AND SODAS’ è 4

1),1(

;1)1,(

);,()1,1(

jie

jie

bacjie ji

e(i, j) = min c(a, b) =

- b o- a o b a se 1

b a se 0Con un grado di similarità adeguato,Le due pubblicazioni verrebbero considerate uguali

Tecnologie adottate

TECNOLOGIE ADOTTATE

25

• L’applicazione è stata sviluppata sfruttando:1. Il sistema operativo iOS2. Il linguaggio di programmazione Objective-C3. I componenti grafici della libreria UIKit4. Lo standard W3C del linguaggio XPath5. Il database sqlite6. I parser JujuParser e HTMLParser

Conclusione e sviluppi futuri

CONCLUSIONE E SVILUPPI FUTURI

27

• Si è arrivati alla creazione di un’applicazione per iPhone che calcoli in maniera ottimale l’H-Index di un qualsiasi scienziato.

• Punto di forza: prendere in considerazione in modo automatico solo quelle pubblicazioni che appartengono allo scienziato in questione scartando quelle pubblicazioni “sporche” comunque restituite da Google Scholar.

• Sviluppi futuri:1. Aggiunta funzionalità di modifica delle pubblicazioni.2. Miglioramento algoritmo estrazione pubblicazioni da homepage che

presentano i titoli/autori in maniera non omogenea.3. Modifica o creazione parser che possano parser qualunque tipo di

pagina HTML/XML.

28

GRAZIE PER L’ATTENZIONE!