jieba分词器学习

转载自:好玩的分词——python jieba分词模块的基本用法

学习记录所用,如有侵权,一定删除。

结巴分词分为三种模式:精确模式(默认)、全模式和搜索引擎模式。

精确模式:

import jieba
s = '武汉大学是一所还不错的大学'
result = jieba.cut(s)
print(','.join(result))

输出:

武汉大学,是,一所,还,不错,的,大学
Prefix dict has been built succesfully.

精确模式分词结果返回的是一个生成器。

全模式:

import jieba
s = '武汉大学是一所还不错的大学'
cut = jieba.cut(s, cut_all=True)
print(','.join(cut))

结果:

武汉,武汉大学,大学,是,一所,还,不错,的,大学
Prefix dict has been built succesfully.

搜索引擎模式:

import jieba
s = '武汉大学是一所还不错的大学'
cut = jieba.cut_for_search(s)
print(','.join(cut))

输出:

武汉,大学,武汉大学,是,一所,还,不错,的,大学
Loading model cost 0.877 seconds.
Prefix dict has been built succesfully.

获取词性

import jieba.posseg as psg

s = '武汉大学是一所还不错的大学'
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')])

输出:

Loading model cost 1.399 seconds.
Prefix dict has been built succesfully.
[('武汉大学', 'nt'), ('是', 'v'), ('一所', 'm'), ('还', 'd'), ('不错', 'a'), ('的', 'uj'), ('大学', 'n')]
[('武汉大学', 'nt'), ('大学', 'n')]

获取出现频率Ton N的词:

from collections import Counter
import jieba

# 开启并行分词模式,参数为并发执行的进程数
liangjian_text = open('./liangjian.TXT', 'rb').read()
print(len(liangjian_text))
liangjian_words = [x for x in jieba.cut(liangjian_text) if len(x) >= 2]
c = Counter(liangjian_words).most_common(20)
print(c)

输出:

720186
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\SEAVAN~1\AppData\Local\Temp\jieba.cache
Loading model cost 0.860 seconds.
Prefix dict has been built succesfully.
[('\r\n', 2926), ('李云龙', 1801), ('一个', 666), ('什么', 528), ('自己', 503), ('他们', 466), ('没有', 444), ('这个', 439), ('我们', 424), ('部队', 395), ('不是', 375), ('你们', 364), ('这么', 352), ('赵刚', 339), ('就是', 321), ('田雨', 313), ('起来', 286), ('咱们', 268), ('怎么', 247), ('现在', 242)]

使用用户字典提高分词精确性:

import jieba
txt = u'欧阳建国是创新办主任也是欢聚时代公司云计算方面的专家'
# 不使用用户字典分词结果
print(','.join(jieba.cut(txt)))
# 使用用户字典分词结果
jieba.load_userdict('user_dict.txt')
print(','.join(jieba.cut(txt)))

输出:

欧阳,建国,是,创新,办,主任,也,是,欢聚,时代,公司,云,计算,方面,的,专家
Prefix dict has been built succesfully.
欧阳建国,是,创新办,主任,也,是,欢聚时代,公司,云计算,方面,的,专家

注1:其中user_dict.txt的内容如下:

欧阳建国 5

创新办 5 i

欢聚时代 5

云计算 5

注2

需要将user_dict.txt设置为utf-8编码,再输入字典文本。

用户字典每行一个词,格式为:

词语 词频 词性

其中词频是一个数字,词性为自定义的词性,要注意的是词频数字和空格都要是半角的。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值