美文网首页Python3自学 爬虫实战程序猿日记python
Python 自然语言处理 入门—关于jieba库的使用

Python 自然语言处理 入门—关于jieba库的使用

作者: DayDayUpppppp | 来源:发表于2017-03-06 18:10 被阅读6849次
    1. 什么是jiaba库

    jieba 是一个python实现的分词库,对中文有着很强大的分词能力。
    git链接:https://github.com/fxsjy/jieba

    2. jieba库的优点

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

    2 支持自定义词典

    3. 关于jiaba库的基本功能

    demo1:分词

    #coding:utf-8
    import jieba
    
    words=jieba.cut("他来到了网易杭研大厦")
    print "/".join(words)
    
    2017-03-06 15-01-20屏幕截图.png

    demo2 : 加入自定义字典

    #coding:utf-8
    import jieba
    
    jieba.load_userdict("dict.txt")
    words=jieba.cut("他来到了网易杭研大厦")
    print "/".join(words)
    print type(words)
    

    <br />
    自定义的词典 dict.txt

    杭研大厦 100 n
    

    自定义的词典一行上面有三列,第二个是指出现的次数,第三个是词性

    运行结果:


    2017-03-06 15-13-44屏幕截图.png

    也就是说杭研大厦被看作为了一个整体。

    demo3:允许程序在运行的时候,动态的修改词典

    #coding:utf-8
    import jieba
    words =jieba.cut("我们中出了一个叛徒",HMM=False)
    #jieba.suggest_freq(('中出'),True)
    print '/'.join(words)
    
    2017-03-06 17-54-31屏幕截图.png

    使用 suggest_freq(segment, tune=True) 可调节单个词语的词频,使其(或不能)被分出来。
    注意:自动计算的词频在使用 HMM 新词发现功能时可能无效。

    #coding:utf-8
    import jieba
    words =jieba.cut("我们中出了一个叛徒",HMM=False)
    jieba.suggest_freq(('中出'),True)
    #jieba.suggest_freq(('中','出'),True)
    print '/'.join(words)
    
    2017-03-06 17-56-35屏幕截图.png

    demo4: 关键词提取

    demo5:词性标注

    #coding:utf-8
    import jieba.posseg as pseg 
    
    words=pseg.cut("我爱北京天安门")
    for word ,flag in words:
        print ('%s %s' %(word,flag))
    
    2017-03-06 18-07-03屏幕截图.png

    demo5:三种模式的分词

    # encoding=utf-8
    import jieba
    
    seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
    print("Full Mode: " + "/ ".join(seg_list))  # 全模式
    
    seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
    print("Default Mode: " + "/ ".join(seg_list))  # 精确模式
    
    seg_list = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
    print(", ".join(seg_list))
    
    seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
    print(", ".join(seg_list))
    

    运行结果:


    2017-03-06 18-10-06屏幕截图.png

    相关文章

      网友评论

      本文标题:Python 自然语言处理 入门—关于jieba库的使用

      本文链接:https://www.haomeiwen.com/subject/xthugttx.html