CN106156142B - 一种文本聚类的处理方法、服务器及系统 - Google Patents
一种文本聚类的处理方法、服务器及系统 Download PDFInfo
- Publication number
- CN106156142B CN106156142B CN201510172296.XA CN201510172296A CN106156142B CN 106156142 B CN106156142 B CN 106156142B CN 201510172296 A CN201510172296 A CN 201510172296A CN 106156142 B CN106156142 B CN 106156142B
- Authority
- CN
- China
- Prior art keywords
- matrix
- word
- text
- topic
- theme
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
一种文本聚类的处理方法、服务器及系统,该方法包括:从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的文本集合中各文本分配到多个第二服务器,建立该多个第二服务器分配的文本中的每一个词的初始映射关系,根据第二服务器反馈的第二服务器分配的文本的每一个词更新后的主题确定文本集合中各文本的聚类结果,每一个词更新后的主题由第二服务器基于改进的吉布斯采样算法,根据第二服务器上的词的初始映射关系进行采样计算得到的。通过确定词的映射关系及使用稠密数据结构的矩阵及使用改进后的吉布斯采样算法,能够有效的降低第二服务器处理的数据量及降低内存消耗,且能够避免出现网络瓶颈。
Description
技术领域
本发明涉及文本聚类领域,尤其涉及一种文本聚类处理方法、服务器及系统。
背景技术
随着互联网技术和数据库技术的普及和发展,人们可以方便地获取和存储大量数据。现实中的数据大多以文本形式存在,文本聚类作为一种手段,可以对文本信息进行组织、摘要和导航,有助于从大量的文本信息资源中准确获取所需信息,因此,文本聚类近年来获得了广泛关注。
文本聚类算法是机器学习,信息检索等领域中一类主要的文本数据挖掘处理方法,是解决互联网文本信息过载的主要途径之一。其目的是按照“物以类聚”的原则组织互联网文本集合,以得到一系列有意义的文本子集。
LDA是一种非监督机器学习技术,可以用来识别海量文本中潜藏的主题信息,它采用词袋模型,利用词、主题、文本三层贝叶斯概率,能取得较好的主题聚类效果,因此,该技术目前在
业界被广泛应用在文本聚类中,常用的经典LDA算法利用吉布斯(Gibbs)采样来建立模型,其中,Gibbs采样计算主题的转移概率公式如下:
其中,上述的公式表示第m篇文本中的第i个词从前一个主题转移到当前的主题即第k个主题的转移概率,下角标中的表示统计值均为转移前的值,下角标中的|i表示除第i个词以外的词,Zi表示第m篇文本中的第i个词,表示包含第i个词的向量,αk表示与第k个主题相关的常量,βt表示与第t篇文本相关的常量,表示常量构成的向量,V表示文本集合,t表示文本集合中的第t篇文本,K表示主题集合,k表示主题集合K中的第k个主题,表示在第m篇文本中第k个主题出现的个数,后面可简称为nmk,表示属于第k个主题的第i个词的个数,后面简称为nkv,表示属于第k个主题的词的总个数,简称为nk。
依据上述的主题的转移概率公式,训练模型的过程包括:1)初始化文本参数,为每一个词随机分配一个主题,确定nmk,nkv和nk的参数值,2)对每篇文本中的每一个词,进行Gibbs采样得到一个更新后的主题,并更新nmk,nkv和nk的参数值,3)对所有文本都采样完毕,一轮迭代完成后,重复执行步骤2)直至nmk,nkv和nk收敛,迭代结束并将每篇文本的采样结果进行输出,确定每篇文本的聚类结果。
然而,现有的LDA技术还是存在一定的缺陷:由于在采样过程中对每个词采样完后都需要更新nmk、nkv、nk这三个参数,为了保证数据一致性需要对该三个参数重新进行统计计算,消耗的时间会特别长,因此,现有的很多论文都提出了对LDA算法的改进,最著名的为谷歌开发的基于多点接口(Multi Point Interface,MPI)并行框架的PLDA算法,该算法中第一服务器将文本均匀地分配到多个第二服务器上并行采样,在每一个第二服务器上都有一个属于该第二服务器的全局变量nkv和nk参数进行第二服务器的局部更新,每一轮迭代结束后第一服务器将所有的nkv、nk的变化合并,同步到第一服务器直至收敛。
然而,上述的PLDA算法虽然解决了消耗时间长的问题,但是同时也引入了新的问题:由于每个第二服务器的局部矩阵需要在第一服务器进行合并更新,而每个第二服务器的矩阵本身的尺寸已经很大,在瞬间由多个第二服务器到第一服务器之间的网络开销会非常大,造成网络瓶颈,此外每个第二服务器都需要存储局部矩阵,内存开销较大,消耗资源多。
发明内容
有鉴于此,本发明提供一种文本聚类的处理方法及系统,用于解决现有技术中出现的网络瓶颈、内存开销大、消耗资源多等问题。
本发明实施例提供的文本聚类的处理方法,包括:
第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器;
建立多个所述第二服务器分配的文本中的每一个词的初始映射关系,并分别发送给多个所述第二服务器,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
根据所述第二服务器反馈的所述第二服务器分配的文本的每一个词更新后的主题确定所述文本集合中各文本的聚类结果,所述每一个词更新后的主题由所述第二服务器基于改进的吉布斯采样算法,根据所述第二服务器上的词的所述初始映射关系进行采样计算得到的。
本发明实施例提供的文本聚类的处理方法,包括:
第二服务器接收第一服务器分配的文本中每一个词的主题,及所述每一个词的初始映射关系,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
所述第二服务器基于改进的吉布斯采样算法,根据所述每一个词的初始映射关系采样计算得到所述每一个词更新后的主题的转移概率,将所述每一个词更新后的主题及更新后的主题的转移概率反馈给所述第一服务器,由所述第一服务器根据文本中各词的更新后的主题及所述更新后的主题的转移概率确定所述文本的聚类结果。
本发明实施例提供的服务器,包括:
分配模块,用于从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器;
建立模块,用于建立多个所述第二服务器分配的文本中的每一个词的初始映射关系,并分别发送给多个所述第二服务器,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
输出模块,用于根据所述第二服务器反馈的所述第二服务器分配的文本的每一个词更新后的主题确定所述文本集合中各文本的聚类结果,所述每一个词更新后的主题由所述第二服务器基于改进的吉布斯采样算法,根据所述第二服务器上的词的所述初始映射关系进行采样计算得到的。
本发明实施例中提供的服务器,包括:
接收模块,用于接收第一服务器分配的文本中每一个词的主题,及所述每一个词的初始映射关系,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
采样模块,用于基于改进的吉布斯采样算法,根据所述每一个词的初始映射关系采样计算得到所述每一个词更新后的主题的转移概率,将所述每一个词更新后的主题及更新后的主题的转移概率反馈给所述第一服务器,由所述第一服务器根据文本中各词的更新后的主题及所述更新后的主题的转移概率确定所述文本的聚类结果。
本发明实施例提供的文本聚类的处理系统,包括:
上述的第一服务器及多个第二服务器。
从以上技术方案可以看出,本发明实施例具有以下优点:
第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的文本集合中各文本分配到多个第二服务器,建立该多个第二服务器分配的文本中的每一个词的初始映射关系,并发给对应的第二服务器,该初始映射关系包括:词与第一矩阵之间的映射关系及词的主题与第二矩阵之间的映射关系,其中,第一矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵,第二矩阵为文本集合中属于词的主题的所有词的个数构成的矩阵,其中,第一矩阵为稠密数据结构的矩阵;根据第二服务器反馈的第二服务器分配的文本的每一个词更新后的主题确定文本集合中各文本的聚类结果,其中,每一个词更新后的主题由第二服务器基于改进的吉布斯采样算法,根据第二服务器上的词的初始映射关系进行采样计算得到的。通过确定词的映射关系及使用稠密数据结构的矩阵并利用改进的吉布斯采样算法进行采样计算,能够有效的减小第二服务器需要处理的数据的大小,且第二服务器上所需要的内存减小,减小资源消耗及时间消耗,且第一服务器在进行文本聚类的过程中也不会出现网络瓶颈。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1a为本发明实施例中服务器系统的示意图;
图1b为本发明实施例中的服务器的结构的实施例;
图2为本发明实施例中文本聚类的处理方法的实施例的一个示意图;
图3为本发明实施例中文本聚类的处理方法的实施例的另一示意图;
图4为本发明实施例中第一服务器确定文本的聚类主题的方法的实施例的一个示意图;
图5为本发明实施例中文本聚类的处理方法的另一示意图;
图6为本发明实施例中第一服务器的结构的一个示意图;
图7为本发明实施例中第一服务器的结构的另一示意图;
图8为本发明实施例中第二服务器的结构的一个示意图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
请参阅图1a,为本发明实施例中服务器系统的示意图,包括第一服务器和多个第二服务器,其中,第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的文本集合中各文本分配到多个第二服务器上,并建立该多个第二服务器分配的文本中的每一个词的初始映射关系,并分别发送给该多个第二服务器,初始映射关系包括:词与第一矩阵之间的映射关系及词的主题与第二矩阵之间的映射关系,第一矩阵为文本集合中属于主题集合中各主题的词的个数构成的稠密数据结构的矩阵,第二矩阵为文本集合中属于词的主题的所有词的个数构成的矩阵,第二服务器将基于改进的吉布斯采样算法对其分配的每一个词的转移概率进行计算,确定每一个词的更新后的主题,并反馈给第一服务器,通过多次迭代计算的方式直至第二服务器反馈给第一服务器的每一个词更新后的主题的转移概率收敛,第一服务器利用各文本收敛后的词的主题确定各文本的聚类结果。其中,通过建立词的映射关系及使用稠密数据结构的矩阵及利用改进的吉布斯采样算法,使得每一个第二服务器使用的是与其分配的文本中的词有关的数据,为局部矩阵数据,第二服务器的计算量减小且所需要的内存空间减小,多个第二服务器在向第一服务器反馈数据时也不会存在网络瓶颈。
在本发明实施例中,第一服务器和第二服务器都是服务器,仅仅是所执行的功能不同,请参阅图1b,为本发明实施例中服务器的结构的实施例,包括:
该服务器100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)122(例如,一个或一个以上处理器)和存储器132,一个或一个以上存储应用程序142或数据144的存储介质130(例如一个或一个以上海量存储设备)。其中,存储器132和存储介质130可以是短暂存储或持久存储。存储在存储介质130的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器122可以设置为与存储介质130通信,在服务器100上执行存储介质130中的一系列指令操作。服务器100还可以包括一个或一个以上电源126,一个或一个以上有线或无线网络接口150,一个或一个以上输入输出接口158,和/或,一个或一个以上操作系统141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
需要说明的是,在本发明实施例中文本聚类的处理方法可以是在开源的高效分布式计算系统(Spark)上执行的,且该计算系统可以是运行在图1所示的服务器上的。
在本发明实施例中,一个完整的聚类流程由文本预处理、初始化、迭代采样和模型输出几个部分组成,本发明实施例中主要是对初始化和迭代采样过程进行优化以使得该文本聚类过程能够避免网络瓶颈,降低资源消耗和缩短处理时间,其中,文本预处理是指第一服务器利用分词库对文本集合中各文本进行分词处理,并去掉停用词及非实意词,将标号转码后得到预处理后的文本集合;初始化是第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,并在分配主题后将文本集合中各文本分配到多个第二服务器,统计初始第三矩阵、第四矩阵及第五矩阵,其中,初始第三矩阵为现有技术中的nmk、第四矩阵为现有技术中的nkv,第五矩阵为现有技术中的nk,且区别于现有技术,第四矩阵和第五矩阵为采用稠密数据结构的矩阵;将第四矩阵和第五矩阵分区映射到第二服务器分配的文本的每一个词上,建立每一个第二服务器上文本的每一个词的初始映射关系,迭代采样是第二服务器利用词的映射关系和初始第三矩阵进行采样计算,所用的算法为改进的吉布斯采样算法,以得到每一个词更新后的主题,该更新后的主题为该词的转移概率中最大的主题,并将更新后的主题及更新后的主题的转移概率反馈给第一服务器,若存在转移概率不收敛的词的主题,则更新上述的初始第三矩阵、第四矩阵和第五矩阵,返回上述的迭代采样,进行迭代计算,直至所有词的转移概率收敛;模型输出是对每一篇文本的词的转移概率进行处理得到该文本的聚类结果。其中,通过进行分区映射及使用稠密数据结构的矩阵及利用改进的吉布斯采样算法,使得每一个第二服务器上处理的数据为局部数据,数据量大大减小,处理数据所消耗的资源也大大减小且所消耗的时间也缩短,且能够避免网络瓶颈。
请参阅图2,为本发明实施例中文本聚类的处理方法的实施例,包括:
201、第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器;
在本发明实施例中,第一服务器为预处理后的文本集合中各文本中每一个词随机分配一个主题,并将分配主题后的文本集合中各文本分配到多个第二服务器上。
在本发明实施例中,文本集合是需要进行预处理的,该预处理的过程是指利用分词库对文本集合中的每一篇文本进行切词,去掉停用词和非实意词,且将标点符合转换后得到预处理后的文本。
在本发明实施例中,第一服务器可将分配主题后的文本集合中各文本分配到多个第二服务器上,且为了避免木桶效应,优选的,第一服务器可将该文本集合中各文本平均地分配给该多个第二服务器。
需要说明的是,本发明实施例中提到的文本集合均是指已经经过预处理后的文本集合,在各实施例中不再做特别说明。
在本发明实施例中,第一服务器上设置了多个主题,该多个主题构成主题集合,第一服务器可为第二服务器分配的文本的每一个词随机分配一个主题,使得文本中的每一个词都具有一个随机分配的主题。
在本发明实施例中,第二服务器能够对分配到的文本进行采样计算,并将采样计算的结果反馈给第一服务器,使得能够实现数据的并行处理。
202、建立多个第二服务器分配的文本中的每一个词的初始映射关系,并分别发送给多个第二服务器,初始映射关系包括:词与第一矩阵之间的映射关系及词的主题与第二矩阵之间的映射关系,第一矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵,第二矩阵为文本集合中属于词的主题的所有词的个数构成的矩阵,第一矩阵为稠密数据结构的矩阵;
在本发明实施例中,第一服务器在将文本集合中文本分配到多个第二服务器后,该第一服务器还将建立该多个第二服务器分配的文本中的每一个词的初始映射关系,并分别发送给该多个第二服务器,且该初始映射关系包括:词与第一矩阵之间的映射关系,词的主题与第二矩阵之间的映射关系,其中第一矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵,第二矩阵为文本集合中属于词的主题的所有词的个数构成的矩阵,其中,第一矩阵为稠密数据结构的矩阵。
在本发明实施例中,文本中的每一个词都有一个与其具有映射关系的第一矩阵,且该第一矩阵是词与主体集合中的主题构成的矩阵,例如:若词为“算法”,主题集合中包含10个主题,则第一服务器确定在文本集合中的所有文本中,该词“算法”对应的每一个主题中,该词“算法”个数。且第一服务器还将使用稠密数据结构的矩阵来保存该第一矩阵,例如:词算法的第一矩阵为{(主题1,10),(主题2,8),(主题4,9),.......,(主题10,30)}。
在本发明实施例中,第一服务器还将确定主题集合中的每一个主题具有的词的个数,以确定词的主题与第二矩阵之间的映射关系,例如:当前词为“算法”,随机为其分配的主题为:主题5,则第一服务器确定在文本集合中的所有文本中,主题均为主题5的词的个数,其中,主题均为主题5的词中当前词“算法”,也可以包含其他不是“算法”的词。例如:主题均为主题5的词的个数为4,其中,该4个词中,有一个词是“苹果”,有一个词为“腾讯”,有一个词为“视频”,有一个词为“算法”,且得到的当前文本的当前词“算法”的主题5对应的第二矩阵为[主题5,4]。
在本发明实施中,第一矩阵为稠密数据结构的矩阵且是与词具有映射关系的矩阵,使得能够有效的降低保存第一矩阵所需要的内存空间,且能够降低在采样过程中处理该第一矩阵所需要的资源。
203、根据第二服务器反馈的第二服务器分配的文本的每一个词更新后的主题确定文本集合中各文本的聚类结果,每一个词更新后的主题由第二服务器基于改进的吉布斯采样算法,根据第二服务器上的词的初始映射关系进行采样计算得到的。
在本发明实施例中,第一服务器将根据第二服务器反馈的该第二服务器分配的文本的每一个词更新后的主题确定文本集合中各文本的聚类结果,其中,每一个词更新后的主题是由第二服务器基于改进的吉布斯采样算法,根据该第二服务器上的每一个词的初始映射关系进行采样计算得到的。
在本发明实施例中,第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的文本集合中各文本分配到多个第二服务器,建立该多个第二服务器分配的文本中的每一个词的初始映射关系,初始映射关系包括:词与第一矩阵之间的映射关系及词的主题与第二矩阵之间的映射关系,该第一矩阵为文本集合中属于主题集合中各主题的上述词的个数构成的矩阵,第二矩阵为文本集合中属于词的主题的所有词的个数构成的矩阵,其中,第一矩阵为稠密数据结构的矩阵,第一服务器还根据第二服务器反馈的第二服务器分配的文本的每一个词更新后的主题确定所述文本集合中各文本的聚类结果,其中,每一个词更新后的主题由第二服务器基于改进的吉布斯采样算法,根据第二服务器上的词的初始映射关系进行采样计算得到的。通过建立分配的文本中的词的映射关系,及映射关系中的第一矩阵使用稠密数据结构的矩阵,使得每个第二服务器上的局部变量的尺寸减小,能够有效的降低聚类过程中网络开销及资源消耗,且由于第二服务器上需要保持的局部变量的尺寸减小,内存开销也将减小,能够有效节约内存资源,同时利用基于改进的吉布斯采样算法进行采样计算能够有效的降低采样的计算量,加快采样计算的速度提高系统性能。
请参阅图3,为本发明实施例中文本聚类的处理方法的实施例,包括:
301、从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的文本集合中各文本分配到多个第二服务器;
在本发明实施例中,第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的文本集合中各文本分配到多个第二服务器。
在本发明实施例中,文本集合是需要进行预处理的,该预处理的过程是指利用分词库对文本集合中的每一篇文本进行切词,去掉停用词和非实意词,且将标点符合转换后得到预处理后的文本。
在本发明实施例中,第一服务器可将文本集合中各文本分配到多个第二服务器上,且为了避免木桶效应,优选的,第一服务器可将该文本集合中各文本平均地分配给该多个第二服务器。
在本发明实施例中,第二服务器能够对分配到的文本进行采样计算,并将采样计算的结果反馈给第一服务器,使得能够实现数据的并行处理。
302、统计计算初始第三矩阵,第四矩阵及第五矩阵,初始第三矩阵为文本集合的各文本中主题集合中的各主题出现的个数构成的稠密数据结构的矩阵,第四矩阵为文本集合中的每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵,第五矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵;
在本发明实施例中,第一服务器在将文本集合中各文本分配给多个第二服务器之后,统计计算初始第三矩阵,第四矩阵及第五矩阵,其中,初始第三矩阵及第四矩阵及第五矩阵均为全局变量。
在本发明实施例中,初始第三矩阵为文本集合中各文本中主题集合中的各主题出题出现的个数构成的稠密数据结构的矩阵,该初始第三矩阵是基于主题集合计算每一个主题在文本集合中各文本出现的个数的,例如:主题集合中有30个主题,第一服务器将分别统计该30个主题在文本集合中的各个文本中对应的词的个数,以得到一个矩阵,即初始第三矩阵。为了更好的理解,下面将举一个例子,请参阅表4,为初始第三矩阵中各数据构成的表格,具体为:
主题1 | 主题2 | 主题3 | 主题4 | 主题5 | ...... | 主题m | |
文本1 | 0 | 3 | 8 | 10 | 0 | ...... | 6 |
文本2 | 3 | 0 | 0 | 9 | 2 | ...... | 0 |
文本3 | 7 | 8 | 9 | 2 | 1 | ...... | 8 |
...... | ...... | ...... | ...... | ...... | ...... | ...... | ...... |
文本n | 4 | 6 | 0 | 0 | ...... | 5 |
表4
且基于表4中的数据可确定具有稠密数据结构的初始第三矩阵为:{{(主题2,3),(主题3,8),(主题4,10),.....,(主题m,6)},{(主题1,3),(主题4,9),(主题5,2),.....},{(主题1,7),(主题2,8),(主题3,9),(主题4,2),(主题5,1),.....,(主题m,8)},{(主题1,4),(主题2,6),......,(主题m,5)}}。
在本发明实施例中,第四矩阵为文本集合中的每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵。对于第二服务器分配的文本中的每一个词,第一服务器都将统计每一个词属于各个主题的个数,并得到所有词属于主题集合中各出题的个数的构成的第四矩阵,例如:对于词“算法”,第一服务器将获取所有文本中词“算法”随机分配到的主题,并确定该算法对应每一个主题的个数,即可得到词“算法”在第四矩阵中的子矩阵。
需要说明的是,在本发明实施例中,第四矩阵是稠密数据结构的矩阵。在现有技术中,第四矩阵的数据结构一般是个word*主题*4字节的二维数据,往往这个尺寸在50万的文本数据量时,聚类1000个主题时文本集合中的每一个词属于主题集合中各主题的个数的矩阵就能达到1G左右,所需要的存储空间大,而对大量短文本数据而言这个矩阵是非常稀疏的,将造成采样过程中耗时长的问题。在本发明实施例中,第四矩阵是稠密数据结构的矩阵,是非稀疏矩阵,所需要的存储空间小且在计算过程中的耗时也短。
为了更好的理解,请参阅如下的两个表格,表1a为现有技术中的第四矩阵的中的数据结构的一个例子,表1b为本发明实施例中的第四矩阵中的数据结构的一个例子,如下:
主题1 | 主题2 | ...... | 主题N | |
词1 | N1 | 0 | ...... | 0 |
词2 | 0 | N2 | ...... | 0 |
...... | ...... | ...... | ...... | ...... |
词N | 0 | 0 | ...... | Nn |
表1
词1 | (主题1,N1)...... |
词2 | (主题2,N2)...... |
...... | ...... |
词4 | (主题N,Nn)....... |
表2
基于上述的表2可知,第四矩阵为{{(主题1,N1),.....},{(主题2,N2),......},......,{(主题N,Nn),......}}。
在本发明实施例中,第五矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵,例如,若主题集合中有一千个主题,则第一服务器将分别统计该一千个主题在文本集合中多对应的词的个数,为了更好的理解,以下为第五矩阵中的数据以表格形式展现的一个例子:
主题1 | 主题2 | 主题3 | 主题4 | 主题5 | ...... | 主题1000 | |
词的个数 | 185 | 371 | 459 | 87 | 293 | ...... | 362 |
表3
从表3可以看出,第五矩阵为{(主题1,185),(主题2,371),(主题3,459),(主题4,87),(主题5,293),......,(主题1000,362)}。
304、将第四矩阵及第五矩阵进行分区映射,建立多个第二服务器上分配的文本中的每一个词的初始映射关系,并将多个第二服务器分配的文本中每一个词的初始映射关系及初始第三矩阵发送给对应的第二服务器;
在本发明实施例中,第一服务器在得到初始第三矩阵、第四矩阵及第五矩阵之后,将第四矩阵及第五矩阵进行分区映射,建立多个第二服务器上分配的文本中的每一个词的初始映射关系,并将多个第二服务器分配的文本中每一个词的初始映射关系初始第三矩阵发送给对应的第二服务器,需要说明的是,该初始第三矩阵也将发送给各第二服务器。此外,还可按照文本的划分对第三矩阵进行分区映射,例如,若一个第二服务器上分配了文本1至N,则从第三矩阵中将文本1至N的部分划分为该第二服务器,以实现第三矩阵的分区映射。
在本发明实施例中,词的映射关系包括:词与第一矩阵之间的映射关系及词的主题与第二矩阵之间的映射关系,具体的:第一服务器确定第二服务器分配的词及词的主题,从第四矩阵中获取当前词所对应的矩阵作为该当前词的第一矩阵,建立该当前词与第一矩阵之间的映射关系,例如,在表2中,若当前词为词1,则与该词1具有映射关系的第一矩阵为{(主题1,N1)......};此外,第一服务器还将从第五矩阵中获取当前词的主题对应的词的个数的第二矩阵,建立该当前词与第二矩阵之间的映射关系,例如,在表2中,若词1的主题为主题2,则与该词1的主题2具有映射关系的第二矩阵为(主题2,371)。
在本发明实施例中,第一服务器可通过上述的分区映射的方法,建立分配了文本的每一个第二服务器上每一个文本上的每一个词的初始映射关系。
在本发明实施例中,文本中的词出现在该文本中的频率往往是长尾分布,即大部分是低频词,所以通过分区映射的方式相当于每个第二服务器上分配的文本中的词的映射关系中包含的第一矩阵只是第四矩阵中的一部分,且第二矩阵也是第五矩阵中的一部分,不会出现第二服务器的大数据传输,且更新该结构时用一个join过程来更新数据,也能使得消耗由各第二服务器承担,能够有效减小第一服务器的负担。
304、确定文本集合中各文本的每一个词的聚类主题,聚类主题是第二服务器是第二服务器基于改进的吉布斯采样算法得到的,第二服务器分别根据分配的文本中的每一个词的初始映射关系及初始第三矩阵计算每一个词的转移概率,且确定每一个词的转移概率在迭代收敛后的主题作为词的聚类主题;
在本发明实施例中,第一服务器在进行分区映射之后,将由第二服务器基于改进的吉布斯采样算法得到其分配的文本中的每一个词的聚类主题,具体的:第二服务器根据分配的文本中的每一个词的初始映射关系及初始第三矩阵计算每一个词的转移概率,且确定每一个词的转移概率迭代收敛后的主题作为该词的聚类主题。
为了更好的理解本发明实施例中的步骤305,请参阅图4,为本发明实施例中第一服务器确定文本的聚类主题的方法的实施例,包括:
q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为初始映射关系,第0次迭代的第三矩阵为初始第三矩阵;按照以下步骤执行迭代过程:
401、第一服务器获取多个第二服务器第q次反馈的基于改进的吉布斯采样算法得到的第二服务器分配的文本中各词的第q次迭代后的主题及各词第q次迭代后的主题的转移概率,第二服务器基于改进的吉布斯采样算法对各词的第q-1次迭代的映射关系及第q-1次迭代的第三矩阵计算得到各词的第q次迭代后的主题及各词第q次迭代后的主题的转移概率;
在本发明实施例中,第二服务器将基于改进的吉布斯采样算法,利用第二服务器分配的文本中的每一个词的初始映射关系,及初始第三矩阵进行采样计算,得到每一个词更新后的主题。
其中,改进的吉布斯采样算法具体为:
且上述算法可以表示为:
其中,表示第i个词从上一个主题转移到第k个主题的转移概率,Zi表示第m篇文本中的第i个词,表示使用的是第i个词上一个主题的参数,αk表示常量,β表示常量,表示αk和β的向量,nmkk表示上一次迭代后的第三矩阵中第k个主题的个数中第m篇文本中第k个主题出现的个数,nkvk表示上一个主题下的第i个词的第一矩阵,nkk表示上一个主题下的第i个词的第二矩阵,V表示文本集合中文本的总数。
在本发明实施例中,第二服务器对分配的每一个词都将计算其转移概率,以第m篇文本中的第i个词为例:
第二服务器利用上述的改进的吉布斯采样算法计算第i个词从当前的主题转移到其他主题时,每一个主题的转移概率,具体的:
首先,基于改进的吉布斯采样算法计算第m篇文本中的第i个词从当前的主题转移到主题集合中的每一个主题的转移概率,将主题与转移概率的对应关系构成概率集合;
其次,对概率集合中的转移概率进行归一化处理,并按照累加的方式确定每一个主题的转移概率区间,确定并保存每一个转移概率的s参数,r参数及q参数,且归一化处理为s区间、r区间及q区间;
例如:若概率集合中包含10个主题的转移概率,则对该10个主题的转移概率进行归一化处理,且归一化后的转移概率为C1、C2、C3、C4、C5、C6、C7、C8、C9、C10,则该10个主题的转移概率区间分别为(0,C1),(C1,C1+C2),(C1+C2,C1+C2+C3),(C1+C2+C3,C1+C2+C3+C4),(C1+C2+C3+C4,C1+C2+C3+C4+C5),(C1+C2+C3+C4+C5,C1+C2+C3+C4+C5+C6),(C1+C2+C3+C4+C5+C6,C1+C2+C3+C4+C5+C6+C7),(C1+C2+C3+C4+C5+C6+C7,C1+C2+C3+C4+C5+C6+C7+C8),(C1+C2+C3+C4+C5+C6+C7+C8,C1+C2+C3+C4+C5+C6+C7+C8+C9),(C1+C2+C3+C4+C5+C6+C7+C8+C9,C1+C2+C3+C4+C5+C6+C7+C8+C9+C10)。
例如:若对s参数、r参数及q参数归一化后得到的是s0,r0及q0,则s区间为(0,s0),r区间为(s0,s0+r0),q区间为(s0+r0,s0+r0+q0)。
在本发明实施例中,第二服务器在确定了上述区间之后,将随机确定采样值x,确定该采样值x是在s区间还是在r区间还是在q区间,确定采样值x在上述的哪个转移概率区间,并将其所在的转移概率区间对应的主题作为该第i个词更新后的主题,其中,x属于(0,1)。
在本发明实施例中,第二服务器在得到第i个词更新后的主题之后,将根据该第i个词更新后的主题更新该第i个词的映射关系,及更新包含第i个词更新前的主题的词的映射关系。
需要说明的是,在本发明实施例中,第二服务器在按照上述方式得到各文本中各词的更新后的主题及更新后的主题的转移概率之后,将更新后的主题及更新后的主题的转移概率发送给第一服务器,由第一服务器确定是否需要进行下一次迭代计算。
需要说明的是,由于αk,β是常量,且数值较小,所以大部分采样都会落在q区间,这样分层计算时间便可进行优化,即将每个主题的q值缓存起来,是的下一次迭代时不需要再次计算该主题的q值,能够有效降低计算量,且减少计算的时间,且由于每次采样只改动至多2个主题的映射关系,则循环计算转移概率区间的复杂度由O(k)下降到O(2),而循环一步查找采样属于转移概率区间的复杂度也由O(k)下降到O(k’),k’为该词属于的主题的个数,即查找区间只需要在k’个区间遍历。而当采样落在s区间时,复杂度不变均为O(k);落在r区间时,复杂度为O(k”),k”为该文本中属于第k个的主题的个数。综上,加速主要针对短文本,当迭代到一定轮次(往往只需要20次左右)后,主题与词的矩阵将非常稀疏,采用本方法的加速效果可达到之前的5倍以上。
402、若多个第二服务器分配的各词第q次迭代后的主题的转移概率收敛,则确定第q次迭代后的主题为聚类主题;
403、若第q次迭代后的主题的转移概率中存在不收敛的转移概率,则利用各词第q次迭代后的主题更新各词的映射关系,得到各词第q+1次迭代的映射关系及第q+1次迭代的第三矩阵,并将第q+1次迭代的映射关系及第q+1次迭代的第三矩阵按照映射关系发送给多个第二服务器,令q=q+1,返回执行步骤401。
在本发明实施例中,第二服务器在将第q次迭代后更新后的主题及更新后的主题的转移概率发送给第一服务器之后,第一服务器将确定第q次迭代后的主题的转移概率是否收敛,若收敛,则确定第q次迭代后的主题为聚类主题,且结束迭代过程。
在本发明实施例中,若第一服务器确定第q迭代后的主题的转移概率中存在不收敛的转移概率,则利用各词第q次迭代后的更新后的主题更新各词的映射关系,得到各词第q+1次迭代的映射关系及第q+1次迭代的第三矩阵,并将第q+1次迭代的映射关系及第q+1次迭代的第三矩阵发给该多个第二服务器,令q=q+1,返回步骤401。
在本发明实施例中,词的主题的转移概率收敛是指每一个词的转移概率趋近一个固定值,每次采样后的转移概率变化都小于预先设置的数值。
在本发明实施例中,第二服务器基于改进的吉布斯采样算法,利用第二服务器分配的文本中的每一个词的初始映射关系,及初始第三矩阵进行采样计算,得到每一个词更新后的主题,利用每一个词更新后的主题其映射关系进行更新,第一服务器若确定每一个词更新后的主题的转移概率均收敛,则确定更新后的主题为词的聚类主题;若文本集合中文本的所有词中存在更新后的主题的转移概率不收敛的词,则完成更新后返回步骤401。通过上述的迭代采样过程,能够得到文本集合中每一个词收敛后主题及主题的转移概率,且将词收敛的主题作为该词的聚类主题,其中,由于第二服务器上的词都实现了分区映射,且分区映射的矩阵采用的是稠密数据结构的矩阵,因此,每个第二服务器进行迭代采样过程所需要的资源就大大降低了,且所消耗的时间也缩短了,且在向第一服务器反馈的数据的大小也减小了,并不会造成网络瓶颈。且由于第二服务器使用的是改进的吉布斯采样算法,也将大大减少第二服务器的计算量及所有时间,能够有效提高效率。
305、从各第二服务器上分配的文本的每一个词的聚类主题的转移概率中选择转移概率满足预先设置条件的词进行处理,得到文本的聚类结果。
在本发明实施例中,第一服务器将从各第二服务器上分配的文本的每一个词的聚类主题的转移概率中选择转移概率满足预先设置条件的词进行处理,得到文本的聚类结果。
其中,满足预先设置条件的词可以为:聚类主题的转移概率在文本中的排序处于前N的词,其中,N为正整数,在实际应用中,还可以根据实际情况确定该预先设置条件,此处不做限定。
在本发明实施例中,第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的文本集合中各文本分配到多个第二服务器,统计计算初始第三矩阵、第四矩阵及第五矩阵,其中,初始第三矩阵为文本集合中各文本主题集合中各主题出现的个数构成的稠密数据结构的矩阵,第四矩阵为文本集合中每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵,第五矩阵问文本集合中属于主题集合中各主题的词的个数构成的矩阵;将第四矩阵及第五矩阵进行分区映射,建立多个第二服务器上分配的每一个词的初始映射关系;基于改进的吉布斯采样算法,由多个第二服务器分别根据分配的文本中的每一个词的初始映射关系及初始第三矩阵计算每一个词的转移概率,且确定每一个词的转移概率在迭代收敛后的主题作为词的聚类主题,从各第二服务器上分配的文本的每一个词的聚类主题的转移概率中选择转移概率满足预先设置条件的词进行处理,得到文本的聚类结果,通过上述分区映射及利用稠密数据结构的矩阵及利用改进的吉布斯采样算法对词的转移概率进行迭代采样计算,能够有效的减少每一个第二服务器数据处理过程中使用的资源及消耗的时间,且所需要的存储空间小,且在多个第二服务器向第一服务器返回数据时也不会造成网络瓶颈。
下面将详细描述第二服务器侧进行采样的过程,请参阅图5,为本发明实施例中第二服务器进行采样的方法的实施例,包括:
501、第二服务器接收第一服务器分配的文本中每一个词的主题,及每一个词的初始映射关系;
在本发明实施例中,第二服务器将接收到第一服务器分配的文本,及分配的文本中每一个词的主题,及每一个词的初始映射关系,其中,初始映射关系包括:词与第一矩阵之间的映射关系及词的主题与第二矩阵之间的映射关系,第一矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵,第二矩阵为文本集合中属于词的主题的所有词的个数构成的矩阵,第一矩阵为稠密数据结构的矩阵。
502、第二服务器基于改进的吉布斯采样算法,根据每一个词的初始映射关系采样计算得到每一个词更新后的主题的转移概率,将每一个词更新后的主题的转移概率反馈给第一服务器,由第一服务器根据文本中各词的更新后的主题的转移概率确定文本的聚类结果。
在本发明实施例中,第二服务器将基于改进的吉布斯采样算法,根据每一个词的初始映射关系采样计算得到每一个词更新后的主题的转移概率,将每一个词更新后的主题的转移概率反馈给第一服务器,由第一服务器根据文本中各词的更新后的主题的转移概率确定文本的聚类结果。
其中,改进的吉布斯采样算法包括:
其中,表示第i个词从上一个主题转移到第k个主题的转移概率,Zi表示第m篇文本中的第i个词,表示使用的是第i个词上一个主题的参数,αk表示常量,β表示常量,表示αk和β的向量,nmkk表示上一次迭代后的第三矩阵中第k个主题的个数中第m篇文本中第k个主题出现的个数,nkvk表示上一个主题下的第i个词的第一矩阵,nkk表示上一个主题下的第i个词的第二矩阵,V表示文本集合中文本的总数。
其中,第二服务器还将接收第一服务器发送的初始第三矩阵,初始第三矩阵为第一服务器统计的文本集合的各文本中主题集合中的各主题出现的个数构成的稠密数据结构的矩阵;
在本发明实施例中,第二服务器基于改进的吉布斯采样算法,根据每一个词的初始映射关系采样计算得到每一个词更新后的主题的转移概率,将每一个词更新后的主题的转移概率反馈给第一服务器,包括:
q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为初始映射关系;第0次迭代的第三矩阵为初始第三矩阵;对分配的文本中的每一个词按照如下的方式计算更新后的主题:
1)基于改进的吉布斯采样算法计算第m篇文本中的第i个词从当前的主题转移到主题集合中的每一个主题的转移概率,将主题与转移概率的对应关系构成概率集合;
2)对概率集合中的转移概率进行归一化处理,并按照累加的方式确定每一个主题的转移概率区间,确定并保存每一个转移概率的s参数、r参数及q参数,且归一化处理为s区间、r区间及q区间;
例如:若概率集合中包含10个主题的转移概率,则对该10个主题的转移概率进行归一化处理,且归一化后的转移概率为C1、C2、C3、C4、C5、C6、C7、C8、C9、C10,则该10个主题的转移概率区间分别为(0,C1),(C1,C1+C2),(C1+C2,C1+C2+C3),(C1+C2+C3,C1+C2+C3+C4),(C1+C2+C3+C4,C1+C2+C3+C4+C5),(C1+C2+C3+C4+C5,C1+C2+C3+C4+C5+C6),(C1+C2+C3+C4+C5+C6,C1+C2+C3+C4+C5+C6+C7),(C1+C2+C3+C4+C5+C6+C7,C1+C2+C3+C4+C5+C6+C7+C8),(C1+C2+C3+C4+C5+C6+C7+C8,C1+C2+C3+C4+C5+C6+C7+C8+C9),(C1+C2+C3+C4+C5+C6+C7+C8+C9,C1+C2+C3+C4+C5+C6+C7+C8+C9+C10)。
例如:若对s参数、r参数及q参数归一化后得到的是s0,r0及q0,则s区间为(0,s0),r区间为(s0,s0+r0),q区间为(s0+r0,s0+r0+q0)。
3)随机确定采样值x,确定采样值x是在s区间还是在r区间还是在q区间;确定采样值x属于每一个主题的转移概率区间中的区间,并将采样值x所属的概率区间的主题作为第i个词更新后的主题,x属于(0,1);
4)根据第i个词更新后的主题更新第i个词的映射关系,及更新包含第i个词更新前的主题的词的映射关系。
在本发明实施例中,第二服务器在2)中确定了上述区间之后,将随机确定采样值x,确定该采样值x是在s区间还是在r区间还是在q区间,确定采样值x在上述的哪个转移概率区间,并将其所在的转移概率区间对应的主题作为该第i个词更新后的主题,其中,x属于(0,1)。
在本发明实施例中,第二服务器在得到第i个词更新后的主题之后,将根据该第i个词更新后的主题更新该第i个词的映射关系,及更新包含第i个词更新前的主题的词的映射关系。
需要说明的是,在本发明实施例中,第二服务器在按照上述方式得到各文本中各词的更新后的主题及更新后的主题的转移概率之后,将更新后的主题及更新后的主题的转移概率发送给第一服务器,由第一服务器确定是否需要进行下一次迭代计算。
需要说明的是,由于αk,β是常量,且数值较小,所以大部分采样都会落在q区间,这样分层计算时间便可进行优化,即将每个主题的q值缓存起来,是的下一次迭代时不需要再次计算该主题的q值,能够有效降低计算量,且减少计算的时间,且由于每次采样只改动至多2个主题的映射关系,则循环计算转移概率区间的复杂度由O(k)下降到O(2),而循环一步查找采样属于转移概率区间的复杂度也由O(k)下降到O(k’),k’为该词属于的主题的个数,即查找区间只需要在k’个区间遍历。而当采样落在s区间时,复杂度不变均为O(k);落在r区间时,复杂度为O(k”),k”为该文本中属于第k个的主题的个数。综上,加速主要针对短文本,当迭代到一定轮次(往往只需要20次左右)后,主题与词的矩阵将非常稀疏,采用本方法的加速效果可达到之前的5倍以上。
在本发明实施例中,第二服务器上是局部变量,且使用稠密数据结构的矩阵基于改进的吉布斯采样算法进行采样计算,能够有效的降低第二服务器处理的数据量,加快第二服务器处理的速度,节约时间且提高效率。
请参阅图6为本发明实施例中第一服务器的结构的示意图,包括:
分配模块601,用于从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器;
建立模块602,用于建立多个所述第二服务器分配的文本中的每一个词的初始映射关系,并分别发送给多个所述第二服务器,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
输出模块603,用于根据所述第二服务器反馈的所述第二服务器分配的文本的每一个词更新后的主题确定所述文本集合中各文本的聚类结果,所述每一个词更新后的主题由所述第二服务器基于改进的吉布斯采样算法,根据所述第二服务器上的词的所述初始映射关系进行采样计算得到的。
在本发明实施例中,文本集合是需要进行预处理的,该预处理的过程是指利用分词库对文本集合中的每一篇文本进行切词,去掉停用词和非实意词,且将标点符合转换后得到预处理后的文本。
在本发明实施例中,文本中的每一个词都有一个与其具有映射关系的第一矩阵,且该第一矩阵是词与主体集合中的主题构成的矩阵,例如:若词为“算法”,主题集合中包含10个主题,则第一服务器确定在文本集合中的所有文本中,该词“算法”对应的每一个主题中,该词“算法”个数。且第一服务器还将使用稠密数据结构的矩阵来保存该第一矩阵,例如:词“算法”的第一矩阵为{(主题1,10),(主题2,8),(主题4,9),.......,(主题10,30)}。
在本发明实施例中,第一服务器还将确定主题集合中的每一个主题具有的词的个数,以确定词的主题与第二矩阵之间的映射关系,例如:当前词为“算法”,随机为其分配的主题为:主题5,则第一服务器确定在文本集合中的所有文本中,主题均为主题5的词的个数,其中,主题均为主题5的词中当前词“算法”,也可以包含其他不是“算法”的词。例如:主题均为主题5的词的个数为4,其中,该4个词中,有一个词是“苹果”,有一个词为“腾讯”,有一个词为“视频”,有一个词为“算法”,且得到的当前文本的当前词“算法”的主题5对应的第二矩阵为[主题5,4]。
在本发明实施中,第一矩阵为稠密数据结构的矩阵,使得能够有效的降低保存第一矩阵所需要的内存空间,且能够降低在采样过程中处理该第一矩阵所需要的资源。
在本发明实施例中,分配模块601将从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器;接着建立模块602建立多个所述第二服务器分配的文本中的每一个词的初始映射关系,并分别发送给多个所述第二服务器,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;并由输出模块603根据所述第二服务器反馈的所述第二服务器分配的文本的每一个词更新后的主题确定所述文本集合中各文本的聚类结果,所述每一个词更新后的主题由所述第二服务器基于改进的吉布斯采样算法,根据所述第二服务器上的词的所述初始映射关系进行采样计算得到的。
在本发明实施例中,第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的文本集合中各文本分配到多个第二服务器,建立该多个第二服务器分配的文本中的每一个词的初始映射关系,并分别发送给多个第二服务器,初始映射关系包括:词与第一矩阵之间的映射关系及词的主题与第二矩阵之间的映射关系,该第一矩阵为文本集合中属于主题集合中各主题的上述词的个数构成的矩阵,第二矩阵为文本集合中属于词的主题的所有词的个数构成的矩阵,其中,第一矩阵为稠密数据结构的矩阵,第一服务器还将根据第二服务器反馈的第二服务器分配的文本的每一个词更新后的主题确定文本集合中各文本的聚类结果,其中,每一个词更新后的主题由第二服务器基于改进的吉布斯采样算法,根据第二服务器上的词的初始映射关系进行采样计算得到的。通过本中的词的映射关系,及使用稠密数据结构的矩阵及利用改进的吉布斯采样算法,使得每个第二服务器上的局部变量的尺寸减小,能够有效的降低聚类过程中网络开销及资源消耗,且由于第二服务器上需要保持的局部变量的尺寸减小,内存开销也将减小,能够有效节约内存资源。
为了更好的理解本发明实施例中第一服务器,请参阅图7,为本发明实施例中文本聚类的第一服务器的结构的实施例,包括:
如图6所示实施例中描述的分配模块601,建立模块602,输出模块603,且与图6所示实施例中描述的内容相似,此处不做赘述。
在本发明实施例中,建立模块602包括:
统计模块701,用于统计计算初始第三矩阵,第四矩阵及第五矩阵,初始第三矩阵为文本集合的各文本中主题集合中的各主题出现的个数构成的稠密数据结构的矩阵,第四矩阵为文本集合中的每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵,第五矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵;
映射模块702,用于将所述第四矩阵及所述第五矩阵进行分区映射,建立多个所述第二服务器上分配的文本中的每一个词的所述初始映射关系,并将多个所述第二服务器分配的文本中每一个词的所述初始映射关系及所述初始第三矩阵发送给对应的所述第二服务器。
在本发明实施例中,文本中的词出现在该文本中的频率往往是长尾分布,即大部分是低频词,所以通过分区映射的方式相当于每个第二服务器上分配的文本中的词的映射关系中包含的矩阵只是第四矩阵中的一部分,不会出现单第二服务器的大数据传输,且更新该结构时用一个join过程来更新数据,也能使得消耗由各第二服务器承担,能够有效减小第一服务器的负担
在本发明实施例中,输出模块603包括:
主题确定模块703,用于确定所述文本集合中各文本的每一个词的聚类主题,所述聚类主题是所述第二服务器基于所述改进的吉布斯采样算法得到的,所述第二服务器根据分配的文本中的每一个词的所述初始映射关系及所述初始第三矩阵迭代采样计算所述每一个词的主题的转移概率,且确定所述每一个词的转移概率收敛后的主题作为所述词的聚类主题;
结果输出模块704,用于从多个所述第二服务器上分配的文本的每一个词的所述聚类主题的转移概率中选择转移概率满足预先设置条件的词进行处理,得到所述文本的聚类结果。
其中,满足预先设置条件的词可以为:聚类主题的转移概率在文本中的排序处于前N的词,其中,N为正整数,在实际应用中,还可以根据实际情况确定该预先设置条件,此处不做限定。
在本发明实施例中,主题确定模块703包括:
q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为所述初始映射关系;第0次迭代的第三矩阵为初始第三矩阵;
获取模块705,用于获取多个所述第二服务器第q次反馈的基于所述改进的吉布斯采样算法得到的所述第二服务器分配的文本中各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率,其中,所述各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率是所述第二服务器基于所述改进的吉布斯采样算法对所述各词的第q-1次迭代的映射关系及第q-1次迭代的第三矩阵计算得到的;
处理模块706,用于若多个所述第二服务器分配的各词第q次迭代后的主题的转移概率收敛,则确定所述第q次迭代后的主题为所述聚类主题;或者若所述第q次迭代后的主题的转移概率中存在不收敛的转移概率,则利用所述各词第q次迭代后的主题更新所述各词的映射关系,得到所述各词第q次迭代的映射关系及第q次迭代的第三矩阵,并将所述第q次迭代的映射关系及第q次迭代的第三矩阵发送给多个所述第二服务器,令q=q+1,返回执行所述获取多个所述第二服务器第q次反馈的基于改进的吉布斯采样算法得到的所述第二服务器分配的文本中各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率的步骤。
其中,改进的吉布斯采样算法具体为:
其中,表示第i个词从上一个主题转移到第k个主题的转移概率,Zi表示第m篇文本中的第i个词,表示使用的是第i个词上一个主题的参数,αk表示常量,β表示常量,表示αk和β的向量,nmkk表示上一个迭代后的第三矩阵中第k个主题的个数,nkvk表示上一个主题下的第i个词的第一矩阵,nkk表示上一个主题下的第i个词的第二矩阵,V表示所述文本集合中文本的总数。
在本发明实施例中,文本集合是需要进行预处理的,该预处理的过程是指利用分词库对文本集合中的每一篇文本进行切词,去掉停用词和非实意词,且将标点符合转换后得到预处理后的文本。
在本发明实施例中,初始第三矩阵为文本集合中各文本中主题集合中的各主题出题出现的个数构成的稠密数据结构的矩阵,该初始第三矩阵是基于主题集合计算每一个主题在文本集合中各文本出现的个数的,例如:主题集合中有30个主题,第一服务器将分别统计该30个主题在文本集合中的各个文本中对应的词的个数,以得到一个矩阵,即初始第三矩阵。为了更好的理解,下面将举一个例子,请参阅表4,为初始第三矩阵中各数据构成的表格,具体为:
主题1 | 主题2 | 主题3 | 主题4 | 主题5 | ...... | 主题m | |
文本1 | 0 | 3 | 8 | 10 | 0 | ...... | 6 |
文本2 | 3 | 5 | 0 | 9 | 2 | ...... | 0 |
文本3 | 7 | 8 | 9 | 2 | 1 | ...... | 8 |
...... | ...... | ...... | ...... | ...... | ...... | ...... | ...... |
文本n | 4 | 6 | 12 | 4 | 2 | ...... | 5 |
表4
且基于表4中的数据可确定具有稠密数据结构的初始第三矩阵为:{{(主题2,3),(主题3,8),(主题4,10),.....,(主题m,6)},{(主题1,3),(主题4,9),(主题5,2),.....},{(主题1,7),(主题2,8),(主题3,9),(主题4,2),(主题5,1),.....,(主题m,8)},{(主题1,4),(主题2,6),......,(主题m,5)}}。
在本发明实施例中,第四矩阵为文本集合中的每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵。对于第二服务器分配的文本中的每一个词,第一服务器都将统计每一个词属于各个主题的个数,并得到所有词属于主题集合中各出题的个数的构成的第四矩阵,例如:对于词“算法”,第一服务器将获取所有文本中词“算法”随机分配到的主题,并确定该算法对应每一个主题的个数,即可得到词“算法”在第四矩阵中的子矩阵。
需要说明的是,在本发明实施例中,第四矩阵是稠密数据结构的矩阵。在现有技术中,第四矩阵的数据结构一般是个word*主题*4字节的二维数据,往往这个尺寸在50万的文本数据量时,聚类1000个主题时文本集合中的每一个词属于主题集合中各主题的个数的矩阵就能达到1G左右,所需要的存储空间大,而对大量短文本数据而言这个矩阵是非常稀疏的,将造成采样过程中耗时长的问题。在本发明实施例中,第四矩阵是稠密数据结构的矩阵,是非稀疏矩阵,所需要的存储空间小且在计算过程中的耗时也短。
为了更好的理解,请参阅如下的两个表格,表1a为现有技术中的第四矩阵的中的数据结构的一个例子,表1b为本发明实施例中的第四矩阵中的数据结构的一个例子,如下:
主题1 | 主题2 | ...... | 主题N | |
词1 | N1 | 0 | ...... | 0 |
词2 | 0 | N2 | ...... | 0 |
...... | ...... | ...... | ...... | ...... |
词N | 0 | 0 | ...... | Nn |
表1
词1 | (主题1,N1)...... |
词2 | (主题2,N2)...... |
...... | ...... |
词4 | (主题N,Nn)....... |
表2
基于上述的表2可知,第四矩阵为{{(主题1,N1),.....},{(主题2,N2),......},......,{(主题N,Nn),......}}。
在本发明实施例中,第五矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵,例如,若主题集合中有一千个主题,则第一服务器将分别统计该一千个主题在文本集合中多对应的词的个数,为了更好的理解,以下为第五矩阵中的数据以表格形式展现的一个例子:
主题1 | 主题2 | 主题3 | 主题4 | 主题5 | ...... | 主题1000 | |
词的个数 | 185 | 371 | 459 | 87 | 293 | ...... | 362 |
表3
从表3可以看出,第五矩阵为{(主题1,185),(主题2,371),(主题3,459),(主题4,87),(主题5,293),......,(主题1000,362)}。
在本发明实施例中,词的主题的转移概率收敛是指每一个词的转移概率趋近一个固定值,每次采样后的转移概率变化都小于预先设置的数值。
在本发明实施例中,分配模块501从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器;接着建立模块502建立多个第二服务器分配的文本中的每一个词的初始映射关系,并发送给对应的第二服务器,映射关系包括:词与第一矩阵之间的映射关系及词的主题与第二矩阵之间的映射关系,第一矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵,第二矩阵为文本集合中属于词的主题的所有词的个数构成的矩阵,第一矩阵为稠密数据结构的矩阵;具体的:建立模块602中的统计模块701于统计计算初始第三矩阵,第四矩阵及第五矩阵,初始第三矩阵为文本集合的各文本中主题集合中的各主题出现的个数构成的稠密数据结构的矩阵,第四矩阵为文本集合中的每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵,第五矩阵为文本集合中属于主题集合中各主题的词的个数构成的矩阵;并由建立模块602中的映射模块702将所述第四矩阵及所述第五矩阵进行分区映射,建立多个所述第二服务器上分配的文本中的每一个词的所述初始映射关系,并将多个所述第二服务器分配的文本中每一个词的所述初始映射关系及所述初始第三矩阵发送给对应的所述第二服务器。并由输出模块603根据所述第二服务器反馈的所述第二服务器分配的文本的词更新后的主题确定所述文本集合中各文本的聚类结果,所述词更新后的词由所述第二服务器基于改进的吉布斯采样算法,根据所述第二服务器上的每一个词的初始映射关系进行采样计算得到的。具体的:输出模块603中的主题确定模块703确定所述文本集合中各文本的每一个词的聚类主题,所述聚类主题是所述第二服务器基于所述改进的吉布斯采样算法得到的,所述第二服务器根据分配的文本中的每一个词的所述初始映射关系及所述初始第三矩阵迭代采样计算所述每一个词的主题的转移概率,且确定所述每一个词的转移概率收敛后的主题作为所述词的聚类主题;并由输出模块603中的结果输出模块704从多个所述第二服务器上分配的文本的每一个词的所述聚类主题的转移概率中选择转移概率满足预先设置条件的词进行处理,得到所述文本的聚类结果。
其中,主题确定模块703具体的用于:在q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为所述初始映射关系;第0次迭代的第三矩阵为初始第三矩阵的情况下,获取模块705获取多个所述第二服务器第q次反馈的基于所述改进的吉布斯采样算法得到的所述第二服务器分配的文本中各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率,其中,所述各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率是所述第二服务器基于所述改进的吉布斯采样算法对所述各词的第q-1次迭代的映射关系及第q-1次迭代的第三矩阵计算得到的;若多个所述第二服务器分配的各词第q次迭代后的主题的转移概率收敛,则处理模块706确定所述第q次迭代后的主题为所述聚类主题;或者若所述第q次迭代后的主题的转移概率中存在不收敛的转移概率,则处理模块706利用所述各词第q次迭代后的主题更新所述各词的映射关系,得到所述各词第q次迭代的映射关系及第q次迭代的第三矩阵,并将所述第q次迭代的映射关系及第q次迭代的第三矩阵发送给多个所述第二服务器,令q=q+1,返回执行获取模块705。
在本发明实施例中,第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器,统计计算初始第三矩阵、第四矩阵及第五矩阵,其中,初始第三矩阵为文本集合中各文本主题集合中各主题出现的个数构成的稠密数据结构的矩阵,第四矩阵为文本集合中每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵,第五矩阵问文本集合中属于主题集合中各主题的词的个数构成的矩阵;将第四矩阵及第五矩阵进行分区映射,建立多个第二服务器上分配的每一个词的初始映射关系并发送给对应的服务器;第一服务器还将根据第二服务器反馈的第二服务器分配的文本的每一个词更新后的主题确定文本集合中各文本的聚类结果,其中,每一个词更新后的主题由第二服务器基于改进的吉布斯采样算法,根据第二服务器上的词的初始映射关系进行采样计算得到的,通过上述分区映射及稠密数据结构的矩阵及利用改进的吉布斯采样算法对词的转移概率进行迭代采样计算,能够有效的减少每一个第二服务器数据处理过程中使用的资源及消耗的时间,且所需要的存储空间小,且多个第二服务器在向第一服务器反馈数据也能够避免发生瓶颈。
请参阅图8,为本发明实施例中第二服务器的结构的示意图,包括:
接收模块801,用于接收第一服务器分配的文本中每一个词的主题,及所述每一个词的初始映射关系,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
采样模块802,用于基于改进的吉布斯采样算法,根据所述每一个词的初始映射关系采样计算得到所述每一个词更新后的主题的转移概率,将所述每一个词更新后的主题及更新后的主题的转移概率反馈给所述第一服务器,由所述第一服务器根据文本中各词的更新后的主题及所述更新后的主题的转移概率确定所述文本的聚类结果。
其中,所述改进的吉布斯采样算法包括:
其中,表示第i个词从上一个主题转移到第k个主题的转移概率,Zi表示第m篇文本中的第i个词,表示使用的是第i个词上一个主题的参数,αk表示常量,β表示常量,表示αk和β的向量,nmkk表示上一次迭代后的第三矩阵中第k个主题的个数,nkvk表示上一个主题下的第i个词的第一矩阵,nkk表示上一个主题下的第i个词的第二矩阵,V表示所述文本集合中文本的总数。
在本发明实施例中,接收模块801还用于:
接收所述第一服务器发送的初始第三矩阵,所述初始第三矩阵为所述第一服务器统计的所述文本集合的各文本中所述主题集合中的各主题出现的个数构成的稠密数据结构的矩阵;
所述采样模块802包括:
q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为所述初始映射关系;第0次迭代的第三矩阵为所述初始第三矩阵;对分配的文本中的每一个词按照如下的方式计算更新后的主题:
第一计算模块803,用于基于改进的吉布斯采样算法计算第m篇文本中的第i个词从当前的主题转移到主题集合中的每一个主题的转移概率,将主题与转移概率的对应关系构成概率集合;
第二计算模块804,用于对所述概率集合中的转移概率进行归一化处理,并按照累加的方式确定每一个主题的转移概率区间,确定并保存每一个转移概率的s参数、r参数及q参数,且归一化处理为s区间、r区间及q区间;
例如:若概率集合中包含10个主题的转移概率,则对该10个主题的转移概率进行归一化处理,且归一化后的转移概率为C1、C2、C3、C4、C5、C6、C7、C8、C9、C10,则该10个主题的转移概率区间分别为(0,C1),(C1,C1+C2),(C1+C2,C1+C2+C3),(C1+C2+C3,C1+C2+C3+C4),(C1+C2+C3+C4,C1+C2+C3+C4+C5),(C1+C2+C3+C4+C5,C1+C2+C3+C4+C5+C6),(C1+C2+C3+C4+C5+C6,C1+C2+C3+C4+C5+C6+C7),(C1+C2+C3+C4+C5+C6+C7,C1+C2+C3+C4+C5+C6+C7+C8),(C1+C2+C3+C4+C5+C6+C7+C8,C1+C2+C3+C4+C5+C6+C7+C8+C9),(C1+C2+C3+C4+C5+C6+C7+C8+C9,C1+C2+C3+C4+C5+C6+C7+C8+C9+C10)。
例如:若对s参数、r参数及q参数归一化后得到的是s0,r0及q0,则s区间为(0,s0),r区间为(s0,s0+r0),q区间为(s0+r0,s0+r0+q0)。
区间确定模块805,用于随机确定采样值x,确定所述采样值x是在s区间还是在r区间还是在q区间;确定所述采样值x属于所述每一个主题的转移概率区间中的区间,并将所述采样值x所属的概率区间的主题作为词更新后的主题;
更新模块806,用于根据所述词更新后的主题更新所述词的映射关系,及更新包含所述词更新前的主题的词的映射关系。
需要说明的是,由于αk,β是常量,且数值较小,所以大部分采样都会落在q区间,这样分层计算时间便可进行优化,即将每个主题的q值缓存起来,是的下一次迭代时不需要再次计算该主题的q值,能够有效降低计算量,且减少计算的时间,且由于每次采样只改动至多2个主题的映射关系,则循环计算转移概率区间的复杂度由O(k)下降到O(2),而循环一步查找采样属于转移概率区间的复杂度也由O(k)下降到O(k’),k’为该词属于的主题的个数,即查找区间只需要在k’个区间遍历。而当采样落在s区间时,复杂度不变均为O(k);落在r区间时,复杂度为O(k”),k”为该文本中属于第k个的主题的个数。综上,加速主要针对短文本,当迭代到一定轮次(往往只需要20次左右)后,主题与词的矩阵将非常稀疏,采用本方法的加速效果可达到之前的5倍以上。
在本发明实施例中,第二服务器上是局部变量,且使用稠密数据结构的矩阵基于改进的吉布斯采样算法进行采样计算,能够有效的降低第二服务器处理的数据量,加快第二服务器处理的速度,节约时间且提高效率。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (9)
1.一种文本聚类的处理方法,其特征在于,包括:
第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器;
统计计算初始第三矩阵,第四矩阵及第五矩阵,所述初始第三矩阵为所述文本集合的各文本中所述主题集合中的各主题出现的个数构成的稠密数据结构的矩阵,所述第四矩阵为所述文本集合中的每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵,所述第五矩阵为所述文本集合中属于所述主题集合中各主题的词的个数构成的矩阵;
将所述第四矩阵及所述第五矩阵进行分区映射,建立多个所述第二服务器上分配的文本中的每一个词的初始映射关系,并将多个所述第二服务器分配的文本中每一个词的所述初始映射关系及所述初始第三矩阵发送给对应的所述第二服务器,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
确定所述文本集合中各文本的每一个词的聚类主题,所述聚类主题是所述第二服务器基于改进的吉布斯采样算法得到的,所述第二服务器根据分配的文本中的每一个词的所述初始映射关系及所述初始第三矩阵迭代采样计算所述每一个词的主题的转移概率,且确定所述每一个词的转移概率收敛后的主题作为所述词的聚类主题;
从多个所述第二服务器上分配的文本的每一个词的所述聚类主题的转移概率中选择转移概率满足预先设置条件的词进行处理,得到所述文本的聚类结果;
所述改进的吉布斯采样算法具体为:
2.根据权利要求1所述的处理方法,其特征在于,所述确定所述文本集合中各文本的每一个词的聚类主题,包括:
q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为所述初始映射关系;第0次迭代的第三矩阵为初始第三矩阵;
获取多个所述第二服务器第q次反馈的基于所述改进的吉布斯采样算法得到的所述第二服务器分配的文本中各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率,其中,所述各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率是所述第二服务器基于所述改进的吉布斯采样算法对所述各词的第q-1次迭代的映射关系及第q-1次迭代的第三矩阵计算得到的;
若多个所述第二服务器分配的各词第q次迭代后的主题的转移概率收敛,则确定所述第q次迭代后的主题为所述聚类主题;
若所述第q次迭代后的主题的转移概率中存在不收敛的转移概率,则利用所述各词第q次迭代后的主题更新所述各词的映射关系,得到所述各词第q次迭代的映射关系及第q次迭代的第三矩阵,并将所述第q次迭代的映射关系及第q次迭代的第三矩阵发送给多个所述第二服务器,令q=q+1,返回执行所述获取多个所述第二服务器第q次反馈的基于改进的吉布斯采样算法得到的所述第二服务器分配的文本中各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率的步骤。
3.一种文本聚类的处理方法,其特征在于,包括:
第二服务器接收第一服务器分配的文本中每一个词的主题,及所述每一个词的初始映射关系,其中,所述第一服务器分配的文本为预处理后的文本集合中的文本,所述每一个词的主题为所述第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配的主题,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
所述第二服务器基于改进的吉布斯采样算法,根据所述每一个词的初始映射关系采样计算得到所述每一个词更新后的主题的转移概率,将所述每一个词更新后的主题及更新后的主题的转移概率反馈给所述第一服务器,由所述第一服务器根据文本中各词的更新后的主题及所述更新后的主题的转移概率确定所述文本的聚类结果;
所述改进的吉布斯采样算法包括:
4.根据权利要求3所述的处理方法,其特征在于,所述方法还包括:
接收所述第一服务器发送的初始第三矩阵,所述初始第三矩阵为所述第一服务器统计的所述文本集合的各文本中所述主题集合中的各主题出现的个数构成的稠密数据结构的矩阵;
则所述第二服务器基于改进的吉布斯采样算法,根据所述每一个词的初始映射关系采样计算得到所述每一个词更新后的主题的转移概率,将所述每一个词更新后的主题及更新后的主题的转移概率反馈给所述第一服务器,包括:
q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为所述初始映射关系;第0次迭代的第三矩阵为所述初始第三矩阵;对分配的文本中的每一个词按照如下的方式计算更新后的主题:
基于改进的吉布斯采样算法计算第m篇文本中的第i个词从当前的主题转移到主题集合中的每一个主题的转移概率,将主题与转移概率的对应关系构成概率集合;
对所述概率集合中的转移概率进行归一化处理,并按照累加的方式确定每一个主题的转移概率区间,确定并保存每一个转移概率的s参数、r参数及q参数,且归一化处理为s区间、r区间及q区间;
随机确定采样值x,确定所述采样值x是在s区间还是在r区间还是在q区间;确定所述采样值x属于所述每一个主题的转移概率区间中的区间,并将所述采样值x所属的转移概率区间的主题作为第i个词更新后的主题,所述x属于(0,1);
根据所述第i个词更新后的主题更新所述第i个词的映射关系,及更新包含所述第i个词更新前的主题的词的映射关系。
5.一种服务器,其特征在于,为第一服务器,包括:
分配模块,用于从主题集合中为预处理后的文本集合中各文本中每一个词随机分配一个主题,将分配主题后的所述文本集合中各文本分配到多个第二服务器;
建立模块,所述建立模块包括统计模块,用于统计计算初始第三矩阵,第四矩阵及第五矩阵,所述初始第三矩阵为所述文本集合的各文本中所述主题集合中的各主题出现的个数构成的稠密数据结构的矩阵,所述第四矩阵为所述文本集合中的每一个词属于主题集合中各主题的个数构成的稠密数据结构的矩阵,所述第五矩阵为所述文本集合中属于所述主题集合中各主题的词的个数构成的矩阵;
所述建立模块包括映射模块,用于将所述第四矩阵及所述第五矩阵进行分区映射,建立多个所述第二服务器上分配的文本中的每一个词的所述初始映射关系,并将多个所述第二服务器分配的文本中每一个词的初始映射关系及所述初始第三矩阵发送给对应的所述第二服务器,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
输出模块,所述输出模块包括主题确定模块,用于确定所述文本集合中各文本的每一个词的聚类主题,所述聚类主题是所述第二服务器基于改进的吉布斯采样算法得到的,所述第二服务器根据分配的文本中的每一个词的所述初始映射关系及所述初始第三矩阵迭代采样计算所述每一个词的主题的转移概率,且确定所述每一个词的转移概率收敛后的主题作为所述词的聚类主题;
所述输出模块包括结果输出模块,用于从多个所述第二服务器上分配的文本的每一个词的所述聚类主题的转移概率中选择转移概率满足预先设置条件的词进行处理,得到所述文本的聚类结果;
所述改进的吉布斯采样算法具体为:
6.根据权利要求5所述的服务器,其特征在于,所述主题确定模块包括:
q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为所述初始映射关系;第0次迭代的第三矩阵为初始第三矩阵;
获取模块,用于获取多个所述第二服务器第q次反馈的基于所述改进的吉布斯采样算法得到的所述第二服务器分配的文本中各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率,其中,所述各词的第q次迭代后的主题及所述各词第q次迭代后的主题的转移概率是所述第二服务器基于所述改进的吉布斯采样算法对所述各词的第q-1次迭代的映射关系及第q-1次迭代的第三矩阵计算得到的;
处理模块,用于若多个所述第二服务器分配的各词第q次迭代后的主题的转移概率收敛,则确定所述第q次迭代后的主题为所述聚类主题;或者若所述第q次迭代后的主题的转移概率中存在不收敛的转移概率,则利用所述各词第q次迭代后的主题更新所述各词的映射关系,得到所述各词第q次迭代的映射关系及第q次迭代的第三矩阵,并将所述第q次迭代的映射关系及第q次迭代的第三矩阵发送给多个所述第二服务器,令q=q+1,返回执行所述获取模块。
7.一种服务器,其特征在于,为第二服务器,包括:
接收模块,用于接收第一服务器分配的文本中每一个词的主题,及所述每一个词的初始映射关系,其中,所述第一服务器分配的文本为预处理后的文本集合中的文本,所述每一个词的主题为所述第一服务器从主题集合中为预处理后的文本集合中各文本中每一个词随机分配的主题,所述初始映射关系包括:词与第一矩阵之间的映射关系及所述词的主题与第二矩阵之间的映射关系,所述第一矩阵为所述文本集合中属于主题集合中各主题的所述词的个数构成的矩阵,所述第二矩阵为所述文本集合中属于所述词的主题的所有词的个数构成的矩阵,所述第一矩阵为稠密数据结构的矩阵;
采样模块,用于基于改进的吉布斯采样算法,根据所述每一个词的初始映射关系采样计算得到所述每一个词更新后的主题的转移概率,将所述每一个词更新后的主题及更新后的主题的转移概率反馈给所述第一服务器,由所述第一服务器根据文本中各词的更新后的主题及所述更新后的主题的转移概率确定所述文本的聚类结果;
所述改进的吉布斯采样算法包括:
8.根据权利要求7所述的服务器,其特征在于,所述接收模块还用于:
接收所述第一服务器发送的初始第三矩阵,所述初始第三矩阵为所述第一服务器统计的所述文本集合的各文本中所述主题集合中的各主题出现的个数构成的稠密数据结构的矩阵;
则所述采样模块包括:
q的初始值为1,且q为正整数,其中,第0次迭代的映射关系为所述初始映射关系;第0次迭代的第三矩阵为所述初始第三矩阵;对分配的文本中的每一个词按照如下的方式计算更新后的主题:
第一计算模块,用于基于改进的吉布斯采样算法计算第m篇文本中的第i个词从当前的主题转移到主题集合中的每一个主题的转移概率,将主题与转移概率的对应关系构成概率集合;
第二计算模块,用于对所述概率集合中的转移概率进行归一化处理,并按照累加的方式确定每一个主题的转移概率区间,确定并保存每一个转移概率的s参数、r参数及q参数,且归一化处理为s区间、r区间及q区间;
区间确定模块,用于随机确定采样值x,确定所述采样值x是在s区间还是在r区间还是在q区间;确定所述采样值x属于所述每一个主题的转移概率区间中的区间,并将所述采样值x所属的概率区间的主题作为词更新后的主题;
更新模块,用于根据所述词更新后的主题更新所述词的映射关系,及更新包含所述词更新前的主题的词的映射关系。
9.一种文本聚类的处理系统,其特征在于,包括:如权利要求5或6所述的服务器,及多个如权利要求7或8所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510172296.XA CN106156142B (zh) | 2015-04-13 | 2015-04-13 | 一种文本聚类的处理方法、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510172296.XA CN106156142B (zh) | 2015-04-13 | 2015-04-13 | 一种文本聚类的处理方法、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106156142A CN106156142A (zh) | 2016-11-23 |
CN106156142B true CN106156142B (zh) | 2020-06-02 |
Family
ID=57336709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510172296.XA Active CN106156142B (zh) | 2015-04-13 | 2015-04-13 | 一种文本聚类的处理方法、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106156142B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247724B (zh) * | 2017-04-27 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 转移概率矩阵更新、信息识别方法及装置、计算机设备 |
CN109375923B (zh) * | 2018-10-26 | 2022-05-03 | 网易(杭州)网络有限公司 | 变更数据处理方法、装置、存储介质、处理器及服务器 |
CN109582741B (zh) * | 2018-11-15 | 2023-09-05 | 创新先进技术有限公司 | 特征数据处理方法和装置 |
CN111553374B (zh) * | 2019-02-12 | 2022-07-26 | 腾讯大地通途(北京)科技有限公司 | 道路场景划分方法、装置、电子设备及存储介质 |
CN116776105A (zh) * | 2023-08-22 | 2023-09-19 | 北京大学人民医院 | 创伤数据安全治理系统构建方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621391A (zh) * | 2009-08-07 | 2010-01-06 | 北京百问百答网络技术有限公司 | 基于概率主题进行短文本分类的方法及系统 |
US8285719B1 (en) * | 2008-08-08 | 2012-10-09 | The Research Foundation Of State University Of New York | System and method for probabilistic relational clustering |
CN102929937A (zh) * | 2012-09-28 | 2013-02-13 | 福州博远无线网络科技有限公司 | 基于文本主题模型的商品分类的数据处理方法 |
CN103559193A (zh) * | 2013-09-10 | 2014-02-05 | 浙江大学 | 一种基于选择单元的主题建模方法 |
-
2015
- 2015-04-13 CN CN201510172296.XA patent/CN106156142B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8285719B1 (en) * | 2008-08-08 | 2012-10-09 | The Research Foundation Of State University Of New York | System and method for probabilistic relational clustering |
CN101621391A (zh) * | 2009-08-07 | 2010-01-06 | 北京百问百答网络技术有限公司 | 基于概率主题进行短文本分类的方法及系统 |
CN102929937A (zh) * | 2012-09-28 | 2013-02-13 | 福州博远无线网络科技有限公司 | 基于文本主题模型的商品分类的数据处理方法 |
CN103559193A (zh) * | 2013-09-10 | 2014-02-05 | 浙江大学 | 一种基于选择单元的主题建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106156142A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Chasing sparsity in vision transformers: An end-to-end exploration | |
US11308405B2 (en) | Human-computer dialogue method and apparatus | |
CN106156142B (zh) | 一种文本聚类的处理方法、服务器及系统 | |
US11334819B2 (en) | Method and system for distributed machine learning | |
US10997176B2 (en) | Massive time series correlation similarity computation | |
CN110209808B (zh) | 一种基于文本信息的事件生成方法以及相关装置 | |
EP3129922A1 (en) | Deep learning using alternating direction method of multipliers | |
US11645585B2 (en) | Method for approximate k-nearest-neighbor search on parallel hardware accelerators | |
CN114186633A (zh) | 模型的分布式训练方法、装置、设备以及存储介质 | |
CN110765320B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
JP2022020070A (ja) | 情報処理、情報推薦の方法および装置、電子デバイス及び記憶媒体 | |
CN113239697B (zh) | 实体识别模型训练方法、装置、计算机设备及存储介质 | |
Zhang et al. | Optimizing execution for pipelined‐based distributed deep learning in a heterogeneously networked GPU cluster | |
Barger et al. | k-means for streaming and distributed big sparse data | |
CN113761017A (zh) | 相似性搜索方法和装置 | |
CN112560936A (zh) | 模型并行训练方法、装置、设备、存储介质和程序产品 | |
Zhan et al. | Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems | |
KR102027034B1 (ko) | 병렬 처리를 통한 다차원 데이터 분석을 지원하는 장치 및 그 방법 | |
CN109636199B (zh) | 一种为待译稿件匹配译员的方法及系统 | |
CN110688508B (zh) | 图文数据扩充方法、装置及电子设备 | |
CN111667028A (zh) | 一种可靠负样本确定方法和相关装置 | |
Silva et al. | METEOR: Learning Memory and Time Efficient Representations from Multi-modal Data Streams | |
CN116991986B (zh) | 一种语言模型轻量化方法、装置、计算机设备和存储介质 | |
CN110765239B (zh) | 热词识别方法、装置及存储介质 | |
Nassar et al. | Novel GPU-Based Approach for Matrix Factorization using Stochastic Gradient Descent |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |