一、文本聚类
1. 概念
用户必须定义是从什么角度来判断相似性,而这个角度即为聚类偏差。
2. 方式:生成概率模型
(1) 主题模型与聚类
input: a text collection C and a number of topics k, and vocabulary V
output: 词分布,每一个文档覆盖一个话题的概率
input: a text collection C and a number of topics k, and vocabulary V
output: 词分布,文档的聚类
(2) 主题模型与聚类的区别
(2)(1) 在聚类中,一旦我们在生成第一个单词时选择了分布,我们将继续使用这个分布来生成文档中的所有其他单词,也就是说只对一个文档做一次决定。而在主题模型中,我们要对文档中每一个单词都做决定。
(2)(2) 聚类中一个分布将用于重新生成文档的所有单词。而在主题模型中,可以使用多个分布来生成文档中的单词。
(3) 主题模型与聚类的似然函数
因为在聚类中只做一次决定,一个主题对应一个文档,所以最终只要把各个主题的概率相加。而在主题模型中,决定次数=文档中的词数,又假设每一个单词都是相互独立的,所以在每一个单词算后还要再相乘。
(4) 混合模型的聚类
(5) 聚类 EM算法
基于相似性的聚类
(1) 概念
定义一个相似性函数来衡量两个文本间的相似性,寻找一个最优分割办法来使得组内相似性最大化,组外最小化。
(2) 得到最优聚类的方法
(2)(1) 逐步建成聚类层次
逐渐将相似文本数据聚合到大类中,再分割出小类(HAC)
(2)(2) k-means(3) HAC 方法
(4) 计算组间相似度的几种方法
single-link 计算两个组内最邻近的一对
complete-link 计算最远的一对
average-link 所有对的平均
(5) k-means
其中有两个步骤与EM算法非常相似,不同点在于在kmeans中没有像E-step中一样给出概率分配。k-均值我们将计算分配给这个组的对象,这只是数据点的一个子集,但在EM中我们原则上考虑了基于概率分配的所有数据点。
4 . 聚类方法小结
5 . 聚类的评估
聚类偏差对于模型是很重要的,如果不能很好地定义聚类偏差,就不会得到最优的聚类数目
(1) 直接评估: 看系统生成的基于理想的聚类和人类做出的相近度。这种相近度可以是从多重观点中得到的,并且可以用来表征质量,即从多种角度来表示聚类结果的特征。
评估手段:根据同一个测试集,人类给出自己觉得最理想的聚类效果(制定黄金规则),再比较机器生成的结果,二者之间大多数情况下都是存在差异的,所以需要量化他们的相似度。这个相似度可以被用来在多种视角下度量,并使我们量化评估时得到多重网络的聚类结果。相似度的量化可以比如是纯度,即在黄金规则下一个聚类是否从同样的聚类中得到相似的样本,归一化互信息是一种常用的衡量方法,基本上是根据系统中对象簇的同一性来度量的。
(2) 间接评估:评估这个聚类结果对于特定的目标应用的贡献大不大,称之为间接评估是因为没有进行详细的聚类质量的测试。由于是针对特定应用,所以常需要设置一个基准线系统来作比较。
在评估的时候通常会两个方法都使用,以此得知哪个更有用。
二、文本分类
1. 与主题挖掘与分析,意见挖掘和情绪分析相关。
已有数据:一组预定义的类别,这类别大概会形成一个层次;一组标记文本对象的数据集(通常会有,而这意味着该文本对象已经与被启用了已知类别)
任务:将任一文本对象分类至一个或多个预定义的类别
分类的类别:内部类别 外部类别
内部类别:针对文本对象内容的类别,比如主题类别或情绪类别,并且他们通常与文本内容相关
外部类别:能表征与文本对象(或其中的某部分文本数据)相关的一个实体,比如作者是与他们生产内容相关的实体,比如餐厅与食品基于用户评价的一个分类。分类方法:人工 自动
人工:
(1) 根据我们制定的一些规则来确定类别,以反映范畴 预测问题的领域知识。比如我们在对新闻进行主题分类时,规定某些词出现多少次即该文章要被划入什么类别。
在以下这些情况,这个方法会很有用:
首先,分类必须有很好的定义,这使得人能够根据一些明确的规则明确地决定类别;文本中有一些有助于分类的表面特征如特定环境的特定词汇;有足够的领域知识可以支撑来制定有效的规则。
而该方法也存在弊端:需要大量的手工操作;考虑到规则不能很好地扩展;规则不一定可靠;多条规则的不一致会带来鲁棒性,不一样的规则带来不一样的分类结果;
自动:
不完全的自动,有些方面还是需要人工完成,比如对数据注释标签形成训练集,提供一组特征来表示每一个文本对象供计算机研究。通过机器来实现分类的方法有很多种,以下介绍的是生成分类器和判别分类器。
4 . 生成分类器 朴素贝叶斯
(1)
这是文本聚类的主题概率模型。其中p(theta) 先验概率,看某个话题是不是属于某个文档,p(w|theta)用来衡量所分类的主题词能否很好地表达这个文档。
(2)
而这是利用朴素贝叶斯分类器的文本分类,最终我们更常用下面的对数形式的表达式,因为对数可以保留精度。但这式子成立的条件是theta i要能准确代表类别i,我们怎么来确保这个条件呢?
在这里Ti表示由类别i生成的文件的文档集,p(theta i)即类别的先验概率,表示类别i有多受欢迎,或者它有多大可能观察到该类别中的文档,在看了大量的文档后如果体育方面的文档较多那可以认为体育类别的先验概率较大。而p(w|theta i)表示主题词在这文本中出现的概率。
Ni表示每一个类别中的文本数目
(3)平滑处理
当数据集过小的话,在利用极大似然估计求概率时会出现概率为0的情况,但这是不准确的,为了避免这种情况我们应该作平滑化处理,即分子分母都加上平滑因子。
(4) 得分函数
假设就theta1 theta2两个类别,那可以通过score函数来判断文档是更偏向于theta1 还是theta2
(5) 一般形式的分类器
这是一般形式的分类器,朴素贝叶斯分类器是这种分类器的一个特例。实际上,这种一般形式非常接近于一个称为logistic回归的分类器。这式子里的f是指文件,beta是指权重,即表示一个文件更属于哪一个类别的偏置。
练习