【281頁】
数学用Web教材自動生成のための
教材内容の意味に関するXMLタグ定義
白田 由香利 *
本稿では,マクロ経済学において重要な国民所得決定モデルを説明するWeb教材を事例として,我々の開発するe-Math Interaction Agentという数学用Web教材自動生成システムを紹介する。本システムは人間に代わってXMLファイルを生成するが,本論文では,数学用マルチメディア教材定義について必要となるXMLタグが,レイアウト定義用と問題の意味定義用の2種類必要であることを説明し,国民所得決定問題において定義した意味的XMLタグを説明する。こうした問題の意味的タグ定義は仮想教師のガイダンス中,特定の数式及び変数間の関係を言葉,2次元あるいは3次元のグラフなど各種の表現方法で説明する場合に必須である。
XML Tag Definition for Expressing Semantics of Mathematical Contents in Web-Based Courseware Automation
Yukari SHIROTA ※
In the paper, Web-based learning materials for a national income determination problem in macroeconomics are presented as sample materials for explanation of our developed mathematical courseware automation system named e-Math Interaction Agent. This system automatically generates target XML files instead of human programmers. In the paper, it is described that there are two kinds of XML tags should be defined for the automation. One is defined for a Web page layout and another is for definition of semantics in the given mathematical problem. This semantic definition is required for generation of higher qualitative virtual teacher's guidance so that the teacher can explain semantics of an equation or a relationship between two variables in various expressions such as words, 2 or 3 dimensional graphs.
【282頁】
1.はじめに
我々は数学用Web教材の自動生成システムについて研究しており,その試作として数学最適化問題を教示するWeb教材の自動生成システム"e-Math Interaction Agent"を開発し,昨年度から学生に自習用として公開している。本e-Math Interaction Agentシステムの特長は,生成された教材を学生が実行すると仮想キャラクタ教師が画面上に出現して説明を喋って聞かせてくれること,この仮想キャラクタによる会話機能も予めXSLT上にプログラミングしてあること,及び,数学の公式や経済の概念・知識などを予め知識ベースに格納し,その公式を組み合わせることでゴールである関係式を生成すること,及び,数式処理システムによりMathMLやイメージファイルなどのWeb上の数式表現を計算し,自動生成する機能を実現したことがあげられる。これらの機能により,教師は数学の細かい計算及びその数式表現のWeb化に伴う煩雑な作業から解放され,さらに,コンピュータ知識がない教師でも仮想キャラクタを用いた学生との会話機能をもつ数学教材が自動生成可能となった1,2。
このシステムの元となる教材自動生成モデルは,数学の決定問題全般に適応可能な汎用モデルであり,応用範囲が広い。各種の数学問題の解法プランを定義することにより,そのタイプの数学問題を教授する教材を自動生成することが可能となる。それを実証すべく今回,対象問題として経済における国民所得問題を取り上げた。
今回の実装における前回からの拡張機であるが,物理的なものとしては,数式処理システムMapleのスクリプトMapletによりグラフ生成を可能とした点が挙げられる。これにより学生はグラフのパラメータを個別に,かつ対話的に変えることが可能となった。前バージョンではグラフは静止画の表示のみであった。本学では2004年春からキャンパス内の全コンピュータ上でMapleを稼動可能としたため,クライアントPC上で個別に数式処理及びグラフ描画を行える,このようなシステム構成が可能となった。また論理的な拡張としては,数学問題の意味に関するタグ定義をXMLタグ定義において行なった点である。本稿では,この数学問題の意味に関するメタデータを説明する。
次節では,我々が提案する数学用教材の自動生成に関する汎用モデルを説明する。そしてそれをどのように実現するか,汎用のシステム構成を述べる。第3節では,我々が定義した国民所得決定問題用教材の解法プロセス仕様について述べる。第4節では,こうしたマルチメディア教材定義について必要となるXMLタグが,レイアウト定義用と問題の意味定義用の2種類必要であることを説明し,国民所得決定問題ではどのように意味的XMLタグを定義したかを説明する。最終章はまとめとする。
2.e-Math Interaction Agentのシステムモデル及びシステム構成
本節では我々が提案する数学用教材の自動生成に関する汎用モデルを説明する。また,それをどのように実現するか汎用のシステム構成を述べる。
数学問題には,決定問題と証明問題の2種類があるが,我々の開発するシステムe-Math Interaction Agentが対象とする問題は決定問題全般である。決定問題とは,未知数を求めるため,まず連立方程式を立てて,そしてそれを解くという形式の問題である。経済数学を含む初等数【283頁】学においては証明問題よりも決定問題のほうが頻出しており,学生にとってまず決定問題が確実に解けることが重要と言える。また数学問題教材自動生成の実現可能性から考えた場合も,証明問題に比較して決定問題の方がその実現可能性が高いと考えた.よって我々はまず,決定問題から着手する。証明問題を自動生成するためには,数式処理システムだけでは不十分であり,Prologベースの自動証明システムが必要となる。たとえば,Melisのグループでは自動証明システムΩMEGA3を用いて証明問題を教授する教材の自動生成の研究を行っている4。
初めに我々の提案する数学教材生成手法のモデルを説明する(図1参照)。まず,多数ある数学決定問題を解法プロセスにより分類する。つまり解法プロセスが同一のスキーマをもつ問題の集合を作る。例えば,「1独立変数の最適化問題」,「多変数の最適化問題」,「ラグランジェの未定乗数法」などといった問題の集合を作る。同一解法プロセスで解ける問題は,問題のタイプが等しいと呼ぶ。そして,予めそれぞれの問題タイプごとに対応する解法プロセスモデルを作成しておく。図1ではこれを「問題Aのタイプに対応するメタレベルな一般的解法プロセスモデル」と記載している。これは数学解法アルゴリズムに相当する。一般的解法プロセスモデル作成を行う人をシステム・スーパーバイザーと呼ぶ。システム・スーパーバイザーとは,数学教師であり,かつコンピュータ技術に精通したエキスパートである。システム・スーパーバイザーはメタレベルで問題タイプに共通な数学解法プロセス,及び,学生への数学問題教示法を定義する能力を持たなくてはならない。
さらに学生への教示法において,どのように学生に教示するかというプレゼンテーション層に相当するモデルが必要となる。Interaction Agentシステムにおいては仮想キャラクタ教師による対話を重視しているので,問題タイプごとに仮想教師との対話テンプレートも作成しておく。これが図1にある「問題Aのタイプに対応するメタレベルな教師対話モデル」である。システム・スーパーバイザーは予めメタレベルで対話テンプレートを定義しておく。そして教材生成時つまり,個々の数学問題の定義情報がシステムに入力された時点で,システムはその問題固【284頁】有の情報をそのテンプレートに埋め込むことによって,最終的な対話文を完成させる。
図1に示す一般的解法プロセスモデル,及び,教師対話モデルが,同じタイプの問題全体に共通するメタレベルなモデルである。ここに,ある特定問題固有の問題定義情報を入力することで,その問題固有の具体的数式を適用した解法プロセス,及び,その問題を学生に教示するための教材を自動生成することが可能となる。重要なことはシステム・スーパーバイザーが「どのようにその数学問題を学生に教えたら,教育効果が高いか」と考えぬくことである。このモデル作成に時間をかけることにより,それ以降,同一メタモデルから大量に自動生成される各種多様な数学教材の質の向上が図れる。数学教師がその教授法について各人のノウハウをもつように,数学問題タイプの分類及びその解法プロセスモデルの定義はシステム・スーパーバイザー個々人に依存するものであり,システム・スーパーバイザーが異なれば異なる解法プロセスモデルが定義される。
Interaction Agentシステムではシステム・スーパーバイザーが予め,解法プロセスモデル及び教示法モデルをPerlでプログラムしておく。このPerlプログラムが人間のプログラマに代わってXMLファイルを書き出す。またそれらのXMLが用いるXSLTスタイルシート中で使われるXMLタグの定義,及び,スタイルシートXSLT自体の作成もシステム・スーパーバイザーの仕事である。
問題特有の問題定義情報はメタレベル記述ファイルと呼ぶ。メタレベル記述ファイルの例は次節で示す。本Interaction Agentシステムは,このメタレベル記述ファイルの入力のみだけにより,対応するXMLファイルを自動生成する。その際に,メインプロセスとなるWebページ生成機から,以下の3つのサブモジュールが必要に応じて呼び出される(図2参照)。
【285頁】
(1)推論エンジン(Prologインタプリタ)。
(2)数式処理システム(Maple5)。
(3)数式表現作成システム(Equation Server, WebEQ6)。
数式処理システムは人間に代わって与えられた連立方程式や微積分などの問題を記号的に解く。また必要に応じて動的にグラフを描画するため,数式処理システムのグラフ描画機能を用いている。我々の大学では全てのパソコン上で数式処理システムMapleが利用可能であり,本システムもMapleを利用している。最適化問題教材を作成する前バージョンから,Mapleに関して以下の拡張を行った。
(1)OpenMaple APIとしてC言語用インタフェースが新しくメーカーから提供されたのでMapleのアクセスをすべてこのAPIを使って書き直した。これにより大幅にパフォーマンスが向上した。
(2)グラフ表示の際,特に3次元グラフを対話的に学生が動かして観察することができるようにするため,Mapleのグラフ表示用簡易スクリプトであるMaplet(メープレットあるいはマプレットと読む)を採用した。図2の構成図にもあるように,Web生成機はこのMapletファイルを必要に応じて書き出す。Mapletの実行の様子は次節で示す。
Mapletを用いる利点は2つある。
(1)学生が学習中対話的に3次元グラフを動かすことが可能となる。これはMapletファイルから学生のローカルコンピュータ上に存在するMapleのプロセスが起動されるからである。
(2)Mapletのコードは高機能なので書くコード行が少なくてすむ。よってグラフ操作用スクリプトの自動生成処理も簡単化される。
教材自動生成中図2に示すように,連立方程式を解かせるために数式処理システムを起動する。その結果としてテキスト形式の数式が返る。そのテキスト形式数式をWebで表示可能なMathML及びjpegなどの形式に変換するのが,数式表現作成システムである。また,Webページ生成機により生成されたXMLでは,生成された数式の図ファイル及びMapletファイルなどをファイル参照する形でその画面に含めて表示する。使用するXSLTは,予め使いたい仮想キャラクタの種類などにより指定しておく。現在のInteraction Agentシステムでは,仮想キャラクタとしてMicrosoft Agent7を利用している。このMicrosoft Agentの制御はVBScript言語によってXSLT上にプログラムする。
3.国民所得決定問題を教授する数学教材
本節では問題タイプの事例として,国民所得決定問題を取り上げて,教材及び本システムの仕様を説明する。国民所得決定問題に関する説明は経済数学のテキストを参照して頂きたい8,9,10。マクロ経済学は国民所得レベルに関する経済学的理論及び政策に関する学問であり,その中心をなす国民所得決定問題を理解することは経済学部の学生にとって極めて重要なことである。例えば,民間投資や政府の公共事業などによる支出によって支出全体が増加した場合,それが国民所得の増減にいかに影響を及ぼすかについて,国民所得決定問題は解を与えるが,【286頁】それを非数式的に理解するだけでは深く問題を理解したとは言えない。そこで経済的ファクター間の関係を連立方程式の上で数学的にも理解させることが強く望まれる。また数学科の学生にとっても,連立方程式の実社会での応用として,自分達の経済社会の仕組みを理解することは非常に意義がある。教材自動生成システムとしての利点を生かす点でも,国民所得決定問題の教材を自動生成する意義は大きい。理由は,設定する経済モデルの違いにより多くのバリエーションが存在するからである。またそのモデル中には多数の経済変数が存在し複雑な依存関係をもつので,モデルごとにその連立方程式におけるファクター間の関係,つまり「何の変数を動かすと結果として他の変数がどう変化するか」という関係を数学的に正しく理解させることは意義がある。さらに,国民所得決定問題は,関数のシフトを現実社会の現象と結びつけて教授するための最適の教材と言えるであろう。
本e-Math Interaction Agentシステムは連立方程式を解く決定問題全般に適応可能なので,連立方程式が表現している物(変数)と物との間の関係を理解させるための各種の説明を生成する機能は,経済問題だけに限定されず,広く適応される。よって国民所得決定問題で生成される各種教材や説明文章は,あくまでも事例である。
本節で説明する数学問題のタイプ名は「国民所得決定問題」とした。これは経済学関係者の間ではこの方が,理解が早いのでこうしたが,数学的に見ると「均衡値への影響分析問題」とした方が適切である。一般に以下のように定義できるタイプの問題である。
「連立方程式中の2変数A及びBの間に,その他の独立変数Xを介する均衡関係A(X)=B(X)がある場合,均衡状態のXの値が,他の変数の変動によりどのような影響を受けるか求めよ」
経済学においてこのタイプの問題は頻出している。これらは米国のGRE Economicsの問題にも多く出題されている11。国民所得決定問題以外でも,例えば需要と供給の均衡関係に関する多種の問題がある。よって本問題に関する自動生成は有用性が高いと言える。
本節では,国民所得決定問題の例として,図3に示される問題を扱うこととする。この問題では,国民所得決定において投資(Investment)の変動による均衡国民所得(Y*)への効果を質問している。本Web教材は,本学のキャンバスネットワーク内において学生の自習用に公開されているが,システム構成技術上の問題,その他の理由から教材では英語を使っている。
始めに提示される文章題の文章であるが,これはフリーフォーマットで教師が作文する方が学生に分かり易いので,文章題文章は人間教師が書きそのファイルをシステムに与えることとした。
システム・スーパーバイザーとして我々は「国民所得決定問題」1問に対し,6ステップ,つまり6ページからなるWeb教材を作成することとした。以下順にステップを追って説明する。
Step1: 連立方程式を作成する
解くべき連立方程式を作成する(図4参照)。この問題では,財市場における「総供給(Ys) =総需要(Yd)」に注目する。この均衡式をメイン均衡式と呼ぶ.メイン均衡式という意味に対応するXMLタグの定義については次節で述べる。連立方程式の式は,このメイン均衡式の左右どちら側の世界に関係する式であるかによって,2分される。まず,Ysに関する世界であるが,総供給(Ys)は恒等的に国民所得(GDP:Y)に等しい。一方,Ydに関する式は政府部門,海外部門を考えるか否かに依存して各種のモデル化が行える。この問題では,政府部門及び海【287頁】外部門を考えない単純式Yd=C+Iでモデル化している。Cは消費(Consumption),Iは投資(Investment)を表わす変数である。
Step2: 左辺の関数を求める
次に,メイン均衡式の左辺と右辺,それぞれについて与えられた変数を引数とする関数となるように連立方程式を解く。この問題では,左辺のYsをYs(Y)の形の関数となるように計算する。結果は,Ys=Yであった。この例では,1式しかないので計算不要である。この関数式にはリンクが張られていて,クリックするとグラフが表示される。
Step3: 右辺の関数を求める
次に右辺の式YdについてYd(Y)を求める。結果は,Yd=0.8*Y+150であった。
Step4: メイン均衡式をターゲット変数について解く
以上でメイン均衡式の左辺と右辺の式が,ターゲット変数によって表現できた。次に,メイン均衡式の両辺にその式を代入して,ターゲット変数の均衡値を求める。この問題では,Y=750であった。
Step5: 特定変数の変動による均衡値への効果をみる
いよいよ特定変数を変動させてターゲット変数がどのように変化するかを調べる。この問題では,投資(I)をI=50からI2=100に増加させてYへの効果を見ている(図5参照)。ボタン"Go"をクリックすると,図6のグラフが表示される。教材としてのポイントは,I及びI2=I+僮の2値【288頁】に対して,3次元的にYd(Y,I)の曲線を示している点である。我々のWeb教材では,メイン均衡式の右辺の式あるいは左辺の式がターゲット変数(この問題ではY)以外の変数(この問題ではI)を含んでいた場合(つまり,Yd=Yd(Y,I)のような場合),3次元グラフを描くという解法プロセスとした。この例では,先のWebページで指定したI=50およびI=100の2本の等高線が描かれている。学生は,この3次元グラフを対話的に,視点を変えながら動かしながらグラフ表示することが可能であり†,Yd〜Yの平面を上から覗いた場合,図6の下にあるような平面上の2本の曲線となる。図6はMapletによって作成されたものである。
さらに,先に求めた交点の図に対して,この2本の等高線を追記することにより,図7のような均衡値への効果が得られる。この例では均衡値Y*は750から1000に増加していることが分かる。学生はグラフを自分で動かして視点を変えることで,この結果は図5に示した代数的に解いた結果と同じであることを確認できる。
Step6: 変数変動の波及プロセスをみる
変動させた変数と,ターゲット変数の均衡値の変化への波及プロセスを,順に追って示す。特定変数の変動により他の変数が増減どちらの方向に変動するかを,メイン均衡式の左辺における波及効果,次に,左辺から右辺へターゲット変数を介しての波及,右辺におへる波及効果,と2つの世界を分離して効果を説明することにより,学生がこの波及プロセスの詳細を理解で【289頁】きるよう支援している。
このWeb教材作成方針及び作成された数学教材の特長は,以下の点である。
(1)連立方程式中の式集合を,メイン均衡式の左辺と右辺によって2分することで,問題で与えられた変数間の関係を見通しのよいものとしている。
(2)変動させた変数とその差分の2本の等高線を3次元的にグラフ表示し,それを学生に視点を変えて動かしてもらうことで,変数の変動の他の変数への効果を図的に表現可能。
(3)変数の変動の波及プロセスをメイン均衡式の左辺と右辺の間で,どのように効果が波及していくのかステップバイステップに説明するので,学生の理解が容易になる。
次に本国民所得問題のメタレベル記述ファイルを示し,それを説明する。メタレベル記述ファイルは以下のようになる。これで入力情報として十分であることの数学的検討については既に行った12。
data: nationalIncome, Y, ,Y>0
data: supply, Ys, ,Ys>0
data: demand, Yd, Yd>0
data: consumption, C, C=0.8*Y+I, C>0
data: investment, I, I=50, I>0
unknown: nationalIncome
given: consumption, investment
relationship: Ys=Y, Yd=C+I
【290頁】find: equilibrium (Y, Ys=Yd),
effectOfvariance (Y, I, Ys=Yd)
教材は以下の2つの解法プラン関数から構成される。
(1)均衡値を求める→ equilibrium()
(2)特定変数変動の影響をみる→ effectOfvariance()
我々はシステム・スーパーバイザーとしてこの2つの解放プロセスモデルおよび教師対話モデルをPerlで作成した。
4.数学問題における意味的なXMLタグ
本節では我々が扱っているようなマルチメディア数学用教材定義について必要となるXMLタグが,レイアウト定義用と問題の意味定義用の2種類必要であることを説明し,国民所得決定問題ではどのように意味的XMLタグを定義したかを説明する。
4.1 レイアウト定義用XMLタグ
固定的な画面のフレームとして以下を定義した。
【291頁】(1)黒板エリア(bb area)
(2)対話エリア(interaction area)
(3)学生入力エリア(student input area)
定義したXMLタグの主なものを表2に示す。黒板エリアには,数式混じりの文章が表示される。どの部分が数式であるかを示す<expr>タグを定義した。このタグ値は初め"Q^3+2*Q^2"のようにテキストで書かれるが,数式表現用フィルタを通すと,その数式部分の静止画ファイルが生成され,<img>というXMLタグによってその静止画ファイルが参照されるようになっている。また,対話エリアはチャットシステムのように会話文が次々に表示される。教師の会話は仮想キャラクタが喋りもする。これは<Q>と<A>という質問と回答用のXMLタグによって定義される。ここで定義したタグは画面レイアウトと対話の流れに関するものであり,対象とする数学問題の意味に対応するものではなかった。
4.2 数学問題の意味的タグ
数学を講義する際,「このメインの均衡式が」とか,「この左辺式を代入すると」というように,その数学問題における意味で説明することが多い。多くの場合人間教師は,その固有の問題内でそれは具体的に何を指しているのか,その変数名及び数式などを省略することが多い。あるいは,逆に,一つの具体的表現から汎用モデルを学生に想起させようとする。つまり人間教師はgeneralizationとspecializationを学生の反応を見ながら,柔軟に行っている。システムにこのgeneralizationとspecializationとの自由な行き来をやらせるためには,数学問題の意味的なタグを定義する必要がある。
我々は国民所得決定問題における意味的タグをどのように定義したか説明する(表2参照)。表2では1行が一つの概念メタデータに対応する4つの属性XMLタグを示している。重要なメタデータとして,メインとなる均衡式,そして,その左辺(balance-left),及び,右辺(balance-right),【292頁】均衡変数(equilibrium-value)などがある。Equilibrium-value1及び2は,関数シフトの前後を意味する。仮想教師の会話テンプレートはXML上で初めこれらの問題意味的XMLタグとして抽象的に書かれる。次にXSLT上のマッピング処理により具体的な値が代入される。図3の対話エリアに仮想教師による会話が表示されているが,これらの文章には定義されたタグが多用されている。
個別な数学問題タイプに対してこのような意味的なタグ定義を行うことは意味があるか考察する。少なくともシステムのプログラム上表2のように意味的タグを定義することは効率向上に繋がった。我々は国民所得決定問題や先に試作した最適化問題のような非常に適応範囲の広い問題タイプに関してはこのような意味的タグ定義を行うことは意義があると考える。換言すると,このような意味的タグの表を学生の頭の中に構築することが,学習としてその問題を理解したことになると言えよう。つまりこの問題の本質である(経済)モデルの意味をメタデータレベルで定義したことになる。
数学教材をXML及びXSLTを用いて自動生成する研究はある13。しかし我々のように,より質の高い教師のガイダンス生成を目指して問題の意味に対応するXMLタグを定義した例はない。IEEE LOM(Learning Object Metadata)14などの教材作成用メタデータにおいては,教材を構成する要素の定義はなされているが,数学の特定のタイプの問題に出現する意味,あるいは概念に対するメタデータを定義するという研究はまだない。数学問題の意味的メタデータ定義に関する研究として,筆者が行っている以外では,平嶋の鶴亀算におけるメタデータ定義があるだけである15,16。しかし数学問題におけるメタデータを定義することにより,そのメタデータに対して,言葉,グラフ,など各種の説明用表現素材を生成することが可能であり,文章題の意味定義メタデータを利用することで,さらに質の高いガイダンスを生成可能となる。数学【293頁】問題定義用メタデータのさらなる研究が望まれるところである。
5.まとめ
本稿では,我々が開発しているe-Math Interaction Agentという数学問題自動生成システムの国民所得決定問題生成プロセスについて説明した。まず,我々が提案する数学用教材の自動生成に関する汎用モデルを説明した。そしてそれをどのように実現するか,汎用のシステム構成を述べた。
そして自動生成した教材事例として,国民所得決定問題用Web教材を紹介した。このWeb教材の問題解決プラン及び,説明のためのスキーマは,一般的な問題「連立方程式中の2変数A及びBの間に,その他の独立変数Xを介する均衡関係A(X) =B(X) がある場合,均衡状態のXの値が,他の変数の変動によりどのような影響を受けるか?」に対し広く適応可能である。つまり提案するWeb教材の解法プラン及び説明スキーマは適応範囲が広い。しかし,この国民所得決定問題はあくまで事例である。この例において,どのように意味的メタデータを定義したかがポイントである。現在,解放プロセスモデル及び,教師対話モデルはシステム・スーパーバイザーが自分で書いているが,将来的には,学生の反応に合わせて動的に対話文テンプレートなどを生成可能したい。そのためにも本論文で述べた数学問題の意味的メタデータの定義は必須と考える。IEEE LOMなどの教材作成用メタデータにおいては,教材を構成する要素の定義はなされているが,数学の特定のタイプの問題に出現する意味あるいは概念に対するメタデータを定義するという研究はまだない。しかし数学問題におけるメタデータを定義することにより,そのメタデータに対して,言葉,グラフ,など各種の説明用表現素材を動的に生成することが可能であり,文章題の意味定義メタデータを利用することで,各種多様な説明をしてくれる,さらに質の高い教材が生成可能となる。我々は今後も数学問題の意味定義用メタデータについて研究を続ける所存である。
謝辞
本研究の一部は,平成15年度科研費基盤研究(C)(2)「マルチメディア教育支援システムeMathにおける教育用データベースの構築」(課題番号:15606014,代表:白田由香利)による。ここに記して謝意を表します。また数学と経済の領分野を理解しメタレベルなプログラミングを引き受けてくれた田邊牧子氏に感謝します。