Черный список слов по содержимому для фильтрации сообщения

Для веб-сайта, который принимает данные от детей, нам нужно отфильтровать любые озорные / плохие слова, которые они используют, когда они вводят свои комментарии на веб-сайте (работает PHP).

Комментарии являются свободным полем, и пользователи могут вводить любые комментарии, которые они хотят. Решение, о котором я могу думать, состоит в том, чтобы иметь список слов, например BLACKLIST: плохое, плохое, слово, woord, craap, craaaap (мы можем заполнить это всеми вложенными в черный список словами).

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

НО ПРОЛМ с этим методом состоит в том, что они могут обойтись, добавив буквы к словам, чтобы пропустить фильтр EG: shiiiiit

Дайте мне знать, что вы думаете, лучший способ создать фильтр для этих слов.

Solutions Collecting From Web of "Черный список слов по содержимому для фильтрации сообщения"

Вы никогда не сможете фильтровать каждую перестановку. Возможно, наиболее целесообразным решением является фильтрация очевидного и внедрение механизма «Сообщить о нарушении», чтобы кто-то мог вручную просмотреть (и отклонить) подозрительные комментарии.

Так вы собираетесь запретить дерьмо, shit, shıt, śhit и śhiŧ?

Blacklisting не является жизнеспособным решением в эпоху Unicode. Тем не менее, запрет на то, что кажется чрезмерным.

Если у вас достаточно времени, стоит прочитать о проблеме Сканторпа .

У Джеффа Этвуда также есть статья о бесполезности фильтров непристойности .

Благодаря слишком большому числу php я нашел некоторые ссылки, которые могут быть решением для вашего дела:

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

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