于延,馬曉迪(哈爾濱師范大學,哈爾濱150025))
?
基于本體的C語言課程知識建模
于延,馬曉迪
(哈爾濱師范大學,哈爾濱150025))
摘要:針對高校高級語言程序設計課程,探討了知識庫本體的概念和構(gòu)建,設計了基于本體的知識表示形式。實踐表明:基于本體構(gòu)建的知識模型可以有效地表示知識結(jié)構(gòu),有利于智能教學系統(tǒng)的設計和實現(xiàn)。
關鍵詞:本體;C語言;知識表示
目前,人工智能系統(tǒng)設計的關鍵技術(shù)之一就是知識的表示方法,此方法在智能教育、智能決策、智能系統(tǒng)分析等各個領域得到了非常廣泛的應用。
不同的知識表示方式,決定了知識和知識之間關系的表示、不同系統(tǒng)之間知識信息的共享和復用。筆者在多年的C語言教學過程中,一直在努力研究開發(fā)一種“實用又好用”的智能教學系統(tǒng)。而構(gòu)建智能教學系統(tǒng)的關鍵技術(shù)就是要構(gòu)建一種形式化的、語義化的知識表示方法,這對于知識構(gòu)建、學習者自主性學習、知識的智能管理具有十分重要的作用。為了研究智能教學系統(tǒng)的理論基礎,提高教學系統(tǒng)的智能性、可擴展性和可復用性,本文研究了一種基于本體的C程序設計語言知識模型,為智能教學系統(tǒng)提供理論基礎。
本體(Ontology)是在語義知識層面上描述人工智能領域系統(tǒng)常用的建模工具,是共享概念模型明確的形式化規(guī)范說明[1]。在人工智能領域,特別是對智能教學系統(tǒng)的研究,知識點元數(shù)據(jù)的表示和組織,利用本體思想構(gòu)建知識模型是非常恰當?shù)摹?/p>
某領域M內(nèi)有多個不同的主體,這些主體之間要進行信息交流,本體可以看作是它們之間進行信息交流的語義基礎,是這些主體概念和概念之間關系的描述。這些描述信息可形式化地用二元組M(S,T)來表示。其中,S可以看作是領域M中的概念集合;T是領域M內(nèi)所有概念之間關系的集合。本體通過對領域內(nèi)知識庫的建立,通過描述知識庫中各知識點之間的關系,對知識內(nèi)容進行邏輯擴展推理,從而完成對隱性知識的挖掘[2]。
目前,描述本體的語言主要有KIF、OWL、Loom等,常用的開發(fā)工具主要有Ontolingue、ODE、Proté gé、WebOnto等[3]。
為便于用本體理論構(gòu)建C語言程序設計知識體系,我們編寫了《C語言程序設計案例教程》教材,在清華大學出版社出版。該教材最大特點是優(yōu)化內(nèi)容編排,采用“章-節(jié)”二級目錄結(jié)構(gòu),每小節(jié)由若干相對獨立又相互關聯(lián)的“知識單元組成”,形成獨特的“章-節(jié)-知識單元”體系。
教材將傳統(tǒng)C語言教材進行知識結(jié)構(gòu)的調(diào)整,通過“章-節(jié)-知識單元”的設計,使每個知識單元規(guī)模適當、相對獨立。幾乎每個知識單元都以程序案例開始,讓學生先認識程序、再學習知識。
構(gòu)建C語言知識本體就是把C語言程序設計課程合理地分解成相對獨立的知識點,并定義知識點之間的邏輯關系,從而提供可共享、可重用、可提供個性化解決方案的資源。其中,知識點包括基本概念、語句、例題和練習等,根據(jù)《C語言程序設計案例教程》教材的“章-節(jié)-知識單元”體系及各知識單元能力要求,可抽象出如圖1所示的知識結(jié)構(gòu)。
圖1 C語言知識單元圖Fig.1 C language knowledge unit chart
C語言課程的基本知識點經(jīng)過以上層次化分析,每個知識點已經(jīng)基本具備規(guī)模適當、相對獨立的特點。為了更有效地研究基于本體的教學設計,為了更好地整合教學資源,課題研究小組采用本體編輯軟件Protégé實現(xiàn)了課程的知識表示。本文定義了3個基本類目,分別是知識結(jié)構(gòu)、能力要求和教學資源。其中在知識結(jié)構(gòu)類中設置了13個子類,分別代表每一章的具體內(nèi)容;在能力要求類下設置了“認識、理解、領會、運用、創(chuàng)新”5個子類,表明對學習者的能力要求;在教學資源下暫時設置了“程序案例、習題、微視頻”3個子類,如圖2所示。
圖2 C語言知識點本體Fig.2 C language knowledge point ontology
其中能力要求的5個子類分別對應以下含義
認識:要求學生至少要認真閱讀2遍,才能達到認識的目標。
理解:要求學生能理解知識點或程序清單中的代碼,針對此知識點在面對教師或同學提問時能自如回答,要求學生對相關程序代碼上機練習至少1次。
領會:要求學生能達到為其他學生講解該知識點或程序清單的能力,能恰當運用教學方法和手段,并且能理清與關聯(lián)知識點的關系,要求學生對相關程序代碼上機練習至少2次。
運用:要求學生對相關程序代碼上機練習至少3次以上;能在不參照任何資料的情況下,獨立完成程序代碼的錄入、調(diào)試和執(zhí)行;對此單元的知識點和代碼能達到為其他學生脫稿講解。
創(chuàng)新:要求學生根據(jù)本單元內(nèi)的程序代碼,能舉一反三,自行查找資料設計同類問題,自行分析解決,并最終編寫程序代碼,調(diào)試運行。
在目前的人工智能領域,本體是知識建模的一種積極有效的方法[3]。將本體方法和技術(shù)引入智能教學系統(tǒng)的研究和開發(fā),是一條非常有效的途徑,可以很好地描述知識以及知識之間的關系,并且可以方便地挖掘隱性知識,以達到知識擴展和復用的科學目的。
參考文獻:
[1]劉垣,顧君忠.本體理論及其在E-Learning中的應用[J].計算機應用與軟件,2012,29(4):114-127.
[2]馬斌.基于本體的VB語言程序設計知識表示方法研究[J].電腦開發(fā)與應用,2012,25(11):6-8.
[3]金芝.知識工程中的本體論研究[M].北京:清華大學出版社,2001.
Research on Ontology-based C Language Knowledge Modeling
YUYan, MAXiao-di
(Harbin Normal University,Harbin 150025,China)
Abstract:The concept and construction of knowledge base ontology is discussed in this paper, and the form of ontology-based knowledge representation is designed.Practice shows that the knowledge model based on ontology can effectively represent the knowledge structure, which is conducive to the design and implementation of intelligent tutoring system.
Key words:Ontology; Clanguage;Knowledge representation
作者簡介:于延(1976-),男,黑龍江哈爾濱人,碩士,副教授,從事智能教育與數(shù)字游戲研究。
基金項目:黑龍江省自然基金“泛在學習環(huán)境下集成情境的知識建模與知識管理技術(shù)研究”(F201319);黑龍江省教育廳科技項目“基于多AGENT的智能教學系統(tǒng)關鍵技術(shù)研究”(12541247);黑龍江省應用開發(fā)研究項目“支持情境感知的智能教學系統(tǒng)模型及應用研究”;哈爾濱師范大學大學生創(chuàng)新基金項目
收稿日期:2015-12-27
中圖分類號:TP312
文獻標志碼:A
文章編號:1674-8646(2016)02-0100-02