目录
一、文本处理
中文分词是中文文本处理的一个基础步骤。jieba分词工具是最常见的语言分词工具:
import jieba
import jieba.posseg as psg
from collections import Counter
jieba分词中有三种分词模式,不同的分词模式将直接影响分词的结果:
1、精确模式(默认)
试图将句子最准确的切开,适合文本分析:
text = '我现在在jupyter notebook上写文本分析的代码!'
cut = jieba.cut(text)
'/'.join(cut)
除此之外还可以给出各个词语的词性:
words = psg.cut(text)
for word,flag in words:
print(word,flag)
2、全模式
把句子中所有可以组成词的词语都扫描出来,速度快,但不能解决歧义:
'/'.join(jieba.cut(text,True))
很显然,它将所有可以组成词的词语都扫描出来,但出现了一些原意中不应该出现的词语,如“本分”
3、搜索引擎模式
在精确模式的基础上,对长词再次切分,提高召回率,是用于搜索引擎分词:
baogao = open('...\\政协报告.txt', encoding = 'UTF-8').read()
print('文本长度:',len(baogao))
baogao_words = [x for x in jieba.cut(baogao) if len(x)>=2]
c = Counter(baogao_words).most_common(20)
c
baogao_words1 = [x for x in jieba.cut_for_search(baogao) if len(x)>=2]
c1 = Counter(baogao_words1).most_common(20)
c1
从两张图的差异可以看出,精确模式中“人民政协”中的“政协”并没有算到“政协”出现的次数之中,需要利用搜索引擎模式才能把文中所有“政协”出现的次数算到一起
二、词云图
词云图是由词汇组成类似云的彩色图形,利用词云图可以过滤文章大量无关紧要的文本信息,使浏览者能够很直接客观地凭借视觉感官提取文本中的主题内容
1、wordcloud模块导入
import jieba.analyse
import matplotlib as mpl
import matplotlib.pyplot as plt
from wordcloud import WordCloud,STOPWORDS