1、jieba库安装
(1)全自动安装
easy-install jieba
pip install jieba
pip3 install jieba
(2)半自动安装
首先登入https://pypi.org/project/jieba/下载安装包
最后解压安装包:python setup py install
(3)手动安装
首先登入https://pypi.org/project/jieba/下载安装包
最后把jieba目录放置在site-packages目录内
2、分词
(1)cut
语法:
jieba.cut(sentence, cut_all=False, HMM=True, use_paddle=False)
功能描述: 将传入的字符串参数分词
返回情况: 返回一个生成器对象
参数说明:
sentence: 被分词的字符串
cut_all: 分词模式是否设置为全模式,值为False时,精准模式分词
HMM: 是否使用 HMM 模型
(2)lcu
语法:
jieba.lcut(sentence)
功能描述: 将传入的字符串参数分词
返回情况: 返回一个数组
参数说明:
sentence: 被分词的字符串
(3)cut_for_search 搜索引擎模式
语法:
jieba.cut_for_search(sentence, HMM=True)
功能描述: 将传入的字符串参数分词
返回情况: 返回一个生成器对象
参数说明:
sentence: 被分词的字符串
HMM: 是否使用 HMM 模型
(4)lcut_for_search 搜索引擎模式
语法:
jieba.lcut_for_search(sentence)
功能描述: 将传入的字符串参数分词
返回情况: 返回一个数组
参数说明:
sentence: 被分词的字符串
(5)分词模式的区别
s=“我叫陈妍希,来自中国台湾”
分词模式 | 描述 | 结果 |
---|---|---|
全模式 | 试图将句子最精确地切开,适合文本分析。 | [‘我’, ‘叫’, ‘陈’, ‘妍’, ‘希’, ‘,’, ‘来自’, ‘中国’, ‘中国台湾’, ‘台湾’] |
精准模式 | 把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。 | [‘我’, ‘叫’, ‘陈妍希’, ‘,’, ‘来自’, ‘中国台湾’] |
搜索引擎模式 | 在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词 | [‘我’, ‘叫’, ‘陈妍希’, ‘,’, ‘来自’, ‘中国’, ‘台湾’, ‘中国台湾’] |
3、其他用法
(1) 添加自定义词典
语法:
jieba.load_userdict(f)
功能描述: 添加自定义词典
返回情况: 无返回
参数说明:
f: 词典文件路径。文件中一词占一行;一行分三部分,分别为词语,词频(可省略),词性(可省略),其中分隔符为空格。
(2)添加新词
语法:
jieba.add_word(word, freq=None, tag=None)
功能描述: 添加新的分词到词典中
返回情况: 无返回
参数说明:
word: 需要添加的新词
freq: 词频
(2)删除词语
语法:
jieba.del_word(word)
功能描述: 删除词语
返回情况: 无返回
参数说明:
word: 需要删除的新词
(3)去除停用词
[w for w in words if w not in 停用词表]
4、词频统计
词频统计需要引入一个单独的类,使用下面方法前需提前引入from collections import Counter
语法:
Counter(iterable=None)
功能描述: 对传入的参数对象进行词频统计
返回情况: 返回一个collections.Counter类,类似于字典类型的数据,数据格式:Counter({词语:词频})
参数说明:
iterable: 被统计的对象,必须是可迭代对象
5、词性提取
语法:
jieba.posseg.cut(sentence, HMM=True, use_paddle=False)
功能描述: 对传入的数据进行词性判断
返回情况: 返回一个生成器,信息包含词语及其词性 (数据格式:词语/词性)
注意: 使用for遍历时,可使用w.word和w.flag属性提取词语和词性
参数说明:
sentence: 要处理的数据
HMM: 是否使用HMM模型
6、词云绘制
本次词云绘制主要使用wordcloud
库,wordcloud
依赖的第三方库主要有numpy
、Pillow
和matplotlib
。安装时尽量使用pip install wordcloud
命令行安装的方法安装,绘制词云主要使用wordcloud
库中的WordCloud
接口。
(1)第三方库准备工作
from scipy.misc import imread # 读取照片,scipy1.2.0以下的版本才有imread,也可from imageio import imread
import matplotlib.pyplot as plt # 词云图展示
from wordcloud import WordCloud,ImageColorGenerator # 词云图绘制
(2)设置背景图
img=imread(图片文件路径)
(3)词云函数
(1)创建词云函数
语法:
WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.9, mask=None, scale=1, color_func=None, max_words=200, min_font_size=4, stopwords=None, random_state=None, background_color='black', max_font_size=None, font_step=1, mode='RGB', relative_scaling='auto', regexp=None, collocations=True, colormap=None, normalize_plurals=True, contour_width=0, contour_color='black', repeat=False, include_numbers=False, min_word_length=0, collocation_threshold=30)
功能描述: 创建词云函数
返回情况: 返回一个WordCloud函数对象
参数说明:
font_path: 字体文件。
width: 词云画布的宽度
height: 词云画布的高度
margin: 页边距
background_color: 词云画布的背景颜色
mask: 词云遮罩性状的照片,如果有的话会忽略width和height参数
max_words: 最多显示的词汇量
max_font_size: 词云字体最小的字号
max_font_size: 词云字体最大的字号
stopwords: 屏蔽的词
random_state: 随机状态
color_func : 颜色的函数,设置字体颜色
(2)生成词云
1.generate方法
语法:
词云函数.generate(f)
功能描述: 导入一个文件到词云函数中,根据词语绘制词云
返回情况: 返回一个函数对象
参数说明:
f: txt文件,如果传入一个已排序好的单词列表则需要传入collocations=False参数,避免结果出现重复现象
2.generate_from_text
语法:
词云函数.generate_from_text(f)
功能描述: 导入一个文件到词云函数中,根据词语绘制词云
返回情况: 返回一个函数对象
参数说明:
f: txt文件,如果传入一个已排序好的单词列表则需要传入collocations=False参数,避免结果出现重复现象
3.generate_from_frequencies
语法:
词云函数.generate_from_frequencies(f)
功能描述: 导入一个文件到词云函数中,根据词语和词频绘制词云
返回情况: 返回一个函数对象
(3)重置字体颜色
1.生成颜色函数
语法:
ImageColorGenerator(image, default_color=None)
功能描述: 生成颜色生成器
返回情况: 返回一个生成器对象
参数说明:
image: 图片数组对象,可使用imread(图片路径)返回的对象
default_color: 如果画布大于图像,则使用回退颜色,格式为(r,g,b)。如果无,则改为引发ValueError。
2.重置字体颜色
语法:
词云函数.recolor(random_state=None, color_func=None, colormap=None)
功能描述: 重置词云字体颜色
返回情况: 返回一个函数对象
参数说明:
random_state: 随机状态
color_func: 颜色函数,跟WordCloud函数中color_func值一样
colormap:
3.读取照片
语法:
imread(uri, format=None, **kwargs)
功能描述: 从指定文件读取图像,生成一个数组
返回情况: 返回一个numpy数组
参数说明:
uri: 文件资源,{str, pathlib.Path, bytes, file}
format: 读取文件的格式
(4)词云图展示
词云可视化通过Pyplot 库快来实现,Pyplot 是 Matplotlib 的子库,提供了很多绘画接口。文章来源:https://www.toymoban.com/news/detail-465931.html
plt.imshow(词云函数.recolor(color_func=ImageColorGenerator(img)))
plt.axis('off')
plt.show()
(5)保存词云照片
语法:
词云函数.to_file(文件路径)
|词云函数.to_image(文件路径)
|词云函数.to_svg(文件路径,embed_font=False, optimize_embedded_font=True, embed_image=False))
功能描述: 生成指定的文件
返回情况: 无返回,但会输出一个文件
参数说明:
embed_font:是否在生成的SVG文件中包含字体
optimize_embedded_font:字体大小自适应
embed_image:是否在生成的SVG文件中包含光栅化图像
文章来源地址https://www.toymoban.com/news/detail-465931.html
到了这里,关于Python文本分析之中文分词(jieba库)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!