• Stars
    star
    136
  • Rank 267,670 (Top 6 %)
  • Language
    Python
  • Created over 9 years ago
  • Updated almost 9 years ago

Reviews

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

Repository Details

朴素贝叶斯文本分类器

**数据:**搜狗文本分类语料库

**分类器:**朴素贝叶斯分类器 NBC(Naive Bayesian Classifier)

**编程语言:**Python+jieba分词库+nltk+sklearn

改进:

1. 应该在处理每个文本的时候,应该去除一些杂乱信息,减少内存占用等  
2. 如果在事先有词典的情况下,可以直接提取文本特征  
3. 没有词典的时候,应该自己构造词典,甚至在大量样本中学习词典。由于没有事先的词典dict,把所有文档的分词结果放到一个dictionary里面,然后根据词频从高到低排序。由于处理每个文档的时候,就没有去除一些杂乱信息,比如标点符号、无意义的数字等,所以在试验中构造最终词典(固定选取1000个词)的时候,逐渐去除词典的部分高频项,观察正确率的变化  
4. 特征维数的选取,在本文中固定1000维,可以做正确率关于维数的变化    
5. 特别说明:因为分类器用的是朴素贝叶斯,所以文本特征是[TRUE, FALSE, ...]。文本是否包含字典中词的判别p(feature_i | C_k) = ...如果是使用SVM,那么特征应该是词频或者TDIDF等  
6. 可以采用nltk或sklearn,注意其中选取的特征格式不同。nltk要求特征为dict格式,sklearn要求特征为list