龔 振 范冰冰
(華南師范大學(xué)計算機學(xué)院 廣東 廣州 510631)
在大數(shù)據(jù)時代,數(shù)據(jù)成為了最具有價值的資產(chǎn),數(shù)據(jù)的開放和跨界融合是大數(shù)據(jù)產(chǎn)業(yè)得以壯大的關(guān)鍵。而傳統(tǒng)開放數(shù)據(jù)組織管理方式,數(shù)據(jù)集間相互孤立、缺乏關(guān)聯(lián)、雜亂無章,無法發(fā)掘其真正價值。同傳統(tǒng)的數(shù)據(jù)管理技術(shù)相比,關(guān)聯(lián)技術(shù)更容易實現(xiàn)多源數(shù)據(jù)的組合,它的自描述特性利于大范圍的數(shù)據(jù)共享。關(guān)聯(lián)數(shù)據(jù)也成為開放數(shù)據(jù)的最佳實踐之一[1]。
關(guān)聯(lián)數(shù)據(jù)是W3C推薦的一種規(guī)范,用來發(fā)布和連接各類數(shù)據(jù)、信息和知識。通過對Web中各種數(shù)據(jù)資源及其相互之間關(guān)系映射進行機器可讀的描述,可以在更大范圍內(nèi),準確、高效、可靠地查找、分享、利用這些相互關(guān)聯(lián)的信息和知識。目前,RDF是最適合程序自動處理的文檔之一,且能富含語義,已成為關(guān)聯(lián)數(shù)據(jù)的“標配”,也是關(guān)聯(lián)數(shù)據(jù)的基礎(chǔ)數(shù)據(jù)模型。RDF是領(lǐng)域無關(guān)的,適用于Web的簡單而抽象的數(shù)據(jù)模型。其采用三元組的形式表達兩個資源間的二元關(guān)系或一個資源的屬性。RDF三元組是在網(wǎng)絡(luò)上發(fā)布關(guān)聯(lián)數(shù)據(jù)最簡單便捷的形式[2]。
自關(guān)聯(lián)數(shù)據(jù)提出以來,它的研究和應(yīng)用一直是個熱點,涵蓋生命科學(xué)、地理信息、科學(xué)出版物、電影、音樂等眾多領(lǐng)域。在歐美國家,關(guān)聯(lián)數(shù)據(jù)已經(jīng)開始應(yīng)用于政府數(shù)據(jù)的開放,如美國的data.gov、英國的data.gov.uk已經(jīng)采用RDF格式發(fā)布數(shù)據(jù)集并提供SPARQL方式查詢。國內(nèi)第一個關(guān)聯(lián)開放數(shù)據(jù)項目——zhishi.me,把維基百科中國、百度百科、互動百科整合鏈接成一個知識庫,嘗試構(gòu)建中文通用知識圖譜[3]。文獻[4]借鑒國外圖書館MARC21轉(zhuǎn)換成RDF的成功做法,構(gòu)建CNMARC到RDF的映射實現(xiàn)進行了關(guān)聯(lián)數(shù)據(jù)在圖書館學(xué)的實踐嘗試[4]。文獻[5-8]對實現(xiàn)關(guān)聯(lián)數(shù)據(jù)需要解決的關(guān)鍵問題包括描述、數(shù)據(jù)管理、語義互操作等進行了探討。
從國內(nèi)外研究來看,現(xiàn)階段,數(shù)據(jù)集之間的關(guān)聯(lián)主要表現(xiàn)為各個數(shù)據(jù)集與 DBpedia、GeoNames 等少數(shù)核心資源集(HUB 資源)的鏈接,其他非 HUB 資源集之間的關(guān)聯(lián)相對比較少,數(shù)據(jù)集內(nèi)部實體間的關(guān)聯(lián)更加缺乏。其主要原因就是缺乏統(tǒng)一的關(guān)聯(lián)數(shù)據(jù)集描述規(guī)范和有效的數(shù)據(jù)集自動關(guān)聯(lián)方法。針對此,本文參考國內(nèi)外研究,從數(shù)據(jù)集外部基本信息、內(nèi)部屬性特征、關(guān)聯(lián)關(guān)系映射三方面設(shè)計關(guān)聯(lián)數(shù)據(jù)集描述模型,并采用語義相似度計算方法,綜合數(shù)據(jù)項特征,發(fā)現(xiàn)數(shù)據(jù)集語義關(guān)聯(lián),構(gòu)建具有映射關(guān)系的RDF數(shù)據(jù),實現(xiàn)的數(shù)據(jù)集的統(tǒng)一描述和內(nèi)外部鏈接。最后以“廣州市政府數(shù)據(jù)統(tǒng)一開放平臺”為例進行實驗,實現(xiàn)數(shù)據(jù)集的描述并建立鏈接關(guān)系。也為關(guān)聯(lián)數(shù)據(jù)技術(shù)在開放數(shù)據(jù)方面的實踐應(yīng)用提供借鑒價值。
構(gòu)建關(guān)聯(lián)數(shù)據(jù)的關(guān)鍵步驟就是對數(shù)據(jù)集進行描述。本文將數(shù)據(jù)集的描述分為外部描述(粗粒度描述)和內(nèi)部描述(細粒度描述)。描述模型除了包含數(shù)據(jù)集的數(shù)據(jù)特征信息之外,還需有描述數(shù)據(jù)集間的鏈接信息。數(shù)據(jù)集描述模型是應(yīng)用于關(guān)聯(lián)數(shù)據(jù)的開放與共享,采用RDF的標準數(shù)據(jù)格式及RDF/XML 描述語言,提供統(tǒng)一的數(shù)據(jù)描述,并根據(jù)的描述特征自動發(fā)現(xiàn)和映射有關(guān)系的其他數(shù)據(jù)集。
為了便于關(guān)聯(lián)數(shù)據(jù)在Web中共享和傳播,數(shù)據(jù)集描述模型的設(shè)計還要遵循一下三個原則:
(1) 盡可能地復(fù)用已有的詞匯表和術(shù)語(如DCAT、DC、FOAF、Geo等),減少詞匯異構(gòu)。
(2) 模型各部分描述能夠很好表述數(shù)據(jù)集信息特征。
(3) 必須符合SPARQL的查詢方式。
外部描述是用戶識別了解數(shù)據(jù)集內(nèi)容最為直接的方式。本文將外部描述分為數(shù)據(jù)集標識信息、數(shù)據(jù)集限制信息、數(shù)據(jù)集維護信息三類。數(shù)據(jù)集標識信息包括數(shù)據(jù)集標題、分類、摘要等基本信息;數(shù)據(jù)集限制信息包括許可說明、權(quán)限等訪問與使用有關(guān)的限制信息;數(shù)據(jù)集維護信息包括更新日期、更新頻率、維護方等信息?;趶?fù)用已有的詞匯表原則,本文將借鑒都柏林核心詞匯并結(jié)合其他相關(guān)詞匯,選用部分適用于關(guān)聯(lián)數(shù)據(jù)集的外部描述詞匯,如表1所示。
表1 關(guān)聯(lián)數(shù)據(jù)集外部描述選用的基本詞匯
內(nèi)部描述是描述數(shù)據(jù)集內(nèi)部數(shù)據(jù)屬性信息,目的在于用戶可以通過數(shù)據(jù)集描述信息直接了解到數(shù)據(jù)內(nèi)部結(jié)構(gòu),而且通過對數(shù)據(jù)集內(nèi)部描述,可以標記內(nèi)部實體屬性特征,便于辨別某些屬性間是否可能存在關(guān)聯(lián)。由于數(shù)據(jù)集內(nèi)部數(shù)據(jù)的描述尚未有可借鑒詞匯,本文來自定義新的詞匯DI(data item),用以描述數(shù)據(jù)集內(nèi)部屬性特征。例如:di:isLink作為數(shù)據(jù)集間關(guān)聯(lián)映射時對此字段是否要進行關(guān)聯(lián)匹配。比如:對于數(shù)量這類無概念數(shù)值就不用計算和其他本體的關(guān)聯(lián);對于學(xué)校、公司等名詞這類有實際意義的屬性需要進行關(guān)聯(lián)映射;對于身份證號、車牌號這類具有唯一標識的屬性,以di:isUnique為標記,來做更精準的關(guān)系判斷,以及一些來描述屬性信息的詞匯。表2為本文設(shè)計的數(shù)據(jù)集內(nèi)部描述詞匯。
表2 自定義數(shù)據(jù)集內(nèi)部描述詞匯
續(xù)表2
除了描述數(shù)據(jù)集信息的外部描述和內(nèi)部描述外,關(guān)聯(lián)數(shù)據(jù)集還需要關(guān)聯(lián)描述,目的在于描述數(shù)據(jù)集之間的關(guān)聯(lián)信息。鑒于關(guān)聯(lián)數(shù)據(jù)通常采用RDF數(shù)據(jù)形式,本文將數(shù)據(jù)集的關(guān)聯(lián)關(guān)系通過RDF三元組的來表示:主體為某一數(shù)據(jù)集資源或者內(nèi)部某一實體屬性值,謂詞用SKOS、OWL、VoID等表示關(guān)系的詞匯,賓語為另一數(shù)據(jù)集或者同數(shù)據(jù)集實體屬性值,以此來表述關(guān)聯(lián)關(guān)系。有些鏈接關(guān)系沒有明確指向,如owl:sameAs表示等同關(guān)系,主語和賓語可以互換,有些鏈接關(guān)系是不對稱的,如void: subjectsTarget用來說明主語鏈接指向。
完整的關(guān)聯(lián)數(shù)據(jù)集描述模型的設(shè)計要包括以上三個方面的描述,分別用來表示不同的數(shù)據(jù)集信息以及數(shù)據(jù)間的關(guān)系。
關(guān)聯(lián)發(fā)現(xiàn)是實現(xiàn)構(gòu)建關(guān)聯(lián)數(shù)據(jù)的關(guān)鍵步驟,本文借鑒文獻[9]中關(guān)聯(lián)層次分類,把數(shù)據(jù)集關(guān)聯(lián)分為外部關(guān)聯(lián)和內(nèi)部關(guān)聯(lián)。兩個數(shù)據(jù)集外部描述如標題、摘要、關(guān)鍵字等存在關(guān)聯(lián)關(guān)系即成為數(shù)據(jù)集外部關(guān)聯(lián)。數(shù)據(jù)集內(nèi)部數(shù)據(jù)存在實體關(guān)聯(lián)稱為數(shù)據(jù)集內(nèi)部關(guān)聯(lián)。數(shù)據(jù)集外部關(guān)聯(lián)和內(nèi)部關(guān)聯(lián)由于鏈接對象層次不同,不存在必然的聯(lián)系,卻更加豐富了數(shù)據(jù)集的聯(lián)系。大量的外部關(guān)聯(lián)和內(nèi)部關(guān)聯(lián)可以將眾多數(shù)據(jù)信息相互鏈接, 構(gòu)成關(guān)聯(lián)開放數(shù)據(jù)云LoD cloud(Linked open Data cloud)[10],進而形成數(shù)據(jù)網(wǎng) (Web of Data)[11]。
分析關(guān)聯(lián)數(shù)據(jù)相關(guān)技術(shù),語義相似度計算是目前計算資源間關(guān)聯(lián)度的比較常用的方法。所以本文基于設(shè)計的語義描述模型,綜合數(shù)據(jù)集的描述特征,采用語義相似度的計算方法,根據(jù)其語義相似度結(jié)果來判定數(shù)據(jù)集或內(nèi)部屬性間是否存在關(guān)聯(lián)。語義相似度的大小應(yīng)該是在區(qū)間 [0,1],相似度值越大,說明關(guān)聯(lián)程度越高,相似度為1可視為等同關(guān)系。
數(shù)據(jù)集標題、摘要、關(guān)鍵字、主題分類是表述一個數(shù)據(jù)集所述內(nèi)容的基本信息項。標題、摘要屬于長文本類型,對此類型數(shù)據(jù)項,首先進行分詞,轉(zhuǎn)為詞集。使用向量空間模型方法計算相似度。其語義相似度計算公式如下:
詞集1表示為D1,詞集2表示為D2,其中:
D1={w11,w12,…,w1n}
D2={w21,w22,…,w2n}
D1和D2的相似度:
(1)
這里把標題和摘要的相似度值分別記為Simt和Simd。
主題、關(guān)鍵字數(shù)據(jù)項屬于概念性詞匯,概念間的語義計算一般基于第三方語料庫或者領(lǐng)域本體計算相似關(guān)系。本文采用基于百度百科的詞語相似度計算方法進行此方面計算。此方法通過對百科名片、詞條正文、開放分類和相關(guān)詞條部分的相似度計算方法,對其再加權(quán)就得到整體的相似度結(jié)果,這里給出總體相似度計算公式[12]:
(2)
把主題和關(guān)鍵字的相似度值分別記為Simc和Simk。
外部描述的總體相似度值即為這四項加權(quán):
Simout=θtSimt+θdSimd+θcSimc+θkSimk
(3)
由于標題和摘要是描述數(shù)據(jù)集內(nèi)容主要數(shù)據(jù)項,其中θt和θd權(quán)重相對大一些,θc和θc權(quán)重相對小一些。θt+θd+θc+θk總和為1,具體權(quán)重賦值根據(jù)實驗結(jié)果調(diào)整優(yōu)化。
對于結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)集,還需進行內(nèi)部數(shù)據(jù)描述,數(shù)據(jù)集的內(nèi)部關(guān)聯(lián)也是建立在內(nèi)部描述的基礎(chǔ)上的。對于同一數(shù)據(jù)集或者不同數(shù)據(jù)集間內(nèi)部記錄的某些屬性實體值可能是表述同一對象,這里就要建立數(shù)據(jù)集的內(nèi)部關(guān)聯(lián)。
在內(nèi)部數(shù)據(jù)描述中,di:isLink表示此屬性是否需要實現(xiàn)關(guān)聯(lián),當為true時,要計算此屬性實體和其他屬性實體關(guān)聯(lián)度;為false時,可以不用計算此屬性的關(guān)聯(lián)。當di:isUnique為true時,表示此屬性為身份證、車牌號等唯一標識屬性,可以直接采用文本值比較的方法,判斷兩個實體是否一致,其相似度取值為只能為0或1。
當di:isUnique為false時,標識此屬性非唯一標識,需綜合此屬性的描述特征以及具體屬性值,判斷實體間是否相關(guān)。在內(nèi)部描述中有對此屬性信息的描述:name、type、description,這三項描述了此屬性的名稱(如產(chǎn)品名稱)、類型(如string)、說明(如本數(shù)據(jù)集的產(chǎn)品名稱是農(nóng)作物品種的學(xué)名)。
計算di:type的相似度,由于di:type為固定范圍取值,這里采用文本值比較計算方法,記為Sim1。屬性說明di:description部分,采用式(1)計算,記作Sim2。屬性名稱di:name采用式(1)計算,記作Sim3。對于屬性值,先進行詞性分析,對于詞性為長文本的屬性值采用式(1)計算相似度,對于概念性屬性值采用式(2)計算相似度,此部分記為Sim4。內(nèi)部關(guān)聯(lián)綜合相似度為:
Siminner=θ1Sim1+θ2Sim2+θ3Sim3+θ4Sim4
(4)
式中:θ1+θ2+θ3+θ4總和為1,屬性值作為整個屬性的關(guān)鍵特征,θ4應(yīng)該具有更高的權(quán)重,其他權(quán)重賦值根據(jù)實驗結(jié)果進行優(yōu)化調(diào)整。
本實驗數(shù)據(jù)來源于廣州市政府數(shù)據(jù)統(tǒng)一開放平臺,爬取了其中574個數(shù)據(jù)集,此數(shù)據(jù)量已經(jīng)占此平臺總數(shù)據(jù)集量的95%以上,實驗數(shù)據(jù)相對比較可靠。為了實現(xiàn)數(shù)據(jù)集的關(guān)聯(lián),并驗證本研究方法的有效性和科學(xué)性,本文設(shè)計了以下實驗流程:
(1) 搭建基于Java的Jena[13]框架,便于把讀取到的數(shù)據(jù)集轉(zhuǎn)換成RDF數(shù)據(jù)。
(2) 根據(jù)關(guān)聯(lián)數(shù)據(jù)集描述模型引入所需詞匯并創(chuàng)建自定義的DI詞匯。
(3) 讀取數(shù)據(jù)集及元數(shù)據(jù),參照描述模型,生成RDF數(shù)據(jù)。
(4) 根據(jù)內(nèi)外描述,利用上文關(guān)聯(lián)計算方法計算對應(yīng)項相似度,對于相似度值大于設(shè)定閾值的數(shù)據(jù)集或?qū)嶓w屬性建立關(guān)聯(lián)映射。
(5) 輸出關(guān)聯(lián)數(shù)據(jù)集的RDF/XML格式文件。
數(shù)據(jù)集的關(guān)聯(lián)發(fā)現(xiàn)流程如圖1所示。
圖1 數(shù)據(jù)集描述和關(guān)聯(lián)發(fā)現(xiàn)流程
考慮計算時數(shù)據(jù)項描述特征,數(shù)據(jù)集標題和內(nèi)部屬性值對語義相似度影響較大,所以權(quán)重應(yīng)該較大。又經(jīng)過多組權(quán)重實驗結(jié)果對比分析,式(3)中權(quán)重系數(shù)設(shè)為了θt∶θd∶θc∶θk=0.6∶0.2∶0.1∶0.1,式(4)權(quán)重系數(shù)設(shè)為θ1∶θ2∶θ3∶θ4=0.1∶0.1∶0.1∶0.7,其結(jié)果相對較好。當然,具體的賦值也可以根據(jù)實際實驗調(diào)整,進行優(yōu)化。表3是“廣州市高新技術(shù)企業(yè)名單”這一數(shù)據(jù)集與其他數(shù)據(jù)集外部關(guān)聯(lián)相似度計算結(jié)果。
表3 “廣州市高新技術(shù)企業(yè)名單”數(shù)據(jù)集
廣州市政府數(shù)據(jù)統(tǒng)一開放平臺未涉及到數(shù)據(jù)集內(nèi)部關(guān)聯(lián),并且未實現(xiàn)對內(nèi)部數(shù)據(jù)的檢索查詢。本實驗以數(shù)據(jù)集“廣州市農(nóng)藥使用品種推薦名錄”中“產(chǎn)品名稱”屬性和“廣州市地理標志產(chǎn)品一覽表”中的“作物”屬性計算兩數(shù)據(jù)集內(nèi)部具有關(guān)聯(lián)的實體的語義相似度,其結(jié)果如表4所示。
表4 數(shù)據(jù)集內(nèi)部數(shù)據(jù)的實體相似度計算結(jié)果
從實驗結(jié)果可以看出,對角線上的數(shù)值均在0.8以上,其產(chǎn)品也為對應(yīng)的作物的某一品種,兩個實體本身存在關(guān)聯(lián)關(guān)系。如“錢崗糯米糍”是“荔枝”的一個種類,根據(jù)本文方法計算的相似度為0.810 307,它們之間關(guān)聯(lián)程度比其他非對應(yīng)的作物產(chǎn)品相似度相對較高,可以驗證本方法實體間相似度計算的相對較為可靠。
以關(guān)聯(lián)數(shù)據(jù)形式發(fā)布數(shù)據(jù)是開放數(shù)據(jù)的未來發(fā)展趨勢。本文結(jié)合數(shù)據(jù)集外部描述、內(nèi)部描述和鏈接信息設(shè)計關(guān)聯(lián)數(shù)據(jù)集描述模型,并根據(jù)描述模型,提出基于語義相似度的數(shù)據(jù)集關(guān)聯(lián)發(fā)現(xiàn)方法,實現(xiàn)關(guān)聯(lián)數(shù)據(jù)的程序化創(chuàng)建轉(zhuǎn)換。相比其他研究,本文設(shè)計的描述模型為關(guān)聯(lián)數(shù)據(jù)集的開放共享提供了可借鑒的描述模型。其關(guān)聯(lián)方法不僅實現(xiàn)了數(shù)據(jù)集之間的基本描述層面的關(guān)聯(lián),還實現(xiàn)了數(shù)據(jù)集內(nèi)部數(shù)據(jù)屬性之間的關(guān)聯(lián),大大提高了數(shù)據(jù)信息的關(guān)聯(lián)程度。本文的研究雖然完成了一定的工作,但還有一些問題需要改進:其一數(shù)據(jù)集關(guān)聯(lián)由于要綜合多個數(shù)據(jù)項,隨著數(shù)據(jù)集的增多,計算量會暴漲,需要一個有效的計算框架。此外,各數(shù)據(jù)項相似度值的權(quán)重系數(shù)和綜合相似度閾值還需進行優(yōu)化,以提高關(guān)聯(lián)質(zhì)量。