签检索:合理使用标签过滤和划分索引空间

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 广告引擎通过标签优化索引设计:高区分度标签用于倒排索引,低区分度的加入过滤列表,高覆盖维度则用于索引分片。结合树形结构分流、倒排检索与结果过滤,有效缩小检索空间,提升匹配效率。(239字)

广告引擎的索引设计思路,是将广告设置的标签作为 Key 来构建倒排索引,在 posting list 中记录对应的广告设置列表,然后为标签进行 ID 编号,让系统处理标签的过程能更高效。这么说比较抽象,我来举个例子。

如果广告设置的标签是「地域:北京」「兴趣:篮球」「媒体:体育网站」,那我们可以使用一个 32 位的整数为每个标签进行编号。具体来说就是将 32 位的整数分为两部分,高位用来表示定向类型,低位用来表示这个定向类型下具体的标签。

比如说,我们采用高 8 位作为定向类型的编码,用来表示地域定向、兴趣定向和媒体定向等。用低 24 位,则作为这个定向类型下面的具体内容。那在地域定向里,低 24 位就是每个地区或者城市自己的编码。这样,我们就可以将广告设置的标签都转为一个编号了(高、低位的分配是可以根据实际需求灵活调整的)。

  1. 将标签加入过滤列表

那是不是所有的标签都可以作为倒排索引的 Key 呢?你可以先自己想一想,我们先来看一个例子。

如果所有的广告投放设置都选择投放在 App 上,那么「媒体类型:App」这个标签后面的 posting list 就保存了所有的广告设置。但是,这样的标签并不能将广告设置区分开。为了解决这个问题,我们可以使用类似 TF-IDF 算法中计算 IDF 的方式,找出区分度低的标签,不将它们加入倒排索引。

那我们什么时候使用这些标签呢?我们可以将这些标签加入「过滤列表」中,然后在倒排索引中检索出结果以后,加上一个过滤环节,也就是对检索结果进行遍历,在遍历过程中使用「过滤列表」中的标签进行检查,这样就完成了标签是否匹配的判断。

  1. 用标签进行索引分片

其实,对于标签的匹配使用,我们还有其他的方案。我们再来看一个例子,假设平台中有一半的广告投放设置希望投放在移动 App 上,另一半希望投放在 PC 网站上,那如果我们以「媒体类型:App」和「媒体类型:PC 网站」作为标签来建立倒排索引的话,这样的标签是有区分度的。但是由于这两个标签后面的 posting list 都会非常长,各自都保存着一半的广告设置。因此在进行 posting list 归并的时候,实际上就等于要遍历一半的广告设置。这反而会降低检索效率。

因此,对于「媒体类型」这类(以及「性别」、「操作系统」等)具有少量的标签值,但是每个标签值都有大规模区分度的设置维度来说,我们可以不把它们加入到倒排索引中,而是根据标签来将广告设置进行 分片。也就是把投放 PC 网站的广告设置作为一组,投放 App 的广告设置作为另外一组,分别建立倒排索引。

如果这样的有区分度的设置维度不止一个,那我们就使用树形结构进行划分,将最有区分度的设置维度(如「媒体类型」)作为根节点,不同的设置值作为分叉(如 PC 网站和 App 就是「媒体类型」维度下的两个分叉)。在这个节点下,如果有其他的设置也具有足够的区分度,那也可以作为子节点继续划分。然后对于被划分到同一个叶子节点下的一组,我们再利用标签建立倒排索引。

通过这样的树形结构,我们根据广告请求上的标签,就能快速定位到要找的索引分片,之后,再查找分片中的倒排索引就可以了。

总结来说,广告设置对广告引擎来说,就像搜索词对搜索引擎一样重要。但是对于广告设置,我们不会像关键词一样,全部加入倒排索引中,而是会分别加入到三个环节中:第一个环节,作为树形结构的节点分叉进行分流;第二个环节,作为倒排索引的 Key;第三个环节,在遍历候选结果时作为过滤条件。通过这样的设计,广告引擎中的检索空间就能被快速降低,从而提升检索效率,快速返回候选结果了。

相关文章
|
7月前
|
搜索推荐 数据库 索引
广告引擎的整体架构和工作过程
广告引擎核心是匹配用户与广告。通过用户标签、广告位信息及广告主定向条件,构建倒排索引,实现高效召回与排序,0.1秒内完成广告返回,并实时监测展现、点击与计费,确保精准投放与预算控制。
|
算法 Shell 计算机视觉
【特效】对实时动态人脸进行马赛克及贴图马赛克处理及一些拓展
【特效】对实时动态人脸进行马赛克及贴图马赛克处理及一些拓展
794 0
|
1月前
|
人工智能 JSON 搜索推荐
AI 输出不能直接用?问题多半出在 Format 没写清楚
AI输出常需返工?根源常在格式缺失!本文揭示:明确Format(如Mermaid图、STAR框架、结构化表格等)才是提示词关键,它让AI产出直连工作流——非灵感草稿,而是可交付、可复用、可自动化的标准件。
79 0
AI 输出不能直接用?问题多半出在 Format 没写清楚
|
1月前
|
人工智能 监控 JavaScript
2026年制造业AI转型:三个最值得投入的方向
制造业AI落地三个方向:人+Agent混合组织、AI智能数据治理、企业本体语义模型,建议分阶段推进。
|
7月前
|
存储 算法 数据挖掘
如何使用乘积量化压缩向量?
乘积量化通过将高维向量划分为多个低维子空间,对每个子空间聚类并用聚类ID表示子向量,大幅压缩存储空间。例如,1024维向量可分段聚类,用32比特替代原始4KB空间,压缩率达1/1024,显著提升内存加载与检索效率。
|
7月前
|
存储
如何利用批量写入代替多次随机写入?
LSM树通过延迟写入优化磁盘I/O:数据先写入内存中的C0树,达到阈值后批量以块为单位写入磁盘的C1树。C1树采用B+树结构且叶子节点全满,无需预留空间,提升写入效率,适用于高并发写场景。(239字符)
什么是局部敏感哈希?
局部敏感哈希(LSH)是一种将高维数据映射为低维编码的技术,使相似数据更可能生成相近或相同的哈希值。不同于传统哈希对微小变化敏感,LSH通过随机超平面划分空间,使邻近点在多个划分中大概率落入同侧,从而获得相似哈希码。常用海明距离衡量哈希值相似性,适用于近似最近邻搜索与大规模文本去重等场景。
|
7月前
|
机器学习/深度学习 自然语言处理 搜索推荐
搜索引擎是如何进行查询纠错的?
当用户输入错误查询词时,搜索引擎通过查询纠错功能自动识别并修正错误。该过程分为三步:首先判断输入是否存在错误,利用字典或语言模型评估置信度;接着召回候选词,基于拼音、字形或编辑距离生成可能的正确词;最后对候选词打分排序,选出最优结果。结合查询推荐,搜索引擎能更好理解用户意图,提升检索效果。
|
AI芯片
AIGC视频生成/编辑技术调研报告
随着图像生成领域的研究飞速发展,基于diffusion的生成式模型取得效果上的大突破。在图像生成/编辑产品大爆发的今天,视频生成/编辑技术也引起了学术界和产业界的高度关注。该分享主要介绍视频生成/编辑的研究现状,包括不同技术路线的优劣势,以及该领域当下面临的核心问题与挑战。
2319 3
AIGC视频生成/编辑技术调研报告
|
资源调度 监控 前端开发
第七章(原理篇) 微前端技术之依赖管理与版本控制
第七章(原理篇) 微前端技术之依赖管理与版本控制
900 0

热门文章

最新文章