使用 ML 和人在循环中构建 Airbnb 类别(译文-来自:Airbnb)


Airbnb 2022 版本引入了类别,这是一种以浏览为重点的产品,允许用户通过浏览围绕一个共同主题的房屋集合来寻找灵感,例如湖畔、乡村、高尔夫、沙漠、国家公园冲浪等。在我们的第一部分类别博客系列我们介绍了创建类别并在产品中展示它们的高级方法。在第二部分中,我们将更详细地描述 ML 分类工作。

在整个帖子中,我们使用Lakefront类别作为运行示例来展示 ML 支持的类别开发过程。类似的过程适用于其他类别,具有类别特定的细微差别。例如,一些类别更多地依赖兴趣点,而其他类别更多地依赖结构化列表信号、图像数据等。

类别定义

类别开发从产品驱动的类别定义开始:“ Lakefront 类别应包括距湖不到 100 米的列表”。虽然一开始这听起来像是一项简单的任务,但它非常微妙和复杂,因为它涉及利用多个结构化和非结构化列表属性、兴趣点 (POI) 等。它还涉及训练将它们组合起来的 ML 模型,因为没有一个这些信号自己捕获了可能候选者的整个空间。

列出理解信号

作为过去各种项目的一部分,Airbnb 的多个团队花时间处理不同类型的原始数据,以提取结构化形式的有用信息。我们的目标是利用这些信号进行基于规则的冷启动类别候选生成,然后将它们用作 ML 模型的特征,以便以更高的精度找到类别候选:


图 1. airbnb 用户创建的热门愿望清单


使用外部数据进一步丰富了房源理解知识库,例如卫星数据(告诉我们房源是否靠近海洋、河流或湖泊)、气候、地理空间数据人口数据(告诉我们房源是在农村还是城市)或大都市区)和POI 数据,其中包含来自主机指南或我们通过开源数据集收集的名胜古迹的名称和位置,并通过内部人工审查进一步改进、丰富和调整。

最后,我们利用内部 ML 模型从原始列表数据中提取更多知识。其中包括ML 模型,用于检测列表图像中的设施和对象对列表图像中的房间类型和室外空间进行分类计算列表之间的嵌入相似性以及评估物业美学。这些中的每一个都分别在类别开发、候选生成、扩展和质量预测的不同阶段有用。

基于规则的候选生成

一旦定义了一个类别,我们首先利用上一节中描述的预先计算的列表理解信号和 ML 模型输出来使用一组规则对定义进行编码。然后,我们的候选生成引擎应用它们来生成一组基于规则的候选,并根据类别置信度分数对它们进行优先排序以供人工审核。

此置信度分数是根据有多少信号使列表符合类别以及与每个规则关联的权重计算的。例如,考虑到Lakefront类别,靠近 Lake POIs 的权重最大,房东提供的关于直接进入湖泊的信号次之更重要,listing 标题、描述、愿望清单、评论中发现的 lakefront 关键字权重较小,而湖泊和水检测在列表中,图片的权重最小。具有所有这些属性的列表将具有非常高的置信度分数,而仅具有一个属性的列表将具有较低的分数。

人工审核流程

通过从具有最高类别置信度得分的每个类别中选择一定数量的列表,每天将候选人送去人工审查。然后人工代理判断列表是否属于该类别,选择最佳封面照片并评估列表的质量(图 3)

随着人工评论开始涌入,并且有足够多的列表带有确认和拒绝的类别标签,它解锁了新的候选生成技术,这些技术开始贡献自己的候选:

一开始,只有经过代理审查的列表才会被发送到生产环境并出现在主页上。随着时间的推移,随着我们的候选生成技术产生了更多的候选和反馈循环的重复,它使我们能够使用更多标记数据训练越来越好的 ML 模型。最后,在某个时候,当 ML 模型足够好时,我们开始将具有足够高模型分数的列表发送到生产环境(图 2)。


图 2. 每个类别的生产清单数量和人工审查的分数


使 ML 模型与人工审核任务保持一致

为了扩展审查过程,我们训练了模仿三个人工代理任务中的每一个的 ML 模型(图 3)。在以下部分中,我们将演示每个模型所涉及的训练和评估过程


图 3. 用于模拟人工审查的 ML 模型设置


机器学习分类模型

ML 分类模型的任务是自信地将列表放在一个类别中。这些模型使用 Bighead(Airbnb 的 ML 平台)作为 XGBoost 二进制分类模型进行训练。他们使用代理类别分配作为标签,并将“列表理解”部分中描述的信号作为特征。与基于规则的设置相反,ML 模型使我们能够通过模型分数阈值更好地控制候选人的精度。

尽管许多特征是跨类别共享的,并且可以训练单个多类模型,但由于类别大小的高度不平衡和类别特定特征的主导地位,我们发现最好为每个类别模型训练专用的 ML。另一个很大的原因是,对单个类别的重大更改,例如定义的更改、大量添加新的 POI 或标签,不需要我们重新训练、启动和衡量对所有类别的影响,而是方便地在一个孤立的类别。

湖滨 ML 模型

特征:第一步是构建特征,最重要的是到 Lake POI 的距离。我们从收集表示为单个点的湖泊 POI 开始,然后添加了追踪湖泊的湖泊边界,这大大提高了能够在边界附近拉出列表的准确性。然而,如图 4 所示,即便如此,仍有许多边缘情况导致基于规则的列表分配出现错误。


图 4. 不完美的 POI(左)和复杂地理的示例:湖泊和家之间的高速公路(中)、长长的后院(右)


其中包括不完美的湖泊边界,可能在水内或陆地之外、湖泊和房屋之间的高速公路、悬崖上的房屋、不完美的列表位置、缺失的 POI 以及不是真正湖泊的 POI,如水库、池塘等。为此因此,事实证明,将 POI 数据与其他列表信号结合起来作为 ML 模型特征,然后使用该模型主动改进 Lake POI 数据库是有益的。

在这里被证明有用的一种建模方法是特征丢失。由于大多数特征还用于生成由代理评分的基于规则的候选对象,从而产生 ML 模型使用的标签,因此存在过度拟合和超出规则的有限模式发现的风险。

为了解决这个问题,在训练期间,我们会从一些列表中随机删除一些特征信号,例如与 Lake POI 的距离。因此,该模型并没有过度依赖主要的 POI 特征,这使得列表即使不靠近任何已知的 Lake POI 也可以获得高 ML 分数。这使我们能够找到丢失的 POI 并将它们添加到我们的数据库中。

标签正面标签被分配给标记为Lakefront 的列表代理,负面标签被分配给作为Lakefront候选人发送以供审查但被拒绝的列表(从建模角度来看是硬底片)。我们还从相关的Lake House类别中抽取了负面样本 ,这些类别允许距离湖泊更远(更简单的负面)和标记在其他类别中的列表(最简单的负面

训练/测试拆分: 70:30 随机拆分,我们对距离和嵌入相似性特征进行了特殊处理,以免泄露标签。


图 5. Lakefront ML 模型特征重要性和性能评估


我们使用不同的特征子集训练了几个模型。我们对 POI 数据自身的表现以及其他信号可以提供哪些改进感兴趣。如图 5 所示,POI 距离是迄今为止最重要的特征。但是,当单独使用时,它无法达到 ML 模型的性能。具体来说,ML 模型将平均精度提高了 23%,从 0.74 提高到 0.91,这证实了我们的假设。

由于 POI 功能是最重要的功能,我们通过添加新的 POI 和改进现有的 POI 来改进它。这被证明是有益的,因为使用改进的POI 特征的 ML 模型大大优于使用初始POI 特征的模型(图 5)。

Lake POI 优化的过程包括利用训练有素的 ML 模型通过检查模型得分高但与现有 Lake POI 相距甚远的列表来查找缺失或不完善的 POI (图 6 左),以及通过检查模型得分低的列表删除错误的 POI分数,但非常接近现有的 Lake POI(图 6 右)


图 6. 查找缺失 POI(左)和错误 POI(右)的过程


将自信的列表发送到生产环境:使用测试集 Precision-Recall 曲线,我们找到了一个达到 90% Precision 的阈值。我们使用这个阈值来决定哪些候选人可以直接投入生产,哪些需要先送去人工审查。

封面图片机器学习模型

为了用 ML 执行第二个代理任务,我们需要训练不同类型的 ML 模型。其任务是根据类别上下文选择最合适的列表封面照片。例如,为 Lakefront 类别选择具有湖景的列表照片。

我们测试了几个开箱即用的对象检测模型以及几个使用人工评论数据训练的内部解决方案,即(列表 id、类别、封面照片 id)元组。我们发现,最佳的封面照片选择准确性是通过使用我们的人工审查数据微调Vision Transformer 模型(VT) 实现的。经过训练后,该模型可以对所有列表照片进行评分,并确定哪一张是给定类别的最佳封面照片。

为了评估模型,我们使用了一个保留数据集并测试了代理选择的特定类别的列表照片是否在同一类别的前 3 个最高得分 VT 模型照片中。所有类别的前 3 名平均精度为 70%,我们认为这是令人满意的。

为了进一步测试模型,我们判断 VT 选择的照片是否比主持人选择的封面照片更能代表类别(图 7)。结果发现,VT 模型可以在 77% 的情况下选择更好的照片。应该注意的是,主持人选择的封面照片通常是在不考虑任何类别的情况下选择的,因为它最能代表搜索提要中的列表。


图 7. Vision Transformer 与 Host 选择的 Lakefront 类别相同列表的封面照片选择


除了通过 ML 分类模型为发送到生产的候选人选择最佳封面照片外,VT 模型还用于加快人工审查过程。通过按照 VT 分数的降序排列候选列表照片,我们能够将代理对类别和封面照片做出决定所需的时间缩短 18%。

最后,对于一些高度视觉化的类别,例如设计创意空间,VT 模型被证明对直接候选生成很有用。

质量机器学习模型

最后的人工审核任务是通过选择以下四个等级之一来判断列表的质量:最具启发性、高质量、可接受、低质量。正如我们将在博客系列的第三部分中讨论的那样,质量在搜索提要中的列表排名中起着重要作用。

为了训练可以预测列表质量的 ML 模型,我们结合使用了参与度、质量和视觉信号来创建功能集和代理质量标签来创建标签。这些功能包括评论评级、心愿单、图像质量、嵌入信号和列表便利设施和属性,例如价格、客人数量等。

给定具有四个质量等级的多类设置,我们尝试了不同的损失函数(成对损失、一对多、一对一、多标签等)。然后,我们在保留集上比较了不同策略的 ROC 曲线,二元一对一模型表现最好。


图 8:质量 ML 模型特征重要性和 ROC 曲线


除了在搜索排名中发挥作用外,Quality ML 分数还在人工审查优先逻辑中发挥作用。有了所有三个 ML 模型都可以完成所有三个人工审查任务,我们现在可以简化审查流程并将更多候选人直接送往生产,同时还优先考虑一些人进行人工审查。这种优先排序在系统中起着重要作用,因为经过人工审查的列表可能在类别提要中排名更高。

在确定人工审核列表的优先级时,需要考虑多个因素,包括列表类别置信度得分、列表质量、可预订性和该地区的受欢迎程度。最好的策略被证明是这些因素的组合。在图 9 中,我们显示了在撰写本文时几个类别的人工审核的最佳候选人。


图 9:列表在 4 个不同类别中优先审查


评分后,这些标签将用于在主动反馈循环中进行定期模型重新训练,不断提高类别准确性和覆盖率。

未来的工作

我们未来的工作涉及在几个方向上迭代三个 ML 模型,包括使用生成视觉模型生成更大的标签集,并可能将它们组合成一个多任务模型。我们还在探索使用大型语言模型 (LLM) 进行类别审查任务的方法

作者:Mihajlo Grbovic, Pei Xiong, Pratiksha Kadam, Ying Xiao, Sherry Chen, Weiping Peng, Shukun Yang, Chen Qian, Haowei Zhang, Sebastien Dubois, Nate Ney, James Furnary, Mark Giangreco, Nate Rosenthal, Cole Baker, Aaron Yin, Bill Ulammandakh, Shankar Shetty, Sid Reddy, Egor Pakhomov

出处:https://medium.com/airbnb-engineering/building-airbnb-categories-with-ml-human-in-the-loop-35b78a837725

展开阅读全文

页面更新:2024-06-11

标签:类别   译文   湖泊   模型   信号   特征   标签   质量   照片   数据   列表

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top