Python jieba分词详解

jieba是Python中的一个强大的分词库,可以完美的对中文进行分词。

简单用法及模式

jieba分词有3种分词模式,分别为 精确模式、全模式、搜索引擎模式,下面来分别介绍一下这3种模式。

  • 精确模式:试图将句子最精确的分开,适合文本分析。
  • 全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但不能解决歧义。
  • 搜索引擎模式:在精确模式的基础上,对长词再次进行切分。

代码示例:

import jieba


text = '你是我生命中最美好的相遇,我不知道我还能够看你多久'

cut1 = jieba.cut(text)       #精确模式
cut2 = jieba.cut(text,cut_all=True)     #全模式
cut3 = jieba.cut_for_search(text)       #搜索引擎模式
word1 = ' '.join(cut1)
word2 = ' '.join(cut2)
word3 = ' '.join(cut3)
print("精确模式分词结果:")
print(cut1)
print(word1)
print("全模式分词结果:")
print(cut2)
print(word2)
print("搜索引擎模式:")
print(cut3)
print(word3)

输出样例:

精确模式分词结果:
<generator object Tokenizer.cut at 0x0000026B21D78360>
你 是 我 生命 中 最 美好 的 相遇 , 我 不 知道 我 还 能够 看 你 多久
全模式分词结果:
<generator object Tokenizer.cut at 0x0000026B228DBFC0>
你 是 我 生命 命中 最美 美好 的 相遇   我 不知 知道 我 还 能够 看 你 多久
搜索引擎模式:
<generator object Tokenizer.cut_for_search at 0x0000026B22918990>
你 是 我 生命 中 最 美好 的 相遇 , 我 不 知道 我 还 能够 看 你 多久

由以上示例可见分词的结果返回的是一个生成器(generator)

词性标记
标记分词之后每个词的词性

import jieba
import jieba.posseg as psg

text = '你是我生命中最美好的相遇,我不知道我还能够看你多久'

for x in psg.cut(text):
    print(x.word,x.flag)

输出样例:

你 r
是 v
我 r
生命 vn
中 f
最 d
美好 a
的 uj
相遇 v
, x
我 r
不 d
知道 v
我 r
还 d
能够 v
看 v
你 r
多久 m

Tokenize:返回词语在原文中的位置

  • 注意:参数只接受 Unicode
  • 默认模式
text = '永和服装饰品有限公司'

result = jieba.tokenize(text)
for tk in result:
    print("word:"+str(tk[0]),"  start: "+str(tk[0]),"  end: "+str(tk[0]))

输出样例:

word:永和   start: 0   end: 2
word:服装   start: 2   end: 4
word:饰品   start: 4   end: 6
word:有限公司   start: 6   end: 10
  • 搜索模式
text = '永和服装饰品有限公司'

result = jieba.tokenize(text,mode='search')
for tk in result:
    print("word:"+str(tk[0]),"  start: "+str(tk[1]),"  end: "+str(tk[2]))

输出样例:

word:永和   start: 0   end: 2
word:服装   start: 2   end: 4
word:饰品   start: 4   end: 6
word:有限   start: 6   end: 8
word:公司   start: 8   end: 10
word:有限公司   start: 6   end: 10

可承接各种项目,有意者加QQ:1217898975

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

steven_moyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值