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编码,再输入字典文本。

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

词语 词频 词性

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

猜你喜欢

转载自blog.csdn.net/github_39611196/article/details/82724708