搜尋引擎關鍵技術論文

  隨著計算機網路技術的飛速發展,人們要在網際網路的海量資訊中查詢自己所需的資訊,就要使用搜索引擎,搜尋引擎已經成為人們獲取資訊的重要手段。下面是小編整理的,希望你能從中得到感悟!

  篇一

  淺談元搜尋引擎的關鍵技術

  摘 要:元搜尋引擎可以很好解決傳統搜尋引擎的覆蓋率不全的問題,並且可以綜合多個傳統搜尋引擎的優勢。專門建立一個基於多個傳統的搜尋引擎的結果集之上的搜尋引擎,以提高搜尋服務質量,元搜尋引擎通過整合多個成員搜尋引擎的搜尋結果來提供自己的搜尋結果,在這個過程中就涉及到查詢轉換、成員搜尋引擎排程、搜尋結果排序合成等一系列關鍵技術。

  關鍵詞:元搜尋引擎;查詢轉換;引擎排程

  中圖分類號:TP393

  元搜尋引擎又稱集合型搜尋引擎。它並沒有自己的索引資料庫,也沒有抓取機器人,僅僅只是充當中間代理的作用。元搜尋引擎將多個單一的搜尋引擎整合在一起,提供統一的檢索介面,將使用者的檢索請求分別提交給多個獨立的搜尋引擎,同時檢索多個數據庫;並根據多個獨立搜尋引擎的檢索結果進行二次加工,如對檢索結果去重、排序等;然後再輸出給使用者由於元搜尋引擎整合了多個搜尋引擎的搜尋結果。元搜尋引擎通常具有比傳統的搜尋引擎更大的資訊覆蓋面,可以有效的提高查全率。

  元搜尋引擎可以劃分為三個模組部分:使用者請求端、後臺業務邏輯處理模組、結果重新顯示模組。使用者請求端負責與使用者的互動,接收使用者的請求,並把請求傳至後臺的服務模組處理。使用者請求端還負責處理使用者的個性化配置,如配置成員搜尋引擎的信任權重值等等使用者個性化配置。後臺業務邏輯處理模組的主要功能是負責將使用者的請求轉化為成員搜尋引擎所能理解的模式,並在接收成員搜尋引擎所返回來的結果後,對搜尋結果進行解析、提取、排序合成等處理。結果顯示主要負責最終結果的顯示,同時提供一些額外的效果以提供更好的使用者體驗,如將使用者檢索關鍵字分詞後高亮顯示等等[1]。

  元搜尋引擎雖然可以方便使用者同時檢索多個搜尋引擎,但是提高查全率的同時,也引入了新的問題:對於特定的使用者搜尋,有的成員搜尋引擎有較高的準確率,而有的則具有極低的準確率,即成員搜尋引擎的有效性存在較大的差異。如果排序合成演算法處理的不當,則容易淹沒滿足使用者檢索需求的搜尋結果。另外元搜尋引擎需要同時向多個成員搜尋引擎傳送請求並獲取檢索結果,然後再對搜尋結果進行整合,增加了時間損耗,也增加了使用者的檢索等待時間。所以如何解決好這兩個問題,是構建一個成功的元搜尋引擎的關鍵。由於元搜尋引擎的結果集成了多個成員搜尋引擎的搜尋結果,資訊量通常比較大。使用者通常不會對所有的結果進行遍歷,而是僅僅關注前幾條或者前幾頁的資訊。如何將使用者需要的結果儘可能的排在前面就顯得尤為重要。元搜尋引擎的排序合成正是完成對多個成員搜尋引擎的搜尋結果進行整合的模組,排序合成演算法的優劣將直接影響到元搜尋引擎的效率。因此如何對成員搜尋引擎的結果進行有效的整合成為元搜尋引擎的核心問題。

  1 元搜尋引擎關鍵技術

  元搜尋引擎通過整合多個成員搜尋引擎的搜尋結果來提供自己的搜尋結果,在這個過程中就涉及到查詢轉換、成員搜尋引擎排程、搜尋結果排序合成等一系列關鍵技術[25,26]。

  1.1 查詢轉換

  由於不同的成員搜尋引擎對於查詢的格式要求往往是不一樣的,因此元搜尋引擎系統在向成員搜尋引擎傳送檢索請求之前,先要將使用者輸入的檢索關鍵字轉換為各個成員搜尋引擎所規定的格式。例如編碼的轉換、特殊字元的處理等。

  除了提供最基本的查詢轉換之外,有的元搜尋引擎為了提高查詢的準確率,還提供了一些擴充套件的操作符和查詢語法以擴充使用者的查詢請求。這通常需要預先對使用者的檢索關鍵字進行處理,然後根據預定義的操作符和查詢語法的格式,將使用者的檢索關鍵字轉換為新的檢索關鍵字。例如有的搜尋引擎提供了“與”和“或”操作。為了提供更加專門化的檢索,有的搜尋引擎還會對使用者的檢索關鍵字進行分詞,然後根據每個分詞單元所屬的類別的資訊,來確定所要呼叫的成員搜尋引擎[1]。

  1.2 成員搜尋引擎排程

  每個搜尋引擎所擅長的領域通常有所不同,例如百度擅長中文搜尋,谷歌和必應擅長英文搜尋。而且每多呼叫一個成員搜尋都會消耗一定的系統資源,同時也會增加查詢延遲,增加使用者的等待時間。因此需要選擇合適的成員搜尋引擎來獲取滿足使用者檢索需求的搜尋結果。

  目前常用的成員搜尋引擎排程有兩種:一種是由使用者自定義所要呼叫的成員搜尋引擎。這種方式的優點是給予了使用者較大限度的選擇權,同時也免去了系統計算成員搜尋引擎排程資訊的損耗。但是每當使用者檢索不同類別的關鍵字時,往往需要重新指定成員搜尋引擎。但是大部分網際網路使用者通常不知道自己所檢索的關鍵字應該選擇那些成員搜尋引擎,因此具有較差的使用者體驗。另外一種是由系統決定選擇那些成員搜尋引擎。這種方式的優點是使用者檢索時不必預先指定成員搜尋引擎,具有較好的使用者體驗。但是系統往往需要大量的計算以確定每次使用者搜尋所需要排程的成員搜尋引擎。例如通過學習的策略來確定所要排程的成員搜尋引擎,往往需要預先用大量的資料來訓練演算法。這往往需要消耗大量的系統資源[2,3]。

  1.3 搜尋結果排序合成

  搜尋結果排序合成,就是對元搜尋引擎系統中整合的各個成員搜尋引擎的搜尋結果進行合成、去重和重排序的過程,這也是現在大多數元搜尋引擎系統的核心。搜尋結果排序合成一般分為三個過程:去重、合成、重排序。合併,就是將元搜尋引擎中各個成員搜尋引擎的搜尋結果進行整合的過程,在這個過程中,往往還要記錄一些其他的資訊,例如對於每個成員搜尋引擎可能需要記錄抓取的搜尋結果的總數、抓取到的搜尋結果總數等資訊,對於每條搜尋結果可能需要記錄所在的成員搜尋引擎、在原成員搜尋引擎中的位置等資訊。去重,就是將元搜尋引擎系統中整合的各個成員搜尋引擎中重複的搜尋結果進行去除的過程,在這個過程中往往也需要記錄一些其他的資訊,例如每條搜尋結果的“共識度”,即包含它的成員搜尋引擎的個數,不同的元搜尋引擎系統可能會採用不同的去重演算法,常見的去重方式有兩種,一種是僅僅根據搜尋結果的URL資訊來判斷是否是重複的,另一種除了根據URL資訊判斷之外,還根據具體的內容資訊來判斷是否是重複的資訊,例如對於原創和過載的文章,就認為是重複的。重排序,就是對於去重後的搜尋結果進行重新排序的過程。重排序往往採用重新計算每條搜尋結果的權重資訊,然後再根據權重資訊來重新排序。不同的元搜尋引擎系統往往考慮不同的因素和採取不同的演算法來進行權重的計算。常見的影響權重的因素有成員搜尋引擎的有效性、搜尋結果在原成員搜尋引擎中的位置、搜尋結果的摘要資訊和描述資訊與使用者檢索關鍵字之間的匹配度、搜尋結果在元搜尋引擎系統整合的成員搜尋引擎中的共識度等。常見的權重計算方式有兩種,一種是由使用者自定義相應的權重資訊,另一種是由元搜尋引擎系統本身根據相關資訊來計算每條搜尋結果的權重,例如機器學習演算法就是一種常被用來計算權重的演算法,通過採用大量的資料來訓練演算法以確定相應的引數,然後採用訓練後的演算法來進行權重資訊的計算[4]。

  參考文獻:

  [1]強弓,喻國寶,廖湖聲.一種元搜尋引擎的查詢結果處理模型[J].華南理工大學學報***自然科學版***,2004,32:47-51,57.

  [2]李村合,孟文傑.基於分類評價的元搜尋引擎排程策略[J].計算機工程與設計,2008,29***5***:1065-1066,1119.

  [3]張衛豐,徐寶文,周曉宇.基於遺傳演算法的搜尋引擎排程[J].微電子學與計算機,2001***4***:34-38.

  [4]楊春明,何天翔.元搜尋引擎的結果去重及排序研究[J].軟體,2012,33***6***:51-53.

  作者單位:湖南鐵道職業技術學院,湖南株洲 412001

點選下頁還有更多>>>