1. 程式人生 > >Vector Space Model向量空間模型演算法

Vector Space Model向量空間模型演算法

這個模型主要是基於高中所學的空間向量,只不過由三維可能擴充套件成了超維空間

話不多說,直接上圖:

假如我們有這樣一個需求,搜尋關鍵詞然後根據相關性進行排序,比如有這樣三個關鍵詞:

 我們分別給這三個關鍵詞設定權重,假設管理員設定一個預設的權重(在真實情況這權重肯定比這複雜)

關鍵詞  
女人 8
喜歡 3
什麼 5

假設我們有4個網頁,如何在使用者進行搜尋這3個關鍵詞的時候,將這4個網頁進行排序

網頁1里根據裡面的文字中關鍵詞出現頻率,其權重如下:

關鍵詞  
女人 5.4
喜歡 6.6
什麼 8.8

網頁2:

關鍵詞  
女人 8.3
喜歡 3
什麼 4

 網頁3:

關鍵詞  
女人 2
喜歡 5.3
什麼 8.8

網頁4:

關鍵詞  
女人 2
喜歡 3
什麼 4

 我們可以給出一個形象的三維圖:

我們可以清晰地看到,這4個網頁,與預設的那個向量存在著夾角,可以使用餘弦夾角公式計算:

這樣就可以計算出每個網頁的值,也就作為打分公式,值越接近1說明,與預設的那個相關性最強,這就可以進行排序了

網頁 得分
網頁1 0.882
網頁2 0.804
網頁3 0.592
網頁4 0.682

上面選擇3個特徵是為了方便畫圖,畢竟4維我們是沒法進行畫圖的,也就是超維的情況可以進行類推

當然現實中的網頁排序比這個複雜很多,但是基本思想就是如此