Recetas vs typos
Severidad: Útil
Audiencia: operadores. Explica por que el aprendizaje IA descarta queries muy largas del corpus de análisis.
El problema
En el log de búsquedas sin resultados aparecen periódicamente queries muy largas, tipo:
lactato de sodio 2% tintura de avena (maese lab) 2% extracto hg de centella asiatica 1%...
A primera vista parece spam o ruido aleatorio. No lo es: es un cliente pegando una receta multi-ingrediente para encontrar varios componentes a la vez. Lo hace letra a letra o pegando trozos, generando 20-30 queries progresivas. Si pasamos esto al aprendizaje IA, el modelo intenta "aprender" frases únicas que en realidad son listas de ingredientes inconexos.
La regla
TIP
Filtrar queries por longitud antes de pasarlas al aprendizaje IA. Las queries que superen el umbral configurado se marcan como descartadas y NO se envian al modelo. La razón conceptual: una receta no es un typo, no es aprendible como sinónimo, y un buscador multi-ingrediente es un flujo de producto distinto (en roadmap).
El umbral es configurable desde el panel (default 20 caracteres). En catalogos tipicos pasan ~85% de las queries sin resultados con ese default.
Por qué
- No son aprendibles: una receta de 80 caracteres no genera un sinónimo útil. Es N ingredientes distintos, no una palabra mal escrita.
- Coste IA: pasar al modelo queries largas multiplica tokens por orden de magnitud. Una receta puede ocupar 200+ tokens vs los 10-30 de un typo normal.
- Ruido en el corpus rescue: si la receta tiene rescue (cliente refino la búsqueda), el par
(receta_larga, rescue_corto)no es relación typo, es relación "abandone receta, busque un ingrediente". Aprendizaje enganoso. - Flujo de producto distinto: la solución correcta para recetas es un "modo receta" en el buscador (proximamente) que detecta multi-ingrediente y resuelve cada uno por separado.
Ejemplo
Muestreo de 6.981 queries únicas sin resultados con umbral 20 chars:
| Longitud | Frecuencia | Decisión |
|---|---|---|
<= 20 chars | ~85% | Pasa al pipeline IA (typos potenciales) |
21-50 chars | ~10% | Filtrado: probable receta inicial |
> 50 chars | ~5% | Filtrado: receta multi-ingrediente clara |
Receta filtrada de ejemplo (247 caracteres):
lactato de sodio 2% tintura de avena (maese lab) 2% extracto hg de
centella asiatica 1% extracto fluido de albahaca 0.5% sericin powder 1%
acido glicolico 5% vitamin e 0.5% ...El sistema la marca como descartada con razón too_long y la registra en el log para auditoria. El operador puede ver el detalle en Actividad Smart filtrando por razón.
Para merchants
El aprendizaje IA se enfoca en typos cortos (caguacate a aguacate), no en intentos de buscar varios productos a la vez (aceite lavanda + cera abeja + vitamina E). Las búsquedas largas se ignoran del aprendizaje porque no son corregibles con sinónimos: son una intención distinta que requiere un flujo de producto propio.
El umbral de longitud (cuantos caracteres tiene que tener una búsqueda como mucho para entrar en el aprendizaje) se configura desde el panel en Ajustes > Smart > Longitud máxima. Si tu negocio tiene terminos legitimos largos (nombres quimicos, descripciones técnicas), subelo. Si solo vendes productos con nombres cortos, bajalo.
Anti-patrones
DANGER
No pases todo al modelo "por si acaso". Triplica el coste y la salida es ruido. El modelo intentara aprender frases únicas y proponer sinónimos que nadie usara.
DANGER
No borres las queries largas del log de búsquedas. Pierden valor para analítica: saber que el cliente pego una receta es señal de uso del producto. Solo se filtran del pipeline de aprendizaje, no del log.
DANGER
No pongas el umbral muy bajo (10 chars). Filtras typos validos como bicarbonato o nicotinamida (11-12 chars). El default 20 esta calibrado contra corpus real.