数学之美之余弦定理与新闻分类

数学之美之余弦定理与新闻分类


By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢。


在上一篇博客中,我们记录了吴军老师介绍的TF-IDF算法,这节里,我们将介绍如何使用余弦定理对新闻进行分类。

有了TF-IDF算法,我们知道一篇文章或网页与某些内容或关键字之间的相关联程度,但是,有的时候,我们还想知道,某两篇文章是不是讲的是同一个主题,同一种内容。比如,我们想知道两篇文章是否都是金融类文章或者都是医学类文章。要知道,能不能确定两篇文章是否相似,对于使用计算机进行某些信息分类,内容聚合有着重要的意义。

不难想象,某些类别的文章中的某些实词的频率出现的概率比该类别以外的文章出现的概率大,我们可以利用这种特征对文章进行分类。

首先,我们针对一篇文章中所有实词计算出它们的TF-IDF值。然后,把这些值对应实词在词汇表中的位置进行排列,就能得到一个向量。比如,词汇表中有64000个词,其编号和词如下图:

词汇表
单词编号 汉字词
1
2
3 阿斗
4 阿姨
... ...
64000
做作


在一篇特定的文章中,所有的实词的TF-IDF值列表为:

实词的TF-IDF
单词编号 TF/IDF值
1 0
2 0.0034
3 0
4 0.00052
... ...
   64000
0.034


当然,并不是一篇文章都会包含词汇表中所有的词,所以,很多其TF-IDF值为0。从而,我们能够得到64000个数,组成64000维向量。我们使用这个向量来代表这个文章的特征信息,并成为该文章的特征向量。每一篇文章都可以对应它自己的特征向量,向量中的每一个维度的大小都代表每个词对这篇文章主题的贡献。这样,利用这些特征向量,我们可以计算这些文章之间的相似度了。

那么,我们比对两个文章的特征向量,如果两个向量相似,那么,这两篇文章就相似。那么如何判断两个特征向量相似呢?我们以两个向量的夹角大小判断相似度,如果两个向量夹角越小,那么越相似,如果夹角越大,则越不相似,我们使用余弦计算两个向量夹角的值来判断夹角的大小。

相信大家对余弦定理并不陌生,给定三角形的三个边,就可以用余弦定理求出三角形的各个角的角度。假定三角形的三条边为a,b和c,对应的三个角为A,B和C。

 

 数学之美之余弦定理与新闻分类_第1张图片

 

 

那么 的余弦为:

如果将三角形的两边b和c看成是以A为起点的向量,那么上述公式等价于

其中,分母表示两个向量b和c的长度,分子表示两个向量的内积。举一个具体的例子,假如文章X和文章Y对应的向量分别是

那么它们的夹角的余弦等于

 

由于向量中的每一个变量都是正数,因此余弦的取值在0和1之间,也就是说夹角在0度到90度之间。当两篇文章的向量的余弦等于1时,这两个向量的夹角为零,两篇文章完全相同;当夹角的余弦接近于1时,两篇文章相似,可以认为属于同一类文章;当夹角的余弦趋近于零甚至于等于零时,说明它们直接相似度很低,甚至完全无关,术语两种完全不同的文章。


你可能感兴趣的:(吴军,新闻分类)