在线人类行为实验无处不在,多种多样,而且不可避免。领先的数字公司每月都会针对数百万用户进行超过1000次的A/B测试。在线劳动力市场号称有成千上万的工人可供雇佣,从事包括实验和beta测试在内的众包任务。在行业之外,学术研究人员利用在线劳动力市场进行行为实验,从合作游戏到蛋白质折叠任务。
隐藏在façade的简单性背后,实现一个无偏的统计推断的人类行为实验是一个不能掉以轻心的任务。它需要计算机编程、统计推断、实验设计,甚至行为洞察力的知识。这种独特的技能组合通常是通过实践、令人心碎的错误和“代码气味”来磨练的。马丁·福勒的书,重构:改进现有代码的设计,代码气味表明某些违反基本设计原则的代码结构,并增加了意外软件行为的风险。代码气味会导致随机化失败,即分配观察单位(用户、设备等)进行治疗的过程,这对实验的有效性是一个威胁。例如,不正确设置的概率可能会阻止用户进入特定的治疗,或者在一种治疗中下降的用户体验可能会导致更高的流失率(即退出)。
探测气味的来源并不总是简单的,因为实验与多个组件相互作用,包括外部系统。几个故障点的存在,以及在他们的编程语言环境中缺乏验证实验的数学形式主义,使得人类专家评审他们的正确性的黄金标准。但即使是专家也会犯错。因此,在“嗅猎”中,两种互补的做法是常见的:模拟和飞行员。两者都有用,也都有缺点。模拟包括一系列机器人在实验中随机点击它们的路径。它们能够捕捉到内部bug,但却不能检测到与外部系统的错误交互,或者由于特殊的群体特征或不同的流失率而导致的随机化失败。这些问题都是通过试点解决的,也就是用真实用户进行的实验的缩小版。然而,试点需要额外的时间和金钱,如果用户体验很差,可能会让参与者感到沮丧。此外,一个失败的试点可能会损害实验者在众包市场的声誉。 Finally, in some cases, pilots are not possible at all, for example, in one-shot field experiments.
基于这些原因,我欢迎Tosch等人在以下论文中详细介绍的PlanAlyzer软件。PlanAlyzer是PlanOut的一个支线,PlanOut是一个在企业环境中流行的在线实验框架,尤其是它最初开发的Facebook。除了标记代码气味之外,PlanAlyzer还以人类可读的方式报告了PlanOut脚本可以或不能进行统计测试的假设。PlanAlyzer是如何实现这一目标的?它将PlanOut脚本作为输入,并将其转换为为代码中的变量分配特殊标签的内部表示。然后,它构建一个数据依赖图,在此基础上,它在那些特别标记的变量(即对比)之间建立可靠的因果路径。为了弥补缺失的信息和与外部系统的交互,可以集成手动注释的标签。
PlanAlyzer是第一个统计检查在线实验有效性的工具。
PlanAlyzer是根据Facebook创建和部署的实际PlanOut脚本的语料库进行验证的。结果非常令人鼓舞:PlanAlyzer复制了领域专家手工注释的所有对比的82%,并在合成突变数据集中实现了检测代码气味的精确度和92%的召回率。此外,作者还揭示了一些常见的糟糕编码实践,包括模糊的类型比较、应用于分数的模数运算符以及仅将PlanOut脚本用于应用程序配置。这一领域的未来工作可能专注于自动纠正代码中的错误,生成统计代码来分析实验的输出(另一种潜在的气味来源),或引入关于假设的推理(例如,观察单位的非比例抽样是否有效)。
PlanAlyzer是第一个静态检查在线实验有效性的工具。它比部署机器人或运行试点更便宜、更快,而且可能更安全。总之,这是一个重要的里程碑。与人工智能驱动的方法在选择实验参数的最优值、自适应排序调查问题和计算缺失回答方面的最新进展一起,它显示了计算机辅助的实验设计、验证和分析方法正在获得立足点。由于这种模式将在未来继续增长,我们应该期待两件事:在极其碎片化的在线实验工具领域进行整合,以及建立一套经过验证的编码标准。这两个结果都将提高实验结果的可复制性,为工业和学术界对在线人类行为的研究取得更快进展铺平道路。
数字图书馆是由计算机协会出版的。版权所有©2021 ACM, Inc.
没有找到条目