周 聞,岑 崗
(浙江科技學(xué)院 a.機(jī)械與能源工程學(xué)院;b.信息與電子工程學(xué)院,杭州 310023)
隨著教育信息技術(shù)的發(fā)展,在線學(xué)習(xí)逐漸得到人們的關(guān)注。這種新的學(xué)習(xí)方式給傳統(tǒng)教學(xué)模式帶來(lái)了前所未有的沖擊,如2012年Udacity、Coursera等在線學(xué)習(xí)平臺(tái)的出現(xiàn),獲得了廣大學(xué)生的一致好評(píng)。與傳統(tǒng)教學(xué)模式相比,在線學(xué)習(xí)平臺(tái)憑借其可隨時(shí)隨地學(xué)習(xí)、資源重復(fù)利用、投入資金較少、每個(gè)人都可享受高質(zhì)量課程資源等優(yōu)勢(shì),成為教育領(lǐng)域的熱門研究主題[1]。但是在享受這些便利的同時(shí),也面臨著信息過(guò)載等問(wèn)題,越來(lái)越多的課程資源使得學(xué)生如何在學(xué)習(xí)平臺(tái)上選取適合自己的課程變得十分必要。因此,個(gè)性化推薦功能應(yīng)運(yùn)而生,它能挖掘?qū)W生的需求或興趣,根據(jù)相關(guān)算法進(jìn)行有效推薦[2]。中國(guó)的個(gè)性化推薦技術(shù)在在線學(xué)習(xí)領(lǐng)域中的應(yīng)用起步較晚,發(fā)展速度較慢。就目前的研究來(lái)看,大部分在線學(xué)習(xí)平臺(tái)的個(gè)性化推薦功能的研究都是對(duì)推薦系統(tǒng)進(jìn)行總體設(shè)計(jì)或?qū)ζ脚_(tái)的資源推薦策略、學(xué)習(xí)路徑進(jìn)行研究,例如:張琳等[3-5]對(duì)學(xué)習(xí)資源的個(gè)性化推薦系統(tǒng)進(jìn)行設(shè)計(jì)研究,以提高學(xué)生的學(xué)習(xí)效率;錢研[6]對(duì)學(xué)習(xí)平臺(tái)的個(gè)性化學(xué)習(xí)資源推送策略進(jìn)行了研究,構(gòu)建了資源推送模型,為學(xué)生提供真正合適的課程;葉露[7]在學(xué)習(xí)平臺(tái)的個(gè)性化推薦與學(xué)習(xí)路徑規(guī)劃上進(jìn)行了研究,解決了學(xué)習(xí)資源的信息過(guò)載問(wèn)題,對(duì)學(xué)生的學(xué)習(xí)規(guī)劃有指導(dǎo)意義。上述研究雖然在推薦的準(zhǔn)確性、多樣性和新穎性上有了一定的提升,但沒(méi)有從推薦功能的服務(wù)對(duì)象、用戶體驗(yàn)角度來(lái)進(jìn)行設(shè)計(jì),這就造成了許多問(wèn)題:推薦的相關(guān)課程缺乏解釋,學(xué)生對(duì)學(xué)習(xí)平臺(tái)推薦的結(jié)果感到困惑,不知道推薦的依據(jù)是什么,尤其是對(duì)陌生領(lǐng)域的推薦內(nèi)容;推薦的課程相關(guān)性較低,不是學(xué)生想要學(xué)的課程;獲取推薦結(jié)果的速度跟不上請(qǐng)求速度,造成用戶體驗(yàn)下降;出現(xiàn)了許多推薦結(jié)果不可解釋的現(xiàn)象[8]。針對(duì)這些問(wèn)題,我們以車輛工程專業(yè)為例,提出構(gòu)建可解釋的個(gè)性化推薦在線學(xué)習(xí)平臺(tái),利用多種推薦算法并行計(jì)算的方式來(lái)進(jìn)行混合推薦,對(duì)學(xué)生進(jìn)行課程的個(gè)性化推薦。以可解釋性為目標(biāo),根據(jù)相應(yīng)的特征以完整的、語(yǔ)義連貫的句子模板生成解釋語(yǔ)句,為學(xué)生提供“推薦+解釋”的組合,從而優(yōu)化推薦效果和用戶體驗(yàn),提高了平臺(tái)的可信任度和透明度。
圖1 可解釋個(gè)性化推薦學(xué)習(xí)平臺(tái)整體框架
整個(gè)平臺(tái)的框架分為學(xué)生模塊、課程模塊、機(jī)構(gòu)模塊、推薦模塊和管理模塊5個(gè)子模塊,各個(gè)子模塊分別包括若干個(gè)功能模塊,具體如圖1所示。
平臺(tái)的可解釋個(gè)性化推薦功能的核心是采用混合推薦方式,通過(guò)基于內(nèi)容的推薦算法、基于物品和基于用戶的協(xié)同過(guò)濾推薦算法、基于顯因子模型(explicit factor models)推薦算法[9]等4種推薦算法并行計(jì)算進(jìn)行推薦,并根據(jù)各自特征標(biāo)簽基于模板生成解釋語(yǔ)句,向?qū)W生解釋為何推薦相關(guān)課程。在不同的情況下,以不同的權(quán)值分別進(jìn)行個(gè)性化推薦課程。當(dāng)平臺(tái)起步的時(shí)候,學(xué)生數(shù)據(jù)不充足的情況下,會(huì)產(chǎn)生“冷啟動(dòng)”?!袄鋯?dòng)”主要包括3類:一是用戶“冷啟動(dòng)”,當(dāng)平臺(tái)剛起步時(shí),對(duì)新的學(xué)生用戶進(jìn)行個(gè)性化推薦;二是物品“冷啟動(dòng)”,將新的課程推薦給可能對(duì)其感興趣的學(xué)生;三是系統(tǒng)“冷啟動(dòng)”,在平臺(tái)學(xué)生用戶行為少且只有少數(shù)課程信息的情況下為其進(jìn)行個(gè)性化推薦。
針對(duì)用戶“冷啟動(dòng)”,平臺(tái)設(shè)有熱門課程,將最熱門的課程推薦給學(xué)生,同時(shí)平臺(tái)基于內(nèi)容的推薦算法,通過(guò)提取學(xué)生注冊(cè)時(shí)自定義的標(biāo)簽及其選擇的感興趣主題,為學(xué)生推薦其可能感興趣的課程[10]。針對(duì)物品“冷啟動(dòng)”,平臺(tái)在教師上傳課程時(shí),通過(guò)對(duì)課程的標(biāo)簽分類進(jìn)行語(yǔ)義分析,得到可供教師選擇的課程主題,教師也可自定義設(shè)置課程的主題。通過(guò)這一方式完成對(duì)課程的初步分類,為后續(xù)推薦做好準(zhǔn)備。針對(duì)系統(tǒng)“冷啟動(dòng)”,基于以上兩種“冷啟動(dòng)”問(wèn)題解決方案,平臺(tái)利用學(xué)生注冊(cè)時(shí)選擇的感興趣主題與學(xué)習(xí)課程標(biāo)簽進(jìn)行匹配來(lái)完成初步的推薦,以解決在學(xué)生用戶行為少,只有一部分課程信息時(shí)的推薦問(wèn)題。
當(dāng)學(xué)生的行為記錄(如評(píng)論和評(píng)分等)超過(guò)一定量的時(shí)候,可以用基于物品的協(xié)同過(guò)濾推薦算法(ItemCF)和基于用戶的協(xié)同過(guò)濾推薦算法(UserCF)來(lái)進(jìn)行計(jì)算。根據(jù)學(xué)生喜歡的課程,采用ItemCF推薦與其所喜歡的課程相似的課程,采用UserCF找到與目標(biāo)學(xué)生有相同興趣的學(xué)生,將有相同興趣的學(xué)生所喜歡的課程推薦給目標(biāo)學(xué)生[11]。用顯因子模型對(duì)學(xué)生給予課程的評(píng)論及打分進(jìn)行短語(yǔ)級(jí)的情感分析,構(gòu)建相應(yīng)的情感詞典和矩陣,計(jì)算學(xué)生對(duì)每個(gè)特征的喜好程度來(lái)對(duì)課程進(jìn)行推薦,并根據(jù)各自的特征形成解釋語(yǔ)句,實(shí)現(xiàn)可解釋功能。
學(xué)生在注冊(cè)時(shí),系統(tǒng)會(huì)讓他選擇自己感興趣的特征標(biāo)簽,學(xué)生的特征向量取所有標(biāo)簽的權(quán)重平均值,用P(Ci)表示學(xué)生的興趣特征,課程的特征向量用TF-IDF(詞頻-逆向文件頻率)方法來(lái)計(jì)算。假設(shè)N為課程的總數(shù)量,fT,ij=fij/max(fj),fID,i=log(N/ni)。其中,fij為特征Ki在課程Cj中出現(xiàn)的次數(shù),max(fj)為課程Cj中特征Ki出現(xiàn)的最大次數(shù),ni為包含第i個(gè)特征的課程數(shù)量,fj為第j門課程的所有特征標(biāo)簽數(shù)量。因此,第i個(gè)特征在第j門課程中的TF-IDF權(quán)重Wij為fT,ij×fID,i,第j門課程的特征向量Fj={W1j,W2j,…,Wij}。
對(duì)學(xué)生興趣向量表和課程特征向量表進(jìn)行余弦相似度的計(jì)算,取值較高的課程資源信息推送給學(xué)生,相似度計(jì)算公式為
(1)
式(1)中:Wi為學(xué)生對(duì)課程第i個(gè)特征的喜好程度;Wj為第j門課程中包含該特征的程度(出現(xiàn)該特征的頻率)。
每個(gè)學(xué)生的操作都是獨(dú)立的,不依賴于其他學(xué)生的用戶行為,可以較好地解決部分“冷啟動(dòng)”和稀疏性的問(wèn)題。
學(xué)生在使用平臺(tái)時(shí)會(huì)留下大量的顯性反饋行為數(shù)據(jù)和隱性反饋行為數(shù)據(jù)。顯性反饋行為即學(xué)生明確表示對(duì)課程喜好的行為,包括對(duì)課程的收藏操作、評(píng)分操作等;隱性反饋行為即不能明確反映學(xué)生喜好的行為,包括觀看時(shí)長(zhǎng)、評(píng)論記錄等。平臺(tái)通過(guò)這些數(shù)據(jù)及學(xué)生和課程的標(biāo)簽,計(jì)算出學(xué)生之間的余弦相似度,在相似度的基礎(chǔ)上構(gòu)建學(xué)生與課程的關(guān)聯(lián)。
1)選取與目標(biāo)學(xué)生u最接近的N個(gè)學(xué)生(用下標(biāo)v表示N個(gè)學(xué)生中的某個(gè)學(xué)生);
2)根據(jù)N個(gè)學(xué)生對(duì)課程i的不同行為(觀看時(shí)長(zhǎng)、評(píng)分、收藏、評(píng)論等),確定N個(gè)學(xué)生與課程i的關(guān)聯(lián)度rv i;
3)確定目標(biāo)學(xué)生u與N個(gè)其他學(xué)生的不同相似度mu v;
4)計(jì)算目標(biāo)學(xué)生u與課程i的推薦度
(2)
5)將推薦度高的課程推薦給學(xué)生,并生成“學(xué)過(guò)該課程的學(xué)生也喜歡此課程”的解釋語(yǔ)句,實(shí)現(xiàn)可解釋功能。
若兩門課程同時(shí)被多名學(xué)生喜歡(對(duì)課程有過(guò)收藏操作、積極評(píng)論、高評(píng)分等行為),則它們之間有一定的相似性;同時(shí)喜歡它們的學(xué)生越多,則它們之間的相似性越高。M(i)表示喜歡課程i的學(xué)生數(shù)量,M(j)表示喜歡課程j的學(xué)生數(shù)量,M(i)∩M(j)表示同時(shí)喜歡課程i和課程j的學(xué)生數(shù)量,因此課程之間相似度
(3)
平臺(tái)通過(guò)課程之間的相似度及學(xué)生的歷史行為為學(xué)生生成推薦列表。課程j對(duì)學(xué)生u的推薦度
(4)
式(4)中:i為某學(xué)生喜歡的某一課程;j為某集合中的某一課程;N(u)為學(xué)生喜歡的課程集合;S(i,k)為與課程i最相似的k門課程的集合;wji為課程j和課程i的相似度;rui為學(xué)生u對(duì)課程i的喜歡程度,學(xué)生u對(duì)課程i的收藏操作或觀看該課程的時(shí)間越長(zhǎng),則表示學(xué)生u對(duì)課程i的喜歡程度越高。
之后,將推薦度高的課程推薦給學(xué)生,并生成“此課程與某課程推薦度為多少”的解釋語(yǔ)句,以實(shí)現(xiàn)可解釋功能。
圖2 基于顯因子模型的推薦算法的可解釋推薦步驟
顯因子模型方法從用戶文本評(píng)論當(dāng)中提取顯式的物品特征,并將矩陣分解中的每個(gè)潛在維度與特定的顯式特征進(jìn)行對(duì)齊,使分解或預(yù)測(cè)過(guò)程能夠被跟蹤,為推薦提供顯式的解釋,有助于提高推薦系統(tǒng)的可信度[2]。將該方法運(yùn)用到在線學(xué)習(xí)平臺(tái)上同樣適用。隨著平臺(tái)的運(yùn)用,會(huì)有越來(lái)越多的學(xué)生行為數(shù)據(jù)如學(xué)生對(duì)課程的評(píng)分和評(píng)論在積累,這些信息用于更全面地評(píng)估學(xué)生的偏好非常有價(jià)值,可以用來(lái)提供更細(xì)致更可靠的推薦解釋,以說(shuō)服學(xué)生或幫助學(xué)生選擇更適合的課程。學(xué)生的文本評(píng)論中包含了關(guān)于學(xué)生對(duì)學(xué)習(xí)課程特征的情感、態(tài)度和偏好的豐富信息,從評(píng)論中提取明確的課程特征和相應(yīng)的學(xué)生意見(jiàn),不僅有助于了解學(xué)生的不同偏好,做出更好的推薦,還有助于了解為什么推薦某一特定的課程,做出更直觀的解釋?;陲@因子模型形成可解釋推薦的步驟如圖2所示。
2.4.1 構(gòu)建情感詞典
圖3 情感詞典的構(gòu)建
從學(xué)生文本評(píng)論語(yǔ)料庫(kù)中抽取評(píng)論的特征詞,如講課、深度、邏輯思維等,并抽取對(duì)這些特征的意見(jiàn)詞,如很棒、很好、清晰、通俗易懂等,得到特征-意見(jiàn)詞對(duì)。對(duì)詞對(duì)進(jìn)行短語(yǔ)級(jí)情感分析,判斷學(xué)生的情感是肯定或否定并進(jìn)行標(biāo)記。如果這些詞對(duì)是積極的情感,則用+1表示;反之則用-1表示。其中每個(gè)條目都是一個(gè)(F,O,S)三元組,類似(講解,清晰易懂,+1)、(回答問(wèn)題,細(xì)致耐心,+1)等,其中F是特征詞或短語(yǔ),代表課程的特征,O是意見(jiàn)詞,代表學(xué)生對(duì)特征的表達(dá)意見(jiàn),S是意見(jiàn)詞在評(píng)論中的情緒,可以是積極的,也可以是消極的。情感詞典的構(gòu)建如圖3所示。
2.4.2 構(gòu)建矩陣
需要構(gòu)建3個(gè)矩陣,第一個(gè)是學(xué)生評(píng)分矩陣A,表示學(xué)生對(duì)課程的直接評(píng)分,取值范圍為1~5,沒(méi)評(píng)分的記為0。第二個(gè)是學(xué)生-特征關(guān)注矩陣X,表示學(xué)生對(duì)課程特征的喜好程度,從第一步構(gòu)建的情感詞典中將所有學(xué)生評(píng)論的顯式特征組成特征詞集合F={F1,F2,…,Fr},設(shè)學(xué)生的集合為u={u1,u2,…,um},然后提取學(xué)生i的所有評(píng)論三元組,找到學(xué)生ui與課程特征Fj的關(guān)系,用tij表示學(xué)生i對(duì)特征Fj提到的次數(shù),將學(xué)生-特征關(guān)注矩陣中的每個(gè)元素定義為
(5)
式(5)中:N為學(xué)生評(píng)分的最高分?jǐn)?shù)(設(shè)置為5)。通過(guò)構(gòu)造sigmoid函數(shù)將tij縮放到與學(xué)生評(píng)分矩陣A相同的范圍[1,N]。第三個(gè)是課程-特征質(zhì)量矩陣Y,表示某一課程的所有評(píng)論包含特征的質(zhì)量。設(shè)課程的集合為C={C1,C2,…,Cn},將所有的課程評(píng)論三元組組成集合P={P1,P2,…,Pz},其中Pi為課程i的所有評(píng)論三元組。將課程i對(duì)特征Fj的包含質(zhì)量矩陣元素定義為
(6)
式(6)中:Pij為Pi包含特征Fj的次數(shù);sij為Pij次提及的特征Fj的情感均值。
2.4.3 估計(jì)矩陣缺失值
估計(jì)矩陣A、X、Y的缺失值,矩陣X、Y中的非零數(shù)值表示已有的學(xué)生或課程與顯式特征之間的關(guān)系,而0則表示尚未清楚的缺失值。為了估計(jì)這些缺失值,利用二次損失函數(shù)來(lái)最小化估計(jì)值與真實(shí)值之間的差距。X、Y的最優(yōu)化損失函數(shù)為
(7)
式(7)中:U1為學(xué)生的顯式特征矩陣;U2為課程的顯式特征矩陣;V為所有顯式特征集合向量;λx和λy為正則化系數(shù);F為損失函數(shù)的范數(shù)。
同理,學(xué)生評(píng)分矩陣A的缺失值也會(huì)用到顯式特征,考慮到學(xué)生對(duì)課程評(píng)分時(shí)還會(huì)考慮其他一些潛在的特征,所以也引入了隱式特征來(lái)對(duì)缺失值進(jìn)行調(diào)整。A的最優(yōu)化損失函數(shù)為
(8)
式(8)中:P為學(xué)生的顯式和隱式特征矩陣的建模;Q為課程的顯式和隱式特征矩陣的建模。
2.4.4 計(jì)算矩陣聯(lián)系程度
圖4 學(xué)生與課程的特征向量矩陣相乘
然后計(jì)算第i個(gè)學(xué)生對(duì)第j門課程的評(píng)分
(9)
式(9)中:0≤α≤1,α是用來(lái)控制基于特征計(jì)算出來(lái)的學(xué)生-課程評(píng)分矩陣與學(xué)生對(duì)課程直接評(píng)分矩陣之間權(quán)衡的比例,具體的值由試驗(yàn)確定。
2.4.5 生成解釋推薦理由
選擇打分最高的前幾門課程推薦給學(xué)生,并根據(jù)特征形成推薦語(yǔ)句向?qū)W生解釋推薦理由。推薦語(yǔ)句以完整的語(yǔ)義連貫的句子模板來(lái)構(gòu)造,如“你可能對(duì)某特征很感興趣,而這門課程在這方面表現(xiàn)良好”,根據(jù)個(gè)性化算法選擇特征來(lái)構(gòu)建解釋語(yǔ)句可以提高推薦系統(tǒng)的說(shuō)服力。
可解釋個(gè)性化推薦在線學(xué)習(xí)平臺(tái)是教育信息化的必然產(chǎn)物,構(gòu)建可解釋個(gè)性化推薦在線學(xué)習(xí)平臺(tái),能夠?qū)W(xué)生的學(xué)習(xí)過(guò)程起到一定的推動(dòng)作用。本平臺(tái)結(jié)合推薦算法,采用混合推薦方式并行計(jì)算,對(duì)課程進(jìn)行個(gè)性化推薦并根據(jù)相應(yīng)特征生成解釋語(yǔ)句向?qū)W生解釋推薦理由,從而可以使學(xué)生更好地選擇合適的課程,提高學(xué)生的學(xué)習(xí)效率,改善學(xué)習(xí)平臺(tái)的推薦效果和用戶體驗(yàn),提高平臺(tái)的可信度和透明度。需要說(shuō)明的是,本平臺(tái)還有較大的改進(jìn)空間,比如引入更多的特征,或捕獲課程的特征之間更復(fù)雜的聯(lián)系,而不是單一的特征-意見(jiàn)詞對(duì);還可以采用深度學(xué)習(xí)模型,進(jìn)行短語(yǔ)級(jí)的情感分析,甚至句子級(jí)別的分析,來(lái)提高推薦的效果。