• Stars
    star
    179
  • Rank 214,039 (Top 5 %)
  • Language
    Python
  • Created almost 8 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

中文垃圾短信识别(手写分类器)

环境

  • 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 分词并保存带标签的短信的结果,方便训练