Real-time Personalization using Embeddings for Search Ranking at Airbnb

ABSTRACT

本文讲述了airbnb如何对用户和房源进行embedding,并应用在搜索排序和相似房源推荐中进行实时个性化,这两个业务在airbnb中贡献了99%的转化。文中的embedding 模型针对airbnb的业务进行了很多优化,能捕捉用户的短期和长期兴趣。

INTRODUCTION

在airbnb,为房东和房客优化搜索结果,意味着给定带有地点和入住日期的查询,平台需要将位置、价格、风格、评论等信息对房客有吸引力的房源排在前面,同时,也要很好地匹配房东对旅游时长和lead days的偏好。而且,平台需要检测出那些可能会拒绝房客的房源,比如说负面评论、宠物、停留时长、团队大小或者其他因素,并把这些房源靠后排。

为了实现这些目标,airbnb借助于learning to rank技术。具体来说,作者将问题建模为pairwise regression,其中正例是预订,负例是拒绝。并通过 改良版Lambda Rank 来优化双方的排序。

因为房客在预订之前一般会搜索多次,在一个search session中,点击不止一个房源,联系不止一个房东,我们可以使用这些in-session 信号,比如点击、联系房东等行为进行实时的个性化,目的是给用户呈现那些和我们认为他们喜欢的房源相似的房源,同时,用一些负反馈的信号,比如跳过了高排名的房源,少给用户呈现那些我们认为他们不喜欢的房源。为了计算用户交互过的房源和待排序的候选房源之间的相似性,作者提出对房源进行embedding。作者用这些相似性作为个性化特征输入给搜索排序模型和相似房源推荐。

除了用即时的用户行为,比如点击作为用户短期兴趣的表示来进行实时个性化,作者也引入了另外一种通过预订来训练的embedding,这样可以捕捉用户的长期兴趣。由于旅游的特点,一般用户一年也就1-2次,预订是一个很稀疏的信号,很多长尾用户只有一个预订。为了解决这个问题,作者提出在用户类型的层面上来训练embedding,而不是一个具体的用户id。其中,用户类型则是利用已知的用户属性,使用多对一 的规则进行划分。同时,作者在用户类型embedding的相同空间上学习房源类型embedding,这样就可以计算用户的用户类型embedding和房源的房源类型embedding的相似性。

本文的贡献:

1.Real-time Personalization
之前的embedding都是线下计算好线上拿来用,
2.针对旅游业务中存在的聚集特点对训练过程 进行改造
旅游平台的搜索都有聚集属性,即用户搜索时通常都聚集在一个市场,比如巴黎,很少跨越多个市场,作者在负采样时考虑了这一点,可以更好得学习到一个市场内的listing的相似性;
3.把转化作为全局上下文特征
作者意识到以转化结束的session的重要性,在学习房源embedding时,作者将预订的房源作为全局上下文,随着窗口在session中移动时,被预订房源一直会被预测
4.用户类型embedding
之前学习用户embedding来捕捉长期兴趣的方法都是每个用户一个embedding。当样本比较稀疏的时候,一般没有足够的数据来为每个用户训练一个比较好的embedding。另外,在线上为每个用户存储一个embedding来完成计算也需要很大的内存。基于此,作者提出在用户类型的层面训练embedding,同一类型的用户共享embedding。
5.拒绝作为显式的负样本
为了降低最终被拒绝的推荐,作者通过将房东拒绝的房源作为负样本,这样就可以把房东的偏好信息也编码到用户和房源类型的embedding中。

为了训练短期用户兴趣,作者在8亿点击session上训练房源embedding。广泛的线上线下实验表明将embedding加入排序模型可以带来显著的订单收益。除了搜索排序算法,房源embedding也用来进行相似房源推荐,比已有的算法ctr 提升20%。

为了训练长期用户兴趣,作者在5000万用户的预订房源序列上训练用户类型和房源类型embedding。两种类型的embedding是在同一个向量空间完成的,这样我们就可以计算用户类型和需要排序的房源的房源类型embedding的相似度。将这个相似度加入到排序模型中也带来了收益。

RELATED WORK

METHODOLOGY

介绍了两种方法:
1.房源embedding,用于短期实时个性化
2.用户类型和房源类型embedding,用于长期个性化

Listing Embeddings

假设给定一个从N个用户收集的包含S个点击session的集合S,每个session s=(11,...,lM)∈Ss=(1_1, ...,l_M)\in Ss=(11,...,lM)S 定义为该用户点击过的连续的包含M个房源ID的列表。 只要用户的两个连续的点击之间间隔超过30min,那么就看做 一个新的session 。给定该数据集,目标是学习每个房源I的d-维 实数向量表示v∈Rdv\in R^dvRd。这样 相似房源在embedding空间中的位置会比较相近。

更正式一点,模型目标是使用skip-gram 模型学习房源表示,通过最大化session数据集上的目标函数L来进行优化
在这里插入图片描述
P(li+j∣li)P(l_{i+j}|l_i)P(li+jli) 表示 在点击房源lil_ili的邻近 观测到房源li+jl_{i+j}li+j的概率,该概率定义如下:
在这里插入图片描述

vlv_lvlvl′v_l'vl 表示房源l的输入和输出的embedding表示。m是窗口大小。
V是数据集中房源id的集合,即字典。

从上面两个表达式可以看出,该方法对房源的点击序列的上下文进行建模,上下文相似的房源的表示更比较相似。

计算损失函数的梯度 时间复杂度和词典大小有关。当词典很大时,到达百万量级时,就不可行了。
为了减小计算量,作者使用negative sampling ,该方法操作如下:
1.生成包含正样本对(l,c)的数据集Dp
其中,l是点击房源,c是l的上下文,即同一个用户在点击房源l 前后大小为m的窗口内点击的房源。
2.生成包含负样本对(l,c)的数据集Dn
负样本是从整个数据集词典V中随机采样的n个房源。
优化目标变成:
在这里插入图片描述
该公式其实是label为+1/-1的LR, 正样本对的label为+1,负样本对的label为-1。
在这里插入图片描述
优化通过sgd完成。

Booked Listing as Global Context

我们可以把session分为两类,一是预订的session,即以预订结束的session,二是探索性session,即不以预订结束的session,用户只是随意浏览。两种ses

### 回答1: ms-settings:personalization-background是Windows 10操作系统中的一个设置选项,用于更改桌面背景图片。用户可以通过该选项选择自己喜欢的图片或幻灯片作为桌面背景,也可以设置背景图片的填充方式、颜色等。 ### 回答2: ms-settings:personalization-background是Windows 10的设置功能之一,它允许用户自定义桌面背景图像。通过这个设置,用户可以选择一张图片作为桌面背景,或者设置幻灯片来自动轮换多张图片。 这个设置功能非常简便易用,用户只需点击桌面上任意一处空白区域,然后选择“个性化”选项,就可以进入ms-settings:personalization-background页面。在该页面上,用户可以从本地计算机上选择图片作为桌面背景,或者从Microsoft Store下载背景图片。用户还可以选择“幻灯片”选项,将多张图片作为背景并设置轮换时间。此外,用户还可以选择背景显示方式,包括平铺、居中、填充等。 ms-settings:personalization-background不仅方便了用户自定义桌面背景,同时也让桌面背景更加个性化。用户可以根据自己的喜好选择各种美丽独特的背景图片,或者选择自己喜欢的图片拼贴成幻灯片进行轮播。无论是工作还是休闲,这个设置功能都可以让用户的计算机桌面更加舒适、个性化、温馨。 ### 回答3: ms-settings:personalization-background是Windows 10中的一个设置页面,用于更改桌面背景。Windows 10允许用户选择不同的背景图片或幻灯片作为桌面背景,以及对背景色进行自定义。此外,用户还可以选择是否在锁定屏幕上显示相同的桌面背景。 通过这个设置页面,用户可以轻松地上传自己的图片作为桌面背景,并应用到所有的设备上。此外,用户可以通过“背景选项”中的下拉框选择不同的背景设置,包括桌面背景、开始菜单和任务栏、锁定屏幕,以及高对比度设置等,以适应不同的使用习惯和视力。 此外,Windows 10还提供了“Dynamic Theme”和“Slideshow”两种背景设置,让用户可以轻松地更改背景图片,实现更加个性化的桌面。用户可以设置图片轮播时间间隔,以及图片来源。此外,用户还可以通过“浏览”按钮来添加自己喜爱的图片文件夹,使得Windows随机选择其中的图片作为桌面背景。 总的来说,ms-settings:personalization-background是Windows 10中一个非常有用的设置页面,可以让用户轻松自定义自己的桌面背景,实现更加个性化的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值