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
• 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.
• Esistono in rete diverse applicazioni che calcolano l’H-Index appoggiandosi a
Google Scholar ma presentano tutte dei problemi…
Introduzione
1
INTRODUZIONE
Non appartiene a
Floriana Esposito
Introduzione
2
INTRODUZIONE
•
La precedente pubblicazione, pur non appartenendo a Floriana Esposito,
partecipa al calcolo dell’H-Index  Errore!!!
•
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!!!
•
Soluzione: Estrarre tutte le pubblicazioni dall’homepage dello scienziato di
riferimento e considerare solo quelle nel calcolo dell’H-Index.
Introduzione
3
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.
Introduzione
4
L’APPROCCIO SEGUITO
• Estrazione pubblicazioni da homepage.
• Confronto pubblicazioni da Google Scholar con
pubblicazioni da homepage.
L’approccio seguito
5
ESTRAZIONE PUBBLICAZIONI DA
HOMEPAGE
• Obiettivo: Estrapolazione di tutte le pubblicazioni (titoli ed eventualmente
autori) da una qualunque homepage.
• 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
6
ALGORITMO ESTRAPOLAZIONE
PUBBLICAZIONI DA HOMEPAGE
…
<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
7
ALGORITMO ESTRAPOLAZIONE
PUBBLICAZIONI DA HOMEPAGE
…
<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
8
ALGORITMO ESTRAPOLAZIONE
PUBBLICAZIONI DA HOMEPAGE
…
<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
9
ALGORITMO ESTRAPOLAZIONE
PUBBLICAZIONI DA HOMEPAGE
…
<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
10
ALGORITMO ESTRAPOLAZIONE
PUBBLICAZIONI DA HOMEPAGE
…
<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
11
ALGORITMO ESTRAPOLAZIONE
PUBBLICAZIONI DA HOMEPAGE
…
<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
12
ALGORITMO ESTRAPOLAZIONE
PUBBLICAZIONI DA HOMEPAGE
…
<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
13
ALGORITMO ESTRAPOLAZIONE
PUBBLICAZIONI DA HOMEPAGE
…
<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>
Fine della risalita!
…
Estrazione pubblicazioni da
homepage
14
L’APPROCCIO SEGUITO
• Algoritmo intelligente di estrapolazione pubblicazioni da
homepage.
• Confronto pubblicazioni da Google Scholar con
pubblicazioni da homepage.
L’approccio seguito
15
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.
Confronto pubblicazioni
16
INTRODUZIONE
Verrebbe scartata
Introduzione
17
INTRODUZIONE
Grazie
all’Edit
Distance
viene presa in
considerazione
Introduzione
18
ALGORITMO EDIT DISTANCE
ε
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
e(i  1, j  1)  c(ai, bj );

e(i, j) = min e(i, j  1)  1;
c(a, b) =
e(i  1, j )  1

Algoritmo Edit Distance
0

1
se a  b
se a  b o a  - o b  19
ALGORITMO EDIT DISTANCE
ε
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
e(i  1, j  1)  c(ai, bj );

e(i, j) = min e(i, j  1)  1;
c(a, b) =
e(i  1, j )  1

Algoritmo Edit Distance
0

1
se a  b
se a  b o a  - o b  20
ALGORITMO EDIT DISTANCE
ε
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
e(i  1, j  1)  c(ai, bj );

e(i, j) = min e(i, j  1)  1;
c(a, b) =
e(i  1, j )  1

Algoritmo Edit Distance
0

1
se a  b
se a  b o a  - o b  21
ALGORITMO EDIT DISTANCE
ε
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
e(i  1, j  1)  c(ai, bj );

e(i, j) = min e(i, j  1)  1;
c(a, b) =
e(i  1, j )  1

Algoritmo Edit Distance
0

1
se a  b
se a  b o a  - o b  22
ALGORITMO EDIT DISTANCE
ε
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
e(i  1, j  1)  c(ai, bj );

e(i, j) = min e(i, j  1)  1;
c(a, b) =
e(i  1, j )  1

Algoritmo Edit Distance
0

1
se a  b
se a  b o a  - o b  23
ALGORITMO EDIT DISTANCE
ε
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
 1la, jstringa
 1)  c(ai, bj );
e(itra
L’Edit Distance
Con un grado0
di similarità
se a  adeguato,
b

e(i, j THE
 1) SODAS’
1;
due b)
pubblicazioni
verrebbero considerate
‘ANALYSIS
e Lec(a,
e(i,
j) = min AND
=
1
se
a boa -ob
uguali
‘ANALYSISAND
SODAS’
è
4
e(i  1, j )  1

Algoritmo Edit Distance
24
TECNOLOGIE ADOTTATE
• L’applicazione è stata sviluppata sfruttando:
1. Il sistema operativo iOS
2. Il linguaggio di programmazione Objective-C
3. I componenti grafici della libreria UIKit
4. Lo standard W3C del linguaggio XPath
5. Il database sqlite
6. I parser JujuParser e HTMLParser
Tecnologie adottate
25
CONCLUSIONE E SVILUPPI FUTURI
• 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.
Conclusione e sviluppi futuri
27
GRAZIE PER L’ATTENZIONE!
28
Scarica

Presentazione - ISGroup - Università degli studi di Modena e