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()
运行结果如下: