薛昕惟, 趙小薇, 王 祎, 田琳琳, 李豪杰, 林 馳
(大連理工大學(xué) a. 國(guó)際信息與軟件學(xué)院; b. 軟件學(xué)院, 遼寧 大連 116620)
近3年,借助移動(dòng)通信技術(shù)、社交媒體,以及以共享為理念的開(kāi)放教育資源運(yùn)動(dòng),以“微課”為代表的“微”教學(xué)模式已成為我國(guó)教育信息化發(fā)展的新熱點(diǎn)[1]?!拔⒄n”指利用幾min,最多不超過(guò)十幾min來(lái)講授課程知識(shí),是一種碎片化的視頻學(xué)習(xí)資源。
但從知識(shí)供給的角度來(lái)說(shuō),碎片化的學(xué)習(xí)內(nèi)容需要建立在體系化的思維框架下[2]。所謂“知識(shí)”,由兩部分組成:一是“事實(shí)”(或稱為“觀念”),二是“聯(lián)系”。事實(shí)就是一個(gè)個(gè)點(diǎn),聯(lián)系則是把點(diǎn)連接起來(lái)的線,它們所構(gòu)成的網(wǎng)絡(luò),就是知識(shí)結(jié)構(gòu)?!笆聦?shí)”決定知識(shí)的廣度,“聯(lián)系”決定知識(shí)的深度。知識(shí)網(wǎng)絡(luò)決定人如何思考。如果長(zhǎng)期接受碎片信息,將會(huì)使思維變得狹隘,難以進(jìn)行復(fù)雜的思考。而“微課”本身就是知識(shí)碎片化的產(chǎn)物,但如果能按照一定的順序和原則,將某個(gè)專題、某門(mén)課程的核心知識(shí)點(diǎn)依次列出,圍繞這些核心知識(shí)點(diǎn)制作出一個(gè)專題、一門(mén)課程的系列“微課”,那么孤立的“微課”就能被關(guān)聯(lián)化和體系化[3-4]??v觀一個(gè)大學(xué)本科生所學(xué)課程,涉及的科目非常多,每個(gè)科目里的知識(shí)點(diǎn),少到幾百,多到上千。在眾多課程的知識(shí)點(diǎn)中挖掘出“微課程”某個(gè)專題所需要的資源,如果采用人力來(lái)解決,不但工作量大,而且可能不夠客觀、全面。所以,需要一個(gè)能夠整合一定范圍課程知識(shí)點(diǎn)的數(shù)字化知識(shí)庫(kù)作為基礎(chǔ),并且在這個(gè)知識(shí)庫(kù)中知識(shí)點(diǎn)之間應(yīng)該具有連接,成為有機(jī)的知識(shí)網(wǎng)絡(luò)。
本文通過(guò)深入研究知識(shí)圖譜理論與實(shí)現(xiàn)技術(shù),利用自組織增量神經(jīng)網(wǎng)絡(luò)(Self-organizing Incremental Neural Network, SOINN) 模型[5]和先進(jìn)的網(wǎng)絡(luò)編程以及數(shù)據(jù)庫(kù)技術(shù),以我校數(shù)字媒體技術(shù)專業(yè)課程群為例,建立了一個(gè)具有交互功能的“專業(yè)課程群知識(shí)圖譜可視化平臺(tái)”,該平臺(tái)具有以下特點(diǎn)和作用:
(1) 對(duì)于網(wǎng)絡(luò)化的“微”教育教學(xué),教師利用該平臺(tái)可整合與教學(xué)主題相關(guān)的視頻、講義、例題、算法代碼等形成資源庫(kù),作為“微課程”體系研究和設(shè)計(jì)的基礎(chǔ)。
(2) 對(duì)傳統(tǒng)的“課堂”教育教學(xué),該平臺(tái)是一個(gè)相互影響、相互促進(jìn)的課程群教學(xué)資源。教師可共享教學(xué)資源,完善專業(yè)課程體系建設(shè)。
(3) 對(duì)于學(xué)生用戶,利用該平臺(tái)的可視化界面,可以通過(guò)輸入“關(guān)鍵詞”來(lái)進(jìn)行知識(shí)搜索,得到相關(guān)專業(yè)知識(shí)體系的知識(shí)圖譜圖,進(jìn)行知識(shí)的復(fù)習(xí)、預(yù)習(xí),又可發(fā)覺(jué)出未預(yù)料的新知識(shí),進(jìn)行學(xué)習(xí)。
沿著“切碎→連通→整合→聚焦”的知識(shí)創(chuàng)建順序進(jìn)行新知識(shí)的學(xué)習(xí),從而可以對(duì)知識(shí)進(jìn)行“約取→博觀→約取”,最終達(dá)到知識(shí)的統(tǒng)合綜效、融合創(chuàng)新。該平臺(tái)的設(shè)計(jì)思想、模型以及程序框架是通用的,可推廣到其他專業(yè)的“微”教育教學(xué)資源平臺(tái)建設(shè)以及“微課程”體系研究中。
知識(shí)圖譜(Knowledge Map),也被稱為科學(xué)知識(shí)圖譜,是把應(yīng)用數(shù)學(xué)、圖形學(xué)、信息可視化技術(shù)等學(xué)科的理論與方法與計(jì)量學(xué)引文分析、共現(xiàn)分析等方法結(jié)合,用可視化的圖譜形式,形象地展示學(xué)科的核心框架、發(fā)展歷史、前沿領(lǐng)域以及整體知識(shí)架構(gòu)[6-7]。
知識(shí)圖譜的本體包括概念、概念層次、屬性、屬性值類型、關(guān)系、關(guān)系定義域概念集、關(guān)系值域概念集,以及規(guī)則(或公理)。目前知識(shí)圖譜數(shù)據(jù)結(jié)構(gòu),如大型搜索網(wǎng)站如Google、百度、搜狗等采用W3C3提出的資源描述框架RDF或?qū)傩詧D來(lái)表示[8]。對(duì)于專業(yè)課程群這樣小型的知識(shí)庫(kù),需要更加靈活、易維護(hù)的數(shù)據(jù)模型。
專業(yè)課程的“知識(shí)點(diǎn)”與萬(wàn)維網(wǎng)上的“知識(shí)”有所不同。課程的知識(shí)點(diǎn)一般屬于某個(gè)教材,是限定范圍的知識(shí)集合。每個(gè)章節(jié)中知識(shí)點(diǎn)之間已具有初步的拓?fù)潢P(guān)系,所以可以采用多分枝“樹(shù)形”結(jié)構(gòu),按章節(jié)建立知識(shí)點(diǎn)之間的連接。但對(duì)于專業(yè)課程群來(lái)說(shuō),“樹(shù)形”結(jié)構(gòu)具有一定的局限性。缺少課程之間的鏈接關(guān)系,即多門(mén)課程各分支子節(jié)點(diǎn)之間的關(guān)系并沒(méi)有給出。如“概率密度函數(shù)”在概率與統(tǒng)計(jì)、圖像處理、計(jì)算機(jī)視覺(jué)中均有涉及,所以應(yīng)建立該知識(shí)節(jié)點(diǎn)與相關(guān)幾個(gè)被應(yīng)用到的節(jié)點(diǎn)的鏈接,這樣在學(xué)生在查找“概率密度函數(shù)”時(shí),不但能得到其在概率與統(tǒng)計(jì)課程中的基本概念,而且能得到其在圖像處理、計(jì)算機(jī)視覺(jué)中被應(yīng)用的場(chǎng)合和相關(guān)知識(shí),進(jìn)而達(dá)到知識(shí)體系化的目的。因此,如何有效的建立課程內(nèi)章節(jié)知識(shí)點(diǎn)關(guān)聯(lián)和多門(mén)課程之間的知識(shí)點(diǎn)的關(guān)聯(lián)是建立專業(yè)課程群知識(shí)圖譜的關(guān)鍵問(wèn)題。
本文采用SOINN模型來(lái)解決這個(gè)問(wèn)題。SOINN是一種基于競(jìng)爭(zhēng)學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,以一種自組織的方式對(duì)輸入數(shù)據(jù)進(jìn)行在線聚類和拓?fù)浔硎?,它沒(méi)有固定的拓?fù)浣Y(jié)構(gòu),它根據(jù)輸入的數(shù)據(jù)以及若干簡(jiǎn)單的規(guī)則自適應(yīng)地調(diào)整局部神經(jīng)元的權(quán)值以及神經(jīng)元之間的連接[5]。SOINN廣泛用于計(jì)算機(jī)視覺(jué)、數(shù)據(jù)挖據(jù)等領(lǐng)域之中,而對(duì)于基于SOINN建立知識(shí)圖譜網(wǎng)絡(luò),首先問(wèn)題就是如何把由文字描述表達(dá)的知識(shí)點(diǎn)轉(zhuǎn)換成SOINN能夠處理的神經(jīng)元,然后根據(jù)已有知識(shí)節(jié)點(diǎn)在某門(mén)課中的樹(shù)形拓?fù)浣Y(jié)構(gòu),建立章節(jié)之間,以及課程之間知識(shí)點(diǎn)的連接。
本文所提出的課程群知識(shí)圖譜總體框架如圖1所示。框架分為3層結(jié)構(gòu),底層為課程的章節(jié)知識(shí)點(diǎn)的樹(shù)形關(guān)系圖,中層為課程內(nèi)章節(jié)之間知識(shí)點(diǎn)的關(guān)系圖譜,上層為課程群知識(shí)點(diǎn)關(guān)系圖譜。
圖1 課程群知識(shí)圖譜總體框架
利用SOINN建立知識(shí)圖譜分為:核心知識(shí)點(diǎn)提取、知識(shí)點(diǎn)屬性與相似度計(jì)算、SOINN網(wǎng)絡(luò)生成3個(gè)步驟。
SOINN 是一種基于原型(Prototype-based)的算法,用一定數(shù)量的代表性數(shù)據(jù)來(lái)近似原始的完整數(shù)據(jù)集,然后在這些代表點(diǎn)的基礎(chǔ)上對(duì)新來(lái)的數(shù)據(jù)做出決策,與聚類算法類似,每個(gè)聚類中心就是原型。所以,第一步把每門(mén)課的樹(shù)形知識(shí)圖中的核心知識(shí)點(diǎn)作為原型。
知識(shí)的屬性以及屬性之間的相似度計(jì)算是構(gòu)建SOINN網(wǎng)絡(luò)的關(guān)鍵[8]。例如,在數(shù)據(jù)庫(kù)中一個(gè)名稱為“直方圖”的知識(shí)節(jié)點(diǎn)可以采用如下屬性類表:
---------------------------------------------------------------------[節(jié)點(diǎn)序號(hào)]:01000001[名稱]:直方圖[描述]:像素在圖像中的概率統(tǒng)計(jì)圖,橫軸灰度級(jí),縱軸像素出現(xiàn)的概率。[關(guān)聯(lián)節(jié)點(diǎn)]:節(jié)點(diǎn)序號(hào),權(quán)重值。[資源]:講義、代碼、示例等鏈接。-------------------------------------------------------------------
其中“節(jié)點(diǎn)序號(hào)”唯一標(biāo)識(shí)一個(gè)知識(shí)點(diǎn),采用一個(gè)字節(jié)存儲(chǔ):前兩位(XX000000)為課程序號(hào),中間2位(00XX0000)為該節(jié)點(diǎn)在該門(mén)課的章節(jié)序號(hào),后4位(0000XXXX)為知識(shí)點(diǎn)序號(hào)。知識(shí)點(diǎn)的“名稱”可為中文也可以為英文。知識(shí)點(diǎn)的“描述”一般為知識(shí)點(diǎn)的定義、概念,使用盡量簡(jiǎn)潔的描述方式給出。“關(guān)聯(lián)節(jié)點(diǎn)序號(hào)”是需要SOINN網(wǎng)絡(luò)生成?!百Y源”也作為知識(shí)點(diǎn)的一個(gè)屬性,提供相關(guān)資料的鏈接。
知識(shí)點(diǎn)“名稱”和知識(shí)的點(diǎn)的“描述”這兩個(gè)屬性可以用來(lái)計(jì)算節(jié)點(diǎn)之間的相似度。使用詞頻分析(Word Frequency Analysis)和共現(xiàn)分析(Co-occurrence Analysis)相結(jié)合的方法對(duì)知識(shí)點(diǎn)的“名稱”和“描述”進(jìn)行語(yǔ)義分析。具體的,采用詞袋(Bag of Words,BoW)思想[10-11]:忽略掉文本的語(yǔ)法和語(yǔ)序,用一組無(wú)序的單詞(words)來(lái)表達(dá)一段文字或一個(gè)文檔。利用NLPIR/ICTCLAS[12-13]等開(kāi)源中文分詞系統(tǒng)進(jìn)行分詞并建立中英文停用詞表(表中主要包含對(duì)文本內(nèi)容識(shí)別意義不大,但出現(xiàn)頻率很高的詞、符號(hào)、標(biāo)點(diǎn)及亂碼等,如“這,的,和”等高頻詞)。然后維護(hù)一個(gè)大小為d的知識(shí)單詞字典,每個(gè)單詞就是一個(gè)特征。如果在一條“描述”中某個(gè)單詞出現(xiàn)次數(shù)為2,則對(duì)應(yīng)的特征數(shù)值為2,如果沒(méi)有相應(yīng)單詞,則對(duì)應(yīng)特征數(shù)值為0,即用頻度作為特征值,以此為每個(gè)關(guān)鍵知識(shí)點(diǎn)建立d維特征向量Xi∈Rd*1(i=1,2,…,N)。
兩個(gè)知識(shí)點(diǎn)之間的相似度則可定義為知識(shí)點(diǎn)“名稱”屬性與“描述”屬性兩個(gè)特征向量X{i}和X{j}之間夾角的余弦值得加權(quán)值:
(1)
式中:λ為知識(shí)點(diǎn)“名稱”屬性的相似度權(quán)重;μ為“描述”屬性的相似度權(quán)重。
SOINN采用增量方式生成知識(shí)圖譜,分為初始化網(wǎng)絡(luò)、新增節(jié)點(diǎn)和刪除噪音點(diǎn)幾個(gè)關(guān)鍵操作。
(1) 初始化網(wǎng)絡(luò)。SOINN網(wǎng)絡(luò)有2層結(jié)構(gòu),第1層接受原始數(shù)據(jù)。第2層根據(jù)第1層網(wǎng)絡(luò)的結(jié)果估計(jì)出原始數(shù)據(jù)的類間距離與類內(nèi)距離,并以此作為參數(shù)。然后把第1層生成的神經(jīng)元作為輸入再運(yùn)行一次得到穩(wěn)定學(xué)習(xí)結(jié)果[14]。所以首先把核心知識(shí)點(diǎn)訓(xùn)練集作為原始數(shù)據(jù)輸入到網(wǎng)絡(luò)中,得到網(wǎng)絡(luò)的初始化參數(shù)。
(2) 新增知識(shí)節(jié)點(diǎn)。采用增量方式生成知識(shí)圖譜,新增節(jié)點(diǎn)是最基本操作??墒紫瓤赏ㄟ^(guò)定義一個(gè)相似度閾值,通過(guò)判斷新增點(diǎn)與類別中心的距離來(lái)判斷新知識(shí)點(diǎn)是否屬于該聚類,如果屬于某個(gè)類別,連接新節(jié)點(diǎn)與類別中最臨近的兩個(gè)節(jié)點(diǎn)。如果與任何聚類中心距離大于閾值,則新建類別,由該節(jié)點(diǎn)派生出一個(gè)類別中心,并把該節(jié)點(diǎn)屬性值作為該中心屬性值。在具體實(shí)現(xiàn)中,類別初始閾值由訓(xùn)練網(wǎng)絡(luò)得到,之后每次新增類別后自適應(yīng)調(diào)整的。
(3) 刪除知識(shí)節(jié)點(diǎn)。有時(shí)知識(shí)節(jié)點(diǎn)也需要進(jìn)行刪除操作。首先刪除該節(jié)點(diǎn)和其與關(guān)聯(lián)的其他節(jié)點(diǎn)的鏈接,然后計(jì)算這些無(wú)鏈接節(jié)點(diǎn)之間的距離,如果小于閾值則進(jìn)行關(guān)聯(lián),如果大于閾值則不關(guān)聯(lián),也將其刪除。
如圖1所示,課程群知識(shí)圖譜建立在每門(mén)課程知識(shí)圖譜基礎(chǔ)上,每門(mén)課程知識(shí)點(diǎn)圖譜又是由課程章節(jié)樹(shù)形知識(shí)點(diǎn)圖生成的。所以整個(gè)課程群網(wǎng)絡(luò)圖譜構(gòu)建分為以下兩個(gè)步驟:
(1) 由樹(shù)形知識(shí)點(diǎn)圖建立SOINN知識(shí)網(wǎng)絡(luò)圖。由于樹(shù)形網(wǎng)絡(luò)圖是SOINN的一個(gè)子集,所以可先就把樹(shù)形網(wǎng)絡(luò)圖作為初始輸入,然后利用SOINN的增量算法完善網(wǎng)絡(luò)。對(duì)于知識(shí)點(diǎn)的章節(jié)樹(shù)形結(jié)構(gòu),把每個(gè)章節(jié)可以看作一個(gè)聚類,章節(jié)標(biāo)題節(jié)點(diǎn)作為聚類中心。每個(gè)章節(jié)下一般有1~3層子節(jié)點(diǎn),計(jì)算每個(gè)章節(jié)下所有中間節(jié)點(diǎn)和葉子節(jié)點(diǎn)之間的相似度,采用SOINN基本算法建立章節(jié)SOINN網(wǎng)絡(luò),為每個(gè)節(jié)點(diǎn)添加“關(guān)聯(lián)節(jié)點(diǎn)”屬性。對(duì)于章節(jié)之間的連接,采用子節(jié)點(diǎn)遍歷方法,把一個(gè)章節(jié)的SOINN網(wǎng)絡(luò)的子節(jié)點(diǎn)看作新節(jié)點(diǎn)增量插入另一個(gè)章節(jié)的SOINN網(wǎng)絡(luò)中,如果插入成功則修改該子節(jié)點(diǎn)的“關(guān)聯(lián)節(jié)點(diǎn)序號(hào)”屬性,否則維持原狀。直到所有節(jié)點(diǎn)考察完畢,形成課程SOINN網(wǎng)絡(luò)。
(2) 整合多門(mén)課程的SOINN知識(shí)網(wǎng)絡(luò),形成課程群知識(shí)圖譜。多門(mén)課程的SOINN知識(shí)網(wǎng)絡(luò),同樣可以采用增量插入式連接方法,由一門(mén)課的節(jié)點(diǎn)逐個(gè)作為新增節(jié)點(diǎn)插入到另一門(mén)課的網(wǎng)絡(luò)中,最后形成課程群知識(shí)圖譜網(wǎng)絡(luò)。為了減少計(jì)算復(fù)雜度,可采用二叉樹(shù)自底向上遞歸生成方式,并行的組建兩門(mén)課的SOINN網(wǎng)絡(luò),最終形成所有課程的網(wǎng)絡(luò)。
按照我?!皵?shù)字媒體技術(shù)專業(yè)2016級(jí)本科人才培養(yǎng)方案”,該課程分為通識(shí)與公共基礎(chǔ)課程、大類與專業(yè)基礎(chǔ)課程以及專業(yè)與專業(yè)方向課程。這些課程又可分成一些重疊的課程群,如線性代數(shù)、概率與統(tǒng)計(jì)、圖像處理基礎(chǔ)、計(jì)算機(jī)圖形學(xué)、多媒體技術(shù)導(dǎo)論和計(jì)算機(jī)視覺(jué)等,課程群間的知識(shí)點(diǎn)相互支撐、互補(bǔ)而且有序,可通過(guò)知識(shí)點(diǎn)圖譜進(jìn)行整合。
為了更直觀的讓老師或?qū)W生查看知識(shí)點(diǎn)和知識(shí)體系,開(kāi)發(fā)一個(gè)可視化的知識(shí)圖譜網(wǎng)絡(luò)平臺(tái)。該平臺(tái)前端利用JSMind控件[15],java語(yǔ)言開(kāi)發(fā)。該平臺(tái)提供按“關(guān)鍵詞”搜索,并把知識(shí)圖譜中相關(guān)知識(shí)用一個(gè)類似思維導(dǎo)圖形式輸出,稱其為“知識(shí)導(dǎo)圖”。在知識(shí)導(dǎo)圖中將用戶輸入的“關(guān)鍵詞”置于整個(gè)圖形中心,按照設(shè)定的“層數(shù)閾值”,圍繞關(guān)鍵知識(shí)節(jié)點(diǎn)分層次展開(kāi),形成邏輯嚴(yán)密、分類清晰的層次結(jié)構(gòu),如圖2所示。使用者可以以圖像格式保存搜索結(jié)果,還可以通過(guò)點(diǎn)擊節(jié)點(diǎn)獲得相應(yīng)課件、習(xí)題等資源連接等。
圖2 數(shù)字媒體技術(shù)專業(yè)知識(shí)導(dǎo)圖網(wǎng)絡(luò)平臺(tái)例圖
本文利用增量自組織神經(jīng)網(wǎng)絡(luò)模型,建立一個(gè)具有交互功能的 “專業(yè)知識(shí)圖譜可視化平臺(tái)”。該平臺(tái)可有效的整合課程內(nèi)章節(jié)知識(shí)點(diǎn)關(guān)聯(lián)和課程群之間的知識(shí)點(diǎn)的關(guān)聯(lián),進(jìn)而達(dá)到知識(shí)體系化的目的。該平臺(tái)的設(shè)計(jì)思想、模型以及程序框架是通用的,可推廣到其他專業(yè)的“微”教育教學(xué)資源平臺(tái)建設(shè)中。