搜索引擎體系結(jié)構(gòu)概述【課堂總結(jié)以及課后筆記】

引言

推薦教材

搜索引擎技術(shù)基礎(chǔ)

關(guān)注搜索引擎的原因

  1. 互聯(lián)網(wǎng)上最重要的應(yīng)用系統(tǒng)
  2. 人類歷史上最大規(guī)模的信息集散平臺
  3. 學(xué)術(shù)界重要的研發(fā)平臺
  4. 經(jīng)濟(jì)領(lǐng)域能夠盈利的“生意”

搜索引擎發(fā)展歷史(略)

搜索引擎體系結(jié)構(gòu)概述

體系結(jié)構(gòu)包括一組部件以及部件之間的聯(lián)系。

對于搜索引擎而言,其體系結(jié)構(gòu)是指為搜索引擎運(yùn)行而設(shè)置的軟硬件系統(tǒng),以及軟硬件系統(tǒng)之間的相互聯(lián)系的總和。
為容納萬維網(wǎng)以爆炸式增長的數(shù)據(jù),各大搜索引擎都使用規(guī)模浩繁的計算機(jī)集群系統(tǒng)對這些數(shù)據(jù)加以存儲和處理。

搜索引擎簡介的背后,是復(fù)雜的系統(tǒng)軟硬件。

搜索引擎主要組成:

  1. 數(shù)據(jù)抓取子系統(tǒng)
  1. 內(nèi)容索引子系統(tǒng)
  2. 鏈接結(jié)構(gòu)分析子系統(tǒng)
  3. 內(nèi)容檢索子系統(tǒng)
搜索引擎系統(tǒng)架構(gòu)示意圖

數(shù)據(jù)抓取子系統(tǒng)的主要功能與性能需求

主要功能
  • 數(shù)據(jù)抓取子系統(tǒng)的主要功能,是及時、高效地收集數(shù)量盡可能多的有用的萬維網(wǎng)頁面,以及建立它們之間的超鏈接關(guān)系。它在整個搜索引擎系統(tǒng)中承擔(dān)著與互聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行交互的任務(wù),它收集的數(shù)據(jù)是內(nèi)容索引子系統(tǒng)索引的對象,而它所收集的數(shù)據(jù)之間的鏈接關(guān)系也是鏈接分析子系統(tǒng)進(jìn)行分析的依據(jù)。
  • 數(shù)據(jù)抓取子系統(tǒng)的核心任務(wù)是收集“網(wǎng)頁”與“鏈接內(nèi)容”。
  • 數(shù)據(jù)抓取子系統(tǒng)的工作方式:


    數(shù)據(jù)抓取子系統(tǒng)工作的“鏈?zhǔn)皆怼?/div>

具體來講,數(shù)據(jù)抓取子系統(tǒng)工作的方式是一個“一傳十,十傳百,百傳千萬”的過程。首先,系統(tǒng)收集一部分熱門程度和權(quán)威度都較高,同時具有較多超鏈接的網(wǎng)頁(如網(wǎng)頁導(dǎo)航類站點(diǎn)、門戶類站點(diǎn)等),這部分站點(diǎn)被稱為“種子網(wǎng)頁集合”(Seed set,S)。隨后,數(shù)據(jù)抓取子系統(tǒng)通過被稱為“網(wǎng)絡(luò)爬蟲”(Spider,Crawler)的程序訪問S中所有網(wǎng)頁對應(yīng)的超鏈接,抓取超鏈接對應(yīng)的網(wǎng)頁,構(gòu)建S對應(yīng)的超鏈接頁面集合S1。進(jìn)一步,爬蟲訪問S1中所有網(wǎng)頁的超鏈接,抓取這些超鏈接對應(yīng)的網(wǎng)頁,構(gòu)建S1對應(yīng)的超鏈接頁面集合S2,......,周而復(fù)始,抓取互聯(lián)網(wǎng)上所有可以通過種子網(wǎng)頁集合間接訪問到的網(wǎng)頁。其抓取原理的偽代碼:

Spider(S)
{
  Get(S);
  S' = Resolve(S);
  Spider(S');
}
  • 根據(jù)國外學(xué)者的研究結(jié)果,萬維網(wǎng)任意兩個頁面間的平均距離是19個鏈接,呈現(xiàn)出明顯的“小世界”現(xiàn)象[^Small-world experiment]的特征,這使得通過這種抓取方式獲取互聯(lián)網(wǎng)上的頁面信息成為可能。
    [^Small-world experiment]:若網(wǎng)絡(luò)中任意兩點(diǎn)間的平均距離L 隨網(wǎng)絡(luò)格點(diǎn)數(shù)N 的增加呈對數(shù)增長,即 L ~ l n N , 且網(wǎng)絡(luò)的局部結(jié)構(gòu)上仍具有較明顯的集團(tuán)化特征,則稱該網(wǎng)絡(luò)具有小世界效應(yīng),這里的平均距離具有廣泛的含義,例如在上述信件傳遞實(shí)驗(yàn)中,平均距離就是平均傳遞次數(shù) 6。
性能需求
1. 及時性

及時性方面的要求,是指數(shù)據(jù)抓取子系統(tǒng)需要通過對互聯(lián)網(wǎng)數(shù)據(jù)的獲取和更新,保證搜索引擎索引與網(wǎng)絡(luò)數(shù)據(jù)的同步。

網(wǎng)頁抓取的工作無時無刻不在進(jìn)行,通過這種方式,才能保證數(shù)據(jù)抓取子系統(tǒng)能夠及時地抓取到更新的內(nèi)容,進(jìn)而使搜索引擎索引到的內(nèi)容與互聯(lián)網(wǎng)內(nèi)容一致。搜索引擎往往采取不同抓取更新頻率的方法,保證數(shù)據(jù)集合總體的“新鮮度”維持在一個較高的水平。

  • 為了與這種對不同網(wǎng)頁采取不同抓取更新頻率的網(wǎng)頁抓取方式相適應(yīng),數(shù)據(jù)抓取子系統(tǒng)通常在索引建立和更新的階段采取兩種不同的抓取策略。
    索引建立階段,通常使用的是積累式抓取的方式,對互聯(lián)網(wǎng)上的網(wǎng)頁進(jìn)行依照鏈接結(jié)構(gòu)關(guān)系進(jìn)行全面的抓取;
    索引更新階段,則往往采用的是增量式抓取的方式,既可以一句網(wǎng)頁鏈接結(jié)構(gòu)進(jìn)行抓取,也可以根據(jù)搜索引擎判斷的網(wǎng)頁更新頻率進(jìn)行定向抓取,以保證搜索引擎索引內(nèi)容與網(wǎng)絡(luò)頁面內(nèi)容盡可能一致。
2. 全面性

除了及時性方面的需求之外,數(shù)據(jù)抓取子系統(tǒng)在保證頁面索引數(shù)量方面也有較高的性能需求。

隨著越來越多的互聯(lián)網(wǎng)數(shù)據(jù)資源以網(wǎng)絡(luò)數(shù)據(jù)庫的形式存在,當(dāng)前數(shù)據(jù)抓取子系統(tǒng)在保證頁面索引數(shù)量方面的主要需求轉(zhuǎn)化為抓取互聯(lián)網(wǎng)動態(tài)網(wǎng)頁,或稱為“暗網(wǎng)”(The Hidden Web,The Deep Web)。

3. 高效性

系統(tǒng)運(yùn)行效率是數(shù)據(jù)抓取子系統(tǒng)需要關(guān)注的另一個主要性能指標(biāo)。如何利用有限的帶寬資源(受到預(yù)算開支限制)抓取數(shù)據(jù)、滿足用戶使用搜索引擎的信息需求是數(shù)據(jù)抓取子系統(tǒng)的性能需求之一。

  • 假設(shè)一定時間T內(nèi),滿足搜索引擎用戶所有信息需求的網(wǎng)絡(luò)資源總量為S,則理想情況下,數(shù)據(jù)抓取子系統(tǒng)為滿足用戶需求需要的帶寬B應(yīng)該滿足:

    事實(shí)上,由于我們無法預(yù)知哪些網(wǎng)絡(luò)資源能夠滿足用戶的信息需求,因此抓取到的網(wǎng)絡(luò)資源中通常會包括相當(dāng)多不被用戶需要的部分,為了盡量滿足用戶需求,所需抓取的網(wǎng)絡(luò)資源總量S‘一般要大于S。假設(shè)抓取到的網(wǎng)絡(luò)資源中真正被用戶所需要的部分所占的比例為R,則在不考慮帶寬浪費(fèi)的前提下系統(tǒng)需要的網(wǎng)絡(luò)帶寬B'為:

    此外,由于系統(tǒng)實(shí)現(xiàn)的原因,數(shù)據(jù)抓取子系統(tǒng)能夠利用的帶寬往往低于網(wǎng)絡(luò)實(shí)際可以提供的帶寬,假設(shè)這段時間T內(nèi),帶寬的利用率平均為U,則數(shù)據(jù)抓取子系統(tǒng)實(shí)際所需的帶寬B''應(yīng)當(dāng)滿足:B'=B'' * U
    因此有

    通過上式我們可以看出,提升數(shù)據(jù)抓取子系統(tǒng)的效率(即減少系統(tǒng)為滿足用戶信息需求所需的帶寬),在S與T相對固定的情況下,關(guān)鍵在于提升抓取到的萬維網(wǎng)數(shù)據(jù)中有用數(shù)據(jù)的比例R以及網(wǎng)絡(luò)帶寬的利用率U。
    1.提升抓取到的萬維網(wǎng)數(shù)據(jù)中有用數(shù)據(jù)的比例R。

識別各類抓取陷阱(黑洞,魯棒性)。

2.提升網(wǎng)絡(luò)帶寬的利用率U。
改進(jìn)算法、使用并行抓取策略、改善網(wǎng)絡(luò)速度減少抓取等待時間、充分合理利用被抓取網(wǎng)站的服務(wù)器和帶寬資源(禮貌性)。
實(shí)際應(yīng)用中,由于搜索引擎很難很難獲得完整的被抓取網(wǎng)站的相關(guān)服務(wù)信息,因此搜索引擎與網(wǎng)頁內(nèi)容提供者之間往往通過“robots.txt”的抓取協(xié)議來協(xié)商抓取策略。
對于絕大多數(shù)搜索引擎的數(shù)據(jù)抓取系統(tǒng)而言,robots.txt是它們訪問某網(wǎng)站的時候要查看的第一個文件。robots.txt文件告訴抓取子系統(tǒng)在服務(wù)器上什么文件是可以被抓取的,應(yīng)該用什么樣的方式才算是“禮貌”地抓取。
當(dāng)抓取子系統(tǒng)訪問一個站點(diǎn)時,它會首先檢查該站點(diǎn)根目錄下是否存在robots.txt,如果存在,抓取子系統(tǒng)就會按照該文件中的內(nèi)容來確定訪問的范圍和訪問方式;如果該文件不存在,則抓取子系統(tǒng)將不受限制地訪問網(wǎng)站上所有沒有被口令保護(hù)的頁面。
常用的一些robots.txt協(xié)議語句:

User-agent://以下規(guī)則對哪些搜索引擎適用,“*”表示所有搜索引擎
Disallow://不允許訪問的目錄名,通常為私密內(nèi)容、程序腳本、樣式表等內(nèi)容
Sitemap://指定可用于搜索引擎訪問的內(nèi)容
Crawl-delay://抓取時間間隔限制,按秒計算
對于網(wǎng)站所有者而言,如果合理利用robots.txt文件,可以既保證自己的網(wǎng)頁內(nèi)容被搜索引擎收錄,又不會造成服務(wù)器負(fù)擔(dān)過重。

內(nèi)容索引子系統(tǒng)的主要功能與性能需求

主要功能
  • 內(nèi)容檢索子系統(tǒng)的主要功能,是將數(shù)據(jù)抓取子系統(tǒng)收集到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行保存、整理,并以便捷高效的方式提供給內(nèi)容檢索子系統(tǒng)使用。它在整個搜索引擎系統(tǒng)的數(shù)據(jù)流中擔(dān)負(fù)著承上啟下的作用,它索引的數(shù)據(jù)由數(shù)據(jù)抓取子系統(tǒng)提供,而它所索引的數(shù)據(jù)則進(jìn)一步供內(nèi)容檢索子系統(tǒng)進(jìn)行結(jié)果篩選、排序使用。與大腦建立長期記憶的機(jī)制類似,搜索引擎內(nèi)容索引子系統(tǒng)也是通過對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行重新組合整理的方式來實(shí)現(xiàn)后續(xù)的高效訪問的。
倒排索引結(jié)構(gòu)

詞項(xiàng):詞項(xiàng)是邏輯學(xué)中的基本概念之一,指邏輯分析的基本單元,英文為Term。搜索引擎與信息檢索研究中的詞項(xiàng)是指具有一定概念的構(gòu)成文檔的基本單元。

  • 倒排索引基本結(jié)構(gòu)
    與倒排索引相對的索引形式是正排索引,倒排索引與正排索引的根本區(qū)別在于索引項(xiàng)的構(gòu)成不同:倒排索引的索引項(xiàng)是詞項(xiàng),而正排索引的索引項(xiàng)是文檔。倒排索引之所以被稱為“倒排”,主要是說其與傳統(tǒng)文獻(xiàn)組織方式(如圖書館中的文獻(xiàn)組織方式)中以文檔為中心的“正排”的組織方式不同。
    詞項(xiàng)(Term)是信息組織的核心,通過訪問詞項(xiàng),我們可以獲得該詞項(xiàng)出現(xiàn)的各個文檔(記錄在Doc X中),以及這些文檔中該詞項(xiàng)出現(xiàn)的位置(記錄在pos X中)。


    倒排索引結(jié)構(gòu)

    正排索引結(jié)構(gòu)

    由于倒排序索引是以詞項(xiàng)為中心組織信息,因此內(nèi)容檢索子系統(tǒng)將數(shù)據(jù)抓取子系統(tǒng)收集來的網(wǎng)絡(luò)內(nèi)容加以索引,首先要完成的就是從文檔到詞項(xiàng)的轉(zhuǎn)化過程,即將文檔通過詞項(xiàng)切分操作變成詞項(xiàng)集合的過程。

內(nèi)容索引子系統(tǒng)的性能需求

對于搜索引擎而言,內(nèi)容索引子系統(tǒng)的性能需求可以概括為:充分利用系統(tǒng)資源和高效完成索引服務(wù)。

  • 提高系統(tǒng)資源的利用率方面,在內(nèi)容索引子系統(tǒng)設(shè)計中重點(diǎn)考慮如何在保存盡量多有用信息的基礎(chǔ)上減少系統(tǒng)所需的磁盤存儲資源。索引建立、更新過程中重點(diǎn)需要進(jìn)行的是磁盤讀寫操作,而索引查詢過程中重點(diǎn)需要進(jìn)行的是磁盤讀操作。索引建立、更新的時間效率只需要與數(shù)據(jù)抓取子系統(tǒng)的運(yùn)行效率相適應(yīng)即可,由于網(wǎng)絡(luò)帶寬低于硬盤訪問速度,因此這方面的時間效率要求相對較低。由于用戶查詢是在線實(shí)時進(jìn)行,而內(nèi)容檢索子系統(tǒng)的運(yùn)算大都在內(nèi)存中完成,因此索引查詢的時間效率要求較高,而大規(guī)模磁盤讀寫也往往成為搜索引擎提供高校在線服務(wù)的主要瓶頸。同時,由于搜索引擎需要的存儲系統(tǒng)規(guī)模異常龐大,涉及的存儲介質(zhì)同樣種類繁雜、數(shù)量龐大,這些介質(zhì)在面臨大規(guī)模讀寫時難免會出現(xiàn)硬件問題。
    為了提高搜索引擎系統(tǒng)的運(yùn)行效率,同時減少存儲系統(tǒng)的硬件損耗和故障率,內(nèi)容檢索子系統(tǒng)需要在設(shè)計時盡量減少索引占用的磁盤空間,借以降低磁盤讀寫次數(shù)。
    1.首先,當(dāng)前絕大部分搜索引擎(包括大部分文本信息檢索系統(tǒng))所采用的倒排索引結(jié)構(gòu)都采用了一定程度的壓縮算法以減少索引存儲空間。由于網(wǎng)絡(luò)資源數(shù)目繁多,為精確匹配用戶查詢,搜索引擎往往需要記錄文檔中各個詞項(xiàng)出現(xiàn)的位置信息。記錄位置信息需要耗費(fèi)大量的存儲空間,而在文檔長度不長、詞項(xiàng)與詞項(xiàng)之間的相對位置偏移不大的情況下,存儲空間的浪費(fèi)也是十分驚人的。為此,搜索引擎通常采用行程編碼或常用壓縮工具包如gzip、bzip等對記錄了位置信息的索引進(jìn)行壓縮,以有效利用存儲空間。
    2.其次,搜索引擎系統(tǒng)在記錄索引位置信息時一般都會設(shè)置記錄長度的上限。網(wǎng)頁文檔長度差異巨大,如果索引結(jié)構(gòu)需要能夠保證記錄所有文檔的所有詞項(xiàng)出現(xiàn)的精確位置,則索引結(jié)構(gòu)需要預(yù)留與所有文檔中最長的文檔長度相一致的字節(jié)數(shù)用于記錄位置信息,由于絕大多數(shù)文檔的長度要遠(yuǎn)遠(yuǎn)短語這個最長長度,因此對于這絕大多數(shù)的網(wǎng)頁而言,預(yù)留的信息其實(shí)并不必要。因此,搜索引擎在記錄索引位置信息時往往只用N比特記錄詞項(xiàng)位置(N一般為10~16),詞項(xiàng)所處的位置大于2N的,一概記錄為2N。盡管這樣會造成部分較長文檔中位置信息的缺失,但是對于整個搜索系統(tǒng)的構(gòu)成而言,是效率較高的選擇。
  • 提高索引服務(wù)效率方面,內(nèi)容索引子系統(tǒng)重點(diǎn)考慮如何從搜索用戶的行為習(xí)慣出發(fā),在保證服務(wù)質(zhì)量的基礎(chǔ)上提高服務(wù)效率。搜索引擎所收集的網(wǎng)絡(luò)數(shù)據(jù)規(guī)模龐大,涵蓋了人類歷史上大部分的知識與信息財富,然而,考慮到用戶的實(shí)際需求情況,這些網(wǎng)絡(luò)數(shù)據(jù)中真正能夠?yàn)榻^大多數(shù)用戶所利用的只是相當(dāng)少一部分。
    這一現(xiàn)象是與用戶查詢需求的“二八定律”(查詢量最大的一部分查詢覆蓋了用戶查詢需求的絕大多數(shù))密切相關(guān)的,既然少數(shù)查詢量最大的查詢就能夠代表大多數(shù)的用戶需求,那絕大多數(shù)用戶所利用的網(wǎng)絡(luò)數(shù)據(jù),也必然是與這少部分查詢相關(guān)的資源。
    為了在保證最大范圍用戶群體查詢需求可以得到滿足的前提下,盡量把優(yōu)先的資源集中到少數(shù)高質(zhì)量網(wǎng)頁索引上,以提高索引系統(tǒng)的整體服務(wù)效果,提出了基于層次結(jié)構(gòu)的索引模塊設(shè)計方案。
    第1級索引由網(wǎng)頁中的權(quán)威站點(diǎn)首頁組成,權(quán)威站點(diǎn)一般是指各種網(wǎng)頁目錄和目錄是搜索引擎傾向于收錄的站點(diǎn),其在中文網(wǎng)頁中的總體數(shù)量按照各網(wǎng)頁目錄站點(diǎn)估計,約由十幾萬到幾十萬個頁面組成。第2級索引由網(wǎng)頁中的高質(zhì)量頁面組成,由約幾千萬至幾億網(wǎng)頁組成。第3級索引則是原有的網(wǎng)頁索引,即包括所有網(wǎng)頁內(nèi)容的索引。
    三級索引之間具有近似的內(nèi)容蘊(yùn)含關(guān)系,即第2級索引基本包括第1級索引所收錄的頁面,而第3級索引完全包括了第1級和第2級索引收錄的頁面。從頁面數(shù)量上來講,第3級索引收錄的網(wǎng)頁遠(yuǎn)遠(yuǎn)大于前兩級索引,因此其倒排索引條目的數(shù)目,以及每個索引條目所對應(yīng)的的存儲規(guī)模也要遠(yuǎn)遠(yuǎn)多于第1級和第2級索引。
    檢索系統(tǒng)處理用戶查詢需求時,查詢需求首先遞交低級別索引,只有當(dāng)?shù)图壦饕龥]有對應(yīng)的索引條目,或返回的索引條目規(guī)模不足(由經(jīng)驗(yàn)值確定)時,系統(tǒng)方進(jìn)行高級別索引的訪問。由于大部分用戶需求可以被第1級和第2級索引所滿足,因此較少有機(jī)會訪問第3級索引。由于訪問索引時需要耗費(fèi)大量的內(nèi)存空間載入索引條目列表等內(nèi)容,因此在絕大部分運(yùn)行時間中,第3及索引可以不保存在內(nèi)存空間中,這就大大減少了系統(tǒng)運(yùn)行的空間代價,從而能夠提升整體的索引性能。

內(nèi)容檢索子系統(tǒng)的主要功能與性能需求

主要功能

內(nèi)容檢索子系統(tǒng)的主要功能,是利用內(nèi)容索引子系統(tǒng)提供的索引數(shù)據(jù)和鏈接結(jié)構(gòu)分析子系統(tǒng)提供分析結(jié)果,按照用戶的查詢信息需求返回以相關(guān)度進(jìn)行排序的結(jié)果列表,以便用戶的進(jìn)一步瀏覽和利用。

內(nèi)容檢索子系統(tǒng)與文本信息檢索系統(tǒng)

搜索引擎與文本信息檢索系統(tǒng)的重要差別:
1、搜索引擎對“相關(guān)性”的標(biāo)準(zhǔn)是與文本信息檢索系統(tǒng)不同的,即兩者的“標(biāo)準(zhǔn)答案”標(biāo)注規(guī)則其實(shí)不同。
2、搜索引擎用戶的信息需求往往是無法從查詢關(guān)鍵詞中直接推知的,而TREC評測標(biāo)準(zhǔn)中使用的查詢關(guān)鍵詞都帶有詳細(xì)的信息需求描述。
3、搜索引擎系統(tǒng)對內(nèi)容檢索系統(tǒng)的效率要求較高,文本信息檢索系統(tǒng)采用的不少文本處理方法事實(shí)上無法滿足實(shí)際服務(wù)的效率需求。

性能需求
1.相關(guān)性需求

搜索引擎結(jié)果的相關(guān)性:帶有信息需求(Information Need,IN)的用戶在使用搜索引擎時,某結(jié)果Ri的相關(guān)性是指該結(jié)果滿足IN的程度。
內(nèi)容檢索子系統(tǒng)在相關(guān)性排序方面需要考慮的因素要遠(yuǎn)遠(yuǎn)多于傳統(tǒng)的文本信息檢索系統(tǒng)。為了能夠使結(jié)果序列最大程度地滿足用戶的信息需求,內(nèi)容檢索子系統(tǒng)需要引入比傳統(tǒng)文本信息檢索系統(tǒng)多得多的排序因素。這些因素包括:結(jié)果頁面本身的質(zhì)量(結(jié)果頁面來源網(wǎng)站的質(zhì)量、是否高質(zhì)量頁面、是否垃圾頁面)、結(jié)果頁面的組織形式(用戶是否能夠很快地通過閱讀頁面內(nèi)容獲得必要的信息)、結(jié)果頁面受歡迎的程度(有多少用戶先前訪問過該頁面)、結(jié)果頁面內(nèi)容新穎的程度(頁面更新周期,是否包含過期信息)等。

2.查詢理解需求

內(nèi)容檢索子系統(tǒng)需要完成的另一項(xiàng)重要任務(wù),是通過查詢關(guān)鍵詞理解查詢背后的信息需求。
1、查詢內(nèi)容的歧義性問題
針對查詢內(nèi)容的歧義,面向結(jié)果頁面集合的文本聚類技術(shù)經(jīng)常被應(yīng)用,以保證各類查詢對應(yīng)的歧義內(nèi)容都能夠在結(jié)果列表中出現(xiàn)。
2、查詢對應(yīng)的信息需求的歧義性
即使使用內(nèi)容不包含歧義的關(guān)鍵詞進(jìn)行查詢,搜索引擎用戶的信息需求也可能是完全不同的。搜索引擎為確保各類信息需求都可以得到滿足,必須分析用戶的各種查詢意圖并盡量在結(jié)果中加以體現(xiàn)。
3、理解查詢背后的信息需求的歧義
即使查詢內(nèi)容以及查詢對應(yīng)的信息需求類別都沒有歧義,理解查詢背后的信息需求也很困難。在“關(guān)鍵詞查詢+選擇性瀏覽”的交互方式下,搜索引擎面對的查詢是十分簡單的字詞組合。即使這些查詢并不具有內(nèi)容和信息需求層面的歧義,也會造成了不少查詢信息需求表述不清的現(xiàn)象。

3.效率需求
  • 海量規(guī)模的線上查詢需求導(dǎo)致任何一個用于內(nèi)容檢索子系統(tǒng)算法的計算復(fù)雜度不能很高。在信息檢索領(lǐng)域得到廣泛應(yīng)用的部分算法如查詢擴(kuò)展、相關(guān)反饋與偽相關(guān)反饋等,往往由于需要大量的在線運(yùn)算量而被內(nèi)容檢索子系統(tǒng)舍棄。
  • 在摒棄部分高運(yùn)算復(fù)雜度算法的同時,內(nèi)容檢索子系統(tǒng)也往往使用適當(dāng)?shù)木彺嫠惴ㄌ岣呦到y(tǒng)運(yùn)行效率。少數(shù)查詢量最大的查詢就能夠代表絕大多數(shù)的用戶需求。所以,只要把查詢量較大的查詢對應(yīng)的結(jié)果加以緩存,則有限的系統(tǒng)運(yùn)算資源就只需要集中對少數(shù)不包含在緩存中的查詢進(jìn)行處理即可,這樣就大大提升了系統(tǒng)的運(yùn)行效率,甚至可以將查詢量最大的查詢對應(yīng)的檢索結(jié)果頁面作為靜態(tài)頁面加以保存,就可以更快地處理這些常見的用戶查詢。當(dāng)然,緩存本身也需要經(jīng)歷更新的過程,以保證結(jié)果與互聯(lián)網(wǎng)的數(shù)據(jù)更新保持同步。

鏈接結(jié)構(gòu)分析子系統(tǒng)的主要功能與性能需求

與傳統(tǒng)數(shù)據(jù)相比,互聯(lián)網(wǎng)數(shù)據(jù)最大的特點(diǎn)就是其以超文本的形式進(jìn)行組織,超文本除了包含用于規(guī)范文字顯示格式的標(biāo)簽文字信息之外,更為重要的特性是其包含可以鏈接到其他字段或者文檔的超文本鏈接,這使得超文本系統(tǒng)允許從當(dāng)前閱讀位置直接切換到超文本鏈接所指向的文字。這種鏈接蘊(yùn)含的信息是傳統(tǒng)數(shù)據(jù)中所不具有的,也是搜索引擎用以評價網(wǎng)絡(luò)數(shù)據(jù)質(zhì)量擴(kuò)展網(wǎng)絡(luò)文檔描述的重要依靠,這兩方面的功能主要是由鏈接結(jié)構(gòu)分析子系統(tǒng)完成。

基于鏈接結(jié)構(gòu)分析評價數(shù)據(jù)質(zhì)量

互聯(lián)網(wǎng)時代,每個用戶的注意力都是寶貴的資源,理想狀態(tài)下,各個網(wǎng)頁都希望能夠鏈接到有高質(zhì)量內(nèi)容的其他網(wǎng)頁,以便提升自身的鏈接質(zhì)量,更好地為用戶獲取信息服務(wù)。這樣,真正具有高質(zhì)量內(nèi)容的網(wǎng)頁自然會得到越來越多其他網(wǎng)頁的鏈接;而真正以更好地為用戶服務(wù)為己任的網(wǎng)頁也會越來越多地鏈接到其他高質(zhì)量網(wǎng)頁。良性循環(huán)下去,就形成了高質(zhì)量網(wǎng)頁在鏈接結(jié)構(gòu)關(guān)系中的特殊地位,而鏈接結(jié)構(gòu)分析算法,就是通過這種特殊的地位區(qū)分網(wǎng)絡(luò)數(shù)據(jù)的質(zhì)量。

PageRank算法

基于鏈接結(jié)構(gòu)分析擴(kuò)展文檔描述

基于鏈接結(jié)構(gòu)分析擴(kuò)展文檔描述的方法,事實(shí)上是將不同原網(wǎng)頁作者對同一目標(biāo)網(wǎng)頁的描述文字加以整合,這樣,對于目標(biāo)頁面描述的“一家之言”(目標(biāo)網(wǎng)頁作者的描述)就變成了“百家爭鳴”(目標(biāo)網(wǎng)頁作者以及多個源網(wǎng)頁作者的描述)。
基于網(wǎng)頁鏈接文本(anchor text)提高檢索系統(tǒng)性能的嘗試被多方面的研究成果證明是十分有效的 ,該方法也因此被廣泛應(yīng)用于搜索引擎的技術(shù)實(shí)踐中。

鏈接結(jié)構(gòu)分析子系統(tǒng)的效率需求

搜索引擎鏈接結(jié)構(gòu)分析子系統(tǒng)所實(shí)現(xiàn)的兩大主要功能(數(shù)據(jù)質(zhì)量評估和擴(kuò)展文檔描述)都無需在線完成,因此鏈接結(jié)構(gòu)分析子系統(tǒng)的實(shí)時性和效率要求相對其他幾個子系統(tǒng)要略低一些。與之相對應(yīng)的,數(shù)據(jù)質(zhì)量評估方面的幾種常用算法(如PageRank、HITS、TrustRank等)都采用迭代計算的方式,計算復(fù)雜度較大;而擴(kuò)展文檔描述時也需要進(jìn)行鏈接描述文字從源網(wǎng)頁到目的網(wǎng)頁的重整過程,同樣需要耗費(fèi)較高的運(yùn)算資源。

搜索引擎體系結(jié)構(gòu)設(shè)計理念

  • 首先,是用戶需求驅(qū)動的設(shè)計理念。我們需要根據(jù)用戶需求確定網(wǎng)頁抓取、更新的頻率;需要根據(jù)用戶需求確定網(wǎng)頁層次索引結(jié)構(gòu)的組成;需要根據(jù)用戶需求確定結(jié)果的相關(guān)性;也需要根據(jù)用戶需求設(shè)計鏈接結(jié)構(gòu)分析算法,確定網(wǎng)頁質(zhì)量評估的方式。符合用戶需求是搜索引擎體系結(jié)構(gòu)設(shè)計首先需要遵循的原則,這是搜索引擎出現(xiàn)伊始就能吸引大量用戶,至今也為海量規(guī)模用戶所利用的核心原因。
  • 其次,是有損優(yōu)化的設(shè)計理念。搜索引擎是資源(存儲資源、帶寬資源、運(yùn)算資源等)極端密集的網(wǎng)絡(luò)產(chǎn)品,把有限的資源用在合理的方向,是節(jié)約成本贏取更大盈利的關(guān)鍵。數(shù)據(jù)抓取子系統(tǒng)中,有限的帶寬只能優(yōu)先供部分需要實(shí)時更新的網(wǎng)頁進(jìn)行抓取更新;內(nèi)容索引子系統(tǒng)中,詞項(xiàng)在網(wǎng)頁內(nèi)容中的位置記錄會被設(shè)定上限,超出上限長度的網(wǎng)頁位置信息記錄的會不準(zhǔn)確;層次索引結(jié)構(gòu)中,高水平的硬件只應(yīng)用在高質(zhì)量網(wǎng)頁對應(yīng)的索引上。有損優(yōu)化的設(shè)計理念盡管達(dá)不到所謂“全面最優(yōu)”的檢索效果,但卻可以使檢索性能在整體上最大化,更好地滿足最大多數(shù)用戶的最大多數(shù)查詢需求。
  • 最后,是重視效率的設(shè)計理念。面向大規(guī)模的數(shù)據(jù)和用戶群體,搜索引擎必須時刻把效率需求擺在重要的位置。內(nèi)容索引子系統(tǒng)設(shè)計中必須為節(jié)約存儲結(jié)構(gòu)中的每一個比特而努力;內(nèi)容檢索子系統(tǒng)必須舍棄復(fù)雜度過高的算法;鏈接結(jié)構(gòu)分析子系統(tǒng)必須把運(yùn)算強(qiáng)度降到可接受的最低水平;各個子系統(tǒng)都必須設(shè)置大量的緩存系統(tǒng)以充分利用“二八定律”提高系統(tǒng)效率。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容