DEIM Forum 2014 F1-4

演習問題個人化のためのユーザ添削に基づく理解箇所判定手法
Detection Method of Understanding Part based on the User Correction
for Exercise Personalization
鈴木 尚樹†

北山 大輔†† 工学院大学情報学部 〒 163-8677 東京都新宿区西新宿 1-24-2
E-mail: †j110072@ns.kogakuin.ac.jp, ††kitayama@cc.kogakuin.ac.jp
あらまし

人に教える行為の中で添削という学習方法がある．添削により，教える側も知識を再確認し教えることで実は学習すると考えられる．しかしながら教える行為の学習効果は高いと考えられるが，教えられる側を必要とする
ため e-learning で実現は少ない．そこで，我々はユーザが添削をする式を仮想生徒が自動生成してくれるシステムを提案する．ユーザは，学習者なので添削を間違える可能性がある．そのため，問題中のどこを理解しどこを理解していないのかを添削を行う中で判断し提示する手法を開発する.
キーワード

e-learning，添削，理解箇所判定，プロダクションルール，仮想生徒
その部分に関してユーザにフィードバックを与えることで，学

1. は じ め に習を促進させる．このことにより学習者個人でも，添削のメ

現在の e-leaning はさまざまな学習方法が存在する．ゲーム機，スマートフォン，PC などのソフト (アプリ) で学ぶ学習
方法や iTunesU

Wikipedia（注 1）などの動画サイトで講義を見る学習方法，

（注 2）

（注 3）

，KIT 数学ナビゲーションなどの Web サイトなどで情報を閲覧する学習方法がある．
学習に関して良く知られているものに学習のピラミッドがある．これは，学習方法の違いによって学習の定着率がどのように異なるかを示したものである．このピラミッドによると伝統リットである知識を再確認できる部分を活用可能となる．
本稿の構成を以下に述べる．2 節では，本研究のアプローチ
として，概要と関連研究を述べ，e-learning における本研究の位置付けを述べる．3 節では，仮想生徒システムの全体像を説明し，4 節では，数式の変形方式．5 節では，理解箇所判定手法について詳細に説明する．

2. 本研究のアプローチ

的な講義，読む，教材の定着率は低く，体験を伴うもの，他人

2. 1 研究の概要に教えることの定着率は高い．このピラミッドの数値に関する添削をするメリットは，知識を再確認することができること

根拠は諸説あるようだが，経験的に受け入れられていると考えである．一般に問題を解くだけでは細かい途中式に気を配るこられる．e-learning でよく使用される学習方法は，定着率が低となく解いてしまい，定着率が低いと考えられる．そこで，本く，定着率が高い学習方法はあまり使用されていない．そこで研究では添削を行うシステムを提案する．添削を行うには，生

我々は，学習のピラミッドの中で定着率が一番高い学習方法で徒と教える人が必要である．生徒は，システム上に構築するもある，人に教える学習方法を e-learning に適用する必要があるのとし仮想生徒と呼ぶ．教える人はユーザである．添削を行うと考えた．

には，仮想生徒の間違った式が必要となる．その式は，ユーザ

人に教える学習方法として添削がある．添削をするメリットの理解度と仮想生徒の式の状態によって生成される．例の式とは，知識を再確認することができ，弱点の発見や知識の再構成

して，3x + 3 <= 2x + 12 を出題する．ユーザの理解度は，“符号を行えることである．一般に，添削をするためには，添削されを逆にするのを理解していない” とする．なお，本研究では理る側が必要となる．そこで，添削を行うために必要な式を，仮解度は確率で表し理解しているほど出題時にその理解内容に関想生徒が自動的にユーザの理解度に応じたレベルで誤りを含んする誤りが少なくなる．式の状態は，“左辺に同類ではない項がで解く仮想生徒システムを提案する．この時ユーザは，間違っある” である．この時仮想生徒の状態に当てはまる式変更ルーた添削をすることがある．実際の添削では間違った添削にリアルを適用し，ユーザの理解度により 3x <= 2x + 3 + 12 を生成す

ルタイムに気づくことは難しい．本研究ではユーザの理解・不る．この式は，符号を逆にすることを理解していないユーザに理解箇所を調べる理解箇所判定手法を用いることにより，不理対して添削をさせるために誤った式を生成している．ユーザが解箇所により，間違って添削してしまった箇所を判断できる．

添削するときに間違えて添削してしまう場合がある．ユーザの添削した式が正しいか間違っているかを確かめるために，ユー（注 1）：http://www.apple.com/jp/education/itunes-u/

ザが添削した仮想生徒の解答の直前の式に適用可能なすべての（注 2）：http://ja.wikipedia.org/wiki/メインページ

if-then ルールを用いるとする． 生成された複数の式とユーザ（注 3）：http://w3e.kanazawa-it.ac.jp/math/が添削した式をマッチングさせることにより，ユーザの式が正

しいとなってしまう．なので, 途中の式の内容を理解しているかわからない．我々の研究では，途中式を書くため細かい理解度が判る．
人に教える行為や添削に関する研究として，以下の研究があげられる．澤田石ら [6] の研究では，学習者が生徒に教えるという LBT(Learning by Teaching) システムを構築し，学習者
は生徒に教えることによって階層構造がある問題を理解できる．
階層構造の問題の分割を行うための知識が正しく適用できていれば，さらに分割が起こり．分割しなくなったら終了である．
図1

学習ピラミッドと e-Learning

分割を行うための知識が正しくなかったら，仮想生徒は教えてもらった知識では問題を解けないことをユーザに伝える．そう

しいか間違っているかが判り，ユーザの理解度とする．理解度を判ることにより，ユーザの弱点が克服されると考えた．

することによって自身の誤りに気づくことができる．

Leelawong ら [7] の研究では，Betty システムというシステ

2. 2 関 連 研 究

ムを用いている．Betty システムは，河川生態系について学ぶ

従来の e-learning に関する研究として，以下のような研究が中学校の学生を対象としている．仮想生徒 Betty に河川生態系

あげられる. 白井ら [1] の研究では，数式の入力が容易なシスについて教え，Betty をサイエンスクラブに入れる事が目的でテムを用いドリル学習をやりやすいようにしている．中村 [2]ある．目的をユーザに持たせて仮想生徒に教えるタイプである．

の研究では，学習者は KIT 数学ナビゲーションから自分の知緒方ら [8] の研究がある．緒方らは，電子メールの内容につりたい知識を探すことができる．知りたい知識の内容には，詳いての添削支援ソフトを開発した．例として，ある人 (A とす

しい説明が載っている．学習者が説明の中で理解できない内容

る) が e-メールを書いた．それを他の人 (B とする) が添削をすにリンクが張っていれば，そこの説明に移ることができ，基本る．他の人の添削 (C とする) の影響を受けて，A に，添削さ的な内容に立ち返って学習することができる．

れたものを見せる．ただし，このシステムの問題は，正解がな

新竹ら [3] は，算数の文章題を対象とした作問システムモン

いため，誤った添削をした人が多くいると，誤った結果を出し

サクン 2 に協調的な要素を組み込んだ．協調化の一部として複てしまうことである．我々の研究だと，正解パターンが存在す

数人で複数の問題を作り，別のチームと問題を作った時に配分るためこのような問題は起きない．

される得点で競うというのがモンサクン 2 に付け加えた要素である．このとき，複数の問題で一番得点を取れるものをユー

3. 仮想生徒システム

ザが吟味する. 従来ではメタ認知が活性化するかどうかは学習

仮想生徒は一種の人工知能であり，プロダクションルール [9]者にゆだねられていたが，このとき，複数の問題で一番得点をとして動作する．仮想生徒の解答を自動的に生成するシステム

取れるものを吟味することによって，メタ認知活性化の支援にについて説明する．問題として与えられた式とユーザの理解度なっている．こうすることによって問題の構造も理解することをワーキングメモリにある状態とし，式変更を行う if-then ルーができる．

ル集合から適用可能なルールを抽出する．複数のルールが抽出

岡崎ら [4] の研究は，携帯ゲーム機のタッチペンによる直接される場合がある．その時競合解消戦略を行う．競合解消戦略

操作を学習に活用して，理科の実験・観察・演習問題に適用し，として，ユーザの理解度を用いる．ユーザの理解度として正答携帯ゲーム機で実験・観察・問題演習を行うシステムを開発し確率，誤答確率を用いる．正答確率は，ユーザの添削式が対応た．岡崎ら [4] のシステムは，携帯ゲーム機である NDS 上で動している正しい式であった時の確率．誤答確率は，ユーザの添

く．NDS はダブルスクリーンになっている．例として，タッチ削式が対応している間違い式であった時の確率．正答確率，誤ペンを直接操作してプレパラートを作成する．その時スクリー

答確率を用いた理由して，一度のユーザの解答ではユーザの理ンにプレパラートを作成する指示が表示され，他のスクリーン

解度は測れないと考えられるため，何度も繰り返し添削するこにプレパラートを作成するための部品が用意されていて，そのとによって実際のユーザの理解度に近づくことができるためで部品を動かすことができるようになっている．実験を行うには，ある．仮想生徒の次の式を生成するための競合解消戦略は，結特別な部品や安全に行える環境が必要であり，そのようなこと

論部についての理解フラグが立っている場合には正のルールを，を考えると個人で実験は容易に行えない．岡崎ら [4] のシステ

立っていない場合には誤のルールのいずれかを確率的に選択すムを使うことにより気軽に何度でも行えるようになる．

る．正しいルールに対になる形で誤ったルールが存在する．こ本田ら [5] の研究では，問題が表示されておりその問題の答のことにより，ユーザが十分に理解している所については，添えが正しいと終了する．答えが正しくない場合，学習者理解度

削を省略し，理解が不十分な所については，誤った解答によりの診断の上にヒントを提供し，学習者の理解している部分まで添削を促すことができる．さらに，仮想生徒の誤りを正しく添

数式を解いてくれる．ただ，問題の答えは，最終的なものを入削する/誤って添削をする．もしくは，正しい式を添削しない/れるので，解き方が間違っていても最終的な答えが合えば，正してしまうというパターンにより，細かい理解度を図ることができる．

表 2 MathML のタグの種類
タグ

説明

mo

演算子を中身に持つmi

文字を中身に持つ

mn

数字を中身に持つ

mrow 数式をグループにする

図2

仮想生徒システムの処理

図 4 MathML の構造

ルールを追加すると，より深い範囲を学習をすることができる
ようになる．図 3 を例に説明する．if-then ルールを適用する
式は，3x + 3 <= 2x + 12 である．ユーザの理解度は，“符号を逆にするのを理解していない” とする．式の状態は，“左辺にx 類ではない項がある” である．この状態で適用可能な if-then
図3

仮想生徒の解答自動生成

図 2 は，アルゴリズムのフローチャートである．以下に仮想生徒の解答式の生成についてのアルゴリズムを示す．
（ 1 ） ユーザの理解度配列を取得（ 2 ） 仮想生徒の式で一番新しく生成された式の状態を取得し，その要素を式の状態の配列に入れる（ 3 ） (1)，(2) で取得した配列の要素で適用できる if-then
ルールがあるならば，適用し式を生成する適用できる if-then
ルールがないならば，仮想生徒はこれ以上式を生成出来ないということで終了する
表 1 の if-then ルールは，ある順序にしたがって解く場合についての不等式の単元を網羅している．表中の正誤列は正であれば正しい変形ルール，誤であれば誤った変形ルールを示している．このルール集合は，左辺に x 類，右辺には数字類をまとめると言う形に限定している．また右辺に数字類が一つの場合
でなおかつ左辺に x 類が一つの場合のみしか割ることができな
い．これらの制約は，ルールを増やすことで，右辺にｘ類，左辺に数字類をまとめるようにすることができるようにすることも可能である．他にもｘ類や数字類が複数あった場合も，割ることができるようにすることもできる．さらに，四則演算や小学生の問題の if-then ルールを増やすと仮想生徒は細かいレベルでの式変換および間違いをすることが可能になる．他にも連立不等式や絶対値の付いた不等式，微分などの他の範囲の if-then

ルールは，表 1 中のルール 2 と 4 である．
こ の if-then ル ー ル を 適 用 す る と 3x <= 2x + 3 + 12 と<3x = 2x − 3 + 12 が競合集合となり，2 が選ばれる．それにより，3x <= 2x + 3 + 12 が生成される．ある単元に関する正解の式変換および，それに対となる不正解の式変換の if-then
ルールを網羅することにより，正答もしくは誤答に到達するまで仮想生徒は，解答をし続ける．

4. 数式の変形方式
4. 1 数式の構造化
本研究のシステムは，WEB 上で動作するシステムである．
数式を表示させるために MathML を用いる．MathML は，数式を記述するためのマークアップ言語である．MathML で良く使われるタグを表 2 で表した．理解箇所判定手法をわかりやすく説明するために木の形で表現する．
本 稿 で は ，理 解 箇 所 判 定 手 法 を 行 い や す く す る た め に ，MathML の構造を以下のようにしている．目的である理解箇所判定手法を行うために，数式の項が左辺なのか，右辺なのか，不等号なのかを区別出来るようにする．数式の項が区別できるように，数式のグループを表す mrow タグを付けた．
左 辺 ，不 等 号 ，右 辺 な の か は ，mrow タ グ の class 名 をLeft Side，Inequality，Right Side とすることで区別する．
4. 2 数式の変形
式変形は，新たな式を作るために必要である．式変形は，

表 1 if-then ルール一覧
番号

条件部

結論部

正誤

1

移項され同類になった

同類を足す

正

2

(左辺に x 類ではない項がある)

符号を逆にし移行する

正3(右辺に数字類ではない項がある)

符号を逆にし移行する

正4(左辺に x 類ではない項がある)

符号を変えずに移項する

誤

5(右辺に数字類ではない項がある)

符号を変えずに移項する

誤

6((左辺に x 類)∧(ひとつしか項がない)∧(左辺の符号がプラス))∧((右辺に数字)∧(ひとつしか項がない))(不等号が変わらず右辺の数字を左辺の数字で割る

誤

7((左辺に x 類)∧(ひとつしか項がない)∧(左辺の符号が−)∧((右辺に数字類)∧(ひとつしか項がない))(不等号が逆になり右辺の数字を左辺の数字で割る)

正8((左辺に x 類)∧(ひとつしか項がない)∧(左辺の符号が−)∧((右辺に数字類)∧(ひとつしか項がない))(不等号が変わらず右辺の数字を左辺の数字で割る)

誤

図 5 if-then ルール適用した式の木 (丸が適用された所)

図6

理解箇所判定手法

MathML の木の枝の親を変えることや，葉ノードを変えるこ力を行っているが，直接的に仮想生徒の式を編集できるインタとで実現する．

フェースによる入力なども考えられる．

x + 8 + 12 <= −2x + 4 を例に if-then ルールによる変形例を示す．式の状態は “左辺に x 類ではない項がある” である．又，理解箇所判定手法として以下の手法で行う．
（ 1 ） 添削対象となる仮想生徒が解答した式の直前の式に適ユーザは，“符号を逆にするのを理解していない” とする. この用可能な if-then ルールをすべて適用して，式を複数作り，集時，表 1 のルール 2 および 4 が発火可能である．ルール 2，お合の要素とする．

よびルール 4 の結論部の動作を説明する．このルールは正誤の（ 2 ） ユーザの添削した式と 1．で作った式を比較し，合致

対になっているルールであり，葉ノードの変更以外は同じ動作する式を生成したルールを抽出する．そのルールの結論部の式である．まず，以下の手順で部分木の親を変更し，式の移行を

変形について理解・不理解を判定できる．

実現する．

式の合致にはいくつかのパターンが考えられる．

（ 1 ） 対象の mrow タグごとに mi タグがないかを確かめる．

（ 1 ） 仮想生徒の誤りを正しく添削する．

なければ， 3 に進む．あれば 2 に進む．

（ 2 ） 仮想生徒の誤りを間違って添削する．

（ 2 ） 次の mrow タグに進み，1 に戻る．進む mrow タグが（ 3 ） 仮想生徒の正しい式を正しいと判断できる．

なければ，5 に進む．

（ 4 ） 仮想生徒の正しい式を誤って添削をする．

（ 3 ） mrow タグの Class に Right Side と入れ,5 に進む

このうち，1，3，2，4 の順に理解度は高いと考えられる．本（ 4 ） Right Side に入れ替える mrow タグの中の mo タグの中身の符号を変える．5 に進む（ 5 ） 終了する．

4 つ目の手順はルール 2 のみで適応し，ルール 4 では使わない．

稿では，単純に 1，3 を理解．2，4 を不理解としている．
図 6 を例に理解箇所判定手法の手順を説明する．ユーザの式

x + 12 <= −2x + 4 − 8 は，仮想生徒の式 x + 12 <= −2x + 4 + 8<を添削した式である．仮想生徒の式 x + 12 = −2x + 4 + 8の変形される前の式である x + 8 + 12 <= −2x + 4 に if-then

5. 理解箇所判定手法
ユーザの理解箇所を判定するためにまずは，ユーザによる添ルールを適用する．適用できるルールは，表 1 の 2，4 である．2 と 4 を適用することにより，x + 12 <= −2x + 4 − 8 と

x + 12 <= −2x + 4 + 8 が生成される．表 1 のルール 2 により削結果を解析する必要がある．本稿では，ユーザは，TeX 形

生成された式と合致した．表 1 のルール 2 の結論部の式変形を式で添削結果の数式を入力するものとする．入力された数式を理解したと判断できる．理解箇所判定手法によって，理解・不MathML 形式に変更することで，仮想生徒の式および，正解

理解箇所が判り，その部分の答えをフィードバックすることにの式との比較を可能にする．なお，本稿では，TeX 形式で入より，ユーザの理解度が上がると期待できる．

表3
A
Y/ドリル

被験者の集中回数

ドリル式 (集中回数)

提案システム (集中回数)

B

C

D

A

φ

26 回

X/ドリル

Y/提案システム

Y/ドリル

B

19 回

22 回

Y/提案システム

X/ドリル

X/提案システム

C

9回

27 回

D

14 回

22 回

1 回目 X/提案システム
2 回目

表4

実験の状況

今後，理解箇所判定手法で得た理解・不理解箇所から演習問
題個人化を行う予定である．演習問題個人化として，ユーザの理解度集合から一番近くて，ユーザが理解していない知識を含んでいる問題集合を作る．下の式はそれを表している．p(x)は，x の知識を持つ問題を返す関数である．X は，問題に含まれている数学の知識の集合族であり x はある問題の知識集合である．Y はユーザの理解している数学知識の集合である．

C = {p(x)| max(|x ∪ Y |)}
x∈X

(1)

ユーザの理解度が高いルールの結論部を，理解している数学知
識の集合として上記の条件に合う問題をユーザに提示する．

6. 実

図7

実験で用いた提案システムの出力験と答えた被験者は 3 人であった．ドリル式の方が反射的に解い

6. 1 実 験 内 容
実験の目的として，仮想生徒システムを行うことに添削の効果が得られるかを確認する実験を行った．ここでは，問題に対して取り組む姿勢を評価する．提案システムが普通に問題を解く (ドリル式) よりどのような点が違うのかを考察する．被験者は，普通に問題を解く方法と仮想生徒システムを使う方で問題に取り組んだ．その時被験者には脳波計測器を装着してもらい
それの結果で集中の違いを測定する．解く順番と問題の解き方の組み合わせによって実験の状況を揃えるために表 3 のように行う．表 3 の見方を説明する．問題，X，Y はそれぞれ 5 問づつの問題である．表 3 のドリルは，普通に問題を解く．表 3 の提案システムは，仮想生徒システムを用いて解く．表 3 の ‘/’は，‘/’ の左の問題を ‘/’ の右のやり方で解くことを示している．
実験は 20 代男性 4 人に実験を手伝っていただいた．問題を解いたのち以下のアンケートに解答してもらった．“数学は得意ですか”，“ドリル式，添削システムを用いた時どちらの方が楽しかったですか”，“ドリル式、提案システムを用いた時どちらの方法の方が反射的に解きましたか”，“ドリル式，提案システたと答えた被験者は 4 人中 3 人だった．提案システムの方が深く考えることができると答えた被験者は全員だった．そう答えた被験者に “提案システムで深く考えることができた人に質問です。どのようなことを考えましたか” とアンケートで質問した所．以下の回答を得た，普段やらない入力方式だったのでとても頭を使った．よくも悪くも過程をしっかりと解いていくので，式のどこで間違ったか確認しやすいと思った．式が正しいかどうか， どこを間違えているか慎重になれた．これらのことより，添削をすることは集中することができると考えられる．
なお，図 7 のような開発者が意図していないバグが発生した．
図 7 の左は仮想生徒の途中式，右はユーザが添削するフォーム
である．本来は，左の仮想生徒の式の最後の左辺が x だけの形であり右辺が数字類しかない状態が出力されるべきであるがそのようになっていない．これはプログラムのバグによるものであり，仮想生徒により生成されるべき式でなかった．そのようなバグが発生したときの集中は数十秒間続いた（注 4）．ユーザが意図していない，ミス (誤答) をわざと起こすことにより，学習になるのではないかと考えられる．

ムを用いた時，問題の式についてどちらの方が深く考えることができましたか”，“提案システムで深く考えることができた人に質問です。どのようなことを考えましたか”，“提案システム
で深く考えることが出来なかった人に質問です。”“考えることが出来なかった理由として，どのような理由があると思いますか”

6. 2 実験結果と考察
被験者に着けた脳波計測器により，集中している回数を取得しました。結果を表 4 に示す．A，B，C，D は被験者である．

A のドリル式の φ 記号は，集中している結果を最初から取得していないため，データとして使わなかった．実験結果から，
提案システムの方が集中回数が多いことが判った．また，アン

7. まとめと今後の課題
添削をするメリットである，知識を再確認できるというメ
リットを有効活用してもらえるために，仮想生徒システム，理解箇所判定手法を提案した．実験として，脳波計測器を用いて集中を測ることやアンケートを行った．そのことにより提案シ
ステムが深く問題を考えることができると判った．今後の課題
としては，他の範囲や細かい理解度を測るために If-then ルー
ルを用意する必要がある．ユーザの弱点を克服する最低限の

if-then ルールを決定する方法も必要である．ユーザの理解度を用いて，演習問題個人化を行い，ユーザにとって最適な問題を出せるようにする．実際の添削では，式と言葉を用いるため，ケート結果より，数学が得意な人は一名，どちらともいえないと答えた人は 3 人であった．ドリル式，添削システム，楽しい（注 4）：表 4 には図 7 で起きたバグによる集中は回数に含んでいないe-learning で添削を行う方法としても，式だけではなく言葉も用いる必要がある．

謝辞本研究の一部は，平成 25 年度科研費若手研究 (B)(課題番号：

24700098) によるものです．ここに記して謝意を表すものとし
ます．
文

献

[1] 白井詩沙香，仲村裕子，福井哲夫，数式入力が容易なドリル型
数学学習システム「DigitalWork」の開発と評価，情報処理学会
研究報告． コンピュータと教育研究会報告 2013-CE-121(14)，pp1-8， 2013．
[2] 新竹 由基， 倉山 めぐみ， 平嶋 宗， 協調的学習を指向した作
問学習のゲーム化，電子情報通信学会技術研究報告． ET， 教
育工学 110(453)， pp235-240， 2011[3] 中村 晃， KIT 数学ナビゲーションを活用したリンク・バック・
ラーニング KIT progress : 工学教育研究 12， pp29-38， 2007[4] 岡崎 泰久，永江 由依，田中 久治，渡辺 健次，タッチペンによる直接操作を活用した携帯ゲーム機による実験観察学習支援システ
ムの開発，情報科学技術フォーラム講演論文集 9(3), pp619-622,
2010，[5] 本田 竜広, 横田 壽, 神田 隆至，学習者対応型ヒント機能を備えたソフトウェアの開発 : 微分積分の自学自習用システム工学・工業教育研究講演会講演論文集 pp108-109, 2008[6] 澤田石礼秀， 山本 景子， 倉本 到， 辻野 嘉宏， 水口充， 人に教える行為により階層構造を持つ問題の解法を学ぶための個人
学習支援システム， 情報処理学会研究報告． コンピュータと教育研究会報告 pp1-8， 2011
[7] Leelawong ，K．
，G. Biswas，Designing learning by teaching
agents: The Betty’s Brain system，International Journal of
Artificial Intelligence in Education ， Vol．18，pp181-208，
2008[8] 緒方 広明，葉田 善章，矢野 米雄，VCoCoA:VCCML を用いた非同期型協同添削支援システム，情報処理学会論文誌 40(11)，pp3924-3933，1999[9] Newell, A., ”Production Systems: Models of Control Structures,” in W. G. Chase, ed., Visual Information Processing,
New York: Academic Press, pp463-526 1973.