我是机器学习的新手,对于我的第一个项目,我想编写一个朴素贝叶斯垃圾邮件过滤器。我想知道是否有任何公开可用的标记为垃圾邮件/非垃圾邮件的训练集,最好是纯文本而不是关系数据库的转储(除非他们漂亮地打印那些?)。
我知道存在这样一个公开可用的数据库,用于其他类型的文本分类,特别是新闻文章文本。我只是无法为电子邮件找到相同的东西。
我是机器学习的新手,对于我的第一个项目,我想编写一个朴素贝叶斯垃圾邮件过滤器。我想知道是否有任何公开可用的标记为垃圾邮件/非垃圾邮件的训练集,最好是纯文本而不是关系数据库的转储(除非他们漂亮地打印那些?)。
我知道存在这样一个公开可用的数据库,用于其他类型的文本分类,特别是新闻文章文本。我只是无法为电子邮件找到相同的东西。
这是我一直在寻找的:http ://untroubled.org/spam/
这个档案有大约 1 GB 的压缩累积垃圾邮件,可追溯到 1998 年至 2011 年。现在我只需要接收非垃圾邮件。因此,我将使用 getmail 程序和mattcutts.com上的教程查询我自己的 Gmail
当然,还有Spambase,据我所知,它是机器学习文献中引用最广泛的垃圾邮件数据集。
我已经多次使用过这个数据集;每次我都为这个数据集的格式化和文档付出了多少努力而印象深刻。
Spambase 集的一些特征:
4601个数据点——全部完成
每个由 58 个特征(属性)组成
每个数据点都标记为“垃圾邮件”或“无垃圾邮件”
大约 40% 被标记为垃圾邮件
的特征,都是连续的(相对于离散的)
一个代表特征:大写字母的平均连续序列
Spambase 存档在UCI 机器学习存储库中;此外,它还可以在网站上获得Hastie 等人的优秀 ML/统计计算论文、统计学习要素。
SpamAssassin 有一个垃圾邮件和非垃圾邮件的公共语料库,尽管它已经有几年没有更新了。阅读 readme.html 文件以了解其中的内容。
您可以考虑查看 TREC 垃圾邮件/火腿语料库(我认为这是从法庭案件中公开的来自安然的电子邮件集合)。TREC 通常会运行一堆竞争性的文本处理任务,因此它可能会为您提供一些比较参考。
缺点是它们以原始 mbox 格式存储,尽管有许多语言可用的解析器(Apache Tika 就是一个很好的例子)。
该网页不是 TREC,但这似乎是对任务的一个很好的概述,并带有数据链接:http: //plg.uwaterloo.ca/~gvcormac/spam/
可以在kaggle找到更现代的垃圾邮件训练集。此外,您可以通过上传结果在他们的网站上测试分类器的准确性。
我也有一个答案,在这里您可以找到用于初始培训的每日更新的贝叶斯数据库,以及包含捕获的垃圾邮件的每日创建的存档。您将在网站上找到如何使用它的说明。