Как фильтровать нецензурную лексику?
Если люди хотят ругаться - они будут ругаться. Никакие словари, автозамены, и тому подобные вещи от этого не спасут. Составить словарь, содержащий бесчётное количество словоформ (люди у нас изобретательны), слова с буквами другой раскладки, слова, разделёнными посторонними знаками, с изменённым порядком букв - никакого терпежа не хватит. Эврестический анализ гарантирует ложные срабатывания - как их обрабатывать? Без ручной модерации ничего не выйдет. Если вы рассчитываете полностью избавиться от ручной модерации, и при этом хотите обезопасить себя от мата в комментариях - придётся отключать комментарии :)
Можно попробовать обертку для яндексовского стеммера https://github.com/aotd1/mystem/ 
Словарь для 99% попаданий я думаю составить не проблема и руками.