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

Post on 13-Apr-2017

262 views 2 download

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

“output” — 2015/10/7 — 8:12 — page 1 — #1

UNIVERSITA DEGLI STUDI DI TRIESTEDipartimento di Ingegneria e Architettura

Corso di Laurea Magistrale in Ingegneria Informatica

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

LAUREANDA RELATORE

Alessandra Laderchi prof. Alberto Bartoli

CORRELATORI

prof. Eric Medvetdott. Andrea De Lorenzo

dott. Fabiano Tarlao

Anno Accademico 2014/2015

“output” — 2015/10/7 — 8:12 — page 2 — #2

“output” — 2015/10/7 — 8:12 — page 3 — #3

Indice

1 Introduzione 1

2 Stato dell’arte 32.1 Determinazione del sesso e della fascia d’eta . . . . . . . . . . . . . . . . . 3

2.1.1 Competizione PAN14 . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.1.1 Lopez-Monroy . . . . . . . . . . . . . . . . . . . . . . . . 72.1.1.2 Shrestha . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Previsione dei tratti personali . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Metodo adottato 153.1 Competizione PAN15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Approccio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Analisi del corpus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.4 Feature utilizzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.5 Selezione delle feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.6 Algoritmi di previsione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4 Valutazione sperimentale 234.1 Risultati finali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5 Criticita della competizione PAN15 295.1 Primo metodo fraudolento . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.2 Secondo metodo fraudolento . . . . . . . . . . . . . . . . . . . . . . . . . . 305.3 Approfondimenti sul corpus . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6 Conclusioni 35

Bibliografia 37

Indice analitico 39

3

“output” — 2015/10/7 — 8:12 — page 4 — #4

“output” — 2015/10/7 — 8:12 — page 1 — #5

Capitolo 1Introduzione

E possibile stabilire il profilo di una persona semplicemente analizzando il suo stile discrittura? Su quali elementi bisogna focalizzarsi per identificare un certo tratto dellapersonalita? La determinazione del profilo di un autore basata sull’analisi di testi scrittie una sfida nata per rispondere a queste domande.

Da molti anni si studiano metodi in grado di determinare sesso, eta e carattere diun autore di testi di vario genere, utilizzando tecniche di apprendimento automatico(machine learning). Il recente avvento dei social media ha dato nuova vita a questocampo 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 personalitadi chi li produce.

L’utilita delle ricerche in questo campo la si riscontra in diversi settori. Nell’analisiforense, ad esempio, puo essere utile determinare il profilo di un colpevole di cui non sihanno informazioni, ma del quale si hanno tracce scritte. Nel mondo dell’e-commerce,invece, puo essere vantaggioso capire il profilo dei clienti, in modo tale da poter offrireloro prodotti che meglio si adattano alla loro personalita e che quindi potrebbero esseredi loro gradimento. Oppure, meglio ancora, creare interfacce che si adattano al profilodi chi le usa, ad esempio per fornire un’interfaccia semplificata in base all’eta stimataoppure un diverso layout in base al sesso. La determinazione del profilo di una persona,in generale, puo essere anche utilizzata per predire il successo di relazioni professionali osentimentali, o per attuare il filtraggio di certe informazioni.

Il lavoro di tesi svolto riguarda lo sviluppo di un metodo basato su tecniche dimachine learning per la determinazione del profilo di un autore di brevi testi ottenutida Twitter. Esso e stato sviluppato in occasione della partecipazione a PAN 2015,una competizione annuale internazionale volta ad accrescere la conoscenza in meritoalla ricerca di metodologie automatiche in grado di risolvere problemi quali la verificadell’identita dell’autore di un testo, la rivelazione di plagio di documenti e cio su cui eincentrata questa tesi, ovvero la determinazione del profilo di un autore in base a testiscritti. In quest’ultimo caso, a disposizione dei partecipanti sono stati forniti quattroinsiemi di dati, ognuno in una lingua differente (inglese, spagnolo, italiano e olandese).

1

“output” — 2015/10/7 — 8:12 — page 2 — #6

1. Introduzione

Ogni insieme conteneva un certo numero di documenti, ognuno dei quali era compostoda una serie di messaggi di Twitter (detti tweet) scritti da uno stesso autore. Perogni documento era inoltre fornito il vero profilo del suo autore, composto dai seguenticaratteri: sesso, fascia d’eta e cinque valori numerici associati a tratti personali bendefiniti. Questi insiemi di dati hanno costituito il corpus sul quale e stato basato ilmetodo che verra esposto in questo elaborato.

Il metodo in esame, sviluppato presso il Machine Learning Lab dell’Universita degliStudi di Trieste, ha richiesto lo svolgimento di diverse attivita, 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 alcuneopportunita fraudolente per ottenere un punteggio migliore alla competizione, delle qualisi 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 sie rivelata non del tutto appropriata per la previsione del sesso e della fascia d’eta.

2

“output” — 2015/10/7 — 8:12 — page 3 — #7

Capitolo 2Stato dell’arte

La determinazione del profilo di un autore basata sullo stile di scrittura e una sfidaaffrontata da molti anni, soprattutto per esigenze di marketing o di attivita forense, maanche per studi psicologici e linguistici. Le caratteristiche piu richieste del profilo di unautore sono l’eta, il sesso e il carattere personale.

Per il riconoscimento del profilo, i primi studi in materia prendevano in considerazioneautori di testi formali. Con l’avvento dei social media, si e aperta la possibilita dicollezionare insiemi di testi non piu formali e strutturati, ma bensı informali e colloquiali,ricchi di nuove informazioni da analizzare.

Ai fini del progetto sviluppato, questo capitolo si concentrera in particolare sullostudio del riconoscimento di sesso, fascia d’eta e tratti personali in testi provenienti dasocial media, descrivendo i principali metodi basati sull’utilizzo di tecniche di machinelearning che affrontano questi problemi.

2.1 Determinazione del sesso e della fascia d’eta

Vari studi hanno evidenziato l’esistenza di differenze nello stile e nei contenuti di scritturatra autori di diverso sesso e tra autori di diverse eta. In particolare, in [13] vienedescritto uno studio fatto su un corpus di circa 40000 blog scritti in inglese. Tale corpuse stato creato in modo tale che gli autori fossero bilanciati in base al sesso all’interno dideterminate fasce d’eta (13-17, 23-27, e 33-42 anni). Questi due fattori sono quindi statimessi 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 esprimererelazioni tra le parole di una frase, e altre feature legate al mondo del blogging,quali ad esempio collegamenti ipertestuali e particolari blog-word , cioe neologismi

1E una caratteristica misurabile del fenomeno che si vuole analizzare, solitamente rappresentata comevalore numerico. Una feature puo essere, ad esempio, la percentuale di preposizioni in un testo, oppure ilnumero totale di volte che una certa parola compare in esso.

3

“output” — 2015/10/7 — 8:12 — page 4 — #8

2. Stato dell’arte

che compaiono con un’elevata frequenza nei blog (come ad esempio “lol”, “haha”,ecc.);

• relative al contenuto, cioe riguardanti termini singoli aventi maggior frequenza nelcorpus e termini che rientrano in particolari categorie semantiche (come “famiglia”,“lavoro”, “sport”, ecc.) messe a disposizione da un particolare software per analisidi testi chiamato LIWC2 [10].

Per quanto riguarda le differenze tra i sessi, da questo studio e stato possibile ottenerele seguenti informazioni:

• i blogger di sesso femminile tendono a usare piu pronomi, parole di assenso/nega-zione, blog-word, mentre dal punto di vista dei contenuti propendono a enfatizzaremaggiormente i sentimenti e i rapporti personali;

• i blogger di sesso maschile tendono a usare piu articoli, preposizioni, collegamentiipertestuali, mentre dal punto di vista dei contenuti propendono all’enfatizzazionedelle informazioni e tendono a parlare di piu di politica e tecnologia.

Dal punto di vista delle fasce d’eta, invece, sono emerse le seguenti informazioni:

• preposizioni e articoli vengono sempre piu usati con l’aumentare dell’eta;

• pronomi, parole di assenso/negazione, blog-word vengono usati sempre meno conl’aumentare dell’eta;

• gli autori nella fascia d’eta di 13-17 anni tendono a scrivere maggiormente diamicizia e stati d’animo, quelli di eta rientrante nella fascia 23-27 si concentranodi piu sulla vita universitaria, mentre i piu adulti trattano temi quali matrimonio,problemi finanziari e politica.

Si puo notare, quindi, che le stesse feature stilistiche che differenziano gli autori in baseal sesso possono essere altresı usate per differenziarli in base alle fasce d’eta.

In Fig. 2.1 e possibile vedere la distribuzione tra i sessi e le fasce d’eta di parolerientranti 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 previsionedi sesso e fascia d’eta di un autore. I risultati ottenuti (in termini di accuratezza) indicanoche per quanto riguarda la determinazione del sesso, le feature stilistiche sono piu efficacirispetto a quelle di contenuto, mentre per la determinazione della fascia d’eta vale ilcontrario. In entrambi i casi, l’utilizzo combinato di ambedue i tipi di feature ha permessodi ottenere risultati migliori.

Quello appena descritto e altri studi in materia hanno in comune l’utilizzo di unnumero elevato di feature, superiore al centinaio, molto spesso legato all’insieme di dati

2LIWC (acronimo di Linguistic Inquiry and Word Count) e un software di analisi di testi che permettedi calcolare la percentuale di parole che rientrano in determinate categorie. LIWC e basato sull’utilizzodi un dizionario disponibile in diverse lingue e contenente molte parole suddivise in diverse categorie.

4

“output” — 2015/10/7 — 8:12 — page 5 — #9

Determinazione del sesso e della fascia d’eta

Figura 2.1: Distribuzione tra i sessi e le fasce d’eta di parole rientranti in alcune categorie diLIWC. La prima colonna a sinistra di ogni tabella indica la categoria di parole di LIWC. I numeriindicano la frequenza di parole appartenenti ad una categoria e l’errore standard. I valori ingrassetto evidenziano dove e piu frequente una categoria rispetto agli altri gruppi di studio. Ivalori 10s, 20s, e 30s corrispondono rispettivamente alle fasce d’eta 13-17, 23-27, 33-42.

presi in esame. Il lavoro descritto in [3] dimostra che e possibile ottenere ottimi risultatinella determinazione del sesso usando un ristretto numero di feature, principalmentedipendenti dalla struttura dei testi, invece che dai contenuti. Nello specifico, il lavorosopra citato si basa su un corpus di circa 1600 pagine di blog di opinioni del New YorkTimes, 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 frequenzadi lettere maiuscole e il numero totale di caratteri per testo;

• feature basate sulle parole, come il numero totale di parole per testo, il numero diparole diverse per testo e il numero di acronimi;

• feature basate sulle frasi, come il numero di frasi per testo e il numero di paroleper frase;

• feature basate su dizionari3, come la percentuale di parole di un testo contenute inuno di tre particolari dizionari (due dizionari di polarita, contenenti liste di paroleclassificate come positive o negative, e un dizionario di parole che riguardano lacultura americana);

• feature sintattiche, basate sulle dipendenze grammaticali che intercorrono tra leparole di una frase, come la lunghezza media delle dipendenze.

I risultati di accuratezza (ottenuti con tecniche di machine learning) mostrano chel’utilizzo di diversi sottogruppi di queste feature porta a risultati migliori rispetto ad un

3Un dizionario e un insieme di parole appartenenti ad una certa categoria. In certi casi, contiene uninsieme di parole suddiviso in diverse categorie.

5

“output” — 2015/10/7 — 8:12 — page 6 — #10

2. Stato dell’arte

approccio di tipo Bag-Of-Words, basato, cioe, sulla frequenza di un elevato numero (inquesto caso 1000, 2000 e 3000) di parole maggiormente ricorrenti nell’intero insieme ditesti. Nello stesso lavoro, viene poi preso in considerazione un sottogruppo di circa 6000articoli di blog informali, gli stessi usati per il lavoro dell’articolo [13], e vengono usatele stesse feature sopra citate per determinare separatamente il sesso e la fascia d’eta diogni autore. Sono poi state aggiunte cinque nuove feature legate alla natura informaledei nuovi blog considerati, allo scopo di migliorare la classificazione delle fasce d’eta. Lefeature aggiunte sono:

• numero di errori ortografici per parola;

• percentuale di marcatori di discorso (ad esempio “e”, “ma”, “perche”, “quindi”);

• frequenza di parolacce e abbreviazioni;

• uso di forme passive;

• ulteriori feature di contenuto che misurano l’utilizzo di parole legate alla scuola,all’universita, 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’eta.Il lavoro [3] permette quindi di sostenere che non e tanto importante la quantita dellefeature usate, ma bensı la qualita delle stesse.

2.1.1 Competizione PAN14

Dato il crescente interesse per il problema della determinazione del profilo dell’autoredi un testo, sono nate diverse competizioni, con lo scopo di far avanzare la ricerca dimetodologie efficaci per risolvere al meglio tale sfida.

Una di queste competizioni e quella denominata PAN4, acronimo di PlagiarismAnalysis, Authorship Identification, and Near-Duplicate Detection, svolta annualmentedal 2007. Inizialmente incentrata su identificazione dell’autore di un testo, plagio eduplicazione di pagine web, successivamente anche sulla bonta delle intenzioni degliautori delle pagine di Wikipedia, dal 2013 propone tre sfide differenti: rivelazione diplagio, 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’ultimodei precedenti problemi elencati) durante la competizione PAN svoltasi nel 2014 [12] (inseguito ci si riferira ad essa con l’acronimo PAN14).

La sfida riguardante la determinazione del profilo di un autore durante PAN14 eraimpostata nel modo seguente:

Corpus

(A) testi provenienti da social-media come Netlog

4Sito web di riferimento: http://pan.webis.de

6

“output” — 2015/10/7 — 8:12 — page 7 — #11

Determinazione del sesso e della fascia d’eta

(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’eta (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 Linguaggiodell’Istituto Nazionale di Astrofisica, Ottica e Elettronica di Puebla (Messico), questometodo e risultato vincitore per la sfida in esame durante la competizione PAN14.

L’approccio seguito, descritto in [6], consiste in una versione modificata del tipicoapproccio Bag-Of-Terms, nel quale l’insieme delle feature corrisponde a un elevato numerodi termini maggiormente ricorrenti in un documento. Nello specifico, viene costruito unvettore (associato al documento) con tanti elementi quanti sono i termini selezionati.Ogni elemento verra 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 deiclassificatori. I profili considerati, in questo caso, sono 5 per la classificazione dellafascia d’eta e 2 per la classificazione del sesso, corrispondenti alle classi dei tratti dadeterminare.

Il primo passo di questo metodo consiste nella rappresentazione dei termini (contenutinei documenti del corpus) in relazione ai profili. Al fine di catturare la relazione numericache 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

rTij relazione del termine ti con il profilo pj

ti = 〈rTi1, . . . , rTiN 〉 vettore delle relazioni termine-profilo

Pj insieme dei documenti del corpus aventi profilo pj

fTik frequenza del termine ti nel documento dk

dk k-esimo documento del corpus in esame

7

“output” — 2015/10/7 — 8:12 — page 8 — #12

2. Stato dell’arte

len(dk) numero di termini nel documento dk

wij peso relativo del termine ti nel profilo pj

rDkj relazione del documento dk con il profilo pj

dk = 〈rDk1, . . . , rDkN 〉 vettore delle relazioni documento-profilo (SOA)

Dk insieme dei termini contenuti nel documento dk

Per calcolare il valore della relazione rTij devono essere presi in considerazione solo idocumenti collegati al profilo pj , in quanto la relazione di un termine con un profilo deveessere calcolata sulla base della frequenza del termine nei soli documenti collegati a quelprofilo. Un’elevata frequenza relativa e sintomo della preferenza di un certo termine inun dato insieme di documenti. La determinazione del valore numerico di rTij parte dalcalcolo dei pesi relativi, che, seguendo l’idea sopra esposta, avviene nel seguente modo:

wij =∑

k:dk∈Pj

log2

(1 +

fTik

len(dk)

)(2.1)

Ai pesi relativi cosı calcolati viene poi applicata una normalizzazione su tutti i profili, inmodo 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:

rTij =wij

N∑i=1

wij

(2.2)

Tale normalizzazione prende in considerazione i pesi relativi degli altri termini. Neconsegue, 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 ognidocumento con ogni profilo, nel seguente modo:

dk =∑ti∈Dk

fTik

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 sessofemminile) ci possono essere diverse sfumature (ad esempio autori di sesso femminilecasalinghe, oppure giovani gamer), che mettono in luce sottogruppi caratterizzati daattributi differenti. Si procede quindi al raggruppamento dei documenti aventi similicaratteristiche 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’eta, scegliendo come insiemedi feature i 3000 termini piu frequenti e come classi i sottoprofili calcolati. Infine, i terminiconsiderati sono stati: parole, contrazioni, parole con trattini, segni di punteggiatura eun insieme di parole di uso gergale.

8

“output” — 2015/10/7 — 8:12 — page 9 — #13

Previsione dei tratti personali

2.1.1.2 Shrestha

Presentato da un gruppo di ricercatori dell’Universita dell’Alabama a Birmingam (Alaba-ma), questo metodo e risultato terzo per la sfida rigardante la determinazione del profilodi un autore durante la competizione PAN14.

L’approccio adottato, descritto in [7], e di tipo classico, con un occhio di riguardo aitempi di elaborazione (che pero non e di interesse ai fini di questa tesi).

Il primo passo di questo metodo consiste in una pre-elaborazione del corpus, effettuatatogliendo dai testi tutti i tag HTML e XML che vi sono presenti.

Dopodiche si passa alla creazione del vettore delle feature. Utilizzando un softwarecosiddetto 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, consideratemaggiormente importanti per il problema da risolvere. Per ogni n-gramma estratto, vienecalcolato un indice usato spesso in letteratura denominato Inverse Document Frequency(IDF) [14]. Lo scopo di tale indice e quello di quantificare la specificita di un n-grammarispetto al corpus. Sulla base di questo valore, vengono eliminati gli n-grammi che nonsono stati usati da almeno due autori, e poi tutti gli n-grammi al di sotto di una certasoglia prefissata. Infine, viene calcolato il valore di un altro indice, chiamato TermFrequency - Inverse Document Frequency (TF-IDF) [9], per ogni n-gramma rimasto.Tale valore, calcolato come prodotto tra la frequenza dell’n-gramma nel documentoe la sua IDF, cresce proporzionalmente al numero di volte che il termine appare neldocumento, ma e smorzato dalla frequenza del termine in tutto il corpus, in quantocerti termini appaiono piu frequentemente di altri semplicemente per la loro funzionelinguistica. In questo modo, per ogni documento si ottiene un vettore di valori TF-IDFper ogni n-gramma selezionato, che corrispondono alle feature.

E quindi possibile passare alla fase di addestramento. In questo caso e stato utilizzatoun algoritmo di regressione logistica, considerando il problema iniziale di classificazionetra 5 fasce d’eta 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 sopraconsiderando tutto il corpus di documenti, senza distinguere tra le diverse tipologie ditesto, 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 personalireperibili in rete. La possibilita di esprimersi in un linguaggio non formale, permettedi far trasparire la personalita di una persona, anche solo da poche righe di testo, o dapochi caratteri come nel caso di Twitter (140 caratteri al massimo a disposizione perogni messaggio).

5Un n-gramma e una sottosequenza ordinata di n elementi appartenenti allo stesso tipo (di solitolettere, fonemi, sillabe, parole, caratteri di punteggiatura, ecc.) di una data sequenza.

6E il file che si ottiene come risultato dell’elaborazione di un algoritmo di previsione in fase diapprendimento. Contiene i valori in base ai quali un dato di test verra inserito in una certa classe inveceche in un’altra.

9

“output” — 2015/10/7 — 8:12 — page 10 — #14

2. Stato dell’arte

Queste informazioni vengono inconsciamente utilizzate ogni giorno dagli utenti deisocial media, i quali usano queste piattaforme per giudicare le altre persone e stabilirenuove relazioni in base a cio che gli altri pubblicano in rete. Vi sono quindi dellecaratteristiche di discriminazione che emergono dall’attivita online di ogni utente di socialmedia. La vera sfida nella previsione dei tratti personali di un autore sta nello scoprirequali sono queste caratteristiche discriminanti.

Prima pero e necessario stabilire quali tratti del carattere di una persona contribuisconoa crearne la personalita. In letteratura attualmente vengono usati due modelli principali,frutto di anni di studi di psicologia:

• il modello di Eysenck , secondo cui la personalita e riducibile a tre tratti, qualinevroticismo, estroversione e psicoticismo;

• il modello Big Five, detto anche modello OCEAN7, secondo cui la personalitae riducibile a cinque tratti, quali nevroticismo, estroversione, apertura mentale,amicalita e coscienziosita.

L’ultimo di questi modelli e quello maggiormente accettato dalla comunita internazionaleed e anche quello usato ai fini di questa tesi. I cinque tratti personali possono essereconsiderati come valori binari (a evidenziare, ad esempio, se una persona e introversa oestroversa), oppure come valori all’interno di un certo intervallo (a segnalare quanto unapersona e, ad esempio, estroversa). In ogni caso, i cinque tratti sono caratterizzati nelmodo seguente:

NevroticismoAnsieta, insicurezza, suscettibilita. Una persona nevrotica e lunatica, nervosa, efacilmente portata a provare emozioni negative.

EstroversioneEspansivita, fiducia, entusiasmo. Una persona estroversa e amichevole, piena dienergia e trae ispirazione dalle situazioni in cui si trova.

Apertura mentaleCuriosita, intelligenza, immaginazione. Chi ha un’elevata apertura mentale tendead essere artistico, ad avere gusti sofisticati e ad apprezzare differenti punti di vista,idee ed esperienze.

AmicalitaCooperazione, disponibilita, educazione. Una persona con elevato valore di amicalitainstaura relazioni positive, e ottimista, fiduciosa e si prende cura degli altri.

CoscienziositaResponsabilita, organizzazione, perseveranza. Un persona coscienziosa e estre-mamente affidabile, punta al successo e tende ad essere un gran lavoratore epianificatore.

7Dalle iniziali dei cinque tratti in inglese: Openness to experience, Conscientiousness, Extroversion,Agreeableness, Neuroticism.

10

“output” — 2015/10/7 — 8:12 — page 11 — #15

Previsione dei tratti personali

In letteratura, si trovano diversi studi che cercano di portare alla luce le caratteristichemigliori per descrivere i tratti personali del modello Big Five. Uno dei piu importanti equello descritto in [8]. Qui viene utilizzato un corpus composto da testi generici scrittida circa 2500 studenti autoetichettato, ovvero etichettato8 dagli stessi autori tramite lacompilazione 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 dellerisposte date ad una serie di domande, accuratamente selezionate sulla base di importantistudi psicologici. Le feature prese in considerazione in questo caso sono le frequenze diparole rientranti in un insieme di 88 categorie di LIWC e altri valori statistici estrattidall’MRC Psycholinguistic Database9 (simile a LIWC, ma con diverse categorie). Questesono quindi state usate per la creazione di una tabella di correlazione tra ogni feature ei tratti personali, tramite il calcolo dei coefficienti di correlazione di Pearson. Questatabella e stata poi presa come riferimento per diversi studi successivi.

Uno tra questi studi e quello riportato in [4]. Esso e particolarmente interessante aifini di questa tesi in quanto tratta il problema della predizione del profilo di un autorebasato su dati pubblici presenti su Twitter. Tale studio si basa su un corpus composto da100000 messaggi (detti tweet) suddivisi tra 50 utenti di Twitter, i quali avevano compilatoil Big Five Inventory Questionnaire permettendo di etichettare gli insiemi di tweet conun valore da 1 a 5 per ogni tratto personale. Per poter selezionare le feature sulle qualibasare la fase di addestramento, e necessario notare che il contesto di Twitter e moltodifferente da quello di normali blog o testi considerati di norma in letteratura per studiareil problema della determinazione del profilo di un autore. In primo luogo per la brevitadei messaggi che si possono scrivere (limitati a 140 caratteri), e poi per l’indipendenzadei 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 ancheper analisi basate su Twitter. Le feature calcolate per ogni utente considerate in [4] sonoin totale 116 e principalmente di quattro tipi:

• relative a Twitter: numero di sostenitori (detti follower), numero di utenti seguiti,densita della rete sociale, numero di riferimenti ad altri utenti10, numero di replichea 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, numerodi parolacce per tweet, percentuale di parole che riguardano processi psicologici(emozioni, ecc.), processi temporali, processi personali (occupazione, salute, ecc.);

8Etichettare 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 risultatideterminati dall’algoritmo di previsione.

9Il database MRC e composto da una lista di oltre 150000 parole, per le quali vi sono delle statistichea disposizione, cioe dei valori riguardanti certe particolari frequenze o conteggi.

10Un riferimento ad un altro utente in un tweet si ottiene ponendo il simbolo @ prima del nomedell’altro utente.

11In un tweet, un # seguito da una stringa permette di legare quel tweet ad un argomento (definitodalla stringa).

11

“output” — 2015/10/7 — 8:12 — page 12 — #16

2. Stato dell’arte

• relative all’MRC Psycholinguistic Database: media dei valori di certe statistiche ditutte le parole di ogni utente;

• relative al General Inquirer Dataset12: media del valore di sentimento su tutte leparole contenute nei tweet di un autore.

Queste feature sono poi state usate per addestrare due algoritmi di regressione (GaussianProcess e ZeroR) e per prevedere i valori dei tratti personali degli autori seguendo ilmetodo di cross-validazione a 10 campionamenti , per il quale il corpus viene diviso in10 parti uguali e, per ognuna di esse, si utilizza un algoritmo per predire i valori deitratti personali degli elementi contenuti nella parte in esame, addestrando prima lo stessoalgoritmo su tutti gli altri elementi non compresi in quella parte. Ad ogni iterazioneviene calcolato l’errore medio delle predizioni effettuate e, infine, viene calcolata la mediadegli errori medi delle 10 iterazioni. I risultati ottenuti da questo studio mostrano chenon vi e particolare differenza tra i due algoritmi utilizzati. Inoltre, sembra che il tratto“nevroticismo” sia il piu difficile da predire, mentre il tratto “apertura mentale” sembraessere il piu facile.

Un aspetto di questo studio interessante ai fini di questa tesi consiste nella tabella dicorrelazione tra feature e tratti personali, riportata in Fig. 2.2. In essa, sono mostrate lefeature significativamente correlate con almeno uno dei tratti personali. Alcuni risultatisono intuitivamente sensati, altri invece non molto. Nello studio in esame, questi risultatinon sono stati considerati per selezionare ulteriormente le feature da usare nella fase diaddestramento, mentre sono invece stati presi in considerazione durante lo sviluppo delmetodo esposto in questa tesi.

12Il General Inquirer Dataset e un dizionario nel quale ad ogni parola e assegnato un valore da -1 a +1in base al sentimento.

12

“output” — 2015/10/7 — 8:12 — page 13 — #17

Previsione dei tratti personali

Figura 2.2: Correlazioni significative tra feature e tratti personali. I numeri indicano il valoredi correlazione di Pearson. I valori in grassetto indicano dove una feature e significativamentecorrelata con un tratto personale. Valori negativi indicano una correlazione all’opposto.

13

“output” — 2015/10/7 — 8:12 — page 14 — #18

“output” — 2015/10/7 — 8:12 — page 15 — #19

Capitolo 3Metodo adottato

In questo capitolo verra descritto in dettaglio il metodo presentato alla competizionePAN 2015 (in seguito, PAN15). Ci si soffermera in particolare sulle feature prese inconsiderazione e come si e proceduto ad una maggiore selezione delle stesse. Verrannoquindi descritti gli algoritmi di previsione utilizzati per risolvere il problema delladeterminazione 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 eraimpostata 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’eta (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

“output” — 2015/10/7 — 8:12 — page 16 — #20

3. Metodo adottato

Per una maggior comprensione di questo capitolo e dei successivi, verra ora introdottauna particolare nomenclatura.

Si definisce istanza una tupla 〈D,L〉, dove D indica il documento contente un insiemedi 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’eta, nevroticismo, aperturamentale, amicalita, coscienziosita o estroversione.

Un’insieme di istanze per le quali si conosce la risposta corretta per un determinatoproblema si dice insieme di training , in quanto verra poi usato nella fase di addestramentodell’algoritmo di previsione.

L’efficacia del metodo risolutivo deve infine essere verificata usando un certo insiemedi istanze delle quali si conosce la risposta al problema scelto, il cosiddetto insieme ditest . Le previsioni vengono confrontate con le risposte corrette e il risultato di questiconfronti viene espresso in termini di accuratezza o di Root-Mean-Square Error (RMSE).In particolare, la prima verra usata, in questo caso, per valutare la bonta delle previsioniper i problemi di determinazione di sesso e fascia d’eta ed e calcolata come rapportotra numero di previsioni corrette e numero totale di previsioni. Il secondo, invece, verrausato per valutare la bonta delle previsioni dei valori di ognuno dei cinque tratti personalie 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 problemaa se stante, in quanto si e supposto che ogni attributo sia correlato ad un diverso insiemedi caratteristiche di scrittura, fatto confermato dalle analisi di correlazione trovate inletteratura (vedere Cap. 2). Lo stesso ragionamento e stato seguito per le lingue, per cuii problemi da risolvere sono stati in totale 26 (6 attributi × 4 lingue + 1 attributo ×2 lingue), ricordando che il problema della fascia d’eta e da risolvere solo per la linguainglese 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 edegli algoritmi di previsione da usare per la risoluzione di ogni problema.

L’approccio seguito e basato sull’utilizzo di tre tipi di feature (stilometriche, dicontenuto e ibride). A seguito della fase di selezione delle feature, dall’insieme totaledi queste sono stati estratti dei sottogruppi, ognuno associato alla risoluzione di unparticolare problema. Inoltre, ognuno di questi problemi e stato associato a un particolarealgoritmo di previsione, scelto tra tre possibilita. La selezione delle feature e degli algoritmida 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 restantivengono considerate insieme di training, e l’accuratezza o l’RMSE finali vengono calcolaticome media delle accuratezze o degli RMSE ottenuti iterando il procedimento su tuttol’insieme di istanze di ogni lingua.

16

“output” — 2015/10/7 — 8:12 — page 17 — #21

Analisi del corpus

Lingua Prima Dopo

Inglese 152 83Spagnolo 100 50Italiano 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 notareche 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 definiteripetizioni ed e stato supposto che esse fossero collegate allo stesso utente di Twitter.

Preso atto di cio, si e deciso di unire in un’unica istanza tutti gli insiemi di tweetcollegati allo stesso autore, ottenendo cosı un corpus modificato1.

La supposizione (poi confermata da ulteriori analisi riportate nella Sez. 5.3) alla basedi questa decisione e stata che la presenza di istanze appartenenti allo stesso autore,benche con insiemi di tweet differenti, poteva influire durante la fase di addestramento,portando il modello ad essere piu tendente alle caratteristiche di scrittura di un particolareautore, 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 lamodifica, 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 ognilingua, 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 dizionariodi LIWC, mentre per le altre lingue si e proceduto nel modo che segue. Per spagnolo eolandese i dizionari sono stati costruiti traducendo il dizionario inglese con uno strumentoautomatico (nello specifico, Google Translate). Per il solo dizionario olandese, sonostati sistemati a mano i sottinsiemi di parole appartenenti alle categorie funzionali. Perla lingua italiana, invece, e stato manualmente creato l’intero dizionario, basandosi suquello inglese. Infine, ad ogni dizionario e stata aggiunta un’ulteriore categoria di parolechiamata “chat”, all’interno della quale sono state inserite i cinquanta acronimi piu usatinelle chat secondo il sito web NetLingo2.

1D’ora in avanti (salvo dove altrimenti specificato), in questo capitolo, quando si parlera di corpusverra inteso il corpus modificato.

2http://www.netlingo.com/top50/popular-text-terms.php

17

“output” — 2015/10/7 — 8:12 — page 18 — #22

3. Metodo adottato

Template EN ES IT NL

# Move mas reciente XPhoto: X X XI’m at X X XI liked a X XI favorited a X X XIk vind een X X#in X XNumero 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 solonel sottoinsieme spagnolo di istanze, mentre le altre righe corrispondono a template trovati in piusottoinsiemi. L’ultima riga contiene il numero totale di template per i quali esiste almeno untweet 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 disequenze ordinate di n = 1, . . . , 4 parole, chiamate template, secondo questo procedimento:

1. dall’intero corpus, sono stati estratti (con una procedura automatica) tutti i tweetinizianti con la stessa sequenza ordinata di n parole;

2. dall’insieme precedente, e stato estratto automaticamente un insieme contenentetutte 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 lesequenze che sembravano appartenere all’inizio di un tweet autogenerato da qualcheapplicazione presente su Twitter.

E cosı possibile definire un tweet automatico come tweet la cui sequenza di parole inizialicorrisponde ad uno dei template estratti con il precedente procedimento. La Tab. 3.2mostra alcuni esempi di template in relazione al sottoinsieme del corpus nel quale sonostati 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 rimuovendoda D tutti i tweet automatici.

Avendo introdotto tutta la nomenclatura necessaria, e ora possibile descrivere lefeature che sono state prese in considerazione. Esse sono state raggruppate in tre gruppi,a seconda della loro funzione:

ContenutoFeature relative al significato delle parole, legate alle categorie dei dizionari, stret-tamente legate alla lingua. Vengono calcolate su D, in quanto si e assunto cheanche il contenuto dei tweet automatici e informativo riguardo alle preferenze dicontenuto degli autori.

18

“output” — 2015/10/7 — 8:12 — page 19 — #23

Feature utilizzate

StilometricheFeature che tendono a catturare le proprieta strutturali di un tweet in un modolargamente indipendente dalla lingua e dal contenuto specifico. Non sono, quindi,basate su dizionario e vengono calcolate sul sottoinsieme DM , in quanto si e assuntoche i tweet automatici non sono rappresentativi dello stile di scrittura di un autore.

IbrideFeature di natura stilometrica, ma dipendenti da dizionario. Sono basate sullecategorie dei dizionari relative a parole che hanno una certa funzione nelle frasi.Vengono calcolate sui tweet presenti in DM , per lo stesso motivo riportato nelladescrizione del gruppo precedente.

In Tab. 3.3 e riportata la lista completa delle feature considerate.

Nome feature Descrizione

ST

ILO

ME

TR

ICH

E

allpunc Numero di .,:;commas Numero di ,exclmar Numero di !questma Numero di ?parenth Numero di parentesinumbers Numero di numeriwocount Numero di parolelongwor Numero di parole piu lunghe di 6 lettereupcawor Numero di parole in maiuscolocarrret Numero di a capo riga (\n, \r, \r\n)atmenti Numero di riferimenti ad altro utente (@-mention)extlink Numero di collegamenti ipertestualihashtag Numero di #posemot Numero di emoticon positivenegemot Numero di emoticon negativeemotico Numero di emoticonemotiyn Presenza di emoticon in D (feature binaria)

CO

NT

EN

UT

O

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

“output” — 2015/10/7 — 8:12 — page 20 — #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 |D\DM ||D|

autweyn Presenza tweet automatici in D (feature binaria)

IBR

IDE

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 piu adatte a risolvere singolarmente ognuno dei problemi disesso, fascia d’eta e tratti personali e stata eseguita partendo dalle informazioni fornitedalla letteratura e descritte nel Cap. 2. In particolare, lo studio riportato in [13] mostrache le feature stilometriche sono piu eloquenti di quelle di contenuto per quanto riguardala determinazione del sesso, mentre e valido il viceversa per la determinazione della fasciad’eta, 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 cinquetratti personali Big Five.

Partendo da queste basi, sono stati costruiti circa 40 sottogruppi di feature per ogniproblema. Al fine di trovare il sottogruppo piu adeguato ad ogni problema, per ognunodi 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. Unalgoritmo classificatore e necessario quando si hanno problemi di categorizzazione, comenel caso della determinazione del sesso o della fascia d’eta. I problemi la cui soluzionee un valore numerico compreso in certo intervallo richiedono, invece, l’utilizzo di unalgoritmo cosiddetto regressore.

20

“output” — 2015/10/7 — 8:12 — page 21 — #25

Algoritmi di previsione

Algoritmo Parametri Alias

SVM Default, con kernel gaussiano e C=1 svmRandom Forest Numero alberi = 500 rf500Random 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 algoritmidi previsione, Support Vector Machines (SVM) [2] e Random Forest [1], noti in letteraturaper la loro efficacia e in grado di agire sia come classificatori che come regressori. Perl’ultimo dei due, sono state prese in considerazione piu configurazioni di parametri. InTab. 3.4 sono riportati gli algoritmi utilizzati e i parametri scelti.

21

“output” — 2015/10/7 — 8:12 — page 22 — #26

“output” — 2015/10/7 — 8:12 — page 23 — #27

Capitolo 4Valutazione sperimentale

Come preannunciato nel capitolo precedente, per ogni problema sono stati consideraticirca 40 sottogruppi di feature e 3 algoritmi di previsione. E stata quindi valutatal’efficacia di ogni configurazione feature-algoritmo per ognuno dei problemi differenziatiper 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, sottogruppodi 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 ede poi stato addestrato l’algoritmo scelto, ottenendo, cosı, il modello;

3. il modello e stato, poi, utilizzato dall’algoritmo stesso per generare una rispostaall’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’istanzadifferente 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. Leconfigurazioni 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 algoritmiscelti con tutte le feature a disposizione. I risultati, ottenuti mediante leave-one-out comeprecedentemente descritto, sono sintetizzati nella Tab. 4.2.

Come si puo notare da quest’ultima tabella, ad ogni problema e stata assegnata unadifferente configurazione di algoritmo e feature. I motivi che possono in parte spiegareun simile risultato potrebbero essere i seguenti:

23

“output” — 2015/10/7 — 8:12 — page 24 — #28

4. Valutazione sperimentale

L Attributo Class./Regr. Sottoinsieme di feature scelto

EN

Sesso rf2000 commas negemot exclmarEta rf2000 allpunc commas exclmar questma parenth numbers

wocount longwor upcawor carrret atmenti extlinkhashtag posemot negemot emotico autotwe

Estro svm wocount questma parenth familwoNevro svm selfref fsipron chatacr affecwo emotiwo hashtag

posemot pronoun wocountConsc rf500 extlink longwor numbers hashtag fsipron selfrefAmica svm questma atmenti allpunc ssipron article longwor

jobword chatacrApert rf2000 commas extlink hashtag exclmar questmar parenth

wocount ssipron negpart article feeliwo moneywojobword eatinwo familwo negemwo religwo

ES

Sesso svm allpunc commas exclmar questma parenth numberswocount longwor upcawor carrret atmenti extlinkhashtag posemot negemot fsipron fplpron ssipron sel-fref negpart asspart article preposi pronoun slangwomoneywo jobword sportwo televwo sleepwo eatinwosexuawo familwo frienwo posemwo negemwo affecwofeeliwo

Eta svm extlink hashtag numbers sleepwo sexuawoEstro rf2000 longwor carrret questma preposi autweyn emoticoNevro rf2000 posemot ssipron exclmar selfref extlinkConsc rf500 extlink longwor numbers hashtag fsipron selfref

affecwo emotiwoAmica 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 slangwomoneywo jobword sportwo televwo sleepwo eatinwosexuawo familwo frienwo posemwo negemwo swearworeligwo

Apert rf2000 autotwe hashtag preposi wocount religwo

IT

Sesso rf500 asspart fsipron selfref exclmar extlink hashtagemotiyn

Estro svm allpunc wocount hashtag questmaNevro rf2000 commas longwor fplpron chatacr autweynConsc svm commas extlink hashtag exclmar questmar parenth

wocount ssipron negpart article feeliwo moneywojobword eatinwo familwo negemwo religwo

Amica svm posemot exclmar moneywo hashtag pronoun autweynApert svm negpart hashtag atmenti exclmar longwor

24

“output” — 2015/10/7 — 8:12 — page 25 — #29

NL

Sesso rf2000 negemot upcawor preposiEstro svm questma atmenti allpunc ssipron article longwor jobword

chatacr extlink autweynNevro rf2000 atmenti preposi longwor emotiynConsc svm hashtag questma exclmar atmenti posemot wocount extlink

longworAmica svm atmenti commas exclmar hashtag autweyn emotiynApert 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.735Eta 0.614 0.617 0.605 0.692

Estro 0.185 0.182 0.181 0.165Nevro 0.243 0.226 0.226 0.208Consc 0.167 0.158 0.158 0.146Amica 0.173 0.183 0.183 0.162Apert 0.157 0.149 0.149 0.143

ES

Sesso 0.760 0.760 0.760 0.820Eta 0.400 0.404 0.416 0.580

Estro 0.185 0.177 0.176 0.156Nevro 0.243 0.220 0.220 0.202Consc 0.161 0.163 0.162 0.154Amica 0.162 0.169 0.169 0.157Apert 0.183 0.183 0.183 0.168

IT

Sesso 0.632 0.705 0.737 0.853Estro 0.159 0.162 0.162 0.121Nevro 0.202 0.215 0.215 0.170Consc 0.126 0.135 0.136 0.113Amica 0.159 0.165 0.165 0.150Apert 0.186 0.178 0.177 0.102

NL

Sesso 0.611 0.344 0.333 0.633Estro 0.131 0.140 0.139 0.105Nevro 0.206 0.205 0.204 0.156Consc 0.122 0.125 0.125 0.101Amica 0.163 0.161 0.162 0.130Apert 0.121 0.122 0.122 0.104

Tabella 4.2: Risultati ottenuti con le configurazioni scelte e relative baseline. I risultati di Sessoed Eta sono riportati in accuratezza, mentre gli altri corrispondono al valore di RMSE.

25

“output” — 2015/10/7 — 8:12 — page 26 — #30

4. Valutazione sperimentale

Sesso ed Eta Tratti personali

L Sesso Eta Joint RMSE Estro Nevro Amica Consc Apert Glob

EN0.6479 0.7465 0.4718 0.1605 0.1480 0.2323 0.1360 0.1418 0.1445 0.65570.8592 0.8380 0.7254 0.1442 0.1250 0.1951 0.1305 0.1101 0.1198 0.7906

ES0.8523 0.4205 0.3295 0.1562 0.1701 0.1867 0.1463 0.1302 0.1459 0.58670.9659 0.7955 0.7727 0.1235 0.1319 0.1613 0.1034 0.1017 0.1108 0.8215

IT0.5000 - 0.5000 0.1405 0.1004 0.1889 0.1386 0.1298 0.1450 0.67970.8611 - 0.8611 0.1044 0.0726 0.1555 0.0527 0.1093 0.0972 0.8658

NL0.7188 - 0.7188 0.1156 0.1467 0.1393 0.1261 0.0962 0.0696 0.80160.9688 - 0.0688 0.0563 0.0750 0.0637 0.0000 0.0619 0.0354 0.9406

Punteggio finale0.68090.8404

Tabella 4.3: Risultati ottenuti alle valutazioni finali. I valori in corsivo corrispondono ai risultatimigliori ottenuti dagli altri partecipanti.

• ogni lingua ha le sue proprie regole grammaticali e i suoi caratteri culturali, percioe possibile che un uomo di mezza eta inglese non abbia gli stessi interessi e lo stessostile di scrittura di uno stesso tipo di uomo italiano;

• i dizionari usati per Spagnolo, Italiano e Olandese non erano della stessa qualita diquello usato per la lingua Inglese;

• il numero di istanze nel corpus non era lo stesso per ogni lingua, come riportato inTab. 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 ilmetodo esposto in questo elaborato su un insieme di dati non noti ai partecipanti e nonancora resi pubblici. Nella tabella, Sesso ed Eta sono valutate in base all’accuratezzadelle risposte. Joint corrisponde all’accuratezza delle risposte corrette ad entrambi iproblemi contemporaneamente. Tutti i tratti personali sono valutati in base all’RMSE ela colonna RMSE corrisponde alla media dei valori ottenuti per i tratti personali. Il valoreGlob 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

“output” — 2015/10/7 — 8:12 — page 27 — #31

Risultati finali

Sesso ed Eta Tratti personali

L Sesso Eta 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 siriferiscono a posizioni rientranti tra le migliori 10.

27

“output” — 2015/10/7 — 8:12 — page 28 — #32

“output” — 2015/10/7 — 8:12 — page 29 — #33

Capitolo 5Criticita della competizione PAN15

Durante lo sviluppo del metodo descritto in questa tesi, sono state riscontrate alcunecriticita nell’organizzazione della competizione, tra le quali anche due metodi per ottenerefraudolentemente alcune soluzioni delle istanze dell’insieme di test finale e, dunque, unpunteggio migliore in classifica. Di queste criticita e stata data tempestiva notifica agliorganizzatori, che hanno provveduto a limitarne gli effetti.

Per comprendere meglio cio che verra descritto nelle prossime sezioni, e necessariosapere che:

• ai partecipanti era richiesto di creare un programma eseguibile che ricevesse ininput un file di istanza e generasse in output un file (nominato a piacere) contenentele soluzioni a tutti i 7 (o 6) problemi per quell’istanza;

• ai partecipanti e stato concesso di provare il proprio metodo su un sottoinsiemedell’insieme di test finale, circa un mese prima della consegna del metodo per lavalutazione finale e definitiva;

• per testare il proprio metodo sulle istanze dell’insieme di test, ai partecipanti erastato fornito l’accesso ad una piattaforma online chiamata Tira1, sulla quale fareseguire i programmi creati;

• ogni partecipante poteva visualizzare la cronologia delle esecuzioni del proprioprogramma, oltre che standard output, standard error e nomi dei file generati daesso durante la sua esecuzione;

• i nomi veri degli autori dei tweet erano stati eliminati dalle istanze fornite aipartecipanti ed erano stati sostituiti da un identificatore univoco (ID);

• ogni istanza era fornita come file XML contenente un certo numero di tweet di unostesso autore e l’ID ad esso associato.

1Sito web di riferimento: http://www.tira.io/

29

“output” — 2015/10/7 — 8:12 — page 30 — #34

5. Criticita della competizione PAN15

5.1 Primo metodo fraudolento

Il primo metodo fraudolento si basa sull’utilizzo dello standard output (ma si puo applicare,con i dovuti accorgimenti, anche allo standar error). Benche la visualizzazione dellostandard output fosse limitata agli ultimi 1000 caratteri, un eventuale malintenzionatoavrebbe potuto inviare su di esso uno (o piu) tweet di ogni istanza dell’insieme di testparziale fornito durante la fase intermedia. Con esecuzioni ripetute, avrebbe potutoestrarre tutti i tweet dell’insieme di test parziale. A quel punto, avrebbe potuto ricercarei 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 gia notealle istanze di test.

Piu in dettaglio, si consideri un’istanza di test IT = 〈DT , L〉, con soluzioni ai probleminon note. Il malintenzionato avrebbe potuto agire nel seguente modo:

1. avrebbe cercato su Twitter i tweet contenuti in tutte le istanze del corpus, ottenendol’autore associato ad ognuna di esse;

2. avrebbe cercato su Twitter i tweet contenuti in DT , scoprendo il nome dell’autoread 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, avrebbeassociato 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 questeistanze.

Come verra mostrato nella prossima sezione, non tutte le istanze di questo insieme ditest erano riconducibili a istanze del corpus. In questi casi, il malintenzionato avrebbepotuto agire manualmente, cercando su Twitter alcune risposte, come sesso e fascia d’etadegli autori di esse.

Considerando che le istanze di test parziale erano un sottoinsieme delle istanze ditest finale, con questo metodo si sarebbe potuto ottenere un miglioramento dei risultatifinali e, dunque, un miglior posizionamento in classifica.

5.2 Secondo metodo fraudolento

Il secondo metodo fraudolento si basa sui nomi identificativi delle istanze. Analizzandotali nomi, si e scoperto che essi erano dei valori ordinabili, in particolare del tipouser<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 potesseroessere riconducibili allo stesso autore.

30

“output” — 2015/10/7 — 8:12 — page 31 — #35

Secondo metodo fraudolento

In Fig. 5.1 e riportato un esempio reale del problema. In questo caso, si puoragionevolmente ipotizzare che user787 avra le stesse risposte di user786 e user788.

Figura 5.1: Estratto dei nomi identificativi e delle risposte delle istanze del sottoinsieme delcorpus relativo alla lingua olandese. I valori XX-XX corrispondono alla fascia d’eta, che per lalingua olandese non era un problema da risolvere.

Utilizzando lo standard output, o lo standard error oppure direttamente impostandoopportunamente i nomi dei file di output del proprio programma, si e notato che i nomiidentificativi 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 inomi identificativi delle istanze di test potevano essere inseriti tra quelli delle istanze delcorpus, permettendo quindi di ottenere le relative risposte corrette.

Per mostrare il potenziale di questa criticita, si e proceduto nel seguente modo:

1. si sono ricavati i nomi identificativi delle 42 istanze dell’insieme di test inglese (ilpiu corposo dei quattro), semplicemente osservando i nomi dei file XML generatidal programma;

2. e stata costruita manualmente in pochi minuti una mappatura di tali nomi conquelli 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 corrispondevanoal 24% dell’intero insieme di test inglese.

31

“output” — 2015/10/7 — 8:12 — page 32 — #36

5. Criticita della competizione PAN15

5.3 Approfondimenti sul corpus

A seguito della scoperta di ripetizioni tra le istanze del corpus (come anticipato nellaSez. 3.3), si e deciso di analizzare l’impatto che esse avrebbero potuto avere durante lafase di apprendimento degli algoritmi di classificazione. A tal fine sono state usate tredifferenti procedure di cross-validazione basate sul metodo leave-one-out.

Sia P itrain l’insieme di training durante l’i-esima iterazione di una di queste procedure

e sia pitest ∈ TL un’istanza di problema usata come istanza di test in tale iterazione, inmodo tale che TL = P i

train

⋃{pitest}. 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, cioe da P i

train sono state rimosse tutte le istanze che risultavanoessere ripetizioni di pitest;

• senza istanze random (SRAND): leave-one-out senza alcune istanze prese a caso innumero pari alle ripetizioni dell’istanza di test, cioe sono state rimosse da P i

train

mi istanze prese a caso per ogni istanza di test pitest, dove mi era il numero diripetizioni di pitest; le istanze tolte a caso non erano ripetizioni di pitest.

Le procedure descritte sono state ripetute utilizzando 202 differenti sottoinsiemi difeature ed SVM come algoritmo di previsione. I risultati medi sono sintetizzati nellaTab. 5.1. Si considerino, ad esempio, i valori di SRAND ed SRIP del problema Eta perl’insieme inglese (EN): il valore +15% di SRAND significa che utilizzando tale procedurasi e ottenuto un miglioramento del 15% rispetto al valore medio calcolato con la proceduraTI, mentre il valore -15% indica un peggioramento rispetto a TI utilizzando la proceduraSRIP.

I dati ottenuti indicano che la presenza di ripetizioni puo fortemente influire sullaprocedura di addestramento, in quanto diminuendo le istanze negli insiemi di training,ma tenendo le ripetizioni dell’istanza di test, le prestazioni medie aumentano per ogniproblema. Viceversa, diminuendo allo stesso modo le istanze, ma eliminando le ripetizionisi ottiene sempre un peggioramento delle prestazioni.

A seguito di questa analisi, si e deciso di modificare il corpus unendo in un’unicaistanza i tweet associati a uno stesso autore. In questo modo si e ottenuto un corpusavente un minor numero di istanze rispetto all’originale (vedere Tab. 3.1), ma senzaperdere alcuna informazione e senza ripetizioni tra le istanze. L’idea alla base di questascelta e che in tal modo, in fase di addestramento, si sarebbe ottenuto un modello piucorretto, non tendente verso le caratteristiche di scrittura di certi autori, alcuni dei qualirisultavano ripetuti per 4 istanze differenti.

2Non 40 come descritto nel Cap. 4, in quanto questo approfondimento e stato eseguito pressocheall’inizio dello sviluppo del lavoro descritto in questa tesi.

32

“output” — 2015/10/7 — 8:12 — page 33 — #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%Eta +15% -15% +26% -19% – – – –

Estro -0.05 +0.03 -0.05 +0.02 -0.06 +0.03 -0.06 +0.03Nevro -0.07 +0.05 -0.07 +0.04 -0.09 +0.03 -0.09 +0.06Consc -0.04 +0.03 -0.07 +0.04 -0.05 +0.03 -0.05 +0.02Amica -0.04 +0.02 -0.06 +0.02 -0.07 +0.05 -0.05 +0.02Apert -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 Etasono espresse in termini di accuratezza, mentre i restanti sono espressi in termini di RMSE.

33

“output” — 2015/10/7 — 8:12 — page 34 — #38

“output” — 2015/10/7 — 8:12 — page 35 — #39

Capitolo 6Conclusioni

Risulta difficile capire pienamente i pregi e i difetti delle tecniche sviluppate, in quanto leistanze 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 ditesi permette di ottenere risultati migliori piu nella determinazione dei tratti personali,che nella previsione di sesso e fascia d’eta.

I risultati migliori si sono riscontrati per le istanze appartenenti ai sottoinsiemi dellelingue Italiano e Olandese, probabilmente per le ridotte dimensioni di questi insiemirispetto agli altri due.

I partecipanti che hanno ottenuto i punteggi piu elevati, secondo [11], hanno utilizzatofeature quali Attributi del Secondo Ordine (descritti nella Sez. 2.1), combinazioni din-grammi di caratteri e POS, combinazioni di n-grammi estratti con la tecnica TF-IDFunite a feature basate sullo stile di scrittura. Il secondo classificato per quando riguardala lingua spagnola ha inoltre utilizzato svariati dizionari, diversi da quelli di LIWC.

Date le criticita riscontrate durante questa competizione e riportate nel Cap. 5, non epossibile stabilire la bonta dei risultati di tutti i partecipanti, ma sembra che la tecnicadegli Attributi del Secondo Ordine sia quella piu adatta a risolvere il problema delladeterminazione del profilo di un autore, risultando vincitrice per il terzo anno consecutivo.Combinando questa tecnica con il metodo proposto si sarebbero potuti ottenere risultatiprobabilmente migliori, specialmente nella previsione di sesso e fascia d’eta.

Infine, benche i dati di test non siano ancora stati resi noti, dalle analisi descritte nelCap. 5 si evince che tra questi dati vi erano anche ripetizioni delle istanze del corpus. Lascelta di lavorare con il corpus modificato potrebbe quindi aver influito negativamentesui risultati finali. Tenendo il corpus originale, infatti, probabilmente sarebbero statiselezionati gruppi di feature differenti che avrebbero potuto portare ad un risultatomigliore, ma piu legato ai dati della competizione che al problema della determinazionedel profilo di un autore in generale.

35

“output” — 2015/10/7 — 8:12 — page 36 — #40

“output” — 2015/10/7 — 8:12 — page 37 — #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 performancein author gender identification. 2014. [cited at p. 5, 6]

[4] J. Golbeck, C. Robles, M. Edmondson, and K. Turner. Predicting personalityfrom twitter. In Privacy, Security, Risk and Trust (PASSAT) and 2011 IEEEThird Inernational Conference on Social Computing (SocialCom), 2011 IEEE ThirdInternational 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. Lopez-Monroy, M. Montes-y Gomez, H. J. Escalante, and L. Villasenor-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 inmapreduce. 2014. [cited at p. 9]

[8] F. Mairesse, M. A. Walker, M. R. Mehl, and R. K. Moore. Using linguistic cuesfor the automatic recognition of personality in conversation and text. Journal ofartificial intelligence research, pages 457–500, 2007. [cited at p. 11]

[9] C. D. Manning, P. Raghavan, H. Schutze, 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 wordcount: 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 pan2015. 2015. [cited at p. 26, 31, 35]

37

“output” — 2015/10/7 — 8:12 — page 38 — #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 genderon blogging. In AAAI Spring Symposium: Computational Approaches to AnalyzingWeblogs, 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 applicationin retrieval. Journal of documentation, 28(1):11–21, 1972. [cited at p. 9]

38

“output” — 2015/10/7 — 8:12 — page 39 — #43

Indice analitico

n-gramma, 9

accuratezza, 16amicalita, 10apertura mentale, 10attributi del secondo ordine (SOA), 8

bag-of-terms, 7bag-of-words, vedi bag-of-termsbaseline, 23Big Five, 10Big Five Inventory Questionnaire, 11blog-word, 3

classificatore, 20corpus, 2coscienziosita, 10cross-validazione a 10 campionamenti,

12

dizionario, 5

estroversione, 10etichettare, 11Eysenck, 10

feature, 3contenuto, 18ibride, 19stilometriche, 19

function word, 3

General Inquirer Dataset, 12

hashtag, 11

IDF, 9insieme di test, 16insieme di training, 16istanza, 16

leave-one-out, 16, 23LIWC, 4

machine learning, 1modello, 9MRC Psycholinguistic Database, 11

nevroticismo, 10

OCEAN, vedi Big Five

PAN, 6POS, 3problema, 16

Random Forest, 21regressore, 20ripetizioni, 17RMSE, 16

SVM, 21

tabella di correlazione, 12template, 18TF-IDF, 9tokenizzatore, 9tratti personali, 10tweet, 2tweet automatico, 18

39