朱鵬 王俊 周菊香


摘 要:針對目前基于概念相似度聚類的課程概念本體關系構建技術中層次關系劃分精確度不足的問題,提出基于課程概念相似度與細化度的課程概念本體構建方法。在計算課程概念相似度的基礎上,引入課程概念細化度指標,進一步提升了課程概念本體層次關系構建的準確性,提高了課程知識圖譜的數據質量。最后通過課程知識導航服務平臺,驗證了該方法的有效性。
關鍵詞:課程知識圖譜;細化度;相似度
DOI:10. 11907/rjdk. 191633
中圖分類號:TP301 文獻標識碼:A 文章編號: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 引言
構建課程知識圖譜需要借助課程本體[1],以形式化方式對課程知識圖譜中的知識、概念及關系進行明確定義,規范課程知識庫中的一系列事實表達,使得知識庫中的知識結構性強、冗余度小。因此,構建課程知識圖譜的主要工作即是課程概念層次關系構建。傳統人工構建課程本體的方法,基本都是基于具體課程教材組織結構建立的。該方法雖然有一定的教學原理依據,但課程本體構建結果最終還是由人的主觀經驗決定的,而且參與本體構建的人員需要對該課程領域知識有比較全面的了解與掌握,一般是領域專家或資深學科教師,人力成本投入較高。目前,在領域本體的自動/半自動化構建方面,大多應用層次聚類方法進行領域本體層次關系獲取[2]?;谀鄣膶哟尉垲惙椒╗3]應用自底向上策略,先將所有對象各自作為一個單獨類簇,再將這些類簇合并為更大的類簇,直至全部對象聚成一個類簇或達到某個終止條件,分裂的層次聚類則恰好相反[4]。雖然層次聚類算法是眾多聚類算法中常見且有效的聚類算法,但其主要基于概念間相似度的層次劃分策略,在具體操作上仍有所不足,不能科學、有效地對兩個相似概念作進一步層次劃分。本文在計算課程概念相似度的基礎上,引入課程知識概念的細化度評價指標。采用開源詞向量構建工具Word2vec為課程中概論詞匯構建數值化空間向量模型,通過計算向量空間中向量之間夾角的余弦值度量相應課程概念之間的相似性,然后對相似度較高的概念進行細化度計算,通過比較細化度進一步區分課程概念間的層次關系。
1 課程概念向量化
計算機能夠處理的只有數值型數據,無論是音頻、圖像或文本,都要完成數值轉換。在自然語言處理方面,詞分布式表示的實現方法有很多。Mikolov等[5-6]提出基于CBOW與Skip-gram的神經網絡語言模型,并采用詞向量工具Word2vec進行實現。Word2vec是一個開源工具,其利用大規模語料庫進行訓練,可以將單個概念表示成包含豐富語義信息的多維實數向量。CBOW通過上下文信息預測當前位置詞語出現的概率,Skip-gram則相反,其通過當前位置的詞語預測上下文信息。Word2vec應用上述兩種神經網絡語言模型在大規模語料庫上進行訓練,可獲得最終詞向量模型。其中CBOW的訓練速度比Skip-gram快,但Skip-gram在低頻詞訓練方面效果更好。
因為Skip-gram實際上是一種詞袋模型,其訓練目的是找到有利于預測上下文概念的詞表示。本文利用Skip-gram模型將需要量化的概念詞匯映射到一個多維向量空間中,每個概念向量也即反映出上下文概念詞匯的加權值,獲得的課程概念表示向量可以有效揭示課程概念之間的語義關系,如概念與概念之間的邏輯關系及上下文概念之間的相關性等[7]。特別地,課程概念的表示向量能較好地刻畫概念詞匯之間的語義相似度。目前,類似詞向量表示方法已廣泛應用于自然語言處理任務中,如情感分析[8]、實體語義關系抽取[9]等,并取得了一定效果。
其中[Rc]為課程概念集中元素c的細化度,[n(c)]表示基于[P(c1c2)0.8]公式得到的課程概念c與概念集中任一概念共現的概率。當課程概念c與課程概念集中任一課程概念滿足該條件,則可將[n(c)]加1,N為課程概念集中所有課程概念的個數。通過公式(5)的計算,可得到課程概念c的概念細化度,如算法1所示。
算法1 課程概念細化度計算
輸入:課程概念集
輸出:課程概念相似度SIM與細化度REFINI
Step1. 讀取課程概念集T
Step2. 遍歷課程概念集T
Step3. 獲取Ti、Ti+1在同一個課程語料中的數量
Step4. 獲取Ti、Ti+1分別在所有課程語料中的數量
Step5. 如果[P(TiTi+1)0.8],則[r[Ti]]值加1
Step6. 循環遍歷其它概念在文檔中出現時,Ti存在的概率
Step7. 如果[P(TiTi+1)0.8],則[count[Ti]]值加1
Step8. 遍歷每個概念對應的細化值count
Step9. 依次計算[r[t]=count[t]/n],得到概念細化度
在計算得到兩個具備一定相似度水平的課程概念組合后,再加入細化度作為輔助參考,即可在一定的可量化水平上,獲取兩個課程概念的同級或上下位層級關系。具體操作方式為:在一個相似度水平基礎上得到課程概念的兩兩組合,分別對其組合中的概念詞組進行細化度比較,取一個細化度控制閾值,若兩個課程概念之間細化度的差值大于閾值,則可判定兩個課程概念具備上下位關系特征,且細化度大的為下位概念,反之為同級關系。所以通過計算某課程概念的細化度水平,即可量化該課程概念在整個課程知識領域的層次關系。
3 實驗結果
首先利用TF-IDF與MI相結合的統計方法,從C語言課程語料庫中提取出C語言課程核心概念詞匯(見表1),應用word2vec工具為其建立詞空間向量模型,并通過相似度與細化度計算,在概念候選詞匯間建立層次關系。
4 知識導航應用實現
本研究采用跨平臺的Web技術,設計并開發了大學計算機編程課程知識圖譜學習平臺。該系統平臺由用戶表示層、業務邏輯層與數據層3部分組成,如圖4所示。其中,用戶表示層基于Bootstrap前端開發框架對Web應用頁面進行設計開發,采用百度開源工具包ECharts對課程知識圖譜進行可視化渲染;業務邏輯層通過Python腳本程序處理用戶請求,并與服務器進行通訊;數據訪問層設計過程中使用了Apache-Jen套件的Fuseki和TDB組件。服務器模塊Fuseki負責與業務層的Python應用進行通信,TDB可實現數據存儲與訪問。Jena提供了RDFS、OWL與通用規則推理機。Fuseki是Jena提供的SPARQL服務器,也即SPARQL endpoint,其作為一個Web應用運行,為業務邏輯層的查詢業務提供服務。
對知識圖譜而言,本文搜索對象是一個實在的事物(Things),而不是單純的字符串(String)。與提供傳統知識導航而不存儲知識的知識地圖相比,課程知識圖譜中存儲的都是課程知識實例實體與實體間關系的數據。課程知識圖譜中的課程本體與知識實例之間的關系網對應傳統知識導航中的知識地圖,而知識導航結果則是從自身數據庫中查找到對應知識實例,根據相關知識實例與實體之間的關系重組形成的結構化圖譜。基于大學計算機編程課程知識圖譜導航服務的架構遵從經典MVC模式,模型層數據存儲使用Jena實現,控制器則采用Python實現對業務邏輯的處理,在視圖層中ECharts負責創建可視化圖譜結構的知識導航界面。當用戶點擊某個知識點后,與其相關的知識將會被列出,此時用戶可以從這些知識中找出自己所需的知識,并通過點擊相關鏈接獲取更加詳細的資源,如圖5所示。
以C語言課程知識圖譜作為課程知識導航的知識內容組織模型,將知識點之間隱含的抽象聯系以可視化圖譜形式呈現給學生。直觀的圖譜呈現形式,可將學生對C語言課程內容中知識點之間抽象關系的理解及再記憶,轉變為直觀、形象的圖式記憶,從而減少了學生在完成同等學習任務時耗費的腦力與時間成本,極大地提升了學習效率。
5 結語
本文應用課程概念相似度與細化度相結合的評價機制,在課程概念相似度基礎上,對不同課程概念細化值進行分析比較,從而有效提升了課程概念層次關系劃分的準確性,并在一定程度上降低了課程知識圖譜構建成本。該方法在提高課程知識圖譜構建效率的同時,也保障了構建的課程知識圖譜質量。通過搭建基于課程知識圖譜的知識導航應用,驗證了該研究成果的實用性。后續將研究如何提升課程知識圖譜構建效率及數據質量等,以及進一步探索課程知識圖譜的應用場景與應用價值。
參考文獻:
[1] 鄧志鴻,唐世渭,張銘,等. Ontology研究綜述[J]. 北京大學學報:自然科學版,2002(5):730-738.
[2] 任飛亮,沈繼坤,孫賓賓,等. 從文本中構建領域本體技術綜述[J]. 計算機學報,2019,42(3):654-676.
[3] 陶洋,鄧行,楊飛躍,等. 基于DTW距離度量的層次聚類算法[J]. 計算機工程與設計,2019,40(1):116-121.
[4] 陳韜偉,金煒東,李杰. 基于灰關聯測度的分裂式層次聚類算法[J]. 西南交通大學學報,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的自然語言隱寫分析方法[J].計算機工程,2019,45(3):309-314.
[8] 梁軍,柴玉梅,原慧斌,等. 基于深度學習的微博情感分析[J]. 中文信息學報,2014,28(5):155-161.
[9] 孫紫陽,顧君忠,楊靜. 基于深度學習的中文實體關系抽取方法[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] 唐共波,于東,荀恩東. 基于知網義原詞向量表示的無監督詞義消歧方法[J]. 中文信息學報,2015,29(6):23-29.
[12] 郭瑞. 基于純文本的領域本體構建與實現[D]. 石家莊:河北科技大學, 2016.
(責任編輯:黃 ?。?/p>