Desarrollo de motores de búsqueda utilizando herramientas open source. Jose Manuel Ortega Candel

Desarrollo de motores de búsqueda utilizando herramientas open source - Jose Manuel Ortega Candel


Скачать книгу
a que los motores de búsqueda contienen millones —y a veces miles de millones— de páginas, muchos motores de búsqueda no solo se centran en el proceso de búsqueda, sino que también muestran los resultados en función de su importancia. Esta importancia de los resultados se determina normalmente mediante el uso de diversos algoritmos.

      Spider o araña es el nombre que se le ha dado al componente que se encarga de rastrear la web siguiendo su estructura hipertextual, para almacenar los enlaces en un lugar para su posterior análisis. En muchas ocasiones es llamado también crawler o webcrawler. Cada cierto tiempo, los spiders recorren la web para actualizar los contenidos recopilados con anterioridad; por ejemplo, los sitios de noticias y los blogs que están en constante actualización son analizados frecuentemente por estos programas. Además, los spiders pueden trabajar de forma conjunta, funcionando como una red de spiders, para obtener más documentos y almacenarlos en un repositorio o base de datos.

      Figura 1.1 Funcionalidad de una araña o web crawler.

      Como se puede observar en la figura 1.1, la fuente de todos los datos del motor de búsqueda es un crawler, que visita automáticamente las páginas y los índices de sus contenidos. Una vez que una página ha sido rastreada, los datos que contiene se procesan.

      Los motores de búsqueda pueden realizar distintos tipos de búsquedas, ya sea por fecha, por un campo específico o por temas; en los siguientes puntos se explican algunos tipos :

      • Restringido campo de búsqueda. Permite a los usuarios realizar su búsqueda sobre un determinado campo dentro de un registro almacenado de datos, por ejemplo “Título” o “Autor”.

      • Consultas booleanas. Se hace uso de operadores booleanos para aumentar la precisión de una búsqueda.

      • Búsqueda de concordancia. Produce una lista alfabética de todas las palabras principales que se encuentran en un texto con su contexto inmediato.

      • Búsqueda de proximidad. Incluye solo los documentos que contienen dos o más palabras separadas por un número determinado de palabras.

      • Expresión regular. Emplea una sintaxis para realizar consultas más complejas.

      • Búsqueda facetada. Consiste en encontrar elementos o contenidos restringiendo el conjunto global de resultados a través de múltiples criterios o facetas, lo cual permitirá realizar la búsqueda mediante cualquier metadato del grafo semántico de una determinada entidad.

      El proceso de localizar y recuperar cada contenido de un archivo se conoce como indexación. Una palabra clave, asociada a un identificador de un archivo específico, se incluirá en un índice para, posteriormente, conocer la posición exacta de cada archivo y posibilitar el análisis de frecuencias de cada palabra. La mayoría de las herramientas de acceso a la web están basadas en indexación automática, que no es más que la indexación que se realiza a través de procedimientos algorítmicos.

      Además, el proceso de indexación puede mejorar el rendimiento de las consultas, ya que los datos necesarios para satisfacer las necesidades de la consulta existen en el propio índice y se reduce al máximo el tamaño de los archivos; por lo tanto, se reducen también las operaciones de lectura y escritura sobre el disco.

      En el proceso de indexación, para agilizar la búsqueda de grandes cantidades de datos es necesario hacer uso de índices, ya que estos mejoran la velocidad de las operaciones, de modo que el acceso a la información es más rápido.

      Cuando el número de archivos a buscar es potencialmente de gran tamaño, o la cantidad de consultas de búsqueda por realizar es considerable, el problema de búsqueda a menudo se divide en dos tareas: la indexación y la búsqueda. La etapa de indexación analizará el contenido de todos los archivos y creará una lista de los términos de búsqueda, a menudo llamada índice. En la etapa de búsqueda, al realizar una consulta específica, esta se realiza utilizando el índice en lugar de utilizar el contenido de los documentos originales.

      A la hora de almacenar documentos hay que tener en cuenta que uno de los factores más importantes es el rendimiento. Los factores que afectan al rendimiento son: el número de campos a indexar o almacenar, el número de registros que se introducen, el tamaño de los documentos a indexar y el tipo de documento que se indexa (pdf, txt, xml, etc.).

      En este punto, el proceso de indexación trata de reducir al máximo el tamaño de los archivos o tablas de la base de datos, para conseguir la mejor relación entre tiempo de ejecución de las consultas y exhaustividad del fichero inverso. Para ello, vamos a introducir los siguientes conceptos:

      • stopwords: se trata de una lista de palabras de uso frecuente que no se tienen en consideración ni en el proceso de indexación ni en el de búsqueda.

      • stemming: es un método para obtener la raíz semántica de una palabra. Las palabras se reducen a su raíz o stem (tema).

      Las stopwords son palabras que no contienen un significado importante, por lo que no serán utilizadas en las consultas de búsqueda.

      Se trata de una técnica de indexación que genera una lista de palabras de uso frecuente que no se tendrán en consideración y que se omitirán tanto en el momento del proceso de indexación como en el proceso de búsqueda. El hecho de que haya palabras que no aparezcan en el índice en una base de datos se debe a que son insignificantes (como los artículos y las preposiciones). Estas palabras son excluidas de las búsquedas para agilizar el proceso de indexar y analizar las páginas web. Algunos ejemplos de estas palabras son: “un”, “y”, “pero”, “cómo”, “o” y “qué”. Los buscadores, en Internet, no pueden impedir el uso de estas palabras; por lo tanto, las ignoran.

      Stemming es un método que permite reducir una palabra a su raíz o stem. Hay algunos algoritmos de stemming que ayudan en sistemas de recuperación de información. El stemming aumenta el recall, que es una medida sobre el número de documentos que se pueden encontrar con una consulta. Por ejemplo, una consulta sobre “bibliotecas” también encontrará documentos en los que solo aparezca “bibliotecario”, porque el stem de las dos palabras es el mismo (“biblioteca”).

      Esta técnica se suele utilizar cuando queremos que un término pueda reducirse a su común denominador, y permitirá la recuperación de todos los documentos cuyas palabras tengan la misma raíz común (por ejemplo: catálogo, catálogos, catalogación, catalogador, catalogar, catalogando, catalogado).

      La recuperación de información, o information retrieval, es una disciplina que se encarga de estudiar las técnicas para buscar información dentro de documentos que no se encuentran organizados o cuando, debido a la gran cantidad de documentos, resulta difícil buscar de forma manual.

      Los sistemas para la recuperación de información están formados por diferentes mecanismos, que son los que permiten realizar las búsquedas, y un spider o crawler, que es el que se encarga de recorrer la web siguiendo los enlaces que va encontrando en las páginas o documentos. Este recorrido puede


Скачать книгу