Как реализовать хороший фильтр ненормативной лексики? - PullRequest
194 голосов
/ 07 ноября 2008

Многим из нас приходится иметь дело с пользовательским вводом, поисковыми запросами и ситуациями, когда вводимый текст может содержать ненормативную лексику или нежелательный язык. Часто это нужно отфильтровать.

Где можно найти хороший список нецензурных слов на разных языках и диалектах?

Доступны ли API для источников, содержащих хорошие списки? Или, может быть, API, который просто говорит «да, это чисто» или «нет, это грязно» с некоторыми параметрами?

Какие есть хорошие методы для ловли людей, пытающихся обмануть систему, например, $$, azz или a55?

Бонусные баллы, если вы предлагаете решения для PHP. :)

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

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

Так что я действительно имею в виду способ выяснить, является ли грязный токен грязным или нет, а затем просто запретить его. Я бы не стал предотвращать такое чувство, как совершенно смешное упоминание о «длинношерстном жирафе». Вы ничего не можете сделать там. :)

Ответы [ 21 ]

0 голосов
/ 07 ноября 2008

Не.

Потому что:

  • Clbuttic
  • Ненормативная лексика - это не ОМГ ЗЛО
  • Ненормативная лексика не может быть эффективно определена
  • Большинство людей, скорее всего, не ценят "защиту" от ненормативной лексики

Редактировать: Хотя я согласен с комментатором, который сказал, что "цензура - это неправильно", это не характер этого ответа.

...