王 欣,雷 珺,李小歡,湯 成
(中移(杭州)信息技術(shù)有限公司,浙江 杭州 310000)
《教育信息化十年發(fā)展規(guī)劃(2011-2020 年)》中提出要“促進人才培養(yǎng)模式創(chuàng)新。加快對課程和專業(yè)的數(shù)字化改造,創(chuàng)新信息化教學與學習方式,提升個性化互動教學水平…”。現(xiàn)有的在線學習平臺普遍存在重內(nèi)容建設輕應用深度,其信息技術(shù)與教學融合不深等問題。究其原因在于平臺往往僅基于人工設計規(guī)則對學生學習狀況進行反饋,模式單一、內(nèi)容推薦不精準,從而無法有效提升學生的學習主動性,造成資源浪費。針對以上問題,該文提出了基于深度神經(jīng)網(wǎng)絡的智能交互式學習系統(tǒng)。通過神經(jīng)網(wǎng)絡獲取特征的效率更高,魯棒性更強,實現(xiàn)了更精準的推薦,緩解了傳統(tǒng)人工涉及規(guī)則的在線學習系統(tǒng)中出題模式單一,無法針對性提升學習內(nèi)容的缺點。同時采用基于微服務實現(xiàn)的智能交互式學習系統(tǒng)相較于傳統(tǒng)在線平臺,具備易于開發(fā)、維護,上線部署快等優(yōu)點,相較于傳統(tǒng)的單體應用,較大地縮短了平臺的更新發(fā)布周期。
推薦系統(tǒng)可以被視為一個搜索排序系統(tǒng),需要解決搜索排序的問題,做好記錄和生成兩個關(guān)鍵工作。記錄需要系統(tǒng)能夠通過用戶的一系列行為操作和屬性來更新用戶畫像,最直接的方式就是利用用戶歷史數(shù)據(jù)的相關(guān)性以及這一類用戶畫像出現(xiàn)的相同特征。生成則需要系統(tǒng)根據(jù)用戶畫像自動生成最優(yōu)的排序結(jié)果,最重要的是體現(xiàn)基于相關(guān)性的傳遞性,探索一些潛在的聯(lián)系。推薦系統(tǒng)中嵌入的模型根據(jù)是否依賴深度學習可分為基于傳統(tǒng)因子分解的因子分解機和深度神經(jīng)網(wǎng)絡[1-2]。
針對傳統(tǒng)因子分解機存在的問題,He 提出一種新的模型神經(jīng)因式分解機(NFM),用于稀疏環(huán)境下的預測,NFM 將FM 在二階特征交互建模中的線性和神經(jīng)網(wǎng)絡在高階特征交互建模中的非線性無縫結(jié)合[3]。Vozalis 提出了基于奇異值(SVD) 分解的協(xié)同過濾算法,在協(xié)同過濾算法中引入奇異值分解,較為有效地解決了數(shù)據(jù)稀疏問題[4]。
結(jié)合推薦系統(tǒng)的使用場景,最近還有研究者根據(jù)實際應用場景,添加了經(jīng)濟學的價值論在模型之中,使模型的效果更佳優(yōu)異。Zhao 提出了多產(chǎn)品效用最大化(MPUM),它將消費者選擇的經(jīng)濟學理論與個性化推薦相結(jié)合,重點研究產(chǎn)品集對個體用戶的效用[5]。Zhang 提出了歷史影響感知潛在因素模型(HIALF),這是真實評級系統(tǒng)的第一個模型,用于捕捉和減輕單個評級中的歷史扭曲[6]。
推薦系統(tǒng)中的嵌入深度學習技術(shù)具有以下優(yōu)點:1)借助深度學習的深層非線性結(jié)構(gòu)構(gòu)建了用戶和項目的潛在特征向量,從用戶和項目相關(guān)的海量數(shù)據(jù)中學習到深層次表示信息,從而挖掘數(shù)據(jù)背后的隱含特征,提高了模型的表述能力;2)基于深度學習的推薦系統(tǒng)通過集成來自多個異構(gòu)數(shù)據(jù)源的用戶/物料畫像較好地緩解算法冷啟動問題。
該文從企業(yè)內(nèi)部黨建學習平臺的個性化服務理念入手,構(gòu)建一套基于“云”+“端”融合的智能交互式學習系統(tǒng)。該系統(tǒng)利用用戶歷史學習、答題數(shù)據(jù),通過深度神經(jīng)網(wǎng)絡Deep&Wide 離線訓練得到一個面向個體用戶的知識推薦模型,以該模型為基礎,實現(xiàn)精準知識點推送服務,包含每日知識推送、定期問題更新、前后期知識反饋等。該系統(tǒng)旨在培養(yǎng)用戶自主學習的能動性,提升企業(yè)黨建學習的用戶粘性和學習有效程度。通過對智能交互式學習系統(tǒng)關(guān)鍵技術(shù)的討論,分析學習用戶的個人知識推薦模型建立和系統(tǒng)平臺開發(fā)的基本流程。該系統(tǒng)能依據(jù)學習者相關(guān)的學習信息建立學習者的個性化知識推薦模型,驅(qū)動學習者主動學習與自主評測補漏,極大地促進了人工智能技術(shù)在教育領(lǐng)域,尤其是在線教育領(lǐng)域的技術(shù)落地與發(fā)展[5-6]。
用戶學習數(shù)據(jù)的收集和預處理是建立智能知識推薦模型非常關(guān)鍵的一步,是實現(xiàn)整個系統(tǒng)的先決條件。用戶數(shù)據(jù)詳細記錄了學習者的學習過程,為建立針對其個性化的學習模型提供了充分的數(shù)據(jù)支撐。
訓練樣本一共采集了1 536 名用戶的歷史學習數(shù)據(jù)及用戶個人信息,如表1 所示,其中涉及對象的個人特征,如年齡、崗位、學歷以及性別等,還包含對象在學習系統(tǒng)中的行為數(shù)據(jù),如每日學習時長、學習內(nèi)容類別和學習內(nèi)容類型等。
表1 用戶樣本數(shù)據(jù)
表1 中描述的用戶數(shù)據(jù),在輸入深度神經(jīng)網(wǎng)絡前都會經(jīng)過預處理轉(zhuǎn)化為向量,因為上述特征均為離線特征,在預處理上該文采用一位有效編碼(One-Hot Encoding)對輸入特征進行編碼,相較于其他編碼方式如哈希編碼,一位有效編碼后向量依舊具有實際意義,可映射回原有特征;相較于特征學習的編碼方式,一位有效編碼不需要大量的語料進行訓練。
編碼成向量后,經(jīng)過一層嵌入層(Embedding Layer)映射到同一維度的低維稠密向量,該向量維度為可變參數(shù),該文經(jīng)過測試選取128 位嵌入向量作為深度神經(jīng)網(wǎng)絡的輸入。數(shù)據(jù)預處理分為向量構(gòu)建和數(shù)據(jù)量化——將原有的數(shù)值按量化條件轉(zhuǎn)為向量[7-8]。
目前,深度神經(jīng)網(wǎng)絡架構(gòu)廣泛,有卷積神經(jīng)網(wǎng)絡(CNN)、循環(huán)神經(jīng)網(wǎng)絡(RNN)和注意力神經(jīng)網(wǎng)絡(Transformer)等。該文采用如圖1所示的Deep&Wide深度神經(jīng)網(wǎng)絡算法模型,將1.2 節(jié)中的所有數(shù)據(jù)特征都輸入Deep 子模型,另外從中選取與學習過程強相關(guān)的特征——每日學習時長、每周學習時長、學習內(nèi)容類別、學習內(nèi)容類型、答題歷史、知識點內(nèi)容類別、知識點內(nèi)容類型、知識點歷史作為Wide 子模型輸入,Deep 子模型為多層神經(jīng)網(wǎng)絡,Wide 部分為線性模型。
通過Google 深度學習框架TensorFlow 實現(xiàn)Deep&Wide 模型,其輸出為二分類:1 即用戶與知識點匹配,0 即用戶與知識點不匹配。Deep 模型部分重點在Embedding 層和后面三層以ReLU 為激活函數(shù)的隱藏層,存在中間通過Concatenated Embedding 層拼接所有Embedding 層輸出的128 位低維特征向量,最后輸入損失函數(shù)進行計算。
傳統(tǒng)的Deep&Wide 深度神經(jīng)網(wǎng)絡算法同時學習低階和高階組合特征,它混合了一個線性模型(Wide part)和Deep 模型(Deep part)。這兩部分模型需要不同的輸入,而Wide part 部分的輸入,依舊依賴人工特征工程,導致模型偏向于提取低階或者高階的組合特征,而不能同時提取這兩種類型的特征。該文算法Deep 模型后面的三層分別是以ReLU 為激活函數(shù)的隱藏層、線性模型和Dropout 層,Dropout 的機制:在每次神經(jīng)網(wǎng)絡的反向傳播中,會隨機選擇一些神經(jīng)元,設定其反向傳播對應的參數(shù)為0,然后對于被改變后的神經(jīng)網(wǎng)絡進行反向傳播,削弱模型對于低階或者高階的單一特征依賴,更容易學習到低階和高階特征的組合,相對于深度因子分解方法,該文方法計算效率更高,模型計算更為有效[9-10]。
每一隱藏層計算如式(1):
ReLU 的定義為:
Deep&Wide 聯(lián)合模型一共使用了1 536 名用戶數(shù)據(jù),從用戶數(shù)據(jù)中提取知識點總計7 588 個,經(jīng)數(shù)據(jù)清洗及標注后得到101 202 個樣本數(shù)據(jù),為了防止過擬合/欠擬合,將正負樣本比例控制在10%,進行k-fold 交叉驗證(k=10),得到驗證集的準確率如表2所示,最后得到平均準確率為89.08%。
表2 k-fold交叉驗證結(jié)果
另外,針對Embedding Layer 的128 維低維稠密向量,對這個128 維度參數(shù)做比對實驗,其于訓練并行計算和先前研究結(jié)果,維數(shù)皆為2 的冪次,結(jié)果如表3 所示,發(fā)現(xiàn)256 維為最佳,維度增加并未與準確率成正比,為在計算速度和準確率之間做平衡,最后應用選取128 維。
表3 嵌入向量維數(shù)對比結(jié)果
為了驗證該文算法改進的有效性,在Embedding Layer 的128 維低維稠密向量的基礎上,通過消融實驗對比增加dropout 層前后的準確率,可以看出添加dropout 層后,驗證集準確率相較于原始Deep&Wide模型提高了6.76%,如表4 所示。具有明顯的提升效果[11-12]。
表4 dropout層消融實驗交叉驗證結(jié)果
微服務架構(gòu)(Micro-service Architecture)是一種架構(gòu)概念,通過將功能分解到各個獨立的服務中實現(xiàn)整個服務系統(tǒng)的解耦。微服務的概念是2012 年提出的,用來滿足Web 和移動應用快速開發(fā)的需求。微服務的定義范疇如下:1)分布式服務組成的系統(tǒng);2)按照業(yè)務而不是技術(shù)來劃分組織;3)做有生命的產(chǎn)品而不是項目;4)強服務個體和弱通信(smart endpoints and dumb pipes);5)自動化運維(DevOps);6)高度容錯性;7)快速演化和迭代。相較于傳統(tǒng)的單體應用架構(gòu),微服務架構(gòu)的優(yōu)點如下:1)提升開發(fā)交流,每個服務足夠內(nèi)聚,足夠小,代碼容易理解;2)服務獨立測試、部署、升級、發(fā)布;3)可按需定制產(chǎn)品生命周期和資源利用率,每個服務可以各自進行擴展,而且每個服務可以根據(jù)自己的需要部署到合適的硬件服務器上;4)可按需選擇冗余備份的模式,選擇接受服務的實例個數(shù);5)容易擴大開發(fā)團隊,可以針對每個服務(service)組件開發(fā)團隊;6)提高服務容錯性,一個服務的內(nèi)存泄露并不會讓整個系統(tǒng)癱瘓;7)便利新技術(shù)的應用,系統(tǒng)不會被長期限制在某個技術(shù)棧上。
智能交互式學習系統(tǒng)架構(gòu)分為在線和離線兩個子系統(tǒng)。離線子系統(tǒng)負責大數(shù)據(jù)分析和深度神經(jīng)網(wǎng)絡訓練驗證。
如圖2 所示,黨建學習平臺總體架構(gòu)分為負載均衡層、連接層、服務層及數(shù)據(jù)層,每一層在邏輯上相互獨立且支持擴展。
負載均衡層舍棄了傳統(tǒng)的F5 硬件負載均衡(Load Balance)方案,采用了Nginx 軟件負載均衡方式,大大降低了運維成本,同時提高了系統(tǒng)的靈活性。
連接層負責接入各終端、業(yè)務系統(tǒng),通過采用前后端分開、自研輕量級交互協(xié)議、移動端維持長連接的方式,實現(xiàn)終端用戶良好的使用體驗[13-14]。
黨建學習平臺的關(guān)鍵是服務層,服務層負責平臺業(yè)務邏輯,各個服務之間可以進行相互通信,運用服務治理的設計理念,實現(xiàn)服務之間負載自動均衡和提升系統(tǒng)的擴展性;另外,服務層引入嵌入式監(jiān)管的理念,實時監(jiān)控服務生命周期的健康水平。服務層承接“智能知識推薦模型”的運行,針對每個用戶提供個體化學習與評測內(nèi)容。
數(shù)據(jù)層負責各服務的數(shù)據(jù)、文件、通知-推送、緩存的存儲管理,其中數(shù)據(jù)通過離線備份到深度神經(jīng)網(wǎng)絡訓練平臺,用于模型訓練及驗證。
以智能交互式知識學習系統(tǒng)為核心的黨建學習平臺自建設上線以來,為十余個省市提供了黨建知識學習信息化服務,通過發(fā)起在線考試了解黨員的學習成果,后臺自動統(tǒng)計結(jié)果,高效省時,減少了以往組織類似競賽活動的人工成本和時間成本,并有力推動了黨群部門的無紙化辦公應用。同時,廣大省市移動公司通過聯(lián)合當?shù)亟M織部門開展競賽活動,進一步在當?shù)財U大了公司的影響力并提升了廣大用戶的4G 流量使用度,社會價值和經(jīng)濟價值均有所體現(xiàn)[15-16]。
根據(jù)平臺數(shù)據(jù)統(tǒng)計,部署了智能知識推薦模型后,參與黨建學習平臺活動的各單位黨員的學習效率顯著提升,與傳統(tǒng)學習方式相比,使用該平臺后,黨員的黨建知識測評平均分提高了15 分,黨建活動的員工參與度也上升了30%。截止目前,黨建學習平臺已經(jīng)接入移動云、小移人家、和飛信、和辦公、和助理等諸多APP 產(chǎn)品中,累計服務單位近80 家,服務黨員規(guī)模超過100 萬人,累計答題數(shù)超過5 000 萬人次,累計直接創(chuàng)收超過300 萬元。
從黨建學習平臺的個性化服務理念入手,以深度神經(jīng)網(wǎng)絡和機器學習技術(shù)為基礎,針對現(xiàn)有學習資源多元冗余但缺乏智能化交互的網(wǎng)絡學習平臺,該文提出了一種自動記錄用戶歷史學習數(shù)據(jù)、離線訓練智能推薦模型、在線應用模型的智能交互式知識學習系統(tǒng)。通過對系統(tǒng)設計和模型研究的詳細介紹,分析和討論了學習平臺和智能推薦模型的基本研究過程和關(guān)鍵技術(shù)點。該系統(tǒng)能依據(jù)學習者相關(guān)的學習信息建立學習者的個性化知識推薦模型,驅(qū)動學習者主動學習與自主評測補漏,極大促進了人工智能技術(shù)在教育領(lǐng)域,尤其是在線教育領(lǐng)域的發(fā)展。