每當(dāng)逛淘寶,京東的時候,線上AI機器人人就會自動保留你瀏覽的頁面,推薦相似的產(chǎn)品給你,增加人們的購買力,這個推薦系統(tǒng)在線上新零售中扮演的是什么角色呢?
當(dāng)人們討論信息價值的時候,討論的不光是量和傳播速度,還有信息共享的范圍,這一點其實和推薦系統(tǒng)中協(xié)同過濾有著密切關(guān)系,即通過共享其他人或者物品的信息進行推薦,共的范圍對信息價值所產(chǎn)生的影響最大。
推薦系統(tǒng)
推薦系統(tǒng)其實就是給用戶推薦物品或者預(yù)測喜好,當(dāng)然還包括其他各方面的東西。上圖展示了各種推薦的場景,主要由用戶和產(chǎn)品兩部分組成,這種圖模型也是推薦系統(tǒng)的一種解決方案,比如圖中兩個物品的相識度就可以使用圖計算的方法進行量化的解釋。
國內(nèi)在推薦系統(tǒng)方面主要想做的是千人千面,通過千人千面來實現(xiàn)增加點擊,發(fā)掘長尾的目標(biāo)。
目前推薦系統(tǒng)常見的使用場景有電商、社交、影音、資訊這四個平臺。
常見的推薦算法有基于內(nèi)容、系統(tǒng)過濾、關(guān)聯(lián)規(guī)則、基于效用以及基于知識這幾個。其中最主要的還是協(xié)同過濾,它又被分為兩類:一類是基于用戶,主要在資訊平臺;一類是居于物品,這類很明顯是電商平臺。
基于用戶的算法計算的是用戶相似度,需要維護用戶信息矩陣,更社會化,而基于物品的算法計算的是物品相似度,需要維護物品信息舉證,更個性化。
上圖是協(xié)同過濾的評分預(yù)測算法,ALS中評分由兩個向量的乘積決定,SVD++認為評分不光是有兩個向量乘積決定,個體差異同樣也會產(chǎn)生影響。
推薦需要的數(shù)據(jù)一般分為三塊,用戶、物品、時間。時間用來關(guān)聯(lián)用戶和物品,用戶數(shù)據(jù)主要是人口統(tǒng)計學(xué)數(shù)據(jù)、用戶行為數(shù)據(jù)、用戶標(biāo)簽,物品數(shù)據(jù)則是物品基本屬性、物品標(biāo)簽、物品效用。
對于推薦結(jié)果的檢驗分為準(zhǔn)確率、召回率、覆蓋率、多樣性、新穎度/流行度。
上圖展示的為機器學(xué)習(xí)算法的5個流派,其中聯(lián)結(jié)主義可能是大家最熟悉的,所有的神經(jīng)網(wǎng)絡(luò)的算法都屬于這一類。最后的行為類推其實就是推薦算法。隨著后續(xù)的發(fā)展這幾個流派肯定會被結(jié)合起來。
新零售中的推薦
推薦系統(tǒng)中除了技術(shù),還需要有很大程度的業(yè)務(wù)支持。作為一個數(shù)據(jù)科學(xué)家不光要有數(shù)據(jù)和計算機基礎(chǔ),還要專業(yè)知識,也就是對業(yè)務(wù)的理解。在新零售行業(yè)很多時候都是以業(yè)務(wù)為主導(dǎo)。
新零售是2016年提出的概念,簡單來說就是線上加線下加物流,比較典型的有盒馬生鮮、小米體驗店、微信群營銷等。從推薦的角度上來看,微信群營銷其實也算作新零售。微信群雖然可以獲取到很多數(shù)據(jù),但是和體驗店一樣客戶無法確認。并且每個微信群都有針對人群,可以沒有辦法拿到除了頭像和姓名之外的信息,用戶身份也無法獲得認證,人員流動非常頻繁。這些特性與實體店非常相似,即使我們無法從單個用戶的角度來進行推薦。
與互聯(lián)網(wǎng)推薦的區(qū)別新零售推薦與互聯(lián)網(wǎng)推薦最大的差異在于一個線上一個線下,我們在做圖書項目的時候發(fā)現(xiàn),用戶在線上買書的行為喜好與線下很不一樣。線上的賣書的店鋪經(jīng)常會有一些滿減促銷,它的折扣力度是很吸引人的,但是在線下很少有超過5折的活動。
在互聯(lián)網(wǎng)上由于可以實施用戶行為采集,所以可以實現(xiàn)千人千面,但是在線下只能通過門店的角度來進行推薦,無法具體到單獨的個體上。因此新零售所能實現(xiàn)的是千店千面,目標(biāo)也轉(zhuǎn)為了增加銷量和信息共享,其實也就是信息擴縮的過程。
上圖是我們項目中的圖書推薦界面,也是門店所使用的后臺。可以看到這里包含了很多信息,比如書名、作者、出版日期、銷量等,每一列信息中都有很多的業(yè)務(wù)背景需要了解。比如對于出版超過3年的書市場效果其實已經(jīng)很容易看出來了,并不需要我們再去做推薦。
之后我們對該項目進行了總結(jié)。首先是可用信息少,只能獲取到行為信息以及物品信息。其次是需求不同,必須要以門店為主,也就是基于用戶的協(xié)同過濾體系。而且圖書行業(yè)每年新出版的書可能有幾十萬,但真正有銷量的一半都不到,所以存在很多空值數(shù)據(jù),沒有辦法做基于物品的協(xié)同過濾。最后是反饋周期長,對于圖書這樣的線下銷售雖然每天都能拿得數(shù)據(jù),但是反饋至少是以周為單位,因此對結(jié)果檢驗會產(chǎn)生影響。
推薦算法的應(yīng)用當(dāng)算法上線的時候,一切才剛剛開始,之后還會出現(xiàn)各種問題,接下來我們來看一些典型的場景。首先是強特征,有時會出現(xiàn)業(yè)務(wù)人員在與技術(shù)對接的后發(fā)現(xiàn)一些很重要的特征在庫中不存在。其次特征不僅會增加還會消失,比如對于我們來說,客戶的產(chǎn)品信息有時會進行改版,數(shù)據(jù)庫信息也會隨之改變,而我們在不知情的情況下獲取的信息就可能會不存在,這主要是因為客戶覺得這類信息不重要,而將它去除了。
這張圖是算法的數(shù)據(jù)處理流程。原始數(shù)據(jù)導(dǎo)入后會進行數(shù)據(jù)清洗,之后通過不同的算法模型或者業(yè)務(wù)規(guī)則生成模型和結(jié)果集,最后輸出結(jié)果集,再使用不同的過濾規(guī)則得到結(jié)果。
上面的流程適用于離線或者無需實時更新的場景,而如果需要實時則要在圖中的推薦流程中添加召回模塊。打造實時推薦不意味著實時計算,因為數(shù)據(jù)量實在過于龐大,而是先對提前算好的結(jié)果進行篩選,再由一個特殊的模塊根據(jù)用戶的實時行為做出推薦。一般來說計算時間要小于0.1秒。
最后給大家分享一些我們在新零售推薦應(yīng)用上的一些想法:業(yè)務(wù)效果好的算法并不一定是復(fù)雜的算法;做項目要比光看書的收獲大得多;推薦是個系統(tǒng)工程,算法很重要,但不是全部。