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 panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统