Rev. Cient. Sist. Inform. 3(1), e418, doi: 10.51252/rcsi.v3i1.418
Artículo original
Original article
Ene-Jun, 2023
https://revistas.unsm.edu.pe/index.php/rcsi
e-ISSN: 2709-992X
Este es un artículo de acceso abierto distribuido bajo los términos de la licencia de atribución de Creative Commons, que permite el uso sin restricciones, distribución y
reproducción en cualquier medio, siempre que se cite debidamente la obra original.
Análisis de sentimientos en Twitter: Un estudio comparativo
Sentiment analysis in Twitter: A comparative study
Lovera, Fernando Andres1*
Cardinale, Yudith1
1Department of Computer Science, Universidad Simón Bolívar, Caracas, Venezuela
Recibido: 4 Ago. 2022 | Aceptado: 16 Oct. 2022 | Publicado: 20 Ene. 2023
Autor de correspondencia*: flovera@usb.ve
mo citar este artículo: Lovera, F. A. & Cardinale, Y. (2023). Análisis de sentimientos en Twitter: Un estudio comparativo. Revista
Científica de Sistemas e Informática, 3(1), e418. https://doi.org/10.51252/rcsi.v3i1.418
RESUMEN
El análisis de sentimientos ayuda a determinar la percepción de usuarios en diferentes aspectos de la vida
cotidiana, como preferencias de productos en el mercado, nivel de confianza de los usuarios en ambientes de
trabajo, o preferencias políticas. La idea es predecir tendencias o preferencias basados en sentimientos. En este
artículo evaluamos las técnicas más comunes usadas para este tipo de análisis, considerando técnicas de
aprendizaje de máquina y aprendizaje de máquina profundo. Nuestra contribución principal se basa en una
propuesta de una estrategia metodológica que abarca las fases de preprocesamiento de datos, construcción de
modelos predictivos y su evaluación. De los resultados, el mejor modelo clásico fue SVM, con 78% de precisión,
y 79% de métrica F1 (F1 score). Para los modelos de Deep Learning, con mejores resultados fueron los modelos
clásicos. El modelo con mejor desempeño fue el de Deep Learning Long Short Term Memory (LSTM), alcanzando
un 88% de precisión y 89% de métrica F1. El peor de los modelos de Deep Learning fue el CNN, con 77% de
precisión como de métrica F1. Concluyendo que, el algoritmo Long Short Term Memory (LSTM) demostró ser el
mejor rendimiento, alcanzando hasta un 89% de precisión.
Palabras clave: análisis de sentimiento; aprendizaje; clasificación; twitter
ABSTRACT
Sentiment analysis helps to determine the perception of users in different aspects of daily life, such as product
preferences in the market, level of user confidence in work environments, or political preferences. The idea is to
predict trends or preferences based on feelings. In this article we evaluate the most common techniques used for
this type of analysis, considering machine learning and deep machine learning techniques. Our main contribution
is based on a proposal for a methodological strategy that covers the phases of data preprocessing, construction
of predictive models and their evaluation. From the results, the best classical model was SVM, with 78% accuracy,
and 79% F1 metric (F1 score). For the Deep Learning models, the classical models had the best results. The model
with the best performance was the Deep Learning Long Short Term Memory (LSTM), reaching 88% accuracy and
89% F1 metric. The worst of the Deep Learning models was the CNN, with 77% accuracy as an F1 metric.
Concluding that the Long Short Term Memory (LSTM) algorithm proved to be the best performance, reaching up
to 89% accuracy.
Keywords: sentiment analysis; learning; classification; twitter
Lovera, F. A. & Cardinale, Y.
2 Rev. Cient. Sist. Inform. 3(1): e418; (Ene-Jun, 2023). e-ISSN: 2709-992X
1. INTRODUCCIÓN
Los usuarios de Twitter hacen uso de la plataforma para expresar desde opiniones hasta emociones sobre
cualquier tópico. Los modelos de clasificación inteligentes han demostrado su capacidad de predicción de
sentimientos en textos, para determinar la percepción de los usuarios sobre aspectos de la vida cotidiana
(Mostafa, 2013), como pueden ser: compras de productos en el mercado o incluso gustos políticos. La
información extraída por análisis de sentimientos se puede usar como conocimiento para análisis
posteriores. En general, se quiere predecir los resultados de preferencias o tendencias de un tópico
particular a partir del sentimiento (Li et al., 2022).
Surge entonces la pregunta sobre cuál es la mejor técnica de análisis de sentimientos en textos. En este
artículo evaluamos las técnicas usadas más comunes para detectar sentimientos en textos de poca longitud,
específicamente en tuits, cuya longitud es de 280 caracteres. El objetivo es evaluar técnicas tanto de
modelos inteligentes de Machine Learning, como Regresión Logística, Naive Bayes y Support Vector
Machine (SVM), como de Deep Learning, como Convolutional Neural Network (CNN), Long Short Term
Memory (LSTM) y Bidirectional Long Short Term Memory (Bi-LSTM). El conjunto de datos (dataset)
utilizado, para la evaluación de tales técnicas es el de Sentiment140 que contiene 1,600,000 tuits en Ingles
etiquetados como positivo, negativo y neutral, así como metadatos que describen cada Tuit.
Para efectos del análisis de sentimientos, sólo es necesario el contenido del texto del Tuit junto con su
etiqueta (sin embargo, en este trabajo no se considera la etiqueta neutral). Para realizar el análisis de
sentimientos correctamente, es necesario realizar una limpieza del texto, que incluye desde eliminación de
caracteres no alfanuméricos (esto deja a los emoticones de lado, pero no afectara los resultados, ya que la
forma en que fue etiquetado el dataset toma en cuenta los emoticones) hasta corrección de errores
ortográficos. También es importante realizar una exploración de datos, que ayude a visualizar estadísticas
referentes a la distribución del dataset. Dichas estadísticas se utilizan para conocer aspectos relevantes del
dataset (como balance de datos) y poder entrenar adecuadamente los modelos inteligentes. Así,
adicionalmente en este artículo, proponemos un enfoque metodológico que incluye las fases de
preprocesamiento de datos (basado en Natural Language Processing NLP), construcción de modelos
inteligentes de predicción y evaluación comparativa para identificar cuál de los modelos presenta mayor
precisión para predecir el sentimiento en textos tuits.
2. MATERIALES Y MÉTODOS
Esta sección trata sobre la metodología que fue empleada en nuestro estudio. Planteamos una sección en
la que exponemos una estrategia metodológica general para realizar análisis de sentimientos y luego
realizamos nuestro estudio comparativo basados en esta metodología. Esta sección consta de dos
subsecciones: Estrategia metodológica y Estudio comparativo.
2.1. Estrategia metodológica
Para realizar el estudio comparativo de diferentes técnicas de aprendizaje, proponemos una estrategia
metodológica que abarca desde la fase de extracción del dataset hasta la evaluación comparativa. En la
Figura 1, se muestra el esquema general de nuestra estrategia metodológica, sus fases y las actividades
consideradas en cada una. En las primeras dos fases se utilizan técnicas de NLP para normalizar el texto.
Esta normalización sirve para tener una representación regular del texto, que será una entrada adecuada
a los algoritmos inteligentes para asegurar un proceso de aprendizaje correcto. A continuación, se detalla
cada fase de la estrategia.
Lovera, F. A. & Cardinale, Y.
3 Rev. Cient. Sist. Inform. 3(1): e418; (Ene-Jun, 2023). e-ISSN: 2709-992X
Figura 1. Esquema general del enfoque metodológico propuesto
Fase 1: Fase de Exploración de datos
El conjunto de datos (dataset) es la entrada que será procesada en cada fase del enfoque metodológico
propuesto. La exploración de datos representa la fase inicial y consiste en elaborar un conjunto de medidas
y gráficos que dan información sobre el dataset a utilizar. Es una de las etapas que mayor tiempo requiere.
En ella se intenta visualizar las características de distribución del dataset para verificar la heterogeneidad
y balance de los datos.
En particular, para el caso de análisis de sentimientos en tuits, una gráfica muy importante es la
distribución de tuits positivos y negativos. Es importante que haya una cantidad similar de tuits etiquetados
como positivos y negativos, de manera que, al entrenar los algoritmos de aprendizaje, sean capaces de
aprender a diferenciar entre las dos clases. Entre las actividades que se desarrollan en esta fase, se
encuentran: cálculo de frecuencia de bigramas, frecuencia del número de palabras positivas en tuits
marcados como positivos, frecuencia del número de palabras negativas en tuits marcados como negativos,
frecuencia del número de palabras negativas en tuits marcados como positivos, frecuencia del número de
palabras positivas en tuits marcados como negativos. Una técnica para saber si un dataset esta balanceado,
es utilizar el conteo de las clases de predicción, siguiendo el principio de entropía de Wu et al. (2011). En
un dataset de n instancias, si se tienen k clases de tamaño ci, la entropía puede calcularse como se muestra
en la siguiente ecuación.
=- ci
n
k
i=1
log ci
n
La ecuación anterior es equivalente a log(k) todas las clases son equilibradas, aproximadas al mismo
tamaño n/k, o 0 cuando hay una única clase. Por lo que la entropía tiende a 0 cuando el dataset no está
balanceado. Entonces, se puede usar la siguiente ecuación para determinar el balance, retornando valores
cercanos a 0, si se trata de un dataset no balanceado, o cercanos a 1 si el dataset es balanceado.
Balance = E
log k