项目简介
本项目是基于Python开发的垃圾邮件检测系统,可持续监听用户提供的邮箱地址,在接收到新邮件时判断其是否为垃圾邮件。系统针对中文邮件优化,支持词袋模型(BOW)和词频逆文档频率模型(TF - IDF)两种检测模型,通过朴素贝叶斯算法进行邮件分类,还具备模型训练与优化功能。
项目的主要特性和功能
- 垃圾邮件检测:持续监听邮箱,自动检测并分类垃圾邮件。
- 多模型支持:提供词袋模型(BOW)和词频逆文档频率(TF - IDF)两种检测模型。
- 模型训练与优化:通过网格搜索找到最佳模型参数,利用朴素贝叶斯算法训练和优化模型。
- 易于安装与使用:通过简单安装命令即可使用该系统。
安装使用步骤
安装步骤
使用命令行工具下载并安装本包:
shell
pip install SpamEmailDetector
使用步骤
- 导入并初始化
EmailListener
类,设置邮箱地址、授权密码和检测模型: ```python from SpamEmailDetector.EmailListener import EmailListener
myEmail = EmailListener(email=yourEmailAddress, password=yourPasscode, detectorName=nameOfDetector)
myEmail.startListening(10)
其中,`yourPasscode`是邮箱的授权密码,`detectorName`可以是`"BOWSpamDetector"`或`"TfIdfSpamDetector"`。
2. 系统将每隔10秒检查一次新邮件,并在控制台上显示检测结果。
3. 如果需要手动判断某段文本是否为垃圾邮件,可以使用以下代码:
python
from SpamEmailDetector.BOWSpamDetector import BOWSpamDetector
myInstance = BOWSpamDetector(normalTextFilePATH='./Dataset/normal.txt', spamTextFilePATH='./Dataset/spam.txt', stopWordsTextFilePATH='./Dataset/stopwords_master/baidu_stopwords.txt') myInstance.preprocessEmails(ChineseOnly=False)
TEXT = "..." vectorizedText = myInstance.countVectorizerModel.transform(TEXT) result = myInstance.naiveBayesModel.predict(vectorizedText) ```
注意事项
- 请确保邮箱的授权密码正确无误。
- 系统主要针对中文邮件进行优化,英文邮件的检测效果可能较差。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】