使用 W3C SKOS 标准提高分类管理效率

轻松了解具有用于受控词汇表的可移植 SKOS 格式的 Semantic Web

目前,所有用于管理受控词汇表、分类、和词库的工具都利用专有格式来存储其数据,这使得与外部系统集成变得很困难。W3C SKOS 标准定义了越来越流行的可移植、灵活的受控词汇表格式,并增加了使用 Semantic Web 技术的入门级内容。

Bob DuCharme, 解决方案架构师, TopQuadrant

Bob DuCharme 的照片Bob DuCharme 是 TopQuadrant 的一位解决方案构架师,TopQuadrant 是一家语义 Web 应用程序建模、 开发和部署软件提供商。它撰写了 4 部关于信息及技术的图书,还在网上发表和印刷出版了近百篇相关文章,而在任何这些作品中从未使用过 “功能” 的概念。他的博客地址为:http://www.snee.com/bobdc.blog。



2011 年 6 月 20 日

不论是在企业中管理分类来集成业务流程,管理指定给内容的关键词,实现智能检索,还是管理基于 web 零售站点的菜单,都会发现分类管理工具以特定的二进制格式来存储数据,这无法很好地迁移到其他工具中。描绘该数据的基于标准的方法能够帮助您从多个源集成词汇表数据,同时降低对特定工具的依赖。

受控词汇表、分类、和词库:区别是什么?

受控词汇表 是为一些内容定义潜在值的清单 — 例如,一组新闻故事可能的主题,或者 United States 的官方两字母缩写。分类 是安放在某一层次结构上的受控词汇表,用于展示术语之间的关系。新闻故事可能的主题最有可能是此类受控词汇表,“Acquisition” 与 “Executive hiring” 是层次结构的 “Business news” 节点的子节点。

例如,这些关系是元数据,用于指出所采用的执行故事是一类商业新闻故事,在动物分类中 dachshund 是一类狗。当分类识别图片搜索引擎为搜索 “dog” 图片的用户返回标签为 “dachshund” 的图面时,它会利用这一元数据来帮助搜索者从图片选择中获取更大的价值。

词库 通常是具有有关每个术语附加元数据的分类,比如可替换术语(例如,“mutt” 用于 “dog”)以及指向可能处于相同级别的相关数据的指针(例如,“doghouse” 用于 “dog”)。专门从事创建域维护同义词库的人通常被称为分类学家,可能术语 “thesaurist” 与术语 “thesaurus” 发音很类似,或者可能因为它会使人们联想起元数据管理领域以外的其他知识的相关书籍,比如 Roget's Thesaurus

Simple Knowledge Organization System(SKOS)是 W3C 标准,构建于 W3C 的 RDF、RDFS、以及 OWL 说明来为表现受控词汇表提供标准模型。可将 SKOS 用于扁平清单,还可用于具有附加元数据的结构化受控词汇表,比如分类与词库。

由于利用 RDF 模型来定义 SKOS,以 XML 格式读取与创建数据非常方便。增强 SKOS 的工具支持意味着,利用它就不需要掌握相关 W3C 标准的知识,但是了解越多,就越能够充分利用 SKOS 的可扩展性,来将不属于 SKOS 标准一部分的自定义元数据包含在您的词汇表中。

涉及的组织可能包括 New York Times、 NASA、UN Food 以及 Agriculture Organization,其主题在 SKOS 中提供,这一标准还方便对知名词汇表的重用,并在您的内容以及利用相同词汇表的其他内容之间创建连接。

术语与概念和标签

词汇表管理系统常需要进行结构化来管理术语,并包含术语与其他元数据之间的关系。SKOS 在更高角度上对管理对象进行查看,这使得国际化更加方便。例如,旧版系统可能使用广义术语 “mammal” 或者狭义术语 “dachshund” 或 “bulldog” 来存储术语 “dog”。术语 “mutt” 可能是个独立术语,而 “dog” 与 “mutt” 之间会具有分类学家所说的 use-for 关系 — 如果某人想要给照片指定关键词,想要给 Lassie 的照片指定关键词 “mutt”,词汇表应用程序将指示他去使用单词 “dog” 代替。术语 “perro” 会将 “西班牙语” 与 “dog” 关联起来,而 “chien” 会将 “法语” 与 “dog” 关联起来,但是如果一个西班牙用户想知道 “perro” 的法语,在不了解它们与英语术语的关系的情况下,可能无法查找到它。

该排列的另一个弱点是,术语 “mutt” 与 “perro” 是从 “dog” 中分离出来的,就像术语 “cat” 或者 “gato”(西班牙术语)。即使 “mutt”、“dog” 与 “perro” 指的是同一个事物,但其关系必须明确指定。图 1 在图表中展示了这些关系;实线箭头代表 “广义” 关系(mammal 到 cat 与 dog;dog 到 bulldog 与 dachshund),而虚线箭头被标签为 Spanish(“perro”)或者 French(“chien”)与 “dog” 含义一样,是 “dog” 在 西班牙语(“chucho”)与英语(“mutt”)中对应的术语,西班牙语(“gato”)对应 “cat”。

图 1. 在 pre-SKOS 分类中的示例标签关系
展示 SKOS 中示例概念关系的图表

利用 SKOS,管理具有不同类型标签的概念,每个标签都可能有一个语言与其相关联。最重要的标签是首选标签,SKOS 允许每个概念仅具有这些语言之一。一个概念可能具有英语首选标签 “dog”,西班牙语首选标签 “perro”,以及法语首选标签 “chien”。

常用缩略语

  • OWL:Web Ontology 语言
  • RDF:资源描述框架
  • RDFS:RDF 模式
  • SKOS:简单知识组织系统
  • SKOS-XL:SKOS 标签扩展
  • SPARQL:SPARQL 协议与 RDF 查询语言
  • URI:统一资源标识符
  • W3C:万维网联盟
  • XML:可扩展标签语言

另一类标签是可替换标签,基于 SKOS 的软件可能用于表示可追踪标签,但不推荐这么做。例如,具有 “dog” 的英语首选标签的概念可能具有 “mutt” 的英语可替换标签,以及 “chucho” 的法语可替换标签。与必须具有明确关系的独立术语不同,“dog”、“perro”、“chien”、“mutt”、与 “chucho” 都指向相同的概念,并依据每个应用程序的不同来提供有关该概念的不同信息。图 2 阐述了来自 图 1 的,作为 SKOS 概念而重新安排的信息,它与术语之间具有更少的箭头,并具有更清晰的关系(在前面的图中,实线箭头代表 “更广泛的” 关系)。每个概念的实际标识符,可能被词汇表管理应用程序所隐藏,是 URI(查看 图 2 的纯文本版本。)

图 2. SKOS 中的示例概念关系
图标展示 SKOS 中的示例概念关系

对比两个图表,可以看到在 图 1 中,“perro” 与 “mutt” 仅是 “dog” 所指向的附加术语 “bulldog” 与 “dachshund”,但是在 图 2,看以看到 “perro” 与 “mutt” 指向相同的概念,而 “bulldog” 与 “dachshund” 是不同的概念。

除了 “更广泛” 之外,在 SKOS 中概念可具有很多类型的关系。具有英语首选标签 “dog” 的概念可能与在不同分类中的 “doghouse” 概念具有 “related” 关系。由于 SKOS 采用惟一的 URI 而不是标签本身作为概念标识,因此可在所给概念与任何可访问 SKOS 词汇表中的任何概念定义关系,即使其由 NASA 或者 New York Times 来维护也可以。

UN Food 和 Agriculture Organization 的 AGROVOC 词库食物相关领域,比如渔业与农业必须服务于真正的国际用户。单个 AGROVOC 概念可能在多个语言中具有首选标签,甚至可以有更多的可替换标签,因为对于所给概念指定的、来自每个语言的可替代标签的数量没有限制。SKOS 采用具有标签属性的概念,实现比从前更方便地多语言追踪,使用基于术语的方法来组织词库数据,这使得来自不同文化的人们,在针对食品问题进行沟通时更加方便。


更多元数据

利用上面所描述的概念的首选标签和可替换标签,以及概念之间的关系,SKOS 可实现存储术语定义、范围注释、历史注释、以及有关每个概念的各类其他属性。因为利用 W3C 的 OWL 标准来定义 SKOS 用于指定本体,所以,可以很方便地定义并采用专用于您所在行业或者业务词汇表中概念的附加属性。

这些属性可具有其他数据和元数据标准,比如 Dublin Core 词汇表、为金融业开发的 Market Data Definition Language、或者由 Library of Congress 开发的 Metadata Object Description Schema。其还可以是指定给公司系统的属性,其他人不使用,因为这是有关如何管理信息的附加值的一部分。例如,某个制药企业可能在动物分类中定义一个新的 “requires” 关系,来指向其他分类中有关兽药疫苗数据的概念。

用于管理词汇表的基于 SKOS 的工具应当了解可扩展性是标准的一部分。来自 SKOS 说明外部的附加属性应当是用于使用数据的接口的一部分,展示出标准 SKOS 属性相关的窗体与报告。


更细化的元数据:SKOS-XL

虽然用于指定 SKOS 的 OWL 语言与用于数据建模的面向对象方法具有一些关键区别,但是它们具有一个重要的共同点:通过声明类、子类、以及这些类的属性(或者利用面向对象术语、属性)来定义数据模型。SKOS 本体定义 Concept 类、首选标签、可替换标签、以及作为类属性的与其他概念之间的关系。

可以为所给概念指定所有想要的元数据,但是 SKOS 不提供为特定标签指定元数据的方法。如果想要存储用于描述标签 “chucho” 的数据该怎样处理,或者何时对其进行了最后的编辑,或者是谁进行的编辑?

为了适应这种情况, W3C 发布了 SKOS Extension for Labels(SKOS-XL)说明,其中用于概念首选、可替换、以及其他标签的值不是字符串,而是通过扩展说明所定义的新标签类的成员。作为类的实例,这些标签可具有所有想要为其指定的元数据,这将为您提供很大的灵活性。


简单的元数据集成

正如前面提到的,因为 SKOS 利用惟一的 URI 作为概念标识,所以,可以在所给概念与任何了解其 URI ID 的其他基于 SKOS 之间定义关系,而不用管它是作为给定概念位于同一个分类,还是由其他公司在 web 中发布的不同分类中的概念。此功能对于这两类情况之间的情况来说也非常有用:当同一企业当中管理其各自的词汇表不同组,将这些词汇表集成到集中管理的单个词汇表中可能弊大于利,因为随着数据量的增大,词汇表维护会变得更加复杂,并且必须根据不同组织的需求来对数据进行修订。市场部门和维修部门在使用术语 “customer” 时可能意思不同,并且他们可能有充足的理由来这样做;强制他们采用相同的定义,将会降低词汇表的价值。

利用 SKOS,可在来自不同词汇表之间的概念之间定义关系。因此,明确定义的概念关系元数据有助于同时使用来自不同部门的词汇表,而不必非要将其修订合并到完全满足任何单个部门需求的单个词汇表中。该关系可以是标准 SKOS 关系,比如 “related” 或者 “broader”(例如,您可能会说,市场部门有关 “customer” 的概念比维修部门部分的概念更广泛),但是,还可以定义自己的自定义关系。


SKOS 与 Semantic Web

在涉及到语义技术时,很多人会担心,在构建首个应用程序之前,他们必须要学习 RDF 数据模型、用于表达的各类语法、SPARQL 查询语言、以及如何对具有 RDF 架构和 OWL 的数据进行建模。当采用基于 SKOS 的词汇表管理程序时,只需要填写表单并利用常用用户界面部件来管理数据,而不必学习 SKOS 底层的 W3C 标准,但如果对其有一定的了解,将能更充分地利发挥数据的价值。例如,可以利用 SPARQL 查询言语来询问词汇表管理包中不包含的问题,并且,正如前文所述,还可以定义新的属性与事件类,来保持对更多自定义元数据的追踪。

还可将数据与更广泛的外部数据进行连接,而不必考虑其是否采用了 SKOS 实体。RDF 数据模型拥有能够连接单独创建的数据的能力,是 Semantic Web 所不可或缺的,与数据集相结合的能力正是这一功能的重要优势。例如,通过在 web 上免费提供基于 SKOS 的主题标题索引,New York Times 使得其他出版公司可以将这些主题标题用于其各自的内容,来为这些出版公司提供到相关 New York Times 文章的连接。更更重要的是,对于 New York Times 来说,这将驱动更多到达标签这些主题标题的文章的流量。

向 SKOS 数据增加一些属性,并对其运行一些 SPARQL 查询后,可以考虑定义 SKOS 以外的新的本体(或者定义其他现有的,除 SKOS 以外的其他标准本体,来进行扩展)并更充分地发挥 Semantic Web 技术的优势。


工具

任何依据特定本体的 RDF 工具,都可加载 SKOS OWL 本体,并可创建 SKOS 概念,然后在属性中填入适当的元数据。为不具有 RDF 相关知识,而需要管理词汇表的人员,提供了以下工具:

  • TopQuadrant's Enterprise Vocabulary Net(EVN)是一个商用的基于 web 的协作系统,它针对 SKOS 数据模型进行构建,用于在整个企业范围内管理受控词汇表。

  • PoolParty 是一个商用的词库管理与 SKOS 编辑系统,它包含文件挖掘与数据链接功能。

  • SKOSed plug-in for the Protégé ontology editor 用于编辑以 SKOS 方式表示的同义词库。SKOSed 与 Protégé 都是开源的。

  • iQvoc 是一款用于管理词汇表的开源工具,具有 SKOS 导入与导出功能。

  • TemaTres 是一款开源词汇表管理程序,支持以 SKOS 文件的形式来输出词汇表数据。

利用词汇表管理工具导入与导出 SKOS,如同利用电子表格程序导入与导出逗号分隔值一样常用。如果所采用的分类程序不支持该标准,可与程序开发商协商解决。

SKOS 的 RDF 基础,还意味着可以利用 RDF-aware 应用程序开发工具与库来自己构建 SKOS 编辑系统,这比自己定义并实施所有数据结构要快速得多。


循序渐进

如果您需要管理一个或多个大型、复杂的受控词汇表,将其转换为新格式将是个繁重的任务。作为试点项目,将一个子集转换为 SKOS 就比较简单了,并且,如果转换了几个不同的子集,最终通过定义适当的跨词汇表边界概念关系来将其联系起来,那么您将会看到在组织中采用 SKOS 的益处。随着越来越多商用及免费软件对该标准的支持,对于管理着词汇表,并对该标准感兴趣的人来说,对 SKOS 进行更进一步的探索绝对是值得的。

参考资料

学习

获得产品和技术

  • Enterprise Vocabulary Net(EVN) TopQuadrant:查看基于 web 的解决方案,该解决方案用于简化对互相关联的受控词汇表、分类法、同义词表库、以及本体的开发与管理。
  • PoolParty:探讨用于 Semantic Web 的词库管理系统与 SKOS 编辑程序。
  • SKOSed plug-in for the Protégé ontology editor:可利用该插件创建并编辑以 Simple Knowledge Organisation System(SKOS)方式表示的同义词库。
  • iQvoc:查看用于管理词汇表的,能够导入导出 SKOS 的开源工具。
  • TemaTres:从 SourceForge.net 上下载免费 TemaTres 软件,并尝试利用该 web 应用程序来管理知识、同义词库、分类法、以及多语言词汇表的正式表示。
  • IBM 产品评估试用版软件:下载或者 IBM SOA 人员沙箱 并亲自试用来自 DB2®、Lotus®、Rational®、Tivoli®、与 WebSphere® 的应用程序开发工具和中间件产品。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML
ArticleID=681520
ArticleTitle=使用 W3C SKOS 标准提高分类管理效率
publish-date=06202011