Cómo construí un bot antirrobo con datos sucios: detector, tipificador y escollos en el camino
OpenAI
El autor describe la construcción de un bot antirrobo para chats de criptomonedas utilizando un clasificador para detectar solicitudes de ayuda y un tipificador para determinar el tipo de problema. Las lecciones clave incluyen el uso de aprendizaje activo para mejorar el conjunto de datos, congelar un conjunto dorado para métricas confiables y evitar complejidades innecesarias.
El proyecto aborda el problema de los estafadores en salas de chat de criptomonedas que leen mensajes públicos y luego contactan en privado a los usuarios ofreciendo ayuda. El bot detecta solicitudes públicas de ayuda y responde con una advertencia y un enlace al soporte genuino. El primer desafío fue construir un clasificador sin un conjunto de datos etiquetado. La recopilación inicial de datos basada en expresiones regulares limitaba la capacidad del modelo para generalizar a frases no vistas. Se utilizó aprendizaje activo para agregar iterativamente ejemplos inciertos, aumentando el conjunto positivo de 830 a 1176. Se mantuvieron casi duplicados para mejorar la robustez ante errores tipográficos y jerga. El criterio de clasificación cambió de 'solicitud de ayuda' a 'apropiado para vacunar' para evitar activarse con preguntas simples. La validación cruzada en un conjunto de datos cambiante dio métricas engañosas; un conjunto congelado de oro de 245 mensajes reveló mejoras reales, con un aumento del recall de 0.50 a 0.78. Una prueba separada con tráfico real mostró una precisión ajustable de 0.74 a 0.87 según el umbral. El tipificador (tipo de problema) se mantuvo como una regresión logística simple para evitar sobrecomplicaciones. El sistema utiliza un único modelo de incrustación multilingüe tanto para el detector como para el RAG, un compromiso que ahorró recursos pero puede limitar el recall del RAG. La arquitectura es un servicio FastAPI separado con SQLite, llamado por un bot de producción mediante 'fire-and-forget', con un modo de sombra para pruebas seguras.
Fuente: Habr — хаб ML —
original
