AntiSpam-v1
Мультиязычный бинарный классификатор спама на 21 язык. Обучен с нуля на CPU, без GPU, без облаков, без корпоративных датасетов на 3 терабайта.
- Размер: 40 МБ
- Параметры: 10.1M
- Архитектура: кастомный Transformer Encoder (d_model=256, nhead=4, num_layers=3)
- Токенизатор: regex (
\w+, Unicode) + словарь 30 000 токенов
- Обучение: 8 часов на i3-1125G4, 7 эпох, 700 МБ ОЗУ
- Метрики: F1 = 0.9691, AUC = 0.9962, Precision = 0.95+, Recall = 0.96+
✅ Плюсы
- Весит 40 МБ — влезает на любую флешку и в оперативку слабого ноутбука.
- Работает на CPU. Не нужна видеокарта.
- Поддерживает 21 язык: русский, английский, хинди, немецкий, французский, испанский, китайский, арабский, бенгальский, португальский, японский, индонезийский, урду, панджаби, яванский, турецкий, корейский, маратхи, украинский, шведский, норвежский.
- Уверенно ловит классические спам-паттерны: «1,000,000», «ПОЗДРАВЛЯЮ, ВЫ ВЫИГРАЛИ», «ПЕРЕЙДИТЕ ПО ССЫЛКЕ».
- Различает контекст: «Я купил PS5 за 100000» → чисто, «Папа, купи PS5 за 100000» → спам.
⚠️ Минусы
- Токенизатор regex. Слово «милион» (с одной «л») превращается в
<UNK>, модель не понимает опечатки.
- Перекос классов. В датасете spam = 15k, ham = 101k. Модель осторожная, иногда пропускает спам.
- Ложные срабатывания. «100 рублей» → СПАМ (99.99%). «Продаю PS5, цена 100,000» → СПАМ. «Папа, купи PS5» → СПАМ.
- Обучение заняло 8 часов на CPU (1 эпоха = ~1 час). На GPU было бы в разы быстрее.
- Датасет маленький. 116k строк на 21 язык — это мало. V2 будет на большем корпусе.
🎯 Рекомендуемое использование
AntiSpam-v1 предназначен для фильтрации SMS и пометки подозрительных текстов. Не для автобана.
✅ Хорошо подходит
- Пометить SMS как «подозрительное» перед показом пользователю.
- Отфильтровать явный спам («1,000,000», «ПЕРЕЙДИТЕ ПО ССЫЛКЕ»).
- Работать в паре с regex-фильтрами и блок-листами.
❌ Не подходит
- Автоматическое удаление сообщений без проверки человеком.
- Модерация чатов (забанит всё, где есть «продаю», «купи», «цена»).
- Юридические, финансовые или медицинские решения.
⚠️ Золотое правило
Если модель пометила сообщение как спам — не переходите по ссылкам в нём. Даже если это ложное срабатывание, лучше перестраховаться.
🚀 Использование
Установка
pip install transformers torch safetensors