基于内容的推荐算法
用户的兴趣跟系统要推荐的商品的文本描述紧密相关的。
一个商品的文字描述越符合某个用户的兴趣,那么,该用户越可能对该商品感兴趣,该商品越可能会被推荐给该用户。
算法简介: 在基于内容的推荐系统中,内容由关键字来描述,关键字的信息量通过计算它的 TFIDF 权重来度量。定义 为商品 的文本描述中第 个关键字的 TFIDF 权重,则该商品可用向量表示为 。然后,基于商品内容的向量表示,通过使用相似度度量标准,如余弦相似度,去测量用户评过分的商品和没有评过分的商品的相似度,从而推荐与用户过去喜欢的商品相似的商品。
算法不足:
- 内容分析受到限制
基于内容的推荐系统需要从内容中提取用户或商品的特征。如果商品内容的描述信息不存在或者描述不准确,就无法区分用户喜欢和不喜欢的商品。
- 集中化推荐问题
基于内容的推荐系统只推荐与用户评过分的商品相似的商品,这意味着用户喜欢的其他商品不会被推荐给用户。
- 新用户问题
基于内容的推荐系统需要收集到足够的评分数据,才能理解用户的喜好,进而生成精确的推荐结果。对于一个新的用户而言,只有很少的评分甚至没有评分,因而无法提供可信的推荐。
协同过滤推荐
这个方法利用用户过去的行为如商品评分,在不需要其他信息的情况下,就能直接预测用户的喜好。即如果两个用户对过去的商品有相同的喜好,那么,相对于其他的随机选择的用户,他们对于新的商品更可能具有相似的喜好。
协同过滤方法通常可以分为两类:基于内存的方法和基于模型的方法。
基于内存的协同过滤方法
利用所有用户对商品的评分信息去预测缺失的评分。
这种方法又可以进一步划分为面向用户的方法和面向商品的方法:
- 面向用户的方法
首先找到与目标用户相似的用户,然后计算相似用户对目标商品的评分的加权平均值作为预测的评分。
- 面向商品的方法
首先计算与目标商品相似的商品,然后计算目标用户对相似商品的评分的加权平均值作为预测的评分。
基于内存的协同过滤方法需要解决的两个关键问题是相似度计算和评分累计。面向用户的方法和面向商品的方法都能采用相同的技术解决上面的两个问题。
下面举一个面向用户的方法的例子来说明:
- 计算相似度
-
皮尔森相关系数:度量两个向量之间线性相关的程度
-
用户 和 之间的皮尔森相关系数被定义为这两个用户的评分向量的协方差与他们的标准差的乘积的商
-
余弦相似度:计算评分向量的点积,即评分向量构成的夹角的余弦值
-
其中, 表示用户 和 评过分的商品的集合, 表示用户与用户之间的相似度矩阵, 表示用户 的平均评分。
- 评分累计
- 在得到用户与用户的相似度矩阵之后,通过累积与目标用户相似的用户的评分,来预测用户对目标商品的评分。
- 加权平均 是最常用的方法
基于模型的协同过滤方法
通过建立模型来模拟用户对商品的评分行为。使用数据挖掘和机器学习技术,从训练数据中确定这个模型,就能使用得到的模型预测未知的商品评分。
常见的基于模型的协同过滤方法:
- 贝叶斯信念网络模型
- 聚类模型
- 随机游走模型
- 矩阵分解模型
算法不足: 基于协同过滤的方法能够克服基于内容的方法的一些缺点。
- 无法为新的用户生成推荐
- 在评分数据稀疏的情况下难以产生有效的推荐
混合推荐算法
组合基于内容的方法和基于协同过滤的方法,来克服他们各自的缺点
- 整体式混合方式
- 单独实现基于内容的方法和基于协同过滤的方法,然后通过不同的机制,如投票机制和评分的线性组合机制,去组合他们的结果,从而生成最终的结果。
- 将内容融入协同过滤方法中
- 利用内容中提出的特征和部分商品评分去计算用户与用户之间的相似度,这种混合方法能在一定程度上缓解协同过滤的数据稀疏性问题。
- 将协同过滤融入基于内容的方法中
- 常常通过对内容的特征矩阵进行矩阵分解,来降低特征的维度,过滤特征当中无关的维度。
基于信任关系的推荐算法
根据一些社交关系理论,如移情效应、社交影响力,一个用户与和他存在社交关系的朋友,他们的兴趣爱好是相似的,或者送个用户的兴趣爱好会受到这些朋友的影响。移情效应说明,存在相似的兴趣爱好的两个用户,他们更可能建立社交连接。社交影响力显示,存在社交连接的两个用户更可能拥有相似的喜好
因此信任作为一种重要的社交关系受到了推荐系统领域研究人员的关注,他们利用信任关系来解决推荐系统面临的一些困难和挑战。基于信任关系的推荐系统包含两种信息,即评分信息和信任信息。
- 评分信息:包含用户对商品的所有评分,通常采用评分矩阵 来表示。
- 信任信息:表示一个用户是否会根据另一个用户的建议来采取相似的行为,如购买相同的商品。通常采用 来表示两个用户 和 之间的信任关系,采用 表示他们之间的信任关系值,其值为 和 或者是 到 之间的实数, 表示不存在信任或者信任信息未知, 表示信任信息已知或者完全信任。
由于协同过滤被广泛用于构建推荐系统,因此,大部分的基于信任关系的推荐系统都采用
协同过滤作为基础模型,利用信任网络分析的结果引入信任信息来构造推荐系统。通常,根据协同过滤方法的不同,基于信任关系的推荐方法,可分成两类,即基于内存的信任感知推荐和基于模型的信任感知推荐。
基于内存的信任感知推荐方法
基于内存的信任感知推荐系统使用基于内存的协同过滤尤其是面向用户的方法作为基础模型。其中,目标用户的缺失评分的预测值,可通过累计与目标用户有关联的用户集(用 表示)的评分来得到。
给定一个目标用户,传统的面向用户的方法利用与目标相似的用户,而基于内存的信任感知方法利用从评分信息和信任信息中获取与目标有关联的用户。
这类推荐方法通常包含两步:
- 对于给定用户 ,得到他的有关联的用户
- 与基于内存的协同过滤方法的第二步类似,通过评分累计策略,利用有关联的所有用户的评分来预测目标用户缺失的评分。
基于模型的信任感知推荐方法
基于模型的信任感知推荐系统使用基于模型的协同过滤方法作为基础模型。
矩阵分解技术是应用最广泛的基于模型的协同过滤方法之一,它具备一些很好的特性。
- 存在很多的优化方法,如梯度下降法,能被用于寻找最优解。
- 能用高斯误差进行很好的解释。
- 容易引入先验知识到模型当中
大多数基于模型的信任感知推荐方法采用矩阵分解为基础模型。这类方法的基础理论认为,用户的喜好与他们的存在信任连接的用户的喜好是相似的,或者受到这些相关联的用户的影响。
- 这类方法的统一形式化定义为:
其中,项 用于获取信任网络的分析后得到的信任信息, 表示信任信息中学习到的参数的集合, 用于控制信任信息的影响程度, 表示学习过程中已知评分的权重。
根据 的不同定义,可以分为三类方法:协同矩阵分解方法,集成方法和归一化方法。
电子商务推荐系统面临着多样性推荐问题:
- 冷启动问题
- 许多推荐系统利用用户生成的信息和历史数据去推荐商品给用户。然而,当个体用户首次登录电子商务网站时,他们没有购买过任何商品,所以没有任何历史数据信息。因此,对于这样的初次登录网站的新用户,系统很难去推测到他们到底喜欢什么样的商品。另外,对于非初次登录网站的用户,存在部分用户,他们没有购买过任何商品,或者只有几次购买记录,由于送些微量的信息往往不能够描述他们的习惯和购买模式,所以,系统也很难推测到这些用户的喜好。在推荐系统研究领域中,送样的问题被定义为冷启动问题。
- 数据稀疏性问题
- 与冷启动问题相似,当缺乏足够的历史或者先验信息时,数据稀疏性问题随之产生。冷启动问题发生的同时,数据稀疏性问题也会发生。与冷启动问题不相同的是,数据稀疏性问题,是相对整个系统而言,而不是相对于某个特定的个体用户。
- 多样性推荐问题
- 除了为用户提供个性化的推荐服务之外,电子商务推荐系统还需要满足电子商务网站的需求,增加电子商务网站的利润。电子商务网站提供的商品中,通常存在热门商品和非热门商品。对于非热门商品,如果推荐系统能够将它们推荐给一定条件下的合适用户,就有可能极大地增加销售量,从而为电子商务网站带来更多的利润,满足他们的需求。多样性的推荐,是指推荐的商品,对个体或者对整个系统而言,具有更高的多样性。解决多样性的推荐问题,对于电子商务推荐系统具有很重要的作用。