I once read an article (probably on here) where a developer started tokenizing language into phonemes and then matching those against a list of verboten sounds. This prevented people (students?) from getting around literal filters. Basically hashing for English, where words like phat and 1337 could be matched. It always seemed like such an elegant and effective solution to a human vs computer problem. It would make a great library.