¿Qué es la búsqueda de documentos?
La búsqueda de documentos es una búsqueda que trabaja sobre todo con texto libre no estructurado, es decir, no solo con documentos. No importa si busca una página web o un producto o trabaja con contenido seleccionado: para todos los casos, utiliza un motor de búsqueda. Es decir, usted accede a una página web y escribe en el cuadro de texto de búsqueda. A continuación, hace clic en “Buscar” y, si hay suerte, recibe resultados relevantes que satisfacen su objetivo de búsqueda.
Los motores de búsqueda surgieron a partir de la tecnología de base de datos: las bases de datos almacenan información y procesan las consultas de búsqueda de acuerdo a dicha información. Las bases de datos tradicionales trabajan sobre todo con contenido estructurado; los datos se organizan en tablas y columnas, con un esquema incorporado. El trabajo de la base de datos es recuperar todas las filas de datos, con base en las consultas que coincidan con los valores de las columnas. Los motores de búsqueda trabajan con datos estructurados (documentos), los cuales contienen metadatos y grandes bloques de texto no estructurado (texto libre). Dichos motores utilizan reglas lingüísticas para desglosar esos bloques de texto de gran tamaño en términos que coincidan con búsquedas. Además, los motores de búsqueda cuentan con una capacidad de clasificación integrada para ordenar los resultados y situar en primer lugar los más relevantes. Mientras que las bases de datos relacionales y NoSQL recuperan todos los resultados, los motores de búsqueda recuperan los mejores.
Las aplicaciones de motores de búsqueda se dividen en tres grandes categorías: búsqueda de documentos, la cual trabaja sobre todo con texto libre no estructurado; búsqueda para comercio electrónico, que trabaja con una combinación de datos estructurados y no estructurados, y descarga de consultas, que trabaja principalmente con datos estructurados.
¿La búsqueda de documentos trabaja con metadatos?
En la búsqueda de documentos, se busca en el documento principal, que puede ser corto como un párrafo o largo como miles de páginas. Los documentos incluyen una variedad de campos diferentes, entre los que hay campos de texto sin estructura (título y resumen), campos semiestructurados (autor) y campos estructurados (fecha de publicación, grupo de origen o categoría), que son los metadatos. El motor de búsqueda gestiona una combinación de texto y metadatos en las consultas de los usuarios.
¿Cuáles son los principales desafíos de la búsqueda de documentos?
Los principales desafíos de la búsqueda de documentos se clasifican en dos áreas: ingesta y preparación de datos, y relevancia de la búsqueda.
En los casos de uso de la búsqueda de documentos, el grupo de documentos (corpus) se origina a partir de contenido generado por los usuarios u otro contenido sin seleccionar. Este contenido suele incluir erratas u otros errores, repeticiones y datos que no tienen sentido. Antes de cargar estos datos en un motor de búsqueda, es necesario seleccionarlos, limpiarlos y normalizarlos. Una vez preparados, hay que cargarlos en el motor (mediante llamadas a las API de ingesta). Por último, se necesita un proceso para actualizar los documentos a medida que vayan cambiando.
El valor principal de la búsqueda de documentos es recuperar documentos que sean relevantes para la consulta del usuario (relevancia de la búsqueda). Durante la recuperación, el motor de búsqueda puntúa y ordena todos los documentos coincidentes mediante una medida estadística (BM25). BM25 utiliza la exclusividad del término de búsqueda combinada con su recuento en los documentos coincidentes. Cuantas más veces coincida la consulta con más términos únicos, mayor será la puntuación. Debe ajustar la función de puntuación para su conjunto de datos en concreto; las técnicas de machine learning (ML) le ayudan a mejorar la clasificación. La búsqueda será tan buena como la relevancia de los documentos que recupere, y siempre aspira a lo mejor.
¿Cuáles son otros casos de uso de búsqueda?
Búsqueda para comercio electrónico
Puede acceder a un motor de comercio electrónico para buscar y comprar productos de un catálogo de productos disponibles. Estos productos contienen muchos campos de metadatos (talla, color, marca, etc.) junto con campos más largos, como título, descripción del producto y valoraciones. El trabajo principal del motor consiste en recuperar los resultados más relevantes, lo que genera ingresos. Los diseñadores de sitios utilizan muchas herramientas para crear una buena función de relevancia, desde valores numéricos integrados hasta modelos de ML que se basan en el comportamiento de los usuarios.
Para mejorar la experiencia de los usuarios finales, los sitios de comercio electrónico normalmente agregan una búsqueda por facetas. El motor proporciona un recuento en buckets para los valores de diferentes campos (talla, color, etc.) y la IU ofrece al usuario una lista seleccionable que se utiliza para limitar los resultados.
Algunos tipos de búsqueda para comercio electrónico dependen en gran medida de la personalización y las recomendaciones. Si una compradora busca “vestidos”, el motor de búsqueda debe buscar vestidos en los que la compradora pueda estar interesada, a pesar de que la consulta en sí es muy amplia. Como ayuda, se pueden utilizar las métricas de similitudes, como k vecinos más cercanos (k-NN).
Búsqueda de conjuntos de datos seleccionados
Realice una búsqueda en un conjunto de datos seleccionados, como el repositorio de documentos de una empresa (datos de ensayos clínicos, documentos legales, documentos de inmobiliarias, etc.). Los motores de búsqueda incluyen reglas lingüísticas y otras características específicas de los idiomas que les ayudan a descomponer bloques largos de texto en términos constitutivos (palabras de un campo o un bloque largo de texto) para buscar coincidencias. El lenguaje de consulta enriquecido permite buscar combinaciones de términos (como “vestido largo sin mangas”) en estos bloques largos de texto. No obstante, el motor no recupera todo lo que coincida, sino que usa la puntuación por relevancia para clasificar y ordenar los documentos y devuelve solo las mejores coincidencias.
Descarga de consultas
Los motores de búsqueda contienen estructuras de datos especializadas para facilitar la búsqueda de gran volumen y baja latencia. Lo más importante de estas estructuras es el índice invertido, que asigna términos individuales a una lista de documentos que incluyan dichos términos. Debido a estas estructuras de datos, los motores de búsqueda superan a las bases de datos relacionales en términos de procesamiento de consultas. La desventaja es que los motores de búsqueda no son relacionales. Es habitual ver un conjunto de base de datos relacional y motor de búsqueda. La base de datos relacional se utiliza para ofrecer los datos de la aplicación y el motor de búsqueda, para ofrecer una búsqueda relevante de baja latencia en dichos datos.
¿Quién crea la búsqueda de documentos?
Para crear una experiencia de búsqueda enriquecida y agradable, se necesitan muchas funciones de trabajo. Los desarrolladores integran una solución de búsqueda, crean una interfaz de búsqueda y comprenden cómo estructurar los datos para obtener los mejores resultados de búsqueda. Los encargados de producción expresan requisitos para la estructura de los metadatos y las experiencias de usuario de las interfaces de búsqueda. Los científicos de datos seleccionan datos de los orígenes, realizan un seguimiento del comportamiento de los usuarios y trabajan con él. Los ejecutivos establecen KPI de negocio que orientan a los equipos de desarrollo y producción en el cumplimiento de los objetivos empresariales para el motor.
¿Qué le depara a la búsqueda de documentos?
Los motores de búsqueda se han optimizado para combinar términos. Si busca “sofá de 2,5 metros”, debería obtener resultados que sean sofás de 2,5 metros y, para ello, “sofá” se combina con “2,5” y “metros”. Esto se conoce como “búsqueda por palabras clave”. En muchos casos, las personas que realizan las búsquedas no conocen los términos exactos que buscan y quieren buscar por significado. Esto se conoce como búsqueda semántica y se encuentra en el límite entre las tecnologías de ML y búsqueda. Con la búsqueda semántica, se utilizan consultas como “sitio cómodo para sentarse junto al fuego” a fin de recuperar artículos como un sofá de 2,5 metros.
La búsqueda semántica necesita técnicas de ML. Debe crear un espacio vectorial de artículos y consultas y, a continuación, usar los cálculos de similitudes de vectores para buscar artículos que estén cerca en dicho espacio. Con la búsqueda de vectores, un documento no necesita ninguna palabra ni sinónimo en común con una consulta para que sea relevante. Por ejemplo, una búsqueda sobre “mantenimiento de bicicletas” puede coincidir con un documento sobre “lubricación de cambios de marchas”, porque el algoritmo de ML sabe que “lubricación de cambios de marchas” suele aparecer cerca de los debates de mantenimiento de bicicletas.
¿Cómo mejorar los resultados de búsqueda?
La clave de una búsqueda efectiva de documentos y para comercio electrónico es la relevancia, es decir, ¿los resultados de búsqueda satisfacen las necesidades de la persona que la realiza? Los motores de búsqueda intentan situar los mejores resultados en la parte superior mediante una variedad de técnicas. Esto se denomina “clasificación por relevancia”. Las bases de datos devuelven todo lo que coincida, pero los motores de búsqueda están optimizados para puntuar los elementos relevantes.
- Una búsqueda puede abarcar varios campos con ponderaciones diferenciales. Por ejemplo, si busca en una base de datos de películas, es posible que quiere abarcar campos como el título, el director y el actor y asignar una mayor ponderación a las coincidencias de título que a las de actor.
- Considere la posibilidad de ajustar los resultados de búsqueda en cuanto a antigüedad. Agregue un campo de fecha de lanzamiento al índice y una función de decaimiento exponencial basada en dicha fecha a la función de puntuación.
- Considere la posibilidad de agregar facetas o filtros de los resultados de búsqueda para ayudar a los usuarios a profundizar en elementos concretos. Muchos sistemas de búsqueda de documentos admiten la creación de facetas en los metadatos, que normalmente se presentan como categorías a lo largo del lado izquierdo de la página de resultados de búsqueda.
- Considere la posibilidad de agregar sinónimos. Los sinónimos pueden ayudar a los usuarios finales a encontrar los resultados que buscan. En el mundo de la moda, un jersey es un suéter o un pulóver. Los usuarios finales deberían encontrar los mismos resultados tanto si buscan “jersey” como “suéter”. Si agrega sinónimos, la búsqueda puede devolver estos resultados.
¿Cómo utilizan los clientes los motores de búsqueda?
La búsqueda de documentos abarca muchas aplicaciones diferentes.
- Los sitios de comercio electrónico utilizan la búsqueda de documentos para recuperar productos que los usuarios quieren comprar.
- Los sitios de fotos usan la búsqueda de documentos para buscar fotos en función de metadatos, como el título y la descripción, o incluso en función de vectores de imágenes coincidentes.
- Los usuarios del ámbito legal utilizan la búsqueda de documentos para buscar jurisprudencia pertinente.
- Los médicos usan la búsqueda de documentos con el objetivo de encontrar medicamentos para las afecciones de los pacientes.
- Las soluciones de administración de la relación con el cliente (CRM) usan la búsqueda de documentos para recuperar notas, interacciones y clientes a los que dirigirse.
Cuando necesite buscar algo, utilice un motor de búsqueda.
¿Cuáles son las ofertas de AWS destinadas a la búsqueda de documentos?
- Amazon OpenSearch Service es un kit de herramientas para desarrolladores que pretenden crear una solución de búsqueda.
- Amazon Kendra es una solución lista para usar diseñada para realizar búsquedas inteligentes.
- Amazon CloudSearch se ha diseñado para realizar búsquedas sencillas.
Los pasos siguientes de la búsqueda de documentos de AWS
Obtenga acceso inmediato al nivel Gratuito de AWS.
Comience a crear en la consola de administración de AWS.