Archivo de la etiqueta: Lenguaje R

Data mining. Análisis de las interacciones sociales de los usuarios en Twitter (1)

En una entrada anterior, Data mining. Análisis de las actividades de los usuarios en Twitter, hemos podido ver como la minería de datos nos permite analizar la actividad de los usuarios, en términos de frecuencia de su actividad en Twitter, durante un periodo determinado de tiempo presentando diversos gráficos para visualizar dicha información aplicando diversos criterios temporales (día de la semana, hora del día,…). También hemos podido medir y determinar que aplicaciones se utilizan para generar los tuits.

Sin embargo, a partir de la información suministrada por Twitter en la extracción de los datos y la aplicación de algunos algoritmos en el texto de los tuits, podemos profundizar mucho más en el análisis de la actividad de los usuarios y entrar en el dominio de las interacciones sociales. Para ello, hemos procedido a establecer la tipología de tuits que puede generar un determinado usuario. En nuestro caso hemos considerado los siguientes casos:

  • Propio: Es el tuit por excelencia, para comunicar algo propio (opinión, sentimiento, estado, notificación…) en búsqueda de una audiencia. Compuesto de texto y/o enlaces sin hacer  referencia a otro usuario.
  • Respuesta: Tuit de respuesta a otro usuario según el protocolo de Twitter (Reply)  Una alta frecuencia de este tipo tuit implica una conversación activa.
  • RT: Tuit de republicación del tuit de otro usuario que consideras interesante de acuerdo con el protocolo de Twitter (Retweet).
  • Vía: Mención al tuit de otro usuario, equivalente en cierta medida al RT, pero al margen del protocolo estándar de Twitter. Se suele utilizar los términos de: vía, por, by… para indicar la autoría del enlace o texto incluido en el tuit. En general conlleva algún comentario o valoración del enlace o tuit de referencia.
  • Mención: Tuit donde se menciona a otros usuarios que no se ajustan a los patrones para los tuits de Respuesta, RT o Vía.

De acuerdo con dicha tipología aplicada al caso de ejemplo, @usuarioSrX, podemos obtener una serie de gráficos, frecuencia por hora, día de la semana o porcentajes, entre otros posibles :

Slide054

Slide056

Slide058

¿Qué conclusiones podemos extraer en este caso?. La primera es que en su actividad tuitera domina la conversación (64,5%) y la segunda es que utiliza marginalmente el RT recurriendo a otras vías al margen del protocolo de Twitter para realizar menciones (0,5% contra un 22,1%).

En una próxima entrada comentaremos el análisis de la utilización de los #hashtag en las interacciones y las relaciones (Respuestas, RTs, Menciones) con otros usuarios.

Data mining. Análisis de las actividades de los usuarios en Twitter

Using-TwitterTal como comente en una entrada anterior: Data mining. ¿Cómo extraer la máxima información de Twitter?, el acceso a las bases de datos de Twitter permite que podamos analizar “casi todo” lo que acontece en los flujos de mensajes en la red social de microblogging. En mi nueva actividad de “minero” de datos, hoy voy a ilustrar algunos ejemplos de análisis de la actividad que desarrolla un determinado usuario utilizando el lenguaje de programación R y la extensión twitteR para interaccionar con Twitter.

A través de la API pública de Twitter podemos extraer hasta un máximo de 3.200 tuits generados en los dos últimos meses  de un determinado usuario (userTimeLine) y analizar su actividad. En el ejemplo que presento a continuación se trata de un usuario real que ha generado 1.455 tuits en los dos últimos meses, aunque por razones obvias su identificativo de usuario está anonimizado como @usuarioSrX.  Pues bien, en una primera aproximación analítica podríamos intentar responder algunas preguntas cómo:

¿Cuál ha sido la producción de diaria de tuits?

TA01

Aquí podemos ver una gráfica de la actividad de estos dos últimos meses del usuarioSrX y observar a simple vista su frecuencia tuitera por día. Si aplicamos un análisis de auto-correlación para chequear la aleatoriedad de los datos se puede constatar que la serie en el tiempo analizada se mantienen en los umbrales de aleatoriedad y manifiesta, para el periodo analizado, un modelo de actividad caracterizado por una constancia cotidiana en la actividad del usuario en estudio en Twitter (línea verde).

TA02

En este punto señalar la importancia de cómo visualizar la información y que la misma información la podemos presentar en otros formatos más intuitivos y elegantes, en este caso utilizamos una representación en  forma de un  calendario con un mapa de colores que muestra la densidad de actividad por día.

TA03

Para la elaboración de este mapa he utilizado la función en R, Calendar Heat Map, desarrollada por Paul Bleicher.

Sin embargo, más que la visualización de la producción diaria, nos puede interesar conocer el día o los días de la semana donde @usuarioSrX es más activo:

TA05

También nos podría interesar conocer su actividad por tramo horario:

TA04

Aunque podríamos afinar más y visualizar, según el día de la semana, las horas de más actividad:

TA06

Además, nos puede interesar conocer desde dónde ha escrito los tuits:

TA07

Otras formas de visualizarlo:

TA08

TA09

Estos son algunos ejemplos  de cómo analizar la actividad de los usuarios en Twitter, lo importante a señalar es que una vez que extraemos los datos de los usuarios y su actividad, con el entorno de programación R podemos realizar una explotación analítica exhaustiva de dichos datos de acuerdo con la información que queramos extraer.  Alguien se preguntará para que sirve un análisis de la actividad de un usuario, pues bien, aquí apunto algunas ideas según el rol que queramos asumir:

Como voyeur:  te permite es una mirada más “excitante” sobre la actividad de otros usuarios que va mucho más allá del flujo de un Time Line. Os aseguro que, a partir de ahora, con las herramientas que estoy desarrollando mi nivel de morbo y chafardeo se ha incrementado.

Como ególatra: dispones de indicadores de tu propia actividad en la red de microblogging.

Como Community Manager: permite obtener indicadores de la o las cuentas que gestiona y de las cuentas de otras marcas o entidades de tu competencia para realizar comparativas de actividades.

Como analista político: Por ejemplo, poder monitorizar la actividad de sus señorías en el congreso, minuto a minuto, hora a hora, día a día… no tiene precio, y si además, lo complementamos con el análisis de los contenidos de los tuits, pues eso…

Como : la imaginación al poder. Según tu actividad e interés temático, junto a las correlaciones que puedas establecer con otras fuentes de información, las posibilidades son innumerables. Los caladeros del océano del Big Data son inmensos.

Me vuelvo a la mina.

Actualización: 13/02/2013 Nuevos gráficos mejorados.

Data mining. ¿Cómo extraer la máxima información de Twitter?

twitterDataminerDesde que soy usuario de Twitter, uno de los aspectos que ha despertado mi interés es la posibilidad de poder extraer la información no trivial que subyace en ese flujo continuo que está generando más de 170 de millones de tuits cada día.

Hoy, Twitter es una red de microblogging que permite conocer lo que se habla y lo que interesa a la gente. Así mismo, en cierta medida, es la noticia en vivo que está superando a los medios tradicionales de comunicación, por su inmediatez y novedad.

En la Red disponemos de cientos, por no decir miles, de aplicaciones que permiten obtener analíticas de Twitter. Obviamente, como la mayoría de los servicios que se van consolidando, los servicios gratuitos ofrecen informaciones básicas, mientras que los sitios web de pago nos permiten obtener una información mucho más elaborada. Sin embargo, cualquier persona interesada dispone de los recursos necesarios para explorar, por su cuenta, esa inmensa mina de datos que es hoy Twitter y extraer un cierto conocimiento, tanto predictivo como explicativo, en diversos campos como en el marketing o el sociológico y antropológico.

En mi caso particular, para realizar esta minería de datos (Data mining), he empezado a utilizar el lenguaje de programación R, un software libre para análisis estadístico y gráfico muy popular en las tareas de investigación de la comunidad científica en campos tan punteros como la biomedicina y la bioinformática. Para adquirir los conocimientos básicos de dicho lenguaje de programación, por ejemplo, en la plataforma MOOC de Coursera disponemos de un excelente curso, Computing for Data Analysis, de la Johns Hopkins University.

Para extraer la información de Twitter, el entorno de programación del lenguaje R suministra extensiones o paquetes, como twitteR que permite, entre otras opciones, extraer tuits públicos aplicando diversos criterios tales como rango de fechas, usuario, treding topics, hashtag, y palabras o frases claves.  Aunque el número máximo de tuits esté restringida por Twitter, por ejemplo un máximo de 3200 tuits en un acceso al Time Line, es una información suficiente para desarrollar los métodos y programas que nos permitan realizar la minería de datos en Twitter. Para un acceso masivo a los datos y una explotación comercial de nuestros métodos y programas, siempre tendremos la opción de contratar con Twitter un acceso completo.

Una vez que hemos obtenido los datos en bruto, es decir, la colección de tuits que cumplen unas determinadas condiciones, con el lenguaje R y las funciones especializadas podemos trasladar las informaciones de los tuits en tablas normalizadas que nos permitirán realizar una exploración analítica de los datos y su representación gráfica. Asimismo, al margen de los datos estructurados que podemos extraer: usuario, conexiones con otros usuarios, fecha y hora de publicación del tuit, etcétera, el aspecto más interesante es poder extraer información significativa del propio texto del tuit, una información no estructurado que plantea importantes desafíos en la búsqueda semántica. En este punto, el lenguaje R también nos aporta potentes herramientas para empezar a pulir los 140 caracteres con el objetivo de localizar información que nos permita conocer sobre que temas se está hablando, sobre la diversidad léxica, o, entre otros, sobre las palabras o frases más frecuentes. Asimismo, tenemos la posibilidad de realizar análisis, en el texto del tuit, de actitudes positivas o negativas hacia un determinado acontecimiento, producto o servicio. Esto último, denominado análisis de los sentimientos o minería de opinión, es un área de investigación que persigue poder identificar y extraer información subjetiva de textos y documentos, algo nada fácil considerando la ambigüedad que puede conllevar el lenguaje natural y el contexto cultural particular de cada persona. Véase (Mining the Web for Feelings, Not Facts),

De cualquier forma, con la bibliografía existente sobre el data mining y los recursos, ejemplos y estudios de casos, que podemos localizar en la Red Googleando, está asegurado un viaje apasionante a través de los flujos de tuits. Aquí os dejo, un ejemplo de mis primeros pasos de “minero” en Twitter.

Presentación de las nubes de palabras más frecuentes utilizadas en el Time Line de estos últimos días por dos profesionales del coach y los RR.HH. Criterios de visualización un máximo de 100 palabras por una cuestión de espacio. ¿Qué observaciones podemos extraer sobre el estilo y los mensajes que quieren transmitir dichos profesionales en su actividad tuitera?

WordCloudTwitterUsers

En Data mining. Análisis de las actividades de los usuarios en Twitter y en Data mining. Análisis de las interacciones sociales de los usuarios en Twitter podrás ver una aplicación más detallada.