1.- Definición Se puede definir la Clasificación Automática de Textos, también denominada Categorización de Textos o Topic Spotting, como la tarea de asignar automáticamente un conjunto de documentos a una o más categorías preexistentes a través de un conjunto predefinido de documentos precategorizados sobre los que el sistema lleva a cabo un proceso de aprendizaje supervisado. Existe otra definición posible, y es aquella en la que la asignación de documentos se produce sobre categorías generadas también de forma automática por el clasificador. Este tipo de aproximación no requiere de la intervención humana para la creación del corpus de documentos inicial, ni para la preclasificación de sus elementos ni para el establecimiento de un lenguaje documental. Sin embargo, este tipo de aproximaciones no organizan la documentación en torno a materias, aunque pueden crear las materias a partir de las agrupaciones de documentos detectadas. Denominaremos a este tipo de clasificación automática como no supervisada, o simplemente bajo la etiqueta de técnicas de agrupación de documentos. 2.- Clasificación Automática vs. Clasificación Manual Por lo que se refiere la clasificación automática, casi todos los enfoques que se enfrentan al problema de categorizar textos de forma automática tienen su núcleo en algoritmos que permiten el aprendizaje, digamos la parte “inteligente” del sistema. Echemos un vistazo al proceso normal que realiza un clasificador humano; este proceso se puede definir como: “... el acto de organizar el universo del conocimiento en algún orden sistemático. Ha sido considerada la actividad más fundamental de la mente humana. El acto de clasificar consiste en el dicotómico proceso de distinguir cosas u objetos que poseen cierta característica de aquellos que no la tienen y agrupar en una clase cosas u objetos que tienen la propiedad o característica en común.”1 Si traducimos esto a términos de análisis documental tendríamos (siguiendo los tres pasos fundamentales indicados por Blanca Gil en su manual de lenguajes documentales) que clasificar básicamente consiste en: 1) Examinar un documento para obtener una idea clara de sus contenidos. 2) Sintetizar dichos contenidos en un tema principal 3) Contrastar este tema principal o materia con un lenguaje clasificatorio con el objeto de determinar qué categoría se aproxima más a él y representar el documento mediante la notación propia de dicho lenguaje. 1 M.L. CHAN; Cataloging and classi_cation: an introduction. New York: McGraw-Hill, 1981, p209, citado en. GIL URIDICIAIN, Blanca. Manual de Lenguajes Documentales. Madird, Noesis, 1996. Página 38. Con esto se posibilitaría además que el almacenamiento ordenado y la recuperación de información fueran posibles. Podemos representarlo con un esquema: SISTEMA DE CLASIFICACIÓN DOCUMENTO Examen del documento Identificación de contenidos Obtención de la materia por síntesis Obtención de la categoría por comparación de materias REPRESENTACIÓN En el esquema anterior hemos descompuesto la tarea de clasificar en varias tareas más pequeñas con el objeto de permitir la comparación con la forma de operar de un clasificador automático. Varias de estas tareas no pueden ser afrontadas de forma natural por un clasificador artificial, sino que deben ser llevadas a cabo a partir de otros caminos que en principio deberían producir resultados similares. Analicemos paso por paso el recorrido que un clasificador automático llevaría a cabo para clasificar un documento cualquiera conforme a una clasificación preestablecida. El primero de los problemas importantes es el que media entre el examen del documento y la identificación de los contenidos. Un sistema de clasificación automática afronta la tarea de modo muy similar a como lo haría un indizador automático. De hecho cualquier sistema de clasificación automática debe utilizar los resultados del proceso de representación de documentos ya descrito. Durante esta fase se representa el documento mediante la elección de una parte de los términos de que está compuesto y su ponderación para intentar expresar en lo posible los contenidos del documento. Parece obvio que el proceso no tiene nada que ver con el que realiza un ser humano, ya que la lectura es secuencial y la ponderación de la importancia de las palabras es estadística. Dejando a un lado consideraciones de eficacia vamos a suponer que el sistema lo lleva a cabo con cierta corrección. En este momento el sistema tendría una representación de los documentos más o menos acertada que reflejaría sus contenidos. El sistema no comprende lo que estos contenidos significan pero los representa de una forma que simula este entendimiento. Los términos de indización ya son utilizables para responder a necesidades informativas. El siguiente salto consiste en conectar esta representación que lleva implícita los contenidos del documento con una materia que los sintetice. Dado que el sistema no ha llegado a comprender los contenidos del documento parece lógico que no pueda llevar a cabo la complicada labor de pasar del análisis a la síntesis tal y como lo haría un ser humano. De hecho el clasificador nunca dará este paso, no puede averiguar qué materia sintetizaría mejor el documento en conjunto. Simplemente carece del utillaje necesario para hacerlo, a no ser que encuentre en la suma de los términos de indización una representación de dicha materia, lo que en cualquier caso nosotros no hacemos al clasificar algo. Incluso en este último caso un clasificador tampoco podría decidir cuál es la materia en concreto, ya que desconoce las materias y su significado. El último escollo de importancia es el que conecta la materia de un documento con una categoría de la clasificación. Para un ser humano esta no es una tarea especialmente difícil, ya que las clasificaciones, sean jerárquicas, mixtas o facetadas, se orientan precisamente a facilitar la localización de materias determinadas. Podríamos describir este proceso como un periplo de categoría a subcategoría en el caso más frecuente de las clasificaciones jerárquicas. Un agente humano comprobaría la pertenencia de la materia sobre la que versa el documento a cada una de las clases principales de la clasificación hasta encontrar la correcta y luego iría descendiendo por sus subclases hasta encontrar la que mejor se adaptara a la materia del documento. En resumen, compara la materia del documento con la materia subyacente en una categoría hasta encontrar una correspondencia. Un clasificador artificial no podría llevar a cabo esta tarea de forma directa, ya que de nuevo desconoce las materias y su significado. Como podemos observar el trabajo de un clasificador humano no puede ser llevado a cabo directamente por un clasificador automático. La parte inteligente de un clasificador automático no intenta emular el comportamiento de un ser humano, sino aprovecharse de él para llegar a las mismas conclusiones mediante caminos diferentes. La forma en que se hace esto es mediante la utilización de conjuntos de documentos de entrenamiento. Estos documentos de entrenamiento han sido preclasificados por expertos, y el sistema los representa en sus propios términos mediante técnicas estadísticas de indización para poder utilizarlos. 2.- Perspectiva general del funcionamiento de un sistema de clasificación automática. La forma en que el sistema aprovecha las decisiones previas de los clasificadores humanos difiere de clasificador a clasificador, aunque todos llevan a cabo un proceso general inductivo que establece una serie de formas de actuar que repetidas sobre documentos nuevos pueden llevarles a clasificar con acierto un documento. Dicho de otra forma, existe una fase previa a la clasificación durante la cuál el clasificador lleva a cabo un proceso de aprendizaje del que se infieren una serie de condiciones de pertenencia que un documento cualquiera debería satisfacer para poder ser considerado como clasificable bajo una categoría determinada. Clasificar se reduce entonces a evaluar las condiciones de pertenencia para un documento y una clase en concreto, emitiendo una decisión afirmativa o negativa. El clasificador permanece ajeno al significado de los documentos o al significado de las clases durante todo el proceso, pero si tomamos por buena la premisa de que la representación de un documento a partir de la selección y ponderación de las palabras que lo componen puede llegar a contener de forma implícita los temas acerca de los que trata dicho documento, es posible que el sistema sea capaz de establecer la cercanía temática de dichos documentos. A través de comparaciones entre ellos podrá establecer la pertenencia de un documento determinado a una clase determinada, ya que el clasificador ha sido entrenado para apreciar determinadas características y asociarlas con una categoría. Representamos en el siguiente esquema las fases de aprendizaje y clasificación para un clasificador automático, donde las condiciones de pertenencia se refieren a las condiciones de pertenencia a una clase determinada, y la decisión de la clasificación generalmente será positiva o negativa. Aprendizaje Clasificación Documentos + Representaciones + Conocimiento previo Proceso General Inductivo Condiciones de pertenencia a clases Documento + Representación Evaluación de condiciones Decisión de clasificación Como se podrá observar el proceso en su conjunto depende de la evaluación de unas condiciones de pertenencia generadas durante el aprendizaje. Esto puede dar una idea clara de la importancia que un algoritmo de aprendizaje puede llegar a tener en un sistema de clasificación automática. 2.1.- Entrenamiento La mayor parte de los clasificadores llevan a cabo algún tipo de entrenamiento previo antes de que el clasificador esté listo para enfrentarse a tareas reales de categorización. Esto no es estrictamente necesario, ya que se puede utilizar un proceso de aprendizaje sencillo y clasificar documentos justo después. Sin embargo suele ser conveniente llevar a cabo un entrenamiento completo. Se pueden distinguir tres fases principales en el entrenamiento, el aprendizaje, la parametrización y la evaluación, que describiremos a continuación, aunque antes será necesario conocer la base sobre la que se lleva a cabo dicho entrenamiento. Para llevar a cabo la fase de entrenamiento es necesario disponer de conocimiento previo de expertos en forma de decisiones de categorización asignadas a cada uno de los documentos. Esto se materializa en un conjunto de documentos preclasificados y marcados para que el sistema pueda leer la clase de pertenencia de cada uno de los documentos. Este corpus de documentos preclasificado se denomina por lo general colección de pruebas. Para propósitos de entrenamiento esta colección se divide en varios conjuntos de documentos, todos compuestos de documentos preclasificados, que se denominan: Conjunto de Aprendizaje, Conjunto de Validación y Conjunto de Evaluación. El aprendizaje, que mediante un proceso general de inducción es capaz de proporcionar modelos en forma de condiciones de pertenencia, tiene como objetivo posibilitar una fase posterior de clasificación. En realidad existen clasificadores que son capaces de efectuar decisiones correctas sobre documentos nuevos en base a conocimiento previo desde hace al menos 20 años. El problema es que a pesar de que las decisiones de clasificación se tomaban de forma automática, la codificación de este conocimiento en forma de condiciones de inclusión era completamente manual, lo que requería literalmente cientos de horas de trabajo. De esta forma, tenemos que el verdadero objetivo de la aplicación del aprendizaje automático es generar de forma automática las condiciones de pertenencia a las clases, mientras que las decisiones de clasificación son mucho más fáciles de tomar y se basan en la aplicación de funciones de relevancia (medidas de similitud) ya conocidas en Recuperación de Información. Para generar de forma automática las condiciones de pertenencia a clases es necesario llevar a cabo este proceso de aprendizaje, durante el cual el algoritmo de aprendizaje analiza los documentos preclasificados y las decisiones de los clasificadores humanos para establecer modelos. En realidad existen dos formas bien distintas de llevar a cabo esto, lo que da lugar a dos tipos básicos de clasificadores, los clasificadores lineales y los clasificadores basados en ejemplos. Explicaremos esto más adelante. A estas alturas el clasificador funcionará, aunque probablemente lo haga de forma deficiente. Con el objeto de mejorar estas deficiencias comienza un proceso heurístico de parametrización, que básicamente consiste en evaluar el comportamiento de un clasificador ya “enseñado” sobre un conjunto de documentos distintos (que por lo tanto no intervinieron durante la fase de aprendizaje) que se denomina conjunto de validación. El hecho de que todos los documentos estén clasificados de antemano permite comprobar el nivel de correspondencia entre las decisiones del clasificador y las decisiones óptimas (suponiendo que los agentes humanos las hubieran tomado, lo que no ocurre siempre). Después se procede al ajuste de los parámetros del clasificador, como por ejemplo variaciones sobre el modelo de representación, el umbral a partir de cuál se considera que un documento forma parte de una categoría...etc, y se vuelve a probar una y otra vez hasta que todas las decisiones sean correctas. Una vez se han llevado a cabo las fases de parametrización y aprendizaje se mide de nuevo la efectividad del clasificador. Para esto se suelen utilizar medidas de evaluación estándar como la precisión y la exhaustividad sobre un conjunto similar a los anteriores cuyos documentos sin embargo no han participado hasta ahora en el proceso, y que se suele denominar conjunto de evaluación. Esto da una medida bastante buena de la efectividad real del clasificador, y si está por debajo de la esperada el proceso de entrenamiento se puede llevar a cabo de nuevo con diferentes particiones de la colección de pruebas, o diferentes parámetros hasta obtener los resultados apetecidos. 2.2.- Clasificación La clasificación de documentos nuevos consiste en la evaluación de las condiciones establecidas para cada categoría con respecto de un documento en concreto. Si un documento nuevo cumple con las condiciones de pertenencia que hemos deducido durante el aprendizaje, se considerará que debe asignarse a la misma. De esta forma el proceso de clasificación se lleva a cabo por lo general de forma muy rápida, recayendo la mayor parte del peso sobre el proceso de aprendizaje. Dependiendo del sistema de clasificación automática de documentos elegido estas decisiones se tomarán conforme al cumplimiento de reglas lógicas utilizando parámetros probabilísticos o comparaciones entre vectores. Podemos ilustrar mejor el funcionamiento de un sistema de clasificación automática de documentos analizando algoritmos concretos. Estableceremos una tipología básica de clasificadores automáticos a continuación. 3.- Tipos de clasificadores automáticos Podemos clasificar los distintos sistemas es en torno a tres conceptos, grado de detalle de las operaciones de clasificación, área de pertenencia de los documentos y producto final del sistema de clasificación. Básicamente estos tres factores hacen referencia a la finura con que podemos determinar una decisión de clasificación determinada, la capacidad de llevar a cabo múltiples decisiones no excluyentes sobre un mismo documento y la forma en que dichas decisiones se le presentará al usuario final. 3.1 Clasificadores binarios y clasificadores real-valuados La mayor parte de los modelos de clasificación existentes deciden sobre la pertenencia de un documento a una categoría eligiendo entre dos valores: verdadero (el documento pertenece a la categoría) y falso (el documento no pertenece a la categoría). Este tipo de clasificación se conoce como binaria. Por otra parte existe también la posibilidad de que la decisión del clasificador incluya una noción del grado de pertenencia de un documento a una clase. De esta forma un documento puede pertenecer a una clase en un grado que va de 0 a 1, siendo 0 el grado de exclusión máximo (el documento no trata en absoluto de la materia identificada para esta clase) y 1 el grado de pertenencia máximo (tratando el documento netamente al tema de la clase sobre la que le evaluamos). En este caso estaríamos hablando de un clasificador real-valuado (por los número reales en que se basan las valoraciones que hacemos de los documentos con respecto de las clases). Los clasificadores basados en reglas DNF, Naive Bayes, Redes Neuronales, Clasificadores Lineales basados en el Algoritmo de Rocchio, Árboles de Decisiones y Support Vector Machines entre otros producen funciones de clasificación binarias. Son bastantes menos los algoritmos que se rigen por una decisión gradual de la pertenencia a clases de los documentos, de manera que sólo K-vecinos, LLSF, WORD y algunas versiones bastante recientes de SVM (Support Vector Machines) son capaces de clasificar en torno a estos parámetros. 3.2 Ranking de categorías o asignación directa de categorías Dado un documento cualquiera el objetivo de un clasificador es asignarle una o varias categorías a las que se supone que el documento pertenece, lo que se refleja en dos productos distintos, un ranking de categorías, o una asignación directa de categorías. El primero de estos resultados es más exactamente un listado de categorías candidatas, a cada una de las cuales el clasificador asigna un valor de confianza. Es mucho más fácil crear rankings con un tipo de clasificador que genere decisiones basadas en números reales. Este tipo de estimaciones es muy deseable cuando el clasificador mantiene una relación de interactividad con el usuario, y por lo tanto son de la mayor utilidad en los casos en los que el proceso de clasificación no es realmente automático, sino asistido, o semiautomático. Esto supone que la decisión final de clasificar un documento bajo una categoría cae directamente en manos de un usuario. Además, un ranking puede proporcionar la oportunidad de que un usuario consulte categorías relacionadas, escoja entre la que le parezca más adecuada, o de que una segunda aplicación haga uso de los matices expresados en dicho ranking. La asignación automática de categorías se utiliza en sistemas completamente automáticos que no requieren de la intervención del usuario, al menos para la toma de decisiones de clasificación. Este tipo de sistemas pueden también utilizar un ranking de categorías, aunque lo hacen como un paso intermedio para la obtención de la categoría final, eligiendo la categoría más votada del ranking, la que tiene asignado un peso más alto...etc. 3.3 Clasificadores de Categorización Múltiple y clasificadores de Categorización Simple Existe la posibilidad de asignar una o varias categorías a un mismo documento, siendo la segunda posibilidad la más flexible. Para el primero de los casos, se asume que dado un documento sólo se le puede asignar una categoría de entre las n categorías existentes. Básicamente esta tarea se puede llevar a cabo mediante dos tipos de clasificadores también mencionados antes, los clasificadores binarios y los basados en decisiones graduales. Para el caso de los clasificadores binarios esto se produciría cuando un mismo documento cumpliera las condiciones de pertenencia a varias clases de forma simultánea. Para el caso de los clasificadores graduales esto ocurriría si seleccionamos las categorías para las que el documento muestra un mayor grado de pertenencia. 4.- Algoritmos de clasificación automática En realidad muchos de los tipos de clasificadores mostrados antes se pueden obtener configurando de formas distintas un mismo algoritmo de clasificación automática. Un algoritmo que genere valores de 0 a 1 para tomar decisiones de clasificación se puede convertir fácilmente en un clasificador binario decidiendo que las asociaciones detectadas entre categorías y documentos se pueden dividir en 2, las que superen el umbral de 0,5 (u otro cualquiera) y las que no lo superen. Es bastante más difícil hacerlo a la inversa, por otra parte. Un clasificador que genere decisiones graduales de pertenencia de un documento a una clase seguramente puede presentar los resultados para cada clase de forma gradual y ordenada (en un ranking) a un usuario para que tome la decisión final. Pero seguramente también puede prescindir de este paso y ofrecer sólo la categoría más votada del ranking, asignando de forma directa el documento a la misma. Por último, un clasificador que puede decidir el grado de pertenencia de un documento a varias clases puede así mismo escoger sólo una como resultado, ignorando las clases que estima menos adecuadas. En general existen dos ramas de algoritmos de clasificación automática, que pueden ser configurados de formas diversas, como ya hemos visto. Estas ramas son las de los algoritmos lineales y las de los algoritmos basados en ejemplos. 4.1.- Algoritmos lineales Para un algoritmo de clasificación lineal, existe un periodo de aprendizaje bien diferenciado, durante el cuál se examinan las decisiones de los expertos con respecto a la pertenencia de varios documentos a diferentes clases. Durante este proceso se establecen perfiles que codifican las condiciones que un documento nuevo debería cumplir para pertenecer a una clase determinada. De esta forma se genera una especie de clasificador propio para cada categoría, que incluye las nociones que se estima son relevantes para que un documento sea incluido en la clase. Un ejemplo clásico de algoritmo de clasificación lineal es el algoritmo de Rocchio (Ver tema 5). Este algoritmo sirve para reformular consultas en torno al conocimiento de un experto acerca de la relevancia de los documentos recuperados durante una búsqueda. Modificaba la consulta original introduciendo parámetros que le permitían hacer una nueva consulta más cercana a los documentos relevantes, al tiempo que dicha consulta se alejaba de los documentos que se interpretaban como irrelevantes. La aplicación del algoritmo de Rocchio a la clasificación automática se basa en el mismo principio. Los expertos actúan como usuarios que emiten juicios acerca de la relevancia de determinados documentos con respecto de ciertas consultas (que en este caso equivalen a categorías de un sistema de clasificación). Para cada categoría se interpretan que los documentos preclasificados por expertos bajo la misma son documentos relevantes. Al mismo tiempo, los documentos clasificados bajo otras categorías se interpretan como no relevantes. Después se crea un documento tipo que reúne las características apreciadas en los documentos relevantes, al mismo tiempo que excluye las características de los documentos relevantes. De esta forma obtenemos un documento tipo (mezcla de los atributos léxicos de muchos otros documentos preclasificados) que sirve como regla de pertenencia a una clase (un perfil). De esta forma clasificar un documento nuevo se reduce a compararlo con todos los perfiles disponibles (uno por categoría), y a decidir el perfil con el que guarda mayor grado de similitud (lo que se hace utilizando una función de relevancia). Por ejemplo: Disponemos de un sistema de clasificación con varias categorías, c1, c2, c3, etc. Disponemos de los juicios de clasificadores humanos acerca de la categoría a la que pertenecen múltiples documentos de la colección, (pongamos unos 10 por categoría). Podemos crear un perfil para C1 a partir de los 10 documentos que sabemos están clasificados bajo dicha materia. Al mismo tiempo sabemos que los otros documentos clasificados bajo el resto de las materias no corresponden con la misma, y los introducimos en el perfil como los “documentos a evitar”. Llamemos a este perfil P1. Para clasificar un documento dx lo comparamos con P1, P2, P3, P4…etc. Decidimos clasificar dx en la categoría con cuyo perfil guarda más parecido. 4.2 Algoritmos basados en ejemplos Estos algoritmos tienen una fase de aprendizaje menos distiguible que en el caso anterior. Se dice de este tipo de algoritmos que son perezosos, porque no evalúan los documentos clasificados por los expertos hasta un momento antes de emitir su decisión de clasificación. No generan un perfil para cada categoría del sistema de clasificación, ni crean por tanto condiciones de pertenencia para cada categoría. Tienen un núcleo de decisión único que funciona cada vez que se requiere de la clasificación de un documento nuevo, y que relaciona dicho documento con los ejemplos preclasificados y a su vez con las categorías a las que pertenecen los mismos. Un ejemplo clásico es el algoritmo de k-vecinos. Este algoritmo funciona en cuatro fases: - - 1) Se compara el nuevo documento con cada uno de los documentos preclasificados. Como resultado de esta comparación se elabora un ranking en el que los documentos preclasificados más similares al documento que queremos clasificar aparecen más arriba. 2) Se seleccionan los k documentos preclasificados más similares al documento a clasificar. K es un valor establecido de forma aleatoria, pero que generalmente va de 2 a 10. 3) Se considera la similitud de cada documento preclasificado con respecto del nuevo documento como un voto a favor de la categoría a la que pertenece el documento preclasificado. 4) Se selecciona la categoría más votada y se clasifica el nuevo documento bajo la misma. En realidad podemos considerar los valores de la decisión de clasificación sumándolos, en lugar de considerarlos como un voto, lo que mejora los resultados, aunque sólo es posible si el sistema es capaz de crear estimaciones graduales de la similitud de un documento con respecto de otro. Por ejemplo, si hemos utilizado una representación de los documentos binaria (útil para los modelos clásicos de teoría de conjuntos o probabilístico) no podremos aprovecharnos de estas características, aunque el sistema seguirá funcionando bastante bien.