江西科技師范大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 程山英
在“互聯(lián)網(wǎng)+”教學(xué)時(shí)代,學(xué)生面對(duì)呈爆炸式增長(zhǎng)的學(xué)習(xí)平臺(tái)和學(xué)習(xí)資源,容易陷入知識(shí)迷航,面對(duì)各種質(zhì)量參差不齊的教學(xué)資源無法高速、有效、精準(zhǔn)地在海量信息中找到所需要的學(xué)習(xí)資料。《數(shù)據(jù)庫原理》課程是一門知識(shí)點(diǎn)多、關(guān)聯(lián)性強(qiáng)的專業(yè)必修課程,學(xué)習(xí)者在互聯(lián)網(wǎng)中進(jìn)行學(xué)習(xí)時(shí),很難精準(zhǔn)地找到所需要的學(xué)習(xí)資源。因此,將知識(shí)圖譜技術(shù)應(yīng)用到《數(shù)據(jù)庫原理》課程的教學(xué)中,用可視化的形式進(jìn)行知識(shí)表達(dá),學(xué)習(xí)者能進(jìn)行有效、科學(xué)地學(xué)習(xí)。因此,將專業(yè)學(xué)科與知識(shí)圖譜的可視化相結(jié)合,能提高教學(xué)質(zhì)量,促進(jìn)教育發(fā)展。
知識(shí)圖譜是一種語義網(wǎng)絡(luò),對(duì)現(xiàn)實(shí)世界的實(shí)體和實(shí)體之間的關(guān)系用可視化的形式顯現(xiàn)出來。知識(shí)圖譜通過有向圖把相關(guān)聯(lián)的語義信息連接在一起,能將網(wǎng)絡(luò)大數(shù)據(jù)的應(yīng)用價(jià)值大幅提高。
課程知識(shí)圖譜是知識(shí)圖譜與教育相融合,在教育上的具體應(yīng)用。課程知識(shí)圖譜將知識(shí)圖譜技術(shù)應(yīng)用于某個(gè)學(xué)科或者課程,將課程內(nèi)的所有知識(shí)點(diǎn)以(實(shí)體,關(guān)系,實(shí)體)的三元組形式構(gòu)建一個(gè)網(wǎng)狀的結(jié)構(gòu)。不同的知識(shí)點(diǎn)用“實(shí)體”表示,知識(shí)點(diǎn)的關(guān)聯(lián)用“關(guān)系”表示,關(guān)系在直觀上就是有向邊,有起點(diǎn),有終點(diǎn),邊的方向和標(biāo)簽?zāi)苷f明具體的關(guān)系類型。這樣通過知識(shí)圖譜可以將知識(shí)點(diǎn)、知識(shí)點(diǎn)之間的概念以直觀明了的方式呈現(xiàn)在學(xué)習(xí)者面前,以便學(xué)習(xí)者能客觀和清楚地理解知識(shí)點(diǎn)和知識(shí)之間的關(guān)系。
本文所構(gòu)建的知識(shí)圖譜是采用自底向上的方式完成的,首先進(jìn)行了實(shí)體提取的工作,其次構(gòu)建模式層的本體模式。
構(gòu)建課程知識(shí)圖譜的第一步是獲取大量的數(shù)據(jù)。首先確定領(lǐng)域范圍為《數(shù)據(jù)庫原理》;其次對(duì)經(jīng)典數(shù)據(jù)庫教材,高等教育出版社的《數(shù)據(jù)庫系統(tǒng)概論》進(jìn)行人工提取文字內(nèi)容,整理收集成文件;最后以《數(shù)據(jù)庫原理》教材作為參考依據(jù),應(yīng)用網(wǎng)絡(luò)爬蟲技術(shù),對(duì)教材中的相關(guān)知識(shí)點(diǎn)進(jìn)行數(shù)據(jù)采集,并在維基百科中找到相關(guān)的知識(shí)數(shù)據(jù)進(jìn)行下載。應(yīng)用相關(guān)算法對(duì)語料庫做處理,自動(dòng)處理與人工篩選相結(jié)合,對(duì)所有數(shù)據(jù)進(jìn)行過濾與整合,得到知識(shí)點(diǎn),為《數(shù)據(jù)庫原理》學(xué)科知識(shí)圖譜的構(gòu)建提供充分的數(shù)據(jù)支持。
XLink是基于跨語言知識(shí)庫XLORE的實(shí)體鏈接系統(tǒng)。將數(shù)據(jù)收集階段的知識(shí)點(diǎn)文檔進(jìn)行輸入,XLink能識(shí)別出《數(shù)據(jù)庫原理》知識(shí)點(diǎn)文檔中的知識(shí)點(diǎn)實(shí)體并鏈接到XLORE相對(duì)應(yīng)的實(shí)體上。文本信息和知識(shí)庫通過實(shí)體鏈接進(jìn)行橋接,為知識(shí)點(diǎn)文本理解提供了外部知識(shí)。本文的知識(shí)圖譜通過清華實(shí)驗(yàn)室的實(shí)體抽取,XLink接口對(duì)之前數(shù)據(jù)收集階段形成的文件中的知識(shí)概念進(jìn)行抽取,得到文件中包含的知識(shí)概念。
BERT模型的全稱是Bidirectional Encoder Representations from Transformer。BERT模型是多層的Transformer架構(gòu)。在BERT模型中,多層的編碼器進(jìn)行編碼,對(duì)句子中的每一個(gè)詞應(yīng)用自注意力機(jī)制建立線性相關(guān),詞向量和位置向量在數(shù)據(jù)庫原理知識(shí)點(diǎn)中起著關(guān)鍵作用。因此本文將BERT模型引入數(shù)據(jù)庫原理知識(shí)點(diǎn)實(shí)體關(guān)系抽取模型框架中,運(yùn)用BERT模型對(duì)知識(shí)概念進(jìn)行詞向量,然后以種子概念為聚類中心對(duì)抽取的知識(shí)概念進(jìn)行聚類,得到種子概念聚類后的結(jié)果,聚類越靠前,知識(shí)概念和本課程越有關(guān)系。
完成了數(shù)據(jù)采集和概念抽取后,將下來的工作是要從數(shù)據(jù)中抽取實(shí)體和關(guān)系。對(duì)聚類后的概念和課程對(duì)應(yīng)的概念進(jìn)行三元組劃分,構(gòu)造實(shí)體與實(shí)體間的關(guān)系,并將整理好的三元組寫入Neo4j圖形數(shù)據(jù)庫。假設(shè):任意一個(gè)實(shí)體對(duì)僅有一個(gè)關(guān)系。定義了六類實(shí)體對(duì)關(guān)系,分別是依賴,被依賴,包含,屬于,無關(guān),有關(guān)。需要特別說明的是,本文構(gòu)建了“章節(jié)概念”,將每一章的內(nèi)容進(jìn)行了知識(shí)點(diǎn)的歸納。
考慮到課程知識(shí)點(diǎn)的特殊性和知識(shí)的嚴(yán)謹(jǐn)性,初步對(duì)實(shí)體關(guān)系進(jìn)行了人工標(biāo)注。同時(shí)為了增強(qiáng)系統(tǒng)的可擴(kuò)展性,預(yù)留了手工標(biāo)注數(shù)據(jù)的功能,在以后的使用過程中,如果發(fā)現(xiàn)數(shù)據(jù)、關(guān)系有誤差,隨時(shí)可以進(jìn)行更改。
在完成了數(shù)據(jù)采集、概念和關(guān)系抽取的工作后,就需要對(duì)《數(shù)據(jù)庫原理》知識(shí)圖譜進(jìn)行可視化的設(shè)計(jì)與實(shí)現(xiàn)。
應(yīng)用Python的py2neo,把之前文件中的實(shí)體和關(guān)系三元組全部存儲(chǔ)到Neo4j圖形數(shù)據(jù)庫中,在應(yīng)用Cypher語言對(duì)《數(shù)據(jù)庫原理》課程知識(shí)圖譜進(jìn)行各種個(gè)性化的查詢和路徑分析操作,如圖1所示,各知識(shí)點(diǎn)的關(guān)系很直觀清晰地顯示出來。
圖1 實(shí)體關(guān)系
Django是一個(gè)開源的Web框架,它擁有豐富的在線文檔,文檔記錄了完備的信息,特別容易上手進(jìn)行開發(fā)設(shè)計(jì)。Django有強(qiáng)大的數(shù)據(jù)庫訪問組件,方便進(jìn)行數(shù)據(jù)庫的訪問,且界面友好,有效的錯(cuò)誤提示和幫助,適合連接數(shù)據(jù)庫的應(yīng)用程序。
實(shí)現(xiàn)開發(fā)知識(shí)圖譜展示W(wǎng)eb頁面,根據(jù)查詢的知識(shí)概念,得到該知識(shí)概念對(duì)應(yīng)的知識(shí)圖譜,同時(shí)調(diào)用開源的知識(shí)概念解釋接口,獲取對(duì)當(dāng)前知識(shí)概念的解釋。運(yùn)用Django框架,對(duì)Neo4j后臺(tái)圖形數(shù)據(jù)庫中的知識(shí)圖譜數(shù)據(jù)與Web前端進(jìn)行交互,前端是通過Ajax方法調(diào)用后端接口查找數(shù)據(jù),實(shí)現(xiàn)可視化技術(shù)。
在Web頁面中,默認(rèn)顯示《數(shù)據(jù)庫原理》課程知識(shí)指定個(gè)數(shù)的節(jié)點(diǎn),在右側(cè)的查詢中輸入查詢的內(nèi)容,能展開查詢節(jié)點(diǎn)的功能。
選擇計(jì)算機(jī)專業(yè)學(xué)生進(jìn)行對(duì)比學(xué)習(xí)實(shí)驗(yàn),將40名學(xué)生隨機(jī)分成二組,對(duì)比實(shí)驗(yàn)學(xué)習(xí),然后進(jìn)行測(cè)試和調(diào)查問卷進(jìn)行學(xué)習(xí)效果分析。測(cè)試表明,應(yīng)用課程知識(shí)圖譜進(jìn)行學(xué)習(xí),測(cè)試時(shí)間有效縮短,測(cè)試成績(jī)明顯提升。對(duì)使用課程知識(shí)圖譜學(xué)習(xí)的學(xué)生進(jìn)行問卷調(diào)查。從結(jié)果可以看出90%的學(xué)生認(rèn)為課程知識(shí)圖譜使用方便,95%的學(xué)生認(rèn)為知識(shí)圖譜能幫助掌握課程整體結(jié)構(gòu),93%的學(xué)生認(rèn)為課程知識(shí)圖譜能幫助理解知識(shí)間的關(guān)聯(lián)。
通過效果分析可知,《數(shù)據(jù)庫原理》課程知識(shí)圖譜能幫助學(xué)生掌握知識(shí)整體結(jié)構(gòu)和理解知識(shí)點(diǎn)之間的關(guān)系,改善學(xué)生學(xué)習(xí)體驗(yàn),提升教學(xué)效果。
實(shí)踐結(jié)果表明,《數(shù)據(jù)庫原理》可視化知識(shí)圖譜系統(tǒng)的使用,使學(xué)習(xí)者形成清晰的知識(shí)體系,將知識(shí)內(nèi)容直觀簡(jiǎn)潔地呈現(xiàn)給學(xué)習(xí)者,降低了學(xué)習(xí)者的視覺負(fù)擔(dān),提升學(xué)習(xí)者的學(xué)習(xí)效率,為知識(shí)圖譜應(yīng)用在教學(xué)中的發(fā)展提供啟示。