●章增安,褚蕓蕓(遼寧師范大學.圖書館;.計算機與信息技術學院,遼寧大連116081)
基于SOA的圖書館個性化信息推薦系統研究
●章增安a,褚蕓蕓b(遼寧師范大學a.圖書館;b.計算機與信息技術學院,遼寧大連116081)
個性化信息推薦;協同過濾; SOA
為了克服圖書館信息推送服務異構資源整合度不高,推送信息形式單一等不足,提出了一種基于SOA的個性化信息推薦服務模型.該模型充分考慮了信息資源的異構性和讀者的興趣特點,以開展深層次個性化信息推薦服務為目標、基于用戶的協同過濾推薦為算法.通過分析讀者、圖書、資源訪問日志、借閱記錄等信息抽取出推薦信息,在.NET環境中采用Web Service封裝發布,統一集成到SOA為基礎架構實現的門戶系統中,構建出圖書館個性化信息推薦服務系統,為整合分布推薦信息、提高推薦質量提供了一條途徑.
數字圖書館信息資源的迅速增長給讀者精確選擇所需資源帶來了困難,如何解決信息的海量規模與信息需求準確性、精確性之間的矛盾成為信息檢索與推送服務中亟需解決的難題.一種行之有效的解決方法便是依托數字圖書館信息門戶,根據讀者訪問資源的特點開展個性化信息推薦服務.個性化推薦系統在圖書館領域已經得到了廣泛的研究和應用,但在實際應用中還存在諸多問題.(1)資源數量增長迅速.資源的質量和水平參差不齊,讀者往往無法辨別資源的優劣,導致資源的利用水平并不理想.(2)資源種類多樣性.除了傳統的館藏紙本資源外還有大量的電子資源,給資源的檢索和歸類帶來了不便.(3)資源存儲的異構性.訂購或自建的數據庫都自成體系,存儲在不同的應用系統中,雖然有"一站式"檢索工具或發現系統提供檢索,但很難根據用戶偏好實現跨系統的個性化推薦.如果能獲得讀者使用資源的潛在興趣,采用推薦系統將資源推薦給相關讀者,將極大地改善資源利用效率.因此,基于SOA架構,結合用戶的協同過濾算法構建圖書館個性化信息推送系統.系統整合了圖書館各種異構的資源信息,為用戶提供了與個人興趣相符的推薦信息集合,豐富了用戶對偏好信息的獲取途徑.
1.1個性化推薦系統在圖書館的應用
個性化推薦系統以往的研究重點集中在用戶建模、推薦算法和系統集成等方面.用戶建模研究主要是分析借閱歷史記錄或資源訪問日志等信息獲取讀者偏好,實現對相似讀者群的分類.推薦算法方面研究較多的有基于內容推薦算法、協同過濾推薦算法以及組合推薦算法[1]等.基于內容推薦算法推薦結果直觀、容易解釋,但是難以幫助讀者發現新的感興趣資源;協同過濾推薦算法正好解決難以發現新的興趣點問題,體現出針對性強、個性化程度高等優點,但存在冷啟動、稀疏性和可擴展性問題.在系統集成方面,OpenAPI、App、Mashup、Agent、SOA技術在個性化推薦系統中得到了一定程度的應用,使得圖書館門戶成為展示圖書館用戶與資源、用戶之間及用戶群之間關系的開放平臺,有效整合了圖書館、數據廠商和互聯網上的文獻資源,集成了圖書館各個系統的服務功能.[2]
1.2個性化推薦系統的實現技術
(1)基于用戶的協同過濾算法.推薦方法是個性化信息推薦系統中關鍵核心部分,決定著推薦系統性能的優劣.基于用戶的協同過濾是將對同一項目評分相似的用戶認為是一類,根據用戶的最近鄰居,對用戶進行聚類、過濾分析.[3]其基本思想是將興趣愛好相似、擁有相同經驗群體的偏好作為推薦內容.協同過濾算法的實現分為構建用戶---項目矩陣,尋找最近鄰居,計算推薦數據三個步驟.①構建用戶---項目矩陣.統計、整理用戶的個人偏好信息,在相應處理后,根據不同用戶行為得到用戶偏好矩陣.②尋找最近鄰居.得到用戶偏好矩陣后,根據用戶對項目的評分計算得到用戶間的相似度,再根據相似度找到用戶最近鄰居,用戶間相似性的度量方法主要采用修正余弦相似性函數.③計算推薦數據.基于用戶對任意項的偏愛度,設目標用戶u的最近鄰居集合為Nu,則計算用戶對項目j的預測評分Puj.公式如下.[4]

其中,Ru和Rn分別為用戶u和用戶n對項目j的平均評分,Rn,j為用戶n對項目j的評分,sim(u,n)為用戶u與n之間的相似性.
(2)SOA.面向服務的架構(Service Oriented Architecture,SOA)是分布式軟件系統構造方法和環境的新發展階段.[5]SOA的重點是把服務從復雜的環境中獨立出來并加以封裝,然后以標準的接口供其他用戶調用.SOA技術應用到圖書館門戶系統中,可以很好地集成圖書館各種異構資源庫,尤其是自建資源庫、圖書館自動化系統等,這些系統的無縫結合將使門戶系統統計的讀者使用資源記錄更為科學、精確.
2.1體系結構設計
從結構上分為四層,即表示層、服務管理層、服務封裝層及服務數據層.(1)表示層.負責與讀者交互,讀者完成身份認證后可獲得系統提供的個性化推薦服務.(2)服務管理層.將不同的服務接口組合成一個服務組合供門戶系統調用,讀者通過統一的門戶來調用服務組合以實現具體的業務功能.(3)服務封裝層.實現對推薦數據的服務封裝,主要由一系列Web服務接口構成,這些接口使用XML進行規范的加工、組織、描述.(4)服務數據層.服務數據層主要完成對不同數據庫的查詢、存儲、修改等操作.主要由分散異構的OPAC數據、自建資源庫數據以及門戶系統統計的各種網絡數據庫的訪問記錄數據組成.
2.2基于SOA架構的圖書館個性化信息推薦服務模型
結合基于用戶的協同過濾推薦算法,本文設計了基于SOA的圖書館個性化推薦系統,如圖1所示,系統主要包括基礎數據采集、推薦系統基礎數據集、基于用戶的協同過濾處理、Web Service接口封裝、推薦結果通知等模塊.
讀者個人資料、館藏書目信息、OPAC借閱記錄、電子資源數據庫信息、電子資源訪問記錄等異構數據通過推薦系統基礎數據采集后經標準化處理后形成推薦系統基礎數據集,然后使用協同過濾推薦算法處理后形成最終的推薦數據集.根據用戶偏好將推薦數據集封裝成Web Service接口,最后由門戶網站集成到個人空間推薦模塊,或者通過訂閱郵件、RSS等方式推薦給讀者.

圖 基于SOA的圖書館個性化推薦系統
本推薦系統在.NET平臺上采用ASP.NET和XML技術設計和實現.
3.1基于用戶的協同過濾處理
推薦信息主要分為圖書信息和電子資源信息,系統所使用的推薦算法依照前文所述的推薦算法流程執行.(1)圖書推薦模塊.首先根據圖書自動化系統抽取出讀者的借閱信息,將其映射到各個項目的屬性值上,生成讀者的屬性值偏好矩陣,然后計算屬性值偏好矩陣的相似度,從而得到目標讀者的最近鄰集合,并依據最近鄰讀者的借閱記錄實現圖書推薦. (2)資源推薦模塊.資源推薦模塊的推薦信息來源于兩部分.一部分為讀者長期使用的資源,這部分資源的推薦處理方式與圖書推薦模塊一致;另一部分為最新購買或試用的資源,這部分資源的處理方法是先生成讀者的屬性值偏好矩陣,根據新資源的屬性值與讀者的屬性值偏好矩陣進行匹配,找出相似度最高的讀者作為被推薦對象.
3.2Web Service的封裝
推薦信息的封裝通過Web Service實現,GetBook方法封裝了推薦的圖書信息,GetResource方法封裝了要推薦的電子資源信息.門戶系統統一調用這些封裝的Web Service接口反饋給讀者,推薦結果可以通過多種途徑推送給讀者.如讀者登錄門戶系統后在相應的推薦模塊推薦信息或者通過讀者的Email信息推送.
[1]I En Liao,et al.A library recommender system based on a personal ontology model and collaborative filtering technique for English collections[J].The Electronic Library,2010,28(3):386-400.
[2]翟曉娟,聶娜.滿足用戶個體需求的圖書館開放平臺設計---基于OpenAPI、App、Mashup、SOA的集成實踐應用[J].大學圖書館學報,2011,29 (6):26-33.
[3]李愛明,劉冰.個性化信息檢索系統的用戶模型研究[J].情報雜志,2007,26(3):121-126.
[4]顏豐,張琳.一種混合模式的協同過濾算法[J].現代計算機(普及版),2014(5):20-25.
[5]毛新生.SOA原理.方法.實踐[M].北京:電子工業出版社,2007:3-4.
G254.929.1
B
1005-8214(2015)10-0105-02
章增安(1978-),男,漢族,碩士,遼寧師范大學圖書館館員,研究方向:數字圖書館;褚蕓蕓(1979-),女,漢族,碩士,遼寧師范大學計算機與信息技術學院講師,研究方向:遠程教育.
2014-12-22[責任編輯]張雅妮