美文网首页
豆瓣读书推荐模块分析

豆瓣读书推荐模块分析

作者: 奇颖 | 来源:发表于2018-03-01 16:36 被阅读0次

    现在已经很习惯,看到什么感兴趣书籍后,去豆瓣上查看书籍的评分和评价,来帮助自己了解这本书,看看是不是适合我。

    使用过程也发现,豆瓣读书的推荐其实还不是很理想,刚好此次策略产品课的作业是它。

    以下通过策略产品经理方法论、描述统计学的方法,通过数据分析初探关于豆瓣图书推荐模块的规则。


    *说明:此次分析的模块为豆瓣图书详情页中的:喜欢这本书的人也喜欢...
    ,如图:


    image.png

    理想情况下,该模块推荐给用户的书籍,是与当前书籍强相关、能让用户感兴趣并且感到惊喜的书。

    理想情况下,用户在书籍页面的推荐模块,是想找到与这本书有强相关的书籍,即类似的好书,相类似的好书可能是内容相似、可能是类型相似、可能是系列书籍、可能是同个作者的书籍。 同时该书自己未曾读过,能让自己感觉到惊喜的书籍。

    分析说明

    本次分析的目的是,找到豆瓣读书中【喜欢这本书的人也喜欢】这个模块的推荐策略,并发现该策略可能存在的问题。

    数据集说明

    此次数据采集为10本书籍下的被推荐书籍,选取书籍的标签,通过分析,探索豆瓣书籍的推荐策略。(由于时间有限,数据又由人工采集,标签标注量大,因此数据样本为10本。可能与真实的豆瓣推荐策略有所出入,但此次的分析也能窥见其一部分策略问题。)

    假设总体数据呈正态分布,样本为随机抽取,由于时间有限,本次样本为10本,10本书籍被推荐的书籍总数为86本。

    选取的标签为:书名、图书类型、出版社、出版时间、作者、是否有系列、评分、标签、豆列。

    统计每本书下【喜欢该书的用户也喜欢】这个模块下被推荐的书籍与该书在标签上的相关性。

    部分数据截图:

    image.png

    在统计了10本书的推荐书籍的标签数据后,得出以下的数据,部分截图如下:

    image.png
    提出假设

    在分析样本之前,对豆瓣【喜欢这本书的用户也喜欢】这个模块的推荐策略,做出以下假设:

    因为图书相比影视类型的特殊性,读书频道的用户更愿意从领域专家那获得图书的建议,用户需要的是与自己相似的专家的推荐,因此,

    • 书籍的评分必然是高分
    • 喜欢当前书籍的也喜欢同【作者】的高分书籍
    • 喜欢当前书籍的也喜欢同【类型】的高分书籍
    • 喜欢当前书籍的也喜欢同【标签】的高分书籍
    • 喜欢当前书籍的也喜欢同【系列】的高分书籍
    • 喜欢当前书籍的也喜欢同【豆列】的高分书籍
    • 喜欢的书籍是我曾经感兴趣的书籍

    按照这个思路,假设当前豆瓣【喜欢这本书的用户也喜欢】模块的推荐策略为:

    • 被推荐的书籍必然是高分书籍
    • 被推荐的书籍与当前书籍的作者为同一个人
    • 被推荐的书籍与当前书籍的类型为同一类型
    • 被推荐的书籍与当前书籍的标签相同
    • 被推荐的书籍与当前书籍的豆列相同
    • 被推荐的书籍与当前书籍属于同一系列书籍
    • 被推荐的书籍与用户的行为有关

    下面对假设做出分析

    抽样分析

    探索数据集并做描述性分析

    说明:以下截图皆为整体数据的部分截图,不代表整体数据,整体数据附件在最末尾

    一、描述性分析
    1. 计算10本样本书籍的被推荐书籍的平均得分

    共计86本被推荐书籍,平均得分8.5分

    image.png

    根据数据结果,书籍的平均得分为8.5分,豆瓣书籍的总分为10分,8.5分相对来说已经是非常高的分数了。但由于此次样本较少,无法准确定义8.5分是否为高分,只能主观上判定为高分。

    2. 探索被推荐书籍与当前书籍是否为同一个作者

    10本书籍的被推荐书籍总数为86本,其中,有27本被推荐书籍为同一个作者,占比31.40%。部分截图如下:

    image.png

    由以上数据分析可知,被推荐书籍与作者可能存在一定相关性。

    3. 探索同系列与被推荐书籍的关系

    86本被推荐书籍中,只有13本被推荐书籍与样本书籍为同系列,占比15.12%部分截图如下:


    image.png

    由数据可知,同系列与被推荐的书籍相关性较低。

    4. 探索被推荐的书籍与书籍类型的关系

    样本中,《人类简史》这本书属于【历史】类型,但被推荐的5本书中,没有一本与它的类型一致。同样,《认识商业》这本书,属于商业类书籍,但被推荐的10本书籍中,有8本与它的类型不一致。

    《创业维艰》这本书属于经管类型,但被推荐的6本书中,有5本书与它的类型不一致。

    由以上可知,被推荐书籍与书籍的类型关系不大

    5. 探索被推荐的书籍与标签的关系

    86本被推荐书籍中,只有3本书不属于同一个标签,也即被推荐书籍与当前书籍同标签的占比为96.51%。

    由此可知,被推荐的书籍与书籍标签有强相关性。

    进一步观察,发现每一本书下都有至少几十种的标签,书籍详情页只展示7-8个热门标签,越多人标记的展示越靠前,因此可知,标签被标签的次数为被推荐的权重之一。

    但标签的命名,是否存在人为管理暂时不得而知,本文不做探索。

    6. 探索被推荐书籍与豆列的关系

    86本被推荐的书籍中,有56本书籍与当前书籍同一个豆列,占比65.12%。

    由此可知,豆列与被推荐书籍有强相关性。

    另外,根据观察,被推荐的豆列的在收藏和推荐的数据上相比其他含有该书籍的收藏数和推荐数在数量上差距很大,因此可知热度越高的豆列被推荐的可能性越大。

    7. 推荐结果非个性化推荐的结果

    经过测试,当我登录或不登录,或者用其他人的账号登录,看到的《为何家会伤人》被推荐的书籍都一致,由此可知,推荐结果与用户个性化行为无关,推荐模块非个性化推荐。

    二、结论

    根据以上的描述性分析,得出以下结论:

    • 所有推荐书籍皆为平均分8.5分的书籍,主观上相对高分
    • 所有被推荐的书籍与当前书籍的标签有强相关性
    • 所有被推荐的书籍与当前书籍的豆列有强相关性
    • 含有当前书籍的标签、豆列,被打标签/被收藏的越多关注度越高,被推荐的可能性越高
    • 图书类型、同系列与是否被推荐无相关
    • 同一个作者书籍在推荐中,所占权重比较低
    • 推荐结果与用户行为无关,推荐模块非个性化推荐

    说明:由于本次样本数量小,以上结论皆为单变量探索,与实际可能存在一些出入,善待更多数据进一步验证。

    三、问题分析

    根据以上的分析结论,得出以下几个问题:

    1. 热门书籍出现在同标签下大部分的书籍推荐结果中,导致热门集群效应

    根据数据及查阅到的资料发现,豆瓣读书的推荐算法使用的是CF中,基于物品的特征相似性给予推荐。即通过一些特征联系用户和物品,给用户推荐那些具有用户喜欢的特征的物品,这个特征方式即标签、豆列,推荐的结果是基于相同的热门标签和豆列的集合。

    这样的结果就是造成热门集群效应,让推荐位容易长期被几本热门的著作占据。长此以往,就会造成两个问题:

    • 用户看到这些热门书籍后标记的标签也容易是那些被推荐的常用标签,导致该标签越来越热门,从而又反过来影响这本书的推荐书籍。这就引发第二个问题
    • 越是热门的书籍就越会被更多人打标签,被更多人收藏,久而久之,就成了马太效应。
      这样用户就没有惊喜感了,而理想情况来说,被用户推荐的书籍应该是用户未标记过【已读】/【想读】等一系列行为的书籍,因此这样的推荐结果实际是不理想的。
    2. 被推荐书籍与类型无关,难以满足想找类似书籍的用户需求,容易导致需要重新搜索该类型的其他相似高分书籍

    有的书籍与这本热门书其实关系不大。举例来说,在《增长黑客》这本书中,看到被推荐的书籍中就有《启示录》,严格来说,《增长黑客》这本书其实算偏运营的,而《启示录》算是产品类或经管类的书籍,与《增长黑客》的类型差异很大。

    再比如,我在《认识商业》这本书下,看到的被推荐书籍如下:

    image.png

    这些被推荐的书籍与《认识商业》的类型相较,类型都不相同,而作为一个想学习商业知识的用户而言,其实对他们更有价值的,是类似《认识商业》内容的高分好书,因此这个推荐结果其实不理想。

    3. 同作者的书籍推荐太多

    武志红的书籍和吴军的书籍,被推荐的书籍几乎全部都是他们俩自己的书

    image.png

    图中被标记的都是与当前书籍同作者的书籍,出现频率太高了,其他作者的书反而少。

    4. 同一本书的不同版本

    根据观察,推荐结果中包含了实际为同一本书的不同版本,但豆瓣实际目前已经将书籍的书评的长评和短评数据汇总了,即同一本书的不同版本下的短评和长评是一样的。因此其实没必要推荐不同版本。

    优化策略
    image.png

    相关文章

      网友评论

          本文标题:豆瓣读书推荐模块分析

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