Indexación automática de documentos

  Este es un proyecto universitario (correspondiente a la asignatura de Inteligencia Artificial) que trataba de hacer un estudio preliminar sobre sistemas de indexación y recuperación de documentos. El objetivo era sentar las bases sobre cómo debía ser un sistema inteligente que fuese capaz de clasificar el contenido de los libros de una bilbioteca y de responder a consultas del tipo: "artículos sobre informática aplicada a los cuerpos de infantería del ejército" (es un ejemplo).

Este trabajo me ha venido a la memoría, además de por su innegable calidad, un día que estaba buscando información por los buscadores de Internet: Yahoo, Webcrawler, Lycos, AltaVista, etc. a la luz de aquel trabajo los buscadores de Internet quedan muy mal parados.
En esta página esbozo las pautas generales del trabajo y me ofrezco para discutir sobre el tema con quien haga falta.


Participaron en el proyecto:

  • José Luis Luengo
  • Javi Tobal (yo mismo)
  • Juan Javier Zabala
  • Dirigió el proyecto:

  • Lourdes Arenas Alegría, autora del libro Lógica formal para informáticos
  • Contenido:

  • Proceso general de indexación
  • ¿cómo evaluar el resultado de una búsqueda?
  • Comentarios varios
  • Links y referencias interesantes
  • Proceso general de indexación

    Objetivo: un usuario se acerca a un terminal del sistema, teclea su consulta (aves migratorias en la península ibérica: influencia en el cultivo de los cereales) y el ordenador escupe una lista de referencias bilbiográficas (título, autor, localización, páginas y capítulos relacionados) con todos y cada uno (ni uno más, ni uno menos) de los textos disponibles que son relevantes para la consulta.


    ¿qué hay detrás de esta visión utópica de la indexación?

  • El sistema lee cualquier nuevo texto que se añade al fondo
    En una bilbioteca este proceso supone escanear y pasar un OCR al documento; en un buscador de Internet se realizan procesos de búsqueda de nuevas páginas mediante gusanos y demás software que "pulula" por la red.

  • Se indexa el documento
    No se pueden guardar los textos íntegros: no hay espacio suficiente y a la hora de realizar las búsquedas éstas serían eternas. ¿la solución? Al introducir un nuevo texto en el sistema se procesa éste y se extrae de él el vector documento. El vector documento contiene una lista de pares (término de indexación, peso) asociados al mismo. Los términos de indexación son palabras simples, frases o entradas de un tesauro que representan conceptos presentes en el documento. El peso es la relevancia con la que aparece el término de indexación en el texto.

  • El usuarios del sistema realiza una consulta: el query
    La consulta puede tener varias formas: un término simple ("sexo"), un elemento de un vocabulario restringido ("arquitectura española"), una frase en lenguaje natural ("¿qué coño sabes (al ordenata) de la filosofía andalusí en Córdoba?"), una gramática basada en estructuras lógicas ("filosofía Y ( Córdoba O Al-Andalus)").

  • El sistema procesa el query y devuelve una lista de documentos
    Una visión general de este proceso sería generar un vector query que representa la consulta realizada y este vector se compara con todos los vectores documentos almacenados en el sistema. El sistema va suministrando documentos al usuario mientras éste lo solicita ordenados los documentos en función de su proximidad al query realizado.
    En el mejor de los casos el sistema valora cada documento devuelto en función del nivel de ajuste a la petición realizada por el usuario.

  • El usuarios valora los resultados obtenidos
    Este feedback permite ajustar futuras consultas similares. Por desgracia pocos sistemas están preparados para este último proceso.
  • ¿cómo evaluar el resultado de una búsqueda?

    Tras la recuperación de varios documentos hay que valorar la "bondad" de la búsqueda. ¿cómo de buena ha sido la búsqueda? Se trata de conseguir un valor que represente la capacidad del sistema para obtener buenos resultados, resultados que satisfacen al usuario que ha realizado la consulta. El ideal es un valor que se pueda calcular fácilmente, que sea representativo respecto de la eficacia del sistema y que informe de las desviaciones del sistema y sus posibles correcciones.

    Sin entrar en detalles hay que mencionar tres parámetros que son fáciles de calcular y que aportan bastante información a los administradores del sistema:

    RECALL
    Proporción de documentos relevantes encontrados: relación entre el total de documentos del sistema que podrían ser relevantes respecto de la consulta realizada y el número de estos documentos que el sistema ha encontrado.
    Este parámetro es muy difícil de medir: ¡el usuario no sabe cuántos documentos que le podrían haber resultado útiles se han quedado en el tintero!
    Se consigue maximizar este parámetro utilizando en el query términos realmente frecuentes en el campo de búsqueda: por ejemplo, buscar el término "network" para conseguir documentos sobre Internet.


    PRECISION
    relación entre el total de documentos recuperados respecto de los documentos que realmente han sido relevantes.
    Este parámetro es fácil de medir: el usuario sólo tiene que contar cuantos documentos le han interesado y cuantos no.
    Se consigue maximizar este parámetro utilizando en el query términos realmente restringidos respecto al campo de búsqueda: por ejemplo, buscar "Stroustrup" para conseguir documentación sobre C++,


    FALLOUT
    Número de documentos recuperados por el sistema que no interesan al usuario lo más mínimo.
    El fallout es un parámetro que indica que el sistema realiza suposiciones no acertadas, aplica mal los sinónimos y tesauros, sigue el rastro a citaciones (referencias entre documentos) no relevantes, etc.
    El fallout es una medida que pone al descubierto sistemas que intentan aumentar el RECALL por medios no acertados.


    Comentarios varios

    El idioma no es indiferente
    A la hora de realizar una búsqueda no es necesario recurrir a un buscador específico de nuestro idioma en la mayoría de los casos excepto si: el buscador utiliza un diccionario controlado de indexación (esto suele ocurrir con buscadores temáticos especializados en un campo), el buscador utiliza sinónimos, frases de indexación (las conjugaciones juegan un papel importante), tesauros o procedimientos léxicos (para reducir palabras derivadas a su raíz).


    Mejor con identificadores objetivos
    Son identificadore objetivos de un documento: el autor, el título, la fecha y lugar de edición, su URL, etc. Siempre que dispongamos de estos datos las búsquedas serán más rápidas, precisas y efectivas. No es tan obvio como parece


    Mejor términos simples que frases de indexación
    Un término simple es "informática" y una frase de indexación puede ser "procesamiento de información". Los términos simples dan mejor resultado.


    Para aumentar la precisión hay que dar prioridad a los términos más raros de la consulta
    Si, por ejemplo, necesito información sobre "memoria para ordenadores" es mejor buscar "RAM" que "memoría". Los términos con poco poder de discriminación (que se usan en muchos campos diferentes) nos pueden dar como resultado una lista interminable de documentos que no tienen nada que ver con nuestra consulta.


    No utilizar conectores o palabras funcionales en el query
    En el query no debería ir ningún término sin relevancia. Por ejemplo: el, este, principalmente, todos, manera, etc


    No utilizar afijos (prefijos y sufijos)
    No aportan ninguna información y el buscador (especialmente si está pensado para un idioma extranjero) no va a saber tratarlos correctamente.


    Aprovechar al máximo las construcciones basadas en operadores lógicos
    Es más preciso: GESTION DE MEMORIA .Y. (INFORMATICA MILITAR .O. TELECOMUNICACIONES) que: "Aplicación de la gestión de memoria al campo militar y a las telecomunicaciones".


    Regla de oro para realizar una consulta a un buscador
    Utilizar términos que aparezcan con mucha frecuencia en los documentos buscados pero raramente dentro de otros documentos de la colección.





    Links y referencias interesantes

    Buscadores por contenido en Internet

  • Alta Vista
  • Hot Bot
  • ¿Dónde?
  • Lycos
  • Excite
  • DejaNews
  • Bibliografía

  • Automatic text processing: the transformation, analysis, and retrieval of information by computer. de Gerard Salton
  • Introduction to modern information retrieval. de Gerard Salton
  • Experiments in automatic thesaurus construction for information retrieval. de Gerard Salton
  • Information analysis and dictionary construction. In the smart retrieval. System-experiments in autormatic document processing. de Gerard Salton
  • Syntactic analysis of natural language, in advances in computers. de N. Sager
  • Información en línea

  • Information Storage and Retrieval.
  • Indexing Technical Documents.
  • Gerard Salton.
  • Text Processing.



  • Autor: Javi Tobal
    Página personal: http://www.arrakis.es/~tobal/
    Última actualización: Domingo, 3 de noviembre de 1996
    (Los comentarios son bien recibidos)