張 晴, 喻 健, 張 濤, 李幼鳳
(1.湖北工程學院計算機與信息科學學院, 湖北 孝感 432000;2.湖北工程學院人工智能產業(yè)技術研究院, 湖北 孝感 432000)
隨著網絡和信息技術的發(fā)展,在線學習平臺的普及讓用戶可以低成本地獲取知識和提高學習效率,與此同時,學習平臺積累了海量的知識資源和用戶數(shù)據(jù),如何高效提取、分析和利用這些數(shù)據(jù)資源是個性化學習領域的一個重要研究方向。目前,傳統(tǒng)的在線學習模式存在一些問題,例如部分用戶對網絡和新技術不夠了解,導致學習目的性不強;一些學習平臺存在特色不鮮明、更新速度慢、資源分散的問題,用戶很難在平臺中找到自己所需要的內容。實現(xiàn)信息篩選的方法目前主要有搜索引擎[1]和推薦系統(tǒng)[2],搜索引擎是通過關鍵詞定位相關的信息,推薦系統(tǒng)是根據(jù)用戶的特點主動把合適的內容推送給用戶。翁可立[3]探索了基于智能技術的“虛實雙空間一體化學習環(huán)境”、“一主兩翼”個性化學習平臺、“二主三環(huán)”個性化學習模式和“324”個性化學習評價體系,以期促進學生個性得到全面和諧發(fā)展。杜志建等[4]圍繞中國現(xiàn)狀、個性化測評與學習的基本原理和關鍵技術等展開分析,研究了基于知識圖譜的動態(tài)評測技術在個性化學習中的應用。湯彤等[5]以英語學習為例,將基于MOOC(Massive Open Online Courses,大型開放式網絡課程)的個性化學習方式與傳統(tǒng)學習方式的效果進行了對比研究。上述研究工作關注了不同技術在個性化學習領域的應用,但對技術實現(xiàn)細節(jié)的探究稍有不足。為此,本文針對協(xié)同過濾推薦技術進行了研究,改進并設計實現(xiàn)了一種知識推薦模型,模型可以根據(jù)用戶背景信息和學習情況自動選擇學習內容,嘗試將個性化推薦技術應用于教學領域,以期提高用戶的學習效率。
協(xié)同過濾推薦技術[6]的算法流程一般包括收集用戶信息、計算用戶和項目的相似度、根據(jù)相似度尋找相似鄰居、生成推薦結果等步驟。相比于傳統(tǒng)推薦方法的基于文本過濾,協(xié)同過濾有以下優(yōu)點。
(1)能夠過濾機器難以自動分析或文本難以形容的信息,比如圖片、聲音、視頻等多媒體信息。
(2)能夠利用他人的經驗,避免機器分析的片面性。
(3)能夠利用相似使用者的反饋信息,對推薦的內容進行更新。
雖然協(xié)同過濾是一種有效且廣泛使用的推薦算法,但是它存在以下典型問題[7]。①冷啟動問題。冷啟動問題也稱第一評價問題,算法在運行初期會因缺乏數(shù)據(jù)而無法工作:新用戶沒有評價過項目,系統(tǒng)對新用戶的興趣缺乏了解而無法為新用戶精準推薦;從未被評價過的新項目也不會被推薦。②稀疏性問題。在一些商業(yè)系統(tǒng)中,相似度矩陣的規(guī)模很大,用戶評分只是零星分布在巨大的相似矩陣中,而基于稀疏的評分矩陣難以準確計算相似度,導致推薦質量大大降低。③擴展性問題。協(xié)同過濾算法中相似度矩陣的階數(shù)和計算量都會隨著用戶和項目的增加而急劇上升,導致嚴重的擴展性問題。
為了解決冷啟動問題,讓新用戶和新知識項目快速融入系統(tǒng),需要對系統(tǒng)中的新項目主動嘗試性推薦,就像新商品上市時需要促銷員請用戶免費試用。在新用戶注冊時,可以適當?shù)赝扑鸵恍┬马椖?這種方式既能減少算法中新項目的數(shù)量,又可以根據(jù)用戶對新項目的反饋結果獲取其新的偏好。推送項目中也要穿插一些熱門項目,以便提高用戶的使用興趣。
稀疏矩陣會影響相似度計算的效果,所以要在計算相似度前盡量降低評分矩陣的稀疏度。常用的降低矩陣稀疏度的方法有填充評分的中間值、平均分等,但是這些方法在降低矩陣稀疏度的同時,也改變了矩陣中向量的實際相似度。本文研究使用父類填充法降低評分矩陣的稀疏度。不同的知識項目有不同的所屬學科,所屬學科可能又屬于更高級的父類,按照小類到大類的劃分,總能給當前項目找到一個合適的類別。當一個項目沒有被用戶評分時,可以根據(jù)該項目所屬分類其他項目的評分給它一個預估分數(shù);如果所屬分類沒有其他已評分的項目,則追溯到項目的上級分類,根據(jù)上級類別給出預估評分;重復多次直到頂級分類,就能找到已評分項目。本文研究假設所有項目都屬于一個頂級分類,盡可能地利用已有項目評分生成預估分數(shù),降低矩陣的稀疏度。
解決擴展性問題就是要保證系統(tǒng)的響應速度,可以讓大部分的相似度和預估評分計算離線進行,系統(tǒng)推薦時就可以直接讀取相應得數(shù)據(jù)。此外,可以設置不同的計算頻率,調節(jié)推薦系統(tǒng)的實時性,離線處理能極大地提高系統(tǒng)的響應速度。
基于用戶的協(xié)同過濾和基于項目的協(xié)同過濾分別利用用戶相似度和項目相似度計算用戶對項目的預測評分,并據(jù)此獲得推薦結果?;谟脩舻膮f(xié)同過濾和基于項目的協(xié)同過濾在同樣的數(shù)據(jù)集上計算出的推薦結果有較高的重合率,而且它們理論上有相同的精度。單一算法是把用戶評分矩陣從行方向或者列方向劃分成若干向量用于相似度計算,如果把基于用戶的協(xié)同過濾和基于項目的協(xié)同過濾結合起來從兩個方向同時劃分向量,分別計算出推薦并取其交集,可以在一定程度上提高推薦的精度[8]。
收集信息用于收集能反映用戶興趣偏好的各類信息并量化為數(shù)值,存入用戶對項目的評分矩陣,本系統(tǒng)中的項目主要是指知識或課程。除了注冊階段獲得的用戶背景信息,信息采集還要收集用戶對課程的評分、對課程的操作記錄等行為。在用戶注冊后首次登錄系統(tǒng)時,根據(jù)用戶的背景信息,從相關學科選取熱門和有代表性的課程、最近點擊量最多和最少的課程同時推薦給用戶瀏覽,并要求用戶對課程做出反饋評分。推薦點擊量多的課程能引起用戶的興趣,而推薦點擊量少的課程可以減少未評分的課程,解決冷啟動的問題。在用戶登錄訪問課程頁面時,后臺會記錄用戶訪問的課程類別、訪問時間、所屬學科、訪問頻率、收藏情況等信息,并量化為用戶的興趣數(shù)據(jù);用戶也可以在學習頁面對當前課程進行評分,直接表達自己的興趣。
預測評分是推薦系統(tǒng)的核心部分,根據(jù)信息收集階段得到的評分矩陣計算用戶或課程之間的相似度。用戶對課程的評分矩陣如表1所示。
表1 用戶對課程的評分矩陣Tab.1 User's scoring matrix for courses 單位:分
該矩陣是5個用戶(U1~U5)對6門課程(C1~C6)的評分。這里設用戶對課程的評分為1~5分,分數(shù)越高,代表評價越好,0分為沒有評分的課程。根據(jù)該評分矩陣可以計算出用戶或課程之間的相似度,本文以課程相似度為例,說明計算過程。
計算相似度有多種方法,本文選用Pearson相關系數(shù)[9]和余弦相似度[10]度量課程相似度。Pearson相關系數(shù)可以用來計算兩個項目之間的相關性,公式如下:
(1)
計算出課程之間的皮爾遜相關系數(shù),如表2所示。
表2 課程之間的皮爾遜相似度Tab.2 Pearson similarity between courses
使用余弦相似度計算項目之間的相似度,在協(xié)同過濾系統(tǒng)中使用余弦相似度公式計算時,為了減小用戶評分尺度對項目相似度的影響,通常先對每項評分值減去每行評分的均值,例如對表1的評分矩陣進行處理后得到的結果如表3所示。
表3 處理后的評分矩陣Tab.3 Processed scoring matrix
根據(jù)表3的矩陣計算課程的相似度,余弦相似度的計算公式如下:
(2)
同理,利用公式(2)求出課程之間的余弦相似度,如表4所示。
表4 課程之間的余弦相似矩陣Tab.4 Cosine similarity between courses
根據(jù)相似度可以找出課程的鄰居,鄰居是與當前課程相似度較大的一組課程集合。鄰居查找算法包括固定數(shù)量的鄰居和基于相似度門檻的鄰居兩種,系統(tǒng)中為了保證每個課程都能找到鄰居集合,選用了固定數(shù)量的鄰居算法。得到相似鄰居集合后,既可以把集合中的課程推薦給當前課程的用戶,也可以根據(jù)集合中課程的評分預測當前課程的評分,從而減少矩陣中未評分課程的數(shù)量。
系統(tǒng)從預測評分矩陣中找到該用戶對應的行,然后把該行有評分的課程根據(jù)TOP-N原則選取N門評分最高的課程推薦給用戶[11]。預測評分矩陣和用戶評分矩陣類似,在用戶評分矩陣中用戶未評分的項目分值為0,但是在預測評分矩陣中用戶未評分的項目有一個預測分值,而已經評分過的項目分值標記為0。例如,在表5的預測評分矩陣中,S1~S10是系統(tǒng)對用戶未評分課程的預測評分,而分值為0的項目是用戶已經評分過的課程。
表5 預測評分矩陣Tab.5 Prediction scoring matrix 單位:分
在用戶接收到系統(tǒng)推薦的課程并學習后,用戶可以對課程做出實際評分,系統(tǒng)在收到用戶評分后,會把預測評分矩陣的對應項設置為0,同時把該課程評分存入用戶評分矩陣。在系統(tǒng)下次推薦課程時,會根據(jù)最新的用戶評分矩陣進行計算。
評價推薦算法的一個常用方法是預測誤差分析,最常用的指標是MAE[12]。平均絕對誤差是誤差絕對值的平均值,計算公式如下:
(3)
本文進行的測試基于Item CF算法分別用皮爾遜相關系數(shù)、修正余弦相似度、綜合相似度三種方法計算了預測評分,并對比了不同鄰居個數(shù)預測評分的MAE值。三種相似度算法產生的MAE值對比如表6和圖1所示。
表6 MAE實驗結果Tab.6 MAE experimental result
圖1 MAE數(shù)據(jù)對比Fig.1 MAE data comparison
從測試結果可以看出,三種算法預測評分的MAE值都隨著鄰居數(shù)量的增加而有降低趨勢。這是因為基于少數(shù)人評分計算出的預測精度會差一些,而選取鄰居數(shù)量的個數(shù)越多,參考的信息越廣泛,則預測精度也會越高。皮爾遜算法、修正余弦算法、綜合算法的MAE值都基本符合預測精度的需求,三者的MAE均值分別約為0.757 4、0.790 1、0.775 5,MAE標準差分別約為0.083 7、0.067 1、0.072 4,其中綜合算法的穩(wěn)定性好、噪點少,綜合算法相比其他算法在MAE相近的情況下,提高了預測評分的穩(wěn)定性。
本文基于對協(xié)同過濾推薦算法的研究改進,設計并實現(xiàn)了一種個性化的知識推薦模型,該模型首先利用用戶的注冊信息和對知識的隱式反饋構建初步的用戶概貌,其次根據(jù)用戶對知識的顯式評分和其他反饋不斷完善優(yōu)化用戶概貌,最后根據(jù)概貌和知識間的相似度為用戶選擇合適的知識資源,讓用戶的學習更有針對性。實驗結果表明,相較于單純的相似度推薦算法,該模型能有效預測用戶對知識的需求和學習興趣,預測效果良好且穩(wěn)定。在后續(xù)的研究中,將繼續(xù)改進推薦模型,把用戶的反饋信息更高效地融合到算法的修正中,以期構建更精準的推薦模型。