【搜索引擎原理】搜索引擎預處理工作原理
通過上邊編者對搜索引擎預處理概念的一個簡單的介紹,想必各位讀者有一定的了解,那么在眾多預處理的流程中具體究竟是怎樣的一個工作流程呢?下面就讓我們一起看一下搜索引擎在預處理中的各個工作流程!
1.
關鍵詞的提?。核阉饕婺軌蛲耆R別的主要還是以文字內容為主的網絡資源。搜索引擎蜘蛛在爬取一個頁面的同時也把大量的HTML代碼抓取下來,如keywords,description,title,H,css,div標簽等,而它的主要工作還是將HTML標簽、程序等處理,然后提取用于排名計算的文字信息內容。
2.刪除重復無用詞:同一個詞在一個網頁中出現很多次,如“得”、“我”、“的”、“你”、“地”、“啊”、.“呀”、“卻”、“再”、“從而”等這類的無用助詞,出現的頻率雖然很高,但是一旦反復出現就沒太大價值了,一般這類詞就歸結為停用詞。這類詞也需要去除掉。
3.中文分詞技術:分詞是中文搜索引擎獨有的技術支持。中文信息和英文信息的差別在于:英文單詞與單詞之間用的是空格分隔的,這對中文就行不通了,搜索引擎必須將整個句子切割成小單元詞,如“我是中國人”拆分出來的形態是“我”、“是”、“中國”、“人”。分詞技術的效率直接影響到整個系統的效率。
分詞的方法基本上有兩種:基于字符串匹配的分詞方法和基于統計的分詞方法。
1)基于字符串匹配的分詞方法
按匹配方向的不同,可分為正向匹配、逆向匹配和最少切詞??蓪⑦@三種方法混合起來使用,即正向最大匹配、逆向最大匹配、正向最小匹配、逆向最小匹配。
正向最大匹配:假設字典中最長的詞語字數為m,先根據漢語標點符號及特征詞把漢語句子切分為短語,然后去取短語的前m個字,在字庫里面查找是否存在這個詞語,如果存在,短語就去掉這個詞;如果不存在就去掉這m個字的最后一個字,接著檢查剩下的詞是否是單字,若是則輸出此字并將此字從短語中去掉,若不是則繼續判斷字庫中是否存在這個詞,如此反復循環,直到輸出一個詞,此后繼續取剩余短語的前m個字反復循環。這樣就可以將一個短語分成詞語的組合了。
以“我是一個好人”為例,假設字典中最長詞語字數為3,正向最大匹配順序為:
(1)取出短語“我是中”,檢查“我是中”是否在字典中存在或是一個單字,處理方式是去掉最后面的“中”字;
(2)檢查短語“我是”是否在字典中存在或是一個單字,處理方式是去掉“是”字;
(3)檢查“我”字是否在字典中存在或是一個單字,“我”是一個單字,將“我”字輸出;
(4)繼續取出短語“是中國”,檢查“是中國”是否在字典中存在或是一個單字,處理方式是去掉最后面的“國個”字;
(5)檢查短語“是中”是否在字典中存在或是一個單字,處理方式是去掉“中”字;
(6)檢查“是”字是否在字典中存在或是一個單字,“是”是一個單字,將“是”字輸出;
(7)取出短語“中國人”,檢查“中國人”是否在字典中存在或是一個單字,處理方式是去掉最后面的“好”字;
(8)檢查短語“中國”,發現是字典中的一個詞,直接輸出;
(9)檢查短語“國人”,發現是字典中的一個詞,直接輸出;
(10)最后輸出結果為:我、是、中國、人。
逆向最大匹配:以句子結尾處進行分詞的方法。逆向最大匹配技術最大的一個作用是用來消歧。如“富營銷線下聚會在下城子鎮舉行”按照正向最大匹配結果為:富/營銷/線/下/聚會/在/下/城子鎮/舉行,很顯然這當中差生了歧義。下城子鎮是一個地名,沒有被正確地切分。采用逆向最大匹配的技術可以修正這個錯誤。例如設定一個分詞節點大小為7,那么“在下城子鎮舉行”中很顯然“舉行”被分出來了,最后剩下“聚會在下城子鎮”,這樣一來歧義就被消除了。
正向最小匹配/逆向最小匹配:一般很少使用到,實際使用中逆向匹配的精準度要高于正向匹配度。
2)基于統計分詞方法
直接調用分詞詞典中的若干詞進行匹配,同時也使用統計技術來識別一些新的詞語,將所有的統計結果匹配起來發揮切詞的最高效率。
分詞詞典是搜索引擎判斷詞語的依據,基本上收錄了漢語詞典當中所有的詞語。如我們在搜索引擎中輸入“我要減肥了”,“減肥”兩字就會被判定為一個詞語?,F在網絡上經常會出現一些新造的網絡流行詞語如“神馬”、“犀利哥”等,這樣的詞也都會慢慢地被收錄。分詞詞典只有不斷更新才能滿足我們日常搜索判斷的需求。
4.消除噪聲:網頁上有各種形形色色的廣告文字、廣告圖片、登錄框、版權信息等,為了某些目的不得不放上去,這些對搜索引擎來說不是有用的東西,可以直接去掉。
5.分析網頁建立倒排文件:正向索引:經過前面幾步的工作之后就開始提取關鍵詞了,把頁面轉換為一個關鍵詞組合,同時記錄每一個關鍵詞在頁面上的出現頻率、出現次數、格式、位置,這樣每一個頁面都可以記錄為一串關鍵詞組合,其中每個關鍵詞的詞頻、格式、位置等權重信息也都記錄在案,如圖1-10所示。
倒排索引:正向索引還不能直接用于排名。假如用戶搜索關鍵詞3,如果只用正向索引,排名程序需要掃描所有的索引中的文件,找出包含關鍵詞3的文件,再進行相關計算。這樣一來計算無法實時返回排名結果。所以搜索引擎會將正向索引數據庫重新構造為倒排索引,倒排索引以關鍵詞為索引,如圖1-11所示。
6.鏈接關系計算:鏈接關系計算是預處理中重要的一步。主流搜索引擎排名因素都包含網頁之間的鏈接流信息。事先必須計算出頁面上有哪些鏈接指向哪些其他頁面,每個頁面有哪些導入鏈接,鏈接使用了什么錨文本等種種的鏈接計算。GooglePR是這種鏈接關系計算的重要代表之一。
7.特殊文件處理:可以抓取和索引以文字為基礎的多種文件類型。對flash、視頻、PPT,XLS,圖片等非文字內容不能執行腳本和程序。搜索引擎目前還無法獲取flash文件和圖片中的文字信息。圖片一般推薦使用ALT標簽圖片文字信息。