国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Neo4j的C++課程知識(shí)圖譜的構(gòu)建和推理

2021-12-07 12:50:51郎亞坤蘇超王國(guó)中李國(guó)平
關(guān)鍵詞:知識(shí)圖譜

郎亞坤 蘇超 王國(guó)中 李國(guó)平

摘 要: 當(dāng)前教育領(lǐng)域?qū)χR(shí)圖譜的研究大多停留在對(duì)學(xué)科間知識(shí)圖譜的研究上,而這類知識(shí)圖譜普遍存在節(jié)點(diǎn)、關(guān)系和屬性單一,以及知識(shí)點(diǎn)劃分顆粒度較粗等問(wèn)題。然而,在實(shí)際教學(xué)過(guò)程中,學(xué)科內(nèi)的知識(shí)圖譜對(duì)學(xué)生的作用更大,比如:當(dāng)學(xué)生對(duì)某一知識(shí)點(diǎn)掌握程度不夠的情況下,可以根據(jù)知識(shí)圖譜找到與當(dāng)前知識(shí)點(diǎn)相似的知識(shí)點(diǎn)或者基礎(chǔ)知識(shí)點(diǎn)進(jìn)行補(bǔ)充學(xué)習(xí);或者對(duì)某一知識(shí)點(diǎn)已經(jīng)掌握的情況下,可以根據(jù)知識(shí)圖譜找出下一個(gè)要學(xué)的知識(shí)點(diǎn)等等。因此,本文基于Neo4j圖數(shù)據(jù)庫(kù)構(gòu)建了C++課程知識(shí)圖譜并給出相應(yīng)的知識(shí)點(diǎn)推理。實(shí)驗(yàn)結(jié)果表明:構(gòu)造后的課程知識(shí)圖譜包含C++課程領(lǐng)域的所有知識(shí)點(diǎn)及知識(shí)點(diǎn)間的關(guān)系,可以很好地進(jìn)行知識(shí)點(diǎn)和學(xué)習(xí)路徑的相關(guān)推理。

關(guān)鍵詞: Neo4j; C++; 知識(shí)圖譜; 知識(shí)推理

文章編號(hào): 2095-2163(2021)07-0144-08中圖分類號(hào):TP183文獻(xiàn)標(biāo)志碼: A

The construction and reasoning of C++ course knowledge graph based on Neo4j

LANG Yakun, SU Chao, WANG Guozhong, LI Guoping

(School of Electronic and Electrical Engineering, Shanghai University of Engineering Science, Shanghai 201620, China)

【Abstract】The current research on knowledge graphs in the education field mostly stays on the research of interdisciplinary knowledge graphs. However, this kind of knowledge graph generally has problems such as single node, relationship and attribute, and coarse granularity of knowledge points. And in the actual teaching process, the knowledge graph within the subject has a greater effect on students. For example, when students do not have enough mastery of a certain knowledge point, they can find knowledge points similar to the current knowledge points or basic knowledge points according to the knowledge graph for supplementary learning. Or when they have mastered a certain knowledge point, they can find the next knowledge point to learn based on the knowledge graph, etc. Therefore, this paper constructs a C++ curriculum knowledge graph based on the Neo4j graph database and gives the reasoning of the corresponding knowledge points. The experimental results show that the constructed curriculum knowledge graph contains all the knowledge points in the C++ course field and the relationships between the knowledge points, and can be used to perform relevant reasoning about the knowledge points and learning paths.

【Key words】Neo4j; C++; knowledge graph; knowledge reasoning

0 引 言

知識(shí)圖譜(knowledge graph, KG)自2012年由Google公司提出以來(lái),目前已受到工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注。知識(shí)圖譜最初提出的目的在于優(yōu)化搜索引擎,而隨著近些年的快速發(fā)展,目前已廣泛應(yīng)用于電商、金融、醫(yī)學(xué)等領(lǐng)域,在智能搜索、智能問(wèn)答、智能決策和推薦系統(tǒng)等方面發(fā)揮著重要的作用[1]。

近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展以及“互聯(lián)網(wǎng)+”理念在各領(lǐng)域的應(yīng)用,同時(shí)隨著大數(shù)據(jù)、云計(jì)算、人工智能等新一代信息技術(shù)的發(fā)展,將新一代信息技術(shù)應(yīng)用在教育領(lǐng)域,打造教育信息化已是必然趨勢(shì)[2]。而無(wú)論是傳統(tǒng)教育、還是以“互聯(lián)網(wǎng)+”為背景的新型教育,教育本身都是一個(gè)數(shù)據(jù)密集型行業(yè),而知識(shí)圖譜的本質(zhì)也是將事物和概念通過(guò)相互之間的關(guān)系連接起來(lái),因此,將知識(shí)圖譜應(yīng)用在教育領(lǐng)域是一種必然的趨勢(shì)[3]。

當(dāng)前,知識(shí)圖譜在教育領(lǐng)域中應(yīng)用的研究越來(lái)越多。如,孫涵等人[3]根據(jù)老年教育的特征,探索分析了知識(shí)圖譜在老年教育領(lǐng)域的可能性。吉婷婷[4]基于CNKI期刊文獻(xiàn)關(guān)鍵詞搜索,運(yùn)用關(guān)鍵詞共現(xiàn)的知識(shí)圖譜可視化分析方法分析了我國(guó)地理學(xué)科核心素養(yǎng)研究的格局與演進(jìn)特征,以期為地理學(xué)科核心素養(yǎng)研究的演進(jìn)方向與發(fā)展趨勢(shì)提供參考。王蘭成[5]認(rèn)為多學(xué)科協(xié)同開展網(wǎng)絡(luò)輿情知識(shí)圖譜研究,將形成相互補(bǔ)充和相互驗(yàn)證的有機(jī)整體成果,具有重要的理論價(jià)值和現(xiàn)實(shí)意義。張春霞等人[6]設(shè)計(jì)了基于數(shù)學(xué)課程本體的數(shù)學(xué)課程知識(shí)圖譜構(gòu)建方法,提出了一種基于數(shù)學(xué)課程知識(shí)圖譜的知識(shí)推理方法等等。

綜上所述,知識(shí)圖譜應(yīng)用在教育領(lǐng)域的研究已越來(lái)越多,但是現(xiàn)有的教育知識(shí)圖譜更多的是針對(duì)學(xué)科間的研究,缺乏對(duì)單一課程知識(shí)點(diǎn)的分析,然而在學(xué)生的真實(shí)學(xué)習(xí)環(huán)境中,學(xué)生更想獲得課程中知識(shí)點(diǎn)的分布情況、學(xué)習(xí)順序以及難易程度等。本文以學(xué)生在課程中的學(xué)習(xí)為背景,設(shè)計(jì)構(gòu)建出一種基于Neo4j的C++課程知識(shí)圖譜,并根據(jù)構(gòu)建的知識(shí)圖譜給出詳細(xì)的C++知識(shí)點(diǎn)推理過(guò)程,旨在將構(gòu)建后的知識(shí)圖譜應(yīng)用于學(xué)生的課程設(shè)計(jì)、學(xué)習(xí)路徑推薦等方面,實(shí)現(xiàn)個(gè)性化教學(xué)。

1 知識(shí)圖譜相關(guān)研究

1.1 知識(shí)圖譜的定義

知識(shí)圖譜是以大量的數(shù)據(jù)為基礎(chǔ),將其整理成機(jī)器能處理的知識(shí)庫(kù)能夠以可視化的形式展示的網(wǎng)絡(luò)組織結(jié)構(gòu)[7]。具體是以科學(xué)知識(shí)為對(duì)象,顯示學(xué)科的發(fā)展進(jìn)程與結(jié)構(gòu)關(guān)系的一種圖形,并同時(shí)具有“圖”和“譜”的雙重性質(zhì)和特征[8],本質(zhì)上是一個(gè)存儲(chǔ)知識(shí)實(shí)體與實(shí)體之間關(guān)系的結(jié)構(gòu)化網(wǎng)絡(luò),可以幫助形式化描述、理解現(xiàn)實(shí)世界的事物及其相互關(guān)系。知識(shí)圖譜由“頭實(shí)體—關(guān)系—尾實(shí)體”三元組構(gòu)成,以三元組的方式來(lái)表示以及存儲(chǔ)實(shí)例數(shù)據(jù),構(gòu)建數(shù)據(jù)間的語(yǔ)義鏈接[9]。知識(shí)圖譜的三元組通??梢员硎緸镚={E,R,S},其中E={e1,e2,…,en}表示知識(shí)圖譜中的實(shí)體集合;R={r1,r2,…,rn}表示知識(shí)圖譜中的關(guān)系集合;而SE×R×E表示知識(shí)圖譜中的三元組集合[10]。

1.2 知識(shí)圖譜的分類

根據(jù)知識(shí)圖譜的應(yīng)用領(lǐng)域,一般將知識(shí)圖譜分為以下2種,即:通用知識(shí)圖譜(General-purpose Knowledge Graph, GKG)和領(lǐng)域知識(shí)圖譜(Domain-Specific Knowledge Graph, DKG)[11]。其中,通用知識(shí)圖譜是指不面向特定領(lǐng)域的知識(shí)圖譜,具有一定的普適性,而領(lǐng)域知識(shí)圖譜是指面向特定領(lǐng)域的知識(shí)圖譜,具有特殊性。對(duì)于通用知識(shí)圖譜的構(gòu)建,當(dāng)前已有如:谷歌公司構(gòu)建的Freebase、萊比錫大學(xué)和曼海姆大學(xué)共同開發(fā)的DBpedia、百度知心和搜狗知立方等代表性的通用知識(shí)圖譜。而對(duì)于領(lǐng)域知識(shí)圖譜的構(gòu)建,目前依然處于一種探索階段,一方面在于領(lǐng)域知識(shí)圖譜的構(gòu)建過(guò)程中需要有專業(yè)的領(lǐng)域知識(shí)為前提,另一方面也在于專業(yè)領(lǐng)域內(nèi)的數(shù)據(jù)資源體量比較小,滿足不了數(shù)據(jù)量的需求,當(dāng)前,領(lǐng)域內(nèi)的知識(shí)圖譜主要包含有:音樂領(lǐng)域圖譜MusicBrainz、地理領(lǐng)域圖譜GeoNames等等[12]。

1.3 知識(shí)圖譜的構(gòu)建方式

知識(shí)圖譜的構(gòu)建方式主要有自上而下和自下而上兩種方式。其中,自上而下的構(gòu)建方式是先定義所需要的模式,再將各種實(shí)體知識(shí)加入到知識(shí)庫(kù)中;而自下而上的方式是先從各種數(shù)據(jù)中抽取出知識(shí)實(shí)體,再篩選出置信度較高的知識(shí)實(shí)體去構(gòu)建頂層的模式[13]。知識(shí)圖譜的構(gòu)建主要包括數(shù)據(jù)獲取、知識(shí)抽取、知識(shí)融合、知識(shí)推理和知識(shí)應(yīng)用等步驟[10],如圖1所示。數(shù)據(jù)的獲取是知識(shí)圖譜構(gòu)建的前提,常見的數(shù)據(jù)格式有結(jié)構(gòu)化的數(shù)據(jù)、非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),結(jié)構(gòu)化數(shù)據(jù)可以直接對(duì)數(shù)據(jù)提取,而非結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù)在提取前需要先轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù);當(dāng)獲取到數(shù)據(jù)后,便可以進(jìn)行數(shù)據(jù)的抽取以獲取知識(shí)實(shí)體及實(shí)體之間的關(guān)系,然后對(duì)知識(shí)實(shí)體進(jìn)行鏈接并進(jìn)行本體推理、路徑推理等,最終構(gòu)建完成的知識(shí)圖譜可以應(yīng)用在如推薦系統(tǒng)、語(yǔ)義搜索等領(lǐng)域。

2 C++課程知識(shí)圖譜的構(gòu)造

2.1 方法概述

當(dāng)前,針對(duì)專業(yè)知識(shí)領(lǐng)域知識(shí)圖譜的構(gòu)建依然處于一種探索階段,大部分專業(yè)知識(shí)領(lǐng)域的圖譜構(gòu)造僅僅是一種概念間的關(guān)系建模,即針對(duì)概念中的顯性知識(shí)進(jìn)行構(gòu)建。李光明[14]認(rèn)為課程知識(shí)圖譜的構(gòu)造不僅要構(gòu)建基本知識(shí)中的顯性知識(shí)點(diǎn),而且要在此基礎(chǔ)上根據(jù)知識(shí)概念間的關(guān)系進(jìn)行推理演繹,從而獲取知識(shí)圖譜中的隱性知識(shí)點(diǎn)。因此,在構(gòu)建C++課程知識(shí)圖譜的過(guò)程中,不僅要針對(duì)領(lǐng)域概念這類基礎(chǔ)性知識(shí)進(jìn)行劃分,同時(shí)也要考慮隱性知識(shí)的獲取。此外,專業(yè)知識(shí)領(lǐng)域的知識(shí)圖譜的構(gòu)造過(guò)程中還需要專業(yè)教師和專家學(xué)者指導(dǎo)審核,并根據(jù)其建議進(jìn)行相應(yīng)的調(diào)整與改進(jìn)。綜上所述,本文基于Neo4j圖數(shù)據(jù)庫(kù)構(gòu)建一種C++課程的知識(shí)圖譜,整體流程圖如圖2所示。

從圖2可知,構(gòu)建C++課程的知識(shí)圖譜,首先需要設(shè)計(jì)C++課程的知識(shí)模型,并獲取各知識(shí)模塊之間的關(guān)系,然后抽取課程中的知識(shí)點(diǎn)和知識(shí)點(diǎn)間的關(guān)系,并進(jìn)行知識(shí)點(diǎn)層級(jí)和順序的分析,最后可視化出C++課程的知識(shí)圖譜。

2.2 知識(shí)模塊的設(shè)計(jì)以及模塊之間的關(guān)系

針對(duì)具體的課程,由于每個(gè)學(xué)生的學(xué)習(xí)能力和先驗(yàn)知識(shí)的不同,因此,對(duì)于課程知識(shí)點(diǎn)的學(xué)習(xí)所需要的時(shí)間和精力也是不同的。但是不管學(xué)生如何學(xué)習(xí),學(xué)生對(duì)課程知識(shí)點(diǎn)的學(xué)習(xí)必須符合教學(xué)大綱的要求。因此,對(duì)于C++課程而言,必須先充分了解課程大綱的需求和掌握各知識(shí)模塊以及模塊之間的關(guān)系。本文以《C++Primer(第五版)》課程大綱為主,以《Visual C++面向?qū)ο蟪绦蛟O(shè)計(jì)教程與實(shí)驗(yàn)》和《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》為輔,同時(shí)參考網(wǎng)絡(luò)上相關(guān)的C++課程資料作為補(bǔ)充,以此整體把握C++課程的大綱需求。

經(jīng)過(guò)分析,本文將C++課程知識(shí)模塊分成以下5種,分別為:基本語(yǔ)法模塊、容器和算法模塊、類和數(shù)據(jù)抽象模塊、面向?qū)ο缶幊膛c泛型編程模塊以及高級(jí)主題模塊。見表1。

由表1可知,這5種知識(shí)模塊涵蓋了整個(gè)C++課程的所有知識(shí),同時(shí),大綱要求課程中的各個(gè)知識(shí)模塊的學(xué)習(xí)是按照一定的順序進(jìn)行的,如圖3所示。除此之外,不同知識(shí)模塊又有各自的子模塊,以“類和數(shù)據(jù)抽象”為例進(jìn)行說(shuō)明,如圖4所示。

2.3 課程知識(shí)點(diǎn)的抽取

課程知識(shí)點(diǎn)的抽取需要參考相關(guān)的課程大綱和課程目錄,一方面在于課程大綱通常是由本專業(yè)的授課教師編寫,能夠以系統(tǒng)性、連貫性的形式敘述該課程的主要學(xué)習(xí)內(nèi)容,另一方面在于課程目錄不僅可以反映課程的知識(shí)結(jié)構(gòu),同時(shí)也考慮了知識(shí)點(diǎn)間的學(xué)習(xí)順序。因此,根據(jù)課程大綱和課程目錄構(gòu)造知識(shí)圖譜可以更好地反映學(xué)生完成相應(yīng)的學(xué)習(xí)目標(biāo)需要掌握的知識(shí),幫助學(xué)生更好地梳理整個(gè)課程的知識(shí)脈絡(luò)。

根據(jù)課程大綱進(jìn)行知識(shí)點(diǎn)的抽取主要是針對(duì)課程大綱中的文本關(guān)鍵詞進(jìn)行提取,通常采用jeba中文分詞工具進(jìn)行中文的分詞,并去除停用詞以及不相關(guān)的詞。本文以《C++》的課程大綱為例,對(duì)課程大綱中的學(xué)習(xí)目標(biāo)及每一章節(jié)做分詞處理。課程大綱中的部分章節(jié)做分詞處理前、后對(duì)比表見表2。

從表2可以看出,切分后的知識(shí)點(diǎn)與原本知識(shí)點(diǎn)產(chǎn)生了很大的誤差,比如知識(shí)點(diǎn)“構(gòu)造函數(shù)”,分詞后變成了“構(gòu)造”、“函數(shù)”;知識(shí)點(diǎn)“對(duì)象數(shù)組”,分詞后變成了“對(duì)象”、“數(shù)組”。造成這種現(xiàn)象的原因在于分詞工具只是對(duì)通用詞進(jìn)行處理,在傳統(tǒng)的分詞字典中并不包含這類專業(yè)詞語(yǔ)。所以對(duì)專業(yè)領(lǐng)域的數(shù)據(jù)處理,要有專業(yè)的語(yǔ)料。因此,對(duì)于C++課程知識(shí)點(diǎn)的提取,本文構(gòu)建了自定義分詞典,并在分詞工具和課程目錄的輔助下,對(duì)分詞后的知識(shí)點(diǎn)重新定義和補(bǔ)充。得到新的知識(shí)點(diǎn)集合見表3。

通過(guò)對(duì)比表2和表3可以看出,重新定義后的知識(shí)點(diǎn)詞典能夠準(zhǔn)確地切分出課程中的專業(yè)術(shù)語(yǔ),進(jìn)一步提高提取知識(shí)點(diǎn)的準(zhǔn)確性。本文對(duì)《C++》課程中的所有章節(jié)進(jìn)行相同的知識(shí)點(diǎn)提取及補(bǔ)充,共得到有效知識(shí)點(diǎn)的數(shù)量為316個(gè)。

2.4 關(guān)系抽取

2.4.1 知識(shí)點(diǎn)關(guān)系抽取

關(guān)系抽取的目的是為了獲取知識(shí)點(diǎn)間的關(guān)系,而采用分詞工具獲得知識(shí)點(diǎn)間的關(guān)系誤差較大,為了確保準(zhǔn)確性,需要手動(dòng)定義知識(shí)點(diǎn)間的關(guān)系,主要包括有:包含關(guān)系、屬于關(guān)系、進(jìn)階關(guān)系、基礎(chǔ)關(guān)系、并列關(guān)系以及同義關(guān)系。其中“包含”和“屬于”,“進(jìn)階”和“基礎(chǔ)”是一組相對(duì)關(guān)系,只要知道其中一種關(guān)系便可以推導(dǎo)出另外一種關(guān)系。對(duì)此擬做詳述如下。

(1)包含和屬于關(guān)系。包含和屬于這兩種關(guān)系用于描述知識(shí)點(diǎn)的從屬關(guān)系,表現(xiàn)為知識(shí)點(diǎn)間的層級(jí)性。課程中的粗粒度知識(shí)點(diǎn)可以拆分成更細(xì)粒度的知識(shí)點(diǎn),如知識(shí)點(diǎn)A包含知識(shí)點(diǎn)B,也就是說(shuō)知識(shí)點(diǎn)B是知識(shí)點(diǎn)A的進(jìn)一步細(xì)化,B表示更具體的知識(shí)。在《C++》課程中,以“參數(shù)傳遞”知識(shí)點(diǎn)為例:參數(shù)傳遞可以拆分成“傳值參數(shù)”和“傳引用參數(shù)”,用三元組的形式可以描述為<參數(shù)傳遞,包含,引用參數(shù)>,<引用參數(shù),屬于,參數(shù)傳遞>,如圖5所示。

(2)進(jìn)階和基礎(chǔ)關(guān)系。進(jìn)階和基礎(chǔ)這兩種關(guān)系用于描述知識(shí)點(diǎn)間的依賴關(guān)系,表現(xiàn)為知識(shí)點(diǎn)間的順序性。如知識(shí)點(diǎn)A是在知識(shí)點(diǎn)B已經(jīng)掌握的基礎(chǔ)上進(jìn)行學(xué)習(xí)的,則知識(shí)點(diǎn)A是知識(shí)點(diǎn)B的進(jìn)階知識(shí),基礎(chǔ)關(guān)系則相反,即知識(shí)點(diǎn)B是知識(shí)點(diǎn)A的基礎(chǔ)知識(shí)。這里以學(xué)習(xí)C++“語(yǔ)句”知識(shí)點(diǎn)為例:在掌握C++“語(yǔ)句”基礎(chǔ)上,才能學(xué)習(xí)“函數(shù)”這個(gè)知識(shí)點(diǎn),用三元組的形式可以描述為<語(yǔ)句,進(jìn)階,函數(shù)>,<函數(shù),基礎(chǔ),語(yǔ)句>,如圖6所示。

(3)并列關(guān)系。并列關(guān)系表示為課程中的知識(shí)點(diǎn)的學(xué)習(xí)不存在順序依賴性。如《C++》中的“控制邏輯運(yùn)算符”和“算術(shù)運(yùn)算符”知識(shí)點(diǎn),用三元組的形式可以描述為<邏輯運(yùn)算符,并列,算術(shù)運(yùn)算符>,如圖7所示。

(4)同義關(guān)系。同義關(guān)系表現(xiàn)為多個(gè)知識(shí)點(diǎn)都可以對(duì)同一個(gè)概念進(jìn)行描述。如知識(shí)點(diǎn)A可以對(duì)概念X描述,知識(shí)點(diǎn)B也可對(duì)概念X描述,則A和B具有同義關(guān)系。如對(duì)某個(gè)語(yǔ)句塊進(jìn)行“異常處理”,可以使用throw表達(dá)式,也可以使用try語(yǔ)句塊進(jìn)行處理。用三元組的形式可以描述為,如圖8所示。

經(jīng)過(guò)知識(shí)點(diǎn)關(guān)系抽取后,4種關(guān)系數(shù)量對(duì)應(yīng)見表4。

2.4.2 知識(shí)點(diǎn)層級(jí)和順序關(guān)系建模

為了統(tǒng)一描述,本研究從課程大綱中提取的實(shí)體統(tǒng)稱為知識(shí)點(diǎn),然而在實(shí)際的學(xué)習(xí)中,知識(shí)點(diǎn)的學(xué)習(xí)應(yīng)該由點(diǎn)到面,最終形成一個(gè)知識(shí)網(wǎng)絡(luò)。本文采用袁滿等人[15]提出的細(xì)粒度課程知識(shí)組織模型定義知識(shí)點(diǎn)的順序和層級(jí)關(guān)系,模型的定義如下。

定義1 知識(shí)點(diǎn)模型 該知識(shí)點(diǎn)不可分割成其它知識(shí)點(diǎn),即語(yǔ)義層級(jí)最低,用Kp(Knowledge point)表示。

定義2 知識(shí)鏈模型 用Kc(Knowledge Chain)表示,是知識(shí)點(diǎn)的上一層級(jí),知識(shí)鏈?zhǔn)侵R(shí)點(diǎn)之間按照不同的邏輯關(guān)系組成的鏈狀結(jié)構(gòu)。如式(1)所示:

其中,Kpi和Kpj表示不同的知識(shí)點(diǎn),R表示知識(shí)點(diǎn)間的關(guān)系,分別為順序關(guān)系和層級(jí)關(guān)系。

定義3 知識(shí)單元Ku[WT5HZ](Knowledge Unit) 表示知識(shí)鏈的上一層級(jí),知識(shí)單元是知識(shí)鏈組成。如式(2)所示:

定義4課程實(shí)體模型Kckem (Course Knowledge Entity Model,CKEM),表示知識(shí)單元的上一層級(jí),由不同的知識(shí)單元構(gòu)成。如式(3)所示:

本文將課程中的學(xué)習(xí)內(nèi)容按照“知識(shí)點(diǎn)—知識(shí)鏈—知識(shí)單元”的形式組成知識(shí)實(shí)體模型,如圖9所示。

2.5 知識(shí)圖譜的可視化

本文采用Neo4j圖數(shù)據(jù)庫(kù)進(jìn)行知識(shí)點(diǎn)的存儲(chǔ),不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)將數(shù)據(jù)存在庫(kù)表字段中,圖數(shù)據(jù)庫(kù)將數(shù)據(jù)和數(shù)據(jù)之間的關(guān)系存在節(jié)點(diǎn)和邊中,在圖數(shù)據(jù)庫(kù)中這被稱作“節(jié)點(diǎn)”和“關(guān)系”。任何一個(gè)關(guān)系包含一個(gè)開始節(jié)點(diǎn)、一個(gè)結(jié)束節(jié)點(diǎn)和一個(gè)由開始節(jié)點(diǎn)指向結(jié)束節(jié)點(diǎn)的邊組成,數(shù)據(jù)庫(kù)中所有節(jié)點(diǎn)通過(guò)各種關(guān)系聯(lián)系在一起。傳統(tǒng)數(shù)據(jù)庫(kù)的一些特性如增刪改查(CRUD)、處理事務(wù)的能力在圖數(shù)據(jù)庫(kù)中也都支持。Neo4j的圖模型如圖10所示。

圖10中的圓圈表示節(jié)點(diǎn),節(jié)點(diǎn)間的有向連接線表示節(jié)點(diǎn)間的關(guān)系。根據(jù)提取到的知識(shí)點(diǎn)及知識(shí)點(diǎn)間的關(guān)系,結(jié)合節(jié)點(diǎn)和關(guān)系的固有屬性便可以構(gòu)造知識(shí)圖譜,以三元組的形式<實(shí)體1,關(guān)系,實(shí)體2>存儲(chǔ)在圖數(shù)據(jù)庫(kù)Neo4j中。本文依據(jù)《C++》提取的知識(shí)點(diǎn)實(shí)體及其關(guān)系分別構(gòu)造實(shí)體文件和關(guān)系文件,見表5和表6。將實(shí)體文件和實(shí)體關(guān)系文件導(dǎo)入Neo4j數(shù)據(jù)庫(kù),最終C++課程知識(shí)圖譜可視化如圖11所示。

圖11展示了C++課程知識(shí)圖譜的局部知識(shí)點(diǎn)關(guān)系。圖11中的綠色節(jié)點(diǎn)表示C++課程名,紅色節(jié)點(diǎn)表示知識(shí)點(diǎn)單元,藍(lán)色節(jié)點(diǎn)表示知識(shí)鏈,黃色部分表示具體的知識(shí)點(diǎn)。

3 C++課程知識(shí)點(diǎn)的推理實(shí)驗(yàn)

知識(shí)點(diǎn)在知識(shí)圖譜中的快速檢索依賴于知識(shí)點(diǎn)間的錯(cuò)綜復(fù)雜的關(guān)系,本文在構(gòu)造《C++》課程知識(shí)圖譜時(shí)建模了4類關(guān)系,分別是:包含(include)和屬于、進(jìn)階(advance)和基礎(chǔ)、并列(prarllel)和同義(synonym)。針對(duì)4種關(guān)系的實(shí)驗(yàn)結(jié)果分述如下。

(1)包含和屬于關(guān)系。包含和屬于是一組相對(duì)關(guān)系,知道其中一個(gè)關(guān)系就可以推導(dǎo)出另外一個(gè)關(guān)系,在構(gòu)造知識(shí)圖譜時(shí)只需構(gòu)造其中一個(gè)關(guān)系即可。這類關(guān)系描述的是知識(shí)點(diǎn)的層級(jí)性。以知識(shí)點(diǎn)“表達(dá)式”為例,該知識(shí)點(diǎn)的包含和屬于關(guān)系實(shí)驗(yàn)結(jié)果如圖12所示。

圖12表明了知識(shí)點(diǎn)“表達(dá)式”既屬于 “C++11”, 同時(shí)又包含知識(shí)點(diǎn)集合{“位運(yùn)算符”,“算術(shù)運(yùn)算符”,……}等12個(gè)知識(shí)點(diǎn)。

(2)進(jìn)階和基礎(chǔ)關(guān)系。進(jìn)階和基礎(chǔ)也是一組相對(duì)關(guān)系,同理,在構(gòu)造知識(shí)圖譜時(shí)只需要構(gòu)造其中一個(gè)關(guān)系即可。這類關(guān)系描述的是知識(shí)點(diǎn)的順序性。以知識(shí)點(diǎn)“條件語(yǔ)句”為例,該知識(shí)點(diǎn)的進(jìn)階和基礎(chǔ)關(guān)系實(shí)驗(yàn)結(jié)果如圖13所示。

圖13表明了知識(shí)點(diǎn)“條件語(yǔ)句”的進(jìn)階知識(shí)點(diǎn)集合為{“迭代語(yǔ)句”,“跳轉(zhuǎn)語(yǔ)句”},基礎(chǔ)知識(shí)點(diǎn)集合為{“語(yǔ)句作用域”,“簡(jiǎn)單語(yǔ)句”}。需要注意的是,本文默認(rèn)的進(jìn)階和基礎(chǔ)知識(shí)點(diǎn)的輸出深度為2。

(3)并列關(guān)系。并列關(guān)系描述的是知識(shí)點(diǎn)的學(xué)習(xí)既不存在順序關(guān)系、也不存在層級(jí)關(guān)系,如知識(shí)點(diǎn)“break語(yǔ)句”、“continue語(yǔ)句”和“goto語(yǔ)句”,這3類知識(shí)點(diǎn)都表示語(yǔ)句的跳轉(zhuǎn),而“break語(yǔ)句”強(qiáng)調(diào)的是跳出剩余的循環(huán)、“continue語(yǔ)句”強(qiáng)調(diào)跳出當(dāng)前循環(huán);“goto語(yǔ)句”則強(qiáng)調(diào)跳入指定的語(yǔ)句內(nèi)執(zhí)行。并列關(guān)系實(shí)驗(yàn)結(jié)果如圖14所示。

(4)同義關(guān)系。同義關(guān)系描述的是不同的知識(shí)點(diǎn)可以對(duì)同一個(gè)概念進(jìn)行解釋,如知識(shí)點(diǎn)“if語(yǔ)句”和“switch語(yǔ)句”,這2個(gè)知識(shí)點(diǎn)都可以對(duì)語(yǔ)句的執(zhí)行進(jìn)行條件判斷。同義關(guān)系實(shí)驗(yàn)結(jié)果如圖15所示。

4 結(jié)束語(yǔ)

本文詳細(xì)介紹了C++課程領(lǐng)域知識(shí)圖譜的構(gòu)建過(guò)程,主要包括本體數(shù)據(jù)模型搭建、知識(shí)點(diǎn)獲取、關(guān)系抽取和知識(shí)圖譜可視化四個(gè)部分。首先分析了課程大綱中對(duì)知識(shí)點(diǎn)內(nèi)容的概括,使用jieba分詞工具和人工輔助的方式從數(shù)據(jù)集中獲取知識(shí)實(shí)體,然后根據(jù)人工構(gòu)建的關(guān)系詞典抽取了實(shí)體間的關(guān)系,最后用Neo4j圖數(shù)據(jù)庫(kù)將獲取的實(shí)體信息以及關(guān)系信息進(jìn)行知識(shí)存儲(chǔ)并可視化。雖然構(gòu)造好的知識(shí)圖譜可以根據(jù)具體學(xué)習(xí)場(chǎng)景完成知識(shí)點(diǎn)的推理,但是構(gòu)造知識(shí)圖譜的過(guò)程中需要專業(yè)教師的干預(yù),降低了構(gòu)建過(guò)程的智能化。下一步將重點(diǎn)研究在不影響推理準(zhǔn)確率的基礎(chǔ)上,提高知識(shí)圖譜的構(gòu)造流程智能化。

參考文獻(xiàn)

[1]阮彤,孫程琳,王昊奮,等. 中醫(yī)藥知識(shí)圖譜構(gòu)建與應(yīng)用[J]. 醫(yī)學(xué)信息學(xué)雜志,2016,37(4):8-13.

[2]董小倩,張小花. 傳統(tǒng)課堂與智慧課堂教學(xué)對(duì)比研究[J]. 現(xiàn)代交際,2019(2):12-13.

[3]孫涵,齊悅. 知識(shí)圖譜在老年教育中的應(yīng)用[J]. 電子技術(shù)與軟件工程,2020(19):186-188.

[4] 吉婷婷. 我國(guó)地理學(xué)科核心素養(yǎng)研究的格局演進(jìn)—基于關(guān)鍵詞的知識(shí)圖譜分析[J]. 地理教學(xué),2020(17):4-9,61.

[5]王蘭成. 多學(xué)科視域網(wǎng)絡(luò)輿情知識(shí)圖譜研究的現(xiàn)狀和展望[J]. 情報(bào)學(xué)報(bào),2020,39(10):1104-1113.

[6]張春霞,彭成,羅妹秋,等. 數(shù)學(xué)課程知識(shí)圖譜構(gòu)建及其推理[J]. 計(jì)算機(jī)科學(xué),2020,47(S2):573-578.

[7] 覃曉,廖兆琪,施宇,等. 知識(shí)圖譜技術(shù)進(jìn)展及展望[J]. 廣西科學(xué)院學(xué)報(bào),2020,36(3):242-251.

[8]HE X, LIAO L, ZHANG H, et al. Neural collaborative filtering[C]// Proceedings of the 26th International Conference on World Wide Web. Perty,Australia:ACM, 2017:173-182.

[9]姚萍,李坤偉,張一帆. 知識(shí)圖譜構(gòu)建技術(shù)綜述[J]. 信息系統(tǒng)工程,2020(5):121,123.

[10]曹皓偉,徐建良,竇方坤. 基于Neo4j生物醫(yī)藥知識(shí)圖譜的構(gòu)建[J]. 計(jì)算機(jī)時(shí)代,2020(6):35-38.

[11]王毅,沈喆,姚毅凡,等. 領(lǐng)域事件圖譜構(gòu)建方法綜述[J]. 數(shù)據(jù)分析與知識(shí)發(fā)現(xiàn),2020,4(10):1-13.

[12]CAO Yixin, WANG Xiang, HE X, et al. Unifying knowledge graph learning and recommendation: towards a better understanding of user preferences[C]// Proceedings of the International Conference on World Wide Web. SAN FRANCISCO CA USA:ACM, 2019:151-161.

[13]劉嶠,李楊,楊段宏,等. 知識(shí)圖譜構(gòu)建技術(shù)綜述[J]. 計(jì)算機(jī)研究與發(fā)展,2016,53(3):582-600.

[14]李光明. 初中化學(xué)學(xué)科知識(shí)圖譜的構(gòu)建與可視化查詢系統(tǒng)的實(shí)現(xiàn)[D]. 上海:上海師范大學(xué),2020.

[15]袁滿,仇婷婷,胡超. 細(xì)粒度課程知識(shí)元組織模型及知識(shí)圖譜實(shí)現(xiàn)[J]. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2019,37(5):526-532.

基金項(xiàng)目: 國(guó)家重點(diǎn)研發(fā)計(jì)劃資助(2019YFB1802700); 上海工程技術(shù)大學(xué)研究生創(chuàng)新計(jì)劃資助項(xiàng)目(19KY0232)。

作者簡(jiǎn)介: 郎亞坤(1994-),男,碩士研究生,主要研究方向:推薦系統(tǒng)、智能教育;蘇 超(1993-),男,碩士研究生,主要研究方向:圖像處理、智能教育;王國(guó)中(1962-),男,博士,教授,博士生導(dǎo)師,主要研究方向:數(shù)字音視頻信息處理、智能信息處理、智慧教育等;李國(guó)平(1974-),男,博士,高級(jí)工程師,主要研究方向:音視頻編碼、智能媒體處理、機(jī)器學(xué)習(xí)與識(shí)別等。

通訊作者: 王國(guó)中Email:wanggz@sues.edu.cn

收稿日期: 2020-12-20

猜你喜歡
知識(shí)圖譜
國(guó)內(nèi)外智庫(kù)研究態(tài)勢(shì)知識(shí)圖譜對(duì)比分析
國(guó)內(nèi)信息素養(yǎng)研究的知識(shí)圖譜分析
國(guó)內(nèi)圖書館嵌入式服務(wù)研究主題分析
國(guó)內(nèi)外政府信息公開研究的脈絡(luò)、流派與趨勢(shì)
近十五年我國(guó)小學(xué)英語(yǔ)教學(xué)研究的熱點(diǎn)、問(wèn)題及對(duì)策
基于知識(shí)圖譜的產(chǎn)業(yè)集群創(chuàng)新績(jī)效可視化分析
基于知識(shí)圖譜的智慧教育研究熱點(diǎn)與趨勢(shì)分析
國(guó)內(nèi)酒店品牌管理研究進(jìn)展的可視化分析
從《ET&S》與《電化教育研究》對(duì)比分析中管窺教育技術(shù)發(fā)展
專家知識(shí)圖譜構(gòu)建研究
东丰县| 滦南县| 大同县| 义乌市| 阿巴嘎旗| 佛坪县| 平舆县| 类乌齐县| 桐柏县| 罗山县| 苗栗县| 蕉岭县| 牟定县| 共和县| 阿尔山市| 嘉义市| 广宗县| 兰西县| 都昌县| 清水河县| 博客| 庄浪县| 黄骅市| 白水县| 健康| 中方县| 余姚市| 黔西| 古丈县| 和林格尔县| 绥棱县| 资中县| 彰化市| 黎川县| 富宁县| 五寨县| 上饶市| 阜南县| 新兴县| 康定县| 贺兰县|