Proceedings of the Workshop on Iberian Cross-Language Natural Language Processing Tasks (ICL 2011) Generación semiautomática de recursos de Opinion Mining para el gallego a partir del portugués y el español Semiautomatic generation of Opinion Mining resources for Galician from Portuguese and Spanish resources Paulo Malvar Fernández José Ramom Pichel Campos Departamento de Ingeniería Lingüística, Departamento de Ingeniería Lingüística, imaxin|software imaxin|software Salgueiriños de abaixo nº11 L6, 15891, Salgueiriños de abaixo nº11 L6, 15891, Santiago de Compostela Santiago de Compostela A Coruña A Coruña paulomalvar@imaxin.com jramompichel@imaxin.com Resumen: A pesar del crecimiento experimentado en los últimos años en el ámbito del Procesamiento del Lenguaje Natural (PLN), investigadores y desarrolladores que pretenden llevar a cabo desarrollos para lenguas diferentes del inglés aún se encuentran con el problema de que los recursos y aplicaciones necesarios son escasos, cuando no inexistentes. En este trabajo proponemos una metodología semiautomática para generar recursos para una aplicación de Opinion Mining para el gallego aprovechando recursos del español y utilizando el portugués como lengua-puente que, por su proximidad, asegura una alta tasa de transferencia léxica con relación al gallego. Palabras clave: Opinion Mining, Generación Semiautomática, Recursos, Español, Gallego, Portugués Abstract: In spite of the growth experienced in recent years in the field of Natural Language Processing (NLP), researchers and developers who intend to carry out developments for languages other than English still have to face the old problem that needed resources and applications are scarce, if not nonexistent. In this paper we propose a semiautomatic method to generate resources for an Opinion Mining application for Galician. For this we drew from Spanish resources and used Portuguese as a bridge-language that, due to its linguistic proximity, ensures a high lexical transfer rate with Galician. Keywords: Opinion Mining, Semiautomatic Generation, Resources, Spanish, Galician, Portuguese Es precisamente por esta investigación y 1 Introducción desarrollo previo ya realizado durante décadas que hoy en día es posible contar con numerosos El crecimiento experimentado en los últimos y diversos corpora, así como innumerables años en el ámbito del Procesamiento del herramientas. Lenguaje Natural (PLN), no sólo desde el punto Sin embargo, el problema con el que se de vista de investigación académica, sino encuentran investigadores y desarrolladores que también desde el punto de vista de desarrollo de pretenden llevar a cabo aplicaciones de PLN aplicaciones y soluciones comerciales, se apoya para lenguas diferentes del inglés es que este en el trabajo realizado durante los últimos 60 tipo de recursos y aplicaciones son escasos, años, desde que se comenzaron a desarrollar los cuando no inexistentes. Así por ejemplo, si primeros traductores automáticos en el contexto dentro del ámbito del Opinion Mining en inglés de la Guerra Fría. es posible contar con corpora anotados con 59 Proceedings of the Workshop on Iberian Cross-Language Natural Language Processing Tasks (ICL 2011) información acerca de la orientación de las así como la relación de proximidad entre opiniones, en español, portugués o gallego este gallego y español. tipo de recursos es prácticamente inexistente. Frente a esta escasez de recursos, ideamos 3 Metodología propuesta una solución para aprovechar la relación de Para el desarrollo de una aplicación de Opinion proximidad entre gallego con el español y de la Mining basada en Machine Learning para el especialmente próxima relación entre gallego y gallego necesitábamos un corpus etiquetado con portugués, para semiautomáticamente generar información acerca de la orientación de las los recursos necesarios para una aplicación de opiniones y un vocabulario controlado en el Opinion Mining basada en Machine Learning. cual también se incluyese información de este tipo acerca de los adjetivos, sustantivos, verbos 2 Recursos disponibles y adverbios en él contenidos. Demostración empírica de la abismal distancia Para el desarrollo de la aplicación análoga que existe en términos de investigación y para español contamos con: desarrollo de soluciones de Opinion Mining a) El corpus “Spanish Movie Reviews”, entre el inglés y otras lenguas, como el español compuesto de un total de 3875 críticas de cine y el portugués, es la amplia diferencia en anotadas con la puntuación que sus autores número de recursos disponibles. Así, para asignaron la película de la cual versa cada inglés existen actualmente numerosos crítica. Del total de 3875 documentos, 351 vocabularios y corpora disponibles para tienen asociada una estrella de puntuación, 923 descarga desarrollados para esta lengua1, que dos estrellas, 1253 tres estrellas, 887 cuatro han sido generados a partir de inúmeras estrellas y 461 cinco estrellas. investigaciones como (Blitzer, J. et al, 2007), b) Un vocabulario controlado, derivado (Ding, X. et al, 2008) y (Pang, B. et all, 2002). mediante la aplicación del algoritmo explicado Por el contrario, para el español sólo en (Turney, P.D., 2002) y completado por tenemos constancia de un único corpus, traducción automática de las formas contenidas “Spanish Movie Reviews”2, generado dentro de en el General Inquirer3. la investigación desarrollada en (Cruz, F. et al, Para la generación de recursos análogos para 2008), y para gallego y portugués nos resultó el gallego se aplicó el siguiente flujo trabajo: imposible localizar ningún corpus y/o 1- Traducción de español a gallego del vocabulario precompilado. corpus “Spanish Movie Reviews” y del Para hacer frente a la ausencia total de vocabulario controlado de español. Para este recursos para el gallego, en imaxin|software paso se optó por el sistema de traducción ideamos una solución para la generación rápida Opentrad, en cuyo desarrollo imaxin|software de recursos aprovechando la especialmente ha colaborado, (Loinaz, I. et at, 2006). estrecha relación entre el gallego y el portugués 2- Traducción de español a portugués de las palabras desconocidas por el par es-gl de 1 Opentrad. Para esta tarea se optó por Google Dentro del ámbito de un proyecto llamado “Web Mining, Text Mining, and Sentiment Translate4 que en nuestra opinión, subjetiva a Analysis”, Bing Liu ha puesto a disposición de la todos los efectos, tiene, para este par de comunidad un corpus de críticas de usuarios de lenguas (es-pt), mayor cobertura léxica que tiendas on-line que puede ser descargado desde Opentrad aunque a costa de una mucho menor http://www.cs.uic.edu/~liub/FBS/sentiment- corrección gramatical. analysis.html. John Blitzer también ha puesto a 3- La lista de palabras traducida a portugués disposición de la comunidad un corpus llamado obtenida en el paso anterior fue, en un tercer “Multi-Domain Sentiment Dataset” que puede ser paso, traducida al gallego utilizando Opentrad descargado desde pt-gl. http://www.cs.jhu.edu/~mdredze/datasets/sentiment/. Finalmente, mencionar también la contribución de Bo Pang y Lillian Lee, que han puesto a disposición 3 de la comunidad un corpus de críticas de cine que Dentro del ámbito de los vocabularios o puede ser descargado desde lexicones etiquetados con información sobre la http://www.cs.cornell.edu/people/pabo/movie- orientación sentimental, el más famoso y utilizado es review-data/. General Inquirer, que puede ser descargado desde 2 Este corpus puede ser descargado desde http://www.wjh.harvard.edu/~inquirer/. 4 http://www.lsi.us.es/~fermin/corpusCine.zip http://translate.google.com/#es|pt| 60 Proceedings of the Workshop on Iberian Cross-Language Natural Language Processing Tasks (ICL 2011) 4- En un cuarto paso se detectaron las para el entrenamiento de un módulo de Opinion palabras desconocidas para el par Opentrad pt- Mining. gl, las cuales se transliteraron de portugués a Para la implementación del módulo de SVM gallego utilizando un script de transliteración se utilizó la versión 2.90 de libSVM, (Fan, R.E. llamado port2gal5. El hecho de que portugués y et al, 2005), en cuya configuración estándar gallego pertenezcan, tal y como afirman sólo se modificó el tipo de kernel, pasando del (Coseriu, E., 1987) y (Cunha, C. y Cintra, L., estándar RBF kernel a un POLYNOMIAL 2002), a un mismo conjunto dialectal gallego- kernel. portugués, asegura una alta tasa transferencia Para la conversión de los textos en vectores léxica entre ambas variantes apenas de clasificación se utilizaron las siguientes modificando su forma superficial, esto es su features: ortografía, tal y como demuestra (Malvar, P. Et 1- La presencia de palabras en los textos de al, 2010). entrenamiento que estuviesen contenidas en 5- Para la depuración de errores contenidos nuestro vocabulario controlado de términos en la lista final de palabras obtenidos tras los positivos, codificados con valor 1, y negativos, sucesivos pasos explicados, se procedió a una codificados con valor -1. corrección manual de dicha lista que finalmente 2- En cuanto al resto de palabras no se utilizó para corregir el corpus generado en el contenidas en las listas de términos positivos o primer paso. negativos, se optó por la codificación con valor Mediante este flujo de trabajo finalmente se 2 para aquellas palabras del conjunto del corpus obtuvo, en primer lugar, un corpus de críticas presentes también en un determinado texto; y la de cine en gallego compuesto, al igual que en el codificación con valor 3 para aquellas palabras caso del español de 3875 documentos del conjunto del corpus no presentes en un clasificados según el ranking de estrellas determinado texto. asociadas por los usuarios responsables de 3- Por último, en los vectores de dichas críticas. En segundo lugar se obtuvo un clasificación se incluyeron dos coordenadas vocabulario controlado compuesto de un total adicionales: el total de palabras positivas y el de 5448 palabras, de las cuales 2293 fueron total de palabras negativas detectadas. clasificadas como positivas y 3155 palabras clasificadas como negativas. 5 Resultados Dado el muy reciente auge del Opinion Mining 4 Configuración del algoritmo como rama de investigación dentro del PLN, El tipo de estrategia que se adoptó para el hoy en día aún no existe ni para español ni para desarrollo de este proyecto estuvo condicionada gallego ningún gold standard con el cual por fuertes restricciones en relación a los comparar nuestro sistema de clasificación de recursos que imaxin|software, como PYME, sentimientos para determinar su rendimiento. podía invertir. Por esta razón, optamos por crear nosotros Además, como es bien sabido, las soluciones mismos un pequeño corpus de pruebas que basadas en Machine Learning ofrecen construimos extrayendo al azar textos resultados aceptables en un muy corto espacio clasificados como críticas positivas o negativas de tiempo. Por lo tanto, se optó por una por los usuarios de diversos sitios web. Los estrategia basada en Machine Learning, e, sitios web de los cuales se extrajeron los textos inspirados en los resultados obtenidos en (Pang, fueron: Google Maps6, booking.com y la tienda B. et al, 2002), se escogió Support Vector de aplicaciones App Store7 de Apple. Los Machines (SVM) como algoritmo a utilizar dominios a los que pertenecen los textos extraídos son los siguiente: 10 textos (5 5 positivos y 5 negativos) de críticas de hoteles port2gal es un simple script de Perl que fue de Santiago de Compostela y Madrid, 10 textos inicialmente desarrollado por Alberto García (de la empresa Igalia) y que posteriormente fue mejorado (5 positivos y 5 negativos) de críticas de por Pablo Gamallo (Departamento de Lengua restaurantes de Santiago de Compostela; y 10 Española de la Universidad de Santiago de textos (5 positivos y 5 negativos) de críticas de Compostela). Este script simplemente convierte la ortografía do portugués europeo a la ortografía 6 actual del gallego. port2gal está disponible bajo GPL http://maps.google.com/ 7 en http://gramatica.usc.es/~gamallo/port2gal.htm. http://itunes.apple.com/es/ 61 Proceedings of the Workshop on Iberian Cross-Language Natural Language Processing Tasks (ICL 2011) aplicaciones disponibles en la App Store de precisión del 72%), y la mayor tendencia del Apple. motor de español para clasificar los textos como Resulta evidente la disparidad entre estos negativos, como se aprecia por su cobertura del dominios y el dominio de la crítica 80% y su precisión del 75%. cinematográfica, al que pertenecen los textos de En cualquier caso, la clasificación de textos entrenamiento del clasificador. Sin embargo, en positivos y negativos no baja de una precisión imaxin|software queremos aplicar estos del 70% y la cobertura sólo en el caso de los modelos de clasificación de opiniones a textos negativos para gallego se encuentra ámbitos que no se encuentran dentro del ligeramente por debajo del 67%. dominio de la crítica cinematográfica. Por lo Sin embargo, es necesario tener en cuenta tanto, pensamos que los resultados obtenidos que los textos que han servido para el para los textos de evaluación, sin ser en modo entrenamiento de los clasificadores tanto para alguno concluyentes, podrían ser un indicador gallego como para español pertenecen al de la aplicabilidad a diversos dominios de los dominio de la crítica cinematográfica informal, modelos de clasificación aprendidos. el cual es muy diferente de los dominios Los textos escogidos estaban escritos en representados en los textos de evaluación (que español y fueron traducidos a gallego recordemos pertenecen al dominio hotelero, manualmente por los autores de este trabajo. De hostelero y tecnológico). Este es un factor que, esta manera, nos es posible realizar una a buen seguro, juega en contra de la precisión comparativa directa entre los resultados en de ambos clasificadores. Aún así, como español y gallego, pues se trata de los mismos demuestran los resultados globales, que se textos simplemente escritos en una u otra encuentran tanto para la precisión como para la lengua. cobertura ligeramente por debajo del 80%, el En la tabla 1 se presentan los resultados desempeño global de ambos motores de obtenidos por el motor de clasificación para clasificación es, en nuestra opinión, muy español. Y en la tabla 2 se presentan los satisfactorio. resultados obtenidos por el motor de Por otro lado, y en concreto para el clasificador clasificación para gallego. de gallego, existe otro factor que, en nuestra opinión, es responsable de cierta degradación Precisión Cobertura de los resultados. Este factor es la naturaleza Positivos 0.79 0.73 del gallego contenido en los textos que han Negativos 0.75 0.80 servido como corpus de entrenamiento. Así, si Global 0.77 0.77 bien para el español los textos fueron originalmente escritos en esta lengua, en el caso Tabla 1: Resultados del clasificador SVM para del gallego los textos han sido obtenidos de español manera artificial, esto es, mediante un proceso semiautomático de traducción y transliteración. Por lo tanto, podríamos afirmar que mientras para el español contamos con textos naturales, Precisión Cobertura para el gallego contamos con textos escritos en Positivos 0.72 0.87 "pseudo-lengua". De cualquier manera, y a la Negativos 0.83 0.67 luz de los resultados obtenidos, el clasificador Global 0.78 0.77 de gallego tiene un desempeño comparable al clasificador de español. Tabla 2: Resultados del clasificador SVM para gallego 6 Conclusiones En este artículo hemos mostrado una 5.1 Discusión de los resultados metodología de conversión a gallego de fuentes Como se puede apreciar en las tablas 1 y 2 los de recursos disponibles en español y portugués resultados son muy similares para gallego y necesarios para el entrenamiento de un motor español. La diferencia más significativa entre SVM de clasificación de opiniones. ambos es la mayor tendencia que tiene el motor La metodología propuesta combina la de gallego para clasificar como positivos los traducción automática de español a gallego y de textos, como sugiere su cobertura del 87% y su portugués a gallego, la expansión de 62 Proceedings of the Workshop on Iberian Cross-Language Natural Language Processing Tasks (ICL 2011) vocabularios mediante tesauros y la Procesamiento del Lenguaje Natural, vol. transliteración de palabras de portugués a 27, pp 357--360 (2006) gallego. Malvar, P., Pichel Campos, J.R., Senra, Ó., Los resultados obtenidos, que rondan el 80% Gamallo, P., García, A.: Vencendo a de cobertura y precisión, son comparables a los escassez de recursos computacionais. de herramientas similares disponibles en otras Carvalho: Tradutor Automático Estatístico lenguas. Inglês-Galego a partir do corpus paralelo Sin duda, queda demostrado que la metodología Europarl Inglês-Português. In Linguamática, propuesta para la obtención de recursos para vol 2, n. 2, pp. 31--38 (2010) gallego ha sido un éxito. En nuestra opinión, esta metodología es perfectamente extrapolable Pang, B., Lee, L., Vaithyanathan, S.: Thumbs a otras lenguas que guardan lazos especialmente up?: sentiment classification using machine estrechos con variedades lingüísticas learning techniques. In Proceedings of the desarrolladas en términos de recursos de ACL-02 conference on Empirical methods Procesamiento del Lenguaje Natural. in natural language processing, vol. 10, pp. 79--86 (2002) Bibliografía Turney, P.D.: Thumbs up or thumbs down?: Blitzer, J., Drezde, M., Pereira, F.. Biographies, semantic orientation applied to unsupervised bollywood, boom-boxes and blenders: classification of reviews. In Proceedings of Domain adaptation for sentiment the 40th Annual Meeting on Association for classification. Annual Meeting-Association Computational Linguistics, pp. 417--424 For Computational Linguistics, vol. 45 (1), (2002) pp. 440--448 (2007) Coseriu, E.: El gallego en la historia y en la actualidad. In Actas do II Congresso Internacional da Língua Galego-Portuguesa, pp. 793-800 (1987) Cunha, C., Cintra, L.: Nova Gramática do Português Comtemporâneo. Edições João Sá da Costa, Lisboa (2002) Ding, X., Liu, B., Yu, P.S.: A holistic lexicon- based approach to opinion mining. In Proceedings of the international conference on Web search and web data mining, pp. 231--240 (2008) Fan, R.E., Chen, P.H., Lin, C.J.: Working set selection using second order information for training SVM. Journal of Machine Learning Research, vol 6, pp. 1889--1918 (2005) L. Cruz, F., Troyano, J.A., Enríquez, F., Ortega, J.: Clasificación de documentos basada en la opinión: experimentos con un corpus de críticas de cine en español. In Procesamiento del Lenguaje Natural,vol. 41, pp. 73--80 (2008) Loinaz, I., Aranrtzabal, I., Forcada, M.L., Gómez Guinovart, X., Padró, Ll., Pichel Campos, J.R., Waliño, J.: OpenTrad: Traducción automática de código abierto para las lenguas del Estado español. 63