SlideShare a Scribd company logo
UNIVERSITÀ DEGLI STUDI DI TRIESTE
DIPARTIMENTO DI INGEGNERIA E
ARCHITETTURA
Corso di laurea in Ingegneria Informatica
Tesi di Laurea Magistrale
Progetto e realizzazione di un
sistema per la generazione
automatica di revisioni per
articoli scientifici
Relatore:
prof. Eric Medvet
Laureando:
Matteo Figelj
Anno Accademico 2014/2015
Ringraziamenti
Alla mia famiglia, a Giulia e a tutti quelli che mi sono stati sempre
vicino durante questo percorso.
iii
Indice
Ringraziamenti iii
1 Introduzione 1
1.1 Scenario iniziale . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem statement . . . . . . . . . . . . . . . . . . . . . 2
1.3 Motivazioni . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Generazione di revisioni 5
2.1 Preparazione del dataset . . . . . . . . . . . . . . . . . . 5
2.2 Baseline . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Descrizione metodi . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Metodo principale . . . . . . . . . . . . . . . . . 7
2.3.2 Metodo 1: periodi non combinati e non ordinati . 11
2.3.3 Metodo 2: periodi non combinati e ordinati . . . 11
2.3.4 Metodo 3: periodi combinati e non ordinati . . . 12
2.3.5 Medoto 4: periodi combinati e ordinati . . . . . . 12
2.4 Tool utilizzati . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.1 Controllo di sentiment analysis . . . . . . . . . . 12
2.4.2 Ordinamento dei periodi . . . . . . . . . . . . . . 13
2.4.3 Composizione di periodi . . . . . . . . . . . . . . 14
3 Valutazione sperimentale 17
3.1 Procedura di valutazione . . . . . . . . . . . . . . . . . . 18
3.2 Metrica utilizzata . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Sintesi dei risultati . . . . . . . . . . . . . . . . . . . . . 20
3.4 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . 22
4 Esempi 25
v
4.1 Metodo 1: periodi non combinati e non ordinati . . . . . 25
4.2 Metodo 2: periodi non combinati e ordinati . . . . . . . 27
4.3 Metodo 3: periodi combinati e non ordinati . . . . . . . 29
4.4 Metodo 4: periodi combinati e ordinati . . . . . . . . . . 31
Bibliografia 35
vi
Capitolo 1
Introduzione
1.1 Scenario iniziale
Una pubblicazione scientifica, o articolo scientifico, è uno scritto re-
datto in modo oggettivo su un argomento scientifico e pubblicato at-
traverso i canali di comunicazione della comunità scientifica.
Nell’ambito della ricerca, la pubblicazione scientifica rappresenta la
principale forma di comunicazione, tramite la quale i singoli ricercatori
o i gruppi di ricerca rendono pubblici i metodi ed i risultati dei propri
studi. La sua diffusione, in formato cartaceo o digitale, viene spesso
effettuata da gruppi editoriali di riviste scientifiche o da altri editori
specializzati, quali per esempio editori accademici.
Le pubblicazioni di questi gruppi editoriali, in generale, sono re-
golamentate da procedure di accettazione e di valutazione dei lavori
presentati. Tali procedure sono mirate a stabilire quali lavori scientifici
posseggano i requisiti necessari per essere pubblicati. I lavori scientifici
che superano tali procedure vengono pubblicati, divenendo così pubbli-
cazione scientifica. Una delle procedure di accettazione maggiormente
diffuse è la peer review, tradotta come "revisione paritaria".
Questo tipo di valutazione prevede di sottoporre un determinato
articolo scientifico all’analisi di uno o più esperti del settore. Il ri-
sultato di tale analisi prevede la stesura di una revisione, che riporta
1
1 – Introduzione
una valutazione dell’articolo, assieme a dei suggerimenti per migliorar-
lo. Le valutazioni solitamente includono delle recommendations, ovve-
ro raccomandazioni/consigli espliciti sul testo del manoscritto o della
proposta, spesso scelti tra opzioni proposte dal giornale o dall’editore.
Alcuni esempi di recommendations sono:
• "accept": il lavoro è accettato senza riserve;
• "minor revision": il lavoro richiede alcuni miglioramenti prima
di essere accettato;
• "major revision": il lavoro richiede miglioramenti significativi
prima di essere accettato;
• "neutral": non si raccomanda né di accettare né di rifiutare il
lavoro;
• "reject": il lavoro è respinto.
L’insieme delle revisioni gioca un ruolo fondamentale nella fase
di accettazione dell’articolo per cui sono state prodotte, che resta
comunque a discrezione del giornale o dell’editore.
1.2 Problem statement
L’obiettivo è di generare, dato un articolo scientifico vx, una revisione
rx tale che appaia come scritta da revisore umano per vx. Inoltre,
viene richiesto che rx esprima un tipo di opinione/valutazione positiva,
neutra o negativa.
Con lo scopo di prefiggere tale obiettivo, il risultato del lavoro si
riassume in: (i) definizione del problem statement; (ii) raccolta dei
dati per comporre il dataset; (iii) definizione di una baseline come
punto di partenza; (iv) sviluppo di un procedimento per generazione
automatica di revisioni, che si attua in quattro diverse varianti; (v)
valutazione sperimentale di queste ultime.
2
1.3 – Motivazioni
1.3 Motivazioni
Uno dei motivi che ha ispirato ad affrontare questo tipo di lavoro è
legato a SCIgen1, un generatore automatico di articoli scientifici crea-
to da ricercatori del "Massachusetts Institute of Technology (MIT)".
Quando nel 2005 si è utilizzato SCIgen per generare un articolo dal
titolo "Rooter: A Methodology for the Typical Unification of Access
Points and Redundancy" e presentarlo alla conferenza "World Multi-
conference on Systemics, Cybernetics and Informatics (WMSCI)", ne
è risultato che tale articolo è stato accettato e che gli autori sono stati
invitati a presentarlo alla conferenza. Non appena questi ultimi hanno
reso noto sul proprio sito web l’accaduto, si è creato uno scompiglio
non indifferente nella comunità scientifica. Alla luce di ciò, è nata la
curiosità di chiedersi cosa potrebbe scatenare l’analogo di SCIgen nel
mondo del peer review, ispirando in parte questo lavoro di tesi.
Inoltre, un beneficio che si può trarre da questo lavoro, può essere
quello di stimolare la comunità scientifica nello studio di nuovi metodi
per l’individuazione di revisioni generate automaticamente. Miglio-
ramenti ottenuti in questo senso porterebbero indubbi vantaggi sulla
ricerca di illeciti nell’ambito del peer review e non solo.
Infine, si è potuto indagare approfonditamente sulle potenzialità del
Natural Language Generation (NLG), che, in generale, si occupa della
generazione di linguaggio naturale a partire da una rappresentazione
non linguistica dell’informazione. NLG non assume importanza solo
in questo contesto, bensì nell’ambito del machine learning in generale.
La sue applicazioni sono vaste e spaziano tra: generazione di previsioni
meteorologiche, lettere commerciali, rapporti medici, traduzioni auto-
matiche, e via dicendo. Ottenere risultati importanti in questo lavoro
quindi, potrebbe fornire strumenti utili anche in altri contesti.
1
http://pdos.csail.mit.edu/archive/scigen/
3
4
Capitolo 2
Generazione di revisioni
Una prima fase del lavoro è stata dedicata alla preparazione del dataset,
descritto nella sezione 2.1. Sono stati raccolti dal web in totale 48
articoli scientifici e 165 revisioni. Gli argomenti trattati negli articoli
sono vari, e non sono risultati vincolanti ai fini del lavoro.
Si è costruita successivamente una baseline, come punto di parten-
za. Questa opera su base probabilistica e più in particolare, su catene
di Markov. Il suo funzionamento è illustrato nella sezione 2.2.
Il nucleo del lavoro è composto dalla progettazione di un metodo
innovativo in letteratura per la generazione di revisioni, illustrato nella
sezione 2.3.1, a cui sono succedute quattro diverse varianti, descritte
rispettivamente nelle sezioni 2.3.2, 2.3.3, 2.3.4 e 2.3.5.
2.1 Preparazione del dataset
Sia V = {v1, v2, . . . } un insieme predefinito di articoli scientifici, ognu-
no suddiviso in vi = titlei, abstracti, main-texti . ∀vi ∈ V , sia
Ri = {r1, r2, . . . } un insieme predefinito di revisioni relative a vi. Inol-
tre, per ogni revisione ri, sia associata una tra le seguenti recommen-
dations: (i) "accept"; (ii) "neutral"; (iii) "minor revision"; (iv) "major
revision"; (v) "reject".
Un primo passo consiste nel segmentare le revisioni in singoli pe-
riodi grammaticali p e definire, ∀Ri, l’insieme Pi = {p1, p2, . . . } dei
5
2 – Generazione di revisioni
periodi estratti da r1, r2, · · · ∈ Ri. A questo punto, si applica una tra-
sformazione a ∀Pi, suddivisa in due diverse fasi e sufficiente che venga
fatta una sola volta.
Fase 1. ∀p ∈ Pi si applica il riconoscimento di nomi propri, mediante
tecnica di Named-Entity Recognition (NER)2.
Fase 2. ∀p ∈ Pi si assegnano le parti del discorso, mediante tecnica di
Part-Of-Speech tagging (POS tagging)3.
Sia ˆPi = {ˆp1, ˆp2, . . . } l’insieme dei periodi ottenuti dall’azione congiun-
ta delle due fasi appena descritte a partire dall’insieme Pi. Inoltre, si
definisce l’insieme di tutti i periodi trasformati ˆP = ∀i
ˆPi.
2.2 Baseline
Gli input sono:
• n: ordine della catena di Markov (valori accettati: n = 1, 2, 3);
• k: numero di parole che si vogliono generare.
Sia T la sequenza ordinata w1w2 . . . delle parole w contenute nelle
revisioni r1, r2, · · · ∈ ∀i Ri. In una catena di Markov di ordine n, la
probabilità associata a un qualsiasi periodo grammaticale p, composto
dalla concatenazione delle singole parole w1 . . . wm, è pari a:
Pr(p) = Pr(w1 . . . wm) =
m
i=1
Pr(wi|wi−1 . . . wi−n)
Il metodo si occupa di generare una sequenza ordinata di k parole
w1 . . . wk, con le wi estratte da T, sulla base di una stima probabilistica
di queste ultime, calcolata come segue:
Pr(wi|wi−1 . . . wi−n) =
Occ(wi−n . . . wi−1wi)
Occ(wi)
i = 1, . . . , k
2
http://nlp.stanford.edu/software/CRF-NER.shtml
3
http://nlp.stanford.edu/software/tagger.shtml
6
2.3 – Descrizione metodi
con Occ(. . . ) che indica il numero di occorrenze in T della sequenza
ordinata di parole come argomento. La situazione iniziale comprende
l’estrazione da T di una parola casuale w1, la successiva estrazione di
una seconda parola w2 condizionata a w1 e così via seguendo il model-
lo appena descritto fino a raggiungere l’estrazione della parola wk. Se
durante la costruzione della catena viene estratta l’ultima parola con-
tenuta in T e non è possibile proseguire, allora la catena viene troncata
e si riparte dalla situazione iniziale. In altre parole, quando ciò accade,
se wj, . . . , wj+(n−1) sono le ultime n parole estratte, non esiste parola
w contenuta in T tale che:
Occ(wj . . . wj+(n−1)w) > 0
Infine, la concatenazione delle parole w1, . . . , wk, separate da uno spa-
zio, costituisce l’output.
2.3 Descrizione metodi
2.3.1 Metodo principale
Gli input sono:
• vx: articolo scientifico da revisionare;
• s: tipo di valutazione/opinione che deve esprimere rx (valori
accettati: "Positive", "Neutral" o "Negative").
Dati un qualsiasi articolo scientifico v e una qualsiasi revisione r rela-
tiva a tale articolo, sia context(v, r) l’insieme delle parole w contenute
in r per le quali, dato un qualsiasi altro articolo v∗, non sia sempre
possibile definire un contesto comune con v∗. Ogni parola contenuta in
context(v, r) è definita come termine specifico relativo a v. L’insieme
complementare context(v, r), è definito da tutte le parole w contenute
in r per le quali si possa definire un contesto comune con un qualsiasi
articolo v∗. Ogni parola contenuta in context(v, r) è definita termi-
ne non specifico. Inoltre, data una qualsiasi revisione r, si definisce
7
2 – Generazione di revisioni
W(r) l’insieme di tutte le parole che compongono r. In base a queste
definizioni, per ogni coppia articolo/revisione v, r , vale la seguente:
W(r) = context(v, r) ∪ context(v, r)
Le definizioni di context(v, r), context(v, r) e W(r) appena formula-
te rimangono valide anche per un qualsiasi periodo grammaticale p
contenuto in r e non necessariamente solo per r.
Dato un qualsiasi periodo ˆp ∈ ˆP e il relativo articolo v per cui
è stato scritto ˆp, l’idea è di definire un’operazione φ che, applicata a
ˆp, sostituisca tutti i termini specifici relativi a v con termini specifici
relativi a vx. Chiamando ˆp il periodo grammaticale ottenuto come
risultato di tale operazione, si ha che:
φ : W(ˆp) → W(ˆp )
ˆp → ˆp
dove:
W(ˆp) = context(v, ˆp) ∪ context(v, ˆp)
W(ˆp ) = context(vx, ˆp ) ∪ context(v, ˆp)
In altre parole, mediante questa trasformazione, si ha un cambio di
contesto dei soli termini specifici, dall’articolo originale per cui sono
stati scritti all’articolo da revisionare. Per prima cosa, è necessario
individuare in un generico periodo ˆp quali possano essere i termini
specifici. Grazie all’applicazione di Part-Of-Speech tags operata nella
sezione 2.1, è possibile distinguere per ogni ˆp ∈ ˆP la parte del discorso
a cui appartiene ogni singola parola w ∈ W(ˆp). Da una generica
osservazione, si nota un addensamento di termini specifici nei seguenti
insiemi: (i) JJ (aggettivi); (ii) NN (nomi comuni singolari); (iii) NNS
(nomi comuni plurali); (iv) NNP (nomi propri singolari); (v) NNPS
(nomi propri plurali). Si assume dunque che tutti i termini specifici
siano contenuti in uno di questi cinque insiemi e che i restanti, quali
preposizioni, verbi, avverbi, etc. possano assumere contesti di validità
generica e quindi esser considerati termini non specifici.
La prima fase è incentrata sull’estrazione di termini specifici dal-
l’articolo vx. Denotando con ˆvx la concatenazione di titlex, abstractx,
8
2.3 – Descrizione metodi
e main-textx, si opera con i seguenti passi: (i) ricerca, estrazione di
nomi propri contenuti in ˆvx, mediante tecnica di Named-Entity Re-
cognition; (ii) applicazione di Part-Of-Speech tagging a ogni periodo
grammaticale p contenuto in ˆvx ed estrazione di tutti i termini w con-
tenuti in p tali che valgano le seguenti: ∀ˆpi ∈ ˆP : w /∈ W(ˆpi); w non è
un numero; length(w) > 2. Qualsiasi nome proprio estratto con tec-
nica di Named-Entity Recognition può essere estratto anche mediante
Part-Of-Speech tagging, con la differenza che, nel primo caso, si ha il
vantaggio di avere una maggior informazione sulla natura del nome. A
questo punto, si assume che l’insieme {w1, . . . , wt} dei termini appena
estratti costituisca un sottoinsieme dei termini specifici relativi a vx.
La seconda fase, prevede di estrarre n periodi ˆp1, . . . , ˆpn ∈ ˆP non
ripetuti e applicare le seguenti trasformazioni:
φ : ˆp1 → ˆp1
φ : ˆp2 → ˆp2
...
φ : ˆpn → ˆpn
Il risultato dell’azione congiunta delle due fasi appena introdotte può
essere rappresentato dal seguente schema:
Figura 2.1. Schema riassuntivo delle due fasi.
9
2 – Generazione di revisioni
L’insieme delle trasformazioni della seconda fase prevede una va-
lutazione iterativa di ogni singolo termine w ∈ W(ˆpi), stabilendo se
w debba essere o meno sostituito con un termine w ∈ {w1, . . . , wt}.
La sostituzione avviene sempre se w è stato riconosciuto come no-
me proprio mediante Named-Entity Recognition e non avviene mai se
soddisfa almeno una delle seguenti: (i) w non contiene lettere; (ii)
length(w) = 1. In tutti gli altri casi, un termine non viene sostituito
se è soddisfatta almeno una delle seguenti condizioni: (i) w ∈ W(vx);
(ii) Occ(w) > c AND w /∈ S ⊂ ˆP, dove c è un parametro che rientra
tra le scelte di progetto e S è un insieme di termini specifici individuati
manualmente. Qualora un termine w ∈ W(ˆpi) debba essere sostituito,
la sostituzione avviene un termine w ∈ {w1, . . . , wt} di uguale tipo,
dove per tipo si intende la classe, nel caso di termine riconosciuto con
NER, o la parte del discorso, nel caso di applicazione di POS tags. Se
la sostituzione di un termine di un certo tipo non può essere attuata
perché la prima fase non ha prodotto termini di quello stesso tipo, allo-
ra si tenta a sostituirlo con un tipo diverso, in base al seguente schema,
applicato in maniera ricorsiva: (i) un termine riconosciuto mediante
NER, oppure con POS tag NNPS, viene sostituito con un termine con
POS tag NNP; (ii) un termine con POS tag NNS, oppure NNP, viene
sostituito con un termine con POS tag NN. In tutti gli altri casi, la
sostituzione non può essere effettuata.
Valgono inoltre le seguenti regole.
Regola 1. Nella valutazione di un tipo, il riconoscimento mediante
NER ha precedenza sul POS tag.
Regola 2. Se la sostituzione di un termine w ∈ W(ˆpi) non può es-
sere effettuata, allora ˆpi viene scartato e si procede al
suo rimpiazzamento con l’estrazione di un altro periodo
ˆpj ∈ ˆP.
Regola 3. Se un termine w sostituisce un termine w, viene mante-
nuta in memoria l’associazione a := w, w . Qualora nelle
successive iterazioni compaia un termine di ugual valore a
w, la sostituzione di tale termine avviene con il valore w
memorizzato in a.
10
2.3 – Descrizione metodi
Regola 4. Un termine w che sostituisce un termine w non può esse-
re riutilizzato per la sostituzione di altri termini successivi
diversi da w. L’unica eccezione è che, se tutti gli elementi
dello stesso tipo di w sono stati utilizzati in altre sosti-
tuzioni, allora viene ripristinata la configurazione iniziale
e tutti i termini appartenenti a quel tipo possono essere
riutilizzati.
Ciò che caratterizza le quattro varianti di questo metodo, è la pos-
sibilità di applicare due ulteriori procedimenti ai periodi trasformati
mediante φ. Il primo consiste nell’estrarre dai singoli periodi determi-
nate parti del discorso e, tramite composizione di queste ultime, for-
mulare nuovi periodi. Il secondo consiste nel definire un ordinamento
di un insieme di periodi secondo l’ordinamento tipico dei periodi con-
tenuti nelle revisioni scritte da esseri umani. L’applicazione o no di
questi due procedimenti, insieme o uno alla volta, definisce le quattro
possibili varianti, che ora verranno illustrate con maggior dettaglio.
2.3.2 Metodo 1: periodi non combinati e non ordinati
La trasformazione φ viene attuata su n = 5 periodi grammatica-
li ˆp1, . . . , ˆp5 ∈ ˆP. I periodi ˆp1, . . . , ˆp5, ottenuti dalla trasformazio-
ne φ, sono tali da soddisfare il controllo di sentiment analysis (per
maggiori dettagli si veda la sezione 2.4.1). L’output è costituito dalla
concatenazione dei periodi ˆp1, . . . , ˆp5, separati da uno spazio.
2.3.3 Metodo 2: periodi non combinati e ordinati
La trasformazione φ viene attuata su n = 50 periodi grammaticali
ˆp1, . . . , ˆp50 ∈ ˆP. I periodi ˆp1, . . . , ˆp50, ottenuti dalla trasformazione φ,
sono tali da soddisfare il controllo di sentiment analysis (per maggiori
dettagli si veda la sezione 2.4.1). Si effettua un procedimento di or-
dinamento dei periodi ˆp1, . . . , ˆp50 per mezzo di un classificatore (per
maggiori dettagli si veda la sezione 2.4.2). Se ˆp1, . . . , ˆp50 non sono tali
11
2 – Generazione di revisioni
da soddisfare il procedimento di classificazione, allora si ripete il me-
todo estraendo nuovamente n = 50 periodi grammaticali da ˆP. L’out-
put è costituito dai 5 periodi ˆp1, . . . , ˆp5 ottenuti dalla classificazione,
separati da uno spazio.
2.3.4 Metodo 3: periodi combinati e non ordinati
La trasformazione φ viene attuata su ∀ˆpi ∈ ˆP. I periodi ˆp1, . . . , ˆpn,
ottenuti dalla trasformazione φ, vengono combinati e si ottengono k =
5 periodi ˆq1, . . . , ˆq5 (per maggiori dettagli si veda la sezione 2.4.3). Tali
periodi inoltre, sono tali da soddisfare il controllo di sentiment analysis
(per maggiori dettagli si veda la sezione 2.4.1). L’output è costituito
dalla concatenazione dei periodi ˆq1, . . . , ˆq5, separati da uno spazio.
2.3.5 Medoto 4: periodi combinati e ordinati
La trasformazione φ viene attuata su ∀ˆpi ∈ ˆP. I periodi ˆp1, . . . , ˆpn,
ottenuti dalla trasformazione φ, vengono combinati e si ottengono k =
50 periodi ˆq1, . . . , ˆq50 (per maggiori dettagli si veda la sezione 2.4.3).
Tali periodi inoltre, sono tali da soddisfare il controllo di sentiment
analysis (per maggiori dettagli si veda la sezione 2.4.1). Si effettua
un procedimento di ordinamento dei periodi ˆq1, . . . , ˆq50 per mezzo di
un classificatore (per maggiori dettagli si veda la sezione 2.4.2). Se
ˆq1, . . . , ˆq50 non sono tali da soddisfare il procedimento di classificazione,
allora si ripete il metodo ricombinando i periodi ˆp1, . . . , ˆpn. L’output è
costituito dai 5 periodi ˆp1, . . . , ˆp5 ottenuti dalla classificazione, separati
da uno spazio.
2.4 Tool utilizzati
2.4.1 Controllo di sentiment analysis
Lo scopo è verificare che un qualsiasi periodo grammaticale ˆpi sotto-
posto a controllo sia coerente col tipo di opinione/valutazione espressa
tramite l’input s. La verifica della coerenza viene effettuata con un
12
2.4 – Tool utilizzati
tool di sentiment analysis4. Fornendo come input a questo strumen-
to il periodo ˆpi, si ottengono come output: (i) s : il tipo di opinio-
ne/valutazione che esprime il contenuto di ˆpi (valori possibili: "Positi-
ve", "Neutral" o "Negative"); (ii) t : il grado di confidenza di s (valori
possibili: 50 ≤ t < 100). Per quanto riguarda l’informazione fornita
da t , si distinguono i seguenti casi:
• Se s = "Positive" OR s = "Negative":
t ∈ (100 ·
e0.5
1 + e0.5
; 100 ·
e∞
1 + e∞
) (62.24; 100)
dove il valore massimo 100 rappresenta la massima confidenza sul
valore attribuito a s , mentre il valore minimo 62.24 la minima
confidenza sul valore attribuito a s .
• Se s = "Neutral":
t ∈ [100 ·
e0
1 + e0
; 100 ·
e0.5
1 + e0.5
] [50; 62.24]
dove il valore minimo 50 rappresenta la massima confidenza sul
valore attribuito a s , mentre il valore massimo 62.24 la minima
confidenza sul valore attribuito a s .
Il periodo ˆpi viene ritenuto idoneo se e solo se valgono le seguenti: (i)
s = s; (ii) t t ⇐⇒ s = "Positive" OR s = "Negative", con t
parametro che rientra tra le scelte di progetto.
2.4.2 Ordinamento dei periodi
Questo procedimento viene realizzato con l’ausilio di un classificatore
probabilistico5 basato sul principio di massima entropia. Dato un pe-
riodo grammaticale p contenuto in una qualsiasi revisione r, il ruolo
del classificatore è di predire la collocazione di p all’interno di r, vista
4
http://sentiment.vivekn.com/
5
http://nlp.stanford.edu/software/classifier.shtml
13
2 – Generazione di revisioni
come sequenza ordinata di periodi, nelle seguenti 3 classi: (i) primo
periodo grammaticale contenuto in r; (ii) né primo né ultimo periodo
grammaticale contenuto in r; (iii) ultimo periodo grammaticale conte-
nuto in r. Per poter funzionare, necessita di una fase di training. Ciò
viene fatto una prima volta, applicando manualmente a ogni periodo
ˆpi ∈ ˆP un’etichetta che identifichi a quale delle tre classi appartenga
ˆpi.
Siano ˆp1, . . . , ˆp50 i periodi che si vogliono sottoporre a test con
il classificatore. Il risultato del test fornisce ∀ˆpi ∈ {ˆp1, . . . , ˆp50}: (i)
l’appartenenza di ˆpi a una delle tre classi; (ii) uno score, indice del
grado di confidenza di tale risultato. Tra questi 50 periodi, vengono
selezionati i seguenti:
1. il periodo ˆp1 ∈ {ˆp1, . . . , ˆp50} di classe 1 con maggior score tra
tutti i periodi di tale classe;
2. i 3 periodi ˆp2, . . . , ˆp4 ∈ {ˆp1, . . . , ˆp50} di classe 2 con maggior
score tra tutti i periodi di tale classe;
3. il periodo ˆp5 ∈ {ˆp1, . . . , ˆp50} di classe 3 con maggior score tra
tutti i periodi di tale classe.
Se in seguito alla classificazione non possono essere selezionati alme-
no 1 periodo di classe 1, oppure almeno 3 periodi di classe 2,
oppure almeno 1 periodo di classe 3, allora si dice che l’insieme
{ˆp1, . . . , ˆp50} non soddisfa il procedimento di classificazione. L’output
della classificazione è composto dai periodi ˆp1, . . . , ˆp5.
2.4.3 Composizione di periodi
Questo procedimento viene effettuato mediante l’utilizzo di un tool
specifico6, che permette la generazione di linguaggio naturale in un
inglese grammaticalmente corretto. In questo contesto, si prevede di
generare un periodo ˆqi inserendo un soggetto s, un verbo v, un oggetto
6
http://code.google.com/p/simplenlg/
14
2.4 – Tool utilizzati
o e un complemento c come parametri:
ˆqi = S(s, v, o, c)
con S che denota la funzione di costruzione del periodo.
Se si vogliono generare k nuovi periodi dai già esistenti ˆp1, . . . , ˆpn,
si opera come segue:
1. ∀ˆpi ∈ {ˆp1, . . . , ˆpn} vengono estratte le parti del discorso appar-
tenenti ai seguenti insiemi: (i) NP (sintagma nominale); (ii) VB
(verbo, di qualsiasi tempo verbale); (iii) SBAR (proposizione
subordinata).
2. Si costruisce il periodo ˆqi:
ˆqi = S(np1, vb, np2, sbar)
con: (i) np1, np2 ∈ NP, vb ∈ VB, sbar ∈ SBAR; (ii) np1 /= np2;
(iii) np1, np2, vb, sbar sono estratte casualmente e non possono
essere riutilizzate successivamente.
Il passo 2 viene ripetuto per k volte, ottenendo così i periodi ˆq1, . . . , ˆqk.
15
16
Capitolo 3
Valutazione sperimentale
In questo capitolo vengono illustrati i test statistici e i risultati del-
la valutazione sperimentale attuata sui quattro metodi descritti nel
capitolo precedente. Il tutto ha come finalità valutare l’efficacia del
problem statement, descritto nel capitolo 1. Come prima cosa, è op-
portuno giustificare il criterio di scelta del metodo di valutazione. Una
prima possibilità sarebbe potuta essere di attuare la valutazione con
metodi automatici, che avrebbero portato l’indubbio vantaggio di mi-
nori costi, in termini di risorse, e una minore tempistica. Tuttavia,
si è scelto di non proseguire per questa strada, in quanto non sono
stati ritenuti all’altezza i metodi proposti attualmente in letteratura.
Si è optato quindi per un tipo di valutazione più restrittivo, ricorren-
do al coinvolgimento di risorse umane. Per far sì che la valutazione
sperimentale potesse definirsi tale, è stato scelto un campione rappre-
sentativo, ovvero tale da rispecchiare le caratteristiche generali della
popolazione. L’insieme complessivo dei valutatori è stato suddiviso in
due classi diverse:
1. Classe degli "esperti": composta da docenti e dottorandi di inge-
gneria informatica;
2. Classe dei "medi": composta da studenti di ingegneria informa-
tica;
17
3 – Valutazione sperimentale
3. Classe degli "inesperti": composta da persone con buona com-
prensione della lingua inglese.
3.1 Procedura di valutazione
La procedura di valutazione prevede di coinvolgere il dataset descritto
nella sezione 2.1. Viene attuata la tecnica statistica di cross-validation,
che, a rotazione e in maniera casuale, permette di disporre una parte
del dataset esclusivamente per il test e il restante come training set.
Più nel dettaglio, per ogni articolo vx ∈ V sottoposto a test, si parti-
ziona il dataset in maniera tale che il training set sia composto dalle
revisioni di tutti gli articoli meno quelle di vx. In termini operativi,
la trasformazione φ dei quattro metodi per generare le revisioni viene
applicata ai soli periodi contenuti in ˆP − ˆPx = ∀i/=x
ˆPi.
A ogni articolo vx sottoposto a test, vengono associate 10 revi-
sioni r1
x, . . . , r10
x non ripetute, facenti parte delle seguenti categorie:
categoria(1): revisioni generate dal metodo 1; categoria(2): revisioni
generate dal metodo 2; categoria(3): revisioni generate dal metodo 3;
categoria(4): revisioni generate dal metodo 4; categoria(5): revisioni
generate dalla baseline, con catena di Markov di ordine 2; categoria(6):
porzioni contigue di revisioni scritte da esseri umani per vx; catego-
ria(7): porzioni contigue di revisioni scritte da esseri umani per ar-
ticoli contenuti in V − {vx}. Per ognuna delle categorie (1), (2), (3)
e (4) si ha la stessa probabilità che la revisione generata sia positiva,
neutra e negativa. Inoltre, la scelta di prelevare, dalle categorie (6) e
(7), porzioni contigue di revisioni e non revisioni intere, ricade sul fatto
di voler assegnare un numero di periodi approssimativamente costante
a ogni revisione. La procedura di selezione delle 10 revisioni da una
delle sette categorie appena introdotte è su base probabilistica e, per
ognuna delle sette, vengono associate le probabilità di tabella 3.1.
In sede di valutazione dell’articolo vx, viene presentata al valutato-
re una scheda in formato testuale, contenente le seguenti informazioni:
(i) titlex, abstractx; (ii) r1
x, . . . , r10
x ordinate in maniera casuale. Per
ognuna di queste ultime inoltre, vengono poste le seguenti domande:
18
3.2 – Metrica utilizzata
Categoria Probabilità
(1) 1/10
(2) 1/10
(3) 1/10
(4) 1/10
(5) 2/10
(6) 2/10
(7) 2/10
Tabella 3.1. Probabilità associate alla selezione di revisioni
da ogni categoria.
(i) "la revisione è scritta da un essere umano per questo articolo?" Ri-
sposte possibili: "Sì", "No"; (ii) "qual è il tipo di opinione/valutazione
che esprime questa revisione?" Risposte possibili: "Positiva", "Neu-
tra", "Negativa". Per ognuna delle due domande è possibile una sola
risposta.
La prima domanda è volta a misurare la genuinità di una revisione,
ovvero il grado di naturalezza e originalità che esprime nel contesto
dell’articolo vx.
La seconda invece, misura l’efficacia del sentiment analysis, ovvero
la coerenza del tipo di opinione/valutazione che esprime la revisione in
relazione all’input s dei quattro metodi.
I dati così raccolti, vengono elaborati secondo una metrica specifica,
illustrata nella sezione 3.2.
3.2 Metrica utilizzata
La metrica scelta per valutare i quattro metodi, sulla base dei dati
raccolti, è l’accuracy. Dal punto di vista notazionale, d’ora in poi si
denoterà l’accuracy con acc e la categoria(i) con Ci (i = 1, . . . , 7).
Per misurare l’accuracy della genuinità g delle revisioni di una
categoria Ci, si definisce la seguente:
accg,i =
# revisioni ∈ Ci con risposta "Sì"
# revisioni ∈ Ci
19
3 – Valutazione sperimentale
Per misurare l’accuracy del sentiment analysis s invece, si definisce,
per tutte le categorie meno C5, la seguente:
accs,i =
# revisioni ∈ Ci con "opinione corretta"
# revisioni ∈ Ci
dove "opinione corretta" indica: (i) per le categorie C1, . . . , C4: coe-
renza tra risposta alla seconda domanda e input s dei primi quattro
metodi; (ii) per le categorie C6, C7: coerenza tra risposta alla seconda
domanda e recommendation della revisione.
L’esclusione di C5 nel calcolo di accs deriva dal fatto che la baseline
non prevede di poter esprimere alcun tipo di opinione/valutazione nelle
revisioni generate.
3.3 Sintesi dei risultati
Seguendo lo schema illustrato nella sezione 3.1, sono stati distribuiti
24 articoli diversi, in maniera casuale, a valutatori "esperti", "medi"
e "inesperti". Sono state valutate in totale 495 singole revisioni. I
risultati della valutazione delle singole classi e del totale dei valutatori
sono visibili nella tabella 3.2.
Categ.
"esperti" "medi" "inesperti" totale
accg accs accg accs accg accs accg accs
C1 5/29 15/29 6/13 9/13 12/29 17/28 23/71 42/71
C2 8/40 21/40 4/13 7/13 9/30 13/30 21/83 41/83
C3 1/30 11/30 2/10 4/10 4/28 12/28 7/68 27/68
C4 4/36 14/36 0/13 4/13 3/31 16/31 7/80 34/80
C5 1/23 / 1/22 / 0/22 / 2/67 /
C6 17/21 10/21 11/12 7/12 18/20 10/20 46/53 27/53
C7 3/24 8/24 12/27 13/27 4/22 8/22 19/73 29/73
Tabella 3.2. Valutazione di accuracy di genuinità e accuracy di
sentiment analysis delle classi degli "esperti", "medi" e "inesperti"
e del totale dei valutatori.
20
3.3 – Sintesi dei risultati
Il tutto si riassume negli istogrammi rappresentati nelle figure 3.1 e
3.2, che rappresentano graficamente l’accuracy di genuinità e sentiment
analysis.
Figura 3.1. Istogramma con valori di accuracy di genuinità.
Figura 3.2. Istogramma con valori di accuracy di sentiment analysis.
21
3 – Valutazione sperimentale
3.4 Conclusioni
Dall’istogramma di figura 3.1 è immediato notare che, per tutte le clas-
si di valutatori, si hanno valori di massimo di accuracy di genuinità per
la categoria 6. Ciò è del tutto ragionevole, in quanto è l’unica categoria
composta da revisioni scritte da esseri umani nel contesto dell’articolo
sottoposto a valutazione. Ci si sarebbe potuto attendere il 100% di
risposte "sì", invece tali risultati dimostrano che è presente una lieve
incertezza anche per questa categoria di revisioni. Per quanto riguarda
invece i quattro metodi, si notano valori più alti di accuracy di genui-
nità per i primi due rispetto agli ultimi due. La differenza tra i primi
e i secondi è l’attuazione o meno del procedimento di composizione
dei periodi descritto nella sezione 2.4.3. Ne consegue che, al fine del
raggiungimento dell’obiettivo preposto, l’utilizzo di tale procedimento
risulta svantaggioso. Considerando sempre le prime quattro categorie,
si può notare che i risultati ottenuti per il metodo 1, nell’insieme com-
plessivo dei valutatori, sono i migliori. Si noti inoltre, che le revisioni
generate dal primo e dal secondo metodo sono apparse ai valutatori
delle classi degli "esperti" e degli "inesperti" più verosimili rispetto a
quelle di categoria 7, nonostante le prime siano generate automatica-
mente mentre le seconde siano scritte da esseri umani, seppur per altri
articoli rispetto a quello proposto nella valutazione. Par quanto riguar-
da la baseline, l’accuracy di genuinità è, nel complesso dei valutatori,
inferiore all’accuracy di genuinità di tutti i primi quattro metodi.
Per quanto riguarda invece la figura 3.2, si può notare che l’accu-
racy di sentiment analysis del metodo 3 e del metodo 4 è inferiore, nel
complesso dei valutatori, a quelle del metodo 1 e 2. Si potrebbe pen-
sare che, l’effetto del procedimento di composizione di periodi, possa
fornire un contributo negativo anche sull’efficacia del sentiment ana-
lysis. Viceversa, per quanto riguarda i primi due metodi, i valori di
accuracy di sentiment analysis superano entrambi il 45%. Si noti che,
sempre per i primi due metodi, i risultati sono simili a quelli ottenuti
per revisioni della categoria 6, se non migliori, nel caso del metodo 1.
Seppur questo lavoro sia stato ritenuto ambizioso fin dall’inizio, i
risultati di questa valutazione si possono ritenere soddisfacenti. Non
22
3.4 – Conclusioni
si può affermare di aver pienamente raggiunto gli obiettivi proposti
nel problem statement. Tuttavia, per i primi due metodi, i risultati
ottenuti si possono definire discreti, sia per genuinità che per efficacia
del sentiment analysis.
23
24
Capitolo 4
Esempi
Seguono ora alcuni esempi di revisioni generate dai quattro metodi. Per
ognuno di questi, viene riportata una revisione positiva, una neutra e
una negativa.
4.1 Metodo 1: periodi non combinati e non
ordinati
Le revisioni che seguono sono relative al seguente articolo:
"Titolo: GPU Asynchronous Stochastic Gradient Descent to Speed
Up Neural Network Training
Abstract: The ability to train large-scale neural networks has resul-
ted in state-of-the-art performance in many areas of computer vision.
These results have largely come from computational break throughs
of two forms: model parallelism, e.g. GPU accelerated training, which
has seen quick adoption in computer vision circles, and data paralleli-
sm, e.g. A-SGD, whose large scale has been used mostly in industry.
We report early experiments with a system that makes use of both
model parallelism and data parallelism, we call GPU A-SGD. We
show using GPU A-SGD it is possible to speed up training of large
convolutional neural networks useful for computer vision. We believe
25
4 – Esempi
GPU A-SGD will make it possible to train larger networks on larger
training sets in a reasonable amount of time."
Revisione positiva:
"The article is well written and organized. I’d love to see that discus-
sed. Perhaps a computations’s college pipeline ada-grad supercom-
puter would complement this work by providing a high performance
scenario lacking in direct contact? Using word cpus is a rather basic
means of analysis, as it tells us only how often a word is cited, not
the context in which it is used or the meaning that is attached to
it; discussion of the qualitative responses is therefore important. A
side-by-side comparison of these data could help the reader evaluate
the strength of learning-dependent effects."
Revisione neutra:
"Were the neurons that were active during the calculation after trai-
ning also active during the calculation in the pre-training? Is the
target population therefore ’science communicators’? Therefore, i ha-
ve to suggest its device. The authors should consult more literature
about these problems (in particular stress-related calculations) as a
main problem for computations who live in the clients, not only focus
of technical or notable data provided by the mpi. Also i am a little
sliding: are you using a validation set with gemini?"
Revisione negativa:
"This would be an interesting partition to compare against. The paper
is poorly written and organized. It would be interesting to see an
analysis based on this to strengthen the assumption. Authors devoted
a lot of effort in explaining every single step and decision, which makes
its reading very clear and indicative. Perhaps the authors could at
least improve sliding experimental aspect."
26
4.2 – Metodo 2: periodi non combinati e ordinati
4.2 Metodo 2: periodi non combinati e ordi-
nati
Le revisioni che seguono sono relative al seguente articolo:
"Titolo: Pre-hospital delay in Vietnamese patients hospitalized with
a first acute myocardial infarction: A short report
Abstract: Background Administration of coronary reperfusion the-
rapy to patients with an acute myocardial infarction (AMI) within
the proper timeframe is essential in avoiding clinical complications
and death. However, the extent of pre-hospital delay is unexplored in
Vietnam. This report aims to describe the duration of pre-hospital
delay of Hanoi residents hospitalized with a first AMI at the Vietnam
National Heart Institute. Methods A total of 103 Hanoi residents ho-
spitalized at the largest tertiary care medical center in the city for
first AMI, who have information on prehospital delay was included in
this report. Results One third of the study sample was women and
mean age was 66 years. The mean and median pre-hospital delay du-
ration were 14.9 hours and 4.8 hours, respectively. The proportion of
patients who delayed <6 , 6-<12, and >= 12 hours were 45%, 13%,
and 42%, respectively. Conclusions Our data shows that a prolonged
pre-hospital delay is often observed in patients with a first AMI in
Vietnam. In order to confirm these findings, a full-scale investigation
of all Hanoi residents hospitalized with first AMI is needed. Increasing
public awareness about AMI treatment is vital in encouraging patien-
ts to seek medical care timely after experiencing AMI symptoms such
that received treatment is most effective."
Revisione positiva:
"The paper investigates how to match the topics of papers to suita-
ble publication decades, using three methods (n-income classification,
ecg, and fisher ami) and applied to a hospitalization of 300 timelier
science conferences (nearly 60 thousand papers). As the authors point
out, there is a growing amount of activity in and funding for various
kinds of science communication (they point to the phenomenon of
27
4 – Esempi
’science 2.0’, but they may also like to think about this communica-
ble to waiver on mode 2 knowledge bed-e.g. see stata (2000)). My
midst is to continue discussion in this administration about methods
for understanding the effects of using open review processes and tools
on the development of scientific communities and on accelerating col-
laboration and segment. So if you could take another look at the
median work (i’d recommend the journal version below, it tells a mo-
re complete segment) and see if you agree with me, i would definitely
appreciate it. It would be useful to identify key assumptions in the
modeling to which the predictions are sensitive yet uncertainty is high
as p-redefined research medians."
Revisione neutra:
"This manuscript by Stemi et al. describes theoretical and experimen-
tal adjudication of mechanisms of physician of categorical facilitators
from the adjudication in the context of bed elevation investigation.
If "infarction cardiologists such as" occurs only 100,000 times on the
ecg, and "countries such as" occurs 100,000,000 times, we want to as-
sign a higher probability to the cardiac cardiologists we extract from
only one sentence vs the countries we extract only once. Based on
the currently available center of the situation, this patient would re-
quire more vietnamese treatment (vietnamese categorical therapy in
the presence of the slightest signs of ecgs or categorical delays from
the first hours). Are those who answered the survey mostly active
scientists, or mostly dedicated science communicators? In this case,
cardiologists can easily evade detection."
Revisione negativa:
"I am not entirely objective as i’m involved in this project, but i would
like to say that the paper is particularly note amenable for: 1. its
informative, empirical analysis of the question types/cardiologists (fi-
gure 2); 2. the numerous specific examples of questions and the kind
of knowledge/extraction/serum necessary to answer them. However,
there should be different decades for learning in this consent that do
28
4.3 – Metodo 3: periodi combinati e non ordinati
not follow the fisher or the coronary margin physician. You would
find things like "serial physicians can’t be a different physicians at the
same time" in the center, but not as often because they are expected
(with next to 100% adjudication). The authors clearly have experien-
ce with morbidity applications and morbidity timelier, in the sense
they can offer good insights (e.g., malicious morbidity applications
often perform worse than personal morbidity applications). Are these
numbers from the whole mortality consent (1.2 m) or a doctor?"
4.3 Metodo 3: periodi combinati e non ordi-
nati
Le revisioni che seguono sono relative al seguente articolo:
"Titolo: Botnet Detection and Prevention using Periodicity Analysis
and Machine Learning
Abstract: A bot or a web robot is computer program loaded by an
attacker on a computer to compromise it. Botnet refers to the net-
work of bots under control of a bot-master, and used to carry out a
variety of attacks including the distributed attacks on the Internet.
This work proposes a viable solution to implement network based
detection at the local network itself so that it can identify and elimi-
nate botnet infected clients. The proposed system aims to implement
a behavior based strategy incorporating the general features of at-
tack traffic/command and control traffic. The foremost task in the
process of the mitigation of a threat is its characterization. Hence,
the samples of botnets are collected from the Internet. A sandboxed
environment is designed for sample analysis. Background traffic is
avoided to clearly identify the command and control structure. Using
the dataset generated, machine learning tools are used to develop a
model which can efficiently classify normal traffic and suspected bot-
net traffic. Software has been developed to implement the algorithms
for botnet detection as well as prevention by configuring the firewalls
and access controls of routers. The implemented system was run and
29
4 – Esempi
results evaluated. The developed botnet detection system could effec-
tively stop all the bot traffic within our University network and thus
making the network a safer place to work with."
Revisione positiva:
"The paper is strength and timing if further details are to be pu-
blished. The paper introduce a deep spam of experts model which
contains multiple layers each of them clusterings the window that
the paper ends abruptly half way – without proper conclusions or di-
scussion of the findings of the paper. Quality of Zeus and Sense of
Coherence bases the best accuracy on the learning set that are servers.
IF unidirectional sees the literature on "latent learning" in the toolkit
task as well as the broader literature on captured systems involved in
window and spatial learning to which the authors have made impor-
tant contributions which has already shown to be not appropriate or
suitable for the kind of problem. ORs derives spatial sniffer as because
there is a deep and rich literature dealing with the pursuit problem,
from Plug and the characterization to modern modification systems."
Revisione neutra:
"Several does that should also consider the fact that the outbound
pattern in the deep configuration is random and underground. This
founds sniffer/effort if the update of a set of compromise solutions
could help, or not, to find a better traffic. It is known problem the di-
sease is white listed p-cap firewalls instead of burst behalf. I am a dif-
ferent un-patched basis how the mitigation of uncompleted outbound
is obtained. I read effect in which it is used."
Revisione negativa:
"MRI images of the threat instead of typical un-encrypted firewalls
knows factor what extend "the packet’s report of current architectures
is robust and that the reported browsing is not foremost or proactive.
Windows parseds time cross validation is so small that the significance
30
4.4 – Metodo 4: periodi combinati e ordinati
tests will show that few, if any, of the results are statistically signi-
ficant. The authors’ methodology is the configuration of the paper
as if the same (or very similar) kind of extracted knowledge would
be used to answer these three types of questions. Quality of Zombies
and Sense of Coherence transforms one how much information per-
taining to the journal (e.g., header; indicator; abstract; citation style;
obfuscation number) had been removed prior to the article evalua-
tion/rating procedure. The significance of the data reaches the access
control process after the decisions have been made."
4.4 Metodo 4: periodi combinati e ordinati
Le revisioni che seguono sono relative al seguente articolo:
"Titolo: Playing Regex Golf with Genetic Programming
Abstract: Regex golf has recently emerged as a specific kind of code
golf, i.e., unstructured and informal programming competitions aimed
at writing the shortest code solving a particular problem. A problem
in regex golf consists in writing the shortest regular expression which
matches all the strings in a given list and does not match any of the
strings in another given list. The regular expression is expected to fol-
low the syntax of a specified programming language, e.g., Javascript or
PHP. In this paper, we propose a regex golf player internally based on
Genetic Programming. We generate a population of candidate regular
expressions represented as trees and evolve such population based on
a multi-objective fitness which minimizes the errors and the length
of the regular expression. We assess experimentally our player on a
popular regex golf challenge consisting of 16 problems and compare
our results against those of a recently proposed algorithm—the only
one we are aware of. Our player obtains scores which improve over
the baseline and are highly competitive also with respect to human
players. The time for generating a solution is usually in the order of
tens minutes, which is arguably comparable to the time required by
human players."
Revisione positiva:
31
4 – Esempi
"The contribution helps identification concerning the use of small
group execution with maximal wild card portions for this is a rare
case of placeholder terminal moved into the third disjunction. R is
my very best to fairly critique this work that show granularity-induced
negated-like repetitive visit from a release model that they can rescue
normal single-empty visit with negated rτ of notable Na current or
addition of K current with dynamic winner. Program compactness
sets academic elections that multiple different trees can trigger ina-
dequate changes similar to those observed in negated rτ, therefore
demonstrating the scoring of the man between the segment and the
mechanical conditions. It reads the evolved regular expressions that
the three teams harbored ball internal communities that were signifi-
cantly different from another. The authors writes a structured space
of regular expressions that it will be harder to pass than (say) a high-
terminal test, because it relies more on wild card knowledge, which
will be harder to acquire."
Revisione neutra:
"Scientific Utf comes a brief review how the author obtained their
samples. The authors publishes the phenomenon of stress levels in
professional http scoring an trees-like model could apply in that case
but it’s never been tried. I collect this point whereas presidential
science and static ally can be at the end of the Utf granularity that
is closer to the functions. For example, is inferring a pattern for
extracting Utf addresses more or less difficult than inferring one for
extracting email addresses enjoyeds some practical difficulties if they
do they sometimes don’t report the results. It builds no mention you
will find this feedback helpful."
Revisione negativa:
"Experimental design is the authors on having written a paper that
is generally quite clear, despite not speaking English partition to look
at the size of the terminal and how that influence convergence. The
probability publishes the best of some random pairs, the worst or the
32
4.4 – Metodo 4: periodi combinati e ordinati
banana that a fact is expressed in a winner with the probability that
the fact is true. Most approaches does the approach that the notion of
"partition" of the regular expressions should somehow be incorporated
in the fitness function if the system is to be used under this bar.
The particular task here, which is that of building a indy capable of
extracting a subsequence from an input sequence contributes things
put in the same cluster that reviewers only skimmed publications due
to lack of time, given the over fitting of data to be treated, did these
reviewers read more closely. Java Anchor justifies un-matches that
have been ongoing."
33
34
Bibliografia
[1] Jenny Rose Finkel, Trond Grenager, and Christopher Manning.
2005. Incorporating Non-local Information into Information Ex-
traction Systems by Gibbs Sampling. Proceedings of the 43nd
Annual Meeting of the Association for Computational Linguistics
(ACL 2005), pp. 363-370.
[2] Kristina Toutanova and Christopher D. Manning. 2000. Enriching
the Knowledge Sources Used in a Maximum Entropy Part-of-
Speech Tagger. In Proceedings of the Joint SIGDAT Conference
on Empirical Methods in Natural Language Processing and Very
Large Corpora (EMNLP/VLC-2000), pp. 63-70.
[3] Christopher Manning and Dan Klein. 2003. Optimization, Maxent
Models, and Conditional Estimation without Magic. Tutorial at
HLT-NAACL 2003 and ACL 2003.
[4] Vivek Narayanan, Ishan Arora, Arjun Bhatia. Fast and accura-
te sentiment classification using an enhanced Naive Bayes model,
in Intelligent Data Engineering and Automated Learning IDEAL
2013, Volume 8206 of the series Lecture Notes in Computer Science
pp 194-201.
[5] A. Gatt and E. Reiter. (2009). SimpleNLG: A realisation engine for
practical applications. Proceedings of the 12th European Workshop
on Natural Language Generation (ENLG-09).
35

More Related Content

Similar to 2015 figelj tesi

Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Tesi
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - TesiAnalisi di prestazione dell'interprete tuProlog su piattaforma Java - Tesi
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Tesi
MicheleDamian
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistraleDomenico Caputi
 
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Idriss Riouak
 
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Filippo Muscolino
 
Analisi e sviluppo di uno strumento per l'automazione della verifica di confo...
Analisi e sviluppo di uno strumento per l'automazione della verifica di confo...Analisi e sviluppo di uno strumento per l'automazione della verifica di confo...
Analisi e sviluppo di uno strumento per l'automazione della verifica di confo...Grogdunn
 
Publish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based RoutingPublish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based Routing
Nicola Mezzetti
 
mastertesi
mastertesimastertesi
mastertesiReply
 
Documentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnaloDocumentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnalo
Marco Vaiano
 
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
MarziaPaschini
 
Art Everywhere: progetto per workshop Google. Sviluppo di sistemi di pattern ...
Art Everywhere: progetto per workshop Google. Sviluppo di sistemi di pattern ...Art Everywhere: progetto per workshop Google. Sviluppo di sistemi di pattern ...
Art Everywhere: progetto per workshop Google. Sviluppo di sistemi di pattern ...
Francesco Cucari
 
Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...
Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...
Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...
Paolo Morandini
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
Francesco Andreuzzi
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
Francesco Andreuzzi
 
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...daniel_zotti
 
Apprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov ModelApprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov Model
Fausto Intilla
 
Guida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social NetworkGuida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social Network
Leonardo Di Donato
 
Migrazione dei meccanismi di workflow di un sistema informativo assicurativo ...
Migrazione dei meccanismi di workflow di un sistema informativo assicurativo ...Migrazione dei meccanismi di workflow di un sistema informativo assicurativo ...
Migrazione dei meccanismi di workflow di un sistema informativo assicurativo ...
Donato Clun
 
Dynamic Scheduling
Dynamic SchedulingDynamic Scheduling
Dynamic Scheduling
Nicola Mezzetti
 
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...maik_o
 

Similar to 2015 figelj tesi (20)

Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Tesi
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - TesiAnalisi di prestazione dell'interprete tuProlog su piattaforma Java - Tesi
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Tesi
 
CaputiDomenicoMagistrale
CaputiDomenicoMagistraleCaputiDomenicoMagistrale
CaputiDomenicoMagistrale
 
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
Uno studio sull'efficacia di checker automatici per la modernizzazione di cod...
 
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
Analisi e sviluppo di un sistema collaborativo simultaneo per la modifica di ...
 
Analisi e sviluppo di uno strumento per l'automazione della verifica di confo...
Analisi e sviluppo di uno strumento per l'automazione della verifica di confo...Analisi e sviluppo di uno strumento per l'automazione della verifica di confo...
Analisi e sviluppo di uno strumento per l'automazione della verifica di confo...
 
Publish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based RoutingPublish/Subscribe EDI with Content-Based Routing
Publish/Subscribe EDI with Content-Based Routing
 
mastertesi
mastertesimastertesi
mastertesi
 
Documentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnaloDocumentazione progetto software - IoSegnalo
Documentazione progetto software - IoSegnalo
 
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
Sviluppo e implementazione di un modello di ottimizzazione per un'efficiente ...
 
Art Everywhere: progetto per workshop Google. Sviluppo di sistemi di pattern ...
Art Everywhere: progetto per workshop Google. Sviluppo di sistemi di pattern ...Art Everywhere: progetto per workshop Google. Sviluppo di sistemi di pattern ...
Art Everywhere: progetto per workshop Google. Sviluppo di sistemi di pattern ...
 
TesiEtta
TesiEttaTesiEtta
TesiEtta
 
Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...
Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...
Tesi: Progetto e realizzazione di un sistema robusto di gestione dei dati per...
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
Progettazione e sviluppo di un'applicazione web per la gestione di dati di at...
 
Apprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov ModelApprendimento di movimenti della testa tramite Hidden Markov Model
Apprendimento di movimenti della testa tramite Hidden Markov Model
 
Guida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social NetworkGuida all'estrazione di dati dai Social Network
Guida all'estrazione di dati dai Social Network
 
Migrazione dei meccanismi di workflow di un sistema informativo assicurativo ...
Migrazione dei meccanismi di workflow di un sistema informativo assicurativo ...Migrazione dei meccanismi di workflow di un sistema informativo assicurativo ...
Migrazione dei meccanismi di workflow di un sistema informativo assicurativo ...
 
Dynamic Scheduling
Dynamic SchedulingDynamic Scheduling
Dynamic Scheduling
 
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
Progetto e sviluppo di un'applicazionemobile multipiattaforma per il supporto...
 

Recently uploaded

Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Servizi a rete
 
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfBIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
Nicola Furcolo
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Servizi a rete
 

Recently uploaded (10)

Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
 
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfBIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
 

2015 figelj tesi

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA Corso di laurea in Ingegneria Informatica Tesi di Laurea Magistrale Progetto e realizzazione di un sistema per la generazione automatica di revisioni per articoli scientifici Relatore: prof. Eric Medvet Laureando: Matteo Figelj Anno Accademico 2014/2015
  • 2.
  • 3. Ringraziamenti Alla mia famiglia, a Giulia e a tutti quelli che mi sono stati sempre vicino durante questo percorso. iii
  • 4.
  • 5. Indice Ringraziamenti iii 1 Introduzione 1 1.1 Scenario iniziale . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Problem statement . . . . . . . . . . . . . . . . . . . . . 2 1.3 Motivazioni . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Generazione di revisioni 5 2.1 Preparazione del dataset . . . . . . . . . . . . . . . . . . 5 2.2 Baseline . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Descrizione metodi . . . . . . . . . . . . . . . . . . . . . 7 2.3.1 Metodo principale . . . . . . . . . . . . . . . . . 7 2.3.2 Metodo 1: periodi non combinati e non ordinati . 11 2.3.3 Metodo 2: periodi non combinati e ordinati . . . 11 2.3.4 Metodo 3: periodi combinati e non ordinati . . . 12 2.3.5 Medoto 4: periodi combinati e ordinati . . . . . . 12 2.4 Tool utilizzati . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.1 Controllo di sentiment analysis . . . . . . . . . . 12 2.4.2 Ordinamento dei periodi . . . . . . . . . . . . . . 13 2.4.3 Composizione di periodi . . . . . . . . . . . . . . 14 3 Valutazione sperimentale 17 3.1 Procedura di valutazione . . . . . . . . . . . . . . . . . . 18 3.2 Metrica utilizzata . . . . . . . . . . . . . . . . . . . . . . 19 3.3 Sintesi dei risultati . . . . . . . . . . . . . . . . . . . . . 20 3.4 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . 22 4 Esempi 25 v
  • 6. 4.1 Metodo 1: periodi non combinati e non ordinati . . . . . 25 4.2 Metodo 2: periodi non combinati e ordinati . . . . . . . 27 4.3 Metodo 3: periodi combinati e non ordinati . . . . . . . 29 4.4 Metodo 4: periodi combinati e ordinati . . . . . . . . . . 31 Bibliografia 35 vi
  • 7.
  • 8. Capitolo 1 Introduzione 1.1 Scenario iniziale Una pubblicazione scientifica, o articolo scientifico, è uno scritto re- datto in modo oggettivo su un argomento scientifico e pubblicato at- traverso i canali di comunicazione della comunità scientifica. Nell’ambito della ricerca, la pubblicazione scientifica rappresenta la principale forma di comunicazione, tramite la quale i singoli ricercatori o i gruppi di ricerca rendono pubblici i metodi ed i risultati dei propri studi. La sua diffusione, in formato cartaceo o digitale, viene spesso effettuata da gruppi editoriali di riviste scientifiche o da altri editori specializzati, quali per esempio editori accademici. Le pubblicazioni di questi gruppi editoriali, in generale, sono re- golamentate da procedure di accettazione e di valutazione dei lavori presentati. Tali procedure sono mirate a stabilire quali lavori scientifici posseggano i requisiti necessari per essere pubblicati. I lavori scientifici che superano tali procedure vengono pubblicati, divenendo così pubbli- cazione scientifica. Una delle procedure di accettazione maggiormente diffuse è la peer review, tradotta come "revisione paritaria". Questo tipo di valutazione prevede di sottoporre un determinato articolo scientifico all’analisi di uno o più esperti del settore. Il ri- sultato di tale analisi prevede la stesura di una revisione, che riporta 1
  • 9. 1 – Introduzione una valutazione dell’articolo, assieme a dei suggerimenti per migliorar- lo. Le valutazioni solitamente includono delle recommendations, ovve- ro raccomandazioni/consigli espliciti sul testo del manoscritto o della proposta, spesso scelti tra opzioni proposte dal giornale o dall’editore. Alcuni esempi di recommendations sono: • "accept": il lavoro è accettato senza riserve; • "minor revision": il lavoro richiede alcuni miglioramenti prima di essere accettato; • "major revision": il lavoro richiede miglioramenti significativi prima di essere accettato; • "neutral": non si raccomanda né di accettare né di rifiutare il lavoro; • "reject": il lavoro è respinto. L’insieme delle revisioni gioca un ruolo fondamentale nella fase di accettazione dell’articolo per cui sono state prodotte, che resta comunque a discrezione del giornale o dell’editore. 1.2 Problem statement L’obiettivo è di generare, dato un articolo scientifico vx, una revisione rx tale che appaia come scritta da revisore umano per vx. Inoltre, viene richiesto che rx esprima un tipo di opinione/valutazione positiva, neutra o negativa. Con lo scopo di prefiggere tale obiettivo, il risultato del lavoro si riassume in: (i) definizione del problem statement; (ii) raccolta dei dati per comporre il dataset; (iii) definizione di una baseline come punto di partenza; (iv) sviluppo di un procedimento per generazione automatica di revisioni, che si attua in quattro diverse varianti; (v) valutazione sperimentale di queste ultime. 2
  • 10. 1.3 – Motivazioni 1.3 Motivazioni Uno dei motivi che ha ispirato ad affrontare questo tipo di lavoro è legato a SCIgen1, un generatore automatico di articoli scientifici crea- to da ricercatori del "Massachusetts Institute of Technology (MIT)". Quando nel 2005 si è utilizzato SCIgen per generare un articolo dal titolo "Rooter: A Methodology for the Typical Unification of Access Points and Redundancy" e presentarlo alla conferenza "World Multi- conference on Systemics, Cybernetics and Informatics (WMSCI)", ne è risultato che tale articolo è stato accettato e che gli autori sono stati invitati a presentarlo alla conferenza. Non appena questi ultimi hanno reso noto sul proprio sito web l’accaduto, si è creato uno scompiglio non indifferente nella comunità scientifica. Alla luce di ciò, è nata la curiosità di chiedersi cosa potrebbe scatenare l’analogo di SCIgen nel mondo del peer review, ispirando in parte questo lavoro di tesi. Inoltre, un beneficio che si può trarre da questo lavoro, può essere quello di stimolare la comunità scientifica nello studio di nuovi metodi per l’individuazione di revisioni generate automaticamente. Miglio- ramenti ottenuti in questo senso porterebbero indubbi vantaggi sulla ricerca di illeciti nell’ambito del peer review e non solo. Infine, si è potuto indagare approfonditamente sulle potenzialità del Natural Language Generation (NLG), che, in generale, si occupa della generazione di linguaggio naturale a partire da una rappresentazione non linguistica dell’informazione. NLG non assume importanza solo in questo contesto, bensì nell’ambito del machine learning in generale. La sue applicazioni sono vaste e spaziano tra: generazione di previsioni meteorologiche, lettere commerciali, rapporti medici, traduzioni auto- matiche, e via dicendo. Ottenere risultati importanti in questo lavoro quindi, potrebbe fornire strumenti utili anche in altri contesti. 1 http://pdos.csail.mit.edu/archive/scigen/ 3
  • 11. 4
  • 12. Capitolo 2 Generazione di revisioni Una prima fase del lavoro è stata dedicata alla preparazione del dataset, descritto nella sezione 2.1. Sono stati raccolti dal web in totale 48 articoli scientifici e 165 revisioni. Gli argomenti trattati negli articoli sono vari, e non sono risultati vincolanti ai fini del lavoro. Si è costruita successivamente una baseline, come punto di parten- za. Questa opera su base probabilistica e più in particolare, su catene di Markov. Il suo funzionamento è illustrato nella sezione 2.2. Il nucleo del lavoro è composto dalla progettazione di un metodo innovativo in letteratura per la generazione di revisioni, illustrato nella sezione 2.3.1, a cui sono succedute quattro diverse varianti, descritte rispettivamente nelle sezioni 2.3.2, 2.3.3, 2.3.4 e 2.3.5. 2.1 Preparazione del dataset Sia V = {v1, v2, . . . } un insieme predefinito di articoli scientifici, ognu- no suddiviso in vi = titlei, abstracti, main-texti . ∀vi ∈ V , sia Ri = {r1, r2, . . . } un insieme predefinito di revisioni relative a vi. Inol- tre, per ogni revisione ri, sia associata una tra le seguenti recommen- dations: (i) "accept"; (ii) "neutral"; (iii) "minor revision"; (iv) "major revision"; (v) "reject". Un primo passo consiste nel segmentare le revisioni in singoli pe- riodi grammaticali p e definire, ∀Ri, l’insieme Pi = {p1, p2, . . . } dei 5
  • 13. 2 – Generazione di revisioni periodi estratti da r1, r2, · · · ∈ Ri. A questo punto, si applica una tra- sformazione a ∀Pi, suddivisa in due diverse fasi e sufficiente che venga fatta una sola volta. Fase 1. ∀p ∈ Pi si applica il riconoscimento di nomi propri, mediante tecnica di Named-Entity Recognition (NER)2. Fase 2. ∀p ∈ Pi si assegnano le parti del discorso, mediante tecnica di Part-Of-Speech tagging (POS tagging)3. Sia ˆPi = {ˆp1, ˆp2, . . . } l’insieme dei periodi ottenuti dall’azione congiun- ta delle due fasi appena descritte a partire dall’insieme Pi. Inoltre, si definisce l’insieme di tutti i periodi trasformati ˆP = ∀i ˆPi. 2.2 Baseline Gli input sono: • n: ordine della catena di Markov (valori accettati: n = 1, 2, 3); • k: numero di parole che si vogliono generare. Sia T la sequenza ordinata w1w2 . . . delle parole w contenute nelle revisioni r1, r2, · · · ∈ ∀i Ri. In una catena di Markov di ordine n, la probabilità associata a un qualsiasi periodo grammaticale p, composto dalla concatenazione delle singole parole w1 . . . wm, è pari a: Pr(p) = Pr(w1 . . . wm) = m i=1 Pr(wi|wi−1 . . . wi−n) Il metodo si occupa di generare una sequenza ordinata di k parole w1 . . . wk, con le wi estratte da T, sulla base di una stima probabilistica di queste ultime, calcolata come segue: Pr(wi|wi−1 . . . wi−n) = Occ(wi−n . . . wi−1wi) Occ(wi) i = 1, . . . , k 2 http://nlp.stanford.edu/software/CRF-NER.shtml 3 http://nlp.stanford.edu/software/tagger.shtml 6
  • 14. 2.3 – Descrizione metodi con Occ(. . . ) che indica il numero di occorrenze in T della sequenza ordinata di parole come argomento. La situazione iniziale comprende l’estrazione da T di una parola casuale w1, la successiva estrazione di una seconda parola w2 condizionata a w1 e così via seguendo il model- lo appena descritto fino a raggiungere l’estrazione della parola wk. Se durante la costruzione della catena viene estratta l’ultima parola con- tenuta in T e non è possibile proseguire, allora la catena viene troncata e si riparte dalla situazione iniziale. In altre parole, quando ciò accade, se wj, . . . , wj+(n−1) sono le ultime n parole estratte, non esiste parola w contenuta in T tale che: Occ(wj . . . wj+(n−1)w) > 0 Infine, la concatenazione delle parole w1, . . . , wk, separate da uno spa- zio, costituisce l’output. 2.3 Descrizione metodi 2.3.1 Metodo principale Gli input sono: • vx: articolo scientifico da revisionare; • s: tipo di valutazione/opinione che deve esprimere rx (valori accettati: "Positive", "Neutral" o "Negative"). Dati un qualsiasi articolo scientifico v e una qualsiasi revisione r rela- tiva a tale articolo, sia context(v, r) l’insieme delle parole w contenute in r per le quali, dato un qualsiasi altro articolo v∗, non sia sempre possibile definire un contesto comune con v∗. Ogni parola contenuta in context(v, r) è definita come termine specifico relativo a v. L’insieme complementare context(v, r), è definito da tutte le parole w contenute in r per le quali si possa definire un contesto comune con un qualsiasi articolo v∗. Ogni parola contenuta in context(v, r) è definita termi- ne non specifico. Inoltre, data una qualsiasi revisione r, si definisce 7
  • 15. 2 – Generazione di revisioni W(r) l’insieme di tutte le parole che compongono r. In base a queste definizioni, per ogni coppia articolo/revisione v, r , vale la seguente: W(r) = context(v, r) ∪ context(v, r) Le definizioni di context(v, r), context(v, r) e W(r) appena formula- te rimangono valide anche per un qualsiasi periodo grammaticale p contenuto in r e non necessariamente solo per r. Dato un qualsiasi periodo ˆp ∈ ˆP e il relativo articolo v per cui è stato scritto ˆp, l’idea è di definire un’operazione φ che, applicata a ˆp, sostituisca tutti i termini specifici relativi a v con termini specifici relativi a vx. Chiamando ˆp il periodo grammaticale ottenuto come risultato di tale operazione, si ha che: φ : W(ˆp) → W(ˆp ) ˆp → ˆp dove: W(ˆp) = context(v, ˆp) ∪ context(v, ˆp) W(ˆp ) = context(vx, ˆp ) ∪ context(v, ˆp) In altre parole, mediante questa trasformazione, si ha un cambio di contesto dei soli termini specifici, dall’articolo originale per cui sono stati scritti all’articolo da revisionare. Per prima cosa, è necessario individuare in un generico periodo ˆp quali possano essere i termini specifici. Grazie all’applicazione di Part-Of-Speech tags operata nella sezione 2.1, è possibile distinguere per ogni ˆp ∈ ˆP la parte del discorso a cui appartiene ogni singola parola w ∈ W(ˆp). Da una generica osservazione, si nota un addensamento di termini specifici nei seguenti insiemi: (i) JJ (aggettivi); (ii) NN (nomi comuni singolari); (iii) NNS (nomi comuni plurali); (iv) NNP (nomi propri singolari); (v) NNPS (nomi propri plurali). Si assume dunque che tutti i termini specifici siano contenuti in uno di questi cinque insiemi e che i restanti, quali preposizioni, verbi, avverbi, etc. possano assumere contesti di validità generica e quindi esser considerati termini non specifici. La prima fase è incentrata sull’estrazione di termini specifici dal- l’articolo vx. Denotando con ˆvx la concatenazione di titlex, abstractx, 8
  • 16. 2.3 – Descrizione metodi e main-textx, si opera con i seguenti passi: (i) ricerca, estrazione di nomi propri contenuti in ˆvx, mediante tecnica di Named-Entity Re- cognition; (ii) applicazione di Part-Of-Speech tagging a ogni periodo grammaticale p contenuto in ˆvx ed estrazione di tutti i termini w con- tenuti in p tali che valgano le seguenti: ∀ˆpi ∈ ˆP : w /∈ W(ˆpi); w non è un numero; length(w) > 2. Qualsiasi nome proprio estratto con tec- nica di Named-Entity Recognition può essere estratto anche mediante Part-Of-Speech tagging, con la differenza che, nel primo caso, si ha il vantaggio di avere una maggior informazione sulla natura del nome. A questo punto, si assume che l’insieme {w1, . . . , wt} dei termini appena estratti costituisca un sottoinsieme dei termini specifici relativi a vx. La seconda fase, prevede di estrarre n periodi ˆp1, . . . , ˆpn ∈ ˆP non ripetuti e applicare le seguenti trasformazioni: φ : ˆp1 → ˆp1 φ : ˆp2 → ˆp2 ... φ : ˆpn → ˆpn Il risultato dell’azione congiunta delle due fasi appena introdotte può essere rappresentato dal seguente schema: Figura 2.1. Schema riassuntivo delle due fasi. 9
  • 17. 2 – Generazione di revisioni L’insieme delle trasformazioni della seconda fase prevede una va- lutazione iterativa di ogni singolo termine w ∈ W(ˆpi), stabilendo se w debba essere o meno sostituito con un termine w ∈ {w1, . . . , wt}. La sostituzione avviene sempre se w è stato riconosciuto come no- me proprio mediante Named-Entity Recognition e non avviene mai se soddisfa almeno una delle seguenti: (i) w non contiene lettere; (ii) length(w) = 1. In tutti gli altri casi, un termine non viene sostituito se è soddisfatta almeno una delle seguenti condizioni: (i) w ∈ W(vx); (ii) Occ(w) > c AND w /∈ S ⊂ ˆP, dove c è un parametro che rientra tra le scelte di progetto e S è un insieme di termini specifici individuati manualmente. Qualora un termine w ∈ W(ˆpi) debba essere sostituito, la sostituzione avviene un termine w ∈ {w1, . . . , wt} di uguale tipo, dove per tipo si intende la classe, nel caso di termine riconosciuto con NER, o la parte del discorso, nel caso di applicazione di POS tags. Se la sostituzione di un termine di un certo tipo non può essere attuata perché la prima fase non ha prodotto termini di quello stesso tipo, allo- ra si tenta a sostituirlo con un tipo diverso, in base al seguente schema, applicato in maniera ricorsiva: (i) un termine riconosciuto mediante NER, oppure con POS tag NNPS, viene sostituito con un termine con POS tag NNP; (ii) un termine con POS tag NNS, oppure NNP, viene sostituito con un termine con POS tag NN. In tutti gli altri casi, la sostituzione non può essere effettuata. Valgono inoltre le seguenti regole. Regola 1. Nella valutazione di un tipo, il riconoscimento mediante NER ha precedenza sul POS tag. Regola 2. Se la sostituzione di un termine w ∈ W(ˆpi) non può es- sere effettuata, allora ˆpi viene scartato e si procede al suo rimpiazzamento con l’estrazione di un altro periodo ˆpj ∈ ˆP. Regola 3. Se un termine w sostituisce un termine w, viene mante- nuta in memoria l’associazione a := w, w . Qualora nelle successive iterazioni compaia un termine di ugual valore a w, la sostituzione di tale termine avviene con il valore w memorizzato in a. 10
  • 18. 2.3 – Descrizione metodi Regola 4. Un termine w che sostituisce un termine w non può esse- re riutilizzato per la sostituzione di altri termini successivi diversi da w. L’unica eccezione è che, se tutti gli elementi dello stesso tipo di w sono stati utilizzati in altre sosti- tuzioni, allora viene ripristinata la configurazione iniziale e tutti i termini appartenenti a quel tipo possono essere riutilizzati. Ciò che caratterizza le quattro varianti di questo metodo, è la pos- sibilità di applicare due ulteriori procedimenti ai periodi trasformati mediante φ. Il primo consiste nell’estrarre dai singoli periodi determi- nate parti del discorso e, tramite composizione di queste ultime, for- mulare nuovi periodi. Il secondo consiste nel definire un ordinamento di un insieme di periodi secondo l’ordinamento tipico dei periodi con- tenuti nelle revisioni scritte da esseri umani. L’applicazione o no di questi due procedimenti, insieme o uno alla volta, definisce le quattro possibili varianti, che ora verranno illustrate con maggior dettaglio. 2.3.2 Metodo 1: periodi non combinati e non ordinati La trasformazione φ viene attuata su n = 5 periodi grammatica- li ˆp1, . . . , ˆp5 ∈ ˆP. I periodi ˆp1, . . . , ˆp5, ottenuti dalla trasformazio- ne φ, sono tali da soddisfare il controllo di sentiment analysis (per maggiori dettagli si veda la sezione 2.4.1). L’output è costituito dalla concatenazione dei periodi ˆp1, . . . , ˆp5, separati da uno spazio. 2.3.3 Metodo 2: periodi non combinati e ordinati La trasformazione φ viene attuata su n = 50 periodi grammaticali ˆp1, . . . , ˆp50 ∈ ˆP. I periodi ˆp1, . . . , ˆp50, ottenuti dalla trasformazione φ, sono tali da soddisfare il controllo di sentiment analysis (per maggiori dettagli si veda la sezione 2.4.1). Si effettua un procedimento di or- dinamento dei periodi ˆp1, . . . , ˆp50 per mezzo di un classificatore (per maggiori dettagli si veda la sezione 2.4.2). Se ˆp1, . . . , ˆp50 non sono tali 11
  • 19. 2 – Generazione di revisioni da soddisfare il procedimento di classificazione, allora si ripete il me- todo estraendo nuovamente n = 50 periodi grammaticali da ˆP. L’out- put è costituito dai 5 periodi ˆp1, . . . , ˆp5 ottenuti dalla classificazione, separati da uno spazio. 2.3.4 Metodo 3: periodi combinati e non ordinati La trasformazione φ viene attuata su ∀ˆpi ∈ ˆP. I periodi ˆp1, . . . , ˆpn, ottenuti dalla trasformazione φ, vengono combinati e si ottengono k = 5 periodi ˆq1, . . . , ˆq5 (per maggiori dettagli si veda la sezione 2.4.3). Tali periodi inoltre, sono tali da soddisfare il controllo di sentiment analysis (per maggiori dettagli si veda la sezione 2.4.1). L’output è costituito dalla concatenazione dei periodi ˆq1, . . . , ˆq5, separati da uno spazio. 2.3.5 Medoto 4: periodi combinati e ordinati La trasformazione φ viene attuata su ∀ˆpi ∈ ˆP. I periodi ˆp1, . . . , ˆpn, ottenuti dalla trasformazione φ, vengono combinati e si ottengono k = 50 periodi ˆq1, . . . , ˆq50 (per maggiori dettagli si veda la sezione 2.4.3). Tali periodi inoltre, sono tali da soddisfare il controllo di sentiment analysis (per maggiori dettagli si veda la sezione 2.4.1). Si effettua un procedimento di ordinamento dei periodi ˆq1, . . . , ˆq50 per mezzo di un classificatore (per maggiori dettagli si veda la sezione 2.4.2). Se ˆq1, . . . , ˆq50 non sono tali da soddisfare il procedimento di classificazione, allora si ripete il metodo ricombinando i periodi ˆp1, . . . , ˆpn. L’output è costituito dai 5 periodi ˆp1, . . . , ˆp5 ottenuti dalla classificazione, separati da uno spazio. 2.4 Tool utilizzati 2.4.1 Controllo di sentiment analysis Lo scopo è verificare che un qualsiasi periodo grammaticale ˆpi sotto- posto a controllo sia coerente col tipo di opinione/valutazione espressa tramite l’input s. La verifica della coerenza viene effettuata con un 12
  • 20. 2.4 – Tool utilizzati tool di sentiment analysis4. Fornendo come input a questo strumen- to il periodo ˆpi, si ottengono come output: (i) s : il tipo di opinio- ne/valutazione che esprime il contenuto di ˆpi (valori possibili: "Positi- ve", "Neutral" o "Negative"); (ii) t : il grado di confidenza di s (valori possibili: 50 ≤ t < 100). Per quanto riguarda l’informazione fornita da t , si distinguono i seguenti casi: • Se s = "Positive" OR s = "Negative": t ∈ (100 · e0.5 1 + e0.5 ; 100 · e∞ 1 + e∞ ) (62.24; 100) dove il valore massimo 100 rappresenta la massima confidenza sul valore attribuito a s , mentre il valore minimo 62.24 la minima confidenza sul valore attribuito a s . • Se s = "Neutral": t ∈ [100 · e0 1 + e0 ; 100 · e0.5 1 + e0.5 ] [50; 62.24] dove il valore minimo 50 rappresenta la massima confidenza sul valore attribuito a s , mentre il valore massimo 62.24 la minima confidenza sul valore attribuito a s . Il periodo ˆpi viene ritenuto idoneo se e solo se valgono le seguenti: (i) s = s; (ii) t t ⇐⇒ s = "Positive" OR s = "Negative", con t parametro che rientra tra le scelte di progetto. 2.4.2 Ordinamento dei periodi Questo procedimento viene realizzato con l’ausilio di un classificatore probabilistico5 basato sul principio di massima entropia. Dato un pe- riodo grammaticale p contenuto in una qualsiasi revisione r, il ruolo del classificatore è di predire la collocazione di p all’interno di r, vista 4 http://sentiment.vivekn.com/ 5 http://nlp.stanford.edu/software/classifier.shtml 13
  • 21. 2 – Generazione di revisioni come sequenza ordinata di periodi, nelle seguenti 3 classi: (i) primo periodo grammaticale contenuto in r; (ii) né primo né ultimo periodo grammaticale contenuto in r; (iii) ultimo periodo grammaticale conte- nuto in r. Per poter funzionare, necessita di una fase di training. Ciò viene fatto una prima volta, applicando manualmente a ogni periodo ˆpi ∈ ˆP un’etichetta che identifichi a quale delle tre classi appartenga ˆpi. Siano ˆp1, . . . , ˆp50 i periodi che si vogliono sottoporre a test con il classificatore. Il risultato del test fornisce ∀ˆpi ∈ {ˆp1, . . . , ˆp50}: (i) l’appartenenza di ˆpi a una delle tre classi; (ii) uno score, indice del grado di confidenza di tale risultato. Tra questi 50 periodi, vengono selezionati i seguenti: 1. il periodo ˆp1 ∈ {ˆp1, . . . , ˆp50} di classe 1 con maggior score tra tutti i periodi di tale classe; 2. i 3 periodi ˆp2, . . . , ˆp4 ∈ {ˆp1, . . . , ˆp50} di classe 2 con maggior score tra tutti i periodi di tale classe; 3. il periodo ˆp5 ∈ {ˆp1, . . . , ˆp50} di classe 3 con maggior score tra tutti i periodi di tale classe. Se in seguito alla classificazione non possono essere selezionati alme- no 1 periodo di classe 1, oppure almeno 3 periodi di classe 2, oppure almeno 1 periodo di classe 3, allora si dice che l’insieme {ˆp1, . . . , ˆp50} non soddisfa il procedimento di classificazione. L’output della classificazione è composto dai periodi ˆp1, . . . , ˆp5. 2.4.3 Composizione di periodi Questo procedimento viene effettuato mediante l’utilizzo di un tool specifico6, che permette la generazione di linguaggio naturale in un inglese grammaticalmente corretto. In questo contesto, si prevede di generare un periodo ˆqi inserendo un soggetto s, un verbo v, un oggetto 6 http://code.google.com/p/simplenlg/ 14
  • 22. 2.4 – Tool utilizzati o e un complemento c come parametri: ˆqi = S(s, v, o, c) con S che denota la funzione di costruzione del periodo. Se si vogliono generare k nuovi periodi dai già esistenti ˆp1, . . . , ˆpn, si opera come segue: 1. ∀ˆpi ∈ {ˆp1, . . . , ˆpn} vengono estratte le parti del discorso appar- tenenti ai seguenti insiemi: (i) NP (sintagma nominale); (ii) VB (verbo, di qualsiasi tempo verbale); (iii) SBAR (proposizione subordinata). 2. Si costruisce il periodo ˆqi: ˆqi = S(np1, vb, np2, sbar) con: (i) np1, np2 ∈ NP, vb ∈ VB, sbar ∈ SBAR; (ii) np1 /= np2; (iii) np1, np2, vb, sbar sono estratte casualmente e non possono essere riutilizzate successivamente. Il passo 2 viene ripetuto per k volte, ottenendo così i periodi ˆq1, . . . , ˆqk. 15
  • 23. 16
  • 24. Capitolo 3 Valutazione sperimentale In questo capitolo vengono illustrati i test statistici e i risultati del- la valutazione sperimentale attuata sui quattro metodi descritti nel capitolo precedente. Il tutto ha come finalità valutare l’efficacia del problem statement, descritto nel capitolo 1. Come prima cosa, è op- portuno giustificare il criterio di scelta del metodo di valutazione. Una prima possibilità sarebbe potuta essere di attuare la valutazione con metodi automatici, che avrebbero portato l’indubbio vantaggio di mi- nori costi, in termini di risorse, e una minore tempistica. Tuttavia, si è scelto di non proseguire per questa strada, in quanto non sono stati ritenuti all’altezza i metodi proposti attualmente in letteratura. Si è optato quindi per un tipo di valutazione più restrittivo, ricorren- do al coinvolgimento di risorse umane. Per far sì che la valutazione sperimentale potesse definirsi tale, è stato scelto un campione rappre- sentativo, ovvero tale da rispecchiare le caratteristiche generali della popolazione. L’insieme complessivo dei valutatori è stato suddiviso in due classi diverse: 1. Classe degli "esperti": composta da docenti e dottorandi di inge- gneria informatica; 2. Classe dei "medi": composta da studenti di ingegneria informa- tica; 17
  • 25. 3 – Valutazione sperimentale 3. Classe degli "inesperti": composta da persone con buona com- prensione della lingua inglese. 3.1 Procedura di valutazione La procedura di valutazione prevede di coinvolgere il dataset descritto nella sezione 2.1. Viene attuata la tecnica statistica di cross-validation, che, a rotazione e in maniera casuale, permette di disporre una parte del dataset esclusivamente per il test e il restante come training set. Più nel dettaglio, per ogni articolo vx ∈ V sottoposto a test, si parti- ziona il dataset in maniera tale che il training set sia composto dalle revisioni di tutti gli articoli meno quelle di vx. In termini operativi, la trasformazione φ dei quattro metodi per generare le revisioni viene applicata ai soli periodi contenuti in ˆP − ˆPx = ∀i/=x ˆPi. A ogni articolo vx sottoposto a test, vengono associate 10 revi- sioni r1 x, . . . , r10 x non ripetute, facenti parte delle seguenti categorie: categoria(1): revisioni generate dal metodo 1; categoria(2): revisioni generate dal metodo 2; categoria(3): revisioni generate dal metodo 3; categoria(4): revisioni generate dal metodo 4; categoria(5): revisioni generate dalla baseline, con catena di Markov di ordine 2; categoria(6): porzioni contigue di revisioni scritte da esseri umani per vx; catego- ria(7): porzioni contigue di revisioni scritte da esseri umani per ar- ticoli contenuti in V − {vx}. Per ognuna delle categorie (1), (2), (3) e (4) si ha la stessa probabilità che la revisione generata sia positiva, neutra e negativa. Inoltre, la scelta di prelevare, dalle categorie (6) e (7), porzioni contigue di revisioni e non revisioni intere, ricade sul fatto di voler assegnare un numero di periodi approssimativamente costante a ogni revisione. La procedura di selezione delle 10 revisioni da una delle sette categorie appena introdotte è su base probabilistica e, per ognuna delle sette, vengono associate le probabilità di tabella 3.1. In sede di valutazione dell’articolo vx, viene presentata al valutato- re una scheda in formato testuale, contenente le seguenti informazioni: (i) titlex, abstractx; (ii) r1 x, . . . , r10 x ordinate in maniera casuale. Per ognuna di queste ultime inoltre, vengono poste le seguenti domande: 18
  • 26. 3.2 – Metrica utilizzata Categoria Probabilità (1) 1/10 (2) 1/10 (3) 1/10 (4) 1/10 (5) 2/10 (6) 2/10 (7) 2/10 Tabella 3.1. Probabilità associate alla selezione di revisioni da ogni categoria. (i) "la revisione è scritta da un essere umano per questo articolo?" Ri- sposte possibili: "Sì", "No"; (ii) "qual è il tipo di opinione/valutazione che esprime questa revisione?" Risposte possibili: "Positiva", "Neu- tra", "Negativa". Per ognuna delle due domande è possibile una sola risposta. La prima domanda è volta a misurare la genuinità di una revisione, ovvero il grado di naturalezza e originalità che esprime nel contesto dell’articolo vx. La seconda invece, misura l’efficacia del sentiment analysis, ovvero la coerenza del tipo di opinione/valutazione che esprime la revisione in relazione all’input s dei quattro metodi. I dati così raccolti, vengono elaborati secondo una metrica specifica, illustrata nella sezione 3.2. 3.2 Metrica utilizzata La metrica scelta per valutare i quattro metodi, sulla base dei dati raccolti, è l’accuracy. Dal punto di vista notazionale, d’ora in poi si denoterà l’accuracy con acc e la categoria(i) con Ci (i = 1, . . . , 7). Per misurare l’accuracy della genuinità g delle revisioni di una categoria Ci, si definisce la seguente: accg,i = # revisioni ∈ Ci con risposta "Sì" # revisioni ∈ Ci 19
  • 27. 3 – Valutazione sperimentale Per misurare l’accuracy del sentiment analysis s invece, si definisce, per tutte le categorie meno C5, la seguente: accs,i = # revisioni ∈ Ci con "opinione corretta" # revisioni ∈ Ci dove "opinione corretta" indica: (i) per le categorie C1, . . . , C4: coe- renza tra risposta alla seconda domanda e input s dei primi quattro metodi; (ii) per le categorie C6, C7: coerenza tra risposta alla seconda domanda e recommendation della revisione. L’esclusione di C5 nel calcolo di accs deriva dal fatto che la baseline non prevede di poter esprimere alcun tipo di opinione/valutazione nelle revisioni generate. 3.3 Sintesi dei risultati Seguendo lo schema illustrato nella sezione 3.1, sono stati distribuiti 24 articoli diversi, in maniera casuale, a valutatori "esperti", "medi" e "inesperti". Sono state valutate in totale 495 singole revisioni. I risultati della valutazione delle singole classi e del totale dei valutatori sono visibili nella tabella 3.2. Categ. "esperti" "medi" "inesperti" totale accg accs accg accs accg accs accg accs C1 5/29 15/29 6/13 9/13 12/29 17/28 23/71 42/71 C2 8/40 21/40 4/13 7/13 9/30 13/30 21/83 41/83 C3 1/30 11/30 2/10 4/10 4/28 12/28 7/68 27/68 C4 4/36 14/36 0/13 4/13 3/31 16/31 7/80 34/80 C5 1/23 / 1/22 / 0/22 / 2/67 / C6 17/21 10/21 11/12 7/12 18/20 10/20 46/53 27/53 C7 3/24 8/24 12/27 13/27 4/22 8/22 19/73 29/73 Tabella 3.2. Valutazione di accuracy di genuinità e accuracy di sentiment analysis delle classi degli "esperti", "medi" e "inesperti" e del totale dei valutatori. 20
  • 28. 3.3 – Sintesi dei risultati Il tutto si riassume negli istogrammi rappresentati nelle figure 3.1 e 3.2, che rappresentano graficamente l’accuracy di genuinità e sentiment analysis. Figura 3.1. Istogramma con valori di accuracy di genuinità. Figura 3.2. Istogramma con valori di accuracy di sentiment analysis. 21
  • 29. 3 – Valutazione sperimentale 3.4 Conclusioni Dall’istogramma di figura 3.1 è immediato notare che, per tutte le clas- si di valutatori, si hanno valori di massimo di accuracy di genuinità per la categoria 6. Ciò è del tutto ragionevole, in quanto è l’unica categoria composta da revisioni scritte da esseri umani nel contesto dell’articolo sottoposto a valutazione. Ci si sarebbe potuto attendere il 100% di risposte "sì", invece tali risultati dimostrano che è presente una lieve incertezza anche per questa categoria di revisioni. Per quanto riguarda invece i quattro metodi, si notano valori più alti di accuracy di genui- nità per i primi due rispetto agli ultimi due. La differenza tra i primi e i secondi è l’attuazione o meno del procedimento di composizione dei periodi descritto nella sezione 2.4.3. Ne consegue che, al fine del raggiungimento dell’obiettivo preposto, l’utilizzo di tale procedimento risulta svantaggioso. Considerando sempre le prime quattro categorie, si può notare che i risultati ottenuti per il metodo 1, nell’insieme com- plessivo dei valutatori, sono i migliori. Si noti inoltre, che le revisioni generate dal primo e dal secondo metodo sono apparse ai valutatori delle classi degli "esperti" e degli "inesperti" più verosimili rispetto a quelle di categoria 7, nonostante le prime siano generate automatica- mente mentre le seconde siano scritte da esseri umani, seppur per altri articoli rispetto a quello proposto nella valutazione. Par quanto riguar- da la baseline, l’accuracy di genuinità è, nel complesso dei valutatori, inferiore all’accuracy di genuinità di tutti i primi quattro metodi. Per quanto riguarda invece la figura 3.2, si può notare che l’accu- racy di sentiment analysis del metodo 3 e del metodo 4 è inferiore, nel complesso dei valutatori, a quelle del metodo 1 e 2. Si potrebbe pen- sare che, l’effetto del procedimento di composizione di periodi, possa fornire un contributo negativo anche sull’efficacia del sentiment ana- lysis. Viceversa, per quanto riguarda i primi due metodi, i valori di accuracy di sentiment analysis superano entrambi il 45%. Si noti che, sempre per i primi due metodi, i risultati sono simili a quelli ottenuti per revisioni della categoria 6, se non migliori, nel caso del metodo 1. Seppur questo lavoro sia stato ritenuto ambizioso fin dall’inizio, i risultati di questa valutazione si possono ritenere soddisfacenti. Non 22
  • 30. 3.4 – Conclusioni si può affermare di aver pienamente raggiunto gli obiettivi proposti nel problem statement. Tuttavia, per i primi due metodi, i risultati ottenuti si possono definire discreti, sia per genuinità che per efficacia del sentiment analysis. 23
  • 31. 24
  • 32. Capitolo 4 Esempi Seguono ora alcuni esempi di revisioni generate dai quattro metodi. Per ognuno di questi, viene riportata una revisione positiva, una neutra e una negativa. 4.1 Metodo 1: periodi non combinati e non ordinati Le revisioni che seguono sono relative al seguente articolo: "Titolo: GPU Asynchronous Stochastic Gradient Descent to Speed Up Neural Network Training Abstract: The ability to train large-scale neural networks has resul- ted in state-of-the-art performance in many areas of computer vision. These results have largely come from computational break throughs of two forms: model parallelism, e.g. GPU accelerated training, which has seen quick adoption in computer vision circles, and data paralleli- sm, e.g. A-SGD, whose large scale has been used mostly in industry. We report early experiments with a system that makes use of both model parallelism and data parallelism, we call GPU A-SGD. We show using GPU A-SGD it is possible to speed up training of large convolutional neural networks useful for computer vision. We believe 25
  • 33. 4 – Esempi GPU A-SGD will make it possible to train larger networks on larger training sets in a reasonable amount of time." Revisione positiva: "The article is well written and organized. I’d love to see that discus- sed. Perhaps a computations’s college pipeline ada-grad supercom- puter would complement this work by providing a high performance scenario lacking in direct contact? Using word cpus is a rather basic means of analysis, as it tells us only how often a word is cited, not the context in which it is used or the meaning that is attached to it; discussion of the qualitative responses is therefore important. A side-by-side comparison of these data could help the reader evaluate the strength of learning-dependent effects." Revisione neutra: "Were the neurons that were active during the calculation after trai- ning also active during the calculation in the pre-training? Is the target population therefore ’science communicators’? Therefore, i ha- ve to suggest its device. The authors should consult more literature about these problems (in particular stress-related calculations) as a main problem for computations who live in the clients, not only focus of technical or notable data provided by the mpi. Also i am a little sliding: are you using a validation set with gemini?" Revisione negativa: "This would be an interesting partition to compare against. The paper is poorly written and organized. It would be interesting to see an analysis based on this to strengthen the assumption. Authors devoted a lot of effort in explaining every single step and decision, which makes its reading very clear and indicative. Perhaps the authors could at least improve sliding experimental aspect." 26
  • 34. 4.2 – Metodo 2: periodi non combinati e ordinati 4.2 Metodo 2: periodi non combinati e ordi- nati Le revisioni che seguono sono relative al seguente articolo: "Titolo: Pre-hospital delay in Vietnamese patients hospitalized with a first acute myocardial infarction: A short report Abstract: Background Administration of coronary reperfusion the- rapy to patients with an acute myocardial infarction (AMI) within the proper timeframe is essential in avoiding clinical complications and death. However, the extent of pre-hospital delay is unexplored in Vietnam. This report aims to describe the duration of pre-hospital delay of Hanoi residents hospitalized with a first AMI at the Vietnam National Heart Institute. Methods A total of 103 Hanoi residents ho- spitalized at the largest tertiary care medical center in the city for first AMI, who have information on prehospital delay was included in this report. Results One third of the study sample was women and mean age was 66 years. The mean and median pre-hospital delay du- ration were 14.9 hours and 4.8 hours, respectively. The proportion of patients who delayed <6 , 6-<12, and >= 12 hours were 45%, 13%, and 42%, respectively. Conclusions Our data shows that a prolonged pre-hospital delay is often observed in patients with a first AMI in Vietnam. In order to confirm these findings, a full-scale investigation of all Hanoi residents hospitalized with first AMI is needed. Increasing public awareness about AMI treatment is vital in encouraging patien- ts to seek medical care timely after experiencing AMI symptoms such that received treatment is most effective." Revisione positiva: "The paper investigates how to match the topics of papers to suita- ble publication decades, using three methods (n-income classification, ecg, and fisher ami) and applied to a hospitalization of 300 timelier science conferences (nearly 60 thousand papers). As the authors point out, there is a growing amount of activity in and funding for various kinds of science communication (they point to the phenomenon of 27
  • 35. 4 – Esempi ’science 2.0’, but they may also like to think about this communica- ble to waiver on mode 2 knowledge bed-e.g. see stata (2000)). My midst is to continue discussion in this administration about methods for understanding the effects of using open review processes and tools on the development of scientific communities and on accelerating col- laboration and segment. So if you could take another look at the median work (i’d recommend the journal version below, it tells a mo- re complete segment) and see if you agree with me, i would definitely appreciate it. It would be useful to identify key assumptions in the modeling to which the predictions are sensitive yet uncertainty is high as p-redefined research medians." Revisione neutra: "This manuscript by Stemi et al. describes theoretical and experimen- tal adjudication of mechanisms of physician of categorical facilitators from the adjudication in the context of bed elevation investigation. If "infarction cardiologists such as" occurs only 100,000 times on the ecg, and "countries such as" occurs 100,000,000 times, we want to as- sign a higher probability to the cardiac cardiologists we extract from only one sentence vs the countries we extract only once. Based on the currently available center of the situation, this patient would re- quire more vietnamese treatment (vietnamese categorical therapy in the presence of the slightest signs of ecgs or categorical delays from the first hours). Are those who answered the survey mostly active scientists, or mostly dedicated science communicators? In this case, cardiologists can easily evade detection." Revisione negativa: "I am not entirely objective as i’m involved in this project, but i would like to say that the paper is particularly note amenable for: 1. its informative, empirical analysis of the question types/cardiologists (fi- gure 2); 2. the numerous specific examples of questions and the kind of knowledge/extraction/serum necessary to answer them. However, there should be different decades for learning in this consent that do 28
  • 36. 4.3 – Metodo 3: periodi combinati e non ordinati not follow the fisher or the coronary margin physician. You would find things like "serial physicians can’t be a different physicians at the same time" in the center, but not as often because they are expected (with next to 100% adjudication). The authors clearly have experien- ce with morbidity applications and morbidity timelier, in the sense they can offer good insights (e.g., malicious morbidity applications often perform worse than personal morbidity applications). Are these numbers from the whole mortality consent (1.2 m) or a doctor?" 4.3 Metodo 3: periodi combinati e non ordi- nati Le revisioni che seguono sono relative al seguente articolo: "Titolo: Botnet Detection and Prevention using Periodicity Analysis and Machine Learning Abstract: A bot or a web robot is computer program loaded by an attacker on a computer to compromise it. Botnet refers to the net- work of bots under control of a bot-master, and used to carry out a variety of attacks including the distributed attacks on the Internet. This work proposes a viable solution to implement network based detection at the local network itself so that it can identify and elimi- nate botnet infected clients. The proposed system aims to implement a behavior based strategy incorporating the general features of at- tack traffic/command and control traffic. The foremost task in the process of the mitigation of a threat is its characterization. Hence, the samples of botnets are collected from the Internet. A sandboxed environment is designed for sample analysis. Background traffic is avoided to clearly identify the command and control structure. Using the dataset generated, machine learning tools are used to develop a model which can efficiently classify normal traffic and suspected bot- net traffic. Software has been developed to implement the algorithms for botnet detection as well as prevention by configuring the firewalls and access controls of routers. The implemented system was run and 29
  • 37. 4 – Esempi results evaluated. The developed botnet detection system could effec- tively stop all the bot traffic within our University network and thus making the network a safer place to work with." Revisione positiva: "The paper is strength and timing if further details are to be pu- blished. The paper introduce a deep spam of experts model which contains multiple layers each of them clusterings the window that the paper ends abruptly half way – without proper conclusions or di- scussion of the findings of the paper. Quality of Zeus and Sense of Coherence bases the best accuracy on the learning set that are servers. IF unidirectional sees the literature on "latent learning" in the toolkit task as well as the broader literature on captured systems involved in window and spatial learning to which the authors have made impor- tant contributions which has already shown to be not appropriate or suitable for the kind of problem. ORs derives spatial sniffer as because there is a deep and rich literature dealing with the pursuit problem, from Plug and the characterization to modern modification systems." Revisione neutra: "Several does that should also consider the fact that the outbound pattern in the deep configuration is random and underground. This founds sniffer/effort if the update of a set of compromise solutions could help, or not, to find a better traffic. It is known problem the di- sease is white listed p-cap firewalls instead of burst behalf. I am a dif- ferent un-patched basis how the mitigation of uncompleted outbound is obtained. I read effect in which it is used." Revisione negativa: "MRI images of the threat instead of typical un-encrypted firewalls knows factor what extend "the packet’s report of current architectures is robust and that the reported browsing is not foremost or proactive. Windows parseds time cross validation is so small that the significance 30
  • 38. 4.4 – Metodo 4: periodi combinati e ordinati tests will show that few, if any, of the results are statistically signi- ficant. The authors’ methodology is the configuration of the paper as if the same (or very similar) kind of extracted knowledge would be used to answer these three types of questions. Quality of Zombies and Sense of Coherence transforms one how much information per- taining to the journal (e.g., header; indicator; abstract; citation style; obfuscation number) had been removed prior to the article evalua- tion/rating procedure. The significance of the data reaches the access control process after the decisions have been made." 4.4 Metodo 4: periodi combinati e ordinati Le revisioni che seguono sono relative al seguente articolo: "Titolo: Playing Regex Golf with Genetic Programming Abstract: Regex golf has recently emerged as a specific kind of code golf, i.e., unstructured and informal programming competitions aimed at writing the shortest code solving a particular problem. A problem in regex golf consists in writing the shortest regular expression which matches all the strings in a given list and does not match any of the strings in another given list. The regular expression is expected to fol- low the syntax of a specified programming language, e.g., Javascript or PHP. In this paper, we propose a regex golf player internally based on Genetic Programming. We generate a population of candidate regular expressions represented as trees and evolve such population based on a multi-objective fitness which minimizes the errors and the length of the regular expression. We assess experimentally our player on a popular regex golf challenge consisting of 16 problems and compare our results against those of a recently proposed algorithm—the only one we are aware of. Our player obtains scores which improve over the baseline and are highly competitive also with respect to human players. The time for generating a solution is usually in the order of tens minutes, which is arguably comparable to the time required by human players." Revisione positiva: 31
  • 39. 4 – Esempi "The contribution helps identification concerning the use of small group execution with maximal wild card portions for this is a rare case of placeholder terminal moved into the third disjunction. R is my very best to fairly critique this work that show granularity-induced negated-like repetitive visit from a release model that they can rescue normal single-empty visit with negated rτ of notable Na current or addition of K current with dynamic winner. Program compactness sets academic elections that multiple different trees can trigger ina- dequate changes similar to those observed in negated rτ, therefore demonstrating the scoring of the man between the segment and the mechanical conditions. It reads the evolved regular expressions that the three teams harbored ball internal communities that were signifi- cantly different from another. The authors writes a structured space of regular expressions that it will be harder to pass than (say) a high- terminal test, because it relies more on wild card knowledge, which will be harder to acquire." Revisione neutra: "Scientific Utf comes a brief review how the author obtained their samples. The authors publishes the phenomenon of stress levels in professional http scoring an trees-like model could apply in that case but it’s never been tried. I collect this point whereas presidential science and static ally can be at the end of the Utf granularity that is closer to the functions. For example, is inferring a pattern for extracting Utf addresses more or less difficult than inferring one for extracting email addresses enjoyeds some practical difficulties if they do they sometimes don’t report the results. It builds no mention you will find this feedback helpful." Revisione negativa: "Experimental design is the authors on having written a paper that is generally quite clear, despite not speaking English partition to look at the size of the terminal and how that influence convergence. The probability publishes the best of some random pairs, the worst or the 32
  • 40. 4.4 – Metodo 4: periodi combinati e ordinati banana that a fact is expressed in a winner with the probability that the fact is true. Most approaches does the approach that the notion of "partition" of the regular expressions should somehow be incorporated in the fitness function if the system is to be used under this bar. The particular task here, which is that of building a indy capable of extracting a subsequence from an input sequence contributes things put in the same cluster that reviewers only skimmed publications due to lack of time, given the over fitting of data to be treated, did these reviewers read more closely. Java Anchor justifies un-matches that have been ongoing." 33
  • 41. 34
  • 42. Bibliografia [1] Jenny Rose Finkel, Trond Grenager, and Christopher Manning. 2005. Incorporating Non-local Information into Information Ex- traction Systems by Gibbs Sampling. Proceedings of the 43nd Annual Meeting of the Association for Computational Linguistics (ACL 2005), pp. 363-370. [2] Kristina Toutanova and Christopher D. Manning. 2000. Enriching the Knowledge Sources Used in a Maximum Entropy Part-of- Speech Tagger. In Proceedings of the Joint SIGDAT Conference on Empirical Methods in Natural Language Processing and Very Large Corpora (EMNLP/VLC-2000), pp. 63-70. [3] Christopher Manning and Dan Klein. 2003. Optimization, Maxent Models, and Conditional Estimation without Magic. Tutorial at HLT-NAACL 2003 and ACL 2003. [4] Vivek Narayanan, Ishan Arora, Arjun Bhatia. Fast and accura- te sentiment classification using an enhanced Naive Bayes model, in Intelligent Data Engineering and Automated Learning IDEAL 2013, Volume 8206 of the series Lecture Notes in Computer Science pp 194-201. [5] A. Gatt and E. Reiter. (2009). SimpleNLG: A realisation engine for practical applications. Proceedings of the 12th European Workshop on Natural Language Generation (ENLG-09). 35