0-1搭建個性化推薦系統(tǒng)的設(shè)計思路

3 評論 10098 瀏覽 87 收藏 11 分鐘

編輯導(dǎo)語:個性化推薦系統(tǒng)是互聯(lián)網(wǎng)和電子商務(wù)發(fā)展的產(chǎn)物,它是建立在海量數(shù)據(jù)挖掘基礎(chǔ)上的一種高級商務(wù)智能平臺,向顧客提供個性化的信息服務(wù)和決策支持。今天,本文作者就結(jié)合自己的經(jīng)歷,為我們分享了從0到1搭建個性化推薦系統(tǒng)的設(shè)計思路。

1. 設(shè)計目的

  • 商城已上線2周年,已有10萬+在售物品。需要推薦系統(tǒng),幫助用戶從過量的物品中,快速發(fā)現(xiàn)優(yōu)質(zhì)物品,縮短用戶路徑,提高訂單量。
  • 目前商城訂單量、用戶數(shù)增長緩慢,所以需要推薦系統(tǒng),作為新的增長點,帶動業(yè)務(wù)增長。
  • 通過全面采集用戶、物品數(shù)據(jù),并分析各類用戶對各類物品的喜好,可以幫助商家快速了解平臺內(nèi)用戶喜好,了解自己的物品特點,提高訂單量。

2. 產(chǎn)品結(jié)構(gòu)

3. 推薦模型設(shè)計

3.1 基于物品的協(xié)同推薦

3.1.1 算法原理

基于物品的協(xié)同推薦算法認(rèn)為:當(dāng)用戶A喜歡物品a,且物品a和物品b相似,則認(rèn)為用戶A喜歡物品b。所以搭建該算法分為兩步:

  1. 計算用戶A對物品a的喜愛度
  2. 計算物品a和物品b的相似度

用戶A對物品b的喜好矩陣=用戶A對物品a的喜好矩陣+物品a和物品b的相似度。

3.1.2 明確用戶的喜愛特征的權(quán)重

根據(jù)和業(yè)務(wù)專家的初步討論,明確用戶對物品的喜愛度,與以下行為有關(guān):

  1. 瀏覽:用戶進(jìn)入物品詳情頁后,在詳情頁停留的時長超過5S;
  2. 收藏:用戶點擊收藏按鈕,收藏了物品,且未取消收藏;
  3. 下單:用戶購買過該物品,且未退貨;
  4. 轉(zhuǎn)發(fā):用戶轉(zhuǎn)發(fā)過該物品。

根據(jù)上述維度,可構(gòu)建判斷矩陣:

將上述矩陣進(jìn)行歸一化、計算權(quán)重后,最終計算的權(quán)重結(jié)果如下圖所示:

瀏覽:0.1,收藏:0.29;下單:0.43;轉(zhuǎn)發(fā):0.18。一致性檢驗過程如下圖所示:CR=0.02<0.1 一致性檢驗通過

最終確定標(biāo)準(zhǔn)化指標(biāo),如下表:

3.1.3 構(gòu)建用戶對物品的喜愛度矩陣

根據(jù)上述計算過程,可以計算用戶對某物品的喜愛度。

例如用戶1,對物品a:瀏覽了13S,未收藏,下單了1次,轉(zhuǎn)發(fā)了2次,則用戶1對物品a的喜愛度為:2*0.1+0*0.29+1*0.43+2*0.18,最終計算所有用戶對物品的喜愛度矩陣:

3.1.4 構(gòu)建物品對物品的相似度矩陣S

按照喜愛度矩陣R,根據(jù)皮爾遜相關(guān)系數(shù)公式(兩個變量之間的皮爾遜相關(guān)系數(shù)定義為兩個變量之間的協(xié)方差和標(biāo)準(zhǔn)差的商),可計算出多個物品之間的相似度:

  • Xi:用戶i對物品X的喜愛度
  • `X:所有用戶對物品X的喜愛度的算數(shù)平均值
  • Yi:用戶i對物品Y的喜愛度
  • `Y:所有用戶對物品Y的喜愛度的算數(shù)平均值
  • r: 物品x和物品y的相似度

最終可計算出相似度矩陣S,矩陣為對稱矩陣:

3.1.5 預(yù)測用戶A對物品b的喜好

通過喜好矩陣R*相似度矩陣S,即用戶i對所有物品的評分作為權(quán)重,和物品j中的物品相似度乘積加和,可得到用戶i對物品j的評分預(yù)測P(i,j)。

3.2 基于用戶的協(xié)同過濾

基于用戶的協(xié)同推薦算法認(rèn)為:當(dāng)用戶A喜歡物品a,且用戶A和用戶B相似,則認(rèn)為用戶B喜歡物品a。

所以搭建該算法分為兩步:

  1. 計算用戶A對物品a的喜愛度
  2. 計算用戶A和用戶B的相似度

用戶B對物品a的喜好矩陣=用戶A對物品a的喜好矩陣+用戶A和用戶B的相似度,計算過程和基于物品的協(xié)同過濾的極端過程基本一致。

4. 推薦效果驗證

在推薦系統(tǒng)上線前的離線測試、 AB測試階段,需要系統(tǒng)的驗證推薦系統(tǒng)的效果。

推薦系統(tǒng)推薦給用戶的東西有多少是用戶真正喜歡的、帶來了多大的轉(zhuǎn)化率等等。驗證推薦系統(tǒng)的效果常見的指標(biāo),包括:

  • 準(zhǔn)確度
  • 召回率
  • 覆蓋率
  • 多樣性

4.1 準(zhǔn)確率

準(zhǔn)確率表示預(yù)測為正的樣本中,真正的正樣本的比例。

公式如下:

R(u)是根據(jù)用戶在訓(xùn)練集上的行為給用戶作出的推薦列表,而T(u)是用戶在測試集上的行為列表。

最簡單的例子:例如推薦系統(tǒng)給用戶推薦了10件物品,用戶進(jìn)入物品詳情頁定義為判斷真正的正樣本的行為,用戶進(jìn)入了其中3件物品的詳情頁,則此時準(zhǔn)確率=3/10=30%。

4.2 召回率

召回率表示的是真正的正樣本中,被推薦的真正的正樣本的比例。

公式如下:

R(u)是根據(jù)用戶在訓(xùn)練集上的行為給用戶作出的推薦列表,而T(u)是用戶在測試集上的行為列表。

最簡單的例子:用戶進(jìn)入物品詳情頁定義為判斷真正的正樣本的行為,用戶進(jìn)入了20件物品的詳情頁,其中3件物品是從推薦列表中進(jìn)入的,則此時準(zhǔn)確率=3/20=15%。

4.3 覆蓋率

覆蓋率表示的是被推薦出來的樣本,占總樣本的比例。

公式如下:

U是推薦系統(tǒng)中所有用戶的集合,R(u)是給每個用戶推薦的物品列表,I是所有推薦池的物品。最簡單的例子:給用戶推薦了10件商品,總共100件商品,則此時覆蓋率=10/100=10%。

4.4 多樣性

多樣性表示被推薦的物品,兩兩之間的差異性。

公式如下:

s(i, j)是推薦的物品i和j之間的相似度,u是被推薦的用戶,R(u)是給用戶推薦的物品列表。

4.5 其他指標(biāo)

除了上述指標(biāo)外,也有從其他業(yè)務(wù)維度驗證推薦系統(tǒng)效果的指標(biāo)。例如新穎性、驚喜度、信任性、實時性、健壯性,以及基于公司發(fā)展規(guī)劃的商業(yè)指標(biāo)等。

5. 總結(jié)

當(dāng)公司業(yè)務(wù)/產(chǎn)品,發(fā)展到一定規(guī)模,積累了一定的數(shù)據(jù)量,為了進(jìn)一步提升業(yè)務(wù)指標(biāo)/用戶體驗,往往會考慮個性化推薦系統(tǒng)。

從0搭建mvp的個性化推薦系統(tǒng),需要:

  • 梳理數(shù)據(jù)源,維護(hù)底層數(shù)據(jù)質(zhì)量、拓展數(shù)據(jù)維度;
  • 基于對業(yè)務(wù)的深入理解,形成符合業(yè)務(wù)需求的推薦模型;
  • 最終形成給用戶的個性化推薦功能。

個性化推薦系統(tǒng),最常見的就是基于用戶/基于物品的協(xié)同過濾。構(gòu)建協(xié)同過濾模型,需要:

  • 計算用戶-物品的喜愛度矩陣R;
  • 計算用戶-用戶/物品-物品的相似度矩陣S;
  • 兩個矩陣相乘,得到用戶-物品的喜愛度預(yù)測值。根據(jù)預(yù)測值進(jìn)行推薦;
  • 驗證推薦效果,并持續(xù)調(diào)優(yōu)。

另外,在從0搭建推薦系統(tǒng),開需要考慮用戶冷啟動、物品冷啟動等問題。

 

本文由 @16哥 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Pexels,基于 CC0 協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 同樣是在權(quán)重下2小節(jié)沒看懂,btw請問 PM需要對這些指標(biāo)、權(quán)重、算法的理解深度到什么程度?

    來自江蘇 回復(fù)
  2. 同樣沒看懂,可以出個講解的文章嗎

    來自北京 回復(fù)
  3. 從權(quán)重那塊開始,都沒有看懂,方便加微信講解下嗎?

    來自廣東 回復(fù)