jieba库

概述:

对于英文文本,例如:good morning.如果要提取这句话中的单词,只需要使用函数split()即可,但对于中文文本,例如:我今天早上吃了油条。对这句话来说,要提取其中的单词(词语),非常困难,因为中文词语之间没有类似英文的空格等形式的分隔符,因此要实现中文的词语获取,就要依靠jieba库来实现。

1.jieba库是第三方库,不是Python安装包自带的,因此需要通过pip指令安装,

打开电脑的cmd窗口(快捷方式win+R),后直接输入  pip install jieba  ,执行该命令开始安装。

jieba库支持三种模式:(1).精确模式,将句子最精确切开,适合文本分析

(2)全模式,将所有成词的词语都扫描出来,速度快,不能消除歧义

(3)搜索引擎模式,在精确模式基础上,对长次再次切分,适用于搜索引擎分词。

jieba库常用分词函数
jieba.cut(s) 精确模式,返回一个可迭代的数据类型
jieba.cut(s,cut_all=Ture) 全模式,输出文本s中所有可能的词
jieba.cut_for_search(s) 搜索引擎模式,适合搜索引擎建立索引的分词结果
jieba.lcut(s) 精确模式,返回一个列表类型(推荐使用)
jieba.lcut(s,cut_all=Ture) 全模式,返回一个列表类型(推荐使用)
jieba.lcut_for_search(s) 搜索引擎模式,返回一个列表类型(推荐使用)
jieba.add_word(w) 向分词词典中增加新词w

jieba库使用实例:三国演义人物出场统计

import jieba
txt = open("三国演义.txt",'r',encoding= 'utf-8').read()     #中文文本处理不能省略encoding= 'utf-8'
words = jieba.lcut(txt)
count = {}                   #定义了一个空字典
for word in words:
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word,0) + 1             #涉及字典的使用
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)             #匿名函数lambda的使用,以及使用了sort排序
for i in range(15):                  #输出前十五个
    word,count = items[i]
    print("{0:<10}{1:>5}".format(word,count))           #format格式控制

你可能感兴趣的:(Python,python)