一种基于Spark框架的文本聚类模型PW-LDA的并行化方法与流程

文档序号:17288741发布日期:2019-04-03 03:46阅读:681来源:国知局
一种基于Spark框架的文本聚类模型PW-LDA的并行化方法与流程

本发明涉及文本主题聚类领域,更具体地,涉及一种基于spark框架的文本聚类模型pw-lda的并行化方法。



背景技术:

pw-lda模型是一种新的文本聚类模型,它是主题模型lda(latentdirichletallocation)与词嵌入模型word2vec的结合。主题模型是一种概率模型,与传统的向量空间模型相比较,不再单纯地在词频空间对文档进行分析,而是引入了主题空间,实现了将文档的分析从词频空间降维至到主题空间。词嵌入模型也是一种概率模型,它通过计算词语的向量来使向量对应的词语序列概率符合实际文本。pw-lda中还提出了partition算法,根据词嵌入模型的向量结果,分析出文本中的不同部分,并只对用户需要的部分进行聚类分析。pw-lda模型作为一个聚类模型在短文本聚类上表现出了良好的效果,但是其中的lda模型与word2vec模型作为一种机器学习算法极为耗时,尤其是在使用大数据的情况下,模型中如文本预处理等模块的运行时间也会急剧增加。市面上许多应用针对这一问题也进行了并行优化,并行技术大多基于hadoop框架。hadoop框架是基于mapreduce技术的并行方案。mapreduce技术包含map与reduce两个部分,map是对一些独立元素组成的概念上的列表的每一个元素进行指定的操作,reduce是对一个列表的元素进行适当的合并。mapreduce技术在许多程序的并行化上表现良好,但它在一些大的矩阵运算上表现欠佳,同时hadoop框架将中间数据保存在硬盘中,在对数据进行反复读写的过程中硬盘i/o(input/output)耗时巨大。针对这些问题,本发明对pw-lda框架使用了spark框架作为并行方案,来加速程序的运行。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于spark框架的文本聚类模型pw-lda的并行化方法。

为解决上述技术问题,本发明采用的技术方案是:一种基于spark框架的文本聚类模型pw-lda的并行化方法,包括以下步骤:

s1:载入科技文献的语料库数据并初始化为spark的分布式数据类型对象。

s2:对导入的语料库中文本通过map方法进行分词、去停用词等预处理得到训练样本。

s3:对训练样本使用spark的word2vec接口进行词向量训练。

s4:根据word2vec的结果使用partition算法从训练样本的文本中提取目标段并通过map方法实现算法的并行。

s5:对partition算法提取出的目标段使用spark的基于graphx实现的lda接口训练得到主题-词语矩阵。

s6:根据lda模型得到的主题-词语矩阵以及word2vec得到的词向量计算主题向量并通过map方法实现计算过程并行化。

s7:根据word2vec结果对partition得到的目标段中词语计算得到文本向量,将其比对与所有主题向量的余弦相似度,寻找与目标段最匹配的主题,并通过map方法实现计算过程的并行化。

s8:使用reduce技术从各计算节点汇总计算结果。

优选地,步骤s4主要包括如下几个步骤:

s1:根据word2vec获得的词向量累加取平均值计算出文本中每一句的句向量。

s2:计算同一篇文本中两两相邻句子向量的欧式距离,得到一个序列,寻找其中数值突变位置,看作文本语义转折处,分离文本各部分。

与现有技术相比,本发明的有益效果是:

本发明为一种基于spark框架的文本聚类模型pw-lda的并行化方法,本发明以短文本聚类模型pw-lda作为对象,使用spark框架对模型进行了并行化实现,力求模型在实际应用的运行中能更快地训练出聚类结果;pw-lda模型具有算法复杂度高,数据规模庞大等特性,其串行运行的时间过长,在互联网应用中不具备使用意义;使用spark框架,通过mapreduce以及graphx技术对模型中各模块进行了并行化的设计与实现,大幅加速了程序运行,从而为其提供实时运行的可行性。

附图说明

图1为本发明的流程图;

图2为本发明中mapreduce的示意图;

图3为本发明中lda的graphx的示意图。

具体实施方式

下面结合具体实施方式对本发明作进一步的说明。其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

实施例

图1至图3为本发明一种基于spark框架的文本聚类模型pw-lda的并行化方法,主要包括以下步骤:

s1:载入科技文献的语料库数据并初始化为spark的分布式数据类型对象。

s2:对导入的语料库中文本通过map方法进行分词、去停用词预处理得到训练样本。

s3:对训练样本使用spark的word2vec接口进行词向量训练。

s4:根据word2vec的结果使用partition算法从训练样本的文本中提取目标段并通过map方法实现算法的并行。

s5:对partition算法提取出的目标段使用spark的基于graphx实现的lda接口训练得到主题-词语矩阵。

s6:根据lda模型得到的主题-词语矩阵以及word2vec得到的词向量计算主题向量并通过map方法实现计算过程并行化。

s7:根据word2vec结果对partition得到的目标段中词语计算得到文本向量,将其比对与所有主题向量的余弦相似度,寻找与目标段最匹配的主题,并通过map方法实现计算过程的并行化。

s8:使用reduce技术从各计算节点汇总计算结果。

其中,步骤s4主要包括如下几个步骤:

s1:根据word2vec获得的词向量累加取平均值计算出文本中每一句的句向量;

s2:计算同一篇文本中两两相邻句子向量的欧式距离,得到一个序列,寻找其中数值突变位置,看作文本语义转折处,分离文本各部分。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1