F1-4

機械学習を用いたコンピテンシー評価の分析
Analysis of competency assessment using machine learning
紅葉 亜練*1, 桶田 昂史*1, 山川 広人*1, 小松川 浩*1
Aren MOMIJI*1, Koji OKETA*1, Hiroto YAMAKAWA*1, Hiroshi KOMATSUGAWA*1*1 公立千歳科学技術大学

理工学部*1Faculty of Science and Technology, Chitose Institute of Science and Technology

Email: b2171880@photon.chitose.ac.jp
あらまし：大学では専門的知識の習得を重要視しているが，現代社会では行動特性コンピテンシーの育成を重要視している．そこで科研は，数学を事例に学生のコンピテンシーが授業態度に現れると予想し，コンピテンシーを測るためのアンケートを実施し，教員に共通の指標が不明瞭なままコンピテンシーの評価をつけてもらっていた．本研究は，教員が何か教員の中にある指標をもって特徴量を捉えていると予想
し，機械学習によって再現性の有無を分析した．
キーワード：コンピテンシー，評価，機械学習

1.

背景従来，大学では学問領域を学ぶための基礎学力や知識修得，専門性の理解等の認知能力を意識した教育体系が構築されてきた．一方，現代社会ではこれらとは異なる問題解決力や，継続的な学習力，主体性，協調性などのテストで測ることのできない行動特性であるコンピテンシーの育成を重要視している．
そこで，本研究では、数学を事例に学生の授業態度にもコンピテンシーが現れると予想した．そして，複数の大学の数学教員と連携して，実際に数学の授業の開始前と開始後にコンピテンシーの変化を問うためのアンケートを実施した．学期のはじめに実施したアンケートの内容を図 1 に示し，図 2 は学期終了後に実施した図１のアンケート内容に加えた設問内容を示す．その上で，その学生のアンケートの回答に対して，各所属機関の数学教員がコンピテンシーの有無についてルーブリック評価を行うこととした．具体的には数字で１から３までの値で紐付けられている．本研究では，こうした教員の評価は，学生の文章から何らかの能力に関わる特徴量を推定して判断していると考え，機械学習で分析をして特徴量把握できるかを検証することを目的とした．
Q1．選択
今のあなたにとって数学は大切なものですか？いずれの1 つをチェックしてください。
5: とても大切 4: やや大切 3: どちらでもない 2: あまり大切でない 1: 全く大切でない
Q1．記述
そう思う理由は何ですか？箇条書きでお答えください。
Q2．選択
数学は現実場面でどれくらい役に立つと思いますか？いずれか 1 つをチェックしてください。
5: とても役に立つ 4: やや大切 3: どちらでもない 2: あ
まり役にたたない 1: 全く役に立たないQ2．
「とても役に立つ」あるいは「やや大切」を選んだ人は、数学が役に立つ例を具体的に箇条書きで挙げてください（1 つ以上）。思いつかない場合は「思いつかない」と書いてください。

図 1 授業の開始前に行う設問の内容の例

Q3．この授業で最も興味をもって取り組んだことを具体的に書いてください。ただし、回答は箇条書きで書いてください。

図 2 授業の開始後に追加する設問の内容

2.

目的

本研究の目的は，教員による学生のコンピテンシーの評価を総合的に判断する手法について機械学習を用いて分析し，教員による学生のコンピテンシーの評価を再現可能であるか検証を行うことである．
具体的には，文章中の単語に Word2Vec を用いて次元圧縮し，ニューラルネットワークや決定木の入力ベクトルを作成し，教員による評価を機教師信号として学習を行い，結果を見る．実際に高い精度で再現可能ならば，学生の文章に特徴量が存在すると言える．

3.

分析の方法

本研究では，学生の振り返りなどの文章データを形態素解析によって単語に分け，Word2Vec を用いて単語ベクトルに次元圧縮する．単語ベクトルから文章ベクトルを作成し，それに特徴量に含まれると予想される単語の長さ，単語の数，キーワードの数などを足し入力ベクトルを作成する．また，教員による学生のコンピテンシーの評価を教師信号として学習させ，テストデータを用いて精度を見る．テスト
データの評価を 1 から 3 までの値に高い精度で分類ができていれば教員による評価の再現が可能となり，入力ベクトルの中に特徴量があることがわかる．

4.

本研究で使用する技術

本研究では機械学習を機能させる技術であるニューラルネットワークと決定木を用いる．ニューラルネットワークは適確な推論を行うため，最適な重みとバイアスを決定する．決定した目標と実際の出力の誤差を損失関数とし，勾配法を用いて重みとバイ― 85 ―

教育システム情報学会 JSiSE2021
第46回全国大会
2021/9/1-9/3

アスを更新し，損失関数を最小値に近づけることで精度の高い推論を可能にする．今回はニューラルネ
ットワークを用いるため，TensorFlow と Keras というこの二つのライブラリを用いて分析を行う．決定木には xgboost というライブラリを用いる．

表 2 ニューラルネットワークでの検証結果
回数
1 回目
2 回目
3 回目
4 回目
5 回目
平均

4.1 TensorFlow
TensorFlow は，python だけでなく C 言語や Java など様々な環境で動作する、オープンソースの機械学習ライブラリ (1)である．データフローグラフを使用し，計算，共有状態，およびその状態を変更ができる．

回数
1 回目
2 回目
3 回目
4 回目
5 回目
平均

Keras は Python で書かれた，TensorFlow またはCNTK，Theano 上で実行可能な高水準のニューラルネットワークライブラリ (2)で，迅速な実験を可能にすることに重点を置いて開発された．数学的理論の部分を短いソースコードで実装することができる．
4.3 Word2Vec

4.4 XGBoost
XGBoost は、多くのデータサイエンスの問題を高速かつ正確な方法で解決する並列ツリーブーストを提供するライブラリ(4)で，決定木を学習し，グラデーションブーストの基本モデルとして使用することができる．

5.

分析の結果

今回の分析では，コンピテンシーを測るために大学生，高専生を対象とした合計 11 機関から収集したアンケート結果を用いる．本研究にて用いたデータ数を表 1 に示し，分析結果を表 2 に示す．訓練デー
タとテストデータのレートは 0.7 とする．また，入力ベクトルの作成には，Word2Vec で 100 次元に圧縮した単語ベクトルを用いる．
用いるデータは教員に 2 の評価をつけられたデー
タ数，3 の評価をつけられたデータ数をそれぞれ教員に 1 の評価をつけられたデータ数と同じになるようランダムにデータを省き，再度分析を行った．用
いたデータ数を表 1 に示し，ニューラルネットワー
クでの検証結果を表 2 に，決定木での検証結果を表3 に示す．

6.

損失
0.960
0.794
0.900
0.810
0.969
0.884

精度0.442
0.523
0.483
0.498
0.498
0.488

考察

表 2，表 3 では精度に違いがあまり見られなかった．精度としてニューラルネットワークは 0.500，決定木は 0.488 と高いとは言えないが，教員の中にある指標をもって感覚的に特徴量を捉えて評価している可能性が示唆される結果となった．また，表 2，表3 を比較し精度に違いがあまり見られない点，そして精度が上がらなかった要因としてデータ数が少なく機械学習で特徴量を捉えきれなかったことが原因であると考えられる．具体的な解決策として，他大学の協力の下データの総数を増やし再度分析を行う，他に特徴量に含まれると思われる要素を足し，入力ベクトルを作成するなどが挙げられる．
参考文献(1) TensorFlow ホワイトペーパー
https://www.tensorflow.org/about/bib?hl=ja(2021 年 2 月 6 日アクセス)(2) Keras: Python の深層学習ライブラリ
https://keras.io/ja/(2021 年 2 月 6 日アクセス)(3) Word2vec embeddings
https://radimrehurek.com/gensim/models/word2vec.html(2021 年 2 月 9 日アクセス)(4) XGBoost Documentation
https://xgboost.readthedocs.io/en/latest/index.html(2021 年 2 月 9 日アクセス)

表 1 用いたデータ数
評価
123

精度
0.486
0.489
0.520
0.536
0.470
0.500

表 3 決定木での検証結果

4.2 Keras

Word2Vec とは，文章から単語をベクトル化する技術である(3)．単語をベクトル化することで，単語と単語、文章と文章の類似度を測ることができる．
本研究では，教員からの評価が高い文章と類似した文章を推論することに用いる．

損失
0.253
0.256
0.242
0.241
0.263
0.251

データ数
356356356― 86 ―