浅谈文本聚类

机器学习 872 Views

大家好,“黑龙江大学自然语言实验室”,在这里,我们会将我们最近学习的知识告诉大家,带领大家共同学习论文、算法与工具,与大家共同讨论。这个平台将成为大家了解科研,了解自然语言处理的一个很好的途径。希望大家多多提些建议与意见,达到我们互相学习、共同进步的目的。

大家都知道文档是由多个相似度高、类似的文档集合组成,文本聚类就是在给定的文本中,将相似度相近的特征属性聚成一个类(簇)的过程,在同一集合或者同簇中,文档的相关性很高,不同集合或簇中的文档彼此相异

聚类作为一种无监督学习方法,在机器学习和文本挖掘中发挥了重要的作用,被广泛应用于各个领域。在自然语言处理的领域,中文文本聚类是重点研究课题,并且满足不同领域的应用需求。可以用于对搜索引擎的结果聚类,便于用户定位到所需要的信息;聚类还可以应用于新闻媒体上,比较典型的例子是哥伦比亚大学开发多文档文摘系统,该系统将每天发生的重要新闻文本进行聚类处理,并对同主题文章进行冗余消除、信息融合、文本生成等处理,从而生成一篇简明扼要的摘要文档。从上述例子不难看出,聚类在人们生活中扮演着重要角色,对聚类的研究是有价值研究。

与分类的区别在于,聚类划分的多少个类是预先未知的。聚类在信息检索、文本特征内容的分析以及文本挖掘等领域获得了广泛应用。由于聚类的重要性,人们对聚类进行了广泛的研究,并提出了多种聚类算法。

上面简单介绍了聚类的一些概念、应用。如果想实现一个聚类系统当然少不了的就是算法。拥有聚类算法的系统是衡量一个聚类程度的标准,接下来给大家介绍下几种常见的聚类算法。

基于层次的聚类算法

一个层次的聚类算法将文本抽象成一棵聚类的树。层次聚类包括自底向上或者自顶向下两种算法。层次的聚类算法可以进一步分为凝聚的和分裂的层次聚类。凝聚的层次聚类,先将每个文本对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的文本对象都在一个簇中,或者终止条件满足。分裂的层次聚类,与凝聚的层次聚类相反,它首先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者终止条件满足。

基于划分的聚类算法

在基于划分的聚类算法比较典型的就是K-means算法(平均),其基本原理是首先随机选择k个文档作为初始的聚类点,根据最邻近原则,遍历所有文本数据,将每个文本划分到最近的簇集合里,更新每个簇的中心,重复这一过程,直到簇中心不再发生变化为止。见下图:

基于密度的聚类算法

如果说以上的两种算法是能够发现具有一定形状的簇的话,那么基于密度的聚类算法可以发现隐藏在文本中不规则形状的簇。将簇看做成数据空间中由低密度区域分隔开的高密度对象区域。这是基于密度思想的主要策略。基于密度的聚类方法可以用来过滤噪声孤立点数据,发现任何形状的簇。密度聚类算法也叫做DBSCAN。

通过密度聚类出来的簇有木有感觉很漂亮呢!!!

您可以在weixin.sogou.com 上搜索“黑龙江大学自然语言处理实验室”获取往期的所有图文消息

您可以查找公众号:hlju_nlp 或扫描如下二维码,即可关注“黑龙江大学自然语言处理实验室”:

如未说明则本站原创,转载请注明出处:NULL » 浅谈文本聚类