Как вы рандомизируете варианты ответов на CrowdFlower?

Мы используем CrowdFlower в тандеме с Amazon Mechanical Turk. Наши вопросы имеют одинаковый набор ответов, поэтому мы хотели бы рандомизировать порядок их появления, чтобы пользователи были бдительны и надеялись отговорить их от мошенничества.

Мы хотим иметь возможность вставить сценарий в документацию CML (CrowdFlower Markup Language), который можно применять ко всем вопросам. Мы думаем, что вставка JavaScript будет правильным решением. Любые советы будут приветствоваться.

2 ответа

Вы можете достичь этого с помощью небольшого фрагмента JavaScript. Все, что вам нужно сделать, это добавить атрибут class="rando" к cml:radios или же cml:checkboxes тег, который вы хотите рандомизировать, и поместите следующий код в часть javascript расширенного редактора (предполагается, что у вас есть менее 10 вариантов в вашем cml:radios или же cml:checkboxes тег):

$$('.cml_field.rando input').sort(function(a,b) {
   return Math.round(Math.random()*10) - 1 
}).each(function(o) { 
   o.getParent('.cml_row').inject(o.getParent('.cml_field')) 
})

Вы также можете использовать случайный жидкостный фильтр:

{% capture my_value %}{{ 3 | random }}{% endcapture %}
{% case my_value %}
{% when "1" %}
  One
{% when "2" %}
  Two
{% when "0" %}
  Zero
{% endcase %}
Другие вопросы по тегам