原文链接Frequent Term-Based Text Clustering
译文author:王小黑*********************************************************
文本聚类方法可用于构造大量文本集或超文本。然鹅,众所周知的文本聚类方法不能真的解决特殊的文本聚类问题:数据的高维度、数据库的大规模、聚簇描述的可理解性。这篇文章中,我们介绍了一种新的方法,该方法用频繁项集来进行文本聚类。这种频繁项集能通过关联规则挖掘算法高效的发现。为了基于频繁项集进行聚类,我们测量频繁集相对于支持文档集的相互重叠部分,提出了两种基于频繁项集的文本聚类算法:用于平面聚类的FTC和用于层次聚类的HFTC。对经典文本文档以及web文档的一个实验评估表明,与最先进技术的文本聚类算法相比,所提出的算法能够更有效地获得具有可比质量的聚类。此外,我们的方法提供了一种通过频繁项集发现聚簇的可理解性描述。
关键词:聚类;频繁项集;文本文档
万维网继续以惊人的速度增长。一方面,在组织内部网中管理的文本和超文本数量也在快速增长,这些文本代表组织积累的知识,这些知识对于他们在当今信息社会中的成功变得越来越重要。由于网络和组织内部网的大规模、高动态性和多样性,对一些用户或目的来说,发现真正相关的文本早已成为一个非常有挑战性的任务。例如:标准搜索引擎低精确度,因为通常大量不相关的网页与少量相关的网页一起返回。这种现象主要由于以下的事实:用户指定的关键词可能出现在不同的文本中,比如考虑术语“聚类”。因此,网络搜索引擎通常返回一长条结果列表,但是用户在其有限时间内,仅仅处理前几个结果。因此,大量真正相关的信息隐藏在一长条结果列表里而没有被发现。文本聚类方法可以用来构造大型结果文本集,使得用户可以交互式的浏览它们。在现代信息社会中,高效知识管理是一个主要的竞争性优势。构建公司内部网中可用的大型超文本集,可以再次使用文本聚类方法。
与之前的聚类应用相比,聚类(超)文本数据库必须解决三个主要的挑战:
大量不同的文本聚类算法已被用在文献上,包括:分散或聚集、后缀树聚类以及二分k-means聚类算法。一个最近的比较表明:在聚类质量上,二分k-means算法优于其他聚类算法。此外,这个算法也是高效的。然而,二分k-means算法像其他大多数算法一样,不能真正解决上面提到的文本聚类问题:它聚集了疏于频繁向量的完整高维向量空间,并且发现的聚类方法没有提供对在某个聚类中分组的文档的可理解的描述。
在这篇文章中,我们提出了一种新的方法,该方法用频繁项集来进行文本聚类。频繁项集是在数据库的所有文档超过阈值百分比的情况下共同发生的术语集。使用像Apriori在[Fast Algorithms for Mining Association Rules in Large Databases]中提出的算法能够高效的发现这样的频繁集。这种方法允许我们大幅度减少数据维度,即使对于非常大规模的数据库也是如此,并且通过其频繁项集提供对所发现的聚类的可理解的描述。
这篇文章的剩余部分如下。第二节简要介绍一般文本聚类方法,如预处理,并讨论众所周知的算法。第三节介绍我们基于频繁项集的文本聚类新方法,以及提出FTC和HFTC算法。并对真实的实验数据进行评估。第四节结果描述。第五节总结和展望。
所有文本聚类方法都需要几个数据预处理的步骤。首先,任何非文本信息如HTML标签和标点符号从文档中被移除;其次,停用词像"I","am",等等也被移除。术语是由某个分隔符与其他术语分隔的任何字符序列。注意术语既有单个单词也有几个单词的组合。通常,使用词干算法将术语简化为其基本词干。
大多数的文本聚类算法依赖所谓的向量空间模型。在这个模型中,每个文档d都用剩余m项的频繁向量表示:
通常,文档向量被标准化为单位长度,以允许来比较不同长度的文档。注意即使经过预处理后,向量空间仍有一个非常高的维度,通常仍有几千个术语,在许多文本数据库中你必须处理大约10,000个术语。由于文档的高维性,对于任何单一文档,大多数频率都是零。
为了度量向量空间模型中表示的两个文档和
的相似性,通常用余弦度量,它由两个向量间的余弦夹角来定义:
这里代表向量的乘积,
表示向量长度。
标准聚类算法可以分为分区算法(如:k-means、k-medoid)和分层算法(如:Single-Link 、 Average-Link)。分散/聚集(Scatter / Gather)是一种在基于聚类的文档浏览系统上提出的著名算法。它使用层次聚类算法确定初始聚簇,然后在用k-means算法进行细化。为了实现文本聚类,人们提出了许多k-means算法的变体,尤其是Larsen B., Aone Ch[5:Fast and Effective Text Mining Using Linear-time Document Clustering]算法实现良好的初始聚簇。最近的一项研究【A Comparison of Document Clustering Techniques 】在各种测试数据集上比较了文本聚类的分区和分层方法。他认为k-means算法在聚类质量上明显优于分层方法。注意,k-means也比分层聚类算法高效得多。此外,还介绍了k-means的变体——二分k-means,它的性能更加好。二分k-means借助k-means将数据集划分为两个集群。然后再次使用k-means将当前最大的集群划分成两个集群,直到发现总共k个簇。
上面的文本聚类算法并不能真正解决文本聚类的特殊挑战:它们聚集了整个的高纬度向量空间,并且发现的聚簇质心或平均值不能提供对聚簇的可理解性描述。这些推动了不基于向量空间模型的新的特殊的文本聚类算法的发展。后缀树聚类是遵循这种方法的第一种方法。它的思想是形成共享共通术语或短语(多词术语)的文档集群。基本聚簇是包含单个给定术语(或称项)的文档集。构建聚类图,其中节点表示基本聚簇,边表示两个相关基本聚簇之间至少有50%重叠。一个聚簇在此聚簇图中定义为连接组件。后缀树聚类的缺点是,虽然图中两个直接相邻的基本聚簇必须相似,但连接组件中的两个远程节点(基本聚簇)根本不必相似。遗憾的是,后缀树聚类尚未在标准测试数据集上进行评估,因此很难将其性能与其他方法进行比较。
频繁项集是关联规则挖掘的基础。利用频繁项集的单调性(每个频繁项集的子集也是单调的)和使用支持计数的数据结构,即使对于大规模的数据库,也能够有效地确定所有频繁项集的集合。已经为这个任务开发了不同的算法,如:文献5[Larsen B., Aone Ch.Fast and Effective Text Mining Using Linear-time Document Clustering]。文献8【Hipp J., Guntzer U.,Nakhaeiz -adeh G.: Algorithms for Association Rule Mining – a General Survey and Comparison】对关联规则挖掘做了一个概述。频繁项集也可用于分类任务。文献9【Liu B., Hsu W., Ma Y.: Integrating Classification and Association Rule Mining】介绍了一个在大型频繁项集数据库上建立一个高效分类器的一般方法,文献10【Zaiane O., Antonie M.-L.: Classifying Text Documents by Associating Terms with Text Categories】为了文本分类的目的提出了对这种方法的改进。
基于频繁项集的聚类很有前景的,因为它提供了一个减少大维度文档向量空间的自然方法。因为我们不是处理交易而是处理文档,所以将使用术语集的概念而不是集合。术语是文档中的任何预处理词,并且文档可以被视为在这份文档中至少出现一次的一组术语。关键思想不是聚簇高维度向量空间,而是仅考虑低维频繁项集作为候选集群。可以将所有频繁术语集的一组精心选择的子集视为一类。严格来说,频繁术语集不是集群(候选者),而只是集群(候选者)的描述。相应的簇本身由包含频繁项集所有术语的文档集组成。与分类情况不同,没有类标签来引导从所有频繁项集的集合中选择这样一个子集。相反,我们建议使用频繁项集相对于它们支持文档集的相互重叠部分来确定聚类。这种方法背后的基本原理是:当聚类随后被用于分类新文档时,聚类的小重叠将导致小的分类错误。在这一节中我们介绍了必要的定义,并且提出了两种基于频繁项集的文本聚类。
设是文本(超文本)文档的数据库,T是出现在文档D中的所有术语的集合。每个文档
都由
中出现的一组术语表示,如:
。假设minsupp是一个实数,0<=minsupp<=1。对于任何术语集S,
,设cov(S)表示S的覆盖,即包含S的所有术语的所有文档的集合,支持S的所有文档的集合。更准确地说:
。