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