美文网首页
推荐系统实践学习系列(四)利用用户标签数据

推荐系统实践学习系列(四)利用用户标签数据

作者: 简书用户9527 | 来源:发表于2018-06-24 08:47 被阅读88次

    推荐系统的目的是联系用户的兴趣和物品

    流行的推荐系统通过3种方式联系用户兴趣和物品

    (1):利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品,这是基于物品的算法。
    (2):利用和用户兴趣相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品,这是基于用户的算法。
    (3):通过一些特征(feature)联系用户和物品,给用户推荐那些具有用户喜欢的特征的物品。

    特征有不同的表现形式,可以是物品的属性集合(图书:作者,出版社、主题和关键词),也可以表现为隐语义向量(用户的行为历史)还有种特征表现形式----------标签


    标签的定义:

    标签是一种无层次化结构的、用来描述信息的关键词,它可以用来 描述物品的语义。根据给物品打标签的人的不同,标签应用一般分为两种:一种是让作者或者专 家给物品打标签;另一种是让普通用户给物品打标签,也就是UGC(User Generated Content,用 户生成的内容)的标签应用。UGC的标签系统是一种表示用户兴趣和物品语义的重要方式。当一 个用户对一个物品打上一个标签,这个标签一方面描述了用户的兴趣,另一方面则表示了物品的 语义,从而将用户和物品联系了起来
    UGC:

    普通用户给物品打标签,也就是UGC(User Generated Content,用 户生成的内容)的标签应用。

    一般用户会打什么样的标签呢?

    (1)表明物品是什么(2)表明物品的种类(3)表明谁拥有物品
    (4)表达用户的观点(5)用户相关的标签(6)用户的任务
    (7)类型(8)时间(9)人物
    (10)地点(11)语言(12)奖项

    (一)一个简单的标签算法:

    (1) 统计每个用户常用的标签
    (2)对于每个标签,统计被打过这个标签次数最多的物品
    (3)对于一个用户,首先找到他常用的标签,然后找到具有这些标签的最热门物品推荐给这个用户。

    image.png

    python标签的推荐算法:


    image.png

    但是上面的推荐算法并不是完美,这里我们需要考虑到对热门标签和热门物品进行打压

    可以改进下算法:
    借用TF-IDF的思想

    标签的清理方法:

    (1)去除词频很高的停止词
    (2)去除因词根不同造成的同义词
    (3)去除因分隔符造成的同义词

    (二)基于图的推荐算法

    首先,我们需要将用户打标签的行为表示到一张图上。我们知道,图是由顶点、边和边上的 权重组成的。而在用户标签数据集上,有3种不同的元素,即用户、物品和标签。因此,我们需 要定义3种不同的顶点,即用户顶点、物品顶点和标签顶点。然后,如果我们得到一个表示用户u 给物品i打了标签b的用户标签行为(u,i,b),那么最自然的想法就是在图中增加3条边,首先需要在 用户u对应的顶点v(u)和物品i对应的顶点v(i)之间增加一条边(如果这两个顶点已经有边相连,那 么就应该将边的权重加1),同理,在v(u)和v(b)之间需要增加一条边,v(i)和v(b)之间也需要边相 连接。

    image.png

    图4-11是一个简单的用户—物品—标签图的例子。该图包含3个用户(A、B、C)、3个物品(a、 b、c)和3个标签(1、2、3)。 在定义出用户—物品—标签图后,我们可以用第2章提到的PersonalRank算法计算所有物品节点, 相对于当前用户节点在图上的相关性,然后按照相关性从大到小的排序,给用户推荐排名最高的 N个物品。

    (三)给用户推荐标签

    给用户推荐标签的意义:
    1 方便用户输入
    2 提高标签质量

    这篇主要讲了使用标签进行推荐,实际中的推荐系统更多是多种推荐的组合。

    相关文章

      网友评论

          本文标题:推荐系统实践学习系列(四)利用用户标签数据

          本文链接:https://www.haomeiwen.com/subject/hvthyftx.html