LanzamientoAnálisis · En radarHabr AI→ original

El bot antispam TAB estrena panel personal y sitio web: 13.000 mensajes de spam eliminados y 0,39 % de errores

El autor del bot de Telegram TAB, que elimina spam con su propio modelo LSTM con atención, ha hecho balance de seis meses. El bot funciona en 68 chats, ha revisado 527.554 mensajes y ha detectado 13.422 de spam con un 0,39 % de errores. La gestión de modos pasó del chat a un panel personal en /lk, y además apareció una lista blanca. El principal problema sin resolver es el spam en forma de imágenes y stickers.

Procesado por IA desde Habr AI; editado por Hamidun News
El bot antispam TAB estrena panel personal y sitio web: 13.000 mensajes de spam eliminados y 0,39 % de errores
Fuente: Habr AI. Collage: Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Fuente originalHabr AI ↗
Editor jefe
Dato clave #1El spam es el 2,54 % del tráfico, con pico en días laborables hacia el mediodía, hora de Moscú
Dato clave #2Solo se banea si coinciden la base de spammers y el modelo
Dato clave #3El OCR (Tesseract, EasyOCR, RapidOCR) no pudo con las imágenes

Los proyectos personales suelen morir un mes después de la primera publicación. TAB, un bot de Telegram que elimina spam por sí solo, lleva más de un año vivo y sigue creciendo. Hace seis meses tenía dos comandos de administrador y la promesa de "algún día hacer un panel". Ahora tiene sitio web, instrucciones y panel personal.

Los resultados en cifras

El bot está en 68 chats. Por él han pasado 527.554 mensajes, de los cuales 13.422 resultaron ser spam. Es el 2,54 % del tráfico, aproximadamente uno de cada 39 mensajes. Se han baneado 11.193 spammers y la tasa de error del modelo es del 0,39 %. El modelo es una LSTM con mecanismo de atención, entrenada con la biblioteca propia del autor, LANCETNIC. El autor no usó modelos ya hechos de Hugging Face.

El mapa de calor del sitio muestra que las granjas de bots siguen un horario bastante humano. La actividad va de 8:00 a 18:00 hora de Moscú, con pico al mediodía en días laborables, silencio por la noche y el domingo como día más tranquilo. Para un administrador es una señal práctica: la moderación manual puede planificarse según el horario laboral.

Panel personal y lista blanca

Antes, el modo se cambiaba con los comandos /handbot y /autobot directamente en el chat. Todos los participantes ven el comando, y si tienes cinco chats, hay que escribirlo cinco veces. Ahora el propietario escribe al bot en privado /lk, elige un chat y con un clic cambia el modo o abre la lista blanca.

Hay dos modos. En el automático, la red neuronal revisa cada mensaje y elimina el spam al instante. En el estándar, ante la duda el bot llama a los moderadores, que pulsan "Es spam" o "No es spam". El primer botón conserva el mensaje y lo añade al conjunto de datos para reentrenar; el segundo elimina el mensaje y banea al autor. Así los administradores etiquetan datos gratis sin darse cuenta.

La lista blanca resuelve un problema típico: un anunciante pactó con los administradores, pero el bot borra sus publicaciones como spam. Se puede añadir a una persona por ID numérico o reenviando su mensaje al bot. El bot ignora por completo a estos usuarios. Por ahora el panel solo está disponible para los propietarios de chats, no para todos los administradores.

La protección contra baneos falsos es sencilla. El baneo automático solo ocurre si el usuario está en la base global de spammers y el modelo ha considerado el mensaje como spam. Ahora hay tres comprobaciones, pero el autor no revela qué se verifica en el tercer nivel, para que no aprendan a esquivarlo.

Qué falló y qué enseña

En verano el autor pasó dos meses sin reentrenar el modelo y el bot empezó a dejar pasar spam descarado. En julio reunió un conjunto de datos nuevo de 30.000 filas. Para la clase "no spam" añadió comentarios de comunidades urbanas de VKontakte para diversificar el habla común. En uno de los reentrenamientos se sustituyó Adam por RAdam; el resultado en producción aún se está observando. La lección es conocida para quien mantiene ML en producción: los datos envejecen y los spammers se adaptan más rápido de lo que parece.

El tema más doloroso es el spam en imágenes y stickers. Un modelo de texto simplemente no lo ve. Tesseract, EasyOCR y RapidOCR fracasaron. Qwen funcionó, pero no puede ejecutarse en local y una API sería cara para un proyecto de aficionado. El autor admite con franqueza que aún no sabe qué hacer. También sospecha que su LSTM "no funciona como una LSTM" y planea rehacer la arquitectura.

Qué conclusiones sacar

Si construyes moderación para una comunidad, conviene quedarse con tres cosas: la confirmación manual como fuente gratuita de etiquetado, la doble condición para el baneo y el reentrenamiento regular con datos frescos. Si tienes spam en imágenes, parece que no hay una solución barata de OCR. Habrá que comparar el coste de un LLM multimodal con el de un modelo propio para imágenes.

Las limitaciones son evidentes. Es un proyecto personal de una sola persona, las métricas las aporta el propio autor y no se han verificado de forma independiente, y el 0,39 % de errores se calculó sobre su propio etiquetado. Pero como ejemplo de cómo un producto pequeño va adquiriendo infraestructura real, la historia es útil. El sitio con estadísticas es tab.lancetnic.ru y el bot, @tantispam_bot.

Historia

Preguntas frecuentes sobre la noticia

¿Qué se sabe sobre Los resultados en cifras?

El bot está en 68 chats. Por él han pasado 527.554 mensajes, de los cuales 13.422 resultaron ser spam. Es el 2,54 % del tráfico, aproximadamente uno de cada 39 mensajes. Se han baneado 11.193 spammers y la tasa de error del modelo es del 0,39 %. El modelo es una LSTM con mecanismo de atención, entrenada con la biblioteca propia del autor, LANCETNIC. El autor no usó modelos ya hechos de Hugging Face. El mapa de calor del sitio muestra que las granjas de bots siguen un horario bastante humano.

¿Qué se sabe sobre Panel personal y lista blanca?

Antes, el modo se cambiaba con los comandos /handbot y /autobot directamente en el chat. Todos los participantes ven el comando, y si tienes cinco chats, hay que escribirlo cinco veces. Ahora el propietario escribe al bot en privado /lk, elige un chat y con un clic cambia el modo o abre la lista blanca. Hay dos modos. En el automático, la red neuronal revisa cada mensaje y elimina el spam al instante. En el estándar, ante la duda el bot llama a los moderadores, que pulsan "Es spam" o "No es spam".

¿Qué se sabe sobre Qué falló y qué enseña?

En verano el autor pasó dos meses sin reentrenar el modelo y el bot empezó a dejar pasar spam descarado. En julio reunió un conjunto de datos nuevo de 30.000 filas. Para la clase "no spam" añadió comentarios de comunidades urbanas de VKontakte para diversificar el habla común. En uno de los reentrenamientos se sustituyó Adam por RAdam; el resultado en producción aún se está observando.

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Private AI Builders Community · Vibe Club

Ship AI Faster with Founders, Engineers & Weekly Architecture Reviews

Inside Vibe Club (hamidun.com/club) — weekly live masterminds with Zhemal Khamidun, Tech Radar, full LMS access, and 370+ production Claude Code skills.

Join Vibe Club →Explore Hamidun Academy
¿Qué te parece?
Cargando comentarios…