当前位置: 首页 > news >正文

wordpress构建自己的网站WordPress古腾堡插件

wordpress构建自己的网站,WordPress古腾堡插件,app开发框架,工业企业网站建设作者#xff1a;智能平台 张颖 本文导读 本文将介绍可解释能力在京东零售推荐系统中的应用实践。主要内容包括以下几大部分#xff1a;推荐系统可解释定义、系统架构、排序可解释、模型可解释、流量可解释。 推荐系统可解释定义 推荐系统可解释的核心包括三部分#xff0…作者智能平台 张颖 本文导读 本文将介绍可解释能力在京东零售推荐系统中的应用实践。主要内容包括以下几大部分推荐系统可解释定义、系统架构、排序可解释、模型可解释、流量可解释。 推荐系统可解释定义 推荐系统可解释的核心包括三部分即排序可解释、模型可解释、流量可解释。 排序可解释即解释推荐系统的排序结果。推荐系统一般会包括召回、排序、策略等主要节点排序可解释会详细记录物料从召回到过滤、排序、策略等各个阶段的流转这些数据将作为可解释的基石。 模型可解释即解释推荐系统的模型结果。目前大多数推荐系统的模型都是黑盒模型但已有相关技术来解释这些黑盒模型从特征的角度解释模型对某些SKU得分高低的根因。 流量可解释即解释推荐系统的流量结果。主要是从整体流量的角度解释商品的差异。比如某些尾部SKU是从推荐系统的哪个阶段被过滤掉的是不是从来就没有被召回过如果没有被召回那么召回引擎是否需要升级此外在排查一些问题的时候我们经常需要拿到用户的一些行为假如我们拿到所有用户的所有埋点数据进行分析那么是不是能得到一个用户行为模型利用这个模型去分析用户行为发现用户行为的热点和阻塞点是更加有意义的。 具体来看排序可解释下图左侧是推荐系统里常见的四大模块几乎每个推荐系统都必须有这些模块或者是这些模块的变种。 整个推荐系统是一个非常长的链路出现的bad case多种多样。 最常见的是推荐有无问题也就是为什么给我推或不推某个商品比如我是一个男生对美妆类商品不感兴趣也从来没有过相关行为但是为什么总是给我推荐美妆类的产品又比如我想买一块智能手表因此搜索了智能手表我的购买习惯一般都是先搜索一下然后再看看给我推荐的相关商品综合来看买哪个商品但是这次不知道为什么没有给我推智能手表。这些都属于推荐有无的问题。 相似推荐问题比如一次下拉推荐了很多相同或者相似的商品。 推荐场景问题比如在情人节给我推荐了花圈这个问题在后面还会有详细展示。 复购周期问题比如生鲜食品和电器类产品的复购周期肯定是不一样的因此短期内给我推荐已经购买的生鲜食品等是没问题的但是短期内给我推荐已购的电器类商品就会有些问题了。 推荐排序问题比如为什么给我推荐的商品排序是 ABCDE 而不是 EDCAB。 推荐系统中可能遇到的问题远不止这些。 再来看一下模型可解释还是从遇到的问题出发来解释什么是模型可解释。 如上图中所示这里主要是解决模型推荐相关的一些问题推荐系统的“rank”模块包括粗排、精排、重排还有EE都算是模型可解释的一部分。 模型可解释分为局部可解释和全局可解释。比如面对一个模型提问“你认为猫有什么特征”这种类似全局画像的问题就称为全局可解释而如果问“你为什么觉得这个图片是只猫”这种问题就称为局部可解释因为这个对于模型来说是一个个例。 局部可解释在电商场景的应用主要有下面这些场景比如为什么模型给我的排序中该SKU得分最高为什么某个SKU的竞争力比其它相同品类/产品词高成为头部商品当然这里的竞争力需要局限到模型的维度再比如为什么我没有相关类目的行为但是模型打分对这类SKU较高这些问题都可以认为是局部可解释在电商场景下的应用。 全局可解释的一个常见场景就是解释输入给模型的上千维特征的必要性有没有一些边际效应或者是具有重复效用的特征这些问题都可以用全局可解释来解决。 系统架构 在介绍可解释系统的架构之前先来分析一下可解释系统的难点。 量极大。推荐系统量级是非常大的整个召回、排序、策略链路复杂且单条数据量非常大很容易达到天级PB级的增长这对整个数据链路都是一个巨大的挑战。 治理难。整个链路中数据非常混乱推荐系统通常由多个团队共同负责大家的日志和代码会有不同的标准因此我们常遇到的一个问题就是日志不统一导致上报内容杂乱稍微不谨慎就会造成识别失败这种问题。其次模型也是非常复杂的整个数据链路复用困难。 场景多。可解释系统面临的场景众多比如召回分析、策略分析以及模型分析等对系统的数据质量和灵活性有很高要求。 上图左侧是一个简单的推荐系统的变形从用户使用的角度描绘了用户的一次刷新在推荐系统里面所经过的过程。用户刷新时首先会触发一个称为“接入服务”的模块这一模块起到了串接流程的作用首先会调用召回服务对商品进行召回比如我们可以进行行为召回这些比较精确的就是点击商品的相似商品召回再比如浏览商品召回或是搜索词下的热门商品召回等等。召回之后为了保证接下来排序阶段的性能一般会进行过滤和截断经过粗排对数据进行初筛接下来把数据灌入精排精排之后一般会把数据汇总之后写入重排重排其实就相当于是策略的一种了重排和EE都可以类比为策略。 可解释系统的本质就是把图中链路透明化变得可观测也就是推荐系统的白盒化。右侧图是在我们系统中推荐系统白盒化的一个简单示例图中可以看到针对左图那些关键节点都有相应的聚合。 整个可解释系统的底层是由Flink和ClickHouse来处理的其中Flink主要负责实现天级PB级的模块数据实时入仓包括特征、召回、排序、策略等链路。ClickHouse 主要提供多维的分析查询功能帮助我们解决可解释链路分析的问题。 基于这些数据链路我们在上游构建了排序可解释和流量可解释链路排序可解释主要解决推荐系统排序的一些问题包括但不限于召回问题的分析、模型问题的分析、策略问题的分析以及过滤问题的分析等。针对流量可解释我们搭建了一些指标监控目前还在建设完善中目前完成了全域模型打分问题的监控和SKU流量差异的原因分析这主要实现的是一个全域的漏斗。 可解释系统中模型的可解释也是不可或缺的模型可解释虽然是一个成熟的技术但是在电商领域的应用并不多。我们创新性地引入了电商场景下几个场景的问题这些问题如果没有模型可解释技术的引入其实是很难有说服力的比如SKU特征重要性、用户特征重要性等等。 排序可解释 接下来将从以下几个方面详细介绍排序可解释trace链路的推荐物料可解释debug链路的推荐物料可解释以及推荐系统排查问题必不可少的用户画像、行为画像和商品画像。 Trace链路的推荐物料可解释 整个推荐系统主要包括召回、过滤、粗排、精排和重排等几个链路。其中召回是要从亿级的底池里面挑选出万级的商品召回过滤之后是粗排粗排是将召回万级的数据截取到千级传给精排精排是推荐系统中最重要的一部分主要是从千级的符合用户的商品里面挑选出百级的商品供给后续模块做策略策略模块会将百级的商品做到十级。 推荐系统常见问题比如为什么给我推没有推某个类商品为什么在情人节给我推荐了花圈这些问题都可以通过可解释系统解决。 针对trace级别的可解释我们主要通过两种平台化的模式来解决一个是左图所示的日志tree的方式另一个是右图的漏斗分析的方式。 通过日志tree的方式我们可以知道这次请求经过的主要模块比如这次请求经过了哪些召回哪些过滤分别过了哪几个模型以及分别过滤哪几个策略等日志tree可以从架构的角度帮助算法工程师分析此次日志是否合理等问题。 右图中是经典的推荐系统漏斗图非常直观地展示了推荐系统的SKU漏斗分布解释了商品是如何在漏斗里面流转的。 Debug链路的推荐物料可解释 上图中展示的是debug模拟请求在推荐物料可解释里面的作用下面先来介绍一下什么是debug模拟请求以及debug模拟请求在推荐系统里面的重要性。 大家都知道推荐系统的链路是非常复杂的因此想要debug 也是非常困难的比如我加上的一些过滤逻辑是否有生效模型的一些加权或者减权、多样性策略有没有生效等等这些问题都是难以debug 的。Debug链路主要解决的就是线上问题能否快速复现以及快速发现一些逻辑有没有生效等问题。 还有一类问题比如我有A、B两个实验其中A实验的效果比B差一些那么针对具体请求差异是什么样子的呢利用debug模拟请求可以快速diff 两个实验针对同样请求的结果差异。 用户画像 接下来介绍可解释系统中的一个重要模块用户画像。 推荐系统的召回是根据用户的行为习惯和爱好来做的这里的用户行为习惯和爱好都统一称之为用户画像。 上图中列举了一些画像的例子比如从用户人口属性维度是否有小孩儿以及用户价值维度有用户消费的活跃分层。除了这种基础类画像还会有一些这种挖掘类画像比如用户的品类、品牌偏好购买力偏好等等。 除了一些基础召回之外推荐系统中还会做一些个性化召回这些召回基本上都是与这些画像维度相对应的。 行为画像 再来看一下用户的行为画像。本质上行为画像也是用户画像的一部分在这里我们之所以把它提出来是因为它除了用作于召回之外还可以用作一些场景问题的分析行为画像可以复现用户在app上的所有行为为分析提供参考。 行为画像包括两部分即宏观行为和精细行为。宏观行为主要是浏览、点击、加购、下单等电商类APP中的常见行为。仅凭这些行为我们是无法准确判断用户意图的因此我们还会加上一些精细行为的埋点比如用户在浏览一个商品或者搜索一个商品的时候如果仅用一些宏观的行为比如点击我们完全没有办法判断用户是不是真的要买。但是如果点进去了商详页并且查看了一些评论或点击了大图又或者在这个商品上停留了较长时间对这个商品的操作达到了一定的次数那么我们就可以认为用户有比较有强烈的购买意图了。 针对不同的宏观行为和精细行为需要构建不同的召回策略比如点击商品的相关、相似商品评论、分享、查看大图等一些i2i召回这些宏观行为和精细行为需要有不同的得分策略。一旦出现问题我们可以根据不同的行为来判断他的这些召回是否正确或者与用户行为是否匹配。 商品画像 接下来看一下商品画像对推荐系统的重要性以及可解释系统里面的商品画像是什么样子的。 如上图中的例子在情人节的时候首页通常会推一些鲜花速递类似的礼品但给用户推了一个花圈。这在严格意义上来讲是一个场景推荐的问题针对这个问题我们要具体分析。从商详页来看它确实是丧葬类产品而在第三幅图中这是可解释系统的一个商品画像的展示可以看到它的title确实是丧葬用品但是它的三级分类却是鲜花速递。针对这种场景商品分类本身是没有问题的因为它确实是鲜花只不过标签不够细化至此我们就知道了问题的原因和优化的方向。 模型可解释 接下来介绍模型可解释在电商的应用。 在电商的场景下为什么需要模型可解释呢如上图所示如果不引入模型可解释那么图中这个问题是没有办法解释的某个SKU在召回、过滤阶段都很正常但是偏偏被模型过滤了很多其实这个问题的本质是全域商品下模型打分偏低。 第二个例子明明没有对某个类目/品牌产生过行为并且我也不感兴趣但是频繁给我推这个问题是在模型打分较高的情况下本质可归类为某个用户下模型对商品打分的问题。 以上两类问题都是线上频发的问题如果没有引入模型可解释都是无法解决的。 上图中列出了一些常用的模型可解释的方法其中有一些模型本身就是可解释的比如一些简单的线性模型和规则类的模型还有一些模型本身是一个黑盒但已有较为成熟的方案来解释。针对一些Tree Model我们选择Tree SHAP的方法去解释针对神经网络模型我们采用IG的方式。 在介绍Tree SHAP之前先来介绍一下Shapely Value。Shapely Value的本质是为了研究一个团体中各个参与者对最终结果的贡献这个算法可以准确地计算出相应的贡献值在电商场景下应用也是主要在特征的领域可以确定模型各个特征对预估结果的影响。但是这个算法的劣势也是不能忽略的那就是在数据量级较大时计算的复杂度会指数级增长。Tree SHAP的引入极大降低了计算的复杂度它不再遍历特征转而遍历所有叶子结点并且通过根节点到叶子结点的路径来修改特征的贡献计算方式和权重计算使得时间和空间复杂度都极大降级这使得我们的千级特征模型有了可解释的可能。 右边这段代码是我们解释SKU在具体的品牌、品类或者产品词的特征重要性的代码片段SKU的样本作为目标样本品牌、品类或者产品词的样本作为背景样本去解释。 针对神经网络的可解释我们采用的是积分梯度算法这个算法的本质是通过计算输入变量的变化对模型输出影响的积分来评估输入变量的重要性。这个模型的好处是具有敏感性和实现不变性敏感性指的是面对梯度饱和的时候可以在辨识性特征上保留有效梯度实现不变性指的是两个输入输出相同的模型可以得到相同的归因结果。 比如右边这个图针对大象鼻子长短的问题在一定范围内鼻子越长越可能是个大象但是长到一定程度那鼻子长短就不再是关键特征了。 接下来回到模型可解释在电商的具体应用。在筛选关键特征因子的场景下全局特征的重要性主要在于衡量所有样本中各个特征对模型预测结果影响的相对显著程度。如左图中特征值越低越接近蓝色值越高越接近红色第一维特征表示value越小效果越差大部分的样本shap value集中在0-1之间越粗表示点越密集样本量越多。 右图是模型影响最大的top20特征。这里需要特别说明一下绝对平均值存在的意义是为了更加直观地展示特征对效果的意义因为有时候得分不一定是越高越好的比如不合适的商品得分就要低“绝对平均值”对这类特征非常有用。 通过前面一张图片我们可以看到整体特征对模型的影响但是仅有这些仍无法对运营起到指导作用因此我们还需要第二个功能即特征值对结果的影响的分布。 上图中右图是我们的一个结果图通过该图可以知道特征值越大对效果越呈正向并且可以得到该特征一定的运营区间。当然推荐系统的变化是非常多的仅仅解释一维特征的意义有限因此这个功能仅起到一个指导意义。 接下来是电商的一个更加深度的应用我们称之为单SKU特征重要性。大家都知道只要样本训练合理模型打分是很公平的但是电商场景下商品是不公平的商品的分层现象非常明显比如模型就是可能对某个类目下商品打分分布较广但是涉及到敏感类目得分就是会很低比如苹果品牌得分却会偏高因此我们知道某个SKU在某个品类、品牌下的特征重要性比针对全域商品更有说服力更加能说明该SKU的流量获取情况。 运营经常会提出这样的问题“我觉得这个品还没有我这个好但是为啥它卖得好一些” 我们接收到这个问题排除掉一些其它影响因素归咎到推荐系统里面首先做的就是对比这两个SKUK在全链路的流量情况如果他们在召回、过滤、策略比例都相同但是唯独在模型这块相差较大那么我们就需要知道这两个SKU在模型维度的pk结果了。 上图左下的表格中展示的是两个SKU pk的结果可以看到第一个要比第二个高很多。 当全局特征重要性不足以排查bad case 的时候需要引入用户维度的特征重要性之前全局特征重要性会带来训练集偏差的问题在具体的一个用户上比如全局特征重要性是针对整体训练集的非某个/某类用户这些用户的数据分布在整体上不见得和整体用户分布一致因此某个或者是某类用户下会衍生出不同重要性的特征。因此引入用户维度的特征重要性是很有必要的。 体现用户活跃程度的特征容易成为重要特征但是有时候在某个或者是某类用户的排序下不太合适因为这个用户的特征都是一致的用户不一样的情况下那就是这些特征本身就存在不一致的情况。 接下来看一下我们是如何在模型层面解释为何给特定用户曝光特定SKU的。比如我们经常会遇到这种case我是一个直男没有女朋友我就对电子产品感兴趣但是为啥首页给我推项链化妆品呢 针对此类问题我们首先要保证这些排序确实是经过了模型且模型打出了较高的分并且没有触发兜底等策略。因此我们将异常SKU作为目标样本正常SKU作为背景样本得到正常SKU特征分布和异常SKU特征重要性并且对特征进行扰动进而得到答案。 流量可解释 接下来介绍的是流量可解释。 流量可解释的目的是从推荐系统的角度解释整体的商品分层、长尾现象的根因以及解析用户行为的根因。这部分仍在建设阶段目前只有三个应用。 一个是该图里面的这个全局漏斗可以查看全局的流量漏斗转化。另一个应用是右边这个图里的一些具体的指标拿到推荐系统不同阶段的SKU数量、模型得分等。 还有一个是全局维度的召回、排序、策略阶段对所有品类品牌的流量分布情况当然还可以输入一些具体的条件。 鸣谢 感谢京东零售技术专家安伟亭在技术上的指导以及营销研发部肖军波、阮辉等人的大力支持。 整理者DataFun 李瑶
http://www.w-s-a.com/news/679156/

相关文章:

  • 网站开发 只要wordpress滑动注册
  • 跨境电商运营主要做什么静态网站如何做优化
  • 南充网站建设网站网站备案安全责任书是谁盖章
  • 怎么将网站设置为首页网站子目录怎么做
  • 做网站交互wordpress信息导出
  • 如何自己做企业网站做外贸登录国外网站
  • 郑州炫彩网站建设网站集约化建设调研报告
  • 2016年两学一做教育网站优良的定制网站建设制作商
  • 自己做网站需要哪些流程网站建设服务费如何做会计分录
  • 莆田建站培训用手机制作游戏的app软件
  • 中山建网站找哪家wordpress采集图片插件
  • 网站首页做后台链接有什么好用的模拟建站软件
  • 宁波有没有开发网站的公司网站上线除了备案还需要什么
  • 网站备案授权wordpress默认主体设置
  • 厦门微信网站广州推广策划公司
  • 集团公司网站开发asp网站怎么运行
  • 广州短视频网站开发东莞市建设信息网
  • 建设网站如果赚钱电脑可以做服务器部署网站吗
  • 网站建设的编程专门做面包和蛋糕的网站
  • 档案网站建设比较分析南京建站公司
  • 哪个网站可以做店招傻瓜式wordpress
  • 网站开发项目经理职责青岛模版网站建设
  • 企业建站哪个好网站建设所用程序
  • 网站建设seo视频定制图片软件
  • 404错误直接转向到网站首页四川省建筑施工企业人员考试平台
  • 手表电商网站智能展厅
  • 南海网站推广梅州做网站公司
  • 昆明专业网站建设公司成都外贸网站建设费用
  • php mysql网站开发项目公司网站宣传设计
  • 自己做网站服务器的备案方法怎么查网站点击量