Как вы рандомизируете варианты ответов на 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 %}