当前位置: 首页 > news >正文

对抗训练提升产品搜索技术解析

对抗训练改进产品发现

深度学习在自然语言处理任务中非常成功,但在信息检索任务(如产品发现)中效果较差,主要原因是缺乏负训练样本。虽然容易训练模型理解“Fire HD 10”查询匹配同名产品,但教它识别“Fire HD 10保护套”和“Fire HD 10充电器”不匹配同一产品则更加困难,需要大量负样本。然而,为大型产品目录中的每个项目识别和标注负样本是一项巨大工程。

在计算语言学协会年会上,我们提出了一种通过自动生成负训练样本来训练基于深度学习的产品发现系统的新方法。实验表明,该方法比现有最佳方法性能提升16%,比商业产品发现系统常用方法提升62%。

技术方法

我们的技术使用对抗学习,近年来在视觉图像生成系统中证明非常成功。在典型对抗学习系统中,合成数据的生成器和区分真实数据与合成数据的判别器一起训练。但在我们的案例中,系统不是试图识别合成样本,而是准确分类合成样本。这一差异使我们能够设计一种新的神经架构,使对抗学习更简单高效。

匹配与不匹配

系统输入是客户查询和产品名称,输出是判断产品是否与查询匹配的良好结果。

对于这样的系统,正训练样本相对容易自动创建。输入“Fire HD 10”查询的许多购物者可能点击保护套和充电器链接,但更多可能点击设备本身链接。通过聚合多个客户查询的统计数据,自动化系统可以可靠地产生良好匹配的查询和产品示例。

负样本更难获取。客户有时会故意点击不匹配的项目(如查询“Fire HD 10”后点击保护套和充电器),而缺乏点击也不能保证查询和项目不匹配。

现有自然语言处理系统可以确定“望远镜”与“跑鞋”查询不匹配,但产品发现系统从如此明显不匹配的示例中学到的东西有限。我们的目标是开发一个生成器,自动产生更具挑战性的负样本,如产品“徒步鞋”与查询“跑鞋”不匹配。

对抗学习应用

在训练期间,我们向网络提供自动标记的正样本。基于随机选择,它将其中一些转换为负样本。生成器覆盖示例的一半(查询),并将其标签从“匹配”改为“不匹配”。

在对抗学习的典型应用中,生成器和判别器同时在竞争目标上训练,这使机器学习过程复杂化。但在我们的案例中,我们在训练期间简单地在目标之间切换。

此外,切换机制是网络内执行的一组简单算术操作,这意味着我们可以使用标准机器学习算法(反向传播)训练网络。

我们网络的另一个关键是分类层之前的注意力层。注意力层学会将分类器的注意力集中在查询和产品名称中对评估匹配特别重要的元素上。

例如,如果查询是“Fire HD 10保护套”,匹配产品是Fire HD 10保护套,注意力层将给词“保护套”比“Fire”更大的权重,因为“保护套”能更好地区分查询与其他与Fire平板相关的查询。

实验结果

在实验中,我们将模型与其他四个模型比较,包括产品发现领域常用的梯度提升决策树,以及四年前提出的MatchPyramid模型(已被证明在匹配任务上显著优于其他模型)。

我们使用两个不同指标衡量性能,这两个指标都考虑了假阳性和假阴性:F1分数和精确召回曲线下面积(APR)。MatchPyramid是基线中表现最好的,但我们的模型在F1分数上超过它16%,在APR上超过8%。与梯度提升决策树相比,我们的模型在F1分数上改进62%,在APR上改进57%。

我们的注意力层为产品描述中每个术语(列标签)分配的查询术语(行标签)权重示意图。根据右侧图例,较浅颜色表示较高权重。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.hskmm.com/?act=detail&tid=29057

相关文章:

  • Ubuntu Linux双网口主机实现在校园网环境下的网络共享
  • C# Avalonia 16- Animation- ExpandElement
  • DshanPI-A1 RK3576 armbian远程桌面
  • Docker安装MQTT
  • Ubuntu Linux双网卡实现在校园网环境下的网络共享
  • PVE8.x仅克隆虚拟机配置
  • 常用的sql语句
  • SQL常用语句分类及示例
  • 台式机主板上的电池要更换啦
  • 微信小程序 app.js中onLaunch中方法执行完毕后再执行index首页数据请求
  • 轻量服务器Lighthouse + 1Panel 部署.NET 8 Web应用
  • bash alias 多引号问题
  • 关于近期调研各类游戏开发引擎的一些感想
  • Electron38-Vue3OS客户端OS系统|vite7+electron38+arco桌面os后台管理
  • 终于在vim中用上了molokai的炫酷色彩配置了(゚∀゚)
  • 我是如何在Vim8.1中安装好的NERDTree插件的
  • Kafka监控工具 EFAK-AI 介绍
  • 视频拍摄技巧 - 希区柯克变焦/滑动变焦 All In One
  • 信息化说课-教学设计(6)
  • 记录:git
  • 实验1 现代C++编程初体验
  • 10.11总结
  • 2025年10月门窗十大品牌最新推荐榜单,十大品牌测评排名与选择指南
  • CF60E Mushroom Gnomes
  • CF691E Xor-sequences
  • LCPC12E - Johnnys Empire 题解
  • 中微笔记-cp.1 技术
  • P1896 [SCOI2005] 互不侵犯小总结
  • 美国能源部《生成式人工智能参考指南》解读
  • 分析InfluxDB中读取时CPU飙升