2012-04-11 73 views
4

據我所知,IDF被用來計算有多少文件有這個詞(只是這個想法)。由於您事先擁有所有文檔,因此可以在訓練集中計算IDF(以及TF)。但是如果我事先沒有測試集並且以順序的方式獲取測試文檔(例如來自網絡爬行器),那麼如何在測試文檔時計算文檔中文字的IDF ?測試時計算IDF(如在TF-IDF中)?

回答

2

對於這種狀態,如果你的數據集足夠大,你可以使用IDF的訓練集。在測試階段,如果新術語是在訓練集中使用訓練的IDF,並且如果該術語是新的,則使用訓練集文檔的數量來計算IDF。 對於某些目的,您可以使用平滑方法獲得更好的結果。

+0

這個答案對我有意義。但是,我想知道是否有任何紙張或文章可供您參考?而且,我想知道是否有任何圖書館可以用於此事? – Pedram 2017-06-23 02:17:08

+0

這是我編輯的評論:這個答案部分對我有意義。但是,我想知道是否有任何紙張或文章可供您參考?問題是,假設你已經訓練了你的模型,一旦你在測試文檔中有一個新的單詞,即使你可以使用你的大數據集計算該單詞的IDF,但是你仍然會有不同數量的特徵在訓練和測試集中,它不會工作。 – Pedram 2017-06-23 02:23:09

0

如果您只在索引/抓取大量文檔之後執行測試,則可以在抓取完成後計算IDF。遇到新文檔或新術語時,您不必計算IDF。當你需要做一些TD-IDF或其他計算時,你可以隨時進行計算。

如果這還不夠,出於某種原因,您仍然可以使用其他文檔數據集的IDF,最好使用相同類型的文檔。

+0

「如果您只在索引/抓取大量文檔之後執行測試」 - 並非如此。當我通過抓取工具收到頁面時,我必須決定該頁面在那一刻是相關還是不相關。正如你所提到的計算另一個文件數據集的IDF是否在這種情況下的做法? – KillBill 2012-04-16 14:16:57