大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述_第1頁
大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述_第2頁
大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述_第3頁
大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述_第4頁
大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1大數(shù)據(jù)處理與系統(tǒng)大數(shù)據(jù)中蘊(yùn)含的寶貴價(jià)值成為人們存儲和處理大數(shù)據(jù)的驅(qū)動力.Mayer-Sch?nberger在《大數(shù)據(jù)時(shí)代》一書中指出了大數(shù)據(jù)時(shí)代處理數(shù)據(jù)理念的三大轉(zhuǎn)變,即要全體不要抽樣,要效率不要絕對精確,要相關(guān)不要因果[5].因此,海量數(shù)據(jù)的處理對于當(dāng)前存在的技術(shù)來說是一種極大的挑戰(zhàn).目前,人們對大數(shù)據(jù)的處理形式主要是對靜態(tài)數(shù)據(jù)的批量處理,對在線數(shù)據(jù)的實(shí)時(shí)處理[6],以及對圖數(shù)據(jù)的綜合處理.其中,在線數(shù)據(jù)的實(shí)時(shí)處理又包括對流式數(shù)據(jù)的處理和實(shí)時(shí)交互計(jì)算兩種.本節(jié)將詳細(xì)闡述上述4種數(shù)據(jù)形式的特征和各自的典型應(yīng)用以及相應(yīng)的代表性系統(tǒng).1.1批量數(shù)據(jù)處理系統(tǒng)利用批量數(shù)據(jù)挖掘合適的模式,得出具體的含義,制定明智的決策,最終做出有效的應(yīng)對措施實(shí)現(xiàn)業(yè)務(wù)目標(biāo)是大數(shù)據(jù)批處理的首要任務(wù).大數(shù)據(jù)的批量處理系統(tǒng)適用于先存儲后計(jì)算,實(shí)時(shí)性要求不高,同時(shí)數(shù)據(jù)的準(zhǔn)確性和全面性更為重要的場景.1.1.1批量數(shù)據(jù)的特征與典型應(yīng)用(1)批量數(shù)據(jù)的特征批量數(shù)據(jù)通常具有3個(gè)特征.第一,數(shù)據(jù)體量巨大.數(shù)據(jù)從TB級別躍升到PB級別.數(shù)據(jù)是以靜態(tài)的形式存儲在硬盤中,很少進(jìn)行更新,存儲時(shí)間長,可以重復(fù)利用,然而這樣大批量的數(shù)據(jù)不容易對其進(jìn)行移動和備份.第二,數(shù)據(jù)精確度高.批量數(shù)據(jù)往往是從應(yīng)用中沉淀下來的數(shù)據(jù),因此精度相對較高,是企業(yè)資產(chǎn)的一部分寶貴財(cái)富.第三,數(shù)據(jù)價(jià)值密度低.以視頻批量數(shù)據(jù)為例,在連續(xù)不斷的監(jiān)控過程中,可能有用的數(shù)據(jù)僅僅有一兩秒.因此,需要通過合理的算法才能從批量的數(shù)據(jù)中抽取有用的價(jià)值.此外,批量數(shù)據(jù)處理往往比較耗時(shí),而且不提供用戶與系統(tǒng)的交互手段,所以當(dāng)發(fā)現(xiàn)處理結(jié)果和預(yù)期或與以往的結(jié)果有很大差別時(shí),會浪費(fèi)很多時(shí)間.因此,批量數(shù)據(jù)處理適合大型的相對比較成熟的作業(yè).(2)典型應(yīng)用物聯(lián)網(wǎng)、云計(jì)算、互聯(lián)網(wǎng)以及車聯(lián)網(wǎng)等無一不是大數(shù)據(jù)的重要來源,當(dāng)前批量數(shù)據(jù)處理可以解決前述領(lǐng)域的諸多決策問題并發(fā)現(xiàn)新的洞察.因此,批量數(shù)據(jù)處理可以適用于較多的應(yīng)用場景.本節(jié)主要選擇互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用、安全領(lǐng)域的應(yīng)用以及公共服務(wù)領(lǐng)域的應(yīng)用這3個(gè)典型應(yīng)用場景加以介紹[7,8,9,10,11,12].在互聯(lián)網(wǎng)領(lǐng)域中,批量數(shù)據(jù)處理的典型應(yīng)用場景主要包括:(a)社交網(wǎng)絡(luò):Facebook、新浪微博、微信等以人為核心的社交網(wǎng)絡(luò)產(chǎn)生了大量的文本、圖片、音視頻等不同形式的數(shù)據(jù).對這些數(shù)據(jù)的批量處理可以對社交網(wǎng)絡(luò)進(jìn)行分析,發(fā)現(xiàn)人與人之間隱含的關(guān)系或者他們中存在的社區(qū),推薦朋友或者相關(guān)的主題,提升用戶的體驗(yàn).(b)電子商務(wù):電子商務(wù)中產(chǎn)生大量的購買歷史記錄、商品評論、商品網(wǎng)頁的訪問次數(shù)和駐留時(shí)間等數(shù)據(jù),通過批量分析這些數(shù)據(jù),每個(gè)商鋪可以精準(zhǔn)地選擇其熱賣商品,從而提升商品銷量;這些數(shù)據(jù)還能夠分析出用戶的消費(fèi)行為,為客戶推薦相關(guān)商品,以提升優(yōu)質(zhì)客戶數(shù)量.(c)搜索引擎:Google等大型互聯(lián)網(wǎng)搜索引擎與Yahoo!的專門廣告分析系統(tǒng),通過對廣告相關(guān)數(shù)據(jù)的批量處理用來改善廣告的投放效果以提高用戶的點(diǎn)擊量.在安全領(lǐng)域中,批量數(shù)據(jù)主要用于欺詐檢測和IT安全.在金融服務(wù)機(jī)構(gòu)和情報(bào)機(jī)構(gòu)中,欺詐檢測一直都是關(guān)注的重點(diǎn).通過對批量數(shù)據(jù)的處理,可對客戶交易和現(xiàn)貨異常進(jìn)行判斷,從而對可能存在欺詐行為提前預(yù)警.另一方面,企業(yè)通過處理機(jī)器產(chǎn)生的數(shù)據(jù),識別惡意軟件和網(wǎng)絡(luò)攻擊模式,從而使其他安全產(chǎn)品判斷是否接受來自這些來源的通信.在公共服務(wù)領(lǐng)域,批量數(shù)據(jù)處理的典型應(yīng)用場景主要包括:(a)能源:例如,對來自海洋深處地震時(shí)產(chǎn)生的數(shù)據(jù)進(jìn)行批量的排序和整理,可能發(fā)現(xiàn)海底石油的儲量;通過對用戶能源數(shù)據(jù)、氣象與人口方面的公共及私人數(shù)據(jù)、歷史信息、地理數(shù)據(jù)等的批量處理,可以提升電力服務(wù),盡量為用戶節(jié)省在資源方面的投入.(b)醫(yī)療保健:通過對患者以往的生活方式與醫(yī)療記錄進(jìn)行批量處理分析,提供語義分析服務(wù),對病人的健康提供醫(yī)生、護(hù)士及其他相關(guān)人士的回答,并協(xié)助醫(yī)生更好的為患者進(jìn)行診斷.當(dāng)然,大數(shù)據(jù)的批量處理不只應(yīng)用到這些領(lǐng)域,還有移動數(shù)據(jù)分析、圖像處理以及基礎(chǔ)設(shè)施管理等領(lǐng)域.隨著人們對數(shù)據(jù)中蘊(yùn)含價(jià)值的認(rèn)識,會有更多的領(lǐng)域通過對數(shù)據(jù)的批量處理挖掘其中的價(jià)值來支持決策和發(fā)現(xiàn)新的洞察.1.1.2代表性的處理系統(tǒng)由Google公司2003年研發(fā)的Google文件系統(tǒng)GFS[13]和2004年研發(fā)的MapReduce編程模型[14]以其Web環(huán)境下批量處理大規(guī)模海量數(shù)據(jù)的特有魅力,在學(xué)術(shù)界和工業(yè)界引起了很大反響.雖然Google沒有開源這兩項(xiàng)技術(shù)的源碼,但是基于這兩篇開源文檔,2006年Nutch項(xiàng)目子項(xiàng)目之一的Hadoop實(shí)現(xiàn)了兩個(gè)強(qiáng)有力的開源產(chǎn)品[15]:HDFS和MapReduce.Hadoop成為了典型的大數(shù)據(jù)批量處理架構(gòu),由HDFS負(fù)責(zé)靜態(tài)數(shù)據(jù)的存儲,并通過MapReduce將計(jì)算邏輯分配到各數(shù)據(jù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)計(jì)算和價(jià)值發(fā)現(xiàn).Hadoop順應(yīng)了現(xiàn)代主流IT公司的一致需求,之后以HDFS和MapReduce為基礎(chǔ)建立了很多項(xiàng)目,形成了Hadoop生態(tài)圈.MapReduce編程模型之所以受到歡迎并迅速得到應(yīng)用,在技術(shù)上主要有3方面的原因[16,17].首先,MapReduce采用無共享大規(guī)模集群系統(tǒng).集群系統(tǒng)具有良好的性價(jià)比和可伸縮性,這一優(yōu)勢為MapReduce成為大規(guī)模海量數(shù)據(jù)平臺的首選創(chuàng)造了條件.其次,MapReduce模型簡單、易于理解、易于使用.它不僅用于處理大規(guī)模數(shù)據(jù),而且能將很多繁瑣的細(xì)節(jié)隱藏起來(比如,自動并行化、負(fù)載均衡和災(zāi)備管理等),極大地簡化了程序員的開發(fā)工作.而且,大量數(shù)據(jù)處理問題,包括很多機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘算法,都可以使用MapReduce實(shí)現(xiàn).第三,雖然基本的MapReduce模型只提供一個(gè)過程性的編程接口,但在海量數(shù)據(jù)環(huán)境、需要保證可伸縮性的前提下,通過使用合適的查詢優(yōu)化和索引技術(shù),MapReduce仍能夠提供很好的數(shù)據(jù)處理性能.1.2流式數(shù)據(jù)處理系統(tǒng)Google于2010年推出了Dremel,引領(lǐng)業(yè)界向?qū)崟r(shí)數(shù)據(jù)處理邁進(jìn).實(shí)時(shí)數(shù)據(jù)處理是針對批量數(shù)據(jù)處理的性能問題提出的,可分為流式數(shù)據(jù)處理和交互式數(shù)據(jù)處理兩種模式.在大數(shù)據(jù)背景下,流式數(shù)據(jù)處理源于服務(wù)器日志的實(shí)時(shí)采集,交互式數(shù)據(jù)處理的目標(biāo)是將PB級數(shù)據(jù)的處理時(shí)間縮短到秒級.1.2.1流式數(shù)據(jù)的特征及典型應(yīng)用(1)流式數(shù)據(jù)的特征通俗而言,流式數(shù)據(jù)是一個(gè)無窮的數(shù)據(jù)序列,序列中的每一個(gè)元素來源各異,格式復(fù)雜,序列往往包含時(shí)序特性,或者有其他的有序標(biāo)簽(如IP報(bào)文中的序號).從數(shù)據(jù)庫的角度而言,每一個(gè)元素可以看作是一個(gè)元組,而元素的特性則類比于元組的屬性.流式數(shù)據(jù)在不同的場景下往往體現(xiàn)出不同的特征,如流速大小、元素特性數(shù)量、數(shù)據(jù)格式等,但大部分流式數(shù)據(jù)都含有共同的特征,這些特征便可用來設(shè)計(jì)通用的流式數(shù)據(jù)處理系統(tǒng).下面簡要介紹流式數(shù)據(jù)共有的特征[18].首先,流式數(shù)據(jù)的元組通常帶有時(shí)間標(biāo)簽或其余含序?qū)傩?因此,同一流式數(shù)據(jù)往往是被按序處理的.然而數(shù)據(jù)的到達(dá)順序是不可預(yù)知的,由于時(shí)間和環(huán)境的動態(tài)變化,無法保證重放數(shù)據(jù)流與之前數(shù)據(jù)流中數(shù)據(jù)元素順序的一致性.這就導(dǎo)致了數(shù)據(jù)的物理順序與邏輯順序不一致.而且,數(shù)據(jù)源不受接收系統(tǒng)的控制,數(shù)據(jù)的產(chǎn)生是實(shí)時(shí)的、不可預(yù)知的.此外,數(shù)據(jù)的流速往往有較大的波動,因此需要系統(tǒng)具有很好的可伸縮性,能夠動態(tài)適應(yīng)不確定流入的數(shù)據(jù)流,具有很強(qiáng)的系統(tǒng)計(jì)算能力和大數(shù)據(jù)流量動態(tài)匹配的能力.其次,數(shù)據(jù)流中的數(shù)據(jù)格式可以是結(jié)構(gòu)化的、半結(jié)構(gòu)化的甚至是無結(jié)構(gòu)化的.數(shù)據(jù)流中往往含有錯(cuò)誤元素、垃圾信息等.因此流式數(shù)據(jù)的處理系統(tǒng)要有很好的容錯(cuò)性與異構(gòu)數(shù)據(jù)分析能力,能夠完成數(shù)據(jù)的動態(tài)清洗、格式處理等.最后,流式數(shù)據(jù)是活動的(用完即棄),隨著時(shí)間的推移不斷增長,這與傳統(tǒng)的數(shù)據(jù)處理模型(存儲?查詢)不同,要求系統(tǒng)能夠根據(jù)局部數(shù)據(jù)進(jìn)行計(jì)算,保存數(shù)據(jù)流的動態(tài)屬性.流式處理系統(tǒng)針對該特性,應(yīng)當(dāng)提供流式查詢接口,即提交動態(tài)的SQL語句,實(shí)時(shí)地返回當(dāng)前結(jié)果.(2)典型應(yīng)用流式計(jì)算的應(yīng)用場景較多,典型的有兩類[6]:(a)數(shù)據(jù)采集應(yīng)用:數(shù)據(jù)采集應(yīng)用通過主動獲取海量的實(shí)時(shí)數(shù)據(jù),及時(shí)地挖掘出有價(jià)值的信息.當(dāng)前數(shù)據(jù)采集應(yīng)用有日志采集、傳感器采集、Web數(shù)據(jù)采集等.日志采集系統(tǒng)是針對各類平臺不斷產(chǎn)生的大量日志信息量身訂做的處理系統(tǒng),通過流式挖掘日志信息,達(dá)到動態(tài)提醒與預(yù)警功能.傳感器采集系統(tǒng)(物聯(lián)網(wǎng))通過采集傳感器的信息(通常包含時(shí)間、位置、環(huán)境和行為等內(nèi)容),實(shí)時(shí)分析提供動態(tài)的信息展示,目前主要應(yīng)用于智能交通、環(huán)境監(jiān)控、災(zāi)難預(yù)警等.Web數(shù)據(jù)采集系統(tǒng)是利用網(wǎng)絡(luò)爬蟲程序抓取萬維網(wǎng)上的內(nèi)容,通過清洗、歸類、分析并挖掘其數(shù)據(jù)價(jià)值.(b)金融銀行業(yè)的應(yīng)用:在金融銀行領(lǐng)域的日常運(yùn)營過程中會產(chǎn)生大量數(shù)據(jù),這些數(shù)據(jù)的時(shí)效性往往較短,不僅有結(jié)構(gòu)化數(shù)據(jù),也會有半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù).通過對這些大數(shù)據(jù)的流式計(jì)算,發(fā)現(xiàn)隱含于其中的內(nèi)在特征,可幫助金融銀行進(jìn)行實(shí)時(shí)決策.這與傳統(tǒng)的商業(yè)智能(BI)分析不同,BI要求數(shù)據(jù)是靜態(tài)的,通過數(shù)據(jù)挖掘技術(shù),獲得數(shù)據(jù)的價(jià)值.然而在瞬息萬變的場景下,諸如股票期貨市場,數(shù)據(jù)挖掘技術(shù)不能及時(shí)地響應(yīng)需求,就需要借助流式數(shù)據(jù)處理的幫助.總之,流式數(shù)據(jù)的特點(diǎn)是,數(shù)據(jù)連續(xù)不斷、來源眾多、格式復(fù)雜、物理順序不一、數(shù)據(jù)的價(jià)值密度低.而對應(yīng)的處理工具則需具備高性能、實(shí)時(shí)、可擴(kuò)展等特性.1.2.2代表性的處理系統(tǒng)流式數(shù)據(jù)處理已經(jīng)在業(yè)界得到廣泛的應(yīng)用,典型的有Twitter的Storm,Facebook的Scribe,Linkedin的Samza,Cloudera的Flume,Apache的Nutch.·Twitter的Storm系統(tǒng)Storm[19]是一套分布式、可靠、可容錯(cuò)的用于處理流式數(shù)據(jù)的系統(tǒng).其流式處理作業(yè)被分發(fā)至不同類型的組件,每個(gè)組件負(fù)責(zé)一項(xiàng)簡單的、特定的處理任務(wù).Storm集群的輸入流由名為Spout的組件負(fù)責(zé).Spout將數(shù)據(jù)傳遞給名為Bolt的組件,后者將以指定的方式處理這些數(shù)據(jù),如持久化或者處理并轉(zhuǎn)發(fā)給另外的Bolt.Storm集群可以看成一條由Bolt組件組成的鏈(稱為一個(gè)Topology).每個(gè)Bolt對Spout產(chǎn)生出來的數(shù)據(jù)做某種方式的處理.Storm可用來實(shí)時(shí)處理新數(shù)據(jù)和更新數(shù)據(jù)庫,兼具容錯(cuò)性和擴(kuò)展性.Storm也可被用于連續(xù)計(jì)算,對數(shù)據(jù)流做連續(xù)查詢,在計(jì)算時(shí)將結(jié)果以流的形式輸出給用戶.它還可被用于分布式RPC,以并行的方式運(yùn)行復(fù)雜運(yùn)算.一個(gè)Storm集群分為3類節(jié)點(diǎn):(a)Nimbus節(jié)點(diǎn),負(fù)責(zé)提交任務(wù),分發(fā)執(zhí)行代碼,為每個(gè)工作結(jié)點(diǎn)指派任務(wù)和監(jiān)控失敗的任務(wù);(b)Zookeeper節(jié)點(diǎn),負(fù)責(zé)Storm集群的協(xié)同操作;(c)Supervisor節(jié)點(diǎn),負(fù)責(zé)啟動多個(gè)Worker進(jìn)程,執(zhí)行Topology的一部分,這個(gè)過程是通過Zookeeper節(jié)點(diǎn)與Nimbus節(jié)點(diǎn)通信完成的.因?yàn)镾torm將所有的集群狀態(tài)在保存在Zookeeper或者本地磁盤上,Supervisor節(jié)點(diǎn)是無狀態(tài)的,因此其失敗或者重啟不會引起全局的重新計(jì)算.Storm的主要特點(diǎn)是:(a)簡單的編程模型:Storm提供類似于MapReduce的操作,降低了并行批處理與實(shí)時(shí)處理的復(fù)雜性.一個(gè)Storm作業(yè)只需實(shí)現(xiàn)一個(gè)Topology及其所包含的Spout與Bolt.通過指定它們的連接方式,Topology可以勝任大多數(shù)的流式作業(yè)需求;(b)容錯(cuò)性:Storm利用Zookeeper管理工作進(jìn)程和節(jié)點(diǎn)的故障.在工作過程中,如果出現(xiàn)異常,Topology會失敗.但Storm將以一致的狀態(tài)重新啟動處理,這樣它可以正確地恢復(fù);(c)水平擴(kuò)展:Storm擁有良好的水平擴(kuò)展能力,其流式計(jì)算過程是在多個(gè)線程、進(jìn)程和服務(wù)器之間并行進(jìn)行的.Nimbus節(jié)點(diǎn)將大量的協(xié)同工作都交由Zookeeper節(jié)點(diǎn)負(fù)責(zé),使得水平擴(kuò)展不會產(chǎn)生瓶頸;(d)快速可靠的消息處理:Storm利用ZeroMQ作為消息隊(duì)列,極大提高了消息傳遞的速度,系統(tǒng)的設(shè)計(jì)也保證了消息能得到快速處理.Storm保證每個(gè)消息至少能得到一次完整處理.任務(wù)失敗時(shí),它會負(fù)責(zé)從消息源重試消息.·Linkedin的Samza系統(tǒng)Linkedin早期開發(fā)了一款名叫Kafka[20,21]的消息隊(duì)列,廣受業(yè)界的好評,許多流式數(shù)據(jù)處理系統(tǒng)都使用了Kafka作為底層的消息處理模塊.Kafka的工作過程簡要分為4個(gè)步驟,即生產(chǎn)者將消息發(fā)往中介(broker),消息被抽象為Key-Value對,Broker將消息按Topic劃分,消費(fèi)者向Broker拉取感興趣的Topic.2013年,Linkedin基于Kafka和YARN開發(fā)了自己的流式處理框架——Samza.Samza與Kafka的關(guān)系可以類比MapReduce與HDFS的關(guān)系.Samza系統(tǒng)由3個(gè)層次組成,包括流式數(shù)據(jù)層(Kafka)、執(zhí)行層(YARN)、處理層(SamzaAPI).一個(gè)Samza任務(wù)的輸入與輸出均是流.Samza系統(tǒng)對流的模型有很嚴(yán)格的定義,它并不只是一個(gè)消息交換的機(jī)制.流在Samza的系統(tǒng)中是一系列劃分了的、可重現(xiàn)的、可多播的、無狀態(tài)的消息序列,每一個(gè)劃分都是有序的.流不僅是Samza系統(tǒng)的輸入與輸出,它還充當(dāng)系統(tǒng)中的緩沖區(qū),能夠隔離相互之間的處理過程.Samza利用YARN與Kafka提供了分步處理與劃分流的框架.Samza客戶端向Yarn的資源管理器提交流作業(yè),生成多個(gè)TaskRunner進(jìn)程,這些進(jìn)程執(zhí)行用戶編寫的StreamTasks代碼.該系統(tǒng)的輸入與輸出來自于Kafka的Broker進(jìn)程.Samza的主要特性有:(a)高容錯(cuò):如果服務(wù)器或者處理器出現(xiàn)故障,Samza將與YARN一起重新啟動流處理器.(b)高可靠性:Samza使用Kafka來保證所有消息都會按照寫入分區(qū)的順序進(jìn)行處理,絕對不會丟失任何消息.(c)可擴(kuò)展性:Samza在各個(gè)等級進(jìn)行分割和分布;Kafka提供一個(gè)有序、可分割、可重部署、高容錯(cuò)的系統(tǒng);YARN提供了一個(gè)分布式環(huán)境供Samza容器運(yùn)行.1.3交互式數(shù)據(jù)處理1.3.1交互式數(shù)據(jù)處理的特征與典型應(yīng)用(1)交互式數(shù)據(jù)處理的特征與非交互式數(shù)據(jù)處理相比,交互式數(shù)據(jù)處理靈活、直觀、便于控制.系統(tǒng)與操作人員以人機(jī)對話的方式一問一答——操作人員提出請求,數(shù)據(jù)以對話的方式輸入,系統(tǒng)便提供相應(yīng)的數(shù)據(jù)或提示信息,引導(dǎo)操作人員逐步完成所需的操作,直至獲得最后處理結(jié)果.采用這種方式,存儲在系統(tǒng)中的數(shù)據(jù)文件能夠被及時(shí)處理修改,同時(shí)處理結(jié)果可以立刻被使用.交互式數(shù)據(jù)處理具備的這些特征能夠保證輸入的信息得到及時(shí)處理,使交互方式繼續(xù)進(jìn)行下去.(2)典型應(yīng)用在大數(shù)據(jù)環(huán)境下,數(shù)據(jù)量的急劇膨脹是交互式數(shù)據(jù)處理系統(tǒng)面臨的首要問題.下面主要選擇信息處理系統(tǒng)領(lǐng)域和互聯(lián)網(wǎng)領(lǐng)域做為典型應(yīng)用場景進(jìn)行介紹.(a)在信息處理系統(tǒng)領(lǐng)域中,主要體現(xiàn)了人機(jī)間的交互.傳統(tǒng)的交互式數(shù)據(jù)處理系統(tǒng)主要以關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(DBMS)為主,面向兩類應(yīng)用,即聯(lián)機(jī)事務(wù)處理(OLTP)和聯(lián)機(jī)分析處理(OLAP).OLTP基于關(guān)系型數(shù)據(jù)庫管理系統(tǒng),廣泛用于政府、醫(yī)療以及對操作序列有嚴(yán)格要求的工業(yè)控制領(lǐng)域;OLAP基于數(shù)據(jù)倉庫系統(tǒng)(datawarehouse)廣泛用于數(shù)據(jù)分析、商業(yè)智能(BI)等.最具代表性的處理是數(shù)據(jù)鉆取,如在BI中,可以對于數(shù)據(jù)進(jìn)行切片和多粒度的聚合,從而通過多維分析技術(shù)實(shí)現(xiàn)數(shù)據(jù)的鉆取.目前,基于開源體系架構(gòu)下的數(shù)據(jù)倉庫系統(tǒng)發(fā)展十分迅速,以Hive[22]、Pig[23]等為代表的分布式數(shù)據(jù)倉庫能夠支持上千臺服務(wù)器的規(guī)模.(b)互聯(lián)網(wǎng)領(lǐng)域.在互聯(lián)網(wǎng)領(lǐng)域中,主要體現(xiàn)了人際間的交互.隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,傳統(tǒng)的簡單按需響應(yīng)的人機(jī)互動已不能滿足用戶的需求,用戶之間也需要交互,這種需求誕生了互聯(lián)網(wǎng)中交互式數(shù)據(jù)處理的各種平臺,如搜索引擎、電子郵件、即時(shí)通訊工具、社交網(wǎng)絡(luò)、微博、博客以及電子商務(wù)等,用戶可以在這些平臺上獲取或分享各種信息.此外,各種交互式問答平臺,如百度的知道、新浪的愛問以及Yahoo!的知識堂等.由此可見,用戶與平臺之間的交互變得越來越容易,越來越頻繁.這些平臺中數(shù)據(jù)類型的多樣性,使得傳統(tǒng)的關(guān)系數(shù)據(jù)庫不能滿足交互式數(shù)據(jù)處理的實(shí)時(shí)性需求.目前,各大平臺主要使用NoSQL類型的數(shù)據(jù)庫系統(tǒng)來處理交互式的數(shù)據(jù),如HBase[24]采用多維有續(xù)表的列式存儲方式;MongoDB[25]采用JSON格式的數(shù)據(jù)嵌套存儲方式.大多NoSQL數(shù)據(jù)庫不提供Join等關(guān)系數(shù)據(jù)庫的操作模式,以增加數(shù)據(jù)操作的實(shí)時(shí)性.1.3.2代表性的處理系統(tǒng)交互式數(shù)據(jù)處理系統(tǒng)的典型代表系統(tǒng)是Berkeley的Spark系統(tǒng)和Google的Dremel系統(tǒng).·Berkeley的Spark系統(tǒng)Spark[26]是一個(gè)基于內(nèi)存計(jì)算的可擴(kuò)展的開源集群計(jì)算系統(tǒng).針對MapReduce的不足,即大量的網(wǎng)絡(luò)傳輸和磁盤I/O使得效率低效,Spark使用內(nèi)存進(jìn)行數(shù)據(jù)計(jì)算以便快速處理查詢,實(shí)時(shí)返回分析結(jié)果.Spark提供比Hadoop更高層的API,同樣的算法在Spark中的運(yùn)行速度比Hadoop快10倍~100倍[26].Spark在技術(shù)層面兼容Hadoop存儲層API,可訪問HDFS,HBASE,SequenceFile等.Spark-Shell可以開啟交互式Spark命令環(huán)境,能夠提供交互式查詢.Spark是為集群計(jì)算中的特定類型的工作負(fù)載而設(shè)計(jì),即在并行操作之間重用工作數(shù)據(jù)集(比如機(jī)器學(xué)習(xí)算法)的工作負(fù)載.Spark的計(jì)算架構(gòu)具有3個(gè)特點(diǎn):(a)Spark擁有輕量級的集群計(jì)算框架.Spark將Scala應(yīng)用于他的程序架構(gòu),而Scala這種多范式的編程語言具有并發(fā)性、可擴(kuò)展性以及支持編程范式的特征,與Spark緊密結(jié)合,能夠輕松地操作分布式數(shù)據(jù)集,并且可以輕易地添加新的語言結(jié)構(gòu).(b)Spark包含了大數(shù)據(jù)領(lǐng)域的數(shù)據(jù)流計(jì)算和交互式計(jì)算.Spark可以與HDFS交互取得里面的數(shù)據(jù)文件,同時(shí)Spark的迭代、內(nèi)存計(jì)算以及交互式計(jì)算為數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)提供了很好的框架.(c)Spark有很好的容錯(cuò)機(jī)制.Spark使用了彈性分布數(shù)據(jù)集(RDD),RDD被表示為Scala對象分布在一組節(jié)點(diǎn)中的只讀對象集中,這些集合是彈性的,保證了如果有一部數(shù)據(jù)集丟失時(shí),可以對丟失的數(shù)據(jù)集進(jìn)行重建.Spark高效處理分布數(shù)據(jù)集的特征使其有著很好的應(yīng)用前景,現(xiàn)在四大Hadoop發(fā)行商Cloudera,Pivotal,MapR以及Hortonworks都提供了對Spark的支持.·Google的Dremel系統(tǒng)Dremel[27]是Google研發(fā)的交互式數(shù)據(jù)分析系統(tǒng),專注于只讀嵌套數(shù)據(jù)的分析.Dremel可以組建成規(guī)模上千的服務(wù)器集群,處理PB級數(shù)據(jù).傳統(tǒng)的MapReduce完成一項(xiàng)處理任務(wù),最短需要分鐘級的時(shí)間,而Dremel可以將處理時(shí)間縮短到秒級.Dremel是MapReduce的有力補(bǔ)充,可以通過MapReduce將數(shù)據(jù)導(dǎo)入到Dremel中,使用Dremel來開發(fā)數(shù)據(jù)分析模型,最后在MapReduce中運(yùn)行數(shù)據(jù)分析模型.Dremel作為大數(shù)據(jù)的交互式處理系統(tǒng)可以與傳統(tǒng)的數(shù)據(jù)分析或商業(yè)智能工具在速度和精度上相媲美.Dremel系統(tǒng)主要有以下5個(gè)特點(diǎn):(a)Dremel是一個(gè)大規(guī)模系統(tǒng).在PB級數(shù)據(jù)集上要將任務(wù)縮短到秒級,需要進(jìn)行大規(guī)模的并發(fā)處理,而磁盤的順序讀速度在100MB/S上下,因此在1s內(nèi)處理1TB數(shù)據(jù)就意味著至少需要有1萬個(gè)磁盤的并發(fā)讀,但是機(jī)器越多,出問題概率越大,如此大的集群規(guī)模,需要有足夠的容錯(cuò)考慮,才能夠保證整個(gè)分析的速度不被集群中的個(gè)別慢(壞)節(jié)點(diǎn)影響.(b)Dremel是對MapReduce交互式查詢能力不足的有力補(bǔ)充.Dremel利用GFS文件系統(tǒng)作為存儲層,常常用它來處理MapReduce的結(jié)果集或建立分析原型.(c)Dremel的數(shù)據(jù)模型是嵌套的.Dremel類似于Json,支持一個(gè)嵌套的數(shù)據(jù)模型.對于處理大規(guī)模數(shù)據(jù),不可避免的有大量的Join操作,而傳統(tǒng)的關(guān)系模型顯得力不從心,Dremel卻可以很好地處理相關(guān)的查詢操作.(d)Dremel中的數(shù)據(jù)是用列式存儲的.使用列式存儲,在進(jìn)行數(shù)據(jù)分析的時(shí)候,可以只掃描所需要的那部分?jǐn)?shù)據(jù),從而減少CPU和磁盤的訪問量.同時(shí),列式存儲是壓縮友好的,通過壓縮可以綜合CPU和磁盤從而發(fā)揮最大的效能.(e)Dremel結(jié)合了Web搜索和并行DBMS的技術(shù).首先,它借鑒了Web搜索中查詢樹的概念,將一個(gè)相對巨大復(fù)雜的查詢,分割成較小、較簡單的查詢,分配到并發(fā)的大量節(jié)點(diǎn)上.其次,與并行DBMS類似,Dremel可以提供了一個(gè)SQL-like的接口.1.4圖數(shù)據(jù)處理系統(tǒng)圖由于自身的結(jié)構(gòu)特征,可以很好地表示事物之間的關(guān)系,在近幾年已成為各學(xué)科研究的熱點(diǎn).圖中點(diǎn)和邊的強(qiáng)關(guān)聯(lián)性,需要圖數(shù)據(jù)處理系統(tǒng)對圖數(shù)據(jù)進(jìn)行一系列的操作,包括圖數(shù)據(jù)的存儲、圖查詢、最短路徑查詢、關(guān)鍵字查詢、圖模式挖掘以及圖數(shù)據(jù)的分類、聚類等.隨著圖中節(jié)點(diǎn)和邊數(shù)的增多(達(dá)到幾千萬甚至上億數(shù)),圖數(shù)據(jù)處理的復(fù)雜性給圖數(shù)據(jù)處理系統(tǒng)提出了嚴(yán)峻的挑戰(zhàn).下面主要闡述圖數(shù)據(jù)的特征和典型應(yīng)用以及代表性的圖數(shù)據(jù)處理系統(tǒng).1.4.1圖數(shù)據(jù)的特征及典型應(yīng)用(1)圖數(shù)據(jù)的特征圖數(shù)據(jù)中主要包括圖中的節(jié)點(diǎn)以及連接節(jié)點(diǎn)的邊,通常具有3個(gè)特征.第一,節(jié)點(diǎn)之間的關(guān)聯(lián)性.圖中邊的數(shù)量是節(jié)點(diǎn)數(shù)量的指數(shù)倍,因此,節(jié)點(diǎn)和關(guān)系信息同等重要,圖結(jié)構(gòu)的差異也是由于對邊做了限制,在圖中,頂點(diǎn)和邊實(shí)例化構(gòu)成各種類型的圖,如標(biāo)簽圖、屬性圖、語義圖以及特征圖等.第二,圖數(shù)據(jù)的種類繁多.在許多領(lǐng)域中,使用圖來表示該鄰域的數(shù)據(jù),如生物、化學(xué)、計(jì)算機(jī)視覺、模式識別、信息檢索、社會網(wǎng)絡(luò)、知識發(fā)現(xiàn)、動態(tài)網(wǎng)絡(luò)交通、語義網(wǎng)、情報(bào)分析等.每個(gè)領(lǐng)域?qū)D數(shù)據(jù)的處理需求不同,因此,沒有一個(gè)通用的圖數(shù)據(jù)處理系統(tǒng)滿足所有領(lǐng)域的需求.第三,圖數(shù)據(jù)計(jì)算的強(qiáng)耦合性.在圖中,數(shù)據(jù)之間是相互關(guān)聯(lián)的,因此,對圖數(shù)據(jù)的計(jì)算也是相互關(guān)聯(lián)的.這種數(shù)據(jù)耦合的特性對圖的規(guī)模日益增大達(dá)到上百萬甚至上億節(jié)點(diǎn)的大圖數(shù)據(jù)計(jì)算提出了巨大的挑戰(zhàn).大圖數(shù)據(jù)是無法使用單臺機(jī)器進(jìn)行處理的,但如果對大圖數(shù)據(jù)進(jìn)行并行處理,對于每一個(gè)頂點(diǎn)之間都是連通的圖來講,難以分割成若干完全獨(dú)立的子圖進(jìn)行獨(dú)立的并行處理;即使可以分割,也會面臨并行機(jī)器的協(xié)同處理,以及將最后的處理結(jié)果進(jìn)行合并等一系列問題.這需要圖數(shù)據(jù)處理系統(tǒng)選取合適的圖分割以及圖計(jì)算模型來迎接挑戰(zhàn)并解決問題.(2)典型應(yīng)用圖能很好地表示各實(shí)體之間的關(guān)系,因此,在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用,如計(jì)算機(jī)領(lǐng)域、自然科學(xué)領(lǐng)域以及交通領(lǐng)域.(a)互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用.隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,以Web2.0技術(shù)為基礎(chǔ)的社交網(wǎng)絡(luò)(如Facebook、人人網(wǎng))、微博(如Twitter、新浪微博、騰訊微博)等新興服務(wù)中建立了大量的在線社會網(wǎng)絡(luò)關(guān)系,用圖表示人與人之間的關(guān)系.在社交網(wǎng)絡(luò)中,基于圖研究社區(qū)發(fā)現(xiàn)等問題;在微博中,通過圖研究信息傳播與影響力最大化等問題.除此之外,用圖表示如E-mail中的人與人之間的通信關(guān)系,從而可以研究社會群體關(guān)系等問題;在搜索引擎中,可以用圖表示網(wǎng)頁之間相互的超鏈接關(guān)系,從而計(jì)算一個(gè)網(wǎng)頁的PageRank得分等.(b)自然科學(xué)領(lǐng)域的應(yīng)用.圖可以用來在化學(xué)分子式中查找分子,在蛋白質(zhì)網(wǎng)絡(luò)中查找化合物,在DNA中查找特定序列等.(c)交通領(lǐng)域的應(yīng)用.圖可用來在動態(tài)網(wǎng)絡(luò)交通中查找最短路徑,在郵政快遞領(lǐng)域進(jìn)行郵路規(guī)劃等.當(dāng)然,圖還有一些其他的應(yīng)用,如疾病爆發(fā)路徑的預(yù)測與科技文獻(xiàn)的引用關(guān)系等.圖數(shù)據(jù)雖然結(jié)構(gòu)復(fù)雜,處理困難,但是它有很好的表現(xiàn)力,因此得到了各領(lǐng)域的廣泛應(yīng)用.隨著圖數(shù)據(jù)處理中所面臨的各種挑戰(zhàn)被不斷地解決,圖數(shù)據(jù)處理將有更好的應(yīng)用前景.1.4.2代表性圖數(shù)據(jù)處理系統(tǒng)現(xiàn)今主要的圖數(shù)據(jù)庫有GraphLab,Giraph(基于Pregel克隆),Neo4j,HyperGraphDB,InfiniteGraph,Cassovary,Trinity以及Grappa等.下面介紹3個(gè)典型的圖數(shù)據(jù)處理系統(tǒng),包括Google的Pregel系統(tǒng),Neo4j系統(tǒng)和微軟的Trinity系統(tǒng).·Google的Pregel系統(tǒng)Pregel[28,29]是Google提出的基于BSP(Bulksynchronousparallel)模型的分布式圖計(jì)算框架,主要用于圖遍歷(BFS)、最短路徑(SSSP)、PageRank計(jì)算等.BSP模型是并行計(jì)算模型中的經(jīng)典模型,采用的是“計(jì)算-通信-同步”的模式.它將計(jì)算分成一系列超步(superstep)的迭代.從縱向上看,它是一個(gè)串行模式,而從橫向上看,它是一個(gè)并行的模式,每兩個(gè)超步之間設(shè)置一個(gè)柵欄,即整體同步點(diǎn),確定所有并行的計(jì)算都完成后再啟動下一輪超步.Pregel的設(shè)計(jì)思路是以節(jié)點(diǎn)為中心計(jì)算,節(jié)點(diǎn)有兩種狀態(tài):活躍和不活躍.初始時(shí)每個(gè)節(jié)點(diǎn)都處于活躍狀態(tài),完成計(jì)算后每個(gè)節(jié)點(diǎn)主動“VotetoHalt”進(jìn)入不活躍狀態(tài).如果接收到信息,則激活.沒有活躍節(jié)點(diǎn)和消息時(shí),整個(gè)算法結(jié)束.Pregel架構(gòu)有3個(gè)主要特征:(a)采用主/從(Master/Slave)結(jié)構(gòu)來實(shí)現(xiàn)整體功能.一個(gè)節(jié)點(diǎn)為Master,負(fù)責(zé)對整個(gè)圖結(jié)構(gòu)的任務(wù)進(jìn)行切分,根據(jù)節(jié)點(diǎn)的ID進(jìn)行散列計(jì)算分配到Slave機(jī)器,Slave機(jī)器進(jìn)行獨(dú)立的超步計(jì)算,并將結(jié)果返回給Master;(b)有很好的容錯(cuò)機(jī)制.Pregel通過Checkpoint機(jī)制實(shí)行容錯(cuò),節(jié)點(diǎn)向Master匯報(bào)心跳維持狀態(tài),節(jié)點(diǎn)間采用異步消息傳輸;(c)使用GFS或BigTable作為持久性的存儲.Apache根據(jù)Google于2010年發(fā)表的Pregel論文開發(fā)了高可擴(kuò)展的迭代的圖處理系統(tǒng)Giraph,現(xiàn)在已經(jīng)被Facebook用于分析社會網(wǎng)絡(luò)中用戶間的關(guān)系圖中.·Neo4j系統(tǒng)Neo4j[30]是一個(gè)高性能的、完全兼容ACID特性的、魯棒的圖數(shù)據(jù)庫.它基于Java語言開發(fā),包括社區(qū)版和企業(yè)版,適用于社會網(wǎng)絡(luò)和動態(tài)網(wǎng)絡(luò)等場景.Neo4j在處理復(fù)雜的網(wǎng)絡(luò)數(shù)據(jù)時(shí)表現(xiàn)出很好的性能.數(shù)據(jù)以一種針對圖形網(wǎng)絡(luò)進(jìn)行過優(yōu)化的格式保存在磁盤上.Neo4j重點(diǎn)解決了擁有大量連接的查詢問題,提供了非常快的圖算法、推薦系統(tǒng)以及OLAP風(fēng)格的分析,滿足了企業(yè)的應(yīng)用、健壯性以及性能的需求,得到了很好的應(yīng)用.Neo4j系統(tǒng)具有以下5個(gè)特性.(a)支持?jǐn)?shù)據(jù)庫的所有特性:Neo4j的內(nèi)核是一種極快的圖形引擎,支持事物的ACID特性、兩階段提交、符合分布式事務(wù)以及恢復(fù)等;(b)高可用性:Neo4j通過聯(lián)機(jī)備份實(shí)現(xiàn)它的高可用性;(c)可擴(kuò)展性:Neo4j提供了大規(guī)??蓴U(kuò)展性,可以在一臺機(jī)器上處理數(shù)十億節(jié)點(diǎn)/關(guān)系/屬性的圖,也可以擴(kuò)展到多臺機(jī)器上并行運(yùn)行;(d)靈活性:Neo4j擁有靈活的數(shù)據(jù)結(jié)構(gòu),可以通過Java-API直接與圖模型進(jìn)行交互.對于JRuby/Ruby,Scala,Python以及Clojure等其他語言,也開發(fā)了相應(yīng)的綁定庫;(e)高速遍歷:Neo4j中圖遍歷執(zhí)行的速度是常數(shù),與圖的規(guī)模大小無關(guān).它的讀性能可以實(shí)現(xiàn)每毫秒遍歷2000關(guān)系,而且完全是事務(wù)性的.Neo4j以一種延遲風(fēng)格遍歷圖,即節(jié)點(diǎn)和關(guān)系只有在結(jié)果迭代器需要訪問它們的時(shí)候才會被遍歷并返回,支持深度搜索和廣度搜索兩種遍歷方式.·微軟的Trinity系統(tǒng)Trinity[31,32]是Microsoft推出的一款建立在分布式云存儲上的計(jì)算平臺,可以提供高度并行查詢處理、事務(wù)記錄、一致性控制等功能.Trinity主要使用內(nèi)存存儲,磁盤僅作為備份存儲.Trinity有以下4個(gè)特點(diǎn).(a)數(shù)據(jù)模型是超圖:超圖中,一條邊可以連接任意數(shù)目的圖頂點(diǎn).此模型中圖的邊稱為超邊.基于這種特點(diǎn),超圖比簡單圖的適用性更強(qiáng),保留的信息更多;(b)并發(fā)性:Trinity可以配置在一臺或上百臺計(jì)算機(jī)上.Trinity提供了一個(gè)圖分割機(jī)制,由一個(gè)64位的唯一標(biāo)識UID確定各結(jié)點(diǎn)的位置,利用散列方式映射到相應(yīng)的機(jī)器上,以盡量減少延遲,如圖8所示.Trinity可以并發(fā)執(zhí)行PageRank、最短路徑查詢、頻繁子圖挖掘以及隨機(jī)游走等操作;(c)具有數(shù)據(jù)庫的一些特點(diǎn):Trinity是一個(gè)基于內(nèi)存的圖數(shù)據(jù)庫,有豐富的數(shù)據(jù)庫特點(diǎn),如:在線高度并行查詢處理、ACI交易支持、并發(fā)控制以及一致性維護(hù)等;(d)支持批處理:Trinity支持大型在線查詢和離線批處理,并且支持同步和不同步批處理計(jì)算.相比之下,Pregel只支持在線查詢處理,批處理必須是嚴(yán)格的同步計(jì)算.微軟現(xiàn)在使用Trinity作為Probase的基礎(chǔ)架構(gòu),可以從網(wǎng)上自動獲得大規(guī)模的知識庫.Trinity主要作用是分類建設(shè)、數(shù)據(jù)集成以及查詢Probase.Trinity也被用于其他的項(xiàng)目中,如Aether項(xiàng)目,其功能也在不斷的增加中.1.5小結(jié)面對大數(shù)據(jù),各種處理系統(tǒng)層出不窮,各有特色.總體來說,我們可以總結(jié)出3種發(fā)展趨勢:(1)數(shù)據(jù)處理引擎專用化:為了降低成本,提高能效,大數(shù)據(jù)系統(tǒng)需要擺脫傳統(tǒng)的通用體系,趨向?qū)S没軜?gòu)技術(shù).為此,國內(nèi)外的互聯(lián)網(wǎng)龍頭企業(yè)都在基于開源系統(tǒng)開發(fā)面向典型應(yīng)用的大規(guī)模、高通量、低成本、強(qiáng)擴(kuò)展的專用化系統(tǒng);(2)數(shù)據(jù)處理平臺多樣化:自2008年以來克隆了Google的GFS和MapReduce的ApacheHadoop逐漸被互聯(lián)網(wǎng)企業(yè)所廣泛接納,并成為大數(shù)據(jù)處理領(lǐng)域的事實(shí)標(biāo)準(zhǔn).但在全面兼容Hadoop的基礎(chǔ)上,Spark通過更多的利用內(nèi)存處理大幅提高系統(tǒng)性能.而Scribe,Flume,Kafka,Storm,Drill,Impala,TEZ/Stinger,Presto,Spark/Shark等的出現(xiàn)并不是取代Hadoop,而是擴(kuò)大了大數(shù)據(jù)技術(shù)的生態(tài)環(huán)境,促使生態(tài)環(huán)境向良性化和完整化發(fā)展.(3)數(shù)據(jù)計(jì)算實(shí)時(shí)化:在大數(shù)據(jù)背景下,作為批量計(jì)算的補(bǔ)充,旨在將PB級數(shù)據(jù)的處理時(shí)間縮短到秒級的實(shí)時(shí)計(jì)算受到越來越多的關(guān)注.2大數(shù)據(jù)分析要挖掘大數(shù)據(jù)的大價(jià)值必然要對大數(shù)據(jù)進(jìn)行內(nèi)容上的分析與計(jì)算.深度學(xué)習(xí)和知識計(jì)算是大數(shù)據(jù)分析的基礎(chǔ),而可視化既是數(shù)據(jù)分析的關(guān)鍵技術(shù)也是數(shù)據(jù)分析結(jié)果呈現(xiàn)的關(guān)鍵技術(shù).本節(jié)主要介紹深度學(xué)習(xí)、知識計(jì)算和可視化等大數(shù)據(jù)分析的關(guān)鍵技術(shù),同時(shí)也對大數(shù)據(jù)的典型應(yīng)用包括社會媒體計(jì)算等進(jìn)行簡要綜述.2.1深度學(xué)習(xí)大數(shù)據(jù)分析的一個(gè)核心問題是如何對數(shù)據(jù)進(jìn)行有效表達(dá)、解釋和學(xué)習(xí),無論是對圖像、聲音還是文本數(shù)據(jù).傳統(tǒng)的研究也有很多數(shù)據(jù)表達(dá)的模型和方法,但通常都是較為簡單或淺層的模型,模型的能力有限,而且依賴于數(shù)據(jù)的表達(dá),不能獲得很好的學(xué)習(xí)效果.大數(shù)據(jù)的出現(xiàn)提供了使用更加復(fù)雜的模型來更有效地表征數(shù)據(jù)、解釋數(shù)據(jù)的機(jī)會.深度學(xué)習(xí)就是利用層次化的架構(gòu)學(xué)習(xí)出對象在不同層次上的表達(dá),這種層次化的表達(dá)可以幫助解決更加復(fù)雜抽象的問題.在層次化中,高層的概念通常是通過低層的概念來定義的.深度學(xué)習(xí)通常使用人工神經(jīng)網(wǎng)絡(luò),常見的具有多個(gè)隱層的多層感知機(jī)(MLP)就是典型的深度架構(gòu).深度學(xué)習(xí)的起源要追溯到神經(jīng)網(wǎng)絡(luò),20世紀(jì)80年代,后向傳播(BP)算法的提出使得人們開始嘗試訓(xùn)練深層次的神經(jīng)網(wǎng)絡(luò).然而,BP算法在訓(xùn)練深層網(wǎng)絡(luò)的時(shí)候表現(xiàn)不夠好,以至于深層感知機(jī)的效果還不如淺層感知機(jī).于是很多人放棄使用神經(jīng)網(wǎng)絡(luò),轉(zhuǎn)而使用凸的更容易得到全局最優(yōu)解的淺層模型,提出諸如支持向量機(jī)、boosting等淺層方法,以致于此前大部分的機(jī)器學(xué)習(xí)技術(shù)都使用淺層架構(gòu).轉(zhuǎn)機(jī)出現(xiàn)在2006年,多倫多大學(xué)的Hinton等人使用無監(jiān)督的逐層貪婪的預(yù)訓(xùn)練(greedylayer-wisepre-train)方法成功減輕了深度模型優(yōu)化困難的問題[33],從而掀起了深度學(xué)習(xí)的浪潮.Hinton引入了深度產(chǎn)生式模型DBN,并提出高效的逐層貪婪的學(xué)習(xí)算法,使用DBN初始化一個(gè)深度神經(jīng)網(wǎng)絡(luò)(DNN)再對DNN進(jìn)行精調(diào),通常能夠產(chǎn)生更好的結(jié)果.Bengio等人[34]基于自動編碼器(auto-encoder)提出了非概率的無監(jiān)督深度學(xué)習(xí)模型,也取得了類似的效果.近幾年,深度學(xué)習(xí)在語音、圖像以及自然語言理解等應(yīng)用領(lǐng)域取得一系列重大進(jìn)展.從2009年開始,微軟研究院的Dahl等人率先在語音處理中使用深度神經(jīng)網(wǎng)絡(luò)(DNN),將語音識別的錯(cuò)誤率顯著降低,從而使得語音處理成為成功應(yīng)用深度學(xué)習(xí)的第1個(gè)領(lǐng)域[35].在圖像領(lǐng)域,2012年,Hinton等人使用深層次的卷積神經(jīng)網(wǎng)絡(luò)(CNN)在ImageNet評測上取得巨大突破,將錯(cuò)誤率從26%降低到15%[36],重要的是,這個(gè)模型中并沒有任何手工構(gòu)造特征的過程,網(wǎng)絡(luò)的輸入就是圖像的原始像素值.在此之后,采用類似的模型,通過使用更多的參數(shù)和訓(xùn)練數(shù)據(jù),ImageNet評測的結(jié)果得到進(jìn)一步改善,錯(cuò)誤率下降至2013年的11.2%[37].Facebook人工智能實(shí)驗(yàn)室的Taigman等人使用了與文獻(xiàn)[36]中類似的神經(jīng)網(wǎng)絡(luò)在人臉識別上也取得了很好的效果,將人臉識別的正確率提升至接近人類水平[38].此外,圖像領(lǐng)域還有一些基于無監(jiān)督的深度學(xué)習(xí)研究,比如在GoogleBrain項(xiàng)目中,Le等人嘗試使用完全無標(biāo)注的圖像訓(xùn)練得到人臉特征檢測器,使用這些學(xué)習(xí)到的特征可以在圖像分類中取得非常好的效果[39];Google的深度學(xué)習(xí)系統(tǒng)(DistBelief)在獲取數(shù)百萬YouTube視頻數(shù)據(jù)后,能夠精準(zhǔn)地識別出這些視頻中的關(guān)鍵元素——貓.在自然語言領(lǐng)域,從2003年開始,Bengio等人使用神經(jīng)網(wǎng)絡(luò)并結(jié)合分布式表達(dá)(distributedrepresentation)的思想訓(xùn)練語言模型并取得很好的效果[40],不過當(dāng)時(shí)還沒有使用到更深層次的模型.2008年,Collobert等人訓(xùn)練了包含一個(gè)卷積層的深度神經(jīng)網(wǎng)絡(luò),利用學(xué)習(xí)得到的中間表達(dá)同時(shí)解決多個(gè)NLP問題[41].盡管這些工作沒有取得像圖像和語音處理領(lǐng)域如此重大的進(jìn)展,但也都接近或超過了已有的最好方法.近年來,斯坦福大學(xué)的Socher等人的一系列工作也值得關(guān)注.他們使用遞歸神經(jīng)網(wǎng)絡(luò)(recursiveneuralnetwork,簡稱RNN)在情感分析等問題上取得一系列進(jìn)展,將現(xiàn)有的準(zhǔn)確率從80%提升到85%[42].在國內(nèi),2011年科大訊飛首次將DNN技術(shù)運(yùn)用到語音云平臺,并提供給開發(fā)者使用,并在訊飛語音輸入法和訊飛口訊等產(chǎn)品中得到應(yīng)用.百度成立了IDL(深度學(xué)習(xí)研究院),專門研究深度學(xué)習(xí)算法,目前已有多項(xiàng)深度學(xué)習(xí)技術(shù)在百度產(chǎn)品上線.深度學(xué)習(xí)對百度影響深遠(yuǎn),在語音識別、OCR識別、人臉識別、圖像搜索等應(yīng)用上取得了突出效果.此外,國內(nèi)其他公司如搜狗、云知聲等紛紛開始在產(chǎn)品中使用深度學(xué)習(xí)技術(shù).2.2知識計(jì)算基于大數(shù)據(jù)的知識計(jì)算是大數(shù)據(jù)分析的基礎(chǔ).知識計(jì)算是國內(nèi)外工業(yè)界開發(fā)和學(xué)術(shù)界研究的一個(gè)熱點(diǎn).要對數(shù)據(jù)進(jìn)行高端分析,就需要從大數(shù)據(jù)中先抽取出有價(jià)值的知識,并把它構(gòu)建成可支持查詢、分析和計(jì)算知識庫.目前,世界各國各個(gè)組織建立的知識庫多達(dá)50余種,相關(guān)的應(yīng)用系統(tǒng)更是達(dá)到了上百種.其中,代表性的知識庫或應(yīng)用系統(tǒng)有KnowItAll[43,44],TextRunner[45],NELL[46],Probase[47],Satori[48],PROSPERA[49],SOFIE[50]以及一些基于維基百科等在線百科知識構(gòu)建的知識庫,如DBpedia[51],YAGO[52,53,54],Omega[55]和WikiTaxonomy[56,57].除此之外,一些著名的商業(yè)網(wǎng)站、公司和政府也發(fā)布了類似的知識搜索和計(jì)算平臺,如Evi公司的TrueKnowledge知識搜索平臺,美國官方政府網(wǎng)站D,Wolfram的知識計(jì)算平臺wolframalpha,Google的知識圖譜(knowledgegraph)、Facebook推出的類似的實(shí)體搜索服務(wù)GraphSearch等.在國內(nèi),中文知識圖譜的構(gòu)建與知識計(jì)算也有大量的研究和開發(fā)工作.代表性工作有中國科學(xué)院計(jì)算技術(shù)研究所的OpenKN,中國科學(xué)院數(shù)學(xué)研究院陸汝鈐院士提出的知件(knowware),上海交通大學(xué)最早構(gòu)建的中文知識圖譜平臺zhishi.me,百度推出了中文知識圖譜搜索,搜狗推出的知立方平臺,復(fù)旦大學(xué)GDM實(shí)驗(yàn)室推出的中文知識圖譜展示平臺等.支持知識計(jì)算的基礎(chǔ)是構(gòu)建知識庫,這包括3個(gè)部分,即知識庫的構(gòu)建、多源知識的融合與知識庫的更新.知識庫的構(gòu)建就是要構(gòu)建幾個(gè)基本的構(gòu)成要素,包括抽取概念、實(shí)例、屬性和關(guān)系.從構(gòu)建方式上,可以分為手工構(gòu)建和自動構(gòu)建.手工構(gòu)建是依靠專家知識編寫一定的規(guī)則,從不同的來源收集相關(guān)的知識信息,構(gòu)建知識的體系結(jié)構(gòu)[58].比較典型的例子是知網(wǎng)(Hownet)[59]、同義詞詞林[60]、概念層次網(wǎng)絡(luò)(HNC)[61]和中文概念詞典(CCD)[62],OpenCyc[63]等.自動構(gòu)建是基于知識工程、機(jī)器學(xué)習(xí),人工智能等理論自動從互聯(lián)網(wǎng)上采集并抽取概念、實(shí)例、屬性和關(guān)系[64,65].比較著名的例子是Probase[47],YAGO[52,53,54]等.手工構(gòu)建知識庫,需要構(gòu)建者對知識的領(lǐng)域有一定的了解,才能編寫出合適的規(guī)則,開發(fā)過程中也需要投入大量的人力物力.相反地,自動構(gòu)建的方法依靠系統(tǒng)自動的學(xué)習(xí)經(jīng)過標(biāo)注的語料來獲取規(guī)則的,如屬性抽取規(guī)則,關(guān)系抽取規(guī)則等,在一定程度上可以減少人工構(gòu)建的工作量.隨著大數(shù)據(jù)時(shí)代的到來,面對大規(guī)模網(wǎng)頁信息中蘊(yùn)含的知識,自動構(gòu)建知識庫的方法越來越受到人們的重視和青睞.自動構(gòu)建知識庫的方法主要分為有監(jiān)督的構(gòu)建方法和半監(jiān)督的構(gòu)建方法兩種.有監(jiān)督的構(gòu)建方法是指系統(tǒng)通過學(xué)習(xí)訓(xùn)練數(shù)據(jù),獲取抽取規(guī)則,然后根據(jù)這些規(guī)則,提取同一類型的網(wǎng)頁中的概念、實(shí)例、屬性和關(guān)系.這類方法的缺點(diǎn)是規(guī)則缺乏普適性.而且,由于規(guī)則是針對特定網(wǎng)頁的,當(dāng)訓(xùn)練網(wǎng)頁發(fā)生變化,需要重新進(jìn)行訓(xùn)練來獲取規(guī)則.半監(jiān)督的構(gòu)建方法是系統(tǒng)預(yù)先定義一些規(guī)則作為種子,然后通過機(jī)器學(xué)習(xí)算法,從標(biāo)注語料中抽取相應(yīng)的概念、實(shí)例、屬性和關(guān)系.進(jìn)一步地,系統(tǒng)根據(jù)抽取的結(jié)果,發(fā)現(xiàn)新的規(guī)則,再用來指導(dǎo)抽取相應(yīng)的概念、實(shí)例、屬性和關(guān)系,從而使抽取過程能夠迭代的進(jìn)行.

多源知識的融合是為了解決知識的復(fù)用問題.如前文所述,構(gòu)建一個(gè)知識庫的代價(jià)是非常大的,為了避免從頭開始,需要考慮知識的復(fù)用和共享,這就需要對多個(gè)來源的知識進(jìn)行融合,即需要對概念、實(shí)例、屬性和關(guān)系的沖突,重復(fù)冗余,不一致進(jìn)行數(shù)據(jù)的清理工作,包括對概念、實(shí)例進(jìn)行映射、消歧,對關(guān)系進(jìn)行合并等.這其中概念間關(guān)系或分類體系的融合是很關(guān)鍵一部分.按融合方式可以分為手動融合和自動融合.對于規(guī)模較小的知識庫,手動融合是可行的,但這是一種非常費(fèi)時(shí)而且容易出錯(cuò)的融合方式.相比于手動融合方式,建立在機(jī)器學(xué)習(xí)、人工智能和本體工程等算法上的融合方式具有更好的可擴(kuò)展性,相關(guān)工作包括YAGO[52,53,54],Probase[47]等.YAGO知識庫將維基百科,WordNet和GeoNames等數(shù)據(jù)源的知識整合在知識庫中.其中,將維基百科的分類體系和WordNet的分類體系進(jìn)行融合是YAGO的重要的工作之一.維基百科的分類是一個(gè)有向無環(huán)圖生成的層次結(jié)構(gòu)[52],這種結(jié)構(gòu)由于僅能反映主題信息,所以容易出錯(cuò).Probase提出了一種基于概率化的實(shí)體消解(entityresolution)的知識整合技術(shù)[46],將現(xiàn)有結(jié)構(gòu)化數(shù)據(jù),如Freebase,IMDB,Amazon等整合到Probase當(dāng)中.對多源知識的融合,除了分類體系的融合外,還包括對實(shí)體和概念的消解問題,實(shí)體和概念的消歧問題等.面對海量知識庫時(shí),建立若干個(gè)針對不同領(lǐng)域,不同需求的有效的知識融合算法,快速進(jìn)行多元知識的融合,是亟待進(jìn)一步解決的問題之一.大數(shù)據(jù)時(shí)代數(shù)據(jù)的不斷發(fā)展與變化帶給知識庫構(gòu)建的一個(gè)巨大的挑戰(zhàn)是知識庫的更新問題.知識庫的更新分為兩個(gè)層面,一是新知識的加入;二是已有知識的更改.目前專門針對開放網(wǎng)絡(luò)知識庫的更新工作較少,很多都是從數(shù)據(jù)庫的更新角度展開的,如對數(shù)據(jù)庫數(shù)據(jù)的增加、刪除和修改工作的介紹.雖然對開放網(wǎng)絡(luò)知識庫的更新,與數(shù)據(jù)庫的更新有很多相似之處,但是其本身對更新的實(shí)時(shí)性要求較高.目前這方面的工作,從更新方式來講分為兩類:一是基于知識庫構(gòu)建人員的更新;二是基于知識庫存儲的時(shí)空信息的更新.前者準(zhǔn)確性較高,但是對人力的消耗較大.后者多由知識庫自身更新,需要人工干預(yù)的較少,但是存在準(zhǔn)確率不高的問題.總體上講,對知識庫的更新仍然沒有很有效的方法.尤其在面對用戶對知識的實(shí)時(shí)更新需求方面,遠(yuǎn)遠(yuǎn)達(dá)不到用戶的要求.在更新數(shù)據(jù)的自動化感知方面,缺乏有效的辦法自動識別知識的變化,也沒有能夠動態(tài)響應(yīng)這些變化的更新機(jī)制.2.3社會計(jì)算以Facebook、Twitter、新浪微博、微信等為代表的在線社交網(wǎng)絡(luò)和社會媒體正深刻改變著人們傳播信息和獲取信息的方式,人和人之間結(jié)成的關(guān)系網(wǎng)絡(luò)承載著網(wǎng)絡(luò)信息的傳播,人的互聯(lián)成為信息互聯(lián)的載體和信息傳播的媒介,社會媒體的強(qiáng)交互性、時(shí)效性等特點(diǎn)使其在信息的產(chǎn)生、消費(fèi)和傳播過程中發(fā)揮著越來越重要的作用,成為一類重要信息載體.正因如此,當(dāng)前在線社會計(jì)算無論在學(xué)術(shù)圈和工業(yè)界都備受重視,大家關(guān)注的問題包括了對在線社會網(wǎng)絡(luò)結(jié)構(gòu)、信息傳播以及信息內(nèi)容的分析、建模與挖掘等一系列問題.2.3.1在線社會網(wǎng)絡(luò)的結(jié)構(gòu)分析在線社會網(wǎng)絡(luò)在微觀層面上具有隨機(jī)化無序的現(xiàn)象,在宏觀層面上往往呈現(xiàn)出規(guī)則化、有序的現(xiàn)象,為了理清網(wǎng)絡(luò)具有的這種看似矛盾的不同尺度的結(jié)構(gòu)特性,探索和分析連接微觀和宏觀的網(wǎng)絡(luò)中觀結(jié)構(gòu)(也稱為社區(qū)結(jié)構(gòu))成為了本領(lǐng)域一個(gè)重要的研究方向.一般意義上講,社區(qū)結(jié)構(gòu)是指網(wǎng)絡(luò)節(jié)點(diǎn)按照連接關(guān)系的緊密程度不同而自然分成若干個(gè)內(nèi)部連接緊密、與外部連接稀疏的節(jié)點(diǎn)組,每個(gè)節(jié)點(diǎn)組相應(yīng)地被稱為社區(qū)[66].社區(qū)分析研究目前主要包括社區(qū)的定義和度量、社區(qū)結(jié)構(gòu)發(fā)現(xiàn)和社區(qū)結(jié)構(gòu)演化性分析等基本問題[67].社區(qū)定義或度量大體上分為4類,基于節(jié)點(diǎn)的社區(qū)定義、基于節(jié)點(diǎn)組(社區(qū))的社區(qū)定義、基于網(wǎng)絡(luò)整體的社區(qū)定義、基于層次結(jié)構(gòu)的社區(qū)定義.目前,社區(qū)結(jié)構(gòu)的研究主要集中在基于某種給定社區(qū)定義或度量的社區(qū)發(fā)現(xiàn)上.最具代表性的社區(qū)發(fā)現(xiàn)算法包括密歇根大學(xué)Newman等人提出的模塊度(modularity)優(yōu)化方法[68]、匈牙利科學(xué)院Palla等人提出的完全子圖滲流(cliquepercolation)方法[69]、華盛頓大學(xué)的Rosvall等人提出的基于網(wǎng)絡(luò)最短編碼的InfoMap方法[70]、Airoldi[71]等人提出的MixedMembershipStochasticBlock(MMSB)模型,這些社區(qū)發(fā)現(xiàn)方法在人工構(gòu)造的測試網(wǎng)絡(luò)和一些小規(guī)模的真實(shí)網(wǎng)絡(luò)上取得了很好的效果.真實(shí)世界在線社交網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu)具有多尺度、重疊等特點(diǎn),近幾年逐步引起研究人員的關(guān)注,成為一個(gè)研究熱點(diǎn)[72,73,74,75,76].網(wǎng)絡(luò)社區(qū)的演化性是信息網(wǎng)絡(luò)的一個(gè)基本特性,也是促使大規(guī)模信息網(wǎng)絡(luò)的內(nèi)容與結(jié)構(gòu)涌現(xiàn)現(xiàn)象及信息大規(guī)模傳播的基本原因[77].近幾年,在前述社區(qū)發(fā)現(xiàn)研究的基礎(chǔ)上,人們開始研究社區(qū)隨時(shí)間演化的規(guī)律[78].例如,Palla等人基于完全子圖滲流社區(qū)發(fā)現(xiàn)方法研究社區(qū)演化[79],得到一個(gè)有趣結(jié)論,小社區(qū)的穩(wěn)定性是保證它存在的前提,大社區(qū)的動態(tài)性是它存在的基礎(chǔ).Song等人[80]考慮了網(wǎng)絡(luò)結(jié)構(gòu)變化的時(shí)間因素,并認(rèn)為網(wǎng)絡(luò)演化過程是平滑的,他們使用擴(kuò)展了的動態(tài)貝葉斯網(wǎng)絡(luò)來建模網(wǎng)絡(luò)的演化過程,取得了很好的效果.Xing等人[81]將網(wǎng)絡(luò)演化的觀點(diǎn)引入到結(jié)點(diǎn)的角色分析中.在MMSB模型中加入時(shí)間因素,他們認(rèn)為兩個(gè)相鄰的時(shí)間片內(nèi)角色選擇方式和角色之間的關(guān)系具有一階馬爾可夫性質(zhì).此外,社區(qū)結(jié)構(gòu)被用于預(yù)測網(wǎng)絡(luò)中潛在存在的邊,對于網(wǎng)絡(luò)演化具有重要意義[82].2.3.2在線社會網(wǎng)絡(luò)的信息傳播模型在信息傳播模型的研究中,最廣泛深入研究的是傳染病模型[83,84],除了傳染病模型,隨機(jī)游走模型也是信息傳播的基本模型之一[85],作為最基本的動力學(xué)過程之一,隨機(jī)游走與網(wǎng)絡(luò)上的許多其他動力學(xué)過程(如反應(yīng)-擴(kuò)散過程、社團(tuán)挖掘、路由選擇,目標(biāo)搜索)緊密相關(guān).近幾年,研究人員開始注意到信息傳播和傳染病傳播具有顯著不同的特性[86],包括信息傳播的記憶性、社會增強(qiáng)效應(yīng)、不同傳播者的角色不同、消息內(nèi)容的影響等.Romero等人提出了Stickiness和Persistence兩個(gè)重要概念[87],分析不同領(lǐng)域內(nèi)的Hashtag在Twitter上的傳播過程.Wu等人分析名人、機(jī)構(gòu)、草根等不同群體之間的消息流向,并分析了不同類型的消息被轉(zhuǎn)發(fā)的情況及其生命周期[88].Lerman等人從網(wǎng)絡(luò)動力學(xué)角度,通過實(shí)際數(shù)據(jù)分析了Twitter中消息傳播的特性[89].Castillo等人通過特征提取,利用機(jī)器學(xué)習(xí)中分類的方法,對Twitter中消息的可信度建模,并預(yù)測其中消息的可信性[90].Phelan等人提出了一種Twitter消息新穎度的度量,并建立了向用戶實(shí)時(shí)推薦新消息的系統(tǒng)[91].Lerman等人利用概率方法和先驗(yàn)知識,對Digg中的消息建模,預(yù)測消息的流行度[92].當(dāng)前,對在線社交網(wǎng)絡(luò)中信息傳播的研究主要集中在實(shí)證分析和統(tǒng)計(jì)建模,對于信息傳播機(jī)理仍然缺乏深入的理解和有效的建模.2.3.3社會媒體中信息檢索與數(shù)據(jù)挖掘社會媒體的出現(xiàn)對信息檢索與數(shù)據(jù)挖掘的研究提出了新的挑戰(zhàn).不同于傳統(tǒng)的Web數(shù)據(jù),社會媒體中的數(shù)據(jù)呈現(xiàn)出一些新的特征:(1)信息碎片化現(xiàn)象明顯,文本內(nèi)容特征越發(fā)稀疏;(2)信息互聯(lián)被人的互聯(lián)所取代,社會媒體用戶形成的社會關(guān)系網(wǎng)絡(luò)的搜索和挖掘過程中的重要組成部分;(3)社會媒體的易參與性使得人人具有媒體的特征,呈現(xiàn)出自媒體現(xiàn)象,個(gè)人影響力、情感與傾向性摻雜其中.針對這些特點(diǎn),研究人員在傳統(tǒng)信息檢索與數(shù)據(jù)挖掘技術(shù)基礎(chǔ)上提出了一系列的新模型[93,94].鑒于用戶所創(chuàng)造的信息往往具有很強(qiáng)的時(shí)效性,Yang等人提出了一種時(shí)間序列聚類的方法,從Twitter數(shù)據(jù)中挖掘熱門話題發(fā)展趨勢的規(guī)律[95].因?yàn)橛脩舻臓顟B(tài)和評論中包含了大眾的觀點(diǎn)和態(tài)度,所以Bollen等人通過對Twitter中用戶的信息進(jìn)行情感分析,將大眾情緒的變化表示為7種不同的情緒時(shí)間序列,進(jìn)而發(fā)現(xiàn)這些序列能夠預(yù)測股票市場的走勢[96].此外,基于用戶在協(xié)作平臺上所貢獻(xiàn)的內(nèi)容和標(biāo)簽等信息往往蘊(yùn)含有豐富的大眾知識和智慧這一現(xiàn)象,Hu等人利用Wikipedia中的文章和類別信息來確定用戶的查詢意圖,進(jìn)而輔助信息檢索[97].社會媒體的檢索與挖掘研究在國內(nèi)也受到了越來越多的重視,包括北京大學(xué)、清華大學(xué)、哈爾濱工業(yè)大學(xué)、上海交通大學(xué)、浙江大學(xué)、復(fù)旦大學(xué)、中國科學(xué)院、微軟亞洲研究院等大學(xué)和研究機(jī)構(gòu)已經(jīng)取得了一定的進(jìn)展,涉及的研究內(nèi)容包括社會化標(biāo)簽系統(tǒng)中的標(biāo)簽學(xué)習(xí)和排序[98,99]、信息抽取和分類[100]、社會化多媒體檢索[101]、協(xié)作搜索和推薦[102,103]等等.2.4可視化大數(shù)據(jù)引領(lǐng)著新一波的技術(shù)革命,對大數(shù)據(jù)查詢和分析的實(shí)用性和實(shí)效性對于人們能否及時(shí)獲得決策信息非常重要,決定著大數(shù)據(jù)應(yīng)用的成敗.但產(chǎn)業(yè)界面對大數(shù)據(jù)常常顯得束手無策.一是因?yàn)閿?shù)據(jù)容量巨大,類型多樣,數(shù)據(jù)分析工具面臨性能瓶頸.另一原因在于,數(shù)據(jù)分析工具通常僅為IT部門熟練使用,缺少簡單易用、讓業(yè)務(wù)人員也能輕松上手實(shí)現(xiàn)自助自主分析即時(shí)獲取商業(yè)洞察的工具.因此,數(shù)據(jù)可視化技術(shù)正逐步成為大數(shù)據(jù)時(shí)代的顯學(xué).對大數(shù)據(jù)進(jìn)行分析以后,為了方便用戶理解也需要有效的可視化技術(shù),這其中交互式的展示和超大圖的動態(tài)化展示值得重點(diǎn)關(guān)注.

大數(shù)據(jù)可視化,不同于傳統(tǒng)的信息可視化,面臨最大的一個(gè)挑戰(zhàn)就是規(guī)模,如何提出新的可視化方法能夠幫助人們分析大規(guī)模、高維度、多來源、動態(tài)演化的信息,并輔助作出實(shí)時(shí)的決策,成為了這個(gè)領(lǐng)域最大的挑戰(zhàn).為了解決這個(gè)問題,我們可以依賴的主要手段是兩種,即數(shù)據(jù)轉(zhuǎn)換和視覺轉(zhuǎn)換.現(xiàn)有研究工作主要聚焦在4個(gè)方面:(1)通過對信息流進(jìn)行壓縮或者刪除數(shù)據(jù)中的冗余信息對數(shù)據(jù)進(jìn)行簡化.其中很多工作主要解決曲面的可視化,使用基本的數(shù)據(jù)轉(zhuǎn)換方法來對數(shù)據(jù)進(jìn)行簡化.例如,文獻(xiàn)[104,105]提出通過刪除節(jié)點(diǎn)以及包含這個(gè)節(jié)點(diǎn)的三角形進(jìn)行網(wǎng)格的簡化,而Hoppe等人[106,107]則提出了一種漸進(jìn)網(wǎng)格表達(dá)方法,通過有效地刪除邊及其所屬的三角形實(shí)現(xiàn).一些研究人員把上述的這些曲面算法進(jìn)一步擴(kuò)展到四面體上[108,109].上述這些工作存在主要的不同之處在于基本的數(shù)據(jù)轉(zhuǎn)換步驟中使用不同的錯(cuò)誤近似方法.(2)通過設(shè)計(jì)多尺度、多層次的方法實(shí)現(xiàn)信息在不同的解析度上的展示,從而使用戶可自主控制展示解析度.很多已有多尺度算法集中在對地形類數(shù)據(jù)的渲染上.例如,一些使用固定網(wǎng)格方法的系統(tǒng)建立在直角三角形的層次結(jié)構(gòu)之上[110,111],而一些不規(guī)則三角形網(wǎng)[112,113]則是通過不把三角形限制在固定網(wǎng)格上的方式來解決這個(gè)問題,這兩類方法各有利弊.Cignoni等人[114,115]則通過利用四叉樹紋理層次以及利用三角片面二叉樹顯示幾何形,展示了實(shí)時(shí)顯示大型地形數(shù)據(jù)集中自適應(yīng)的幾何形和紋理的能力.(3)利用創(chuàng)新的方法把數(shù)據(jù)存儲在外存,并讓用戶可以通過交互手段方便地獲取相關(guān)數(shù)據(jù),這類研究也成為核外算法(out-of-corealgorithm).為了應(yīng)對大規(guī)模數(shù)據(jù)結(jié)構(gòu)無法在內(nèi)存中存放,而外存訪問時(shí)間又極大地依賴于外部存儲單元的位置,人們設(shè)計(jì)了一些新的算法與分析工具來解決幾何算法[116,117]以及可視化方法.這類工作重點(diǎn)解決兩個(gè)問題:a)對算法進(jìn)行分析得到數(shù)據(jù)訪問的模式,從而重新設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)來最大化訪問的局部性;b)在二級存儲設(shè)備中的數(shù)據(jù)需要有與算法訪問模式匹配的存放布局.Pascucci和Frank[118]引入了一種新的靜態(tài)索引體系使得在層次化遍歷n維規(guī)則網(wǎng)格時(shí)候,數(shù)據(jù)的存放布局能夠滿足上述兩個(gè)要求.(4)提出新的視覺隱喻方法以全新的方式展示數(shù)據(jù).其中,一類典型的方法是“焦點(diǎn)+上下文”方法,它重點(diǎn)對焦點(diǎn)數(shù)據(jù)進(jìn)行細(xì)節(jié)展示,對不重要數(shù)據(jù)的則簡化表示,例如魚眼視圖[119].Plaisant提出了空間樹(spacetree)[120],一種樹形瀏覽器通過動態(tài)調(diào)整樹枝的尺寸來使其最好地適配顯示區(qū)域.分層平行坐標(biāo)方法,作為平行坐標(biāo)方法的多尺度版本,通過在不同的細(xì)節(jié)層次使用多的視圖來對大規(guī)模數(shù)據(jù)進(jìn)行表達(dá).對大數(shù)據(jù)進(jìn)行探索和可視化仍然還處在初始階段,特別是對于動態(tài)多維度大數(shù)據(jù)流的可視化技術(shù)還非常匱乏,非常需要擴(kuò)展現(xiàn)有的可視化算法,研究新的數(shù)據(jù)轉(zhuǎn)換方法以便能夠應(yīng)對復(fù)雜的信息流數(shù)據(jù).也需要設(shè)計(jì)創(chuàng)新的交互方式來對大數(shù)據(jù)進(jìn)行可視化交互和輔助決策.2.5小結(jié)大數(shù)據(jù)處理和分析的終極目標(biāo)是借助對數(shù)據(jù)的理解輔助人們在各類應(yīng)用中作出合理的決策.在此過程中,深度學(xué)習(xí)、知識計(jì)算、社會計(jì)算和可視化起到了相輔相成的作用.(1)深度學(xué)習(xí)提高精度:如前所述,要挖掘大數(shù)據(jù)的大價(jià)值必然要對大數(shù)據(jù)進(jìn)行內(nèi)容上的分析與計(jì)算,而傳統(tǒng)的數(shù)據(jù)表達(dá)模型和方法通常是簡單的淺層模型學(xué)習(xí),效果不盡人意.深度學(xué)習(xí)可以對人類難以理解的底層數(shù)據(jù)特征進(jìn)行層層抽象,凝練具有物理意義的特征,從而提高數(shù)據(jù)學(xué)習(xí)的精度.因此,深度學(xué)習(xí)是大數(shù)據(jù)分析的核心技術(shù);(2)知識計(jì)算挖掘深度:每一種數(shù)據(jù)來源都有一定的局限性和片面性,只有對各種來源的原始數(shù)據(jù)進(jìn)行融合才能反映事物的全貌,事物的本質(zhì)和規(guī)律往往隱藏在各種原始數(shù)據(jù)的相互關(guān)聯(lián)之中.而借助知識計(jì)算可以將碎片化的多源數(shù)據(jù)整合成反映事物全貌的完整數(shù)據(jù),從而增加數(shù)據(jù)挖掘的深度.因此,基于大數(shù)據(jù)的知識計(jì)算是大數(shù)據(jù)分析的基礎(chǔ).如何基于大數(shù)據(jù)實(shí)現(xiàn)新知識的感知,知識的增量式演化和自適應(yīng)學(xué)習(xí)是其中的重大挑戰(zhàn);(3)社會計(jì)算促進(jìn)認(rèn)知:IT技術(shù)的發(fā)展使得社會媒體成了一類重要的信息載體,承載著對事物的客觀或主觀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論