图(关系网络)数据分析及阿里应用
2019年1月18日,由阿里巴巴MaxCompute開(kāi)發(fā)者社區(qū)和阿里云棲社區(qū)聯(lián)合主辦的“阿里云棲開(kāi)發(fā)者沙龍大數(shù)據(jù)技術(shù)專場(chǎng)”走近北京聯(lián)合大學(xué),本次技術(shù)沙龍上,阿里巴巴資深技術(shù)專家錢正平為大家分享了大數(shù)據(jù)技術(shù)背景下圖數(shù)據(jù)的應(yīng)用前景,以及阿里巴巴在圖數(shù)據(jù)的建模、查詢和系統(tǒng)優(yōu)化等方面做出的初步探索。
以下內(nèi)容根據(jù)演講視頻以及PPT整理而成。
一、什么是圖數(shù)據(jù)?
下面的關(guān)系網(wǎng)絡(luò)展示了一個(gè)點(diǎn)和邊構(gòu)成的數(shù)據(jù)模型,點(diǎn)表示實(shí)體,邊表示兩個(gè)實(shí)體間的關(guān)系。關(guān)系網(wǎng)絡(luò)極具靈活性,能夠在統(tǒng)一視圖里展示異構(gòu)信息,其中的邊可能來(lái)自不同表。比如,下圖中的邊表示了兩個(gè)明星間的關(guān)系,可能由若干張表通過(guò)join操作形成。
如今,機(jī)器學(xué)習(xí)的數(shù)據(jù)分析pipeline可應(yīng)用于各行各業(yè)各個(gè)門類的數(shù)據(jù),來(lái)幫助企業(yè)更好地決策。圖數(shù)據(jù)的價(jià)值在于它能夠顯式地表達(dá)出數(shù)據(jù)間的復(fù)雜關(guān)聯(lián)結(jié)構(gòu),以輔助機(jī)器學(xué)習(xí)的數(shù)據(jù)分析過(guò)程,幫助機(jī)器學(xué)習(xí)算法更好地挖掘出數(shù)據(jù)背后的結(jié)構(gòu)特征,提供更精準(zhǔn)更可靠的決策支持。圖數(shù)據(jù)的這種能力對(duì)一些領(lǐng)域格外重要。
Google早期使用的搜索算法pageRank就利用了圖數(shù)據(jù)的這種能力,它利用網(wǎng)頁(yè)間的相互鏈接信息來(lái)決定網(wǎng)頁(yè)的重要程度。具體來(lái)說(shuō),被越多網(wǎng)頁(yè)鏈接的網(wǎng)頁(yè)越重要,被越重要的網(wǎng)頁(yè)鏈接的網(wǎng)頁(yè)也越重要。Google利用圖數(shù)據(jù)重新定義了搜索,取得了非常卓越的成功。
圖數(shù)據(jù)對(duì)阿里巴巴同樣意義重大。以阿里巴巴的應(yīng)用生態(tài)為例,天貓包含了用戶的在線交易信息,高德地圖包含了用戶的出行信息,優(yōu)酷土豆等包含了用戶的觀影信息,以人為維度將這些信息關(guān)聯(lián)起來(lái)可以得到關(guān)于某用戶的完整信息,以理解用戶偏好。圖數(shù)據(jù)模型能夠?qū)⒃S多分散的圖場(chǎng)景整合起來(lái),形成一個(gè)龐大的圖結(jié)構(gòu)。阿里巴巴的圖結(jié)構(gòu)包含幾十億個(gè)點(diǎn),成百上千億條邊,同時(shí)阿里應(yīng)用巨大的日交易量也使得圖結(jié)構(gòu)千變?nèi)f化,這些都為圖數(shù)據(jù)的計(jì)算帶來(lái)了嚴(yán)峻的挑戰(zhàn)。
圖應(yīng)用與具體場(chǎng)景相關(guān),阿里巴巴針對(duì)不同的應(yīng)用場(chǎng)景設(shè)計(jì)了不同的圖數(shù)據(jù)處理算法。以一個(gè)很長(zhǎng)的數(shù)字序列為例,對(duì)其進(jìn)行數(shù)據(jù)分析的第一步是“看”,即觀察該序列可能存在的特征,此外,可能使用特征統(tǒng)計(jì)分析該序列包含某數(shù)字的個(gè)數(shù)。更進(jìn)一步,模式匹配可以探尋該序列中可能存在的模式子串。最后,機(jī)器學(xué)習(xí)算法比如神經(jīng)網(wǎng)絡(luò)能幫助挖掘數(shù)字序列背后的規(guī)律。對(duì)該序列進(jìn)行數(shù)據(jù)分析能夠幫助在線預(yù)測(cè)相關(guān)信息,比如數(shù)字序列的下一位數(shù)字等。圖數(shù)據(jù)分析方法能幫助洞察圖數(shù)據(jù),阿里巴巴在圖數(shù)據(jù)方面的應(yīng)用包括五類。
第一類是“看”,下圖展示了經(jīng)敏感信息處理后的阿里巴巴內(nèi)部使用的可視化平臺(tái)。真實(shí)環(huán)境中,商業(yè)問(wèn)題可能存在多方面因素,研判業(yè)務(wù)問(wèn)題非常困難。將圖結(jié)構(gòu)應(yīng)用于可視化平臺(tái)能夠整合多維度數(shù)據(jù),動(dòng)態(tài)地將多維度數(shù)據(jù)關(guān)聯(lián)起來(lái),以幫助用戶更好地決策。
第二類圖數(shù)據(jù)應(yīng)用是圖算法。比如,pageRank算法利用圖結(jié)構(gòu)計(jì)算每個(gè)節(jié)點(diǎn)的權(quán)重值、連通分支等。連通分支可用于計(jì)算具有不同ID的實(shí)體,比如手機(jī)號(hào)、e-mail以及瀏覽器cookie等是否同屬于一個(gè)自然人,從而提高企業(yè)的廣告投放準(zhǔn)確率。舉例來(lái)說(shuō),淘寶用戶使用瀏覽器購(gòu)買商品后,瀏覽器將記錄用戶的cookie,下一次用戶瀏覽新浪時(shí),新浪可以根據(jù)該cookie獲取用戶的淘寶ID,從而獲取用戶的偏好以投放相關(guān)廣告。連通分支將用戶在不同應(yīng)用的相關(guān)信息關(guān)聯(lián)起來(lái),從而更好地了解用戶偏好,實(shí)現(xiàn)個(gè)性化應(yīng)用。
第三類圖數(shù)據(jù)應(yīng)用是模式,比如基于子圖模式的異常檢測(cè)。圖結(jié)構(gòu)將不同表數(shù)據(jù)關(guān)聯(lián)起來(lái),從而暴露出日志信息無(wú)法表露出來(lái)的問(wèn)題。比如,左圖揭示了各個(gè)用戶轉(zhuǎn)賬行為間的關(guān)聯(lián),第二幅圖揭示了三個(gè)用戶與四個(gè)商品間頻繁的交易模式,這些信息僅依賴系統(tǒng)文本文件中的日志都無(wú)法獲得。據(jù)報(bào)道,僅有百分之一的安全漏洞問(wèn)題能通過(guò)日志分析檢測(cè)出來(lái),日志的單規(guī)則信息是不全面的,利用圖結(jié)構(gòu)信息關(guān)聯(lián)不同數(shù)據(jù)非常必要。左圖展示了簡(jiǎn)單的淘寶刷單模式,刷單人為商家刷單后,商家通過(guò)支付寶即時(shí)支付刷單費(fèi)用,形成了圖結(jié)構(gòu)中的“環(huán)”,阿里巴巴通過(guò)檢測(cè)“環(huán)”以檢測(cè)簡(jiǎn)單的刷單行為。提供刷單服務(wù)的公司,大多運(yùn)營(yíng)大量的虛假賬號(hào)來(lái)滿足刷單請(qǐng)求,每個(gè)虛假賬號(hào)可能同時(shí)為多個(gè)商品提供刷單服務(wù)。阿里巴巴使用圖結(jié)構(gòu)來(lái)表示用戶與商品間的購(gòu)買行為,k1個(gè)用戶在一定較短時(shí)間內(nèi)與v2個(gè)商品發(fā)生完全購(gòu)買的行為,意味著k1個(gè)用戶中可能存在大量虛假賬號(hào)。圖結(jié)構(gòu)增強(qiáng)了系統(tǒng)對(duì)用戶行為的捕捉能力。
第四類圖數(shù)據(jù)應(yīng)用是機(jī)器學(xué)習(xí),比如利用基于圖的機(jī)器學(xué)習(xí)應(yīng)用實(shí)現(xiàn)淘寶推薦。為了計(jì)算某個(gè)用戶對(duì)某個(gè)商品的興趣度,阿里巴巴利用商品的重要屬性比如標(biāo)簽等計(jì)算商品間的相似度,同時(shí)對(duì)用戶的重要屬性建模。也就是說(shuō),通過(guò)用戶對(duì)相似商品的感興趣程度預(yù)測(cè)用戶對(duì)當(dāng)前商品的興趣度,從而實(shí)現(xiàn)商品推薦。這些信息無(wú)法單純依賴某張表得到。比如,某用戶喜歡夏季羽絨服,同時(shí)喜歡某品牌,單純依賴表信息的商品推薦不會(huì)給該用戶推薦相關(guān)品牌的冬季羽絨服,而連接了兩方面信息的圖結(jié)構(gòu)則可能推薦該商品,提高了商品推薦的準(zhǔn)確度。圖結(jié)構(gòu)信息還有利于解決冷啟動(dòng)及結(jié)果可解釋性等難題。
第五類圖數(shù)據(jù)應(yīng)用是知識(shí)圖譜,比如基于知識(shí)圖譜實(shí)現(xiàn)在線推理,提供在線智能服務(wù)。左邊的例子展示了雙11期間淘寶的湊單應(yīng)用,即為用戶推薦湊單商品以幫助用戶獲得滿減折扣。阿里巴巴利用商品相似性圖,能夠方便地計(jì)算商品A的所有相似商品,從而實(shí)現(xiàn)相似商品推薦。當(dāng)然,相似商品往往具有相同功能,而已經(jīng)購(gòu)買了某商品的用戶很可能不愿意重復(fù)購(gòu)買類似商品。因此,阿里巴巴又引入了隨機(jī)游走機(jī)制,通過(guò)在商品相似圖中以一定概率隨機(jī)游走來(lái)選擇推薦商品,平衡商品的相似性和多樣性。應(yīng)用圖結(jié)構(gòu)構(gòu)建知識(shí)圖譜的另一個(gè)例子是天貓精靈。天貓精靈通過(guò)構(gòu)建多種類型的知識(shí)圖譜來(lái)回答用戶提出的各種問(wèn)題,比如娛樂(lè)圖譜能夠展示電影的導(dǎo)演、演員,以及他們的其他電影作品等信息。“李未央”是某電視劇的角色名,假設(shè)用戶提問(wèn)“李未央還演了什么電影”,天貓精靈將通過(guò)分詞得到“李未央”,知識(shí)圖譜算法允許從“李未央”出發(fā)探究相關(guān)演員,從而進(jìn)一步探究相關(guān)電影,這是普通的問(wèn)答系統(tǒng)無(wú)法做到的。相比谷歌、微軟等公司基于互聯(lián)網(wǎng)數(shù)據(jù)構(gòu)建知識(shí)圖譜,阿里巴巴利用自身結(jié)構(gòu)化數(shù)據(jù)來(lái)源的高數(shù)據(jù)質(zhì)量?jī)?yōu)點(diǎn),能夠構(gòu)建出更優(yōu)質(zhì)的圖譜以實(shí)現(xiàn)在線推理。
二、大數(shù)據(jù)系統(tǒng)趨勢(shì)與挑戰(zhàn)
早期,大數(shù)據(jù)技術(shù)采用IOE模式,依賴單點(diǎn)運(yùn)行的Oracle機(jī)器等高成本硬件。2009年,MaxCompute使用更低成本的機(jī)器集群來(lái)解決相同規(guī)模的計(jì)算問(wèn)題,提高軟件的容災(zāi)能力。2012年,實(shí)時(shí)風(fēng)控、大屏、視頻分析等應(yīng)用向大數(shù)據(jù)技術(shù)提出了更高的計(jì)算時(shí)延要求。如今,更豐富的數(shù)據(jù)使用場(chǎng)景需求使得機(jī)器學(xué)習(xí)與異構(gòu)信息網(wǎng)絡(luò)圖技術(shù)比如關(guān)聯(lián)分析、MaxGraph等得到了發(fā)展。不斷演化的需求加速了大數(shù)據(jù)技術(shù)的發(fā)展。
關(guān)聯(lián)分析背后的邏輯架構(gòu)依賴于一個(gè)從一系列數(shù)據(jù)源構(gòu)建得到的圖模型(Graph model),數(shù)據(jù)科學(xué)家基于該圖模型完成離線的數(shù)據(jù)挖掘任務(wù),業(yè)務(wù)操作員基于該圖模型實(shí)現(xiàn)在線推理、提供在線服務(wù),此外,該圖模型還根據(jù)系統(tǒng)事件實(shí)時(shí)更新。總的來(lái)說(shuō),關(guān)聯(lián)分析需要滿足多維度的需求。
下圖展示了基于圖結(jié)構(gòu)的開(kāi)源解決方案。第一幅圖展示了圖的遍歷,用于查詢圖中各項(xiàng)內(nèi)容。第二幅圖展示了圖算法,包括pageRank等。第三幅圖展示了模式匹配,第四幅圖展示了機(jī)器學(xué)習(xí)。圖結(jié)構(gòu)解決方案的開(kāi)源化追求可擴(kuò)展性,以處理大規(guī)模數(shù)據(jù)計(jì)算任務(wù)。
構(gòu)建圖應(yīng)用要求組合多個(gè)系統(tǒng)的能力,比如圖數(shù)據(jù)的存儲(chǔ)、離線計(jì)算引擎以及在線計(jì)算服務(wù)器等,構(gòu)建復(fù)雜度和運(yùn)維難度都極高。
MaxGraph產(chǎn)品通過(guò)實(shí)時(shí)或離線方式構(gòu)建關(guān)系數(shù)據(jù)并存儲(chǔ)為圖結(jié)構(gòu),從而利用統(tǒng)一的分布式“瞬時(shí)計(jì)算”引擎來(lái)支持辨別、計(jì)算、匹配與機(jī)器學(xué)習(xí)等功能。基于MaxGraph提供的功能,一些上層圖應(yīng)用以及智能應(yīng)用包括關(guān)系網(wǎng)絡(luò)分析等才得以實(shí)現(xiàn)。
三、圖建模與存儲(chǔ)
下圖展示了一個(gè)圖模型,由點(diǎn)和邊構(gòu)成,并且允許點(diǎn)和邊都攜帶屬性。
圖建模時(shí)需要關(guān)注數(shù)據(jù)間的關(guān)聯(lián)。以“電子郵件通信中的異常檢測(cè)系統(tǒng)”為例,該系統(tǒng)要求在若干個(gè)相互發(fā)送e-mail的用戶行為中檢測(cè)風(fēng)險(xiǎn)。最直觀的圖建模方式是將用戶建模成圖的點(diǎn),用戶間相互發(fā)送的e-mail建模成圖的邊,但這樣建模的問(wèn)題在于圖模型中沒(méi)有體現(xiàn)e-mail這個(gè)實(shí)體,無(wú)法表達(dá)“用戶自己給自己發(fā)送e-mail”等行為。
正確的圖建模方式應(yīng)是將e-mail建模成圖的點(diǎn),同時(shí)實(shí)現(xiàn)e-mail與該e-mail發(fā)送者、收件人間的關(guān)聯(lián)。在表達(dá)“用戶自己給自己發(fā)送e-mail”時(shí),將e-mail建模成一點(diǎn),該點(diǎn)關(guān)聯(lián)的發(fā)送者和收件人都指向相同用戶。好的建模方式能夠在系統(tǒng)規(guī)模、問(wèn)題復(fù)雜性提升的情況下依然很好地捕獲所有關(guān)鍵信息,滿足用戶需求。
使用這樣的建模方式來(lái)表達(dá)“對(duì)回復(fù)郵件的回復(fù)”行為時(shí),“回復(fù)郵件”與“回復(fù)郵件的回復(fù)”都是e-mail,都應(yīng)該被建模為圖的點(diǎn),“回復(fù)郵件”與相關(guān)的“回復(fù)郵件的回復(fù)”存在回復(fù)與被回復(fù)關(guān)系,應(yīng)建模為邊。判斷圖建模合理與否的關(guān)鍵在于判斷圖模型能否表達(dá)相關(guān)需求,比如,本示例中的圖模型能否表達(dá)“熱烈的郵件討論”行為等。
阿里巴巴采用分布式圖存儲(chǔ)來(lái)存儲(chǔ)圖模型的相關(guān)數(shù)據(jù)。
四、圖查詢語(yǔ)言簡(jiǎn)介
尋找具有某特點(diǎn)的“點(diǎn)集合”或者“邊集合”是圖數(shù)據(jù)查詢的常見(jiàn)應(yīng)用。圖查詢語(yǔ)言“Gremlin”可用于遍歷圖,尋找相關(guān)“點(diǎn)集合”或“邊集合”,并基于獲得的集合進(jìn)行“groupby”等操作來(lái)構(gòu)造最終查詢結(jié)果。
阿里巴巴優(yōu)化了圖查詢語(yǔ)言,使得系統(tǒng)可以快速地實(shí)現(xiàn)復(fù)雜數(shù)據(jù)結(jié)構(gòu)的查詢。最新的競(jìng)品分析顯示,“Gremlin”圖查詢語(yǔ)言具有數(shù)據(jù)加載快、可擴(kuò)展與低延遲德等優(yōu)點(diǎn)。
五、全圖計(jì)算與分析-高層語(yǔ)言
除了圖查詢,全圖計(jì)算與分析也是圖應(yīng)用的難點(diǎn),阿里巴巴提供了類似SQL的抽象語(yǔ)言FLASH來(lái)降低全圖計(jì)算的難度。
阿里巴巴的抽象語(yǔ)言FLASH引入了循環(huán)語(yǔ)句,具有比SQL更強(qiáng)大的表達(dá)能力,將FLASH應(yīng)用于連通分支算法,僅需幾行代碼就可以實(shí)現(xiàn)該算法功能。
相比之下,使用C++語(yǔ)言實(shí)現(xiàn)連通分支算法所需要的代碼量更大。
下圖展示了目前已驗(yàn)證的FLASH抽象語(yǔ)言可表達(dá)的所有算法。
另外,阿里還使用Flink評(píng)估了FLASH語(yǔ)言的表達(dá)能力。左表第二列是使用Gelly語(yǔ)言實(shí)現(xiàn)相關(guān)算法使用的代碼行數(shù),第三列是使用FLASH語(yǔ)言實(shí)現(xiàn)相同算法所用的代碼行數(shù)。總的來(lái)說(shuō),FLASH語(yǔ)言實(shí)現(xiàn)相同算法所需要的代碼行數(shù)僅為Gelly語(yǔ)言的1/10甚至1/20,但兩種實(shí)現(xiàn)語(yǔ)言帶來(lái)的系統(tǒng)開(kāi)銷是幾乎一致的。
六、場(chǎng)景示例
阿里云網(wǎng)絡(luò)安全引入圖結(jié)構(gòu)以構(gòu)建知識(shí)圖譜,包括域名、主機(jī)IP、域名服務(wù)器等信息。引入圖結(jié)構(gòu)有利于在海量信息中及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)中的隱藏模式,從而發(fā)現(xiàn)漏洞和威脅。相關(guān)實(shí)驗(yàn)顯示,將海量數(shù)據(jù)預(yù)先構(gòu)建成圖再實(shí)時(shí)查詢僅需500毫秒,相反,不預(yù)先將海量數(shù)據(jù)構(gòu)建成圖而采用SQL查詢所需的時(shí)間高達(dá)80分鐘,圖結(jié)構(gòu)能為查詢帶來(lái)數(shù)量級(jí)的性能提升,從而給業(yè)務(wù)帶來(lái)質(zhì)的變化。
圖技術(shù)在美國(guó)同樣引起了廣泛關(guān)注。最新數(shù)據(jù)顯示,76%的FORTUNE 100語(yǔ)言都采用了圖技術(shù),排名前25的金融企業(yè)中有20家都利用圖技術(shù)呈現(xiàn)交易信息。
總的來(lái)說(shuō),圖計(jì)算是大數(shù)據(jù)計(jì)算的有效工具,圖數(shù)據(jù)能夠提供更精準(zhǔn)、更可靠的信息,以增強(qiáng)大數(shù)據(jù)分析能力,圖計(jì)算將變得越來(lái)越重要。成功的圖應(yīng)用離不開(kāi)建模、查詢和系統(tǒng)優(yōu)化等多個(gè)方面,大規(guī)模的動(dòng)態(tài)圖計(jì)算還存在許多問(wèn)題尚未解決,未來(lái)阿里巴巴將致力于在這些方面做出貢獻(xiàn),為圖應(yīng)用開(kāi)發(fā)者們帶來(lái)福音。阿里巴巴發(fā)展圖計(jì)算依賴于“橫向”和“縱向”兩個(gè)方面的合作,一方面,“橫向”需要和阿里巴巴內(nèi)部的硬件、網(wǎng)絡(luò)等團(tuán)隊(duì)合作,以利用現(xiàn)有技術(shù)優(yōu)化圖計(jì)算的性能,從而給業(yè)務(wù)帶來(lái)質(zhì)的突破。另一方面,“縱向”需要和行業(yè)內(nèi)領(lǐng)域?qū)<揖o密合作,利用圖結(jié)構(gòu)解決企業(yè)真實(shí)問(wèn)題,使技術(shù)為業(yè)務(wù)賦能、創(chuàng)造更多價(jià)值。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的图(关系网络)数据分析及阿里应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Node.js 应用故障排查手册 ——
- 下一篇: 阿里云明确生态边界:不做SaaS、被集成