基于内容的推荐算法
一、算法原理
基于内容的推荐(Content-based Recommendation,简称CB)是建立在项目的内容信息上做出推荐的,不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。简单理解是根据推荐项目的属性,计算项目间的相关性,然后根据用户的偏好记录,推荐给用户相似度高的物品。 ??在基于内容的推荐系统中,项目或对象是通过相关特征的属性来定义的,系统基于用户评价对象的特征、学习用户的兴趣,考察用户资料与待预测项目的匹配程度。用户的资料模型取决于所用的学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。
二、实现过程
CB算法主要包含三个步骤:
Item Representation:对一个产品(item)抽取其特征属性出来,即结构化物品的描述操作(也可以理解为对产品做用户画像)。
Profile Learning:利用一个用户之前的产品偏好特征数据,来学习该用户的喜好特征(profile)。
Recommendation Generation:比较上一步得到的用户喜好特征和产品特征,为此用户推荐一组相关度最高的产品。
过程:系统首先对电影的属性进行建模,如电影的类型、作者、剧情等。根据学习到的用户A的喜好特征:喜欢喜剧、动作类的小说,然后通过相似度计算,发现电影a和c相似度较高,由此得出结论,用户A很可能对电影c也感兴趣。于是将电影c推荐给用户A。
举个例子来讲,一个用户在腾讯视频看了一个李连杰的一个动作喜剧电影。然后系统就根据这个电影提取出它的几个特征,李连杰,动作,喜剧,然后进而推断出这个用户可能喜欢的电影,具有相似的特征。然后就会推荐一下其他的李连杰的动作,喜剧类型相关的电影给该用户。
三、算法优缺点
优势: ??1.由于推荐的是内容上相似的物品,与用户之间的关联无关,这就意味着给目标用户的推荐结果不会受到其他用户的影响。 ??2.针对新内容来说,不需要用户有相关历史数据,知道它的分类标签即可推荐给目标用户,也就意味着不存在项目冷启动问题。 ??3.对用户兴趣可以很好地建模,并通过对物品属性维度的增加,获得更好的推荐精度。 不足: ??1.物品的属性有限,很难有效的得到更多数据。 ??2.需要用户的偏好历史数据,有冷启动的问题。 ??3.在对内容建模的过程中,需要模型全面且完整。而事实上通过用分类标签描述内容,往往是不全面的,简简单单的几个标签很难全面的表达项目的所有内容,有一定的片面性。
四、其他 ??基于内容的推荐与基于人口统计学的推荐有类似的地方,只不过系统评估的中心转到了内容上,使用内容本身的相似度而不是用户的相似度来进行推荐。
|