如何最好地实现发誓词处理程序(.NET首选)?

时间:2008-11-18 17:21:22

标签: .net asp.net spell-checking

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

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

3 个答案:

答案 0 :(得分:15)

答案 1 :(得分:6)

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

考虑以下句子:

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

Bastard是一个边界线咒骂词,但在这种情况下,这是一个完全明智的术语。

还要考虑:

  • “熔渣脱落了 cruciable“。
  • “婊子嗅着另一只狗的背后。”

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

问问自己,“Tw * t”真的比“twat”少得多吗?每个人都知道你指的是什么词,每个人都明白这意味着什么。

最终,这个问题的解决方案并不是技术问题。真的,你想使用某种人类主持人来摆脱那些发誓的人。人类温和派有一种算法永远不会的设施:它可以运用判断力。使用这种判断远比在这个问题上投入计算机科学更有用。

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

答案 2 :(得分:2)

嗯,我们(*)所做的是创建一个双层的“坏词”列表(使用正则表达式来捕捉一些变化)。使用第1层单词会向您发出警告,说明您违反了服务条款,并且在您修复之前无法保存该消息。如果您使用第2层,则会发布消息,但会自动提出异议。所有标记有异议的消息(系统或用户生成的)都会由确定其是否保留的人员进行审核。

(*)“我们”是一家庞大,沉稳的实体连锁店的电子商务部门,它刚刚开始在其网站上提供用户生成的内容。