SlideShare a Scribd company logo
1 of 43
Download to read offline
UNIVERSIT`A DEGLI STUDI DI TRIESTE
Dipartimento di Ingegneria e Architettura
Corso di Laurea Magistrale in Ingegneria Informatica
Tecniche basate su machine learning per la
determinazione del profilo di un autore su Twitter
LAUREANDA RELATORE
Alessandra Laderchi prof. Alberto Bartoli
CORRELATORI
prof. Eric Medvet
dott. Andrea De Lorenzo
dott. Fabiano Tarlao
Anno Accademico 2014/2015
Indice
1 Introduzione 1
2 Stato dell’arte 3
2.1 Determinazione del sesso e della fascia d’et`a . . . . . . . . . . . . . . . . . 3
2.1.1 Competizione PAN14 . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1.1 Lopez-Monroy . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1.2 Shrestha . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Previsione dei tratti personali . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Metodo adottato 15
3.1 Competizione PAN15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Approccio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Analisi del corpus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Feature utilizzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5 Selezione delle feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6 Algoritmi di previsione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4 Valutazione sperimentale 23
4.1 Risultati finali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Criticit`a della competizione PAN15 29
5.1 Primo metodo fraudolento . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2 Secondo metodo fraudolento . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.3 Approfondimenti sul corpus . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6 Conclusioni 35
Bibliografia 37
Indice analitico 39
3
Capitolo 1
Introduzione
`E possibile stabilire il profilo di una persona semplicemente analizzando il suo stile di
scrittura? Su quali elementi bisogna focalizzarsi per identificare un certo tratto della
personalit`a? La determinazione del profilo di un autore basata sull’analisi di testi scritti
`e una sfida nata per rispondere a queste domande.
Da molti anni si studiano metodi in grado di determinare sesso, et`a e carattere di
un autore di testi di vario genere, utilizzando tecniche di apprendimento automatico
(machine learning). Il recente avvento dei social media ha dato nuova vita a questo
campo di ricerca, fornendo ai ricercatori di tutto il mondo un prezioso materiale di studio:
testi lunghi o brevi, molto spesso informali, che lasciano meglio trasparire la personalit`a
di chi li produce.
L’utilit`a delle ricerche in questo campo la si riscontra in diversi settori. Nell’analisi
forense, ad esempio, pu`o essere utile determinare il profilo di un colpevole di cui non si
hanno informazioni, ma del quale si hanno tracce scritte. Nel mondo dell’e-commerce,
invece, pu`o essere vantaggioso capire il profilo dei clienti, in modo tale da poter offrire
loro prodotti che meglio si adattano alla loro personalit`a e che quindi potrebbero essere
di loro gradimento. Oppure, meglio ancora, creare interfacce che si adattano al profilo
di chi le usa, ad esempio per fornire un’interfaccia semplificata in base all’et`a stimata
oppure un diverso layout in base al sesso. La determinazione del profilo di una persona,
in generale, pu`o essere anche utilizzata per predire il successo di relazioni professionali o
sentimentali, o per attuare il filtraggio di certe informazioni.
Il lavoro di tesi svolto riguarda lo sviluppo di un metodo basato su tecniche di
machine learning per la determinazione del profilo di un autore di brevi testi ottenuti
da Twitter. Esso `e stato sviluppato in occasione della partecipazione a PAN 2015,
una competizione annuale internazionale volta ad accrescere la conoscenza in merito
alla ricerca di metodologie automatiche in grado di risolvere problemi quali la verifica
dell’identit`a dell’autore di un testo, la rivelazione di plagio di documenti e ci`o su cui `e
incentrata questa tesi, ovvero la determinazione del profilo di un autore in base a testi
scritti. In quest’ultimo caso, a disposizione dei partecipanti sono stati forniti quattro
insiemi di dati, ognuno in una lingua differente (inglese, spagnolo, italiano e olandese).
1
1. Introduzione
Ogni insieme conteneva un certo numero di documenti, ognuno dei quali era composto
da una serie di messaggi di Twitter (detti tweet) scritti da uno stesso autore. Per
ogni documento era inoltre fornito il vero profilo del suo autore, composto dai seguenti
caratteri: sesso, fascia d’et`a e cinque valori numerici associati a tratti personali ben
definiti. Questi insiemi di dati hanno costituito il corpus sul quale `e stato basato il
metodo che verr`a esposto in questo elaborato.
Il metodo in esame, sviluppato presso il Machine Learning Lab dell’Universit`a degli
Studi di Trieste, ha richiesto lo svolgimento di diverse attivit`a, in particolare:
• ricerca e sviluppo di un metodo di determinazione del profilo di un autore;
• analisi delle risorse attinenti alla competizione;
• valutazione sperimentale e confronto con risultati ottenuti utilizzando vari metodi.
L’analisi delle risorse attinenti alla competizione ha portato alla scoperta di alcune
opportunit`a fraudolente per ottenere un punteggio migliore alla competizione, delle quali
si `e dato tempestivo avviso agli organizzatori.
La soluzione infine adottata e presentata durante la competizione `e risultata abbastan-
za efficace per quanto riguarda la determinazione dei valori dei tratti personali, mentre si
`e rivelata non del tutto appropriata per la previsione del sesso e della fascia d’et`a.
2
Capitolo 2
Stato dell’arte
La determinazione del profilo di un autore basata sullo stile di scrittura `e una sfida
affrontata da molti anni, soprattutto per esigenze di marketing o di attivit`a forense, ma
anche per studi psicologici e linguistici. Le caratteristiche pi`u richieste del profilo di un
autore sono l’et`a, il sesso e il carattere personale.
Per il riconoscimento del profilo, i primi studi in materia prendevano in considerazione
autori di testi formali. Con l’avvento dei social media, si `e aperta la possibilit`a di
collezionare insiemi di testi non pi`u formali e strutturati, ma bens`ı informali e colloquiali,
ricchi di nuove informazioni da analizzare.
Ai fini del progetto sviluppato, questo capitolo si concentrer`a in particolare sullo
studio del riconoscimento di sesso, fascia d’et`a e tratti personali in testi provenienti da
social media, descrivendo i principali metodi basati sull’utilizzo di tecniche di machine
learning che affrontano questi problemi.
2.1 Determinazione del sesso e della fascia d’et`a
Vari studi hanno evidenziato l’esistenza di differenze nello stile e nei contenuti di scrittura
tra autori di diverso sesso e tra autori di diverse et`a. In particolare, in [13] viene
descritto uno studio fatto su un corpus di circa 40000 blog scritti in inglese. Tale corpus
`e stato creato in modo tale che gli autori fossero bilanciati in base al sesso all’interno di
determinate fasce d’et`a (13-17, 23-27, e 33-42 anni). Questi due fattori sono quindi stati
messi in relazione con due tipi di gruppi di feature1:
• relative allo stile, come parti del discorso in generale (chiamate in gergo POS,
dall’inglese Parts-Of-Speech), termini detti function word usati per esprimere
relazioni tra le parole di una frase, e altre feature legate al mondo del blogging,
quali ad esempio collegamenti ipertestuali e particolari blog-word, cio`e neologismi
1 `E una caratteristica misurabile del fenomeno che si vuole analizzare, solitamente rappresentata come
valore numerico. Una feature pu`o essere, ad esempio, la percentuale di preposizioni in un testo, oppure il
numero totale di volte che una certa parola compare in esso.
3
2. Stato dell’arte
che compaiono con un’elevata frequenza nei blog (come ad esempio “lol”, “haha”,
ecc.);
• relative al contenuto, cio`e riguardanti termini singoli aventi maggior frequenza nel
corpus e termini che rientrano in particolari categorie semantiche (come “famiglia”,
“lavoro”, “sport”, ecc.) messe a disposizione da un particolare software per analisi
di testi chiamato LIWC2 [10].
Per quanto riguarda le differenze tra i sessi, da questo studio `e stato possibile ottenere
le seguenti informazioni:
• i blogger di sesso femminile tendono a usare pi`u pronomi, parole di assenso/nega-
zione, blog-word, mentre dal punto di vista dei contenuti propendono a enfatizzare
maggiormente i sentimenti e i rapporti personali;
• i blogger di sesso maschile tendono a usare pi`u articoli, preposizioni, collegamenti
ipertestuali, mentre dal punto di vista dei contenuti propendono all’enfatizzazione
delle informazioni e tendono a parlare di pi`u di politica e tecnologia.
Dal punto di vista delle fasce d’et`a, invece, sono emerse le seguenti informazioni:
• preposizioni e articoli vengono sempre pi`u usati con l’aumentare dell’et`a;
• pronomi, parole di assenso/negazione, blog-word vengono usati sempre meno con
l’aumentare dell’et`a;
• gli autori nella fascia d’et`a di 13-17 anni tendono a scrivere maggiormente di
amicizia e stati d’animo, quelli di et`a rientrante nella fascia 23-27 si concentrano
di pi`u sulla vita universitaria, mentre i pi`u adulti trattano temi quali matrimonio,
problemi finanziari e politica.
Si pu`o notare, quindi, che le stesse feature stilistiche che differenziano gli autori in base
al sesso possono essere altres`ı usate per differenziarli in base alle fasce d’et`a.
In Fig. 2.1 `e possibile vedere la distribuzione tra i sessi e le fasce d’et`a di parole
rientranti in alcune categorie di LIWC, ottenuta da questo studio.
L’analisi effettuata in [13] prosegue con la verifica (tramite tecniche di machine lear-
ning) di quanto i sopra citati risultati possano essere effettivamente utili nella previsione
di sesso e fascia d’et`a di un autore. I risultati ottenuti (in termini di accuratezza) indicano
che per quanto riguarda la determinazione del sesso, le feature stilistiche sono pi`u efficaci
rispetto a quelle di contenuto, mentre per la determinazione della fascia d’et`a vale il
contrario. In entrambi i casi, l’utilizzo combinato di ambedue i tipi di feature ha permesso
di ottenere risultati migliori.
Quello appena descritto e altri studi in materia hanno in comune l’utilizzo di un
numero elevato di feature, superiore al centinaio, molto spesso legato all’insieme di dati
2
LIWC (acronimo di Linguistic Inquiry and Word Count) `e un software di analisi di testi che permette
di calcolare la percentuale di parole che rientrano in determinate categorie. LIWC `e basato sull’utilizzo
di un dizionario disponibile in diverse lingue e contenente molte parole suddivise in diverse categorie.
4
Determinazione del sesso e della fascia d’et`a
Figura 2.1: Distribuzione tra i sessi e le fasce d’eta di parole rientranti in alcune categorie di
LIWC. La prima colonna a sinistra di ogni tabella indica la categoria di parole di LIWC. I numeri
indicano la frequenza di parole appartenenti ad una categoria e l’errore standard. I valori in
grassetto evidenziano dove `e pi`u frequente una categoria rispetto agli altri gruppi di studio. I
valori 10s, 20s, e 30s corrispondono rispettivamente alle fasce d’et`a 13-17, 23-27, 33-42.
presi in esame. Il lavoro descritto in [3] dimostra che `e possibile ottenere ottimi risultati
nella determinazione del sesso usando un ristretto numero di feature, principalmente
dipendenti dalla struttura dei testi, invece che dai contenuti. Nello specifico, il lavoro
sopra citato si basa su un corpus di circa 1600 pagine di blog di opinioni del New York
Times, bilanciato tra autori maschili e femminili. Le feature utilizzate sono in totale 83,
divise nelle seguenti tipologie:
• feature basate sui caratteri, come la frequenza di segni di punteggiatura, la frequenza
di lettere maiuscole e il numero totale di caratteri per testo;
• feature basate sulle parole, come il numero totale di parole per testo, il numero di
parole diverse per testo e il numero di acronimi;
• feature basate sulle frasi, come il numero di frasi per testo e il numero di parole
per frase;
• feature basate su dizionari3, come la percentuale di parole di un testo contenute in
uno di tre particolari dizionari (due dizionari di polarit`a, contenenti liste di parole
classificate come positive o negative, e un dizionario di parole che riguardano la
cultura americana);
• feature sintattiche, basate sulle dipendenze grammaticali che intercorrono tra le
parole di una frase, come la lunghezza media delle dipendenze.
I risultati di accuratezza (ottenuti con tecniche di machine learning) mostrano che
l’utilizzo di diversi sottogruppi di queste feature porta a risultati migliori rispetto ad un
3
Un dizionario `e un insieme di parole appartenenti ad una certa categoria. In certi casi, contiene un
insieme di parole suddiviso in diverse categorie.
5
2. Stato dell’arte
approccio di tipo Bag-Of-Words, basato, cio`e, sulla frequenza di un elevato numero (in
questo caso 1000, 2000 e 3000) di parole maggiormente ricorrenti nell’intero insieme di
testi. Nello stesso lavoro, viene poi preso in considerazione un sottogruppo di circa 6000
articoli di blog informali, gli stessi usati per il lavoro dell’articolo [13], e vengono usate
le stesse feature sopra citate per determinare separatamente il sesso e la fascia d’et`a di
ogni autore. Sono poi state aggiunte cinque nuove feature legate alla natura informale
dei nuovi blog considerati, allo scopo di migliorare la classificazione delle fasce d’et`a. Le
feature aggiunte sono:
• numero di errori ortografici per parola;
• percentuale di marcatori di discorso (ad esempio “e”, “ma”, “perch´e”, “quindi”);
• frequenza di parolacce e abbreviazioni;
• uso di forme passive;
• ulteriori feature di contenuto che misurano l’utilizzo di parole legate alla scuola,
all’universit`a, ai doveri e al tempo libero.
I nuovi risultati di accuratezza ottenuti mostrano una lieve diminuzione per la deter-
minazione del sesso, ma un notevole aumento per la determinazione della fascia d’et`a.
Il lavoro [3] permette quindi di sostenere che non `e tanto importante la quantit`a delle
feature usate, ma bens`ı la qualit`a delle stesse.
2.1.1 Competizione PAN14
Dato il crescente interesse per il problema della determinazione del profilo dell’autore
di un testo, sono nate diverse competizioni, con lo scopo di far avanzare la ricerca di
metodologie efficaci per risolvere al meglio tale sfida.
Una di queste competizioni `e quella denominata PAN4, acronimo di Plagiarism
Analysis, Authorship Identification, and Near-Duplicate Detection, svolta annualmente
dal 2007. Inizialmente incentrata su identificazione dell’autore di un testo, plagio e
duplicazione di pagine web, successivamente anche sulla bont`a delle intenzioni degli
autori delle pagine di Wikipedia, dal 2013 propone tre sfide differenti: rivelazione di
plagio, verifica dell’autore di un testo e determinazione del profilo di un autore.
In questa sezione, verranno presi in analisi i metodi migliori di risoluzione (dell’ultimo
dei precedenti problemi elencati) durante la competizione PAN svoltasi nel 2014 [12] (in
seguito ci si riferir`a ad essa con l’acronimo PAN14).
La sfida riguardante la determinazione del profilo di un autore durante PAN14 era
impostata nel modo seguente:
Corpus
(A) testi provenienti da social-media come Netlog
4
Sito web di riferimento: http://pan.webis.de
6
Determinazione del sesso e della fascia d’et`a
(B) testi provenienti da blog personali
(C) messaggi provenienti da Twitter
(D) recensioni di hotel provenienti da TripAdvisor
Lingue
• inglese (per (A), (B), (C) e (D))
• spagnolo (solo per (A), (B) e (C))
Attributi da determinare
• sesso (maschile o femminile)
• fascia d’et`a (18-24, 25-34, 35-49, 50-64, 65+)
2.1.1.1 Lopez-Monroy
Presentato da un gruppo di ricercatori del Laboratorio di Tecnologie del Linguaggio
dell’Istituto Nazionale di Astrofisica, Ottica e Elettronica di Puebla (Messico), questo
metodo `e risultato vincitore per la sfida in esame durante la competizione PAN14.
L’approccio seguito, descritto in [6], consiste in una versione modificata del tipico
approccio Bag-Of-Terms, nel quale l’insieme delle feature corrisponde a un elevato numero
di termini maggiormente ricorrenti in un documento. Nello specifico, viene costruito un
vettore (associato al documento) con tanti elementi quanti sono i termini selezionati.
Ogni elemento verr`a poi considerato come una feature.
La versione modificata si basa invece sull’utilizzo di Attributi del Secondo Ordine
(SOA) per la creazione di sottoprofili da impiegare nella fase di addestramento dei
classificatori. I profili considerati, in questo caso, sono 5 per la classificazione della
fascia d’et`a e 2 per la classificazione del sesso, corrispondenti alle classi dei tratti da
determinare.
Il primo passo di questo metodo consiste nella rappresentazione dei termini (contenuti
nei documenti del corpus) in relazione ai profili. Al fine di catturare la relazione numerica
che vi `e tra ogni termine e ognuno dei profili, vengono definiti i seguenti elementi:
M numero totale di termini nel corpus
N numero totale di profili
{t1, . . . , tM } vettore dei termini contenuti nel corpus
{p1, . . . , pN } vettore dei profili
rT
ij relazione del termine ti con il profilo pj
ti = rT
i1, . . . , rT
iN vettore delle relazioni termine-profilo
Pj insieme dei documenti del corpus aventi profilo pj
fT
ik frequenza del termine ti nel documento dk
dk k-esimo documento del corpus in esame
7
2. Stato dell’arte
len(dk) numero di termini nel documento dk
wij peso relativo del termine ti nel profilo pj
rD
kj relazione del documento dk con il profilo pj
dk = rD
k1, . . . , rD
kN vettore delle relazioni documento-profilo (SOA)
Dk insieme dei termini contenuti nel documento dk
Per calcolare il valore della relazione rT
ij devono essere presi in considerazione solo i
documenti collegati al profilo pj, in quanto la relazione di un termine con un profilo deve
essere calcolata sulla base della frequenza del termine nei soli documenti collegati a quel
profilo. Un’elevata frequenza relativa `e sintomo della preferenza di un certo termine in
un dato insieme di documenti. La determinazione del valore numerico di rT
ij parte dal
calcolo dei pesi relativi, che, seguendo l’idea sopra esposta, avviene nel seguente modo:
wij =
k:dk∈Pj
log2 1 +
fT
ik
len(dk)
(2.1)
Ai pesi relativi cos`ı calcolati viene poi applicata una normalizzazione su tutti i profili, in
modo tale da considerare la proporzione di ogni termine in ogni profilo. In questo modo,
si ottengono i valori numerici delle relazioni di ogni termine con ognuno dei profili:
rT
ij =
wij
N
i=1
wij
(2.2)
Tale normalizzazione prende in considerazione i pesi relativi degli altri termini. Ne
consegue, quindi, che ogni peso relativo calcolato risulta in relazione con tutti i termini.
Il secondo passo da effettuare `e quello di catturare la relazione numerico di ogni
documento con ogni profilo, nel seguente modo:
dk =
ti∈Dk
fT
ik
len(dk)
× ti (2.3)
Gli elementi di questo vettore vengono definiti Attributi del Secondo Ordine (SOA).
L’ultimo passo `e quello della generazione dei sottoprofili. Il motivo che sta alla base di
questa fase `e che all’interno di uno stesso profilo (ad esempio quello degli autori di sesso
femminile) ci possono essere diverse sfumature (ad esempio autori di sesso femminile
casalinghe, oppure giovani gamer), che mettono in luce sottogruppi caratterizzati da
attributi differenti. Si procede quindi al raggruppamento dei documenti aventi simili
caratteristiche all’interno di uno stesso profilo, utilizzando un algoritmo apposito.
Una volta ottenuto l’insieme dei sottoprofili, si ripete il calcolo dei vettori dk
considerando questo nuovo insieme come insieme dei profili.
Il metodo esposto `e stato, quindi, utilizzato per addestrare due classificatori di tipo
LibLINEAR standard, uno per i sessi e l’altro per le fasce d’et`a, scegliendo come insieme
di feature i 3000 termini pi`u frequenti e come classi i sottoprofili calcolati. Infine, i termini
considerati sono stati: parole, contrazioni, parole con trattini, segni di punteggiatura e
un insieme di parole di uso gergale.
8
Previsione dei tratti personali
2.1.1.2 Shrestha
Presentato da un gruppo di ricercatori dell’Universit`a dell’Alabama a Birmingam (Alaba-
ma), questo metodo `e risultato terzo per la sfida rigardante la determinazione del profilo
di un autore durante la competizione PAN14.
L’approccio adottato, descritto in [7], `e di tipo classico, con un occhio di riguardo ai
tempi di elaborazione (che per`o non `e di interesse ai fini di questa tesi).
Il primo passo di questo metodo consiste in una pre-elaborazione del corpus, effettuata
togliendo dai testi tutti i tag HTML e XML che vi sono presenti.
Dopodich`e si passa alla creazione del vettore delle feature. Utilizzando un software
cosiddetto tokenizzatore, da ogni documento vengono estratti gli n-grammi5 (con n =
{1, 2, 3}) di tutte le parole di tipo punteggiatura, emoticon o stop word, considerate
maggiormente importanti per il problema da risolvere. Per ogni n-gramma estratto, viene
calcolato un indice usato spesso in letteratura denominato Inverse Document Frequency
(IDF) [14]. Lo scopo di tale indice `e quello di quantificare la specificit`a di un n-gramma
rispetto al corpus. Sulla base di questo valore, vengono eliminati gli n-grammi che non
sono stati usati da almeno due autori, e poi tutti gli n-grammi al di sotto di una certa
soglia prefissata. Infine, viene calcolato il valore di un altro indice, chiamato Term
Frequency - Inverse Document Frequency (TF-IDF) [9], per ogni n-gramma rimasto.
Tale valore, calcolato come prodotto tra la frequenza dell’n-gramma nel documento
e la sua IDF, cresce proporzionalmente al numero di volte che il termine appare nel
documento, ma `e smorzato dalla frequenza del termine in tutto il corpus, in quanto
certi termini appaiono pi`u frequentemente di altri semplicemente per la loro funzione
linguistica. In questo modo, per ogni documento si ottiene un vettore di valori TF-IDF
per ogni n-gramma selezionato, che corrispondono alle feature.
`E quindi possibile passare alla fase di addestramento. In questo caso `e stato utilizzato
un algoritmo di regressione logistica, considerando il problema iniziale di classificazione
tra 5 fasce d’et`a e 2 sessi, come un unico problema di classificazione di 10 classi combinate.
Per la creazione del modello6, sono state estratte le feature con il metodo esposto sopra
considerando tutto il corpus di documenti, senza distinguere tra le diverse tipologie di
testo, ma mantenendo la divisione tra le lingue.
2.2 Previsione dei tratti personali
La diffusione dei social media ha portato ad un incremento delle informazioni personali
reperibili in rete. La possibilit`a di esprimersi in un linguaggio non formale, permette
di far trasparire la personalit`a di una persona, anche solo da poche righe di testo, o da
pochi caratteri come nel caso di Twitter (140 caratteri al massimo a disposizione per
ogni messaggio).
5
Un n-gramma `e una sottosequenza ordinata di n elementi appartenenti allo stesso tipo (di solito
lettere, fonemi, sillabe, parole, caratteri di punteggiatura, ecc.) di una data sequenza.
6 `E il file che si ottiene come risultato dell’elaborazione di un algoritmo di previsione in fase di
apprendimento. Contiene i valori in base ai quali un dato di test verr`a inserito in una certa classe invece
che in un’altra.
9
2. Stato dell’arte
Queste informazioni vengono inconsciamente utilizzate ogni giorno dagli utenti dei
social media, i quali usano queste piattaforme per giudicare le altre persone e stabilire
nuove relazioni in base a ci`o che gli altri pubblicano in rete. Vi sono quindi delle
caratteristiche di discriminazione che emergono dall’attivit`a online di ogni utente di social
media. La vera sfida nella previsione dei tratti personali di un autore sta nello scoprire
quali sono queste caratteristiche discriminanti.
Prima per`o `e necessario stabilire quali tratti del carattere di una persona contribuiscono
a crearne la personalit`a. In letteratura attualmente vengono usati due modelli principali,
frutto di anni di studi di psicologia:
• il modello di Eysenck, secondo cui la personalit`a `e riducibile a tre tratti, quali
nevroticismo, estroversione e psicoticismo;
• il modello Big Five, detto anche modello OCEAN7, secondo cui la personalit`a
`e riducibile a cinque tratti, quali nevroticismo, estroversione, apertura mentale,
amicalit`a e coscienziosit`a.
L’ultimo di questi modelli `e quello maggiormente accettato dalla comunit`a internazionale
ed `e anche quello usato ai fini di questa tesi. I cinque tratti personali possono essere
considerati come valori binari (a evidenziare, ad esempio, se una persona `e introversa o
estroversa), oppure come valori all’interno di un certo intervallo (a segnalare quanto una
persona `e, ad esempio, estroversa). In ogni caso, i cinque tratti sono caratterizzati nel
modo seguente:
Nevroticismo
Ansiet`a, insicurezza, suscettibilit`a. Una persona nevrotica `e lunatica, nervosa, e
facilmente portata a provare emozioni negative.
Estroversione
Espansivit`a, fiducia, entusiasmo. Una persona estroversa `e amichevole, piena di
energia e trae ispirazione dalle situazioni in cui si trova.
Apertura mentale
Curiosit`a, intelligenza, immaginazione. Chi ha un’elevata apertura mentale tende
ad essere artistico, ad avere gusti sofisticati e ad apprezzare differenti punti di vista,
idee ed esperienze.
Amicalit`a
Cooperazione, disponibilit`a, educazione. Una persona con elevato valore di amicalit`a
instaura relazioni positive, `e ottimista, fiduciosa e si prende cura degli altri.
Coscienziosit`a
Responsabilit`a, organizzazione, perseveranza. Un persona coscienziosa `e estre-
mamente affidabile, punta al successo e tende ad essere un gran lavoratore e
pianificatore.
7
Dalle iniziali dei cinque tratti in inglese: Openness to experience, Conscientiousness, Extroversion,
Agreeableness, Neuroticism.
10
Previsione dei tratti personali
In letteratura, si trovano diversi studi che cercano di portare alla luce le caratteristiche
migliori per descrivere i tratti personali del modello Big Five. Uno dei pi`u importanti `e
quello descritto in [8]. Qui viene utilizzato un corpus composto da testi generici scritti
da circa 2500 studenti autoetichettato, ovvero etichettato8 dagli stessi autori tramite la
compilazione di un questionario. Tale questionario, il Big Five Inventory Questionnaire
[5], assegna un valore per ognuno dei tratti personali del modello Big Five a seguito delle
risposte date ad una serie di domande, accuratamente selezionate sulla base di importanti
studi psicologici. Le feature prese in considerazione in questo caso sono le frequenze di
parole rientranti in un insieme di 88 categorie di LIWC e altri valori statistici estratti
dall’MRC Psycholinguistic Database9 (simile a LIWC, ma con diverse categorie). Queste
sono quindi state usate per la creazione di una tabella di correlazione tra ogni feature e
i tratti personali, tramite il calcolo dei coefficienti di correlazione di Pearson. Questa
tabella `e stata poi presa come riferimento per diversi studi successivi.
Uno tra questi studi `e quello riportato in [4]. Esso `e particolarmente interessante ai
fini di questa tesi in quanto tratta il problema della predizione del profilo di un autore
basato su dati pubblici presenti su Twitter. Tale studio si basa su un corpus composto da
100000 messaggi (detti tweet) suddivisi tra 50 utenti di Twitter, i quali avevano compilato
il Big Five Inventory Questionnaire permettendo di etichettare gli insiemi di tweet con
un valore da 1 a 5 per ogni tratto personale. Per poter selezionare le feature sulle quali
basare la fase di addestramento, `e necessario notare che il contesto di Twitter `e molto
differente da quello di normali blog o testi considerati di norma in letteratura per studiare
il problema della determinazione del profilo di un autore. In primo luogo per la brevit`a
dei messaggi che si possono scrivere (limitati a 140 caratteri), e poi per l’indipendenza
dei contenuti tra un messaggio e quello successivo di uno stesso autore. Non `e detto,
quindi, che le stesse feature usate con successo in altri studi possano andare bene anche
per analisi basate su Twitter. Le feature calcolate per ogni utente considerate in [4] sono
in totale 116 e principalmente di quattro tipi:
• relative a Twitter: numero di sostenitori (detti follower), numero di utenti seguiti,
densit`a della rete sociale, numero di riferimenti ad altri utenti10, numero di repliche
a messaggi di altri utenti, numero di hashtag11, numero di collegamenti ipertestuali,
parole per tweet;
• relative a statistiche e categorie di LIWC: numero di parole per frase, numero
di parolacce per tweet, percentuale di parole che riguardano processi psicologici
(emozioni, ecc.), processi temporali, processi personali (occupazione, salute, ecc.);
8
Etichettare in questo contesto significa assegnare i valori dei cinque tratti personali ad ogni testo.
In generale, significa assegnare le risposte ai problemi da risolvere, con le quali confrontare i risultati
determinati dall’algoritmo di previsione.
9
Il database MRC `e composto da una lista di oltre 150000 parole, per le quali vi sono delle statistiche
a disposizione, cio`e dei valori riguardanti certe particolari frequenze o conteggi.
10
Un riferimento ad un altro utente in un tweet si ottiene ponendo il simbolo @ prima del nome
dell’altro utente.
11
In un tweet, un # seguito da una stringa permette di legare quel tweet ad un argomento (definito
dalla stringa).
11
2. Stato dell’arte
• relative all’MRC Psycholinguistic Database: media dei valori di certe statistiche di
tutte le parole di ogni utente;
• relative al General Inquirer Dataset12: media del valore di sentimento su tutte le
parole contenute nei tweet di un autore.
Queste feature sono poi state usate per addestrare due algoritmi di regressione (Gaussian
Process e ZeroR) e per prevedere i valori dei tratti personali degli autori seguendo il
metodo di cross-validazione a 10 campionamenti, per il quale il corpus viene diviso in
10 parti uguali e, per ognuna di esse, si utilizza un algoritmo per predire i valori dei
tratti personali degli elementi contenuti nella parte in esame, addestrando prima lo stesso
algoritmo su tutti gli altri elementi non compresi in quella parte. Ad ogni iterazione
viene calcolato l’errore medio delle predizioni effettuate e, infine, viene calcolata la media
degli errori medi delle 10 iterazioni. I risultati ottenuti da questo studio mostrano che
non vi `e particolare differenza tra i due algoritmi utilizzati. Inoltre, sembra che il tratto
“nevroticismo” sia il pi`u difficile da predire, mentre il tratto “apertura mentale” sembra
essere il pi`u facile.
Un aspetto di questo studio interessante ai fini di questa tesi consiste nella tabella di
correlazione tra feature e tratti personali, riportata in Fig. 2.2. In essa, sono mostrate le
feature significativamente correlate con almeno uno dei tratti personali. Alcuni risultati
sono intuitivamente sensati, altri invece non molto. Nello studio in esame, questi risultati
non sono stati considerati per selezionare ulteriormente le feature da usare nella fase di
addestramento, mentre sono invece stati presi in considerazione durante lo sviluppo del
metodo esposto in questa tesi.
12
Il General Inquirer Dataset `e un dizionario nel quale ad ogni parola `e assegnato un valore da -1 a +1
in base al sentimento.
12
Previsione dei tratti personali
Figura 2.2: Correlazioni significative tra feature e tratti personali. I numeri indicano il valore
di correlazione di Pearson. I valori in grassetto indicano dove una feature `e significativamente
correlata con un tratto personale. Valori negativi indicano una correlazione all’opposto.
13
Capitolo 3
Metodo adottato
In questo capitolo verr`a descritto in dettaglio il metodo presentato alla competizione
PAN 2015 (in seguito, PAN15). Ci si soffermer`a in particolare sulle feature prese in
considerazione e come si `e proceduto ad una maggiore selezione delle stesse. Verranno
quindi descritti gli algoritmi di previsione utilizzati per risolvere il problema della
determinazione del profilo di un insieme di utenti di Twitter.
3.1 Competizione PAN15
La sfida riguardante la determinazione del profilo di un autore durante PAN15 era
impostata nel modo seguente:
Corpus
• documenti contenenti tweet scritti da uno stesso autore
Lingue
• inglese
• spagnolo
• italiano
• olandese
Attributi da determinare
• sesso (maschile o femminile)
• fascia d’et`a (18-24, 25-34, 35-49, 50+) (solo per inglese e spagnolo)
• 5 tratti Big Five (un valore compreso tra -0.5 e + 0.5 per ogni tratto)
15
3. Metodo adottato
Per una maggior comprensione di questo capitolo e dei successivi, verr`a ora introdotta
una particolare nomenclatura.
Si definisce istanza una tupla D, L , dove D indica il documento contente un insieme
di tweet scritti da uno stesso autore, ed L indica la lingua in cui sono scritti tali tweet.
Si definisce problema la determinazione di una delle caratteristiche del profilo del-
l’autore a cui `e associata un’istanza, ovvero sesso, fascia d’et`a, nevroticismo, apertura
mentale, amicalit`a, coscienziosit`a o estroversione.
Un’insieme di istanze per le quali si conosce la risposta corretta per un determinato
problema si dice insieme di training, in quanto verr`a poi usato nella fase di addestramento
dell’algoritmo di previsione.
L’efficacia del metodo risolutivo deve infine essere verificata usando un certo insieme
di istanze delle quali si conosce la risposta al problema scelto, il cosiddetto insieme di
test. Le previsioni vengono confrontate con le risposte corrette e il risultato di questi
confronti viene espresso in termini di accuratezza o di Root-Mean-Square Error (RMSE).
In particolare, la prima verr`a usata, in questo caso, per valutare la bont`a delle previsioni
per i problemi di determinazione di sesso e fascia d’et`a ed `e calcolata come rapporto
tra numero di previsioni corrette e numero totale di previsioni. Il secondo, invece, verr`a
usato per valutare la bont`a delle previsioni dei valori di ognuno dei cinque tratti personali
e corrisponde alla deviazione standard delle differenze tra i valori stimati e i valori reali.
3.2 Approccio
`E stato scelto di considerare la previsione di ogni attributo del profilo come un problema
a s´e stante, in quanto si `e supposto che ogni attributo sia correlato ad un diverso insieme
di caratteristiche di scrittura, fatto confermato dalle analisi di correlazione trovate in
letteratura (vedere Cap. 2). Lo stesso ragionamento `e stato seguito per le lingue, per cui
i problemi da risolvere sono stati in totale 26 (6 attributi × 4 lingue + 1 attributo ×
2 lingue), ricordando che il problema della fascia d’et`a `e da risolvere solo per la lingua
inglese e quella spagnola.
L’analisi dell’insieme di dati messi a disposizione dei partecipanti alla competizione,
ha portato ad ulteriori scelte, che hanno influito sulla fase di selezione delle feature e
degli algoritmi di previsione da usare per la risoluzione di ogni problema.
L’approccio seguito `e basato sull’utilizzo di tre tipi di feature (stilometriche, di
contenuto e ibride). A seguito della fase di selezione delle feature, dall’insieme totale
di queste sono stati estratti dei sottogruppi, ognuno associato alla risoluzione di un
particolare problema. Inoltre, ognuno di questi problemi `e stato associato a un particolare
algoritmo di previsione, scelto tra tre possibilit`a. La selezione delle feature e degli algoritmi
da utilizzare `e stata effettuata tramite il metodo chiamato leave-one-out, secondo il quale,
per ogni lingua, l’insieme di test `e costituito da una sola istanza, mentre le restanti
vengono considerate insieme di training, e l’accuratezza o l’RMSE finali vengono calcolati
come media delle accuratezze o degli RMSE ottenuti iterando il procedimento su tutto
l’insieme di istanze di ogni lingua.
16
Analisi del corpus
Lingua Prima Dopo
Inglese 152 83
Spagnolo 100 50
Italiano 38 19
Olandese 34 18
Tabella 3.1: Numero di istanze totali nel corpus prima e dopo l’unione delle istanze ripetute.
3.3 Analisi del corpus
L’analisi dell’insieme di dati messo a disposizione dei partecipanti ha portato a notare
che vi erano istanze per le quali la lingua e le soluzioni di tutti i problemi erano le stesse.
L’unico elemento differente erano gli insiemi di tweet. Queste istanze sono state definite
ripetizioni ed `e stato supposto che esse fossero collegate allo stesso utente di Twitter.
Preso atto di ci`o, si `e deciso di unire in un’unica istanza tutti gli insiemi di tweet
collegati allo stesso autore, ottenendo cos`ı un corpus modificato1.
La supposizione (poi confermata da ulteriori analisi riportate nella Sez. 5.3) alla base
di questa decisione `e stata che la presenza di istanze appartenenti allo stesso autore,
bench`e con insiemi di tweet differenti, poteva influire durante la fase di addestramento,
portando il modello ad essere pi`u tendente alle caratteristiche di scrittura di un particolare
autore, invece che a quelle di una classe di autori.
In Tab. 3.1 `e riportato il numero di istanze presenti nel corpus prima e dopo la
modifica, suddivise a seconda della lingua dei tweet.
3.4 Feature utilizzate
La scelta delle feature ha richiesto l’utilizzo di quattro dizionari di parole, uno per ogni
lingua, nei quali le parole erano raggruppate secondo argomento (ad esempio “sport”,
“famiglia”, “religione”, ecc.) oppure secondo la loro funzione (ad esempio “articolo”,
“preposizione”, “negazione”, ecc.). Per la lingua inglese `e stato adottato un dizionario
di LIWC, mentre per le altre lingue si `e proceduto nel modo che segue. Per spagnolo e
olandese i dizionari sono stati costruiti traducendo il dizionario inglese con uno strumento
automatico (nello specifico, Google Translate). Per il solo dizionario olandese, sono
stati sistemati a mano i sottinsiemi di parole appartenenti alle categorie funzionali. Per
la lingua italiana, invece, `e stato manualmente creato l’intero dizionario, basandosi su
quello inglese. Infine, ad ogni dizionario `e stata aggiunta un’ulteriore categoria di parole
chiamata “chat”, all’interno della quale sono state inserite i cinquanta acronimi pi`u usati
nelle chat secondo il sito web NetLingo2.
1
D’ora in avanti (salvo dove altrimenti specificato), in questo capitolo, quando si parler`a di corpus
verr`a inteso il corpus modificato.
2
http://www.netlingo.com/top50/popular-text-terms.php
17
3. Metodo adottato
Template EN ES IT NL
# Move m´as reciente
Photo:
I’m at
I liked a
I favorited a
Ik vind een
#in
Numero totale di template 29 8 12 1
Tabella 3.2: Alcuni esempi di template e i sottoinsiemi del corpus (suddivisi in base alla lingua)
nei quali sono stato trovati. Ad esempio, la prima riga corrisponde ad un template trovato solo
nel sottoinsieme spagnolo di istanze, mentre le altre righe corrispondono a template trovati in pi`u
sottoinsiemi. L’ultima riga contiene il numero totale di template per i quali esiste almeno un
tweet ad essi associato all’interno di ogni sottoinsieme.
Una scelta importante `e stata quella di introdurre la nozione di tweet automatico,
definita come segue. Analizzando il corpus di dati, `e stato determinato un insieme di
sequenze ordinate di n = 1, . . . , 4 parole, chiamate template, secondo questo procedimento:
1. dall’intero corpus, sono stati estratti (con una procedura automatica) tutti i tweet
inizianti con la stessa sequenza ordinata di n parole;
2. dall’insieme precedente, `e stato estratto automaticamente un insieme contenente
tutte e sole quelle sequenze che corrispondevano all’inizio di almeno 3 tweet differenti;
3. il sottoinsieme ottenuto `e stato manualmente analizzato e sono state tenute solo le
sequenze che sembravano appartenere all’inizio di un tweet autogenerato da qualche
applicazione presente su Twitter.
`E cos`ı possibile definire un tweet automatico come tweet la cui sequenza di parole iniziali
corrisponde ad uno dei template estratti con il precedente procedimento. La Tab. 3.2
mostra alcuni esempi di template in relazione al sottoinsieme del corpus nel quale sono
stati trovati.
I tweet automatici sono poi stati utilizzati per suddividere ulteriormente il corpus.
Considerata un’istanza D, L , si denota con DM l’insieme di tweet ottenuto rimuovendo
da D tutti i tweet automatici.
Avendo introdotto tutta la nomenclatura necessaria, `e ora possibile descrivere le
feature che sono state prese in considerazione. Esse sono state raggruppate in tre gruppi,
a seconda della loro funzione:
Contenuto
Feature relative al significato delle parole, legate alle categorie dei dizionari, stret-
tamente legate alla lingua. Vengono calcolate su D, in quanto si `e assunto che
anche il contenuto dei tweet automatici `e informativo riguardo alle preferenze di
contenuto degli autori.
18
Feature utilizzate
Stilometriche
Feature che tendono a catturare le propriet`a strutturali di un tweet in un modo
largamente indipendente dalla lingua e dal contenuto specifico. Non sono, quindi,
basate su dizionario e vengono calcolate sul sottoinsieme DM , in quanto si `e assunto
che i tweet automatici non sono rappresentativi dello stile di scrittura di un autore.
Ibride
Feature di natura stilometrica, ma dipendenti da dizionario. Sono basate sulle
categorie dei dizionari relative a parole che hanno una certa funzione nelle frasi.
Vengono calcolate sui tweet presenti in DM , per lo stesso motivo riportato nella
descrizione del gruppo precedente.
In Tab. 3.3 `e riportata la lista completa delle feature considerate.
Nome feature Descrizione
STILOMETRICHE
allpunc Numero di .,:;
commas Numero di ,
exclmar Numero di !
questma Numero di ?
parenth Numero di parentesi
numbers Numero di numeri
wocount Numero di parole
longwor Numero di parole pi`u lunghe di 6 lettere
upcawor Numero di parole in maiuscolo
carrret Numero di a capo riga (n, r, rn)
atmenti Numero di riferimenti ad altro utente (@-mention)
extlink Numero di collegamenti ipertestuali
hashtag Numero di #
posemot Numero di emoticon positive
negemot Numero di emoticon negative
emotico Numero di emoticon
emotiyn Presenza di emoticon in D (feature binaria)
CONTENUTO
moneywo Numero di parole nella categoria “money”
jobword Numero di parole nella categoria “job or work”
sportwo Numero di parole nella categoria “sports”
televwo Numero di parole nella categoria “tv or movie”
sleepwo Numero di parole nella categoria “sleeping”
eatinwo Numero di parole nella categoria “eating”
sexuawo Numero di parole nella categoria “sexuality”
familwo Numero di parole nella categoria “family”
frienwo Numero di parole nella categoria “friends”
posemwo Numero di parole nella categoria “positive emotion”
negemwo Numero di parole nella categoria “negative emotion”
emotiwo Numero di parole nella categoria “positive emotion”
o “negative emotion”
19
3. Metodo adottato
swearwo Numero di parole nella categoria “swear words”
affecwo Numero di parole nella categoria “affective process”
feeliwo Numero di parole nella categoria “feeling”
religwo Numero di parole nella categoria “religion”
schoowo Numero di parole nella categoria “school”
occupwo Numero di parole nella categoria “occupation”
autotwe Frequenza di tweet automatici, ovvero |DDM |
|D|
autweyn Presenza tweet automatici in D (feature binaria)
IBRIDE
fsipron Numero di parole nella categoria “I”
fplpron Numero di parole nella categoria “we”
ssipron Numero di parole nella categoria “you”
selfref Numero di parole nella categoria “self”
negpart Numero di parole nella categoria “negations”
asspart Numero di parole nella categoria “assents”
article Numero di parole nella categoria “articles”
preposi Numero di parole nella categoria “prepositions”
pronoun Numero di parole nella categoria “pronoun”
slangwo Numero di parole nella categoria “chat acronyms”
Tabella 3.3: Lista di tutte le feature considerate.
3.5 Selezione delle feature
La selezione delle feature pi`u adatte a risolvere singolarmente ognuno dei problemi di
sesso, fascia d’et`a e tratti personali `e stata eseguita partendo dalle informazioni fornite
dalla letteratura e descritte nel Cap. 2. In particolare, lo studio riportato in [13] mostra
che le feature stilometriche sono pi`u eloquenti di quelle di contenuto per quanto riguarda
la determinazione del sesso, mentre `e valido il viceversa per la determinazione della fascia
d’et`a, ma la combinazione dei due tipi offre risultati migliori in entrambi i casi. In [4],
viene mostrata una lista di correlazioni tra alcune feature LIWC e non-LIWC e i cinque
tratti personali Big Five.
Partendo da queste basi, sono stati costruiti circa 40 sottogruppi di feature per ogni
problema. Al fine di trovare il sottogruppo pi`u adeguato ad ogni problema, per ognuno
di essi `e stato eseguito un notevole numero di esperimenti, descritti nel Cap. 4.
3.6 Algoritmi di previsione
Esistono due tipi principali di algoritmi di previsione: i classificatori e i regressori. Un
algoritmo classificatore `e necessario quando si hanno problemi di categorizzazione, come
nel caso della determinazione del sesso o della fascia d’et`a. I problemi la cui soluzione
`e un valore numerico compreso in certo intervallo richiedono, invece, l’utilizzo di un
algoritmo cosiddetto regressore.
20
Algoritmi di previsione
Algoritmo Parametri Alias
SVM Default, con kernel gaussiano e C=1 svm
Random Forest Numero alberi = 500 rf500
Random Forest Numero alberi = 2000 rf2000
Tabella 3.4: Algoritmi di previsione e configurazioni adottate.
Si `e deciso di valutare ogni sottogruppo di feature in relazione a due differenti algoritmi
di previsione, Support Vector Machines (SVM) [2] e Random Forest [1], noti in letteratura
per la loro efficacia e in grado di agire sia come classificatori che come regressori. Per
l’ultimo dei due, sono state prese in considerazione pi`u configurazioni di parametri. In
Tab. 3.4 sono riportati gli algoritmi utilizzati e i parametri scelti.
21
Capitolo 4
Valutazione sperimentale
Come preannunciato nel capitolo precedente, per ogni problema sono stati considerati
circa 40 sottogruppi di feature e 3 algoritmi di previsione. `E stata quindi valutata
l’efficacia di ogni configurazione feature-algoritmo per ognuno dei problemi differenziati
per lingua, per un totale di circa 3120 esperimenti.
Ogni esperimento `e stato effettuato utilizzando la tecnica nota con il nome di leave-one-
out. Nello specifico, per ogni esperimento (identificato da: lingua, problema, sottogruppo
di feature, algoritmo) `e stato considerato l’insieme di istanze T aventi la sua stessa lingua,
e si `e proceduto nel modo seguente:
1. `e stato rimosso un elemento t0 dall’insieme T;
2. `e stato calcolato il valore delle feature selezionate per ogni istanza rimasta in T ed
`e poi stato addestrato l’algoritmo scelto, ottenendo, cos`ı, il modello;
3. il modello `e stato, poi, utilizzato dall’algoritmo stesso per generare una risposta
all’istanza di problema t0;
4. la risposta generata `e stata confrontata con la soluzione vera.
Il procedimento `e stato ripetuto |T| volte, rimuovendo ad ogni iterazione un’istanza
differente e calcolando gli indici di valutazione definiti nella Sez. 3.1.
A seguito di questi esperimenti `e stato possibile scegliere la configurazione feature-
algoritmo migliore in termini di accuratezza o RMSE per ognuno dei problemi. Le
configurazioni selezionate sono elencate in Tab. 4.1.
Al fine di avere dei valori di confronto contro i quali valutare l’efficacia delle configu-
razioni scelte, sono state introdotte tre baseline, ottenute addestrando tutti gli algoritmi
scelti con tutte le feature a disposizione. I risultati, ottenuti mediante leave-one-out come
precedentemente descritto, sono sintetizzati nella Tab. 4.2.
Come si pu`o notare da quest’ultima tabella, ad ogni problema `e stata assegnata una
differente configurazione di algoritmo e feature. I motivi che possono in parte spiegare
un simile risultato potrebbero essere i seguenti:
23
4. Valutazione sperimentale
L Attributo Class./Regr. Sottoinsieme di feature scelto
EN
Sesso rf2000 commas negemot exclmar
Et`a rf2000 allpunc commas exclmar questma parenth numbers
wocount longwor upcawor carrret atmenti extlink
hashtag posemot negemot emotico autotwe
Estro svm wocount questma parenth familwo
Nevro svm selfref fsipron chatacr affecwo emotiwo hashtag
posemot pronoun wocount
Consc rf500 extlink longwor numbers hashtag fsipron selfref
Amica svm questma atmenti allpunc ssipron article longwor
jobword chatacr
Apert rf2000 commas extlink hashtag exclmar questmar parenth
wocount ssipron negpart article feeliwo moneywo
jobword eatinwo familwo negemwo religwo
ES
Sesso svm allpunc commas exclmar questma parenth numbers
wocount longwor upcawor carrret atmenti extlink
hashtag posemot negemot fsipron fplpron ssipron sel-
fref negpart asspart article preposi pronoun slangwo
moneywo jobword sportwo televwo sleepwo eatinwo
sexuawo familwo frienwo posemwo negemwo affecwo
feeliwo
Et`a svm extlink hashtag numbers sleepwo sexuawo
Estro rf2000 longwor carrret questma preposi autweyn emotico
Nevro rf2000 posemot ssipron exclmar selfref extlink
Consc rf500 extlink longwor numbers hashtag fsipron selfref
affecwo emotiwo
Amica svm allpunc commas exclmar questma parenth numbers
wocount longwor upcawor carrret atmenti extlink ha-
shtag posemot negemot + fsipron fplpron ssipron sel-
fref negpart asspart article preposi pronoun slangwo
moneywo jobword sportwo televwo sleepwo eatinwo
sexuawo familwo frienwo posemwo negemwo swearwo
religwo
Apert rf2000 autotwe hashtag preposi wocount religwo
IT
Sesso rf500 asspart fsipron selfref exclmar extlink hashtag
emotiyn
Estro svm allpunc wocount hashtag questma
Nevro rf2000 commas longwor fplpron chatacr autweyn
Consc svm commas extlink hashtag exclmar questmar parenth
wocount ssipron negpart article feeliwo moneywo
jobword eatinwo familwo negemwo religwo
Amica svm posemot exclmar moneywo hashtag pronoun autweyn
Apert svm negpart hashtag atmenti exclmar longwor
24
NL
Sesso rf2000 negemot upcawor preposi
Estro svm questma atmenti allpunc ssipron article longwor jobword
chatacr extlink autweyn
Nevro rf2000 atmenti preposi longwor emotiyn
Consc svm hashtag questma exclmar atmenti posemot wocount extlink
longwor
Amica svm atmenti commas exclmar hashtag autweyn emotiyn
Apert svm negpart hashtag atmenti exclmar longwor
Tabella 4.1: Feature e algoritmi scelti per ogni problema.
Baseline
L Attributo svm rf500 rf2000 Configurazione scelta
EN
Sesso 0.566 0.619 0.619 0.735
Et`a 0.614 0.617 0.605 0.692
Estro 0.185 0.182 0.181 0.165
Nevro 0.243 0.226 0.226 0.208
Consc 0.167 0.158 0.158 0.146
Amica 0.173 0.183 0.183 0.162
Apert 0.157 0.149 0.149 0.143
ES
Sesso 0.760 0.760 0.760 0.820
Et`a 0.400 0.404 0.416 0.580
Estro 0.185 0.177 0.176 0.156
Nevro 0.243 0.220 0.220 0.202
Consc 0.161 0.163 0.162 0.154
Amica 0.162 0.169 0.169 0.157
Apert 0.183 0.183 0.183 0.168
IT
Sesso 0.632 0.705 0.737 0.853
Estro 0.159 0.162 0.162 0.121
Nevro 0.202 0.215 0.215 0.170
Consc 0.126 0.135 0.136 0.113
Amica 0.159 0.165 0.165 0.150
Apert 0.186 0.178 0.177 0.102
NL
Sesso 0.611 0.344 0.333 0.633
Estro 0.131 0.140 0.139 0.105
Nevro 0.206 0.205 0.204 0.156
Consc 0.122 0.125 0.125 0.101
Amica 0.163 0.161 0.162 0.130
Apert 0.121 0.122 0.122 0.104
Tabella 4.2: Risultati ottenuti con le configurazioni scelte e relative baseline. I risultati di Sesso
ed Et`a sono riportati in accuratezza, mentre gli altri corrispondono al valore di RMSE.
25
4. Valutazione sperimentale
Sesso ed Et`a Tratti personali
L Sesso Et`a Joint RMSE Estro Nevro Amica Consc Apert Glob
EN
0.6479 0.7465 0.4718 0.1605 0.1480 0.2323 0.1360 0.1418 0.1445 0.6557
0.8592 0.8380 0.7254 0.1442 0.1250 0.1951 0.1305 0.1101 0.1198 0.7906
ES
0.8523 0.4205 0.3295 0.1562 0.1701 0.1867 0.1463 0.1302 0.1459 0.5867
0.9659 0.7955 0.7727 0.1235 0.1319 0.1613 0.1034 0.1017 0.1108 0.8215
IT
0.5000 - 0.5000 0.1405 0.1004 0.1889 0.1386 0.1298 0.1450 0.6797
0.8611 - 0.8611 0.1044 0.0726 0.1555 0.0527 0.1093 0.0972 0.8658
NL
0.7188 - 0.7188 0.1156 0.1467 0.1393 0.1261 0.0962 0.0696 0.8016
0.9688 - 0.0688 0.0563 0.0750 0.0637 0.0000 0.0619 0.0354 0.9406
Punteggio finale
0.6809
0.8404
Tabella 4.3: Risultati ottenuti alle valutazioni finali. I valori in corsivo corrispondono ai risultati
migliori ottenuti dagli altri partecipanti.
• ogni lingua ha le sue proprie regole grammaticali e i suoi caratteri culturali, perci`o
`e possibile che un uomo di mezza et`a inglese non abbia gli stessi interessi e lo stesso
stile di scrittura di uno stesso tipo di uomo italiano;
• i dizionari usati per Spagnolo, Italiano e Olandese non erano della stessa qualit`a di
quello usato per la lingua Inglese;
• il numero di istanze nel corpus non era lo stesso per ogni lingua, come riportato in
Tab. 3.1.
4.1 Risultati finali
In Tab. 4.3 sono sintetizzati i risultati conseguti al termine della competizione PAN15,
come riportato dagli organizzatori in [11]. Tali risultati sono stati ottenuti applicando il
metodo esposto in questo elaborato su un insieme di dati non noti ai partecipanti e non
ancora resi pubblici. Nella tabella, Sesso ed Et`a sono valutate in base all’accuratezza
delle risposte. Joint corrisponde all’accuratezza delle risposte corrette ad entrambi i
problemi contemporaneamente. Tutti i tratti personali sono valutati in base all’RMSE e
la colonna RMSE corrisponde alla media dei valori ottenuti per i tratti personali. Il valore
Glob `e calcolato nel modo seguente:
Glob =
(1 − RMSE) + Joint
2
Il punteggio finale `e, quindi, calcolato come media dei valori Glob.
Infine, in Tab. 4.4 sono riportati i posizionamenti in classifica rispetto agli altri
partecipanti. Sono stati evidenziate le posizioni rientranti tra le migliori 10.
26
Risultati finali
Sesso ed Et`a Tratti personali
L Sesso Et`a Joint RMSE Estro Nevro Amica Consc Apert Glob
EN 16/22 6/22 15/22 8/22 10/22 13/22 3/22 8/22 11/22 14/22
ES 7/21 20/21 19/21 5/21 8/21 4/21 9/21 3/21 9/21 19/21
IT 17/19 - 17/19 6/19 5/19 4/19 8/19 8/19 5/19 15/19
NL 10/21 - 10/21 4/21 8/21 6/21 7/21 2/21 6/21 9/21
Posizione finale 14/22
Tabella 4.4: Posizionamenti in classifica rispetto agli altri partecipanti. I valori in grassetto si
riferiscono a posizioni rientranti tra le migliori 10.
27
Capitolo 5
Criticit`a della competizione PAN15
Durante lo sviluppo del metodo descritto in questa tesi, sono state riscontrate alcune
criticit`a nell’organizzazione della competizione, tra le quali anche due metodi per ottenere
fraudolentemente alcune soluzioni delle istanze dell’insieme di test finale e, dunque, un
punteggio migliore in classifica. Di queste criticit`a `e stata data tempestiva notifica agli
organizzatori, che hanno provveduto a limitarne gli effetti.
Per comprendere meglio ci`o che verr`a descritto nelle prossime sezioni, `e necessario
sapere che:
• ai partecipanti era richiesto di creare un programma eseguibile che ricevesse in
input un file di istanza e generasse in output un file (nominato a piacere) contenente
le soluzioni a tutti i 7 (o 6) problemi per quell’istanza;
• ai partecipanti `e stato concesso di provare il proprio metodo su un sottoinsieme
dell’insieme di test finale, circa un mese prima della consegna del metodo per la
valutazione finale e definitiva;
• per testare il proprio metodo sulle istanze dell’insieme di test, ai partecipanti era
stato fornito l’accesso ad una piattaforma online chiamata Tira1, sulla quale far
eseguire i programmi creati;
• ogni partecipante poteva visualizzare la cronologia delle esecuzioni del proprio
programma, oltre che standard output, standard error e nomi dei file generati da
esso durante la sua esecuzione;
• i nomi veri degli autori dei tweet erano stati eliminati dalle istanze fornite ai
partecipanti ed erano stati sostituiti da un identificatore univoco (ID);
• ogni istanza era fornita come file XML contenente un certo numero di tweet di uno
stesso autore e l’ID ad esso associato.
1
Sito web di riferimento: http://www.tira.io/
29
5. Criticit`a della competizione PAN15
5.1 Primo metodo fraudolento
Il primo metodo fraudolento si basa sull’utilizzo dello standard output (ma si pu`o applicare,
con i dovuti accorgimenti, anche allo standar error). Bench`e la visualizzazione dello
standard output fosse limitata agli ultimi 1000 caratteri, un eventuale malintenzionato
avrebbe potuto inviare su di esso uno (o pi`u) tweet di ogni istanza dell’insieme di test
parziale fornito durante la fase intermedia. Con esecuzioni ripetute, avrebbe potuto
estrarre tutti i tweet dell’insieme di test parziale. A quel punto, avrebbe potuto ricercare
i tweet estratti direttamente su Twitter, ottenendo i nomi degli utenti ad essi associati.
Eseguendo questa stessa operazione anche per le istanze dell’insieme di training (corpus)
fornito ai partecipanti, il malintenzionato avrebbe potuto associare le soluzioni gi`a note
alle istanze di test.
Pi`u in dettaglio, si consideri un’istanza di test IT = DT , L , con soluzioni ai problemi
non note. Il malintenzionato avrebbe potuto agire nel seguente modo:
1. avrebbe cercato su Twitter i tweet contenuti in tutte le istanze del corpus, ottenendo
l’autore associato ad ognuna di esse;
2. avrebbe cercato su Twitter i tweet contenuti in DT , scoprendo il nome dell’autore
ad essi associato, tale autoreT;
3. avrebbe confrontato autoreT con tutti gli autori delle istanze del corpus;
4. in caso di corrispondenza positiva con l’autore di un’istanza IC del corpus, avrebbe
associato ad IT le stesse risposte di IC ai problemi.
Iterando questo procedimento per tutte le istanze dell’insieme di test parziale, il malin-
tenzionato avrebbe potuto ottenere le risposte associate a una buona parte di queste
istanze.
Come verr`a mostrato nella prossima sezione, non tutte le istanze di questo insieme di
test erano riconducibili a istanze del corpus. In questi casi, il malintenzionato avrebbe
potuto agire manualmente, cercando su Twitter alcune risposte, come sesso e fascia d’et`a
degli autori di esse.
Considerando che le istanze di test parziale erano un sottoinsieme delle istanze di
test finale, con questo metodo si sarebbe potuto ottenere un miglioramento dei risultati
finali e, dunque, un miglior posizionamento in classifica.
5.2 Secondo metodo fraudolento
Il secondo metodo fraudolento si basa sui nomi identificativi delle istanze. Analizzando
tali nomi, si `e scoperto che essi erano dei valori ordinabili, in particolare del tipo
user<numero>. Ordinando tali nomi, si poteva notare che istanze con nomi “vicini”
avevano le stesse risposte a tutti i problemi. Si `e supposto quindi che tali istanze potessero
essere riconducibili allo stesso autore.
30
Secondo metodo fraudolento
In Fig. 5.1 `e riportato un esempio reale del problema. In questo caso, si pu`o
ragionevolmente ipotizzare che user787 avr`a le stesse risposte di user786 e user788.
Figura 5.1: Estratto dei nomi identificativi e delle risposte delle istanze del sottoinsieme del
corpus relativo alla lingua olandese. I valori XX-XX corrispondono alla fascia d’et`a, che per la
lingua olandese non era un problema da risolvere.
Utilizzando lo standard output, o lo standard error oppure direttamente impostando
opportunamente i nomi dei file di output del proprio programma, si `e notato che i nomi
identificativi delle istanze di test erano impostati allo stesso modo di quelle del corpus.
Un’ulteriore verifica (tramite lo standard output), ha permesso di affermare che i
nomi identificativi delle istanze di test potevano essere inseriti tra quelli delle istanze del
corpus, permettendo quindi di ottenere le relative risposte corrette.
Per mostrare il potenziale di questa criticit`a, si `e proceduto nel seguente modo:
1. si sono ricavati i nomi identificativi delle 42 istanze dell’insieme di test inglese (il
pi`u corposo dei quattro), semplicemente osservando i nomi dei file XML generati
dal programma;
2. `e stata costruita manualmente in pochi minuti una mappatura di tali nomi con
quelli del sottoinsieme di istanze inglese del corpus.
Procedendo in tale modo, si sono ottenute le risposte corrette di almeno 34 istanze su 42,
ovvero per l’81% del sottoinsieme di test. Da [11] si rileva che tali istanze corrispondevano
al 24% dell’intero insieme di test inglese.
31
5. Criticit`a della competizione PAN15
5.3 Approfondimenti sul corpus
A seguito della scoperta di ripetizioni tra le istanze del corpus (come anticipato nella
Sez. 3.3), si `e deciso di analizzare l’impatto che esse avrebbero potuto avere durante la
fase di apprendimento degli algoritmi di classificazione. A tal fine sono state usate tre
differenti procedure di cross-validazione basate sul metodo leave-one-out.
Sia Pi
train l’insieme di training durante l’i-esima iterazione di una di queste procedure
e sia pi
test ∈ TL un’istanza di problema usata come istanza di test in tale iterazione, in
modo tale che TL = Pi
train {pi
test}. Le procedure effettuate sono state le seguenti:
• tutte le istanze (TI): leave-one-out usando l’intero insieme TL;
• senza ripetizioni (SRIP): leave-one-out senza ripetizioni dell’istanza di test nell’in-
sieme di training, cio`e da Pi
train sono state rimosse tutte le istanze che risultavano
essere ripetizioni di pi
test;
• senza istanze random (SRAND): leave-one-out senza alcune istanze prese a caso in
numero pari alle ripetizioni dell’istanza di test, cio`e sono state rimosse da Pi
train
mi istanze prese a caso per ogni istanza di test pi
test, dove mi era il numero di
ripetizioni di pi
test; le istanze tolte a caso non erano ripetizioni di pi
test.
Le procedure descritte sono state ripetute utilizzando 202 differenti sottoinsiemi di
feature ed SVM come algoritmo di previsione. I risultati medi sono sintetizzati nella
Tab. 5.1. Si considerino, ad esempio, i valori di SRAND ed SRIP del problema Et`a per
l’insieme inglese (EN): il valore +15% di SRAND significa che utilizzando tale procedura
si `e ottenuto un miglioramento del 15% rispetto al valore medio calcolato con la procedura
TI, mentre il valore -15% indica un peggioramento rispetto a TI utilizzando la procedura
SRIP.
I dati ottenuti indicano che la presenza di ripetizioni pu`o fortemente influire sulla
procedura di addestramento, in quanto diminuendo le istanze negli insiemi di training,
ma tenendo le ripetizioni dell’istanza di test, le prestazioni medie aumentano per ogni
problema. Viceversa, diminuendo allo stesso modo le istanze, ma eliminando le ripetizioni
si ottiene sempre un peggioramento delle prestazioni.
A seguito di questa analisi, si `e deciso di modificare il corpus unendo in un’unica
istanza i tweet associati a uno stesso autore. In questo modo si `e ottenuto un corpus
avente un minor numero di istanze rispetto all’originale (vedere Tab. 3.1), ma senza
perdere alcuna informazione e senza ripetizioni tra le istanze. L’idea alla base di questa
scelta `e che in tal modo, in fase di addestramento, si sarebbe ottenuto un modello pi`u
corretto, non tendente verso le caratteristiche di scrittura di certi autori, alcuni dei quali
risultavano ripetuti per 4 istanze differenti.
2
Non 40 come descritto nel Cap. 4, in quanto questo approfondimento `e stato eseguito pressoch`e
all’inizio dello sviluppo del lavoro descritto in questa tesi.
32
Approfondimenti sul corpus
EN ES IT NL
Problema SRAND SRIP SRAND SRIP SRAND SRIP SRAND SRIP
Sesso +15% -18% +14% -17% +22% -33% +38% -37%
Et`a +15% -15% +26% -19% – – – –
Estro -0.05 +0.03 -0.05 +0.02 -0.06 +0.03 -0.06 +0.03
Nevro -0.07 +0.05 -0.07 +0.04 -0.09 +0.03 -0.09 +0.06
Consc -0.04 +0.03 -0.07 +0.04 -0.05 +0.03 -0.05 +0.02
Amica -0.04 +0.02 -0.06 +0.02 -0.07 +0.05 -0.05 +0.02
Apert -0.05 +0.03 -0.07 +0.04 -0.08 +0.03 -0.06 +0.03
Tabella 5.1: Differenze medie con i risultati ottenuti utilizzando la procedura TI. Sesso ed Et`a
sono espresse in termini di accuratezza, mentre i restanti sono espressi in termini di RMSE.
33
Capitolo 6
Conclusioni
Risulta difficile capire pienamente i pregi e i difetti delle tecniche sviluppate, in quanto le
istanze dell’insieme di test finale non sono ancora state rese note ai partecipanti.
I risultati sintetizzati in Sez. 4.1 indicano che il metodo proposto in questo lavoro di
tesi permette di ottenere risultati migliori pi`u nella determinazione dei tratti personali,
che nella previsione di sesso e fascia d’et`a.
I risultati migliori si sono riscontrati per le istanze appartenenti ai sottoinsiemi delle
lingue Italiano e Olandese, probabilmente per le ridotte dimensioni di questi insiemi
rispetto agli altri due.
I partecipanti che hanno ottenuto i punteggi pi`u elevati, secondo [11], hanno utilizzato
feature quali Attributi del Secondo Ordine (descritti nella Sez. 2.1), combinazioni di
n-grammi di caratteri e POS, combinazioni di n-grammi estratti con la tecnica TF-IDF
unite a feature basate sullo stile di scrittura. Il secondo classificato per quando riguarda
la lingua spagnola ha inoltre utilizzato svariati dizionari, diversi da quelli di LIWC.
Date le criticit`a riscontrate durante questa competizione e riportate nel Cap. 5, non `e
possibile stabilire la bont`a dei risultati di tutti i partecipanti, ma sembra che la tecnica
degli Attributi del Secondo Ordine sia quella pi`u adatta a risolvere il problema della
determinazione del profilo di un autore, risultando vincitrice per il terzo anno consecutivo.
Combinando questa tecnica con il metodo proposto si sarebbero potuti ottenere risultati
probabilmente migliori, specialmente nella previsione di sesso e fascia d’et`a.
Infine, bench`e i dati di test non siano ancora stati resi noti, dalle analisi descritte nel
Cap. 5 si evince che tra questi dati vi erano anche ripetizioni delle istanze del corpus. La
scelta di lavorare con il corpus modificato potrebbe quindi aver influito negativamente
sui risultati finali. Tenendo il corpus originale, infatti, probabilmente sarebbero stati
selezionati gruppi di feature differenti che avrebbero potuto portare ad un risultato
migliore, ma pi`u legato ai dati della competizione che al problema della determinazione
del profilo di un autore in generale.
35
Bibliografia
[1] L. Breiman. Random forests. Machine learning, 45(1):5–32, 2001. [cited at p. 21]
[2] C.-C. Chang and C.-J. Lin. Libsvm: a library for support vector machines.
ACM Transactions on Intelligent Systems and Technology (TIST), 2(3):27, 2011.
[cited at p. 21]
[3] J. S. Company and L. Wanner. How to use less features and reach better performance
in author gender identification. 2014. [cited at p. 5, 6]
[4] J. Golbeck, C. Robles, M. Edmondson, and K. Turner. Predicting personality
from twitter. In Privacy, Security, Risk and Trust (PASSAT) and 2011 IEEE
Third Inernational Conference on Social Computing (SocialCom), 2011 IEEE Third
International Conference on, pages 149–156. IEEE, 2011. [cited at p. 11, 20]
[5] O. P. John and E. M. Donahue. The ”Big Five” inventory: versions 4a and 5b. 1991.
[cited at p. 11]
[6] A. P. L´opez-Monroy, M. Montes-y G´omez, H. J. Escalante, and L. Villase˜nor-Pineda.
Using intra-profile information for author profiling. 2014. [cited at p. 7]
[7] S. Maharjan, P. Shrestha, and T. Solorio. A simple approach to author profiling in
mapreduce. 2014. [cited at p. 9]
[8] F. Mairesse, M. A. Walker, M. R. Mehl, and R. K. Moore. Using linguistic cues
for the automatic recognition of personality in conversation and text. Journal of
artificial intelligence research, pages 457–500, 2007. [cited at p. 11]
[9] C. D. Manning, P. Raghavan, H. Sch¨utze, et al. Introduction to information retrieval,
volume 1. Cambridge university press Cambridge, 2008. [cited at p. 9]
[10] J. W. Pennebaker, M. E. Francis, and R. J. Booth. Linguistic inquiry and word
count: Liwc 2001. Mahway: Lawrence Erlbaum Associates, 71:2001, 2001. [cited at p. 4]
[11] C. Rangel, P. Rosso, and D. Stein. Overview of the 3nd author profiling task at pan
2015. 2015. [cited at p. 26, 31, 35]
37
BIBLIOGRAFIA
[12] F. Rangel, P. Rosso, I. Chugur, M. Potthast, M. Trenkmann, B. Stein, B. Verhoeven,
and W. Daelemans. Overview of the 2nd author profiling task at pan 2014. 2014.
[cited at p. 6]
[13] J. Schler, M. Koppel, S. Argamon, and J. W. Pennebaker. Effects of age and gender
on blogging. In AAAI Spring Symposium: Computational Approaches to Analyzing
Weblogs, volume 6, pages 199–205, 2006. [cited at p. 3, 4, 6, 20]
[14] K. Sparck Jones. A statistical interpretation of term specificity and its application
in retrieval. Journal of documentation, 28(1):11–21, 1972. [cited at p. 9]
38
Indice analitico
n-gramma, 9
accuratezza, 16
amicalit`a, 10
apertura mentale, 10
attributi del secondo ordine (SOA), 8
bag-of-terms, 7
bag-of-words, vedi bag-of-terms
baseline, 23
Big Five, 10
Big Five Inventory Questionnaire, 11
blog-word, 3
classificatore, 20
corpus, 2
coscienziosit`a, 10
cross-validazione a 10 campionamenti,
12
dizionario, 5
estroversione, 10
etichettare, 11
Eysenck, 10
feature, 3
contenuto, 18
ibride, 19
stilometriche, 19
function word, 3
General Inquirer Dataset, 12
hashtag, 11
IDF, 9
insieme di test, 16
insieme di training, 16
istanza, 16
leave-one-out, 16, 23
LIWC, 4
machine learning, 1
modello, 9
MRC Psycholinguistic Database, 11
nevroticismo, 10
OCEAN, vedi Big Five
PAN, 6
POS, 3
problema, 16
Random Forest, 21
regressore, 20
ripetizioni, 17
RMSE, 16
SVM, 21
tabella di correlazione, 12
template, 18
TF-IDF, 9
tokenizzatore, 9
tratti personali, 10
tweet, 2
tweet automatico, 18
39

More Related Content

Viewers also liked

Reti Neurali
Reti NeuraliReti Neurali
Reti NeuraliAgabiti25
 
Corso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliCorso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliValerio Capozio
 
Introduzione ai Big Data e alla scienza dei dati - I formati dati
Introduzione ai Big Data e alla scienza dei dati - I formati datiIntroduzione ai Big Data e alla scienza dei dati - I formati dati
Introduzione ai Big Data e alla scienza dei dati - I formati datiVincenzo Manzoni
 
Presentazione Manuel Kirschner, Phd symposium UniBZ, 12/2010
Presentazione Manuel Kirschner, Phd symposium UniBZ, 12/2010Presentazione Manuel Kirschner, Phd symposium UniBZ, 12/2010
Presentazione Manuel Kirschner, Phd symposium UniBZ, 12/2010makirs
 
Le tecnologie dei Big Data
Le tecnologie dei Big DataLe tecnologie dei Big Data
Le tecnologie dei Big DataVincenzo Manzoni
 
Big data e analisi predittiva
Big data e analisi predittivaBig data e analisi predittiva
Big data e analisi predittivaAntonio Bucciol
 
Azure Machine Learning (Italian)
Azure Machine Learning (Italian)Azure Machine Learning (Italian)
Azure Machine Learning (Italian)Davide Mauri
 
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataVincenzo Manzoni
 
Applying Transfer Learning in TensorFlow
Applying Transfer Learning in TensorFlowApplying Transfer Learning in TensorFlow
Applying Transfer Learning in TensorFlowScott Thompson
 
Introduzione ai Big Data e alla scienza dei dati - Machine Learning
Introduzione ai Big Data e alla scienza dei dati - Machine LearningIntroduzione ai Big Data e alla scienza dei dati - Machine Learning
Introduzione ai Big Data e alla scienza dei dati - Machine LearningVincenzo Manzoni
 
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...Jürgen Ambrosi
 

Viewers also liked (11)

Reti Neurali
Reti NeuraliReti Neurali
Reti Neurali
 
Corso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliCorso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti Neurali
 
Introduzione ai Big Data e alla scienza dei dati - I formati dati
Introduzione ai Big Data e alla scienza dei dati - I formati datiIntroduzione ai Big Data e alla scienza dei dati - I formati dati
Introduzione ai Big Data e alla scienza dei dati - I formati dati
 
Presentazione Manuel Kirschner, Phd symposium UniBZ, 12/2010
Presentazione Manuel Kirschner, Phd symposium UniBZ, 12/2010Presentazione Manuel Kirschner, Phd symposium UniBZ, 12/2010
Presentazione Manuel Kirschner, Phd symposium UniBZ, 12/2010
 
Le tecnologie dei Big Data
Le tecnologie dei Big DataLe tecnologie dei Big Data
Le tecnologie dei Big Data
 
Big data e analisi predittiva
Big data e analisi predittivaBig data e analisi predittiva
Big data e analisi predittiva
 
Azure Machine Learning (Italian)
Azure Machine Learning (Italian)Azure Machine Learning (Italian)
Azure Machine Learning (Italian)
 
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big Data
 
Applying Transfer Learning in TensorFlow
Applying Transfer Learning in TensorFlowApplying Transfer Learning in TensorFlow
Applying Transfer Learning in TensorFlow
 
Introduzione ai Big Data e alla scienza dei dati - Machine Learning
Introduzione ai Big Data e alla scienza dei dati - Machine LearningIntroduzione ai Big Data e alla scienza dei dati - Machine Learning
Introduzione ai Big Data e alla scienza dei dati - Machine Learning
 
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
7° Sessione - L’intelligenza artificiale a supporto della ricerca, servizi di...
 

Similar to Tecniche basate su machine learning per la determinazione del profilo di un autore su Twitter

"Dillo bene, dillo una volta sola": le insidie e le soddisfazioni della scrit...
"Dillo bene, dillo una volta sola": le insidie e le soddisfazioni della scrit..."Dillo bene, dillo una volta sola": le insidie e le soddisfazioni della scrit...
"Dillo bene, dillo una volta sola": le insidie e le soddisfazioni della scrit...Stefania Manca
 
Presentazione Salonicco- Maria Perifanou
Presentazione Salonicco- Maria PerifanouPresentazione Salonicco- Maria Perifanou
Presentazione Salonicco- Maria PerifanouGrahamAttwell
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...mfurlanetto
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Stefano Costanzo
 
I questionari di valutazione di siti Web. Implicazioni, prospettive teoriche ...
I questionari di valutazione di siti Web. Implicazioni, prospettive teoriche ...I questionari di valutazione di siti Web. Implicazioni, prospettive teoriche ...
I questionari di valutazione di siti Web. Implicazioni, prospettive teoriche ...Valentina Iannaco
 
Il disegno della ricerca qualitativa
Il disegno della ricerca qualitativaIl disegno della ricerca qualitativa
Il disegno della ricerca qualitativaOana Marcu
 
La valutazione della ricerca umanistica: appunti
La valutazione della ricerca umanistica: appuntiLa valutazione della ricerca umanistica: appunti
La valutazione della ricerca umanistica: appuntiGiuseppe De Nicolao
 
Pres corso mcar_scuola
Pres corso mcar_scuolaPres corso mcar_scuola
Pres corso mcar_scuolaannarita
 
Laboratorio di redazioni specialistiche 2012 - 1
Laboratorio di redazioni specialistiche 2012 - 1Laboratorio di redazioni specialistiche 2012 - 1
Laboratorio di redazioni specialistiche 2012 - 1redazionispecialistiche
 
Analisi del contenuto delle autocaratterizzazioni degli allievi in formazione
Analisi del contenuto delle autocaratterizzazioni degli allievi in formazioneAnalisi del contenuto delle autocaratterizzazioni degli allievi in formazione
Analisi del contenuto delle autocaratterizzazioni degli allievi in formazioneState of Mind
 
Comunicazione interculturale e costruzione collaborativa di conoscenza: l’ u...
Comunicazione interculturale e costruzione collaborativa di conoscenza:  l’ u...Comunicazione interculturale e costruzione collaborativa di conoscenza:  l’ u...
Comunicazione interculturale e costruzione collaborativa di conoscenza: l’ u...Mela Bosch
 
Introduzione: dal web 2.0 all'e-l 3.0
Introduzione: dal web 2.0 all'e-l 3.0Introduzione: dal web 2.0 all'e-l 3.0
Introduzione: dal web 2.0 all'e-l 3.0Pier Giuseppe
 
Analisi web e information retrieval
Analisi web e information retrievalAnalisi web e information retrieval
Analisi web e information retrievalalecarenzio
 
[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizio[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizioDrupalDay
 
10. LA PSICOLOGIA DEI NUOVI MEDIA IN PRATICA: COMMERCIO ELETTRONICO E FORMAZI...
10. LA PSICOLOGIA DEI NUOVI MEDIA IN PRATICA: COMMERCIO ELETTRONICO E FORMAZI...10. LA PSICOLOGIA DEI NUOVI MEDIA IN PRATICA: COMMERCIO ELETTRONICO E FORMAZI...
10. LA PSICOLOGIA DEI NUOVI MEDIA IN PRATICA: COMMERCIO ELETTRONICO E FORMAZI...Riva Giuseppe
 
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...RiccardoPietra
 
Social tagging in un ambiente di apprendimento digitale
Social tagging in un ambiente di apprendimento digitaleSocial tagging in un ambiente di apprendimento digitale
Social tagging in un ambiente di apprendimento digitaleStefano Penge
 
Riflessioni sui Documenti ANVUR su abilitazione scientifica
Riflessioni sui Documenti ANVUR su abilitazione scientificaRiflessioni sui Documenti ANVUR su abilitazione scientifica
Riflessioni sui Documenti ANVUR su abilitazione scientificaGiuseppe De Nicolao
 

Similar to Tecniche basate su machine learning per la determinazione del profilo di un autore su Twitter (20)

"Dillo bene, dillo una volta sola": le insidie e le soddisfazioni della scrit...
"Dillo bene, dillo una volta sola": le insidie e le soddisfazioni della scrit..."Dillo bene, dillo una volta sola": le insidie e le soddisfazioni della scrit...
"Dillo bene, dillo una volta sola": le insidie e le soddisfazioni della scrit...
 
Presentazione Salonicco- Maria Perifanou
Presentazione Salonicco- Maria PerifanouPresentazione Salonicco- Maria Perifanou
Presentazione Salonicco- Maria Perifanou
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
 
I questionari di valutazione di siti Web. Implicazioni, prospettive teoriche ...
I questionari di valutazione di siti Web. Implicazioni, prospettive teoriche ...I questionari di valutazione di siti Web. Implicazioni, prospettive teoriche ...
I questionari di valutazione di siti Web. Implicazioni, prospettive teoriche ...
 
Il disegno della ricerca qualitativa
Il disegno della ricerca qualitativaIl disegno della ricerca qualitativa
Il disegno della ricerca qualitativa
 
La valutazione della ricerca umanistica: appunti
La valutazione della ricerca umanistica: appuntiLa valutazione della ricerca umanistica: appunti
La valutazione della ricerca umanistica: appunti
 
Pres corso mcar_scuola
Pres corso mcar_scuolaPres corso mcar_scuola
Pres corso mcar_scuola
 
Laboratorio di redazioni specialistiche 2012 - 1
Laboratorio di redazioni specialistiche 2012 - 1Laboratorio di redazioni specialistiche 2012 - 1
Laboratorio di redazioni specialistiche 2012 - 1
 
Analisi del contenuto delle autocaratterizzazioni degli allievi in formazione
Analisi del contenuto delle autocaratterizzazioni degli allievi in formazioneAnalisi del contenuto delle autocaratterizzazioni degli allievi in formazione
Analisi del contenuto delle autocaratterizzazioni degli allievi in formazione
 
Comunicazione interculturale e costruzione collaborativa di conoscenza: l’ u...
Comunicazione interculturale e costruzione collaborativa di conoscenza:  l’ u...Comunicazione interculturale e costruzione collaborativa di conoscenza:  l’ u...
Comunicazione interculturale e costruzione collaborativa di conoscenza: l’ u...
 
Introduzione: dal web 2.0 all'e-l 3.0
Introduzione: dal web 2.0 all'e-l 3.0Introduzione: dal web 2.0 all'e-l 3.0
Introduzione: dal web 2.0 all'e-l 3.0
 
Analisi web e information retrieval
Analisi web e information retrievalAnalisi web e information retrieval
Analisi web e information retrieval
 
[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizio[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizio
 
10. LA PSICOLOGIA DEI NUOVI MEDIA IN PRATICA: COMMERCIO ELETTRONICO E FORMAZI...
10. LA PSICOLOGIA DEI NUOVI MEDIA IN PRATICA: COMMERCIO ELETTRONICO E FORMAZI...10. LA PSICOLOGIA DEI NUOVI MEDIA IN PRATICA: COMMERCIO ELETTRONICO E FORMAZI...
10. LA PSICOLOGIA DEI NUOVI MEDIA IN PRATICA: COMMERCIO ELETTRONICO E FORMAZI...
 
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
 
ricerca sociale.pdf
ricerca sociale.pdfricerca sociale.pdf
ricerca sociale.pdf
 
Social tagging in un ambiente di apprendimento digitale
Social tagging in un ambiente di apprendimento digitaleSocial tagging in un ambiente di apprendimento digitale
Social tagging in un ambiente di apprendimento digitale
 
Bachelor thesis Calmanovici
Bachelor thesis CalmanoviciBachelor thesis Calmanovici
Bachelor thesis Calmanovici
 
Riflessioni sui Documenti ANVUR su abilitazione scientifica
Riflessioni sui Documenti ANVUR su abilitazione scientificaRiflessioni sui Documenti ANVUR su abilitazione scientifica
Riflessioni sui Documenti ANVUR su abilitazione scientifica
 

Recently uploaded

GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaServizi a rete
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO AntonioServizi a rete
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoServizi a rete
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoServizi a rete
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleServizi a rete
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroServizi a rete
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptxfilippoluciani9
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneServizi a rete
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxtecongo2007
 

Recently uploaded (9)

GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 

Tecniche basate su machine learning per la determinazione del profilo di un autore su Twitter

  • 1. UNIVERSIT`A DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Corso di Laurea Magistrale in Ingegneria Informatica Tecniche basate su machine learning per la determinazione del profilo di un autore su Twitter LAUREANDA RELATORE Alessandra Laderchi prof. Alberto Bartoli CORRELATORI prof. Eric Medvet dott. Andrea De Lorenzo dott. Fabiano Tarlao Anno Accademico 2014/2015
  • 2.
  • 3. Indice 1 Introduzione 1 2 Stato dell’arte 3 2.1 Determinazione del sesso e della fascia d’et`a . . . . . . . . . . . . . . . . . 3 2.1.1 Competizione PAN14 . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.1.1 Lopez-Monroy . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1.2 Shrestha . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Previsione dei tratti personali . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 Metodo adottato 15 3.1 Competizione PAN15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Approccio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 Analisi del corpus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4 Feature utilizzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 Selezione delle feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.6 Algoritmi di previsione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4 Valutazione sperimentale 23 4.1 Risultati finali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5 Criticit`a della competizione PAN15 29 5.1 Primo metodo fraudolento . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.2 Secondo metodo fraudolento . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.3 Approfondimenti sul corpus . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6 Conclusioni 35 Bibliografia 37 Indice analitico 39 3
  • 4.
  • 5. Capitolo 1 Introduzione `E possibile stabilire il profilo di una persona semplicemente analizzando il suo stile di scrittura? Su quali elementi bisogna focalizzarsi per identificare un certo tratto della personalit`a? La determinazione del profilo di un autore basata sull’analisi di testi scritti `e una sfida nata per rispondere a queste domande. Da molti anni si studiano metodi in grado di determinare sesso, et`a e carattere di un autore di testi di vario genere, utilizzando tecniche di apprendimento automatico (machine learning). Il recente avvento dei social media ha dato nuova vita a questo campo di ricerca, fornendo ai ricercatori di tutto il mondo un prezioso materiale di studio: testi lunghi o brevi, molto spesso informali, che lasciano meglio trasparire la personalit`a di chi li produce. L’utilit`a delle ricerche in questo campo la si riscontra in diversi settori. Nell’analisi forense, ad esempio, pu`o essere utile determinare il profilo di un colpevole di cui non si hanno informazioni, ma del quale si hanno tracce scritte. Nel mondo dell’e-commerce, invece, pu`o essere vantaggioso capire il profilo dei clienti, in modo tale da poter offrire loro prodotti che meglio si adattano alla loro personalit`a e che quindi potrebbero essere di loro gradimento. Oppure, meglio ancora, creare interfacce che si adattano al profilo di chi le usa, ad esempio per fornire un’interfaccia semplificata in base all’et`a stimata oppure un diverso layout in base al sesso. La determinazione del profilo di una persona, in generale, pu`o essere anche utilizzata per predire il successo di relazioni professionali o sentimentali, o per attuare il filtraggio di certe informazioni. Il lavoro di tesi svolto riguarda lo sviluppo di un metodo basato su tecniche di machine learning per la determinazione del profilo di un autore di brevi testi ottenuti da Twitter. Esso `e stato sviluppato in occasione della partecipazione a PAN 2015, una competizione annuale internazionale volta ad accrescere la conoscenza in merito alla ricerca di metodologie automatiche in grado di risolvere problemi quali la verifica dell’identit`a dell’autore di un testo, la rivelazione di plagio di documenti e ci`o su cui `e incentrata questa tesi, ovvero la determinazione del profilo di un autore in base a testi scritti. In quest’ultimo caso, a disposizione dei partecipanti sono stati forniti quattro insiemi di dati, ognuno in una lingua differente (inglese, spagnolo, italiano e olandese). 1
  • 6. 1. Introduzione Ogni insieme conteneva un certo numero di documenti, ognuno dei quali era composto da una serie di messaggi di Twitter (detti tweet) scritti da uno stesso autore. Per ogni documento era inoltre fornito il vero profilo del suo autore, composto dai seguenti caratteri: sesso, fascia d’et`a e cinque valori numerici associati a tratti personali ben definiti. Questi insiemi di dati hanno costituito il corpus sul quale `e stato basato il metodo che verr`a esposto in questo elaborato. Il metodo in esame, sviluppato presso il Machine Learning Lab dell’Universit`a degli Studi di Trieste, ha richiesto lo svolgimento di diverse attivit`a, in particolare: • ricerca e sviluppo di un metodo di determinazione del profilo di un autore; • analisi delle risorse attinenti alla competizione; • valutazione sperimentale e confronto con risultati ottenuti utilizzando vari metodi. L’analisi delle risorse attinenti alla competizione ha portato alla scoperta di alcune opportunit`a fraudolente per ottenere un punteggio migliore alla competizione, delle quali si `e dato tempestivo avviso agli organizzatori. La soluzione infine adottata e presentata durante la competizione `e risultata abbastan- za efficace per quanto riguarda la determinazione dei valori dei tratti personali, mentre si `e rivelata non del tutto appropriata per la previsione del sesso e della fascia d’et`a. 2
  • 7. Capitolo 2 Stato dell’arte La determinazione del profilo di un autore basata sullo stile di scrittura `e una sfida affrontata da molti anni, soprattutto per esigenze di marketing o di attivit`a forense, ma anche per studi psicologici e linguistici. Le caratteristiche pi`u richieste del profilo di un autore sono l’et`a, il sesso e il carattere personale. Per il riconoscimento del profilo, i primi studi in materia prendevano in considerazione autori di testi formali. Con l’avvento dei social media, si `e aperta la possibilit`a di collezionare insiemi di testi non pi`u formali e strutturati, ma bens`ı informali e colloquiali, ricchi di nuove informazioni da analizzare. Ai fini del progetto sviluppato, questo capitolo si concentrer`a in particolare sullo studio del riconoscimento di sesso, fascia d’et`a e tratti personali in testi provenienti da social media, descrivendo i principali metodi basati sull’utilizzo di tecniche di machine learning che affrontano questi problemi. 2.1 Determinazione del sesso e della fascia d’et`a Vari studi hanno evidenziato l’esistenza di differenze nello stile e nei contenuti di scrittura tra autori di diverso sesso e tra autori di diverse et`a. In particolare, in [13] viene descritto uno studio fatto su un corpus di circa 40000 blog scritti in inglese. Tale corpus `e stato creato in modo tale che gli autori fossero bilanciati in base al sesso all’interno di determinate fasce d’et`a (13-17, 23-27, e 33-42 anni). Questi due fattori sono quindi stati messi in relazione con due tipi di gruppi di feature1: • relative allo stile, come parti del discorso in generale (chiamate in gergo POS, dall’inglese Parts-Of-Speech), termini detti function word usati per esprimere relazioni tra le parole di una frase, e altre feature legate al mondo del blogging, quali ad esempio collegamenti ipertestuali e particolari blog-word, cio`e neologismi 1 `E una caratteristica misurabile del fenomeno che si vuole analizzare, solitamente rappresentata come valore numerico. Una feature pu`o essere, ad esempio, la percentuale di preposizioni in un testo, oppure il numero totale di volte che una certa parola compare in esso. 3
  • 8. 2. Stato dell’arte che compaiono con un’elevata frequenza nei blog (come ad esempio “lol”, “haha”, ecc.); • relative al contenuto, cio`e riguardanti termini singoli aventi maggior frequenza nel corpus e termini che rientrano in particolari categorie semantiche (come “famiglia”, “lavoro”, “sport”, ecc.) messe a disposizione da un particolare software per analisi di testi chiamato LIWC2 [10]. Per quanto riguarda le differenze tra i sessi, da questo studio `e stato possibile ottenere le seguenti informazioni: • i blogger di sesso femminile tendono a usare pi`u pronomi, parole di assenso/nega- zione, blog-word, mentre dal punto di vista dei contenuti propendono a enfatizzare maggiormente i sentimenti e i rapporti personali; • i blogger di sesso maschile tendono a usare pi`u articoli, preposizioni, collegamenti ipertestuali, mentre dal punto di vista dei contenuti propendono all’enfatizzazione delle informazioni e tendono a parlare di pi`u di politica e tecnologia. Dal punto di vista delle fasce d’et`a, invece, sono emerse le seguenti informazioni: • preposizioni e articoli vengono sempre pi`u usati con l’aumentare dell’et`a; • pronomi, parole di assenso/negazione, blog-word vengono usati sempre meno con l’aumentare dell’et`a; • gli autori nella fascia d’et`a di 13-17 anni tendono a scrivere maggiormente di amicizia e stati d’animo, quelli di et`a rientrante nella fascia 23-27 si concentrano di pi`u sulla vita universitaria, mentre i pi`u adulti trattano temi quali matrimonio, problemi finanziari e politica. Si pu`o notare, quindi, che le stesse feature stilistiche che differenziano gli autori in base al sesso possono essere altres`ı usate per differenziarli in base alle fasce d’et`a. In Fig. 2.1 `e possibile vedere la distribuzione tra i sessi e le fasce d’et`a di parole rientranti in alcune categorie di LIWC, ottenuta da questo studio. L’analisi effettuata in [13] prosegue con la verifica (tramite tecniche di machine lear- ning) di quanto i sopra citati risultati possano essere effettivamente utili nella previsione di sesso e fascia d’et`a di un autore. I risultati ottenuti (in termini di accuratezza) indicano che per quanto riguarda la determinazione del sesso, le feature stilistiche sono pi`u efficaci rispetto a quelle di contenuto, mentre per la determinazione della fascia d’et`a vale il contrario. In entrambi i casi, l’utilizzo combinato di ambedue i tipi di feature ha permesso di ottenere risultati migliori. Quello appena descritto e altri studi in materia hanno in comune l’utilizzo di un numero elevato di feature, superiore al centinaio, molto spesso legato all’insieme di dati 2 LIWC (acronimo di Linguistic Inquiry and Word Count) `e un software di analisi di testi che permette di calcolare la percentuale di parole che rientrano in determinate categorie. LIWC `e basato sull’utilizzo di un dizionario disponibile in diverse lingue e contenente molte parole suddivise in diverse categorie. 4
  • 9. Determinazione del sesso e della fascia d’et`a Figura 2.1: Distribuzione tra i sessi e le fasce d’eta di parole rientranti in alcune categorie di LIWC. La prima colonna a sinistra di ogni tabella indica la categoria di parole di LIWC. I numeri indicano la frequenza di parole appartenenti ad una categoria e l’errore standard. I valori in grassetto evidenziano dove `e pi`u frequente una categoria rispetto agli altri gruppi di studio. I valori 10s, 20s, e 30s corrispondono rispettivamente alle fasce d’et`a 13-17, 23-27, 33-42. presi in esame. Il lavoro descritto in [3] dimostra che `e possibile ottenere ottimi risultati nella determinazione del sesso usando un ristretto numero di feature, principalmente dipendenti dalla struttura dei testi, invece che dai contenuti. Nello specifico, il lavoro sopra citato si basa su un corpus di circa 1600 pagine di blog di opinioni del New York Times, bilanciato tra autori maschili e femminili. Le feature utilizzate sono in totale 83, divise nelle seguenti tipologie: • feature basate sui caratteri, come la frequenza di segni di punteggiatura, la frequenza di lettere maiuscole e il numero totale di caratteri per testo; • feature basate sulle parole, come il numero totale di parole per testo, il numero di parole diverse per testo e il numero di acronimi; • feature basate sulle frasi, come il numero di frasi per testo e il numero di parole per frase; • feature basate su dizionari3, come la percentuale di parole di un testo contenute in uno di tre particolari dizionari (due dizionari di polarit`a, contenenti liste di parole classificate come positive o negative, e un dizionario di parole che riguardano la cultura americana); • feature sintattiche, basate sulle dipendenze grammaticali che intercorrono tra le parole di una frase, come la lunghezza media delle dipendenze. I risultati di accuratezza (ottenuti con tecniche di machine learning) mostrano che l’utilizzo di diversi sottogruppi di queste feature porta a risultati migliori rispetto ad un 3 Un dizionario `e un insieme di parole appartenenti ad una certa categoria. In certi casi, contiene un insieme di parole suddiviso in diverse categorie. 5
  • 10. 2. Stato dell’arte approccio di tipo Bag-Of-Words, basato, cio`e, sulla frequenza di un elevato numero (in questo caso 1000, 2000 e 3000) di parole maggiormente ricorrenti nell’intero insieme di testi. Nello stesso lavoro, viene poi preso in considerazione un sottogruppo di circa 6000 articoli di blog informali, gli stessi usati per il lavoro dell’articolo [13], e vengono usate le stesse feature sopra citate per determinare separatamente il sesso e la fascia d’et`a di ogni autore. Sono poi state aggiunte cinque nuove feature legate alla natura informale dei nuovi blog considerati, allo scopo di migliorare la classificazione delle fasce d’et`a. Le feature aggiunte sono: • numero di errori ortografici per parola; • percentuale di marcatori di discorso (ad esempio “e”, “ma”, “perch´e”, “quindi”); • frequenza di parolacce e abbreviazioni; • uso di forme passive; • ulteriori feature di contenuto che misurano l’utilizzo di parole legate alla scuola, all’universit`a, ai doveri e al tempo libero. I nuovi risultati di accuratezza ottenuti mostrano una lieve diminuzione per la deter- minazione del sesso, ma un notevole aumento per la determinazione della fascia d’et`a. Il lavoro [3] permette quindi di sostenere che non `e tanto importante la quantit`a delle feature usate, ma bens`ı la qualit`a delle stesse. 2.1.1 Competizione PAN14 Dato il crescente interesse per il problema della determinazione del profilo dell’autore di un testo, sono nate diverse competizioni, con lo scopo di far avanzare la ricerca di metodologie efficaci per risolvere al meglio tale sfida. Una di queste competizioni `e quella denominata PAN4, acronimo di Plagiarism Analysis, Authorship Identification, and Near-Duplicate Detection, svolta annualmente dal 2007. Inizialmente incentrata su identificazione dell’autore di un testo, plagio e duplicazione di pagine web, successivamente anche sulla bont`a delle intenzioni degli autori delle pagine di Wikipedia, dal 2013 propone tre sfide differenti: rivelazione di plagio, verifica dell’autore di un testo e determinazione del profilo di un autore. In questa sezione, verranno presi in analisi i metodi migliori di risoluzione (dell’ultimo dei precedenti problemi elencati) durante la competizione PAN svoltasi nel 2014 [12] (in seguito ci si riferir`a ad essa con l’acronimo PAN14). La sfida riguardante la determinazione del profilo di un autore durante PAN14 era impostata nel modo seguente: Corpus (A) testi provenienti da social-media come Netlog 4 Sito web di riferimento: http://pan.webis.de 6
  • 11. Determinazione del sesso e della fascia d’et`a (B) testi provenienti da blog personali (C) messaggi provenienti da Twitter (D) recensioni di hotel provenienti da TripAdvisor Lingue • inglese (per (A), (B), (C) e (D)) • spagnolo (solo per (A), (B) e (C)) Attributi da determinare • sesso (maschile o femminile) • fascia d’et`a (18-24, 25-34, 35-49, 50-64, 65+) 2.1.1.1 Lopez-Monroy Presentato da un gruppo di ricercatori del Laboratorio di Tecnologie del Linguaggio dell’Istituto Nazionale di Astrofisica, Ottica e Elettronica di Puebla (Messico), questo metodo `e risultato vincitore per la sfida in esame durante la competizione PAN14. L’approccio seguito, descritto in [6], consiste in una versione modificata del tipico approccio Bag-Of-Terms, nel quale l’insieme delle feature corrisponde a un elevato numero di termini maggiormente ricorrenti in un documento. Nello specifico, viene costruito un vettore (associato al documento) con tanti elementi quanti sono i termini selezionati. Ogni elemento verr`a poi considerato come una feature. La versione modificata si basa invece sull’utilizzo di Attributi del Secondo Ordine (SOA) per la creazione di sottoprofili da impiegare nella fase di addestramento dei classificatori. I profili considerati, in questo caso, sono 5 per la classificazione della fascia d’et`a e 2 per la classificazione del sesso, corrispondenti alle classi dei tratti da determinare. Il primo passo di questo metodo consiste nella rappresentazione dei termini (contenuti nei documenti del corpus) in relazione ai profili. Al fine di catturare la relazione numerica che vi `e tra ogni termine e ognuno dei profili, vengono definiti i seguenti elementi: M numero totale di termini nel corpus N numero totale di profili {t1, . . . , tM } vettore dei termini contenuti nel corpus {p1, . . . , pN } vettore dei profili rT ij relazione del termine ti con il profilo pj ti = rT i1, . . . , rT iN vettore delle relazioni termine-profilo Pj insieme dei documenti del corpus aventi profilo pj fT ik frequenza del termine ti nel documento dk dk k-esimo documento del corpus in esame 7
  • 12. 2. Stato dell’arte len(dk) numero di termini nel documento dk wij peso relativo del termine ti nel profilo pj rD kj relazione del documento dk con il profilo pj dk = rD k1, . . . , rD kN vettore delle relazioni documento-profilo (SOA) Dk insieme dei termini contenuti nel documento dk Per calcolare il valore della relazione rT ij devono essere presi in considerazione solo i documenti collegati al profilo pj, in quanto la relazione di un termine con un profilo deve essere calcolata sulla base della frequenza del termine nei soli documenti collegati a quel profilo. Un’elevata frequenza relativa `e sintomo della preferenza di un certo termine in un dato insieme di documenti. La determinazione del valore numerico di rT ij parte dal calcolo dei pesi relativi, che, seguendo l’idea sopra esposta, avviene nel seguente modo: wij = k:dk∈Pj log2 1 + fT ik len(dk) (2.1) Ai pesi relativi cos`ı calcolati viene poi applicata una normalizzazione su tutti i profili, in modo tale da considerare la proporzione di ogni termine in ogni profilo. In questo modo, si ottengono i valori numerici delle relazioni di ogni termine con ognuno dei profili: rT ij = wij N i=1 wij (2.2) Tale normalizzazione prende in considerazione i pesi relativi degli altri termini. Ne consegue, quindi, che ogni peso relativo calcolato risulta in relazione con tutti i termini. Il secondo passo da effettuare `e quello di catturare la relazione numerico di ogni documento con ogni profilo, nel seguente modo: dk = ti∈Dk fT ik len(dk) × ti (2.3) Gli elementi di questo vettore vengono definiti Attributi del Secondo Ordine (SOA). L’ultimo passo `e quello della generazione dei sottoprofili. Il motivo che sta alla base di questa fase `e che all’interno di uno stesso profilo (ad esempio quello degli autori di sesso femminile) ci possono essere diverse sfumature (ad esempio autori di sesso femminile casalinghe, oppure giovani gamer), che mettono in luce sottogruppi caratterizzati da attributi differenti. Si procede quindi al raggruppamento dei documenti aventi simili caratteristiche all’interno di uno stesso profilo, utilizzando un algoritmo apposito. Una volta ottenuto l’insieme dei sottoprofili, si ripete il calcolo dei vettori dk considerando questo nuovo insieme come insieme dei profili. Il metodo esposto `e stato, quindi, utilizzato per addestrare due classificatori di tipo LibLINEAR standard, uno per i sessi e l’altro per le fasce d’et`a, scegliendo come insieme di feature i 3000 termini pi`u frequenti e come classi i sottoprofili calcolati. Infine, i termini considerati sono stati: parole, contrazioni, parole con trattini, segni di punteggiatura e un insieme di parole di uso gergale. 8
  • 13. Previsione dei tratti personali 2.1.1.2 Shrestha Presentato da un gruppo di ricercatori dell’Universit`a dell’Alabama a Birmingam (Alaba- ma), questo metodo `e risultato terzo per la sfida rigardante la determinazione del profilo di un autore durante la competizione PAN14. L’approccio adottato, descritto in [7], `e di tipo classico, con un occhio di riguardo ai tempi di elaborazione (che per`o non `e di interesse ai fini di questa tesi). Il primo passo di questo metodo consiste in una pre-elaborazione del corpus, effettuata togliendo dai testi tutti i tag HTML e XML che vi sono presenti. Dopodich`e si passa alla creazione del vettore delle feature. Utilizzando un software cosiddetto tokenizzatore, da ogni documento vengono estratti gli n-grammi5 (con n = {1, 2, 3}) di tutte le parole di tipo punteggiatura, emoticon o stop word, considerate maggiormente importanti per il problema da risolvere. Per ogni n-gramma estratto, viene calcolato un indice usato spesso in letteratura denominato Inverse Document Frequency (IDF) [14]. Lo scopo di tale indice `e quello di quantificare la specificit`a di un n-gramma rispetto al corpus. Sulla base di questo valore, vengono eliminati gli n-grammi che non sono stati usati da almeno due autori, e poi tutti gli n-grammi al di sotto di una certa soglia prefissata. Infine, viene calcolato il valore di un altro indice, chiamato Term Frequency - Inverse Document Frequency (TF-IDF) [9], per ogni n-gramma rimasto. Tale valore, calcolato come prodotto tra la frequenza dell’n-gramma nel documento e la sua IDF, cresce proporzionalmente al numero di volte che il termine appare nel documento, ma `e smorzato dalla frequenza del termine in tutto il corpus, in quanto certi termini appaiono pi`u frequentemente di altri semplicemente per la loro funzione linguistica. In questo modo, per ogni documento si ottiene un vettore di valori TF-IDF per ogni n-gramma selezionato, che corrispondono alle feature. `E quindi possibile passare alla fase di addestramento. In questo caso `e stato utilizzato un algoritmo di regressione logistica, considerando il problema iniziale di classificazione tra 5 fasce d’et`a e 2 sessi, come un unico problema di classificazione di 10 classi combinate. Per la creazione del modello6, sono state estratte le feature con il metodo esposto sopra considerando tutto il corpus di documenti, senza distinguere tra le diverse tipologie di testo, ma mantenendo la divisione tra le lingue. 2.2 Previsione dei tratti personali La diffusione dei social media ha portato ad un incremento delle informazioni personali reperibili in rete. La possibilit`a di esprimersi in un linguaggio non formale, permette di far trasparire la personalit`a di una persona, anche solo da poche righe di testo, o da pochi caratteri come nel caso di Twitter (140 caratteri al massimo a disposizione per ogni messaggio). 5 Un n-gramma `e una sottosequenza ordinata di n elementi appartenenti allo stesso tipo (di solito lettere, fonemi, sillabe, parole, caratteri di punteggiatura, ecc.) di una data sequenza. 6 `E il file che si ottiene come risultato dell’elaborazione di un algoritmo di previsione in fase di apprendimento. Contiene i valori in base ai quali un dato di test verr`a inserito in una certa classe invece che in un’altra. 9
  • 14. 2. Stato dell’arte Queste informazioni vengono inconsciamente utilizzate ogni giorno dagli utenti dei social media, i quali usano queste piattaforme per giudicare le altre persone e stabilire nuove relazioni in base a ci`o che gli altri pubblicano in rete. Vi sono quindi delle caratteristiche di discriminazione che emergono dall’attivit`a online di ogni utente di social media. La vera sfida nella previsione dei tratti personali di un autore sta nello scoprire quali sono queste caratteristiche discriminanti. Prima per`o `e necessario stabilire quali tratti del carattere di una persona contribuiscono a crearne la personalit`a. In letteratura attualmente vengono usati due modelli principali, frutto di anni di studi di psicologia: • il modello di Eysenck, secondo cui la personalit`a `e riducibile a tre tratti, quali nevroticismo, estroversione e psicoticismo; • il modello Big Five, detto anche modello OCEAN7, secondo cui la personalit`a `e riducibile a cinque tratti, quali nevroticismo, estroversione, apertura mentale, amicalit`a e coscienziosit`a. L’ultimo di questi modelli `e quello maggiormente accettato dalla comunit`a internazionale ed `e anche quello usato ai fini di questa tesi. I cinque tratti personali possono essere considerati come valori binari (a evidenziare, ad esempio, se una persona `e introversa o estroversa), oppure come valori all’interno di un certo intervallo (a segnalare quanto una persona `e, ad esempio, estroversa). In ogni caso, i cinque tratti sono caratterizzati nel modo seguente: Nevroticismo Ansiet`a, insicurezza, suscettibilit`a. Una persona nevrotica `e lunatica, nervosa, e facilmente portata a provare emozioni negative. Estroversione Espansivit`a, fiducia, entusiasmo. Una persona estroversa `e amichevole, piena di energia e trae ispirazione dalle situazioni in cui si trova. Apertura mentale Curiosit`a, intelligenza, immaginazione. Chi ha un’elevata apertura mentale tende ad essere artistico, ad avere gusti sofisticati e ad apprezzare differenti punti di vista, idee ed esperienze. Amicalit`a Cooperazione, disponibilit`a, educazione. Una persona con elevato valore di amicalit`a instaura relazioni positive, `e ottimista, fiduciosa e si prende cura degli altri. Coscienziosit`a Responsabilit`a, organizzazione, perseveranza. Un persona coscienziosa `e estre- mamente affidabile, punta al successo e tende ad essere un gran lavoratore e pianificatore. 7 Dalle iniziali dei cinque tratti in inglese: Openness to experience, Conscientiousness, Extroversion, Agreeableness, Neuroticism. 10
  • 15. Previsione dei tratti personali In letteratura, si trovano diversi studi che cercano di portare alla luce le caratteristiche migliori per descrivere i tratti personali del modello Big Five. Uno dei pi`u importanti `e quello descritto in [8]. Qui viene utilizzato un corpus composto da testi generici scritti da circa 2500 studenti autoetichettato, ovvero etichettato8 dagli stessi autori tramite la compilazione di un questionario. Tale questionario, il Big Five Inventory Questionnaire [5], assegna un valore per ognuno dei tratti personali del modello Big Five a seguito delle risposte date ad una serie di domande, accuratamente selezionate sulla base di importanti studi psicologici. Le feature prese in considerazione in questo caso sono le frequenze di parole rientranti in un insieme di 88 categorie di LIWC e altri valori statistici estratti dall’MRC Psycholinguistic Database9 (simile a LIWC, ma con diverse categorie). Queste sono quindi state usate per la creazione di una tabella di correlazione tra ogni feature e i tratti personali, tramite il calcolo dei coefficienti di correlazione di Pearson. Questa tabella `e stata poi presa come riferimento per diversi studi successivi. Uno tra questi studi `e quello riportato in [4]. Esso `e particolarmente interessante ai fini di questa tesi in quanto tratta il problema della predizione del profilo di un autore basato su dati pubblici presenti su Twitter. Tale studio si basa su un corpus composto da 100000 messaggi (detti tweet) suddivisi tra 50 utenti di Twitter, i quali avevano compilato il Big Five Inventory Questionnaire permettendo di etichettare gli insiemi di tweet con un valore da 1 a 5 per ogni tratto personale. Per poter selezionare le feature sulle quali basare la fase di addestramento, `e necessario notare che il contesto di Twitter `e molto differente da quello di normali blog o testi considerati di norma in letteratura per studiare il problema della determinazione del profilo di un autore. In primo luogo per la brevit`a dei messaggi che si possono scrivere (limitati a 140 caratteri), e poi per l’indipendenza dei contenuti tra un messaggio e quello successivo di uno stesso autore. Non `e detto, quindi, che le stesse feature usate con successo in altri studi possano andare bene anche per analisi basate su Twitter. Le feature calcolate per ogni utente considerate in [4] sono in totale 116 e principalmente di quattro tipi: • relative a Twitter: numero di sostenitori (detti follower), numero di utenti seguiti, densit`a della rete sociale, numero di riferimenti ad altri utenti10, numero di repliche a messaggi di altri utenti, numero di hashtag11, numero di collegamenti ipertestuali, parole per tweet; • relative a statistiche e categorie di LIWC: numero di parole per frase, numero di parolacce per tweet, percentuale di parole che riguardano processi psicologici (emozioni, ecc.), processi temporali, processi personali (occupazione, salute, ecc.); 8 Etichettare in questo contesto significa assegnare i valori dei cinque tratti personali ad ogni testo. In generale, significa assegnare le risposte ai problemi da risolvere, con le quali confrontare i risultati determinati dall’algoritmo di previsione. 9 Il database MRC `e composto da una lista di oltre 150000 parole, per le quali vi sono delle statistiche a disposizione, cio`e dei valori riguardanti certe particolari frequenze o conteggi. 10 Un riferimento ad un altro utente in un tweet si ottiene ponendo il simbolo @ prima del nome dell’altro utente. 11 In un tweet, un # seguito da una stringa permette di legare quel tweet ad un argomento (definito dalla stringa). 11
  • 16. 2. Stato dell’arte • relative all’MRC Psycholinguistic Database: media dei valori di certe statistiche di tutte le parole di ogni utente; • relative al General Inquirer Dataset12: media del valore di sentimento su tutte le parole contenute nei tweet di un autore. Queste feature sono poi state usate per addestrare due algoritmi di regressione (Gaussian Process e ZeroR) e per prevedere i valori dei tratti personali degli autori seguendo il metodo di cross-validazione a 10 campionamenti, per il quale il corpus viene diviso in 10 parti uguali e, per ognuna di esse, si utilizza un algoritmo per predire i valori dei tratti personali degli elementi contenuti nella parte in esame, addestrando prima lo stesso algoritmo su tutti gli altri elementi non compresi in quella parte. Ad ogni iterazione viene calcolato l’errore medio delle predizioni effettuate e, infine, viene calcolata la media degli errori medi delle 10 iterazioni. I risultati ottenuti da questo studio mostrano che non vi `e particolare differenza tra i due algoritmi utilizzati. Inoltre, sembra che il tratto “nevroticismo” sia il pi`u difficile da predire, mentre il tratto “apertura mentale” sembra essere il pi`u facile. Un aspetto di questo studio interessante ai fini di questa tesi consiste nella tabella di correlazione tra feature e tratti personali, riportata in Fig. 2.2. In essa, sono mostrate le feature significativamente correlate con almeno uno dei tratti personali. Alcuni risultati sono intuitivamente sensati, altri invece non molto. Nello studio in esame, questi risultati non sono stati considerati per selezionare ulteriormente le feature da usare nella fase di addestramento, mentre sono invece stati presi in considerazione durante lo sviluppo del metodo esposto in questa tesi. 12 Il General Inquirer Dataset `e un dizionario nel quale ad ogni parola `e assegnato un valore da -1 a +1 in base al sentimento. 12
  • 17. Previsione dei tratti personali Figura 2.2: Correlazioni significative tra feature e tratti personali. I numeri indicano il valore di correlazione di Pearson. I valori in grassetto indicano dove una feature `e significativamente correlata con un tratto personale. Valori negativi indicano una correlazione all’opposto. 13
  • 18.
  • 19. Capitolo 3 Metodo adottato In questo capitolo verr`a descritto in dettaglio il metodo presentato alla competizione PAN 2015 (in seguito, PAN15). Ci si soffermer`a in particolare sulle feature prese in considerazione e come si `e proceduto ad una maggiore selezione delle stesse. Verranno quindi descritti gli algoritmi di previsione utilizzati per risolvere il problema della determinazione del profilo di un insieme di utenti di Twitter. 3.1 Competizione PAN15 La sfida riguardante la determinazione del profilo di un autore durante PAN15 era impostata nel modo seguente: Corpus • documenti contenenti tweet scritti da uno stesso autore Lingue • inglese • spagnolo • italiano • olandese Attributi da determinare • sesso (maschile o femminile) • fascia d’et`a (18-24, 25-34, 35-49, 50+) (solo per inglese e spagnolo) • 5 tratti Big Five (un valore compreso tra -0.5 e + 0.5 per ogni tratto) 15
  • 20. 3. Metodo adottato Per una maggior comprensione di questo capitolo e dei successivi, verr`a ora introdotta una particolare nomenclatura. Si definisce istanza una tupla D, L , dove D indica il documento contente un insieme di tweet scritti da uno stesso autore, ed L indica la lingua in cui sono scritti tali tweet. Si definisce problema la determinazione di una delle caratteristiche del profilo del- l’autore a cui `e associata un’istanza, ovvero sesso, fascia d’et`a, nevroticismo, apertura mentale, amicalit`a, coscienziosit`a o estroversione. Un’insieme di istanze per le quali si conosce la risposta corretta per un determinato problema si dice insieme di training, in quanto verr`a poi usato nella fase di addestramento dell’algoritmo di previsione. L’efficacia del metodo risolutivo deve infine essere verificata usando un certo insieme di istanze delle quali si conosce la risposta al problema scelto, il cosiddetto insieme di test. Le previsioni vengono confrontate con le risposte corrette e il risultato di questi confronti viene espresso in termini di accuratezza o di Root-Mean-Square Error (RMSE). In particolare, la prima verr`a usata, in questo caso, per valutare la bont`a delle previsioni per i problemi di determinazione di sesso e fascia d’et`a ed `e calcolata come rapporto tra numero di previsioni corrette e numero totale di previsioni. Il secondo, invece, verr`a usato per valutare la bont`a delle previsioni dei valori di ognuno dei cinque tratti personali e corrisponde alla deviazione standard delle differenze tra i valori stimati e i valori reali. 3.2 Approccio `E stato scelto di considerare la previsione di ogni attributo del profilo come un problema a s´e stante, in quanto si `e supposto che ogni attributo sia correlato ad un diverso insieme di caratteristiche di scrittura, fatto confermato dalle analisi di correlazione trovate in letteratura (vedere Cap. 2). Lo stesso ragionamento `e stato seguito per le lingue, per cui i problemi da risolvere sono stati in totale 26 (6 attributi × 4 lingue + 1 attributo × 2 lingue), ricordando che il problema della fascia d’et`a `e da risolvere solo per la lingua inglese e quella spagnola. L’analisi dell’insieme di dati messi a disposizione dei partecipanti alla competizione, ha portato ad ulteriori scelte, che hanno influito sulla fase di selezione delle feature e degli algoritmi di previsione da usare per la risoluzione di ogni problema. L’approccio seguito `e basato sull’utilizzo di tre tipi di feature (stilometriche, di contenuto e ibride). A seguito della fase di selezione delle feature, dall’insieme totale di queste sono stati estratti dei sottogruppi, ognuno associato alla risoluzione di un particolare problema. Inoltre, ognuno di questi problemi `e stato associato a un particolare algoritmo di previsione, scelto tra tre possibilit`a. La selezione delle feature e degli algoritmi da utilizzare `e stata effettuata tramite il metodo chiamato leave-one-out, secondo il quale, per ogni lingua, l’insieme di test `e costituito da una sola istanza, mentre le restanti vengono considerate insieme di training, e l’accuratezza o l’RMSE finali vengono calcolati come media delle accuratezze o degli RMSE ottenuti iterando il procedimento su tutto l’insieme di istanze di ogni lingua. 16
  • 21. Analisi del corpus Lingua Prima Dopo Inglese 152 83 Spagnolo 100 50 Italiano 38 19 Olandese 34 18 Tabella 3.1: Numero di istanze totali nel corpus prima e dopo l’unione delle istanze ripetute. 3.3 Analisi del corpus L’analisi dell’insieme di dati messo a disposizione dei partecipanti ha portato a notare che vi erano istanze per le quali la lingua e le soluzioni di tutti i problemi erano le stesse. L’unico elemento differente erano gli insiemi di tweet. Queste istanze sono state definite ripetizioni ed `e stato supposto che esse fossero collegate allo stesso utente di Twitter. Preso atto di ci`o, si `e deciso di unire in un’unica istanza tutti gli insiemi di tweet collegati allo stesso autore, ottenendo cos`ı un corpus modificato1. La supposizione (poi confermata da ulteriori analisi riportate nella Sez. 5.3) alla base di questa decisione `e stata che la presenza di istanze appartenenti allo stesso autore, bench`e con insiemi di tweet differenti, poteva influire durante la fase di addestramento, portando il modello ad essere pi`u tendente alle caratteristiche di scrittura di un particolare autore, invece che a quelle di una classe di autori. In Tab. 3.1 `e riportato il numero di istanze presenti nel corpus prima e dopo la modifica, suddivise a seconda della lingua dei tweet. 3.4 Feature utilizzate La scelta delle feature ha richiesto l’utilizzo di quattro dizionari di parole, uno per ogni lingua, nei quali le parole erano raggruppate secondo argomento (ad esempio “sport”, “famiglia”, “religione”, ecc.) oppure secondo la loro funzione (ad esempio “articolo”, “preposizione”, “negazione”, ecc.). Per la lingua inglese `e stato adottato un dizionario di LIWC, mentre per le altre lingue si `e proceduto nel modo che segue. Per spagnolo e olandese i dizionari sono stati costruiti traducendo il dizionario inglese con uno strumento automatico (nello specifico, Google Translate). Per il solo dizionario olandese, sono stati sistemati a mano i sottinsiemi di parole appartenenti alle categorie funzionali. Per la lingua italiana, invece, `e stato manualmente creato l’intero dizionario, basandosi su quello inglese. Infine, ad ogni dizionario `e stata aggiunta un’ulteriore categoria di parole chiamata “chat”, all’interno della quale sono state inserite i cinquanta acronimi pi`u usati nelle chat secondo il sito web NetLingo2. 1 D’ora in avanti (salvo dove altrimenti specificato), in questo capitolo, quando si parler`a di corpus verr`a inteso il corpus modificato. 2 http://www.netlingo.com/top50/popular-text-terms.php 17
  • 22. 3. Metodo adottato Template EN ES IT NL # Move m´as reciente Photo: I’m at I liked a I favorited a Ik vind een #in Numero totale di template 29 8 12 1 Tabella 3.2: Alcuni esempi di template e i sottoinsiemi del corpus (suddivisi in base alla lingua) nei quali sono stato trovati. Ad esempio, la prima riga corrisponde ad un template trovato solo nel sottoinsieme spagnolo di istanze, mentre le altre righe corrispondono a template trovati in pi`u sottoinsiemi. L’ultima riga contiene il numero totale di template per i quali esiste almeno un tweet ad essi associato all’interno di ogni sottoinsieme. Una scelta importante `e stata quella di introdurre la nozione di tweet automatico, definita come segue. Analizzando il corpus di dati, `e stato determinato un insieme di sequenze ordinate di n = 1, . . . , 4 parole, chiamate template, secondo questo procedimento: 1. dall’intero corpus, sono stati estratti (con una procedura automatica) tutti i tweet inizianti con la stessa sequenza ordinata di n parole; 2. dall’insieme precedente, `e stato estratto automaticamente un insieme contenente tutte e sole quelle sequenze che corrispondevano all’inizio di almeno 3 tweet differenti; 3. il sottoinsieme ottenuto `e stato manualmente analizzato e sono state tenute solo le sequenze che sembravano appartenere all’inizio di un tweet autogenerato da qualche applicazione presente su Twitter. `E cos`ı possibile definire un tweet automatico come tweet la cui sequenza di parole iniziali corrisponde ad uno dei template estratti con il precedente procedimento. La Tab. 3.2 mostra alcuni esempi di template in relazione al sottoinsieme del corpus nel quale sono stati trovati. I tweet automatici sono poi stati utilizzati per suddividere ulteriormente il corpus. Considerata un’istanza D, L , si denota con DM l’insieme di tweet ottenuto rimuovendo da D tutti i tweet automatici. Avendo introdotto tutta la nomenclatura necessaria, `e ora possibile descrivere le feature che sono state prese in considerazione. Esse sono state raggruppate in tre gruppi, a seconda della loro funzione: Contenuto Feature relative al significato delle parole, legate alle categorie dei dizionari, stret- tamente legate alla lingua. Vengono calcolate su D, in quanto si `e assunto che anche il contenuto dei tweet automatici `e informativo riguardo alle preferenze di contenuto degli autori. 18
  • 23. Feature utilizzate Stilometriche Feature che tendono a catturare le propriet`a strutturali di un tweet in un modo largamente indipendente dalla lingua e dal contenuto specifico. Non sono, quindi, basate su dizionario e vengono calcolate sul sottoinsieme DM , in quanto si `e assunto che i tweet automatici non sono rappresentativi dello stile di scrittura di un autore. Ibride Feature di natura stilometrica, ma dipendenti da dizionario. Sono basate sulle categorie dei dizionari relative a parole che hanno una certa funzione nelle frasi. Vengono calcolate sui tweet presenti in DM , per lo stesso motivo riportato nella descrizione del gruppo precedente. In Tab. 3.3 `e riportata la lista completa delle feature considerate. Nome feature Descrizione STILOMETRICHE allpunc Numero di .,:; commas Numero di , exclmar Numero di ! questma Numero di ? parenth Numero di parentesi numbers Numero di numeri wocount Numero di parole longwor Numero di parole pi`u lunghe di 6 lettere upcawor Numero di parole in maiuscolo carrret Numero di a capo riga (n, r, rn) atmenti Numero di riferimenti ad altro utente (@-mention) extlink Numero di collegamenti ipertestuali hashtag Numero di # posemot Numero di emoticon positive negemot Numero di emoticon negative emotico Numero di emoticon emotiyn Presenza di emoticon in D (feature binaria) CONTENUTO moneywo Numero di parole nella categoria “money” jobword Numero di parole nella categoria “job or work” sportwo Numero di parole nella categoria “sports” televwo Numero di parole nella categoria “tv or movie” sleepwo Numero di parole nella categoria “sleeping” eatinwo Numero di parole nella categoria “eating” sexuawo Numero di parole nella categoria “sexuality” familwo Numero di parole nella categoria “family” frienwo Numero di parole nella categoria “friends” posemwo Numero di parole nella categoria “positive emotion” negemwo Numero di parole nella categoria “negative emotion” emotiwo Numero di parole nella categoria “positive emotion” o “negative emotion” 19
  • 24. 3. Metodo adottato swearwo Numero di parole nella categoria “swear words” affecwo Numero di parole nella categoria “affective process” feeliwo Numero di parole nella categoria “feeling” religwo Numero di parole nella categoria “religion” schoowo Numero di parole nella categoria “school” occupwo Numero di parole nella categoria “occupation” autotwe Frequenza di tweet automatici, ovvero |DDM | |D| autweyn Presenza tweet automatici in D (feature binaria) IBRIDE fsipron Numero di parole nella categoria “I” fplpron Numero di parole nella categoria “we” ssipron Numero di parole nella categoria “you” selfref Numero di parole nella categoria “self” negpart Numero di parole nella categoria “negations” asspart Numero di parole nella categoria “assents” article Numero di parole nella categoria “articles” preposi Numero di parole nella categoria “prepositions” pronoun Numero di parole nella categoria “pronoun” slangwo Numero di parole nella categoria “chat acronyms” Tabella 3.3: Lista di tutte le feature considerate. 3.5 Selezione delle feature La selezione delle feature pi`u adatte a risolvere singolarmente ognuno dei problemi di sesso, fascia d’et`a e tratti personali `e stata eseguita partendo dalle informazioni fornite dalla letteratura e descritte nel Cap. 2. In particolare, lo studio riportato in [13] mostra che le feature stilometriche sono pi`u eloquenti di quelle di contenuto per quanto riguarda la determinazione del sesso, mentre `e valido il viceversa per la determinazione della fascia d’et`a, ma la combinazione dei due tipi offre risultati migliori in entrambi i casi. In [4], viene mostrata una lista di correlazioni tra alcune feature LIWC e non-LIWC e i cinque tratti personali Big Five. Partendo da queste basi, sono stati costruiti circa 40 sottogruppi di feature per ogni problema. Al fine di trovare il sottogruppo pi`u adeguato ad ogni problema, per ognuno di essi `e stato eseguito un notevole numero di esperimenti, descritti nel Cap. 4. 3.6 Algoritmi di previsione Esistono due tipi principali di algoritmi di previsione: i classificatori e i regressori. Un algoritmo classificatore `e necessario quando si hanno problemi di categorizzazione, come nel caso della determinazione del sesso o della fascia d’et`a. I problemi la cui soluzione `e un valore numerico compreso in certo intervallo richiedono, invece, l’utilizzo di un algoritmo cosiddetto regressore. 20
  • 25. Algoritmi di previsione Algoritmo Parametri Alias SVM Default, con kernel gaussiano e C=1 svm Random Forest Numero alberi = 500 rf500 Random Forest Numero alberi = 2000 rf2000 Tabella 3.4: Algoritmi di previsione e configurazioni adottate. Si `e deciso di valutare ogni sottogruppo di feature in relazione a due differenti algoritmi di previsione, Support Vector Machines (SVM) [2] e Random Forest [1], noti in letteratura per la loro efficacia e in grado di agire sia come classificatori che come regressori. Per l’ultimo dei due, sono state prese in considerazione pi`u configurazioni di parametri. In Tab. 3.4 sono riportati gli algoritmi utilizzati e i parametri scelti. 21
  • 26.
  • 27. Capitolo 4 Valutazione sperimentale Come preannunciato nel capitolo precedente, per ogni problema sono stati considerati circa 40 sottogruppi di feature e 3 algoritmi di previsione. `E stata quindi valutata l’efficacia di ogni configurazione feature-algoritmo per ognuno dei problemi differenziati per lingua, per un totale di circa 3120 esperimenti. Ogni esperimento `e stato effettuato utilizzando la tecnica nota con il nome di leave-one- out. Nello specifico, per ogni esperimento (identificato da: lingua, problema, sottogruppo di feature, algoritmo) `e stato considerato l’insieme di istanze T aventi la sua stessa lingua, e si `e proceduto nel modo seguente: 1. `e stato rimosso un elemento t0 dall’insieme T; 2. `e stato calcolato il valore delle feature selezionate per ogni istanza rimasta in T ed `e poi stato addestrato l’algoritmo scelto, ottenendo, cos`ı, il modello; 3. il modello `e stato, poi, utilizzato dall’algoritmo stesso per generare una risposta all’istanza di problema t0; 4. la risposta generata `e stata confrontata con la soluzione vera. Il procedimento `e stato ripetuto |T| volte, rimuovendo ad ogni iterazione un’istanza differente e calcolando gli indici di valutazione definiti nella Sez. 3.1. A seguito di questi esperimenti `e stato possibile scegliere la configurazione feature- algoritmo migliore in termini di accuratezza o RMSE per ognuno dei problemi. Le configurazioni selezionate sono elencate in Tab. 4.1. Al fine di avere dei valori di confronto contro i quali valutare l’efficacia delle configu- razioni scelte, sono state introdotte tre baseline, ottenute addestrando tutti gli algoritmi scelti con tutte le feature a disposizione. I risultati, ottenuti mediante leave-one-out come precedentemente descritto, sono sintetizzati nella Tab. 4.2. Come si pu`o notare da quest’ultima tabella, ad ogni problema `e stata assegnata una differente configurazione di algoritmo e feature. I motivi che possono in parte spiegare un simile risultato potrebbero essere i seguenti: 23
  • 28. 4. Valutazione sperimentale L Attributo Class./Regr. Sottoinsieme di feature scelto EN Sesso rf2000 commas negemot exclmar Et`a rf2000 allpunc commas exclmar questma parenth numbers wocount longwor upcawor carrret atmenti extlink hashtag posemot negemot emotico autotwe Estro svm wocount questma parenth familwo Nevro svm selfref fsipron chatacr affecwo emotiwo hashtag posemot pronoun wocount Consc rf500 extlink longwor numbers hashtag fsipron selfref Amica svm questma atmenti allpunc ssipron article longwor jobword chatacr Apert rf2000 commas extlink hashtag exclmar questmar parenth wocount ssipron negpart article feeliwo moneywo jobword eatinwo familwo negemwo religwo ES Sesso svm allpunc commas exclmar questma parenth numbers wocount longwor upcawor carrret atmenti extlink hashtag posemot negemot fsipron fplpron ssipron sel- fref negpart asspart article preposi pronoun slangwo moneywo jobword sportwo televwo sleepwo eatinwo sexuawo familwo frienwo posemwo negemwo affecwo feeliwo Et`a svm extlink hashtag numbers sleepwo sexuawo Estro rf2000 longwor carrret questma preposi autweyn emotico Nevro rf2000 posemot ssipron exclmar selfref extlink Consc rf500 extlink longwor numbers hashtag fsipron selfref affecwo emotiwo Amica svm allpunc commas exclmar questma parenth numbers wocount longwor upcawor carrret atmenti extlink ha- shtag posemot negemot + fsipron fplpron ssipron sel- fref negpart asspart article preposi pronoun slangwo moneywo jobword sportwo televwo sleepwo eatinwo sexuawo familwo frienwo posemwo negemwo swearwo religwo Apert rf2000 autotwe hashtag preposi wocount religwo IT Sesso rf500 asspart fsipron selfref exclmar extlink hashtag emotiyn Estro svm allpunc wocount hashtag questma Nevro rf2000 commas longwor fplpron chatacr autweyn Consc svm commas extlink hashtag exclmar questmar parenth wocount ssipron negpart article feeliwo moneywo jobword eatinwo familwo negemwo religwo Amica svm posemot exclmar moneywo hashtag pronoun autweyn Apert svm negpart hashtag atmenti exclmar longwor 24
  • 29. NL Sesso rf2000 negemot upcawor preposi Estro svm questma atmenti allpunc ssipron article longwor jobword chatacr extlink autweyn Nevro rf2000 atmenti preposi longwor emotiyn Consc svm hashtag questma exclmar atmenti posemot wocount extlink longwor Amica svm atmenti commas exclmar hashtag autweyn emotiyn Apert svm negpart hashtag atmenti exclmar longwor Tabella 4.1: Feature e algoritmi scelti per ogni problema. Baseline L Attributo svm rf500 rf2000 Configurazione scelta EN Sesso 0.566 0.619 0.619 0.735 Et`a 0.614 0.617 0.605 0.692 Estro 0.185 0.182 0.181 0.165 Nevro 0.243 0.226 0.226 0.208 Consc 0.167 0.158 0.158 0.146 Amica 0.173 0.183 0.183 0.162 Apert 0.157 0.149 0.149 0.143 ES Sesso 0.760 0.760 0.760 0.820 Et`a 0.400 0.404 0.416 0.580 Estro 0.185 0.177 0.176 0.156 Nevro 0.243 0.220 0.220 0.202 Consc 0.161 0.163 0.162 0.154 Amica 0.162 0.169 0.169 0.157 Apert 0.183 0.183 0.183 0.168 IT Sesso 0.632 0.705 0.737 0.853 Estro 0.159 0.162 0.162 0.121 Nevro 0.202 0.215 0.215 0.170 Consc 0.126 0.135 0.136 0.113 Amica 0.159 0.165 0.165 0.150 Apert 0.186 0.178 0.177 0.102 NL Sesso 0.611 0.344 0.333 0.633 Estro 0.131 0.140 0.139 0.105 Nevro 0.206 0.205 0.204 0.156 Consc 0.122 0.125 0.125 0.101 Amica 0.163 0.161 0.162 0.130 Apert 0.121 0.122 0.122 0.104 Tabella 4.2: Risultati ottenuti con le configurazioni scelte e relative baseline. I risultati di Sesso ed Et`a sono riportati in accuratezza, mentre gli altri corrispondono al valore di RMSE. 25
  • 30. 4. Valutazione sperimentale Sesso ed Et`a Tratti personali L Sesso Et`a Joint RMSE Estro Nevro Amica Consc Apert Glob EN 0.6479 0.7465 0.4718 0.1605 0.1480 0.2323 0.1360 0.1418 0.1445 0.6557 0.8592 0.8380 0.7254 0.1442 0.1250 0.1951 0.1305 0.1101 0.1198 0.7906 ES 0.8523 0.4205 0.3295 0.1562 0.1701 0.1867 0.1463 0.1302 0.1459 0.5867 0.9659 0.7955 0.7727 0.1235 0.1319 0.1613 0.1034 0.1017 0.1108 0.8215 IT 0.5000 - 0.5000 0.1405 0.1004 0.1889 0.1386 0.1298 0.1450 0.6797 0.8611 - 0.8611 0.1044 0.0726 0.1555 0.0527 0.1093 0.0972 0.8658 NL 0.7188 - 0.7188 0.1156 0.1467 0.1393 0.1261 0.0962 0.0696 0.8016 0.9688 - 0.0688 0.0563 0.0750 0.0637 0.0000 0.0619 0.0354 0.9406 Punteggio finale 0.6809 0.8404 Tabella 4.3: Risultati ottenuti alle valutazioni finali. I valori in corsivo corrispondono ai risultati migliori ottenuti dagli altri partecipanti. • ogni lingua ha le sue proprie regole grammaticali e i suoi caratteri culturali, perci`o `e possibile che un uomo di mezza et`a inglese non abbia gli stessi interessi e lo stesso stile di scrittura di uno stesso tipo di uomo italiano; • i dizionari usati per Spagnolo, Italiano e Olandese non erano della stessa qualit`a di quello usato per la lingua Inglese; • il numero di istanze nel corpus non era lo stesso per ogni lingua, come riportato in Tab. 3.1. 4.1 Risultati finali In Tab. 4.3 sono sintetizzati i risultati conseguti al termine della competizione PAN15, come riportato dagli organizzatori in [11]. Tali risultati sono stati ottenuti applicando il metodo esposto in questo elaborato su un insieme di dati non noti ai partecipanti e non ancora resi pubblici. Nella tabella, Sesso ed Et`a sono valutate in base all’accuratezza delle risposte. Joint corrisponde all’accuratezza delle risposte corrette ad entrambi i problemi contemporaneamente. Tutti i tratti personali sono valutati in base all’RMSE e la colonna RMSE corrisponde alla media dei valori ottenuti per i tratti personali. Il valore Glob `e calcolato nel modo seguente: Glob = (1 − RMSE) + Joint 2 Il punteggio finale `e, quindi, calcolato come media dei valori Glob. Infine, in Tab. 4.4 sono riportati i posizionamenti in classifica rispetto agli altri partecipanti. Sono stati evidenziate le posizioni rientranti tra le migliori 10. 26
  • 31. Risultati finali Sesso ed Et`a Tratti personali L Sesso Et`a Joint RMSE Estro Nevro Amica Consc Apert Glob EN 16/22 6/22 15/22 8/22 10/22 13/22 3/22 8/22 11/22 14/22 ES 7/21 20/21 19/21 5/21 8/21 4/21 9/21 3/21 9/21 19/21 IT 17/19 - 17/19 6/19 5/19 4/19 8/19 8/19 5/19 15/19 NL 10/21 - 10/21 4/21 8/21 6/21 7/21 2/21 6/21 9/21 Posizione finale 14/22 Tabella 4.4: Posizionamenti in classifica rispetto agli altri partecipanti. I valori in grassetto si riferiscono a posizioni rientranti tra le migliori 10. 27
  • 32.
  • 33. Capitolo 5 Criticit`a della competizione PAN15 Durante lo sviluppo del metodo descritto in questa tesi, sono state riscontrate alcune criticit`a nell’organizzazione della competizione, tra le quali anche due metodi per ottenere fraudolentemente alcune soluzioni delle istanze dell’insieme di test finale e, dunque, un punteggio migliore in classifica. Di queste criticit`a `e stata data tempestiva notifica agli organizzatori, che hanno provveduto a limitarne gli effetti. Per comprendere meglio ci`o che verr`a descritto nelle prossime sezioni, `e necessario sapere che: • ai partecipanti era richiesto di creare un programma eseguibile che ricevesse in input un file di istanza e generasse in output un file (nominato a piacere) contenente le soluzioni a tutti i 7 (o 6) problemi per quell’istanza; • ai partecipanti `e stato concesso di provare il proprio metodo su un sottoinsieme dell’insieme di test finale, circa un mese prima della consegna del metodo per la valutazione finale e definitiva; • per testare il proprio metodo sulle istanze dell’insieme di test, ai partecipanti era stato fornito l’accesso ad una piattaforma online chiamata Tira1, sulla quale far eseguire i programmi creati; • ogni partecipante poteva visualizzare la cronologia delle esecuzioni del proprio programma, oltre che standard output, standard error e nomi dei file generati da esso durante la sua esecuzione; • i nomi veri degli autori dei tweet erano stati eliminati dalle istanze fornite ai partecipanti ed erano stati sostituiti da un identificatore univoco (ID); • ogni istanza era fornita come file XML contenente un certo numero di tweet di uno stesso autore e l’ID ad esso associato. 1 Sito web di riferimento: http://www.tira.io/ 29
  • 34. 5. Criticit`a della competizione PAN15 5.1 Primo metodo fraudolento Il primo metodo fraudolento si basa sull’utilizzo dello standard output (ma si pu`o applicare, con i dovuti accorgimenti, anche allo standar error). Bench`e la visualizzazione dello standard output fosse limitata agli ultimi 1000 caratteri, un eventuale malintenzionato avrebbe potuto inviare su di esso uno (o pi`u) tweet di ogni istanza dell’insieme di test parziale fornito durante la fase intermedia. Con esecuzioni ripetute, avrebbe potuto estrarre tutti i tweet dell’insieme di test parziale. A quel punto, avrebbe potuto ricercare i tweet estratti direttamente su Twitter, ottenendo i nomi degli utenti ad essi associati. Eseguendo questa stessa operazione anche per le istanze dell’insieme di training (corpus) fornito ai partecipanti, il malintenzionato avrebbe potuto associare le soluzioni gi`a note alle istanze di test. Pi`u in dettaglio, si consideri un’istanza di test IT = DT , L , con soluzioni ai problemi non note. Il malintenzionato avrebbe potuto agire nel seguente modo: 1. avrebbe cercato su Twitter i tweet contenuti in tutte le istanze del corpus, ottenendo l’autore associato ad ognuna di esse; 2. avrebbe cercato su Twitter i tweet contenuti in DT , scoprendo il nome dell’autore ad essi associato, tale autoreT; 3. avrebbe confrontato autoreT con tutti gli autori delle istanze del corpus; 4. in caso di corrispondenza positiva con l’autore di un’istanza IC del corpus, avrebbe associato ad IT le stesse risposte di IC ai problemi. Iterando questo procedimento per tutte le istanze dell’insieme di test parziale, il malin- tenzionato avrebbe potuto ottenere le risposte associate a una buona parte di queste istanze. Come verr`a mostrato nella prossima sezione, non tutte le istanze di questo insieme di test erano riconducibili a istanze del corpus. In questi casi, il malintenzionato avrebbe potuto agire manualmente, cercando su Twitter alcune risposte, come sesso e fascia d’et`a degli autori di esse. Considerando che le istanze di test parziale erano un sottoinsieme delle istanze di test finale, con questo metodo si sarebbe potuto ottenere un miglioramento dei risultati finali e, dunque, un miglior posizionamento in classifica. 5.2 Secondo metodo fraudolento Il secondo metodo fraudolento si basa sui nomi identificativi delle istanze. Analizzando tali nomi, si `e scoperto che essi erano dei valori ordinabili, in particolare del tipo user<numero>. Ordinando tali nomi, si poteva notare che istanze con nomi “vicini” avevano le stesse risposte a tutti i problemi. Si `e supposto quindi che tali istanze potessero essere riconducibili allo stesso autore. 30
  • 35. Secondo metodo fraudolento In Fig. 5.1 `e riportato un esempio reale del problema. In questo caso, si pu`o ragionevolmente ipotizzare che user787 avr`a le stesse risposte di user786 e user788. Figura 5.1: Estratto dei nomi identificativi e delle risposte delle istanze del sottoinsieme del corpus relativo alla lingua olandese. I valori XX-XX corrispondono alla fascia d’et`a, che per la lingua olandese non era un problema da risolvere. Utilizzando lo standard output, o lo standard error oppure direttamente impostando opportunamente i nomi dei file di output del proprio programma, si `e notato che i nomi identificativi delle istanze di test erano impostati allo stesso modo di quelle del corpus. Un’ulteriore verifica (tramite lo standard output), ha permesso di affermare che i nomi identificativi delle istanze di test potevano essere inseriti tra quelli delle istanze del corpus, permettendo quindi di ottenere le relative risposte corrette. Per mostrare il potenziale di questa criticit`a, si `e proceduto nel seguente modo: 1. si sono ricavati i nomi identificativi delle 42 istanze dell’insieme di test inglese (il pi`u corposo dei quattro), semplicemente osservando i nomi dei file XML generati dal programma; 2. `e stata costruita manualmente in pochi minuti una mappatura di tali nomi con quelli del sottoinsieme di istanze inglese del corpus. Procedendo in tale modo, si sono ottenute le risposte corrette di almeno 34 istanze su 42, ovvero per l’81% del sottoinsieme di test. Da [11] si rileva che tali istanze corrispondevano al 24% dell’intero insieme di test inglese. 31
  • 36. 5. Criticit`a della competizione PAN15 5.3 Approfondimenti sul corpus A seguito della scoperta di ripetizioni tra le istanze del corpus (come anticipato nella Sez. 3.3), si `e deciso di analizzare l’impatto che esse avrebbero potuto avere durante la fase di apprendimento degli algoritmi di classificazione. A tal fine sono state usate tre differenti procedure di cross-validazione basate sul metodo leave-one-out. Sia Pi train l’insieme di training durante l’i-esima iterazione di una di queste procedure e sia pi test ∈ TL un’istanza di problema usata come istanza di test in tale iterazione, in modo tale che TL = Pi train {pi test}. Le procedure effettuate sono state le seguenti: • tutte le istanze (TI): leave-one-out usando l’intero insieme TL; • senza ripetizioni (SRIP): leave-one-out senza ripetizioni dell’istanza di test nell’in- sieme di training, cio`e da Pi train sono state rimosse tutte le istanze che risultavano essere ripetizioni di pi test; • senza istanze random (SRAND): leave-one-out senza alcune istanze prese a caso in numero pari alle ripetizioni dell’istanza di test, cio`e sono state rimosse da Pi train mi istanze prese a caso per ogni istanza di test pi test, dove mi era il numero di ripetizioni di pi test; le istanze tolte a caso non erano ripetizioni di pi test. Le procedure descritte sono state ripetute utilizzando 202 differenti sottoinsiemi di feature ed SVM come algoritmo di previsione. I risultati medi sono sintetizzati nella Tab. 5.1. Si considerino, ad esempio, i valori di SRAND ed SRIP del problema Et`a per l’insieme inglese (EN): il valore +15% di SRAND significa che utilizzando tale procedura si `e ottenuto un miglioramento del 15% rispetto al valore medio calcolato con la procedura TI, mentre il valore -15% indica un peggioramento rispetto a TI utilizzando la procedura SRIP. I dati ottenuti indicano che la presenza di ripetizioni pu`o fortemente influire sulla procedura di addestramento, in quanto diminuendo le istanze negli insiemi di training, ma tenendo le ripetizioni dell’istanza di test, le prestazioni medie aumentano per ogni problema. Viceversa, diminuendo allo stesso modo le istanze, ma eliminando le ripetizioni si ottiene sempre un peggioramento delle prestazioni. A seguito di questa analisi, si `e deciso di modificare il corpus unendo in un’unica istanza i tweet associati a uno stesso autore. In questo modo si `e ottenuto un corpus avente un minor numero di istanze rispetto all’originale (vedere Tab. 3.1), ma senza perdere alcuna informazione e senza ripetizioni tra le istanze. L’idea alla base di questa scelta `e che in tal modo, in fase di addestramento, si sarebbe ottenuto un modello pi`u corretto, non tendente verso le caratteristiche di scrittura di certi autori, alcuni dei quali risultavano ripetuti per 4 istanze differenti. 2 Non 40 come descritto nel Cap. 4, in quanto questo approfondimento `e stato eseguito pressoch`e all’inizio dello sviluppo del lavoro descritto in questa tesi. 32
  • 37. Approfondimenti sul corpus EN ES IT NL Problema SRAND SRIP SRAND SRIP SRAND SRIP SRAND SRIP Sesso +15% -18% +14% -17% +22% -33% +38% -37% Et`a +15% -15% +26% -19% – – – – Estro -0.05 +0.03 -0.05 +0.02 -0.06 +0.03 -0.06 +0.03 Nevro -0.07 +0.05 -0.07 +0.04 -0.09 +0.03 -0.09 +0.06 Consc -0.04 +0.03 -0.07 +0.04 -0.05 +0.03 -0.05 +0.02 Amica -0.04 +0.02 -0.06 +0.02 -0.07 +0.05 -0.05 +0.02 Apert -0.05 +0.03 -0.07 +0.04 -0.08 +0.03 -0.06 +0.03 Tabella 5.1: Differenze medie con i risultati ottenuti utilizzando la procedura TI. Sesso ed Et`a sono espresse in termini di accuratezza, mentre i restanti sono espressi in termini di RMSE. 33
  • 38.
  • 39. Capitolo 6 Conclusioni Risulta difficile capire pienamente i pregi e i difetti delle tecniche sviluppate, in quanto le istanze dell’insieme di test finale non sono ancora state rese note ai partecipanti. I risultati sintetizzati in Sez. 4.1 indicano che il metodo proposto in questo lavoro di tesi permette di ottenere risultati migliori pi`u nella determinazione dei tratti personali, che nella previsione di sesso e fascia d’et`a. I risultati migliori si sono riscontrati per le istanze appartenenti ai sottoinsiemi delle lingue Italiano e Olandese, probabilmente per le ridotte dimensioni di questi insiemi rispetto agli altri due. I partecipanti che hanno ottenuto i punteggi pi`u elevati, secondo [11], hanno utilizzato feature quali Attributi del Secondo Ordine (descritti nella Sez. 2.1), combinazioni di n-grammi di caratteri e POS, combinazioni di n-grammi estratti con la tecnica TF-IDF unite a feature basate sullo stile di scrittura. Il secondo classificato per quando riguarda la lingua spagnola ha inoltre utilizzato svariati dizionari, diversi da quelli di LIWC. Date le criticit`a riscontrate durante questa competizione e riportate nel Cap. 5, non `e possibile stabilire la bont`a dei risultati di tutti i partecipanti, ma sembra che la tecnica degli Attributi del Secondo Ordine sia quella pi`u adatta a risolvere il problema della determinazione del profilo di un autore, risultando vincitrice per il terzo anno consecutivo. Combinando questa tecnica con il metodo proposto si sarebbero potuti ottenere risultati probabilmente migliori, specialmente nella previsione di sesso e fascia d’et`a. Infine, bench`e i dati di test non siano ancora stati resi noti, dalle analisi descritte nel Cap. 5 si evince che tra questi dati vi erano anche ripetizioni delle istanze del corpus. La scelta di lavorare con il corpus modificato potrebbe quindi aver influito negativamente sui risultati finali. Tenendo il corpus originale, infatti, probabilmente sarebbero stati selezionati gruppi di feature differenti che avrebbero potuto portare ad un risultato migliore, ma pi`u legato ai dati della competizione che al problema della determinazione del profilo di un autore in generale. 35
  • 40.
  • 41. Bibliografia [1] L. Breiman. Random forests. Machine learning, 45(1):5–32, 2001. [cited at p. 21] [2] C.-C. Chang and C.-J. Lin. Libsvm: a library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3):27, 2011. [cited at p. 21] [3] J. S. Company and L. Wanner. How to use less features and reach better performance in author gender identification. 2014. [cited at p. 5, 6] [4] J. Golbeck, C. Robles, M. Edmondson, and K. Turner. Predicting personality from twitter. In Privacy, Security, Risk and Trust (PASSAT) and 2011 IEEE Third Inernational Conference on Social Computing (SocialCom), 2011 IEEE Third International Conference on, pages 149–156. IEEE, 2011. [cited at p. 11, 20] [5] O. P. John and E. M. Donahue. The ”Big Five” inventory: versions 4a and 5b. 1991. [cited at p. 11] [6] A. P. L´opez-Monroy, M. Montes-y G´omez, H. J. Escalante, and L. Villase˜nor-Pineda. Using intra-profile information for author profiling. 2014. [cited at p. 7] [7] S. Maharjan, P. Shrestha, and T. Solorio. A simple approach to author profiling in mapreduce. 2014. [cited at p. 9] [8] F. Mairesse, M. A. Walker, M. R. Mehl, and R. K. Moore. Using linguistic cues for the automatic recognition of personality in conversation and text. Journal of artificial intelligence research, pages 457–500, 2007. [cited at p. 11] [9] C. D. Manning, P. Raghavan, H. Sch¨utze, et al. Introduction to information retrieval, volume 1. Cambridge university press Cambridge, 2008. [cited at p. 9] [10] J. W. Pennebaker, M. E. Francis, and R. J. Booth. Linguistic inquiry and word count: Liwc 2001. Mahway: Lawrence Erlbaum Associates, 71:2001, 2001. [cited at p. 4] [11] C. Rangel, P. Rosso, and D. Stein. Overview of the 3nd author profiling task at pan 2015. 2015. [cited at p. 26, 31, 35] 37
  • 42. BIBLIOGRAFIA [12] F. Rangel, P. Rosso, I. Chugur, M. Potthast, M. Trenkmann, B. Stein, B. Verhoeven, and W. Daelemans. Overview of the 2nd author profiling task at pan 2014. 2014. [cited at p. 6] [13] J. Schler, M. Koppel, S. Argamon, and J. W. Pennebaker. Effects of age and gender on blogging. In AAAI Spring Symposium: Computational Approaches to Analyzing Weblogs, volume 6, pages 199–205, 2006. [cited at p. 3, 4, 6, 20] [14] K. Sparck Jones. A statistical interpretation of term specificity and its application in retrieval. Journal of documentation, 28(1):11–21, 1972. [cited at p. 9] 38
  • 43. Indice analitico n-gramma, 9 accuratezza, 16 amicalit`a, 10 apertura mentale, 10 attributi del secondo ordine (SOA), 8 bag-of-terms, 7 bag-of-words, vedi bag-of-terms baseline, 23 Big Five, 10 Big Five Inventory Questionnaire, 11 blog-word, 3 classificatore, 20 corpus, 2 coscienziosit`a, 10 cross-validazione a 10 campionamenti, 12 dizionario, 5 estroversione, 10 etichettare, 11 Eysenck, 10 feature, 3 contenuto, 18 ibride, 19 stilometriche, 19 function word, 3 General Inquirer Dataset, 12 hashtag, 11 IDF, 9 insieme di test, 16 insieme di training, 16 istanza, 16 leave-one-out, 16, 23 LIWC, 4 machine learning, 1 modello, 9 MRC Psycholinguistic Database, 11 nevroticismo, 10 OCEAN, vedi Big Five PAN, 6 POS, 3 problema, 16 Random Forest, 21 regressore, 20 ripetizioni, 17 RMSE, 16 SVM, 21 tabella di correlazione, 12 template, 18 TF-IDF, 9 tokenizzatore, 9 tratti personali, 10 tweet, 2 tweet automatico, 18 39