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