蔣漪漣,劉曉丹,張路通
教學資源推薦系統的研究與設計
蔣漪漣,劉曉丹,張路通
為解決網絡資源量增長飛速,提升用戶在海量信息中檢索所需教學資源的速度。將個性化推薦技術引入到了資源庫,資源庫能夠根據用戶自身的特征信息和對下載過的資源評分數據給用戶推薦可能感興趣的資源。資源庫系統基于J2EE中主流SSH2框架的WEB系統進行設計,實現了一個B/S結構的教學資源推薦系統平臺。
個性化推薦技術;J2EE;B/S結構;SSH2框架
隨著互聯網的廣泛應用,網絡教育飛速發展,網絡教學資源以指數級的速度增長[1]。網絡的普及為每位學習者提供了隨時隨地獲取教學資源信息的能力。然而,信息獲取越來越便捷,也產生了一系列的問題。每天都有大量的圖片、視頻、文字等各種教學資源被不斷發布到網絡上[2]。隨著這些信息的極速累積,學習者很難從大量信息中找到自己感興趣的內容。
目前在大量信息中獲取需要的信息的方法是采用搜索引擎[3],但是搜索引擎功能也存在缺點:一是關鍵字的選擇在搜索過程中起到決定性作用,這種過分依賴關鍵字使得用戶無法準確描述自己需求時大大削弱了搜索引擎的作用;二是僅僅基于關鍵字的信息檢索在很多情況下具有很大的局限性,而大量瀏覽不相關信息的過程無疑會導致客戶的流失,對那些沒有明確需求的用戶,搜索引擎更是無能為力。對于這些客戶來說,最好的解決辦法是有一個人或者一個自動化工具能夠幫忙進行信息篩選,提出一些可行的建議以供其選擇[4]。這時候,應用推薦系統效果更好。推薦系統是利用用戶的一些行為,通過一些數學算法將不同的資源內容推薦給可能感興趣的用戶[5]。
本系統是一個B/S結構的基于web的資源庫系統。主要包括管理員用戶和學生用戶,管理員用戶主要功能有資源創建、資源維護和資源審核;對于學生用戶主要有資源學習和獲得推薦資源。對于學生用戶可以從3個維度來搜索資源:第一可以通過項目創建者的信息來搜索某個項目下的所有資源;第二可以根據某個學科分類來搜索某個學科分類下的所有資源;第三可以根據關鍵字搜索被此關鍵字標記的所有的資源。在搜索資源時系統能夠根據用戶自身信息和以前下載過的資源信息給用戶提供個性化推薦,這些個性化推薦是根據用戶自身信息,包括年級、專業、學院等自身信息和用戶下載過的資源信息提取出的特征矩陣做出的基于用戶的個性化推薦。
1.1基于用戶的協同過濾推薦算法
基于用戶的協同過濾推薦算法的基本思想是通過獲取用戶興趣,對用戶之間的相似度進行計算,將與目標用戶相似度最高的N個用戶組成集合,即鄰居,然后通過分析鄰居對某項資源的評分來預測目標用戶對該資源的評分,最后給用戶推薦資源中預測評分最高的若干項。由于用戶對資源的評分可以很大程度上反映用戶對資源的偏好程度,因此可以認為最后為用戶呈現的資源很有可能就是用戶感興趣的資源集合。
基于用戶的協同過濾推薦算法包含3個步驟:①獲取用戶興趣;②計算用戶之間相似度,找到和目標用戶興趣相似的用戶集合;③找到這個集合中的用戶喜歡的,且目標用戶沒有聽說過的資源推薦給目標用戶。
1)形成用戶項目評價矩陣
用戶-項目評價矩陣是一個Rm×n的矩陣,如公式(1):

其中,行代表共有m個用戶,列代表共有n個項目。矩陣中第i行第j列的元素Rij表示第i個用戶對第j個項目的評分。評分通常用正整數表示(例如1-5分),代表用戶對項目的喜好程度。
2)計算用戶相似度,產生鄰居
根據用戶對項目的偏好程度來計算用戶相似度,最終產生一個不包含目標用戶的鄰居集合N={N1,N2,…,Nk}。以下介紹兩種最常用的計算相似度的算法:
(1)余弦相似性算法
將用戶評分看成n維項目空間向量。如果用戶對某一項目沒有評分,則將評分設為0。使用空間向量間夾角的余弦值表示用戶i和用戶j的相似度,值越大兩個用戶間的相似程度越高。設用戶i和用戶j的評分向量分別是i和,則用戶間的相似度為公式(2):

(2)Pearson相似性算法
Pearson相似性算法通過計算Pearson相關系數得到用戶間的相似性。設Iij=Ii∩Ij表示用戶i和j共同評過分的項目集合,則用戶的相似度Sim(i,j)為公式(3):

其中,Ri,k、 Rj,k表示用戶i和用戶j對項目k的評分,、分別表示用戶i和用戶j對項目k的平均評分。
計算出用戶間的相似性Sim(i,j)后,找出與目標用戶具有最高相似性的前k個用戶集合U作為其鄰居,即U={U1,U2,…,Uk}
3)產生推薦
得到了目標用戶的最近鄰居集合U,可以預測用戶對項目的評分Pu,i如公式(4):

最后,將預測值最高并且用戶未評分的N個項目作為推薦集推薦給用戶。
1.2基于項目的協同過濾推薦算法
基于項目的協同過濾推薦算法的基本思想是通過分析用戶的行為來計算項目之間的相似度,給用戶推薦那些和他們之前感興趣的項目相似的項目。
由此可知,基于項目的協同過濾推薦算法包含3個步驟:①獲取用戶興趣;②計算項目之間的相似度;③根據項目的相似度和用戶的歷史行為給用戶生成推薦列表。其中,形成用戶-項目評價矩陣與基于用戶的協同過濾推薦算法相同。
1)計算項目之間相似度
(1)余弦相似性算法
將項目看作m維用戶空間上的向量,項目i和項目j之間的相似性通過向量間余弦夾角來計算,余弦值越大,兩個項目的相似度越高。項目的相似性為公式(5):

(2)Pearson相似性算法相似性算法
設對項目i和項目j都評過分的用戶集合為Uij=Ui∩Uj,則項目的相似性Sim(i,j)為公式(6):

其中Rk,i表示用戶k對項目i的評分,Rk,j表示用戶k對項目的j評分,、分別表示用戶對項目i和項目j的平均評分。
通過以上計算,得到目標項目與其他項目之間的相似度,然后取相似度最高的k個項目作為其相似項目集。
2)產生推薦
使用權重求和的方法來計算用戶對相似項目的預測評分,從而產生推薦。目標用戶u對項目i的預測評分為Pu,i如公式(7):

其中,Si,n表示項目i與項目n的相似度,Ru,n表示用戶u對相似項目集中項目n的評分。
1.3基于用戶的協同過濾與基于項目的協同過濾算法比較
基于用戶的協同過濾是將那些和目標用戶有共同興趣愛好的用戶喜歡的資源推薦給目標用戶,而基于項目的協同過濾是將那些與目標用戶之前感興趣的資源類似的資源推薦給目標用戶。由此可知,基于用戶的協同過濾的推薦結果著重于反映和用戶興趣相似的小群體的熱點,而基于項目的協同過濾的推薦結果著重于維系用戶的歷史興趣。
1.4學習者興趣模型的建立
學習者在使用推薦系統前首先要進行注冊,其目的是一對學習者的身份進行驗證,從而有利于對學習資源的安全保護;二通過注冊信息可以獲取學習者的基本興趣偏好,有利于后續的學習資源的推薦。本系統將通過學習者信息表和學習行為記錄表來獲取學習者信息。學習者信息表主要記錄學習者注冊過程中所填寫的基本信息,從而得到學習者偏好的顯性信息;學習行為記錄表主要記錄學習者對學習資源的點擊、收藏、修改、下載等的行為,從而得到學習者偏好的隱性信息。具體表設計如表1和表2所示:

表1 學習者信息表

表2 學習行為記錄表
本系統采用學習者-資源評價矩陣來表示學習者對學習資源的偏好程度。設學習者群體為P={P1,P2,…,Pm}其中,Pi表示在推薦系統中注冊過的一般學習者。設學習資源集合為R={R1,R2,…,Rn}其中,Rj表示推薦系統中己有的某個學習資源。矩陣中的Dij表示學習者Pi對學習資源Rj的感興趣程度。評價矩陣為公式(8):

設Dij滿分為10分,當學習者對學習資源沒有行為記錄時,Dij=0,當有行為記錄時,Dij的分值如公式(9):

其中,SCij表示評分的具體分數,滿分為5分;CKij表示學習者i對資源j的點擊行為;CTij表示收藏行為,DLij表示下載行為,ETij表示編輯行為,CMij表示評論行為,當觸發該行為時,其值為1。
1.5向學習者推薦泛在學習資源
1)學習者相似度計算
本系統使用Pearson相似性算法計算學習者相似度。設Rij=Ri∩Rj表示學習者i和j共同評過分的學習資源集合,Dj,k表示學習者i對資源k的評分,和分別表示學習者i和學習者j對資源的平均打分,則學習者的相似度Psim(i,j)為公式(10):

2)學習資源相似度計算
同樣使用Pearson相似性算法計算學習資源間的相似度。設Pij=Pi∩Pj表示對資源i和資源j都評過分的學習者集合,Di,k表示學習者i對資源k的評分,和分別表示學習者i和學習者j對資源的平均打分,則學習資源的相似性Rsim(i,j)為公式(11):

1.6產生推薦
對于首次登錄的學習者,系統將為他們推薦最熱門的資源。對于其他學習者,釆用基于用戶的協同過濾與基于項目的協同過濾相結合的方式進行推薦,最后將分別計算出的最高的N/2個學習資源推薦給學習者。
關于基于用戶的協同過濾推薦算法:首先利用以上學習者相似度計算得到與目標學習者具有最高相似性的前k個學習者集合U作為其鄰居,即U={U1,U2,…Uk},之后預測學習者u對資源i的評分Dui如公式(12):

關于基于項目的協同過濾推薦算法:首先利用以上學習資源相似度計算得到與目標資源具有最高相似性的前k個資源集合I作為其鄰居,即I={I1,I2,…Ik},之后預測學習者u對資源i的評分Dui如公式(13):

其中,Rsim(i,j)表示資源i和資源n之間的相似度,Ru,n表示學習者u對資源n的評分。
2.1資源庫總體框架設計
資源庫采用B/S架構,整個系統的框架圖如圖1所示:

圖1 資源庫系統框架圖
一共分為4層。從下往上分別是:實體層,DAO層,服務層,WEB層。其中DAO層,服務層和WEB層3層之間是有交互,上層可以調用下層的服務,下層可以將數據返回給上層。
實體層主要是用來封裝整個資源庫系統的數據,包括從前臺頁面傳到WEB服務器的表單數據和WEB服務到數據庫映射的數據。從客戶端到WEB服務器的數據傳遞需要在控制器中定義對應的POJO變量,并且為這個變量提供對應的get和set方法,這樣Struts2能夠將客戶端表單中的數據傳遞給控制器對應POJO對象中對應的屬性。從WEB服務器到數據庫之間的數據傳遞,主要是通過為數據庫中的每一個表定義一個對應POJO的對象,然后在Hibernate的配置文件中配置一個POJO與數據庫表之間的映射關系,這樣能夠通過POJO在WEB服務器和數據庫之間傳遞數據。這層是整個系統數據交換的基礎,所有層的數據交換都是使用實體層封裝好的數據。
服務層是整個系統的業務處理層,主要負責處理業務邏輯。控制器每收到一個請求,就會調用服務層的對應的處理方法,Service接收到處理任務后,會調用DAO層的方法,并且完成請求需要的邏輯運算,最后將返回的數據傳遞給WEB層的控制器。服務層是整個資源庫系統的大腦,所有的復雜邏輯都寫在這層。
DAO層是服務器和數據庫之間的橋梁,經過WEB服務器處理過的數據經過DAO層持久化到數據庫,數據庫中的數據經過DAO層傳到WEB服務器。為了優化資源庫對數據庫的操作,資源庫系統的DAO層釆用了Hibernate框架。該框架提供了一個數據庫連接池,系統每次啟動時會根據Hibernate的配置文件建立一定數量的數據庫連接,這些連接放在連接池中。每次需要建立數據庫連接的時候不需要再建立,而是從連接池中取出一個數據庫連接,用完后再放回連接池中。這種連接池的模式避免每次都由于連接的建立和釋放消耗過多的資源。
2.2教學資源推薦系統平面設計
教學資源推薦系統功能模塊設計如圖2所示:

圖2 系統功能模塊圖
學習資源推薦系統分為兩大模塊:資源管理者模塊和學習者模塊。資源管理者模塊包括資源創建、資源維護、資源審核三大部分,資源審核又包括對學習資源的審核及對習題的審核;學習者模塊包括獲得推薦、資源學習、退出三大部分,而資源學習又包括資源信息、學習內容、進入練習、評論評分、返回五小部分。
本系統采用J2EE中主流的SSH2框架設計、實現一個B/S結構的基于web的教學資源推薦系統。通過基于用戶的協同過濾算法與基于項目的協同過濾算法將個性化推薦技術引入到了資源庫,資源庫能夠根據用戶自身的特征信息和對下載過的資源評分數據給用戶推薦可能感興趣的資源,以便用戶在海量的教學資源庫中迅速找到自己所需的資源。
[1] 張琳.終身教育視角下開放大學數字化資源建設[J].職教論壇,2014年(24):47-51
[2] 章偉民,徐梅林.全球視閾中的教育技術:應用與創新[M].上海:華東師范大學出版社,2006,8.
[3] 陳世平,周福華,俞海.面向領域的個性化智能檢索系統的研究與幵發[J].小型微型計算機系統,2009,11
[4] 劉建國,周濤,汪秉宏.個性化推薦系統的研究進展[J].自然科學進展, 2009, 19(1):4-10.
[5] 楊炎,孫鐵利,邱春艷.個性化推薦技術的研究[J].信息工程大學學報.2010,6.
Research and Design of Teaching Resources Recommendation System
Jiang Yilian1, Liu Xiaodan1, Zhang Lutong2
(1. Department of Computer and Information Management, Shanxi Business College, Xian 710119,China;2. Department of Business Administration, Shanxi Business College, Xian 710119,China)
In order to solve the rapid growth of network resources and enhance users' speed of teaching resources in massive information searching, the personalized recommendation technology is introduced into the resource database, which can be recommended by the users according to their own characteristic information and the downloaded resources. Resource library system based on J2EE SSH2 framework of the mainstream WEB system is designed to achieve a B/S structure of the teaching resource recommendation system platform.
Personalized Recommendation Technology; J2EE; B/S Structure; SSH2 Framework
TP311
A
1007-757X(2016)06-0018-04
2016.02.20)
陜西省教育廳2015年研究課題(15JK1060);陜西工商職業學院2013年度科研項目(13G-04-A02);陜西廣播電視大學2013年度科研項目(13DJ-B27)
蔣漪漣(1970-),女,西安人,陜西工商職業學院,計算機與信息管理系,副教授,碩士,研究方向:計算機網絡技術、信息技術,西安,710119
劉曉丹(1982-),女,漢,西安人,陜西工商職業學院,計算機與信息管理系,講師,碩士,研究方向:計算機網絡技術、信息技術,西安,710119
張路通(1974-),男,漢,徐州人,陜西工商職業學院,工商管理系,副教授,研究方向:信息技術,西安,710119