语义网/愿景
"语义网是当前网络的扩展,其中信息被赋予了明确的含义,使计算机和人们能够更好地协同工作。" - Tim Berners-Lee,James Hendler,Ora Lassila (2001)
根据万维网联盟 (W3C),只有当网络成为一个可以共享、处理和理解数据的地方,无论是自动工具还是人类,它才能充分发挥其潜力。为了使网络扩展,未来的程序必须能够共享、处理和理解数据,即使这些程序是彼此独立设计的。
语义网这一术语仍处于定义阶段,对于许多人来说可能还很陌生,即使是在 IT 界。但它旨在解决的问题是我们几十年来一直在努力解决的问题——诸如信息过载、筒仓系统和内容聚合不良 (Daconta, Orbst, 和 Smith, 2003) 等问题。这些问题的根本原因是各个系统缺乏语义定义、数据集之间缺乏语义集成,以及不同系统之间缺乏语义互操作性。语义网超越了当前网络和现有信息技术的能力,使更有效的协作和更明智的决策成为可能。它是一个智能网站和数据存储的集合,可通过一系列语义技术、概念框架和明确的交互协议进行访问,使机器能够完成更多工作以响应服务请求——无论是承担重复的搜索流程、提供更好的信息相关性和置信度,还是执行智能推理或代理。
然而,要达到这种状态,可能需要花费数年时间。当然,在某些方面会取得快速进展,就像在推出低成本/免费网络服务器和免费图形浏览器后,很快出现了大量网站一样。但网站开发的进程在六七年的时间里相对混乱——从一组临时的脚本语言、低端工具和定制服务器组件开始,逐渐发展到一组相对统一的核心语言、应用程序服务器、内容管理系统、电子商务引擎、Web 服务以及其他企业级组件和产品。语义网的增长很可能经历类似的市场动态演变。尽管互联世界的商业模式已得到更好的理解,并且人们对新兴 Web 技术的意识水平也得到了极大提高,但仍然需要相当长的时间才能将愿景中的许多部分组装起来。
1. 语义网不是一组新的、独立的网站。
语义网是对现有万维网的扩展,而不是一组独立的新网站。它建立在现有万维网的结构和拓扑之上,但通过定义机器可处理的数据和关系标准以及更丰富的语义关联,增加了更多功能。现有网站可以使用这些结构来描述网页中的信息,以便外部流程(如搜索引擎、蜘蛛搜索技术和解析脚本)更容易地访问。此外,新的数据存储,包括许多数据库,可以公开并提供给机器处理,机器处理可以完成繁重的工作,以联合查询并在多种语法、结构和语义中整合结果。语义网背后的协议旨在对支持现有万维网的现有技术保持透明。
2. 语义网的构建并非仅仅为了人类的访问能力。
当前的网络主要依靠文本标记和数据链接协议来对信息进行结构化和互联,其程度非常粗糙。这些协议主要用于描述和链接以供人类阅读的形式呈现的文档(但这些文档具有用于一阶机器搜索和聚合的有用钩子)。语义网协议在更精细的级别上定义和连接信息。含义以机器更容易理解和处理的格式表达,从而可以弥合数据存储中的结构和语义差异。这种抽象和增强的可访问性意味着可以增强和扩展当前的 Web 功能,并引入新的强大功能。
3. 语义网并非建立在未经测试的激进信息理论之上。
语义网的出现是公认的信息理论的自然发展,借鉴了知识表示和知识管理领域的理念,以及万维网社区内修正后的思想。新批准的协议有着悠久的历史,体现了许多计算机语言、信息理论、数据库管理、基于模型的设计方法和逻辑方面的熟练从业人员的理念。这些概念已在许多实际情况下得到证明,尽管 W3C 的统一标准集承诺加速和扩大企业和网络的采用。关于知识表示及其尚未实现的承诺,回顾历史可以看到许多例子,证明统一标准为概念的接受提供了关键动力。HTML 来自 SGML,这是一种只有轻微流行的文本标记语言,然而 HTML 却带来了信息技术使用的巨大变革。该领域的许多人指出,面向对象编程和概念到物理编程模型的接受时间都比较长。正如拉尔夫·霍奇森所说,“知识表示是一门基础学科,现在拥有了一个基础设施和一套支持标准,使其走出实验室,进入实际应用。”
4. 语义网并非与当前数据建模概念有很大差异。
据蒂姆·伯纳斯-李所说,语义网数据模型类似于关系数据库模型。“关系数据库由表组成,表由行或记录组成。每个记录由一组字段组成。记录只是其字段的内容,就像 RDF 节点只是连接一样:属性值。映射非常直接——记录是一个 RDF 节点;字段(列)名称是 RDF 属性类型;记录字段(表格单元格)是一个值。事实上,语义网的主要驱动力之一始终是在网络上以机器可处理的方式表达大量的关系数据库信息。”(Berners-Lees,1998)也就是说,语义网是一种更具表现力、更全面、更强大的数据建模形式。它建立在传统的数据建模技术之上——无论是实体-关系建模还是其他形式——并将它们转换为更强大的方式,以更全面可理解的方式表达丰富的关系。
5. 语义网并非某种神奇的人工智能。
机器可理解文档的概念并不意味着某种神奇的人工智能,可以使机器理解人类的咕哝声。它只是表明机器能够通过对现有定义明确的数据执行定义明确的操作来解决定义明确的问题(Berners-Lee, Handler, 和 Lassila, 2001)。现在的搜索引擎执行了 20 年前被认为是魔法的功能,但现在我们认识到这是 IP 协议、HTML、网站、网页、链接、图形浏览器、创新搜索和排名算法,以及大量的超高速服务器和同样巨大而快速的磁盘存储阵列的结果。语义网的功能也同样是信息技术和知识表示的一系列逻辑互联进展的结果,这些进展围绕着共同的标准和方法基础形成。
6. 语义网并非现有的实体,用户可以随时使用。
语义网目前只是一个愿景,尽管它是一个充满希望和引人入胜的愿景。与现在的网络类似,语义网将通过开放标准和专有协议、框架、技术和服务的结合来形成。W3C 批准的标准——XML、RDF 和 OWL——构成了基本协议。新的数据模式和契约机制将围绕利益共同体、行业和意图构建,使用这些新协议;一些将由经验丰富的数据架构师精心设计,并得到既定标准机构的正式认可;另一些将从无到有,并在一夜之间获得广泛认可。一系列新技术和服务将会出现,例如语义感知内容发布工具;上下文建模工具;中介、推理和信誉引擎;数据清洗和词典服务;以及新的身份验证和验证组件。尽管愿景的各个要素已经存在,但这些技术的推广、竞争力量之间的协调以及愿景的实现需要很多年的时间。
虽然语义网的完整愿景可能还很遥远,但许多人认为,在不久的将来,将会出现一些功能,使企业软件更加可连接、互操作和适应性强,并且维护成本大大降低。在现有和新兴的基于语义的模式和工具中结合使用语义方法可以为许多企业和政府机构的 IT 项目带来即时或短期效益。
例如,语义互操作性代表了语义网愿景的一个更有限或更受限的子集。然而,通过使用基于语义的工具来仲裁和调解相对封闭且定义明确的领域内的结构、含义和上下文,以实现与信息共享和信息互操作性相关的特定目标,仍然可以获得显著的回报。换句话说,语义互操作性解决了一组更离散的问题,这些问题具有更明确定义的端点(Pollock 和 Hodgson,2004)。语义技术还可以为现有的 Web 服务和 XML 框架提供一个松散连接的覆盖层,这反过来又可以提供比目前可用的更强的自适应能力。它们还可以立即帮助解决服务发现和协调问题,以及跨不同词汇表协商请求和响应。考虑到联邦、州和地方机构在这方面遇到的问题深度和难度,语义技术可能为解决这些问题提供第一个灵活、开放和全面的方法。
语义计算是一门正在形成和塑造的新兴学科。因此,存在许多定义和解释,甚至在思想领袖和实践者之间还有一些低强度的哲学斗争。也就是说,RDF 和 OWL 作为 W3C 建议在今年早些时候发布,为表达创造了更大的共识。
由于语义计算利用各种形式的抽象和逻辑表达式,因此可能难以理解这些语言如何提供前面部分中表达的许多强大功能。但就像互联网和万维网建立在协议和技术的层面上一样,语义网也是如此。了解几个关键概念并熟悉语义网的核心构建块将为可视化更高阶工具、组件和技术如何实现更丰富和更灵活的机器可处理数据的承诺奠定基础。了解一些基础概念还可以让读者更好地了解技术现状以及为了实现语义网的完整愿景还需要改进的领域。
语义技术与数据库模式、数据字典和受控词汇表不同的一点是:它们的设计考虑了连接性,使不同的概念域能够作为一个网络协同工作。
1. XML(可扩展标记语言)
XML 代表可扩展标记语言,是一种描述、传输和交换数据的标准方式,由 W3C 在 1990 年代后期开创。XML 作为一种通过使用自定义“标签”来标记数据的机制,以便描述数据。XML 不一定与 HTML 相关,事实上,这两者是为完全不同的目的而设计的。尽管如此,这两个可以以各种方式相互补充,具体取决于用户的需求。
标签通常是数据的标签,例如“FirstName”或“StreetAddress”。当尝试使用 XML 定义标准的交换格式时,重要的是要就标签达成一致。例如,两家图书供应商可能希望正式建立涉及数据交换的合作伙伴关系。在开始时指定供应商 A 对“作者”的定义与供应商 B 对“作者”的定义相同,并在 XML 结构中对其进行编码,将是制定适当的数据协议的必要部分。也需要正式识别其他重叠且具有相同含义的术语,通常是在称为 DTD 或 XML 架构的东西中。(XML 架构是一种以正式方式定义 XML 文档的机制,从而确保信息准确交换。)
许多政府和行业注册表中都可以找到正在使用中的 XML 架构示例。根据美国 CIO 委员会 XML 工作组,“只有当组织使用相同的数据元素定义并且这些定义可供合作伙伴发现和检索时,才能充分发挥 XML 的优势。注册表/存储库是一种通过互联网发现和检索文档、模板和软件(即对象和资源)的方法。注册表用于发现对象。它提供有关对象的信息,包括其位置。存储库是对象驻留以供用户检索的地方。”
在语义和语义网的背景下,XML 是一组用于在特定领域创建语义丰富的标记语言的语法规则。XML 允许用户为其文档添加任意结构,但对结构的含义不做任何说明(Berners-Lee、Hendler 和 Lassila,2001)。换句话说,虽然 IT 系统、数据库和内容管理系统在描述事物方面变得很擅长,但它们在描述关联方面做得并不好。需要更具体和更忠实的描述,以提供对词语、术语和领域的更好理解。
2. RDF(资源描述框架)
RDF 代表资源描述框架,它专门设计用于提供这种关联信息。RDF 提供了使数据更丰富、更灵活的方法,因此能够存在于系统程序员和数据建模者明确定义的环境之外。RDF 以三元组集的形式对信息进行编码,每个三元组都类似于一个基本句子的主语、谓语和宾语。(这种模型也可以表示资源、属性和值结构。)RDF 提供了一个基础设施用于链接分布式元数据,并且与 OWL 一起用作描述和表示本体的核心语言。
使用 RDF 描述数据关联的主要优势之一是它提供的可扩展性和灵活性。可以创建执行几乎相同操作的显式数据库表,但 RDF 的独特性质提供了一种灵活的机制,它允许更强大的关联功能,从而提高对明确未硬编码到表中的主题内容进行查询和推断的能力。当尝试集成新的数据源时,这些优势只会增加,尤其是在它们具有不同的结构或语义时,或者更重要的是,当它们跨越概念域(例如环境和公共卫生数据或法律执法和情报数据)时。RDF 三元组以 XML 形式序列化,提供了一种使用 XML 标签或其他语法以机器易于处理的格式描述数据元素之间关系的方法。为了支持松散耦合和/或虚拟架构,使用统一资源标识符 (URI) 来标识每个三元组元素。URI 的目的是通过链接到定义概念的来源来唯一标识概念形式的主语、谓语或宾语。
RDF Schema(有时写为 RDFS 或 RDF-S)提供了一种语义描述和扩展 RDF 的方法。它提供了描述相关资源组以及这些资源之间关系的机制。RDF Schema 对 RDF 的作用类似于 DTD 和 XML Schema 对 XML 的作用。在学术界和工业界,已经开发出许多用于 RDF 的查询语言。2004 年 10 月,W3C RDF 数据访问工作组发布了 SPARQL(发音为“sparkle”)的草案规范,这是一种用于 RDF 的查询语言,旨在统一开发人员和最终用户编写和消费 RDF 搜索结果的方式范围广泛的信息。
3. OWL(Web 本体语言)
OWL 代表 Web 本体语言。(缩写词有意从实际名称中颠倒——OWL 而不是 WOL——作为对《小熊维尼》一书中猫头鹰名字的有意识联系。)虽然 RDF 的主要价值可以体现在它能够实现分布式数据的关联和集成,但 OWL 的主要价值在于它能够在分布式数据上进行推理。
OWL 是一种高度表达的建模语言,它与现有的数据存储和建模结构兼容,包括 XML、Rational 和面向对象的方法。OWL 还提供数据松散耦合的“视图”,这使得联邦知识库易于构建和演化。最重要的是,OWL 具有机器可操作的语义。运行时和设计时软件工具可以在没有人工干预或高度特定应用程序代码的情况下,对模型、数据、元数据、规则和逻辑做“事情”。(Pollock,2004)
OWL 源于许多开发一组灵活的计算逻辑结构的努力,其中许多努力可以追溯到很多年前。它是名为 DAML+OIL 的本体语言的下一代,它又整合了两种努力,DAML 是 DARPA 标记语言,一项基于美国开展的努力,以及 OIL,本体推理层(或语言),一项基于欧洲开展的努力。它也根植于 SHOE(简单 HTML 本体扩展),这项由马里兰大学的 James Hendler 领导的努力,专门用于将机器可读的知识整合到 Web 文档中,从而促进智能代理功能。定义了三种级别的 OWL(OWL Lite、OWL DL 和 OWL Full),每种级别都具有逐渐增加的表达能力和推理能力。创建这些级别是为了让工具供应商更容易支持指定级别的 OWL。RDF 和 OWL 可以一起或单独运行。在某些情况下,支持数据的分布式性质可能是主要目标,在这种情况下,可能只使用 RDF。在其他情况下,可能需要分布和推理功能,因此可以使用 RDF 和 OWL。在其他情况下,只需要推理功能,因此 OWL 就足够了。
4. 其他语言开发努力
目前正在开发其他语言来解决语义网愿景中的额外层次。例如,规则语言将提供一种能力,以机器可处理的形式表达某些逻辑关系。这种语言将允许表达业务规则,并提供更强大的推理和推断能力。RuleML最初被提议作为一种规则语言,尽管目前W3C正在努力将语义网规则语言(SWRL)形式化。逻辑语言将有可能提供一种通用机制来表达单调逻辑和验证证明。一个长期的希望是最终利用来自网络各处的断言来推导出新的知识。(这里的问题是演绎系统并不是特别地可互操作。与其设计一个单一的、无所不能的推理系统,当前的活动集中在为表示证明指定一种通用语言。然后,系统可以对这些证明进行数字签名并导出,供其他系统使用和合并。)
同样,推断信誉和信任的结构、模式和架构也在开发中,既有W3C内部的,也有更广泛的网络社区的。这些方法不仅用于推断个人之间的信誉和信任,还用于推断群体(如公司、媒体来源、非政府组织和政治运动)、无生命物体(如书籍、电影、音乐、学术论文和消费产品),甚至是理念(如信仰体系、政治理念和政策建议)之间的信誉和信任。(Masum 和 Zhang,2004)该领域从业者面临的一个挑战是,创建具有足够的表达能力的框架和语言来捕获可以用模棱两可的人类语言描述的知识。问题在于如何创建语言、工具和系统,既能支持简单事物的轻松表达,又能使其能够表达复杂事物。另一个挑战是如何在处理与语法可读性和人类可访问性相关的問題时,保持与现有的语法标准(如HTML、XML和RDF)的兼容性。最终,将开发出更好的工具来最大限度地减少这些问题,但在目前,某些高级语言中的复杂性可能会使使用当前编辑和建模工具开发完全符合规范的实现变得更加困难。
'"语义网工具每天都在变得更好。新公司开始成立。大公司开始行动。"'
-James Hendler
存在几个模型描述了技术经历的成熟度生命周期或阶段。这些模型通常有四个阶段:进入(或定义)、增长(或验证)、成熟(或完善)和衰落(或整合)。从大多数衡量标准来看,语义网(以公开可用的格式体验)仍处于进入/定义阶段。然而,许多语义技术已经进入了增长/验证阶段。(向成熟的转变往往难以捉摸;只有在事后才能看到临界点,有时还会经历一段炒作和未满足的期望。)
政府和私营部门的技术应用领导者一直在开辟新的路径,并从他们的语义实施项目中获得了成功的结果。许多联邦机构都有语义研究项目。语义产品来自像Adobe、惠普和IBM这样的大型成熟公司,也来自许多像Unicorn、Network Inference和Semagix这样的小型先锋公司。此外,还有许多公共和私人研究机构和组织创建的开源和公开可用的工具。
以下是可用于创建由语义技术驱动的应用程序的商业和开源工具的简要调查。理解这些工具如何协同工作的一种方法是将它们视为设计时工具或运行时工具。设计时工具由文档作者、系统设计师和其他人员在创建、设计或创作过程中使用。例如,用于创建元数据或创建或填充本体的工具。其他软件组件用作运行时组件来处理查询、转换数据或以其他方式生成操作结果。例如,中介服务器和推理引擎。许多工具在一个实现过程中作为一个集合使用——例如,设计时的建模和映射工具与运行时的查询工具和中介服务器相结合。
元数据发布和管理工具
创建有关文档或数据项的元数据的过程可以在创建或创作该项时、将其导入内容管理系统或网站时、或用户查看或读取该项时发生。它也可以通过在该数据项存在过程中的任何时间进行的某些其他显式或隐式操作来添加。换句话说,元数据创建不仅仅是一次性事件。元数据可以继续积累,并且可以由任何数量的人在任何时候修改。
在内容创建时,作者通常会将诸如主题、创建者、位置、语言和版权状态等信息与特定文档相关联。此信息使文档更容易搜索。RSS 本质上包含这种类型的信息,为新闻阅读应用程序提供了显著扩展的搜索和过滤信息的功能。来自 SixApart 公司的 Moveable Type 是博客社区中使用最广泛的工具之一,用于创建符合 RSS 标准的文档。RSS 日益普及和简单性使其使用范围扩展到博客社区之外,进入主流媒体,甚至进入企业。其他桌面和 Web 创作工具的供应商也正在迅速行动,提供 RSS 发布功能。
创建元数据只是该过程中的一个步骤。需要元数据管理工具来维护元数据词汇表、执行元数据驱动的查询,以及提供用于监视感兴趣区域的变化的可视化工具。Flickr 是一个使用元数据作为创建协作和共享数据系统的关键方面的网站示例,该网站供人们轻松上传和共享数字照片。与其他数字照片服务相比,它提供了照片标记功能,以及用于查看照片类别的新颖界面。(标签包含在图中,并且大小根据标签在数据存储中的频率而变化。)与早期的元数据实现相比,它的特点是反馈循环非常紧密,这意味着标签的分配与它们的用法密切相关。一旦照片和照片集被标记,用户就会看到带有相同标签的项目的集群。用户可以轻松更改标签来细化集群。在用于查询元数据的工具方面,组件与当前搜索引擎没有什么不同,尽管包含元数据使数据更丰富,因此搜索更精确和相关。查询脚本和语言可能会适应以允许用户更精确,尽管简单性和功能之间的平衡始终处于不断变化之中,尤其是在更公开可用的搜索引擎中。然而,与上面的 Flickr 示例一样,正在开发新的可视化工具来帮助用户浏览复杂的相关数据领域。
建模工具(本体创建和修改)
建模工具用于创建和修改本体。知识建模者使用它们来创建和编辑类结构以及建模域。这些工具通常具有与文件系统目录结构或书签文件夹界面类似的界面。它们也往往提供导入、转换和重新利用(全部或部分)现有本体结构的能力,这些结构通常以数据库模式、产品目录和黄页列表的形式存在。其他突出特点包括用于组织、匹配和关联相似术语和概念的高级机制。
此外,由于建模者通常创建较小的互连本体,而不是单个大型单体模型(主要是为了提高可重用性和易用性),因此对分割、合并和连接模型的支持可能是本体编辑器中的一项重要功能。一些编辑器甚至支持协作工作方法、丰富的可视化和图形交互模式。Protégé-2000 是斯坦福大学开发的免费本体编辑器,拥有庞大而活跃的用户社区。它具有开放的架构,允许独立开发人员编写插件,这些插件可以显著扩展 Protégé 的功能。商业建模工具来自许多供应商,包括 Network Inference、Language and Computing 和 Intelligent Views。IBM 的本体管理系统(也称为 SNOBASE,代表语义网络本体库)是一个框架,用于从文件和互联网加载本体,以及用于本地创建、修改、查询和存储本体。在内部,SNOBASE 使用推理引擎、本体持久存储、本体目录和本体源连接器。应用程序可以针对创建的本体模型进行查询,推理引擎推断出答案并返回类似于 JDBC(Java 数据库存取连接)结果集的结果集。然而,在本文发表时,SNOBASE 并不兼容 OWL。Sigma 本体开发和推理系统也是一个完整的本体管理系统。它可以免费许可,但与 SNOBASE 一样,它也不符合 OWL 标准。
本体
获得正确的本体通常是基于语义的项目成功实施的关键要素。与数据库设计相比,本体创建是一个高度专业化的领域。不仅合格的从业人员数量还不够多,而且找到一个能够成功捕获概念领域的本体可能需要相当长的时间。因此,重要的是要查看现有的工作成果,这些成果可以用于(和重复使用),以避免从头开始创建。现有的本体的可能来源通常可以在与本体建模工具紧密相关的地方找到,其中几个工具已经在上面列出。使用专有本体可能取决于对建模工具的许可,考虑到开发本体所付出的努力,这种做法并非不合理。然而,其他本体可能是开放的,可以免费用于商业和非商业目的,与 Linux、JBoss、维基百科、Musicbrainz 和其他开源软件和数据存储库类似。
当前的本体开发工作在范围和规模上有所不同。一些本体专门为了满足本地化实施而开发,例如协调账户图表或医疗记录,这些领域主要侧重于信息互操作性——在语法、结构和语义之间进行仲裁——而不是逻辑编程。其他本体开发工作采用自上而下的方法,假设对广泛知识领域的共享视图对于自适应计算和智能推理能力的广泛普及至关重要。在这些后者的圈子里,对建立一个企业范围的通用上层本体存在大量的倡导,他们认为它将为任何数量的领域本体提供基础。新的领域本体可以是该上层本体的扩展,并完全符合该上层本体。现有的本体和遗留数据模型可以映射到该上层本体,理论上,这将构成朝着在域之间实现更高语义互操作性迈出的许多步骤。(然而,应该注意,仍然需要额外的开发和工程来证明这种方法的可行性和可扩展性。)
现在存在几个候选的上层本体,包括 DOLCE(Gangemi 等人,2002)、Upper Cyc(Lenat,1995)和 SUMO(Niles 和 Pease,2001),但这些都没有获得显著的市场采用。这种上层本体方法的支持者认为,如果美国国防部和/或联邦政府采用其中一个候选者,那么行业很有可能效仿,之后美国可以提议将其作为一项标准提交给国际标准化组织。
即使在没有特定领域本体的情况下,也可以利用现有的分类法、XML标准或其他低级数据模型来启动开发。在联邦层面上,知识管理工作组(http://km.gov)在跨机构共享有关分类法项目的信息方面取得了重大进展。XML.Gov(http://xml.gov)的使命是促进各机构有效利用XML,以便实现文档和数据的无缝共享。许多政府机构已经拥有现有的分类法,或者已经开始为其信息领域开发分类法。例如,JusticeXML 是一项令人印象深刻的工作,可以通过 RDF 和 OWL 进行扩展和增强,以提供更灵活的数据模型,这将为其他机构更轻松地访问联邦、州和地方执法信息铺平道路。
映射工具(本体填充)
创建本体模型后,需要用数据填充它(在“本体语言”中称为类实例)。这个过程通常通过使用映射工具将各种数据源链接到本体中的概念来完成。一旦创建了“映射”,一个数据源中的查询就可以通过其映射转换为本体,然后从本体转换为其他数据源,使用它们的映射。然后可以以相同的方式返回相应的数据,而无需任何数据存储知道或关心其他数据存储。换句话说,每个数据源可能都有一个唯一的“映射”到一个覆盖本体,该本体充当各种源和目标之间的枢纽表。提供这个抽象层需要在创建本体和创建数据映射方面付出一些努力,但一旦完成,每个数据源就可以在运行时过程中与其他数据源互操作。在大多数情况下,将新的数据源加入不会对现有数据源产生任何影响。
这个过程极大地减少了使用当前企业应用程序方法(这些方法通常需要 n 平方映射(从每个数据源映射到每个数据源)或将数据导出到硬编码、不灵活和显式的标准)通常进行的数据值映射和语义冲突解决。建模和映射过程使该过程更少政治化,更灵活和适应性更强。例如,单个数据源特有的异常可以几乎透明地处理,而根据典型的标准过程处理此类异常将需要花费大量时间和精力。大多数用于处理结构化数据表单的工具都具有自动将数据库字段映射到本体的功能。Network Inference 和 Unicorn 是提供此类工具的两个供应商。将非结构化数据表单聚合、规范化和映射到本体的工具通常使用各种非结构化数据表单,包括 Word、RTF、文本文件和 HTML。Semagix 是非结构化数据的领先供应商。
数据存储
本体和其他 RDF 数据模型可以存储在本地 RDF 数据存储中,也可以存储在经过自定义以支持关联数据技术的关联数据库中。本地 RDF 数据存储从本质上设计为支持三元组的概念,并且可以提供一种高效的开箱即用方法来存储本体。RDF 本地数据库可从 Tucana Technologies 和 Intellidimensions 等公司获得。还存在一些高质量的开源 RDF 数据存储,包括 Kowari、Redland、Sesame 和 3Store。要使用关系数据库,必须以某种非传统方式设计数据库。不是有一个表来描述每个主要概念,而是数据库设计通常通过使用一个包含四列的表来模仿三元组的概念。三列存储三元组,而第四列用于存储其标识标签。(一篇名为“使用 RDBMS 映射语义 Web 数据”的报告是了解在关系数据库中实现三元组存储的绝佳资源。)
与使用三元组(即 RDF)表示、存储和查询相关的 issues,以及在实现中使用和/或共存两种类型的数据存储的 issues,目前仍在行业和市场中自行解决。每个存储和查询设施都提供了目前另一个设施没有的独特功能。RDF 非常适合难以预测将来将执行的查询类型的场景。它也非常适合处理元数据以及进行需要跨不精确或不同数据的推理的查询。例如,诸如“今年有多少能源生产商符合‘绿色’标准?”的查询,使用 RDF 查询语言比使用 SQL 更容易执行(一旦创建了模型将各种数据存储连接起来)。同时,在 SQL 中微不足道的查询,例如“今年哪个能源生产商减少了最多的二氧化碳排放?”,使用 RDF 查询语言可能非常复杂。
需要注意的是,RDF 查询语言仍在发展,这在一定程度上可以解释这种限制。RDF 的其他限制与性能 issues 相关。例如,由于查询可以扩展到包括概念而不是仅仅是术语,因此搜索空间可能会大幅增加。由于 RDF 数据存储相对较新,实施数量相对较少,因此系统开发人员需要对其设计进行迭代,特别注意可能会对性能产生负面影响的查询和函数。就行业增长而言,很难预测 RDF 将如何影响数据库行业。RDF 数据存储可能会保持其独立的数据存储类别,或者其功能可能会以类似于面向对象数据库发生的情况的方式并入关系数据库中。
中介引擎
中介引擎是自动化工具,可以使用模型而不是硬编码的转换代码,在不同的语法、结构和语义之间动态转换数据。它们是任何互操作性架构的关键组成部分。使用数据映射、本体和其他形式的概念模型,中介引擎是运行时进程,在异构数据集之间提供抽象层,允许组织在如何表示数据和信息方面达成一致。中介引擎通常使用高度结构化的数据。非结构化和半结构化数据必须首先绑定到架构,然后才能创建中介映射(Pollock,2004)。
推理引擎
推理引擎(有时称为推理器)是软件工具,可以从现有信息中推导出新的事实或关联。人们常说,推理引擎模拟人类通过推理得出结论的能力。实际上,推理不是某种神话般的 AI 能力,而是在数据处理中一种非常普遍的方法。可以将复杂的数据挖掘练习视为一种推理形式。通过创建信息和关系模型,我们使推理器能够根据模型得出逻辑结论。一个常见的推理示例是使用人和他们与其他人的联系模型来获得新知识。探索这些网络图可以推断可能尚未明确定义的关系。请注意,仅使用 RDF 和 OWL,推理仅限于模型中表示的关联,这主要意味着推断传递关系。但是,通过添加规则和逻辑语言,可以实现概念理解、学习和适应方面的更大飞跃,尽管具有这些类型功能的实现还很少见。推理引擎的免费版本和商业版本都可用。例如,Jena 是一个开源的 Java 框架,用于编写由 HP Labs 开发的语义 Web 应用程序,它具有推理器子系统。Jena 推理器包括一个通用的基于规则的推理引擎,以及为 RDFS 和 OWL Full 的 OWL-Lite 子集配置的规则集。JESS 是卡内基梅隆大学的流行 OWL 推理引擎。Network Inference 提供了一个基于描述逻辑(OWL-DL)的商业推理器。
其他组件
普通网页是实例信息的良好来源;许多填充本体的工具都是基于对网页的注释。W3C Annotea 项目提供免费的注释工具。商业供应商包括 Ontoprise 和 Lockheed-Martin。包括 Semagix、Siderian Software 和 Entopia 在内的多家软件供应商提供使用本体对信息进行分类并提供改进的搜索和导航的产品。
语义技术的应用
语义技术可以解决使用现有技术无法以任何价格解决的问题。
-Don Hall
语义技术可以在各种应用程序中提供关键优势。从本质上讲,语义方法是一种基础设施能力,当与其他关键技术结合使用时,代表了下一波计算浪潮。从多年的角度来看,这些技术有望帮助 IT 行业实现始终难以捉摸的真正自适应计算的目标。从某些方面来说,未来已经到来。商业企业和政府机构正在使用现有的语义数据存储、本体、工具集和应用程序实施生产级程序。这些近期项目领域包括语义 Web 服务、语义互操作性和智能搜索。
语义 Web 服务
[edit | edit source]Web 服务是一种软件系统,旨在支持网络上可互操作的机器对机器交互。Web 服务具有使用 Web 服务描述语言 (WSDL) 以机器可处理的格式描述的接口。WSDL、UDDI 和 SOAP 的组合形成了一个三元组技术,它将整个市场转向面向服务的架构 (SOA)。这些技术共同在 HTTP 或 SMTP 网络协议之上提供目录、组件查找和交换协议服务。微软、IBM 和大多数其他大型软件供应商都接受了 Web 服务模型的基础概念和语言,越来越多的书籍和行业文章指出了采用面向服务的架构的好处。然而,Web 服务并非没有缺点。安全性 issues 长期以来一直是一个问题,但近年来已经引入了解决这些 issues 的几种解决方案。也许 Web 服务中最重要的改进机会仍然在于
(a) 灵活查找和发现以及
(b) 信息管理和模式转换。
从根本上说,Web 服务技术以松散耦合的方式处理消息,但它们目前没有弥合描述术语的差异,也没有从本质上使接收方能够理解发送的消息。对于 Web 服务,交换的这些部分依赖于自定义编码的解决方案和/或对某种文档交换标准的广泛社区一致(后者很少实现)。
这种确保灵活发现和服务启动以及与 Web 服务交换的信息的无缝运行使用方面的困难,导致 W3C 努力将其语义技术作为其语义 Web 服务计划的一部分。语义 Web 服务是一种利用 Web 本体语言服务规范 (OWL-S) 来提供用于描述和启动 Web 服务的灵活框架的 Web 服务实现。OWL-S 为 Web 服务提供者提供了一套核心标记语言结构,用于以明确的、计算机可解释的形式描述其 Web 服务的属性和功能。Web 服务的 OWL-S 标记将促进 Web 服务任务的自动化,包括自动 Web 服务发现、执行、互操作、组合和执行监控。遵循分层标记语言开发方法,当前版本的 OWL-S 建立在 W3C 的标准 OWL 之上。
正式地说,语义技术的应用使得描述交换信息的逻辑本质和语境成为可能,同时最大限度地保持了通信各方之间的独立性。结果是,无论业务逻辑、流程和工作流程如何,信息域之间都实现了更大的透明度和更动态的通信(Pollock 和 Hodgson,2004 年)。
技术愿景是,使用灵活的信息模型而不是僵化的程序或代码来驱动动态、自愈和新兴的基础设施,以便在可大规模扩展的环境中共享关键任务数据。最近在分类法和词库技术、语境建模方法、推理技术和本体驱动的互操作性方面的进展可以应用于一个连贯的框架中,从而彻底改变信息在分散、去中心化的知识社区中的管理方式(Pollock 和 Hodgson,2004 年)。
美国国家航空航天局 (NASA) 将语义互操作性视为一种极具潜力的方式,可以使所有利益相关者获取信息,而无需对特定格式或词汇进行标准化,或重新键入数据库以符合统一模型。NASA 使用这些概念的一个例子是解决与航天飞机机队老化布线系统相关的严重且持续的维护问题。现有的布线系统数据库包含有关零件规格、物料清单、图纸、变更单、标准做法、测试程序、测试报告、检验报告、故障跟踪和报告信息、工作单和维修处置文档的信息。数十个不同的数据库和系统(每个系统都支持工程和设计工作的不同但相关方面)正在 NASA 内部使用,相关数据分散在支持航天飞机项目的几家承包公司之间。对布线问题进行故障排除需要及时访问许多跨组织的系统、数据库和知识库,其范围之广令人望而生畏。对于诊断和解决飞行中的异常情况,情况尤为严重,因为及时的解决方法不仅是任务的关键,也是生命安全的关键。使这些数据集更加丰富,并使需要访问它们的大量人员更容易访问它们的工作仍处于起步阶段,但正如本章开头引用的内容所强调的那样,语义技术代表了用当前数据集成方法解决这一在很大程度上无法解决的问题的最有希望的方式之一。
一个高度提炼的关于此类项目如何工作的版本如下。设计时工具用于开发包含特定领域的 RDF 和 OWL 模型。这些模型可以基于现有的 XML 标准,也可以通过其他方式定义。其他设计时工具可用于将特定数据表示灵活地映射到这些模型,从而无需显式转换应用程序以采用特定数据标准。运行时过程然后可以使用这些模型和映射作为数据透视表来将数据从源转换到目标,或从单个查询语句执行联合查询。这种类型的语义互操作性框架可以为更好地解决语法、结构和语义方面的差异提供坚实的基础,从而开创一个未来,企业可以同意不同意,但仍可以共享数据并进行互操作,而无需更改其当前的运营方式。
使用语义互操作性方法的主要优势之一是,它们并不一定需要替换现有的集成技术、数据库或软件应用程序。由各种基于语义的组件和应用程序编程接口 (API) 组成的语义框架可以与 Web 服务或传统的中间件 API 部署,以利用现有的基础设施投资,同时仍然通过虚拟集中通过网络基础设施管道流动的查询、转换和业务规则元数据来提供巨大的优势。因此,该软件将以低安装开销、最少的编码和最大的可重用性融入客户现有的 IT 生态系统中(Pollock 和 Hodgson,2004 年)。
智能搜索领域在某些方面与语义互操作性相关。如上所述,语义互操作性技术可以使针对一个系统的查询联合到其他非本地系统。这消除了将系统转换为通用查询语言的需要,并使系统能够继续以其当前格式维护它们所拥有的信息。通过在数据源之上叠加一个虚拟层,可以以通用方式定义查询,从而使访问所有映射的资产成为可能。联合搜索还可以通过使搜索在语义上更加精确来变得更加智能。换句话说,搜索可以扩展到包含概念,或者缩小到仅包含特定关键字。这种搜索的深度(或粒度)使得能够指定个人所需的搜索。智能搜索的另一个方面是能够通过利用身份和关系信息使搜索与搜索者更相关。人与信息之间的关系以及有关他们的信息可以成为提高相关性和置信度的关键环节。尽管对知识管理系统的投资,但许多人仍然依靠他们个人的朋友、邻居、同事和其他人的网络来寻找专家或寻找可信的信息。人际关系在销售情况以及许多组织互动中也很有用。社交网络模式和软件正在广泛使用这一点。
一个关于如何在大规模上使用此信息的例子是,一家电话公司正在探索提供更智能电话号码查找技术的方案。而不是提供匹配名称的通用列表,电信公司正在考虑将搜索者的信息与可能的姓名列表相结合,以便提供更智能的匹配。例如,推断社交网络之间的关系可以提供有关一个人是否认识,或者是否可以预期认识另一个人(通过使用朋友的朋友形式的计算)的信息。其他信息,如地点、就读的学校或过去或现在的职业,可以用来推断匹配。当然,这涉及到重大的隐私问题;然而,许多人相信,诸如个人身份信息散列和加密以及渐进式披露等技术很可能会解决许多隐私问题。用于实现智能搜索的语义方法开始进入知识管理系统。虽然当前的知识管理系统往往存在于它们自己的孤岛中,并且难以跨越组织边界,但智能搜索技术可以作为叠加层添加到现有的信息基础设施中,从而弥合物理数据格式、知识领域和组织结构之间的差距。