Python 数据分析的敲门砖 jieba模块中文分词

2024-02-29 19:36

本文主要是介绍Python 数据分析的敲门砖 jieba模块中文分词,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


文章目录

      • 文章开篇
      • Jieba简介
      • 使用场景
      • jieba的引用
      • jieba常用的方法
        • 1.精确模式分词
        • 2.搜索引擎模式分词
        • 3.添加新词
        • 4.调整词频
        • 5.提取关键词
      • 应用案例
      • 总结

文章开篇

Python的魅力,犹如星河璀璨,无尽无边;人生苦短、我用Python!


Jieba简介

jieba 是一个用于中文文本分词的 Python 库。
它能够将一整段中文文本切分成有意义的词语或短语
分词是中文**自然语言处理(NLP)**中非常重要的一步,因为中文句子中的词与词之间不像英文那样有明确的空格分隔,所以需要专门的工具来进行分词。


使用场景

在文本分析中,可能需要知道文本中哪些词或短语出现的频率最高,或者文本的主题是什么。
在情感分析中,分词可以帮助你识别文本中的关键词或短语,进而判断文本的情感倾向
在机器翻译时,源语言和目标语言都需要进行分词,以便将文本转换成机器可以理解的格式
在搜索引擎中,需要对输入的查询内容进行分词,以便更好地理解用户的意图,并返回相关的搜索结果。


jieba的引用

jieba属于第三方模块,使用前需要额外下载安装

pip install jieba

下载安装完成后,即可导入使用

import jieba

jieba常用的方法


1.精确模式分词

jieba.cut(sentence, cut_all=False):核心函数,用于将中文文本切分成词语;
sentence 是要分词的文本
cut_all 是一个可选参数,默认为False;

  • 当它为 True 时,使用全模式进行分词;
  • 当为 False 时,使用精确模式进行分词;

返回值是一个生成器,包含了分词后的结果

import jiebasentence = "你的男朋友是个盖世垃圾,将会脚踏七彩祥云迎娶你的闺蜜"
seg_list = jieba.cut(sentence, cut_all=True)
print("模糊模式分词结果:", "/ ".join(seg_list)) # 模糊模式分词结果: 你/ 的/ 男朋友/ 朋友/ 是/ 个/ 盖世/ 垃圾/ ,/ 将/ 会/ 脚踏/ 七彩/ 祥云/ 迎娶/ 你/ 的/ 闺/ 蜜seg_list = jieba.cut(sentence, cut_all=False)
print("精确模式分词结果:", "/ ".join(seg_list)) # 精确模式分词结果: 你/ 的/ 男朋友/ 是/ 个/ 盖世/ 垃圾/ ,/ 将会/ 脚踏/ 七彩/ 祥云/ 迎娶/ 你/ 的/ 闺蜜

2.搜索引擎模式分词

jieba.cut_for_search(sentence):用于搜索引擎的分词模式,适合短文本分词;
返回值是一个生成器,包含了分词后的结果;

import jiebasentence = "今天的天气很糟糕"
seg_list = jieba.cut_for_search(sentence)print("搜索引擎模式分词结果:", "/ ".join(seg_list))   # 搜索引擎模式分词结果: 今天/ 的/ 天气/ 很/ 糟糕

3.添加新词

jieba.add_word(word, freq=None, tag=None):用于向 jieba 的词典中添加新词;
word 是要添加的新词
freq 是可选参数,表示该词的出现频率
tag 是可选参数,表示该词的词性

import jieba# 使用新词进行分词
sentence = "网络热词公主请上车"
seg_list = jieba.cut(sentence, cut_all=False)print("分词结果:", "/ ".join(seg_list)) # 分词结果: 网络/ 热词/ 公主/ 请/ 上车# 添加新词到词典
jieba.add_word("公主请上车", 20)
seg_list = jieba.cut(sentence, cut_all=False)print("分词结果包含新词:", "/ ".join(seg_list)) # 分词结果包含新词: 网络/ 热词/ 公主请上车

4.调整词频

jieba.suggest_freq(segment, tune=True):调整单个词语的词频,使其能(或不能)被分出来。
segment 是要调整词频的词语。
tune 是一个可选参数,当为 True 时,调整词频后,会立即更新词典;当为 False 时,不更新词典。

import jiebasentence = "天蚕土豆是一个网文作者"
seg_list = jieba.cut(sentence, cut_all=False)
print("分词结果:", "/ ".join(seg_list)) # 分词结果: 天蚕/ 土豆/ 是/ 一个/ 网文/ 作者# 调整词频,使得"调整"可以被切分出来
jieba.suggest_freq("天蚕土豆", True)seg_list = jieba.cut(sentence, cut_all=False)
print("分词结果包含调整词频后的词:", "/ ".join(seg_list))    # 分词结果包含调整词频后的词: 天蚕土豆/ 是/ 一个/ 网文/ 作者

5.提取关键词

jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=()):用于文本关键词提取。
sentence 是要提取关键词的文本。
topK 是可选参数,表示返回关键词的个数。
withWeight 是可选参数,当为 True 时,返回关键词及其权重;当为 False 时,只返回关键词。
allowPOS 是可选参数,用于指定需要提取的关键词的词性。

import jieba.analysetext = "今天天气非常的糟糕,我不喜欢阴雨天"
keywords = jieba.analyse.extract_tags(text, topK=5, withWeight=True)
print("关键词提取结果:", keywords) # 关键词提取结果: [('今天天气', 2.4582479479), ('阴雨天', 2.3196185118), ('糟糕', 1.6664666296419999), ('喜欢', 1.140517680604), ('非常', 0.9806566012679999)]

应用案例

import jieba.posseg as pseg# 示例文本
text = "这部电影真的很好看,演员演技出色,剧情也很吸引人。"# 使用jieba进行词性标注
words = pseg.cut(text)# 情感分析(简单示例,实际应用可能需要复杂的模型)
sentiment = 0  # 初始情感分数
for word, flag in words:if 'n' in flag:  # 名词可能包含情感信息sentiment += 1elif 'd' in flag:  # 副词可能加强或减弱情感sentiment += 2 if word in ['非常', '十分', '特别', '极其'] else -1# 根据情感分数判断情感倾向
if sentiment > 0:print("正面情感")
elif sentiment < 0:print("负面情感")
else:print("中性情感")

总结

使用jieba库可以轻松地对中文文本进行分词和词频统计,展现文本中的高频词汇。
然而,jieba库的功能远不止于此,它还包括词性标注、关键词提取等,是一个功能强大的中文分词第三方库,广泛应用于自然语言处理任务中。

这篇关于Python 数据分析的敲门砖 jieba模块中文分词的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/759841

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以