機器學習PAI全新功效——實時新聞熱點Online Learning實踐

(機器學習PAI Online Learning模塊上線邀測,目前只支持華北2(北京)區域使用,本實驗會用到流式機器學習算法)
PAI地址:https://data.aliyun.com/product/learn
邀測申請地址:https://data.aliyun.com/paionlinelearning

打開新聞客戶端,往往會收到熱點新聞推送相關的內容。新聞客戶端作爲一個承載新聞的平臺,實時會產生大量的

新聞,如何快速挖掘出哪些新產生的新聞會成爲成爲熱點新聞,決定着整個平臺的新聞推薦質量。

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

如何從平臺中海量的新聞素材中找到最有潛力成爲熱點的新聞需要使用機器學習相關的算法,傳統做法是將每天獲取的歷史諮詢下載並且離線訓練模型,再將生成的熱點發現模型推上線供第二日使用。但是這種離線訓練所生成的模型往往缺乏時效性的屬性,因爲每天熱點新聞都是實時產生的,用過去的模型預測實時產生的數據顯然是缺乏對數據時效性的理解。

針對這種場景,PAI平臺開創性的提出來Online-Learning的解決方案,通過流式算法和離線算法的結合,既能夠發揮離線訓練對大規模數據的強大處理能力,又能夠發揮流式機器學習算法對實時模型的更新能力,做到流批同跑,完美解決模型時效性的問題。今天就以實時熱點新聞挖掘案例爲例,爲大家介紹PAI OnlineLearning的解決方案。

實驗流程
1.切換新版
進入PAI後,點擊“體驗新版”按鈕即可開啓試用(目前OnlineLearning只支持新版,且與舊版不兼容)可在模板中一鍵創建類似於本文介紹的案例,數據和流程都已經內置,開箱即用

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

模板打開,點擊運行後效果(模板目前爲簡化版本)

2.實驗流程介紹
機器學習PAI全新功效——實時新聞熱點Online Learning實踐

(注:PAI中離線計算組件用藍色標識,流式計算組件由綠色標識,流式組件相連將形成計算組,因爲流式組件需要多個組件的運行停止狀態一致)

步驟1:離線模型訓練
本文使用的數據是3萬條來自UCI開放數據集提供的新聞文本數據。

地址:https://archive.ics.uci.edu/ml/datasets/Online+News+Popularity

數據組成:包含新聞的URL以及產生時間,另外還包含了58個特徵以及1個目標值,目標值“share”是新聞的分享次數,建模過程中將share字段利用sql組件處理成一個二分類問題,新聞share次數超過10000次爲熱點新聞,小於10000次爲非熱門新聞

特徵的組成如下圖所示:
機器學習PAI全新功效——實時新聞熱點Online Learning實踐

利用邏輯迴歸模型訓練生成一個二分類模型,這個模型用來評估新聞是否會成爲熱點新聞。

(注:目前PAI OnlineLearning只支持邏輯迴歸算法)

步驟2:離線模型轉換成流式模型
通過“模型轉換”組件,可以將離線生成的邏輯迴歸模型轉換成流式算法可讀取的流式模型。

步驟3:流式模型訓練
從步驟3開始就進入了流式算法組件的步驟,PAI平臺提供多種流式數據源,本案例以Datahub爲例。

Datahub地址:https://datahub.console.aliyun.com/datahub

Datahub是一種流式數據對列,支持JAVA、PYTHON等多種語言採集方式,在具體使用過程中可以通過Datahub鏈接用戶實時產生的數據以及PAI的訓練服務。注意:Datahub輸入的數據流格式需要與離線訓練的數據流的字段完全一致,這樣纔可以對離線的模型進行實時更新。

Ftrl訓練組件:左側輸入的是轉化爲流式的離線模型,右側輸入是流式數據表
FTRL算法基本等同於流式的邏輯迴歸算法,在使用過程中需要按照LR算法配置參數,需要注意”模型保存時間間隔參數“的配置,這個參數決定了實時計算產生模型的時間週期。

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

新版PAI已經內置了大量流式算法組件:
機器學習PAI全新功效——實時新聞熱點Online Learning實踐

####

PMML模型生成組件:將輸出的模型轉化成PMML格式
OSS文件導出:將模型導出到用戶自己的OSS中,可以自己設置名稱的前綴和後綴,生成模型可在OSS中查看,如下圖
機器學習PAI全新功效——實時新聞熱點Online Learning實踐

步驟4:流式模型評估
流式模型評估指的是利用評估數據對Ftrl訓練生成的模型進行評估,輸出的評估指標也可以寫入OSS,評估指標與模型一一對應。每個模型和評估指標都有一個ID,如果ID一致,說明模型和評估指標是對應關係,如下圖:

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

評估指標是一個json格式文件,包含精確率、準確率、混淆矩陣等指標:

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

步驟5:流式預測結果實時導出
可以利用實時生成的模型做實時數據預測,實時的預測結果可以寫出到datahub中,如下圖:

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

同時如果輸入的預測數據集包含label,還可以添加分類評估組件,可以打開組關係中的最右邊按鈕:

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

打開實時的流式預測結果評估頁面:

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

3.模型使用介紹
通過以上步驟已經產生了新聞熱點預測模型,生成的模型已經存入OSS,可以直接在PAI-EAS在線預測服務引擎進行部署也可以下載下來在本地預測引擎使用。新聞數據進來後先要做特徵工程(同”步驟1:離線模型訓練“中的特徵處理方式),然後將特徵工程處理結果輸入”熱點新聞挖掘服務“,將會返回新聞是否是熱點新聞。

機器學習PAI全新功效——實時新聞熱點Online Learning實踐

總結
通過本文的案例,實現了將離線歷史數據生成LR模型推送到實時訓練環境,再利用實時生成的數據對模型進行更新, 這種實時訓練的架構可以完美解決實時熱點新聞對於新聞推薦模型的影響問題。歡迎大家試用並給出建議。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章