劉曉瑞 莫懷訓
【摘 要】高職院校計算機類專業(yè)中信息化教學資源利用逐日廣泛,本文提出了一種基于知識圖譜技術建立自適應信息化學習系統(tǒng)提高教學資源利用率的方法。實施該方法的基礎是首先要構造出不同課程對應的知識圖譜,本文以計算機基礎知識為例對知識圖譜的構造技術進行了介紹,對讀者建立其他課程乃至其他專業(yè)的知識圖譜具有一定的指導意義。
【關鍵詞】計算機類專業(yè);知識圖譜;自適應
【中圖分類號】G434 【文獻標識碼】A
【文章編號】2095-3089(2018)22-0010-02
在目前職業(yè)學校中,各類信息化教學資源主要集中在虛擬仿真、網(wǎng)絡課程、微課視頻、遠程教育等方面,這些資源使用的共同特點是高度依賴于教師的選擇和組織。如果缺乏教師引導,對于受教育者特別是職業(yè)院校的在校學生,難以明確自己的學習需求,從而不易自行匹配使用相關資源,最終導致學校提供的信息化資源利用率低,造成巨大的浪費。多數(shù)高職院校各專業(yè)均存在類似的浪費現(xiàn)象。
出現(xiàn)上述浪費現(xiàn)象的本質原因是這些信息化教學資源在應用中不具有自適應性,解決信息化教學資源應用中的自適應問題,就可以極大的提高資源的利用效率,解決自適應性問題的主要工具有人工智能和知識圖譜等技術。本文重點介紹知識圖譜技術及其在計算機類專業(yè)信息化教學中的應用。
一、知識圖譜技術簡介
知識圖譜本質上是語義網(wǎng)絡,是一種基于圖的數(shù)據(jù)結構,由節(jié)點(Point)和邊(Edge)組成。在知識圖譜里,每個節(jié)點表示現(xiàn)實世界中存在的“實體”,每條邊為實體與實體之間的“關系”。知識圖譜是關系的最有效的表示方式。通俗地講,知識圖譜就是把所有不同種類的信息(Heterogeneous Information)連接在一起而得到的一個關系網(wǎng)絡。知識圖譜提供了從“關系”的角度去分析問題的能力。
現(xiàn)有的大規(guī)模知識圖譜,國外主要有Yago、Dbpedia、Freebase、谷歌知識圖譜和Nell。這些知識圖譜中包含的事實數(shù)量均是億級。國內主要有百度知心、搜狗知立方、阿里巴巴知識庫。對于垂直行業(yè)知識庫,國外主要有針對娛樂行業(yè)的IMDB、音樂庫MusicBrainz等,國內有訊飛音樂知識庫、訊飛10086客服。垂直行業(yè)知識庫的描述目標是特定的行業(yè)領域,通常需要依靠特定行業(yè)的數(shù)據(jù)才能構建。
知識圖譜的建立方式主要有基于大數(shù)據(jù)的自動分析構建技術和基于工具的人工半自動構建方式兩種。
二、知識圖譜在高職計算機類專業(yè)信息化教學系統(tǒng)構建中的應用
針對高職院校計算機類專業(yè),以“以信息技術基礎知識”為切入點,應用知識圖譜工具將基礎課程內容重構,課程中各知識點和技能點將通過關系網(wǎng)絡連接在一起。在此基礎上研制的信息化教學資源將可以自動根據(jù)學生個體在學習過程中出現(xiàn)的問題調整接下來的學習路徑,從而使得學習系統(tǒng)對每一個使用者都具有了自適應性,讓“因材施教”這個教育原則在技術上得到了根本保障。
首先我們要確定基礎課程的內容,其主要由課程體系中的專業(yè)課程學習需求來確定的,也就是說例如后面《網(wǎng)絡應用基礎》課學習需要學習掌握網(wǎng)絡地址,IP地址的分配計算,則在前面《計算機應用基礎》課程中訓練學生掌握各種進制的區(qū)別和轉換的計算;另外基礎課程中還有一部分內容不是后期專業(yè)課程直接所需,但是本身學習過程中必需的基礎概念。
當課程內容確定后,需要將其中的概念和計算方法全部提煉出來作為圖譜當中的實體,實體的屬性包括內容、難度值和學習資源鏈接等。本圖譜中各實體之間的關系主要就是學習過程中體現(xiàn)的邏輯順序關系,有的必須在先,有的必須在后,還有的可以并行;同時為了便于使用者學習本門課程,我們還應該提供各實體之間的相似關系。
當我們建立好知識圖譜之后,就可以在此基礎上建立一個基于問題驅動的學習系統(tǒng)。當學生個體進入系統(tǒng)時,首先面對的是問題,當學生不能解決該問題時,將進行該問題有關的知識學習,學習界面中可以點擊相關的學習資源鏈接;學習完成后,系統(tǒng)再次提出相關問題,如果學生能解決則系統(tǒng)將根據(jù)知識圖譜中的關系連接自動提出下一步的問題,否則將退回到比當前知識點更前的知識學習。如此往復進行,直到學生成功回答到系統(tǒng)預設的一系列目標問題為止。
在該系統(tǒng)中,各資源將以鏈接的形式存儲在知識圖譜的各個節(jié)點上。從而我們就可以把各類教學資源有機整合起來,通過學生的學習進度自動推送,從而避免了學生由于需求不明無法自行選擇的問題,從根本上提高了信息化教學資源的有效利用率。
三、需要解決的重點問題
1.合理控制知識圖譜的構建規(guī)模。
就學科知識而言,計算機類基礎課程主要包含計算機應用基礎知識和網(wǎng)絡應用基礎知識。很明顯,對于不同層次的計算機類專業(yè)學生來講,計算機類基礎課程包含的知識范圍有較大區(qū)別。例如計算機應用基礎里的計算機發(fā)展史基礎知識,對于高職學生來講,在后續(xù)的專業(yè)學習中基本不會再涉及,那么我們在構建知識圖譜時可以不必將其包含進去;而計算機軟件硬件基礎知識,在之后的軟件相關課程學習和網(wǎng)絡相關課程學習中會頻繁使用到,必須構建到知識圖譜中間去。因此確定知識范圍,合理構建知識圖譜將是運用知識圖譜技術的重點,是保障項目成功進行的關鍵。
2.知識圖譜構建方法。
如何根據(jù)基礎課程的知識內容構建知識圖譜的關鍵是正確提取其中的實體和關系。實體和關系的提取涉及到自然語言的理解和推理,如果我們采用工具純自動化的建立,涉及到的理論和技術障礙較多。由于我們建立的是一個規(guī)模較小、范圍有限、垂直行業(yè)應用的知識圖譜,因此我們可以采用自動化工具和專家人工相結合來構建。
知識圖譜的存儲不能采用一般的關系數(shù)據(jù)庫,因為一般節(jié)點之間關聯(lián)深度超過5的話,關系數(shù)據(jù)庫將不能解決。本文項目采用較為流行的圖形數(shù)據(jù)庫neo4j來構建,通過Python來編程使用。示例如下:
例如“進制轉換”、“進制規(guī)則”、“轉換算法”、“IP地址”這四個知識點的關系如下圖。
現(xiàn)在利用圖形數(shù)據(jù)庫進行數(shù)據(jù)的儲存,并獲得“IP地址”知識點的上一步應該學習的所有知識點,并為“進制規(guī)則”知識點過關后可以推薦給用戶的后續(xù)知識點。構建方法見下面代碼。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 以下為使用Neo4j圖形數(shù)據(jù)庫建立計算機應用基礎知識圖譜的示例
#
from neo4j import GraphDatabase, INCOMING
# 創(chuàng)建或連接數(shù)據(jù)庫
db =GraphDatabase('neodb')
# 在一個事務內完成寫或讀操作
with db.transaction:
#創(chuàng)建計算機應用基礎知識圖譜
dgdztp =db.node()
# 連接到參考節(jié)點,方便查找
db.reference_node.USERS(dgdztp)
# 為知識節(jié)點建立索引,便于快速查找
dgdz_idx =db.node.indexes.create(' dgdztp ')
#創(chuàng)建知識節(jié)點函數(shù)
def create_dgdznode(name):
with db.transaction:
dgdznode =db.node(name=name)
dgdznode.INSTANCE_OF(dgdz)
# 建立基于節(jié)點name的索引
dgdz_idx['name'][name] =dgdznode
return dgdznode
#根據(jù)節(jié)點名獲得知識節(jié)點
def get_dgdznode (name):
return dgdz_idx['name'][name].single
#建立節(jié)點
for name in['IP地址', '進制轉換','轉換規(guī)則','轉換算法']:
create_ dgdznode (name)
#為節(jié)點間添加關注關系(FOLLOWS)
with db.transaction:
get_dgdznode ('進制規(guī)則').FOLLOWS(get_dgdznode ('IP地址'))
get_dgdznode ('進制轉換').FOLLOWS(get_dgdznode ('IP地址'))
get_dgdznode ('轉換算法').FOLLOWS(get_dgdznode ('進制規(guī)則'))
# 獲得“IP地址”的上一級知識節(jié)點
for relationship in get_dgdznode ('IP地址').FOLLOWS.incoming:
u = relationship.start
print u['name']
#輸出結果:進制轉換,禁止規(guī)則
#查詢“轉換規(guī)則”節(jié)點的上一級知識節(jié)點的上一級節(jié)點
nid = get_dgdznode ('轉換規(guī)則').id
#設置查詢語句
query = “START n=node({id}) MATCH n-[:FOLLOWS]->m-[:FOLLOWS]->fof RETURN n,m,fof”
for row in db.query(query,id=nid):
node = row['fof']
print node['name']
#輸出結果:IP地址
目前已基本完成了高職計算機類專業(yè)計算機應用基礎知識圖譜的構建工作,為下一步開發(fā)自適應信息化學習系統(tǒng)奠定了基礎。本文拋磚引玉,希望能對開發(fā)其他課程乃至整個專業(yè)的基于知識圖譜的自適應信息化學習系統(tǒng)有所幫助。
參考文獻
[1]朱新明.人的自適應學習——示例學習的理論與實踐[M].北京:中央廣播電視大學出版社,1998.
[2]劉嶠,李楊,段宏,劉瑤,秦志光.知識圖譜構建技術綜述[J]. 計算機研究與發(fā)展,2016,(03):582-600.
[3]房雨林.基礎教育信息化資源開發(fā)與應用的有效性研究,電化教育研究,2006.
[4]周文玲,戚長政,李湘?zhèn)?基于職業(yè)崗位分析構建專業(yè)課程體系的探索——以機電一體化灌裝生產(chǎn)線技術專業(yè)為例,《陜西教育:高教》,2009(4):74-75.
作者簡介:劉曉瑞(1980-),女,河南開封人,廣州城市職業(yè)學院信息技術系,碩士,研究領域:計算機應用,數(shù)據(jù)庫技術。