基于k_means的中文文本聚类算法

Chinese text clustering algorithm based k-means

Mingyu Yao,Dechang Pi

College of Information Science and Technology, Nanjing University of Aeronautics and Astronautics

Nanjing, Jiangsu, 210016, PR China

{my_yao@https://www.360docs.net/doc/5d9987457.html,, dc.pi@https://www.360docs.net/doc/5d9987457.html,}

Xiangxiang Cong

School of Information Science & Engineering, East China University of Science and Technology

Shanghai, 200237, PR China

Abstract—Text clustering is an important means and method in text mining. The process of Chinese text clustering based on k-means was emphasized, we found that new center of a cluster was easily effected by isolated text after some experiments. Average similarity of one cluster was used as a parameter, and multiplied it with a modulus between 0.75 and 1.25 to get the similarity threshold value, the texts whose similarity with original cluster center was greater than or equal to the threshold value ware collected as a candidate collection, then updated the cluster center with center of candidate collection. The experiments show that improved method averagely increased purity and F value about 10 percent over the original method. Keywords-text cluster; k-means; Chinese text

基于k-means的中文文本聚类算法

姚明宇1,皮德常1,丛湘香2

1.南京航空航天大学 信息科学与技术学院,江苏 南京,中国,210016

2.华东理工大学 信息科学与工程学院,上海,中国,200237

1. my_yao@https://www.360docs.net/doc/5d9987457.html,,

2. dc.pi@https://www.360docs.net/doc/5d9987457.html,

【摘要】文本聚类是文本挖掘的重要手段和方法。重点分析了基于k-means的中文文本聚类主要过程并进行实验,发现新的聚类中心容易受孤立文本的影响。用簇的平均相似度作为参数,乘以范围在0.75到1.25之间的系数生成相似度阈值,用与原簇中心相似度大于等于该阈值的部分文本作为候选集更新该簇的簇中心。实验结果表明该方法平均比改进前的纯度和F值都能提高10%左右。

【关键词】文本聚类;k-means;中文文本

1 引言

文本聚类是文本挖掘(Text Mining)的重要手段和方法,也是数据挖掘的一个重要分支。文本聚类是一种无监督的文档分类,它把一个文本集分成若干称为簇(Cluster) 的子集,每个簇的文本之间具有较大的相似性,而簇间的文本具有较小的相似性。文本聚类就是应用数据挖掘、机器学习、神经网络等技术, 对文本集进行自动分类的过程。

文本聚类的文本表示模型通常采用VSM(Vector Space Model)向量空间模型[1],steinbach等人比较了基于层次的方法和基于划分的方法在文本聚类中的适用程度[2][3],认为k-means和bisecting k-means算法不但聚类结果较好,且处理时间和文本数量呈线性关系,适用于大规模文本的聚类。Dhillod等人表示,文本聚类中使用余弦夹角作为相似性度量得到的聚类结果要明显好于使用欧氏距离[4]。

当前文本聚类的主要应用有:可以作为多文档自动文摘(Multiple Document Summarization, SDS)等自然语言处理(Natural Language Processing, NLP)应用的预处理步骤,如哥伦比亚大学开发的多文档文摘系统Newsblaster[5];对搜索引擎返回的结果进行聚类,使用户迅速定位到所需要的信息[6];可以用来优化文本分类的结果,如俄亥俄州立大学的Y.C.Fang, S.Parthasarathy和F.Schwartz[7]等人的工作;自动整理文档集,如Scatter/Gather[8]是一个基于聚类的文档浏览系统。

2010 International Conference on Services Science, Management and Engineering

978-1-61284-040-6/10/$26.00 ?2010 IEEE SSME2010

本文余下部分的主要内容是:第2节详细分析并改进基于k-means 的中文文本聚类算法;第3节对改进后的方法进行实验和结果分析;第4节总结全文并指出接下来的工作。

2改进基于k-means 的中文文本聚类算法

2.1文本聚类

文本聚类的过程一般包括以下几个过程:

1.模式表示:包括特征抽取及选择,把数据对象表示成适合于算法的可计算形式。

2.定义模式之间的距离测量公式。

3.聚类算法实现。

4.评价输出的结果。 具体过程如图1 所示:

Figure 1. Process of dispose text cluster

图1. 文本聚类处理过程

2.2中文分词

文本由大量字符所构成的字符串组成,它属于一种非结构化的数据,为了将其变为计算机机可以处理的形式,必须进行预处理。预处理的第一个关键步骤就是分词。将连续的字序列按一定规则分隔为分散的有独立意义的词序列,然后过滤其中的停用词(Stop word),得到文本的关键词集合,这些关键词构成了初始特征项(词)集合。

英文单词之间使用空格分隔开,从语义准确性及技术复杂度来讲都比较简单;中文文本是由连续文字组成,只有句、段分隔,但在文本信息处理过程中需要以词作为最小单位,因此,相对西方文本语言来讲,更加的复杂和困难。本文采用中国科学院计算机技术研究所的ICTCLAS 2009系统进行分词,该系统对分好的词进行了词性标注,并给出了特征词的权重,为文本的向量表示提供了方便。

2.3文本表示

本文采用流行的向量空间模型VSM[1],该模型的主要思想是将每一文本都映射为由一组规范化正交特征向量所组成的向量空间中的一个点。向量空间模型假设:一个文本所属的类别仅与组成文本的词或词组在文本中出现的频率有关,而与出现的位置或顺序无关。在向量空间模型中一般选择词作为特征项。对于一个文本d i ,t j ( j=1,…,n) 为一些互不相同的词条,特征项t j 在文本d i 中的权重记为w ij ,文本d i 用公式(1)表示为:

()1

i V d ((,))

n

i j ij t w ==

(1)

2.4 tf-idf 模型

使用分词程序将文本分成文本词语序列,对文本次序列进行预处理,去除停用词,标点,数字。提取文档中所有出现的词语形成textVector 。统计textVector 中每一个词语在每一篇文档中的频率TF (i, j ),其中i 指的是textVector 中的第i 个词语,j 指的是第j 篇文档。

正规化TF ,计算方法为公式(2):

c (,)(,)m ax ((,))

reg k textV e to r T F i j T F i j T F k j ∈=

(2)

计算IDF 方法为公式(3):

()lo g

i

N ID F i N = (3)

其中N 为文档的总数目,N i 指的是textVector 中第i 个词语在多少篇文档中出现。

计算特征向量方法为公式(4):

(,)(,)*()reg TextVector i j TF i j IDF i =(4)

假设两个文档d x ,d y 特征向量的值分别为:

1

()

n

i x 和1

()n

i y

,其中i i x ,y real ∈;两个文档相似度的计算方法为公式(5):

(,)i

i

x y n

x y sim d d =

∑(5)

2.5改进k-means 算法

k-means 基本算法比较简单。首先,选择k 个初始中心,其中k 是用户指定的参数,即所期望的簇的个数。每个点指派到最近的中心,而指派到一个中心的点集为一个簇。然后根据指派到簇的点,更新为每个簇的中

心。重复指派和更新步骤,直到簇不发生变化,或等价地,直到中心不发生变化。算法由表1形式地描述。

Table 1.Description of k-means steps

表1.k-means 算法形式描述

基本k-means 算法

2:repeat

3: 将每个点指派到最近的中心,形成k 个簇

4: 重新计算每个簇的中心 5:until 中心不发生变化

在用k-means 算法进行文本聚类实验时,发现除了初始簇中心对聚类结果有影响之外,孤立点就是簇中不相似文章对聚类的结果影响也很大,这使得聚类结果很不稳定,本文提出了一种改进方法,在更新簇中心是,选择与原簇中心较相似的文档集计算平均值作为该簇新的中心。改进的k-means 算法描述如表2所示:

Table2.Improved k-means algorithm

表2 改进的k-means 算法

改进的k-means 中文文本聚类算法

:选择个点12k 作为初始质心2:计算每个文本d i 与每个c j 的相似度,归入最相似的簇中得到聚类{ C 1, C 2, …, C k },并记录相似度 3:计算每个簇C i 中的平均相似度,记作meansSim

4:选择簇C i 中与簇中心c i 相似度大于等于 ( 1 +θ)*meansSim 的文档集合{d1, d2, …, dm },θ∈[ -0.25,0.25 ] 5:计算{d1, d2, …, dm }的均值点作为C i 的新的簇中心 6:repeat 步骤2~5 until 中心不发生变化

改进的k-means 聚类算法的时间复杂度分析: 设n 为文本集的大小,k 为聚类数目,t 为迭代次数,与改进前的k-means 相比,多了计算每个簇的平均相似度,耗时为O(nkt),这样总的时间复杂度还是O(nkt),所以改进聚类结果的同时没有过大地影响效率。

3实验结果分析

本论文使用了搜狐研发中心搜狗实验室的语料库文本分类语料库:https://www.360docs.net/doc/5d9987457.html,/labs/dl/c.html 。 文本分类语料库来源于Sohu 新闻网站保存的大量经过手工整理与分类的新闻语料与对应的分类信息。实验硬件环

境:AMD Ath.64 QL65 2.10GHz ,2GB 内存;软件环境:Windows 7 操作系统,VS2005 集成开发环境;编程语言:C++。

实验选取搜狗语料库的部分语料,包含“ C000008 财经、C000010 IT 、C000013 健康、C000014体育、C000016 旅游、C000020 教育、C000022 招聘 和 C000023 文化 ”这8个种类,每个种类30篇文档,共240个文本,每个文本350字左右。

为了检验改进后算法的效果,本文选取了一次实验结果为样例,比较了两种方法结果的纯度和F-Measure 值,分别如图2和图3所示:

Figure2. Compare to purity of clustering result

图2. 聚类结果纯度比较

Figure 3. Compare to F value of clustering result

图3. 聚类结果F值比较

图2表明,改进后的k-means算法,聚类结果纯度相对有一些提高,图3表明F值有明显提高,也就是说改进后的聚类结果准确率和稳定性都有改良。

4 总结与展望

本文分析了基于k-means算法的中文文本挖掘过程,根据实验室中发现的孤立点问题,提出了改进的k-means 聚类方法,并通过实验证明了该算法的正确性和有效性。虽然聚类结果比k-means有提高,但是总体结果还不是很理想,原因是将不同的特征词假设为不同的意思,而这一点恰恰是导致结果不理想的重要因素,下一步工作是研究结合概念[9]的文本聚类,进一步提升中文文本聚类的效果。

References (参考文献)

[1]Gerald Salton, Wong A., and Yang, C. S. A vector space model for

automaticindexing[J]. Comm. ACM, 1975, 18(11):613-620. [2]Steinbach M,KaryPis G,Kumar V. A comparison of doucument

clustering techniques[A]. Proceddings of KDD 2000 Workshop on Text Mining[C],2000:1-20

[3]Ying Zhao. KaryPis G. Hierarchical Clustring Algorithms for

Document Datasets. Proceedngs of Data Minging and Knowledge Discovery[C],2005 10(2):141-168

[4]Dhillon I S,Modha D S. Concept decompositions for large sparse text

data usingclustering[J]. Machine Learning,2001,42(1):143-175

[5]Regina Barzilay, Min-Yen Kan, and Kathleen R.McKeown.

Simfinder:A Flexible Clustering Tool for Sum-marization[A]. In proceedings of the Workshop on Summarization in NAACL 0`1[C].

Pittsburg,Pennsylvania,USA:June 2001.

[6]Zheng Chen, Wei-Ying Ma, Jinwen Ma. Learning to Cluster Web

Search Results[A]. In: proceedings of the27thAnnual International ACM SIGIR Conference[C].Sheffield, South Yorkshire, UK, July 2004,210-217.

[7]Y.C.Fang, S.Parthasarathy, https://www.360docs.net/doc/5d9987457.html,ing Clustering to Boost

Text Classification[C]. In: proceedings of the IEEE ICDM Workshop

on Text Mining,Maebashi City,Japan,2002.

[8]Cutting, D., Karger, D., and etc. Scatter/ Gather: A Cluster-based

Approach to Browsing Large Document Collections[A]. SIGIR‘92, 1992[C].318-329.

[9]Xiaoguang Li, Ge Yu, Daling Wang, et al. Latent Concept Extraction

and Text Clustering Based on Information Theory[J]. journal of

software. Vol.19, No.9, September 2008, pp.2276?2284

相关文档
最新文档