• <nav id="waukw"></nav>
  • 13996527831
    詳細

    SEM一家之言:分詞與索引庫 搜索引擎原理

    發表日期:2016-06-13 08:34:37   作者來源:米卓網絡   瀏覽:    

      分詞是很多做SEO的人常聽到的概念,為了讓大家在這個方面不會有疑惑,現在國平要來講一下分詞以及索引庫。這也是更深入的了解搜索引擎的開始。

      搜索引擎每天都是在處理一個基本的需求:用戶搜索一個關鍵詞,搜索引擎馬上找到相關的網頁給用戶。這個過程要怎么實現呢? 下面就分步來了解這個過程。

    SEM一家之言:分詞與索引庫 搜索引擎原理

      首先搜索引擎要盡可能多的把互聯網上的網頁搜集下來,這樣能提供大量的網頁給用戶查詢。這一部分由爬蟲來解決,順著互聯網上的鏈接一個個往下抓取。最后就有了一堆記錄著網頁各種信息的資料庫。目前的現狀,最后能使這個資料庫里有大概100多億個網頁。資料庫里記錄了這些網頁的URL,整個網頁的HTML代碼,網頁標題等等信息。

      然后,搜索引擎拿到用戶輸入的這個關鍵詞后,要從這個資料庫里把相關的網頁找出來給用戶。這里就碰到好幾個問題了:

      1,要怎么快速的從上100億個網頁里找出匹配的網頁的呢?

      要知道這是從上百億的網頁里找符合這個關鍵詞內容的網頁,如果像用word里那種用ctrl + F 輪詢的查找方式的話,即使用超級計算機,也不知道要消耗多少時間。但是現在的搜索引擎,在幾分之一秒里就實現了。所以一定是做了一些處理才實現的。

      解決辦法也倒簡單,就是建立一份索引庫。就像我們查《新華字典》一樣,我們不會翻遍《新華字典》的每一頁來查那個字在哪頁,而是先去索引表那里找這個字,拿到頁碼后,直接翻到那頁就可以了。搜索引擎也會為上百億的網頁建立一個索引庫,用戶查詢信息的時候,是先到搜索引庫里查一下要找的信息在哪些網頁,然后就引導你去那些網頁的。

      如下圖:

    索引庫

      索引庫

      2,索引庫里用什么樣的分類方式?

      我們知道,《新華字典》的索引表是用字母列表或者偏旁部首的分類方式的。那么搜索引擎的索引庫里是怎么分類的?是不是也可以用字母列表的方式?

      搜索引擎如果以字母列表的方式排列索引庫,那么平均每個字母下要查詢的網頁數量是 100億÷26=3.85億 ,也還是一個很大的數字。而且搜索引擎上,今天是100億個網頁,過不了多久就是300億個網頁了。

      最后,終于找到一個解決辦法:索引庫里用詞語來分類。

      因為盡管互聯網上的網頁是不斷激增的,但是每一種語言里,詞語的數量都是相對固定的。比如英語就是一百多萬個單詞,100億 ÷ 1百萬 = 1 萬;漢語是8萬多個詞語,100億÷8萬=12萬5千。都是計算機很容易處理得過來的。

      用詞語來分類還有一個好處,就是可以匹配用戶查詢的那個詞語。本來用戶就是要查這個詞語的,那我就按這個詞語去分類就是。

      所以,搜索引擎的索引庫,最后就是這個樣子的:

     模擬的索引庫

      模擬的索引庫

      理論上,當用戶輸入關鍵詞“mp3 player”搜索時,搜索引擎就從 “mp3”那行 和 “player”那行里拿出同時都有的、交集的url來即可。

      上圖也是現在英文版的google.com上的真實排名情況,可以看到 www.winamp.com 這個網站在搜索“mp3”的時候排第4位,在搜索“player”的時候也排第4位。當搜索“mp3 player”的時候,因為沒有其他網站比它更匹配這個詞語,所以它排在了第一位。

      排在第一

      當搜索引擎把一個網站抓取下來后,接著要做的事情就是把網頁里的詞語分開放到索引庫里。分詞在這個時候就要應用到了,所謂的分詞,其實很簡單,就是把詞語分開而已。

      英語的分詞好處理一點,因為英語的每個單詞之間是用空格分開的,基本上就只要處理一些虛詞、介詞,還有一些詞語的單復數,變形詞等等。但是中文的分詞就復雜很多了,句子中的每個字都連在一起,有時候即使是人來判斷,都還有產生歧義的時候。中文的分詞有很多方法,也很容易弄懂的,如正向切分法,逆向切分法等等,網上有很多相關的資料。

      谷歌的中文分詞方法是從國外一家第三方公司買的。百度的分詞方法是自己創立的,可能在詞庫上面比谷歌有點優勢。不過其他方面差了一些。

      當爬蟲找到一個網頁的時候,在搜索引擎看來,這個網頁就是一大堆詞語的組合?;玖鞒倘缦拢?/p>

      

     

    搜索引擎的處理過程

      搜索引擎的處理過程

      看完這個流程圖,應該能給大家在做內部優化的時候有所啟發的。

      我建議大家再去看一下《把Web標準化進行得更徹底一點》這篇文章,還有《豐富網頁摘要”,讓你的網站與眾不同》以及《SEO案例:錨文本、關鍵字、nofollow、Web標準化(一)》和 《SEO案例:錨文本、關鍵字、nofollow、Web標準化(二)》。那些文章和這篇文章一樣,都是在講同一個問題。

      一定要站在搜索引擎的角度,把它的這些原理了解清楚了,才會讓你明白哪些因素才是你應該關注的重點。

      有人說: SEO就是重在細節。這應該是經驗之談。但是不知道大家有沒有想過的是:是不是可能原本這些看似細節的東西,其實就是應該注意的重要的東西呢?如果你不能控制好你的排名,有沒有想過可能你以前特別在意的一些SEO因素,其實有些并不是重點?;而只是你把影響排名的部分因素弄錯了?

      上面的很多知識,其實在《搜索引擎營銷:網站流量大提速》里都有提及的。那本書要去精讀的原因之一就是它講了很多看似很普通的原理,但是都是有用的。

      比如在選關鍵詞的時候,也可以參考一下這個詞語的索引量。從上面的原理可以看出,這個索引量反應了這個詞語在這種語言當中人們使用的流行程度。所以國外有些計算關鍵詞KEI指數的公式里,也把這個關鍵詞的索引量加入了進來。

      有興趣再追溯下去的朋友可以看看google黑板報上的這篇文章

      http://www.googlechinablog.com/2006/05/blog-post_10.html

    玩弄铁扇公主娇喘呻吟
  • <nav id="waukw"></nav>