Как стать автором
Обновить

Сравнение сервисов фильтрации нецензурной лексики

Время на прочтение4 мин
Количество просмотров8.8K

Лихо не пинайте, я только учусь.

Недавно понадобилось мне подключить мой проект (сайт на WordPress, Телеграм-канал, ВК группу) к фильтру матов и озадачился я предложениями, которые выдает интернет. Поэтому решил проанализировать те, что смог найти и составить личный список, который, надеюсь поможет коммунити Хабра.

Спойлер: найдено всего два сервиса и если знаете еще, то пишите в комментариях.

Сначала о том, какие трудности были

Проблема 1: напиши код сам

Когда пытаешься найти в Яндексе, Гугле и даже Мейле с Бингом сервис для фильтрации матов, то поисковики выдают все, что можно, но только не то, что нужно. Это и "как написать простой фильтр матов", и "скрипт плохих слов", и "BERT — state-of-the-art" и прочее подобное начиная с 2009 года публикации, что нужно хорошенько сдобрить молотком и напильником.

Проблема 2: заполни словарь сам

Возьмем инструкцию по донатам для Твича. Сама инструкция понятная, но это же сколько нужно точечно проработать разных вариаций комбинациями вроде Плохие слова: wc:д__а - тут слово начинающееся с "д" и заканчивающееся на "а" будет помечено звездочками. Это сколько же таких вариантов надо прописать?

В более простых случаях нужно просто наполнить словарь своими словами. Однако я пытался и понял, что придется указывать не только именительный падеж и число, но и все варианты, типа такого: мухо-сабля, мухо-саблю, мухо-саблями, мухо-саблей (© Breaking Bad). Все это помножить на шестнадцать.

Проблема 3:

Это, что называется, моя личная драма, но хотелось бы найти сервис, который можно было бы подключать из одной точки. То есть чтобы не приходилось отдельно настраивать слова и режимы в телеге, отдельно в ВК, отдельно настраивать на сайте. Потому что это и удорожание и трата времени на настройку. Ведь хочется войти на одном сервисе, заполнить разово все стоп-слова и пользоваться везде.

Актуальность

Судя по тому, каков опрос о востребованности фильтров в старой статье Хабра, сообщество разделилось в далеком 2014 примерно пополам.

С другой стороны, сегодня тот же ВК не стоит на месте и вводит в действие нейросеть, которая борется с оскорблениями. На Пикабу родился и сразу умер пост про "Сделайте фильтр матов". Внутренние фишки в Твичах, Одноклассниках, Стимах - все это показатель, что кому-то да требуется фильтрация.

Следовательно вопрос: а чего тогда найти-то сложно такой сервис? Хорошо, я могу включить в ВК и пусть он как-то своим алгоритмом защищает, но что делать с сайтом и Телеграмом?

Найденные сервисы

Сервисов на самом деле не много. Всего два и на поиск убил часов 5, причем не из поисковиков прямо, а как-то левыми путями, через ссылки на сайтах. Если кто-то найдет еще, добавляйте в комментарии.

WebPurify

  • https://www.webpurify.com/profanity-filter/

  • Есть плагины под 6 CMS

  • Есть API

  • Есть тестовый период

  • Цена за месяц на момент обзора $15 - за один язык, $50 - за большее кол-во.

  • двойные буквы, слитые слова, подстановку @ или * в английских запрещенных словах неплохо распознает

  • двойные буквы, слитые слова и замену на символы в русских словах не всегда распознает, но все же бывает, но транслит не видит

  • Ответ возвращается TRUE или FALSE, что в общем-то для последующей обработки не самое удобное, но на голяк и так хорошо.

  • Есть статистика (жирный плюс за визуал)

  • Есть индивидуальный черный список и белый список

  • Есть предварительное тестирование запросов в админке

  • Принимает GET и POST запросы, отдает XML, JSON

В меньшем тарифе за $5 нет API, а в том, что за 15 ограничение на один домен или IP, что в общем-то предостаточно, если все пропускать через один узел, но один язык - недостаточно. Так что раскошеливаемся на почти 4000 в месяц.

Круто то, что есть API. Считай, можно все пропускать через него и будет одинаковый результат. Сложилось впечатление, что у ребят есть опыт и дело прёт, потому что и 6 CMS и отдельные фильтры матов для фото и для видео, ну и сайт более презентабельный, чем у следующего по списку.

Админка WebPurify с предварительным тестированием
Админка WebPurify с предварительным тестированием

LF-сервис

  • https://lf.statusnick.com/

  • Нет плагинов под CMS, модулей, ботов

  • Есть API

  • Вместо тестового периода есть демо-форма и промо-баланс, а также функция предварительной оценки стоимости проверки.

  • Стоимость проверки образуется из стоимости обращения и стоимости за знак: проверка 1000 знаков одним запросом будет стоить 15 копеек, за 100 рублей получится проверить 667 сообщений сноска 1. При включении глубокой проверки - в два раза дороже.

  • двойные буквы в английских словах не распознает, а слитые слова, подстановку @ или * неплохо распознает

  • двойные буквы, слитые слова, транслит и замену на символы в русских словах неплохо распознает

  • Ответ от API возвращается с примерным положением слова в тексте и его длиной. То есть на своей стороне можно как-то подсветить для модератора слово.

  • Можно предлагать свои слова в общую библиотеку и помечать в демо-форме, если слово не было найдено.

  • Принимает только POST запросы, отдает только JSON

  • Ограничение на 1 запрос в 3 секунды с одного источника и на 1000 символов за одно обращение.

сноска 1 - это расчеты на основании данных под демо-формой - подогнал текст под 1000 знаков

Особо порадовало то, что есть разделение на словари: защита детства, русские тяжелые маты, английские тяжелые маты и русские террор-слова и их можно подключать отдельно. Правда, во фразе "застрахуй два корабля и получишь два рубля" сервис помечает слово "корабля", а также пару запрещенных организаций не нашел.

Вообще, по распознаванию английских/русских слов, этот сервис можно назвать обратным к WebPurify: ищет лучше русские, а английские хуже. Дизайн сервиса не воодушевил - много букв.

Ответ LF-сервиса
Ответ LF-сервиса

Итого

С одной стороны, WebPurify за 4000 в месяц дорого, если считать что у меня за день сообщений 300 если наберется, то хорошо.

Экономика заставляет считать. Будем считать исходя из многосложного тарифа LF-сервиса, потому что вот так. Иначе не сравнишь. Долго голову ломал, какая формула, но картина следующая.

300 обращений * (500 символов * (0.0001 руб за символ + 0.00015 руб за символ при глубокой проверке) + 0.05 руб за обращение) * 30 дней = 1575 рублей в месяц

В реальности выглядит так: в первые сутки (даже часов 15, наверное) использования, промо-баланс просел на 45 рублей.

Чисто с финансовой точки зрения, если у кого-то больше 1000-2000 текстов в сутки, можно сразу идти на WebPurify, чтобы потом под API другого сервиса не переписывать и людей не переучивать.

С точки зрения качества проверок, с учетом гибкости человечьей речи, я бы раздал баллов примерно поровну, может с небольшим перевесом в сторону российского сервиса из-за чуть лучшего распознавания.

С точки зрения удобства WebPurify лучше, но это мое личное мнение из-за статистики в админке, белого и черного списка и тестирования запросов в админке.

В обоих случаях модератор обойдется дороже, а если в день меньше 10-20 текстов проходит через вас, то можно вообще не париться, если эти тексты не представляют из себя газетные статьи.

Теги:
Хабы:
Всего голосов 4: ↑3 и ↓1+3
Комментарии16

Публикации

Истории

Работа

Python разработчик
115 вакансий
PHP программист
100 вакансий
Data Scientist
79 вакансий

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань