# SpamMessage **Repository Path**: a_2016wang/SpamMessage ## Basic Information - **Project Name**: SpamMessage - **Description**: 中文垃圾短信识别(手写分类器) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-02-10 - **Last Updated**: 2023-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 环境 ## - jieba - pip install jieba - sklearn - pip install -U scikit-learn - python3.5 ## 运行方法 - -c classfile_name 命令用来指定要用的分类器的名字: | **名字** | **对应的分类器** | | ------- | --------------------------- | | **p** | Perceptron | | **lr** | LogisticRegression | | **nb** | NaiveBayesian | | **svm** | SVM(sklearn) | | **lrs** | LogisticRegression(sklearn) | | **nbs** | NaiveBayesian(sklearn) | - -i filename 为指定输入的短信文件名(该文件一行为一条短信) - -o filename 为指定输出的结果文件(结果用0和1表示,1为垃圾短信,每一行对应输入文件的短信结果) 例如: ``` python judgeSpamMessage.py -c svm -i ./data/不带标签短信.txt -o ./data/result.txt ``` 上述的命令指定了使用svm分类器,判断./data/不带标签短信.txt中的短信是否为垃圾短信,并将结果输出到./data/result.txt中。 ## 训练啥的 - 首先运行token_and_save_to_file.py,分词保存结果 - test.py 中有交叉验证等方法 ## 文件说明 文件夹解释如下: | **文件夹名** | **作用** | | -------------- | ----------- | | **classifier** | 分类器代码存放的文件夹 | | **data** | 数据文件 | | **model** | 保存的模型 | 文件的解释如下: | **文件夹名** | **作用** | | -------------------------------- | ---------------------------------------- | | classifier/LogisticRegression.py | 本组实现的逻辑回归分类器源代码 | | classifier/NaiveBayesian.py | 本组实现的朴素贝叶斯分类器源代码 | | classifier/Perceptron.py | 本组实现的感知器分类器源代码 | | data/tags_token_results | 带标签短信分词保存结果,token_and_save_to_file.py的生成的 | | data/ tags_token_results_tag | 带标签短信的类别 | | data/不带标签短信.txt | 不带标签短信数据集 | | data/带标签短信.txt | 带标签短信数据集 | | model/ Bayes_sklearn.pkl | sklearn的贝叶斯分类器训练结果保存 | | model/ Logistic_sklearn.pkl | sklearn的逻辑回归分类器训练结果保存 | | model/ LogisticRegression.pkl | 本组实现的逻辑回归分类器训练结果保存 | | model/ NaiveBayesian.pkl | 本组实现的贝叶斯分类器训练结果保存 | | model/ Perceptron.pkl | 本组实现的感知器训练结果保存 | | model/ SVM_sklearn.pkl | sklearn的SVM分类器结果保存 | | model/ train_data.pkl | 带标签的短信的BOW表示结果 | | model/ vsm.pkl | 用于将新文档表示为BOW的训练完的类保存 | | judgeSpamMessage.py | 用于判断输入的短信是否是垃圾短信 | | model_manage.py | 用于读入保存模型 | | readme.md | 说明文件 | | test.py | 测试文件 | | token_and_save_to_file.py | 分词并保存带标签的短信的结果,方便训练 |