用PowerBuilder建造計算機圖形評分專家系統(tǒng)
王金輝、李興森、劉子英
1.引言
專家系統(tǒng)作為人工智能應(yīng)用研究最活躍和最廣泛的課題之一,現(xiàn)已在各個領(lǐng)域取得了很大的成功,其主要組成部分包括知識庫、動態(tài)數(shù)據(jù)庫、推理機、解釋器和接口界面等。知識庫存儲關(guān)于某個領(lǐng)域的專門知識,推理機依據(jù)一定的策略進行推理,動態(tài)數(shù)據(jù)庫用于存放系統(tǒng)運行過程中所需要的和產(chǎn)生的各種信息,解釋器負責(zé)解釋用戶需要了解的一些問題,接口界面則用于人機對話。
當前,專家系統(tǒng)的建造主要有以下幾種開發(fā)環(huán)境:一種是專家系統(tǒng)外殼;二是專家系統(tǒng)開發(fā)工具;三是通用人工智能語言;四是通用程序設(shè)計語言,如C++、PowerBuilder、 Visual Basic等。
C++較適于開發(fā)推理機比較復(fù)雜的專家系統(tǒng),而對推理相對簡單、動態(tài)數(shù)據(jù)量大的專家系統(tǒng)則顯得大材小用,開發(fā)周期偏長。對于推理機制與方式比較簡單、知識庫數(shù)據(jù)多且復(fù)雜的這一類專家系統(tǒng),特別適合用數(shù)據(jù)庫開發(fā)工具來建造。專家系統(tǒng)與數(shù)據(jù)庫技術(shù)的結(jié)合已成為當前計算機發(fā)展的一個重要領(lǐng)域。近年來,國內(nèi)外相繼有人研究使用數(shù)據(jù)庫方式組織知識,并已取得一些成果。基于數(shù)據(jù)庫的專家系統(tǒng)以成熟的數(shù)據(jù)庫技術(shù)為載體,利用專家系統(tǒng)的思想方法來進行推理演繹,充分利用專家系統(tǒng)和關(guān)系數(shù)據(jù)庫技術(shù)兩者所具有的優(yōu)點,以數(shù)據(jù)庫為基礎(chǔ),便于添加、修改知識庫,易于通過人機對話實現(xiàn)簡單的學(xué)習(xí)功能,以關(guān)聯(lián)建立知識庫,引導(dǎo)推理,以過濾機制和索引技術(shù)加快搜索,使推理更加簡單、高效。PowerBuilder是目前最有代表性的數(shù)據(jù)庫前端開發(fā)工具之一,已在管理信息系統(tǒng)和數(shù)據(jù)庫應(yīng)用系統(tǒng)中獲得廣泛應(yīng)用,取得了巨大成功。
我們用PowerBuilder 6.5設(shè)計了一個計算機圖形評分專家系統(tǒng)框架,該系統(tǒng)可對計算機作圖進行評價、打分,可用于各類考試,計算機輔助設(shè)計評價等,具有廣泛的應(yīng)用前景。該方案已用于全國注冊建筑師考試作圖題評分子系統(tǒng)的設(shè)計。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
其中,評分標準獲取模塊用于通過圖形界面輸入評分標準,輸入的評分標準通過知識庫管理模塊進行一致性、冗余性檢查,將正確的標準存入評分標準知識庫。圖形特征提取模塊用于從二維繪圖平臺輸出的文本文件,如AUTOCAD的DXF文件中提取所需的數(shù)據(jù),通過計算、比較,生成評分所需的屬性值,存為標準格式的文件,用來導(dǎo)入考卷事實庫。劃分數(shù)線模塊用于制定成績各檔次的分數(shù)線,通過一致性檢查后存入分數(shù)線檔次庫。計算機評分結(jié)合考卷事實庫、評分標準知識庫和分數(shù)線檔次庫,進行計算、比較、推理得出初步結(jié)論,通過考生成績管理模塊的一致性檢查后,存入考生成績庫。人工校核模塊用于人工復(fù)核。其中計算機評分模塊的流程圖如圖2所示。
2.知識庫、數(shù)據(jù)庫設(shè)計
(1)考卷事實庫
包括可評分事實庫和答卷庫。可評分事實庫結(jié)構(gòu)為SCORE_FACT(Fact_Id,Score,Score_Type),用于存放可直接評分的事實。其中,F(xiàn)act_Id是事實代碼,Score是該事實應(yīng)得分數(shù),Score_Type為給分方式。答卷庫用于存放考生答卷信息, 其結(jié)構(gòu)為EXAM_FACT( Exam_Id, Cat_Code, Item_Code, Value)。其中,Exam_Id為考生準考證號,Cat_Code是試題代碼,Item_Code為答卷條目代碼, Value是該條目的值。
(2)評分標準知識庫
包括評分標準庫和規(guī)則前后件庫,評分標準庫結(jié)構(gòu)為SCORE_TREE(Item_Code, Item_Name, Item_Demand, Item_Parent_Code,Score_flag),它用于存放評分標準的所有條目內(nèi)容及其關(guān)系。其中,Item_Code為評分標準條目代碼, Item_Name為條目名稱, Item_Demand是對該條目的具體要求,Item_Parent_Code是上層條目代碼。Score_flag用來區(qū)別該條目評分類型(直接比較給分、規(guī)則推理、函數(shù)計算)。
規(guī)則前后件庫的結(jié)構(gòu)為RULE_FACT(Fact_Id,Fact_Name,Item_Code,Used_By,Deduced_by, attribute)。它用于存放各規(guī)則對應(yīng)的前提或結(jié)論。其中,F(xiàn)act_Id是事實號,F(xiàn)act_Name為事實名稱, Item_Code為條目代碼,Used_By以此事實為條件的規(guī)則,Deduced_by 能推出此事實的規(guī)則,attribute 說明此事實類型,是目標、可推演事實、已知事實中的哪一種。
3.推理機設(shè)計
從評分標準庫中,按考題代碼進行順序查詢,根據(jù)評分標志進行相應(yīng)的操作。如評分標志為“d”,則可從事實庫中查找Item_code相同的條目值。直接比較,正確則得到相應(yīng)的分數(shù)。如評分標志為“f”,則進一步查詢對應(yīng)的參數(shù)代碼,從考生事實庫中提出相應(yīng)的參數(shù)值,將帶入函數(shù)公式計算后的值與評分標準中的正確答案比較給分。如評分標志為“r”,則查詢可評分事實庫相應(yīng)的內(nèi)容,啟用規(guī)則推理,按推出的結(jié)論正確與否給分。對于適用規(guī)則進行推理的條目,有兩種推理方法,具體推理過程如下:
第一種方法是逆向推理:(1)根據(jù)評分標準庫中需要推理的條目,在規(guī)則庫中查找對應(yīng)的事實f1,由deduced_by得到可能性最大的規(guī)則r1。(2)在規(guī)則庫中尋找r1,取出其對應(yīng)的premise中的第一個事實f11,若其為可推演事實,則重復(fù)步驟(1)、(2),直到得到對應(yīng)的已知事實,若全部事實成立則推理成功,否則記錄失敗信息,轉(zhuǎn)向下一條標準。
第二種方法為正向推理,它以深度優(yōu)先策略根據(jù)已知事實中的used_by部分逐步向下推理,直到得到目標。若規(guī)則成立,則得到相應(yīng)的分數(shù),否則分數(shù)為0,記錄失敗信息,將結(jié)果存入考生成績庫。
本方案幾種方法取長補短,可以對評分標準庫進行方便的修改、補充,從而可以用于評價其他類型的設(shè)計、考試等,適應(yīng)性強,從根本上解決了專家系統(tǒng)知識獲取難的問題。
4.結(jié)束語
用PowerBuilder開發(fā)基于數(shù)據(jù)庫的專家系統(tǒng),對知識的管理方便、直觀,實現(xiàn)了規(guī)則的動態(tài)管理,解決了專家系統(tǒng)知識獲取難的問題,利用數(shù)據(jù)庫索引技術(shù)和過濾機制引導(dǎo)推理,使推理更加簡單、高效。雖然由于計算機圖形評分涉及的知識十分繁雜,還有不少問題需要解決,但是通過全國注冊建筑師考試作圖題評分系統(tǒng)的開發(fā)可以看出,用PowerBuilder開發(fā)基于數(shù)據(jù)庫的專家系統(tǒng),時間短,見效快,效率高,是一種值得推廣的專家系統(tǒng)構(gòu)造模式,它使領(lǐng)域?qū)<以诨緵]有知識工程師幫助的情況下就能建造自己領(lǐng)域內(nèi)的專家系統(tǒng)。
王金輝、李興森、劉子英
1.引言
專家系統(tǒng)作為人工智能應(yīng)用研究最活躍和最廣泛的課題之一,現(xiàn)已在各個領(lǐng)域取得了很大的成功,其主要組成部分包括知識庫、動態(tài)數(shù)據(jù)庫、推理機、解釋器和接口界面等。知識庫存儲關(guān)于某個領(lǐng)域的專門知識,推理機依據(jù)一定的策略進行推理,動態(tài)數(shù)據(jù)庫用于存放系統(tǒng)運行過程中所需要的和產(chǎn)生的各種信息,解釋器負責(zé)解釋用戶需要了解的一些問題,接口界面則用于人機對話。
當前,專家系統(tǒng)的建造主要有以下幾種開發(fā)環(huán)境:一種是專家系統(tǒng)外殼;二是專家系統(tǒng)開發(fā)工具;三是通用人工智能語言;四是通用程序設(shè)計語言,如C++、PowerBuilder、 Visual Basic等。
C++較適于開發(fā)推理機比較復(fù)雜的專家系統(tǒng),而對推理相對簡單、動態(tài)數(shù)據(jù)量大的專家系統(tǒng)則顯得大材小用,開發(fā)周期偏長。對于推理機制與方式比較簡單、知識庫數(shù)據(jù)多且復(fù)雜的這一類專家系統(tǒng),特別適合用數(shù)據(jù)庫開發(fā)工具來建造。專家系統(tǒng)與數(shù)據(jù)庫技術(shù)的結(jié)合已成為當前計算機發(fā)展的一個重要領(lǐng)域。近年來,國內(nèi)外相繼有人研究使用數(shù)據(jù)庫方式組織知識,并已取得一些成果。基于數(shù)據(jù)庫的專家系統(tǒng)以成熟的數(shù)據(jù)庫技術(shù)為載體,利用專家系統(tǒng)的思想方法來進行推理演繹,充分利用專家系統(tǒng)和關(guān)系數(shù)據(jù)庫技術(shù)兩者所具有的優(yōu)點,以數(shù)據(jù)庫為基礎(chǔ),便于添加、修改知識庫,易于通過人機對話實現(xiàn)簡單的學(xué)習(xí)功能,以關(guān)聯(lián)建立知識庫,引導(dǎo)推理,以過濾機制和索引技術(shù)加快搜索,使推理更加簡單、高效。PowerBuilder是目前最有代表性的數(shù)據(jù)庫前端開發(fā)工具之一,已在管理信息系統(tǒng)和數(shù)據(jù)庫應(yīng)用系統(tǒng)中獲得廣泛應(yīng)用,取得了巨大成功。
我們用PowerBuilder 6.5設(shè)計了一個計算機圖形評分專家系統(tǒng)框架,該系統(tǒng)可對計算機作圖進行評價、打分,可用于各類考試,計算機輔助設(shè)計評價等,具有廣泛的應(yīng)用前景。該方案已用于全國注冊建筑師考試作圖題評分子系統(tǒng)的設(shè)計。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
其中,評分標準獲取模塊用于通過圖形界面輸入評分標準,輸入的評分標準通過知識庫管理模塊進行一致性、冗余性檢查,將正確的標準存入評分標準知識庫。圖形特征提取模塊用于從二維繪圖平臺輸出的文本文件,如AUTOCAD的DXF文件中提取所需的數(shù)據(jù),通過計算、比較,生成評分所需的屬性值,存為標準格式的文件,用來導(dǎo)入考卷事實庫。劃分數(shù)線模塊用于制定成績各檔次的分數(shù)線,通過一致性檢查后存入分數(shù)線檔次庫。計算機評分結(jié)合考卷事實庫、評分標準知識庫和分數(shù)線檔次庫,進行計算、比較、推理得出初步結(jié)論,通過考生成績管理模塊的一致性檢查后,存入考生成績庫。人工校核模塊用于人工復(fù)核。其中計算機評分模塊的流程圖如圖2所示。
2.知識庫、數(shù)據(jù)庫設(shè)計
(1)考卷事實庫
包括可評分事實庫和答卷庫。可評分事實庫結(jié)構(gòu)為SCORE_FACT(Fact_Id,Score,Score_Type),用于存放可直接評分的事實。其中,F(xiàn)act_Id是事實代碼,Score是該事實應(yīng)得分數(shù),Score_Type為給分方式。答卷庫用于存放考生答卷信息, 其結(jié)構(gòu)為EXAM_FACT( Exam_Id, Cat_Code, Item_Code, Value)。其中,Exam_Id為考生準考證號,Cat_Code是試題代碼,Item_Code為答卷條目代碼, Value是該條目的值。
(2)評分標準知識庫
包括評分標準庫和規(guī)則前后件庫,評分標準庫結(jié)構(gòu)為SCORE_TREE(Item_Code, Item_Name, Item_Demand, Item_Parent_Code,Score_flag),它用于存放評分標準的所有條目內(nèi)容及其關(guān)系。其中,Item_Code為評分標準條目代碼, Item_Name為條目名稱, Item_Demand是對該條目的具體要求,Item_Parent_Code是上層條目代碼。Score_flag用來區(qū)別該條目評分類型(直接比較給分、規(guī)則推理、函數(shù)計算)。
規(guī)則前后件庫的結(jié)構(gòu)為RULE_FACT(Fact_Id,Fact_Name,Item_Code,Used_By,Deduced_by, attribute)。它用于存放各規(guī)則對應(yīng)的前提或結(jié)論。其中,F(xiàn)act_Id是事實號,F(xiàn)act_Name為事實名稱, Item_Code為條目代碼,Used_By以此事實為條件的規(guī)則,Deduced_by 能推出此事實的規(guī)則,attribute 說明此事實類型,是目標、可推演事實、已知事實中的哪一種。
3.推理機設(shè)計
從評分標準庫中,按考題代碼進行順序查詢,根據(jù)評分標志進行相應(yīng)的操作。如評分標志為“d”,則可從事實庫中查找Item_code相同的條目值。直接比較,正確則得到相應(yīng)的分數(shù)。如評分標志為“f”,則進一步查詢對應(yīng)的參數(shù)代碼,從考生事實庫中提出相應(yīng)的參數(shù)值,將帶入函數(shù)公式計算后的值與評分標準中的正確答案比較給分。如評分標志為“r”,則查詢可評分事實庫相應(yīng)的內(nèi)容,啟用規(guī)則推理,按推出的結(jié)論正確與否給分。對于適用規(guī)則進行推理的條目,有兩種推理方法,具體推理過程如下:
第一種方法是逆向推理:(1)根據(jù)評分標準庫中需要推理的條目,在規(guī)則庫中查找對應(yīng)的事實f1,由deduced_by得到可能性最大的規(guī)則r1。(2)在規(guī)則庫中尋找r1,取出其對應(yīng)的premise中的第一個事實f11,若其為可推演事實,則重復(fù)步驟(1)、(2),直到得到對應(yīng)的已知事實,若全部事實成立則推理成功,否則記錄失敗信息,轉(zhuǎn)向下一條標準。
第二種方法為正向推理,它以深度優(yōu)先策略根據(jù)已知事實中的used_by部分逐步向下推理,直到得到目標。若規(guī)則成立,則得到相應(yīng)的分數(shù),否則分數(shù)為0,記錄失敗信息,將結(jié)果存入考生成績庫。
本方案幾種方法取長補短,可以對評分標準庫進行方便的修改、補充,從而可以用于評價其他類型的設(shè)計、考試等,適應(yīng)性強,從根本上解決了專家系統(tǒng)知識獲取難的問題。
4.結(jié)束語
用PowerBuilder開發(fā)基于數(shù)據(jù)庫的專家系統(tǒng),對知識的管理方便、直觀,實現(xiàn)了規(guī)則的動態(tài)管理,解決了專家系統(tǒng)知識獲取難的問題,利用數(shù)據(jù)庫索引技術(shù)和過濾機制引導(dǎo)推理,使推理更加簡單、高效。雖然由于計算機圖形評分涉及的知識十分繁雜,還有不少問題需要解決,但是通過全國注冊建筑師考試作圖題評分系統(tǒng)的開發(fā)可以看出,用PowerBuilder開發(fā)基于數(shù)據(jù)庫的專家系統(tǒng),時間短,見效快,效率高,是一種值得推廣的專家系統(tǒng)構(gòu)造模式,它使領(lǐng)域?qū)<以诨緵]有知識工程師幫助的情況下就能建造自己領(lǐng)域內(nèi)的專家系統(tǒng)。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=3150
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
