当前位置:首页 >  站长 >  搜索优化 >  正文

TF-IDF:传统IR的相关排序技术(二)

 2013-08-26 10:04  来源: Rude的博客   我来投稿 撤稿纠错

  【推荐】海外独服/站群服务器/高防

 

既然是二,就是顺着上一篇文章《TF-IDF:传统IR的相关排序技术》写下来的。所以,有兴趣的同学请先看完第一篇文章再来继续。

好,我们继续开始二。

关于词频,只要你的分词工具够牛逼,就很好理解和实现。关于反文档频率,各位亲们,看到时会不会初时感觉很牛叉,然后细想会很有疑惑?

逆文档频率(idf)=log(文档总数/包含关键词的文档数量)

对,疑惑就在怎么获得“文档总数”与“包含关键词的文档数量”上。

在搜索引擎上,可以有一个不错的替代方式,下面听我细细道来。

每篇文章每个网页几乎都含有“的”这个字,嗯,你想到了吧。在搜索引擎中搜这个字,出来的结果数量可以理解为所有的文档数量,然后再搜你的目标词即为包含这个词的文档数量,这一数据也就得到了解决,下面是我弄的一个例子:

 

好了,有了这些数据,我们接下来看看能够做些什么出来。

将网站中每个网页进行分词,去掉语气助词停顿词之后按照tf-idf值从大到小进行排序。

网页A={a1,b1,c1,d1,e1……z1}

网页B={a1,b2,c1,d5,e2……z6}

网页C={a2,b1,c2,d1,e2……z2}

……

显然从{a1,b1,c1,d1,e1……z1}中就可以了解到网页A所表达的意思,B、C亦然。

如果通过一个方法将A、B、C中的词进行比对,那岂不是就可以算出来……,你想对了,页面之间的相似程度。

这个方法,就是余弦值。具体操作,如下:

我们首先从A、B、C中选出前N个可以表达页面主题的词,组成一个集合。

{a1,c1,d1,e1,b2,d5,e2,a2,b1,c2}

然后计算A、B、C页面针对这个集合中每个词的词频(如有必要,请使用相对词频),组成对应的向量。

A=[2,1,3,5,0,0,0,0,1,0]

B=[……]

C=[……]

请记住这个高中时就学到的公式。

 

OK,经过此公式的计算,不但是页面之间的相似度,同样一个页面最相关的推荐文章也即可由此产生。

有兴趣的同学们,请试验一下吧。

转载请注明链接地址。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

热门排行

信息推荐