为了账号安全,请及时绑定邮箱和手机立即绑定

Airbnb地理位置检索大变身:从直觉猜猜猜到强化学习优化之旅

Airbnb通过利用机器学习和强化学习技术来解决一个独特的信息检索问题,来为全球各地的客人提供独特且经济实惠的住宿选择,以便世界各地的客人能够体验到差异化的住宿体验。

作者: Dillon DavisHuiji GaoThomas LegrandWeiwei GuoMalay HaldarAlex DengHan ZhaoLiwei HeSanjeev Katariya

前言

Airbnb 已经改变了人们全球旅行的方式,让旅行更加灵活多样。因为 Airbnb 提供了各种地点和房型的房源,让客人找到相关房源的选择变得越来越复杂。在这篇博客文章中,我们将讨论如何从简单的规则转变为使用高级的机器学习和强化学习技术来改进我们所说的地点检索过程,以应对这一难题。

位置查找的挑战

通常,客人会在搜索栏里输入目的地开始搜索,并希望看到最相关的搜索结果。这些目的地可以是国家、州、城市、社区、街道、地址或景点。与传统的旅行住宿不同,Airbnb 的房源遍布于不同的社区及其周边地区。例如,一个寻找旧金山度假出租屋的家庭可能会在附近的 Daly City 找到更好的选择,那里有更大的单户住宅。因此,系统不仅需要考虑搜索的地点,还包括周边可能提供更好选择的区域。如下所示搜索旧金山时预订房源的位置。

鉴于Airbnb的规模如此庞大,我们不能为每个搜索对每个房源进行排名。这带来了一个挑战,即创建一个能够动态推断查询相关位置的系统。这个被称为位置检索的系统需要在满足所有客人需求的同时保持与查询的相关性。然后,我们的搜索排名模型可以高效地对这些房源进行排名,并向客人展示最相关的房源信息。以下将详细介绍该系统及其他内容。

从启发式开始:冷启动

最初,Airbnb依赖于基于经验的方法来定义地图区域,根据搜索类型而定。首先,如果客人搜索一个国家,系统会按照行政区划筛选国家内的房源。如果客人搜索一个城市,系统会以市中心为圆心,创建一个半径25英里的范围来搜索房源。

改进这些启发式方法被证明具有深远的影响。其中一个例子是引入了一个参数化对数尺度的平滑函数来计算搜索目的地管理边界的对角尺寸扩展因子。我们将此应用于非常精确的位置,如地址、建筑和POI,结果在在线A/B实验中,与基线启发式方法相比,平台上的未取消预订量增加了0.35%。如下所示,这种启发式方法显著改善了在西班牙伊比萨岛上的建筑搜索结果,从而显著增加了高质量库存的展现。

这些简单的策略很简单,一开始用起来也挺不错,但它们也有局限。它们无法区分不同类型的搜索(例如,一个找大房子的家庭和一个找小公寓的独行旅客),而且在Airbnb房源和客人喜好变化时,适应性较差。

探索统计以帮助提升位置获取

随着时间的积累,有了更多的数据,我们认为可能有一种方法可以利用用户的历史预订行为来优化位置检索。我们为每个旅行目的地建立了一个数据集,记录用户预订房源的位置,在寻找该目的地时。基于这些数据,系统可以建立检索区域,其中包括给定目的地96%最近的已预订房源。

我们测试了这些新构建的检索地图区域,基于这样的假设,即能为客人提供更多可预订的选择。虽然这种方法在统计上更符合客人的预订行为,但它仍然存在一些局限性。它将所有对地点的搜索视为相同,而不考虑具体的搜索参数,比如团体规模或旅行日期。这种统一的方法意味着某些客人可能看不到最适合他们特定需求的房源。因此,在与上述启发式方法进行的在线A/B实验中,这种方法并未显示出在平台上未取消预订者数量有可检测的增长。这使我们相信,位置检索可能需要更高级的技术,比如机器学习。

迈进机器学习:

不再是仅仅依赖过去的预订数据,新系统可以从各种搜索参数(比如入住人数和入住天数等)中学习。可以为每个搜索预测更相关的地图区域,而不是采取一刀切的方法。

例如,一组十人寻找旧金山的度假租赁可能更偏好较大的位于郊区的住宅,而独自旅行者可能更重视方便的位置。机器学习模型可以区分这些不同的偏好,并相应地调整搜索区域,提供更加个性化的搜索结果。

我们按照以下方式构建了该机器学习模型。这是经过三次迭代的结果,具体过程如下:每次迭代都改进了机器学习模型,扩展了特征集,并扩展了搜索归因。架构如图所示。

  1. 训练示例:通过在搜索栏中输入目的地或在地图上进行操作,搜索中包含预订列表的搜索请求。这些搜索发生在预订当天或预订前一天。我们丢弃预订后的7天内取消的预订。
  2. 训练特征:我们直接从搜索请求中提取特征,例如地点名称、停留长度、入住人数、价格筛选、所在国家等。总共有9个连续特征和19个分类特征。
  3. 训练标签:预订列表的纬度和经度坐标,该列表归因于搜索。
  4. 架构:选择了一个两层256大小的神经网络,为了在损失函数的设计上比传统的回归和决策树方法更具灵活性。
  5. 模型输出:4个浮点数,定义了从搜索目的地中心点的纬度和经度偏移量,代表相关的地图区域。
  6. 损失:训练以预测包含相关预订列表的地图区域,同时最小化预测的地图区域大小,并减少无法形成有效矩形地图区域的预测。

该机器学习系统将预订房源的检索率提高了7.12%,并将检索地图区域的范围缩小了40.83%。它对平台上的未取消的预订用户产生了累计+1.8%的影响。初始模型与基线进行对比,后续每次迭代则与上一个模型进行对比。

下面的图表显示了秘鲁利马的一条特定街道的搜索结果是如何通过该模型显著改善的,显示了更接近搜索街道的结果。

之前

之后

利用强化学习探索新领域

尽管机器学习提升了系统区分搜索结果的能力,但仍有许多改进的空间,尤其是在判断未曾展示过的地点是否对搜索中的客人相关方面。为了解决这个问题,Airbnb在位置检索过程中引入了强化学习。

强化学习使系统能够通过与客人的互动不断学习,从而实现这一目标:为给定目的地展示新区域并根据客人的预订行为调整检索地图区域。这种方法被称为上下文多臂老虎机问题,涉及在探索(发现新的地点)和利用(展现过去的成功地点)之间取得平衡。系统可以积极试验不同的检索地图区域,并根据客人的预订行为来学习,进而优化其预测。

应用上下文多臂强盗算法传统上需要定义一个主动上下文估计器、不确定性评估以及探索策略选择。考虑到产品限制、系统限制及我们模型的特点,我们采用如下方法。架构图如下。

  1. 主动上下文估计:我们利用现有的用于位置检索的机器学习模型,该模型每天都会重新训练,以便从我们每天收集的新预订数据中不断学习,并展示之前未曾展示的位置。
  2. 不确定性估算:我们修改了模型架构,加入了一个随机的dropout层,为给定搜索生成32个独立的预测 (蒙特卡洛dropout)。这使我们能够测量预测的均值和标准差,在减少对系统性能的负面影响的同时,尽量减少对现有模型结构的修改。
  3. 探索策略:我们使用预测的均值和标准差计算一个 上置信边界,以此为基础,根据模型对搜索预测的信心,构建更大的检索区域。

该系统在不太确定的较少访问的位置上进行了更多的探索,在经常搜索和预订的位置上则减少了探索。例如,下图显示了加利福尼亚州旧金山(左)和弗吉尼亚州史密斯山湖(右)的检索地图区域的平均值(内圈)和更乐观的估计(外圈)。在搜索量上,旧金山几乎是史密斯山湖的25倍,预订比例也更高。因此,模型对旧金山的搜索区域估计更加自信,导致旧金山查询的探索量减少了2到3倍。

强化学习系统也在在线A/B实验中与即将替换的机器学习模型进行了比较,实验显示,在引入强化学习和优化评分机制后,两次迭代过程中未取消预订的用户比例提高了0.51%,获得五星级评价的旅行率提高了0.71%。

一个改变之旅

Airbnb从简单的规则到更复杂的机器学习和强化学习模型的演变,展示了数据驱动方法在改变复杂系统中的力量。通过不断改进位置检索过程,Airbnb不仅提升了搜索结果的相关性,还帮助客人体验到更多高品质旅行。

这种转变累积导致未取消预订量增加了2.66%,对于Airbnb这样的公司来说,这是一个显著的成就。更多细节请参阅我们的技术论文。随着Airbnb不断进行创新,我们不断评估并引入更先进的功能和检索机制,如通过复杂多边形进行检索。这些改进将有助于优化和改善全球数百万宾客的搜索体验。

如果你对这类工作感兴趣,可以看看我们的一些相关职位,访问我们的Airbnb 职位页面

****

所有产品名称、标志和品牌均为其相应所有者的财产。本网站使用的所有公司、产品和服务名称仅用于识别用途,且使用它们并不表示推荐或认可。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消