Anti-spam por evidencia
Severidad: Importante
Audiencia: operadores y desarrolladores. Aplica al evaluar / configurar los filtros anti-spam del aprendizaje IA.
El problema
Antes de pasar queries sin resultados al modelo IA, hay que filtrar el spam para no quemar tokens en basura. La tentación es copiar filtros agresivos de tutoriales (ratio alfa-numerico bajo, pocas vocales, caracteres especiales).
En catalogos con terminos técnicos, esos filtros generan falsos positivos masivos: los códigos INCI (btms-50, coq10, olivem100, c15-19 alkane), SKUs cortos (adscg0727), abreviaturas técnicas son búsquedas legitimas.
Si filtras por "ratio alfa-num bajo" descartas el catalogo entero de cosmetica DIY.
La regla
TIP
El anti-spam debe basarse en evidencia del corpus real de tu tienda, no en heurísticas genéricas. Calibrar los filtros contra un muestreo de 1.000+ queries reales antes de activarlos en producción. Mantener una política conservadora: en caso de duda, no filtrar (mejor gastar un token de IA que perder una intención legitima).
Reglas conservadoras validas para casi cualquier tienda:
too_short: longitud < 3 caracteres.too_long: longitud > umbral configurable (default 20).no_latin_alpha: 0 letras latinas (cirilico, otros alfabetos).char_repeated: 5+ caracteres identicos seguidos.html_or_url: tags HTML o URLs.sql_signature: patrones de inyección SQL.
NO usar:
- Ratio alfa-numérico (rompe INCI/SKU).
- Recuento de vocales (rompe abreviaturas técnicas).
- Diccionario de un idioma (rompe nombres internacionales).
Por qué
- Tu firewall / WAF ya filtra antes: la mayoria del spam real se bloquea a nivel de red (fail2ban, Cloudflare, honeypots). Lo que llega al log de búsquedas es mayoritariamente tráfico legitimo. Filtros agresivos generan falsos positivos sin ganar nada.
- Los catalogos técnicos tienen lexico especial: clientes que buscan
olivem1000oc15-19alkanesaben lo que quieren. Filtrarlos = perder ventas. - Coste IA bajo: un token de IA cuesta una fracción de centimo. Es mucho más barato pasar al modelo 100 queries dudosas (de las que descartara el 90% como ruido) que rechazar una sola intención legitima del cliente.
- Auditable: cada query rechazada queda registrada con razón específica. El operador puede revisar falsos positivos y subir el umbral si es necesario.
Ejemplo del corpus real
Muestreo sobre 6.981 queries únicas sin resultados de una tienda de cosmetica DIY:
| Filtro | Filtradas | % del total | Falsos positivos |
|---|---|---|---|
too_short (❤️) | 23 | 0.33% | 0 |
too_long (>20) | 102 | 1.46% | 0 (recetas) |
no_latin_alpha | 4 | 0.06% | 0 (caracteres asiaticos) |
char_repeated | 8 | 0.11% | 0 (aaaaa, 00000) |
html_or_url | 12 | 0.17% | 0 |
sql_signature | 8 | 0.11% | 0 |
| Total filtrado | 157 | 2.25% | 0 preocupantes |
Solo el 2.25% del corpus se filtra. Los firewalls de red ya hacen el grueso del trabajo. Filtros más agresivos darian falsos positivos sin valor añadido.
Para merchants
Mibizum solo filtra como spam lo que es objetivamente basura: búsquedas muy cortas, muy largas, sin letras, con HTML pegado, intentos de inyección. En caso de duda, deja pasar la búsqueda al aprendizaje IA: es muy barato analizar una búsqueda de más, pero es caro perder una intención real del cliente.
Si en tu tienda tienes terminos técnicos legitimos (códigos INCI, SKUs, abreviaturas), no te preocupes: el anti-spam no los filtra. Si alguna búsqueda legitima quedara filtrada por error, la veras en el registro de actividad como descartada y podras revisar los umbrales en Ajustes > Smart.
Anti-patrones
DANGER
No copies filtros anti-spam de tutoriales sin validar. Los tutoriales genéricos asumen tiendas convencionales sin lexico técnico. En tiendas especializadas, esos filtros son ruina.
DANGER
No filtres por ratio alfa-num bajo. Caso real probado: filtraria btms-50, olivem100, coq10, c15-19 alkane, adscg0727. Todas son búsquedas legitimas frecuentes.
DANGER
No uses diccionario de un solo idioma para filtrar "palabras no diccionario". Falla con nombres técnicos (niacinamide, sodium hyaluronate), marcas (maese, mibizum), códigos.
DANGER
No confies en "lo que parece basura". Lo que a un humano le parece basura a primera vista puede ser un código legitimo. Calibrar contra evidencia, no contra intuición.