2012-01-13 102 views
1

我有一個與衆不同的褻瀆相關問題。促銷代碼的褻瀆檢查

現在我們已經習慣於處理用戶生成內容的褻瀆過濾 - 任何方法都不完善,但像CleanSpeakWebPurify這樣的產品可以做得很好。

我們現在的問題是,我們一直在構建引擎來運行基於促銷代碼的競賽,這將在國際上使用。我們可以檢查這些代碼是否在拉丁美洲西班牙語或馬來語中(至少在第一個例子中)都不是褻瀆,以確保我們不會發送相當於FUCK23PEN15或其他東西的代碼。

我們嘗試了谷歌搜索並詢問我們知道的人,但我們無法找到一個容易的方法來獲取es-419ms褻瀆目錄來篩選代碼。由於每個語言環境都有數百萬個代碼,因此我們寧願進行離線檢查,而不是爲每個代碼創建API(這在帶寬和使用費用方面都很昂貴)。

我知道這是一個很遠的鏡頭,但有誰知道不同語言的褻瀆名單的好來源?

#disclaim:我們知道,沒有褻瀆的過濾是完美的,它實質上是用戶生成的內容徒勞無益,我們已經閱讀SO #273516: How do you implement a good profanity filter? - 這不是我們要求的。

+3

對你沒有幫助,但讓我想起了這個:http://thedailywtf.com/Articles/The-Automated-Curse-Generator.aspx – 2012-01-13 12:51:04

+0

我以前沒見過那個故事。那真是太棒了;感謝你提高我的午餐時間:o) – 2012-01-13 13:08:12

+0

本給你的鏈接中的重要句子是:「我一直在想它,這太危險了,只有一個壞詞過濾器,我們永遠不會能夠想出每一種可能的攻擊性組合。「而已。根本沒有辦法過濾褻瀆,尤其是當有人用某種特殊的方式寫下來的時候。順便說一句,我想分享同一篇文章,但本更快。 – 2012-01-13 13:34:54

回答

1

以其他語言編寫或查找列表非常耗時且困難(請相信我,我們在Inversoft中構建了其中的許多列表)。您可能會更好地調整代碼生成器(而不是我可以告訴您的代碼生成促銷代碼而不是人類)。

調整生成器的最佳方法是確保代碼無法輕鬆地基於大多數歐洲語言中輔音和元音的使用形成單詞。波蘭和其他國家的情況有點危險,但它通常起作用。

通常,大多數以元音開頭的代碼後面跟着另一個元音或非加入輔音(如'q'沒有'u')。如果代碼以輔音開頭,那麼下一個字符是相同的輔音或者使用率較低的字母。例如,如果您以's'開頭,那麼添加'g'是個不錯的選擇。

您也可以使用wiktionary或其他類似的來源(如Linux詞典文件)來構建一個統計方法。通過提取字符彼此相鄰的概率,您應該能夠生成具有良好準確性的代碼,從而不會以任何語言表達單詞。

但是,如果我誤讀了您的問題,而且您沒有以編程方式生成代碼,則可以完全忽略我的回覆。 :)

1

我有同樣的想法。試圖爲我正在做的項目生成6個字符代碼。 我決定減少明顯porfain代碼的可能性因此,我從我的intial base 36代代碼中刪除了我發現的儘可能多的「不良」單詞的元音。留下我更像一個基地28系統,不包括a,e,i,o,u,1,0。爲了減少某些字體中字符與I,L,O之間的混淆,迄今爲止我還沒有看到一個「profain」代碼genreated。雖然基地28有十億個獨特的組合。 我不能擔保其他語言,甚至沒有考慮過......

+0

是的,我很確定這就是我們最終做的。我正趕上下週正在開發的開發人員,所以我可以發佈更多的細節,我希望。歡迎來到Stack Overflow,格蘭特:o) – 2012-04-26 11:35:37