文本聚类
文本聚类是主挖掘的一个重要的工具,我们会讨论一下的问题?
- 1.什么是文本聚类
- 2.为什么要用文本聚类?
- 3.怎么怎样进行文本聚类?
- 生成概率模型
- 其它方法
- 怎样评估聚类效果
Q1:什么是文本聚类?
聚类是为了发现数据的内在结构,如果结构相同(或两个对象相似)则会被聚为一类。
聚类的结果取决你如何定义“相似”这个事情,例如“马”和“车”,它们相似吗?从物理结构上来看,当然是不相似的,但从功能的角度来看,它们又是相似的。所以根据不同的判断角度会得到不同的聚类结果。
这也就要求用户在使用聚类的时候必须要选定一个角度,在评估聚类结果的时候也必须考虑所选定的是哪一个角度。
文本聚类可以将文档作为聚类的单位,也可以将术语(term)作为聚类的单位,将术语作为聚类单位可以用来发现和定义文档的概念,主题等。在面对大量网页文档等情况时,我们会将文档作为聚类单位。
Q2:为什么使用文档聚类?
因为文档聚类对文本挖掘有非常大的作用。很多时候你得到大量文本数据,在以下的操作中文档聚类将发挥它的作用
如果你希望大致了解这些文本包含了什么内容(例如你可能想知道主要的话题或者在这些文本中典型的有代表性的文档是哪些 )聚类可以帮助我们实现这些目标
希望把相似的文本对象关联起来,例如,某些文本对象可能是冗余的内容 ,文本聚类就能帮助我们消除冗余 。
有时候文本可能与同一个话题有关 通过关联这些文本 可以比较全面地了解这个话题 ,也能用文本聚类将文本数据结构化 ,有时还能建立结构的层次关系 而这对博客尤其有用 。
将搜索结果聚类 。这样用户就可以看到查询结果的大致结构 ,当查询条件比较模糊时 ,聚类会非常有用 ,因为它们会呈现模糊词汇的不同意义
通过用户的邮件了解他们的主要诉求, 我们对邮件进行聚类 然后找到主要的一类 ,从这一类中我们就能知道用户的主要诉求了
Q3:文本聚类应该怎么做?
有两个方法:
1.使用生成概率模型
2.其它基于相似度的方法
方法1:使用生成概率模型
首先看一下基于主题概率模型的聚类方法
由上图我们可以看出这与之前讲的主题概率模型非常的类似,不同的地方在于,在这个聚类的的模型中,我们只允许一个文档100%的属于一个主题,这个文档关于其它主题的覆盖率都为0。
也就是说现在我们用Ci来表示第i个分类,每个文档只属于【1,k】个主题中的其中一个,如果有k个主题和N个文档,在k< N的时候,有些文档必须是属于一个主题的(即共享一个主题),这也就达到了聚类的目的。
对于混合模型而言
上述混合模型包含了两个主题,我们之前所讲生成的方法生成一个单词w的方法是从每个主题中选择单词w的概率之和加起来,然后再根据选择出来的单词生成文档,下面是主题模型的生成的似然函数