召回12 曝光过滤 Bloom Filter

        在推荐系统中,如果用户看过某个物品,就不再把物品推荐给这个用户。小红书、抖音都这样做曝光过滤,原因是实验表明重复曝光同一个物品会损害用户体验。但也不是所有推荐系统都有曝光过滤,像 YouTube 这样的长视频就没有曝光过滤,看过的可以再次推荐。           曝光过滤通常是在召回阶段做。想要做曝光过滤,需要对于每个用户,记录已经曝光给他的物品。一个用户历史上看过的物品可能会非常多,为了做到高效的曝光过滤,需要用Bloom Filter这种数据结构。

曝光过滤

Bloom Filter

 

Bloom Filter是一种数据结构 。

K=0的情况:

K=3的情况:

误伤概率:

即每个曝光物品需要占几个bit的存储,用户历史上有n个曝光物品,只需要m=10n bits就可以把误伤概率降低到1%以下。

把曝光物品写入kafka消息队列,用fink做实时计算,fink实时读取Kafka消息队列,计算曝光物品的哈希值,把结果写到Bloom Filter的二进制向量上。

用这样的实时更新链路,在曝光发生几秒之后,用户的Bloom Filter就会被修改,就可以避免重复曝光。但如果挂掉或者延迟较大,会失误。

曝光过滤具体用在召回完成之后,召回服务器请求曝光过滤服务,曝光过滤服务把用户的二进制向量发送给召回服务器。在召回服务器,用Bloom Filter计算召回物品的哈希值,再和二进制向量做对比,把已经曝光的给过滤。剩余的物品未曝光,发送给排序阶段。

总结:

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

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

相关文章

ASR-01语音模块+C8T6实现语音控制LED

不说废话,简单直接,上教程,包会的,看不会,后台私我 一、接线图 STM32F103C8T6 ASR-01OLED屏PA10(RX接收串口)TX(发送串口)PB8SCL PB9 SDAVCCVCCGNDGND 二、天问软件Block图形编程 大家不要问…

Grafana链接iframe嵌入Web前端一直跳登录页面的问题记录

概述 公司有个项目使用到Grafana作为监控界面,因为项目方的环境极其复杂,仅物理隔离的环境就有三四个,而且每个都得部署项目,今天在某个环境测试,查看界面遇到一个比较奇怪的Grafana问题,后面针对该问题进行跟踪分析并解决,故而博文记录,用于备忘。 问题 登录项目We…

fastadmin 搜索提交重置按钮文本修改

默认 修改require-backend.min.js文件 效果 当然最好还是去需修改lang文件 效果 如果修改没生效记得清楚一下缓存,再刷新 完结 赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你…

Tair简介

概述 Tair是淘宝团队开源的高可用分布式KV存储引擎,采用服务端自动负载均衡方式,使客户端逻辑简单。Tair,即TaoBao Pair缩写,Pair表示一对、一双等意思,即Key-Value数据对。 Tair分为持久化和非持久化两种方式。非持…

【Linux学习】【Ubuntu入门】2-1 Linux系统下运行C语言输出hello word

1.双击打开VMware软件,点击开启此虚拟机后,等待点击头像输入密码进入 2.“CtrlAltt”调出命令行终端,输入命令sudo apt-get install vim安装vim,输入命令sudo apt-get install gcc安装gcc 3.输入命令vi hello.c进入C语言编写环境&…

【D3.js in Action 3 精译_025】3.4 让 D3 数据适应屏幕(中)—— 线性比例尺的用法

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一部分 D3.js 基础知识 第一章 D3.js 简介(已完结) 1.1 何为 D3.js?1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践(上)1.3 数据可…

[Python数据分析]最通俗入门Kmeans聚类分析,可视化展示附代码。

什么是k-means分析?【头条@William数据分析,看原版】 想象一下,你有一堆五颜六色的糖果,你想把它们按照颜色分成几堆。k-means分析就是这么一个自动分类的过程。它会根据糖果的颜色特征,把它们分成若干个组,每个组里的糖果颜色都比较相似。 更专业一点说,k-means分析是…

【C++并发入门】摄像头帧率计算和多线程相机读取(上):并发基础概念和代码实现

前言 高帧率摄像头往往应用在很多opencv项目中,今天就来通过简单计算摄像头帧率,抛出一个单线程读取摄像头会遇到的问题,同时提出一种解决方案,使用多线程对摄像头进行读取。同时本文介绍了线程入门的基础知识,讲解了…

【muduo源码分析】「阻塞」「非阻塞」「同步」「异步」

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言何为「muduo库」安装muduo库阻塞、非阻塞、同步、异步数据准备数据准备 引言 从本篇博客开始,我会陆续发表muduo库源码分析的相关文章。感谢大家的持续关注!!…

9.29总结

这星期学了概率和组合数学 这是我觉得的一个有趣的题目,每个人身上都有n-1根绳子,如果组不成稳定三角,那么肯定有两个人相邻两根绳子颜色不一样,那么每两个这样的人就会贡献一个不稳定三角形,所以只要所有三角形减去每…

64.【C语言】再议结构体(下)(未完)

本文衔接第63篇 目录 6.复习 7.修改默认对齐数 8.结构体传参 01.传递非指针参数 02.传递指针参数(传递地址) 03.对比 9.结构体实现位段 01.位段的定义 02.格式 03.例题 答案速查 分析 前置知识:位段的内存分配 解析 若按浪费空间处理 验证 6.复习 20.【C语言…

①三菱Modbus主站MELSEC转ModbusRTU/ASCII工业MELSEC网关串口服务

三菱Modbus主站MELSEC转ModbusRTU/ASCII工业MELSEC网关串口服务https://item.taobao.com/item.htm?ftt&id834634632647 MELSEC 通信单元 MELSEC 转 RS485 MS-A1-80X1 系列概述 型号:1路总线MELSEC网关(单网口) MS-A1-8011 1路总线MELSEC网关(双…

A Learning-Based Approach to Static Program Slicing —— 论文笔记

A Learning-Based Approach to Static Program Slicing OOPLSA’2024 文章目录 A Learning-Based Approach to Static Program Slicing1. Abstract2. Motivation(1) 为什么需要能处理不完整代码(2) 现有方法局限性(3) 验证局限性: 初步实验研究实验设计何为不完整代码实验结果…

计算机网络基础--认识协议

目录 前言 一、IP地址与端口 二、网络协议 1.网络体系结构框架 2.网络字节序 前言 提示:这里可以添加本文要记录的大概内容: 计算机网络涉及非常广泛,这篇文章主要对计算机网络有个认识 提示:以下是本篇文章正文内容&#x…

C++系列-继承

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 继承的概念和定义 继承是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行拓展,增加功能,这样可以…

【PyTorch】生成对抗网络

生成对抗网络是什么 Generative Adversarial Nets,简称GAN GAN:生成对抗网络 —— 一种可以生成特定分布数据的模型 《Recent Progress on Generative Adversarial Networks (GANs): A Survey》 《How Generative Adversarial Networks and Its Varian…

基于Megatron-LM从0到1完成GPT2模型预训练、模型评估及推理

随着 ChatGPT 迅速爆火,引领基于Transformer架构的大模型从幕后走到台前。但 ChatGPT 的成功并不是一蹴而就,而是,经过了从早期的 GPT1 到 GPT2,之后到 GPT3 和 InstructGPT、然后到GPT3.5和ChatGPT,直到如今的多模态大…

一钉多用:自攻螺钉在家居与工业领域的广泛应用

自攻螺钉的结构要素有哪些重要特点? 自攻螺钉适用于非金属或软金属,不需要配合预先开好的孔和攻牙。自攻螺钉的尖头设计使其能够“自我攻入”材料中;而普通螺丝通常是平头,规格一致。自攻螺钉的关键在于,打孔时不需要进…

【JavaEE初阶】网络原理

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 ⽹络互连 IP地址 端口号 协议 协议分层 优势 TCP/IP 五层网络模型 数据在网络通信中的整体流程 封装和分用 封装 分用 ⽹络互连 随着时代的发展,越来越需…

Angular基础学习(入门 --> 入坑)

目录 一、Angular 环境搭建 二、创建Angular新项目 三、数据绑定 四、ngFor循环、ngIf、ngSwitch、[ngClass]、[ngStyle]、管道、事件、双向数据绑定--MVVM 五、DOM 操作 (ViewChild) 六、组件通讯 七、生命周期 八、Rxjs 异步数据流 九、Http …