Vector Space Model向量空間模型演算法
阿新 • • 發佈:2018-12-15
這個模型主要是基於高中所學的空間向量,只不過由三維可能擴充套件成了超維空間
話不多說,直接上圖:
假如我們有這樣一個需求,搜尋關鍵詞然後根據相關性進行排序,比如有這樣三個關鍵詞:
我們分別給這三個關鍵詞設定權重,假設管理員設定一個預設的權重(在真實情況這權重肯定比這複雜)
關鍵詞 | |
女人 | 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維我們是沒法進行畫圖的,也就是超維的情況可以進行類推
當然現實中的網頁排序比這個複雜很多,但是基本思想就是如此