一、召回

智能推荐算法在直播场景中的应用 - 知乎

花椒直播推荐系统高级算法工程师王洋:智能推荐系统在直播场景中的应用_哔哩哔哩_bilibili

1:基于item的协同过滤(求出来item之间的相似性,也叫itemCF),然后根据用户已经交互过的item求出来用户对没有交互的物品的交互概率。再限制一些条件,就可以得到召回结果(在直播里面,item可以分为商家item商品item),商家item数量少,使用itemCF计算、存储上不会太多,直播售卖的商品item一般也不会太多(不像电商里面,一个羽毛球就可能是几千种,在直播中不可能这几千种羽毛球都有进行直播售卖,大多数情况下是一些大厂的、热门的羽毛球才会开直播)

对A,B两个物品计算相似性:分母是根号3*根号1,根号3是因为A与3个用户都有交互,根号1是因为B只和1个用户有交互,分子是共同有交互的个数。实际上理解这个有个极端的例子:假如AB都和3个用户有交互,那么根号3*根号3是3,最终相似性是1

在计算user和item的相似性时,可以看到user1和两个item都计算后进行相加,user3只和1个item计算后相加,显然不公平,因为相加的越多自然越大。但是user之间是不可比的,每个user在计算的时候,会同时和相同个数量的item进行计算

2:基于隐向量的协同过滤 利用用户和item的交互稀疏行为,进行矩阵分解,得到用户矩阵,item矩阵,然后进行内积召回

 

这种矩阵分解,后面有一些改进(用深度学习的方法,上面学习user item隐向量后,再用dnn学习两者的交互函数),比如

神经网络+矩阵分解(NCF),得到user、item的向量后,不是直接内积,而是concat再过mlp层最终得到score

神经矩阵分解(NeuMF):得到user、item的向量后,不仅求得内积,也像NCF一样经过mlp,然后两部分concat,最后得到score

这种办法更适用于item数量多一些的业务,就不像上面的协同过滤那样担心存储问题了,每个user、item的都可以保存下来

3:Youtube-dnn。后面的各种召回模型中都有item侧特征,在直播中应该是商家item、商品item共同提取的特征才对

4:双塔召回(也叫基于内积模型的向量检索方法),及其优化办法

阿里广告技术最新突破:全链路联动-面向最终目标的全链路一致性建模 - 知乎

上面的youtube-dnn实际上是一种双塔召回,双塔召回的办法有许多,阿里对这个做了优化,从下面几个问题分析

(1) 在优化召回整个过程中,应该像阿里这样:沿着精准值预估的技术路线,在召回提出了新的可以面向任意目标(RPM (RPM=CTR*Bid) ,GMV (GMV=CTCVR*Price等)的全库向量召回技术PDM

(2) ctr为预估目标,这个从样本上就能学习到,不用特地优化

(3) 多样性,多兴趣

其中(1)两个点在阿里这篇文章中进行了解决。将user item的向量内积融入bid单价,导致向量内积的结果会包含RPM最大化

首先这个u a代表user和item的向量(通过pctr模型训练得到),然后乘上了加权系数,最基本的权重1,然后是和bid相关的权重,这里为了使得bid的权重更大些,使用user和所有item的平均相关性作为分母,相当于做了下加权。但是这样可能过于考虑了bid,可能相乘更好一些(而且不是user和item的平均相关性,而是user和当前item的相关性,也就是当user和某个item相关性强时,考虑bid的意义也大些)。ln(bid)是个常见的对数值特征的处理办法,在大值处减少影响程度

上面是考虑ecpm这个目标的RPM最大化,如果要考虑GMV的话,需要把user item的向量从pctr模型得到换成pctcvr得到即可

同时文章中提到,从最开始效果比较差的曝光、点击样本,到再加入unpv样本

整个架构图是上面这样,有几个点需要注意

(1) 首先是召回模型+精排模型联合训练,召回模型的loss组成由下面这几部分

曝光、点击样本上的loss(这个loss不是上面的pctr那条链路,而是旁边的auc_pctr,这个在每个batch中,正样本加入了batch内的随机K个item的负采样) + 蒸馏loss(蒸馏loss只针对unpv样本,而且loss的计算是精排模型的预测结果 - 召回双塔的预测结果,就像把精排模型的预测结果当做label一样去拟合,distill_loss = (logit_rank - logit_recall)**2)

(2) 联合训练时user_feature item_feature是共享embedding,蒸馏loss不对精排产生影响

5:bert召回

使用bert的3个优点

(1) BERT采用pre-train+fine-turning的训练模式,基于超大量语料进行pre-train,在pre-train过程BERT已经能学好单词、句法、语义等特征,具体任务只需用较少量的数据进行fine-truning。

(2) BERT是双向语言模型,拥有上下文信息。相比GPT(单向语言模型)和ELMO(粗暴的双向语言模型,前向和后向简单相加),BERT有得天独厚的优势

(3) BERT采用Transformer作为特征提取器,相比RNN LSTM,Transformer具有两点优势:RNN不可并行,BERT可并行;RNN很难捕捉长序列的依赖关系,Transformer可以

性能不好,但是效果好的bert召回,这种一般上不了线。将query和doc按照bert的输入方式放在输入层,然后后面是bert,最后output中,既可以先sum_polling再mlp得到score(58同城),也可以把[CLS]那个位置的embedding用来做二分类看两个相关性多少(美团好像是)

深度语义模型 BERT 在 58 同城搜索的实践 - AIQ

最基础的双塔bert,因为query和doc是各自编码,少了交互,所以精度不高。但是有点也很明白,编码部分是可以提前计算的(58、qq看点都这样做过)

QQ看点:https://baijiahao.baidu.com/s?id=1652686974246350252&wfr=spider&for=pc

对双塔bert最后面计算query和doc向量的值时选择的办法(回归和pairwise最好)

双塔的基础上进行模型蒸馏(使用有交互的bert)

Poly-Encoder,介于没有交互和完全交互之间的思想。将query(假设长度是32)经过bert编码后,下一层定义N(N<=query的长度,一般不会太大,因为要做attention)个code,然后这N个code和32个编码向量做attention,得到N个attention向量,这N个向量再和item经过bert后的向量进行attention得到query最终的向量。然后这个向量和item向量做回归/pairwise(这个也是58他们做的最好的一个模型)

58同城的item是多模态的(多种表达),在直播中也是这样,直播间名+直播间介绍+主播名+卖的商品名+卖的商品的介绍。人为的把文档划分成多个文本域,每一个文本域经过一个独立的Bert塔,得到各文本域的语义向量。划分成多个文本域之后,文档这部分,就可以得到多个文本域的语义表达,而Query塔这边得到一种语义表达,然后也是进行Attention计算,得到一个动态的文档语义表达,最后接一个匹配层。这是在Embedding层进行交互

6:多兴趣召回。这种常常发生在用户在电商场景,直播场景,因为在里面用户会看不同类目的item,将这些类目混杂在一起进行召回是不合理的,最好是分别求出来向量进行内积召回

可以具体看这篇文章,里面加入了博主在调研时候发现的一些好文章,博主把自己总结的一些点也总结在了里面:Multi-Interest Network with Dynamic Routing for Recommendation at Tmall(MIND)_1066196847的博客-CSDN博客

下面给出这种思路中最重要的动态路径这个思想的两张重要的图

7:多模态召回

全民K歌直播推荐算法实践

在全民K歌中,除了item传统的特征之外,还另起了两个其他的item-tower,分别是歌曲song的特征、视频的特征,如果在淘宝直播中那么就是淘宝商品的embedding、整个直播视频的embedding。上面图中是把user-embedding和item的这3个embedding汇总到一个圆圈中,我觉得应该是把Live-view和song-view和media-view concat在一起再和user-embedding进计算

8:图网络召回 

陌陌直播如何做到推荐系统的从 0 到 1 - AIQ

在直播推荐这个场景,构建图矩阵的时候,应该是一个异构图,图里面包含用户和主播、商品的各种交互关系(点击观看、评论、送礼物、关注),构建出来这样的图之后,比如用户和主播 观看这层数据,利用graphsage这种图卷积可以来得到node的embedding,然后在搜索/推荐时,利用向量进行召回;也可以设计规则利用user - (query) - item这样的关系,召回有link关系的node作为召回结果

9:规则召回

Dolphin.海豚会|基于推荐算法提升直播业务的效能实践_用户

上面5类中,相似召回(item协同过滤)、向量召回在前面都讲过了,前面3类在淘宝直播中大概不会有,但是前1 2是会有的

推荐、搜索、广告中的召回、相关性、多目标精排 - 召回篇相关推荐

  1. 直播推荐、搜索中的召回、相关性、多目标精排 - 相关性篇

    二.搜索相关性 电商搜索:相关性匹配 - 知乎 上面这篇文章中说的很好,把相关性从简到易分到3种(结构化匹配.文本匹配.语义匹配) I:召回.粗排中用到结构化匹配的方式来控制相关性(query的类目是 ...

  2. 预训练技术在美团到店搜索广告中的应用

    猜你喜欢 0.2021年轻人性生活调研报告1.如何搭建一套个性化推荐系统?2.从零开始搭建创业公司后台技术栈3.2021年10月份热门报告免费下载4.微博推荐算法实践与机器学习平台演进5.腾讯PCG推 ...

  3. 深度学习新技术在搜狗搜索广告中的深化应用

    大家好,我是来自搜狗搜索广告应用策略研究组的舒鹏,目前主要负责搜索广告算法研究工作,今天的题目是深度学习新技术在搜狗搜索广告中的深化应用.深度学习技术已经出现很多年,它在各个场景中都有应用,本次演讲的 ...

  4. 再看同义变换在百度搜索广告中的应用总结

    一.概述 原文:同义变换在百度搜索广告中的应用,https://mp.weixin.qq.com/s/ybkbU8p_3jgKuCGdNWeG8w 二. 关键词匹配问题定义 2.1 定义 输入:que ...

  5. 推荐与广告 中的概念和指标

    推荐与广告 目录 推荐与广告 CTR(Click-Through-Rate)即点击通过率,CTR=实际点击次数/展示量,是互联网广告常用的术语, 基本介绍 点击率 点击量 计算公式为:CTR=实际点击 ...

  6. 推荐搜索系统中关于多场景学习的常见方法

    今天的博文主要参考了以下材料: 1 2020年阿里<Scenario-aware and Mutual-based approach for Multi-scenario Recommendat ...

  7. 搜索系统中的文本相关性实践经验

    前言 文本相关性问题就是判断两个文本之间的相关程度,也是搜广推中的重点问题之一.本篇文章主要粗略总结这方面的一些实践经验,包括特征.模型以及部署上需要注意的问题,都是本人在工作中积累的实际经验,非综述 ...

  8. 直播推荐、搜索中的召回、相关性、多目标精排、特征、重排 - 多目标精排(3) - loss权重的4种方案

    一.多目标学习在推荐系统的应用(MMOE/ESMM/PLE) - 知乎 这篇文章中主要针对回归任务.分类任务两种目标来对不同任务设置不同的参数.博主主要记录下里面的公式推导部分和这样做的原因 (1) ...

  9. 搜索、推荐、广告中的曝光偏差问题

    作者 | wulc 整理 | NewBeeNLP 机器学习本质上是在学习数据的分布, 其有效性的假设是模型 training 和 serving 时的数据是独立同分布(Independent and ...

最新文章

  1. 以Linux系统上的gcc为例,解密C语言编译背后的全过程!
  2. Spark详解(十):SparkShuffle机制原理分析
  3. Log4j 2使用教程
  4. linux添加审计账户_Linux下利用psacct审计系统帐号连接时间, 用户操作
  5. 面试小问题——Object中有哪些常用方法?
  6. MaxCompute使用常见问题总结
  7. Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例
  8. 【Pytorch】interpolate==>上下采样函数
  9. mongoDB mac 安装 小白必备
  10. 一女程序员被判 9 个月:因薪酬等问题离职,rm -f * 删库,瘫痪 6 个小时
  11. JAVA实时运算_Java 实时运算簿页面
  12. mysql 命令 kill_详解mysql数据库实用工具--percona-toolkit的7大分类
  13. Java常用Linux命令集合
  14. 项目管理:RASCI模型
  15. 计算机设置鼠标关灯,老司机详解罗技鼠标怎样关闭灯光
  16. word中域代码与题注的结合实现自动编号和超简便交叉引用
  17. 微信昵称乱码 mysql_微信登录昵称中文乱码 Emoji表情乱码问题总结
  18. Error in Summary.factor ‘min’ not meaningful for factors
  19. Dwz点击左侧菜单动态添加Tab标签图标
  20. 智能音箱 功放与喇叭选型 参考

热门文章

  1. (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  2. 【48期分享】4款产品发布PPT模板免费下载
  3. php 微信登陆unionid,微信扫码登陆/微信公交号 登录PHP 自适应 UnionID统一用户
  4. 微信小程序后端mysql数据库_微信小程序后台springboot+mybatis+mysql“采坑”集锦
  5. 中国移动飞信协议分析
  6. 毕业设计学习锋迷商城笔记
  7. EOQ的计算公式简化
  8. 【光环国际】学好团队管理的4点建议
  9. 学校人力资源管理系统-数据字典
  10. 微信打赏功能暗示内容付费时代渐近