胡茹艷
(云南師范大學 信息學院,云南 昆明 650500)
近幾年,隨著知識表示和機器學習等技術(shù)的應用,知識圖譜技術(shù)突破性的發(fā)展為課程知識圖譜的構(gòu)建提供了一種全新的方式,而網(wǎng)絡中擁有豐富的信息資源,同時其詞條數(shù)量大,為課程知識圖譜的構(gòu)建提供了基礎(chǔ)[1]。利用知識圖譜技術(shù)將網(wǎng)絡中的知識提取并建立關(guān)系,將知識進行可視化操作,最終以圖的形式展示出來,這樣比較符合人們的認知習慣,可以讓學習者快速獲取知識與知識之間的邏輯關(guān)系,從而更加明確地了解整個課程知識結(jié)構(gòu)體系。所以,基于優(yōu)質(zhì)的教育資源站點構(gòu)建課程知識圖譜,能揭示課程知識體系。所以,探討課程知識圖譜的構(gòu)建是可行而且可靠的。
課程知識圖譜構(gòu)建主要分為本體層和數(shù)據(jù)層[2]。在課程知識圖譜的研究過程中,研究者通常采用本體來實現(xiàn)課程知識圖譜的建模,但是不同研究者對知識的邏輯結(jié)構(gòu)解讀不一樣,所以定義的類以及關(guān)系也存在差異。潘穎等[3]認為課程知識的基本單位是知識點,因此在構(gòu)建知識本體時將知識點定義為類,并通過父類和子類來描述知識點的關(guān)系;邢科云[4]以認知學習理論為基礎(chǔ),將課程知識本體分為“框架樹”本體、“知識點網(wǎng)”本體和教學媒體資源本體;其中,每一部分都定義了不同屬性與關(guān)系。從上述研究者的分析可以看出,課程知識圖譜的本體層需要借助課程知識本體進行管理。課程知識本體包含了課程內(nèi)容的概念,體現(xiàn)了完整的內(nèi)容體系。構(gòu)建課程知識本體,首先要明確并弄清楚課程知識的內(nèi)涵與結(jié)構(gòu)特點,建立課程知識的認知結(jié)構(gòu),其次通過本體技術(shù)將知識點及其關(guān)系以形式化的方式進行表示和存儲。
課程知識圖譜構(gòu)建所利用的數(shù)據(jù)源主要來自開放課程庫和開放領(lǐng)域,包括:結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)以及非結(jié)構(gòu)化數(shù)據(jù)。首先采用網(wǎng)絡爬蟲技術(shù)從優(yōu)質(zhì)的教育資源站點采集課程知識內(nèi)容的語料數(shù)據(jù)并進行數(shù)據(jù)的清洗和分詞;其次應用基于TF-IDF與互信息MI權(quán)值的統(tǒng)計學習方法實現(xiàn)文檔關(guān)鍵詞的抽取,利用基于詞向量的K-means聚類和基于規(guī)則的方法提取分類關(guān)系,然后將知識存儲于neo4j圖數(shù)據(jù)庫,最后利用Protégé工具完成課程知識圖譜的構(gòu)建,如圖1所示。

圖1 構(gòu)建流程
構(gòu)建課程知識語料庫,就是利用網(wǎng)絡爬蟲完成從指定的Web頁面抓取和保存數(shù)據(jù)。主要是定點抓取優(yōu)等質(zhì)量的課程知識內(nèi)容文檔,以完成課程知識圖譜的構(gòu)建任務。主要包括:爬蟲引擎、資源URL調(diào)度、資源下載、解析以及內(nèi)容處理等部分。由于抓取的課程語料中包含大量程序代碼、特殊字符及其他無意義的HTML元素標記。這些元素對于概念抽取部分沒有任何意義,甚至有可能對最終的任務結(jié)果產(chǎn)生影響。所以需要對這些內(nèi)容進行數(shù)據(jù)清洗,以此來提升課程內(nèi)容的質(zhì)量,改善概念抽取效果。清洗后的數(shù)據(jù)用作基礎(chǔ)語料庫,為課程知識圖譜的構(gòu)建奠定數(shù)據(jù)基礎(chǔ)。
首先采用TF-IDF和MI權(quán)值相結(jié)合的統(tǒng)計技術(shù),從語料庫中抽取關(guān)鍵詞實體。TF-IDF用以評估一字詞對于一個語料庫中的其中一份文件的重要程度。在TF-IDF中,TF表示一個詞在文本中出現(xiàn)的頻率。其計算公式為:
(1)
其中n表示某個詞在文章中出現(xiàn)的次數(shù),m表示文章的總次數(shù)。TF就是該詞語的詞頻。IDF是逆文檔頻率的意思,是衡量單詞普遍重要性的標準[5]。計算公式為:
(2)
其中,N表示語料庫的文檔總數(shù),M表示包含該詞的文檔數(shù),如果一個詞越常見,那么分母就越大,逆文檔頻率就越小越接近0。提取出單個的知識點,我們需要進行關(guān)系的提取,從而能建立有結(jié)構(gòu)的知識圖,對文本分類關(guān)系的提取,主要通過基于詞向量的K-means聚類和基于規(guī)則相結(jié)合的方法,抽取出知識點實體的包含關(guān)系和上下位關(guān)系,這一步是知識圖譜模式層本體構(gòu)建的關(guān)鍵。
早期,MacQueen提出了K-means算法[6]。K-means是基于原型的、劃分的距離技術(shù),其算法思想是:
(1)選定K個初始聚類中心,計算其中心值;
(2)計算各數(shù)據(jù)點到聚類中心的歐式距離,按照距離最近原則分類;
(3)重新計算每類的中心值,作為新的聚類中心,再次分類;
(4)直至標準函數(shù)收斂,則算法終止。
經(jīng)過上述數(shù)據(jù)的獲取以及處理,得到的是課程內(nèi)容實體以及實體之間的關(guān)系,最后一步就是對知識進行存儲,存儲知識的方式多種多樣,這里使用neo4j圖數(shù)據(jù)庫,因為neo4j具有優(yōu)秀的關(guān)系展示頁面,在進行數(shù)據(jù)存儲時,將其存儲在網(wǎng)絡上而不是在表中。利用JAVA編程語言,通過neo4j圖數(shù)據(jù)庫構(gòu)建課程知識體系的知識圖譜,可以更加直觀地將知識點之間的關(guān)系展示出來。
在傳統(tǒng)以網(wǎng)頁互聯(lián)為學習者提供資源的形式中,因為網(wǎng)頁之間復雜的環(huán)境和鏈接跳轉(zhuǎn)之間的煩瑣,可能會導致學生出現(xiàn)“信息迷航”的問題,文章針對此問題提出了一種課程知識圖譜的構(gòu)建方法,知識圖譜在課程內(nèi)容的精煉、歸納有著廣泛的應用,通過關(guān)注知識之間的語義關(guān)系,并將其關(guān)系以圖譜的形式可視化出來,有利于學習者掌握課程知識內(nèi)容的脈絡。充分利用知識圖譜和現(xiàn)代化信息技術(shù),為課程知識結(jié)構(gòu)的構(gòu)建提供一種新的方式,為課程知識信息化建設提供了新手段。