23 comments

[ 4.1 ms ] story [ 24.0 ms ] thread
basically:

  http://www.wdyl.com/profanity?q=xxx
My first thought was "Oh, I wonder if that means the spellcheck on my smartphone will stop substituting 'duck' when I meant to type something more profane." But after reading the article, I guess not.
It's publicly accessible, but I wouldn't call it official.
I once tried to create a list of basic patterns...always thought it'd be more useful than it turned out to be:

https://github.com/mogade/badwords/blob/master/en.txt

5hit, that's a fuhked up list.
It's repetitive - when you're checking e.g. for (ph|f)u(c|k|ck|q), there's no need to check cyb[e3]r(ph|f)u(c|k|ck|q) as well...
> fixed some broken patterns, added check for dick

My stepfather would be most displeased if he couldn't use his name.

So when the title says official, they actually mean "internal api, dug out of javascript source on a google affiliated site"?
Why oh why does profanity ever need to be filtered out?
Here's a simple example of a case where profanity filtering is almost certainly a good thing: say you have a voice transcription program (which Google makes available as part of Android). Voice transcription is an error-prone process. Wouldn't it be good to be able to avoid returning bad words that the voice transcription program mistakenly thought were there?
> you could try using the Google Profanity API to avoid displaying ads on pages that contain profanities

I assume that must be a requirement of some ad networks

Possibly because there's enough of it that it would affect statistical algorithms involving language processing (e.g. google translate)
I was hoping this was an API for generating profanity.
Just feed the Outbursts of Everett True into a Markov generator!
Scurries off to his keyboard to start hacking...
What the {"response": "true"} is this {"response": "true"} thing? A {"response": "true"} cache page? Are you {"response": "true"} {"response": "true"} me?! Do you really need a {"response": "true"} JSON API to do the work of a stupid {"response": "true"} array lookup? {"response": "true"}!!!