Los medios sociales anotados geográficamente son extremadamente valiosos para la recuperación moderna de la información. Sin embargo,  los usuarios de redes sociales rara vez publican información de localización. conforman su red social.

geo

El paper: Geotagging One Hundred Million Twitter Accounts with Total Variation Minimization, de  Ryan Compton, David Jurgens y David Allen, ofrece un nuevo enfoque para solucionar este problema, proponiendo un algoritmo que  infiere la ubicación de un usuario desconocido, a partir de ubicaciones de los amigos con los que se conecta a través  de menciones en tweets,  y que conforman su red social.

gep1

Donde f = (f1; fn) es la locación estimada para cada usuario y  L es el set de usuarios, d es la distancia geodésica y wij, los pesos equivalentes al mínimo número de menciones.

El enfoque busca una red tal que la suma sobre todas las distancias geográficas entre usuarios conectados sea lo más pequeña posible. Esta suma se conoce como la variación total.

Metodología.

Se construyó una red social, G = (V; E), con usuarios como vértices y @menciones entre usuarios como aristas, usando  10% de la muestra de  tweets públicos  de Abril 2012 hasta Abril del  2014., con un peso de  76,9TB de datos, con 25.312.399.718 de @menciones. Se filtraron las menciones reciprocas, para conformar una red de  1.034.362.407 enlaces y 110.893.747 usuarios.  Del  número total de usuarios, el subtotal con localizaciones confirmadas vía GPS o auto-informes es 24.545.425.  Los usuarios con ubicaciones conocidas por GPS constituyen sólo una pequeña porción de las redes de menciones.

En cada iteración, el algoritmo actualiza simultáneamente la ubicación de cada usuario con la mediana l1 multivariante de las ubicaciones de sus amigos. Sólo después de que todas las actualizaciones estén completas comunicamos nuestros resultados a través de la red.

El framework Apache Spark se utilizó para implementar el algoritmo en una arquitectura Big Data. Permite distribuir los datos en la memoria del clúster haciendo uso de conjuntos de datos distribuidos resilientes (denominados RDD) y operando en estos conjuntos de datos, con código Scala.

geo2

La  red y las locaciones de usuarios se almacenan en los RDDs edgeList y userLocations., los cálculos de estos RDD hacen uso de todos los recursos de la CPU del clúster disponibles. El algoritmo se implementa con un simple map y un filtro. La comunicación de las ubicaciones actualizadas a través de la red se logra con una combinación en la lista de vértices, seguida de un groupByKey, que establece una lista de adyacencias para el siguiente mapa.

Análisis de resultados

El algoritmo fue ejecutado en la red bidireccional y los resultados se informan después de 5 iteraciones. El número de usuarios geo codificados después de cada iteración es el siguiente:

geo3

La probabilidad de que un usuario sea geo codificado por el método planteado aumenta cuando existe un incremento un nivel de actividad de la función. Una gran fracción de usuarios  pierde el interés en Twitter después de generar un pequeño número de Tweets, lo que dificulta su localización calculada.

geo5

Para evaluar la cobertura, se examinaron 4.835.561.225 tweets recogidos entre el 2013-01-01 y el 2013-04-07. Estos tweets fueron generados por 117.215.282 usuarios. El método fue capaz de geo codificar el 89% de los tweets. Podría aumentar el porcentaje si todas las ubicaciones reportadas no-vacías no fueran ambiguas.

geo6

Para la precisión se realizo una validación cruzada, tomando un 10% del set de  12.297.785 usuarios que revelaron su posición GPS.  Después de 5 iteraciones del algoritmo, se pudo inferir la locación de 966.515 usuarios, con una Desviación absoluta mediana (median error) de 6,33 kms .

Conclusiones

  • El uso de Apache Spark está justificado por el gran volumen de datos a ser procesados para la conformación de las redes y el cálculo de las distancias geográficas.
  • El hecho que se pueda inferir las locaciones de usuarios, a partir de datos públicos, permite que se  analicen nuevos algoritmos para el cálculo de las distancias geográficas, con mayor precisión y con mejor cobertura.
  • Implementar métodos para eliminar datos de localizaciones (auto-informes) que sean ambiguos, ya que generan errores en el procesamiento de las distancias de usuarios.
  • Se conseguiría mejor cobertura si el método considera que la relación por menciones sea unidireccional.

Course Signals (CS) es un sistema de analítica del aprendizaje,  que permite el éxito del estudiante en la facultad para proporcionar retroalimentación significativa al estudiante basado en modelos predictivos. La premisa detrás de CS es bastante simple: Utiliza la gran cantidad de datos que se encuentran en una institución educativa, incluyendo los datos recogidos por las herramientas de instrucción, para determinar en tiempo real que los estudiantes podrían estar en riesgo, parcialmente indicado por su esfuerzo dentro de un curso.

Signals tiene cuatro componentes

  • El rendimiento, medido por el porcentaje de cantidad de puntos en curso hasta la fecha
  • El esfuerzo, tal como se define por la interacción BlackBoard LMS de Purdue, en comparación con los estudiantes compañeros;
  • El historial académico previo, incluyendo la preparación académica, GPA de escuela secundaria, y resultados de las pruebas estandarizadas (Extraído con tecnicas de Datamining y Bidgata)
  • Las características del estudiante, tales como la residencia, edad o créditos intentados.

El ayudar a un estudiante a integrarse académicamente a la institución es la clave de Signals, que  ayuda a promover la integración de varias maneras.

  • Permite a los miembros de la facultad enviar correos electrónicos personalizados a los estudiantes que contienen información acerca de su rendimiento actual en un curso dado.
  • Los miembros de la facultad, pueden animar a los estudiantes a visitar usar varios recursos de ayuda o realizar actividades que contribuyen a que el estudiante se integre plenamente con la institución.
  • Emplea la analítica del alumno para permitir la integración de datos en tiempo real del rendimiento de los estudiantes, la interacción con el LMS, la información demográfica y el historial académico.

Los resultados del algoritmo SSA, se muestra una señal en rojo, amarillo o verde en la página principal del curso de un estudiante. Una luz roja indica un alta probabilidad de no tener éxito; luz amarilla indica que un potencial problema esta sucediendo y una señal verde demuestra un alta probabilidad de tener éxito en el curso. El algoritmo genera un indicador riesgo-curso específico para cada estudiante basado en el rendimiento, el comportamiento basado en pares, y datos de preparación educativa. Los instructores pueden intervenir a tiempo y brindar a los estudiantes una oportunidad realista de adaptar su comportamiento.

dash

Resultados

El otoño del 2007, 2008 y 2009, se compararon las cohortes de principiantes con una lista de todos los participantes de CS en la Universidad Purdue,  para determinar que estudiantes usan CS o no en sus cursos. Cada semestre, los estudiantes en cada cohorte, presentan retención o una conducta de salida.  La tasa de retención se calcula sumando los estudiantes que todavía están inscritos y que se han graduado y dividiendo esa suma por el número total de estudiantes por primera vez a tiempo completo en el cohorte original.

Los alumnos que comenzaron en Purdue 2007 (Tabla 1), 2008 (Tabla 2), y 2009 (Tabla 3) y participado en al menos un curso con CS,  son retenidos en tasas significativamente más altas que sus compañeros que no tenían clases con CS durante el mismo semestre. Además, los estudiantes que tienen dos o más cursos con CS se mantienen constantemente a tasas más altas que las que tenían sólo uno o ningún curso con CS.

tabla2

Futuros retos para Course Signals

  • La adquisición de datos de diversas fuentes (Social Networks Analysis, Video, etc.)
  • Gestión dinámica de data
  • Privacidad de los estudiantes.
  • Falta actual de las mejores prácticas. (Intervenciones)
  • El rol de TI en análisis académicos.
  • Analítica como herramienta de retención y el potencial de ahorro de dinero.
  • Las ventajas de un sistema propio en comparación con el software comercial.

Fuente: Course signals at Purdue: using learning analytics to increase student success – KE Arnold

Lexalytics  Inc. fue formada en el 2003 proporciona  el servicio de análisis de intenciones y sentimientos a partir de texto,  hacia empresas que utilizan SaaS (Modelo de distribución de software donde el soporte lógico y los datos se acceden vía Internet desde un cliente) y la tecnología basada en la nube.  El motor detrás Lexalytic:  Salience 6, fue construido como un motor de análisis de texto  varios idiomas.

La entrada para realizar el analisis de texto, se denomina documento y su origen puede ser cualquier sitio de social media, como blogs, foros, redes sociales (Twitter, Linkedin, Facebook), sitios de videos, comunidades, sitios de noticias, entre otros.  La herramientas y código analizan el texto y localizan las porciones del documentos mas significantes, las que se denominas Snippets.

El motor de análisis de texto, procesa 3 billones de documentos diarios, usando para ello infraestructura para Big Data.

 

lexa3

El motor de análisis de texto, que se basa en algoritmos de procesamiento de lenguaje natural, puede identificar entidades, temas, tópicos, categorías, intenciones y sentimientos desde el documento de entrada.  A partir de esta información, se  puede identificar los actores de importancia, el peso positivo o negativo de los sentimientos y la clasificación temática del documento en todo su contexto. El documento puede ser una imagen o un video, que puede ser tratado mediante algoritmos de procesamiento de imágenes, para  identificar sujetos, edades, razas, estados de animo, lugares e incluso el uso de determinados objetos y marcas.

Se realizo una prueba desde el sitio https://www.lexalytics.com/demo con una noticia sobre el terremoto en Ecuador, documento que esta en el siguiente enlace: http://www.eluniverso.com/noticias/2016/04/18/nota/5532609/fiscalia-entrega-lista-cadaveres-entregados-86-manta-22-canoa-10

lexa2

El resultado después del análisis, fue que el documento en su contexto general es negativo, e identifico las entidades, categorías y principales temas.

lexa1

lexa4

El servicio de Lexalytics, tiene mucho potencial, por ejemplo realizar estrategias de marketing digital, focalizadas a satisfacer necesidades emocionales de sujetos (entidades) que han expresado sus sentimientos (positiva o negativa) al tratar un tema especifico en un documento (una publicación de Facebook, un Tweet, o incluso un video).

IBM Bluemix, es una herramienta poderosa para crear aplicaciones inteligentes que realizan análisis de contenido en el texto y las imágenes. El uso de algoritmos  NLP, de reconocimiento de imágenes y aprendizaje automático permite a los interesados,  extraer metadatos semánticos a partir del contenido, tales como información sobre personas, lugares, empresas, temas, hechos, relaciones, autores e idiomas.

Continuando nuestro ejemplo referente al hashtag: «Terremoto Ecuador».  Usamos el servicio de dashDB para extraer datos de Twitter para procesarlos.  Este servicio permite bajar hasta 20 GB de información y permite aplicar a los datos, un algoritmo de procesamiento de lenguaje natural para determinar si en el cuerpo del mensaje hay texto que denote sentimientos positivos o negativos.

Esta información con respecto a la polaridad de los sentimientos, puede servir por ejemplo para filtrar por regiones, el estado de animo, emociones y necesidades de una determinada población y anticiparse a gestionar la ayuda requerida. En el sentido comercial puede servir para conocer el efecto positivo o negativo en una campaña en redes sociales por áreas o zonas, con el fin de tomar correctivos.

En el ejemplo aplicamos el siguiente Query para extraer los tweets con sentimientos positivos, usuarios y locaciones.

SELECT A.MESSAGE_BODY, B.SENTIMENT_TERM, C.USER_SCREEN_NAME, C.USER_NAME

FROM
DASH101145.TERR_TWEETS A, DASH101145.TERR_SENTIMENTS B, DASH101145.TERR_USERS C WHERE
A.MESSAGE_ID = B.MESSAGE_ID AND
B.SENTIMENT_POLARITY = ‘POSITIVE’ AND
A.MESSAGE_ID = C.MESSAGE_ID

Adicional presenta un Framework para desarrollar en lenguaje R y realizar gráficos y estadísticas.  Pueden realizarse aplicaciones mas elaboradas con opciones de búsqueda por varios filtros, selección de lenguaje, etc.

Configuración de búsqueda de palabras o hashtag en Twitter para extracción y procesamiento de datos

Query con los resultados de las tablas extraídas y procesadas.

IBM Bluemix es una plataforma que soporta varios lenguajes de programación y servicios para crear, ejecutar, desplegar y gestionar aplicaciones en la nube. En social media, tiene aplicaciones muy interesantes para el procesamiento y análisis masivo de datos para Twitter.  En el ejemplo, se puede hacer un análisis de datos de los tweets referentes a un tema, extraer informacion y clasificarla por sentimientos negativos y/o positivos.

La utilidad en el mundo del social media es infinita, debido a que podemos desarrollar nuestras propias aplicaciones de búsqueda y hacer inferencia de los sentimientos de un segmento determinado de usuarios (comunidad, especifico, o por ciudad), para predecir sus necesidades ya sea basicas, intelectuales , de seguridad, etc. (podemos referenciar a la famosa piramide de Glasgow). Una vez realizadas las predicciones, el siguiente paso es realizar estrategias de productos y servicios para cubrirlas y campañas para promocionar las mismas a estos segmentos específicos en las redes sociales o en buscadores.

El siguiente es un ejemplo de búsqueda de las palabras «terremoto ecuador» y el calculo de cuantos tweets fueron de sentimiento negativo.

imb

A continuación un enlace de como instalar una version trial, cortesia de Coursera:

https://www.coursera.org/learn/importance-of-listening/supplement/Cwkjc/social-marketing-toolkit-pt-2d-your-free-bluemix-trial

 

 

 

redtwtitter

Dicen que un gráfico vale mas que mil palabras, y esto es mas que cierto para el objetivo de identificar cuales son los principales influenciadores en nuestra red social.

Para el caso de  las redes en Twitter, primero debemos ubicar una aplicación para descargar la información de los usuarios seguidos y seguidores de nuestra cuenta.  Para el caso presentado usamos la herramienta desarrollada en Python, denominada Twetcoll y cuyo código esta disponible en GitHub, aunque también hay otras herramientas pagadas como NodeXL.

Con información obtenida en el registro APPS de Twitter (https://apps.twitter.com/) se puede configurar las variables: consumer_key, consumer_secret, access_token y access_token_secret y el ID de la cuenta  de la referencia. Tras la ejecución que puede demorar algunas horas, dependiendo si el numero de seguidores se cuenta por miles, se obtiene un archivo de extensión GML.

Este archivo puede ser interpretado por Gephi, un aplicativo para la visualización y tratamiento de grafos.  En las opciones para la distribución, seleccionamos un algoritmo de  inteligencia computacional para la clasificación (recomendamos Force Atlas) y las opciones para el calculo de la Modularidad y la centralidad Eigenvector. El resultado en un grafo en el cual cada seguido y seguidores identificados son nodos, los cuales se agrupan por colores en comunidades y por el tamaño podemos deducir su importancia como influenciador,  por el numero de conexiones hacia o desde nuestra cuenta.

En el caso de ejemplo, se identifican claramente 5 grupos (políticos, académicos, amigos, personalidades y medios de comunicación) y los principales influenciadores como: @elcomerciocom @barackobama @allyouneedisec, @pontifex_es entre otros.

 

 

Gran parte de los contenidos en línea están focalizados en sentimientos personales: reacciones, comentarios, likes (me gusta) o emociones.  Jonathan Harris y Sep Kamvar, crearon el proyecto We Feel Fine, una plataforma diseñada para documentar, resaltar y visualizar los datos emocionales. En 2005 Harris y Kamvar comenzaron a filtrar las entradas de su blog que incluían la frase «me siento bien…» o «me siento estresado…» A partir de estos, crearon automáticamente un gran repositorio de datos de emociones en línea etiquetados con metadatos básicos, incluyendo su género, la edad, la ubicación y las condiciones climáticas locales. Para el año 2009, Harris y Kamvar habían registrado nueve millones de sentimientos de 2,3 millones de blogs, con 15.000 – 20.000 entradas agregadas diariamente.
We Feel Fine presenta un diseño cinético, interactivo, con una serie de opciones de búsqueda. Los visitantes pueden comenzar a recoger un sentimiento al azar, o pueden navegar por el sitio, buscando ya sea por criterios de edad, país, genero o por cada uno de los miles de sentimientos mencionados. A partir de ahí, el conjunto de datos tiene seis posibles visualizaciones, cada uno revela un aspecto diferente de la emoción humana.

wefeelfine

Por eso wefeelfine.org ha captado el futuro de Social Media, en el cual con la ayuda de herramientas para extracción de datos de redes sociales,  algoritmos computacionales para analítica  semántica y técnicas de Big data, podemos predecir los sentimientos de las personas y anticiparnos a sus deseos.  Las posibilidades son infinitas, por ejemplo,  que pasaria si luego de expresar mis deseos de explorar el mundo  en Twitter,  al minuto me llegase una publicidad  de viajes exóticos por Facebook, Instagram o email.  Ese ultimo mensaje tendría toda mi atención.

We-Feel-Fine