5/19/2004

语义网:让网络学会思考

语义网:让网络学会思考
Google的强大,相信不用在这里多费唇舌,大家一定也有深刻的切身体会。但是,我们经常说“金钱不是万能的”,事实上Google也一样,很多时候它也会查找到一大堆莫名其妙、毫不相关的垃圾信息。

从Google说开去
举个简单的例子,我们如果想要去买电脑,那么肯定会以“配件报价”为关键字进行搜索,但Google却会给出许多毫不相关的信息。

再举个更通俗易懂的例子,如果你在Google上查“番茄”,那么Google也不会把“西红柿”作为“番茄”的同义词进行查找。说到底,这是由于Google是基于关键字比较进行查找的,它只会考虑基于关键字的匹配,而不是像人一样是在理解内容的基础上再进行筛选。

语义网的诞生
为了解决以上问题,语义网应运而生了,它被称为下一代的网络,是由互联网的创始人Tim Berners-Lee提出的。让我们先来看一下Tim Berners-Lee给出的关于语义网的一个经典例子。

电话铃响时彼得拿起电话,彼得的姐姐露西从办公室打来电话说:“妈妈需要找一位专家看病,你能安排送一下妈妈吗?”在这之前,露西已经上网给她的语义Web代理下了指令,代理找出了在妈妈家方圆20英里范围内并在母亲的保险计划范围之内的所有诊所。然后,代理尝试将可能的预约时间和彼得及露西的繁忙的日程进行匹配,最后提供了一个完美的方案。

彼得和露西能够通过Web执行这些任务,不是靠今天的互联网,而是得益于将来的语义Web。事实上,从互联网建立时就已经有很多计算机工作者致力于语义Web的研究,到目前为止已经形成了比较完整的体系。许多类似于Jena和AQsearch的基于DAML(The DARPA Agent Markup Language)的推理机也相继被开发出来,同时类似于WordNet的工作对语义网的发展也有很大的帮助。

语义Web的根本
任何实际系统的发展都离不开它的基础理论,那么语义Web呢?事实上,当前的语义Web都是基于二元关系的,对于这个概念大家可能有点陌生。在通俗意义上我们称之为三元式,也就是说任何一次的知识表达都是由三部分组成——主语、谓语和宾语。那么大家又要问了,用这样简单的表示方法能否表现出现实世界的复杂性呢?你大可不必为此担心,我们可以通过绑定、组合等一系列方法来表示更为复杂的知识,就像计算机在底层只有0、1两个符号,但却可以进行复杂的数学运算的道理一样。

大家也许会奇怪,语义Web提出以后会不会完全代替现有的Web,如果不会的话,它将以一种怎样的形式与现有的Web相结合?事实上,语义Web是针对机器理解提出的,也就是说用语义Web描述的资源是让机器阅读的,那么传统意义上的Web还是有其必要性的。我们现在所要做的工作就是将这两部分结合在一起,传统Web提供给人们所需要的信息,而语义Web在后台给机器阅读,用于资源的发布、发现与管理。

语义Web的实例
说了这么多了,大家可能还不是特别明白,光说不练也是不行的,那么我们就举一个具体的例子来看一下。
在这里我们选择DAML,一是由于DAML较早期的语义Web创建语言提供了更强大和方便的语义支持,二是由于它是由DARPA提出的,很具有权威性。

在这里要表述的内容如下:微软是一家生产操作系统的公司;Bill Gates是公司的CEO;Intel是一家生产CPU的公司,它和微软是战略伙伴;Windows98的售价是50美元(假设)。进行描述的文档如下:

<rdfRDF xmlnsmymd =″file///c/a.daml#″>
<mymdCompany rdfID=″Intel″>
<mymdname>Intel</mymdname>
</mymdCompany>
<mymdCompany rdfID=″Microsoft″>
<mymdcompanyIDCode>1234567890</mymdcompanyIDCode>
<mymdname>Microsofe</mymdname>
……
<mymdcooperateRelation>friend</mymdcooperateRelation>
</mymdCooperation>
</mymdhasCooperation>
……
</rdfRDF>

在这里由于只是一个具体资源的描述文档,在后台还需要一个元数据文档进行支持,它也是由我们自己定义的,在这里由于篇幅关系就不一一列出了。

由于语义网是针对机器理解提出的,我们也看到了具体的资源描述文档,那么机器是如何在这些文档中找到自己想要的东西呢?这里用AQSearch作为推理机来进行查找。

我们首先进行必要的设定(如图所示),这里我们还是沿用上面举过的例子,查找和Intel公司有合作关系的公司,一切搞定以后按“Add Clause”键将查询条件输入,还可以同时输入几个查询条件进行复合查询,然后再按Execute键就OK了,接下来就是看查询的结果了。

在DAML Search Results中可以看到,AQSearch查到了Microsoft,并列出了与之相关的其他信息。

也许大家对AQSearch的搜索功能不以为然,认为这并没有什么了不起的。但在这里要指出的是AQSearch事先并不知道要查找的文档是用哪些元数据(就是HTML中的标签)进行描述的,这也体现了语义Web一个最为重要的特性——可扩充性,这也正是大家长期以来梦寐以求的东西。

语义网并非独立的另一个Web,而是现在Web的一种延伸。在其中,信息有定义完好的含意,更利于人机之间的合作。不久的将来,当机器有更强的能力去处理和“理解”现在它仅仅进行显示的数据时,我们将看到更多重要的新功能。
(小林子)

No comments: