• Python 模块


    安装 jieba

    pip3 install jieba
    

    jieba 支持三种分词模式:

    精确模式:将句子最精确地切开,适合文本分析

    全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义

    搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

    jieba.cut 方法有三个参数,第一个参数为需要分词的字符串,第二个 cut_all 参数用来控制是否采用全模式,第三个 HMM 参数用来控制是否使用 HMM 模型

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    import jieba
    
    word_list = jieba.cut("福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田")
    print("Default Mode: " + "/ ".join(word_list))
    # cut_all=False 为精简模式,是默认的选项
    
    word_list_1 = jieba.cut("福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田", cut_all=True)
    print("Full Mode: " + "/" .join(word_list_1))
    # cut_all=True 为全模式
    

    运行结果

    jieba.cut_for_search 方法有两个参数,第一个参数为需要分词的字符串,第二个 HMM 参数用来控制是否使用 HMM 模型

    该方法适合用于搜索引擎构建倒排索引的分词

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    import jieba
    
    word_list_2 = jieba.cut_for_search("福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田")
    print("Search Mode: " + "/".join(word_list_2))
    

    运行结果

    jieba.cut 和 jieba.cut_for_search 返回的类型都是一个可迭代的生成器

    jieba.lcut 和 jieba.lcut_for_search 返回列表类型

    关键字提取

    基于 TF-IDF

    jieba.analyse.extract_tags 方法有三个参数,第一个参数为字符串,第二个参数 topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20,第三个参数 withWeight 为是否一并返回关键词权重值,默认值为 False,第四个参数 allowPOS 仅包括指定词性的词,默认值为空,即不筛选

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    import jieba.analyse
    
    string = "福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田"
    
    a = jieba.analyse.extract_tags(string, topK=20, withWeight=False, allowPOS=0)
    
    print(a)
    

    运行结果

    基于 TextRank

    jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    import jieba.analyse
    
    string = "福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田"
    
    a = jieba.analyse.textrank(string, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))
    
    print(a)
    

    运行结果

    词性标注

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    import jieba.posseg
    
    strings = jieba.posseg.cut("福建的地理特点是依山傍海,九成陆地面积为山地丘陵地带,被称为八山一水一分田")
    
    for word, flag in strings:
        print("%s %s" %(word, flag))
    

    运行结果

    词性列表

    n     名词
    nr    人名
    nr1   汉语姓氏
    nr2   汉语名字
    nrj   日语人名
    nrf   音译人名
    ns    地名
    nsf   音译地名
    nt    机构团体名
    nz    其它专名
    nl    名词性惯用语
    ng    名词性语素
    t     时间词
    tg    时间词性语素
    s     处所词 (家中、门外、境内、西方……)
    f     方位词
    v     动词
    vd    副动词
    vn    名动词
    vshi  动词“是”
    vyou  动词“有”
    vf    趋向动词
    vx    形式动词
    vi    不及物动词(内动词)
    vl    动词性惯用语
    vg    动词性语素
    a     形容词
    ad    副形词
    an    名形词
    ag    形容词性语素
    al    形容词性惯用语
    b     区别词 (主要、整个、所有……)
    bl    区别词性惯用语
    z     状态词
    r     代词
    rr    人称代词
    rz    指示代词
    rzt   时间指示代词
    rzs   处所指示代词
    rzv   谓词性指示代词
    ry    疑问代词
    ryt   时间疑问代词
    rys   处所疑问代词
    ryv   谓词性疑问代词
    rg    代词性语素
    m     数词
    mq    数量词
    q     量词
    qv    动量词
    qt    时量词
    d     副词
    p     介词
    pba   介词“把”
    pbei  介词“被”
    c     连词
    cc    并列连词
    u     助词
    uzhe  着
    ule   了 喽
    uguo  过
    ude1  的 底
    ude2  地
    ude3  得
    usuo  所
    udeng 等 等等 云云
    uyy   一样 一般 似的 般
    udh   的话
    uls   来讲 来说 而言 说来
    uzhi  之
    ulian 连 (“连小学生都会”)
    e     叹词
    y     语气词(delete yg)
    o     拟声词
    h     前缀
    k     后缀
    x     字符串
    xx    非语素字
    xu    网址URL
    w     标点符号
    wkz   左括号,全角:( 〔 [ { 《 【 〖 〈 半角:( [ { <
    wky   右括号,全角:) 〕 ] } 》 】 〗 〉 半角: ) ] { >
    wyz   左引号,全角:“ ‘ 『
    wyy   右引号,全角:” ’ 』
    wj    句号,全角:。
    ww    问号,全角:? 半角:?
    wt    叹号,全角:! 半角:!
    wd    逗号,全角:, 半角:,
    wf    分号,全角:; 半角: ;
    wn    顿号,全角:、
    wm    冒号,全角:: 半角: :
    ws    省略号,全角:…… …
    wp    破折号,全角:—— -- ——- 半角:--- ----
    wb    百分号千分号,全角:% ‰ 半角:%
    wh    单位符号,全角:¥ $ £ ° ℃ 半角:$
    

    载入词典

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

    file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码

    一个词占一行,每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒

    例子:

    创新办 3 i
    云计算 5
    凱特琳 nz
    台中
    
  • 相关阅读:
    领扣(LeetCode)七进制数 个人题解
    ie固定table单元格宽度
    js 阻止冒泡
    在jsp页面下, 让eclipse完全支持HTML/JS/CSS智能提示(转)
    WebStorm 6.0 与 7.0 注册码
    统制Highcharts中x轴和y轴坐标值的密度
    ie版本
    flash透明 处于最低
    eclipse svn --
    jquery---- 数组根据值进行删除
  • 原文地址:https://www.cnblogs.com/sch01ar/p/9610989.html
Copyright © 2020-2023  润新知