Airbnb利用深度学习增强平台的搜索建议
2018年10月27日 由 浅浅 发表
596153
0
在线预订平台Airbnb拥有超过500万的房源,以及成千上万的旅游,徒步旅行和其他旅行体验。这些需要大量的筛选,Airbnb公司认为AI可以伸出援助之手。
在论文“Applying Deep Learning To Airbnb Search”中,该公司的研究人员描述了在两年的时间里,他们实现了一个复杂的神经网络,在Airbnb的网络和移动应用程序中,以提高搜索结果的相关性。
该报告紧随Airbnb的内部AI系统,将设计草图转化为产品源代码,以及机器学习驱动的语言系统,将列表评论翻译成客人的母语。
“搜索排名应用程序是Airbnb最大的机器学习成功案例之一。大多数初始收益都是由梯度提升的决策树模型推动的,”他们写道,“然而,随着时间的推移,收益趋于稳定。本文讨论了应用神经网络以试图打破这一局面所做的工作。”
正如研究人员所解释的那样,大多数客人首先在Airbnb的网站上搜索特定地理区域的房屋。这些搜索返回从Airbnb的数百万中抽样的有序列表。
最初,手动的评分功能确定哪些房屋和房间在前列。最终,一个梯度提升决策树(GBDT),即一个识别和排列预测因素的模型取代了评分功能,研究人员称这一转变导致“Airbnb历史上家庭预订的最大改进之一”。
但随着在线预订的收益趋于平稳,该团队将注意力转向AI。
Airbnb不仅仅依赖一个AI系统。它采用了一种算法的“生态系统”,可以预测主人接受客人预订请求的可能性,以及客人对旅行或高度体验的评价。他们接受了用户交互训练,记录了搜索,每个模型都可以访问它们。一旦经过训练,新模型将进行测试,以确定他们是否在预订方面实现了统计上显着的增长。
Airbnb的第一个AI搜索系统为更复杂的搜索系统奠定了基础。第二个采用LambdaRank,一种应用有监督机器学习来解决排名问题的算法,而最终模型深度神经网络(DNN),考虑了大约195个特征,包括价格,设施和历史预订计数;启用Airbnb智能定价功能的商家信息的价格;以及列表与最近查看的客人的相似度。
当然,这并非完全顺利的。模范训练是一种反复试验的事情。团队处理管道的第一次迭代,以逗号分隔值(CSV)格式向TensorFlow模型提供数据,仅使用了一小部分图形卡处理能力,大约25%(优化带来了17倍的加速,并将利用率提高到90%左右)。
Airbnb团队测试的其中一个神经网络使用与列表相对应的唯一ID作为特征。团队的想法是将ID编入嵌入(映射到实数矢量的特征),这将嵌入每个列表的独特属性,就像Netflix和亚马逊采用的推荐系统一样。但正如研究人员解释的那样,事实证明这是不可行的,嵌入需要每个项目大量的数据,并且列表受到来自物理世界的“约束”。
他们写道:“即使是最受欢迎的列表,也可以在一年中最多预订365次,而且每个列表的典型预订量要少得多。”
让事情变得更具挑战性,并非所有趋势都是显而易见的,至少,一开始并非如此。列表的长视图似乎与测试中的预订相关,但是当同时预测预订概率和长视图时间的模型在线部署时,它不会导致上升。该团队推测,长期观点可能受到各种因素的驱动,例如高端但价格高的列表,具有难以解析的长描述的列表,或者极其独特且“有时幽默”的列表,以及其他原因。
在特色工程方面,该团队的调查产生了一个先前未考虑的影响入住率的因素:列表具有不同的最低停留要求,有时延长到几个月。他们发现了地理偏好,比如旧金山西海湾南部的位置比跨越桥梁的位置更受欢迎,后者往往交通拥堵频发。
研究人员写道:“在无处不在的深度学习成功故事中,我们开始处于乐观的高峰期,认为深度学习将成为GBDT模型的替代品,并为我们带来惊人的收益。很多初步的讨论都围绕着保持其他一切不变,并用神经网络取代现有的模型来看看我们可以获得什么样的收益,随着时间的推移,我们意识到转向深度学习并不是替代模型,而是关于扩展系统。因此,它需要重新思考模型周围的整个系统。”
论文:arxiv.org/pdf/1810.09591.pdf