买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于BTM和Single-pass的热点话题发现方法_河海大学_201711210195.2 

申请/专利权人:河海大学

申请日:2017-11-28

公开(公告)日:2021-02-09

公开(公告)号:CN108197144B

主分类号:G06F16/35(20190101)

分类号:G06F16/35(20190101)

优先权:

专利状态码:有效-授权

法律状态:2021.02.09#授权;2018.07.17#实质审查的生效;2018.06.22#公开

摘要:本发明提供本发明提供一种基于BTM和Single‑pass的热点话题发现方法,该方法首先利用BTM主题模型进行主题建模,获得语料数据集的主题分布,然后使用VSM进行向量化,再使用改进的Single‑pass算法对上面得到的结果进行聚类,对聚类结果进行整理得到新的聚类结果,其次,对上述热点话题发现方法进行并行化计算,以提高其在大数据量情况下的主题挖掘的速度。本发明可以很好的解决微博数据稀疏及处理海量数据的能力的问题,改进后的Single‑pass算法可以很好的降低计算复杂度,保持算法的稳定性,对新的数据能有效的进行处理,对热点话题的持续影响力有较好的计算分析,且数据集通过MapReduce框架提高数据处理效率的基础上,仍然能够保持话题发现质量。

主权项:1.一种基于BTM和Single-pass的热点话题发现方法,其特征在于,该方法采用MapReduce分布式并行化处理,包括MapReduce框架的Mapper阶段和Reducer阶段;所述Mapper阶段具体包括:1对输入的数据集D进行预处理;2将所述预处理后的数据集D平均分到C个节点,每个所述节点包含定量词对,随机为所述词对分配一个主题;3利用BTM主题模型进行主题建模,获得语料数据集的主题分布;4在每个节点上采用VSM对结果进行向量化;5在每个节点上采用改进的Single-pass算法进行聚类分析,得到局部话题;所述聚类分析具体包括:51将每个节点按一定规模分成n个数据片C1,C2,...,Cn,将所述数据片按顺序依次作为输入数据;每个所述数据片单独进行内部聚类,得到每个所述数据片的聚类结果;52选择所述数据片C1作为第一个部分,对所述C1进行内部聚类,得到所述第一部分的聚类结果;53对于所述数据片C2,...,Cn,在输入前对每个数据片单独进行内部聚类,得到每个所述数据片的聚类结果;54将所述数据片C2得到的每个聚类中心,与已经存在的所述数据片C1的每个聚类中心进行相似度计算,记为simC2ci,C1ci,其中,所述,C1ci和C2ci分别表示所述数据片C1和C2中不同的词对;55选择最大相似度值max=maxsimC2ci,C1ci,判断max是否大于阈值c,若所述max=maxsimC2ci,C1ci≥c,则将所述C2ci归到与其相似度值最大的类中;若max=maxsimC2ci,C1ci<c,则以所述C2ci为聚类中心重新新建一个话题;56将所述数据片C1、C2的聚类结果进行整理得到新的聚类结果;57循环步骤54、55和56,直到所述数据集中所有数据都处理完毕,得到最终结果;6输出所述局部话题;所述Reducer阶段具体包括:1输入所述每个节点上的初始化聚类结果;2选取主节点的所述聚类结果作为初始的聚类中心;3采用改进Single-pass算法将其余节点的聚类结果与所述主节点的聚类结果进行聚类操作,最终得出热点话题;4输出所述热点话题。

全文数据:一种基于BTM和SingIe-pass的热点话题发现方法技术领域[0001]本发明涉及一种基于BTM和Single-pass的热点话题发现方法,属于数据挖掘领域中的文本聚类。背景技术[0002]随着智能手机及网络的普及,人们能时刻的通过微博APP关注最新的一些国家、社会发生的大事,对微博热点话题进行发现研究在商业、科研等领域都有很大的价值,越来越多的学者针对微博进行相关的研究。[0003]在传统的热点话题发现中,一般都是采用LDA主题模型和K-Means等算法进行研究,然而,传统的LDA模型主要解决的是长文本的问题,对微博之类的短文本数据的处理效果不佳,同时,微博数据具有的数据稀疏、上下文关联性较强等特点,是LDA模型很难解决的。[0004]为了处理大量的数据集,传统的热点话题发现技术已经遇到了瓶颈。首先,在进行热点话题发现的过程中要处理的数据量是巨大的,单个主机、处理器处理起来费时费力。其次,单纯的BTM模型对数据进行主题挖掘的速度过慢,最后其次,在使用BTM主题模型进行建模之后,没有考虑微博流式数据的特性,所以其分类效果还有待提高。因此在分布式环境下对微博热点话题发现显得尤为重要。发明内容[0005]发明目的:本发明针对现有技术的不足,提出一种适用于短文本、数据稀疏的流式数据的基于BTM和Single-pass的热点话题发现方法,同时,该方法能够适应大数据量情况和加快主题挖掘速度。[0000]技术方案:本发明提供了一种基于BTM和Single-pass的热点话题发现方法,该方法包括MapReduce框架的Mapper阶段和Reducer阶段;[0007]所述Mapper阶段具体包括:[0008]1对所述输入的数据集D进行预处理;[0009]2将所述预处理后的数据集D平均分到C个节点,每个所述节点包含定量词对,随机为所述词对分配一个主题;[0010]3利用BTM主题模型进行主题建模,获得语料数据集的主题分布;[0011]⑷在每个节点上采用VSM对结果进行向量化;[0012]5在每个节点上采用改进的Single-pass算法进行聚类分析,得到局部话题;[0013]⑹输出所述局部话题;[0014]所述Reducer阶段具体包括:[0015]1输入所述每个节点上的初始化聚类结果;[0016]2选取主节点的所述聚类结果作为初始的聚类中心;[0017]3采用改进Single-pass算法将其余节点的聚类结果与所述主节点的聚类结果进行聚类操作,最终得出热点话题;[0018]⑷输出所述热点话题。[0019]优选的,步骤⑸中,所述聚类分析具体包括:[0020]1将数据集D按一定规模分成η个数据片DllD2,...,Dn,将所述数据片按顺序依次作为输入数据;每个所述数据片单独进行内部聚类,得到每个所述数据片的聚类结果;[0021]2选择所述数据片0:作为第一个部分,对所述0:进行内部聚类,得到所述第一部分的聚类结果;[0022]3对于所述数据片D2,...,Dn,在输入前对每个数据片单独进行内部聚类,得到每个所述数据片的聚类结果;[0023]4将所述数据片D2得到的每个聚类中心,与已经存在的所述数据片D1的每个聚类中心进行相似度计算,记为simD2di,Dldi,其中,所述Dldi和D2di分别表示所述数据片Di和D2中不同的词对;[0024]5选择最大相似度值max=maxsimD2di,Dldi,判断max是否大于阈值c,若所述max=maxsimD2di,Dldi彡c,则将所述D2di归到与其相似度值最大的类中;若max=maxsimD2di,Dldic,则归到与其相似度值最大的那个类中;如果最大相似度值小于阈值即max=maxsimD2di,Dldic,则以为聚类中心重新新建一个话题;[0051]6对于D^D2两部分的聚类结果进行整理得到新的聚类结果;[0052]7循环步骤4、步骤5、步骤6三步直到所有数据都处理完毕,从而得到最终结果。[0053]2基于BTM和Single-pass的热点话题发现方法进行MapReduce分布式并行化处理[0054]1如图2,预处理之后的所有数据D,平均分到C个节点,则每个节点大概处理DC数据量。每个节点包含一定量的词对b=wi,wjeBc;,那么对所有数据集D来说,其全局词对集合为B=B1J2,...,Β〇}。[0055]2在BTM模型中对本地数据使用Gibbs抽样的方法来采样,每次在迭代时采用的是每个节点的词对元组集合来获取主题矩阵,也即对每个词对b=wi,wjeBc,求其在主题k下的概率。[0056]3对每个节点来说,把上面得到的结果在各自的主机上进行向量化,为后面的聚类做准备。[0057]4每个节点先各自进行聚类,选取主节点的聚类结果作为初始的聚类中心,采用改进的Single-pass算法,把其余节点的聚类结果与主节点的聚类结果合并整理,得出结果。[0058]BTM模型对数据集中全部的词对,其主题概率的分布是相同的,这里的主题理解成不同词的概率分布。BTM是基于LDA模型以及一元混合模型,它通过整个数据集生成的词对以及词之间的关联性来学习短文本稀疏数据的主题,这种词之间的关联性是由词共现来表示的。因此,BTM主题模型使用的是全部数据集中共现的词对来建模,进行主题的学习。[0059]BTM主题模型的结构如图3所示,其中,Θ表示数据集中的全局主题分布,供表示单个主题下面词的概率分布,K表示主题的个数,|B|表示数据集中词对的数量,z表示隐含的主题,Wi,Wj是某个词对b中的两个不同的词。α和β分别是Θ和β的Dirichlet先验分布的超参数。[0000]如图4,基于BTM和Single-pass的热点话题发现算法包含以下步骤:[0061]步骤1、对获得的数据集进行预处理,去除那些对热点话题发现没有贡献的噪声数据,如停用词、超链接、特殊字符等;[0062]步骤2、采用中科院计算技术研究所提出的中文分词工具NLPIR对数据进行分词;[0063]步骤3、获得所需的特征项的相关信息,保留相关动词、名词、话题标签、时间等,把其作为特征项,整理重复的词并统计词频大小;[0064]步骤4、对上面的数据利用BTM模型来建模,计算出数据集pzId、pwIz文档一主题、主题一词)的值,对于数据集中的每条数据Cl1使用公式InfCl1来算出话题影响力,使用公式WkCl1从0到k循环计算出权重值大小,K为特征词的数量。[0065]1用InfCl1表示量化一条微博信息的影响力,其公式为[0066][0067]其中,N_代表一条微博信息的评论数,Nre3p代表一条微博信息的转发数,Nsup代表一条微博的赞数,MAX{N_dj}、MAX{Nrapdj}、MAX{NSUP山}分别表示文档集合中的最大评论数、最大转发数、最大赞数。α、β、γ是参数,满足α+β+γ=1。[0068]2TF-IDF是一种常用的特征加权技术,其计算公式为[0069]TFij-IDFi=TFijXIDFi公式2[0070]其中,词频TF表示给定的特征词在文档中出现的频率,频率的值越大说明其越重要;逆向文件频率IDF的意思是给定的特征词在全部数据集中出现的次数。TF和IDF的计算公式如下:[0071][0072]公式4[0073]其中,1^是给定的词在文档中的频率,Eknkj代表该文档中所有词的和,|DI代表总文档的个数,I{jitiedi}I是含有特征词的文档的数量,为了避免分母为零对其进行加1操作。[0074]步骤5、利用VSM向量空间模型,对上面得到的结果进行向量化,公式为1得出结果矩阵M。[0075]步骤6、使用上述改进的Single-pass算法对矩阵M进行增量聚类,从而得出最终的结果。[0076]基于BTM和Single-pass的热点话题发现并行化算法,包含以下步骤:[0077]针对微博大数据量特点进行并行化处理,主要是MapReduce框架的Mapper阶段和Reducer阶段的两部分算法设计。[0078]IMapper阶段[0079]步骤1、输入数据集D,主题数K,参数α、β;[0080]步骤2、对获得的数据集进行预处理,去除那些对热点话题发现没有贡献的噪声数据,如停用词、超链接、特殊字符等;[0081]步骤3、对预处理之后的所有数据D,平均分到C个节点,每个节点包含一定量的词对b=Wi,WjeBc,随机为词对b分配一个主题k;[0082]步骤4、Zi—Zi+Zj,在主机i上,全局主题单词矩阵为其他主机与本机之和。遍历所有的节点C,求出每台主机的全局主题单词矩阵。[0083]步骤5、每次在迭代时采用的是每个节点的词对元组集合来获取主题矩阵,也就是对每个b=Wi,WjeBc,其在主题k下的概率为:[0084][0085]其中,nk|C代表在进程C上,被分到主题号为k的词对元组的个数分别表示词W1,巧为被分在主题号为k的个数,N表示数据集中总词典的大小,α、β表示先验参数;[0086]步骤6、在每个节点上采用VSM对各自主机上的结果进行向量化;[0087]步骤7、在每个节点上采用改进的Single-pass算法先进行各自的聚类,得到局部话题;[0088]步骤8、输出局部话题。[0089]⑵Reducer阶段[0090]步骤1、输入每个节点上的初始化聚类结果;[0091]步骤2、选取主节点的聚类结果作为初始的聚类中心;[0092]步骤3、采用改进的Single-pass算法,将其余节点的聚类结果与主节点的聚类结果进行聚类操作,最终得出热点话题;[0093]步骤4、输出热点话题。[0094]实验分析[0095]本发明实验数据是通过爬虫程序采集的新浪微博上的真实数据集,爬取的数据内容主要包括“Alphago”、“里约奥运会”等话题的20000条数据。[0096]当前对微博热点话题发现方法没有统一的评价标准,本发明采用如下的评价指标来进行实验。[0097]从准确率这方面来考虑,使用NIST美国国家标准与技术研究院)公布的评价指标,包含准确率P、召回率R、F值、漏检率Pmiss以及误检率Pfa等评价指标。公式如下所示:[0103]其中,a为检测发现的相关微博文本数;b为检测发现的不相关微博文本数;c表示没有检测发现的相关微博文本数;d为没有检测发现的不相关微博文本数。[0104]BTM算法模型中各个参数的取值分析[0105]在本发明热点话题发现方法中BTM模型是对微博语料进行主题识别的第一步,利用BTM得到的结果对于后序的增量聚类效果有较大的影响,所以本发明首先分析BTM主题模型中的每个参数的取值问题。BTM主题模型是一种非监督的模型,在对其进行建模的时候需要先设定数据集的主题个数K,不同的主题个数模型的估计是不同的,对BTM的性能是有影响的,所以要先确定K的值。本实验分别取K的值为3、4、5、6、7、8、9、10、11、12、13、15进行实验,以F值作为评价指标来进行对比,实验结果如图5所示。[0106]可以看出,随着主题数K的逐渐增大,F值呈现下降的趋势,在K取7时效果最好。由于微博是数据稀疏的短文本数据其含有的词较少,形成的词对也就相对来说较少,而在建模的过程中,我们要为每个词对分配一个主题,而设定过多的主题数,或许会使词对-主题的概率被分割,进而对文档-主题的概率有影响,使得最终的结果受到影响。本发明选取主题数为7作为K值。[0107]在主题数K值确定的情况下,我们在分析BTM中参数α和β的取值,首先对于α的取值,根据经验值可知所以α的值为507。在α的值确定之后,再对β的取值进行分析,实验结果如图6所示,柱状图从左到右分别表示准确率、召回率和F值。[0108]可以看出,在β取0.01时整体效果相对稳定,所以,本发明邱勺取值为0.01。综上两个实验,本发明给出的算法不同参数的取值分别为K的值为7,α的值为507,β的值为0.01。[0109]阈值选择分析[0110]阈值的设定对于Single-pass增量聚法的聚类效果有着类算重要的影响,而聚类的结果对最后的话题发现有着重要的影响,所以阈值的设定是一个重要的方面。本实验对于阈值选择的评价指标从漏检率Pmiss和误检率Pfa两个方面来衡量。本实验从上面话题数据中选择部分作为实验,其中每个话题选择1000条数据。针对不同阈值的实验结果如图7所示。Com]通过上面的实验可以看出误检率与阈值成反比,而漏检率与阈值成正比,阈值的取值在增加,误检率的值在逐渐减少,漏检率的值的在逐渐变大。在阈值取0.4的时候整体效果相对来说较好,所以本发明阈值取值为〇.4。[0112]与其他热点话题发现方法的比较[0113]本发明通过基于BTM和改进的Single-pass算法对热点话题进行挖掘,本发明是以关键词集合来表示相关话题,由于篇幅有限,本发明展示“Alphago”话题部分实验结果如图8所示。[0114]为了验证本发明提出的方法的有效性,使用BTM主题模型、BTK方法进行比较,由于F值综合了P、R指标,所以本实验以F值作为评价指标,实验结果如图9所示。[0115]由图9可知,对于不同话题其聚类结果是不同的,这主要是有话题本身的特点导致的。例如“里约奥运会”该话题的聚类结果相对来说较差,是因为奥运会涉及了多个不同的项目,包括“跳水”、“乒乓球”、“排球”等多个不同的项目,其包含的项目多使得BTM词对中词共现就相对降低,从而导致聚类效果不理想。[0116]本发明使用微博提供的微指数中的热词趋势来进行对比,热词趋势能够直观的显示一段时间内某个关键词的走势及频率。由于“里约奥运会”的数据中含有多个不同的热点话题,因此适合进行比较,选择2016年8月5日到21日的数据进行比较。使用本发明的方法对“里约奥运会”数据进行实验得到的关键词为:[0117]表1里约奥运会关键词[0119]图10展示了里约奥运会期间的热词趋势,由于8月21日的女排出现的频率远高于其他热词,为了能在图上更好的展示其他热词的趋势,因此将女排数据部署到次坐标轴上。从图10中可以看出首金、洪荒之力、霍顿、女排,张继科在里约奥运会期间的一段时间内热度剧增,成为热点话题,泥石流,番茄炒鸡蛋由于不是奥运期间所特有的关键词,所以出现频率较低。因此可以很直观的证明本发明提出的算法的有效性。[0120]通过实验结果可以看出,基于BTM和Single-pass的热点话题发现算法相较于其它方法有较好的效果,其F值较好证明基于BTM和Single-pass的热点话题发现算法是有效和可行的。[0121]基于BTM和Single-pass的热点话题发现算法并行化实验分析[0122]本实验共有4台服务器,其中一台机器作为Master节点,部署了NameNode和JobTracker,另外3台服务器作为Slave节点,在其上部署DataNode和TaskTracker。所有服务器上的操作系统均为Ubuntul4.04,使用的Hadoop的版本为2.6.5,JDK的版本为jdk-8ul21-linux-i586〇[0123]本发明的实验数据集是通过爬虫工具爬取的新浪微博2017年1月5日到1月10日之间的5天的微博数据,大小约为1.1GB。得到的数据为xml格式,提取其中的内容,并通过HDFS开源的JAVA工具包把数据上传进行分布式保存。[0124]本实验是对基于BTM和Single-pass的热点话题发现算法进行并行化的处理,所以我们对于其评价要从热点话题发现的质量和对数据进行处理的速度两方面来衡量。采用Coherence值来作为衡量热点话题发现的质量的指标。[0125]Coherence值的计算公式如下:[0126][0127]其中I表示一个已知主题z下的前T个单词,且Vz是按照概率PWIz的值的大小,按照由高到低进行排序的。DV代表单词V在文档中出现的数目,Dv,z代表两个单词同时出现的数目。热点话题发现的质量与Cz,VZ值的大小呈正比,值越大则质量越好。[0128]本发明为了评价单机环境下和分布式环境下的主题发现的质量,取当前环境下的全部主题的Coherence的平均值作为评价标准,Coherence的平均值的计算公式如下:[0129]公式12[0130]在主题发现质量相近的情况下,对于数据处理的速度我们以处理数据所用的时间来衡量。[0131]评价指标分析[0132]话题发现质量[0133]在相同配置的情况下,本发明设定T的大小为30,使用Coherence值来对比在单机环境下和分布式环境下话题发现的质量,实验结果如下表所示:[0134]表2Coherence值比较[0136]从表2的结果可以看出,在单机环境下和分布式环境下的Coherence值是比较接近的,在分布式环境下随着节点数量的增加Coherence值在缓慢的减少,总的来说对话题发现的质量是相差不多的。[0137]话题发现速度[0138]为了更好的说明分布式环境对话题发现速度的影响,本发明通过两组实验来作对比,第一组是保持分布式环境中节点数量不变,改变数据量的大小,第二组是保持数据量不变,改变节点的数量来进行比较。[0139]对于第一组实验,本发明设置实验环境为4台服务器,其中1台作为Master节点,其余作为Slave节点,实验数据分成四组大小,分别为256冊、5121^、768冊、1024冊,所用时间的单位是分钟。实验结果如下表所示:[0M0]表3单机与Hadoop分布式话题发现用时[0142]为了更直观的显示随着数据量的增大,单机与分布式环境的变换,再用图的形式进行展示,结果如图11所示。[0143]从表3中可以看出随着处理数据量的增大,Hadoop分布式环境所用时间与单机之间的差距在逐渐加大,所以Hadoop分布式对于处理大数据量的运算更加有效。[0144]第二组实验是保持数据的大小不变,改变分布式中节点的个数,来对比所用时间。选取数据大小为1024MB,节点个数从1台递增到4台,实验结果如图12所示。[0145]从图12中可以很直观的发现,在处理同样大小的数据时,随着Hadoop中节点数量的增加,所用时间在不断减小。当然随着节点数量越多,Slave节点和Master节点进行数据交换次数会越来越多,所用时间减少的趋势越来越缓慢。所以要设置合理的节点数。[0146]通过实验验证了并行化之后的算法,在话题发现质量相差不多的情况下,可以显著的提高话题发现的速度,减少处理数据所用的时间。

权利要求:1.一种基于BTM和Single-pass的热点话题发现方法,其特征在于,该方法采用MapReduce分布式并行化处理,包括MapReduce框架的Mapper阶段和Reducer阶段;所述Mapper阶段具体包括:1对所述输入的数据集D进行预处理;2将所述预处理后的数据集D平均分到C个节点,每个所述节点包含定量词对,随机为所述词对分配一个主题;⑶利用BTM主题模型进行主题建模,获得语料数据集的主题分布;⑷在每个节点上采用VSM对结果进行向量化;⑸在每个节点上采用改进的Single-pass算法进行聚类分析,得到局部话题;⑹输出所述局部话题;所述Reducer阶段具体包括:1输入所述每个节点上的初始化聚类结果;⑵选取主节点的所述聚类结果作为初始的聚类中心;3采用改进Single-pass算法将其余节点的聚类结果与所述主节点的聚类结果进行聚类操作,最终得出热点话题;⑷输出所述热点话题。2.根据权利要求1所述的基于BTM和Single-pass的热点话题发现方法,其特征在于,所述Mapper阶段的步骤2中,所述词对是指在对所述数据集进行预处理后,同时存在于一个相同所述数据片内,且任意、无序的两个相异的词。3.根据权利要求1所述的基于BTM和Single-pass的热点话题发现方法,其特征在于,所述Mapper阶段的步骤3中,所述主题建模采用抽样方法为Gibbs抽样方法,抽样过程的迭代采用的是每个所述节点的所述词对元组集合获取主题矩阵,即对每个所述词对b=Wl,WjeBe,求其在所述BTM模型中主题k下的概率。4.根据权利要求1所述的基于BTM和Single-pass的热点话题发现方法,其特征在于,所述Mapper阶段的步骤5中,所述聚类分析具体包括:51将所述数据集D按一定规模分成η个数据片DllD2,...,Dn,将所述数据片按顺序依次作为输入数据;每个所述数据片单独进行内部聚类,得到每个所述数据片的聚类结果;52选择所述数据片0:作为第一个部分,对所述0:进行内部聚类,得到所述第一部分的聚类结果;53对于所述数据片D2,...,Dn,在输入前对每个数据片单独进行内部聚类,得到每个所述数据片的聚类结果;54将所述数据片D2得到的每个聚类中心,与已经存在的所述数据片D1的每个聚类中心进行相似度计算,记为simD2di,Dldi,其中,所述Dldi和D2di分别表示所述数据片Di和D2中不同的词对;55选择最大相似度值max=maxsimD2di,Dldi,判断max是否大于阈值c,若所述max=maxsimD2di,Dldi彡c,则将所述D2di归到与其相似度值最大的类中;若max=maxsimD2di,Dldic,则以所述D2di为聚类中心重新新建一个话题;56将所述数据片m、D2的聚类结果进行整理得到新的聚类结果;57循环步骤54、(55和56,直到所述数据集中所有数据都处理完毕,得到最终结果。5.根据权利要求4所述的基于BTM和Single-pass的热点话题发现方法,其特征在于,所述内部聚类采用的是Single-pass算法。

百度查询: 河海大学 一种基于BTM和Single-pass的热点话题发现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。