jieba库的使用及实例

安装:

  cmd模式下输入

pip install jieba

  anaconda对应环境

conda install jieba

分词原理:

   Jieba分词依靠中文词库

    -利用一个中文词库,确定汉字之间的关联概率

    -汉字间概率大的组成词组,形成分词结果

    -除了分词,用户还可以添加自定义的词组

jieba库的三种模式:

  -精确模式:把文本精确的切分开,不存在冗余单词

#jieba.lcut(s)
jieba.lcut("中国是一个伟大的国家")

#output:[‘中国‘, ‘是‘, ‘一个‘, ‘伟大‘, ‘的‘, ‘国家‘]  

  -全模式:把文本中所有的可能的词语都扫描出来,有冗余  

#jieba.lcut(s,cut_all=True)
jieba.lcut("中国是一个伟大的国家",cut_all=True)

#output:[‘中国‘, ‘国是‘, ‘一个‘, ‘伟大‘, ‘的‘, ‘国家‘]   

  -全搜索引擎模式:在精确模式的基础上,对长词再次切分

#jieba.lcut_for_search(s)
jieba.lcut_for_search("中华人民共和国是伟大的")

#output:[‘中华‘, ‘华人‘, ‘人民‘, ‘共和‘, ‘共和国‘, ‘中华人民共和国‘, ‘是‘, ‘伟大‘, ‘的‘]


向分词词典中增加新词w:

#jieba.add_word(w)

jieba.add_word("蟒蛇语言")




#CalThreeKingdomsV2.py

#统计三国人物出场频率  url=‘https://python123.io/resources/pye/threekingdoms.txt‘
import jieba, requests

def getText():
    #下载到本地,或者直接爬下来
    #txt = open(‘threekingdoms.txt‘,‘r‘,encoding= ‘utf-8‘).read()
    try:
        re = requests.get(url=‘https://python123.io/resources/pye/threekingdoms.txt‘,timeout=30)
        re.raise_for_status()           #如果状态不是200引发HTTPError异常
        re.encoding = re.apparent_encoding
        return re.text
    except:
        return ‘‘

#剔除非名字
excludes = {"将军",‘却说‘,‘荆州‘,‘二人‘,‘不可‘,‘军马‘,‘引兵‘,‘次日‘,‘大喜‘,
            ‘不能‘,‘如此‘,‘商议‘,‘如何‘,‘军士‘,‘左右‘,‘\r\n‘}

words = jieba.lcut(getText())

counts = {}

for word in words:
    if len(word) == 1 :
        continue
    elif ‘诸葛亮‘ == word or ‘孔明曰‘==word:
        rword = ‘孔明‘
    elif ‘关公‘ == word or ‘云长‘ ==  word:
        rword = ‘关羽‘
    elif ‘玄德‘ ==word or ‘玄德曰‘ ==word:
        rword = ‘刘备‘
    elif ‘孟德‘==word:
        rword = ‘曹操‘
    else:
        rword = word
    counts[rword] = counts.get(rword,0)+1
for word in excludes:
    if word in counts:
        del counts[word]
items = list(counts.items())
items.sort(key= lambda x:x[1],reverse=True)
for i in range(10):
    word, count = items[i]
    print(‘{0:<10}{1:>5}‘.format(word,count))

(learn) D:\pycodes>python CalThreeKingdomsV2.py
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\hao11\AppData\Local\Temp\jieba.cache
Loading model cost 0.625 seconds.
Prefix dict has been built successfully.
孔明         1383
刘备         1252
曹操          960
关羽          784
丞相          491
张飞          358
主公          331
吕布          300
赵云          278
孙权          264

有许多地方可以优化,丞相和主公这类词,可以特殊处理。
jieba.lcut("淡黄的长裙,蓬松的头发")[‘淡黄‘, ‘的‘, ‘长裙‘, ‘,‘, ‘蓬松‘, ‘的‘, ‘头发‘]
 

原文地址:https://www.cnblogs.com/hao11/p/12588165.html

时间: 2024-10-14 13:49:32

jieba库的使用及实例的相关文章

运用jieba库进行词频统计

Python第三方库jieba(中文分词) 一.概述 jieba是优秀的中文分词第三方库- 中文文本需要通过分词获得单个的词语- jieba是优秀的中文分词第三方库,需要额外安装- jieba库提供三种分词模式,最简单只需掌握一个函数 二.安装说明 全自动安装:(cmd命令行)  pip install jieba 安装成功显示 三.特点 —— jieba分词 1. 原理:jieba分词依靠中文词库 - 利用一个中文词库,确定中文字符之间的关联概率- 中文字符间概率大的组成词组,形成分词结果-

python实例:利用jieba库,分析统计金庸名著《倚天屠龙记》中人物名出现次数并排序

本实例主要用到python的jieba库 首先当然是安装pip install jieba 这里比较关键的是如下几个步骤: 加载文本,分析文本 txt=open("C:\\Users\\Beckham\\Desktop\\python\\倚天屠龙记.txt","r", encoding='utf-8').read() #打开倚天屠龙记文本 words=jieba.lcut(txt) #jieba库分析文本 对数据进行筛选和处理 for word in words:

jieba库

一.jieba 库简介 (1) jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组:除此之外,jieba 库还提供了增加自定义中文单词的功能. (2) jieba 库支持3种分词模式: 精确模式:将句子最精确地切开,适合文本分析. 全模式:将句子中所以可以成词的词语都扫描出来,速度非常快,但是不能消除歧义. 搜索引擎模式:在精确模式的基础上,对长分词再次切分,提高召回率,适合搜索引擎分词. 二.安装库函数 (1) 在命令行下输

python jieba库的使用说明

1.jieba库基本介绍 (1).jieba库概述 jieba是优秀的中文分词第三方库 - 中文文本需要通过分词获得单个的词语         - jieba是优秀的中文分词第三方库,需要额外安装 - jieba库提供三种分词模式,最简单只需掌握一个函数 (2).jieba分词的原理 Jieba分词依靠中文词库 - 利用一个中文词库,确定汉字之间的关联概率         - 汉字间概率大的组成词组,形成分词结果 - 除了分词,用户还可以添加自定义的词组 2.jieba库使用说明 (1).jie

Python jieba 库的使用说明

1.jieba库基本介绍 (1).jieba库概述 jieba是优秀的中文分词第三方库 - 中文文本需要通过分词获得单个的词语         - jieba是优秀的中文分词第三方库,需要额外安装 - jieba库提供三种分词模式,最简单只需掌握一个函数 (2).jieba分词的原理 Jieba分词依靠中文词库 - 利用一个中文词库,确定汉字之间的关联概率         - 汉字间概率大的组成词组,形成分词结果 - 除了分词,用户还可以添加自定义的词组 2.jieba库使用说明 (1).jie

python 读写txt文件并用jieba库进行中文分词

python用来批量处理一些数据的第一步吧. 对于我这样的的萌新.这是第一步. #encoding=utf-8 file='test.txt' fn=open(file,"r") print fn.read() fn.close() 在控制台输出txt文档的内容,注意中文会在这里乱码.因为和脚本文件放在同一个地方,我就没写路径了. 还有一些别的操作. 这是文件open()函数的打开mode,在第二个参数中设置.特别需要注意一下.具体还有一些别的细节操作. http://www.jb51

python 解析html基础 HTMLParser库,方法,及代码实例

HTMLParser, a simple lib as html/xhtml parser 官方解释: This module defines a class HTMLParser which serves as the basis for parsing text files formatted in HTML (HyperText Mark-up Language) and XHTML.Unlike the parser in htmllib, this parser is not base

编写自己的代码库(javascript常用实例的实现与封装)

编写自己的代码库(javascript常用实例的实现与封装) 1.前言 大家在开发的时候应该知道,有很多常见的实例操作.比如数组去重,关键词高亮,打乱数组等.这些操作,代码一般不会很多,实现的逻辑也不会很难,下面的代码,我解释就不解释太多了,打上注释,相信大家就会懂了.但是,用的地方会比较,如果项目有哪个地方需要用,如果重复写的话,就是代码沉余,开发效率也不用,复用基本就是复制粘贴!这样是一个很不好的习惯,大家可以考虑一下把一些常见的操作封装成函数,调用的时候,直接调用就好!源码都放在githu

jieba库词频统计练习

在sypder上运行jieba库的代码: import matplotlib.pyplot as pltfracs = [2,2,1,1,1]labels = 'houqin', 'jiemian', 'zhengjiehong','baogan','dadaima'explode = [ 0,0,0,0,0]plt.axes(aspect=1)plt.pie(x=fracs, labels=labels, explode=explode,autopct='%3.1f %%', shadow=T