04.概率统计

骚扰拦截方法

基于黑名单的过滤

  • 布隆过滤器 缺点:布隆过滤器有判错的概率,有可能会导致错过重要电话错过
  • 将黑名单存储在服务器端,把过滤和拦截的核心工作,交给服务器来做。手机端只需要将负责要检查的号码发送给服务器端,服务器经过判别,将结果返回给手机端。要求手机可以联网。再者网络通信的速度会影响整个方案的处理速度。

基于规则的过滤器

定义特殊单词时,要求有大量样本数据,比如1000万,并且每一条都要求做好标记,是正常短信还是垃圾短信。如果某个词在垃圾短信中出现的概率远大于在正常短信中出现的概率,那么我们就把这个词当作特殊单词。

基于概率统计的过滤器

基于规则的过滤器,看起来很直观,也很好理解,但是它也有一定的但是它也有一定的局限性。一方面,这些规则受人的思维方式局限,规则未免过于简单。另一方面,发送者可能会根据规则,精心设计短信,绕过基于规则的拦截。

在这里插入图片描述

在这里插入图片描述

总结

可以将三种算法一起一起使用,来加大判断的准确性。这可以解决单独用基于黑名单的过滤器的缺点了。
再者要权衡准确率召回率
准确率是是否会将 一个正确的判断错,召回率是是否能把所有的垃圾短信全找到。

延申

我觉得这种分类过滤,最好的可能是机器学习,通过大量的垃圾短信样本来训练特征,最后可以达到过滤短信和邮件的目的,而且这种方法应该效果更好,至于电话拦截,实际上就是电话号码黑名单的问题,我觉得用布隆过滤器可以满足通用场景,一般实际场景中,对于这种电话是提示谨慎接听,但是我们可以本地和云端结合处理,解决部分的误报问题,当判断是黑名单的时候再去云端查,确认是否是真的黑名单。这样用布隆过滤器+云端也是一种方式
机器学习里也有朴素贝叶斯分类,跟王老师讲的原理基本一致
对于短信文本,机器学习尤其是 NLP 方向的很多算法可用于 anti-spam。文本分类任务,特征工程做得稍用心的话,判别式模型(典型如 logistic regression)的效果通常好于生成式模型(典型如 naive-bayes)。

对于电话号码数字,感觉用正则或定时拉取黑名单比 ml 模型简单可靠。
本文是在极客时间上学习数据结构与算法之美的课程后做的笔记。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章