繼上一次發原創到現在已經有相當一段時間了,剛進入新公司不久,主要在熟悉業務和整理規划,加上目前負責搜索和推薦兩塊業務,較之前稍微忙些,所以屬於比較低產的狀態,當然馬雲大大說了:“優秀的人大多都是從自己身上找問題”,為了趕上優秀人群的腳步,我也好好反省自己,重要的事情心中默念三遍:是我太懶了!是我太懶了!是我太懶了!
好了,言歸正傳~
今天主要跟大家聊聊推薦系統,可能有部分同學不是很了解推薦系統到底是如何推薦的,不用擔心,先給大家介紹幾個推薦系統的應用場景
(1)購物類app:首頁底部“為您推薦/猜您喜歡”
場景:用戶打開首頁瀏覽時,用戶在沒有具體目的逛(有具體目的一般通過搜索分發了),這時給用戶進行推薦,用戶在逛的過程中發現和自己興趣可能相關的物品,可以直接進行查看;從展示層面來看,推薦的是商品,用戶看到喜歡的商品可以直接點擊進入到詳情頁,極大縮短用戶購買路徑(相對於賣場入口來說)
京東首頁推薦feed流
天貓首頁推薦feed流
(2)購物類app:購物車底部“為您推薦/猜您喜歡”
場景:用戶進入到購物車后,准備下單或只是查看購物車(先看到想買的先收入到購物車,然后最后結賬之間的這段時間中會偶爾進來看看),這時底部的推薦則是推薦和購物車里商品相關的商品或者用戶有較大可能購買的商品
此處敲黑板(重點):
首頁的推薦和購物車里的推薦商品看似形式一樣,但是這兩處的場景細分后會發現很不一樣
-
首頁需要對用戶行為進行更大范圍的推薦,用戶在首頁的目的可能是多種多樣,所以用戶的瀏覽、收藏、搜索查看等都可以作為用戶的行為特征,進而進行推薦
-
購物車頁,用戶在查看時,目的會更清晰些,帶有下單或者查看購物車物品等目的,這時推薦如果范圍過粗則可能增加用戶的瀏覽成本,效率過低,故這里可以針對一些用戶類似購買或下單的行為進行推薦,如購買、復購次數高(當然復購是有些條件和細分,這個在以后的文章再進行詳細描述),同時也可以從另一個角度進行推薦,如和購物車相關的商品
京東購物車推薦feed流
天貓購物車推薦feed流
(3)內容類app:知乎首頁推薦
場景:用戶在首頁瀏覽內容,需要更符合用戶興趣點的內容,減少無關內容的曝光
知乎app首頁默認打開現實“推薦”,而不是“關注”等其他tab,說明從平台角度來說,認為推薦要比關注等其他tab更加重要,那么如何衡量重要這個角度呢,可能有以下幾點:
-
觸達:平台可以在“推薦”中非常自然的發表平台想讓用戶看到的內容(如圖中第一條內容(沒有特別明顯特征):《2018,年度盤點》),而其他tab中平台觸達則不是這么自然
-
自信:平台有自信,相信推薦的內容要比用戶關注的內容更符合用戶的興趣點,“關注”下的內容不像“推薦”下具有多重維度的商品召回、篩選、過濾以及排序,而“推薦”下的內容則是基於對用戶數據的分析,做到比你更懂你
-
多樣:推薦的角度更加多樣,在保證內容相關性的基礎上,可以做到更加多樣,更加新穎
知乎首頁推薦feed流
(4)內容類app:推薦關注人
場景:人類是具有社會社交屬性的生物,人類之間的彼此的關聯關系是社會中最重要的關系之一,你關注的一個話題或者內容,和你關注同一個話題或內容的人和有可能和你最近關注的領域具有一定的重合,或者你朋友認識的人很有可能是你認識的人等等
知乎“發現知友”
基於我關注的人的關注進行推薦
QQ“新好友”
基於我好友的好友進行推薦
(5)視頻類app:抖音推薦
場景:用戶打開應用戶,直接看到推薦內容,同時提供非常簡單的操作,降低用戶對視頻反饋成本,同時降低用戶注意力分散,讓用戶打開后不用選擇,直接看到內容,提升沉浸式體驗,這里推薦也從多個角度進行推薦,地理位置(可能通過地理標簽形式實現,如喜歡過的一個視頻具有典型的地區特征,那么會推送和該地區相關的其他內容),興趣點(如點贊,分享等),熱點內容(火爆)等等
抖音首頁推薦視頻feed流
說完了場景,是不是感覺到其實我們和推薦系統並不遙遠,甚至天天接觸,那么我們再來講講推薦引擎的架構,來看看推薦系統是如何給用戶進行推薦的(如下圖)
推薦引擎架構圖
推薦引擎構成主要由四部分構成(書上是三部分,自己擴充了一些),如圖所示(左側為召回&打分,右側為排序&Rerank):
-
召回:從所有物品集中選擇出符合要求的物品集,明確物品界限
-
打分:對召回的物品集從各角度(多維度)進行評判打分,多維度賦予不同的權重,給物品打上不同的分數
-
排序:對打分了的物品進行排序,根據分數高低進行排序,輸出初始的推薦結果
-
Rerank:根據用戶的反饋(如收藏、喜歡等)以及物品的屬性(如新品等)對物品再進行一輪分數加成,最后得到新的得分,根據新的得分進行排序,輸出最終的推薦結果
圖中對應了四部分(ABCD)
A:用戶特征提取
對用戶行為進行分析提取,選取用戶行為中最能代表用戶意圖的行為,搭建特征工程,用戶的特征不是一塵不變的,需要定期更新和維護,用戶行為具有
(1)行為重復性(如多次購買,多次分享等)
(2)時間遞減性(近期瀏覽比早期瀏覽更能代表用戶近期關注點)
(3)行為程度性(購買比瀏覽要更重要)
(4)行為多樣性(用戶行為非常多,如何選擇是決定推薦效果的關鍵因素)
B:特征-物品關聯構造
用戶對應的特征提取后,形成特征向量,接下來就是構造特征相關的物品列表
用戶對應的不同行為,產生了一系列行為物品集(一個行為對應的物品,如瀏覽這個行為,對應的物品集就是瀏覽了哪些商品),這就是相關表
圖中的“候選物品集”即一開始確定的物品邊界(如推薦商品必須是可購買的,不能是下架或者無貨狀態的)
在候選物品集基礎上,結合用戶特征向量和相關表數據,確定好特征物品-相關推薦物品集,同時給物品按照特征對物品影響的重要程度來對物品打分
C:排序
針對打分好的物品按照得分高低進行排序,得到初始的推薦結果
D:Rerank
根據用戶對物品的反饋(如收藏、喜歡、不感興趣、退貨等)和物品的屬性(物品所在地區、物品上線時間、是否是耐用品等)給初始的推薦結果進行再一輪的分數加成(如用戶評價五星的商品,給該物品的分數提權加分),最后得到最新得分結果,按照得分高低,得到最終的推薦結果
隨着用戶需求更加多樣化,更加個性化,傳統推薦(千人一面/千人十面)逐步轉型成個性化推薦(千人千面),憑借對數據的分析,用戶行為特征提取,特征-物品的關聯,再根據用戶反饋等來確定最后的推薦結果