python jieba 分词初识

在我们写代码的时经常需要用的一些不是很熟悉的工具,但又需要快速上手,最直接的方法就是看官方文档,不过,很多文档都是英文的(暴击),此博客就是帮助萌新快速上手的,不会牵涉很复杂的理论,老司机请自动略过(当然欢迎指正)

jieba 分词的作用

在做文本分析的时候,我们经常要做的一件事就是对文本进行分词,最直接的就是 n-gram 模型,但很时候,我们希望按照一定的语义进行分词,例如下面这句话:

'你吃饭了吗'  #原语句
'你吃 吃饭 饭了 了吗' #  n-gram
'你 吃饭 了 吗' # jieba 分词

不过 jieba 分词只会根据简单的语义进行分词,很多复杂专业的名词,它是识别不了的;但不过,我们可以通过加载自定义的字典,让 jieba 分词能够‘认识’这些复杂词组。

用法

  • 安装
pip install jieba
  • 输入
    待分词的字符串
jieba.cut('你吃饭了吗')
  • 输出
    jieba 分词返回的是一个生成式

    <class 'generator'>
  • 三种分词模式

精确模式:试图将句子最精确地切开,适合文本分析;cut_all=True
全模式:把句子中所有可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;cut_all=False
搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。jieba.cut_for_search()
  • 导入自定义字典
path = '你自定义的字典的路径'
jieba.load_userdict(path)

自定义字典中出现的词组,jieba 就会将其识别为一个词组。

Example

import jieba
path = '你自定义的字典的路径'
jieba.load_userdict(path) # 如果没有自定义的字典,可以不需要
res = jieba.cut('你吃饭了吗',cut_all=True)
print(' '.join(res)) # 将分好的词组以空格分隔

这里写图片描述

猜你喜欢

转载自blog.csdn.net/slwhy/article/details/80230083