王啟亮 劉 鎮(zhèn)
(江蘇科技大學(xué)計(jì)算機(jī)學(xué)院 鎮(zhèn)江 212003)
2020 年,伴隨著教育信息化由1.0 到2.0 升級(jí)步伐的加快,以虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、人工智能、5G、區(qū)塊鏈為代表的新一代信息技術(shù)及其教育應(yīng)用無疑會(huì)引發(fā)更多關(guān)注[1]。
通常情況下,用戶的學(xué)習(xí)成效一般都是通過對(duì)知識(shí)點(diǎn)的掌握情況來衡量的,知識(shí)點(diǎn)直接決定了用戶是否掌握了當(dāng)前知識(shí)點(diǎn)所表示的知識(shí)。怎樣以高效合適的方式來評(píng)估一個(gè)用戶的知識(shí)是一項(xiàng)艱巨的任務(wù),魚龍混雜的試題會(huì)不但浪費(fèi)資源,而且對(duì)用戶的學(xué)習(xí)時(shí)間造成不必要的浪費(fèi)。然而,試題的關(guān)鍵在挑戰(zhàn)在于如何使用合適的題目以及問題,來檢測(cè)用戶的相關(guān)能力。因此,在進(jìn)行試題的設(shè)計(jì)時(shí),應(yīng)該在知識(shí)點(diǎn)的基本要求和延伸之間取得平衡。
給定輸入句子X,即試題發(fā)布中的知識(shí)點(diǎn)要求,將三個(gè)元素信息(即字符、單詞和字符的bi-gram)全部考慮在內(nèi)。用{c1,c2,…,cn}表示X的字符序 列,{b1,b2,…,bn} 表示字符 的bi-gram 序列,其中bi=cici+1。使用中文分詞器將X拆 分 為m 個(gè) 單 詞,即{w1,w2,…,wm}[2]。計(jì)算三類元素信息表征為

其中Wc、Wb、Ww是基于百度百科數(shù)據(jù)的預(yù)訓(xùn)練字符、字符bi-gram 和字向量矩陣初始化的。將字符和字符bi-gram 的表示連接起來,并使用完全連接的層來減少與相同的維度。然后使用一個(gè)門機(jī)制來動(dòng)態(tài)地組合語義字符層和單詞層的表示[3],如式(2)所示:


式中⊙表示按元素劃分的結(jié)果,使用隱藏向量hi和POS 標(biāo)記作為雙向LSTM 層的輸入,可以表示為

最后,將隱藏狀態(tài)s={s1,s2,…,sn}作為標(biāo)準(zhǔn)CRF 層的輸入,輸出y={y1,y2,…,yn},其中yi∈{I,O,B,E,S}表示字符在技能實(shí)體的內(nèi)部、外部、開始、結(jié)束或單個(gè)[4]。所以序列y的條件概率:


其中Y表示s的所有可能的標(biāo)簽序列,Pi,yi是用標(biāo)簽yi指定第i 個(gè)單詞的分?jǐn)?shù),Ayi,yi+1表示從標(biāo)簽yi到y(tǒng)i+1的轉(zhuǎn)換分?jǐn)?shù),Wo、bo是可訓(xùn)練參數(shù)。
創(chuàng)建一個(gè)實(shí)體-URL 圖G=(V,E)。節(jié)點(diǎn)集V包含兩種節(jié)點(diǎn),實(shí)體Ve和包含在這些實(shí)體的查詢?nèi)罩局械腢RLs 集合。邊E的集合同樣包括兩個(gè)部分,即Eeu和Eee。Eeu?Ve×Vu是Ve中的點(diǎn)與它們?cè)赩e,Vu中的相應(yīng)URL集合之間的鏈接集。刪除了在標(biāo)記數(shù)據(jù)中同時(shí)連接了知識(shí)點(diǎn)實(shí)體和非知識(shí)點(diǎn)實(shí)體的URL 的邊。用Weu∈Rpe×pu表示權(quán)重矩陣,對(duì)應(yīng)的邊集是Eee。
通過基于LP 的方法計(jì)算一個(gè)實(shí)體為知識(shí)點(diǎn)的概率。將y∈Rpe×2表示為實(shí)體標(biāo)簽。當(dāng)實(shí)體被標(biāo)記為知識(shí)點(diǎn)詞時(shí),設(shè)置對(duì)應(yīng)的,非知識(shí)點(diǎn)詞,則設(shè)置。計(jì)算如下兩個(gè)歸一化權(quán)重矩陣。

其中Deu和Dee是兩個(gè)對(duì)角矩陣,其中每個(gè)元素為。然后,迭代地使用LP 來更新yeu,yee∈Rpe×2,分別表示W(wǎng)eu和Wee所獲實(shí)體標(biāo)簽的得分。
給定試題J,將當(dāng)前參加這套試題用戶的個(gè)人信息表示為R={R1,R2,…,Rp},并且還利用用戶的歷史成績表示為P={P1,P2,…,Pp},通過該試題的用戶為S。將VJ,VRi和VS分別表示為J,Ri和S的知識(shí)點(diǎn)集合。將Ri和S中出現(xiàn)的知識(shí)點(diǎn)vk的數(shù)量分別計(jì)算為CRik和CSk,將 子 節(jié) 點(diǎn)(descendant(vk))表示為Gr 中知識(shí)點(diǎn)vk的所有后代節(jié)點(diǎn)集,而父節(jié)點(diǎn)(ancestor(vk))表示為其所有父節(jié)點(diǎn)集[6]。之后,可以根據(jù)歷史成績信息和應(yīng)聘者的簡歷來衡量Gr 中每個(gè)知識(shí)點(diǎn)vk的權(quán)重。

同時(shí),將主要知識(shí)點(diǎn)集V'J定義為VJ中所有基本知識(shí)點(diǎn)的集合,即ancestor(vn)=?}。還分別定義了VRi、VR和VS知識(shí)點(diǎn)集和VS'。
然后將VJ,VR和VS中的所有知識(shí)點(diǎn)分為匹配知識(shí)點(diǎn)、個(gè)性化知識(shí)點(diǎn)和非匹配知識(shí)點(diǎn)三部分,分別計(jì)算它們的權(quán)重[7]。此外,為了處理冷啟動(dòng)問題,還考慮了試題信息,但不出現(xiàn)在歷史成績數(shù)據(jù)或用戶的個(gè)人信息中。知識(shí)點(diǎn)權(quán)重?cái)?shù)學(xué)定義如下。

其中,通過函數(shù)g(vk)來移除用戶沒有的當(dāng)前知識(shí)點(diǎn)。例如,假設(shè)歷史試題數(shù)據(jù)表明,C++和PHP 的。如果用戶喜歡C++,并且對(duì)C++感興趣,將忽略PHP在歷史試題數(shù)據(jù)中的權(quán)重。



通過一個(gè)歷史試題數(shù)據(jù)集用于知識(shí)點(diǎn)實(shí)體提取,包括3605份試題和17931份用戶歷史試題。在2000 個(gè)的需求中手動(dòng)標(biāo)記了知識(shí)點(diǎn)實(shí)體句子和3700個(gè)試題。如表1所示,為試題申請(qǐng)數(shù)據(jù)集的統(tǒng)計(jì)信息。

表1 試題申請(qǐng)數(shù)據(jù)集的統(tǒng)計(jì)信息
使用Skipgram 模型對(duì)來自百度百科文本數(shù)據(jù)的字符,字符、單詞和字符的bi-gram 進(jìn)行了預(yù)訓(xùn)練。在知識(shí)點(diǎn)實(shí)體提取模型中,維度在BiLSTM 中的隱藏狀態(tài)設(shè)置為300。同時(shí)也遵循了文獻(xiàn)[8]中的思想初始化所有矩陣和向量參數(shù)。所有模型均采用Adam 算法進(jìn)行優(yōu)化。最后,為了驗(yàn)證模型的性能,選擇幾種模型作為基線方法,包括字符基線,即基于字符的BiLSTM CRF,它直接使用字符作為BiLSTM;字符基線中引入的信息包含單詞和字符的bi-gram信息[9]。
試題發(fā)布和個(gè)人信息的整體表現(xiàn)數(shù)據(jù)集如表2 所示。可以看出使用的三類信息(字符、單詞、字符bi-gram)對(duì)建模知識(shí)點(diǎn)實(shí)體抽取的有效性,以及門結(jié)構(gòu)的有效性。

表2 知識(shí)點(diǎn)實(shí)體抽取結(jié)果
通過收集2019年1月至6月之間的點(diǎn)擊數(shù)據(jù)[10],將kt設(shè)置為20,以便為每個(gè)實(shí)體選擇點(diǎn)擊最多的URL 標(biāo)題。將主題數(shù)nt設(shè)為100 訓(xùn)練LDA 模型Mt,將α設(shè)為0.5 計(jì)算高斯核矩陣S。然后,將ke設(shè)置為20,將kg設(shè)置為0.7,以在每兩個(gè)實(shí)體節(jié)點(diǎn)之間的Eee中構(gòu)造邊。
模型和基準(zhǔn)的性能如表3 所示。發(fā)現(xiàn)的模型沒有Eee中的信息達(dá)到了0.97 的最高準(zhǔn)確率,表明使用LP算法過濾知識(shí)點(diǎn)實(shí)體的有效性。實(shí)際在模型的變體中,缺少Eee導(dǎo)致20%測(cè)試集中的實(shí)體節(jié)點(diǎn)不連接任何URL,并且不能被它預(yù)測(cè)。因此,盡管它具有很高的精度,但是召回率僅為0.75。而且利用Eee在LP 算法可以預(yù)測(cè)所有實(shí)體標(biāo)簽并取得最佳性能與所有基準(zhǔn)模型進(jìn)行比較。雖然隨機(jī)森林可以達(dá)到最佳召回率,其精度值沒有競爭力。最后通過的LP 算法,總共獲得了4,836 個(gè)知識(shí)點(diǎn)實(shí)體。

表3 知識(shí)點(diǎn)實(shí)體降噪效果
首先對(duì)上述數(shù)據(jù)集依照時(shí)間分為訓(xùn)練集和測(cè)試集對(duì)數(shù)據(jù)特征進(jìn)行抽取,結(jié)果用onehot 熱編碼。通過GBDT 模型進(jìn)行特征提取,用對(duì)梯度提升樹中的樹的最大深度參數(shù)進(jìn)行設(shè)置。實(shí)驗(yàn)采取了ROC曲線[11]來作為很亮性能的主要指標(biāo),其中ROC 曲線橫縱坐標(biāo)分別代表了假正率FPR和真正率TPR,由在一系列閾值下FPR 和TPR 中的數(shù)值連接成的曲線。如圖1 所示,為GBDT 的F1 分值與maxdepth參數(shù)之間的關(guān)系圖。

圖1 F1與maxdepth參數(shù)的關(guān)系圖
然后將GBDT 模型的輸出作為LR 的特征進(jìn)行處理,邏輯回歸算法受到正負(fù)樣本比例影響很大因此選取合適的最佳的正負(fù)樣本比例對(duì)推薦的結(jié)果有較大的影響,如圖2所示,為LR的F1分值與閾值參數(shù)NP ratio關(guān)系圖。

圖2 LR 的F1分值與NP ratio 關(guān)系
此外,邏輯回歸算法由于使用的sigmoid 函數(shù)[12]進(jìn)行分類,在不同的正負(fù)樣本比例的情況下,其閾值參數(shù)cut_off 的最優(yōu)值也不盡相同。閾值參數(shù)與F1 的關(guān)系如圖4所示。

圖3 LR 的F1與cut_off 關(guān)系

圖4 GBDT 與LR 混合下的ROC 曲線圖
最后經(jīng)過通過混合模型可以進(jìn)一步的提高推薦的性能,其ROC 曲線如圖5所示。

圖5 混合模型框架下的ROC 曲線圖
本文同時(shí)將算法與各類算法進(jìn)行對(duì)比,如表4所示,通過實(shí)驗(yàn)結(jié)果可以看出,由于進(jìn)行模擬測(cè)試時(shí)數(shù)據(jù)量較少,導(dǎo)致本算法與其他算法在準(zhǔn)確性、召回率和F1 綜合評(píng)價(jià)指標(biāo)上差距較小,但在一定程度上還是體現(xiàn)了本文算法的優(yōu)越性,加之之后互聯(lián)網(wǎng)的海量數(shù)據(jù),該算法的精度將愈發(fā)精確。

表4 各類算法對(duì)比
本文介紹了一個(gè)種基于知識(shí)點(diǎn)個(gè)性化試題推薦系統(tǒng),用于在線學(xué)習(xí)中的用戶在線對(duì)當(dāng)前知識(shí)點(diǎn)掌握情況的測(cè)試。該系統(tǒng)的關(guān)鍵思想是通過挖掘歷史試題數(shù)據(jù)和從網(wǎng)絡(luò)中獲得的工作技能數(shù)據(jù)來構(gòu)建知識(shí)點(diǎn)的知識(shí)圖譜。具體來說,首先基于雙向LSTM-CRF 神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)了一種知識(shí)點(diǎn)實(shí)體提取方法。然后基于點(diǎn)擊日志數(shù)據(jù)設(shè)計(jì)了標(biāo)簽傳播方法,以提高提取的知識(shí)點(diǎn)實(shí)體的可靠性。此外,提出基于知識(shí)點(diǎn)實(shí)體之間的上位詞-下位詞關(guān)系,構(gòu)建知識(shí)點(diǎn)圖譜,并提出了一種啟發(fā)式的個(gè)性化的試題推薦算法,以改善用戶在線學(xué)習(xí)時(shí)的對(duì)知識(shí)點(diǎn)更加熟悉。最后,通過對(duì)比SETB 算法和TBTFIDF 算法體現(xiàn)了本問算法在一定程度上的優(yōu)越性。