亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        程序設(shè)計語言課程知識圖譜構(gòu)建研究*

        2022-12-12 12:03:56肖明勝郭英清羅家梅
        贛南師范大學(xué)學(xué)報 2022年6期
        關(guān)鍵詞:可視化概念語言

        肖明勝,王 敏,2,?,郭英清,羅家梅

        (1.贛南師范大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院;2.江西省數(shù)值模擬與仿真技術(shù)重點實驗室,江西 贛州 341000)

        1 引言

        課程知識圖譜是知識圖譜(Knowledge Graph,KG)在教育領(lǐng)域的特例,是教育知識圖譜的重要組成部分,旨在為課程教學(xué)提供幫助.作為一種基礎(chǔ)性教育資源,課程知識圖譜對課程知識及復(fù)雜語義關(guān)系建模,為教學(xué)提供優(yōu)質(zhì)知識網(wǎng)絡(luò),以及內(nèi)含前驅(qū)后繼關(guān)系的知識點序列,幫助學(xué)習(xí)者建立個人學(xué)習(xí)路徑和形成課程知識體系;為知識問答、認(rèn)知診斷、個性推薦等提供語義支持,從而滿足學(xué)習(xí)者個性化學(xué)習(xí)的需要.

        近年來,研究者們不斷研討課程知識圖譜的定義與內(nèi)涵并提出相應(yīng)的構(gòu)建方式[1-3],課程知識圖譜越來越受到關(guān)注.其中,文獻(xiàn)[4]和文獻(xiàn)[5]分別研究計算機基礎(chǔ)和JAVA程序設(shè)計語言課程知識的本體.文獻(xiàn)[6-10]討論單一課程的知識圖譜構(gòu)建,但不全是以知識概念為基本單位而是以課程知識章節(jié)作為基本構(gòu)建單位.因此,這些課程知識圖譜中存在以下問題:知識粒度不細(xì)、本體不明確;構(gòu)建的本體移植性差,面對不同的課程往往需要重新設(shè)計本體,難以適用于多門課程;構(gòu)建的課程單一,難以形成領(lǐng)域體系.

        針對上述課程知識圖譜中出現(xiàn)的問題,本文選取3種主流的程序設(shè)計語言作為研究對象,利用Gruber所提的本體構(gòu)建準(zhǔn)則[11]和七步法[12]構(gòu)建程序設(shè)計語言課程本體;然后考慮程序設(shè)計語言課程特點采用自頂向下方式構(gòu)建課程知識圖譜.具體而言,在Gruber所提準(zhǔn)則的基礎(chǔ)上制定課程本體4個準(zhǔn)則,即客觀準(zhǔn)則、邏輯準(zhǔn)則、通用準(zhǔn)則和可拓展準(zhǔn)則,這保障了課程知識本體構(gòu)建的合理性.在七步法的框架下抽象出C、JAVA和Python 3門語言的共性,并引入了專家質(zhì)量評估機制,這保障程序設(shè)計課程本體的清晰性和可復(fù)用性,提高知識本體的構(gòu)建質(zhì)量.進(jìn)一步,提出程序設(shè)計語言課程知識圖譜的構(gòu)建方法,構(gòu)建了包含6類知識點概念和4類知識點關(guān)系,實例化了C、JAVA和Python的程序設(shè)計語言課程知識圖譜.最后實現(xiàn)了知識圖譜的存儲、查詢與可視化.

        2 相關(guān)工作

        2.1 知識圖譜

        2012年5月17日由Google正式提出知識圖譜的概念,并用于搜索引擎中以提高語義分析能力[13].知識圖譜源于傳統(tǒng)知識工程和專家系統(tǒng),吸收了語義網(wǎng)絡(luò)、本體論、萬維網(wǎng)、語義網(wǎng)等的理論與技術(shù).隨著大數(shù)據(jù)時代的到來,知識圖譜的發(fā)展進(jìn)入新的階段.

        從知識涉及的范圍來看,可將知識圖譜分為通用知識圖譜與領(lǐng)域知識圖譜兩種類型.通用知識圖譜在于知識的廣度,國外典型的通用知識圖譜有百科圖譜DBpedia[14]、詞匯圖譜BabelNet[15]、概念圖譜Probase[16]等;國內(nèi)的通用知識圖譜通用有開放知識圖譜openKG[17]、百科類圖譜Zhishi.me[18]和CN-DBpedia[19]等.領(lǐng)域知識圖譜在于知識的深度,目前在一些垂直領(lǐng)域已得到應(yīng)用,如電影知識圖譜IMDB[20]、醫(yī)學(xué)知識圖譜UMLS[21]和電商知識圖譜[22]等.除了組織領(lǐng)域知識的知識圖譜應(yīng)用外,還應(yīng)用于互聯(lián)網(wǎng)技術(shù)中,典型技術(shù)如智能搜索[23]、個性化推薦[24-25]和問答系統(tǒng)[26-27]等.隨著對知識圖譜的深入研究,知識圖譜技術(shù)取得巨大進(jìn)步,各環(huán)節(jié)中使用的技術(shù)方法不斷創(chuàng)新發(fā)展,但如何自動構(gòu)建高質(zhì)量的知識圖譜依然是一大難題.

        2.2 課程知識圖譜

        知識圖譜的構(gòu)建方法分為自頂向下和自底向上的構(gòu)建[28].由于課程知識的專業(yè)性,通常利用自頂向下的方法構(gòu)建知識本體,再構(gòu)建課程知識圖譜.本體構(gòu)建成為知識圖譜構(gòu)建中必不可少的環(huán)節(jié).

        在課程知識圖譜的本體構(gòu)建方面,Lee等[4]構(gòu)建JAVA程序設(shè)計語言課程的知識本體,涵蓋JAVA基本知識與編程技巧,是本體構(gòu)建在此領(lǐng)域的成功應(yīng)用.張萌[5]闡述課程知識本體的概念,按照本體學(xué)習(xí)層次結(jié)構(gòu)進(jìn)行層級抽取,分析課程數(shù)據(jù)與知識本體的組織.

        2.3 知識圖譜的存儲與可視化

        目前,知識圖譜中的知識存儲主要分為3類,即基于關(guān)系型數(shù)據(jù)庫存儲、基于RDF數(shù)據(jù)庫存儲和基于圖數(shù)據(jù)庫存儲.關(guān)系型數(shù)據(jù)庫發(fā)展至今已十分成熟,能夠滿足大多數(shù)的存儲需求,但面對海量的知識及屬性,還存在著查詢效率不高、更新維護(hù)開銷大的問題[30].基于RDF[31]數(shù)據(jù)庫的存儲方案在知識共享方面有著較強的能力,但更新維護(hù)代價仍然較大.圖數(shù)據(jù)庫面對大規(guī)模數(shù)據(jù)存儲表現(xiàn)良好,在多跳查詢等任務(wù)中十分高效,是企業(yè)級知識圖譜存儲實現(xiàn)的重要方法[32].

        由節(jié)點和邊組成的節(jié)點鏈接圖是我們較常見的展現(xiàn)形式[33],該形式可視化結(jié)果簡潔、表達(dá)能力強,讓我們更直觀地瀏覽知識.常見的知識圖譜可視化方案有基于現(xiàn)有工具可視化和基于第三方庫可視化.基于現(xiàn)有工具可視化是指使用現(xiàn)有圖數(shù)據(jù)庫等產(chǎn)品,可視化操作便捷、效果好,但需要一定領(lǐng)域知識與技術(shù)基礎(chǔ),對于復(fù)雜數(shù)據(jù)交互有一定局限性,典型的可視化工具如Neo4j[34]和AntV G6[35]等.基于第三方庫的可視化是指引入專門用于數(shù)據(jù)建模的JavaScript庫,通過前端網(wǎng)頁實現(xiàn)數(shù)據(jù)的交互,適用范圍廣,對普通用戶友好,但該方案開發(fā)成本較高,典型的可視化庫如D3js[36]和Cytoscape.js[37]等.

        3 課程知識圖譜構(gòu)建方法

        程序設(shè)計語言課程知識圖譜構(gòu)建框架如圖1所示,包括本體構(gòu)建和根據(jù)本體構(gòu)建課程知識圖譜兩個重要步驟.

        圖1 課程知識圖譜構(gòu)建步驟

        3.1 本體構(gòu)建

        3.1.1 本體構(gòu)建準(zhǔn)則與方法

        基于Gruber的5項構(gòu)建原則[4],結(jié)合程序設(shè)計課程知識具有極強的專業(yè)性和實踐性特點,提出程序設(shè)計課程知識本體的4個構(gòu)建準(zhǔn)則:客觀準(zhǔn)則.課程知識是正確、客觀、與實際應(yīng)用一致的,并受到廣大研究人員與實際使用者認(rèn)可.邏輯準(zhǔn)則.將細(xì)粒度化的知識按實際關(guān)系構(gòu)建層次結(jié)構(gòu),以便于循序漸進(jìn)地學(xué)習(xí)與理解.通用準(zhǔn)則.本體框架對于程序設(shè)計領(lǐng)域下的其他類似課程具有可復(fù)用性.可拓展準(zhǔn)則.本體可拓展,便于知識圖譜的完善與改進(jìn).以上準(zhǔn)則能夠保障課程知識圖譜本體有著質(zhì)量良好、結(jié)構(gòu)清晰、可復(fù)用與可拓展的特點.

        何良諸提出要求,見見趙集、小勺。公安局爽快地同意了,派車將何良諸送到拘留所。何良諸進(jìn)入高墻電網(wǎng)內(nèi),來到接見室,坐下。趙集走出來,坐在他的對面。何良諸抄起話筒,說:“趙集,多少年沒見面了,來看看你?!?/p>

        進(jìn)一步,針對7步法[12]在本體質(zhì)量評估方面較為薄弱的問題進(jìn)行補充,并遵循上述構(gòu)建準(zhǔn)則,提出程序設(shè)計課程知識本體的構(gòu)建方法,具體如下:確定領(lǐng)域范疇.以程序設(shè)計語言課程為范疇,選取C、JAVA、Python 3門程序設(shè)計語言課程的知識內(nèi)容作為構(gòu)建對象.術(shù)語提取.收集課程相關(guān)的資料,參考現(xiàn)有課程知識體系的描述與本體并考慮復(fù)用,提取描述相對標(biāo)準(zhǔn)的術(shù)語.當(dāng)領(lǐng)域中產(chǎn)生新知識時,通過本步驟拓展更新本體.概念與關(guān)系提取.以字或詞為單位,提取在程序設(shè)計過程中常用的或重要的概念以及概念間的關(guān)系,同時使這些概念與關(guān)系整體上能夠概括構(gòu)建對象的主體部分.概念與關(guān)系類型劃分.程序設(shè)計是一項邏輯性極強的工作,本文從程序組成結(jié)構(gòu)的角度出發(fā),為概念與關(guān)系劃分明確的類型.組織本體框架.將第步中劃分的不同類型的概念與關(guān)系進(jìn)行關(guān)聯(lián),形成層次結(jié)構(gòu),構(gòu)成本體框架的主體.本體屬性補全.補全各概念與關(guān)系屬性,如唯一標(biāo)識ID、定義與特點等,通過若干屬性通用地描述每個概念與關(guān)系的含義.質(zhì)量評估.通過專家工作對構(gòu)建出的本體進(jìn)行審核評估,判斷概念或關(guān)系是否符合實際、需要調(diào)整或刪除,調(diào)整則返回到第步并繼續(xù)執(zhí)行.

        從程序設(shè)計的角度來看,不同程序設(shè)計語言存在共性,即通過何種程序設(shè)計語言來實現(xiàn)一個程序,程序都擁有類似的生命周期,其中每個環(huán)節(jié)都由不同的知識組成.通過這種“尋找共性”思想構(gòu)建的本體框架對其他程序設(shè)計語言具有適用性,同時將不同程序設(shè)計語言的知識聯(lián)系起來對比學(xué)習(xí),增強程序設(shè)計領(lǐng)域知識與程序設(shè)計課程體系內(nèi)的緊密性.

        3.1.2 程序設(shè)計語言知識本體

        構(gòu)建的程序設(shè)計語言知識本體將所有知識點概念分為2部分:靜態(tài)概念與動態(tài)關(guān)系.靜態(tài)概念指程序設(shè)計課程中的事物或方法等知識,例如“函數(shù)”“數(shù)組”等,本文將其作為知識圖譜中的節(jié)點.動態(tài)關(guān)系本質(zhì)上也是知識點概念,但其具有動態(tài)的特性,能描述具體的行為動作,例如“調(diào)用”“聲明”等,本文將其作為知識圖譜中的邊.

        圖2 靜態(tài)概念

        動態(tài)關(guān)系如圖3所示,分為4類:包含關(guān)系、組成關(guān)系、實例化關(guān)系與操作關(guān)系.包含關(guān)系指兩者屬于同一類型的概念且前者所指的范圍將后者包含著,如“基本數(shù)據(jù)類型”與“整型數(shù)據(jù)”的關(guān)系,“整型數(shù)據(jù)”就是一種“基本數(shù)據(jù)類型”.組成關(guān)系指兩者存在整體與部分的關(guān)系,如“自定義函數(shù)”與“語句”的關(guān)系,“語句”是“自定義函數(shù)”的一部分.實例化關(guān)系指本體中的節(jié)點與其在某個課程領(lǐng)域中實例化得到的實體節(jié)點間的關(guān)系,如“整型數(shù)據(jù)”與C語言程序設(shè)計課程中的某個整型變量.

        圖3 動態(tài)關(guān)系

        操作關(guān)系主要表達(dá)不同類型靜態(tài)概念間的關(guān)系,而其它3種關(guān)系主要表達(dá)各個類型靜態(tài)概念內(nèi)的關(guān)系.更詳細(xì)地,本文將操作關(guān)系按照主體的不同分為3種類型:人對程序的操作,如“運行”“調(diào)試”等.程序與外部資源間的操作,與文件相關(guān)的如“讀”“寫”等.程序內(nèi)的操作,與數(shù)據(jù)相關(guān)的如“初始化”“聲明”“定義”等.這3種類型的操作關(guān)系基本涵蓋了程序生命周期的相關(guān)行為動作,能夠詳細(xì)地表達(dá)概念間的具體關(guān)系.如圖4所示,“函數(shù)”與“自定義函數(shù)”“庫函數(shù)”是包含關(guān)系,可轉(zhuǎn)化成<函數(shù),包含,自定義函數(shù)>和<函數(shù),包含,庫函數(shù)>的三元組形式.“自定義函數(shù)”與“數(shù)組”間存在著操作關(guān)系,可轉(zhuǎn)化為<自定義函數(shù),操作,數(shù)組>的三元組形式.操作關(guān)系的引入使得概念間語義關(guān)系更加豐富.

        圖4 概念和關(guān)系示例

        3.2 課程知識圖譜構(gòu)建

        3.2.1 構(gòu)建方法

        與通用知識圖譜相比,程序設(shè)計語言課程知識圖譜是針對程序設(shè)計特定領(lǐng)域,其概念相對固定且概念數(shù)量較少;另外,它幾乎不允許出現(xiàn)錯誤,構(gòu)建質(zhì)量要求高.因此,本文采用自頂向下的人工方式構(gòu)建程序設(shè)計語言課程知識圖譜.具體步驟如下:

        課程知識實例化是從本體框架到課程領(lǐng)域范圍內(nèi)知識的映射,以本體框架為骨架,將本體框架中的知識概念在課程中具體化.將本體框架中七類靜態(tài)概念逐一實例化,按關(guān)系指向方向即抽象程度由高到低的順序進(jìn)行.

        以C語言程序設(shè)計課程為例,圖5描述對本體框架靜態(tài)概念中“數(shù)據(jù)模型”的部分分支進(jìn)行實例化,實例化的先后順序為:“數(shù)據(jù)模型”“數(shù)據(jù)類型”“構(gòu)造數(shù)據(jù)類型”“結(jié)構(gòu)體”“聯(lián)合體”“數(shù)組”“指針”“枚舉”.在這里不對“類”進(jìn)行實例化的原因是C語言不支持類和對象的概念.由此可見,對于一門課程而言,并不是本體框架中所有的概念都能在該課程領(lǐng)域內(nèi)實例化,需要根據(jù)課程知識的實際情況處理.由于本體框架針對程序設(shè)計語言領(lǐng)域的通用性設(shè)計,以上課程實例化的方法可以應(yīng)用到其他課程.

        圖5 課程知識實例化示例

        課程知識關(guān)系補全是為課程實例化后得到的所有課程知識節(jié)點關(guān)聯(lián)關(guān)系,在添加關(guān)系的過程中同時要按照課程實際情況進(jìn)行.按照本體框架實例化出來的課程知識節(jié)點之間,存在著與本體框架中同樣的關(guān)系,因此為課程知識節(jié)點間添加的關(guān)系在程序設(shè)計課程知識本體中4種動態(tài)關(guān)系的范圍內(nèi).關(guān)系補全按照概念的抽象程度,由抽象到具體的順序進(jìn)行.

        以C語言程序設(shè)計課程中的“構(gòu)造數(shù)據(jù)類型”和“數(shù)組”2個概念間的關(guān)系補全為例(如圖6所示).2個節(jié)點分別由本體框架中的“構(gòu)造數(shù)據(jù)類型”和“數(shù)組”2個概念實例化而來,在本體框架中兩者存在著包含關(guān)系,由它們實例化得到的節(jié)點間同樣存在著包含關(guān)系.對于其他課程,同樣采取本方法進(jìn)行課程內(nèi)的知識關(guān)系補全.

        圖6 課程知識關(guān)系補全

        對所有的課程知識節(jié)點的屬性進(jìn)行補全,每個節(jié)點擁有標(biāo)識、定義、特點等屬性.“標(biāo)識”屬性由工具生成唯一字符串.“定義”屬性是用于描述知識節(jié)點的本質(zhì)特征,通俗來說是解釋該概念是什么的問題.“特點”屬性是用于描述知識節(jié)點的規(guī)則、特性等特殊之處.

        例如C語言程序設(shè)計課程中的概念“數(shù)據(jù)類型”,其定義為“指在C語言中用于聲明不同類型的變量或函數(shù)的一個廣泛的系統(tǒng)”,其特點為“一個數(shù)值的數(shù)據(jù)類型決定了它存儲所占用的空間,不同數(shù)據(jù)類型的數(shù)據(jù)需要不同大小的空間來存儲”.此外,還可按照節(jié)點的類型或需求設(shè)置其他屬性.

        3.2.2 構(gòu)建結(jié)果

        通過上述方式,構(gòu)建程序設(shè)計語言知識本體,包含6類概念和4種關(guān)系,共計80個概念(節(jié)點)和79條關(guān)系(邊),具體數(shù)據(jù)如表1所示.6類概念包括數(shù)據(jù)模型概念、表達(dá)式概念、輸入輸出概念、執(zhí)行方式概念、函數(shù)概念、程序設(shè)計方法概念.4種關(guān)系包括包含關(guān)系、組成關(guān)系、實例化關(guān)系、操作關(guān)系.目前,程序設(shè)計語言課程知識圖譜中的有C、JAVA、Python,共計395個概念(節(jié)點)和391條關(guān)系(邊),其中包含的概念和關(guān)系類型與本體一致.

        表1 構(gòu)建結(jié)果

        與其它課程知識圖譜相比,本文沒有單純采用以章節(jié)為單位的目錄式本體結(jié)構(gòu),而是以單個概念為節(jié)點,細(xì)化知識粒度,強調(diào)概念間的關(guān)聯(lián)關(guān)系.概念與關(guān)系的類型更加多樣,尤其是動態(tài)關(guān)系中操作關(guān)系的引入,使得圖譜更加豐富.隨著新課程的引入,本文的知識圖譜包含的概念與關(guān)系的數(shù)量將不斷上升并發(fā)展完善.

        4 課程知識圖譜的存儲與可視化

        4.1 課程知識圖譜的存儲

        為滿足復(fù)雜查詢與大量課程知識存儲需求,選擇圖數(shù)據(jù)管理方式自由、支持ACID事務(wù)和Cypher查詢語言的圖數(shù)據(jù)庫Neo4j來存儲課程知識圖譜.首先將課程知識圖譜中所有節(jié)點與邊的內(nèi)容整理成表格形式的結(jié)構(gòu)化數(shù)據(jù),然后用計算機程序批量拼接Cypher語句把這些數(shù)據(jù)持久化到Neo4j圖數(shù)據(jù)庫.數(shù)據(jù)的存儲過程如圖7所示.

        圖7 課程知識圖譜的存儲

        4.2 課程知識圖譜可視化

        選用Neo4j圖數(shù)據(jù)庫中自帶的Neo4j Browser工具實現(xiàn)課程知識圖譜的可視化.構(gòu)建的程序設(shè)計語言知識本體和C、JAVA、Python程序設(shè)計語言課程知識圖譜可視化結(jié)果如圖8、圖9.

        圖8 本體可視化 圖9 本體可視化

        5 結(jié)語

        本文對C、JAVA、Python程序設(shè)計語言課程知識建模,構(gòu)建課程知識本體與課程知識圖譜,并提出相應(yīng)的構(gòu)建準(zhǔn)則、方法和結(jié)果,以此為課程教學(xué)提供知識服務(wù).在今后的研究中,我們將引入人工智能方法輔助知識實體識別與關(guān)系抽取,進(jìn)一步完善和豐富程序設(shè)計語言知識圖譜,為課程教學(xué)、課程知識問答等應(yīng)用提供更加豐富的語義信息與技術(shù)支持.

        猜你喜歡
        可視化概念語言
        基于CiteSpace的足三里穴研究可視化分析
        Birdie Cup Coffee豐盛里概念店
        基于Power BI的油田注水運行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        基于CGAL和OpenGL的海底地形三維可視化
        語言是刀
        文苑(2020年4期)2020-05-30 12:35:30
        幾樣概念店
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        學(xué)習(xí)集合概念『四步走』
        讓語言描寫搖曳多姿
        聚焦集合的概念及應(yīng)用
        精品蜜臀国产av一区二区| 久久精品中文字幕女同免费| 欧美老肥婆牲交videos| 免费a级毛片无码a∨男男| 国产精品无码片在线观看| 国产精品国产三级厂七| 中文字幕本久久精品一区| 日韩欧美亚洲综合久久影院ds| 亚洲欧美国产日韩字幕| 男男互吃大丁视频网站| 国产乱码精品一区二区三区久久| 亚洲av无码乱码国产精品| 欧美三级一区| 午夜香蕉av一区二区三区| 国产av一区二区三区在线播放| 中文无码熟妇人妻av在线| 91老司机精品视频| 亚洲一区久久久狠婷婷| 我和丰满妇女激情视频| 看全色黄大色大片免费久久| 乱人伦视频69| 大香蕉视频在线青青草| 人妻少妇久久中文字幕| 久久亚洲av成人无码国产| 久久精品国产成人午夜福利| 国产精品白浆一区二区免费看| 国产午夜精品一区二区| 欧美精品久久久久久久久| 亚洲精品女优中文字幕| 亚洲国产精品一区二区成人片国内| 无码国产69精品久久久孕妇| 久久老子午夜精品无码| 极品少妇人妻一区二区三区| 99精品国产在热久久无码| 无码不卡高清毛片免费| 中文字幕人妻乱码在线| 国产精品国产三级国产av剧情| 女人做爰高潮呻吟17分钟| 精品理论一区二区三区| 成人偷拍自拍视频在线观看 | 98国产精品永久在线观看|