文章目录
- 🍔jieba库
- 🍔wordcloud库
- 🌹解释
🍔jieba库
jieba库是一个流行的中文分词工具,它基于统计算法和词频字典,能够将连续的汉字序列切割成有意义的词语。下面是对jieba库的简要理论说明:
- 分词原理:jieba库使用了基于前缀词典的最大匹配算法来进行中文分词。该算法从文本的开头开始,根据词典中的词语长度依次匹配文本,选择最长的匹配词语作为分词结果,然后继续在未匹配部分进行匹配,直到整个文本被分词完毕。
- 词典和词频:jieba库内置了一个词典,其中包含了常见的词语和词频信息。词典中的词语按照词频从高到低排列,以保证在分词时优先选择常见的词语。
- 分词模式:jieba库提供了三种分词模式:
精确模式:尽可能地将文本切分为最精确的词语。
全模式:将文本中所有可能的词语都切分出来,可能会产生冗余的词语。
搜索引擎模式:在精确模式的基础上,对长词再进行切分,增加词语的召回率。 - 用户自定义词典:jieba库允许用户根据需要添加自定义词典,这样可以解决一些特定领域或专业术语的分词问题。用户自定义词典可以手动添加,也可以通过文本文件导入。
- 去除停用词:jieba库提供了停用词功能,可以过滤掉一些常见的无意义词语,如“的”、“是”等。用户可以根据需求自定义停用词列表。
- 并行分词:jieba库支持多线程并行分词,能够提高分词速度。
jieba库具有简单易用、分词效果良好等特点,广泛应用于中文文本处理、自然语言处理和机器学习等领域。通过使用jieba库,可以方便地进行中文文本的分词处理。
import jieba
import wordcloud
f = open("E:\\word.txt", "r", encoding="utf-8")t=f.read()
f.close()
ls=jieba.lcut(t)txt="".join(ls)
w = wordcloud.WordCloud(width=1000, height=700, background_color="white")
w.generate(txt)
w.to_file("E:\\a.png")
🍔wordcloud库
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba# 打开文本
text = open("a.txt", encoding="utf-8").read()
# 中文分词
text = ' '.join(jieba.cut(text)) # 利用jieba进行分词形成列表,将列表里面的词用空格分开并拼成长字符串。#使用蒙版生成词云
mask = np.array(Image.open("ikun.png"))
# 生成对象
wc = WordCloud(mask = mask,font_path="SimHei.ttf", width=800, height=600, mode="RGBA", background_color=None).generate(text)# 显示词云
plt.imshow(wc, interpolation="bilinear")
plt.axis("off") #关闭坐标轴
plt.show()# 保存到文件
wc.to_file("2.2wordcloud2.png")
🌹解释
这段代码使用了Python的wordcloud库来生成词云图,并结合了jieba库进行中文分词,同时使用了PIL、numpy和matplotlib.pyplot等库进行图像处理和展示。
代码的主要步骤如下:
1.导入必要的库:
from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
2.打开文本文件并进行中文分词:
text = open("a.txt", encoding="utf-8").read()
text = ' '.join(jieba.cut(text))
这里通过open函数打开名为"a.txt"的文本文件,并使用utf-8编码读取其中的内容。然后使用jieba库对文本进行中文分词,将分词结果拼接成一个空格分隔的长字符串。
3.使用蒙版生成词云:
mask = np.array(Image.open("ikun.png"))
这里通过PIL库的Image模块打开名为"ikun.png"的图像文件,并将其转换为numpy数组作为词云的蒙版。
4.生成词云对象:
wc = WordCloud(mask=mask, font_path="SimHei.ttf", width=800, height=600, mode="RGBA", background_color=None).generate(text)
这里通过WordCloud类创建一个词云对象,传入参数包括蒙版(mask)、字体路径(font_path)、宽度(width)、高度(height)、模式(mode)、背景颜色(background_color)和分词后的文本(text)。
5.显示词云图:
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.show()
这里使用matplotlib.pyplot库的imshow函数来显示词云图,interpolation参数指定插值方法,axis函数关闭坐标轴,最后调用show函数展示图像。
6.保存词云图到文件:
wc.to_file("2.2wordcloud2.png")
这里使用词云对象的to_file方法将生成的词云图保存到名为"2.2wordcloud2.png"的文件中。
在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!