APP下载

基于文本挖掘的论坛热点问题时变分析

2017-06-05柳,程恺,胡

软件 2017年4期
关键词:热点话题热点问题帖子

吴 柳,程 恺,胡 琪



基于文本挖掘的论坛热点问题时变分析

吴 柳1,程 恺2,胡 琪2

(1. 江苏海事职业技术学院,南京 210070;2. 解放军理工大学指挥信息系统学院,南京 210007)

随着互联网的普及,网络论坛因其开放性和自由性成为了舆论的发源地,真实地反映了当前的新闻热点和当前民众最关心的话题。本文基于网易论坛上的网上谈兵栏目,对相关帖子进行文本挖掘,通过改进传统的网络爬虫技术对指定论坛网页进行爬取,设计了关键词权重计算公式提取关键词,依据关键词归纳总结热点话题,提出话题匹配规则对话题帖子进行定位匹配。通过分析热点话题随时间变化的趋势,把握网络舆论的动向,并对话题进一步的发展趋势做出一定预测,为相关部门及时、准确把握网络舆论动态走向提供了可靠依据。

网络爬虫;中文分词;关键词提取;热点话题;时变分析

0 引言

随着互联网的发展,网络媒体因其方便快捷、互动性强的特点,逐渐成为继报纸、广播、电视之后的“第四媒体”,成为现在人们获取信息的主要途径。同时,由于互联网的普及,越来越多的人通过互联网来表达一些自己对某些事件、现象、政策的看法和意见。网络上的舆论反应了人们真实的想法和建议,网络舆情也被越来越多的人所关注[1-3]。

其中,网络论坛发展到今天已成为互联网的重要组成部分,网民通过浏览帖子、展开讨论,表达对热点问题的看法和意见。如果能够及时分析论坛信息,对相关政府机构准确把握网络舆论的动态走向,从而进行监测、预警都具有重要意义[4-6]。然而面对网络中的海量信息,传统的人工方式分析已无应对爆炸式的信息增长,需要采用数据挖掘、大数据等先进技术手段[7-11],对论坛中热点问题讨论的信息进行有效地采集、分析,从数据中获取有用的知识。

因此,本文研究了从网络论坛内容的获取到数据预处理以及热点话题筛选和时变分析等关键技术,实现对网络论坛热点信息的采集,进而分析热点问题在时间序列上的发展变化规律。通过对网易论坛上的网上谈兵栏目进行文本挖掘,了解各大军事热点问题在时间序列上的走势,把握舆论动向,根据得到的热度曲线图,挖掘有关话题信息,并预测下一步话题发展情况。

1 总体研究框架

基于文本挖掘的论坛热点问题时变分析主要包括信息获取、信息处理、热点话题匹配和时变分析四个步骤,其总体研究框架如图1所示。

图1 基于文本挖掘的论坛热点问题时变分析总体研究框架

1.1 网络论坛信息的获取

网络论坛信息的获取是将指定所关注的网络论坛的URL,自动地获取论坛的帖子信息,并且按照一定的格式存储这些信息。网络论坛信息的获取是数据预处理以及数据分析的前期准备工作,涉及到网络爬虫等网页自动访问和虚拟访问技术,是研究的重点内容之一。

1.2 网络论坛信息的预处理

网络论坛信息的预处理是将获取并存储得到的帖子进行进一步的分词、词频统计、提取关键词等处理。通常直接存储的帖子信息数据量过于庞大,并且论坛信息的实时性强,直接进行分析不仅耗费时间长,工作量大,而且无法及时追踪分析热点。对帖子信息进行预处理相当于用提取的关键词来代替帖子内容,减少了数据量,为后续数据分析提供方便。

1.3 网络论坛信息的话题筛选

网络论坛信息的话题筛选是基于对数据的预处理,通过对帖子关键词以及相应的权重按照权重由高到低进行人工分析,得到具有跟踪研究意义的话题系列。这一过程采用了传统的人工选择,是基于机器对于自然语言的理解能力受限考虑。在确定的话题系列基础上,分析所有话题可能包括的内涵以及在此话题中具有代表性的关键词,为每一个话题建立关键词向量,作为话题规则,从而进一步对所有帖子进行话题匹配,完成分类。

1.4 网络论坛信息的时变分析

网络论坛信息的时变分析是对话题在时间序列上的热度变化情况进行分析的过程。将选择出的话题系列从每个月抽取出来放到整个时间轴上,可以纵向观察到话题的波动情况。不同话题随时间序列的发展情况不同,依据热度曲线图,分析峰值,可以挖掘出在某一时间段话题的聚焦情况。

2 关键技术

2.1 论坛爬虫技术

网络论坛大多采用两层的结构来组织整个讨论区的帖子话题,对于帖子本身来说,需要得到的仅仅是两种类型的页面信息:话题索引页面和帖子内容页面。话题索引页面列出主帖的标题、发帖人、发帖时间、最后回帖时间等基本信息,并且链接指向帖子内容页面。论坛网页的结构如图2所示。

图2 论坛网页结构

由于只需要获取所有的帖子信息,所以不需要网络爬虫大面积的抓取网页,也正由于此原因,爬虫在话题索引页抓取回来的网页除了与帖子有关的信息外,其余的都被看作是网页噪音,需要进一步过滤。并且采用类似“宽度搜索”的爬行策略,从待抓取队列中抽取一个URL后,抓取页面上的所有链接,判断抓取的URL在等待队列和已访问队列中是否已经存在,且该链接必须以http开头,若符合,则将链接添加到等待抓取的队列中。

从初始网址开始,本文采用的网络爬虫架构如图3所示。

2.2 关键词提取技术

关键词提取就是从文本里面把跟这篇文章意义最相关的一些词抽取出来,可以追溯到文献检索初期,在还不支持全文搜索时期,关键词就可以作为搜索这篇论文的词语。因此,目前依然可以在论文中看到关键词这一项。简而言之,关键词就是最能够反映出文本主题或者意思的词语。

关键词提取大致有两种方法:第一种为关键词分配,是给定一个关键词库,然后从词库里面找到几个词语作为将需要提取关键词的文本的关键词。第二种为关键词抽取,是从文本中抽取一些词语作为这篇文章的关键词。

另外,从结果上看关键词抽取也可以分两种。第一种仅仅把词语抽取出来,实现较简单,比如FudanNLP、jieba、SnowNLP。另一种则是连词和短语一起抽取出来,这个还需要增加短语抽取这一个步骤,这一类的实现包括ICTCLAS、ansj_seg等。可以把类似于“智能手机”、“全面深化改革”、“非公有制经济”等短语抽取出来。对于聚类或者分类来说,很明显短语比词语更有参考价值。

关于关键词抽取的算法,目前主要有TF-IDF算法、初代KEA算法、TextRank算法和ICTCLAS等。本文采用的是基于ICTCLAS的Ansj关键词提取技术,其基本原理为依据不同词性词语的初始权重,其中标题中词权重加倍,再结合词在文中出现的位置和频率调整后,得到每个词的权重score。

由于本文需要通过关键词的热度来进一步确定当前的热点话题,故结合帖子的浏览量对关键词权重作进一步改进。具体改进的公式如下:

最后生成的关键词热度从一定程度上既反映了帖子的基本内容,同时也体现了在所有帖子中的受关注程度。

2.3 话题提取技术

网络论坛热点话题的获取是指从大量的网络论坛帖子中发现热点话题并利用关键词定位到具体的帖子的过程。本文所采用的热点话题获取方法是基于关键词热度的。热点话题获取是对所有帖子内容中出现的关键词进行的一个统计,关键词热度越高表明越受网民的关注。这种方法所发现的话题基本能够反映出当前的热点问题,话题发现的过程如图4所示。

1. 读入帖子的关键词结果。

按照数据预处理模块中对帖子信息进行的分词、关键词生成结果,依次把词语读入暂存数组keywords[m]中,其中keywords[m]是一个字符型的一维数组,用来暂时存放某一条帖子的关键词结果。例如标题为“我国运载火箭研制”的帖子提取关键词之后的结果为“运载火箭/176.81”,“研制/149.03”,“我国/53.72”, “全新/52.02”,“推力/50.14”,“现役/ 45.55”等,将这些词语按权重顺序依次读入字符数字keywords[m]中,即keywords[0]=“运载火箭”, keywords[1]=“研制”,keywords[2]=“我国”,……,依次类推。此外,在读入的同时自动去除权重较低的词语。

2. 确定进一步研究的热点问题

结合关键词结果、权重评分以及帖子浏览量的综合考虑,人工分析得出需要进一步研究的话题系列,分别设为不同的话题向量为Vector topics。将每个话题中出现频率较高的关键词依次读入话题向量中,便于下一步对所有帖子进行话题匹配。

3. 定位话题帖子

对于每一个帖子,遍历其keywords[m],将其中存储的关键与话题向量中的关键词进行比较,在满足一定数量的相似度后,判定帖子是否属于某一话题,若属于,则存储帖子的发帖时间,便于下一步对热点话题进行时变分析。具体判定步骤如图5所示。

图5 话题帖子判定算法流程

3 论坛热点问题时变分析

在论坛数据爬取阶段,本文基于crawler4j实现了网络爬虫,并进行了相应功能的改进[12][13]。通过抓取URL及页面内容,利用Jsoup解析和操作HTML,提取有关的帖子信息。在文本数据预处理阶段[14],基于Ansj,利用NLP自然语言处理分词对所有帖子内容进行分词处理、词频统计、词性标注。依据不同词性词语的初始权重,其中标题中词权重加倍,再结合词在文中出现的位置和频率调整后,得到每个词的权重score。在话题提取阶段[15],根据得到的关键词以及相应的热度值,筛选出五个具有研究价值的话题,分别为“朝核问题”、“航母建设”、“台湾问题”、“领海问题”、“钓鱼岛问题”,由此设置不同的话题向量为Vector topics。将每个话题中出现频率较高的关键词依次读入话题向量中作为话题匹配规则。依据话题匹配规则,对于每一个帖子,遍历其keywords[m],将其中存储的关键与话题向量中的关键词进行比较,在满足一定数量的相似度后,确定其是否属于需要研究的五个话题之一,若是,则将帖子的发帖时间、浏览量等信息存入数据库中。

最后针对选取的“朝核问题”、“航母建设”、“台湾问题”、“领海问题”、“钓鱼岛问题”的五个话题进行分析,得到各个话题在时间维度下的热度变化拟合曲线如图6所示[16]。

图6 热点问题拟合曲线图

通过热点问题拟合曲线图,依据各个话题所代表的曲线于2015年11月至2016年5月期间的热度变化,分析其随时间序列的走势情况,可以得出以下几点信息:

1. 台独问题关注度持续居高。

从图中可以清晰地看出:就五个话题而言,台独问题的热度一直处于较高的状态。由此反映出祖国统一以及台独问题始终是中国网民最关注的热点问题之一,宝岛台湾的一举一动更是一直没有离开广大网民的关注视线。

随着2016年台湾地区领导人选举的逐步推进,台独话题也是处于发酵状态。在正式选举(2016年1月16日)之前,话题热度持续上升,据猜测,不少网民就三位领导人当选可能性展开热议。

其中,领导人正式选举的时间与绘制的拟合曲线图中台独问题的峰值正好相当,说明台独话题在大选这一重要时刻热议程度达到巅峰,符合正常逻辑。

选举结束后,随着蔡英文当选,虽然其一度表现出亲美行径,并且对两岸关系含糊不清,但似乎网民对此虽然保持着一定的关注度,但并没有显示出过多的热情,或许是在等待蔡英文的进一步动作,对于台独问题还需要更长时间的观察。

因此,有关网民对于台独话题的热度问题,预测后期将会一直维持在较高的水平,并且随着台湾方面的动作实时波动,属于经常性热点话题。

2. 朝核问题峰值期突发事件明显。

从图中可以清晰地看出:朝核问题同样在2016年1月产生了一个高峰,但与台独问题不同的是,朝核问题在其他时间段的关注度并不是很高。因此推断在峰值期应该有重大事件发生。事实上,在2016年1月6日,朝鲜宣布成功进行了首次氢弹试爆。随着这一消息的发布,朝核问题迅速成为当时的热点话题。

朝核问题这种随着事件的发生推动舆论爆发的情况极具典型性。有关部分应当在事件发生的第一时间对其进行监测追踪,把握舆论的正确发展方向。

3. 领海问题复杂多变。

在图中可以看到,领海问题的波动性较大,但这与本文在提取领海问题这一话题时的话题规则有一定的关系。由于本身领海问题涉及面广,包括与各国的南海问题以及东海问题等,无法准确地对该话题进行匹配。因此,对于领海问题,本文不作过多分析。

从另一方面,领海问题反映出了本文在话题匹配、帖子定位中可能遇到的问题,是话题规则的不足之处。

4 结语

本文基于网易论坛上的网上谈兵栏目,对其进行了一系列的文本挖掘,包括网页爬取、帖子信息获取、数据预处理、话题提取、热点问题拟合曲线图的绘制以及热点话题的时变分析。

在网络爬虫改进、中文分词、关键词提取阶段,能够结合网络论坛数据特点,对相应工具进行了定制改进。在话题提取阶段,如何完成从关键词到话题匹配的过程是一大难点。本文制定了话题匹配规则,虽然存在一定的匹配误差,但基本完成了话题提取的任务,为时变分析提供了基础。最后,通过 对五大话题在热点问题拟合曲线上的展示以及时变分析,了解各大军事热点在时间序列上的走势,一定程度把握了舆论动向,了解网民聚焦热点问题的具体情况,并且对话题发展趋势做出了一定的预测。下一步可在以下两个方面进行改进:1.话题匹配规则不够灵活,可结合语义及自然语言处理作进一步优化;2.曲线图所表达的信息有限,可适当增加可视化表现形式。

[1] 曹丽娜, 唐锡晋. 基于主题模型的BBS话题演化趋势分析[J]. 管理科学学报, 2014, 17(11): 109-121.

[2] 王允. 网络舆情数据获取与话题分析技术研究[D]. 郑州: 解放军信息工程大学, 2010.

[3] 赵旭剑, 张立, 李波, 等. 网络新闻话题演化模式挖掘[J]. 软件, 2015, 36(6): 1-6.

[4] 张旭, 张振江, 刘云. BBS舆情系统爬虫模块的研究[J]. 铁路计算机应用, 2010, 19(12): 18-21.

[5] 熊祖涛. 基于Web文本信息抽取的微博舆情分析[D]. 西安:西安科技大学, 2013.

[6] 赵旭剑, 邓思远, 李波, 等. 互联网新闻话题特征选择与构建[J]. 软件, 2015, 36(7): 17-20.

[7] 韩家炜, 裴健, 范明. 数据挖掘技术与概念[M]. 机械工业出版社, 2012.

[8] Yanchang Zhao著, 陈健, 黄琰译. R语言与数据挖掘最佳实践和经典案例[M]. 机械工业出版社, 2014.

[9] 郭世龙, 王晨升. 主题爬虫设计与实现[J]. 软件, 2013, 34(12): 107-109.

[10] 马凯航, 高永明, 吴止锾等. 大数据时代数据管理技术研究综述[J]. 软件, 2015, 36(10): 46-49.

[11] 程陈. 大数据挖掘分析[J]. 软件, 2014, 35(4): 130-131.

[12] Joseph Adler著, 刘思喆, 李舰等译. R语言核心技术手册[M]. 电子工业出社. 2014.

[13] 宋金玉, 陈萍. 数据库原理与应用[M]. 清华大学出版社, 2011.

[14] Cay S. Horstmann, Gary Cornell著, 叶乃文等译. JAVA核心技术[M]. 机械工业出版社, 2009.

[15] Liu Z, Chen X, Zheng Y, et al. Automatic keyphrase extraction by bridging vocabulary gap[C]. Fifteenth Conference on Computational Natural Language Learning. Association for Computational Linguistics, 2011: 135-144.

[16] Index. ggplot2 2. 0. 1[EB/OL]. [2017-03-25]. http://docs.ggplot2. org/current/.

Time Varying Analysis of Forum Hot Issues Based on Text Mining

WU Liu1, CHENG Kai2, HU Qi2

(1. Jiangsu Maritime Institute, Nanjing Jiangsu 210070, China; 2. College of Command Information Systems, PLA University of Science &Technology, Nanjing 210007, China)

With the popularity of the Internet, because of its openness and freedom the network forum has become the birthplace of public opinion. It is a true reflection of the current news hot spots. Based on the Netease forum text mining is adopted to handle the forum data. By improving the traditional web crawler technology, the designated forum pages are crawled. Design the keyword weight calculation formula to extract keywords. According to the key words summarize the hot Topics. Design topic matching rules on the topic forum data. By analyzing the trend of the hot topic of the military over time, grasp the trend of public opinion in the network and make some predictions on the further development of the topic. Thus, provide a reliable basis for the relevant departments to grasp the dynamic direction of the network public opinion.

Network crawler; Chinese word segmentation; Keyword extraction; Hot topic; Time varying analysis

TP311.13

A

10.3969/j.issn.1003-6970.2017.04.009

本文受江苏省自然科学基金(BK20150720)资助

吴柳(1987-),女,硕士,研究方向为信息技术,教育管理;程恺(1983-),男,博士,研究方向为数据挖掘,数据工程;胡琪(1993-),女,硕士研究生,研究方向为信息系统工程。

本文著录格式:吴柳,程恺,胡琪. 基于文本挖掘的论坛热点问题时变分析[J]. 软件,2017,38(4):47-51

猜你喜欢

热点话题热点问题帖子
2017年高考作文热点话题预测
暴力老妈
基于SVM的热点话题跟踪实现过程研究
电气工程与自动化常见热点问题及应对
热点话题排行榜
基于熵值的网络论坛热点话题发现
2009年地理备考应关注的热点问题
高手是这样拍马屁的
我是怎样在坛子里堕落的
对抗美援朝战争研究中几个热点问题的看法