湯怡潔 張敏 丁曉芹



〔摘 要〕首先,針對關聯數據的國內外發展現狀和相關技術進展進行研究,并且調研了目前主要的關聯數據集,并深入研究了DBPedia數據集、DBLP數據集和CORDIS數據集。接著基于中國科學院集成信息平臺CASIIP,同時結合中國科學院研究所群組集成知識平臺項目一期、二期的建設情況,充分分析平臺語義化擴展方面的需求和可行性,并且在關聯數據的基礎上提出了CASIIP語義化的擴展解決方案。最后在CASIIP的內容管理組件、搜索組件和綜合資源管理組件中利用DBPedia的lookup和Spotlight分別實現了組件語義化擴展。實驗證明,該方法合理可行,為CASIIP實現從基礎內容發布建站平臺軟件到語義化集成資源的平臺軟件發展奠定了基礎。
〔關鍵詞〕關聯數據;IIP;信息平臺;語義化;DBPedia;關聯數據集
〔中圖分類號〕G250.7 〔文獻標識碼〕A 〔文章編號〕1008-0821(2016)06-0066-08
〔Abstract〕First,according to the related data at home and abroad development status and technical progress of research and investigation of the current major linked data sets,and in-depth study of the DBPedia data sets,the DBLP data set and CORDIS data set.Then based on the Chinese Academy of Sciences integrated information platform CASIIP,combined with China Academy of Sciences Institute of group knowledge integration platform project phase,phase II construction,a full analysis of semantic platform extended the demand and feasibility of,and in the data association based on the proposed solution CASIIP semantic expansion.Finally in the CASIIP content management module,search components and integrated resource management components using DBPedia the lookup and spotlight respectively,to achieve the assembly semantic expansion.Experiments showed that the method was reasonable and feasible.CASIIP implementation from the foundation content release station platform software to the semantic resource integration platform software development laid the foundation.
〔Key words〕linked data;IIP;information platform;semantic expansion;DBPedia;linked data set
中國科學院集成信息平臺(CASIIP)是為研究所一線科研人員以及所圖書館員提供信息集成與交互服務的個性化門戶平臺,需要在充分利用研究所圖書館資源的同時,實現對第三方開放資源的集成服務,并能夠通過平臺建立起科研人員與圖書館員之間良好的互動交互機制,同時基于不同科研用戶的需要,提供用戶個性化組織和利用信息資源與服務的功能。目前平臺在中科院研究所得到廣泛應用,已經在62個研究所開展應用服務。
隨著互聯網知識內容產出方式的不斷變化,用戶所需求的數字知識資源越來越廣泛化綜合化,類型和格式也日益復雜化多樣化。與此同時,關聯數據技術的快速發展增強了語義網技術的可行性,近年來日益增長的關聯開放數據網絡為實現計算機自動發現和處理網絡上異構的來自不同數據源的數據提供了便利。面對用戶需求的變化和外部關聯數據云的爆發式增長,如何利用關聯數據云中的數據對CASIIP平臺進行語義化擴展是本文重點討論的問題。
1 關聯數據與關聯數據集的發展近況
1.1 關聯數據整體概述
關聯數據(Linked Data)[1]的宗旨是構建計算機能理解的具有結構化和富語義的數據網絡,是在2006年由Tim Berners-Lee首次提出的。這一概念的提出能夠更好地支持構建智能化的應用,彌補目前僅僅是人能讀懂的文檔網絡的不足。關聯數據通過網絡把以前沒有關聯的相關數據連接起來,成為推動語義Web發展的重要方式之一。
關聯數據已經被W3C推薦為語義網最佳實踐,已經成為當前語義網領域研究和實踐的熱門主題。W3C為促進語義網和關聯數據的發展所倡導的“關聯開放數據項目(Linked Open Data Project)”從2006年至今,已經吸引了多領域和無數參與者的關注,將數據發布為關聯數據并且相互關聯起來,形成了關聯數據云(LOD Cloud),也是實質的數據網絡。近年來關聯開放數據網絡以驚人的速度增長,并且仍然保持高速地發展。截至2014年8月份,整個關聯開放數據網絡已經包含了570個關聯數據集,并通過2 909個鏈接集進行相互關聯,如圖1所示。
1.2 關聯數據集分析
1.2.1 關聯數據集調研
DataHub作為一個數據注冊服務中樞,目前已經收錄了9 000多個數據集,其中屬于Linking Open Data Cloud組的數據集有212個[3]。DataHub是基于CKAN[4]構建的,CKAN是一個開源的Python框架。在CKAN上注冊關聯數據集必須滿足以下幾個條件:①所有數據條目通過可參引的URIs可以訪問;②所有的數據必須以規范的RDF格式(RDFa,RDF/XML,Turtle,N-Triples)描述;③數據集至少包含1 000個三元組;④數據集與其他關聯數據集之間至少包含50個有效鏈接;⑤同時需要說明數據集允許訪問的形式(RDF crawling,RDF dump,SPARQL endpoint)。主要的關聯數據集(部分)如表1所示。
1.2.2 DBPedia數據集分析
DBpedia[5]由柏林自由大學和萊比錫大學的研究人員發起,與OpenLink Software公司合作,致力于從維基百科的結構化和半結構化信息中抽取數據并生成RDF三元組,將其組織后形成龐大的數據集,與外部的關聯數據連接,提供給人們使用。DBPedia數據來源于WikiPedia,以定時抽取和實時監測兩種模式同步數據,解決了目前知識庫建設中存在的數據規模與其結構化程度之間的矛盾,以較低成本建設和維護結構化程度較高的大規模海量知識庫。DBPedia采用基于語義Web的知識組織模式,遵循RDF語法描述知識并通過4種知識分類方法進行語義分類,從而實現了知識內容的跨領域性[6]。
在LOD關聯開放數據網絡中,DBPedia作為最主要的一個數據中樞與其他開放關聯數據集進行鏈接,以DBPedia為圓心,通過RDF鏈接直接或間接的輻射到外部數據集。DBPedia 2014數據集中更是包含了5 000萬左右的RDF鏈接與外部關聯數據集進行關聯,鏈接數量排名前十位的關聯數據集如表2所示。
同時,越來越多的數據集反向鏈接到DBPedia中,鏈接總數超過3 900萬個,如ACM數據集、NSF數據集、DrugBank等。
DBpedia提供了URI查找服務 DBpedia Lookup[7],即通過用戶提供的關鍵詞查找相關的URI,實現方式包括關鍵詞查詢(Keyword search)和詞前綴查詢(Prefix search)。查詢結果格式為XML文件,內容包括URI,標簽、簡短的描述,類型、分類和在Wikipedia的內部鏈接引用次數。
DBpedia同時也提供了類似語義標注的工具DBpedia Spotlight[8],能對自由文本中所涉及到的DBpedia概念進行自動標注,為非結構化信息資源通過DBpedia關聯到關聯數據云(Linked Data Cloud)提供了實現基礎。該工具可執行命名實體的抽取,包括實體檢測和命名消歧,也可以在其他信息抽取任務中構建自己的命名實體識別解決方案。
1.2.3 DBLP數據集分析
DBLP由德國特里爾大學的一個團隊開發和維護[9],提供計算機領域高質量的科學文獻搜索服務,并且只儲存這些文獻的相關元數據,如標題、作者、發表日期等,不提供全文下載。截至到2015年4月DBLP已經收錄有2 963 980篇文獻信息,該數據集遵循ODC-BY 1.0數據開放協議供用戶公開使用。DBLP收錄的文獻類型有Journal Article、Book and Theses、Editorship、Parts in Books or Collections、Informal Publications、Conference and Workshop Papers、Reference Works共7類,提供的數據描述信息包括author、title、booktitle、pages、year、address、journal、volume、number、month、url、cite、publisher、note、isbn、series、chapter等。
DBLP利用ReSIST項目構建的RKB Explorer對外發布關聯數據,該數據集的數據相對滯后,最近的更新數據是2013年3月,包含43 153 440三元組,4.4G的RDF數據。DBLP提供SPARQL Endpoint語義查詢服務,相關的SPARQL查詢服務地址為:http:∥dblp.rkbexplorer.com/sparql/?query=。
1.2.4 CORDIS數據集分析
歐盟研發信息服務委員會(The Community Research and Development Information Service,CORDIS)發布的關聯數據集CORDIS包含了所有歐盟的計劃和項目信息[10]。該數據集中主要描述的實例類有4個(人員、機構、計劃和項目),屬性有44個(如項目資助、人員所屬單位、項目起止日期、項目所屬計劃等)。在數據集中總共擁有人員實例93 669個、機構實例248 581個、計劃實例764個、項目實例84 801個。
CORDIS數據集是通過D2R Server進行發布的,數據集不僅提供關聯數據的瀏覽服務,同時也支持通過SPARQL Endpoint進行數據查詢,相關的SPARQL查詢服務地址為:http:∥wifo5-04.infomatik.uni-mannheim.de/cordis/sparql。
2 利用關聯數據實現IIP語義擴展的方法研究
2.1 IIP組件使用情況分析
中國科學院集成信息平臺CASIIP是一套基于Portal和CMS內容管理的集成信息系統,系統針對研究所、項目組、實驗室、信息中心以及科研用戶團隊建立集成信息平臺的需求而設計,為用戶進行信息加工、組織和發布提供相關的服務,具有①簡單、靈活、實用;②構建多社區服務;③專題數據庫服務;④數據可視化功能;⑤集中式管理等特點。IIP平臺在中科院“研究所群組集成知識平臺可持續服務能力建設”項目中得到了廣泛應用,本項目針對群組一期、二期選用IIP平臺的23個研究所,100多個平臺進行了分析,具體調研的組件包括內容管理、綜合資源、第三方資源集成、交互以及其他各種類型的組件,總共包括15個以上組件,具體使用情況如圖2所示。圖2 IIP平臺內組件使用情況
通過對IIP平臺組件使用情況調研發現,使用頻率最高,涵蓋數據量最大的組件是內容管理組件和綜合資源組件。在各個研究所的群組平臺中,內容管理組件中的單篇全文組件主要用于描述科研團隊人員信息、機構組織信息、儀器設備信息等;標題列表組件主要用于發布學術動態、各類學科快報等。綜合資源組件多數情況下用于集成論文信息,同時也可以集成專利、項目、會議等各種資源信息。
2.2 基于關聯數據的IIP語義擴展方法
根據上述研究,再結合目前中國科學院集成信息平臺建設的實際情況,關聯數據在集成信息平臺的語義擴展方法的核心思想是利用關聯數據技術將集成信息平臺中的數據信息進行語義標注,并擴展關聯外部的各大關聯數據集。關聯數據可以為集成信息平臺擴展資源信息提供結構化的數據基礎,提供多個分布式異構數據源整合的關聯訪問,將來自不同數據源的同一個實體數據進行整合,返回給用戶關于該實體的盡可能多的相關信息的統一視圖,從而為用戶提供資源發現和訪問服務的新的視角。簡單來說,就是關聯數據允許集成信息平臺關聯到更廣泛的信息資源,并不局限于資源本身的信息,可以擴充科研人員、所屬機構、科研成果以及其所屬學科主題等其他信息到其他任何一個存在該信息描述的數據源。
3 IIP語義擴展模塊設計與實現
3.1 IIP關聯數據標引
單篇全文組件是IIP平臺中最主要的內容呈現組件之一,用于顯示后臺內容管理組件發布的某篇文章的具體內容,通常用于描述科研團隊人員信息、機構組織信息、研究進展和儀器設備信息等。IIP關聯數據標引主要是針對IIP單篇全文組件進行語義化擴展,利用DBPedia關聯數據集中的概念對文章內容進行標引。通過標引可以使IIP內部數據與對應的DBPedia知識庫中的詞條關聯上,從而擴展了IIP內部數據的可讀性和豐富性。
3.1.1 模塊設計與實現
單篇全文組件的語義化擴展的設計思路是在不改變原有組件的使用和操作流程的基礎上,通過用戶選擇自定義的方式支持語義化標引,用戶可以在組件配置界面中勾選是否采用DBPedia關聯數據集進行文章內容的標引操作。整個組件的默認設置是不實現關聯數據標引,當用戶手工勾選后,則界面呈現的文章內容是經過標引后的結果,正確標引命中的詞出現超鏈接,點擊直接跳轉至DBPedia中相關的詞條,實現了語義擴展閱讀。具體的組件功能示意圖如圖3所示。
從圖3中可以看出,針對單篇全文組件流程的二次開發改進主要集中在2個方面,一個是在組件配置過程中,加入了語義擴展配置選項;另一個是在組件的文章呈現流程中,根據語義擴展配置選項,實現調用DBPedia Spotlight工具實現語義標引的分支。
在單篇全文組件語義化擴展實現過程中,文章內容如何通過第三方開源工具Spotlight實現語義標引是關鍵技術點。組件首先采用htmlparser包進行內容的過濾,將過濾完成的純文本字符串通過HttpURLConnection傳給DBPedia Spotlight第三方工具,最后返回xml結果。整體模塊流程如圖4所示,當組件根據配置信息檢測到該組件配置為語義化擴展組件時,則直接進入語義化擴展處理流程進行操作。否則,直接顯示從數據庫中獲取的原始文章內容。
由于IIP中的內容發布組件支持html在線編輯器,大部分發布的文章內容都包含大量的html代碼來控制整篇文章的格式,但是這些html代碼不能帶入第三方標引工具進行標引處理,一則會出現url超長現象,二則會導致標引結果的不準確性。因此,整個語義化擴展處理流程的第一步就是對文本進行清洗過濾,然后在此基礎上進行語義化標引操作。整個處理流程的關鍵偽代碼如下:
根據組件配置信息判斷是否進行語義化擴展
IF(enableDBPedia==true) 開始語義化擴展操作
構建Parser parser=new Parser(articleContent);
TextExtractingVisitor visitor=new TextExtractingVisitor();
parser.visitAllNodesWith(visitor);
執行過濾后的文章內容字符串dealwithArticleContent=visitor.getExtractedText().trim();
將字符串進行URLEncode編碼;
帶入第三方開源工具spotlight=″http:∥spotlight.dbpedia.org/rest/annotate?text=″+searchWord+″&confidence=0.2&support=20″;
URL restServiceURL=new URL(spotlight);
利用HttpURLConnection,(HttpURLConnection) restServiceURL.openConnection();
httpConnection.setRequestMethod(″GET″);
httpConnection.setRequestProperty(″Accept″,″application/xml″);
BufferedReader responseBuffer=new BufferedReader(new InputStreamReader((httpConnection.getInputStream())));
ByteArrayOutputStream semanticArticleStream=new ByteArrayOutputStream();
while((i=responseBuffer.read())!=-1){semanticArticleStream.write(i);}
最終獲得結果語義標引的文本內容semanticArticle=semanticArticleStream.toString();
結束語義化擴展操作,將處理完成的文本內容放入單篇全文組件中
journalArticleContent.setContent(semanticArticle);
3.1.2 實現效果
IIP關聯數據標引實現效果以群組一期中國科學院大學建設的“凝聚態理論與計算材料物理實驗室”平臺中的一篇實驗室研究方向介紹的文章內容為例,通過DBPedia語義化標引前后的實現效果如圖5所示。圖5 關聯標引實現效果
從圖5中可以看出,通過配置“啟用標引”選項,發布的文章內容實現了DBPedia的詞匯標引,在能與DBPedia數據集中匹配的內容下加上了相關的鏈接。點擊鏈接直接跳轉到DBPedia中相關詞條的描述頁面,如點擊“Condensed matter physics”,進入了DBPedia中“凝聚態物理”詞條的描述頁面,包含了基本描述、涉及的主題,等價概念等。
3.2 IIP關聯數據搜索
IIP關聯數據搜索主要分為兩種服務模式,一種是人工輸入搜索;一種是自動擴展搜索。人工輸入搜索是基于IIP搜索組件,擴充DBPedia檢索選項,將用戶輸入的檢索詞送入DBPedia數據集中進行檢索并返回相關的結果列表。自動擴展搜索是基于IIP綜合資源組件,該組件可以動態的建立用戶自己的知識庫,滿足用戶之間知識積累和共享的要求。在IIP綜合資源組件顯示每條資源的詳細信息頁面中,根據每條資源的標題自動送入DBPedia數據集中檢索,獲取到的相關結果作為該資源的擴展信息呈現在同一頁面內。
3.2.1 模塊設計與實現
IIP關聯數據搜索的功能擴展主要在IIP搜索組件和IIP綜合資源組件中進行,利用DBPedia的URI查找服務-DBpedia Lookup實現DBPedia的數據集檢索。由于同時針對IIP的兩個功能組件進行關聯數據搜索擴展服務,因此整體模塊設計思路是在系統底層開發一個公共組件用于與外部DBPedia數據集進行通訊,在公共組件的上層提供接口直接支持搜索組件和綜合資源組件的調用,這種設計模式更利于系統后續擴展與再開發。具體的組件功能示意圖如圖6所示。
從圖6中可以看出,DBPedia擴展檢索組件的開發是實現關聯數據搜索的主要工作,另外需要對IIP中兩個現有組件進行二次開發,調用DBPedia擴展檢索組件的功能,最終實現人工搜索和自動搜索兩種服務模式。具體而言,DBPedia擴展檢索組件通過Apache Jakarta Common下的子項目httpclient提供的jar包調用DBPedia lookup查詢服務接口實現與DBPedia DataSet的通訊。在綜合資源組件中通過調用擴展檢索組件接口,實現綜合資源本地內容和DBPedia擴展內容的組合呈現,整個處理流程的關鍵偽代碼如下:圖6 IIP關聯檢索功能示意圖
IF(IntegratedResources.getOp().equals(″detail″)==true) 進入綜合資源詳細內容獲取流程
創建IntegratedResourcesForm實體;
利用returnIntegratedResources方法獲取本地內容,ResourcesDisplayLbean.returnIntegratedResources(irId);
利用returnDBPediaResources方法獲取DBPedia數據集中的相關內容,ResourcesDisplayLbean.returnIntegratedResources(searchWord);
在returnDBPediaResources方法中,String lookupDBpedia=″http:∥lookup.dbpedia.org/api/search.asmx/PrefixSearch?QueryClass=&MaxHits=5&QueryString=″+searchWord;利用HttpClient調研lookup服務接口,返回結果經過本地二次處理,以字符串形式返回;
整理合并本地內容和DBPedia相關內容,分別寫入之前創建的IntegratedResourcesForm實體,
IntegratedResourcesForm.setContent(integratedResource);
IntegratedResourcesForm.setDBPedia(dbpediaResult);
完成內容獲取整個流程后,將IntegratedResourcesForm寫入request
req.setAttribute(″IntegratedResourcesForm″,IntegratedResourcesForm);在頁面上呈現。
3.2.2 實現效果
IIP關聯數據搜索實現效果之一是通過輸入檢索詞直接在DBPedia數據集中檢索相關內容并返回檢索結果列表,以condensed為例,通過DBPedia檢索返回的結果包括Hydrochloric acid;Condensed matter physics;Condensation等。點擊Condensed matter physics直接跳轉到DBPedia中的“凝聚體物理”詞條展示頁面,具體效果如圖7所示。圖7 關聯檢索實現效果之一
IIP關聯數據搜索實現效果之二是以利用綜合資源組件構建的藥品數據庫為基礎,在瀏覽藥品詳細信息的時候,在界面呈現本地藥品數據庫中加工形成的數據資源以及通過DBPedia檢索返回的擴展資源信息。例如在藥品數據庫資源列表頁面點擊Abacavir,進入該藥品詳細信息頁面,在此頁面中上方為本地藥品庫中的信息內容,下方為從DBPedia數據集擴展獲取的信息內容,具體實現效果如圖8所示。
4 結 論
中國科學院集成信息平臺(CASIIP)雖然在中科院范圍內62家研究所的幾百個課題組得到了廣泛應用,但是CASIIP平臺還是以傳統的門戶呈現模式和關系型數據庫存儲模式進行的信息組織,語義化程度較低。本文的研究思路是在CASIIP平臺中引入了關聯數據的概念,利用外部關聯數據集DBPedia豐富的信息資源描述,結構化的組織形式以及規范的數據接口實現了平臺語義化擴展。通過平臺語義化擴展,將平臺自身的信息資源與來自DBPedia數據源的同一個實體數據進行整合,以統一視圖的形式返回給用戶盡可能多的相關信息。
目前在CASIIP平臺中只引入了DBPedia一個關聯數據集,接下來,根據不同研究所的研究領域不同,將開展有針對性的關聯數據集調研并引入CASIIP系統中。與此同時,將開展CASIIP系統自身信息的語義化轉換,利用關聯數據發布技術,將系統數據發布為標準的關聯數據格式對外提供服務。
參考文獻
[1]劉煒.關聯數據:概念、技術及應用展望[J].大學圖書館學報,2011,(2):5-12.
[2]The Linking Open Data Cloud diagram[EB/OL].http:∥lod-cloud.net/.
[3]DataHub Dataset[EB/OL].https:∥datahub.io/dataset.
[4]CKAN Overview[EB/OL].http:∥docs.ckan.org/en/ckan-2.4.1/index.html.
[5]DBPedia[EB/OL].http:∥wiki.dbpedia.org/.
[6]邢美鳳.DBPedia本體知識庫關鍵技術及應用展望[J].圖書館理論與實踐,2013,(1):43-46.
[7]DBPedia Lookup[EB/OL].http:∥wiki.dbpedia.org/projects/dbpedia-lookup.
[8]Pablo,N.Mendes;Max,Jakob;Andres Garcia-Silva;Christian Bizer.Bpedia Spotlight:Shedding Light on the Web of Documents[J/OL].I-SEMANTICS 2011,7th Int.Conf.on Semantic Systems,2011.http:∥blog.semantic-web.at/wp-content/uploads/2011/09/p1mendes.pdf.
[9]DBLP computer science bibliography[EB/OL].http:∥dblp.uni-trier.de/.
[10]CORDIS European Union Open Data Portal[EB/OL].https:∥open-data.europa.eu/en/data.