專利名稱:一種基于雙基融合機(jī)制的kdk*系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于知識庫中的知識發(fā)現(xiàn)技術(shù)領(lǐng)域,特別是提供了一種基于雙基融合機(jī)制的KDK*系統(tǒng),具體的講是一類新型知識發(fā)現(xiàn)系統(tǒng)的構(gòu)造方法。
背景技術(shù):
基于知識庫的知識發(fā)現(xiàn)(Knowledge Discovery in Knowledge-base,KDK)是指從知識庫中發(fā)現(xiàn)新的知識,或者對已有知識進(jìn)行提煉、修正使之更精確、更完備、更簡潔。KDK是知識發(fā)現(xiàn)領(lǐng)域一個(gè)新的具有挑戰(zhàn)性的研究方向。
知識發(fā)現(xiàn)作為知識工程和機(jī)器學(xué)習(xí)領(lǐng)域的重要分枝,從其產(chǎn)生至今的十余年間,研究的主流是基于數(shù)據(jù)庫的知識發(fā)現(xiàn)(KDD)。而基于知識庫的知識發(fā)現(xiàn),即如何從已有的海量知識庫中進(jìn)一步產(chǎn)生新的深層次的知識并擴(kuò)充到知識庫中(KDK),在國內(nèi)外基本上無人涉足。
KDK是一項(xiàng)綜合技術(shù),涉及數(shù)據(jù)庫技術(shù)、數(shù)據(jù)挖掘、計(jì)算機(jī)語言學(xué)、邏輯學(xué)、信息學(xué)等多個(gè)領(lǐng)域。給定一個(gè)大型知識庫,利用歸納、解釋、演繹、類比等方法從中產(chǎn)生新的假設(shè),這些假設(shè)在經(jīng)過事實(shí)檢驗(yàn)與評價(jià)后,形成新的知識并添加到知識庫中。它的成功將直接作用于知識獲取和大型知識庫的建設(shè),并且對于發(fā)現(xiàn)大型和通常意義下的知識庫可以產(chǎn)生怎樣的機(jī)器學(xué)習(xí)程序是很有用的。
以下給出KDK界定性的描述(1)KDK的目的是為了在真實(shí)的大型知識庫中發(fā)現(xiàn)新的知識,這種發(fā)現(xiàn)過程是非平凡的,意即這種發(fā)現(xiàn)過程的核心將是歸納,而演繹將作為輔助手段,它有可能是不保真的;(2)KDK能夠發(fā)現(xiàn)深層次的知識。具體而言就是在已有屬性與關(guān)系的基礎(chǔ)上進(jìn)一步發(fā)現(xiàn)其上的關(guān)系,從邏輯角度上說就是發(fā)現(xiàn)謂詞間的關(guān)系或函詞間的關(guān)系;(3)由于知識本身所可能具有的一些屬性,如不確定性、非單調(diào)性、不完全性等,KDK過程的進(jìn)行也將是一個(gè)復(fù)雜的多方法多途徑的過程。它與知識庫的組織、用戶對最終尋求的知識類型都緊密相關(guān),采用的推理手段可能涉及很多不同的邏輯領(lǐng)域;(4)KDK發(fā)現(xiàn)的知識應(yīng)該是新穎的、有效的、潛在有用的、用戶可理解的。
從以上界定性的描述可以看出KDK究其本質(zhì)應(yīng)是一種機(jī)器學(xué)習(xí)過程,其目的是獲取知識,學(xué)習(xí)源是知識庫中的事實(shí)、規(guī)則、模式等,學(xué)習(xí)手段是用歸納結(jié)合演繹的方法,其最終結(jié)果將既能夠發(fā)現(xiàn)事實(shí)上的知識,也能發(fā)現(xiàn)規(guī)則上的知識。因此,在具體的實(shí)現(xiàn)中,應(yīng)該采用兩條發(fā)掘線路,其一是利用歸納方法發(fā)掘事實(shí)或規(guī)則之上的規(guī)則;另一條線路是通過高階推理的方法,從規(guī)則庫中發(fā)現(xiàn)規(guī)則,即屬性與關(guān)系之上的關(guān)系。
從知識庫中發(fā)現(xiàn)知識不象從數(shù)據(jù)庫中發(fā)現(xiàn)知識那樣簡單。知識庫中的知識發(fā)現(xiàn)(KDK)與數(shù)據(jù)庫中的知識發(fā)現(xiàn)(KDD)的不同之處主要表現(xiàn)在(1)發(fā)現(xiàn)的基礎(chǔ)不同KDK針對的對象是知識庫,一個(gè)真實(shí)的知識庫一般包含事實(shí)庫和規(guī)則庫,它們的結(jié)構(gòu)與數(shù)據(jù)庫有著明顯的區(qū)別;(2)采用的手段不同知識庫中不僅包含著數(shù)據(jù),而且包含著顯性的關(guān)系,如何針對關(guān)系得出更高層次的知識,須采用與數(shù)據(jù)挖掘不同的方法。總括而論,演繹邏輯系統(tǒng)(包括經(jīng)典的和非標(biāo)準(zhǔn)的)已在計(jì)算機(jī)科學(xué)技術(shù)中占有重要的地位。機(jī)器學(xué)習(xí)、歸納學(xué)習(xí)與不確定性推理至今仍主要是以演繹邏輯系統(tǒng)作為工具的。由于計(jì)算機(jī)本身是演繹化的產(chǎn)物,而發(fā)現(xiàn)的核心是歸納;因此,唯一要做的是歸納的演繹化或演繹的歸納化。
當(dāng)前國內(nèi)外對知識庫的研究僅停留在消除知識庫的矛盾、冗余、推理鏈循環(huán)以及完備性檢測等方面,而基于知識庫中事實(shí)和規(guī)則之上的知識發(fā)現(xiàn)(KDK)尚沒有系統(tǒng)的研究成果。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于雙基融合機(jī)制的KDK*系統(tǒng),克服了知識發(fā)現(xiàn)主流發(fā)展中的問題;本發(fā)明提出了一類基于雙基融合機(jī)制的完備型KDK*新系統(tǒng)的構(gòu)造方法。
一種基于雙基融合機(jī)制的KDK*系統(tǒng),包括中央處理器、存儲(chǔ)器組成的數(shù)字計(jì)算機(jī),所述數(shù)字計(jì)算機(jī)的存儲(chǔ)器存儲(chǔ)有基礎(chǔ)數(shù)據(jù)庫和合成知識庫,其特征在于所述的合成知識庫在相應(yīng)的論域內(nèi),以屬性為基礎(chǔ)將規(guī)則庫類化為若干規(guī)則子庫,每一規(guī)則子庫表征了一類屬性。所述的數(shù)字計(jì)算機(jī)執(zhí)行下述步驟1)知識庫建構(gòu)以屬性為基礎(chǔ),形成由規(guī)則庫和事實(shí)庫組成的合成知識庫,并建立與所述基礎(chǔ)數(shù)據(jù)庫間的對應(yīng)關(guān)系;2)知識庫中知識發(fā)現(xiàn)過程根據(jù)一般知識庫中知識發(fā)現(xiàn)算法發(fā)現(xiàn)的新的初始假設(shè);3)假設(shè)的數(shù)據(jù)庫驗(yàn)證R型協(xié)調(diào)器驗(yàn)證被發(fā)現(xiàn)的新的初始假設(shè)在數(shù)據(jù)庫中的合理性;4)假設(shè)的數(shù)據(jù)庫中知識發(fā)現(xiàn)過程驗(yàn)證S型協(xié)調(diào)器將發(fā)現(xiàn)的新的初始假設(shè)送入KDD*過程中進(jìn)行定向挖掘,用KDD*的挖掘結(jié)果先行評估,若此條規(guī)則在KDD*過程中也可被發(fā)現(xiàn),則認(rèn)為該規(guī)則有效的幾率較大;反之,則認(rèn)為此知識缺乏數(shù)據(jù)支持;5)假設(shè)的知識庫驗(yàn)證T型協(xié)調(diào)器對已被KDD*過程確認(rèn)的假設(shè),產(chǎn)生一個(gè)定向搜索進(jìn)程,搜索知識庫中對應(yīng)位置是否有此生成規(guī)則的重復(fù)、冗余和矛盾;若有重復(fù),則取消該生成規(guī)則而返回KDD的“始端”;若無,則繼續(xù)KDD進(jìn)程。對于矛盾的處理,采用約束規(guī)則的條件與根據(jù)其可信度或關(guān)聯(lián)強(qiáng)度來裁決等方法;6)規(guī)則產(chǎn)生根據(jù)通過T型協(xié)調(diào)器評估結(jié)果,產(chǎn)生假設(shè)規(guī)則;7)專家評價(jià)與存儲(chǔ)對步驟6)產(chǎn)生的規(guī)則進(jìn)行專家評價(jià),通過的規(guī)則存入擴(kuò)展知識庫。
本發(fā)明所述的存儲(chǔ)器為大容量存儲(chǔ)器,也可為2~10個(gè)大容量存儲(chǔ)器組成的超大容量存儲(chǔ)系統(tǒng)。
本發(fā)明所述的數(shù)字計(jì)算機(jī)為2~10臺(tái)計(jì)算機(jī)組成的數(shù)字計(jì)算機(jī)系統(tǒng)。
本發(fā)明之步驟1)所述的對應(yīng)關(guān)系為合成知識庫的規(guī)則子庫與基礎(chǔ)數(shù)據(jù)庫的數(shù)據(jù)子類間的對應(yīng)關(guān)系。
本發(fā)明之步驟3)所述的R型協(xié)調(diào)器包括以下步驟1)根據(jù)知識庫中的所有知識素結(jié)點(diǎn)到數(shù)據(jù)庫中找到其對應(yīng)的數(shù)據(jù)子類結(jié)構(gòu),形成素結(jié)點(diǎn)的數(shù)據(jù)子類表;2)對上述的數(shù)據(jù)子類表進(jìn)行處理,使得表中僅包含屬性的域的定義;3)根據(jù)需要驗(yàn)證的知識合結(jié)點(diǎn)對上述的數(shù)據(jù)子類表進(jìn)行交、并運(yùn)算,得出結(jié)果表;4)讀出結(jié)果表中對各屬性的域的定義,進(jìn)行匹配運(yùn)算,相符者通過驗(yàn)證,反之刪去。
本發(fā)明之步驟4)所述的S型協(xié)調(diào)器包括以下步驟1)由KDK過程發(fā)現(xiàn)的新規(guī)則已通過R型協(xié)調(diào)器的驗(yàn)證,規(guī)則形式為始知識結(jié)點(diǎn)→終知識結(jié)點(diǎn)。將始知識結(jié)點(diǎn)與終知識結(jié)點(diǎn)分別化為析取范式的結(jié)構(gòu);2)將此析取范式繼續(xù)轉(zhuǎn)化,將析取范式中的每一個(gè)合取式轉(zhuǎn)化為知識庫中的基本單元,即狀態(tài)描述的形式;3)算出始結(jié)點(diǎn)與終結(jié)點(diǎn)的正則測度函數(shù)值;4)算出本條規(guī)則的正則確證度函數(shù)值;5)若本規(guī)則的正則確證度函數(shù)值低于給定閾值,則拋棄本條新知識,給出提示;6)若本條知識的正則確證度函數(shù)高于給定閾值,定向搜索數(shù)據(jù)庫,計(jì)算數(shù)據(jù)庫中對本規(guī)則的支持度和可信度。若支持度和可信度低于給定閾值,拋棄本條規(guī)則,給出提示;7)規(guī)則通過驗(yàn)證,送入評價(jià)函數(shù)中進(jìn)行評價(jià)。
本發(fā)明之步驟5)所述的T型協(xié)調(diào)器包括以下步驟1)對于通過了S型協(xié)調(diào)器評價(jià)的假設(shè),檢驗(yàn)是否可信度大于閾值若結(jié)果為假,退出;2)檢驗(yàn)假設(shè)是否重復(fù)若結(jié)果為真,退出;3)檢驗(yàn)假設(shè)是否冗余若結(jié)果為真,退出;4)檢驗(yàn)假設(shè)是否矛盾若結(jié)果為真,退出;5)存儲(chǔ)假設(shè)入合成知識庫中。
本發(fā)明首次提出了一類基于雙基融合機(jī)制的完備型KDK*新系統(tǒng);對基于知識庫的知識發(fā)現(xiàn)內(nèi)在機(jī)理中雙基融合機(jī)制的研究,不僅對知識發(fā)現(xiàn)算法具有重要的意義,而且對知識發(fā)現(xiàn)的主流發(fā)展也起到了重要的推動(dòng)作用,表現(xiàn)如下(1)雙基融合機(jī)制是對知識發(fā)現(xiàn)系統(tǒng)內(nèi)在機(jī)理的一種研究,其本質(zhì)在于數(shù)據(jù)庫與知識庫的一種協(xié)調(diào),這種協(xié)調(diào)不是簡單的疊加,而是挖掘出兩者的內(nèi)在聯(lián)系,從本質(zhì)上尋求切入點(diǎn)。這符合世界的自然規(guī)律和人對事物的認(rèn)識規(guī)律,我們可將數(shù)據(jù)庫理解為人類認(rèn)識的源泉,而知識庫相應(yīng)的應(yīng)該體現(xiàn)人類的認(rèn)識結(jié)果。將數(shù)據(jù)庫和知識庫及其基于兩者的知識發(fā)現(xiàn)過程統(tǒng)一在一個(gè)系統(tǒng)中,使它們能夠相輔相成,是一種機(jī)器智能的較高境界。
(2)加入了雙基融合機(jī)制的KDK主要的優(yōu)越性體現(xiàn)在對于假設(shè)規(guī)則的自主性評價(jià)過程中。在以往的算法中,對于假設(shè)規(guī)則的評價(jià)過程很難進(jìn)行,評估函數(shù)的采用一般是使用固定的很少變化的函數(shù),這樣評估之后還需要人類專家的大量參與,以人為的方式來評定規(guī)則的可用性。而雙基融合機(jī)制的使用大大減少了人的參與量,在專家的評估前假設(shè)規(guī)則已經(jīng)過了數(shù)據(jù)庫的評估和KDD*過程的評估,將部分意義不充分的規(guī)則刪除。
(3)由雙基融合機(jī)制與KDK*新結(jié)構(gòu)模型派生出基于知識庫中事實(shí)與規(guī)則的KDK*歸納算法。經(jīng)實(shí)驗(yàn)表明與基于事實(shí)和規(guī)則的KDK算法相比,基于卡爾納普和柯恩歸納邏輯的KDK*挖掘算法的有效性與可擴(kuò)展性更高。
本發(fā)明的優(yōu)點(diǎn)在于KDK*的結(jié)構(gòu)突破了KDK的原有封閉式結(jié)構(gòu),將數(shù)據(jù)庫與知識庫、KDD與KDK有機(jī)地融合起來,極大的減少了人工的參與,提高了系統(tǒng)的認(rèn)知自主性。在技術(shù)實(shí)現(xiàn)層面上,均具有創(chuàng)新價(jià)值,并且能夠產(chǎn)生良好的社會(huì)效益和經(jīng)濟(jì)效益。
圖1本發(fā)明基于卡爾納普歸納邏輯的KDK算法流程圖。
圖2為表2所對應(yīng)的廣義概念格哈斯圖。
圖3為KDK*系統(tǒng)總體結(jié)構(gòu)模型(R-S-T)圖4為KDK*系統(tǒng)的過程模型圖5為維護(hù)協(xié)調(diào)算法流程圖具體實(shí)施方式
1、基于事實(shí)的KDK建模與挖掘算法1.1基于屬性的知識庫建庫在KDK系統(tǒng)中,選用了基于屬性的知識表示方法,其最終形式為產(chǎn)生式規(guī)則,這主要是基于以下幾點(diǎn)考慮(1)下一步的工作中,將把KDK的結(jié)果與數(shù)據(jù)庫和KDD過程相連接,這就要求必須為知識庫和數(shù)據(jù)庫的協(xié)調(diào)留下接口。而基于屬性的建庫方式使得知識庫與數(shù)據(jù)庫在結(jié)構(gòu)上相似,便于協(xié)調(diào)。
(2)基于屬性的建庫方式可以有效的借用數(shù)據(jù)庫的現(xiàn)有功能,便于存儲(chǔ)大容量的知識,解決目前知識庫容量小的問題。
(3)基于屬性的知識庫建庫在以前也有人研究,并有實(shí)例證明基于這種方式的推理也是可行和有效的。
(4)產(chǎn)生式規(guī)則的知識表示方法具有模塊化、清晰、便于理解等優(yōu)點(diǎn),尤其重要的是它提供的是一種粗框架的表示,可以在產(chǎn)生式內(nèi)部結(jié)合基于屬性的具體表示方法。
定義1在相關(guān)于論域X的知識庫中,我們稱“一個(gè)屬性詞+一個(gè)屬性程度詞”這樣形式表示的知識結(jié)點(diǎn)為知識素結(jié)點(diǎn)。
例如“溫度高”是一個(gè)知識素節(jié)點(diǎn),它由屬性詞“溫度”和屬性程度詞“高”組成。
定義2相應(yīng)于論域X的知識結(jié)點(diǎn),是指如下形式的合式公式θ0a1θ1a2…θm-1amθm其中,ai為某一知識素結(jié)點(diǎn);θi∈J,i=0,1,…,m。這里J是由符號“∧”,“”,“(”和“)”等4個(gè)符號(不包含否定連接詞)及其任意組合,以及NOP(空)而形成的集合;但θi在其中取值要使該公式有意義;只有θ0和θm可以取空。顯然,知識素結(jié)點(diǎn)是知識結(jié)點(diǎn)的一種特殊形式。
定義3用以完全描述給定知識庫的某給定個(gè)體域的一切可能狀態(tài)的語句集稱為一個(gè)狀態(tài)描述。
定理1知識庫中的任一知識結(jié)點(diǎn)都能寫成若干個(gè)狀態(tài)描述的析取式。(證明略)有了以上定義基礎(chǔ)后,建立該系統(tǒng)知識庫的歸納模型。
1.2基于卡爾納普歸納邏輯的KDK建模在我們的研究中,選擇了卡爾納普歸納邏輯作為理論基礎(chǔ),該理論基礎(chǔ)將主要作用于知識庫的語義構(gòu)造和KDK的假設(shè)評價(jià)中。
(1)基本概念定義4m是關(guān)于某狀態(tài)描述的正則測度函數(shù),當(dāng)且僅當(dāng)m滿足以下條件①對于知識庫中的每一個(gè)狀態(tài)描述,m為正實(shí)數(shù);②知識庫中所有的狀態(tài)描述的m值之和為1。
定理2設(shè)m是知識庫中某一狀態(tài)描述的正則測度函數(shù),則每一個(gè)狀態(tài)描述的m∈
。(證明略)定義5m是知識庫中關(guān)于某狀態(tài)描述的正則測度函數(shù),擴(kuò)展m為知識庫中關(guān)于知識結(jié)點(diǎn)的正則測度函數(shù)①對于任何在知識庫中不成立的知識結(jié)點(diǎn)j,m(j)=0;②對于任何在知識庫中非不成立的知識結(jié)點(diǎn)j,m(j)是知識結(jié)點(diǎn)中所有狀態(tài)描述的m值之和m(j)=Σinmi.]]>定義6在給定的知識庫中,若m是正則測度函數(shù),c為知識庫中知識結(jié)點(diǎn)的二元函數(shù),且c(h,e)=m(h.e)/m(e),則稱c為知識庫中的正則確證函數(shù)。
即正則確證度表示了知識結(jié)點(diǎn)h和e共同成立的可能世界的個(gè)數(shù)與e成立的可能世界的個(gè)數(shù)的比值,它代表了知識結(jié)點(diǎn)間的邏輯關(guān)系。根據(jù)卡爾納普的邏輯體系,盡管h和e本身是涉及到事實(shí)經(jīng)驗(yàn)的,但只要有了適當(dāng)?shù)拇_證度理論,就可以拋棄事實(shí)根據(jù),只憑語義和語形分析得出確證度。
(2)KDK過程模型的構(gòu)建定義7KDK過程模型為一個(gè)四元組M=<W,R,M,c>,其中①W為知識結(jié)點(diǎn)集,也可理解為可能世界集;②RW→W,可理解為認(rèn)知通達(dá)關(guān)系;③M=ξη]]>為知識結(jié)點(diǎn)的正則測度函數(shù);(其中ξ關(guān)于特定狀態(tài)描述的正則測度函數(shù);η全部狀態(tài)描述的正則測度函數(shù))④c為R上的正則確證函數(shù)。
說明以上模型是針對KDK的歸納過程而建,KDK的目的是針對已知的兩個(gè)知識結(jié)點(diǎn),通過知識庫的歸納得出兩個(gè)或更多知識結(jié)點(diǎn)之間的關(guān)系,即上述模型中的R(認(rèn)知通達(dá)關(guān)系)。在這個(gè)模型中,定義了知識結(jié)點(diǎn)的正則測度函數(shù)和R上的正則確證函數(shù),對關(guān)系R進(jìn)行了量化的表示;根據(jù)這一量化值,就可知對于歸納結(jié)果的可信任程度。
(3)基于卡爾納普歸納邏輯的KDK過程模型的幾點(diǎn)說明卡爾納普歸納邏輯雖然是一種很龐大、理論較完備的歸納邏輯,但它在邏輯界中引發(fā)的爭議也較多。普遍認(rèn)為,卡爾納普歸納邏輯有其先天缺陷和不可克服的問題。而KDK的系統(tǒng)中采用了卡爾納普歸納邏輯作為建模的基礎(chǔ),這主要是基于以下幾點(diǎn)考慮①KDK系統(tǒng)的知識庫采用了基于屬性的知識表示方法,而基于卡爾納普的知識評價(jià)方法也是基于屬性的;因此,在形式上類似。
②現(xiàn)代邏輯界已普遍認(rèn)為卡爾納普邏輯因?yàn)榘凳玖藲w納問題的一種先驗(yàn)主義的解決方式,因此是一種證明的邏輯,而不是一種發(fā)現(xiàn)的邏輯。而通過前面的分析已知道在KDK過程中,要借鑒卡爾納普歸納邏輯的主要原因是用于假設(shè)規(guī)則的評價(jià);因此,是一種較適當(dāng)?shù)姆椒ā?br>
③卡爾納普歸納邏輯作為一種嚴(yán)密的數(shù)理邏輯有它的缺陷,主要原因在于它在處理無限世界中問題時(shí),它不能給出所有的狀態(tài)描述。而應(yīng)用于計(jì)算機(jī)實(shí)現(xiàn)時(shí),因?yàn)橛?jì)算機(jī)處理的只能是有窮世界,卡爾納普的障礙不會(huì)影響KDK系統(tǒng)的實(shí)現(xiàn)。
④卡爾納普在處理正則測度函數(shù)時(shí)使用了平權(quán)的方法,這也是邏輯界爭論的焦點(diǎn),因?yàn)樗荒芙o與平權(quán)制一個(gè)合理的解釋。在KDK實(shí)現(xiàn)時(shí),因?yàn)樘幚淼氖怯懈F世界,可以給不同的狀態(tài)描述以不同的權(quán)重。這個(gè)權(quán)重可以用主客觀相結(jié)合的方法給定,即首先由多專家參與共同給出加權(quán)均值,再通過掃描數(shù)據(jù)庫用統(tǒng)計(jì)方法計(jì)算出權(quán)重,最后將兩者結(jié)合。結(jié)合的方法可采用αA1+(1-α)A2的公式,此公式中A1表示主觀因子,A2表示客觀性因子,α為主觀性權(quán)值。這樣就可以極大地減少個(gè)人的主觀因素的影響。
1.3利用KDK模型從事實(shí)庫中發(fā)現(xiàn)規(guī)則基于卡爾納普歸納邏輯的KDK算法流程如圖1所示。
2、基于規(guī)則的KDK建模與挖掘算法2.1歸納假設(shè)的產(chǎn)生(1)廣義概念格的定義與基本性質(zhì)定義8若有形式背景K=(U,D,R,S),其中U是規(guī)則集合,D是規(guī)則特征屬性的集合,R是U與D之間的一個(gè)二元關(guān)系,即RU×D,S是規(guī)則支持度、可信度、綜合指標(biāo)的集合。則在此形式背景下,存在偏序集合與之相對應(yīng),并且這個(gè)偏序集合展成唯一的格結(jié)構(gòu)。
這里,規(guī)則集合U可僅以規(guī)則序列號的集合來表示。規(guī)則特征屬性集合D就是知識素結(jié)點(diǎn)的集合。R是此規(guī)則所具有的特征屬性,或說是該規(guī)則的條件和決策屬性的包含。
定義9當(dāng)且僅當(dāng)三元組(X,Y,S)滿足性質(zhì)X=g(Y),g(Y)={x∈U|yD,xRy},Y=f(X),f(X)={y∈D|xR,xRy}時(shí),稱三元組(X,Y,S)關(guān)于R是完備的,且有f(Φ)=D,g(Φ)=U。
定義10由定義8和定義9所誘導(dǎo)的格L稱為廣義概念格。
定理3所有廣義概念格中的結(jié)點(diǎn)都是最大擴(kuò)展序偶。
(證明略)定理4這種最大擴(kuò)展是偏序集中的一種閉包。對于偏序集(U,=)中的閉包,有hU→U,性質(zhì)如下①x y,x=y(tǒng)h(x)=h(y);②x,h(x)=x;③x,h(h(X))=h(x).
h(x)稱為x的h閉包。若x=h(x),則稱x是h近似。
(證明略)定理5在廣義概念格結(jié)點(diǎn)C1(X1,Y1,S1)和C2(X2,Y2,S2),若Y1<Y2X2X1,則有C1<C2X2X1。
(證明略)(2)產(chǎn)生式規(guī)則的數(shù)據(jù)庫表示若有產(chǎn)生式規(guī)則知識(包括領(lǐng)域知識或者KDD挖掘結(jié)果知識)X1∧X2∧...∧XnY1∧Y2∧...∧Ym(sup,conf),可以認(rèn)為是一個(gè)五員組(序號,條件,結(jié)果,支持度,可信度),其中Xn、Ym為語言變量,表示若有條件X1,X2,...,Xn發(fā)生,則有決策屬性Y1∧Y2∧...∧Ym成立。規(guī)則支持度為sup,可信度為conf。
其表示形式如表1所示。
表1產(chǎn)生式規(guī)則知識
(3)產(chǎn)生式規(guī)則的廣義概念格表示由廣義概念格定義,可構(gòu)造匹配的形式背景(U,D,R,S),如表2所示U={1,2,…}為規(guī)則序號,D={a1,a2,a3,a4,a5,b1,b2,…}為知識素結(jié)點(diǎn)的集合,R為每條規(guī)則的條件知識素結(jié)點(diǎn)和決策知識素節(jié),S為此條規(guī)則的支持度。可以此形式背景得到相應(yīng)的廣義概念格。如圖2為其所對應(yīng)的廣義概念格的哈斯圖。
表2產(chǎn)生式規(guī)則知識的形式背景
(4)廣義概念格結(jié)構(gòu)產(chǎn)生式規(guī)則的批量式生成在基于廣義概念格的生成算法中(算法從略),建立邊(結(jié)點(diǎn)間聯(lián)系)過程和通常的算法區(qū)別不大,但增加了支持度信息,并實(shí)時(shí)得到可信度信息;只有滿足規(guī)則支持度和可信度要求的結(jié)點(diǎn)才會(huì)被加入格中。為加快后續(xù)規(guī)則知識的發(fā)現(xiàn)過程,增加隊(duì)列FirstA,記錄知識素結(jié)點(diǎn)的首次出現(xiàn)。
此外,還提出廣義概念格的快速增量式更新算法(算法從略),其思路是對索引樹結(jié)點(diǎn)進(jìn)行分類,從而設(shè)計(jì)出一種基于樹的快速增量式廣義概念格(產(chǎn)生式規(guī)則)的生成算法。
2.2基于科恩歸納邏輯的歸納假設(shè)評價(jià)體系由2.1給出的方法和歸納學(xué)習(xí)的方法從本質(zhì)上來說都是一種歸納。而歸納是一個(gè)不保真的過程,因此對此歸納假設(shè)的評價(jià)是非常必要的。
(1)歸納假設(shè)概率的確定歸納假設(shè)的評價(jià)系統(tǒng)基于以下6條規(guī)則規(guī)則1若假設(shè)與事實(shí)相符合,則它是正確的。
規(guī)則2若假設(shè)沒有反例,則它是正確的。
規(guī)則3假設(shè)的正確性程度由其所有的相關(guān)變量的變化范圍內(nèi)無反例區(qū)域的大小決定。
在下面的內(nèi)容里,我們試圖直接確定歸納假設(shè)概率Pi值。
定義11相關(guān)變量v是假設(shè)H的相關(guān)變量,如果v的變化可能改變H的值。
定義12一個(gè)相關(guān)變量是以某一屬性(有限個(gè))不同值為定義域的變量。這些值就稱為它的變素。其中有且僅有一個(gè)是默認(rèn)變素。
定義13特征檢驗(yàn)函數(shù)Vari(H(x)),為標(biāo)記歸納假設(shè)H(x)經(jīng)受檢驗(yàn)狀況的函數(shù)。
Vari(H(x))=1表示H(x)通過某一檢驗(yàn)。Vari(H(x))=-1表示H(x)未能通過某一檢驗(yàn)。Vari(H(x))=0表示不能判斷H(x)能否通過某一檢驗(yàn)。
規(guī)則4□iH(x)∧Vari(H(x))=1□i+1H(x)若H(x)通過由增加一個(gè)相關(guān)變量構(gòu)成的檢驗(yàn)ti+1,則它的Pi值加1。這條規(guī)則是確定Pi的主要規(guī)則,稱為主規(guī)則,其余規(guī)則稱為從規(guī)則。
規(guī)則5□iH(x)∧Vari(H(x))=0□iH(x)若H(x)通過ti,但無法判斷它是否通過ti+1,則有□iH(x)。
規(guī)則6□iH(x)∧Vari(H(x))=-1□iH(x)若H(x)通過ti,但無法通過檢驗(yàn)ti+1,則有□iH(x)。
H(x)是否能經(jīng)受住某一次的檢驗(yàn),無法作出直接的回答,此時(shí)系統(tǒng)將從已知條件和H(x)出發(fā),進(jìn)行演繹推理,確定Vari(H(x))的值。特別的當(dāng)演繹結(jié)果為□iH(x)時(shí),還要進(jìn)行□iH(x)的演繹。
在歸納評價(jià)時(shí),按相關(guān)變量及其檢驗(yàn)序列,采用演繹和歸納交替的辦法,首先給出歸納假設(shè)作為從目標(biāo),從目標(biāo)出發(fā)構(gòu)造演繹的與/或樹。若演繹成功即書頁匹配成功,則返回成功的可信度;若演繹不成功而又可選取主規(guī)則,則開始進(jìn)行歸納,根據(jù)歸納結(jié)果返回相應(yīng)的Pi值,并將此值賦給相應(yīng)的與/或樹,然后利用返回的Pi值;通過計(jì)算將結(jié)果返回給根目標(biāo),從而得出目標(biāo)成立的Pi值。最后若無規(guī)則可用,則采用直接提問的方式使評價(jià)進(jìn)行下去。
定義14相關(guān)域函項(xiàng)r是一個(gè)從假設(shè)集到相關(guān)變量的有窮序列集的映射。r[H]=(v1,v2,…,vn)指已知H的全部相關(guān)變量為v1,v2,…,vn。
定義15歸納度函項(xiàng)m是一個(gè)從相關(guān)變量的有窮序列集到U={-1,0,1}n的映射。
若設(shè)歸納假設(shè)有全稱條件形式r[H]=(v1,v2,…,vn),并有dom(vi)=(vi1,vi2,…,vin),i=1,…,n。其中vik是vi的默認(rèn)變素。對H的檢驗(yàn)由一系列實(shí)驗(yàn)ti組成,每個(gè)測試實(shí)際上是對H的一個(gè)與相關(guān)域有關(guān)的蘊(yùn)涵進(jìn)行的,因此必須借助于某個(gè)域有關(guān)的判別準(zhǔn)則來決定測試結(jié)果對H是支持、否定還是中立,并以此形成證據(jù)。記m的第i個(gè)分量為mi[H]。
則r函項(xiàng)與m函項(xiàng)在H上的值刻劃了假設(shè)H經(jīng)過檢驗(yàn)所獲得的歸納評價(jià)。對給定的問題域,通過比較兩個(gè)假設(shè)的r函項(xiàng)與m函項(xiàng)的值就可以比較它們可靠性的優(yōu)劣。特別對任一假設(shè)H若imi[H]=1,則此歸納假設(shè)是完全可靠的。
(2)歸納假設(shè)的評價(jià)算法①給出歸納假設(shè)H;②確定可能證偽的所有可能的因子即相關(guān)變量,記為相關(guān)變量集合V;③確定相關(guān)域函項(xiàng)r;④確定歸納度函項(xiàng)m;⑤檢驗(yàn)控制所有N個(gè)變量,使其所有可能的組合逐個(gè)出現(xiàn);⑥計(jì)算歸納概率的Pi。
將此算法應(yīng)用于基于廣義概念格所發(fā)現(xiàn)的假設(shè)歸納規(guī)則,在給定最小歸納概率閾值后,經(jīng)驗(yàn)證得到的規(guī)則數(shù)目減少一半,而正確率大大提高了。從而驗(yàn)證了基于規(guī)則的KDK模型構(gòu)建與基于科恩歸納邏輯(做了改進(jìn))的歸納假設(shè)評價(jià)算法的有效性。
3、雙基融合機(jī)制對于雙基融合機(jī)制的研究主要是研究知識發(fā)現(xiàn)系統(tǒng)中知識信息的傳輸、存儲(chǔ)、轉(zhuǎn)換、再生的潛在規(guī)律,各子系統(tǒng)間的內(nèi)在聯(lián)系以及知識發(fā)現(xiàn)過程中各參與要素間的相互關(guān)系。
所謂雙基融合機(jī)制,是指構(gòu)建基礎(chǔ)數(shù)據(jù)庫與知識庫的內(nèi)在聯(lián)系的“通道”,從而用數(shù)據(jù)庫與KDD去制約與驅(qū)動(dòng)KDK的挖掘過程,改變KDK固有的運(yùn)行機(jī)制,在結(jié)構(gòu)與功能上形成相對于KDK而言的一個(gè)開放的優(yōu)化的擴(kuò)體。具體而論(1)KDK過程要依賴于數(shù)據(jù)庫。即在KDK過程中發(fā)現(xiàn)出的假設(shè)規(guī)則隨時(shí)送入數(shù)據(jù)庫中,以數(shù)據(jù)庫中的數(shù)據(jù)來驗(yàn)證形成假設(shè)規(guī)則的可能性;(2)KDK的發(fā)現(xiàn)過程要依賴于KDD的挖掘過程。即在KDK中發(fā)現(xiàn)出的新知識(特別是難于決斷的知識)要隨時(shí)送入KDD過程中進(jìn)行驗(yàn)證,看KDK中發(fā)現(xiàn)的規(guī)則在KDD過程中是否能被發(fā)現(xiàn)。這一過程本質(zhì)上是確定KDK中發(fā)現(xiàn)的新規(guī)則在現(xiàn)實(shí)中是否有意義;(3)KDK依賴于固有知識庫。即KDK過程中發(fā)現(xiàn)的新知識要實(shí)時(shí)的帶入固有知識庫,以驗(yàn)證新知識與固有知識是否重復(fù)、冗余和矛盾。
從以上揭示的三點(diǎn)內(nèi)涵中我們可以看出雙基融合機(jī)制的本質(zhì)是基于數(shù)據(jù)庫的知識發(fā)現(xiàn)與基于知識庫的知識發(fā)現(xiàn)的一種協(xié)同,這種協(xié)同在于挖掘兩者之間的內(nèi)在聯(lián)系,從本質(zhì)上尋找切入點(diǎn)。這符合世界的自然規(guī)律和人對事物的認(rèn)識規(guī)律。我們可將數(shù)據(jù)庫理解為人類認(rèn)識的源泉,而知識庫相應(yīng)的體現(xiàn)人類的認(rèn)識結(jié)果。將基于數(shù)據(jù)庫的知識發(fā)現(xiàn)和基于知識庫的知識發(fā)現(xiàn)統(tǒng)一在一個(gè)系統(tǒng)中,使他們能夠相輔相成,將機(jī)器智能升華到較高的境界。
要實(shí)現(xiàn)上述的三點(diǎn)內(nèi)涵,必須揭示并構(gòu)建挖掘知識庫(KB)與挖掘數(shù)據(jù)庫(DB)之間的內(nèi)在聯(lián)系以及KDD與KDK兩者作為知識發(fā)現(xiàn)過程之間的內(nèi)在聯(lián)系。
3.1同倫理論基礎(chǔ)定義16設(shè)X和Y是任意的拓?fù)淇臻g,所謂從空間X到空間Y的映射的同倫是指在空間Y中取值的函數(shù)F(x,t),它的兩個(gè)變量是空間X的點(diǎn)x和滿足條件0≤t≤1的實(shí)數(shù)t,而且這函數(shù)對于兩個(gè)變量來說都是連續(xù)的。換句話說,F(xiàn)是從空間X和實(shí)數(shù)段I=
的拓?fù)涑朔eX*I到空間Y的連續(xù)映射。同倫F產(chǎn)生從空間X到空間Y的一族連續(xù)映射ft(x)=F(x,t),這組映射連續(xù)的依賴與參數(shù)t,常常也把這樣一族映射稱為同倫。
定義17如果在空間X的一個(gè)子空間X0上,同倫F不依賴于t,即如果對于任何點(diǎn)x∈X0和任何t∈I都有F(x,t)=F(x,0),則已知同倫叫做相對于子空間X0的(或者在子空間X0上互同的)。不是相對的同倫也叫做自由同倫,它可以看作相對于空的子空間的同倫。
定義18我們說從空間X到空間Y的連續(xù)映射g同倫于連續(xù)映射f,寫成 如果存在這樣的同倫F(x,t)=ft(x),使得f0=f,f1=g,即如果對于任何點(diǎn)x∈X,f(x)=F(x,0);g(x)=F(x,1)。
同倫F叫做連接映射f與映射g的同倫。如果它在子空間X0上是互同的,則映射g叫做相對于子空間X0而同倫于映射f,寫成 rel X0相對同倫的必要條件是映射f和g在子空間X0上重合。
定義19從空間X到空間Y的連續(xù)映射f叫做同倫等價(jià),假如存在著從空間Y到空間X的這樣的連續(xù)映射g,使得合成映射gf和fg分別是從空間X和空間Y到自身的、同倫于相應(yīng)空間的互同映射IX和IY的映射 映射g也叫同倫等價(jià),而且叫做等價(jià)f的逆等價(jià)。
定義20兩個(gè)空間叫做同一同倫型的空間,假如至少存在從一個(gè)空間到另一個(gè)空間的一個(gè)同倫等價(jià)的映射。
設(shè) 是從空間X1到空間Y1的映射的任意同倫類,f1是從空間X2到空間X1的同倫等價(jià)的映射,g1是從空間Y1到空間Y2的同倫等價(jià)的映射。容易看出,對于類 的任何映射f,從空間X2到空間Y2的所有下列形狀的映射g1ff1,屬于從空間X2到空間Y2的映射的同一個(gè)同倫類 不難斷定,這樣做出的映射 □ 是從空間X1到空間Y1的同倫映射類的集合到空間X2到空間Y2的同倫映射類的集合的一一映射。因此,在把一個(gè)空間換成另一個(gè)同一同倫型的空間時(shí),同倫類集合的結(jié)構(gòu)并未改變。所以在同倫理論中可以把同一同倫型的空間看作相同的。
3.2知識庫和數(shù)據(jù)庫的內(nèi)在聯(lián)系(I)關(guān)于知識結(jié)點(diǎn)定理6在相關(guān)論域X的知識子庫中,所有知識結(jié)點(diǎn)的集合為E(有限集),其冪集是ρ(E),那么<E,ρ(E)>是一個(gè)拓?fù)淇臻g。(證明略。)定理7在以屬性為基礎(chǔ)構(gòu)建的知識庫中,所有的知識結(jié)點(diǎn)都可以表示為知識素結(jié)點(diǎn)的遞歸形式,即θ0a1θ1a2…θm-1amθm=(ar→ai)(ar和其它元素可以是知識素結(jié)點(diǎn)的遞歸)。(證明略。)由以上定理可知,知識庫中的任一知識結(jié)點(diǎn)都可轉(zhuǎn)換為知識素結(jié)點(diǎn)的遞歸表示。因此,在這個(gè)意義上,知識結(jié)點(diǎn)的屬性可以縮減成知識素節(jié)點(diǎn)的屬性。
(II)關(guān)于數(shù)據(jù)子類結(jié)構(gòu)定義21對于論域X,在與知識子庫對應(yīng)的數(shù)據(jù)子庫中,與每一知識素節(jié)點(diǎn)對應(yīng)當(dāng)四元結(jié)構(gòu)S=<U,N,I,W>稱為數(shù)據(jù)子類結(jié)構(gòu)。其中,U≠,U={u1,u2…}(u1是I型數(shù)據(jù)集合)是描述知識素節(jié)點(diǎn)“屬性詞”或“狀態(tài)詞”的數(shù)據(jù)集合類(稱為數(shù)據(jù)子類);N≠是語言值的有限集合。它描述與“程度詞”或知識素結(jié)點(diǎn)所對應(yīng)的語言值;IN→U,是數(shù)據(jù)類U按語言值劃分的映射。當(dāng)數(shù)據(jù)是連續(xù)值時(shí),通常劃分為及各交錯(cuò)的區(qū)間(即i,j(ui∩uj≠));WN→
k(k是正整數(shù))滿足n1,n2∈N(n1≤Nn2→W(n1)≤dicW(n2))n1,n2∈N(n1≠n2→W(n1)≠W(n2))其中,≤N是N上的全序,≤dic是
k上的字典序,W(n)(n∈N)是語言值的標(biāo)準(zhǔn)向量,即采樣(樣本)是與語言值區(qū)間中點(diǎn)或臨接點(diǎn)對應(yīng)的向量。
定義22在數(shù)據(jù)子類結(jié)構(gòu)S=<U,N,I,W>中,三元組<ui,ni,ri>是S的層ni∈U,ni(i=1,2,3…,v)是第i個(gè)區(qū)間的采樣數(shù)據(jù)集;ni∈N,ni(i=1,2,3…,v)是采樣數(shù)據(jù)集區(qū)間屬性的語言值;ri(i=1,2,3…,v)由下式確定
①當(dāng)ui中的采樣數(shù)據(jù)不處于交錯(cuò)區(qū)間時(shí),ri是標(biāo)準(zhǔn)向量,那么ri∈W(n);②當(dāng)ui中的采樣數(shù)據(jù)處于交錯(cuò)區(qū)間時(shí),根據(jù)插值公式,我們有 (ui°是第i個(gè)區(qū)間的標(biāo)準(zhǔn)采樣數(shù)據(jù),li是第i個(gè)區(qū)間的長度,Ai是第i個(gè)區(qū)間的標(biāo)準(zhǔn)向量,Anext是ui的鄰接區(qū)間的標(biāo)準(zhǔn)向量)根據(jù)ri*和ri,ri+1的測度,或者ri*和ri,ri-1的測度來決定選擇ri還是ri+1還是ri-1。顯然,數(shù)據(jù)子類和數(shù)據(jù)子類結(jié)構(gòu)之間存在著一一對應(yīng)關(guān)系。
(III)知識結(jié)點(diǎn)與數(shù)據(jù)子類結(jié)構(gòu)的泛同倫對應(yīng)關(guān)系定義23設(shè)X與Y是任意的拓?fù)淇臻g,稱連續(xù)映射FX×
n→Y為X到Y(jié)的映射的泛同倫。(通常意義下同倫概念的擴(kuò)展)。
定義24設(shè)f,g為從拓?fù)淇臻gX到拓?fù)淇臻gY的連續(xù)映射,若存在泛同倫F(x,t)=ft(x),使得對于任意點(diǎn)x∈X均有f(x)=F(x,(0,…,0)),g(x)=F(x,(1,…,1))則稱g泛同倫于f,并稱F為連續(xù)映射f與連續(xù)映射g的泛同倫,記作f~g。
定義25從拓?fù)淇臻gX到拓?fù)淇臻gY的連續(xù)映射f稱為泛同倫等價(jià),若存在從拓?fù)淇臻gY到拓?fù)淇臻gX的連續(xù)映射g,使得合成映射gоf和fоg分別是從X和Y到自身的、泛同倫于對應(yīng)空間的恒等映射IX和IY的映射,分別記作gоf□IX,fоg□IY;映射g也是泛同倫等價(jià),且稱為等價(jià)f的逆等價(jià)。
定義26設(shè)給定兩個(gè)拓?fù)淇臻g,若至少存在一個(gè)空間到另一個(gè)空間的一個(gè)泛同倫等價(jià)的映射,則稱這兩個(gè)空間為同一泛同倫型的空間。
定理8(結(jié)構(gòu)對應(yīng)定理)對于論域X,在相應(yīng)的知識子庫與數(shù)據(jù)子庫中,關(guān)于知識結(jié)點(diǎn)的拓?fù)淇臻g<E,Ж>與關(guān)于數(shù)據(jù)子類(結(jié)構(gòu))的拓?fù)淇臻g<F,Ч>是同一泛同倫型的空間。
(IV)實(shí)現(xiàn)以上討論中,我們將知識結(jié)點(diǎn)歸結(jié)為知識素結(jié)點(diǎn),相應(yīng)的數(shù)據(jù)子類結(jié)構(gòu)也是與知識素結(jié)點(diǎn)對應(yīng)的數(shù)據(jù)子類加以討論,由歸約原理得到了通常意義下的數(shù)據(jù)子庫與規(guī)則子庫的空間結(jié)構(gòu)為同一泛同倫型的空間。但我們知道,現(xiàn)實(shí)中的知識結(jié)點(diǎn)構(gòu)造可能是多樣的,相應(yīng)的數(shù)據(jù)子類形式也可能是復(fù)雜的。如何建立這樣形式下的關(guān)系呢?從現(xiàn)實(shí)實(shí)現(xiàn)的角度即是如何真正實(shí)現(xiàn)現(xiàn)實(shí)中的知識結(jié)點(diǎn)與數(shù)據(jù)子類間的對應(yīng)關(guān)系呢?這也可以通過我們論證的結(jié)構(gòu)對應(yīng)定理及相關(guān)的泛同倫結(jié)論得到。
首先我們在知識庫中建立知識素結(jié)點(diǎn)與知識合結(jié)點(diǎn)之間的關(guān)系。由前述討論可知由知識素結(jié)點(diǎn)上升為知識合結(jié)點(diǎn)的手段無非是通過析取或合取兩種方式(1)若以析取的形式相結(jié)合。我們可以定義一個(gè)映射,自變量為一系列知識素結(jié)點(diǎn),因變量為某知識合結(jié)點(diǎn),顯見該映射是一個(gè)連續(xù)的映射。我們很容易將其定義為在知識子庫中的一個(gè)泛同倫結(jié)構(gòu)。根據(jù)上述的結(jié)構(gòu)對應(yīng)定理,我們知道數(shù)據(jù)子類庫與知識子庫具有泛同倫對應(yīng)。因此,在數(shù)據(jù)子類庫中相應(yīng)定義的數(shù)據(jù)子類的關(guān)系運(yùn)算交的泛同倫結(jié)構(gòu)與知識子庫中定義的這種結(jié)構(gòu)是同構(gòu)的。(2)若以合取的方式相結(jié)合。我們可以得出合取條件下的同構(gòu)關(guān)系。有了這種同構(gòu)關(guān)系,我們知道由知識素結(jié)點(diǎn)上升為知識合結(jié)點(diǎn)的映射和由相應(yīng)的數(shù)據(jù)子類上升為與知識素結(jié)點(diǎn)對應(yīng)的數(shù)據(jù)子類結(jié)構(gòu)的過程構(gòu)成的映射,它們的泛同倫結(jié)構(gòu)是同構(gòu)的。對一個(gè)庫所做的處理可以直接對應(yīng)到另一個(gè)庫的相應(yīng)處理。
算法描述step1根據(jù)知識庫中的所有知識素結(jié)點(diǎn)到數(shù)據(jù)庫中找到其對應(yīng)的數(shù)據(jù)子類結(jié)構(gòu),形成素結(jié)點(diǎn)的數(shù)據(jù)子類表;step2對這樣的數(shù)據(jù)子類表進(jìn)行處理,使得表中僅包含屬性的域的定義;step3根據(jù)需要驗(yàn)證的知識合結(jié)點(diǎn)對這樣的數(shù)據(jù)子類表進(jìn)行交、并運(yùn)算,得出結(jié)果表;step4由上述理論保證,這樣得出的數(shù)據(jù)子類表與知識合結(jié)點(diǎn)形成一一對應(yīng)關(guān)系,讀出本表對各種屬性的域的定義,進(jìn)行匹配運(yùn)算,相符者通過驗(yàn)證,反之刪去。
3.3KDK與KDD的內(nèi)在聯(lián)系KDK與KDD是兩個(gè)不同的知識發(fā)現(xiàn)過程,它們在實(shí)現(xiàn)中將采用不同的理論依據(jù)和技術(shù)實(shí)現(xiàn)方法。這就為我們提出了幾個(gè)問題,如通過KDK尋找到的新知識為什么可以帶入KDD過程中尋求驗(yàn)證,其理論依據(jù)是什么?另外,在驗(yàn)證過程中兩個(gè)過程如何協(xié)調(diào),在技術(shù)實(shí)現(xiàn)上要解決的問題是什么?等。解決這些問題的途徑將依賴于我們對兩個(gè)過程間的協(xié)同關(guān)系的尋找。
(1)KDK的過程模型見定義7。
(2)KDD的過程模型定義27設(shè)數(shù)據(jù)子類X和數(shù)據(jù)子類Y在數(shù)據(jù)庫中對應(yīng)的采樣元組集分別為R(X)和R(Y)。若這兩個(gè)元組集間存在關(guān)系R(X)R(Y),則稱這兩個(gè)數(shù)據(jù)子類間存在可達(dá)關(guān)系;否則稱這兩個(gè)數(shù)據(jù)子類間存在不可達(dá)關(guān)系。
定義28數(shù)據(jù)子類的支持度sup定義為此數(shù)據(jù)子類結(jié)構(gòu)中含有的元組個(gè)數(shù)與整個(gè)數(shù)據(jù)庫中包含的元組個(gè)數(shù)的比值。很顯然,該比值滿足以下條件①對于數(shù)據(jù)庫中的每一個(gè)數(shù)據(jù)子類,支持度是一個(gè)正實(shí)數(shù);②數(shù)據(jù)庫中所有不相交的數(shù)據(jù)子類的支持度之值的和為1。
定義29若sup是數(shù)據(jù)子類的支持度,則數(shù)據(jù)庫中可達(dá)關(guān)系的可信度rel(挖掘可信度)定義為一個(gè)二元函數(shù),即rel(a,b)=sup(a,b)/sup(b)。其中sup(a,b)表示數(shù)據(jù)子類a和b同時(shí)出現(xiàn)的支持度。
定義30定義KDD過程模型為一個(gè)四元組N=<S,F(xiàn),sup,rel>①S為數(shù)據(jù)子類集;②F為數(shù)據(jù)子類集上的可達(dá)關(guān)系,可理解為數(shù)據(jù)子類集上的挖掘途徑;③sup為數(shù)據(jù)子類的支持度;④rel為F上的挖掘可信度。
其中 (特定數(shù)據(jù)子類結(jié)構(gòu)的采樣元組數(shù);ψ整個(gè)數(shù)據(jù)庫的元組數(shù));rel如定義29所示。
(3)KDK過程模型與KDD過程模型的協(xié)同對應(yīng)關(guān)系定理9(邏輯等價(jià)定理)設(shè)KDK的過程模型為M=<W,R,M,c>,KDD的過程模型為N=<S,F(xiàn),sup,rel>。在依數(shù)據(jù)子類結(jié)構(gòu)構(gòu)建數(shù)據(jù)庫,依知識結(jié)點(diǎn)網(wǎng)絡(luò)構(gòu)建知識庫的條件下,M與N各要素間建立了一一對應(yīng)關(guān)系;即M與N邏輯等價(jià)。其中,W知識結(jié)點(diǎn)集,R認(rèn)知通達(dá)關(guān)系,M正則測度函數(shù),c正則確信度函數(shù);S數(shù)據(jù)子類集,F(xiàn)可達(dá)關(guān)系,sup數(shù)據(jù)子類的支持度,relF上的挖掘可信度。
證明①W與S的一一對應(yīng)關(guān)系(見前節(jié))。
②R與F的一一對應(yīng)關(guān)系知識庫中R是知識結(jié)點(diǎn)間的認(rèn)知通達(dá)關(guān)系,即知識結(jié)點(diǎn)間可由歸納推理相連接的關(guān)系。數(shù)據(jù)庫中F是數(shù)據(jù)子類間的可達(dá)關(guān)系,即數(shù)據(jù)庫中的挖掘途徑。在具體闡明這兩種關(guān)系之間的對應(yīng)前,我們先提出以下原理并給予說明。
一致性原理在可能世界中,知識庫中知識的演變進(jìn)化與數(shù)據(jù)庫中數(shù)據(jù)的變遷是一致的。
在由數(shù)據(jù)子類集S構(gòu)造的數(shù)據(jù)庫中,設(shè)α,β∈S,且αFβ。即α,β對應(yīng)的數(shù)據(jù)庫元素集α*與β*間存在包含關(guān)系,不妨設(shè)定為α*β*。由①,α*與β*分別對應(yīng)知識結(jié)點(diǎn)αr,αs而αr至αs的推理關(guān)系記作αr→αs。顯見,α*β*對應(yīng)著αr→αs(即αr至αs的認(rèn)知通達(dá)關(guān)系)記作αrRαs;反之亦然,αrRαs對應(yīng)著αFβ。
我們知道,現(xiàn)實(shí)世界中的數(shù)據(jù)庫一般都是處在不斷的動(dòng)態(tài)變化中,一旦數(shù)據(jù)庫發(fā)生變化,相應(yīng)的數(shù)據(jù)子類中包含的元組就發(fā)生變化,其間的包含關(guān)系也就發(fā)生變化。根據(jù)上述原理,將意味著知識庫中知識結(jié)點(diǎn)間認(rèn)知通達(dá)關(guān)系產(chǎn)生變化和更新,因此知識結(jié)點(diǎn)間的認(rèn)知通達(dá)關(guān)系的變化依賴于數(shù)據(jù)庫中的數(shù)據(jù)結(jié)點(diǎn)間可達(dá)關(guān)系的變化;反之亦然。
由上述得出,無論是在相對靜態(tài)的數(shù)據(jù)庫和知識庫中,還是在不斷變化的數(shù)據(jù)庫和知識庫中,數(shù)據(jù)子類的可達(dá)關(guān)系和知識結(jié)點(diǎn)的認(rèn)知通達(dá)關(guān)系間都存在著一一對應(yīng)關(guān)系。這種對應(yīng)關(guān)系我們可以總結(jié)為由數(shù)據(jù)子類的可達(dá)關(guān)系我們可以得出知識庫中的某規(guī)則,而這條規(guī)則的實(shí)質(zhì)是與數(shù)據(jù)子類相對應(yīng)的知識結(jié)點(diǎn)間的某種認(rèn)知通達(dá)關(guān)系;由知識結(jié)點(diǎn)間的認(rèn)知通達(dá)關(guān)系我們可以認(rèn)定數(shù)據(jù)庫中有相應(yīng)的數(shù)據(jù)子類,而這些數(shù)據(jù)子類間必定存在著某種可達(dá)關(guān)系。
③M與sup的一一對應(yīng)關(guān)系根據(jù)定義15,知識結(jié)點(diǎn)的正則測度函數(shù)m是由知識庫中狀態(tài)描述的正則測度函數(shù)算出的。對于狀態(tài)描述的正則測度函數(shù)值,可考慮兩種設(shè)定方式一是采取卡爾納普原來的方法,對任意的狀態(tài)描述采用無差別原則。這樣簡單易用,缺點(diǎn)在于無差別原則本身不能體現(xiàn)出狀態(tài)描述本身的差異性,在邏輯上缺乏嚴(yán)密性。二是可以考慮給不同的狀態(tài)描述不同權(quán)重的方法,由多專家共同給出,或通過數(shù)據(jù)庫掃描給出概率值作為正則測度函數(shù)。這樣算出的正則測度函數(shù)具有一定的客觀性,體現(xiàn)出了不同狀態(tài)描述間的差異,避免了卡爾納普邏輯的困難,但在實(shí)用上有一定的時(shí)空復(fù)雜性。
根據(jù)定義4,一個(gè)知識庫中某給定個(gè)體域的所有狀態(tài)描述的正則測度函數(shù)值的總和為1。一個(gè)知識結(jié)點(diǎn)的正則測度函數(shù)值是其中包含的所有狀態(tài)描述的正則測度函數(shù)值的和。假設(shè)我們把整個(gè)數(shù)據(jù)庫看作一個(gè)數(shù)據(jù)子類,那么這個(gè)數(shù)據(jù)子類在相應(yīng)的知識庫中所對應(yīng)的知識結(jié)點(diǎn)中將包含所有的狀態(tài)描述,則這個(gè)知識結(jié)點(diǎn)的正則測度函數(shù)值應(yīng)該為1。而在現(xiàn)實(shí)情況下,我們擁有的數(shù)據(jù)庫一般都不是完全數(shù)據(jù)庫,而且我們要挖掘的數(shù)據(jù)子類一般也不是整個(gè)數(shù)據(jù)庫,因此知識結(jié)點(diǎn)的正則測度函數(shù)值一般在0到1之間。這一點(diǎn)與數(shù)據(jù)庫中的支持度相同。因此,正則測度函數(shù)與支持度的定義域和值域是一致的。
再根據(jù)M與sup的定義,確定的數(shù)據(jù)子類結(jié)構(gòu)的采樣元組數(shù)與本數(shù)據(jù)子類結(jié)構(gòu)是一一對應(yīng)的,而由結(jié)構(gòu)對應(yīng)定理得知數(shù)據(jù)子類結(jié)構(gòu)與知識庫中的某一特定的知識結(jié)點(diǎn)是一一對應(yīng)的,因此,與知識庫中特定的知識結(jié)點(diǎn)是一一對應(yīng)的,也就與特定狀態(tài)描述的正則測度函數(shù)ξ是一一對應(yīng)的。另一方面,整個(gè)數(shù)據(jù)庫的元組數(shù)ψ與知識庫中的全部狀態(tài)描述的個(gè)數(shù)是一一對應(yīng)的,即與全部狀態(tài)描述的正則測度函數(shù)η是一一對應(yīng)的。由于M和sup的計(jì)算公式中的分子和分母都具有一一對應(yīng)的關(guān)系,因此,M和sup是一一對應(yīng)的。
④c與rel的一一對應(yīng)關(guān)系正則確證函數(shù)c與挖掘可信度rel分別由定義4.32與定義4.31給出,用類似于③的證明,可得c與rel是一一對應(yīng)的。
綜上①-④M與N邏輯等價(jià)得證。
通過以上論證,我們有以下結(jié)論1).KDK與KDD本質(zhì)上是一致的。在理想世界中,通過數(shù)據(jù)庫的知識發(fā)現(xiàn)與通過知識庫的知識發(fā)現(xiàn)所得的結(jié)論是一致的。因此,將KDK所得結(jié)果帶入KDD中進(jìn)行驗(yàn)證是合乎自然規(guī)律和人類認(rèn)識過程的。
2).現(xiàn)實(shí)世界中,由于認(rèn)識和搜集數(shù)據(jù)能力的限制,數(shù)據(jù)庫與知識庫往往具有不一致性。因此,將KDK與KDD過程相結(jié)合有助于形成一個(gè)更加完備的知識發(fā)現(xiàn)系統(tǒng)。
3).由于KDK與KDD本質(zhì)上的一致性,使得兩個(gè)過程是完全協(xié)同的過程。因此,在實(shí)現(xiàn)中不會(huì)出現(xiàn)沖突和矛盾等現(xiàn)象,即兩個(gè)過程基本可以實(shí)現(xiàn)直接疊加。
4).之所以只對兩個(gè)過程進(jìn)行定性的協(xié)同分析而不作定量映射分析,也正是因?yàn)楝F(xiàn)實(shí)世界中數(shù)據(jù)庫與知識庫通常所具有的不一致性。
3.4雙基融合機(jī)制的實(shí)現(xiàn)雙基融合機(jī)制的核心是基于知識庫的知識發(fā)現(xiàn)與基于數(shù)據(jù)庫的知識發(fā)現(xiàn)的有機(jī)結(jié)合。這一結(jié)合的理論基礎(chǔ)是要尋找知識庫與數(shù)據(jù)庫的相互對應(yīng)關(guān)系,其技術(shù)實(shí)現(xiàn)之三是通過三個(gè)協(xié)調(diào)器來具體完成。
R型協(xié)調(diào)器在KDK過程中主要是通過綜合歸納來發(fā)現(xiàn)新知識。知識庫的組成包括兩大部分事實(shí)和規(guī)則;KDK試圖從現(xiàn)有的這些知識中推理出可被人理解的,具有一定的可信程度的新知識,這種新知識的發(fā)現(xiàn)過程是非平凡的,現(xiàn)有的一些評估方法很難評價(jià)通過歸納產(chǎn)生的新知識。我們假設(shè)目標(biāo)規(guī)則的形式如下P(x,y)R(y,z)→Q(x,y),己知p,q,求r。通過KDK的歸納,尋找出了所有有可能的R值,本協(xié)調(diào)器所做的工作是檢驗(yàn)假設(shè)中所有謂詞變量的定義域的相符情況,即由歸納得出的R中的y是否與已有的P中的y定義相符,而R中的z是否與Q中的z定義相符。在數(shù)據(jù)庫中定義了所有字段的域范圍,將P、Q、R的自變量和因變量值分別帶入檢驗(yàn),只有相符的才形成假設(shè)。
S型協(xié)調(diào)器KDK發(fā)現(xiàn)的規(guī)則在進(jìn)行評價(jià)前,我們先將其中不易判明可靠性的規(guī)則送入KDD*過程中進(jìn)行定向挖掘,用KDD*的挖掘結(jié)果先行評估,若此條規(guī)則在KDD*過程中也可被發(fā)現(xiàn),則認(rèn)為該規(guī)則有效的幾率較大;反之,則認(rèn)為此知識缺乏數(shù)據(jù)支持。
T型協(xié)調(diào)器在規(guī)則己被KDD*過程確認(rèn)后,我們將產(chǎn)生一個(gè)定向搜索進(jìn)程,搜索知識庫中對應(yīng)位置是否有此生成規(guī)則的重復(fù)、冗余和矛盾。這樣可以實(shí)時(shí)地處理重復(fù)、冗余和矛盾的知識,做到只對那些最有可能成為新知識的假設(shè)進(jìn)行評價(jià),從而最大限度的減少評價(jià)量。
根據(jù)前述KDK過程模型與KDD過程模型的邏輯等價(jià)定理,由R型協(xié)調(diào)器、S型協(xié)調(diào)器和T型協(xié)調(diào)器可以實(shí)現(xiàn)定向搜索和挖掘,具有良好的靈活性和時(shí)空復(fù)雜度。
4、KDK*的結(jié)構(gòu)模型和過程模型總的來說, 基于雙基融合機(jī)制的知識發(fā)現(xiàn)系統(tǒng)KDK*的總體結(jié)構(gòu)模型和過程模型分別如圖3、圖4所示。
1、用于進(jìn)行知識發(fā)現(xiàn)的知識庫來源于合成知識庫,合成知識庫包括兩方面的知識一是基礎(chǔ)知識庫,即專家的領(lǐng)域知識,二是從KDD*過程中發(fā)掘出來的知識。兩部分知識通過冗容性處理后形成了合成知識庫。
2、對于合成知識庫實(shí)施如前節(jié)中所述的KDK算法,對于KDK算法,我們將做的改進(jìn)是研究KDK的內(nèi)在機(jī)理,在此基礎(chǔ)上判斷是否可加入適當(dāng)?shù)脑u估參量;算法完成后,形成了初步假設(shè)。
3、在初步假設(shè)形成和規(guī)則形成之間,我們加入了一個(gè)R型協(xié)調(diào)器,此協(xié)調(diào)器的功能是驗(yàn)證假設(shè)在數(shù)據(jù)庫中的合理性,具體說明見下文;然后,我們加入了S型協(xié)調(diào)器,此協(xié)調(diào)器的功能是驗(yàn)證假設(shè)在現(xiàn)實(shí)中的合理性,下文也有詳細(xì)說明;規(guī)則入庫前,還需經(jīng)過T型協(xié)調(diào)器,此協(xié)調(diào)器主要驗(yàn)證新知識與已有知識的相容性等,類似于KDD*中的維護(hù)型協(xié)調(diào)器。經(jīng)過這三個(gè)協(xié)調(diào)器的作用后,我們進(jìn)行規(guī)則評估。評估過程主要是人機(jī)對話,領(lǐng)域?qū)<抑苯訁⑴c,評價(jià)該條規(guī)則是否具有實(shí)際價(jià)值。
可以看出融入了雙基融合機(jī)制的KDK*的主要優(yōu)越性體現(xiàn)在對于假設(shè)規(guī)則的自主性評價(jià)過程中。在以往的算法中,對于假設(shè)規(guī)則的評價(jià)過程很難進(jìn)行,評估函數(shù)的采用一般是使用固定的很少變化的函數(shù);這樣評估之后還需要領(lǐng)域?qū)<业拇罅繀⑴c,以人為的方式來評定規(guī)則的可用性。而雙基融合機(jī)制的使用大大減少了人的參與量,在專家的評估前假設(shè)規(guī)則已經(jīng)過了數(shù)據(jù)庫的評估和KDD*過程的評估,將部分意義不充分的規(guī)則刪除。
KDK*的結(jié)構(gòu)突破了KDK的原有封閉式結(jié)構(gòu),將數(shù)據(jù)庫與知識庫、KDD與KDK有機(jī)地融合起來,極大的減少了人工的參與,提高了系統(tǒng)的認(rèn)知自主性。
1.知識庫的構(gòu)建(1)知識庫構(gòu)建的原則以屬性為基礎(chǔ),其特點(diǎn)是便于形成知識結(jié)點(diǎn)與數(shù)據(jù)子類的對應(yīng)關(guān)系,從而為定向數(shù)據(jù)挖掘奠定基礎(chǔ)。
(2)邏輯結(jié)構(gòu)在相應(yīng)的論域內(nèi),以屬性為基礎(chǔ)將規(guī)則庫類化為若干規(guī)則子庫,每一規(guī)則子庫與挖掘數(shù)據(jù)庫相對應(yīng)。
知識庫分為規(guī)則庫和事實(shí)庫,在以屬性為原則的建庫基礎(chǔ)上,可將這兩個(gè)庫存儲(chǔ)在同一張表格中。在相應(yīng)的論域內(nèi),以屬性為基礎(chǔ)將規(guī)則庫類化為若干規(guī)則子庫。每一規(guī)則子庫表征了一類屬性。規(guī)則子庫只是一個(gè)邏輯上的概念,即在實(shí)現(xiàn)中我們不以數(shù)據(jù)庫顯式地存儲(chǔ)各個(gè)規(guī)則子庫,而是利用SQL語句編制與各個(gè)規(guī)則子庫相對應(yīng)的“存儲(chǔ)過程”(即stored procedure),當(dāng)需要某規(guī)則子庫中的規(guī)則時(shí),相應(yīng)的“存儲(chǔ)過程”可以生成一個(gè)臨時(shí)表,此表就是所需的規(guī)則子庫。規(guī)則子庫與數(shù)據(jù)子類的對應(yīng)關(guān)系在上文中已有詳細(xì)說明,這樣構(gòu)造出規(guī)則子庫后,對應(yīng)關(guān)系在實(shí)現(xiàn)上就有了具體方法。
舉例說明如,規(guī)則子庫結(jié)構(gòu)如下表4表4規(guī)則子庫結(jié)構(gòu)表
對于規(guī)則子庫1NA=10表明此子庫中的規(guī)則的前提部分最多含有10個(gè)條件;對于具體一條規(guī)則既可以有多個(gè)條件,也可以只有一個(gè)條件;AP1=2表明前提的第一個(gè)條件的語言變量ID為2,對應(yīng)的外部名稱為壓力;APn=0表明不含第n個(gè)條件,對子庫1AP11、AP12、…、APn均為0;B=5表明此類規(guī)則中結(jié)論部分最多含有5個(gè)斷言;BP1=2008表明結(jié)論部分的第一個(gè)斷言的語言變量為轉(zhuǎn)速變化;BPm=0表明結(jié)論部分不含第m個(gè)斷言,對子庫1BP6、BP7、…、BPm均為0;即規(guī)則子庫1中為壓力等語言變量的不同狀(變)態(tài)蘊(yùn)涵轉(zhuǎn)速變化等語言變量的不同狀(變)態(tài)的規(guī)則總和。
以上建庫方式是針對普遍情況而言的。由”結(jié)構(gòu)對應(yīng)定理”將數(shù)據(jù)庫與規(guī)則庫的對應(yīng)明確體現(xiàn)到了數(shù)據(jù)子類結(jié)構(gòu)的層與知識素結(jié)點(diǎn)的對應(yīng)中,因此,規(guī)則子庫可以體現(xiàn)為知識素結(jié)點(diǎn)。
而最終的規(guī)則庫結(jié)構(gòu)如下表5表5規(guī)則庫結(jié)構(gòu)表
以規(guī)則1為例說明其屬于規(guī)則子庫1,即由壓力等的不同狀(變)態(tài),蘊(yùn)涵轉(zhuǎn)速變化等的不同狀(變)態(tài)的規(guī)則集合。
條件1對應(yīng)的語言變量ID(AP1)為2,代表“壓力”;語言值ID(AV1)為1,不妨假設(shè)其代表的語言值可形象地描述為“較高”;斷言1對應(yīng)的語言變量ID(BP1)為4,代表“轉(zhuǎn)速變化”;語言值ID(BV1)為4,不妨假設(shè)其表達(dá)的語言值可形象地描述為“非常明顯”;則規(guī)則可形象地描述為IF壓力較高(權(quán)0.6)AND…THEN轉(zhuǎn)速變化非常明顯AND…可信度0.9(3)物理結(jié)構(gòu)
①總知識庫的結(jié)構(gòu)??傊R庫存儲(chǔ)各個(gè)知識子庫的信息,包括知識子庫ID、知識子庫名稱、知識子庫語言變量個(gè)數(shù)、規(guī)則數(shù)量、對應(yīng)的數(shù)據(jù)字典、對應(yīng)的挖掘數(shù)據(jù)庫名稱等。
②知識子庫的結(jié)構(gòu)。
方案一是從知識庫所管理對象及要實(shí)現(xiàn)的功能分析,最直觀的想法是建立一個(gè)反映知識結(jié)點(diǎn)間關(guān)系的二維數(shù)組。它的第一維是組成規(guī)則的全部知識始結(jié)點(diǎn);第二維是組成規(guī)則的全部知識終結(jié)點(diǎn);二維數(shù)組的每一個(gè)元素包含相應(yīng)規(guī)則的信息,如關(guān)聯(lián)規(guī)則可以包括支持度(SUP)、可信度(CF)、充分性因子(LS)等。
這樣的物理結(jié)構(gòu)使得規(guī)則對應(yīng)于一個(gè)固定的數(shù)組位置,每當(dāng)挖掘出或增加一個(gè)新的知識時(shí),就可確定其在數(shù)組中的位置,從而對相應(yīng)位置規(guī)則的參數(shù)進(jìn)行修正。顯然,如果建立這樣一個(gè)知識庫,完成知識庫的一致性校驗(yàn)及兩個(gè)協(xié)調(diào)器的知識支持是十分方便的。
但這樣的物理結(jié)構(gòu)也存在一定的問題首先,這將是一個(gè)龐大的數(shù)組,是全體屬性程度詞(語言變量值)的組合問題,有可能造成組合爆炸。其次,由于其中的很多規(guī)則暫時(shí)是不能通過基礎(chǔ)知識或由挖掘產(chǎn)生的知識分解產(chǎn)生的,因此在某種程度上可以將此矩陣看成一個(gè)極稀疏矩陣,以數(shù)組的形式存儲(chǔ)將浪費(fèi)極大的空間。再次,把一些參數(shù)如支持度、可信度、充分型因子等放在數(shù)據(jù)表的一個(gè)字段中,就很難操作(包括對其中一項(xiàng)的查詢,統(tǒng)計(jì)等),失去了關(guān)系數(shù)據(jù)庫的一些優(yōu)點(diǎn),因此從以上幾方面考慮,此方案不十分可行。
方案二我們考慮到相應(yīng)于規(guī)則子庫的挖掘數(shù)據(jù)庫的屬性是相對穩(wěn)定的,那么可以用這些屬性也作為規(guī)則子庫的屬性,具體結(jié)構(gòu)如下表3所示表6規(guī)則子庫結(jié)構(gòu)
在此給出的是簡約規(guī)則表的初始表,因此沒有規(guī)則前、后件的記錄位置,因?yàn)橐?guī)則表的屬性是動(dòng)態(tài)確定的,這也是本系統(tǒng)的特色之處。每增加一個(gè)語言變量,就自動(dòng)增加一個(gè)前件屬性,字段名為(C+語言變量名)和一個(gè)后件屬性,字段名為(R+語言變量ID),由于這兩個(gè)字段主要存儲(chǔ)每個(gè)簡約規(guī)則的對應(yīng)語言變量的語言值ID,所以應(yīng)與語言值ID的類型相同。每刪除一個(gè)語言變量,就首先自動(dòng)刪除所有相關(guān)規(guī)則,然后刪除該語言變量所對應(yīng)的字段。
2.三個(gè)協(xié)調(diào)算法R型協(xié)調(diào)算法我們知道數(shù)據(jù)子類結(jié)構(gòu)的層與知識素結(jié)點(diǎn)間有一一對應(yīng)關(guān)系。在具體實(shí)現(xiàn)R型協(xié)調(diào)器時(shí),首先應(yīng)在知識庫的結(jié)構(gòu)上明確體現(xiàn)這種協(xié)調(diào)對應(yīng)關(guān)系,然后在這樣結(jié)構(gòu)的知識庫上實(shí)現(xiàn)R型協(xié)調(diào)器。
依據(jù)前述方式構(gòu)建知識庫和知識子庫,就為R型協(xié)調(diào)器的具體實(shí)現(xiàn)創(chuàng)造了條件。這樣,實(shí)現(xiàn)R型協(xié)調(diào)器時(shí)先依據(jù)數(shù)據(jù)子庫劃分整個(gè)數(shù)據(jù)庫,在預(yù)處理時(shí)就可以形成與知識素結(jié)點(diǎn)集對應(yīng)的數(shù)據(jù)子庫,這樣形成的數(shù)據(jù)子庫存儲(chǔ)容量不大;而且在以后的搜索中可以避免整個(gè)數(shù)據(jù)庫的全局搜索,直接定向到對應(yīng)的數(shù)據(jù)子庫中去,大大縮減搜索空間。在實(shí)現(xiàn)中我們選取了現(xiàn)有的KDK算法做一個(gè)簡單模擬,因?yàn)榇怂惴ㄉ婕暗降闹R結(jié)點(diǎn)結(jié)構(gòu)都較簡單,因此具體步驟如下step1根據(jù)知識庫中的所有知識素結(jié)點(diǎn)到數(shù)據(jù)庫中找到其對應(yīng)的數(shù)據(jù)子類結(jié)構(gòu),形成素結(jié)點(diǎn)的數(shù)據(jù)子類表;step2對這樣的數(shù)據(jù)子類表進(jìn)行處理,使得表中僅包含屬性的域的定義;step3根據(jù)需要驗(yàn)證的知識合結(jié)點(diǎn)對這樣的數(shù)據(jù)子類表進(jìn)行交、并運(yùn)算,得出結(jié)果表;step4由上述理論保證,這樣得出的數(shù)據(jù)子類表與知識合結(jié)點(diǎn)形成一一對應(yīng)關(guān)系,讀出本表中對各屬性的域的定義,進(jìn)行匹配運(yùn)算,相符者通過驗(yàn)證,反之刪去。
以下給出針對已有KDK算法的R型協(xié)調(diào)器算法流程(設(shè)數(shù)據(jù)子類表已存在)step 1KDK產(chǎn)生三元組為{<Xi,Yi,Zi>}={<{xj1,….xjk},∩1≤t≤kP(xjt),∩1≤t≤kQ(xjt)>}If(YiZi)or(|Xi|>7),then open對應(yīng)數(shù)據(jù)庫Locate(Y),Locate(Z)//此處Y,Z表示知識素結(jié)點(diǎn),Locate表示一種定向的數(shù)據(jù)子庫和知識子庫的對應(yīng),所以知識庫中的素結(jié)點(diǎn)與數(shù)據(jù)子類結(jié)構(gòu)中的域名有對應(yīng)關(guān)系,定向到數(shù)據(jù)庫中的某數(shù)據(jù)子類結(jié)構(gòu)。
//以下是對數(shù)據(jù)庫內(nèi)部的操作if defindtype(Yi)=defindtype(Zi)then if upon(Yi)[upon(Zi)and under(Yi)μunder(Z1)
then pass this rule,step 2;else cancel this rule.step 1’if(∩1≤t≤kQ(xjt)﹁null)or(不屬于上述任何一種情況)then if尋找到連接謂詞Rthen open相應(yīng)數(shù)據(jù)庫locate(三個(gè)謂詞中的每一個(gè)參量名)//因?yàn)檫B接謂詞R是通過歸納得出,其參數(shù)與P、Q中的參數(shù)名可能有不同。重點(diǎn)要定位三個(gè)謂詞中的y、z參數(shù)。
//以下是對數(shù)據(jù)庫內(nèi)的操作if(defindtype(Yi)=defindtype(P(x)))and(defindtype(Zi)=defindtype(Q(x)))then if upon(Yi)[upon(Zi)and under(Yi)μunder(Zi)then pass this rule,step 2;else cancel this rule.step 2(常識性約束)open常識性數(shù)據(jù)庫locate(X),locate(Y),locate(Z),if程序出口為step 1then if fieldbind(Y)=fieldbind(Z)then pass this ruleelse cancel this ruleelse if程序出口為step 1’then if各參數(shù)的域約束條件相當(dāng)then pass this ruleelse cancel this rule因?yàn)楸舅惴ㄉ婕暗降闹R結(jié)點(diǎn)結(jié)構(gòu)都比較簡單,基本都屬于知識素結(jié)點(diǎn),因此在上述算法中,我們沒有強(qiáng)調(diào)素結(jié)點(diǎn)合成合結(jié)點(diǎn)后再進(jìn)行域匹配。對于知識結(jié)點(diǎn)構(gòu)成比較復(fù)雜的情況,就必須使用對應(yīng)算法;建立了這種對應(yīng)之后,對于庫不用進(jìn)行全局搜索,因此時(shí)空復(fù)雜性將大大降低。
S型協(xié)調(diào)算法在前面的論述中,我們已經(jīng)建立了KDK與KDD過程的協(xié)同對應(yīng)關(guān)系。在解決R型協(xié)調(diào)器的問題時(shí),我們構(gòu)造了知識庫與數(shù)據(jù)庫的對應(yīng)關(guān)系,這一對應(yīng)關(guān)系表現(xiàn)為KDD與KDK兩個(gè)過程間的第一要素的對應(yīng),這為KDD與KDK的協(xié)調(diào)奠定了實(shí)現(xiàn)基礎(chǔ)。因?yàn)槲覀冎?,?shù)據(jù)庫和知識庫分別是KDD和KDK的基礎(chǔ),建立了這兩者的對應(yīng)關(guān)系可以直接的體現(xiàn)在程序的入口設(shè)計(jì)中。而在本部分的協(xié)同模型中,最關(guān)鍵的是建立了KDD和KDK的第二要素的對應(yīng)。通過第二要素對應(yīng)的建立,我們知道KDD和KDK反映的是本質(zhì)上相同的一個(gè)過程,前者試圖通過量的處理表現(xiàn)客觀規(guī)律,而后者試圖通過質(zhì)的處理表現(xiàn)客觀規(guī)律。因此,這就為我們將KDK的結(jié)論送入KDD中驗(yàn)證提供了理論依據(jù)。另外,通過本部分的建模過程,我們建立了KDK的一般過程模型,更有利于我們將KDK進(jìn)行普遍化和通用化。下面我們描述一下此過程的實(shí)施過程(1).由KDK過程發(fā)現(xiàn)的新規(guī)則已通過R型協(xié)調(diào)器的驗(yàn)證,規(guī)則形式為始知識結(jié)點(diǎn)→終知識結(jié)點(diǎn)。將始知識結(jié)點(diǎn)與終知識結(jié)點(diǎn)分別化為析取范式的結(jié)構(gòu);(2).將此析取范式繼續(xù)轉(zhuǎn)化,將析取范式中的每一個(gè)合取式轉(zhuǎn)化為知識庫中的基本單元,即狀態(tài)描述的形式;(3).算出始結(jié)點(diǎn)與終結(jié)點(diǎn)的正則測度函數(shù)值;(4).算出本條規(guī)則的正則確證度函數(shù)值;(5).若本規(guī)則的正則確證度函數(shù)值低于給定閾值,則拋棄本條新知識,給出提示;(6).若本條知識的正則確證度函數(shù)高于給定閾值,定向搜索數(shù)據(jù)庫,計(jì)算數(shù)據(jù)庫中對本規(guī)則的支持度和可信度。若支持度和可信度低于給定閾值,拋棄本條規(guī)則,給出提示;(7).規(guī)則通過驗(yàn)證,送入評價(jià)函數(shù)中進(jìn)行評價(jià)。
由以上步驟我們看出,整個(gè)過程的核心所在是知識相對于數(shù)據(jù)庫的定向,這實(shí)際上也是KDD過程的一種自主性聚焦方式。定向挖掘的理論基礎(chǔ)在上文中已有論述,而具體的技術(shù)實(shí)現(xiàn)類似于R型協(xié)調(diào)器的定向方式,在此不再贅述。我們已經(jīng)知道,本系統(tǒng)知識庫的建庫是基于屬性的建庫。在狀態(tài)描述的正則測度函數(shù)的設(shè)定上,為簡便起見,我們選擇了卡爾納普的無差別原則進(jìn)行一個(gè)近似;待以后理論與技術(shù)進(jìn)一步成熟后,將選用給定權(quán)重的方式。閾值的給定由專家給出,系統(tǒng)為專家提供界面可以在系統(tǒng)的不斷動(dòng)態(tài)運(yùn)行中進(jìn)行閾值調(diào)整。
算法描述step 1分離始知識結(jié)點(diǎn)和終知識結(jié)點(diǎn),并分別將其轉(zhuǎn)化為析取范式。
Read rule 1 to a,if a ﹁ null do//a為以空格分開的字符串Push a into temp innlIf a=τ,then read the next character string and push into tempinn2Repeat對于inn1,調(diào)用析取范式轉(zhuǎn)化算法對于inn2,調(diào)用析取范式轉(zhuǎn)化算法將結(jié)果析取范式分別覆蓋原有inn1和inn2
step 2read inn1 to b,while b﹁null do//b為以空格分開的字符串push b into inn3beginif b=-,then dobegin若知識庫中共有m個(gè)屬性,而inn3中涉及n個(gè)屬性則將少的m-n個(gè)屬性的所有屬性值以析取的形式寫入end調(diào)用析取范式生成算法生成新的析取范式將新的析取范式覆蓋原有的inn1end對于inn2,重復(fù)上述步驟。
Step 3計(jì)算始知識結(jié)點(diǎn)和終知識結(jié)點(diǎn)的正則測度函數(shù)Read inn1 to c,I=0,while c﹁null do//c為以空格分開的字符串BeginIf c=-,then I++End對于inn2,重復(fù)上述步驟。
Step 4計(jì)算正則確證度函數(shù)令inn3=始知識結(jié)點(diǎn).終知識結(jié)點(diǎn)調(diào)用析取范式生成算法,將新生成的析取范式覆蓋原有的inn3計(jì)算inn3的正則測度函數(shù)令j=正則測度函數(shù)(inn3)/正則測度函數(shù)(inn4)j為所求值step 5if j<給定閾值then cancel this rule(實(shí)際意義為此條規(guī)則在知識庫中可信度太小)step 6if j>給定閾值then送入KDD*過程,聚焦到給定的始結(jié)點(diǎn)和終結(jié)點(diǎn)的相應(yīng)屬性。
將KDD*過程算出的支持度賦予m,可信度賦予nif m<給定閾值then cancel this ruleelse if n<給定閾值then cancel this ruleelse pass this rulestep 7送入評價(jià)函數(shù)進(jìn)行評價(jià)
T型協(xié)調(diào)算法在規(guī)則已被KDD*過程確認(rèn)后,我們將產(chǎn)生一個(gè)定向搜索進(jìn)程,搜索知識庫中對應(yīng)位置是否有此生成規(guī)則的重復(fù)、冗余和矛盾。這樣可以實(shí)時(shí)地將重復(fù)、矛盾知識淘汰掉,做到只對那些最有可能成為新知識的假設(shè)進(jìn)行評價(jià),從而最大限度的減少評價(jià)量。該協(xié)調(diào)器稱之為T型協(xié)調(diào)器(維護(hù)型協(xié)調(diào)器)。其主要功能是,當(dāng)從真實(shí)數(shù)據(jù)庫的大量數(shù)據(jù)中經(jīng)聚焦而生成感興趣的與具有一定可信度的規(guī)則(知識)后,使KDD進(jìn)程產(chǎn)生“中斷”,而去搜索知識庫中對應(yīng)位置有無此生成規(guī)則的重復(fù)、矛盾。若有重復(fù),則取消該生成規(guī)則而返回KDD的“始端”;若無,則繼續(xù)KDD進(jìn)程。對于矛盾的處理,采用約束規(guī)則的條件與根據(jù)其可信度或關(guān)聯(lián)強(qiáng)度來裁決等方法。
維護(hù)型協(xié)調(diào)器是通過維護(hù)協(xié)調(diào)算法來實(shí)現(xiàn)的,其算法流程如圖5所示。
由于維護(hù)型協(xié)調(diào)器對KDD過程的介入,可以在對于重復(fù)性、一致性、冗余性、從屬性、循環(huán)性等給予準(zhǔn)確定義的基礎(chǔ)上,利用超圖等理論工具,實(shí)時(shí)地、盡早地將重復(fù)、矛盾、冗余的知識淘汰掉,從而做到只對那些有可能成為新知識的假設(shè)進(jìn)行評價(jià),最大限度地減少了評價(jià)工作量。在實(shí)際的實(shí)現(xiàn)專家系統(tǒng)中,最終成為新知識的假設(shè)占原假設(shè)的比例是很小的(發(fā)現(xiàn)新知識是困難的),大量假設(shè)會(huì)是重復(fù)和冗余的,因此維護(hù)型協(xié)調(diào)器的引入將提高KDD的效率。
本發(fā)明最佳的實(shí)施方式已闡明,本領(lǐng)域的普通技術(shù)人員在不脫離其精神的基礎(chǔ)上所作出的各種改變皆應(yīng)包含于本發(fā)明的保護(hù)范圍之中。
權(quán)利要求
1.一種基于雙基融合機(jī)制的KDK*系統(tǒng),包括中央處理器、存儲(chǔ)器組成的數(shù)字計(jì)算機(jī),所述數(shù)字計(jì)算機(jī)的存儲(chǔ)器存儲(chǔ)有基礎(chǔ)數(shù)據(jù)庫和合成知識庫,其特征在于所述的合成知識庫在相應(yīng)的論域內(nèi),以屬性為基礎(chǔ)將規(guī)則庫類化為若干規(guī)則子庫,每一規(guī)則子庫表征了一類屬性;所述的數(shù)字計(jì)算機(jī)執(zhí)行下述步驟a、知識庫建構(gòu)以屬性為基礎(chǔ),形成由規(guī)則庫和事實(shí)庫組成的合成知識庫,并建立與所述基礎(chǔ)數(shù)據(jù)庫間的對應(yīng)關(guān)系;b、知識庫中知識發(fā)現(xiàn)過程根據(jù)一般知識庫中知識發(fā)現(xiàn)算法發(fā)現(xiàn)的新的初始假設(shè);c、假設(shè)的數(shù)據(jù)庫驗(yàn)證R型協(xié)調(diào)器驗(yàn)證被發(fā)現(xiàn)的新的初始假設(shè)在數(shù)據(jù)庫中的合理性;d、假設(shè)的數(shù)據(jù)庫中知識發(fā)現(xiàn)過程驗(yàn)證S型協(xié)調(diào)器將發(fā)現(xiàn)的新的初始假設(shè)送入KDD*過程中進(jìn)行定向挖掘,用KDD*的挖掘結(jié)果先行評估,若此條規(guī)則在KDD*過程中也可被發(fā)現(xiàn),則認(rèn)為該規(guī)則有效的幾率較大;反之,則認(rèn)為此知識缺乏數(shù)據(jù)支持;e、假設(shè)的知識庫驗(yàn)證T型協(xié)調(diào)器對已被KDD*過程確認(rèn)的假設(shè),產(chǎn)生一個(gè)定向搜索進(jìn)程,搜索知識庫中對應(yīng)位置是否有此生成規(guī)則的重復(fù)、冗余和矛盾;若有重復(fù),則取消該生成規(guī)則而返回KDD的“始端”;若無,則繼續(xù)KDD進(jìn)程;對于矛盾的處理,采用約束規(guī)則的條件與根據(jù)其可信度或關(guān)聯(lián)強(qiáng)度來裁決等方法;f、規(guī)則產(chǎn)生根據(jù)通過T型協(xié)調(diào)器評估結(jié)果,產(chǎn)生假設(shè)規(guī)則;g、專家評價(jià)與存儲(chǔ)對步驟f產(chǎn)生的規(guī)則進(jìn)行專家評價(jià),通過的規(guī)則存入擴(kuò)展知識庫。
2.根據(jù)權(quán)利要求1所述的KDK*系統(tǒng),其特征在于所述的存儲(chǔ)器為2~10臺(tái)大容量存儲(chǔ)器組成的超大容量存儲(chǔ)系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的KDK*系統(tǒng),其特征在于所述的數(shù)字計(jì)算機(jī)為2~10臺(tái)計(jì)算機(jī)組成的數(shù)字計(jì)算機(jī)系統(tǒng)。
4.根據(jù)權(quán)利要求1所述的基于雙基融合機(jī)制的完備型KDK*系統(tǒng),其特征在于所述的對應(yīng)關(guān)系為合成知識庫的規(guī)則子庫與基礎(chǔ)數(shù)據(jù)庫的數(shù)據(jù)子類間的對應(yīng)關(guān)系。
5.根據(jù)權(quán)利要求1所述的KDK*系統(tǒng),其特征在于所述的R型協(xié)調(diào)器包括以下步驟根據(jù)知識庫中的所有知識素結(jié)點(diǎn)到數(shù)據(jù)庫中找到其對應(yīng)的數(shù)據(jù)子類結(jié)構(gòu),形成素結(jié)點(diǎn)的數(shù)據(jù)子類表;對上述的數(shù)據(jù)子類表進(jìn)行處理,使得表中僅包含屬性的域的定義;根據(jù)需要驗(yàn)證的知識合結(jié)點(diǎn)對上述的數(shù)據(jù)子類表進(jìn)行交、并運(yùn)算,得出結(jié)果表;讀出結(jié)果表中對各屬性的域的定義,進(jìn)行匹配運(yùn)算,相符者通過驗(yàn)證,反之刪去。
6.根據(jù)權(quán)利要求1所述的KDK*系統(tǒng),其特征在于所述的S型協(xié)調(diào)器包括以下步驟由KDK過程發(fā)現(xiàn)的新規(guī)則己通過R型協(xié)調(diào)器的驗(yàn)證,規(guī)則形式為始知識結(jié)點(diǎn)→終知識結(jié)點(diǎn);將始知識結(jié)點(diǎn)與終知識結(jié)點(diǎn)分別化為析取范式的結(jié)構(gòu);將此析取范式繼續(xù)轉(zhuǎn)化,將析取范式中的每一個(gè)合取式轉(zhuǎn)化為知識庫中的基本單元,即狀態(tài)描述的形式;算出始結(jié)點(diǎn)與終結(jié)點(diǎn)的正則測度函數(shù)值;算出本條規(guī)則的正則確證度函數(shù)值;若本規(guī)則的正則確證度函數(shù)值低于給定閾值,則拋棄本條新知識,給出提示;若本條知識的正則確證度函數(shù)高于給定閾值,定向搜索數(shù)據(jù)庫,計(jì)算數(shù)據(jù)庫中對本規(guī)則的支持度和可信度。若支持度和可信度低于給定閾值,拋棄本條規(guī)則,給出提示;規(guī)則通過驗(yàn)證,送入評價(jià)函數(shù)中進(jìn)行評價(jià)。
7.根據(jù)權(quán)利要求1所述的KDK*系統(tǒng),其特征在于所述的T型協(xié)調(diào)器包括以下步驟對于通過了S型協(xié)調(diào)器評價(jià)的假設(shè),檢驗(yàn)是否可信度大于閾值若結(jié)果為假,退出;檢驗(yàn)假設(shè)是否重復(fù)若結(jié)果為真,退出;檢驗(yàn)假設(shè)是否冗余若結(jié)果為真,退出;檢驗(yàn)假設(shè)是否矛盾若結(jié)果為真,退出;存儲(chǔ)假設(shè)入合成知識庫中。
8.根據(jù)權(quán)利要求1所述的KDK*系統(tǒng),其特征在于所述的專家評價(jià)是利用可視化工具提供的各類圖形和分析資料通過人機(jī)交互界面由專家評價(jià)。
全文摘要
本發(fā)明提供了一種基于雙基融合機(jī)制的KDK*系統(tǒng),屬于知識庫中的知識發(fā)現(xiàn)技術(shù)領(lǐng)域。包括中央處理器、存儲(chǔ)器組成的數(shù)字計(jì)算機(jī),所述數(shù)字計(jì)算機(jī)的存儲(chǔ)器存儲(chǔ)有基礎(chǔ)數(shù)據(jù)庫和合成知識庫。所述的合成知識庫在相應(yīng)的論域內(nèi),以屬性為基礎(chǔ)將規(guī)則庫類化為若干規(guī)則子庫,每一規(guī)則子庫表征了一類屬性。本發(fā)明的優(yōu)點(diǎn)在于KDK*的結(jié)構(gòu)突破了KDK的原有封閉式結(jié)構(gòu),將數(shù)據(jù)庫與知識庫、KDD與KDK有機(jī)地融合起來,極大的減少了人工的參與,提高了系統(tǒng)的認(rèn)知自主性。在技術(shù)實(shí)現(xiàn)層面上,均具有創(chuàng)新價(jià)值,并且能夠產(chǎn)生良好的社會(huì)效益和經(jīng)濟(jì)效益。
文檔編號G06F17/30GK1760897SQ20051008696
公開日2006年4月19日 申請日期2005年11月23日 優(yōu)先權(quán)日2005年11月23日
發(fā)明者楊炳儒 申請人:北京科技大學(xué)