jieba库使用和好玩的词云
1.jieba库,介绍如下:
(1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组;除此之外,jieba 库还提供了增加自定义中文单词的功能。
(2) jieba 库支持3种分词模式:
精确模式:将句子最精确地切开,适合文本分析。
全模式:将句子中所以可以成词的词语都扫描出来,速度非常快,但是不能消除歧义。
搜索引擎模式:在精确模式的基础上,对长分词再次切分,提高召回率,适合搜索引擎分词。
2.安装jieba库
(1)在命令行下输入:pip inshtall jieba
有进度条弹出来,再等待一下就安装好了。
(2)调用库函数 1:导入库函数<库名>
使用库中函数:<库名> . <函数名> (<函数参数>)
4.jieba库函数
(1)库函数常用的功能
2.jieba库的应用
3.利用jieba库统计一篇文章的出场顺序:
上代码:
1 # -*- coding: utf-8 -*-
2 import jieba
3
4 txt = open("D:\\文本\\Detective_Novel(utf-8)\Detective_Novel(utf-8).txt", "r", encoding='utf-8').read()
5 words = jieba.lcut(txt) # 使用精确模式对文本进行分词
6 counts = {} # 通过键值对的形式存储词语及其出现的次数
7
8 for word in words:
9 if len(word) == 1: # 单个词语不计算在内
10 continue
11 else:
12 counts[word] = counts.get(word, 0) + 1 # 遍历所有词语,每出现一次其对应的值加 1
13
14 items = list(counts.items())
15 items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序
16
17 for i in range(3):
18 word, count = items[i]
19 print("{0:<5}{1:>5}".format(word, count))
4.运行结果
五。再利用wordcloud库生成词云图:
1.安装wordcloud库 在命令行打pip install wordcloud
代码如下:
1 from wordcloud import WordCloud
2
3 import matplotlib.pyplot as plt #绘制图像的模块
4
5 import jieba #jieba分词
6
7 path_txt='D:\\文本\\Detective_Novel(utf-8)\Detective_Novel\
8 l(utf-8)'
9
10 f = open("D:\\文本\\Detective_Novel(utf-8)\Detective_Novel(utf-8).txt", "r", encoding='utf-8').read()
11
12 # 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云
13
14 cut_text = " ".join(jieba.cut(f))
15
16 wordcloud = WordCloud(
17
18 #设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的
19
20 font_path="C:/Windows/Fonts/simsun.ttc",
21
22 #设置了背景,宽高
23
24 background_color="black",width=2000,height=1200).generate(cut_text)
25
26 plt.imshow(wordcloud, interpolation="bilinear")
27
28 plt.axis("off")
29
30 plt.show()
运行结果如下:
感谢观看~~~