结巴的中文分词支持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: 我/来到/新华/大学 搜索引擎模式: 我/来到/新华/大学
cut_all
用来控制分词的模式
jieba.cut()
返回的是一个可以迭代的生成器,可以用for循环来获得分词得到得每一个词语,也可以用list(jieba.cut(...))
转化为列表。
基本用法如下:
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)
结果: