冷启动

 

 文章目录

    3 冷启动
        3.1 利用用户注册信息
        3.2 利用物品的内容信息

3 冷启动

冷启动问题主要分为3类:

    用户冷启动:解决为新用户做个性化推荐的问题
    物品冷启动:解决将新物品推荐给可能对它感兴趣的用户这一问题
    系统冷启动:解决在新开发的网站上,没有用户,也没有用户行为,只有一些物品信息的推荐问题

这里主要分享两个算法,一个是利用用户的注册信息进行冷启动,一个是利用物品本身信息进行冷启动。
3.1 利用用户注册信息

   

这里主要利用用户注册时填写的人口统计学信息,如年龄、性别、职业、民族、学历和居住地等,来进行推荐。其基本流程如下:

    获取用户的注册信息
    根据注册信息对用户进行分类
    给用户推荐他所属那个分类中用户喜欢的物品

其中核心问题是计算每种分类(特征)的用户喜欢的物品,即对于每种类别(特征)f
f,计算具有这种特征的用户对各个物品的喜好程度p(f,i)

p(f,i)。

令N(i)
N(i)为喜欢物品i的用户集合,U(f)U(f)是具有特征f

f的用户集合。计算方式有如下两种:

a. 物品i在具有f

f的特征的用户中的热门程度

p(f,i)=∣N(i)⋂U(f)∣

p(f,i)=∣N(i)⋂U(f)∣

b. 喜欢物品i的用户中具有特征f

f的比例

p(f,i)=N(i)⋂U(f)∣N(i)∣+α

p(f,i)=∣N(i)∣+αN(i)⋂U(f)​

α
α是为了解决数据稀疏的问题,比如有一个物品只被1个用户喜欢过,而这个用户刚好就有特征ff,那么就有p(f,i)=1

p(f,i)=1。但是,这种情况并没有统计意义,因此为分母加上一个比较大的数,可以避免这样的物品产生比较大的权重。
3.2 利用物品的内容信息

 

一般物品都有自己的内容信息,比如有一些文本等信息,这时候可以用NLP的知识将物品内容表示成向量空间模型,即表示为一个关键词向量。其流程如下图:

例如对于物品d,它的内容表示为关键词向量如下:其中ei
ei​是关键词,wi

wi​是关键词对应的权重。

di=(e1,w1),(e2,w2),...

di​=(e1​,w1​),(e2​,w2​),...

对于关键词权重的计算可以使用著名的TF-IDF公式:

wi=TF(ei)logDF(ei)

wi​=logDF(ei​)TF(ei​)​

在给定物品内容的关键词向量之后,对于物品相似度的计算就可以通过余弦相似度进行计算:

wij=<di,dj>∣∣di∣∣∣∣dj∣∣√
wij​=∣∣di​∣∣∣∣dj​∣∣

​<di​,dj​>​

同样的,与前面的协同过滤算法类似,可以建立关键词-物品的倒排表加速计算过程。

在得到物品之间的相似度之后,就可以用前面的ItemCF进行推荐了。

 

posted on 2020-07-24 09:10  滚雪球效应  阅读(354)  评论(0编辑  收藏  举报