新闻报道

什么是反垃圾邮件中的机器学习?

发布时间:2018-12-04
摘要:说到反垃圾邮件,不得不提垃圾邮件,想必大家对于垃圾邮件再熟悉不过了,或许有些人还经常受到垃圾邮件,然而大家对于反垃圾邮件就陌生多了,那我们一起来了解一下反垃圾邮件中的机器学习。

 

  说到反垃圾邮件,不得不提垃圾邮件,想必大家对于垃圾邮件再熟悉不过了,或许有些人还经常受到垃圾邮件,然而大家对于反垃圾邮件就陌生多了,那我们一起来了解一下反垃圾邮件中的机器学习。

  我始终认为做IT的自媒体是要有点Geek精神的,即便是在不太相关的领域。而况机器学习并非与邮件一无关联,譬如让所有管理员头疼不已的垃圾邮件就有可能通过机器学习实现智能化过滤。

反垃圾邮件

  要说到垃圾邮件的历史,小编也不知道究竟是谁第一个想到通过邮件方式能以几乎零成本将某个产品广告几秒钟内送达全球几千万用户,哪怕只有万分之一的响应,他也迅速获得了几千名客户。市场部人员乐此不疲,IT部人员就头痛不已,反垃圾邮件产品应运而生。然而这场战役始终是道高一尺魔高一丈的比拼。

  最早的手段是政府干预,比如美国的反垃圾邮件法;以及简单的人工预防,比如不回复垃圾邮件、不在公网发布自己的邮件地址、不转发连锁邮件(chain letters)。

  之后是主动防御,管理员组织开始研制“技术手段”,比如阻挡Spammer的IP地址,发展到现在已经能对邮件各个部分做过滤规则。不幸的是依然没有一个通用的完美的方法可以100%杜绝垃圾邮件,比如说小编的网易邮箱基本每天都有垃圾邮件。

  这场Spammer和发垃圾邮件技术的较量仍在升级。也就在几年前当通过屏蔽发件人地址或邮件关键字的手段可以将绝大部分拒之门外时,Spammer也改进代码,使用随机发件地址并且演变某些敏感词把它变成机器不能识别但人能识别的单词。比如说,广告邮件中通常有的"BUY NOW"往往会被绝大多数的过滤器所屏蔽,但将其演变为异性单词如"BUUY NOOW"就能骗过过滤器,而收件人恰好还能识别。

反垃圾邮件

  一些更高级的过滤器会计算敏感词在邮件中的词频以判断究竟放不放行,Spammer就会在一封垃圾邮件后加上一堆正常的单词以降低敏感词在全文的出现频率,有时邮件正文根本没有敏感词,而是一堆再正常不过的单词后跟一个web站点,甚至是在打开时会自动解密的javascript程序。可以说这是一场永无止境的角力。

  目前主流的邮件过滤方式有两种:一种是知识工程(Knowledge Engineering),另一种就是机器学习(Machine Learning)。对于前者来说,管理员需要人为设置一些规则以将垃圾邮件和正常邮件归类。一个典型的例子就是“如果邮件主题中包含‘BUY NOW’,那就是一封垃圾邮件”。一系列由管理员或者机构定义的此类规则就组成了一套完整的“垃圾邮件知识库”,麻烦的是“知识库”必须定期地由人工更新,这对多数管理员来说很不方便。因此各个“反垃圾邮件联盟”会站出来收会费并统一更新“垃圾邮件知识库”。但是公共的知识库也是Spammer可以访问的,他就能适时地绕开这些知识库发送垃圾邮件,然后联盟又会再更新一波知识库由此循环往复。

反垃圾邮件

  而机器学习的实现不需要定义明确的过滤器,只需要提供预先定义好的文档(即垃圾邮件和正常邮件的样本),然后机器就会用特定的算法来研究这些数据的分类规则。

  对于垃圾邮件的分类规则有很多种算法并且都已广泛应用,本系列将在后续的连载中详细介绍几种比较流行的算法。

  反垃圾邮件经过一些传播,让大家认识到反垃圾邮件的好处,也让大家认识到反垃圾邮件在生活、工作中所扮演的角色,和起到的作用。