●邢美鳳
(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.