Smile: Asistente virtual inteligente con detección de emociones Smile: Intelligent virtual assistant with emotion detection Flor Miriam Plaza del Arco1 , Salud Marı́a Jiménez-Zafra1 , Daniel Garcı́a-Baena2 , Miguel Ángel Garcı́a-Cumbreras1 1 Departamento de Informática, SINAI, CEATIC, Universidad de Jaén, Jaén, España {fmplaza, sjzafra, magc}@ujaen.es 2 I.E.S. San Juan de la Cruz, Úbeda (Jaén), España. daniel.gbaena@gmail.com Resumen: Smile es un demostrador de un asistente virtual inteligente con detección de emociones. Se trata de una utilidad (skill ), en concreto para Amazon Alexa, que haciendo uso de las Tecnologı́as del Lenguaje Humano incorpora un detector de emociones. Se ha diseñado un sistema de diálogo que interactúa con el usuario en función de la emoción detectada. Para el sistema de detección de emociones se ha utilizado un sistema que combina la aplicación de dos lexicones, teniendo como premisa que el sistema debe resolver la emoción en tiempo real para ser usable como skill. Palabras clave: Detección de emociones, Asistente virtual inteligente. Abstract: Smile is a demonstrator of an intelligent virtual assistant with emotion detection. It is a skill, specifically for Amazon Alexa, that makes use of Human Language Technologies and incorporates an emotion detector. A dialog system has been designed that interacts with the user depending on the detected emotion. For the emotion detection system we have used a system that combines the application of two lexicons, taking as a premise that the system must resolve the emotion in real time to be usable as a skill. Keywords: Emotion detection, Intelligent virtual assistant. 1 Introducción y motivación El uso de los asistentes virtuales integra- Un Asistente Virtual Inteligente (AVI) es un dos en dispositivos comerciales (Google Ho- agente basado en software que tiene habili- me o Nest, Amazon Alexa o HomePod de dades de aprendizaje permanente y cuyo ob- Apple) ha aumentado de forma considerable jetivo consiste en ayudar a los usuarios de en el uso doméstico. Son accesibles funcio- sistemas computacionales a la hora de reali- nal y económicamente, lo que permite el di- zar multitud de tareas, haciendo que la in- seño y desarrollo de aplicaciones dedicadas, teracción entre la persona y la máquina sea por ejemplo para la mejora de la autonomı́a mı́nima (Hayes, 2017). Gartner predice que de las personas mayores. En este sentido pro- el 25 % de los domicilios tendrán uno o más ponemos un sistema que detecta la emoción dispositivos con AVIs en 20211 . de cada persona, pudiendo modificar la con- Por otro lado, un Sistema Conversacional versación o acción en función de la misma. es un programa que permite al usuario simu- En este trabajo presentamos Smile, un de- lar una conversación con él mediante el len- mostrador de un asistente virtual inteligente guaje natural (voz o texto). Estos sistemas que es capaz de gestionar la conversación con se caracterizan por ser menos inteligentes que el usuario en función de la emoción detecta- los AVI ya que no siempre entienden el men- da. Para el asistente inteligente hemos hecho saje enviado por el usuario. Se basan en una uso de Alexa como núcleo del sistema. Para serie de respuestas preparadas previamente. el sistema de detección de emociones hemos hecho uso de un sistema propio que utiliza 1 https://gtnr.it/3xtqzCD un enfoque basado en lexicones, teniendo en Copyright © 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). 37 cuenta que se trata de una aplicación donde emociones dentro de un espacio circular bidi- el tiempo de respuesta es un requisito fun- mensional, con una dimensión para la valen- damental. La Figura 1 muestra un esquema cia y otra para la excitación, y el modelo de general del sistema desarrollado. Mehrabian (Mehrabian, 1996), que tiene en cuenta tres dimensiones independientes para describir el estado de ánimo de las personas (placer, excitación y dominio). 2.1 Estudio y análisis de lexicones Se denomina lexicón a un diccionario o lis- tado de términos representativos de una len- gua, región, etc. Los lexicones afectivos están formados por una lista de palabras asocia- Figura 1: Smile - Esquema general. das a una categorı́a de emoción (tristeza, alegrı́a, miedo, etc). Para el español encontra- mos actualmente escasos lexicones marcados 2 Detección de emociones con emociones: Las emociones son rasgos básicos de los hu- manos y ya han sido estudiadas por inves- 1. Linguistic Inquiry and Word Count tigadores de diversos campos como la psico- (LIWC) (Tausczik y Pennebaker, logı́a, la sociologı́a y la informática. El reco- 2010). Disponible para inglés y español, nocimiento de emociones se enmarca dentro está basado en un conjunto de dicciona- del área de la Computación Afectiva, la cual rios, entre los que se encuentra un diccio- abarca diversas disciplinas como el Análisis nario de palabras sociales, signos de pun- de Sentimientos (Yadollahi, Shahraki, y Zaia- tuación, palabras afectivas, etc. Propor- ne, 2017), que se encarga del estudio y la eva- ciona un lexicón de términos etiquetados luación del estado anı́mico de los humanos con una serie de factores, entre los que ante diferentes situaciones. se encuentran las emociones relaciona- En el campo de la psicologı́a, existen di- das con enojo y tristeza. Fue desarrolla- versas teorı́as de clasificación de emociones, do por investigadores interesados en psi- las cuales se dividen en dos vertientes princi- cologı́a social, de salud, etc., por lo que pales: modelos de emociones discretas y mo- las categorı́as del lenguaje fueron crea- delos de emociones dimensionales (Canales y das para capturar estados psicológicos y Martı́nez-Barco, 2014). sociales de las personas. Modelos de emociones discretas. Esta teorı́a defiende que existe un número limi- 2. NRC Emotion Lexicon o Emolex tado de emociones que una persona puede (Mohammad y Turney, 2013). Es experimentar. Dos de los principales mode- un lexicón en inglés formado por 10.000 los de emociones discretas son el de Ekman términos, que también está disponible (Ekman, 1999), que propuso un modelo de para español. Cada entrada incluye un clasificación de emociones basada en seis ca- término, una emoción y una medida de tegorı́as (ira, asco, miedo, alegrı́a, tristeza y la asociación entre el término y la emo- sorpresa), y el de Plutchik (Plutchik, 1980), ción. Sigue el modelo de emociones de que incluyó dos más (confianza y anticipa- Plutchik. ción). La mayorı́a de los estudios que se han realizado para la detección de emociones apli- 3. SEL (Rangel, Sidorov, y Guerra, cando ténicas de PLN siguen este tipo de mo- 2014). Es un diccionario formado por delo (Mohammad y Turney, 2013; Plaza-del 2.036 palabras en español, etiquetadas Arco et al., 2018; Plaza-del-Arco et al., 2020). con las seis emociones básicas de Ekman. Modelos de emociones dimensionales. A Se basa en WordNet-Affect 2 , un recur- diferencia del modelo anterior, las emociones so construido para el inglés y etiquetado son representadas en un espacio dimensional. por categorı́as emocionales. Los modelos más conocidos son el de Russell 2 (Russell, 1980), con una clasificación de las https://wndomains.fbk.eu/wnaffect.html 38 3 Descripción del sistema de backend, que implementa el detector de El sistema está formado por el desarrollo de emociones. un skill de Alexa para la parte frontend y un El último paso de cada iteración con el módulo Python para el backend. skill consiste en dar una respuesta al usua- Veamos a continuación un ejemplo de rio. Esta variará en función de la emoción diálogo de la aplicación desarrollada: que se haya reconocido, aportando un men- Usuario: “Alexa, abre Smile.” saje que ayude al usuario, le informe acerca Alexa: “Buenos dı́as, ¿cómo llevas el dı́a?” de la emoción que siente o haga que la skill Usuario: “Pues muy bien, porque acabo empatice con él. A continuación se muestra de aprobar el carnet de conducir.” la respuesta que se dará dependiendo de la Alexa (alegrı́a detectada): “No tengo ma- emoción detectada: nos pero !choca esos cinco!. ¿Quiéres contar- • Alegrı́a. Se refuerza esa emoción ya que me algo más?” es positiva. Usuario: “Sı́ claro. He preparado una co- mida riquı́sima.” • Tristeza. Se transmite un mensaje que Alexa (alegrı́a detectada): “Estupendo. ayuda a animar al usuario. Si pudiera probarla estarı́a encantada. ¿Me • Enojo. Se transmite un mensaje que cuéntas algo más?” ayuda a calmar al usuario. Usuario: “No, eso es todo.” Alexa: “Vale, hasta luego.” • Sorpresa. Se transmite un consejo o un mensaje que ayuda al usuario a relajarse. 3.1 FrontEnd • Neutro. Se intenta animar al usuario a El front-end de una skill de Amazon Alexa que proporcione más información para está formado por diversos componentes. El poder reconocer una emoción. Invocation Name es el nombre con el que se invocará la skill por parte del usuario; los Para cada emoción detectada se han defi- Intents son las diferentes acciones que pro- nido un conjunto amplio de respuestas que porciona la skill para que el usuario las utili- aleatoriamente interactúan con el usuario. ce. En nuestro caso, se ha creado un único in- Además, toda la interacción, ası́ como la emo- tent, el detector de emociones; Las Utteran- ción detectada en cada caso, quedan almace- ces son oraciones definidas para cada intent y nados para su posterior evaluación. que sirven para lanzarlos. En el caso de nues- tra skill, se ha definido un único utterance 3.2 Backend que será el slot del mensaje que proporciona Para el sistema de clasificación de emociones el usuario; por último, los Slots son registros se ha utilizado un enfoque basado en lexico- dentro de utterances con los que se pretende nes, haciendo uso de LIWC, Emolex y SEL. obtener información del usuario. En nuestra Se realizó una evaluación de estos tres lexi- skill, existe un único slot, que será el mensa- cones utilizando la versión en español del cor- je que proporcione el usuario para analizar y pus EmoEvent (Plaza del Arco et al., 2020) reconocer la emoción, y que será obligatorio. filtrando las cuatro emociones utilizadas en Se ha definido un conjunto amplio de po- este proyecto, obteniendo un total de 4025 sibles consultas con las que el skill inicia la tweets: 858 que expresan enojo, 1816 alegrı́a, conversación con el usuario, entre las que en- 1008 tristeza y 344 sorpresa. Cada registro contramos “¿cómo estás?”, ´´¿cómo te ha ido fue categorizado por el sistema de clasifica- el dı́a?”, “¿cómo fue el dı́a de ayer?”, etc. De ción de emociones creado, con el objetivo de esta forma se inicia una conversación con el obtener la misma emoción que indicaba el usuario, solicitándole más información si las dataset. Los resultados más interesantes se respuestas son frases muy cortas. Una vez ob- obtuvieron con la combinación de lexicones tenido el mensaje, y procesado, la skill pro- SEL y LIWC, en la que SEL serı́a el recur- porcionará una respuesta al usuario y pre- so principal ya que tiene términos para todas guntará si quiere decir algo más. En caso de las emociones y LIWC servirı́a para reforzar reconocer un estado neutro, se volverá a rea- las emociones tristeza y enojo, ya que es la lizar otra pregunta para obtener otro mensa- combinación con mejor porcentaje de acier- je para analizar. En cada interacción con el to respecto al fallo, además de tener el ma- usuario el skill hace una llamada al sistema yor número de tweets en los que se acierta 39 la emoción y de las que menos tweets etique- Hayes, A. 2017. Amazon Alexa: A Quick- tados como neutros tienen. A nivel general, start Beginner’s Guide. CreateSpace In- esta combinación obtuvo unos resultados de dependent Publishing Platform. un 66,19 % de precisión. Mehrabian, A. 1996. Pleasure-arousal- El contenido que expresa el usuario, ob- dominance: A general framework for des- tenido en formato textual gracias al módulo cribing and measuring individual differen- STT (Speech To Text) de Alexa, es procesa- ces in temperament. Current Psychology, do y se buscan coincidencias de los términos 14(4):261–292. que forman la oración procesada. Se lleva un contador para cada emoción, al que se va su- Mohammad, S. M. y P. D. Turney. 2013. mando el peso de cada término que represen- Crowdsourcing a word–emotion associa- te dicha emoción y que esté presente tanto en tion lexicon. Computational intelligence, la oración como en el lexicón. Un término será 29(3):436–465. clasificado en la emoción para la que obten- Plaza-del-Arco, F. M., M. T. Martı́n- ga una mayor puntuación. Se tomará como Valdivia, L. A. Ureña-López, y R. Mit- resultado de la clasificación un estado neutro kov. 2020. Improved emotion recognition cuando no se encuentra ninguna coincidencia in spanish social media through incorpo- entre los términos de la oración y los lexico- ration of lexical knowledge. Future Gene- nes o en el caso de que el valor del contador ration Computer Systems, 110:1000–1008. de varias emociones sea el mismo. Plaza-del Arco, F. M., M. D. Molina- 4 Conclusiones González, S. M. Jiménez-Zafra, y M. T. En este artı́culo se presenta Smile, un asisten- Martı́n-Valdivia. 2018. Lexicon adapta- te virtual inteligente con detección de emo- tion for spanish emotion mining. Procesa- ciones desarrollado como skill para Amazon miento del Lenguaje Natural, 61:117–124. Alexa. Este sistema combina dos de las áreas Plaza del Arco, F. M., C. Strapparava, L. A. de la Informática con más auge en la actuali- Urena Lopez, y M. Martin. 2020. EmoE- dad, los AVI y el PLN. Con esta aplicación se vent: A multilingual emotion corpus based pretende mantener un diálogo con el usuario on different events. En Proceedings of the de forma natural, dándole una respuesta al 12th Language Resources and Evaluation mismo en función del estado anı́mico detec- Conference. European Language Resour- tado a través de varios recursos léxicos. ces Association. Agradecimientos Plutchik, R. 1980. A general psychoevolu- Este trabajo ha sido parcialmente finan- tionary theory of emotion. En Theories of ciado por el Fondo Social Europeo, la emotion. Elsevier, páginas 3–33. Administración de la Junta de Andalucı́a Rangel, I. D., G. Sidorov, y S. S. Guerra. (DOC 01073), el Fondo Europeo de De- 2014. Creación y evaluación de un diccio- sarrollo Regional (FEDER), el Ministe- nario marcado con emociones y ponderado rio de Ciencia, Innovación y Universida- para el español. Onomazein, (29):31–46. des (Beca FPI-PRE2019-089310), el proyec- to LIVING-LANG (RTI2018-094653-B-C21) Russell, J. A. 1980. A circumplex model of del Gobierno de España y el proyecto InLife affect. Journal of personality and social FGCSIC/PSL-INTERREG/FEDER. psychology, 39(6):1161. Tausczik, Y. R. y J. W. Pennebaker. 2010. Bibliografı́a The psychological meaning of words: Liwc Canales, L. y P. Martı́nez-Barco. 2014. Emo- and computerized text analysis methods. tion detection from text: A survey. En Journal of language and social psychology, Proceedings of the workshop on natural 29(1):24–54. language processing in the 5th informa- Yadollahi, A., A. G. Shahraki, y O. R. Zaia- tion systems research working days (JI- ne. 2017. Current state of text senti- SIC), páginas 37–43. ment analysis from opinion to emotion mi- Ekman, P. 1999. Basic emotions. handbook ning. ACM Computing Surveys (CSUR), of cognition and emotion. Wiley, New 50(2):1–33. York, páginas 301–320. 40