肖明勝,王 敏,2,?,郭英清,羅家梅
(1.贛南師范大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院;2.江西省數(shù)值模擬與仿真技術(shù)重點(diǎn)實(shí)驗(yàn)室,江西 贛州 341000)
課程知識(shí)圖譜是知識(shí)圖譜(Knowledge Graph,KG)在教育領(lǐng)域的特例,是教育知識(shí)圖譜的重要組成部分,旨在為課程教學(xué)提供幫助.作為一種基礎(chǔ)性教育資源,課程知識(shí)圖譜對(duì)課程知識(shí)及復(fù)雜語(yǔ)義關(guān)系建模,為教學(xué)提供優(yōu)質(zhì)知識(shí)網(wǎng)絡(luò),以及內(nèi)含前驅(qū)后繼關(guān)系的知識(shí)點(diǎn)序列,幫助學(xué)習(xí)者建立個(gè)人學(xué)習(xí)路徑和形成課程知識(shí)體系;為知識(shí)問答、認(rèn)知診斷、個(gè)性推薦等提供語(yǔ)義支持,從而滿足學(xué)習(xí)者個(gè)性化學(xué)習(xí)的需要.
近年來,研究者們不斷研討課程知識(shí)圖譜的定義與內(nèi)涵并提出相應(yīng)的構(gòu)建方式[1-3],課程知識(shí)圖譜越來越受到關(guān)注.其中,文獻(xiàn)[4]和文獻(xiàn)[5]分別研究計(jì)算機(jī)基礎(chǔ)和JAVA程序設(shè)計(jì)語(yǔ)言課程知識(shí)的本體.文獻(xiàn)[6-10]討論單一課程的知識(shí)圖譜構(gòu)建,但不全是以知識(shí)概念為基本單位而是以課程知識(shí)章節(jié)作為基本構(gòu)建單位.因此,這些課程知識(shí)圖譜中存在以下問題:知識(shí)粒度不細(xì)、本體不明確;構(gòu)建的本體移植性差,面對(duì)不同的課程往往需要重新設(shè)計(jì)本體,難以適用于多門課程;構(gòu)建的課程單一,難以形成領(lǐng)域體系.
針對(duì)上述課程知識(shí)圖譜中出現(xiàn)的問題,本文選取3種主流的程序設(shè)計(jì)語(yǔ)言作為研究對(duì)象,利用Gruber所提的本體構(gòu)建準(zhǔn)則[11]和七步法[12]構(gòu)建程序設(shè)計(jì)語(yǔ)言課程本體;然后考慮程序設(shè)計(jì)語(yǔ)言課程特點(diǎn)采用自頂向下方式構(gòu)建課程知識(shí)圖譜.具體而言,在Gruber所提準(zhǔn)則的基礎(chǔ)上制定課程本體4個(gè)準(zhǔn)則,即客觀準(zhǔn)則、邏輯準(zhǔn)則、通用準(zhǔn)則和可拓展準(zhǔn)則,這保障了課程知識(shí)本體構(gòu)建的合理性.在七步法的框架下抽象出C、JAVA和Python 3門語(yǔ)言的共性,并引入了專家質(zhì)量評(píng)估機(jī)制,這保障程序設(shè)計(jì)課程本體的清晰性和可復(fù)用性,提高知識(shí)本體的構(gòu)建質(zhì)量.進(jìn)一步,提出程序設(shè)計(jì)語(yǔ)言課程知識(shí)圖譜的構(gòu)建方法,構(gòu)建了包含6類知識(shí)點(diǎn)概念和4類知識(shí)點(diǎn)關(guān)系,實(shí)例化了C、JAVA和Python的程序設(shè)計(jì)語(yǔ)言課程知識(shí)圖譜.最后實(shí)現(xiàn)了知識(shí)圖譜的存儲(chǔ)、查詢與可視化.
2012年5月17日由Google正式提出知識(shí)圖譜的概念,并用于搜索引擎中以提高語(yǔ)義分析能力[13].知識(shí)圖譜源于傳統(tǒng)知識(shí)工程和專家系統(tǒng),吸收了語(yǔ)義網(wǎng)絡(luò)、本體論、萬(wàn)維網(wǎng)、語(yǔ)義網(wǎng)等的理論與技術(shù).隨著大數(shù)據(jù)時(shí)代的到來,知識(shí)圖譜的發(fā)展進(jìn)入新的階段.
從知識(shí)涉及的范圍來看,可將知識(shí)圖譜分為通用知識(shí)圖譜與領(lǐng)域知識(shí)圖譜兩種類型.通用知識(shí)圖譜在于知識(shí)的廣度,國(guó)外典型的通用知識(shí)圖譜有百科圖譜DBpedia[14]、詞匯圖譜BabelNet[15]、概念圖譜Probase[16]等;國(guó)內(nèi)的通用知識(shí)圖譜通用有開放知識(shí)圖譜openKG[17]、百科類圖譜Zhishi.me[18]和CN-DBpedia[19]等.領(lǐng)域知識(shí)圖譜在于知識(shí)的深度,目前在一些垂直領(lǐng)域已得到應(yīng)用,如電影知識(shí)圖譜IMDB[20]、醫(yī)學(xué)知識(shí)圖譜UMLS[21]和電商知識(shí)圖譜[22]等.除了組織領(lǐng)域知識(shí)的知識(shí)圖譜應(yīng)用外,還應(yīng)用于互聯(lián)網(wǎng)技術(shù)中,典型技術(shù)如智能搜索[23]、個(gè)性化推薦[24-25]和問答系統(tǒng)[26-27]等.隨著對(duì)知識(shí)圖譜的深入研究,知識(shí)圖譜技術(shù)取得巨大進(jìn)步,各環(huán)節(jié)中使用的技術(shù)方法不斷創(chuàng)新發(fā)展,但如何自動(dòng)構(gòu)建高質(zhì)量的知識(shí)圖譜依然是一大難題.
知識(shí)圖譜的構(gòu)建方法分為自頂向下和自底向上的構(gòu)建[28].由于課程知識(shí)的專業(yè)性,通常利用自頂向下的方法構(gòu)建知識(shí)本體,再構(gòu)建課程知識(shí)圖譜.本體構(gòu)建成為知識(shí)圖譜構(gòu)建中必不可少的環(huán)節(jié).
在課程知識(shí)圖譜的本體構(gòu)建方面,Lee等[4]構(gòu)建JAVA程序設(shè)計(jì)語(yǔ)言課程的知識(shí)本體,涵蓋JAVA基本知識(shí)與編程技巧,是本體構(gòu)建在此領(lǐng)域的成功應(yīng)用.張萌[5]闡述課程知識(shí)本體的概念,按照本體學(xué)習(xí)層次結(jié)構(gòu)進(jìn)行層級(jí)抽取,分析課程數(shù)據(jù)與知識(shí)本體的組織.
目前,知識(shí)圖譜中的知識(shí)存儲(chǔ)主要分為3類,即基于關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)、基于RDF數(shù)據(jù)庫(kù)存儲(chǔ)和基于圖數(shù)據(jù)庫(kù)存儲(chǔ).關(guān)系型數(shù)據(jù)庫(kù)發(fā)展至今已十分成熟,能夠滿足大多數(shù)的存儲(chǔ)需求,但面對(duì)海量的知識(shí)及屬性,還存在著查詢效率不高、更新維護(hù)開銷大的問題[30].基于RDF[31]數(shù)據(jù)庫(kù)的存儲(chǔ)方案在知識(shí)共享方面有著較強(qiáng)的能力,但更新維護(hù)代價(jià)仍然較大.圖數(shù)據(jù)庫(kù)面對(duì)大規(guī)模數(shù)據(jù)存儲(chǔ)表現(xiàn)良好,在多跳查詢等任務(wù)中十分高效,是企業(yè)級(jí)知識(shí)圖譜存儲(chǔ)實(shí)現(xiàn)的重要方法[32].
由節(jié)點(diǎn)和邊組成的節(jié)點(diǎn)鏈接圖是我們較常見的展現(xiàn)形式[33],該形式可視化結(jié)果簡(jiǎn)潔、表達(dá)能力強(qiáng),讓我們更直觀地瀏覽知識(shí).常見的知識(shí)圖譜可視化方案有基于現(xiàn)有工具可視化和基于第三方庫(kù)可視化.基于現(xiàn)有工具可視化是指使用現(xiàn)有圖數(shù)據(jù)庫(kù)等產(chǎn)品,可視化操作便捷、效果好,但需要一定領(lǐng)域知識(shí)與技術(shù)基礎(chǔ),對(duì)于復(fù)雜數(shù)據(jù)交互有一定局限性,典型的可視化工具如Neo4j[34]和AntV G6[35]等.基于第三方庫(kù)的可視化是指引入專門用于數(shù)據(jù)建模的JavaScript庫(kù),通過前端網(wǎng)頁(yè)實(shí)現(xiàn)數(shù)據(jù)的交互,適用范圍廣,對(duì)普通用戶友好,但該方案開發(fā)成本較高,典型的可視化庫(kù)如D3js[36]和Cytoscape.js[37]等.
程序設(shè)計(jì)語(yǔ)言課程知識(shí)圖譜構(gòu)建框架如圖1所示,包括本體構(gòu)建和根據(jù)本體構(gòu)建課程知識(shí)圖譜兩個(gè)重要步驟.
圖1 課程知識(shí)圖譜構(gòu)建步驟
3.1.1 本體構(gòu)建準(zhǔn)則與方法
基于Gruber的5項(xiàng)構(gòu)建原則[4],結(jié)合程序設(shè)計(jì)課程知識(shí)具有極強(qiáng)的專業(yè)性和實(shí)踐性特點(diǎn),提出程序設(shè)計(jì)課程知識(shí)本體的4個(gè)構(gòu)建準(zhǔn)則:客觀準(zhǔn)則.課程知識(shí)是正確、客觀、與實(shí)際應(yīng)用一致的,并受到廣大研究人員與實(shí)際使用者認(rèn)可.邏輯準(zhǔn)則.將細(xì)粒度化的知識(shí)按實(shí)際關(guān)系構(gòu)建層次結(jié)構(gòu),以便于循序漸進(jìn)地學(xué)習(xí)與理解.通用準(zhǔn)則.本體框架對(duì)于程序設(shè)計(jì)領(lǐng)域下的其他類似課程具有可復(fù)用性.可拓展準(zhǔn)則.本體可拓展,便于知識(shí)圖譜的完善與改進(jìn).以上準(zhǔn)則能夠保障課程知識(shí)圖譜本體有著質(zhì)量良好、結(jié)構(gòu)清晰、可復(fù)用與可拓展的特點(diǎn).
何良諸提出要求,見見趙集、小勺。公安局爽快地同意了,派車將何良諸送到拘留所。何良諸進(jìn)入高墻電網(wǎng)內(nèi),來到接見室,坐下。趙集走出來,坐在他的對(duì)面。何良諸抄起話筒,說:“趙集,多少年沒見面了,來看看你?!?/p>
進(jìn)一步,針對(duì)7步法[12]在本體質(zhì)量評(píng)估方面較為薄弱的問題進(jìn)行補(bǔ)充,并遵循上述構(gòu)建準(zhǔn)則,提出程序設(shè)計(jì)課程知識(shí)本體的構(gòu)建方法,具體如下:確定領(lǐng)域范疇.以程序設(shè)計(jì)語(yǔ)言課程為范疇,選取C、JAVA、Python 3門程序設(shè)計(jì)語(yǔ)言課程的知識(shí)內(nèi)容作為構(gòu)建對(duì)象.術(shù)語(yǔ)提取.收集課程相關(guān)的資料,參考現(xiàn)有課程知識(shí)體系的描述與本體并考慮復(fù)用,提取描述相對(duì)標(biāo)準(zhǔn)的術(shù)語(yǔ).當(dāng)領(lǐng)域中產(chǎn)生新知識(shí)時(shí),通過本步驟拓展更新本體.概念與關(guān)系提取.以字或詞為單位,提取在程序設(shè)計(jì)過程中常用的或重要的概念以及概念間的關(guān)系,同時(shí)使這些概念與關(guān)系整體上能夠概括構(gòu)建對(duì)象的主體部分.概念與關(guān)系類型劃分.程序設(shè)計(jì)是一項(xiàng)邏輯性極強(qiáng)的工作,本文從程序組成結(jié)構(gòu)的角度出發(fā),為概念與關(guān)系劃分明確的類型.組織本體框架.將第步中劃分的不同類型的概念與關(guān)系進(jìn)行關(guān)聯(lián),形成層次結(jié)構(gòu),構(gòu)成本體框架的主體.本體屬性補(bǔ)全.補(bǔ)全各概念與關(guān)系屬性,如唯一標(biāo)識(shí)ID、定義與特點(diǎn)等,通過若干屬性通用地描述每個(gè)概念與關(guān)系的含義.質(zhì)量評(píng)估.通過專家工作對(duì)構(gòu)建出的本體進(jìn)行審核評(píng)估,判斷概念或關(guān)系是否符合實(shí)際、需要調(diào)整或刪除,調(diào)整則返回到第步并繼續(xù)執(zhí)行.
從程序設(shè)計(jì)的角度來看,不同程序設(shè)計(jì)語(yǔ)言存在共性,即通過何種程序設(shè)計(jì)語(yǔ)言來實(shí)現(xiàn)一個(gè)程序,程序都擁有類似的生命周期,其中每個(gè)環(huán)節(jié)都由不同的知識(shí)組成.通過這種“尋找共性”思想構(gòu)建的本體框架對(duì)其他程序設(shè)計(jì)語(yǔ)言具有適用性,同時(shí)將不同程序設(shè)計(jì)語(yǔ)言的知識(shí)聯(lián)系起來對(duì)比學(xué)習(xí),增強(qiáng)程序設(shè)計(jì)領(lǐng)域知識(shí)與程序設(shè)計(jì)課程體系內(nèi)的緊密性.
3.1.2 程序設(shè)計(jì)語(yǔ)言知識(shí)本體
構(gòu)建的程序設(shè)計(jì)語(yǔ)言知識(shí)本體將所有知識(shí)點(diǎn)概念分為2部分:靜態(tài)概念與動(dòng)態(tài)關(guān)系.靜態(tài)概念指程序設(shè)計(jì)課程中的事物或方法等知識(shí),例如“函數(shù)”“數(shù)組”等,本文將其作為知識(shí)圖譜中的節(jié)點(diǎn).動(dòng)態(tài)關(guān)系本質(zhì)上也是知識(shí)點(diǎn)概念,但其具有動(dòng)態(tài)的特性,能描述具體的行為動(dòng)作,例如“調(diào)用”“聲明”等,本文將其作為知識(shí)圖譜中的邊.
圖2 靜態(tài)概念
動(dòng)態(tài)關(guān)系如圖3所示,分為4類:包含關(guān)系、組成關(guān)系、實(shí)例化關(guān)系與操作關(guān)系.包含關(guān)系指兩者屬于同一類型的概念且前者所指的范圍將后者包含著,如“基本數(shù)據(jù)類型”與“整型數(shù)據(jù)”的關(guān)系,“整型數(shù)據(jù)”就是一種“基本數(shù)據(jù)類型”.組成關(guān)系指兩者存在整體與部分的關(guān)系,如“自定義函數(shù)”與“語(yǔ)句”的關(guān)系,“語(yǔ)句”是“自定義函數(shù)”的一部分.實(shí)例化關(guān)系指本體中的節(jié)點(diǎn)與其在某個(gè)課程領(lǐng)域中實(shí)例化得到的實(shí)體節(jié)點(diǎn)間的關(guān)系,如“整型數(shù)據(jù)”與C語(yǔ)言程序設(shè)計(jì)課程中的某個(gè)整型變量.
圖3 動(dòng)態(tài)關(guān)系
操作關(guān)系主要表達(dá)不同類型靜態(tài)概念間的關(guān)系,而其它3種關(guān)系主要表達(dá)各個(gè)類型靜態(tài)概念內(nèi)的關(guān)系.更詳細(xì)地,本文將操作關(guān)系按照主體的不同分為3種類型:人對(duì)程序的操作,如“運(yùn)行”“調(diào)試”等.程序與外部資源間的操作,與文件相關(guān)的如“讀”“寫”等.程序內(nèi)的操作,與數(shù)據(jù)相關(guān)的如“初始化”“聲明”“定義”等.這3種類型的操作關(guān)系基本涵蓋了程序生命周期的相關(guān)行為動(dòng)作,能夠詳細(xì)地表達(dá)概念間的具體關(guān)系.如圖4所示,“函數(shù)”與“自定義函數(shù)”“庫(kù)函數(shù)”是包含關(guān)系,可轉(zhuǎn)化成<函數(shù),包含,自定義函數(shù)>和<函數(shù),包含,庫(kù)函數(shù)>的三元組形式.“自定義函數(shù)”與“數(shù)組”間存在著操作關(guān)系,可轉(zhuǎn)化為<自定義函數(shù),操作,數(shù)組>的三元組形式.操作關(guān)系的引入使得概念間語(yǔ)義關(guān)系更加豐富.
圖4 概念和關(guān)系示例
3.2.1 構(gòu)建方法
與通用知識(shí)圖譜相比,程序設(shè)計(jì)語(yǔ)言課程知識(shí)圖譜是針對(duì)程序設(shè)計(jì)特定領(lǐng)域,其概念相對(duì)固定且概念數(shù)量較少;另外,它幾乎不允許出現(xiàn)錯(cuò)誤,構(gòu)建質(zhì)量要求高.因此,本文采用自頂向下的人工方式構(gòu)建程序設(shè)計(jì)語(yǔ)言課程知識(shí)圖譜.具體步驟如下:
課程知識(shí)實(shí)例化是從本體框架到課程領(lǐng)域范圍內(nèi)知識(shí)的映射,以本體框架為骨架,將本體框架中的知識(shí)概念在課程中具體化.將本體框架中七類靜態(tài)概念逐一實(shí)例化,按關(guān)系指向方向即抽象程度由高到低的順序進(jìn)行.
以C語(yǔ)言程序設(shè)計(jì)課程為例,圖5描述對(duì)本體框架靜態(tài)概念中“數(shù)據(jù)模型”的部分分支進(jìn)行實(shí)例化,實(shí)例化的先后順序?yàn)椋骸皵?shù)據(jù)模型”“數(shù)據(jù)類型”“構(gòu)造數(shù)據(jù)類型”“結(jié)構(gòu)體”“聯(lián)合體”“數(shù)組”“指針”“枚舉”.在這里不對(duì)“類”進(jìn)行實(shí)例化的原因是C語(yǔ)言不支持類和對(duì)象的概念.由此可見,對(duì)于一門課程而言,并不是本體框架中所有的概念都能在該課程領(lǐng)域內(nèi)實(shí)例化,需要根據(jù)課程知識(shí)的實(shí)際情況處理.由于本體框架針對(duì)程序設(shè)計(jì)語(yǔ)言領(lǐng)域的通用性設(shè)計(jì),以上課程實(shí)例化的方法可以應(yīng)用到其他課程.
圖5 課程知識(shí)實(shí)例化示例
課程知識(shí)關(guān)系補(bǔ)全是為課程實(shí)例化后得到的所有課程知識(shí)節(jié)點(diǎn)關(guān)聯(lián)關(guān)系,在添加關(guān)系的過程中同時(shí)要按照課程實(shí)際情況進(jìn)行.按照本體框架實(shí)例化出來的課程知識(shí)節(jié)點(diǎn)之間,存在著與本體框架中同樣的關(guān)系,因此為課程知識(shí)節(jié)點(diǎn)間添加的關(guān)系在程序設(shè)計(jì)課程知識(shí)本體中4種動(dòng)態(tài)關(guān)系的范圍內(nèi).關(guān)系補(bǔ)全按照概念的抽象程度,由抽象到具體的順序進(jìn)行.
以C語(yǔ)言程序設(shè)計(jì)課程中的“構(gòu)造數(shù)據(jù)類型”和“數(shù)組”2個(gè)概念間的關(guān)系補(bǔ)全為例(如圖6所示).2個(gè)節(jié)點(diǎn)分別由本體框架中的“構(gòu)造數(shù)據(jù)類型”和“數(shù)組”2個(gè)概念實(shí)例化而來,在本體框架中兩者存在著包含關(guān)系,由它們實(shí)例化得到的節(jié)點(diǎn)間同樣存在著包含關(guān)系.對(duì)于其他課程,同樣采取本方法進(jìn)行課程內(nèi)的知識(shí)關(guān)系補(bǔ)全.
圖6 課程知識(shí)關(guān)系補(bǔ)全
對(duì)所有的課程知識(shí)節(jié)點(diǎn)的屬性進(jìn)行補(bǔ)全,每個(gè)節(jié)點(diǎn)擁有標(biāo)識(shí)、定義、特點(diǎn)等屬性.“標(biāo)識(shí)”屬性由工具生成唯一字符串.“定義”屬性是用于描述知識(shí)節(jié)點(diǎn)的本質(zhì)特征,通俗來說是解釋該概念是什么的問題.“特點(diǎn)”屬性是用于描述知識(shí)節(jié)點(diǎn)的規(guī)則、特性等特殊之處.
例如C語(yǔ)言程序設(shè)計(jì)課程中的概念“數(shù)據(jù)類型”,其定義為“指在C語(yǔ)言中用于聲明不同類型的變量或函數(shù)的一個(gè)廣泛的系統(tǒng)”,其特點(diǎn)為“一個(gè)數(shù)值的數(shù)據(jù)類型決定了它存儲(chǔ)所占用的空間,不同數(shù)據(jù)類型的數(shù)據(jù)需要不同大小的空間來存儲(chǔ)”.此外,還可按照節(jié)點(diǎn)的類型或需求設(shè)置其他屬性.
3.2.2 構(gòu)建結(jié)果
通過上述方式,構(gòu)建程序設(shè)計(jì)語(yǔ)言知識(shí)本體,包含6類概念和4種關(guān)系,共計(jì)80個(gè)概念(節(jié)點(diǎn))和79條關(guān)系(邊),具體數(shù)據(jù)如表1所示.6類概念包括數(shù)據(jù)模型概念、表達(dá)式概念、輸入輸出概念、執(zhí)行方式概念、函數(shù)概念、程序設(shè)計(jì)方法概念.4種關(guān)系包括包含關(guān)系、組成關(guān)系、實(shí)例化關(guān)系、操作關(guān)系.目前,程序設(shè)計(jì)語(yǔ)言課程知識(shí)圖譜中的有C、JAVA、Python,共計(jì)395個(gè)概念(節(jié)點(diǎn))和391條關(guān)系(邊),其中包含的概念和關(guān)系類型與本體一致.
表1 構(gòu)建結(jié)果
與其它課程知識(shí)圖譜相比,本文沒有單純采用以章節(jié)為單位的目錄式本體結(jié)構(gòu),而是以單個(gè)概念為節(jié)點(diǎn),細(xì)化知識(shí)粒度,強(qiáng)調(diào)概念間的關(guān)聯(lián)關(guān)系.概念與關(guān)系的類型更加多樣,尤其是動(dòng)態(tài)關(guān)系中操作關(guān)系的引入,使得圖譜更加豐富.隨著新課程的引入,本文的知識(shí)圖譜包含的概念與關(guān)系的數(shù)量將不斷上升并發(fā)展完善.
為滿足復(fù)雜查詢與大量課程知識(shí)存儲(chǔ)需求,選擇圖數(shù)據(jù)管理方式自由、支持ACID事務(wù)和Cypher查詢語(yǔ)言的圖數(shù)據(jù)庫(kù)Neo4j來存儲(chǔ)課程知識(shí)圖譜.首先將課程知識(shí)圖譜中所有節(jié)點(diǎn)與邊的內(nèi)容整理成表格形式的結(jié)構(gòu)化數(shù)據(jù),然后用計(jì)算機(jī)程序批量拼接Cypher語(yǔ)句把這些數(shù)據(jù)持久化到Neo4j圖數(shù)據(jù)庫(kù).數(shù)據(jù)的存儲(chǔ)過程如圖7所示.
圖7 課程知識(shí)圖譜的存儲(chǔ)
選用Neo4j圖數(shù)據(jù)庫(kù)中自帶的Neo4j Browser工具實(shí)現(xiàn)課程知識(shí)圖譜的可視化.構(gòu)建的程序設(shè)計(jì)語(yǔ)言知識(shí)本體和C、JAVA、Python程序設(shè)計(jì)語(yǔ)言課程知識(shí)圖譜可視化結(jié)果如圖8、圖9.
圖8 本體可視化 圖9 本體可視化
本文對(duì)C、JAVA、Python程序設(shè)計(jì)語(yǔ)言課程知識(shí)建模,構(gòu)建課程知識(shí)本體與課程知識(shí)圖譜,并提出相應(yīng)的構(gòu)建準(zhǔn)則、方法和結(jié)果,以此為課程教學(xué)提供知識(shí)服務(wù).在今后的研究中,我們將引入人工智能方法輔助知識(shí)實(shí)體識(shí)別與關(guān)系抽取,進(jìn)一步完善和豐富程序設(shè)計(jì)語(yǔ)言知識(shí)圖譜,為課程教學(xué)、課程知識(shí)問答等應(yīng)用提供更加豐富的語(yǔ)義信息與技術(shù)支持.