威朋每日需處理42億次廣告請求,每一次的廣告推薦都要在0.1秒內完成,為求精準又須考慮使用者的屬性以及行為等諸多要素,成了一大難題,解決問題的關鍵就是機器學習 該推薦什麼廣告給下午3點正在使用手機的上班族呢?當這位上班族打開App或是瀏覽網頁含有廣告板位時,威朋便會接到廣告請求,在綜合使用者、廣告主以及內部的資料後,決定出多少價錢以標下這個板位,並投放什麼樣的廣告給這位上班族。威朋在亞洲覆蓋4.5億不重複使用者,每日需處理42億次廣告請求,每一次的廣告推薦都要在0.1秒內完成,除了快還要準,關鍵就是機器學習!
行動廣告即時競價(RTB,Real-Time Bidding)的生態系中有非常多的角色,各自負責不一樣的工作,雖然臺灣即時競價的生態系較為單純,但是要能讓行動裝置使用者看到廣告,過程也是需要有不同的角色互相支援。行動裝置使用者所看到的廣告,其板位由廣告供應方平臺(SSP,Supply Side Platform)擁有,廣告供應方平臺會傳送廣告流量請求給像是威朋的廣告需求方平臺(DSP,Demand Side Platform),並由各廣告需求方平臺出價標下該板位,取得廣告主廣告曝光的機會。
對於威朋來說,最理想的情況是用最低的價格競標到廣告板位,推送使用者最想看的廣告,並把使用者的點擊轉換(Conversion)成App下載或是資料填寫等,以達到廣告主期待的目標。廣告推薦是由許多複雜小問題組成的複雜大問題,除了需要知道廣告受眾的屬性與所處情境外,還包括什麼廣告是當下使用者最想看到的,或是這個板位究竟出價多少錢才划算,整個過程有許多需要權衡的環節。
這些問題必須借助資料科學之力來解決,威朋組織了約10位工程師投入機器學習的研究以及開發。威朋研究開發部軟體工程師廖耘說,訓練 機器學習模型的資料來自廣告板位以及廣告主。當使用者透過App或是瀏覽網頁看到廣告板位,廣告板位便會發送廣告流量請求給威朋,這項請求包含了廣告供應方平臺與廣告需求方平臺資訊交換的協定,其中資訊包含板位大小、裝置型號、裝置ID、位置以及使用者個人資訊等,而在廣告主的資料方面,包含廣告的內容、標籤、風格與類別等資料。
威朋根據這些資料,以事先訓練好的模型預測出廣告板位價格以及內容並回傳,廣告供應方平臺則利用廣告需求方平臺提供的資訊做最後廣告板位顯示的決定,廖耘表示,機器學習在預測的步驟很快,而且因為他們必須在收到請求的50毫秒內給出回應,因此也不會做太複雜的運算。
用非監督式機器學習找出廣告受眾族群 機器學習分為非監督式與監督式,威朋研究開發部數據工程師陳嘉宏表示,兩者威朋都有使用。利用非監督式機器學習善於分群的特性,將從廣告供應平臺收集來的歷史紀錄做群體分析,根據樣本的多項特徵與屬性,找出這些樣本中存在的7種類型,並由人解讀後分別命名為白領商務族、熟齡樂活族、小資樂購族、完美時尚族、活力校園族、美麗媽媽族以及娛樂玩咖族。而且不只要對廣告受眾屬性分析,還要能夠猜出廣告受眾正在做什麼,藉由分析這些收集到數億筆的歷史資料,找出是哪些人正在做哪些事,建立出完整的情境(Scenario)用於投放廣告的決策。
威朋主要將監督式的機器學習用於即時的廣告決策。陳嘉宏認為,機器學習最困難的部分就在於樣本資料的彙整。一筆樣本廣告推薦系統的訓練樣本是一個數十個欄位的數學向量,其中包含來自廣告供應方平臺、廣告主以及威朋內部分析的情境資料,再以廣告受眾是否點擊廣告作為標籤,標記樣本廣告被點擊的情況。
而困難之處,陳嘉宏說,除了要先使用特別的演算法計算收集來的資料,找出與點擊率相關的屬性,才能擺進樣本中之外,還要處理許多空值資料以及假資料。
廖耘也表示,他們所處理的資料是不停流動的,新的資料會不斷進來而舊的資料會被排除,為了訓練出最適合當下的模型,需要不停更新訓練模型的樣本,但偶而會因為特殊的社會事件而收集到偏頗的樣本,這時候也要將這些極端值資料移除,以避免影響模型預測的精準度。
現在威朋廣告推薦的機器學習演算法使用的是Mutual Information,用以計算樣本中每一個特徵與標籤間的相關性。當待預測的資料進來時,跟模型比對每一個屬性的加權分數,以線性轉換的方式綜合所有特徵的計算出一個價錢,而這個價錢就是當下威朋想要用以競標該次廣告板位的價格。
廖耘說,無法一開始就算出一個最好的模型,但是隨著樣本資料的更新,訓練出來的模型將是最適合當下的。預測模型會因為應用的不同而採用不一樣的更新策略,而威朋其中一種更新策略是,新累積固定筆數的資料後,就拿一段時間的資料重新訓練模型,例如每新增500筆資料,就取近2天的資料重新訓練預測模型。
為機器學習量身打造大量資料處理引擎 威朋用8臺伺服器組成的運算叢集來計算出這些機器學習的模型,同時訓練多個應用在不同國家以及活動的模型。
閱讀全文
沒有留言:
張貼留言