Google搜索引擎技術(shù)實(shí)現(xiàn)探究 |
Google搜索引擎技術(shù)實(shí)現(xiàn)探究 化柏林 (中國(guó)科學(xué)技術(shù)信息研究所 北京 100038) 【摘要】 本文從技術(shù)的角度剖析了Google搜索引擎的體系結(jié)構(gòu)與工作過(guò)程,詳細(xì)介紹了基于Robot的網(wǎng)頁(yè)搜索、標(biāo)引入庫(kù)和檢索引擎三大模塊,統(tǒng)計(jì)了Google的技術(shù)數(shù)據(jù),并分析了Google的技術(shù)實(shí)現(xiàn)特點(diǎn),解釋了Google檢索的種種現(xiàn)象。 【關(guān)鍵詞】 Google 搜索引擎 技術(shù)實(shí)現(xiàn) 【分類號(hào)】 G354 Anatomy of Google Search Engine Viewed on Technical Implementation Hua Bolin (Institute of Scientific and Technical Information of China, Beijing 100038) 【Abstract】 This paper anatomized architecture and procedure of Google viewed on Technical Implementation. It introduced three functional modules, which is Web crawler, index and create database, search engine. Then do a statistic of technical data about Google, and analyzed technical feature, explained a variety of phenomena when using Google to retrieval. 【Keywords】 Google, Search Engines, Technical Implementation 1 Google技術(shù)總況與體系結(jié)構(gòu) Google擁有10億個(gè)網(wǎng)址,30億個(gè)網(wǎng)頁(yè),3.9 億張圖像,Google 支持66種語(yǔ)言接口,16種文件格式,面對(duì)如此海量的數(shù)據(jù)和如此異構(gòu)的信息,google是如何實(shí)現(xiàn)半秒內(nèi)搜索的呢? Google擁有1600臺(tái)服務(wù)器,大部分代碼用C或C++實(shí)現(xiàn),有很好的執(zhí)行效率,運(yùn)行在Solaris 或Linux 上。Google用了64個(gè)桶(barrels),有293M詞典(lexicon)、43G的順排檔文件、41G的倒排檔文件,構(gòu)造了一個(gè)5.18億個(gè)超鏈接的網(wǎng)絡(luò)關(guān)聯(lián)圖。 Google搜索引擎有兩個(gè)特征來(lái)提高查準(zhǔn)率:利用網(wǎng)頁(yè)間的鏈接關(guān)系來(lái)計(jì)算每一個(gè)網(wǎng)頁(yè)的等級(jí);利用鏈接關(guān)系來(lái)改善檢索結(jié)果。除此之外,Google還對(duì)所有的點(diǎn)擊都有定位信息,廣泛利用搜索的親近度。第二,Google 記錄詳細(xì)的可視化表達(dá)諸如詞的字體大小,大或粗體的詞的權(quán)重就高。第三,整個(gè)頁(yè)面的HTML源文件在知識(shí)庫(kù)中是可用的。 Google搜索引擎從功能上同樣分為三大部分:網(wǎng)頁(yè)爬行、標(biāo)引入庫(kù)和用戶查詢。網(wǎng)頁(yè)爬行主要負(fù)責(zé)網(wǎng)頁(yè)的抓取,由URL服務(wù)器、爬行器、存儲(chǔ)器、分析器和URL解析器組成, 爬行器是該部分的核心;標(biāo)引入庫(kù)主要負(fù)責(zé)對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行分析,對(duì)文檔進(jìn)行標(biāo)引并存儲(chǔ)到數(shù)據(jù)庫(kù)里,由標(biāo)引器和分類器組成,該模塊涉及許多文件和數(shù)據(jù),有關(guān)于桶的操作是該部分的核心;用戶查詢主要負(fù)責(zé)分析用戶輸入的檢索表達(dá)式,匹配相關(guān)文檔,把檢索結(jié)果返回給用戶,由查詢器和網(wǎng)頁(yè)級(jí)別評(píng)定器組成,其中網(wǎng)頁(yè)等級(jí)的計(jì)算是該部分的核心。其總體系統(tǒng)結(jié)構(gòu)如圖1所示。 ![]() 2 基于Robot的搜索過(guò)程 Robot使用多線程并發(fā)搜索技術(shù),主要完成文檔訪問(wèn)代理、路徑選擇引擎和訪問(wèn)控制引擎?;赗obot的Web頁(yè)搜索模塊主要由URL服務(wù)器、爬行器、存儲(chǔ)器、URL解析器四大功能部件和資源庫(kù)、錨庫(kù)、鏈接庫(kù)三大數(shù)據(jù)資源構(gòu)成,另外還要借助標(biāo)引器的一個(gè)輔助功能。具體過(guò)程是,有個(gè)URL服務(wù)器發(fā)送要去抓取的URL,爬行器根據(jù)URL抓取WEB頁(yè)并送給存儲(chǔ)器,存儲(chǔ)器壓縮Web頁(yè)并存入數(shù)據(jù)資源庫(kù),然后由標(biāo)引器分析每個(gè)WEB頁(yè)的所有鏈接并把相關(guān)的重要信息存儲(chǔ)在anchors 文件中。URL解析器讀anchors文件并解析URL,然后依次轉(zhuǎn)成docID。再把a(bǔ)nchor文本變成順排索引,送入索引庫(kù)。具體過(guò)程如圖2所示。 ![]() 2.1 URL服務(wù)器(URL Server) URL服務(wù)器是整個(gè)Web頁(yè)搜索模塊的開(kāi)始,主要用來(lái)管理和維護(hù)URL列表。首先由它發(fā)送一個(gè)新的URL給爬行器,讓爬行器去搜索。如果爬行器遇到了不可下載的網(wǎng)頁(yè),就會(huì)給URL一個(gè)返回信息,然后取下一個(gè)URL。URL服務(wù)器會(huì)從文檔索引庫(kù)里不斷地取新的URL以供爬行器使用。 2.2 爬行器(crawler) 爬行器是整個(gè)搜索模塊中最關(guān)鍵的一部分,它由好幾個(gè)分布的爬行器組成,并協(xié)同工作。爬行器遇到HTML頁(yè)的頭有如下標(biāo)記就不再抓取此頁(yè),<head><meta name="robots" content="noindex, nofollow"></head>,返回一個(gè)空值,繼續(xù)向其他方向爬行,這就有效防止爬行器標(biāo)引此頁(yè)及本頁(yè)的相關(guān)鏈接頁(yè)。如果網(wǎng)頁(yè)已經(jīng)標(biāo)引過(guò),就從將要爬行的網(wǎng)頁(yè)隊(duì)列中移除。Web頁(yè)文本的繁殖思想是由3W蠕蟲(chóng)來(lái)實(shí)現(xiàn)的,當(dāng)它搜索非文本信息時(shí),盡可能少的下載文檔,以擴(kuò)展搜索度,因?yàn)榉俏谋拘畔⑷鐖D片等沒(méi)有鏈接會(huì)造成爬行的中斷。這樣,Google就可以通過(guò)各種策略來(lái)解決排序沉沒(méi)(rank sink)和排序漏出(rank loak)等問(wèn)題。 2.3 存儲(chǔ)器(store server) 存儲(chǔ)器把爬行器抓來(lái)的Web頁(yè)進(jìn)行壓縮并存儲(chǔ)到數(shù)據(jù)資源庫(kù)中。數(shù)據(jù)資源庫(kù)包含每一個(gè)Web頁(yè)的全部HTML,所有的網(wǎng)頁(yè)用zlib進(jìn)行壓縮,Google更注重zlib的壓縮速度而不是壓縮率。bzip對(duì)數(shù)據(jù)庫(kù)的壓縮率接近4:1,而zlib為3:1。這樣,Google就能把147.8G的HTML文檔壓縮成53.5G的數(shù)據(jù)存儲(chǔ)在庫(kù)中。在數(shù)據(jù)資源庫(kù)中,對(duì)文檔進(jìn)行歸類,加上docID前綴、文檔的長(zhǎng)度和URL。文檔索引記錄著每一個(gè)文檔的信息,它是一個(gè)有固定長(zhǎng)度,經(jīng)docID排序的ISAM索引(Index sequential access mode)。存在每個(gè)條目中的信息包括當(dāng)前文檔狀態(tài),數(shù)據(jù)庫(kù)中的指針,文檔校驗(yàn)和以及其它統(tǒng)計(jì)信息。如果文檔被爬行過(guò),它也包含到可變長(zhǎng)文件的指針,這個(gè)稱為docinfo的文件包含文檔的URL和標(biāo)題。否則,指針指向僅包含URL的URL列表。 2.4 分析器(parser) 分析器可以看成是標(biāo)引器的一部分,也可以說(shuō)是標(biāo)引器的一個(gè)輔助功能部分。它分析每個(gè)WEB頁(yè)的所有鏈接并把相關(guān)的重要信息存儲(chǔ)在anchors 文件中,構(gòu)成一個(gè)錨庫(kù)。每當(dāng)從WEB頁(yè)分析出一個(gè)新的URL時(shí),為每個(gè)WEB頁(yè)分配一個(gè)稱為docID的關(guān)聯(lián)ID。這個(gè)文件包含足夠的信息來(lái)決定每個(gè)鏈接的何去何從。錨經(jīng)常提供比web頁(yè)本身更精確的頁(yè)描述。錨可以存在文檔,這些文檔不能被基于文本的搜索引擎所標(biāo)引,如圖片、程序、數(shù)據(jù)庫(kù)。這就為返回那些不能精確爬行的Web頁(yè)提供了可能。 2.5 URL解析器(URL Resolver) URL解析器讀anchors文件并把相對(duì)URL轉(zhuǎn)成絕對(duì)URL,然后依次轉(zhuǎn)成docID。把a(bǔ)nchor文本變成順排索引,存到文檔索引庫(kù)里,并用anchor所指向的docID進(jìn)行關(guān)聯(lián)。把URL轉(zhuǎn)換成docID的文件,是由URL校驗(yàn)和及相應(yīng)的docID兩列組成的一個(gè)列表,并以校驗(yàn)和排序。為了找到一個(gè)特定URL的docID,首先計(jì)算URL的校驗(yàn)和,在校驗(yàn)和文件中進(jìn)行二元查找,以找到相應(yīng)的docID。執(zhí)行一次批處理,通過(guò)合并文件把URL 轉(zhuǎn)成docID。使用這種批處理模式很關(guān)鍵,要不然就得為每一個(gè)鏈接都作一次查找,假設(shè)一個(gè)磁盤上有322,000,000個(gè)鏈接記錄,那么這樣一個(gè)過(guò)程需要2個(gè)多月的時(shí)間。它還產(chǎn)生成對(duì)docID的鏈接數(shù)據(jù)庫(kù),以用于計(jì)算所有文檔的PageRanks。 3 標(biāo)引入庫(kù) 標(biāo)引入庫(kù)模塊由分類器和標(biāo)引器組成。標(biāo)引入庫(kù)模塊處理大量的文件和數(shù)據(jù),用來(lái)構(gòu)建龐大的數(shù)據(jù)庫(kù),主要涉及數(shù)據(jù)資源庫(kù)、詞典庫(kù)、鏈接庫(kù)、桶等。桶的結(jié)構(gòu)與內(nèi)容非常復(fù)雜,有關(guān)桶的操作是本模塊的核心, 3.1 分類器(sorter) 分類器從桶中取出數(shù)據(jù),按docID進(jìn)行一級(jí)分類,然后按照wordID進(jìn)行二級(jí)分類并產(chǎn)生倒排檔索引。分類器產(chǎn)生wordID的列表并把其偏移量寫到倒排檔索引中。一個(gè)稱為DumpLexicon的程序把這個(gè)列表和由標(biāo)引器產(chǎn)生的詞典揉和在一起并為檢索器產(chǎn)生一個(gè)新的詞典。 3.2 標(biāo)引器(indexer) 標(biāo)引器有許多函數(shù),它讀數(shù)據(jù)庫(kù),解壓縮文檔然后進(jìn)行分析。每個(gè)文檔都被轉(zhuǎn)成一套單詞出現(xiàn)頻率,稱之為采樣數(shù)。采樣數(shù)記錄單詞及在文檔中出現(xiàn)的位置,字體的大小以及大寫信息。標(biāo)引器把這些采樣數(shù)分配到一套“桶”中,創(chuàng)建一個(gè)部分分類的順排索引。對(duì)于中文,Google主要采用了二元切分法,也就是為什么我們輸入長(zhǎng)于兩個(gè)漢字的中文,如果不加雙引號(hào),Google會(huì)自動(dòng)給以切分的原因。 3.3 桶(barrels) Google共有64個(gè)桶(barrels),每個(gè)桶都存著wordID的歸類,包括順排檔與倒排檔。如果一個(gè)文檔包含落在某個(gè)桶里的詞,docID和wordID的列表以及相應(yīng)的命中列表就被記錄到桶里。Google存儲(chǔ)每一個(gè)wordID時(shí),存儲(chǔ)的是與所在桶的最小wordID的相對(duì)差異,而不是存儲(chǔ)實(shí)際的wordID。這樣,在未排序的桶中用24位存儲(chǔ)wordID,留下8位用來(lái)存儲(chǔ)命中列表的長(zhǎng)度。 倒排檔索引就象順排檔一樣由系列的桶組成,唯一的不同是被分類器處理過(guò)。有個(gè)重要的問(wèn)題是docID應(yīng)當(dāng)在doclist中如何排序。一個(gè)簡(jiǎn)單的解決辦法是用docID進(jìn)行分類,這允許多詞查詢而帶來(lái)的不同doclist的合并。另外一個(gè)辦法是按詞在每個(gè)文檔中出現(xiàn)的頻率等級(jí)進(jìn)行分類存儲(chǔ),盡管這使得處理單個(gè)詞的查詢變得繁瑣,但為多詞查詢提供了可能。Google在這兩個(gè)方案中選擇了折衷,使用兩套倒排的桶,一套為包括標(biāo)題和anchor hits的命中列表,我們稱之為短桶,另一套為所有的命中列表,我們稱之為長(zhǎng)桶。 在順排檔索引和倒排檔索引中,命中列表占據(jù)了大量的空間。命中列表是指詞在一篇文檔中的出現(xiàn)頻率,包括位置、字體和大寫信息。Google為編碼位置、字體和大寫考慮了多種編碼方案——簡(jiǎn)單編碼、優(yōu)化壓縮編碼和哈夫曼編碼。由于優(yōu)化壓縮編碼對(duì)空間的要求比簡(jiǎn)單編碼低,操作過(guò)程比哈夫曼編碼簡(jiǎn)單,因此,Google最終選擇了優(yōu)化壓縮編碼。 Google用兩個(gè)字節(jié)的壓縮編碼來(lái)記錄每次命中,命中類型有兩種:特殊命中與普通命中。特殊命中包括URL的命中率、標(biāo)題、鏈接文本和關(guān)鍵標(biāo)記。普通命中含有所有的信息,包括大寫位、字體大小和12位標(biāo)記詞在文檔中出現(xiàn)的位置信息等。字體大小用3位來(lái)表達(dá)文檔的其它內(nèi)容的相對(duì)值(僅有7個(gè)值可用,因?yàn)?11是特殊命中的標(biāo)記)。特殊標(biāo)記由大寫位,字體設(shè)成7來(lái)表明是一個(gè)特殊命中,有4位表示類型,用8位標(biāo)記位置。為了節(jié)省空間,命中列表的長(zhǎng)度由順排檔中的wordID和倒排檔中的docID決定。分別需要8位與5位。如果長(zhǎng)度更長(zhǎng)的話,在相應(yīng)的位里就存著一個(gè)溢出編碼,接下來(lái)的兩個(gè)字節(jié)存儲(chǔ)命中列表的實(shí)際長(zhǎng)度。 ![]() 3.4 詞典(lexicon) 詞典有幾種不同的形式。對(duì)早期系統(tǒng)的一個(gè)重要改變是根據(jù)合理的代價(jià)分配內(nèi)存。該詞典包含1400萬(wàn)個(gè)詞條(有些生僻詞沒(méi)加),由兩部分實(shí)現(xiàn),詞表和指針的哈希表。詞表還有一些輔助信息用以實(shí)現(xiàn)其它功能。對(duì)于每個(gè)有效的wordID,詞典包含指向wordID所在桶的指針。它指向docID和相應(yīng)的命中列表的doclist。Doclist表明該詞在所有文檔中出現(xiàn)的所有情況。 4 檢索過(guò)程與網(wǎng)頁(yè)級(jí)別 Google用戶查詢模塊主要由網(wǎng)頁(yè)級(jí)別評(píng)定器和查詢器組成。 4.1 查詢器(searcher) 查詢器運(yùn)行在Web服務(wù)器上,并用DumpLexicon產(chǎn)生的詞典、倒排檔索引和PageRanks一起來(lái)響應(yīng)查詢。首先接受用戶輸入的檢索表達(dá)式,進(jìn)行分析得出各項(xiàng)檢索要求,提取檢索詞并轉(zhuǎn)成wordID,接著到短桶文檔列表里進(jìn)行查詞,遍歷文檔列表直到匹配所有的詞條,找到一篇就計(jì)算網(wǎng)頁(yè)等級(jí),短桶查完了,如果沒(méi)有足夠的匹配記錄,就去查長(zhǎng)桶。查完了所有的文檔列表,就對(duì)檢索結(jié)果進(jìn)行排序并返回前K項(xiàng)。 ![]() 4.2 網(wǎng)頁(yè)級(jí)別評(píng)定器(PageRanker) 網(wǎng)頁(yè)級(jí)別評(píng)定器借用了圖書文獻(xiàn)里的參考文獻(xiàn)與引用文獻(xiàn)的評(píng)價(jià)思想,利用鏈接網(wǎng)頁(yè)的數(shù)量及重要性進(jìn)行等級(jí)評(píng)定,而鏈接網(wǎng)頁(yè)的重要性由它的鏈接網(wǎng)頁(yè)的數(shù)量及重要性決定,因此是一種迭代計(jì)算。評(píng)級(jí)函數(shù)有許多參數(shù),如類型權(quán)重和相關(guān)類型權(quán)重等。 如果有許多網(wǎng)頁(yè)指向網(wǎng)頁(yè)P(yáng),那么P就是一個(gè)好的網(wǎng)頁(yè)。IR‘(P),從不同域的鏈接要比同一個(gè)域內(nèi)的鏈接重要。自然鏈接可以表明相關(guān)重要性。當(dāng)從網(wǎng)頁(yè) A 鏈接到網(wǎng)頁(yè) B 時(shí),Google 就認(rèn)為“網(wǎng)頁(yè) A 投了網(wǎng)頁(yè) B 一票”。Google 根據(jù)網(wǎng)頁(yè)的得票數(shù)評(píng)定其重要性。除了考慮網(wǎng)頁(yè)得票數(shù)(即鏈接)的純數(shù)量之外,Google 還要分析投票的網(wǎng)頁(yè)。“重要”的網(wǎng)頁(yè)所投出的票就會(huì)有更高的權(quán)重,也有助于提高其它網(wǎng)頁(yè)的“重要性”。 被引率高就說(shuō)明該頁(yè)值得看,PageRank通過(guò)web鏈接架構(gòu)來(lái)處理靠遞歸繁殖提高權(quán)重的情況。 假定網(wǎng)頁(yè)A有指向A的網(wǎng)頁(yè)T1...Tn(也叫引用網(wǎng)頁(yè))。參數(shù)d是一個(gè)設(shè)定于0、1之間的遞減因子,通常定為0.85。C(A)為從網(wǎng)頁(yè)A鏈出去的鏈接數(shù),因此,網(wǎng)頁(yè)A的PageRank就可以求出: PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)) PageRank 或者PR(A)用迭代算法來(lái)計(jì)算,相當(dāng)于一個(gè)規(guī)范化的Web鏈接矩陣的特征向量。有26,000,000個(gè)網(wǎng)頁(yè)在一臺(tái)中型工作站上用幾個(gè)小時(shí)就能算完。PageRanks形成了web頁(yè)的概率分布,所有web頁(yè)的PageRanks和為1。 ![]() 重要的、高質(zhì)量的網(wǎng)頁(yè)會(huì)獲得較高的網(wǎng)頁(yè)級(jí)別。Google 在排列其搜索結(jié)果時(shí),總會(huì)考慮每個(gè)網(wǎng)頁(yè)的級(jí)別。當(dāng)然,如果不能滿足用戶的查詢要求,網(wǎng)頁(yè)級(jí)別再高對(duì)用戶來(lái)說(shuō)也毫無(wú)意義。因此,Google 將網(wǎng)頁(yè)級(jí)別與完善的文本匹配技術(shù)結(jié)合在一起,為用戶找到最重要、最有用的網(wǎng)頁(yè)。Google 所關(guān)注的遠(yuǎn)不只是關(guān)鍵詞在網(wǎng)頁(yè)上出現(xiàn)的次數(shù),它還對(duì)該網(wǎng)頁(yè)的內(nèi)容以及該網(wǎng)頁(yè)所鏈接的內(nèi)容進(jìn)行全面檢查,從而確定該網(wǎng)頁(yè)是否滿足用戶的查詢要求。Google在檢索引擎里用一個(gè)用戶反饋機(jī),對(duì)信任用戶可有選擇地評(píng)估所有的返回結(jié)果,這種反饋被存到數(shù)據(jù)庫(kù)里,當(dāng)修改評(píng)級(jí)函數(shù)時(shí),就能發(fā)現(xiàn)對(duì)以前評(píng)過(guò)級(jí)的檢索所產(chǎn)生的影響。 5 功能檢索的實(shí)現(xiàn) 對(duì)于Google的檢索實(shí)現(xiàn),筆者對(duì)檢索做了大量的測(cè)試,而對(duì)技術(shù)僅作了有限的部分測(cè)試,其理解如下: 5.1 邏輯表達(dá)式 Google支持的邏輯運(yùn)算有與、或、非,其形式分別為“ ”、“or”、“-”,對(duì)應(yīng)Google高級(jí)檢索里的“包含全部字詞”、“包含任何一個(gè)字詞” 、“不包含以下字詞”。Google不支持截詞檢索,因?yàn)榻卦~檢索會(huì)極大地降低計(jì)算機(jī)的檢索速度。當(dāng)然Google對(duì)詞的切分技術(shù)也并不理想,對(duì)西文比較有效,對(duì)亞洲語(yǔ)言作得不好。 5.2 指定文件類型 Google可以指定查找的文件格式,如pdf、doc、ppt等格式文件。如果某個(gè)搜索結(jié)果是 PDF 文件而不是網(wǎng)頁(yè),它的標(biāo)題前面會(huì)出現(xiàn)以藍(lán)色字體標(biāo)明的 [PDF]。用戶只想查一般網(wǎng)頁(yè),而不要 PDF 文件,只需在搜索關(guān)鍵詞后加上 -filetype:pdf 就可以了,而如果只想查pdf文件,則用filetype:pdf就可以指定pdf文件了。每一個(gè)文檔在數(shù)據(jù)庫(kù)里都有其文件類型,因此,實(shí)現(xiàn)它并不困難。 5.3 指定范圍 Google可以指定網(wǎng)頁(yè)的范圍,如(all)intitle,(all)intext ,(all)inurl,(all)inanchor等。網(wǎng)頁(yè)標(biāo)題只是對(duì)HTML的<title></title>里的內(nèi)容進(jìn)行檢索,如果title的內(nèi)容與文章真正的標(biāo)題不一致,則Google沒(méi)有能力檢索出來(lái)。在 ![]() 5.4 語(yǔ)言問(wèn)題 Google支持66種語(yǔ)言接口,35種語(yǔ)言指定檢索,Google對(duì)語(yǔ)種的判別不是通過(guò)URL信息(域名中的國(guó)別),主要通過(guò)HTML中的charset,和對(duì)網(wǎng)頁(yè)內(nèi)容部分識(shí)別的統(tǒng)計(jì)信息來(lái)聯(lián)合判斷。其實(shí),好多人還把Google當(dāng)詞典來(lái)用,我們輸入“"層次分析法" analysis”指定中文網(wǎng)頁(yè)就可以檢索出層次分析法的英文翻譯。 5.5 同義詞檢索 選擇“搜索所有網(wǎng)站或搜索所有中文網(wǎng)頁(yè)”,輸入“計(jì)算機(jī)”,則會(huì)把含有“電腦”的網(wǎng)頁(yè)(不論有沒(méi)有“計(jì)算機(jī)”)搜索出來(lái),而在簡(jiǎn)體中文網(wǎng)頁(yè)里就不會(huì)實(shí)現(xiàn)這樣的功能,因?yàn)镚oogle采用Basis Technology的中文簡(jiǎn)繁體轉(zhuǎn)換技術(shù)。 5.6網(wǎng)頁(yè)目錄 Google按內(nèi)容把網(wǎng)頁(yè)信息分為15個(gè)大類,主要是通過(guò)詞頻分布與統(tǒng)計(jì)技術(shù),對(duì)內(nèi)容進(jìn)行識(shí)別并用分類器(sorter)進(jìn)行歸類。 5.7 圖像搜索 Google搜集了3.9 億張圖像,對(duì)圖像的描述信息建了一個(gè)很大的數(shù)據(jù)庫(kù)。圖像檢索使用的主要是文件名、圖片附近的文本、圖片的標(biāo)題以及從圖片中提取的部分內(nèi)容。 5.8 相似結(jié)果 google 會(huì)省略相似的結(jié)果,尤其是來(lái)自不同站點(diǎn)頁(yè)內(nèi)容相同的文章,有時(shí)我們?cè)贕oogle顯示的結(jié)果中不能下載相應(yīng)的文章時(shí),而省略的結(jié)果中可能允許下載,這時(shí)google的省略功能就帶來(lái)了不便。判斷內(nèi)容相似主要可能是根據(jù)文章題目、文章大小和部分詞語(yǔ)統(tǒng)計(jì)信息等。當(dāng)然還有許多特點(diǎn)與使用技巧,那不是本文討論的重點(diǎn)。 當(dāng)我們了解了Google的技術(shù)實(shí)現(xiàn),就可以理解檢索過(guò)程中出現(xiàn)的種種現(xiàn)象。針對(duì)這些特點(diǎn)再去調(diào)整檢索策略,這樣它返回的結(jié)果就不再成千上萬(wàn)了。正常情況下,把檢索結(jié)果控制在百條左右,是一個(gè)專業(yè)檢索水平的標(biāo)志,這樣的結(jié)果對(duì)我們也才真正的有意義。 參考文獻(xiàn) [1] ![]() [2] ![]() [3] Junghoo Cho, Hector Garcia-Molina and Lawrence Page. Efficient crawling through URL ordering ![]() [4] Sergey Brin and Lawrence Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine. ![]() [5] The Google Pagerank Algorithm and How It works. ![]() pagerank/ |
聯(lián)系客服