神策数据房东雨:精准推荐的场景和实践
?
?
以下內(nèi)容根據(jù)神策數(shù)據(jù)架構(gòu)師房東雨在神策 2018 數(shù)據(jù)驅(qū)動(dòng)大會(huì)現(xiàn)場(chǎng),題為《推薦的場(chǎng)景與實(shí)踐》演講內(nèi)容整理所得。
本文主要內(nèi)容包括:
-
推薦的概念與主要場(chǎng)景
-
推薦的流程
-
推薦的方法
推薦在很早之前就已經(jīng)開(kāi)始應(yīng)用,場(chǎng)景非常廣泛。近些年推薦也在發(fā)展,我的分享主要圍繞常用和前沿的推薦方法,以及不同推薦方法之間的優(yōu)缺點(diǎn)等內(nèi)容。
一、推薦的概念與主要場(chǎng)景
推薦本質(zhì)是讓人們?cè)诤A啃畔⒄业剿麄冃枰姆椒?#xff0c;它是信息爆炸時(shí)代下的產(chǎn)物。推薦與搜索不同,搜索是用戶(hù)帶著意愿,推薦則與之相反:我(用戶(hù))不知道要什么,此時(shí)你推薦的內(nèi)容出現(xiàn)的話(huà),我(用戶(hù))會(huì)眼前一亮。
推薦有三個(gè)作用,包括降低信息過(guò)載、發(fā)掘長(zhǎng)尾、提高轉(zhuǎn)化率。推薦分為個(gè)性化推薦和非個(gè)性化推薦。值得強(qiáng)調(diào)的是,個(gè)性化推薦只是推薦一種,是千人千面,精準(zhǔn)到個(gè)人一面;非個(gè)性化推薦包括熱門(mén)推薦、編輯精選、相似推薦等。只有當(dāng)個(gè)性化推薦與個(gè)性化配合,才能達(dá)到比較好的效果。
這是知乎的兩個(gè)主要的推薦場(chǎng)景,內(nèi)容類(lèi)主要是以這兩個(gè)類(lèi)型為主流。圖 1 是用戶(hù)登錄后看到的內(nèi)容,這些內(nèi)容和用戶(hù)查看的歷史內(nèi)容相類(lèi)似。圖 2 中的“相關(guān)問(wèn)題”,這些內(nèi)容和用戶(hù)在讀的文章內(nèi)容是有關(guān)聯(lián)的,這屬于非個(gè)性化推薦。
圖 1 知乎登錄首頁(yè),來(lái)自于知乎
圖 2 知乎相關(guān)問(wèn)題,來(lái)自于知乎
場(chǎng)景一:Feed
圖 3 Feed 推薦
這類(lèi)是以信息流( Feed 流)的形式進(jìn)行推薦。今日頭條是最典型的代表,內(nèi)容足夠多也足夠優(yōu)質(zhì),推薦很好地提升了用戶(hù)的使用時(shí)長(zhǎng)。它的特點(diǎn)是,Feed 流會(huì)占據(jù) APP 的主要空間,當(dāng)用戶(hù)瀏覽到最底端的時(shí)候,下面會(huì)持續(xù)出現(xiàn) Feed,當(dāng)用戶(hù)進(jìn)來(lái)后可以持續(xù)消費(fèi)內(nèi)容。
場(chǎng)景二:猜你喜歡
圖 4 猜你喜歡
這是“猜你喜歡”場(chǎng)景,它和 Feed 推薦最核心的區(qū)別在于:“猜你喜歡”一般是占用頁(yè)面的一部分,希望實(shí)現(xiàn)的是用戶(hù)行為的延伸操作。
場(chǎng)景三:相關(guān)推薦
圖 5 相關(guān)推薦
以上是“相關(guān)推薦”。比如用戶(hù)瀏覽一個(gè)手機(jī)后,下面推薦了“相關(guān)手機(jī)”,閱讀一篇文章后,下面推薦了“相關(guān)文章”,看了一部電影后,下面有“相關(guān)電影”,推薦內(nèi)容和我們關(guān)注的內(nèi)容相關(guān)。
二、推薦的流程
推薦目的之一是要建立人與物以及物物之間的關(guān)系,推薦的流程分為幾步。
第一步:確定業(yè)務(wù)場(chǎng)景
要根據(jù)你的產(chǎn)品形態(tài)、現(xiàn)有數(shù)據(jù)、業(yè)務(wù)目標(biāo)、產(chǎn)品運(yùn)營(yíng)方向來(lái)確定你做推薦所需要的數(shù)據(jù)源。這些數(shù)據(jù)源包括:
1、要推薦物品或內(nèi)容的元數(shù)據(jù),例如 ID、關(guān)鍵字、描述等;
2、系統(tǒng)用戶(hù)的基本信息,例如 ID、性別、年齡等;
用戶(hù)需要唯一識(shí)別的 ID,推薦系統(tǒng)有一個(gè)難點(diǎn)是 Web 端的統(tǒng)一用戶(hù)識(shí)別,因?yàn)樵谑謾C(jī)端我們可以相對(duì)容易的來(lái)確定用戶(hù) ID,但在 Web 端,由于存在瀏覽器等各種差異,會(huì)導(dǎo)致用戶(hù) ID 差異。在此基礎(chǔ)上,如果有性別、年齡等信息,那么用戶(hù)畫(huà)像會(huì)更加清晰,更方便做個(gè)性化推薦。
3、用戶(hù)對(duì)物品或者信息的偏好,包括顯式的用戶(hù)反饋、隱式的用戶(hù)反饋、負(fù)反饋。顯式的用戶(hù)反饋例如用戶(hù)對(duì)物品的評(píng)分,或者對(duì)物品的評(píng)論;隱式的用戶(hù)反饋,例如用戶(hù)購(gòu)買(mǎi)了某物品,用戶(hù)查看了某物品的信息等。負(fù)反饋,例如用戶(hù)點(diǎn)擊不喜歡, 或展現(xiàn)了物品信息但是用戶(hù)沒(méi)有點(diǎn)擊。
負(fù)反饋是大家容易忽略的,在機(jī)器學(xué)習(xí)系統(tǒng)里面如果只有正例,沒(méi)有負(fù)例是不能工作的。那我們?nèi)绾尾杉?fù)例?比如用戶(hù)點(diǎn)擊了一個(gè)叫“我不喜歡”的按鈕,這是用戶(hù)的負(fù)反饋。這種負(fù)反饋的缺點(diǎn)往往是量級(jí)不夠大,所以為了保證負(fù)反饋的足夠量級(jí),神策通常采集負(fù)反饋的方式之一是,當(dāng)我展示十個(gè)物品時(shí),用戶(hù)點(diǎn)了第三個(gè),可能因?yàn)椴惶矚g第一、第二個(gè)物品,因而沒(méi)有點(diǎn)擊,那么前兩個(gè)物品就是用戶(hù)的負(fù)反饋,第三個(gè)商品就是用戶(hù)的正反饋。
4、訪(fǎng)問(wèn)時(shí)的上下文信息,例如時(shí)間、請(qǐng)求頁(yè)面的其他信息等。
比如,用戶(hù)在公交車(chē)上與躺床上看的視頻可能是不一樣的,導(dǎo)致差異的因素可能是時(shí)間,也可能是網(wǎng)絡(luò)環(huán)境等;家里的電視,雖然是同一個(gè) ID,但是爸爸、媽媽、孩子觀看的內(nèi)容差異很大,如何在這種情況下做推薦?我們會(huì)嘗試引入時(shí)間維度,因?yàn)樾∨笥芽措娨暤臅r(shí)間比較固定,媽媽看連續(xù)劇的時(shí)間也相對(duì)固定,引入時(shí)間維度在一定程度上能緩解這件事情,這個(gè)嘗試是很重要的。
第二步:建立評(píng)價(jià)體系
建立推薦系統(tǒng)之前,要想好如何進(jìn)行評(píng)估。評(píng)價(jià)體系的方法包括離線(xiàn)評(píng)估和在線(xiàn)評(píng)估兩種方式。
離線(xiàn)評(píng)估包括人工評(píng)估、AUC、DCG。人工評(píng)估很好理解,比如我們?cè)u(píng)估一個(gè)用戶(hù)很喜歡動(dòng)畫(huà)片,并進(jìn)行一些推薦,我們可以直接去觀察所推薦的內(nèi)容中用戶(hù)播放動(dòng)畫(huà)片的比例是否比較大;同時(shí) AUC、DCG 也是常用的模型離線(xiàn)評(píng)價(jià)指標(biāo),但是這些數(shù)據(jù)指標(biāo)可能會(huì)存在比較大的偏差,所以我們一般不會(huì)拿此指標(biāo)來(lái)直接評(píng)價(jià)效果,而只是將它作為參照指標(biāo)。在線(xiàn)評(píng)估的標(biāo)準(zhǔn),包括 CTR、平均閱讀時(shí)長(zhǎng)、轉(zhuǎn)化率、留存等。
要進(jìn)行科學(xué)的評(píng)估,可以重點(diǎn)注意以下幾個(gè)問(wèn)題:
第一,通過(guò) A/B Test 進(jìn)行評(píng)估;大家應(yīng)該非常了解 A/B Test,我要強(qiáng)調(diào)的是,分組的用戶(hù)應(yīng)該是正交的,如果分組是安卓渠道和 iOS 渠道,那這兩組用戶(hù)本身的行為就會(huì)存在偏差,因?yàn)閮蓚€(gè)渠道是有各自的特點(diǎn)的,這樣做并不是科學(xué)的方式。
第二,使用對(duì)比指標(biāo)而不是絕對(duì)值指標(biāo);如果你關(guān)注 CTR 指標(biāo),追求的目標(biāo)并非將目標(biāo)達(dá)到 5% 就 OK,我們關(guān)注的指標(biāo)應(yīng)該是相對(duì)值,也就是對(duì)比基線(xiàn)策略提升了多少。因?yàn)榻^對(duì)值會(huì)被產(chǎn)品形態(tài)和具體業(yè)務(wù)場(chǎng)景影響,比如產(chǎn)品首頁(yè)上只有這一個(gè)按鈕肯定點(diǎn)擊率很高。也就是說(shuō),在所有因子不變的情況下,只修改策略和方法后的對(duì)比指標(biāo)才有意義。
第三,不管是機(jī)器學(xué)習(xí)還是推薦系統(tǒng),追求的都是整體效果提升,而無(wú)法具體到優(yōu)化每個(gè)個(gè)體的效果。推薦系統(tǒng)能優(yōu)化的也是整體效果,是無(wú)法優(yōu)化到個(gè)人,對(duì)個(gè)人優(yōu)化時(shí),我們一般只會(huì)處理那些 Bad Case。
第三步:選擇 Feature 與 Label
這個(gè)過(guò)程包括特征選取、數(shù)據(jù)清洗、特征工程、正例與負(fù)例。
第四步:模型訓(xùn)練和工程化
這個(gè)過(guò)程包括數(shù)據(jù)流建立、訓(xùn)練和優(yōu)化模型、推薦服務(wù)。
第五步:實(shí)驗(yàn)與迭代
綜上所述,推薦系統(tǒng)是一個(gè)流程:海量 Item——候選集合——排序列表——推薦結(jié)果。
圖 6 推薦系統(tǒng)流程
在推薦系統(tǒng)中,海量物品組成的可推薦池子中,對(duì)所有的數(shù)據(jù)進(jìn)行一定的處理,才能保證在百毫秒內(nèi)召回需要推薦的物品,并對(duì)物品進(jìn)行排序,按照排序列表進(jìn)行推薦,這個(gè)還需要配合非常多的工程上的方法。
三、推薦的方法
我們看一個(gè)優(yōu)惠券推送的場(chǎng)景,這跟推薦場(chǎng)景非常一致。你可以通過(guò)用戶(hù)分群來(lái)做,不過(guò)這樣你可能會(huì)陷入無(wú)窮盡的規(guī)則添加中,直到失控。不過(guò)這種方式類(lèi)似老中醫(yī)診脈,依賴(lài)前人經(jīng)驗(yàn),有點(diǎn)不太靠譜。
圖 7 基于畫(huà)像、標(biāo)簽的推薦(圖片來(lái)源于網(wǎng)絡(luò))
如圖所示,左邊所謂的基于人口統(tǒng)計(jì)學(xué)推薦,右邊是基于內(nèi)容標(biāo)簽的推薦。
(一)內(nèi)容標(biāo)簽
1、分類(lèi)與來(lái)源
基于標(biāo)簽的推薦,要了解優(yōu)質(zhì)內(nèi)容的標(biāo)簽,以及內(nèi)容標(biāo)簽的分類(lèi),你需要花費(fèi)大量的精力來(lái)整理標(biāo)簽的體系。同時(shí)你也需要了解標(biāo)簽的來(lái)源,包括運(yùn)營(yíng)產(chǎn)生標(biāo)簽、用戶(hù)產(chǎn)生標(biāo)簽、機(jī)器自動(dòng)產(chǎn)生標(biāo)簽。這三種標(biāo)簽方法優(yōu)缺點(diǎn)都很明顯。
-
運(yùn)營(yíng)產(chǎn)生標(biāo)簽的優(yōu)點(diǎn):質(zhì)量較好、符合產(chǎn)品調(diào)性;缺點(diǎn):存在運(yùn)營(yíng)人員自己的偏見(jiàn)、人力成本高、效率低。
-
用戶(hù)產(chǎn)生標(biāo)簽的優(yōu)點(diǎn):數(shù)量大、節(jié)省成本、能產(chǎn)生意想不到的內(nèi)容;缺點(diǎn):需要產(chǎn)品形態(tài)支持、質(zhì)量較差、需要進(jìn)行審核。
-
機(jī)器自動(dòng)產(chǎn)生標(biāo)簽的優(yōu)點(diǎn):可自動(dòng)運(yùn)行;缺點(diǎn):技術(shù)難度大、效果不可控。
如果將三種標(biāo)簽方式結(jié)合后產(chǎn)生標(biāo)簽的方法有時(shí)會(huì)更有價(jià)值。我們看下面這張圖,生成的第一個(gè)內(nèi)容標(biāo)簽是“偷拍成功”,第二個(gè)是“學(xué)霸養(yǎng)成中”,第三個(gè)詞是“完美側(cè)顏”,這三個(gè)標(biāo)簽都是經(jīng)過(guò)運(yùn)營(yíng)、用戶(hù)、機(jī)器三者的結(jié)合后打的標(biāo)簽,這個(gè)標(biāo)簽經(jīng)過(guò)了圖像識(shí)別,然后由客戶(hù)選擇了運(yùn)營(yíng)之前寫(xiě)好的標(biāo)簽,這樣能產(chǎn)生更有意思的結(jié)果,但是這個(gè)確實(shí)比較難,需要你們的產(chǎn)品能夠支持這種模式。
圖 8 圖片與標(biāo)簽場(chǎng)景
2、內(nèi)容標(biāo)簽推薦的優(yōu)缺點(diǎn)
標(biāo)簽推薦的優(yōu)點(diǎn)是簡(jiǎn)單易行,可以理解。缺點(diǎn)包括以下幾個(gè)方面:
第一,受標(biāo)簽質(zhì)量影響大。如果標(biāo)簽質(zhì)量太差,標(biāo)簽粒度很粗,那就沒(méi)有什么價(jià)值。
第二,受標(biāo)簽產(chǎn)生者個(gè)人偏差大。標(biāo)簽產(chǎn)生者受自身知識(shí)體系所限,所設(shè)標(biāo)簽和用戶(hù)真實(shí)應(yīng)用場(chǎng)景不一致。
第三,采用基于規(guī)則方法時(shí)規(guī)則量化不準(zhǔn)確。比如優(yōu)惠券為什么設(shè)為 1000 元,而不是 1500 元?這個(gè)數(shù)據(jù)是拍腦袋決定的。
第四,缺乏探索性和擴(kuò)展性。你只能選擇被標(biāo)簽化的內(nèi)容,比如一部動(dòng)畫(huà)片中有很多舞蹈,包括街舞、宅舞等。如果沒(méi)有“宅舞”這個(gè)標(biāo)簽,這類(lèi)內(nèi)容你只能將其分到其他標(biāo)簽中,比如“廣場(chǎng)舞”標(biāo)簽中,因此內(nèi)容標(biāo)簽推薦受限于完整的分類(lèi)體系。
(二)協(xié)同過(guò)濾
協(xié)同過(guò)濾是非常有效的推薦方法,最早應(yīng)用協(xié)同過(guò)濾系統(tǒng)的設(shè)計(jì)是解決 Xerox 公司在 Palo Alto 的研究中心資訊過(guò)載的問(wèn)題。協(xié)同過(guò)濾簡(jiǎn)單來(lái)說(shuō)是利用某興趣相投、擁有共同經(jīng)驗(yàn)之群體的喜好來(lái)推薦用戶(hù)感興趣的信息,考慮的是“共現(xiàn)”,基礎(chǔ)是物以類(lèi)聚、人以群分的思想。
協(xié)同過(guò)濾在推薦效果上有明顯的提升,他的優(yōu)點(diǎn)在于:
第一,利用其他人的智慧,能學(xué)習(xí)出難以表述的概念(如個(gè)人品味,文章的質(zhì)量等)。利用了群體智慧來(lái)幫助構(gòu)建推薦系統(tǒng),比如用戶(hù)看完 A 視頻后,去看了 B 視頻,用戶(hù)這種潛意識(shí)的行為會(huì)幫你建立 AB 視頻的聯(lián)系。
所以例如品位是一個(gè)很難量化且無(wú)法標(biāo)簽化的東西,但通過(guò)協(xié)同過(guò)濾這種共現(xiàn)的方法,是可以學(xué)習(xí)到品味這種概念。
第二,不需要預(yù)先建立標(biāo)簽體系,你不需要花人力來(lái)做大量標(biāo)簽的標(biāo)注。
第三,可以根據(jù)數(shù)據(jù)和反饋?zhàn)詣?dòng)訓(xùn)練。這個(gè)模型是在不斷變化的,它會(huì)使用最新的數(shù)據(jù)來(lái)去訓(xùn)練模型,而不需要你的運(yùn)營(yíng)人員反復(fù)看“我的標(biāo)簽體系是不是要變了,是不是要重新打標(biāo)簽了”。
第四,更好的規(guī)則變化,有更大的探索性擴(kuò)展性。因?yàn)樗械闹刀际菣C(jī)器學(xué)習(xí)出來(lái)的,而不是去拍腦袋“拍”的,會(huì)更加客觀,并且具有更大的探索和擴(kuò)展性,很多你不知道的概念會(huì)被機(jī)器學(xué)習(xí)到。
同時(shí),缺點(diǎn)也很明顯,一是冷啟動(dòng)的問(wèn)題,因?yàn)閰f(xié)同過(guò)濾應(yīng)用的是人和物的關(guān)系,如果物是一個(gè)新的人或者是一個(gè)新的物品,就很難解決;二是稀疏性問(wèn)題: 系統(tǒng)歷史數(shù)據(jù)過(guò)少,系統(tǒng)無(wú)法進(jìn)行訓(xùn)練,難以進(jìn)行精確的模式查找匹配推薦;三是不具備可解釋性。
(三)推薦系統(tǒng)中的深度學(xué)習(xí)
對(duì)比協(xié)同過(guò)濾,深度學(xué)習(xí)召回模型更有優(yōu)勢(shì):
第一,更全面的行為表達(dá)。在模型中結(jié)合點(diǎn)擊、收藏、搜索等多種行為,能更全面地表示用戶(hù)行為偏好,而在協(xié)同過(guò)濾中是不能這么做的。
第二,可添加畫(huà)像特征,可加入性別、地域等用戶(hù)畫(huà)像相關(guān)的特征。如果你有額外的一些標(biāo)簽或發(fā)生的信息,這個(gè)模型是可以兼容的,它可以把所有信息糅雜在同一模型里面去做,而在協(xié)同過(guò)濾模型里面是完全無(wú)法引入的。
第三,考慮用戶(hù)的行為順序。比如用戶(hù)通常的行為順序是,先買(mǎi)一個(gè)手機(jī),然后再去買(mǎi)一個(gè)手機(jī)殼;買(mǎi)了一個(gè)汽車(chē)后可能會(huì)買(mǎi)個(gè)汽車(chē)坐墊。如果推薦順序是:用戶(hù)買(mǎi)了個(gè)手機(jī)殼后被推薦了一款手機(jī),這樣的邏輯明顯是錯(cuò)誤的。
協(xié)同過(guò)濾是不具備序列關(guān)系的學(xué)習(xí)能力的,它將所有的行為都看成一個(gè)完全平等的關(guān)系,而深度學(xué)習(xí)是可以學(xué)習(xí)順序,在整體模型的表達(dá)的能力和調(diào)優(yōu)方面都非常前沿。
圖 9? 神策數(shù)據(jù)某電視推薦場(chǎng)景
這個(gè)是神策在一個(gè)客戶(hù)上做推薦的結(jié)果。一個(gè)用戶(hù)剛看完《小豬佩奇》第二季第一集,如果基于協(xié)同過(guò)濾可以推出《小豬佩奇》其他集,但是如果基于深度學(xué)習(xí)召回模型是可以連續(xù)推出《小豬佩奇》第二季第二集、第三集等。
第四,組合復(fù)雜特征。神經(jīng)網(wǎng)絡(luò)可以進(jìn)行更復(fù)雜的特征組合,挖掘更深層次的關(guān)聯(lián)關(guān)系。
(四)排序方法
在排序方面,這些年有很大的發(fā)展。隨著數(shù)據(jù)量增多以及業(yè)務(wù)模式的復(fù)雜性,我們可以選擇更復(fù)雜的模型來(lái)解決問(wèn)題。當(dāng)然這需要推薦的點(diǎn)擊數(shù)據(jù)要和展現(xiàn)數(shù)據(jù)實(shí)現(xiàn)比較好的整合,這也是要重視展現(xiàn)數(shù)據(jù)的主要原因。
圖 10 神策數(shù)據(jù)推薦排序場(chǎng)景
這里是我們?cè)谧雠判驍?shù)據(jù)的時(shí)候,Level 列的數(shù)字是 01010,意思就是有沒(méi)有點(diǎn)擊,所有點(diǎn)擊的展現(xiàn)全都寫(xiě)在一張表里,如此才可以訓(xùn)練排序模型。
四、綜述
綜上所述,推薦是一個(gè)系統(tǒng),不是一個(gè)簡(jiǎn)簡(jiǎn)單單的模型,推薦包含了大量的數(shù)據(jù)收集和業(yè)務(wù)理解的工作,同時(shí)還需要對(duì)應(yīng)的全套工程架構(gòu)的支持。最后有幾句話(huà)想和大家分享下:
第一句是“數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個(gè)上限而已”。如果你的數(shù)據(jù)根基沒(méi)有做好,那所有的工作都是徒勞的。
第二句是“世界上最遙遠(yuǎn)的距離,是我們的算法一樣, 但訓(xùn)練數(shù)據(jù)不同”。每家公司的模型搭建都大同小異,但是模型落地在業(yè)務(wù)的時(shí)候,真正差距在于你的數(shù)據(jù)是不是對(duì)的,是不是干凈,是不是及時(shí)的,這才是決定整個(gè)推薦系統(tǒng)最終效果的重要因素。如果你不能從數(shù)據(jù)治理開(kāi)始,空中樓閣般的搭了一套算法框架的話(huà),你會(huì)發(fā)現(xiàn)你的產(chǎn)品落地還是很遠(yuǎn)。
總之,推薦的關(guān)鍵是數(shù)據(jù),數(shù)據(jù)是一切算法的根基, 是一切迭代的依據(jù)。
更多互聯(lián)網(wǎng)干貨和案例,可關(guān)注【神策數(shù)據(jù)】公眾號(hào)了解~
?
總結(jié)
以上是生活随笔為你收集整理的神策数据房东雨:精准推荐的场景和实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 货拉拉携手神策数据,数据赋能企业,实现多
- 下一篇: 企业找到最佳增长点的 4 个关键因素