jieba分词使用

1、 具体使用见代码:

import  jieba
import jieba.analyse as analyse

if __name__ == '__main__':

    # 1. 基本使用
    print('----------------1. 基本使用---------------------')
    content = '我们是中国共产主义接班人,踩着革命先烈!的鲜血'
    stop_words = [",","!","人"]
    # 返回一个迭代器
    result = jieba.cut(content)
    final_result_words = [word for word in result if word not in stop_words]
    print(final_result_words) # ['我们', '是', '中国', '共产主义', '接班人', '踩', '着', '革命先烈', '的', '鲜血']

    # 2. 增加新词:按照自己指定某个词汇 分词- 比如上例中的 `中国共产主义`
    ## 2-2 方式1 :通过add方式
    print('----------------2. 增加新词---------------------')
    content2 = '我们是中国共产主义接班人,踩着革命先烈!的鲜血'
    result2 = jieba.cut(content2)
    jieba.add_word('中国共产主义')
    final_result_words2 = [word for word in result2 if word not in stop_words]
    print(final_result_words2)  #['我们', '是', '中国共产主义', '接班人', '踩', '着', '革命先烈', '的', '鲜血']

    print('----------------2-2. 如果不删除自增词汇---------------------')
    content3 = '我们是中国共产主义接班人,踩着革命先烈!的鲜血'
    result3 = jieba.cut(content3)
    jieba.add_word('中国共产主义')
    final_result_words3 = [word for word in result3 if word not in stop_words]
    #  仍然解析出 ‘中国共产主义’
    print(final_result_words3)  # ['我们', '是', '中国共产主义', '接班人', '踩', '着', '革命先烈', '的', '鲜血']
    # 删除新词
    jieba.del_word('中国共产主义')
    result3_2 = jieba.cut(content3)
    final_result_words3_2 = [word for word in result3_2 if word not in stop_words]
    # 中国共产主义 恢复成 ---> 中国、共产主义
    print('final_result_words4',final_result_words3_2) # ['我们', '是', '中国', '共产主义', '接班人', '踩', '着', '革命先烈', '的', '鲜血']

    ## 2-2 方式2 :通过指定外部文件方式
    print('----------------2-2. 方式2 :通过指定外部文件方式---------------------')
    jieba.load_userdict('data/自定义词组')
    content4 = '我们是中国共产主义接班人,踩着革命先烈!的鲜血'
    result4  =  jieba.cut(content4)
    print('result4:',list(result4)) # ['我们', '是', '中国共产主义', '接班人', ',', '踩着革命先烈', '!', '的', '鲜血']

    # 指定新的外部文件
    jieba.initialize() # 需要先初始化
    jieba.set_dictionary('data/新自定义词组')
    result4_2 = jieba.cut(content4)
    print('result4_2:', list(result4_2)) # ['我们', '是', '中国共', '产主义', '接班人', ',', '踩', '着', '革命', '先烈', '!', '的', '鲜血']


    # 3. 词频调整(和上面的需求相反,比如想让 明天--[拆成]-->明/天):本质就是人为提高某个词的权重
    print('----------------3. 词频调整---------------------')
    content5 = '我们是伟大的明天'
    jieba.suggest_freq(('明','天'),tune=True)
    # HMM新词发现功能时可能无效,需要将它设置为False。
    result5 = jieba.lcut(content5,HMM= False)
    print('result5:',result5) # ['我们', '是', '伟大', '的', '明', '天']

    # 4. 词频分析
    print('----------------4. 词频分析---------------------')
    content6 = '我们是伟大的明天,明天的明天是后天,我们的未来是你们的明天'
    tag = jieba.analyse.extract_tags(content6,topK=3)
    print(tag) # ['伟大', '我们', '未来']

2、案例中用的文件

(1)自定义词组

中国共产主义
踩着革命先烈

 (2)新自定义词组

中国共 1
产主义 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值