2019年3月14日木曜日

webブラウザ上での心理実験の試行

psychopyの最新バージョンでは、pavloviaというサイトと連携して、psychopyで作成した課題をアップロードしてwebブラウザ上での刺激提示と反応取得が可能である。実際にはもうひとつ前のバージョンからできていたが、よくわからないエラーが出てまともに動作する課題はわずかだった。
ともかく、いくつか試行してわかったことを箇条書きで残しておこう。
・IEではpavlovia自体にアクセスできないようだ。chromeでは問題なくアクセスできるし、刺激提示と反応取得には特に異常なし。当然、PCのディスプレイ設定によってアスペクト比は変動する。
・psychopyの現行バージョンではテキストの文字サイズの仕様に変更があったようで、日本語テキストは大きく表示される。これはpavlovia上でも同じ。文字サイズの調整が必用。
・Builderで作成した画像刺激とキーボードまたはマウスの反応取得を同期した課題は割とシンプルにpavloviaで動作する。
・同じく、Builderで作成し、刺激や変数などのリストの情報取得を行う課題も、pavlovia上で問題なく動作する。
・BuilderのCodeコンポーネントはpavlovia上ではまず機能しない。pavlovia上ではpythonコードをjsonコードに置き換えて実行しているが、Codeコンポーネントに記述したコードはjsonコードに反映されていないかうまく置き換えられていないようである。このため、PsyhopyのCodeコンポーネントに記述した内容(if文や内部での計算など)はjsonで新たに書き加える必要がある。jsonに置き換えられれば問題なく動作するが、pythonに慣れていると文法の違いが面倒になる。
・Builderのratingコンポーネントとsliderコンポーネントは、正常に動作しない。おそらく、十分検討していないがratingコンポーネントは使えないだろう。sliderコンポーネントはpavlovia上では表示が若干おかしくなる(簡素化される?)が、工夫すればデータの取得は可能。アンケート実施は可能であろう。ただ、それよりもpolygonコンポーネントとmouseコンポーネントを連動させる方がpavlovia上では機能的に思える。ただし、なぜかpolygonコンポーネントは多角形の表示は設定どおりに表示されない。
・Builderでデータをexcelで吐き出す設定をしてもpavlovia上でのデータはCSVしか吐き出されない。些細なことだが。

現段階では以上のことが分かったが、PsychopyのForumでは問題が数多く報告されるとともに開発者がアップデートを検討しているため、どんどん使い勝手が良くなるだろう。比較的小規模のオンライン実験ならPavloviaを使えばコストが非常に少ない。来年度はSonasystemと連携させながらPavloviaで心理実験ができるようにするつもりである。

ツイート @freeroll_をフォロー