基于python的中文分词库jieba简介

jieba 基于Python的中文分词工具,安装使用非常方便,直接pip即可。
github地址: https://github.com/fxsjy/jieba
安装:pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple/
[指定国内源,pip国内源:
https://blog.csdn.net/qq_29666899/article/details/82888080]

简介

分词共分三种模式:

  1. 精确模式: 试图将句子最精确的切开
  2. 全模式:扫描出句子中所有可能的词语,速度快
  3. 搜索引擎模式:在精确模式的基础上,对长词再次切分适合用于搜索引擎分词

例子:

import jieba
string = '结巴这个分词工具真的特别的好玩儿'
# 精确模式:cut_all=False
words_list = jieba.lcut(string, cut_all=False)
print(“精确模式:”,words_list)
# 全模式:cut_all=True
words_list = jieba.lcut(string, cut_all=True)
print(“全模式:”,words_list)
精确模式: ['结巴', '这个', '分词', '工具', '真的', '特别', '的', '好玩儿']
全模式:['结巴', '这个', '分词', '工具', '真的', '特别', '别的', '好玩', '好玩儿', '玩儿']

添加自定义词典

可以指定自己自定义的词典,以便包含 jieba 词库里没有的词。
用法: jieba.load_userdict(my_dict.txt)
词典格式:一个词占一行,每行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。
例如:
 创新办 3 i
 云计算 5

import jieba
string = '李小福是创新办主任也是云计算方面的专家'
print(jieba.lcut(string))
输出结果: ['李小福', '是', '创新', '办', '主任', '也', '是', '云', '计算', '方面', '的', '专家']
jieba.load_userdict('my_dict.txt')
print(jieba.lcut(string))
输出结果: ['李小福', '是', '创新办', '主任', '也', '是', '云计算', '方面', '的', '专家']

或者用 add_word(word, freq=None, tag=None) 可在程序中动态修改词典

jieba.add_word('创新办', freq=3)
jieba.add_word('云计算', freq=3)
print(jieba.lcut(string))
输出结果: ['李小福', '是', '创新办', '主任', '也', '是', '云计算', '方面', '的', '专家']

或者用 suggest_freq(segment, tune=True)可调节单个词语的词频,使其能(或不能)被分出来

jieba.suggest_freq('创新办', tune=True)
jieba.suggest_freq('云计算', tune=True)
print(jieba.lcut(string))
输出结果: ['李小福', '是', '创新办', '主任', '也', '是', '云计算', '方面', '的', '专家']

具体深入学习请参考官方github

猜你喜欢

转载自blog.csdn.net/qq_29666899/article/details/82888118