郭文俊,常桂然,喬世東
(1.山西大同大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,山西 大同 037009;2.東北大學(xué)計(jì)算中心,遼寧 沈陽 110004)
面向多Agent的引擎技術(shù)的研究
郭文俊1,常桂然2,喬世東1
(1.山西大同大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,山西 大同 037009;2.東北大學(xué)計(jì)算中心,遼寧 沈陽 110004)
長久以來,人類的發(fā)展離不開知識的獲取與發(fā)現(xiàn)。進(jìn)入互聯(lián)網(wǎng)時代后,隨著Web信息量的急劇增加,人們需要一種技術(shù)手段,能夠使信息的獲取更加簡單、準(zhǔn)確,搜索引擎就提供了這樣一個導(dǎo)航工具。然而隨著Internet的發(fā)展和信息搜索技術(shù)的不斷完善,傳統(tǒng)的搜索引擎已很難滿足用戶個性化的需求。因此在傳統(tǒng)搜索引擎和Agent技術(shù)的基礎(chǔ)上,筆者提出了一種用于Web信息搜索的基于多Agent的搜索引擎概念,它允許用戶在特定領(lǐng)域進(jìn)行搜索,能夠有效的地提高搜索引擎的搜索質(zhì)量。
搜索引擎;多Agent
互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,導(dǎo)致了Web信息量的急劇增加,在如今的大數(shù)據(jù)時代下如何使信息的獲取更加快捷、準(zhǔn)確已經(jīng)成了用戶選用搜索產(chǎn)品的標(biāo)準(zhǔn),而傳統(tǒng)的模式如今卻也難以滿足用戶對數(shù)據(jù)量的需求。故此筆者提出了一種面向多 Agent的搜索引擎,它允許用戶在特定領(lǐng)域進(jìn)行搜索并能夠有效的地提高搜索引擎的搜索質(zhì)量。
1.1 搜索引擎相關(guān)概述
搜索引擎[1-2]的基本概念源于內(nèi)達(dá)華州計(jì)算服務(wù)中心開發(fā)的一個Gopher搜索工具Veronica,隨后得到快速的發(fā)展。搜索引擎的出現(xiàn)改變了人們獲取信息的方式,利用搜索引擎可以快速、準(zhǔn)確地找到需要的信息。搜索引擎是指根據(jù)一定的策略搜集互聯(lián)網(wǎng)上的信息并對信息進(jìn)行組織和處理,最后將處理后的信息顯示給用戶并為用戶提供檢索服務(wù)的系統(tǒng)。
1.2 搜索引擎的類別
搜索引擎(Search Engine)主要包括全文搜索引擎、垂直搜索引擎、目錄式搜索引擎和元搜索引擎這四類[3]。
(1) 全文搜索引擎是目前流行的大型搜索引擎普遍采用的形式。所謂全文,就是用戶可以去搜索一篇文章的任何部分,不論是標(biāo)題,還是正文,Google就是優(yōu)秀的全文搜索引擎。
(2) 垂直搜索引擎區(qū)別于一般的搜索引擎,它是一種專注于特定領(lǐng)域的搜索引擎系統(tǒng),主要應(yīng)用于購物搜索(shopping search)、機(jī)票搜索(air search)、旅游搜索(tourism search)等。
(3) 目錄式搜索引擎是將網(wǎng)站進(jìn)行人工歸類,并建立目錄數(shù)據(jù)庫,如果用戶想要找到一個網(wǎng)站,那么就順著該分類一直找下去,Yahoo就是目錄式搜索引擎。
(4) 元搜索引擎是將用戶發(fā)來的查詢請求轉(zhuǎn)發(fā)給各大搜索引擎網(wǎng)站,然后將它們的結(jié)果匯總并返回給用戶。比較有代表性的是Vivisimo,InfoSpace等。
1.3 搜索引擎的工作原理
搜索引擎實(shí)際搜索的是預(yù)先整理好的且存儲在索引數(shù)據(jù)庫中的網(wǎng)頁,而且搜索引擎也不能真正理解網(wǎng)頁上的內(nèi)容它只能機(jī)械的匹配網(wǎng)頁上的文字。其基本的流程如圖1所示。
圖1 搜索引擎流程圖Fig.1 Flow chart of Search Engine
用戶輸入及用戶輸入想要查詢的信息,當(dāng)然用戶的輸入方式也會影響到查詢的結(jié)果和精度。
查詢處理即當(dāng)用戶輸入關(guān)鍵詞后在索引數(shù)據(jù)庫中搜索,搜索系統(tǒng)程序從網(wǎng)頁索引數(shù)據(jù)庫中找到符合該關(guān)鍵詞的所有相關(guān)網(wǎng)頁然后返還給用戶。
預(yù)處理即是進(jìn)行頁面分類和建立索引數(shù)據(jù)庫的過程。頁面分類模塊選用能夠表達(dá)頁面主題的詞作為Web頁面的關(guān)鍵詞,并以此關(guān)鍵詞對個頁面進(jìn)行分類。建立索引數(shù)據(jù)庫是先從收集回來的網(wǎng)頁中提取相關(guān)的網(wǎng)頁信息,然后根據(jù)相關(guān)度算法計(jì)算該網(wǎng)頁中頁面文字及超鏈中每一個關(guān)鍵詞的相關(guān)度,最后利用計(jì)算得的相關(guān)度信息建立網(wǎng)頁索引數(shù)據(jù)庫。
網(wǎng)頁搜索即從互聯(lián)網(wǎng)上抓取網(wǎng)頁,利用能夠從互聯(lián)網(wǎng)上自動收集網(wǎng)頁的Spider程序自動訪問互聯(lián)網(wǎng)。從搜索引擎的工作流程中可以看出,實(shí)現(xiàn)搜索引擎的關(guān)鍵在于如何有效地在網(wǎng)絡(luò)上進(jìn)行信息收集。搜索引擎的信息收集方式一般包括人工收集和自動收集兩種。其中人工收集是由專門的人員跟蹤和選擇有用的Web站點(diǎn)和頁面,并按規(guī)范方式進(jìn)行分類、建立索引數(shù)據(jù)庫;而自動收集則是通過信息收集程序自動完成信息的收集工作,也是目前最流行的一種收集方式。
2.1 多Agent引擎研究背景
隨著 Internet的迅猛發(fā)展和廣泛應(yīng)用,網(wǎng)絡(luò)上出現(xiàn)了“信息過載”的現(xiàn)象,大量信息涌向用戶給人們的搜索行為帶來極大的不便,怎樣才能在浩瀚的信息資源中找到自己需要的內(nèi)容,成了用戶關(guān)心的問題?;诙?Agent的搜索引擎技術(shù)則能夠按照用戶的意圖,從資源廣泛的Internet中自動搜索必要的信息,然后呈現(xiàn)給用戶。筆者的此次設(shè)計(jì)是在傳統(tǒng)的搜索引擎中加入了 Agent機(jī)制,并在用戶端形成了一個個性化層,通過用戶和多 Agent之間的相互協(xié)作,智能地適應(yīng)用戶興趣的變化和環(huán)境的變化。
2.2 Agent技術(shù)
Agent一詞出現(xiàn)于20世紀(jì)70年代的人工智能中,是由麻省理工學(xué)院(Massachusetts Institute of Technology)的Minsky在《思維的社會》一書中提出的,他認(rèn)為 Agent是一種實(shí)體,而且是一種存在于某一特定環(huán)境中的智能實(shí)體。該實(shí)體可以與環(huán)境中的其它實(shí)體進(jìn)行某種協(xié)商從而得到問題的解。這些具有社會交互性和智能性的實(shí)體很快便被應(yīng)用于計(jì)算機(jī)領(lǐng)域尤其是在基于網(wǎng)絡(luò)的分布式系統(tǒng)中Agent表現(xiàn)出了明顯的實(shí)效性。由于 Agent的多樣性,很難為其定制一個統(tǒng)一的結(jié)構(gòu),下面僅給出一個適用于本系統(tǒng)的具有感知和交互功能的簡單結(jié)構(gòu)模型,其結(jié)構(gòu)如圖2所示,其中的API層將Agent與他的資源、技能的物理實(shí)現(xiàn)聯(lián)系起來[4-5]。
2.3 多Agent引擎的主要模塊
2.3.1 客戶端多Agent模塊的設(shè)計(jì)
客戶端多Agent的主要作用是優(yōu)化用戶的興趣模型,主要有三個部分組成[6-8]:用戶興趣分析Agent,興趣處理Agent及搜索行為分析Agent。
(1) 用戶興趣分析Agent,用來分析用戶的直接興趣模型,在搜索引擎初始化時利用機(jī)器學(xué)習(xí)等人工智能技術(shù),總結(jié)出用戶的興趣模型。
(2) 興趣處理Agent,將用戶行為分析Agent和用戶興趣分析Agent處理的結(jié)果提交給服務(wù)器。
(3) 搜索行為分析Agent,通過對被訪問過的文檔進(jìn)行分析學(xué)習(xí)來猜測用戶的需求,并推斷其下一步可能的行為,采用啟發(fā)式規(guī)則來判斷用戶對一個文檔的興趣程度。
2.3.2 服務(wù)器端智能Robot的設(shè)計(jì)
智能Robot[9]以一個或一組URL為瀏覽起點(diǎn),對相應(yīng)的WWW文檔進(jìn)行訪問,Robot的結(jié)構(gòu)[10-11]如圖3所示。
圖2 Agent的概念結(jié)構(gòu)Fig.2 Conceptual structure of Agent
圖3 智能Robot結(jié)構(gòu)Fig.3 The framework of the Robot Based on Agent
文檔訪問Agent的功能比較簡單,它從訪問代理引擎那里接URL,通過HTTP協(xié)議去訪問相應(yīng)的WWW文檔。
路徑選擇Agent負(fù)責(zé)提取WWW文檔內(nèi)的URL信息,以選擇瀏覽的路徑。
訪問控制 Agent的主要功能是控制文檔訪問代理對WWW資源的訪問,以防止造成服務(wù)器和網(wǎng)絡(luò)的堵塞。
2.4 多Agent引擎結(jié)構(gòu)
基于多Agent的搜索引擎系統(tǒng)由一個或更多檢索服務(wù)代理組成,每個用戶使用一個用戶Agent和若干個索引訪問 Agent[12-14]。它們是由多 Agent模塊、頁面分析處理Agent、智能Robot等幾個部分組成。其基本的引擎設(shè)計(jì)結(jié)構(gòu)如圖4。
2.5 多Agent引擎的研究意義
將多 Agent技術(shù)引入到信息搜索領(lǐng)域,利用Agent本身具有的知識、目標(biāo)及推理、決策、規(guī)劃、控制等能力可以實(shí)現(xiàn)信息搜索的智能化,進(jìn)而實(shí)現(xiàn)信息檢索的高精度、高速度、低開銷。搜索引擎是一個涉及到多個領(lǐng)域的復(fù)雜技術(shù)。一方面,它應(yīng)用到一些已經(jīng)成熟的技術(shù),把它們按照搜索引擎系統(tǒng)的要求進(jìn)行改進(jìn);另一方面,有許多搜索引擎自己特有的技術(shù)也在不斷涌現(xiàn),如超鏈分析、用戶行為跟蹤、用戶行為分析等。
圖4 基于多Agent的搜索引擎結(jié)構(gòu)Fig.4 The framework of the Search Engine based on the Multi-Agent
為了驗(yàn)證系統(tǒng)模型設(shè)計(jì)的合理性,構(gòu)造了實(shí)驗(yàn)仿真平臺。實(shí)驗(yàn)硬件要求:Intel i3-4170 CPU,4GB內(nèi)存;軟件環(huán)境:Microsoft Windows XP操作系統(tǒng),與原來的搜索策略相比較,用戶在相同環(huán)境下進(jìn)行搜索,會得到更多更接近自己興趣目的搜索結(jié)果。用戶對不同搜索策略的滿意程度見圖5所示。
圖5 不同搜索策略滿意程度比較Fig.5 Comparison of different search strategies satisfaction
本文描述了一個搜索引擎的解決方案,并提出了一個基于多 Agent的搜索引擎模型,詳細(xì)地描述了這個模型的實(shí)現(xiàn)原理。該系統(tǒng)的設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)高性能的并行分布式處理,對其作相應(yīng)的修改就可以用來解決類似的問題。在今后的工作中,我們將使搜索引擎中的 Agent能夠根據(jù)比如訪問代價(jià)、訪問速度等因素來選擇在Web上已經(jīng)存在的各個檢索服務(wù)的索引并能夠自動調(diào)用信息檢索代理[15-16],當(dāng)然筆者將進(jìn)一步改進(jìn)這種模型使其更試用且更易于擴(kuò)展。
[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]阮衛(wèi)華.搜索引擎優(yōu)化技術(shù)的研究與實(shí)現(xiàn)[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]鄭曉健.面向領(lǐng)域主題的智能搜索引擎設(shè)計(jì)[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].計(jì)算機(jī)工程與設(shè)計(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程序設(shè)計(jì)的研究[J].軟件學(xué)報(bào), 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搜索引擎中的應(yīng)用[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]胡曉敏.無線傳感器網(wǎng)絡(luò)Agent數(shù)據(jù)分流策略[J].新型工業(yè)化, 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 系統(tǒng)的溫室智能監(jiān)控系統(tǒng)的設(shè)計(jì)開發(fā)[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]徐桓, 孫瑜.基于改進(jìn)QPSO的單任務(wù)Agent聯(lián)盟生成[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]宋玲玲, 楊銀剛.基于平行控制的異構(gòu)多Agent機(jī)器人系統(tǒng)控制方法[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技術(shù)的物流管理信息系統(tǒng)設(shè)計(jì)研究[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-)男,漢族,山西大同,碩士,助教,研究方向?yàn)樗阉饕婕夹g(shù),人工智能;常桂然(1946-)男,東北大學(xué)教授,研究方向?yàn)樾畔踩淌罇|,男,山西大同大學(xué)數(shù)學(xué)系教授,研究方向?yàn)閼?yīng)用數(shù)學(xué)。
本文著錄格式:郭文俊,常桂然,喬世東.面向多Agent的引擎技術(shù)的研究[J].軟件,2017,38(3):136-139