昨天提到冷啟動問題,以及 3 種不同冷啟動對策,而今天我們再來討論其它的冷啟動對策。
也許我們不是完全沒數據,但要如何用少量資訊做個性化推薦呢?以下是常見方式:
新使用者出現,雖然系統不認識他,但也不是完全沒有和他相關的數據。起碼IP位置、GPS位置如能夠得到的就先蒐集起來。
時間也是重要資訊。同樣是影片內容網站,上班時間來的人和下班時間來的人,動機不同,要推薦的內容也會不同。
如果使用者註冊,那我們還可以取得如手機號、性別、年齡等資料。如果系統提供社交帳號登入,一些基本資料都是基本可以要求取得的。
通常在註冊後,還可以再要求使用者設定自己感興趣的類別,若使用者有輸入,起碼系統有個推薦起點可以用。
如果系統是要他的朋友推薦才能加入的,那就更好了,我們可以假設物以類聚,以他朋友的喜好當成是推薦基礎,再以 UserCF 等演算法對他做推薦。這樣的社交推薦有個好處,在推薦時加上一些解釋,例如:你的朋友XXX也喜歡這個,使用者比較不會反感推薦的目標物。
只要手上有些數據在,有時也可以配合第三方的 DMP (Data Management Platform),用別人準備好的資料,擴充我們對目前使用者的了解,也是個辦法。
有了以上這些資料,再請匯集專家意見,即可針對不同性別、年齡等有限訊息,做出一個粗顆粒度的個性化推薦清單。
就是用別的地方的已有的資料,接到我們這裡來用,這樣冷啟動的問題就可以迎刃而解。
如果公司還有其它的已有的服務,那就看是否可以把這些流量試著導到新服務上。這樣雖然對新服務來說,人是新的使用者,但在其它服務上,有些歷史數據,人物誌(persona)等可以參考。如此,對推薦要用的資料就不必是自己服務產生,而是從其它服務裡得到。
有時是因為服務是全新的,還不知道這樣的客戶的特徵,要應對推薦什麼物品。這時若推薦的演算法使用的是深度學習的演算法,可試著借用遷移學習的技巧,取得使用者在其它服務裡的特徵 embedding ,再接到新服務來,這樣可以加速模型的學習速度。
今天我們再說明了 2 個策略,明天我們來說明其它有趣的策略。