基于内容的推荐算法
一、算法原理 ??基于内容的推荐(Content-based Recommendation,简称CB)是建立在项目的内容信息上做出推荐的,不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。简单理解是根据推荐项目的属性,计算项目间的相关性,然后根据用户的偏好记录,推荐给用户相似度高的物品。
??在基于内容的推荐系统中,项目或对象是通过相关特征的属性来定义的,系统基于用户评价对象的特征、学习用户的兴趣,考察用户资料与待预测项目的匹配程度。用户的资料模型取决于所用的学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。
二、实现过程 CB算法主要包含三个步骤:
- Item Representation:对一个产品(item)抽取其特征属性出来,即结构化物品的描述操作(也可以理解为对产品做用户画像)。
- Profile Learning:利用一个用户之前的产品偏好特征数据,来学习该用户的喜好特征(profile)。
- Recommendation Generation:比较上一步得到的用户喜好特征和产品特征,为此用户推荐一组相关度最高的产品。
文章图片
三、算法优缺点 【推荐算法|基于内容的推荐算法】优势:
??1.由于推荐的是内容上相似的物品,与用户之间的关联无关,这就意味着给目标用户的推荐结果不会受到其他用户的影响。
??2.针对新内容来说,不需要用户有相关历史数据,知道它的分类标签即可推荐给目标用户,也就意味着不存在项目冷启动问题。
??3.对用户兴趣可以很好地建模,并通过对物品属性维度的增加,获得更好的推荐精度。
不足:
??1.物品的属性有限,很难有效的得到更多数据。
??2.需要用户的偏好历史数据,有冷启动的问题。
??3.在对内容建模的过程中,需要模型全面且完整。而事实上通过用分类标签描述内容,往往是不全面的,简简单单的几个标签很难全面的表达项目的所有内容,有一定的片面性。
四、其他 ??基于内容的推荐与基于人口统计学的推荐有类似的地方,只不过系统评估的中心转到了内容上,使用内容本身的相似度而不是用户的相似度来进行推荐。
推荐阅读
- 推荐算法|基于人口统计学的推荐算法
- 推荐算法|相似度计算(1)——余弦相似度
- python|Python基于协同过滤算法的电影推荐系统设计与实现
- 程序员数学|程序员的需要掌握的数学知识
- c语言|c语言————字符串的逆序旋转
- C语言|C语言——字符串旋转问题
- CPSC 319图数结构
- 神经网络|目标检测算法YOLOv4详解
- python|经典非局部均值滤波(NLM)算法python实现(1)