一种基于贝叶斯的开放性答案决策方法与流程

文档序号:15560659发布日期:2018-09-29 02:10阅读:145来源:国知局

本发明涉及一种基于贝叶斯的开放性答案决策方法,属于计算机程序技术领域。



背景技术:

现实生活中往往存在一些计算机难以处理或者处理效果不佳的问题,如给图像打标签、衡量两个记录是不是同一个实体、评价一个商品等。这类机器难以处理的问题可以借助于众包来完成。众包直接将任务发布到互联网上,通过集合互联网上的未知大众来解决传统计算机单独难以处理的问题。

由于工人来自不同的地域,年龄和文化背景不尽相同,回答问题的质量难以保证。众包平台的任务发布者希望通过冗余的方式得到一个更可信的答案,因此会将任务发布给多个工人进行回答,根据多个工人的答案推测出最终的结果。众包的一个重要技术挑战是在众包工人可能给出错误答案的情况下,如何进行高质量的答案决策。此外,众包平台上的任务类型是多种多样的,有填空题、选择题(分单选题和多选题)、选择和填空的混合等类型,目前众包技术中的答案决策算法主要是基于单选题类型提出的,不能兼容多种任务类型,尤其无法处理包含填空等开放性答案的任务类型。

近年来,国内外学者对答案的决策算法进行了大量的研究。fenga.等人于2011年提出了mv方法,它考虑每个候选答案的工人个数,主要思想是少数服从多数,但是众包中不同工人的经验水平是不同的,mv方法没有考虑工人质量,因此它决策出来的答案不可靠。xuanliu等人于2012年提出基于贝叶斯的决策模型,它将工人的准确性考虑到答案决策过程中,根据工人回答问题的准确性以及答案,计算每个候选答案的后验概率分布,后验概率最大的答案作为决策答案,该方法对工人质量采用的是固定策略,实质上工人的质量应该随着工人回答问题个数的变化而动态改变。amazonmechanicalturk(amt)是目前国内外应用比较广泛的平台,它根据工人质量以及工人的答案,利用expectationmaximization(em)算法不断迭代更新工人质量和答案后验概率分布,直至后验概率分布收敛为止,得到最终决策的答案,由于em算法需要大量的迭代,运行时间较长。jianhongfeng等人于2014年提出一个可以在保证决策质量的同时减少运行时间的inquire方法,该方法对每个工人建立了一个质量模型,用于计算工人回答问题的准确性。inquire方法的主要思想是:根据第一个工人的准确性以及答案得到候选答案的后验概率分布,将该后验概率作为下一个工人回答该问题的先验概率,进一步计算答案的后验概率,直至回答这个问题的工人个数达到要求为止;在得到最终的后验概率分布后,更新所有工人的质量模型矩阵。jianhongfeng等人通过实验比较了各种方法,结果显示:mv方法的准确性最低,em算法的运行时间最长,inquire方法的准确率与em算法的准确率大致相同,但运行时间减少了很多。此外,在现有的文献中,多选题是通过转换成多个单选题进行决策的,至于填空题,则简单地将与大多数答案都相似的答案作为决策答案。

目前众包答案决策算法存在的问题如下:

(1)工人回答问题的准确性是不断变化的,以往对工人建立的质量模型矩阵大小是固定的,仅适用于候选答案固定的情况。

(2)目前的答案决策方法基于单一任务类型提出,缺少能兼容多种任务类型,并能处理开放性答案的决策方法,且决策的准确性和效率有待提高。



技术实现要素:

为了克服现有技术的不足,本发明提供一种基于贝叶斯的开放性答案决策方法。

本发明需要解决的技术问题是:

(1)工人的经验水平是在变化的,在具有开放性答案的情况下,如何准确捕捉工人的质量,提高答案决策的可信度。

(2)如何使决策算法兼容多种任务类型,并且保证算法决策的准确性。

(3)当候选答案个数较多的情况下,如何优化算法,保证算法的执行效率。

近年来,随着众包技术的发展,人们倾向于将传统机器方法难以处理的问题以任务的形式发布到互联网上,集合互联网上未知的大众来处理这些任务。但众包工人的经验水平是参次不齐的,众包任务的类型也是多样的,给高质量的答案决策带来了诸多的挑战。

基于众包中多任务类型的答案决策,本发明的目的是:提出一种可以兼容多种任务类型,并能处理开放性答案的决策算法,该算法同时具有较高的决策准确性和执行效率。

一种基于贝叶斯的开放性答案决策方法,含有以下步骤:

利用工人以往表现,建立工人质量模型;

先验概率预处理步骤:通过对填空内容的预处理,当填空内容的加入使得候选答案个数增加后,需要对所有候选答案的先验概率重新计算,保障答案决策更加准确;

贝叶斯决策步骤:对多选题的答案决策算法进行优化,给出时间复杂度较低的近似算法;收到工人的答案及质量后,先对问题候选答案及先验概率进行预处理,得到处理结果后根据工人对问题的回答情况,建立贝叶斯概率模型,得出问题候选答案的后验概率分布;

更新工人质量模型步骤:工人质量模型随工人回答问题数量的变化而动态更新,建立更新工人质量模型,保障工人的质量在答案决策过程中是可信的。

本发明的优点是:

1)提出可以统一处理多种众包任务类型的答案决策框架,任务类型包括填空题、单选题、多选题以及选择和填空混合的复杂任务类型。

2)提出对众包任务中包含开放性答案的填空内容进行预处理,将填空内容扩展为候选答案。在扩展过程中,考虑填空内容之间的相似性,将相似度较高的一组答案当做相同的答案,根据预先给出的top-k个答案的先验概率以及扩展答案的情况,更新各个候选答案的先验知识,提高了最终答案决策的准确度。

3)多选题的答案决策过程是一个np-hard问题,本发明通过剪枝策略优化算法,减少了需要计算后验概率值的候选答案个数,使得算法可以在多项式时间内完成,提高了算法的运行效率。

本发明提出一种可以兼容多种任务类型,并能处理开放性答案的决策算法,该算法同时具有较高的决策准确性和执行效率。

首先,根据工人以往表现建立基于工人累积贡献的质量模型,该模型与候选答案的个数无关,并随着工人回答问题数量的变化而动态更新,保障工人的质量在答案决策过程中是可信的。其次,对于开放性答案,利用对短文本相似度计算可靠性较高的jaro-winklerdistance算法计算填空内容间的相似度,以此来扩展问题候选答案的个数,使得决策算法可以统一处理多种任务类型。本发明将答案间的相似性考虑到决策中,根据预先给出的top-k个答案的先验概率以及扩展答案的情况,更新各个候选答案的先验知识,提高了答案决策的准确性。最后,本发明通过剪枝策略优化算法,减少了需要计算后验概率值的候选答案个数,使得算法可以在多项式时间内完成,提高了算法的运行效率。

附图说明

当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,如图其中:

图1为本发明的处理流程图。

图2为本发明的填空题的预处理过程图。

图3为本发明的决策为单选示意图。

图4为本发明的决策为多选示意图。

图5为本发明的多选题预处理过程图。

图6为本发明的先验概率计算流程图。

图7为本发明的基于贝叶斯的开放性答案决策流程图。

图8为本发明的多选题决策优化算法流程图。

下面结合附图和实施例对本发明进一步说明。

具体实施方式

显然,本领域技术人员基于本发明的宗旨所做的许多修改和变化属于本发明的保护范围。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当称元件、组件被“连接”到另一元件、组件时,它可以直接连接到其他元件或者组件,或者也可以存在中间元件或者组件。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与所属领域中的普通技术人员的一般理解相同的意义。

术语定义:

(1)众包(crowdsourcing)是一种公开面向互联网大众的分布式的问题解决机制,它通过整合计算机和互联网上未知的大众来完成计算机单独难以完成的任务。

(2)众包平台用于完成众包任务的发布和答案的收集。

(3)众包答案决策:在众包中,一个任务会分配给多个工人作答,答案决策也称答案整合(answeraggregation),指从多个工人提供的答案中推断任务结果的过程。

实施例1:

如图1所示,一种基于贝叶斯的开放性答案决策方法,含有以下步骤:

步骤(1)、建立工人质量模型:获取工人准确性:输入工人答案以及工人质量模型,获取工人回答问题的准确性。

步骤(2)、扩展候选答案:根据接收的工人答案情况,对候选答案进行扩展。

步骤(3)、先验概率预处理:根据扩展的结果以及任务类型(填空/单选/多选/混合),计算答案的先验概率。

步骤(4)、贝叶斯答案决策:将工人答案、先验概率及工人准确性作为贝叶斯决策算法的输入,计算所有候选答案的后验概率分布。

步骤(5)、更新工人质量模型:对比工人提供的答案及决策得到的答案,更新工人质量模型。

步骤(6)、返回步骤1替代工人质量模型。

步骤(1)的建立工人质量模型,含有以下步骤:

工人的质量往往随工人回答问题个数的增加而动态变化,因此本发明建立工人质量模型,记录工人以往回答问题的累积贡献情况,以此来获得工人的准确性。以往对工人建立的质量模型中,只考虑候选答案个数固定的任务类型,不适用于填空等具有开放答案的任务类型。

步骤(2)的扩展候选答案,含有以下步骤:

1、对候选答案进行扩展步骤

由于任务类型的多样性,本发明需要对答案进行预处理。对于包含填空等开放性答案的任务,首先根据填空内容的相似情况对候选答案进行扩展,增加候选答案的个数,保证决策算法可以综合处理多种任务类型。

本发明将详细介绍候选答案的扩展方案,并根据扩展情况对先验概率进行处理。

定义1:s1、s2分别为两个工人填写的任务内容,s1与s2的相似度,记为γs1,s2,可以通过公式(1)计算得到。

其中,s1、s2为工人填写的内容,m为s1与s2中匹配的字符数,t是经换位后匹配的字符的数目,l是前缀部分完全匹配的长度,p是用来调整前缀匹配的权值。

考虑到相似度较大的一组答案很可能为相同的答案,因此把答案间的相互影响考虑到答案决策过程中。

填空题预处理流程如图2所示。

步骤1、输入工人答案;

步骤2、计算任意两个填空答案间的相似度;

步骤3、i=0,j=0;

步骤4、判断i是否等于填空答案个数,若是,则跳至步骤7,否则跳至步骤5;

步骤5、判断j是否小于填写答案个数,若是,则跳至步骤6,否则i=i+1,跳至步骤4;

步骤6、j=j+1,若填写的答案不在扩展答案集中,则将答案加入扩展答案集,跳至步骤5,否则跳至步骤5;

步骤7、输出扩展答案;

通过jaro–winklerdistance的方法,利用递归的思想计算工人填写的答案是否相同,若两个答案的相似度值为1,则扩展为一个候选答案,同时记录选择各个扩展项的工人个数,否则,扩展出多个选项,并记录各个选项间的相似度的值。

多选题步骤:

对于多选题的答案决策,以往研究者们将一个多选问题分解成多个单选问题,每个单选题都是一个yes/no问题,将所有单选题的决策答案的组合结果作为最终答案。该方法认为工人选择每个答案是相互独立的,决策时将工人选择的答案单独决策,没有考虑答案间可能存在的关联关系,难免得出相互矛盾的结果。为解决该问题,本发明尝试从整体的角度进行答案聚合。根据答案决策结果的不同,多选题存在以下两种情形,图中红色部分表示为工人对所选答案为真实答案的确定程度。

(1)决策为单选。工人认为多个候选答案中的任何一个都有可能是真实答案,也可以选择填写候选答案中没有的答案,最终只能决策出一个答案,如图3所示。

(2)决策为多选。工人从候选答案中选择多个答案作为问题的答案,也可以选择填写候选答案中没有的答案,最终决策出多个答案,如图4所示。

决策为单选时,根据工人质量模型,可以得到工人回答问题正确的概率,工人可以认为多个答案都有可能是真实答案,但最终决策的答案为候选答案中的一个,所以工人选择的多个答案间是相互独立的。预处理过程的主要思想就是把每个工人回答多选任务的形式扩展成多个工人回答单选任务的形式,并得到每个工人回答单选答案正确的概率。决策结果为多选时,本发明将答案间的关联关系考虑进去,把候选答案的组合情况看成一个整体,工人选择的多个答案是一个整体,工人认为正确的选项是这个整体,决策的答案为候选答案组合中后验概率最大的一个。如果候选答案为n个,则需要计算2n-1个组合答案的后验概率分布情况。

多选题预处理流程如图5所示。

步骤1、输入工人答案和候选答案的先验概率;

步骤2、对工人填写答案进行预处理;

步骤3、判断答案决策是否为单选,若是,则跳至步骤4,否则跳至步骤5;

步骤4、对工人多选答案进行预处理,将一个工人多选问题处理为多个工人单选问题,得到工人单选准确性,计算工人选择的每个选项的准确度;

步骤5、递归思想计算所有候选答案的这情况,计算候选答案与填写答案的所有组合情况。

步骤(3)的先验概率预处理,含有以下步骤:

本发明通过对填空内容的预处理,使候选答案的个数发生了变化。本发明预先知道机器算法给出的可选答案的先验知识,当填空内容的加入使得候选答案个数增加后,需要对所有候选答案的先验概率重新计算,保障答案决策更加准确。由于决策的答案是单选还是多选的不同,导致候选答案个数不同,因此本发明采取的预处理策略也不相同,本发明给出两种不同决策类型的先验概率预处理的方法。

(1)决策为单选:这种情况包括单选题以及工人选择多个选项但决策为单选这两种任务类型。其先验概率的计算是按已有的候选答案集的个数与扩展出的候选答案集的个数的比例分配先验概率值,已有的候选答案集topn中的答案按机器给出的先验知识进行分配,扩展出的候选答案集exn中的答案根据选择每个答案的工人个数进行分配。

定义2:已知工人的质量以及选择的答案情况,可得到问题i的所有答案的先验概率分布,记为{p(ti=r),r∈ni}。

其中,top(r)为机器算法给出的候选答案r的先验知识,mr为选择扩展选项r的工人数,h为机器算法给出的候选答案个数,m为扩展的候选答案个数,ansfill(qi)表示为问题i中回答为填空内容的工人集合,topn为机器算法给出的候选答案集合,exn为扩展答案集合。

(2)决策为多选:答案发生的概率与工人是否选择了答案以及回答问题的工人质量有着密切关系,一般情况下,选择一个答案的工人个数越多且工人质量越高,这个答案是真实答案的可能性便越大。因此,根据工人是否选择了这个答案进行分组,得到两个集合,其中ai表示为所有工人回答问题i的答案集合,表示为未被工人选择的候选答案的集合。工人平均质量的不同,对集合中答案的先验概率有着不同的影响。当工人的平均质量大于等于0.5时,认为工人对ai集合的先验概率有提升的作用,工人选择的答案的先验概率应高于未被选择的答案,在选择的答案集合中,本发明根据选择每个答案的工人个数的比例进行答案先验概率的计算,认为选择一个答案的工人个数越多,其先验概率越大;当工人的平均质量小于0.5时,工人选择的答案的先验概率应低于未选择的答案的部分。

假设ρ表示为集合ai中所有答案的先验概率之和,则(1-ρ)为中所有答案的先验概率之和。由于只知道机器算法给出的几个候选答案的先验知识,而组合答案的先验概率知识未知,因此,本发明需要对2n-1个组合答案先验概率重新计算。

先验概率计算如公式(3)所示,其中a、b是两个1*|ni|的向量,ni表示为问题i的所有组合答案的集合,ai表示为所有工人回答问题i的答案集合,表示为未被工人选择的候选答案的集合,ρ*a表示为集合ai中的答案的先验概率分布情况,(1-ρ)*b表示为集合中的答案的先验概率分布情况。

{p(ti=r),r∈ni}=ρ*a+(1-ρ)*b(3)

通过选择集合ai中每个答案的工人个数与回答问题工人总数的比值对ρ进行分配,因此向量a表示为选择集合ai中每个答案的工人个数与回答问题工人总数的比值情况。当候选答案不属于集合ai中的元素时,其对应值为0。a中元素的计算如公式(4)所示,其中ej表示选择对应答案的工人个数,ans(qi)表示回答问题i的工人集合,有

其中ej表示选择对应答案的工人个数,ans(qi)表示回答问题i的工人集合,ni表示为问题i的所有组合答案的集合,ai表示为所有工人回答问题i的答案集合,表示为未被工人选择的候选答案的集合。

同理,向量b表示为集合中的答案在(1-ρ)上的分配情况,因此当候选答案不属于集合中的元素时,其对应值为0。其中b中的元素计算公式如(5)所示,其中ai表示为所有工人回答问题i的答案集合,表示为未被工人选择的候选答案的集合,ni表示为问题i的所有组合答案的集合,表示为集合中机器算法给出的候选答案个数,表示为集合中机器算法给出的候选答案的集合,topn为机器算法给出的所有候选答案的集合,topj表示为机器算法给出的与b[j]相对应答案的原始先验知识,则有:

ρ表示为工人选择的答案集的先验概率和,(1-ρ)表示为工人未被选择的答案集的先验概率和。其中ρ的计算是根据回答问题的工人的质量给出的,当工人平均质量大于0.5时,则认为工人的选择对答案集ai有促进作用。其计算公式如(6)所示。

其中表示为回答问题i的工人的平均质量,ave(qi)/|ai|表示工人回答问题对所选的候选答案准确度的平均提升情况,工人的平均准确度小于1。ai表示为所有工人回答问题i的答案集合,ni表示为问题i的所有组合答案的集合。

先验概率处理流程如图6所示。

步骤1、输入工人答案;

步骤2、判断决策答案情况,若答案决策为单选,则跳至步骤3,若为多选,则跳至步骤4;

步骤3、对是工人填写的答案和机器算法给出的答案进行先验概率预处理,给出不同的计算过程,跳至步骤8;

步骤4、计算所有工人平均准确度,若平均准确度大于0.5,则跳至步骤5,否则跳至步骤6;

步骤5、根据平均准确度,计算工人答案集的先验概率和,跳至步骤7;

步骤6、根据平均准确度,计算工人未选择的答案集的先验概率和;

步骤7、根据候选答案是否在工人选择的答案集中,计算答案的先验概率;根据工人答案及工人答案集的先验概率和计算先验概率;或者根据机器算法给出的概率值及未选的先验概率和计算先验概率;

步骤8、得出候选答案先验概率;输出先验概率分布。

步骤(4)的贝叶斯答案决策,含有以下步骤:

收到工人的答案及质量后,先对问题候选答案及先验概率进行预处理,得到处理结果后根据工人对问题的回答情况,建立贝叶斯概率模型,如公式(7)所示,得出问题候选答案的后验概率分布。其中di是所有工人的答案,ti表示问题的真实答案。

发布者往往采用冗余的方法处理问题,一个问题会分配给多个工人去回答,而工人回答问题是相互独立的,因此得到公式(8)、(9),其中aik为工人k对问题i的答案。

其中di是所有工人答案的集合,ti表示问题的真实答案。p(ti=r|di)表示为在工人答案集为di的情况下,真实答案为r的概率,p(ti=r)为问题i的答案为r的先验概率。aik表示为工人k对问题i的答案,g(aik,r)为在真实答案为r的条件下,工人答案为aik的条件概率。

可以看出,公式(8)、(9)中一个重要的因素就是g函数的值,g是一个分段函数,g的函数值表示为在真实答案为r的条件下,工人答案为aik的条件概率,由于问题是开放性的,工人可以选择填写答案,本发明将工人填写答案间的相互影响考虑到g函数中,当答案间相似度较高时,本发明会认为它们是一组相似答案。

定义3:g函数,已知问题i的真实答案为r的条件下,工人k的答案为aik的条件概率,记为g(aik,r),计算方式如公式(10)所示。

其中

ar={aik,r},a={aik},λ为给定的阈值,当两个填空间的相似度大于这个阈值时,则会认为这两个答案很有可能为相同的答案,βk为工人回答问题正确的概率,p(ti=x)表示候选答案x的先验概率,aik表示为工人k对问题i的答案,exn为扩展答案的集合,为工人答案与真实答案间的相似度。

答案决策流程如图7所示。

步骤1、输入工人答案集、工人质量以及候选答案先验概率;

步骤2、判断工人答案与问题答案是否相同,若相同,则跳至步骤3,否则,跳至步骤4;

步骤3、根据工人准确性,计算工人回答问题正确的概率,跳至步骤7;

步骤4、判断答案是否为机器算法给出的候选答案,若是,则跳至步骤5,否则跳至步骤6;

步骤5、根据工人的准确性及问题候选答案的先验概率计算回答问题正确的概率,跳至步骤7;

步骤6、计算与其他填空答案间的相似度,若相似度大于0.8,则根据工人准确度及相似度计算回答问题正确的概率,否则跳至步骤5;

步骤7、输出问题候选答案的后验概率分布。

答案决策算法的优化策略步骤:

多选题决策需要根据工人选择情况,计算所有候选答案组合的后验概率分布,穷举所有组合的时间复杂度是o(2n),该问题是np-hard问题,本发明给出相关的证明。首先证明多选题答案决策过程与子集和问题具有一样的困难度,由于子集和问题是一个典型的np-complete问题,而多选题答案决策过程不是一个np问题,因此,多选题答案决策过程是一个np-hard问题。

定理1:给定候选答案个数n和工人个数k,对多选问题采用基于贝叶斯的开放性答案决策算法的决策过程是一个np-hard问题。

证明:子集和问题如下:给定一个整数集合s和一个整数s,集合中的元素均不重复,判断是否存在子集使得子集和与整数s相等。其目标函数如公式(11)所示:

e=f-1(s)(11)

其中e表示为整数集合s中元素的组合情况的一种,s为任意给定的整数值。

如公式(12)所示,其中f(e)是通过遍历集合e中所有元素值求和得到的,通过公式(11)可以得到当子集和为s时的子集集合e,本发明的目标是,求出子集和等于给定整数s的子集集合e。

f(e)=∑e∈ee(12)

本发明通过对比多选题决策与子集和问题求解的过程,来证明多选题决策是一个np-hard问题。集合s为候选答案组成的集合,本发明要遍历集合s的所有子集,得到所有子集中后验概率最大的子集。用p(e)表示某一子集e发生的概率,下列公式(13)为多选题答案决策的目标函数。

final(e)=argmaxe(p(e))(13)

其中p(e)是通过遍历回答该问题的所有工人的答案得到的结果,如下公式(14)所示,其中n为所有组合答案的个数,n=2n-1。

其中aik表示为工人k对问题i的答案,e为候选答案的组合情况中的一种,di表示为工人的答案集,n为所有组合答案的个数,g(aik,e)表示为已知问题i的真实答案为答案组合e的条件下,工人k的答案为aik的条件概率。

子集和问题枚举2n-1个子集,输出子集和等于给定的值s的子集情况,每个子集求和最多需要遍历n个数,则子集和的时间复杂度为o(n2n)。如公式(13)所示,令s=p(e),本发明需要判断此时的s是不是已得到的后验概率中最大的一个。多选题决策问题需要遍历输出2n-1个子集,并从中得到后验概率最大的子集,子集发生的后验概率需要遍历所有工人的答案,其时间复杂度为o(k2n)。多选题答案决策过程与子集和问题具有同样的困难度,但它不是一个np问题,它需要求解2n-1个子集中后验概率最大的一个,时间复杂度为o(k2n),因此该答案决策过程是一个np-hard问题。

基于剪枝策略的优化算法步骤:

多选题的决策需要计算所有组合答案的后验概率分布,当候选答案个数很大时,求2n-1个组合的答案决策问题是个np-hard问题,本发明给出优化措施,降低算法的时间复杂度,使其在多项式时间内能够解决。本发明采用贝叶斯模型进行答案决策,由于p(di)为已知条件,其中r表示问题i的真实答案,其取值范围为所有可能的组合答案,根据贝叶斯公式得到公式(15)。

p(ti=r|di)∝p(di|ti=r)*p(ti=r)(15)

其中di表示为工人的答案集,p(ti=r|di)表示为在工人答案集为di的情况下,真实答案为r的概率,p(ti=r)表示为问题i的答案为r的先验概率,p(di|ti=r)为在已知答案为r的情况下,问题i的答案集为di的条件概率。

由于多选题候选选项的后验概率分布往往与工人的选项以及候选选项的先验概率分布相关联,因此,本发明按照下列规则求解答案,步骤如下:

步骤1)、计算与工人选项相同的候选答案的p(di|ti=r)*p(ti=r)值。

步骤2)、如若候选答案中包含填空扩展的内容,考虑将答案间相似性放入到决策过程中,还需计算候选选项中与工人选择答案相似的答案,该部分答案只是填空扩展的内容与工人选择答案相似,其他内容完全匹配,计算该部分答案的p(di|ti=r)*p(ti=r)值。

步骤3)、仅剩下没有被工人选择且与工人选择答案并不相似的候选答案,其后验概率的大小与先验概率的大小成正比,因此本发明只需对剩余的候选答案的先验概率进行排序,计算先验概率最大的组合的p(di|ti=r)*p(ti=r)值即可做出决策。

具体优化过程如图8所示,

步骤1、输入工人答案集、质量以及候选答案先验概率;

步骤2、i=0;

步骤3、判断i是否小于候选答案个数,若是,则跳至步骤4,否则跳至步骤5;

步骤4、判断候选答案与工人答案是否相同,若相同,则加入答案集,i=i+1,跳至步骤3,否则跳至步骤8;

步骤5、max=0,j=0;

步骤6、判断j是否小于候选答案中未被加入到答案集中答案的个数,若是,跳至步骤7,否则,将max对应的答案加入答案集,跳至步骤9;

步骤7、判断j对应答案的先验概率是否大于max,若是,max=prio,j=j+1,跳至步骤6,否则,j=j+1,跳至步骤6;

步骤8、i=i+1,判断候选答案与工人答案是否为相似答案,若是,则将工人答案加入答案集,跳至步骤3,否则,跳至步骤3;

步骤9、输出答案集;

利用原始决策算法求解答案时,由于多选题决策问题需要遍历输出2n-1个子集,并从中得到后验概率最大的子集,子集发生的后验概率需要遍历所有工人的答案,其时间复杂度为o(k2n),该答案决策过程是一个np-hard问题。利用优化算法求解决策答案时,假设工人填写的答案有m个,纵使这m个答案均为相似的答案,算法时间复杂度为o(km2)。通过减少需要计算的候选答案个数,降低了算法运行的时间。

步骤(5)的更新工人质量模型,含有以下步骤:

利用步骤(1)建立的工人质量模型,不受问题候选答案个数的影响,同时根据工人回答问题的情况,动态更新累积贡献的值,以获取更可靠的工人准确性。

工人质量模型的定义如下:

定义a:工人质量模型是个二元组,表示工人k以往回答问题的累积贡献情况,记为wmk。

其中元素true(q)表示工人回答问题正确的个数,all(q)表示为工人回答问题的总个数。

wmk=(true(q),all(q))(16)

定义b:wmk为工人k以往回答问题的累积贡献情况,工人k回答问题的准确度βk由公式(17)计算得到。

为了准确地评估工人的质量,每当工人完成一个问题,需要动态更新工人的质量,因此工人的累积贡献模型是动态变化的。

如公式(18)、(19)所示,当回答问题的工人个数满足要求之后,本发明利用答案决策算法决策出问题的最终答案,并根据决策的答案与工人答案的分布情况,动态更新每个工人的累积贡献模型,当工人答案与决策答案相同时,工人累积正确个数加1,回答问题的总数加1。

all(q)=all(q)+1

(19)

其中元素true(q)表示工人回答问题正确的个数,all(q)表示为工人回答的所有问题的个数,aik为工人k对问题i的答案,为问题i的决策答案。

如上所述,对本发明的实施例进行了详细地说明,但是只要实质上没有脱离本发明的发明点及效果可以有很多的变形,这对本领域的技术人员来说是显而易见的。因此,这样的变形例也全部包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1