プログラム作成時の行き詰まり検出のための主観的作業負荷推定の試み
松田 力†1 角田 雅照†1
概要：プログラミングの実習において，学生の行き詰まりを発見することは重要な課題である．これまで実習における学生の行き詰まりを検出するための方法がいくつか提案されているが，本研究では学生の感情（表情）から主観的な作業負荷を推定し，それに基づきプログラミング作成の行き詰まりを検出することを試みる．

1. はじめに
プログラミングの実習において，学生の行き詰まりを発見することは重要な課題である．プログラミングの実習では，学生にプログラムを作成したり修正したりする課題を課すが，全ての学生がスムーズに解にたどり着くということはない．何人かは作成，修正の途中で行き詰まるということが起こりうる．もちろん，これらの行き詰まりにおい

図 1

出力するログのイメージて，学生自身が自力で解決することは重要である．一方で，長時間行き詰ったままの学生も存在し，そのような場合については，教員やティーチングアシスタントが手助けするほうがよく，それにより学生は新たな課題に取り掛かることができる．
そのため，これまで実習における学生の行き詰まりを検出するための方法がいくつか提案されている[1]．ただし，それらは主に学生のコンピュータの操作や，学生の作成したプログラム（成果物）の変化に着目していた．本研究で可能となっている．Emotion API は anger，contempt，disgust，fear，happiness，neutral，sadness，surprise の 8 種類の感情を表すことが可能であり，感情が強いものほど高い数値で表される．
システムでは，この API を利用しつつ，下記の手順を一定時間ごと（実験では 5 秒ごと）に繰り返してログを記録する．

は学生の感情（表情）から主観的な作業負荷を推定し，そ1.

パソコンの内蔵カメラで撮影して画像を保存する．

れに基づきプログラミング作成の行き詰まりを検出するこ

2.

保存した画像を API に渡す．とを試みる．プログラマーの脳などの生理活動からプログ

3.

API から得られた結果をテキストファイルにログとして記録する．

ラマーの作業状態を推定する試みは存在するが[2]，表情に基づいて推定する試みは，我々の知る限り存在しなかった．

2. 学習者の感情計測システムは Mac OS 上で実装し，ノートパソコンの内蔵カメラを用いることとした．システム実装のためのプログ

本研究では，学習者の感情計測のためにシステムを作成

ラミング言語として Python を用いた．システムを実装するした．作成したシステムは，パソコンに内蔵のカメラやにあたり，表情を読み取るための Emotion API を使用する

Web カメラを用いて，人間の顔画像を撮影し，その画像の必要があったため，Microsoft Azure のアカウント作成を行

表情から感情を読み取り，数値として感情を表すものであった．撮影した画像に顔が含まれているかの判定を行う際る．パソコンの正面に座っているユーザーの写真を秒毎にに Open CV を使用した．そのため，プログラムを動作させ撮影し，その時間毎の表情を読み取り，感情の数値と表情るためにはライブラリのインストールが必要となる．

を読み取った時間の記録をテキストファイルにログとしてなお，感情の認識方法については，上記 API や Intel 社が保存する．システムを使用した際に保存するテキストのロ提供する RealSense Camera (https://www.intel.com/content

グのイメージを図 1 に示す．

/www/us/en/support/articles/000006099/emerging-technologies.

本システムでは，Microsoft が提供する Web API である，

html)などの既存の手法を用いる他に，独自に画像の感情認

Cognitive Services の Emotion API を用いた．この API によ識をするモデルを作ることも可能である．顔の画像と，そり，撮影した画像から人間の顔画像を特定し，かつそれられに対応付けられた前述の 8 種類の感情の数値データが，の顔画像から表情を読み取り数値として感情を表すことがKaggle において fer2013 として公開されており，これを用いることにより比較的容易にモデルを作成することができ†1 近畿大学
Kindai Universityる．

表 2
Q1
Q2
Q3
Q4
Q5
Q6

やさしかった
単純だった
頭を使う必要はなかった
大ざっぱでよかった
体を使う必要はなかった
楽な作業だった3
33
333

質問票の一部[3]222222111111000000-1-1-1-1-1-1-2-2-2-2-2-2-3-3-3-3-3-3

難しかった
複雑だった
頭を使う必要があった
正確さが要求された体を使う必要があった
きつい作業だったには予測値と実測値との絶対誤差を用いた．
予測結果を表 2 に示す．時間圧力が最も予測誤差が大きく，身体負担も誤差が 2 を超えていたが，その他の目的変数では予測誤差が比較的小さかった．このことから，本システムに基づき主観的な作業負荷をある程度推定可能であるといえる．
図 2

作業中の感情値の平均値の計算例

実験ではどの被験者も完成していなかったが，「順調に進んでいた」と答えた学生のフラストレーションや時間圧

表 1

力は小さかった．そのため，成果物のみで判断するよりも，採用された変数と絶対誤差

目的変数
精神負担
身体負担
時間圧力
作業成績
努力フラストレーション採用された説明変数
happinessanger, neutral
happiness, fear
contempt, disgust
fear, anger
disgust, surprise

絶対誤差
1.06
2.09
3.48
1.23
0.47
1.47

学生の状況をより判断しやすい可能性がある．また，時間圧力は誤差が大きかったため，フラストレーションの予測値に基づき，行き詰まりを判断すると良い可能性がある．

4. おわりに本研究では，作業負荷の高い学生は学習に行き詰まっていると想定し，プログラミングの学習時に，学生の表情に

3. 実験
実験では，情報科学を専攻する学部 4 年生 5 人の被験者に，プログラムをフルスクラッチで作成する課題を与え，課題に取り組んでいるときの感情を計測した．課題は会津大学のプログラミング問題のオンライン採点システムから1 問を選択した．回答時間は 30 分とし，用いる言語は被験者が慣れている Java とした．インターネットで Java の文法などを調べることは許可した．被験者全員が制限時間内にプログラムの作成を完了させることができなかった．
主観的な作業負荷を計測するための非常に有名なものとして，NASA-TLX があるが，本研究では，これをより使いやすくした質問票[3]を用いた．これは精神負担，身体負担，時間圧力，作業成績，努力，フラストレーションを計測するための質問票であり，表 1 のような質問票の回答に基づきそれぞれの値が 10 から-10 と算出される．数値が大きいほど負担が大きいことを示す．
次に，収集した表情のデータから，被験者の作業負担を重回帰分析により推定することを試みた．説明変数は 2 章で説明した 8 種類の感情の作業中の平均値（図 2 の赤枠部分）とし，変数選択により変数を絞り込んだ．用いるデー
タ数が少ないため，採用する説明変数は最大で 2 個とした．
目的変数は精神負担，身体負担，時間圧力，作業成績，努力，フラストレーションの 6 種類とした．目的変数の値の予測時にはリーブワンアウト法を用い，予測精度の評価基づいて，主観的作業負荷を推定する方法について検討した．実験では，主観的作業負荷をある程度高い精度で予測することができた．成果物だけでは行き詰まりの判定が容易でなかった可能性があり，フラストレーションに着目したほうが，行き詰まりを特定しやすい可能性がある．
謝辞

本研究の一部は，日本学術振興会科学研究費補助金（基盤 A：課題番号 17H00731）による助成を受けた．

参考文献
[1]

杉山匠，小暮悟，野口靖浩，山下浩一，小西達裕，伊東幸宏：プログラミング演習における迷い検出に基づく学習教育支援システムの構築，電子情報通信学会技術研究報告，vol.116，
no.438，pp.81-86 (2017).
[2] B. Floyd, T. Santander, and W. Weimer: Decoding therepresentation of code in the brain: an fMRI study of code review
and expertise, In Proc. of International Conference on Software
Engineering (ICSE), pp.175-186 (2017).
[3] K. Shinohara, H. Naito, Y. Matsui, and M. Hikono: The effects of“finger pointing and calling” on cognitive control processes in thetask-switching paradigm, International jounral of industrial
ergonomics, vol.43, no.2, pp.129-136 (2013).