PAI經過流式機器學習算法解決實時熱點新聞挖掘案例

摘要: (本實驗會用到流式機器學習算法,正處於邀測狀態,須要申請開通)PAI地址: https://data.aliyun.com/produ...:https://data.aliyun.com/paionlinelearning打開新聞客戶端,每每會收到熱點新聞推送相關的內容。

(機器學習PAI Online Learning模塊上線邀測,目前只支持華北2(北京)區域使用,本實驗會用到流式機器學習算法)算法

PAI地址:https://data.aliyun.com/product/learn
邀測申請地址:https://data.aliyun.com/paionlinelearningsql

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

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

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

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

實驗流程

1.切換新版

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

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

2.實驗流程介紹

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

步驟1:離線模型訓練部署

本文使用的數據是3萬條來自UCI開放數據集提供的新聞文本數據。

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

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

特徵的組成以下圖所示:

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

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

步驟2:離線模型轉換成流式模型

經過「模型轉換」組件,能夠將離線生成的邏輯迴歸模型轉換成流式算法可讀取的流式模型。

步驟3:流式模型訓練

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

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

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

  • Ftrl訓練組件:左側輸入的是轉化爲流式的離線模型,右側輸入是流式數據表

FTRL算法基本等同於流式的邏輯迴歸算法,在使用過程當中須要按照LR算法配置參數,須要注意」模型保存時間間隔參數「的配置,這個參數決定了實時計算產生模型的時間週期。

新版PAI已經內置了大量流式算法組件:

  • PMML模型生成組件:將輸出的模型轉化成PMML格式
  • OSS文件導出:將模型導出到用戶本身的OSS中,能夠本身設置名稱的前綴和後綴,生成模型可在OSS中查看,以下圖

步驟4:流式模型評估

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

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

步驟5:流式預測結果實時導出

能夠利用實時生成的模型作實時數據預測,實時的預測結果能夠寫出到datahub中,以下圖:

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

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

3.模型使用介紹

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

總結

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



本文做者:傲海

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索