От документы энергии о шаблонах :
\r
соответствия < CR>
\n
соответствия конец строки - При соответствии в строке вместо буферного текста литеральный символ новой строки подобран.
Огромный список и подумайте о целевой аудитории. Есть ли сторонний сервис, который специализируется на этом, а не на собственном?
Некоторые мысли:
Редактировать:
Это фраза Я хочу засунуть своего длинношеего жирафа в вашего пушистого белого кролика непристойное?
Я бы составил огромный список.
У регулярных выражений есть проблема пропусков зажигания, когда они применяются к естественному языку, особенно за некоторыми исключениями, которые есть в английском языке.
Одной из проблем с фильтрами такого типа является их тенденция отмечать полностью правильные английские названия городов, такие как Сканторп. Хотя это можно уменьшить, проверяя слово целиком, а не части, затем вы обнаружите, что люди пользуются преимуществом, объединяя свои оскорбительные слова с соседним текстом.
It зависит от вашего источника текста, но я бы выбрал какой-то установленный и проверенный алгоритм сопоставления с образцом, например, используя Trie .
Обратите внимание, что любая логика НЛП, подобная этой, будет подвергаться атакам «замены символов»:
Например, я могу написать «привет» как «he11o», заменив L на One. То же и с матом. Таким образом, хотя идеального ответа нет, подход «черных списков» «плохих слов» может сработать. Остерегайтесь ложных срабатываний (я бы сравнил свой черный список с большой книгой, чтобы посмотреть, что получится)
Используйте лемматизатор морфии, встроенный в WordNet, а затем определить, является ли лемма непристойной. Это решит проблему различных форм глаголов, множественного числа и т. Д.
Я бы поддержал большой список простых регулярных выражений. Меньше, чем список вариантов, но не пытается уловить ничего, кроме буквенных альтернатив в любом заданном выражении: например, "f [ u _- @ # $% ^ & *.] Ck".
Вы хотите использовать Байесовский анализ для решения этой проблемы. Байесовская вероятность - это мощный метод, используемый фильтрами спама для обнаружения нежелательных / фишинговых сообщений в вашем почтовом ящике. Вы можете обучить свой механизм анализа, чтобы со временем он улучшился. Возможность обнаружить подлинное электронное письмо по сравнению со спамом - это то же самое, что и проблема, с которой вы столкнулись.
Вот пара полезных ссылок:
План защиты от спама - первое предложение по использованию байесовского анализа для борьбы со спамом.
Data Mining (ppt) - Это написал мой коллега.
Есть веб-сервисы, которые делают такие вещи на английском языке.
Я уверен, что есть и другие, но я уже использовал WebPurify в проекте именно по этой причине.