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