我有一个迭代 String 实例的过程。每次迭代都对 String 实例执行很少的操作。最后,String 实例被持久化。
现在,我想为每次迭代添加一个检查字符串实例是否可能是垃圾邮件。我只需要验证 String 实例不是“成人材料”垃圾邮件。
有什么建议吗?
我有一个迭代 String 实例的过程。每次迭代都对 String 实例执行很少的操作。最后,String 实例被持久化。
现在,我想为每次迭代添加一个检查字符串实例是否可能是垃圾邮件。我只需要验证 String 实例不是“成人材料”垃圾邮件。
有什么建议吗?
这是业界一直在努力解决的一个非常棘手的问题。最好的办法是尝试使用Classifier4J等现有解决方案以及黑名单数据源来识别垃圾邮件。
您需要应用一些贝叶斯逻辑,这就是Andrew 提到的Classifier4J在幕后所做的事情。
几年前,保罗格雷厄姆写了一篇很好的文章 - http://www.paulgraham.com/spam.html。
您可以尝试编写自己的分类器等,但如果您保证网络访问,那么仅使用Akismet 和 Java 绑定怎么样?它非常适合查找垃圾邮件。
您需要考虑网络连接和许可。
最简单的方法就是检查已知的垃圾邮件词。这里的问题是,在不同上下文中表示不同事物的词很容易得到误报。您要么需要手工挑选单词列表,并且只包括那些没有正当理由的单词,要么选择更重量级的解决方案。