文本聚类作为一种无监督的机器学习方法,与分类方法不同,不需要训练过程,也不需要已标注类别信息的数据,主要是利用数据间的相似性作为聚类依据。文本间相似性主要基于距离度量、夹角余弦度量和分布度量以及杰卡德相似系数等;簇间相似性度量有最短距离法、最长距离法、簇平均法、重心法、离差平均和法;文本与簇之间的相似性通常转化为计算文本间的相似度或簇间的相似度。
文本聚类算法分为划分聚类法、层次聚类法、密度聚类法、网格聚类法、子空间聚类法、基于神经网络聚类法、图聚类法和谱聚类法。
划分法(partitioning methods):给定N个文档集合,将其划分为K个簇,K
层次法(hierarchical methods):对于给定的文档集合逐层进行聚合或分裂,最终将文档组织成一颗树状的聚类结构。具体地分为自底向上的聚合式层次聚类(agglomerative hierarchical clustering)和自顶向下的分裂式层次聚类(divisive hierarchical clustering)两种方法。在自底向上的聚合式层次聚类中,初始时将每一个文档视为一个单独的类,通过迭代每次合并所有类别中最相似的两个类别,直到所有的文本都合并成一个类别或者满足终止条件时结束。自顶向下的分裂式层次聚类过程与自底向上的聚合式层次聚类过程相反,初始时将所有的文档视为一个类别,然后逐次将它们分裂为更小的类别单元,直至所有的文档都自成一类。代表算法有:BIRCH算法、CURE算法、CHAMELEON算法等;
基于密度的方法(density-based methods):基本思想是文本空间中分布密集的文本被分布稀疏的文本分割,连通的稠密度较高的文本集合是所要寻找的目标集。只要一个区域中的点的密度大于某个阈值,就把它加到与之相近的聚类中去。它的优点是克服了基于距离的算法只能发现“类圆形”聚类的缺点。代表算法有:DBSCAN算法、OPTICS算法、DENCLUE算法等;
基于网格的方法(grid-based methods):将文本空集划分为有限个单元(cell)的格结构,所有的处理都是以单个的单元为对象的。它的优点是处理速度较快,通常与目标文本集中的文档个数无关的,只与把文档空间分为多少个单元有关。代表算法有:STING算法、CLIQUE算法、WAVE-CLUSTER算法;
谱聚类方法(Spectral clustering methods):将数据集中的每个文档看作是图的顶点V,将顶点间的相似度量化作为相应顶点连接边E的权值,这样就得到一个基于相似度的无向加权图G(V,E),于是聚类问题就可以转化为图的划分问题。基于图论的最优划分准则就是使划分成的子图内部相似度最大,子图之间的相似度最小。
基于子空间聚类方法(Subspace clustering methods)、基于神经网络聚类方法(Neural network clustering methods)以及基于图聚类方法(Graph clustering methods)都是对传统聚类算法的一种扩展。