一种文本聚类元学习方法及装置的制作方法

文档序号:6609950阅读:129来源:国知局
专利名称:一种文本聚类元学习方法及装置的制作方法
技术领域
本发明涉及文本聚类方法,尤其是指一种文本聚类元学习方法及装置。
背景技术
文本聚类方法是一种聚类分析方法,是聚类分析技术在文本处理领域的一种应用。文本聚类的方法能自动发现一个文本集中的若干簇,并将文本集中的所有文本划分成多个簇,使得属于同一个簇中的文本之间的内容具有较高的相似度,而属于不同簇的文本之间的内容差别较大。文本聚类方法可应用于很多方面,例如美国国防部的话题检测与追踪(TDT,Topic detection and tracking)项目就力图通过文本聚类方法在一个新闻文本流中自动发现热点话题;此外,还可以使用文本聚类方法对搜索引擎返回的结果网页进行聚类,从而使用户获得更加结构化的和可理解的搜索结果;通过使用文本聚类方法,还可自动产生类似于雅虎目录(Yahoo Directory)那样的网络文本的分类体系等。
目前的文本聚类方法通常是基于向量空间模型的。在向量空间模型中,每个文本都被表示为一个多维欧几里德空间中的文本向量,空间中的每一维都和一个特征词相对应,文本向量在每一维上的取值一般定义为该维所对应的特征词在该文本向量所对应的文本中出现的次数。对于任何一个文本集,利用向量空间模型可以产生一个基于特征词的文本向量矩阵V(n*k),其中n为文本集中文本的数量,k为每个文本向量的维数,矩阵的每一行都对应一个文本向量。获得文本集的向量矩阵后,可以利用各种经典的聚类算法如K均值(K-means)算法算法、层次凝聚聚类(HAC)算法等对文本集的向量矩阵进行聚类计算,从而产生文本聚类结果。
现有的聚类算法大致可分为层次聚类、划分聚类、基于密度的聚类、基于网格的聚类和基于模型的聚类算法等几种。其中划分聚类算法,尤其是K-means算法一直是应用最为广泛的聚类算法之一。在K-means算法中,通过比较数据样本与各个类中心点之间的距离划分类别,经过反复迭代将数据集划分成K个部分。其中,K为希望得到的簇的数量,需预先指定。具体来说,上述的K-means算法包括三个步骤第一步,在数据集中确定K个初始类中心点,分别代表K个类簇;第二步,将每一个数据样本赋予与其距离最近的类中心点所代表的类簇;第三步,计算当前形成的各个类簇的中心点,代替原有类中心点,并返回第二步;如此循环执行第二、三步,直到结果收敛,也就是所有数据样本所属簇不再发生变化为止,从而达到划分聚类的目的。
除了文本聚类方法外,文本分类是另一种进行文本分析的方法。与文本聚类方法所不同的是,文本分类方法需要人工进行训练,即需要人工指定类别,并为每个类别提供一定的训练数据,然后根据被检测文本与训练数据之间的差异判断被检测文本所属的类别。常用的文本分类方法有K最近邻(KNN,K-Nearest Neighbor)算法等。
目前,一般的文本聚类和分类方法都是将文本集中的文本划分到一个特定的簇或者类别中,而软聚类和软分类方法则是对上述文本聚类和文本分类方法的一个扩展,这两种方法并不是将文本集中的文本划分到一个簇或者类别中,而是以不同的概率将文本集中的文本划分到多个簇和类别中。一般来说,通过软聚类和软分类方法所得到的分类结果更加科学。
目前文本聚类方法存在的一个主要问题在于文本聚类方法的稳定性差,即对于不同的文本集,使用一个文本聚类方法对其进行处理的结果可能时好时坏;而且有可能出现对某一个文本集,使用文本聚类方法A比使用文本聚类方法B所得到的分类结果好,而对另一个文本集,则使用文本聚类方法A比使用文本聚类方法B所得到的分类结果差的问题。
为了解决这一问题,一些研究者提出了文本聚类元学习的方法。该方法通过对多种文本聚类算法产生的聚类结果进行综合,以提高文本聚类方法的稳定性。而所述的元学习,就是对学习结果的再学习,即对上述多种文本聚类算法产生的聚类结果所进行的再学习。上述的这种文本聚类元学习的方法可以通过不同的策略来实现,其中最直观的方法是投票(consensus)方法,该方法非常易于实现。在投票方法中,使用了多种文本聚类算法,而对于某一个对象应属于哪一簇,每一种不同的文本聚类方法都将给出各自的评价,然后采取一种投票的方式,即将得票数最多的聚类结果作为这一对象最终应归属的簇。另外,Alexander Strehl等人还提出了三种基于投票的元学习方法第一种方法称之为基于簇的相似性的划分算法(CSPA,Cluster-based Similarity PartitioningAlgorithm),该算法通过分析同一个簇内的两个对象之间的关系来评价每两个对象之间的相似性,根据获得的相似性评价来重新划分簇,从而获得更好的聚类结果;第二种方法称之为超图划分算法(HGPA,HyperGraph PartitioningAlgorithm),该算法将文本聚类元学习的过程看做是进行超图分割的过程,超图的边即为产生的簇;第三种方法是将文本聚类元学习过程视为一个簇对应的过程,即将两组不同的聚类结果中相似的簇对应起来,然后综合产生最后的簇。该方法在实施前必须首先解决簇对应的问题,但由于文本聚类方法中并不存在固定的类别体系,所以要将两组不同的聚类结果中的簇一一对应起来是非常困难的。相应于上述的第三种方法,另一种比较宽松的方法是寻找在两组聚类结果中均出现的类簇,而忽略其它类簇。但即便如此,当文本聚类的次数较多时,这样重复出现的簇也会变得非常少;考虑到上述情况,还可以再将标准降低一些,即只要不同聚类结果中的簇比较相似即可将其对应起来,但这样一来,如何确定相似性阈值等问题会给元学习本身带来不稳定因素,使得利用元学习技术提高算法稳定性的目标变得难以实现。
综上可知,在现有技术中的文本聚类元学习方法中,虽然通过对多种文本聚类算法产生的聚类结果进行了综合,但由于对聚类结果所进行的元学习采取的是投票的方式,从而无法基于相似性来准确地对簇进行划分,导致聚类结果的准确性和稳定性都不高。

发明内容
有鉴于此,本发明提供一种文本聚类元学习方法及装置,提高聚类结果的准确性和稳定性。
为达到上述目的,本发明的技术方案是这样实现的本发明的实施例提供了一种文本聚类元学习方法,该方法包括以下步骤A、用文本分析方法对文本集进行文本分析,得到至少两个文本分析结果;B、根据所述文本分析结果合成文本向量矩阵;C、对所述文本向量矩阵进行元学习,得到最终聚类结果。
本发明的实施例还提供了一种文本聚类元学习装置,该装置包括文本分析模块、矩阵合成模块和元学习模块;所述文本分析模块,用于对文本集进行文本分析,将得到的文本分析结果发送给所述矩阵合成模块;所述矩阵合成模块,用于根据接收到的文本分析结果合成文本向量矩阵,将合成的文本向量矩阵发送给所述元学习模块;所述元学习模块,用于对接收到的文本向量矩阵进行元学习,输出最终聚类结果。
由上述的技术方案可知,本发明中的文本聚类元学习方法及装置,由于根据多个文本分析结果合成了文本向量矩阵,并对上述文本向量矩阵进行了元学习,综合考虑了多次软聚类或软分类的分析结果,所以可获得更准确的文本聚类结果,有效的降低了单次聚类所带来的偏差,提高了聚类结果的准确性和稳定性。


图1为本发明实施例中文本聚类元学习方法的原理图。
图2为本发明实施例中文本聚类元学习方法的流程图。
图3为本发明实施例中文本聚类元学习装置的结构图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明提供了一种文本聚类元学习方法,该方法先利用软聚类和软分类方法对文本集进行多次处理,获得处理结果;然后通过多次软聚类和软分类处理结果构建文本向量矩阵,最后利用聚类算法对文本向量矩阵进行元学习处理,获得最后的聚类结果。
图1为本发明实施例中文本聚类元学习方法的原理图。如图1所示,在本发明实施例中的文本聚类元学习方法中,首先分别利用多种文本软聚类方法和文本软分类方法对文本集进行处理,从而得到多个聚类结果;然后,基于上述通过多种文本软聚类方法和文本软分类所得到的多个聚类结果构建一个文本向量矩阵;接着,对文本向量矩阵进行归一化处理,最后基于硬聚类算法的元学习方法对上述文本向量矩阵进行元学习,从而获得最终的文本聚类的结果。
图2为本发明实施例中文本聚类元学习方法的流程图。如图2所示,本发明实施例中文本聚类元学习方法包括如下所述的步骤步骤201,用文本分析方法对文本集进行m次处理。
上述的文本分析方法包括软聚类方法和软分类方法。所述的软聚类方法和软分类方法是两类不同的数据挖掘方法,各自有不同的应用领域。使用软聚类方法和软分类方法所得到的结果是若干个类,以及每一个文本属于一个特定的类的概率。对于软聚类方法,类代表软聚类方法发现的簇,对于软分类,类代表一个具体的类别。在本发明的实施例中,将上述的两类方法有机结合起来,从而可以获得更加准确和稳定的聚类结果。
上述的用文本分析方法对文本集进行m次处理,可以是单独使用一种或多种软聚类方法对文本集进行m次处理;也可以是单独使用一种或多种软分类方法对文本集进行m次处理;还可以是同时使用一种或多种软聚类方法和软分类方法对文本集进行m次处理。为叙述方便,以下将以同时使用软聚类方法和软分类方法对文本集进行m次处理为例进行详细地说明。
在上述步骤中,可使用一些公开的软聚类和软分类方法对文本集进行处理,所述的软聚类和软分类方法包括软K-means、软KNN等算法。在实际应用中,可以先从软聚类和软分类方法中各自选择n种算法,然后使用所选择的每一种算法对所需处理的文本集进行m次处理。上述的n和m均为整数,可预先进行设置,并且所述的n和m满足n≥1,m≥1。之所以使用同一种方法进行m次处理,是因为即使是使用同一种方法对同一个文本集进行处理,所得到的处理结果也可能不同,例如对于软K-means算法来说,即使是对于同一个文本集,每次使用同一个软K-means算法进行处理,所获得的结果都是不同的。为了提高所获得的结果的准确性,所以需要使用同一种方法进行m次处理,从而得到m个处理结果。
此外,在使用上述的软聚类方法和软分类方法之前,还需要对文本集进行预处理,将文本集中的文本转化为基于特征词的文本向量,以便于使用软聚类方法和软分类方法对文本集进行处理。所述的预处理主要包括分词、特征选取和文本向量化等三个步骤,通过这三个步骤可将文本集中的每个文本都转换成一个多维欧几里德空间中的文本向量。具体的处理步骤如下所述1)首先需要进行分词处理。
分词是将文本集中的文本划分为单个的词,并统计每个词在文本中出现的次数,并据此作为文本向量化的依据。
2)然后,进行特征选取处理。
由于在一个文本集中出现的词非常多,而且很多词对聚类的区分没有积极作用,反而会影响到聚类的效果,因此需要对文本集中的词进行特征选取。进行特征选取的目的是保留那些有利于聚类区分的词,而去除大部分的不利于聚类区分的词,从而在不影响聚类效果的情况下降低文本向量的维度。在本发明中可采用多种特征选取方法,包括去除阻止词、去除在过多或者过少的文本中出现的词和去除在单个文本中出现次数过少的词等方法。通过结合使用上述的方法,可以在对聚类效果几乎没有影响的情况下将文本集中的特征词的数量从上万个降低到一千个左右。
3)最后,进行文本向量化。
文本向量化的目的是将文本集中的文本转化为一个多维欧几里德空间中的文本向量,所述的多维欧几里德空间中的每一维都和一个特征词相对应,一个文本向量在多维欧几里德空间中每一维上的取值就是该维所对应的特征词在该文本向量所对应的文本中的权重。常用的文本向量权重计算方法包括词频(TF)、词频反文献频率(TFIDF)、词频控制(tfc)和长度词频(ltc)等方法。与其他权重计算方法相比,ltc方法减少了不同文本的长短差异对文本向量化和聚类的影响,因此在本发明中使用的是ltc方法。使用ltc方法计算权重的公式为ltc(i,k)=log(fik+1.0)*log(Nni)Σj=1M[log(fjk+1.0)*log(Nnj)]2---(1)]]>其中,N为文本集中文本的数量,M为所选取的特征词的数量,fik为第i个特征词在第k个文本中出现的次数,ni为含有第i个特征词的文本的数量。
对文本集进行上述预处理后,再使用上述的软聚类方法和软分类方法对文本集进行多次处理,获得处理结果。
以上所述为同时使用软聚类方法和软分类方法对文本集进行m次处理的方法,而单独使用软聚类方法或软分类方法对文本集进行处理的步骤与上述同时使用软聚类方法和软分类方法的步骤是相类似的,因此不再赘述。
步骤202,基于m次处理结果构建文本向量矩阵。
在该步骤中,上述文本向量矩阵的构建方法如下首先,将上述每一个利用软聚类或者软分类方法得到的处理结果都分别表示为一个矩阵,矩阵的行代表软聚类方法产生的簇或者软分类方法中的类别,列代表文本集中的文本,每一个对象是某一个文本属于一个簇或者类别的概率。例如,对于一个包含n个文本的文本集Corpus(d1,d2,d3,...,dn),假设对其进行软聚类和软分类的处理次数为m,则可以得到对该文本集的m个划分结果,可以表示为Partition(P1,P2,P3,...,Pm),其中Pi为第i个软聚类或者软分类的处理结果,可以表示为Pi=Ci1Ci2...Ciki,]]>其中ki是第i次软聚类或者软分类结果中簇或类别的数量,即表示在本次处理结果Pi中,该文本集被分成了ki个簇或类别,Cij是该文本集第i次软聚类或者软分类结果中的第j个簇或者类别。因此,根据上述的处理结果,可将第i次软聚类和软分类结果表示成一个矩阵Mi=v1iv2i···vni---(2)]]>其中,vli为上述文本集中的第l个文本在第i次软聚类或者软分类的处理结果,可以表示为vli=Probli1Probli2...Probliki,]]>其中Problij为第l个文本属于第i次软聚类或者软分类结果中第j个簇或者类别的概率。
通过上述的方法,我们可以获得所有软分类和软聚类结果矩阵。然后,将所有软聚类和软分类结果矩阵拼接成一个分块矩阵M,如下所示,M即为文本向量矩阵。
M=[M1M2... Mm] (3)其中,Mi为利用软聚类或者软分类方法所得到的处理结果矩阵,m为所进行的软聚类和软分类的次数。
由于不同的软聚类和软分类方法的准确性有所差别,因此用户可以根据实际情况,预先对不同的利用软聚类方法和软分类方法所得到的处理结果设置不同的权值k,然后将所得到的每个处理结果,即矩阵分别乘上相应的权值k后,再将所有的矩阵拼接成一个文本向量矩阵。如下所示M=[k1M1k2M2... kmMn](4)
其中,kj为对不同软聚类方法和软分类方法预先设置的权值,m为所使用的不同的软聚类方法或软分类方法的数量。
步骤203,进行元学习,获得最后的聚类结果。
在该步骤中,本发明实施例首先对文本向量矩阵进行归一化处理,然后利用聚类方法对上述文本向量矩阵进行元学习,获得最后的文本聚类的结果。所述的元学习,就是对前一步骤中软聚类和软分类的学习结果进行的再学习。可以采用本领域中的一些常用的聚类算法,例如K-means算法,层次凝聚聚类算法,密度聚类算法等,对上述的文本向量矩阵进行归一化处理和聚类元学习。最后得到的聚类结果为P={C1,C2,...,Ck},其中K为产生的簇的数量,Ci为第i个簇。
综上可知,本发明提供了一种文本聚类元学习方法,该方法首先将文本集向量化,分别利用软聚类和软分类算法对文本集进行若干次处理,然后根据获得的软聚类和软分类结果构建一个文本向量矩阵,该向量矩阵中的每一个对象分别是某一文本属于某一个软聚类方法产生的簇或者某一个软分类方法中的分类的概率,最后利用一般的聚类算法对该文本向量矩阵进行元学习,获得最后的文本聚类结果。由于该方法综合考虑了多次聚类和分类的结果,所以可获得更准确的文本聚类结果,有效的降低了单次聚类所带来的偏差,提高了聚类结果的准确性和稳定性。
此外,本发明的实施例还提供了一种文本聚类元学习装置。图3所示为本发明实施例中文本聚类元学习装置的结构图,如图3所示,该装置包括预处理模块300、文本分析模块301、矩阵合成模块302和元学习模块303。其中,预处理模块300用于对文本集中的文本进行文本向量化,将文本向量化后的文本集发送给文本分析模块301;文本分析模块301对所需处理的文本集进行文本分析,并将所得到的文本分析结果发送给矩阵合成模块302。在文本分析模块301中,所使用的文本分析方法包括软聚类方法和软分类方法;矩阵合成模块302根据接收到的文本分析结果合成文本向量矩阵,并将合成的文本向量矩阵发送给所述元学习模块303;所述元学习模块303,用于对接收到的文本向量矩阵进行元学习,输出最终聚类结果。
在上述的文本聚类元学习装置中,预处理模块300不是必需的模块,所以用虚线表示。如图3所示,预处理模块300还包括分词单元304、特征选取单元305和文本向量化单元306。分词单元304,用于将文本集中的文本划分为单个的词,并统计每个词在文本集中出现的次数,并将划分结果和统计结果发送给特征选取单元305;特征选取单元305根据接收到的划分结果和统计结果,从文本集中选取特征词,并将选取的特征词发送给文本向量化单元306;文本向量化单元306根据接收到的特征词将文本集中的文本转化成文本向量,并将文本向量化后的文本集发送给文本分析模块301。
如图3所示,所述矩阵合成模块302还包括矩阵化单元307和合成单元308。矩阵化单元307将接收到的文本分析结果转化成矩阵,并将转化后的矩阵发送给合成单元308;合成单元308将接收到的所有转化后的矩阵合成一个文本向量矩阵,并将合成的文本向量矩阵发送给所述元学习模块303。
如图3所示,元学习模块303还包括归一化单元309和学习单元310。归一化单元309用于对接收到的文本向量矩阵进行归一化处理,并将归一化后的文本向量矩阵发送给学习单元310;学习单元310用于对接收到的归一化后的文本向量矩阵进行元学习,从而输出最终聚类结果。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种文本聚类元学习方法,其特征在于,该方法包括以下步骤A、用文本分析方法对文本集进行文本分析,得到至少两个文本分析结果;B、根据所述文本分析结果合成文本向量矩阵;C、对所述文本向量矩阵进行元学习,得到最终聚类结果。
2.根据权利要求1所述的方法,其特征在于步骤A中的文本分析方法为软聚类方法和/或软分类方法。
3.根据权利要求1所述的方法,其特征在于,步骤B中所述合成文本向量矩阵包括B1、将所述文本分析结果分别表示成矩阵;B2、将所述矩阵合成一个文本向量矩阵。
4.根据权利要求3所述的方法,其特征在于,步骤B1还包括将所述矩阵分别乘上预先设置的权值。
5.根据权利要求1所述的方法,其特征在于,步骤A之前还包括对所述文本集进行预处理;所述预处理包括分词、特征选取和文本向量化。
6.一种文本聚类元学习装置,其特征在于,该装置包括文本分析模块、矩阵合成模块和元学习模块;所述文本分析模块,用于对文本集进行文本分析,将得到的文本分析结果发送给所述矩阵合成模块;所述矩阵合成模块,用于根据接收到的文本分析结果合成文本向量矩阵,将合成的文本向量矩阵发送给所述元学习模块;所述元学习模块,用于对接收到的文本向量矩阵进行元学习,输出最终聚类结果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括预处理模块;所述预处理模块,用于对文本集中的文本进行文本向量化,将文本向量化后的文本集发送给所述文本分析模块。
8.根据权利要求7所述的装置,其特征在于,所述预处理模块包括分词单元、特征选取单元和文本向量化单元;所述分词单元,用于将文本集中的文本划分为单个的词,并统计每个词在文本集中出现的次数,将划分结果和统计结果发送给所述特征选取单元;所述特征选取单元,用于根据接收到的划分结果和统计结果,从文本集中选取特征词,将选取的特征词发送给所述文本向量化单元;所述文本向量化单元,用于根据接收到的特征词将文本集中的文本转化成文本向量,将文本向量化后的文本集发送给所述文本分析模块。
9.根据权利要求6所述的装置,其特征在于,所述矩阵合成模块包括矩阵化单元和合成单元;所述矩阵化单元,用于将接收到的文本分析结果转化成矩阵,将转化后的矩阵发送给所述合成单元;所述合成单元,用于将接收到的所有转化后的矩阵合成一个文本向量矩阵,将合成的文本向量矩阵发送给所述元学习模块。
10.根据权利要求6所述的装置,其特征在于,所述元学习模块包括归一化单元和学习单元;所述归一化单元,用于对接收到的文本向量矩阵进行归一化处理,将归一化后的文本向量矩阵发送给所述学习单元;所述学习单元,用于对接收到的归一化后的文本向量矩阵进行元学习,输出最终聚类结果。
全文摘要
本发明公开了一种文本聚类元学习方法,该方法包括用文本分析方法对文本集进行文本分析,得到至少两个文本分析结果;根据所述文本分析结果合成文本向量矩阵;对所述文本向量矩阵进行元学习,得到最终聚类结果。本发明还公开了一种文本聚类元学习装置,该装置包括文本分析模块、矩阵合成模块和元学习模块。由于本发明所提供的文本聚类元学习方法及装置综合考虑了多次聚类和分类的结果,所以可获得更准确的文本聚类结果,有效的降低了单次聚类所带来的偏差,提高了聚类结果的准确性和稳定性。
文档编号G06F17/30GK101079072SQ20071011775
公开日2007年11月28日 申请日期2007年6月22日 优先权日2007年6月22日
发明者向继, 夏鲁宁, 荆继武, 冯登国 申请人:中国科学院研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1