當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  搜索優(yōu)化 >  正文

TF-IDF:傳統(tǒng)IR的相關(guān)排序技術(shù)(二)

 2013-08-26 10:04  來(lái)源: Rude的博客   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過

 

既然是二,就是順著上一篇文章《TF-IDF:傳統(tǒng)IR的相關(guān)排序技術(shù)》寫下來(lái)的。所以,有興趣的同學(xué)請(qǐng)先看完第一篇文章再來(lái)繼續(xù)。

好,我們繼續(xù)開始二。

關(guān)于詞頻,只要你的分詞工具夠牛逼,就很好理解和實(shí)現(xiàn)。關(guān)于反文檔頻率,各位親們,看到時(shí)會(huì)不會(huì)初時(shí)感覺很牛叉,然后細(xì)想會(huì)很有疑惑?

逆文檔頻率(idf)=log(文檔總數(shù)/包含關(guān)鍵詞的文檔數(shù)量)

對(duì),疑惑就在怎么獲得“文檔總數(shù)”與“包含關(guān)鍵詞的文檔數(shù)量”上。

在搜索引擎上,可以有一個(gè)不錯(cuò)的替代方式,下面聽我細(xì)細(xì)道來(lái)。

每篇文章每個(gè)網(wǎng)頁(yè)幾乎都含有“的”這個(gè)字,嗯,你想到了吧。在搜索引擎中搜這個(gè)字,出來(lái)的結(jié)果數(shù)量可以理解為所有的文檔數(shù)量,然后再搜你的目標(biāo)詞即為包含這個(gè)詞的文檔數(shù)量,這一數(shù)據(jù)也就得到了解決,下面是我弄的一個(gè)例子:

 

好了,有了這些數(shù)據(jù),我們接下來(lái)看看能夠做些什么出來(lái)。

將網(wǎng)站中每個(gè)網(wǎng)頁(yè)進(jìn)行分詞,去掉語(yǔ)氣助詞停頓詞之后按照tf-idf值從大到小進(jìn)行排序。

網(wǎng)頁(yè)A={a1,b1,c1,d1,e1……z1}

網(wǎng)頁(yè)B={a1,b2,c1,d5,e2……z6}

網(wǎng)頁(yè)C={a2,b1,c2,d1,e2……z2}

……

顯然從{a1,b1,c1,d1,e1……z1}中就可以了解到網(wǎng)頁(yè)A所表達(dá)的意思,B、C亦然。

如果通過一個(gè)方法將A、B、C中的詞進(jìn)行比對(duì),那豈不是就可以算出來(lái)……,你想對(duì)了,頁(yè)面之間的相似程度。

這個(gè)方法,就是余弦值。具體操作,如下:

我們首先從A、B、C中選出前N個(gè)可以表達(dá)頁(yè)面主題的詞,組成一個(gè)集合。

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

然后計(jì)算A、B、C頁(yè)面針對(duì)這個(gè)集合中每個(gè)詞的詞頻(如有必要,請(qǐng)使用相對(duì)詞頻),組成對(duì)應(yīng)的向量。

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

B=[……]

C=[……]

請(qǐng)記住這個(gè)高中時(shí)就學(xué)到的公式。

 

OK,經(jīng)過此公式的計(jì)算,不但是頁(yè)面之間的相似度,同樣一個(gè)頁(yè)面最相關(guān)的推薦文章也即可由此產(chǎn)生。

有興趣的同學(xué)們,請(qǐng)?jiān)囼?yàn)一下吧。

轉(zhuǎn)載請(qǐng)注明鏈接地址。

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

熱門排行

信息推薦