本文为 Pulselive 公司 Mark Wood 的客座文章。征引文中表述,“Pulselive 公司来自英国,是体育界泛滥知名品牌的最佳数字合作伙伴。”
背景介绍
在 Pulselive 公司,咱们为体育爱好者们带来的体验曾经成为体育赛事中不可或缺的组成部分:从板球世界杯官方网站,到英超联赛专属 iOS 与 Android 利用。
对咱们来说,掂量客户体验的一大关键因素,在于粉丝群体在视频等数字内容层面的参与度。但就在不久之前,每一位粉丝所能看到的视频内容还仅仅只是对最新赛事的简略复制 —— 没有任何个性化元素可言。
体育机构正在致力理解粉丝群体的身份定位,以及他们最心愿看到怎么的内容。只有弄清这两个问题,能力真正从爱好者身上收集成规模的数字行为数据、了解他们的不同爱好并琢磨他们对体育内容进行互动的具体形式。随着可用数据的减少以及机器学习(ML)技术的倒退,客户要求 Pulselive 提供更多量身定制的举荐内容。
在本文中,咱们将分享本身教训,聊聊如何将 Amazon Personalize 作为新型举荐引擎增加至平台当中,并借此将视频观看量晋升达 20%。
采纳 Amazon Personalize
在开始之前,咱们先来理解 Pulselive 面临的两大外围挑战:其一,咱们没有任何数据科学家,因而须要一套成熟的解决方案,保障即便是对机器学习无所不知的工程师也可能了解其运作形式、并带来能够量化的成绩产出。咱们也思考过应用外包企业提供帮助,但老本过高只能作罢;与之绝对,Amazon SageMaker 与 Amazon Personalize 等工具凭借着易于学习且老本低廉的劣势吸引到咱们的眼光。
咱们最终抉择了 Amazon Personalize,具体起因包含:
- 这项服务的技术与经济入门门槛都比拟低。
- 咱们能够疾速进行 A/B 测试,借此证实举荐引擎的理论价值。
- 咱们能够建设简略的概念验证(PoC)我的项目,保障将对现有站点的影响降至最低水平。
- 咱们其实对 Amazon Peronalize 的底层实现原理并不关注,真正重要的是它能带来怎么的影响、特地是改善成果。
与其余新业务一样,咱们首先须要保障的是新计划的引入不致对原有日常经营产生不利影响。同时,咱们还须要确保新的解决方案对于以后业务环境切实有效。为此,咱们决定在概念验证阶段中进行 A / B 测试,借此建设一轮可能在几天内启动并顺利执行的后期试验。
通过与 Amazon Prototyping 团队发展单干,咱们将首轮集成的范畴放大到简直无需对网站进行更改,且易于进行 A / B 测试的水平。在全面筛查了用户观看视频的各具体位置之后,咱们认为对视频列表进行重组排列,应该是实现内容个性化的最快办法。对于这套原型计划,咱们应用 AWS Lambda 函数,并由 Amazon API Gateway 提供新的 API。此 API 负责捕捉相干视频举荐,并应用 Amazon Personalize GetPersonalizedRanking API 对其进行从新排序。
为了证实调整是否胜利,咱们要求此轮试验必须在视频总观看次数或者视频观看完成率等方面具备统计学意义上的显著改善。为了达成这个指标,咱们须要设定足够长的测试周期,以保障验证流程可能同时涵盖大赛日以及暂无赛事流动的惯例日期。咱们心愿测试不同的应用模式,借此打消近期赛事流动对概念验证后果造成的重大影响。咱们最终决定将试验周期设定为两周,在此期间收集初始数据。所有用户都将被纳入试验范畴,且以随机形式被调配至对照组或者测试组当中。为了尽可能升高试验难度,咱们还将所有站内视频都划入测试范畴。下图所示,为这套解决方案的根本架构。
在起步阶段,咱们首先构建了一套 Amazon Personalize 解决方案作为本次试验的终点。要理论定义解决方案并生成面向用户的视频举荐列表,Amazon Personalize 要求咱们提供一套用户 – 视频交互数据集。咱们为此创立了一个 CSV 文件,其中蕴含几个星期之内各视频视图的工夫戳、用户 ID 以及视频 ID 等元数据。在将交互历史记录轻松上传至 Amazon Personalize 之后,咱们即可在 AWS 管理控制台上测试举荐后果。为了实现模型训练,咱们应用的数据集内蕴含 30000 条近期用户交互记录。
为了比拟视频的总体观看次数与视频完成度百分比指标,咱们还构建了另一个 API,用于记录 Amazon DynamoDB 中的所有视频交互流动。这个 API 负责通过 PutEvents API 向 Amazon Personalize 告知新的交互操作,借此帮忙 ML 模型始终保持更新。
咱们还跟踪了视频的总观看次数,以及在试验阶段向用户展现的举荐视频视图。这部分视频展现包含间接链接(例如社交媒体)、网站内链接以及视频列表提供的链接。每当有用户观看视频页面时,零碎都会向其展现原有视频列表或者通过 Amazon Personalize 从新排序的新列表 —— 具体取决于用户归属于对照组还是测试组。咱们首先将总用户中的 5% 纳入测试组,并在确认新计划不会产生意外问题时(即视频观看量未呈现显著降落,API 谬误也没有减少),将测试比例逐渐晋升至 50%—— 其余用户作为对照组 —— 并开始收集数据。
从试验中吸取教训
通过为期两周的 A/B 测试,咱们提取了由 DynamoDB 收集的 KPI,并比拟了这两种解决方案在多个我的项目上的 KPI 后果。因为只是初始试验,因而初步 KPI 的抉择较为简单,大家在理论利用中可能会抉择不同的 KPI。
咱们的第一项 KPI 为每项会话中每位用户的视频观看次数。咱们的初步假如是,因为只是对举荐视频列表进行从新排序,因而不大可能呈现显著的观看次数影响;但通过统计,咱们发现每位用户的均匀观看次数减少了 20%。下图所示,为各组用户的视频观看次数。
除了总观看次数之外,咱们还心愿保障用户可能从头到尾看完视频内容。为此,咱们将视频内容划分为四段,每隔 25% 发送一项事件以进行观看跟踪。在这方面,咱们发现无论是应用 Amazon Personalize 提供的新列表,还是原始举荐视频列表,均匀完成率都没有呈现太大变动。联合视频的总观看次数,咱们得出结论,在向每位用户展现个性化举荐视频列表时,其总观看时长的确有所增加。
咱们还跟踪了各视频在用户「举荐视频」列表中的具体位置,以及用户理论抉择了哪段举荐视频。以此为根底,咱们得以比拟个性化列表与原有固定排序的举荐成果,并发现二者之间并没有太大的区别。这表明咱们的用户更偏向于间接抉择以后屏幕中显示的举荐视频,而非向下滚动以查看残缺的举荐列表。
在对后果进行剖析之后,咱们向客户展现了剖析论断,并倡议启用 Amazon Personalize 以作为后续举荐视频的默认排序办法。
教训与教训
在整个试验过程中,咱们总结出以下经验教训供大家参考:
- 请认真为用户 – 视频交互收集历史数据;咱们在训练中应用了约 30000 条交互记录。
- 关注近期历史数据。尽管视频网站个别不不足历史数据,但应用的交互数据越新,训练成果往往越好。如果您的历史交互数据集极为宏大,无妨过滤掉其中较为古老的局部,借此升高数据集体积以缩短训练时长。
- 确保应用单点登录解决方案或者生成会话 ID,为用户提供对立且惟一的 ID。
- 在您的站点或应用程序中找到现实地位,以此为根底运行 A/B 测试,或者对现有列表进行从新排序 / 间接显示原有举荐条目列表。
- 更新 API 以调用 Amazon Personalize,并获取新的举荐条目列表。
- 部署 A/B 测试,并逐步减少实验组局部的用户百分比。
- 进行跟踪与量化,保障精确理解试验后果。
总结与后续打算
Amazon Personalize 为咱们开启了新世界的大门,咱们也对首次迈入 ML 畛域感到无比冲动。咱们发现,将经过训练的模型纳入咱们的工作流程其实十分简单易行。与应用 Amazon Personalize 相比,更消耗工夫的反而是抉择正确的 KPI 并捕获必要数据,借此证实本轮试验的理论有效性。
着眼于将来,咱们还将开发出以下加强性能:
- 将 Amazon Personalize 更深刻地整合至残缺工作流当中,包含在所有波及举荐列表的局部应用 Amazon Personalize。
- 在从新排序之外扩大更多其余用例,包含由 Amazon Personalize 生成全新举荐内容,借此帮忙用户挖掘他们可能感兴趣的旧有内容。
- 调整模型的从新训练频率 —— 向模型当中实时插入新的交互记录,是放弃其始终紧跟最新趋势的好方法。事实上,将从新训练设定为模型的日常经营组成部分,将极大晋升其运行成果。
- 摸索如何与整体客户一道应用 Amazon Personalize,包含以各种形式举荐相关度最高的内容,借此晋升体育爱好者们的参与度。
- 应用举荐过滤器扩大每项申请中的可用参数范畴。咱们还将尽快定位其余选项,例如通过筛选为您提供专属于特定选手的精彩视频。