用于实现通用垃圾邮件检测的集群或其他机制

Clustering or other mechanisms for implementing generic spam detection

在正常情况下,我之前曾尝试过朴素贝叶斯和线性 SVM 来对与某些页面相关的某些特定类型的评论相关的数据进行分类,在这些页面上我可以访问手动标记并分类为垃圾邮件或火腿的训练数据。

现在我被告知要检查是否有任何方法可以在我们没有训练数据的情况下将评论分类为垃圾邮件。类似于获取两个数据集群,在给定任何数据的情况下,这些数据将被标记为垃圾邮件或非垃圾邮件。

我需要知道解决此问题的某些方法以及实现此问题的好方法。

我仍在学习和试验。任何帮助将不胜感激

新评论在词汇方面与旧评论有很大不同吗?因为单词几乎是这个任务的分类器所关注的一切。

您始终可以尝试使用旧的训练数据并将分类器应用于新领域。您必须标记新域中的一些示例以衡量性能(或者更好的是,让其他人进行标记以获得更可靠的结果)。

如果效果不佳,您可以尝试 domain adaptation or look for some datasets more similar to your new domain, using Google or looking at this spam/ham 语料库。

最后,您的新设置中可能存在一些规律性或模式,例如对评论投反对票,这可能表示 spam/ham。在这种情况下,您可以自己编译训练数据。这就是所谓的远程监督(你可以用这个关键字搜索论文)。

我能得到的最好的是这个 research work,它提到了主动学习。所以我想出的是,我首先执行 Kmeans 聚类并获得中央集群(假设有 5 个集群,我将 3 个集群按长度降序排列)并从每个集群中获取 1000 条消息。然后我会指定它由用户标记。下一个过程是在标记数据上使用逻辑回归进行训练并获得未标记数据的概率,然后如果我的概率接近 0.5 或在 0.4 到 0.6 的范围内,这意味着它是不确定的,我会将其分配给标记然后该进程将继续。