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

Недавно понадобилось мне подключить мой проект (сайт на 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 текстов проходит через вас, то можно вообще не париться, если эти тексты не представляют из себя газетные статьи.

Комментарии (15)


  1. namikiri
    05.05.2022 13:19
    +3

    Вордфильтры — зло.
    Вообще, лингвистическое пуританство — более глубокое зло, но это, так и быть, опустим.

    Пока что ни один вордфильтр кроме биологического с глазками и ручками не смог поймать меня на анаграммах: стоит переставить несколько букв и фильтр ничего плохого не видит, а человек прекрасно всё понимает, ведь по рзелульаттам илссеовадний... Так что вордфильтры в любом случае зло: кто хочет всё равно их обойдёт, а «порядочные» посетители нет-нет да и не смогут застраховать корабль.


    1. Feelosov Автор
      05.05.2022 13:52

      Еще ни один человек не доказал, что нецензурная (чаще она оскорбительная) лексика делает человека умнее, помогает ему обретать друзей, добиваться успеха в карьере.

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

      Опять же, на Хабре не увидишь нецензурщины (сколько я тут читал), и технологичные компании зачем-то работают в этом направлении. Может они что-то знают?

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

      О пуританстве конечно вам не стоит даже речь заводить, ведь оно не возможно на данном техническом уровне.

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


      1. namikiri
        05.05.2022 14:25
        -4

        Еще ни один человек не доказал, что нецензурная (чаще она оскорбительная) лексика делает человека умнее, помогает ему обретать друзей, добиваться успеха в карьере.

        Артемий Лебедев, например. Как бы кто к нему не относился, с карьерой, друзьями и прочим у него наверняка всё в порядке.


        1. Feelosov Автор
          05.05.2022 14:37

          Если вы правильно прочитали мое предложение, то ответьте: вы считаете, что нецензурщина помогла ему с друзьями, карьерой и прочим?


          1. SerafimArts
            05.05.2022 16:43
            +2

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


            1. Feelosov Автор
              05.05.2022 16:46

              Хорошо. Сюда же Воля, Харламов и Ленинград?


              1. SerafimArts
                05.05.2022 22:21
                +1

                Использование любых отличительных черт является критерием формирования имиджа.


                Глупо приплетать сюда резидентов камеди отдельно, так как в данном случае имеет смысл рассматривать всё в целом: Именно отсутствие явной цензуры и границ у тематики на фоне "аншлагов", "кривого зеркала" и "квн" сделало его таким популярным в своё время среди молодёжи, и та же цензура, например, полностью убила современный КВН.


                А Ленинград… Думаю, в данном случае, обсценная лексика не является основным критерием популярности, в отличие, например, от "красной плесени" или "уратсакидоги". Уверен, если бы не их стиль, изначально направленный "перпендикулярно общественным нормам", то о них бы никто особо и не услышал.


                1. Feelosov Автор
                  06.05.2022 05:02

                  На счет Ленинграда я не понял ответ "почему", но в целом суждение понимается так, что в основе (в контексте карьерного успеха) лежит не сама нецензурная лексика, а сотрясение устоев, нарушение шаблонов.

                  Появился Камеди и впервые с экрана произнес слово "жопа". Зритель в шоке - внимание привлечено, деньги - лопатой.

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

                  Ленинград - история та же: "мне бы в небо", "ввв.ленинград" и прочий срыв стандартов по теме бухла. Дальше - в Бумер, на нем словил признание у прочего населения. Ниша поймана, деньги вроде капают.

                  После того, как паства появилась, остается выйти в законодательное поле и особо не тревожить устои, нормы, принципы чтобы остаться на плаву. Этим ходом пользуются Киркоровы, Милявские, Джигурды, но не только. Нередко таким маргиналам становится стыдно перед детьми, родителями, обществом или потому что кормить адвокатов надо, и они начинают доказывать, что поступали правильно, еще больше закапывая свою репу в крайне левую могилу.

                  Все сводится к тому, что мат не является способом продвижения по карьерной лестнице. В основе - интерес публики на попытку сорвать табу. Зачастую эта публика в возрасте "вчера был первый секс".


          1. namikiri
            06.05.2022 10:17

            Как минимум она не помешала.


      1. tempick
        05.05.2022 18:41
        +3

        Еще ни один человек не доказал, что нецензурная (чаще она оскорбительная) лексика делает человека умнее, помогает ему обретать друзей, добиваться успеха в карьере.

        Еще ни один человек не доказал, что слово "рука" делает человека умнее, помогает ему обретать друзей, добиваться успеха в карьере.

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

        Это не означает, что без матов люди перестанут сраться и оскорблять друг друга. И тут же, на хабре полно срачей без мата.


        1. Feelosov Автор
          05.05.2022 18:59
          -2

          Какая еще "рука"? Речь не о слове, а о принципе и нормах. Эко в какую глушь вы размотали мою фразу.

          Более того, это не означает, что мат, судя по всему для некоторых крайне важный и драгоценный, куда-то исчезнет. Он не исчез сто лет назад, не исчез тысячу лет назад и еще через десять тысяч лет не исчезнет. Вопрос опять же в нормах, принципах.

          --

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


  1. fndrey357
    05.05.2022 20:15
    +2

    Как в старом школьном анекдоте:

    - А теперь дети, повторим слова, которые нельзя говорить.

    И это еще не затронута тема всяких оборотов, цензурных с виду.

    Где же они базы данных берут?


  1. DeadMaster
    05.05.2022 23:37
    +1

    В своё время писал для себя подобную систему для игровых серверов CS 1.6

    Ух и задачка конечно, с учётом того что в игре можно было писать ne tolko tak, Ho u TaK, a ewe u TaK, u DA>|<E TAK.

    Но в итоге процентов 98 она фильтровала, мата реально стало меньше, но обновлять базу слов, вносить исключения приходилась каждый день.


  1. Squoworode
    06.05.2022 10:09
    +1

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


  1. Anonim66
    06.05.2022 15:29

    Спасибо за такую полезную информацию!