Informe de resultados del proyecto Simulador de motor de

Anuncio
13ª Convocatoria de Apoyo a Experiencias de Innovación Docente Curso 2015/2016
Informe de resultados del proyecto
Simulador de motor de búsqueda Web
Presentado por
José Tomás Nogales Flores
El proyecto se centra en la "Línea 1: Nuevas formas de presentación de materiales
educativos", para aplicarlo en los grupos de la asignatura "Búsqueda y Recuperación de
Información" del Grado en información y Documentación, en sus modalidades presencial
(13383) y semipresencial (15870).
El presente informe responde a lo dispuesto en el punto 9 de la Convocatoria:
8. Reconocimiento de los proyectos seleccionados e Informe final
En los casos en los que se apruebe una propuesta, el profesor coordinador del proyecto
seleccionado, deberá presentar, hasta el 31 de mayo de 2016 incluido, un informe final
o memoria justificativa de las actividades realizadas y de los resultados alcanzados.
1
Presentación
Este informe se ha estructurado en dos partes: una primera en la que se ponen en
relación los resultados obtenidos con los objetivos detallados en la propuesta, destacándose
que en general los resultados exceden los objetivos propuestos.
La segunda parte del informe es una descripción somera de la aplicación desarrollada
en cuanto a su uso y funcionalidades, ilustrada con una serie de capturas de pantalla que
pretenden facilitar la comprensión de estos aspectos.
La aplicación, desarrollada en JavaScript/ECMAScript + HTML + CSS, se ha probado con
éxito en los navegadores Mozilla Firefox, Opera, Safari, Internet Explorer y Google Chrome, para
diversos sistemas operativos (Windows, Mac OS, iOS, Android y entornos Linux) y para diversos
dispositivos (ordenadores y tablets; también en smartphones, aunque la interacción y la
visualización son algo incómodas).
Al margen de la integración en AG de la aplicación como un recurso didáctico para los
distintos grupos de la asignatura mencionada, puede accederse a ella de forma abierta en
http://www.bib.uc3m.es/~nogales/doc/bri/bri-mot.html. La aplicación de ha desarrollado bajo
una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported, de manera
que puede usarse libremente.
2
Resultados obtenidos en relación con los objetivos
propuestos
En el punto 2.2 de la propuesta, "Breve descripción del proyecto", figuraban los
principales objetivos del proyecto en los siguientes términos, que entre líneas se van
comentando para describir su grado de consecución. En general todos ellos se han alcanzado o
superado.
La finalidad del proyecto es desarrollar una aplicación que ayude al alumno a entender
cómo funciona un motor de búsqueda Web (Google, Bing, Yahoo!...), tanto al seleccionar
los resultados como al ordenarlos según su relevancia, aspecto que determina en gran
medida su éxito.
El proyecto ha cumplido este objetivo general. Se han desarrollado los subsistemas de
indización y de búsqueda propios de un motor de búsqueda, con las peculiaridades de este caso
particular de Sistema de Recuperación de Información (SRI) en el que la ponderación de los
resultados de búsqueda es su principal característica y su buen ajuste es determinante para la
satisfacción del usuario.
Así, se desarrollará un simulador de motor de búsqueda Web, a base de JavaScript +
HTML + CSS, que podrá usarse en cualquier navegador, incluidos dispositivos móviles,
respetando estos estándares (validación W3C) y las directrices WCAG de accesibilidad
Web, y bajo licencia CC-BY que permita su uso libre.
Tal como se proponía, la aplicación se ha programado en JavaScript, sin hacer uso de
librerías adicionales, generando XHTML 1.0 válido y accesible en la medida en que puede serlo
una aplicación de este tipo. Se acompaña de una hoja de estilo externa CSS2 y de un fichero
externo RDF con metadatos Dublin Core. Como se ha comentado en la presentación de este
informe, la aplicación se ha probado con éxito en las últimas versiones de los cinco navegadores
más usados, Mozilla Firefox, Opera, Internet Explorer, Safari y Chrome, y también en Safari para
un iPad de Apple; también se ha probado en Google Chrome para un teléfono con Android,
aunque la visualización es más incómoda. Algunos voluntarios han realizado pruebas, también
satisfactorias, en otras plataformas.
La aplicación tendrá como entrada el texto de varias páginas web aportadas por el
alumno.
Tal como se pretendía, el simulador permite al alumno generar una BD simple, con entre
3 y 20 registros (más, si estos proceden de un fichero de exportación que ha sido ampliado), que
puede alimentar, a base de formularios HTML, con datos de páginas web reales o ficticias de su
elección, o bien con registros preparados al efecto si prefiere no introducir registros propios
para hacer las pruebas. Además, se ha incorporado un módulo de exportación-importación que
permite al alumno reutilizar una BD que haya generado y exportado previamente desde la
misma aplicación; es especialmente importante si la BD contiene registros introducidos por el
propio alumno o modificados por éste desde los registros de prueba precargados. Se usa XML
como formato de intercambio; el alumno podría usar esta vía para introducir directamente los
3
registros (nuevos o adicionales a los exportados) en lugar de hacerlo usando los formularios
HTML habituales, y también si desea superar el límite en el número de registros impuesto en
principio por la aplicación para su introducción mediante formularios HTML.
Generará los índices (y por tanto permitirá la búsqueda) según la ubicación de las
palabras significativas (no vacías) en la página (título, metadatos, encabezados, dominio
+ URL, resto del texto).
La aplicación desarrollada ofrece al alumno una estructura sencilla de los registros con
cinco campos que se corresponde con los datos básicos de una página web: su URI (URL)
incluyendo el dominio de Internet, su título (elemento <title> de HTML), sus metadatos (valor
de los atributos @content de elementos <meta> cuyo atributo @name tome el valor "keywords"
o "description"), sus encabezados (elementos <h1> a <h6>) y el resto del texto del cuerpo
(descendientes de <body> excepto encabezados). Sin embargo, la aplicación ha sido
programada con el grado de abstracción suficiente como para poder ampliar esta estructura
básica hasta donde sea necesario. Esta extensibilidad y flexibilidad constituye un principio de
diseño básico de la aplicación en todos sus aspectos.
El índice generado tiene un alto grado de granularidad, remitiendo cada entrada del
índice (cada palabra significativa) al registro (página web), campo (ubicación en la página), frase
o sentencia y posición del término en la sentencia o frase, y constituyendo por tanto un índice
completo que permitirá búsquedas por proximidad de términos. Además, para cada entrada del
índice (para cada ocurrencia de cada palabra), se recogen los pesos asignados según en qué
registro (página web) y en qué campo (posición en la página) aparece, junto con el peso global
asignado, que combina los dos pesos indicados por vías diferentes que elige el usuario y se
comentarán más adelante. El índice, de extensión considerable, se representa como una tabla
que se visualiza en un espacio reducido con scroll vertical y que, a elección del usuario puede
mostrarse u ocultarse, y fijarse a la página o la ventana (en este último caso para tenerlo siempre
a la vista).
Además, la aplicación ofrece inicialmente al alumno una lista de palabras vacías estándar
(palabras en español e inglés, que no serán indizadas y por tanto no podrán ser objeto de
búsqueda), que éste puede modificar a su gusto hasta el momento en que el índice es generado.
Sin necesidad de eliminar la lista de palabras vacías, el alumno puede optar por no usarla, de
manera que la aplicación la ignora y todas las palabras presentes en los registros son indizadas
y por tanto pueden buscarse. Además, si las palabras vacías no se indizan, el alumno puede
decidir si la posición de una palabra vacía debe o no tenerse en cuenta en el índice generado,
alternativa que se encuentra en los diversos SRI del mundo real.
Respecto al tipo de indización, la aplicación contempla la posibilidad de hacerla por
palabra, frase o mixta, ya a este efecto los campos tienen asociado un indicador para señalar el
tipo de indización que se le aplicará aunque, como es habitual en motores de búsqueda, todos
los campos están indizados por palabra. Al margen, para cada campo se ha fijado un carácter
separador de frase, que es aprovechado también para distinguir frases en todos los campos
(separando así un metadato de otro, un encabezado de otro, y los distintos elementos del
cuerpo entre sí), de manera que el índice pueda contabilizar la posición de la palabra en la frase,
aumentando así su granularidad.
4
También en este punto es de destacar la flexibilidad de la aplicación, que permite
modificar con facilidad el tipo de indización al que se someterá cada campo, así como los
caracteres que actuarán como separadores de frase.
Contará con las interfaces de búsqueda típicas de un motor (básica y avanzada),
permitiendo búsquedas booleanas.
Una vez generado el índice a partir del contenido de los registros, al alumno se le ofrecen
dos interfaces diferentes para la consulta de la BD basadas en formularios HTML: la típica de
búsqueda avanzada (en realidad, búsqueda asistida), con cuatro cajas de búsqueda que puede
usar para indicar si los términos de búsqueda deben ser contiguos, si deben estar todos, si debe
figurar al menos uno o si ninguno debe estar presente. Otra interfaz es la de búsqueda básica,
simple o sencilla (en realidad, próxima al modo comando), en la que sólo existe una caja de
búsqueda pero en la que puede utilizar funciones avanzadas de búsqueda con gran flexibilidad.
Puede usar indistintamente una u otra, para comprender mejor que se trata justamente
de interfaces distintas aunque el lenguaje interno de consulta sea (realmente es) el mismo. La
de búsqueda simple le permite limitar la búsqueda a campos concretos (como sufijos de los
términos de búsqueda en la forma término/campo) y expresar entre cada par de criterios los
operadores que se aplicarán (ocho distintos: OR, XOR, NOT, AND, SAME, WITH, NEAR y ADJ,
aunque los motores de búsqueda no suelen usar más de cuatro: OR, AND, NOT y ADJ); caso de
faltar el operador se usará por defecto OR. Esta interfaz sólo limita el número de criterios de
búsqueda al de caracteres previsto para la caja de texto, que por mantener la simplicidad se ha
limitado a 200. Sin embargo, la aplicación podría trabajar virtualmente con cualquier número de
criterios. Las prioridades de los operadores se han fijado al orden de proceso puro de izquierda
a derecha.
En ambas interfaces puede usarse un carácter de truncamiento (el asterisco) para buscar
familias (raíces) de palabras, expresado a la derecha de la plantilla o patrón.
Su salida será un listado con datos básicos de las páginas web encontradas y el enlace a
la original.
Además de este listado de resultados, que se comentará más adelante, la aplicación
muestra previamente, en forma de tabla, un módulo muy completo de resultados del proceso
de la instrucción de búsqueda que ningún motor de búsqueda ofrece y que el usuario puede
ocultar o mostrar. No sólo indica, en las primeras filas de la tabla, el número de documentos que
cumplen cada criterio de búsqueda por separado, sino que también muestra los identificadores
concretos de los documentos, así como el número de ocurrencias. Cada criterio de búsqueda
individual usado en la instrucción de búsqueda se resalta con un color diferente (hay previstos
hasta 16 para otros tantos criterios individuales), y dispone de un enlace que remite a la primera
ocurrencia del índice; todas las ocurrencias de un criterio dado se resaltan en ese mismo color.
Además, en las siguientes filas de la tabla, la aplicación muestra paso a paso algunos de
estos mismos datos (número de registros e identificadores de los mismos) para cada
combinación de dos criterios (o un resultado parcial y un criterio) con un operador, algo que
también ayuda a los alumnos a comprender el funcionamiento de éstos.
5
En la última fila de la tabla, ofrece el resultado final, incluyendo, además del número de
registros que cumplen con la instrucción completa de búsqueda, los identificadores de estos
registros. Ahí el alumno puede ver cómo el sistema ha traducido a su lenguaje interno la
instrucción completa de búsqueda a partir de los datos expresados en cualquiera de las dos
interfaces.
En todos los casos los identificadores de los registros disponen de un enlace que permite
al alumno examinar el registro completo para comprobar que en efecto cumplen el criterio o
criterios afectados. Los resultados de cada instrucción búsqueda quedan asociados a un
identificador (un número natural secuencial) que remite al conjunto de documentos
recuperados.
Finalmente, la aplicación presenta de forma sucinta algunos datos significativos de cada
una de las páginas web recuperados por la instrucción completa de búsqueda, al estilo de una
SERP (Search Engine Results Page, página de resultados del motor de búsqueda) y alcanzando
así el objetivo que aquí se comenta. En concreto se muestra su título (un enlace asociado
permite al alumno acceder al registro, que además queda resaltado en otro color), su URI (que
remite por otro enlace a la página web original, si se trata de un registro basado en una real) y,
como suelen hacer los motores de búsqueda, un fragmento de la página web que incluye al
menos la primera ocurrencia de uno de los términos de búsqueda, que queda resaltada en su
contexto.
Además, la aplicación muestra otros datos que generalmente los motores de búsqueda
no ofrecen: el peso global que se ha atribuido a cada página web recuperada en función de la
presencia en ella de los términos de búsqueda y que determinará el orden en que se presentarán
al usuario.
Se ordenarán atendiendo a una combinación ponderada de diversos criterios de
relevancia habituales en los motores de búsqueda, cuyos pesos fijará el alumno: A)
Página web: autoridad/fiabilidad, visitas, número de enlaces desde otras páginas (dos
grados), y clics recibidos tras una búsqueda similar, y B) Términos de búsqueda: posición
en lugares privilegiados de la página, número de ocurrencias, frecuencia inversa del
término y del documento e indicador tf*idf.
Las páginas web recuperadas por la búsqueda aparecen ordenadas atendiendo a ese
peso global, que es mostrado al usuario junto a los pesos parciales por cada ocurrencia de un
término de búsqueda. Cada peso parcial remite por un enlace a la entrada del índice donde
puede verse a qué ocurrencia del término corresponde y de dónde deriva ese valor. El peso total
se ha simplificado como logaritmo del sumatorio de los pesos asignados a cada ocurrencia de
un término de búsqueda en la página en cuestión.
Tal como se pretendía en la propuesta, cuando se están introduciendo o modificando
los registros de la BD, el alumno asigna a cada página web cinco pesos atendiendo a los cinco
criterios mencionados en el bloque A (pesos de los registros), a saber, fiabilidad/autoridad,
enlaces en primer y segundo grado, clics y visitas, y que determinarán (en principio, por simple
suma) el peso intrínseco global de un registro (una página web).
6
Respecto al bloque B (pesos de los campos o ubicaciones en la página), el indicador tf*idf
se ha sustituido por otro, más intuitivo y que permite elegir el método de combinación de los
pesos del campo y del registro. Así, la aplicación permite al usuario decidir el peso de cada uno
de los cinco campos contemplados en la propuesta y en la aplicación: el URI, título, metadatos,
encabezados y resto del texto.
Superando el objetivo previsto, la aplicación permite también al usuario decidir la forma
en que se combinarán, para cada entrada del índice (para cada ocurrencia de un término de
búsqueda), los pesos de ambos bloques (el asignado por la ubicación del término en un campo
y en un registro concretos): mediante el producto, la suma, la media aritmética o geométrica, o
eligiendo el valor más alto o más bajo de ambos, siendo el primero el valor por defecto y el más
recomendable.
El alumno comprenderá cómo, para una misma búsqueda, distintos motores aplican
distintos algoritmos de ordenación que determinan diferentes posiciones de una misma
página en su lista de resultados. Además, comprenderá mejor técnicas de SEO o
posicionamiento web, aunque no son objeto de esta asignatura.
Las funcionalidades descritas hasta ahora permiten esperar que el alumno comprenda
mejor cómo trabaja internamente un motor de búsqueda de la Web como Google, Bing o Yahoo
Search, como caso particular de un SRI. El alumno tiene la capacidad de parametrizar muchos
factores que determinan el algoritmo de ponderación de los resultados de búsqueda, pudiendo
asignar pesos a cada campo o ubicación en la página, y a cinco criterios por cada registro de la
BD que conformarán el peso intrínseco de cada página web. Verá cómo el orden de los
resultados queda determinado por muchos y muy diferentes factores.
El simulador se acompañará de un vídeo o de un manual demostrativo y explicativo de
su uso.
Este documento constituye el mencionado manual demostrativo y explicativo de su uso.
Sin descartar la realización de un vídeo como demostración de las funcionalidades de la
aplicación, en ella se han incorporado módulos de ayuda para su manejo por los alumnos. Se
entiende que estas ayudas son suficientes. Los ejercicios concretos a realizar sobre la aplicación
formarán parte de los materiales docentes de la asignatura, y llamarán la atención sobre
particularidades de la misma, que son particularidades de los SRI (en concreto los motores de
búsqueda web) cuya mejor comprensión se pretende con este proyecto.
La segunda parte de este informe describe brevemente las funcionalidades y modo de
uso de la aplicación.
7
Breve descripción de la aplicación
[Se recomienda seguir esta descripción accediendo a la ubicación provisional en que se
encuentra la aplicación, http://www.bib.uc3m.es/~nogales/doc/bri/bri-mot.html.]
Una vez cargado en el navegador el documento HTML que contiene la aplicación, el
usuario encuentra en un principio sólo un formulario, el primer bloque de los diez que tendrá
finalmente la página, que le permite generar la base de datos (BD).
La banda vertical de la izquierda no tiene funciones asociadas; se trata de un mero
recurso estético que pretende sugerir que se está usando una aplicación en un escritorio de
ordenador y que puede usarla desde cualquiera de los cinco navegadores más extendidos.
El documento HTML cargado irá adquiriendo nuevas secciones a medida que el usuario
interactúa con la aplicación.
Todas las secciones o bloques cuentan con textos de ayuda o de información adicional
que el alumno puede mostrar, pulsando sobre las diversas anclas "+i" que acompañan a sus
respectivos encabezamientos. Así, por ejemplo, si lo hace sobre la primera que se muestra en la
figura, la página cambiará para mostrar lo siguiente:
8
Como puede verse, una vez desplegado el texto de ayuda o de información adicional,
las anclas "+i" cambian a "-i", y pulsando sobre éstas últimas el texto de ayuda se oculta de
nuevo y el texto del ancla pasa a ser otra vez "+i".
1. Creación de la base de datos
Este primer bloque permite al alumno decidir el número de registros (páginas web) con
el que quiere trabajar, y si quiere introducirlos él mismo, usar unos registros de muestra
precargados o bien usar registros introducidos o modificados con anterioridad, importándolos.
Como se indica en el texto de ayuda asociado al bloque (mostrado en la imagen anterior), en el
supuesto de que el alumno opte por generar una nueva BD con registros vacíos (sin marcar la
casilla de verificación para introducirlos él mismo), la página se ampliará incorporando un nuevo
bloque con formularios en blanco que deberá cumplimentar:
9
Desaparece la opción de importar una BD, y el botón para generar una BD nueva, puesto
que ya está generada, y se desactivan los controles de formulario del bloque. A partir de ese
momento el alumno podrá cumplimentar los registros en blanco generados.
En lugar de ello y como segunda opción, puede generar una BD con el número deseado
de registros tomados de una base de datos precargada y que podrá modificar si lo desea; para
ello le basta con tener marcada la casilla de verificación. En ese caso, el nuevo bloque generado
tendría este aspecto:
La tercera opción, la de importar una BD, requiere haber generado previamente alguna
BD y haberla exportado. En ese caso, el alumno deberá pegar en el área de texto el resultado de
tal exportación, como se muestra en la imagen siguiente:
10
Luego pulsará el botón asociado para realizar la importación. El resultado será éste:
Desaparece la opción de generar una BD nueva y el botón para importar, se desactiva el
área de texto con los datos de importación, y se informa al usuario del número de registros
importados.
Con cualquiera de las tres opciones se abren cinco bloques nuevos, del segundo (se ve
en las imágenes) al sexto, con diversos formularios que permiten continuar el proceso de
parametrización del sistema: carga o modificación de los registros o páginas web de la BD,
establecimiento de pesos para los campos o ubicaciones de la página, decisión sobre el método
de combinación de pesos del campo y el registro, gestión de las palabras vacías y confirmación
del final del proceso de parametrización.
2. Edición de los registros
11
En el segundo bloque el alumno podrá, como se ha visto, introducir los datos de nuevos
registros o modificar libremente los de registros precargados o importados. El texto de ayuda
de este bloque es el siguiente:
Así, pues, en este bloque se crea o modifica el contenido de los registros, que
representan páginas web, y se asignan pesos a cada página web según una serie de criterios.
Los datos de este segundo bloque, así como los de los bloques 3 a 5, se pueden modificar
hasta que se da por terminada la parametrización en el bloque 6.
3. Asignación de pesos a los campos
En el tercer bloque el alumno podrá asignar pesos distintos a cada uno de los campos
contemplados en la aplicación, de manera que puede decidir cómo potenciar los términos de
búsqueda según el lugar de la página en que aparecen. La siguiente imagen ilustra el formulario
que le permite establecer tales pesos, con la información de ayuda desplegada.
12
4. Determinación del método de combinación de pesos de campo y registro
El cuarto bloque permite al usuario elegir, para cada palabra buscada y encontrada en
una página web, cómo se combinará su peso por la posición dentro de la página (especificado
en el bloque 3) y su peso por encontrarse en una página web concreta (que posee un
determinado peso específico, expresado en el bloque 2). Hay varias funciones predeterminadas
que potencian más o menos la coincidencia de pesos altos. La imagen siguiente ilustra el
formulario que le permite elegir esa función, con la información de ayuda desplegada.
13
5. Tratamiento de las palabras vacías
El quinto es el último bloque de parametrización de la aplicación, que determinará si
existirá una lista de palabras vacías (no indizadas y por tanto no susceptibles de ser buscadas),
cuáles serán éstas y si la posición de una palabra vacía se tendrá o no en cuenta al indizar las
demás (obviamente, el cuadro de verificación que permite esta última funcionalidad se marca
automáticamente en el caso de que se desee indizar también las palabras vacías). El alumno
puede modificar a su gusto la lista de palabras vacías, en los términos que se le explican en el
texto de ayuda. Al pulsar el botón asociado, la aplicación reordena la lista de palabras vacías de
forma automática en orden alfabético y elimina las duplicadas si las hubiera.
La imagen que sigue muestra este bloque, con la información de ayuda desplegada.
El alumno podrá modificar los datos de este formulario hasta el momento en que genere
el índice o fichero inverso, lo que sólo podrá hacer después de dar por terminado el proceso de
parametrización de la base de datos (BD), lo que podrá hacer en el sexto bloque de la aplicación.
6. Fin de la parametrización
Este sexto bloque tiene sólo la función de informar a la aplicación de que se ha
terminado de parametrizar el sistema. Lleva asociado un botón especialmente destacado
14
porque, una vez pulsado, los formularios previos de configuración dejarán de estar operativos.
Se generará el índice de la BD sobre el que se realizarán las búsquedas. La siguiente imagen
muestra este bloque con la ayuda desplegada.
Una vez pulsado el botón cambia su texto y deja de tener función. La aplicación dará un
mensaje de aviso si hay algún campo vacío en algún registro pero generará el índice a partir de
los datos que sí estén presentes.
La acción de generar el índice tiene diversos efectos inmediatos: quedan desactivados
los controles de los formularios de introducción y modificación de registros (bloque 2), pesos de
campos (bloque 3), combinación de pesos de campo y registro (bloque 4) y de gestión de
palabras vacías (bloque 5), ya que el índice se genera siguiendo las especificaciones expresadas
en ellos y no tendría sentido modificarlas.
Otros efectos se reflejan en la aparición de nuevos bloques en la página de la aplicación.
La siguiente imagen recoge el aspecto de la página desde la posición del botón, ahora inactivo,
que dio por terminada la parametrización, permitiendo ver el bloque 7 sobre la exportación de
la BD para uso futuro y el comienzo del bloque 8 que contiene el índice o fichero inverso (ambos
se detallarán posteriormente):
Tras el índice se habrá generado un noveno bloque con las interfaces de búsqueda que
el alumno podrá usar para consultar la BD creada. La siguiente imagen muestra el final del índice
(bloque 8) y la sección con las interfaces de búsqueda (bloque 9), que se comentarán también
más adelante.
15
7. Exportación de la BD
El texto de ayuda de este cuarto bloque contiene la siguiente información:
Pulsando el botón asociado se mostrará debajo el resultado de la exportación de los
registros, que el usuario podrá guardar como archivo de texto por medio de cualquier editor de
texto.
16
El nombre del botón cambia para indicar que puede ocultarse el resultado de la
exportación para simplificar la página; si se oculta, el nombre del botón vuelve a cambiar,
indicando que puede volver a mostrarse el resultado de la exportación.
El texto copiado directamente desde aquí, o desde el archivo de texto si se ha archivado,
podrá ser pegado en el futuro en el área de texto descrita a propósito de la importación de
registros (bloque 1).
8. El índice
También este octavo bloque dispone de un texto de ayuda para comprender mejor la
información que aparece en el índice de la BD sobre el cual se realizarán las búsquedas:
17
Como puede apreciarse, en el encabezado del bloque se informa del número de
entradas del índice (el número de filas de la tabla), y en el texto de ayuda se recuerda al alumno
usuario si se tiene o no en cuenta la posición de las palabras vacías, según haya establecido en
el formulario sobre las palabras vacías (bloque 5). Con la misma BD de la que se han tomado las
imágenes, se habrían generado 2.460 entradas en lugar de 2.023 si se hubiesen indizado
también las palabras vacías. Por otro lado, los valores recogidos en la columna "Pal." de la tabla
que refleja el índice variarían si en el formulario sobre las palabras vacías hubiera pedido que se
contabilizara su posición. En la última columna, que recoge el peso final de cada entrada de
índice, queda resaltada la función utilizada para combinar los pesos del campo y la página, de lo
que también se informa en el texto de ayuda.
De todas estas circunstancias se llamará la atención al alumno para que repare en las
consecuencias tendrán sobre el módulo de búsqueda y recuperación del sistema. Y se insistirá
en el hecho de que la búsqueda se realiza sobre el índice y no sobre los registros de la BD, esto
es, no sobre las páginas web propiamente dichas.
En el proceso de indización, como podrá verse en ejemplos posteriores, los términos del
índice (palabras o frases) se pasan a minúsculas (caja baja) y son desprovistos de ciertos
diacríticos (en concreto los acentos y diéresis; la "ñ" o la "ç" permanecen sin cambios).
Evidentemente, en las interfaces de búsqueda que se comentarán posteriormente los términos
de búsqueda sufrirán el mismo proceso.
Al ser tan extensa la tabla que contiene el índice, se ha optado por mostrar a la vez sólo
algunas entradas del índice (filas de la tabla); una barra de scroll permite desplazar la zona de
visualización para ver el resto de las filas. Además, dado que para ciertas funciones de la
18
aplicación es conveniente tener el índice siempre a la vista, un botón asociado a la tabla permite
anclarla tanto a la página (su posición inicial) como a la ventana del navegador (de manera que
está siempre visible). Ambas formas de anclaje pueden apreciarse en las dos imágenes
siguientes:
Además, el botón de final del bloque permite ocultar o mostrar la tabla con el índice.
9. Las interfaces de búsqueda
Para mostrar de la mejor manera posible de qué manera se lleva a cabo la búsqueda
sobre los índices, se han desarrollado dos interfaces distintas, habituales en los distintos
motores de búsqueda: la supuesta búsqueda avanzada y la básica o sencilla, en realidad más
flexible y potente que la primera. Ambas permiten expresar un número elevado de criterios de
búsqueda en una misma instrucción.
Se insistirá al alumno en que los datos aportados en ambas interfaces son analizados y
convertidos en una búsqueda formal de sintaxis única, que será la que se lance sobre los índices.
También se le comentará cómo los analizadores sintácticos de estas interfaces pueden ser muy
permisivos con ciertos errores en la instrucción de búsqueda, informando de ellos al usuario
19
pero completando el proceso de búsqueda, o, según su gravedad, informar del error sin llegar a
realizar la búsqueda.
El analizador de esta aplicación contempla supuestos de ambos tipos. Así, por ejemplo,
en la interfaz básica, si el usuario expresa un indicador de campo que no existe, se le informa de
ello y se busca el término en cualquier campo; si usa un operador al inicio o al final de la
instrucción de búsqueda se le informa de que tal operador será ignorado; o si expresa dos
operadores consecutivos se le informa de que el segundo es ignorado. En relación con errores
que no llegan a lanzar la búsqueda, por ejemplo en la interfaz de búsqueda avanzada no puede
usarse sólo la caja de texto para excluir términos de la búsqueda, y así se informa al usuario.
El bloque de interfaces de búsqueda lleva el siguiente texto de ayuda:
Los textos de ayuda de las interfaces concretas son los que se aprecian en las siguientes
imágenes:
20
21
Según lo indicado en estos textos de ayuda, las búsquedas que se reflejan en la siguiente
imagen (no pretenden ser reflejo de una búsqueda temática, sino sólo mostrar posibilidades de
la aplicación) y que aparecen representadas en las dos interfaces, serían del todo equivalentes:
Una búsqueda lanzada desde cualquiera de ambas interfaces sobre el índice genera los
dos últimos bloques en la página: el décimo, con el historial detallado de la búsqueda, indicando
los resultados parciales por cada criterio de búsqueda y por cada combinación de criterios, y el
undécimo, con el resultado final de la búsqueda presentando un resumen de los registros
encontrados. Ambos se tratan a continuación. Así, una variante de la búsqueda representada en
la imagen anterior, pero limitando la búsqueda a campos, ampliaría la página con los dos bloques
indicados:
22
Estos dos nuevos bloques se comentan a continuación.
7. Historial de la búsqueda
Como puede apreciarse en la imagen anterior, el historial de la búsqueda muestra en
una tabla toda una serie de detalles sobre las operaciones que haría el sistema a partir de la
instrucción de búsqueda expresada por el usuario. El alumno podrá examinar cada uno de los
pasos del proceso, cosa que un motor de búsqueda real no muestra. Si entrar en detalles, la
información que se recoge en la tabla que se ve en la imagen anterior viene a estar explicada en
el texto de ayuda de este bloque:
23
Los colores que resaltan cada criterio individual utilizado en la instrucción de búsqueda
se corresponden con los de las entradas del índice que han sido seleccionadas por tal criterio.
Así, puede observarse en la siguiente imagen una parte del índice con uno de los términos
usados en la búsqueda resaltado.
Además, cada término de búsqueda en la tabla que cumpla al menos un registro
contiene un enlace a la primera ocurrencia en el índice del término en el índice, para facilitar al
alumno comprobar en qué condiciones se cumple el criterio en cuestión. Por ejemplo, si hace
clic sobre el criterio "algorithm*/HE" de la tabla del historial, verá la tabla del índice a partir de
la primera ocurrencia del término (la raíz) "algorithm" en el campo de encabezamientos, como
se aprecia en la siguiente imagen:
24
Por otro lado, todos los identificadores de los registros que aparecen en la última
columna llevan asociado un enlace que permite al alumno acceder directamente al registro
concreto para examinar sobre él el contexto en que aparecen los diferentes términos de
búsqueda utilizados en la instrucción.
Un botón, debajo del historial, permite ocultar o volver a mostrar el historial si se desea
simplificar la interfaz de la aplicación.
11. Resultados de la búsqueda
Este último bloque recoge un listado de resultados de la búsqueda, y seleccionando
algunos datos especialmente significativos y representativos del registro en cuestión; en el caso
de esta aplicación muestra, como suelen hacer los motores de búsqueda web, el título (con un
enlace al registro de la BD), el URI (con un enlace a la página original en la web de la que se han
extraído los datos) y una porción del contenido del registro donde figura al menos una
ocurrencia de un término buscado. El texto de la ayuda de este bloque es el siguiente:
25
La siguiente imagen representa una porción del bloque de resultados para la búsqueda
que se ha utilizado como ejemplo en la última captura de pantalla, con el texto de ayuda ya
plegado:
26
Como se ha comentado, además del enlace asociado al URI de la página web, otro enlace
de los datos mostrados para cada registro encontrado, concretamente el contenido del campo
título, es un ancla con un enlace asociado que lleva directamente al registro concreto. La
siguiente imagen, efecto de pulsar sobre el ancla del tercer documento, permite además ver
cómo quedan resaltados (bloque 2) los documentos recuperados por una búsqueda:
Pueden lanzarse tantas búsquedas como se desee. El contador del número de conjuntos
generados irá incrementándose y se actualizará el resalte de los elementos implicados, tanto los
términos del índice como los registros de la BD. No está implementada la posibilidad de
referenciar conjuntos de registros generados previamente, pero ello es algo que ningún motor
de búsqueda permite.
Finaliza este informe llamando la atención sobre el hecho de que esta aplicación sugiere
posibilidades y criterios de ponderación que podrían ser utilizados por un motor de búsqueda
para ordenar los resultados. Sin embargo, muchos aspectos (los propios índices) son en la
realidad mucho más complejos que como se han presentado aquí, y los algoritmos de
ponderación mucho más ricos, incorporando hasta centenares de factores. Los aplicados aquí
son mejorables, y se animará a los alumnos a que piensen formas de mejorarlos. La aplicación,
por tanto, no es, ni pretende ser, un motor de búsqueda. Es un simulador que pretende acercar
al alumno a algunas de las peculiaridades de estas poderosas herramientas.
27
Descargar