2017-02-13 57 views
0

我在查看信息檢索簡介中的Vector Space Classification(鏈接章節)中的表14.1,其中示例14.1所述「顯示了五個文檔的tf-idf向量表示。使用公式(1 + log tf) * log(4/df)如果tf > 0表13.1然而,當我看着表14.1,它不會出現,這TF-IDF公​​式適用於文獻向量TF-IDF和Rocchio在信息檢索概論中的分類

從表13.1文件:

1: Chinese Beijing Chinese 
2: Chinese Chinese Shanghai 
3: Chinese Macao 
4: Tokyo Japan Chinese 

表14.1中載體的術語權重爲:

vector Chinese Japan Tokyo Macao Beijing Shanghai 
d1  0  0  0  0  1.0  0 
d2  0  0  0  0  0  1.0 
d3  0  0  0  1.0 0  0 
d4  0  0.71 0.71 0  0  0 

如果我申請了TF-IDF公​​式的d4Japan尺寸,我得到:

TF: 1 (term appears once in document 4) 
DF: log(4/1) (term is present in only document 4) 
TF-IDF Weight is thus: log(4) ~ .60 

爲什麼我的計算結果,從所包含的文字有什麼不同?

回答

1

您已經正確計算了tf-idf。當它說

時,文本有點誤導表14.1顯示了表13.1中五個文檔 的tf-idf向量表示。

它實際上是示出了TF-IDF矢量表示歸一化到單位長度

詳細信息:
文件4有三個詞「東京」,「日本」和「中國」。
您正確計算出「東京」和「日本」 的TF-IDF權重應爲
log10(4)≈0.60。 「中文」在所有文件中,所以IDF部分 的權重爲log(4/4)= 0,「Chinese」的權重爲零。 所以對於文獻4所述載體是

Chinese Japan Tokyo Macao Beijing Shanghai 
    0 0.60 0.60 0  0  0 

但這矢量的長度是SQRT(0.60^2 + 0.60^2)≈0.85爲了得到單位長度的矢量,所有組件都通過0.85給予劃分在文本矢量

Chinese Japan Tokyo Macao Beijing Shanghai 
    0 0.71 0.71 0  0  0 

這可能是值得指出的是,我們使用單位長度的矢量的原因是爲了調節爲不同長度的文件。沒有這種調整,長文檔通常比短文檔更符合查詢。