使用jieba库进行中文分词和去除停用词

jieba.lcut 

jieba.lcut()和jieba.lcut_for_search()是jieba库中的两个分词函数,它们的功能和参数略有不同。

jieba.lcut()方法接受三个参数:需要分词的字符串,是否使用全模式(默认为False)以及是否使用HMM模型(默认为True)。它返回一个列表,其中包含分词后的词语。该方法适合用于普通的文本分词任务。

而jieba.lcut_for_search()方法接受两个参数:需要分词的字符串和是否使用HMM模型。该方法适合用于搜索引擎的分词,因为它在精确模式的基础上,对长词进行了再次切分,以提高召回率。

import jieba
text = '中文分词是将中文文本切分成一系列有意义的词语的过程。'#定义词典列表
b=['中文分词','中午文本','有意义']
jieba.load_userdict(b)  #应用自定义词典列表print(jieba.lcut(text,cut_all=False)) # 默认精确模式,即cut_all=False
print(jieba.lcut(text,cut_all=True)) # 改为全模式,即cut_all=True
print(jieba.lcut_for_search(text)) # 搜索引擎模式

import jiebatext2 = '我们中出了一个叛徒'
print(jieba.lcut(text2))# 删除一个单词
jieba.del_word('中出')
print(jieba.lcut(text2))#增加一个单词
jieba.add_word('出了')
print(jieba.lcut(text2))# 如果我们不想删除“中出”这个词,但是又不想让它合在一起,可以增大它的词频
jieba.add_word('中出')  # 为了演示效果,我们需要回到最初始的样子
jieba.del_word('出了')
print(jieba.lcut(text2))
# 调节词的词频,使其能(或不能)被分词
# tune=True:执行词频调整,默认False不执行
jieba.suggest_freq(('中','出'),tune=True)
print(jieba.lcut(text2))

去除停用词语

最全中文停用词表
 

import re
import jieba
text3 = '昨天我吃了一大碗米饭,真的是太好吃了!###@'# 去除一些无用的字符只提取出中文出来
new_text = "".join(re.findall('[\u4e00-\u9fa5]+', text3, re.S))
print(new_text)print(jieba.lcut(new_text))

综合案例 

import re
import jiebadef chinese_word_cut(mytext):# jieba.load_userdict('自定义词典.txt')  # 这里你可以添加jieba库识别不了的网络新词,避免将一些新词拆开jieba.initialize()  # 初始化jieba# 文本预处理 :去除一些无用的字符只提取出中文出来new_data = re.findall('[\u4e00-\u9fa5]+', mytext, re.S)new_data = " ".join(new_data)# 文本分词seg_list_exact = jieba.lcut(new_data)result_list = []# 读取停用词库with open('cn_stopwords.txt', encoding='utf-8') as f:  # 可根据需要打开停用词库,然后加上不想显示的词语con = f.readlines()stop_words = set()for i in con:i = i.replace("\n", "")  # 去掉读取每一行数据的\nstop_words.add(i)# 去除停用词并且去除单字for word in seg_list_exact:if word not in stop_words and len(word) > 1:result_list.append(word)return result_listif __name__=='__main__':with open('new.txt','r',encoding='utf-8') as f:text_file=f.read()# 分词得到词典result=chinese_word_cut(text_file)result=set(result)print(result)# print(text_file)


 

参考:

文本分析-使用jieba库进行中文分词和去除停用词(附案例实战)_jieba.lcut(text)-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/593201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ DAY5 作业

1.全局变量,int monster 10000;定义英雄类hero,受保护的属性string name,int hp.int attck;公有的无参构造,有参构造,虚成员函数void Atk()blood-0;},法师类继承自英雄类,私有属性int ap_atk50…

CyberLink的颜色修正软件ColorDirector Ultra 2024 12.0版本在windows系统下载与安装配置

目录 前言一、ColorDirector Ultra 安装二、使用配置总结 前言 ColorDirector Ultra是由CyberLink公司开发的一款专业的颜色修正和调整工具,可以帮助用户实现对视频中颜色的全方位管理。该软件支持对各种分辨率的视频进行颜色调整,并且可以从各种设备&a…

QT系统移植教程

QT系统移植教程 QT系统移植教程 qt教程: http://www.qter.org/portal.php?modview&aid5 下载源码: http://download.qt.io/archive/qt/5.4/5.4.2/single/ 解压源码: tar -xvf qt-everywhere-opensource-src-5.4.2.tar.x…

【hive】报错累积

6.1 创建新表 错误1:FAILED: SemanticException [Error 10006]: Line 1:63 Partition not found "20210919" 场景:在创建例行表时,报错。这种情况是先创建了多级分区表(date,product)&#xff0c…

Ubuntu 20.04 上安装和使用 Docker

Ubuntu 20.04 上安装和使用 Docker 在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源,导入 GPG key,并且安装软件包。 一、开始安装 首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTP…

Spring学习目标

Spring概述Spring IOC[重点]基于注解的IOC配置Spring AOP[重点]基于注解的AOP配置Spring整合MyBatisSpring事务控制[重点]基于注解的事务控制

你不知道的 CSS 之 包含块 ! 最细讲解,一听就懂!

你不知道的 CSS 之包含块 一说到 CSS 盒模型,这是很多小伙伴耳熟能详的知识,甚至有的小伙伴还能说出 border-box 和 content-box 这两种盒模型的区别。 但是一说到 CSS 包含块,有的小伙伴就懵圈了,什么是包含块?好像…

devops使用+vscode使用

官方文档 使用 Git 进行代码 - Azure DevOps | Microsoft Learn 用ssh远程连接服务器debug 在插件中搜索SSH ,具体步骤可以参考以下步骤 https://cloud.tencent.com/developer/article/1840922

Flutter 混合开发 - 动态下发 libflutter.so libapp.so

背景 最近在做包体积优化,在完成代码混淆、压缩,裁剪ndk支持架构,以及资源压缩(如图片转webp、mp3压缩等)后发现安装包的中占比较大的仍是 so 动态库依赖。 具体查看发现 libflutter.so 和 libapp.so 的体积是最大的&…

基于SpringBoot的图书电子商务网站的设计与实现

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的图书电子商务网站的设计…

LobeChat:搭建你的私人 GPT!

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello,大家好,我是 Sunday。 之前有同学问我:“老师,我想要搭建一个个人的 …

2024.1.2C语言 结构

一.结构的定义 1.概念 在C语言中,结构是一种用户自定义的数据类型,它允许您将多个不同类型的数据组合成一个单一的数据类型,如 struct student {int num;//学号char name[10];//姓名int computer, english, math;//3门课程成绩double average;//个人平…

《编程之光:解密ECMAScript与JavaScript的微妙关系》

目录 1. ECMAScript:光芒背后的规范2. JavaScript:语言的真实承载者3. 为何关系微妙?4. 编程之光的启示结尾: 标题:《编程之光:解密ECMAScript与JavaScript的微妙关系》 在前端开发的世界中,ECM…

搞懂flyaway一篇就够了

Flyway是一个用于数据库迁移的开源工具,它可以帮助开发人员轻松地管理数据库架构的变化。Flyway通过迁移来更新数据库,迁移可以使用特定于数据库的SQL语法或者用于高级数据库转换的Java编写。Flyway支持两种类型的迁移:有版本的迁移和可重复的迁移。有版本的迁移具有唯一的版…

Python编写API接口

本文将从以下几个方面详细阐述Python编写API接口的方法和技巧,希望能够对开发工程师们有所帮助: 一、API接口的基本概念 API全称为Application Programming Interface,是一种应用程序接口,可让不同的程序之间进行交互。API接口通…

TDD-LTE 附着流程和去附着流程

目录 1. 附着流程 1.1. 正常附着流程 2. 异常附着流程 2.1 RRC建立失败 2.2 核心网拒绝 2.3 eNodeB未收到初始化上下文建立请求 2.4 RRC重配置请求丢失 2. 去附着流程 2.1 非关机去附着流程 2.1.1 连接态非关机去附着 2.1.2 空闲态非关机去附着 2.2 关机去附着流程 …

实战Keras3.0:自定义图片数据集分类任务

一、创建自定义图片数据集 1、数据收集 以10张小狗图片和10张小猫图片为例 2、数据预处理 1、创建Excel表格,并在其中创建两列,一列是图片路径,另一列是对应的标签(狗0、猫1) 2、用pandas库的read_excel函数读取Exc…

java企业人事信息管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web企业人事信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发,数据库为M…

【学习记录23】Linux环境下安装nginx

自己折腾了个服务器在上面跑前端项目,记录一下以备后期查询,为了省钱每年都换一次云服务器。。。每次都得重装各种东西!!! 1、安装所需环境 //安装gcc yum install gcc-c//安装PCRE pcre-devel yum install -y pcre …

Python-单行赋值的执行顺序

一般情况下,python 的元组赋值可以当作没有顺序: a, b 1, 2 a Out[3]: 1 b Out[4]: 2 但是如果交换的变量存在关联,元组赋值就是有顺序的: a, b b, a a, b Out[6]: (2, 1) 结果是a,b的值交换了顺序。如果按照: …