jieba库是python内置函数库,可以直接使用_jieba库pip安装出现红字

jieba库是python内置函数库,可以直接使用_jieba库pip安装出现红字jieba库是一款优秀的Python第三方中文分词库,jieba支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据搜索引擎模式:在精确模式的基础上,对长词再次进行切分jiebaGitHub开源地址:https://…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。

精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析

全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据

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

一、jieba库的安装

因为 jieba 是一个第三方库,所有需要我们在本地进行安装。

Windows 下使用命令安装:在联网状态下,在命令行下输入 pip install jieba 进行安装,安装完成后会提示安装成功
这里写图片描述
在 pyCharm 中安装:打开 settings,搜索 Project Interpreter,在右边的窗口选择 + 号,点击后在搜索框搜索 jieba,点击安装即可

二、jieba三种模式的使用

# -*- coding: utf-8 -*-
import jieba

seg_str = "好好学习,天天向上。"

print("/".join(jieba.lcut(seg_str)))    # 精简模式,返回一个列表类型的结果
print("/".join(jieba.lcut(seg_str, cut_all=True)))      # 全模式,使用 'cut_all=True' 指定 
print("/".join(jieba.lcut_for_search(seg_str)))     # 搜索引擎模式

分词效果:
这里写图片描述

三、jieba 分词简单应用

需求:使用 jieba 分词对一个文本进行分词,统计次数出现最多的词语,这里以三国演义为例

# -*- coding: utf-8 -*-
import jieba

txt = open("三国演义.txt", "r", encoding='utf-8').read()
words = jieba.lcut(txt)     # 使用精确模式对文本进行分词
counts = {}     # 通过键值对的形式存储词语及其出现的次数

for word in words:
    if len(word) == 1:    # 单个词语不计算在内
        continue
    else:
        counts[word] = counts.get(word, 0) + 1    # 遍历所有词语,每出现一次其对应的值加 1

items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)    # 根据词语出现的次数进行从大到小排序

for i in range(3):
    word, count = items[i]
    print("{0:<5}{1:>5}".format(word, count))

统计结果:
这里写图片描述
你可以随便找一个文本文档,也可以到 https://github.com/coderjas/python-quick 下载上面例子中的文档。

四、扩展:英文单词统计

上面的例子统计实现了中文文档中出现最多的词语,接着我们就来统计一下一个英文文档中出现次数最多的单词。原理同上

# -*- coding: utf-8 -*-

def get_text():
    txt = open("1.txt", "r", encoding='UTF-8').read()
    txt = txt.lower()
    for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
        txt = txt.replace(ch, " ")      # 将文本中特殊字符替换为空格
    return txt

file_txt = get_text()
words = file_txt.split()    # 对字符串进行分割,获得单词列表
counts = {}

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)      

for i in range(5):
    word, count = items[i]
    print("{0:<5}->{1:>5}".format(word, count))

统计结果:
这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190872.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python %s%d(古代汉语中字的用法)

    %s格式化字符串print(‘str1%s’%’str2’)&gt;&gt;str1str2#意思是%作为一个替代,将后面的‘str2’字符串加到str1后面案例示范具体用法string="hello"#%s打印时结果是helloprint"string=%s"%string#output:string=hello#…

  • 微信小程序轮播图实现(超简单)「建议收藏」

    微信小程序轮播图实现(超简单)「建议收藏」微信小程序轮播图实现(超简单)微信小程序的轮播图可以用官方给的swiper组件。下图是官方给出的swiper属性,我截取了比较常用的一些属性。效果实现如下图1.普通开发(不采用云开发)1.1wxml<viewclass=”banner”><swiperindicator-dotsindicator-color=”rgba(255,255,255,0.5)”indicator-active-color=”#fff”circularautoplay

  • 基于单片机的交通信号灯系统设计开题报告_51单片机交通信号灯设计

    基于单片机的交通信号灯系统设计开题报告_51单片机交通信号灯设计十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。设计功能描述:1、采用51单片机作为主控单元;2、采用74HC245芯片驱动数码管;3、采用数码管显示倒计时时间;4、东西和南北方向各有两个数码管,分别显示时间,东西和南北的时间是不一样的,相差黄灯的时间才是正确的;5、可分别设置主干道和支干道通行时间;6、具有紧急模式,特种车辆优先通行或交通事故应急处理。按键说明:K1:黄灯长亮…

  • PHP 遍历数组的方法汇总

    PHP 遍历数组的方法汇总

  • IntelliJ IDEA创建Servlet最新方法 Idea版本2020.2.2以及IntelliJ IDEA创建Servlet 404问题(超详细)

    IntelliJ IDEA创建Servlet最新方法 Idea版本2020.2.2以及IntelliJ IDEA创建Servlet 404问题(超详细)第一次用IntelliJIDEA写java代码,之前都是用eclipse,但eclipse太老了。下面为兄弟们奉上IntelliJIDEA创建Servlet方法,写这个的目的也是因为在网上找了很多资料但都过时了,所以把我走过的坑和弯路直接告诉兄弟们,为大家节省点宝贵的时间。说一下现在创建Servlet或者是web和之前的主要区别,之前是直接创建,现在是先要创建java项目然后通过添加支持框架变成Servlet或者web项目下面这些截图最好都看完,因为有的地方有坑,都在后面的截图里。我用

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号