來(lái)源:亞信大數(shù)據(jù) 時(shí)間:2018-07-18 13:13:58 作者:馬明
未來(lái)數(shù)據(jù)會(huì)成為核心資源。
——馬云
做數(shù)據(jù)分析首先是熟悉業(yè)務(wù)及行業(yè)知識(shí),其次是分析思路,再次是方法和工具,切勿為了方法而方法,為工具而工具。
——數(shù)據(jù)分析格言
水能載舟,亦能覆舟
大數(shù)據(jù)時(shí)代,人類(lèi)獲得數(shù)據(jù)能力遠(yuǎn)遠(yuǎn)超過(guò)我們的想象,人類(lèi)對(duì)世界的認(rèn)識(shí)正在提升到新的高度。我們知道數(shù)據(jù)可以幫助我們更好地理解世界、預(yù)測(cè)未來(lái)。近年來(lái)人工智能的興起,大數(shù)據(jù)起著至關(guān)重要的作用:統(tǒng)計(jì)學(xué)習(xí)需要大樣本數(shù)據(jù);機(jī)器學(xué)習(xí)需要大量數(shù)據(jù);而深度學(xué)習(xí)需要海量數(shù)據(jù)。
目前,人工智能相關(guān)技術(shù)已經(jīng)滲入到各個(gè)垂直行業(yè)領(lǐng)域。傳統(tǒng)行業(yè)巨頭也都希望數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等相關(guān)技術(shù)能夠?yàn)樗麄兲岣咂錁I(yè)務(wù)量,縮減成本、提高利潤(rùn)。
眾所周知,金融行業(yè)的數(shù)據(jù)之大,含金量之高都是首屈一指的。但是正是由于金融業(yè)的大數(shù)據(jù)和其復(fù)雜的業(yè)務(wù)邏輯導(dǎo)致其數(shù)據(jù)復(fù)雜度非常高,我們需要很有效的方法為數(shù)據(jù)建模以提高數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用的開(kāi)發(fā)效率和減少數(shù)據(jù)誤讀以及偏見(jiàn)。
本系列文章中的第一篇《應(yīng)用與趨勢(shì)》中,筆者曾經(jīng)簡(jiǎn)要介紹了CDM的概念及其作用,并認(rèn)為其是為金融行業(yè)提供數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用解決方案的數(shù)據(jù)服務(wù)公司和Fintech技術(shù)公司不可或缺的一個(gè)組件。
本文主要在以下兩個(gè)方面深入探討CDM:
? CDM的意義和作用
企業(yè)業(yè)務(wù)層面
數(shù)據(jù)科學(xué)層面
? CDM的技術(shù)架構(gòu)
企業(yè)業(yè)務(wù)層面
一、CDM---企業(yè)業(yè)務(wù)層面
1)為垂直行業(yè)服務(wù)的數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用是以業(yè)務(wù)數(shù)據(jù)為核心的
首先,我們認(rèn)可各行業(yè)都需要數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用。而一般情況下數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用由四部分組成:
傳統(tǒng)行業(yè)對(duì)數(shù)據(jù)應(yīng)用的需求是以其業(yè)務(wù)目標(biāo)為導(dǎo)向的,所以我們可以肯定的是:行業(yè)核心數(shù)據(jù)是蘊(yùn)含在其業(yè)務(wù)系統(tǒng)中的業(yè)務(wù)數(shù)據(jù)。
2)理解業(yè)務(wù)數(shù)據(jù)是數(shù)據(jù)分析服務(wù)的關(guān)鍵
我們經(jīng)常聽(tīng)到很多人告訴我們“人會(huì)說(shuō)謊,數(shù)據(jù)不會(huì)說(shuō)謊“。從根本上講是可以被認(rèn)同的。但請(qǐng)想象一下,一個(gè)數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用四個(gè)環(huán)節(jié)中的任何一個(gè)環(huán)節(jié)都需要人和算法來(lái)參與。人是否存在偏見(jiàn),是否對(duì)數(shù)據(jù)存在誤讀,學(xué)習(xí)算法是否可能對(duì)數(shù)據(jù)存在“歧視和偏見(jiàn)“?所以,現(xiàn)實(shí)中存在大量的“數(shù)據(jù)說(shuō)謊”的現(xiàn)象。
消除誤讀和偏見(jiàn)的基礎(chǔ)就是對(duì)數(shù)據(jù)有正確的理解。所以我們需要在基本環(huán)節(jié)中加入數(shù)據(jù)理解的概念。
3)業(yè)務(wù)數(shù)據(jù)中含有復(fù)雜的業(yè)務(wù)邏輯
每個(gè)企業(yè)都有自己的業(yè)務(wù)邏輯,甚至在一個(gè)企業(yè)內(nèi)部不同業(yè)務(wù)部門(mén)的業(yè)務(wù)邏輯和業(yè)務(wù)數(shù)據(jù)也存在差異。這個(gè)現(xiàn)象在金融行業(yè)更為顯著。對(duì)提供數(shù)據(jù)分析服務(wù)的公司來(lái)言,如果不了解業(yè)務(wù)邏輯,也就不能很好的解讀數(shù)據(jù),很難想象其能提供較為優(yōu)質(zhì)的數(shù)據(jù)分析服務(wù)和數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用。
4)數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用開(kāi)發(fā)效率和可擴(kuò)展性至關(guān)重要
數(shù)據(jù)服務(wù)企業(yè)或金融科技企業(yè)在提供數(shù)據(jù)分析服務(wù)和人工智能應(yīng)用的同時(shí),肯定會(huì)考慮其平臺(tái)應(yīng)用的可擴(kuò)展性。也就是說(shuō),他們希望所開(kāi)發(fā)的模型應(yīng)用可以重復(fù)使用,且可以擴(kuò)展到其他業(yè)務(wù)部門(mén)甚至其他行業(yè)。
但事與愿違,很顯然達(dá)到這一點(diǎn)有許多困難。我們不妨假設(shè)某數(shù)據(jù)應(yīng)用是做信用卡用戶(hù)分析以提高用戶(hù)留存率,如果想把此模型用到貸款用戶(hù)的用戶(hù)分析上,是否可行呢?答案顯然是否定的。業(yè)務(wù)數(shù)據(jù)中記錄的信用卡用戶(hù)的行為數(shù)據(jù)和貸款用戶(hù)的數(shù)據(jù)很可能完全不一樣,數(shù)據(jù)維度、類(lèi)型、格式和含義等都有非常大的差異。在這種情況下,我們很難期望模型移植可以得到同樣的效果。很可能所有的步驟都需要重新做,甚至基本的模型都不一樣了。
如果任何一個(gè)應(yīng)用都需要重新做一遍,不能積累以前的探索成果和數(shù)據(jù)知識(shí),可想而知開(kāi)發(fā)成本較高且效率也比較低。所以我們需要一種方法來(lái)彌補(bǔ)這點(diǎn),能夠盡最大可能提高模型重復(fù)利用的可能性,積累行業(yè)知識(shí)、業(yè)務(wù)邏輯知識(shí)和數(shù)據(jù)知識(shí)。當(dāng)然,想做到這一點(diǎn)還需要對(duì)所采用的模型或數(shù)據(jù)科學(xué)方法進(jìn)行記錄和管理,以便迭代優(yōu)化和重用。
5)數(shù)據(jù)多維度融合的需求
無(wú)論是從數(shù)據(jù)科學(xué)方法上講,還是從業(yè)務(wù)目標(biāo)上來(lái)看,對(duì)數(shù)據(jù)維度的需求都會(huì)越來(lái)越大。借用前面信用卡用戶(hù)分析的例子來(lái)說(shuō),可能不只需要交易數(shù)據(jù),還需要用戶(hù)的社交數(shù)據(jù)、移動(dòng)軌跡等等,所以多維度跨領(lǐng)域的大數(shù)據(jù)融合的需求會(huì)越來(lái)越多。
為了提高數(shù)據(jù)融合的效率和增加可重用性,我們需要精確定義和組織數(shù)據(jù)。進(jìn)一步說(shuō),需要定義各領(lǐng)域的感念術(shù)語(yǔ)和層次結(jié)構(gòu)。
總結(jié)一下,在行業(yè)數(shù)據(jù)應(yīng)用是以業(yè)務(wù)目標(biāo)為導(dǎo)向的前提下,我們需要一種抽象層次較高的數(shù)據(jù)模型幫助我們精確理解業(yè)務(wù)數(shù)據(jù),提高模型可復(fù)制性,加快數(shù)據(jù)融合的步伐。
數(shù)據(jù)科學(xué)層面
二、CDM---數(shù)據(jù)科學(xué)層面
1)提供從業(yè)務(wù)邏輯到數(shù)據(jù)科學(xué)方法的橋梁
前面我們主要是從業(yè)務(wù)視角上看待這個(gè)問(wèn)題。但是行業(yè)數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用還是需要采用人工智能技術(shù),諸如數(shù)據(jù)分析挖掘、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等。但人工智能專(zhuān)家往往不是業(yè)務(wù)專(zhuān)家,這就造成了從業(yè)務(wù)邏輯到數(shù)據(jù)科學(xué)方法的一個(gè)斷裂,而CDM雖然不能從根本上解決這個(gè)問(wèn)題,但卻應(yīng)該能夠在提高重復(fù)使用方面起到一個(gè)補(bǔ)充的作用,記錄什么數(shù)據(jù)科學(xué)方法應(yīng)用到什么數(shù)據(jù)解決一個(gè)什么樣的問(wèn)題到一個(gè)什么程度。它在業(yè)務(wù)知識(shí)數(shù)據(jù)和數(shù)據(jù)科學(xué)方法中起到了橋梁和積累的作用。
舉個(gè)例子,想象信用卡用戶(hù)分析和貸款用戶(hù)分析的例子:假如我們用決策樹(shù)模型為信用卡用戶(hù)建立了一個(gè)分類(lèi)應(yīng)用,即便我們已經(jīng)有數(shù)據(jù)的精確描述和定義,如何把該模型用到貸款用戶(hù)分類(lèi)上呢?很可能還是不行,因?yàn)閿?shù)據(jù)的意義不一樣了,決策樹(shù)模型可能不再適用了,說(shuō)不定NB或SVM是更好的選擇。
CDM可以為我們做的是把探索結(jié)果和應(yīng)用流程沉淀到平臺(tái)層,也就是說(shuō)積累數(shù)據(jù)知識(shí),業(yè)務(wù)知識(shí)、數(shù)據(jù)科學(xué)知識(shí)和這三者之間的聯(lián)系和流程。
如果類(lèi)似這種關(guān)系積累多了,筆者大膽設(shè)想:會(huì)出現(xiàn)自動(dòng)化的模型選擇,探索分析的機(jī)器學(xué)習(xí)應(yīng)用。
2)高層抽象
回憶我們的目標(biāo)是提高數(shù)據(jù)科學(xué)方法的一個(gè)數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用的可重用性和可復(fù)制性,以提高開(kāi)發(fā)效率從而降低成本。以此為出發(fā)點(diǎn)來(lái)思考,如果我們想利用以前的模型應(yīng)用成果,首先需要把其數(shù)據(jù)表示和定義抽象到高層,也就是說(shuō)其數(shù)據(jù)定義是可以泛化的。
用面向?qū)ο缶幊陶Z(yǔ)言的概念來(lái)解釋這點(diǎn)就是:模型的數(shù)據(jù)定義相當(dāng)于一個(gè)對(duì)象,而我們想重用它,需要將其抽象到類(lèi)。
3)機(jī)器可讀
CDM所定義的任何數(shù)據(jù)模型和關(guān)系都必須是機(jī)器可讀的。只有如此,才能夠最大程度地消除數(shù)據(jù)誤讀、輔助數(shù)據(jù)驗(yàn)證而實(shí)現(xiàn)流程自動(dòng)化。
4)數(shù)據(jù)驗(yàn)證
數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用通常會(huì)訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)算法或采用某個(gè)數(shù)據(jù)科學(xué)方法來(lái)搭建一個(gè)模型,該模型訓(xùn)練成功后會(huì)持續(xù)使用已實(shí)現(xiàn)業(yè)務(wù)應(yīng)用。但是如果由于業(yè)務(wù)和業(yè)務(wù)數(shù)據(jù)有變化,或者人為因素,將會(huì)導(dǎo)致模型的輸入數(shù)據(jù)變化。這時(shí)模型的結(jié)果是難以預(yù)料了,依賴(lài)這樣的結(jié)果而做決策或者事物處理顯然是災(zāi)難性的。
所以,我們需要一種機(jī)制來(lái)幫助檢查數(shù)據(jù)特征是否符合預(yù)期,而且為了提高效率和減少人為因素,這個(gè)過(guò)程必須是自動(dòng)化的。
CDM本身就會(huì)對(duì)數(shù)據(jù)進(jìn)行定義,我們只要增加其對(duì)數(shù)據(jù)科學(xué)相關(guān)的定義,例如變量類(lèi)型、范圍和統(tǒng)計(jì)特性等等。這樣CDM就可以較為方便的增加數(shù)據(jù)驗(yàn)證和盤(pán)點(diǎn)的功能。
簡(jiǎn)而言之,CDM需要實(shí)現(xiàn)數(shù)據(jù)的精確定義和描述,可泛化和機(jī)器可讀,支持?jǐn)?shù)據(jù)科學(xué)相關(guān)數(shù)據(jù)特征的驗(yàn)證和盤(pán)點(diǎn)。
CDM技術(shù)參考架構(gòu)
三、CDM技術(shù)參考架構(gòu)
1)傳統(tǒng)數(shù)據(jù)模型
傳統(tǒng)數(shù)據(jù)模型一般有以下幾種:
事件模型
歸檔模型
關(guān)系模型
層次模型
網(wǎng)狀模型
圖模型
這幾種模型各有優(yōu)缺點(diǎn),它們可以表示幾乎所有數(shù)據(jù)關(guān)系和結(jié)構(gòu),各行業(yè)的業(yè)務(wù)系統(tǒng)數(shù)據(jù)全都是屬于這些模型,所以CDM可采用這幾種模型的一兩種或其組合。
筆者認(rèn)為CDM應(yīng)該采用事件模型和圖模型,因?yàn)槠淠康氖蔷_定義和描述數(shù)據(jù),并利于機(jī)器學(xué)習(xí)模型工作。機(jī)器學(xué)習(xí)模型的輸入一般是事件模型,而業(yè)務(wù)數(shù)據(jù)用圖模型來(lái)表示更為直觀和便利。
2)功能結(jié)構(gòu)
從前面的分析中,我們可以得到CDM的基本功能結(jié)構(gòu):
數(shù)據(jù)接入模塊負(fù)責(zé)從外部數(shù)據(jù)源讀取數(shù)據(jù)集和數(shù)據(jù)字典,應(yīng)支持多種數(shù)據(jù)獲取方式,包括RDBMS、HTTP、FTP等。
元數(shù)據(jù)管理模塊主要用來(lái)管理描述數(shù)據(jù)集和外部數(shù)據(jù)源相關(guān)信息的元數(shù)據(jù)。
數(shù)據(jù)表示推理模塊是核心模塊,主要解決對(duì)業(yè)務(wù)數(shù)據(jù)的精確定義,刻畫(huà)數(shù)據(jù)之間的關(guān)系,向上層抽象以支持泛化并支持關(guān)系推理。
串行化解決CDM所維護(hù)數(shù)據(jù)的存儲(chǔ)形式和記錄格式的問(wèn)題。
數(shù)據(jù)獲取模塊向平臺(tái)層提供CDM數(shù)據(jù)的查詢(xún)?cè)L問(wèn)。
另外,除這些基本核心功能之外,CDM還應(yīng)支持?jǐn)?shù)據(jù)驗(yàn)證和輕度數(shù)據(jù)清洗功能以保證數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用流程以良構(gòu)和可控的方式運(yùn)行。請(qǐng)注意,CDM的功能應(yīng)只能滲透到數(shù)據(jù)清洗功能,不能過(guò)多的影響機(jī)器學(xué)習(xí)模型和流程。它主要是在數(shù)據(jù)層對(duì)可復(fù)用機(jī)器學(xué)習(xí)模型提供幫助。
3)技術(shù)參考模型
1. 邏輯視圖
從邏輯架構(gòu)上講,CDM的主體部分可以分為概念抽象層、數(shù)據(jù)表示層和存儲(chǔ)層。
概念抽象層是把業(yè)務(wù)邏輯數(shù)據(jù)和術(shù)語(yǔ)映射到高層抽象概念和術(shù)語(yǔ),以供移植和泛化。
數(shù)據(jù)表示層主要用來(lái)定義如何表示業(yè)務(wù)邏輯數(shù)據(jù),及定義相關(guān)術(shù)語(yǔ)和詞匯,實(shí)體和實(shí)體關(guān)系。為了能夠方便融合多源數(shù)據(jù)和幫助理解業(yè)務(wù)邏輯,還應(yīng)支持知識(shí)和關(guān)系推理。
存儲(chǔ)層顧名思義是解決數(shù)據(jù)的存儲(chǔ)問(wèn)題,概念層和表示層所得到的所有數(shù)據(jù)描述、術(shù)語(yǔ)定義以及實(shí)體關(guān)系等都需要串行化到存儲(chǔ)層,作為平臺(tái)的知識(shí)積累以供訪(fǎng)問(wèn)查詢(xún)。
2. 語(yǔ)義標(biāo)準(zhǔn)
上圖給出了CDM中各邏輯功能模塊語(yǔ)義表述的標(biāo)準(zhǔn),這些語(yǔ)義表述標(biāo)準(zhǔn)已經(jīng)在知識(shí)圖譜中被廣泛采用。CDM本身的作用之一就是積累行業(yè)、數(shù)據(jù)和數(shù)據(jù)科學(xué)知識(shí),所以從這方面講也可看成是知識(shí)圖譜的一個(gè)應(yīng)用。
這些標(biāo)準(zhǔn)都是W3C語(yǔ)義網(wǎng)絡(luò)(Semantic Web)所涉及的技術(shù)棧,它可以提供數(shù)據(jù)的表示、推理、可信性、查詢(xún)和用戶(hù)交互功能。下面簡(jiǎn)要介紹一下:
語(yǔ)義描述和知識(shí)表示
RDF ( Resource Description Framework) 是一個(gè)用于描述 Web 上的資源的框架,提供了針對(duì)數(shù)據(jù)的模型以及語(yǔ)法,可由XML/Turtle等編寫(xiě),且被設(shè)計(jì)為機(jī)器可讀的。它的基本結(jié)構(gòu)是描述和表示一個(gè)三元組,即主語(yǔ)(subject),謂語(yǔ)(predict),賓語(yǔ)(object)。
RDFS (RDF Schema) 為RDF提供了數(shù)據(jù)模型的擴(kuò)展和概念層詞匯表,支持RDF、Turtle、TRIG和JSON-LD表示。
OWL ( Web Ontology Language ) 是web本體定義語(yǔ)言,是一種語(yǔ)義定義,可表達(dá)豐富和復(fù)雜的關(guān)于事物、事物組以及事物關(guān)系的知識(shí)。其升級(jí)版為OWL 2。本體(Ontology)可以被理解成特定領(lǐng)域規(guī)范概念集及其邏輯關(guān)系的描述。本體為特定領(lǐng)域中的信息提供了一個(gè)基本的分類(lèi)框架,同時(shí)也為特定領(lǐng)域中的信息之間的關(guān)聯(lián)性提供了一定程度的邏輯描述,使得特定領(lǐng)域中的信息資源能夠在本體描述的框架上組織成一個(gè)有機(jī)的整體。由于許多領(lǐng)域知識(shí)之間都有一定的關(guān)聯(lián)性,某個(gè)元數(shù)據(jù)或本體中的一些概念可能概念等價(jià)于其他一些元數(shù)據(jù)或本體中的另外一些概念,故這些特定領(lǐng)域的本體與元數(shù)據(jù)都存在著一定的語(yǔ)義關(guān)聯(lián)性。這種關(guān)聯(lián)性可以通過(guò)其關(guān)聯(lián)描述來(lái)刻畫(huà)。于是,關(guān)聯(lián)語(yǔ)義數(shù)據(jù)集為我們提供了跨學(xué)科跨領(lǐng)域的語(yǔ)義數(shù)據(jù)的整合體。
基于RDF/OWL的通用詞匯表和模型
DCAT(Data Catalog Vocabulary)是構(gòu)建在RDF上的一個(gè)擴(kuò)展詞匯表,主要用來(lái)描述數(shù)據(jù)目錄和數(shù)據(jù)集。
DC ( Dublin Core Element Set ) 都柏林核心元素集,是對(duì)web中資源定義的通用核心標(biāo)準(zhǔn),它定義了一些通用詞匯以供擴(kuò)展。
SKOS ( Simple Knowledge Organization System ),由W3C提出的,在語(yǔ)義網(wǎng)框架下,用機(jī)器可理解的語(yǔ)言來(lái)表示知識(shí)組織系統(tǒng)的一個(gè)模型。
FOAF ( Friend Of A Friend ), 是一種 XML/RDF 詞匯表,它以計(jì)算機(jī)可讀的形式描述個(gè)人信息。
JSON-LD, 已JSON格式表示鏈接數(shù)據(jù)(Linked Data)的一種規(guī)范, 方便提供RestFul服務(wù)從而構(gòu)造微服務(wù)體系架構(gòu)。
Microdata,在HTML5中嵌入語(yǔ)義信息。
其他輔助類(lèi)工具
R2RML (RDB to RDF Mapping Language) 是可以定制化的把關(guān)系模型映射到RDF的一種表示語(yǔ)言。
SPARQL,一種通用的基于RDF的查詢(xún)語(yǔ)言和數(shù)據(jù)獲取協(xié)議。
3. 開(kāi)源軟件和工具
我們可以使用開(kāi)源軟件和工具幫助我們實(shí)現(xiàn)CDM。例如Apache Jena,提供了RDF相關(guān)API,支持OWL,并做了一些擴(kuò)展。另外Jena還包含了三元組存儲(chǔ)庫(kù)TDB和知識(shí)推理API。
斯坦福大學(xué)的DeepDive,可以從模式數(shù)據(jù)中提取知識(shí)和關(guān)系,它采用類(lèi)似datalog的數(shù)據(jù)描述語(yǔ)言。
至于本體建模工具,我們可以采用protégé。
存儲(chǔ)層工具我們可以選用類(lèi)似Neo4j這樣的原生圖數(shù)據(jù)庫(kù)或類(lèi)似TDB多元組存儲(chǔ)庫(kù),也可選用關(guān)系數(shù)據(jù)庫(kù)。
其他細(xì)分領(lǐng)域工具也有很多,諸如OpenLink Virtuoso,Ultrawrap,Ontop等。下圖給出了CDM的一個(gè)參考架構(gòu):
總結(jié):
總的來(lái)說(shuō),CDM有三個(gè)核心組件:1. 數(shù)據(jù)接入;2. 數(shù)據(jù)語(yǔ)義表示和存儲(chǔ);3. 數(shù)據(jù)驗(yàn)證。其中,數(shù)據(jù)接入組件對(duì)接外部數(shù)據(jù)源,數(shù)據(jù)語(yǔ)義表示和存儲(chǔ)非常類(lèi)似于一個(gè)知識(shí)圖譜,但可能更偏重于搭建業(yè)務(wù)語(yǔ)義和數(shù)據(jù)科學(xué)語(yǔ)義的橋梁,而數(shù)據(jù)驗(yàn)證則為數(shù)據(jù)驅(qū)動(dòng)型應(yīng)用提供數(shù)據(jù)可靠性的增強(qiáng)。
筆者會(huì)在后續(xù)系列中給出一個(gè)具體的例子進(jìn)一步闡述CDM的結(jié)構(gòu)和作用。
責(zé)任編輯:陳近梅