Friday, February 8, 2013

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

No comments:

Post a Comment