1 直观描述
对于物品集,它们有很多共同的属性(只是各个物品在属性上的取值不同)。以电影为例,属性可以有①中国②美国③武侠片④战争片⑤爱情片……等等(注意此处的属性要具体化,而不是从宏观上划分为国别、电影类型,否则各个电影在属性上就无法取值了)。根据某一用户A的历史评分数据(其对电影的隐式操作记录等都可以转化为评分),发现在A对一部电影的评分过程中,属性①和属性③占的比重较大,于是我们可以推测用户A更加喜欢符合属性①③的电影。
需要说明的是,最终给用户A推荐的电影都是根据我们对用户A对各部电影的预测评分来排序的,而评分通常是对各个属性的打分的累加,只是说对用户A而言,电影的某些属性(如①和③)在最终的评分中比重较高,另一些属性比重较低而已。比重的高低通过计算评分时各属性所相乘的系数来反映,而这些系数正是需要我们通过用户A的历史评分数据以及物品集中各电影的属性数据来计算得到的。
2 基于内容推荐的步骤
⑴ 构造物品集的特征。对于非结构化的数据可以想办法转换成结构化的数据。
⑵ 计算用户的偏好。所谓偏好是指前面所说的这些系数,即在预测某个用户对一部电影的评分时,与各个属性值相乘的系数。不同用户的这些系数的值不同,这也就体现了个性化。如果物品集的属性种类数为 n,则对用户A来说,他的这些系数可用一个 n 维向量表示。想一次性表示出所有用户的偏好,可采用一个 m 乘 n 的矩阵,其中 m 是用户的数目。
⑶ 计算(其实就是进行预测)某一用户对物品集中他尚未进行评分的物品的评分,并依据计算出来的评分高低来进行推荐。计算的过程就是:将物品的属性向量与该用户的偏好向量相乘(形象地说就是进行匹配)。
网友评论