三種方法,沒(méi)有用戶數(shù)據(jù)也能搭建推薦系統(tǒng)

0 評(píng)論 8576 瀏覽 29 收藏 8 分鐘

即使沒(méi)有用戶數(shù)據(jù),我們?nèi)阅艽罱ǜ咝У耐扑]系統(tǒng),向用戶展示更多優(yōu)質(zhì)內(nèi)容,讓用戶參與其中。

太長(zhǎng)不看版:

第一步便是搭建基于內(nèi)容的推薦系統(tǒng),這種推薦系統(tǒng)會(huì)給用戶推薦其他類似的商品,但并不依賴其他用戶的數(shù)據(jù)。這些特征(即數(shù)學(xué)表達(dá)式,推薦算法需借助內(nèi)容條目不同方面的表達(dá)式才能得以運(yùn)算)來(lái)自于內(nèi)容條目本身,并非用戶行為。有了書(shū)面文本,我們便可以使用語(yǔ)義技術(shù)提取文本特征。

以上述推薦系統(tǒng)為基準(zhǔn)模型,我們可以引入其他特征,如提取自文本的元數(shù)據(jù),盡可能地優(yōu)化該系統(tǒng)。 雖然沒(méi)有明確的用戶標(biāo)識(shí),但利用用戶賬號(hào)代理仍能實(shí)現(xiàn)個(gè)性化推薦。 假設(shè)用戶每次訪問(wèn)該系統(tǒng)時(shí)都瀏覽了多件商品,那么可以根據(jù)該會(huì)話內(nèi)的實(shí)時(shí)趨勢(shì),搭建本地的基于會(huì)話的推薦系統(tǒng)。

正文版:

“在沒(méi)有用戶數(shù)據(jù)的情況下該如何搭建推薦系統(tǒng)呢?”我們?cè)啻斡龅竭^(guò)該問(wèn)題,今天我試著回答一下。

本文將向大家呈現(xiàn)關(guān)于推薦系統(tǒng)如何工作的一系列基礎(chǔ)知識(shí),(在重要部分)會(huì)使用一些行業(yè)術(shù)語(yǔ)。當(dāng)涉及到技術(shù)問(wèn)題時(shí),會(huì)跟大家說(shuō)明具體的技術(shù)環(huán)境。

一般來(lái)說(shuō),在沒(méi)有用戶數(shù)據(jù)的情況下,有三種可行的辦法來(lái)搭建推薦系統(tǒng)。我把它們按照復(fù)雜程度在下邊列了出來(lái)。

此外,假設(shè)大家此刻能利用手邊一切可利用的數(shù)據(jù)。這三種方法,每一種后者比前者能更好地利用唯一標(biāo)識(shí)和用戶信息等用戶數(shù)據(jù),但實(shí)際上,大家手頭并沒(méi)有這些數(shù)據(jù)。

搭建基于內(nèi)容的推薦系統(tǒng)

首先,我們可以以某些標(biāo)簽或其他內(nèi)容元數(shù)據(jù)等為特征,搭建一個(gè)標(biāo)準(zhǔn)的基于內(nèi)容的推薦系統(tǒng)。我們可以應(yīng)用TF-IDF模型來(lái)評(píng)估算法,在該模型中,這些標(biāo)簽代表了經(jīng)預(yù)先計(jì)算好的詞典中的每一個(gè)單詞(該詞典僅僅指某種數(shù)據(jù)結(jié)構(gòu),是語(yǔ)篇中所有的單詞集合。)

具體來(lái)說(shuō):假設(shè)我們充分利用所有的標(biāo)簽以及其他特征來(lái)構(gòu)建該詞典,那么該詞典會(huì)幫助我們構(gòu)建所謂的“特征向量”。之后,我們以特征向量為基礎(chǔ),對(duì)比不同的內(nèi)容條目,搭建推薦系統(tǒng)。到了這一步,一個(gè)基于內(nèi)容的推薦系統(tǒng)已初步完成,從我的研究經(jīng)驗(yàn)來(lái)看,該系統(tǒng)的推薦效果相當(dāng)好。我們現(xiàn)在做的所有工作都是在向用戶推薦類似于歷史商品的商品?!邦愃啤币辉~這里指,推薦的商品與歷史商品相比,有類似的標(biāo)簽和特征。

如果我們想搭建精度更高的推薦系統(tǒng),要做的第一件事便是迭代上述初級(jí)推薦系統(tǒng),并在此基礎(chǔ)上不斷優(yōu)化。接下來(lái)我將介紹其他方法。

優(yōu)化基于內(nèi)容的推薦系統(tǒng)

上述步驟利用了包含現(xiàn)有標(biāo)簽和其他特征的單一詞典。提高推薦精度的下一步是構(gòu)建兩個(gè)及兩個(gè)以上的詞典——對(duì)應(yīng)元數(shù)據(jù)的不同類別,我們可以基于多個(gè)詞典,在推薦系統(tǒng)中采用TF-IDF統(tǒng)計(jì)方法,計(jì)算每一內(nèi)容條目得分的加權(quán)組合。我們可以根據(jù)主觀評(píng)估的結(jié)果優(yōu)化參數(shù)(如每一項(xiàng)得分的權(quán)重)。這取決于哪一項(xiàng)參數(shù)權(quán)重能帶來(lái)最好的推薦效果。

如果某一類元數(shù)據(jù)不能用TF-IDF進(jìn)行加權(quán)統(tǒng)計(jì),如這組數(shù)據(jù)不相關(guān),那我推薦大家把這組數(shù)據(jù)細(xì)分成不同的種類。做了這樣的細(xì)分處理后,我們會(huì)獲得另一組標(biāo)簽(細(xì)分后的每一類數(shù)據(jù)都有各自對(duì)應(yīng)的標(biāo)簽)。假設(shè)這個(gè)過(guò)程中未大量出現(xiàn)其他特征,那并不會(huì)加大整個(gè)工作的難度。

接下來(lái)可以在系統(tǒng)中引入過(guò)濾技術(shù),如加某個(gè)特定標(biāo)簽,進(jìn)一步優(yōu)化推薦系統(tǒng)。它不是核心算法的一部分,但如果我們想在推薦系統(tǒng)中嵌入某種算法,從而實(shí)現(xiàn)用戶自定義推薦準(zhǔn)則的操作,那么過(guò)濾技術(shù)便是該算法的附加支撐結(jié)構(gòu)。

搭建采用用戶代理的推薦系統(tǒng)

提高系統(tǒng)推薦精度的下一步是觀察能作為用戶代理的那些數(shù)據(jù)特征。雖然我們沒(méi)有用戶賬號(hào),但可能有IP地址、瀏覽器信息、用戶會(huì)話等其他信息。

至此,我們可以構(gòu)建抽象的用戶。這種用戶賬號(hào)無(wú)法驗(yàn)證,但卻有了指紋技術(shù)的雛形。一旦我們能為“抽象”的用戶命名,那么便能為該用戶生成個(gè)性化推薦,具體來(lái)說(shuō),就是利用多種協(xié)同過(guò)濾技術(shù)。在我看來(lái)這也不復(fù)雜——我們能找到很多開(kāi)源項(xiàng)目(如高階Python包)。關(guān)鍵是我們可以借助已有的代理信息來(lái)構(gòu)建用戶賬號(hào)。

此外,我們還需要用戶的點(diǎn)擊交互數(shù)據(jù)。我們需要知道哪些商品已經(jīng)被用戶點(diǎn)擊過(guò),否則便沒(méi)有辦法順著用戶偏好做進(jìn)一步優(yōu)化。一旦有了用戶的點(diǎn)擊交互數(shù)據(jù)和抽象的用戶賬號(hào),便能搭建由IP地址和瀏覽器信息組合而成的個(gè)性化推薦系統(tǒng)。這不是真正的個(gè)性化推薦,但離真正的個(gè)性化也不遠(yuǎn)了。

搭建基于會(huì)話的推薦系統(tǒng)

最后的方法概述起來(lái)就是搭建基于會(huì)話的推薦系統(tǒng)。這與前邊提到的方法類似,但這次我們關(guān)注的是某個(gè)特定會(huì)話內(nèi)的數(shù)據(jù)。即使我們無(wú)法獲取用戶信息,也有可能拿到用戶會(huì)話數(shù)據(jù)。有了用戶會(huì)話賬號(hào),便能和高度本地化的“用戶賬號(hào)”對(duì)等起來(lái)。

基于會(huì)話的推薦系統(tǒng)眾多,其中一些基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)搭建的推薦系統(tǒng)精度極高,如Hidasi 和Karatzoglou二人所做的研究。這些系統(tǒng)的推薦效果都令人相當(dāng)滿意。

基于會(huì)話的推薦系統(tǒng)假定用戶準(zhǔn)備在該系統(tǒng)上停留一段時(shí)間。 如果用戶確實(shí)這樣做了,并且點(diǎn)擊次數(shù)足夠多的話,那么系統(tǒng)的推薦效果會(huì)更好,推薦的內(nèi)容對(duì)用戶更有吸引力。

 

原文標(biāo)題:What Are the Three Ways to Build a Recommender System When You Don’t Have AudienceData?

原文作者:?Mahbub Gani

編譯作者:第四范式 先薦

編輯整理:碧綠色的小兔子

本文由 @碧綠色的小兔子 翻譯發(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. 目前還沒(méi)評(píng)論,等你發(fā)揮!