Python之jieba分词使用技巧

Python之jieba分词使用技巧

jieba库支持三种分词模式:精确模式、全模式和搜索引擎模式
下面是三种模式的特点:

  1. 精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析
  2. 全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据
  3. 搜索引擎模式:在精确模式的基础上,对长词再次进行切分

三种模式的使用方式:

seg_str = "好好学习,天天向上。"
print('精确模式:{}'.format(jieba.lcut(seg_str)))  # 精确模式,返回一个列表类型的结果
print('全模式:{}'.format(jieba.lcut(seg_str, cut_all=True)))  # 全模式,使用 'cut_all=True' 指定
print('搜索引擎模式:{}'.format(jieba.lcut_for_search(seg_str)))  # 搜索引擎模式

执行结果:

精确模式:['好好学习', ',', '天天向上', '。']
全模式:['好好', '好好学', '好好学习', '好学', '学习', '', '', '天天', '天天向上', '向上', '', '']
搜索引擎模式:['好好', '好学', '学习', '好好学', '好好学习', ',', '天天', '向上', '天天向上', '。']

使用jieba分词统计中文词频示例

# -*- coding:utf-8 -*-
import jieba

txt = """七禽孟获三国中期,蜀国占据西蜀一带,这时南方孟获作乱。诸葛亮出征南蛮孟获,为了收买人心,七次俘获孟获而又其次将其释放。第七次释放孟获的时候,孟获终于归顺蜀国,诸葛亮平定了南方。
空城计三国中后期,诸葛亮出兵讨伐魏国,由于要地街亭失守,导致满盘皆输。诸葛亮被迫撤兵,司马懿大军追至,这时孔明手下的将领士兵基本都分配军务调完了,只剩二千五百军在城中。于是他命令偃旗息鼓,大开城门,独自在城楼上弹琴。司马懿疑心有伏兵。调头就撤兵。诸葛亮躲过一劫!
失街亭就是在空城计之前了,马谡自告奋勇去守街亭,结果犯了低级错误。被司马懿打败。蜀军被断了咽喉之路。被迫撤兵。
斩马谡马谡失了街亭。诸葛亮非常生气。想起了刘备临死前嘱咐他的话“吾观马谡,言过其实也”。后悔不已。悲痛了斩了立了军令状的马谡。
"""


def jieba_example():
    # 统计中文词频
    words = jieba.lcut(txt)  # 使用精确模式对文本进行分词
    counts = {}  # 通过键值对的形式存储词语及其出现的次数
    for word in words:
        if len(word) == 1:  # 单个词语不计算在内
            continue
        else:
            counts[word] = counts.get(word, 0) + 1  # 遍历所有词语,每出现一次其对应的值加 1
    items = list(counts.items())
    items.sort(key=lambda x: x[1], reverse=True)  # 根据词语出现的次数进行从大到小排序
    print('统计中文词频:{}'.format(items))


if __name__ == '__main__':
    jieba_example()

执行结果:

统计中文词频:[('孟获', 6), ('诸葛亮', 6), ('街亭', 3), ('撤兵', 3), ('司马懿', 3), ('马谡', 3), ('三国', 2), ('蜀国', 2), ('这时', 2), ('南方', 2), ('释放', 2), ('空城计', 2), ('被迫', 2), ('七禽', 1), ('中期', 1), ('占据', 1), ('西蜀', 1), ('一带', 1), ('作乱', 1), ('出征', 1), ('南蛮', 1), ('为了', 1), ('收买人心', 1), ('七次', 1), ('俘获', 1), ('其次', 1), ('第七次', 1), ('时候', 1), ('终于', 1), ('归顺', 1), ('平定', 1), ('中后期', 1), ('出兵', 1), ('讨伐', 1), ('魏国', 1), ('由于', 1), ('失守', 1), ('导致', 1), ('满盘皆输', 1), ('大军', 1), ('追至', 1), ('孔明', 1), ('手下', 1), ('将领', 1), ('士兵', 1), ('基本', 1), ('分配', 1), ('军务', 1), ('调完', 1), ('二千五百', 1), ('军在', 1), ('城中', 1), ('于是', 1), ('命令', 1), ('偃旗息鼓', 1), ('大开', 1), ('城门', 1), ('独自', 1), ('城楼', 1), ('弹琴', 1), ('疑心', 1), ('伏兵', 1), ('调头', 1), ('躲过一劫', 1), ('失街亭', 1), ('就是', 1), ('之前', 1), ('自告奋勇', 1), ('结果', 1), ('低级', 1), ('错误', 1), ('打败', 1), ('蜀军', 1), ('咽喉', 1), ('斩马谡', 1), ('非常', 1), ('生气', 1), ('想起', 1), ('刘备', 1), ('临死前', 1), ('嘱咐', 1), ('的话', 1), ('观马谡', 1), ('言过其实', 1), ('后悔不已', 1), ('悲痛', 1), ('军令状', 1)]
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值