曹建軍,常 宸,2,翁年鳳,陶嘉慶,3,江 春
(1.國防科技大學第六十三研究所,江蘇 南京 210007;2.陸軍工程大學指揮控制工程學院,江蘇 南京 210007; 3.南京工業(yè)大學工業(yè)工程系,江蘇 南京 210009)
如今,數(shù)據(jù)在各行各業(yè)中發(fā)揮著越來越重要的作用,但數(shù)據(jù)中存在的各種問題也日益凸顯。由于缺乏有效的控制手段,不同互聯(lián)網(wǎng)平臺提供的數(shù)據(jù)質(zhì)量存在差異,錯誤、過時、不完整數(shù)據(jù)的存在導致多個網(wǎng)站針對同一實體的描述存在沖突[1]。這里的沖突是指不同數(shù)據(jù)集對同一實體具有不一致的描述[2]。例如,不同網(wǎng)站對同一地點同一天的天氣情況提供不同的信息,各圖書網(wǎng)站為同一書籍提供不同的作者信息等。這些不一致信息可能來源于信息錄入錯誤、語義理解偏差和數(shù)據(jù)抽取錯誤等。低質(zhì)量的沖突數(shù)據(jù)可能會導致錯誤的分析決策和預測,對效益產(chǎn)生巨大的影響[3]。因此,解決數(shù)據(jù)沖突問題格外關鍵且迫在眉睫。真值發(fā)現(xiàn)研究如何從多個數(shù)據(jù)源提供的多個對象的沖突描述中為每一個對象找出最準確的描述[4]。
傳統(tǒng)真值發(fā)現(xiàn)方法分為基于迭代的方法、基于優(yōu)化的方法和基于概率圖模型的方法。這幾類方法假設數(shù)據(jù)源可靠度與觀測值可信度之間的關系可用簡單函數(shù)表示,通過人工定義迭代規(guī)則或假設數(shù)據(jù)分布進行真值發(fā)現(xiàn)。而實際上,數(shù)據(jù)源可靠度和觀測值可信度之間的關系通常是未知的,簡單函數(shù)不足以表達這種復雜的關系,同時人工定義的條件難以反映數(shù)據(jù)的真實底層分布,導致真值發(fā)現(xiàn)的結(jié)果準確性不高。近年來,神經(jīng)網(wǎng)絡被應用到與真值發(fā)現(xiàn)類似的場景中,有學者利用神經(jīng)網(wǎng)絡學習數(shù)據(jù)源可靠度與觀測值可信度之間的關系,提高了真值發(fā)現(xiàn)的效率和穩(wěn)定性,但僅適用于二值屬性的真值發(fā)現(xiàn),不適用于沖突消解的一般場景。
與傳統(tǒng)真值發(fā)現(xiàn)方法不同,本文首先基于經(jīng)常提供相同觀測值的數(shù)據(jù)源應具備相似可靠度的假設,提出 “數(shù)據(jù)源-數(shù)據(jù)源”損失;基于可靠數(shù)據(jù)源更可能提供可信觀測值的假設,提出“數(shù)據(jù)源-觀測值”損失。之后,設計雙損失深度網(wǎng)絡模型,對數(shù)據(jù)源可靠度與觀測值可信度進行編碼。網(wǎng)絡優(yōu)化過程一方面使可靠的數(shù)據(jù)源與可信的觀測值在嵌入空間接近,另一方面使可靠的數(shù)據(jù)源在嵌入空間也彼此接近,并與不可靠的數(shù)據(jù)源遠離。最后,利用數(shù)據(jù)源與觀測值的高維嵌入空間進行真值發(fā)現(xiàn)。
與傳統(tǒng)方法相比,本文利用神經(jīng)網(wǎng)絡表達數(shù)據(jù)源可靠度與觀測值可信度間復雜的關系,避免了人工定義和假設數(shù)據(jù)分布對真值發(fā)現(xiàn)結(jié)果的影響,更準確地捕捉數(shù)據(jù)源與觀測值間的依賴關系。同時,利用向量表達數(shù)據(jù)源可靠度與觀測值可信度較實數(shù)更準確。與近期提出的基于神經(jīng)網(wǎng)絡的方法相比,所提方法TDNNE(Truth Discovery based on Neural Network Encoding)適用于真值發(fā)現(xiàn)的一般場景。實驗結(jié)果也表明該方法優(yōu)于已知真值發(fā)現(xiàn)方法。
針對結(jié)構化數(shù)據(jù)的真值發(fā)現(xiàn),一種簡單直接的方法是進行投票或取平均,這種方法假設所有數(shù)據(jù)源同樣可靠。然而在大多數(shù)情況下這種假設可能不成立,不同來源的信息質(zhì)量可能差異很大。真值發(fā)現(xiàn)方法通過估計數(shù)據(jù)源可靠度來提高沖突消解的準確性。由于實際中往往缺乏數(shù)據(jù)源質(zhì)量的先驗知識,數(shù)據(jù)源信息需要從已知數(shù)據(jù)中挖掘[5,6]?,F(xiàn)階段,已有真值發(fā)現(xiàn)方法將數(shù)據(jù)源可靠度估計與真值發(fā)現(xiàn)過程緊密結(jié)合,設計不同的真值發(fā)現(xiàn)模型以適應不同的沖突消解場景,從不同數(shù)據(jù)源提供的沖突信息中找到正確信息。
Yin等人[4]首先提出了真值發(fā)現(xiàn)的概念,并給出了TruthFinder算法。該算法基于2個假設:(1)越可靠的數(shù)據(jù)源提供的事實越可信;(2)提供越多可信事實的數(shù)據(jù)源越可靠。該假設綜合考慮了數(shù)據(jù)源的真實性與其所提供的所有觀測值的準確性。眾多學者基于此假設提出了不同的真值發(fā)現(xiàn)方法,可概括為基于迭代的方法、基于優(yōu)化的方法、基于概率圖模型的方法和基于神經(jīng)網(wǎng)絡的方法4類。
基于迭代的方法[7,8]將真值發(fā)現(xiàn)過程設計為迭代過程,利用簡單函數(shù)假設數(shù)據(jù)源與觀測值間的關系,迭代進行真值計算步驟和數(shù)據(jù)源可靠度估計,直至收斂。以文獻[8]為例,真值計算過程中,固定數(shù)據(jù)源可靠度,以加權投票的方式計算真值,同時數(shù)據(jù)源可靠度則由本次迭代真值計算得到。
基于優(yōu)化的方法[9 - 11]假設對象的真值情況應該盡可能與各數(shù)據(jù)源提供的觀測值接近,數(shù)據(jù)源質(zhì)量越高,則其提供的對象屬性集合與真值集合越相似。該方法通過設置目標函數(shù)來進行真值發(fā)現(xiàn),將真值發(fā)現(xiàn)問題轉(zhuǎn)化為優(yōu)化問題求解。通常,基于優(yōu)化的方法使用坐標下降法[12]來計算目標函數(shù)中數(shù)據(jù)源可靠度與觀測值可信度2個參數(shù)。通過固定一個參數(shù)的值,尋找另一個參數(shù)的最優(yōu)值,迭代地執(zhí)行真值計算步驟和數(shù)據(jù)源可靠度估計步驟,直到收斂,這與基于迭代的方法類似。
基于概率圖模型的方法[13 - 16]假設觀測值服從概率分布,通過采樣和參數(shù)估計的方法估計真值,若假設的概率分布不能反映數(shù)據(jù)的真實分布,將導致真值發(fā)現(xiàn)結(jié)果不理想。
傳統(tǒng)的真值發(fā)現(xiàn)方法假設數(shù)據(jù)源可靠度和觀測值可信度之間的關系可以通過函數(shù)(如線性函數(shù)和二次函數(shù)等)來表示。而實際上,數(shù)據(jù)源可靠度和觀測值可信度之間的關系通常是先驗未知的,簡單假設將會導致真值發(fā)現(xiàn)的結(jié)果并不理想。Marshall等人[17]首次將神經(jīng)網(wǎng)絡應用到真值發(fā)現(xiàn)問題中,利用前饋神經(jīng)網(wǎng)絡解決社會感知問題,但這種方法需要人工標記部分對象,無法進行無監(jiān)督的學習,且僅適用于網(wǎng)絡觀測值是否為真的判斷,不適用于真值發(fā)現(xiàn)的一般場景。文獻[18-19]利用受限玻爾茲曼機隱含層學習數(shù)據(jù)源可靠度分布,采用對比散度算法(Contrastive Divergence)訓練模型參數(shù)[20],通過吉布斯采樣,達到了較好的擬合效果。但是,由于受限玻爾茲曼機本身的局限性,也僅適用于屬性為二值的真值發(fā)現(xiàn)場景。之后,Li等人[21]利用長短時記憶神經(jīng)網(wǎng)絡進行真值發(fā)現(xiàn),以不同數(shù)據(jù)源提供的“對象-屬性-值”矩陣與數(shù)據(jù)源可靠度矩陣的乘積作為輸入,以各個觀測值作為真值的概率作為輸出,通過最小化真值與各數(shù)據(jù)源觀測值之間的距離來優(yōu)化網(wǎng)絡參數(shù)。該模型首次利用比實數(shù)具有更好的表示能力的向量來表示數(shù)據(jù)源可靠度,將數(shù)據(jù)源的可靠度視為潛在的背景知識,并存儲在可靠度矩陣中用來計算觀測值的可信度。
總結(jié)以上幾類真值發(fā)現(xiàn)方法,首先,基于迭代的方法由于人工設置迭代規(guī)則,具備較好的可解釋性,以方法Investment[8]為例,數(shù)據(jù)源將其可靠度“投資”在其提供的觀測值上,同時從識別真值中收獲可靠度,而其余3種方法則通過梯度下降或參數(shù)估計的方法獲得真值,可解釋性相對較差[22]。另一方面,有關數(shù)據(jù)源的先驗知識對于真值發(fā)現(xiàn)結(jié)果的提升至關重要,在基于優(yōu)化的方法中,先驗知識可以被定義為額外的等式或不等式約束,而在基于概率圖模型的方法中,先驗知識可幫助模型中的超參數(shù)獲得更多的額外信息。基于迭代、優(yōu)化和概率圖模型的真值發(fā)現(xiàn)方法由于簡單假設數(shù)據(jù)分布或數(shù)據(jù)源觀測值間依賴關系,常常不能準確地描述數(shù)據(jù)的底層分布,導致真值發(fā)現(xiàn)結(jié)果不理想。
針對真值發(fā)現(xiàn)問題,學者們通過考慮影響真值發(fā)現(xiàn)的各種因素及不同的應用場景進行了一系列相關研究。表1所示為不同真值發(fā)現(xiàn)場景的特點及其所需解決的問題的對比分析。
Table 1 Comparative analysis of the features and problems in different truth discovery scenarios表1 不同真值發(fā)現(xiàn)場景的特點及其問題對比分析
2.2.1 數(shù)據(jù)流
在數(shù)據(jù)流應用方面,Li等人[23]研究了數(shù)據(jù)流上的真值發(fā)現(xiàn),將真值發(fā)現(xiàn)問題中最常見的最優(yōu)化模型近似轉(zhuǎn)化為概率模型,提出能隨著新數(shù)據(jù)的加入而動態(tài)更新實體真實性和數(shù)據(jù)源權重的增量真值發(fā)現(xiàn)框架。李天義等人[24]等人針對感知數(shù)據(jù)流上的連續(xù)真值發(fā)現(xiàn)問題進行了研究,通過結(jié)合感知數(shù)據(jù)本身及其應用特點,定義并研究了當感知數(shù)據(jù)流真值發(fā)現(xiàn)的相對誤差和累積誤差較小時,相鄰時刻數(shù)據(jù)源的可信度變化需要滿足的條件,進而給出了一種概率模型,以預測數(shù)據(jù)源的可信度滿足該條件的概率,在保證真值發(fā)現(xiàn)結(jié)果達到用戶給定精度的同時提高了效率。Ouyang等人[25]針對大規(guī)模流數(shù)據(jù),利用MapReduce框架設計了一種并行可增量的真值發(fā)現(xiàn)算法,并行算法能有效地在大型數(shù)據(jù)集中發(fā)現(xiàn)真值,流算法能處理增量的數(shù)據(jù)。
2.2.2 群智感知
在群智感知中,真值發(fā)現(xiàn)是指通過聚合有用的感知數(shù)據(jù)來推斷真實信息,同時從收集到的感知數(shù)據(jù)中估計用戶可靠性的過程。Yang等人[26]針對群智感知數(shù)據(jù)流,將質(zhì)量評估與貨幣激勵相結(jié)合,設計了一種無監(jiān)督的學習方法來量化用戶的數(shù)據(jù)質(zhì)量和長期的聲譽,并利用一個離群的檢測技術來過濾異常的數(shù)據(jù)項。此外,還將盈余分享的過程建模為一種合作博弈,并提出了一種基于Shapley值的方法來確定每個用戶的支付。通過這個質(zhì)量相關的支付方案,可以防止“搭便車”的問題,也可以激勵用戶提供高質(zhì)量的數(shù)據(jù)。Zheng等人[27]考慮了群智感知的隱私方面,提供了自定義和低開銷的協(xié)議,通過估算用戶的可靠性和隱私保護來推斷真實信息。此外,還提出了一種基于同態(tài)加密的替代設計,它利用雙服務器模型來保持用戶端的效率,以進一步提高協(xié)議在大規(guī)模人群感知應用中的可用性。Huang等人[28]引入時間敏感性,并用最大期望估計來確定描述準確性和數(shù)據(jù)源可信度。Miao等人[29]則通過設計一個輕量型的真值發(fā)現(xiàn)架構,建立新的真值發(fā)現(xiàn)方案,解決最大似然估計問題,同時確定聲明的正確性和數(shù)據(jù)源可靠性,不僅保護了感知數(shù)據(jù)和用戶可靠的信息,還減少了開支。
2.2.3 文本數(shù)據(jù)
針對文本數(shù)據(jù)真值發(fā)現(xiàn),目前大部分學者對問題進行了簡化,對文本數(shù)據(jù)進行粗粒度的分析,只能對社交媒體或其他網(wǎng)絡資源中文本數(shù)據(jù)進行是否為真的判斷,將問題簡化為二值屬性的真值發(fā)現(xiàn)問題。Popat等人[30]構建“數(shù)據(jù)源-語言風格”輸入向量作為輸入,通過Logistic回歸,將真值發(fā)現(xiàn)問題轉(zhuǎn)化為二分類問題;Broelemann等人[18,19]利用受限玻爾茲曼機隱含層學習真值概率分布,由于受限玻爾茲曼機本身特性,也只能用于二值屬性的真值發(fā)現(xiàn);Marshall等人[17]利用全連接神經(jīng)網(wǎng)絡學習數(shù)據(jù)源可靠度與觀測值可信度間的關聯(lián)關系,同樣將用戶答案抽象為0/1這2類,并輸入網(wǎng)絡進行真值發(fā)現(xiàn)。對于一般意義下的真值發(fā)現(xiàn),文獻[31]首先將文本信息引入到真值發(fā)現(xiàn)過程中,并提出了細粒度的非結(jié)構化數(shù)據(jù)真值模型。Ma等人[32]提出了一個概率圖模型,以無監(jiān)督發(fā)現(xiàn)藥物的真正副作用。 對于一般意義的文本數(shù)據(jù)真值發(fā)現(xiàn),Zhang等人[33]將文本的語義信息完全融合到真值發(fā)現(xiàn)的過程中,并提出了一種從眾包用戶中發(fā)現(xiàn)可信賴答案的方法。然而,該方法只能處理答案較短的情況,不能應用于大多數(shù)文本數(shù)據(jù)真值發(fā)現(xiàn)場景。在此基礎上,Li等人[34]將從特定問題的答案中提取的關鍵詞組合成多個可解釋的因子,并使用基于概率圖模型的方法進行真值發(fā)現(xiàn),以找到值得信賴的答案。
本文主要研究結(jié)構化數(shù)據(jù)真值發(fā)現(xiàn)問題,設計雙損失網(wǎng)絡對數(shù)據(jù)源及觀測值進行編碼,利用神經(jīng)網(wǎng)絡自動挖掘數(shù)據(jù)源與觀測值之間的關聯(lián)度。下面介紹結(jié)構化數(shù)據(jù)真值發(fā)現(xiàn)問題及相關定義。
如表2所示為8個網(wǎng)站關于同一航班AA-1223-DFW-DEN提供的不一致的相關信息。首先每個網(wǎng)站提供的航班信息均有所缺失,同時多個數(shù)據(jù)源提供的航班信息之間存在沖突。
Table 2 Information of flight AA-1223-DFW-DEN表2 航班AA-1223-DFW-DEN的相關信息
本文研究的問題描述如下:給定對象集合E={ei|i=1,2,…,Q},其中Q是對象數(shù)量,ei表示第i個對象;數(shù)據(jù)源集合S={sj|j=1,2,…,M},數(shù)據(jù)源提供對象的描述信息,sj表示第j個數(shù)據(jù)源,M表示數(shù)據(jù)源數(shù)量;對象ei的觀測值集合Ci={cik|k=1,2,…,N},其中cik表示對象ei第k個觀測值,N表示該對象觀測值數(shù)量;ci*表示對象ei的真值。
本文解決在不進行人工標注的情況下,從多個數(shù)據(jù)源提供的多源沖突觀測值中找到對象信息的真值,即給定對象集合E及提供其描述的數(shù)據(jù)源集合S,評估數(shù)據(jù)源質(zhì)量,找出各個對象對應的真值。
本節(jié)介紹數(shù)據(jù)源觀測值編碼過程,根據(jù)所提編碼假設,目標嵌入空間如圖1所示。圖1中不同填充內(nèi)容的點分別表示不同數(shù)據(jù)源可靠度編碼與觀測值可信度編碼在嵌入空間中的位置。首先,對于不同數(shù)據(jù)源,設計“數(shù)據(jù)源-數(shù)據(jù)源”損失,使得可靠度相似的數(shù)據(jù)源在嵌入空間也彼此接近;對于觀測值,設計“數(shù)據(jù)源-觀測值”損失,使得觀測值可信度向量在嵌入空間與其數(shù)據(jù)源接近。通過將數(shù)據(jù)源與觀測值間的關系嵌入到高維空間,充分挖掘數(shù)據(jù)源觀測值間的信息,基于此空間完成真值發(fā)現(xiàn)。
Figure 1 Illustration of objective embedding space圖1 目標嵌入空間示意圖
4.1.1 “數(shù)據(jù)源-數(shù)據(jù)源”損失
基于經(jīng)常提供相同觀測值的數(shù)據(jù)源應具備相似可靠度的假設,設計“數(shù)據(jù)源-數(shù)據(jù)源”損失,對數(shù)據(jù)源進行編碼。設數(shù)據(jù)源si和sj的嵌入向量分別為ui∈Rd和uj∈Rd,其中d表示數(shù)據(jù)源嵌入向量的維度,ui和uj分別表示數(shù)據(jù)源si和sj的可靠度。
首先,定義數(shù)據(jù)源的聯(lián)合概率qij如式(1)所示:
(1)
其中,dis(ui,uj) 表示嵌入向量ui與uj規(guī)范化后的余弦距離,用式(2)計算:
(2)
聯(lián)合概率qij越大,則數(shù)據(jù)源si和sj的可靠度越相似,qij服從伯努利分布,數(shù)據(jù)源si和sj提供相同觀測值的概率為qij,提供不同觀測值的概率為1-qij。然后,定義nij為數(shù)據(jù)源si和sj提供相同觀測值的個數(shù),在給定聯(lián)合概率qij條件下,產(chǎn)生nij的條件概率如式(3)所示:
(3)
通過最大化條件概率,可靠度相似的數(shù)據(jù)源將在嵌入空間接近,最終定義“數(shù)據(jù)源-數(shù)據(jù)源”損失函數(shù)LSS如式(4)所示:
(4)
LSS損失函數(shù)衡量數(shù)據(jù)源的實際可靠度與其所在嵌入空間中的位置是否一致,LSS越小,則數(shù)據(jù)源可靠度編碼越準確。
4.1.2 “數(shù)據(jù)源-觀測值”損失
基于可靠數(shù)據(jù)源更可能提供可信觀測值,不可靠數(shù)據(jù)源更可能提供錯誤觀測值的假設,設計“數(shù)據(jù)源-觀測值”損失,對觀測值進行編碼。設觀測值cik的嵌入向量為vik∈Rd,表示對象ei的觀測值cik的可信度,d表示觀測值向量的維度,與數(shù)據(jù)源向量維度相同。
首先,對于對象ei,定義觀測值cik由數(shù)據(jù)源sj提供的條件概率如式(5)所示:
(5)
其中,dis(vik,uj)表示嵌入向量vik與uj規(guī)范化后的余弦距離,嵌入向量vik與uj越相似,則其值越小,用式(6)計算:
(6)
p(cik|sj)服從多項式分布,其分母包含對象ei的全部觀測值,能夠模擬從數(shù)據(jù)源集合S中產(chǎn)生對象觀測值的過程,符合真值發(fā)現(xiàn)觀測值間可能存在沖突的特性。另一方面,p(cik|sj)越大,觀測值cik和數(shù)據(jù)源sj的嵌入向量越相似,與假設可靠數(shù)據(jù)源通常提供可信觀測值,不可靠數(shù)據(jù)源經(jīng)常提供低可信度觀測值的假設一致。
通過最大化條件概率,使可靠的數(shù)據(jù)源與可信觀測值在嵌入空間接近(反之,不可靠的數(shù)據(jù)源與不可信的觀測值在嵌入空間遠離),最終定義“數(shù)據(jù)源-觀測值”損失函數(shù)LSC如式(7)所示:
(7)
(8)
LSC損失函數(shù)衡量觀測值可信度與其數(shù)據(jù)源可靠度是否一致,LSC越小,觀測值可信度編碼越準確。
4.1.3 雙損失編碼網(wǎng)絡
結(jié)合“數(shù)據(jù)源-數(shù)據(jù)源”損失和“數(shù)據(jù)源-觀測值”損失雙損失,網(wǎng)絡模型最終損失函數(shù)如式(9)所示:
L=LSS+LSC
(9)
基于式(9),設計如圖2所示的雙路雙損失神經(jīng)網(wǎng)絡分別對數(shù)據(jù)源與觀測值進行編碼。整個編碼網(wǎng)絡由3部分構成:第1層為輸入層,對數(shù)據(jù)源與觀測值編碼進行初始化輸入;第2層為編碼層,利用前饋神經(jīng)網(wǎng)絡對數(shù)據(jù)源可靠度與觀測值可信度進行編碼;第3層為輸出層,輸出嵌入空間編碼和相似度矩陣。
Figure 2 Illustration of proposed model圖2 模型框架示意圖
(1)第1層。該層為輸入層,數(shù)據(jù)源編碼網(wǎng)絡輸入樣本為M×d的輸入矩陣,其中M表示數(shù)據(jù)源數(shù)量,d表示數(shù)據(jù)源可靠度向量的維度;觀測值編碼網(wǎng)絡輸入樣本為(Q×M)×d的輸入矩陣,其中Q表示樣本數(shù)量,d表示觀測值可信度向量的維度。
(2)第2層。該層為編碼層,主要是對數(shù)據(jù)源可靠度向量與觀測值可信度向量進行編碼,構造用于真值發(fā)現(xiàn)的數(shù)據(jù)源觀測值嵌入空間。該層與輸入層進行連接,并且前后都是全連接。編碼層第1個隱含層的節(jié)點個數(shù)為d。
(3)第3層。該層為輸出層,節(jié)點個數(shù)為d。數(shù)據(jù)源編碼網(wǎng)絡輸出樣本為M×d的輸出矩陣,得到“數(shù)據(jù)源-數(shù)據(jù)源”相似度矩陣。對于觀測值編碼,將其輸出與數(shù)據(jù)源編碼網(wǎng)絡的輸出矩陣計算得到“數(shù)據(jù)源-觀測值”相似度矩陣。
最后綜合數(shù)據(jù)源編碼網(wǎng)絡與觀測值編碼網(wǎng)絡的輸出,利用式(9)計算編碼損失,對雙路前饋神經(jīng)網(wǎng)絡的參數(shù)進行優(yōu)化,得到最終的數(shù)據(jù)源觀測值嵌入空間。
4.1.4 雙損失編碼網(wǎng)絡的學習過程
神經(jīng)網(wǎng)絡編碼層的訓練過程采用的是反向傳播算法。輸入原始數(shù)據(jù)即數(shù)據(jù)源可靠度與觀測值可信度初始化向量,通過雙路神經(jīng)網(wǎng)絡先各自前向計算各神經(jīng)元的激活值,得到數(shù)據(jù)源可靠度編碼與觀測值可信度編碼,然后綜合2路編碼信息,反向計算雙損失;同時對誤差求各個權值和偏置的梯度,并據(jù)此調(diào)整前饋神經(jīng)網(wǎng)絡中各個權值和偏差,得到最終的數(shù)據(jù)源可靠度與觀測值可信度嵌入空間。
(10)
其中,ReLU(Rectified Linear Unit)是修正線性單元激活函數(shù),能夠?qū)⒎蔷€性特性引入到編碼網(wǎng)絡中,同時有效防止梯度彌散,提升收斂速度。
在網(wǎng)絡的訓練過程中,使用全部的觀測值作為訓練數(shù)據(jù),無監(jiān)督訓練網(wǎng)絡參數(shù),得到最終的嵌入空間。
通過雙損失神經(jīng)網(wǎng)絡編碼,將數(shù)據(jù)源與觀測值嵌入到高維空間,嵌入向量分別代表數(shù)據(jù)源可靠度與觀測值可信度,同時可靠度相似的數(shù)據(jù)源與可信度相似的觀測值在嵌入空間接近。通過投票機制,選擇得票數(shù)最高的觀測值對應的多個嵌入向量的均值作為“參考真值”向量,如對于對象ei,其參考真值v′i*由式(11)計算得到:
(11)
其中,vir(i=1,2,…,L)表示通過投票機制產(chǎn)生的最高票數(shù)觀測值對應的多個嵌入向量,L表示提供該值的數(shù)據(jù)源的個數(shù)。本文定義該對象真值為距離“參考真值”最近的觀測值,如式(12)所示:
vi*=arg mink(dis(vik,v′i*))
(12)
與簡單投票不同,TDNNE將數(shù)據(jù)源可靠度估計與真值發(fā)現(xiàn)過程相結(jié)合,以嵌入空間為基礎,將數(shù)據(jù)源間的相似度編碼為數(shù)據(jù)源相對可靠度,提高真值發(fā)現(xiàn)過程的準確性。
本節(jié)通過在真實數(shù)據(jù)集上進行實驗,驗證TDNNE方法的有效性與準確性。首先,將本文所提方法TDNNE與傳統(tǒng)真值發(fā)現(xiàn)方法及基于神經(jīng)網(wǎng)絡的真值發(fā)現(xiàn)方法進行對比,驗證該方法的有效性和優(yōu)越性。然后,研究學習率對所提方法的影響。最后對嵌入空間進行可視化,直觀展示編碼產(chǎn)生的數(shù)據(jù)源可靠度與觀測值可信度。
本文使用TensorFlow框架實現(xiàn)網(wǎng)絡并進行訓練,CPU為Intel Xeon E5-2630,內(nèi)存為192 GB,GPU為NVIDIA Tesla P40×2,采用CentOS 7 64位操作系統(tǒng)。
本文在真實數(shù)據(jù)集Weather和Flight(http://da.qcri.org/dafna/#/dafna/exp_sections/realworldDS/book.html)上進行對比實驗,數(shù)據(jù)集來源于DAFNA(Data Forensics with Analytics),該網(wǎng)站為真值發(fā)現(xiàn)研究提供相關經(jīng)典數(shù)據(jù)集,數(shù)據(jù)集的統(tǒng)計信息如表3所示。
Table 3 Statistical information of datasets表3 數(shù)據(jù)集的統(tǒng)計信息
Weather數(shù)據(jù)集:包含了16個網(wǎng)站關于不同地點不同時間的天氣信息,包括溫度(Temperature)、體感溫度(Real Feel)、濕度(Humidity)、氣壓(Pressure)和能見度(Visibility)5個屬性,該數(shù)據(jù)集提供了各個對象的真值。利用本文方法從多個網(wǎng)站提供的沖突信息中找到各個地區(qū)每天天氣的真值。對于數(shù)據(jù)集中的空值,采用投票的方法進行填充。
Flight數(shù)據(jù)集:包含了38個不同網(wǎng)站提供的不同航班信息,包括實際出發(fā)時間(Actual Departure Time)、實際到達時間(Actual Arrival Time)、登機口(Departure Gate)、預計出發(fā)時間(Expected Departure Time)和預計到達時間(Expected Arrival Time)5個屬性,該數(shù)據(jù)集提供了2011年12月~2012年1月的航班信息真值。利用本文方法從多個網(wǎng)站提供的沖突航班信息中找到各個航班的真實信息。對于數(shù)據(jù)集中的空值,同樣采用投票的方法進行填充。
本文采用自定義指標準確率(Pre)評價最終結(jié)果,其計算方式如式(13)所示:
(13)
其中,P為觀測值真值總數(shù)量,TP為方法得到的正確觀測值真值數(shù)量。準確率越高,真值發(fā)現(xiàn)方法效果越好。
本文將所提方法與多個真值發(fā)現(xiàn)方法進行對比,分別是基于迭代的真值發(fā)現(xiàn)方法Depen[7]、Accu[7]和AccuSim[7];基于概率圖模型的真值發(fā)現(xiàn)方法Cosine[16]和3-Estimates[16];基于優(yōu)化的真值發(fā)現(xiàn)方法CRH(Conflict Resolution on Heterogeneous data)[9];基于神經(jīng)網(wǎng)絡的真值發(fā)現(xiàn)方法FFMN(Feed Forward Memory Network)[21]。各個對比方法介紹如下:
(1)Depen:該方法考慮真值發(fā)現(xiàn)中數(shù)據(jù)源之間的復制情況,若2個數(shù)據(jù)源提供大量公共值,并且大部分的公共值很少由其他數(shù)據(jù)源提供,則很可能該數(shù)據(jù)源間存在復制行為。該方法使用貝葉斯分析來確定數(shù)據(jù)源之間的依賴關系,并設計一種迭代方法檢測數(shù)據(jù)源之間的依賴,同時從沖突信息中發(fā)現(xiàn)真值,是一種可拓展的真值發(fā)現(xiàn)方法。Depen是Accu和AccuSim的核心方法。
(2)Accu:該方法優(yōu)化了數(shù)據(jù)源間復制情況的準確度判定條件,計算特定對象的底層數(shù)據(jù)中觀測值的概率分布,選擇具有最高概率的值作為真值,是Depen方法的拓展。
(3)AccuSim:該方法針對枚舉型數(shù)據(jù)進行真值發(fā)現(xiàn)??紤]觀測值間的相似性,采用文獻[4]提出的相似度度量模型,該方法是Accu方法的拓展。
(4)Cosine:該方法基于概率圖模型,綜合考慮Web數(shù)據(jù)中真值與觀測值間的相關性估計數(shù)據(jù)源可靠度與觀測值的可信度。使用余弦函數(shù)[35]對觀測值相似度進行度量,并通過迭代的方法使其收斂。
(5)3-Estimates:該方法針對單真值發(fā)現(xiàn)問題,假設同一對象有且僅有一個真值?;谕镀钡姆椒?,綜合考慮每個對象的真值的可信度進行真值發(fā)現(xiàn),是Cosine方法的拓展。
(6)CRH:該方法利用各種損失函數(shù)和正則化函數(shù)來描述不同的數(shù)據(jù)類型和權重分布,基于真值發(fā)現(xiàn)的假設設計目標函數(shù),具有較高的收斂率和準確率,相較于其他真值發(fā)現(xiàn)方法準確率更高,是目前較優(yōu)的非神經(jīng)網(wǎng)絡真值發(fā)現(xiàn)方法。
(7)FFMN:該方法基于對象的真值情況應該盡可能與各數(shù)據(jù)源提供的觀測值接近,同時根據(jù)數(shù)據(jù)源的質(zhì)量越高則其提供的對象屬性集合與真值集合越相似的假設設計損失函數(shù),將數(shù)據(jù)源與觀測值之間的關系依賴利用前饋神經(jīng)網(wǎng)絡進行學習,將真值發(fā)現(xiàn)任務抽象為分類任務進行求解。
TDNNE使用Weather數(shù)據(jù)集全部數(shù)據(jù)源及其觀測值進行編碼,不進行訓練集與測試集的劃分,當模型連續(xù)500次迭代損失函數(shù)不發(fā)生變化時,停止迭代,得到數(shù)據(jù)源觀測值嵌入空間,并進行真值發(fā)現(xiàn)。
5.5.1 實驗結(jié)果對比
表4和表5分別列出了TDNNE以及不同真值發(fā)現(xiàn)方法在數(shù)據(jù)集Weather和Flight上的對比實驗結(jié)果。
由表4和表5可以看出,TDNNE真值發(fā)現(xiàn)方法優(yōu)于基于迭代、優(yōu)化及概率圖模型的真值發(fā)現(xiàn)方法以及最新提出的基于神經(jīng)網(wǎng)絡的真值發(fā)現(xiàn)方法FFMN。CRH和FFMN的性能相對穩(wěn)定,而Accu和AccuSim在處理Flight數(shù)據(jù)集時的準確率較處理Weather數(shù)據(jù)集有明顯的提升。
基于迭代、優(yōu)化及概率圖模型的真值發(fā)現(xiàn)方法
Table 4 Comparison of test results on Weather dataset表4 Weather數(shù)據(jù)集上的實驗結(jié)果對比
Table 5 Comparison of test results on Flight dataset表5 Flight數(shù)據(jù)集上的實驗結(jié)果對比
由于人工假設數(shù)據(jù)源觀測值間的依賴關系,難以真實反映數(shù)據(jù)的底層分布,導致真值發(fā)現(xiàn)結(jié)果不理想。而FFMN真值發(fā)現(xiàn)方法假設真值與大多數(shù)觀測值相似,在特殊情況下其實并不適用,導致真值發(fā)現(xiàn)結(jié)果準確率不高。本文利用神經(jīng)網(wǎng)絡編碼的思想來表示數(shù)據(jù)源可靠度與觀測值可信度,一方面,高維空間表達能力更強,能更準確地描述數(shù)據(jù)源觀測值間的關系依賴。另一方面,利用前饋神經(jīng)網(wǎng)絡將數(shù)據(jù)源與觀測值嵌入到高維空間,不需要假設數(shù)據(jù)的分布,結(jié)果更準確。
5.5.2 學習率對實驗結(jié)果的影響
在神經(jīng)網(wǎng)絡的優(yōu)化過程中,學習率控制參數(shù)的更新速度,學習率過小,會極大降低收斂速度,可能陷入局部最優(yōu);而學習率過大,則可能導致參數(shù)在最優(yōu)解兩側(cè)來回震蕩,本節(jié)使用0.1,0.01,0.001,0.000 1,0.000 01進行實驗,以驗證學習率對實驗結(jié)果的影響,結(jié)果如圖3所示。
Figure 3 Influence of learning rate on experimental results圖3 學習率對實驗結(jié)果的影響
Figure 4 Encoding space of data sources圖4 數(shù)據(jù)源編碼空間
由圖3可知,實驗結(jié)果受學習率的影響較小,學習率為0.1和0.01時,實驗結(jié)果相對較好。
5.5.3 編碼空間可視化
5.5.3.1 數(shù)據(jù)源編碼
為直觀展示數(shù)據(jù)源編碼操作的有效性,以Weather數(shù)據(jù)集的屬性Temperature為例,對所有數(shù)據(jù)源以“數(shù)據(jù)源-數(shù)據(jù)源”損失進行編碼,構造真實的數(shù)據(jù)源相似度矩陣,并對真實的數(shù)據(jù)源相似度矩陣與編碼產(chǎn)生的數(shù)據(jù)源相似度矩陣進行可視化。
首先根據(jù)數(shù)據(jù)集標注等信息,計算出各數(shù)據(jù)源之間相同觀測值的數(shù)量,以構造真實的數(shù)據(jù)源相似度矩陣。真實的數(shù)據(jù)源相似度矩陣構造方式如下所示:構造一個16×16的矩陣,1~16為數(shù)據(jù)源編號,矩陣的副對角線上的元素表示同一個數(shù)據(jù)源的相同觀測值個數(shù),所以副對角線的元素都為各數(shù)據(jù)源總觀測值個數(shù)。除副對角線之外的其他元素值,表示對應2個坐標編號數(shù)據(jù)源之間的相同觀測值個數(shù),并以副對角線為對稱軸對稱。
圖4a所示為16個數(shù)據(jù)源觀測值相似度矩陣的真實分布,橫縱坐標分別為數(shù)據(jù)源編號,圖4a中給出了數(shù)據(jù)源之間相同觀測值個數(shù)的情況。圖4b~圖4e所示為編碼維度d分別為2,5,10,20時得到的數(shù)據(jù)源嵌入向量間的相似度矩陣,圖4b~圖4e中給出了最終數(shù)據(jù)源可靠度編碼向量間的相似度。
首先,對比圖4a與圖4b~圖4e可以看出,本文設計的網(wǎng)絡及損失函數(shù)能夠有效編碼數(shù)據(jù)源,還原數(shù)據(jù)源間的相似度關系。將數(shù)據(jù)源嵌入到高維度空間后,嵌入空間的數(shù)據(jù)源相似度矩陣與數(shù)據(jù)源真實分布矩陣是一致的,即數(shù)據(jù)源的相似度關系與數(shù)據(jù)源間相同觀測值比例關系保持一致。其次,對比圖4b和圖4c可以看出,數(shù)據(jù)源編碼維度會影響實驗結(jié)果,隨著數(shù)據(jù)源維度增加,嵌入空間與真實分布逐漸相似,當維度d為20時,圖4a與圖4e幾乎一致,此時數(shù)據(jù)源嵌入有效還原了數(shù)據(jù)源間的相似度關系。由此可見,相比實數(shù),高維向量能夠更好地表征數(shù)據(jù)源的可靠度。
最后,為驗證該嵌入方法是否能真正反映數(shù)據(jù)源的可靠度,根據(jù)數(shù)據(jù)集提供的標準真值,對不同的數(shù)據(jù)源的真實準確率進行了計算。以準確率最高的數(shù)據(jù)源s14(Pre= 0.77)為例,由圖4e可知,在嵌入空間,與其可靠度相似度高的數(shù)據(jù)源為s8(Pre= 0.63)和s10(Pre= 0.57);相似度相對較高的數(shù)據(jù)源為s3(Pre= 0.37)、s7(Pre= 0.43)、s11(Pre= 0.42)和s15(Pre= 0.47)等;相似度極低的數(shù)據(jù)源為s1(Pre= 0.34)、s5(Pre= 0.19)和s12(Pre= 0.23)??梢姡瑪?shù)據(jù)源間的相似度與其實際真實準確率的相似度是基本一致的。同時,數(shù)據(jù)源s5與所有數(shù)據(jù)源在編碼空間的相似度均較低,所以在嵌入空間,數(shù)據(jù)源s5的可靠度明顯區(qū)別于其他數(shù)據(jù)源(表現(xiàn)為與其他所有數(shù)據(jù)源相似度均較低)。所以,通過數(shù)據(jù)源編碼,準確率相似的數(shù)據(jù)源在編碼空間距離上也逐漸接近,本文提出的數(shù)據(jù)源嵌入方法能夠使可靠的數(shù)據(jù)源在嵌入空間彼此接近,并與不可靠的數(shù)據(jù)源遠離。
5.5.3.2 觀測值編碼
為直觀展示觀測值編碼的有效性,以Weather數(shù)據(jù)集的Temperature屬性為例,對所有觀測值以“數(shù)據(jù)源-觀測值”損失進行編碼,從準確率排名前3及后3的數(shù)據(jù)源中隨機抽取200個觀測值,使用T-分布領域嵌入T-SNE(T-distributed Stochastic Neighbor Embedding)[36]方法由20維降維至2維,并對其嵌入空間進行可視化。T-SNE方法將嵌入向量間的相似度轉(zhuǎn)化為概率,將數(shù)據(jù)映射至高維空間后,嵌入向量間的相似性同時在高維空間表現(xiàn)出來,是目前較好的非線性數(shù)據(jù)降維與可視化方法。結(jié)果如圖5所示。
Figure 5 Encoding space of claims圖5 觀測值編碼空間
圖5中,各點分別代表觀測值經(jīng)T-SNE方法降維后在二維空間中的位置,圖中聚攏的不同簇表示不同數(shù)據(jù)源產(chǎn)生的觀測值。由圖5可知,通過觀測值編碼網(wǎng)絡,各數(shù)據(jù)源提供的觀測值向各數(shù)據(jù)源中心聚攏,在嵌入空間分成不同的簇。同時,觀測值嵌入空間被大致分為3個部分,準確率相似的數(shù)據(jù)源在嵌入空間也相對接近。同時數(shù)據(jù)源相似度越高,則其距離也越近。經(jīng)過編碼得到的嵌入空間符合可靠數(shù)據(jù)源更可能提供可信觀測值,經(jīng)常提供相同觀測值的數(shù)據(jù)源具備相似可靠度的假設。
針對傳統(tǒng)真值發(fā)現(xiàn)方法簡單假設數(shù)據(jù)分布與數(shù)據(jù)源觀測值關系依賴,導致真值發(fā)現(xiàn)結(jié)果不理想的問題,提出了基于深度神經(jīng)網(wǎng)絡編碼的真值發(fā)現(xiàn)方法。首先,考慮數(shù)據(jù)源與觀測值間的關系,設計“數(shù)據(jù)源-數(shù)據(jù)源”“數(shù)據(jù)源-觀測值”雙損失;然后,利用雙路前饋神經(jīng)網(wǎng)絡將數(shù)據(jù)源可靠度與觀測值可信度嵌入到高維向量空間,相比實數(shù),更準確地表達了數(shù)據(jù)源可靠度與觀測值可信度;最后,基于投票機制設計基于嵌入空間的真值發(fā)現(xiàn)方法。真值發(fā)現(xiàn)過程不需要人工定義迭代規(guī)則,前饋神經(jīng)網(wǎng)絡自動學習其復雜的關系。在真實數(shù)據(jù)集上的實驗結(jié)果表明,較傳統(tǒng)真值發(fā)現(xiàn)方法,本文所提方法準確率更高,同時可視化分析也直觀展示了數(shù)據(jù)源觀測值的編碼結(jié)果。
在下一步研究工作中,將會考慮更復雜的情況,提出更健全的損失函數(shù),以提高真值發(fā)現(xiàn)的準確性,包括數(shù)據(jù)源之間的復制、數(shù)據(jù)的長尾效應等。