search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

兩個案例,掌握AI在大數據領域的前沿應用

近日,全球技術學習技術大會首次在京舉行,阿里巴巴數據技術及產品部資深演算法專家楊紅霞(鴻俠)作為特邀嘉賓出席並發表主題演講。鴻俠從什麼是數據新能源說起,接著介紹了阿里目前比較成功的兩款數據產品,一個是是自動化標籤生產,另外一個是大規模分散式知識圖譜,以及在此之上的一些重要應用。最後是她對機器學習和人工智慧技術對數據新能源產業中有效落地的一些建議和期望。

下面是基於鴻俠現場演講內容摘要:

如果大家對阿里巴巴的新聞比較關注,最近可能會頻繁聽到阿里巴巴談到「五新」這個詞,「五新」中的其中一個概念是新能源。其實新能源就是大數據本身。技術、數據和演算法三個方面結合在一起,才可以把數據真正用起來。

大家都知道,Google的數據量很大,但是它的數據源本身其實比較單一。以Google search,Google map等為主導。再來看看Facebook,它更多的是社交行為數據,缺少出行數據、 瀏覽器數據、或者類似優酷的視聽數據。但是,對於阿里來說,上述的這些數據我們都有。我們面臨的極大挑戰是:怎麼樣有效的把這些全域數據融合在一起。

首先我們需要把數據有效地收集起來。把數據有效地收集、存儲起來之後,接著要做的就是怎麼通過演算法把這些數據打通,並且真正有效、智能地把這些數據提煉出來。

這是阿里的一個生態體系圖。最底層是阿里雲,這是我們的一個計算存儲框架。上面是阿里媽媽,阿里媽媽是負責整個阿里巴巴計算廣告的一個部門,再上面是菜鳥、支付寶和螞蟻金服。然後是與電商業務相關的,像淘寶網、天貓、聚划算等等,或者是跟文娛相關的,優酷土豆,還有像阿里旅行,口碑之類的業態。

阿里巴巴數據中台要做的事情是什麼呢?舉一個最簡單的例子,之前有一個比較火的電視劇《三生三世》。《三生三世》火熱上映的時候,與之相關的商品元素,比如飲食或者穿戴之類的商品,也會瞬間在淘寶網上火爆起來。那麼如果我提前就知道某一類人群是《三生三世》的冬粉,我就可以在淘寶網上做非常高效的、準確的定位推廣。阿里數據要做的是:把數據真正打通,深度挖掘數據的價值,為業務創新應用提供數據決策基礎和依據。

下面具體介紹一下數據融合的技術框架。因為在真正進入演算法之前,我們一定要對數據進行非常認真、仔細地進行清洗過程。俗話說,如果你的數據不清洗,其實就是「learn trash from trash」。所以數據本身一定要做得非常乾淨。

首先來看一下架構圖,第一個數據層中有各種各樣的數據,比如有消費數據,有廣告數據,出行數據等等。把這些數據層經過有效結合在一起之後,接下來得到這種特徵層的提取。在阿里數據內部,大概有這樣幾個比較抽象的維度:像賬號設立的靜態特徵,電商行為的特徵,或者設備的特徵等等。

在特徵層之上,我們會有模型層, 這裡面有基於業務規則的模型,也有其他的例如異常檢測,有監督或者無監督的學習,然後特徵的聯合校驗等模型。因為我們的數據源非常多,因此我們也可以通過部分的數據源驗證另外一個數據源,看數據的增長或者留存是否處於一個正常範圍。另外還有一些比較好的方法,比如基於Graph的一些演算法,實時的反作弊演算法等等。在演算法層之上,就是評估層。在評估層內,我們可以判斷留下來的數據是否是真正有效的數據。

在上述這些數據層的上面,會有一個應用層,也同時會抽象出一些產品來幫助內部員工或者外部商家進行使用。所以,整個數據中台實際上是從底到上對數據進行清洗的一個架構。

當我們有了非常乾淨的數據之後,我們要做的就是把數據打通。我剛才說了,阿里生態體系會呈現出幾百個不同的數據源,這些數據源本身的數據量非常大,收集模式也各不相同。那麼我們是如何進行數據之間的融通的呢?

上圖是這是我們關於怎麼把數據打通的一個技術架構。大家可以看到,整個技術體系都是,先把數據接進來,再通過一些機器學習或者深度學習的辦法(像word2ve,node2vec, TFIDF,歸一化等)處理特徵層,之後映射到一些比較抽象的高緯度Level(比方說像用戶的身份信息,網路的環境相似度,文本的相似度,APP相似度等等)。抽象完這些特徵層之後,我們究竟怎樣去判斷。

這期間的方法大致可以分為四種有效的辦法:

深度學習的模型

非線性模型

線性模型

圖模型

此外,還有一些基於規則的強召回,就是比如說用戶有相同的賬號登陸不同的地方。這些是所謂的強召回,它可以非常準確地被判斷出來。弱召回就是基於演算法特徵層的這些模型,有效地判斷出所有信息是否真正屬於同一個自然人。下面,基於剛才的打通融合的數據之後,介紹兩個數據應用類產品。

1、自動化標籤的生產

在電商業務中,我們想知道這個人背後更多的其他方面的特徵。所以,我們會有一個自動化標籤生產的體系,快速地進行標籤生產。比方說上傳一些種子用戶,比較類似於像Facebook 的Look alike audience,可以快速在幾千萬個特徵中選出來最重要的那些特徵,然後通過最重要的這些特徵對於那些還沒有打標的龐大人群進行打標。

在阿里數據中台,我們研發了一個叫「自動化標籤生產」的體系。這個體系需要滿足三個需求:

需求的響應速度一定要快。

標籤生產的負荷能力要強。

對於這個標籤生產數據源是有一定要求的,就是你要做出判斷,不是他上傳了一批種子用戶,他對某一些標籤有需求,我們的數據量,或者數據就一定是足夠幫你產生這些標籤的。

所以,基於剛才的一些要求,我們推出了「標籤工廠」的這一套服務體系。它可以達到幾個目的:

降低成本。現在我們有一個可視化界面,只要你上傳一個種子用戶,按照你自己的要求,大概在一兩個小時之內,幫你快速生產標籤。

質量。當你在產生第一輪標籤的時候,其實更多的還是基於對演算法本身的一個評估判斷。標籤真正上線之後,在業務的指標上面會不停產生反饋,所以我們實時的把這些業務反饋放進在標籤生產體系,不停地幫助優化標籤的產生。

保證數據安全。

下面具體看一下我們的技術架構:

第一,數據源。你可以認為,整個數據新能源的數據源都是接到下面,經過數據清洗、打通之後,來到一個標籤工廠的體系。在標籤工廠,首先會進行一定特徵學習(feature engineering),比方說有一些像類型判斷、分層、降維,因為數據量非常大,通過深度學習,深度表徵去學習出特徵之間的非線性關係,和它們之間的high order interaction。

接下來就是打標。首先可以傳一批種子用戶,由於你打標籤的這部分種子用戶是非常小的一部分用戶,所以還涉及到快速擴充Label,或者通過不停的這種adaptive learning去訓練完之後,可能通過演算法的輸出,可以增加一些更有效的確實是能反映出你的Label真實的樣本集。

如果你的標準樣本很多,很豐富的情況下,你可以用有監督的學習。有監督的學習,其實有線性的、非線性的或者是基於深度學習的。真實情況是有label的sample很少,在更多情況下我們需要使用半監督的演算法,例如self-training, co-training等。

2、大規模分散式知識圖譜

講完標籤工廠之後,介紹另外一個產品,大規模分散式知識圖譜。大規模知識圖譜抽象也是一種圖計算。首先談一下基於大規模分散式知識圖譜做了哪些工作,以及我們為什麼要做這樣一件事情。

阿里巴巴的生態非常豐富,而豐富的業態背後給我們數據工作者帶來的困難就是,我們常常需要接入各種數據,並將他們有效地管理和整合起來,傳統的方法,我們可能需要花幾個月,投入幾十個人做這樣一件事情,對數據進行打標。

但是,假設我們已經知道數據和數據之間的一些關係,而且也知道數據表中哪些表之間調用的血緣關係。那麼,如果我只是對調用次數最多的表進行非常精確地打標,然後用基於知識圖譜的方法,對剩下的90%表進行推理式的Label打標,就能極大節約了人力成本。所以這就是我們為什麼要用知識圖譜去做數據接入這樣的事情。那麼,對於數據管理也是同樣的道理。

假如只有1G的數據,你可以很快地回答出數據分佈的情況和質量。而我們的現狀時,我們的數據達到ZB級別的規模。因此對數據管理來說,挑戰不容小覷。同樣地來看看數據應用方面的情況。我們基於數據應用,實際上也有一款產品叫做「數據地圖」。

數據地圖是幹什麼呢?其實就是當你進行一個查詢,在這個產品里會自動幫你反饋出一個最相關的表。延伸開來的是我們想要做得下一步工作:當你下一次進行查詢后,能直接返回出相應的SQL,再產生出相應的表和相應的結果——這是我們想做的智能取數。

下面介紹一下知識圖譜在數據管理和數據應用方面的落地進展。目前我們開發了一些基於幾十萬張、上百萬張ODPS表的知識圖譜。說一下我們的結果:

在數據資產管理中,有一項重要的工作就是判斷數據的歸屬。我們有上百萬張的線上表,其中可能有幾萬張到幾十萬張的表能夠比較清楚判斷是屬於哪個團隊,可以在數據版圖上打標。但是,還有上百萬張沒有打標的表,因為這個表屬於異構的。在之前,通過一些人工的規則,它的歸屬判斷準確率大概是55%,而通過前面介紹的知識圖譜框架,準確率可以提升到88%。所以,它對數據資產管理的準確性起了顯著的提高作用。

接下來講一下知識圖譜在數據應用當中的一個技術框架,其實也是比較類似的:

首先,數據層。因為是一個知識圖譜的構建,所以上面要加個辭典層和語義層。再上面就是基於推理層。在推理上,用的方法有大家比較熟悉的像隨機遊走和延伸等。那基於標註的,我們其實嘗試了很多種方法,比方說張量分解等。

目前為止比較成功的是PRA(path rankingalgo),我們研發了幾個主流的graph feature model,PRA在大規模分散式知識圖譜推理上,在我們的問題中,表現是最好的。什麼是PRA,其實是把這些路徑抽象出來,然後就是學習一下再推薦這個路徑,但是它對於我剛才說的很多文本信息並沒有有效的利用起來,比如對於這些表的描述,在最原始的PRA當中路徑本身的位置是有考慮進去的,當然我對於這些描述,可能會知道也許這個路徑更有效。所以,後來我們看了一下這個Trans系列,其實類似text analysis 中的word2vec vs tfidf。確實在我們整個的剛才說的案例當中也是有比較大的提高。

看一個具體的例子,在數據地圖當中,知識圖譜到底是怎麼工作的:

你打出一個查詢,首先就是基本的分詞與分析,其實大家可以看到,我們這個場景也是相當於搜索反饋一個結果,但是其實它和傳統的搜索是不一樣的:傳統的搜索像Google、百度,其實它關心的指標是你準確的那個值是不是在TOP5或者TOP10。

但是,我們這個場合下一定要反饋唯一的、準確的表。所以,接下來我們會有一些模板匹配,所以這裡非常重要的一部分是人機交互這一塊,把人機交互的結果,就是人要告訴你說,這個結果是否是他想到的,然後知識圖譜整個剛才的框架有效的結合在一起,然後產生出你真正想找到那張表,然後整個的這個過程,其實這些是一些抽象出來的模板,這些模板可能是不夠的。因為隨著人的查詢越來越多,模板也需要慢慢的擴展。現在我們還是基於一些規則判斷一些模板,未來我們也會嘗試,讓這個機器自動產生一些模板。

所以總結一下,我剛才給大家大概介紹了一下什麼叫數據新能源,以及我們在數據新能源上兩個成功產品,一個是自動化標籤的生產,可以在非常快速的在幾個小時之內,為幾億人打上有效的標籤,並且快速的驗證落地。另外一個是大規模分散式知識圖譜,以及兩個應用的比較好的產品,一個是數據資產管理,另外一個是數據地圖,就是快速的查詢這個有效的表。未來我們想做的不只是一個表本身,也許就是一個query對應的sql,對應的你最後的結果。

最後再講一下我們對於整個工業界中機器學習怎麼才能成功落地的一些建議:

第一,必須要有大數據。如果沒有大數據,其實很多的挑戰你是看不到的。而且大數據本身一定是要豐富多樣的,如果數據源本身過於單一,其實對模型的挑戰是比較小的。所以你的數據源本身多樣性比較要多,機器學習才會發揮出更大的作用;

第二,一定要有計算平台。像現在阿里雲給我們提供了一個非常好的保障;

第三,你開發的演算法一定是要通用的。就是大家可能是在這個公司工作會發現,每開發一套演算法,投入的人力和時間和成本都是比較高的。所以說你的演算法本身可延展性一定是要比較好的。

我今天的演講就到這裡。謝謝大家!



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦