0
点赞
收藏
分享

微信扫一扫

Python自然语言处理常用库——jieba库

一. 分词

1、jieba.cut方法接受四个输入参数

①需要分词的字符串;

②cut_all参数用来控制是否采用全模式;

③HMM参数用来控制是否使用HMM模型;

④use_paddle参数用来控制是否使用paddle模式下的分词模式,enable_paddle接口安装paddlepaddle-tiny,并且import相关代码。

2、jieba.cut_for_search 方法接受两个参数:

①需要分词的字符串;

②是否使用HMM模型。

该方法适合用于搜索引擎构建待排索引的分词,粒度比较细。

3、待分词的字符串可以是unicode、UTF-8、GBK字符串。注意:不建议直接输入GBK字符串,可能无法预料地错误解码成UTF-8

4、jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的generator,可以使用for循环来获取分词后得到的每一个词语(unicode),或者用jieba.cut以及jieba.cut_for_search直接返回list

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

二、添加自定义词典

1、载入词典

开发者可以指定自定义词典,以便包含jieba词库里没有的词。虽然jieba有新词识别功能。但是自行添加新词可以保证更高的正确率。

用法:jieba.load_userdict(file_name) #file_name为文件类对象或自定义词典的路径

词典格式和dict.txt一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。filename若为路径或二级制方式打开的文件,则文件必须为UTF-8编码。

词频省略时使用自动计算的能保证分出该词的词频。

2、调整词典

使用add_word(word,freq=None,tag=None)和del_word(word)可以在程序中动态修改词典。

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

注意:自动计算的词频在使用HMM新词发现功能时可能无效。

3. 关键词提取

基于TF-IDF算法的关键词抽取

import jieba.analyse

jieba.anayse.extract_tags(sentence,topK=20,withWeight=False,allowPOS=())

  • sentence为待提取的文本
  • topK为返回几个TF/IDF权重最大的关键词,默认值为20
  • withWeight为是否一并返回关键词权重值,默认值为False
  • allowPos仅包含指定词性的词,默认值为空,即不筛选

jieba.analyse.TFIDF(idf_path=None)新建TF-IDF实例,idf_path为IDF频率文件

4. 词性标注

jieba.posseg.POSTokenizer(tokenizer=None)新建自定义分词器,tokenizer参数可指定内部使用的jiaba.Tokenizer分词器。jieba.posseg.dt 为默认词性标注分词器。

标注句子分词后每个词的词性,采用和ictclas兼容的标记法

除了jieba默认分词模式,提供paddle模式下的词性标注功能。paddle模式采用延迟加载方式,通过enable_paddle()安装paddlepaddle-tiny,并且import相关代码

Python自然语言处理常用库——jieba库_自定义

举报

相关推荐

0 条评论