利用数学中余弦定理解决相关性比较的问题

之前项目中也遇到了对文档的相关性进行分析。

今天看到了《数学之美》的一篇文章,谈到谷歌使用余弦定理为文档进行相关性搜索,感觉特别有趣,在此记录。

 

计算机只能进行快速的计算,它读不懂新闻,图片,因此,对于新闻的描述、归类是件很麻烦的事情,曾经听百度介绍,为了给图片库的图片打上标签,他们开发了一款游戏,在游戏过程中,玩家输入图片描述,通过此法,才完成了对大量图片的描述构建。然而,谷歌,利用余弦定理,轻松地对心肺分类和整理进行自动化。

 

主要分为几步:

step1:维护一张词汇表,这张词汇表中记录平时新闻中经常出现的字、词

          例如:

          1、啊

          2、中国

          3、的

          4、报到

          。。。。。。。

          10000、冬天

 

step2:统计每篇文章中词汇表中的字、词分别出现的频率:

         频率= 该字的个数/文章的长度

         例如:对一篇文章进行统计后,得到词汇表中的字在文章中出现的频率为:

         啊-----0.027

         中国---0.09

         的-----0.25

         报到--0.005

         。。。。。。

         冬天--0.003

 

         则,该概率可以作为代表该篇文章的一个10000维的特征向量。当两篇文章的特征向量相近时,我们可以说新闻的内容是相似的。

         例如:按照以上公式计算出文章一、文章二的向量:

         文章一:(0.027,0.09,0.25,0.005。。。。。0.003)

         文章二:(0.039,0.05,0.54,0.007.............0.007)

 

step3:计算特征向量的相似度:

         向量是多维空间有方向的线段(为了形象,其实不是线段),当两个向量越接近,则,其代表的方向的夹角越小。当两条新闻向量夹角的余弦等于一时,这两条新闻完全重复(用这个办法可以删除重复的网页);当夹角的余弦接近于一时,两条新闻相似,从而可以归成一类;夹角的余弦越小,两条新闻越不相关。

 

 

 

posted @ 2012-03-04 18:52  KAYAK  阅读(958)  评论(0编辑  收藏  举报