1

对于 ASP.NET 应用程序,自定义脏话删除器/替换器的最佳实践实现方法是什么?

如果这是一个数据表解决方案,是否有免费资源来获取数据?(类似于查找可以导入系统进行拼写检查的公共字典表)

4

3 回答 3

6

获胜的唯一方法就是不玩。

考虑以下句子:

“爱德华二世是少数几个生下有记录的私生子的君主之一。”

混蛋是一个边界线的脏话,但在这种情况下,它是一个完全合理的术语。

还要考虑:

  • “熔渣从坩埚中掉了出来。”
  • “母狗嗅了另一只狗的屁股。”

您将永远无法构建能够确定用法是否正确的解析器。即使你决定继续前进,只是说出这些话,它们也很容易被颠覆。

扪心自问,“Tw*t”真的比“twat”没有那么令人反感吗?每个人都知道你指的是什么词,每个人都明白它的意思。

归根结底,这个问题的解决方案不是技术性的。真的,您想使用某种人类主持人来摆脱发誓的人。人类温和派拥有算法永远不会具备的能力:它可以进行判断。使用这种判断比用计算机科学解决问题要有用得多。

在此问题的其他答案中详细讨论了这一点。

于 2008-11-18T17:42:31.003 回答
2

好吧,我们 (*) 所做的是创建一个两层的“坏词”列表(使用正则表达式希望能捕捉到一些变化)。使用第 1 层单词会给您一个警告,指出您违反了服务条款,并且在您修复它之前无法保存该消息。如果您使用第 2 层词,则会发布消息,但会自动提出反对意见。所有带有异议标记的消息(系统或用户生成的)都由人工审核,以确定它是留下还是消失。

(*) “我们”是一家大型、稳重的实体连锁店的电子商务部门,该连锁店刚刚开始允许用户在其网站上生成内容。

于 2008-11-18T18:32:08.017 回答