一文讀懂無(wú)處不在的智能推薦系統(tǒng)

3 評(píng)論 20228 瀏覽 101 收藏 15 分鐘

推薦系統(tǒng)是人與信息的連接器,用已有的連接去預(yù)測(cè)未來(lái)用戶和物品之間會(huì)出現(xiàn)的連接。推薦系統(tǒng)本質(zhì)上處理的是信息,它的主要作用是在信息生產(chǎn)方和信息消費(fèi)方之間搭建起橋梁,從而獲取人的注意力。

對(duì)于智能推薦系統(tǒng)相信大家已經(jīng)不再陌生了,現(xiàn)在它已經(jīng)在內(nèi)容分發(fā)平臺(tái)、電商、廣告、音視頻等互聯(lián)網(wǎng)產(chǎn)品中隨處可見(jiàn)。

一、為什么越來(lái)越多產(chǎn)品需要做推薦系統(tǒng)?

主要有以下兩方面的原因:

(1)信息過(guò)載

互聯(lián)網(wǎng)上每天都在產(chǎn)生海量的信息,用戶想要迅速和準(zhǔn)確地找到他們感興趣的內(nèi)容或商品越來(lái)越困難。如果用戶的目標(biāo)明確,他可以使用搜索(其實(shí)搜索也是有關(guān)鍵字的推薦、推薦是無(wú)關(guān)鍵字的搜索),但很多時(shí)候我們的用戶是沒(méi)有明確目標(biāo)的。這時(shí)候如果產(chǎn)品能夠高效匹配用戶感興趣的內(nèi)容或商品,就能提高用戶體驗(yàn)和粘性,獲取更多的商業(yè)利益。

(2)長(zhǎng)尾效應(yīng)

絕大多數(shù)用戶的需求往往是關(guān)注主流內(nèi)容和商品,而忽略相對(duì)冷門(mén)的大量“長(zhǎng)尾”信息, 導(dǎo)致很多優(yōu)秀的內(nèi)容或商品沒(méi)有機(jī)會(huì)被用戶發(fā)現(xiàn)和關(guān)注。如果大量長(zhǎng)尾信息無(wú)法獲取到流量,信息生產(chǎn)者就會(huì)離開(kāi)平臺(tái),影響平臺(tái)生態(tài)的健康發(fā)展。

二、認(rèn)識(shí)推薦系統(tǒng)

推薦系統(tǒng)定義:推薦系統(tǒng)是人與信息的連接器,用已有的連接去預(yù)測(cè)未來(lái)用戶和物品之間會(huì)出現(xiàn)的連接。

推薦系統(tǒng)本質(zhì)上處理的是信息,它的主要作用是在信息生產(chǎn)方和信息消費(fèi)方之間搭建起橋梁,從而獲取人的注意力。

世界是一個(gè)數(shù)字化的大網(wǎng),從人類(lèi)角度來(lái)看里面只有兩類(lèi)節(jié)點(diǎn):人和其他。萬(wàn)事萬(wàn)物有相互連接的大趨勢(shì),比如:人和人傾向于有更多社會(huì)連接,于是有了各種社交產(chǎn)品;比如:人和商品有越來(lái)越多的消費(fèi)連接,于是有了各種電商產(chǎn)品;比如:人和資訊有越來(lái)越多的閱讀連接,于是有了信息流產(chǎn)品。

一個(gè)完整的推薦系統(tǒng)通常由以下部分組成:用戶端前臺(tái)展示、后臺(tái)日志系統(tǒng)、推薦算法引擎。

▲個(gè)人繪制的推薦系統(tǒng)架構(gòu)圖

  • 前臺(tái)展示:就是你在app或網(wǎng)頁(yè)上看到的推薦、猜你喜歡、你的個(gè)性化歌單、經(jīng)常一起購(gòu)買(mǎi)的商品等部分展示的內(nèi)容。
  • 后臺(tái)日志系統(tǒng):用戶數(shù)據(jù)、用戶行為數(shù)據(jù)、內(nèi)容數(shù)據(jù)等日志數(shù)據(jù)采集、存儲(chǔ)、清洗和分析,從而建立畫(huà)像體系,包括用戶畫(huà)像和物品畫(huà)像。
  • 推薦算法引擎:各種算法模型、模型訓(xùn)練配置、推薦效果評(píng)估體系。

搭建推薦系統(tǒng)所需投入:

首先要搭建團(tuán)隊(duì),其中算法工程師是必不可少的,當(dāng)前也是薪酬較高的;其次還要購(gòu)置存儲(chǔ)和計(jì)算資源,如果不是云產(chǎn)品你可能還要自己購(gòu)置硬件設(shè)備;然后還有長(zhǎng)時(shí)間的數(shù)據(jù)積累和算法優(yōu)化。

推薦系統(tǒng)是一個(gè)需要長(zhǎng)期持續(xù)投入的東西,從投入/產(chǎn)出比和時(shí)間成本上來(lái)說(shuō),產(chǎn)品經(jīng)理不要隨便拍大腿就要做一個(gè)智能推薦系統(tǒng)。

如何判斷一個(gè)產(chǎn)品是否需要推薦系統(tǒng)?

第一,看看產(chǎn)品的目的。如果一款產(chǎn)品的目的是建立越多連接越好,那么它最終需要一個(gè)推薦系統(tǒng)。

典型的目的不是建立連接的產(chǎn)品就是工具類(lèi)產(chǎn)品,單純?yōu)樘岣呷祟?lèi)某些工作的效率而存在,比如:AXURE、ERP……雖然如今很多產(chǎn)品都從工具切入想做成社區(qū),但至少在工具屬性很強(qiáng)時(shí)不需要推薦系統(tǒng)。

第二,看看產(chǎn)品現(xiàn)有的連接。如果你的產(chǎn)品中物品很少,少到用人工就可以應(yīng)付過(guò)來(lái),用戶產(chǎn)生的連接不多,這時(shí)候不適合搭建推薦系統(tǒng)。應(yīng)該要有長(zhǎng)尾效應(yīng)才可能讓推薦系統(tǒng)發(fā)揮效果。

三、推薦算法-協(xié)同過(guò)濾基本原理

推薦系統(tǒng)里最經(jīng)典的算法非協(xié)同過(guò)濾莫屬。協(xié)同過(guò)濾又稱(chēng)基于領(lǐng)域的算法,核心在于協(xié)同,互幫互助。其又可以分為兩類(lèi):基于用戶的協(xié)同過(guò)濾算法(UserCF)、基于物品的協(xié)同過(guò)濾算法(ItemCF)。

(1)基于用戶的協(xié)同過(guò)濾算法(UserCF)

當(dāng)一個(gè)用戶需要個(gè)性化推薦時(shí),可以先通過(guò)用戶的相似度計(jì)算找到和他有相似興趣的其他用戶,然后把那些用戶喜歡而他沒(méi)有聽(tīng)說(shuō)過(guò)的物品推薦給他,這種方法稱(chēng)為基于用戶的協(xié)同過(guò)濾算法。

如用戶A曾經(jīng)看過(guò)《增長(zhǎng)黑客》、《流量池》和《原則》,用戶B曾經(jīng)看過(guò)《增長(zhǎng)黑客》和《原則》,當(dāng)我們給B推薦時(shí),推薦系統(tǒng)計(jì)算出A和B的相似度比較高,而A曾經(jīng)讀過(guò)的《流量池》用戶B沒(méi)有讀過(guò),因此就將《流量池》推薦給B用戶,這就是經(jīng)典的基于用戶的協(xié)同過(guò)濾。

由上面的描述可知,基于用戶的協(xié)同過(guò)濾算法主要包括兩個(gè)步驟:

  1. 找到和目標(biāo)用戶興趣相似的用戶集合;
  2. 找到這個(gè)集合中的用戶喜歡的,且目標(biāo)用戶沒(méi)有聽(tīng)說(shuō)過(guò)的物品推薦給目標(biāo)用戶。

(2)基于物品的協(xié)同過(guò)濾算法(ItemCF)

介紹基于物品的協(xié)同過(guò)濾之前,先來(lái)看下基于用戶的協(xié)同過(guò)濾可能帶來(lái)的問(wèn)題。

  • 用戶數(shù)據(jù)量比較大時(shí),需要計(jì)算的用戶之間的相似度會(huì)比較多,計(jì)算量大。
  • 構(gòu)建用戶向量時(shí)是使用用戶對(duì)已消費(fèi)過(guò)的物品的評(píng)分/行為來(lái)構(gòu)建的,用戶的興趣是會(huì)隨時(shí)間改變的,導(dǎo)致計(jì)算相似用戶的頻率較高。
  • 數(shù)據(jù)比較稀疏,用戶和用戶之間有共同的消費(fèi)行為實(shí)際上是比較少的,而且一般都是一些熱門(mén)物品,對(duì)發(fā)現(xiàn)用戶興趣幫助也不大。

基于物品的協(xié)同過(guò)濾算法,給用戶推薦那些和他們之前喜歡的物品相似的物品。

用戶A、B和C分別喜歡的物品如圖所示,則計(jì)算物品2與物品1的相似度的公式為:

  1. 物品2與物品1的相似度=同時(shí)喜歡物品1和物品2的用戶數(shù)/喜歡物品1的用戶數(shù)=2/3;
  2. 物品3與物品1的相似度=0;
  3. 物品4與物品1的相似度=1;
  4. 如果對(duì)一個(gè)喜歡了物品1的用戶D進(jìn)行推薦,則推薦的優(yōu)先級(jí)為4>2>3。

基于物品的協(xié)同過(guò)濾算法主要包括的步驟:

  1. 計(jì)算物品之間的相似度;
  2. 根據(jù)物品的相似度和用戶的歷史行為給用戶生成推薦列表。

以上只是協(xié)同過(guò)濾算法的基本原理,現(xiàn)實(shí)中的算法模型要遠(yuǎn)比這個(gè)復(fù)雜,而且很少采用單一模型,基本是組合模型。我也是剛剛才開(kāi)始做推薦系統(tǒng),至于更為復(fù)雜的矩陣分解、基于機(jī)器學(xué)習(xí)的推薦算法等后續(xù)我自己搞明白再單獨(dú)成文分享給大家。

四、推薦系統(tǒng)的冷啟動(dòng)

推薦系統(tǒng)需要已有的連接去預(yù)測(cè)未來(lái)用戶和物品之間會(huì)出現(xiàn)的連接。

對(duì)于BAT(百度騰訊阿里)、TMD(頭條美團(tuán)滴滴)這樣的巨頭他們已經(jīng)積累了大量的用戶數(shù)據(jù),在某個(gè)產(chǎn)品上智能推薦的時(shí)候不存在冷啟動(dòng)的問(wèn)題。

對(duì)于很多沒(méi)有大量用戶數(shù)據(jù)的產(chǎn)品來(lái)說(shuō),如何在這種情況下設(shè)計(jì)推薦系統(tǒng)并且讓用戶對(duì)推薦結(jié)果滿意,從而愿意使用推薦系統(tǒng),就是冷啟動(dòng)的問(wèn)題。

冷啟動(dòng)問(wèn)題主要分兩大類(lèi):

(1)用戶冷啟動(dòng)

用戶冷啟動(dòng)主要解決如何給新用戶或者不活躍用戶做個(gè)性化推薦的問(wèn)題。當(dāng)新用戶到來(lái)時(shí),我們沒(méi)有他的行為數(shù)據(jù),所以也無(wú)法根據(jù)他的歷史行為預(yù)測(cè)其興趣,從而無(wú)法借此給他做個(gè)性化推薦。

(2)物品冷啟動(dòng)

物品冷啟動(dòng)主要解決如何將新的物品或展示次數(shù)較少的物品推薦給可能對(duì)它感興趣的用戶這一問(wèn)題。

一般來(lái)說(shuō),可以參考如下方式來(lái)解決冷啟動(dòng)的問(wèn)題:

  1. 利用用戶注冊(cè)時(shí)提供的年齡、性別等數(shù)據(jù)做粗粒度的個(gè)性化推薦;
  2. 利用用戶的社交網(wǎng)絡(luò)賬號(hào)登錄(需要用戶授權(quán)),導(dǎo)入用戶在社交網(wǎng)站上的好友信息,然后給用戶推薦其好友喜歡的物品;
  3. 要求新注冊(cè)用戶在首次登錄時(shí)選擇一些興趣標(biāo)簽,根據(jù)收集到的用戶興趣信息,給用戶推薦同類(lèi)的物品;
  4. 給新用戶或不活躍用戶推薦熱門(mén)排行榜,然后等到用戶數(shù)據(jù)收集到一定的時(shí)候,再切換為個(gè)性化推薦。

五、評(píng)估推薦系統(tǒng)的效果

推薦系統(tǒng)推薦質(zhì)量的高低可以通過(guò)如下指標(biāo)進(jìn)行評(píng)估,作為推薦系統(tǒng)的反饋結(jié)果他們也是算法模型迭代優(yōu)化的依據(jù)。這些指標(biāo)有些可以定量計(jì)算,有些只能定性描述。

(1)預(yù)測(cè)準(zhǔn)確度

準(zhǔn)確度表現(xiàn)在用戶對(duì)推薦內(nèi)容的點(diǎn)擊率,點(diǎn)擊后的各種主動(dòng)行為(購(gòu)買(mǎi)、分享等),停留時(shí)長(zhǎng)等。

(2)覆蓋率

覆蓋率是描述一個(gè)推薦系統(tǒng)對(duì)物品長(zhǎng)尾的發(fā)掘能力。最簡(jiǎn)單的定義是,推薦系統(tǒng)推薦出來(lái)的物品占總物品的比例。

(3)多樣性

良好的推薦系統(tǒng)不僅僅能夠準(zhǔn)確預(yù)測(cè)用戶的喜好,而且能夠擴(kuò)展用戶的視野,幫助用戶發(fā)現(xiàn)那些他們可能會(huì)感興趣,但不那么容易發(fā)現(xiàn)的東西。

比如:你在某個(gè)電商網(wǎng)站買(mǎi)了一雙鞋子,然后你每次登錄這個(gè)網(wǎng)站他都給你推薦鞋子,這種情況你就會(huì)對(duì)推薦系統(tǒng)很失望,這就是典型的不具備多樣性。假如知道了用戶的喜好,推薦系統(tǒng)大部分給他推薦感興趣的,小部分去試探新的興趣是更優(yōu)的策略。

(4)新穎性

新穎的推薦是指給用戶推薦那些他們以前沒(méi)有聽(tīng)說(shuō)過(guò)的物品。

(5)驚喜度

如果推薦結(jié)果和用戶的歷史興趣不相似,但卻讓用戶覺(jué)得滿意,那么就可以說(shuō)推薦結(jié)果的驚喜度很高。與新穎性的區(qū)別是推薦的新穎性?xún)H僅取決于用戶是否聽(tīng)說(shuō)過(guò)這個(gè)推薦結(jié)果。

(6)信任度

如果你有兩個(gè)朋友,一個(gè)人你很信任,一個(gè)人經(jīng)常滿嘴跑火車(chē),那么如果你信任的朋友推薦你去某個(gè)地方旅游,你很有可能聽(tīng)從他的推薦,但如果是那位滿嘴跑火車(chē)的朋友推薦你去同樣的地方旅游,你很有可能不去。這兩個(gè)人可以看做兩個(gè)推薦系統(tǒng),盡管他們的推薦結(jié)果相同,但用戶卻可能產(chǎn)生不同的反應(yīng),這就是因?yàn)橛脩魧?duì)他們有不同的信任度。

(7)實(shí)時(shí)性

推薦系統(tǒng)的實(shí)時(shí)性,包括兩方面:一是實(shí)時(shí)更新推薦列表滿足用戶新的行為變化;二是將新加入系統(tǒng)的物品推薦給用戶。

(8)健壯性

任何能帶來(lái)利益的算法系統(tǒng)都會(huì)被攻擊,最典型的案例就是搜索引擎的作弊與反作弊斗爭(zhēng)。健壯性衡量了推薦系統(tǒng)抗擊作弊的能力。

參考資料:

  1. 項(xiàng)亮.《智能推薦實(shí)踐》;
  2. 邢無(wú)刀.《推薦系統(tǒng)三十六計(jì)》。

 

作者: felixxiao,微信公眾號(hào):PMfelix

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

題圖來(lái)自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 深入淺出,很有幫助

    來(lái)自四川 回復(fù)
  2. 寫(xiě)的真不錯(cuò)!

    來(lái)自廣東 回復(fù)
  3. 總結(jié)的很好,期待新的文章!

    來(lái)自美國(guó) 回復(fù)