import jieba
jieba.__version__
# 默认模式就是精确模式
# 默认参数(sentence, cut_all=False, HMM=True, use_paddle=False)
seg_list = jieba.cut("我来到北京清华大学")
print(list(seg_list))
# 全模式
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print(list(seg_list))
# 搜索引擎模式
seg_list = jieba.cut_for_search("我来到北京清华大学")
print(list(seg_list))
# 启动paddle模式。 0.40版之后开始支持
jieba.enable_paddle()
strs = ["我来到北京清华大学",
"乒乓球拍卖完了",
"中国科学技术大学"]
for str in strs:
seg_list = jieba.cut(str, use_paddle=True)
print(list(seg_list))
临时增加字词
jieba.add_word('石墨烯')
jieba.add_word('凱特琳')
删除字词
jieba.del_word('石墨烯')
jieba.del_word('凱特琳')
添加某个路径下的字典文件
import sys
sys.path.append("./")
jieba.load_userdict("userdict.txt")
其中文件内容格式:
云计算 5
李小福 2 nr
创新办 3 i
八一双鹿 3 nz
调节单词的词频来按照意愿分割
# 可调节单个词语的词频,
# '中将' ==> '中', '将'
jieba.suggest_freq(('中', '将'), tune=True)
# '台', '中'==> '台中'
jieba.suggest_freq('台中', True)
tfidf选择关键字, 还可以指定词性 不是特别准确
import jieba.analyse
jieba.analyse.extract_tags("我,爱,中国,共产党", topK=3, allowPOS=('n', 'v'))
指定idf文件路径
# 自定义语料库的路径 是所有字词的 idf值
jieba.analyse.set_idf_path("../extra_dict/idf.txt.big");
# 选择关键字
tags = jieba.analyse.extract_tags(content, topK=5)
该idf.txt.big文件内容格式
劳动防护 13.900677652
勞動防護 13.900677652
生化学 13.900677652
倒車檔 12.2912397395
textrank提取关键字
import jieba.analyse
s = "此外,公司拟对全资子公司吉林欧亚置业有限公司增资4.3亿元,\
增资后,吉林欧亚置业注册资本由7000万元增加到5亿元。"
for x, w in jieba.analyse.textrank(s, withWeight=True):
print('%s %s' % (x, w))
结果:
欧亚 1.0
吉林 0.9921208535138604
置业 0.9165645621092878
增资 0.7680698074188868
子公司 0.6570209103194244
...
词性
import jieba.posseg as pseg
test_sent = "台中正確應該不會被切開。mac上可分出石墨烯。"
result = pseg.cut(test_sent)
for w in result:
print(w.word, "\t", w.flag)
结果
台 q
中正 nz
確應 v
該 r
不 d
會 v
...