news 2026/4/3 1:30:43

可解释集成模型如何提升商品搜索效果

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
可解释集成模型如何提升商品搜索效果

可解释集成模型改进商品检索

机器学习领域正飞速发展,新模型层出不穷,均承诺超越前代。然而,为特定用例评估新模型是一个耗时且消耗资源的过程。这对于像某中心的商店这样承诺为客户提供最先进技术、同时又全天候高负载运营的在线服务而言,构成了一个难题。

在今年的Web会议上发表的一篇论文中,我们提出了一个解决此难题的方案。我们建议不再使用单一模型——或一对模型(一个语言模型和一个图神经网络)——来处理客户查询,而是使用一个模型集成,其输出由梯度提升决策树进行聚合。

通过使用沙普利值来确定每个模型对GBDT最终决策的贡献程度,我们可以根据效用对模型进行排序。然后,根据可用的计算资源,我们仅保留那些在实际并行运行时最有用的模型。

一个尚未针对特定用例进行充分评估的新模型,可以在任何可用的数据上进行训练,然后添加到集成中,在那里它与现有模型一同接受检验。沙普利值分析可能会将其从集成中移除,也可能会确定新模型使某个现有模型过时。无论哪种方式,客户都能享受到当前最佳技术带来的益处。

我们使用内部的“购物查询数据集”测试了我们的方法,这是一个公开数据集。该数据集包含三种语言的数百万个查询-商品对,其中查询与商品之间的关系已按照ESCI方案(精确匹配、替代品、互补品或不相关)进行了标注。我们在数据集上训练了三个大语言模型和三个图神经网络,然后使用三个不同的指标(准确率、宏观F1和加权F1)将它们与采用基于GBDT方法的六模型集成进行比较。在所有指标上,集成模型的表现都优于单个模型,且优势通常非常显著。

ESCI分类

历史上,信息检索模型是根据其返回结果的相关性来评估的;内部开发的ESCI方案是一种更细粒度的替代方案。给定一个查询,一个商品可以被分类为:精确匹配(查询中指定的品牌和/或型号)、替代品(同一产品类别但来自不同制造商的产品)、互补品(互补产品,例如查询手机时的手机壳)或不相关(一个重要的分类,因为它适用于给定查询中的绝大多数产品)。

执行ESCI分类主要有两种方法:一种是微调语言模型,其输出完全基于产品描述和查询的文本;另一种是使用图神经网络,它可以考虑产品和查询之间已观察到的关系。

例如,在内部商店中,会构建图谱来捕获不同类别的产品倾向于一起购买、哪些产品在单个搜索会话中倾向于一起被查看、哪些产品最常与特定查询词相关联等信息。

GNNs以迭代过程将图谱信息映射到表示空间,首先嵌入每个节点的关联数据;然后创建结合节点、其邻居以及它们之间关系嵌入的新嵌入;依此类推,通常跨越一到四跳的距离。因此,在ESCI任务上微调的GNNs会考虑查询和产品描述语义内容之外的信息。

模型集成

研究发现,结合微调后的LLMs和GNNs的输出通常在ESCI任务上能获得最佳性能。在WebConf论文中,描述了一种扩展集成中模型数量的通用方法。

各独立模型的输出由GBDTs进行聚合。决策树是一种做出一系列二元决策的模型——通常是判断特定数据特征的值是否超过某个阈值。树的叶节点与特定的数据分类相关联。

为了计算集成中每个模型对最终输出的贡献度,使用了基于博弈论中沙普利值概念的沙普利加性解释方法。通过沙普利值,可以系统地改变GBDT模型的输入,并跟踪每次变化如何通过决策树传播;沙普利值形式化提供了一种利用该数据来估算所有可能输入下聚合效应的方法。

这反过来又允许计算集成中每个模型对GBDT模型输出的贡献程度。在此基础上,可以选择仅将最有用的模型纳入集成——数量上限取决于我们认为计算上可行的阈值。

当然,运行一个模型集成比运行单个模型(或一对模型,一个语言模型和一个GNN)在计算上更昂贵。但在论文中,描述了几种提高集成模型效率的技术,例如缓存先前见过的查询-商品对的标签以供后续重用,以及为频繁检索商品周围的邻居预计算GNN嵌入。实验表明,集成模型对于实时部署应该是可行的。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 23:36:46

Linux内核是怎么发现内存泄漏的?深入kmemleak源码,揭秘检测原理

用户态内存泄漏好查,有Valgrind、ASan这些神器。但内核态?那完全是另一回事。 内核模块一旦泄漏内存,不会像用户进程那样被OOM Killer干掉,而是一直占着内存,直到系统重启才能释放,更麻烦的是内核没有独立的地址空间隔离,一个驱动的泄漏可能把整个系统拖垮。 那Linux内…

作者头像 李华
网站建设 2026/4/1 20:20:28

Jmeter分布式压测详解

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、什么是压力测试? 压力测试(Stress Test),也称为强度测试、负载测试,属于性能测试的范畴。 压力…

作者头像 李华
网站建设 2026/3/30 12:11:51

深入理解飞书 Webhook 签名验证:一次踩坑到填坑的完整记录

深入理解飞书 Webhook 签名验证:一次踩坑到填坑的完整记录作为一名勤劳的牛马,我在对接飞书开放平台时遇到了一个看似简单却让人抓狂的问题——签名验证总是失败。经过一番深入研究,我发现这个问题背后隐藏着许多容易被忽视的细节。今天&…

作者头像 李华
网站建设 2026/3/22 1:40:18

学霸同款2026 AI论文软件TOP10:继续教育必备测评

学霸同款2026 AI论文软件TOP10:继续教育必备测评 2026年学术写作工具测评:为何需要一份精准榜单? 随着人工智能技术在学术领域的深入应用,越来越多的科研工作者开始依赖AI写作工具提升论文撰写效率。然而,面对市场上琳…

作者头像 李华