●張玉霞(寧波大學 圖書館,浙江 寧波 315211)
科技工作者在使用文獻平臺查詢文獻的時候,往往會遇到這樣的問題:在鍵入關鍵詞以后,一些與這個關鍵詞不相關或者相關度比較低的結果也都會出現在檢索頁面上,使得人們不得不在這些結果中人工篩選,耗費大量的時間,甚至有時還找不到需要的結果。產生這種狀況的原因是搜索引擎只進行搜索詞匯的匹配,并沒有考慮用戶的搜索目的。信息推送技術(Push)即是在這樣的背景下應運而生。信息推送模式具有及時性、應用面廣、對用戶沒有特殊技術要求的優點;但缺點是信息針對性差,難以滿足用戶的個性化需求。[1]
本文首先給出了一個完整的智能多Agent科技文獻模糊協作推送系統模型結構,然后討論了利用學習Agent形成用戶模糊興趣庫的過程及方法,并最終形成了利用智能多Agent主動向用戶提供所需信息的一種模糊智能文獻推送系統。該系統在按照用戶明確的要求提供所需信息的基礎上,以隱性方式對用戶訪問各種資源所留下的痕跡進行分析,建立并形成了用戶真實興趣和關注領域庫,進而準確、及時、高效地為用戶提供最符合用戶興趣和要求的有價值的科技文獻信息。
Agent實際上是一類代表其設計者或使用者實現一系列目標的計算實體或程序,不僅具有在動態環境下感知周圍環境的能力,而且能自治地連續運行。[2-4]Agent處于環境中,它的自治能力使得它不依賴于人工的干預就能做出智能和靈活的反應,響應外界環境的變化。Agent最基本的特性包括自治性、社交能力、響應性和主動性。[5]從軟件智能化的角度看,具有上述特征的Agent是自控的、能并發執行的軟件過程。它們封裝了某些狀態和知識,并能經由消息發送與其它Agent通信,可視為分布的對象技術的自然延伸。[6]
Agent能夠感知環境的變化并能夠對這種變化做出自主的反應,因此其具有自適應性和智能性。但單個智能Agent系統解決問題的能力尚待加強,因單個智能Agent的能力受其知識、計算資源及它與其他主體之間相互關系的制約。為解除這種限制,由此形成了利用多個自主或半自主Agent的交互及合作,在整體上實現復雜問題求解的多主體系統(Multi-Agent System,MAS)。多主體系統是近年來人工智能的研究熱點,從物理拓撲上看,MAS是由多個Agent松散耦合的大型網絡。系統中的各Agent要對熟悉的環境做出各自迅速的響應,因此具有自主性;同時能夠協調與其它Agent的沖突,具有社會性;具有不同目標的各個Agent必須相互協作、協同和協商,對未完成問題最終做出決策,因此也具有協作性。[2]
所謂信息推送技術,就是通過搜索引擎自動搜索用戶所需的信息,并將這些信息傳送給用戶的技術。推送系統具有時效性、主動性和關注用戶興趣的特點,實現了信息主動尋找用戶的目的。個性化信息推送服務主要有兩種形式:(1) 給用戶提供專門定制的個性化信息服務,滿足用戶個人的不同需求;(2)主動式的信息推送服務:即系統主動將信息推送給用戶。[7-9]
將Agent技術和個性化信息推送服務結合源于Agent的主動性、智能性、交互性、社會性等特性,因為這些特性比較全面地體現了個性化信息推送服務的特點,從而為其在個性化信息推送的應用提供了可能。然而在實際應用中,最主要和關鍵的問題是推送技術中如何對信息進行分類和整理。因為當前互聯網時代擁有海量的文獻信息資源,大量信息難以用人工處理,但用計算機進行自動處理如果處理不好,也會導致最終無法準確地確定推送對象以及推送內容。基于此,有必要研究將Agent技術和個性化信息推送結合的服務模式,才有可能使基于Agent的個性化信息推送服務得以成功應用。研究表明,其中的一種有效模式就是通過分析用戶興趣,挖掘并建立用戶模型,利用智能多Agent技術、問題過濾與反饋技術、數據挖掘等技術形成真正的個性化推送系統。

圖 基于智能多Agent的科技文獻模糊協作推送系統模型結構
前已述及,MAS具有開放分布式松散耦合的網絡環境,相對獨立自制的智能Agent處于每個網絡節點上。為了在工作中形成整體問題的解決方案,在多個彼此在邏輯上相互獨立的智能Agent之間,需要通過共享知識、任務和中間結果并一起協同工作。獨立不僅意味著控制、運算數據是分布式的,也意味著知識在邏輯上或者地理上也是分布式的,從而問題可以一起被分擔,而松散耦合則表明每個智能Agent都用更多的時間在進行知識處理或自主計算,在網絡上傳遞的不是中間結果,而是由移動Agent所攜帶的最終結果。因此,個性化推送系統采用Agent技術后,即可將一個本身靜態的系統轉變成一個有效的、由用戶需求驅動的動態信息平臺。
本文提出的文獻推送模型如圖,用多個Agent通過協同合作完成系統推送任務。
基于智能Agent的科技文獻協作推送系統模型從結構上分為三個區域:用戶域、系統域和資源域,其上運行著相同的Agent運行支撐環境以及不同功能的Agent:[2]
(1) 界面及用戶Agent(IA/UA)。界面及用戶Agent處于系統前端,是用戶與系統人機交互的接口。其基本功能是:接收用戶的指令并傳遞收集到的相關信息,根據用戶的需求變化領會用戶的檢索意圖,并生成及更新用戶興趣庫,負責協調整個系統完成用戶要求的任務并顯示最終搜索結果。
(2) 數據傳輸Agent(DTA)。負責在用戶和系統服務器之間以及服務器間直接傳遞各類數據信息。
(3) 系統 Agent(SA)。系統 Agent負責生成新注冊用戶的用戶Agent;負責協調其他Agent之間的交互、協作與交流,因此是檢索信息的搜集與決策中心。
(4) 信息分析Agent(IAA)。IAA負責分類整理駐留于資源域的監控Agent送來的數據,并按照設定的方式將處理結果存儲或更新至領域庫。
(5) 服務器監控Agent(SMA)。SMA負責監視文獻更新之情況,有更新時立即將變動信息通知過濾Agent,并將新增文獻信息等重要相關信息通過數據傳輸Agent主動報告給系統服務器上的信息分析Agent。
(6) 數據挖掘Agent(DMA)。DMA根據給定的挖掘算法,對從用戶Agent過來的數據傳輸Agent所傳送的用戶信息以及文獻信息進行深層次挖掘,挖掘出的文獻結果信息通過DTA發送給推送Agent。
(7) 學習Agent(LA)。接收用戶Agent所記錄的用戶相關性反饋信息,根據這些顯式或隱式的信息學習并發現用戶興趣,學習結果用于更新修改用戶興趣庫和領域模型庫。
(8) 檢索 Agent(SA)。[2]SA 有兩方面的作用,一是根據指令利用搜索引擎在推送平臺中搜集與領域相關的各類文獻;二是對文獻信息共享平臺中的資源數據庫進行定時信息掃描,以保證將掃描到的數據變化結果能夠被用戶利用。
(9) 過濾Agent(FA)。FA的主要功能是對檢索文獻進行分析,抽取文檔特征,更新用戶興趣庫和領域模型庫,對新增文獻進行提取新的主題概念和關鍵詞等相關分析,并將其加入領域模型庫。
(10) 推送Agent(PA)。當每隔設定的時間到或當增加的文獻達到一定數量時,啟動PA進行推送文檔的選擇:通過選擇比較領域模型與用戶興趣模型,按照規定的推送算法尋找并增加相似度最大的若干文檔推送給感興趣的用戶。
(11) 用戶模糊興趣庫(UFIL)。UFIL記錄反映用戶各興趣點的模型。通過比較過濾Agent所提供的領域相關信息文檔的結構化特征,為推送Agent提供用戶的興趣模型,推送Agent根據用戶模糊興趣庫比較用戶之間的相似性,從而也可實現向相似用戶推送相關文檔。
(12) 領域模型庫(FML)。在FML中,通過選擇領域的主題詞及關鍵詞等領域信息作為其基本的興趣點,用戶據此可形成用戶模型的基礎框架。此外,FML還可為檢索Agent調用其他搜索引擎提供相關關鍵詞,過濾Agent根據FML可分析文檔特征,從而形成文檔的結構化表示,然后再對文獻與各主題詞的隸屬度進行計算,進而實現對文獻的分類。
智能Agent個性化信息搜索的核心是用戶興趣模式的發現,其由學習Agent負責完成。
現有大部分推送系統存在的一個主要問題是對用戶和文獻描述過于簡單,它們的屬性描述和表達都很不充分。比如用戶的興趣程度本身是個模糊的概念,因此建立用戶模糊興趣模型就顯得非常必要。本文將文獻在電子商務推送系統中使用的方法借鑒到文獻推送系統,結合Agent技術形成了用模糊方法來獲取用戶興趣模式的設計思路。
科技文獻隸屬函數的設計是用戶模糊興趣庫產生的第一步。為提高文獻屬性描述的精確度,需要采用模糊數即[0,1]區間值對文獻屬性進行描述。由于即使是具有同樣研究主題的文獻,因其擁有不同的屬性,其價值本身也會有很大的差別。因此在將文獻信息推送給用戶時,應根據文獻的閱讀率、引用率以及評價等價值信息對其進行排隊,排序較高的應獲得優先的位階。
設文獻U屬性集為A={A1,A2,…,Ai,…,An},屬性Ai的初值可由m位專家估計給出,記第k位專家給出的估計值為:Sk(Ai)(i=1,2,…n;k=1,2,…m),則屬性隸屬度可寫為:

這里,屬性Ai既可代表專家評分或者讀者對文獻的評分值,也可代表文獻的引用率等受關注程度,或者代表文獻來源的影響因子及其收錄情況等屬性信息。
文獻推送系統中的興趣度,顧名思義,是指用戶對某一(類)文獻的興趣強弱,它直接反應出了用戶對文獻的關注程度。用戶興趣度的計算和表示以及模糊興趣庫的建立通常采用顯式和隱式兩種方式。如果需要用戶參與對文獻和文獻屬性進行的興趣度評分則稱為顯式方式。雖然這種方式可形成相對準確的用戶興趣度,但因用戶的參與從而增加了用戶的負擔,因此可操作性差。故本文在建立模糊興趣庫時確定利用隱式方式形成用戶興趣度。
如何使用隱式方式?可直接利用的就是用戶的檢索歷史記錄集。因為用戶的興趣會反應在其搜索和閱讀行為上面,因此用戶興趣庫即可基于此集合進行構造。設U={u1,u2,…,um}為用戶檢索歷史記錄集,其中ui=(SI1,SI2,…,SIi,…,SIn),SIi是文獻ui對屬性Ai的隸屬度,可從(1)式得到。因此用戶興趣庫可用 I={I1,I2,…Ik,…,Im}表示,其中Ik為該用戶對第k項屬性的興趣度:

然而僅僅依賴用戶興趣度來描述用戶興趣還是不夠完整和清晰,這可通過對文獻信息庫和用戶的檢索行為進行分析而知。對文獻推薦系統的研究表明,對文獻屬性的關注程度和文獻屬性的權重都應該被描述并被包括在用戶的興趣當中,因此(2)式的模型還做不到這一點,需要對其進行進一步的擴展。
(1)獲取文獻屬性的關注度。用IL表示文獻屬性的關注度。文獻屬性關注度實際上可以看樹形的,獲取時按照從高層向底層逐級進行,而實際計算時則按照相反的方向,即從底層到高層的方式。
(2)獲取文獻屬性權重。實際用戶的偏好存在差異,這種差異將導致用戶對不同的文獻屬性有不同的關注或重視程度,此即為文獻屬性的權重。基于建立準確的用戶模糊興趣庫的需要,對每個屬性給出不同的權重是十分必要的。具體如下:設文獻U屬性集為A={A1,A2,…,Ai,…,An},首先分別請Q位專家對Ai給出權重估計值,記第j位專家給出估計值為Wj(Ai)(i=1,2,…,n;j=1,2,…,Q),得最后的文獻屬性權重為:

式(3)產生的權重還難以實現真正的個性化,因為其沒有針對每個人的偏好給出不同的權重。但可以先利用此種方式在推送系統前期獲得初步權重,待推送系統正式運行,能夠獲得大量的用戶檢索和閱讀信息之后,再利用智能Agent取得比較準確的屬性權重。
至此,用戶模糊興趣庫可用{IL,IQ(Ai)}表示,這里,IL、IQ(Ai)分別表示文獻屬性的關注度和文獻屬性的權重。因此用戶的興趣包括了多個文獻屬性,也可能分布在多個層次中。模型中對于每個屬性和量的描述都是一個[0,1] 之間的模糊數,從而實現了用戶興趣的模糊化。此外還要注意到,因用戶的興趣一般只能在一定的時間內是穩定的,所以用戶興趣庫也具有時效性,但隨著系統的運行,興趣庫會隨著用戶信息的完善而逐漸趨于穩定。
基于智能多Agent的科技文獻模糊協作推送系統中各個Agent也具有MAS系統的特點,則其功能也是相對獨立的且可并發運行,因為解決并發問題本身就是多Agent系統的優勢,從而形成的文獻推送系統在運行速度以及性能方面都會有很大提高。其主要工作流程如下:
(1) 一直處于活動狀態的用戶界面Agent可以實時處理用戶的搜索信息,并負責用戶與其他Agent模塊的交互。當用戶登錄系統后,用戶信息和搜索請求將由用戶界面Agent分別傳送給學習Agent和系統Agent;過濾推送Agent完成工作后則返回滿足要求的候選文獻推送結果,并將其發送到用戶界面Agent進行顯示;而當用戶在做出選擇后,界面Agent則負責把用戶搜索或閱讀記錄保存或更新到相應用戶的模糊興趣庫中。
(2)檢索Agent負責在文獻數據平臺中搜索候選文獻。不滿足要求時把提示信息反饋到用戶界面Agent,并且通過過濾Agent給用戶推送相關領域熱點文獻;若滿足要求,文獻搜索Agent就會把結果通過過濾和推送Agent推送給用戶。
(3) 學習Agent首先從用戶界面Agent獲得用戶信息和搜索信息,并且將其實時寫入到用戶模糊興趣庫;而當用戶搜索完畢時,用戶Agent又將搜索記錄傳遞給學習Agent,學習Agent利用(2)、(3) 式提取用戶的模糊興趣,同時將其保存或更新至用戶模糊興趣庫中;此外,學習Agent將根據搜索記錄提取和計算出各文獻主題所對應的關鍵詞及其權重,并寫入領域模型庫。
(4)過濾Agent負責對候選文獻集進行多屬性決策評價,是比較重要的部分。候選文獻集和相應文獻的模糊屬性由過濾Agent從搜索Agent、學習Agent獲取,然后利用一定的方法進行評價,按評價的高低對候選文獻進行排序、選擇并推送,并將結果傳遞給用戶界面Agent,方便用戶查看。
如上所述,更新修改后的用戶興趣模型在經過系統運行和相關反饋學習之后,將能更加體現用戶興趣,因此利用修改過的用戶興趣模型進行信息挖掘和推送時將具有更好的準確率。經過整個檢索過程,系統不僅學習到了用戶的信息興趣,為個性化信息檢索和推送服務提供了基礎,而且用戶也得到了符合自己興趣的文獻信息,達到了供需的雙贏。
[1]孫鐵利,等.基于Agent的專業文獻智能搜索系統的設計[J].東北師大學報自然科學版,2003,35(4) :19-23.
[2]黃繼征.基于Multi-Agent的Web個性化信息推送系統 [J].現代情報,2009,29(8):117-12.
[3]高秀萍,趙偉.基于Multi-Agent的智能信息檢索系統模型研究[J].魯東大學學報(自然科學版),2007,23(3):237-240.
[4]曾子明.基于Agent和CBR的推送模型的研究[J].現代情報,2008(3):209-213.
[5]劉大有,等.Agent研究現狀與發展趨勢[J].軟件學報,2000,11(3):315-321.
[6]向鄭濤,等.基于Agent的智能文件分發系統框架研究及實現[J].計算機工程與設計,2006,27(4):571-574.
[7]向鄭濤,等.面向Agent的軟件分析和設計方法[J].計算機科學,2004,31(6):127-131.
[8]高濟.基于知識的軟件智能化技術[M].浙江:浙江大學出版社,2000.
[9]吳元斌.面向對象技術與面向Agent技術的比較研究[J].計算機工程與應用,2001,37(19) :137-139.