基于近邻的协同过滤算法
也被称为基于内存的算法(memory-based algorithm)。是最早的为协同过滤而开发的算法之一。这类算法是基于相似的用户已相似的行为模式对物品进行评分,并且相似的物品往往获得相似的评分这一事实。基于近邻的算法分为以下两个基本类型:
(1)基于用户的协同过滤:这种类型中,把与目标用户A相似的近邻用户的评分用来为A进行推荐,这些“同组群体”对每件物品的评分的加权平均值将用来计算用户A(对物品)的预计评分。
(2)基于物品的协同过滤:为了推荐目标物品B,首先确定一个物品集合S,使S中的物品与B相似度最高。然后,为了预测往意十不用户A对B的评分,需要确定A对集合S中物品的评分。这些评分的加权平均值将用来计算用户A对物品B的预计评分。
基于内容的推荐算法
基于内容的推荐系统尝试为用户匹配那些与其喜欢的物品相似的物品。这种相似性不一定基于用户之间的评分相关性,而是基于用户喜欢的对象的属性。不同于使用与目标用户相关的其他用户评分的协同过滤方法,基于内容的系统更加关注目标用户自己的评分,以及用户喜欢的物品的属性。因此其他用户在基于内容的系统中扮演的角色不太重要。换句话说,基于内容的方法利用不同的数据源给出推荐。
下面给出本系统基于内容的推荐算法的实现步骤。
(1)数据预处理和特征提取
这部分主要是对电影属性信息进行一个预处理,并提取电影的特征信息。在我们爬取的电影属性信息中,有些电影的某些属性信息是空值,或者属性值包含有空格、换行符、制表符等无用信息,我们需要先将这些属性信息通过一些字符串处理函数将其去掉。然后,我们需要从每部电影的属性信息中提取出关键词