关于文本分类,以新闻分类为例。
可以利用上一篇中提到的用于计算网页和查询相关性的TF-IDF来构造特征向量,对于一篇新闻中的所有实词,计算出它们的TF-IDF来构造特征向量。对于一篇新闻中的所有实词,计算出它们的TF-IDF值,把这些值按照对应的实词在词汇表中的位置依次排序,就得到一个向量,用这个向量来代表这篇新闻。用余弦定理来计算两篇新闻之间的相似度,余弦值越小表示两篇新闻越相似。
分类方法:
1.利用事先设定好的类别对新的文本进行分类,假定我们已知一些新闻类别的特征向量X1,X2,……,Xk,那么对于任何一个要被分类的新闻Y,很容易计算出它和各类新闻特征向量的余弦相似性,并将其归入它该去的那一类。
2.自底向上不断合并的方法
<1>计算所有新闻之间两两的余弦相似性,把相似性大于一个阈值的新闻合并成一个小类。
<2>把每个小类中所有的新闻作为一个整体,计算小类的特征向量,再计算小类之间两两的余弦相似性,然后合并成大一点的小类。以此类推,直到迭代结束。
3.K-means算法
<1>随机挑选k个点,作为起始的位置C1(0),C2(0),……,Ck(0)。
<2>计算所有点到这些聚类中心的距离,将这些点归到最近的一类中。
<3>重新计算每一类的中心(最简单的方法是取均值),新的聚类中心和原先的相比会有一个位移。
<4>重复上述过程,直到每次新的中心和旧的中心之间的偏移非常非常小,即过程收敛。
EM算法(期望最大化算法)
在一般性的问题中,如果有非常多的观测数据,类似上面的方法,让计算机不断迭代来学习一个模型。首先,根据现有模型,计算各个观测数据输入到模型中的结果,这个过程称为期望值计算过程(Expectation),或E过程。接下来,重新计算模型参数,以最大化期望值,这个过程称之为最大化过程(Maximization),或M过程。