Definición

¿Qué es la búsqueda de vectores?

La búsqueda de vectores aprovecha el machine learning (ML) para capturar el significado y el contexto de los datos no estructurados, incluido el texto y las imágenes, y transformarlos en una representación numérica. La búsqueda de vectores, que se usa con frecuencia para la búsqueda semántica, encuentra datos similares usando algoritmos de vecino más cercano aproximado (ANN). En comparación con la búsqueda de palabras clave tradicional, la búsqueda de vectores logra resultados más relevantes y se ejecuta más rápido.

Video thumbnail

¿Por qué es importante la búsqueda de vectores?

¿Con qué frecuencia buscas algo, pero no sabes con certeza cómo se llama? Quizá sabes qué hace o tienes una descripción. Pero sin las palabras clave, solo te queda buscar.

La búsqueda de vectores vence esta limitación y te permite buscar por lo que quieres decir. Puede brindar con rapidez respuestas a consultas basadas en la búsqueda por similitud. Esto es gracias a que la incrustación de vectores captura los datos no estructurados más allá del texto, como videos, imágenes y audio. Puede brindar con rapidez respuestas a búsquedas basadas en el contexto. Eso se debe a que las incrustaciones de vectores capturan sinónimos y asociaciones; básicamente, el significado detrás de la búsqueda. Puedes mejorar la experiencia de búsqueda combinando la búsqueda de vectores con filtrado y agregaciones a fin de optimizar la relevancia implementando una búsqueda híbrida y combinándola con la puntuación tradicional.

Video thumbnail

¿Cómo funciona un motor de búsqueda de vectores?

Los motores de búsqueda de vectores (conocidos como bases de datos de vectores, búsqueda semántica o búsqueda coseno) buscan el vecino más cercano de una búsqueda (vectorizada) dada.

Mientras que la búsqueda tradicional depende de la mención de palabras clave, similitud léxica y frecuencia de las instancias de palabras, los motores de búsqueda de vectores usan distancias en el espacio de incrustación para representar la similitud. La búsqueda de datos relacionados se convierte en la búsqueda de vecinos más cercanos de tu consulta.

  • Incrustación de vectores

    Las incrustaciones de vectores son la representación numérica de los datos y el contenido relacionado almacenados en vectores (densos) de alta dimensionalidad. Los modelos que generan incrustaciones pueden entrenarse con millones de ejemplos para brindar resultados más relevantes y precisos. En algunos casos, los datos numéricos que recopilaste o diseñaste para representar características clave de los documentos pueden usarse como incrustaciones. Solo necesitas la capacidad de buscar con eficiencia.

  • Puntuación de similitud

    Un motor de búsqueda de vectores se centra en la idea de que si los datos y los documentos son similares, sus vectores serán similares. Al indexar consultas y documentos con incrustaciones de vectores, encontrarás documentos similares como vecinos más cercanos de tu búsqueda.

  • Algoritmo de ANN

    Los algoritmos de vecino más cercano tradicionales, como el algoritmo de k vecino más cercano (kNN), llevan a un tiempo de ejecución excesivo y agotan los recursos informáticos. El ANN sacrifica la precisión perfecta a cambio de una ejecución eficiente en espacios de incrustación de alta dimensionalidad, a escala.

Casos de uso de búsqueda de vectores

La búsqueda de vectores no solo impulsa la próxima generación de experiencias de búsqueda, abre la puerta a una variedad de nuevas posibilidades.

  • Búsqueda semántica

    La búsqueda de vectores impulsa la búsqueda semántica o por similitud. Como el significado y el contexto se capturan en la incrustación, la búsqueda de vectores encuentra lo que los usuarios quieren decir, sin necesitar una coincidencia exacta de palabras clave. Funciona con datos textuales (documentos), imágenes y audio. Encuentra con facilidad y rapidez productos que son similares o están relacionados con la búsqueda.

  • Recomendaciones

    El modelo que genera la incrustación aprende a reconocer documentos similares y sus vectores en el espacio de incrustación. Por ejemplo, una aplicación puede recomendar películas o productos que les hayan gustado a otras personas que compraron lo mismo que tú. Pero debes asegurarte de que las incrustaciones se deriven con cierto grado de popularidad o probabilidad de agradar como métrica objetivo.

    Las distancias de vectores pueden combinarse con otras métricas a fin de que las recomendaciones logren varios objetivos. Por ejemplo, clasifica las recomendaciones de productos según los puntajes de satisfacción y el potencial de ingresos.

  • Responder preguntas

    Se puede combinar la conversión de documentos a incrustaciones de texto con el procesamiento de lenguaje natural (NLP) moderno para brindar respuestas de texto completas a las preguntas. Este enfoque les ahorra a los usuarios estudiar manuales extensos y empodera a tus equipos para brindar respuestas más rápido.

    Un modelo de transformador para "responder preguntas" puede tomar la representación de la incrustación de texto correspondiente a la base de conocimientos de los documentos y tu pregunta actual para brindar la coincidencia más similar como una "respuesta".

Más cosas que puedes hacer con la búsqueda de vectores

No te detengas con la búsqueda semántica.

  • Buscar en datos no estructurados

    Busca en cualquier dato no estructurado. Puedes crear incrustaciones para mediciones de sensores, audio, imágenes o texto.

  • Filtrar metadatos

    Filtra los resultados de búsqueda de vectores usando metadatos. Mantén la recuperación sin sacrificar la velocidad aplicando un filtro en línea con la búsqueda de vecino más cercano aproximado (ANN).

  • Reclasificar los resultados de búsqueda

    Las similitudes de vectores pueden interpretarse como puntuaciones de similitud que puedes reclasificar con otros datos. Eso incluye campos estáticos que ya se encuentran en la base de datos de la búsqueda de vectores y propiedades nuevas aplicando modelos de machine learning.

  • Puntuación híbrida

    Para una mayor optimización, combina las similitudes de vectores con puntuaciones de BM25F, lo que se conoce como puntuación híbrida. Esto te permite tener imágenes clasificadas por similitud de vectores e implementar BM25F, lo cual puede brindar mejores clasificaciones de texto.

Cómo dar los primeros pasos

Búsqueda de vectores y NLP simplificados con Elastic

No tienes que mover montañas para implementar la búsqueda de vectores y aplicar los modelos de NLP. Con Elasticsearch Relevance Engine™ (ESRE), obtienes un kit de herramientas para compilar aplicaciones de búsqueda de AI que se puedan usar con AI generativa y modelos de lenguaje grandes (LLM).

Con el ESRE, puedes compilar aplicaciones de búsqueda innovadoras, generar incrustaciones, almacenar vectores y buscar en ellos, e implementar la búsqueda semántica con Learned Sparse Encoder de Elastic. Conoce más sobre cómo usar Elasticsearch como tu base de datos de vectores.

Video thumbnail
  • Búsqueda semántica lista para usar

    Elastic Learned Sparse Encoder proporciona búsqueda semántica sumamente relevante lista para usar, sin adaptación para el dominio. Está disponible con solo un clic mientras configuras la aplicación de búsqueda. El modelo amplía las búsquedas con palabras clave relacionadas y puntuaciones de relevancia, que aprendió durante el proceso de entrenamiento, para que no tengas que configurar sinónimos, y estas son fáciles de interpretar, a diferencia de las incrustaciones de vectores densos.

  • Modelos de lenguaje grandes

    Brinda a los LLM información específica del negocio mediante tus datos privados (no solo los datos de entrenamiento públicos). Usa Elasticsearch y accede a la AI generativa con API y plugins integrados en el LLM que prefieras.

  • Incrustación de texto y más

    Conoce cómo asignar sentimientos y otras categorías a tus datos con Elastic. Aplica el reconocimiento de entidades con nombre (NER) para mejorar las experiencias de búsqueda con metadatos adicionales.