微博的热点话题提取与跟踪(下)
微博的热点话题提取与跟踪(下)[20200111200611]
微博作为一个基于用户的信息分享和传播交流的平台,简短和快捷的内容已经受到人们的钟爱。随着用户的增加,微博信息数量以TB量级不断增加。微博信息中含有大量热点信息,如何从海量微博信息中提取对社会有用的热点话题及对话题发展趋势跟踪便成了一大难题 本文重点研究了基于海量微博把文本向量进行热点话题的提取与跟踪算法研究,将海量文本向量集文本聚类成若干簇,舍弃小簇类,利用大类别得到热点话题。论文中利用TF-IDF得到关键词的权重,利用K均值算法进行微博向量集的分类,舍弃小类别,最后利用动名词结构构建了类别主题。 关键词 热点话题,提取与跟踪,类别,聚类,K均值
话题的类型丰富,但存在个性化差异[1]。舆情热点话题的传播过程主要经过了潜伏期、爆发期、蔓延期、反复期、缓解期和长尾期六个阶段[2]。因而热门话题的研究具有很大的现实意义,不仅可以使人们了解当前发生的热门事件,同时也为公众提供交流和发布想法的平台。尽管现在很多的大型交流平台也有话题推荐的功能提供,但是这些话题有可能就是进行统计关键词的结果,只是简单的计算,所以需要改进获得热门话题的更好的算法技术。
本次毕业设计,所用到的是C#开发语言,基于B/S架构开发的系统,虽然对新浪微博开发平台没有太多了解,但是新浪微博开发者平台已经为我们提供了大量的API接口,很多源代码都已经提供给我们了,对于提取话题的聚类分析算法也可以通过参考文献和资料查阅得到,只需要实践尝试选择合适的算法;在实现话题跟踪和统计话题部分,是通过调用API来获得数据,以及匹配数据库中的关键词。这些都是可以通过学习得到的,所以在技术上是可行的。
在话题提取处理的第一步,需要对关键词计算它的词权重,包括词频和逆文档频率的计算,这就是TF-IDF的概念。这边需要掌握词频和逆文档频率的原理,对于词频,是一个关键词在文档中出现的次数,为了避免长短文档结果的不一致,就做了归一化处理。即用关键词出现的次数除以这个文档的关键词的总个数。
在所有关键词权重计算结束后,需要对每个文档的空间向量进行计算,这边的思想主要是构建相似度矩阵。本文中采用余弦定理来实现向量模型中的相似度计算,每个文本的关键词的权重值就是构成向量分值的,所以这样计算得到的结果就是文档之间的相似度。
在话题提取的最后,需要对信息提供一个话题名称。如果只选择出现频率高的词语来代表话题是比较局限的,话题名称是有语法结构的,是需要语法树来构建的。而语法树中每个节点是一个关键词,并且包括关键词的内容、词性以及权重。其中, *查看完整论文请+Q: 351916072
关键字:内容以及词性是用来拼接话题名称,而权重是用来判断最终选择路径的。
目 录
1 绪论 1
1.1 研究的背景及意义 1
1.2 课题的国内外现状 1
1.3 课题的可行性分析 2
1.4 研究内容 3
2 开发技术与系统架构 4
2.1 开发平台 4
2.2 后台数据库 4
2.3 开发语言 4
2.4 开发架构 4
2.5 主要使用的技术 5
3 需求分析 5
3.1 功能需求分析 5
3.2 非功能性需求分析 12
4 系统设计 13
4.1 系统总体框架 13
4.2 模块介绍 13
4.3 详细设计 15
5 数据库设计 21
5.1 概念模型设计 21
5.2 物理模型设计 22
6 系统实现 23
6.1 话题提取模块 23
6.2 话题跟踪模块 25
7 测试 26
7.1 测试准则与方法 26
7.2 模块功能测试 27
7.3 结果分析 27
结 论 28
致 谢 29
参 考 文 献 30
附 录 A 31
1 绪论
1.1 研究的背景及意义
随着信息技术的发展,信息越来越丰富,几乎称得上是浩如烟海。信息时代的数据大多以文本信息居多,其次最多的是图片、flash等影音文件。在信息时代,每个人都是数据产生者,人们周围的信息越来越多。信息量增多了,如何有效地利用这么庞大的数据变成了最近热门的研究话题。
微博中的文本信息量巨大,当微博数据越来越多时,对微博进行阅读和分析就越来越困难,并且,信息内容可能会不断更新,信息量不断增多,这使得问题更加复杂。各类平台中,微博数量与其用户数量之间是成正比关系的,随着用户数量的不断增加中,微博信息数量成爆炸式增长,垃圾信息的数量也逐步增加。这些垃圾信息影响着用户对信息的查看与理解,当用户有需要时,例如,查看最新的关于某个话题的微博时,他需要阅读大量的话题,剔除大量的垃圾信息,才能获取他所需要的有用的信息。垃圾信息过多,用户很难获取当前的热点话题。热点话题是指某时间段内,大量用户参与讨论的,持续时间不短的相关信息数量很多的事件或者观念。与新闻中热点话题相似,微博信息的热门话题包含有大量的相关文本。但是,单条消息涉及多个话题的情况是比较少见的,这是微博信息的特性所决定的,字数有限,能够表达的信息量是不多的,因此,当用户需要讨论其他话题时,他可以另外发布消息进行讨论,这样更具有直观性。
1.2 课题的国内外现状
当前,存在的话题发现算法可以被广泛的分成两大类:以文本为中心的方法和以特性为中心的方法。前一种方法主要根据文档的语义距离进行聚类分析[3]。
在国外,何其通过离散傅里叶变换(Discrete Fourier Transformation, DFT)将时间域信号转换成频域信号[4],因时间域中的一个突发对应频域的一个尖峰信号。然而, 当发生爆发生时DFT无法找到的时间,这个话题发现中的一个重点难点,何其通过高斯混合模型解决了这个问题。
在国内,邱立坤等人对出现在BBS的标题、首贴、回帖、正文中出现的词语的重要性不同的考虑的基础上,对传统的向量空间模型进行改进,在聚类的时候采用了非增量的单遍聚类(Single-Pass)算法,将各个话题中平均相似度最高的帖子线索的标题当作该话题的标题,然后根据BBS特有的回复数和点击数进行热度排序,之后采用基于标题特征词进行提取的话题归并方法,对不同视角是同一主题的话题进行归并。
1.3 课题的可行性分析
系统开发的前期工作一定是做好充足的可行性分析,可行性分析可以从技术,经济和法律等方面进行。
1) 技术可行性
2) 经济可行性
对于本课题的实现,硬件条件上只需要一台电脑,软件配置上也只需要安装VS 2010和SQL Server 2005,对于系统的运行上需要网络,这可以在配置网络的地方实现,其他的并没有什么额外的费用支出,况且这本来就是一个探索型的课题,只是为了锻炼自己的能力,检验自己大学的学习的成果以及自己的动手能力。所以在经济的成本上是可行的。
3) 法律可行性
说到法律可行性,其实都无需说太多,这样一款软件,本来就是一款探索学习型软件,对社会对大众是没有任何危害的,国家也鼓励大学生进行学术性实践性探索。所以在法律上是可行的。
1.4 研究内容
1.4.1 功能点
本课题主要的功能点包含话题提取和话题跟踪。其中话题提取部分包含三个子功能:聚类分析,就是先对分词的结果采用TF-IDF词权重的计算方法,分别得到权重值,然后对文本提取的特征词和权重处理成向量后,采用K均值的算法进行相似度的比较,将不同的微博内容分到不同的簇中。话题产生,是基于聚类后的簇从中提取到话题,即能代表簇的词语组合。热度分析功能,就是对之前的话题产生模块实现得到的部分话题,对每个话题的热度通过公式计算出来,并按顺序显示在页面中[5]。
话题跟踪部分是针对话题数据表中存在的话题,提取新的微博内容,筛选掉不属于时间区间内的微博,匹配是否有更新。如果有对应话题的内容更新,就提示并显示更新的话题和对应的微博内容。并且将对应话题的更新标识IsUpdate累加,最终在统计话题的界面显示。
1.4.2 难点
1) TF-IDF[6]
2) 相似度计算[7]
3) K均值算法
这边采用对于给定的包含n个对象的数据结合,基于划分思想的聚类分析主要是将其化成k个内部对象之间相似度高的相对小的数据结合,也就是簇。划分后的簇是受一定限制的,空的或者无数据集的对象不可能是簇,它至少包含一个数据对象,多则可能包含所有的数据对象。在将数据对象划分到已知的对象集合中时,需要一个判定标准,一般会采用相似度或者是距离作为标准,将数据对象划分到与其最相近的或者距离最近的对象集中去。这是K均值的主要思想。
4) 话题语法树
2 开发技术与系统架构
2.1 开发平台
本文中介绍的开发平台是Visual Studio 2010,系统是基于ASP.NET实现的。 Visual Studio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010支持Microsoft SQL Server,还支持 IBM和Oracle数据库。
微博作为一个基于用户的信息分享和传播交流的平台,简短和快捷的内容已经受到人们的钟爱。随着用户的增加,微博信息数量以TB量级不断增加。微博信息中含有大量热点信息,如何从海量微博信息中提取对社会有用的热点话题及对话题发展趋势跟踪便成了一大难题 本文重点研究了基于海量微博把文本向量进行热点话题的提取与跟踪算法研究,将海量文本向量集文本聚类成若干簇,舍弃小簇类,利用大类别得到热点话题。论文中利用TF-IDF得到关键词的权重,利用K均值算法进行微博向量集的分类,舍弃小类别,最后利用动名词结构构建了类别主题。 关键词 热点话题,提取与跟踪,类别,聚类,K均值
话题的类型丰富,但存在个性化差异[1]。舆情热点话题的传播过程主要经过了潜伏期、爆发期、蔓延期、反复期、缓解期和长尾期六个阶段[2]。因而热门话题的研究具有很大的现实意义,不仅可以使人们了解当前发生的热门事件,同时也为公众提供交流和发布想法的平台。尽管现在很多的大型交流平台也有话题推荐的功能提供,但是这些话题有可能就是进行统计关键词的结果,只是简单的计算,所以需要改进获得热门话题的更好的算法技术。
本次毕业设计,所用到的是C#开发语言,基于B/S架构开发的系统,虽然对新浪微博开发平台没有太多了解,但是新浪微博开发者平台已经为我们提供了大量的API接口,很多源代码都已经提供给我们了,对于提取话题的聚类分析算法也可以通过参考文献和资料查阅得到,只需要实践尝试选择合适的算法;在实现话题跟踪和统计话题部分,是通过调用API来获得数据,以及匹配数据库中的关键词。这些都是可以通过学习得到的,所以在技术上是可行的。
在话题提取处理的第一步,需要对关键词计算它的词权重,包括词频和逆文档频率的计算,这就是TF-IDF的概念。这边需要掌握词频和逆文档频率的原理,对于词频,是一个关键词在文档中出现的次数,为了避免长短文档结果的不一致,就做了归一化处理。即用关键词出现的次数除以这个文档的关键词的总个数。
在所有关键词权重计算结束后,需要对每个文档的空间向量进行计算,这边的思想主要是构建相似度矩阵。本文中采用余弦定理来实现向量模型中的相似度计算,每个文本的关键词的权重值就是构成向量分值的,所以这样计算得到的结果就是文档之间的相似度。
在话题提取的最后,需要对信息提供一个话题名称。如果只选择出现频率高的词语来代表话题是比较局限的,话题名称是有语法结构的,是需要语法树来构建的。而语法树中每个节点是一个关键词,并且包括关键词的内容、词性以及权重。其中, *查看完整论文请+Q: 351916072
关键字:内容以及词性是用来拼接话题名称,而权重是用来判断最终选择路径的。
目 录
1 绪论 1
1.1 研究的背景及意义 1
1.2 课题的国内外现状 1
1.3 课题的可行性分析 2
1.4 研究内容 3
2 开发技术与系统架构 4
2.1 开发平台 4
2.2 后台数据库 4
2.3 开发语言 4
2.4 开发架构 4
2.5 主要使用的技术 5
3 需求分析 5
3.1 功能需求分析 5
3.2 非功能性需求分析 12
4 系统设计 13
4.1 系统总体框架 13
4.2 模块介绍 13
4.3 详细设计 15
5 数据库设计 21
5.1 概念模型设计 21
5.2 物理模型设计 22
6 系统实现 23
6.1 话题提取模块 23
6.2 话题跟踪模块 25
7 测试 26
7.1 测试准则与方法 26
7.2 模块功能测试 27
7.3 结果分析 27
结 论 28
致 谢 29
参 考 文 献 30
附 录 A 31
1 绪论
1.1 研究的背景及意义
随着信息技术的发展,信息越来越丰富,几乎称得上是浩如烟海。信息时代的数据大多以文本信息居多,其次最多的是图片、flash等影音文件。在信息时代,每个人都是数据产生者,人们周围的信息越来越多。信息量增多了,如何有效地利用这么庞大的数据变成了最近热门的研究话题。
微博中的文本信息量巨大,当微博数据越来越多时,对微博进行阅读和分析就越来越困难,并且,信息内容可能会不断更新,信息量不断增多,这使得问题更加复杂。各类平台中,微博数量与其用户数量之间是成正比关系的,随着用户数量的不断增加中,微博信息数量成爆炸式增长,垃圾信息的数量也逐步增加。这些垃圾信息影响着用户对信息的查看与理解,当用户有需要时,例如,查看最新的关于某个话题的微博时,他需要阅读大量的话题,剔除大量的垃圾信息,才能获取他所需要的有用的信息。垃圾信息过多,用户很难获取当前的热点话题。热点话题是指某时间段内,大量用户参与讨论的,持续时间不短的相关信息数量很多的事件或者观念。与新闻中热点话题相似,微博信息的热门话题包含有大量的相关文本。但是,单条消息涉及多个话题的情况是比较少见的,这是微博信息的特性所决定的,字数有限,能够表达的信息量是不多的,因此,当用户需要讨论其他话题时,他可以另外发布消息进行讨论,这样更具有直观性。
1.2 课题的国内外现状
当前,存在的话题发现算法可以被广泛的分成两大类:以文本为中心的方法和以特性为中心的方法。前一种方法主要根据文档的语义距离进行聚类分析[3]。
在国外,何其通过离散傅里叶变换(Discrete Fourier Transformation, DFT)将时间域信号转换成频域信号[4],因时间域中的一个突发对应频域的一个尖峰信号。然而, 当发生爆发生时DFT无法找到的时间,这个话题发现中的一个重点难点,何其通过高斯混合模型解决了这个问题。
在国内,邱立坤等人对出现在BBS的标题、首贴、回帖、正文中出现的词语的重要性不同的考虑的基础上,对传统的向量空间模型进行改进,在聚类的时候采用了非增量的单遍聚类(Single-Pass)算法,将各个话题中平均相似度最高的帖子线索的标题当作该话题的标题,然后根据BBS特有的回复数和点击数进行热度排序,之后采用基于标题特征词进行提取的话题归并方法,对不同视角是同一主题的话题进行归并。
1.3 课题的可行性分析
系统开发的前期工作一定是做好充足的可行性分析,可行性分析可以从技术,经济和法律等方面进行。
1) 技术可行性
2) 经济可行性
对于本课题的实现,硬件条件上只需要一台电脑,软件配置上也只需要安装VS 2010和SQL Server 2005,对于系统的运行上需要网络,这可以在配置网络的地方实现,其他的并没有什么额外的费用支出,况且这本来就是一个探索型的课题,只是为了锻炼自己的能力,检验自己大学的学习的成果以及自己的动手能力。所以在经济的成本上是可行的。
3) 法律可行性
说到法律可行性,其实都无需说太多,这样一款软件,本来就是一款探索学习型软件,对社会对大众是没有任何危害的,国家也鼓励大学生进行学术性实践性探索。所以在法律上是可行的。
1.4 研究内容
1.4.1 功能点
本课题主要的功能点包含话题提取和话题跟踪。其中话题提取部分包含三个子功能:聚类分析,就是先对分词的结果采用TF-IDF词权重的计算方法,分别得到权重值,然后对文本提取的特征词和权重处理成向量后,采用K均值的算法进行相似度的比较,将不同的微博内容分到不同的簇中。话题产生,是基于聚类后的簇从中提取到话题,即能代表簇的词语组合。热度分析功能,就是对之前的话题产生模块实现得到的部分话题,对每个话题的热度通过公式计算出来,并按顺序显示在页面中[5]。
话题跟踪部分是针对话题数据表中存在的话题,提取新的微博内容,筛选掉不属于时间区间内的微博,匹配是否有更新。如果有对应话题的内容更新,就提示并显示更新的话题和对应的微博内容。并且将对应话题的更新标识IsUpdate累加,最终在统计话题的界面显示。
1.4.2 难点
1) TF-IDF[6]
2) 相似度计算[7]
3) K均值算法
这边采用对于给定的包含n个对象的数据结合,基于划分思想的聚类分析主要是将其化成k个内部对象之间相似度高的相对小的数据结合,也就是簇。划分后的簇是受一定限制的,空的或者无数据集的对象不可能是簇,它至少包含一个数据对象,多则可能包含所有的数据对象。在将数据对象划分到已知的对象集合中时,需要一个判定标准,一般会采用相似度或者是距离作为标准,将数据对象划分到与其最相近的或者距离最近的对象集中去。这是K均值的主要思想。
4) 话题语法树
2 开发技术与系统架构
2.1 开发平台
本文中介绍的开发平台是Visual Studio 2010,系统是基于ASP.NET实现的。 Visual Studio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010支持Microsoft SQL Server,还支持 IBM和Oracle数据库。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/3199.html