胡 磊,赵羽晗
(南京航空航天大学 计算机科学与技术学院,江苏 南京 211100)
如果说人工智能的最终目标是建造出呈现人类或更高级智能的智能代理的话,那么语义网的目标是实现协助人类用户处理网上日常事务的智能代理。XML作为语义网底层的标签语言,虽然其本身对于实现语义网的蓝图是不充分的,但却是很重要的一步。XML现在被广泛应用于各种团体和商界。在很多的领域,人们已经定义了基于XML的应用,比如数学领域(MathML)、天文领域(AML)、生物信息领域(BSML)、投资领域(IRML)等等。此外,可以作为统一数据交换格式的XML在企业交换信息方面也发挥了巨大的作用。XML已经成为了语义网相关的W3C标准,基于XML的RDF也已经给出。
在现实世界里,几乎处处存在着模糊现象和模糊概念,例如“胖子”、“年轻人”、“高个子”、“聪明”、“性能良好”等等。人脑中形成的很多概念也都是模糊的,由此形成的判断和推理也都是模糊的。人类可以巧妙地利用模糊的概念,用尽可能少的词汇表达和传递更多的信息。显然传统的数据库需要进行进一步的拓展,以便能够处理不精确或者不确定的数据。模糊关系数据库的相关研究工作已经存在不少[1-2]。此外,模糊面向对象数据模型[3]和模糊概念数据模型[4]也已经提出。
既然已经提出了模糊数据库的相关模型,自然而然需要扩展经典的XML模型,使得模糊数据库中的数据能够用XML形式表示出来。然而当前作为数据表示和数据交换的XML不能表示和处理模糊数据。目前,关于模糊XML的相关研究已经存在。不完全信息的XML[5]和概率区间XML以及概率数据的XML[6-7]已经被提出。在没有提出模糊XML数据模型的情况下,文献[8]中提供了从模糊关系数据库到模糊XML文档的简单映射。随后,基于DTD格式的模糊XML文档被提出[9]。由于XML Schema为定义XML的文档结构提供了一种更为丰富的语言,而且其语法基于XML本身,所以不需要像DTD一样,为了支持单独的语法而编写独立的分析器、编辑器。所以基于XML Schema的模糊XML文档也被提出[10]。在此基础之上,有了模糊XML代数[11]和模糊XML文档整合[12]的相关研究。
文中在相关工作的基础之上,借鉴模糊逻辑中的概念方法,进一步拓展模糊XML模型,使得新的模糊XML模型既能与现有的模糊XML模型兼容,又能表达更强的模糊信息。
模糊信息是数据库系统中广泛存在的一种不确定信息。与随机不确定不同的是,模糊概念本身没有明确的外延,一个对象是否属于这个概念是难以确定的,因此造成了划分的不确定性。关于对不确定数据进行建模的各种方法在文献[13]中已有介绍。
多数现有的处理模糊信息的方法是基于模糊集理论[14-15]和可能性分布理论[16]。
有限模糊集可表示为:
设F是论域U上的模糊集,X是在U上取值的变量,而F(u)解释为u与标为F的概念的相容度。与X有关的可能性分布函数用πX表示,并且在数值上定义等于F的隶属度,即对
∀u∈U,πX(u)=F(u)
也就是说,X=u的可能性πX(u)=F(u)。
在二值逻辑中,命题非真即假,非假即真,二者必居其一而且仅居其一。然而在现实生活中,有些命题既不绝对真,也不是绝对的假。例如,今天天气不错,这个数比1大很多。考虑整数10,如果说整数10绝对比1大很多,定义命题为真,这种做法显然不合适。所以这就引出了模糊命题的概念。
定义一个具有模糊性的陈述句,称为模糊命题,模糊命题用大写字母A,B,C…表示。模糊命题可以简记为F命题。
F命题利用逻辑运算符号“合取(∧)”、“析取(∨)”、“否定()”,可以递归地构成新的模糊命题,称为F命题公式。
对年龄的属性值引入可能性分布以后,可以进一步引入模糊逻辑的相关概念来进一步解释这个可能性分布。由于上述年龄的可能性分布有或的含义,所以应该引入“析取联结词”来进一步描述,并且这里有排斥或的意思,考虑到现实世界里一个人的年龄不可能既是25岁又是26岁,所以这里可以简单地用或来描述。考虑另外一个简单例子,小王是游泳冠军(可能性0.8)或百米赛跑冠军(可能性0.9),如果引入符号p:小王是游泳冠军(0.8),q:小王是百米赛跑冠军(0.9),那么上述命题可以表示为p∨q。如果已知小王只拿过一个冠军的话,那么上述命题应该形式化表示为(p∧q)∨(p∧q)。所以,文中考虑在XML中引入三个元素以便于表达更多的模糊信息,考虑到相应的规则不应该过于复杂,所以并不引入模糊逻辑中的全部表达能力。接下来,详细阐述在XML引入的相关元素和属性的定义。图1给出了一个模糊XML文档的示例。
假如考虑的是中国的人口大省,山东算是中国的人口大省,所以山东是一个不具有模糊值的概念,正如图1的59行所示。但是陕西省就不能绝对说是中国的人口大省,所以带有模糊值0.7,如图1第三行所示。为了方便区分以及方便用XML Schema来定义结构,引入两种模糊值元素,一个是nonleafval,一个是leafval,它们都带有一个模糊的属性叫做poss。考虑第39行,由于年龄的值是一个叶节点,所以用leafval来描述,表示年龄是23岁的可能性是0.4。类似地,因为陕西不是一个叶节点,所以第三行用nonleafval来表达陕西省是中国的人口大省的可能性是0.7。
基于两种模糊值元素,参照模糊逻辑里的相应概念,引入三个元素来进一步描述可能性分布,分别用“disjunctive”,“conjunctive”,“not”来表示。虽然在模糊逻辑里面,∨,∧,可以按照定义法则来任意组合,但是考虑到这样解释起来会过于复杂,所以文中定义特殊的组合结构,并给出相应的解释。
“not”元素只作为一种形式化的引入,其内部可以是“leafval”元素或者是“nonleafval”。它只作为“conjunctive”元素的内部元素来使用,因为考虑模糊的否定具体是什么含义过于复杂,所以不单独使用“not”元素,所以也不对上述含义进行解释。
图1 模糊XML文档示例
“conjunctive”元素可以只含有“leafval”元素的序列或者“nonleafval”元素的序列,这种情况像通常的模糊逻辑中一样解释为“且”的含义。例如第49到53行表达,知道刘峰同时有4个邮箱,但是每一个邮箱正确与否又难以确定,所以每一个邮箱又都具有不同的模糊值。“conjunctive”元素也可以同时含有“leafval”元素和“not”元素的序列或者“nonleafval”元素和“not”元素的序列,这种情况下,利用“not”元素来使某种情况发生的可能性降为0。例如图1第23行到28行表示刘峰可能得过游泳冠军,但是不能得过赛跑冠军。
“disjunctive”元素可以只含有“leafval”元素的序列或者“nonleafval”元素,这种情况下像模糊逻辑中一样解释为“或”的含义。例如第38到44行,表达的含义是刘峰的年龄是23或25或27或28或29岁。模糊逻辑中的或,强调的是至少发生其一,但是年龄的或是排斥或的意思。虽然如此,由于在现实世界里对年龄的值是唯一的这一个事实是毋庸置疑的,所以表达年龄只用一个“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)如果要表达排斥或,并且在现实世界里对这种排斥或有共识,那么形式化表达为p∨q∨r。
(3)如果要表达排斥或,并且现实世界里对这种排斥或没有共识,那么形式化表达为(p∧q∧r)∨(p∧q∧r)∨(p∧q∧r)。
(4)如果要表达“或”,并且排除三个模糊命题同时发生的可能性,那么形式化表达为(p∧q∧r)∨(p∧q∧r)∨(p∧q∧r)。(为了简单表示,这里也有包含某单个模糊命题发生的可能性)。
当有了形式化的表示方法之后,就可以按照模糊XML中的相应定义,转化为XML的形式。例如,将(p∧q)∨(p∧q)转化为22行到35行所表示的形式。
如同关系数据库中表的结构需要定义一样,XML的结构也需要定义[2]。XML文档结构的定义有两种方式,一种是DTD的方式,另外一种是基于XML自身的XML Schema的方式。正如前面提到过,利用XML Schema定义是一种更加自然的方式。现在既然在经典的XML文档中加入模糊性,那么也需要相应地修改XML Schema,以便定义模糊XML文档的结构。接下来,给出相应的模糊XML文档结构的定义。
“leafval”元素定义如下:
“nonleafval”元素定义如下:
type="originalType" minOccurs="0" maxOccurs="unbounded"/> “not”元素定义如下: “conjunctive”元素定义如下: minOccurs="0" maxOccurs="unbounded"/> “disjunctive”元素定义如下: 有了上述定义以后,就可以修改经典的XML元素的定义,使得所有经典XML元素都可以使用上述模糊性结构。对于含有不带模糊性的叶子节点的元素,定义如下: 对于含有单个模糊性叶子节点的元素,定义如下: 对于含有数个模糊性叶子节点的元素,定义如下: 对于不含有叶子节点也不含有模糊性的元素,定义如下: 对于不含有叶子节点但是含有一个具有模糊值元素的元素,定义如下: 对于不含有叶子节点但是含有一系列具有模糊值元素的元素,定义如下: 有了以上的模糊XML文档结构的定义,可以翻译图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"/> 模糊集的提出虽然相比较传统的集合理论提出较晚,但是几十年的发展也建立了较为完整的模糊数学理论。模糊数学是研究模糊性现象的主要工具。通过使用模糊逻辑和可能性分布的相关理论,在现有的模糊XML模型的基础之上进行了相应的扩展。这种扩展使得新的模糊XML模型,既能与原来的模糊XML模型相兼容,又能表达更为复杂的模糊信息。3 结束语