推薦系統(tǒng)的冷啟動(dòng)問題是指對于新用戶系統(tǒng)缺乏足夠的數(shù)據(jù)來捕捉用戶的興趣并有效的推薦內(nèi)容。這個(gè)問題是推薦系統(tǒng)再實(shí)際產(chǎn)品應(yīng)用中的一個(gè)主要挑戰(zhàn)。再眾多針對此問題的解決方案中,又一類廣泛使用的方法是鼓勵(lì)用戶用社交網(wǎng)絡(luò)賬號登陸推薦系統(tǒng)。推薦系統(tǒng)可以利用用戶社交網(wǎng)絡(luò)的信息(比如關(guān)注關(guān)系、好友關(guān)系、興趣標(biāo)簽、發(fā)布內(nèi)容等)初始化用戶的興趣模型,從而進(jìn)行有效的推薦。
- 通過挖掘用戶發(fā)布內(nèi)容的關(guān)鍵字作為用戶興趣關(guān)鍵字。
- 利用用戶的社交關(guān)系吧用戶好友或者關(guān)注對象的興趣標(biāo)簽匯聚到用戶身上。
但在實(shí)際應(yīng)用中,很多用戶都比較敏感自己的隱私問題或者怕麻煩不會選擇社交網(wǎng)絡(luò)賬號登錄推薦產(chǎn)品。據(jù)統(tǒng)計(jì),再一些熱門的新聞推薦類的產(chǎn)品中,所有用戶中用微博、QQ、微信等主流賬戶登錄的不超過50%。這就是使得現(xiàn)有的方法很難徹底解決推薦系統(tǒng)新用戶的冷啟動(dòng)問題。
下面我們就來講講抖音是如何解決這類用戶的冷啟動(dòng)問題的:
- 獲取用戶移動(dòng)設(shè)備信息,通過該用戶的移動(dòng)設(shè)備的操作系統(tǒng)獲取用戶的移動(dòng)設(shè)備型號及安裝再該移動(dòng)設(shè)備上的所有APP信息。
- 基于協(xié)同過濾產(chǎn)生第一推薦列表,將數(shù)據(jù)庫中與該用戶的移動(dòng)設(shè)備型號或安裝的APP類似的其他用戶喜歡的內(nèi)容作為推薦內(nèi)容生成第一推薦列表
- 基于興趣標(biāo)簽映射產(chǎn)生第二推薦列表,把APP顯式地映射到一個(gè)或多個(gè)興趣標(biāo)簽,然后根據(jù)每個(gè)興趣標(biāo)簽篩選對應(yīng)的內(nèi)容作為推薦內(nèi)容生成第二推薦列表。
- 將上述的第一推薦列或第二推薦列表中的內(nèi)容推薦給該用戶。
下面我們來看看具體是如何算的:
- 篩選常用有區(qū)分性的APP。
- 選取常見的只能手機(jī)機(jī)型。
- 把APP和機(jī)型映射到特定維度。
- 對于給定用戶,從該給定用戶的移動(dòng)設(shè)備信息中抽取移動(dòng)設(shè)備特征向量。
- 基于WeakAND算法找到向量距離和該給定用戶最近的K個(gè)用戶。
- 統(tǒng)計(jì)這K個(gè)用戶中點(diǎn)擊率最高的內(nèi)容作為推薦內(nèi)容。
如何抽取移動(dòng)設(shè)備的特征向量:
- 將每個(gè)APP映射到一個(gè)[0, N-1]之間的維度。
- 將每個(gè)機(jī)型映射到一個(gè)[0,M-1]之間的維度,與用戶機(jī)型對應(yīng)維度的值為1,其他維度的值均為0.
- 用戶安裝的APP對應(yīng)維度的值為該用戶最近特定天數(shù)的使用次數(shù),其他維度的值均為0
- 定期分別統(tǒng)計(jì)每個(gè)APP和常用機(jī)型的用戶群體點(diǎn)擊率Top K的高點(diǎn)擊內(nèi)容列表。
- 給定用戶移動(dòng)設(shè)備,通過用戶移動(dòng)設(shè)備安裝的APP和機(jī)型分別獲取對應(yīng)的所述高點(diǎn)擊內(nèi)容列表
- 按照對應(yīng)的APP和機(jī)型的權(quán)重合并獲取的所述高點(diǎn)擊內(nèi)容列表并將其中的Top N作為推薦內(nèi)容。
如果維護(hù)興趣標(biāo)簽:
- 建立推薦系統(tǒng)自身的標(biāo)簽數(shù)據(jù)庫。
- 用網(wǎng)頁抓取技術(shù)抓取APP應(yīng)用市場中每個(gè)APP的標(biāo)簽。
- 把抓取過來的APP的標(biāo)簽映射到標(biāo)簽數(shù)據(jù)庫中。