语义网 - IT新生代 - 毛向辉

(这条文章已经被阅读了 4 次) 时间:2001-06-21 09:48:50 来源:毛向辉 (issac) 原创-IT

一种能让计算机理解的新型Web内容形式,将引发对新的未知可能性的探索

作者: TIM BERNERS-LEE, JAMES HENDLER and ORA LASSILA 编译:魏丰

语义网概述
至今为止,WWW大部分都被用作为人们服务的文档媒体,而不是能够自动控制的信息。为网页扩展面向计算机的数据,并且增加专为计算机使用的文档,我们就可以把Web变成一个语义网络。

计算机会根据关键名称定义的超链接和逻辑推理规则发现语义数据的含义。这种基础设施的最终结果就是能够刺激开发自动化的网络服务,例如强大的代理。

普通用户能够用现成的有语义标记功能的软件编写语义网页,增加新的定义和规则。

 

(正文)
电话铃响时, 屋里的音响正大声播放着甲壳虫的“We Can Work It Out”。 彼得拿起电话,电话给带音量控制的本地设备发出信号,音乐声降低了。彼得的姐姐露西正从医生的办公室打来电话:“妈妈需要找一位专家看看, 然后得进行一系列的理疗,大约是两周一次。我会让我的代理来安排这些预约的。” 彼得立刻同意帮忙开车接送。

在医生的办公室里,露西在手持网络浏览器上给她的语义网络代理下指令。代理立即从医生的代理处查到了妈妈的治疗处方,在诊所清单中进行查找,从中找出那些在母亲家方圆20英里的范围内,在信用评级服务中评级为出色或很好,在母亲的保险计划范围之内的诊所。然后,它尝试将可能的预约时间(由各家诊所通过其网页提供)和彼得及露西的繁忙的日程进行匹配。(以红色字体标出的字表明它们是通过语义网络来给代理定义其语义或含义的。)

几分钟之后,代理给他们提供了一个方案。彼得对此不太满意。从母亲家到这个医院要横穿整个城镇,而他从医院返回的时间又恰好是交通高峰时间。他设置了更多的时间和地点方面的限制,让自己的代理重新进行搜索。在这个任务的执行过程中,露西的代理充分信任彼得的代理。

几乎一瞬间,新的方案又出来了:医院离家近了,时间也提前了。但是,同时有两点警告。首先,彼得要重新安排他的一些不太重要的预约。彼得查了一下,没什么问题。另一点是,这家医院不在保险公司的理疗医院的清单上。代理为解除彼得的顾虑,说, “通过其他方式,可以保证予以确认服务类型和保险计划,需要细节内容吗?”

彼得表示同意,“给我提供所有的细节”。几乎同时,露西也登记表示赞同,事情就这么定下来了。(当然,彼得为了了解细节安排,晚上又让代理解释它怎么找到那家诊所的,因为那家并不在通常的清单上。)

表达含意
彼得和露西能够通过代理执行这些任务,不是靠今天的World Wide Web,而是得益于将来由此演变而来的语义网。大部分今天Web上的内容是设计给人阅读的,而不是让计算机程序按其意义进行操作的。计算机能熟练地解析网页的版面,知道哪里是标题,哪里有与其他页面的链接。但是,一般来说,计算机没有可靠的方法来处理语义,比方说能告诉我们:这是Hartman and Strauss 诊所的网页,它能连接到Hartman医生的简历。

语义网将结构赋予网页上有意义的内容。在这样的环境下,漫游于各个页面之间的软件代理就能容易地为用户完成一些复杂的任务了。到达医院网页的代理将不仅知道存在类似“治疗、药物、体格检查”的关键字,还知道Hartman医生周一、周三、周五在这家医院上班,脚本程序对日期范围采用年月日格式,并按此格式返回预约时间。另外,无需高性能的机器和人工智能,它就能“知道”所有这些情况。这些语义是由医院办公室主任编码在网页中的。他并未学习过基本的计算机科学课程,他只是使用市场上的软件,利用理疗协会网页的资源,自己完成的。

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

World Wide Web本质的特性便是其广泛性全球性。超文本链接的威力在于“任何事物之间都可以相链接”。因此,无论是潦草的草稿,还是精致的作品,无论是商业信息还是学术内容,无论何种文化和语言,网络技术对它们都应该是一视同仁的。信息在各个方面有所不同,其中的一个区别就是,有些信息是主要提供给人使用的,而有些则主要是给机器用的。比如,电视广告、诗歌主要是给人看的,而数据库、程序和传感器输出等主要是供机器读的。到目前为止,Web大多数开发成为人们阅读文档的媒体,而在提供可自动处理的数据和信息方面,则发展较慢。语义网就是想弥补这方面的不足。

和Internet一样,语义网将尽可能分散化(Decentralize)。这种类似Web的系统能够在各个层次产生大量令人激动的事物,包括从大企业到个人用户,能够提供今天还不能或很难预见的好处。分散化需要一定的妥协:应当抛弃网络互联必须保持完全一致性的想法,因为那样可能动不动就跳出那句声名狼藉的“错误 404:网页没有发现”。而允许一定的不完全一致性,网络的相互链接数目会呈指数性增长。

知识表现
为使语义网工作,计算机必须能访问结构化的信息集合以及一套推理规则,据此进行自动推理。在Web被开发出之前很久,人工智能研究人员就已经研究过这样的系统。这个技术通常称为知识表现,和Web出现之前的超文本的境地类似:它的确是个好主意,也有一些非常好的范例,但是它还无法影响和改变世界。它蕴含了能产生重要应用的种子,但是要充分发挥其潜能,它必须和一个全球系统联系在一起。

今天的Web搜索

传统的知识表现通常是集中化的, 要求每个人对于共同的概念,如“父母”和“汽车”,使用完全一样的定义。但是,集中化控制比较死板,而且这种系统的规模和范围增长过快,很快会变得难以管理。

除此之外,这些系统往往小心地对允许问的问题加以限制,这样计算机才能给与可靠的回答。问题就像数学中的哥德尔理论:任何足够复杂的系统如果是可用的,就必然存在不可解决的问题。 也就像那个最基本的悖论的复杂版本: “本句话是错误的。” 为避免此类问题,传统的知识表现系统通常各自都有针对其数据作推理的一套有限和特殊的规则。例如,一个基于家庭数据库的家谱系统,可能包含规则“叔叔的妻子是婶婶”。即使数据可以由一个系统传到另一个系统,规则则不然,由于规则所处的环境完全不同了,它往往不能运用到另一个系统中了。

相反,语义网的研究者认为要获得多样性,必然会有自相矛盾的情况或无法回答的问题出现。描述规则的语言要尽量具有表达力,让Web能尽可能广泛地进行推理。这个思想和传统的Web相似:在Web开发的早期,恶意批评者指出它永远无法是一个组织良好的库; 没有集中的数据库和树状结构,人们无法确保找到任何东西。 他们曾经是正确的。但是,系统的表现能力使我们能获得大量的信息,而搜索引擎(十年前看起来不切实际)现在能从中对许多材料产生出非常完整的索引。因此,摆在语义网面前的挑战是,提供一种语言,能同时表达数据以及根据数据进行推理的规则,并且允许任何现存的知识表现系统中的规则都能输出到Web上。

在Web上增加逻辑性—— 使用规则去推理、选择行为的步骤并回答问题的方法—— 是语义网组织面临的一个任务。 这个任务涵盖了数学和工程化决策,使其更加复杂。逻辑必须强大到能够描述复杂的对象属性,但也不能太复杂,导致代理可能被一些悖论的问题问倒。幸运的是,通常我们大部分想表达的意思就像“六头螺钉是一种机器螺钉”这样的句子,稍加一些词汇表,用现在的语言就能将其表达出来。

开发语义网的两个重要技术已经就绪,它们是eXtensible Markup Language (XML) 和 Resource Description Framework (RDF)。 XML让每个人都能创建自己的标签,例如,来对网页或页面的部分文字进行注释。 脚本,或者说是程序,可以将这些标签运用到复杂的应用中,不过程序编写者必须知道网页作者是如何使用每一个标签的。简而言之,XML允许用户在文档中加入任意的结构,但无需说明这些结构的含意 [见 “XML 和第二代Web,” by Jon Bosak and Tim Bray; Scientific American, May 1999]。

——————————————————————————–

语义网能使机器理解含语义的文档和数据,而不是语音和笔迹。

——————————————————————————–

含意由RDF来表达。RDF中的代码包含一组组的三元组,每个三元组相当象句子中的主语、动词和宾语。这些三元组可以用XML的标签来描写。在RDF中,文档中的声明通常是某个事物(人、网页或其他任何东西)对于某些值(另一个人、另一网页)拥有某些属性(例如“是姐姐”,“是作者”)。这种结构用于描述由机器处理的大量数据,是非常自然的方法。如同使用网页上的链接一样,主语和宾语分别由Universal Resource Identifier (URI)识别。(URL, Uniform Resource Locators, 是最普通的URI。) 动词也由URI识别,这样任何人只要通过在Web上定义一个URI,就能定义新概念、新动词。

一词多意使人类语言变得丰富,对自动处理而言却不是什么好事。想象一下,我雇了小丑信使服务,叫他们在客户生日的那天送去气球。但是,当服务将我的数据库中的地址传到它的数据库中时,并不知道我这里的“地址”指的是开票地址,大部分都是邮局信箱号码。结果,我雇的小丑去逗邮局工人们乐了,当然这并不是坏事,但是我最初的意图并非如此。 要解决这个问题,可以给每个概念应用不同的URI。这样,邮寄地址、开票地址等等都可以互相区分开。

三元组RDF 构成相关事物的网上信息。RDF使用URI 来对文档中的信息进行编码,而URI能够确保概念并非只是文章中的词,还能将其和人人都能在网上找到的一个唯一定义相联系。比方说,假设我们可以访问到人们的许多信息,包括他们的地址。如果我们要寻找住地位于特定邮政编码的人,我们需要知道哪个数据的哪个字段分别代表姓名和邮编。通过URI, RDF能这样声明“(field 5 in database A) (is a field of type) (zip code)”,而不必描述每个名词。

Ontology
当然,事情并未到此结束。因为两个数据库可能对同一概念,例如邮政编码,采用不同的标识符,程序若要进行两个数据库之间信息的比较和合并,它就必须了解这两个标识符表示的是同一事物。在理想的情况下,对于遇到的任何数据库,程序必须有办法来发现这种同意的标识符。

对该问题的一个解决方法就是语义网的第三个基本组成部分,信息的集合(Collection),称为ontology。在哲学上,ontology是有关存在的本质,以及何种事物存在的理论,这是它作为一门学科所研究的理论。人工智能和网络研究人员共同选择了这个词作为其术语。在他们看来,ontology 是一份正式定义名词之间关系的文档或文件。一般Web上的ontology包括分类和一套推理规则。

分类定义对象的类别及其之间的关系。例如,地址可以定义为属于一种位置的类型,城市代码可以定义为仅用于位置,等等。类、子类,实体间的关系对于网上应用是非常强大的工具。 通过给类指定属性,允许子类继承类的属性,我们能够表达实体之间的大量关系。如果城市代码 必须属于城市类型,而城市通常有自己的网址,那么即使没有数据库直接将城市代码和网址相连,我们也能讨论与城市代码相关的网址。

Ontology中的推理规则提供进一步的功能。一个ontology可能表达如下的规则:“如果城市代码属于某一州代码,而一个地址使用了城市代码,则该地址具有相应的州代码。”程序便能据此进行推理,比方说,Cornell大学位于Ithaca, 则它一定在纽约州,而纽约州属于美国,所以它的地址应该遵照美国的标准。计算机并不会真正“理解”这些信息,但是它现在能以对人类更有用更具意义的方法来对这些名词进行操作了。

随着网上出现ontology页面,对于名词及其它的一些问题的解决办法初露端倪。网页上使用的名词或XML代码的含意,能够通过由页面指向的ontology来定义。当然,如果我指向的ontology定义地址包含邮编,而你指向的ontology定义地址包含邮政编码,和以前同样的问题仍存在。如果ontology(或其他网上服务)提供相等关系:我们俩的ontology中的一个或两个,说明我的邮编等同于你的邮政编码,则这种混淆也是可以解决的。

派小丑去为客户服务的计划已经可以部分解决了,只要两个数据库指向对地址的不同定义。程序中不同的地址概念应用不同的URI,将不会将它们混淆,而且会进一步发现它们实际上是有联系的。程序然后能应用某种服务,就一些“邮政编码”(在第一个ontology中定义),通过重新组织和删除邮箱号及其他不合适的地址,能转换为实际的地址(第二个ontology)。ontology所提供的结构和语义能让企业家更容易地提供这样一种服务,并使之对使用者完全透明。

Ontology通过许多方法增强网络的功能。通过简单的方法,它们就能改进网上搜索的准确性,使搜索程序只寻找那些指向精确概念的网页,而不是仅仅通过模糊关键字查到的所有页面。更高级的应用将使用ontology将页面上的信息关联到相关的知识结构和推理规则,这样的例子可见http://www.cs.umd.edu/~hendler 。在该网页上,你将看到题为”Dr. James A. Hendler.” 的普通页面。作为人,我们能很快看到通过链接找到的一份简短的简历,知道Hendler 在布朗大学获得博士学位。计算机程序也试图查找这样的信息,然而,让它猜测在简历中的这个信息是什么意思,让它懂得其中的语言,是非常复杂的。

对于计算机,该页面链接到定义计算机科学系有关信息的ontology页面。比如教授在大学工作,他们通常有博士学位。网页上的进一步Markup (一般的浏览器不显示)使用ontology的概念来指明:Hendler 从URI http://www.brown.edu/ (布朗大学网页)描述的实体处获得其博士学位。计算机也能发现Hendler是一个特别研究项目的成员,有一个特别的email 地址,等等。所有这些信息都能由计算机处理,可以用来回答询问(例如,Dr. Hendler 从哪里获得学位),这类询问如果由人来查,在搜索引擎不同的网页间要查上好一阵子。

这个Markup 能更便于开发程序来回答一些复杂的问题,而其答案不在单独一个网页上。假设你想找找去年在贸易洽谈会上遇见的Cook小姐,你不记得她的名,但是你知道她为你的一个客户工作,而且她的儿子是在你的母校就读。智能搜索程序筛选出所有含人名“Cook”的人的网页(不选所有有关Cooks, Cooking ,Cook岛等的网页),找到其中为你的客户之一工作的,然后通过其子女的链接,看他们是否在正确的地点上学。

代理

代理

当许多程序被开发用来从不同的资源收集网页内容,处理信息和其他程序交换结果,将真正实现语义网络的力量。当出现更多的机器可读的网页内容和自助服务(包括其他的代理),这种软件代理的效率将呈指数级增长。语义网络提倡这样的协同作用,即使各代理之间并非明确设计为在一起工作,当数据随语义到达时,代理之间也能传送数据。

代理功能的一个重要方面是由语义网络的统一语言所写的“Proof”的交换,该语言通过应用规则和信息(如ontology中所指定的)表达逻辑推理。比如,某个在线服务找到了Cook 小姐的联系信息,而令人惊讶的是她在Johannesburg。当然,你要核对一下,所以你的计算机让服务来证明它的回答,服务立即将其内在的推理理由翻译成语义网络的统一语言,你计算机中的界面引擎证实了这个Cook 女士确实符合你的查询要求,如果你还有疑问,它能显示出相关的网页。尽管离真正发挥语义网络的潜能还很远,已经有一些程序可以按这种方法利用目前的统一语言初级版本来交换“证明”。

另一个重要的特性将是数字签名。数字签名是一段加密的数据,计算机和代理可以据此证明所附的信息是由特定的可靠来源提供。当你的会计应用程序收到一条信息,说明你欠某个在线零售商一定的金额,你当然想证明这是确实的,而不是由邻家那个黑客小子发来的假信息。代理应该对在语义网上读到的声明保持警觉,检查确认其信息来源之后才能相信。 (我们希望更多的人学会在网上这样操作!)

在没有语义的情况下,现在已经存在了许多自动的网上服务, 但是如果没有语义,其他一些程序,例如代理,则无法对执行某个特定功能的服务进行定位。这个过程称为服务发现,它的实现需要存在一种共同的语言来描述服务,让其他的代理都能“理解”该服务的功能并知道如何利用其功能。服务和代理可以宣传它们的功能,比方说,将这些功能描述放到类似于黄页的目录下。

目前有一些低层的服务发现的方案,例如,微软的Universal Plug and Play, 它专门用于连接不同类型的设备,还有Sun Microsystems的Jini,它的目的在于连接服务。但是,这些尝试仅仅是在结构或句法的级别上解决问题,较多地依赖于对一些事先确定的功能描述的标准化。标准化这个方法能达到的功能也就到此为止了,因为我们无法预见未来所有的需求。

——————————————————————————–

经过正确设计,语义网络能够从整体上帮助人类知识的进化。

——————————————————————————–

相反,语义网则灵活得多。通过交换ontology,这之中提供了讨论中需要的词汇,消费者和生产者的代理之间能达成共同的理解。当发现新的ontology时,代理甚至可以“提升”出新的推理能力。语义的应用也更易于去利用仅仅部分符合请求的服务。

通常的处理过程将涉及“价值链”的建立,信息的各个组成部分从一个代理传向另一个代理,每个代理都对其“增加价值”,以构成用户所要求的最终产品。别搞错:要按需建立复杂的价值链,一些代理除了语义网之外,还将利用人工智能技术。然而,语义网将为此类技术更为可行提供基础框架。

综合以上所有特性,就能实现本文最初提到的彼得和露西的代理实例。他们的代理将任务细分,分配给服务广告中找的其他服务和代理。例如,它们可以通过可靠的服务获取诊所清单,决定它们中的哪些符合特定的保险计划和治疗方案。诊所清单也可以由其他搜索服务提供。这些活动构成了一条链,大量在网上传播的(几乎没有什么费用)数据逐步筛减为彼德和露西所需的少量数据,以满足他们的日程安排和其他一些要求。

下一步,语义网将要突破虚拟的理论世界,延伸到实际应用中去。 URI能指向任何事物,包括物理实体,意味着我们能使用URI语言来描述诸如电话、电视机等设备。 这些设备可以将它们的功能加以宣传。它们能做什么,软件代理等如何对它们进行控制。这样的语义解决方案较Universal Plug and Play等的低层方案更为灵活,它打开了一扇通往更多神奇的可能性的门。

例如,现在的家庭现代化需要仔细对各个设备进行配置,以使它们协同工作。如果存在设备功能的语义描述,将帮助我们用最少的人工干预就实现自动化。一个小小的例子便是,当彼得答电话时,音响的音量自动调低了。对于音量控制这个功能,不需要为每个设备都一一编程,只要对该功能编码一次,就可以应用到所有宣布带有音量控制的本地设备,如电视机、DVD机,甚至是晚上带回家只用上一次的媒体播放器。

在这一领域,已经采取了第一步的具体行动,即对设备的功能(如屏幕大小)描述研究开发一个标准和用户喜好。该标准建立于RDF之上,称为Composite Capability/Preference Profile (CC/PP)。最初,它将让电话以及其他非标准的网上客户描述它们的特性,这样网上内容就可以按照它们的功能进行剪裁了。之后,当增加处理ontology和逻辑的语言完全多样性后,设备将能自动挑选出并使用服务和其他设备,来增强功能或增加信息。不难想象,有一天,你家的微波炉会向冷冻食品生产商的网址咨询最佳烹饪参数。

知识的进化

精确搜索

语义网并不“仅仅”是执行单个任务的工具。如果设计合理,语义网还能从整体上帮助人类知识的发展。

人类的努力都无外乎这样一个永远的矛盾:那就是小部分人独立高效行动,但是又必须融入更大群体。一小部分人能迅速有效地进行创新,不过这就产生了一个小团体,它的概念其他人无法理解。在一个大群体中进行协调,不但慢,而且需要大量的交流。世界就在这两个极端之间忙碌着,把小团体中的个人想法,逐步推向更广的范围,让更多的人随着时间的推移而逐步理解。

一个基本的过程就是,当需要一种更通用的语言时,将一些亚文化加以整合。两个团体通常各自独立开发了非常相似的概念,对它们之间的联系加以描述带来不少好处。就像英汉字典或度量对照表,关系能疏通交流和协作,即使概念的共性未能达成一个共同的名词。

在语义网中,每个概念由URI定义,任何人花最少的功夫就能表达他们发明的新概念。它的统一逻辑语言将这些概念逐步连到全球的Web上。这样的构架将人类的知识和工作开放给软件代理进行有意义的分析,为我们提供一起生活、工作、学习的新工具。

(图片设计者:MIGUEL SALMERON)

——————————————————————————–

参考信息:

Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web by Its Inventor.
Tim Berners-Lee, with Mark Fischetti. Harper San Francisco, 1999.
An enhanced version of this article is on the Scientific American Web site, with additional material and links.

World Wide Web Consortium (W3C): http://www.w3.org/

W3C Semantic Web Activity: http://www.w3.org/2001/sw/

An introduction to ontologies: http://www.SemanticWeb.org/knowmarkup.html

Simple HTML Ontology Extensions Frequently Asked Questions (SHOE FAQ): http://www.cs.umd.edu/projects/plus/SHOE/faq.html

DARPA Agent Markup Language (DAML) home page: http://www.daml.org/

——————————————————————————–

作者简介

TIM BERNERS-LEE, JAMES HENDLER 和 ORA LASSILA 致力于语义网技术。Berners-Lee 是World Wide Web Consortium (W3C) 的理事,以及麻省理工学院计算机科学实验室的研究员。他在1989年发明了Web,当时他就希望能够包含更多语义技术。

Hendler 是马里兰大学的计算机科学教授,多年来致力于Web上下文知识表现的研究。他和他的研究生团队开发了SHOE, 也是第一个基于Web的知识表示语言,展示了本文中描述的大部分代理功能。Hendler 还在阿另顿国防高级研究项目所负责基于代理的计算研究。

Lassila 是在波士顿的诺基亚研究中心的研究员,也是诺基亚风险基金的首席科学家,以及W3C顾问组成员. 正因为看到今天Web上建立代理和自动化任务的困难之处,他才参与创建了W3C的RDF规范,这个规范对今天众多语义网络研究奠定了基础。

——————————————————————————–

精确搜索

如果语义信息在Web上广泛采用,那么“精细、准确和自动化”的搜索就能够实现。这里的一个程序能够基于一些模糊的知识分类找到一个人: 她的姓是”Cook,” 她为你的客户之一工作,她的儿子是你的Avondale 大学校友 。这些信息的组合并不可能在单个网页中出现,但是语义信息能够让程序能够更容易分辨布同网页中的元素,理解“Mike Cook 是 Wendy Cook的孩子”这样的关系,而且能够把他们结合在一起。语义信息能够自动处理复杂的过程和事务。

——————————————————————————–

今天的搜索引擎

今天的WEB搜索通常会找到 数不清的毫不相关的“结果”,需要大量人们手工过滤工作。例如,如果你用关键字”cook,”搜索, 计算机根本无法知道你是在找一位厨子,还是找有关烧菜的信息,抑或是其他什么带有“Cook”的人,企业或其他什么。问题的根源在于”cook” 这个词对计算机来说根本没有含义,或者说语义信息。

——————————————————————————–

代理

Web 上的语义信息能够极大推动软件代理的出现。在以上描述的情景中, Lucy的代理能够按照一些规则的组合为她母亲寻找一个合适的理疗诊所,并能够与她自己和弟弟的空闲时间相配合。定义语义数据的含义Ontologies 在这里发挥了重要作用,让代理能够理解语义网络上的内容,并采用其他站点的自动化服务。

——————————————————————————–