1

I am working on a Pybossa based crowdsourcing platform. In the task presented I am stuck on the following code -

$(".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);
        })
    });

This code is for fetching the reply and storing it as answer

What if I have many questions in a task to which user replies, structured as follows -

Q.1 This is question 1?
Q.2 This is question 2?
Q.3 This is question 3?

And the user replies to these in separate text forms -

answer1

answer2

answer3

How do I store multiple answers, in a way that Pybossa can also take weighted average of each while calculating results (For example via Golden Tasks.) I would also like to know how Pybossa evaluates answers.

4

2 回答 2

3

我想做类似的事情。到目前为止,我的解决方案是构造一个 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 对结果进行加权平均。

于 2017-06-22T01:53:39.350 回答
2

ch4s 的答案是正确的。对于第二部分,您将需要使用 PYBOSSA 的webhooks 解决方案

当所有 task_runs 完成时,您将需要使用 webhook 来通知该微服务。然后,系统将下载、处理并生成结果。由于它使用 Enki 和 PYBOSSA 的 API,您可以做任何您想做的事情:

  • 为同一任务请求更多 task_runs(换句话说,通过 n_answers 字段增加任务冗余)。
  • 将包含结果的电子邮件发送给您想要的任何人。
  • 使用有关结果的信息更新您选择的社交网络。
  • 使用 PYBOSSA 的新网络推送通知通知您的用户新结果(我们在Sr. Alergeno中执行此操作
于 2017-06-26T15:43:50.773 回答