jieba库和wordcloud库

jieba 库


1jieba(“结巴”)是Python中一个重要的第三方中文分词函数库,能够将一段中文文本分割成中文词语的序列。

 jieba()库安装指令:pip3 install jieba 


2jieba库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组。除了分词jieba还提供增加自定义中文单词的功能。


3jieba库支持三种分词模式:

精确模式,将句子最精确地切开,适合文本分析;

全模式,把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;

搜索引擎模式,在精确模式基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。


jieba库常用分词函数

1jieba.lcut(s)最常用的中文分词函数,用于精准模式,即将字符串分割成等量的中文词组,返回结果是列表类型。

import jieba
a="银河系的猎户座螺旋臂"
ls = jieba.lcut(a)
print(ls)


 2jieba.lcut(s, cut_all = True)用于全模式,即将字符串的所有分词可能均列出来,返回结果是列表类型,冗余性最大。

import jieba
a="银河系的猎户座螺旋臂"
ls = jieba.lcut(a,cut_all=True)
print(ls)


3jieba.lcut_for_search(s)返回搜索引擎模式,该模式首先执行精确模式,然后再对其中长词进一步切分获得最终结果。

import jieba
a="银河系的猎户座螺旋臂"
ls = jieba.lcut_for_search(a)
print(ls)


4、jieba.add_word()函数,用来向jieba词库增加新的单词。

import jieba
a="银河系的猎户座螺旋臂"
jieba.add_word("猎户座螺旋臂")
ls = jieba.lcut(a)
print(ls)


wordcloud库

1wordcloud库是专门用于根据文本生成词云的Python第三方库

安装指令:pip3 install wordcloud


2、wordcloud库可以将字符串生成指定的词云图片并保存到本地.

在生成词云时,wordcloud默认会以空格或标点为分隔符对目标文本进行分词处理

import wordcloud
txt = 'he never saw a saw '
wd = wordcloud.WordCloud().generate(txt)
wd.to_file('test.png')

jieba库和wordcloud库_第1张图片

方法 功能
generate(text)  text文本生成词云
to_file(filename) 将词云图输出为图像文件,.png或.jpg

对于中文文本,分词处理需要由用户来完成。一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数。

font_path参数请查找自己电脑路径所对应的字体,如果没有设置,中文会乱码。

对于长篇文章符号多可以用正则表达式处理,不想保留的字符可以用stopwords处理

import wordcloud
import jieba
txt = '黑化肥发灰,灰化肥发黑。黑化肥发灰会挥发,灰化肥挥发会发黑'
ls = jieba.lcut(txt)
txts = ' '.join(ls)
wd = wordcloud.WordCloud(font_path='C:\Windows\Fonts\simkai.ttf',width=800,height=800).generate(txts)
wd.to_file('word.png')

jieba库和wordcloud库_第2张图片


其他常用wordcloud()对象参数

参数 功能
font_path 指定字体的完整路径,默认None
width 生成图片宽度,默认400像素
height 生成图片高度,默认200像素
mask 词云形状,默认方形
min_font_size 词云中最小的字体字号,默认4号
max_font_size 词云中最大的字体字号。默认None,根据高度自动调节
font_step 字号步进间隔,默认1
max_words 词云图中最大词数,默认200
stopwords 被排除此列表,不在词云中显示
background_color 图片背景颜色,默认黑色

你可能感兴趣的:(Python学习,python,自然语言处理,pycharm)