iNeo

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            30 Posts :: 8 Stories :: 2 Comments :: 0 Trackbacks
          Google工程師詳述Google的搜索結(jié)果排列算法
           

          本文作者馬特-卡茲(Matt Cutts)是Google公司品質(zhì)管理部門的軟件工程師。他的工作主要是給好的網(wǎng)站評(píng)定等級(jí),并負(fù)責(zé)開發(fā)阻止虛假或垃圾網(wǎng)站出現(xiàn)在Google搜索結(jié)果上的技術(shù)。

          圖書館管理員們提出最多的問題之一是:“對(duì)于什么樣的結(jié)果應(yīng)該位于搜索列表的最上方,Google是如何選擇的?”現(xiàn)在品質(zhì)工程師馬特-卡茲介紹了快速入門的知識(shí),解釋了Google是如何在網(wǎng)上爬行和索引,以及如何評(píng)定搜索結(jié)果等級(jí)的。馬特也向?qū)W校圖書館管理員提出建議,告訴他們?nèi)绾屋o導(dǎo)學(xué)生。

          爬行和索引

          在你瀏覽包含了Google搜索結(jié)果的網(wǎng)頁(yè)之前,要發(fā)生很多事情。首先是在萬(wàn)維網(wǎng)數(shù)以十億計(jì)的網(wǎng)頁(yè)上爬行和索引,這個(gè)工作是由Googlebot完成的,它負(fù)責(zé)與全球的網(wǎng)絡(luò)服務(wù)器連接以收集文件。爬行不是真的在網(wǎng)上漫游,而是訪問網(wǎng)絡(luò)服務(wù)器返回到一個(gè)特定的網(wǎng)頁(yè)上,接著掃描該網(wǎng)頁(yè)建立超鏈接并為每一個(gè)網(wǎng)頁(yè)編上號(hào)碼。爬行可收集大量的文件,但這些文件還不能直接用于搜索。

          如果沒有索引,在你想查詢?nèi)纭癱ivil war”(南北戰(zhàn)爭(zhēng))等內(nèi)容時(shí),Google的服務(wù)器將不得不在你每次搜索時(shí)閱讀每一份文件的內(nèi)容。因此第二個(gè)步驟是要建立一個(gè)索引,這樣就需要“轉(zhuǎn)換” 爬行所獲得的數(shù)據(jù)。為了不必在每一份文件上掃描每一個(gè)單詞,就需要在數(shù)據(jù)上做些文章,以便顯示包含了特定單詞的所有文件。例如,假設(shè)單詞“civil”在編號(hào)為3、8、22、56、68和92的文件上出現(xiàn)過(guò),而單詞“war”出現(xiàn)編號(hào)為2、8、15、22、68和77的文件上。

          一旦建立了索引,就開始對(duì)文件進(jìn)行等級(jí)評(píng)定并確定它們的相關(guān)性。假如某個(gè)人上Google搜索并輸入“civil war”,為呈現(xiàn)和評(píng)價(jià)搜索結(jié)果需要做兩件事:一是查找包含了用戶提問的網(wǎng)頁(yè);二是按照相關(guān)性排定匹配網(wǎng)頁(yè)的位置。Google已經(jīng)開發(fā)出一個(gè)有趣的技術(shù)可加速第一步驟的過(guò)程:不是將所有索引存儲(chǔ)在一臺(tái)電腦上,而是使用數(shù)百臺(tái)電腦做這種工作。由于任務(wù)被分配到很多電腦上,使得查詢答案更為迅速。

          為更加形象地描述這個(gè)過(guò)程,可以設(shè)想下一本30頁(yè)厚書的索引。如果一個(gè)人在索引中查找數(shù)頁(yè)的信息,那么每一次搜索都至少需要花幾秒鐘的時(shí)間;但如果你將索引的每一頁(yè)分給不同的人去查找呢?三十個(gè)人分別查找索引的不同部分,要比一個(gè)人獨(dú)自查找快的多。同樣,Google也是將數(shù)據(jù)分配到各臺(tái)電腦上以便可以更快地查找文件。

          如何查找包含了用戶提問的網(wǎng)頁(yè)?讓我們返回到上面舉的“civil war”例子。單詞“civil”在編號(hào)為3、8、22、56、68和92的文件上,單詞“war”在編號(hào)為2、8、15、22、68和77的文件上,我們可以在網(wǎng)頁(yè)上顯示文件并尋找包含兩個(gè)單詞的文件(從下表中可以看出是8、22和68號(hào)文件)。

          單詞civil 3 8 22 56 68 92

          單詞war 2 8 15 22 68 77

          兩個(gè)單詞都出現(xiàn) 8 22 68

          包含了一個(gè)單詞的文件列表被稱為“文件標(biāo)識(shí)列表”,查找包含兩個(gè)單詞的文件被稱為“文件標(biāo)識(shí)列表的交集”。

          評(píng)定搜索結(jié)果

          有了包含用戶提問的網(wǎng)頁(yè)后,就該按照相關(guān)性評(píng)定網(wǎng)頁(yè)了。Google使用了很多技術(shù),其中 PageRank算法是最有名的。PageRank評(píng)定的是兩種事情:從網(wǎng)站到某一網(wǎng)頁(yè)有多少個(gè)鏈接,提供鏈接的網(wǎng)站的排名。使用PageRank,來(lái)自 CNN和紐約時(shí)報(bào)網(wǎng)站的鏈接的價(jià)值,是很多不太有名網(wǎng)站的兩倍。

          除了PageRank外Google還使用了很多其他技術(shù),例如一份文件所包含的 “civil”和“war”兩個(gè)單詞靠的很近,就比只使用了“war”單詞的包含“Revolutionary War”(獨(dú)立戰(zhàn)爭(zhēng))的文件相關(guān)性要大的多。另外在題目中出現(xiàn)了“civil war”的網(wǎng)頁(yè),它的相關(guān)性就比題目為“19th Century American Clothing”(19世紀(jì)的美國(guó)服裝)要重要的多。同樣如果“civil war”在網(wǎng)頁(yè)上出現(xiàn)了數(shù)次,比出現(xiàn)一次的網(wǎng)頁(yè)要相關(guān)的多。

          Google的目的是要找到知名度和相關(guān)性都大的網(wǎng)頁(yè)。如果兩個(gè)網(wǎng)頁(yè)出現(xiàn)匹配提問的信息數(shù)量幾乎一樣,我們常常會(huì)選擇更有名網(wǎng)站的鏈接。但如果其他方面表明一個(gè)網(wǎng)頁(yè)更為相關(guān),也會(huì)選擇更少鏈接或更低排名的網(wǎng)頁(yè)。例如,一個(gè)網(wǎng)頁(yè)全篇都是講“南北戰(zhàn)爭(zhēng)”的內(nèi)容,會(huì)比只是略微提到“南北戰(zhàn)爭(zhēng)”的網(wǎng)頁(yè)更為有用,即使這個(gè)網(wǎng)頁(yè)是出現(xiàn)不太有名的網(wǎng)站上。一旦我們有了文件的列表和分值,就會(huì)選擇最高分值、最匹配的文件。

          Google從包含了提問單詞的每一份文件中提取幾句話作為摘要顯示,接著將排好的URLs和摘要顯示在搜索結(jié)果上。正如你所知道的運(yùn)行一個(gè)搜索器需要大量的計(jì)算資源。每一次搜索需要500臺(tái)以上的電腦一起工作,搜索的時(shí)間還不到半秒鐘。



          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=559502

          posted on 2005-12-23 14:43 只牽這只狗 閱讀(213) 評(píng)論(0)  編輯  收藏 所屬分類: Search

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 清新县| 龙门县| 巨鹿县| 房产| 新干县| 温州市| 新竹县| 鄂尔多斯市| 五家渠市| 本溪市| 连平县| 怀来县| 株洲县| 若尔盖县| 喀喇| 班戈县| 仲巴县| 大竹县| 巴中市| 湖口县| 辽中县| 旅游| 罗定市| 普陀区| 山阴县| 河曲县| 永川市| 南丹县| 海淀区| 南木林县| 蒙城县| 汽车| 祁阳县| 平乡县| 栖霞市| 安阳县| 凉城县| 安陆市| 石首市| 汕尾市| 中山市|