最近,我喜欢上了东野奎吾的作品,⽐比如《⽩夜行》和《嫌疑人X的献身》,觉得⾮常赞,看完觉得还不过瘾,这时候我有两种继续阅读的路线:一种是根据⾃自⼰己看过的书的性质来寻找与书⻛格相似或者是作者的另外的作品,另外一种是看同样阅读这两本书的⼈人还阅读了哪些书籍。这⾥里的第⼀种方法,就是基于内容的推荐方式——试图推荐给定⽤用户过去喜欢的相似物品,而第二种⽅法,则为协同过滤推荐方式——识别出拥有相同喜好的⽤用户,并且推荐他们喜欢的物品。
本周介绍基于内容的推荐系统。
(一)基于内容的推荐系统⾼层次结构
STEP1:物品的描述有许多种表达,当物品信息没有结构化时候(⽐如⽂本),我们需要对物品信息进⾏行预处理。这一阶段控制的部件我们称为内容分析器(Content Analyzer),其作⽤就是将对象的内容表示成恰当的格式。
STEP2:⽤用户过去的⾏行为表明了这个⽤用户的偏好,我们需要收集其数据特征,并且去泛化这些数据。这⼀一阶段控制的部件我们称为信息学习器((Information Learner)。通常是通过机器学习技术实现的。
那么,用户的偏好从哪⾥里获得呢?
⽤户对物品的偏好反应(称为反馈)是通过某些渠道收集并记录在反馈库中。反馈分为显式反馈(系统要求用户明确评价物品)和隐式反馈两种,显⽰反馈主要包括:喜欢/不喜欢、评分(一星到五星)和⽂本评论三种⽅方式。⽽隐式反馈则是基于⽤户在某样物品上的特定行为(保存、删除、打印、收藏等等)进行相关性评分赋值。
STEP3:收集完用户的个⼈信息和物品的信息后,需要进⾏⽐对——更准确地说,是将数值化的⼆者信息在空间进行匹配(通常是使⽤某种相似度进行计算)。这一模块我们称为过滤组件(Filtering Component),其结果能生成一个潜在感兴趣物品的排名清单。
(⼆)基于内容的推荐系统优缺点
优点1,⽤户独立性强。我的选择不会受其他⽤户的影响,推荐的物品都是符合我的菜(⾄少是我之前喜欢的菜)。
优点2,透明度。我能清楚知道这个推荐系统是怎么工作的,推荐的TOP-N物品其特征是最接近⽤户偏好。
优点3,未被其他⽤户评价的物品也可以被推荐,只要物品的特征符合用户的偏好情况。