2012-01-13 82 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