写点什么

eBay 开发新的推荐模型,从数据中挖掘商机

作者:Claudio Masolo

  • 2023-03-02
    北京
  • 本文字数:1109 字

    阅读完需:约 4 分钟

eBay开发新的推荐模型,从数据中挖掘商机

eBay 基于自然语言处理(NLP)技术,特别是BERT模型开发了一个新的推荐模型。这个被称为“Ranker”的新模型使用词袋之间的距离得分作为特征,从语义角度分析商品标题信息。与之前的模型相比,Ranker 帮助 eBay 将原生应用(Android 和 iOS)和 Web 平台上的购买、点击和广告指标分别提升了 3.76%、2.74%和 4.06%。

 

eBay Promoted Listing Similar Reccomendation Model(PLSIM)由三个阶段组成。其中获取 Promoted Listing Similar,也就是所谓的“召回集”,是最为相关的。应用使用离线历史数据训练过的 Ranker,根据购买的可能性对召回集进行排序,通过合并卖家广告率对列表进行重新排序。这个模型的特征包括:推荐商品历史数据、推荐商品与种子商品的相似性、产品类别、国家和用户个性化特征。使用梯度提升树对模型进行连续训练,根据相对购买概率对商品进行排序。在相似度检测中加入基于深度学习的特征显著提升了性能。

 

之前的推荐排名模型使用 Term Frequency-Inverse Document Frequency(TF-IDF)和Jaccard相似度来评估产品标题。这种基于节点标记的方法存在最基本的局限性,并且它不会考虑句子的上下文和同义词。相反,基于深度学习的 BERT 在语言理解方面表现出色。由于 eBay 语料库不同于书籍和维基百科,eBay 工程师引入了 eBERT,一种 BERT 变体,使用 eBay 商品标题数据进行了预训练。它使用维基百科的 2.5 亿个句子和 eBay 的 30 亿个多语言标题进行了训练。在离线评估中,这个 eBERT 模型在 eBay 的一组标记任务上的表现显著优于开箱即用的 BERT 模型,F1 得分为 88.9。

 

eBERT 架构对于高吞吐量推断来说太重了,可能无法及时推送推荐结果。为了解决这个问题,eBay 开发了另一个模型 microBERT,它是 BERT 的另一个轻量级版本,并针对 CPU 推理进行了优化。microBERT 将 eBERT 作为训练阶段的老师,使用了知识蒸馏过程。通过这种方式,microBERT 保留了相当于 eBERT 95%到 98%的推理质量,而时间减少了 300%。

 

最后,microBERT 使用了叫作InfoNCE的对比损失函数进行微调。商品标题被编码成词袋向量,模型的训练目标为增加已知彼此相关的这些向量(表示标题的词袋)之间主题距离的余弦相似度,同时降低迷你批次中所有其他商品标题对的余弦相似度。

 

这种新的排名模型在购买排名(售出商品的平均排名)方面有 3.5%的改进,但其复杂性导致难以进行实时的推荐。这就是为什么要通过日批处理作业生成标题词袋,并存储在 NuKV(eBay 的云原生键值存储)中,将商品标题作为键,词袋作为值。通过这种方法,eBay 能够满足其在延迟方面的要求。

 

原文链接

https://www.infoq.com/news/2023/01/ebay-recommendations-odel/


相关阅读:

构建生产可用的推荐系统需要注意哪些问题?

京东电商推荐系统的应用实践|InfoQ 公开课

推荐系统的未来发展

2023-03-02 08:002677

评论

发布
暂无评论
发现更多内容

JVM总体概述,java高级编程内容

Java 程序员 后端

Kubernetes官方java客户端之八:fluent style,mysql入门视频教程

Java 程序员 后端

JSP、EL表达式、JSTL标签,rabbitmq源码分析持久化

Java 程序员 后端

JVM--运行时数据区与内存模型,java开发基础知识点

Java 程序员 后端

JVM探究:全面解析OOM异常,都在这了,mysql数据库基础与实例教程孔祥盛

Java 程序员 后端

JVM类加载你真的【了解】了吗,java项目面试题

Java 程序员 后端

Kafka的生产者原理及重要参数说明,Java码农是如何进入腾讯的

Java 程序员 后端

krpano全景之内置函数---asyncloop roundval 等(不定期更新)

Java 程序员 后端

Kubernetes 常用命令大全,linux入门经典书籍

Java 程序员 后端

JVM性能优化(三)G1垃圾收集器(1),java原理书籍

Java 程序员 后端

JWT单点登录,小甲鱼数据结构百度云

Java 程序员 后端

Kafka 的 replica 同步机制(ISR与OSR列表数据相互转换)

Java 程序员 后端

kubebuilder实战之三:基础知识速览,Java学习的三个终极问题及学习路线规划

Java 程序员 后端

JVM性能优化(三)G1垃圾收集器,附大厂真题面经

Java 程序员 后端

Kubernetes官方java客户端之七:patch操作,深入浅出Java

Java 程序员 后端

Kubernetes教程之新手安装必看(快速浏览少走弯路),java集合详解和集合面试题目

Java 程序员 后端

Json的FastJson与Jackson,java阻塞队列原理

Java 程序员 后端

JVM类加载你真的【了解】了吗(1),网易的朋友给我这份339页的Java面经

Java 程序员 后端

jvm运行时内存是怎么分布的?,java多线程编程技术第二版下载

Java 程序员 后端

JPA基本使用,Java虚拟机学习集锦是我攒来的

Java 程序员 后端

JVM性能优化(四)提高网站访问性能之Tomcat优化,java程序开发实用教程邱加永答案

Java 程序员 后端

kafka扫盲——别等面试官一问三不知了,linux操作系统教程

Java 程序员 后端

kotlin 如何解决 java 开发痛点,让程序员 happier,java中级程序员面试

Java 程序员 后端

kubebuilder实战之八:知识点小记,java面试具体场景的解决方案

Java 程序员 后端

JNI开发之方法签名与Java通信(二),mongodb入门篇

Java 程序员 后端

JSP 标准标签库(JSTL),javaee教程视频

Java 程序员 后端

JVM 内存模型,百度笔试题百度校招面试经验

Java 程序员 后端

JVM的YGC,这次被它搞惨了!,rabbitmq实战指南pdf最新版

Java 程序员 后端

Kafka-探险---生产者源码分析---核心组件,Java数据库题目大全

Java 程序员 后端

Kubernetes 稳定性保障手册 -- 可观测性专题,今晚我们通宵学习SpringCloud

Java 程序员 后端

kubernetes下的jenkins如何设置maven,java异步请求原理

Java 程序员 后端

eBay开发新的推荐模型,从数据中挖掘商机_AI&大模型_InfoQ精选文章