汪 曄
(安徽商貿(mào)職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241000)
在如今的“互聯(lián)網(wǎng)+”時代下,教育行業(yè)的傳統(tǒng)教育模式也經(jīng)受著非常大的沖擊[1]。以往的傳統(tǒng)教育模式也逐漸向移動教育轉(zhuǎn)移,AI、互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,使得移動教育也在隨之快速成長,個性化教育才能真正的從理論走向?qū)嵺`[2]。研究表明,大眾對在線教育的認(rèn)可度逐年提升,各種在線教育App下載量急劇上升[3]。職業(yè)技術(shù)、語言/留學(xué)、高等教育、K12、幼教五大垂直細分市場在政策與技術(shù)的推動下不斷深挖。雖然目前在線教育成功案例較多,但仍然較少涉及到AI能力,雖然智能教育平臺優(yōu)化方向較多,本次研究著重探討是教育平臺課程推薦的能力,期望將與大數(shù)據(jù)技術(shù)相關(guān)的圖計算技術(shù)應(yīng)用到教育平臺推薦系統(tǒng)中,依靠圖計算技術(shù)海量數(shù)據(jù)處理能力來優(yōu)化平臺較大的數(shù)據(jù)規(guī)模。
主要目標(biāo)是構(gòu)建出一個基于顯式評分的在線教育推薦系統(tǒng)。在構(gòu)建推薦系統(tǒng)時,首先要解決數(shù)據(jù)稀疏性與冷啟動問題。其中,數(shù)據(jù)稀疏性問題在推薦系統(tǒng)中主要是指學(xué)生評分行為與其學(xué)習(xí)、瀏覽行為相比,占比只是很小的一部分,這樣會導(dǎo)致最終的評價矩陣存在稀疏性,造成推薦結(jié)果不準(zhǔn)確;冷啟動屬于數(shù)據(jù)稀疏性問題下的一種特殊情況,當(dāng)新用戶注冊或新課程上線時,由于新用戶未選擇過課程,新課程也未被用戶選擇過,因此無論選擇哪一種算法均無法執(zhí)行推薦。傳統(tǒng)的解決方案為缺省值填充法,該方法針對特殊場景進行預(yù)測數(shù)據(jù)的構(gòu)造,并對用戶-項目數(shù)據(jù)進行填充,式(1),式(2)分別為基于用戶、課程維度的加權(quán)平均值計算公式。
(1)
(2)
式(1),式(2)中,ri,c表示評分人i對項目c的評分;ri表示評分人i全部課程的平均評分;ru表示用戶u所有課程平均評分;ru,c表示項目c在用戶u中的評分?jǐn)?shù)據(jù);N表示項目c的評分人集合。但是該方法雖然能夠較好的緩解數(shù)據(jù)稀疏性問題,然而其平均化概念卻會將推薦系統(tǒng)的個性化特征抹殺掉。因此,本次研究采用協(xié)同過濾推薦算法,該算法的核心數(shù)據(jù)結(jié)構(gòu)為算法用戶-項目評價矩陣,稠密與稀疏的用戶-項目評價矩陣如表1所示。
表1 稠密與稀疏的用戶-項目評價矩陣
由表1中評價矩陣可以演練協(xié)同過濾推薦算法,例如應(yīng)用協(xié)同過濾推薦算法對稀疏矩陣中的用戶進行推薦,Item3將不會進入推薦列表,主要原因為用戶未對本項目進行過評分,這就導(dǎo)致了系統(tǒng)的冷啟動問題。因此,數(shù)據(jù)稀疏性可以帶來較差的推薦效果。本次研究分別應(yīng)用了直接表示法、簡單轉(zhuǎn)化法、文本處理技術(shù)(NLP)對學(xué)生課程行為數(shù)據(jù)進行處理;而對于學(xué)生團體解決方案而言,則應(yīng)用了與大數(shù)據(jù)技術(shù)相關(guān)的社區(qū)發(fā)現(xiàn)算法,該算法主要在以點邊連接的復(fù)雜網(wǎng)絡(luò)中尋找出各個小社區(qū),并且各個小社區(qū)中的點均具有相同的某種特征。
二部圖屬于圖論中的特殊模型,只有將傳統(tǒng)推薦算法的相似度計算轉(zhuǎn)化為二部圖來進行研究,才可以更好的對教育平臺上的數(shù)據(jù)進行二部圖模型轉(zhuǎn)換[4]?;趦?nèi)容的推薦算法是通過課程元數(shù)據(jù)相似性來定義,而基于項目的協(xié)同過濾算法是通過課程自身特征及用戶喜好程度來定義[5]。但傳統(tǒng)二部圖算法在能量的傳遞與流轉(zhuǎn)中仍然存在較多問題,其中最為明顯的一個問題就是課程、學(xué)生能量間的傳遞,都是進行了平均分配后才往后傳遞。由于忽略了傳遞過程中的度和用戶課程喜好程度兩個方面,以致推薦結(jié)果存在嚴(yán)重的效應(yīng)問題及數(shù)據(jù)稀疏問題。因此,研究提出了基于二部圖推薦優(yōu)化算法,旨在解決傳統(tǒng)二部圖推薦算法中存在的問題。首先應(yīng)用隨機游走改進策略,淡化能量傳遞的具體過程,并采用傳統(tǒng)模式中能量傳遞的基本思路。改進策略的算法共有N輪迭代,且每一輪迭代過程相同,在每一次迭代過程不斷調(diào)整數(shù)據(jù)量的大小,以確保算法的準(zhǔn)確性。
隨機游走過程主要包括了兩個隨機選擇策略步驟,首先將每個學(xué)生看作是獨立起始節(jié)點選擇一門課程,以此過程為下一次的游走目標(biāo),并以學(xué)生評分后的課程為備選集,在其中選擇一門課程。二是進行反向游走,將課程視角節(jié)點下,在已學(xué)本課學(xué)生的列表中進行節(jié)點的選取并反向游走,但在此過程中不能選取源學(xué)生節(jié)點。該出的策略可以看作是隨機選擇.在第二步策略的每輪游走均會記錄學(xué)生的相關(guān)數(shù)據(jù),以找到游走時選擇與源學(xué)生節(jié)點相似程度最高的記錄情況。結(jié)合前文中的思路,應(yīng)用Spark平臺對二部圖推薦算法進行進一步的優(yōu)化。本次研究在Spark平臺中給出了適用于二部圖模型與數(shù)據(jù)源的結(jié)構(gòu)定義及算法實現(xiàn)。在程序中定義了4個核心RDD,其中edgeRdd表示評分行為及數(shù)據(jù),userRdd表示學(xué)生用戶信息,lessonRdd表示課程信息,recordRdd表示計算結(jié)果記錄。算法程序?qū)?zhí)行M次重復(fù)的游走過程,每次執(zhí)行都會針對每一個學(xué)生產(chǎn)生一條游走記錄,游走記錄初始狀態(tài)為學(xué)生01,學(xué)生02,學(xué)生03,學(xué)生04。再對游走第一步課程選擇于第二步學(xué)生選擇函數(shù)進行實現(xiàn),首先在程序中加入choseLesson函數(shù),設(shè)定返回值為一個三元組,包括了評分、源學(xué)生ID,課程ID。采用學(xué)生ID為聚合主鍵進行g(shù)roupBy操作,獲取每個學(xué)生的課程評分列表,并進行備選列表的隨機選擇三個備選課程與排序,該過程將直接影響到整個推薦算法的結(jié)果,排序結(jié)束后從優(yōu)先級別最高的課程返回。
游走第二步學(xué)生節(jié)點選擇函數(shù)則較為復(fù)雜,首先要將edgeRdd與lessonResultRdd以ID為key值進行map操作,以整合度信息、評分信息和游走結(jié)果數(shù)據(jù)。然后針對源用戶選取目標(biāo)用戶,再將結(jié)果返回進行記錄。而排序指標(biāo)包括了源用戶、評分?jǐn)?shù)據(jù)相似度以及學(xué)生用戶的度。進行一次完整的推薦流程會執(zhí)行M次游走過程,在Spark中每個節(jié)點均為并行游走形式,在M次迭代后,整合recordRdd后結(jié)果為學(xué)生01(02,03,02,…),學(xué)生02(01,04,01,…),學(xué)生03(01,01,01,…),學(xué)生04(01,03,03,…)。再以游走結(jié)果記錄為基礎(chǔ)進行Top-N推薦。
研究主要針對改進二部圖推薦算法與傳統(tǒng)協(xié)同過濾推薦算法進行測試對比。測試包括了兩套測試環(huán)境,二部圖推薦算法采用了Spark平臺,傳統(tǒng)推薦算法則在單機上實現(xiàn),測試的核心指標(biāo)包括了準(zhǔn)確率、召回率及F1值。實驗測試數(shù)據(jù)采用了MovieLen數(shù)據(jù)集,實驗數(shù)據(jù)主體為評分人、評分對象及評分?jǐn)?shù)據(jù)。實驗數(shù)據(jù)集主要包含了movies.dat, users.dat, ratings.dat文件,數(shù)據(jù)量分別為3884,6030,1000210。由于本次研究的數(shù)據(jù)集非常完整且特征屬性明確,所以特征向量相似度公式的選取就成為測試的關(guān)鍵。計算結(jié)果如圖1所示。
圖1 基于二部圖的推薦算法
對于二部圖推薦算法的測試,并選擇600迭代輪次進行實驗,并在選擇游走目標(biāo)時引入節(jié)點度,同時在第二輪中納入用戶相似度概念?;诙繄D推薦算法三種指標(biāo)實驗結(jié)果,如圖1所示。由圖1可以看出召回率波動性較強,在1~4區(qū)間中,對應(yīng)參考評分人數(shù)量增加,推薦電影數(shù)量不變的情況下,可知評分人數(shù)量與召回率存在線性相關(guān),說明召回率受到評分人數(shù)量的影響較大,而最終結(jié)果并未受到推薦電影數(shù)量的影響。而準(zhǔn)確率與F值的趨勢基本一致,在參考評分人數(shù)量最多且推薦電影數(shù)量最少時,準(zhǔn)確率最優(yōu)。在保持推薦電影數(shù)量不變時,提升評分人數(shù)也能有效提升準(zhǔn)確率。
圖2為兩種算法在準(zhǔn)確率、召回率的對比。整體上看,改進二部圖算法的準(zhǔn)確率較低于協(xié)同過濾算法,但在參數(shù)4時,二部圖算法準(zhǔn)確率較優(yōu);召回率則呈現(xiàn)出交替占優(yōu)的情況。協(xié)同過濾算法整體波動性較小,反映出該算法會在較小的程度上受到參考評分人數(shù)與推薦電影數(shù)量的影響。而二部圖算法則在召回率與準(zhǔn)確率上只受到評分人數(shù)的影響非常大,因此變化波動較大。由于在實驗主要體現(xiàn)了各自參數(shù)最優(yōu)情況下的表現(xiàn),并非為平均表現(xiàn)。所以二部圖算法在整體上是大幅度優(yōu)于協(xié)同過濾算法的。同時,二部圖算法對于協(xié)同過濾算法在準(zhǔn)確率和召回率上的優(yōu)勢,分別要高25%和23%。
圖2 兩種算法在準(zhǔn)確率、召回率的對比
研究針對在線教育領(lǐng)域方面的內(nèi)容,應(yīng)用了基于二部圖的優(yōu)化技術(shù)對提出的教育平臺推薦方法進行了測試研究。結(jié)果顯示,二部圖推薦算法的召回率受到評分人數(shù)量的影響較大,而最終結(jié)果并未受到推薦電影數(shù)量的影響。準(zhǔn)確率與F值的趨勢基本一致,在參考評分人數(shù)量最多且推薦電影數(shù)量最少時,準(zhǔn)確率最優(yōu)。在保持推薦電影數(shù)量不變時,提升評分人數(shù)也能有效提升準(zhǔn)確率。二部圖算法在整體上是大幅度優(yōu)于協(xié)同過濾算法的。二部圖優(yōu)化算法與協(xié)同過濾算法相比,在準(zhǔn)確率和召回率上的優(yōu)勢,分別要高25%和23%。