胡 磊,趙羽晗
(南京航空航天大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 211100)
如果說人工智能的最終目標(biāo)是建造出呈現(xiàn)人類或更高級智能的智能代理的話,那么語義網(wǎng)的目標(biāo)是實現(xiàn)協(xié)助人類用戶處理網(wǎng)上日常事務(wù)的智能代理。XML作為語義網(wǎng)底層的標(biāo)簽語言,雖然其本身對于實現(xiàn)語義網(wǎng)的藍圖是不充分的,但卻是很重要的一步。XML現(xiàn)在被廣泛應(yīng)用于各種團體和商界。在很多的領(lǐng)域,人們已經(jīng)定義了基于XML的應(yīng)用,比如數(shù)學(xué)領(lǐng)域(MathML)、天文領(lǐng)域(AML)、生物信息領(lǐng)域(BSML)、投資領(lǐng)域(IRML)等等。此外,可以作為統(tǒng)一數(shù)據(jù)交換格式的XML在企業(yè)交換信息方面也發(fā)揮了巨大的作用。XML已經(jīng)成為了語義網(wǎng)相關(guān)的W3C標(biāo)準(zhǔn),基于XML的RDF也已經(jīng)給出。
在現(xiàn)實世界里,幾乎處處存在著模糊現(xiàn)象和模糊概念,例如“胖子”、“年輕人”、“高個子”、“聰明”、“性能良好”等等。人腦中形成的很多概念也都是模糊的,由此形成的判斷和推理也都是模糊的。人類可以巧妙地利用模糊的概念,用盡可能少的詞匯表達和傳遞更多的信息。顯然傳統(tǒng)的數(shù)據(jù)庫需要進行進一步的拓展,以便能夠處理不精確或者不確定的數(shù)據(jù)。模糊關(guān)系數(shù)據(jù)庫的相關(guān)研究工作已經(jīng)存在不少[1-2]。此外,模糊面向?qū)ο髷?shù)據(jù)模型[3]和模糊概念數(shù)據(jù)模型[4]也已經(jīng)提出。
既然已經(jīng)提出了模糊數(shù)據(jù)庫的相關(guān)模型,自然而然需要擴展經(jīng)典的XML模型,使得模糊數(shù)據(jù)庫中的數(shù)據(jù)能夠用XML形式表示出來。然而當(dāng)前作為數(shù)據(jù)表示和數(shù)據(jù)交換的XML不能表示和處理模糊數(shù)據(jù)。目前,關(guān)于模糊XML的相關(guān)研究已經(jīng)存在。不完全信息的XML[5]和概率區(qū)間XML以及概率數(shù)據(jù)的XML[6-7]已經(jīng)被提出。在沒有提出模糊XML數(shù)據(jù)模型的情況下,文獻[8]中提供了從模糊關(guān)系數(shù)據(jù)庫到模糊XML文檔的簡單映射。隨后,基于DTD格式的模糊XML文檔被提出[9]。由于XML Schema為定義XML的文檔結(jié)構(gòu)提供了一種更為豐富的語言,而且其語法基于XML本身,所以不需要像DTD一樣,為了支持單獨的語法而編寫?yīng)毩⒌姆治銎鳌⒕庉嬈?。所以基于XML Schema的模糊XML文檔也被提出[10]。在此基礎(chǔ)之上,有了模糊XML代數(shù)[11]和模糊XML文檔整合[12]的相關(guān)研究。
文中在相關(guān)工作的基礎(chǔ)之上,借鑒模糊邏輯中的概念方法,進一步拓展模糊XML模型,使得新的模糊XML模型既能與現(xiàn)有的模糊XML模型兼容,又能表達更強的模糊信息。
模糊信息是數(shù)據(jù)庫系統(tǒng)中廣泛存在的一種不確定信息。與隨機不確定不同的是,模糊概念本身沒有明確的外延,一個對象是否屬于這個概念是難以確定的,因此造成了劃分的不確定性。關(guān)于對不確定數(shù)據(jù)進行建模的各種方法在文獻[13]中已有介紹。
多數(shù)現(xiàn)有的處理模糊信息的方法是基于模糊集理論[14-15]和可能性分布理論[16]。
有限模糊集可表示為:
設(shè)F是論域U上的模糊集,X是在U上取值的變量,而F(u)解釋為u與標(biāo)為F的概念的相容度。與X有關(guān)的可能性分布函數(shù)用πX表示,并且在數(shù)值上定義等于F的隸屬度,即對
?u∈U,πX(u)=F(u)
也就是說,X=u的可能性πX(u)=F(u)。
在二值邏輯中,命題非真即假,非假即真,二者必居其一而且僅居其一。然而在現(xiàn)實生活中,有些命題既不絕對真,也不是絕對的假。例如,今天天氣不錯,這個數(shù)比1大很多。考慮整數(shù)10,如果說整數(shù)10絕對比1大很多,定義命題為真,這種做法顯然不合適。所以這就引出了模糊命題的概念。
定義一個具有模糊性的陳述句,稱為模糊命題,模糊命題用大寫字母A,B,C…表示。模糊命題可以簡記為F命題。
F命題利用邏輯運算符號“合取(∧)”、“析取(∨)”、“否定()”,可以遞歸地構(gòu)成新的模糊命題,稱為F命題公式。
對年齡的屬性值引入可能性分布以后,可以進一步引入模糊邏輯的相關(guān)概念來進一步解釋這個可能性分布。由于上述年齡的可能性分布有或的含義,所以應(yīng)該引入“析取聯(lián)結(jié)詞”來進一步描述,并且這里有排斥或的意思,考慮到現(xiàn)實世界里一個人的年齡不可能既是25歲又是26歲,所以這里可以簡單地用或來描述。考慮另外一個簡單例子,小王是游泳冠軍(可能性0.8)或百米賽跑冠軍(可能性0.9),如果引入符號p:小王是游泳冠軍(0.8),q:小王是百米賽跑冠軍(0.9),那么上述命題可以表示為p∨q。如果已知小王只拿過一個冠軍的話,那么上述命題應(yīng)該形式化表示為(p∧q)∨(p∧q)。所以,文中考慮在XML中引入三個元素以便于表達更多的模糊信息,考慮到相應(yīng)的規(guī)則不應(yīng)該過于復(fù)雜,所以并不引入模糊邏輯中的全部表達能力。接下來,詳細闡述在XML引入的相關(guān)元素和屬性的定義。圖1給出了一個模糊XML文檔的示例。
假如考慮的是中國的人口大省,山東算是中國的人口大省,所以山東是一個不具有模糊值的概念,正如圖1的59行所示。但是陜西省就不能絕對說是中國的人口大省,所以帶有模糊值0.7,如圖1第三行所示。為了方便區(qū)分以及方便用XML Schema來定義結(jié)構(gòu),引入兩種模糊值元素,一個是nonleafval,一個是leafval,它們都帶有一個模糊的屬性叫做poss。考慮第39行,由于年齡的值是一個葉節(jié)點,所以用leafval來描述,表示年齡是23歲的可能性是0.4。類似地,因為陜西不是一個葉節(jié)點,所以第三行用nonleafval來表達陜西省是中國的人口大省的可能性是0.7。
基于兩種模糊值元素,參照模糊邏輯里的相應(yīng)概念,引入三個元素來進一步描述可能性分布,分別用“disjunctive”,“conjunctive”,“not”來表示。雖然在模糊邏輯里面,∨,∧,可以按照定義法則來任意組合,但是考慮到這樣解釋起來會過于復(fù)雜,所以文中定義特殊的組合結(jié)構(gòu),并給出相應(yīng)的解釋。
“not”元素只作為一種形式化的引入,其內(nèi)部可以是“l(fā)eafval”元素或者是“nonleafval”。它只作為“conjunctive”元素的內(nèi)部元素來使用,因為考慮模糊的否定具體是什么含義過于復(fù)雜,所以不單獨使用“not”元素,所以也不對上述含義進行解釋。
圖1 模糊XML文檔示例
“conjunctive”元素可以只含有“l(fā)eafval”元素的序列或者“nonleafval”元素的序列,這種情況像通常的模糊邏輯中一樣解釋為“且”的含義。例如第49到53行表達,知道劉峰同時有4個郵箱,但是每一個郵箱正確與否又難以確定,所以每一個郵箱又都具有不同的模糊值?!癱onjunctive”元素也可以同時含有“l(fā)eafval”元素和“not”元素的序列或者“nonleafval”元素和“not”元素的序列,這種情況下,利用“not”元素來使某種情況發(fā)生的可能性降為0。例如圖1第23行到28行表示劉峰可能得過游泳冠軍,但是不能得過賽跑冠軍。
“disjunctive”元素可以只含有“l(fā)eafval”元素的序列或者“nonleafval”元素,這種情況下像模糊邏輯中一樣解釋為“或”的含義。例如第38到44行,表達的含義是劉峰的年齡是23或25或27或28或29歲。模糊邏輯中的或,強調(diào)的是至少發(fā)生其一,但是年齡的或是排斥或的意思。雖然如此,由于在現(xiàn)實世界里對年齡的值是唯一的這一個事實是毋庸置疑的,所以表達年齡只用一個“disjunctive”就可以了。再考察圖1的第22到35行,這里面如果只單獨地用“disjunctive”,實際上劉峰可能僅獲得過游泳冠軍或者僅獲得過賽跑冠軍或者同時獲得過游泳冠軍和賽跑冠軍。如果事實上確定劉峰只拿過一個冠軍,那么就需要僅含有“conjunctive”元素序列的“disjunctive”,正如22行到35行所示那樣,這樣就排除了劉峰同時獲得過游泳冠軍和賽跑冠軍的可能性。22行到35行可以形式化的表示為(p∧q)∨(p∧q)。下面以3個模糊命題為例用形式化的方法來具體解釋不同的含義,假定p,q,r代表3個模糊命題。
(1)如果要表達“或”且不想做任何限制,形式化表達為p∨q∨r。
(2)如果要表達排斥或,并且在現(xiàn)實世界里對這種排斥或有共識,那么形式化表達為p∨q∨r。
(3)如果要表達排斥或,并且現(xiàn)實世界里對這種排斥或沒有共識,那么形式化表達為(p∧q∧r)∨(p∧q∧r)∨(p∧q∧r)。
(4)如果要表達“或”,并且排除三個模糊命題同時發(fā)生的可能性,那么形式化表達為(p∧q∧r)∨(p∧q∧r)∨(p∧q∧r)。(為了簡單表示,這里也有包含某單個模糊命題發(fā)生的可能性)。
當(dāng)有了形式化的表示方法之后,就可以按照模糊XML中的相應(yīng)定義,轉(zhuǎn)化為XML的形式。例如,將(p∧q)∨(p∧q)轉(zhuǎn)化為22行到35行所表示的形式。
如同關(guān)系數(shù)據(jù)庫中表的結(jié)構(gòu)需要定義一樣,XML的結(jié)構(gòu)也需要定義[2]。XML文檔結(jié)構(gòu)的定義有兩種方式,一種是DTD的方式,另外一種是基于XML自身的XML Schema的方式。正如前面提到過,利用XML Schema定義是一種更加自然的方式。現(xiàn)在既然在經(jīng)典的XML文檔中加入模糊性,那么也需要相應(yīng)地修改XML Schema,以便定義模糊XML文檔的結(jié)構(gòu)。接下來,給出相應(yīng)的模糊XML文檔結(jié)構(gòu)的定義。
“l(fā)eafval”元素定義如下:
“nonleafval”元素定義如下:
type="originalType" minOccurs="0" maxOccurs="unbounded"/> “not”元素定義如下: “conjunctive”元素定義如下: minOccurs="0" maxOccurs="unbounded"/> “disjunctive”元素定義如下: 有了上述定義以后,就可以修改經(jīng)典的XML元素的定義,使得所有經(jīng)典XML元素都可以使用上述模糊性結(jié)構(gòu)。對于含有不帶模糊性的葉子節(jié)點的元素,定義如下: 對于含有單個模糊性葉子節(jié)點的元素,定義如下: 對于含有數(shù)個模糊性葉子節(jié)點的元素,定義如下: 對于不含有葉子節(jié)點也不含有模糊性的元素,定義如下: 對于不含有葉子節(jié)點但是含有一個具有模糊值元素的元素,定義如下: 對于不含有葉子節(jié)點但是含有一系列具有模糊值元素的元素,定義如下: 有了以上的模糊XML文檔結(jié)構(gòu)的定義,可以翻譯圖1所示的模糊XML文檔如下: minOccurs="1" maxOccurs="unbounded"/> minOccurs="0" maxOccurs"unbounded"/> minOccurs="1" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/> minOccurs="1" maxOccurs="unbounded"/> minOccurs="1" maxOccurs="unbounded"/> minOccurs="1" maxOccurs="unbounded"/> minOccurs="1" maxOccurs="unbounded"/> minOccurs="1" maxOccurs="unbounded"/> 模糊集的提出雖然相比較傳統(tǒng)的集合理論提出較晚,但是幾十年的發(fā)展也建立了較為完整的模糊數(shù)學(xué)理論。模糊數(shù)學(xué)是研究模糊性現(xiàn)象的主要工具。通過使用模糊邏輯和可能性分布的相關(guān)理論,在現(xiàn)有的模糊XML模型的基礎(chǔ)之上進行了相應(yīng)的擴展。這種擴展使得新的模糊XML模型,既能與原來的模糊XML模型相兼容,又能表達更為復(fù)雜的模糊信息。3 結(jié)束語