向量召回:深入评估离线体系,探索优质召回方法
向量召回:深入评估离线体系,探索优质召回方法
1.简介
近年来,基于向量进行召回的做法在搜索和推荐领域都得到了比较广泛的应用,并且在学术界发表的论文中,基于向量的 dense retrieve 的方法也在不少数据集上都战胜了 sparse retrieve,吸引了越来越多的关注。在内网的不少文章中也都介绍了各种不同的模型和算法,但是目前我们还没有看到比较系统的介绍向量召回评估体系的文章,在这里我们抛砖引玉,对搜索在将向量召回应用到搜索方向过程中积累的召回评估方面的内容,进行了梳理和归纳,希望能对大家有所帮助,也希望能引出更多关于召回评估的好的方法和思路。
搜索方向对召回效果的评估,主要可以分为人工评估和自动化指标评估,我们在本文中主要讨论在模型和索引迭代过程中的自动化指标评估,人工评估目前主要用于对最终上线前的效果进行评估。
1.1 评估体系演进
从 2017 年开始,搜索就在不同的业务上开始尝试向量召回,在整个发展过程中,模型经历了从 CNN、RNN 到最近的基于预训练的演进。在评估指标的体系上,随着经验的积累,也在不断进行演化,基于时间线,我们将评估体系的演化分为三个版本,下面对三个版本逐次展开介绍。
1.2 第一版
第一版的评估体系的建设中,我们主要考虑解决模型离线迭代过程中的指标评估问题和构建完全量索引后的指标评估问题。在离线的指标评估中我们将召回任务看作是排序问题,即在召回时如果能将好的结果排在差的结果前面,我们就可以召回比较好的结果,因此,我们的离线指标评估中主要在离线评估集合上计算 NDCG/PAIR
相关文章:
向量召回:深入评估离线体系,探索优质召回方法
向量召回:深入评估离线体系,探索优质召回方法 1.简介 近年来,基于向量进行召回的做法在搜索和推荐领域都得到了比较广泛的应用,并且在学术界发表的论文中,基于向量的 dense retrieve 的方法也在不少数据集上都战胜了 sparse retrieve,吸引了越来越多的关注。在内网的不…...
播放器缓存队列bug解决方案
背景 我在开发一个播放器的缓存队列时,遇到一个bug,导致包和帧无法被下一个模块读取 找了半天,原来是队列中的包和帧数据要进行内容的刷新暂存 包数据和帧数据不能直接放入队列 //入队,包进队列 int AVPacketQueue::Push(AVPacket *val,i…...
React拖拽实践
当涉及到前端开发中的用户体验时,拖拽功能是一个常见而重要的需求。在React中,实现拖拽功能可以通过多种方式完成,但通常需要深刻理解React的状态管理、事件处理和DOM操作。本文将探讨React中拖拽的实践,包括基本原理、拖拽库的使…...
Stable Diffusion绘图,lora选择
best quality, ultra high res, (photorealistic:1.4), 1girl, off-shoulder white shirt, black tight skirt, black choker, (faded ash gray hair:1), looking at viewer, closeup <lora:koreandolllikeness_v20:0.66> 最佳品质,超高分辨率,&am…...
kube-controller-manager和kube-scheduler不能正常启动
kube-controller-manager-k8s-worker01和kube-scheduler-k8s-worker01没有启动起来 原因: 解决:进入/etc/kubernetes/manifests 编辑 将镜像地址修改为 然后重启kubelet:systemctl restart kubelet.service...
Mac OS m1 下安装Gradle5.1
1. 下载、解压 1.1 下载地址 https://gradle.org 往下翻 选择 5.1 或者选择 任何 你想要的版本 ,点击 binary-only 即可下载 . 1.2 解压到指定目录 2. 配置环境变量 2.1 编辑环境文件 vi ~/.bash_profile #GRADLE相关配置 GRADLE_HOME/Users/zxj/Documents/devSoft/grad…...
JUC并发编程面试题(自用)
线程池 1 线程池的作用:提高线程的利用率,线程复用,频繁的创建和销毁线程非常浪费资源 线程池的七大参数: corePoolSize(核心线程数):线程池中始终保持的活动线程数,即使它们处于空…...
Redis分布式会话
当探讨Redis分布式会话管理时,以下是更加详细的知识点: 1. 会话管理的挑战: 在分布式应用程序中,每个用户请求可能由不同的服务器处理。这导致了会话数据的分散性,需要一种方法来维护一致性的用户会话状态。 2. Redi…...
程序员大厂之鹅厂探秘
...
【Java 进阶篇】深入理解 JavaScript DOM Node 对象
在前端开发中,与HTML文档进行交互是一项基本任务。文档对象模型(Document Object Model,简称DOM)为开发者提供了一种以编程方式访问和操作HTML文档的方式。DOM的核心是节点(Node)对象,它代表了文…...
测试用例基础
测试用例的基本要素 测试环境, 操作步骤, 测试数据, 预期结果 测试用例的设计方法 基于需求的设计方法 需求文档 -> 梳理需求(掌握需求) -> 针对文档设计测试用例 只是针对需求进行大概的测试 具体的设计方法 等价类 等价类: 依据需求将输入(特殊情况…...
“Flex弹性布局、轮播图mock遍历数据和首页布局解析与实践“
目录 引言1. Flex弹性布局介绍及使用什么是Flex弹性布局?Flex容器与Flex项目Flex属性详解 2. 轮播图mock遍历数据简述轮播图的作用和意义处理mock数据的重要性使用Mock模拟数据遍历 3. 首页布局总结 引言 在现代网页开发中,灵活性和响应式布局是至关重要…...
自动化办公篇之python
1、如果没有安装xlwings库,先在控制台pip install xlwings,然后点击运行,创建四个空excel表 。 import xlwings as xw app xw.App(visibleTrue,add_bookFalse) for dept in ["技术部","销售部","运营部","财务部&q…...
华为云云耀云服务器L实例评测|使用sysbench对云耀云服务器mysql的性能测试
目录 引言 1 在centos上安装mysql 1.1 在云服务器上安装 Docker 1.2 在 Docker 中运行 MySQL 容器 2 安装sysbench并进行性能测试 2.1 安装和配置 sysbench 2.2 运行 sysbench 性能测试 3 分析测试结果 3.1 运行结果 3.2 对运行结果进行翻译 3.3 性能分析 4 清理…...
【译】快速开始 Compose 跨平台项目
原文: Compose Multiplatform application 作者:JetBrains 注意 Compose Multiplatform 中的 iOS 部分目前处于 Alpha 状态。以后可能会有不兼容的更改,届时也许需要手动进行迁移。 你可以使用这个模板来开发同时支持桌面、安卓和 iOS 的跨平…...
高性能服务器之mysql数据库连接池设计与实现
高性能服务器之mysql数据库连接池设计与实现 链接:https://pan.baidu.com/s/1ISZ1Sy087GUeaekW3sV_oA?pwd0t9q 内存泄漏 链接:https://pan.baidu.com/s/1AWPnbuzVSpoP-CnEgJk5hg?pwdaieq 提取码:aieq 线程池 链接:https://pan…...
黑客技术(自学)——网络安全
前言 前几天发布了一篇 网络安全(黑客)自学 没想到收到了许多人的私信想要学习网安黑客技术!却不知道从哪里开始学起!怎么学?如何学? 今天给大家分享一下,很多人上来就说想学习黑客,…...
day06-前后端项目上传到gitee、后端多方式登录接口、发送短信功能、发送短信封装、短信验证码接口、短信登录接口
1 前后端项目上传到gitee 2 后端多方式登录接口 2.1 序列化类 2.2 视图类 2.3 路由 3 发送短信功能 4 发送短信封装 4.0 目录结构 4.1 settings.py 4.2 sms.py 5 短信验证码接口 6 短信登录接口 6.1 视图类 6.2 序列化类 1 前后端项目上传到gitee # 我们看到好多开源项目…...
【SA8295P 源码分析 (一)】83 - SA8295P HQNX + Android 完整源代码下载方法介绍
【SA8295P 源码分析 一】83 - SA8295P HQNX + Android 完整源代码下载方法介绍 一、高通官网 Chipcode 下载步骤介绍1.1 高通Chipcode 下载步骤1.2 高通 ReleaseNote 下载方法二、高通 HQX 代码介绍2.1 完整的 HQX 代码结构:sa8295p-hqx-4-2-4-0_hlos_dev_qnx.tar.gz2.2 sa829…...
文献阅读快速法-ChatPDF
如题,直接提供给大家一款能够快速阅读文档的好工具——iTextMaster。 iTextMaster是一款免费的pdf阅读浏览器,上传pdf文档后等待几秒钟,AI就会自动反馈给用户关于文档的摘要总结。十分的方便且实用。 ChatPDF为您提供简洁的文档摘要。对于那…...
终极指南:如何在Mac上免费快速制作Windows启动盘?
终极指南:如何在Mac上免费快速制作Windows启动盘? 【免费下载链接】windiskwriter 🖥 Windows Bootable USB creator for macOS. 🛠 Patches Windows 11 to bypass TPM and Secure Boot requirements. 👾 UEFI & L…...
ElevenLabs越南文TTS落地全链路:从API密钥配置、SSML控制到本地化韵律校准(含实测MOS评分对比)
更多请点击: https://codechina.net 第一章:ElevenLabs越南文TTS落地全链路概览 ElevenLabs 作为当前高保真语音合成领域的领先平台,其对越南语(vi-VN)的支持已进入生产就绪阶段。尽管官方文档未单独设立越南语专区&a…...
3分钟终极指南:用trackerslist让你的BT下载速度提升5倍
3分钟终极指南:用trackerslist让你的BT下载速度提升5倍 【免费下载链接】trackerslist Updated list of public BitTorrent trackers 项目地址: https://gitcode.com/GitHub_Trending/tr/trackerslist 还在为BT下载速度慢而烦恼吗?trackerslist项…...
Taotoken 稳定直连全球大模型在高峰期业务中的实际表现
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken 稳定直连全球大模型在高峰期业务中的实际表现 在需要持续、稳定调用大模型能力的业务场景中,服务的可靠性是核…...
免费暗黑2存档编辑器终极指南:3分钟成为游戏存档修改大师
免费暗黑2存档编辑器终极指南:3分钟成为游戏存档修改大师 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2的存档问题烦恼吗?角色属性不够强、装备不理想、任务进度丢失……现在…...
为什么很多扩音设备总是啸叫?这块语音模组可能就是答案
做过扩音器、对讲机、会议设备的人,大概率都被这些问题折磨过:一开大音量就啸叫环境太吵听不清对讲时回音严重麦克风离远一点声音就没了最近看到一款 A-59F 语音处理模组,思路挺有意思。它把:AI降噪回音消除扩音防啸叫双麦定向拾音…...
别再手动敲命令了!用Kuboard-Spray v1.2.4图形化搞定K8s集群(附CentOS 7.9避坑实录)
图形化利器Kuboard-Spray v1.2.4:三分钟搭建生产级K8s集群的避坑指南 当你在凌晨三点盯着满屏的kubeadm init报错信息时,是否想过Kubernetes集群部署还能更简单?去年我们团队在客户现场部署一套生产环境时,传统命令行方式让我们在…...
北邮数电实验:用Verilog在FPGA上实现4位加法器,从全加器到数码管显示(附完整代码与管脚绑定)
北邮数电实验:从全加器到4位加法器的FPGA实现全流程解析 第一次接触FPGA上的数字电路实验时,看着开发板上密密麻麻的管脚和闪烁的LED,我完全不知道从何入手。直到亲手实现了一个4位加法器,才真正理解了数字系统设计的精髓——用硬…...
如何扩展Noisereduce:自定义降噪算法的开发指南
如何扩展Noisereduce:自定义降噪算法的开发指南 【免费下载链接】noisereduce Noise reduction in python using spectral gating (speech, bioacoustics, audio, time-domain signals) 项目地址: https://gitcode.com/gh_mirrors/no/noisereduce Noisereduc…...
硬件开发、智能硬件与硬件系统:三层架构解析与实践指南
1. 项目概述:从零开始理解硬件世界的三层架构干了十几年硬件,从画第一块单片机最小系统板,到参与设计复杂的智能穿戴设备,我越来越觉得,很多刚入行的朋友,甚至一些软件背景的同事,对“硬件”这个…...
