Online Learning场景下实时新闻热点机器学习训练实践
(機器學習PAI Online Learning模塊上線邀測,目前只支持華北2(北京)區(qū)域使用,本實驗會用到流式機器學習算法)
PAI地址:https://data.aliyun.com/product/learn
邀測申請地址:https://data.aliyun.com/paionlinelearning
打開新聞客戶端,往往會收到熱點新聞推送相關(guān)的內(nèi)容。新聞客戶端作為一個承載新聞的平臺,實時會產(chǎn)生大量的
新聞,如何快速挖掘出哪些新產(chǎn)生的新聞會成為成為熱點新聞,決定著整個平臺的新聞推薦質(zhì)量。
如何從平臺中海量的新聞素材中找到最有潛力成為熱點的新聞需要使用機器學習相關(guān)的算法,傳統(tǒng)做法是將每天獲取的歷史咨詢下載并且離線訓練模型,再將生成的熱點發(fā)現(xiàn)模型推上線供第二日使用。但是這種離線訓練所生成的模型往往缺乏時效性的屬性,因為每天熱點新聞都是實時產(chǎn)生的,用過去的模型預測實時產(chǎn)生的數(shù)據(jù)顯然是缺乏對數(shù)據(jù)時效性的理解。
針對這種場景,PAI平臺開創(chuàng)性的提出來Online-Learning的解決方案,通過流式算法和離線算法的結(jié)合,既能夠發(fā)揮離線訓練對大規(guī)模數(shù)據(jù)的強大處理能力,又能夠發(fā)揮流式機器學習算法對實時模型的更新能力,做到流批同跑,完美解決模型時效性的問題。今天就以實時熱點新聞挖掘案例為例,為大家介紹PAI OnlineLearning的解決方案。
實驗流程
1.切換新版
進入PAI后,點擊“體驗新版”按鈕即可開啟試用(目前OnlineLearning只支持新版,且與舊版不兼容)可在模板中一鍵創(chuàng)建類似于本文介紹的案例,數(shù)據(jù)和流程都已經(jīng)內(nèi)置,開箱即用
模板打開,點擊運行后效果(模板目前為簡化版本)
2.實驗流程介紹
(注:PAI中離線計算組件用藍色標識,流式計算組件由綠色標識,流式組件相連將形成計算組,因為流式組件需要多個組件的運行停止狀態(tài)一致)
步驟1:離線模型訓練
本文使用的數(shù)據(jù)是3萬條來自UCI開放數(shù)據(jù)集提供的新聞文本數(shù)據(jù)。
地址:https://archive.ics.uci.edu/ml/datasets/Online+News+Popularity
數(shù)據(jù)組成:包含新聞的URL以及產(chǎn)生時間,另外還包含了58個特征以及1個目標值,目標值“share”是新聞的分享次數(shù),建模過程中將share字段利用sql組件處理成一個二分類問題,新聞share次數(shù)超過10000次為熱點新聞,小于10000次為非熱門新聞
特征的組成如下圖所示:
利用邏輯回歸模型訓練生成一個二分類模型,這個模型用來評估新聞是否會成為熱點新聞。
(注:目前PAI OnlineLearning只支持邏輯回歸算法)
步驟2:離線模型轉(zhuǎn)換成流式模型
通過“模型轉(zhuǎn)換”組件,可以將離線生成的邏輯回歸模型轉(zhuǎn)換成流式算法可讀取的流式模型。
步驟3:流式模型訓練
從步驟3開始就進入了流式算法組件的步驟,PAI平臺提供多種流式數(shù)據(jù)源,本案例以Datahub為例。
Datahub地址:https://datahub.console.aliyun.com/datahub
Datahub是一種流式數(shù)據(jù)對列,支持JAVA、PYTHON等多種語言采集方式,在具體使用過程中可以通過Datahub鏈接用戶實時產(chǎn)生的數(shù)據(jù)以及PAI的訓練服務(wù)。注意:Datahub輸入的數(shù)據(jù)流格式需要與離線訓練的數(shù)據(jù)流的字段完全一致,這樣才可以對離線的模型進行實時更新。
-
Ftrl訓練組件:左側(cè)輸入的是轉(zhuǎn)化為流式的離線模型,右側(cè)輸入是流式數(shù)據(jù)表
FTRL算法基本等同于流式的邏輯回歸算法,在使用過程中需要按照LR算法配置參數(shù),需要注意”模型保存時間間隔參數(shù)“的配置,這個參數(shù)決定了實時計算產(chǎn)生模型的時間周期。
新版PAI已經(jīng)內(nèi)置了大量流式算法組件:
-
PMML模型生成組件:將輸出的模型轉(zhuǎn)化成PMML格式
-
OSS文件導出:將模型導出到用戶自己的OSS中,可以自己設(shè)置名稱的前綴和后綴,生成模型可在OSS中查看,如下圖
步驟4:流式模型評估
流式模型評估指的是利用評估數(shù)據(jù)對Ftrl訓練生成的模型進行評估,輸出的評估指標也可以寫入OSS,評估指標與模型一一對應。每個模型和評估指標都有一個ID,如果ID一致,說明模型和評估指標是對應關(guān)系,如下圖:
評估指標是一個json格式文件,包含精確率、準確率、混淆矩陣等指標:
步驟5:流式預測結(jié)果實時導出
可以利用實時生成的模型做實時數(shù)據(jù)預測,實時的預測結(jié)果可以寫出到datahub中,如下圖:
同時如果輸入的預測數(shù)據(jù)集包含label,還可以添加分類評估組件,可以打開組關(guān)系中的最右邊按鈕:
打開實時的流式預測結(jié)果評估頁面:
3.模型使用介紹
通過以上步驟已經(jīng)產(chǎn)生了新聞熱點預測模型,生成的模型已經(jīng)存入OSS,可以直接在PAI-EAS在線預測服務(wù)引擎進行部署也可以下載下來在本地預測引擎使用。新聞數(shù)據(jù)進來后先要做特征工程(同”步驟1:離線模型訓練“中的特征處理方式),然后將特征工程處理結(jié)果輸入”熱點新聞挖掘服務(wù)“,將會返回新聞是否是熱點新聞。
總結(jié)
通過本文的案例,實現(xiàn)了將離線歷史數(shù)據(jù)生成LR模型推送到實時訓練環(huán)境,再利用實時生成的數(shù)據(jù)對模型進行更新,?這種實時訓練的架構(gòu)可以完美解決實時熱點新聞對于新聞推薦模型的影響問題。歡迎大家試用并給出建議。
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Online Learning场景下实时新闻热点机器学习训练实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐系统之信息茧房问题
- 下一篇: 把广告投给你要几步,一文带你了解广告业务