Evaluación de Similitudes Semánticas: Métodos y Aplicaciones
Clase 4 de 26 • Curso de Embeddings y Bases de Datos Vectoriales para NLP
Resumen
¿Por qué es importante calcular distancias en vectores?
Trabajar con vectores es una ventaja significativa en el análisis del lenguaje, pues nos permite evaluar distancias entre ellos para determinar similitudes o diferencias semánticas entre palabras. Al conocer la distancia, identificamos qué tan cercanas o alejadas están ciertas palabras en un contexto semántico, lo que es crucial para comprender cómo se relacionan en nuestro lenguaje.
¿Qué es la similitud por coseno?
Esta es una de las primeras métricas para evaluar la similitud entre vectores. En esencia:
- Coseno de vectores: Los vectores con direcciones similares poseen palabras similares. El ángulo entre estos vectores indica su semejanza: cuanto menor es el ángulo, mayor es la similitud.
- Método de similitud por coseno: Multiplicamos cada uno de los elementos de los vectores y sumamos los resultados. A continuación, el vector A y B se elevan al cuadrado y se aplica una raíz cuadrada para normalizarlos. Finalmente, se establece la relación entre el producto punto y la normalización de ambos vectores para obtener un valor entre 0 y 1.
Ejemplo en Python:
import numpy as np
# Definimos los vectores gato y perro
gato = np.array([0.8, 0.22, 0.5])
perro = np.array([0.7, 0.3, 0.4])
# Calculamos la similitud por coseno
dot_product = np.dot(gato, perro)
gato_norm = np.linalg.norm(gato)
perro_norm = np.linalg.norm(perro)
cosine_similarity = dot_product / (gato_norm * perro_norm)
print(cosine_similarity) # Resultado entre 0 y 1
¿Qué otros métodos de distancia se utilizan?
Distancia euclidiana
A diferencia de la similitud por coseno, la distancia euclidiana evalúa tanto la dirección como la magnitud de los vectores:
- Resta de vectores: Restamos los valores de los vectores A y B.
- Normalización: Elevamos al cuadrado sus diferencias, sumamos, y aplicamos una raíz cuadrada.
La distancia euclidiana mide en particular qué tan cercanos están dos puntos en un espacio vectorial.
Producto punto
Ya utilizado en el cálculo de la similitud por coseno, el producto punto se puede utilizar por separado. Este método tiene tres interpretaciones clave según el resultado:
- Mayor a 0: ángulo menor a 90° = vectores más similares.
- Igual a 0: vectores ortogonales.
- Menor a 0: ángulo mayor a 90° = vectores menos similares.
¿Cómo podemos automatizar el cálculo de estas métricas?
Gracias a bibliotecas como NumPy, es posible realizar estos cálculos de manera sencilla en Python. Los ejemplos de código antes mencionados son aplicables en entornos de programación estándar para analizar vectores semánticos sin tener que realizar cálculos matemáticos manualmente.
Finalmente, conocer y utilizar estas métricas no solo te permitirá analizar palabras de manera eficiente, sino también te ayudará a construir modelos más robustos y entrenar sistemas de inteligencia artificial que dependen de estas representaciones vectoriales. ¡Anímate a explorar con vectores distintos y descubre nuevas relaciones semánticas!