|
|
|
|
|
Comunicación en Congreso
Clasificación de Sentimientos en Opiniones de una Red
Social Basada en Dimensiones Emocionales
Classification of Feelings in Social Media Opinions
Based on Emotional Dimensions
Matias
N. Amor(1), Agustina Monge(2), María Lorena Talamé(3), Alejandra C. Cardoso(4)
(1 ) Facultad de Ingeniería.
Universidad Católica de Salta
mnamor@ucasal.edu.ar
(2) Facultad de Ingeniería.
Universidad Católica de Salta
agum_96@hotmail.com
(3) Facultad de Ingeniería.
Universidad Católica de Salta
mltalame@ucasal.edu.ar
(4) Facultad de Ingeniería.
Universidad Católica de Salta
acardoso@ucasal.edu.ar
Resumen:
En el tratamiento de las opiniones textuales, muchos trabajos de
investigación se han centrado en el reconocimiento de la polaridad de los
textos. Son escasas las investigaciones que profundizaron en la detección de
uno o más sentimientos en textos de opinión. Determinar el sentimiento de un
usuario, expresado en un mensaje textual, puede entenderse como clasificar o
categorizar el mensaje según las características del mismo. Una forma de
categorizar textos es con el uso de diccionarios léxicos, en los cuales las
palabras están asociadas a una puntuación.
En este artículo se describe un método
para clasificar textos breves u opiniones de la red social Twitter, según el
sentimiento que expresan. Se utilizó un diccionario de palabras con tres
valoraciones asociadas a las dimensiones emocionales: valencia, activación y
dominancia. Los textos se clasificaron en cuatro sentimientos: ira, asco,
tristeza y felicidad.
Abstract:
In the
treatment of textual opinions, many researches have focused on the recognition
of the polarity of texts. Few researches have gone into the detection of one or
more feelings in opinion texts. Determining a user's feeling, expressed in a
textual message, can be understood as classifying or categorizing the message
according to their characteristics. One way of categorizing texts is with the
use of lexical dictionaries, in which words are associated with punctuation.
This paper describes
a method to classify short texts or opinions from the social media Twitter,
according to the feeling they express. A word dictionary was used with three
ratings associated to the emotional dimensions: valence, activation and
dominance. The texts were classified into four feelings: anger, disgust,
sadness and happiness.
Palabras Clave: diccionario
léxico, emociones, opiniones, Twitter
Key Words: lexicon
dictionary, emotions, opinions, Twitter
I. CONTEXTO
Este
trabajo fue realizado en el marco del proyecto de investigación “Minería de
opiniones: análisis de sentimientos en una red social”, en la Facultad de
Ingeniería de la Universidad Católica de Salta, financiado por el Consejo de
Investigaciones.
II. INTRODUCCIÓN
La
minería de textos se define como el proceso de analizar un texto para extraer
información con algún propósito específico, en particular, nueva información
desconocida inicialmente. La minería de opiniones es un área de la minería de
textos que consiste en el análisis de opiniones, sentimientos y emociones
manifestados en forma textual. Dado el auge de las redes sociales donde los
usuarios pueden manifestar sus pareceres sobre un determinado producto, persona
o algún suceso, hay un interés cada vez mayor en conocer y analizar estos
comentarios. La detección automática de emociones en las opiniones de usuarios,
clientes o alumnos puede ayudar a los responsables de distintas áreas a
prevenir problemas o medir el nivel de satisfacción. La red social Twitter se
ha convertido en una excelente herramienta para conocer en tiempo real las
opiniones que los usuarios expresan sobre una gran variedad de temas.
La
identificación del sentimiento de un usuario, expresado en un mensaje textual,
puede entenderse como clasificar o categorizar el mensaje según las
características del mismo. Una forma de categorizar textos es con el uso de
diccionarios léxicos, es decir, un listado de palabras, cada una de las cuales
tiene asociado un puntaje de emoción.
Este
trabajo realiza una experimentación con un diccionario de palabras con tres
puntuaciones asociadas a las dimensiones emocionales: valencia, activación y
dominancia. Los textos se obtuvieron de la red social Twitter y se clasificaron
en cuatro categorías o sentimientos: ira, felicidad, asco y tristeza. Debido a
las características de textos de opinión, sin formato, informales, con errores
de ortografía y/o con imágenes, fue necesario realizar una serie de acciones a
modo de limpieza y preparación, de tal manera de eliminar las características
poco significativas y mantener la mayor cantidad de información posible.
III. ANÁLISIS DE SENTIMIENTOS
Muchas
investigaciones se centraron en la detección de la polaridad de la opinión, es
decir, determinar si una opinión es positiva o negativa. En algunos casos,
también se consideró la opinión neutra para diferenciar aquellos textos
objetivos o sin una opinión explícita. Son escasas las investigaciones que
profundizaron en la detección de uno o más sentimientos en textos de opinión.
Los
enfoques más populares para la clasificación de sentimientos se basan en dos
métodos: por un lado, en el uso de diccionarios léxicos, es decir, una lista de
palabras con un determinado peso o categoría emocional y, por el otro, en el
aprendizaje computacional, en el cual los algoritmos utilizados deben ser
entrenados con un conjunto de datos suficientemente grande y previamente
etiquetado con las categorías correspondientes. En
Respecto
a los recursos lingüísticos, existe una variedad para el idioma inglés, entre
ellos SentiWordNet
Los
seres humanos constantemente expresan sus emociones con respecto a distintos
hechos que suceden en sus vidas cotidianas
• Asco: expresa el rechazo a estímulos determinados que resultan
desagradables para alguno de los sentidos.
• Ira: se expresa a través del resentimiento o de la irritabilidad.
• Miedo: sensación de angustia ante una amenaza o peligro.
• Felicidad: estado emocional agradable, engloba un amplio rango de
sentimientos, desde la satisfacción hasta la euforia.
• Tristeza: se experimenta ante una pérdida o un duelo.
• Sorpresa: no es considerada positiva ni negativa (es decir,
agradable o desagradable) se experimenta ante un evento inesperado o
imprevisto.
Una manera de representar las emociones consiste en
asignarles un valor en un espacio de tres dimensiones:
• Valencia: indica el nivel de agrado ante un estímulo, el rango de
valoración está entre lo agradable y lo desagradable.
• Activación (excitación): indica la intensidad de la emoción que provoca un
estímulo, desde calmado hasta activado.
• Dominancia: indica el grado de control que ejerce un estímulo sobre el
individuo. Se establece entre dominante y sumiso.
En
el caso particular de la información textual, el estímulo se refiere a la
emoción que se produce en un individuo cuando escribe o lee una palabra o
frase.
Cabe
aclarar que, si bien los términos “emoción” y “sentimiento” denotan distintos
conceptos, para este trabajo se consideran como sinónimos.
IV. DICCIONARIOS DE
DIMENSIONES EMOCIONALES
Si
bien son múltiples las investigaciones que usaron lexicones para la
clasificación textual, son pocas las que siguieron el enfoque de las
dimensiones emocionales: valencia, activación y dominancia (VAD). Por ejemplo,
en
Para
esta investigación se utilizó como diccionario base el NRC VAD Lexicón
También
se usó otro diccionario, NRC Emotion Lexicon, basado en emociones
Tabla I
Palabras con VAD y sentimientos asociados
Para
el procesamiento posterior, se unieron los dos diccionarios de tal manera de
obtener un listado de palabras en español, con sus correspondientes puntajes de
las tres dimensiones emocionales y la asociación con las ocho emociones. En la Tabla
I se puede
apreciar parte del listado obtenido.
En
este listado se encontraron términos que requirieron acciones de transformación
o refinamiento. Algunas palabras en inglés en estos
diccionarios tenían la misma traducción en español. Estos casos fueron
revisados y se optó por reescribir los vocablos correctos, muchas veces
ayudados por diccionarios y traductores online. Por ejemplo, en la Tabla
II, se observan
las palabras en inglés traducidas como “alegre” en español.
Finalmente, el listado obtenido, que llamamos NRC-Final, contiene
13215 palabras con puntaje VAD.
V. CORPUS
Los
corpus de opiniones textuales en idioma español disponibles para
investigaciones de análisis de sentimientos suelen estar etiquetados por la
polaridad que manifiestan. Sin embargo, no se encontraron corpus etiquetados con
el sentimiento que expresan. Por lo tanto, se creó un conjunto de textos para
realizar los experimentos.
Aunque
el lenguaje español se habla en muchos países, su uso coloquial es diferente en
muchos de ellos. Por ejemplo, “estar sin un mango” y “estar en el horno” son
modismos argentinos para indicar tener poco dinero, en el primer caso, y tener
un problema, en el segundo. Estas expresiones pueden ser frecuentes en
opiniones originadas en nuestro país, pero difícilmente en aquellas generadas
en otros países de habla hispana. Por esta razón, para este trabajo se optó por
crear un corpus de textos cortos obtenidos de la red social Twitter (llamados tweets), en lenguaje español y generados
en Argentina (según identificador de geolocalización), es decir, los textos que
serán objeto de estudio suelen ser textos informales, sin formato. Entre
Octubre de 2018 y Febrero de 2019, utilizando la API de Twitter
Tabla II
Ejemplo de palabras en inglés con igual traducción en español
En
un trabajo anterior de este equipo de investigación, se clasificaron manualmente
parte de los tweets recopilados. Luego, se experimentó con algoritmos semi
supervisados para obtener un conjunto mayor de mensajes etiquetados. Para el
etiquetado se propusieron las seis categorías o sentimientos, considerados
básicos, según la clasificación de Paul Ekman
VI. PREPARACIÓN DEL CORPUS
Muchos
comentarios en las redes sociales no suelen tener en cuenta las reglas ortográficas,
utilizan palabras del lunfardo o abreviaturas y algunas veces, acentúan sus
emociones con el uso de emojis, repetición de letras, palabras en mayúsculas o
signos de exclamación. Por esta razón, se realizó una serie de acciones a modo
de limpieza de los textos, para lo cual se desarrolló un programa Python.
En
primer lugar, los mensajes se convirtieron a minúsculas. Luego, se realizaron
las tareas típicas de preprocesamiento de textos y otras consideradas
necesarias para este dominio:
-
Eliminación
de stopwords: se eliminan las palabras que carecen
de un significado por si solas (artículos, pronombres, conjunciones, etc.) ya
que por su alta frecuencia de aparición generan ruido en el análisis.
-
Tokenización:
consiste en la segmentación de palabras.
-
Eliminación
de nombres de usuarios:
los nombres de usuarios comienzan
con @ y para este análisis no se consideraron relevantes. Se utilizó una
expresión regular para identificarlos
-
Eliminación
de URL: se consideró que las referencias a URL no infieren en la
clasificación, por lo tanto, se eliminaron. Por lo general, son referencias a
imágenes o noticias y no son visualizadas para analizar el tweet.
-
Eliminación
del símbolo “#”: algunos usuarios emplean los hashtags[4]
como parte del mensaje. Por ejemplo: “Hola
2019! Por un año lleno de #alegría
#felicidad #salud #amor #dinero #amigos #fútbol”. En este ejemplo, la
eliminación de todos los hashtags implicaba perder gran parte del contenido del
texto. Por lo tanto, se decidió eliminar solo el símbolo “#”, quedando, para
este caso: “Hola 2019! Por un año lleno de alegría felicidad salud
amor dinero amigos fútbol”.
Tabla III
Ejemplos emojis y traducciones
-
Reemplazo
de abreviaciones: es común el uso de abreviaturas en los
tweets. Por ejemplo, se reemplazó el “x”
por la palabra “por” y “xq” por “porque”, entre otras.
-
Reemplazo
de emojis por su correspondiente traducción textual (en
inglés): los emojis frecuentemente son incluidos como parte del mensaje, es
decir, reemplazan palabras del mensaje. Por ejemplo, “Todo listo ✈, por fin vacaciones! necesito ☀🍹
y mucha 🎶”.
Eliminarlos implicaría pérdida de información relevante ya que se consideró un
factor importante a la hora de establecer la emoción del tweet. Se utilizó la
librería emoji (Python) que detecta símbolos Unicode y devuelve la
correspondiente traducción textual. Algunos ejemplos se pueden observar en la Tabla
III.
-
Negaciones:
una opinión negativa puede ser expresada con términos
positivos negados; los trabajos
Frecuentemente,
para el análisis de los textos, se lematizan las palabras, es decir, se las
reduce a aquel vocablo que represente todas las formas flexionadas de la misma
palabra (conjugadas, en plural, etc.). Sin embargo, en este trabajo no se
realizó esta transformación debido a que los diccionarios NRC contienen
palabras flexionadas, lo que conllevaría a perder información
importante.
VII. CLASIFICACIÓN DE
SENTIMIENTOS
La
colección NRC-Final proporciona los valores de valencia, activación y
dominancia de cada palabra. Las apariciones de
estas palabras en un texto pueden usarse, para ponderar la oración en el plano
emocional. Este es un enfoque ingenuo ya que las palabras a menudo cambian su
significado o valor emocional cuando se usan en diferentes contextos
Siguiendo
este criterio, el proceso de clasificación de tweets se llevó a cabo, en primer
lugar, determinando los centroides de cada emoción y, en segundo lugar, estableciendo
el sentimiento de cada opinión por la menor distancia a alguno de esos
centroides. Es importante aclarar que, para el cálculo de los centroides, del
listado NRC-Final, solo se utilizó la información referida a los cuatro
sentimientos analizados, es decir, los datos de los sentimientos anticipación,
miedo, sorpresa y confianza quedaron fuera del alcance de este trabajo.
Fig. 1
Centroides de emociones
Se asume que las palabras asociadas a
una emoción tienen valores VAD similares y, por lo tanto, estarán ubicadas
cercanas en el espacio de dimensiones VAD. Los puntos medios, en ese espacio,
de las palabras de cada emoción los llamamos centroides.
Para obtener el centroide de cada
emoción se realizó el promedio de cada dimensión emocional de aquellas palabras
asociadas a la emoción
En
la Fig. 1 se muestra la
ubicación de los centroides en el espacio de dimensiones. El centroide de la
categoría SS/Otro, que representa a textos sin emoción o con otro sentimiento
no analizado, se obtuvo empíricamente. Vale destacar que el centroide obtenido
(0.32, 0.32, 0.32) se considera aceptable si se tiene en cuenta que no sólo representa
a textos sin emoción o neutros, como en el caso de
Es
importante aclarar que algunas palabras están asociadas a más de una emoción o
categoría. Es el caso, por ejemplo, de la palabra “desgracia” asociada a ira,
asco y tristeza. También se puede observar en la Tabla
I que algunas
palabras no están asociadas a los sentimientos analizados, (por ejemplo, la
palabra “ábaco”), por lo tanto, no participa en el cálculo de ninguno de los
cuatro centroides de sentimientos, pero queda disponible para, eventualmente,
ser parte de la evaluación de alguna oración. En la Fig. 2 se puede
apreciar la distribución de las palabras intervinientes en el cálculo de los
centroides de las cuatro emociones consideradas.
Para determinar la polaridad de las
oraciones, la práctica más común es calcular el promedio de los puntajes de las
palabras que componen el mensaje
Fig. 2 Distribución de palabras que determinan los
centroides
Como
resultado de la limpieza (sección 0), cada tweet
quedó reducido en cantidad de palabras, y éstas son las usadas para determinar
la cercanía a alguno de los centroides, es decir, a alguna emoción. El valor
VAD de una oración se calcula promediando los valores VAD de cada una de las
palabras
Como
se comentó anteriormente, los emojis intervienen en el cálculo del valor VAD
del texto. Debido a que no se posee un diccionario de emojis con sus
respectivos valores VAD, se realizaron una serie de cálculos para obtener el
valor de cada dimensión emocional asociado al emoji. Primero, cada emoji se lo
tradujo al inglés. Luego, se buscó cada palabra de esta traducción en el
diccionario NRC-Final. Por último, se promediaron los valores VAD de dichas
palabras obteniendo el valor VAD asociado al emoji. En la Tabla
V se observa el
valor VAD del emoji “red_heart”. En la primera fila se observan los valores de
la palabra “red” y en la segunda fila, los valores de “heart”. En la última
fila se aprecian los valores VAD del emoji calculado como el promedio de cada
dimensión.
La distribución de los tweets
clasificados siguiendo este método se observa en la Fig. 3.
Tabla V. Ejemplo cálculo VAD para emojis
Fig. 3 Clasificación de tweets
VIII. RESULTADOS
Como
el sentimiento expresado en el texto se obtiene de los valores VAD de las
palabras que lo componen, se descartaron los tweets que no contuvieran términos
en el diccionario y aquellos que tuvieran menos de tres palabras con VAD, por
considerarlas insuficientes para realizar la clasificación. De esta manera, los
tweets para el análisis son 4612.
La
emoción o sentimiento de cada tweet se determina identificando el centroide más
cercano, es decir, calculando la distancia entre dos puntos en el espacio. Para
esto se utilizó la fórmula de cálculo de distancia Euclídea
La
performance de clasificación de cada sentimiento se detalla en la Tabla
VI. Los mejores
resultados los obtiene el sentimiento Felicidad con 86,87% de precisión y
95,37% de recall. Entre los otros tres sentimientos el que obtiene mejores
resultados es Tristeza.
Tabla VI
Resultados
Si
bien se considera que alrededor de 75% de aciertos en la clasificación es
significativo, resulta importante analizar los puntos que podrían mejorar la performance
del método. Entre estos destacamos:
- Un
gran número de palabras del corpus no estaban representadas en el diccionario,
por lo cual no fueron parte del cálculo VAD de los tweets donde aparecían.
- En
el corpus existen palabras coloquiales o del lunfardo que, si bien algunas
forman parte del diccionario NRC VAD tienen una significación diferente. Por
ejemplo, las palabras “gato” o “perro” en el diccionario tienen una ponderación
de emoción positiva. Sin embargo, en algunos tweets se usaron esas palabras con
un sentido contrario, utilizadas como insulto.
- Algunas
palabras del diccionario NRC Emotion están asociadas a más de un sentimiento,
por lo cual, forman parte del cálculo de cada centroide. Esto no permite que
los centroides de los sentimientos negativos (ira, asco y tristeza) estén suficientemente
separados (se puede observar en la Fig. 1), lo cual
ocasiona que a la hora de clasificar resulte mínima la diferencia entre estos
sentimientos.
- No
todas las palabras asociadas a una misma emoción tienen valores VAD similares,
como era de esperar. En la Fig. 1 se puede
observar que algunas palabras están dispersas en el espacio, alejadas del punto
medio. Esto también afecta al resultado del centroide de cada emoción.
IX. CONCLUSIONES
La
identificación del sentimiento que un usuario expresa en un mensaje textual en
una red social ayuda a revelar información importante. En este trabajo,
presentamos una forma de categorización de sentimiento o emoción haciendo uso
de dos diccionarios: uno, con los puntajes de las dimensiones emocionales
valencia, activación y dominancia; y otro, con las emociones asociadas a cada
palabra. Los sentimientos considerados fueron cuatro: ira, felicidad, asco y
tristeza, y se agregó una quinta categoría para los tweets que no expresaban
sentimientos o expresaban alguno no considerado.
En
primer lugar, se determinaron los puntos medios de los cuatro sentimientos, en
el espacio de las dimensiones emocionales, con aquellas palabras asociadas al
sentimiento, según la clasificación del diccionario de emociones. Luego, se
determinó el valor emocional de cada tweet para calcular la distancia al
centroide más cercano o representativo. Se utilizaron 4612 tweets clasificados
previamente obteniendo alrededor de 75% de aciertos, lo que demuestra que el
método empleado es aceptable.
Del
análisis de los errores, concluimos que el método podría obtener mejores
resultados con palabras o expresiones comúnmente usadas en nuestro país, por lo
cual, desarrollar un diccionario VAD argentino queda planteado para un trabajo
futuro.
Cabe señalar la importancia del proceso de
preparación del corpus. En general, en las redes sociales, los usuarios suelen
escribir sin respetar reglas ortográficas y con la jerga del país de origen.
Además, utilizan emojis y hashtags como parte de las oraciones. Eliminarlos
supone pérdida de información importante, aunque mantenerlos implica realizar
acciones para transformarlos en datos significativos.
Aunque
el uso de diccionarios léxicos puede parecer un poco simple o “ingenuo”, no lo
es si se tiene en cuenta que las redes sociales dan lugar a nuevas formas de
escritura sin respetar reglas ortográficas y sintácticas. Además, es muy común
que una opinión se exprese con palabras en más de un idioma, emojis, hashtags,
lenguaje inclusivo, siglas, etc. Entonces, para este tipo de textos, el método
de clasificación que le otorga un peso a cada palabra, puede resultar
importante asumiendo el riesgo de que emplear las mismas palabras en un orden
distinto pueda llevar a expresar otro sentimiento.
X. REFERENCIAS
[1] O. Kolchyna, T.
T. Souza, P. Treleanven y T. Aste, «Twitter Sentiment Analysis: Lexicon
Method, Machine Learning Method and Their Combination,» arXiv preprint
arXiv:1507.00955, 2015. |
[2] S. Baccianella,
A. Esuli y F. Sebastiani, «SentiWordNet 3.0: An Enhanced Lexical Resource for
Sentiment Analysis and Opinion Mining,» de International Conference on
Language Resources and Evaluation, LREC 2010, Valletta, Malta, 2010. |
[3] M. M. Bradley y
P. J. Lang, «Affective Norms for English Words (ANEW): Instruction Manual and
Affective Ratings,» Technical report C-1, the center for research in
psychophysiology, vol. 30, nº 1, pp. 25-36, 1999. |
[4] F. A. Nielsen,
«A new ANEW: Evaluation of a word list for sentiment analysis in microblogs,»
arXiv preprint arXiv:1103.2903, 2011. |
[5] J. Redondo, I.
Fraga, I. Padrón y M. Comesaña, «The Spanish adaptation of ANEW (Affective
Norms for English Words),» Behavior Research Methods, vol. 39, nº 3,
pp. 600-605, 2007. |
[6] C. H. Miranda,
J. Guzmán y D. Salcedo, «Minería de Opiniones basado en la adaptación al
español de ANEW sobre opiniones acerca de hoteles,» Procesamiento del
Lenguaje Natural, nº 56, pp. 25-32, 2016. |
[7] P. Ekman,
Emotion in the Human Face, Pergamon, 1972. |
[8] M. Mäntylä, B.
Adams, G. Destefanis, D. Graziotin y M. Ortu, «Mining valence, arousal, and
dominance: possibilities for detecting burnout and productivity?,» de Proceedings
of the 13th International Conference on Mining Software Repositories,
2016. |
[9] S. M. Mohammad,
«Obtaining reliable human ratings of valence, arousal, and dominance for
20,000 English words,» de Proceedings of the 56th Annual Meeting of the
Association for Computational Linguistics, 2018. |
[10] S. M. Mohammad
y P. D. Turney, «Crowdsourcing a word–emotion association lexicon,» Computational
Intelligence, vol. 29, nº 3, pp. 436-465, 2013. |
[11] S. M. Mohammad
y P. D. Turney, «Emotions evoked by common words and phrases: Using
mechanical turk to create an emotion lexicon,» de Proceedings of the NAACL
HLT 2010 workshop on computational approaches to analysis and generation of
emotion in text, 2010. |
[12] Twitter,
«Developer,» [En línea]. Available: https://developer.twitter.com/. [Último
acceso: 2018]. |
[13] S. M. Jiménez
Zafra, E. Martínez Cámara, M. Martín Valdivia y M. Molina González,
«Tratamiento de la Negación en el Análisis de Opiniones en Español,» Procesamiento
del Lenguaje Natural, nº 54, pp. 37-44, 2015. |
[14] D. Vilares
Calvo, M. Á. Alonso Pardo y C. Gómez Rodríguez, «Clasificación de polaridad
en textos con opiniones en español mediante análisis sintáctico de
dependencias,» Procesamiento de Lenguaje Natural, nº 50, pp. 13-20,
2013. |
[15] S. M. Kim, A.
Valitutti y R. A. Calvo, «Evaluation of unsupervised emotion models to
textual affect recognition,» de Proceedings of the NAACL HLT 2010 Workshop
on Computational Approaches to Analysis and Generation of Emotion in Text,
Los Angeles, California, 2010. |
[16] O. Kolchyna,
T. T. Souza, P. Treleanven y T. Aste, «Methodology for Twitter Sentiment
Analysis,» arXiv preprint arXiv:1507.00955, 2015. |
[17] I. M. Witten,
M. A. Hall, E. Frank y C. J. Pal, Data Mining: Practical Machine Learning Tools
and Techniques, Morgan Kaufmann, 2017. |
Recibido: 2020-07-13
Aprobado: 2020-07-23
Hipervínculo
Permanente: http://www.reddi.unlam.edu.ar
Datos de
edición: Vol. 5-Nro. 1-Art. 1
Fecha de
edición: 2020-08-15
|
|