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, incluidos el texto y las imágenes, y los transforma 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 arroja resultados más relevantes y se ejecuta más rápido.

Video thumbnail

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

¿Qué tan seguido has buscado algo, pero no estás seguro de cómo se llama? Quizá sepas qué hace o tengas una descripción. Pero sin las palabras clave, solo te quedas buscando.

La búsqueda de vectores supera esta limitación, ya que te permite buscar por lo que quieres decir. Puede brindar rápidamente respuestas a consultas basadas en la búsqueda por similitud. Esto se debe a que la incrustación de vectores captura los datos no estructurados más allá del texto, como videos, imágenes y audio. Puedes mejorar la experiencia de búsqueda combinando la búsqueda de vectores con filtrado y agregaciones para optimizar la relevancia implementando una búsqueda híbrida y combinándola con la puntuación tradicional.

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

Los motores de búsqueda de vectores, conocidos como bases de datos vectoriales, búsqueda semántica o búsqueda de coseno, encuentran los vecinos más cercanos a una búsqueda (vectorizada) determinada.

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 búsqueda.

Diagrama de cómo funciona un motor de búsqueda de vectores usando incrustaciones de vectores
  • 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 exacta 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 quieres 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 tu 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 simpatía 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 solo en la búsqueda semántica.

  • Buscar en datos no estructurados

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

  • Filtrar metadatos

    Filtra los resultados de búsqueda de vectores con 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 PNL. Con el Elasticsearch Relevance Engine™ (ESRE), obtienes un kit de herramientas para crear aplicaciones de búsqueda de AI que se pueden usar con AI generativa y modelos de lenguaje grandes (LLM).

Con ESRE, puedes crear aplicaciones de búsqueda innovadoras, generar incrustaciones, almacenar y buscar vectores, e implementar la búsqueda semántica con el Learned Sparse Encoder de Elastic. Obtén más información sobre cómo usar Elasticsearch como tu base de datos vectorial o prueba este aprendizaje práctico a tu propio ritmo para la búsqueda de vectores.

Video thumbnail
  • 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 las API y los plugins integrados en el LLM que prefieras.

  • Incrustación de texto y más

    Obtén información sobre 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.