朱鵬 王俊 周菊香
摘 要:針對(duì)目前基于概念相似度聚類的課程概念本體關(guān)系構(gòu)建技術(shù)中層次關(guān)系劃分精確度不足的問(wèn)題,提出基于課程概念相似度與細(xì)化度的課程概念本體構(gòu)建方法。在計(jì)算課程概念相似度的基礎(chǔ)上,引入課程概念細(xì)化度指標(biāo),進(jìn)一步提升了課程概念本體層次關(guān)系構(gòu)建的準(zhǔn)確性,提高了課程知識(shí)圖譜的數(shù)據(jù)質(zhì)量。最后通過(guò)課程知識(shí)導(dǎo)航服務(wù)平臺(tái),驗(yàn)證了該方法的有效性。
關(guān)鍵詞:課程知識(shí)圖譜;細(xì)化度;相似度
DOI:10. 11907/rjdk. 191633
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2019)005-0069-04
Abstract:In view of the insufficiency of hierarchical relationship classification in the construction of ontology relationship based on conceptual similarity clustering, this paper proposes a method of constructing curriculum concept ontology based on the similarity and refinement of curriculum concept. On the basis of the similarity of the curriculum concept, the comparison of the refinement degree of the curriculum concept is introduced, which further improves the accuracy of the construction of the ontology level relationship of the curriculum concept and improves the data quality of the curriculum knowledge graph. Finally, the effectiveness of the method is verified by the course knowledge navigation service platform.
Key Words: course knowledge graph; refinement degree; similarity
0 引言
構(gòu)建課程知識(shí)圖譜需要借助課程本體[1],以形式化方式對(duì)課程知識(shí)圖譜中的知識(shí)、概念及關(guān)系進(jìn)行明確定義,規(guī)范課程知識(shí)庫(kù)中的一系列事實(shí)表達(dá),使得知識(shí)庫(kù)中的知識(shí)結(jié)構(gòu)性強(qiáng)、冗余度小。因此,構(gòu)建課程知識(shí)圖譜的主要工作即是課程概念層次關(guān)系構(gòu)建。傳統(tǒng)人工構(gòu)建課程本體的方法,基本都是基于具體課程教材組織結(jié)構(gòu)建立的。該方法雖然有一定的教學(xué)原理依據(jù),但課程本體構(gòu)建結(jié)果最終還是由人的主觀經(jīng)驗(yàn)決定的,而且參與本體構(gòu)建的人員需要對(duì)該課程領(lǐng)域知識(shí)有比較全面的了解與掌握,一般是領(lǐng)域?qū)<一蛸Y深學(xué)科教師,人力成本投入較高。目前,在領(lǐng)域本體的自動(dòng)/半自動(dòng)化構(gòu)建方面,大多應(yīng)用層次聚類方法進(jìn)行領(lǐng)域本體層次關(guān)系獲取[2]?;谀鄣膶哟尉垲惙椒╗3]應(yīng)用自底向上策略,先將所有對(duì)象各自作為一個(gè)單獨(dú)類簇,再將這些類簇合并為更大的類簇,直至全部對(duì)象聚成一個(gè)類簇或達(dá)到某個(gè)終止條件,分裂的層次聚類則恰好相反[4]。雖然層次聚類算法是眾多聚類算法中常見且有效的聚類算法,但其主要基于概念間相似度的層次劃分策略,在具體操作上仍有所不足,不能科學(xué)、有效地對(duì)兩個(gè)相似概念作進(jìn)一步層次劃分。本文在計(jì)算課程概念相似度的基礎(chǔ)上,引入課程知識(shí)概念的細(xì)化度評(píng)價(jià)指標(biāo)。采用開源詞向量構(gòu)建工具Word2vec為課程中概論詞匯構(gòu)建數(shù)值化空間向量模型,通過(guò)計(jì)算向量空間中向量之間夾角的余弦值度量相應(yīng)課程概念之間的相似性,然后對(duì)相似度較高的概念進(jìn)行細(xì)化度計(jì)算,通過(guò)比較細(xì)化度進(jìn)一步區(qū)分課程概念間的層次關(guān)系。
1 課程概念向量化
計(jì)算機(jī)能夠處理的只有數(shù)值型數(shù)據(jù),無(wú)論是音頻、圖像或文本,都要完成數(shù)值轉(zhuǎn)換。在自然語(yǔ)言處理方面,詞分布式表示的實(shí)現(xiàn)方法有很多。Mikolov等[5-6]提出基于CBOW與Skip-gram的神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型,并采用詞向量工具Word2vec進(jìn)行實(shí)現(xiàn)。Word2vec是一個(gè)開源工具,其利用大規(guī)模語(yǔ)料庫(kù)進(jìn)行訓(xùn)練,可以將單個(gè)概念表示成包含豐富語(yǔ)義信息的多維實(shí)數(shù)向量。CBOW通過(guò)上下文信息預(yù)測(cè)當(dāng)前位置詞語(yǔ)出現(xiàn)的概率,Skip-gram則相反,其通過(guò)當(dāng)前位置的詞語(yǔ)預(yù)測(cè)上下文信息。Word2vec應(yīng)用上述兩種神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型在大規(guī)模語(yǔ)料庫(kù)上進(jìn)行訓(xùn)練,可獲得最終詞向量模型。其中CBOW的訓(xùn)練速度比Skip-gram快,但Skip-gram在低頻詞訓(xùn)練方面效果更好。
因?yàn)镾kip-gram實(shí)際上是一種詞袋模型,其訓(xùn)練目的是找到有利于預(yù)測(cè)上下文概念的詞表示。本文利用Skip-gram模型將需要量化的概念詞匯映射到一個(gè)多維向量空間中,每個(gè)概念向量也即反映出上下文概念詞匯的加權(quán)值,獲得的課程概念表示向量可以有效揭示課程概念之間的語(yǔ)義關(guān)系,如概念與概念之間的邏輯關(guān)系及上下文概念之間的相關(guān)性等[7]。特別地,課程概念的表示向量能較好地刻畫概念詞匯之間的語(yǔ)義相似度。目前,類似詞向量表示方法已廣泛應(yīng)用于自然語(yǔ)言處理任務(wù)中,如情感分析[8]、實(shí)體語(yǔ)義關(guān)系抽取[9]等,并取得了一定效果。
其中[Rc]為課程概念集中元素c的細(xì)化度,[n(c)]表示基于[P(c1c2)0.8]公式得到的課程概念c與概念集中任一概念共現(xiàn)的概率。當(dāng)課程概念c與課程概念集中任一課程概念滿足該條件,則可將[n(c)]加1,N為課程概念集中所有課程概念的個(gè)數(shù)。通過(guò)公式(5)的計(jì)算,可得到課程概念c的概念細(xì)化度,如算法1所示。
算法1 課程概念細(xì)化度計(jì)算
輸入:課程概念集
輸出:課程概念相似度SIM與細(xì)化度REFINI
Step1. 讀取課程概念集T
Step2. 遍歷課程概念集T
Step3. 獲取Ti、Ti+1在同一個(gè)課程語(yǔ)料中的數(shù)量
Step4. 獲取Ti、Ti+1分別在所有課程語(yǔ)料中的數(shù)量
Step5. 如果[P(TiTi+1)0.8],則[r[Ti]]值加1
Step6. 循環(huán)遍歷其它概念在文檔中出現(xiàn)時(shí),Ti存在的概率
Step7. 如果[P(TiTi+1)0.8],則[count[Ti]]值加1
Step8. 遍歷每個(gè)概念對(duì)應(yīng)的細(xì)化值count
Step9. 依次計(jì)算[r[t]=count[t]/n],得到概念細(xì)化度
在計(jì)算得到兩個(gè)具備一定相似度水平的課程概念組合后,再加入細(xì)化度作為輔助參考,即可在一定的可量化水平上,獲取兩個(gè)課程概念的同級(jí)或上下位層級(jí)關(guān)系。具體操作方式為:在一個(gè)相似度水平基礎(chǔ)上得到課程概念的兩兩組合,分別對(duì)其組合中的概念詞組進(jìn)行細(xì)化度比較,取一個(gè)細(xì)化度控制閾值,若兩個(gè)課程概念之間細(xì)化度的差值大于閾值,則可判定兩個(gè)課程概念具備上下位關(guān)系特征,且細(xì)化度大的為下位概念,反之為同級(jí)關(guān)系。所以通過(guò)計(jì)算某課程概念的細(xì)化度水平,即可量化該課程概念在整個(gè)課程知識(shí)領(lǐng)域的層次關(guān)系。
3 實(shí)驗(yàn)結(jié)果
首先利用TF-IDF與MI相結(jié)合的統(tǒng)計(jì)方法,從C語(yǔ)言課程語(yǔ)料庫(kù)中提取出C語(yǔ)言課程核心概念詞匯(見表1),應(yīng)用word2vec工具為其建立詞空間向量模型,并通過(guò)相似度與細(xì)化度計(jì)算,在概念候選詞匯間建立層次關(guān)系。
4 知識(shí)導(dǎo)航應(yīng)用實(shí)現(xiàn)
本研究采用跨平臺(tái)的Web技術(shù),設(shè)計(jì)并開發(fā)了大學(xué)計(jì)算機(jī)編程課程知識(shí)圖譜學(xué)習(xí)平臺(tái)。該系統(tǒng)平臺(tái)由用戶表示層、業(yè)務(wù)邏輯層與數(shù)據(jù)層3部分組成,如圖4所示。其中,用戶表示層基于Bootstrap前端開發(fā)框架對(duì)Web應(yīng)用頁(yè)面進(jìn)行設(shè)計(jì)開發(fā),采用百度開源工具包ECharts對(duì)課程知識(shí)圖譜進(jìn)行可視化渲染;業(yè)務(wù)邏輯層通過(guò)Python腳本程序處理用戶請(qǐng)求,并與服務(wù)器進(jìn)行通訊;數(shù)據(jù)訪問(wèn)層設(shè)計(jì)過(guò)程中使用了Apache-Jen套件的Fuseki和TDB組件。服務(wù)器模塊Fuseki負(fù)責(zé)與業(yè)務(wù)層的Python應(yīng)用進(jìn)行通信,TDB可實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)與訪問(wèn)。Jena提供了RDFS、OWL與通用規(guī)則推理機(jī)。Fuseki是Jena提供的SPARQL服務(wù)器,也即SPARQL endpoint,其作為一個(gè)Web應(yīng)用運(yùn)行,為業(yè)務(wù)邏輯層的查詢業(yè)務(wù)提供服務(wù)。
對(duì)知識(shí)圖譜而言,本文搜索對(duì)象是一個(gè)實(shí)在的事物(Things),而不是單純的字符串(String)。與提供傳統(tǒng)知識(shí)導(dǎo)航而不存儲(chǔ)知識(shí)的知識(shí)地圖相比,課程知識(shí)圖譜中存儲(chǔ)的都是課程知識(shí)實(shí)例實(shí)體與實(shí)體間關(guān)系的數(shù)據(jù)。課程知識(shí)圖譜中的課程本體與知識(shí)實(shí)例之間的關(guān)系網(wǎng)對(duì)應(yīng)傳統(tǒng)知識(shí)導(dǎo)航中的知識(shí)地圖,而知識(shí)導(dǎo)航結(jié)果則是從自身數(shù)據(jù)庫(kù)中查找到對(duì)應(yīng)知識(shí)實(shí)例,根據(jù)相關(guān)知識(shí)實(shí)例與實(shí)體之間的關(guān)系重組形成的結(jié)構(gòu)化圖譜。基于大學(xué)計(jì)算機(jī)編程課程知識(shí)圖譜導(dǎo)航服務(wù)的架構(gòu)遵從經(jīng)典MVC模式,模型層數(shù)據(jù)存儲(chǔ)使用Jena實(shí)現(xiàn),控制器則采用Python實(shí)現(xiàn)對(duì)業(yè)務(wù)邏輯的處理,在視圖層中ECharts負(fù)責(zé)創(chuàng)建可視化圖譜結(jié)構(gòu)的知識(shí)導(dǎo)航界面。當(dāng)用戶點(diǎn)擊某個(gè)知識(shí)點(diǎn)后,與其相關(guān)的知識(shí)將會(huì)被列出,此時(shí)用戶可以從這些知識(shí)中找出自己所需的知識(shí),并通過(guò)點(diǎn)擊相關(guān)鏈接獲取更加詳細(xì)的資源,如圖5所示。
以C語(yǔ)言課程知識(shí)圖譜作為課程知識(shí)導(dǎo)航的知識(shí)內(nèi)容組織模型,將知識(shí)點(diǎn)之間隱含的抽象聯(lián)系以可視化圖譜形式呈現(xiàn)給學(xué)生。直觀的圖譜呈現(xiàn)形式,可將學(xué)生對(duì)C語(yǔ)言課程內(nèi)容中知識(shí)點(diǎn)之間抽象關(guān)系的理解及再記憶,轉(zhuǎn)變?yōu)橹庇^、形象的圖式記憶,從而減少了學(xué)生在完成同等學(xué)習(xí)任務(wù)時(shí)耗費(fèi)的腦力與時(shí)間成本,極大地提升了學(xué)習(xí)效率。
5 結(jié)語(yǔ)
本文應(yīng)用課程概念相似度與細(xì)化度相結(jié)合的評(píng)價(jià)機(jī)制,在課程概念相似度基礎(chǔ)上,對(duì)不同課程概念細(xì)化值進(jìn)行分析比較,從而有效提升了課程概念層次關(guān)系劃分的準(zhǔn)確性,并在一定程度上降低了課程知識(shí)圖譜構(gòu)建成本。該方法在提高課程知識(shí)圖譜構(gòu)建效率的同時(shí),也保障了構(gòu)建的課程知識(shí)圖譜質(zhì)量。通過(guò)搭建基于課程知識(shí)圖譜的知識(shí)導(dǎo)航應(yīng)用,驗(yàn)證了該研究成果的實(shí)用性。后續(xù)將研究如何提升課程知識(shí)圖譜構(gòu)建效率及數(shù)據(jù)質(zhì)量等,以及進(jìn)一步探索課程知識(shí)圖譜的應(yīng)用場(chǎng)景與應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 鄧志鴻,唐世渭,張銘,等. Ontology研究綜述[J]. 北京大學(xué)學(xué)報(bào):自然科學(xué)版,2002(5):730-738.
[2] 任飛亮,沈繼坤,孫賓賓,等. 從文本中構(gòu)建領(lǐng)域本體技術(shù)綜述[J]. 計(jì)算機(jī)學(xué)報(bào),2019,42(3):654-676.
[3] 陶洋,鄧行,楊飛躍,等. 基于DTW距離度量的層次聚類算法[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2019,40(1):116-121.
[4] 陳韜偉,金煒東,李杰. 基于灰關(guān)聯(lián)測(cè)度的分裂式層次聚類算法[J]. 西南交通大學(xué)學(xué)報(bào),2010,45(2): 296-301.
[5] MIKOLOV T,CHEN K,CORRADO G,et al. Efficient estimation of word representations in vector space[J]. arXiv preprint arXiv:1301.3781, 2013.
[6] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality [J]. Advances in Neural Information Processing Systems, 2013, 26:3111-3119.
[7] 喻靖民,向凌云,曾道建.基于Word2vec的自然語(yǔ)言隱寫分析方法[J].計(jì)算機(jī)工程,2019,45(3):309-314.
[8] 梁軍,柴玉梅,原慧斌,等. 基于深度學(xué)習(xí)的微博情感分析[J]. 中文信息學(xué)報(bào),2014,28(5):155-161.
[9] 孫紫陽(yáng),顧君忠,楊靜. 基于深度學(xué)習(xí)的中文實(shí)體關(guān)系抽取方法[J]. 計(jì)算機(jī)工程,2018,44(9):164-170.
[10] RUMELHART D E, HINTON G E, WILLIAMS R J, et al. Learning representations by back-propagating errors[J]. Cognitive modeling, 1988,5(3):1.
[11] 唐共波,于東,荀恩東. 基于知網(wǎng)義原詞向量表示的無(wú)監(jiān)督詞義消歧方法[J]. 中文信息學(xué)報(bào),2015,29(6):23-29.
[12] 郭瑞. 基于純文本的領(lǐng)域本體構(gòu)建與實(shí)現(xiàn)[D]. 石家莊:河北科技大學(xué), 2016.
(責(zé)任編輯:黃 ?。?/p>