日本にも研究に使いやすいクラウドソーシングが欲しい

こんにちは。今日はゆる〜い,感じでオンライン調査・実験で使うクラウドソーシングについて書いてみたいと思います。とは言っても,実際の使い方の解説とか,役に立つ記事じゃなくて,使ってて「なんかなぁ〜」と感じたモヤモヤを,ただ吐き出すだけです。同じように感じた方がいらっしゃいましたら,ウンウンとうなずいていただければ嬉しいです。もし,「こうすればいいんじゃよ」なんて解決策を教えていただいた方がいらっしゃいましたら泣いて喜びます。

さて,研究にクラウドソーシングを使うようになって,かれこれ6年くらいが経つわけですが(割と初期のころから使っていて,こんなこととか,こんなこととかやってます),

研究にクラウドソーシング使ってるといつも思うんですよ

「ワーカーの皆さん,ご協力ありがとうございました。でも,クラウドソーシングの発注〜支払までの一連のフロー,もう少し使いやすくなりませんかね?」

とはいっても,私,ほとんど一社しか使ってないので,他は違うのでしょうか?

まあ,発注は良いです。ここばかりは,最初に色々と設定する項目があるので自動化は難しいし,慣れてしまえばどうってことはありません。

問題は,

  1. 作業の承認にまつわる諸々
  2. ワーカーの参加の制限や,過去の参加履歴の把握

が凄まじく面倒くさい,という所にあります。

作業の承認にまつわる諸々のめんどくささ

外部のツール (Qualtrics や SurveyMonkey などの調査サイトや,Pavlovia, Inquisit Web などの実験サイト) で調査・実験に参加していただいた場合,最後に参加確認のためのコードを出力することが多いと思いますが(というか,それ以外で参加を確認する方法が現状ない),それをクラウドソーシングの入力欄に入力してもらって,コードが正しければ作業を承認して報酬を払う,という手続きになることが多いように思います。

ここで,確認コードの作り方として,一人一人違うコードを乱数で作成する,または,全員同じコードを発行するという方法があります。後者の場合は,承認作業はそこまで面倒ではないものの,コードが流出すると実際には調査・実験に参加してない人が報酬を受け取ってしまい,参加したにもかかわらず報酬を受け取れない人が増えてしまう可能性があります。前者は,(重複の可能性が限りなくゼロに近いコードを作れば)参加していない人が報酬を受け取るという問題は回避できますが,コードを一つ一つ確認しなければならないので,作業の承認が凄まじく面倒くさいというところがあります。

あと,意思決定の研究なんかをしていると,ゲームの結果に応じて報酬額を変えたいといったことを考えるわけですが,今の日本のクラウドソーシングだと,そういったことに対応する機能が(多分)ないのが現状です。以前,報酬によるインセンティブをつけてきっちりと取り組んでもらいたい,という実験を行ったときは,実際のパフォーマンスがどうだったかは問わないことにして,追加報酬分にあたるタスクを別に作り,当初実験に参加したワーカー全員に,追加報酬分にあたるタスクへの招待を送り,全員同じある特定のコードを入力してもらってそこは無条件に承認するという方法をとったことがありました。この辺も,何とかならんかなあ,というポイントです。

この辺りのことについて,Amazon Mechanical Turk は,MTurk API というインターフェースが用意されていて,例えば TurkPrime というサービスでは,この API を使って MTurk の学術利用をやりやすくしています (TurkPrime は,今は CloudResearch へと変わっています)。また,そもそもが学術研究用に作られた Prolific は,その辺の機能がデフォルトで色々と用意されています。Prolific でのタスク承認は,先方からタスク完了を簡単に判別できる終了ページの URL が提供されるので,調査・実験の終了ページをその URL に設定してやれば,タスク承認作業のページですぐに承認することができます(実際には,そのリンクを上手く踏めずに終わっているケースもゼロではないので,個別のレビューが必要にはなりますが,数がだいぶ減るので手間はかなり減ります)。また,報酬の部分的支払いや追加ボーナスの支払いの設定もできるので,反応の質が悪いので報酬を一部だけ支払いたい,ゲームで良い成績を出した参加者に賞金を支払いたい,といったことも割と簡単にできます(記憶が曖昧ですが,TurkPrime もこの辺はできたはずです)。

まあ,日本のクラウドソーシングは,そもそも研究用途として設計されていないのと,多分,いわゆるマイクロタスクにそこまでの機能が求められているとは思っていない,または,タスクを発注する側で,ここまでの細かい制御を必要とする層が数少ないんだろうなあ,と思っています。

ワーカーの過去経験の把握

次に,ワーカーの過去の研究参加経験の把握の問題があります。現状では,ワーカー自身に自己報告をしてもらうか,後はちょっと面倒ですが,

  1. 重複のない確認コードを発行
  2. 終了後にクラウドソーシングのタスク遂行結果のデータを入手し,そこからコードとワーカーの ID を対応づける
  3. 特定されたワーカーの ID を使って,過去の研究データでの参加状況を確認する

といった方法が考えられます。ただ,かなり面倒くさいですし,過去の研究参加履歴に基づいて,次回の参加を制御する,例えば,過去に参加した人は参加させない,あるいは逆に過去に参加した人だけに追跡調査・実験をする,といったことをしようと思うとひどく大変な目に遭います(というか,多分,過去に参加した人は参加できなくする方法はないように思います)。あと,参加者の属性に基づいた参加資格のフィルタリングは,現状では無理です(調査・実験の説明で,条件を明示だけして,後は必要な情報を尋ねて事後的に分析から除くか)。

日本のオンライン調査・実験でそれをやろうとうすると,Web パネルなんかを使わざるをえず,クラウドソーシングを使うよりもどうしても高額になってしまいます。この辺,Prolific などは,事前にスクリーニングが出来ていいなあと思います。

調査項目の中にスクリーニング質問を入れてはいけないというルールがあります。多分,スクリーニングによって報酬の支払いを拒否するのはダメだけど,報酬を払った上で,事後的に分析から除くのは大丈夫だと思いますが(ただし,きちんと確認していないので,ご注意ください)。

また,複数回の参加をしてもらいたい場合は,以前に参加した人に再度タスクの依頼をかけるわけですが,これも日本のクラウドソーシングは非常にやりにくく,ひたすら手作業でえっちらおっちら作業するしかないです(せめて,タスクの提案をするワーカーリストを一括でアップロードするような仕組みがあればいいのだけど,多分ないと思われ)。

ってことで,研究向けのクラウドソーシングが欲しい

と思うわけです。誰か作ってくれませんかねえ(他力本願

社会科学系の調査・実験の参加者募集だけじゃなく,制御・解析プログラムの作成とか,研究に関わるさまざまなタスクをひとまとめにしたようなクラウドソーシング・サービスがあれば,それなりに売り上げも出せると思うんですけどねえ。

作る方は完全に手が回りませんし,手に負えなさそうですが,「こんな機能が欲しい・必要」といったあたりを好き勝手言うだけけでよければ,喜んでお手伝いします。