当前位置:   article > 正文

Python文本分析之中文分词(jieba库)_jieba库语法

jieba库语法

1、jieba库安装

(1)全自动安装

easy-install jieba
pip install jieba
pip3 install jieba
  • 1
  • 2
  • 3

(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 停用词表]
  • 1

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依赖的第三方库主要有numpyPillowmatplotlib。安装时尽量使用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   # 词云图绘制
  • 1
  • 2
  • 3

(2)设置背景图

img=imread(图片文件路径)
  • 1

(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 的子库,提供了很多绘画接口。

plt.imshow(词云函数.recolor(color_func=ImageColorGenerator(img)))
plt.axis('off')
plt.show()
  • 1
  • 2
  • 3

(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文件中包含光栅化图像

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/344060
推荐阅读
相关标签
  

闽ICP备14008679号