Pybossa:如何存储和评估答案
Pybossa : How are answers stored and evaluated
我正在开发基于 Pybossa 的众包平台。在提出的任务中,我坚持使用以下代码 -
$(".btn-submit").off('click').on('click', function(){
var answer = $("textarea#text").val();
$("#viewport_" + task.id).hide();
pybossa.saveTask(task.id, answer).done(function(data){
deferred.resolve();
$("#success").fadeIn();
setTimeout(function() { $("#success").fadeOut() }, 2000);
})
});
此代码用于获取回复并将其存储为 answer
如果我在用户回复的任务中有很多问题,结构如下 -
Q.1 This is question 1?
Q.2 This is question 2?
Q.3 This is question 3?
并且用户以单独的文本形式回复这些 -
answer1
answer2
answer3
我如何存储多个答案,Pybossa 也可以在计算结果时对每个答案进行加权平均(例如通过 Golden Tasks。)我还想了解 Pybossa 如何评估答案。
我想做类似的事情。到目前为止,我的解决方案是构造一个 Javascript 对象并将其保存到任务运行结果中。稍后我将解析它并提取我想要的字段。
我创建了一个 HTML 表单:
<form action = "">
<input placeholder="First Name" type="text" name="firstname">
<input placeholder="Last Name" type="text" name="lastname">
<select class="span2" name="gender">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
<button class="btn btn-submit">Submit!</button>
</form>
然后在pybossa.saveTask方法中构造一个answer对象:
var firstname = $("input[name='firstname']").val();
var lastname = $("input[name='lastname']").val();
var gender = $("select[name='gender']").val();
var answer = {
firstname: firstname,
lastname: lastname,
gender: gender
};
但这并没有回答您问题的第二部分,即如何使 PyBossa 对结果进行加权平均。
ch4s 的回答是正确的。对于第二部分,您将需要使用 webhooks solution of PYBOSSA.
您将需要使用 webhook,以便在所有 task_runs 完成后通知该微服务。然后,系统会下载它,处理它,并产生一个结果。因为它使用 Enki 和 PYBOSSA 的 API 你可以做任何你想做的事情:
- 为同一任务请求更多 task_runs(换句话说,通过 n_answers 字段增加任务冗余)。
- 将包含结果的电子邮件发送给您想要的任何人。
- 使用有关结果的信息更新您选择的社交网络。
- 使用 PYBOSSA 的新网络推送通知通知您的用户新结果(我们在 Sr. Alergeno
中执行此操作
我正在开发基于 Pybossa 的众包平台。在提出的任务中,我坚持使用以下代码 -
$(".btn-submit").off('click').on('click', function(){
var answer = $("textarea#text").val();
$("#viewport_" + task.id).hide();
pybossa.saveTask(task.id, answer).done(function(data){
deferred.resolve();
$("#success").fadeIn();
setTimeout(function() { $("#success").fadeOut() }, 2000);
})
});
此代码用于获取回复并将其存储为 answer
如果我在用户回复的任务中有很多问题,结构如下 -
Q.1 This is question 1?
Q.2 This is question 2?
Q.3 This is question 3?
并且用户以单独的文本形式回复这些 -
answer1
answer2
answer3
我如何存储多个答案,Pybossa 也可以在计算结果时对每个答案进行加权平均(例如通过 Golden Tasks。)我还想了解 Pybossa 如何评估答案。
我想做类似的事情。到目前为止,我的解决方案是构造一个 Javascript 对象并将其保存到任务运行结果中。稍后我将解析它并提取我想要的字段。
我创建了一个 HTML 表单:
<form action = "">
<input placeholder="First Name" type="text" name="firstname">
<input placeholder="Last Name" type="text" name="lastname">
<select class="span2" name="gender">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
<button class="btn btn-submit">Submit!</button>
</form>
然后在pybossa.saveTask方法中构造一个answer对象:
var firstname = $("input[name='firstname']").val();
var lastname = $("input[name='lastname']").val();
var gender = $("select[name='gender']").val();
var answer = {
firstname: firstname,
lastname: lastname,
gender: gender
};
但这并没有回答您问题的第二部分,即如何使 PyBossa 对结果进行加权平均。
ch4s 的回答是正确的。对于第二部分,您将需要使用 webhooks solution of PYBOSSA.
您将需要使用 webhook,以便在所有 task_runs 完成后通知该微服务。然后,系统会下载它,处理它,并产生一个结果。因为它使用 Enki 和 PYBOSSA 的 API 你可以做任何你想做的事情:
- 为同一任务请求更多 task_runs(换句话说,通过 n_answers 字段增加任务冗余)。
- 将包含结果的电子邮件发送给您想要的任何人。
- 使用有关结果的信息更新您选择的社交网络。
- 使用 PYBOSSA 的新网络推送通知通知您的用户新结果(我们在 Sr. Alergeno 中执行此操作