【推荐算法论文阅读】Airbnb基于embedding的实时搜索推荐系统Real-time Personalization using Embeddings for Search Ranking at

一、背景

Airbnb的搜索团队基于他们的业务场景,基于embedding构建了实时搜索推荐系统。

具体到embedding方法上,Airbnb生成了两种不同的embedding,分别对用户的“短期”和“长期”兴趣进行编码。其中生成短期兴趣embedding的目的是进行房源的相似性推荐,以及对用户进行session内的实时个性化推荐。生成长期兴趣embedding的目的是在嘴中的推荐结果中照顾到用户之前的预定偏好,推荐更容易被用户预订的个性化房源。

二、基于短期兴趣的房源embedding方法

Airbnb利用session内点击数据对房源进行embedding,捕捉用户在一次搜索过程中的短期兴趣,其中session内点击数据指的是一个用户在一次搜索过程中点击的房源序列,这个序列需要满足两个条件:一是只有在房源详情页停留超过30秒才算序列中的一个数据点;二十如果用户超过30min没有动作,那么这个序列会被打断,不再是一个序列。这么做的目的有两个,一个是清洗噪声点和负反馈信号;二是避免非相关序列的产生。

有了由点击房源组成的序列,就可以把这个序列当作一个“句子”的样本,开始embedding的过程。Airbnb选择了Word2Vec中的skip-gram model作为embedding方法的框架,通过修改word2vec的目标函数使其逼近airbnb的业务目标。
请添加图片描述
优化目标为:
请添加图片描述
在airbnb房源embedding这个问题上, embedding过程的正样本很自然地取自session内点击序列滑动窗口中的房源,负样本则是在确定中心房源后从语料库(这里指所有房源的集合)中随机选取一个房源作为负样本。

在原始word2vec embedding的基础上,针对其业务特点,airbnb的工程师希望将预订信息引入embedding。这样可以使airbnb的搜索列表和相似房源列表更倾向于推荐之前预订成功session中的房源。从这个动机出发, airbnb把会话点击序列分成两类,最终产生预订行为的称为预订会话,没有的称为探索性会话。

每个预订会话中只有最后一个房源是被预订房源,为了将这个预订行为引入目标函数,不管这个被预订房源在不在word2vec的滑动窗口中,都假设这个被预订房源与滑动窗口的中心房源相关,相当于引入了一个全局上下问到目标函数中,即:
请添加图片描述
请添加图片描述
最后一项 l b l_b lb代表被预订房源,因为预订是一个正样本行为,所以这一项前也是有负号的。

需要注意的是,最后一项前是没有求和符号的,前面的项有求和符号是因为滑动窗口中的中心房源与所有滑动窗口中的其他房源都相关,最后一项没有求和符号是因为被预订房源只有一个,所以中心房源至于这一个被预订房源有关。

为了更好地发现统一市场内部房源的差异性,airbnb加入了另一组负样本,就是在与中心房源同一市场的房源集合中进行随机抽样,获得一组新的负样本:
请添加图片描述
D m n D_{mn} Dmn指新的同一地区的负样本集合。

除此之外,为了解决冷启动问题,论文提出:如果有新的房源缺失embedding向量,就找附近的3个同样类型,相似价格的房源向量进行平均得到。

三、基于长期兴趣的用户embedding和房源embedding

短期兴趣embedding使用用户的点击数据构建了房源embedding,基于该embedding可以很好地找出相似房源,但有所欠缺的是,该embedidng并没有包含用户的长期兴趣信息。比如用户6个月前预订过一个房源,其中包含了该用户对房屋价格、房屋类型等属性的长期偏好,但由于之前的embedding只使用了session级别的点击数据,从而丢失了用户的长期兴趣信息。

为了捕捉用户的长期偏好,airbnb使用了预订会话序列,比如用户j在过去1年依次预订过5个房源,那么其预订会话就是 s j = { l j 1 , l j 2 , l j 3 , l j 4 , l j 5 } s_j=\{l_{j1},l_{j2},l_{j3},l_{j4},l_{j5}\} sj<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值