Fase 2: Embeddings y búsqueda semántica

La búsqueda por palabras clave falla cuando las palabras no coinciden exactamente.

Si un currículum dice "gestión de equipos" y una descripción de puesto solicita "liderazgo", una búsqueda básica devuelve cero resultados. Las palabras son diferentes, pero el significado es el mismo.

La Fase 2 resuelve esto mediante el uso de embeddings y búsqueda semántica.

Cómo funciona:

• Tokenización: Las computadoras no leen palabras. Leen números. Un tokenizador divide el texto en piezas pequeñas llamadas tokens y los convierte en Token IDs. Las palabras comunes se convierten en un solo token. Las palabras poco comunes se dividen en múltiples tokens.

• Embeddings: Un Token ID es solo una etiqueta. La capa de embedding convierte ese ID en un vector. Un vector es una lista larga de números que representa un significado. En lugar de un solo número, un modelo utiliza muchas dimensiones para describir un concepto.

• Dimensiones: Piensa en estos números como coordenadas. Una dimensión podría representar "frontend vs backend". Otra podría representar "web vs sistemas". Los vectores de alta dimensión permiten que el modelo coloque "React" y "JavaScript" cerca el uno del otro en un espacio matemático.

• Búsqueda semántica: Cuando haces una pregunta, el sistema convierte tu pregunta en un vector. Luego, compara tu vector con los vectores de tus documentos almacenados.

• Similitud de coseno: Esto mide el ángulo entre dos vectores. Si los vectores apuntan en la misma dirección, son similares. Esto permite que el sistema encuentre "requisitos de renuncia" incluso si solo buscaste "periodo de preaviso".

Lecciones clave para producción:

  • Bases de datos vectoriales: Buscar entre millones de vectores es lento. Bases de datos como Pinecone o Qdrant utilizan indexación para encontrar los vecinos más cercanos en milisegundos.
  • Migraciones de modelos: Cada modelo de embedding utiliza un espacio matemático diferente. No puedes comparar un vector de OpenAI con un vector de Cohere. Si cambias de modelo, debes volver a generar los embeddings de todos tus datos.
  • Coste vs ROI: Volver a generar los embeddings de millones de fragmentos es costoso. Las empresas suelen quedarse con modelos más antiguos a menos que la mejora en la precisión justifique el coste de la migración.
  • Siempre almacena tus fragmentos de texto original. Si actualizas tu modelo más adelante, puedes usar el texto antiguo para crear nuevos vectores.

La Fase 2 es donde ocurre la inteligencia.

Fuente: https://dev.to/surajrkhonde/phase-2-embeddings-semantic-search-3lco

Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi