Сравнение сервисов фильтрации нецензурной лексики
- пятница, 6 мая 2022 г. в 00:35:35
Лихо не пинайте, я только учусь.
Недавно понадобилось мне подключить мой проект (сайт на WordPress, Телеграм-канал, ВК группу) к фильтру матов и озадачился я предложениями, которые выдает интернет. Поэтому решил проанализировать те, что смог найти и составить личный список, который, надеюсь поможет коммунити Хабра.
Спойлер: найдено всего два сервиса и если знаете еще, то пишите в комментариях.
Когда пытаешься найти в Яндексе, Гугле и даже Мейле с Бингом сервис для фильтрации матов, то поисковики выдают все, что можно, но только не то, что нужно. Это и "как написать простой фильтр матов", и "скрипт плохих слов", и "BERT — state-of-the-art" и прочее подобное начиная с 2009 года публикации, что нужно хорошенько сдобрить молотком и напильником.
Возьмем инструкцию по донатам для Твича. Сама инструкция понятная, но это же сколько нужно точечно проработать разных вариаций комбинациями вроде Плохие слова: wc:д__а
- тут слово начинающееся с "д" и заканчивающееся на "а" будет помечено звездочками. Это сколько же таких вариантов надо прописать?
В более простых случаях нужно просто наполнить словарь своими словами. Однако я пытался и понял, что придется указывать не только именительный падеж и число, но и все варианты, типа такого: мухо-сабля, мухо-саблю, мухо-саблями, мухо-саблей (© Breaking Bad). Все это помножить на шестнадцать.
Это, что называется, моя личная драма, но хотелось бы найти сервис, который можно было бы подключать из одной точки. То есть чтобы не приходилось отдельно настраивать слова и режимы в телеге, отдельно в ВК, отдельно настраивать на сайте. Потому что это и удорожание и трата времени на настройку. Ведь хочется войти на одном сервисе, заполнить разово все стоп-слова и пользоваться везде.
Судя по тому, каков опрос о востребованности фильтров в старой статье Хабра, сообщество разделилось в далеком 2014 примерно пополам.
С другой стороны, сегодня тот же ВК не стоит на месте и вводит в действие нейросеть, которая борется с оскорблениями. На Пикабу родился и сразу умер пост про "Сделайте фильтр матов". Внутренние фишки в Твичах, Одноклассниках, Стимах - все это показатель, что кому-то да требуется фильтрация.
Следовательно вопрос: а чего тогда найти-то сложно такой сервис? Хорошо, я могу включить в ВК и пусть он как-то своим алгоритмом защищает, но что делать с сайтом и Телеграмом?
Сервисов на самом деле не много. Всего два и на поиск убил часов 5, причем не из поисковиков прямо, а как-то левыми путями, через ссылки на сайтах. Если кто-то найдет еще, добавляйте в комментарии.
Есть плагины под 6 CMS
Есть тестовый период
Цена за месяц на момент обзора $15 - за один язык, $50 - за большее кол-во.
двойные буквы, слитые слова, подстановку @ или * в английских запрещенных словах неплохо распознает
двойные буквы, слитые слова и замену на символы в русских словах не всегда распознает, но все же бывает, но транслит не видит
Ответ возвращается TRUE или FALSE, что в общем-то для последующей обработки не самое удобное, но на голяк и так хорошо.
Есть статистика (жирный плюс за визуал)
Есть индивидуальный черный список и белый список
Есть предварительное тестирование запросов в админке
Принимает GET и POST запросы, отдает XML, JSON
В меньшем тарифе за $5 нет API, а в том, что за 15 ограничение на один домен или IP, что в общем-то предостаточно, если все пропускать через один узел, но один язык - недостаточно. Так что раскошеливаемся на почти 4000 в месяц.
Круто то, что есть API. Считай, можно все пропускать через него и будет одинаковый результат. Сложилось впечатление, что у ребят есть опыт и дело прёт, потому что и 6 CMS и отдельные фильтры матов для фото и для видео, ну и сайт более презентабельный, чем у следующего по списку.
Нет плагинов под CMS, модулей, ботов
Вместо тестового периода есть демо-форма и промо-баланс, а также функция предварительной оценки стоимости проверки.
Стоимость проверки образуется из стоимости обращения и стоимости за знак: проверка 1000 знаков одним запросом будет стоить 15 копеек, за 100 рублей получится проверить 667 сообщений сноска 1. При включении глубокой проверки - в два раза дороже.
двойные буквы в английских словах не распознает, а слитые слова, подстановку @ или * неплохо распознает
двойные буквы, слитые слова, транслит и замену на символы в русских словах неплохо распознает
Ответ от API возвращается с примерным положением слова в тексте и его длиной. То есть на своей стороне можно как-то подсветить для модератора слово.
Можно предлагать свои слова в общую библиотеку и помечать в демо-форме, если слово не было найдено.
Принимает только POST запросы, отдает только JSON
Ограничение на 1 запрос в 3 секунды с одного источника и на 1000 символов за одно обращение.
сноска 1 - это расчеты на основании данных под демо-формой - подогнал текст под 1000 знаков
Особо порадовало то, что есть разделение на словари: защита детства, русские тяжелые маты, английские тяжелые маты и русские террор-слова и их можно подключать отдельно. Правда, во фразе "застрахуй два корабля и получишь два рубля" сервис помечает слово "корабля", а также пару запрещенных организаций не нашел.
Вообще, по распознаванию английских/русских слов, этот сервис можно назвать обратным к WebPurify: ищет лучше русские, а английские хуже. Дизайн сервиса не воодушевил - много букв.
С одной стороны, WebPurify за 4000 в месяц дорого, если считать что у меня за день сообщений 300 если наберется, то хорошо.
Экономика заставляет считать. Будем считать исходя из многосложного тарифа LF-сервиса, потому что вот так. Иначе не сравнишь. Долго голову ломал, какая формула, но картина следующая.
300 обращений * (500 символов * (0.0001 руб за символ + 0.00015 руб за символ при глубокой проверке) + 0.05 руб за обращение) * 30 дней = 1575 рублей в месяц
В реальности выглядит так: в первые сутки (даже часов 15, наверное) использования, промо-баланс просел на 45 рублей.
Чисто с финансовой точки зрения, если у кого-то больше 1000-2000 текстов в сутки, можно сразу идти на WebPurify, чтобы потом под API другого сервиса не переписывать и людей не переучивать.
С точки зрения качества проверок, с учетом гибкости человечьей речи, я бы раздал баллов примерно поровну, может с небольшим перевесом в сторону российского сервиса из-за чуть лучшего распознавания.
С точки зрения удобства WebPurify лучше, но это мое личное мнение из-за статистики в админке, белого и черного списка и тестирования запросов в админке.
В обоих случаях модератор обойдется дороже, а если в день меньше 10-20 текстов проходит через вас, то можно вообще не париться, если эти тексты не представляют из себя газетные статьи.