¿Qué es la similitud coseno?

Vista de ángulo alto de peatones en Paternoster Square, Londres, Reino Unido

Autores

Tom Krantz

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

¿Qué es la similitud de coseno?

La similitud del coseno es una métrica de similitud ampliamente empleada que determina qué tan similares son dos puntos de datos en función de la dirección a la que apuntan en lugar de su longitud o tamaño. Es especialmente eficaz en espacios de alta dimensión donde las métricas tradicionales basadas en la distancia pueden tener problemas.

 

Calcular la similitud del coseno requiere medir el coseno del ángulo (theta) entre dos vectores distintos de cero en un espacio de producto interno. Esta medida produce una puntuación de similitud de coseno. Los valores de similitud de coseno oscilan entre -1 y 1:

  • Una puntuación de similitud de coseno de 1 indica que los vectores apuntan exactamente en la misma dirección.
  • Un puntaje de similitud de coseno de 0 indica que los vectores son ortogonales, lo que significa que no tienen similitud direccional.
  • Una puntuación de similitud de coseno de -1 indica que los vectores apuntan en direcciones exactamente opuestas.

Piense en ello como comparar flechas: si apuntan en la misma dirección, son muy similares. Los que están en ángulo recto no están relacionados, y las flechas que apuntan en direcciones opuestas son diferentes.

Este enfoque angular es fundamental para muchos sistemas de machine learning (ML), procesamiento de lenguaje natural (PLN) e inteligencia artificial (IA). Estas tecnologías se basan en representaciones de datos basadas en vectores, lo que significa que los datos se han convertido a una forma numérica para capturar su significado y similitud con otros datos.

Por ejemplo, un chatbot puede utilizar técnicas de incorporación de palabras para convertir texto en forma vectorial, modelos de aprendizaje profundo para comprender la intención y algoritmos de búsqueda de similitud para recuperar la respuesta más relevante de una base de datos. La similitud del coseno permite cada uno de estos pasos.

¿Por qué es importante la similitud del coseno?

Ya sea para predecir la siguiente palabra en una oración o sugerir un lugar cercano para comer, muchos de los sistemas que dan forma a nuestras vidas digitales se basan en medir la similitud. Tecnologías como los motores de recomendación y los modelos de lenguaje de gran tamaño (LLM) utilizan la similitud de coseno para identificar qué contenido es más relevante y qué respuestas tienen más "sentido".

Estas decisiones se toman analizando las relaciones entre los puntos de datos en conjuntos de datos dispersos o de alta dimensión . En el análisis de texto clásico, los documentos a menudo se convierten en representaciones numéricas utilizando técnicas como frecuencia de término-frecuencia inversa del documento (tf-idf), una forma avanzada de Bag of words (BoW). Mientras que BoW califica la frecuencia con la que aparece un término en un documento, tf-idf ajusta esa puntuación en función de lo común o rara que sea la palabra en un conjunto de datos más grande.

Los sistemas más avanzados utilizan redes neuronales para generar incorporaciones vectoriales,representaciones numéricas de puntos de datos que expresan diferentes tipos de datos como una matriz de números. Por ejemplo, palabras como "médico" y "enfermera" pueden aparecer una cerca de la otra en el espacio vectorial, lo que significa que el modelo las ve como relacionadas. Estas incorporaciones a menudo pasan por pasos adicionales, como el análisis de componente principales (PCA), para hacer que las comparaciones a gran escala sean más rápidas y eficientes.

En ambos enfoques, la similitud del coseno mide qué tan cerca se alinean los vectores resultantes, lo que ayuda a los sistemas a identificar patrones y relaciones en conjuntos de datos complejos. En PLN, IA y ciencia de datos, la similitud del coseno desempeña un papel central en:

Clasificación por relevancia

Los motores de búsqueda utilizan la similitud de coseno para hacer coincidir las consultas de los usuarios con documentos relevantes, mejorando tanto la precisión como la calidad de la clasificación.

Comparación semántica

Las redes neuronales y los LLM comparan las incorporaciones vectoriales mediante la similitud del coseno para evaluar la cercanía semántica entre las entradas.

Recomendaciones personalizadas

Los sistemas de recomendación aplican técnicas de búsqueda de similitud para sugerir productos, medios o contenido que se alinee con el comportamiento y las preferencias del usuario.

Modelado de temas

La similitud de coseno respalda el modelado de temas al agrupar documentos con temas similares. Estas distribuciones de temas normalmente se generan empleando métodos como la asignación de Dirichlet latente (LDA).

Más allá de los casos de uso de texto, la similitud de coseno también admite cualquier escenario en el que los patrones multidimensionales deban compararse de forma rápida y precisa, como el reconocimiento de imágenes, la detección de fraudes y la segmentación de clientes.

Academia de IA

¿Es la gestión de datos el secreto de la IA generativa?

Explore por qué los datos de alta calidad son esenciales para el uso exitoso de la IA generativa.

¿Cómo funciona la similitud de coseno?

En esencia, la similitud del coseno mide el grado de alineación de dos vectores calculando el coseno del ángulo entre ellos.

En aplicaciones del mundo real, como comparar documentos, los datos se representan como vectores en un espacio multidimensional. Cada dimensión puede representar una palabra, atributo o acción específicos, y el valor en esa dimensión refleja cuán prominente o importante es ese elemento.

Para calcular la similitud del coseno:

  1. Encuentre el producto escalar: multiplique los valores correspondientes en cada vector y sume los resultados. Esto captura cuán direccionalmente alineados están los vectores.

  2. Determinar la magnitud: la magnitud (o longitud) de cada vector se calcula utilizando la raíz cuadrada de la suma de sus componentes al cuadrado.

  3. Calcular la similitud del coseno: La similitud del coseno se obtiene dividiendo el producto escalar (paso 1) por el producto de las magnitudes de los vectores (paso 2). El resultado es un puntaje de similitud de coseno entre -1 y 1.

La fórmula se puede representar como:

Similitud de coseno = (A · B) / (||A|| × ||B||)

Dónde:

  • A · B es el producto punto de los vectores A y B
  • ||R|| es la magnitud (longitud) del vector A
  • ||B|| es la magnitud del vector B

La puntuación resultante oscila entre -1 y 1.

Para ilustrar mejor, imagine dos palabras: "rey" y "reina".

Ambos se utilizan en contextos similares. Cuando es procesada por un LLM, cada palabra se traduce en una incorporación vectorial que captura el significado semántico de un término en función de su uso en millones de oraciones. Dado que "rey" y "reina" aparecen con frecuencia cerca de palabras como "real", "trono" y "monarca", sus incorporaciones resultantes apuntarán casi en la misma dirección.

Consideremos ahora una tercera palabra, "apple." Aunque puede aparecer en algunos de los mismos documentos, se asocia más a menudo a términos como "fruta," " huerto" o "crujiente." Su vector apunta en una dirección casi opuesta, lo que resulta en una menor similitud coseno. Al trazar un gráfico, las flechas "rey" y "reina" se desplazarían casi una al lado de la otra, mientras que la flecha "manzana" saldría disparada en un ángulo notable.

Para optimizar el rendimiento y permitir una recuperación más rápida de coincidencias relevantes, muchas organizaciones almacenan estas incorporaciones en bases de datos vectorialesespecializadas, herramientas diseñadas para indexar vectores de alta dimensión para mejorar la búsqueda y devolver los resultados más similares.

Similitud del coseno frente a otras métricas de similitud

La similitud de coseno es solo un enfoque en un ecosistema más amplio de métricas de similitud. Cada métrica está diseñada para evaluar la similitud de diferentes maneras y es más adecuada para tipos específicos de datos dentro de un espacio multidimensional. Ejemplos:

Distancia euclidiana

Esta métrica calcula la distancia en línea recta entre dos puntos en un espacio vectorial. Es intuitivo y se usa comúnmente en el análisis de datos , especialmente para comparar datos numéricos o características físicas. Sin embargo, en espacios de alta dimensión donde los vectores tienden a converger en la distancia, la distancia euclidiana se vuelve menos confiable para tareas como el clúster o la recuperación de información .

Similitud de Jaccard

La similitud de Jaccard mide la superposición entre dos conjuntos de datos dividiendo el tamaño de la intersección por el tamaño de la unión. Se aplica comúnmente a conjuntos de datos que involucran datos categóricos o binarios, como etiquetas, clics o vistas de productos, y es particularmente útil para los sistemas de recomendación. Si bien Jaccard se enfoca en la presencia o ausencia, no tiene en cuenta la frecuencia o la magnitud.

Producto punto

El producto escalar de los vectores A y B refleja lo cerca que apuntan en la misma dirección, pero sin normalizar las magnitudes. Este factor lo hace sensible a escalar: los vectores con valores grandes pueden parecer más similares incluso si su dirección es diferente.

La similitud del coseno mejora esta métrica al dividir el producto punto de los vectores por el producto de las magnitudes de los vectores (la fórmula de similitud del coseno). Por lo tanto, la similitud del coseno es más estable para comparar vectores distintos de cero de diferentes longitudes, especialmente en conjuntos de datos de alta dimensión.

En la práctica, las organizaciones suelen utilizar medidas de similitud de coseno junto con otras métricas según la estructura del conjunto de datos y el tipo de disimilitud que desean evitar.

Por ejemplo, la búsqueda de similitudes en aplicaciones de NLP o LLM a menudo combina la distancia del coseno con modelos de incorporación entrenados en algoritmos de aprendizaje profundo. Los cálculos de similitud de coseno también se integran en herramientas de código abierto como Scikit-learn, TensorFlow y PyTorch, lo que facilita a los científicos de datos calcular la similitud de coseno en conjuntos de datos a gran escala.

Beneficios de la similitud del coseno

Dada su función en innumerables sistemas, la similitud de coseno ofrece varias ventajas sobre las métricas de similitud tradicionales:

  • Robusto en el espacio de alta dimensión: la similitud del cosino se desempeña de manera confiable en entornos de alta dimensión donde otras métricas basadas en la distancia pueden degradarse.
  • Insensible a la magnitud: la similitud del coseno ignora la magnitud de los vectores, lo que la hace especialmente útil cuando los documentos o puntos de datos varían en escala o longitud.
  • Implementación eficiente: la similitud de coseno es ligera desde el punto de vista computacional y se puede implementar utilizando bibliotecas de lenguajes de programación populares, como NumPy y SciPy.
  • Aplicable en todos los dominios: la similitud de coseno es lo suficientemente flexible como para admitir una amplia gama de casos de uso, incluida la minería de textos, la recuperación de información, la búsqueda de similitudes y las recomendaciones en tiempo real.

Desafíos con el uso de la similitud de cosenos

A pesar de sus ventajas, la similitud de coseno no está exenta de limitaciones, que incluyen:

  • Limitación del vector cero: la similitud del coseno no está definida cuando uno o ambos vectores tienen magnitud cero, lo que hace que el preprocesamiento para eliminar los vectores cero sea esencial.
  • Riesgo de falsa similitud: la similitud del coseno puede producir puntajes altos para vectores que están alineados direccionalmente pero no relacionados semánticamente, especialmente en modelos de incorporación mal capacitados. Si los datos de entrenamiento subyacentes carecen de diversidad o matices contextuales, pueden producir Resultados con sesgo o engañosos.
  • Dependencia de la normalización: Requiere que todos los vectores de entrada estén normalizados, y los datos escalados incorrectamente pueden sesgar los resultados.
  • Ambigüedad en la ortogonalidad: una puntuación de similitud de 0 no siempre significa una disimilitud completa en un contexto del mundo real. Este es especialmente el caso en dominios matizados como el lenguaje.

Consejos prácticos para emplear la semejanza de cosenos

Para obtener el máximo valor de la similitud del coseno, las organizaciones pueden considerar lo siguiente:

Preprocesar datos

Las organizaciones pueden normalizar los vectores antes del cálculo para garantizar la consistencia de la escala y resultados válidos, especialmente cuando se emplean entradas de alta dimensión.

Eliminar vectores cero

Las empresas deben limpiar los conjuntos de datos para eliminar o marcar los vectores cero, ya que provocarán errores de "división por cero" durante los cálculos de similitud de coseno.

Combinar con otras métricas

Las organizaciones pueden complementar la similitud del coseno con métricas adicionales, como la similitud de Jaccard o la distancia euclidiana cuando se necesitan múltiples dimensiones de similitud.

Prueba en entornos similares a la producción

Antes del despliegue, las empresas deben evaluar el rendimiento de similitud del coseno en entornos que reflejen las condiciones del mundo real, especialmente cuando se utilizan en sistemas en tiempo real, como interfaz de programación de aplicaciones (API).

Las organizaciones pueden aprovechar bibliotecas maduras de código abierto para realizar cálculos de similitud del coseno a escala. Por ejemplo, Scikit-learn proporciona una función de similitud coseno lista para usar a través de la ruta del módulo Python: sklearn.metrics.pairwise.

Alternativamente, la fórmula se puede codificar directamente en Python usando NumPy:

“cosine_similarity = np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))”

Al igual que las flechas, la similitud del coseno ayuda a las organizaciones a alinearse direccionalmente. Ya sea que se trate de hacer coincidir los resultados de búsqueda o de informar la toma de decisiones basada en datos, la similitud del coseno puede proporcionar insights poderosos y ayudar a personalizar las experiencias en varios casos de uso.

Representación 3D de una espiral de varios iconos alineados, como una cámara, una perilla de volumen y un portapapeles
Soluciones relacionadas
IBM watsonx.data AI Enterprise Search

Obtenga respuestas confiables con agentes de IA sensibles al contexto que funcionan con datos gobernados y conectados, sin necesidad de cambiar de plataforma ni de comprometerse con un proveedor.

Descubra watsonx.data AI Enterprise Search
Software y soluciones de gestión de datos

Diseñe una estrategia de datos que elimine los silos de datos, reduzca la complejidad y mejore la calidad de los datos para ofrecer experiencias excepcionales a clientes y empleados.

Descubra las soluciones de gestión de datos
Servicios de consultoría de datos e IA

Escale con éxito la IA con la estrategia, los datos, la seguridad y la gobernanza adecuados.

Explore servicios de consultoría de datos e IA
Dé el siguiente paso

Ofrezca respuestas confiables y conscientes del contexto de toda su organización con IA agéntica impulsada por datos del negocio gobernados y conectados.

  1. Descubra watsonx.data AI Enterprise Search
  2. Explore las soluciones de gestión de datos