向量空间模型(VSM)一种文本相似度算法

转自:http://blog.sina.com.cn/s/blog_a1304cff0101aj29.html

由于工作需要,我需要判断一篇文章是否是你喜欢的文章。

    这涉及到文本分析,有一个简单的方法可供参考。向量空间模型(VSM)算法。

    在该方法中,我们把一篇文章抽象成一个向量。

    假设向量由n个词组成,每个词的权重是kn。假设文章D是你喜欢的文章,那么

    文章 D=(k1,k2,k3,k4,k5.....kn),这是一个多维的向量。

    如果维数很多,将来计算起来很麻烦,我们需要降维处理,所谓的降维就是,选出有代表性的特征词,这样就降低了维数。 可以人工选择。也可以自动选择,自动选择的话,可以采用开方拟和检验方法,如果有时间,我会在以后详细介绍该方法。

     选择特征词后,就需要计算它的权重了,可以采用词频来计算,Term frequency TF = N/M M为文章的词数,N为该特征词出现的词数。 当然了,如果你选择的特征词是 “的” 这个很一般的词 ,我们还需要为其修正。计算Inverse documentfrequency 逆向文本频率,是用于衡量关键词权重的指数 IDF = log(D/Dw)  (手画的公式,请多包涵。) 其中D为总文章数,Dw为关键词 出现过的文章数。

     这样一来,就需要一群你喜欢的文章,才可以计算IDF。

     计算结束后,我们得出你喜欢的文章D = (w1,w2,w3....wm); 共有m个关键词,权重依次为w1,w2...wm。

     好,下面,重点来了,给出一篇文章E,判断它和你喜欢的D 的相似度是多少,如果相似度很高的话,则可以认为E也是你喜欢的文章。

     采用上面的方法,计算出E = (q1,q2,q3...qm);

     我们来通过两个多维向量的夹角的余弦值来表征 2个文章的相似度。 为啥?两个向量的夹角越小,它们越靠近,我们就认为2个文章越相似呗。夹角越小,越相似,余弦值越高。

     2个多维向量的夹角余弦计算公式:cosθ    (公式还是手画的。呵呵。)

  

     亲,你知道的,就是两个向量的点积 除以 2个向量的模的积。

 

     计算过后,就可以得到相似度了。 我们可以事先人工选择2个相似度高的文档,计算相似值,然后规定其为阀值。

 

     编外:这是判定一个文章和你喜欢的文章的相似度,但是如何判定一个文章和一群你喜欢的文章的相似度呢?就是如何判定一个文章和一类文章相似度的问题。我们可以一一计算,然后取平均值。但是我希望找到几何上能够表征一群向量的中心的方法,这样,计算给定向量和中心向量的余弦似乎更合理。

     编外的编外:向量空间模型(VSM)算法把一个语言的问题转化成了一个数学问题,这种思想非常的好,我们可以尝试着,把一些问题转化为数学问题,用数学的手段来解决。这就需要我们赋予问题,数学上的意义,例如本文,将文章赋予 多维向量的意义。

     编外的编外的编外: 为啥那个你喜欢的文章我取名叫D? 有没有看过《吸血鬼猎人D》主角的名字就叫做D,他是吸血鬼王和人类女人的儿子,所以不怕阳光,还有吸血鬼的能力,专门猎杀吸血鬼,而且永远不老。超酷的动画电影,画风精致。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值