本文是我參加BDTC大會(huì),在自然語(yǔ)言處理+行業(yè)論壇上的分享的講稿。完成與2021年1月23日。
附大會(huì)鏈接
CSDN視頻鏈接
0. 自我介紹
大家好,我是來(lái)自中科天璣公司的陳波,之前是在計(jì)算所工作,后來(lái)根據(jù)大老板,就是程老師的安排,到公司做產(chǎn)業(yè)化的工作。天璣公司主要是面向黨政軍客戶(hù)提供大數(shù)據(jù)產(chǎn)品和解決方案。我所在部門(mén)叫智能情報(bào)產(chǎn)品部,主要工作就是面向行業(yè)需求,基于整個(gè)天璣團(tuán)隊(duì)的先進(jìn)技術(shù),打造智能情報(bào)分析產(chǎn)品。
我今天分享的主題是“新一代大數(shù)據(jù)智能分析引擎探索實(shí)踐”,核心內(nèi)容是這兩三年我們整個(gè)天璣團(tuán)隊(duì)(包括實(shí)驗(yàn)室和公司)重點(diǎn)打造的GoIN系統(tǒng),我會(huì)從以下幾個(gè)方面向大家匯報(bào)我們的一些理念和技術(shù)探索,首先介紹我們對(duì)于大數(shù)據(jù)分析系統(tǒng)的觀察和認(rèn)識(shí),以及做這個(gè)系統(tǒng)的動(dòng)機(jī),然后介紹我們的核心方法理念,這些理念是我們產(chǎn)品的內(nèi)核,然后介紹幾個(gè)關(guān)鍵技術(shù),這幾個(gè)關(guān)鍵技術(shù)構(gòu)成了系統(tǒng)最重要的能力。最后會(huì)通過(guò)一個(gè)實(shí)際案例,把業(yè)務(wù)、理念和技術(shù)串起來(lái)。
1. 背景與動(dòng)機(jī)
首先,我們開(kāi)始第一部分,從兩家美國(guó)公司說(shuō)起我們觀察到的大數(shù)據(jù)分析系統(tǒng)窗口期。
第一家公司tabular,產(chǎn)品也叫tabular,很多做數(shù)據(jù)分析的同仁應(yīng)該都知道,這個(gè)產(chǎn)品做BI和可視化非常強(qiáng)。公司2003年創(chuàng)立,2013年上市,專(zhuān)業(yè)做數(shù)據(jù)可視化工具,將數(shù)據(jù)運(yùn)算與美觀的圖表完美地結(jié)合在一起,比傳統(tǒng)的SPSS、SAS等工具先進(jìn)了一個(gè)時(shí)代。
第二家公司是這幾年特別熱的palantir,這家公司我們從14年開(kāi)始聽(tīng)說(shuō),然后一直學(xué)到現(xiàn)在。Palantir可能是大數(shù)據(jù)分析領(lǐng)域市值/估值最高的公司,2020年上市,目前市值大約是450億美元,不到半年時(shí)間,漲了一倍多,要知道,這家公司之前一直虧錢(qián)。Palantir的主要特點(diǎn)是將各類(lèi)數(shù)據(jù)進(jìn)行關(guān)聯(lián)、分析和可視化呈現(xiàn),為專(zhuān)業(yè)分析人員提供便利的輔助支持。
以這兩家公司為代表,我們認(rèn)為,國(guó)際大數(shù)據(jù)分析行業(yè)生態(tài)反映了大數(shù)據(jù)系統(tǒng),尤其是大數(shù)據(jù)分析系統(tǒng)技術(shù)轉(zhuǎn)型變更,是從以感知為目標(biāo)逐漸轉(zhuǎn)變?yōu)橐詻Q策為目標(biāo)。值得一提的是,大概十多年前,天璣團(tuán)隊(duì)就開(kāi)始做輿情系統(tǒng),輿情系統(tǒng)就屬于以感知為目標(biāo)的大數(shù)據(jù)情報(bào)分析系統(tǒng),目前市面上的輿情產(chǎn)品特別多,屬于紅海市場(chǎng)。所以這也說(shuō)明一個(gè)問(wèn)題,就是這塊的市場(chǎng)、技術(shù)都相對(duì)很成熟,同時(shí)輿情系統(tǒng)本身也在尋求新的技術(shù)突破。然后就是到了當(dāng)前,以決策為目標(biāo)的分析系統(tǒng),Palantir是其中典型代表。這里說(shuō)明一下,我說(shuō)的是針對(duì)一些行業(yè)的大數(shù)據(jù)分析應(yīng)用,在互聯(lián)網(wǎng)這種轉(zhuǎn)變已經(jīng)發(fā)生,甚至到了高級(jí)階段了,那是因?yàn)榛ヂ?lián)網(wǎng)應(yīng)用多、用戶(hù)多、數(shù)據(jù)量大,但是很多行業(yè)并不是這樣。互聯(lián)網(wǎng)公司感知數(shù)據(jù)的成本可能比較低,只要有用戶(hù),就會(huì)逐漸積累大量數(shù)據(jù),主要分析的數(shù)據(jù)就是這些業(yè)務(wù)數(shù)據(jù),比如用戶(hù)訪(fǎng)問(wèn)日志(Web log)、用戶(hù)瀏覽記錄、訂單記錄等,所以互聯(lián)網(wǎng)公司只要解決了存儲(chǔ)的問(wèn)題,就可以開(kāi)始分析,做行為鑒別、用戶(hù)畫(huà)像等等,進(jìn)一步地就直接轉(zhuǎn)化為決策和行動(dòng),比如廣告推薦、精準(zhǔn)營(yíng)銷(xiāo)、產(chǎn)品推薦等等。但是我們的客戶(hù)用戶(hù)尤其是政府,做社會(huì)治理和服務(wù),需要發(fā)現(xiàn)問(wèn)題解決問(wèn)題,然后可能卡在第一步。所以先解決感知問(wèn)題。
當(dāng)然下一步肯定也是要以行動(dòng)為目標(biāo),形成及時(shí)感知、準(zhǔn)確分析、快速行動(dòng)的能力。比如對(duì)于國(guó)際輿論,長(zhǎng)期以來(lái)咱們國(guó)家處于劣勢(shì)沒(méi)有太多話(huà)語(yǔ)權(quán),像新冠疫情爆發(fā)初期,很多國(guó)家都來(lái)指責(zé)中國(guó)。這可能就是下一步大數(shù)據(jù)分析系統(tǒng)要解決的問(wèn)題。
除了技術(shù)層面,我們來(lái)看下業(yè)務(wù)層面,我們主要是做情報(bào)分析。情報(bào)分析應(yīng)用非常廣泛,包括政治情報(bào)、安全情報(bào)、軍事情報(bào)、商業(yè)情報(bào)、科技情報(bào)。我這里是從比較宏觀層面列舉了幾個(gè)例子,來(lái)說(shuō)明我們面對(duì)的基于和挑戰(zhàn)。習(xí)近平總書(shū)記說(shuō),放眼世界,我們面對(duì)的是百年未有之大變局。后來(lái)習(xí)總書(shū)記又多次強(qiáng)調(diào)了這個(gè)觀點(diǎn),說(shuō)當(dāng)前中國(guó)處于近代以來(lái)最好的發(fā)展時(shí)期,世界處于百年未有之大變局,兩者同步交織、相互激蕩。這個(gè)變局體現(xiàn)在多個(gè)層面,新冠疫情深刻改變了世界,全球可能會(huì)有幾億人感染,甚至成為新的流感。中美關(guān)系在川建國(guó)同志的不懈努力下激烈動(dòng)蕩,雖然拜登上臺(tái)了,但是老大和老二的根本性矛盾就擺在那。還有一帶一路戰(zhàn)略,新基建雙循環(huán)等等。這些問(wèn)題對(duì)情報(bào)分析提出來(lái)了嚴(yán)峻的考驗(yàn),我們作為技術(shù)人員,更需要研發(fā)新的技術(shù)進(jìn)行應(yīng)對(duì)。
那么具體來(lái)看,什么是以決策為目標(biāo)?主要是為用戶(hù)提供診斷性、預(yù)測(cè)性分析,不光要看到現(xiàn)象,還要現(xiàn)象看到本質(zhì),挖掘現(xiàn)象背后的深層次原因、獲得深層認(rèn)知。在情報(bào)分析中,我們經(jīng)常會(huì)問(wèn)這些問(wèn)題:XX組織的幕后資金鏈怎樣?XX交易所是否存在洗錢(qián)交易行為?……等等。很重要的一點(diǎn),任務(wù)是高度變化的。
這里有一個(gè)例子是分析某恐怖組織的資金來(lái)源。首先是物理世界,穆罕默德軍的主要成員馬蘇德、阿卜杜拉都跟塔利班有聯(lián)系,塔利班主要在阿富汗;同時(shí)掌握了在以色列的證據(jù),以色列有其他一些組織ISIS等,關(guān)聯(lián)的一個(gè)組織是Lashkar-e-Taiba,我們想知道巴基斯坦是不是有關(guān)系,這是已知的物理空間。為了解決這個(gè),我們轉(zhuǎn)到網(wǎng)絡(luò)空間,找到宣傳網(wǎng)站和廣告網(wǎng)站,通過(guò)宣傳網(wǎng)站找到信托機(jī)構(gòu)、銀行賬號(hào),發(fā)現(xiàn)有開(kāi)放募捐機(jī)構(gòu)給它轉(zhuǎn)錢(qián),然后機(jī)構(gòu)委托人以及他們的Facebook賬號(hào),關(guān)聯(lián)到了共同好友,其中一個(gè)人通過(guò)公開(kāi)信息顯示在巴基斯坦政府任職。從而實(shí)現(xiàn)了一個(gè)網(wǎng)絡(luò)環(huán)路,將物理世界、信息網(wǎng)絡(luò)、社交網(wǎng)絡(luò)串聯(lián)起來(lái),這樣通過(guò)數(shù)據(jù)深層關(guān)聯(lián)融合和挖掘分析,獲得了情報(bào)。
回答這些問(wèn)題成為我們做大數(shù)據(jù)智能分析的動(dòng)機(jī),也就是我們的方案,面向情報(bào)不確定性探索大數(shù)據(jù)深度分析應(yīng)用,通過(guò)對(duì)多源異構(gòu)數(shù)據(jù)深度解析與關(guān)聯(lián)融合,形成人機(jī)混合的智能分析系統(tǒng),為分析人員提供分析框架、智能算法、靈活工具,幫助用戶(hù)從數(shù)據(jù)中挖掘情報(bào)。我們始終認(rèn)為,機(jī)器不能取代人,而是為人服務(wù)。為了解決應(yīng)對(duì)情報(bào)分析的不確定性,系統(tǒng)應(yīng)該具有一定靈活性。當(dāng)然,關(guān)于情報(bào)分析系統(tǒng)是平臺(tái)化還是業(yè)務(wù)化,有很多不同看法,大家可以從不同維度進(jìn)行討論。
2. 核心理念
下面我介紹第二部分,核心的技術(shù)理念。最關(guān)鍵的就是通過(guò)廣譜關(guān)聯(lián)分析理論,實(shí)現(xiàn)多源異質(zhì)大數(shù)據(jù)關(guān)聯(lián)、映射和融合,構(gòu)建形成動(dòng)態(tài)信息網(wǎng)絡(luò),進(jìn)一步采用領(lǐng)域適配的智能關(guān)聯(lián)分析算法,實(shí)現(xiàn)從數(shù)據(jù)到信息到知識(shí)到情報(bào)的挖掘。這個(gè)核心理念的出發(fā)點(diǎn)認(rèn)為,任何目標(biāo)都會(huì)在人機(jī)物融合的大數(shù)據(jù)空間留下線(xiàn)索,同時(shí)一系列微弱的線(xiàn)索通過(guò)網(wǎng)絡(luò)效應(yīng)將被不斷關(guān)聯(lián)放大。
展開(kāi)來(lái)說(shuō),第一個(gè)理念是從戰(zhàn)略到任務(wù)。和很多任務(wù)一樣,情報(bào)分析任務(wù)實(shí)施和完成也是通過(guò)對(duì)任務(wù)進(jìn)行自頂向下分解,逐步解決回答,最終完成整個(gè)任務(wù)。在這個(gè)過(guò)程中,我們?yōu)橛脩?hù)提供思維導(dǎo)圖工具,方便用戶(hù)對(duì)任務(wù)進(jìn)行分解、關(guān)聯(lián)、協(xié)同和匯總。任務(wù)管理工具,不僅僅給用戶(hù)提供一個(gè)軟件功能,更是幫助用戶(hù)積累經(jīng)驗(yàn)、沉淀知識(shí),例如分析一個(gè)空襲問(wèn)題或者公共衛(wèi)生問(wèn)題,很多時(shí)候只有具體領(lǐng)域的專(zhuān)家能干,為什么?因?yàn)樗兄R(shí)、有經(jīng)驗(yàn),可以從現(xiàn)象做判斷,然后按照一定方法進(jìn)行深入展開(kāi),最終完成分析。這不就是我們常說(shuō)的有套路嗎?那么這個(gè)套路應(yīng)該被積累、被分享甚至被自動(dòng)化執(zhí)行。另外,我們的思維導(dǎo)圖跟一般的思維導(dǎo)圖制作軟件區(qū)別在于,這個(gè)是作為任務(wù)框架來(lái)指導(dǎo)整個(gè)分析過(guò)程的,可以關(guān)聯(lián)數(shù)據(jù)從而方便分析、關(guān)聯(lián)人員從而進(jìn)行寫(xiě)作、關(guān)聯(lián)狀態(tài)從而進(jìn)行隨時(shí)恢復(fù)現(xiàn)場(chǎng)、關(guān)聯(lián)結(jié)果從而進(jìn)行報(bào)告生成。最后系統(tǒng)按照這個(gè)任務(wù)框架,生成分析報(bào)告,幫助業(yè)務(wù)人員完成績(jī)效。
第二個(gè)理念是多源異質(zhì)數(shù)據(jù)接入,數(shù)據(jù)分析系統(tǒng)最重要的當(dāng)然是數(shù)據(jù),所以數(shù)據(jù)接入非常重要。主要是以網(wǎng)絡(luò)數(shù)據(jù)采集和個(gè)人數(shù)據(jù)上傳為主要方式。元搜索能夠利用關(guān)鍵詞,從百度、必應(yīng)、谷歌等搜索引擎獲得相關(guān)網(wǎng)頁(yè),充分利用Web搜索引擎的數(shù)據(jù)獲取能力。配置采集模塊可以直接配置信源,也就是待采集數(shù)據(jù)網(wǎng)站及其規(guī)則,包括匹配關(guān)鍵詞、時(shí)間范圍等條件,實(shí)現(xiàn)指定數(shù)據(jù)源數(shù)據(jù)采集。無(wú)結(jié)構(gòu)化上傳將個(gè)人手頭的Word/PDF甚至EML郵件等資料進(jìn)行上傳,結(jié)構(gòu)化上傳可以實(shí)現(xiàn)對(duì)Excel這種偏結(jié)構(gòu)化的文件以及數(shù)據(jù)庫(kù)(包括MySQL、Oracle、PostgreSQL等)進(jìn)行數(shù)據(jù)接入,用于情報(bào)分析挖掘。另外,我們也提供后臺(tái)自動(dòng)接入工具,基于Kakfa+Flink的流批一體架構(gòu)進(jìn)行自動(dòng)處理,主要用于較大規(guī)模且對(duì)自動(dòng)分析結(jié)果要求不高的場(chǎng)景。
第三個(gè)理念是智能分析處理。當(dāng)前處于人工智能第三次浪潮,AI技術(shù)在多個(gè)領(lǐng)域?qū)崿F(xiàn)了可實(shí)用的能力突破,也是技術(shù)發(fā)展的必然趨勢(shì)。所以我們?cè)诩夹g(shù)上一定會(huì)引入智能技術(shù),包括機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、自然語(yǔ)言處理、知識(shí)圖譜等,并且重點(diǎn)放在文本類(lèi)非結(jié)構(gòu)化數(shù)據(jù)。用戶(hù)上傳的文本文件,會(huì)自動(dòng)進(jìn)行語(yǔ)義分析,識(shí)別其中的人、地、機(jī)構(gòu)、事件、時(shí)間等要素,通過(guò)關(guān)鍵詞抽取、情感分類(lèi)、主題分類(lèi)對(duì)文本進(jìn)行標(biāo)注,進(jìn)一步通過(guò)屬性抽取、關(guān)系抽取,形成小的知識(shí)圖譜,再通過(guò)實(shí)體鏈接、實(shí)體融合、關(guān)系融合過(guò)程,將信息匯聚到大的知識(shí)網(wǎng)絡(luò)中。另外,這個(gè)過(guò)程也是可交互,結(jié)果可修改、可回標(biāo),主要原因當(dāng)然是因?yàn)槟壳昂芏嗨惴P驮陬I(lǐng)域應(yīng)用效果還遠(yuǎn)未讓人滿(mǎn)意,而情報(bào)分析要求結(jié)果的準(zhǔn)確性、可解釋性。所以說(shuō),有些事情從技術(shù)上要追求先進(jìn)性,但在業(yè)務(wù)上需要做權(quán)衡。
第四個(gè)理念是多維度的可視化呈現(xiàn)和交互式分析。首先是任務(wù)可視化與交互,分析人員能夠直觀看到任務(wù)框架、相關(guān)人員、相關(guān)結(jié)果,并且提供對(duì)任務(wù)的一些基本統(tǒng)計(jì);第二是基于圖譜的關(guān)聯(lián)分析可視化與交互,以節(jié)點(diǎn)表示人、地、機(jī)構(gòu)、事件、文檔等實(shí)體對(duì)象,節(jié)點(diǎn)之間的連線(xiàn)表示實(shí)體之間的關(guān)聯(lián)關(guān)系,可以從某個(gè)實(shí)體擴(kuò)展,找到相關(guān)實(shí)體,對(duì)信息進(jìn)行過(guò)濾、聚焦、再擴(kuò)展,可以不斷重復(fù)這個(gè)過(guò)程,直到找到相關(guān)線(xiàn)索,提供多種布局方式,可以從不同角度進(jìn)行數(shù)據(jù)觀察,基于數(shù)據(jù)透視按照實(shí)體類(lèi)型、實(shí)體屬性進(jìn)行分組統(tǒng)計(jì)并提供快速過(guò)濾功能。第三是基于GIS的空間可視化與交互,在地圖上直觀展示相關(guān)的空間對(duì)象,哪些對(duì)象可以在地圖上展示呢?只要具有地點(diǎn)信息或坐標(biāo)信息,比如一個(gè)人的住址、機(jī)構(gòu)所在位置、商店,一個(gè)事件,一篇新聞報(bào)道等等,除了直接顯示,還可以通過(guò)對(duì)指定范圍的區(qū)域進(jìn)行查找,利用熱力圖進(jìn)行空間分布分析。第四是基于時(shí)間軸的時(shí)間可視化與交互,從時(shí)間維度觀察情報(bào)信息的分布及其規(guī)律,比如按照時(shí)間段進(jìn)行統(tǒng)計(jì),可以直觀認(rèn)識(shí)事件趨熱趨冷的趨勢(shì),看微博轉(zhuǎn)發(fā)的規(guī)律、病毒傳染趨勢(shì)等。第五是文本可視化,直接對(duì)文本進(jìn)行實(shí)體高亮、基于詞云圖進(jìn)行關(guān)鍵詞頻率顯示等。第六是基于多種圖形的統(tǒng)計(jì)分析可視化,包括柱狀圖、餅圖、折線(xiàn)圖、河流圖、矩形樹(shù)圖等。再就是結(jié)果展示與交互,生成報(bào)告可以進(jìn)行編輯,支持分析結(jié)果圖拖拽等。最后是通過(guò)人與機(jī)器智能共生、協(xié)同處理,分析算子模塊化靈活可組合,從而發(fā)揮強(qiáng)大的分析能力。
3. 關(guān)鍵技術(shù)
下面介紹第三部分,是系統(tǒng)的關(guān)鍵技術(shù),核心能力所在。
第一個(gè)關(guān)鍵技術(shù)是以動(dòng)態(tài)開(kāi)放知識(shí)結(jié)構(gòu)連接異質(zhì)多元大數(shù)據(jù),實(shí)現(xiàn)對(duì)結(jié)構(gòu)化、半結(jié)構(gòu)化、無(wú)結(jié)構(gòu)化數(shù)據(jù)的接入、處理、解析、關(guān)聯(lián)、融合。具體來(lái)說(shuō)首先是自然語(yǔ)言處理技術(shù),這是我們自主研發(fā)的自然語(yǔ)言理解引擎CoreNLU。大家可能知道,計(jì)算所算是國(guó)內(nèi)最早做中文NLP,ICTClas,可惜的是后來(lái)我們自己也不用了,這幾年深度學(xué)習(xí)起來(lái)后,傳統(tǒng)的模型基本上都被淘汰,包括哈工大LTP、HanLP都基于深度學(xué)習(xí)重寫(xiě)了一遍。CoreNLU是我們自主研發(fā),用于對(duì)海量文本內(nèi)容進(jìn)行深層語(yǔ)義分析理解,主要特點(diǎn)是:支持中英文兩大語(yǔ)種,支持新聞、博客、社交媒體等不同語(yǔ)料,在技術(shù)體系上相對(duì)較全,具有領(lǐng)域模型積累。功能架構(gòu)上,包括標(biāo)注器、抽取器、鏈接器、分類(lèi)與理解幾個(gè)層次,技術(shù)架構(gòu)上,主要是基于pipeline,每個(gè)抽取分析過(guò)程稱(chēng)為一個(gè)任務(wù),任務(wù)可以組合,通過(guò)構(gòu)建DAG圖,避免重復(fù)抽取,底層基于tensorflow框架,提供restful接口,支持GPU加速,支持Docker部署,已經(jīng)完成國(guó)產(chǎn)化部署適配。基于restful接口,做了一個(gè)單獨(dú)的Web演示界面,對(duì)分析結(jié)果在原文上進(jìn)行標(biāo)注??梢哉f(shuō),自然語(yǔ)言處理是整個(gè)數(shù)據(jù)處理過(guò)程的核心,也是未來(lái)情報(bào)分析的重點(diǎn)發(fā)力方向。另外一個(gè)是開(kāi)放知識(shí)引擎OKS,面向應(yīng)用領(lǐng)域?qū)崿F(xiàn)動(dòng)態(tài)知識(shí)圖譜構(gòu)建、管理和推理計(jì)算。OKS采用動(dòng)態(tài)本體模型進(jìn)行知識(shí)建模,頂層包括實(shí)體、事件、文檔、關(guān)系類(lèi)型,可以進(jìn)行類(lèi)型擴(kuò)展、屬性繼承。目前支持政治、軍事、金融等多個(gè)垂直領(lǐng)域,支持從結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行知識(shí)抽取,提供了知識(shí)標(biāo)注工具和管理工具。在技術(shù)架構(gòu)上,按照微服務(wù)架構(gòu)拆分為圖譜管理、知識(shí)抽取、知識(shí)推理、知識(shí)融合、智能問(wèn)答等模塊,支持組合與單獨(dú)部署、應(yīng)用。
第二個(gè)關(guān)鍵技術(shù)對(duì)基于動(dòng)態(tài)開(kāi)放知識(shí)結(jié)構(gòu)構(gòu)建的大規(guī)模知識(shí)數(shù)據(jù),采用強(qiáng)時(shí)效的大圖分析引擎進(jìn)行存儲(chǔ)于計(jì)算。這幾年圖數(shù)據(jù)庫(kù)特別火,很多公司成立了專(zhuān)門(mén)的圖數(shù)據(jù)庫(kù)研發(fā)團(tuán)隊(duì),早起的neo4j、JanusGraph已經(jīng)不能滿(mǎn)足應(yīng)用需求,HugeGraph、DGraph、NebularGraph等紛紛問(wèn)世,吸引一波又一波的關(guān)注。昨天的大會(huì)主題演講第二個(gè)老師就是講的圖數(shù)據(jù)庫(kù)相關(guān)的。其實(shí)插一句,我們團(tuán)隊(duì)14-16年也做了一個(gè)圖數(shù)據(jù)庫(kù)叫Golaxy GraphDB,很可惜沒(méi)有堅(jiān)持下來(lái)。后來(lái)我一個(gè)同學(xué),基于ClickHouse重新做了一個(gè),就是我要講的SQLGraph,作為GoIN的圖存儲(chǔ)和圖分析引擎。不過(guò)我也確實(shí)不得不服,SQLGraph性能很厲害,單機(jī)圖分析引擎中可以說(shuō)是業(yè)界最優(yōu)。當(dāng)年我們做的那個(gè)圖數(shù)據(jù)庫(kù),還是采用的是JanusGraph的架構(gòu),底層基于HBASE+ES,規(guī)??梢员容^大,但是分析性能不行,盡管我們充分利用了hbase的rowkey掃描過(guò)濾、coprocessor下推計(jì)算機(jī)制進(jìn)行優(yōu)化等。SQLGraph與ClickHouse深度融合,底層基于ClickHosue列存儲(chǔ)引擎進(jìn)行數(shù)據(jù)存儲(chǔ),通過(guò)實(shí)現(xiàn)內(nèi)存圖引擎加上精細(xì)的圖算法實(shí)現(xiàn),以及本身ClickHouse列存的優(yōu)勢(shì),達(dá)到很高的分析性能。不過(guò)現(xiàn)在看缺點(diǎn)也比較明顯,就是資源消耗比較大,適合做少并發(fā)、大數(shù)據(jù)量的OLAP,并不適合做大量用戶(hù)同時(shí)操作或者OLTP,所以我們也在跟北大gStore進(jìn)行合作,考慮更換存儲(chǔ)選型。基于圖引擎實(shí)現(xiàn)了常用的圖查詢(xún)和圖分析算子。SQLGraph語(yǔ)法上與標(biāo)準(zhǔn)SQL很類(lèi)似,只是增加了幾個(gè)圖操作的SQL函數(shù),以及因?yàn)椴捎脙?nèi)存計(jì)算所需要的圖加載和卸載的SQL語(yǔ)句。提供了以SQL語(yǔ)句作為參數(shù)的HTTP接口,為了方便使用,也提供了Restful接口。圖查詢(xún)語(yǔ)言這塊目前似乎還沒(méi)有看到收斂的趨勢(shì),已經(jīng)出現(xiàn)了Neo4J的Cypher/CQL、TinkerPop協(xié)議棧的Gremlin、DGraph采用的GraphQL,還有nebulargraph的類(lèi)SQL語(yǔ)法。大家都有機(jī)會(huì),一起搞起來(lái)。
第三個(gè)關(guān)鍵技術(shù)是可視化層面,主要是UI和前端這塊。我們前期把大量精力都花在這個(gè)交互界面上,盡管有些人認(rèn)為前端只是花架子,但是實(shí)際上目前看過(guò)我們系統(tǒng)界面的人都覺(jué)得非??犰?。畢竟是情報(bào)分析嘛,就得有點(diǎn)高大上,哪怕只是看起來(lái)呢,哈哈?;氐郊夹g(shù)層面,雖然基于vue+iview+element-UI框架,也用了很多組件庫(kù),但是基本上每個(gè)組件都是定制開(kāi)發(fā)的,具體到關(guān)聯(lián)分析、內(nèi)容分析、時(shí)空分析、統(tǒng)計(jì)分析,都花了大量時(shí)間進(jìn)行設(shè)計(jì)和開(kāi)發(fā)。另外,幾個(gè)分析模塊可以通過(guò)推送的方式進(jìn)行自由切換、組合使用。不過(guò)可視化這塊目前也遇到一些問(wèn)題,比如因?yàn)槲覀儾捎肳eb界面,圖譜展示節(jié)點(diǎn)數(shù)過(guò)多的情況響應(yīng)非常慢,所以我們?cè)谡{(diào)研webGL技術(shù)。同事,可視化方面跟山大可視化團(tuán)隊(duì)在進(jìn)行合作,GoIN本身作為一個(gè)平臺(tái),可以不斷補(bǔ)充新的可視化組件。
第四個(gè)關(guān)鍵技術(shù)是通過(guò)框架和平臺(tái)方式,支持算子庫(kù)和案例庫(kù)的不斷豐富。目前,系統(tǒng)提供了脈絡(luò)分析、共指分析、傾向性分析、社區(qū)分析等20+算子,并且可以快速支持算子定制,支持前端通過(guò)JS代碼定義算子或通過(guò)后臺(tái)Python代碼定義算子,以類(lèi)似小程序方式進(jìn)行,每個(gè)算子的輸入是當(dāng)前畫(huà)布的對(duì)象集合以及一組其自定義的參數(shù)集合,輸出為結(jié)果列表,并根據(jù)配置進(jìn)行相應(yīng)展示,比如列表展示、可視化展示或者對(duì)畫(huà)布對(duì)象進(jìn)行高亮。每個(gè)算子以單獨(dú)面板方式進(jìn)行配置和結(jié)果展示,畫(huà)布狀態(tài)改變則通過(guò)通知方式,所有算子面板收到消息、進(jìn)行更新。除了算子庫(kù),還有案例庫(kù),針對(duì)重點(diǎn)專(zhuān)題建設(shè)了系列案例。
4. 應(yīng)用與案例
下面介紹最后一個(gè)主要部分,應(yīng)用場(chǎng)景與案例分析。
首先是軍事情報(bào)領(lǐng)域場(chǎng)景,例如反恐、JS目標(biāo)分析、區(qū)域戰(zhàn)略研判等,通過(guò)從多種來(lái)源渠道獲取數(shù)據(jù),進(jìn)行智能分析處理,構(gòu)建知識(shí)圖譜的廣譜關(guān)聯(lián)網(wǎng)絡(luò),通過(guò)社交媒體內(nèi)容、社交網(wǎng)絡(luò)結(jié)構(gòu)、事件參與網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行分析,挖掘關(guān)鍵情報(bào)。安全情報(bào)領(lǐng)域,包括反間、罪案?jìng)刹臁⑼话l(fā)公共事件等,例如可以對(duì)疫情醫(yī)療研究單位進(jìn)行分析,對(duì)新冠病毒治療藥物及手段進(jìn)行分析,疫情發(fā)展情況時(shí)空演化分析等。科技情報(bào)領(lǐng)域,對(duì)技術(shù)趨勢(shì)研判、對(duì)某個(gè)技術(shù)領(lǐng)域進(jìn)行調(diào)研等,比如對(duì)DARPA項(xiàng)目進(jìn)行分析,包括項(xiàng)目情況、人員情況、技術(shù)方向等,對(duì)科技論文分析可以了解論文主要內(nèi)容以及對(duì)作者合作網(wǎng)絡(luò)進(jìn)行分析。行業(yè)情報(bào)領(lǐng)域,例如金融欺詐分析、企業(yè)安全分析、競(jìng)爭(zhēng)對(duì)手研判等。
我們來(lái)看一個(gè)具體案例,對(duì)美國(guó)政治體系和反華人物進(jìn)行分析。2020年8月10日,中國(guó)外交部……這個(gè)新聞一出,我看一些分析人士就開(kāi)始寫(xiě)文章,比如介紹這些人到底誰(shuí),他們干了啥。確實(shí),我也想知道。那好,我們也蹭一下熱點(diǎn),通過(guò)系統(tǒng)技術(shù)看能不能做一些什么分析。從這個(gè)新聞出發(fā),我覺(jué)得可以問(wèn)幾個(gè)問(wèn)題,他們是誰(shuí)?他們干了啥?……經(jīng)過(guò)初步分析后,可以形成一個(gè)分析框架,當(dāng)然這個(gè)工作還是需要對(duì)相關(guān)領(lǐng)域有所了解的,未來(lái)積累模板后可以進(jìn)行推薦、裁剪、組合。然后需要采集接入數(shù)據(jù),百科數(shù)據(jù)、新聞報(bào)道、社交媒體,這是我們比較常用的開(kāi)源數(shù)據(jù),這個(gè)根據(jù)需要進(jìn)行采集、篩選就可以,另外還有國(guó)會(huì)數(shù)據(jù)、政治百科、政治獻(xiàn)金等數(shù)據(jù),可以用于分析政見(jiàn)、幕后支持等。最后系統(tǒng)幾個(gè)分析維度進(jìn)行一些分析,包括對(duì)政治體系圖譜分析、社交媒體言論分析、政治捐獻(xiàn)來(lái)源分析、法案投票分析?;诨诎倏茢?shù)據(jù),利用CoreNLU的實(shí)體抽取、屬性抽取、關(guān)系抽取、言論抽取算法,可以讓我們知道他們是誰(shuí)、他們干了什么。通過(guò)政治獻(xiàn)金、國(guó)會(huì)法案等結(jié)構(gòu)化數(shù)據(jù)又可以看關(guān)聯(lián)。最后通過(guò)法案投票的二部圖,可以通過(guò)緊密度分析算子計(jì)算哪些跟他們投票行為比較相似。
5. 總結(jié)展望
最后簡(jiǎn)單總結(jié)一下:我們面向行業(yè)情報(bào)分析應(yīng)用,提出了一些行業(yè)大數(shù)據(jù)分析的理念,并基于自主研發(fā)的一套技術(shù),包括自然語(yǔ)言處理、知識(shí)圖譜、大圖計(jì)算等技術(shù),初步建成了大數(shù)據(jù)智能情報(bào)分析引擎系統(tǒng),積累一些案例。下一步,我們將繼續(xù)深耕行業(yè),不斷完善系統(tǒng)能力,具體工作包括自動(dòng)搜索并抽取形成任務(wù)框架、提高數(shù)據(jù)集成能力、算法方面豐富形成更多業(yè)務(wù)算子,可視化集成配置等。
這是我們的目標(biāo),做中國(guó)的palantir,自勉!