基於MaxCompute的媒體大資料開放平臺建設
摘要:隨著自媒體的發展,傳統媒體面臨著巨大的壓力和挑戰,新華智雲運用大資料和人工智慧技術,致力於為媒體行業賦能。通過媒體大資料開放平臺,將媒體行業全網資料彙總起來,藉助平臺數據處理能力和演算法能力,將有價值資料內容和能力開放給使用者。本文主要從新華智雲數芯平臺,媒體行業資料特徵,批流處理資料架構,以及通用的媒體大資料平臺能力等幾個方面介紹瞭如何基於MaxCompute做媒體大資料開放平臺建設。
演講嘉賓簡介:
李金波,新華智雲首席資料官。負責阿里巴巴大資料通用計算平臺MaxCompute(原ODPS)框架架構。對高可用分散式系統設計開發有多年經驗。先後研發過阿里巴巴機器學習平臺線上預測系統和通用大資料計算平臺框架系統。
本次直播視訊精彩回顧,戳這裡! https://yq.aliyun.com/live/796
以下內容根據演講嘉賓視訊分享整理而成。
本次的分享主要圍繞以下五個方面:
一、關於新華智雲
二、數芯-媒體大資料開放平臺
三、媒體大資料平臺能力
四、Project依賴
五、幾點小提示
一、關於新華智雲
新華智雲是新華社與阿里巴巴合資成立的一家公司,主要面向運用大資料和人工智慧技術,致力於為媒體行業賦能。隨著自媒體的發展,自媒體公司非常的火熱,如今日頭條,抖音等。對傳統媒體來說,面臨著巨大的壓力和挑戰。傳統媒體急切的希望網際網路的技術幫助他們賦能。
媒體大腦-數芯
媒體大腦是新華智雲底層的產品品牌,數芯是媒體大腦基礎的資料平臺。數芯定位為媒體大資料開放平臺,平臺中包含了媒體行業所依賴的各種各樣的資料。數芯希望通過平臺本身的資料處理能力和演算法加工,將挖掘的有價值資料內容和能力開放給上層使用者。目前,數芯包含了各種各樣的資料,涵蓋了400多萬網際網路站點,主要以中文站點為主,日增7千萬文章,包含微信公眾號,微博賬號,圖片以及多媒體來源等。將不同來源儲存在平臺中,之後對接資料,進行更多的加工和運用。“資料已經不再是一種成本,而是成為一種生產資料”,這句話在媒體行業更能夠有所感受。一篇新聞除了是新聞之外,還是一條資料,同時新聞本身又會衍化產生新聞。很多媒體公司利用網際網路技術獲得大量的新聞內容之後,輔助他們新聞的生成過程。數芯會將媒體資料從不同的源頭,不同供應商,以不同內容格式儲存到平臺中,進行資料清洗,結構化,加工等等一系列的操作之後,生成有價值的內容。如,這段時間之內媒體關注的熱點,網際網路上發生的事件,同時識別新聞和機構之間的關係,基於實體將各個渠道上的資料整合起來,為使用者提供統一的檢視。使用者可以看到資訊的發酵過程,以及資訊在什麼地方傳播。
二、數芯-媒體大資料開放平臺
數芯是一個開放的大資料平臺,開放的點主要有三個方面。第一,資料的開放。任何資料進到數芯之後,都會在整個大資料處理的鏈條中做計算,內容結構化,加入標籤。同時基於使用者感興趣的資料範圍,做標籤的特徵過濾,篩選使用者想要的資料。數芯幫助使用者瞭解互聯上的資訊,瞭解網際網路上與自身相關的事件。第二,數芯提供智慧能力的開放。使用者不管怎麼努力,不可能獲取到網際網路上所有的資料;而且不可能每個公司都會自建內容大資料平臺,做資料分析,也不可能都配備演算法工程師;而且公司的資料處理能力也不是足夠強;媒體大資料平臺可以幫助使用者將與他們有關的資料加工好,通過演算法能力獲得使用者關心的資訊。如使用者提供一個文章,數芯可以反饋這篇文章與誰相關,相同的文章在什麼地方傳播,文章由誰編寫,發在什麼地方等等資訊。通過開放演算法能力,幫助使用者做資料能力和演算法能力的應用,提供文字反垃圾服務,網際網路內容結構化服務,文字內容實體識別服務,文字去重判定服務,影象人物識別服務和影象標籤化服務等等。第三,產品能力的開發,包含輿情監測能力,版權檢測,傳播分析等能力。
媒體資料特徵
媒體大資料有三大特徵,第一,媒體資料是非結構化性非常強。與傳統行業數倉最大的區別是媒體行業90%以上資料都是非結構化的,如文字,圖片,視訊等等。第二,資料來源多樣性。媒體行業資料有多種外部的資料來源,它們有不同的資料提供的方式,提供不同的資料能力。所以必須要有強大的資料彙總能力才能將所有資料彙總在一起並服務好下游客戶。另外,資料效性要求非常高。媒體行業天然追逐新聞熱點,假如知道一個事件是潛在的熱點,媒體希望第一時間對熱點進行追蹤,報道和解讀。媒體機構希望通過數芯平臺,能夠最快的發現網際網路上發生的事情,發現熱點之後以最快的方式,將結構化後的資料給到使用者。
批流處理結合
基於媒體行業資料的特徵,數芯平臺採取批,流結合的方式解決目前客戶和業務場景對資料的要求。批指的是大量的計算,基於平臺特徵完成複雜的模型,演算法訓練,長週期計算,文字實體識別,文字挖掘,藉助批量的能力解決資料更深度,更大規模的加工。流指的是流式的計算,完成資料的清洗,結構化,輕計算和實時統計。出來一篇新聞,在整個新聞流傳的過程中實時的將資訊處理好。目前數芯整體的流計算大概需要300毫秒,即一篇新聞從源頭過來,儲存到平臺,服務化出去中間需要經過300毫秒的時間。
批流結合的資料架構
資料從不同資料來源過來,如API,OTS,ROS,log,file等,一方面資料要在實時計算當中做URL去重,正文結構化,標記來源,垃圾識別,實體識別和輕度的實時統計。另外基於MaxCompute,利用DataHub將資料儲存在批處理平臺中,由於流計算本身不做持久化儲存,所以所有資料都將儲存在MaxCompute上。資料儲存之後做主題建設,關係挖掘,知識圖譜計算,演算法訓練。通過批流結合的的處理方式能夠滿足客戶對資料本身能力的需要。之後,給使用者提供搜尋能力,大屏能力和BI能力等。
三、媒體大資料平臺能力
內容結構化
人們在網頁當中看到一篇新聞,而在資料庫當中新聞是按欄位儲存的。比如,分為新聞標題,釋出網站,時間,新聞來源,情感等等。平臺需要將新聞資訊進行結構化,成為後續計算過程需要依賴的資料結構化欄位。
主題構建
媒體行業會分主題建設資料。平臺會獲取到不同的資料來源,不同型別的資料。這些資料不可能完全的結合在一起,數芯平臺會將所有資料分門別類的分成不同主題,按不同主題建設,存放和加工。媒體是一個非常複雜的行業,對各個行業的資料都是有所訴求,媒體需要挖掘很多不同行業的資料支撐新聞生產和報道。目前,數芯集中在媒體內在的資料,體育,金融,氣象等幾個主題。數芯一方面將不同的資料來源彙總到平臺當中,另一方面資料進來之後,挖掘潛在的新聞點,生成選題策劃,幫助使用者做選題等等工作。
實體識別
實體識別對於媒體大資料來說是最基礎的能力。數芯目前積累的實體圍繞人,機構,地點等三類資料。新聞行業,媒體行業會圍繞某一個實體,關注與實體相關的資料能力。比如,很多公司會關注和自己相關的諮詢,關心這些新聞是正面還是負面,哪些機構會發正面的資訊,哪些機構會發負面的資訊等。只有當將大批量的資料彙集起來之後,才能做相關內容的分析。實體識別場景在媒體大資料領域是非常基礎的能力,首先,建立實體庫。同時,當有一篇新聞產生,數芯需要實時的識別新聞與哪些人,機構和地點相關。另外,數芯需要彙集實體之間關係,做實體關係圖譜。比如,很多品牌會瞄準自己的競爭對手,調整品牌戰略,實體關係圖譜對很多公司品牌運營的推廣有很大的幫助。
情感分析
情感分析也是媒體大資料平臺中比較通用的能力,當一篇新聞出來之後,使用者需要知道是情感上褒義還是貶義。資訊數量少的資訊可以人工判斷,但是如果每天有上千篇,上完篇的內容就無法通過人工來判斷。媒體行業的情感分析與學術上的情感分析有差異。目前,自媒體出來之後短文字的內容越來越多。短文字的情感分析和長文字的情感分析不同,以往都是採用同一個演算法實現情感分析,但發現效果並不好。現在,數芯將情感分析場景分開,微博短文字的情感分析用Word2vec+LSTM,新聞類的長文字的情感分析用Word2vec+CNN+RNN。分開之後發現每一類情感分析的效果都有所提升。
內容去重
內容去重是媒體大資料平臺非常重要的一部分。去重能力是對於常見的新聞摘錄,編輯,刪減有準確的判重能力。一篇新聞並不是只由一個人寫,它會被很多機構和渠道所轉發。如何知道一篇新聞在哪些渠道被轉發,其實就是通過去重的方式實現的。通過從大量的渠道彙集資料後,平臺需要比對一篇新聞與之前哪篇新聞相似,通過相似度的比對得到結果。最早的時候,去重是基於關鍵詞進行比對,數芯採取關鍵詞和語義,兩種方式比對,去重效果明顯提升。內容去重可以用於新聞的熱度計算,新聞資料顧慮清洗,文章版權追蹤等業務場景。
內容標籤化
搜尋引擎可以用來搜尋新聞,通過關鍵詞和文章的匹配度來決定這篇內容是否推薦給使用者。但純搜尋的方式已經滿足不了使用者家的需求。今日頭條之所以成功,是因為它基於新聞和使用者的習慣推薦內容。內容標籤化就是通過機器的方式理解新聞,理解新聞與哪些資訊相關,基於文字挖掘的手段,實現對於全網採集的內容資料進行分類打標。
四、Project依賴
很多時候,使用大資料平臺要不要分專案都是一個很難的抉擇。不分專案的好處是開發人員都在同一個平臺工作,互相之間不需要太多的授權,整體工作效率會比較高。分專案的好處是利用不同平臺做不同的業務會更清晰,更具條理性。數芯在開始使用MaxCompute時,便採取分專案方式,其考慮的原因有以下三點。首先,分專案可以區分業務優先順序,避免低優先順序任務影響高優先順序的資料產出。另外,可以區分資源消耗型,避免出現高資源消耗任務整體影響資料產出。還有區分內外服務,避免內部服務互相交叉影響。總體上,分專案可以為資料產出的穩定性提供很好的保障。
五、幾點小提示
首先,由於媒體行業大部分資料都是非結構化的資料,會造成對單欄位的容量要求比較大的問題。而且不同的平臺和傳輸工具對於資料的欄位大小的限制不同。在從不同平臺做資料傳輸時,尤其需要關注這個問題。
第二,能用UDF解決的問題,不要使用MR。使用UDF可以提高開發和運維的效率。即儘量用簡單的表示式處理邏輯,這對整體資料產出穩定性有好處。
第三,對查詢效率要求不高的資料報表可以直連MaxCompute,減少中間環節。如此可以大大減少資料轉換和資料維護成本。
第四,Datahub一方面可以接資料來源,另外還可以較好的串聯批,流之間的計算流程,保持資料一致性和形成依賴。
第五,合理設計批,流的資料處理分工,減少重複計算。
第六,媒體大資料經常需要運用不同的演算法,PAI可以幫助解決很多演算法問題,減少開發的工作量,提高資料處理的效率。
歡迎對大資料計算技術感興趣的開發者一起加入“MaxCompute開發者社群”,釘釘群號11782920,或掃下方二維碼。