每一項ML系統,都是因一個商業問題而存在,這正是Line購物大力擁抱AI的目標,他們最關鍵的商業問題是提升銷售額,而機器學習團隊的任務,就是想辦法用ML來提高銷售額。
不過,從商業問題出發,到落地成為一支AI應用,Line開發團隊有一套自己的方法論,這是一套涵蓋了整個機器學習(ML)生命周期的開發流程,從定義問題、將問題轉為ML問題、建模、執行AB測試、評估和決策等環節。
用ML方法解決商業問題
Line機器學習工程師黃昱睿指出,團隊接到商業需求時,先從定義問題開始,以提升銷售額的需求為例,考量了設計新產品、推行折價券和提高用戶體驗等3種實現策略,最終選擇ML可行性最高的第三種。
那麼,如何利用ML方法,來兼顧獲利(即訂單成交量)與用戶體驗,開發團隊從Line購物使用者旅程找切入點。由於Line購物屬於導購平臺,專門提供商品、文章等頁面,來導引顧客到商品店家平臺,同時在過程中提供點數優惠或回饋,因此用戶購物旅程會經歷:頁面瀏覽、點擊有興趣的商品/商店/文章、頁面跳轉至商家商品、最終下單。
在這段旅程中,Line鎖定下單前的「點擊有興趣商品」,作為ML問題切入點。也就是說,Line要預測使用者有興趣的商品,並在對的時間推薦給他們,來提高點擊率。
為進一步將這個概念轉換為可行的ML方法,Line團隊先進行2個資料面分析。首先是推薦時間點,若鎖定使用者操作「當下」想購買的商品,就得依據使用者過去購買的資料來訓練模型,好讓模型預測有興趣的商品。但這類資料量少,會造成模型過度學習,進而影響推薦效果和使用者體驗。
另一個考量是,模型要根據點擊次數來推薦商品,還是用戶「會點擊」的商品來推薦?也就是說,這個推薦模型該採用回歸模型,還是分類模型。
「我們最後選擇分類模型,」黃昱睿解釋,電商場景中,通常有群重度使用者,他們的熱門商品點擊率和消費額遠大於一般用戶,因此以點擊次數來推薦商品,就會過於偏頗。
於是,團隊將ML問題調整為「使用者未來幾天會點擊的商品」,不只能解決因資料稀疏、模型過度學習的問題,還能提前秀出使用者想要的商品,優化使用者體驗。
這就是Line團隊將商業問題,轉換為ML問題的過程。
建模靠5步驟,完成還得不斷迭代
有了ML問題,接下來就是建模。建模一般有5個步驟,包括特徵工程、整合模型資料、模型訓練、模型推論,以及離線評估。
在特徵工程階段,Line認為,頁面瀏覽、點擊和下單這類使用者行為,是決定點擊購買商品的關鍵。但光有這些特徵還不夠,還得與其他特徵做交叉群組計算,比如,年齡30歲至40歲點擊網站的次數,交叉比對年齡30歲至40歲且是男性、點擊該網站的次數,又或是再交叉比對其他屬性。
多了這些資訊,就能協助團隊更準確觀察,使用者在特定時間是否會點擊該商品。尤其,黃昱睿點出,這種交叉計算資訊,可以補足同一個特徵未必持續有效的缺陷。完成特徵工程後,就可以進行模型資料的整合,準備進入訓練模型的階段。
不同模型的訓練方式各有不同,但黃昱睿點出,模型訓練有2個常見要點,包括各項指標需與基準相比,以及比較多組模型成效。其中,這個基準可以是人工方法,也可以是傳統統計方法,ML工程師得觀察採用模型後,指標表現是否逐步提升。
在推論部分,因Line購物推薦模型,主要比對使用者嵌入向量和商品嵌入向量的相關性來推薦,進行推論時得同時考慮向量大小和推論時間。
「向量小、維度低,資料量少,推論速度快,」黃昱睿解釋,向量大則相反,因此如何拿捏向量大小與推論時間,得看應用場景和準確度等其他資料來決定。
最後則是離線評估,就像是模型的「模擬考」,來確認模型學習成效,以及是否太貼近訓練資料、難以因應新資訊等問題。
這就是Line購物推薦模型的建模5步驟。不過,一套模型得要多次執行這些步驟、不斷迭代,才能達到真正可用程度。因此黃昱睿表示,善用YAML配置檔輔助,可加速這個過程,節省工程師手動設置時間。
AB測試有4要點
接下來就是AB測試環節。在這個階段,Line團隊會將模型新作法和舊作法分為實驗組和對照組,來處理使用者或瀏覽記錄資訊,比較兩種作法的推薦成效。
黃昱睿提醒有4個AB測試的基本概念,包括使用者要均勻分布,如隨機分組就是一種方法。再來,在同個實驗中,使用者組別要固定,比如在一段時間內,登入網站的同一位使用者,都要固定在A組。
第三,若同個實驗中,實驗比率增加,如實驗範圍從10%擴大至20%時,實驗組的成員不變,即不能重新分組。最後,由於推薦系統屬於線上應用場景,因此測試時,要確保API也能高效率執行。
每次AB測試時,Line還會為每次輸入的瀏覽記錄,貼上一個標籤(Tag),儲存至資料庫後,可進行後續分析。同理,他們也會在每次的瀏覽記錄中,加入一些資訊,比如這次實驗的唯一代碼,方便後續做不同實驗的比較。
評估帶來的ML省思
有了實驗組和對照組後,就進入黃昱睿認為ML生命周期中「最重要的」階段:評估。在這個階段,Line關注的評估指標有ML指標和商業指標,如ML的精確度、平均排名倒數,或是商業的點擊率、轉化率、交易轉量等,不只能讓非技術的高層主管理解ML效益,也能衡量ML是否解決了商業問題。
黃昱睿接著說明,要是評估發現ML指標表現亮眼,但商業指標沒有起色,這可能意味著,「原本定義的ML問題,沒有打中要害。」
他以自己多年前的一項Email行銷專案為例,他與團隊打造一套ML模型,來預測使用者是否點擊Email內容。
當時評估發現,模型預測精確度很高,但購買率還是很低。這是因為,當初團隊開發模型,只考量使用者是否點擊,並未納入後續的購買、成交等消費行為,這時就得回過頭去定義問題。
不只如此,黃昱睿在後來一次次的評估中,觀察到推薦模型的特徵相關性,與原本想像的特徵,有很大的不同。
Line購物推薦模型是用來預測使用者會點擊的商品,照常理來說,點擊行為應該是推薦成功與否,最相關的特徵。但他後來發現,並非如此,因為點擊並不是使用者完全主動的行為,而是網站先呈現內容,使用者才能點擊。「主動搜尋,才是相關性最高的特徵。」他坦言。也因此,Line後來強化購物推薦模型時,打算納入更多與搜尋相關的特徵。
黃昱睿建議,開發者在建置推薦模型前,可先分析主動事件和被動事件,再找尋相關特徵,如此打造的推薦模型,效果會更好。
上線後需監控ML效能與商業指標
推薦模型經評估可行、正式部署上線後,Line團隊還有套監控機制,時時把關模型效能。
監控指標不只有特徵、ML效能指標,還要有商業指標,比如訂單量、點擊率,才能找出問題和改進方法。比如,使用者每天的商品點擊率遞減,團隊可從該商業指標發現問題,順藤摸瓜找出推薦模型效能逐步下降原因,介入調整。
黃昱睿點出,理想的推薦系統生命周期,應該由ML工程師和產品負責人一起合作維護。「有時候推薦效果不好,不只是推薦的原因,」他舉例,曾經做過流失分析,就算對流失使用者發送優惠券,使用者仍不買單。這時,就需要ML工程師與產品負責人共同討論,比如重新設計或重新建模,來提高推薦成功率。
「最理想的狀況是,工程師、產品負責人,甚至是企業中更多組織加入這整個ML生命周期,就能做出更完整的產品或服務,」他總結。
熱門新聞
2024-12-19
2024-11-29
2024-12-16
2024-11-20
2024-11-15
2024-11-15