宋瑋情,崔煥慶,楊峻鑄
(山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,山東 青島 266590)
隨著大數(shù)據(jù)時(shí)代來(lái)臨,數(shù)據(jù)價(jià)值日益增加。面對(duì)多樣化的數(shù)據(jù)形式,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)只能處理簡(jiǎn)單的數(shù)據(jù)關(guān)系,而知識(shí)圖譜能高效地存儲(chǔ)和應(yīng)用復(fù)雜的關(guān)系知識(shí),受到了學(xué)者們的廣泛關(guān)注和研究,目前已成為知識(shí)應(yīng)用和資源管理的重要技術(shù)之一[1]。知識(shí)圖譜由節(jié)點(diǎn)和邊組成,其中節(jié)點(diǎn)表示概念和實(shí)體,概念指抽象出的事物。實(shí)體指具體事物,基本特征通過(guò)屬性表示;邊表示實(shí)體與概念之間的關(guān)系。知識(shí)圖譜本質(zhì)是一個(gè)具有屬性的實(shí)體,通過(guò)關(guān)系相互連接所構(gòu)建的網(wǎng)狀知識(shí)庫(kù),并以結(jié)構(gòu)化的形式描述客觀世界的概念、實(shí)體和兩者之間的相互關(guān)系[2]。因此,知識(shí)圖譜不僅表示語(yǔ)義關(guān)系,還能聯(lián)系各類(lèi)信息構(gòu)建關(guān)系網(wǎng)絡(luò),從“關(guān)系”的角度分析問(wèn)題。
近年來(lái),傳統(tǒng)課堂教學(xué)模式存在教師教學(xué)強(qiáng)度大、學(xué)生學(xué)習(xí)效率低、教學(xué)資源利用率低等問(wèn)題。為了解決上述問(wèn)題,提出了程序在線評(píng)測(cè)(Online Judge,OJ)系統(tǒng),該系統(tǒng)在程序設(shè)計(jì)等課程的教學(xué)、競(jìng)賽中受到廣泛應(yīng)用,獲取了海量的數(shù)據(jù)資源,這些資源是計(jì)算機(jī)教育的重要組成部分[3]。如何從數(shù)據(jù)資源中分析出有價(jià)值的信息輔助教學(xué)是目前的研究熱點(diǎn)?;诖?,本文結(jié)合知識(shí)圖譜對(duì)OJ 系統(tǒng)的數(shù)據(jù)進(jìn)行處理,構(gòu)建OJ 知識(shí)圖譜,并通過(guò)挖掘、分析數(shù)據(jù),為個(gè)性化教學(xué)和學(xué)習(xí)提供數(shù)據(jù)支撐,最后以個(gè)例分析的形式討論OJ知識(shí)圖譜對(duì)學(xué)情分析與路徑規(guī)劃的實(shí)際應(yīng)用價(jià)值。
知識(shí)圖譜由三元組表示,表達(dá)式為head,relation,tail,簡(jiǎn)記為h,r,t。其中,h和t分別表示三元組的頭實(shí)體和尾實(shí)體,r表示頭實(shí)體和尾實(shí)體之間的關(guān)系,每個(gè)節(jié)點(diǎn)和關(guān)系都通過(guò)鍵值對(duì)(Key-value)進(jìn)行表示[4]。知識(shí)圖譜可通過(guò)關(guān)系型數(shù)據(jù)庫(kù)、RDF 三元組庫(kù)和圖數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。其中,圖數(shù)據(jù)庫(kù)是基于圖形式存儲(chǔ)的新型非關(guān)系型數(shù)據(jù)庫(kù),具有存儲(chǔ)靈活、查詢高效等優(yōu)勢(shì),適合表示如(實(shí)體,屬性名,屬性值)、(實(shí)體1,關(guān)系,實(shí)體2)等形式數(shù)據(jù),并且關(guān)聯(lián)查詢無(wú)需復(fù)雜操作[5]。
馬騰等[6]建立了個(gè)性化教學(xué)知識(shí)圖譜,將知識(shí)圖譜融入教師備課、課堂教學(xué)、課下作業(yè)布置、課外輔導(dǎo)等一系列教學(xué)環(huán)節(jié)當(dāng)中,自動(dòng)為學(xué)生提供感興趣的學(xué)習(xí)內(nèi)容,實(shí)現(xiàn)了精準(zhǔn)化和個(gè)性化教學(xué)。黃梅根等[7]創(chuàng)建了初、高中知識(shí)圖譜,基于知識(shí)圖譜使用改進(jìn)的認(rèn)知診斷模型診斷學(xué)生對(duì)特定知識(shí)點(diǎn)的認(rèn)知程度。Yan[8]以“國(guó)際貿(mào)易實(shí)務(wù)”課程為研究實(shí)例,通過(guò)融合教學(xué)理論與教學(xué)資源構(gòu)建知識(shí)圖譜,幫助學(xué)生提高學(xué)習(xí)效率;通過(guò)培養(yǎng)邏輯思維能力和改進(jìn)教學(xué)方法,提高教師教學(xué)水平。Zheng[9]從MOOC 網(wǎng)站上獲取課程的相關(guān)信息,對(duì)實(shí)體和關(guān)系進(jìn)行提取,構(gòu)建高等教育知識(shí)圖譜。
本文基于Neo4j 構(gòu)建OJ 數(shù)據(jù)的知識(shí)圖譜,給出了OJ 數(shù)據(jù)的預(yù)處理過(guò)程。然后,Web 端通過(guò)可視化方式展現(xiàn)OJ 數(shù)據(jù)的網(wǎng)絡(luò)關(guān)系,進(jìn)一步分析OJ 知識(shí)圖譜在學(xué)情分析、個(gè)性化教學(xué)和學(xué)習(xí)方面的應(yīng)用。
為了構(gòu)建實(shí)用性強(qiáng)、結(jié)構(gòu)合理的OJ 知識(shí)圖譜,本文設(shè)計(jì)主要從2個(gè)方面考慮:①OJ系統(tǒng)中實(shí)體和關(guān)系的組織;②現(xiàn)實(shí)應(yīng)用對(duì)OJ 知識(shí)圖譜的功能需求。OJ 系統(tǒng)中包含的節(jié)點(diǎn)種類(lèi)較少,但節(jié)點(diǎn)之間的關(guān)系數(shù)量很多,需要設(shè)計(jì)明確的知識(shí)架構(gòu)作為創(chuàng)建知識(shí)圖譜的基礎(chǔ)[10],即定義OJ 知識(shí)圖譜中包含各實(shí)體的概念以及它們之間的關(guān)系。如表1 所示,OJ 知識(shí)圖譜中主要包含測(cè)試、題、學(xué)生、老師4 類(lèi)實(shí)體,為了準(zhǔn)確描述各實(shí)體信息,定義了每類(lèi)實(shí)體的相關(guān)屬性。實(shí)體屬性分為對(duì)象屬性和數(shù)據(jù)屬性,其中對(duì)象屬性描述實(shí)體之間的關(guān)系,值為相關(guān)的另一實(shí)體;數(shù)據(jù)屬性表示實(shí)體的屬性,值為XSD(XML Schema Definition)的數(shù)據(jù)類(lèi)型?;谏鲜鲈O(shè)計(jì),將各類(lèi)實(shí)體和關(guān)系相互組合構(gòu)成了一個(gè)縱橫交錯(cuò)復(fù)雜的知識(shí)圖譜,如圖1 所示(彩圖掃OSID 碼可見(jiàn),下同)。
首先需要采集、分析數(shù)據(jù)。OJ 系統(tǒng)使用關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),先將數(shù)據(jù)以逗號(hào)分隔的CSV 文件導(dǎo)出,為了防止亂碼,所有CSV 文件格式都使用UTF-8 進(jìn)行編碼。如表2 所示,文件存儲(chǔ)了OJ 系統(tǒng)的實(shí)體、關(guān)系及它們之間的屬性,每條記錄都擁有唯一的ID 屬性,然后利用Neo4j 中Cypher 的LOAD CSV 命令將數(shù)據(jù)導(dǎo)入至Neo4j。
Table 1 Entity attribute table表1 實(shí)體屬性表
Fig.1 Ontology structure of OJ knowledge graph圖1 OJ 知識(shí)圖譜的本體結(jié)構(gòu)
Table 2 CSV file table表2 CSV 文件表
知識(shí)圖譜構(gòu)建的主要方式有:自底向上、自頂向下和自動(dòng)構(gòu)建3 種。自底向上的構(gòu)建方式根據(jù)人們已知知識(shí)為主導(dǎo),對(duì)相關(guān)領(lǐng)域概念進(jìn)行層次劃分,該方式適合構(gòu)建通用型知識(shí)圖譜;自頂向下的構(gòu)建方式先從比較權(quán)威的公開(kāi)數(shù)據(jù)集或?qū)I(yè)的網(wǎng)站中獲取數(shù)據(jù)信息,再通過(guò)技術(shù)手段獲取所需的信息實(shí)體、關(guān)系及屬性,適合在知識(shí)明確、關(guān)系清晰的領(lǐng)域構(gòu)建知識(shí)圖譜;自動(dòng)構(gòu)建則通過(guò)機(jī)器學(xué)習(xí)、數(shù)據(jù)自動(dòng)獲取、統(tǒng)計(jì)等技術(shù)構(gòu)建知識(shí)圖譜。由于OJ 系統(tǒng)應(yīng)用于特定領(lǐng)域,本文采用自頂向下的構(gòu)建方式,將實(shí)體、關(guān)系及屬性信息輸入圖形數(shù)據(jù)庫(kù)Neo4j 中實(shí)現(xiàn)知識(shí)圖譜的可視化展示及存儲(chǔ)。
基于山東科技大學(xué)OJ 系統(tǒng)中2019 年程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)實(shí)驗(yàn)課程數(shù)據(jù)構(gòu)建知識(shí)圖譜,其中數(shù)據(jù)包括924 個(gè)實(shí)體(6 名老師、298 道題目、164 次測(cè)試和456 名學(xué)生)和153 612 條關(guān)系。圖2 展示了OJ 知識(shí)圖譜的部分內(nèi)容,其中學(xué)生、題目之間的提交關(guān)系占據(jù)了非常重要的地位,它們不僅展示了學(xué)生對(duì)某個(gè)題目所涵蓋知識(shí)點(diǎn)的學(xué)習(xí)情況,還體現(xiàn)了學(xué)生的努力程度、學(xué)習(xí)能力和學(xué)習(xí)效果。此外,對(duì)這些關(guān)系進(jìn)行分析有助于教師提供個(gè)性化輔導(dǎo)和教學(xué),有助于實(shí)現(xiàn)學(xué)生學(xué)習(xí)效果的形成性評(píng)價(jià)。
Fig.2 Partial knowledge graph圖2 部分知識(shí)圖譜
目前,在線教育領(lǐng)域存在老師獲取反饋不及時(shí)、學(xué)生定位[11]和學(xué)習(xí)路徑[12]不清晰、教師學(xué)生數(shù)據(jù)管理繁瑣等問(wèn)題,借助OJ 知識(shí)圖譜可有效解決上述問(wèn)題。本文基于Neo4j 的查詢語(yǔ)言Cypher 對(duì)知識(shí)圖譜信息進(jìn)行檢索,分別從學(xué)生、教師和教學(xué)管理人員角度,以個(gè)例分析方式對(duì)OJ知識(shí)圖譜的潛在應(yīng)用進(jìn)行說(shuō)明。
從學(xué)生角度而言,由于學(xué)生存在學(xué)習(xí)努力程度、學(xué)習(xí)能力、興趣愛(ài)好等個(gè)體差異,基于知識(shí)圖譜分析學(xué)生題目提交和通過(guò)情況及各種信息,對(duì)學(xué)生進(jìn)行畫(huà)像[13-14],能夠更好掌握每個(gè)學(xué)生的特點(diǎn)。進(jìn)一步,根據(jù)K-means 聚類(lèi)算法分析學(xué)生的學(xué)習(xí)情況,提取學(xué)生之間的相似度,如圖3 所示。通過(guò)聚類(lèi)分析后,選擇相似用戶有助于后續(xù)工作的研究。例如:如圖4 所示,通過(guò)分析學(xué)習(xí)者的相似度,結(jié)合知識(shí)圖譜可個(gè)性化定制學(xué)生的學(xué)習(xí)路徑[15]。
Fig.3 Student clustering圖3 學(xué)生聚類(lèi)
Fig.4 Student learning path planning圖4 學(xué)生學(xué)習(xí)路徑規(guī)劃
從教師角度而言,OJ 知識(shí)圖譜幫助教師分析學(xué)生對(duì)不同問(wèn)題的掌握程度,判斷學(xué)生的學(xué)習(xí)水平和能力,實(shí)現(xiàn)學(xué)情分析,從而有針對(duì)性地調(diào)整教學(xué)計(jì)劃和提供個(gè)性化輔導(dǎo)。如圖5所示,76.8%的學(xué)習(xí)者在答題過(guò)程中出現(xiàn)答案錯(cuò)誤,表明學(xué)習(xí)者對(duì)相關(guān)知識(shí)點(diǎn)的學(xué)習(xí)程度不夠,還需加強(qiáng)練習(xí)。
Fig.5 Students'errors in one test圖5 一次測(cè)試中學(xué)生的錯(cuò)誤情況
從教學(xué)管理者角度而言,借助知識(shí)圖譜能有效掌握教學(xué)質(zhì)量。如圖6 所示,以兩位老師(實(shí)體為紅色節(jié)點(diǎn))為例,分析代表測(cè)試集的橙色節(jié)點(diǎn)順序,可生成每位教師的教學(xué)路徑。如果當(dāng)測(cè)試集由題目組成時(shí),則分析題目的先后順序可生成教學(xué)路徑,進(jìn)一步分析可為教師進(jìn)行教學(xué)畫(huà)像。
Fig.6 Analysis of teaching paths of different teachers圖6 不同教師的教學(xué)路徑分析
本文對(duì)OJ 知識(shí)圖譜進(jìn)行本體設(shè)計(jì),通過(guò)圖數(shù)據(jù)庫(kù)Neo4j 和程序在線測(cè)評(píng)系統(tǒng)數(shù)據(jù)構(gòu)建OJ 知識(shí)圖譜,并利用可視化方法分析OJ 知識(shí)圖譜的潛在應(yīng)用。首先,OJ 知識(shí)圖譜能顯著提高學(xué)生學(xué)習(xí)興趣和學(xué)習(xí)效果,其次能協(xié)助教師進(jìn)行學(xué)情分析,協(xié)助教學(xué)管理人員進(jìn)行評(píng)教和評(píng)學(xué),OJ知識(shí)圖譜能在一定程度上滿足現(xiàn)實(shí)課程教學(xué)需求。未來(lái)將進(jìn)一步完善OJ 知識(shí)圖譜,為智能問(wèn)答、成績(jī)預(yù)測(cè)分析、個(gè)性化課程推薦、關(guān)系挖掘等應(yīng)用提供更強(qiáng)大的推動(dòng)力。