Quali volumi muove il gruppo italiano di utenti twitter?

gianluca | Jan 29, 2013 | #twitter #api #realtime | no comments

Stream di tweet italiani osservato per 3 giorni

Il nostro obiettivo è quello di misurare alcune caratteristiche del flusso di cinguettii italiani su twitter. Il primo problema, di natura interpretativa, è il seguente: come identificare e recuperare i tweet italiani?

Sapendo che le risposte possono essere diverse, tutte altrettanto valide, proponiamo la nostra strategia, basata su due elementi: consideriamo un tweet come italiano se la località da cui proviene è entro i confini nazionali, oppure se è scritto in italiano. Entrambi i concetti meritano un approfondimento.

L'endpoint streaming API di Twitter mette a disposizione un metodo di selezione - il metodo filter - sullo stream relativo all'intero universo degli utenti. Lo utilizziamo per riconoscere i tweet italiani secondo le seguenti due caratteristiche:

  • il tweet è geolocalizzato e le sue coordinate insistono sul territorio italiano oppure lo status contiene una o più stopword;

  • lo status è espresso in lingua italiana oppure l'utente ha specificato l'italiano come lingua del profilo.

Il primo criterio di selezione, cha fa uso delle coordinate, ci permette di recuperare tutti i tweet geolocalizzati, che costituiscono il 4% del volume complessivo di status (in maggioranza notifiche foursquare o di altri social). Per ottenerli è sufficiente specificare un bounding box contenente l'intero territorio nazionale.

Il secondo criterio di selezione è soddisfatto se lo status contiene una o più stopword comprese in una lista di circa 350 da noi selezionate. Questo elenco è il risultato di un approccio di tipo empirico effettuato su un campione - casuale semplice - iniziale di tweet localizzati sul territorio italiano. Una prima lista, ottenuta selezionando semplicemente i termini più frequenti, viene successivamente depurata da quelli ambigui, presenti in diverse lingue oltre all'italiano. L'obiettivo è quello di ottenere una lista di parole che sia in grado di massimizzare la resa (il numero totale di tweet recuperati) e di ridurre al minimo il numero di falsi positivi (i tweet formulati in altre lingue).

Oltre alla lingua del profilo utilizzata dall'utente, attributo esplicito in quanto definito all'interno del singolo tweet, abbiamo aggiunto un ulteriore livello di controllo grazie al language detection determinato a partire dal testo immesso. Se una di queste due condizioni viene rispettata, il tweet esaminato entra di diritto tra i cinguettii italiani.

In sostanza perdiamo tutti gli status in lingue diverse dall'italiano o quelli dove non é presente nessuna delle stopword da noi selezionate.

Oltre al numero totale dei tweet, nel monitoraggio dello stream vengono determinati altri aggregati, quali: retweet, tweet con menzioni, tweet con hashtag e tweet con link a siti web. Queste caratteristiche vengono monitorate secondo per secondo (presentate qui con un delay pari a 5 secondi) e cumulate all'interno di una finestra di osservazione di 120 secondi.

Il flusso stimato di tweet italiani, come definito in precedenza, può essere quantificato in circa 13 milioni di tweet alla settimana, ossia 1.85 milioni di tweet al giorno, variabili in base al giorno della settimana. In particolare, è possibile osservare una periodicità nel volume dello stream: circa 2.1 milioni di tweet la domenica, 1.8 milioni gli altri giorni della settimana. Una caratteristica comune a tutti i giorni della settimana sono i picchi dei tweet inviati, riscontrabili nelle fasce orarie che vanno dalle 15 alle 16 (più ridotto) e dalle 21 alle 22 (più accentuato).

Pur cercando di costruire un insieme di keywords quanto più rappresentative possibili della lingua italiana, è inevitabile raccogliere dallo stream "non italiano". Questi tweet, sebbene esclusi dal gruppo di cinguettii nazionali, costituiscono parte del volume di status recuperati e possono contribuire al raggiungimento dei limiti imposti dallo strumento Streaming API di Twitter. Tutto ciò porta alla perdita di alcuni status potenzialmente validi, specialmente durante gli orari di punta del traffico. La perdita è tracciata dalle API e quantificabile mediamente in 1.200 tweet persi all'ora. Nel monitor real time la quota di status non osservati, ovvero sottoposti a rate limit (streaming cap), non viene pubblicata ma viene analizzata in batch durante le attività di consolidamento.

Sebbene l'approccio qui descritto sia soggetto ad alcune limitazioni legate all'intensità del traffico ricevuto, permette comunque di valutare il volume sviluppato dello stream italiano su Twitter. Esistono sul mercato alcuni marketplace, come il PowerTrack for Twitter fornito da Gnip o il social monitoring di DataSift, che permettono di avere accesso al corpus completo di tweet - in real time o storici - ma il costo per raggiungere un'approssimazione come quella da noi ricercata è nell'ordine delle centinaia di dollari al giorno.

Nelle prossime settimane volgeremo lo sguardo non più ai flussi ma alle teste cercando di determinare il numero di utenti italiani attivi e di catturare così informazioni utili a descrivere il gruppo italiano di utenti twitter.


Enter Your Comment
Spambot check
= six plus two

Categorie

conference (1)
realtime (1)
twitter (1)
bigdata (1)
api (1)
r (1)
tabd (1)


Related post