python实战(十三)——基于Bert+HDBSCAN的微博热搜数据发掘

[复制链接]
发表于 2025-11-13 03:58:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、使命目的

         众所周知,微博热搜险些是很多网友的紧张消息泉源,上面及时更新着当前最新的社会消息,当时效性以致比天天晚上播出的消息联播还要强。这篇文章,我们使用来自Kaggle的《MicroBlog-Hot-Search-Labeled》数据集,对此中的热搜词条文本举行探索性分析,不思量源数据会合每条文本所带有的标签,通过无监督的方式发掘一下热搜文本中所包罗的有效信息。这一使命需求雷同于我们工作中所碰到的各种除了文本之外没有任何其他的辅助信息的数据集,而NLP技能则给了我们本领在如许的数据中去发掘出有代价的东西。比方在这个微博热搜词条数据中,我们可以举行热门发掘的工作,在云云多条热搜数据中发掘一些热门主题。
二、建模流程

1、数据集读取

         起首,我们读取数据集看看数据长什么样。
  1. import pandas as pd
  2. df = pd.read_csv('weibo-hot-searchlabeled/weibo-hot-search-labeled.csv')
  3. print('数据量:', len(df))
  4. print(df.info())
  5. df.head()
复制代码

         可以看到,数据团体上没有空值,统共是6000多条词条。下面的实验我们只须要使用“热搜词条”列的全部文本数据。
2、数据可视化分析

         对于一份完全未知的文本数据集,要想通过数据分析方法来深度相识它,我们可以睁开以下思绪的探索:(1)统计文本长度信息,如最大/最小/匀称长度以及长度分布图;(2)对文本举行分词并制作词云图;(3)假如是跨语种数据集,还可以举行语种分布的可视化分析。
(1)文本长度信息

         这里,我们对文本长度信息举行可视化。透过可视化效果可以看到,大部门热搜词条的长度都在8-12个汉字之间。可以预见的是,这种长度的文本还是可以大概发掘出不少语义信息的,假如大量的文本长度都在2-3个字,那么如许的文本数据集险些很惆怅出什么有效的结论。
  1. import matplotlib.pyplot as plt
  2. import collections
  3. length = [len(li) for li in text]
  4. print('Max length:', max(length))
  5. print('Min length:', min(length))
  6. print('Mean length:', sum(length)/len(length))
  7. # 对不同的长度值进行计数统计
  8. counter = collections.Counter(length)
  9. counter = list(counter.items())
  10. counter.sort(key=lambda x: x[0])
  11. # 每一个长度值
  12. counter_length = [li[0] for
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表