# 基于 K-means 算法的校园微博热点话题发现系统
# 1 摘 要
微博由于其“短平快”的信息生产能力和快速传播能力,已经广泛流行于高校学生的日常生活中。但微博上的负面舆情信息给社会、学校和个人带来巨大的危害。由于微博的多而快特点,无法依赖人工对相关信息进行收集、筛选和发掘热点话题。因此研究并开发校园微博热点话题发现系统,对高校舆情工作有重要的意义。
本文从微博独有的短文本特征及国内外相关微博研究出发,通过对校园微博进行分类处理后使用 K-means 聚类算法对校园微博短文本聚类,并改进热度计算公式,通过话题热度提取校园微博热点话题,实现对校园微博热点话题的监控。本文通过几个模块设计并实现了校园微博热点话题发现系统,包括微博数据爬取模块、微博数据预处理模块、微博热点话题分析模块、微博热点话题展示模块等模块。最后以广州中医药大学的生活类微博—广中医 I 栋为研究对象,对校园微博各模块功能及相关技术进行介绍,并对相关模块进行测试验证,分析校园微博热点话题特点,总结系统的优点和不足,提出下一步改进的设想。
关键词: 校园微博 K-means 热点话题
## 1.1 绪论
### 1.1.1 国内外研究现状与意义
随着互联网的快速发展,Internet 已经成为当今时代信息传播的主要途径。据中国互联网络信息中心(CNNIC)发布的第 41 次 [1]《中国互联网络发展状况统计报告》显示我国网民达 7.72 亿,互联网普及率为 55.8%, 而手机网民规模达 7.53 亿,手机网民占比达 97.5%,其中新浪微博月活跃用户达到 3.76 亿。移动互联网的快速发展,使得以新浪微博为首的社交应用平台快速成为信息传播的重要途径。然而,有利就有弊,各种网络负面舆情信息充斥在微博、微信、QQ 等社交平台。对于高校而言,由于微博其具有“短平快”以及传播途径多等特点,已经成为高校学生获取并传播信息的主要途径。
微博是近几年来迅速发展的社交媒体与信息交流平台。用户可以通过该平台发布文本信息、图片、短视频等多媒体信息。因此流行于各大高校,各种校园重大事件或者突发事件都是通过该平台迅速传播出去。但由于微博的使用方式简单,任何人都可以在微博里面传播信息,其中就包括各种虚假新闻、谣言反动等信息的传播,容易造成谣言的滋生和传播,造成恶劣的社会影响。对于高校而言,对学校的声誉造成影响。校园微博作为高校学生传播信息的主要渠道,是热点话题发现必不可少的重要环节。通过发现微博热点话题,及时掌握校园中正在传播或议论的热点话题,并进行正确的舆论引导,可以最大限度控制不良话题的发展。因此,设计实现一套校园微博热点话题发现系统是有意义的,可以作为以后高校舆情管理人员的重要监控工具。
国内外很早就已经有学者研究微博热点话题相关内容。在国外, Jing Guo 等人提出的 Frequent Pattern stream mining 算法 [2],DARPA 发起的话题发现与追踪(TDT)项目 [3],Salton 和 Wong 等人提出的向量空间模型,实现了将文本转化成空间向量的处理 [4],Cataldi M 等人基于时间和社会术语的 Twitter 热点话题检测 [5],F de Villiers 等人提出使用无监督聚类算法构造基于主题的 Twitter 列表,并使用 TF-IDF 等相似度度量算法来评估 K-means 和 AP 聚类算法聚类后的结果,通过 LDA 生成 Twitter 主题列表 [6]。在国内,张东霞基于微博热点话题基础下通过改进相关聚类算法实现一套舆情监控系统 [7],陈彦舟和曹金璇基于微博大数据进行挖掘、分析,实现对舆情热点话题的发现及追踪 [8],张亚男基于 LDA 模型对文本建模并改进 K-means 算法提高了热点话题发现的准确性 [9]。李磊对传统的 K-means 和 BIRCH 聚类方法进行改进,并结合两种算法来发现微博热点话题 [10]。孙胜平提出基于向量空间模型结合 SP&HA 聚类算法用来发现热点话题,并改进 Single-Pass 聚类算法,在最后的话题合并阶段使用改进的凝聚式层次聚类算法,提高话题发现质量 [11]。
### 1.1.2 本文创新点
目前新浪微博平台,已经存在热点话题的发现和推荐功能,但这些功能对校园微博热点发现与舆情监控方面存在不足之处。
校园微博有针对性的舆情监控目的,而微博平台没有提供针对校园微博的热点发现,因此校园微博热点话题发现系统对于高校舆情监控有着关键的意义。本文基于 K-means 聚类算法实现一套校园微博热点话题发现系统,通过改进相关算法等步骤提高了获取热点话题的准确性,并实现可视化界面操作获取微博数据和热点话题等操作,方便舆情人员快速获取舆情热点。
# 2 相关技术介绍
### 2.1 网络爬虫技术
网络爬虫 (web crawler),也叫网络蜘蛛( spider),是一种按照特定规则,用来自动浏览并获取万维网上资源的程序或脚本。网络爬虫程序也是搜索引擎中的重要组成部分。目前网络爬虫主要分为几种类型:通用网络爬虫、主题网络爬虫、增量式网络爬虫、深层网络爬虫。
### 2.2 中文分词技术
中文分词,即是 Chinese Word Segmentation,指的是将汉字序列切分成一个个单独的词。由于计算机无法直接处理自然语言文本,因此需要对微博文本进行分词并构建数据模型,这也是文本挖掘的基础。
中文分词技术属于自然语言处理技术的范畴。目前现有的分词算法有:基于字符串匹配的分词、基于理解的分词和基于统计的分词三大类。
表 2-1 分词优劣对比
| 分词方法 | 字符串匹配分词 | 理解分词 | 统计分词 |
| ---------- | -------------- | -------- | -------- |
| 歧义识别 | 差 | 强 | 强 |
| 新词识别 | 差 | 强 | 强 |
| 需要词典 | 需要 | 不需要 | 不需要 |
| 需要词典 | 否 | 否 | 是 |
| 需要语料库 | 否 | 是 | 否 |
| 需要规则库 | 容易 | 难 | 一般 |
| 算法复杂性 | 成熟 | 不成熟 | 成熟 |
| 技术成熟度 | 容易 | 难 | 一般 |
| 实施难度 | 一般 | 准确 | 较难 |
| 分词准确性 | 快 | 慢 | 一般 |
| 分词速度 | 差 | 强 | 强 |
在实际使用上中文分词技术仍然存在着问题,中文文本不同于英文文本,英文文本单词之间有空格作为分隔符,而中文只有句子,段落有分隔符,因此文本分词要复杂很多。对于微博文本而言,由于存在大量的网络新词,例如围脖、豆你玩、高富帅等新词。这些网络新词、缩略语、谐音词给分词处理带来了新的挑战。
目前中文分词技术已经取得很大的进展,典型的中文分词工具有中科院的汉语词法分析系统 ICTCLAS、SCWS、IKAnalyer、NLPIR、jieba 等。本文的校园微博热点话题发现系统使用的是 jieba 中文分词工具。
### 2.3 特征选择及权重计算
#### 特征选择
特征选择是为了构建模型而选择相关特征子集的过程。特征选择指的是从原始多维数据集合中选取 K 个最有效的特征使系统达到最优化。使用特征选择可以剔除不相关或亢余特征,降低数据集合的维度,提高模型准确性,使得分析特征、训练模型的时间更短。�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
微博由于其“短平快”的信息生产能力和快速传播能力,已经广泛流行于高校学生的日常生活中。但微博上的负面舆情信息给社会、学校和个人带来巨大的危害。由于微博的多而快特点,无法依赖人工对相关信息进行收集、筛选和发掘热点话题。因此研究并开发校园微博热点话题发现系统,对高校舆情工作有重要的意义。 本文从微博独有的短文本特征及国内外相关微博研究出发,通过对校园微博进行分类处理后使用 K-means 聚类算法对校园微博短文本聚类,并改进热度计算公式,通过话题热度提取校园微博热点话题,实现对校园微博热点话题的监控。本文通过几个模块设计并实现了校园微博热点话题发现系统,包括微博数据爬取模块、微博数据预处理模块、微博热点话题分析模块、微博热点话题展示模块等模块。最后以广州中医药大学的生活类微博—广中医 I 栋为研究对象,对校园微博各模块功能及相关技术进行介绍,并对相关模块进行测试验证,分析校园微博热点话题特点,总结系统的优点和不足,提出下一步改进的设想。 关键词: 校园微博 K-means 热点话题
资源推荐
资源详情
资源评论
收起资源包目录
基于 python TF-IDF K-means 算法的校园微博热点话题发现系统 (399个子文件)
bootstrap.css 144KB
bootstrap.css 134KB
bootstrap.min.css 120KB
bootstrap.min.css 111KB
bootstrap-theme.css 26KB
bootstrap-table-group-by.css 24KB
bootstrap-theme.min.css 23KB
bootstrap-theme.css 21KB
docs.min.css 21KB
bootstrap-theme.min.css 19KB
bootstrap-table.css 7KB
styles.css 4KB
sidenav.css 2KB
style.css 1KB
bootstrap-table-reorder-rows.css 819B
bootstrap-table-tree-column.css 582B
bootstrap-table-sticky-header.css 416B
bootstrap-table-multiple-selection-row.css 306B
bootstrap-table-click-edit-row.css 287B
bootstrap-table-group-by.css 215B
bootstrap-table-filter-control.css 190B
bootstrap-table-jumpto.css 148B
bootstrap-table-auto-refresh.css 48B
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
.gitignore 1KB
.gitignore 334B
index.html 3KB
nav.html 3KB
base.html 3KB
analyze.html 3KB
header.html 3KB
display.html 2KB
crawl.html 2KB
sensitive.html 2KB
social-buttons.html 2KB
footer.html 1KB
footer.html 1KB
footer.html 1KB
default.html 1KB
pyecharts.html 865B
footer.html 816B
home.html 402B
login.html 262B
403.html 210B
404.html 189B
500.html 179B
index.html 36B
favicon.ico 5KB
alipay.jpg 96KB
customize.min.js 1.37MB
jquery.js 268KB
bootstrap-table.js 115KB
jquery.min.js 94KB
bootstrap.js 67KB
bootstrap.js 66KB
docs.min.js 42KB
bootstrap.min.js 36KB
bootstrap.min.js 35KB
bootstrap-table-filter-control.js 28KB
bootstrap-table-multiple-sort.js 17KB
bootstrap-table-cookie.js 15KB
d3.layout.cloud.js 14KB
bootstrap-table-accent-neutralise.js 11KB
bootstrap-table-select2-filter.js 10KB
bootstrap-table-toolbar.js 8KB
bootstrap-table-print.js 8KB
bootstrap-table-group-by.js 8KB
bootstrap-table-export.js 7KB
bootstrap-table-group-by.js 7KB
bootstrap-table-reorder-columns.js 6KB
bootstrap-table-sticky-header.js 5KB
bootstrap-table-click-edit-row.js 5KB
bootstrap-table-editable.js 5KB
Gruntfile.js 5KB
bootstrap-table-tree-column.js 5KB
bootstrap-table-multiple-selection-row.js 5KB
sidenav.js 4KB
bootstrap-table-mobile.js 4KB
bootstrap-table-angular.js 4KB
bootstrap-table-treegrid.js 4KB
bootstrap-table-copy-rows.js 3KB
bootstrap-table-reorder-rows.js 3KB
bootstrap-table-multi-toggle.js 3KB
stats.js 3KB
bootstrap-table-auto-refresh.js 3KB
bootstrap-table-multiple-search.js 3KB
bootstrap-table-fr-FR.js 3KB
common.js 3KB
bootstrap-table-key-events.js 3KB
bootstrap-table-uk-UA.js 2KB
bootstrap-table-ru-RU.js 2KB
bootstrap-table-resizable.js 2KB
ie-emulation-modes-warning.js 2KB
bootstrap-table-filter.js 2KB
bootstrap-table-flat-json.js 2KB
bootstrap-table-jumpto.js 2KB
bootstrap-table-es-MX.js 2KB
bootstrap-table-it-IT.js 2KB
bootstrap-table-nl-NL.js 2KB
共 399 条
- 1
- 2
- 3
- 4
甜辣uu
- 粉丝: 8386
- 资源: 1103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
- MyBatis动态SQL.pdf
- 基于stm32单片机protues仿真的温湿度控制系统设计(仿真图、源代码)
- 词向量:自然语言处理的基石
- mybatis动态sql
- 40G微信小程序开发教程(工具插件+视频教程)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页