Similitud semántica y embeddings de oraciones
Sentence-BERT, similitud coseno para búsqueda semántica y clustering de embeddings.
Similitud semántica y embeddings de oraciones es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Frases, no solo palabras
Los embeddings de palabras representan palabras, pero a menudo necesitamos comparar frases o documentos completos. Promediar los vectores de palabras hace que se pierdan matices; queremos un único vector que capture todo el significado.
Qué son los embeddings de frases
Los embeddings de frases asignan una frase completa a un único vector denso, de modo que las frases con significados similares tengan vectores cercanos, lo que permite realizar búsquedas semánticas y agrupamientos.
La biblioteca sentence-transformers
La biblioteca sentence-transformers facilita esta tarea. Incluye modelos transformer ajustados que generan directamente vectores de frases de alta calidad.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("all-MiniLM-L6-v2")Por qué all-MiniLM-L6-v2
all-MiniLM-L6-v2 es una opción predeterminada popular: es pequeño, rápido y preciso, y genera vectores de 384 dimensiones. Ofrece un buen equilibrio entre velocidad y calidad para la mayoría de las aplicaciones.
Codificación de frases
model.encode convierte una lista de frases en una matriz de embeddings, con una fila por frase.
sentences = [
"The cat sits on the mat.",
"A feline rests on the rug.",
"I am learning machine learning.",
]
embeddings = model.encode(sentences)
print(embeddings.shape) # (3, 384)Medición de la similitud
La similitud coseno mide el ángulo entre dos vectores e ignora su magnitud. Los valores cercanos a 1 indican un significado muy similar, mientras que los cercanos a 0 indican que no están relacionados.
from sentence_transformers import util
sim = util.cos_sim(embeddings[0], embeddings[1])
print(sim.item()) # high, both about a cat restingUso de sklearn cosine_similarity
También puede usar scikit-learn directamente sobre la matriz de embeddings para obtener una matriz completa de similitud entre cada par.
from sklearn.metrics.pairwise import cosine_similarity
matrix = cosine_similarity(embeddings)
print(matrix) # (3, 3) pairwise similaritiesIdea de la búsqueda semántica
La búsqueda semántica encuentra documentos por su significado, no por palabras clave. Codifique una consulta y todos los documentos, y después ordénelos según su similitud coseno con el vector de la consulta.
Un ejemplo de búsqueda semántica
Codifique el corpus una sola vez y, para cada consulta, calcule las similitudes y devuelva las coincidencias principales.
from sentence_transformers import util
corpus = ["How to reset my password", "Refund policy details", "Track my order"]
corpus_emb = model.encode(corpus)
query_emb = model.encode("I forgot my login")
hits = util.semantic_search(query_emb, corpus_emb, top_k=2)
print(hits)Aplicaciones en el mundo real
Los embeddings de frases permiten relacionar preguntas frecuentes, detectar duplicados, realizar agrupamientos y recomendaciones, además de llevar a cabo el paso de recuperación en sistemas RAG que proporcionan contexto relevante a modelos de lenguaje grandes.
Consejos para obtener buenos resultados
Elija un modelo entrenado para su tarea (búsqueda semántica o paráfrasis). Normalice los embeddings si la métrica de similitud lo requiere y, para corpus grandes, use una base de datos vectorial que permita realizar búsquedas rápidas de vecinos más cercanos.
Comprobación rápida
Compruebe sus conocimientos sobre los embeddings de frases.
Resumen
Resumen: Los embeddings de frases codifican frases completas en vectores. Use SentenceTransformer("all-MiniLM-L6-v2") y model.encode(sentences), y después compare mediante la similitud coseno. Esto permite realizar una búsqueda semántica: codifique la consulta y el corpus, y ordénelos por similitud. Es fundamental para relacionar preguntas frecuentes, realizar agrupamientos y recuperar información para sistemas RAG.
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 53
- Lecciones
- 225
Preguntas frecuentes
¿La lección «Similitud semántica y embeddings de oraciones» es gratis?
Sí — el texto completo de «Similitud semántica y embeddings de oraciones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Similitud semántica y embeddings de oraciones»?
Sentence-BERT, similitud coseno para búsqueda semántica y clustering de embeddings. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Similitud semántica y embeddings de oraciones»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Word2Vec: Skip-gram y CBOW
- Embeddings de GloVe y FastText
- Clasificación de texto con BERT
- Similitud semántica y embeddings de oraciones