En la recuperación de texto , la búsqueda de texto completo se refiere a las técnicas para buscar un solo documento almacenado en una computadora o una colección en una base de datos de texto completo . La búsqueda de texto completo se distingue de las búsquedas basadas en metadatos o en partes de los textos originales representados en bases de datos (como títulos, resúmenes, secciones seleccionadas o referencias bibliográficas).
En una búsqueda de texto completo, un motor de búsqueda examina todas las palabras de cada documento almacenado mientras intenta encontrar una coincidencia con los criterios de búsqueda (por ejemplo, el texto especificado por un usuario). Las técnicas de búsqueda de texto completo aparecieron en la década de 1960, por ejemplo, IBM STAIRS a partir de 1969, y se volvieron comunes en las bases de datos bibliográficas en línea en la década de 1990. [ verificación necesaria ] Muchos sitios web y programas de aplicación (como el software de procesamiento de textos ) proporcionan capacidades de búsqueda de texto completo. Algunos motores de búsqueda web, como el antiguo AltaVista , emplean técnicas de búsqueda de texto completo, mientras que otros indexan solo una parte de las páginas web examinadas por sus sistemas de indexación. [ 1 ]
Cuando se trabaja con una pequeña cantidad de documentos, es posible que el motor de búsqueda de texto completo escanee directamente el contenido de los documentos con cada consulta , una estrategia llamada " escaneo en serie ". Esto es lo que hacen algunas herramientas, como grep , al realizar búsquedas.
Sin embargo, cuando el número de documentos a buscar es potencialmente grande, o la cantidad de consultas de búsqueda a realizar es sustancial, el problema de la búsqueda de texto completo a menudo se divide en dos tareas: indexación y búsqueda. La etapa de indexación escaneará el texto de todos los documentos y creará una lista de términos de búsqueda (a menudo llamada índice , pero más correctamente llamada concordancia ). En la etapa de búsqueda, cuando se realiza una consulta específica, solo se hace referencia al índice, en lugar del texto de los documentos originales. [2]
El indexador creará una entrada en el índice para cada término o palabra que se encuentre en un documento y posiblemente anotará su posición relativa dentro del documento. Por lo general, el indexador ignorará las palabras vacías (como "the" y "and") que son comunes y no tienen el suficiente significado como para ser útiles en la búsqueda. Algunos indexadores también emplean la derivación específica del idioma en las palabras que se indexan. Por ejemplo, las palabras "drives", "drove" y "driven" se registrarán en el índice bajo la palabra conceptual única "drive".
La recuperación mide la cantidad de resultados relevantes que devuelve una búsqueda, mientras que la precisión es la medida de la calidad de los resultados devueltos. La recuperación es la relación entre los resultados relevantes devueltos y todos los resultados relevantes. La precisión es la relación entre la cantidad de resultados relevantes devueltos y la cantidad total de resultados devueltos.
El diagrama de la derecha representa una búsqueda de baja precisión y baja recuperación. En el diagrama, los puntos rojos y verdes representan la población total de resultados de búsqueda potenciales para una búsqueda determinada. Los puntos rojos representan resultados irrelevantes y los puntos verdes representan resultados relevantes. La relevancia se indica por la proximidad de los resultados de búsqueda al centro del círculo interior. De todos los resultados posibles que se muestran, los que realmente fueron devueltos por la búsqueda se muestran sobre un fondo azul claro. En el ejemplo, solo se devolvió 1 resultado relevante de 3 resultados relevantes posibles, por lo que la recuperación es una proporción muy baja de 1/3, o 33%. La precisión para el ejemplo es un 1/4 muy bajo, o 25%, ya que solo 1 de los 4 resultados devueltos fue relevante. [3]
Debido a las ambigüedades del lenguaje natural , los sistemas de búsqueda de texto completo suelen incluir opciones como el filtrado para aumentar la precisión y la búsqueda de raíces para aumentar la recuperación. La búsqueda de vocabulario controlado también ayuda a aliviar los problemas de baja precisión al etiquetar los documentos de tal manera que se eliminan las ambigüedades. La compensación entre precisión y recuperación es simple: un aumento de la precisión puede reducir la recuperación general, mientras que un aumento de la recuperación reduce la precisión. [4]
Es probable que la búsqueda de texto completo recupere muchos documentos que no son relevantes para la pregunta de búsqueda deseada . Dichos documentos se denominan falsos positivos (consulte Error de tipo I ). La recuperación de documentos irrelevantes suele deberse a la ambigüedad inherente del lenguaje natural . En el diagrama de ejemplo de la derecha, los falsos positivos están representados por los resultados irrelevantes (puntos rojos) que arrojó la búsqueda (sobre un fondo azul claro).
Las técnicas de agrupamiento basadas en algoritmos bayesianos pueden ayudar a reducir los falsos positivos. Para un término de búsqueda de "banco", se puede utilizar el agrupamiento para categorizar el universo de documentos/datos en "institución financiera", "lugar para sentarse", "lugar para almacenar", etc. Según la frecuencia con la que aparezcan palabras relevantes para las categorías, los términos de búsqueda o un resultado de búsqueda se pueden colocar en una o más de las categorías. Esta técnica se está implementando ampliamente en el dominio del descubrimiento electrónico . [ Aclaración necesaria ]
Las deficiencias de la búsqueda de texto completo se han abordado de dos maneras: proporcionando a los usuarios herramientas que les permiten expresar sus preguntas de búsqueda con mayor precisión y desarrollando nuevos algoritmos de búsqueda que mejoran la precisión de la recuperación.
El algoritmo PageRank desarrollado por Google da más importancia a los documentos que tienen enlaces a otras páginas web . [6] Véase Motor de búsqueda para ver ejemplos adicionales.
A continuación se presenta una lista parcial de productos de software disponibles cuyo propósito principal es realizar búsquedas e indexaciones de texto completo. Algunos de ellos se acompañan de descripciones detalladas de su teoría de funcionamiento o algoritmos internos, que pueden brindar información adicional sobre cómo se puede realizar la búsqueda de texto completo.