推薦系統(tǒng)實(shí)踐-利用用戶行為數(shù)據(jù)(上)

此文是根據(jù)《推薦系統(tǒng)實(shí)踐》部分整理而來。

PART 1

第一個(gè)問題是

用戶行為數(shù)據(jù)有哪些?

用戶行為數(shù)據(jù)最簡(jiǎn)單的存在形式就是日志,日志記錄了用戶的各項(xiàng)行為包括網(wǎng)頁瀏覽、購買、點(diǎn)擊、評(píng)分、評(píng)論等等。這些數(shù)據(jù)可以橫向分析,比如某個(gè)頁面的點(diǎn)擊率;也可以縱向分析,比如某一個(gè)用戶的操作流程。

用戶行為按照行為劃分分為兩種:

  • 顯性反饋行為
  • 隱形反饋行為
顯性反饋行為

顯性反饋行為主要是各個(gè)產(chǎn)品的功能點(diǎn),比如評(píng)分、點(diǎn)贊、分享等等,這些功能的設(shè)計(jì)讓用戶明確表達(dá)了自己的想法,但是設(shè)計(jì)的方式也可能會(huì)造成偏差。比如說評(píng)分功能,對(duì)于外賣、打車等產(chǎn)品,設(shè)置1~5分,能夠得到的更多就是1分或者5分(我個(gè)人推測(cè)的,并不嚴(yán)謹(jǐn)),因?yàn)榭紤]到場(chǎng)景,我是想盡快達(dá)到目的地或者盡快叫到外賣吃,除非有特殊的情感需求,一般都不想打分,覺得可以就5分,不好就1分,因此2、3、4中間評(píng)分會(huì)出現(xiàn)的很少;如果是一些較為專業(yè)的平臺(tái)如豆瓣,很多人都是看完電影后有強(qiáng)烈的動(dòng)機(jī)去主動(dòng)打分評(píng)價(jià),因此相對(duì)而言用戶更愿意去花精力打分甚至評(píng)論,這個(gè)分?jǐn)?shù)的分布就相對(duì)于更加平均準(zhǔn)確。

隱性反饋行為

隱性反饋主要是那些不能明確反應(yīng)用戶喜好的行為,最具有代表性的就是瀏覽行為,相對(duì)于顯性反饋而言,隱性反饋雖然不明確,但是數(shù)據(jù)量更大。

對(duì)比

以下是顯性和隱性反饋的對(duì)比:


Paste_Image.png

以下是顯性反饋數(shù)據(jù)和隱性反饋數(shù)據(jù)的例子


Paste_Image.png

互聯(lián)網(wǎng)中的用戶行為有很多種,比如瀏覽網(wǎng)頁、購買商品、評(píng)分、評(píng)論等等,本書給出了一種表達(dá)方式,將一個(gè)用戶行為表示為6部分,即:

  • 產(chǎn)生行為的用戶
  • 行為的對(duì)象
  • 行為的種類
  • 產(chǎn)生行為的上下文
  • 行為的內(nèi)容
  • 行為的權(quán)重
    表格如下:


    Paste_Image.png

這里本人認(rèn)為要注意一點(diǎn):如果要得到更精確的粒度,還是要區(qū)分好每種行為的正反饋、負(fù)反饋甚至是誤操作的可能性。比如分享和評(píng)論,不一定是正反饋,也可能是因?yàn)槲锲穬?nèi)容太爛而發(fā)聲;還有產(chǎn)品設(shè)計(jì)上,如果點(diǎn)贊比踩的位置圖標(biāo)更明顯,那么誤操作的可能就會(huì)上升。所以在設(shè)計(jì)行為的權(quán)重的時(shí)候還需要切分更細(xì)的粒度,才能得到更準(zhǔn)確的結(jié)果。

在很多時(shí)候我們并不使用統(tǒng)一結(jié)構(gòu)表示所有行為,而是針對(duì)不同的行為給出不同表示(本人沒有理解這部分)。一般來說,不同的數(shù)據(jù)集包含不同的行為,目前比較有代表性的數(shù)據(jù)集有下面幾個(gè):

  • 無上下文信息的隱性反饋數(shù)據(jù)集。每一條行為記錄僅僅包含用戶ID和物品ID;
  • 無上下文信息的顯性反饋數(shù)據(jù)集。每一條記錄包含用戶ID、物品ID和用戶對(duì)物品的評(píng)分;
  • 有上下文信息的隱性反饋數(shù)據(jù)集。每一條記錄包含用戶ID、物品ID和用戶對(duì)物品產(chǎn)生行為的時(shí)間戳;
  • 有上下文信息的顯性反饋數(shù)據(jù)集。每一條記錄包含用戶ID、物品ID、用戶對(duì)物品的評(píng)分和評(píng)分行為發(fā)生的時(shí)間戳。

PART 2

接下來一個(gè)問題是:

用戶行為有哪些普遍規(guī)律?

在利用用戶行為數(shù)據(jù)設(shè)計(jì)推薦算法之前,研究人員需要對(duì)用戶行為數(shù)據(jù)進(jìn)行恩熙,了解數(shù)據(jù)中蘊(yùn)含的一般規(guī)律,這樣才能對(duì)算法的設(shè)計(jì)起到指導(dǎo)作用。主要分為兩部分:

  • 用戶活躍度和物品流行度的分布
  • 用戶活躍度和物品流行度的關(guān)系
用戶活躍度和物品流行度的分布

首先,互聯(lián)網(wǎng)的很多數(shù)據(jù)分布都滿足Power Law分布,在互聯(lián)網(wǎng)領(lǐng)域也成為長(zhǎng)尾分布:


Paste_Image.png

理解開來就是二八原則。同時(shí)用戶行為也蘊(yùn)含著這種分布,令fu(k)為對(duì)k個(gè)物品產(chǎn)生過行為的用戶 , fi(k)為被k個(gè)用戶產(chǎn)生過行為的物品數(shù)。那么,fu(k)和fi(k)都滿足長(zhǎng)尾分布:


Paste_Image.png

下面一張圖展示了物品流行度的長(zhǎng)尾分布,橫坐標(biāo)是物品的流行度K,縱坐標(biāo)是流行度為K的物品的總數(shù)。這里,物品的流行度指對(duì)物品產(chǎn)生過行為的用戶總數(shù)。


Paste_Image.png

下圖展示了用戶活躍度的長(zhǎng)尾分布,橫坐標(biāo)是用戶的活躍度K,縱坐標(biāo)是活躍度為K的用戶總數(shù)。這里,用戶的活躍度為用戶產(chǎn)生過行為的物品總數(shù)。


Paste_Image.png
用戶活躍度和物品流行度的關(guān)系

一般來說,不活躍的用戶要么是新用戶,要么是只用過產(chǎn)品一兩次的老用戶,那么不同活躍度的用戶喜歡的物品的流行度是否有差別?

一般認(rèn)為,新用戶傾向于瀏覽熱門的物品,因?yàn)樗麄儗?duì)產(chǎn)品還不熟悉,只能點(diǎn)擊首頁的熱門物品;老用戶會(huì)逐漸開始瀏覽冷門的物品。

下圖展示了用戶活躍度與物品流行度之間的關(guān)系,橫坐標(biāo)是用戶活躍度,縱坐標(biāo)是具有某個(gè)活躍度的所有用戶評(píng)過分的物品的平均流行度:


Paste_Image.png

顯示的結(jié)論是:用戶越活躍,越傾向于瀏覽冷門的物品。

PART 3

最后一個(gè)問題:

如何設(shè)計(jì)實(shí)驗(yàn)評(píng)測(cè)算法?

在之前的一篇推薦系統(tǒng)實(shí)踐-評(píng)測(cè)中介紹了三種評(píng)測(cè)方法:離線實(shí)驗(yàn)、用戶調(diào)查和在線實(shí)驗(yàn),并且介紹了評(píng)測(cè)的指標(biāo)。這部分將通過離線實(shí)驗(yàn)方法評(píng)測(cè)算法,分為三小塊:

  • 數(shù)據(jù)集
  • 實(shí)驗(yàn)設(shè)計(jì)
  • 評(píng)測(cè)指標(biāo)
數(shù)據(jù)集

采用的數(shù)據(jù)集包含了6000多用戶對(duì)4000多部電影的100萬條評(píng)分,這個(gè)數(shù)據(jù)集是一個(gè)評(píng)分?jǐn)?shù)據(jù)集,用戶評(píng)分為1~5分。這塊著重研究隱反饋數(shù)據(jù)集中的TopN推薦問題,因此忽略了數(shù)據(jù)集中的評(píng)分記錄,也就是說,TopN的任務(wù)是預(yù)測(cè)用戶會(huì)不會(huì)對(duì)某部電影評(píng)分,而不是預(yù)測(cè)用戶在準(zhǔn)備對(duì)某部電影評(píng)分的前提下會(huì)給電影評(píng)多少分。

實(shí)驗(yàn)設(shè)計(jì)

協(xié)同過濾算法(下一篇介紹)的離線實(shí)驗(yàn)一般如下設(shè)計(jì)。首先,將用戶行為數(shù)據(jù)集按照均勻分布隨機(jī)分成M份(這里取M=8),挑選一份作為測(cè)試集,將剩下的M-1份作為訓(xùn)練集。然后在訓(xùn)練集上建立用戶的興趣模型,并在測(cè)試集上對(duì)用戶行為進(jìn)行預(yù)測(cè),統(tǒng)計(jì)出相應(yīng)的評(píng)測(cè)指標(biāo)。為了保證評(píng)測(cè)指標(biāo)并不是過擬合的結(jié)果,需要進(jìn)行M次試驗(yàn),并且每次都使用不同的測(cè)試集,然后將M次試驗(yàn)測(cè)出的評(píng)測(cè)指標(biāo)的平均值作為最終的評(píng)測(cè)指標(biāo)。

評(píng)測(cè)指標(biāo)

對(duì)用戶u推薦N個(gè)物品(記作R(u)),令用戶u在測(cè)試集上喜歡的物品集合為T(u),然后可以通過準(zhǔn)確率/召回率評(píng)測(cè)推薦算法的精度:


Paste_Image.png
Paste_Image.png

召回率描述有多少比例的用戶-物品評(píng)分記錄包含在最終的推薦列表中,而準(zhǔn)確率描述最終的推薦列表中有多少比例是發(fā)生過的用戶-物品評(píng)分記錄。

覆蓋率反映了推薦算法發(fā)掘長(zhǎng)尾的能力,覆蓋率越高,說明算法中越能將長(zhǎng)尾中的物品推薦給用戶:


Paste_Image.png

覆蓋率表示最終的推薦列表中包含多大比例的物品,如果所有的物品都被推薦給至少一個(gè)用戶,那么覆蓋率就是100%。

最后,還需要評(píng)測(cè)推薦的新穎度,這里用推薦列表中物品的平均流行度度量推薦結(jié)果的新穎度。如果推薦出的物品都很熱門,說明推薦的新穎度較低,否則說明推薦結(jié)果比較新穎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容