从检索到的数据中过滤垃圾邮件

数据挖掘 大数据 效率
2021-09-15 12:07:38

我曾经听说使用黑名单过滤垃圾邮件不是一个好方法,因为某些在您的数据集中搜索条目的用户可能会从被阻止的来源中寻找特定信息。此外,不断验证每个被阻止的垃圾邮件发送者的当前状态,检查站点/域是否仍在传播垃圾邮件数据,这将成为一种负担。

考虑到任何方法都必须高效且可扩展,以便支持对非常大的数据集进行过滤,那么有哪些策略可以以无偏见的方式摆脱垃圾邮件?

编辑:如果可能的话,任何策略的例子,即使只是它背后的直觉,都会非常受欢迎。

2个回答

垃圾邮件过滤,特别是在电子邮件中,已经被神经网络彻底改变了,这里有几篇论文可以很好地阅读这个主题:

关于神经网络和垃圾邮件的未来 AC Cosoi, MS Vlad, V. Sgarciu http://ceai.srait.ro/index.php/ceai/article/viewFile/18/8

使用多神经网络 Ann Nosseir、Khaled Nagati 和 Islam Taj-Eddin 的基于词的智能垃圾邮件过滤器检测 http://www.ijcsi.org/papers/IJCSI-10-2-1-17-21.pdf

使用自适应神经网络进行垃圾邮件检测:自适应共振理论 David Ndumiyana、Richard Gotora 和 Tarisai Mupamombe http://onlineresearchjournals.org/JPESR/pdf/2013/apr/Ndumiyana%20et%20al.pdf

编辑:使用神经网络来帮助过滤垃圾邮件的基本直觉是根据它们与垃圾邮件关联的频率为术语提供权重。

神经网络可以在受监督的环境中最快速地训练——您在训练集中明确提供句子的分类——环境。在不深入细节的情况下,可以用这些句子来说明基本思想:

Text = “失去伟哥专利对辉瑞有何影响”,垃圾邮件 = false Text = “现在购买便宜的伟哥”,垃圾邮件 = true Text = “在线药店 Viagra Cialis Lipitor”,垃圾邮件 = true

对于两阶段神经网络,第一阶段将根据单词是否存在于句子中来计算垃圾邮件的可能性。所以从我们的例子中:

伟哥 => 66% 购买 => 100% 辉瑞 => 0% 等等。

然后对于第二阶段,将第一阶段的结果用作第二阶段的变量:

伟哥 & 购买 => 100% 辉瑞 & 伟哥 => 0%

这个基本思想适用于训练数据中所有单词的许多排列。训练后的最终结果基本上只是一个等式,该等式基于句子中单词的上下文可以分配垃圾邮件的概率。设置垃圾邮件阈值,并过滤掉任何高于所述阈值的数据。

黑名单没有价值的原因有很多:

  1. 它们易于设置和扩展 - 它只是一个键/值存储,您可能只需将一些缓存逻辑重新用于最基本的实现。
  2. 根据垃圾邮件攻击的规模和类型,可能会使用一些非常具体的术语或 URL。将该术语放入黑名单比等待模型适应要快得多。
  3. 您可以像添加项目一样快速删除项目。
  4. 每个人都了解它们的工作方式,任何管理员都可以使用它们。

打击垃圾邮件的关键是监控确保您有某种界面显示哪些项目在您的黑名单上,在过去 10 分钟/小时/天/月内被击中的频率,以及轻松添加和删除项目的能力。

您需要结合多种不同的垃圾邮件检测模型和策略。神经网络似乎是一个很好的建议,我建议除了内容之外还要查看用户行为模式。普通人不会在连续 12 小时内每 30 秒发送 1,000 封电子邮件。