朴素贝叶斯非结构化文本分类
英语单词大概有1百万左右,如果分别计算每个词在当前位置出现的概率来计算整篇文章的概率的话,是不现实的
因此我们采取另一种简化方法,即转化积极文档的第n个位置是单词x的概率为单词x在积极文档中出现的概率。
一般步骤如下
1.确定词汇表的大小,即积极文档和消极文档中出现的所有独立单词的个数。
对于每个单词计算积极消极两种假设的概率
1.1 将积极文档合并成一个文件,消极文档合并成另一个文件。
1.2 计算词在该假设文档中出现的次数记为n
1.3 对于词汇表中的每个词wk,计算其在文件中出现的次数nk
1.4 对于词汇表中的每个词wk,计算p(wk|h)= (nk+1)/(n+词汇表大小)
2.贝叶斯求解阶段,求出最大概率的分类
问题1,对于一篇100词左右的文章,这个概率会很接近0,在python中会被近似为0
所以通过取对数的方式,化乘为加,同时压缩了数字的取值范围。
问题2,英语里有200个最频繁出现的词,去掉这些词后不会影响我们对文本分类的能力,这些词被称为停用词,在预处理阶段我们
通过停用词表来进行清洗,从而减少处理量,提高性能。
但是停用词并不是不变且必须的需要针对任务进行取舍。