对于ASP.NET应用程序,自定义脏话删除/替换器的最佳实践实现方法是什么?
如果这是一个数据表解决方案,是否有免费资源来获取数据?(类似于查找可导入系统进行拼写检查的公共字典表)
猥亵过滤器:糟糕的想法,或令人难以置信的不良主意?^ _ ^
另请参阅如何实现良好的亵渎过滤器?.
获胜的唯一方法就是不玩.
考虑以下句子:
"爱德华二世是少数几个生下一个有记录的混蛋的君主之一."
Bastard是一个边界线咒骂词,但在这种情况下,它是一个完全明智的术语.
还要考虑:
"熔化的渣从坠落处掉了下来."
"这只婊子嗅到了另一只狗的背后."
您永远无法构建能够确定用法是否正确的解析器.即使你决定继续前进并且只是把这些话都说出来,但无论如何它们都很容易被颠覆.
问问自己,"Tw*t"真的比"twat"更具攻击性吗?每个人都知道你指的是什么词,每个人都明白这意味着什么.
最终,这个问题的解决方案不是技术问题.真的,你想使用某种人类主持人来摆脱那些发誓的人.人类温和派有一种算法永远不会的设施:它可以运用判断力.使用这种判断远比在这个问题上投入计算机科学更有用.
在这个问题的其他答案中详细讨论了这一点.