1. 程式人生 > 其它 >基於內容的推薦(u2tag2i)

基於內容的推薦(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距離:使用者標籤和物品標籤的交集除以其並集,作為使用者對物品的評分。