基于机器学习的垃圾邮件过滤

本文探讨了在快速发展的网络时代,垃圾邮件过滤系统的重要性。通过介绍开发工具、机器学习原理(朴素贝叶斯和TF-IDF)、系统设计(需求分析、数据库分析、功能模块)以及实现过程,构建了一个使用IntelliJIDEA和MySQL的系统,以TF-IDF和朴素贝叶斯算法过滤垃圾邮件,提高用户体验。

收藏和点赞,您的关注是我创作的动力

概要

  当今社会发展迅速,网络邮件也愈加普及。但是随之产生的垃圾邮件问题,也是的我们的邮件用户不堪其扰。对企业的工作以及个人用户的生活也造成了很大的影响。针对一些由于垃圾邮件导致的网络吞吐量异常和邮件系统无法正常使用的情况。建立一个机器学习邮件过滤系统是很有必要的。本文阐述了垃圾邮件过滤系统的背景,现状和意义。接着还介绍了系统的需求分析以及数据库分析、功能模块具体设计。最后介绍了邮件过滤系统的实现以及项目测试。
     机器学习邮件过滤系统使用idea开发工具 和MySQL数据库。使用改进后的TFIDF算法和朴素贝叶斯算法两种算法来进行邮件过滤。本系统主要实现的功能包括用户登录、数据预处理、模型性能评价、词典加载等功能模块。
关键词 邮件过滤,TFIDF,朴素贝叶斯,MySQL

一、研究背景与意义

1.1课题研究的背景

在21世纪,随着大家生活水平的提高,计算机走入千家万户。网络化信息化已经成为了当代的重要特征。网络已经成为了我们这个时代的基础核心。网络已经逐渐成为了各行各业发展的基础。现如今我们国家也越来越重视网络市场。随着网络通讯技术的发展和完善,电子邮件的用户也越来越多。随着商家也越来越重视告效应,用户每天收到的垃圾邮件也是越来越多。垃圾邮件是我们用户在日常生活中接收到的不需要的、对我们没有任何帮助的邮件,主要包括广告、商品推广、业务推广等。虽然目前市场上也是出现了一些垃圾邮件的过滤机制,但是收效甚微。因为不仅垃圾邮件过滤算法机制在提高,同时发送垃圾邮件的人也在想办法逃避检测,他们通常通过修改邮件内容以及减少使用垃圾词汇的频率,甚至使用其他谐音词汇来伪装成正常邮件。目前有很多比较常用的方法包括:基于邮件规则的过滤方法、通过拦截黑白名单过滤方法、基于邮件智能统计学习的方法。但在这些机制对于垃圾邮件所导致的“网络吞吐量异常”和“邮件系统异常”问题是无法有效缓解的。所以开发一个服务器端的邮件过滤系统,对于企业以及个人用户都是很有必要的。

1.2问题的提出及研究的意义

   在网络邮件带来的一系列的便捷的情况下,人们越来越青睐于邮件获取交换信息。与此同时,网络广告邮件的广告效应也是越来越强。垃圾邮件对用户的困扰也与日俱增。目前,用于处理垃圾邮件的方法主要有三种:定制法律法规、更改收发邮件的协议以及通过过滤器过滤垃圾邮件。
   然而对于现在巨量的垃圾邮件,第一种方法仅仅是对人的约束,可以说是收效甚微的,由于可以遵守某些已定的规则或是钻了法律的空子,一些人可以发送很多的广告邮件,法律法规反而是某些人发送垃圾邮件的保护伞。而协议的改进是通过对收发邮件的方式做出改变从而减少垃圾邮件的发送,例如对发送者进行检验,一定时间内可以发送多少邮件,超过规定数目就会追加收费,或是验证邮件是否来自合法区域以及发送者和接收者协商通过核对某种密码进行邮件的收发等等。但是这些协议却经常因为需要对当前协议进行变更或升级,协议的部署会经常受到限制,从而很难在电子邮件用户中进行推广。所以目前我们需要研究的方向就是使用过滤器对大量的邮件进行过滤,从而区分出那些是正常邮件,哪些是垃圾邮件。
  为了更加符合大众免受垃圾邮件困扰的需求。并且经过网上数据资料及调查结果的参考。垃圾邮件过滤类市场仍未饱和。但是用户对邮件过滤的即时性和操作方便性尤为看中。故编写一个机器学习邮件过滤系统是很有帮助的。

二、开发工具及相关技术概述

2.1开发工具介绍

   本文开发的垃圾邮件过滤系统使用的开发工具主要是IntelliJ IDEA,数据库使用MySQL,界面采用Java Swing开发,数据集使用trec06c。
    IntelliJ IDEA是被认为当前Java开发效率最好的一款IDE工具,它整合了开发过程中实用的很多功能[9],并且界面整洁、美观。使用它的一个重要原因是对于Java语言规范适配,这对项目环境以及项目配置的搭建有着很大的帮助。其次是代码生成较好,相比于其他工具IntelliJ IDEA功能更加强大并且在编写代码的过程中不易出错。而且还有很好的测试功能,它会自动生成测试类,并对应会生成测试方法。这对本系统的开发起了很的帮助。
    MySQL是一个关系型数据库,使用的是SQL语言进行增删改查的操作,目前属于Oracle旗下的产品。它是目前最受欢迎的关系型数据库之一。它支持各种开发语言,包括本系统所使用的Java语言,这也是选择使用MySQL数据库的重要原因之一。

2.2相关知识概述

1.朴素贝叶斯:
  朴素贝叶斯分类是贝叶斯分类器的一种,贝叶斯分类算法是统计学的一种分类方法,利用概率统计知识进行分类,其分类原理就是利用贝叶斯公式根据某对象的先验概率计算出其后

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值