QCon北京|3天沉浸式学习,跳出信息茧房。 了解详情
写点什么

Embedding 在推荐算法中的应用总结

  • 2019-11-29
  • 本文字数:1586 字

    阅读完需:约 5 分钟

Embedding在推荐算法中的应用总结

Embedding 向量作为推荐算法中必不可少的部分,主要有四个运用方向(前 3 个引用于王喆老师):


  • 在深度学习网络中作为 Embedding 层,完成从高维稀疏特征向量到低维稠密特征向量的转换(比如 wide&deep,DIN 等模型);

  • 作为预训练的 Embedding 特征向量,与其他特征向量连接后一同输入深度学习网络进行训练,比如 FNN 模型;

  • 通过计算用户和物品的 Embedding 相似度,Embedding 可以直接作为推荐系统或计算广告系统的召回层或者召回方法之一(比如 Youtube 推荐模型)

  • 通过计算用户和物品的 Embedding,将其作为实时特征输入到推荐或者搜索模型中(比如 Airbnb 的 embedding 应用)。

  • 本文将着重梳理一下 embedding 在 3 和 4 上的应用。


1.Item2vec: Neural Item Embedding for Collaborative Filtering


基本上参照 google 的 word2vec 方法,把 item 视为 word,用户的行为序列视为一个集合,item 间的共现为正样本,并按照 item 的频率分布进行负样本采样。缺点就是没有建模用户对不同 item 的喜欢程度高低。


  1. Airbnb: Real-time Personalization using Embeddings for Search Ranking at Airbnb


共训练了三个 embedding,包括 Listing Embedding、User Type Embedding 和 Listing Type Embedding,这里 Listing 可理解为一个商品 item。其中 Listing Embedding 对应的是用户的短期兴趣偏好,通过用户在 Session 中的点击序列训练得到。其中用到了一些 trick,比如在有预定的 session 中,在 loss 函数中加入预定 listing;另外可以随机加入几个同目的地的房源作为负样本。最终的目标函数为:



那么怎么解决冷启动问题呢?对于新加入的房源,可以从已有 embedding 的房源中,选择 3 个同种类且距离最近(但是要在半径 10miles 以内)的 3 个房源,并用其 embedding 的平均值来作为新房源的 embedding。


另外为了建模用户的长期兴趣,可以拿用户长期的 booking session 序列,但是 booking session 数据是很稀疏的。解决方案是将 listing 和用户进行分类。就可以产生如下的序列:



然后基于 word2vec 方法去训练得到 user type 和 item type 的 embedding 表示。


  1. Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba


可看作是 deep-walk 算法的改进,deep-walk 对于出现次数很少甚至没有用户交互过的商品是学习不到很好的 embedding 表示的。本文使用基于 side information(比如商品品牌、店铺名、类别)的图嵌入学习方法。


首先介绍的是 base 的 Graph Embedding 方法,过程如下图:



然后是 Graph Embedding with Side information,主要就是加入了 side information 来解决冷启动问题。在加入 Side information 之后,商品表示为一种 aggregated embeddings:



其中 W0 代表 item embedding,W1,Wn 代表每种 Side information 对应的 embedding。


最后介绍的是 Enhanced Graph Embedding with Side information ,不同的 side information 在最终的 aggregated embeddings 中所占的权重应该是不同的,比如一个购买了 iphone 的用户,倾向于查看 mac 或者 ipad,这是因为苹果这个品牌的影响力很大。此时 aggregated embeddings 计算公式为:



  1. Deep Neural Networks for YouTube Recommendations


主要在候选集生成阶段使用了下面的模型。



在上面模型进行 serving 的过程中,没有直接使用整个模型去做 inference,而是直接使用 user embedding 和 item embedding 去做相似度的计算。其中 user embedding 是模型最后一层 mlp 的输出,vedio embedding 则直接使用的是 softmax 的权重。


相关文章:


https://zhuanlan.zhihu.com/p/24339183?refer=deeplearning-surfing


https://zhuanlan.zhihu.com/p/55149901


https://zhuanlan.zhihu.com/p/57313656


https://www.jianshu.com/p/229b686535f1


https://zhuanlan.zhihu.com/p/52169807


本文转载自 Alex-zhai 知乎账号。


原文链接:


https://zhuanlan.zhihu.com/p/78144408


2019-11-29 08:002183

评论

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

体验3A云游戏,无需购买高端显卡

Ogcloud

云游戏 3A云游戏 云游戏发行 游戏云化

PhysicsAI 与 Inspire Cast 的结合:实现铸件缺陷的快速预测

Altair RapidMiner

人工智能 AI 仿真 智能制造 altair

专业期刊《Java aktuell》:使用Apache TsFile和Apache IoTDB对时序数据进行分布式数据采集

Apache IoTDB

【首席战略官分享】流程管理和流程数字化 | 活动成本法

望繁信科技

数字化转型 业务流程管理 流程挖掘

RTE 大会报名丨AI 时代新基建:云边端架构和 AI Infra ,RTE2024 技术专场第二弹!

声网

TEDxDUTH 使用 NocoBase 实现革新

NocoBase

低代码 TED 管理工具 无代码 创新管理

华为openMind分论坛:赋能AI社区生态汇聚,推动AI创新发展智慧未来

Geek_2d6073

性能测试 | JMeter的运行

测试人

软件测试

手工测试用例转Web自动化测试生成

霍格沃兹测试开发学社

被动元数据的不足和主动元数据的先进性

Aloudata

大数据 数据治理 元数据 数据管理 数据血缘

实践-最佳实践-时间管理V3

南山

个人成长

面试官:项目中如何实现布隆过滤器?

王磊

鸿蒙智行首款轿跑SUV智界R7上市,小艺化身贴心随行的用车顾问

Geek_2d6073

面试官:谈谈你对 IoC 和 AOP 的理解!

JavaGuide

Java spring aop ioc

深入探索 RUM 与全链路追踪:优化数字体验的利器

阿里巴巴云原生

阿里云 云原生 全链路追踪 RUM

中国移动研究院与华为举行"数联网(DSSN)合作备忘录"签约仪式

Geek_2d6073

2024-09-25:用go语言,给定一个长度为 n 的整数数组 nums 和一个正整数 k, 定义数组的“能量“为所有和为 k 的子序列的数量之和。 请计算 nums 数组中所有子序列的能量和,并对

福大大架构师每日一题

福大大架构师每日一题

华为四大创新助力运营商打造万兆智能接入网,加快50G PON商用部署,加速智能应用创新

Geek_2d6073

实现-最佳实践-沉淀与践行V3

南山

个人成长

“万亿级”低空经济,谁在风口上“飞”?

趣解商业

科技 出行 低空经济

JMeter的运行

霍格沃兹测试开发学社

如何借助SD-WAN实现简单且经济的组网?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

豆包MarsCode初体验,用 React 创建一个最经典的贪吃蛇游戏

豆包MarsCode

人工智能 编程 程序员 AI 代码

火山引擎数据飞轮面向企业大模型业场景务提供数智服务

字节跳动数据平台

大模型 数智化 数智化转型

新场景、新能力,AI-native 时代的可观测革新

阿里巴巴云原生

阿里云 云原生 可观测

开发者的利器:Rainbond 赋能你的产品创新

北京好雨科技有限公司

云原生 k8s rainbond 企业号9月PK榜

从自动化到智能化:AI如何推动业务流程自动化

天津汇柏科技有限公司

自动化 智能化 AI 人工智能

观测云全面支持 OaC,通过 Terraform 管理您的可观测性

观测云

Terraform

如何在 Rust 中通过 Rumqttc 实现 MQTT 通信

EMQ映云科技

rust mqtt emqx

inBuilder零代码新版表单设计器特性一览

inBuilder低代码平台

低代码 零代码

.net core集成Minio,构建一个文件存储的基础设施

为自己带盐

.net core Minio

Embedding在推荐算法中的应用总结_文化 & 方法_Alex-zhai_InfoQ精选文章