之前做了一个简单的中文文本分类系统,采用的是朴素贝叶斯的算法,现在回顾一下并详细给出每一个步骤。若有源代码需求,请移步 https://github.com/chenfei0328/BayesProject
一、文本预处理
1.格式问题,比如删空格,删换行符等。
2.jieba分词 https://github.com/fxsjy/jieba
二、建立向量空间模型
1.加载训练集,每一篇文档作为一行数据,n篇文档则有n维。
2.生成词典,把训练集中每一个出现过的词添加到词典中,同时删除存在于停用词表(比如“的”)中的词。
3.建立tf-idf模型。
算法原理:
实例:
词典=【我,是,中国,人,啊】
文本1=【我,是,人】
文本2=【中国,人,是,人】
a.建立tf矩阵(表示每一篇文档的词频信息)
(1)将每一篇文档投射到词典中,在词的索引位置处记录该词出现的次数。
文本1=【1, 1, 0, 1, 0】
文本2=【0, 1, 1, 2, 0】(词典中的“人”在该文本中出现两次)
(2)接下来,对整型计数方式进行归一化,可以避免句子长度