京东搜索重排:基于互信息的用户偏好导向模型

京东云开发者
• 阅读 181

京东搜索重排:基于互信息的用户偏好导向模型 

SIGIR 24: A Preference-oriented Diversity Model Based on Mutual-information in Re-ranking for E-commerce Search

链接:https://dl.acm.org/doi/abs/10.1145/3626772.3661359

摘要:重排是一种通过考虑商品之间的相互关系来重新排列商品顺序以更有效地满足用户需求的过程。现有的方法主要提高商品打分精度,通常以牺牲多样性为代价,导致结果可能无法满足用户的多样化需求。相反,旨在促进多样性的方法可能会降低结果的精度,无法满足用户对准确性的要求。为了解决上述问题,本文提出了一种基于互信息的偏好导向多样性模型(PODM-MI),在重排过程中同时考虑准确性和多样性。具体而言,PODM-MI采用基于变分推理的多维高斯分布来捕捉具有不确定性的用户多样性偏好。然后,我们利用最大变分推理下界来最大化用户多样性偏好与候选商品之间的互信息,以增强它们的相关性。随后,我们基于相关性得出一个效用矩阵,使项目能够根据用户偏好进行自适应排序,从而在上述目标之间建立平衡。在京东主搜上的实验结果证明了PODM-MI的显著提升。

1、背景及现状

•用户从搜索到下单过程中存在不同的决策阶段(买、逛等),用户不同的决策阶段对多样性也有不同需求,现阶段模型没有直接建模不同决策阶段和多样性的关系。

•用户需求考虑。

 京东搜索重排:基于互信息的用户偏好导向模型

◦重排阶段需要充分考虑用户需求。通常来说,用户的需求是个性化的,即部分场景下对于排序结果的准确性要求较高,而另一部分场景下对于排序结果的多样性要求较多。在这种情况下,一个合适的重排排序算法应该自适应地根据用户需求进行结果调整,即当用户需要多样性时,搜索排序结果应当包含尽可能不同的商品来满足用户的多种兴趣来满足用户的多样性需求;而当用户需要准确性时,排序结果应包含最符合用户或用户最感兴趣的单一类别商品。例如,用户从搜索“连衣裙”到逐渐缩小范围到“荷叶边连衣裙”,这一过程中,他们的搜索意图从多样化逐渐变得明确和具体。要在重排阶段平衡效率指标和多样性,我们面临两个主要挑战:

1.准确建模用户的决策意图困难,因为其意图会在多次搜索中逐渐演变。

2.即使成功建模了用户的意图,如何加强搜索结果与用户演变意图的匹配关系?

为了解决这些挑战,我们提出了PODM-MI(基于互信息的偏好导向多样性模型)。

2、PODM-MI

 京东搜索重排:基于互信息的用户偏好导向模型 

PODM-MI模型以排序列表和用户行为数据(如点击流和加入购物车的行为)为输入。首先,我们使用PON捕捉用户的多样性偏好和候选商品的多样性表示。然后,SAM增强用户多样性偏好与候选商品多样性之间的一致性。从这种增强的一致性中,我们得出一个效用矩阵,该矩阵会动态调整用户偏好,从而重新排序最终的排名结果以更好地满足用户需求。

2.1 PON 用户偏好建模

 京东搜索重排:基于互信息的用户偏好导向模型 

在电商搜索场景中,历史查询及其关联商品提供了用户意图的有价值表示。因此,我们的方法不仅包括点击流和加入购物车的行为,还包括查询轨迹,以更好地捕捉用户偏好。

传统模型通常将用户偏好视为静态,在潜在空间中创建固定的用户嵌入。然而,这种方法在捕捉用户偏好的复杂和动态特性时显得不足。相比之下,分布表示引入了不确定性,提供了比单一固定嵌入更多的灵活性。

我们使用多维高斯分布来建模用户偏好的演变趋势。该分布由均值向量和对角协方差矩阵表征,使我们能够更好地捕捉用户偏好的动态特性。此外,高斯分布还可以用于测量收敛和发散趋势。较大的方差表示更均匀的分布,而较小的方差则表示更集中的分布。这个方差可以间接反映用户的偏好趋势。

2.2 SAM 利用互信息优化排序结果

京东搜索重排:基于互信息的用户偏好导向模型 

在建模用户偏好和候选商品的多样性之后,下一步是确保排序结果与用户意图紧密匹配。为此,我们可以使用互信息(一种衡量两个变量之间共享信息量的方法)来量化候选商品与用户偏好之间的相关性。通过最大化这两个因素(用户偏好和多样性)之间的互信息,我们确保候选商品的分布与用户意图的分布紧密对齐。

然而,估计和最大化互信息通常是不可行的。为了解决这一挑战,我们借鉴了变分推理的文献,引入了一个变分后验估计器。该方法允许我们为互信息目标推导出一个可行的下界。

 京东搜索重排:基于互信息的用户偏好导向模型 

在增强一致性之后,我们设计了一个可学习的效用矩阵,以进一步使最终的排序结果与用户偏好对齐。该矩阵通过可学习权重矩阵与对齐特征的点积获得。然后,我们将效用矩阵与从主干网络计算的分数相乘以得到最终结果。

2.3 优化函数及最终loss

优化函数:

京东搜索重排:基于互信息的用户偏好导向模型 

 京东搜索重排:基于互信息的用户偏好导向模型

最终loss:



前者是prm分类loss,后者是互信息loss

方案总结:

 京东搜索重排:基于互信息的用户偏好导向模型 

2.4 实验结果及可视化分析

 京东搜索重排:基于互信息的用户偏好导向模型

为了验证PODM-MI的有效性,我们在京东电商搜索引擎中进行了在线A/B测试。PODM-MI不仅提高了用户购买的可能性,还增加了搜索结果中商品的多样性。需要注意的是,每增加0.10%的UCVR都会为公司带来巨大的收入,因此PODM-MI取得的提升是非常显著的。

京东搜索重排:基于互信息的用户偏好导向模型



进一步的,我们对用户query流降维后的趋势使用TSNE可视化,同时降维可视化需要label足够明显,所以采用人工分桶的方法,对排序结果的多样性熵进行人工分桶,分成多个label。可以看出,不同发散收敛趋势的query流有着很明显的分层,query流同对应的熵聚集在了一起,这表明不同的query流的发散趋势对应着不同的结果的熵。也就是说,query流越发散,session的排序结果越发散,query流越收敛,session的排序结果越收敛。 京东搜索重排:基于互信息的用户偏好导向模型 京东搜索重排:基于互信息的用户偏好导向模型

此外,我们还用一个更具体的案例来说明我们方法的有效性。当用户的历史搜索查询非常多样时,如:Switch,塞尔达,手机壳,锤子,油烟机,排气管,在这种情况下,当用户输入“蔬菜水果脱水机”后,我们的方法比基线方法产生了更多样化的结果。另外,还有一个收敛趋势的案例。当用户搜索“连衣裙”并访问相应的店铺后,再次输入该店铺时,我们的方法比基线方法产生的结果更加集中,并且更好地与用户的历史搜索记录相匹配。

3、未来迭代方向

• 引入更精细的特征,更好的建模用户的逛买意图

• 用户意图建模更新的进一步优化

• 用户意图建模显式影响

Note:

欢迎大家交流与探讨,如有任何问题或建议,请随时联系:{wanghuimu1, limingming65}@jd.com。

我们京东搜索算法部目前有大量的社招和实习机会,诚邀有志之士加入。无论您是技术专家还是新兴人才,我们都期待您的加入,共同推动技术的进步和创新。欢迎大家踊跃投递简历,期待与您在京东相遇!

团队最近相关工作:

  1. Breaking the Hourglass Phenomenon of Residual Quantization: Enhancing the Upper Bound of Generative Retrieval (arxiv:2407.21488)

  2. Generative Retrieval with Preference Optimization for E-commerce Search(arxiv:2407.19829)

  3. A Preference-oriented Diversity Model Based on Mutual-information in Re-ranking for E-commerce Search(SIGIR 24 ACCEPTED)

  4. MODRL-TA: A Multi-Objective Deep Reinforcement Learning Framework for Traffic Allocation in E-Commerce Search(CIKM 24 ACCEPTED)

  5. Optimizing E-commerce Search: Toward a Generalizable and Rank-Consistent Pre-Ranking Model(SIGIR 24 ACCEPTED)

分享嘉宾:

王彗木博士

中科院自动化所博士,研究方向为大模型、强化学习,亦城优秀人才,CCF 中国计算机学会专业会员,目前在京东从事主搜排序及生成式召排工作

李明明博士

资深算法专家中科院信工所博士,研究方向为大模型、语义检索,亦城优秀人才,CCF 中国计算机学会专业会员,目前在京东从事主搜召回及生成式召排工作

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
Java并发(三):重排序
在执行程序时为了提高性能,提高并行度,编译器和处理器常常会对指令做重排序。重排序分三种类型:1.编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。2.指令级并行的重排序。现代处理器采用了指令级并行技术(InstructionLevelParallelism,ILP)来将多条指令重叠执行。如果不存在数据依
Wesley13 Wesley13
2年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
2年前
Java 中 final 内存语义
对于final域,编译器和处理器要遵守两个重排序规则。1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。2)初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序。下面通过一些示例性的代码来分别说明这两个规则。 !(ht
Stella981 Stella981
2年前
Apache Flink 在实时金融数据湖的应用
本文由京东搜索算法架构团队分享,主要介绍ApacheFlink在京东商品搜索排序在线学习中的应用实践。文章的主要大纲如下:1、背景2、京东搜索在线学习架构3、实时样本生成4、FlinkOnlineLearning5、监控系统6、规划总结一、背景在京东的商品搜索排序中,
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
智多星V+TNY264278 智多星V+TNY264278
1星期前
两分钟教你如何高效的编写一个电商API接口?
一、需求分析首先要明确这个API接口的用途和要实现的功能。比如,是用于获取商品列表、用户订单信息,还是进行购物车操作等。例如,如果是创建一个获取商品列表的API,需要确定要返回的商品信息字段,如商品名称、价格、库存、图片链接等。二、设计数据结构数据库设计根
京东云开发者 京东云开发者
11个月前
浅析Redis大Key | 京东云技术团队
一、背景在京东到家购物车系统中,用户基于门店能够对商品进行加车操作。用户与门店商品使用Redis的Hash类型存储,如下代码块所示。不知细心的你有没有发现,如果单门店加车商品过多,或者门店过多时,此Key就会越来越大,从而影响线上业务。userPin:st
京东云开发者 京东云开发者
6个月前
分享一个国内可用的AIGC生成平台|免费创作
AIGC内容生成平台是京东出品的一款基于AI大模型的生成式内容生产工具,它可以帮助用户快速、高效地生成堪比棚拍质感的商品场景图和堪比专业写手的营销文案,让摄影小白1分钟制作百张商品图,百篇营销文案。1、产品能力介绍京点点AIGC内容生成平台是京东基于AIG
淘宝代购集运系统 PHP 开发
淘宝代购系统是一种专门为海外客户提供的服务,它允许用户通过代购平台购买中国电商平台上的商品,并通过集运服务将商品送达海外。以下是一些关于淘宝代购系统的关键信息:商品数据接口:代购系统通过内置的商品数据接口,可以查询淘宝、天猫、阿里巴巴、京东、唯品会等中国电
京东商品详情数据接口(JD.item_get)丨京东API接口指南
京东商品详情数据接口(JD.itemget)是京东开放平台提供的一种接口,它允许开发者通过调用接口获取京东商品的详细信息。这些信息包括但不限于商品的价格、库存、销量、评价等。以下是一些关于此接口的详细信息:接口功能:此接口可以获取商品的基本信息、详情描述、