肖 垚,袁 滿
(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江 大慶 163318)
本體是一種將知識(shí)組織為系統(tǒng)的工具并能實(shí)現(xiàn)知識(shí)機(jī)器可理解、領(lǐng)域知識(shí)重用的方法。目前對(duì)本體最基本的定義為:“本體是一個(gè)共享的、概念化的、正式且明確的規(guī)范,用于客觀地描述現(xiàn)實(shí)世界”[1]。在教育領(lǐng)域中,本體主要應(yīng)用于教學(xué)系統(tǒng)中領(lǐng)域知識(shí)模型的構(gòu)建[2]與教學(xué)資源知識(shí)圖譜的規(guī)范化[3]等方面。然而傳統(tǒng)本體對(duì)知識(shí)的組織是以靜態(tài)的概念與實(shí)體為核心,無(wú)法有效地描述動(dòng)作、時(shí)間和空間變化等動(dòng)態(tài)要素。事件是反應(yīng)事物運(yùn)動(dòng)的人類知識(shí)基本單位[4],事件認(rèn)知相關(guān)的理論研究指出事件是人類進(jìn)行心智活動(dòng)時(shí)的基本單位[5],以事件為基本單元的事件本體是一種能更好地描述動(dòng)態(tài)知識(shí)并符合人類思維特性的知識(shí)組織模型。
理性思維的自適應(yīng)控制(ACT-R:Adaptive Control of Thought-Rational)理論從信息加工的角度提出了知識(shí)程序化的過(guò)程,解釋了人類如何獲得知識(shí)、組織知識(shí)以及如何產(chǎn)生智力活動(dòng)。ACT-R理論將知識(shí)劃分為陳述性知識(shí)(Declarative Knowledge)與程序性知識(shí)(Procedural Knowledge)。陳述性知識(shí)描述了某學(xué)科中存在的事實(shí)性知識(shí),在一定程度上是靜態(tài)的事實(shí)性信息[6];程序性知識(shí)是一種解釋陳述性知識(shí)如何被使用的動(dòng)態(tài)知識(shí),描述了運(yùn)用該學(xué)科陳述性知識(shí)的技能及解決問(wèn)題與任務(wù)的策略,是一種動(dòng)態(tài)的知識(shí)。掌握了程序性知識(shí)的學(xué)生能更好地運(yùn)用某一學(xué)科的認(rèn)知技能,并更有效地運(yùn)用該學(xué)科的陳述性知識(shí)符號(hào)系統(tǒng)解決問(wèn)題[7]。國(guó)內(nèi)有關(guān)ACT-R理論的研究多與教學(xué)設(shè)計(jì)結(jié)合[8],國(guó)外的學(xué)者則將ACT-R理論作為構(gòu)建智能導(dǎo)師系統(tǒng)(Intelligent Tutoring System)的理論基礎(chǔ)[9],二者均強(qiáng)調(diào)了程序性知識(shí)教學(xué)的重要性。
綜上所述,構(gòu)建程序性知識(shí)的知識(shí)組織模型是非常有意義的。而目前表示程序性知識(shí)的主流方法是產(chǎn)生式規(guī)則,該方法雖然直觀、易懂,但在知識(shí)的語(yǔ)義角色完整性、知識(shí)間關(guān)系的直觀性與知識(shí)庫(kù)的可維護(hù)性等方面存在不足,不易于展開基于程序性知識(shí)的教學(xué)資源組織與網(wǎng)絡(luò)教學(xué)相關(guān)的研究,且使用傳統(tǒng)本體的知識(shí)組織方法也不適用于程序性知識(shí)。筆者梳理了有關(guān)程序性知識(shí)的多篇文獻(xiàn),分析了程序性知識(shí)的特征與語(yǔ)義結(jié)構(gòu),此外還梳理了事件認(rèn)知理論相關(guān)的多篇文獻(xiàn),分析事件在人類認(rèn)知中的作用,提出一種使用事件知識(shí)結(jié)構(gòu)描述程序性知識(shí)的方法,建立事件知識(shí)單元與程序性知識(shí)的映射關(guān)系,進(jìn)而以程序性知識(shí)事件為基本知識(shí)單元構(gòu)建具體的事件本體模型,并通過(guò)具體的認(rèn)知過(guò)程對(duì)其有效性進(jìn)行了探討。
不同于陳述性知識(shí)對(duì)“是什么”的描述,程序性知識(shí)是一種描述“怎么做”的知識(shí)。除了與陳述性知識(shí)相比在直觀上具有動(dòng)態(tài)性外,程序性知識(shí)還具有以下特征:1) 程序性知識(shí)由目標(biāo)驅(qū)動(dòng)[10];2) 程序性知識(shí)被觸發(fā)后會(huì)執(zhí)行對(duì)應(yīng)的動(dòng)作,或修改當(dāng)前目標(biāo)[11];3) 程序性知識(shí)被觸發(fā)需滿足條件,如滿足當(dāng)前目標(biāo)或檢索到對(duì)應(yīng)的陳述性知識(shí);4) 程序性知識(shí)的觸發(fā)遵循嚴(yán)格的時(shí)間先后順序[12]。
通過(guò)對(duì)程序性知識(shí)特征的梳理與分析可知,程序性知識(shí)能對(duì)運(yùn)用陳述性知識(shí)的規(guī)則進(jìn)行表示,其語(yǔ)義結(jié)構(gòu)中包含目標(biāo)、條件、動(dòng)作以及相關(guān)的陳述性知識(shí)。Anderson基于Newell的統(tǒng)一認(rèn)知理論[13],定義ACT-R理論中程序性知識(shí)使產(chǎn)生式規(guī)則描述。
產(chǎn)生式規(guī)則的表示形式符合人類的認(rèn)知特性,但產(chǎn)生式系統(tǒng)在運(yùn)行時(shí)需要進(jìn)行匹配、沖突消解、執(zhí)行的過(guò)程,效率較低,并且產(chǎn)生式系統(tǒng)中沒(méi)有產(chǎn)生式規(guī)則間關(guān)系的描述,不能體現(xiàn)知識(shí)層級(jí)、非層級(jí)關(guān)系,使用產(chǎn)生式規(guī)則構(gòu)建的程序性知識(shí)庫(kù)不易于維護(hù)。此外,產(chǎn)生式表示法中并沒(méi)有包含對(duì)時(shí)間、空間以及程序性知識(shí)使用者的表示。
事件認(rèn)知理論認(rèn)為事件是人類與客觀世界進(jìn)行交互的基本單元[14]。通過(guò)對(duì)Zacks團(tuán)隊(duì)對(duì)事件認(rèn)知的研究成果進(jìn)行匯總與分析后,可進(jìn)一步得出如下對(duì)事件的認(rèn)識(shí):
1) 事件是感知、注意力和記憶的關(guān)鍵組成部分,人們從離散事件的角度理解和設(shè)想活動(dòng)[15];
2) 事件模型的主要組成部分包括時(shí)空框架、事件涉及的實(shí)體、實(shí)體的屬性、實(shí)體之間的關(guān)系以及事件之間的鏈接關(guān)系[16-17];
3) 目標(biāo)是一個(gè)agent實(shí)體(通常為人)采取行動(dòng)實(shí)現(xiàn)的事件狀態(tài),agent實(shí)體由于欲望和需求導(dǎo)致目標(biāo),目標(biāo)導(dǎo)致動(dòng)作的發(fā)生[18];
4) 事件實(shí)例由事件模型表示,事件的類型由事件模式表示[18];
5) 在人類的日常生活中,事件能作為組織、構(gòu)造經(jīng)驗(yàn)的基本單位[19];
6) 人類能使用事件知識(shí)管理工作記憶中的信息并從長(zhǎng)期記憶中檢索知識(shí)[20]。
在與事件本體有關(guān)的研究中,事件被認(rèn)為是在某個(gè)特定時(shí)間和環(huán)境下發(fā)生、由若干角色參與、表現(xiàn)出若干動(dòng)作特征的一件事情[21]。事件本體對(duì)事件的定義可追溯到事件認(rèn)知理論對(duì)事件模型的主要組成部分的定義,且事件本體中的事件類的概念同樣與事件認(rèn)知理論中的事件模式對(duì)應(yīng),由此證實(shí)了事件本體模型符合人類思維特性的結(jié)論。
綜上所述,事件是一種符合人類的思維與心智活動(dòng)的知識(shí)單元,能描述動(dòng)態(tài)變化的客觀世界。根據(jù)事件認(rèn)知理論對(duì)事件的解釋,事件知識(shí)單元的語(yǔ)義結(jié)構(gòu)中應(yīng)具有:時(shí)間、空間、所屬agent個(gè)體、agent的目標(biāo)、開始與結(jié)束的條件、相關(guān)實(shí)體以及目標(biāo)達(dá)成后的動(dòng)作,并且事件之間至少存在著時(shí)序、因果兩種關(guān)系。與上述提及的程序性知識(shí)的一般語(yǔ)義結(jié)構(gòu)相比較可知:事件的語(yǔ)義結(jié)構(gòu)包含了程序性知識(shí)的語(yǔ)義要素,程序性知識(shí)之間的時(shí)序關(guān)系也被包含在事件之間的時(shí)序、因果關(guān)系中。因此,事件表示法能實(shí)現(xiàn)對(duì)程序性知識(shí)的結(jié)構(gòu)化描述,而且其語(yǔ)義角色的完備性優(yōu)于產(chǎn)生式規(guī)則表示法。
馬創(chuàng)新[22]指出對(duì)知識(shí)表示方法的評(píng)價(jià)包含表示方法的性能、對(duì)知識(shí)的處理方式、在計(jì)算機(jī)中實(shí)現(xiàn)后的效能3個(gè)層面。該評(píng)價(jià)方法最終得出的結(jié)論即為,使用本體進(jìn)行知識(shí)表示的方法相較于產(chǎn)生式規(guī)則表示等其他方法,雖然在直觀理解和學(xué)習(xí)上較復(fù)雜,但在知識(shí)表示范圍、知識(shí)之間關(guān)系的表示、計(jì)算效率以及可重用性等方面具有較大的優(yōu)勢(shì)。結(jié)合馬創(chuàng)新對(duì)各知識(shí)表示方法的對(duì)比結(jié)果可得出結(jié)論:事件本體相比于產(chǎn)生式系統(tǒng)是一種可以更好地組織程序性知識(shí)的模型。
基于ACT-R的智能導(dǎo)師系統(tǒng)以程序性知識(shí)為基本單位跟蹤學(xué)生的解題步驟并評(píng)估學(xué)生的解題能力[23],而為智能導(dǎo)師系統(tǒng)提供一種高效率、機(jī)器可理解且可維護(hù)的程序性知識(shí)組織方法是十分必要的。目前,智能導(dǎo)師系統(tǒng)中采用本體論構(gòu)建領(lǐng)域知識(shí)模型是一種使用較為廣泛的方法[24]。然而,程序性知識(shí)多是以產(chǎn)生式規(guī)則的形式表示,或在傳統(tǒng)本體中以推理規(guī)則的形式作為陳述性知識(shí)的補(bǔ)充[25]。目前尚未有一種將程序性知識(shí)作為單獨(dú)的知識(shí)單元構(gòu)建本體的方法。而事件本體作為一種使用事件實(shí)現(xiàn)知識(shí)表示的方法[26],為程序性知識(shí)基于本體論的結(jié)構(gòu)化描述與組織提供了一種新的思路。
劉宗田等[27]基于突發(fā)事件領(lǐng)域提出了一種事件語(yǔ)義模型,定義事件由時(shí)間、地點(diǎn)、動(dòng)作、對(duì)象、狀態(tài)和語(yǔ)言表現(xiàn)6要素組成。徐雷等[28]總結(jié)出了事件語(yǔ)義表示模型完備性的參考維度,并給出了事件六元組是一種語(yǔ)義角色較為完備的事件語(yǔ)義模型的結(jié)論。因此,筆者以劉宗田的事件六元組為基礎(chǔ),結(jié)合事件認(rèn)知理論與程序性知識(shí)的特征,構(gòu)造對(duì)程序性知識(shí)事件結(jié)構(gòu)的表示。
定義1 程序性知識(shí)事件語(yǔ)義模型形式化表示七元組結(jié)構(gòu)PKEU(Procedural Knowledge Event Unit)為
pkeu=〈Goal,Object,Action,Status,Time,Space,Language_Expression〉
(1)
程序性知識(shí)事件定義由目標(biāo)(Goal)、參與對(duì)象(Object)、動(dòng)作(Action)、狀態(tài)(Status)、時(shí)間(Time)、空間(Space)、語(yǔ)言描述(Language Expression)7個(gè)要素組成。
參與對(duì)象(Object)分為事件的所屬個(gè)體(Agent)與相關(guān)陳述性知識(shí)(Declarative Knowledge)
Object=〈Agent,Declarative_Knowledge〉
(2)
所屬個(gè)體對(duì)應(yīng)了ACT-R認(rèn)知模型的個(gè)體與事件認(rèn)知中的agent,通常指一個(gè)人,而相關(guān)陳述性知識(shí)則是程序性知識(shí)在被觸發(fā)時(shí)調(diào)用的陳述性知識(shí)。
程序性知識(shí)事件的狀態(tài)分為前置狀態(tài)(Prior_Status)與后置狀態(tài)(Post_Status)
Status=〈Prior_Status,Post_Status〉
(3)
分別描述了一個(gè)程序性知識(shí)被觸發(fā)的前提條件與觸發(fā)后必然導(dǎo)致的結(jié)果。
目標(biāo)要素描述了驅(qū)動(dòng)程序性知識(shí)的目標(biāo);時(shí)間要素描述了程序性知識(shí)被觸發(fā)的時(shí)間點(diǎn)或持續(xù)的時(shí)間段;空間要素描述了程序性知識(shí)在對(duì)應(yīng)認(rèn)知狀態(tài)下所處的環(huán)境,空間可以是真正意義上的地點(diǎn)和環(huán)境,也可以是虛擬的場(chǎng)景;動(dòng)作要素描述了程序性知識(shí)執(zhí)行的操作;語(yǔ)言描述要素用于使用人類可以理解的語(yǔ)言解釋程序性知識(shí),增強(qiáng)了程序性知識(shí)的可理解性。
Ding等[29]將事理圖譜中的關(guān)系劃分為4類:時(shí)序(temporal)、因果(causal)、條件(conditional)和上下位(hypernym-hyponym)。楊竣輝[30]將事件本體中的非分類關(guān)系劃分為四類:組成(is composed of)、因果(causal)、跟隨(is follow of)和伴隨(is accompany of)。事理圖譜與事件本體二者均為與事件知識(shí)組織相關(guān)的研究,在事件之間關(guān)系的研究上具有一定的相通性,但后者對(duì)關(guān)系的劃分更為細(xì)致,如時(shí)序關(guān)系是跟隨、伴隨兩類關(guān)系的集合,上下位關(guān)系包含了事件本體中事件類之間的分類關(guān)系以及與事件實(shí)例之間的實(shí)例化關(guān)系。
根據(jù)對(duì)程序性知識(shí)特征的分析可知:程序性知識(shí)的執(zhí)行遵循時(shí)間先后順序,不存在多個(gè)程序性知識(shí)同時(shí)執(zhí)行的情況,故伴隨關(guān)系不適用于對(duì)程序性知識(shí)之間關(guān)系的描述。根據(jù)對(duì)事件認(rèn)知理論的分析,事件知識(shí)單元之間具有時(shí)序與因果兩種關(guān)系,結(jié)合事件之間關(guān)系的現(xiàn)有研究成果,可以進(jìn)一步擴(kuò)充表征程序性知識(shí)的事件知識(shí)單元之間的語(yǔ)義關(guān)系。
定義2 在表征程序性知識(shí)的事件知識(shí)單元之間的語(yǔ)義關(guān)系集合eus_rela(relationship of event units)中,包含時(shí)序關(guān)系(Temporal)、因果關(guān)系(Causal)、條件關(guān)系(Conditional)以及組成關(guān)系(Is Composed Of),其形式化表示為
eus_rela=〈Temproal,Causal,Conditional,Is_Composed_Of〉
(4)
語(yǔ)義關(guān)系的詳細(xì)描述如表1所示。
表1 表征程序性知識(shí)的事件知識(shí)單元之間的語(yǔ)義關(guān)系Tab.1 Semantic relations between event knowledge units representing procedural knowledge
在事件認(rèn)知中,具有共同特征的事件模型(Event Model)能抽象表示為事件模式(Event Schema)。對(duì)多個(gè)具有共同要素特征的事件七元組,能抽象出代表一類程序性知識(shí)的一般模式,在事件本體中該模式被稱為事件類(Event Class)。
定義3 程序性知識(shí)事件類形式化表示為
PKEC=〈CSpace,CAction,CObject,CGoal,CStatus〉
(5)
其中參與對(duì)象要素可抽象表示為
CObject=〈CAgent,CDeclarative_Knowledge〉
(6)
事件知識(shí)單元是實(shí)例化表示的結(jié)果,構(gòu)成程序性知識(shí)事件類的外延。CSpace、CAction、CObject、CGoal、CStatus為對(duì)外延的語(yǔ)義要素的抽象化表示,被稱為要素類,是程序性知識(shí)事件類的內(nèi)涵。
依照對(duì)程序性知識(shí)事件七元組模型、事件類的分類、非分類關(guān)系的定義,程序性知識(shí)事件本體模型的結(jié)構(gòu)如圖1所示。
圖1 程序性知識(shí)事件本體模型的結(jié)構(gòu)Fig.1 The structure of the procedural knowledge event ontology model
事件本體的Event Class層描述了程序性知識(shí)事件類與各要素之間的關(guān)系,以及事件類間的分類、非分類關(guān)系,Event Instance層為事件類及其各要素的實(shí)例化表示,事件實(shí)例之間的關(guān)系繼承于Event Class層的非分類關(guān)系。
Gosling等[31]編寫的《Java語(yǔ)言規(guī)范》是Java語(yǔ)言最權(quán)威的指導(dǎo)文檔,包含了Java語(yǔ)言全部規(guī)范化的陳述性知識(shí)與程序性知識(shí),可作為構(gòu)建程序性知識(shí)事件本體模型的知識(shí)來(lái)源。筆者參照其中對(duì)程序性知識(shí)的描述與分類,使用Protégé工具構(gòu)建Java程序性知識(shí)事件本體模型,事件與各要素的關(guān)系、事件類之間的分類及非分類關(guān)系可視化表示如圖2所示。
解決問(wèn)題Question1:“在控制臺(tái)上打印一個(gè)‘Hello World’字符串”所需要的程序性知識(shí)事件及其之間的關(guān)系在Protégé中可視化表示如圖3所示,基于程序性知識(shí)事件的ACT-R認(rèn)知模型解決該問(wèn)題的流程如圖4所示。
圖3 解決問(wèn)題Question1所需的程序性知識(shí)及其之間的關(guān)系Fig.3 The procedural knowledge needed to solve the problem Question1 and the relationship between them
認(rèn)知過(guò)程開始時(shí),首先將問(wèn)題作為目標(biāo)g1壓入目標(biāo)棧,陳述性知識(shí)模塊調(diào)取g1相關(guān)的陳述性知識(shí),event1受g1驅(qū)動(dòng),但當(dāng)前的空間不滿足event1的觸發(fā)條件;根據(jù)event1的前置狀態(tài),event2應(yīng)先于event1觸發(fā),將目標(biāo)g2壓入目標(biāo)棧并調(diào)取g2對(duì)應(yīng)的陳述性知識(shí),當(dāng)前空間同樣不滿足event2的觸發(fā)條件,同理追溯到event3;將驅(qū)動(dòng)event3的目標(biāo)g3壓入目標(biāo)棧并調(diào)取g3對(duì)應(yīng)的陳述性知識(shí),此時(shí)event3滿足觸發(fā)條件,執(zhí)行“聲明一個(gè)公共類Hello”,當(dāng)前空間修改為公共類Hello的語(yǔ)句塊,同理event2滿足觸發(fā)條件,執(zhí)行“聲明一個(gè)主方法”并修改當(dāng)前空間滿足event1觸發(fā)條件,執(zhí)行“聲明打印‘Hello World’的語(yǔ)句”。至此,問(wèn)題Questions1被解決。
圖4 基于程序性知識(shí)事件的ACT-R認(rèn)知模型解決問(wèn)題的流程Fig.4 The problem-solving process of the ACT-R cognitive model based on procedural knowledge events
根據(jù)圖4的問(wèn)題解決流程可得出結(jié)論:事件七元組語(yǔ)義模型對(duì)程序性知識(shí)的描述方法相比于使用“IF-THEN”產(chǎn)生式規(guī)則描述方法,具有語(yǔ)義角色更完備且可理解性更強(qiáng)的優(yōu)勢(shì)。使用Protégé能基于規(guī)范化的本體描述語(yǔ)言構(gòu)建程序性知識(shí)事件本體,實(shí)現(xiàn)程序性知識(shí)的機(jī)器可理解,并豐富了程序性知識(shí)之間的語(yǔ)義關(guān)系,增強(qiáng)了程序性知識(shí)庫(kù)的可重用性與可維護(hù)性。
采用程序性知識(shí)事件本體模型的智能導(dǎo)師系統(tǒng)能將程序性知識(shí)庫(kù)表示為一個(gè)語(yǔ)義化的事件網(wǎng)絡(luò),相較于產(chǎn)生式系統(tǒng)能更高效地對(duì)學(xué)生的學(xué)習(xí)過(guò)程進(jìn)行追蹤、診斷與評(píng)價(jià),以事件網(wǎng)絡(luò)為基礎(chǔ)制定的教學(xué)策略也具有直觀性與可理解性上的優(yōu)勢(shì)。此外,基于七元組事件語(yǔ)義模型可進(jìn)一步拓展在教學(xué)資源中挖掘程序性知識(shí)的技術(shù),進(jìn)而為個(gè)性化教學(xué)策略的制定、學(xué)習(xí)智能輔助等相關(guān)應(yīng)用的研究提供一個(gè)新的思路。
筆者結(jié)合ACT-R理論對(duì)程序性知識(shí)的描述,以事件認(rèn)知理論為背景提出一種七元組事件語(yǔ)義模型描述程序性知識(shí),分析了程序性知識(shí)的特征,建立了程序性知識(shí)與事件知識(shí)結(jié)構(gòu)的映射關(guān)系,定義了程序性知識(shí)事件與事件七要素之間的語(yǔ)義關(guān)系,并對(duì)事件七元組進(jìn)行抽象,構(gòu)建程序性知識(shí)事件類,進(jìn)而構(gòu)建出程序性知識(shí)事件本體模型。在此基礎(chǔ)上,以Java語(yǔ)言規(guī)范中的程序性知識(shí)為案例,結(jié)合規(guī)范中程序性知識(shí)之間隱含的關(guān)系與已有的對(duì)事件關(guān)系的研究,提出了程序性知識(shí)事件之間關(guān)系的形式化表示方法,使用Protégé實(shí)現(xiàn)了對(duì)Java程序性知識(shí)事件本體模型的構(gòu)建,并直觀地展示了程序性知識(shí)及其之間的分類、非分類關(guān)系,最后以程序性知識(shí)事件為基礎(chǔ),分析了解決一個(gè)具體問(wèn)題的認(rèn)知過(guò)程。
程序性知識(shí)事件本體是一個(gè)規(guī)范化的知識(shí)組織模型,能實(shí)現(xiàn)程序性知識(shí)及其之間關(guān)系的語(yǔ)義化描述、組織、重用與維護(hù),為網(wǎng)絡(luò)教學(xué)資源中程序性知識(shí)的直觀展示與基于程序性知識(shí)的教學(xué)策略規(guī)劃、認(rèn)知診斷、智能導(dǎo)師系統(tǒng)等相關(guān)研究提供了新的思路。目前的教學(xué)資源中程序性知識(shí)更多以語(yǔ)言描述的非結(jié)構(gòu)化形式存在,而基于筆者提出的事件語(yǔ)義模型從教學(xué)資源中抽取七要素構(gòu)建結(jié)構(gòu)化的程序性知識(shí),目前還是使用手動(dòng)構(gòu)建的方式,如何實(shí)現(xiàn)程序性知識(shí)事件本體模型的自動(dòng)化或半自動(dòng)化構(gòu)建是未來(lái)需要進(jìn)一步研究的問(wèn)題。