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()

运行结果如下:

感谢观看~~~

 

原文地址:https://www.cnblogs.com/sgy614092725/p/shiguiyu4.html