计算机能够理解并处理的一类新兴网络内容将掀起一场开辟种种崭新前景的革命。
音响系统正在播放披头士乐队的“We Can Work It Out”,此时电话铃声突然晌了起来。Pete顺手抓起电话。当他回电话时,电话机自动地向周围其它所有带音量控制器的装置发出一个信号,把音量降了下来。电话是他的妹妹Lucy从诊所打过来的:“妈妈需要找位专家看看,之后还要做多次理疗。大概两周一次吧。我得叫我的代理人安排一下预约时间。”Pete毫不犹豫地答应用自己的汽车送妈妈去。
在诊所那边,Lucy通过她的手持式网络浏览器给她的语义网络代理人发出指令。该代理人利索地完成了一系列检索工作:从诊所的代理人那里查到了有关妈妈的处方治疗的资料,查阅了几份理疗点的名单,井找到几家属于妈妈医疗保险合同指定范围,距妈妈的家不超过20英里,且被可靠的等级评定机构评为“优”或“极好”的理疗点。然后代理人开始分别检查理疗点现有的预约时间(由各理疗点的代理人通过各自的网站提供)以及Pete和Lucy的繁忙的工作日程表,看看二者能否合得起来(用黑体标出的关键词表示其语义通过语义网向代理人作了定义的术语)。
几分钟内代理人就搞定了一个计划并交给他们考虑。这个计划不合Pete的意——大学医院在城市的那一头,离妈妈住处太远,而且时间也不对头:他从医院驱车返回时将会正遇上车流拥挤的时刻。Pete要他自己的代理人重新进行检索,并对医院的时间和地点作了更严格的要求。在执行现在这个搜索任务的前提下Lucy的代理人完全信任Pete的代理人,因此它自动赶来为后者帮忙,比如向后者提供访问许可证以及指点一些它已经走过的寻找数据的捷径等。
几乎一眨眼间新的计划就弄出来了,这次代理人安排了一个近得多的诊所,时间也提前了一大截。但代理人同时也列出了两点情况提醒主人注意。首先Pete必须重新安排几项比较次要的约会。Pete查看了一下这几项约会——没有问题,它们的时间可以重新安排。其次则是保险公司的名单没有把代理人安排的这家诊所列在“理疗师”这一项内。但代理人向Pete担保说:“已经通过其它渠道可靠地核实了该诊所的业务范围和保险状况。(还需要有关细节吗?)”
Pete随口说了句,“用不着扯什么细节了吧。”差不多就在这时,Lucy也对这一安排表示同意,于是事情就这样定了下来。(当然,Pete其实很想知道细节,于是当夜的晚些时候他又把代理人叫了出来,让它好好讲述一下它究竟是怎样把这个没有列在保险公司正式名单上的诊所挖出来的。)
表达意义
帮助Pete和Lucy通过其代理人完成这种种任务的网络,不是今天的万维网,而是将由万维网演变而来的明天的语义网。现今大部分的网络内容都是供人阅读的,而不是供计算机程序进行有意义的处理的。计算机可以熟练地分析网页以进行布局和例行处理工作,比如这里是标题,那里是与另一张网页的链接,等等,但总的说来计算机没有什么可靠的手段来处理语义:这是Hartman&Strauss理疗诊所的主页,这条链接接到Hartman大夫的简历,等等。
语义网将使网页的意义内容具有结构,从而创造出一种新的网络环境,在这一环境中漫游于各网页间的软件代理人能够迅捷地为用户执行复杂的任务。这样一个代理人在访问诊所的网页时,不仅将知道该网页有“治疗、医药、物理的、疗法”等关键词(按现今网络的编码方式 ),而且还将知道Hartman大夫每星期一、二、五在这家诊所上班,以及诊所的预约安排将接受以“年—月—日”的格式表示的预约时间范围并给出预约时间。此外,它并不需要借助2001’s Hal或《星际大战》的C-3PO这一规模上的人工智能就可以知道所有这些知识。当诊所的办公室主管(他从未用过Comp Scil01)利用编写语义网页的现成软件以及理疗协会网站上提供的资源来打造诊所网页时,上述语义就已经编码进网页中了。
语义网不是一个独立的网络,而是当前这个网络的扩展。在语义网中信息被赋予了明确界定的意义,从而能更好地使计算机和人协调工作。把语义网纳入现有网络结构中的首批步骤已经在着手进行之中。在不远的将来,计算机处理并“理解”那些现今它们只能显示的数据的能力将会大大提高,这样语义网建设的进展就将有助于创造出引人目的全新功能。
万维网的根本性质在于它的普遍性。超文本链接的威力在于“任何东西都能与其它任何东西链接”。因此,网络技术必定不会区分潦草写成的草稿与精细修饰的成品,不会区分商业信息与学术信息,不会区分各种不同的文化、语言、媒体等等。信息的差别可以表现在许多方面,其中之一就是主要供人类利用而产生的信息和主要供机器处理而产生的信息二者之间的差别。前者包括从电视广告到诗歌的所有各种文化信息,而后者则包括数据库、程序及传感器输出等等。至今万维网都是作为一个供人使用的文件的载体而不是作为一个可以自动处理的数据与信息的载体而极其迅速地发展起来的。语义网的目标就是要弥补这一缺陷。
同因特网一样,语义网将采用尽可能分散的结构。这种类似网络的体系将在每一层次上(从大公司到个体用户)开创激动人心的新境界,它带来的种种好处将是难于事先预测或根本就不可能事先预测的。但是采用分散结构也需要作出一些牺牲:网络必须放弃它的所有互连都完全相容这一理想目标,从而容忍现在已闹得人人皆知的“Error 404:Not Found”这样一类信息,但是这种做法有助于网络实现不受阻碍的指数式增长。
知识表示
为了使语义网发挥作用,必须向计算机提供访问结构化的信息集合和推理规则集的路径,使计算机能够利用这些信息和规则来进行自动推理。在万维网问世之前,人工智能研究人员就已经开始研究这类系统了。现在这项技术常常被称为“知识表示”。它当前的发展状态同万维网出现以前超文本的发展状念差不多:它的确是一项不错的构想,而且已经出现了某些极好的示范,但它还没有改变世界的面貌。它蕴含了某些重要应用的萌芽,但是,为了充分发挥它的全部潜力,必须把它连接成一个单一的全球系统。
传统的知识表示系统通常部是集中式的,要求人人对普通的概念(如“家长”和“车辆等)有完全相同的定义。但是集中控制往往造成死气沉沉的局面,而且,随着系统的规模和范围的扩大,集中控制系很快就会变得无法管理了。
此外,这类系统通常都对能够提问的问题作了相当周密的限制,以便计算机能可靠地回答问题——或者哪怕就是能回答问题。这一问题使我们想起数学中的Godel定理:任何一个足够复杂因而有用的系统同时也包含了它不能回答的问题,这些无法回答的问题其实就类似于“本句是假的”这一基本悖论的比较杂的翻版。为了避免这类麻烦,传统的知识表示系统通常都有各自的一套范围十分狭窄的特殊规则,根据这些规则对系统的数据进行推理。例如 一个对家族树的数据库进行推理的家谱系统可能有这样一条规则:叔父的妻子是婶婶。即使数据能够从一个系统转移到另外一个系统,但规则的存在形式是完全不同的,它通常不能进行这种转移。
语义网的情况则相反。语义网研究人员承认,悖论与无法回答的问题是他们为了实现功能的多样化而必须付出的代价。为了让语义网能够按照我们的需要尽可能广泛地进行推理,我们制定规则时也使用了其表达能力尽可能强的语言。这理念与传统网络所依据的原则是相似的。在万维网发展的早期阶段,那些极力贬低万维网的人指出这个网络永远也不可能成为一个组织得井井有条的图书馆:没有一个中央数据库和树结构,我们就不能打包票说肯定可以找到任何一项信息。这些说法并不错,但是万维网系统的表达能力提供了数量极为庞大的信息,而搜索引擎(10年前人们会认为这些工具是完全不现实的东西)为现在万维网上的大量资料编制出了异常完整的索引。
因此,语义网向我们提出的挑战,是要找到一种既能表示数据、又能表示对数据进行推理的规则的语言。这种语言还要使现有的任何一种知识表示系统的规则能够被移植到万维网上。
眼下摆在语义网研究人员面前的任务是向万维网中加进逻辑,也就是我们运用规则进行推理、选择行动路线以及回答问题时所依据的手段。这个任务的复杂性在于它既涉及数学决策,也涉及工程决策。加入万维网的逻辑应当有足够强的功能,使其可以描述目标的复杂性质,但它的功能又不应太强,以免代理人被糊弄得昏头昏脑而钻进逻辑怪圈的牛角尖。幸运的是,我们希望表达的知识绝大部分部属于“六角头螺栓是一种机器螺栓”之类的知识,这样的知识用现有的语言再加上略微多一点的词汇是很容易表示出来的。
开发语义网时使用的两种重要方法是唾手可得的现成技术,即“可扩充标识语言”(XML)和“资源描述框架”(RDF)。XML使每个人都可以作出自己的标识,即(zip code)(邮政编码)或(alma mater)(母校) 之类的隐匿标记,用作网页或网页上文本段的注解。程序段可以通过较复杂的方式来利用这些标识,但是编写程序段的人必须了解编写网页的人为每个标识规定的用处。简言之,借助XML,用户可以使他们的文件具有任意的结构,但XML一点也不能表示结构的意义(参看本刊1999年8月号《XML和第二代网》一文)。
意义是用RDF表示的。RDF通过三元组(triple)来编码意义,而每个三元组都类似于基本句子中的主语—动词—宾语结构。这些三元组可以用 XML标识来编写。在RDF中,一个文件断言某些对象(人、网页或诸如此类的东西)具有与某些值(另一个人,另一个网页等)相关的性质(如“是……的姐妹”,“是……的作者”等等)。结果证明这种结构原来就是描述绝大部分机器处理数据的自然方式。主语和宾语各用一个“通用资源标识码”(URI)来标志,就象网页上的链接所用的URI一样。(统一资源定位址URL是最常见的一种URI。)动词也用URI来标志,这样就使每个人都能定义新的概念或新的动词,也就是在网络上某个地方为它定义一个URI。人的语言之所以丰富多彩,原因之一是因为它可以用同一个术语 表达意义有一定差别的东西,但自动化则不是如此。试想像我请一家丑角送信公司在我的客户们过生日时为他们送上气球。遗憾的是这家公司把我的数据库中的地址转移到它的数据库中时并不知道我的数据库中的“地址”其实是帐单寄达的地方,而且有许多地址是邮政信箱。 结果我聘请的丑角们最终把气球送到了一大批邮局工作人员那里——这不一定是件坏事,但 肯定不是我期望的结果。对每个具体的概念使用一个不同的URI可以解决此问题。这样作为通信地址的“address”就可以同作为街道住址的address区别开来,而作为地址的address也可以同作为“致辞”的address 区别开来。
RDF的三元组构成了互相关联的事物的信息网络。由于T-RDF使用URI把这一信息编码在文件中,因此URI得以确保概念不仅是文件中的字词,而且同人人都能在网络上找到的一个独特定义有关。例如,想像一下我们能够使用一大批各种各样的存储有关于人(包括其地址)的信息的数据库。如果我们希望查找出住在某一邮政编码区内的人,我们就需要知道每个数据库中哪些区段表示名字,而哪些区段表示邮政编码。RDF可以规定“(field 5 in database A)(is a field of type)(Zip Code)”,此时它对每个术语使用的是URI而不是短语。
本体
当然,事情到这并没有完,因为两个数据库可能使用不同的标识码来表示同一个概念,例如zip code(邮政编码)。如果一个程序打算比较或综合这两个数据库的信息,那么它就必须知道它们各自使用的两个术语指的是同一个东西。最理想的情况是,程序必须找到一种适当的办法来发现这样一类共同的意义,无论它碰到的是什么样的数据库。
语义网的第三个基本要素提供了此问题的一个解决方案。该要素就是一类被称为“本体”(ontology)的信息集合。在哲学中“本体”是关于存在(现有的任何类型的事物)的本性的一种理论;而作为学科的本体学研究的就是这类理论。人工智能与网络的研究人员把这个术语借用过来纳入到他们自己的专业术语中。对他们而言,本体指的是形式上定义各术语间关系的文件。万维网的最典型的一类本体有一个分类表及一组推理规则。
分类表定义物体的类别以及各类物体之间的关系。例如,“地址”可以定义为某种地方,而“城市代码”则可定义为仅适用于地方,等等。类、子类以及实体间的关系是可供万维网使用的功能极其强大的工具。我们可以规定类具有某些性质,同时让子类继承这类性质,从而表示出实体间的众多关系。如果城市代码必定属于“城市”一类,城市一般都有网站,我们就可以讨论与某一城市代码相关的网站,尽管没有任何数据库把城市代码直接与网站相连。
本体中的推理规则提供更多的功能。一个本体可以表示这样一条规则:“如果某一城市代码与一个州代码有关,而某个地址使用了这一城市代码,那么该地址就有相关的州代码。”然后程序就可以轻易地进行比如说下面这样的推论:康奈尔大学的地址(在伊萨卡)必定是纽约州,而纽约州又在美国,因而康奈尔大学地址的格式应该符合美国标准。计算机并不会真正“懂得”这些信息中的任何一部分,但是它现在处理这些术语的效率可以提高许多,使得信息对用户来说不仅是有用的,而且也是有意义的。
在万维网上引入本体网页后,术语问题(以及其它一些问题)的解决方案就开始初见端倪了。一个万维网网页上使用的术语或XML代码的意义可以通过该网页指向一个本体的指针来定义。当然,如果我所指向的本体对地址的定义中使用“zip code”来表示邮政编码,而你所指向的本体对地址的定义却使用postal code来表示邮政编码,那么先前我们遇到的问题现在又会冒出来。如果本体(或其它万维网服务)提供等价关系,也就是让上述本体中的一个或两个存入相关信息,说明我的zip code等价于你的postal code,都是表示“邮政编码”的意思,那么这种混乱局面就可以消除了。
在我们前面举的那个派遣丑角分送气球以取悦客户的例子中,如果两个数据库指向不同的“地址”定义,那么我们的方案可以部分解决程序利用不同的URI来表示不同的地址概念,因此它将不会把这些地址概念弄混。事实上它需要发现这概念其实是互相关联的。然后用户就可以利用一项服务来取得一张通信地址表(由第一个本体定义),并通过识别和去掉邮政信箱及其它不合适的地址而将其转变成一张实际地址表(第一个本体)。本体提供的结构和语义使企业家更容易开展这样一项服务,并使这项服务的应用变得完全透明。
本体可以从许多方面增强万维网的功能。通过一种简单的方式应用本体,可以改进万维网搜索的精确性——搜索程序可以只寻找那些涉及某一确切概念的网页,而不是把那些使用含混不清的关键词的网页统统检索出来。更高级的应用程序将使用本体把某一网页上的信息与相关的知识结构和推理规则联系起来。标记为这样一类用途的网页的一个实例可以在网址http://www.cs.umd.edu/~hendler上找到。如果你把你的网络浏览器发送至该网页,你将会看到标题为“Dr.James A.Hendler”的正常的网页。既然你是人而非计算机,你可以不费吹灰之力就在网页上找到通向一份简历的链接。打开简历后,你会看到Hendler在布朗大学获得 博士学位。然而,想要寻找这类信息的计算机程序却必须异常复杂,才能猜想出此信息可能会在简历中找到,而且也才能看懂简历中所用的英语。
为了便于计算机查找,Hendler的网页连接到一个对关于计算机科学系的信息作出定义的本体网页。例如,教授们在大学工作,而且一般都有博士学位。该网页上的其它标记(通常的网络浏览器并不把它显示出来)使用本体的概念规定,Hendler从URI为http://www.brown.edu/(即布朗大学的网页)所描述的实体那里获得博士学位。计算机还可以查出Hendler是某个研究项目组的成员,有某个e -mail地址,以及诸如此类的信息。所有这信息都很容易由计算机加以处理,并可以用来回答种种询问(例如Hendler博士在何处得到他的博士学位),而现在为了回答这些询问,需要一个人浏览搜索引擎查找出的各种网页的内容。
此外,为了对付其答案并不包含在单一网页中的复杂问题,需要开发一些特殊的程序,而上述标记就使这类开发任务轻松多了。假定你希望找到你去年在贸易洽谈会上结识的Cook夫人。你记不得她的名字了,但是你记得她是为你的一位客户工作,而且她的儿子在你的母校上学。一个智能搜索程序可以浏览其姓为“Cook”的人的所有网页(但却跳过那些与厨师(cook)、烹调(cooking)、库克群岛(cook lslands)等等有关的所有网页),找出那些提到某人为一家上了你的客户名单的公司工作的网页,然后再顺藤摸瓜打开他们的子女的网页,查一下是否有哪位子女在你的母校上学,这样或许就能把你要找的Cook夫人挖出来了。
代理人
如果人们编写出众多的程序从各种不同的信息源广泛收集网络内容,对这些信息进行加工处理并与其它程序交换其结果,那么语义网的威力将得到真正的发挥。随着更多的机读网络内容和自动化服务(包括其它种种代理人)的涌现,这类软件代理人的效力将以指数速度增长。语义网促进了这种协同作用:甚至连那些人们并不是有意让它们彼此合作的代理人,一旦其数据被加入了语义时,也能够被此传送数据。
代理人功能的一个重要方面是它们能交换用语义网的统一语言写出的“证明”(统一语言就是表达那利用规则和信息——例如本体所规定的规则和信息——进行的逻辑推理的语言)。例如,假定某一网上服务替你查出了Cook夫人的联系资料,而令你大感意外的是它查到Cook夫人原来在约翰内斯堡。自然你想核对一下这是否属实,于是你通过你的计算机要求其网上服务拿出其回答的证明,后者很快就提供了这一证明,也就是把它的内部推理过程翻译成语义网的统一语言。你的计算机中的推理引擎不费什么力气就查明这位Cook夫人的确同你要找的那个人对得上号。如果你仍然心存疑虑的话,它还可以把相关网页全显示出来让你查看。已经有一些程序能够利用现有的初级版本统一语言以这种方式交换证明,尽管它们还远远没有发挥出语义网的巨大潜力。
另一项关键的功能是数字签名。数字签名是一些加密的数据块,计算机和代理人可以利用它们来查明其所附的信息是某一可靠来源提供的。例如,假定你的财务程序收到一张报表,说你欠某位网上零售商的货款,自然你想弄清楚这一报表是不是隔壁那位少年电脑高手炮制出的膺品。在核实信息的来源之前,代理人应当对它们在语义网上读到的所有东西保持高度警惕(我们也希望有更多的人在现今这个样子的万维网上学会谨慎从事。)
现在万维网上已经开展了许多并不依靠语义的自动化服务,但是其它程序(如代理人)该有任何办法找到一项执行某一特定功能的服务。只有在推出了一种“统一语言”之后,这一名为“寻找服务”的过程能实现。统一语言以统一的方式描述一项服务,使其它代理人能够“懂得”该服务的功能以及如何利用它。服务及代理人可以通过种种方式宣传它们的功能。例如把关于它们功能的介绍存入到类似电话号码薄黄页之类的“大全”中。
目前已经实现了一些低级的寻找服务办案,例如微软公司的“通用即插即用”(Universal Plug and Play)和太阳微系统公司的Jini。前者侧重于把不同类型的器件连接起来,后者的目标则是把各类服务连接起来。但是这些方案仅仅是在结构或句法一级上来解决寻找服务的问题,它们在很大程度上依赖于一组预先确定的功能描述的标准化。由于我们无法预见将来可能出现的所有需求,因此标准化只能进行到这一步。
语义网则要灵活得多。消费者代理人和生产者代理人可以通过交换本体而达成共识(本体提供讨论所需的词汇)。代理人一旦发现了新的本体后,甚至还可以“引导”新的推理能力。有时一项服务只是部分地与一项请求对上号,借助语义我们也可以更轻松地利用这样一类服务。
一种典型的过程是打造“价值链”,也就是把信息的各个组成部分从一位代理人传送到下一位代理人,每位代理人都使信息“增值”,最后得出终端用户所要求的成品。但请读者不要弄错:为了根据要求自动作出复杂的价值链,某些代理人除了利用语义网外,还将利用人工智能技术。不过语义网将为这类技术的更加实用化奠定基础和骨架。
把所有这些功能综合在一起,正好就是本文开头所描述的故事,Pete与Lucy的代理人展示的功能。他们的代理人把接到的任务分成若干块,然后委托给通过服务广告所找到的其它服务和代理人去干。例如,它们可以通过一个可靠的来源取得一份理疗点名单,并确定哪些理疗点属于医疗保险合同指定范围内并符合所需疗程。理疗点名单由另一项搜索服务提供,等等。这些活动一环扣一环,使分布在万维网上的大量数据(这些零散分布的数据不经加工几乎没有什么利用价值)逐步浓缩成对Pete和Lucy有很大价值的少而精的资料,即一份与他们自己的日程以及其它要求能够完全配合的预约时间安排。
语义网发展的下一步将是从虚拟世界中跳出来而进入我们的现实世界中。URI可以指向任何东西(包括物理实体),这就意味着我们可以利用RDF语言来描述手机和电视机之类的装置。这类装置可以像软件代理人那样把它们的功能(也就是它们能做什么以及它们是如何控制的)通告各方。这样一种以语义为基础的方案比低级的方案(如微软的Universal Plug and Play)灵活得多,它将为我们开辟无数激动人心的发展机遇。
例如,现今所谓的“家庭自动化”要求周密地配置家用电器,使其协调一致地运行。对电器的性能与功能的语义描述将使我们能够实现这样的自动化而几乎用不着人的干预。一个不起眼的例子就是当Pete拿起电话回话时,房间内音响系统的音量就降了下来,Pete无须对每一台电器进行这种配置,他可以在预置这种功能时一下子就涵盖了每一台宣布自己有音量调节器的局部电器——电视、DVD播放机乃至Pete那天晚上下班后带回家中的手提电脑的多媒体播放器。
这一方面的最初几个具体步骤已经开始实施,研究人员正在设法制定一个统一的标准来描述器件的功能特性(如显示屏大小)以及用户的喜好。这一建立在RDF基础上的标准被称为“组合性能/喜好特性”(CC/PP)在开始阶段这一标准将让手机和其它非标准的网络客户描述它们的特性,使网络内容可以迅速地剪裁得符合它们的需要。然后,当我们把处理本体和逻辑的语言的多种功能全部加进去时,各个装置就能够自动地搜索并利用各种服务及其它装置以获取更多的信息或功能。不难想像这样一种情景:你的网络启动的微波炉向冷冻食品制造商的网站求教关于最优烹调参数的问题。
知识的进化
语义网不仅仅是执行我们到现在为止讨论的各项任务的工具。只要设计得当,语义网还能够促进人类知识整体的进化。人类的活动始终存在着效率配合的矛盾。独立行动的小组其效率较高,但是与外面社会的配合也是不可少的。小组有利于迅速而高效地实现革新,但它们也容易产生一些其观念不易与其它小组沟通的亚文化。然而使一个很大的群体协调其行动可能会出奇地慢,而且需要大量的交流与沟通。整个世界就是以小组和大集体这两个极端之间的各种方式运作着,通常的情况是起步阶段较小(从个人提出的设想出发),随后逐渐向着获得越来越广泛的认识的方向前进。
一个基本的过程是在需要一种更广泛的共同语言时把不同的亚文化结合起来。两个小组常常独立地产生非常相似的观念,描述它们之间的关系将有很大的好处。这些关系起着法英词典或度量衡换算表之类的工具的作用:即使观念上的统一还没有导致术语上的统一,有了这些关系,交流与合作也就就大大地便利了。
语义网对于每一个概念都只用一个URI来指定,因此任何人都可以毫不费力地通过语义网表达他们发明的新概念。语义网的统一逻辑语言将使这些概念能够逐步地连接成一个通用的网络。这种结构将使软件代理人能够对人类的知识和机制进行意义上的分析,从而为我们提供一类使我们能更好地共同生活、工作与学习的全新工具。
【周晓刚/译 向俊/校】
请 登录 发表评论