Procesamiento del Lenguaje Natural, Revista nº 47 septiembre de 2011 recibido 27-04-2011 aceptado 19-05-2011 Detección de la polaridad de tweets en español Detecting polarity in Spanish tweets Eugenio Martínez Cámara Miguel Á. García Cumbreras M. Teresa Martín Valdivia L. Alfonso Ureña López Departamento de Informática, Escuela Politécnica Superior de Jaén Universidad de Jaén, E-23071 – Jaén {emcamara, magc, maite, laurena}@ujaen.es Resumen: En los últimos años las redes sociales se han convertido en recursos de compartición de contenidos muy importante. Encontramos una gran cantidad de información en foros, blogs, tiendas virtuales, sitios de noticias, etc. donde la gente expresa sus opiniones. Una de las tareas comunes es la detección de la polaridad, esto es, identificar si la opinión expresada es positiva o negativa. Por otro lado, cada día más, la gente utiliza las redes sociales para expresar sus sentimientos y sensaciones sobre cualquier tema. Así, micro-bloggings como Twitter, están empezando a utilizarse cada vez con mayor intensidad en España, y es a partir de 2010 cuando empresas, políticos y gente en general se están dando cuenta del verdadero potencial de Twitter. El propósito de este trabajo es la creación de un corpus de tweets en español y su posterior aplicación para entrenar un clasificador automático capaz de detectar la polaridad de tweets. Se han realizado múltiples experimentos, aplicando diferentes algoritmos de aprendizaje automático y técnicas de procesado. Asimismo se ha filtrado la colección utilizada en base al análisis de los anteriores resultados. Palabras clave: Análisis de sentimientos, Minería de Opiniones, Redes Sociales, clasificación de la polaridad, micro-blogging. Abstract: In recent years, social media has become important for social networking and content sharing. There are lots of forums, blogs, e-commerce sites, news sites, where people write their opinions. One common task is the detection of the polarity, whether the opinion expressed is positive or negative. Furthermore, every day a lot of people are using social networks to express feelings about any subject. In 2010 businesses, politicians and people in general have begun to realize the potential of Twitter. The purpose of this work is to collect a corpus of tweets in Spanish, filtering it, and using to train a classifier that can automatically detect the polarity of Twitter messages. We have accomplished several experiments using different learning algorithms and processing techniques. The corpus used in the previous experiments has been filtered based on the analysis of the results. Keywords: Sentiment Analysis, Opinion Mining, Social Networks, detection of the polarity, micro-blogging 1 Introducción La Web ha cambiado sustancialmente desde su nacimiento a principios de la década de los 90. De hecho, estamos siendo testigos de la revolución que está sufriendo la Web en los últimos años. En la primera década del siglo XXI Internet pasó de ser un contenedor estático de información, en la que solo unos pocos producían contenidos, a ser un elemento vivo en el que cualquiera puede ser creador y ISSN 1135-5948 consumidor de información, siendo esto la seña de identidad de lo que se ha venido a llamar “Web 2.0”. Esta eliminación de las barreras entre productor y consumidor de información se pone de manifiesto en la gran cantidad de blogs que pueblan Internet, así como el continuo crecimiento de todo tipo de redes sociales: Facebook, Flickr, LinkedIn. En este contexto de la “Web 2.0”, los usuarios de Internet no solo crean contenidos a través de redes sociales, blogs o wikis, sino que también comentan, © 2011 Sociedad Española Para el Procesamiento del Lenguaje Natural Eugenio Martínez Cámara, Miguel A. García Cumbreras, M. Teresa Martín Valdvia, L. Alfonso Ureña López critican o dan su opinión sobre diferentes temas, como cine, literatura, política, coches, productos electrónicos, entre otros muchos. La idea de procesar automáticamente esta gran cantidad de comentarios ha atraído la atención de muchos investigadores en el campo de la minería de texto, con la intención de extraer opiniones sobre un producto o tema a partir de la gran cantidad de información desestructurada que hay en Internet. Esta nueva tarea de analizar o detectar la orientación de los textos aparece con distintos nombres en la bibliografía: Minería de opiniones (Opinion Mining, OM), análisis de sentimientos (Sentiment Analysis, SA), análisis de subjetividad u orientación de sentimientos. Desde el punto de vista de la investigación, la mayoría de los trabajos de OM estudian a nivel de documento, la polaridad de las opiniones vertidas en foros o sitios web como Amazon o Epinion (Pang and Lee, 2008). Hay que destacar el hecho de que las redes sociales son una inmejorable fuente de datos para OM. Concretamente, lo que actualmente se conoce como micro-blogging, cuyo mejor y más famoso ejemplo es Twitter, están siendo utilizado para estudiar la intención de voto, la opinión de consumidores y el estado de ánimo de las personas. Debido principalmente a la relativamente reciente aparición de Twitter, no hay muchos trabajos de investigación de OM que utilicen esta red social como fuente de datos, aunque desde el año 2009 el interés investigador en Twitter no ha parado de crecer. Twitter es una web basada en microblogging que fue presentada en octubre de 2006. Los usuarios publican mensajes de 140 caracteres de longitud máxima que reciben el nombre de tweets. Normalmente los tweets expresan opiniones sobre productos y servicios, o el punto de vista de los usuarios sobre religión o política. El micro-blogging se ha convertido en una herramienta verdaderamente útil para expresar opiniones, difundir noticias, y comunicarse con otras personas. Debido a esto, investigadores, políticos, empresas y otros sectores interesados en el estudio de opiniones, se han dado cuenta de que Twitter es una fuente muy valiosa para conocer la opinión de las personas. Los tweets tienen características que los hacen diferentes de las opiniones y comentarios que hay en foros y páginas web. Normalmente los comentarios u opiniones que se escriben en Internet suelen ser textos más o menos extensos en los que los usuarios intentan resumir lo que piensan sobre un determinado tema, pero los tweets suelen estar escritos en un lenguaje informal, y su extensión está limitada a 140 caracteres. Por otra parte, muchos tweets no expresan opiniones sino situaciones que les ocurren a los usuarios. Por último, los tweets tienen que ser analizados a nivel de frase, y no a nivel de documento. Aunque la mayoría de los usuarios de Twitter provienen de EE.UU., últimamente no ha parado de crecer en el resto de países del mundo, siendo España un ejemplo claro. Así pues, debido a que la explosión de popularidad de esta red social es relativamente reciente en países de habla no inglesa, los hasta ahora escasos trabajos de investigación publicados relacionados con SA y Twitter son prácticamente todos orientados al inglés. El trabajo que presentamos ha consistido en la creación de un corpus de tweets en español, utilizados posteriormente para el entrenamiento de un clasificador cuyo objetivo es la determinación de la polaridad de los mensajes en Twitter. El artículo tiene la siguiente estructura: en la sección 2 se describen algunos trabajos sobre SA y el uso de Twitter en este área. En la sección 3 se describe cómo se ha creado el corpus de tweets en español. Luego se explican los algoritmos de clasificación que se han utilizado. La sección 5 presenta la experimentación realizada, así como los resultados obtenidos. Por último, se ponen de manifiesto las conclusiones a las que se ha llegado y el trabajo futuro. 2 Trabajos relacionados Aunque la minería de opiniones es un área de investigación relativamente nueva, existen una gran cantidad de trabajos relacionados con ella, y más específicamente con la clasificación de la polaridad. Se pueden distinguir dos formas de tratar el problema. La primera se basa en técnicas de aprendizaje automático, que utilizan una colección de documentos con el fin de entrenar un clasificador (Pang y otros, 2002), y la segunda se fundamenta en el concepto de orientación semántica, que no necesita el entrenamiento de ningún algoritmo, pero sí debe tener en cuenta la orientación de las palabras (positiva o negativa) (Turney, 2002). También se han realizado trabajos en los que se intentan combinar ambas estrategias (Prabowo y Thelwall, 2009). Una buena revisión Detección de la polaridad de tweets en español bibliográfica sobre el estado del arte en OM es dada en (Pang and Lee, 2008). La mayoría de los estudios en OM se han llevado a cabo sobre textos en inglés, pero eso no quiere decir que no se hayan publicado algunos en otras lenguas. Por ejemplo, (Denecke, 2008) trabaja sobre comentarios en alemán recogidos de Amazon. Utiliza tres corpora diferentes para comparar los resultados: el corpus MPQA, opiniones en inglés de IMDb, y opiniones en alemán recogidas de Amazon. (Abbasi y otros, 2008) llevan a cabo un estudio de análisis de sentimientos de contenido inapropiado en inglés y árabe. Utilizan los comentarios de un importante foro estadounidense para el estudio en inglés, y para el árabe los textos recogidos de un grupo extremista de Oriente Medio. (Zhang y otros, 2009) aplican técnicas de SA en dos corpus de textos en chino. El primero está formado por comentarios sobre eutanasia recogidos de diferentes sitios web, mientras que el segundo está formado por opiniones sobre 6 categorías diferentes de productos, recogidas de Amazon. Siguieron una estrategia basada en aprendizaje automático, utilizando los algoritmos SVM, Naïve Bayes, y un árbol de decisión. Como se puede ver la mayor parte de la investigación en OM se ha realizado con textos publicados en blogs, foros y sitios web, caracterizándose todos por haber llevado a cabo un estudio a nivel de documento. La investigación sobre textos publicados en sitios de micro-bloging es muy escasa, aunque hay que destacar que desde 2009 este tipo de sitios, y más concretamente Twitter, está atrayendo la atención de la comunidad científica. Existen algunos trabajos que utilizan Twitter a modo de corpus. (Petrovic y otros, 2010) crean un gran corpus con 97 millones de tweets. (Pak y Paroubek, 2010) describen cómo generar de forma automática un corpus de tweets positivos, negativos y neutros. El corpus que crean lo utilizan para entrenar un clasificador de sentimientos. (Go y otros, 2009) usan técnicas de aprendizaje automático para construir un clasificador que les permita determinar la polaridad de los tweets. Para el etiquetado del corpus en tweets negativos y positivos siguen la misma estrategia que se describe en (Read, 2005). (Jansen et al., 2009) demuestran como los sitios de micro-blogging son una herramienta muy útil en marketing, e indica que los tweets pueden considerarse como Electronic Word Of Mouth (EWOM). Siguiendo esta línea de utilizar Twitter como otra herramienta más en marketing, en (Asur y Huberman, 2010) se utiliza un corpus de tweets sobre un conjunto de películas que se estrenaron a finales de 2009 y principios de 2010, para demostrar la correlación existente entre la cantidad de tweets y su polaridad sobre una determinada película, con la recaudación en taquilla que ha obtenido en las dos primeras semanas desde su estreno. (Bollen y otros, 2011) investigan la posible correlación del estado de ánimo que se manifiesta en Twitter con la variación de los mercados de valores. El estudio de la tendencia de la opinión política también ha sido un tema que ha atraído a la comunidad científica. (Tumasjan y otros, 2010) llevan a cabo un interesante estudio con más de 100.000 tweets sobre las elecciones federales al parlamento alemán que se celebraron en 2009. Intentan medir la intención de voto simplemente contando en número de menciones que tiene cada partido. El resultado es bastante sorprendente ya que el error cometido no llega al 2%. (O’Connor y otros, 2010) analizan opiniones políticas y sobre productos comerciales y comparan los resultados usando Twitter y encuestas. (Diakopoulos y Shamma, 2010) clasifican la polaridad de los tweets durante el debate presidencial en los Estados Unidos del año 2008 retransmitido por televisión y seguido por muchas personas en Twitter. Debido al hecho de la diferencia en el inicio del uso de Twitter en otros países, como es el caso de España, no existen muchos artículos que traten este problema en una lengua diferente al inglés. Esta es la principal razón de nuestro estudio. Queremos probar la potencia de Twitter para entrenar un clasificador de polaridad de opinión usando solamente tweets en español. 3 Creación del corpus de datos El análisis de la polaridad en micro-blogging es una tarea muy reciente, por lo que, incluso en inglés, el número de recursos es muy reducido. Dado que en español no existe ningún corpus de tweets, hemos tenido que crear uno para poder llevar a cabo los experimentos. El proceso de descarga de los tweets no es muy complicado ya que Twitter ofrece dos tipos de APIs para ello. Nosotros hemos utilizado la Eugenio Martínez Cámara, Miguel A. García Cumbreras, M. Teresa Martín Valdvia, L. Alfonso Ureña López conocida como API de búsqueda1, que nos permite realizar una descarga programada de tweets en base a una determinada consulta. La API proporciona una opción para seleccionar el idioma de los tweets, siendo el español el idioma elegido para este trabajo. Para un estudio supervisado de la polaridad es necesario contar con un corpus etiquetado. Según (Read, 2005), los emoticonos que los usuarios utilizan en blogs, foros, o cualquier otro tipo de medio electrónico, marcan realmente su estado de ánimo. La principal característica de Twitter es que la longitud de los mensajes está limitada a 140 caracteres, por lo que los usuarios de esta red social tienen que expresar sus opiniones, pensamientos y estados de ánimo como muy pocas palabras, siendo los emoticonos un elemento común de muchos de sus mensajes. Por esta razón, hemos considerado como positivos los tweets que contenían emoticonos positivos, mientras que como negativos los que tenían emoticonos negativos. Cuando al buscador de Twitter se le realiza la consulta “:)” devuelve tweets que contienen emoticonos positivos, y si se consulta por “:(” devuelve mensajes con emoticonos negativos, por lo que, al igual que (Go y otros, 2009) hemos utilizado estas consultas para conseguir tweets negativos y positivos. El corpus está formado por 34.634 tweets, de los cuales 17.317 son positivos y 17.317 son negativos, que fueron publicados entre el 3 y el 4 de marzo de 2011. El lenguaje utilizado en Twitter tiene algunas características propias que han sido eliminadas porque no aportan ningún valor a los experimentos. Estas características propias son: 1. Retweets: Es una forma de repetir un mensaje publicado por otro usuario. Los retweets se pueden realizar a través de la interfaz web de Twitter o escribiendo RT y el nombre del usuario cuyo tweet se pretende replicar. Los retweets realizados de la primera forma no son un problema porque el tweet no es duplicado, pero los que se han hecho siguiendo el segundo método sí, ya que se generan tweets con el mismo contenido pero que Twitter los considera como distintos. Todos aquellos tweets devueltos por la API que contienen la expresión RT @[nombre_usuario] son eliminados, para así evitar la sobrevaloración de determinados tweets. 1 http://dev.twitter.com/doc/get/search 2. Menciones: Cuando un usuario quiere referirse a otro introduce en su mensaje una mención a dicho usuario. Toda mención comienza con el símbolo @ al que le sigue el nombre de un usuario. Al no aportar ninguna información relevante, las menciones son borradas del contenido de los tweets. 3. Enlaces: Es muy normal que los tweets incluyan enlaces a páginas web. En esta experimentación no utilizamos la información de las web enlazadas, por lo que al igual que las menciones también son eliminados. 4. Hashtag: Un hashtag es el nombre de un tema en Twitter, por lo que cuando un usuario quiere referirse a un tema usa el hashtag de dicho tema. Al no ser relevante para esta experimentación, los hashtags también son eliminados del contenido de los tweets. Los usuarios de Twitter suelen utilizar un lenguaje muy informal, por lo que es necesario limpiar el texto antes de construir el modelo de clasificación. Para esta tarea se han aplicado los siguientes filtros: 1. Retornos de carro: Todos los símbolos de retorno de carro son eliminados. 2. Emoticonos opuestos: En ocasiones, Twitter considera positivos o negativos tweets en los que aparecen emoticonos con sentidos opuestos. Por ejemplo: @fragilejunkie Yo también te extraño Marian! :( decime yaa un día de la semana que viene cuando quieras que nos juntamos a la tarde! :) La API de búsqueda de Twitter devuelve este tweet como negativo, pero como se puede comprobar no puede considerarse como tal, ya que claramente tiene dos partes, una positiva y otra negativa. Todos los tweets como este los eliminamos para evitar ambigüedad en la colección. 3. Emoticonos con sentimiento no definido: La API de búsqueda de Twitter considera como emoticonos negativos: “:-P”, “:P”, “:PP”, “\(”. Los usuarios de Twitter en España no suelen utilizar estos emoticonos para expresar sentimientos negativos, por lo se decidió eliminar los tweets en los que aparecían esos emoticonos. Detección de la polaridad de tweets en español 4. Letras repetidas: Para enfatizar los mensajes los usuarios suelen repetir letras. cosaaaa hermosaaaa te quiero mucho :) Mantener estas palabras puede ser un problema para el proceso de clasificación, ya que la misma palabra con una o varias letras que se repiten varias veces se considerarían como una palabra distinta. Para evitar esto, se reduce a dos el número de ocurrencias de aquella letra que se repita más de dos veces de forma seguida. El ejemplo anterior quedaría como: cosaa hermosaa mucho :) te quiero del sistema desarrollado es que se puedan procesar los tweets en tiempo real, esto es, que el procesamiento y la obtención de los resultados no tenga una gran complejidad temporal. Los cuatro métodos para generar los vectores de palabras han sido los siguientes: Term Frequency-Inverse Document Frequency (TFIDF). Term Frequency (TF): la frecuencia relativa de un término en un documento. Term Occurrences (TO): es el número total de ocurrencias de un término. Binary Term Occurrences (BTO): cada término recibe el valor 1 si aparece en un documento, 0 en caso contrario. 5. Risa: No existe una única forma para que los usuarios expresen risa, por lo que al igual que con las letras repetidas también se ha normalizado este aspecto. En la Tabla 1 se muestra cual ha sido la transformación. Risa Conversión jajajajaja… jaja jejejejeje… jeje jijijijijiji… jiji jojojojojo… jojo jujujujuju… juju Lol jaja Juasjuasjuasjuas… juas muajajajaja buajajajaja Buaja Tabla 1. Normalización de expresiones de risa Por último, para el proceso de clasificación se eliminaron todos los emoticonos, así como todos los caracteres que no pertenecen al alfabeto español para reducir al máximo posible el ruido en los datos. La Figura 1 muestra el proceso para generar el corpus. Figura 1. Proceso de generación del corpus Los algoritmos de aprendizaje automático utilizados han sido Support Vector Machines (SVM), Regresión Logística (LR) y Naïve Bayes (NB). Para la evaluación de los experimentos realizados se han utilizado las medidas típicas precisión (P), recall (R) y accuracy (Acc): precision 4 (P) Marco de trabajo Además del uso de los dos conjuntos de datos descritos en la sección anterior, se han utilizado cuatro métodos para generar los vectores de palabras y varios algoritmos de aprendizaje automático para la detección de la polaridad de cada tweet. Un objetivo importante recall ( R ) accuracy TP TP FP TP TP FN ( Acc ) TP TN TP FP FN TN Eugenio Martínez Cámara, Miguel A. García Cumbreras, M. Teresa Martín Valdvia, L. Alfonso Ureña López donde TP son los verdaderos positivos (valores positivos acertados), FP son los falsos positivos (valores positivos fallados), TN son los verdaderos negativos (valores negativos acertados) y FN son los falsos negativos (valores negativos fallados). La precisión nos indica la bondad del sistema en la asignación de las etiquetas. El recall nos indica la cobertura de nuestro sistema. El accuracy combina ambas medidas, calculando la proporción de resultados acertados. Además, se ha realizado validación cruzada. Se trata de un método estadístico para evaluar y comparar los resultados obtenidos por varios algoritmos de aprendizaje. El conjunto de datos se divide en dos partes: una parte para entrenar el modelo y la otra parte para evaluarlo. En nuestros experimentos hemos utilizado la denominada “10-fold cross-validation”. Esta validación consiste en crear diez subconjuntos de datos y se realizan diez iteraciones. En cada iteración se toman nueve partes para entrenamiento y se evalúa con la otra parte restante. Los resultados se calculan como la media de las evaluaciones de todas las iteraciones. 5 MLA SVM LR NB WVM TFIDF TF TO BTO TFIDF TF TO BTO TFIDF TF TO BTO Precision 0,7342 0,7396 0,7356 0,7368 0,6628 0,6688 0,6514 0,6540 0,6601 0,6422 0,6270 0,6292 Recall 0,7324 0,7388 0,7321 0,7320 0,6365 0,6352 0,5916 0,5962 0,6544 0,6299 0,6072 0,6093 Accuracy 0,7324 0,7388 0,7321 0,7320 0,6365 0,6352 0,5916 0,5962 0,6544 0,6299 0,6072 0,6093 Tabla 2. Resultados base En un segundo conjunto de experimentos nuestro objetivo fue comprobar la aportación de métodos básicos de procesamiento de texto, eliminación de palabras vacías (stopping) y extracción de raíces (stemming). La lista de palabras vacías utilizada es la clásica para español, y hemos utilizado el stemmer de Porter para la extracción de raíces. En la Tabla 3 se muestran los resultados obtenidos con el algoritmo de aprendizaje automático SVM y la aplicación varios métodos para generar los vectores de palabras, stopping y stemming. Experimentos y resultados En los primeros experimentos realizados con la colección de 34.634 tweets hemos combinado los cuatro métodos utilizados para generar los vectores de palabras y los tres algoritmos de aprendizaje automático. En todos los casos se ha utilizado la validación cruzada descrita anteriormente. En la Tabla 2 se muestran estos primeros resultados base. Como se puede observar en estos experimentos base, el algoritmo de aprendizaje automático que mejores resultados ha obtenido es SVM, obteniendo LR y NB valores muy parecidos (accuracy entre 0,6 y 0,66). Con todos los algoritmos de aprendizaje automático el mejor resultado se ha obtenido con el método TF para generar los vectores de palabras. WVM TF IDF TF TO BTO Stop No Sí No Sí No Sí No Sí No Sí No Sí No Sí No Sí Stem No No Sí Sí No No Sí Sí No No Sí Sí No No Sí Sí Precision 0,7342 0,7169 0,7356 0,7188 0,7396 0,7225 0,7429 0,7261 0,7356 0,7244 0,7420 0,7274 0,7368 0,7257 0,7416 0,7289 Recall 0,7324 0,7168 0,7343 0,7186 0,7388 0,7224 0,7427 0,7260 0,7321 0,7243 0,7394 0,7273 0,7320 0,7255 0,7382 0,7289 Acc 0,7324 0,7168 0,7343 0,7186 0,7388 0,7224 0,7427 0,7260 0,7321 0,7243 0,7394 0,7273 0,7320 0,7255 0,7382 0,7289 Tabla 3. Aplicación de stopper y stemmer con SVM y los distintos métodos WVM Como se puede observar todos los resultados son comparables, con unas diferencias mínimas. En todos los casos la aplicación del stopper empeora los resultados, mientras que la aplicación del stemmer mejora ligeramente los resultados base. Este resultado es bastante Detección de la polaridad de tweets en español lógico teniendo en cuenta que en los tweets raramente se introducen palabras vacías dada la limitación del número de caracteres del tweet. Una vez analizados los mejores resultados obtenidos se hizo un estudio del valor de predicción obtenido por los tweets acertados y por los fallados por el algoritmo de aprendizaje automático SVM. Se obtuvieron conclusiones interesantes dado que un porcentaje alto de los tweets que se fallaron tenían un valor de predicción cercano a 0,5, y los tweets acertados tenían un valor casi siempre superior a 0,5. El tercer conjunto de experimentos tenía como objetivo la mejora de la colección base. Teniendo en cuenta que el clasificador automático devuelve un valor de predicción positiva y negativa entre 0 y 1 se crearon cinco subconjuntos partiendo de los tweets bien clasificados en el mejor experimento anterior, con las siguientes características: Set1: se incluyeron todos los tweets acertados. Set2: se incluyeron los tweets acertados con valor de predicción superior a 0,55. Set3: se incluyeron los tweets acertados con valor de predicción superior a 0,6. Set4: se incluyeron los tweets acertados con valor de predicción superior a 0,65. Set5: se incluyeron los tweets acertados con valor de predicción superior a 0,7. En estos subconjuntos de datos, la proporción de valores positivos y negativos se mantuvo en torno al 50% en los primeros filtros, aunque los más restrictivos desbalanceaban la colección, como se puede observar en la Tabla 4. Corpus Base Set1 Set2 Set3 Set4 Set5 Positivos 17.317 (50%) 13.293 (52%) 11.355 (53%) 8.966 (55%) 6.767 (60%) 4.653 (66%) Negativos 17.317 (50%) 12.295 (48%) 9.945 (47%) 7.317 (45%) 4.601 (40%) 2.364 (34%) Totales 34.634 25.588 21.300 16.283 11.368 7.017 Tabla 4. Resumen subcolecciones filtradas Una vez filtradas estas cuatro subcolecciones se lanzó el mismo experimento base que mejor resultado había obtenido (TF+SVM con stemmer), aplicando de nuevo validación cruzada. En la Tabla 5 se muestran los resultados obtenidos. Corpus Base Set1 Set2 Set3 Set4 Set5 Precisión 0,7429 0,8841 0,9086 0,9201 0,9156 0,9147 Recall 0,7427 0,8686 0,8902 0,8966 0,865 0,8215 Accuracy 0,7427 0,872 0,8958 0,9055 0,8891 0,8774 Tabla 5. Resultados obtenidos con el conjunto de datos filtrada Los resultados obtenidos con estas subcolecciones filtradas en todos los casos mejoran el mejor resultado base. Cabe destacar el resultado obtenido con el subconjunto 3, con una mejora de accuracy del 22%, filtrando las predicciones correctas con un valor de predicción superior a 0,6. 6 Conclusiones y trabajo futuro En este artículo presentamos los experimentos realizados sobre un corpus que hemos generado de tweets en español, considerando los emoticonos que aparecen en los tweets para etiquetarlos como positivos o negativos. Hemos realizado varios experimentos con el fin de detectar de forma automática la polaridad de estos tweets, utilizando diversos métodos para generar los vectores de palabras y tres algoritmos de aprendizaje automático. Una vez obtenidos los experimentos base hemos realizado un filtrado de la colección original teniendo en cuenta el valor de predicción de los primeros experimentos. Los resultados obtenidos muestran un muy buen rendimiento del sistema, superior al 90% de accuracy en el mejor de los casos. Como trabajo futuro quedan pendientes muchas alternativas, como la resolución del propio vocabulario utilizado en los tweets (Twitter slang), el uso de recursos externos como SentiWordNet, y la creación de colecciones de datos generales con más datos, y también colecciones de temáticas específicas. Agradecimientos Esta investigación ha sido parcialmente financiada por el Fondo Europeo de Desarrollo Regional (FEDER), proyecto TEXT-COOL 2.0 (TIN2009-13391-C04-02) del Gobierno Eugenio Martínez Cámara, Miguel A. García Cumbreras, M. Teresa Martín Valdvia, L. Alfonso Ureña López Español, por la Junta de Andalucía, proyecto GeOasis (P08-TIC-41999), por el Instituto de Estudios Giennenses, proyecto RFC/IEG2010, y por la Universidad de Jaén, proyecto UJA2009/12/14. Bibliografía Asur, Sitaram, Huberman, Bernardo A., "Predicting the Future with Social Media," wi-iat, vol. 1, pp.492-499, 2010 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology, 2010. Abbasi, A., Chen, H., & Salem, A. (2008). Sentiment analysis in multiple languages: Feature selection for opinion classification in Web forums. ACM Trans. Inf. Syst. 26 (3). Bollen, J. Mao, H., Zeng, X. Twitter mood predicts the stock market, Journal of Computational Science, Volume 2, Issue 1, March 2011, Pages 1-8. Resources and Evaluation (LREC’10), European Language Resources Association (ELRA), Valletta, Malta, pp. 19–21. Pang, B., Lee, L., & Vaithyanathan, S. (2002). Thumbs up? Sentiment classification using machine learning techniques. Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP). Association for Computational Linguistics. pp. 79–86. Pang, B., & Lee, L. (2008). Opinion mining and sentiment analysis. Foundations and Trends in Information Retrieval 2. pp. 1-135. Prabowo, R., & Thelwall, M. (2009). Sentiment analysis: A combined approach. J. Informetrics, 3(2), 143–157. Petrovic, S., Osborne, M., Lavrenko, V. (2010). The Edinburgh Twitter corpus. In: SocialMedia Workshop: Computational Linguistics in a World of Social Media, pp. 25–26 Denecke, K. (2008). Using SentiWordNet for multilingual sentiment analysis. ICDE Workshops (pp. 507–512). IEEE Computer Society. Read, J. (2005). Using emoticons to reduce dependency in machine learning techniques for sentiment classification. In: Proceedings of the ACL Student Research Workshop, pp. 43–48 Diakopoulos, N. A. and D. A. Shamma (2010). Characterizing debate performance via aggregated twitter sentiment. In CHI ’10: Proc. of the 28th International Conf. on Human Factors in Computing ystems, pages 1195–1198, New York, NY, USA. ACM. Tumasjan, A., T. O. Sprenger, P. G. Sandner, and I. M. Welpe (2010). Predicting elections with Twitter: What 140 characters reveal about political sentiment. In International AAAI Conference on Weblogs and Social Media, Washington, D.C. Go, A., R. Bhayani, and L. Huang. 2009. Twitter sentiment classification using distant supervision. Technical report, Stanford Digital Library Technologies Project Turney, P. D. (2002). Thumbs up or thumbs down?: semantic orientation applied to unsupervised classification of reviews. Proceedings of the 40th Annual Meeting on Association for Computational Linguistics (ACL). ACL. Morristown, NJ, USA. pp. 417–424 Jansen, B., M. Zhang, K. Sobel, and A. Chowdury (2009). Twitter power:tweets as electronic word of mouth. Journal of the American Society for Information Science and Technology. O’Connor, B., R. Balasubramanyan, B. R. Routledge, and N. A. Smith (2010). From Tweets to polls: Linking text sentiment to public opinion time series. In International AAAI Conference on Weblogs and Social Media, Washington, D.C. Pak, A., P. Paroubek (2010). Twitter as a corpus for sentiment analysis and opinion mining, in: Proceedings of the Seventh conference on International Language Zhang, C., Zeng, D., Li, J., Wang, F.-Y., and Zuo, W. 2009. Sentiment analysis of chinese documents: From sentence to document level. JASIST, 60(12):2474–2487.