浅谈点击信号对搜索的影响

a77013bfa63558fdf50c330d6bad1224.png

文 | bytecoder
源 | 知乎

6dfa560c99e09b3700dea483bcf81796.png背景8b7f7591bcd35b54d4fc06007222277f.png

过去一周,我们探讨了搜索系统最核心的指标以及如何通过实验的方式来判断策略的好坏。但是影响一个实验的好坏除去策略本身的影响之外,还会受到一些反直觉的因素的影响;之前在做搜索,尤其是搜索系统成熟之后,曾经出现过一个非常诡异的情况,生产系统上的大多影响面正向的小流量实验都不约而同的出现了衰减(实验开始的第一天核心搜索指标显著正向,之后正向收益开始变窄,直到最后收益消失)

9fd8c8806f0cd3b7dda193d0e3f4ce84.png问题1b22932d1e476a5af73118db2323e951.png

为什么搜索系统的小流量实验会出现衰减,同样以小流量实验验证收益的推荐与广告是否也有类似的情况?这个是一个值得我们认真探究的一个问题,追根溯源还是需要我们综合业务理解和技术本身来对这个问题进行拆解分析。

7fbf6d4a17fa8de4013b3e430ef36d36.png思考ae1c4e71f19320324d688650735e137a.png

针对上述问题,我们可以从搜索要解决的问题出发,来进行问题拆解。搜索是一个以相关性为基础,辅助以吸引度、满意度、权威性、时鲜性、质量、多样性等多种不同目标为一体的复杂业务,整体要解决的问题更偏向于general,要求不同的人搜索得到的结果倾向于一致。

而用户检索query主题相关的page未必是一个最优解,我们还需要引入吸引度的概念,核心就是群众力量是伟大的,在相关性区分度不明显的前提下,引入吸引度从而将优质内容排序位置往前提(将吸引度好的page),为了刻画搜索的吸引度,我们引入的是搜索的点击信号(CTR),当相关性都是3分的时候,为了将优质3分的page往前顶,我们需要将那些CTR高的page排在更靠前的位置,通过普罗大众的行为特性来帮助我们的搜索系统将优质内容往前顶。

但是仅仅依靠吸引度其实容易导致我们的page会受到标题党的骗点击的作弊行为的影响,为了让优质内容得到更多的曝光,我们引入满意度来将劣质标题党的page打掉,常见的满意度的刻画可以依赖于停留时长或者完播率(视频搜索)。

我们以吸引度来举例,搜索的点击刻画是先验和后验的融合,先验更多是依赖于一个点击率预估的模型,主要是帮助我们对全局的Page进行点击预估,更偏向于吸引度刻画能够有强的泛化能力;而后验更多是依赖于统计信息,主要是帮助我们将具有置信点击行为的page往前提。如何将先验和后验融合的更好也是一个非常重要的topic,不作为我们本文讨论的重点。

在吸引度的刻画中,有一类特征非常重要,就是后用行为特征:

1. 过去1小时当前page的点击次数

2. 过去1天当前page的点击次数

3. 过去一周当前page的点击次数

回到刚才的问题,我们在做流量实验的时候,我们忽视了一点就是索引库中的所有的page是面向所有用户开放的,索引库没有针对不同的流量实验进行索引重建(索引动辄几百亿,成本过高),当我们的实验组上线一个非常好的策略,对应的page上会积累大量的实验组策略带来的用户点击行为。但是我们的对照组(线上策略)进行点击特征信号生成的时候,没有去排除对应的实验组的用户行为所造成的影响,这个时候就会发生点击穿越行为(实验组的用户行为会污染对照组点击特征信号统计)。

搜索里面还有一种重要的信号叫做CQ数据(Click Query),我们会将page的点击query作为一个强的信号引入我们的搜索系统中,当我们对于CQ数据应用的越重,那么上述的点击穿越行为就会越严重,因为实验组带来的收益很快会被对应的page cover住,而对照组和实验组在进行特征统计的时候没有进行区分,这样就会带来大量的穿越行为,从而将实验组的收益消费掉。

那么是否所有的CTR任务都会有这样的影响?答案是肯定的,但是与搜索系统有一点不同的是,推荐和广告更重个性化,相比于搜素更重视全局客观的结果,推荐和广告的点击更重局部,去看单个用户的行为更多,我们在推荐和广告的点击模型中引入了大量的uid的特征,相当于我们进行了用户隔离,整体的穿透问题就不是很大。

afe2bdbb2ee258eb5a395f71b36feab3.png解决思路28342c6b24884aefb1f96eeb586defe1.png

搜索所面临的技术难题不是推荐和广告能够比拟的,在搜索系统里面只要用到点击信号,都会存在不同程度的穿越问题,哪怕你线上迭代的模块和点击没有任何关系,只要做AB实验,那么势必就会有点击穿越问题,真正去解决这种问题现今也没有特别好的方案,而我们唯一能做的就是拿空间来换,在空间维度进行流量区分,对照组的特征统计依赖于非实验组的用户行为特征,这样能缓解一些穿越问题,但是会带来资源的浪费和消耗。

e9a224bc9ff05fc5c207878988613f03.png总结14f0c03958eedfd7c8e690aa31fe828d.png

点击穿越问题是搜索系统里一个比较疼的问题,当我们的系统迭代初期,点击灵敏度不够的时候,穿越问题对我们系统的影响会稍小一些;一旦我们的系统逐步趋于完善,点击灵敏度变高后,这类问题就会非常严重了。纵观国内国外大厂,解决这种方法的手段也就让先验实验最多只有有限时间的收益(半天),或者通过资源来换(不优美,没有真正解决,线下流程变的繁琐)。搜索真的是一个非常难的问题,迭代过程中会遇到不少诡异的问题,需要我们结合业务属性和技术特点来进行分析,坑不少,不过确实很有趣。

2b5ddf30bbd7698c63f9e8f059931a4a.png后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

ac92b05c952a19093f76f145df1e7272.gif

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

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

相关文章

Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)

通过《Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现》一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBalancerClient接口来获取某个服务的具体实例,并根据实例信息来发起服务…

CCKS 2022 | 如何通过“说一句话”精准获取数据?恒生发布金融NL2SQL评测任务

某投资者登录券商理财APP,想要查找最近两年上市的公司,并按照最新的市值进行排序。然而他很难直接找到结果,需要经过层层筛选才能大致找到相关结果。有没有更简便的方式来查找数据?如果说一句话或者打一小段文字后,就能…

AI从业几年还不具备提出新模型的技术能力?看这个就够了!

AI是一门入门简单,但想深入却很难的学科,这也是为什么AI高端人才一直非常紧缺的重要原因。在AI领域技术领域,我们可以说机器学习功底决定了一个人的上限也不为过。为什么?机器学习就像物理学中的数学,如果你对数学没有…

Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

昨晚Nacos社区发布了第一个生产级版本:0.8.0。由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为基础。 升级的理由 如Nacos官方的发布文…

LeetCode 1016. 子串能表示从 1 到 N 数字的二进制串(bitset)

1. 题目 给定一个二进制字符串 S(一个仅由若干 ‘0’ 和 ‘1’ 构成的字符串)和一个正整数 N,如果对于从 1 到 N 的每个整数 X,其二进制表示都是 S 的子串,就返回 true,否则返回 false。 示例 1&#xff…

论文浅尝 | KM-BART:用于视觉常识生成的知识增强多模态BART

笔记整理:陈子强,天津大学硕士动机视觉语言模型早期集中在纯理解任务(例如,VQA视觉问答),尽管在理解任务上取得了先进的性能,却很少关注多模态生成任务。当前的预训练任务例如,掩码语…

AllenAI | 用GPT-3帮助增建数据,NLI任务直接提升十个点!?

文 | iven编 | 小轶用机器构建数据集,这件事可能比机器学习诞生的还要早,很多人做过很多工作。怎样让机器参与进来?前人的工作可以分成两类思路:一类是以远程监督为代表,让机器来标注,主要目的在于得到更多…

论文浅尝 | CLIP-Event: 用事件结构连接文本和图像

笔记整理:康婧淇,东南大学硕士,研究方向为多模态事件抽取、自然语言处理。动机视觉语言预训练模型通过理解图像和文本之间的排列组合,在支持多媒体应用方面取得了巨大成功。虽然现有的视觉语言预训练模型主要侧重于理解图像中的物…

LeetCode 402. 移掉K位数字(贪心,单调栈)

1. 题目 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: num 的长度小于 10002 且 ≥ k。 num 不会包含任何前导零。 示例 1 : 输入: num "1432219", k 3 输出: "1219" 解释: 移除掉…

Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少团队的支持;同时,由于Spring …

忙累了躺平,躺醒后该干点啥

文 | 一只菜鸡前几天刷到 微调 的一些碎碎念,觉得自己的2021年还是有蛮多收获的,于是在各位卖萌屋小伙伴的鼓励下,就有了本文。收获很多,我从中挑选出来自我感觉对读者来说比较有用的三点。1. 放低期待,学会适当躺平我…

论文浅尝 | P-Adapters: 从具有不同提示的语言模型中鲁棒地提取事实信息

笔记整理:田玺,浙江大学硕士研究生。研究方向:知识图谱、自然语言处理论文地址:https://openreview.net/forum?idDhzIU48OcZh,录用于ICLR2022摘要之前的工作发现,从大型语言模型(LLMs&#xff…

LeetCode 470. 用 Rand7() 实现 Rand10()(随机概率)

1. 题目 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。 不要使用系统的 Math.random() 方法。 示例 1: 输入: 1 输出: [7]示例 2: 输入: 2 输出: [8,4]示例 3: 输入: 3 输出: [8,1,10]提示: rand…

Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑

应用场景 有的时候,我们对于同一通道中的消息处理,会通过判断头信息或者消息内容来做一些差异化处理,比如:可能在消息头信息中带入消息版本号,然后通过if判断来执行不同的处理逻辑,其代码结构可能是这样的…

图谱实战 | 再谈图谱表示:图网络表示GE与知识图谱表示KGE的原理对比与实操效果分析...

转载公众号 | 老刘说NLP知识图谱嵌入是一个经典话题,在之前的文章《知识表示技术:图谱表示VS图网络表示及基于距离函数的表示学习总结》中,围绕知识图谱嵌入学习这一主题,对比了知识图谱嵌入与图网络嵌入的异同。而在实际工作中&a…

LeetCode 1247. 交换字符使得字符串相同

1. 题目 有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 “x” 和 “y”,你需要通过「交换字符」的方式使这两个字符串相同。 每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。 交换只能发生在两个不同的字…

图深度学习前沿工作汇总与解析

图深度学习除了可以应用于标准图推理任务以外,还广泛应用于推荐、疾病或药物预测、自然语言处理、计算机视觉、交通预测等领域。可见,基于图的深度学习不仅有助于挖掘现有图数据背后的丰富价值,而且还通过将关系数据自然地建模为图&#xff0…

Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试功能:重新入队。 动手试试 准备一个会…

图谱实战 | 华农夏静波:深层语义知识图谱在药物重定位中的应用

转载公众号 | DataFunSummit分享嘉宾:夏静波 华中农业大学 副教授编辑整理:王金华 电科32所出品平台:DataFunTalk导读:自新冠病毒肺炎疫情发生以来,由于传统药物研发周期长,药物重定位(老药新用…

LeetCode 738. 单调递增的数字(贪心)

1. 题目 给定一个非负整数 N&#xff0c;找出小于或等于 N 的最大的整数&#xff0c;同时这个整数需要满足其各个位数上的数字是单调递增。 &#xff08;当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。&#xff09; 示例 1…