我們分析了Booking的150個成功的機器學習模型,總結出六條寶貴經驗

Booking.com是全球範圍內最大的在線旅行代理,數百萬的客人在這裏尋找旅行住處,數百萬的住宿供應商在這裏提供他們的酒店、公寓、賓館等等。過去幾年,Booking.com一直使用機器學習來改善客戶體驗和公司業務。目前,大多數機器學習的學術研究都集中算法或數學方面,但在商業利益至上的工業環境中,關於機器學習如何對企業產生有意義的影響的研究並不多。Booking.com近日在KDD 2019發表了一篇論文“150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com”,對Booking.com內部數十個團隊開發的150個面向客戶的機器學習應用進行了分析,並總結了團隊發現的挑戰、解決挑戰的方法、在這一過程中獲得的經驗教訓和一些通用建議。本文是AI前線第97篇論文導讀,我們將從與大家分享Booking.com在應用機器學習模型的過程中總結出的寶貴經驗。

Booking.com的這篇論文是關於機器學習對商業產品的影響的首個大規模研究,覆蓋了機器學習項目所有階段的經驗教訓,併爲解決每個項目階段的挑戰總結了一系列技巧。

儘管論文標題提到了六個經驗教訓,論文主體卻沒有明確地列出來,我們通過論文結構總結出了以下幾項:

  • 引入機器學習模型的項目帶來了強大的業務價值

  • 模型性能與業務性能並不同

  • 清楚你要解決的問題

  • 預測服務延遲問題

  • 獲得模型質量的早期反饋

  • 使用隨機對照試驗測試模型的業務影響

我們發現帶來真正的業務影響是非常困難的,而且很難把建模工作和業務影響之間的聯繫進行分離並理解……我們的主要結論是,與其他一個迭代的、假設驅動的過程,與其他學科相結合,是構建150個成功的機器學習產品的基礎。

這段話並不是說投資機器學習不值得,相反,一個公司在面向用戶的環境中設計、構建和部署成功的機器學習模型的能力,是其競爭力的基礎,與DevOps報告中提到的高績效公司的所有其他能力一樣重要。

背景介紹

Booking.com平臺包含多個跨學科團隊研製的不同產品,有大型新應用Booking Assistant,也有搜索結果的網絡頁面。各個團隊有各自的目標,使用不同的業務標準來量化產品交付的價值、測試假設——學習過程的核心。Booking.com平臺面臨以下幾個獨特的挑戰:

高風險:在旅遊住宿推薦中,錯誤推薦的代價較高。如果客戶到達住宿地點,卻發現酒店不符合期望,客戶會對平臺產生失望,甚至不再使用該平臺。

無限查詢:用戶在搜索住宿時,一般僅僅給出目的地信息。在這種幾乎爲零查詢的情況下,爲客戶提供滿意的預訂和住宿體驗是Booking.com平臺的主要挑戰之一。

複雜條目:預訂住宿需要用戶決定諸如目的地、日期、住宿類型、房間數量、房間類型、退款政策等多個方面的信息。並非所有可能的組合都存在,所以需要平臺引導用戶才能找到最佳組合。

供應受限:住宿信息是有限且動態變化的。它與價格的互動直接影響到客人的偏好和住宿供應商的行爲。在設計預訂體驗時,這一方面不容忽視。

持續冷啓動:大多數用戶每年只旅行一兩次,所以當他們回到網站時,他們的偏好可能已經發生了顯著的變化;此外,新的住宿和新的住宿類型每天都在增加,它們缺乏評論和介紹內容,很難讓用戶注意到它們。

內容超載:住宿有非常豐富的內容,例如描述、圖片、評論和評分。目的地本身也有豐富的內容,包括遊客創作的圖片,免費的文字評論,遊客的評價和指南。如何向用戶展示這些豐富的內容,成功地利用這些內容是平臺的另一個關鍵挑戰。

在過去的幾年中,Booking.com應用機器學習技術來解決這些問題和其他問題。但是帶來真正的業務影響是非常困難的,而且很難分離和理解建模工作和觀察到的影響之間的聯繫。在這項工作中,研究人員分析了150個成功的機器學習模型,總結了在這一過程中獲得的經驗和教訓。

經驗教訓總結

作者將目前部署在平臺的模型按照它們對消費者的影響方式分爲不同族。現在大約有150種模型已經在Booking得到應用,機器學習已經影響了Booking.com用戶體驗的許多方面。一些模型很特別,關注特定場景中的特定用例(例如,針對信息中的某一個點定製的推薦),其他模型充當語義層,對多數情況中常用的概念進行建模。例如,一個預測用戶對於目的地的靈活性的模型。

booking.com上部署的模型可以分爲六大類:

旅行者偏好模型:該類模型作爲語義層,對用戶偏好(例如,靈活性程度)做出廣泛的預測。

旅行者場景模型:也是語義模型,用於預測旅行發生的場景(例如,與家人、朋友、商務等)。

項目空間導航模型:跟蹤用戶瀏覽的內容,根據用戶的歷史記錄和住宿供應的庫存進行推薦。

用戶界面優化模型:優化了用戶界面元素,如背景圖像、字體大小、按鈕等。 “我們發現很難有一個特定的值是全局最優的,所以我們的模型考慮了場景和用戶信息來決定最佳的用戶界面。”

內容管理模型:管理人工生成的內容,如評論,以決定要顯示哪些內容

內容增強模型:計算有關旅行元素的附加信息,例如哪些選項當前價值很高,或者某個地區的價格的變化趨勢如何。

圖1:機器學習應用示例

經驗1:引入機器學習模型的項目將帶來巨大的商業價值

所有這一系列的模型族都爲Booking.com帶來了商業價值。此外,與已經部署但沒有使用機器學習的其他成功項目相比,基於機器學習的項目往往會帶來更高的回報。

圖2:模型族業務影響與中位數的相對值

模型部署之後,並不是直接帶來商業利益,而是往往成爲進一步產品開發的基礎。下圖顯示了一系列部署的影響,每個部署都建立在原來的基礎上,並進一步提升了業務結果。

圖3:在推薦產品的一系列實驗結果。每個實驗都測試了一個新版產品。條形長度代表新版產品與第一版產品的影響的相對值。

經驗2:模型性能表現並不等同於商業價值

量化模型質量的一種常用方法是估計或預測模型在處理未見數據時的性能。Booking.com主要關注模型給客戶和業務帶來的價值。平臺通過隨機對照試驗(RCT)來衡量模型對業務指標(如轉換率、客戶服務票證或取消率)的影響,從而評估模型交付的價值。

一個有趣的發現是,提高模型的性能並不一定會轉化爲[業務]價值的增益。

圖4:業務指標中的相對差異VS基線模型和新模型之間的相對性能差異。

出現這一情況的原因有很多:

  • 價值性能飽和:在某些時候價值-模型增益曲線會飽和,不能無限的從模型性能增益中得到業務價值。

  • 分割飽和:當測試新模型時,需要用與模型不匹配的用戶數據,隨着模型性能的提升,實驗組的人越來越少,新舊模型基本一致,也就無法提升業務價值。

  • 恐怖谷效應:隨着模型越來越好,它對用戶也越來越瞭解,甚至能預測出用戶將要做的事情。這讓某些用戶覺得很不安,反而對業務價值帶來了負面影響。

  • 代理指標過度優化:隨着模型優化,某些常用的替代指標(如點擊率)已經無法轉換爲所需的業務指標,而模型依然針對該目標進行優化,則對業務指標沒有任何助益。

圖5:恐怖谷:人們對正確推薦沒有正面反響。

經驗3:明確你要解決的問題

在開始構建模型之前,最好花時間仔細地定義你試圖解決的問題。

問題構建過程將一個業務案例或概念作爲輸入,然後得到一個定義良好的建模問題(通常是一個有監督的機器學習問題),這樣得到的好的解決方案能有效地對給定的業務案例或概念進行建模。

一些最強大的改進不是在給定的設置中改進模型,而是更改設置本身。例如,將基於click數據的用戶偏好模型更改爲基於客人評論的自然語言處理問題。

總的來說,我們發現,通常最好的問題並不是立即浮現在腦海中的問題,而且改變設置是釋放價值的一個非常有效的方法。

經驗4:預測服務延遲很重要

在信息檢索和推薦系統中,高延遲會對用戶行爲產生負面影響。在一個引入合成延遲的實驗中,Booking.com發現延遲每增加30%,將損失0.5%的轉換率。

圖6:延遲對轉換率的影響
 

圖中橫座標爲實驗組和對照組的觀測延遲,縱座標爲轉換率的相對差異。

這一項與機器學習模型尤其相關,因爲它們在進行預測時需要大量的計算資源。即使是簡單的模型也有可能引入相關的延遲。

爲了減少模型帶來的延遲,Booking.com採用了以下幾個技術:水平擴展分佈模型副本、確保能儘可能響應多個請求、內部開發的自定義的線性預測引擎、使用參數較少的模型、批處理,以及預計算和緩存。

經驗5:儘早獲得關於模型質量的反饋

當模型響應請求時,監視其輸出的質量是至關重要的,但這至少帶來了兩個挑戰:

  • 不完整的反饋:由於觀察真實標籤較難,所以反饋往往不完整。

  • 延遲的反饋:例如在預訂時對用戶是否會評論進行預測,在行程完成之前無法進行評估。

一種策略:Booking.com已經成功地在這種情況下部署二進制分類器,用來查看由模型生成的響應的分佈。“具有一個清晰穩定點的平滑雙峯分佈標誌着模型能成功區分兩個類”其他形狀(見下圖)可以表示正在掙扎的模型。

圖7:響應分佈示意圖
 

…響應分佈分析已被證明是一個非常有用的工具,它允許我們很早地檢測模型中的缺陷。

經驗6:通過隨機對照試驗測試模型對業務的影響

這篇論文所研究的機器學習的大多數成功案例都是通過複雜的實驗設計實現的,這些實驗設計既可以指導開發過程,還可以檢測其影響。

這篇論文就如何在不同環境下進行實驗提出了建議:

選擇性觸發:在標準的隨機對照試驗中,被試者分爲對照組和實驗組,實驗組中的個體要接受對照組所沒有的某種特殊待遇。當並非所有測試者都能產生變化時(例如,他們沒有模型所需要的特徵),則從合格的子集中創建對照組和實驗組。

圖8:選擇性觸發的實驗設計

模型輸出依賴觸發:添加一個實驗組,對照組依然不進行特殊處理,兩個實驗組T1和T2都調用模型,並檢查出發標準,但是隻有T1的用戶在符合觸發標準時(模型輸出對其有影響)進行變化,而T2的用戶無論模型如何輸出,都不進行變化。

圖9:模型輸出依賴觸發和控制對性能影響的實驗設計

對比模型:當比較模型時,當兩個模型不一致爲觸發條件,即T1和T2都需要模型輸出。將調用當前模型的控制組作爲基線(假設正在針對候選改進測試當前模型),T1和T2調用相同的模型,移除由模型表現引起的差異,分離出目標度量上模型輸出之間差異的因果影響。

圖10:對比模型實驗設計

結語

假設驅動的迭代和跨學科整合是Booking.com用機器學習創造價值的核心。希望這項工作能爲其他機器學習實踐者提供指導,並對這一主題進行深入研究。

論文原文:

150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com

參考文章:

https://blog.acolyer.org/2019/10/07/150-successful-machine-learning-models/

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