公司:Airbnb
爱彼迎(英语:Airbnb)是一个出租住宿民宿的网站,提供短期出租房屋或房间,让旅行者通过网站或手机发掘和预订世界各地的独特房源,为近年来共享经济发展的代表之一。该网站成立于2008年8月,公司总部位于美国加利福尼亚州旧金山,是一家私有公司,由“Airbnb, Inc.”负责管理营运。目前,爱彼迎在191个国家,65,000个城市中共有400万名房东、超过3,000,000笔房源。
该公司在中国的品牌名为爱彼迎,取“让爱彼此相迎”之义,品牌名发布后被批评“难听”和“性暗示”。
用户必须注册互联网账号才能使用网站。每一个住宿物件都与一位房东链接,房东的个人文件包括其他用户的推荐、顾客评价、回复评等和私信系统。
Introducing Trio | Part II
Part two on how we built a Compose based architecture with Mavericks in the Airbnb Android app.
Introducing Trio | Part I
A three part series on how we built a Compose based architecture with Mavericks in the Airbnb Android app
Riverbed:对爱彼迎的大规模数据访问进行优化
用于加快和提高读取密集型工作负载可靠性的爱彼迎数据框架的概述。
Migrating Our iOS Build System from Buck to Bazel
How Airbnb achieved a smooth and transparent migration from Buck to Bazel on iOS, with minimal interference to developer workflows.
从海量文本数据中建立爱彼迎的房源知识库:挖掘未结构化数据中的智慧
在爱彼迎,我们深知要为房客提供最佳体验,就必须深入理解和收集房源的结构化数据。例如,远程工作的房客需要知道房源是否设有适合的工作空间和稳定的网络连接,而有孩子的房客可能需要高脚椅和婴儿床等设施。然而,这些属性信息并非所有房源都明确显示,导致房东的房源描述与房客的需求之间存在不匹配。
这只是我们利用平台上产生的未结构化数据的例子之一。这些数据包括各种房客与平台互动产生的文本数据,经过匿名处理后,我们可以从中提取出有用的结构化数据。考虑到房客关注和查询的属性众多,我们开发了一个名为 Listing Attribute Extraction Platform (LAEP) 的机器学习系统,用于大规模地提取结构化数据,而无需依赖房东手动输入所有可能的房源属性。
LAEP 旨在自动从上述的未结构化的文本数据中提取出有用的结构化信息,例如房源的属性信息。由 LAEP 收集到的属性会被整合到各种应用中,以此来构建爱彼迎的房源知识库。为下游工具如属性优先级系统 (APS) 和房源属性收集系统 (Eve) 提供支持。
除了可以提取房源属性,LAEP 还能检测出各种类型的实体,如活动、房源设施以及著名的地标等景点。这就为我们支持更广泛的产品应用提供了可能性,例如,接待设施数据可以帮助房客在入住期间获得个性化服务,而活动数据可以帮助识别和创建新的房客喜爱的类别。
Transforming CRM DevOps at Airbnb: A Powerful Framework for Continuous Delivery
Airbnb开发了一个适用于CRM平台的弹性DevOps框架,集成了Salesforce DX、Git、Buildkite和Vlocity,以实现高效、连续且具有高软件质量的交付。他们的解决方案包括使用Git进行版本控制、通过Buildkite进行自动化部署和使用Salesforce DX将代码部署到目标环境。他们还采用了静态代码分析、代码审查和自动化测试等方法来确保代码质量和功能性。他们的框架还采用了预先验证和增量部署的方式来减少部署时间。这些改进使得部署时间从平均90分钟减少到15分钟,并实现了增量部署。他们的DevOps实施成功地提高了软件质量和交付效率。
Data Quality Score: The next chapter of data quality at Airbnb
In this blog post, we share our innovative approach to scoring data quality, Airbnb’s Data Quality Score (“DQ Score”).
在 Airbnb 爱彼迎解锁 SwiftUI
在构建 App 的用户界面(UI)时,选择合适的框架非常重要。正确的 UI 框架可以使应用程序感觉流畅、响应迅速,甚至令人愉悦,而不适合应用程序需求的 UI 框架可能会让人感觉迟缓,令人崩溃。这个原则对于开发者的体验也同样重要;一个具有良好 API 设计的 UI 框架可以使工程师流畅、高效且准确地表达自己的想法,而一个具有错误抽象或不一致 API 的框架可能会由于一些不必要的复杂性而使工程师的工作变得更加困难,低效。
在爱彼迎,我们希望我们的移动端应用可以提供世界一流的用户体验和开发者体验。基于这个愿望,我们在 2016 年构建了我们自己的 UI 框架:Epoxy。Epoxy 是一个声明式的 UI 框架,工程师只需要描述在任一视图状态下想要什么样的 UI 结构,框架会自动更新视图层次结构并渲染页面内容。Epoxy 再使用 UIKit 来渲染视图。
Wisdom of Unstructured Data: Building Airbnb’s Listing Knowledge from Big Text Data
Airbnb开发了LAEP系统,利用机器学习和自然语言处理技术从非结构化文本数据中提取有用的房源信息。LAEP系统包括命名实体识别、实体映射和实体评分组件,能够从文本中提取房源属性并将其映射到标准实体名称。该系统应用于下游应用程序,帮助团队发现新的房源类别和重要的房源属性,提升房源理解和服务质量。
使用 HTTP 流式传输提升性能
在这篇文章中,我们将讨论如何通过使用 HTTP 流式传输,将 Airbnb.com 的字节流尽可能快地传输到你的浏览器中。
首先让我们了解一下什么是流式传输。想象一下我们手头有一个水龙头和两种选择:
- 先将一个大杯子装满,然后一次性全部倒入管道(“缓冲”策略)
- 将水龙头直接接到管道上(“流式”策略)
在缓冲策略中,所有的事情都是按顺序进行的:服务器首先生成整个响应并存入缓冲区(装满杯子),然后用更多的时间通过网络把响应发送到客户端(倒入管道)。而流式策略则是并行进行的,我们将响应分解成多个块,一旦某块准备好就立即发送出去。在前一个块仍在发送的同时,服务器就可以开始处理下一个块,而客户端(如浏览器)也可以在响应还未完全接收到之前就开始处理响应。
Unlocking SwiftUI at Airbnb
How Airbnb adopted SwiftUI in our iOS app.
爱彼迎多样化排序算法
爱彼迎(Airbnb)每天根据搜索结果将数百万位房客和房东连接在一起,搜索结果通常由一个基于神经网络的排序算法决定,这个算法原本只擅长为房客选择单个房源,最近我们改进了这个算法的神经网络,更好地提供包含多个房源的搜索结果,增强搜索结果中的房源多样性。
Metis: Building Airbnb’s Next Generation Data Management Platform
How Airbnb evolved our data catalog into a platform for managing and governing our data warehouse at scale.
使用文本生成模型重塑爱彼迎客户支持
现代人工智能(AI)中增长最快的领域之一是 AI 文本生成模型。顾名思义,这些模型的作用就是可以生成自然语言。在此之前,大多数工业级自然语言处理(NLP)模型都是分类器,或者在机器学习(ML)文献中可能被称为的判别模型。然而,在最近几年中,基于大规模语言模型的生成模型正在迅速获得关注,并且从根本上改变了我们制定 ML 问题的方式。这些生成模型现在可以通过大规模的预训练获得一些领域知识,然后生成高质量的文本 - 例如回答问题或复述一段内容。
在爱彼迎 (Airbnb),我们在把文本生成模型应用到社区支持产品中投入了大量的精力,这让我们的产品具备了许多新的功能和使用场景。本文将详细讨论其中三个用例。但首先,让我们先讨论一下为什么文本生成模型非常适合我们的产品。
Journey Platform: A low-code tool for creating interactive user workflows
Journey Platform: Low-code notification workflow platform that allows technical and non-technical users to create complex workflows through a simple drag and drop user interface.
Flexible Continuous Integration for iOS
How Airbnb leverages AWS, Packer, and Terraform to update macOS on hundreds of Cl machines in hours instead of days.