数学オンラインテストの問題作成支援
理学専攻・情報科学コース 2140665 鶴岡 篠 (指導教員：浅本 紀子)

1

はじめに

近年，教育現場における ICT の活用がますます盛んになっている．その一例として，授業時間外に様々な場所で学習できるオンライン教育システムを充実させ，これを対面授業と併用することで，より効果的な教育に繋げようとする動きがある．しかし，特に数式を含むオンラインテストの作成には，Moodle のような学習管理システム (LMS) の他に，数式処理システムやSTACK のような数式評価システムに対する知識が求められるため，教員側の負担を増やす恐れがある．そこで本研究では，このようなシステムにあまり詳しくない教員でも Moodle 上で数学オンラインテストシステ
ム STACK を用いた作問・採点ができるようなツールを開発し，教員による数学自習教材の作成を支援する．

2

オンラインテスト作成に用いる機能

2.1

MoodleMoodle と は ，生 徒 の 学 習 に つ い て 管 理 す る
LMS(Learning Management System) のひとつで，オンラインでの課題提出・評価，出欠確認，小テスト等を利用できる e ラーニングプラットフォームである．
オープンソースであり，導入コストの面から導入組織が多く，国内の大学での使用率は約 40 ％と LMS の中でトップシェアである．プラグインを追加することで機能を拡張することができる．
2.2

STACKSTACK(System for Teaching and Assessment usinga Computer algebra Kernel) とは，数式による解答が可能なオンラインテスト・評価システムのことである．STACK での数式の入力は，基本的には Excel 等の記法と同じように，フリーの数式処理システムである Maxima の数式入力記法に従う．STACK3.0 以降はMoodle のプラグインとなり，小テストの問題タイプの一つとして利用可能になっている [1]．
ポテンシャル・レスポンス・ツリーという解答評価機能を搭載しており，様々な想定される学生の解答（ポテンシャル・レスポンス）をツリー状に整理することで，学生の解答が正解かどうかだけでなく，入力された解答に応じて様々な応答を返すことができる．このポテンシャル・レスポンス・ツリーを適切に設定することにより，学生の理解に寄り添った採点をし，復習すべき点を明確に示すことが可能となるが，複雑にするほど作成に時間がかかり教員の負担が増える．
2.3

MathMLMathML とは，数式を記述するためのマークアップ
言語で，意味形式記述と表現形式記述という 2 つの記述方法が存在する．意味形式記述は意味に特化した記述方法であり，数学的意味をコード化することが重要な状況で有用である．一方，表現形式記述は表現に特化した記述方法であり，数式を表示することのみが重要な状況で有用である．多くの Web ページでは表現形式記述で数式が記述されている．

3

関連研究・先行研究

3.1

関連研究 [3]

畑らは，代数学問題の作成に特化した問題様式の Excel ファイルを Moodle 用 XML ファイルに変換するツールを開発している [3]．Moodle 上で小テストを作る場合と異なる点として，ポテンシャル・レスポンス・ツリーの入力欄がない代わりに「問題タイプ」を入力することで，適切なポテンシャル・レスポンス・ツリーが自動的に設定されるようになっている．

3.2

先行研究 [2]内橋らは，数式が MathML の表現形式で記述された HTML ファイルを意味形式に変換するツールの開発を行い，そのコンバータツールの応用例として， 数式の書かれた HTML ファイルを Moodle 用 XML ファイルに変換するツールを開発し，簡単な計算問題に対応した [2]．

4オンラインテスト作成支援ツール

Moodle の小テスト作成は，問題作成者が Moodle の使い方に慣れるまでにある程度の時間を要する．本研
究では，数式部分が MathML の意味形式で記述された数学小テスト問題の HTML ファイルを Moodle の小テストに変換できればこの課題を克服できると考えた．数式を MathML で記述して公開されている Web
ページは多く，表現形式で記述されている場合は先行
研究 [2] のツールで意味形式に変換が可能なため，目的の MathML コードは簡単に入手できると考えられる．この方法は先述の関連研究 [3] と比較すると，複雑な数式を Excel に入力する際の煩雑さが無いという点や，Excel の入っていないパソコンでも利用できるという点でメリットがある．
さらに，変換の際に出題パターンを指定することで，適切なポテンシャル・レスポンス・ツリーが自動的に設定されるよう改良を加えた．先行研究では，学生の解答が正解か不正解かを判定しており，細かい採点や学習アドバイスの表示はできていなかった．本研究では，複雑なポテンシャル・レスポンス・ツリーに対応できるよう，関連研究 [3] の「問題タイプ」を参考に，「出題パターン」を導入した．
4.1

対象とする数式変換の対象とする数式の範囲は，高等学校までの算数及び数学の学習指導要領に記載されている範囲に含まれる数式とし，指導要領は平成 20 年及び平成 21 年に改訂されたものを参照する．

4.2

単一の数式からなる簡単な計算問題の場合

一元多次方程式/一次方程式/展開/因数分解/微分/積分の，1 つの MathML タグを 1 つの問題とする簡単な計算問題については先行研究 [2] で扱っている．

4.3

前節の方式では，簡単なポテンシャル・レスポンス・ツリーの問題にしか対応できなかったが，ポテンシャ
ル・レスポンス・ツリーを柔軟に設定できれば多様な問題を作ることができる．そのため，出題パターンを指定する機能を追加した．
利用できる出題パターンは次のとおりである：
1) 文字式演算2) 一元一次方程式
3) 連立二元一次方程式
4) 連立三元一次方程式5) 一次不等式
6) 因数分解7) 式の展開
8) 二次方程式9) 二次不等式
10) 微分11) 積分14) 三角関数15) その他

4.4

ノード 3：解答 1 が正しいか
ノード 4：解答 1 が正しいか
ノード 5：解答 2 が正しいか
ノード 6：入力された 2 つの解が正しいか
ノード 7：解答 1 が正しいか
ノード 8：解答 2 が正しいか

出題パターンを指定する方式

5GUI の設計

これまでは Python3 の実行環境でターミナルにコマンドを入力することによって変換結果を取得する形式になっていたが，ユーザビリティを高めるため，アプリケーションとしての実装に取り組んだ．
アプリ内で数式を含む HTML ファイルをインポートすると，ファイル内に含まれる数式が読み込まれる．
次にそれぞれの数式に対して画面の表示に従って出題パターンなどを設定し，最後にファイル出力をすることで，目的の XML ファイルを取得することができる．

例「二次方程式 x2 + 4x + 3 = 0 を解きなさい」という問題の場合，Moodle での解答画面は図 1 のようになる．
図 3: GUI ツールで HTML ファイルを読み込み，出題パターンを選択した様子

6
図 1: インポートした問題
ポテンシャル・レスポンス・ツリーは，出題パターンに「二次方程式」を指定することで図 2 のように設定される．

まとめと今後の課題

数式部分が意味形式で記述された HTML ファイル
から，Moodle 上の STACK を利用した数学オンラインテストを自動生成するツールを開発し，適切なポテンシャル・レスポンス・ツリーを容易に設定できるよう改良を行った．さらに，ユーザビリティの向上を目指し，GUI を設計した．
今後の課題として，現在はポテンシャル・レスポン
ス・ツリーの自動設定は限られた計算問題にしか対応していないが，グラフを用いた問題など，より幅広い数学問題に対応させることが挙げられる．また，引き続き GUI の改善に取り組みたい．

参考文献[1] 中原敬広, 中村泰之：Moodle の完全なプラグインとなった数式評価システム STACK3.0, 大学 ICT推進協議会 2012 年度年次大会論文集, G8-5, pp.
1–2 (2012).
[2] 内橋夏実, 浅本紀子：数式記述言語 MathML の表
現形式から意味形式への変換およびオンライン小テスト作問への応用, 情報処理学会コンピュータと教育研究会 161 回研究発表会 (2011).
図 2: 二次方程式のポテンシャル・レスポンス・ツリー
緑のブランチは True，赤のブランチは False を表し，各ノードの評価内容は以下のようになっている：
ノード 1：問題の二次方程式が重解かどうかノード 2：入力された 2 つの解が等しいか[3] 畑篤, 上木佐季子, 遠山和大, 中原敬広：Moodle 小
テスト問題の一括作成-数式記述問題支援ツールの改良及び代数学小テスト作成支援ツールの開発-,
日本ムードル協会全国大会発表論文集, pp. 9–14
(2020).