Prolificを使うときのポイント

はじめに

Prolificというクラウドソーシングサービスを使って参加者を集めて,ウェブ上で実験に参加してもらう,ということを何回かやりました。右も左もわからずでしたが,なんとなくこういうところに気をつけたほうがいいかな,とか,こういうのが便利,みたいなのを使っているうちに気づいたところがあるのでそのメモです。オンラインでデータ収集をすることに興味がある方にも参考になれば。

基本の流れ

  1. プロジェクト(Project)を作る
  2. 実験(Study)を作る
  3. 参加者グループの設定をする
  4. お金をぶち込む
  5. 実験(Study)を公開
  6. 終了した人をチェックして報酬を支払う

以上が基本的な流れです。個人的には,「3. 参加者グループの設定をする」は「2. 実験(Study)を作る」とは別で行うのが良いと思っています。2のページ内でも参加者のスクリーニングの設定はできるのですが,それは保存ができません。よって,前にデータを取ったときと同じ設定でデータを取りたいな,と思っても,またそのページを見に行って,設定をメモして,それと同じ設定をする,ということをしなくてはいけなくなります。例えばですが,「UK在住英語母語話者」みたいな特定の集団に対して募集をかける,ということが複数予想される場合には,先にその自分が想定する参加者集団の設定を”Participants”のページで作っておけば,何度も使いまわしができます(もちろん,設定の一部を変更することはあとからできますし,グループは複数作れます)。下記画像は,私が最近英語母語話者向けのデータ収集で使った設定です。

同じ参加者から何度もデータ収集をしたい

pre-postとか,あるいは複数の実験のデータを統合したりなどといった実験デザイン上の制約で,同じ参加者に複数回の実験に参加してもらいたいという場合がありますよね(3つの実験をやってもらいたいけど,一度に参加してもらうには時間が長すぎるので複数回に分けたい場合なども含みます)。普通にデータ収集をしたら,その設定に当てはまる人の中で早い者順で埋まっていくくので,同じ人が参加してくれるとは限りません。そういうときには,2つの方法があると紹介されています。

How do I set up a longitudinal / multi-part study?

How can I invite specific participants to my study?

1つ目が,参加者のスクリーニングで,過去に特定の実験に参加して,”approveされた人のみ”を含む設定にすることです。2つ目は,時間的に先行する実験に参加した人のIDリストを使って,カスタムでそのIDリストの人たちのみが次の実験に参加できるようにするものです(”custom allowlist”)。どちらも2つ目のリンク先で説明されているのでそちらを読んでみてください。私は2つ目の方法を用いました。理由はいくつかありますが,時間的な制約で1つ目の実験が終了する前に2つ目の実験を公開したかったというのがあります。このようにすると,2つ目の実験を公開したあとに1つ目の実験に参加して終了した人は,2つ目の実験公開時点では参加者プールの中には含まれません。しかし,”custom allowlist”は,あとからそのリストにIDを追加していくことができるのです。よって,例えばですが90/100人くらいが終わった時点で2つ目の実験をその90人をリストに入れた状態で公開し,残りの10人はあとからIDを追加する,ということができます。

この方法は,とくに2回目->3回目以降で力を発揮します。というのも,1回目のデータ収集は,母語話者にしろ第二言語学習者にしろ,設定した集団があまりにも特殊すぎなければ,かなりの人数が対象になるので,割とすんなりと枠が埋まります。一方で,2回目から3回目は,1回目に参加した人が対象になります。その人達が必ず2回目,3回目とすべての実験に参加してくれるとは限りませんので,枠が埋まるスピードがかなり遅いです。時間的に先行する実験枠がすべて埋まってから次の実験を公開する,とやるよりも,ある程度の人数が参加してくれたら次を公開する,というように流していくのがベターだと思いました。

以前の実験に参加した人を除外する

前節のパターンと逆で,同じような実験だから過去に自分の実験に参加したことがある人には募集がいかないようにしたいケースです。これは,前節とまったく逆のパターンをすればよいです。スクリーニング設定で”Participation on Prolific”というカテゴリがあり,そこに”Exclude participants from other studies”というサブカテゴリがあるので,それでどの実験に参加している人を除外するかを選択することができます。もちろん,custom allowlistと同じ要領で,”custom blocklist”というのもあるので,任意のIDを参加不可能にすることもできます。

Attention Check

ちゃんとやっているかを確認する手段を用意して,それに基づいてリジェクトしないといけません。なんかちゃんとやってなさそう,くらいだと根拠としては弱いです。Prolificでは,下記のような基準を出しています。

  • They should check whether a participant has paid attention to the question, not so much to the instructions above it
  • Questions must not assume prior knowledge
  • Participants must be explicitly instructed to complete a task in a certain way (e.g. ‘click ‘Strongly disagree’ for this question’), rather than leaving room for mis-interpretation (e.g. ‘Prolific is a clothing brand. Do you agree?’)
  • They must be easy to read (i.e., should not use small font, or have reduced visibility)
  • They cannot rely on memory recall
  • If your study is 5 minutes or longer, then participants must fail at least two checks to be rejected, any shorter studies can use a single failed check to reject
詳しくはこちら->https://researcher-help.prolific.com/hc/en-gb/articles/360009223553-Prolific-s-Attention-and-Comprehension-Check-Policy#h_01FS4DYYVP24GDYK7D0A8PSYF8

上の引用している基準が掲載されているページには,どういうのがいいIMC(Instructional Manipulation Checks)の例でどういうのが良くない例なのか,というのも載ってます。

個人的なポイントは一番目と最後のブレットポイントかなと思います。どのように質問に答えるのか,という指示よりも質問それ自体に注意を払っているのかをチェックすることというのが一番目ですね。最後のやつは,5分以上かかるなら2つIMCを用意しないと,リジェクトできない(参加者に報酬を払うことを拒否できない)ということになります。

報酬について

すべてポンド換算で,小数点第二位まで指定できます(e.g., 4.51, 6.89)。だいたいどのくらいの時間がかかるかを見積もって,その時間に対していくら,という設定をします。例えば実験が30分だとすると,

  • £3.8 – £4.4(7.60 – 8.80/hr) -> Fair
  • £4.5 – £5.2(9.00 – 10.40/hr)-> Good
  • £5.3 – £5.9(10.60 – 11.80/hr)-> Great
  • £6.0 – (12.00/hr)-> 最高

みたいな感じになっているようです。これは参加者に支払う金額です。これ以外にも,Service feeが約3割かかります。例えば,50人に対して£6の報酬を設定すると,報酬が£300,Service feeが£100です。

実験を行うプラットフォーム

普通のアンケート調査のようなものであれば,Googleフォーム等のURLを使えば問題ないでしょう。私はGorilla Experiment Builderを使ったのと,jsPsychで作ったプログラムをGoogleのFirebaseと連携させてデータ収集をしました。前者のGorillaはGUIが基本で,それでも結構複雑な実験を作ることができますし,実験プログラムを作ってそのデータを保存するところもすべてシステム上でできるので,安心感もありますね。もちろん,利用するためにお金はかかるのですが(こちらの料金設定等はちょっと自分では払ってないのでわからないです)。

後者のjsPsychとFirebaseの連携は,実質無料です。Firebaseで有料枠にいくのはかなりの量のデータを短期間に動かさないといけないと思うので,私が利用する分には特に有料にしないといけないということにはなりませんでした。使い方等はウェブ上に日本語で書かれたものも含めてかなりリソースがあるので,それを参考にしました。ただ,ChatGPTやCopilotに手伝ってもらえるとはいえ自分でコードを書いたり,データベースの設定をしたり,と自分でやる部分がかなり多いので,少しハードルは高いかもしれません。私も結局数年間ずっと取り組もうと思って挫折をしまくり,この春休みで鬼のように取り組んでようやく自分がやりたいと思う実験(プライミング付き語彙性判断課題,自己ペース読み課題,語数判断課題)についてはプログラムを書いて保存してという基本的なところはできるようになりました。もちろん,細かいところは改善の余地があるのですが,まあ実際にプログラムが動いて,そのデータが保存される,という根本的なところはなんとか,という感じですね。たぶんいつかウェブにソース公開すると思います。

データベースに保存がうまくできているのかとか,プログラムが上手く動いているのかといった確認が必要なのは,GorillaでもjsPsych×Firebaseのどちらのやり方でも一緒ですね。いずれの方法でも

  1. ProlificのIDを何らかの形で取得
  2. “Completion Code”(これはProlificのStudyページで自動生成されます)を実験の最後に提示されるようにして,それをProlific上で提出させる

という2つによって,実験に参加したことが確認されるようになっています。

おわりに

この記事では,Prolificで参加者を集めてオンラインでデータ収集をする,という話について書きました。後半の実験を行う2つのプラットフォームの話やProlificを実際に使ってみてのあれこれのエピソードなんかはまた別の記事にしたいと思います。

もし,これってどうなんだろう?と気になったことがあれば,下記のリンク先から質問していただければ,私が答えられることであればお答えします。

https://querie.me/user/tam07pb915

なにをゆう たむらゆう。

おしまい。

コメントを残す