jieba入门2

import jieba


'''
添加自定义词典
1、载入词典:
    a、开发者可以指定自己自定义的词典,以便包含 jieba 词库里没有的词。虽然 jieba 有新词识别能力,但是自行添加新词可以保证更高的正确率
    b、用法: jieba.load_userdict(file_name),file_name 为文件类对象或自定义词典的路径
    c、词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。
       file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码。
    d、词频省略时使用自动计算的能保证分出该词的词频。
'''

content = '李小福是创新办主任也是云计算方面的专家'
jieba.load_userdict('text.txt')
print('-'.join(jieba.cut(content, cut_all=False, HMM=True)))
# 李小福-是-创新办-主任-也-是-云计算-方面-的-专家

print(','.join(jieba.cut(content, cut_all=False, HMM=True)))
# 李小福-是-创新-办-主任-也-是-云-计算-方面-的-专家


'''
2、调整词典
    a、使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可在程序中动态修改词典。
    b、使用 suggest_freq(segment, tune=True) 可调节单个词语的词频,使其能(或不能)被分出来。
    注意:自动计算的词频在使用 HMM 新词发现功能时可能无效。
'''
print(','.join(jieba.cut('如果放到post中将出错', HMM=False)))
# 如果,放到,post,中将,出错

jieba.suggest_freq(('中', '将'), True)
print(','.join(jieba.cut('如果放到post中将出错', HMM=False)))
# 如果,放到,post,中,将,出错


'''
3、关键词提取
    1、import jieba.analyse
        a、jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
            sentence 为待提取的文本
            topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20
            withWeight 为是否一并返回关键词权重值,默认值为 False
            allowPOS 仅包括指定词性的词,默认值为空,即不筛选
        b、jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 实例,idf_path 为 IDF 频率文件

    2、关键词提取所使用逆向文件频率(IDF)文本语料库可以切换成自定义语料库的路径
    用法: jieba.analyse.set_idf_path(file_name)  # file_name为自定义语料库的路径
    自定义语料库示例:
        劳动防护 13.900677652
        勞動防護 13.900677652
        生化学 13.900677652
        生化學 13.900677652
        ......
    用法示例:
        jieba.analyse.set_idf_path("../extra_dict/idf.txt.big");
        tags = jieba.analyse.extract_tags(content, topK=topK)
        print(",".join(tags))

    3、关键词提取所使用停止词(Stop Words)文本语料库可以切换成自定义语料库的路径
    用法: jieba.analyse.set_stop_words(file_name)  # file_name为自定义语料库的路径
    自定义语料库示例:
        the
        of
        is
        and
    用法示例:
    jieba.analyse.set_stop_words("../extra_dict/stop_words.txt")
    jieba.analyse.set_idf_path("../extra_dict/idf.txt.big");
    tags = jieba.analyse.extract_tags(content, topK=topK)
    print(",".join(tags))

    4、基于 TextRank 算法的关键词抽取
    基本思想:
        a、将待抽取关键词的文本进行分词
        b、以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图
        c、计算图中节点的PageRank,注意是无向带权图
    jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) 直接使用,接口相同,注意默认过滤词性。
    jieba.analyse.TextRank() 新建自定义 TextRank 实例

'''

'''
4、词性标注
jieba.posseg.POSTokenizer(tokenizer=None) 新建自定义分词器,tokenizer 参数可指定内部使用的 jieba.Tokenizer 分词器。
jieba.posseg.dt 为默认词性标注分词器。标注句子分词后每个词的词性,采用和 ictclas 兼容的标记法。
用法示例:
import jieba.posseg as pseg

words = pseg.cut("我爱北京天安门")
for word, flag in words:
    print('%s %s' % (word, flag))
结果:
    我 r
    爱 v
    北京 ns
    天安门 ns  

'''

'''
5、Tokenize:返回词语在原文的起止位置
    注意,输入参数只接受 unicode
    默认模式:
        result = jieba.tokenize(u'永和服装饰品有限公司')
        for tk in result:
            print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))
        结果:
        word 永和                start: 0                end:2
        word 服装                start: 2                end:4
        word 饰品                start: 4                end:6
        word 有限公司            start: 6                end:10
    搜索模式:    
        result = jieba.tokenize(u'永和服装饰品有限公司', mode='search')
        for tk in result:
            print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))
        结果:
        word 永和                start: 0                end:2
        word 服装                start: 2                end:4
        word 饰品                start: 4                end:6
        word 有限                start: 6                end:8
        word 公司                start: 8                end:10
        word 有限公司            start: 6                end:10

'''




编辑整理参考:https://blog.youkuaiyun.com/alis_xt/article/details/53522435














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值