Módulo 5: Keyword vs Semantic Search

4. Comparación: Keyword vs Semantic Search

Descripción

Aquí comparas keyword search vs semantic search lado a lado: ventajas, limitaciones, casos de uso. Entenderás que no son excluyentes: muchos sistemas usan ambas (búsqueda híbrida).


Comparación completa

AspectoKeyword SearchSemantic Search
Qué buscaPalabras exactasSignificado (vectores similares)
Sinónimos❌ No (sin diccionario)✅ Sí (embeddings similares)
Conceptos relacionados❌ No✅ Sí
Palabras exactas✅ Sí (garantizado)⚠️ No garantiza
Velocidad✅ Muy rápido (índices invertidos)✅ Rápido (con HNSW/IVF)
Costo setupBajo (solo indexar texto)Medio (generar embeddings)
Costo queryMínimoMedio (embedding de query)
Explicable✅ Sí (muestra palabras match)⚠️ Difícil (score es abstracto)
Escalabilidad✅ Millones de docs✅ Millones de docs

Casos de éxito y fallo

Caso 1: Query con sinónimos

Query: "auto"

Documentos:

  • Doc A: "El automóvil necesita gasolina"
  • Doc B: "El carro tiene 4 ruedas"

Keyword:

  • Doc A: ❌ No match (no contiene "auto")
  • Doc B: ❌ No match

Semantic:

  • Doc A: ✅ Match (embedding de "automóvil" similar a "auto")
  • Doc B: ✅ Match (embedding de "carro" similar a "auto")

Ganador: Semantic search ✅


Caso 2: Query con código exacto

Query: "error ABC-12345"

Documentos:

  • Doc A: "Error ABC-12345 en el sistema"
  • Doc B: "Error ABC-12346 similar"

Keyword:

  • Doc A: ✅ Match exacto (contiene "ABC-12345")
  • Doc B: ❌ No match (diferente código)

Semantic:

  • Doc A: ✅ Match (embedding similar)
  • Doc B: ⚠️ Puede tener score alto (embeddings de códigos similares son cercanos)

Ganador: Keyword search ✅ (precisión exacta crítica)


Caso 3: Query conceptual

Query: "cómo mejorar velocidad de mi app"

Documentos:

  • Doc A: "Guía de optimización de performance"
  • Doc B: "Tips para acelerar tu aplicación"

Keyword:

  • Doc A: ⚠️ Match parcial ("velocidad" no aparece)
  • Doc B: ⚠️ Match parcial ("mejorar" no aparece como tal)

Semantic:

  • Doc A: ✅ Match (embeddings de "mejorar velocidad" ~ "optimizar performance")
  • Doc B: ✅ Match (embeddings de "velocidad" ~ "acelerar")

Ganador: Semantic search ✅ (entiende sinónimos e intención)


Matriz de decisión

Tipo de queryMejor métodoEjemplo
Exacta (códigos, nombres, números)Keyword"error E404", "artículo 42"
Conceptual (temas, preguntas)Semantic"¿Cómo optimizar?", "animales"
Exploratoria (descubrir relacionados)Semantic"temas sobre AI"
Legal/médica (precisión crítica)Keyword + filtros"diagnóstico ICD-10 J44"
Ambigua (múltiples significados)Híbrida"banco" (filtrar por contexto)

Resumen

Puntos clave:

  • Keyword: Preciso para exactas, no entiende sinónimos
  • Semantic: Entiende significado, no garantiza exactas
  • No son excluyentes: Combinar en búsqueda híbrida
  • Decisión: Depende del tipo de query

Próxima cápsula: 05-hybrid-search.md — Combinar keyword + semantic.