知識庫管理系統(tǒng)(數(shù)據(jù)庫)
時(shí)間:2022-12-09 14:30:01 | 來源:信息時(shí)代
時(shí)間:2022-12-09 14:30:01 來源:信息時(shí)代
知識庫管理系統(tǒng) : 知識庫系統(tǒng)的重要組成部分,它具有知識存取、知識庫編輯、知識利用過程和增值過程中對知識的追蹤、記錄與校核等功能。
知識庫管理系統(tǒng)體系結(jié)構(gòu)包括知識庫、知識搜索與傳遞、知識查詢以及知識庫中的知識一致性、完整性檢查等四個(gè)方面。KBMS是在關(guān)系數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)上,利用人工智能的知識表示、基于知識的推理、歸結(jié)原理、自然語言理解、機(jī)器學(xué)習(xí)等技術(shù)來構(gòu)造的。如圖1所示,由以下模塊構(gòu)成:
圖1 知識庫管理系統(tǒng)結(jié)構(gòu)
(1) 自然語言處理模塊:作為用戶接口,采用用戶熟悉的自然語言作為系統(tǒng)的輸入和輸出,為人機(jī)間的通信提供方便。
(2)編譯模塊:對知識庫系統(tǒng)中的知識定義語言和知識操作語言進(jìn)行詞法分析和語法分析,形成系統(tǒng)內(nèi)部的數(shù)據(jù)結(jié)構(gòu),為以后的處理提供條件。
(3)語義處理模塊:對用戶問題及用戶定義的知識進(jìn)行語義檢查。通常,用戶采用KQL(知識詢問)語言寫的程序?qū)χR庫進(jìn)行操作,系統(tǒng)除了對用戶操作進(jìn)行語法檢查外,還必須利用知識庫存儲的語義限制(完整性約束)對用戶操作進(jìn)行一致性檢查。
(4)推理演繹模塊:通過推理演繹得出用戶所希望的回答。
(5)數(shù)據(jù)庫管理模塊:提供關(guān)系數(shù)據(jù)庫的基本操作,如投影(映射)、選擇、連接等操作。主要對事實(shí)庫進(jìn)行管理。
(6)規(guī)則庫管理模塊: 提供檢索規(guī)則的功能。
(7)學(xué)習(xí)模塊:為知識庫自動增加新知識或修改原來不合理的知識。
知識庫管理系統(tǒng)總體功能是: 支持傳統(tǒng)(關(guān)系)數(shù)據(jù)庫管理系統(tǒng)的一切功能,包括對數(shù)據(jù)、知識的有效存取、事務(wù)處理,并且有一個(gè)描述性語言用于對知識的操縱與處理。其中:
(1)知識操縱:包括對知識庫中知識的插入、刪除及修改。知識的刪除是刪除知識庫中的某些知識,知識的插入是在知識庫中添加一些知識,它涉及到添加的知識與知識庫中的知識的相容性、冗余性等。所謂相容性即是添加的知識與知識庫中的知識是否相矛盾。所謂冗余性是指所添加的知識是多余的,它可以直接從原有知識庫中經(jīng)演繹而推出,而沒有添加這些知識的必要。
(2)知識查詢:有兩層含義。一是從知識庫中提取知識;二是從知識庫的知識中推算出一些新知識,即知識演繹。知識演繹一般有兩種形式,一種是問答式(question-answering),在給出某些知識后詢問該知識是否能由知識庫推出; 另一種是通過演繹從而獲得新的知識。知識查詢還包括知識獲取功能,即KBMS從外界獲取知識并轉(zhuǎn)換成一定的形式后經(jīng)一致性、完整性校驗(yàn),最后存入知識庫內(nèi)。
(3)知識控制:知識的控制包括知識的一致性和完整性控制、知識共享、知識安全、并發(fā)控制、故障恢復(fù)等控制功能,這些都類似于數(shù)據(jù)庫管理系統(tǒng)。
(4)知識建模:與數(shù)據(jù)庫建模一樣,在知識庫中也要建立知識模式(knowledge schema)以規(guī)范知識的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)。知識模式包括知識中事實(shí)的模式與規(guī)則的模式。其中事實(shí)模式可參照數(shù)據(jù)庫中的數(shù)據(jù)模式,而規(guī)則模式的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)目前研究較少,至今尚未見有成熟的結(jié)構(gòu)形式出現(xiàn)。
近代知識庫管理系統(tǒng)除提供一種描述性語言用于知識演繹與知識操縱外,還往往將描述性語言嵌入至一個(gè)過程性的宿主語言(如C,C++等)中,以增加系統(tǒng)的處理能力。如澳大利亞墨爾本大學(xué)研制的NV-Prolog語言,美國MCC研制的LDL(Logic Data Language)語言,美國貝克萊大學(xué)所研制的POSTQUEL語言等。為使知識庫管理系統(tǒng)走向?qū)嵱?目前有的系統(tǒng)試圖采用DBMS中的標(biāo)準(zhǔn)SQL語言的表示形式,以SQL為基礎(chǔ)進(jìn)行一定的擴(kuò)充,從而形成一種基于知識的SQL語言。
根據(jù)上述KBMS的功能可以看出,KBMS實(shí)際上是DBMS的一個(gè)擴(kuò)充,除KBMS所具有的知識處理和管理功能外,KBMS包括了DBMS的一切功能。因此,完全可以利用現(xiàn)有DBMS的已有功能來開發(fā)和實(shí)現(xiàn)KBMS。