Showing posts with label Social Media. Show all posts
Showing posts with label Social Media. Show all posts

Friday, March 15, 2013

TUMS: Twitter-based User Modeling Service

En general TUMS es una herramienta en base a modelado de usuario que explota mensajes individuales de Twitter para inferir y proveer perfiles de usuario. La arquitectura general es la siguiente:

image

El primer módulo se encarga de seguir el nombre de usuario que se haya proporcionado para guardar sus mensajes. También contiene un módulo que constantemente se encuentra siguiendo medios tradicionales de noticias para registrar eventos. Dados los datos recolectados, se busca inferir los intereses del usuario y adherirlo a un par de vocabularios (Friend Of A Friend FOAF y Weighted Interest Vocabulary). Con esto se muestra cuánto interés tiene un usuario por una lista de temas. La siguiente figura muestra un ejemplo:

image

Para inferir los intereses se llevan a cabo los siguientes cuatro pasos:

  1. Se notifica al crawler que debe empezar a obtener información.
  2. Se enriquece la semántica de los mensajes del usuario al categorizar su tema, extrayendo hashtags y entidades.
  3. Si es posible, enlaza al mensaje con artículos de noticias relacionados y lo enriquece con la semántica extraída de ellos.
  4. Aplica diversas estrategias de modelado de usuario para general el perfil.

La siguiente tabla muestra los parámetros usados para las diferentes estrategias para la creación del modelo de usuario:

image

Se evaluaron mensajes de 1619 usuarios y se seleccionaron 50 entidades y 50 temas inferidos por el sistema para medir la precisión del sistema en cuanto a identificación y detección. Los resultados se muestran a continuación:

image

Como posibles aplicaciones de la herramienta se mencionan:

  • Recomendación de contenido
  • Explicación de las recomendaciones
  • Soporte para autores (como ejemplo se mencionan servicios como Zemanta)
  • Conciencia sobre privacidad

En conclusión, se mostraron varias estrategias para generar un modelado de usuario que tiene varias aplicaciones. Como observación, se podría explotar el hecho de las sub-redes de usuarios dentro de Twitter (perfiles asociados, redes de amistades) para mejorar el modelado de usuario y enriquecimiento con perfiles similares. Como nota, la herramienta se puede encontrar en: http://wis.ewi.tudelft.nl/tums/

Tao, K., Abel, F., Gao, Q., & Houben, G. (2012). TUMS: twitter-based user modeling service. UWeb 2011 International Workshop at The Semantic Web: ESWC 2011, 1–15. Retrieved from http://www.springerlink.com/index/U2501U25R6518064.pdf

TwikiMe! User profiles that make sense.

Esta herramienta se encarga de obtener perfiles generados semánticamente en lugar del uso de conjuntos de palabras para apegarse más a los gustos de los usuarios. Todo se expresa en un vector reducido que representa los intereses de los usuarios.

Se emplea a Wikipedia como base de conocimientos semántica ya que contiene más de 3.5 millones de artículos existentes que son categorizados manualmente por humanos. Wikipedia contiene 23 categorías generales de las que se desprenden las demás y es a partir de éstas que se genera el vector.

La creación de los perfiles se muestra en la siguiente figura:

image

La primera fase se encarga de extraer las entidades de los mensajes del usuario. Se toman en cuenta todas aquellas entidades que se puedan ligar a artículos de Wikipedia. Se hace uso de una herramienta llamada WikipediaMiner.

En la segunda etapa se extraen las categorías de las entidades que fueron encontradas en la primera fase. Se sigue todo la jerarquía de las categorías hasta llegar a alguna de las 23 principales, en algunos casos se puede llegar a más de una categoría.

A cada entidad se le asigna un valor por cada una de las 23 categorías principales y esto se agrega en la etapa final.

Para llevar a cabo un análisis complementario, decidieron comparar la variación en las categorías de los perfiles respecto al tiempo. También se analiza la similitud entre el usuario y sus seguidores, amigos y los seguidores de los amigos. La siguiente tabla muestra los resultados:

image

La herramienta se encuentra en línea en la siguiente liga: http://twikime.l3s.uni-hannover.de/twikime.php

Como muestra se da una comparación del perfil de Barack Obama y del Dalai Lama:

image

En conclusión este modelado de usuario involucra de manera muy general los temas sobre los que habla un usuario, sin embargo podría también indicar la polaridad (positiva o negativa) de los mensajes. El uso de una parte semántica se muestra como buena forma de obtener información que puede ayudar a completar la información que se tiene.

Siehndel, P., & Kawase, R. (2012). TwikiMe! User profiles that make sense. 11th International Semantic Web Conference (ISWC2012).

Modeling Public Mood and Emotion: Twitter Sentiment and Socio-Economic Phenomena

El estudio trata de mostrar el impacto de los patrones públicos de estado de ánimo afectan en lo macroscópico los indicadores económicos y sociales entre el 1 de agosto y el 20 de diciembre de 2008. Se emplea un corpus de 9,664,952 mensajes. Estos datos son complementados con una línea de tiempo de los sucesos políticos, culturales, sociales, económicos y naturales ocurridos en el mismo periodo de tiempo. La distribución de la información se muestra a continuación:

image

Por medio de una herramienta psicométrico (Profile of Mood States POMS), se mapea el estado de ánimo de los usuarios dentro de 6 categorías que son: Tensión, Depresión, Enojo, Vigor, Fatiga y Confusión. La herramienta original consta de 65 adjetivos medidos a través de un cuestionario pero fue modificada para incluir 793 términos para que hubiera una mayor posibilidad de encajar con lo encontrado en los mensajes.

Se lleva a cabo una normalización previa a la clasificación del estado de ánimo de los mensajes por medio de los siguientes pasos:

  • Separación de los términos individuales según sus fronteras definidas por espacios en blanco.
  • Borrado de todos los símbolos no alfanuméricos (comas, puntos, guiones, etc.)
  • Conversión de todos los términos a minúsculas.
  • Eliminación de 214 palabras comunes.
  • Lematización de los términos restantes.

Se llevan a cabo unas series de tiempo para analizar el progreso de los estados conforme transcurren los días. Se observó que la variación (o desviación) era inversamente proporcional al número de mensajes que se captaban por día como se muestra en la siguiente figura:

image

Dentro de los eventos observados (elección presidencial de Estados Unidos, colapso de bancos a nivel internacional, precio elevado del petróleo, inicio de la recesión económica), se pudieron mapear a una emoción en concreto aunque hubo situaciones en las que se traslapaban las situaciones, afectando los resultados.

Hacen varias interpretaciones de las cadenas de emociones y de cómo es que se van acumulando. Queda como hipótesis el decir que Twitter afecta los estados de ánimo haciendo que las corrientes se desplieguen entre las redes de conocidos.

El estudio tiene también un enfoque de ser una alternativa al uso de aprendizaje automático para llevar a cabo análisis de sentimientos o minería de opiniones. Se usa a Twitter como una fuente de información sin tomar en cuenta aspectos específicos de la red social. Falta una comparativa general frente a otro tipo de técnicas (incluidos los análisis mediante aprendizaje automático).

Bollen, J., Pepe, A., & Mao, H. (2011). Modeling public mood and emotion: Twitter sentiment and socio-economic phenomena. Proceedings of the Fifth International AAAI Conference on Weblogs and Social Media, 450–453. Retrieved from http://www.aaai.org/ocs/index.php/ICWSM/ICWSM11/paper/viewFile/2826/3237

Friday, February 22, 2013

Artículos sobre Cross-domain y User modeling

  • Cross-domain:
    • Cross-Genre and Cross-Domain Detection of Semantic Uncertainty
    • When Specialists and Generalists Work Together: Overcoming Domain Dependence in Sentiment Tagging
    • The Good, the Bad, and the Unknown: Morphosyllabic Sentiment Tagging of Unseen Words
    • Multi-domain Sentiment Classification
    • Cross-Domain Dependency Parsing Using a Deep Linguistic Grammar
    • Automatically Extracting Polarity-Bearing Topics for Cross-Domain Sentiment Classification
    • Using Multiple Sources to Construct a Sentiment Sensitive Thesaurus for Cross-Domain Sentiment Classification
    • Cross-Domain Co-Extraction of Sentiment and Topic Lexicons
    • The Domain Restriction Hypothesis: Relating Term Similarity and Semantic Consistency
    • Online Methods for Multi-Domain Learning and Adaptation
    • Cross-Cultural Analysis of Blogs and Forums with Mixed-Collection Topic Models
    • Multi-Domain Learning: When Do Domains Matter?
    • Biased Representation Learning for Domain Adaptation
  • User modeling:
    • Extracting Social Networks and Biographical Facts From Conversational Speech Transcripts
    • An Unsupervised Approach to Biography Production using Wikipedia
    • Age Prediction in Blogs: A Study of Style, Content, and Online Behavior in Pre- and Post-Social Media Generations
    • Extracting Social Power Relationships from Natural Language
    • Tweet Recommendation with Graph Co-Ranking
    • Person Identification from Text and Speech Genre Samples
    • Sentiment Summarization: Evaluating and Learning User Preferences
    • Automatic Generation of Personalized Annotation Tags for Twitter Users
    • Identifying Opinion Holders and Targets with Dependency Parser in Chinese News Texts
    • Personalized Recommendation of User Comments via Factor Models
    • Discriminating Gender on Twitter
    • Explore Person Specific Evidence in Web Person Name Disambiguation

Friday, February 8, 2013

Sentiment Analysis of Twitter Data

En este artículo se proponen modelos para clasificar los sentimientos u opiniones encontradas en Twitter y se clasifican en positivos, negativos o neutrales. En general se hace uso de un modelo de unigramas, uno basado en características de los mensajes y otro en un tree kernel.

Se obtuvieron 11,875 mensajes manualmente etiquetados de una fuente comercial. Los mensajes fueron obtenidos del flujo principal de Twitter por lo que no se incluyó una restricción en específico. Como no se distinguió en cuanto al idioma de los datos, se empleó el traductor de Google para unificarlos en inglés. Al final y tras descartar los mensajes que no pudieron ser clasificados por humanos (algunos de estos debido a una traducción ineficaz), se quedaron con 1709 mensajes de cada clase.

Al pre-procesamiento de los datos, se incluye un traductor de emoticons y otro de acrónimos. Algunos ejemplos del uso de ambos se muestran en las siguientes figuras:

image

image

Se obtuvieron en general las siguientes estadísticas:

image

Empleando una técnica propuesta por Agarwall (Apoorv Agarwal, Fadi Biadsy, y Kathleen Mckeown.2009. Contextual phrase-level polarity analysis using lexical affect scoring and syntactic n-grams), se asigna una polaridad a cada palabra dando así un número que representa su agrado. Se cubren el 88.9% de las palabras en inglés.

Se definen una serie de árboles como representación de los mensajes obtenidos, se incluye el mensaje y las características que posee (su etiqueta correspondiente). Un ejemplo se muestra a continuación:

image

También se crean todos los sub-árboles posibles para ser comparados con otros. El llevar a cabo esto permite la comparación entre información que extrae de otros datos y evita la creación de la comparación de características y estructuras definidas a mano.

Mientras que las características tomadas en cuenta se muestran en la siguiente figura:

image

Los experimentos se llevaron a cabo para clasificar en positivos y negativos y un segundo en positivos, negativos y neutrales. Se probó el modelo con unigramas, tree kernel, 100 características (Senti-features), kernel + Senti-features y unigramas + Senti-features. Todo es probado en una SVM.

Los resultados generales para la clasificación entre positivos y negativos se muestran a continuación:

image 

De estos resultados, al ser unigramas + Senti-features los que obtuvieron una mejor precisión, se analizaron las características empleadas para determinar las más determinantes dando el siguiente resultado:

image

Por otra parte, se repitieron los experimentos pero incluyendo la clase neutral, los resultados se muestran a continuación:

image

image

En general, aplicaron el modelo de unigramas y obtuvieron una mejora del 4% al incluir las características (Senti-features) que ellos determinaron. En trabajo a futuro se propone el enriquecimiento del proceso empleando un análisis lingüístico más a detalle como: parseo, análisis semántico y modelado de temas.

Apoorv Agarwal, Boyi Xie, Ilia Vovsha, Owen Rambow, R. P. (2011). Sentiment Analysis of Twitter Data. ACL HLT 2011 Workshop on Language in Social Media LSM 2011 Proceedings of the Workshop (pp. 30–38).

Twitter as a Corpus for Sentiment Analysis and Opinion Mining

Las principales contribuciones en el artículo son:

  • Se presenta un método para recolectar opiniones positivas o negativas de los mensajes en Twitter.
  • El método mencionado también permite recolectar mensajes objetivos (hechos).
  • Se lleva a cabo un análisis estadístico lingüístico del corpus.
  • Se creó un sistema de clasificación de opiniones con los mensajes recolectados.

Para recolectar los datos (en cuanto a opiniones o sentimientos positivos y negativos) se basaron en un trabajo previo que hace uso de los emoticons presentes en Twitter. Los emoticons buscados fueron:

  • Emoticons de felicidad: “:-)”, “:)”, “=)”, “:D” etc.
  • Emoticons de tristeza: “:-(”, “:(”, “=(”, “;(” etc.

Para recolectar el corpus para los datos objetivos, se tomaron mensajes de periódicos y revistas populares como New York Times, Washington Post, etc. En total fueron mensajes de 40 cuentas usadas en esta parte.

Debido a la restricción de longitud en la red social (los mensajes no puede exceder los 140 caracteres), se asume que cada mensaje es una sola oración y que la presencia de un emoticon representa la emoción de todo el mensaje y que todas las palabras del mensaje están relacionadas al emoticon.

El primer análisis que llevaron a cabo sobre los datos recolectados fue simplemente de frecuencias de palabras. Posteriormente llevaron a cabo un análisis sintáctico usando el TreeTager. Se produjeron los siguientes resultados:

image

image

Entre algunas de las observaciones, encontraron que los mensajes objetivos suele contener más nombres comunes y propios mientras que los mensajes subjetivos suelen contener pronombres personales. Los mensajes subjetivos suelen hablar en primera persona o hacia el público (segunda persona) mientras que los verbos en los textos objetivos se encuentran en tercera persona, entre otras observaciones.

Para el clasificador, se prueban tanto frecuencias como presencias de n-gramas, en el caso del último, se trata de encontrar el tamaño óptimo puesto que un tamaño grande debería de ser capaz de capturar patrones de expresiones de sentimientos mientras que un tamaño pequeño debería dar una buena cobertura de datos.

Para obtener los n-gramas se lleva a cabo el siguiente proceso:

  • Filtrado – se remueven los enlaces URL, nombres de usuarios, palabras especiales de Twitter y emoticons.
  • Se dividen el texto por sus espacios y signos de puntuación.
  • Se remueven los artículos.
  • Se crean los n-gramas del tamaño deseado con palabras consecutivas, si se presenta una negación, se toman las palabras que la siguen o que la anteceden.

Se crearon clasificadores empleando el clasificador multinominal Naive Bayes, SVM y CRF. El clasificador de Naive Bayes mostró los mejores resultados. Se crearon dos clasificadores para el Naive Bayes, uno toma en cuenta los n-gramas y el otro usa la distribución de la información arrojada por el POS.

Para mejorar la precisión del sistema, se descartan algunos n-gramas comunes que no aportan mayor información. Se emplea la entropía y la prominencia (salience) como medidas para decidir qué términos eliminar. La siguiente figura muestra algunos de esos términos:

image

En general se determinó que los bi-gramas son una mejor medida debido a que dan cierto balance, el incorporar las negaciones a las palabras mejora la precisión, aumentar el tamaño del dataset mejora el desempeño aunque llega un punto en que se estanca y la prominencia como método para descartar n-gramas mejora los resultados.

Pak, A., & Paroubek, P. (2010). Twitter as a corpus for sentiment analysis and opinion mining. Proceedings of LREC, 1320–1326. Retrieved from http://deepthoughtinc.com/wp-content/uploads/2011/01/Twitter-as-a-Corpus-for-Sentiment-Analysis-and-Opinion-Mining.pdf

Thursday, November 29, 2012

Automatically Constructing a Normalisation Dictionary for Microblogs

Este artículo se basa en el uso de un diccionario para la normalización de mensajes de Twitter debido a que la búsqueda en un diccionario es menos costosa computacionalmente que otros métodos empleados para este proceso. Sin embargo, el enorme número de variantes de palabras existentes dentro de Twitter vuelve prácticamente imposible la construcción manual del diccionario.

Mientras más corta sea la representación de la palabra, mayor será su tendencia a ser ambigua. Mientras más caracteres posean, es más difícil encontrar distintas interpretaciones. En este segundo tipo de escenario es en el que está basado el sistema.

Primero se obtienen datos de Twitter para formar pares en base a la similitud de su distribución. Se forman pares de palabras IV con OOV. Se formarán pares del tipo (tmrw, tomorrow) y otros falsos positivos como (Tusday, Sunday) o (Youtube, web). El siguiente paso es reordenar los pares en base a la similitud existente entre ellos.

Para la similitud entre los pares se desea tomar en cuenta el contexto de las palabras. Para definir el contexto se hicieron pruebas con el tamaño de la ventana de contexto (1 a 3 tokens en ambos lados), el orden del n-gram de los tokens (unigrama, bigrama, trigrama), si las palabras están indexadas para posicionamiento relativo y si se emplean todos los tokens de contexto o sólo las palabras IV.

Se utilizó un corpus de 10 millones de mensajes en Twitter recolectados entre septiembre de 2010 y enero de 2011. Se utilizaron sólo aquéllos en el idioma inglés y se aplicó un tokenizer simplificado para Twitter. Se empleó el diccionario de Aspell para determinar si las palabras eran IV y sólo se introdujeron palabras OOV al diccionario que tuvieran al menos 64 apariciones y una longitud mayor o igual a 4 caracteres. Al formar los pares, sólo se tomaron en cuenta aquellos que son morfo-fonéticamente similares entre sí.

Para evaluar los pares generados, se usó el criterio de 5 anotadores con 10,000 palabras OOV seleccionadas aleatoriamente dentro de los 10 millones de mensajes. Se consideró que debían concordar 3 de los 5 anotadores para que fuese correcto el par. Como resultado se obtuvieron 351 variantes léxicas y 282 palabras OOV correctas (como nombres de productos como iPad).

Los resultados de manejar diversos valores en los parámetros de similitud se presentan a continuación:

image

Para la evaluación se tomaron en cuenta las siguientes métricas:

image

Se compararon los resultados con otros diccionarios y los resultados fueron los siguientes:

image

Han, B., Cook, P., & Baldwin, T. (2012). Automatically Constructing a Normalisation Dictionary for Microblogs. newdesign.aclweb.org, (July), 421–432. Retrieved from http://newdesign.aclweb.org/anthology-new/D/D12/D12-1039.pdf

Syntactic Normalization of Twitter Messages

Los mensajes dentro de Twitter suelen estar escritos con términos coloquiales, palabras repetitivas, palabras nuevas e interjecciones. Algunas palabras se escriben de acuerdo a su escritura fonética (nite en lugar de night) o en acrónimos combinadas con otras palabras (omg en lugar de oh my god). Además los mensajes carecen del uso correcto de mayúsculas y la puntuación. Algunos ejemplos de mensajes se presentan en la siguiente figura:

image

El sistema lleva a cabo una fase de normalización (preprocesamiento) de los mensajes para transformarlos en un inglés formal y que puedan ser analizados por técnicas de procesamiento de lenguaje natural. La arquitectura de esta fase se muestra a continuación:

image

Para la fase de preparación, se extrajeron aproximadamente un millón de tuits del Edinburgh Twitter Corpus (que contiene 97 millones de mensajes). Se removieron los mensajes que no se encontraran en el idioma inglés, es decir que al menos 40% de las palabras contenidas estuvieran en dicho idioma. De los mensajes restantes, se tomaron al azar 1150 mensajes y fueron traducidos a mano por 10 anotadores. Se removieron caracteres como los emoticons y otros elementos que no aportaran información para que las oraciones se tradujeran directamente al inglés. El propósito de esto fue el facilitar el trabajo a las herramientas de procesamiento de lenguaje natural.

Debido a la presencia de palabras que se han vuelto comunes dentro de la jerga de Twitter y que no están presentes en diccionarios, decidieron utilizar un enfoque conservador al corregir errores ortográficos para no cambiar palabras que posiblemente no estaban mal escritas.

Se creó una lista con las abreviaciones más comunes dentro de Twitter y su equivalencia en inglés. Sin embargo, existen abreviaciones que pueden variar su significado de acuerdo al contexto del mensaje por lo que fueron omitidas de la lista para ser posteriormente tratadas por un modelo estadístico de MT (Machine Translation).

Para el caso de signos y caracteres repetidos, se eliminan y si se logra formar una palabra que puede ser reconocida, se mantiene en el texto o de otra forma se elimina por completo.

Para el proceso de MT estadístico se empleó Moses. Moses permite llevar a cabo traducciones entre idiomas al seguir un proceso mediante el cual encuentra la equivalencia de una palabra dentro de un corpus a otro.

La evaluación se lleva a cabo mediante el indicador BLEU. Este indicador requiere como entrada una serie de traducciones llevadas a cabo por humanos para evaluar la traducción de la máquina en una escala de 0 a 1, siendo 0 el peor y 1 lo mejor. Los resultados se muestran a continuación:

image

Según se menciona, al momento de la publicación de este artículo, no existen otras investigaciones similares para comparar la efectividad de la normalización por lo que lo debieron hacer con mensajes SMS. Los resultados se muestran a continuación:

image

Al tener un mejor resultado BLEU de inicio, se sostiene la hipótesis que dice que los mensajes dentro de Twitter contienen menor cantidad de errores ortográficos que los encontrados en los SMS. Algunos ejemplos de los mensajes traducidos se muestran a continuación:

image

En el artículo se muestra que la combinación de un MT estadístico junto a un preprocesamiento, ayuda a eliminar la mayoría del ruido encontrado dentro de los mensajes de Twitter.

Kaufmann, M., & Kalita, J. (2010). Syntactic normalization of Twitter messages. International Conference on Natural Language …, 1–7. Retrieved from http://cs.uccs.edu/~jkalita/work/reu/REUFinalPapers2010/Kaufmann.pdf

Thursday, November 15, 2012

Nota de datos de región de Twitter

Hemos visto que Semiocast lleva a cabo reportes anuales sobre el crecimiento de Twitter en el mundo. Se tiene estadísticas sobre las características de los usuarios, lugar de origen, tipos de dispositivos empleados, etc.

Al profundizar en la búsqueda de la obtención de datos para determinar el origen geográfico de los mensajes en Twitter, se encontró el siguiente párrafo:

Semiocast used its proprietary platform, databases and tools to process user profiles in order to determine the location of each user using all available information: free-form location declared in user profile, time zone, language used to post tweets and GPS coordinates for the very few concerned tweets. Indeed, more than 2.5 years after Twitter introduced the ability to post tweets with GPS coordinates, this feature is only used in 0.77% of all public tweets.

Al conocer esto, se conoce la posibilidad de no tener una manera trivial de conocer los datos de origen de los usuarios de Twitter a menos que se hayan escrito explícitamente.

Thursday, November 8, 2012

Neural network for theme recognition in twitter

Tweets -> Normalization -> Label -> Train Neural network -> Works for just 1 theme?
                |-> POS Tagger
                |-> Unsupervised Learning
                |-> Ontology

¿Clasificar en base a la estructura? ¿En base al contenido?

Automatic labeling? -> Entity Relationship? -> Clustering?
                                  |-> Web n-gram?
                                  |-> Wikipedia?

Empirical Study of Machine Learning Based Approach for Opinion Mining in Tweets

El artículo se encuentra basado en minería de opiniones (análisis de sentimientos). La minería de opiniones se define como el estudio computacional de las opiniones, sentimientos y emociones expresadas en texto.

Formalmente definen a una opinión como la siguiente quíntupla:

  • oj – Es el objeto de la opinión, en caso de Twitter, de la entidad o entidades sobre las que se habla en un mensaje.
  • fjk – es la característica del objeto de opinión, en el caso del artículo se ignora esta parte.
  • ooijkl – es la polaridad de la opinión, en este caso es la polaridad del mensaje entero y puede ser: positiva, negativa o neutral.
  • hi – es quien emite la opinión, en este caso quien escribió el mensaje en Twitter.
  • t1 – es el tiempo en que la opinión fue emitida, en este caso el momento en que se publicó el mensaje.

Para la clasificación, se representa al texto como una serie de características. Las características son n-grams formados por las palabras extraídas de los mensajes. Se emplea una representación morfológicamente normalizada. Al utilizar POS n-grams, se emplean los tags que arroja el POS en lugar de las palabras del mensaje. Por ejemplo se menciona el uso de Noun en lugar de batería, Verb en lugar de descargar, etc.

Se menciona que no encontraron una referencia anterior que utilice Twitter en español como cuerpo de estudio por lo que tuvieron que diseñar todo el pre-procesamiento de datos.

Para el cuerpo de datos, se recolectaron 32,000 mensajes correspondientes a una lista de entidades predefinidas sobre marcas de teléfonos celulares. 8,000 mensajes fueron clasificados manualmente como: Positivo, Negativo, Neutral e Informativo.

Los mensajes en Twitter suelen contener errores, en el caso específico del español se mencionan algunos representados en la siguiente figura:
image

Para poder llevar a cabo el análisis se requiere realizar una normalización del texto, en su caso decidieron emplear los siguientes cuatro procesos:

  • Error correction – en errores ortográficos como “muertooo” se corrigen basados en un diccionario de español y un modelo estadístico sobre letras dobles comunes en el idioma. Se hicieron reglas a mano sobre la jerga y las palabras comunes tomadas del inglés. No se detectan otro tipo de errores ortográficos.
  • Special tags – se emplean USER_TAG, WINK_TAG, HASH_TAG, y URL_TAG para remplazar palabras con formato especial conocido para Twitter. Por ejemplo @usuario se cambia por USER_TAG y =) se cambia por WINK_TAG.
  • POS-tagging – Utilizaron freeling como POS-Tagger ya que no solo lleva a cabo el etiquetado, también lleva a cabo una lematización de las palabras para reducir el número de conjugaciones y formas que se pueden presentar.
  • Negation process – las negaciones alteran el sentido de la opinión en el texto, para lidiar con ellas, cada que se presentan, se adhieren a su siguiente palabra. Por ejemplo “no tener” quedaría como “no_tener”.

Para las entradas a los clasificadores se emplean dos vectores. Cada entrada en un vector corresponde a una característica arrojada por el POS-tagger y se emplean: verbs, nouns, adjetives, adverbs e interjections.

De los 8000 mensajes manualmente marcados, 7000 son utilizados para el conjunto de entrenamiento y 1000 para pruebas de los cuales 236 son positivos, 145 negativos, 342 neutrales y 257 informativos.

Para las pruebas se quiso medir el efecto del tamaño del cuerpo, del tamaño de los n-grams, número de clases y balance del cuerpo.

Los resultados obtenidos se muestran en las siguientes figuras:

image

image

image

image

image

image

image

Según los resultados obtenidos, consideraron que los mejores parámetros para llevar a cabo la clasificación en tuits en español constan de lo siguiente:

  • Utilizar unigrams
  • Tener un conjunto de entrenamiento de al menos 3000 tuits
  • Utilizar SVM como clasificador
  • Tener solo dos clases polarizadoras
  • Que el conjunto de entrenamiento y el de prueba sean sobre el mismo dominio

Al emplear estos parámetros, lograron conseguir una precisión del 85.8%.

Los errores más comunes al clasificar los mensajes se dividen en lo siguiente:

  • Mensajes acortados – suceden cuando ni el humano es capaz de etiquetar el mensaje como una de las clasificaciones planteadas debido a la falta de información.
  • Faltas de ortografía – las palabras mal escritas evitan la posibilidad de poder identificar la opinión dentro del mensaje.
  • Humor, ironía y sarcasmo – interpretar el sentido de la oración cuando se emplean este tipo de connotaciones se vuelve complejo y completamente dependiente de un contexto general que a veces no es fácilmente identificable ni por un humano.
  • Errores en el etiquetado – De nuevo, no todos los mensajes se pueden etiquetar fácilmente y se requiere de cierta interpretación que no siempre concuerda con el enfoque original.

Grigori Sidorov, Sabino Miranda-Jiménez, Francisco Viveros-Jiménez, Alexander Gelbukh, Noé Castro-Sánchez, Francisco Velásquez, Ismael Díaz-Rangel, Sergio Suárez-Guerra, Alejandro Treviño, and Juan Gordon. Empirical Study of Machine Learning Based Approach for Opinion Mining in Tweets. LNAI 7630, 2012, pp. 1-14.

Thursday, October 25, 2012

Hot Topic Detection in Local Areas Using Twitter and Wikipedia

El artículo habla sobre la detección de temas dentro de Twitter al observar las palabras que se incluyen en los mensajes, se buscan los temas más repetidos y se toman como hot topics. Sin embargo, que una palabra se encuentre en dos mensajes no significa que ambos hablen necesariamente del mismo evento, por ejemplo encontrar estadio puede referirse en un mensaje a un partido de beisbol y en otro a un juego de fútbol. Para corregir los errores que pueden generarse por este problema, utilizaron las propiedades temporales y espaciales de los mensajes.

El sistema propuesto utiliza la siguiente arquitectura:

image

Primer se toman todos los tuits que tengan geotagging activado pero se eliminan los que provienen de foursquare debido a que la mayoría solo contienen información del sitio y un enlace. Posteriormente emplearon MeCab (herramienta morfológica del idioma japonés) para descomponer el cuerpo de los mensajes en las partes en su categoría gramatical enfocándose solamente en los sustantivos y verbos.

Después de construir un conjunto de palabras semánticamente relacionadas obtenidas en los tuits, se procede a detectar los hot topics mediante los siguientes pasos:

Construir la relación entre un conjunto de palabras:

Es posible que dos palabras distintas hablen de un mismo tema dando paso a un fenómeno llamado fluctuación semántica. Se tomaron en cuenta fluctuaciones ortográficas, espaciales y temporales.

Se asume que cada mensaje habla de un solo tema debido al límite de caracteres que existe en Twitter. Para determinar las relaciones entre palabras, primero se construye la relación de palabras entre cada par contenido en el tuit. Se establece un peso entre cada par de palabras que es directamente proporcional a la frecuencia en que ambas palabras son encontradas en distintos tuits. Se emplea a Wikipedia como medio para contribuir al cálculo de los pesos dependiendo de si los términos también son encontrados en su sitio.

Clasificar las palabras en temas o clustering:

Se emplea un método de clustering incremental para clasificar las palabras en temas. El threshold empleado en el método fue determinado de manera empírica. Se introduce un grado de similitud de asociación entre las palabras y los temas.

Detectar los hot topics utilizando un método de burst-detection:

Se utiliza un método de burst-detection para determinar la frecuencia de un tema en un periodo de tiempo. Se determina si el flujo de mensajes respecto a un tema es más denso que en condiciones normales al compararlo con otras fuentes foros y sitios de noticias.

El experimento realizado tomó en cuenta una región de 5x5 km alrededor de un estadio de beisbol para determinar la fluctuación semántica. Los resultados se muestran en las siguientes figuras:

imageimage

Se puede observar que las palabras Tokyo y Shinjyuku aparecen frecuentemente en el rango de tiempo al estar relacionadas con el espacio observado. Sin embargo, palabras como strike o preemptive point solo aparecen en una fecha específica como cuando ocurre un juego de beisbol ya que son términos directamente relacionados a dicho deporte. Además, ambas palabras no aparecen en todos los días en los que un juego ocurrió debido a que el número de mensajes relacionados a los juegos es relativamente bajo.

De las frecuencias se puede observar que existen temas que aparecen o aumentan su cantidad cuando el evento ocurre.

En general el sistema funciona al clasificar los tuits en temas de acuerdo a su contenido y se obtienen los principales dependiendo de la frecuencia en que se presenten mensajes que contienen palabras relacionadas con los temas.

Ishikawa, S., & Arakawa, Y. (2012). Hot topic detection in local areas using Twitter and Wikipedia. ARCS Workshops. Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6222198

Thursday, October 18, 2012

TwiNER: Named Entity Recognition in Targeted Twitter Stream

Debido a la gran cantidad de mensajes generados en Twitter, se adopta comúnmente a un grupo objetivo que puede estar determinado por una región geográfica o una búsqueda sobre un grupo de palabras de modo que se pueda obtener una opinión de los usuarios más focalizada.

También se encuentra como totalmente deseable la posibilidad de detectar de manera temprana una posible crisis basada en el stream del grupo objetivo. Por ejemplo, las empresas podrían detectar nombres de competidores, personas o lugares que según su contexto puedan derivar en una crisis de relaciones públicas. Si la compañía logra una detección temprana, puede reaccionar de manera rápida evitando que la crisis crezca o se esparza.

Los proceso NER (Named Entity Recognition) tradicionales emplean las características lingüísticas locales de las frases, como capitalización y etiquetas POS (Part of Speech) de palabras previas, en documentos con una estructura bien formada. Los mensajes en Twitter debido a su naturaleza predominantemente informal y corta (limitada por los 140 caracteres permitidos), frecuentemente contienen errores gramaticales, faltas de ortografía o mala capitalización.

La estructura general de TwiNER se presenta en la siguiente figura:

image

A pesar de los problemas mencionados en los mensajes de Twitter, el orden de las palabras que denominan a una entidad suele respetarse por lo que se puede hacer una segmentación básica de palabras como se muestra en la siguiente figura:

image

La segmentación se lleva a cabo por la probabilidad de que las palabras formen una frase válida. La forma de calcular la probabilidad se basa en contar la aparición del segmente en un gran cuerpo de texto. Idealmente se utilizaría la totalidad de mensajes de Twitter pero debido a que no se pueden acceder, se emplea Microsoft Web N-Gram corpus que contiene todos los documentos del mercado EN-US indexados por Bing.

Otra forma de calcular la probabilidad consta en hacer la búsqueda de los segmentos en una base de conocimientos donde sean fácilmente reconocibles. Para esto se tomó un Snapshot del sitio en inglés de Wikipedia y se creó un diccionario con todos los títulos de artículos, paginas de desambiguación, páginas re-direccionadas (sinónimos) y wikilinks. Si un segmento encaja con algún término en el diccionario, entonces tiene una mayor probabilidad de ser una entidad.

Se combinan ambas fuentes con un algoritmo de programación dinámica para probar de manera eficiente varias combinaciones de segmentos. El algoritmo lleva a cabo segmentaciones binarias y se evalúa cada una de las posibilidades. La función con la que se evalúa esta basada en PMI (Point Mutual Information) y SCP (Symmetric Conditional Probability).

PMI calcula el grado en que dos palabras puedan encontrarse juntas que sea mayor a la casualidad. SCP calcula el grado de unión entre un bigrama dadas dos probabilidades condicionales para el bigrama dado cada término.

Se agregó una función que permite priorizar los nombres largos en los segmentos válidos ya que tienen una mayor probabilidad de ser el nombre de una entidad que los segmentos cortos.

Después de obtener los segmentos válidos de los mensajes, se debe hacer un filtrado de las entidades del resto de los segmentos. Como primer filtro se lleva a cabo lo siguiente:

  • Se eliminan segmentos que contienen o consisten jerga conocida y comúnmente utilizada. Se basan en el sitio http://www.noslang.com/dictionary/full
  • Eliminación de segmentos con caracteres repetidos consecutivamente como “hahahahahaha”, “gooooooood” y “nooooooooo” debido a que tienden a ser palabras que muestran una exageración de las emociones.
  • Palabras que inicien con # debido a que normalmente se utilizan para resaltar un tema. Simplemente no se les considera como entidades en esta investigación.

Ya que un contexto general no es suficiente para la identificación de las entidades, se emplea un contexto local. Se crea un grafo de segmentos en el que cada nodo es un segmento y los arcos son pesos dados por el Jaccard Index. Se basa en que no es común que un conjunto de segmentos que no son entidades, aparezca continuamente junto.

Se aplica un modelo de caminata aleatoria (random walk) para calcular la probabilidad estacionaria de cada segmento de ser una entidad al considerar el grafo como bidireccional. En la definición de la caminata, se crea un vector de tele-transportación que favorece a los segmendos que aparecen en los enlaces de Wikipedia ya que son los que tienen mayor probabilidad de ser una entidad.

Se emplearon dos conjuntos de datos para llevar a cabo las pruebas. El primero consiste en los usuarios con más seguidores de Singapur, mientras que el segundo consiste de la búsqueda de palabras relacionadas con la elección de Singapur en el año 2011.

Para ambos conjuntos de datos, se tomaron 5000 mensajes que fueron clasificados por dos anotadores humanos con conocimientos sobre entidades ubicadas en Singapur.

Las métricas usadas para la evaluación son: Precision (Prec),Recall y F1. Prec cuantifica el porcentaje de frases extraídas que en realidad son una entidad. Recall cuantifica el número de entidades que son reconocidas correctamente. F1 es la media armónica entre Prec y Recall.

Se compararon los resultados con:

  • LBJ-NER: NER basado en el perceptrón de promedio regularizado basado en índices tomados de Wikipedia.
  • Stanford-NER: NER basado en el modelo CRF que incorpora información de distancia.
  • T-NER: NER supervisado que utiliza el modelo CRF para aprendizaje e inferencia.

Se hicieron dos pruebas, la primera con los NER entrenados con datos de Twitter y una segunda con los NER entrenados con datos formales. El desempeño de los NER supervisados varía notablemente dependiendo de la fuente de entrenamiento. Los resultados se muestran a continuación:

image

image

Li, C., Weng, J., He, Q., Yao, Y., Datta, A., Sun, A., & Lee, B. (2012). TwiNER. Proceedings of the 35th international ACM SIGIR conference on Research and development in information retrieval - SIGIR  ’12 (p. 721). New York, New York, USA: ACM Press. doi:10.1145/2348283.2348380

Integrating Web-based Intelligence Retrieval and Decision-making from the Twitter Trends Knowledge Base

Twitter es una herramienta de comunicación que surgió con el propósito de responder a la pregunta ¿qué te encuentras haciendo?, sin embargo, la actualidad presenta que los mensajes contenidos en esta red social, varían de la pregunta original mezclando los términos publicados entre actualizaciones de las accione de los usuarios, esparcimiento de noticias y hasta búsqueda de ayuda en tiempos de crisis.

Twitter tiene un indicador que presenta los temas sobre los que se encuentran hablando sus usuarios. Este indicador se representa por una serie de términos denominados trending topics. El objetivo del artículo es el análisis de la anatomía de los trending topics para determinar que los vuelve populares.

Las siguientes imágenes muestran los 4 trending topics elegidos para la prueba y los 2 temas de control.

image

image

Se recolectaron 7215 tuits de todos los términos buscados debido a que se utilizó el Search API que permite solo tomar alrededor de 1500 mensajes en cada consulta y con una vigencia de aproximadamente 2 semanas.

También se incluyeron los datos de los usuarios que publicaron los mensajes correspondientes a los temas analizados. Se tomó en cuenta una muestra representativa (13% de la población de cada tema) se obtienen los siguientes datos:

  • Cliente y dispositivo utilizado: Un código incluido en la estructura del mensaje permite conocerlo.
  • Género: Se determina por la forma de escribir del usuario (como ejemplo se usa una frase posible “username misses his/her friends”). Se tiene otro grupo sin género para grupos de trabajo u organizaciones.
  • Patrón primario de uso: Basado en la información en la página del perfil del usuario se cataloga en lo siguiente:
    • Personal: La mayoría de sus mensajes son de carácter personal como conversaciones con amigos o información de sus actividades.
    • Group: Un grupo con intereses comunes de fines no monetarios con grupos de investigación, club de fans de artistas, etc.
    • Agregator: predominantemente se dedican a difundir información como su trabajo. Se incluyen a agencias de noticias, políticos, cuentas ligadas a fuentes RSS y que presentan poco o nulo contenido personal.
    • Satire: Cuentas creadas con un fin humorístico, satírico o para parodiar.
  • Marketing: Perfiles creados para promover un producto, la mayoría en este grupo se les considera como spam.

País: Tomado de campos del perfil como una clave de ciudad, una serie de coordenadas o en otros casos en la descripción del usuario en su perfil.

Para el análisis de los picos de información generados por los temas, utilizaron como variable el UID (identificador que Twitter asigna automáticamente a los mensajes) en lugar del tiempo como se hace en otras investigaciones. La frecuencia de UID (determinada por la razón del rango de datos y la diferencia entre el primer y último mensaje en cada uno de los 6 casos de estudio, obteniendo el promedio) es aproximadamente 111 UIDs por segundo.

Se clasificaron los casos de estudio en 3 grupos:

  • Long-term topics: Temas que rara vez son discutidos debido a su falta de popularidad. Si llegan a tener algún pico en cuanto a su presencia, tiende a desaparecer de manera rápida.
    image image
  • Medium-term topics: Son basados en términos genéricos que son comúnmente discutidos pero que no garantizan un número grande de tuits. Normalmente se presentan en un día aunque pueden abarcar varios.
    image
  • Short-term topics: Temas que debido a su naturaleza de gran volumen, no exhiben picos debido a su constancia o a que la consulta hecha por el Search API se presentó al momento de ocurrir un pico por lo que no se registran cambios.
    image

La relación con el país o región en que se originaron los tuits permite llegar a algunas conclusiones a partir de la siguiente figura:

image

  • El café es mencionado principalmente por residentes de Estados Unidos y del Reino Unido debido a que se coincidió con la hora del desayuno.
  • Grey’s Anatomy y Revolverheld se mencionan en Estados Unidos y Alemania respectivamente debido a que son parte del entretenimiento local.
  • Nizar es un político de Malasia por lo que la mayoría de los mensajes provienen de usuarios de dicho país.
  • H1N1 es un asunto con alcances globales y esto se muestra en la distribución de los mensajes.
  • Los mensajes de TwitHit son en su mayoría retuits y se pueden considerar como spam, debido a que la mayoría provienen de Estados Unidos es muy probable que ahí se haya iniciado el tema.

Empleando como parámetros y consideraciones los datos de los usuarios y los mensajes, se entrenó SOMine para generar una serie de SOMs(Self-Organized Maps) para llevar a cabo clustering. Se generaron 29 SOMs para las palabras estudiadas.

Algunos ejemplos de los resultados son:

image

El primer mapa muestra el resultado del término Revolverheld en el que el grupo mayoritario consta de mujeres en Alemania cuyos mensajes tienen un carácter principalmente personal. El grupo rojo es de hombres u organizaciones alemanas que propagan noticias sobre el grupo Revolverheld usando clientes de medios sociales. El último sector (amarillo) es una serie de usuarios anónimos que no proporcionan datos sobre sus identidades.

En el segundo caso (Nizar), el grupo mayoritario (azul) consta de usuarios (hombres y mujeres) ubicados en Malasia y cuyos mensajes son de carácter personal. El segundo grupo (rojo) consiste de varones de otros países que utilizan Twitter como herramienta de “periodismo ciudadano” para publicar noticias. El tercer grupo se encuentra formado por cuentas empleadas para llevar a cabo una campaña de marketing agresivo respecto y que suelen estar enlazadas a una fuente RSS.

Este mismo proceso se recrea en los medium-term y short-term topics dando una clasificación similar de las características de los grupos. Se expone como trabajo a futuro el poder utilizar estos resultados para campañas de marketing, business intelligence, detecciones de epidemias y otros campos relacionados.

Cheong, M., & Lee, V. (2009). Integrating web-based intelligence retrieval and decision-making from the twitter trends knowledge base. Proceeding of the 2nd ACM workshop on Social web search and mining - SWSM ’09, 1. doi:10.1145/1651437.1651439