我想請教一下各位,今天我想要實作一個Vector space model。現在我有query的向量資料和document的向量資料可是這兩筆向量他們vector space不相同呀,query的vector space比較小,這樣的話要如何計算它們的cos<a,b>呢?(cos<a,b>=a.b/|a||b|)
謝謝~
舉一個例子給你吧--
假如我們有查詢Q和檔案D,內容如下:
Q = "South Korea production"
D = "South. The entertainment industry in South Korea."
這裡我刻意多寫了一個south,這個Document本身沒有任何意義,只是為了示範用。
這時,我們的Document-Term Matrix會長的像這樣
在Wiki上可以找到Vector Space Model的公式:
通常我們在求Vector Space Model的時候會先計算分母,在檔案D的部分長這樣
查詢Q的部分長這樣
而分子的部分則長這樣
所以將這個查詢Q拿去計算和檔案D的Cosine Similarity時,計算的結果會變成:
希望這樣的範例能夠讓你更清楚,Cosine Similarity的目的就是消除檔案和查詢之間長度不同所造成的偏差。