Python文本分析之中文分词(jieba库)

这篇具有很好参考价值的文章主要介绍了Python文本分析之中文分词(jieba库)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、jieba库安装

(1)全自动安装

easy-install jieba
pip install jieba
pip3 install jieba

(2)半自动安装
首先登入https://pypi.org/project/jieba/下载安装包
最后解压安装包:python setup py install

(3)手动安装
首先登入https://pypi.org/project/jieba/下载安装包
最后把jieba目录放置在site-packages目录内

2、分词

(1)cut

语法: jieba.cut(sentence, cut_all=False, HMM=True, use_paddle=False)
功能描述: 将传入的字符串参数分词
返回情况: 返回一个生成器对象
参数说明:
sentence: 被分词的字符串
cut_all: 分词模式是否设置为全模式,值为False时,精准模式分词
HMM: 是否使用 HMM 模型

(2)lcu

语法: jieba.lcut(sentence)
功能描述: 将传入的字符串参数分词
返回情况: 返回一个数组
参数说明:
sentence: 被分词的字符串

(3)cut_for_search 搜索引擎模式

语法: jieba.cut_for_search(sentence, HMM=True)
功能描述: 将传入的字符串参数分词
返回情况: 返回一个生成器对象
参数说明:
sentence: 被分词的字符串
HMM: 是否使用 HMM 模型

(4)lcut_for_search 搜索引擎模式

语法: jieba.lcut_for_search(sentence)
功能描述: 将传入的字符串参数分词
返回情况: 返回一个数组
参数说明:
sentence: 被分词的字符串

(5)分词模式的区别

s=“我叫陈妍希,来自中国台湾”

分词模式 描述 结果
全模式 试图将句子最精确地切开,适合文本分析。 [‘我’, ‘叫’, ‘陈’, ‘妍’, ‘希’, ‘,’, ‘来自’, ‘中国’, ‘中国台湾’, ‘台湾’]
精准模式 把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。 [‘我’, ‘叫’, ‘陈妍希’, ‘,’, ‘来自’, ‘中国台湾’]
搜索引擎模式 在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词 [‘我’, ‘叫’, ‘陈妍希’, ‘,’, ‘来自’, ‘中国’, ‘台湾’, ‘中国台湾’]

3、其他用法

(1) 添加自定义词典

语法: jieba.load_userdict(f)
功能描述: 添加自定义词典
返回情况: 无返回
参数说明:
f: 词典文件路径。文件中一词占一行;一行分三部分,分别为词语,词频(可省略),词性(可省略),其中分隔符为空格。

(2)添加新词

语法: jieba.add_word(word, freq=None, tag=None)
功能描述: 添加新的分词到词典中
返回情况: 无返回
参数说明:
word: 需要添加的新词
freq: 词频

(2)删除词语

语法: jieba.del_word(word)
功能描述: 删除词语
返回情况: 无返回
参数说明:
word: 需要删除的新词

(3)去除停用词

[w for w in words if w not in 停用词表]

4、词频统计

词频统计需要引入一个单独的类,使用下面方法前需提前引入from collections import Counter

语法: Counter(iterable=None)
功能描述: 对传入的参数对象进行词频统计
返回情况: 返回一个collections.Counter类,类似于字典类型的数据,数据格式:Counter({词语:词频})
参数说明:
iterable: 被统计的对象,必须是可迭代对象

5、词性提取

语法: jieba.posseg.cut(sentence, HMM=True, use_paddle=False)
功能描述: 对传入的数据进行词性判断
返回情况: 返回一个生成器,信息包含词语及其词性 (数据格式:词语/词性)
注意: 使用for遍历时,可使用w.word和w.flag属性提取词语和词性
参数说明:
sentence: 要处理的数据
HMM: 是否使用HMM模型

6、词云绘制

本次词云绘制主要使用wordcloud库,wordcloud依赖的第三方库主要有numpyPillowmatplotlib。安装时尽量使用pip install wordcloud命令行安装的方法安装,绘制词云主要使用wordcloud库中的WordCloud接口。

(1)第三方库准备工作

from scipy.misc import imread  # 读取照片,scipy1.2.0以下的版本才有imread,也可from imageio import imread
import matplotlib.pyplot as plt  # 词云图展示
from wordcloud import WordCloud,ImageColorGenerator   # 词云图绘制

(2)设置背景图

img=imread(图片文件路径)

(3)词云函数

(1)创建词云函数

语法: WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.9, mask=None, scale=1, color_func=None, max_words=200, min_font_size=4, stopwords=None, random_state=None, background_color='black', max_font_size=None, font_step=1, mode='RGB', relative_scaling='auto', regexp=None, collocations=True, colormap=None, normalize_plurals=True, contour_width=0, contour_color='black', repeat=False, include_numbers=False, min_word_length=0, collocation_threshold=30)
功能描述: 创建词云函数
返回情况: 返回一个WordCloud函数对象
参数说明:
font_path: 字体文件。
width: 词云画布的宽度
height: 词云画布的高度
margin: 页边距
background_color: 词云画布的背景颜色
mask: 词云遮罩性状的照片,如果有的话会忽略width和height参数
max_words: 最多显示的词汇量
max_font_size: 词云字体最小的字号
max_font_size: 词云字体最大的字号
stopwords: 屏蔽的词
random_state: 随机状态
color_func : 颜色的函数,设置字体颜色

(2)生成词云

1.generate方法

语法: 词云函数.generate(f)
功能描述: 导入一个文件到词云函数中,根据词语绘制词云
返回情况: 返回一个函数对象
参数说明:
f: txt文件,如果传入一个已排序好的单词列表则需要传入collocations=False参数,避免结果出现重复现象

2.generate_from_text

语法: 词云函数.generate_from_text(f)
功能描述: 导入一个文件到词云函数中,根据词语绘制词云
返回情况: 返回一个函数对象
参数说明:
f: txt文件,如果传入一个已排序好的单词列表则需要传入collocations=False参数,避免结果出现重复现象

3.generate_from_frequencies

语法: 词云函数.generate_from_frequencies(f)
功能描述: 导入一个文件到词云函数中,根据词语和词频绘制词云
返回情况: 返回一个函数对象

(3)重置字体颜色

1.生成颜色函数

语法: ImageColorGenerator(image, default_color=None)
功能描述: 生成颜色生成器
返回情况: 返回一个生成器对象
参数说明:
image: 图片数组对象,可使用imread(图片路径)返回的对象
default_color: 如果画布大于图像,则使用回退颜色,格式为(r,g,b)。如果无,则改为引发ValueError。

2.重置字体颜色

语法: 词云函数.recolor(random_state=None, color_func=None, colormap=None)
功能描述: 重置词云字体颜色
返回情况: 返回一个函数对象
参数说明:
random_state: 随机状态
color_func: 颜色函数,跟WordCloud函数中color_func值一样
colormap:

3.读取照片

语法: imread(uri, format=None, **kwargs)
功能描述: 从指定文件读取图像,生成一个数组
返回情况: 返回一个numpy数组
参数说明:
uri: 文件资源,{str, pathlib.Path, bytes, file}
format: 读取文件的格式

(4)词云图展示

词云可视化通过Pyplot 库快来实现,Pyplot 是 Matplotlib 的子库,提供了很多绘画接口。

plt.imshow(词云函数.recolor(color_func=ImageColorGenerator(img)))
plt.axis('off')
plt.show()

(5)保存词云照片

语法: 词云函数.to_file(文件路径) | 词云函数.to_image(文件路径) | 词云函数.to_svg(文件路径,embed_font=False, optimize_embedded_font=True, embed_image=False))
功能描述: 生成指定的文件
返回情况: 无返回,但会输出一个文件
参数说明:
embed_font:是否在生成的SVG文件中包含字体
optimize_embedded_font:字体大小自适应
embed_image:是否在生成的SVG文件中包含光栅化图像
文章来源地址https://www.toymoban.com/news/detail-465931.html

到了这里,关于Python文本分析之中文分词(jieba库)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 基础知识:使用jieba库对文本进行分词

    前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 一、jieba库是什么? Python的jieba库是一个中文分词工具,它可以将一段中文文本分割成一个一个的词语,方便后续的自然语言处理任务,如文本分类、情感分析等。 jieba库使用了基于前缀词典的分词方法,能够处理中文的各种复

    2024年02月10日
    浏览(47)
  • Python——jieba优秀的中文分词库(基础知识+实例)

    Hello,World! 从去年开始学习Python,在长久的学习过程中,发现了许多有趣的知识,不断充实自己。今天我所写的内容也是极具趣味性,关于优秀的中文分词库——jieba库。          🐒什么是jieba? 1、jieba 是目前表现较为不错的 Python 中文分词组件,它主要有以下特性: 中

    2024年02月03日
    浏览(38)
  • 中文分词库jieba的三种模式介绍

    精准模式 jieba.cut(test_text, cut_all=False): 试图将句子最精确地分开,适合文本分析 全模式 jieba.cut(test_text, cut_all=True): 把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义 搜索引擎模式 jieba.cut_for_search(test_text):在精确模式的基础上,对长词再次切分,提

    2024年02月13日
    浏览(39)
  • 【一】头歌平台实验-基于jieba的中文分词实战

           近年来,随着自然语言处理技术的日益成熟,开源实现的分词工具越来越多,如 Ansj 、盘古分词等。Jieba 是目前最好的 Python 中文分词组件。 本实训主要介绍 Jieba 模块的使用,并通过示例与实战,帮助大家掌握使用 Jieba 的方法。 1、jieba的特点         分词是自然

    2024年02月05日
    浏览(129)
  • 使用.NET Jieba.NET 的 PosSegmenter 实现中文分词匹配

    ​ 目录 引言 1. 什么是中文分词 2. Jieba.NET简介 3. PosSegmenter介绍 4. 实现中文分词匹配 4.1 安装Jieba.NET库 4.2 创建PosSegmenter实例 4.3 分词和词性标注 4.4 中文分词匹配 5. 总结           在自然语言处理领域,中文分词是一个重要且基础的任务。中文文本通常没有像英文那样的

    2024年02月11日
    浏览(75)
  • es自定义分词器支持数字字母分词,中文分词器jieba支持添加禁用词和扩展词典

    自定义分析器,分词器 所有字段检索 高亮搜索 分词测试 GET /test_index/_analyze jieba中文分词支持添加禁用词和扩展词库功能 创建索引:PUT http://xxxx:9200/test_index 分词测试: GET http://xxxxxx:9200/test_index/_analyze

    2024年02月11日
    浏览(41)
  • 数据分析之jieba分词使用详解

    在所有人类语言中,一句话、一段文本、一篇文章都是有一个个的词组成的。词是包含独立意义的最小文本单元,将长文本拆分成单个独立的词汇的过程叫做分词。分词之后,文本原本的语义将被拆分到在更加精细化的各个独立词汇中,词汇的结构比长文本简单,对于计算机

    2024年02月11日
    浏览(46)
  • jieba分词+sklearn文本特征提取时报错‘list‘ object has no attribute ‘decode‘

    jieba分词 先上错误代码: 运行之后,就会报错\\\'list\\\' object has no attribute \\\'decode\\\' 修改代码如下: 这样再运行就可以了。 完整的jieba分词+sklearn文本特征提取代码如下: 运行结果如下:

    2024年02月12日
    浏览(40)
  • python之jieba分词库使用

    一. 介绍 A. 什么是jieba库 jieba库是一款开源的中文分词工具,能够将中文文本切分成词语。 B. jieba库的特点和优势 支持四种分词模式:精确模式、全模式、搜索引擎模式和paddle模式。 提供自定义词典功能,可以添加、删除词语。 支持提取和词性标注。 提供Tokenize接口

    2024年02月16日
    浏览(36)
  • python使用jieba分词,词频统计,基本使用

    python采用第三方库进行中文分词,本文章只是记录文章。 1.需要下载第三方库jieba:                 cmd: pip install jieba 2.为了方便测试,在同级目录下,准备一个txt格式文件,文件名随意,这里我也是随便取的:                 文件路径可以是绝对路径,也可以是相对路

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包