コロナ禍になって突然,「あ,実験をオンラインでやらないと」となったうちの一人です。MATLAB + Psychtoolbox勢だったので,まず何のプラットフォームを使用すべきか模索しました。とても模索しました。
そして,作ろうとしている課題が比較的複雑なもの(一つの画面上で刺激を出して,その反応に応じて次の刺激を出す)だったので,それが更にことを複雑にしました。
以下,色んなプラットフォームを試して比較した感想を垂れ流しています。細かい使い方の説明ではありませんし,完全主観です。
選択肢① jsPsych + Cognition.run
全く使ったことがなかったので,公式サイトの説明が丁寧でまず感動しました。ステップバイステップのデモが公式で…(psychtoolboxに調教されてきた人)
6月にはjsPsychを使ってオンライン実験を便利にできるcognition.runが開設されました。創設者が鬼親切なので,「この方がよくない?」「これできなくない?」とか問い合わせるとすぐに対応してくれました。ありがとうJavi。ただこれはGUIで動かすようなものではないので,コードは普通にjsPsychの勉強が必要
メリット
・「一つの刺激に一つの反応」のような単純な課題は簡単にできる
・jsPsychには日本語のサイトがあるので、比較的取っつきやすい
・Cognition.runはコードを打つと同時に横でプレビューができるので,細かい修正にめちゃくちゃ便利
・無料
・無料
デメリット
・なんかいろいろアプリケーションを入れないといけなくてめんどくさい。Atomというのを使いました。
・jsPsychがそもそもパッケージとして想定している以上こと(一つ刺激を出しながら途中で別の刺激を出して反応を取って,等)ができない。
結論
自分でコードを書くので今何が起こっているのかが分かるのは良い。
けど,そもそもコードでできないことがあるとどうしようもないよね
選択肢② PsychoPy + pavlovia
なんとなく使わず嫌いをしていたPsychoPy。GUIの感じがなんか見にくかった。最近のアップデートでフラットスタイル?な感じになって少しだけ抵抗が薄まりました(本質的ではないけど大事)。
PavloviaはオフラインのPsychoPyで作った実験をそのままオンラインで走らせられるように作られたプラットフォームです。おしゃれでいいよね名前が
メリット
・日本語の本もサイトも豊富。jsPsychよりさらに豊富
・GUIの守備範囲が広い。ほぼ何でもできる
・コンポーネント(画像のアイコンにあるようなもの)で実現できないものがあっても,GUIの中で「codeコンポーネント」なるものを入れて動かすことができる。これが神
・オンサイトの実験はこれ一つでなんとかなりそう
・GUIを使った実験(全くコードを含まない)はワンクリックでpavloviaにアップロードでき,基本的には簡単に走らせることができる。多少のデバッグが求められることもあるが,厳しくない。
デメリット
・少しでもcodeを含む課題をオンラインに上げようとすると一気に沼。以下詳細。
・PsychoPy Builderで作られた実験(Py言語)は、pavloviaに上げる段階でPsychoJS(JavaScript)に自動で変換される。手動でCodeを書き加えた部分は自動では変換されないため、自分で書き換える必要がある。
・Builder上のCodeをPsychoPy→javascriptに変換しようとするが、それをするにはBuilder上では完結できず、全体のソースコードを見ないといけない。
・そこで、Builderで作った実験を「HTMLとしてエクスポート」し、排出されたHTMLファイル+javascriptファイルを見ていく。実験の内容はjavascriptファイルに入っていて、HTMLファイルはコア部分(背景の色の設定とか、どのjavascriptを読み込むかとか)しか担当していない。実験内容にあたるjavascriptファイルを直接デバッグしたいが、単体ではプログラムの挙動を確認することができない。HTMLファイルと合わせて動かすと、HTMLのコードのエラーは見つけることができても、外部ファイルであるjavascriptのどこでエラーが出てるのかが分からない(エラーは出ないのにとにかく進まない状況になる)。
・exeファイル化して、アプリのような形で実験を配布する方法もあるが、それもまたとてもややこしい。
・そもそもPsychoPyが重い
・pavloviaも重い
・そしてpavloviaは有料(データ一つにつき$1くらいだっけ)
結論
オンサイト実験では今後重宝したい(使わず嫌いだった人)
Codeを使わない、純粋にBuilderのみを使った課題のオンライン化には簡単・便利
少しでもCodeが必要なら、オンサイトで実験できるまで待つが吉
選択肢③ Gorilla.sc
どんな名前やねーーん(名前にうるさい)と思っていましたが,使ってみるとゴリラに愛着が湧くようになります。
メリット
・とにかくGUIでなんでもできる
・画面内にzoneと言われるものを作ることができ,同時に複数の刺激を出したり,反応を取ったりすることも可能。教示分を出しながら動画を提示しながらボタンを出しながら,みたいなことが余裕でできるし,注視点などデフォルトで使えるものも入っている。スクリーンの遷移もわかりやすい。(画像参照)(分かりにくい画像ですみません)
・デモが豊富。シンプルな課題だったら自分がやりたい課題に近いものが見つかりやすいし,多少コードが必要なものもデモを参考に作れることが多い。
・公式の説明がめちゃめちゃ丁寧。困ったときにはとりあえず公式サイトを見ると,ほとんどの問題は解決する。サイトに載っていないことは,問い合わせフォームで聞くと一両日以内に返信が来る。素晴らしい。
・questionnaire(質問紙)とtask(課題)のGUIが分かれており,questionnaireを使うとアンケートやインフォームドコンセントのページも簡単に作れる。
・Collaboratorという機能があり,研究室内で複数の人と実験を共有することも可能
デメリット
・日本語の資料が少ない。翻訳ツールで頑張ってほしい
・ショートカットがあまりないので,いちいちクリックが必要。マウスに持ち替えるのがめんどい
・動画に弱い。少しでも重いものを上げると読み込みに時間がかかるので注意が必要
・有料(データ一つにつき,アカデミック価格で$1)。5分で終わる質問フォーム一ページでも,1時間かかる知覚実験でも,1人分のデータにつき$1
結論
PsychoPyが最初からオンラインになっているような感じ
お金があるならGorilla.scを使うことのデメリットはあまりない。お金は大事。
日本語の資料が増えたら絶対もっと普及するはず(他人任せ)
ということで,紆余曲折を経て,私はGorilla.scを使って実験をしています。
オンライン実験の不安要素(環境が統制できない,そもそも本人が回答しているかわからない,PCのスペックが様々,等)は多々ありますが,それをもってしても使う利点はあると思うので,今後もっと色んな便利な技術が出てきて色んな実験が実現できますように!
Commentaires