張思松
(銅陵學院實驗教學管理處,安徽 銅陵 244061)
近年來,各學科的在線課程平臺如雨后春筍般涌現在人們眼前,其中也包括實驗課程[1].在廣闊而開放的平臺上,大量的課程資源、不受時域限制的學習方式受到廣大用戶的喜愛和追捧[2].在線課程平臺在為廣大用戶提供眾多實驗課程資源,以及知識共享的學習環境的前提下,可挖掘用戶的學習行為、學習體驗和用戶的學習偏好等信息.對用戶學習信息的有效挖掘,并充分分析用戶行為,對于實驗課程設計和教學形式的調整具有指導意義[3-5],同時可對用戶的學習效果進行評估并提出學習意見,使用戶在實驗課程的學習過程中獲得最佳學習感受,通過課程學習改進原有學習方式,使學習更高效.
想要從在線平臺海量實驗課程資源中篩選出需要的實驗課程,對于用戶而言較為困難,普遍采用的選擇方法是根據他人的選課經驗及課程評價對課程進行篩選,結果卻未必令人滿意.如何從海量資源中尋找出有用信息,已成為數據挖掘領域的研究重點.
通過數據挖掘方法實現數據中有用信息的獲取,已被應用于各個領域.郭鵬等[6]以提高教學質量為目的,提出了基于聚類和關聯方法的學生成績挖掘和分析方法,利用聚類方法離散化處理成績信息,根據關聯方法挖掘課程間關聯關系,并對課程關系圖進行繪制,該方法使數據挖掘結果的準確度有所提高,但該方法的數據挖掘過程較為復雜.蔡柳萍等[7]以提高大數據挖掘效率為目的,研究了基于稀疏表示和特征加強的數據挖掘方法,通過對數據特征分類,特征提取,并結合數據在類中的分布進行加權完成數據挖掘,但該方法的數據挖掘準確度不高.因此,本文提出基于機器學習的線上實驗課程資源挖掘,根據用戶搜索路徑通過機器學習對其行為信息進行挖掘.基于用戶的搜索頻率分析其興趣偏好,為用戶推薦符合其偏好的實驗課程信息,實現線上實驗課程資源的個性化推薦.
線上實驗課程的組織結構同樣用章節劃分,數個大章節構成全部實驗課程,各大章節下分為幾個小節,數個知識點組成各小節.線上實驗課程教學過程中,PC 端通過Web 頁面形式展示給用戶,移動端則通過用戶端程序展示給用戶,不同登錄方式導致實驗課程的組織結構存在差異.當用戶通過PC 端登錄時,學習場所固定且基本能夠保持長時間的學習,所以采用以節為單元的學習方式開設實驗課程,各節中所涵蓋的Web 頁面最少為1 頁.移動端用戶更適合選取碎片化學習方式,并將學習時間控制在15 min 之內,因此,實驗課程的組織結構需遵循獨立性及整體性[8].由于知識點的邏輯結構更具有整體性,更符合客戶端用戶的課程結構需求.線上實驗課程的組織結構如圖1 所示.

圖1 在線實驗課程組織結構Fig.1 Organizational structure of online experimental courses
實驗課程的課件資源通常以文本、視頻、圖片等形式存在,PC 端登錄的用戶以Web 頁面形式進行實驗課程學習,每次學習一個小節,學習時間大概在40 min,移動端則以知識點的形式學習,每次學習一個知識點,時間大約15 min.在線實驗課程資源包涵蓋了實驗課程目錄、知識點、考試內容、課件內容等方面信息,課程的目錄信息歸并在course.xml 中,包含各節全部知識點,知識點中所需的文本、圖片等資源的搜索路徑存儲在知識點文件中,實驗課程測試內容存儲在考試文件中,包含測試題目、測試答案和涉及的相關知識點等,課件資源存儲在課件文件中.用戶通過點擊文件的方式即可完成實驗課程的在線學習.
針對在線實驗課程資源文件并非完全格式化文件結構的特點,通過機器學習方法實現課程資源文件的解析.同類事件聚類結果的好壞往往由該類事件的評分標準決定,本文以函數值的方式對其進行界定[9],通過迭代方式使分類準確度獲得有效提升.產生項對、文件聚類、確定文件事件模板三個階段構成文件解析全過程.
1.2.1 項對生成 將空格作為拆分符對文件進行細分,將其劃分為字符串,數量為N,文件的項即是一個字符串,項對包含兩個項,第一項分別與其后所有項組合生成項對,數量為N-1 個,分別為(1,2)、(1,3)、(1,4)、…、(1,N),第二項同樣分別與其后所有項組合生成項對,數量為N-2 個,分別為(2,3)、(2,4)、…、(2,N),以此類推,直至第N-1 項與最后項生成項對(N-1,N),以上為文件的全部項對.針對所有文件信息,遍歷其內全部項,兩兩生成項對,用項對對各文件信息進行更換.
1.2.2 文件聚類 文件解析的關鍵是對文件進行聚類,對隸屬于同類的文件事件進行歸類,并生成相同文件事件模板是聚類的根本目標[10].本文采用機器學習的聚類方法實現文件聚類.
對原始文件分組,個數為k,生成文件項對,針對各文件,求解某一組至其他組的潛在函數值,其表達式為

式(1)中:A 為文件,r∈R(A)為文件項對,涵蓋項對r的文件在A 中的個數用N(r,A)表示,涵蓋項對r的文件在A 中的比值表示為.
通過該函數值可判斷文件位置是否發生改變,當函數值增加,對文件分組消息進行替換,隨著函數值不斷增大,繼續進行迭代,直至文件函數值不再變化,終止迭代,文件聚類的最后分類結果即是當下分組數.
1.2.3 生成文件 事件模板建立文件的信息簽名是生成文件事件模板的首要任務,實施辦法是:對各文件的各項使用次數進行記錄,消息簽名是以使用次數大于50%的項作為備選,文件事件備選項由各文件的備選項構成,各類別的文件事件模板則是使用次數最多的文件事件備選.
本文以準確率(Precision)、F_measure、Rand index 指標來衡量聚類結果優劣[11].
1.3.1 準確率指標 準確率是搜索文件數與待搜索文件總數的比值,用于判斷聚類結果是否為最佳分類.S 表示數據的隸屬類別,可將其視為NS集合中準備檢索的項,Ak為簇,其大小表示為Nk,Ak中S 的個數表示為Nsk準確率可表達為

根據本文的聚類評價要求,可替換為

式(3)中:準確分類為正例的數量表示為TP,即將類似數據歸為同一簇,未實現準確分類為正例的數量FP,即將差異性數據歸為同一簇.
1.3.2 F_measure 指標 F_measure 的表達式為

Recall 的求解公式可描述為

根據聚類評價要求,將其替換為

式(6)中:未實現正確分類為負例的數量表示為FN,即同類數據歸為不同簇.
1.3.3 Rand index 指標Rand index 的表達式為

式(7)中:準確歸類為負例的數量表示為TN,即差異性數據歸并為不同簇,[0,1]為其取值區間,Rand index 取值越趨近于1,表明聚類結果與聚類評判標準越接近,聚類效果越好,越與實際相一致.
管理器(Agent)作為在線實驗課程平臺的智能化服務模塊,其功能是依據用戶當下搜索路徑,實現感興趣數據集的挖掘.當用戶訪問在線實驗課程平臺時,平臺會向Agent 傳送代表用戶身份的標識以及用戶推薦申請,Agent 對用戶標識和推薦申請進行處理后,將信息向推薦服務器端發送,服務器端則根據用戶標識識別用戶身份、興趣偏好等信息,通過資源推薦算法獲取用戶感興趣的推薦內容,再將推薦內容傳遞給Agent,Agent 對其加權后,向在線平臺發送前N 個推薦內容,由在線平臺展示給用戶.協同過濾技術是常使用的推薦方法,是對用戶搜索行為的往期數據進行分析,獲得與該用戶的興趣偏好具有較高相似性的用戶集合,推薦內容即為該集合中用戶最喜好的內容.該技術通過三個步驟實現實驗課程資源的推薦,分別為數據描述、挖掘相鄰用戶、感興趣數據集生成.
推薦服務器依據標志信息識別Agent,向Agent 傳遞推薦內容的同時,也將自身的標志信息傳遞給Agent,Agent 根據權值選擇推薦服務器,權值高的N 個推薦服務器可接收推薦申請,該服務器的權值是隨著用戶偏好及在線平臺類型呈動態改變. 平臺的初始推薦服務器端權值具有一致性,Agent 的職責是向服務器傳送推薦申請,并接收推薦內容,求解各個實驗課程的加權值,將前N 個推薦內容顯示給用戶,根據被推薦課程中含有的標識可識別推薦服務器.Agent 會對用戶搜索行為進行監督, 實時掌握推薦內容的訪問狀況,當用戶訪問或購買推薦內容時,Agent 會進行登記,依據服務器的登記次數實時改變其權值.H 為某服務器的登記次數,Wg為其權值,可描述為

針對u 用戶,i 為實驗課程資源,資源i 的預估值可表示為

當推薦服務器具有較高登記率時, 推薦內容中更易包含該服務器所推薦的文件事件模板所包含實驗課程資源,不斷對權值更新,可使推薦內容更加精準,滿足用戶偏好[12].
獲取感興趣數據集需對以下問題進行綜合分析:
第一:對當下用戶的搜索頁面而言,需對各個具有高搜索頻率的內容建立關聯規則.
第二:判斷用戶是否搜索過備選Web 頁.
第三:判斷用戶當下點擊窗口是否與推薦內容相關.
第四:基于用戶當下點擊窗口Web 頁面,備選URL 需選擇與之具有鏈接關系的Web 頁面.
根據用戶對實驗課程資源的搜索模式,獲取用戶感興趣數據集的切實可行方法[13].在對課程資源文件進行解析時生成項對,通過求解潛在函數值并建立信息簽名的基礎上,實現文件事件模板的輸出.基于最小支持度將偶爾搜索項剔除,將搜索頻率較高類型的文件事件模板作為集合,通過該集合生成聚集樹.基于機器學習的線上實驗課程資源挖掘方法通過聚集樹實現用戶搜索路徑關聯規則的挖掘, 用戶推薦內容是由推薦度因子決定,該因子則是將關聯規則的置信度與距離參數相乘而得.
本文利用滑窗采樣方式得到用戶當下搜索路徑,實現用戶檢索行為的及時掌握,達到向用戶推薦資源的目的[14].設定W 為滑窗尺寸,通過W 大項向W+1 項檢索建立關聯規則集,利用滑窗大小為W 的現下用戶搜索路徑與聚集樹的子搜索路徑進行匹配[15],將全部W+1 大小的搜索頻率較高的搜索路徑檢索出來.
聚集樹的關聯規則挖掘算法:
SW為在當下滑窗遮掩下的用戶搜索路徑,Tree_TF表示聚集樹,支持度最低值為ρmin,置信度最低值為σmin,將以上各參數均作為算法輸入,GL 表示關聯規則集,將其作為輸出.在Tree_TF中挖掘與SW相適應,且W+1 大小的搜索路徑SW+1的備用大項集;針對第i 個備用大項,,如果則關聯規則為,對其置信度σ進行求解;如果,則.針對各個備選項,其支持度可描述為

在求得關聯規則集的基礎上,再利用推薦度參數,獲取推薦集,算法流程如下:
SCOREmin表示推薦度參數最低值,與關聯規則集合GL 一并作為算法輸入,Recommend 表示推薦集,以之作為輸出.
(3)begin
(5)begin
(10)end.
以某在線實驗課程平臺采集的用戶行為信息作為數據集,數據集中含有20 名用戶的15 門實驗課程的學習記錄、課程評價信息.數據集包含500 條數據,將其中400 條數據作為訓練數據,100 條作為測試數據.
分別采用本文方法、文獻[6]的成績挖掘方法、文獻[7]的基于稀疏和特征加權的挖掘方法對線上實驗課程資源進行挖掘,生成推薦列表,分析三種方法在不同列表長度下的數據挖掘準確率,驗證本文方法的數據挖掘能力,實驗結果如圖2 所示.

圖2 數據挖掘準確率對比Fig.2 Comparison of data mining accuracy
分析圖2可知,隨著推薦列表長度的不斷擴大,三種方法的數據挖掘準確率均呈現下降趨勢,文獻[7]方法的準確率下降趨勢最大,文獻[6]方法降低幅度小于文獻[7]方法,本文方法的準確率始終高于其他兩種方法,當列表長度為14 時,本文方法與文獻方法的準確率差值最大,準確率一直下降的原因在于列表長度增加,推薦列表中會包含更多與用戶偏好關聯性較小的實驗課程,降低用戶滿意度.實驗結果表明,推薦列表長度對于課程資源挖掘效果至關重要,列表長度為14 時可體現出最佳挖掘效果.
為驗證本文方法針對新用戶的實驗課程資源挖掘效果,以在線平臺的新用戶為研究對象,采用本文方法對其進行實驗課程資源挖掘,推薦列表長度設置為14,先從數據集中獲取該用戶的好友,該用戶對實驗課程的評分為好友課程評分平均值,通過平均絕對誤差(MAE)及均方誤差(RMSE)及準確率指標驗證本文方法的資源推薦效果,實驗結果如圖3 所示.

圖3 新用戶實驗課程資源推薦效果Fig.3 Recommendation effect of newuser experiment course resources
分析圖3可知,當用戶好友個數不斷增多,MAE、RMSE 值呈下降趨勢,準確率指標呈上升趨勢,當用戶好友數為18 時,MAE 值開始變大,當好友數達到21 時,RMSE 值也開始上升,當目標用戶好友數量位于15 至21 之間時,MAE 和RMSE、準確率指標可分別取到最低值、最高值,由此可知,基于好友的課程評價可實現目標用戶對實驗課程評價結果的預估,目標用戶的最佳好友量為15 至21 個.
以數據集中編號為3324***5502,專業信息為軟件工程的用戶為例,通過與文獻[6]方法、文獻[7]方法對比,分析三種方法的在線實驗課程資源挖掘效果,實驗結果如表1 所示.

表1 在線實驗課程資源挖掘結果Tab.1 Resource mining results of online experimental course
根據表1可知,采用3 種方法對線上實驗課程資源進行挖掘時,文獻[6]方法、文獻[7]方法挖掘的課程資源中與用戶興趣偏好90%相關的資源數目較少,更多的是60%相關的資源,本文方法挖掘的課程資源中與用戶興趣偏好90%相關的資源比例最大,其次是80%相關,最后是60%相關的資源.實驗結果表明,本文方法的實驗課程資源挖掘更貼近用戶的興趣偏好,資源挖掘準確性較高,能力更顯著.
以某在線實驗課程平臺采集的用戶數據信息為研究對象,研究本文方法對在線實驗課程資源的挖掘能力.在推薦列表長度不同時,分析三種方法的數據挖掘準確率;并采用本文方法向在線平臺的新用戶推薦實驗課程資源,通過分析MAE、RMSE、準確率指標驗證本文方法的資源挖掘效果;最后給出編號為3324***5502,軟件工程專業用戶的課程資源挖掘結果.實驗結果表明:推薦列表長度影響課程資源挖掘效果,為體現最佳挖掘效果,最佳推薦列表長度應設定為14.好友的課程評價可實現目標用戶對實驗課程評價結果的預估,且15 至21 個好友更為適合.本文方法的實驗課程資源挖掘更貼近用戶的興趣偏好,資源挖掘準確性較高,能力更顯著.