終於到鐵人賽的最後一天了,今天我們不談技術,來談談當在實作推薦系統時,有什麼「非技術問題」要注意!
什麼是業務目標呢?就是當初需要這個系統的動機。
也許有人會覺得,就是照著推薦演算法做出來,挑對商品讓使用者選就好了,這和業務目標有什麼關係?就算有關係,好像和工程師也沒關係!
舉個例子,Youtube 和 Netfix 都是提供影片服務,但他們的業務目標一樣嗎?觀察他們的商業模式,你就會知道是不一樣的。
Youtube 的商業模式是賣廣告,所以它的推薦系統不能只選擇使用者會看的影片,還要注意到這影片能放廣告嗎?所以Youtube主力在推的影片,都不會是太短的影片,這樣他才好安插廣告。
Netflix 收的是月費,所以他的目的就是要能讓使用者願意再花錢續訂,所以他就只要考慮哪些影片使用者會喜歡就好,和 Youtube 推薦的方式就會不一樣。
雖然推薦系統裡有一堆酷炫的推薦演算法,但一開始系統沒有流量、沒有數據,根本沒有資料可以做訓練。
所以冷啟動是一定要做好的事,冷啟動沒做好,無法提供價值給客戶,後面就算有再多再好的演算法也用不到。
這時如果可以,就需要多採訪業界有經驗的專家,從他們身上了解到使用者會在意哪些事,讓在冷啟動階段,使用者也覺得系統是有幫助的。像這些,也不完全是技術問題,但對系統的成功非常的重要。
推薦系統要成功,一定要站在使用者的角度想事情,這樣才能取得比改善演算法更大的進展。
強如 Netflix 若要只是在演算法的調整,使 CTR 可以增加 10 % ,也是很困難的事。
但有一次,他們發現影片的預覽圖片居然會影響 CTR 。他們發現,如果有人喜歡的明星在預覽圖上,則影片的 CTR 就會增加。
這個發現很重要,因為這表示他們只要在預覽圖上下功夫就好了。因此他們為每部影片製作不同的預覽圖,在使用者瀏覽時,系統選出他最有可能點擊的圖給他,這樣就可以簡單讓 CTR 上升。
這樣簡單的調整,竟讓 CTR 上升超過 10%,比起去調整模型,這是 CP 值相當高的一個做法。
有沒有發現,這樣的成果不是靠技術達到的,而是透過了解使用者習慣最後達到的,這也是個技術以外但影響成果的例子。
如同開頭的那句話:「打造系統不是問題,打造有人用的系統才是問題!」,很多時候系統要成功,只靠技術並不夠,還需要些非技術的事情配合,以上是我覺得重要的三件事和大家分享。