●邢美凤
(1.晋中学院 图书馆,山西 晋中 030600;2.中国科学院 国家科学图书馆,北京 100190)
维基百科是英特网上最大的开放式电子百科全书,领域覆盖广泛,知识增长和更新速度快,为构建语义词典或知识库等应用提供了丰富、可靠、低成本的内容资源。
DBpedia[1]将维基百科中包含的内容转变为结构化的知识,并且在LOD原则指导下互联,将网上其它数据集和维基百科的数据结合起来,使得这些信息以关联数据的形式在Web上共享。DBpedia数据集包括来自80多种语言的数据、400多万指向其它LOD数据集的联接和总共已超过20亿的RDF三元组,是世界上十大关联数据集核心之一。DBpedia一方面利用关联技术与语义网中各种关联数据进行了互联;另一方面,作为世界上最大的常识本体知识库之一,为自然语言处理技术提供了丰富的知识来源。
本文通过分析DBpedia从维基百科中抽取结构化知识的关键技术,包括DBpedia结构化知识的抽取方法、内容和特点,以及应用与研究前景,以期在基于自然语言处理的知识抽取、基于上下文的语义消歧、命名实体识别、语义相关度计算、跨领域的知识发现等方面对DBpedia应用于数字图书馆建设和自然语言处理的前景研究做一展望。
DBpedia根据维基百科每个页面本身的编辑方式以及编辑特点,确定从维基百科中抽取结构化知识的方法。每个维基百科页面不仅包含一些自由文档,还包含一些结构化的信息,如标题、摘要、infobox模板、相对应的其它语种的页面信息、图片信息及地理位置信息等。
维基百科有固定的句法构成,每个页面利用MediaWiki编辑而成。MediaWiki利用特定的句法构成将元数据的编辑、链接和标注附加到文本正文中。所以通过分析MediaWiki,可以解析文本的句法结构,以获得结构化的信息。当前有两种抽取DBpedia结构化知识的方法:[2]
(1)利用存储的关系数据表抽取。维基百科每个月都会定期转存所发布的页面,并将一些信息放入关系数据表中。数据表中的关系可以直接映射为RDF三元组,同时会根据每个月维基百科数据转存的变化情况定期更新DBpedia知识库。
(2)直接从维基页面中抽取其它信息。维基百科提供的OAI-PMH在线更新反馈系统,会及时向DB-pedia项目报告维基百科所有页面的变化情况。DBpedia在延迟1—2分钟之后针对维基百科的实时修改信息,对相应DBpedia页面进行映射更新。
直接从维基页面中抽取信息可分为两种基本的方法。一是一般的inforbox抽取方法,inforbox模板通常以属性—值的形式位于维基页面的右下侧,是一个独立的区域,是最重要的结构化数据来源。MediaWiki针对这部分信息,利用模式匹配的方法予以识别,从而转换为DBpedia资源页面的信息。二是基于映射的inforbox抽取方法,主要用于克服同名问题以及对同一类实体的多个模板的问题。其实现过程是将维基模板映射为一个手工创建的本体,同时手工整理350多个固定使用的模板,然后将2350多个维基属性映射到720个DBpedia本体类所对应的属性中。
DBpedia将维基百科中infobox模板类型、图片、地理等信息指向其它外部Web页面的链接以及指向不同语言版本的维基链接等从维基百科中抽取出来,转变为DBpedia页面。DBpedia从维基中抽取出的页面内容有两类:
一类是对维基百科页面结构化描述的实体页面,实体页面的 URI形式为 http://DBpedia.org/page/name,其中链接最后部分的“name”和相应的维基百科中URI文章的“name”相同。
另一类是对所抽取的结构化页面进一步说明的实体描述页面。分为资源描述页面和属性描述页面。实体描述页面包含的标签对应维基中的页面标题,同时和DBpedia抽取的结构化描述页面标题一致。实体描述页面中的摘要信息对应维基页面的描述信息。资源页面的URI形式为http://DBpedia.org/resourse/name。其中链接最后部分的“name”和相应的维基百科中URI文章的“name”相同。
每一个DBpedia资源描述页面由通用属性和Inforbox指定的属性及相应的属性值构成。属性描述页面中的属性来源于DBpedia中使用到的本体类。这些本体类包括维基类、YAGO类、UMBEL类和DBpedia自身定义的类。有些类的命名空间在DBpedia资源中重新定义。维基百科中的Inforbox指定的属性页面URI形式为http://DBpedia.org/property/namespace。基于映射的属性页面URI形式为http://DBpedia.org/ontology/namespace.。
DBpedia知识库的构建是语义网工程的一部分,它是一个大型的、跨领域的本体知识库。DBpedia知识库中包含专有的本体类和本体实例。到目前为止,DBpedia知识库包括了40多万有关人的信息,50多万有关地理的信息,10万多的唱片集信息,6万多的电影信息,1万多的视频信息,16万的组织信息,18万物种信息和5000多种疾病的信息等。[1]DBpedia从维基百科中抽取的结构化知识以三种页面的形式存储,分别是对维基抽取结构化信息的描述页面、DBpedia资源页面和属性描述页面,总共有300多万的实体资源。同时,按照LOD的原则,DBpedia知识库数据集以RDF的形式发布,成为互联网上关联数据的一个重要节点。
(1)DBpedia实体所属类别。DBpedia的实体为了实现不同的应用要求,包括四类模式:①维基类,DBpedia中包括维基类中的SKOS表示,这里有4万多个种类;②YAGO类,其中包含20多万个类;③ UMBEL类,是一个轻量级的本体,包含2万多个类;④DBpedia本体类,包含170个类,其中包括940个属性。
(2)DBpedia实体资源。如前所述,从维基中抽取的页面以结构化形式存储。DBpedia使用英语名来创建每个资源的标识符。每个资源创建相应的URI,这个URI根据模板http://DBpedia.org/page/name创建。资源名和维基中相应的URL文章的name相同。这样做的好处是覆盖主题广泛、命名统一、便于管理、扩展的维基定义便于查找。
(3)DBpedia实体描述资源。每一个DBpedia实体资源由一些属性及相应的属性值来描述,这些属性包括一般属性和inforbox定义的属性。这些属性从维基页面中抽取,并且在DBpedia资源中重新定义。DB-pedia的描述资源所使用的属性几乎包涵了百科全书的所有主题,以无歧义的形式定义。
(4)RDF三元组数据集。DBpedia结构化了维基百科中的所有知识,并且在LOD原则指导下,与其它数据集的资源建立语义相关。这些内容都以RDF三元组的形式发布。分为核心的DBpedia数据集和与外部资源链接的数据集。DBpedia的RDF三元组数据以文本文档的形式提供。
(1)跨领域的知识库。现在许多知识库是面向特定领域的知识库,由相关领域的知识工程师创建,当领域有所改变时,原先的知识库因不适应新的环境而变得不能使用。而DBpedia知识库覆盖的领域有地理、人、公司、音乐、基因、药物、书籍、科学出版物等,是一个跨领域的知识库。
(2)多语种的知识库。DBpedia知识库涉及的语种包括了英语,德语,法语,西班牙语,意大利语,葡萄牙语,日语,汉语,俄语等30多种语言。
(3)富文档的知识库。维基上有大量的图片信息,DBpedia描述了557,000个指向图片、35,000个指向音乐集和12,000个电影的链接。
(4)网络知识库的中心节点之一。DBpedia定义了全球唯一的标识符,这些标识符可以通过Linked Data原则解析。利用RDF三元组建立起的从各种数据源到DBpedia的联系,使得DBpedia成为在互联网上可利用数据的中心结点之一。
DBpedia知识库的应用要遵循GNU自由文档协议,具体的使用方法包括四种存取机制。[3,4]
Linked Data[5]是一种利用RDF数据模式在网上发布结构化数据的一种方法。RDF三元组的每一个部分都将HTTP URIs作为资源标识符,将来自不同数据源的数据互联。用户利用HTTP协议可以获取相应资源。 DBpedia知识库以RDF数据形式,按照Linked Data原则描述和在网上发布资源。这样,DBpedia和各种开放数据就可以形成互联,发布的数据也可以利用浏览器或网页爬行技术获得。
SPARQL[6]由W3C开发,是针对 RDF数据模型定义的标准查询语言和数据获取协议,允许应用程序对分布式RDF数据库进行复杂的查询,提供一套标准的查询RDF、处理查询过程以及返回查询结果的格式。DBpedia提供了SPARQL查询端点,可以通过网上在线查询的方式获取DBpedia知识库的内容。当DBpedia客户端向DBpedia所提供的SPARQL查询端点发送符合SPARQL查询标准的查询语句后,SPARQL端点接收客户端的查询请求,检索相应的DBpedia知识库,并将结果返回给用户。
除了可以通过SPARQL端点获取外,也可以在DBpedia网站中分类下载DBpedia知识库内容。DBpedia按照语种类型、从维基百科中抽取的内容类型以及外部数据的类型,将知识库分成多个数据集文件,提供专门的下载页面。下载页面均以文本文档的形式提供。
Lucene[7]是一套用于全文检索的开源项目,由Apache软件基金会支持和提供。Lucene提供了一个简单强大的应用程序接口,能够全文索引和搜索。对于给定的查询术语,为了发现更多的可能匹配,DBpedia基于Lucene索引,提供一种重量级的查找方法。基于lucene索引的DBpedia查询服务器的网址为:http://lookup.dbpedi.org/api/search.asmx。利用这种查询索引方式,可以更容易地通过给定的标签找到相应的DB-pedia资源。
(1)Web数据浏览和爬行。DBpedia知识库互联了各种其它数据源,如OpenCyc、WordNet、Freebase、UMBEL等,生成了本体云,进一步扩充了DBpedia实体的信息。这个机制也使得DBpedia成为网络数据融合的中心结点之一。通过这些URL,可以从一个数据源链接到其它数据源,进一步查询相关的、更全面的信息。如在数字图书馆的应用中,一些图书馆己经在联合目录和DBpedia之间创建了规范记录的链接,如瑞典国家图书馆、德国国家图书馆、美国国会图书馆等,这样可以为图书馆用户提供更为详尽的检索信息,可以通过DBpedia进一步找到更多相关主题的图书或作者信息。
(2)Web数据融合。[8]DBpedia可以将不同来源、异构的数据通过LOD原则融合成统一的数据,将不同来源的术语映射成统一的术语集;按照匹配方式和转换规则,将多种来源的词表和本体中的词汇对应、融合,生成集中视图,以统一的形式展示。
(3)DBpedia应用于第三方的产品中。DBpedia数据可以导入第三方的产品中,利用DBpedia应用接口在线访问相关数据。如DBpedia Mobile[9]是一款用在移动设备如iphone中的第三方应用,基于移动设备上的GPS定位装置,通过Linked Data浏览器,提供地图化的界面;同时利用DBpedia中相关联的位置信息和其它LOD数据集,自动发现与当前位置有关的许多地理信息资源,如从某一图书作者的出生地,可能很容易地找到这个作者的工作地点等。
(1)语料库及概念词典的构建。传统的语料需要人工从报纸、杂志、互联网中获取,往往与领域相关,是单一语种,并且这个收集过程需要耗费很大的人力物力。维基百科作为一个跨领域、多语种的电子百科全书,包含了数百万的文档语料。[10]DBpedia从维基百科中抽取的结构化数据为抽取语义知识、构建概念词典和语料库提供了丰富的内容资源,可以为许多自然语言处理技术以及多个语种提供跨领域的语料和概念支持。[11]
(2)命名实体识别。维基百科是最大的、可用的、多语种、跨领域的命名实体资源,包含大量有关人名、地理、组织机构等信息。DBpedia从维基百科中抽取结构化的信息,能更有效地应用于命名实体的识别。目前DBpedia研究小组发布的Spotlight[12]是专用来进行命名实体识别的工具,可以将无结构化的自由文本与互联网中的关联数据建立联系,实现命名实体的识别。
(3)语义相关度计算。DBpedia本体知识库提供了丰富的概念间的关联关系。利用DBpedia提供的关联信息或公共属性信息来构建相关应用的概念网络,将两个需要进行对比计算的概念映射到己知的关系类型中,实现概念之间的语义相关度计算。[13]利用DB-pedia对维基百科结构化的语义标注,通过计算相关性,可以发现不同实体间的语义相关性。
(4)实现语义消歧。利用一个术语在DBpedia中的多个义项的超链信息,对具有多个义项的术语进行区分和描述,构建用于语义消歧的语料库,然后利用消歧算法实现语义消歧。Anastasia[14]利用存在于DBpedia中的语义信息实现了标签消歧。
[1] DBpedia [EB/OL]. [2011 -05 -01].http://wiki.DBpedia.org/About.
[2] So ··ren Auer,Jens Lehmann. What have Innsbruck andLeipzig in Common? Extracting Semantics from WikiContent [EB/OL]. [2010 -12 -01]. http://www.informatik.uni-leipzig.de/~auer/publication/ExtractingSemantics.pdf.
[3] ChristianBizer,et al.DBpedia—ACrystallizationPointfor theWeb of Data[EB/OL]. [2010-12-01].http://www.wiwiss.fu-berlin.de/en/institute/pwo/bizer/research/publications/Bizer-etal-DBpedia-CrystallizationPoint-JWS-Preprint.pdf.
[4] Soren Auer,etal.DBpedia:A Nucleus for aWeb of OpenData[EB/OL].[2010-12-01].http://www.informatik.uni-leipzig.de/~auer/publication/dbpedia.pdf.
[5] LinkedData[EB/OL].[2011-05-01].http://www.w3.org/DesignIssues/LinkedData.html.
[6] SPARQL[EB/OL].[2011-05-01].http://www.w3.org/TR/rdf-sparql-query/.
[7] LUCENE[EB/OL].[2011-05-01].http://lucene.apache.org/.
[8] 潘有能,张悦.关联数据研究及应用进展[J].情报科学,2011(1):124-130.
[9] Becher C,Bizer C.DBpedia Mobile a Location Enabled Linked DataBrowser[C]//ProceedingsofLDOW 2008,BeijingChina2008.
[10] 李赟.基于中文维基百科的语义知识挖掘相关研究[D].北京:北京邮电大学,2009.
[11] Gerhard Weikum,Martin Theobald.From Information to Knowledge:Harvesting Entities and Relationships from Web Sources[EB/OL].[2011-11-01].http://www.mpi-inf.mpg.de/~weikum/pods2010-weikum&the obald.pdf.
[12] Spotlight[EB/OL].[2011-11-01].http://dbpedia.org/spotlight.
[13] Wohlgenannt, et al.Integrating Structural Data intoMethods for Labeling Relations in Domain Ontologies[C]//20th InternationalWorkshop on Database and ExpertSystems Application.Linz,Austria,2009:94-98.
[14] Anastasia Stampouli,et al.Tag Disambiguation throughFlickr and Wikipedia [C]//DASFAA'10 Proceedingsof the 15th international conference on Database systemsforadvancedapplications.Berlin:Heidelberg,2010.