Próximo seminario web: Seguridad empresarial para Claude Code | 21 de abril · 11:00 a. m. PST. Regístrese aquí →

¿Qué es la búsqueda por similitud y cómo funciona?

Por TrueFoundry

Actualizado: May 23, 2024

Similarity search illustration showing vector embeddings and nearest neighbor matching for semantic retrieval across large datasets
Resumir con

En el mundo actual basado en los datos, la búsqueda en grandes cantidades de datos para encontrar elementos similares es una operación fundamental que se utiliza en diversas aplicaciones, desde bases de datos hasta motores de búsqueda y sistemas de recomendación. Este proceso, conocido como búsqueda por similitud, implica identificar los elementos que son similares en función de ciertos criterios.

Si bien las búsquedas tradicionales en bases de datos basadas en criterios numéricos fijos (como encontrar empleados dentro de un rango salarial específico) son sencillas, la búsqueda por similitud aborda consultas más complejas. Por ejemplo, un usuario puede buscar «zapatos», «zapatos negros» o un modelo específico como «Nike AF-1 LV8». Estas consultas pueden ser vagas y variadas, y requieren que el sistema comprenda y diferencie conceptos como los diferentes tipos de zapatos.

Importancia y aplicaciones

La búsqueda por similitud es crucial en muchos campos, entre ellos:

  • Comercio electrónico: Recomendar productos similares a los que un usuario ha visto o comprado.
  • Búsqueda de imágenes y vídeos: Búsqueda de imágenes o vídeos visualmente similares en grandes bases de datos.
  • Procesamiento del lenguaje natural: Hacer coincidir documentos de texto, correos electrónicos o artículos similares.
  • Asistencia sanitaria: Identificar casos médicos o secuencias genéticas similares.

El desafío clave en la búsqueda por similitud es tratar con datos a gran escala y, al mismo tiempo, comprender con precisión los significados conceptuales más profundos de los elementos que se buscan. Las bases de datos tradicionales, que se basan en representaciones simbólicas de objetos, son insuficientes en estos escenarios. En cambio, necesitamos técnicas más avanzadas que puedan gestionar las representaciones semánticas de los datos y realizar búsquedas de manera eficiente, incluso a escala: representaciones, métricas de distancia y diferentes algoritmos de búsqueda.

Al aprovechar la búsqueda por similitud, podemos transformar las consultas complejas y abstractas en información procesable, lo que la convierte en una herramienta poderosa en varios dominios. En las siguientes secciones, profundizaremos en el funcionamiento de la búsqueda por similitud, centrándonos en el papel de las representaciones vectoriales, las métricas de distancia y los diferentes algoritmos de búsqueda.

Similarity search diagram showing an image converted into vectors and matched with nearby visually similar images in embedding space.

Representaciones vectoriales

¿Qué son las incrustaciones vectoriales?

En el aprendizaje automático, representamos objetos y conceptos del mundo real como vectores, que son conjuntos de números continuos conocidos como incrustaciones. Este enfoque nos permite captar los significados semánticos más profundos de los elementos. Cuando objetos como imágenes o texto se convierten en incrustaciones vectoriales, su similitud se puede evaluar midiendo la distancia entre estos vectores en un espacio de alta dimensión.

Por ejemplo, en un espacio vectorial, las imágenes similares tendrán vectores que están cerca unos de otros, mientras que las imágenes diferentes estarán más alejadas. Esto permite realizar operaciones matemáticas para buscar y comparar elementos similares de manera eficiente.

Embedding space diagram showing words and objects grouped by semantic similarity across high-dimensional vector representations.

Ejemplos de modelos de incrustación

Se utilizan varios modelos para generar estas incrustaciones vectoriales:

  • Word2Vec: Transforma las palabras en vectores, capturando sus relaciones semánticas.
  • gLove (vectores globales para la representación de palabras): Otro modelo para convertir texto en forma vectorial, centrándose en el contexto global de las palabras.
  • Codificador universal de frases (USE): Crea incrustaciones para oraciones completas, capturando el significado más allá de las palabras individuales.
  • Redes neuronales convolucionales (CNN) como VGG: Se utiliza para generar incrustaciones de imágenes, capturando similitudes visuales.

Estos modelos se entrenan en grandes conjuntos de datos y tareas, lo que les permite producir incrustaciones que representan de manera efectiva el contenido semántico de los elementos.

Medición de la similitud: métricas de distancia

Descripción general de las métricas de distancia

Para determinar qué tan similares son las incrustaciones de dos vectores, utilizamos métricas de distancia. Estas métricas calculan la «distancia» entre los vectores en el espacio vectorial; las distancias más pequeñas indican una mayor similitud.

Distancia euclidiana

La distancia euclidiana mide la distancia en línea recta entre dos puntos en un espacio de alta dimensión. Es la forma más intuitiva de medir la distancia, similar a la distancia geométrica que se puede medir con una regla. Resulta útil cuando los datos son densos y el concepto de distancia física es relevante.

Fórmula:

Euclidean distance formula showing the square root of summed squared differences between vector components x and y across n dimensions.

Distancia de Manhattan

También conocida como distancia L1, la distancia de Manhattan suma las diferencias absolutas de sus coordenadas. Esta métrica es adecuada para estructuras de datos similares a cuadrículas y se puede visualizar como la distancia total de una «manzana» que se recorrería entre los puntos de una cuadrícula.

Fórmula:

Manhattan distance formula showing the sum of absolute differences between vector components x and y across n dimensions.

Similitud de coseno

La similitud de coseno mide el coseno del ángulo entre dos vectores, centrándose en su dirección en lugar de en la magnitud. Esto es particularmente útil para los datos de texto, donde la magnitud del vector (frecuencia de las palabras) puede variar, pero la dirección (patrón de uso de las palabras) es más importante.

Mathematical equation for cosine similarity measuring angle-based similarity between vectors A and B.

Distancia de Chebyshev

La distancia de Chebyshev mide la distancia máxima entre las coordenadas de un par de vectores. Se usa con frecuencia en escenarios de cuadrícula similares a los del ajedrez, donde puedes moverte en cualquier dirección, incluso en diagonal.

Cómo elegir la métrica correcta

La elección de la métrica de distancia correcta depende de las características y requisitos específicos de la aplicación. Estas son algunas pautas para seleccionar la métrica adecuada:

Distancia euclidiana

  • Caso de uso: Ideal para datos densos y continuos en los que el concepto de distancia geométrica es relevante.
  • Ventajas: Fácil de calcular e interpretar; funciona bien en espacios de baja dimensión.
  • Desventajas: Puede ser menos efectivo en espacios de alta dimensión debido a la maldición de la dimensionalidad.
  • Ejemplos: Semejanza de imágenes, cálculos de distancia física.

Distancia de Manhattan

  • Caso de uso: Adecuado para estructuras de datos tipo cuadrícula y escenarios en los que el movimiento está restringido a direcciones ortogonales.
  • Ventajas: En algunos casos, es más resistente a los valores atípicos que a la distancia euclidiana.
  • Desventajas: Es menos intuitivo para los datos que no son de la red; puede ser sensible al escalado de las funciones.
  • Ejemplos: Algoritmos de búsqueda de rutas (como A* en cuadrículas), planificación urbana.

Similitud de coseno

  • Caso de uso: Ideal para datos de texto y datos dispersos de alta dimensión en los que la dirección es más importante que la magnitud.
  • Ventajas: Efectivo para capturar la orientación de los vectores; no se ve afectado por la magnitud de los vectores.
  • Desventajas: Es posible que no funcione bien si los vectores no están normalizados.
  • Ejemplos: Similitud de documentos, sistemas de recomendación para datos basados en texto.

Distancia de Chebyshev

  • Caso de uso: Útil en escenarios en los que la diferencia máxima de coordenadas es fundamental, como en ciertos juegos de mesa.
  • Ventajas: Fácil de calcular; se puede usar en la búsqueda de rutas basada en cuadrículas donde se permite el movimiento diagonal.
  • Desventajas: Es menos común en los conjuntos de datos naturales; puede ser menos intuitivo para los datos continuos.
  • Ejemplos: Algoritmos de ajedrez, robótica, navegación en entornos de cuadrícula.
 Comparison diagram showing Manhattan, Euclidean, Cosine, and Chebyshev distance metrics between two points in vector space.

Realizar una búsqueda de similitud

K-Vecinos más cercanos (K-nn)

K-Nearest Neighbors (k-NN) es un algoritmo popular que se utiliza para encontrar los vectores más cercanos a un vector de consulta determinado. Así es como funciona y sus ventajas y desventajas:

  • Cómo funciona: El algoritmo calcula la distancia entre el vector de consulta y todos los vectores del conjunto de datos. A continuación, selecciona los «k» vectores más cercanos (vecinos) en función de la métrica de distancia especificada (euclidiana, Manhattan, etc.).
  • Ventajas: Fácil de implementar y comprender; no es necesaria una fase de formación modelo.
  • Desventajas: Es costoso desde el punto de vista computacional para grandes conjuntos de datos, ya que implica calcular la distancia a cada vector.
  • Casos de uso: Adecuado para conjuntos de datos más pequeños donde se necesitan los vecinos más cercanos exactos, como en los sistemas de recomendación para bases de usuarios pequeñas.
 K-NN classification diagram showing a new data point assigned to Category A after comparing nearby neighbors in feature space.

Vecino más cercano aproximado (ANN)

Para abordar la ineficiencia de k-NN con grandes conjuntos de datos, los métodos del vecino más cercano aproximado (ANN) proporcionan una alternativa más rápida, aunque menos precisa. El objetivo de los algoritmos ANN es encontrar una «estimación acertada» de los vecinos más cercanos, intercambiando algo de precisión por velocidad.

  • Técnicas de indexación: Los algoritmos de ANN utilizan estructuras de indexación como árboles KD, árboles de bolas y árboles VP para dividir el espacio vectorial y reducir el área de búsqueda.
  • Métodos de hash: Los algoritmos como el hashing sensible a la localidad (LSH) asignan vectores similares a los mismos cubos, lo que reduce el espacio de búsqueda.
  • Agrupación: Métodos como k significan agrupar vectores de grupos, lo que permite que la búsqueda se realice dentro de un clúster en lugar de en todo el conjunto de datos.
  • Ventajas: Significativamente más rápido que el k-NN exacto para grandes conjuntos de datos; escalable a miles de millones de vectores.
  • Desventajas: Es posible que no siempre encuentre a los vecinos más cercanos exactos; depende del equilibrio entre velocidad y precisión.
  • Casos de uso: Motores de búsqueda web, sistemas de recomendación a gran escala, aplicaciones de búsqueda de similitudes en tiempo real.
ANN similarity search diagram showing image indexing into feature vectors and retrieving visually similar car images from a database.

Implementación práctica

Al implementar la búsqueda por similitud en la práctica, varias bibliotecas y marcos pueden ayudar a:

  • FAISS (búsqueda de similitud mediante IA en Facebook): Una biblioteca optimizada para una búsqueda de similitud rápida y eficiente en grandes conjuntos de datos. (Enlace)
  • Molesto (vecinos más cercanos aproximados, oh, sí): Una biblioteca de C++ con enlaces de Python, diseñada para una búsqueda rápida y eficiente en cuanto a memoria. (Enlace)
  • HNSW (Pequeño mundo navegable jerárquico): Un algoritmo y una biblioteca para la búsqueda de ANN que crea un gráfico jerárquico para navegar por el espacio vectorial de manera eficiente. (Enlace)

Aplicaciones de la búsqueda por similitud

La búsqueda por similitud tiene una amplia gama de aplicaciones en varios campos, lo que aprovecha la capacidad de encontrar y comparar artículos similares de forma rápida y precisa. Estas son algunas de las aplicaciones clave:

1. Sistemas de recomendación

Los sistemas de recomendación utilizan la búsqueda por similitud para sugerir productos, contenido o servicios en función de las preferencias y el comportamiento del usuario.

  • Comercio electrónico: Recomendar productos similares a los que un usuario ha visto o comprado.
  • Servicios de streaming: Sugerir películas, programas de TV o pistas de música en función del historial de reproducciones o reproducciones.
  • Publicidad en línea: Mostrar anuncios relevantes para los intereses de un usuario en función de su actividad de navegación.

2. Recuperación de imágenes y vídeos

La búsqueda por similitud es crucial para recuperar imágenes o vídeos visualmente similares de grandes bases de datos.

  • Recuperación de imágenes basada en contenido (CBIR): Búsqueda de imágenes que coincidan con una imagen de consulta en función de la similitud visual.
  • Recomendación de vídeo: Sugerir vídeos similares a los que ha visto un usuario en función del análisis visual del contenido.

3. Procesamiento del lenguaje natural (PNL)

En la PNL, la búsqueda por similitud ayuda en varias aplicaciones basadas en texto al encontrar documentos o frases semánticamente similares.

  • Agrupación de documentos: Agrupar documentos similares para modelar o categorizar temas.
  • Búsqueda semántica: Mejorar los resultados de los motores de búsqueda mediante la comprensión del contexto y el significado de las consultas.
  • Detección de plagio: Identificar textos duplicados o muy similares en los documentos.

4. Detección de fraude

Detectar actividades fraudulentas mediante la búsqueda de patrones y anomalías que se desvían del comportamiento normal.

  • Transacciones financieras: Identificar transacciones inusuales que son similares a los patrones fraudulentos conocidos.
  • Robo de identidad: Detectar los intentos de inicio de sesión o las actividades de la cuenta que coinciden con los patrones de fraudes anteriores.

5. Salud y genómica

La búsqueda de similitudes ayuda en el diagnóstico médico y la investigación genética al comparar los datos de los pacientes y las secuencias genéticas.

  • Imágenes médicas: Comparar las exploraciones de los pacientes para identificar casos similares y ayudar en el diagnóstico.
  • Investigación genómica: Búsqueda de secuencias genéticas similares para estudiar las variaciones genéticas y sus implicaciones.

Desafíos en la búsqueda de similitudes

Gestión de consultas vagas y variadas

Uno de los principales desafíos en la búsqueda por similitud es la naturaleza de las consultas de los usuarios. Las consultas pueden ir desde términos muy genéricos, como «zapatos», hasta artículos muy específicos, como «Nike AF-1 LV8». El sistema debe ser capaz de discernir estos matices y comprender cómo se relacionan los diferentes elementos entre sí. Esto requiere una comprensión profunda del significado semántico detrás de las consultas, que va más allá de la simple coincidencia de palabras clave.

Problemas de escalabilidad

Otro desafío importante es la escalabilidad. En las aplicaciones del mundo real, a menudo trabajamos con conjuntos de datos masivos que pueden incluir miles de millones de elementos. La búsqueda eficiente en volúmenes tan grandes de datos requiere técnicas avanzadas y potentes recursos computacionales. Los sistemas de bases de datos tradicionales, que están diseñados para obtener coincidencias exactas y representaciones simbólicas, tienen dificultades para funcionar bien en estos escenarios.

Conclusión

La búsqueda por similitud, también conocida como búsqueda vectorial, desempeña un papel fundamental en varias aplicaciones modernas. Al aprovechar las incrustaciones vectoriales y las sofisticadas métricas de distancia, la búsqueda por similitud nos permite encontrar y comparar elementos en función de su significado semántico. Estas son las principales conclusiones:

  1. Comprensión de las representaciones vectoriales: La transformación de objetos del mundo real en incrustaciones vectoriales captura sus significados más profundos, lo que permite realizar comparaciones de similitud eficaces.
  2. Elegir la métrica correcta: La selección de la métrica de distancia adecuada (Euclidiana, Manhattan, Cosine, Chebyshev) depende del caso de uso específico y de las características de los datos.
  3. Realizar una búsqueda de similitud: Técnicas como K-Nearest Neighbors (k-NN) y Approximate Nearest Neighbor (ANN) ayudan a encontrar de manera eficiente elementos similares en grandes conjuntos de datos.
  4. Aplicaciones diversas: La búsqueda por similitud es parte integral de los sistemas de recomendación, la recuperación de imágenes y vídeos, la PNL, la detección de fraudes y la atención médica, entre otros campos.

Para aprovechar realmente el poder de la búsqueda por similitud, es esencial comprender los principios subyacentes y elegir las herramientas y técnicas adecuadas para sus necesidades específicas. Ya sea que esté creando un motor de recomendaciones, un sistema de recuperación basado en contenido o un mecanismo de detección de fraudes, la búsqueda por similitud puede mejorar significativamente la precisión y la eficiencia de sus soluciones.

Preguntas frecuentes

¿Qué es una búsqueda por similitud?

La búsqueda por similitud es una técnica para encontrar elementos que son similares en grandes conjuntos de datos. Se basa en incrustaciones vectoriales que capturan el significado conceptual de los datos y, a menudo, utilizan representaciones vectoriales y métricas de distancia. Este proceso es crucial para aplicaciones como las recomendaciones de productos y la comparación de textos, ya que permite a los sistemas identificar la información relevante de manera eficiente y precisa.

¿Cómo realizar una búsqueda de similitud?

Para realizar una búsqueda de similitud, los objetos como texto o imágenes se convierten primero en incrustaciones vectoriales mediante modelos especializados. Luego, las métricas de distancia, como la distancia euclidiana o la distancia del coseno, miden la «distancia» entre estos vectores en un espacio de alta dimensión. Las distancias más pequeñas indican una similitud mayor. Como alternativa, las métricas de similitud, como la similitud entre cosenos, puntúan directamente la aproximación, donde una puntuación más alta (más cercana a 1) significa más similitud.

¿Qué es un ejemplo de búsqueda similar?

Un excelente ejemplo de búsqueda por similitud es una plataforma de comercio electrónico que recomienda productos similares a los que un usuario ha visto o comprado. Esto ayuda a los compradores a descubrir artículos relevantes sin esfuerzo. La búsqueda de imágenes, es decir, la búsqueda de imágenes visualmente similares en vastas bases de datos, es otra aplicación clave que utiliza la tecnología de búsqueda de similitudes.

¿Qué es la búsqueda por similitud en LLM?

En los sistemas impulsados por LLM, especialmente en los canales RAG (Retrieval-Augmented Generation), la búsqueda por similitud funciona junto con el modelo al convertir el texto en incrustaciones vectoriales que capturan el significado semántico. Una capa de recuperación busca en estos vectores para encontrar el contenido más parecido a una consulta y, a continuación, transfiere los resultados al LLM midiendo la distancia entre estos vectores. Es crucial para recuperar información relevante y generar respuestas que tengan en cuenta el contexto, lo que mejora en gran medida la comprensión del modelo y su utilidad para los usuarios.

¿Cuáles son los casos de uso de la búsqueda por similitud?

La búsqueda de similitudes es crucial en muchas aplicaciones. Mejora las recomendaciones de productos de comercio electrónico, facilita la búsqueda de imágenes y vídeos y mejora el procesamiento del lenguaje natural para la comparación de textos. En el sector sanitario, ayuda a identificar casos médicos similares, transformando datos complejos en información útil en todos los sectores.

¿La búsqueda semántica es lo mismo que la búsqueda por similitud?

La búsqueda semántica se basa en la búsqueda por similitud para encontrar elementos en función de su significado, no solo de palabras clave. Utiliza incrustaciones vectoriales para representar los datos semánticamente. Si bien la búsqueda por similitud es la técnica para comparar estos vectores, la búsqueda semántica es la aplicación que la aprovecha para una comprensión contextual más profunda.

La forma más rápida de crear, gobernar y escalar su IA

Inscríbase
Tabla de contenido

Controle, implemente y rastree la IA en su propia infraestructura

Reserva 30 minutos con nuestro Experto en IA

Reserve una demostración

La forma más rápida de crear, gobernar y escalar su IA

Demo del libro

Descubra más

May 23, 2024
|
5 minutos de lectura

¿Qué son las incrustaciones vectoriales? — Una guía completa para 2024

May 22, 2024
|
5 minutos de lectura

¿Qué es la indexación vectorial? - Una guía completa para 2024

May 22, 2024
|
5 minutos de lectura

LLM Embeddings 101: una guía completa 2024

April 22, 2026
|
5 minutos de lectura

Mercados de agentes de IA: el futuro de la automatización de nivel empresarial

No se ha encontrado ningún artículo.
Detailed Guide to What is an AI Gateway?
April 22, 2026
|
5 minutos de lectura

¿Qué es AI Gateway? Conceptos básicos y guía

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

Aprovechar la puerta de enlace de IA de TrueFoundry para el cumplimiento de FIPS

No se ha encontrado ningún artículo.
April 22, 2026
|
5 minutos de lectura

Integración de GraySwan con TrueFoundry

No se ha encontrado ningún artículo.
No se ha encontrado ningún artículo.

Blogs recientes

Realice un recorrido rápido por el producto
Comience el recorrido por el producto
Visita guiada por el producto