Successfully reported this slideshow.

Umap, inteligencia colectiva las redes sociales

708 views

Published on

Published in: Technology, Business
  • Be the first to comment

Umap, inteligencia colectiva las redes sociales

  1. 1. Umap, inteligencia colectiva extraída del flujo de las redes sociales Eneko Astigarraga Josu Azpillaga Luis Fernandez Aitzol Naberan CodeSyntax. Internet Solutions Eibar, Gipuzkoa eastigarraga@codesyntax.comResumen/Abstract:UMAP, collective intelligence extracted from the flow of social networksThe UMAP project (www.umap.eu) is a practical attempt to obtain collective intelligence from the flow ofsocial networks. The links that the users share are analyzed, filtered and rated so as to make collectiveintelligence become structured information.For example, the information, comments and links which are being shared by users belonging to acertain community – linguistic, social, thematic, organizational, ... - are analyzed in real time to achievethe procurement of trends at specified intervals (hourly, daily, weekly, ...) or by algorithms in search ofsimplicity, by which means the flowing information becomes result, in the form of automated news towhich, besides their own value, opinions and the relevance that users of social networks give them areadded.First applications of UMAP project developed by CodeSyntax are already visible in www.umap.eu .UMAP opens the way for future applications centered in the extraction of information and collectiveintelligence from communities that share social, political, economical, trading, business, products,brand, technological, ... interests through social networks.Palabras Clave/Keywords: Collective intelligence, microblogging, Social network,umap1. IntroducciónLas redes sociales son estructuras sociales compuestas de grupos de personas, las cuales están conectadaspor uno o varios tipos de relaciones, tales como amistad, parentesco, intereses comunes o que compartenconocimientos.Por otra parte, las redes son formas de interacción social, definida como un intercambio dinámico entrepersonas, grupos e instituciones en contextos de complejidad. Un sistema abierto y en construcciónpermanente que involucra a conjuntos que se identifican en las mismas necesidades y problemáticas y quese organizan para potenciar sus recursos.En Internet, el concepto de comunidad es cada vez más importante para incrementar la precisión y laeficacia de los contenidos y su distribución. El contenido puede ser etiquetado, valorado y comentadopara aumentar el conocimiento de la comunidad, al tiempo que cada usuario es productor valor añadido alos contenidos al tiempo que permite a los miembros de una determinada comunidad personalizar laoferta y consumo de acuerdo con su perfil.En este contexto, varias técnicas pueden ser usadas para el contenido de la clasificación: desde la imageny reconocimiento de voz, al marcado semántico, la posición geográfica, o la minería de datos ... al tiempo
  2. 2. que permiten enriquecer el contenido con nuevas características que sirven para incrementar el valor de lainformación.En la denominada sociedad en red, termino profusamente difundido y descrito por Manuel Castells [1]cualquier nodo de la misma es tan capaz como cualquier otro de transmitir un mensaje y como señala elsociologo Paul Pierre Levy “nadie sabe todo. Todos sabemos algo. Todo el conocimiento reside en lasredes” [2]. En definitiva, en dicha sociedad en red el conocimiento se genera de forma colectiva. Así,George Pór definió el fenómeno de la inteligencia colectiva como la capacidad de las comunidadeshumanas de evolucionar hacia un orden de una complejidad y armonía mayor, tanto por medio demecanismos de innovación como de diferenciación e integración, competencia y colaboración. [3]Redes sociales como Twitter, Facebook, Tagzania y otras muchas permiten generar y compartirinformación, generando lo que se ha venido en denominar inteligencia colectiva generada a partir de lasredes sociales.Previsiblemente, el resultado obtenible a través de otras redes sociales sería similar. Es decir, puedehablarse de una inteligencia generada a través del flujo e interacción de las redes sociales que tal y comoproponen diferentes autores puede ser denominada como “inteligencia colectiva” y que en diferentescontextos tratamos de aflorar a través de la aplicación Umap.El profesor Bullmore, en un reciente artículo titulado “What does Twitter have to do with the humanbrain?” [4] sugiere que aunque nos gusta pensar que el cerebro humano es especial, algo diferente deotros cerebros y sistemas de procesamiento de la información, en el fondo todos los sistemas deinformación y procesamiento funcionan de manera similar. Bullmore ha realizado varios experimentos(usando el tag #csftwitterbrain) en los afirma que el resultado de la red Twitter se puede comparar a la reddel cerebro humano .La experiencia acumulada con Umap no nos permite afirmar tanto, pero las primeras aplicaciones deUmap desarrolladas para extraer la inteligencia colectiva generada en comunidades lingüisticasminoritarias permiten comprobar los primeros resultados de la aplicación en Umap euskara, Umap Cataláy Umap Cymraeg (gaélico) , todas ellas accesibles desde www.umap.eu2. Metodología: extracción de información desde las redes sociales demicrobloggingComo se señala en la introducción, extraer información relevante de los inputs generados por los distintosusuarios de las redes sociales requiere definir, en un primer momento, una comunidad que comparta algúnrasgo en común y que defina el colectivo que se quiere estudiar.Una vez definido el rasgo, interés o característica común de la red social analizada, que puede ser el usode un determinado idioma (catalán, gaélico, euskara, ...), compartir un determinado interés (coches,motos, perfumes, …), una determinada marca o empresa, un determinado interes social o político,pertenecer a una determinada comunidad geográfica, … ese será el colectivo sobre el cual se podránaplicar las técnicas definidas.En el caso de la aplicación práctica de Umap que se presenta en este paper, el rasgo común al colectivoes el idioma y la aplicación analizada es Twitter, cuyo flujo de información es recogido, filtardo y tratadopor Umap.Es decir, estamos hablando de una comunidad lingüistica, que utiliza Umap trata de leer, interpretar yextraer información relevante de todas las personas que hablan -en este caso escriben- en un determinado
  3. 3. idioma (euskera, catalán, gaélico, …) consideran, o únicamente los tuits que, a su vez, cumplan con eserequisito dado: que estén escritos en ese idioma.Por tanto, la lógica sigue Umap se puede resumir en cuatro puntos: 1. Recoger en tiempo real todos los inputs (tuits) de todos los usuarios de la comunidad definida 2. Detectar posibles nuevos usuarios de esa comunidad de estudio (en este caso, detectar nuevos usuarios de ese idioma) 3. Discrimirar los mensajes de los usuarios según un parametro concreto. En este caso, no todos los tuits de los usuarios están escritos en dicho idioma . Sólon os interesan algunos de ellos 4. Analizar todos los tuits que cumplen los requisitors para: a. Extraer trends o palabras clave de esa comunidad b. Extraer ranking de links compartidos por esa comunidad.A continuación pasamos a exponer una aplicación concreta de Umap aplicada a comunidades lingüísicasque como hemos indicado puede servir como ejemplo de caso de aplicación, utilizable en otrascomunidades que compartan intereses sociales, políticos, comerciales, empresariales, ...3. Umap. Estudio de caso.Umap se ha concebido para ser aplicado a cualquier comunidad que comparta algún rasgo en comúncomo puede ser un determinado idioma (catalán, gaélico, euskara, ...), un determinado interés (coches,motos, perfumes, …), una determinada marca o empresa, un determinado interes social o político, ... yque defina el colectivo que se quiere estudiar.En las líneas que siguen a continuación expondremos el caso de Umap aplicado a comunidadeslingüisticas minoritarias, que puede ser extrapolable a otros intereses u objetos sociales: productos,marcas, intereses sociales, intereses políticos, ubicación geográfica, ….3.1. Umap aplicado al idioma, como marcador de comunidadUmap ha sido concebido como un sistema de extracción de datos desde micromensajes, que obtiene comoproducto información nueva generada a partir de datos agregados.El sistema de extracción, en una primera fase, se basa en el Streaming API de Twitter, y en un factorcatalizador de la información: el idioma. Twitter ya extrae información de subconjuntos de los mensajesque pasen por sus servidores, y también construye información nueva sobre ellos (básicamente, lostrending topics), pero el alcance y lógica de lo que hace Twitter es distinto al nuestro.Los modos actuales de detección de trending topics o palabras claves que usa Twitter se basan en criteriosgeográficos, no lingüísticos. De momento, está función está limitada a ciertos países y ciudades. Además,la información agregada de lo que obtienen tampoco pasa un filtro, ni lingüístico ni geográfico. Es decir,la lista de elementos relevantes (los trending topic) que procesan continuamente sí tienen significación yrelevancia local, pero no la información que se obtiene clicando en ellos, que sólo es relevante conrespecto al criterio de filtro en algunas ocasiones.Por ejemplo, si en España un término como #PerezReverteFacts pasa a ser trending topic cabe pensar queclicando ahí, la información acumulada que se obtiene es de tweets españoles, ya que Arturo Perez-Reverte es un autor y personaje público español; no obstante, si el topic español del momento es #tsunamila información que se obtiene en ese enlace es la de todos los mensajes que llevan ese identificativo seande España o de otros lugares, estén en español, sueco o japonés.En este caso de uso, el objetivo de Umap era precisamente hacer que el idioma fuera un factordenominador de comunidad o de la información, y convertir eso en el eje sobre el que construir
  4. 4. información adicional. De modo que el primer paso del proceso de creación de la herramienta fueinvestigar el modo en que se podían identificar los mensajes en un idioma dado en Twitter.3.1.1.Detección de idiomaLos metadatos de los que provee el API de Twitter sí identifican un componente idiomático, pero es unsistema bastante deficiente, por dos motivos: 1 Sólo identifica un número finito de idiomas. 2 Asigna un idioma a todos los tweets.A consecuencia de ello, por ejemplo, los tweets en catalán quedan identificados erroneamente siempre: noes uno de los idiomas en los que funciona sus sistema de detección, con lo que no sólo falla para el casocatalán, sino que los tweets en catalán contaminan los resultados en español, francés, italiano... Estoocurre porque a los mensajes en catalán de Twitter el sistema de detección siempre les asigna otro idioma,normalmente una lengua romance cercana.A la vista que los datos del API de Twitter eran insuficientes, quedó claro que el sistema de detección deidioma debía residir en nuestro lado de la aplicación.En las primeras pruebas que hicimos usamos el API de detección de idioma de Google. No aciertasiempre, pero su fiabilidad parace muy elevada en nuestra opinión, y nos sirvió para comprobar que elresto de los componentes de Umap podían funcionar. Sin embargo, usar el API de Google para filtrarmiles de mensajes individuales en un proceso contínuo es inviable: no lo permiten las condiciones de usodel API, que restringen el número de peticiones por hora.Por lo tanto, el siguiente paso fue encontrar detectores de idiomas que funcionen en nuestros propiosservidores.Se realizaron pruebas con distintos detectores de idiomas, y se ha optado por una solución modular:dependendiendo del idioma, podemos utilizar un método u otro.Hemos hecho pruebas con varios detectores; por ejemplo:[1] Langid (Perl)[2] Textact (Perl)[3] Guess Language (Python)La modularidad también nos permite añadir niveles extra de programación. Esto se ha revelado necesarioya que los mensajes de Twitter son, a lo sumo, de 140 caracteres de longitud, y la detección de idioma enun mensaje tal no es lo mismo que en un texto más largo (una página web, por ejemplo).Una de las particularidades de varios detectores de idiomas es que dan como respuesta más de una lengua:en documentos de cierta longitud es muy útil puesto que se detecta así la presencia de más de un idioma,pero en micromensajes de Twitter la multiplicidad de idiomas suele ser signo de error muchas veces,sobre todo si el mensaje apenas tiene 30 o 40 caracteres. Además, pese a ser cortos, los mensajes deTwitter pueden también ser bilingües, y en otros casos, incluir jerga teconológica en inglés o títulos deobras (películas, libros) en un idioma dado aunque se comente en otro...En el caso del detector de euskera, hemos implantado un recurso extra de cara a este problema: dividir elnúmero de idiomas (si entre ellos se encuentra el euskera) por el conteo de caracteres y dar por bueno si elresultado es > 25.En el caso del catalán el módulo de lengua es aún un poco más complicado puesto que uno de losproblemas detectados es que los detectores pueden dar como catalán textos escritos en otros romances:particularmente, hemos comprobado que ello ocurre con mensajes escritos en español de varios paíseslatinoamericanos, sobre todo si son cortos y los usuarios prescinden de acentos o de la correcióngramatical. El módulo de detección de idioma se enriqueció, por lo tanto, con un filtro previo destopwords positivos y negativos: por un lado, ciertas palabras claves que sirven para identificar el
  5. 5. mensaje como catalán (stopwords positivos) y otros que sirven para identidicar el español (stopwordsnegativos).3.1.2. Detección de usuarios en un idiomaLa detección de idioma en los mensajes es uno de los componentes de Umap, pero existe el paso previode la detección de usuarios. Umap no filtra todos los mensajes que generan los 200 millones de usuariosde Twitter: primero detectamos usuarios susceptibles de usar un idioma dado, y son sus mensajes los queson filtrados.Los primeros idiomas en los que se ha desarrollado Umap (euskara, catalán, galés) son lenguas en las quecabe suponer que todos los usuarios son bilingües cuanto menos. Hay cuentas de Twitter perfectamentemonolingües en los tres idiomas, sobre todo cuentas robóticas asociadas a medios de comunicación que sealimentan automáticamente via RSS o algún otro método, pero en el caso de usuarios humanos, aúncuando pueden ser también monolingües en su comportamiento, potencialmente siempre pueden tuitearen otro idioma.La mecánica es, pues, detectar usuarios que tuitean en un idioma dado y luego filtrar todos sus mensajes,para procesar aquellos que están en el idioma deseado, desechando el resto.Fig 1: Intercambio de información via microblogging de usuarios en gaélico, recogida en Umap Cymraeg. Trending topics de las últimas 2 horas, las últimas 24 horas y la última semana, en la columna de la derecha.El método de detección de usuarios no siguen ninguna técnica complicada: es más bien ingeniera social.Partiendo de un número reducido de usuarios que marcamos como hablantes de la lengua por haberlocomprobado directamente (humanamente, claro), Umap empieza a seguirlos y detecta más usuarios demanera muy simple: - marcamos como hablante aquel a quien un hablante interpela directamente.En términos de Twitter, es un mensaje en un idioma dado que empieza con un nombre de usuario tal que@fulano @asarasua lehengoan Antzuolan inauguratu zuten duela urtebetetik zabalik dagoen bidegorria... eta oraindik osoa bukatzeke dago!Este usuario interpela a @asarasua en euskera; luego, podemos asumir que @asarasua puede entender y yusar el idioma. El sistema sólo se aplica con nombres de usuario en posición inicial, puesto que sonhabituales menciones a otros usuarios en posición intermedia:
  6. 6. − asko gustatzen zait @stephenfry aktore gisa, eta bere iritzi intelektualak ere baiSi el usuario quisiera interpelar directamente a Stephen Fry, actor y celebridad británica, es probable quelo haga directamente en inglés y empezando − @stephenfry I really did like your last article at The GuardianNo obstante, aunque no el modo habitual en que tuitea la gente, si es posible que, por la forma en que seconstruye la frase un usuario empiece un tweet en euskera con... − @stephenfry benetan atsegin dudan aktore bat da(Stephen Fry es un actor que me encanta de verdad)Umap añadiría a Stephen Fry a su lista de usuarios en euskera tras este tweet; y todos sus mensajesempezarían a ser filtrados: probablemente, ninguna será marcado como en euskera, y por lo tanto, nicontimanará el contenido ni añadirá más falsos usuarios al listado. Como provisión de seguridad, además,Umap tiene un mecanismo para limpiar usuarios: periódicamente el listado de usuarios es revisado yaquellos que nunca tuitean en el idioma requerido son borrados. Es así como Stephen Fry desaparecerá dela base de datos.3.2. Información agregadaUna vez definida la comunidad de la que queremos extraer información, y el subconjunto de mensajesque queremos procesar (ambos parámetros marcados por el idioma), Umap extrae dos conjuntos deinformación principales: − Trends o palabras claves − Noticias o enlaces intercambiados3.2.1. Trends o palabras claveDetectar trends o palabras clave no es un proceso complejo en si mismo: se cuentan las palabras en lostweets, y se hace un conteo con las acumuladas en N plazos de tiempo: últimas 2 horas, últimas 24 horas,última semana, último mes (30 días)En principio, Umap hace un recuento de esos plazos reseñados, pero en el caso del primer plazo (el de doshoras) es una variable que modulamos según el volumen de tweets en un idioma: en principio llamamos aese primer plazo “ahora”, que puede necesitar más o menos tiempo de plazo para ser relevante.El conteo de palabras para trends sigue un proceso bastante simple: limpieza, valoración de importanciadel tweet, conteo.Para la limpieza, seguimos este proceso: − detección de stopwords (palabras más comunes del idioma se eliminan) − se eliminan términos de URLs y nombres de @usuario − se eliminan signos de puntuaciónLa determinación de la importancia del tweet es un factor que, en este momento, evaluamos de manerabastante simple: básicamente, consideramos que si un tweet menciona a otros @usuarios y tiene enlaces,es más rico y los términos incluidos en el mismo merecen una ponderación positiva. Un argumento deponderación que aún no hemos implementado es la determinación de usuarios robóticos; en este caso, elfactor de ponderación será negativo, puesto que creemos que los tweets humanos tienen más valor que losque puedan generar servicios de noticias o tweets automatizados.Finalmente, el factor de ponderación se aplica a los terminos contados, y en esto, de momentodistinguimos entre palabras sueltas y aquellas con hashtag: si una palabra suelta tienen un valor 1,aquellas con almohadilla # tienen un valor 1 x N. Creemos que en este nivel también se puede hacer
  7. 7. alguna distinción más, particularmente, detectar nombres propios (personas, lugares, marcas y productos)y darles un valor intermedio entre hashtags y palabras comunes. Fig. 2: archivo de topics en catalán3.2.2. Conteo de enlaces para generar un noticieroEl otro tipo de contenido agregado que genera Umap es el conteo de enlaces contenidos en los tweets. Porun lado se determina qué enlaces están siendo más compartidos en las últimas horas, con lo que se puedellegar a conocer qué es noticia, o qué es lo que la comunidad considera digno de ser compartido. Por otrolado, los tweets en los que los aparecen enlaces se agrupan para ver qué comenta la gente sobre losenlaces.En este proceso no tenemos en cuenta el idioma en que está el contenido al otro lado del enlace. Podríadesarrollarse una versión tal, pero creemos que hay más valor en que el comentario de los usuarios se hahecho en el idioma comunitario, independentemente del contenido referido. Es, por ejemplo, muy usualque un vídeo impactante un día dado se comente en multitud de idiomas.El conteo de enlaces tiene varias fases: − determinar enlaces, − parsear contenido, para extraer datos básicos − ordenar por relevancia, creando un noticiero − archivado y previsión de reaparición del enlaceLa determinación de enlaces es compatible con los distintos sistemas de acortado de URLs: bit.ly, goo.glo el mismo t.co de Twitter resuelven URLs de modo ágil y sólo se contabolizan las URL finales,lógicamente.El parseador de Umap se activa cuando un enlace obtiene dos menciones: un robot parsea el contenido delenlace, y extrae, si robots.txt lo permite, título, algunas líneas de texto, thumbnail de lo que se estima seala imagen más relevante presente en la página...El sistema tiene previsto una herramienta modular para que cierto tipo de URLs puedan ser procesadas demanera particular. Por ejemplo, si el sitio foo.com es relevante en un idioma dado, y el sistema estándarde parseo no obtiene información relevante del mismo por el HTML peculiar que tiene, se puede crear unmétodo de parseo específico para Foo.comIgualmente, el parseador está adaptado al estándar Oembed que usan diversos servicios de Internet y queproveen así a los robots con un contenido concreto que permiten embeber o copiar fácilmente en otrossistemas. Por ejemplo, Youtube es un sitio que usa Oembed, y por ello, el robot de Umap lo tiene másfácil para poder embeber el reproductor del vídeo y otros metadatos de su contenido.Los enlaces parseados pasan a una base de datos, y periódicamente se hace un conteo de su relevancia. Eneste caso el factor ponderador es el tiempo, y está determinado en tramos por horas. Si una mención de
  8. 8. enlace vale 1, el que la mención sea en las últimas 2 horas tiene un factor de multiplicacion x4, si lamención es entre 2 y 5 horas, x3, más vieja aún x2... Los factores y los tramos temporales son modularesy editables, pero su función básica es que si un enlace obtiene varias menciones recientemente, llegue alpuesto principal de noticias relevantes, aunque en número de menciones en las últimas 48 horas tengamenos que una noticia que generó varios enlaces en el día de ayer.En principio, hay un máximo de tiempo marcado para que un enlace entre en el conteo de relevancia: másallá de 48. en tiempo de Internet, parece que algo deja de ser noticia. El tiempo marcado puede servariable, pero no parece lógico prolongarlo más allá de dos días. Tras ese tiempo, el enlace quedaarchivado y quedan asociados a él los tweets en los que se mencionó. Fig. 3. Noticiero automatizado en Umap euskera.Sin embargo, puede que un enlace concreto, caducado tras dos días de comentarios, pueda volver a seractualidad. Puede ser, por ejemplo, una URL principal o dominio concreto como una empresa, Foo.comque fue comentada hace 5 semanas por una cuestión concreto, y hoy está otra vez de actualidad por otrotema. En este caso, Umap renueva el proceso de parseo (puesto que el contenido de portada de Foo.compuede haber variado) y también guarda los nuevos tweets asociados a esta nueva fase, prescindiendo delos generados hace 5 semanas. No obstante, todas las referencias son guardadas: aunque de momento nohemos desarrollado interfaces sobre esta opción, cabe imaginar un histórico de menciones y comentariosde una URL dada, de modo que se pueda mostrar el historial de Foo.com, cuándo fue noticia tal URL (endistintos momentos de su historia), qué contenido mostraba en cuando fue noticia, y qué comentariosgenera en cada uno de esos momentos de “fama”.4. Conclusiones y líneas futuras de investigaciónEn las líneas que preceden hemos expuesto el caso de Umap aplicado a comunidades lingüisticasminoritarias. Los resultados obtenidos son alentadores, el sistema es capaz de obtener informaciónrelevante para y referente a las tres comunidades seleccionadas: comunidad lingüística en euskara,comunidad lingüística en catalán, comunidad lingüística en gaélico, y que puede ser extrapolable a otrosintereses compartidos: como intereses comerciales, interés por marcas, productos o tecnologías., interesessociales, económicos, políticos, etc.El sistema aplicado por CodeSyntax en Umap.eu [5] permite extraer, almacenar y tratar de formaautomatizada y en función de diferentes parámetros los temas de interés para esas comunidades y las
  9. 9. redes sociales que generan. Se han obtenido noticieros automatizados que seleccionan y ponderan lasinformaciones más relevantes para las comunidades estudiadas, ofreciendo un resumen de la inteligenciacolectiva extraida desde las redes sociales que se conforman a partir de las mismas.Se ha validado la utilidad de la herramienta y se han abierto posibilidades de aplicación en otros camposcomo los arriba mencionados: análisis y extracción de información a partir de redes sociales en torno aproductos, marcas, tecnologías, … Su aplicación en otro tipo de redes sociales además delmicroblogging constituye otra de las líneas de investigación futura.Así, Umap abre el camino para futuras aplicaciones en la extracción de información e inteligenciacolectiva de comunidades que compartan intereses sociales, políticos, económicos, comerciales,empresariales, de productos, marcas, tecnologías, ... a través de redes sociales.5. Referencias Bibliográficas[1] Castells Manuel, La sociedad en red. Alianza Editorial, Madrid 2005[2] http://en.wikipedia.org/wiki/Social_network[3] http://en.wikipedia.org/wiki/Collective_intelligence[4] http://www.admin.cam.ac.uk/news/dp/2011031105[6] http://www.umap.eu y http://www.codesyntax.com/taller-cs/blog/topics/umap6. CV autoresEneko Astigarraga. MBA y Ldo en CC.PP y Sociologia. Gerente de CodeSyntax. Profesor de Prospectivaen la DBS, Universidad de Deustohttp://twitter.com/eastigarragaJosu Azpillaga. Ingeniero Industrial . Responsable de I+D+i en CodeSyntaxhttp://twitter.com/jazpillagaLuis Fernandez. Ldo en CC de la Información. Responsable de proyectos y co-fundador de CodeSyntaxhttp://twitter.com/luistxoAitzol Naberan. Ingeniero Informático. Desarrollador senior en CodeSyntaxhttp://twitter.com/aitzol

×