Effective Result Inference for Context-Sensitive Tasks in Crowdsourcing
摘要
有效的结果推理是一个重要的众包话题,因为工人可能会返回错误的结果。现有的推理方法将每个任务分配给多个工人,并汇总这些工人的结果来推断最终的答案。但是,由于以下原因,这些方法对于上下文敏感任务(CST)非常无效,例如手写识别。首先,每个CST相当困难,工人通常无法正确回答整个CST。因此,任务级推理策略不能获得高质量的结果。第二,CST不应该划分为多个子任务,因为子任务在特定的上下文中相互关联。因此,子任务级推理策略忽略了子任务之间的相关性,不能获得高质量的结果。因此需要一种有效的CST结果推理方法。为了解决这一挑战,本文提出了一种智能装配模型(SAM),它可以在不丢失上下文信息的情况下,在子任务的粒度中装配工人的补充答案。在此基础上,我们设计了一个基于部分可观测马尔可夫决策过程的迭代决策模型,可以决定是否需要更多的工作人员来获得更好的结果。实验结果表明,该方法优于现有的方法。
关键词: 众包,结果推理,上下文敏感任务,智能装配模型
1 介绍
众包是一个快速发展的领域,寻求利用人类的认知优势来解决计算机难以解决的问题[18,7],如情感分析、手写识别和图像标签。由于工人回答问题可以获得奖励,工人可能会返回错误的结果,以欺骗获得更多奖励。从噪声结果中推断最优答案,众包中的有效结果推断是一个重要问题[17]。
为了获得高质量的结果,迭代框架广泛应用于现有的众包系统中,如图.1所示。请求者提交众包任务后,任务分配组件将任务分配给n个工人。一旦工作人员完成了他们的任务,结果推断组件将这些n个工作人员的结果聚合起来并生成推断结果。然后,迭代决策组件检查推理结果是否可以进一步改进:如果结果足够好,迭代过程将终止;否则,它将要求另一个n个工人并重复上述三个步骤。换句话说,迭代决策组件决定是否终止迭代改进过程。本文研究了该框架中的两个核心问题:(1)如何根据结果推断组件中不同工作人员的输出有效地推断出高质量的结果;(2)如何决定是否终止迭代决策组件中的迭代过程。
图.1. 迭代众包结果推理的一般框架
关于结果推理和任务分配的文献有两类:任务级推理(Task-Inf)和子任务级推理(Subtask- Inf)。任务级推理首先将每个任务分配给多个工人,然后使用机器学习技术[13,15]或群体投票技术[1,3,6,10,5]来推断结果。子任务级推理将复杂任务拆分为若干子任务,将子任务众包起来,利用任务级推理推断每个子任务的结果[18,7],并汇编每个子任务的最佳结果,以生成复杂任务的最终答案。这些推理方法可以提高简单任务的结果质量,如图像注释[4,12]、命名实体识别[3]和搜索任务[8]。
但是,由于以下原因,现有的方法对于上下文敏感任务(CST)无效,例如手写识别、语音识别和路由建议。首先,CST相当困难,工人通常不能正确地回答整个任务。例如,对于图.2中的手写识别任务,三个工作人员都不能正确地回答该任务(请参见图.3)。因此,任务级推理不能获得高质量的结果。第二,CST不应该划分为多个子任务,因为子任务在特定的上下文中相互关联。例如,第二个工人将第9个单词识别为“next”,但不确定第10个单词(“tip”或“time”)。根据上下文,她可以将其标记为“时间”。因此子任务级推理不能获得高质量的结果,因为它忽略了子任务之间的相关性。因此,需要一种有效的众包CST结果推理方法。
图 2. 手写识别10个字
在本文中,我们提出了一个智能装配模型(SAM)来汇总来自不同工人的结果。每个CST分配给多个工人,然后我们通过选择好结果并通过SAM模型丢弃这些工人的坏结果来收集工人的答案。其次,我们设计了一个基于部分可观测马尔可夫决策过程的迭代决策模型,以改善结果。
综上所述,我们做出如下贡献。
- 我们确定了一个常见的任务类别,即上下文敏感任务(CST)。每个CST在特定的上下文中包含一定数量的子任务,但不适合用于众包子任务的拆分。
- 我们提出了一个智能组装模型(SAM)来有效地组装工人的答案,选择好的结果并丢弃坏的结果来生成推断结果。
- 我们设计了一个基于部分可观测马尔可夫决策过程的迭代决策模型,决定是否终止迭代过程。该方法大大降低了决策的复杂性。
- 我们在真正的众包平台上对我们提出的模型进行模拟和实际实验,并在各种复杂场景中与现有模型进行比较。实验结果表明,该方法优于现有方法。
本文的其余部分组织如下。在第2节中,我们讨论了众包中结果推断和质量控制的相关工作。然后我们在第3节中将问题形式化。我们提出的结果推理模型和迭代决策方法分别在第4节和第5节中给出。实验装置和结果见第6节。最后,我们将在第7节中结束这项工作。
2 相关工作
在众包中,质量控制的一个挑战性问题是从工人提供的嘈杂结果中有效地推断结果,这也与众包任务的类型密切相关。下面我们从以下两个方面对相关工作进行描述。
多数投票[19]是从多个工人的产出中推断结果的一种众所周知的方法。早期多数投票的工作不考虑工人能力的差异,这对于大多数工人能够正确处理的简单任务是有效的。但这种方法在任务困难或工作能力较差的情况下会导致低质量的结果。考虑到工人的能力,提出了加权多数投票[15]。在这方面,提出了各种解决方案,如EM和贝叶斯方法[15]来评估工人的能力。
为了进一步改进多数投票策略,有两种研究与众包任务的具体类型有关。对于孤立的任务,一些文献[18,7,6,10,5]提出了基于任务级推理的结果推理方法(即,要求不同的工人执行相同的任务,直到对结果达成一致意见),以处理不准确并将成本降到最低;而对于复杂的任务,一些工作提出了其它使用多阶段策略处理任务的基于子任务级推理方法[17,3]。CDAS[11]使用了质量敏感的回答模式。Askit[2]使用了熵样技术。Qasca研究了质量感知推理方法[20]。与这些系统相比,我们的方法考虑了上下文敏感的任务,取得了更好的结果质量。查找(Find)-修正(Fix)-验证(Verify)(FFV)[17]被提议在三步策略中纠正和缩短文本。“Find”步骤确定了一组工人的句子中的一些错误,“Fix”步骤确定了另一组工人的这些错误。“Verify”步骤验证了这些错误,并应用任务级推理聚合结果。我们的CST不同于FFV任务。一个FFV任务涉及一个有序的三步处理工作流,即查找、修正和验证,而一个CST不应该被分割成一组子任务,不管涉及多少个处理步骤。我们的方法与FFV正交。在实践中,为了简化众包处理,许多任务被划分为子任务。例如,在CAPTCHA/reCAPTCHA,中,单个单词被视为任务,而CST(例如识别手写句子)不适合在单个单词的粒度上进行众包。其他CST包括翻译、转录、文本识别等。
此外,为了获得工人的能力或淘汰能力低下的工人,也有许多通过资格考试和黄金考试来控制工人质量的算法,以获得匿名工人的能力或通过考试淘汰不合格工人[6,10]。
与这些研究不同的是,我们专注于推断上下文敏感任务的高质量结果。由于任务INF可能高估了员工的能力,而子任务INF忽略了CST的上下文,因此对于复杂的众包任务(如CST),他们无法获得高质量的结果。因此,我们提出了一个智能装配模型,通过选择好的结果和丢弃坏的结果而不丢失任务上下文来装配工人的答案。与传统的马尔可夫模型不同,我们的POMDP通过减少状态数显著降低了决策复杂性。实验结果也验证了该技术的优越性。
3 问题描述
本文主要研究上下文敏感任务(CST)。CST包含多个子任务,这些子任务在特定的上下文中相互关联。如果这些子任务被分开并分别众包,上下文将丢失。例如,图.2显示了一个上下文相关的任务,即手写识别。如果将手写句子分成10个子任务(如单词)进行众包,这些子任务之间的上下文关联将丢失,并增加手写识别的难度。
定义一个上下文敏感任务
有m个子任务,n个工人回答
我们将CST作为一个整体任务进行众包,并使用一个输出矩阵来表示T上这些工人的答案,正式定义如下。
定义 1(输出矩阵):n个工人对于T的回答被定义为 矩阵, ,其中 是由工人 对于子任务 的输出结果,如果工人 对于子任务 没有输出结果 。我们用 表示子任务 的输出向量,用 表示工人 的输出向量。
注意,如果且仅当工人 无法处理子任务 时 才是⊥。例如,图.3说明了图2.中手写识别CST的输出矩阵,它由三个工人完成。 ,因为第三个工人无法识别第一个单词。
图.3. 手写识别的输出矩阵
给定一个CST T,我们的目标是通过聚合来自不同工人的所有子任务输出来推断T的高质量结果。为了生成T的推理结果,我们定义了候选输出向量来表示推理结果。
定义 2(候选输出向量–COV):设T为具有m个子任务的CST,将候选输出向量定义为子任务输出向量 ,其中 (即 )。
如果一个带有m子任务的CST T由n个工人处理,可能会有大量可能的COV(在最坏的情况下,通过组合n个工人提供的所有m子任务的所有输出,会有 个COV)。例如, ,表.1说明了与图.3中的输出矩阵O对应的集合i。
COV | value |
---|---|
You misspelled several work, Plan spellcheck your work next tip. | |
You misspelled several work, Plan spellcheck your work next time. | |
You misspelled several work, Please spellcheck your work next tip. | |
You misspelled several work, Please spellcheck your work next time. | |
You misspelled several work, Play spellcheck your work next tip. | |
You misspelled several work, Play spellcheck your work next time. | |
You misspelled several words, Plan spellcheck your work next tip. | |
You misspelled several words, Plan spellcheck your work next time. | |
You misspelled several words, Please spellcheck your work next tip. | |
You misspelled several words, Please spellcheck your work next time. | |
You misspelled several words, Play spellcheck your work next tip. | |
You misspelled several words, Play spellcheck your work next time. |
图.3. 手写识别的输出矩阵
根据定义2,我们可以将CST的答案推断问题转化为最佳COV识别问题,从所有可能的COV中找出最佳COV。
定义3(最佳COV识别) :假设T是一个CST,O是T的输出矩阵,Z是所有可能的COV的集合,问题是从Z中找到最好的COV,从而得到T的最佳结果。
例如,将图.3中从基于O组装成表.1中的COV集中选择最佳COV的最佳结果。我们将在第4节中讨论如何量化COV以及如何识别最佳COV。
为了提高推理质量,通常采用迭代法。为了确定是否进入下一个迭代,我们需要解决迭代决策问题。
定义4(迭代决策问题——IDP):设T为CST,O为t的输出矩阵, 和 分别是当前迭代和上一次迭代的推理结果。IDP问题是确定是否终止迭代过程。
定义4定义了一个迭代获得满意的CST推理结果的决策问题。我们在第5节中提出了一个有效的迭代模型来做决定。
根据定义2,COV集合的大小随子任务的数量呈指数增长。具体来说,COV的数量可以是 。因此在理论上,定义3中定义的最佳COV识别的复杂性应该是一个NP难题。在实践中,如[3]所述,由于CST的大小有限,并且工人提供的子任务结果重复,COV的状态空间不是很大。例如,如表.1所示,COV的大小只有12而不是310。
4 结果推断的SAM模型
本节研究了最佳COV识别问题。我们提出了一个智能装配模型(SAM),将工人的结果集合在子任务的粒度上,而不是整个任务中,首先利用部分有序集理论计算出一组最大的COV,然后从最大的COV中选择最佳的COV作为工人在CST上的能力的推论结果。
给定一个CST T,n个工人为T生成一个输出矩阵O。如果 ,我们使用 来测量子任务输出 的质量,其中 表示 个工人与 的输出相同对于子任务 ,否则( ), 。利用子任务 的所有输出,我们引入子任务概率向量。
定义5(子任务概率向量–SPV):给定一个具有m个子任务的CST T和T的输出矩阵O,子任务 的SPV由 的n个工人的输出概率组成,表示为
根据定义5,我们可以得出 越大,输出 越可能是子任务 的正确答案。为了确定COV的质量,我们定义了一个关系 通过比较相应的SPV来比较两个COV。让 和 分别表示两个COV,我们显示的部分顺序如下:
同样,我们可以 和 。如果 ,我们说 小于(大于)或等于 。如果 ,我们说 小于(大于) 。让 表示T的所有COV的集合, 。然后,我们可以推断出 是一个部分有序集,因此我们可以根据部分有序集对COV进行排序。我们可以推断出最大(最小)的COVs,没有COV比他们更大(更小)。
在部分有序集的基础上,我们可以构造一个COV图,其中节点是COV,边是两个COV之间的部分有序。例如,对于表.1中的所有COV,如果我们将 添加到 ,i中,图.4(a)说明了该图,其中有三个最大的COV, 、 和 。
图.4 (a).笔迹识别的部分有序集,以及(b).最大COV的关系
当 有不止一个最大的COVs,我们需要打破领带,选择最好的一个。为了解决这个问题,我们考虑工人的能力,并利用他们来选择最好的COV。为了量化工人的能力,我们需要在CST上评估工人的准确性。然后,我们识别出一个子任务训练集,其中集合中的子任务有足够的支持(即许多工作人员返回相同的任务结果),并将它们作为基本事实,以评估工作人员的准确性。接下来,我们正式定义子任务训练集。