一. 分词
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相关代码