基於內容的推薦(u2tag2i)
一、概述
u2tag2i:基於標籤的泛化推薦,先統計使用者偏好的tag向量,然後匹配所有的Item,(這個tag一般是item的標籤、分類、關鍵詞等tag),可以利用jaccard距離公式算相似性評分;
優點:
基於內容的推薦一般是推薦系統的起步階段,而且會持續存在,其重要性不可替代。
(1) 為某一使用者做推薦的時候不需要使用其他使用者的資料。
(2) 產品冷啟動階段,新的物品要被推薦出去,首選內容推薦。
(3) 可解釋性好,產品的特徵決定了推薦值。
缺點:
(1) 某些物品的特徵提取比較難。
(2) 過於專門化。永遠不會推薦和使用者曾經喜歡的物品不相干的物品,完全沒有利用其它使用者的喜好來提高對此用的推薦質量。
(3) 對於新使用者有冷啟動問題。新使用者的使用者畫像為空,無法做出推薦。
新使用者冷啟動:推薦目前熱度最高的物品、讓新使用者主動選擇一些標籤tag做推薦
適用場景:特別適合文字領域,比如新聞推薦等。核心在於把物品描述以及內容更好的利用起來。
二、整體流程
1、原始資料(music_meta)
musicid 音樂id desc 簡單音樂描述資訊(文字內容) catgory 音樂類別
對music_meta資料的簡單描述資訊desc進行抽取,然後將其作為物品的內容,然後進行分詞,利用tf-idf進行關鍵詞抽取,得到top3的關鍵詞,能夠得到物品的關鍵詞表:
musicid 音樂id keywords 關鍵詞列表(tag)
由u2u2i(上一篇部落格)可以知道基於使用者聽歌日誌表得到使用者對音樂的喜愛程度欄位
userid , musicid, rating AS score
2、製作使用者標籤
3、物品標籤(即關鍵詞)和使用者標籤做相似匹配
物品標籤做倒排優化:
原來:
musicid keywords
item_id: 劉德華、潘瑋柏、周杰倫
倒排後:
(
劉德華,i1:0.3,i3:0.5,i7:0.7
潘瑋柏,i2:0.8,i9:0.7,i11:0.1
)
使用者標籤:
user_id: 劉德華、潘瑋柏
可以用基於jaccard距離:使用者標籤和物品標籤的交集除以其並集,作為使用者對物品的評分。