文本分类随笔

最近需要做些自然语言处理中的文本分类的相关任务,把Python捡起来了,之前用Python弄过爬虫,现在装Python的时候,组里面推荐了一个比较好的集成器PyCharm,能很方便的实现调试,

文本分类流程:分词-去除停用词-提取特征-分类


今天遇到一个很奇葩的问题: Python3.4 的编码问题是一个很奇葩的问题,我的文本编码格式为utf-8,读取文本的时候同样也是utf-8,为什么读出来还是会有乱码?

在请教老师之后,老师给出了一个方向:看看乱码是哪些字,是随记的还是有有规律的字出现乱码,进而确定问题的性质。

果然在观察乱码的出现的情况之后,发现了一个规律,就是乱码只是出现在固定2个类别之中,我便在这两个类别中的原文档逐一查看,发现原文档之中就乱码。原来在文档预处理的过程之中,对原文档的处理能力不足,导致出现遗漏的情况。


文本分词,得到特征单词集合库 --> 去停用词 --> 卡方检验,去前N个特征词,得到一个文件库的特征词集合,这一步过滤一些特征单词 --> 计算文本库中所有文本中单词的 tfidf 值,作为该文本的特征。

分类效果不好用的原因:

1. 分词系统不好用,因为微博或者论坛中的文本中往往会错别字,所以导致分词结果不甚理想

2. 文本太短,或者文本太长。文本来源导致文本长度相差太大

3.  训练数据不够

4. 参数没调好

5. 垃圾特征太多

6. 模型表达能力不足

7. 情感词表不全

8. 微博、论坛语料分布不一

你可能感兴趣的:(机器学习算法)