美文网首页产品
推荐系统实践学习系列(七)推荐系统实例

推荐系统实践学习系列(七)推荐系统实例

作者: 简书用户9527 | 来源:发表于2018-07-04 08:37 被阅读64次

    (一)外围架构

    推荐系统是如何和其他网站进行接口的

    一般来说,每个网站都会有一个UI系统,UI系统负责给用户展示网页并和用户交 互。网站会通过日志系统将用户在UI上的各种各样的行为记录到用户行为日志中。日志可能存储 在内存缓存里,也可能存储在数据库中,也可能存储在文件系统中。而推荐系统通过分析用户的 行为日志,给用户生成推荐列表,最终展示到网站的界面上。下图便是这样的一个例子。

    image.png
    数据搜集和存储
    image.png

    按照前面数据的规模和是否需要实时存取,不同的行为数据将被存储在不同的媒介中。一般 来说,需要实时存取的数据存储在数据库和缓存中,而大规模的非实时地存取数据存储在分布式 文件系统(如HDFS)中。 数据能否实时存取在推荐系统中非常重要,因为推荐系统的实时性主要依赖于能否实时拿到 用户的新行为。只有快速拿到大量用户的新行为,推荐系统才能够实时地适应用户当前的需求, 给用户进行实时推荐。

    (二)推荐系统架构

    3种联系用户和物品的推荐系统

    image.png

    基于特征的推荐系统架构


    image.png

    用户的特征种类:

    • 人口统计学特征
    • 用户行为特征
    • 用户话题特征

    如果要在一个系统中把上面提到的各种特征和任务都统筹考虑,那么系统将会非常复杂,而 且很难通过配置文件方便地配置不同特征和任务的权重。

    改进的方法:

    推荐系统需要由多个推荐引擎组 成,每个推荐引擎负责一类特征和一种任务,而推荐系统的任务只是将推荐引擎的结果按照一定 权重或者优先级合并、排序然后返回。

    image.png

    这样做的好处:
    一:可以方便的增加或删除引擎
    二:可以实现推荐引擎级别的用户反馈

    (三)推荐引擎架构

    推荐引擎的架构主要包括3部分

     该部分负责从数据库或者缓存中拿到用户行为数据,通过分析不同行为,生成当前用户 的特征向量。不过如果是使用非行为特征,就不需要使用行为提取和分析模块了。该模 块的输出是用户特征向量。
     该部分负责将用户的特征向量通过特征-物品相关矩阵转化为初始推荐物品列表。
     该部分负责对初始的推荐列表进行过滤、排名等处理,从而生成最终的推荐结果。


    image.png
    生成用户特征向量
    image.png
    image.png
    特征-物品相关推荐

    下面的代码给出了相关推荐模 块的大体工作流程


    image.png
    过滤模块
    • 用户已经产生过行为物品
    • 候选物品以外的物品
    • 某些质量很差的物品
    排名模块
    • 1 新颖性排名
    • 2 多样性
    • 3 时间多样性
    • 4 用户反馈

    相关文章

      网友评论

        本文标题:推荐系统实践学习系列(七)推荐系统实例

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