核心概念#
搜索引擎的結果中不可避免地存在噪聲——包括人為的作弊(SPAM)和不準確的信息。反作弊和確定搜索結果的權威性,本質上都是去噪聲的過程,而這一系列過程的背後,依靠的是數學的方法。
搜索引擎的反作弊#
作弊的演進#
- 早期:重複關鍵詞(用很小的字體和背景相同的顏色來掩蓋),容易被搜索引擎發現
- PageRank 時代:買賣鏈接成為新的作弊方式——建立大量只有鏈接、沒有實質內容的網站來提高排名
- 作弊與反作弊是一場長期的「貓捉老鼠」遊戲
反作弊的兩個層面#
- 術的層面:看到作弊的例子,分析並清除之。工作量大,但不需要太動腦筋
- 道的層面:找到作弊的動機和本質,從根本上解決問題
通信模型的類比#
- 搜索引擎反作弊與通信中解決噪聲干擾的思路一致:
- 從信息源出發,加強排序算法本身的抗噪聲能力
- 從傳輸來看,過濾掉噪聲,還原信息
作弊者的方法不可能是隨機的(否則無法提高排名),而且作弊方法是時間相關的。因此可以在搜集一段時間的作弊信息後,將作弊者抓出來,還原原有的排名——就如同採集汽車發動機的噪聲後再消除噪聲一樣。
利用圖論和餘弦距離#
- 作弊網站通常互相連接形成 Clique(圖論中的完全子圖),可用專門的 Clique 發現算法檢測
- 作弊網站的出鏈特徵與正常網站不同,可用餘弦距離衡量,使購買的鏈接基本不起作用
關鍵要點#
- Google 的反作弊和恢復排名過程是完全自動的
- 一個網站要長期排名靠前,就需要把內容做好,同時要跟作弊網站劃清界限
- 大部分搜索引擎優化器(SEO)和幫助別人作弊的人,本質上是從中牟利
搜索結果的權威性#
權威性與網頁質量的區別#
- PageRank 衡量的是網頁質量,但無法衡量搜索結果的權威性
- 權威性與搜索關鍵詞的相關性有關——例如世界衛生組織在醫學方面有權威性,但在金融領域未必如此
- 權威性的存儲量非常大($M$ 個網頁 $\times$ $N$ 個搜索關鍵詞),只有在雲計算和大數據技術成熟後才有可能計算
計算權威度的步驟#
- 對每個網頁的每句話進行句法分析,找出涉及主題的短語(如「吸煙的危害」)以及信息源的描述
- 利用互信息找到主題短語和信息源的相關性(即「提及」關係)
- 對主題短語進行聚類(用矩陣運算的方法),得到搜索的主題
- 對同一網站中的網頁按子域(Subdomain)或子目錄進行聚類
「提及」(Mention)是衡量權威性的關鍵概念。例如很多新聞和論文在討論「吸煙危害」時都「提及」世界衛生組織,那麼我們就有理由相信世界衛生組織是這個主題的權威機構。
- 完成上述步驟後,可以得到信息源對不同主題的權威度關聯矩陣
- 在計算中可以像 PageRank 一樣,對權威度高的網站給「提及」關係更高的權重,通過迭代算法收斂
本章小結#
噪聲存在於任何通信系統中,搜索引擎作為一種特殊的通信系統也不例外。反作弊和確定權威性就是去噪聲的過程,而這一系列過程的背後,完全是建立在各種數學模型基礎之上的。