Python的jieba模块简介

时间:2022-10-26 22:15:12

现如今,词云技术遍地都是,分词模块除了jieba也有很多,主要介绍一下jieba的基本使用

import jieba
import jieba.posseg as psg
from os import path
from collections import Counter

s=u'我想和女朋友一起去北京*闲逛。。'

cut = jieba.cut(s)

print('精确模式')
print(cut)
print(','.join(cut))

print ('全模式')
print(','.join(jieba.cut(s,cut_all = True)))

print('搜索引擎模式')
print(','.join(jieba.cut_for_search(s)))

print('词性')
print([(x.word,x.flag) for x in psg.cut(s)])
print([(x.word,x.flag) for x in psg.cut(s) if x.flag.startswith('n')])




print('--*--'*10)
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode:", "/ ".join(seg_list)) # 全模式

seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode:", "/ ".join(seg_list))  # 精确模式

seg_list = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
print(", ".join(seg_list))

seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
print(", ".join(seg_list))

d=path.dirname(__file__)
sanguo_text=open(path.join(d,"data//sanguo.txt"),encoding='utf-8').read()
print(len(sanguo_text))

sanguo_words = [x for x in jieba.cut(sanguo_text) if len(x) >= 2]
c = Counter(sanguo_words).most_common(20)
print(c)

运行结果

Python的jieba模块简介

其中精确模式比较好用,全模式就是尽量将所有的词拿出来