推荐系统基础算法之基于内容的推荐算法

基于内容的推荐算法

基于内容的推荐算法的基本方法可归纳为以下四个步骤

1. 特征(内容)提取 ,提取每个待推荐物品的特征(内容属性)。例如电影、书籍、商品的分类标签等。这些特征往往分为两种:结构化的特征和非结构化的特征。

所谓结构化特征就是特征的取值限定在某个区间范围内,并且可以按照定长的格式来表示。例如,电影类别特征,算法人员往往会和编辑提前约定好所有可选的电影类别。并把所有备选的电影都标注上这些类别标签。假如可选的电影类别有“爱情、剧情、科幻、战争、中国、美国、韩国、日本”共计8个类别(当然真实类别远不止8个)。比如,《星球大战》同时具有科幻和美国2个内容特征,那么他的结构化特征可用一个8位的二进制数表示。其中0表示该电影不具备该特征,1表示该电影具备该特征。

非结构化的特征往往无法按固定的格式表示,最常见的非结构化数据就是文章。例如对推荐文章,我们往往会把文本上的非结构特征转化为结构化特征,然后加入到模型使用。下面我们就详细介绍如何把非结构化的文字信息结构化

例如N个待推荐文章的集合为D={d1,d2,d3,…,dN},而所有文章中出现的词的集合模型为T={t1,t2,t3,…,tm}.将其称为字典(对于英文文本,可直接取单词;对与文章,需要先进行分词,常见的开源分词工具有结巴分词、中科院分词等)。也就是说我们有N篇待推荐的文章,而这些描述里包含了每个不同的词。我们最终要使用一个向量来表示每一篇文章,比如第j篇文章表示为dj={w1j,w2j,w3j,…,wnj}
其中w1j表示第一个词t1j在第j篇文章中权重,该值越大表示越重要;dj中其他向量的解释类似。所以,现在关键就是如何计算dj个分量的值了。有以下几种常见的计算方法
(1) 基础统计法。例如,如果词t1出现在第j篇文章中,我们可以选取w1j为1,如果t1未出现在第j篇文章中,选取w1j为0;
(2) 词频统计法。我们也可以选取w1j为词t1的出现在第j个商品品描述中的次数。基础统计法,只考虑了词tj是否出现在某一篇文章中,并没有考虑其整体出现在的频次。例如词k是“我们”,第j篇文章包含这个词,则wkj取1,但这个词其实并没有信息量,因为很多文章都包含了“我们”,wkj都会取1。所以通常会引入词频-逆文档频率(temr frequency-inverse document frequency,简称 TF-IDF)。第j篇文章与词典里第k个词典对应的TF-IDF为:TF-IDF(tk,dj)=TF(tk,dj)*log(N/nk) ,其中TF(tk,dj)是第k个词在第j个商品描述中出现的次数,出现的次数越多,代表该词越重要,从而TF值越大。而nk是包括第K个词的文章数量,nk越少代表词越稀有,越能代表这篇文章,从而TF值越大。最终第k个词在文章j中的权重由下面的公式获得:

Wk,j=TF-IDF(tk,dj) / sqrt(所有TF-IDF(tk,dj)的平方之和)

做归一化的好处是 ,不同文字描述的表示向量被归一到一个量级上,便于下面步骤的操作。这时候我们已经获得了每篇文章的内容特征向量,形如 dj=(w1j,w2j,…,wnj),下一步就可以计算用户的内容偏好了。

2. 用户偏好计算,利用一个用户过去的显式评分或者隐式操作记录,计算用户不同特征(内容属性)上的偏好分数;

计算内容偏好,比较直接的方法就是取用户喜欢文章的向量平均值。假设用户喜欢第1,3,7篇文章,则该用户的内容特征向量为:Uk=(dk1+dk3+dk7)/3=(U1k,U2k,…,Unk).那么用户k在文章t上的得分则可用以下余弦公式计算:

score = *cos a = Uk * dt / ( || Uk || * || dt ||)
= 所有乘积求和 Uik * Wit (i从1-n) / (Uik的平方和 * Wit的平方和)

这时,推荐系统取得分score得分最高的文章推荐即可。余弦值的范围在[-1,1]之间,值越趋近于1,代表两个向量的方向越接近,用户越可能喜欢。值越趋近于-1,他们的方向越相反,则用户越不可能喜欢。

3. 内容召回 :将待推荐物品的特与用户偏好得分匹配,取出用户最有可能的物品池。例如,用户A最有可能喜欢的物品池是科幻电影.用户B最有可能喜欢的物品池 是爱情电影的物品池;
4. 物品排序,按用户偏好召回物品池,可能一次性挑选出很多内容。这时候我们可以进一步根据这些电影的平均分进行排序。

通过以上四步,就可以快速构建一个推荐系统。并且基于内容的推荐方法用户易于理解,简单有效。常常和其他推荐方法共同应用于推荐系统中。

基于内容的推荐方法的优点是

1.物品没有冷启动问题,因为物品的内容特征不依赖于用户数据;同时推荐的物品不会存在过于热门的问题。
2.能为具有特殊兴趣爱好的用户进行推荐,
3.原理简单,易于定位问题。

基于内容的推荐方法的缺点是

(1) 他要求内容必须能够抽取出有意义的特征,且要求这些内容特征具有良好的结构性
(2) 推荐精度较低,相同内容特征的物品差异性不大。

以上这些局限性,所以有了基于协同过滤的算法。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值