文本聚类的方法及装置与流程

文档序号:12464718阅读:287来源:国知局
文本聚类的方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种文本聚类的方法及装置。



背景技术:

文本聚类是指将文本集合中的文本划分为多个文本簇,同一文本簇中的文本具有较高的相似度,不同文本簇中的文本相似度较低。区别于分类领域中预先给定的分类主题或标签,聚类中的归类依据是通过随机选取文本特征,或者通过计算所有文本的特征均值获得的,这个归类的依据也被称为质心或中心对象。在进行聚类时,将具有相同或相似文本特征的文本归类到一个文本簇中。通常一个文本簇对应一个质心,不同文本簇的质心互不相同。

现有的文本聚类过程需要人工设定希望获得的文本簇的数量,然后将待聚类的文本集合进行格式转换并输入到聚类模型中,从而获得该预定数量的文本簇。但是发明人发现,文本簇数量通常是独立设定的,并且设定之后就无法改变。对于规模较大的文本集合而言,使用固定文本簇数量进行聚类容易获得较大的文本簇。大文本簇中的文本数量多,文本特征杂乱,通常不被认为是理想的聚类结果。



技术实现要素:

本发明提供了一种文本聚类的方法及装置,能够解决大规模文本聚类效果差的问题。

为解决上述问题,本发明一方面提供了一种文本聚类的方法,该方法包括:

按照预定的文本簇数量k对文本集合进行一次聚类,获得k个一级文本簇,k为大于1的正整数;

获取目标一级文本簇,目标一级文本簇包括的文本数量大于k;

按照k对目标一级文本簇进行二次聚类。

另一方面,本发明提供了另一种文本聚类的装置,该装置包括:

聚类单元,用于按照预定的文本簇数量k对文本集合进行一次聚类,获得k个一级文本簇,k为大于1的正整数;

获取单元,用于获取目标一级文本簇,目标一级文本簇包括的文本数量大于k;

聚类单元还用于按照k对目标一级文本簇进行二次聚类。

借由上述技术方案,本发明提供的文本聚类的方法及装置,按照预定的文本簇数量k对文本集合进行一次聚类,从进行一次聚类后得到的一级文本簇中获取目标一级文本簇,目标一级文本簇包括的文本数量大于k;之后,按照k对目标一级文本簇进行二次聚类。这样,与现有技术仅对文本集合进行一次聚类相比,本发明在进行一次聚类后,若存在目标一级文本簇,则继续对目标一级文本簇进行二次聚类,以减少目标一级文本簇包括文本数量,进而增加了聚类的明确性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种文本聚类的方法的流程图;

图2示出了本发明实施例提供的另一种文本聚类的方法的流程图;

图3示出了本发明实施例提供的又一种文本聚类的方法的流程图;

图4示出了本发明实施例提供的一种文本聚类的装置的结构示意图;

图5示出了本发明实施例提供的另一种文本聚类的装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显 示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本实施例提供了一种文本聚类的方法。请参考图1,其示出了本实施例提供的一种文本聚类的方法的流程图。如图1所示,文本聚类的方法可以包括以下步骤:

101、按照预定的文本簇数量k对文本集合进行一次聚类,获得k个一级文本簇,其中,k可以为大于1的正整数。

聚类为将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。在本实施例中,上述记载的对象可以包括文本。

在本实施例中,可以但不限于通过k-means算法进行聚类。其中,K-means算法是硬聚类算法,是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越高。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。k个初始聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步中是随机的选取任意k个对象作为初始聚类的中心,分别对应最终获得的k个簇。

示例性的,以k为5为例。对文本集合进行聚类后,可以得到5个一级文本簇。每个一级文本簇中包括的文本的相似度较高。

本实施例对聚类以及聚类的算法不进行限定,为本领域技术人员说熟知的技术,在此不作赘述。

102、获取目标一级文本簇,其中,目标一级文本簇包括的文本数量大于k。

对于规模较大的文本集合而言,使用固定文本簇数量进行聚类容易获得较大的文本簇。大文本簇中的文本数量多,文本特征杂乱,通常不被认为是理想的聚类结果。

在本实施例中,可以以k为基准在进行一次聚类后得到的一级文本簇中,确定是否存在大文本簇。即如果一级文本簇中存在包括的文本数量大于k的目标一级文本簇,则可以确定一级文本簇中存在大文本簇。

103、按照k对目标一级文本簇进行二次聚类。

在本实施例中,为了减少大文本簇即目标一级文本簇包括的文本数量,按照k对目标一级文本簇进行二次聚类。

示例性的,以k为5为例进行说明。在进行一次聚类后,得到5个一级文本簇。如果一级文本簇中存在一个包括的文本数量大于5的目标一级文本簇,则可以将目标一级文本簇进行二次聚类,即目标一级文本簇被划分为5各二级文本簇,此时得到的所有文本簇的数量为9,即包括4个一级文本簇和5个二级文本簇。

本实施例提供的文本聚类的方法,按照预定的文本簇数量k对文本集合进行一次聚类,从进行一次聚类后得到的一级文本簇中获取目标一级文本簇,目标一级文本簇包括的文本数量大于k;之后,按照k对目标一级文本簇进行二次聚类。这样,与现有技术仅对文本集合进行一次聚类相比,本发明在进行一次聚类后,若存在目标一级文本簇,则继续对目标一级文本簇进行二次聚类,以减少目标一级文本簇包括文本数量,进而增加了聚类的明确性。

本实施例提供另一种文本聚类的方法,该方法是对图1所示的方法的进一步扩展和优化。

在本实施例中,在进行一次聚类后,可以采用以下两种方式进行二次聚类:方式一,首先从一级文本簇中获取所有包括的文本数量大于k的目标一级文本簇,之后,对所有目标一级文本簇进行二次聚类。方式二,从一级文本簇中获取包括的文本数量最大的文本簇,若获取的文本簇包括的文本数量大于k,则对获取的文本簇即目标一级文本簇进行二次聚类;之后,从剩余的一级聚类文本簇中继续获取包括的文本数量最大的文本簇,若获取的文本簇包括的文本数量大于k,则对获取的文本簇即目标一级文本簇进行二次聚类,重复上述步骤直至不存在文本数量大于k的一级文本簇为止。

针对上述方式一,请参考图2,其示出了本实施例提供的另一种文本聚 类的方法。如图2所示,图1所示的步骤102“获取目标一级文本簇”,可以包括以下步骤:

201、按照包括的文本数量从大到小的顺序遍历一级文本簇,获取目标一级文本簇。

在本实施例中,可以首先获取各一级文本簇中包括的文本数量,之后,可以按照包括的文本数量从大到小的顺序遍历一级文本簇,获取目标一级文本簇,即获取包括的文本数量大于k的目标一级文本簇。

在本实施例中,可以按照包括的文本数量从大到小的顺序遍历所有一级文本簇,也可以按照包括的文本数量从大到小的顺序遍历部分一级文本簇,即当遍历到包括的文本数量小于或等于k的文本簇时,停止遍历。

示例性的,以k为5为例进行说明。在进行一次聚类后,得到5个一级文本簇,分别为一级文本簇1至一级文本簇5,每个一级文本簇包括的文本数量依次为:3、2、1、6、15。由此,可以按照以下顺序遍历所有一级文本簇或部分一级文本簇,获取目标一级文本簇:一级文本簇5、一级文本簇4、一级文本簇1、一级文本簇2以及一级文本簇3。如果为遍历部分一级文本簇,则可以按照上述顺序遍历到一级文本簇1时,便停止遍历。目标一级文本簇可以包括一级文本簇4和一级文本簇5。

本实施例可以不限于按照文本数量从大到小的顺序遍历,还可以按照任意顺序遍历,具体可以根据实际需要进行设定,在此不作赘述。

针对上述方式二,请参考图3,其示出了本实施例提供的再一种文本聚类的方法。如图3所示,图1所示的步骤102“获取目标一级文本簇”,可以包括以下步骤:

301、从一级文本簇中获取包括的文本数量最多且文本数量大于k的文本簇,确定为目标一级文本簇。

在本实施例中,首先可以获取所有一级文本簇包括的文本数量,根据该文本数量,从一级文本簇中获取包括的文本数量最多的文本簇。然后判断获取的文本簇包括的文本数量是否大于k。若大于k,则将该文本簇确定目标一级文本簇,若小于k,则表明所有一级文本簇中的文本数量均不大于k,流程结束。

302、在按照k对目标一级文本簇进行二次聚类后,从剩余的一级文本簇中继续获取包括的文本数量最多且文本数量大于所述k的文本簇,确定为目标一级文本簇。

之后,可以执行步骤103“按照k对目标一级文本簇进行二次聚类”。在对步骤302获取的目标一级文本簇进行二次聚类之后,重复执行步骤302,从剩余的一级文本簇中再次获取目标文本簇,并对其进行二次聚类,直至不再存在文本数量大于k的一级文本簇为止。

示例性的,以k为5为例进行说明。在进行一次聚类后,得到5个一级文本簇,分别为一级文本簇1至一级文本簇5,每个一级文本簇包括的文本数量一次为:3、2、1、6、15。由此,首先可以获取一级文本簇5,由于一级文本簇5包括的文本数量大于5,因此,可以对一级文本簇5进行二次聚类,得到针对一级文本簇5的5个二级文本簇。之后,从未获取的一级文本簇1至4中获取一级文本簇4,由于一级文本簇4包括的文本数量大于5,因此,可以对一级文本簇4进行二次聚类,得到针对一级文本簇4的5个二级文本簇。之后,还可以从未获取的一级文本簇1至3中获取一级文本簇1,由于一级文本簇1包括的文本数量小于5,因此,流程结束。此时,得到的文本簇的数量为13,即包括三个一级文本簇、5个针对一级文本簇4的二级文本簇以及5个针对一级文本簇5的二级文本簇。

进一步地,在图1至图3中,当执行完步骤103之后,还可以执行以下步骤:

S1、获取进行二次聚类后得到的二级文本簇。

S2、获取目标二级文本簇,目标二级文本簇包括的文本数量大于k。

在对通过上述方式一或者方式二获取的目标文本簇进行二次聚类后,获取二级文本簇,并从中获取文本数量大于k的目标二级文本簇。本实施例中,可以按照上述方式一或者方式二对目标二级文本簇进行获取,本实施例对此不再赘述。

示例性的,以k为5为例进行说明。在进行一次聚类后,得到5个一级文本簇,可以包括一级文本簇1至一级文本簇5,如果需要对一级文本簇5进行二级聚类,则进行二次聚类后可以得到5个二级文本簇,即可以包括 二级文本簇51至二级文本簇55。如果二级文本簇54和二级文本簇55包括的文本数量大于5,则可以将二级文本簇54和二级文本簇55确定为目标二级文本簇。

在本实施例中,获取目标二级文本簇与获取目标一级文本簇的方法类似,具体可参见上述图2和图3所示的实施例,在此不作赘述。

S3、按照k对目标二级文本簇进行三次聚类,直至不存在文本数量大于k的文本簇为止。

如果进行三次聚类后,还存在文本数量大于k的三级文本簇,则重复S1至S3流程,进一步进行四次聚类、五次聚类…直至历次聚类获得的所有文本簇中不存在文本数量大于k的文本簇为止。本实施例不对重复聚类的次数以及参与重复聚类的文本簇数量进行具体限制。需要说明的是,所谓重复S1至S3流程是指在历次聚类后继续获取目标文本簇并进行下一次聚类,而非按照字面意思限定为“仅对目标二级文本簇进行三次聚类”。

示例性的,以k为5为例进行说明。在获取目标二级文本簇即二级文本簇54和二级文本簇55之后,可以继续对二级文本簇54和二级文本簇55进行三次聚类,具体聚类方式可以参照上述记载的一次聚类和二次聚类,在此不作赘述。

如果在进行三次聚类后,所得到的三级文本簇中存在包括的文本数量大于k的目标三级文本簇,则可以继续对目标三级文本簇进行四级聚类。循环执行上述步骤,直至不存在文本数量大于k的文本簇为止。

在执行完S1至S3后,目标一级文本簇被多次聚类为文本数量不大于k的多个文本簇。然后在剩余的一级文本簇中继续获取包括的文本数量最多、且文本数量大于所述k的文本簇,确定为目标一级文本簇。并按照S1至S3的方式对再次确定的目标一级文本簇进行多次聚类。如此反复,直至所有文本数量大于k的一级文本簇均被再次进行聚类,并且在对所有目标一级文本簇再次聚类所获得的最终文本簇中,不存在文本数量大于k的文本簇为止,至此完成了文本簇的聚类过程。

S4、当不存在包括的文本数量大于所述k的文本簇时,将获得的所有文本簇作为聚类结果进行输出。

所述不存在包括的文本数量大于所述k的文本簇是指,在经历历次文本聚类后获得的最终文本簇中,不存在文本数量大于k的文本簇。此时达到本实施例中聚类的预期效果,终止聚类,输出最终获得的所有文本簇。

为了实现上述方法实施例,本实施例提供一种与上述方法实施例对应的装置实施例。请参考图4,其示出了本实施例提供的一种文本聚类的装置的结构示意图。该装置与图1至图3所示的方法对应。如图4所示,文本聚类的装置可以包括:

聚类单元401,用于按照预定的文本簇数量k对文本集合进行一次聚类,获得k个一级文本簇,k为大于1的正整数;

获取单元402,用于获取目标一级文本簇,目标一级文本簇包括的文本数量大于k;

聚类单元401还用于按照k对目标一级文本簇进行二次聚类。

进一步地,图4所示的获取单元402,用于按照包括的文本数量从大到小的顺序遍历一级文本簇,获取目标一级文本簇。

进一步地,图4所示的获取单元402,用于:

从一级文本簇中获取包括的文本数量最多的文本簇;

若获取的文本簇包括的文本数量大于k,则将获取的文本簇确定为目标一级文本簇。

进一步地,图4所示的获取单元402,用于:

从一级文本簇中获取包括的文本数量最多且文本数量大于k的文本簇,确定为目标一级文本簇;

在按照k对目标一级文本簇进行二次聚类后,从剩余的一级文本簇中继续获取包括的文本数量最多且文本数量大于k的文本簇,确定为目标一级文本簇,直至不存在文本数量大于k的一级文本簇为止。

进一步地,图4所示的获取单元402,用于:

在按照k对目标一级文本簇进行二次聚类之后,获取进行二次聚类后得到的二级文本簇;

获取目标二级文本簇,目标二级文本簇包括的文本数量大于k;

图4所示的聚类单元401,用于按照k对目标二级文本簇进行三次聚类, 直至不存在文本数量大于k的文本簇为止。

进一步地,图5示出了本实施例提供的另一个文本聚类的装置的结构示意图。

图5所示的装置进一步包括:

输出单元501,用于当不存在包括的文本数量大于k的文本簇时,将获得的所有文本簇作为聚类结果进行输出。

本实施例提供的文本聚类的装置,按照预定的文本簇数量k对文本集合进行一次聚类,从进行一次聚类后得到的一级文本簇中获取目标一级文本簇,目标一级文本簇包括的文本数量大于k;之后,按照k对目标一级文本簇进行二次聚类。这样,与现有技术仅对文本集合进行一次聚类相比,本实施例在进行一次聚类后,若存在目标一级文本簇,则继续对目标一级文本簇进行二次聚类,以减少目标一级文本簇包括文本数量,进而增加了聚类的明确性。

所述文本聚类的装置包括处理器和存储器,上述聚类单元、获取单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来增加聚类明确性。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:按照预定的文本簇数量k对文本集合进行一次聚类,获得k个一级文本簇,所述k为大于1的正整数;获取目标一级文本簇,所述目标一级文本簇包括的文本数量大于所述k;按照所述k对所述目标一级文本簇进行二次聚类。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个 或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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