2008-10-21 57 views
3

TF-IDF (term frequency - inverse document frequency)是信息檢索的主要部分。雖然這不是一個合適的模型,並且在將新術語引入到語料庫時似乎會崩潰。當查詢或新文件有新詞時,人們如何處理它,尤其是在頻率較高的情況下。在傳統的餘弦匹配下,這些對整個匹配沒有影響。tf-idf和以前未見的術語

+0

與Peter Norvig討論這個問題[有一篇相關的Facebook技術討論](http://www.facebook.com/video/video.php?v=644326502463)。在關於細分的部分(約5:30),他實際上掩蓋了這個問題,他說:「如果你遺漏了一個單詞 - 如果這是你以前從未見過的單詞,那麼你必須做一些小技巧」 。這暗示這是一個已知的問題,並不是完全無關緊要的解決方案,因爲他沒有告訴我們訣竅是什麼。 – hippietrail 2012-10-18 10:04:10

回答

2

呃,不,不會分解。

說我有兩個文件,一個是「黃鼠狼山羊」和B「芝士地鼠」。如果我們其實是代表這些爲載體,它們可能看起來像:

A [1,1,0,0]
B [0,0,1,1]

,如果我們已經分配這些向量在索引文件中,是的,當需要添加新術語時,我們遇到了一些問題。但它的訣竅是,該向量從不存在。關鍵是inverted index

只要不影響餘弦匹配的新術語,這可能是真實的,具體取決於你的意思。如果我用查詢「mar猴功夫」搜索我的(A,B)語料庫,cor猴和功夫都不存在於語料庫中。因此,代表我的查詢的向量將與集合中的所有文檔正交,並得到不好的餘弦相似度分數。但考慮到沒有任何條款匹配,這似乎很合理。

1

當你談論「分解」時,我認爲你的意思是新術語對相似性度量沒有影響,因爲它們在原始詞彙表定義的向量空間中沒有任何表示。

處理這種平滑問題的一種方法是考慮將詞彙固定到更小的詞彙表,並將所有比特定閾值更少的詞語視爲屬於特殊_UNKNOWN_詞語。

但是,我不認爲你的「分解」的定義是非常明確的;你能澄清你的意思嗎?如果你能清楚這一點,也許我們可以討論解決這些問題的方法。