江西科技師范大學數學與計算機科學學院 程山英
在“互聯網+”教學時代,學生面對呈爆炸式增長的學習平臺和學習資源,容易陷入知識迷航,面對各種質量參差不齊的教學資源無法高速、有效、精準地在海量信息中找到所需要的學習資料。《數據庫原理》課程是一門知識點多、關聯性強的專業必修課程,學習者在互聯網中進行學習時,很難精準地找到所需要的學習資源。因此,將知識圖譜技術應用到《數據庫原理》課程的教學中,用可視化的形式進行知識表達,學習者能進行有效、科學地學習。因此,將專業學科與知識圖譜的可視化相結合,能提高教學質量,促進教育發展。
知識圖譜是一種語義網絡,對現實世界的實體和實體之間的關系用可視化的形式顯現出來。知識圖譜通過有向圖把相關聯的語義信息連接在一起,能將網絡大數據的應用價值大幅提高。
課程知識圖譜是知識圖譜與教育相融合,在教育上的具體應用。課程知識圖譜將知識圖譜技術應用于某個學科或者課程,將課程內的所有知識點以(實體,關系,實體)的三元組形式構建一個網狀的結構。不同的知識點用“實體”表示,知識點的關聯用“關系”表示,關系在直觀上就是有向邊,有起點,有終點,邊的方向和標簽能說明具體的關系類型。這樣通過知識圖譜可以將知識點、知識點之間的概念以直觀明了的方式呈現在學習者面前,以便學習者能客觀和清楚地理解知識點和知識之間的關系。
本文所構建的知識圖譜是采用自底向上的方式完成的,首先進行了實體提取的工作,其次構建模式層的本體模式。
構建課程知識圖譜的第一步是獲取大量的數據。首先確定領域范圍為《數據庫原理》;其次對經典數據庫教材,高等教育出版社的《數據庫系統概論》進行人工提取文字內容,整理收集成文件;最后以《數據庫原理》教材作為參考依據,應用網絡爬蟲技術,對教材中的相關知識點進行數據采集,并在維基百科中找到相關的知識數據進行下載。應用相關算法對語料庫做處理,自動處理與人工篩選相結合,對所有數據進行過濾與整合,得到知識點,為《數據庫原理》學科知識圖譜的構建提供充分的數據支持。
XLink是基于跨語言知識庫XLORE的實體鏈接系統。將數據收集階段的知識點文檔進行輸入,XLink能識別出《數據庫原理》知識點文檔中的知識點實體并鏈接到XLORE相對應的實體上。文本信息和知識庫通過實體鏈接進行橋接,為知識點文本理解提供了外部知識。本文的知識圖譜通過清華實驗室的實體抽取,XLink接口對之前數據收集階段形成的文件中的知識概念進行抽取,得到文件中包含的知識概念。
BERT模型的全稱是Bidirectional Encoder Representations from Transformer。BERT模型是多層的Transformer架構。在BERT模型中,多層的編碼器進行編碼,對句子中的每一個詞應用自注意力機制建立線性相關,詞向量和位置向量在數據庫原理知識點中起著關鍵作用。因此本文將BERT模型引入數據庫原理知識點實體關系抽取模型框架中,運用BERT模型對知識概念進行詞向量,然后以種子概念為聚類中心對抽取的知識概念進行聚類,得到種子概念聚類后的結果,聚類越靠前,知識概念和本課程越有關系。
完成了數據采集和概念抽取后,將下來的工作是要從數據中抽取實體和關系。對聚類后的概念和課程對應的概念進行三元組劃分,構造實體與實體間的關系,并將整理好的三元組寫入Neo4j圖形數據庫。假設:任意一個實體對僅有一個關系。定義了六類實體對關系,分別是依賴,被依賴,包含,屬于,無關,有關。需要特別說明的是,本文構建了“章節概念”,將每一章的內容進行了知識點的歸納。
考慮到課程知識點的特殊性和知識的嚴謹性,初步對實體關系進行了人工標注。同時為了增強系統的可擴展性,預留了手工標注數據的功能,在以后的使用過程中,如果發現數據、關系有誤差,隨時可以進行更改。
在完成了數據采集、概念和關系抽取的工作后,就需要對《數據庫原理》知識圖譜進行可視化的設計與實現。
應用Python的py2neo,把之前文件中的實體和關系三元組全部存儲到Neo4j圖形數據庫中,在應用Cypher語言對《數據庫原理》課程知識圖譜進行各種個性化的查詢和路徑分析操作,如圖1所示,各知識點的關系很直觀清晰地顯示出來。

圖1 實體關系
Django是一個開源的Web框架,它擁有豐富的在線文檔,文檔記錄了完備的信息,特別容易上手進行開發設計。Django有強大的數據庫訪問組件,方便進行數據庫的訪問,且界面友好,有效的錯誤提示和幫助,適合連接數據庫的應用程序。
實現開發知識圖譜展示Web頁面,根據查詢的知識概念,得到該知識概念對應的知識圖譜,同時調用開源的知識概念解釋接口,獲取對當前知識概念的解釋。運用Django框架,對Neo4j后臺圖形數據庫中的知識圖譜數據與Web前端進行交互,前端是通過Ajax方法調用后端接口查找數據,實現可視化技術。
在Web頁面中,默認顯示《數據庫原理》課程知識指定個數的節點,在右側的查詢中輸入查詢的內容,能展開查詢節點的功能。
選擇計算機專業學生進行對比學習實驗,將40名學生隨機分成二組,對比實驗學習,然后進行測試和調查問卷進行學習效果分析。測試表明,應用課程知識圖譜進行學習,測試時間有效縮短,測試成績明顯提升。對使用課程知識圖譜學習的學生進行問卷調查。從結果可以看出90%的學生認為課程知識圖譜使用方便,95%的學生認為知識圖譜能幫助掌握課程整體結構,93%的學生認為課程知識圖譜能幫助理解知識間的關聯。
通過效果分析可知,《數據庫原理》課程知識圖譜能幫助學生掌握知識整體結構和理解知識點之間的關系,改善學生學習體驗,提升教學效果。
實踐結果表明,《數據庫原理》可視化知識圖譜系統的使用,使學習者形成清晰的知識體系,將知識內容直觀簡潔地呈現給學習者,降低了學習者的視覺負擔,提升學習者的學習效率,為知識圖譜應用在教學中的發展提供啟示。