美文网首页
Python中文分词工具:Jieba的基本使用

Python中文分词工具:Jieba的基本使用

作者: 大数据学苑 | 来源:发表于2018-08-18 18:20 被阅读215次

今日分享:Jieba中文分词基础入门

近年来,随着NLP自然语言处理技术的日益成熟,开源实现的分词工具也越来越多,比如NLTK:其在英文分词较为成熟,分词效果较好,在处理中文分词方面则显得力不足;在处理中文分词时,Jieba这一工具普遍为大家所接受,很多企业也都是利用这一工具来处理涉及中文分词的项目;其他的开源分词工具比如Ansj、盘古分词等,感兴趣的小伙伴可以去搜索一下,本文章重点介绍Jieba分词工具。

使用Jieba分词工具主要基于以下几点:

1、社区活跃。GitHub上Jieba社区活跃度高,表明该项目会一直得到维护并持续更新,适合长期使用。

2、功能丰富。其不仅可以进行分词处理,还可以进行词性标注,关键词提取等。

3、使用简单。基于Python语言来说,其配置非常简单,方便上手。

Jieba分词工具的安装

作为Python的第三方库,和其他库的安装方式一样,打开cmd命令窗口,执行以下命令,等待一段时间即可完成安装:

pip install jieba

Jieba分词结合了基于规则和基于统计这两类方法:

1、规则分词:

基于规则的分词是一种机械分词方法,主要是通过维护词典,在切分语句时,将语句的每个字符串与词表中的词进行逐一匹配,找到则切分,否则不予切分。

按照匹配切分的方式,主要有正向匹配法、逆向最大匹配法以及双向最大匹配法。

2、统计分词:

其主要思想是把每个词看作是由词的最小单位的各个字组成的,如果相连的字在不同的文本中出现的次数越多,就证明这相连的字很可能就是一个词。

Jieba分词是基于以上两种方法,也就是混合分词。先基于词典的方式进行分词,然后再用统计分词方法进行辅助,这样的话既能保证词典分词的准确率,又能做到对未登录词和歧义词有较好的识别。

Jieba的三种分词模式

import jieba

#语料demo
sent = '中文分词是文本处理不可或缺的一步!'

seg_list = jieba.cut(sent, cut_all=True)
#'/'用来词与词之间的间隔,也可以用别的符号来间隔
print('全模式:', '/ ' .join(seg_list))
#该模式下将所有可能为词的状况进行穷举
全模式: 中文/ 分词/ 是/ 文本/ 文本处理/ 本处/ 处理/ 不可/ 不可或缺/ 或缺/ 的/ 一步/ !

seg_list = jieba.cut(sent, cut_all=False)
print('精确模式:', '/ '.join(seg_list))
精确模式: 中文/ 分词/ 是/ 文本处理/ 不可或缺/ 的/ 一步/ !

seg_list = jieba.cut(sent)  
print('默认精确模式:', '/ '.join(seg_list))
默认精确模式: 中文/ 分词/ 是/ 文本处理/ 不可或缺/ 的/ 一步/ !

seg_list = jieba.cut_for_search(sent)  
print('搜索引擎模式:', '/ '.join(seg_list))
#和全模式下的返回结果类似
搜索引擎模式: 中文/ 分词/ 是/ 文本/ 本处/ 处理/ 文本处理/ 不可/ 或缺/ 不可或缺/ 的/ 一步/ !

# 方法lcut返回的是一个分割后的词列表,在实际项目中多采用该方法进行切词,返回的列表便于后续的处理。
seg_list = jieba.lcut(sent)
print(seg_list)
['中文', '分词', '是', '文本处理', '不可或缺', '的', '一步', '!']

JIeba词性标注分词

#带词性分词
import jieba.posseg as psg

sent = '我爱北京天安门,天安门上太阳升'

seg_list = psg.cut(sent)
result = []
for w in seg_list:
#     print(w)
#     print(w.word) #词
#     print(w.flag) #词性
   result.append(w)
print(result)

[pair('我', 'r'), pair('爱', 'v'), pair('北京', 'ns'), pair('天安门', 'ns'),
pair(',', 'x'), pair('天安门', 'ns'), pair('上', 'f'), pair('太阳升', 'nr')]

#词性说明:
r:代词  v:动词  ns:地名   n:名词   x:非语素词   f:方位词  nr:人名

#按照词性来看:最后一个词太阳升的词性nr(人名)有点不合逻辑

免费分享干货部分截图

关注公众号即可一键领取

省去找资料的麻烦     为您的进阶学习保驾护航

公众号     QQ群

扫QQ群二维码进交流学习群

或在后台回复:加群

相关文章

  • Python一些库的基本使用

    python一些库的基本使用 一. jieba库安装:pip install jieba 中文分词利用一个中文...

  • 结巴中文分词的用法

    jieba “结巴”中文分词:做最好的 Python 中文分词组件"Jieba" (Chinese for "to...

  • python 结巴分词

    jieba “结巴”中文分词:做最好的 Python 中文分词组件“Jieba” (Chinese for “to...

  • Python 结巴分词

    jieba “结巴”中文分词:做最好的 Python 中文分词组件 “Jieba” (Chinese for “t...

  • python jieba分词库使用

    jieba “结巴”中文分词:做最好的 Python 中文分词组件 “Jieba” (Chinese for “t...

  • 常用Python中文分词工具

    1. jieba 分词 “结巴” 分词,GitHub 最受欢迎的分词工具,立志做最好的 Python 中文分词组件...

  • 中文分词器JIEBA分词练习

    1.JIEBA简介 jieba是基于Python的中文分词工具,支持繁体分词、自定义词典和三种分词模式: 精确模式...

  • Python中文分词工具:Jieba的基本使用

    今日分享:Jieba中文分词基础入门 近年来,随着NLP自然语言处理技术的日益成熟,开源实现的分词工具也越来越多,...

  • jieba 源码解析

    阅读动机 jieba分词是Python 里面几个比较流行的中文分词工具之一。为了理解分词工具的工作原理,以及实现细...

  • Python中的jieba 源码解析

    前言 jieba分词是Python 里面几个比较流行的中文分词工具之一。为了理解分词工具的工作原理,以及实现细节对...

网友评论

      本文标题:Python中文分词工具:Jieba的基本使用

      本文链接:https://www.haomeiwen.com/subject/aagfiftx.html