Python基于词频排序快速挖掘需求大类

news2025/1/2 2:59:37

Python基于词频排序快速挖掘需求大类

作者:虚坏叔叔
博客:https://xuhss.com

早餐店不会开到晚上,想吃的人早就来了!😄

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yOHxu25v-1677813328261)(2007.assets/1.png)]

一、所有的代码

这是所有的代码

from collections import defaultdict
import jieba.posseg as jp

with open('keyword.txt','r',encoding='utf-8') as file:
	keyword_list = file.read().split('\n')

not_flag = set(['w','x','y','z','un','m'])
not_word = set(['的','是','有','啊','呢','么','好'])

keyword_split = dict()
word_count = defaultdict(int)
for keyword in keyword_list:
	word_set = set()
	for word,flag in jp.cut(keyword):
		if flag in not_flag:
			continue
		if word in not_word:
			continue
		if word == 'pdf' or word == 'PDF':
			continue

		word_count[word] += 1
		word_set.add(word)

	keyword_split[keyword] = word_set

id_keyword_list = defaultdict(list)
id_count = defaultdict(int)
for keyword,word_set in keyword_split.items():
	word_sort = dict()
	for word in word_set:
		word_sort[word] = word_count[word]

	word_sort = sorted(word_sort.items(),key=lambda x:x[1],reverse=True)
	word_id = ','.join([word for word,count in word_sort[0:3]])

	id_keyword_list[word_id] += [keyword]
	id_count[word_id] += 1

result = []
id_count = sorted(id_count.items(),key=lambda x:x[1],reverse=True)
for word_id,count in id_count:
	if count < 3:
		continue
	for keyword in id_keyword_list[word_id]:
		result.append('%s\t%s' % (keyword,word_id))
	result.append('')

with open('result.txt','wb') as file:
	file.write('\n'.join(result).encode('utf-8'))

二、实现的效果

keyword.txt如下图:

有50万的关于pdf的关键词数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AKB02rAM-1677813328262)(2007.assets/image-20230303104426170.png)]

最后的输出result.txt 就是将里面的含有关键词相同的句子统一输出出来:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X7Ir6o4b-1677813328262)(2007.assets/image-20230303104618885.png)]

这里会将一个句子的3个关键词输出出来 关键词是根据词频排序的。

最后将所有关键词一样的句子组合在一起,就可以知道这些句子表达的意思大致一致

三、代码解读

keyword_list 是从keyword.txt读取到的所有的句子

not_flag 是要排除的标记,不统计这些标记

not_word 是要排除的单词,不统计这些单词

keyword_split 是句子对应到他的所有单词的字典,key是句子,value是他的所有单词的集合

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I4YUd95w-1677813328263)(2007.assets/image-20230303110731460.png)]

word_count 是所有的拆分后的单词的次数的字典,key是单词,value是单词出现的次数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PyubuemM-1677813328263)(2007.assets/image-20230303110716066.png)]

id_keyword_list 是一个字典,它的key是一个字符串 value是列表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iVKE3Mip-1677813328263)(2007.assets/image-20230303111114690.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6IvIdGpN-1677813328264)(2007.assets/image-20230303111153304.png)]

id_count 是一个字典,它的key是一个字符串,value是int

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SpjPT46B-1677813328264)(2007.assets/image-20230303111135264.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wmi3xeVR-1677813328264)(2007.assets/image-20230303110951802.png)]

最后对id_count处理 将结果输出出来

id_count = sorted(id_count.items(), key=lambda x: x[1], reverse=True)
for word_id, count in id_count:
    if count < 3:
        continue
    for keyword in id_keyword_list[word_id]:
        result.append('%s\t%s' % (keyword, word_id))
    result.append('')

四、代码和配套文件下载地址

https://download.csdn.net/download/huangbangqing12/87526844

总结

  • 本文主要介绍jieba的基础用法。
  • 如果觉得文章对你有用处,记得 点赞 收藏 转发 一波哦,博主也支持为铁粉丝制作专属动态壁纸哦~

💬 往期优质文章分享

  • C++ QT结合FFmpeg实战开发视频播放器-01环境的安装和项目部署
  • 解决QT问题:运行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:
  • 解决安装QT后MSVC2015 64bit配置无编译器和调试器问题
  • Qt中的套件提示no complier set in kit和no debugger,出现黄色感叹号问题解决(MSVC2017)
  • Python+selenium 自动化 - 实现自动导入、上传外部文件(不弹出windows窗口)

🚀 优质教程分享 🚀

  • 🎄如果感觉文章看完了不过瘾,可以来我的其他 专栏 看一下哦~
  • 🎄比如以下几个专栏:Python实战微信订餐小程序、Python量化交易实战、C++ QT实战类项目 和 算法学习专栏
  • 🎄可以学习更多的关于C++/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
学习路线指引(点击解锁)知识定位人群定位
🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战 💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
❤️ C++ QT结合FFmpeg实战开发视频播放器❤️难度偏高分享学习QT成品的视频播放器源码,需要有扎实的C++知识!
💚 游戏爱好者九万人社区💚互助/吹水九万人游戏爱好者社区,聊天互助,白嫖奖品
💙 Python零基础到入门 💙Python初学者针对没有经过系统学习的小伙伴,核心目的就是让我们能够快速学习Python的知识以达到入门

🚀 资料白嫖,温馨提示 🚀

关注下面卡片即刻获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/386158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为机试题:HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序(python)

文章目录&#xff08;1&#xff09;题目描述&#xff08;2&#xff09;Python3实现&#xff08;3&#xff09;知识点详解1、input()&#xff1a;获取控制台&#xff08;任意形式&#xff09;的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

数字信息-数字编码挂钩法

一、前方无路&#xff0c;一切才刚开始0呼啦圈 1蜡烛2鹅 3金元宝4青龙5钩子6哨子 7七仙女8八卦镜9药酒二、少年中国说看到“1”想到“树”&#xff0c;想到“树”&#xff0c;想到“智慧树”&#xff0c;再想到“少年智则国智”看到“2”想到“鸭子”&#xff0c;想到“鸭子”&…

基于 centos7 搭建 laravel+scout+elasticsearch+ik-analyzer 用于中文分词全文检索服务及测试

目录基于 centos7 搭建 laravelscoutelasticsearchik-analyzer 用于中文分词全文检索服务及测试相关软件及版本安装或升级jdk&#xff08;版本&#xff1a;19.0.2&#xff09;安装es&#xff08;版本&#xff1a;8.1.1&#xff09;安装ik-analyzer&#xff08;版本&#xff1a;…

transformer目标检测开山之作detr

1. 将一个batch的图片输入backone获得feature。 &#xff08;2&#xff0c;c&#xff0c;w&#xff0c;h&#xff09;先输入resnet50中&#xff0c;得到&#xff08;2&#xff0c;2048&#xff0c;w&#xff0c;h&#xff09;。虽然这里channel不是256&#xff0c;但是在输入e…

pg mysql oracle 中的schema

1、schema。 pg中的schema表示当前db中数据库对象的命名空间(namespace)&#xff0c;数据库对象包括但不限于表、函数、视图、索引等。 对于熟悉mysql的人来说&#xff0c;在第一次看到pg中的schema的概念时&#xff0c;可能会疑惑&#xff0c;schema不是表示database的吗&…

如何使用码匠连接 Elasticsearch

目录 在码匠中集成 Elasticsearch 在码匠中使用 Elasticsearch 关于码匠 Elasticsearch 是一个开源的分布式搜索和分析引擎&#xff0c;常用于处理大规模数据集的搜索、实时数据分析和数据挖掘任务。它支持多种数据源&#xff0c;包括关系型数据库&#xff08;如 MySQL、Pos…

不想重写Dockerfile如何更改docker容器的挂载目录

一、问题 从网络上下载的很多Dockerfile或docker-compose文件进行启动容器的时候&#xff0c;部分重要的目录是依赖volumes挂载到容器内部的&#xff0c;如图 这就会出现一个问题&#xff0c;当我们想将容器打包&#xff0c;便于以后使用的时候&#xff0c;这部分挂载的文件是…

ArcGIS中地形渲染图制作技巧

01 概述 DEM数据作为GIS数据中常见的一种数据&#xff0c;经常都会使用到&#xff0c;除了用来生成等高线、高程点和做各种分析之外&#xff0c;生成地形渲染图也是常见的用途之一&#xff0c;这里给大家介绍一下ArcGIS中地形渲染图制作技巧&#xff0c;希望能够对大家有所帮…

领英开发外贸客户新方式—领英精灵

一、领英精灵是什么&#xff1f; 领英精灵是在LinkedIn领英这个全球最大的职业社交平台基础上研发出的一款工具软件&#xff0c;领英精灵最初研发定位是帮助那些想要在LinkedIn领英上挖掘开发客户需求的人群使用&#xff0c;但他的功能又不仅仅局限于外贸行业。干一行说一行&a…

Java知识复习(十一)RabbitMQ

1、RabbitMQ简介 RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Protocol&#xff0c;高级消息队列协议&#xff09;的消息中间件 2、RabbitMQ核心概念 RabbitMQ 整体上是一个生产者与消费者模型&#xff0c;主要负责接收、存储和转发消息 3、Producer和…

Zookeeper3.5.7版本——集群部署(linux环境-centos7)

目录一、三台服务器信息二、Zookeeper3.5.7官网下载2.1、官网下载地址2.2、下载步骤三、三台服务器都安装jdk11&#xff08;Zookeeper需要jdk支持&#xff09;四、Zookeeper3.5.7集群部署4.1、centos7虚拟机1 &#xff08;192.168.136.27&#xff09;服务器安装步骤4.1.1、解压…

day23_多线程基础

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、进程与线程 三、创建线程 四、线程的API 五、线程状态 六、线程同步 零、 复习昨日 晨考 一、作业 见答案 二、进程与线程[了解] 一个进程就…

上海分时电价机制调整对储能项目的影响分析

安科瑞 耿敏花 2022年12月16日&#xff0c;上海市发改委发布《关于进一步完善我市分时电价机制有关事项的通知》(沪发改价管〔2022〕50号)。通知明确上海分时电价机制&#xff0c;一般工商业及其他两部制、大工业两部制用电夏季&#xff08;7、8、9月&#xff09;和冬季&#x…

MyBatis底层原理【源码运行时序图】

MyBatis初始化流程&#x1f6f7; 以下代码为例&#x1f389; &#x1f387;可对应源码阅读 MyBatis初始化流程✨ #mermaid-svg-yoG1e8Dnp3UIAOUW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-yoG1e8Dnp3UIAOU…

robotframework 常用关键字

ctrl shift 空格&#xff1a;自动补全关键字 F5&#xff1a;搜索关键字 F8&#xff1a;执行用例 ctrl shift s&#xff1a;保存整个工程 ctrl r&#xff1a;查看报告 ctrl 鼠标悬浮&#xff1a;显示关键字的信息 ctrl #&#xff1a;屏蔽代码 ctrl $&#xff1a;…

4-spring篇

ApplicationContext refresh的流程 12个步骤 prepareRefresh 这一步创建和准备了Environment对象&#xff0c;并赋值给了ApplicationContext的成员变量 要理解Environment对象的作用 obtainFreshBeanFactory ApplicationContext 里面有一个成员变量&#xff0c;Beanfactory b…

Navicat 现已支持 OceanBase 全线数据库产品

Navicat 作为 OceanBase 生态工具的合作伙伴&#xff0c;这是双方产品适配第三个里程碑。2022 年 7 月的首个里程碑&#xff0c;Navicat 实现了 OceanBase 社区版的功能性兼容。同年10 月&#xff0c;进一步实现了针对 OceanBase 企业版&#xff08; 兼容 MySQL 模式&#xff0…

一文图解|I/O 调度层

当我们使用 read() 和 write() 系统调用向内核提交读写文件操作时&#xff0c;内核并不会立刻向硬盘发送 I/O 请求&#xff0c;而是先将 I/O 请求交给 I/O 调度层进行排序和合并处理。经过 I/O 调度层加工处理后&#xff0c;才会将 I/O 请求发送给块设备驱动进行最终的 I/O 操作…

【强烈建议收藏:MySQL面试必问系列之慢SQL优化专题】

一.知识回顾 学习本篇文章之前呢&#xff0c;我们可以先看一下【强烈建议收藏:MySQL面试必问系列之SQL语句执行专题】&#xff0c;看完这篇文章再来学习本篇文章可谓是如虎添翼。好的&#xff0c;那我们也不讲太多的废话&#xff0c;直接开始。 二.如何做慢SQL查询优化呢&…

《uniapp基础知识》学习笔记Day38-(Period2)全局文件一些常用的配置

如果进行开发的话&#xff0c;首先要配置路由页面 page.json 页面路由 pages.json 文件用来对 uni-app 进行全局配置&#xff0c;决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。 {"pages": [{"path": "pages/component/index…