50
Bájate miles de tuits y cuenta una historia

Bájate miles de tuits y cuenta una historia

Embed Size (px)

Citation preview

Bájate miles de tuits y cuenta una historia

PRESENTACION

Presentacion

David Martín-Borregón

– @davidMartinB

[email protected]

– Ingeniero técnico en sonido e imagen

– Ingeniero superior en telecomunicaciones

– Master en Inteligencía Artificial y Machine Learning

– Ingenierio en Data'n'Press– Data Scientific / Data Engineer

– Intership en Yahoo– Participante en Big Dive 2013

Presentación

Presentación

Presentación

Presentación

● El público:

– Cúantos de los presentes tuvieron estudios matématicos/estadísticos fuera de la escuela secundaria?

– Cúantos de los presentes saben que es una variable y una condición en programación?

Presentación

● Extracción– Cómo va la api de twitter y que datos proporciona

● Procesado– Cómo procesar los datos que da twitter.

(IR+SignalP+GraphTheory+NLP+Geo)● Volumen● Estructura social● Geolocalización● Anális de texto

● Visualización– Anális de casos aplicados

Extracción

Extracción

● Que es una API

Application programming interfaceGraphical user interface

Extracción

● ¿Cómo interactuar con a la api?

– Documentación: https://dev.twitter.com/docs● Bastard Book of Ruby, python,

– Liberería: https://dev.twitter.com/docs/twitter-libraries + ….

– Oauth:

https://dev.twitter.com/apps

Ejemplo de oAuthimport tweepy

# == OAuth Authentication ==

# This mode of authentication is the new preferred way of authenticating with Twitter.

# The consumer keys can be found on your application's Details page located at https://dev.twitter.com/apps (under "OAuth settings")

consumer_key="T1z6Xp__________MuTF6g"

consumer_secret="IAsYxMOa_________________hqltPGM"

# The access tokens can be found on your applications's Details page located at https://dev.twitter.com/apps (located under "Your access token")

access_token="161268291-osNQotjA7R0_______________1vQYwFlL7ec793"

access_token_secret="sxAcnU3_________________________U8nRkFXis8Po"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)

# If the authentication was successful, you should see the name of the account print out

print api.me().name

# If the application settings are set for "Read and Write" then this line should tweet out the message to your account's

# timeline. The "Read and Write" setting is on https://dev.twitter.com/apps

api.update_status('Updating using OAuth authentication via Tweepy!')

Tipos de API

● Search API– Buscar en twitter.

● Streaming API– Abrir una grifo de tweets a una busqueda.

– Importante para data-mining!!

● REST API– Interacción total para un usuario.

● Twitter for websites– Twitter cards, widgets, ...

Twitter Platform Objects

● Users - Objeto que hace tweets.

● Tweets - Objeto básico.

● Entities - Hashtags, media, urls, mentions

● Places – Coordinates o nombres.

PROCESADO

PROCESADO

● Dataset de pruebas:– 2738 tweets

– Recogidos días no consequtivos de la semana pasada

– #dataviz, #periodismodatos, #jpd13

PROCESADOCANTIDAD / TIEMPO

● En que moment se ha tuiteado más/menos con un hastag?

● Hoy habla más gente sobre este tema que ayer?

● Ahora mismo cuanto gente hay hablando del tema?

● De cúal de estos dos temas se habla más?

PROCESSADOVOLUMEN

● Más básico, acumulación de tweets

En que momento se ha tuiteado más? Ahora mismo cuanta gente ha habla del tema?

PROCESADOVOLUMEN

En que momento se ha tuiteado más? Ahora mismo cuanta gente ha habla del tema?

PROCESADOVOLUMEN

En que momento se ha tuiteado más? Ahora mismo cuanta gente ha habla del tema?

PROCESADOVOLUMEN

En que momento se ha tuiteado más? Ahora mismo cuanta gente ha habla del tema?

PROCESADOVOLUMEN

De que tema se habla más?

SOCIOGRAMA

SOCIOGRAMA

Basado en teoría de graphs

SOCIOGRAMA

Problema de los siete puentes de Köninsberg - EULER

¿Es posible pasar por los siete puentes sin repetir puente?

SOCIOGRAMA

Euler crea los “graphs” - 1763

¿Es posible pasar por los siete puentes sin repetir puente?

SOCIOGRAMA

Node - Nodo

Edge - arista

Node: User Edge: follow

Node: User Edge: Hashtags

Node: Hashtags Edge: Users

Algunos tipos:

(un)Directed Graph

Weighted Graph

SOCIOGRAMATwitter

#Periodismodatos Users: 43 tweets: 68#JPD13 Users: 131 tweets: 270TOTAL: Users: 162 tweets: 338

1186 Vertices

SOCIOGRAMAPAGERANK

@facemar@NoticiaCiencia@Ciberado@merinoticias@strausmaceta

SOCIOGRAMABETWEENNESS

@ciberado@facemar@robertodiaz@edipotrebol@deustoKomunika

SOCIOGRAMAHITS

@facemar@NoticiaCiencia@merinoticias@strausmaceta@desutoKomunika

@robertodiaz@inaki_agirre@enricbach@sApellaniz@facemar

GEOLOCALIZACIÓN

GEOLOCALIZACIÓN

GEOLOCALIZACIÓN

GEOLOCALIZACIÓN

GEOLOCALIZACIÓN

GEOLOCALIZACIÓN

LENGUAJE NATURAL

Análisi sintáctico y semántico

TOPIC DETECTIONMODELOS ESTADÍSTICOS

● Palabras más dichas (dataviz)

– BI_Dashboards ['dataviz', 'data', 'analytics', 'the', 'for']

– jenstirrup ['dataviz', 'news', 'latest', 'roundup', 'of']

– HlthAnalysis ['dataviz', 'the', 'in', 'of', 'tableau']

– ddjournalism ['ddj', 'dataviz', 'bigdata', 'to', 'data']

– DashingD3js ['gtgt', 'dataviz', 'data', 'visualization', 'the']

– albertocairo ['dataviz', 'infographics', 'mt', 'to', 'of']

– CraigMilroy ['dataviz', 'bigdata', 'analytics', 'via', 'the']

– SASUK_VAnalytic ['dataviz', 'sas', 'to', 'data', 'analytics']

TOPIC DETECTION

● TF-IDF:

Muy dicha por todos

Poco dicha por todos

Muy dicha por un usuario

STOP - WORD TOPIC

Poco Dicha por un usuario

UN-TOPIC Error

TOPIC DETECTION

● TF-IDF:

TOPIC DETECTION

● TF-IDF (dataviz)

– jenstirrup ['news', 'latest', 'httptconoq8ichxkd', 'summary', 'httptcokkmpu9c9fi']

– HlthAnalysis ['death', 'vizoftheday', 'causes', 'tableau', 'world']

– CraigMilroy ['bigdata', 'analytics', 'datascientist', 'via', 'cmo']

– ddjournalism ['ddj', 'journalism', 'bigdata', 'opendata', 'nicolaskb']

– BI_Dashboards ['businessintelligence', 'dundasdata', 'analytics', 'dashboards', 'do']

– DashingD3js ['gtgt', 'visualization', 'data', 'job', 'visualizations']

– SASUK_VAnalytic ['sas', 'httptcojxn0tevr2w', 'analytics', 'demo', 'visual']

– albertocairo ['infographics', 'mt', 'good', 'art', 'summary']]

TOPIC DETECION

● TF-IDF es limitado para tweets

● TrendingTopics es una alternativa (que esta subiendo)

● Comparación con la red aleatoria vecina

SENTIMENT ANALISIS

● Encuesta

● Bag of words

● Bitex: http://svc8.bitext.com/api-demo/

Variables independientes:

EJEMPLOS

EJEMPLOS

● Geolocalitzación + volumen + natural language: http://trendsmap.com/.

● Natural Language + volumen + geolocalización + sociograma: Trending topics de twitter

EJEMPLOS

● Sociograma + volumen: http://www.vilaweb.cat/tuitometre

● Volumen(user) + sociograma: http://twitterencatala.org/

● Geolocalització + volumen(media): http://merce2012.elperiodico.com/Espectacle_multimedia___Montreal_signe_l%27Ode_a_la_vie_(Diumenge)-merce-2012-221.html

EJEMPLOS

● Volumen + Natural Language http://deustosarelab.deusto.es/eleccionesvascas2012/

● Sociograma + narual language + volumen: http://www.guardian.co.uk/uk/interactive/2011/dec/07/london-riots-twitter

● Geolocalitzaicón + volumen: http://engineering.twitter.com/2012/06/studying-rapidly-evolving-user.html

MUCHAS GRACIAS

David Martín-Borregón@davidMartinB

datanpress@datanpress