python中文文本分析_python--文本分析

一. 导读

文本分析主要用来分词分析,情感分析以及主题分析,参考 知乎用户的文章,他从方法代码上讲解了中英文分词(wordcloud,jieba),中英文情感分析(textblob,snownlp),以及主题分析(LDA).

应某位同学的要求,要处理文档里的分词,主题的统计功能,故本人做了个通用的小脚本,功能如下:

1. 词频取词,并生成气泡图

2. 重要性取词,并生成气泡图

3. 主题取词, 并导出html格式(好吧,pyLDAvis这个包有问题,没法导出来..,可以在notebook里面看)

接下来进行举例和分析

程序功能界面

二. 功能应用和分析

1.生成词频并生成气泡图

python term.py -type 1 -n 8 baidu.txt

结果如下:我们看到如下8个高词频词汇 :Baidu,Search,Users,Internet...... ,而在图中节点颜色越深,越大,词频越高,我们可以分析出,这篇文章应该是以用户使用搜索引擎的文章,没错----------就是百度的自我介绍:Baidu | Investors | Company Overview

技术分析:在Python ---网易云音乐评论自动云图生成器 这篇文章我使用的是pynlpir分词,而这次使用的jieba分词,注意:结巴分词并没有提供去除停用词的功能,这里要手动实现

气泡图一开始使用matplotlib画,但是很丑陋(调试了很久),这里使用网络格式画.

2. 生成重要词并生成气泡图

python term.py -type 2 -n 5 baidu.txt

结果如下:前5个关键词为:Baidu,search,users,Internet,online等.

3. 提取主题词汇:

python term.py -type 3 -topic 3 -topic_word 5 baidu.txt

生成3个主题,每个主题5个词汇,由于文档数太少,这里再加入数据Baidu | Investors |如下:

三. 总结:在代码层面,并没什么可说的,3个模块:命令行处理模块,数据分析模块以及画图模块,这里要注意处理不同数据类型.

jieba分词和pynlpir分词都是不错的分词,jieba分词还提供了更多的功能,对于英文分词,有单独的nltk (结巴分词项目地址:fxsjy/jieba)

文本处理中常用的技术有:特征向量技术: DictVectorizer,CountVectorizer, HashingVectorizer,One-hot Representation,Distributed Representation,word2vec;

降维技术:词根,词性还原,PCA;

拓展词库: TfidfTransformer,TfidfVectorizer;

其他技术:AE,语义网,LDA,聚类等.

四. 文本处理框架:

文本去重->机械压缩->短句删除->分词->停用词处理->生成VSM(Vector Space Model)->PCA-> 聚类-> 显示

文本处理坑很大,毕竟不是这个方向,会用就行了,不必深究;得到的结论也只是参考,也务必深究。

五. 一些资源:

你可能感兴趣的:(python中文文本分析)