999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2021-12-07 12:50:51郎亞坤蘇超王國中李國平

郎亞坤 蘇超 王國中 李國平

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

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

文章編號: 2095-2163(2021)07-0144-08中圖分類號: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 引 言

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

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

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

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

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

1.1 知識圖譜的定義

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

1.2 知識圖譜的分類

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

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

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

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

2.1 方法概述

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

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

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

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

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

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

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

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

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

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

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

2.4 關(guān)系抽取

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.5 知識圖譜的可視化

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

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

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

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

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

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

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

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

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

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

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

4 結(jié)束語

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

參考文獻(xiàn)

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

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

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

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

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

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

[7] 覃曉,廖兆琪,施宇,等. 知識圖譜技術(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]姚萍,李坤偉,張一帆. 知識圖譜構(gòu)建技術(shù)綜述[J]. 信息系統(tǒng)工程,2020(5):121,123.

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

[11]王毅,沈喆,姚毅凡,等. 領(lǐng)域事件圖譜構(gòu)建方法綜述[J]. 數(shù)據(jù)分析與知識發(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]劉嶠,李楊,楊段宏,等. 知識圖譜構(gòu)建技術(shù)綜述[J]. 計(jì)算機(jī)研究與發(fā)展,2016,53(3):582-600.

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

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

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

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

通訊作者: 王國中Email:wanggz@sues.edu.cn

收稿日期: 2020-12-20

主站蜘蛛池模板: 亚洲天堂成人| 夜精品a一区二区三区| 在线无码九区| 欧美三級片黃色三級片黃色1| 日韩午夜伦| 99热在线只有精品| 国产精品毛片在线直播完整版| 色综合久久88色综合天天提莫| 在线观看91精品国产剧情免费| 亚洲无码视频图片| 欧美不卡视频在线观看| 欧美在线视频a| 国产视频资源在线观看| 欧美日一级片| 真实国产乱子伦视频| 在线看片中文字幕| 亚洲第一色视频| 欧美激情福利| 日韩国产 在线| 精品无码一区二区三区电影| 免费一级毛片完整版在线看| 国产SUV精品一区二区| 狠狠色噜噜狠狠狠狠色综合久| 伊人久久大香线蕉aⅴ色| 无码精油按摩潮喷在线播放| 亚洲一区精品视频在线| 亚洲AV无码一区二区三区牲色| 欧美一区二区丝袜高跟鞋| 五月天久久综合| 国产精品大白天新婚身材| 欧美19综合中文字幕| 久久窝窝国产精品午夜看片| 青草视频在线观看国产| 伊人久久大香线蕉成人综合网| 青青操视频在线| 人人91人人澡人人妻人人爽| 美女被躁出白浆视频播放| 一本色道久久88| 好紧太爽了视频免费无码| 五月激情婷婷综合| 日韩在线2020专区| 色悠久久久久久久综合网伊人| a级毛片一区二区免费视频| 免费黄色国产视频| 国产幂在线无码精品| 久久综合丝袜日本网| 国产熟睡乱子伦视频网站 | 毛片在线区| 日本手机在线视频| 国产微拍精品| 天天爽免费视频| 国产99视频精品免费视频7| 一区二区三区精品视频在线观看| 亚洲伊人久久精品影院| 久久精品视频一| 欧美激情一区二区三区成人| 欧美激情综合一区二区| 欧美色视频在线| 成人在线第一页| 国产精品伦视频观看免费| 亚洲欧美不卡中文字幕| 日韩国产综合精选| 日韩在线观看网站| 一本视频精品中文字幕| 免费一级全黄少妇性色生活片| 国产亚洲精品在天天在线麻豆 | 久久免费视频播放| 强奷白丝美女在线观看| 四虎永久免费地址在线网站| 国产乱论视频| 国产综合网站| 日本免费一区视频| 无码'专区第一页| 亚洲天堂啪啪| 国产99视频免费精品是看6| 欧美日韩专区| 99热国产在线精品99| 国产又大又粗又猛又爽的视频| 亚洲系列无码专区偷窥无码| 亚洲成人在线免费观看| 精品福利国产| 国产69精品久久久久妇女|