Qualtricsでランダムに画像を出す場合、2〜3枚の中から1枚を見せるならそれぞれの質問文を用意し、Randomizerを使うことで十分です。

しかし、画像が数十〜数千枚であり、この中から1枚、あるいは数枚をランダムに示したい場合があります。画像を使う実験ではよくありがちな話です。

以下のスクリプトを使うとスクリプトの中身を修正する必要なく、画像ファイルが保存されているフォルダーに入れておくだけで、簡単に出来ます。

画像のタイプ(png/jpgなど)や抽出する枚数を調整するためにスクリプトの中身を修正する必要はなく、スクリプトのアドレスの後ろにパラメーターを指定するだけで使えます。しかも、ファイル名が規則正しく指定されている必要もありません。


1. PHPスクリプトのダウンロード&アップロード

  • 筆者が作成したスクリプトをダウンロードする。[Download]
  • FTPクライアントなどでサーバーへアクセスし、イメージファイルが保存されているフォルダーにスクリプトファイルをアップロードする。

2. 動作の確認

  • 以下のアドレスでアクセスします。
    アドレス名/RIP.php?Ext=拡張子&N=持ってくる画像数
  • もし、RIP.phpと画像ファイルが保存されている場所が
    http://jaysong.net/Qualtrics/RIP_Script/
    であり、画像ファイルの拡張子がpng、ランダムに持ってくる画像数が3枚なら
    http://jaysong.net/Qualtrics/RIP_Script/RIP.php?Ext=png&N=3
    のように入力します。

    • 上記のフォルダー内には4枚のpng画像、6枚のjpg画像が保存されています。ExtNパラメーターを変えてみて、どんな感じなのかを確認するのも良いでしょう。
  • {“Path1” : “blahblah”, “Path2” : “hogehoge”, …}のように出力されたらOK

3. QualtricsのWeb Service登録

  1. Qualtircsの質問紙作成画面でSurvey Flowをクリック
  2. Add a New Element hereをクリック
  3. Web Serviceを選択し、先ほど動作を確認した際のURLを入力
    たとえば、http://jaysong.net/Qualtrics/RIP_Script/RIP.php?Ext=jpg&N=3
  4. Test URLをクリック
  5. Selectの隣のAllを選択し、Add Embedded Dataをクリック
  6. Web Serviceのブロックを実験の質問文が含まれているブロックの上へ移動(必ず!!!)

4. 質問文の作成

  • 質問文の修正はHTMLで行います。
  • 適切な場所に以下のようにタグを挿入します。
    <img src = “${e://Field/Path1}”>

    • Path1は適宜修正してください。
  • 以上です。