NLP 之 jieba (结巴)制作词云

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

NLP 之 jieba (结巴)制作词云

一 、jieba的导入

%pip install jieba

二、 jieba 结巴分词的几种模式及使用

  1. 精确模式

    • 精确划分,视图将句子最精确地切分,适合文本分析
    jieba.lcut(text,cul_all=False)
    
  2. 全局模式

    • 全模式 把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义

      jieba.lcut(text,cul_all=True)
      
  3. 搜索引擎模式

    • 搜索引擎模式,是在精确划分的基础上,再进行全模式划分,,提高召唤率,适合用于搜索引擎分词。

    • jieba.lcut_for_search(text)
      
  4. 展示三种模式

    text2 = '落霞与孤鹜齐飞,秋水共长天一色'
    
    print('精确搜索','/'.join(jieba.lcut(text2,cut_all=False)))
    print('全模式','/'.join(jieba.lcut(text2,cut_all=True)))
    print('搜索引擎模式','/'.join(jieba.lcut_for_search(text2)))
    
    """
    精确搜索     落霞与孤鹜齐飞/,/秋水共长天一色
    全模式       落霞/落霞与孤鹜齐飞/,/秋水/秋水共长天一色/长天/天一/一色
    搜索引擎模式  落霞/落霞与孤鹜齐飞/,/秋水/长天/天一/一色/秋水共长天一色
    """
    

如果有一些网络热词,能够被识别出来,不要被切分开,就要进行自定义一个词典,这个词典本身是txt文档,然后先试用jieba.load_userdict(‘文档地址’),再根据需求,使用jieba中任意一个模式进行切分。

text3 = '我是来自妈妈省的蓝色妖姬唱着只因你太美而来'
jieba.load_userdict('dict.txt')

print('精确模式','/'.join(jieba.lcut(text3,cut_all=False)))
print('全模式','/'.join(jieba.lcut(text3,cut_all=True)))
print('搜索引擎模式','/'.join(jieba.lcut_for_search(text3)))

"""
精确模式     我/是/来自/妈妈/省/的/蓝色妖姬/唱/着/只/因/你/太美而来
全模式       我/是/来自/妈妈/省/的/蓝色/蓝色妖姬/妖姬/唱/着/只因/你/太美/而来
搜索引擎模式  我/是/来自/妈妈/省/的/蓝色/妖姬/蓝色妖姬/唱/着/只/因/你/太美/而来/太美而来


"""

三、词云的过程

第一步:数据导入
  • 数据准备,制作词云的数据导入
  • 停用词导入及自定义停用词词典:网上找的停用词及自定义停用词
第二步:数据清洗
  • 去掉数据中的特殊符号或者说只保留中文,如去掉emoj符号,等一些特殊的对分析无用的符号。 方法是用正则方法。
  • 判断词云数据是否是字符串类型,是的话对数据进行切分,把所有的数据保留成一个长的字符串,用空格连接
第三步:准备好产生词云图的文本数据
  • 对清洗后的长字符串进行切分,对其值进行统计得到绘制词云的最终数据import_words.
第四步:制作词云图 这里需要导入worldcolud ,和从PTL导入Tmage
  • 使用PTL里面的 Imag 读取nd array的图片,这一步是通过读取图片的数据,保存成nd array.
  • 使用词云提取图片颜色生成器 ,worldcolund.Imagecolorgenerator( bgim)
  • 设置词云的背景颜色,词云显示的词数及最大最小字体等一些参数,然后将import_words传进来,plt.show就可以完成词云的绘制。、
  • 代码显示
import jieba
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
# 从列表中处理  拿到抖音数据里面的个性签名内容,使用结巴对语句进行切分
dou_yin_data = pd.read_csv('./douyin.csv')


# 哈工大、四川大学、百度等都有发布的停用词文件 可以在网上自行获取
# 读取停用词
stop_words_list = pd.read_csv('./stopwords.txt',encoding='gbk',header=None)
for statement in dou_yin_data.signature:
    print(statement)
# 只保留中文数据
good_words = dou_yin_data.signature.str.replace(r'[^\u4e00-\u9f5a]','')

# 产生字符串
content = ''
for statement in good_words :
    if type(statement) != str:
        continue
    words = jieba.lcut(statement,cut_all=False)
    for word in words:
        if word not in stop_words:
            if word not in stop_words_list:
                content += word + ' '
## 字符串切分,产生最终绘制词云的数据
import_words = Series(content.split(' ')).value_counts()[10:310]

# 绘制词云
from PIL import Image
import wordcloud
# 制作抖音大V签名的词云图
# 舆论分析 评论分析 反馈分析 建议分析

# 读取nd array 的图片
bgimg = np.array(Image.open('./bgimg.png'))
# 词云提取图片颜色生成器
genclr = wordcloud.ImageColorGenerator(bgimg)
wc = wordcloud.WordCloud(font_path='./FZZJ-LongYTJW.TTF',# 设置字体
                         background_color='#D4F6CC', # 背景颜色
                         max_words=200,
                         max_font_size=300,
                         min_font_size=5,
                         random_state=42,
                         mask=bgimg,
                         color_func=genclr)

# 渲染词云的文体
wc.generate_from_frequencies(import_words)

plt.figure(figsize=(18,18))
plt.imshow(wc)
plt.axis('off')

NLP 之 jieba (结巴)制作词云文章来源地址https://www.toymoban.com/news/detail-405445.html

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

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

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

相关文章

  • 让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

    词云Word Cloud的制作方法(基于python) 本文目录: 一、词云的简介 二、 实现原理和流程 1、制作词云流程图 2、词云实现原理 三、 实现词云的方式 1、安装词云相关模块库 2、WordCloud库 3、stylecloud库 四、总结 词云,又称文字云,英文名:Word Cloud。是文本数据的视觉表示形式。

    2023年04月09日
    浏览(49)
  • 手搓大语言模型 使用jieba分词制作词表,词表大小几十万 加强依赖性

    jieba分词词表生成与训练

    2024年02月11日
    浏览(40)
  • 通过训练NLP制作一个自己的简易输入法

    最近开始研究NLP,然后根据手写CV UP主的视频,写了一个N Gram的NLP模型,算是该领域里的hello world吧。然后我又添加了几行代码实现了一个 非常简易的输入法 。 项目说明: 数据集可以自创,导入txt文件即可; 单词联想功能:输入前两个单词,预测(联想)第三个单词【也就是

    2024年02月08日
    浏览(62)
  • jupyter notebook 导入已经在pycharm里pip install过的包报错

    🐱: 当我每天都在cmd/Terminal等地方pip install我的python lib时,打开Jupyter notebook 发现,有一些包明明在电脑里有,比如torch, searborn之类的,在jupyter notebook 里import 对应包确报错,找不到这些包 🔵查看平时pip install 的lib文件目录 在jupyter notebook 的cell里面输入: 🟡运行上面代码

    2024年02月08日
    浏览(58)
  • Python结巴中文分词笔记

    🌐 jieba库概述 Jieba是一个流行的中文分词库,它能够将中文文本切分成词语,并对每个词语进行词性标注。中文分词是自然语言处理的重要步骤之一,它对于文本挖掘、信息检索、情感分析等任务具有重要意义。 💡 jieba分词的原理 jieba分词的原理是基于统计和规则的混合分

    2024年02月16日
    浏览(43)
  • macos pip3 install pycryptodome导入from Crypto.Cipher import AES报错

    问题:         已经使用pip3 install pycryptodome安装成功了,但是导入from Crypto.Cipher import AES还是提示Unresolved reference \\\'Crypto\\\' 原因:         一句话:安装文件大小写问题(这只是我遇到的一种情况)。 修改:         先使用命令: pip3 show pycryptodome,查看安装包的位置

    2024年01月24日
    浏览(45)
  • 强大的中文分词器--结巴分词(java版)

    原生jieba分词是强大的Python组件,可以用来进行提取,标注以及定位。 精确模式:试图将句子最精确地切开,适合文本分析; 全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 搜索引擎模式:在精确模式的基础上,对长词再次切分

    2024年02月16日
    浏览(49)
  • 结巴分词-强大的中文分词器实践(java版)

    原生jieba分词是强大的Python组件,可以用来进行提取,标注以及定位。 精确模式:试图将句子最精确地切开,适合文本分析; 全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 搜索引擎模式:在精确模式的基础上,对长词再次切分

    2024年02月16日
    浏览(39)
  • 【3D建模制作技巧分享】Maya模型如何导入zbrush

    在Maya中制作基础模型之后,我们都需要将其导入到zbrush进行雕刻。那怎么将Maya模型导入到zbrush中呢? Maya模型导入zbrush 1、在Maya中制作完成模型,点击windows(窗口)-settings/preferences(设置/首选项)-plug-in Manager。 2、把OBJ后面的两个空格都打勾,导出OBJ格式,这样就很容易导

    2023年04月09日
    浏览(55)
  • Unity制作Live2D(一)模型导入

    目录 序言 前期准备  导入模型 在许多游戏当中,Live2D展现出来了优秀的游戏体验,通过Live2D效果,让平面的游戏人物看起来更加生动,玩家也会感受到更多乐趣。 前往Live2DCubism官网下载Unity需要的SDKCubismForUnity,导入资源包到Unity中,可以不导入Sample样例。下载想要使用的

    2024年02月04日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包