MicroTalk: 以讨论协作的方式提升众包质量

文章信息

这篇文章发表在Advancement of Artificial Intelligence上,发表时间2016年,作者是美国华盛顿大学的学生。 # 概述 这篇文章的领域定位是众包的工作流的改进,针对的众包任务类型是有标准答案的0-1任务,也就是说适用范围比较小,而且文章的创新点也是优化那些大众都容易出错的任务的准确度,解决的问题类似于BTS算法,认为真理在少数人手里,并且找到这批少数人。同时文章使用的方法跟众包草图非常类似,就是瞟一眼别人怎么做,然后给worker一个改进的机会。 # 文章结构 - 开头introduction 主要讲述文章的创新点以及做出的贡献,包括引入了微讨论流程的概念,大大提升了worker的工作质量,找出众包workers中的“wisdom guy”,提出了一个自适应且异步的工作流等 - Previous Work部分则是回顾了前人在如何很好地提高worker的完成任务的质量这一问题上所做出的努力,从最初的Majority vote到开始对worker的能力进行建模,根据worker的能力,然后赋予其相应的决策权重,然后到现在比较流行的使用非监督机器学习算法来估计worker的完成任务准确度以及task的哪个选项更有可能是答案的方法,当然也说出了现阶段的众包的争议性,也就是大部分人眼里的众包都是单独完成任务(类似Amazon MTurk),而实际上真正的众包是让很多人协同完成任务的,从而引出文章中以微讨论的方式完成任务的工作流。 - 接下来就是开始文章真正内容部分,介绍自己提出的框架如何运作,也即其中的运行原理,详述见下方 - 实验部分就是为了验证几个常见的问题:你为什么要提出这样一个工作流?你怎么证明你的工作流更加精确?你怎么证明这个工作流的有效性?而作者在这里选择NLP领域中的TAC KBP问题进行实验,实验采用最基本的对照试验。 - 总结 ## 控制结果质量的常用方法 1. 在分发的task中夹杂有gold standard的问题 2. 基于EM算法的复杂聚合机制

缺点是:
对待一些大家都会搞错的问题/任务,这些方法并没有想象中的那么好,作者以此为立足点,以增加这种“特殊任务”的完成质量为创新点写成这篇文字。文章用的方法类似于之前看到的众包草图,在worker提交结果之前看看别人怎么做的,然后考虑下自己做的是否正确。

The use of “gold-standard” screening questions can help , but even the best workers make mistakes

越来越多的复杂的方法开始摈弃gold question,取而代之的是使用无监督学习来估计worker的准确度以及问题的正确答案,而这种方法最初是以每个worker都会相互独立的做microtask,而随着发展,人们发现这个条件并不总是成立了,除非这个任务有着标准答案且问题的难度到了一定程度(不是每个人都能解决的程度吧),到了第三阶段,人们开始对任务进行建模,任务有着不同的维度,通过可以控制任务难度的维度的大小来区分worker,也就是对用户进行分类,从而让用户在提交答案时有着属于自己的权重。

在处理大多数人可能会犯错的任务上,现有的方法有tournament voting 和 BTS 算法。缺点是这些方法在只有A/B两个选项的问题&需要小心推理的问题上 表现未知。

MicorTalk工作流详述

flow.png

上图是MicroTalk的结构图。主要分为4个模块 - Train:训练模块,该模块主要的目的是用来训练参与者,让参与者了解整个工作流的流程,熟悉整个系统的运作,同时文章中提到寻找Dicerning Worker - Assess: 针对任务中的每个问题,参与者在这一模块内进行初步判断,因为针对的问题是0-1问题,也就是只有True,False两种答案,所以这里只需要选择True or False。其中的CLaim就是要做的question,而Sentence就是NLP中的语言资料 - Justify: 当worker进入这一模块的时候,需要为其在Assess模块中所做的选择进行详细的阐述,告知系统为什么要选择这一参数 - Reconsider: 在这一模块中,参与者可以看到和自己相反的答案以及他们给出的解释,从而考虑是否要更改答案。

2.png 3.png 4.png

filter workers

方法1

Law School Admission Test(LSAT) The LSAT is an integral part of the law school admission process in the United States, Canada, and a growing number of other countries. It provides a standard measure of acquired reading and verbal reasoning skills that law schools can use as one of several factors in assessing applicants.

方法2

看谁在justification部分写得理由长(冗余) > 研究表明在wikipedia中文章的字数多少和文章内容的准确度正相关

但是这个方法的缺点就是只适用于NLP这一领域

方法3 (文章采用)

使用Flesch-Kincaid readability tests来检测worker的argument的复杂度

The Flesch–Kincaid readability tests are readability tests designed to indicate how difficult a reading passage in English is to understand. There are two tests, the Flesch Reading Ease, and the Flesch–Kincaid Grade Level.

具体如下:
在训练阶段,通过让worker完成有标准答案的任务,从而获取worker对这一任务的见解,也就是justification,然后通过上面的方法计算出worker提交的justification的复杂中位数,相当于给这个worker的能力打了个分数,然后判断这个分数是否达到预设的阈值,达到分数即为Discerning Workers

工作流的顺序问题(成本问题)

文章的创新点在于对众包工作流的改造,那必然会带来一个问题,那就是成本问题,文章的工作流中有4个模块:Trainning , Access , Justify , Reconsider. 其中后面的3个模块以何种组合方式进行,都会影响到最后的结果以及整个众包的成本,文章在这里提出了两种方式:Proactive & Lazy Jstification.

Proactive Vs Lazy Justification

这个含义就是justify是以主动的方式出现,还是以被动的方式出现。

问题来源:
显然Reconsider模块产出的任务结果质量会高于Access模块,但与之相对应的代价就是成本的上升,因此要在这里做文章,作者在这里针对两种情况进行了阐述:

  • 如果任务中大多数问题都是很简单的那种,worker在这种问题上很容易就达到共识,那么工作流就无需调用reconsider和jsutify模块
  • 如果针对一个问题有着很多的不同意见,那么工作流为了提高最终产出的准确率,就不得不频繁调用Justify 和 Reconsider 模块了。

举例说明:
\[ S = \{T , T , T , T , T\} \] \[ S^{'} = \{T , T , F , F , T\} \]

这是两个序列,分别代表5个worker针对简单任务(S)和困难任务($ S^{’} $)的评价,T代表True,F代表False。

  • 如果采用Proactive Justify的方式,将会产生如下工作流: \[ \{A^{1} , J^{1} , A^{2} , A^{3} , A^{4} , A^{5}\} \] A表示的是Access,J表示Justify , R表示Reconsider ,如果采用Lazy的方式,则不会出现J
  • 如果是\(S^{'}\)的序列,若采用proactive,得出的结果是\[ \{A^{1}, J^{1} , A^{2} , A^{3} , J^{3} , R^{3} , A^{4} , R^{4} , A^{5} , R^{5}\} \]
    而如果是Lazy的方式,则工作流为:\[ \{A^{1} , A^{2} ,A^{3} , J^{3} , A^{4} , A^{5} , J^{5} , R^{5}\} \]

最终采用的流程算法

algo.png

实验部分

在实验部分解决了评审经常会问到的问题:

  • Workers会在讨论的过程中最终杯说服吗?也就是说你提出的这个东西的有效性怎么样
  • 工作流中的微讨论是否会影响到worker完成任务的精度?
  • worker在这个工作流下得出的任务结果质量是不是比其他方式的更好?
  • 怎么寻找高质量的workers以及他们的影响力如何?
  • MicroTalk工作流和其他工作流比较起来有什么区别?在成本方面控制的如何?

实验方法

从TAC KBP里找一系列任务,而这些任务的难度区分是通过计算worker所标注的布尔向量和TAC KBP里的标准答案组成的布尔向量距离大小决定的,其中共取了25道题目,20道题的答案时True。

使用的实验平台是Amazon MTurk,而工作流里虽然表示需要讨论,但是作者认为实时讨论比较难实现(其实就是想借用AMt这个平台,不想自己造轮子嘛),所以很机智的提出了异步讨论,其实这里不算什么创新点的。

在AMT上实验的时候雇佣参与者的标准是至少完成1000件任务且有着97%的接收率,感觉门槛还是很高的

在每个实验中,都有训练参与者这个环节,在这个阶段,让参与者识别是否是居住关系,给定worker5道有着标准答案的问题,只有准确完成3道以上的参与者才能继续接下来的实验。在这个阶段,worker被要求对这些问题进行Assess ,然后对这些question进行Justify,这个目的是为了识别参与者的能力以及标注Dicernning workers

接下来就是针对每个问题的实验了,这里就不阐述了,有兴趣的可以看看原文

TAC KBP Text Analysis Conference Knowledge Base Population (TAC KBP) The Text Analysis Conference (TAC) is a series of evaluations and workshops organized to promote research in natural language processing and related applications by providing a large test collection, common evaluation procedures, and a forum for organizations to share their results. The goal of TAC KBP is to develop and evaluate technologies for building and populating knowledge bases (KBs) about named entities from unstructured text. KBP systems must either populate an existing reference KB, or else build a KB from scratch.

实验结果

6.png 这是精度提升的证明

7.png 这是和其他方法比较的结果

总结

实验到这里就基本上结束了,如前面所说,采用的套路和众包草图一样,都是以合作的方式协同完成众包任务,A参与者可以通过看B参与者提出的解决方案来对自己的进行酌情修改,而这篇文章的局限性也很明显,针对的众包任务类型很单一,不像众包草图那般通用,总体来说文章一般,发表的地方也不是什么知名的地方,不过文章的这个工作流模式进一步证明了我们实验室提出的众包流程还是得到了同行的认可嘛,2333.

热评文章