淘宝搜广推技术备注

news2024/10/6 16:26:35

第一篇文章

一、序列特征处理方式

1:淘宝的类目体系中,有大类目小类目(淘宝大类目和小类目怎么区分?有何运营技巧?-卖家网),在做推荐系统时,有个sim建模(search-based interest model),或者说是长序列建模时先需要根据类目来做hard search,就需要用到类目。对于大类目一般用二级类目来检索(没有得到官方说明,通过查看淘宝app中分类这个icon页中的信息,大类目可能会是食品、男装、女装这种,假如是女装的话,一二级类目举个例子为:上装->衬衫),小类目一般用一级类目来检索(奢品、车品这种,假如是奢品的话,一级类目为:女鞋女装、箱包配饰等)

2:类目检索序列,就是用上面的方法对“某某序列”进行检索,在体验业务的时候,这些序列应该有这几种,首先肯定用到的有:曝光序列(但是曝光序列一般不能直接用,会用负反馈方式来设计)、点击序列购买序列加购序列搜索词序列(搜索词序列因为涉及到文本,而且非item序列,可以根据nlp方式先筛选出来相关的序列,比如bert,或者经典的word2vec,但是淘宝的搜索词经常有很多长词,怎么处理也是个设计点。这个过程耗时很多,一般不能直接使用,比如采用预处理的方式,在请求进行到精排时,除了user-fs、item-fs外,再并行单独一台链路来处理用户搜索词序列和精排item。这个博主也只是个设想,并没有见到实际应用过)。上面提到的这些序列都是全场景序列,具体到每个子场景中,比如猜你喜欢、详情页推荐中可能会在特征中加入自己子场景的序列

3: 精排:看一些文章中讲序列建模时,有下面这样的图,我理解首先对于点击序列是和预估item做了attention,其次对点击序列利用预估item做完类目检索后(假设点击序列是30长度,和预估item同类目的有13个,那么检索后的长度是13)也和预估item做了attention,这两个特征抽取是同时存在于模型中

4:粗排不能像上面的精排一样,每个预估Item都做attention,因为粗排的数量是1万+,所以只能做self attention,用来高度抽取序列信息。要是做item_target_attention的话,性能怎么样都是扛不住的

首先有一个概念:不管离线模型结构怎么样设计,肯定是离线就做好user、item的向量,然后线上直接做查询+排序

如下图,左边结构是简单的“双塔模型”,任何团队在最开始迭代的时候都是这种做法,这里有一个稍特殊的做法:其中对序列特征做的是self attention,做完self_attention后把user作为了attention的query,首先对耗时没有什么影响,因为离线可以把这个结构加到模型中去,然后得到对应的向量(如果是离线做的话,就没有实时特征一说了);其次这样一种attention结构对用户click seq做了加权,效果一般会好

可能是想拿到cate_attention这种收益(在精排上已经验证是很有效的,sim),所以增加了左边这个结构,淘宝的用户体系在30亿左右,日活在3.5亿左右,不用对着3.5亿用户都存储在每种cate上的向量,只需要做过去N天(比如60天活跃),cate也是选择交互过的cate,这样做出来的kkv表,数据量就不是特别大了,可以满足线上性能,再把emb维度缩小点,这样性能会更好一点

博主这个专栏记录”沉浸式推荐算法“工作经验,博主先后做过推荐算法、搜索广告算法,现在从事”沉浸式推荐算法“

也为咱们程序员做了一个专属的小程序:猿媛-程序员一站式服务,还没正式上线(也可以试着搜索,后面哪天
说不定就突然上线了),在开发内测中

主要有技术博客、程序员行业短视频、行业热点、你的朋友圈、it公众圈、每个细分行业的论坛、
解决我们的老大难相亲问题、各大互联网公司的招聘、我们it人的专属好物...这些功能,
想要一起来做的加微信(微信名:ranksearch,或者扫下面的码),最好是加微信群,
大家一起商量来做(加微信拉你,或者扫下面的码),开发、产品设计、运营推广都可以。
博主这些自己都会,所以先开发上线+运营着,但是每个方向要是能有更专业的人来做肯定更好,
希望真的爱咱们这个行业的同事们能加入我们,一起做一些一个人做不到的事情!

二、多目标模型

1:淘宝app的种草行为,收藏、加购物车

2:淘宝的一跳、二跳,以猜你喜欢为例,选择一个商品后进行点击,这个过程是一跳

点击了上面这个item后,会进入下面这个页面(这个是淘宝现在有区别于之前的设计,从猜你喜欢、某些导购场景进去后,不会直接是这个item的详细信息,而是同类目的商品信息流;在京东app的猜你喜欢也有这个情况),进到这个页面再点击某些item的话,这个属于二跳

3: 讲解几个电商中常见的指标,以“猜你喜欢”这个为例

pv: 场景内,24小时里所有页面的访问量;ipv:仅仅是pv里面商品详情页的访问量(因为猜你喜欢第一次点击是同类目信息流格式,所以ipv也就是二跳的目标页面);dpv可能是载有广告的pv

click是点击次数;pctr是预估item的ctr;uctr是用户的ctr(比如进入淘宝首页的用户量是3亿,从这里进入淘宝直播宫格的是1亿,那么uctr是0.33);collect是收藏率;cart是加购物车率

grs是种草率(具体可以参考这个文章:5大经典排序算法在淘宝“有好货”场景的实践_阿里巴巴淘系技术团队官网博客的博客-CSDN博客)

CTR、IPV、GRS、CVR这四个指标连贯解释下:在猜你喜欢界面,选择某一个item后点击进去会进到一个同类目的信息流列表中,这个过程是CTR;再从这个列表中选择一个确切的item,点击进到详情页,称为IPV,也就是统计进入详情页的次数;GRS就是收藏、加购这两个种草指标;CVR就是最后的下单购买,也就是GMV

4:精排模型

上面第一部分讲了特征设计,这里的精排模型是在特征设计上面,由1个tower变成了n个tower,而且除了各自tower的全连接参数各自训练外,所有共享的参数只由ctr模型更新

分数混合公式

5:粗排模型

上面第一部分讲解了粗排模型的特征设计、双塔模型设计(分别得到两个user*item的结果,然后再相加作为结果)。因为是多目标要增加一个”种草分数“,基于原先的加购,两个user*item分别是”基础版内积“、”类目检索序列内积“,在增加一个”种草分数“时,就是复制这1个分数(因为”类目检索序列内积“可以复用,所以就只用复制”基础版内积“),将loss改成”种草loss“

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/493023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java】抽象类接口

目录 1.抽象类 2.接口 2.1实现多个接口 2.2接口之间的关系 2.3接口使用实例 2.3.1Comparable接口 2.3.2Comparator接口 2.3.2Clone接口 2.4抽象类与接口的区别 1.抽象类 定义:抽象方法:这个方法没有具体的实现; 抽象类:不…

边学边记——数据结构☞和搜索有关的数据结构(搜索树,Set,Map,哈希表)

目录 模型 一、搜索 1. 场景 2. 搜索树 2.1 概念 2.2 查找 2.3 插入 2.4 删除 2.5 实现 2.6 性能分析 2.7 和Java的关系 二、Set 1. 常见方法 2. 注意 三、Map 1. 关于Map.Entry的说明,> 2. Map的常用方法说明 3. 注意 四、哈希表 1. 概念 2. 冲突 2…

[论文分享] VOS: Learning What You Don‘t Know by Virtual Outlier Synthesis

这篇文章是ICLR‘ 2022的一篇文章。 No.contentPAPER{ICLR’ 2022} VOS: Learning What You Don’t Know by Virtual Outlier SynthesisURL论文地址CODE代码地址 Motivation 现有OOD Detection方法大多依赖于真实的离群点数据集进行模型正则化,实际应用中过于昂…

常用位运算

一、求解二进制表示的第k位数字 #include<iostream> using namespace std;int main() {int n 10; // 例如&#xff0c;十进制10用二进制表示为1010 for(int k3;k>0;k--)cout << (n >> k & 1);// 第一步&#xff1a;右移k位// 第二步&#xff1a; &am…

JVM基础总结

文章目录 一、程序计数器二、Java虚拟机栈栈内存溢出【StackOverflowError】线程运行诊断 三、本地方法栈【Native Method Stacks】四、堆【Head】线程共享堆内存溢出【OutOfMemoryError&#xff1a;Java heap space】堆内存诊断 五、方法区【Method Area】线程共享运行时常量池…

Springboot +Flowable,为流程设置租户

一.简介 什么叫flowable的租户呢&#xff1f;这边举个例子&#xff1a; 假设现在有 A、B、C、D 四个子系统&#xff0c;四个子系统都要部署同一个名为 leave 的流程&#xff0c;如何区分四个不同子系统的的流程呢&#xff1f;通过租户就可以解决这个问题。Flowable 中的租户其…

dell r750服务器安装centos系统全记录

1、启动盘制作 1.1 下载系统 打开 https://www.centos.org/download/ 任意选择一个镜像网站&#xff0c;博主选择的是163镜像 下载内存为4g镜像文件 这里也可以参考 https://blog.csdn.net/weixin_46703995/article/details/121191113 1.2 下载启动盘制作软件 linux系统一…

Denoising Diffusion Probabilistic Model,DDPM阅读笔记——(二)

Denoising Diffusion Probabilistic Model&#xff0c;DDPM阅读笔记 一、去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Model&#xff0c;DDPM&#xff09; 一、去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Model&#xff0c;DDPM&…

C++数据结构:手撕红黑树

目录 一. 红黑树的概念及结构 二. 红黑树节点的定义 三. 红黑树节点的插入 3.1 初步查找插入节点的位置并插入节点 3.2 红黑树结构的调整 3.3 红黑树节点插入完整版代码 四. 红黑树的结构检查 4.1 检查是否为搜索树 4.2 检查节点颜色是否满足要求 附录&#xff1a;红黑…

TypeScript进阶

目录 TypeScript 与 Vue 文档说明 vscode 插件说明 准备页面基本结构 defineProps与Typescript defineEmits与Typescript ref与Typescript reactive与Typescript computed与Typescript 事件对象与Typescript 模板Ref与Typescript 可选链操作符和非空断言 TypeScript…

21.网络爬虫—js逆向详讲与实战

网络爬虫—js逆向 js逆向JavaScript逆向的详细讲解实战演示有道翻译设置密钥和初始向量对密钥和初始向量进行哈希处理创建AES对象并解密消息移除padding并返回结果 前言&#xff1a; &#x1f3d8;️&#x1f3d8;️个人简介&#xff1a;以山河作礼。 &#x1f396;️&#x1f…

python基于卷积神经网络实现自定义数据集训练与测试

样本取自岩心照片&#xff0c;识别岩心是最基础的地质工作&#xff0c;如果用机器来划分岩心类型则会大大削减工作量。 下面叙述中0指代Anhydrite_rock&#xff08;膏岩&#xff09;&#xff0c;1指代Limestone&#xff08;灰岩&#xff09;&#xff0c;2指代Gray Anhydrite_r…

深度学习-第T6周——好莱坞明星识别

深度学习-第T6周——好莱坞明星识别 深度学习-第T6周——好莱坞明星识别一、前言二、我的环境三、前期工作1、导入数据集2、查看图片数目3、查看数据 四、数据预处理1、 加载数据1、设置图片格式2、划分训练集3、划分验证集4、查看标签 2、数据可视化3、检查数据4、配置数据集 …

Flutter学习之旅 - 页面布局Stack层叠组件

文章目录 StackPositioned定位布局浮动导航(StackPositioned)FlutterMediaQuery获取屏幕宽度和高度StackAlign Stack Stack意思是堆的意思&#xff0c;我们可以用Stack结合Align或者Stack结合Positioned来实现页面的定位布局 属性说明alignment配置所有元素显示位置children子组…

23.Lambda表达式

Lambda表达式 一、Lambda表达式背景 Lambda 表达式(lambda expression)是一个匿名函数&#xff0c;Lambda表达式基于数学中的λ演算得名&#xff0c;直接对应于其中的lambda抽象(lambda abstraction)&#xff0c;是一个匿名函数&#xff0c;即没有函数名的函数。Lambda表达式…

2023-05-05 背包问题

背包问题 1 01背包和完全背包问题 01背包问题 有N件物品和一个容量为V的背包&#xff0c;第i件物品的体积是v[i]、价值是w[i]&#xff0c;每种物品只可以使用一次&#xff0c;求将哪些物品放入背包可以使得价值总和最大。这里的w是weight即权重的意思 这是最基础的背包问题&a…

【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手

文章目录 前言环境列表视频教程1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 转载自远控源码文章&#xff1a;飞书接入ChatGPT - 将ChatGPT集…

Ubuntu 如何查看 CPU 架构、系统信息、内核版本、版本代号?

Ubuntu 查看 CPU 架构、系统信息、内核版本、版本代号等相关信息有很多方式&#xff0c;本文介绍几种常用的命令。 x86 架构与 ARM 架构的 CPU 架构不同&#xff0c;如果回显为 aarch64 表示为 ARM 架构&#xff0c;如果回显为 x86_64 表示为 x86 架构&#xff0c;参考《CPU 架…

Prometheus快速入门

Prometheus快速入门 环境准备 三台主机&#xff0c;配置好主机名 各自配置好主机名 # hostnamectl set-hostname --static server.cluster.com ... 三台都互相绑定IP与主机名 # vim /etc/hosts 192.168.126.143 server.cluster.com 192.168.126.142 agent.clu…

归并排序(看了就会)

目录 概念1. 基本思想2. 实现逻辑3. 复杂度分析4、代码 概念 归并排序&#xff0c;是创建在归并操作上的一种有效的排序算法。算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用&#xff0c;且各层分治递归可以同时进行。归并排序思路简单&…