《语义网基础教程(原书第3版)》—— 1.2 语义网技术

本节书摘来自华章出版社《语义网基础教程(原书第3版)》一 书中的第1章,第1.2节,作者:(希)Grigoris Antoniou(荷)Paul Groth(荷)Frank van Harmelen(荷)Rinke Hoekstra ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 语义网技术

1.2.1 显式元数据

当前,万维网上内容的格式更适合人类读者而非计算机程序。HTML是(直接或借助工具)撰写网页的主流语言。一个理疗师的典型网页的一部分可能如下所示:

《语义网基础教程(原书第3版)》—— 1.2 语义网技术

对人们而言,这些信息以一个令人满意的方式表达,但是对机器而言则存在问题。基于关键词的搜索会识别physiotherapy和consultation hours等词。并且一个智能agent甚至能够识别该中心的全体人员。但是,区分治疗师和秘书则会存在困难,查找准确的咨询时间还会碰到更大的困难(因为不得不沿着State of Origin游戏的链接来查找它们发生的时间)。
解决这些问题的语义网方法不是开发一种超级智能的agent,而是尝试从网页端入手。如果HTML能够被更适合的语言取代,网页就可以携带它们的内容。在包含为人类读者生成的文档格式信息的同时,网页还可以包含有关它们内容的信息。
在这个方向上的第一步是可扩展标记语言(eXtensible Markup Language,XML),它允许在网页上定义信息的结构。在该例子中,可能存在以下信息:
《语义网基础教程(原书第3版)》—— 1.2 语义网技术

这种表达形式非常容易被机器处理。特别是,它适用于万维网上的信息交换,这是XML技术最重要的一个应用领域。
但是,XML依然处于语法层次,因为它描述的是信息的结构(structure),而非信息的含义(meaning)。语义网的基础语言是RDF,它是一种生成有关信息片段声明的语言。在该例子中,这样的声明包括:
《语义网基础教程(原书第3版)》—— 1.2 语义网技术

对于人类读者,XML表示形式和一个RDF声明列表的差异微不足道,但是它们本质上非常不同:XML描述的是结构而RDF生成的是信息片段的声明。
元数据(metadata)一词的含义是:关于数据的数据。元数据捕获数据的含义(meaning)部分,也就是语义网中所说的语义(semantic)一词。

1.2.2 本体

本体(ontology)一词源于哲学。在哲学中,它被用作一个哲学子领域的名称,即对存在的本质的研究(希腊单词的Oooi),它属于形而上学的一个分支,以最通俗的术语而言,它关注于识别真实存在的事物的类别,以及如何描述它们。例如,世界是由具体事物构成的,这些事物根据共享的属性可以被归类到抽象的类别,这种观测是一种典型的本体化任务。
但是,近些年来,本体成为被计算机科学领域引进的许多单词之一,并且被赋予了一个与原始含义迥然不同的具体技术含义。我们现在使用“一个本体”来代替“本体”。针对我们的目标,我们将使用T. R. Gruber的定义,这个定义后来由R. Studer修订:一个本体是一个概念体系的一种显式的、形式化的归约(An ontology is an explicit and formal specification of a conceptualization)。
通常,一个本体形式化地描述了一个论域。典型地,一个本体由一个包含术语以及术语间的联系的有限列表组成。术语(term)指称领域中的重要概念(concept,对象的类(class))。例如,对于一个大学领域,教职工、学生、课程、阶梯教室和学科是一些重要概念。
一般地讲,联系(relationship)刻画了类的层次性。一个层次描述了一个类C是另一个类C'的子类,仅当C中的每个对象也属于C'。例如,所有教师都是教职工。图1-3描述了大学领域的这样一个层次结构。
《语义网基础教程(原书第3版)》—— 1.2 语义网技术

除了子类联系之外,本体还可能包含以下信息:
属性(X teaches Y);
值限制(只有教师才能授课);
不相交声明(教师和普通教工是不相交的);
对象间逻辑关系的说明(每个院系必须至少有10位教师)。
万维网环境下,本体提供了某个领域的一个共享的理解。该共享的理解对于克服术语上的差异必不可少。例如,一个应用中的邮编(zip code)可能与另一个应用中的邮编(postcode)一样。另一个问题是,两个应用可能使用相同的术语来表示不同的含义。在大学A中,course可能指的是一门学位(如计算机科学),而在大学B中则可能是一个科目(如CS 101)。这种差异可以通过将特殊的术语映射到一个共享的本体或定义本体间的直接映射来克服。无论是何种情况,都可以明显看出本体提供了对语义互操作性的支持。
本体有助于网站的组织和导航。现在的许多网站在页面的左边呈现了一个术语的概念层次的顶层目录。用户可以点击它们来展开子目录。
同时,本体有助于提高万维网搜索的准确性。搜索引擎可以寻找指向一个本体中一个精确概念的页面,而不是通过某些含糊的关键词收集到的所有页面。通过这种方式,网页和查询之间术语上的差异可以克服。
此外,万维网搜索可以利用一般化/特殊化信息。如果一个查询无法找到任何相关文档,那么搜索引擎可以建议用户使用一个更一般的查询。甚至搜索引擎可以预先执行这样的查询来降低用户采用这一建议的响应时间。或者在获得太多的搜索结果时,搜索引擎可以建议用户使用更特殊的查询。
人工智能(Artificial Intelligence,AI)领域中,开发和使用本体语言已经有很长的历史。这是语义网研究可以依赖的基础。目前,万维网上最重要的本体语言包括:
RDF模式是一种词汇表描述语言,用来描述RDF资源的属性和类,以及这些属性和类的泛化层次的语义。此外,属性的定义域和值域也可以定义。
OWL是一种描述属性和类的更丰富的词汇表描述语言,例如类之间的关系(比如不相交)、基数(比如“恰好等于1”)、相等、更加丰富的属性类型定义、属性的性质(比如对称性),以及枚举类等。

1.2.3 逻辑

逻辑是一门研究推理的原理的学科,它可以追溯到亚里士多德(Aristotle)。一般而言,逻辑首先提供形式语言(formal language)来表达知识。其次,逻辑为我们提供广泛理解的形式语义(well-understood formal semantics):在绝大多数逻辑中,句子的含义不需要通过对知识的操作来定义。我们常提到描述性知识:我们描述什么是成立的,而不需要关心它如何被推断出来。
再者,自动化的推理机能够从给定知识中推断(推导)出结论,因而使得隐式的知识显式化。这些推理机已经在人工智能领域中广泛研究。这里有一个推导的例子。假设我们知道所有的教授都是教师,所有的教师都是教职工,而Michael是一名教授。在谓词逻辑中,这些信息可以表述如下:
《语义网基础教程(原书第3版)》—— 1.2 语义网技术

接下来,我们可以推断出下列知识:
《语义网基础教程(原书第3版)》—— 1.2 语义网技术

注意,这个例子中包含了本体中常见的知识。因此,逻辑能够用于揭露隐式给定的本体知识。通过逻辑推理,也可以发现未知的联系和不一致性。
但是逻辑比本体更加宽泛。逻辑还可以被智能agent用于决策和选择动作路线。例如,一个购物agent可能决定基于下面的规则给某位顾客一个折扣:
《语义网基础教程(原书第3版)》—— 1.2 语义网技术

其中,顾客的忠诚度由存储在企业数据库中的数据确定。
通常,在表达能力和计算高效性之间存在一个权衡。一个逻辑的表达能力越强,它生成结论的计算代价就变得越昂贵。甚至当遇到不可计算性障碍时,生成某些结论将变得不可能。幸运的是,和语义网相关的大量知识看起来是一种相对受限的形式。例如,之前的例子包含了规则的形式“如果前提,那么结论”,其中前提和结论是简单的声明,并且只有有限个对象需要被考察。这个逻辑子集称为Horn逻辑,是易处理的并且由高效的推理工具支持。
逻辑的一个重要的优点是它能够提供结论的解释(explanation):推导步骤的序列是可回溯的。而且人工智能领域的研究人员已经开发出对人类友好的方式来展现解释,通过将一个证明组织成一个自然的推导过程,并将一组底层的推导步骤归类成人们通常认为的单个证明步骤的元步骤。最终解释将从答案回溯到一个给定的事实和使用的推理规则的集合。
解释对于语义网很重要,因为它们增加了用户对语义网agent的信心(参见之前的理疗师例子)。Tim Berners-Lee提到过一个“Oh yeah?”按钮来请求解释。
解释对于agent之间的活动也必不可少。当一些agent有能力生成逻辑结论时,另一些则有能力验证证明(validate proof),即检查一个由其他agent生成的断言是否可以被证明。这里有一个简单的例子。假设agent 1,代表一个在线商店,发送一条消息“你欠我80美元”(当然,不是以自然语言的形式,而是用一种形式化的、机器可处理的语言)给agent 2(代表一个人)。然后,agent 2可能会要求提供解释,而agent 1可能响应一个如下形式的序列:

购买超过80美元商品的万维网日志
商品交付证明(例如,UPS的追踪号)
使用商店术语和条件的规则:
《语义网基础教程(原书第3版)》—— 1.2 语义网技术

这些事实通常将被追溯到某些网址(它们的可信性可以被agent验证),而这些规则可能是一个共享的商业本体或者在线商店政策的一部分。
对于万维网上有用的逻辑,它必须能和其他数据一同使用,并且还必须可以被机器处理。因此使用万维网语言来表达逻辑知识和证明还在进行中。早期的方法工作在XML层次,但是在未来,规则和证明将需要表示在RDF和本体语言层次。

1.2.4 语义网与人工智能

正如我们所说的,实现语义网所需的大部分技术建立在人工智能领域工作的基础上。尽管人工智能拥有很长的历史,但它在商业上并不是一直成功的,人们或许会担心,最坏情况下,语义网将重蹈人工智能的覆辙:大的承诺导致过高的期待,最终发现无法实现(至少不是在许诺的时间范围内实现)。
这个担心是不公平的。实现语义网愿景并不依赖于人类层次的智能;事实上,正如我们尝试解释的那样,语义网是以一种不同的方式来接近挑战。人工智能的完整问题是一个深层次的科学问题,可能与物理学(解释物理世界)或者生物学(解释生物世界)的核心问题相当。正如所见,没有实现过去某些时候曾许诺的在10~20年里实现人类层次的人工智能,并没有令人感到吃惊。
但是在语义网上,部分解决方案是可行的。即使一个智能agent不能生成一个人类用户可以生成的所有结论,相比现在,这个agent仍然对万维网贡献良多。这为我们带来了另一个区别。如果人工智能的最终目标是建立一个表达人类层次智力(或更高层次)的智能agent,语义网的目标则是辅助人类用户参与日常在线活动。
显而易见,语义网频繁使用当前的人工智能技术,而人工智能技术的发展将带来一个更好的语义网。但是不必等到人工智能取得更高层次的成就,当前的人工智能技术已经足够在很长一段时间内实现语义网的愿景。

上一篇:大型电商架构设计各路诸侯点评


下一篇:Linq多表操作中事务的应用