摘 ?要: 如今以MOOC平臺(tái)為主的在線學(xué)習(xí)網(wǎng)站課程資源豐富,數(shù)據(jù)量龐大,存在明顯的信息過(guò)載問(wèn)題。用戶如何在海量數(shù)據(jù)中快速找到合適的課程是一個(gè)難題,而個(gè)性化的課程推薦是解決這一問(wèn)題的有效方式??紤]到用戶學(xué)習(xí)的課程存在先后順序,具有明顯的時(shí)序性,所有我們使用門(mén)控循環(huán)單元(GRU)從用戶學(xué)習(xí)的課程序列中挖掘其存在的規(guī)律和特點(diǎn)。另外,為使推薦的結(jié)果更加準(zhǔn)確,我們考慮結(jié)合課程之間的關(guān)聯(lián)關(guān)系,提出了基于GRU與課程關(guān)聯(lián)關(guān)系的推薦模型。最后,我們?cè)谡鎸?shí)的MOOC數(shù)據(jù)集上進(jìn)行大量實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的協(xié)同過(guò)濾算法以及僅考慮課程關(guān)聯(lián)關(guān)系的算法相比,我們提出的算法性能更好,推薦的準(zhǔn)確度更高。
關(guān)鍵詞: 課程推薦;門(mén)控循環(huán)單元(GRU);課程關(guān)聯(lián)關(guān)系;MOOC
中圖分類號(hào): TP183 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.06.029
本文著錄格式:卜祥鵬. 基于GRU和課程關(guān)聯(lián)關(guān)系的推薦模型[J]. 軟件,2020,41(06):137142
【Abstract】: Nowadays, the online learning websites mainly based on MOOC platform are rich in course resources and large in data volume, so there are obvious problems of information overload. How to find the right course quickly in the mass data is a difficult problem. One of the most effective ways to solve this problem is to use personalized course recommendation. Considering that the courses learned by users are in order and have obvious timing, we use Gated recurrent unit (GRU) to mine the existing rules and characteristics of the courses learned by users. In addition, in order to make the recommended results more accurate, we consider the correlation between courses and then propose a recommendation model based on the GRU and course association relationship. Finally, we conduct a lot of experiments on real MOOC dataset, experimental results show that the proposed algorithm has better performance and higher recommendation accuracy than the traditional collaborative filtering algorithm and the algorithm that only consider the course association relationship.
【Key words】: Course recommendation; Gate Recurrent Unit(GRU); Course association relationship; MOOC
0 ?引言
隨著科學(xué)技術(shù)和在線服務(wù)業(yè)的發(fā)展,出現(xiàn)了以慕課(MOOC)平臺(tái)為代表的在線學(xué)習(xí)網(wǎng)站。與傳統(tǒng)的教學(xué)方式相比,在線網(wǎng)站學(xué)習(xí)具有課程資源豐富和靈活度大等優(yōu)點(diǎn),能夠滿足各種不同類型的用戶對(duì)學(xué)習(xí)資源的需求,得到了人們的廣泛認(rèn)可。然而隨著在線學(xué)習(xí)網(wǎng)站的普及,信息過(guò)載的問(wèn)題日益突出,海量的學(xué)習(xí)資源使用戶感到困擾,如何快速找到適合自己的學(xué)習(xí)資源成為一個(gè)巨大的挑戰(zhàn)。為解決這一問(wèn)題,人們提出了個(gè)性化課程推薦方法,即根據(jù)每個(gè)用戶自身的特點(diǎn),為其推薦適合的課程,這也成為當(dāng)前教育數(shù)據(jù)挖掘領(lǐng)域主要的研究問(wèn)題之一。
目前,國(guó)內(nèi)外有關(guān)推薦系統(tǒng)的研究非常多,最常用的推薦算法有基于內(nèi)容的推薦算法和協(xié)同過(guò)濾算法。例如,像亞馬遜和淘寶等著名的電子商務(wù)平臺(tái)根據(jù)用戶的瀏覽記錄和購(gòu)買歷史向用戶推薦商品;使用協(xié)同過(guò)濾的方式幫助用戶找到感興趣的電影和視頻;Youtube根據(jù)用戶歷史播放記錄向用戶推薦視頻。
近年來(lái),深度學(xué)習(xí)取得良好的表現(xiàn),在各個(gè)領(lǐng)域都得到了廣泛應(yīng)用,推動(dòng)了推薦系統(tǒng)的發(fā)展[1]。與傳統(tǒng)的推薦算法相比,使用神經(jīng)網(wǎng)絡(luò)可以更好地解決數(shù)據(jù)稀疏性的問(wèn)題。GRU[2](Gate Recurrent Unit)是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的一種,和LSTM(Long-Short Term Memory)一樣,是為了解決傳統(tǒng)RNN存在的梯度消失和梯度爆炸的問(wèn)題而提出的。GRU和LSTM的原理非常相似,且都擅長(zhǎng)處理時(shí)間序列數(shù)據(jù),因此可以視為L(zhǎng)STM的變體。但是相比于LSTM,GRU更易于訓(xùn)練,能夠保持性能的同時(shí)提高訓(xùn)練效率,降低時(shí)間復(fù)雜度。用戶的選課行為具有明顯的時(shí)序性特點(diǎn),用戶在選擇新的課程時(shí),往往會(huì)考慮學(xué)過(guò)的課程。根據(jù)這一特性,本文利用GRU模型挖掘用戶潛在的學(xué)習(xí)特征,根據(jù)用戶已學(xué)習(xí)的課程序列預(yù)測(cè)其將要學(xué)習(xí)的課程。同時(shí),還考慮到課程之間存在一定的關(guān)聯(lián)關(guān)系,只有學(xué)習(xí)了基礎(chǔ)課程才能選修高級(jí)課程。因此,我們提出了一種將GRU與課程關(guān)聯(lián)關(guān)系結(jié)合的方法,用于向用戶推薦合適的課程。
本文剩余部分的結(jié)構(gòu)如下,第2章介紹相關(guān)的前期研究工作;第3章介紹我們提出的課程推薦模型;第4章給出實(shí)驗(yàn)結(jié)果和分析,第5章對(duì)本文的工作進(jìn)行總結(jié)并討論未來(lái)的研究方向。
1 ?相關(guān)工作
1.1 ?基于內(nèi)容的推薦算法及其應(yīng)用
基于內(nèi)容的推薦算法的原理是從用戶過(guò)去關(guān)注的物品中提取物品的屬性特征,用物品的特征表示對(duì)用戶的喜好進(jìn)行建模,然后向用戶推薦與其喜好相似的物品。江周峰等人[3]以圖書(shū)館為背景,提出了一種結(jié)合社會(huì)化標(biāo)簽的推薦算法,利用圖書(shū)的社會(huì)化標(biāo)簽信息對(duì)圖書(shū)的特征項(xiàng)進(jìn)行補(bǔ)充,進(jìn)而向用戶推薦可能喜歡的圖書(shū)。實(shí)驗(yàn)結(jié)果表明,結(jié)合社會(huì)化標(biāo)簽的推薦方法具有良好的性能。Van等人[4]設(shè)計(jì)了一個(gè)基于內(nèi)容的推薦系統(tǒng)—PRES,旨在向用戶推薦有關(guān)房屋改造的文章,其原理是從用戶的歷史記錄中學(xué)習(xí)用戶的興趣,根據(jù)用戶的興趣生成推薦結(jié)果。再根據(jù)某些條件(如相似性,新穎性,鄰近性等)對(duì)推薦結(jié)果進(jìn)行排序,最后將名次最靠前的文章推薦給用戶。Ghauth等人[5]提出了一種新穎的電子學(xué)習(xí)推薦系統(tǒng)框架,向用戶推薦內(nèi)容相似的學(xué)習(xí)材料。文獻(xiàn)[6]和文獻(xiàn)[7]是使用基于內(nèi)容的推薦算法向用戶推薦可能喜歡的項(xiàng)目。
1.2 ?協(xié)同過(guò)濾算法及其應(yīng)用
協(xié)同過(guò)濾算法是推薦系統(tǒng)應(yīng)用最廣泛的算法,主要分基于用戶的協(xié)同過(guò)濾和基于項(xiàng)目的協(xié)同過(guò)濾?;谟脩舻膮f(xié)同過(guò)濾原理是將和目標(biāo)用戶有共同興趣愛(ài)好的用戶所喜歡的物品且目標(biāo)用戶沒(méi)有購(gòu)買的物品推薦給目標(biāo)用戶,基于項(xiàng)目的協(xié)同過(guò)濾原理是將與目標(biāo)用戶喜歡的物品相似的物品推薦給目標(biāo)用戶。李玲等人[8]提出了一種基于隨機(jī)森林的加權(quán)二部圖推薦算法,利用隨機(jī)森林算法對(duì)用戶的偏好構(gòu)建分類模型。最后在MovieLen數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果證明該方法能夠提高推薦的準(zhǔn)確性和推薦精度。王志虎等人[9]提出了基于用戶歷史行為的協(xié)同過(guò)濾推薦算法,其原理是根據(jù)用戶的歷史行為預(yù)測(cè)用戶對(duì)每一個(gè)項(xiàng)目的偏好程度,建立相應(yīng)的特征向量,再根據(jù)特征向量計(jì)算項(xiàng)目相似度從而實(shí)現(xiàn)個(gè)性化推薦。實(shí)驗(yàn)結(jié)果表明該方法不僅能提高推薦的準(zhǔn)確率,而且加快了推薦速度。安政磊等人[10]研究了用戶的行為對(duì)其購(gòu)買意向的影響,如購(gòu)買行為、評(píng)價(jià)行為等,依據(jù)用戶行為對(duì)用戶興趣進(jìn)行建模,進(jìn)而向用戶推薦喜愛(ài)的商品。作者在真實(shí)數(shù)據(jù)集上與傳統(tǒng)的基于用戶的協(xié)同過(guò)濾算法進(jìn)行比較,證明提出的方法具有有效性。符饒等人[11]利用用戶的位置信息,如簽到地點(diǎn)、簽到時(shí)間、簽到次數(shù)等根據(jù)用戶之間的相似度向用戶推薦潛在好友。胡健等人[12]根據(jù)學(xué)生的專業(yè)、愛(ài)好、選課記錄、學(xué)習(xí)程度等信息構(gòu)建學(xué)生選課評(píng)價(jià)矩陣,然后根據(jù)學(xué)生間的相似度大小推薦相應(yīng)的課程。但是該算法存在冷啟動(dòng)的問(wèn)題,即在沒(méi)有學(xué)生的歷史數(shù)據(jù)作為參考析的情況下無(wú)法進(jìn)行課程推薦。文獻(xiàn)[13]利用協(xié)同過(guò)濾推薦算法,挖掘用戶的行為信息,為讀者推薦個(gè)性書(shū)籍。
1.3 ?基于深度學(xué)習(xí)的推薦算法及其應(yīng)用
深度學(xué)習(xí)技術(shù)能將數(shù)據(jù)的屬性或者特征進(jìn)行提取,通過(guò)構(gòu)建多層表示學(xué)習(xí)結(jié)構(gòu),組合原始數(shù)據(jù)中的簡(jiǎn)單特征,從而得到更高層、更抽象的分布式表示。自2016年YouTube發(fā)表論文將深度學(xué)習(xí)應(yīng)用于視頻推薦取得非常好的效果之后,深度學(xué)習(xí)技術(shù)在推薦系統(tǒng)上得到廣泛的應(yīng)用。王素琴等人[1]提出了基于LSTM網(wǎng)絡(luò)的在線課程推薦模型,同時(shí)按照課程之間關(guān)系的緊密程度對(duì)課程先進(jìn)行分類,提高推薦的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果證明,提出的方法與傳統(tǒng)的推薦算法相比,推薦準(zhǔn)確度高。Oord等人[14]提出使用卷積神經(jīng)網(wǎng)絡(luò)提取音頻信號(hào)中的潛在特征,然后根據(jù)潛在特征向用戶推薦音樂(lè),有效地解決了協(xié)同過(guò)濾算法存在的冷啟動(dòng)問(wèn)題。作者在含有百萬(wàn)首歌曲的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明提出的基于深度學(xué)習(xí)的音樂(lè)推薦方法具有良好的性能,優(yōu)于傳統(tǒng)的推薦算法。Bansal[15]提出了一種利用深度遞歸神經(jīng)網(wǎng)絡(luò)將文本序列編碼成潛在向量的方法,并利用多任務(wù)學(xué)習(xí)解決數(shù)據(jù)稀疏的問(wèn)題。作者將其應(yīng)用于論文推薦,通過(guò)大量實(shí)驗(yàn)證明該方法不僅能提高推薦的準(zhǔn)確率,而且能很好的解決冷啟動(dòng)的問(wèn)題。鄒峰[16]提出了一種基于深度神經(jīng)網(wǎng)絡(luò)和改進(jìn)相似性度量的推薦算法,同時(shí)考慮顯示和隱式兩種反饋數(shù)據(jù)對(duì)用戶的偏好建模,有效的解決了由于數(shù)據(jù)稀疏造成的推薦精度較低的問(wèn)題。鄧存彬等人[17]提出了一種將協(xié)同過(guò)濾與深度學(xué)習(xí)融合的推薦算法,首先利用深度學(xué)習(xí)挖掘用戶和電影的特征信息,然后將學(xué)習(xí)到的特征與協(xié)同過(guò)濾算法結(jié)合,最后在MovieLens數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明該方法有效地提高了推薦的準(zhǔn)確率。
2 ?基于GRU和課程關(guān)聯(lián)關(guān)系的課程推薦模型
2.1 ?問(wèn)題定義及符號(hào)表示
令 表示包含m個(gè)用戶的用戶集合, 表示包含n個(gè)課程的課程集合。 表示所有用戶的歷史選課數(shù)據(jù), 表示用戶 的課程學(xué)習(xí)序列 ,其中 表示用戶 在時(shí)間 學(xué)習(xí)的課程。課程推薦的目的是向目標(biāo)用戶 推薦在 時(shí)刻可能感興趣的課程。
2.2 ?GRU
GRU(Gate Recurrent Unit)是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的一種,它能夠解決傳統(tǒng)RNN無(wú)法解決的長(zhǎng)依賴問(wèn)題,且相比于LSTM網(wǎng)絡(luò)具有參數(shù)少、結(jié)構(gòu)簡(jiǎn)單和運(yùn)行效率高等優(yōu)點(diǎn)。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
GRU模型只有兩個(gè)門(mén):分別是重置門(mén)(reset gate)和更新門(mén)(update gate)。重置門(mén)決定了如何將新的輸入信息與前面的記憶相結(jié)合,更新門(mén)決定了當(dāng)前時(shí)刻保存多少前面的記憶。
首先根據(jù)上一時(shí)刻的輸出向量 和t時(shí)刻的輸入向量 得到兩個(gè)門(mén)控單元的狀態(tài)。
3.3 ?對(duì)比方法
我們選擇另外三種方法作為實(shí)驗(yàn)的對(duì)比方法,包括傳統(tǒng)的推薦算法、基于關(guān)聯(lián)規(guī)則的推薦算法和基于深度學(xué)習(xí)的推薦算法,具體內(nèi)容如下。
Apriori:首先從用戶的歷史記錄中挖掘項(xiàng)目存在的關(guān)聯(lián)關(guān)系,然后依據(jù)項(xiàng)目間的關(guān)聯(lián)關(guān)系進(jìn)行推薦。
CF:協(xié)同過(guò)濾是最常用的推薦算法之一,其原理是根據(jù)用戶間的相似性和項(xiàng)目間的相似性進(jìn)行推薦。
LSTM:長(zhǎng)短記憶網(wǎng)絡(luò)是遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的一種,適合用于處理時(shí)間序列數(shù)據(jù)。
3.4 ?模型性能分析
由表1可以看出,我們提出的方法的性能優(yōu)于所有的對(duì)比方法,當(dāng)K分別取5和10時(shí),我們提出的算法的 值分別達(dá)到0.432、和0.572,比Apriori算法提高了5.1%和8.3%,比CF算法提高了3.9%和5.3%,比LSTM算法提高了2.2%和3.4%。并且基于深度學(xué)習(xí)的算法的性能要優(yōu)于傳統(tǒng)的推薦算法,這是因?yàn)樯疃葘W(xué)習(xí)的方法能夠更好的挖掘數(shù)據(jù)潛在的特征,從而獲得數(shù)據(jù)更好的表示。
3.5 ?參數(shù)敏感性分析
本節(jié)我們探討了潛在向量維度n和推薦課程數(shù)K對(duì)模型性能的影響,結(jié)果如圖3、圖4所示。
由圖3可以看出,隨著特征向量維度的增加,模型的性能先是增強(qiáng),這是因?yàn)檩^高的維度能夠捕獲更多的信息,但是當(dāng)向量維度超過(guò)64以后,模型的性能反而逐漸下降,這是由于過(guò)高的維度造成了模型的過(guò)擬合,因此,當(dāng)特征向量的維度為64時(shí),模型的性能是最好的。然后我們分析了推薦課程得數(shù)目K對(duì)模型性能的影響。我們將推薦的課程數(shù)目K設(shè)置為1-10。從圖4可以觀察到,隨著課程數(shù)的增多,模型的性能是一直在提高的,這是因?yàn)橥扑]的課程數(shù)量越多,包含用戶喜歡的課程的概率就越大。
4 ?總結(jié)
本文基于在線課程學(xué)習(xí)的特點(diǎn),提出了一種基于GRU與課程關(guān)聯(lián)關(guān)系的個(gè)性化課程推薦算法。該方法能夠捕捉用戶長(zhǎng)期和短期的興趣,從用戶學(xué)習(xí)的課程序列中挖掘出用戶潛在的學(xué)習(xí)特征,從而向用戶推薦合適的課程。另外,該方法還考慮到課程之間具有關(guān)聯(lián)關(guān)系,從用戶的選課記錄中挖掘課程之間的先決關(guān)系,用于提高推薦的準(zhǔn)確性。最后,使用MOOC平臺(tái)的真實(shí)數(shù)據(jù)進(jìn)行實(shí)驗(yàn),結(jié)果表明,本文提出的方法能夠提高課程推薦的準(zhǔn)確性。
但是,該模型還具有一定的局限性,例如對(duì)于新用戶和新課程,其推薦的準(zhǔn)確率就比較低。未來(lái)我們的研究工作將考慮融合用戶和課程的特征信息來(lái)解決該問(wèn)題。
參考文獻(xiàn)
[1] 王素琴, 吳子銳. 利用LSTM網(wǎng)絡(luò)和課程關(guān)聯(lián)分類的推薦模型[J]. 計(jì)算機(jī)科學(xué)與探索, 2019, 13(8): 1380-1389.
[2] Cho K, Van Merri?nboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv: 1406.1078, 2014.
[3] 江周峰, 楊俊, 鄂海紅. 結(jié)合社會(huì)化標(biāo)簽的基于內(nèi)容的推薦算法[J]. 軟件, 2015, 36(1): 1-5.
[4] Van Meteren R, Van Someren M. Using content-based filtering for recommendation[C]. Proceedings of the Machine Learning in the New Information Age: MLnet/ECML2000 Workshop, 2000: 47-56.
[5] Ghauth K I, Abdullah N A. Learning materials recommenda-
tion using good learnersratings and content-based filtering [J]. Educational technology research and development, 2010, 58(6): 711-727.
[6] Almalis N D, Tsihrintzis G A, Karagiannis N, et al. FoDRA—A new content-based job recommendation algorithm for job see?king and recruiting[C]. 2015 6th International Conference on Information, Intelligence, Systems and Applications (IISA). IEEE, 2015: 1-7.
[7] Xing Z, Parandehgheibi M, Xiao F, et al. Content-based rec?o-mmendation for podcast audio-items using natural lang?uage processing techniques[C]. 2016 IEEE International Co?n?fer-ence on Big Data (Big Data). IEEE, 2016: 2378-2383.
[8] 李玲, 李晉宏. 基于隨機(jī)森林修正的加權(quán)二部圖推薦算法[J]. 軟件, 2018, 39(1): 110-115.
[9] 王志虎, 黃曼瑩. 基于用戶歷史行為的協(xié)同過(guò)濾推薦算法[J]. 微電子學(xué)與計(jì)算機(jī), 2017, 34(5): 132-136.
[10] 安政磊, 姚文斌. 一種基于用戶購(gòu)買意向的個(gè)性化推薦模型[J]. 軟件, 2015, 36(12): 80-82.
[11] 符饒. 基于位置服務(wù)的潛在好友推薦方法[J]. 軟件, 2015, 36(1): 62-66.
[12] 胡健, 王理江. 數(shù)據(jù)挖掘在選課推薦中的研究[J]. 軟件, 2016, 37(4): 119-121.
[13] 李大偉, 杜洪波, 周孝林, 等. 基于“用戶畫(huà)像”挖掘的圖書(shū)推薦App設(shè)計(jì)[J]. 軟件, 2018, 39(5): 35-37.
[14] Van den Oord A, Dieleman S, Schrauwen B. Deep content- based music recommendation[C]. Advances in neural inform?ation processing systems, 2013: 2643-2651.
[15] Bansal T, Belanger D, McCallum A. Ask the gru: Multi-task learning for deep text recommendations. Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 2016: 107-114.
[16] 鄒鋒. 基于深度神經(jīng)網(wǎng)絡(luò)和改進(jìn)相似性度量的推薦算法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2019(11): 47.
[17] 鄧存彬, 虞慧群, 范貴生. 融合動(dòng)態(tài)協(xié)同過(guò)濾和深度學(xué)習(xí)的推薦算法[J]. 計(jì)算機(jī)科學(xué), 2019, 46(8): 28-34.