欺诈检测是呼叫中心面临的一项关键挑战,他们需要在提供无缝客户体验的同时保护组织免受欺诈活动的侵害。传统上,呼叫中心依赖坐席人员手动筛查来电,这种方式既耗时又昂贵。另一种选择是,公司可能要求客户每次致电时都进行身份验证,但这会导致糟糕的用户体验。机器学习(ML)提供了一种强大的解决方案,可以帮助组织在这些方法之间达到和谐的平衡,实现高效准确的欺诈检测,同时不影响客户体验。
本博文将向您展示如何利用机器学习的强大能力,使用 Amazon SageMaker Canvas 构建欺诈检测模型。SageMaker Canvas 是一项无代码/低代码机器学习服务,业务分析师和领域专家无需具备广泛的机器学习专业知识即可使用它来构建、训练和部署机器学习模型。
在此解决方案中,您将使用来自 Amazon Connect 的联系追踪记录(CTR)数据集。只要其他入站电话服务包含呼叫特定的元数据,该解决方案同样适用于这些服务的数据。重要的是,每个呼叫此前已根据呼叫中心过去的欺诈检测工作进行了标注。
首先,您将使用 Amazon Pinpoint 的电话号码验证服务来丰富原始 CTR 数据。然后,您将使用 Amazon SageMaker 笔记本准备数据,并使用 SageMaker Canvas 训练欺诈检测模型。最后,为了了解如何提供可扩展且经济高效的解决方案,您将探索如何将模型部署到 SageMaker 端点,并在托管的无服务器环境中通过自动扩缩进行合理配置。
下图展示了包含数据丰富、合并、清理以及模型训练和部署的完整流程架构。在本博文中,我们将在实施过程中引用关键部分。

每条 CTR 包含有关来电的信息,例如坐席人员、连接尝试和渠道。在继续之前,您必须将数据转换为表格形式(CSV、Parquet 或表),这些是 SageMaker Canvas 支持的格式。
原始 CTR 数据集不包含足够的信息来有效训练机器学习模型。您将使用 Amazon Pinpoint validate API(应用程序编程接口) 来丰富数据,该 API 提供运营商、位置数据和电话类型等附加字段。获得丰富后的数据集后,您可以使用 SageMaker 笔记本来清理和准备用于训练的数据。
使用 Amazon Pinpoint validate API 丰富数据 Amazon Pinpoint 包含一项电话号码验证服务,您可以使用它来确定电话号码是否有效并获取额外的联系信息。例如,有效手机号码的 API 响应如下所示:
{
"NumberValidateResponse": {
"Carrier": "ExampleCorp Mobile",
"City": "Seattle",
"CleansedPhoneNumberE164": "+12065550142",
"CleansedPhoneNumberNational": "2065550142",
"Country": "United States",
"CountryCodeIso2": "US",
"CountryCodeNumeric": "1",
"OriginalPhoneNumber": "+12065550142",
"PhoneType": "MOBILE",
"PhoneTypeCode": 0,
"Timezone": "America/Los_Angeles",
"ZipCode": "98101"
}
}而无效电话号码的响应将包含以下内容:
{
"NumberValidateResponse": {
"CleansedPhoneNumberE164": "+44163296076",
"CleansedPhoneNumberNational": "163296076",
"Country": "United Kingdom",
"CountryCodeIso2": "GB",
"CountryCodeNumeric": "44",
"OriginalPhoneNumber": "+440163296076",
"PhoneType": "INVALID",
"PhoneTypeCode": 3
}
}有多种方法可以使用此 API 来丰富您的数据集。validate API 调用的响应是一个包含所有字段的 JSON 文档。您需要将它们转换为适当的格式,并与原始 CTR 数据集合并。这将为您提供一个丰富的数据集,其中包含 CTR 中的所有字段及其对应的验证结果。目标是从数据集中的每一行(Connect 中的 CustomerEndpoint)提取主叫电话号码,并针对 Amazon Pinpoint validate API 运行它。
下图展示了一个示例架构,用于通过 Amazon Pinpoint 进行丰富、在 Amazon DynamoDB 中缓存,并使用 Lambda 函数合并数据集。DynamoDB 缓存按输入键保存 Pinpoint 的响应,这样您就不必重新验证电话号码。

第一步是通过丢弃不会增加任何预测价值的字段来清理数据。这将使训练过程更快,模型更准确。例如,在 CTR 数据中,AWSAccountId 字段对所有记录都是相同的,而 ContactId 字段是唯一的,因此您可以丢弃它们两者。目标是尽可能简化数据集,使用 SageMaker Canvas 执行多个实验,以更好地了解数据中哪些字段对预测的影响最大。
在缩减数据集后,您可以选择一个较小的随机数据子集(例如 1,000 条记录),并在 SageMaker Canvas 中构建模型。SageMaker Canvas 提供了一个可视化界面,您可以使用它快速构建、训练和部署 ML 模型,而无需大量编码。
要开始训练过程,您首先需要将包含 CTR 数据的已准备、已丰富的数据文件导入 SageMaker Canvas。SageMaker Canvas 将自动检测数据格式和结构,允许您预览数据集并在继续之前进行任何必要的调整。
数据集准备就绪后,您可以选择欺诈标签作为目标变量,并配置模型训练参数。SageMaker Canvas 将处理底层的 ML 算法和超参数调优,简化模型开发过程。
模型训练完成后,SageMaker Canvas 将显示字段及其权重的分析。除了构建步骤(您可以在其中删除和转换导入的数据集)之外,SageMaker Canvas 还包括 Amazon SageMaker Data Wrangler,您可以使用它来准备、特征化和分析数据。这允许您在实验和迭代时进行额外的转换。您应该继续运行这些小实验,同时更改训练数据集,目标是从模型中获得最佳性能,同时减少训练时间和推理延迟。
经过实验后,您将确定最重要的特征以及如何转换数据。当您对模型的性能有信心时,您可以决定如何部署训练好的模型。
模型训练完成后,您需要部署一个端点,以便可以调用模型并通过 API 使用结果。例如,下图显示了一个 Lambda 函数调用已部署的端点。我们继续使用 DynamoDB 表作为缓存。这样我们可以避免重新处理号码。

SageMaker Canvas 提供了一种默认部署选项,您可以选择实例类型和实例数量来托管训练好的模型,以满足您的扩展需求。为了帮助确保这些实例既不过度配置也不配置不足,SageMaker 提供了多项功能来帮助您根据具体需求优化部署。
自动扩缩:自动扩缩会根据工作负载变化动态调整模型所配置的实例数量。进行此更改的步骤在配置模型自动扩缩中有详细描述。SageMaker 最近推出了 AI 推理缩容至零,允许端点在不活跃期间缩容至零实例,帮助客户节省成本。
推理推荐器:Amazon SageMaker Inference Recommender 通过在 SageMaker ML 实例上自动化负载测试和模型调优,缩短了将 ML 模型投入生产所需的时间。
无服务器部署:Amazon SageMaker Serverless Inference 是一种专门构建的推理选项,您可以使用它来部署和扩展 ML 模型,而无需配置或管理任何底层基础设施。计算资源根据流量自动扩缩,无需选择实例类型或管理扩缩策略。要了解更多信息,请参阅无服务器端点操作。
要使用无服务器部署并获得推理建议,需要单容器模型。目前在使用 SageMaker Data Wrangler 时无法实现这一点,因为它在数据转换后会生成两个容器:一个用于数据预处理,一个用于模型预测。
准备好最终数据集后,您可以将其导入 SageMaker Canvas 来训练检测模型。按照与较小规模测试相同的步骤操作,确保不使用 SageMaker Canvas 中的任何数据转换选项。
根据最终数据集的大小和复杂程度,训练过程可能需要数小时才能完成。训练完成后,SageMaker Canvas 将生成一个训练好的模型,您可以立即将其部署到端点。
通过利用 Amazon SageMaker Canvas 的强大功能,您可以构建、训练和部署一个强大的欺诈检测模型,使您的呼叫中心能够提供卓越的客户体验,同时保护您的业务,并让您的人工坐席能够专注于合法客户。
您今天就可以使用 AWS Management Console 开始测试 SageMaker Canvas,或者在 SageMaker Canvas Immersion Day 研讨会上了解更多关于 SageMaker Canvas 的基础知识。
转载声明:本文为转载整理,原文版权归原作者及原站点所有。
原文作者:AWS Architecture Blog;如有侵权,请联系管理员删除。