郭文俊,常桂然,喬世東
(1.山西大同大學數學與計算機科學學院,山西 大同 037009;2.東北大學計算中心,遼寧 沈陽 110004)
面向多Agent的引擎技術的研究
郭文俊1,常桂然2,喬世東1
(1.山西大同大學數學與計算機科學學院,山西 大同 037009;2.東北大學計算中心,遼寧 沈陽 110004)
長久以來,人類的發展離不開知識的獲取與發現。進入互聯網時代后,隨著Web信息量的急劇增加,人們需要一種技術手段,能夠使信息的獲取更加簡單、準確,搜索引擎就提供了這樣一個導航工具。然而隨著Internet的發展和信息搜索技術的不斷完善,傳統的搜索引擎已很難滿足用戶個性化的需求。因此在傳統搜索引擎和Agent技術的基礎上,筆者提出了一種用于Web信息搜索的基于多Agent的搜索引擎概念,它允許用戶在特定領域進行搜索,能夠有效的地提高搜索引擎的搜索質量。
搜索引擎;多Agent
互聯網技術的迅速發展,導致了Web信息量的急劇增加,在如今的大數據時代下如何使信息的獲取更加快捷、準確已經成了用戶選用搜索產品的標準,而傳統的模式如今卻也難以滿足用戶對數據量的需求。故此筆者提出了一種面向多 Agent的搜索引擎,它允許用戶在特定領域進行搜索并能夠有效的地提高搜索引擎的搜索質量。
1.1 搜索引擎相關概述
搜索引擎[1-2]的基本概念源于內達華州計算服務中心開發的一個Gopher搜索工具Veronica,隨后得到快速的發展。搜索引擎的出現改變了人們獲取信息的方式,利用搜索引擎可以快速、準確地找到需要的信息。搜索引擎是指根據一定的策略搜集互聯網上的信息并對信息進行組織和處理,最后將處理后的信息顯示給用戶并為用戶提供檢索服務的系統。
1.2 搜索引擎的類別
搜索引擎(Search Engine)主要包括全文搜索引擎、垂直搜索引擎、目錄式搜索引擎和元搜索引擎這四類[3]。
(1) 全文搜索引擎是目前流行的大型搜索引擎普遍采用的形式。所謂全文,就是用戶可以去搜索一篇文章的任何部分,不論是標題,還是正文,Google就是優秀的全文搜索引擎。
(2) 垂直搜索引擎區別于一般的搜索引擎,它是一種專注于特定領域的搜索引擎系統,主要應用于購物搜索(shopping search)、機票搜索(air search)、旅游搜索(tourism search)等。
(3) 目錄式搜索引擎是將網站進行人工歸類,并建立目錄數據庫,如果用戶想要找到一個網站,那么就順著該分類一直找下去,Yahoo就是目錄式搜索引擎。
(4) 元搜索引擎是將用戶發來的查詢請求轉發給各大搜索引擎網站,然后將它們的結果匯總并返回給用戶。比較有代表性的是Vivisimo,InfoSpace等。
1.3 搜索引擎的工作原理
搜索引擎實際搜索的是預先整理好的且存儲在索引數據庫中的網頁,而且搜索引擎也不能真正理解網頁上的內容它只能機械的匹配網頁上的文字。其基本的流程如圖1所示。

圖1 搜索引擎流程圖Fig.1 Flow chart of Search Engine
用戶輸入及用戶輸入想要查詢的信息,當然用戶的輸入方式也會影響到查詢的結果和精度。
查詢處理即當用戶輸入關鍵詞后在索引數據庫中搜索,搜索系統程序從網頁索引數據庫中找到符合該關鍵詞的所有相關網頁然后返還給用戶。
預處理即是進行頁面分類和建立索引數據庫的過程。頁面分類模塊選用能夠表達頁面主題的詞作為Web頁面的關鍵詞,并以此關鍵詞對個頁面進行分類。建立索引數據庫是先從收集回來的網頁中提取相關的網頁信息,然后根據相關度算法計算該網頁中頁面文字及超鏈中每一個關鍵詞的相關度,最后利用計算得的相關度信息建立網頁索引數據庫。
網頁搜索即從互聯網上抓取網頁,利用能夠從互聯網上自動收集網頁的Spider程序自動訪問互聯網。從搜索引擎的工作流程中可以看出,實現搜索引擎的關鍵在于如何有效地在網絡上進行信息收集。搜索引擎的信息收集方式一般包括人工收集和自動收集兩種。其中人工收集是由專門的人員跟蹤和選擇有用的Web站點和頁面,并按規范方式進行分類、建立索引數據庫;而自動收集則是通過信息收集程序自動完成信息的收集工作,也是目前最流行的一種收集方式。
2.1 多Agent引擎研究背景
隨著 Internet的迅猛發展和廣泛應用,網絡上出現了“信息過載”的現象,大量信息涌向用戶給人們的搜索行為帶來極大的不便,怎樣才能在浩瀚的信息資源中找到自己需要的內容,成了用戶關心的問題。基于多 Agent的搜索引擎技術則能夠按照用戶的意圖,從資源廣泛的Internet中自動搜索必要的信息,然后呈現給用戶。筆者的此次設計是在傳統的搜索引擎中加入了 Agent機制,并在用戶端形成了一個個性化層,通過用戶和多 Agent之間的相互協作,智能地適應用戶興趣的變化和環境的變化。
2.2 Agent技術
Agent一詞出現于20世紀70年代的人工智能中,是由麻省理工學院(Massachusetts Institute of Technology)的Minsky在《思維的社會》一書中提出的,他認為 Agent是一種實體,而且是一種存在于某一特定環境中的智能實體。該實體可以與環境中的其它實體進行某種協商從而得到問題的解。這些具有社會交互性和智能性的實體很快便被應用于計算機領域尤其是在基于網絡的分布式系統中Agent表現出了明顯的實效性。由于 Agent的多樣性,很難為其定制一個統一的結構,下面僅給出一個適用于本系統的具有感知和交互功能的簡單結構模型,其結構如圖2所示,其中的API層將Agent與他的資源、技能的物理實現聯系起來[4-5]。
2.3 多Agent引擎的主要模塊
2.3.1 客戶端多Agent模塊的設計
客戶端多Agent的主要作用是優化用戶的興趣模型,主要有三個部分組成[6-8]:用戶興趣分析Agent,興趣處理Agent及搜索行為分析Agent。
(1) 用戶興趣分析Agent,用來分析用戶的直接興趣模型,在搜索引擎初始化時利用機器學習等人工智能技術,總結出用戶的興趣模型。
(2) 興趣處理Agent,將用戶行為分析Agent和用戶興趣分析Agent處理的結果提交給服務器。
(3) 搜索行為分析Agent,通過對被訪問過的文檔進行分析學習來猜測用戶的需求,并推斷其下一步可能的行為,采用啟發式規則來判斷用戶對一個文檔的興趣程度。
2.3.2 服務器端智能Robot的設計
智能Robot[9]以一個或一組URL為瀏覽起點,對相應的WWW文檔進行訪問,Robot的結構[10-11]如圖3所示。

圖2 Agent的概念結構Fig.2 Conceptual structure of Agent

圖3 智能Robot結構Fig.3 The framework of the Robot Based on Agent
文檔訪問Agent的功能比較簡單,它從訪問代理引擎那里接URL,通過HTTP協議去訪問相應的WWW文檔。
路徑選擇Agent負責提取WWW文檔內的URL信息,以選擇瀏覽的路徑。
訪問控制 Agent的主要功能是控制文檔訪問代理對WWW資源的訪問,以防止造成服務器和網絡的堵塞。
2.4 多Agent引擎結構
基于多Agent的搜索引擎系統由一個或更多檢索服務代理組成,每個用戶使用一個用戶Agent和若干個索引訪問 Agent[12-14]。它們是由多 Agent模塊、頁面分析處理Agent、智能Robot等幾個部分組成。其基本的引擎設計結構如圖4。
2.5 多Agent引擎的研究意義
將多 Agent技術引入到信息搜索領域,利用Agent本身具有的知識、目標及推理、決策、規劃、控制等能力可以實現信息搜索的智能化,進而實現信息檢索的高精度、高速度、低開銷。搜索引擎是一個涉及到多個領域的復雜技術。一方面,它應用到一些已經成熟的技術,把它們按照搜索引擎系統的要求進行改進;另一方面,有許多搜索引擎自己特有的技術也在不斷涌現,如超鏈分析、用戶行為跟蹤、用戶行為分析等。

圖4 基于多Agent的搜索引擎結構Fig.4 The framework of the Search Engine based on the Multi-Agent
為了驗證系統模型設計的合理性,構造了實驗仿真平臺。實驗硬件要求:Intel i3-4170 CPU,4GB內存;軟件環境:Microsoft Windows XP操作系統,與原來的搜索策略相比較,用戶在相同環境下進行搜索,會得到更多更接近自己興趣目的搜索結果。用戶對不同搜索策略的滿意程度見圖5所示。

圖5 不同搜索策略滿意程度比較Fig.5 Comparison of different search strategies satisfaction
本文描述了一個搜索引擎的解決方案,并提出了一個基于多 Agent的搜索引擎模型,詳細地描述了這個模型的實現原理。該系統的設計目標是實現高性能的并行分布式處理,對其作相應的修改就可以用來解決類似的問題。在今后的工作中,我們將使搜索引擎中的 Agent能夠根據比如訪問代價、訪問速度等因素來選擇在Web上已經存在的各個檢索服務的索引并能夠自動調用信息檢索代理[15-16],當然筆者將進一步改進這種模型使其更試用且更易于擴展。
[1]Miller M E.Intelligent information retrieval from the WWW [C].Canada Banff Centre: UM-999, 1999.
[2]Wooldridge M, Jennings N.R.Intelligent agents: Theory and practice[J].The Knowledge Engineering Review, 1995, 10(2): 115-152.
[3]Salton G, McGill M J.Introduction to Modern information Retrieval [M].New York: McGraw-Hill, 1983.
[4]阮衛華.搜索引擎優化技術的研究與實現[J].軟件, 2014, 35(7): 72-77.Ruan W H.Research and implementation of search engine optimization technology[J].Software, 2014, 35(7): 72-77.(in Chinese)
[5]鄭曉健.面向領域主題的智能搜索引擎設計[J].軟件, 2014, 35(3): 4-5.Zheng X J.An Intelligent Search Engine Design for Topic Oriented[J].Software, 2014, 35(3): 4-5.(in Chinese)
[6]Ridge E.Curry E.A Roadmap of Nature-inspired Systems Research and Development[J].Multi-agent and Grid System, 2007, 3(1): 3-8.
[7]張功耀, 黃水松, 王小棟.基于多Agent的搜索引擎模型[J].計算機工程與設計, 2002, 23(10): 66-69.Zhang G Y, Huang S S, Wang X D.Search Engine Model Based on Multi-Agent[J].Computer Engineering and Design, 2002, 23(10): 66-69.(in Chinese)
[8]毛新軍, 胡翠云, 孫躍坤, 王懷民.面向Agent程序設計的研究[J].軟件學報, 2012, 23(11): 2885-2904.Mao X J, Hu C Y, Sun Y K, Wang H M.Research on Agent-Oriented Programming[J].Journal of Software, 2012, 23(11): 2885-2904.(in Chinese)
[9]Wooldridge, Nicholas R.Jennings.Intelligent Agents: Theory and Practice [J].Knowledge Engineering Review, 1995, 10(2): 115-152.
[10]劉曉婉, 胡燕祝, 艾新波.開源中文分詞器在web搜索引擎中的應用[J].軟件, 2013, 34(3): 80-83.Liu X W, Hu Y Z, Ai X B.The Application of Open Source Chinese Tokenize in Web Search Engine[J].Software, 2013, 34(3): 80-83.(in Chinese)
[11]胡曉敏.無線傳感器網絡Agent數據分流策略[J].新型工業化, 2013, 3(4): 103-112.HU X M.Agent Data Separation Strategy for Wireless Sensor Networks[J].The Journal of New Industrialization, 2013, 3(4): 103-112.(in Chinese)
[12]劉萬輝, 楊曄.基于Android 系統的溫室智能監控系統的設計開發[J].軟件, 2013, 34(5): 1-3.Liu W H, Yang H.Design and Development of Intelligent Monitoring for Greenhouse Based on Android System[J].Software, 2013, 34(5): 1-3.(in Chinese)
[13]鄭力明, 李曉冬.淺談面向Agent 的軟件工程[J].軟件, 2014, 35(10): 51-53.Zheng L M, Li X D.Discussion on the Agent-Oriented Software Engineering[J].Software, 2014, 35(10): 51-53.(in Chinese)
[14]徐桓, 孫瑜.基于改進QPSO的單任務Agent聯盟生成[J].軟件, 2015, 36(2): 1-4.Xu H, Sun Y.Improved QPSO to Solve Single Task Agent Coalition[J].Software, 2015, 36(2): 1-4.(in Chinese)
[15]宋玲玲, 楊銀剛.基于平行控制的異構多Agent機器人系統控制方法[J].軟件, 2015, 36(3): 52-58.Song L L, Yang Y G.A Kind of Multi-Agent System Control Method Based on Parallel Control[J].Software, 2015, 36(3): 52-58.(in Chinese)
[16]黃啟昭.基于Agent技術的物流管理信息系統設計研究[J].軟件, 2013, 34(8): 34-35.Huang Q Z.Design of Logistics Management Information System Based on Agent Technology[J].Software, 2013, 34(8): 34-35.(in Chinese)
Research on Engine Technology Based on Multi-Agent
GUO Wen-jun1,CHANG Gui-ran2,QIAO Shi-dong1
(1.College of Mathematics and Computer Science, Shanxi Datong University, Datong 037009; 2.Computing Center, Northeastern University, Shenyang 110004)
All the time, human’s development is inseparable from the process of knowledge acquisition and discovery.After entering the Internet era, with the dramatic increase in Web information, people need a technique which can make the access to information more simply and accurately.Search engines provide such an effective navigation tool.However, with the continued development of the Internet and information.It is more difficult for search engines to keep an up-to-date and comprehensive search index.Therefore, this paper proposes the concept of intelligent search engines based on multi-Agent technology by the deeply studying of the traditional search engine and Agent technology.It can effectively improve the search engines’ search quality by allowing users to perform searches in a particular domain and providing customized features.
Search engines; Multi-Agent; Intelligence search
TP391.3
A
10.3969/j.issn.1003-6970.2017.03.028
郭文俊(1986-)男,漢族,山西大同,碩士,助教,研究方向為搜索引擎技術,人工智能;常桂然(1946-)男,東北大學教授,研究方向為信息安全。喬世東,男,山西大同大學數學系教授,研究方向為應用數學。
本文著錄格式:郭文俊,常桂然,喬世東.面向多Agent的引擎技術的研究[J].軟件,2017,38(3):136-139