jieba库是一款优秀的 Python 第三方中文分词库,利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,形成分词结果

目录

jieba库的安装与引用

安装

引用

jiaba库分词功能说明

jieba.cut 和 jieba.lcut

1.精确模式

2.全模式 

3.搜索引擎模式

4. paddle模式

5.向分词词典添加新词

6. jieba.Tokenizer(dictionary=DEFAULT_DICT) 

 使用案例

《沉默的羔羊》之最多单词


jieba库的安装与引用

安装

cmd中安装

pip install jieba

Pycharm中安装:

打开 settings(设置),打开 Project Interpreter ,点击 + 号,搜索 jieba ,install Package即可。

引用

使用jieba库之前需要:

import jieba

jiaba库分词功能说明

jieba.cut 和 jieba.lcut

test_list = jieba.cut("今天阳光明媚", cut_all=True)
print(test_list)
>>> <generator object Tokenizer.cut at 0x00000201834973C0>

test_list = jieba.lcut("今天阳光明媚", cut_all=True)
print(test_list)
>>> ['今天', '阳光', '阳光明媚', '光明', '明媚']
# lcut 将返回的对象转化为list对象返回

1.精确模式

精确模式(cut_all=False):试图将语句最精确的切分,不存在冗余数据,适合做文本分析

test_list = jieba.cut("今天阳光明媚", cut_all=False)
print("精确模式: " + "*".join(test_list))

>>> 精确模式: 今天*阳光明媚

2.全模式 

全模式(cut_all=True):将语句中所有可能是词的词语都切分出来,速度快,但是存在冗余数据

test_list = jieba.cut("今天阳光明媚", cut_all=True)
print("全模式: " + "*".join(test_list))

>>> 全模式: 今天*阳光*阳光明媚*光明*明媚

3.搜索引擎模式

搜索引擎模式(cut_for_search ;lcut_for_search:在精确模式的基础上,对长词再次进行切分

test_list = jieba.cut_for_search("今天阳光明媚,是一个适合出去散步的好天气,我们现在就出发吧")  # 搜索引擎模式
print("搜索引擎模式: " +  "*".join(test_list))

>>> 搜索引擎模式: 今天*阳光*光明*明媚*阳光明媚*,*是*一个*适合*出去*散步*的*好*天气*,*我们*现在*就*出发*吧

4. paddle模式

paddle模式(enable_paddle):利用PaddlePaddle深度学习框架,训练序列标注(双向GRU)网络模型实现分词,同时支持词性标注(paddle模式使用需安装paddlepaddle-tiny,pip install paddlepaddle-tiny==1.6.1)

# 通过enable_paddle接口安装paddlepaddle-tiny,并且import相关代码;
jieba.enable_paddle()  # 初次使用可以自动安装并导入代码
test_list = jieba.cut(str, use_paddle=True)
print('Paddle模式: ' + '*'.join(list(test_list)))

>>> Paddle模式: 今天*阳光明媚

5.向分词词典添加新词

jieba.add_word()向分词词典增加新词
>>>jieba.add_word(“想加入的新词”)

6. jieba.Tokenizer(dictionary=DEFAULT_DICT) 

新建自定义分词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射

test = "今天是一个难得的好天气"
result = jieba.tokenize(test) # Tokenize:返回词语在原文的起始位置
for i in result:
    print(i)

>>> 	
('今天', 0, 2)
('是', 2, 3)
('一个', 3, 5)
('难得', 5, 7)
('的', 7, 8)
('好', 8, 9)
('天气', 9, 11)

 使用案例

《沉默的羔羊》之最多单词

《沉默的羔羊》中文版内容,请读入内容,分词后输出长度大于等于2且出现频率最多的单词。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

如果存在多个单词出现频率一致,请输出按照Unicode排序后最大的单词。

(案例使用书籍只是一个例子,大家可自行更换书籍进行实验,库使用原理相同)

import jieba
f = open("沉默的羔羊.txt", encoding='utf-8')
ls = jieba.lcut(f.read())
d = {}
for w in ls:
        if len(w) >= 2:
            d[w] = d.get(w, 0) + 1
maxc = 0
maxw = ""
for k in d:
    if d[k] > maxc :
        maxc = d[k]
        maxw = k
    elif d[k] == maxc and k > maxw:
        maxw = k
print(maxw)
f.close()

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐