Atribución de género al autor de un documento textual Luis BENGOCHEA MARTÍNEZ Departamento de Ciencias de la Computación Universidad de Alcalá (España) RESUMEN Llegar a saber si un texto de autor desconocido ha sido escrito por un hombre o por una mujer, en entornos como la web en donde se pueden encontrar innumerables documentos anónimos y apócrifos, puede ser de gran interés en investigación forense o para llegar a descubrir suplantaciones de personalidad en foros y blogs. En realidad se trata de un problema de clasificación documental en dos categorías: de autor masculino y de autor femenino, para el que se pueden aplicar técnicas de aprendizaje supervisado. Aunque se han publicado numerosos trabajos científicos sobre este tema, en su casi totalidad se refieren a clasificadores de documentos escritos en inglés. En el presente artículo se muestran los resultados de clasificar documentos en español, dentro de un corpus muy amplio en el que solamente se conoce el autor de menos de la mitad de ellos. Se utiliza una representación de los documentos en forma de vectores de trigramas para obtener un clasificador SVM (máquina de vectores soporte) entrenado con documentos firmados. Palabras Clave: Clasificación supervisada de documentos. Máquinas de Vectores Soporte (SVM). Inteligencia artificial. 1 INTRODUCCIÓN La tarea de asignar cada elemento a una categoría es sencilla si se conocen las reglas a aplicar sobre los atributos del elemento. En el caso de las colecciones documentales textuales, no existen tales reglas y además, el hecho de estar formados por textos escritos en lenguaje natural, hace que la selección de los atributos para representar los documentos tenga que ser cuidadosamente estudiada para cada problema de clasificación. El aprendizaje automático a partir de ejemplos, o aprendizaje automático inductivo, permite inducir reglas de clasificación, cuando éstas son desconocidas, mediante un proceso de entrenamiento a partir de la información contenida en un conjunto de documentos de los que se conoce a priori la categoría a la que pertenecen. El modelo así construido será capaz de deducir la categoría a asignar a un documento nuevo y será por tanto un clasificador automático. La atribución de la autoría de un texto a un autor de género masculino o femenino, es una tarea de investigación que también debería poder ser llevada a cabo por un clasificador automático de documentos. El interés de este tipo de investigación puede ser académico, como el estudio de la autoría de determinados tipos de textos que se producen en la web, o de tipo forense, como el desenmascaramiento de un autor que trata de suplantar otra personalidad con fines perversos [1]. El atribuir un género determinado, masculino o femenino, al autor desconocido de un texto es una forma de clasificación automática diferente a las formas clásicas, porque no se trata de medir la proximidad de los documentos basada en los términos que aparecen en ellos. Un mismo autor puede escribir sobre asuntos muy diferentes y por tanto utilizar términos distintos en cada escrito. Se trata por tanto, de encontrar una medida de proximidad que refleje la formación sociocultural, el estilo, la riqueza y tipo de vocabulario empleado (es decir, la relación entre el número de palabras diferentes y el número total de ellas), el uso de palabras y frases más o menos frecuentes en hombres y mujeres, etc. [2]. De Vel y otros colaboradores, han desarrollado un clasificador de mensajes de correo electrónico para estas dos categorías [3]. En este caso, las diferencias en el lenguaje utilizado por hombres y mujeres al escribir un texto, no residen en los términos más relevantes del escrito, que tenderán a ser los mismos o muy parecidos, sino en palabras que son consideradas como términos vacíos en los clasificadores más habituales. Por ello, las técnicas más apropiadas para este caso son las basadas en el uso de máquinas de vectores soporte, capaces de manejar un número elevado de términos. 2 LA COLECCIÓN DOCUMENTAL 2.1 Corpus Para llevar a cabo este estudio hemos utilizado las noticias en Ciencia y Tecnología publicadas por el servicio Notiweb de madri+d [4] que se realiza gracias a la colaboración de las Universidades públicas y privadas de la Comunidad de Madrid, así como de otras instituciones de investigación y asociaciones empresariales regionales. A través de este servicio, se envían diariamente por medio de correo electrónico, noticias relacionadas con la ciencia y la tecnología a más de 52.000 suscriptores, con el objetivo de fomentar la competitividad de la región mediante la transferencia de conocimiento entre los sectores que lo generan y el sector industrial y en general, para todos interesados en el desarrollo científico-técnico y su incidencia social y económica. El número de noticias en ciencia y tecnología empleadas en el presente estudio es de 37.542 y abarcan el periodo comprendido entre los años 2001 y finales de 2009. Las noticias están clasificadas en alguna de las doce categorías siguientes: Alimentación, Agricultura y Pesca Ciencias Biológicas Ciencias de la Salud Ciencias de la tierra Ciencias Físicas y Exactas Ciencias Químicas Ciencias Sociales y Humanidades Energía Industria y Tecnología Medidas y Normas Medio Ambiente Políticas Tecnológicas de I+D La primera tarea necesaria para poder procesar los documentos textuales, obtenidos originalmente en formato HTML, consistió en convertirlos a formato XML despojándolos al mismo tiempo, de todos los atributos, como dibujos, anagramas, hiperenlaces, elementos tipográficos, etc., y dejando exclusivamente los elementos: <Título>, <Resumen>, <Cuerpo>, <Fuente>, <Fecha> y <Autor>, éste último en los casos en que la noticia estuviese firmada. El número de noticias con autor es de 14.238, pero en algunos casos están firmadas por instituciones, por lo que no es posible determinar el género del escritor. La tabla I muestra la distribución de autores y noticias por género. TABLA I DOCUMENTOS CON AUTOR Género Masculino Femenino Desconocid o Totales Autore s 416 335 154 905 Noticias 7808 5693 737 14238 2.2 N-Gramas A diferencia de los clasificadores clásicos en los que la representación de un documento se hace por medio de un vector multidimensional en el que cada coordenada representa la contribución de una palabra del diccionario empleado, en la composición del documento, nosotros hemos utilizado una representación del documento mediante secuencias de los caracteres – o n-gramas - que forman el texto. En nuestro caso, con documentos escritos en español, los caracteres que pueden formar parte de un n-grama son los 113 mostrados en la tabla II, incluyendo el espacio en blanco. El número medio de caracteres contenidos en cada documento del corpus es de 540. TABLA II CONJUNTO DE 113 CARACTERES VÁLIDOS PARA FORMAR PARTE DE UN TRIGRAMA Letras Dígitos Signos ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz ÁÉÍÑÓÚáçéíñóúü 0123456789 "\!€$%&'()*+,-./:;<=>?@[]^_{}~¡©ª«º»¿ Los n-gramas constituyen la forma de representación de documentos más extendida en estudios del tipo abordado en este artículo [4], en los que no se quieren eliminar palabras vacías (“stopwords”) de documentos en los que, además, se quiere hacer que palabras similares tengan una contribución parecida en la formación de los vectores que los representan. En lugar de extraer las palabras que forman el documento, se extraen las secuencias de caracteres de longitud n que aparecen contiguos en el texto, sin tener en cuenta si son letras, espacios en blanco o signos de puntuación. Por ejemplo, la representación en trigramas de la cadena de caracteres: “Bengochea” –> _Be, Ben, eng, ngo, goc, och, che, hea, ea_, y la de este otro apellido: “Bengoechea ” –> _Be, Ben, eng, ngo, goe, oec, ech, che, hea, ea_ . Como puede verse en los dos ejemplos anteriores, los vectores que representarían a estas dos palabras estarían muy próximos cualquiera que fuese la medida utilizada, mientras que en un modelo a nivel de palabras, habrían sido consideradas diferentes. Es decir, los modelos basados en n-gramas permiten conservar la similitud entre palabras y por tanto, permiten aproximar palabras con raíces léxicas comunes sin necesidad de que haya un proceso previo de lematización y además, sin tener en cuenta el idioma en que estén escritos los textos. Otra ventaja importante es también el que sea un modelo robusto frente a los errores de escritura, como incorrecciones ortográficas o errores de deletreo – más frecuentes en el mundo anglosajón – y también cuando el texto contiene “ruido”, circunstancia que se da con relativa frecuencia cuando los documentos electrónicos han sido obtenidos a partir de los originales en papel mediante el uso de escáneres y reconocedores de caracteres OCR. Un buen ejemplo de sistema que utiliza el modelo de n-gramas es “blindLight” [5]. 2.3 Trigramas Para nuestro estudio hemos utilizado secuencias de tres caracteres (trigramas). El número total de trigramas en la colección asciende a 40.301.819 de los que 74.646 son diferentes. El número de trigramas diferentes va creciendo de año en año a medida que se incorporan nuevos documentos al corpus, como se muestra en la tabla III. TABLA III DISTRIBUCIÓN TEMPORAL DEL CORPUS Año 2001 2002 Noticias 2838 5139 Acumul. 2838 7977 Trigramas 26060 38826 2003 2004 2005 2006 2007 2008 2009 4277 4393 4458 4196 3878 4603 3760 12254 16647 21105 25301 29179 33782 37542 45253 50614 55618 60164 64711 70814 74646 De hecho hemos observado que, al igual que ocurre con el número de palabras diferentes, la relación entre trigramas distintos y el número de documentos de la colección sigue la denominada ley de Heaps [6]. Según ésta, existe una relación entre el número de trigramas diferentes, y por tanto la dimensionalidad de los vectores que representan un texto, y la longitud de éste, independiente del idioma y del asunto tratado en el mismo, y puede ser formulada como: NT = Knβ Donde NT es el número de trigramas diferentes utilizados en los documentos y n es el número de documentos que componen el corpus. K y β son parámetros a calcular empíricamente. Típicamente K toma valores ente 10 y 100 y β entre 0.4 y 0.6 [7]. En la figura 1 se muestra la función que representa el número de trigramas diferentes que se van obteniendo a medida que se procesan los nuevos documentos publicados a lo largo del tiempo, que se van incorporando al corpus. Ley de Heaps 80000 N. de trigramas diferentres 70000 60000 50000 40000 30000 20000 en las diversas comparaciones que se llevan a cabo en los últimos años [9]. A diferencia de otros métodos, SVM es eficiente trabajando con vectores de varios miles de dimensiones, lo que permite no tener que restringir el número de atributos a la hora de representar a los documentos. El uso de muchos atributos con poco poder de discriminación, que en otros métodos de clasificación necesitan ser desechados mediante algún proceso de selección previa, puede mejorar los resultados significativamente [10]. A pesar de su buen comportamiento, documentado en numerosas publicaciones y quizás debido a su complejidad, no ha llegado a reemplaza del todo a otros métodos de clasificación automática más sencillos, como Naïve Bayes, que siguen siendo muy populares [5]. SVM se basa en el concepto de minimización del riesgo estructural [11] que consiste en encontrar, en el espacio vectorial donde están representados como vectores los documentos, el hiperplano que separe los que pertenecen a dos categorías diferentes, y además lo haga con el mayor margen de separación posible. La posición en el espacio, que ocupe cualquier nuevo documento, determinará la clase a la que debe asignarse. Es por tanto un clasificador binario y para construir un clasificador multiclase es preciso calcular tantos hiperplanos como clases haya. 3.1 Espacio vectorial altamente multidimensional Independientemente de que se haya elegido uno u otro nivel en la elección de los términos, en todos los casos se van a obtener vectores con muchas dimensiones. En nuestro caso, la dimensionalidad del espacio vectorial viene dada por el número de trigramas diferentes que se usan en todos y cada uno de los documentos que forman parte de colección. De los 40.301.819 trigramas que componen la colección, 74.646 son diferentes, lo que constituye el vocabulario V de la colección. 10000 n 0 1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 253 265 277 289 301 313 325 337 349 361 373 N. de documentos (x100) Fig. 1. Número de trigramas diferentes que se van obteniendo a medida que se van incorporando nuevos documentos al corpus. 3 CONSTRUCCIÓN DEL CLASIFICADOR La clasificación de documentos, también conocida como categorización de textos consiste en asignar, de forma manual o automática, una (o varias) categorías, previamente definidas, a cada documento. Si representamos como C={c1, …., cm} al conjunto de categorías predefinidas y D={d1,….,dn} al conjunto de documentos a clasificar, la tarea de clasificación consistirá en el cálculo de la matriz de valores de asignación aij Є{T,F}, donde un valor de aij = Cierto se interpreta como la pertenencia del documento i a la categoría j y aij = Falso la no pertenencia. El método de clasificación automática conocido como “máquina de vectores soporte” o SVM [8] en sus siglas en inglés es, en general, el que mejores resultados está teniendo T = ∑ t i = 40.301.819 ; V = 74.646 i =1 Una forma de reducir la dimensionalidad consiste en la eliminación de los trigramas con un umbral de frecuencia de aparición, o número de documentos que los contienen, muy pequeño. La hipótesis de que trigramas muy infrecuentes deberían tener un poder de discriminación despreciable, es correcta cuando se trata de construir un clasificador de documentos por los temas tratados en los textos, sin embargo esta hipótesis puede no ser cierta en el caso de tratar de determinar el género del autor. Por ello se han realizado pruebas con diferentes umbrales de frecuencia para observar sus efectos en los resultados obtenidos. 3.2 Vectores de representación Una vez obtenido el vocabulario o lista de todos los trigramas válidos que aparecen en algún documento del corpus completo, convertimos el texto de cada documento en una secuencia de trigramas y a partir de ella formamos el vector de representación del documento, que debido a su alta dimensionalidad y la gran dispersión de los elementos con valores distintos de 0, los escribimos en la forma: {posición:valor} para representar cada elemento no nulo del vector, donde posición es el lugar ordinal que ocupa cada trigrama en el vocabulario y valor es la medida de la frecuencia relativa de aparición de ese trigrama en el documento Di representado por el vector: Di = {p1 : f 1 , p 2 : f 2 , .... p ni : f ni ,} La métrica que vamos a usar es TFxIDF y los vectores estarán normalizados para que todos tengan módulo 1 ( |Di|=1 ) por lo que los valores de fj vendrán dados como: TF ( p j , Di ) log( fj = ∑ j 1+ N ) DF ( p j ) ⎡ 1+ N ⎤ )⎥ ⎢TF ( p j , Di ) log( DF ( p j ) ⎦⎥ ⎣⎢ 2 donde TF(pj,Di) representa la frecuencia con que aparece el trigrama que ocupa la posición pj de la lista completa de trigramas, en el documento Di y DF(pj) es la frecuencia de aparición de ese mismo trigrama en la colección completa. Aplicando la fórmula a los documentos, obtenemos vectores como el que se muestra en la figura 2, que serán los que utilicemos a partir de este punto. 53:0.045198100295 55:0.100533074136 123:0.061977937144 306:0.08643960546 403:0.057058564382 437:0.00923356395 709:0.052450728652 710:0.059291568971 714:0.036063787666 1001:0.034545413886 1082:0.203654917813 1215:0.07501614535 1295:0.057517656844 1374:0.034233732696 1465:0.03806692755 1478:0.037219056846 1514:0.115345849034 1523:0.051498031618 1578:0.064402743383 1607:0.050698165289 1711:0.071448456612 1738:0.030594262686 1748:0.046722211348 1829:0.028764630331 2117:0.110970591728 2194:0.235439762805 2270:0.03825311271 2352:0.037882363749 2401:0.099387176623 2447:0.069185622404 2522:0.053576335161 2549:0.059630679217 documento XML el texto desnudo de la noticia (compuesto por su título, un resumen y el cuerpo propiamente dicho de la noticia), los convertimos en sus vectores de representación A partir de dichos vectores (en los que se incluye el género del autor como cabecera, con 1=autor femenino, 1=autor masculino) obtenemos los vectores soporte que definen el hiperplano de separación y por tanto el modelo de clasificación del género del autor para cualquier documento de la colección. Este proceso se llevó a cabo variando el umbral de aparición de los trigramas completos del corpus – y por tanto la dimensionalidad de los vectores de representación – con objeto de comprobar su relación con la precisión de los resultados en cada caso. Se obtuvieron modelos de clasificación con umbrales de 5,10,50 y 200 y por último un modelo en el que se considerun umbral mínimo de 50 y otro máximo de 20.000 (se ignoran tanto los trigramas raros, como los que son excesivamente frecuentes ya que aparecen en mas de ese número documentos). 4.2 Fase de pruebas Para comprobar la precision de los clasificadores así construidos, utilizamos otro grupo de 136 documentos, (78 + 56) diferentes de los anteriores y de los que también conocemos el género de sus autores. Comparando los resultados obtenidos por los clasificadores, con la categoría real de los documentos, podemos comprobar el número de aciertos en cada caso (tabla IV). TABLA IV RESULTADOS DE CLASIFICADORES POR GÉNERO DEL AUTOR Umbral 5 10 50 200 50-20000 RESULTADOS OBTENIDOS 4.1 Fase de entrenamiento Para entrenar al clasificador, seleccionamos 134 noticias con autor conocido (78 de género masculino y 56 femenino, lo que representa el 1% de los documentos cuya clasificación se conoce de antemano) y después de haber extraído de cada Aciertos 58.21% 58.96% 58.21% 58.21% 57.46% Precisión/Recall 58.73% / 94.87% 59.20% / 94.87% 59.02% / 92.31% 59.17% / 91.03% 58.68% / 91.03% Como podemos ver, la precisión de los clasificadores de género es muy baja (< 59%) si la comparamos con la que se obtiene con clasificadores, construidos exactamente con la misma técnica descrita, pero aplicados a distinguir entre categorías temáticas. En la figura V se muestran los resultados obtenidos por un clasificador para la categoría “Alimentación, Agricultura y Pesca”, con un 94% de aciertos. TABLA V RESULTADOS DE CLASIFICADORES POR TEMAS Fig. 2. Representación vectorial de un documento de la colección. 4 Trigramas 35059 27181 15118 8682 14503 Umbral 5 10 50 200 50-20000 Trigramas 35059 27181 15118 8682 14503 Aciertos 94% 94% 94% 93.50% 93.00% Precisión/Recall 89.29% /100.00% 89.29% /100.00% 90.00% / 99.00% 88.50% /100.00% 89.09% / 98.00% 4.3 Clasificación transductiva Para que un clasificador automático obtenga buenos resultados, es necesario que el modelo construido sea capaz de generalizar bien utilizando pocos datos de entrenamiento, que es la situación real más frecuente. Hasta ahora, los algoritmos de aprendizaje utilizados, inducen una función de decisión con una tasa de error acotada sobre el total de los documentos que se le han presentado en la fase de entrenamiento. Sin embargo, el objetivo no debería ser tanto conseguir la mejor función de decisión, como conseguir el menor número de errores posible en la clasificación de un conjunto de documentos de prueba. Este es el objetivo de la inferencia transductiva [12]. En cualquier situación real, se dispone de un gran número de documentos de los que se ignora a qué categoría pertenecen, y un conjunto pequeño que tienen ya asignada una categoría. El utilizar únicamente documentos de este último conjunto, tanto para la fase de aprendizaje como para realizar medidas de eficacia de los algoritmos empleados, está prescindiendo de una importante información acerca de la naturaleza de la colección: la distribución de “todos” los vectores de los documentos. Esta información, junto con algún tipo de predicción acerca de la probabilidad de que los documentos no etiquetados pertenezcan o no a una determinada categoría, pueden mejorar notablemente los resultados obtenidos por SVM, sobre todo cuando el número de elementos del conjunto de aprendizaje no es grande. El algoritmo SVM intentará ahora obtener un hiperplano que no solamente se ajuste bien a los vectores categorizados, sino que divida al conjunto total de vectores dejando en el lado de los positivos la fracción de vectores que se esperaba. Algunas variantes del algoritmo original SVM, como son TSVM (“Transductive Support Vector Machines”) o SVMC (“Support Vector Mapping Convergence”) [13], han comprobado cómo mejoran notablemente los resultados sobre el algoritmo original, a medida que se va reduciendo el número de elementos de entrenamiento. La explicación es que en un espacio vectorial multidimensional y poco denso, el hiperplano calculado por SVM tiende a ajustarse excesivamente a los pocos ejemplos positivos existentes y es incapaz, al clasificar elementos desconocidos, de descubrir nuevos positivos. La tabla VI muestra los resultados obtenidos por clasificadores transductivos a los que se han añadido 100 noticias adicionales de autor desconocido, al conjunto de aprendizaje. TABLA VI RESULTADOS DE CLASIFICADORES TRANSDUCTIVOS Umbral 5 10 50 200 50-20000 Trigramas 35059 27181 15118 8682 14503 Aciertos 58.96% 56.72% 56.72% 58.21% 60.45% Precisión/Recall 61.86%/76.92% 60.64%/73.08% 60.64%/73.08% 61.70%/74.36% 63.16%/76.92% Como vemos, los resultados solo mejoran algo en el caso de umbrales mínimo y máximo, llegando hasta un 60% de aciertos. 5 CONCLUSIONES Los resultados obtenidos demuestran que atribuir un género al autor desconocido de un documento textual sobre ciencia y tecnología escrito en español, basándose en clasificadores que utilizan métodos puramente estadísticos para representar los documentos, tiene un grado de incertidumbre muy alto. Los buenos resultados obtenidos con clasificadores SVM sobre documentos representados como vectores de trigramas, cuando las categorías se refieren a la temática tratada en el texto de los mismos, nos indujo a comprobar si se mantendría el porcentaje de aciertos cuando la categoría es el género del autor. Sin embargo, a diferencia de otros trabajos sobre corpus de documentos escritos en inglés en los que se consiguen resultados con un 80% de aciertos [14], no hemos percibido diferencias significativas en el lenguaje usado por hombres y mujeres cuando escriben textos en español que tratan sobre ciencia y tecnología. 6 REFERENCIAS [1] Tayfun Kucukyilmaz, B. Barla Cambazoglu,Cevdet Aykanat, and Fazli Can. "Chat Mining for Gender Prediction". ADVIS 2006, LNCS 4243, pp. 274–283, 2006. Springer-Verlag Berlin Heidelberg 2006. [2] Sebastiani, F. “Text categorization”. In Alessandro Zanasi (ed.), Text Mining and its Applications, WIT Press, Southampton, UK, 2005, pp. 109-129. [3] de Vel, O.; Corney, M.; Anderson, A. & Mohay, G. "Language and gender author cohort analysis of e-mail for computer forensics". Proc. Digital Forensic Research Workshop, Syracuse, NY, August 2002. [4] Fundación madri+d para el Conocimiento. Servicio “Notiweb”. http://www.madrimasd.org. [5] Gayo Avello, D. "blindLight - Una nueva técnica para procesamiento de texto no estructurado mediante vectores de n-gramas de longitud variable con aplicación a diversas tareas de tratamiento de lenguaje natural". T. Doctoral. Univ. Oviedo. Depto. de Informática. Junio 2005. [6] van Leijenhorst,D.C. and van der Weide,Th.P. "A formal derivation of Heaps' Law". Information Sciences, Volume 170, Issues 2-4 , 25 February 2005, Pages 263272. [7] Baeza-Yates, Ricardo y Ribeiro-Neto, Berthier. (1999). “Modern Information Retrieval”. ACM Press. AddisonWesley. New York. 1999. [8] Joachims, T. "Leaning to classify text using SVM Methods Theory and Algorithms". Kluwer Academic Publishers. ISBN: 0-7923-7679-X. Feb 2001. [9] Lai, Chin-Chin. (2007). "An empirical study of three machine learning methods for spam filtering". Knowledge-Based Systems, Volume 20, Issue 3, April 2007, Pages 249-254. [10] Gabrilovich, E. y Markovitch, S. "Text categorization with many redundant features: using aggressive feature selection to make SVMs competitive with C4.5". Proceedings of the twenty-first international conference on Machine learning ICML '04 (July 2004). ACM Press. [11] Vapnik,V.N. "The nature of statistical learning theory". Springer Verlag. Heidelberg, DE, 1995. [12] Joachims, T. "Estimating the Generalization Performance of a SVM Efficiently".Proceedings of ICML-00, 17th International Conference on Machine Learning. 2000. Stanford, US. Pag 431-438. [13] Yu, H.; Zhai, Ch. y Han, J. "Text classification from positive and unlabeled documents". Proceedings of the twelfth international conference on Information and knowledge management. ACM Press. November 2003. [14] Moshe Koppel, Shlomo Argamon, Anat Rachel Shimoni. "Automatically Categorizing Written Texts by Author Gender". Published in Literary and Linguistic Computing 17(4), 2002.