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:
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.
Manténgase al día sobre las tendencias más importantes e intrigantes de la industria sobre IA, automatización, datos y más con el boletín Think. Consulte la Declaración de privacidad de IBM.
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:
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.
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.
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.
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.
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:
La fórmula se puede representar como:
Similitud de coseno = (A · B) / (||A|| × ||B||)
Dónde:
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.
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:
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 .
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.
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.
Dada su función en innumerables sistemas, la similitud de coseno ofrece varias ventajas sobre las métricas de similitud tradicionales:
A pesar de sus ventajas, la similitud de coseno no está exenta de limitaciones, que incluyen:
Para obtener el máximo valor de la similitud del coseno, las organizaciones pueden considerar lo siguiente:
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.
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.
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.
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.
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.
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.
Escale con éxito la IA con la estrategia, los datos, la seguridad y la gobernanza adecuados.