python之jieba库

2021/10/4 1:11:05

本文主要是介绍python之jieba库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

jieba

  • 中文分词
    • jieba.cut
  • jieba 自定义词典
  • 文本分类的关键词提取

中文分词

结巴的中文分词支持3种模式

  1. 精确模式:试图将句子最精确地切开,适合文本分析。
  2. **全模式:**把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义问题。
  3. **搜索引擎模式:**在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

例子:

import  jieba

seg_list = jieba.cut(s)  #默认是精确模式
print("Default Mode:",'/'.join(seg_list))

s = '我来到新华大学'
seg_list = jieba.cut(s,cut_all=True) #全模式
print("Full Mode:",'/'.join(seg_list))

seg_list = jieba.cut_for_search(s) #搜索引擎模式
print("搜索引擎模式:",'/'.join(seg_list))

结果:

Full Mode: 我/来到/新华/华大/大学
Default Mode: 我/来到/新华/大学
搜索引擎模式: 我/来到/新华/大学

jieba.cut

  • 第一个参数为需要分词的字符串。
  • cut_all用来控制分词的模式

jieba.cut()返回的是一个可以迭代的生成器,可以用for循环来获得分词得到得每一个词语,也可以用list(jieba.cut(...))转化为列表。

jieba 自定义词典

基本用法如下:

jieba.load_userdict(file_name) # file_name 为自定义词典的路径

词典格式是一个词占一行;每一行分三部分,一部分为词语,另一部分为词频,最后一部分为词性(可省略,jieba的词性标注方式和ICTCLAS的标注方式一样。ns为地点名词,nz为其他专用名词,a是形容词,v是动词,d是副词),三部分用空格隔开。例如下面自定义词典

云计算 5
太和宫 5 ns
李小福 2 nr
凯特琳 2 nz

文本分类的关键词提取

文本分类时,在构建VSM(向量空间模型)过程或者把文本转换成数学形式计算中,需要运用到关键词提取的技术.jieba可以简便地提取关键词。

基本用法如下:

jieba. analyse_extract_tag(sentence,topK=20, withweight=False, allow POS=()).

需要先import jibea. analyse,其中sentence为待提取的文本,topK为返回几个TF.IDF权重最大的关键词,默认值为20。withWeight为是否一并返回关键词权重值,默认值为False。allowPOS仅包含指定词性的词,默认值为空,即不进行筛选。

例如:

import  jieba,jieba.analyse
jieba.load_userdict("dict.txt")
text = "故宫的著名景点包括乾清宫、太和殿和午门等。其中乾清宫非常精美,午门是紫禁城得正门,午门居中向阳。"
seg_list = jieba.cut(text)
print("分词结果:","/".join(seg_list)) #精确模式
tags = jieba.analyse.extract_tags(text,topK=5) # 获取关键词
print("关键词:","".join(tags))
tags = jieba.analyse.extract_tags(text,topK=5,withWeight= True)  #返回关键词
print(tags)

结果:
在这里插入图片描述



这篇关于python之jieba库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程