TASS 2016: Workshop on Sentiment Analysis at SEPLN, septiembre 2016, pág. 41-45 Participación de SINAI en TASS 2016∗ SINAI participation in TASS 2016 A. Montejo-Ráez M.C. Dı́az-Galiano University of Jaén University of Jaén 23071 Jaén (Spain) 23071 Jaén (Spain) amontejo@ujaen.es mcdiaz@ujaen.es Resumen: Este artı́culo describe el sistema de clasificación de la polaridad utilizado por el equipo SINAI en la tarea 1 del taller TASS 2016. Como en participaciones anteriores, nuestro sistema se basa en un método supervisado con SVM a partir de vectores de palabras. Dichos vectores se calculan utilizando la técnicas de deep- learning Word2Vec, usando modelos generados a partir de una colección de tweets expresamente generada para esta tarea y el volcado de la Wikipedia en español. Nues- tros experimentos muestran que el uso de colecciones de datos masivos de Twitter pueden ayudar a mejorar sensiblemente el rendimiento del clasificador. Palabras clave: Análisis de sentimientos, clasificación de la polaridad, deep- learning, Word2Vec Abstract: This paper introduces the polarity classification system used by the SI- NAI team for the task 1 at the TASS 2016 workshop. Our approach is based on a supervised learning algorithm over vectors resulting from a weighted vector. This vector is computed using a deep-learning algorithm called Word2Vec. The algorithm is applied so as to generate a word vector from a deep neural net trained over a spe- cific tweets collection and the Spanish Wikipedia. Our experiments show massive data from Twitter can lead to a slight improvement in classificaciones accuracy. Keywords: Sentiment analysis, polarity classification, deep learning, Word2Vec, Doc2Vec 1 Introducción de dichos vectores para obtener una única representación vectorial. Nuestros resultados En este trabajo describimos las aportacio- demuestran que el rendimiento del sistema de nes realizadas para participar en la ta- clasificación puede verse sensiblemente mejo- rea 1 del taller TASS (Sentiment Analy- rado gracias a la introducción de estos datos sis at global level), en su edición de 2016 en la generación del modelo de palabras, no (Garcı́a-Cumbreras et al., 2016). Nuestra so- ası́ en el entrenamiento del clasificador de po- lución continúa con las técnicas aplicadas laridad final. en el TASS 2014 (Montejo-Ráez, Garcı́a- Cumbreras, y Dı́az-Galiano, 2014) y 2015 La tarea del TASS en 2016 denominada (Dı́az-Galiano y Montejo-Ráez, 2015), utili- Sentiment Analysis at global level consiste en zando aprendizaje profundo para represen- el desarrollo y evaluación de sistemas que de- tar el texto y una colección de entrenamiento terminan la polaridad global de cada tweet creada con tweets que contienen emoticonos del corpus general. Los sistemas presentados que expresan emociones de felicidad o triste- deben predecir la polaridad de cada tweet uti- za. Para ello utilizamos el método Word2Vec, lizando 6 o 4 etiquetas de clase (granularidad ya que ha obtenido los mejores resultados en fina y gruesa respectivamente). años anteriores. Por lo tanto, generamos un El resto del artı́culo está organizado de la vector de pesos para cada palabra del tweet siguiente forma. El apartado 2 describe el es- utilizando Word2Vec, y realizamos la media tado del arte de los sistemas de clasificación ∗ de polaridad en español. A continuación, se Este estudio está parcialmente financiado por el proyecto TIN2015-65136-C2-1-R otorgado por el Mi- describe la colección de tweets con emotico- nisterio de Economı́a y Competitividad del Gobierno nos utilizada para entrenar el clasificador. En de España. el apartado 4 se describe el sistema desarro- ISSN 1613-0073 A. Montejo-Ráez, M. C. Díaz-Galiano llado y en el apartado 5 los experimentos rea- tado y Pla, 2014). Abordaron la tarea co- lizados, los resultados obtenidos y el análisis mo un problema de clasificación, utilizando de los mismos. Finalmente, en el último apar- SVM. Utilizaron una estrategia uno-contra- tado exponemos las conclusiones y el trabajo todos donde entrenan un sistema binario pa- futuro. ra cada polaridad. Los tweets fueron tokeni- nizados para utilizar las palabras o los lemas 2 Clasificación de la polaridad en como caracterı́sticas y el valor de cada carac- español terı́stica era su coeficiente tf-idf. Posterior- La mayor parte de los sistemas de clasifica- mente realizaron una validación cruzada para ción de polaridad están centrados en textos determinar el mejor conjunto de caracterı́sti- en inglés, y para textos en español el sistema cas y parámetros a utilizar. más completo, en cuanto a técnicas lingüı́sti- El equipo ELiRF-UPV (Hurtado, Pla, y cas aplicadas, posiblemente sea The Spanish Buscaldi, 2015) volvió a obtener los mejores SO Calculator (Brooke, Tofiloski, y Taboada, resultados en la edición de TASS 2015 con 2009), que además de resolver la polaridad de una técnica muy similar a la edición anterior los componentes clásicos (adjetivos, sustanti- (SVM, tokenización, clasificadores binarios y vos, verbos y adverbios) trabaja con modifi- coeficientes tf-idf). En este caso utilizaron un cadores como la detección de negación o los sistema de votación simple entre un mayor intensificadores. número de clasificadores con parámetros dis- Los algoritmos de aprendizaje profundo tintos. Los mejores resultados los obtuvieron (deep-learning en inglés) están dando buenos con un sistema que combinaba 192 sistemas resultados en tareas donde el estado del ar- SVM con configuraciones diferentes, utilizan- te parecı́a haberse estancado (Bengio, 2009). do un nuevo sistema SVM para realizar dicha Estas técnicas también son de aplicación en combinación. el procesamiento del lenguaje natural (Collo- bert y Weston, 2008), e incluso ya existen sis- 3 Colección de tweets con temas orientados al análisis de sentimientos, emoticonos como el de Socher et al. (Socher et al., 2011). Los algoritmos de deep-learning necesitan Los algoritmos de aprendizaje automático no grandes volúmenes de datos para su entre- son nuevos, pero sı́ están resurgiendo gracias namiento. Por ese motivo se ha creado una a una mejora de las técnicas y la disposición colección de tweets especı́fica para la detec- de grandes volúmenes de datos necesarios pa- ción de polaridad. Para crear dicha colección ra su entrenamiento efectivo. se han recuperado tweets con las siguientes En la edición de TASS en 2012 el equipo caracterı́sticas: que obtuvo mejores resultados (Saralegi Uri- zar y San Vicente Roncal, 2012) presentaron Que contengan emoticonos que expresen un sistema completo de pre-procesamiento de la polaridad del tweet. En este caso se los tweets y aplicaron un lexicón derivado del han utilizado los siguientes emoticonos: inglés para polarizar los tweets. Sus resulta- • Positivos: :) :-) :D :-D dos eran robustos en granularidad fina (65 % de accuracy) y gruesa (71 % de accuracy). • Negativos: :( :-( En la edición de TASS en 2013 el mejor Que los tweets no contengan URLs, para equipo (Fernández et al., 2013) tuvo todos evitar tweets cuyo contenido principal se sus experimentos en el top 10 de los resul- encuentra en el enlace. tados, y la combinación de ellos alcanzó la primera posición. Presentaron un sistema con Que no sean retweets, para reducir el dos variantes: una versión modificada del al- número de tweets repetidos. goritmo de ranking (RA-SR) utilizando bi- gramas, y una nueva propuesta basada en La captura de dichos tweets se realizó skipgrams. Con estas dos variantes crearon durante 22 dı́as, del 18/07/2016 hasta el lexicones sobre sentimientos, y los utilizaron 9/08/2016, recuperando unos 100.000 tweets junto con aprendizaje automático (SVM) pa- diarios aproximadamente. Tal y como se ve ra detectar la polaridad de los tweets. en la Figura 1 la recuperación fue muy ho- En 2014 el equipo con mejores resultados mogénea y se obtuvieron más de 2.000.000 en TASS se denominaba ELiRF-UPV (Hur- de tweets. 42 Participación de SINAI en TASS 2016 anterior, pero en la que se intenta predecir los términos acompañantes a partir de un término dado. Con estas topologı́as, si dis- ponemos de un volumen de textos suficiente, esta representación puede llegar a capturar Figura 1: Número de tweets recuperados cada la semántica de cada palabra. El número de 12 horas dimensiones (longitud de los vectores de ca- da palabra) puede elegirse libremente. Para Posteriormente, se realizó un filtrado de el cálculo del modelo Word2Vec hemos re- dichos tweets eliminando aquellos que con- currido al software indicado, creado por los tubieran menos de 5 palabras, teniendo propios autores del método. en cuenta que consideramos palabra todo Tal y como se ha indicado, para obtener término que sólo contenga letras (sin núme- los vectores Word2Vec representativos para ros, ni caracteres especiales). cada palabra tenemos que generar un modelo Al final quedaron 1.777.279 clasificados a partir de un volumen de texto grande. Para según el emoticono que contienen de la si- ello hemos utilizado los parámetros que me- guiente manera: jores resultados obtuvieron en nuestra par- ticipación del 2014 (Montejo-Ráez, Garcı́a- Positivos: 869.339 tweets Cumbreras, y Dı́az-Galiano, 2014). Por lo Negativos: 907.940 tweets tanto, a partir de un volcado de Wikipedia2 en Español de los artı́culos en XML, hemos Por último, se realiza la siguiente limpieza extraı́do el texto de los mismos. Obtenemos de tweets: ası́ unos 2,2 GB de texto plano que alimen- Convertir el texto a minúsculas. ta al programa word2vec con los parámetros siguientes: una ventana de 5 términos, el mo- Eliminar menciones (nombres de usuario delo skip-gram y un número de dimensiones que empiezan el caracter @). esperado de 300, logrando un modelo con más Sustituir letras acentuadas por sus ver- de 1,2 millones de palabras en su vocabulario. siones sin acentuar. Como puede verse en la Figura 2, nuestro Quitar las palabras vacı́as de contenido sistema realiza la clasificación de los tweets (stopwords). utilizando dos fases de aprendizaje, una en la que entrenamos el modelo Word2Vec ha- Normalizar las palabras para que no con- ciendo uso de un volcado de la enciclopedia tengan letras repetidas, sustituyendo las on-line Wikipedia, en su versión en español, repeticiones de letras contiguas para de- como hemos indicado anteriormente. De esta jar sólo 3 repeticiones. forma representamos cada tweet con el vector resultado de calcular la media de los vectores 4 Descripción del sistema Word2Vec de cada palabra en el tweet y su Word2Vec1 es una implementación de la ar- desviación tı́pica (por lo que cada vector de quitectura de representación de las palabras palabras por modelo es de 600 dimensiones). mediante vectores en el espacio continuo, ba- Se lleva a cabo una simple normalización pre- sada en bolsas de palabras o n-gramas con- via sobre el tweet, eliminando repetición de cebida por Tomas Mikolov et al. (Mikolov letras y poniendo todo a minúsculas. La se- et al., 2013). Su capacidad para capturar la gunda fase de entrenamiento utiliza el algo- semántica de las palabras queda comproba- ritmo SVM y se entrena con la colección de da en su aplicabilidad a problemas como la tweets con emoticonos explicada en el aparta- analogı́a entre términos o el agrupamiento de do 3. La implementación de SVM utilizada es palabras. El método consiste en proyectar las la basada en kernel lineal con entrenamiento palabras a un espacio n-dimensional, cuyos SGD (Stochastic Gradient Descent) propor- pesos se determinan a partir de una estruc- cionada por la biblioteca Sci-kit Learn3 (Pe- tura de red neuronal mediante un algoritmo dregosa et al., 2011). recurrente. El modelo se puede configurar pa- Esta solución es la utilizada en las dos va- ra que utilice una topologı́a de bolsa de pa- riantes de la tarea 1 del TASS con predicción labras (CBOW) o skip-gram, muy similar al 2 http://dumps.wikimedia.org/eswiki 1 3 https://code.google.com/p/word2vec/ http://scikit-learn.org/ 43 A. Montejo-Ráez, M. C. Díaz-Galiano de 4 clases: la que utiliza el corpus de tweets Tabla 1: Resultados obtenidos sobre el con- completo (full test corpus) y el que utiliza el junto full corpus balanceado (1k test corpus). w2v SVM Accuracy Macro-F1 W TASS 61,31 % 48,55 % W+T TASS 62,39 % 50,44 % W TASS+T 49,28 % 40,20 % W+T TASS+T 53,72 % 44,10 % nerado solamente con Wikipedia, pasando de 61,31 % de ajuste a un 62,39 %. En cambio, utilizar los tweets capturados para la fase de entrenamiento supervisado no lleva sino a una caı́da del rendimiento del sistema. Figura 2: Flujo de datos del sistema completo Esto nos lleva a plantearnos la pregunta de qué ocurrirı́a si utilizáramos sólo los tweets recopilados para generar un modelo de vecto- 5 Resultados obtenidos res de palabras. Los resultados que se obtie- Hemos experimentado con el efecto que tie- nen son un 59,05 % de ajuste y un 44,43 % de nen en el rendimiento del sistema el uso de F1. No cabe duda de que conviene explorar el una colección de datos generada a partir de uso de modelos de generación de caracterı́sti- la captura de tweets y que han sido etique- cas a partir de vectores de palabras. tados según los emoticonos que contienen en Estos resultados mejoran nuestros datos la forma comentada anteriormente. La colec- del año pasado, en los que obtuvimos un ajus- ción de más de 1,7 millones de tweets ha sido te del 61,19 % combinando vectores de pala- utilizada al completo para generar un mode- bras (Word2Vec) y vectores de documentos lo de vectores de palabras, cuya combinación (Doc2Vec). con el de Wikipedia se ha analizado. También hemos comprobado cómo el uso de dicha co- 6 Conclusiones y trabajo futuro lección de tweets afecta cuando se usa para A partir de los resultados obtenidos, encon- el entrenamiento del modelo de clasificación tramos que resulta interesante la incorpora- de la polaridad. Para ello se han selecciona- ción de texto no formal (tweets) para la ge- do 500,000 tweets aleatoriamente de esta co- neración de los modelos de palabras, lo cual lección, con sus correspondientes etiquetas P tiene su sentido en una tarea de clasifica- (positivo) o N (negativo) y se han combiando ción que, precisamente, trabaja sobre textos con la colecciónd de entrenamiento de TASS. no formales que tienen la misma red social Los resultados según las medidaas de Ac- como fuente. En cambio, el considerar que curacy y Macro F1 obtenidas se muestran los emoticonos en un tweet pueden ayudar a en la tabla 1. La primera columna nos in- un clasificador como SVM a mejorar en la dica a partir de cuáles datos se han genera- determinación de la polaridad ha resultado do los modelos de vectores de palabras, bien una hipótesis fallida. Esto puede entenderse sólo con Wikipedia (W) o como combinación echando un vistazo a algunos de los tweets de ésta con los tweets del corpus construido capturados por el sistema, donde se eviden- (W+T). La segunda columna indica cómo se cia la dificultad, incluso para una persona, ha entrenado el clasificador de polaridad a de poner en contexto el sentido del tweet y partir de los textos etiquetados vectorizados su consideración como positivo o negativo si con los modelos generados en el paso previo, no disponemos de un emoticono asociado. bien sólo usando los datos de entrenamiento Como trabajo futuro nos proponemos di- proporcionados por la organizacion (TASS) o señar una red neuronal profunda más elabo- incorporando los etiquetados a partir de emo- rada, pero que parta también de textos de ticonos (TASS+T). entrenamiento tanto formales como no for- Como podemos observar, el uso de una co- males, si bien teniendo en cuanta información lección de tweets para ampliar la capacidad lingüı́stica más avanzada como la sintáctica, de representar un modelo basado en vecto- en lugar de trabajar con simples bolsas de res de palabras mejora sensiblemente al ge- palabras. También queremos explorar el uso 44 Participación de SINAI en TASS 2016 de redes de este tipo en el proceso de clasfi- Hurtado, Lluı́s F y Ferran Pla. 2014. Elirf- cación en sı́, y no sólo en la generación de ca- upv en tass 2014: Análisis de sentimien- racterı́sticas. Una posibilidad es utilizar una tos, detección de tópicos y análisis de sen- red de tipo DBN (Deep Belief Network) (Hin- timientos de aspectos en twitter. En In ton y Salakhutdinov, 2006) en la que se añade Proc. of the TASS workshop at SEPLN una última fase donde se realiza el etiquetado 2014. de los ejemplos. Hurtado, Lluı́s-F, Ferran Pla, y Davide Bus- caldi. 2015. Elirf-upv en tass 2015: Análi- Bibliografı́a sis de sentimientos en twitter. En In Proc. Bengio, Yoshua. 2009. Learning deep archi- of TASS 2015: Workshop on Sentiment tectures for ai. Foundations and trends in Analysis at SEPLN. CEUR-WS.org, volu- Machine Learning, 2(1):1–127. men 1397, páginas 35–40. Brooke, Julian, Milan Tofiloski, y Maite Ta- Mikolov, Tomas, Kai Chen, Greg Corrado, y boada. 2009. Cross-linguistic sentiment Jeffrey Dean. 2013. Efficient estimation analysis: From english to spanish. En of word representations in vector space. Galia Angelova Kalina Bontcheva Ruslan CoRR, abs/1301.3781. Mitkov Nicolas Nicolov, y Nikolai Nikolov, editores, RANLP, páginas 50–54. RANLP Montejo-Ráez, A., M.A. Garcı́a-Cumbreras, 2009 Organising Committee / ACL. y M.C. Dı́az-Galiano. 2014. Participación de SINAI Word2Vec en TASS 2014. En Collobert, Ronan y Jason Weston. 2008. In Proc. of the TASS workshop at SEPLN A unified architecture for natural langua- 2014. ge processing: Deep neural networks with multitask learning. En Proceedings of the Pedregosa, Fabian, Gaël Varoquaux, Alexan- 25th International Conference on Machi- dre Gramfort, Vincent Michel, Bertrand ne Learning, ICML ’08, páginas 160–167, Thirion, Olivier Grisel, Mathieu Blondel, New York, NY, USA. ACM. Peter Prettenhofer, Ron Weiss, Vincent Dubourg, y others. 2011. Scikit-learn: Dı́az-Galiano, M.C. y A. Montejo-Ráez. Machine learning in python. The Journal 2015. Participación de SINAI DW2Vec of Machine Learning Research, 12:2825– en TASS 2015. En In Proc. of TASS 2830. 2015: Workshop on Sentiment Analysis at Saralegi Urizar, Xabier y Iñaki San Vicen- SEPLN. CEUR-WS.org, volumen 1397. te Roncal. 2012. Tass: Detecting senti- Fernández, Javi, Yoan Gutiérrez, José M. ments in spanish tweets. En TASS 2012 Gómez, Patricio Martı́nez-Barco, Andrés Working Notes. Montoyo, y Rafael Muñoz. 2013. Sen- Socher, Richard, Jeffrey Pennington, Eric H. timent analysis of spanish tweets using a Huang, Andrew Y. Ng, y Christopher D. ranking algorithm and skipgrams. En In Manning. 2011. Semi-supervised recursi- Proc. of the TASS workshop at SEPLN ve autoencoders for predicting sentiment 2013. distributions. En Proceedings of the Con- Garcı́a-Cumbreras, Miguel Ángel, Julio ference on Empirical Methods in Natural Villena-Román, Eugenio Martı́nez- Language Processing, EMNLP ’11, pági- Cámara, Manuel Carlos Dı́az-Galiano, nas 151–161, Stroudsburg, PA, USA. As- Ma . Teresa Martı́n-Valdivia, y L. Alfonso sociation for Computational Linguistics. Ureña-López. 2016. Overview of tass 2016. En Proceedings of TASS 2016: Workshop on Sentiment Analysis at SEPLN co-located with the 32nd SEPLN Conference (SEPLN 2016), Salamanca, Spain, September. Hinton, Geoffrey E y Ruslan R Salakhutdi- nov. 2006. Reducing the dimensionality of data with neural networks. Science, 313(5786):504–507. 45