讀者可能已經發現了又乙個漏洞。在上面的例子中,詞「的」站了總詞頻的 80% 以上,而它對確定網頁的主題幾乎沒有用。我們稱這種詞叫「應刪除詞」(stopwords),也就是說在度量相關性是不應考慮它們的頻率。在漢語中,應刪 除詞還有「是」、「和」、「中」、「地」、「得」等等幾十個。忽略這些應刪除詞後,上述網頁的相似度就變成了0.007,其中「原子能」貢獻了 0.002,「應用」貢獻了 0.005。
細心的讀者可能還會發現另乙個小的漏洞。在漢語中,「應用」是個很通用的詞,而「原子能」是個很專業的詞,後者在相關性排名中比前者重要。因此我們需要給漢語中的每乙個詞給乙個權重,這個權重的設定必須滿足下面兩個條件:
則只有 0.7。也就只說,在網頁中找到乙個「原子能」的比配相當於找到九個「應用」的匹配。利用 idf,上述相關性計算個公式就由詞頻的簡單求和變成了加權求和,即 tf1*idf1 + tf2*idf2 +… + tfn*idfn。在上面的例子中,該網頁和「原子能的應用」的相關性為 0.0161,其中「原子能」貢獻了 0.0126,而「應用」只貢獻了0.0035。這個比例和我們的直覺比較一致了。
如何使用搜尋引擎
搜尋引擎的高階技巧 大多數搜尋引擎,除了直接搜尋關鍵字,都還會提供一些高階功能,常用的包括 示例 在搜尋框中搜尋 python site 就可以把搜尋結果限定在知乎內。對於一些沒有站內搜尋或站內搜尋不好的 來說很有用。示例 在搜尋框中搜尋 matching query does not exist ...
搜尋引擎 索引
正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...
MySQL搜尋引擎程式 mysql搜尋引擎
mysql是我們比較常用的一種資料庫軟體。它有著諸多的優點,如開源的,免費的等等。其實它還有乙個很好的特點,那就是有多種引擎可以供你選擇。如果賽車手能根據不同的路況,地形隨手更換與之最適宜的引擎,那麼他們將創造奇蹟。然而目前他們還做不到那樣便捷的更換引擎,但是我們卻可以 所謂知己知彼方可百戰不殆,要...