Recetas vs typos
Severidad: Util
Audiencia: operadores. Explica por que el aprendizaje IA descarta queries muy largas del corpus de analisis.
El problema
En el log de busquedas sin resultados aparecen periodicamente 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 unicas 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 razon conceptual: una receta no es un typo, no es aprendible como sinonimo, 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 que
- No son aprendibles: una receta de 80 caracteres no genera un sinonimo util. 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 busqueda), el par
(receta_larga, rescue_corto)no es relacion typo, es relacion "abandone receta, busque un ingrediente". Aprendizaje enganoso. - Flujo de producto distinto: la solucion 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 unicas sin resultados con umbral 20 chars:
| Longitud | Frecuencia | Decision |
|---|---|---|
<= 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 razon too_long y la registra en el log para auditoria. El operador puede ver el detalle en Actividad Smart filtrando por razon.
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 busquedas largas se ignoran del aprendizaje porque no son corregibles con sinonimos: son una intencion distinta que requiere un flujo de producto propio.
El umbral de longitud (cuantos caracteres tiene que tener una busqueda como mucho para entrar en el aprendizaje) se configura desde el panel en Ajustes > Smart > Longitud maxima. Si tu negocio tiene terminos legitimos largos (nombres quimicos, descripciones tecnicas), 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 unicas y proponer sinonimos que nadie usara.
DANGER
No borres las queries largas del log de busquedas. Pierden valor para analitica: saber que el cliente pego una receta es senal 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.