我目前正在开发一个现有系统,该系统推荐的项目类似于用户喜欢的旧项目。
它使用交替最小二乘协同过滤来查找用户和项目的特征向量。然后,它使用项目的特征向量,并使用余弦相似性度量来查找与之类似的项目。
但是,我想澄清这是基于项目的CF还是基于内容的过滤?我倾向于两者都是。由于它使用相似性度量来比较项目,但项目是否在特征向量的内容上?
谢谢,
答案 0 :(得分:1)
如果我理解你从类似用户的项目数据中提取项目的特征向量,那么它就是纯粹的item-based CF。
为了进行基于内容的过滤,应该使用项目本身的功能:例如,如果项目是电影,基于内容的过滤应该利用诸如电影的长度或其导演等特征,但不是基于其他用户偏好的功能。
答案 1 :(得分:0)
我想您的倾向是正确的,您正在将内容过滤和协作过滤结合起来。如果您使用的是基于内容的内容,则项目和用户的向量可以称为数据的x_i(如数据点),而输入数组中表示用户i对项目j给出了多少评级的单元格A_ij可以称为义。 您正在使用余弦相似度来查找项目和用户-用户之间的相似度。 我想在您的情况下,您应该进行协作。
尝试建立项目矩阵,然后计算余弦相似度。