Как вы, единомышленники, решили основную проблему фильтрации ненормативной лексики, очевидно, что невозможно справиться с каждым сценарием, но было бы неплохо иметь один на самом базовом уровне в качестве первой линии защиты.
В Obj-c у меня есть
NSString *tokens = [text componentsSeparatedByString:@" "];
И затем я перебираю каждый токен, чтобы увидеть, найдено ли какое-либо из ключевых слов (у меня около 400 в списке) в каждом токене.
Осознание ложных срабатываний также является проблемой, если слово является идеальным соответствием, оно помечается как ненормативная лексика, в противном случае, если найдено более 3 слов с ненормативной лексикой, но не является идеальным совпадением, оно также помечается как ненормативная лексика.
Позже я воспользуюсь веб-сервисом, который более точно решит проблему, но мне просто нужно кое-что базовое. Так что, если бы вы написали слово «пенис», оно бы звучало как «непослушный, непослушный, плохое».