1

我有一个稍微不寻常的亵渎相关问题。

现在我们已经习惯了对用户生成的内容进行亵渎过滤——任何方法都是不完美的,但是像CleanSpeakWebPurify这样的产品已经做得很好了。

然而,我们目前面临的问题是,我们一直在构建一个引擎来运行基于促销代码的竞赛,该竞赛将在国际范围内使用。我们可以检查这些代码中没有一个在拉丁美洲西班牙语或马来语中是亵渎的(至少在第一种情况下),以确保我们不会发送与FUCK23or等​​价的代码PEN15

我们已经尝试在谷歌上搜索并询问我们认识的人,但我们找不到一种简单的方法来获取一个es-419或一个ms亵渎列表来过滤代码。由于每个语言环境实际上有数百万个代码,我们宁愿进行离线检查,也不愿为每个代码都打一个 API(这在带宽和使用费方面都很昂贵)。

我知道这有点远,但有谁知道不同语言的亵渎列表的好来源?

#disclaim:我们知道没有脏话过滤是完美的,它对用户生成的内容基本上是徒劳的,我们已经阅读了SO #273516:你如何实现一个好的脏话过滤器?——这不是我们要问的。

4

2 回答 2

1

我也有同样的想法。在尝试为我正在做的项目生成 6 个字符代码时。我决定减少明显的porfain代码的可能性所以我从我最初的基本36代代码中删除了我在尽可能多的“坏”词中发现的元音。留给我的东西更像是一个不包括 a,e,i,o,u, 1,0 的 base 28 系统。删除了 1 和 0 以减少某些字体中的这些字符与 I、L、O 之间的混淆 到目前为止,我还没有看到“profain”代码流派。虽然 base 28 有 1.something 十亿个独特的组合。我不能保证其他语言,甚至没有考虑过......

于 2012-04-26T00:16:10.030 回答
1

构建或查找其他语言的列表非常耗时且困难(相信我,我们已经在 Inversoft 构建了许多列表)。您最好调整代码生成器(据我所知,您的代码是生成促销代码而不是人工生成)。

调整生成器的最佳方法是确保代码不能轻易地根据大多数欧洲语言中辅音和元音的一般使用来形成单词。在波兰语和其他语言中事情变得有点冒险,但它通常有效。

通常,大多数以元音开头的代码后跟另一个元音或非连接辅音(如没有“u”的“q”)。如果代码以辅音开头,则下一个字符是相同的辅音或使用概率低的辅音。例如,如果您以“s”开头,那么添加“g”是一个不错的选择。

您还可以使用维基词典或其他类似来源(如 Linux 字典文件)来构建对此的统计方法。通过提取字符彼此相邻的概率,您应该能够生成具有良好准确性的代码,这些代码绝不是任何语言中的单词。

但是,如果我误读了您的问题并且您没有以编程方式生成代码,您可以完全忽略我的回复。:)

于 2012-01-16T22:02:49.873 回答