python词频分析与词云制作_如何利用python进行语段分析与分词(顺便制作成好看的词云~)...

很多时候,我们想提取一段文字(或一篇文章)中的高频词汇;或是对文章进行分词处理,进行惯用词统计及词云制作。(打个比方:你写了一篇文章,写完之后你觉得好像用词有些单调,你想佐证一下自己的想法,所以就需要对自己写的这篇文章进行词汇梳理及使用频率统计)。这时候,最常用的做法就是利用今天要讲的——jieba库。

(1)原理

jieba 是目前最好用的 Python 中文分词库,它的原理是:利用已用中文词库(使用者可以根据自身需要可以在原词库基础上再进行添加新词),确定汉字之间的关联概率

汉字间概率大的组成词组,形成分词结果

jieba库的三种分词模式:

精确模式、全模式、搜索引擎模式精确模式:把文本精确的切分开,不存在冗余单词

全模式:把文本中所有可能的词语都扫描出来,可能存在冗余单词

搜索引擎模式:在精确模式基础上,对长词再次切分

除此之外,jieba库还具有以下两个特性:支持繁体分词

支持自定义词典

jieba库常用函数:

同学们可以根据自己的需求,调用不同的方法。

下面,我们通过一个小例子来体验一下精确模式和全模式之间的差异:

首先先展示一下我们案例用的一个小文案:

首先是精确模式:

代码总共分为三步:

(1)导入jieba库;并导入文件;

(2)使用jieba库中的cut函数进行分词,剔除了其中为单字的词及换行符,保留剩余结果;

(3)输出分词结果。

import jieba

file_name =r'C:\Users\Administrator\Desktop\jieba例子.txt'

with open(file_name,'r') as f:

content = f.read()

#这里我定义了一个函数cut_word():

def cut_word():

segment=[]

# 保存分词结果

segs=jieba.cut(content)

# 对整体进行分词

for seg in segs:

if len(seg) > 1 and seg != '\r\n':

# 如果说分词得到的结果不是单字,且不是换行符,则加入到数组中

segment.append(seg)

return segment

print(cut_word())

运行结果:

可以看到,“是”、“的”之类的单字被我们筛除掉了,不过其他词段均完整了进行了分割,效果还是可以的。

下面我们尝试使用全模式:

全模式与精确模式的区别,在于使用了 cut_all = True 这一个参数。(其他代码内容不变)

import jieba

file_name =r'C:\Users\Administrator\Desktop\jieba例子.txt'

with open(file_name,'r') as f:

content = f.read()

#这里我定义了一个函数cut_word():<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值