近幾年,大數據迅速發展成爲科技界和企業界甚至世界各國政府關注的熱點.《Nature》和《Science》等相繼出版專刊專門探討大數據帶來的機遇和挑戰.著名管理諮詢公司麥肯錫稱:「數據已經滲透到當今每個行業和業務職能領域,成爲重要的生產因素.人們對於大數據的挖掘和運用,預示着新一波生產力增加和消費盈餘浪潮的到來」[1].美國政府認爲大數據是「將來的新石油」,一個國家擁有數據的規模和運用數據的能力將成爲綜合國力的重要組成部分,對數據的佔有和控制將成爲國家間和企業間新的爭奪焦點.大數據已成爲社會各界關注的新焦點,「大數據時代」已然來臨.php
什麼是大數據,迄今並無公認的定義.從宏觀世界角度來說,大數據是融合物理世界(physical world)、信息空間和人類社會(human society)三元世界的紐帶,由於物理世界經過互聯網、物聯網等技術有了在信息空間(cyberspace)中的大數據反映,而人類社會則藉助人機界面、腦機界面、移動互聯等手段在信息空間中產生本身的大數據映像[2,3].從信息產業角度來說,大數據仍是新一代信息技術產業的強勁推進力.所謂新一代信息技術產業本質上是構建在第三代平臺上的信息產業,主要是指大數據、雲計算、移動互聯網(社交網絡)等.IDC預測,到2020年第三代信息技術平臺的市場規模將達到5.3萬億美圓,而從2013年~2020年,IT產業90%的增加將由第三代信息技術平臺驅動.從社會經濟角度來說,大數據是第二經濟(second economy[4])的核心內涵和關鍵支撐.第二經濟的概念是由美國經濟學家Auther在2011年提出的.他指出由處理器、連接器、傳感器、執行器以及運行在其上的經濟活動造成了人們熟知的物理經濟(第一經濟)以外的第二經濟(不是虛擬經濟).第二經濟的本質是爲第一經濟附着一個「神經層」,使國民經濟活動可以變得智能化,這是100年前電氣化以來最大的變化. Auther還估算了第二經濟的規模,他認爲到2030年,第二經濟的規模將逼近第一經濟.而第二經濟的主要支撐是大數據,由於大數據是永不枯竭並不斷豐富的資源產業.藉助於大數據,將來第二經濟下的競爭將再也不是勞動生產率而是知識生產率的競爭.html
相較於傳統的數據,人們將大數據的特徵總結爲5個V,即體量大(volume)、速度快(velocity)、模態多(variety)、難辨識(veracity)和價值大密度低(value).但大數據的主要難點並不在於數據量大,由於經過對計算機系統的擴展能夠在必定程度上緩解數據量大帶來的挑戰.其實,大數據真正難以對付的挑戰來自於數據類型多樣(variety)、要求及時響應(velocity)和數據的不肯定性(veracity).由於數據類型多樣使得一個應用每每既要處理結構化數據,同時還要處理文本、視頻、語音等非結構化數據,這對現有數據庫系統來講難以應付;在快速響應方面,在許多應用中時間就是利益.在不肯定性方面,數據真僞難辨是大數據應用的最大挑戰.追求高數據質量是對大數據的一項重要要求,最好的數據清理方法也難以消除某些數據固有的不可預測性.node
爲了應對大數據帶來的上述困難和挑戰,以Google,Facebook,Linkedin,Microsoft等爲表明的互聯網企業近幾年推出了各類不一樣類型的大數據處理系統.藉助於新型的處理系統,深度學習、知識計算、可視化等大數據分析技術也得已迅速發展,已逐漸被普遍應用於不一樣的行業和領域.本文從系統支撐下的大數據分析角度入手,介紹了不一樣的大數據處理模式與表明性的處理系統,並對深度學習、知識計算等重要的大數據分析技術進行綜述,最後指出大數據處理和分析所面臨的3個核心挑戰,並提出可能的解決思路.ios
1 大數據處理與系統大數據中蘊含的寶貴价值成爲人們存儲和處理大數據的驅動力.Mayer-Schönberger在《大數據時代》一書中指出了大數據時代處理數據理念的三大轉變,即要全體不要抽樣,要效率不要絕對精確,要相關不要因果[5].所以,海量數據的處理對於當前存在的技術來講是一種極大的挑戰.目前,人們對大數據的處理形式主要是對靜態數據的批量處理,對在線數據的實時處理[6],以及對圖數據的綜合處理.其中,在線數據的實時處理又包括對流式數據的處理和實時交互計算兩種.本節將詳細闡述上述4種數據形式的特徵和各自的典型應用以及相應的表明性系統.git
1.1 批量數據處理系統利用批量數據挖掘合適的模式,得出具體的含義,制定明智的決策,最終作出有效的應對措施實現業務目標是大數據批處理的首要任務.大數據的批量處理系統適用於先存儲後計算,實時性要求不高,同時數據的準確性和全面性更爲重要的場景.程序員
1.1.1 批量數據的特徵與典型應用(1) 批量數據的特徵github
批量數據一般具備3個特徵.第一,數據體量巨大.數據從TB級別躍升到PB級別.數據是以靜態的形式存儲在硬盤中,不多進行更新,存儲時間長,能夠重複利用,然而這樣大批量的數據不容易對其進行移動和備份.第二,數據精確度高.批量數據每每是從應用中沉澱下來的數據,所以精度相對較高,是企業資產的一部分寶貴財富.第三,數據價值密度低.以視頻批量數據爲例,在接二連三的監控過程當中,可能有用的數據僅僅有一兩秒.所以,須要經過合理的算法才能從批量的數據中抽取有用的價值.此外,批量數據處理每每比較耗時,並且不提供用戶與系統的交互手段,因此當發現處理結果和預期或與以往的結果有很大差異時,會浪費不少時間.所以,批量數據處理適合大型的相對比較成熟的做業.算法
(2) 典型應用mongodb
物聯網、雲計算、互聯網以及車聯網等無一不是大數據的重要來源,當前批量數據處理能夠解決前述領域的諸多決策問題並發現新的洞察.所以,批量數據處理能夠適用於較多的應用場景.本節主要選擇互聯網領域的應用、安全領域的應用以及公共服務領域的應用這3個典型應用場景加以介紹[7, 8, 9, 10, 11, 12].在互聯網領域中,批量數據處理的典型應用場景主要包括:(a) 社交網絡:Facebook、新浪微博、微信等以人爲核心的社交網絡產生了大量的文本、圖片、音視頻等不一樣形式的數據.對這些數據的批量處理能夠對社交網絡進行分析,發現人與人之間隱含的關係或者他們中存在的社區,推薦朋友或者相關的主題,提高用戶的體驗.(b) 電子商務:電子商務中產生大量的購買歷史記錄、商品評論、商品網頁的訪問次數和駐留時間等數據,經過批量分析這些數據,每一個商鋪能夠精準地選擇其熱賣商品,從而提高商品銷量;這些數據還可以分析出用戶的消費行爲,爲客戶推薦相關商品,以提高優質客戶數量.(c) 搜索引擎:Google等大型互聯網搜索引擎與Yahoo!的專門廣告分析系統,經過對廣告相關數據的批量處理用來改善廣告的投放效果以提升用戶的點擊量.在安全領域中,批量數據主要用於欺詐檢測和IT安全.在金融服務機構和情報機構中,欺詐檢測一直都是關注的重點.經過對批量數據的處理,可對客戶交易和現貨異常進行判斷,從而對可能存在欺詐行爲提早預警.另外一方面,企業經過處理機器產生的數據,識別惡意軟件和網絡攻擊模式,從而使其餘安全產品判斷是否接受來自這些來源的通訊.在公共服務領域,批量數據處理的典型應用場景主要包括:(a) 能源:例如,對來自海洋深處地震時產生的數據進行批量的排序和整理,可能發現海底石油的儲量;經過對用戶能源數據、氣象與人口方面的公共及私人數據、歷史信息、地理數據等的批量處理,能夠提高電力服務,儘可能爲用戶節省在資源方面的投入.(b) 醫療保健:經過對患者以往的生活方式與醫療記錄進行批量處理分析,提供語義分析服務,對病人的健康提供醫生、護士及其餘相關人士的回答,並協助醫生更好的爲患者進行診斷.固然,大數據的批量處理不僅應用到這些領域,還有移動數據分析、圖像處理以及基礎設施管理等領域.隨着人們對數據中蘊含價值的認識,會有更多的領域經過對數據的批量處理挖掘其中的價值來支持決策和發現新的洞察.數據庫
1.1.2 表明性的處理系統由Google公司2003年研發的Google文件系統GFS[13]和2004年研發的MapReduce編程模型[14]以其Web環境下批量處理大規模海量數據的特有魅力,在學術界和工業界引發了很大反響.雖然Google沒有開源這兩項技術的源碼,可是基於這兩篇開源文檔,2006年Nutch項目子項目之一的Hadoop實現了兩個強有力的開源產
品[15]:HDFS和MapReduce.Hadoop成爲了典型的大數據批量處理架構,由HDFS負責靜態數據的存儲,並經過MapReduce將計算邏輯分配到各數據節點進行數據計算和價值發現.Hadoop順應了現代主流IT公司的一致需求,以後以HDFS和MapReduce爲基礎創建了不少項目,造成了Hadoop生態圈.
MapReduce 編程模型之因此受到歡迎並迅速獲得應用,在技術上主要有3方面的緣由[16,17].首先,MapReduce採用無共享大規模集羣系統.集羣系統具備良好的性價比和可伸縮性,這一優點爲MapReduce成爲大規模海量數據平臺的首選創造了條件.其次,MapReduce模型簡單、易於理解、易於使用.它不只用於處理大規模數據,並且能將不少繁瑣的細節隱藏起來(好比,自動並行化、負載均衡和災備管理等),極大地簡化了程序員的開發工做.並且,大量數據處理問題,包括不少機器學習和數據挖掘算法,均可以使用MapReduce實現.第三,雖然基本的MapReduce模型只提供一個過程性的編程接口,但在海量數據環境、須要保證可伸縮性的前提下,經過使用合適的查詢優化和索引技術,MapReduce仍可以提供很好的數據處理性能.
1.2 流式數據處理系統Google於2010年推出了Dremel,引領業界向實時數據處理邁進.實時數據處理是針對批量數據處理的性能問題提出的,可分爲流式數據處理和交互式數據處理兩種模式.在大數據背景下,流式數據處理源於服務器日誌的實時採集,交互式數據處理的目標是將PB級數據的處理時間縮短到秒級.
1.2.1 流式數據的特徵及典型應用(1) 流式數據的特徵
通俗而言,流式數據是一個無窮的數據序列,序列中的每個元素來源各異,格式複雜,序列每每包含時序特性,或者有其餘的有序標籤(如IP報文中的序號).從數據庫的角度而言,每個元素能夠看做是一個元組,而元素的特性則類比於元組的屬性.流式數據在不一樣的場景下每每體現出不一樣的特徵,如流速大小、元素特性數量、數據格式等,但大部分流式數據都含有共同的特徵,這些特徵即可用來設計通用的流式數據處理系統.下面簡要介紹流式數據共有的特徵[18].
首先,流式數據的元組一般帶有時間標籤或其他含序屬性.所以,同一流式數據每每是被按序處理的.然而數據的到達順序是不可預知的,因爲時間和環境的動態變化,沒法保證重放數據流與以前數據流中數據元素順序的一致性.這就致使了數據的物理順序與邏輯順序不一致.並且,數據源不受接收系統的控制,數據的產生是實時的、不可預知的.此外,數據的流速每每有較大的波動,所以須要系統具備很好的可伸縮性,可以動態適應不肯定流入的數據流,具備很強的系統計算能力和大數據流量動態匹配的能力.其次,數據流中的數據格式能夠是結構化的、半結構化的甚至是無結構化的.數據流中每每含有錯誤元素、垃圾信息等.所以流式數據的處理系統要有很好的容錯性與異構數據分析能力,可以完成數據的動態清洗、格式處理等.最後,流式數據是活動的(用完即棄),隨着時間的推移不斷增加,這與傳統的數據處理模型(存儲®查詢)不一樣,要求系統可以根據局部數據進行計算,保存數據流的動態屬性.流式處理系統針對該特性,應當提供流式查詢接口,即提交動態的SQL語句,實時地返回當前結果.
(2) 典型應用
流式計算的應用場景較多,典型的有兩類[6]:(a) 數據採集應用:數據採集應用經過主動獲取海量的實時數據,及時地挖掘出有價值的信息.當前數據採集應用有日誌採集、傳感器採集、Web數據採集等.日誌採集系統是針對各種平臺不斷產生的大量日誌信息量身訂作的處理系統,經過流式挖掘日誌信息,達到動態提醒與預警功能.傳感器採集系統(物聯網)經過採集傳感器的信息(一般包含時間、位置、環境和行爲等內容),實時分析提供動態的信息展現,目前主要應用於智能交通、環境監控、災難預警等.Web數據採集系統是利用網絡爬蟲程序抓取萬維網上的內容,經過清洗、歸類、分析並挖掘其數據價值.(b) 金融銀行業的應用:在金融銀行領域的平常運營過程當中會產生大量數據,這些數據的時效性每每較短,不只有結構化數據,也會有半結構化和非結構化數據.經過對這些大數據的流式計算,發現隱含於其中的內在特徵,可幫助金融銀行進行實時決策.這與傳統的商業智能(BI)分析不一樣,BI要求數據是靜態的,經過數據挖掘技術,得到數據的價值.然而在瞬息萬變的場景下,諸如股票期貨市場,數據挖掘技術不能及時地響應需求,就須要藉助流式數據處理的幫助.
總之,流式數據的特色是,數據接二連三、來源衆多、格式複雜、物理順序不1、數據的價值密度低.而對應的處理工具則需具有高性能、實時、可擴展等特性.
1.2.2 表明性的處理系統流式數據處理已經在業界獲得普遍的應用,典型的有Twitter的Storm,Facebook的Scribe,Linkedin的Samza,Cloudera的Flume,Apache的Nutch.
· Twitter的Storm系統
Storm[19]是一套分佈式、可靠、可容錯的用於處理流式數據的系統.其流式處理做業被分發至不一樣類型的組件,每一個組件負責一項簡單的、特定的處理任務.Storm集羣的輸入流由名爲Spout的組件負責.Spout將數據傳遞給名爲Bolt的組件,後者將以指定的方式處理這些數據,如持久化或者處理並轉發給另外的Bolt.Storm集羣能夠當作一條由Bolt組件組成的鏈(稱爲一個Topology).每一個Bolt對Spout產生出來的數據作某種方式的
處理.
Storm可用來實時處理新數據和更新數據庫,兼具容錯性和擴展性.Storm也可被用於連續計算,對數據流作連續查詢,在計算時將結果以流的形式輸出給用戶.它還可被用於分佈式RPC,以並行的方式運行復雜運算.一個Storm集羣分爲3類節點:(a) Nimbus節點,負責提交任務,分發執行代碼,爲每一個工做結點指派任務和監控失敗的任務;(b) Zookeeper節點,負責Storm集羣的協同操做;(c) Supervisor節點,負責啓動多個Worker進程,執行 Topology的一部分,這個過程是經過Zookeeper節點與Nimbus節點通訊完成的.由於Storm將全部的集羣狀態在保存在Zookeeper或者本地磁盤上,Supervisor節點是無狀態的,所以其失敗或者重啓不會引發全局的從新
計算.
Storm的主要特色是:(a) 簡單的編程模型:Storm提供相似於MapReduce的操做,下降了並行批處理與實時處理的複雜性.一個Storm做業只需實現一個Topology及其所包含的Spout與Bolt.經過指定它們的鏈接方式,Topology能夠勝任大多數的流式做業需求;(b) 容錯性:Storm利用Zookeeper管理工做進程和節點的故障.在工做過程當中,若是出現異常,Topology會失敗.但Storm將以一致的狀態從新啓動處理,這樣它能夠正確地恢復;(c) 水平擴展:Storm擁有良好的水平擴展能力,其流式計算過程是在多個線程、進程和服務器之間並行進行的.Nimbus節點將大量的協同工做都交由Zookeeper節點負責,使得水平擴展不會產生瓶頸;(d) 快速可靠的消息處理:Storm利用ZeroMQ做爲消息隊列,極大提升了消息傳遞的速度,系統的設計也保證了消息能獲得快速處理.Storm保證每一個消息至少能獲得一次完整處理.任務失敗時,它會負責從消息源重試消息.
· Linkedin的Samza系統
Linkedin早期開發了一款名叫Kafka[20,21]的消息隊列,廣受業界的好評,許多流式數據處理系統都使用了Kafka做爲底層的消息處理模塊.Kafka的工做過程簡要分爲4個步驟,即生產者將消息發往中介(broker),消息被抽象爲Key-Value對,Broker將消息按Topic劃分,消費者向Broker拉取感興趣的Topic.2013年,Linkedin基於Kafka和YARN開發了本身的流式處理框架——Samza.Samza與Kafka的關係能夠類比MapReduce與HDFS的關係.Samza系統由3個層次組成,包括流式數據層(Kafka)、執行層(YARN)、處理層(Samza API).一個Samza任務的輸入與輸出均是流.Samza系統對流的模型有很嚴格的定義,它並不僅是一個消息交換的機制.流在Samza的系統中是一系列劃分了的、可重現的、可多播的、無狀態的消息序列,每個劃分都是有序的.流不只是Samza系統的輸入與輸出,它還充當系統中的緩衝區,可以隔離相互之間的處理過程.Samza利用YARN與Kafka提供了分步處理與劃分流的框架.Samza客戶端向Yarn的資源管理器提交流做業,生成多個Task Runner進程,這些進程執行用戶編寫的StreamTasks代碼.該系統的輸入與輸出來自於Kafka的Broker進程.
Samza的主要特性有:(a) 高容錯:若是服務器或者處理器出現故障,Samza將與YARN一塊兒從新啓動流處理器.(b) 高可靠性:Samza使用Kafka來保證全部消息都會按照寫入分區的順序進行處理,絕對不會丟失任何消息.(c) 可擴展性:Samza在各個等級進行分割和分佈;Kafka提供一個有序、可分割、可重部署、高容錯的系統;YARN提供了一個分佈式環境供Samza容器運行.
1.3 交互式數據處理1.3.1 交互式數據處理的特徵與典型應用(1) 交互式數據處理的特徵
與非交互式數據處理相比,交互式數據處理靈活、直觀、便於控制.系統與操做人員以人機對話的方式一問一答——操做人員提出請求,數據以對話的方式輸入,系統便提供相應的數據或提示信息,引導操做人員逐步完成所需的操做,直至得到最後處理結果.採用這種方式,存儲在系統中的數據文件可以被及時處理修改,同時處理結果能夠馬上被使用.交互式數據處理具有的這些特徵可以保證輸入的信息獲得及時處理,使交互方式繼續進行下去.
(2) 典型應用
在大數據環境下,數據量的急劇膨脹是交互式數據處理系統面臨的首要問題.下面主要選擇信息處理系統領域和互聯網領域作爲典型應用場景進行介紹.(a) 在信息處理系統領域中,主要體現了人機間的交互.傳統的交互式數據處理系統主要以關係型數據庫管理系統(DBMS)爲主,面向兩類應用,即聯機事務處理(OLTP)和聯機分析處理(OLAP).OLTP基於關係型數據庫管理系統,普遍用於政府、醫療以及對操做序列有嚴格要求的工業控制領域;OLAP基於數據倉庫系統(data warehouse)普遍用於數據分析、商業智能(BI)等.最具表明性的處理是數據鑽取,如在BI中,能夠對於數據進行切片和多粒度的聚合,從而經過多維分析技術實現數據的鑽取.目前,基於開源體系架構下的數據倉庫系統發展十分迅速,以Hive[22]、Pig[23]等爲表明的分佈式數據倉庫可以支持上千臺服務器的規模.(b) 互聯網領域.在互聯網領域中,主要體現了人際間的交互.隨着互聯網技術的發展,傳統的簡單按需響應的人機互動已不能知足用戶的需求,用戶之間也須要交互,這種需求誕生了互聯網中交互式數據處理的各類平臺,如搜索引擎、電子郵件、即時通信工具、社交網絡、微博、博客以及電子商務等,用戶能夠在這些平臺上獲取或分享各類信息.此外,各類交互式問答平臺,如百度的知道、新浪的愛問以及Yahoo!的知識堂等.因而可知,用戶與平臺之間的交互變得愈來愈容易,愈來愈頻繁.這些平臺中數據類型的多樣性,使得傳統的關係數據庫不能知足交互式數據處理的實時性需求.目前,各大平臺主要使用NoSQL類型的數據庫系統來處理交互式的數據,如HBase[24]採用多維有續表的列式存儲方式;MongoDB[25]採用JSON格式的數據嵌套存儲方式.大多NoSQL數據庫不提供Join等關係數據庫的操做模式,以增長數據操做的實時性.
1.3.2 表明性的處理系統交互式數據處理系統的典型表明系統是Berkeley的Spark系統和Google的Dremel系統.
· Berkeley的Spark系統
Spark[26]是一個基於內存計算的可擴展的開源集羣計算系統.針對MapReduce的不足,即大量的網絡傳輸和磁盤I/O使得效率低效,Spark 使用內存進行數據計算以便快速處理查詢,實時返回分析結果.Spark提供比Hadoop更高層的API,一樣的算法在Spark中的運行速度比Hadoop快10倍~100倍[26].Spark在技術層面兼容Hadoop存儲層API,可訪問HDFS,HBASE,SequenceFile等.Spark-Shell能夠開啓交互式Spark命令環境,可以提供交互式查詢.
Spark是爲集羣計算中的特定類型的工做負載而設計,即在並行操做之間重用工做數據集(好比機器學習算法)的工做負載.Spark的計算架構具備3個特色:(a) Spark擁有輕量級的集羣計算框架.Spark將Scala應用於他的程序架構,而Scala這種多範式的編程語言具備併發性、可擴展性以及支持編程範式的特徵,與Spark緊密結合,可以輕鬆地操做分佈式數據集,而且能夠輕易地添加新的語言結構.(b) Spark包含了大數據領域的數據流計算和交互式計算.Spark能夠與HDFS交互取得裏面的數據文件,同時Spark的迭代、內存計算以及交互式計算爲數據挖掘和機器學習提供了很好的框架.(c) Spark有很好的容錯機制.Spark使用了彈性分佈數據集(RDD),RDD被表示爲Scala對象分佈在一組節點中的只讀對象集中,這些集合是彈性的,保證了若是有一部數據集丟失時,能夠對丟失的數據集進行重建.
Spark高效處理分佈數據集的特徵使其有着很好的應用前景,如今四大Hadoop發行商Cloudera,Pivotal,MapR以及Hortonworks都提供了對Spark的支持.
· Google的Dremel系統
Dremel[27]是Google 研發的交互式數據分析系統,專一於只讀嵌套數據的分析.Dremel能夠組建成規模上千的服務器集羣,處理PB級數據.傳統的MapReduce完成一項處理任務,最短鬚要分鐘級的時間,而Dremel能夠將處理時間縮短到秒級.Dremel是MapReduce的有力補充,能夠經過MapReduce將數據導入到Dremel中,使用Dremel來開發數據分析模型,最後在MapReduce中運行數據分析模型.
Dremel做爲大數據的交互式處理系統能夠與傳統的數據分析或商業智能工具在速度和精度上相媲美.Dremel系統主要有如下5個特色:(a) Dremel是一個大規模系統.在PB級數據集上要將任務縮短到秒級,須要進行大規模的併發處理,而磁盤的順序讀速度在100MB/S上下,所以在1s內處理1TB數據就意味着至少須要有1萬個磁盤的併發讀,可是機器越多,出問題機率越大,如此大的集羣規模,須要有足夠的容錯考慮,纔可以保證整個分析的速度不被集羣中的個別慢(壞)節點影響.(b) Dremel是對MapReduce交互式查詢能力不足的有力補充.Dremel利用GFS文件系統做爲存儲層,經常用它來處理MapReduce的結果集或創建分析原型.(c) Dremel的數據模型是嵌套的.Dremel相似於Json,支持一個嵌套的數據模型.對於處理大規模數據,不可避免的有大量的Join操做,而傳統的關係模型顯得力不從心,Dremel卻能夠很好地處理相關的查詢操做.(d) Dremel中的數據是用列式存儲的.使用列式存儲,在進行數據分析的時候,能夠只掃描所須要的那部分數據,從而減小CPU和磁盤的訪問量.同時,列式存儲是壓縮友好的,經過壓縮能夠綜合CPU和磁盤從而發揮最大的效能.(e) Dremel結合了Web搜索和並行DBMS的技術.首先,它借鑑了Web搜索中查詢樹的概念,將一個相對巨大複雜的查詢,分割成較小、較簡單的查詢,分配到併發的大量節點上.其次,與並行DBMS相似,Dremel能夠提供了一個SQL-like的接口.
1.4 圖數據處理系統圖因爲自身的結構特徵,能夠很好地表示事物之間的關係,在近幾年已成爲各學科研究的熱點.圖中點和邊的強關聯性,須要圖數據處理系統對圖數據進行一系列的操做,包括圖數據的存儲、圖查詢、最短路徑查詢、關鍵字查詢、圖模式挖掘以及圖數據的分類、聚類等.隨着圖中節點和邊數的增多(達到幾千萬甚至上億數),圖數據處理的複雜性給圖數據處理系統提出了嚴峻的挑戰.下面主要闡述圖數據的特徵和典型應用以及表明性的圖數據處理系統.
1.4.1 圖數據的特徵及典型應用(1) 圖數據的特徵
圖數據中主要包括圖中的節點以及鏈接節點的邊,一般具備3個特徵.第一,節點之間的關聯性.圖中邊的數量是節點數量的指數倍,所以,節點和關係信息同等重要,圖結構的差別也是因爲對邊作了限制,在圖中,頂點和邊實例化構成各類類型的圖,如標籤圖、屬性圖、語義圖以及特徵圖等.第二,圖數據的種類繁多.在許多領域中,使用圖來表示該鄰域的數據,如生物、化學、計算機視覺、模式識別、信息檢索、社會網絡、知識發現、動態網絡交通、語義網、情報分析等.每一個領域對圖數據的處理需求不一樣,所以,沒有一個通用的圖數據處理系統知足全部領域的需求.第三,圖數據計算的強耦合性.在圖中,數據之間是相互關聯的,所以,對圖數據的計算也是相互關聯的.這種數據耦合的特性對圖的規模日益增大達到上百萬甚至上億節點的大圖數據計算提出了巨大的挑戰.大圖數據是沒法使用單臺機器進行處理的,但若是對大圖數據進行並行處理,對於每個頂點之間都是連通的圖來說,難以分割成若干徹底獨立的子圖進行獨立的並行處理;即便能夠分割,也會面臨並行機器的協同處理,以及將最後的處理結果進行合併等一系列問題.這須要圖數據處理系統選取合適的圖分割以及圖計算模型來迎接挑戰並解決問題.
(2) 典型應用
圖能很好地表示各實體之間的關係,所以,在各個領域獲得了普遍的應用,如計算機領域、天然科學領域以及交通領域.(a) 互聯網領域的應用.隨着信息技術和網絡技術的發展,以Web 2.0技術爲基礎的社交網絡(如Facebook、人人網)、微博(如Twitter、新浪微博、騰訊微博)等新興服務中創建了大量的在線社會網絡關係,用圖表示人與人之間的關係.在社交網絡中,基於圖研究社區發現等問題;在微博中,經過圖研究信息傳播與影響力最大化等問題.除此以外,用圖表示如E-mail中的人與人之間的通訊關係,從而能夠研究社會羣體關係等問題;在搜索引擎中,能夠用圖表示網頁之間相互的超連接關係,從而計算一個網頁的PageRank得分等.(b) 天然科學領域的應用.圖能夠用來在化學分子式中查找分子,在蛋白質網絡中查找化合物,在DNA中查找特定序列等.(c) 交通領域的應用.圖可用來在動態網絡交通中查找最短路徑,在郵政快遞領域進行郵路規劃等.固然,圖還有一些其餘的應用,如疾病爆發路徑的預測與科技文獻的引用關係等.圖數據雖然結構複雜,處理困難,可是它有很好的表現力,所以獲得了各領域的普遍應用.隨着圖數據處理中所面臨的各類挑戰被不斷地解決,圖數據處理將有更好的應用前景.
1.4.2 表明性圖數據處理系統現今主要的圖數據庫有GraphLab,Giraph(基於Pregel克隆),Neo4j,HyperGraphDB,InfiniteGraph,Cassovary,Trinity以及Grappa等.下面介紹3個典型的圖數據處理系統,包括Google的Pregel系統,Neo4j系統和微軟的Trinity系統.
· Google的Pregel系統
Pregel[28,29]是Google提出的基於BSP(Bulk synchronous parallel)模型的分佈式圖計算框架,主要用於圖遍歷(BFS)、最短路徑(SSSP)、PageRank計算等.BSP模型是並行計算模型中的經典模型,採用的是「計算-通訊-同步」的模式.它將計算分紅一系列超步(superstep)的迭代.從縱向上看,它是一個串行模式,而從橫向上看,它是一個並行的模式,每兩個超步之間設置一個柵欄,即總體同步點,肯定全部並行的計算都完成後再啓動下一輪超步.Pregel的設計思路是以節點爲中心計算,節點有兩種狀態:活躍和不活躍.初始時每一個節點都處於活躍狀態,完成計算後每一個節點主動「Vote to Halt」進入不活躍狀態.若是接收到信息,則激活.沒有活躍節點和消息時,整個算法結束.
Pregel架構有3個主要特徵:(a) 採用主/從(Master/Slave)結構來實現總體功能.一個節點爲Master,負責對整個圖結構的任務進行切分,根據節點的ID進行散列計算分配到Slave機器,Slave機器進行獨立的超步計算,並將結果返回給Master;(b) 有很好的容錯機制.Pregel經過Checkpoint機制實行容錯,節點向Master彙報心跳維持狀態,節點間採用異步消息傳輸;(c) 使用GFS或BigTable做爲持久性的存儲.
Apache根據Google於2010年發表的Pregel論文開發了高可擴展的迭代的圖處理系統Giraph,如今已經被Facebook用於分析社會網絡中用戶間的關係圖中.
· Neo4j系統
Neo4j[30]是一個高性能的、徹底兼容ACID特性的、魯棒的圖數據庫.它基於Java語言開發,包括社區版和企業版,適用於社會網絡和動態網絡等場景.Neo4j在處理複雜的網絡數據時表現出很好的性能.數據以一種針對圖形網絡進行過優化的格式保存在磁盤上.Neo4j重點解決了擁有大量鏈接的查詢問題,提供了很是快的圖算法、推薦系統以及OLAP風格的分析,知足了企業的應用、健壯性以及性能的需求,獲得了很好的應用.
Neo4j系統具備如下5個特性.(a) 支持數據庫的全部特性:Neo4j的內核是一種極快的圖形引擎,支持事物的ACID特性、兩階段提交、符合分佈式事務以及恢復等;(b) 高可用性:Neo4j經過聯機備份實現它的高可用性;(c) 可擴展性:Neo4j提供了大規模可擴展性,能夠在一臺機器上處理數十億節點/關係/屬性的圖,也能夠擴展到多臺機器上並行運行;(d) 靈活性:Neo4j擁有靈活的數據結構,能夠經過Java-API直接與圖模型進行交互.對於JRuby/Ruby,Scala,Python以及Clojure等其餘語言,也開發了相應的綁定庫;(e) 高速遍歷:Neo4j中圖遍歷執行的速度是常數,與圖的規模大小無關.它的讀性能能夠實現每毫秒遍歷2 000關係,並且徹底是事務性的.Neo4j以一種延遲風格遍歷圖,即節點和關係只有在結果迭代器須要訪問它們的時候纔會被遍歷並返回,支持深度搜索和廣度搜索兩種遍歷方式.
· 微軟的Trinity系統
Trinity[31,32]是Microsoft推出的一款創建在分佈式雲存儲上的計算平臺,能夠提供高度並行查詢處理、事務記錄、一致性控制等功能.Trinity主要使用內存存儲,磁盤僅做爲備份存儲.
Trinity有如下4個特色.(a) 數據模型是超圖:超圖中,一條邊能夠鏈接任意數目的圖頂點.此模型中圖的邊稱爲超邊.基於這種特色,超圖比簡單圖的適用性更強,保留的信息更多;(b) 併發性:Trinity能夠配置在一臺或上百臺計算機上.Trinity提供了一個圖分割機制,由一個64位的惟一標識UID肯定各結點的位置,利用散列方式映射到相應的機器上,以儘可能減小延遲,如圖 8所示.Trinity能夠併發執行PageRank、最短路徑查詢、頻繁子圖挖掘以及隨機遊走等操做;(c) 具備數據庫的一些特色:Trinity是一個基於內存的圖數據庫,有豐富的數據庫特色,如:在線高度並行查詢處理、ACI交易支持、併發控制以及一致性維護等;(d) 支持批處理:Trinity支持大型在線查詢和離線批處理,而且支持同步和不一樣步批處理計算.相比之下,Pregel只支持在線查詢處理,批處理必須是嚴格的同步計算.
微軟如今使用Trinity做爲Probase的基礎架構,能夠從網上自動得到大規模的知識庫.Trinity主要做用是分類建設、數據集成以及查詢Probase.Trinity也被用於其餘的項目中,如Aether項目,其功能也在不斷的增長中.
1.5 小 結面對大數據,各類處理系統層出不窮,各有特點.整體來講,咱們能夠總結出3種發展趨勢:(1) 數據處理引擎專用化:爲了下降成本,提升能效,大數據系統須要擺脫傳統的通用體系,趨向專用化架構技術.爲此,國內外的互聯網龍頭企業都在基於開源系統開發面向典型應用的大規模、高通量、低成本、強擴展的專用化系統;
(2) 數據處理平臺多樣化:自2008年以來克隆了Google的GFS和MapReduce的Apache Hadoop逐漸被互聯網企業所普遍接納,併成爲大數據處理領域的事實標準.但在全面兼容Hadoop的基礎上,Spark經過更多的利用內存處理大幅提升系統性能.而Scribe,Flume,Kafka,Storm,Drill,Impala,TEZ/Stinger,Presto,Spark/Shark等的出現並非取代Hadoop,而是擴大了大數據技術的生態環境,促使生態環境向良性化和完整化發展.(3) 數據計算實時化:在大數據背景下,做爲批量計算的補充,旨在將PB級數據的處理時間縮短到秒級的實時計算受到愈來愈多的關注.
2 大數據分析要挖掘大數據的大價值必然要對大數據進行內容上的分析與計算.深度學習和知識計算是大數據分析的基礎,而可視化既是數據分析的關鍵技術也是數據分析結果呈現的關鍵技術.本節主要介紹深度學習、知識計算和可視化等大數據分析的關鍵技術,同時也對大數據的典型應用包括社會媒體計算等進行簡要綜述.
2.1 深度學習大數據分析的一個核心問題是如何對數據進行有效表達、解釋和學習,不管是對圖像、聲音仍是文本數據.傳統的研究也有不少數據表達的模型和方法,但一般都是較爲簡單或淺層的模型,模型的能力有限,並且依賴於數據的表達,不能得到很好的學習效果.大數據的出現提供了使用更加複雜的模型來更有效地表徵數據、解釋數據的機會.深度學習就是利用層次化的架構學習出對象在不一樣層次上的表達,這種層次化的表達能夠幫助解決更加複雜抽象的問題.在層次化中,高層的概念一般是經過低層的概念來定義的.深度學習一般使用人工神經網絡,常見的具備多個隱層的多層感知機(MLP)就是典型的深度架構.
深度學習的起源要追溯到神經網絡,20世紀80年代,後向傳播(BP)算法的提出使得人們開始嘗試訓練深層次的神經網絡.然而,BP算法在訓練深層網絡的時候表現不夠好,以致於深層感知機的效果還不如淺層感知機.因而不少人放棄使用神經網絡,轉而使用凸的更容易獲得全局最優解的淺層模型,提出諸如支持向量機、boosting等淺層方法,以至於此前大部分的機器學習技術都使用淺層架構.起色出如今2006年,多倫多大學的Hinton等人使用無監督的逐層貪婪的預訓練(greedy layer-wise pre-train)方法成功減輕了深度模型優化困難的問題[33],從而掀起了深度學習的浪潮.Hinton引入了深度產生式模型DBN,並提出高效的逐層貪婪的學習算法,使用DBN初始化一個深度神經網絡(DNN)再對DNN進行精調,一般可以產生更好的結果.Bengio等人[34]基於自動編碼器(auto-encoder)提出了非機率的無監督深度學習模型,也取得了相似的效果.
近幾年,深度學習在語音、圖像以及天然語言理解等應用領域取得一系列重大進展.從2009年開始,微軟研究院的Dahl等人率先在語音處理中使用深度神經網絡(DNN),將語音識別的錯誤率顯著下降,從而使得語音處理成爲成功應用深度學習的第1個領域[35].在圖像領域,2012年,Hinton等人使用深層次的卷積神經網絡(CNN)在ImageNet評測上取得巨大突破,將錯誤率從26%下降到15%[36],重要的是,這個模型中並無任何手工構造特徵的過程,網絡的輸入就是圖像的原始像素值.在此以後,採用相似的模型,經過使用更多的參數和訓練數據,ImageNet評測的結果獲得進一步改善,錯誤率降低至2013年的11.2%[37].Facebook人工智能實驗室的Taigman等人使用了與文獻[36]中相似的神經網絡在人臉識別上也取得了很好的效果,將人臉識別的正確率提高至接近人類水平[38].此外,圖像領域還有一些基於無監督的深度學習研究,好比在Google Brain項目中,Le等人嘗試使用徹底無標註的圖像訓練獲得人臉特徵檢測器,使用這些學習到的特徵能夠在圖像分類中取得很是好的效果[39];Google的深度學習系統(DistBelief)在獲取數百萬YouTube視頻數據後,可以精準地識別出這些視頻中的關鍵元素——貓.在天然語言領域,從2003年開始,Bengio等人使用神經網絡並結合分佈式表達(distributed representation)的思想訓練語言模型並取得很好的效果[40],不過當時尚未使用到更深層次的模型.2008年,Collobert等人訓練了包含一個卷積層的深度神經網絡,利用學習獲得的中間表達同時解決多個NLP問題[41].儘管這些工做沒有取得像圖像和語音處理領域如此重大的進展,但也都接近或超過了已有的最好方法.近年來,斯坦福大學的Socher等人的一系列工做也值得關注.他們使用遞歸神經網絡(recursive neural network,簡稱RNN)在情感分析等問題上取得一系列進展,將現有的準確率從80%提高到85%[42].在國內,2011年科大訊飛首次將DNN技術運用到語音雲平臺,並提供給開發者使用,並在訊飛語音輸入法和訊飛口訊等產品中獲得應用.百度成立了IDL(深度學習研究院),專門研究深度學習算法,目前已有多項深度學習技術在百度產品上線.深度學習對百度影響深遠,在語音識別、OCR識別、人臉識別、圖像搜索等應用上取得了突出效果.此外,國內其餘公司如搜狗、雲知聲等紛紛開始在產品中使用深度學習技術.
2.2 知識計算基於大數據的知識計算是大數據分析的基礎.知識計算是國內外工業界開發和學術界研究的一個熱點. 要對數據進行高端分析,就須要從大數據中先抽取出有價值的知識,並把它構建成可支持查詢、分析和計算知識庫.目前,世界各國各個組織創建的知識庫多達50餘種,相關的應用系統更是達到了上百種.其中,表明性的知識庫或應用系統有KnowItAll[43,44],TextRunner[45],NELL[46],Probase[47],Satori[48],PROSPERA[49],SOFIE[50]以及一些基於維基百科等在線百科知識構建的知識庫,如DBpedia[51],YAGO[52, 53, 54],Omega[55]和WikiTaxonomy[56,57].除此以外,一些著名的商業網站、公司和政府也發佈了相似的知識搜索和計算平臺,如Evi公司的TrueKnowledge知識搜索平臺,美國官方政府網站Data.gov,Wolfram的知識計算平臺wolframalpha,Google的知識圖譜(knowledge graph)、Facebook推出的相似的實體搜索服務Graph Search等.在國內,中文知識圖譜的構建與知識計算也有大量的研究和開發工做.表明性工做有中國科學院計算技術研究所的OpenKN,中國科學院數學研究院陸汝鈐院士提出的知件(knowware),上海交通大學最先構建的中文知識圖譜平臺zhishi.me,百度推出了中文知識圖譜搜索,搜狗推出的知立方平臺,復旦大學GDM實驗室推出的中文知識圖譜展現平臺等.
支持知識計算的基礎是構建知識庫,這包括3個部分,即知識庫的構建、多源知識的融合與知識庫的更新.知識庫的構建就是要構建幾個基本的構成要素,包括抽取概念、實例、屬性和關係.從構建方式上,能夠分爲手工構建和自動構建.手工構建是依靠專家知識編寫必定的規則,從不一樣的來源收集相關的知識信息,構建知識的體系結構[58].比較典型的例子是知網(Hownet)[59]、同義詞詞林[60]、概念層次網絡(HNC)[61]和中文概念詞典(CCD)[62],OpenCyc[63]等.自動構建是基於知識工程、機器學習,人工智能等理論自動從互聯網上採集並抽取概念、實例、屬性和關係[64,65].比較著名的例子是Probase[47],YAGO[52, 53, 54]等.手工構建知識庫,須要構建者對知識的領域有必定的瞭解,才能編寫出合適的規則,開發過程當中也須要投入大量的人力物力.相反地,自動構建的方法依靠系統自動的學習通過標註的語料來獲取規則的,如屬性抽取規則,關係抽取規則等,在必定程度上能夠減小人工構建的工做量.隨着大數據時代的到來,面對大規模網頁信息中蘊含的知識,自動構建知識庫的方法愈來愈受到人們的重視和青睞.自動構建知識庫的方法主要分爲有監督的構建方法和半監督的構建方法兩種.有監督的構建方法是指系統經過學習訓練數據,獲取抽取規則,而後根據這些規則,提取同一類型的網頁中的概念、實例、屬性和關係.這類方法的缺點是規則缺少普適性.並且,因爲規則是針對特定網頁的,當訓練網頁發生變化,須要從新進行訓練來獲取規則.半監督的構建方法是系統預先定義一些規則做爲種子,而後經過機器學習算法,從標註語料中抽取相應的概念、實例、屬性和關係.進一步地,系統根據抽取的結果,發現新的規則,再用來指導抽取相應的概念、實例、屬性和關係,從而使抽取過程可以迭代的進行.
多源知識的融合是爲了解決知識的複用問題.如前文所述,構建一個知識庫的代價是很是大的,爲了不從頭開始,須要考慮知識的複用和共享,這就須要對多個來源的知識進行融合,即須要對概念、實例、屬性和關係的衝突,重複冗餘,不一致進行數據的清理工做,包括對概念、實例進行映射、消歧,對關係進行合併等.這其中概念間關係或分類體系的融合是很關鍵一部分.按融合方式能夠分爲手動融合和自動融合.對於規模較小的知識庫,手動融合是可行的,但這是一種很是費時並且容易出錯的融合方式.相比於手動融合方式,創建在機器學習、人工智能和本體工程等算法上的融合方式具備更好的可擴展性,相關工做包括YAGO[52, 53, 54],Probase[47]等. YAGO知識庫將維基百科,WordNet和GeoNames等數據源的知識整合在知識庫中.其中,將維基百科的分類體系和WordNet的分類體系進行融合是YAGO的重要的工做之一.維基百科的分類是一個有向無環圖生成的層次結構[52],這種結構因爲僅能反映主題信息,因此容易出錯.Probase提出了一種基於機率化的實體消解(entity resolution)的知識整合技術[46],將現有結構化數據,如Freebase,IMDB,Amazon等整合到Probase當中.對多源知識的融合,除了分類體系的融合外,還包括對實體和概念的消解問題,實體和概念的消歧問題等.面對海量知識庫時,創建若干個針對不一樣領域,不一樣需求的有效的知識融合算法,快速進行多元知識的融合,是亟待進一步解決的問題之一.
大數據時代數據的不斷髮展與變化帶給知識庫構建的一個巨大的挑戰是知識庫的更新問題.知識庫的更新分爲兩個層面,一是新知識的加入;二是已有知識的更改.目前專門針對開放網絡知識庫的更新工做較少,不少都是從數據庫的更新角度展開的,如對數據庫數據的增長、刪除和修改工做的介紹.雖然對開放網絡知識庫的更新,與數據庫的更新有不少類似之處,可是其自己對更新的實時性要求較高.目前這方面的工做,從更新方式來說分爲兩類:一是基於知識庫構建人員的更新;二是基於知識庫存儲的時空信息的更新.前者準確性較高,可是對人力的消耗較大.後者多由知識庫自身更新,須要人工干預的較少,可是存在準確率不高的問題.整體上講,對知識庫的更新仍然沒有頗有效的方法.尤爲在面對用戶對知識的實時更新需求方面,遠遠達不到用戶的要求.在更新數據的自動化感知方面,缺少有效的辦法自動識別知識的變化,也沒有可以動態響應這些變化的更新機制.
2.3 社會計算以Facebook、Twitter、新浪微博、微信等爲表明的在線社交網絡和社會媒體正深入改變着人們傳播信息和獲取信息的方式,人和人之間結成的關係網絡承載着網絡信息的傳播,人的互聯成爲信息互聯的載體和信息傳播的媒介,社會媒體的強交互性、時效性等特色使其在信息的產生、消費和傳播過程當中發揮着愈來愈重要的做用,成爲一類重要信息載體.正因如此,當前在線社會計算不管在學術圈和工業界都備受重視,你們關注的問題包括了對在線社會網絡結構、信息傳播以及信息內容的分析、建模與挖掘等一系列問題.
2.3.1 在線社會網絡的結構分析在線社會網絡在微觀層面上具備隨機化無序的現象,在宏觀層面上每每呈現出規則化、有序的現象,爲了理清網絡具備的這種看似矛盾的不一樣尺度的結構特性,探索和分析鏈接微觀和宏觀的網絡中觀結構(也稱爲社區結構)成爲了本領域一個重要的研究方向.通常意義上講,社區結構是指網絡節點按照鏈接關係的緊密程度不一樣而天然分紅若干個內部鏈接緊密、與外部鏈接稀疏的節點組,每一個節點組相應地被稱爲社區[66].社區分析研究目前主要包括社區的定義和度量、社區結構發現和社區結構演化性分析等基本問題[67].
社區定義或度量大致上分爲4類,基於節點的社區定義、基於節點組(社區)的社區定義、基於網絡總體的社區定義、基於層次結構的社區定義.目前,社區結構的研究主要集中在基於某種給定社區定義或度量的社區發現上.最具表明性的社區發現算法包括密歇根大學Newman等人提出的模塊度(modularity)優化方法[68]、匈牙利科學院Palla等人提出的徹底子圖滲流(clique percolation)方法[69]、華盛頓大學的Rosvall等人提出的基於網絡最短編碼的InfoMap方法[70]、Airoldi[71]等人提出的Mixed Membership Stochastic Block(MMSB)模型,這些社區發現方法在人工構造的測試網絡和一些小規模的真實網絡上取得了很好的效果.真實世界在線社交網絡中的社區結構具備多尺度、重疊等特色,近幾年逐步引發研究人員的關注,成爲一個研究熱點[72, 73, 74, 75, 76].
網絡社區的演化性是信息網絡的一個基本特性,也是促使大規模信息網絡的內容與結構涌現現象及信息大規模傳播的基本緣由[77].近幾年,在前述社區發現研究的基礎上,人們開始研究社區隨時間演化的規律[78].例如,Palla等人基於徹底子圖滲流社區發現方法研究社區演化[79],獲得一個有趣結論,小社區的穩定性是保證它存在的前提,大社區的動態性是它存在的基礎.Song等人[80]考慮了網絡結構變化的時間因素,並認爲網絡演化過程是平滑的,他們使用擴展了的動態貝葉斯網絡來建模網絡的演化過程,取得了很好的效果.Xing等人[81]將網絡演化的觀點引入到結點的角色分析中.在MMSB模型中加入時間因素,他們認爲兩個相鄰的時間片內角色選擇方式和角色之間的關係具備一階馬爾可夫性質.此外,社區結構被用於預測網絡中潛在存在的邊,對於網絡演化具備重要意義[82].
2.3.2 在線社會網絡的信息傳播模型在信息傳播模型的研究中,最普遍深刻研究的是傳染病模型[83,84],除了傳染病模型,隨機遊走模型也是信息傳播的基本模型之一[85],做爲最基本的動力學過程之一,隨機遊走與網絡上的許多其餘動力學過程(如反應-擴散過程、社團挖掘、路由選擇,目標搜索)緊密相關.
近幾年,研究人員開始注意到信息傳播和傳染病傳播具備顯著不一樣的特性[86],包括信息傳播的記憶性、社會加強效應、不一樣傳播者的角色不一樣、消息內容的影響等.Romero等人提出了Stickiness和Persistence 兩個重要概念[87],分析不一樣領域內的Hashtag在Twitter上的傳播過程.Wu等人分析名人、機構、草根等不一樣羣體之間的消息流向,並分析了不一樣類型的消息被轉發的狀況及其生命週期[88].Lerman 等人從網絡動力學角度,經過實際數據分析了Twitter中消息傳播的特性[89].Castillo等人經過特徵提取,利用機器學習中分類的方法,對Twitter中消息的可信度建模,並預測其中消息的可信性[90].Phelan等人提出了一種Twitter消息新穎度的度量,並創建了向用戶實時推薦新消息的系統[91].Lerman等人利用機率方法和先驗知識,對Digg中的消息建模,預測消息的流行度[92].當前,對在線社交網絡中信息傳播的研究主要集中在實證分析和統計建模,對於信息傳播機理仍然缺少深刻的理解和有效的建模.
2.3.3 社會媒體中信息檢索與數據挖掘社會媒體的出現對信息檢索與數據挖掘的研究提出了新的挑戰.不一樣於傳統的Web數據,社會媒體中的數據呈現出一些新的特徵:(1) 信息碎片化現象明顯,文本內容特徵愈加稀疏;(2) 信息互聯被人的互聯所取代,社會媒體用戶造成的社會關係網絡的搜索和挖掘過程當中的重要組成部分;(3) 社會媒體的易參與性使得人人具備媒體的特徵,呈現出自媒體現象,我的影響力、情感與傾向性摻雜其中.針對這些特色,研究人員在傳統信息檢索與數據挖掘技術基礎上提出了一系列的新模型[93,94].
鑑於用戶所創造的信息每每具備很強的時效性,Yang等人提出了一種時間序列聚類的方法,從Twitter數據中挖掘熱門話題發展趨勢的規律[95].由於用戶的狀態和評論中包含了大衆的觀點和態度,因此Bollen等人經過對Twitter中用戶的信息進行情感分析,將大衆情緒的變化表示爲7種不一樣的情緒時間序列,進而發現這些序列可以預測股票市場的走勢[96].此外,基於用戶在協做平臺上所貢獻的內容和標籤等信息每每蘊含有豐富的大衆知識和智慧這一現象,Hu等人利用Wikipedia中的文章和類別信息來肯定用戶的查詢意圖,進而輔助信息檢
索[97].社會媒體的檢索與挖掘研究在國內也受到了愈來愈多的重視,包括北京大學、清華大學、哈爾濱工業大學、上海交通大學、浙江大學、復旦大學、中國科學院、微軟亞洲研究院等大學和研究機構已經取得了必定的進展,涉及的研究內容包括社會化標籤系統中的標籤學習和排序[98,99]、信息抽取和分類[100]、社會化多媒體檢索[101]、協做搜索和推薦[102,103]等等.
2.4 可視化大數據引領着新一波的技術革命,對大數據查詢和分析的實用性和實效性對於人們可否及時得到決策信息很是重要,決定着大數據應用的成敗.但產業界面對大數據經常顯得一籌莫展.一是由於數據容量巨大,類型多樣,數據分析工具面臨性能瓶頸.另外一緣由在於,數據分析工具一般僅爲IT部門熟練使用,缺乏簡單易用、讓業務人員也能輕鬆上手實現自助自主分析即時獲取商業洞察的工具.所以,數據可視化技術正逐步成爲大數據時代的顯學.對大數據進行分析之後,爲了方便用戶理解也須要有效的可視化技術,這其中交互式的展現和超大圖的動態化展現值得重點關注.
大數據可視化,不一樣於傳統的信息可視化,面臨最大的一個挑戰就是規模,如何提出新的可視化方法可以幫助人們分析大規模、高維度、多來源、動態演化的信息,並輔助做出實時的決策,成爲了這個領域最大的挑戰.爲了解決這個問題,咱們能夠依賴的主要手段是兩種,即數據轉換和視覺轉換.現有研究工做主要聚焦在4個方面:(1) 經過對信息流進行壓縮或者刪除數據中的冗餘信息對數據進行簡化.其中不少工做主要解決曲面的可視化,使用基本的數據轉換方法來對數據進行簡化.例如,文獻[104,105]提出經過刪除節點以及包含這個節點的三角形進行網格的簡化,而Hoppe等人[106,107]則提出了一種漸進網格表達方法,經過有效地刪除邊及其所屬的三角形實現.一些研究人員把上述的這些曲面算法進一步擴展到四面體上[108,109].上述這些工做存在主要的不一樣之處在於基本的數據轉換步驟中使用不一樣的錯誤近似方法.(2) 經過設計多尺度、多層次的方法實現信息在不一樣的解析度上的展現,從而使用戶可自主控制展現解析度.不少已有多尺度算法集中在對地形類數據的渲染上.例如,一些使用固定網格方法的系統創建在直角三角形的層次結構之上[110,111],而一些不規則三角形網[112,113]則是經過不把三角形限制在固定網格上的方式來解決這個問題,這兩類方法各有利弊.Cignoni等人[114,115]則經過利用四叉樹紋理層次以及利用三角片面二叉樹顯示幾何形,展現了實時顯示大型地形數據集中自適應的幾何形和紋理的能力.(3) 利用創新的方法把數據存儲在外存,並讓用戶能夠經過交互手段方便地獲取相關數據,這類研究也成爲核外算法(out-of-core algorithm).爲了應對大規模數據結構沒法在內存中存放,而外存訪問時間又極大地依賴於外部存儲單元的位置,人們設計了一些新的算法與分析工具來解決幾何算法[116,117]以及可視化方法.這類工做重點解決兩個問題:a) 對算法進行分析獲得數據訪問的模式,從而從新設計數據結構來最大化訪問的局部性;b) 在二級存儲設備中的數據須要有與算法訪問模式匹配的存放佈局. Pascucci和Frank[118]引入了一種新的靜態索引體系使得在層次化遍歷n維規則網格時候,數據的存放佈局可以知足上述兩個要求.(4) 提出新的視覺隱喻方法以全新的方式展現數據.其中,一類典型的方法是「焦點+上下文」方法,它重點對焦點數據進行細節展現,對不重要數據的則簡化表示,例如魚眼視圖[119].Plaisant提出了空間樹(space tree)[120],一種樹形瀏覽器經過動態調整樹枝的尺寸來使其最好地適配顯示區域.分層平行座標方法,做爲平行座標方法的多尺度版本,經過在不一樣的細節層次使用多的視圖來對大規模數據進行表達.
對大數據進行探索和可視化仍然還處在初始階段,特別是對於動態多維度大數據流的可視化技術還很是匱乏,很是須要擴展示有的可視化算法,研究新的數據轉換方法以便可以應對複雜的信息流數據.也須要設計創新的交互方式來對大數據進行可視化交互和輔助決策.
2.5 小 結大數據處理和分析的終極目標是藉助對數據的理解輔助人們在各種應用中做出合理的決策.在此過程當中,深度學習、知識計算、社會計算和可視化起到了相輔相成的做用.
(1)深度學習提升精度:如前所述,要挖掘大數據的大價值必然要對大數據進行內容上的分析與計算,而傳統的數據表達模型和方法一般是簡單的淺層模型學習,效果不盡人意.深度學習能夠對人類難以理解的底層數據特徵進行層層抽象,凝練具備物理意義的特徵,從而提升數據學習的精度.所以,深度學習是大數據分析的核心技術;
(2) 知識計算挖掘深度:每一種數據來源都有必定的侷限性和片面性,只有對各類來源的原始數據進行融合才能反映事物的全貌,事物的本質和規律每每隱藏在各類原始數據的相互關聯之中.而藉助知識計算能夠將碎片化的多源數據整合成反映事物全貌的完整數據,從而增長數據挖掘的深度.所以,基於大數據的知識計算是大數據分析的基礎.如何基於大數據實現新知識的感知,知識的增量式演化和自適應學習是其中的重大挑戰;
(3) 社會計算促進認知:IT技術的發展使得社會媒體成了一類重要的信息載體,承載着對事物的客觀或主觀描述信息.所以,經過基於社會媒體數據的社會計算能夠促進人們對事物的認知.可是,社會媒體大數據每每蘊含着一個體量龐大、關係異質、結構多尺度和動態演化的網絡,對它的分析既要有效地計算方法,更須要支持大規模網絡結構的圖數據存儲和管理結構,以及高性能的圖計算系統結構和算法;
(4) 強可視化輔助決策:對大數據查詢和分析的實用性和實效性對於人們可否及時得到決策信息很是重要.而強大的可視化技術,不只能夠對數據分析結果進行更有效的展現,並且能夠在大數據分析過程當中發揮重要做用.
3 大數據計算面臨的挑戰與應對之策儘管大數據是社會各界都高度關注的話題,但時下大數據從底層的處理系統到高層的分析手段都存在許多問題,也面臨一系列挑戰.這其中有大數據自身的特徵致使的,也有當前大數據分析模型與方法引發的,還有大數據處理系統所隱含的.本節對這些問題與挑戰進行梳理.
3.1 數據複雜性帶來的挑戰大數據的涌現令人們處理計算問題時得到了史無前例的大規模樣本,但同時也不得不面對更加複雜的數據對象,如前所述,其典型的特性是類型和模式多樣、關聯關係繁雜、質量參差不齊.大數據內在的複雜性(包括類型的複雜、結構的複雜和模式的複雜)使得數據的感知、表達、理解和計算等多個環節面臨着巨大的挑戰,致使了傳統全量數據計算模式下時空維度上計算複雜度的激增,傳統的數據分析與挖掘任務如檢索、主題發現、語義和情感分析等變得異常困難.然而目前,人們對大數據複雜性的內在機理及其背後的物理意義缺少理解,對大數據的分佈與協做關聯等規律認識不足,對大數據的複雜性和計算複雜性的內在聯繫缺少深入理解,加上缺乏面向領域的大數據處理知識,極大地制約了人們對大數據高效計算模型和方法的設計能力.
所以,如何形式化或定量化地描述大數據複雜性的本質特徵及其外在度量指標,進而研究數據複雜性的內在機理是個根本問題.經過對大數據複雜性規律的研究有助於理解大數據複雜模式的本質特徵和生成機理,簡化大數據的表徵,獲取更好的知識抽象,指導大數據計算模型和算法的設計.爲此,須要創建多模態關聯關係下的數據分佈理論和模型,理清數據複雜度和時空計算複雜度之間的內在聯繫,經過對數據複雜性內在機理的建模和解析,闡明大數據按需約簡、下降複雜度的原理與機制,使其成爲大數據計算的理論基石.
3.2 計算複雜性帶來的挑戰大數據多源異構、規模巨大、快速多變等特性使得傳統的機器學習、信息檢索、數據挖掘等計算方法不能有效支持大數據的處理、分析和計算.特別地,大數據計算不能像小樣本數據集那樣依賴於對全局數據的統計分析和迭代計算,須要突破傳統計算對數據的獨立同分布和採樣充分性的假設.在求解大數據的問題時,須要從新審視和研究它的可計算性、計算複雜性和求解算法.所以,研究面向大數據的新型高效計算範式,改變人們對數據計算的本質見解,提供處理和分析大數據的基本方法,支持價值驅動的特定領域應用,是大數據計算的核心問題.而大數據樣本量充分,內在關聯關係密切而複雜,價值密度分佈極不均衡,這些特徵對研究大數據的可計算性及創建新型計算範式提供了機遇,同時也提出了挑戰.
所以,須要着眼於大數據的全生命週期,基於大數據複雜性的基本特徵及其量化指標,研究大數據下以數據爲中心的計算模式,突破傳統的數據圍繞機器式計算,構建以數據爲中心的推送式計算模式,探索弱CAP約束的系統架構模型及其代數計算理論,研究分佈化、流式計算算法,造成通訊、存儲、計算融合優化的大數據計算框架;研究適應大數據的非肯定性算法理論,突破傳通通計學習中的獨立同分布假設;也須要探索從足夠多(large enough)的數據,到剛恰好(just enough)的數據,再到有價值(valuable enough)的數據的按需約簡方法,研究基於自舉和採樣的局部計算和近似方法,提出不依賴於全量數據的新型算法理論基礎.
3.3 系統複雜性帶來的挑戰針對不一樣數據類型與應用的大數據處理系統是支持大數據科學研究的基礎平臺.對於規模巨大、結構複雜、價值稀疏的大數據,其處理亦面臨計算複雜度高、任務週期長、實時性要求強等難題.大數據及其處理的這些難點不只對大數據處理系統的系統架構、計算框架、處理方法提出了新的挑戰,更對大數據處理系統的運行效率及單位能耗提出了苛刻要求,要求大數據處理系統必須具備高效能的特色.對於以高效能爲目標的大數據處理系統的系統架構設計、計算框架設計、處理方法設計和測試基準設計研究,其基礎是大數據處理系統的效能評價與優化問題研究.這些問題的解決可奠基大數據處理系統設計、實現、測試與優化的基本準則,是構建能效優化的分佈式存儲和處理的硬件及軟件系統架構的重要依據和基礎,所以是大數據分析處理所必須解決的關鍵問題.
大數據處理系統的效能評價與優化問題具備極大的研究挑戰性,其解決不但要求理清大數據的複雜性、可計算性與系統處理效率、能耗間的關係,還要綜合度量系統中如系統吞吐率、並行處理能力、做業計算精度、做業單位能耗等多種效能因素,更涉及實際負載狀況及資源分散重複狀況的考慮.所以,爲了解決系統複雜性帶來的挑戰,人們須要結合大數據的價值稀疏性和訪問弱局部性的特色,針對能效優化的大數據分佈存儲和處理的系統架構,以大數據感知、存儲與計算融合爲大數據的計算準則,在性能評價體系、分佈式系統架構、流式數據計算框架、在線數據處理方法等方面展開基礎性研究,並對做爲重要驗證工具的基準測試程序及系統性能預測方法進行研究,經過設計、實現與驗證的迭代完善,最終實現大數據計算系統的數據獲取高吞吐、數據存儲低能耗和數據計算高效率.
4 結束語互聯網、物聯網、雲計算技術的快速發展,各種應用的層出不窮引起了數據規模的爆炸式增加,使數據滲透到了當今每個行業和業務領域,成爲重要的生產因素.大數據所以成爲社會各界關注的新焦點,大數據時代已然來臨.爲了應對不一樣的業務需求,以Google,Facebook,Linkedin,Microsoft等爲表明的互聯網企業近幾年推出了各類大數據處理系統,深度學習、知識計算、可視化等大數據分析技術也獲得迅速發展,已被普遍應用於不一樣的行業和領域.本文根據處理形式的不一樣,介紹了批量處理數據、流式處理數據、交互處理數據和圖數據四種不一樣形式數據的突出特徵和各自的典型應用場景以及相應的表明性處理系統,並總結出引擎專用化、平臺多樣化、計算實時化是當前大數據處理系統的三大發展趨勢.隨後,對系統支撐下的深度學習、知識計算、社會計算與可視化四類大數據分析技術和應用進行了簡要綜述,總結了各類技術在大數據分析理解過程當中的關鍵做用,即深度學習提升精度,知識計算挖掘深度,社會計算促進認知,強可視化輔助決策.本文最後梳理了大數據處理和分析面臨的3個核心挑戰,包括數據複雜性、計算複雜性和系統複雜性,並提出了可能的應對之策.
[1] | Manyika J, Chui M, Brown B, Bughin J, Dobbs R, Roxburgh C, Byers AH. Big data: The next frontier for innovation, competition, and productivity. 2011. http://www.mckinsey.com/insights/business_technology/big_data_the_next_frontier_for_innovation |
[2] | Li GJ, Cheng XQ. Research Status and Scientific Thinking of Big Data. Bulletin of the Chinese Academy of Sciences, 2012, 27(6): 647-657. |
[3] | Wang YZ, Jin XL, Cheng XQ. Network big data: Present and future. Chinese Journal of Computers, 2013,36(6):1125-1138. |
[4] | Arthur WB. The second economy. 2011. http://www.images-et-reseaux.com/sites/default/files/medias/blog/2011/12/the-2nd- economy.pdf |
[5] | Mayer-Schönberger V, Cukier K. Big data: A revolution that will transform how we live, work, and think. Houghton Mifflin Harcourt, 2013. |
[6] | Sun DW, Zhang GY, Zheng WM. Big data stream computing:Technologies and instances. Ruan Jian Xue Bao/Journal of Software, 2014,25(4):839-862. |
[7] | Tsourakakis CE. Fast counting of triangles in large real networks without counting: Algorithms and Laws, 2008. 608-617 . |
[8] | Chen Y, Alspaugh S, Katz R. Interactive analytical processing in big data systems: A cross-industry study of MapReduce workloads. Proc. of the VLDB Endowment, 2012,5(12):1802-1813 . |
[9] | Stupar A, Michel S, Schenkel R. RankReduce-Processing k-nearest neighbor queries on top of MapReduce. Large-Scale Distributed Systems for Information Retrieval, 2010. 13-18. |
[10] | Zhou MQ, Zhang R, Xie W, Qian WN, Zhou AY. Security and privacy in cloud computing: A survey. IEEE, 2010. 105-112 . |
[11] | Feblowitz J. Analytics in oil and gas: The big deal about big data. In: Proc. of the SPE Digital Energy Conf. 2013 . |
[12] | Yu H, Wang D. Research and implementation of massive health care data management and analysis based on hadoop. IEEE, 2012. 514-517 . |
[13] | Ghemawat S, Gobioff H, Leung S-T. The Google file system. ACM, 2003,37(5):29-43 . |
[14] | Dean J, Ghemawat S. MapReduce: Simplified data processing on large clusters. Communications of the ACM, 2008,51(1): 107-113 . |
[15] | Hadoop. http://hadoop.apache.org/ |
[16] | Dean J, Ghemawat S. MapReduce: A flexible data processing tool. Communications of the ACM, 2010,53(1):72-77. |
[17] | White T. Hadoop: The definitive guide. O'Reilly Media, Inc., 2012. |
[18] | Chakravarthy, Sharma, Jiang Q. Stream data processing: A quality of service perspective: Modeling, scheduling, load shedding, and complex event processing, Springer-Verlag, 2009. |
[19] | Storm. http://storm.incubator.apache.org/ |
[20] | Kafka Doc. http://kafka.apache.org/documentation.html |
[21] | Goodhope K, Koshy J, Kreps J, Narkhede N, Park R, Rao J, Ye VY. Building LinkedIn’s real-time activity data pipeline. IEEE Data Engineering Bulletin, 2012,35(2):33-45. |
[22] | Hive. https://hive.apache.org/ |
[23] | Pig. https://pig.apache.org/ |
[24] | Hbase. https://hbase.apache.org/ |
[25] | MongoDB. http://www.mongodb.org |
[26] | Zaharia M, Chowdhury M, Franklin M, Shenker S, Stoica I. Spark: Cluster computing with working sets. HotCloud 2010. 2010. |
[27] | Melnik S, Gubarev A, Long JJ, Romer G, Shivakumar S, Tolton M, Vassilakis T. Dremel: Interactive analysis of Web-scale datasets. Proc. of the VLDB Endowment, 2010,3(1-2):330-339. |
[28] | Malewicz G, Austern MH, Bik AJ, Dehnert JC, Horn I, Leiser N, Czajkowski G. Pregel: A system for large-scale graph processing. In: Proc. of the 2010 ACM SIGMOD Int’l Conf. on Management of Data. ACM, 2010. 135-146 . |
[29] | Pregel. http://kowshik.github.io/JPregel/ |
[30] | Neo4j. http://www.neo4j.org/ |
[31] | Trinity. http://research.microsoft.com/trinity |
[32] | Shao B, Wang H, Li Y. Trinity: A distributed graph engine on a memory cloud. In: Proc. of the 2013 Int’l Conf. on Management of Data. ACM, 2013. 505-516 . |
[33] | Hinton G, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets. Neural Computation, 2006,18(7):1527-1554 . |
[34] | Bengio Y, Lamblin P, Popovici D, Larochelle H. Greedy layer-wise training of deep networks. In: Advances in Neural Information Processing Systems. 2007,19:153. |
[35] | Dahl GE, Yu D, Deng L, Acero A. Context-Dependent pre-trained deep neural networks for large-vocabulary speech recognition. IEEE Trans. on Audio, Speech, and Language Processing, 2012,20(1):30-42 . |
[36] | Krizhevsky A, Sutskever I, Hinton GE. Imagenet classification with deep convolutional neural networks. In: Advances in Neural Information Processing Systems. 2012. 1097-1105. |
[37] | ImageNet. http://www.image-net.org/challenges/LSVRC/2013/results.php |
[38] | Taigman Y, Yang M, Ranzato M, Wolf L. Deepface: Closing the gap to human-level performance in face verification. In: Proc. of the IEEE CVPR. 2014. |
[39] | Le QV. Building high-level features using large scale unsupervised learning. In: Proc. of the 2013 IEEE Int’l Conf. on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2013. 8595-8598 . |
[40] | Bengio Y, Schwenk H, Senécal J S, Morin F, Gauvain JL. Neural probabilistic language models. In: Innovations in Machine Learning. Berlin, Heidelberg: Springer-Verlag, 2006. 137-186 . |
[41] | Collobert R, Weston J. A unified architecture for natural language processing: Deep neural networks with multitask learning. In: Proc. of the 25th Int’l Conf. on Machine Learning. ACM, 2008. 160-167 . |
[42] | Socher R, Perelygin A, Wu J Y, Chuang J, Manning CD, Ng AY, Potts C. Recursive deep models for semantic compositionality over a sentiment treebank. In: Proc. of the Conf. on Empirical Methods in Natural Language Processing (EMNLP). 2013. 1631-1642. |
[43] | Etzioni O, Cafarella M, Downey D, Popescu AM, Shaked T, Soderland S, Yates A. Unsupervised named-entity extraction from the Web: An experimental study. Artificial Intelligence, 2005,165(1):91-134 . |
[44] | Etzioni O, Cafarella M, Downey D, Kok S, Popescu AM, Shaked T, Yates A. Web-Scale information extraction in knowitall: (preliminary results). In: Proc. of the 13th Int’l Conf. on World Wide Web. ACM, 2004. 100-110 . |
[45] | Banko M, Cafarella MJ, Soderland S, Broadhead M, Etzioni O. Open information extraction for the Web. In: Proc. of the IJCAI. 2007,7:2670-2676. |
[46] | Carlson A, Betteridge J, Kisiel B, Settles B, Hruschka Jr ER, Mitchell TM. Toward an architecture for neverending language learning. In: Proc. of the 24th AAAI Conf. on Artifical Intelligence. Menlo Park: AAAI Press, 2010. 1306-1313. |
[47] | Wu W, Li H, Wang H, Zhu KQ. Probase: A probabilistic taxonomy for text understanding. In: Proc. of the 2012 ACM SIGMOD Int’l Conf. on Management of Data. New York: ACM, 2012. 481-492 |
[48] | Gallagher S. How Google and Microsoft taught search to understand the Web. 2012. http://arstechnica.com/information- technology/2012/06/inside-the-architecture-of-googles-knowledge-graphand-microsofts-satori/ |
[49] | Nakashole N, Theobald M, Weikum G. Scalable knowledge harvesting with high precision and high recall. In: Proc. of the 4th ACM Int’l Conf. on Web Search and Data Mining. New York: ACM, 2011. 227-236 . |
[50] | Suchanek FM, Sozio M, Weikum G. SOFIE: A self-organizing framework for information extraction. In: Proc. of the 18th Int’l Conf. on World Wide Web. New York: ACM, 2009. 631-640 . |
[51] | Auer S, Bizer C, Kobilarov G, Lehmann J, Cyganiak R, Ives Z. DBpedia: A nucleus for a Web of open data. In: Proc. of the 6th Int’l the Semantic Web and the 2nd Asian Conf. on Asian Semantic Web Conf., ISWC 2007. Piscataway: IEEE, 2007. 722-735 . |
[52] | Biega J, Kuzey E, Suchanek FM. Inside YAGO2s: A transparent information extraction architecture. In: Proc. of the 22th Int’l Conf. on World Wide Web. New York: ACM, 2013. 325-328. |
[53] | Hffart J, Suchanek F, Berberich K, Weikum G. YAGO2: A spatially and temporally enhanced knowledge base from Wikipedia. Artificial Intelligence Journal, 2013,194(4):28-61 . |
[54] | Suchanek F, Kasneci G, Weikum G. YAGO—A core of semantic knowledge. In: Proc. of the 16th Int’l Conf. on World Wide Web. New York: ACM, 2007. 697-706 . |
[55] | Philpot A, Hovy EH, Pantel P. Ontology and the Lexicon//The Omega Ontology. Cambridge: Cambridge University Press, 2008. 35-78. |
[56] | Ponzetto S, Navigli R. Large-Scale taxonomy mapping for restructuring and integrating wikipedia. In: Proc. of the 21st Int’l Joint Conf. on Artifical Intelligence, IJCAI 2009. San Francisco: Morgan Kaufmann Publishers, 2009. 2083-2088. |
[57] | Ponzetto S, Strube M. Taxonomy induction based on a collaboratively built knowledge repository. Artificial Intelligence, 2011, 175(9-10):1737-1756 . |
[58] | Shi ZZ. Knowledge Discovery. Beijing: Tsinghua University Press, 2002. |
[59] | Dong ZD, Dong Q, Hao CL. Theoretical findings of HowNet. Journal of Chinese Information Processing, 2007,21(4):3-9. |
[60] | Mei LJ, Zhou Q, Cang L, Chen ZS. Merge information in HowNet and TongYiCi CiLin. Journal of Chinese Information Processing, 2005,19(1):63-70. |
[61] | 黃曾陽.HNC理論概要.中文信息學報,1997,11(4):11-20. |
[62] | Yu JS, Yu SW. The structure of Chinese concept dictionary. Journal of Chinese Information Processing, 2002,16(4):12-20. |
[63] | Xu WY, Liu SY. Logic for knowledgebase systems. Chinese Journal of Computers, 2009,32(11):2123-2129. |
[64] | Zhong XQ, Liu Z, Dong PP. Construction of knowledge base on hybrid reasonging and its application. Chinese Journal of Computers, 2012,35(4):761-766 |
[65] | Chen LW, Feng YS, Zhao DY. Extracting relations from the Web via weakly supervised learning. Journal of Computer Reseach and Development, 2013,50(9):1825-1835. |
[66] | Girvan M, Newman MEJ. Community structure in social and biological networks. Proceedings of the National Academy of Sciences, 2002,99(12):7821-7826 . |
[67] | Fortunato S. Community detection in graphs. Physics Reports, 2010,486(3):75-174. |
[68] | Newman MEJ. Finding community structure in networks using the eigenvectors of matrices. Physical Review E, 2006,74(3): 36-104 . |
[69] | Palla G, Derényi I, Farkas I, Vicsek T. Uncovering the overlapping community structure of complex networks in nature and society. Nature, 2005,435(7043):814-818 . |
[70] | Rosvall M, Bergstrom CT. Maps of information flow reveal community structure in complex networks. PNAS, 2008,105(4): 1118-1123 . |
[71] | Airoldi EM, Blei DM, Fienberg SE, Xing EP. Mixed membership stochastic blockmodel. Journal of Machine Learning Research, 2008,9:1981-2014. |
[72] | Fortunato S, Barthelemy M. Resolution limit in community detection. Proceedings of the National Academy of Sciences, 2007,104(1):36-41 . |
[73] | Sales-Pardo M, Guimera R, Moreira AA, Amaral LAN. Extracting the hierarchical organization of complex systems. Proceedings of the National Academy of Sciences, 2007,104(39):15224-15229 . |
[74] | Mucha PJ, Richardson T, Macon K, Porter MA, Onnela JP. Community structure in time-dependent, multiscale, and multiplex networks. Science, 2010,328(5980):876-878 . |
[75] | Delvenne JC, Yaliraki SN, Barahona M. Stability of graph communities across time scales. Proceedings of the National Academy of Sciences, 2010,107(29): 12755-12760 . |
[76] | Ahn YY, Bagrow JP, Lehmann S. Link communities reveal multiscale complexity in networks. Nature, 2010,466(7307):761-764 . |
[77] | Pastor-Satorras R, Vespignani A. Epidemic spreading in scale-free networks. Physical Review Letters, 2001 . |
[78] | Hopcroft J, Khan O, Kulis B, Selman B. Tracking evolving communities in large linked networks. Proceedings of the National Academy of Sciences, 2004,6,101(Suppl 1):5249-5253 . |
[79] | Palla G, Barabási AL, Vicsek T. Quantifying social group evolution. Nature, 2007,446(7136):664-667 . |
[80] | Song L, Kolar M, Xing EP. Time-Varying dynamic bayesian networks. In: Proc. of the 23rd Neural Information Processing Systems (NIPS 2009). 2009. |
[81] | Xing EP, Fu W, Song L. A state-space mixed membership blockmodel for dynamic network tomography. Annals of Applied Statistics, 2010,4(2):535-566 . |
[82] | Clauset A, Moore C, Newman MEJ. Hierarchical structure and the prediction of missing links in networks. Nature, 2008,453: 98-101 . |
[83] | Anderson RM, May RMC. Infectious Diseases of Humans: Dynamics and Control. Oxford Science Publications, 1992. |
[84] | Hethcote HW, Van Den Driessche P. Two SIS epidemiologic models with delays. Journal of Mathematical Biology, 2000,40:3-26 . |
[85] | Noh JD, Rieger H. Random walks on complex networks. Physical Review Letters, 2004,92(11):118701. |
[86] | Lü L, Chen DB, Zhou T. The small world yields the most effective information spreading. New Journal of Physics, 2011,13: 123005 . |
[87] | Romero DM, Meeder B, Kleinberg J. Differences in the mechanics of information diffusion across topics: Idioms, political hashtags, and complex contagion on Twitter. In: Proc. of the 20th Int’l Conf. on World Wide Web (WWW). 2011. 695-704 . |
[88] | Wu S, Hofman JM, Mason WA, Watts DJ. Watts. Who says what to whom on Twitter. In: Proc. of the 20th Int’l Conf. on World Wide Web. Hyderabad, 2011. 705-714 . |
[89] | Lerman K, Ghosh R. Information contagion: An empirical study of the spread of news on Digg and Twitter social network. In: Proc. of the 4th Int’l Conf. on Weblogs and Social Media (ICWSM). Washington, 2010. 90-97. |
[90] | Castillo C, Mendoza M, Poblete B. Information credibility on Twitter. In: Proc. of the 20th Int’l Conf. on World Wide Web. 2011. 675-684 . |
[91] | Phelan O, McCarthy K, Smyth B. Using Twitter to recommend real-time topical news. In: Proc. of the 3rd ACM Conf. on Recommender Systems (RecSys). 2009. 385-388 . |
[92] | Lerman K, Hogg T. Using a model of social dynamics to predict popularity of news. In: Proc. of the 19th Int’l Conf. on World Wide Web. 2011. 621-630 . |
[93] | Cheng XQ, Guo JF, Jin XL. A retrospective of Web information retrieval and mining. Journal of Chinese Information Processing, 2011,25(6):111-117 |
[94] | 沈華偉,靳小龍,任福新,程學旗.面向社會媒體的輿情分析.中國計算機學會通信,2012,8(4):32-36. |
[95] | Yang J, Leskovec J. Patterns of temporal variation in online media. In: Proc. of the 4th ACM Int’l Conf. on Web Search and Data Mining (WSDM 2011). 2011. 177-186 |
[96] | Bollen J, Mao H, Zeng X. Twitter mood predicts the stock market. Journal of Computational Science, 2011,2(1):1-8. [doi 10.1016/j.jocs.2010.12.007] |
[97] | Hu J, Wang G, Lochovsky F, Sun JT, Sun CZ, Chen Z. Understanding user's query intent with Wikipedia. In: Proc. of the 18th Int’l Conf. on World Wide Web (WWW 2009). 2009. 471-480 . |
[98] | Wu L, Yang L, Yu N, Hua XS. Learning to tag. In: Proc. of the WWW 2009 MADRID. ACM, 2009. 361-370 . |
[99] | Liu D, Hua XS, Yang L, Wang M, Zhang HJ. Tag ranking. In: Proc. of the WWW 2009 MADRID. ACM, 2009. 351-360 . |
[100] | Luo P, Lin F, Xiong Y, Zhao Y, Shi Z. Towards combining Web classification and Web information extraction: A case study. In: Proc. of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2009. 1235-1244 . |
[101] | Qi GJ, Hua XS, Zhang HJ. Learning semantic distance from community-tagged media collection. ACM Multimedia, 2009. 243-252 . |
[102] | Xue GR, Han J, Yu Y, Yang Q. User language model for collaborative personalized search. ACM Trans. on Information Systems, 2009,27(2):1-28. [DOI: 10.1145/1462198.1462203] |
[103] | Li B, Yang Q, Xue X. Transfer learning for collaborative filtering via a rating-matrix generative model. In: Proc. of the ICML. 2009. 78 . |
[104] | Schroeder WJ, Zarge JA, Lorensen WE. Decimation of triangle meshes. Computer Graphics, 1992,26(2): 65-70 . |
[105] | Renze KJ, Oliver JH. Generalized unstructured decimation. IEEE Computer Graphics and Applications, 1996,16(6):24-32 . |
[106] | Hoppe H. Progressive meshes. In: Proc. of the SIGGRAPH. 1996. 99-108 . |
[107] | Hoppe H. View-Dependent refinement of progressive meshes. In: Proc. of the SIGGRAPH. 1997 . |
[108] | Chopra P, Meyer J. Tetfusion: An algorithm for rapid tetrahedral mesh simplification. In: Proc. of the Conf. on Visualization 2002. Washington: IEEE Computer Society, 2012. 133-140 . |
[109] | Staadt OG, Gross MH. Progressive tetrahedralizations. In: Ebert D, Hagen H, Rushmeier H, eds .Proc. of the Visualization’98. Los Alamitos: IEEE Computer Society, 1998. 397-402 . |
[110] | Evans W, Kirkpatrick D, Townsend G. Right triangular irregular networks. Technical Report, TR97-09, Department of Computer Science, University of Arizona, 1997. |
[111] | Mirante A, Weingarten N. The radial sweep algorithm for constructing triangulated irregular networks. IEEE Computer Graphics and Applications, 1982,2(3):11-13, 15-21 . |
[112] | Fowler RJ, Little JJ. Automatic extraction of irregular network digital terrain models. Computer Graphics (SIGGRAPH’79), 1979,13(2):199-207 . |
[113] | Silva CT, Mitchell JSB, Kaufman AE. Automatic generation of triangular irregular networks using greedy cuts. In: Proc. of the IEEE Visualization (1995). Los Alamitos: IEEE Computer Society, 1995. 201-208 . |
[114] | Cignoni P, Ganovelli F, Gobbetti E, Marton F, Ponchio F, Scopigno R. BDAM: Batched dynamic adaptive meshes for high performance terrain visualization. In: Brunet P, Fellner D, eds. Proc. of the 24th Annual Conf. of the European Association for Computer Graphics (EG 2003), Vol.22. Blackwell: IEEE Computer Society, 2003. 505-514. [doi 10.1111/1467-8659.00698] |
[115] | Cignoni P, Ganovelli F, Gobbetti E, Marton F, Ponchio F, Scopigno R. Interactive out-of-core visualization of very large landscapes on commodity graphics platforms. In: Proc. of the ICVS 2003. LNCS, New York: Springer-Verlag, 2003. 21-29 . |
[116] | Goodrich MT, Tsay JJ, Vengroff DE, Vitter JS. Externalmemory computational geometry. In: Proc. of the 34th Annual IEEE Symp. on Foundations of Computer Science (FOCS 1993), 1993. 714-723 . |
[117] | Matias Y, Segal E, Vitter JS. Efficient bundle sorting. In: Proc. of the 11th Annual ACM-SIAM Symp. on Discrete Algorithms (2000). Society for Industrial and Applied Mathematics, 2000. 839-848. |
[118] | Pascucci V, Frank RJ. Global static indexing for real-time exploration of very large regular grids. In: Proc. of the 2001 ACM/IEEE Conf. on Supercomputing (CDROM). New York: ACM, 2001 . |
[119] | Plaisant C, Carr D, Shneiderman B. Image-Browser taxonomy and guidelines for designers. IEEE Software, 1995,12(2):21-32 . |
[120] | Plaisant C, Grosjean J, Bederson BB. Spacetree: Supporting exploration in large node link tree, design evolution and empirical evaluation. In: Proc. of the IEEE Symp. on Information Visualization (InfoVis 2002). Washington: IEEE Computer Society, 2002. 57-64 . |
[2] | 李國傑,程學旗.大數據研究:將來科技及經濟社會發展的重大戰略領域. 中國科學院院刊,2012,27(6):647-657. |
[3] | 王元卓,靳小龍,程學旗.網絡大數據:現狀與展望.計算機學報,2013,36(6):1125-1138. |
[6] | 孫大爲,張廣豔,鄭緯民.大數據流式計算:關鍵技術及系統實例. 軟件學報,2014,25(4):839-862. |
[58] | 史忠植.知識發現.北京:清華大學出版社,2002. |
[59] | 董振東,董強,郝長伶.知網的理論發現. 中文信息學報,2007,21(4):3-9. |
[60] | 梅立軍,周強,臧路,陳祖舜.知網與同義詞詞林的信息融合研究.中文信息學報,2005,19(1):63-70. |
[62] | 於江生,俞士汶.中文概念詞典的結構.中文信息學報,2002,16(4):12-20. |
[63] | 許文豔,劉三陽.知識庫系統的邏輯基礎. 計算機學報,2009,32(11):2123-2129. |
[64] | 鍾秀琴,劉忠,丁盤蘋.基於混合推理的知識庫的構建及其應用研究.計算機學報,2012,35(4):761-766. |
[65] | 陳立瑋,馮巖鬆,趙東巖.基於弱監督學習的海量網絡數據關係提取.計算機研究與發展,2013,50(9):1825-1835. |
[93] | 程學旗,郭嘉豐,靳小龍.網絡信息的檢索與挖掘回顧.中文信息學報,2011,25(6):111-117. |