微博的热点话题提取与跟踪(上)(源码)
同时,这边需要做一个发送微博的功能,因为后面的话题跟踪测试需要用到这块,不然在段时间之内,一类话题信息是不会更新的,只能通过人工的方式模拟。此外,另一个部分是信息的分词,本系统中,采用的是正向和逆向分词,都属于机械分词的方法,通过正向和逆向的对比,比较其结果的差异性,最终还需要去除停用词,以及对词的词性进行分类,尽可能的筛选出名词,动词等。最终将得到的关键词写入数据库,方便后面关键词的聚类分词以及话题提取与跟踪。以下介绍歧义介绍。目 录
1 引言 1
1.1 课题背景 1
1.2 课题意义 1
1.3 课题研究现状 1
1.4 课题研究内容 3
2 系统的综合需求 4
2.1 功能性能需求 4
2.2 环境要求 5
2.3 开发技术 5
3 可行性分析 6
3.1 技术可行性 6
3.2 经济可行性 6
3.3 法律可行性 6
4 需求分析 6
4.1 数据字典 6
4.2 数据流图 9
5 系统设计 10
5.1 系统功能模块图 10
5.2 数据表设计 11
5.3 实体图 12
6 详细设计 12
6.1 系统处理流程 12
6.2 微博信息抓取 14
6.3 FMM算法 15
6.4 BMM算法 16
6.5 界面设计 16
7 测试用例 20
7.1 登录模块 20
7.2 发送微博模块 20
7.3 分词模块 21
7.4 新闻筛选模块 22
总 结 23
致 谢 24
参 考 文 献 25
附 录 A 26
1 引言
1.1 课题背景
随着计算机技术的不断发展,这时候人们的生活也在发生日新月异的变化。计算机技术为人们的生活带来了很大的便利,体现在方方面面,比如人们可以上网,聊天,查看朋友圈等等。其实这些都是计算机技术的应用,根据移动互联网传播领域的“3-周期传播原理”[1-2],仿佛拉近了人与人之间的距离,同时也增加了人们的交流,更进一步说这些聊天的方式就是对数据的处理。说到这边,不得不提及到微博,微博的用户量已经超过了5亿,所以管理起来也越来越麻烦,对于开发者的要求也越来越高,特别是面对越来越多的新闻话题信息,虽然现在能够方便的查看各大热门话题信息[3],但是对于热门话题的提取与跟踪这块还不是太完善。所以借助本次毕业设计的机会,我们将尝试对微博的热点话题进行提取与跟踪,我们大概先把功能分为两大块,一个是提取,另一个是跟踪,我主要负责的是提取,分词部分和新闻筛选部分。本次毕业设计主要利用的开发平台是.NET FrameWork4.0,利用的开发语言是C#,使用的数据库是SQL2005。
1.2 课题意义
对于微博的信息进行提取,能够有效帮助用户筛选出自己想要的信息,通过开发者的努力,帮助更多的用户过滤掉一些无用,甚至是垃圾信息。对信息进行分词,能够在一段文本信息中提取出比较重要的几个关键词,从而来组成话题,使人们一看标题就能够知道一段文字的表达主题,所以分词算法的选择显得尤为重要,以及分词字典的全面性更加重要。如果没有一个好的分词算法,就获取不到一段文本中的关键词,不仅如此,对于初步分词的结果,还要用去除停用词,提取出名词,动词等信息,因为这样才能够为后面话题的提取提高效率。话题的跟踪可以使人们持续关注到一件事情的发展动态,对于自己感兴趣的话题信息,能够长时间了解到其发展状况。传播主要经过了潜伏期、爆发期、蔓延期、反复期、缓解期和长尾期六个阶段[4]。
1.3 课题研究现状
对于微博信息的提取,只要拥有一个微博的账号,成为其开发平台的开发者,申请一个对应的应用,比如网站应用,就可以调用其api文档中的相关函数,这边的技术已经相对比较成熟,对于不同语言的开发包,都有一些与之对应的demo,所以在信息抓取这一块,实现起来难度不是太大。
分词算法的定义就是,通过一些编程算法,让计算机能够识别出哪些是词,哪些不是词,从而提高中文信息处理的效率。自从人们提出中文短信分词这个概念以来,很多的专家学者为此付出了太多太多的努力与艰辛。
中文分词研究的初级阶段,人们对中文分词的实际操作性有不同的看法:有人认为根据汉语词汇的声韵进行分词,有人认为使用MM算法才是最佳解决方案;还有人认为,中文短信分词是走不通的;当然,也有很多人认为中文分词是大势所趋,未来的发展一定要依靠中文分词,人们也做了很多努力。纵观前辈们的想法,第一种显然没有把握到中文分词的难度,第二种关键比较现实,他是更多的考虑到了中文分词的歧义性问题,可能会想既然连人工都不易做好的事情,计算机更加不能完成。
在具体实施的阶段进行了大量研究,同时也得出了很多分词算法[5],例如:FMM方法、RMM方法、逐词遍历法、基于词频的统计法等。后来,很多专家对歧义产生的原因、歧义的分类做了大量的研究,并且也提供了一些解决方案,但是效果依然不是太理想。还有对于一些出现的专有名词,地名等等,甚至出现了一些新词,都做了深入的讨论与研究。
目前的分词算法主要分为三类:机械性分词方法、理解性分词方法和统计性的分词方法。
图1.1 分词方法对比
1.4 课题研究内容
本次课题中,本人负责的部分主要是微博信息的抓取以及信息的分词部分。首先是微博信息的抓取部分,通过调用信息微博的api,获得想要的新闻话题信息,然后对这些话题信息进行布局,呈现在页面中。与此同时,这边需要做一个发送微博的功能,因为后面的话题跟踪测试需要用到这块,不然在段时间之内,一类话题信息是不会更新的,只能通过人工的方式模拟。此外,另一个部分是信息的分词,本系统中,采用的是正向和逆向分词,都属于机械分词的方法,通过正向和逆向的对比,比较其结果的差异性,最终还需要去除停用词,以及对词的词性进行分类,尽可能的筛选出名词,动词等。最终将得到的关键词写入数据库,方便后面关键词的聚类分词以及话题提取与跟踪。以下介绍歧义介绍。
实验结果表明,能够处理未登录词较多的文本,切分速度约为30字/秒[6]。通常将歧义的多少称之为切分精度。下面对中文歧义字段的形成原因和
原文链接:http://www.jxszl.com/jsj/jsjkxyjs/33026.html