2
這是一個文本挖掘項目。這個項目的目的是看看每個單詞在不同文檔中的權重是不同的。如何計算OracleSQL中的TF-IDF?
現在我有兩張桌子,一張桌子上有TF信息(WORD | WordFrequency_in_EachFile),另一張桌子上有IDF(WORD | HowManyFile_have_EachWord)。我不確定什麼查詢用於此計算。
我想在這裏做的數學是: WordFrequency_in_EachFile*(log(N/HowManyFile_have_EachWord)+1)
N是文檔的總數。 下面是我的代碼:
create table TF_IDF (WORD, TF*IDF) as
select A.frequency*((log(10,132366/B.totalcount)+1))
from term_frequency A, document_frequency B
where A.WORD=B.WORD;
這裏1323266是我的文檔的總數,以及TOTALCOUNT是多少文檔的字顯示。
由於我是SQL新手,我希望對您的代碼有一點解釋。非常感謝!
我不確定鏈接是什麼,你需要計算每個單詞,這對兩個表格都是通用的嗎? N從哪裏來,因爲你似乎無法從任何一個表中推斷它?你到目前爲止嘗試過什麼? –
該數據來自多個文檔。我計算了一個單詞在一個文檔(TF)中顯示的次數,以及一個單詞顯示的文檔數量。現在我想計算一下TF-IDF:一個表中一個詞顯示多少次* log(文檔總數/一個詞顯示多少文檔)+ 1'。我剛剛更新了我的查詢。不知道它是否正確。此外,我似乎無法創建一個新的表來存儲這個結果。你知道那是爲什麼嗎?謝謝。 –
我知道我不應該在這裏聊天。但是,謝謝你回答我的許多問題。另外,我只是覺得你在英國! –