我已经实现了一个朴素贝叶斯垃圾邮件过滤器,它在给定的数据集上学习,然后将任何新输入预测为垃圾邮件或火腿。但现在我想将信息检索技术纳入其中,以提高过滤器的有效性。例如,更正拼写错误,例如如果写了 v1agra 而不是 viagra 或写了 m0rtgage,那么朴素贝叶斯应该更正它,它不应该在概率计算中产生任何问题。
任何好的教程或一些将信息检索技术与 Java 中的实现结合起来的工作都会有很大的帮助。
还有什么其他技术可以用来提高过滤器的有效性?
提前致谢。
我已经实现了一个朴素贝叶斯垃圾邮件过滤器,它在给定的数据集上学习,然后将任何新输入预测为垃圾邮件或火腿。但现在我想将信息检索技术纳入其中,以提高过滤器的有效性。例如,更正拼写错误,例如如果写了 v1agra 而不是 viagra 或写了 m0rtgage,那么朴素贝叶斯应该更正它,它不应该在概率计算中产生任何问题。
任何好的教程或一些将信息检索技术与 Java 中的实现结合起来的工作都会有很大的帮助。
还有什么其他技术可以用来提高过滤器的有效性?
提前致谢。
您要查找的内容称为词干提取。这通常用于消除诸如“walking”与“walked”之类的差异(Porter Stemmer 会将这两个词都转换为“walk”)。在您的情况下,您想设置一些规则来消除大部分垃圾邮件噪音(删除所有非字母字符?使所有单词小写等)