梁婷婷, 李麗琴
(廣西民族師范學(xué)院 數(shù)學(xué)與計算機科學(xué)學(xué)院, 廣西 崇左 532200)
在大數(shù)據(jù)環(huán)境下,網(wǎng)絡(luò)學(xué)習(xí)環(huán)境存在著“信息過載”和“信息迷航”的問題。在線學(xué)習(xí)過程中,與傳統(tǒng)的標(biāo)準(zhǔn)化服務(wù)方式不同,若能獲得有智能化的、具有針對性、個性化的學(xué)習(xí)資源推薦服務(wù),將大大提高學(xué)習(xí)者的學(xué)習(xí)效率和學(xué)習(xí)體驗。個性化學(xué)習(xí)資源推薦技術(shù)逐漸成為教育領(lǐng)域與智能信息處理領(lǐng)域的一個重要研究課題。
近年來,深度學(xué)習(xí)算法在人工智能相關(guān)熱門應(yīng)用中發(fā)揮了重要作用,在廣泛領(lǐng)域中大大提升原有算法的性能。將深度學(xué)習(xí)與推薦算法結(jié)合也成為近幾年的研究熱點。ACM RecSys是一個推薦系統(tǒng)的專門會議,特別開設(shè)了深度學(xué)習(xí)與推薦系統(tǒng)討論組。深度學(xué)習(xí)在推薦系統(tǒng)中的應(yīng)用領(lǐng)域包括構(gòu)建特征、生成推薦候選集合、以及預(yù)測推薦分值等。
主流的推薦算法包括:基于知識推薦、基于內(nèi)容推薦、協(xié)同過濾算法和組合推薦。其各自的優(yōu)缺點比較見表1。深度學(xué)習(xí)的主要模型有神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、自動編碼機等[1]。本文著重使用了幾個相關(guān)算法,下面簡要描述其特點。
基于協(xié)同過濾的推薦算法又可分為兩大類:基于內(nèi)存和基于模型的協(xié)同過濾。基于內(nèi)存的協(xié)同過濾再細(xì)分為基于用戶和基于項目的協(xié)同過濾。前者適用于用戶數(shù)遠(yuǎn)小于項目數(shù)的系統(tǒng),后者則適用于項目數(shù)遠(yuǎn)小于用戶數(shù)的系統(tǒng)。比如在新聞推薦系統(tǒng)中,新聞的類別(項目)就只分為有限幾類,如財經(jīng)、軍事、體育等,則適用于基于項目的協(xié)同過濾。對于整體來說,第一類的計算量過大。第二類會為數(shù)據(jù)事先設(shè)計好一個訓(xùn)練模型,用戶和項目數(shù)據(jù)都隱藏在該低維度結(jié)構(gòu)的模型中,每次計算都基于該模型進行,從而提高了算法準(zhǔn)確度、運算速度與系統(tǒng)伸縮性。

表1 各推薦算法的優(yōu)缺點
推薦算法本質(zhì)上屬于機器學(xué)習(xí)。深度學(xué)習(xí)也是機器學(xué)習(xí)的一種,深度學(xué)習(xí)起源于人工神經(jīng)網(wǎng)絡(luò),模擬人腦的機制來解釋數(shù)據(jù),其通過組合低層特征,形成更加抽象的高層表示,發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。深度學(xué)習(xí)為理解圖像、聲音等數(shù)據(jù)的意義,進行多層次的表示和抽取的學(xué)習(xí),逐層學(xué)習(xí),每一層提取數(shù)據(jù)的一個或多個不同方向的特征,每一層學(xué)習(xí)到的知識(特征)作為下一層的輸入,逐層學(xué)習(xí)的次數(shù)就是學(xué)習(xí)的深度。
卷積神經(jīng)網(wǎng)絡(luò)CNN是一種深度前饋人工神經(jīng)網(wǎng)絡(luò),具有兩層基本結(jié)構(gòu),一為特征提取層,二是特征映射層,可隱式地從訓(xùn)練數(shù)據(jù)中進行并行學(xué)習(xí)。循環(huán)神經(jīng)網(wǎng)絡(luò)RNN是一種節(jié)點定向連接成環(huán)的人工神經(jīng)網(wǎng)絡(luò)。處理單元之間既有內(nèi)部的反饋連接又有前饋連接,可以展示動態(tài)時序行為,比前饋神經(jīng)網(wǎng)絡(luò)具有更強的動態(tài)行為和計算能力。
推薦算法是個性化資源推薦服務(wù)技術(shù)中的核心,很大程度上決定了推薦服務(wù)性能的優(yōu)劣。
討論結(jié)合深度學(xué)習(xí)與推薦系統(tǒng)的問題,始于2013年K.Georgiev等人的基于受限玻爾茲曼機的協(xié)同過濾算法(RBM-CF)[2]。2015年,S.Sedhain等人提出在實驗中表現(xiàn)良好的基于自動編碼機的協(xié)同過濾推薦模型(AutoRec算法)[3]。這兩者中使用了全新的推薦框架,但更多的信息較難融入其中,擴展性弱。
針對解析多媒體資源的能力問題,很多學(xué)者提出了一些基于內(nèi)容的推薦算法,改進傳統(tǒng)的矩陣分解模型表達能力弱的特點,實驗效果良好,提高了推薦效果。如:FuZheng Zhang等采用CKE算法無監(jiān)督的自動編碼器與卷積自動編碼器對各種信息進行特征提取,多維度地分析了推薦對象的結(jié)構(gòu)化信息、文本和圖片等[4]。Oord Aaron等利用深度卷積神經(jīng)網(wǎng)絡(luò)模型對音樂的語音信息進行分析(DeepMusic算法)[5];WangHao等利用自動編碼機分析資源中的文本信息(CDL算法)[6]。
Wayn等人在產(chǎn)品推薦系統(tǒng)中,通過電商網(wǎng)站和社交網(wǎng)站中建立一座連接橋梁,將社交網(wǎng)絡(luò)上用戶特征映射為電商網(wǎng)站產(chǎn)品推薦中的特征表示,利用RNN與電商網(wǎng)上的用戶數(shù)據(jù),訓(xùn)練用戶與產(chǎn)品的特征表示[7]。Covington等人推薦視頻的研究中,利用DNN來學(xué)習(xí)和表示用戶的視頻觀看歷史記錄和關(guān)鍵字搜索記錄,用戶個人信息也輸入進DNN中,學(xué)習(xí)用戶的潛在特征向量表示[8]。
在企業(yè)級的推薦系統(tǒng)應(yīng)用中,音樂平臺Spotify利用循環(huán)神經(jīng)網(wǎng)絡(luò)來對用戶的行為進行預(yù)測,利用深度學(xué)習(xí)分析歌曲風(fēng)格,根據(jù)音樂風(fēng)格進行推薦[5];Netflix 和Google公司將深度神經(jīng)網(wǎng)絡(luò)RNN成功應(yīng)用到其視頻推薦系統(tǒng)[8]中;而微軟公司將深度學(xué)習(xí)應(yīng)用于應(yīng)用程序和新聞的推薦,都取得了較好的結(jié)果。
筆者以“深度學(xué)習(xí)”、“個性化推薦”為關(guān)鍵字,在中國知網(wǎng)(CNKI)中針對主題進行檢索,共檢出34篇文章,發(fā)表時間為2015年1月至2018年9月,每年分別發(fā)表4、5、8、17篇,呈逐年上升的趨勢。其中,結(jié)合深度學(xué)習(xí)和個性化推薦算法應(yīng)用在視頻、論文、圖書館、游戲、電商、學(xué)習(xí)資源等領(lǐng)域。
隨著分布式技術(shù)的發(fā)展,提升大數(shù)據(jù)處理能力,深度學(xué)習(xí)得到了更加廣泛的應(yīng)用。相較于傳統(tǒng)的個性化推薦算法,與深度學(xué)習(xí)結(jié)合的算法,具有對多源數(shù)據(jù)的優(yōu)秀表達能力,自動提取抽象特征、挖掘用戶的興趣偏好等優(yōu)勢。
在學(xué)習(xí)資源個性化推薦服務(wù)中,學(xué)習(xí)者和學(xué)習(xí)資源的特點為:學(xué)習(xí)資源一般存儲在在線課程學(xué)習(xí)平臺上,平臺上的學(xué)習(xí)者一般具有較為詳細(xì)的個人信息和學(xué)習(xí)目的,學(xué)習(xí)者訪問的學(xué)習(xí)資源往往和學(xué)習(xí)者本身屬性相關(guān),如專業(yè)、職業(yè)目標(biāo)等。但是學(xué)習(xí)者訪問學(xué)習(xí)資源時,可能并不是自己最喜歡的,而可能是僅僅和自己本身專業(yè)相關(guān)。學(xué)習(xí)資源之間會有彼此的關(guān)聯(lián)性,資源的知識內(nèi)容有一定的連貫性,下一次學(xué)習(xí)的內(nèi)容可能與上一次訪問的資源存在著依賴。也就是說,學(xué)習(xí)資源的訪問順序也應(yīng)該是推薦算法所要考慮的范圍,即考慮學(xué)習(xí)者興趣變換的時間因素。然而目前的協(xié)同過濾方法鮮少考慮到學(xué)習(xí)者隨時間變化的興趣趨向。循環(huán)神經(jīng)網(wǎng)絡(luò)算法RNN已被證明對序列模型有效。
通過上訴的特點分析,本文結(jié)合神經(jīng)網(wǎng)絡(luò)算法,改進基于模型的協(xié)同過濾推薦算法,額外考慮學(xué)習(xí)者信息、學(xué)習(xí)資源序列信息、學(xué)習(xí)者興趣變換的時間因素等,推薦框架如圖1所示。

圖1 結(jié)合深度學(xué)習(xí)的協(xié)同過濾推薦框架
Fig.1Collaborativefilteringrecommendationframeworkwithdeeplearning
該框架的數(shù)據(jù)處理流程大致如下:提取學(xué)習(xí)者的屬性特征,包括用戶ID、資源ID、學(xué)習(xí)者專業(yè)、學(xué)習(xí)資源大類、資源小類等,作為模型的輸入;第一個神經(jīng)網(wǎng)絡(luò)CNN根據(jù)目標(biāo)學(xué)習(xí)者與其它學(xué)習(xí)者的相似度,生成相似度靠前的學(xué)習(xí)資源推薦列表作為候選列表;與學(xué)習(xí)者訪問學(xué)習(xí)資源的順序序列的特征一起,作為第二個神經(jīng)網(wǎng)絡(luò)RNN的輸入,最終輸出符合下一個短期事件主題的排名靠前的n個推薦資源給學(xué)習(xí)者。
結(jié)合深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)算法和協(xié)同過濾推薦算法的框架,針對在短期推薦系統(tǒng)的學(xué)習(xí)者最近學(xué)習(xí)行為的現(xiàn)象,提高預(yù)測精度。傳統(tǒng)的協(xié)同過濾算法中存在“冷啟動”的問題,在下一步,可利用卷積神經(jīng)網(wǎng)絡(luò)依據(jù)學(xué)習(xí)資源中的文本信息進行基于內(nèi)容的個性化推薦,從而提高針對新用戶的精準(zhǔn)推薦。