zoukankan      html  css  js  c++  java
  • 360推荐系统架构演进

    360推荐系统架构演进

      当下,个性化推荐成了互联网产品的标配。但是,人们对推荐该如何来做,也就是推荐技术本身,还不甚了解。为此,好学的你肯定在收藏着朋友圈里流传的相关文章,转发着微博上的相关讨论话题,甚至还会不断奔走在各种大小行业会议之间,听着大厂职工们讲那些干货。我知道,这样碎片化的吸收,增加了知识的同时,也增加了焦虑。因为技术的不平等广泛存在于业界内,推荐系统也不例外。推荐系统从搜索引擎借鉴了不少技术和思想,比如内容推荐有不少技术就来自搜索引擎, 由 Amazon 发扬光大的。推荐系统也是现在热门的人工智能分支之一,但凡人工智能类的落地,都需要具备这几个基本元素才行:数据、算法、场景、计算力。推荐系统也不例外,而刚好,现在的时代,这些元素的获得成本相比十年前已经小了很多。未来随着各种硬件设备越来越智能,万物互联得越来越紧密,人们的个性化需求、场景的多样性、数据的复杂性都对推荐系统提出了更高的要求。

      推荐系统概括一下,其实就是以下的的目标主要包括: 

      用户满意性:首当其冲的,推荐系统主要就是为了满足用户的需求,因此准确率是评判一个推荐系统好坏的最关键指标。

      多样性:虽然推荐系统最主要还是满足用户的兴趣,但是也要兼顾内容的多样性,对于权重不同的兴趣都要做到兼顾。

      新颖性:用户看到的内容是那些他们之前没有听说过的物品。简单的做法就是在推荐列表去掉用户之前有过行为的那些内容。

      惊喜度:和新颖性类似,但新颖性只是用户没看到过的但是确实是和他行为是相关的,而惊喜度是用户既没有看过和他之前的行为也不相关,但用户看到后的确是喜欢的。

      实时性:推荐系统要根据用户的上下文来实时更新推荐内容,用户的兴趣也是随着时间而改变的,需要实时更新。

      推荐透明度:对于用户看到的最终结果,要让用户知道推荐此内容的原因。比如,“买过这本书的人同时也买过”、”你购买过的xx和此商品类似”。

      覆盖率:挖掘长尾内容也是推荐系统很重要的目标。因此,推荐的内容覆盖到的内容越多越好。

      基于这些目标,推荐系统包括四种推荐方式:

      热门推荐:就是热门排行榜的概念。这种推荐方式不仅仅在IT系统,在平常的生活中也是处处存在的。这应该是效果最好的一种推荐方式,毕竟热门推荐的物品都是位于曝光量比较高的位置的。

      人工推荐:人工干预的推荐内容。相比于依赖热门和算法来进行推荐。一些热点时事如世界杯、nba总决赛等就需要人工加入推荐列表。另一方面,热点新闻带来的推荐效果也是很高的。

      相关推荐:相关推荐有点类似于关联规则的个性化推荐,就是在你阅读一个内容的时候,会提示你阅读与此相关的内容。

      个性化推荐:基于用户的历史行为做出的内容推荐。也是本文主要讲述的内容。

      其中,前三者是和机器学习没有任何关系的,但却是推荐效果最好的三种方式。一般说来,这部分内容应该占到总的推荐内容的80%左右,另外20%则是对长尾内容的个性化推荐。

      从框架的角度看,推荐系统基本可以分为数据层、召回层、排序层。

      数据层包括数据生成和数据存储,主要是利用各种数据处理工具对原始日志进行清洗,处理成格式化的数据,落地到不同类型的存储系统中,供下游的算法和模型使用。

    召回层主要是从用户的历史行为、实时行为等角度利用各种触发策略产生推荐的候选集,对不同的策略和算法产生的候选集进行融合并按照产品规则进行过滤,一般融合和过滤后的候选集还是比较多的,一次线上请求过来之后线上系统无法对那么多的候选集进行排序,所以在召回层一般还会有粗排序,对融合的候选集进行一次粗排序,过滤掉粗排分数较低的候选集。

      排序层主要是利用机器学习的模型对召回层筛选出来的候选集进行精排序。

      总结:推荐系统的架构流程图和每一个模块的作用一定要了解,一般会让你一边画流程图一边讲解每个模块。召回模块一般就是在做候选集筛选和粗排序,原因是item太多了,一个user的请求过来线上系统不能在100ms以内对所有的item进行排序。

    文章来源:

    https://blog.csdn.net/li12412414/article/details/82703432

  • 相关阅读:
    卡特兰数,高精度卡特兰数
    SqlServer表中两条全然同样的记录,怎样删除当中1条
    微信.NET 微信开发 自己主动内容回复 ASP.NET C#代码
    RadHat搭建内网YUM源server
    2014上海全国邀请赛题解 HDOJ 5090-5099
    Enum枚举类|注解Annotation
    Galera 10.0.20 on CentOS 6.6
    CSS布局那点事儿
    利用CSS制作脸书
    《民国枭雄杜月笙》—— 听后总结
  • 原文地址:https://www.cnblogs.com/zhangliqiangvictory/p/11029025.html
Copyright © 2011-2022 走看看