用PowerBuilder建造計算機圖形評分專家系統 (轉)

worldblog發表於2007-12-02
用PowerBuilder建造計算機圖形評分專家系統 (轉)[@more@]用PowerBuilder建造圖形評分專家

王金輝、李興森、劉子英

  1.引言

  專家系統作為人工智慧應用研究最活躍和最廣泛的課題之一,現已在各個領域取得了很大的成功,其主要組成部分包括知識庫、動態、推理機、直譯器和介面介面等。知識庫關於某個領域的專門知識,推理機依據一定的策略進行推理,動態資料庫用於存放系統執行過程中所需要的和產生的各種資訊,直譯器負責解釋需要了解的一些問題,介面介面則用於人機對話。

  當前,專家系統的建造主要有以下幾種開發環境:一種是專家系統外殼;二是專家系統開發工具;三是通用人工智慧語言;四是通用設計語言,如C++、PowerBuilder、 等。

  C++較適於開發推理機比較複雜的專家系統,而對推理相對簡單、動態資料量大的專家系統則顯得大材小用,開發週期偏長。對於推理機制與方式比較簡單、知識庫資料多且複雜的這一類專家系統,特別適合用資料庫開發工具來建造。專家系統與資料庫技術的結合已成為當前計算機發展的一個重要領域。近年來,國內外相繼有人研究使用資料庫方式組織知識,並已取得一些成果。基於資料庫的專家系統以成熟的資料庫技術為載體,利用專家系統的思想方法來進行推理演繹,充分利用專家系統和關聯式資料庫技術兩者所具有的優點,以資料庫為基礎,便於新增、修改知識庫,易於透過人機對話實現簡單的學習功能,以關聯建立知識庫,引導推理,以過濾機制和技術加快搜尋,使推理更加簡單、高效。PowerBuilder是目前最有代表性的資料庫前端開發工具之一,已在管理資訊系統和資料庫應用系統中獲得廣泛應用,取得了巨大成功。

  我們用PowerBuilder 6.5設計了一個計算機圖形評分專家系統,該系統可對計算機作圖進行評價、打分,可用於各類考試,計算機輔助設計評價等,具有廣泛的應用前景。該方案已用於全國註冊建築師考試作圖題評分子系統的設計。系統總體結構如圖1所示。

  其中,評分標準獲取模組用於透過圖形介面輸入評分標準,輸入的評分標準透過知識庫管理模組進行一致性、冗餘性檢查,將正確的標準存入評分標準知識庫。圖形特徵提取模組用於從二維繪圖平臺輸出的文字,如AUTOCAD的DXF檔案中提取所需的資料,透過計算、比較,生成評分所需的屬性值,存為標準格式的檔案,用來匯入考卷事實庫。劃分數線模組用於制定成績各檔次的分數線,透過一致性檢查後存入分數線檔次庫。計算機評分結合考卷事實庫、評分標準知識庫和分數線檔次庫,進行計算、比較、推理得出初步結論,透過考生成績管理模組的一致性檢查後,存入考生成績庫。人工校核模組用於人工複核。其中計算機評分模組的流程圖如圖2所示。

  2.知識庫、資料庫設計

  (1)考卷事實庫

  包括可評分事實庫和答卷庫。可評分事實庫結構為RE_FACT(Fact_Id,Score,Score_Type),用於存放可直接評分的事實。其中,Fact_Id是事實程式碼,Score是該事實應得分數,Score_Type為給分方式。答卷庫用於存放考生答卷資訊, 其結構為EXAM_FACT( Exam_Id, Cat_Code, Item_Code, Value)。其中,Exam_Id為考生准考證號,Cat_Code是試題程式碼,Item_Code為答卷條目程式碼, Value是該條目的值。

  (2)評分標準知識庫

  包括評分標準庫和規則前後件庫,評分標準庫結構為SCORE_TREE(Item_Code, Item_Name, Item_Demand, Item_Parent_Code,Score_flag),它用於存放評分標準的所有條目內容及其關係。其中,Item_Code為評分標準條目程式碼, Item_Name為條目名稱, Item_Demand是對該條目的具體要求,Item_Parent_Code是上層條目程式碼。Score_flag用來區別該條目評分型別(直接比較給分、規則推理、計算)。

  規則前後件庫的結構為RULE_FACT(Fact_Id,Fact_Name,Item_Code,Used_By,Deduced_by, attribute)。它用於存放各規則對應的前提或結論。其中,Fact_Id是事實號,Fact_Name為事實名稱, Item_Code為條目程式碼,Used_By以此事實為條件的規則,Deduced_by 能推出此事實的規則,attribute 說明此事實型別,是目標、可推演事實、已知事實中的哪一種。

  3.推理機設計

  從評分標準庫中,按考題程式碼進行順序查詢,根據評分標誌進行相應的操作。如評分標誌為“d”,則可從事實庫中查詢Item_code相同的條目值。直接比較,正確則得到相應的分數。如評分標誌為“f”,則進一步查詢對應的引數程式碼,從考生事實庫中提出相應的引數值,將帶入函式公式計算後的值與評分標準中的正確答案比較給分。如評分標誌為“r”,則查詢可評分事實庫相應的內容,啟用規則推理,按推出的結論正確與否給分。對於適用規則進行推理的條目,有兩種推理方法,具體推理過程如下:

  第一種方法是逆向推理:(1)根據評分標準庫中需要推理的條目,在規則庫中查詢對應的事實f1,由deduced_by得到可能性最大的規則r1。(2)在規則庫中尋找r1,取出其對應的premise中的第一個事實f11,若其為可推演事實,則重複步驟(1)、(2),直到得到對應的已知事實,若全部事實成立則推理成功,否則記錄失敗資訊,轉向下一條標準。

  第二種方法為正向推理,它以深度優先策略根據已知事實中的used_by部分逐步向下推理,直到得到目標。若規則成立,則得到相應的分數,否則分數為0,記錄失敗資訊,將結果存入考生成績庫。

  本方案几種方法取長補短,可以對評分標準庫進行方便的修改、補充,從而可以用於評價其他型別的設計、考試等,適應性強,從根本上解決了專家系統知識獲取難的問題。

  4.結束語

  用PowerBuilder開發基於資料庫的專家系統,對知識的管理方便、直觀,實現了規則的動態管理,解決了專家系統知識獲取難的問題,利用資料庫索引技術和過濾機制引導推理,使推理更加簡單、高效。雖然由於計算機圖形評分涉及的知識十分繁雜,還有不少問題需要解決,但是透過全國註冊建築師考試作圖題評分系統的開發可以看出,用PowerBuilder開發基於資料庫的專家系統,時間短,見效快,高,是一種值得推廣的專家系統構造,它使領域專家在基本沒有知識工程師幫助的情況下就能建造自己領域內的專家系統。




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987243/,如需轉載,請註明出處,否則將追究法律責任。

相關文章