殷鋒社
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 陜西 咸陽 712000)
教師模型就是根據(jù)學(xué)生對知識的掌握理解情況,自動選擇相適應(yīng)的教學(xué)計劃、檢測計劃,以達(dá)到最佳教學(xué)效益的模型。
基于推理引擎的教師模型[1,8]由一系列規(guī)則組成,例如匹配規(guī)則可以推理出哪些知識資源是最適合該學(xué)生的,哪些知識資源是學(xué)生可以接受的,以及哪些知識資源是不推薦學(xué)生訪問的等。
OWL具有強大的知識描述能力,通過OWL可以提供定義類、屬性限制和描述邏輯的特點,如果某項知識難以用類的方式表達(dá),則OWL就難以描述。為了解決上述問題,為OWL本體擴(kuò)充邏輯規(guī)則,本研究采用SWRL(Semantic Web Rule Language)來描述學(xué)生自定義規(guī)則。
SWRL描述的規(guī)則形如 (采用 human readable語法表示):前提(Body)-〉結(jié)論(Head)
具體體現(xiàn)[2]為:B1,B2~Bi H1,H2~Hj
其中Bi和Hj都是規(guī)則中的Atom,可見SWRL規(guī)則是由規(guī)則原子組成的。
WL本體和SWRL/SWRL FOL規(guī)則都建立好了之后,通過映射為一階謂詞邏輯公式,就可以利用FOL推理引擎進(jìn)行推理了。
目前,有許多高效的自動理論證明機(jī)(ATP),如Vampire、Otter、SPASS用于實現(xiàn)經(jīng)典 FOL(Full FOL)的推理證明。 ATP通常采用TPTP語法[3]作為輸入格式,可以通過一些語法解析器(Parser)將其他格式的語法,轉(zhuǎn)化為TPTP語法[4-6]。如上述介紹的規(guī)則:visited(?u,?r)?Acquired(?r,?u)
映射為一階謂詞邏輯公式,并用TPTP語法表示為:

推理引擎就是應(yīng)用系統(tǒng)中用來完成推理功能的模塊,也稱作推理機(jī)。本文引進(jìn)了推理輔助規(guī)則和匹配規(guī)則,從而建立了匹配機(jī)模型和基于推理引擎的個性化教學(xué)策略推理機(jī)。
在學(xué)生、知識資源和教學(xué)資源概念之間,有這樣一種聯(lián)系:當(dāng)一個學(xué)生訪問過一個知識資源,而該資源涵蓋了一個或多個知識概念,那么就能推導(dǎo)出該學(xué)生掌握了這些知識概念。用SWRL來對前面建立的本體添加相關(guān)的學(xué)生定義規(guī)則[3]。
1)對于“當(dāng)一個學(xué)生訪問過一個知識資源,而該資源涵蓋了一個或多個知識概念,那么就能推導(dǎo)出該學(xué)生掌握了這些知識概念”這樣一條規(guī)則,可用一階謂詞邏輯中的Horn子句規(guī)則來表示,即SWRL的人可讀語法 (human readable syntax):

這里?u、?r、?c是實例變量,分別表示學(xué)生實例、資源實例和教學(xué)資源概念實例。
2)為個性化匹配服務(wù),定義第二條輔助規(guī)則:對應(yīng)于教學(xué)資源模型(DKO)中知識概念與知識概念之間的依賴關(guān)系,在資源與概念之間也可以體現(xiàn),即當(dāng)一個知識資源R涵蓋某一教學(xué)資源概念C,而掌握概念C必須以掌握知識概念C’為前提,那么就應(yīng)該能夠推導(dǎo)出要獲取并掌握資源R要以掌握知識概念C’為前提。
輔助規(guī)則建立完畢后,就需要建立知識資源與學(xué)生的個性化匹配規(guī)則。根據(jù)學(xué)生對資源及資源涵蓋的教學(xué)資源概念掌握程度的不同,把知識資源和學(xué)生的匹配程度(即資源對于該學(xué)生的適合程度)定義為5個等級:
1)L Acquired(已經(jīng)掌握的資源)
2)L Recommended(推薦掌握的資源)
3)L May_Acquire(可能可以掌握的資源)
4)L Will_Acquire(將來可能掌握的資源)
5)L Not_Recommended(不推薦的資源)
上面定義中知識資源與學(xué)生匹配的理想程度為(Acquired表示已經(jīng)掌握,因此不考慮):Recommended>May_Acquire>W(wǎng)ill_Acquire>Not_Recommended。
首先,假設(shè)學(xué)生模型 (UO)中存在兩個學(xué)生實例:User_001和User_002。它們在學(xué)生本體中對應(yīng)的學(xué)生實例的知識結(jié)構(gòu)如圖1所示??梢奤ser_001已訪問過資源Resource_001, 并掌握了知識概念 A、A1、B1和 C1;Use_002 掌握的知識概念為A1。

圖1 學(xué)生的知識結(jié)構(gòu)Fig.1 Knowledge structure of student
接著依照本章介紹的輔助規(guī)則和匹配規(guī)則,結(jié)合學(xué)生實例和知識資源實例,便可以將資源Resource_001、Resource_002、Resource_003和學(xué)生User_001、User_002之間的匹配關(guān)系,通過推理機(jī)推導(dǎo)出來,呈現(xiàn)出如下的知識(描述邏輯表示):


由于學(xué)生User_001已經(jīng)訪問過Resource_001,因此Resource_001對于學(xué)生User_001的匹配關(guān)系是Acquired,并且通過輔助規(guī)則,可以推出User_001掌握了它涵蓋的知識概念A(yù),并掌握了A的依賴概念A(yù)1,在User_001的學(xué)生實例中已得到體現(xiàn);對于Resource_002,User_001已經(jīng)掌握了它的所有預(yù)備概念A(yù)1和B1,因此根據(jù)匹配規(guī)則可以推出資源Resource_002對于學(xué)生 User_001的匹配關(guān)系是Recommended;對于Resource_003涵蓋的每一個概念 (B和C),User_001都至少掌握了它的一個依賴概念(B1和 C1),就可以推出資源Resource_003對于學(xué)生User_001的匹配關(guān)系是May_Acquire。
User_002的本體實例中只掌握了一個知識概念A(yù)1,對于資源Resource_001的唯一預(yù)備概念A(yù)1,已經(jīng)被User_002所掌握,因此可以推導(dǎo)出資源Resource_001對于學(xué)生User_002的匹配關(guān)系是Recommended;對于Resource_002的所有預(yù)備概念(A1和 B1),User_002 至少掌握了其中之一(A1),可以推出資源Resource_002對于學(xué)生User_002的匹配關(guān)系是Will_Acquire;而對于資源Resource_003的所有預(yù)備概念(B1、C1和C2),學(xué)生User_002全都沒有掌握,因此可以推出資源Resource_003對于學(xué)生 User_002的匹配關(guān)系是Not_Recommended。
然后根據(jù)這3個資源與User_001和User_002匹配關(guān)系的不同,就能為學(xué)生User_001和User_002提供具有不同建議性意見的知識資源。如果針對匹配關(guān)系進(jìn)行控制,例如不向?qū)W生返回匹配關(guān)系為Acquired和Not_Recommended的資源,那么:

可見,由于Resource_001與User_001的匹配關(guān)系為Acquire,即已經(jīng)被User_001訪問并掌握,因此被過濾;而Resource_003與User_002的匹配關(guān)系為Not_Recommended,即對于User_002來說,該資源可能掌握起來太難,因此也不返回給User_002。這樣就真正實現(xiàn)了學(xué)生對知識資源的個性化學(xué)習(xí)。
規(guī)則的設(shè)計[7]有多種方法。針對每個個體的不同情況,用一條規(guī)則給出該個體下一步的學(xué)習(xí)內(nèi)容是可能的,但這樣的話,在規(guī)則的左邊部分,就要列舉出足夠多的事實,在所有的規(guī)則中逐個比較,以尋找匹配的規(guī)則,效率低下。
為了解決此問題,本文將所有的規(guī)則進(jìn)行分類,按求解的次序?qū)⒁?guī)則分層次存放,使用時由規(guī)則的結(jié)果決定后續(xù)規(guī)則的選取。在實際應(yīng)用中,每門課程的規(guī)則庫由該領(lǐng)域的專家經(jīng)研究給出。本系統(tǒng)中部分規(guī)則如下:
R1 If學(xué)生是第一次學(xué)習(xí) Or學(xué)生能力值改變 Then//判斷學(xué)生等級,確定學(xué)習(xí)內(nèi)容
R11 If學(xué)生能力值>=90 Then學(xué)生類型=“A”
If學(xué)生類型=“A”Then學(xué)習(xí)所有知識點
R12 If學(xué)生能力值>=80 And學(xué)生能力值<90 Then學(xué)生類型=“B”
If學(xué)生類型=“B”Then刪除第11類知識點
R13 If學(xué)生能力值>=70 And學(xué)生能力值<80 Then學(xué)生類型=“C”
If學(xué)生類型=“C”Then刪除第11、12類知識點
R14 If學(xué)生能力值>=60 And學(xué)生能力值<70 Then學(xué)生類型=“D”
If學(xué)生類型=“D”Then 刪除第 11、12、13類知識點
R15 If學(xué)生能力值>=50 And學(xué)生能力值<60 Then學(xué)生類型=“E”
If學(xué)生類型=“E” Then 刪除第 11、12、13、14 類知識點
R16 If學(xué)生能力值>=40 And學(xué)生能力值<50 Then學(xué)生類型=“F”
If學(xué)生類型=“F” Then 刪除第 11、12、13、14、15 類知識點
R17 If學(xué)生能力值>=30 And學(xué)生能力值<40 Then學(xué)生類型=“G”
If學(xué)生類型=“G” Then 刪除第 6、7、11、12、13、14、15 類知識點
R18 If學(xué)生能力值>=20 And學(xué)生能力值<30 Then學(xué)生類型=“H”
If 學(xué)生類型=“H” Then 刪除第 6、7、8、9、11、12、13、14、15類知識點
R19 If學(xué)生能力值<20 Then學(xué)生類型=“I”
If 學(xué) 生 類 型=“I” Then 刪 除 第 6、7、8、9、10、11、12、13、14、15 類知識點
R2 If學(xué)生接受了某個單元的測試 Then //用來判斷學(xué)生是否通過本單元的學(xué)習(xí)
R21 If識記能力測試值<本單元識記能力閾值
Or理解能力測試值<本單元理解能力閾值
……
Or總體認(rèn)知能力測試值<本單元總體認(rèn)知能力閾值
Then本單元學(xué)習(xí)未通過,轉(zhuǎn)向R3
R22 If識記能力測試值>=本單元識記能力閾值
And理解能力測試值>=本單元理解能力閾值
And應(yīng)用能力測試值>=本單元應(yīng)用能力閾值
And分析能力測試值>=本單元分析能力閾值
And綜合能力測試值>=本單元綜合能力閾值
And總體認(rèn)知能力測試值>=本單元總體認(rèn)知能力閾值
Then本單元學(xué)習(xí)通過,轉(zhuǎn)向R4
R3 If學(xué)生未通過本單元學(xué)習(xí)Then
R31 If識記能力測試值<本單元識記能力閾值
Or理解能力測試值<本單元理解能力閾值
Then復(fù)習(xí)前導(dǎo)知識
R32 If應(yīng)用能力測試值<本單元應(yīng)用能力閾值
Or分析能力測試值<本單元分析能力閾值
Or綜合能力測試值<本單元綜合能力閾值
Then呈現(xiàn)實例
R33 If總體認(rèn)知能力測試值<本單元總體認(rèn)知能力閾值
Then重新學(xué)習(xí)本知識點
R4 If學(xué)生已通過本單元的學(xué)習(xí)Then
R41 If綜合測試值>=90 Then學(xué)生能力值=學(xué)生能力值+2
If綜合測試值>=80 And綜合測試值<90 Then學(xué)生能力值=學(xué)生能力值+1.5
......
本文在前人工作的基礎(chǔ)上研究了基于推理引擎的教師模型系統(tǒng)的設(shè)計方法和實現(xiàn)的關(guān)鍵技術(shù),并總結(jié)了設(shè)計和實現(xiàn)基于推理引擎的個性化教學(xué)推理機(jī)和教學(xué)規(guī)則庫的基本方法和模式。從而實現(xiàn)了學(xué)生對教學(xué)資源的個性化學(xué)習(xí),提高學(xué)習(xí)的效率和自主性。相信隨著智能化的引入和教學(xué)規(guī)則的不斷細(xì)化,個性化和自主性會越來越好。
[1]殷鋒社.基于推理引擎的個性化計算機(jī)輔助教學(xué)系統(tǒng)的研究與實現(xiàn)[D].西安:西安交通大學(xué),2008.
[2]Tsarkov D,Riazanov A,Bechhofer S,et al.Using vampire to reason with OWL, ISWC 2004[J/OL].LNCS 3298,2004:471-485.
[3]Spencer B,Liu S.Inferring Data Transformation Rules to Integrate Semantic Web Services.ISWC 2004 [J/OL].LNCS 3298, 2004:456-470.
[4]Moser M,Ibens O,Letz R,et al.SETHEO and e-SETHEO-the CADE-13 systems[J/OL].Journal of Automated Reasoning,1997, 18(2):237-246.
[5]Tammet T.Gandalf[J/OL].Journal of Automated Reasoning,1997,18(2):199–204.
[6]Riazanov A,Voronkov A.The design and implementation of vampire[J/OL].AI Communication,2002, 15(2-3):91-110.
[7]石鷗燕.基于J2EE的多Agent的網(wǎng)絡(luò)教學(xué)系統(tǒng)的研究與實現(xiàn)[D].天津:天津師范大學(xué),2005.
[8]O’Connor M, Knublauch H, Tu S,et al.Supporting rule system interoperability on the semantic Web with SWRL,ISWC 2005[J/OL].LNCS 3729, 2005:974-986.