CN105574005A - 对包含多个文档的源数据进行聚类的装置和方法 - Google Patents

对包含多个文档的源数据进行聚类的装置和方法 Download PDF

Info

Publication number
CN105574005A
CN105574005A CN201410532606.XA CN201410532606A CN105574005A CN 105574005 A CN105574005 A CN 105574005A CN 201410532606 A CN201410532606 A CN 201410532606A CN 105574005 A CN105574005 A CN 105574005A
Authority
CN
China
Prior art keywords
bunch
cluster
unit
similarity
document
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.)
Pending
Application number
CN201410532606.XA
Other languages
English (en)
Inventor
郑仲光
孟遥
孙俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to CN201410532606.XA priority Critical patent/CN105574005A/zh
Publication of CN105574005A publication Critical patent/CN105574005A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及对包含多个文档的源数据进行聚类的装置和方法。根据本公开的对包含多个文档的源数据进行聚类的装置包括:设置单元,其设置聚类数的集合;聚类单元,其针对设置单元设置的集合中的每一个聚类数,使用文档中的词作为特征对源数据进行聚类,以将源数据聚类成数目等于聚类数的簇;划分单元,其针对聚类单元聚类的每一个簇,使用文档中的主题作为特征对簇执行划分过程;合并单元,其对划分单元划分后的簇执行合并过程;计数单元,其对合并单元合并后的簇进行计数,以获得更新聚类数;以及聚类数确定单元,其对计数单元获得的相同的更新聚类数进行计数,并且将数目最多的更新聚类数确定为最佳聚类数,并选择最优的聚类结果。

Description

对包含多个文档的源数据进行聚类的装置和方法
技术领域
本发明涉及自然语言处理、数据挖掘领域,具体地涉及对包含多个文档的源数据进行聚类的装置和方法。
背景技术
这个部分提供了与本公开有关的背景信息,这不一定是现有技术。
文本聚类是指通过聚类算法,将文本集合划分成多个类别,每个类别之内的文本相似度较大,类别之间的文本相似度较小。文本聚类多应用于文档自动文摘、搜索引擎结果聚类、信息过滤/推送、数字图书馆服务等技术。
文本聚类的方法依赖于核心聚类算法,聚类算法有很多种,其中多数算法都需要提前设定最终的聚类数量,才可以完成聚类过程。例如K-means算法,这种方法最大的问题就是K值的设定,通常情况下,需要人的先验知识或者感觉设定K值,由此这种方法过于主观而很难取得令人满意的结果。
发明内容
这个部分提供了本公开的一般概要,而不是其全部范围或其全部特征的全面披露。
本公开的目的在于提供一种改进的文本聚类方法,将常规的聚类结果作为中间结果,通过子类划分、二次聚类的方法使不同的聚类结果趋向同一个聚类数(k值),然后从选定的k值中选择最终的聚类结果。
根据本公开的一方面,提供了一种对包含多个文档的源数据进行聚类的装置,包括:设置单元,其设置聚类数的集合;聚类单元,其针对设置单元设置的集合中的每一个聚类数,使用文档中的词作为特征对源数据进行聚类,以将源数据聚类成数目等于聚类数的簇;划分单元,其针对聚类单元聚类的每一个簇,使用文档中的主题作为特征对簇执行划分过程,在划分过程中,簇被划分成两个部分,并且如果两个部分的相似度小于第一预定阈值,则将簇划分成两个子簇;合并单元,其对划分单元划分后的簇执行合并过程,在合并过程中,计算簇和子簇中的任意两个之间的相似度,并且如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则将其合并为一个簇;计数单元,其对合并单元合并后的簇进行计数,以获得更新聚类数;以及聚类数确定单元,其对计数单元获得的相同的更新聚类数进行计数,并且将数目最多的更新聚类数确定为最佳聚类数。
根据本公开的另一方面,提供了一种对包含多个文档的源数据进行聚类的方法,该方法包括:设置聚类数的集合;针对集合中的每一个聚类数,使用文档中的词作为特征对源数据进行聚类,以将源数据聚类成数目等于聚类数的簇;针对集合中的每一个聚类数,并且针对每一个簇,使用文档中的主题作为特征对簇执行划分过程,在划分过程中,簇被划分成两个部分,并且如果两个部分的相似度小于第一预定阈值,则将簇划分成两个子簇;针对集合中的每一个聚类数,对划分后的簇执行合并过程,在合并过程中,计算簇和子簇中的任意两个之间的相似度,并且如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则将其合并为一个簇;针对集合中的每一个聚类数,对合并后的簇进行计数,以获得更新聚类数;以及对相同的更新聚类数进行计数,并且将数目最多的更新聚类数确定为最佳聚类数。
根据本公开的另一方面,提供了一种程序产品,该程序产品包括存储在其中的机器可读指令代码,其中,所述指令代码当由计算机读取和执行时,能够使所述计算机执行根据本公开的对包含多个文档的源数据进行聚类的方法。
根据本公开的另一方面,提供了一种机器可读存储介质,其上携带有根据本公开的程序产品。
使用根据本公开的对包含多个文档的源数据进行聚类的装置和方法,将常规的聚类结果作为中间结果,通过子类划分、二次聚类的方法使不同的聚类结果趋向同一个聚类数(k值),然后从选定的k值中选择最终的聚类结果,并且在聚类过程中以更高层次的特征如主题进行特征提取,从而进一步改进聚类的结果。
这个概要中的描述和特定例子只是为了示意的目的,而不旨在限制本公开的范围。
附图说明
在此描述的附图只是为了所选实施例的示意的目的而非全部可能的实施,并且不旨在限制本公开的范围。在附图中:
图1为示例性的现有聚类方法的流程;
图2为本公开的示例性文本聚类的流程;
图3为根据本公开的实施例的文本聚类装置的框图;
图4为根据本公开的实施例聚类后的具有较佳聚类质量的簇的结果;
图5为根据本公开的实施例聚类后的具有较差聚类质量的簇的结果;
图6为根据本公开的示例性簇的划分的实施例;
图7为根据本公开的另一个实施例的文本聚类装置的框图;
图8为根据本公开的另一个实施例的文本聚类装置的一部分的框图;
图9为根据本公开的实施例的文本聚类装置的一部分的框图;
图10为根据本公开的实施例的文本聚类方法的流程图;以及
图11为其中可以实现根据本公开的实施例的文本聚类装置和方法的通用个人计算机的示例性结构的框图。
虽然本公开容易经受各种修改和替换形式,但是其特定实施例已作为例子在附图中示出,并且在此详细描述。然而应当理解的是,在此对特定实施例的描述并不打算将本公开限制到公开的具体形式,而是相反地,本公开目的是要覆盖落在本公开的精神和范围之内的所有修改、等效和替换。要注意的是,贯穿几个附图,相应的标号指示相应的部件。
实施方式
现在参考附图来更加充分地描述本公开的示例。以下描述实质上只是示例性的,而不旨在限制本公开、应用或用途。
下面提供了示例实施例,以便本公开将会变得详尽,并且将会向本领域技术人员充分地传达其范围。阐述了众多的特定细节如特定单元、装置和方法的示例,以提供对本公开的实施例的详尽理解。对于本领域技术人员而言将会明显的是,不需要使用特定的细节,示例实施例可以用许多不同的形式来实施,它们都不应当被解释为限制本公开的范围。在某些示例实施例中,没有详细地描述众所周知的过程、众所周知的结构和众所周知的技术。
文本聚类的方法依赖于核心聚类算法。聚类算法有很多种,其中多数算法都需要提前设定最终的聚类数量,才可以完成聚类过程。例如K-means算法,这种方法最大的问题就是聚类数k的值的设定。通常情况下,需要凭借人的先验知识或者感觉来设定聚类数k的值。由此,这种方法过于主观而很难取得令人满意的结果。
针对聚类数k的值的选取,已经存在一些方法,主要思路是将k取不同的值。图1示出了现有聚类方法的流程。如图1所示,通过使用聚类算法对源数据进行聚类。这里,源数据可以涉及多个文档。聚类之后可以得到针对不同k值(如k=2、k=3、k=4或k=5等)的聚类结果。然后,根据各种评判标准选取最优的聚类结果。例如,假定通过某种比较策略确定当k=4时聚类结果最优,则可以选择k=4作为最优的聚类结果。然而,这种方法的问题在于评判方法计算出来的分数往往比较接近,不足以充分地区别正确的k值。而且,文本聚类通常采用的是通用的聚类算法,一次聚类的结果也并不理想。这是因为聚类算法需要提取特征,而文本的特征用词汇来表示。然而,文本具有更高层次的特征如主题,这些更高层次的特征可以用来改进聚类的结果。
使用根据本公开的文本聚类装置和方法,可以将常规的聚类结果作为中间结果。通过簇的划分、二次聚类的方法,可以使不同的聚类结果趋向同一个聚类数(k值)。然后,可以从选定的k值中选择最终的聚类结果。并且,在聚类过程中可以以更高层次的特征如主题进行特征提取,从而进一步改进聚类的结果。
图2示出了本公开的示例性技术方案的文本聚类流程。结合图1,如从图2中可以看到的那样,在使用聚类算法对源数据进行聚类以获得针对不同k值的聚类结果之后,可以对聚类结果进行细化处理(稍后将会详细描述),以使得聚类结果趋向同一个k′值(图2中k′趋向4)。接下来,可以将该k′作为最佳聚类数(图2中最佳聚类数=4)。对于该最佳k′,可能存在不同的聚类结果。例如,在图2中对于最佳聚类数4至少存在3种不同的聚类结果。因此,优选地,接下来可以针对最佳k′确定最佳聚类结果作为源数据聚类结果。
上面简要描述了根据本公开的技术方案的基本思路。接下来参考附图来进一步详细地描述本公开的技术方案。
图3示出了根据本公开的实施例的文本聚类装置300。如图3所示,根据本公开的实施例的文本聚类装置300可以包括设置单元310、聚类单元320、划分单元330、合并单元340、计数单元350和聚类数确定单元360。
设置单元310可以设置聚类数的集合。接下来,聚类单元320可以针对设置单元310设置的集合中的每一个聚类数,使用文档中的词作为特征对源数据进行聚类,以将源数据聚类成数目等于聚类数的簇。接下来,划分单元330可以针对聚类单元320聚类的每一个簇,使用文档中的主题作为特征对簇执行划分过程。在划分过程中,簇可以被划分成两个部分,并且如果两个部分的相似度小于第一预定阈值,则可以将簇划分成两个子簇。接下来,合并单元340可以对划分单元330划分后的簇执行合并过程。在合并过程中,可以计算簇和子簇中的任意两个之间的相似度,并且如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则可以将其合并为一个簇。接下来,计数单元350可以对合并单元340合并后的簇进行计数,以获得更新聚类数。接下来,聚类数确定单元360可以对计数单元350获得的相同的更新聚类数进行计数,并且可以将数目最多的更新聚类数确定为最佳聚类数。
下面,将结合附图进一步详细描述根据本公开的实施例的文本聚类装置300。设置单元310可以设置聚类数的集合。例如,如图2所示,设置单元310可以将聚类数k设置为包括2、3、4、5等的集合。图2所示的聚类数k的集合仅仅是一个例子,本公开对此并没有特殊限制。如上所述,通过将聚类数k设置为不同的值,可以得到多个不同的聚类结果。
接下来,针对设置单元310设置的集合中的每一个聚类数,聚类单元320可以使用文档中的词作为特征对源数据进行初始聚类,以将源数据聚类成数目等于聚类数的簇。
由此,通过聚类单元320可以获得初始聚类结果(即当k=2、k=3、k=4、k=5等时的聚类结果),其中源数据被聚类成数目等于聚类数k的簇。例如,聚类单元320可以利用k-means聚类算法进行初始聚类。假设取2≤k≤10,则会得到9个初始聚类结果,k=n表示文档聚成了n个簇。当然,初始聚类也可以采用其它聚类算法,本公开对此并没有特殊限制。
在初始聚类之后,对于每一个初始聚类结果中的簇,如果该簇的聚类质量较理想,则可以将其保留。如果该簇的聚类质量不理想,则可以对其进一步进行划分。尤其是在k值比实际簇的数目小的情况下,多个不同的簇可能被划分到一起。因此,可以对这样的簇进一步进行划分。
具体地,划分单元330可以针对聚类单元320初始聚类的每一个簇,使用文档中的主题作为特征对簇执行划分过程,其中,可以使用例如三层贝叶斯概率模型(LDA)主题模型对簇进行主题词提取。当然,也可以使用其它方式对主题词进行提取。相比单纯的用词作为文档的特征,主题词可以更好的反映文章的内容,因此更适合作为文档的特征。
在划分过程中,簇可以被分成两个部分进行比较。具体地,如果这两个部分的相似度小于第一预定阈值,则可以将簇划分成两个子簇。为了满足界定聚类质量要求,有必要为这两个部分之间设置第一预定阈值,该第一预定阈值可以通过经验值来确定。然而,比较这两个部分可能产生具有不同聚类效果的结果。例如,在设定主题个数为2的情况下,如图4表示的包含关键字“波斯猫”的簇的结果,其中通过LDA主题模型生成的两个主题的主题词向量差别比较小,则可以认定该簇的聚类质量较高,因此可以将该簇保留;而如图5表示的包含关键字“先知”的簇的结果,两个主题词向量之间差别很大(这是因为该簇包含一篇含有“春江水暖鸭先知”诗句的文档,而其它文档是关于游戏的),则可以认定该簇的聚类质量较低,因此可以将该簇进一步划分成两个子簇。
经过上述划分之后,该簇的k值发生了变化,如图6所示,以k=3为例,经过基于如LDA进行划分之后,k值变为了5。在划分之后,簇的粒度变小,通过这种方法可以对有可能发生聚类错的簇进行重新划分,从而降低了聚类错误。
以图6为例,经初始聚类后的3个子簇1、2和3在基于如LDA进行划分之后,可能产生5个新的子簇1、2、3、4和5。但在这些新的子簇之间有可能具有一定相似度,因此可以对这些具有一定相似度的子簇进行再次聚类。
接下来,合并单元340可以对划分单元330划分后的簇执行再次聚类。在再次聚类过程中,可以计算簇和子簇任意两个之间的相似度。具体地,如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则可以将其合并为一个簇。为了满足界定聚类质量要求,有必要为簇或子簇任意两个之间设置第二预定阈值,该第二预定阈值可以通过经验值来确定。
在再次聚类之后,k值又可能发生变化而产生新的k′值。接下来,计数单元350可以对合并单元340合并后的簇进行计数,以获得更新的k′值。虽然更新的k′值与k值不同,但是更新的k′值会趋向一个稳定的值,如图2的示例所示,更新的k′值趋向等于4。
然后,聚类数确定单元360可以对计数单元350获得的相同的更新的k′进行计数,并且可以将数目最多的更新的k′确定为最佳聚类数。
在最佳聚类数确定后,可以针对该最佳聚类数从多个再次聚类结果中选择一个作为最终的聚类结果,这是因为虽然不同聚类结果的k值相同,但是不同聚类结果的簇或子簇很可能不同,因此可以选择聚类质量最好的作为最终结果。
为了衡量聚类结果的质量来进行最终结果的选择,提供了根据本公开的另一个实施例的文本聚类装置700。图7示出了根据本公开的另一个实施例的文本聚类装置700。除了第一计算单元710、获取单元720和聚类确定单元730之外,如图7所示的文本聚类装置700的其它组成部分与如图3所示的文本聚类装置300相同,本公开对此不再重复。
具体地,第一计算单元710可以针对聚类数确定单元360确定的最佳k′的更新的k′相对应的源数据聚类中的每一种聚类,计算每个簇的内部相似度IS。然后,获取单元720可以基于第一计算单元710计算的每个簇的内部相似度IS来获取每一种聚类的聚类相似度IS。最后,聚类确定单元730可以将通过获取单元720获取的具有最高聚类相似度IS的聚类确定为最佳源数据聚类。
根据本公开的又一实施例,在初始聚类过程中,聚类单元320可以将文档分词以及去除停用词,并且计算文档中词的权重(如计算词的TF-IDF值作为词的权重),从而得到文档的词向量表示。
根据本公开的又一实施例,在划分单元330执行划分过程中为了更好地比较簇的两个部分,划分单元330还可以包括第二簇主题化单元3301和第二计算单元3302,如图9所示。第二簇主题化单元3301可以针对簇运行主题模型,以获取两个主题词向量,接下来第二计算单元3302可以计算这两个主题词向量之间的相似度,其中,如果这两个主题词向量之间的相似度较大,则表明簇的质量较好,反之主题词向量之间的相似度较小,则表明簇的质量较差。主题词向量之间的相似度可以通过下面的余弦夹角公式(1)进行计算:
其中,A和B所代表的主题词向量用词和权重共同来表示。例如,图3中“猫科”为词,0.040924为权重;以及n代表选取前n个词作为主题词向量,本领域技术人员可以通过经验来选取n值。具体地,如果两个主题词向量之间的相似度小于预定阈值,则划分单元330将该簇划分成两个子簇。另一方面,如果两个主题词向量之间的相似度大于或等于预定阈值,则保留该簇。在比较过程中,为了满足界定聚类质量要求,有必要为簇的两个部分设置预定阈值,该预定阈值可以通过经验值来确定。
另外,在需要对簇进行进一步划分的情况下(如图5所示的簇),划分单元330还可以进一步包括主题获取单元、第二文档主题化单元以及第三计算单元。针对待划分的簇,主题获取单元可以获取该待划分的簇的两个主题词向量v1和v2;第二文档主题化单元可以针对该待划分的簇中的每一篇文档,利用文档中的词(去除停用词)作为特征、词的频次作为特征权重来组成文档词向量d;然后,第三计算单元可以再通过余弦夹角公式(1)分别计算文档词向量d分别与主题词向量v1和主题词向量v2的余弦相似度,接下来,划分单元330可以再通过比较它们的相似度将待划分的簇划分为第一子簇或者第二子簇。
根据本公开的又一实施例,合并单元340可以对划分单元330划分后的簇执行再次聚类。在再次聚类过程中,可以利用如LDA模型生成主题词向量,其中主题个数设置为1,并可以通过利用余弦夹角公式(1)来计算簇和子簇任意两个的主题词向量之间的相似度。具体地,如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则将其合并为一个簇,同时将主题词向量合并。同样,主题词向量可以用词和权重共同来表示。另外,为了满足界定聚类质量要求,有必要为簇或子簇任意两个之间设置第二预定阈值,该第二预定阈值可以通过经验值来确定。
可选地,合并单元340可以重复执行上述再次聚类过程,直到簇和子簇中的任意两个之间的相似度都小于第二预定阈值为止。
根据本公开的又一实施例,如图8所示,第一计算单元710还可以包括第一簇主题化单元7101和文档主题化单元7102,例如,针对一个聚类结果:
第一簇主题化单元7101可以对该聚类结果中的一个子簇,使用如LDA模型,以获得其主题词向量V,其中主题数设为1;以及
文档主题化单元7102可以对该子簇中的每一篇文档,使用如LDA模型,以获得文档的主题词向量Vd
其中,可以通过下面的公式(2)来计算该子簇的内部相似度ISsub值:
IS sub = Σ i n sim ( V di , V ) n - - - ( 2 )
其中i表示该子簇中的第i篇文档;n表示该子簇中的文档总数;sim(Vdi,V)是通过余弦夹角公式(1)计算的向量Vdi和V之间的相似度,并且向量Vdi和V同样可以用词与权重共同来表示。
接下来,该聚类结果的内部相似度IS值可以通过下面的公式(3)来
计算:
IS = Σ i K IS subi K - - - ( 3 )
其中,K值为子簇的数量。
最后,可以选择IS值最高的聚类结果作为最终的聚类结果。
下面结合图10来描述根据本公开的实施例的文本聚类方法。如图10所示,根据本公开的实施例的文本聚类方法开始于步骤S1010。在步骤S1010中,可以设置聚类数的集合。
接下来,在步骤S1020中,可以针对每一个聚类数,使用文档中的词作为特征对源数据进行聚类。
接下来,在步骤S1030中,可以针对每一个聚类数和每一个簇,使用文档中的主题作为特征对簇进行划分,在划分过程中,簇可以被分成两个部分。
接下来,在步骤S1031中,可以确定两个部分的相似度是否小于第一预定阈值。
在确定两个部分的相似度小于第一预定阈值的情况下(在步骤S1031中为是),过程前进到步骤S1032。在步骤S1032中,可以将两个部分的相似度小于第一预定阈值的簇划分成两个子簇。在这之后,过程前进到步骤S1040。
在步骤S1040中,可以针对每一个聚类数,对划分后的簇进行合并,并且在合并过程中可以计算簇和子簇中的任意两个之间的相似度。
接下来,在步骤S1041中,可以确定簇和子簇中的任意两个之间的相似度是否大于或等于第二预定阈值。
在确定簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值的情况下(在步骤S1041中为是),过程前进到步骤S1050。在步骤S1050中,可以将该簇和子簇中的任意两个合并为一个簇。
接下来,过程返回到步骤S1041。过程可以连续执行步骤S1041和S1050,直到簇和子簇中的任意两个之间的相似度小于第二预定阈值为止。
此外,在簇和子簇中的任意两个之间的相似度小于第二预定阈值的情况下(在步骤S1041中为否),在这之后,过程前进到步骤S1060。
接下来,在步骤S1060中,可以针对每一个聚类数,对合并后的簇进行计数,以获得更新聚类数。
接下来,在步骤S1070中,可以对相同的更新聚类数进行计数,并可以将数目最多的更新聚类数确定为最佳聚类数,在这之后,过程结束。
另一方面,在确定两个部分的相似度大于或等于第一预定阈值的情况下(在步骤S1031中为否),过程直接前进到步骤S1040。
根据本公开的又一实施例,还可以执行针对与被确定为最佳聚类数的更新聚类数相对应的源数据聚类中的每一种聚类,计算每个簇的内部相似度的步骤;接下来,执行基于每个簇的内部相似度,获得每一种聚类的聚类相似度的步骤;以及执行将具有最高聚类相似度的聚类确定为最佳源数据聚类的步骤。
根据本公开的又一实施例,执行计算每个簇的内部相似度的步骤还可以包括针对每个簇,运行主题模型,以获取簇主题向量的步骤;接下来,针对每个簇中的每个文档,运行主题模型,以获取文档主题向量的步骤;以及基于簇主题向量和文档主题向量,计算内部相似度的步骤。
根据本公开的又一实施例,使用文档中的主题作为特征对簇执行划分的过程还可以包括针对簇运行主题模型,以获取两个主题向量的步骤;接下来,计算两个主题向量之间的相似度的步骤,其中,如果两个主题向量之间的相似度小于第一预定阈值,则将簇划分成两个子簇。
根据本公开的实施例,使用文档中的主题作为特征对簇执行划分的过程还可以包括获取待划分的簇的两个主题词向量的步骤;针对待划分的簇中的每一篇文档,运行主题模型,以获取每一篇文档的词向量的步骤;以及分别计算每一篇文档的词向量与待划分的簇的两个主题词向量的相似度的步骤,其中,划分单元基于每一篇文档的词向量与待划分的簇的两个主题词向量的相似度将待划分的簇划分为第一子簇或第二子簇。
根据本公开的实施例的聚类方法的上述步骤的各种具体实施方式前面已经作过详细描述,在此不再重复说明。
显然,根据本公开的聚类方法的各个操作过程可以以存储在各种机器可读的存储介质中的计算机可执行程序的方式实现。
而且,本公开的目的也可以通过下述方式实现:将存储有上述可执行程序代码的存储介质直接或者间接地提供给***或设备,并且该***或设备中的计算机或者中央处理单元(CPU)读出并执行上述程序代码。此时,只要该***或者设备具有执行程序的功能,则本公开的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作***的脚本程序等。
上述这些机器可读存储介质包括但不限于:各种存储器和存储单元,半导体设备,磁盘单元例如光、磁和磁光盘,以及其它适于存储信息的介质等。
另外,计算机通过连接到因特网上的相应网站,并且将依据本公开的计算机程序代码下载和安装到计算机中然后执行该程序,也可以实现本公开的技术方案。
图11为其中可以实现根据本公开的实施例的聚类装置和方法的通用个人计算机的示例性结构的框图。
如图11所示,CPU1301根据只读存储器(ROM)1302中存储的程序或从存储部分1308加载到随机存取存储器(RAM)1303的程序执行各种处理。在RAM1303中,也根据需要存储当CPU1301执行各种处理等等时所需的数据。CPU1301、ROM1302和RAM1303经由总线1304彼此连接。输入/输出接口1305也连接到总线1304。
下述部件连接到输入/输出接口1305:输入部分1306(包括键盘、鼠标等等)、输出部分1307(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,以及扬声器等)、存储部分1308(包括硬盘等)、通信部分1309(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1309经由网络比如因特网执行通信处理。根据需要,驱动器1310也可连接到输入/输出接口1305。可拆卸介质1311比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器1310上,使得从中读出的计算机程序根据需要被安装到存储部分1308中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1311安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图9所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1311。可拆卸介质1311的示例包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM1302、存储部分1308中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
在本公开的装置和方法中,显然,各单元或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上虽然结合附图详细描述了本公开的实施例,但是应当明白,上面所描述的实施方式只是用于说明本公开,而并不构成对本公开的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而没有背离本公开的实质和范围。因此,本公开的范围仅由所附的权利要求及其等效含义来限定。
关于包括以上实施例的实施方式,还公开下述的附记:
附记1.一种对包含多个文档的源数据进行聚类的装置,包括:
设置单元,其设置聚类数的集合;
聚类单元,其针对所述设置单元设置的集合中的每一个聚类数,使用所述文档中的词作为特征对所述源数据进行聚类,以将所述源数据聚类成数目等于聚类数的簇;
划分单元,其针对所述聚类单元聚类的每一个簇,使用所述文档中的主题作为特征对簇执行划分过程,在所述划分过程中,簇被划分成两个部分,并且如果所述两个部分的相似度小于第一预定阈值,则将簇划分成两个子簇;
合并单元,其对所述划分单元划分后的簇执行合并过程,在所述合并过程中,计算簇和子簇中的任意两个之间的相似度,并且如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则将其合并为一个簇;
计数单元,其对所述合并单元合并后的簇进行计数,以获得更新聚类数;以及
聚类数确定单元,其对所述计数单元获得的相同的更新聚类数进行计数,并且将数目最多的更新聚类数确定为最佳聚类数。
附记2.根据附记1所述的装置,进一步包括:
第一计算单元,其针对与所述聚类数确定单元确定为最佳聚类数的更新聚类数相对应的源数据聚类中的每一种聚类,计算每个簇的内部相似度;
获取单元,其基于所述第一计算单元计算的每个簇的内部相似度,获取所述每一种聚类的聚类相似度;以及
聚类确定单元,其将通过所述获取单元得到的具有最高聚类相似度的聚类确定为最佳源数据聚类。
附记3.根据附记2所述的装置,其中,所述第一计算单元进一步包括:
第一簇主题化单元,其针对每个簇,运行主题模型,以获取簇主题向量;以及
文档主题化单元,其针对每个簇中的每个文档,运行所述主题模型,以获取文档主题向量,其中,
所述第一计算单元基于通过所述第一簇主题化单元获取的簇主题向量和通过所述文档主题化单元获取的文档主题向量来计算所述内部相似度。
附记4.根据附记1所述的装置,其中,所述划分单元进一步包括:
第二簇主题化单元,其针对簇运行主题模型,以获取两个主题向量;以及
第二计算单元,其计算所述第二簇主题化单元获取的两个主题向量之间的相似度,其中,
如果所述两个主题向量之间的相似度小于所述第一预定阈值,则所述划分单元将簇划分成两个子簇。
附记5.根据附记4所述的装置,其中,所述划分单元还包括:
主题获取单元,其获取待划分的簇的两个主题词向量;
第二文档主题化单元,其针对待划分的簇中的每一篇文档,运行主题模型,以获取每一篇文档的词向量;以及
第三计算单元,其分别计算每一篇文档的词向量与待划分的簇的两个主题词向量的相似度,
其中,所述划分单元基于每一篇文档的词向量与待划分的簇的两个主题词向量的相似度将待划分的簇划分为第一子簇或第二子簇。
附记6.根据附记3、4或5所述的装置,其中,所述主题模型是LDA模型。
附记7.根据附记1所述的装置,其中,所述合并单元重复执行所述合并过程,直到簇和子簇中的任意两个之间的相似度都小于所述第二预定阈值为止。
附记8.一种对包含多个文档的源数据进行聚类的方法,包括:
设置聚类数的集合;
针对所述集合中的每一个聚类数,使用所述文档中的词作为特征对所述源数据进行聚类,以将所述源数据聚类成数目等于聚类数的簇;
针对所述集合中的每一个聚类数,并且针对每一个簇,使用所述文档中的主题作为特征对簇执行划分过程,在所述划分过程中,簇被划分成两个部分,并且如果所述两个部分的相似度小于第一预定阈值,则将簇划分成两个子簇;
针对所述集合中的每一个聚类数,对划分后的簇执行合并过程,在所述合并过程中,计算簇和子簇中的任意两个之间的相似度,并且如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则将其合并为一个簇;
针对所述集合中的每一个聚类数,对合并后的簇进行计数,以获得更新聚类数;以及
对相同的更新聚类数进行计数,并且将数目最多的更新聚类数确定为最佳聚类数。
附记9.根据附记8所述的方法,进一步包括:
针对与被确定为最佳聚类数的更新聚类数相对应的源数据聚类中的每一种聚类,计算每个簇的内部相似度;
基于每个簇的内部相似度,获取所述每一种聚类的聚类相似度;以及
将具有最高聚类相似度的聚类确定为最佳源数据聚类。
附记10.根据附记9所述的方法,其中,计算每个簇的内部相似度包括:
针对每个簇,运行主题模型,以获取簇主题向量;
针对每个簇中的每个文档,运行所述主题模型,以获取文档主题向量;以及
基于所述簇主题向量和所述文档主题向量,计算所述内部相似度。
附记11.根据附记10所述的方法,其中,使用所述文档中的主题作为特征对簇执行划分过程包括:
针对簇运行主题模型,以获取两个主题向量;以及
计算所述两个主题向量之间的相似度,其中,
如果所述两个主题向量之间的相似度小于所述第一预定阈值,则将簇划分成两个子簇。
附记12.根据附记11所述的方法,其中,使用所述文档中的主题作为特征对簇执行划分过程还包括:
获取待划分的簇的两个主题词向量;
针对待划分的簇中的每一篇文档,运行主题模型,以获取每一篇文档的词向量;以及
分别计算每一篇文档的词向量与待划分的簇的两个主题词向量的相似度,
其中,基于每一篇文档的词向量与待划分的簇的两个主题词向量的相似度将待划分的簇划分为第一子簇或第二子簇。
附记13.根据附记10、11或12所述的方法,其中,所述主题模型是LDA模型。
附记14.根据附记8所述的方法,其中,所述合并单元重复执行所述合并过程,直到簇和子簇中的任意两个之间的相似度都小于所述第二预定阈值为止。
附记15.一种程序产品,包括存储在其中的机器可读指令代码,其中,所述指令代码当由计算机读取和执行时,能够使所述计算机执行根据附记8-14中任何一项所述的方法。

Claims (10)

1.一种对包含多个文档的源数据进行聚类的装置,包括:
设置单元,其设置聚类数的集合;
聚类单元,其针对所述设置单元设置的集合中的每一个聚类数,使用所述文档中的词作为特征对所述源数据进行聚类,以将所述源数据聚类成数目等于聚类数的簇;
划分单元,其针对所述聚类单元聚类的每一个簇,使用所述文档中的主题作为特征对簇执行划分过程,在所述划分过程中,簇被划分成两个部分,并且如果所述两个部分的相似度小于第一预定阈值,则将簇划分成两个子簇;
合并单元,其对所述划分单元划分后的簇执行合并过程,在所述合并过程中,计算簇和子簇中的任意两个之间的相似度,并且如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则将其合并为一个簇;
计数单元,其对所述合并单元合并后的簇进行计数,以获得更新聚类数;以及
聚类数确定单元,其对所述计数单元获得的相同的更新聚类数进行计数,并且将数目最多的更新聚类数确定为最佳聚类数。
2.根据权利要求1所述的装置,进一步包括:
第一计算单元,其针对与所述聚类数确定单元确定为最佳聚类数的更新聚类数相对应的源数据聚类中的每一种聚类,计算每个簇的内部相似度;
获取单元,其基于所述第一计算单元计算的每个簇的内部相似度,获取所述每一种聚类的聚类相似度;以及
聚类确定单元,其将通过所述获取单元得到的具有最高聚类相似度的聚类确定为最佳源数据聚类。
3.根据权利要求2所述的装置,其中,所述第一计算单元进一步包括:
第一簇主题化单元,其针对每个簇,运行主题模型,以获取簇主题向量;以及
文档主题化单元,其针对每个簇中的每个文档,运行所述主题模型,以获取文档主题向量,其中,
所述第一计算单元基于通过所述第一簇主题化单元获取的簇主题向量和通过所述文档主题化单元获取的文档主题向量来计算所述内部相似度。
4.根据权利要求1所述的装置,其中,所述划分单元进一步包括:
第二簇主题化单元,其针对簇运行主题模型,以获取两个主题向量;以及
第二计算单元,其计算所述第二簇主题化单元获取的两个主题向量之间的相似度,其中,
如果所述两个主题向量之间的相似度小于所述第一预定阈值,则所述划分单元将簇划分成两个子簇。
5.根据权利要求4所述的装置,其中,所述划分单元还包括:
主题获取单元,其获取待划分的簇的两个主题词向量;
第二文档主题化单元,其针对待划分的簇中的每一篇文档,运行主题模型,以获取每一篇文档的词向量;以及
第三计算单元,其分别计算每一篇文档的词向量与待划分的簇的两个主题词向量的相似度,
其中,所述划分单元基于每一篇文档的词向量与待划分的簇的两个主题词向量的相似度将待划分的簇划分为第一子簇或第二子簇。
6.根据权利要求3、4或5所述的装置,其中,所述主题模型是LDA模型。
7.根据权利要求1所述的文本聚类装置,其中,所述合并单元重复执行所述合并过程,直到簇和子簇中的任意两个之间的相似度都小于所述第二预定阈值为止。
8.一种对包含多个文档的源数据进行聚类的方法,包括:
设置聚类数的集合;
针对所述集合中的每一个聚类数,使用所述文档中的词作为特征对所述源数据进行聚类,以将所述源数据聚类成数目等于聚类数的簇;
针对所述集合中的每一个聚类数,并且针对每一个簇,使用所述文档中的主题作为特征对簇执行划分过程,在所述划分过程中,簇被划分成两个部分,并且如果所述两个部分的相似度小于第一预定阈值,则将簇划分成两个子簇;
针对所述集合中的每一个聚类数,对划分后的簇执行合并过程,在所述合并过程中,计算簇和子簇中的任意两个之间的相似度,并且如果簇和子簇中的任意两个之间的相似度大于或等于第二预定阈值,则将其合并为一个簇;
针对所述集合中的每一个聚类数,对合并后的簇进行计数,以获得更新聚类数;以及
对相同的更新聚类数进行计数,并且将数目最多的更新聚类数确定为最佳聚类数。
9.根据权利要求8所述的方法,进一步包括:
针对与被确定为最佳聚类数的更新聚类数相对应的源数据聚类中的每一种聚类,计算每个簇的内部相似度;
基于每个簇的内部相似度,获取所述每一种聚类的聚类相似度;以及
将具有最高聚类相似度的聚类确定为最佳源数据聚类。
10.根据权利要求9所述的方法,其中,计算每个簇的内部相似度包括:
针对每个簇,运行主题模型,以获取簇主题向量;
针对每个簇中的每个文档,运行所述主题模型,以获取文档主题向量;以及
基于所述簇主题向量和所述文档主题向量,计算所述内部相似度。
CN201410532606.XA 2014-10-10 2014-10-10 对包含多个文档的源数据进行聚类的装置和方法 Pending CN105574005A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410532606.XA CN105574005A (zh) 2014-10-10 2014-10-10 对包含多个文档的源数据进行聚类的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410532606.XA CN105574005A (zh) 2014-10-10 2014-10-10 对包含多个文档的源数据进行聚类的装置和方法

Publications (1)

Publication Number Publication Date
CN105574005A true CN105574005A (zh) 2016-05-11

Family

ID=55884153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410532606.XA Pending CN105574005A (zh) 2014-10-10 2014-10-10 对包含多个文档的源数据进行聚类的装置和方法

Country Status (1)

Country Link
CN (1) CN105574005A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145485A (zh) * 2017-05-11 2017-09-08 百度国际科技(深圳)有限公司 用于压缩主题模型的方法和装置
CN108073578A (zh) * 2016-11-07 2018-05-25 阿里巴巴集团控股有限公司 一种进行对象推荐的方法和***
CN108399213A (zh) * 2018-02-05 2018-08-14 中国科学院信息工程研究所 一种面向用户个人文件的聚类方法及***
CN109784354A (zh) * 2017-11-14 2019-05-21 中移(杭州)信息技术有限公司 基于改进分类效用的无参数聚类方法及电子设备
CN111737461A (zh) * 2020-06-03 2020-10-02 新华网股份有限公司 文本的处理方法、装置、电子设备及计算机可读存储介质
CN112148880A (zh) * 2020-09-28 2020-12-29 深圳壹账通智能科技有限公司 一种客服对话语料聚类方法、***、设备及存储介质
WO2022083011A1 (zh) * 2020-10-22 2022-04-28 首都师范大学 基于聚类等级关系自动识别方法、***、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053992A (zh) * 2009-11-10 2011-05-11 阿里巴巴集团控股有限公司 聚类方法和***
US20120215523A1 (en) * 2010-01-08 2012-08-23 International Business Machines Corporation Time-series analysis of keywords
CN102915315A (zh) * 2011-08-05 2013-02-06 中兴通讯股份有限公司 一种对网页进行分类的方法和***
CN102929906A (zh) * 2012-08-10 2013-02-13 北京邮电大学 基于内容特征和主题特征的文本分组聚类方法
CN103514183A (zh) * 2012-06-19 2014-01-15 北京大学 基于交互式文档聚类的信息检索方法及***
CN103714154A (zh) * 2013-12-26 2014-04-09 西安理工大学 一种确定最佳聚类数的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053992A (zh) * 2009-11-10 2011-05-11 阿里巴巴集团控股有限公司 聚类方法和***
US20120215523A1 (en) * 2010-01-08 2012-08-23 International Business Machines Corporation Time-series analysis of keywords
CN102915315A (zh) * 2011-08-05 2013-02-06 中兴通讯股份有限公司 一种对网页进行分类的方法和***
CN103514183A (zh) * 2012-06-19 2014-01-15 北京大学 基于交互式文档聚类的信息检索方法及***
CN102929906A (zh) * 2012-08-10 2013-02-13 北京邮电大学 基于内容特征和主题特征的文本分组聚类方法
CN103714154A (zh) * 2013-12-26 2014-04-09 西安理工大学 一种确定最佳聚类数的方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073578A (zh) * 2016-11-07 2018-05-25 阿里巴巴集团控股有限公司 一种进行对象推荐的方法和***
CN108073578B (zh) * 2016-11-07 2021-08-17 阿里巴巴集团控股有限公司 一种进行对象推荐的方法和***
CN107145485A (zh) * 2017-05-11 2017-09-08 百度国际科技(深圳)有限公司 用于压缩主题模型的方法和装置
CN109784354A (zh) * 2017-11-14 2019-05-21 中移(杭州)信息技术有限公司 基于改进分类效用的无参数聚类方法及电子设备
CN108399213A (zh) * 2018-02-05 2018-08-14 中国科学院信息工程研究所 一种面向用户个人文件的聚类方法及***
CN108399213B (zh) * 2018-02-05 2022-04-01 中国科学院信息工程研究所 一种面向用户个人文件的聚类方法及***
CN111737461A (zh) * 2020-06-03 2020-10-02 新华网股份有限公司 文本的处理方法、装置、电子设备及计算机可读存储介质
CN111737461B (zh) * 2020-06-03 2023-11-07 新华网股份有限公司 文本的处理方法、装置、电子设备及计算机可读存储介质
CN112148880A (zh) * 2020-09-28 2020-12-29 深圳壹账通智能科技有限公司 一种客服对话语料聚类方法、***、设备及存储介质
WO2022083011A1 (zh) * 2020-10-22 2022-04-28 首都师范大学 基于聚类等级关系自动识别方法、***、设备及存储介质

Similar Documents

Publication Publication Date Title
CN105574005A (zh) 对包含多个文档的源数据进行聚类的装置和方法
CN101587493B (zh) 文本分类方法
CN102184169B (zh) 用于确定字符串信息间相似度信息的方法、装置和设备
CN104991899B (zh) 用户属性的识别方法及装置
CN106649742A (zh) 数据库维护方法和装置
CN107656948A (zh) 自动问答***中的问题聚类处理方法及装置
US11288453B1 (en) Key-word identification
CN110399478A (zh) 事件发现方法和装置
CN102141977A (zh) 一种文本分类的方法及装置
CN111967971A (zh) 银行客户数据处理方法及装置
CN105512156B (zh) 点击模型生成方法和装置
CN103455534B (zh) 对文档进行聚类的方法和装置
CN111368891A (zh) 一种基于免疫克隆灰狼优化算法的K-Means文本分类方法
CN108427756B (zh) 基于同类用户模型的个性化查询词补全推荐方法和装置
CN109271520A (zh) 数据提取方法、数据提取装置、存储介质和电子设备
Trstenjak et al. Determining the impact of demographic features in predicting student success in Croatia
CN109885651B (zh) 一种问题推送方法和装置
CN110390014A (zh) 一种主题挖掘方法、装置及存储介质
CN106874367A (zh) 一种基于舆情平台的抽样分布式聚类方法
Huan et al. K-means text dynamic clustering algorithm based on KL divergence
Yan et al. Semi-supervised fuzzy co-clustering algorithm for document categorization
CN113204642A (zh) 文本聚类方法、装置、存储介质和电子设备
CN109543002A (zh) 简写字符的还原方法、装置、设备及存储介质
CN107704872A (zh) 一种基于相对最离散维分割的K‑means聚类初始中心选取方法
CN111176743B (zh) 一种基于用户使用习惯的唤醒性能优化方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160511

WD01 Invention patent application deemed withdrawn after publication