徐江紅,趙婉芳,趙靜雅
(北京電子科技職業學院,北京100176)
·微機軟件·
基于潛在因子算法的課程推薦系統研究
徐江紅1,趙婉芳2,趙靜雅3
(北京電子科技職業學院,北京100176)
課程推薦系統能夠依據用戶的興趣偏好,實現對用戶的個性化課程推薦。針對當前網絡選課信息過載問題,結合推薦算法之潛在因子算法,建立基于專業相關性、高值學分、實操性、教師評分和娛樂性為潛在因子的用戶-潛在因子和課程-潛在因子關系矩陣模型。結合余弦相似度算法,計算出用戶受潛在因子的影響程度與課程對潛在因子貢獻程度的相似度,并將相似度大的課程推薦給學生。課程推薦系統能夠及時、迅速地將該同學可能感興趣的課程推薦給學生,為每個同學在選課時提供個性化服務,從而解決了選課信息過載問題。
推薦系統;選課;潛在因子算法
當前,隨著遠程教育技術和互聯網的發展,各種教育資源庫通過網絡跨越了空間距離的限制,使學校的教育成為超出校園向更廣泛的地區輻射的開放式教育[1]。學校充分發揮自己的學科優勢和教育資源優勢,把最優秀的教師、最好的教學成果通過網絡傳播到四面八方。借助于網絡,任何人可以在任何時間、任何地點,從任何章節開始學習任何課程,學習資源呈現爆炸式的發展。在這樣的背景下,學生處于完全的主動學習模式,學習變得異常靈活方便,這些都是非常順應現代教育和終身教育理念的。與此相適應的,學校對教學的管理也進入了網絡化和無紙化階段。比如許多網絡課程實現了網上選課、點名、學習、評分等等。就選課系統來講,當前許多學校都建立了自己的選課平臺,這些平臺都可以使用用戶名和密碼登錄、支持一校多址甚至跨校選課的選課機制,方便多維度查詢選課統計數據[2],支持師生互評,為學生的選課帶來了便利和快捷。然而,現有的選課平臺只是簡單的將所有課程匯總到一起,所有的課程對學生都是平行的,為了方便管理,學校開放給學生選課的時間相對有限,導致的結果就是大多數學生感興趣的課程短時間報滿,手慢的同學甚至還沒研究透有哪些課程可選,最終只好隨便選幾門了事。那么,在大數據技術空前發展的今天,面對撲面而來的課程信息,如何幫助學生快速選擇合適自己的課程成為了一個強大的挑戰,這也是每一個網絡選課平臺急需解決的難題。這個問題其實就是選課信息過載問題。
當前解決信息過載問題的一個重要方法就是個性化推薦技術[3],它是根據用戶的興趣特點和需求,推薦給用戶感興趣的信息、產品等的個性化信息推薦系統。個性化推薦系統通過研究用戶的興趣偏好,進行個性化計算,由系統發現用戶的興趣點,從而引導用戶發現自己的信息需求。一個好的推薦系統不僅能為用戶提供個性化的服務,還能和用戶之間建立密切關系,讓用戶對推薦產生依賴。個性化推薦系統是當下的一個熱門課題,目前已經大量應用到工業領域,尤其是在電子商務網站。比如在淘寶、京東上選擇商品時,網頁會推出猜你喜歡、選擇此商品的客戶還選擇了什么商品;聽歌時,百度音樂自動彈出的個性歌單;在攜程、途牛等網站查看旅游信息時,網站會自動推出旅游熱點線路等等,這些都是推薦系統的輸出內容。近幾年舉辦的推薦系統比賽更是一次又一次地把推薦系統的研究推向了高潮。比如幾年前的Netflix百萬大獎賽,KDD CUP 2011的音樂推薦比賽,百度電影推薦競賽,還有阿里巴巴大數據競賽。這些比賽對推薦系統的發展都起到了很大的推動作用。很多電子商務網站利用推薦系統來提高銷售收入,推薦系統為Amazon網站每年帶來30%的銷售收入[4]。
課題研究的個性化課程推薦系統,就是針對網絡選課信息過載問題,通過利用推薦算法之潛在因子算法,結合學生的專業特點、學生自身過去的選課記錄、以及類似同學的選課記錄等等信息,研究用戶選課偏好,從而在學生點擊選課系統時,及時、迅速地將該同學可能感興趣的課程推薦給學生,為每個同學在選課時提供個性化的服務,從而解決了選課信息過載問題,有效避免了學生在課程海洋中大海撈針的無助和無奈。
潛在因子算法是在Netflix推薦算法競賽中獲獎的算法[5],最早被應用于電影推薦中,有著誤差小、效率高的特點。這種算法的思想是:每個用戶(user)都有自己的偏好,比如同學A將專業性強、學分高、實操性強等潛在因子(latent factor)作為選課依據,如果一門課程(item)帶有這些元素,那么就將該課程推薦給該用戶,也就是用潛在因子去連接用戶和課程。每個人對不同的潛在因子偏好程度不同,而每門課程包含的潛在因子比例成分也不一樣。具體的做法是:首先根據用戶的選課行為特征分析出影響其選課的潛在因子,得出影響不同用戶與潛在因子之間的關系矩陣Q,然后再結合每門課程分析課程包含潛在因子的比例(也可稱為課程對潛在因子的貢獻率),得出不同課程與潛在因子之間的關系矩陣P,根據Q和P兩個矩陣,采用歐式距離余弦相似度算法計算出用戶受潛在因子的影響程度與課程對潛在因子貢獻程度的相似值,并將這個相似值作為判斷用戶對課程的喜歡程度,從而得到用戶對課程喜歡程度矩陣R,最后依據喜歡程度進行排序,并將喜歡程度高的課程推薦給用戶[6]。
通過對學生走訪調查發現,學生選課主要考慮的因素有如下幾個:
(1)專業相關性
專業相關性主要是選修的課程與當前所在專業是否相關。從學生的角度上看,有的學生希望通過選修課加強對本專業學習的補充,因此會期待選擇專業相關的課程,期望值非常高,這樣對專業相關性因子可以設置為1,根據學生對專業相關性的期望值可以設定0~1之間;從課程的角度來看,不同的課程具有不同的專業相關性。例如機器人的制作課程對于網絡技術專業的學生顯然比籃球課程的專業相關性高,但相比網絡黑客初探課程專業相關性就差一些。如果網絡黑客初探課程的專業相關性取值為1的話,機器人課程的專業相關性給0.6,而籃球課程的專業相關性為0。
(2)高值學分
不同的學生對要選修的課程有不同程度的期待值。有的學生屬于希望很快修滿學分,那么這一項的取值就為1;而有的學生對學分的考慮沒有那么強烈,因此根據學生選課受學分值這一因素影響的大小,該項取值范圍設定0~1之間。不同的課程學分是固定的,最高學分為4,最低學分為1,因此對不同課程對學分的貢獻值設定為0~1之間。
(3)實操性
實操性主要是指課程對動手能力的訓練。不同的學生對課程的動手能力的關注度不同,而每門課程的實操性也不同。例如機器人的實操性強,而營養學的實操性差,該項取值設定為0~1之間。
(4)教師評分
教師評分是以往上過課的學生對相關授課教師的打分。教師評分這一項多大程度上影響學生選課,對于不同學生也是不一樣的。同時不同課程教師評分也不同。評分一般為5分制。根據不同的評分可以得出不同課程在這一項的貢獻值。該項取值設定為0~1之間。
(5)娛樂性
娛樂性也是影響學生選課的重要因素。有些同學希望選修的課程好玩,即娛樂性更高一些。不同的課程娛樂性也不同,例如相對與離散數學,機器人的娛樂性高一些,電影欣賞的娛樂性更高。該項取值設定為0~1之間。
本課程推薦系統將以上五個因素作為潛在因子進行研究。
從歷史選課記錄可以得到過去選過的課程在潛在因子方面的貢獻值,該貢獻值就是學生受每個因子的影響程度。依據不同學生在選課時受以上5種因子的影響程度,構建出用戶-潛在因子關系矩陣Q如表1所示。
依據不同課程對以上5種潛在因子的貢獻程度,構建出課程-潛在因子關系矩陣P如表2所示。

表1 用戶-潛在因子關系矩陣Q

表2 課程-潛在因子關系矩陣P
研究選擇簡單而實用的余弦相似性算法計算相似度。余弦相似性算法的基本思想是:將矩陣行抽象成空間從原點出發的兩條指向不同方向的線段,兩條線段之間形成一個夾角,如果夾角為0度,意味著方向相同、線段重合;如果夾角為90度,意味著形成直角,方向完全不相似;如果夾角為180度,意味著方向正好相反。因此,可以通過夾角的大小,來判斷向量的相似程度。夾角越小,就代表越相似[7]。
假定A和B是兩個n維向量,A是[A1,A2,...,An],B是[B1,B2,...,Bn]。則A與B的夾角θ的余弦公式[8]如下公式所示。

針對上面的兩個矩陣,將矩陣P和Q中的每一行分別放到多維向量空間模型中,利用余弦相似性算法,計算用戶受潛在因子的影響程度與課程對潛在因子貢獻程度的相似值,并將這個相似值作為判斷用戶對課程的喜歡程度。
以同學甲和課程A為例。
同學甲受潛在因子影響的向量為:

課程A對潛在因子的貢獻向量為:

代入公式(1)計算可得,Q1和P1的相似度為:

同樣的,可以計算出每個同學對每門課程的喜歡程度,即用戶-課程關系矩陣R結果如下表3所示。

表3 用戶-課程關系矩陣
從表3可以看出,同學甲對課程A的喜歡程度最高,因此在推薦課程時,首先將課程A推薦給甲,其次是課程E,然后是課程F。考慮到大學選修課程每學期被限制在三門或以下,所以得分相對比較低的課程B和C就不予推薦了。對于同學乙、同學丙和同學戊,首先把課程B推薦給他們,而同學丁將首先被推薦課程E。
針對網絡選課信息過載問題,結合推薦算法之潛在因子算法對課程推薦系統進行研究。建立了基于專業相關性、高值學分、實操性、教師評分和娛樂性為潛在因子的用戶—潛在因子和課程—潛在因子之間關系矩陣模型,結合余弦相似度算法,計算出用戶受潛在因子的影響程度與課程對潛在因子貢獻程度的相似值,并將這個相似值作為判斷用戶對課程的喜歡程度,然后將相似度大的課程推薦給學生。課程推薦系統為每個同學在選課時提供了個性化的服務,從而解決了選課信息過載問題,有效避免了學生在課程海洋中大海撈針的無助和無奈。需要說明的是,由于本研究中用戶受潛在因子的影響程度是從過去的選課記錄分析所得,而對于沒有歷史選課記錄的新用戶如何推薦課程沒有討論,這將是今后進一步研究的方向。
[1]張玉新,滕桂法,韓俊玲.存儲過程及其在基于J2EE的選課系統中的實現 [J].河北農業大學學報.2007.30(1):109-113.Zhangyuxin,Tengguifa,Hanjunling.Stored procedure and its implementation of the course selection system based on J2EE[J].Journal of agricultural university of Hebei.2007.30(1):109-113.
[2]蔣玉國,郭文東,任永昌.基于UML的選課信息系統的建模[J].河北師范大學學報/自然科學版.2007.31(1):36-38.GUO Yuguo,GUO Wendong,REN Yongchang.The Designing Model of Information System for Selecting Courses Based on UML[J].JOUENAL OF HEBEI NORMAL UNIVERSITY/Natural Science Edition.2007.31(1):36-38.
[3]盧波,張璐璐.基于ASP的煤炭高效體育網上選課系統設計與實現[J].煤炭技術.2012.31(7):202-203.Lu Bo,Zang Lulu.Design and Inplementation of Coal University Sports Network Choose Class System Based on ASP[J].Coal Technology.2012.31(7):202-203.
[4]Willan S.Davi.Systems Analysis and Design-A Structured Approach[J].Addison—Wesley Publishing Company.1987.
[5]張博,張虹.基于網格技術的網上選課系統的設計[J].計算機工程與設計.2007.28(2):467-470.Zhang Bo,Zhang Hong.Cource-selection grid:Dynamically organized course-selection infrastructure[J].Computer Engineering and Design.2007.28(2):467-470.
[6]王建國,張婷,周長英.基于網絡的選修課選課系統的設計與實現[J].計算機工程與設計.2006.27(3):460-471.WANG Jian-guo,ZHANG Ting,ZHOU Chang-ying.Design and implementation of selective courses based on network[J].Computer Engineering and Design.2006.27(3):460-471.
[7]Northolt M G,Boerstoel H,Maatman H,et,al.The structure and properties of cellulose fibers spun from an anisotropic phosphoric acid solution.Polymer.2001.42:8249-8264.
[8]Barstool H,Maatman H,Westerink J B,et al.Liquid crystalline solutions of cellulose in phosphoric acid.Polymer.2001.42:7371-7379.
Research on Courses-selection Recommendation System Based on Latent Factor Algorithm
Xu Jianghong1,Zhao Wanfang2,Zhao Jingya3
(Beijing Vocational College of Electronic Science,Beijing 100176,China)
Courses-selection recommendation system can provide personalized courses recommendation,according to users'interest.In order to resolve the overload problem of coursesselection information,This paper chooses major-relativity,high credit,operability,Teacher-assessment and entertainment as latent factor,uses latent factor algorithm to create users-latent factor Relation matrix model and courses-latent factor Relation matrix model.Then uses cosine similarity algorithm to calculate the similarity of users-latent factor and courses-latent factor.According to the similarity,system recommends the courses ofbigger similarity to the student.This system can provide personalized courses-selection recommendation service for the students,So the overload problem of course-selection information is resolved.
Recommendation system,Courses-selection,Latent factor algorithm
10.3969/j.issn.1002-2279.2017.05.011
TP393
A
1002-2279-(2017)05-0040-04
徐江紅(1973—),女,湖北省荊州市人,講師,碩士,主研方向:大數據,網絡工程技術。