code学习

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

作者:闪念基因

利用文本生成模型构建更有效、可扩展的客户支持产品。

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

Gavin Li , Mia Zhao和Zhenyu Zhao

现代人工智能 (AI) 中发展最快的领域之一是AI 文本生成模型。顾名思义,这些模型生成自然语言。以前,大多数工业自然语言处理 (NLP) 模型都是分类器,或者在机器学习 (ML) 文献中可能称为判别模型。然而,近年来,基于大规模语言模型的生成模型正在迅速获得关注,并从根本上改变了 ML 问题的表述方式。生成模型现在可以通过大规模预训练获得一些领域知识,然后生成高质量的文本——例如回答问题或解释一段内容。

在 Airbnb,我们在我们的社区支持 (CS) 产品中大量投资于 AI 文本生成模型,这已经启用了许多新功能和用例。本文将详细讨论其中三个用例。然而,首先让我们谈谈文本生成模型的一些有益特性,这些特性使其非常适合我们的产品。

关于文本生成模型

将 AI 模型应用于 Airbnb 客户支持等大规模工业应用并非易事。现实生活中的应用程序有很多长尾角案例,很难扩展,而且标记训练数据的成本通常很高。文本生成模型有几个特点可以解决这些挑战,并使这个选项特别有价值。

编码知识

第一个吸引人的特征是能够将领域知识编码到语言模型中。正如Petroni 等人所说明的。(2019),我们可以通过大规模预训练和迁移学习对领域知识进行编码。在传统的 ML 范式中,输入非常重要。模型只是一个从输入到输出的转换函数。模型训练主要侧重于准备输入、特征工程和训练标签。而对于生成模型,关键是知识编码。我们如何设计预训练和训练以将高质量知识编码到模型中——以及我们如何设计提示来归纳这些知识——更为关键。这从根本上改变了我们解决分类、排名、候选生成等传统问题的方式。

在过去的几年里,我们积累了大量的人工代理为爱彼迎房客和房东提供帮助的记录。然后,我们使用这些数据设计了大规模的预训练和训练,以编码解决用户出行问题的知识。在推理时,我们设计了提示输入以直接根据编码的人类知识生成答案。与传统的分类范式相比,这种方法产生了明显更好的结果。A/B 测试显示业务指标显着改善,用户体验也明显改善。

无监督学习

我们发现文本生成模型的第二个吸引人的特征是它的“无监督”性质。像 Airbnb 这样的大规模工业用例通常拥有大量的用户数据。如何挖掘有用的信息和知识来训练模型成为一个挑战。首先,通过人工标记大量数据的成本非常高,极大地限制了我们可以使用的训练数据规模。其次,设计良好的标签指南和用户问题和意图的综合标签分类具有挑战性,因为现实生活中的问题通常具有长尾分布和许多细微的角落案例。它无法扩展到依靠人工来穷尽所有可能的用户意图定义。

文本生成模型的无监督性质使我们能够在不大量标记数据的情况下训练模型。在预训练中,为了学习如何预测目标标签,模型被迫首先对问题分类法有一定的了解。本质上,该模型是在内部和隐式地为我们做一些数据标签设计。这解决了涉及意图分类设计和标签成本的可扩展性问题,因此开辟了许多新的机会。当我们稍后在本文中深入探讨用例时,我们将看到一些这样的例子。

更自然和高效的语言模型

最后,文本生成模型超越了 ML 问题公式的传统界限 在过去的几年中,研究人员已经意识到自动编码模型中的额外密集层可能是不自然的、适得其反的和限制性的。事实上,所有典型的机器学习任务和问题表述都可以看作是语言建模的单一统一问题的不同表现形式。分类可以格式化为一种语言模型,其中输出文本是类的文字字符串表示。

为了使语言模型统一有效,引入了一个新的但必不可少的角色:提示符。提示是一小段文本指令,它告知模型手头的任务,并设置对输出格式和内容的期望。除了提示之外,额外的自然语言注释或提示也非常有利于将 ML 问题进一步上下文化为语言生成任务。提示的结合已被证明可以显着提高各种任务的语言模型质量。下图说明了通用生成建模的高质量输入文本的剖析。

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

图 1.1 我们的文本生成模型的提示和输入特征设计示例

现在,让我们深入探讨文本生成模型在 Airbnb 的社区支持产品中应用的几种方式。我们将探讨三个用例——内容推荐、实时代理协助和聊天机器人释义。

内容推荐模型

我们的内容推荐工作流程为 Airbnb 的帮助中心搜索和我们的Helpbot中的支持内容推荐提供支持,它利用逐点排名来确定用户收到的文档的顺序,如图 2.1 所示。这个逐点排序器采用两部分输入的文本表示——当前用户的问题描述和候选文档,以标题、摘要和关键字的形式。然后计算描述和文档之间的相关性分数,用于排名。在 2022 年之前,这个逐点排序器是使用 XLMRoBERTa 实现的,但是我们很快就会看到为什么我们切换到 MT5 模型。

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

图 2.1 我们如何利用具有任意分类头的仅编码器架构来执行逐点文档排序

根据引入提示的设计决定,我们将经典的二元分类问题转化为基于提示的语言生成问题。输入仍然来自问题描述和候选文档的文本表示。但是,我们通过在描述前添加提示来将输入上下文化,该提示通知模型我们期望二进制答案,“是”或“否”,即文档是否有助于解决问题。我们还添加了注释,为输入文本各部分的预期作用提供额外提示,如下图所示。为了实现个性化,我们使用用户及其预订信息的文本表示扩展了问题描述输入。

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

图 2.2。我们如何利用具有自然语言输出的编码器-解码器架构作为逐点排序器

我们针对上述任务对 MT5 模型进行了微调。为了评估生成分类器的质量,我们使用从与训练数据相同的分布中采样的生产流量数据。生成模型展示了支持文档排名的关键性能指标的显着改进,如下表所示。

表 2.1 Airbnb 支持内容推荐

此外,我们还在在线 A/B 实验中测试了生成模型,将模型集成到拥有数百万活跃用户的 Airbnb 的帮助中心。成功的实验结果得出了相同的结论——与基于分类的基线模型相比,生成模型推荐具有显着更高相关性的文档。

“实时代理助理”模型

为代理配备正确的上下文知识和强大的工具可以为我们的客户带来更好的体验。因此,我们为我们的代理提供及时的指导,引导他们始终如一地找到正确的答案,并帮助他们有效地解决用户问题。

例如,通过坐席与用户的对话,展示建议的模板,帮助坐席解决问题。为确保我们的建议在 CS 政策中得到执行,建议模板通过 API 检查和模型意图检查的组合进行门控。该模型需要回答问题以捕获用户意图,例如:

  • 这条消息是关于取消的吗?
  • 该用户提到的取消原因是什么?
  • 该用户是否因 COVID 疾病而取消预订?
  • 这位用户是不是不小心订了位?
AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

图 3.1 AI 生成的推荐模板

为了支持许多细粒度的意图检查,我们开发了一个策划者问答 (QA) 模型,旨在帮助回答所有相关问题。这个 QA 模型是使用上面提到的生成模型架构开发的。我们连接多轮用户代理对话以利用聊天历史作为输入文本,然后在服务时间点询问我们关心的提示。

提示自然地与我们要求人类注释的相同问题对齐。略有不同的提示会导致不同的答案,如下所示。然后根据模型的回答,向代理推荐相关模板。

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

表 3.1 mastermind QA 模型提示设计

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

图 2.2 Mastermind QA 模型架构

我们利用了 t5-base 和 Narrativa 等主干模型,并对各种训练数据集组合进行了实验,包括基于注释的数据和基于日志的数据以及额外的后处理。注释数据集通常具有更高的精度、更低的覆盖率和更一致的噪声,而日志数据集具有更低的精度、更高的案例覆盖率和更多的随机噪声。我们发现将这两个数据集组合在一起会产生最佳性能。

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

表 3.2 mastermind QA 模型实验结果

由于参数量大,我们利用名为DeepSpeed的库来使用多 GPU 内核训练生成模型。DeepSpeed 有助于将训练过程从几周缩短到几天。话虽如此,超参数调整通常需要更长的时间。因此,需要用较小的数据集进行实验,以获得更好的参数设置方向。在生产中,与真正的 CS 大使进行的在线测试显示参与率有了很大的提高。

聊天机器人中的释义模型

准确的意图检测、插槽填充和有效的解决方案不足以构建成功的 AI 聊天机器人。用户通常选择不与聊天机器人互动,无论 ML 模型有多好。用户希望快速解决问题,因此他们不断尝试评估机器人是否理解他们的问题,以及它是否能比人工代理更快地解决问题。建立一个释义模型,首先改写用户描述的问题,可以给用户一些信心并确认机器人的理解是正确的。这显着提高了我们机器人的参与率。下面是我们的聊天机器人自动解释用户描述的示例。

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

图 4.1 聊天机器人转述用户对支付问题的描述的实际示例

这种解释用户问题的方法经常被人类客户支持代理使用。最常见的模式是“我知道你……”。例如,如果用户询问是否可以免费取消预订,代理人会回复“我知道你想取消,想知道我们是否可以全额退款。” 我们构建了一个简单的模板来提取代理回复以该关键词开头的所有对话。因为我们有多年的代理-用户通信数据,所以这个简单的启发式方法免费为我们提供了数百万个训练标签。

我们测试了流行的序列到序列转换器模型骨干,如BART、PEGASUS、T5等,以及自回归模型,如GPT2等。对于我们的用例,T5 模型产生了最佳性能。

正如Huang 等人所发现的那样。(2020),文本生成模型最常见的问题之一是它倾向于生成平淡、通用、无信息的回复。这也是我们面临的主要挑战。

例如,该模型对许多不同的输入输出相同的回复:“我知道您的预订有一些问题。” 虽然正确,但这太笼统了,没有用。

我们尝试了几种不同的解决方案。首先,我们尝试建立一个后向模型来预测P(Source|target),正如Zhang 等人介绍的那样。(2020),并将其用作重新排序模型以过滤掉过于通用的结果。其次,我们尝试使用一些基于规则或基于模型的过滤器。

最后,我们发现最好的解决方案是调整训练数据。为此,我们基于Sentence-Transformers的预训练相似性模型对训练目标数据进行文本聚类。如下表所示,训练数据包含太多无意义的通用回复,导致模型在其输出中执行相同的操作。

AI 文本生成模型如何重塑 Airbnb 的客户支持(译文)

表 4.2 训练标签中的顶级集群

我们标记了所有过于通用的集群,并使用 Sentence-Transformers 从训练数据中过滤掉它们。这种方法的效果明显更好,并为我们提供了一个可以投入生产的高质量模型。

结论

随着基于大规模预训练的 transformer 模型的快速增长,文本生成模型现在可以对领域知识进行编码。这不仅使他们能够更好地利用应用程序数据,而且使我们能够以无监督的方式训练模型,从而帮助扩展数据标签。这使得许多创新方法能够应对构建 AI 产品的常见挑战。正如本文详述的三个用例(内容排名、实时代理协助和聊天机器人释义)所示,文本生成模型在客户支持场景中有效地改善了我们的用户体验。我们认为文本生成模型是 NLP 领域中一个至关重要的新方向。他们帮助 Airbnb 的房客和房东更快地解决他们的问题,并协助支持大使提高效率,更好地解决手头的问题。我们期待继续在这一领域积极投资。

致谢

感谢Weiping Pen、Xin Liu、Mukund Narasimhan、Joy Zhang、Tina Su和Andy Yasutake审阅和完善博文内容以及所有重要建议。感谢Joy Zhang、Tina Su、Andy Yasutake的领导支持!感谢Elaine Liu构建释义端到端产品、运行实验并发布。感谢我们亲密的 PM 合作伙伴Cassie Cao和Jerry Hong,感谢他们在 PM 方面的专业知识。如果没有他们的努力,这项工作是不可能完成的。

作者:Gavin Li

出处:https://medium.com/airbnb-engineering/how-ai-text-generation-models-are-reshaping-customer-support-at-airbnb-a851db0b4fa3

继续阅读