Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python利用jieba处理文本数据词频列表,最终生成词云

python利用jieba处理文本数据词频列表,最终生成词云

作者头像
IT不难
发布于 2022-03-12 00:57:19
发布于 2022-03-12 00:57:19
1.4K00
代码可运行
举报
文章被收录于专栏:IT不难技术家园IT不难技术家园
运行总次数:0
代码可运行

前言

自己使用的一个接单系统,运行了多半年时间。积累的一批数据,有近万条的开发数据。就像自己分析一下,大部分是什么需求。看看能不能挖出新的商机。

从数据库导出标题数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select task_title from task_requirements where UNIX_TIMESTAMP(task_addtime) > UNIX_TIMESTAMP('2022-03-10');

将结果保存到r.txt

利用python处理文本

作为一个码农,先想到的是自己动手处理,于是撸了一个python脚本,做数据处理。

代码结构

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tree 
|____TextAnalytics       //项目目录
| |____output            //数据输出
| |____setting.py        //配置文件
| |____README.md         //说明
| |____common.py         //主文件
| |____lib               //词库
| | |____停用词.csv
| | |____无效词.csv
| | |____保留词.csv
| |____main.py           //入口
| |____data              //待处理数据
| | |____r.txt

主要函数说明

  • 数据载入清洗
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def _cleanSourceText(sFile):
    '''
    文本文件数据清洗
    '''
    sourceFile = 'data/{}'.format(sFile)
    #关键词列表
    savewords = [line.strip() for line in open(saveFilePath, encoding='utf-8').readlines()]
    voidwords = [line.strip() for line in open(voidFilePath, encoding='utf-8').readlines()]

    # 对文本进行操作
    with open(sourceFile, 'r', encoding = 'utf-8') as sf:
        #返回字符串
        res_str = ''
        for line in sf:
            #过滤字符串,只保留中文,英文,数字
            string = re.compile("[^\u4e00-\u9fa5^a-z^A-Z^0-9]").sub('',line)
            tag = 0
            seg = jieba.cut(string.strip(), cut_all = False)
            # 筛选存在关键词的条目
            for word in seg:
                # 如果是无效词,跳过此条,将tag设置为0
                if word in voidwords:
                    tag = 0
                    break

                #如果在保留词中
                if len(savewords) == 0 or word in savewords:
                    tag = 1

            if tag == 1 and len(string) > 6 and len(string) < 14:
                res_str = res_str + string + "\n"

        print('源数据文件{}处理完成!'.format(sFile))

    return res_str
  • 文本分词
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def _parseText(text):
    '''
    文本分词函数
    '''
    text = re.sub(r'[^\w]', ' ' , text)
    #text = filter(None, text)

    words = jieba.lcut(text) #使用jieba.lcut()返回一个单词列表
    #加载停用词
    stopwords = [line.strip() for line in open(stopFilePath, encoding='utf-8').readlines()]

    words_dict = {} #创建一个字典,用于生成单词,频率
    for word in words:
       #不在停用词表中
        if word not in stopwords:
            if len(word) == 1:
                continue
            else:
                words_dict[word] = words_dict.get(word,0) + 1 #get不到word就创建word为下>标的值0+1,如果get到了就在word的值上加1,然后更新字典

    #words_dict = list(words_dict)
    words_dict_sorted = sorted(words_dict.items(), key=lambda kv:kv[1], reverse = True)

    #返回结果
    return words_dict_sorted

执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 main.py -s r.txt

结果如下

代码下载

脚本下载地址:

在线方式

脚本写完之后,才发现有更简单的方式。就是利用微词云,直接就生成了。就是开头的图。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用Python绘制词云:让数据可视化变得生动有趣
导读:你是否曾想过,如何将一堆枯燥的数据转化为一幅幅引人入胜的视觉艺术品?词云,作为一种流行的数据可视化技术,能够将文本数据中的关键词以不同大小和颜色呈现,直观地展示信息的密度和重要性。在本文中,我们将探索如何使用Python——一种强大而灵活的编程语言——来绘制出既美观又富有洞察力的词云图。
三猫
2024/06/26
4510
用Python绘制词云:让数据可视化变得生动有趣
PYTHON3.6对中文文本分词、去停用词以及词频统计
一开始设想在相似度计算中针对于《三生三世十里桃花》和《桃花债》之间的相似度计算,但是中途突然有人工智能的阅读报告需要写。
用户7886150
2020/12/27
2.6K0
利用jieba和wordcloud从新闻中生成词云
wordcloud 是一个python实现的高效词频可视化工具,除了可以使用各种mask和颜色提供个性化的掩膜,还可以通过api便捷的挑战获得个性化的词云输出。 安装
菲宇
2020/03/25
2K0
关于词云可视化笔记二(jieba和中文词汇可视化)
可以看出直接采用jieba也能分词,分词效果比wordcloud强一些,但一些无关紧要的词未过滤
python与大数据分析
2022/03/11
3220
关于词云可视化笔记二(jieba和中文词汇可视化)
Python实战 | 100毫秒过滤一百字万字文本的停用词
这次我打算用一部127W字的小说——《天龙八部》作为数据示例,这样能更好表现出效率高不高!
快学Python
2021/08/09
1K0
Python | 爬取农业农村部政策法规并绘制词云图
本文用作准备课堂分享,我们小组选的主题是产业融合,我负责第一部分背景。因为产业融合的政策性较强,为了更生动地展示政策文件内容,就爬取了农业农村部专题网站[1]上的政策法规,并基于 TF-IDF 算法提取关键词、统计词频和绘制词云图,以便丰富展示素材。
PyStaData
2020/07/21
4K1
Python | 爬取农业农村部政策法规并绘制词云图
Jieba分词
jieba 是一个中文分词第三方库,被称为最好的 Python 中文分词库。支持三种分词模式:精确模式、全模式和搜索引擎模式,并且支持繁体分词和自定义词典。 使用前需要额外安装(对应安装命令改为:pip install jieba)
MinChess
2022/12/26
7960
Jieba分词
用Python绘制了若干张词云图,惊艳了所有人
在数据可视化图表中,词云图的应用随处可见。它通常是对输入的一段文字进行词频提取,然后以根据词汇出现频率的大小集中显示高频词,简洁直观高效,今天小编就来分享一下在Python如何绘制出来精湛的词云图。
用户6888863
2023/03/01
8570
用Python绘制了若干张词云图,惊艳了所有人
手把手教你对抓取的文本进行分词、词频统计、词云可视化和情感分析
前几天星耀群有个叫【小明】的粉丝在问了一道关于Python处理文本可视化+语义分析的问题,如下图所示。
Python进阶者
2022/03/09
2.9K1
手把手教你对抓取的文本进行分词、词频统计、词云可视化和情感分析
文本分词和去停止词的一次优化
之前在处理QA语料库的时候,在分词和去停止词的时候消耗时间很长,所以专门搜了一些资料针对这个问题进行了一次优化,总结如下。
故事尾音
2019/12/18
7790
文本分词和去停止词的一次优化
python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库
“结巴”中文分词:做最好的 Python 中文分词组件,分词模块jieba,它是python比较好用的分词模块, 支持中文简体,繁体分词,还支持自定义词库。 jieba的分词,提取关键词,自定义词语。 结巴分词的原理 这里写链接内容 一、 基于结巴分词进行分词与关键词提取 1、jieba.cut分词三种模式 jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型 jieba.cut_for
学到老
2018/03/19
20.5K0
python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库
[情人节] jieba分词介绍
jieba 分词我觉得是Python中文分词工具中最好用的一个工具包。想要入门自然语言处理,jieba分词有必要好好掌握一下,今天带大家入门一下jieba分词包。 首先简单介绍一下jieba分词的原理,jieba分词采用的是基于统计的分词方法,首先给定大量已经分好词的文本,利用机器学习的方法,学习分词规律,然后保存训练好的模型,从而实现对新的文本的分词。主要的统计模型有:N元文法模型N-gram,隐马尔可夫模型HMM,最大熵模型ME,条件随机场模型CRF等。 jieba分词包含三个主要的类,分别是jie
用户1622570
2018/04/12
2.1K0
[情人节] jieba分词介绍
教你利用Python绘制酷炫的词云图。
我使用Python的第三方库stylecloud来分别生成了 2 张词云图,读者可以猜一猜以下词云图的出处来自于哪里。
张俊红
2023/03/21
8380
教你利用Python绘制酷炫的词云图。
手把手教你用Pyecharts库对淘宝数据进行可视化展示
大家好,我是Python进阶者,上个礼拜的时候,我的Python交流群里有个名叫程序的大佬,头像是绿色菜狗的那位,在Python交流群里边的人应该都知道我说的是哪个大佬了,他提供了一份初始淘宝数据,数据乍看上去非常杂乱无章,但是经过小小明大佬的神化处理之后,一秒就变清晰了,真是太神了,然后就有了后续的数据分词处理和可视化等内容了,可能群里的人平时工作太忙,没有来得及看群消息,作为热心的群主,这里给大家整理成一篇文章,感兴趣的小伙伴,可以去实操一下,还是可以学到很多东西的。言归正传,一起来学习下今天的数据分析内容吧。
Python进阶者
2021/08/27
6910
Python带你看不一样的《青春有你2》小姐姐之评论内容可视化
详细介绍和用法可以去github看:https://github.com/fxsjy/jieba,这里不多做介绍,只介绍本次用到的
极简小课
2022/06/27
5770
Python带你看不一样的《青春有你2》小姐姐之评论内容可视化
Python数据挖掘-NLTK文本分析+jieba中文文本挖掘
NLTK的全称是natural language toolkit,是一套基于python的自然语言处理工具集。
用户7886150
2021/01/15
3K0
WordCloud词云图去除停用词的正确方法
之前我们已经学习了如何使用wordcloud制作英文和中文词云,今天我们接着讲解,在实际制作词云中,有很多词是没有展示出的意义的,例如我,他等主语,那如何不显示这些词了,这就涉及到停用词。
罗罗攀
2021/03/04
4.8K0
WordCloud词云图去除停用词的正确方法
利用transformer进行中文文本分类(数据集是复旦中文语料)
和之前介绍的不同,重构了些代码,为了使整个流程更加清楚,我们要重新对数据进行预处理。
西西嘛呦
2020/11/04
4.8K0
利用transformer进行中文文本分类(数据集是复旦中文语料)
关于自然语言处理之one hot模型
最近工作实在有点忙,前阵子关于梯度和导数的事情把人折腾的够呛,数学学不好,搞机器学习和神经网络真是头疼;想转到应用层面轻松一下,想到了自然语言处理,one hot模型是基础也是入门,看起来很简单的一个列表转矩阵、词典的功能,想着手工实现一下,结果看了一下CountVectorizer,发现不是那么回事儿,还是放弃了。
python与大数据分析
2022/03/11
6100
关于自然语言处理之one hot模型
BosonNLP情感词典 评论情感分析[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172431.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/23
1.7K0
推荐阅读
相关推荐
用Python绘制词云:让数据可视化变得生动有趣
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验