| |
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.
|