• 冷启动


     文章目录

        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进行推荐了。

  • 相关阅读:
    [Redis]在.NET平台下的具体应用
    [Redis]在Windows下的下载及安装
    【重读MSDN之ADO.NET】ADO.NET连接
    贪心
    树状数组
    并查集
    模拟
    kruskal
    树链剖分
    匈牙利算法
  • 原文地址:https://www.cnblogs.com/hrnn/p/13370075.html
Copyright © 2020-2023  润新知