结巴分词基础用法

结巴分词基础用法结巴分词基础

结巴是现在中文分词比较好用的包,这里列出一些基本的用法,以后再慢慢补充  

  • 下载
    pip install jieba
  • 分词有两种模式,cut_all = True or False,默认为False。第一种会尽量返回所有可能构成的词汇,第二种就是按最优去切分
    text = '我和小明一起去北京故宫博物馆玩' import jieba wordlist = jieba.cut(text, cut_all=True) word_space_split = " ".join(wordlist) print(word_space_split) #我 和 小 明 一起 去 北京 北京故宫 故宫 博物 博物馆 玩 wordlist = jieba.cut(text, cut_all=False) word_space_split = " ".join(wordlist) print(word_space_split) #我 和 小明 一起 去 北京故宫 博物馆 玩
  • 如果想只要长度大于2的词
    words = [x for x in jieba.cut(text) if len(x) >= 2] #['小明', '一起', '北京故宫', '博物馆']


  • 分词时也可以同时标注词性
    import jieba.posseg as psg print([(x.word,x.flag) for x in psg.cut(text)]) #[('我', 'r'), ('和', 'c'), ('小明', 'n'), ('一起', 'm'), ('去', 'v'), ('北京故宫', 'ns'), ('博物馆', 'n'), ('玩', 'v')]


  • 如果文本中有专有名词,也可以使用自己的字典
    jieba.load_userdict('user_dict.txt') print(' '.join(jieba.cut(text)))

    user_dict.txt 格式为每行是一个词,依次为词名,词频,词性
    或者是直接加入词汇

    jieba.add_word('小明')

    或者

    print('/'.join(jieba.cut('我和小明', HMM=False))) print(jieba.suggest_freq('我和', True)) print('/'.join(jieba.cut('我和小明', HMM=False))) print(jieba.suggest_freq(('我','和'), True)) print('/'.join(jieba.cut('我和小明', HMM=False))) #我/和/小/明 #3041 #我和/小/明 #3040 #我/和/小/明





  • 取频率最高的5个词
    from collections import Counter c = Counter(text).most_common(5)


  • 并行计算
    #打开,num为进程参数 jieba.enable_parallel(num) #关闭 jieba.disable_parallel()


  • 结巴词性表

    形容词(1个一类,4个二类)

    a 形容词

    ad 副形词

    an 名形词

    ag 形容词性语素

    al 形容词性惯用语

    区别词(1个一类,2个二类)

    b 区别词

    bl 区别词性惯用语

    连词(1个一类,1个二类)

    c 连词

    cc 并列连词

    副词(1个一类)

    d 副词

    叹词(1个一类)

    e 叹词

    方位词(1个一类)

    f 方位词

    前缀(1个一类)

    h 前缀

    后缀(1个一类)

    k 后缀

    数词(1个一类,1个二类)

    m 数词

    mq 数量词

    名词 (1个一类,7个二类,5个三类)

    名词分为以下子类:

    n 名词

    nr 人名

    nr1 汉语姓氏

    nr2 汉语名字

    nrj 日语人名

    nrf 音译人名

    ns 地名

    nsf 音译地名

    nt 机构团体名

    nz 其它专名

    nl 名词性惯用语

    ng 名词性语素

    拟声词(1个一类)

    o 拟声词

    介词(1个一类,2个二类)

    p 介词

    pba 介词“把”

    pbei 介词“被”

    量词(1个一类,2个二类)

    q 量词

    qv 动量词

    qt 时量词

    代词(1个一类,4个二类,6个三类)

    r 代词

    rr 人称代词

    rz 指示代词

    rzt 时间指示代词

    rzs 处所指示代词

    rzv 谓词性指示代词

    ry 疑问代词

    ryt 时间疑问代词

    rys 处所疑问代词

    ryv 谓词性疑问代词

    rg 代词性语素

    处所词(1个一类)

    s 处所词

    时间词(1个一类,1个二类)

    t 时间词

    tg 时间词性语素

    助词(1个一类,15个二类)

    u 助词

    uzhe 着

    ule 了 喽

    uguo 过

    ude1 的 底

    ude2 地

    ude3 得

    usuo 所

    udeng 等 等等 云云

    uyy 一样 一般 似的 般

    udh 的话

    uls 来讲 来说 而言 说来

    uzhi 之

    ulian 连 (“连小学生都会”)

    动词(1个一类,9个二类)

    v 动词

    vd 副动词

    vn 名动词

    vshi 动词“是”

    vyou 动词“有”

    vf 趋向动词

    vx 形式动词

    vi 不及物动词(内动词)

    vl 动词性惯用语

    vg 动词性语素

    标点符号(1个一类,16个二类)

    w 标点符号

    wkz 左括号,全角:( 〔 [ { 《 【 〖 〈 半角:( [ { <

    wky 右括号,全角:) 〕 ] } 》 】 〗 〉 半角: ) ] { >

    wyz 左引号,全角:“ ‘ 『

    wyy 右引号,全角:” ’ 』

    wj 句号,全角:。

    ww 问号,全角:? 半角:?

    wt 叹号,全角:! 半角:!

    wd 逗号,全角:, 半角:,

    wf 分号,全角:; 半角: ;

    wn 顿号,全角:、

    wm 冒号,全角:: 半角: :

    ws 省略号,全角:…… …

    wp 破折号,全角:—— -- ——- 半角:— —-

    wb 百分号千分号,全角:% ‰ 半角:%

    wh 单位符号,全角:¥ $ £ ° ℃ 半角:$

    字符串(1个一类,2个二类)

    x 字符串

    xx 非语素字

    xu 网址URL

    语气词(1个一类)

    y 语气词(delete yg)

    状态词(1个一类)

    z 状态词


  • Reference:
    https://www.cnblogs.com/jiayongji/p/7119065.html
    github上jieba文档





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233986.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python与java的比较_Python和Java两者有什么区别?

    python与java的比较_Python和Java两者有什么区别?Java是具有悠久历史的老牌开发语言,Python是如今人工智能时代的首选语言,无论是Java还是Python都相当强大,这两门语言有很多的相似之处,但是也有很多的不同,难免会拿来比较。今天千锋小编就和大家对比一下Python和Java,看看两者有什么区别?1.开源这两者都是开源语言,换言之你可以随意的使用这两门语言而不需要付费,你也可以阅读他们的源代码学习,并且对它们做一些改动。在这一点上,两者…

    2022年7月8日
    18
  • Hibernate框架–学习笔记(上):hibernate项目的搭建和常用接口方法、对象的使用

    Hibernate框架–学习笔记(上):hibernate项目的搭建和常用接口方法、对象的使用

    2021年9月26日
    43
  • Linux重启网卡失败_centos7重启后网卡不启动

    Linux重启网卡失败_centos7重启后网卡不启动重启网卡报错:Restartingnetwork(viasystemctl):Jobfornetwork.servicefailedbecausethecontrolprocessexitedwitherrorcode.本人解决办法:去windows里面查找一下关于网卡的服务是否打开如果没有则手动开启这两个服务。有可能是UUID冲突,这里j简单介绍一…

    2022年9月22日
    3
  • macos idea2021激活码(JetBrains全家桶)

    (macos idea2021激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~23LNPMIJZT-eyJsaWNlbnNlSWQiOi…

    2022年3月29日
    131
  • StringUtils.isBlank_stringbuilder和string区别

    StringUtils.isBlank_stringbuilder和string区别/**1.*StringUtils.isNotBlank();*判断参数是否不为空.*1.如果不为空返回true。*2.如果为空返回false。*StringUtils.isNotEmpty(null)->false*StringUtils.isNotEmpty(“”)->false*StringUtils.isNotEmpty(“a”)->true*StringUtils.isNotEmpty(“”)->tru

    2022年8月12日
    6
  • linux mysql 远程连接_docker远程部署

    linux mysql 远程连接_docker远程部署Linux下远程连接MySQL数据库的方法踩坑笔记估计搞了一个多小时才把这个远程连接搞好。一台本地电脑,一台云服务器,都是linux系统。步骤1、在服务器端开启远程访问首先进入mysql数据库,然后输入下面两个命令:grantallprivilegeson*.*to’root’@’%’identifiedby’password’;flushprivileges;第一个*是数据库…

    2022年10月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号