何緋娟,劉文強,繆相林,許大煒
(1.西安交通大學城市學院,陜西 西安 710018; 2.西安交通大學 電子與信息工程學院,陜西 西安 710049)
關(guān)聯(lián)數(shù)據(jù)是語義網(wǎng)的一種實現(xiàn)形式,采用資源描述框架(resource description framework,RDF)模型對信息實體及其關(guān)系進行描述、發(fā)布與部署,從而為互聯(lián)網(wǎng)上智能化的應用提供支撐。關(guān)聯(lián)數(shù)據(jù)的核心是RDF模型,它是一種由主語(subject)、謂詞(predicate)、客體(object)構(gòu)成的三元組形式,其中主語采用統(tǒng)一資源標識符(uniform resource identifier,URI)描述Web上的信息實體,謂詞表示實體的屬性,客體則是屬性對應的值。例如,RDF三元組
關(guān)聯(lián)數(shù)據(jù)具有發(fā)布自由、獨立自治等特點,導致多個獨立維護的數(shù)據(jù)源對真實世界相同實體可能提供沖突的描述[1]。沖突的原因主要包括兩個方面:一是在一些數(shù)據(jù)源構(gòu)建中,采用了機器學習、自然語言處理等算法自動實現(xiàn)關(guān)聯(lián)數(shù)據(jù)生成,容易引入臟數(shù)據(jù);二是對數(shù)據(jù)更新時差的不同也會導致沖突問題。沖突問題嚴重影響關(guān)聯(lián)數(shù)據(jù)的可用性。
根據(jù)沖突出現(xiàn)位置的不同,可將RDF數(shù)據(jù)的沖突問題分為主語沖突、謂詞沖突和賓語沖突[2],分別對應RDF三元組的三個元素。其中,主語沖突或謂詞沖突是指不同RDF數(shù)據(jù)集為真實世界相同實體(主語)或?qū)傩?謂語)提供不同標識符。賓語沖突是指不同數(shù)據(jù)集為同一個主語的相同謂詞提供不同的值。例如,不同數(shù)據(jù)源對“Java語言的設計者”提供不同的值。DBpedia數(shù)據(jù)源認為Java語言的設計者是Sun公司和James Gosling,而Freebase認為只是James Gosling。
近年來,人們對關(guān)聯(lián)數(shù)據(jù)的沖突消解問題開展了一系列研究,文中將從主語、謂詞、賓語三個方面對沖突消解研究工作進行分析、總結(jié)與展望。
主語沖突消解也稱為實體共指消解(resolving entity coreference),旨在消除描述關(guān)聯(lián)數(shù)據(jù)中相同實體的標識符不一致問題。例如,DBpedia數(shù)據(jù)源的標識符“Beijing”和Freebase的“m.01914”都指代“北京”。目前,主語沖突消解主要有基于語義等價推理與基于屬性值相似度兩類方法[3]。
基于語義等價推理的方法主要利用網(wǎng)絡本體語言(ontology web language,OWL)推理不同實體標識符間的對象共指關(guān)系。OWL語言定義一組原語來描述關(guān)聯(lián)數(shù)據(jù)中類及類間關(guān)系。典型的原語包括:
(1)owl:sameAs原語。該原語通過三元組形式直接定義s和p指代相同的實體。然而實證分析表明,關(guān)聯(lián)數(shù)據(jù)中僅有51%的sameAs被正確使用[4];因而,單純基于sameAs有很大的局限性。
(2)反函數(shù)屬性(owl:InverseFunctionalProperty)原語。如果兩個實體具有相同的反函數(shù)屬性,如電子郵件地址(foaf:mbox),則指代相同的實體對象。例如,Nikolov等綜合owl:sameAs、owl:differentFrom等原語提出了一種共指消解模型[5]。
基于語義等價推理的方法能夠利用OWL的精確原語識別共指關(guān)系,準確率較高,但由于關(guān)聯(lián)數(shù)據(jù)中大量缺失這些OWL原語,導致召回率較低。
基于屬性值相似度計算方法通過比較實體標識符的屬性和屬性值來識別對象實現(xiàn)主語沖突消解,主要依據(jù)是相同的實體通常具有相同或者高度相似的屬性值對。例如,Wang等提出一種基于馬爾可夫隨機場的主語沖突消解方法[6],該方法通過計算描述不同標識符的多個屬性值間的相似度來實現(xiàn)主語沖突消解。基于屬性值相似度計算方法具有很強的適應性,但是難以確定合適的相似度閾值,且計算復雜度較高。
目前也有綜合兩種方法實現(xiàn)主語沖突消解的研究工作。例如,Hu等提出一種自訓練的共指消解識別方法[7]。該方法首先利用OWL語言識別出部分候選訓練集,進而基于相似度計算的方法擴展該訓練集,并過濾掉低可信度的訓練集,直至得出高可信度的共指關(guān)系集?;趦烧呓Y(jié)合的方法有助于提高主語沖突消解的準確率和召回率,但隨著關(guān)聯(lián)數(shù)據(jù)量的增加,計算開銷也急劇增加。
謂詞沖突消解又稱為本體匹配(ontology alignment),主要解決關(guān)聯(lián)數(shù)據(jù)源對同一實體的相同屬性采用不一致標識符的問題。例如,DBpedia數(shù)據(jù)源中表示“人口”為populationTotal,而Geoname數(shù)據(jù)源中則是population。目前,謂詞沖突消解方法主要包括基于相似度、基于結(jié)構(gòu)匹配以及基于實例三類方法。
基于相似度的方法利用兩個謂詞之間的文本相似度(如編輯距離、N-gram距離等)或詞義相似度(WordNet距離、層次距離等)挖掘兩個謂詞間關(guān)聯(lián),實現(xiàn)謂詞沖突消解。例如,Schadd與Roos利用詞匯在分類體系中的層次距離提出了一種詞匯相似性指標,并設計了一種基于該指標的謂詞沖突消解方法[8]。潘有能等提出了一種利用謂詞在WordNet中父子概念的相似度進行本體匹配的方法[9]。總體上,基于相似度的方法簡單、直接,但對謂詞表達形式依賴性大;此外,相似度計算函數(shù)的選擇也影響此類方法的性能。
基于結(jié)構(gòu)匹配的方法利用關(guān)聯(lián)數(shù)據(jù)本身或者本體的拓撲結(jié)構(gòu)來實現(xiàn)謂詞沖突消解。例如,Xiang等利用關(guān)聯(lián)數(shù)據(jù)圖結(jié)構(gòu),提出了一種基于隨機游走的相似度傳播算法實現(xiàn)謂詞沖突消解[10]。王穎等提出一種利用RDF圖結(jié)構(gòu)相似性進行本體匹配的方法[11]。清華大學也研制了謂詞匹配系統(tǒng)RiMOM[12],能夠綜合利用多種策略以及結(jié)構(gòu)、文本相似性進行謂詞沖突消解?;诮Y(jié)構(gòu)匹配的消解方法是相似度計算方法的擴展,通過拓撲結(jié)構(gòu)能夠有效提升匹配效率;但該類方法對結(jié)構(gòu)信息過于依賴,適應性較差。
基于實例的方法主要采用機器學習方法自動實現(xiàn)謂詞沖突消解。例如,Wang等在謂詞相似度、值的匹配程度等特征的基礎上,提出了一種基于分類的謂詞沖突消解方法,并在知識圖譜融合中取得了較好的效果[13]。蔣湛等從實例、結(jié)構(gòu)等維度計算每項特征的置信度,并提出基于特征自適應的本體映射方法[14]。這類方法適應性強,但是需要大量的人工標注數(shù)據(jù)。
賓語沖突消解用于消除不同關(guān)聯(lián)數(shù)據(jù)源相同實體的同一屬性的屬性值不一致的過程。例如,北京的總?cè)丝跀?shù)在關(guān)聯(lián)數(shù)據(jù)源Freebase和DBpedia上的數(shù)值分別是“20 180 000”和“21 516 000”。目前,賓語沖突消解可分為沖突避免和真值發(fā)現(xiàn)(truth discovery)兩類方法。
沖突避免方法采用人工預設規(guī)則避免沖突。例如,Mendes等提出了一種關(guān)聯(lián)數(shù)據(jù)質(zhì)量評估框架Sieve[15],該框架指定特定數(shù)據(jù)源的值是可信值,以此解決屬性值的不一致問題。部分研究也采用少數(shù)服從多數(shù)的投票策略,即把出現(xiàn)次數(shù)最多的屬性值作為最可信的值。這類方法的主要缺陷是認為每個數(shù)據(jù)源的權(quán)威值是相同且固定的,這與實際不符。
真值發(fā)現(xiàn)方法根據(jù)數(shù)據(jù)特點、拓撲結(jié)構(gòu)等特征識別出特定實體特定屬性最可能的數(shù)值,據(jù)此消除賓語沖突。真值發(fā)現(xiàn)進一步可分為基于迭代、基于最優(yōu)化以及基于概率圖三類方法。
基于迭代的方法主要利用數(shù)據(jù)源權(quán)威性與數(shù)據(jù)可信性相互依賴的特點,迭代推導出實體屬性的真值。例如,Dong等采用類似Authority-Hub迭代機制,提出了一種基于貝葉斯推斷的真值發(fā)現(xiàn)算法[16]。馬如霞等提出一種基于數(shù)據(jù)源分類可信性的真值發(fā)現(xiàn)算法,該算法采用基于貝葉斯的方法迭代計算數(shù)據(jù)源分類可靠性和屬性值準確性[17]。
基于最優(yōu)化的方法主要是通過優(yōu)化損失函數(shù),逐步縮短沖突值與真值間的距離,進而發(fā)現(xiàn)真值。例如,Li等提出了一種真值發(fā)現(xiàn)優(yōu)化框架,該框架把數(shù)據(jù)可信性與數(shù)據(jù)源權(quán)威性作為優(yōu)化函數(shù)的兩個變量,提高真值發(fā)現(xiàn)的準確性[18]。陳超等提出了一種基于距離的異構(gòu)數(shù)據(jù)聯(lián)合真值發(fā)現(xiàn)算法,該算法采用最優(yōu)化策略更新數(shù)據(jù)可信度和數(shù)據(jù)源的類簇內(nèi)可靠性[19]。
基于概率圖的方法把數(shù)據(jù)源權(quán)威性與數(shù)據(jù)可信性看作0到1之間的概率,利用概率圖模型推斷實體屬性的真值。例如,Zhao等提出了一種基于概率圖的真值發(fā)現(xiàn)算法[20],該算法把數(shù)據(jù)源的權(quán)威性定義為敏感度與特異性兩個變量,并以此構(gòu)建了真值發(fā)現(xiàn)概率圖模型框架。
基于迭代的方法適應性強,但需要較多的迭代次數(shù),時間復雜度較高?;谧顑?yōu)化的方法過于依賴訓練集,且由于關(guān)聯(lián)數(shù)據(jù)更新速度快,易引發(fā)訓練集和測試集間的分布不一致問題,造成模型的欠擬合?;诟怕蕡D的方法正確率高,但計算復雜。
目前,在關(guān)聯(lián)數(shù)據(jù)沖突消解方面,對于主語與謂詞的沖突消解問題,國內(nèi)外已開展了大量研究,已具有較成熟的算法與軟件系統(tǒng)。但是,對于賓語的沖突消解問題,目前仍然面臨多值沖突、時變數(shù)據(jù)、數(shù)據(jù)拷貝等挑戰(zhàn)性問題。后續(xù)的研究方向主要包括:
(1)關(guān)聯(lián)數(shù)據(jù)中的多值沖突問題。關(guān)聯(lián)數(shù)據(jù)的某些屬性本身就有很多正確值,比如圖書的作者?,F(xiàn)有賓語沖突消解算法只考慮了關(guān)聯(lián)數(shù)據(jù)中單值沖突問題。未來一個有前景的研究方向是借助概率圖模型或者深度學習算法研究多值沖突消解問題。
(2)關(guān)聯(lián)數(shù)據(jù)的拷貝問題。數(shù)據(jù)源之間存在大量的隱含拷貝關(guān)系,這類關(guān)系妨礙了對數(shù)據(jù)源可信性的判別,如何識別并利用拷貝關(guān)系是提高賓語沖突消解算法性能的關(guān)鍵。
(3)關(guān)聯(lián)數(shù)據(jù)的表示學習模型。以深度學習為代表的表示學習技術(shù)旨在將關(guān)聯(lián)數(shù)據(jù)中的實體和屬性表示成低維稠密的向量。但是由于不同的關(guān)聯(lián)數(shù)據(jù)源采用不同的標識符來表示相同的實體和屬性,這給關(guān)聯(lián)數(shù)據(jù)的表示學習帶來了挑戰(zhàn)。
隨著關(guān)聯(lián)數(shù)據(jù)源的數(shù)量及數(shù)據(jù)規(guī)模的快速增長,關(guān)聯(lián)數(shù)據(jù)的沖突問題愈發(fā)嚴重,成為制約其可用性的關(guān)鍵因素。文中根據(jù)關(guān)聯(lián)數(shù)據(jù)的RDF三元組結(jié)構(gòu),從主語、謂詞、賓語三個方面對近年來在關(guān)聯(lián)數(shù)據(jù)沖突消解方面的研究工作進行了歸類分析,系統(tǒng)總結(jié)了各類沖突消解方法的優(yōu)缺點。最后,重點總結(jié)了賓語沖突消解存在的問題,給出了關(guān)聯(lián)數(shù)據(jù)的多值沖突、拷貝、表示學習三個具有挑戰(zhàn)性的研究方向。