吴天吉,肖 奎,李 强
标签系统是一种非常流行的Web 2.0 应用,主要用于帮助用户标注网络资源,分享网络资源。人们可以通过标签轻松实现资源的分类,每一个资源都附有几个标签,用以描述资源的特性等信息。用户通过一个标签就能搜索到一组相关的资源,但当前很多资源的描述标签,仅仅是词汇的列表,用户在搜索过程中,从这些标签得到的帮助有限。比如,Programmableweb 平台上的标签只是一些静态的、固定的词汇,用户很难通过这几个词汇搜索到符合需要的信息。为改进搜索过程,提高搜索的准确率,搜索引擎需要理解用户含义,了解和掌握用户真正需要的信息。所以,人们需要一些智能搜索技术以改进资源搜索的过程,而本体技术能较好地解决这类问题。近年很多研究人员关注如何通过标签来构建本体,但是利用单个网络资源的标签构建本体很困难,因为一般单个资源的描述标签数量较少,无法构建本体。为此,研究人员通常利用一组资源的描述标签构建本体。具有相同类别的标签可以转换为本体中的概念。构建的本体可用于标注Web 服务等资源,从而改进Web 服务的搜索过程。S2R2 平台[1]描述了利用本体标注Web服务的过程原理与方法[2-4]。本文利用Web 服务描述标签与维基百科的语义知识构建本体,用来标注Web 服务。图1 描述Web 服务、本体与标签之间的关系。
图1 Web 服务、本体与标签之间的关系
文章介绍语义与本体的相关研究,提出一种标签筛选的方法,选择构建本体的标签,运用维基百科知识库的体系结构构建本体,并通过实例展示简单标签本体的构建方法,最后对实验结果进行验证。
语义网研究社区长期研究与标签相关的难题。研究人员关注如何发现标签的特性,以及如何挖掘标签潜在的语义。有些主要的知识库可以为普通的标签提供语义信息,比如维基百科、WordNet 与其它在线本体等等。这些知识库都可以被研究人员用来丰富标签的语义,但是每个知识库都有各自的特点,提供的信息形式也各有不同。
维基百科为大量的实体与概念提供了条目。网络用户在这个平台上编辑了许多知识信息,这些信息覆盖的领域非常广泛,对信息抽取应用程序具有很大的吸引力[5]。研究表明,维基技术可以很容易地用于本体开发过程[6]。而且维基百科条目的URIs 适用于本体概念的标识符(identifier)。虽然标签用来对资源进行分类,但维基百科的分类方式与标签相比可提供更好的语义信息。
WordNet 是一个由专业研究团体维护的知识库,很多的研究工作都是基于这个知识库[7]。WordNet 的开发研究团队采用了一种新的方法,构建基于分众分类标签的本体。在此过程中,他们利用Word Net 的概念树实现对delicious平台的关键词过滤。DBPedia 是一个由集体维护的知识库,而且其内容在持续演化更新[8]中。DBPedia 提出一种方法可以为一词多义的标签消除歧义,这种方法依赖于DBPedia 与维基百科的支持。每个标签的每一次标注行为都可以关联到许多DBPedia 条目,这些条目定义了该标签所有可能的含义。在线本体也是这类研究工作常用的数据源,例如,Watson 有一种语法分析工具,该工具可以自动搜集、分析和检索互联网上可用的本体与语义数据。它为语义网用户与应用程序访问互联网的大量知识信息提供了便利。
本文选择维基百科帮助构建标签本体。与其它知识库系统不同,维基百科一直由普通用户对其信息进行更新,能提供最新版本的数据信息。构建的本体的关系来自于Dublin Core,Dublin Core 是一种图书关系元数据的国际标准,现在是本体论研究的一个标准测试集。
服务平台一般有如下特点:每个服务都由几个标签描述;根据描述标签,服务被划分到不同的类别;标签由服务创建者提供。从这些特点可以看出,这些标签为服务搜索提供的帮助很有限。
利用标签构建各个服务集合的本体,可使得服务搜索的过程变得更智能。本文创建的本体是指RDF 文档。首先,从各个服务集合的标签中筛选出核心标签,每个服务集合都被视为一个独立的领域。然后,把每个核心标签与维基百科的条目关联起来。因为每一个维基百科的概念条目都有独立的URI,它们可以被用作RDF 文档的实体。此方法只支持简单的RDF文档结构,忽略任何其它类似树形结构的复杂结构。
由于每个服务都由几个标签描述,可能有些标签与服务对应的领域没有关联。比如有的标签是城市名称,说明服务与具体城市有关;有的标签是产品名称,例如iphone,说明服务可能是iphone 专用的服务;有的标签说明了平台的名称,例如服务调用Delicious 平台的APIs 等。很明显,这些标签与服务所属的领域都没有直接的关系。
如果一个标签被用来描述某个领域的多个服务,那么可以推断此标签很可能与领域相关。那些与服务领域相关的标签需要被筛选出来,它们描述了领域的相关信息,被称为领域的核心标签。通过对特定领域内所有标签的使用频率进行统计,可以筛选出该领域的核心标签。
为了创建RDF 文档,需将领域的核心标签映射为RDF 文档的元素。一般而言,RDF 文档的元素都采用URI 的形式表示。当然,有些RDF 语句的对象是datatype 属性,不是URI的形式。维基百科是创建RDF 文档的非常好的资源。维基百科的条目可以作为本体的概念,每个条目都有一个独立的URI。更重要的是,很多标签在维基百科知识库里都被定义为一个个条目,可以被转换为实体。
因为维基百科没有以明确的知识表示模型作为基础,所以一个维基百科条目可以是实例、概念或属性。根据惯例,维基百科包含的大多数条目都是名词,而且没有包含相互关系和属性的内容。这样在构建本体时可忽略实例和概念之间的区别,这些对于纯RDF 文档并不重要。
通过把“2.1 节”筛选出的领域核心标签映射成维基百科的条目,普通的标签就成为带有一定语义的概念。每个概念都可以用具体的URI 标识。URI 标识的概念可以作为RDF 文档的实体直接使用。对一词多义的标签,需要手工进行处理。参考标签所属的领域,以人工方式确定标签所属的概念。对一些非名词的标签,如“social”等,虽然使用的频率比较高,本研究并不对它们进行映射处理。同样,对一些没有对应条目的标签,也不进行映射处理,当前只关注名词概念。
此外,从维基百科的条目里难以发现相互关系和属性的内容。解决这个问题的方法是使用许多本体包含Dublin 核心元素[9-10]定义的相互关系和属性。但本文没有完全使用Dublin 作为本体的概念资源,因为相对而言,维基百科概念条目更新的速度更快,更能反映语义变化的动态性。
Programmableweb 是一个非常流行的Mashup 服务和APIs 平台。实验收集了Programmableweb 平台“sports”领域的52 个Mashup 服务的标签数据,然后统计了这些标签在“sports”领域Mashup 服务以及在整个Programmableweb 平台所有Mashup 服务中使用的次数,在此基础上计算前者在后者所占的比例。
为了获得“sports”领域的核心标签,实验设置了两个阈值:
(1)每一个标签在Programmableweb 平台上使用的次数必须大于1。很多只使用一次的标签与领域无关,如城市名称;
(2)上述计算的比例必须大于0.1。标签使用的频率越高,它与领域的关联越紧密。
表1 “Sports”领域的核心标签
表1 显示了52 个Mashup 服务集合的核心标签,很明显,所有这些标签都与“sports”领域紧密相关。其中,有些标签进行了额外的手工的处理,比如,“cycling”实际上包含{bicycle,bike,cycling,biking}四个标签,实验中把它们作为一个标签处理;同样,“football”包含了{football,soccer}两个标签;“skiing”包含了{skiing,ski}两个标签。
然后,利用这些“sports”领域的核心标签创建相应的RDF 文档。每一个核心标签都是RDF 文档的一个概念。其中,“sports”是这个领域的首要概念,所有其它标签(即概念)应当与“sports”概念相关联。第一步,从维基百科中搜索“sports”概念对应的条目,并在该条目搜索包含其它概念的文本内容。反过来,从其它概念的条目搜索包含“sports”的文本内容。第二步,从都柏林核心抽取元数据,定义概念之间的语义关系。
有一些标签在实验中要被忽略,例如,忽略所有形容词标签,只关注名词标签。除此之外,在维基百科条目中与“sports”概念没有文本相关内容的标签也要忽略。剩下的标签可以用来创建RDF 文档。每一个标签都对应一个URI,可以视为RDF 的实体。实体之间的属性来自Dublin 核心元素。图2(见第16 页)显示了创建的RDF 文档细节部分。
图2 中椭圆代表实体,连接线代表实体之间的联系。具体解释如下:
Climbing(攀岩)、Baseball(棒球)、Basketball(篮 球)、Golf(高 尔 夫)、Running(跑 步)、Football(足球)、Skiing(溜冰)、Cycling(骑自行车)都属于Sports 类(class)的实例。其中Cycling 和Bicycle(自行车)是一种关联关系,Bike包括Bicycle;Ski(雪橇)和Skiing 是一种关联关系,Soccer(英式足球)是Football 的实例。
为了考察生成的RDF 文档的准确性,可利用Word Net 的知识对上述实验结果进行验证。首先,从WordNet 知识库中找出包含上述全部核心标签的知识,然后,利用这些WordNet 知识体系验证生成的RDF 文档。
标签在Word Net 知识库中可能有多个语义(sense),每个语义对应着WordNet 知识库体系结构的一个结点,那么一个标签就可能对应多个结点,但上述实验的核心标签的语义都存在于以entity 为根节点的树状结构中。为了确定每个核心标签的语义,可求解每个标签的结点到其它各个标签结点的路径长度之和,再对这些所求的和进行累加,当累加值最小时每个标签对应的结点就作为标签的sense。图3(见第17 页)显示了“sports”领域的核心标签的WordNet 知识体系。
本文构建的本体与WordNet 知识库相比,语义关系比较准确。在WordNet 知识库中,Skiing 与Cycling 属于Sports 类(class)的实 例(instance),Basketball 与Golf 等 属 于Sports 类的子类的实例,但Climbing 与Sports没有这种隶属关系。而且Ski 与Skiing、Bike及Bicycle 与Cycling 之间的关联关系是WordNet中没有的,这说明维基百科的语义关系比WordNet 更丰富,能对WordNet 形成补充。
图2 “Sports”领域的RDF 图
本文利用维基百科知识库为服务创建本体,在筛选出服务领域的核心标签后,把领域核心标签与维基百科的条目进行关联,然后将各条目的URI 用作本体的基本元素。所创建的本体主要是一些简单的RDF 文档,RDF 实体之间的属性来自Dublin 核心元素。下一步,可考虑创建一些结构复杂的本体,以便进一步提高服务搜索的效率。此外,文本描述也是一个重要的标签来源,充分发挥网络资源文本描述的作用也非常重要。
[1] 李兵. 软件服务注册库[EB/OL].[2013- 05- 12].http:/ /www.s2r2.org,2010.
[2] Zeng C, He K Q, Li B, et al. Toward Multiontology Based Interoperability in Web Service Registry[J]. Journal of Computational Information Systems,2009,5 (6):1669- 1677.
[3] Zeng C,He K Q,Li B,et al. A MFI4OR- based Approach of Semantic Annotation for Web Service[A]/ / the 5th International Joint Conferences on Computer,Information, and Systems Sciences, and Engine(CISSE 2009) [C]. Connecticut, USA, 2009:615- 620.
图3 “Sports”领域核心标签在WordNet中的知识体系
[4] 曾诚,何克清,李兵. 一种支持语义互操作的Web服务注册管理机制[J]. 小型微型计算机系统,2011(9):1710- 1715.
[5] Ahn D,Jijkoun V,Mishne G,et al. UsingWikipedia at the TREC QA track [A]/ / The Thirteenth Text Retrieval Conference. 2004.
[6] Hepp M, Bachlechner D, Siorpaes K. Harvesting Wiki Consensus- Using Wikipedia Entries as Ontology Elements [A]/ / the 3rd European Semantic Web Conference[C]. Budva,Montenegro,2006.
[7] Laniado D,Eynard D,ColombettiM. UsingWordNet to turn a folksonomy into a hierarchy of concepts [C].the 4th Workshop on Semantic Web Applications and?Perspectives,2007:192- 201.
[8] d’Aquin M,Sabou M,Dzbor M,et al. Watson:A gateway for the semantic web [C]. the 4th European Semantic Web Conference,2007.
[9] Dublin Core Metadata Initiative. Dublin Core Metadata Element Set, Version 1.1: Reference Description[EB/OL].[2013- 05- 12]. http:/ / dublincore.org/ documents/dces/ ,2005- 11- 30.
[10] Dublin Core Metadata Initiative. DCMI Metadata Terms [EB/OL]. [2013- 05- 12]. http:/ / dublincore.org/ documents/ dcmi- terms/ ,2005- 11- 30.