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