魏秀卓,趙慧南
(東北師范大學(xué)人文學(xué)院,吉林 長(zhǎng)春 130000)
隨著數(shù)據(jù)結(jié)構(gòu)與應(yīng)用環(huán)境的混雜,不同體系結(jié)構(gòu)、不同操作系統(tǒng)、不同數(shù)據(jù)格式、不同存儲(chǔ)方式等,使網(wǎng)絡(luò)數(shù)據(jù)呈現(xiàn)出異構(gòu)多源多模態(tài)特征。對(duì)于某事物通常可以有多種異構(gòu)表現(xiàn)模態(tài),比如采用文本、標(biāo)簽、圖像,或者音視頻的形式描述。因此,在數(shù)據(jù)檢索的過(guò)程中,要想準(zhǔn)確全面的檢索出所有結(jié)果,需要充分考慮跨源跨模態(tài)[1]。多源多模態(tài)數(shù)據(jù)通常表現(xiàn)出較為顯著的語(yǔ)義區(qū)別[2],即高層與低層語(yǔ)義的不一致性。這種特征使得即便在高層語(yǔ)義相近時(shí),也無(wú)法保證低層語(yǔ)義的完全吻合。此外,網(wǎng)絡(luò)數(shù)據(jù)量的膨脹使得檢索方法需要具有大數(shù)據(jù)處理能力,而大數(shù)據(jù)的應(yīng)用也必然會(huì)促進(jìn)多源多模態(tài)數(shù)據(jù)的轉(zhuǎn)換。所以對(duì)于多源多模態(tài)大數(shù)據(jù)的檢索研究勢(shì)在必行。
當(dāng)前關(guān)于多源多模態(tài)數(shù)據(jù)檢索主要是基于單模態(tài)擴(kuò)展與哈希算法。文獻(xiàn)[3]提出了KLSSH方法,能夠根據(jù)潛在語(yǔ)義得到較為簡(jiǎn)單的哈希碼;文獻(xiàn)[4]提出了CCA-SCH方法,先構(gòu)建不同模態(tài)的語(yǔ)義模型,再利用CCA采取模態(tài)間的語(yǔ)義融合,得到其關(guān)聯(lián);文獻(xiàn)[5]提出了一種SDCH方法,在模態(tài)近似度的基礎(chǔ)上,通過(guò)學(xué)習(xí)獲取包含鑒別性能哈希碼。此外,還有文獻(xiàn)[6]和文獻(xiàn)[7]等一些研究,都是圍繞單模態(tài)擴(kuò)展或者哈希優(yōu)化,改善了多源多模態(tài)數(shù)據(jù)檢索的性能,但是對(duì)于海量數(shù)據(jù)處理場(chǎng)景,并沒(méi)有深入研究。本文在基于哈希算法與字典學(xué)習(xí)的基礎(chǔ)上構(gòu)建目標(biāo)評(píng)價(jià),并根據(jù)模態(tài)近似度計(jì)算得出多模態(tài)檢索結(jié)果,考慮到Mapreduce是Hadoop處理大數(shù)據(jù)的核心[8],能夠?qū)Υ髷?shù)據(jù)任務(wù)采取分布式并行計(jì)算,本文設(shè)計(jì)了基于Mapreduce的多源多模態(tài)大數(shù)據(jù)檢索模型,從而有效提高對(duì)多源多模態(tài)大數(shù)據(jù)的檢索性能。
(1)
(2)
式中,c和d是加權(quán)系數(shù)。重寫(xiě)后的目標(biāo)評(píng)價(jià)降低了特征對(duì)之間的約束性,避免檢索范圍過(guò)窄,此時(shí)該目標(biāo)評(píng)價(jià)的求解可以轉(zhuǎn)化為非凸問(wèn)題。采取迭代計(jì)算的方式,過(guò)程中控制函數(shù)為單一參數(shù)變化,首先計(jì)算出中間變量Ii和Ij。根據(jù)目標(biāo)評(píng)價(jià)整理可得
(Ii)=(1-a)+
(3)
(4)
中間變量Ij的處理方式等同于Ii。然后計(jì)算哈希函數(shù)Hi和Hj,在求解Hi時(shí),保持Hi以外的變量不變,此時(shí)將目標(biāo)評(píng)價(jià)整理可得
(5)
將式(5)求Hi的導(dǎo)數(shù),并令其等于零,從而解出Hi如下
Hi=IiX(i)(X(i)X(i)T+d/c)-1
(6)
Hj的處理方式等同于Hi。最后計(jì)算學(xué)習(xí)字典Di和Dj,在求解Di時(shí),保持Di以外的所有變量不變,此時(shí)的目標(biāo)評(píng)價(jià)整理可得
(7)
在學(xué)習(xí)網(wǎng)絡(luò)的設(shè)計(jì)中,利用多層處理來(lái)代表多源多模態(tài)間存在的彼此聯(lián)系。為了準(zhǔn)確表述這種聯(lián)系,這里將每層的結(jié)構(gòu)設(shè)計(jì)為節(jié)點(diǎn)鄰接矩陣形式G=(N,M)。N是網(wǎng)絡(luò)中的節(jié)點(diǎn)集,N內(nèi)所有節(jié)點(diǎn)都具有一個(gè)學(xué)習(xí)字典,在多模態(tài)分組情況下,節(jié)點(diǎn)集N可以表示為
(8)
式中,c(k)(l)表示多模態(tài)網(wǎng)絡(luò)分組。當(dāng)不同分組c(k)(l)與c(m)(l′)內(nèi)同時(shí)包含某源的概率大于限定值時(shí),則說(shuō)明在c(k)(l)與c(m)(l′)中間具有連接,于是鄰接矩陣M描述如下
(9)
(10)
(11)
利用式(11)求解出所有符合要求的單一模態(tài)分組,并由它們構(gòu)成最終的多模態(tài)檢索結(jié)果。
Mapreduce是Hadoop的一部分,主要用于大數(shù)據(jù)處理,可以部署在分布式集群網(wǎng)絡(luò)中,完成數(shù)據(jù)的計(jì)算分析。其主要特點(diǎn)是計(jì)算效率高,負(fù)載均衡易于控制。Mapreduce的工作過(guò)程分為MapTask與ReduceTask兩個(gè)階段[9],Mapreduce會(huì)將大數(shù)據(jù)處理任務(wù)切割為若干子任務(wù),縮小單次任務(wù)執(zhí)行的復(fù)雜度,再把切割后的任務(wù)調(diào)度給MapTask,MapTask執(zhí)行輸出的結(jié)果由ReduceTask完成匯總。根據(jù)Mapreduce的工作原理,本文設(shè)計(jì)的多源多模態(tài)大數(shù)據(jù)檢索模型如圖1所示。
圖1 Mapreduce多源多模態(tài)大數(shù)據(jù)檢索模型
在接收到檢索任務(wù)后,集群中的Master節(jié)點(diǎn)會(huì)按照HDFS配置對(duì)檢索數(shù)據(jù)進(jìn)行劃分,劃分后的數(shù)據(jù)子集調(diào)度至各Map,此階段不需要在Mapreduce中部署算法。Map收到Split輸入數(shù)據(jù)后,將數(shù)據(jù)映射成形式
這里從檢索的準(zhǔn)確程度與完整程度兩個(gè)方面進(jìn)行分析。假定某時(shí)間段的數(shù)據(jù)源數(shù)量為m,各自權(quán)重表示是W=(w1,w2,…,wm),對(duì)應(yīng)的多源多模態(tài)數(shù)據(jù)表示為R=(R1,R2,…,Rn),檢索得到的單一源單一模態(tài)結(jié)果表示為Ri=(ri1,ri2,…,rin),則在檢索結(jié)果與檢索數(shù)據(jù)的實(shí)際值完全吻合時(shí),才表明檢索準(zhǔn)確。因此,將單一源的多模態(tài)檢索輸出采取如下映射處理
(12)
根據(jù)多模態(tài)映射結(jié)果的累加和與模態(tài)數(shù)量的比值,計(jì)算得到第個(gè)數(shù)據(jù)源檢索準(zhǔn)確度公式如下
(13)
對(duì)應(yīng)多源情況下檢索準(zhǔn)確度公式如下
(14)
完整度描述的是數(shù)據(jù)集中未知結(jié)果部分與所有數(shù)據(jù)間的比值。同樣將單一源多模態(tài)的檢索輸出采取如下映射處理
(15)
式中,rij=retrieval表示第i個(gè)數(shù)據(jù)源的第j個(gè)模態(tài)數(shù)據(jù)被檢索。根據(jù)該映射結(jié)果計(jì)算第i個(gè)數(shù)據(jù)源檢索完整度公式如下
(16)
進(jìn)一步得到多源情況下檢索完整度公式如下
(17)
仿真采用Wiki與NUS-WIDE數(shù)據(jù)集來(lái)產(chǎn)生原始多源多模態(tài)大數(shù)據(jù)。Wiki中含有2866組由文本與圖像構(gòu)成的特征對(duì),NUS-WIDE中含有269648組由標(biāo)簽與圖像構(gòu)成的特征對(duì)。仿真中數(shù)據(jù)集設(shè)置如表1所示。
表1 數(shù)據(jù)集設(shè)置
實(shí)驗(yàn)過(guò)程中,目標(biāo)評(píng)價(jià)涉及的哈希碼位數(shù)依次取值16、32、64、128,通過(guò)50次模擬求均值,得到Wiki與NUS-WIDE數(shù)據(jù)集中檢索的準(zhǔn)確度。同時(shí),本文引入文獻(xiàn)[4](CCA-SCH)方法和文獻(xiàn)[5](SDCH)方法進(jìn)行性能比較。最終的準(zhǔn)確度結(jié)果如圖2所示。
圖2 檢索準(zhǔn)確度結(jié)果對(duì)比
根據(jù)Wiki數(shù)據(jù)集上的結(jié)果對(duì)比可知,各方法對(duì)于圖像和文本兩種不同模態(tài)的檢索差別不大,在哈希碼位數(shù)增加時(shí),各方法的檢索準(zhǔn)確度都有所增加,但是在相同位數(shù)時(shí),本文方法的檢索準(zhǔn)確度更高。根據(jù)NUS-WIDE數(shù)據(jù)集上的結(jié)果對(duì)比可知,各方法對(duì)于圖像和標(biāo)簽兩種不同模態(tài)的檢索存在差異,CCA-SCH和SDCH方法在標(biāo)簽檢索時(shí)較圖像檢索具有一定的準(zhǔn)確度提升。而本文方法則在不同模態(tài)間呈現(xiàn)出較為平衡的檢索性能,不管是哪種模態(tài)哪種哈希長(zhǎng)度情況下,都具有更高的檢索準(zhǔn)確度。這是由于文獻(xiàn)方法在多源多模態(tài)數(shù)據(jù)的低維子空間轉(zhuǎn)換過(guò)程中,缺乏模態(tài)內(nèi)部與外部的近似性處理,而本文則通過(guò)哈希與網(wǎng)絡(luò)學(xué)習(xí),對(duì)各種模態(tài)特征描述更為準(zhǔn)確,從而得到更加合理的近似解。
仿真得到各方法在Wiki與NUS-WIDE數(shù)據(jù)集中的P-R曲線。根據(jù)準(zhǔn)確度結(jié)果,由于在哈希碼位數(shù)為64時(shí),各方法都能獲得較好的檢索性能,所以這里針對(duì)64位哈希碼情況得到如圖3所示P-R曲線結(jié)果。
圖3 64位哈希碼曲線對(duì)比
根據(jù)Wiki與NUS-WIDE數(shù)據(jù)集的P-R曲線對(duì)比可知,在小于某召回率的范圍內(nèi),當(dāng)檢索的完整度增加時(shí),本文方法的準(zhǔn)確度也隨之上升;在超過(guò)某召回率的范圍后,當(dāng)檢索的完整度增加時(shí),本文方法的準(zhǔn)確度將隨之下降。在整個(gè)過(guò)程中,數(shù)據(jù)檢索的完整度與準(zhǔn)確度指標(biāo)都優(yōu)于文獻(xiàn)方法。這是因?yàn)閮煞N文獻(xiàn)方法對(duì)于多源多模態(tài)數(shù)據(jù)的語(yǔ)義特征考慮的不夠全面,而本文方法則考慮了多源多模態(tài)數(shù)據(jù)間的彼此聯(lián)系,通過(guò)網(wǎng)絡(luò)學(xué)習(xí),完成檢索的同時(shí),也很好的保證了源內(nèi)外、模態(tài)內(nèi)外數(shù)據(jù)的近似度。
此外,為了進(jìn)一步評(píng)價(jià)本文方法對(duì)于大數(shù)據(jù)的檢索效率,考慮到NUS-WIDE數(shù)據(jù)集包含的數(shù)據(jù)量更大,針對(duì)NUS-WIDE數(shù)據(jù)集統(tǒng)計(jì)得到各方法的平均檢索時(shí)間,結(jié)果如表2所示。根據(jù)結(jié)果可以看出,本文方法的平均檢索時(shí)間僅為0.882s,顯著低于對(duì)比方法,更適合于大數(shù)據(jù)應(yīng)用場(chǎng)景。這是由于本文方法引入了Mapreduce,在橫向上將多源多模態(tài)大數(shù)據(jù)的檢索分割成若干子任務(wù)并行處理,在縱向上將檢索分割為算法處理、中間結(jié)果Shuffle,以及最終匯總等獨(dú)立階段,使單次任務(wù)更加輕量化,充分發(fā)揮并行計(jì)算優(yōu)勢(shì)。
表2 平均檢索時(shí)間對(duì)比
本文針對(duì)多源多模態(tài)大數(shù)據(jù)檢索,提出并設(shè)計(jì)了基于Mapreduce的近似度學(xué)習(xí)檢索方法。為了提高語(yǔ)義鴻溝,引入哈希與字典學(xué)習(xí)構(gòu)建算法的目標(biāo)評(píng)價(jià),并設(shè)計(jì)了迭代求解算法;同時(shí)設(shè)計(jì)了網(wǎng)絡(luò)學(xué)習(xí)來(lái)獲取多源多模態(tài)數(shù)據(jù)間存在的彼此聯(lián)系,根據(jù)近似度計(jì)算得出多模態(tài)檢索結(jié)果。為了提高海量數(shù)據(jù)處理性能,引入Mapreduce并行處理框架,將檢索任務(wù)分割成輕量化的子任務(wù),并將算法部署于MapTask與ReduceTask。通過(guò)在Wiki與NUS-WIDE數(shù)據(jù)集上的仿真,驗(yàn)證了本文方法對(duì)于多源多模態(tài)數(shù)據(jù)特征的描述更為準(zhǔn)確,能夠很好的保證源內(nèi)外、模態(tài)內(nèi)外數(shù)據(jù)的近似度,且Mapreduce框架顯著提升了大數(shù)據(jù)檢索的效率。