Desarrollo de motores de búsqueda utilizando herramientas open source. Jose Manuel Ortega Candel
Los documentos encontrados en la web son analizados por el crawler, que les da un formato común. Después, estos documentos se almacenan en alguna estructura de datos, que puede ser un sistema relacional en forma de índices para su rápido acceso. En este proceso se realiza un análisis de cada una de las páginas o documentos encontrados y, por cada palabra encontrada, se guarda la referencia del documento donde se encuentra.
Cuando el usuario escribe el criterio a buscar, los resultados se muestran de forma ordenada según una relevancia que se calcula teniendo en cuenta el modelo de recuperación utilizado.
Este último componente también se comunica con el mecanismo de formulación de consulta, que es el que utiliza los términos introducidos por el usuario y los convierte en los términos que están almacenados en el índice. De esta forma, realiza una recuperación de todos los documentos que presentan estos términos, ordenándolos por la relevancia asociada a cada documento.
A partir de una colección de documentos, se seleccionan aquellos relacionados con una pregunta de un usuario a través de un conjunto de palabras claves. La recuperación de información tiene las siguientes características:
• La información es una pieza fundamental en todos los procesos de nuestra sociedad.
• El desarrollo de las tecnologías de la información (TI) ha permitido crear sistemas y servicios de información cada vez más ágiles.
• El desarrollo de las comunicaciones ha permitido el acceso a información desde cualquier sitio de forma remota.
• Hoy en día disponemos de gran cantidad de repositorios y documentación en Internet.
A continuación, se muestran los principales pasos para la recuperación de la información (figura 1.2):
1. Obtener representación de los documentos. Generalmente, los documentos se presentan utilizando un conjunto más o menos grande de términos índice. La elección de dichos términos es el proceso más complicado.
2. Identificar la necesidad informativa del usuario. Se trata de obtener la representación de esa necesidad y plasmarla formalmente en una consulta acorde con el sistema de recuperación.
3. Búsqueda de documentos que satisfagan la consulta. Consiste en comparar las representaciones de documentos y la representación de la necesidad informativa para seleccionar los documentos pertinentes.
4. Presentación de los resultados al usuario. Puede ser desde una breve identificación del documento hasta el texto completo.
5. Evaluación de los resultados. Para determinar si son acordes con la necesidad informativa.
Figura 1.2 Pasos para un proceso de recuperación de información.
Los sistemas de recuperación basados en términos índice se apoyan en la idea fundamental de que tanto el contenido de los documentos como la necesidad informativa del usuario pueden representarse con términos índice, lo cual permite agrupar diferentes documentos para representar un concepto. Los documentos se pueden clasificar, a grandes rasgos, en dos categorías:
• Documentos primarios: informes, artículos, páginas web, etc.
• Documentos secundarios: título, autor, resumen, etc.
La necesidad informativa se expresa formalmente mediante una consulta:
• Puede emplear diferentes términos y operadores booleanos.
• Puede realizarse en lenguaje natural.
La recuperación de información se utiliza en muchas de las aplicaciones que encontramos hoy en día, por ejemplo:
• Bibliotecas digitales
• Buscadores de Internet
• Herramientas de búsqueda personal (correos electrónicos, documentos personales, etc.
1.5.1 Extracción de información
La extracción de información es un área de investigación que comprende la intersección entre lingüística computacional, machine learning, data mining, bases de datos y recuperación de información. Se trata de un proceso que consiste en obtener información relevante a partir de un conjunto de documentos. Por tanto, el problema estriba en extraer la información y convertirla en información estructurada para poder buscar, manejar y explotar la información que se desee de forma eficiente.
El objetivo final es elaborar sistemas que permitan encontrar y relacionar información relevante mientras ignoran otras informaciones no relevantes. La relevancia se determina a partir de una serie de guías que permiten especificar con la mayor exactitud posible el tipo de información a extraer.
Desde la perspectiva del procesamiento de lenguaje natural, los sistemas de extracción de información deben trabajar a distintos niveles: desde el reconocimiento de palabras hasta el análisis de frases, y desde el entendimiento a nivel de frase hasta el texto completo. A grandes rasgos, entre las principales tareas relacionadas con la extracción de la información podemos destacar:
• Extracción de entidades y relaciones:
− Entidades: con nombre y genéricas.
− Relaciones: entidades relacionadas de una forma predefinida.
− Eventos: pueden estar compuestos de múltiples relaciones.
• Subtareas comunes en la extracción:
− Preproceso: segmentación de frases, análisis morfológico y sintáctico.
− Creación de reglas y/o patrones de extracción: de forma manual, automática o mixta.
− Aplicación de reglas o patrones de extracción: para extraer nueva información.
− Post-proceso: integración de la información, resolución y desambiguación de términos.
1.5.2 Sistema de búsqueda/respuesta
Un sistema basado en búsqueda/respuesta parte de una consulta expresada en lenguaje natural y debe devolver no un documento que sea relevante (es decir, un documento que contenga la respuesta) sino la propia respuesta (normalmente, un hecho). Proporciona el fragmento de texto en el que se encuentra la respuesta a una pregunta del usuario.
A diferencia de los sistemas de recuperación de la información convencionales que utilizan técnicas estadísticas, los sistemas de búsqueda/respuesta emplean técnicas de PLN (procesamiento de lenguaje natural). Uno de los sistemas de búsqueda/respuesta más conocidos es el correspondiente al START (natural language question answering system) (figura 1.3).
http://www.ai.mit.edu/projects/infolab/globe.html
Figura 1.3 Sistema START de búsqueda/respuesta.
1.6 MOTORES DE BÚSQUEDA E INDEXADORES
Los sistemas de recuperación