您当前的位置:首页 > 计算机 > 编程开发 > Python

Python微调文本顺序对抗朴素贝叶斯算法垃圾邮件分类机制

时间:01-06来源:作者:点击数:

关于朴素贝叶斯算法中文垃圾邮件分类,可以参考:

Python+sklearn使用朴素贝叶斯算法识别中文垃圾邮件

分词是很多文本分类技术中很重要的一个环节,如果这个环节被破坏,会严重影响分类的准确性。

为了对抗这种垃圾邮件分类机制,有些垃圾邮件发送程序在文本中插入【】#¥*@&$等干扰字符来影响分词,从而影响整个分类机制的正确性。这样处理过的垃圾邮件实际上更容易识别和检测。因为在正常邮件文本中是不应该出现太多干扰字符的,如果出现了,那么直接判定为垃圾邮件在很大概率上也是正确的。检测方法思路可以参考:

Python统计一个字符串中所有字符在另一个字符串出现的总次数

由于人类在阅读文本时,一般是从粗到细和粗细结合的过程,先是一目十行大概了解,如果有感兴趣或需要的内容再缩小窗口逐行阅读,甚至逐词逐字反复阅读,并且在阅读过程中还会根据知识密集程度动态调整阅读窗口。

在这样的阅读方式下,部分字词的顺序交换以后并不容易发现,即使发现一般也不会影响内容的理解,大脑会根据记忆和知识的积累自动识别和纠正部分错误。

根据这一特点,如果对邮件文本中部分字词的顺序进行调整,会直接影响分词结果和朴素贝叶斯算法或类似算法的准确率,欺骗垃圾邮件过滤机制,使得垃圾邮件出现在正常收件箱中的概率大幅度增加。

演示代码:

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门