1
UmapInteligencia colectiva extraída del flujo de las redes sociales
Luistxo Fernández
¿Qué es Umap?
Umap es el agregador de todo el contenido en euskera de Twitter
La maquinaría de Umap
Analizar tweets en tiempo real
Detectar usuarios vascoparlantes
Detección de idioma
Noticiero, trends
Procesando tweets en tiempo real
Twitter. Streaming API http://dev.twitter.com/pages/streaming_api
Opciones: Location
Track (keywords)
Language and Country -> users
Límites en n. de usuarios a seguir
Cada 10 minutos podemos renovar la petición
class Client: def __init__(self): self.buffer = u'' self.conn = pycurl.Curl() self.conn.setopt(pycurl.USERPWD, "%s:%s" % (USER, PASS)) self.conn.setopt(pycurl.URL, STREAM_URL) self.conn.setopt(pycurl.POSTFIELDS, urllib.urlencode(get_post_values())) self.conn.setopt(pycurl.WRITEFUNCTION, self.on_receive) try: self.conn.perform() except pycurl.error, e:
print "Error code: ", e[0] print "Error message: ", e[1]
def on_error(self, data): import pdb;pdb.set_trace() print data def on_receive(self, data): print data self.buffer += data if data.endswith("\r\n") and self.buffer.strip(): content = json.loads(self.buffer) a = create_status_from_dic(content) self.buffer = ""
Detección de usuarios
El algoritmo: la fórmula secreta de Coca-cola...
Dame 20 usuarios, y te encuentro todos los chinoparlantes de la red
También hay proceso de limpiado, borrado
Personas se detectan mejor que robots
Detección de idioma
El mejor sistema: Google Language Detection API http://code.google.com/apis/language/
La licencia no lo permite
El marcado de idiomas de Twitter es malísimo, y además unívoco (lo mismo que Google, por cierto)
Detección de idioma
Modular: 'eu' Guesslanguage Galés, Cy: lo mismo,
Catalán, Ca: ejem... Dificultad intrínseca mucho mayor, lenguas romances...
LangID Textcat LID GuessLanguage
Test 1. eu OK % 75 % 74 % 85 % 93
Test 2. eu OK % 76 % 88 % 96 % 95
Detección de idioma Detectar más de un idioma ¡en 140 c. máx!
Varios detectores dan más de un idioma por texto analizado: cuanto más corto, más ambiguo y dan positivo más idiomas → aplicamos un cálculo extra que cruza longitud de mensaje con número de idiomas detectados
Noticiero automático, trends
vs
Noticiero automático, trends
Inteligencia colectiva, comunitaria, automatizada: trends y un noticiero automático
Trends: contar todas las palabras. Lógica: Palabra: 1 point Hash: 10 point Factores (por ejemplo, ¿enlace?: x1.1) Modulo variable Detección y valoración de nombres propios
Noticiero automático, trends
Noticiero
Conteo de todos los enlaces (¡acortadores!)
Cada x minutos, contamos
Mandamos el robot a explorar enlaces OEmbed!!!!!!!!!! Parser HTML ;-)
oEmbed vs HTML parser
http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch%3Fv%3DbDOYN-6gdRE&format=json
{"provider_url": "http:\/\/www.youtube.com\/", "title": "BRIARD ON SCOOTER - scooting dog",
<h1 id="watch-headline-title"> <span id="eow-title" class="" dir="ltr" title="BRIARD ON SCOOTER - scooting dog"> BRIARD ON SCOOTER - scooting dog </span> </h1> <div id="watch-headline-user-info"> <a id="watch-username" class="inline-block" rel="author" href="/user/courteous1"><strong>courteous1</strong></a>
vs
Más inteligencia: analítica
Sociolingüística en directo
Datos oct 10 – abr 11: Tweets: 1.177.666
eu : 151.969 (13%)
Siguiendo a más de 2.000 usuarios, de los que 1.200 son bastante activos
Más inteligencia: analítica Número de tweets por usuario, una tarta
equilibrada
Más inteligencia: analítica Uso porcentual del euskara en tweets
Más inteligencia: analítica Retweets: %15 → Usuarios más influyentes
Noticias: análisis de enlaces (tweets con enlace 55%!)→sitios más utilizados:
eitb.com (1238), youtube.com (504), argia.com (395), berria.info (372), sustatu.com (314), goiena.net (310), zuzeu.com (245), gara.net (235), twitpic.com (230), feedburner.com (226), euskadi.net (200), twitter.com (197), ukberri.net (191), topatu.info (165), google.com (156), askatu.org (143), kulturweb.com (132), etengabe.blogsome.com (117), bizkaie.biz (116), kazeta.info (103), bildu.info (100), uberan.org (87), otamotz.com (87), aiaraldea.com (86)...
Mayoritariamente, estos son ¡medios de comunicación! Construímos un noticiero robótico, que no da de comer a ningún periodista, pero que a su vez, se nutre principalmente del trabajo profesional...
Evolución Umap 2011:
comunidad lingüística
Otros Umaps: Otras comunidades y escalas, otras capas de
inteligencia colectiva
Trends más inteligentes que el TT de Twitter
Noticieros selectivos, de alertas, etc.
LiveBlogs, foros tipo Coveritlive
Analítica comercial, de vigilancia tecnológica...
Eskerrik asko
@luistxo
http://umap.eu
http://www.codesyntax.com/products