【摘要】高中信息技術課程標準對《人工智能初步》選修課程中“專家系統”模塊的教學要求是:學會使用一個簡易的專家系統外殼并能用它開發簡單的專家系統。文章在分析了專家系統與其外殼之間關系的基礎上,詳細論述了“利用外殼開發專家系統”這一教學模式的認知教學理論基礎,最后介紹了以認知教學理論為基礎的該教學模式的一個具體應用案例。
【關鍵詞】專家系統;專家系統外殼;認知教學;InterModeller
【中圖分類號】G40-057 【文獻標識碼】A【論文編號】1009—8097 (2008) 08—0018—04
2003年教育部頒布的高中信息技術課程標準中把《人工智能初步》作為其中的選修模塊,此模塊主要包括了三部分內容:“知識及其表示”,“推理與專家系統”,“人工智能語言與問題求解”??紤]到高中生的認知風格認知水平,課標在“推理與專家系統”內容的教學要求是:學會使用一個簡易的專家系統外殼并能用它開發簡單的專家系統。
一 專家系統及其外殼
專家系統是一個智能計算機程序系統,其內部含有大量某個領域專家水平的知識與經驗,模擬人類專家推理的過程來處理現實世界中需要專家做出解釋的復雜問題。它一般由知識庫、推理機、工作內存、解釋器和人-機界面組成(如圖1所示)。其中知識庫包括規則庫和數據庫。規則庫一般是以產生式表示的集合,里面存有大量的“if<前提>then<結論>”語句,這是專家系統的核心之一;數據庫則是存放輸入的事實、各種中間結果和最后結果的工作區,可以理解為陳述性知識。推理機是“控制協調規則庫與數據庫的運行”的程序,其任務是模擬領域專家的思維過程,控制并執行對問題的求解。它所包含的推理方式和控制策略實質上是屬于產生式系統。[1]br> 
圖1 專家系統的典型結構
專家系統外殼是一類用于建造專家系統的特殊軟件。通常是由一些已經成熟的專家系統抽去具體知識演化而來。和具體的專家系統相比,它保留了原系統的基本功能、骨架(知識庫及推理機結構)、外殼,把領域專用的界面改成了通用界面。課標正是基于專家系統外殼操作簡單、功能完善、通用性強的特點,提出了符合高中學生認知的教學目標,即要求學生利用專家系統外殼,通過構建相應的知識庫來創建一個專家系統。
二 專家系統教學的認知教學理論基礎
認知心理學關于人類認知過程尤其是高級思維過程的研究,為專家系統研究者編制體現人類思維的計算機程序提供了理論基礎。同時,專家系統的研究在某種程度上又促進了認知心理學的研究。鑒于專家系統與認知心理學之間的關系以及認知心理學在當前教學中的作用,認知教學理論理所當然地成為專家系統教學的理論基礎。[2]
認知教學理論指導下的教學過程主要包括:首先,教師通過一系列關于某種概念、定理、觀念、定律等的描述,讓學生知道“這是什么”;然后,通過一系列程序性知識的介紹,讓學生懂得“是怎樣的”即明確它的特點和特性;接著,教師再通過一系列啟發性的介紹讓學生知道這種概念、定理、觀念、定律等是如何產生的,在何時、何地能夠使用,并且讓學生能夠準確地在一些復雜的環境中對它們加以運用,使學生在大腦里對這些新輸入的知識加以重新建構,從而培養起學生嚴密的邏輯思維能力和很強的認知能力。
結合“專家系統”內容的教學過程,可以發現認知教學理論中的知識(尤其是程序性知識)表征與習得、專家與新手的比較(認知學徒教學法)、問題解決與問題解決教學法等可以在專家系統教學中發揮重要的作用。
1 知識的表征與習得
根據知識的狀態和表征方式,認知心理學將知識分為兩類:陳述性知識和程序性知識。陳述性知識說明事物、情況是怎樣的,是對事實、定義、規則、原理等的描述;程序性知識則是關于怎樣完成某項活動的知識。推理、決策或者解決問題等活動都是典型的程序性知識。一般認為陳述性知識采用以語義網絡為基礎地表征,而程序性知識的表征形式為產生式系統,通常以“if<前提>then<結論>”形式表示條件這-關系,即先確認當前的情境和條件,然后產生相應的行動。所謂“產生式”,就是這樣一些“前提-結論”的結合規則。它表明了所要進行的活動以及做出這種活動的條件,眾多的產生式聯系在一起,就構成了復雜的產生式系統。
高中《人工智能初步》課程的專家系統知識教學正是遵循了這一理論,教師首先是要求學生選擇建立一個專家系統的主題內容,比如動物識別專家系統、疾病診斷專家系統等等。在選定主題后,學生的首要任務則是把收集來的各種知識表征為層級的命題網絡結構的陳述性知識,便于理解與記憶。然后,按照一定的邏輯將陳述性知識轉化為基于產生式的程序性知識,便于推理與編程。
實際上一個完整專家系統包含的知識庫是很復雜的,包含了多條產生式。推理機所能推理的知識層級也不僅僅如圖示的三層,而是可以推理到許多層。但在實際教學過程中,教師要引導學生選擇那些貼進學生生活、易于理解的陳述性知識作為專家系統的內容,要始終把知識控制在學生的認知范圍之內。設計的產生式系統開始時不應過于復雜,條目數應合理,在教學過程中可以先從一兩條產生式開始,逐步遞加,最終形成一個較完整的專家系統。
2 認知學徒教學法
高中階段的專家系統學習主要是利用簡易的專家系統外殼開發簡單的專家系統來進行。學習者根據自身需要設計相應的知識庫來開發不同的專家系統。學生利用專家系統外殼工具,通過了解由某一領域專家建構的專家系統,并在教師的指導下親手開發簡單的專家系統,來體驗專家系統的開發過程,加深學習體驗。在這一學習過程中,學生和專家系統構成了一種專家與新手的關系,剛開始學專家系統的學生(相對新手)、課程教師(相對于學生為專家)以及專家建構的專家系統(相對于教師為專家),如圖2所示。學生開發專家系統的過程也即相對的新手向相對的專家轉化過程中,對陳述性知識和程序性知識的依賴程度有顯著的變化,不斷的將內容的陳述性表征轉變為體現產生式規則的程序性知識。

圖2 專家系統教學過程中各角色之間的關系
基于“專家-新手”研究提出的“認知學徒教學法”可以在此提供很好的教學思路。它是一種通過允許學生獲取、開發和利用真實領域中的活動工具支持學生在某一領域中學習的方法,這種方法在人工智能中通常稱為“基于解釋的學習”(explanation-based learning)。“學徒制”概念強調經驗活動在學習中的重要性,并突出學習內在固有的依存于背景的、情境的和文化適應的本質。利用這一教學方法,可以使學生依據表面特征,以零散的、孤立的儲存知識的方式向專家在任務情景和問題解決時使用“組塊”的方式轉變。
3 問題解決教學法
美國加州大學心理系主任梅耶教授提出的關于解決問題教學的三個標準:第一,當你選擇好要求學生解決的問題后,就要把解決這個問題所涉及的內容表征和計劃步驟分割為學生可以接受的較小的操作單元,教會他們全面地接受信息,并對信息進行編碼;第二,解決問題時要集中注意于過程,而不是結果,應當讓學生找出自己解決問題的過程與充滿解決問題過程間的差距,分析矛盾之所在及產生矛盾沖突的原因;第三,針對特定問題,教給學生特定的問題解決的技巧,具體問題具體分析。在專家系統中采用問題解決教學,實質上是將學習內容轉化為具體案例,在具體問題的解決過程中,培養學生的思維多樣性和創造能力。
構建專家系統的最終目的是實現某一問題的最終解決,它具有強烈的目的指向性。同時,構建專家系統的過程本身又是一個問題解決過程,如圖3所示例。學生將陳述性知識轉換為程序性知識之后,在頭腦中已初步形成了問題解決的方法與邏輯,接著就要將程序性知識轉化為計算機可以識別的信息即編程過程。專家系統所要解決的問題大多是劣構或非結構化問題,涉及到的問題空間很大,問題狀態很多。學生構建專家系統的過程,是一個搜索解決問題策略的過程,通過問題解決策略中的正向搜索策略和逆向搜索策略的使用,最終實現問題的解決。專家系統教學的重點就是陳述性知識向程序性知識轉換,相對應的是分析問題和確定解決方案這一過程上,而利用專家系統外殼從而開發出一個簡單的專家系統這一結果本身則相對是簡單。

圖3 專家系統教學的過程
三 專家系統的教學應用
在2003年“人工智能初步”納入新課以后,我國先后出版了5套《人工智能初步》教材并通過了教育部組織的專家評審,供高中階段的教學使用,這些教材中都介紹了專家系統外殼工具,如InterModeller[3],ESES,E2glite。這里以InterModeller一個具體的案例來闡述以認知教學理論為基礎的專家系統知識教學的具體過程。
1 選擇內容,確定開發工具
不同的專家系統用于處理不同領域的知識。在構建一個專家系統前,需要進行任務分析,根據不同的任務選擇合適的專家系統外殼。根據現有專家系統外殼的功能及可獲取性等因素考慮,在此我們以專家系統外殼InterModeller為例,給出用專家系統外殼來建立交通工具分類專家系統。
2 分析問題,轉化知識
學生從日常生活經驗可知交通工具的一些基本特征,如從車輪數目上看可為4輪車和2輪車,按所使用的燃料動力源不同又可分為汽油車和柴油車等。通過對眾多知識的收集與整理,畫出圖4的知識語義圖,為的是便于接下來知識庫中規則的編寫。

圖4 交通工具分類語義網絡
3 求解問題,構造知識庫
根據已畫出知識的語義圖,在InterModeller專家系統外殼知識庫中編寫圖5所示的產生式規則。

圖5 交通工具分類的規則實例
上面構建的只是專家系統的原型,如果要構造一個完整的專家系統,就要不斷的擴充知識,增加規則,將其完善。InterModeller知識庫的規則編寫方法并不局限于產生式規則一種,學生還可以通過畫決策樹來編寫知識庫。學生也可以在InterModeller的決策樹模型中畫出決策樹結構圖,即可實現知識庫的構造。
4 問題解決,運行調試系統
學生根據所完成知識庫的構造后,即可運行InterModeller專家系統。根據上述知識庫所建立的專家系統如圖6所示。
最后,學生和老師、其他同學以及領域專家討論交流,對自己構建的專家系統不斷的進行調試和修改,直到建立一個較為完善的專家系統為止。

圖6 交通工具分類專家系統運行界面。
四 結語
在高中信息技術的《人工智能初步》選修模塊教學中,開展“利用外殼開發專家系統”的教學,對于學生分析問題和解決問題能力的培養具有積極的意義。一方面,為了完成該任務, 學生需要編制規劃、制定知識獲取策略,并具體付諸實施, 這是一個不斷深化的過程。學生還得明確與系統有關的所有變量或相關的因素, 并且將這些變量和因素轉化為問題求解過程, 得出相應的結論。在進行一系列問題求解分析之后, 運用產生式規則來表示知識。 該過程中有助于提高他們的分析、思維與判斷能力。另一方面,在專家系統運行時,學生可以向專家系統提出諸如“為什么(Why)”、“如何(How)”、“如果……會怎么樣”等問題, 系統接受用戶的問題指令后,可以根據推理的邏輯進程, 即時將答案呈現給用戶,這個過程如同教師與學生在進行面對面的教學,學生還可以充分體驗人類專家的求解思路和推理風格。完善的專家系統還可以讓其他學生去運用和體驗, 具有一定的實用價值。正如美國著名的學習論專家Jonassen所指出的:那些自行設計專家系統的學生將會在這種活動中受益匪淺, 因為這是一個對所學知識進行深度加工的過程。[4]
參考文獻
[1] 張劍平.關于人工智能教育的思考[J].電化教育研究,2003,(1):24-28.
[2] 楊銀輝.《專家系統及其設計》教學設計[J].中小學信息技術教育,2004,(1):27-34.
[3] 周躍良,張燕.人工智能教育的理論基礎及教學組織[J].中小學信息技術教育,2003,(10):10-13.
[4] Wang X, Qu H, Liu P, et al.A self-learning expert system for diagnosis in traditional Chinese medicine[J] .Expert System Appling,2004,24(4):557–566.
[5] Osguthorpe. R.T.Instructional Design in a Flat World[J].Educational Technology,2007,(3-4):48-50.