Web搜尋引擎技術綜述

2021-03-31 16:01:38 字數 4909 閱讀 1175

摘要

隨著網路與通訊技術的迅速發展,web資訊**性的增長,已經成為乙個巨大的海量資訊空間。如何快速、準確、方便的從如此龐大的資訊庫中獲取自己需要的資訊,是網際網路使用者面臨的乙個重要問題。web搜尋引擎能為使用者提供一種查詢所需資源的服務,已經成為網際網路上僅次於電子郵件的第二大服務。本文首先介紹了搜尋引擎的原理和實現技術。然後討論了搜尋引擎技術發展最新前沿技術。最後,結合筆者在這方面的研究,給出了搜尋引擎近期的發展方向。

web,搜尋引擎,網路技術

一.  導論

隨著網路技術的應用與發展,互連網已經成為資訊的重要**地。到2023年底,已經至少有1,600萬台主機接入互連網,網際網路上網頁總數已達到10多億頁,並且以每月近千萬的數目遞增[1]。搜尋引擎以一定的策略在網際網路中蒐集、發現資訊,對資訊進行理解、提取、組織和處理,並為使用者提供檢索服務,從而起到資訊導航的目的[2],網際網路使用者使用網路獲取資訊過程中,搜尋引擎也成為必不可少的工具。調查表明,當前的所有互連網應用中,網路資訊搜尋是僅次於電子郵件的第二大應用,而這些搜尋絕大多數是專門的,高度複雜的搜尋引擎實現的。

按照資訊蒐集方法和服務提供方式的不同,搜尋引擎系統可以分為三大類:目錄式搜尋引擎,以人工方式或半自動方式蒐集資訊,由編輯員檢視資訊之後,人工形成資訊摘要,並將資訊置於事先確定的分類框架中,由於web資訊的海量性和人工處理能力、經濟代價的限制,這類搜尋引擎資訊的即時性和全面性難以保證它的優秀代表是yahoo[3]等;機械人搜尋引擎,由乙個稱為蜘蛛(spider)的機械人程式以某種策略自動地在網際網路中蒐集和發現資訊,由索引器為蒐集到的資訊建立索引,由檢索器根據使用者的查詢輸入檢索索引庫,並將查詢結果返回給使用者,這類搜尋引擎實現較為複雜,但能很好的實現資訊的全面獲取和即時更新,它的優秀代表是google[4]等,後文如非特別說明,都指這類搜尋引擎;元搜尋引擎,這類搜尋引擎沒有自己的資料,而是將使用者的查詢請求同時向多個搜尋引擎遞交,將返回的結果進行重複排除、重新排序等處理後,作為自己的結果返回給使用者,這類搜尋引擎兼集多個搜尋引擎的資訊,並且加入新的排序和資訊過濾,可以很好的提高使用者滿意度,它的優秀代表是vivisino[5]等。

二.  web搜尋引擎的原理、實現和評價指標

web搜尋引擎的原理通常為:首先是用蜘蛛(spider)進行全網搜尋,自動抓取網頁;然後將抓取的網頁進行索引,同時也會記錄與檢索有關的屬性,中文搜尋引擎中還需要首先對中文進行分詞;最後,接受使用者查詢請求,檢索索引檔案並按照各種引數進行複雜的計算,產生結果並返回給使用者。

基於上面的原理,下面將簡要介紹web搜尋引擎實現。

1.         利用網路蜘蛛獲取網路資源。

這是一種半自動化的資源(由於此時尚未對資源進行分析和理解,不能成為資訊而僅是資源)獲取方式。所謂半自動化,是指搜尋器需要人工指定起始網路資源url(uniform resource locator),然後獲取該url所指向的網路資源,並分析該資源所指向的其他資源並獲取。其基本流程圖如下:

圖1,基本搜尋器流程圖

網路蜘蛛訪問資源的過程,是對網際網路上資訊遍歷的過程。在實際的蜘蛛程式中,為了保證資訊收集的全面性,及時性,還有多個蜘蛛程式的分工和合作問題,往往有複雜的控制機制。如google的在利用蜘蛛程式獲取網路資源時,是由乙個認為管理程式負責任務的分配和結果的處理,多個分布式的蜘蛛程式從管理程式活動任務,然後將獲取的資源作為結果返回,並從新獲得任務[6]。

2.         利用索引器從搜尋器獲取的資源中抽取資訊,並建立利於檢索的索引表:

當用網路蜘蛛獲取資源後後,需要對這些進行加工過濾,去掉網控制**及無用資訊,提取出有用的資訊,並把資訊用一定的模型表示,使查詢結果更為準確。其中資訊的表示模型一般有布林模型,向量模型,概率模型和神經網路模型等[7]。web上的資訊一般表現為網頁,對每個網頁,須生成乙個摘要,此摘要將顯示在查詢結果的頁面中,告訴查詢使用者各網頁的內容概要。模型化的資訊將存放在臨時資料庫中,由於web資料的資料量極為龐大,為了提高檢索效率,須按照一定規則建立索引。不同搜尋引擎在建立索引時會考慮不同的選項,如是否建立全文索引,是否過濾無用詞彙,是否使用meta資訊等。索引的建立包括:分析過程,處理文件中可能的錯誤;文件索引,完成分析的文件被編碼進儲存桶,有些搜尋引擎還會使用並行索引;排序,將儲存桶按照一定的規則排序,生產全文儲存桶。最終形成的索引一般按照倒排檔案的格式存放。

3.         檢索及使用者互動:

搜尋引擎的評價指標有響應時間、查全率、查準率和使用者滿意度等。其中響應時間是從使用者提交查詢請求到搜尋引擎給出查詢結果的時間間隔,響應時間必須在使用者可以接受的範圍之內。查全率是指查詢結果集資訊的完備性。查準率是指查詢結果集中符合使用者要求的數目與結果總數之比。使用者滿意度是乙個難以量化的概念,除了搜尋引擎本身的服務質量外,它還和使用者群體,網路環境有關係。在搜尋引擎可以控制的範圍內,其核心是搜尋結果的排序,即前文提到的如何把最合適的結果排到前面。

三.  web搜尋引擎的最新動態

當前,搜尋引擎技術已經趨於成數,使用者滿意度也保持在乙個可以接受的水平。在資訊蒐集技術,索引建立技術,檢索技術和結果集排序技術方面,最近幾年,除了google創造性的提出pagerank技術,並把他用於結果排序外,基本沒有什麼突破性的進展。而搜尋引擎的研究與資訊整合逐漸融合,在這方面的研究主要集中在兩個方面:查詢擴充套件(query expansion)和結果集的動態分類。

1.  查詢擴充套件:

2.  搜身結果的動態分類:

由於結果集通常十分龐大,因而如何組織結果集展現形式,方便使用者快速的找到需要的資訊就成為乙個十分關鍵的問題。雖然通過改進頁面排序演算法,可以盡量使「重要」的頁面出現在返回結果的前面,但由於使用者職業,興趣,年齡等各方面的差異,很難讓所有的使用者都接受服務商給出的重要性順序。另外,統計顯示,使用者一般不會在結果集中向後翻超過五頁。所以將查詢結果以一定的類別層次組織,讓使用者能方便的選擇檢視類別,可以很好的縮小結果集,從而使使用者能更快的查詢資訊。

目前這方面研究的主要要內容包括,怎樣確定類別層次?怎樣確定文章所屬的類別?現有的解決方式大致可以分為兩種:(a)根據經驗或一定的計算模型,事先確定出靜態的類別層次,讓後通過網頁內容的語義分析確定其所屬類別。它面臨的主要問題是:由於互連網使用者地域,職業,宗教的,教育程度的不可預知性,很難確定出讓所有使用者的接受的分類層次體系;由於類別層次是靜態的,所以對文章的歸類可避免會出現限制,使某些網頁沒有合適的類別可放;另外,目前基於自然語言理解的語義分析技術準確度不高,系統消耗過大,由於網頁數量的海量性質,所以每個網頁都需要很高的處理消耗是不能接受的。(b)對查詢結果集進行動態(on-the-fly)聚類,即在檢索結果集和結果集展現之間增加一步,先對結果集安一定的相似度計算演算法進行動態聚類,然後將結果集安聚類的結果進行組織,使用者可以選擇動態生產的聚類類別以縮小結果集,從而快速的找到需要的資訊。這種方式簡便靈活,且易於實現。但動態生成的類別不能很好的構成體系,層次關係更是難以體現,所以怎樣設計聚類演算法,直接關係聚類結果的好壞。

四.  web搜尋引擎的發展趨勢**

以當前資訊科技發展的速度,任何人要**技術的發展趨勢,都只會貽笑大方。具體到web搜尋引擎技術,筆者只能根據當前的研究成果和研究方向,就近期的可能發展,給出個人的見解。

當前搜尋引擎服務提高的挑戰主要來之兩方面,乙個是使用者初始查詢請求描述的不准卻性,使用者往往難以清楚的表達其資訊需求。所以,當前以及今後一段時間內,對如何根據使用者模糊的查詢請求,較為準確、全面的理解使用者的實際資訊需求的研究,將是搜尋引擎技術研究的乙個重要方面。目前這方面的研究主要集中於查詢結果文件的資訊挖掘,這方面的努力已經取得很多的成果。另一方面,挖掘使用者的個性化資訊,將是乙個能產生突破性成果的方法:根據使用者的背景資訊,如知識水平,專業方向,職業和興趣等,將極大的促進使用者初始查詢理解的準確性和全面性。另外,對使用者網路使用的日誌分析,也能提供準確的使用者網路行為,從而為使用者資訊需求分析提供重要依據。綜上所述,對個性化搜尋引擎的實現的研究,將成為近段時間研究的重點和突破點。

搜尋引擎服務質量提高的另乙個挑戰是,查詢結果集過於龐大,使用者往往不會看到位於結果集後部的資訊。這方面目前已經基本確定的解決方案是,根據分類體系組織結果集,通過類別選擇縮小結果範圍。它的實現難點是分類體系的確定和最終頁面歸屬類別的確定。目前的研究,主要是基於搜尋引擎提供方對蒐集到的資訊的理解,限於當前自然語言理解準確度較低,開銷較大,這方面的研究難以有更大的突破。而另外的選擇是,讓資訊發布者自己提供資訊的類別,用統一的規範描述資訊的類別資訊和語義資訊。搜尋引擎只需獲取這些資訊即可,無疑,這種方式得出的類別和語義資訊都是最準確得。例如,當前一般**都建有導航欄,**內容安導航欄所指得類別層次組織,從而可以把導航資訊作為類別層次,各導航項只想得最終頁面歸屬於該類別下。筆者目前研究的重點就是如何提取**欄目資訊,如何把**按欄目劃分範圍,從而把欄目和範圍對應,把該範圍內的所有內容規類到對應欄目項所指的類別。將來,如果能讓所有資訊發布者規範的描述類別和語義資訊,這方面的研究必將發上飛躍。

從上面的論述,不難看出,今後一段時間,搜尋引擎技術的研究將主要集中在如何提供個性化服務[9],如何提供基於資訊發布者提供的資訊類別及語義理解兩方面。

五.  結論

本文介紹了web搜尋引擎的原理和實現技術,討論當前web搜尋引擎研究的最新動態,並論述了近期web搜尋引擎發展的方向。

[1]   《world wide web search technoligies》shi nansi,idea group publish

[2]   《搜尋引擎技術及趨勢》李曉明,劉建國。2003.6

[6] 《搜尋引擎與資訊獲取技術》p107。徐寶文,張衛風;清華大學出版社。

作者blog:http://blog.csdn.***/hwalk/

搜尋引擎發展綜述

搜尋引擎發展綜述 李銳 lirui nic.ac.中科院計算技術研究所 北京 100080 inter 自誕生以來不斷成長,其內容不斷豐富,整個網路逐漸堆積成乙個前所未有的超大型資訊庫。inter 作為乙個資訊平台在人們的日常生活和工作中發揮著越來越重要的作用,人們越來越多地通過inter 獲取資訊...

搜尋引擎檢索技術

謝海勸 如此簡單的乙個輸入框 搜尋按鈕,卻可以實現如此神奇的一站式搜尋服務,為使用者提供豐富 準確的資訊,這要歸功於乙個強勁的後台引擎。使用者可曾想過,這麼簡單的行為,後台引擎可能會有成千上萬臺機器在為你服務。搜尋引擎就像一台高效運轉的發動機,不停響應使用者的請求,輸出使用者想要的資訊。高效的檢索系...

搜尋引擎檢索技術

如此簡單的乙個輸入框 搜尋按鈕,卻可以實現如此神奇的一站式搜尋服務,為使用者提供豐富 準確的資訊,這要歸功於乙個強勁的後台引擎。使用者可曾想過,這麼簡單的行為,後台引擎可能會有成千上萬臺機器在為你服務。搜尋引擎就像一台高效運轉的發動機,不停響應使用者的請求,輸出使用者想要的資訊。高效的檢索系統需要提...