■ 安徽 劉揚(yáng)
編者按:在進(jìn)入數(shù)據(jù)湖的原始數(shù)據(jù)中,有一部分屬于復(fù)雜異構(gòu)數(shù)據(jù)。其數(shù)據(jù)特征和數(shù)據(jù)間內(nèi)在關(guān)聯(lián)性都極為復(fù)雜,不易被人認(rèn)知與使用,但若能有效利用將產(chǎn)生可觀的經(jīng)濟(jì)效益。
在重塑數(shù)據(jù)湖的過程中會(huì)遇到一些復(fù)雜情況,比如復(fù)雜的數(shù)據(jù)間映射關(guān)系、數(shù)據(jù)間時(shí)空不一致情況下底層數(shù)據(jù)關(guān)聯(lián)規(guī)則的建立等。
這些復(fù)雜情況的出現(xiàn),有一部分源于數(shù)據(jù)湖有別于數(shù)據(jù)倉庫的數(shù)據(jù)存儲(chǔ)方式。數(shù)據(jù)湖以更自然的方式存儲(chǔ)原始格式的數(shù)據(jù),并將這些數(shù)據(jù)統(tǒng)一匯聚在湖中。當(dāng)不同來源的原始格式數(shù)據(jù)匯聚以后,在這些數(shù)據(jù)被加工使用時(shí),會(huì)整合產(chǎn)生一種具有復(fù)合數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)——復(fù)雜異構(gòu)數(shù)據(jù)。其中復(fù)雜指的是數(shù)據(jù)自身的數(shù)據(jù)特征和數(shù)據(jù)間內(nèi)在關(guān)聯(lián)性復(fù)雜,異構(gòu)指的是結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化的數(shù)據(jù)同時(shí)存在。
可以說,復(fù)雜異構(gòu)數(shù)據(jù)是數(shù)據(jù)湖建設(shè)過程中的天然產(chǎn)物,是數(shù)據(jù)價(jià)值匯聚的結(jié)果,也是數(shù)據(jù)湖中許多潛在經(jīng)濟(jì)效益的所在。如何發(fā)掘復(fù)雜異構(gòu)數(shù)據(jù)的價(jià)值,直接影響到數(shù)據(jù)湖重塑的效果。
復(fù)雜異構(gòu)數(shù)據(jù)往往與不能通過數(shù)據(jù)湖重塑的通用技術(shù)路徑解決的復(fù)雜情況一同出現(xiàn)。究其原因,在于人的認(rèn)知規(guī)律與復(fù)雜異構(gòu)數(shù)據(jù)之間存在深層次矛盾。
在重塑數(shù)據(jù)湖的通用技術(shù)路徑中,除了不同階段的技術(shù)選擇外,還始終貫穿著另一條主線,即通過業(yè)務(wù)邏輯的梳理實(shí)現(xiàn)數(shù)據(jù)重構(gòu)。而業(yè)務(wù)邏輯本身,源于人對(duì)業(yè)務(wù)的自我認(rèn)知,因此需要符合人的認(rèn)知規(guī)律。
而復(fù)雜異構(gòu)數(shù)據(jù)是數(shù)據(jù)匯聚的結(jié)果,匯聚的過程實(shí)際上也伴隨數(shù)據(jù)的升維,同時(shí)高維數(shù)據(jù)的非結(jié)構(gòu)化信息也會(huì)令提取數(shù)據(jù)內(nèi)在規(guī)律超出人的認(rèn)知。
因此,人的認(rèn)知規(guī)律與復(fù)雜異構(gòu)數(shù)據(jù)之間的深層次矛盾在于高維數(shù)據(jù)的維度和非結(jié)構(gòu)化信息超出認(rèn)知極限。如何解決深層次矛盾是復(fù)雜異構(gòu)數(shù)據(jù)認(rèn)知與使用的關(guān)鍵。
從對(duì)高維數(shù)據(jù)處理的相關(guān)研究來看,目前普遍采用的方法是數(shù)據(jù)降維。降維的方法有多種分類,按照特征提取方式可以分為特征選擇和特征抽取;根據(jù)樣本信息使用可分為監(jiān)督降維、半監(jiān)督降維和無監(jiān)督降維;根據(jù)處理數(shù)據(jù)屬性類別可分為線性降維和非線性降維。
在降維的實(shí)證研究中,根據(jù)數(shù)據(jù)的應(yīng)用領(lǐng)域、數(shù)據(jù)結(jié)構(gòu)化程度、數(shù)據(jù)類型(文檔、語音、視頻等)等的不同,需要采用不同的降維方法與技術(shù),從而保障數(shù)據(jù)處理、存儲(chǔ)等方面的性能與效率。因此,在進(jìn)入通用技術(shù)路徑前,需要遵循降維思想,有針對(duì)性的對(duì)復(fù)雜異構(gòu)數(shù)據(jù)進(jìn)行分類,從而選擇合適的降維策略進(jìn)行數(shù)據(jù)重構(gòu)。
結(jié)合復(fù)雜異構(gòu)數(shù)據(jù)的產(chǎn)生原因,可以從數(shù)據(jù)間映射關(guān)系復(fù)雜度和數(shù)據(jù)的結(jié)構(gòu)化程度兩個(gè)維度對(duì)其進(jìn)行分類。這種基于降維思想的數(shù)據(jù)重構(gòu)可以通過矩陣形式進(jìn)行展現(xiàn),如圖1 所示。
在基于降維思想的復(fù)雜異構(gòu)數(shù)據(jù)重構(gòu)矩陣中,復(fù)雜異構(gòu)數(shù)據(jù)的類型以所包含數(shù)據(jù)的數(shù)據(jù)間映射關(guān)系最高復(fù)雜度和數(shù)據(jù)的最低結(jié)構(gòu)化程度作為分類基準(zhǔn)。按照這一基準(zhǔn),復(fù)雜異構(gòu)數(shù)據(jù)可以分為四種類型。其中低復(fù)雜度高結(jié)構(gòu)化數(shù)據(jù)(即非復(fù)雜異構(gòu)數(shù)據(jù))可以直接適用于通用技術(shù)路徑,其他三類數(shù)據(jù)適用的具體降維策略如下:
高復(fù)雜度高結(jié)構(gòu)化數(shù)據(jù)首先分析造成復(fù)雜映射關(guān)系的原因,再根據(jù)原因不同進(jìn)行相應(yīng)的處理:由復(fù)雜的數(shù)據(jù)間映射關(guān)系(如n 對(duì)m 等)導(dǎo)致的,通過業(yè)務(wù)邏輯的分解將映射關(guān)系拆分成1 對(duì)n關(guān)系;由數(shù)據(jù)不完整導(dǎo)致的,通過關(guān)聯(lián)數(shù)據(jù)技術(shù)尋找其他系統(tǒng)或模塊中的替代品,進(jìn)行數(shù)據(jù)補(bǔ)全。
圖1 基于降維思想的復(fù)雜異構(gòu)數(shù)據(jù)重構(gòu)矩陣
低復(fù)雜度低結(jié)構(gòu)化數(shù)據(jù)可以根據(jù)依據(jù)數(shù)據(jù)類型確定降維方法:文檔類數(shù)據(jù)可以使用知識(shí)圖譜等技術(shù),語音和視頻類數(shù)據(jù)可以運(yùn)用流形學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)等技術(shù)。
高復(fù)雜度低結(jié)構(gòu)化數(shù)據(jù)的重構(gòu)總體可以分為兩個(gè)階段,先從數(shù)據(jù)的結(jié)構(gòu)化維度進(jìn)行降維,參照低復(fù)雜度低結(jié)構(gòu)化數(shù)據(jù);再從數(shù)據(jù)間映射關(guān)系的復(fù)雜度維度進(jìn)行降維,一般參照高復(fù)雜度高結(jié)構(gòu)化數(shù)據(jù),如果高復(fù)雜度低結(jié)構(gòu)化數(shù)據(jù)降維后仍需保存為文本、語音和視頻等非結(jié)構(gòu)化數(shù)據(jù),第二階段也可采用適用于非結(jié)構(gòu)化數(shù)據(jù)的關(guān)聯(lián)數(shù)據(jù)技術(shù)進(jìn)行數(shù)據(jù)重構(gòu)。
實(shí)際上,數(shù)據(jù)類型、數(shù)據(jù)完整度等也可以作為復(fù)雜異構(gòu)數(shù)據(jù)分類的維度,從而構(gòu)造出更高維度或其他分類方式的復(fù)雜異構(gòu)數(shù)據(jù)重構(gòu)矩陣。但需要強(qiáng)調(diào)的是,即使采用相同的復(fù)雜異構(gòu)數(shù)據(jù)重構(gòu)策略,在具體的降維方法與技術(shù)選擇上也是靈活可變的,這也是數(shù)據(jù)湖有別于數(shù)據(jù)倉庫的重要特征——賦能非技術(shù)用戶自行進(jìn)行數(shù)據(jù)探索。
考慮到數(shù)據(jù)湖建設(shè)的目標(biāo)是建立的統(tǒng)一的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理基礎(chǔ)設(shè)施,數(shù)據(jù)重構(gòu)功能需求應(yīng)當(dāng)包括支持上述數(shù)據(jù)重構(gòu)策略、降維方法與技術(shù)的算法、算力、中間數(shù)據(jù)的存儲(chǔ)以及相關(guān)的操作界面、參數(shù)配置等,并且可為用戶提供具體到操作步驟的演示視頻、幫助文檔等,從而提升功能可用度、降低使用門檻。
此外,數(shù)據(jù)重構(gòu)功能需要考慮與其他功能的協(xié)同。在數(shù)據(jù)湖重塑的過程中,數(shù)據(jù)重構(gòu)重點(diǎn)解決的是數(shù)據(jù)的可用性問題,還有一個(gè)重要問題需要在其他功能中解決,那就是數(shù)據(jù)的可信度問題。特別是當(dāng)數(shù)據(jù)湖包含的多個(gè)數(shù)據(jù)源中出現(xiàn)數(shù)據(jù)不一致時(shí),應(yīng)當(dāng)如何為用戶提供數(shù)據(jù)使用幫助,使用戶可以高效選出可信數(shù)據(jù)用于數(shù)據(jù)探索。