【書評】PsychoPy/Pavloviaによるオンライン実験

本記事について

著者の十河宏行先生、出版社の朝倉書店様より、『PsychoPy/Pavloviaによるオンライン実験』をご恵投いただきました、ありがとうございます!!

www.asakura.co.jp

本書は、心理実験作成用ソフトウェアPsychoPyの、Builderという機能を用いて実験を作成し、ひいてはサーバにアップロードすることによりオンライン実験を実現する方法を解説した本です。

一方、PsychoPyはCoderと呼ばれる機能を用いて、Pythonコードを書くことでも実験を作り上げることが出来ます(が、こちらは主に非オンライン実験を想定した作成方法)。Coderを用いたPythonプログラミングは、2017年発売の『PsychoPy心理学実験プログラミング』に詳しいので、これら2冊はセットで所持しておくと良いと思います。

asakura.jp-pay.jp

 

また以前に、2020年発売の『PsychoPyでつくる心理学実験』もご恵投いただき、その際にも書評を書きましたので、こちらもご参照ください。

www.asakura.co.jp

 

das-kino.hatenablog.com

以下では、新刊である『PsychoPy/Pavloviaによるオンライン実験』について紹介します。

 

そもそもPsychoPy Builderとは?

心理学実験では、PCを用いてディスプレイ上に呈示する刺激の物理的特徴や呈示時間などを厳密に制御し、実験参加者の反応を精密に記録することが求められます。そのためにはプログラミングが重要になるのですが、当然ながら一朝一夕で習得できるものではありません。

 

そこで、GUIで実験を作成できるソフトウェアがあれば非常に嬉しいのですが、問題はそういったソフトウェアは有償で、簡単に入手できるものではないということです。筆者(私)自身、卒論でC言語を用いて心理実験を作成しようとしたものの挫折し、たまたま指導教員が持っていたSuperLabという有償ソフトウェアを用いて実験を行ったという過去があります。

 

一方、PsychoPyはオープンソースなので無料で使用できます。しかも、安かろう悪かろうではありません。実験を厳密に制御するための様々な設定が可能であるばかりか、今なお開発が進み、様々な刺激の呈示・反応の取得がどんどんやりやすくなっています。

 

また本書の著者である十河先生のご尽力により、インタフェースの日本語化も行われており、学習も容易です。実際、筆者(私)は実験実習でPsychoPy Builderを用いた心理実験の作成を指導していましたが、学生はすぐに習得し、その後ラボに配属された場合には速やかに卒研実験を作成していました。

 

本書の特長

さて、前置きが長くなりましたが、ここからは本書の特長を紹介します。そもそもPsychoPyの解説書自体が少ないので(特に日本語では)、それだけでもありがたいのですが、主に以下の3点が重要かと思います。

  1. PsychoPy Builderの基本的機能の解説

  2. Pavloviaサーバへアップロードすることによるオンライン実験の実現
  3. 様々な職人技の紹介

以下では特に、2点目・3点目について紹介します。

 

オンライン実験の実現

「よく統制された実験室に参加者を招き、一人ずつ実験を行う」という従来の心理学実験は今なお重要ですが、それと同時に、「多くの人にインターネットブラウザ上で実験を体験していただく」というオンライン実験が近年注目されています。

オンライン実験を実現するためのプラットフォームは様々あり、例えばlab.jsというアプリケーションでも無料で・GUIでオンライン実験を作成・実施可能です。

lab.js.org

 

一方、GUIによる「実験の作りこみ」においては、圧倒的にPsychoPy Builderに軍配が上がります。本書では、PsychoPy Builderで作成したプログラム(JavaScriptファイルが生成されます)を、Pavloviaと呼ばれる専用サーバにアップロードすることで、実験プログラムのオンライン実施やデータ保存を行う方法が丁寧に解説されています。

pavlovia.org

GUIで実験を作ることはできる、でもサーバとかよくわからない...」という人は多いのではないでしょうか。本書では画像付きでPavloviaサーバの利用方法を解説しているため、心配無用です。

 

また、実はPsychoPy Builderでプログラムを作成したら、あとはアップロードするだけ...というわけにはいかず、いくつか工夫しなければならないことがあります。これは「3.5節 実験セッション開始前の工夫」などで取り上げられているのですが、様々なTipsが随所で紹介されているのも嬉しいです。

 

様々な職人技の紹介

上で「PsychoPy Builderは学習が容易」と書きましたが、実はここには「よほど複雑な実験を志向しなければ」という条件がつきます。これはGUI全般の宿命で、複雑な実験に対応するメニューを増やすとゴチャゴチャして分かりにくくなるので、仕方のないところです。複雑なことがしたければPsychoPy CoderでPythonコードを書き、作りこむのが良いかもしれません。

 

ただし、PsychoPy Builderでも工夫すればある程度柔軟に実験を作りこむことができます。例えば「5.4節 チュートリアル4:系列位置効果」では、複数の単語を記憶してもらう実験が紹介されています。単語記憶実験では、呈示するための単語リストを事前に用意することがありますが、

  • 条件1では単語リストA
  • 条件2では単語リストB

という割り当てを行うと、条件間で記憶成績が異なっても、それは条件の影響なのか単語リストの影響なのかが区別しづらいという問題があります。そこで条件と単語リストをうまくシャッフルすることが重要なのですが、それをGUIで実装するためには一手間がいります。そのような、実験実施上必須のテクニックを実例とともに解説されているのが、「実験心理学者が書いた本」の特長です。

 

おわりに

これは本書『PsychoPy/Pavloviaによるオンライン実験』、姉妹書『PsychoPyでつくる心理学実験』『PsychoPy心理学実験プログラミング』に共通することですが、「色々なことができる、だからこそ、網羅的に紹介できない」という事情は理解しておく必要があると思います。

つまり、「自分が作りたい実験とピンポイントに対応する記述がない、どうすればいいんだ」という悩みは必ず発生します。

十河先生のWebサイトに、膨大な解説があるので、まずはこちらから必要な情報を探すのがよいでしょう。

www.s12600.net

 

Enjoy!