REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
RECIBIDO 07/09/2023 ● ACEPTADO 18/11/2023 PUBLICADO 30/03/2024
RESUMEN
El avance en la tecnología de inteligencia artificial (IA) ha llevado a mejoras significativas en la
generación de imágenes en términos de velocidad y calidad. Sin embargo, se ha generado
preocupación e incertidumbre entre los artistas, quienes temen ser reemplazados por la IA en su
campo de trabajo. En este contexto, se tuvo como objetivo el análisis de los Tweets donde se
define el impacto de la inteligencia artificial (IA) en la adopción de tecnologías de generación de
imágenes. Para ello, se llevó a cabo la recopilación, creación y evaluación de una red neuronal
convolucional que clasifique los datos según un análisis de sentimiento entre positivo y negativo.
Finalmente, la investigación se determinó la tasa de pérdida de un 63%, la precisión con un 61%
y la curva ROC alrededor de un 64% de una red neuronal convolucional para la predicción de
Tweets.
Palabras claves:
Inteligencia artificial, Análisis de sentimiento, Red neuronal convolucional, Ámbito
artístico, Twitter.
ABSTRACT
Advances in artificial intelligence (AI) technology have led to significant improvements in image
generation in terms of speed and quality. However, it has generated concern and uncertainty
among artists, who fear being replaced by AI in their field of work. In this context, the objective
was to analyse Tweets defining the impact of artificial intelligence (AI) on the adoption of imaging
technologies. For this purpose, the collection, creation and evaluation of a convolutional neural
network that classifies the data according to a sentiment analysis between positive and negative
Antony Pyero Rosales Espinoza
Universidad Católica Sedes Sapientiae.
Junin-Tarma, Perú.
2015101350@ucss.pe
Juan Carlos Gonzales Suarez
Universidad Católica Sedes Sapientiae.
Junin-Tarma, Perú.
jgonzaless@ucss.pe
ARK: ark:/42411/s15/a125
DOI: 10.48168/innosoft.s15.a125
PURL: 42411/s15/a125
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
34
was carried out. Finally, the research determined the loss rate of 63%, the accuracy with 61%
and the ROC curve around 64% of a convolutional neural network for predicting Tweets.
Keywords:
Artificial intelligence, Sentiment analysis, Convolutional neural network, Artistic field,
Twitter.
INTRODUCCIÓN
Las plataformas de redes sociales se han transformado en un espacio virtual equivalente a una
plaza pública contemporánea, donde un gran número de personas debaten, discuten y comparten
sus experiencias y puntos de vista.
Twitter ocupa una posición excepcional dentro del conjunto de las redes sociales más
ampliamente utilizadas, ya que su número de usuarios diarios supera los 436 millones, que lo
convierte en una plataforma de elección para la expresión y difusión pública de opiniones.
Un tema que se discute entre artistas actualmente en Twitter es la utilización de IA para la
generación de imágenes que causa preocupación e incertidumbre por ser reemplazados por
tecnología en el campo artístico y, por otro lado, las empresas que realizan estas herramientas
no saben exactamente que mejorar o cambiar para satisfacer a las demandas de sus clientes.
Para ello se realiza un análisis de sentimiento donde se lleva a cabo la recopilación, diferenciación,
análisis y obtención de la información necesaria del usuario para la mejoría del software.
Para realizar esta investigación se ha revisado fuentes que incluyen las redes neuronales
profundas, convolucionales y recurrentes donde se ha decidido utilizar una red neuronal
convolucional con Word2Vec que según Kalluri [1] es el más optimo como solución para obtener
y analizar la información con los procesos de recopilación de datos, preprocesado de datos,
incrustación y modelación.
En la sección 2 se realizó una revisión conceptual que abarcó la definición de diversos conceptos.
La sección 3 se hace una comparación entre modelos DNN, CNN y RNN según lo propuesto por
Kalluri[1]. La sección 4 se define los pasos clave de la solución. La sección proporciona una
descripción detallada de la ejecución de la solución. La sección 6 se muestran los resultados y
finalmente en la sección 7 se realiza las conclusiones.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
35
Revisión conceptual
Para elegir el mejor modelo para la solución se describió diferentes conceptos y analizó una
valorización de los criterios con la comparativa que realizo Kalluri [1] entre DNN, CNN y RNN con
TF-IDF y Word2vec.
- Análisis de sentimiento: El análisis de sentimiento es la técnica que consiste en obtener
información sobre una entidad y determinar sus subjetividades de forma automática. El
propósito es identificar si el material generado por el usuario expresa sentimientos
favorables, negativos o neutrales. La clasificación del sentimiento puede realizarse en tres
niveles de extracción: nivel de aspecto o rasgo, nivel de frase y nivel de documento.
- Word Embedding (Incrustación de palabras): La mayoría de los algoritmos de aprendizaje
automático no pueden interpretar cadenas o texto plano en su forma básica. Por el
contrario, necesitan entradas numéricas para funcionar. Al convertir las palabras en
vectores, la incrustación de palabras permite procesar grandes cantidades de datos de
texto y adaptarlos a los algoritmos de aprendizaje automático. En este apartado se usa
Word2vec [14] y TF-IDF [15,25] como técnicas de incrustación de palabras [8]. Se examina
todo el texto y el procedimiento de construcción del vector se lleva a cabo identificando las
palabras con las que la palabra objetivo aparece con más frecuencia. De este modo,
también se muestra la proximidad semántica de las palabras, a diferencia de otras técnicas
se lleva a cabo un procedimiento de aprendizaje no supervisado mediante redes neuronales
artificiales, se utilizan datos no etiquetados para entrenar el modelo Word2Vec que crea
vectores de palabras.
- Red neuronal profunda (DNN): Esta red neuronal tiene la característica distintiva de
permitir captar automáticamente las funciones necesarias. El modelo de aprendizaje
profundo es una función matemática f: X, Y. El aprendizaje profundo es el desarrollo de
una red neuronal artificial (ANN) que emplea s de una capa oculta para modelar un
conjunto de datos [7].
- Red neuronal Convolucional (CNN): consisten en múltiples capas de convoluciones con
funciones de activación no lineales, como ReLU o tanh, aplicadas a los resultados. En una
red neuronal feedforward convencional, cada neurona de entrada está conectada a cada
neurona de salida de la capa siguiente. Esto también se conoce como una capa totalmente
conectada [6]. Finalmente, los datos se preprocesan para la matriz de incrustación, pasan
por capas y filtros para obtener un resultado de análisis de sentimiento entre positivo o
negativo [23,24].
- Red neuronal recurrente (RNN): La red neuronal recurrente es una extensión de la red
neuronal directa con una memoria interna ya que realiza la misma función para cada
entrada de datos, mientras que el resultado de la entrada actual depende del cálculo
anterior [11]. Una vez generada la salida, se duplica y se vuelve a introducir en la red
recurrente. Para la toma de decisiones, evalúa tanto la entrada actual como el resultado
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
36
de la entrada anterior de la que ha aprendido. La red de memoria a corto plazo es una RNN
avanzada, una red secuencial, que permite la persistencia de la información. Es capaz de
resolver el problema de gradiente, pero son incapaces de reconocer las dependencias a
largo plazo por eso se usan las LSTM [16,19] que significa memoria a corto plazo para
evitar dificultades.
El preprocesamiento de los datos de entrada en parecida al CNN, pasando por celdas y funciones
para la disminución de vectores de salida con el fin de dar un resultado (positivo o negativo).
Comparación de modelos
Ahora que sabemos cada concepto se pasa a la valorización de los criterios usando la Tabla 1
para determinar el puntaje según el rango.
Tabla 1. Tabla de evaluación de rangos para los criterios.
Según el resultado de las pruebas que realizo Kalluri [1], lo reemplazaremos con un puntaje para
determinar el modelo óptimo según la Tabla 1.
Tabla 2. Comparativa entre modelos según Kalluri[1].
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
37
Se observa la Accuracy (Exactitud), Recall (Rellamada), Precision, F Score y AUC (Area Under
The Curve) para cada red neuronal y se realiza una comparación de los datos [17,21] según la
Tabla 2.
Tabla 3. Comparativa entre métodos basado en la valorización del criterio.
El análisis del resultado da un total de 15 para CNN y RNN por parte de Word2Vec como los más
óptimos dando un empate entre los modelos según la Tabla 3.
Tabla 4. Comparativa entre métodos basado en el tiempo de procesamiento según Kalluri [1].
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
38
Para hacer el desempate, se realizó una siguiente comparación, pero basado en el tiempo de
procesamiento de cada red neuronal que según el tiempo nos da para CNN 36 minutos y 12
segundos que es mucho menor que el RNN que tarda 1 hora y 32 segundos según la Tabla 4.
Modelo de la solución
Para realizar el modelo se necesita diferentes pasos para llevar los mensajes o tweets a una
clasificación por sentimiento.
- Recopilación de datos, se extrae los datos de twitter sin ninguna corrección o modificación,
en otras palabras, son los datos brutos.
- Preprocesado de datos, se limpia los datos de toda clase de ruido, emojis, caracteres
especiales, mayúsculas, entre otras.
- Preparación de la capa de incrustación, convierte los datos textuales en forma numérica
para que se pueda interpretar para la clasificación.
- Red neuronal convolucional, los datos son clasificados por medio de la red neuronal dando
un resultado numérico que se interpreta como positivo, neutro o negativo.
En la Figura 1, se muestra el esquema del flujo de trabajo que planeo Paredes [2] con el objetivo
de brindar una comprensión más clara de la metodología empleada para el desarrollo del análisis
de sentimiento.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
39
Figura 1. Esquema del flujo de trabajo según Paredes [2]
Desarrollo de la solución
Se realizo la solución siguiendo los pasos del modelo de la solución, en este apartado se dividió
en 4 módulos:
Módulo de recopilación de datos de Twitter se desarrolló con la ayuda de la librería de Selenium
que permite automatizar las acciones en el navegador web para recopilar los datos y
ChromeDriver que facilita la interacción de Selenium con el navegador.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
40
Tabla 5. Datos recopilados
En la tabla 5, se muestra los datos recopilados en bruto que aún no han sido procesados.
Módulo de preprocesado de datos, en esta etapa se realiza la limpieza de los tweets, este proceso
se realiza de dos maneras: utilizando software o de forma manual. En este caso, se optó por la
última opción con el objetivo de proporcionar coherencia a los datos. Para lograrlo, se siguieron
indicaciones específicas, tales como:
No debe contar con caracteres especiales, emojis, entre otros.
No debe existir espacios entre vacíos entre filas.
No se considera los caracteres especiales incluyendo las palabras que contengan “#” o “@”
solo en caso de que sea una palabra dentro de la oración.
No se considera elementos que tengan URL.
No se considera frases sin sentido o ilegibles.
Debe estar relacionado al tema artístico o IA.
Debe existir coherencia las frases y el sentimiento.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
41
Tabla 6. Datos recopilados y preprocesados
En la tabla 6, los datos han sido recopilado, preprocesados y clasificados con una librería de
python llamada textblob aun así el error persiste por lo cual se realiuna revisión de forma
manual.
Módulo de preparación de la capa de incrustación, en esta etapa se usa el word2vec para la
incrustación de palabras, esta herramienta implementa el modelo de bolsa continua de palabras
(CBOW) y el modelo de para calcular representaciones vectoriales de palabras [3,9].
La incrustación de las palabras es esencial en la estructura de las CNN, ya que posibilitan la
obtención de información tanto sintáctica (estructura gramatical) como semántica (significado y
contexto) de los tweets. Esta característica resulta crucial en el proceso de clasificación de
sentimientos.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
42
Antes de crear el word2vec, se dividió los datos entre: datos de entrenamiento y datos de prueba,
por lo cual se ulos datos de entrenamiento para etiquetarlos que consiste en dividir las palabras
en más pequeñas para facilitar el manejo y procesamiento como se muestra en la Figura 2.
Figura 2. Palabras tokenizadas de los Tweets
Luego se creó el word2vec con el uso de la librería de Python llamado Gensim y en base a los
datos etiquetados se realizó el entrenamiento.
Módulo de red neuronal convolucional (CNN), en esta etapa se crea la CNN para clasificar los
tweets en positivos y negativos. Su arquitectura requiere vectores de palabras concatenadas del
texto como entrada.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
43
Figura 3. Modelo de aprendizaje para la clasificación de sentimientos según Severyn [2]
En la figura 3, se muestra la arquitectura de una red neuronal para la clasificación de sentimiento.
Para realizar la CNN se utilizó la librería de Python Keras y se utilizó varias capas como:
Capa de entrada, para el ingreso de los datos de los tweets.
Capa de Embedding, para convertir a cada palabra a un vector [22].
Capa de Conv1D, donde se hace las convoluciones de brigram, trigram, fourgram [12,13].
Capa de GlobalMaxPool, donde se realiza la operación max pooling para reducir la
dimensionalidad y mejorar el modelo [26].
Capa de salida, se obtiene el resultado mostrando los valores de 0 (negativo) o 1 (positivo).
Además, se utilizó hiperparametros para ajuste del modelo como la tasa de aprendizaje (learning
rate) que determina los ajustes de los pesos en cada iteración con un valor de 0.0001 y una tasa
de perdida (dropout) para evitar el sobreajuste con un valor de 0.2.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
44
Resultados
Los datos obtenidos son divididos en 2 partes:
Datos para el entrenamiento con un 45.16% negativos y un 54.84% positivos.
Datos para prueba con un 54.55% negativos y un 45.45% positivos.
Los datos tienen casi un 50% entre las dos partes dando una igualdad casi pareja entre positivo
y negativo.
Por parte, en la red neuronal convolucional se tiene los siguientes resultados para determinar la
eficiencia actual con los datos de entrenamiento:
Tasa de Perdida (Dropout): 0.6318122148513794 = 63%
Precisión: 0.6181818246841431 = 61%
ROC = 0.643 = 64%
Figura 4. Curva ROC
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
45
En la Figura 4, se muestra gráficamente la curva ROC (Característica Operativa del Receptor) con
los datos de eficiencia obtenidos de la CNN.
Tabla 7. Datos recopilados y preprocesados
En la Tabla 7, se muestra la predicción de los datos de prueba comparando con la predicción que
realiza la CNN.
Conclusiones
En este estudio, se realizó un análisis de sentimiento con una red neuronal convolucional para
clasificar los mensajes de tweets entre positivo y negativo dando los siguientes resultados:
- La precisión es un 61%, el porcentaje esperado era entre 70-80%, esto sugiere que la CNN
no está llegando a la eficiencia deseada en la predicción.
- La tasa de perdida es de un 63%, el porcentaje esperado era de menos de un 15%, esto
sugiere que la CNN tiene dificultades para minimizar el error durante el entrenamiento.
- ROC es de 64%, el porcentaje esperado era entre 70-80%. esto sugiere que la CNN no
logra separar las clases adecuadamente entre positivo y negativo.
Al realizar la clasificación con los datos de prueba con la red neuronal ocurre errores con la
predicción que sucede por la insuficiencia de datos para mejorar la capacidad predictiva de la red
neuronal, en este caso se podría considerar la obtención de datos adicionales.También se puede
mejorar agregando más especificaciones en el preprocesado como convertir las mayúsculas a
minúsculas o seguir ajustando los hiperparametros para obtener un resultado más óptimo.
Contribución de Autoría
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
46
Antony Pyero Rosales Espinoza: Conceptualización, Análisis formal, Investigación, Software,
Validación, Redacción - borrador original, Curación de datos, Escritura, revisión y edición,
Visualización, Metodología, Software, Juan Carlos Gonzales Suarez: Conceptualización,
Investigación, Visualización, Metodología, Software, Validación, Redacción - borrador original,
Curación de datos, Redacción - borrador original.
Referencias
[1]
Kalluri, S (2023). Deep Learning Based Sentiment Analysis. Faculty of Faculty,
Blekinge Institute of Technology, Karlskrona,Sweden. https://www.diva-
portal.org/smash/get/diva2:1741487/FULLTEXT02.pdf
[2]
Paredes-Valverde, M. A., Colomo-Palacios, R., Salas-Zárate, M. D. P. & Valencia-
García, R. (2017). Sentiment Analysis in Spanish for Improvement of Products and
Services: A Deep Learning Approach. Scientific Programming, 2017.
https://doi.org/10.1155/2017/1329281
[3]
T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean, "Distributed
representations of words and phrases and their compositionality," in Proceedings of
the 27th Annual Conference on Neural Information Processing Systems (NIPS '13),
pp. 3111-3119, December 2013.
[4]
A. Severyn and A. Moschitti, "UNITN: training deep convolutional neural network for
twitter sentiment classification," in Proceedings of the 9th International Workshop
on Semantic Evaluation (SemEval '15), pp. 464-469, 2015.
[5]
A. Severyn and A. Moschitti, "UNITN: training deep convolutional neural network for
twitter sentiment classification," in Proceedings of the 9th International Workshop
on Semantic Evaluation (SemEval '15), pp. 464-469, 2015.
[6]
A. Zhang, L.; Wang, S.; Liu, B. Deep learning for sentiment analysis: A survey.
WIREs Data Min. Knowl. Discov. 2018, 8, e1253.
[7]
Kraus, M.; Feuerriegel, S. Sentiment analysis based on rhetorical structure theory:
Learning deep neural networks from discourse trees. Expert Syst. Appl. 2019, 118,
65-79.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
47
[8]
Ain, Q.T.; Ali, M.; Riaz, A.; Noureen, A.; Kamran, M.; Hayat, B.; Rehman, A.
Sentiment analysis using deep learning techniques: A review. Int. J. Adv.
Comput.Sci. Appl. 2017, 8, 424
[9]
N. F. F. Da Silva, E. R. Hruschka, and E. R. Hruschka, "Tweet sentiment analysis
with classifier ensembles," Decision Support Systems, vol. 66, pp. 170-179, 2014.
[10]
T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean, "Distributed
representations of words and phrases and their compositionality," in Proceedings of
the 27th Annual Conference on Neural Information Processing Systems (NIPS '13),
pp. 3111- 3119, December 2013.
[11]
Britz, D. Recurrent Neural Networks Tutorial, Part 1-Introduction to Rnns.
https://dennybritz.com/posts/wildml/recurrent-neural-networks-tutorial-part-1/
[12]
M. del Pilar Salas-Zarate, M. A. Paredes-Valverde, J. Limon- ´ Romero, D. Tlapa,
and Y. Baez-Lopez, "Sentiment classification of Spanish reviews: an approach based
on feature selection and machine learning methods," Journal of Universal Computer
Science, vol. 22, no. 5, pp. 691-708, 2016.
[13]
P. Smith and M. Lee, "Cross-discourse development of supervised sentiment analysis
in the clinical domain," in Proceedings of the 3rd Workshop in Computational
Approaches to Subjectivity and Sentiment Analysis, pp. 79-83, 2012.
[14]
Mikolov, Tomas, Kai Chen, Greg Corrado, and Jeffrey Dean. "Efficient estimation of
word representations in vector space." arXiv preprint arXiv: 1301.3781 (2013).
https://doi.org/10.1145/3388218.3388229
[15]
Djoerd Hiemstra. 2000. A probabilistic justification for using tf× idf term weighting
in information retrieval. International Journal on Digital Libraries 3, 2 (2000), 131-
139.
[16]
M. Cliche, "BB twtr at SemEval-2017 Task 4: Twitter Sentiment Analysis with CNNs
and LSTMs," Apr. 2017.
REVISTA INNOVACIÓN Y SOFTWARE Vol. 5 Nº. 1 Marzo - Agosto2024 ISSN Nº 2708-0935
48
[17]
M. D. P. Salas-Zarate, R. Valencia-Garc ´ ´?a, A. Ruiz-Mart´?nez, and R. Colomo-
Palacios, "Feature-based opinion mining in financial news: an ontology-driven
approach," Journal of Information Science, 2016.
[18]
Z. Wang, H. Wang, Z. Liu & J. Liu, "Rolling Bearing Fault Diagnosis
[19]
Using CNN-based Attention Modules and Gated Recurrent Unit", Global Reliability
and Prognostics and Health Management 7(2020) 6.
[20]
Umarania, V., Juliana, A., & Deepab, J. (2023). Sentiment Analysis using various
Machine Learning and Deep Learning Techniques. Journal of Computational
Intelligence, 7(3), 245-260. https://doi.org/10.46481/jnsps.2021.308
[21]
S. Md and S. Krishnamoorthy, "Student performance prediction, risk analysis, and
feedback based on context-bound cognitive skill scores,"Educ. Inf. Technol., vol. 27,
no. 3, pp. 3981-4005, 2022, doi: 10.1007/s10639-021-10738-2.
[22]
D. Tang, F. Wei, B. Qin, T. Liu, and M. Zhou, "Coooolll: A Deep Learning System for
Twitter Sentiment Classification," in Proceedings of the 8th International Workshop
on Semantic Evaluation (SemEval '14), pp. 208-212, Dublin, Ireland, 2014.
[23]
Bhavitha, B.; Rodrigues, A.P.; Chiplunkar, N.N. Comparative study of machine
learning techniques in sentimental analysis. In Proceedings of the 2017 International
Conference on Inventive Communication and Computational Technologies (ICICCT),
Coimbatore, India, 10-11 March 2017; pp. 216-221.
[24]
Zhang, L.; Wang, S.; Liu, B. Deep learning for sentiment analysis: A survey. WIREs
Data Min. Knowl. Discov. 2018, 8, e1253.
[25]
Sohangir, S.; Wang, D.; Pomeranets, A.; Khoshgoftaar, T.M. Big Data: Deep
Learning for financial sentiment analysis. J. Big Data 2018, 5, 3
[26]
D. Britz, "Understanding Convolutional neural networks for NLP," in WildML, WildML.
http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-
for-nlp/