[发明专利]一种基于Hadoop的并行化PLSA方法无效
申请号: | 201210071443.0 | 申请日: | 2012-03-19 |
公开(公告)号: | CN102779025A | 公开(公告)日: | 2012-11-14 |
发明(设计)人: | 高阳;金龑;杨育彬;商琳 | 申请(专利权)人: | 南京大学;南京大学江阴信息技术研究院 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F17/30 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 夏雪 |
地址: | 210046 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hadoop 并行 plsa 方法 | ||
技术领域
本发明涉及一种并行化实现PLSA的方法,特别涉及一种基于Hadoop的并行化PLSA方法。
背景技术
PLSA,即基于概率的浅层语意分析,是一种用来分析两模或者是共生数据的统计学方法,他是在原有的LSA模型的基础之上,加入了适合的概率模型。通过引入潜在的类模型,并进行混合分解,从而获得关于数据的潜层信息。
Hadoop,一个分布式系统基础架构,由Apache基金会开发,采用MapReduce的编程模型。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。
PLSA可能会需要大量的迭代次数,从而使得整体的运行时间非常的长,因此一般情况下只是适用于较小的数据集。如果其用来处理海量数据,可能会导致内存泄露等问题。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种基于Hadoop的并行化PLSA方法,解决PLSA在处理海量数据时运行较慢的问题。
技术方案:为实现上述发明目的,本发明采用的技术方案为一种基于Hadoop的并行化PLSA方法,包括如下步骤:
(1)将数据存储到分布式数据存储环境中;
(2)对需要更新计算的概率模型文件进行切分,作为每一个mapper的输入;
(3)通过mapreduce对整体的EM(Expectation-maximization,期望最大化)过程中的每一次迭代更新过程进行计算:通过mapper端的map函数和reducer端的reduce函数以及键值对的发送,计算EM过程中的每一次迭代更新过程;
(4)每次更新后的迭代结果作为下次迭代的输入;
(5)迭代直到所有的结果达到收敛。
所述步骤(3)中,可用map函数计算EM过程中的E过程,用reduce函数计算EM过程中的M过程。
所述步骤(3)中,可在map端完成整体的EM过程,在reduce端进行泛化。
有益效果:本发明通过mapreduce进行的并行化,能够将PLSA应用到较大规模的数据当中,并减少整体运行的时间,提高运算效率。
附图说明
图1是mapreduce的机制过程图;
图2是整体的迭代过程的说明图;
图3是两个方法对应机器增加所带来的加速比情况比较图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明主要通过mapreduce实现算法的并行化,其过程如图1所示。并且,如图2所示,对于每一个概率结果,在上一次迭代所得到的结果可以被用作到下一次的迭代的输入,从而实现结果的不断更新,直到收敛。
本发明的方法1在下面详细说明:
方法的主要思路是将EM过程的E过程作为map,把M过程作为reduce
步骤1,将需要迭代更新计算的两个概率模型文件进行初始化,将其中任意一个概率模型文件由hdfs(集群文件系统)切分,作为mapper的输入。
步骤2,在setup函数中读取整体对应关系的数据模型文件X(u,y)。
步骤3,在map函数中将对应其mapper的数据文件存储。
步骤4,在cleanup函数中进行EM的E过程。对根据公式1任意的一对u,y计算出对应的后验概率Q。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学;南京大学江阴信息技术研究院,未经南京大学;南京大学江阴信息技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210071443.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种中空式电池
- 下一篇:避雷器智能在线监测系统