CIEC 第 94 回研究会報告
テーマ e-Learning における数式自動採点の可能性
日時2011 年 12 月 18 日(日) 13:30 ～ 17:00
会場
名古屋大学 情報科学研究科棟 第 1 講義室
参加者：17 名[ 研究会概要 ]学習者が計算結果を解答する数学のドリルコンテンツは、コンピュータの演算機能を活用した e-Learning コンテンツとして早くから注目されてきた。そこで、理系における e-Learning において重要となる数式を含む解答の評価に焦点を当て、開発経緯と問題点について 2 つのシステムを例に議論した。1 つめは、学習者の入力した数式の状態にあわせて細やかなフィードバックを行うことができ、学習マネジメントシステム Moodle と連携する数式自動採点の枠組みである STACK である。2 つめは、学習者の解答が正解であったかを判定するだけではなく、式展開を追跡し、複数行の数式の中から、間違った箇所を指摘することが可能な人間の教員による数式の採点に似た自動採点システムである。
2 件の講演によって、単なるシステムの紹介にとどまらず、構築の際のトラブル事例などを含むシステムの設計の視点、教育的な視点で質疑応答を交えながら参加者と講演者間で有意義な時間を共有できた。
更に、この研究会は名古屋大学全学技術センター 池田将典氏の技術協力によりの Ustream 配信が可能となった。休日にもかかわらず撮影機材搬入の準備から撮影までご協力いただいたことをここに深謝する。なお、当日の研究会の様子は、
http://www.ustream.tv/recorded/19218281
で視聴することが可能である。

[ 講演 1 ] 数学ｅラーニングシステム STACK の日本語化総括、機能拡張、および活用事例（13：30 ～ 15：30）
講師 中村 泰之 氏 (名古屋大学大学院情報科学研究科)
講師 中原 敬広 氏 (合同会社三玄舎)
講演要旨
ｅラーニングのコンテンツとして、数学や物理などの数式が必要な場合、数式を数式として扱うことは、非常に困難である。よくある学習コンテンツとでしては、初期条件やパラメータを設定することで結果をシミュレーションするものや、センター試験のように数字で各桁を答えるもの、また、多肢選択式から選択して解答するものなどが多く、数式そのものをそのままの数式で解答した場合には、正誤評価はできないものがほとんどである。ここでは、数学オンラインテスト評
価システム STACK(System for Teaching and Assessment
using a Computer algebra Kernel) を用いて、Web 上で数学の問題を解き、 その解答を数式として正誤評価を行い、LMS である Moodle と連携させることにより、数式を扱う自然科学教育のための e-Learning システムとしての概要と活用事例を紹介すると共に、日本語化の総括、機能の拡張について、開発における問題点とそれをどのように改善したかを中心に教育実践者の視点とシステム開発者の視点から報告された。
主に、反応速度、日本語の問題点、インストールの問題点、User Interface(UI)の問題点の 4 点について報告された。
1 つめの反応速度について、開発当初の STACK は、Opaque というモジュールを用いて SOAP プロトコルにて SATACK と通信オーバーヘッドが多く STAK との通信が 3 回で完結するので重たかった。それを解決するた
め、キャッシュの機能を実装することで 10 倍の処理速度を実現できた。

また 2 つ目の、日本語の問題に関しては、Moodle と SATCK の言語設定ファイルが別であり、プログラム内の変数名も短縮されていた為、解読に時間が要した。真の多元子対応システムを構築する際に大切な視点であることが述べられた。
さら 3 つめの問題点である Linux 環境へのインストールについては、Linux と一言でいえどもいろいろなディストリビューションがあり、安定稼働するディストリビューションと MAXIMA、GNUPlot、STACK、Moodleの組み合わせを探ることも大変な作業量となる。
現在の安定動作環境は、
CENT OS 5.3、Maxima バージョンが、5.17.1、LISP は SBCL を使用したものである。以上の組み合わせで RPM を作成し、導入に障壁となる事項をクリアーした。
4 つめの数式入力環境については、suim などの手書き入力の他、いろいろな入力環境について議論が必要であり、今後の課題であることが報告された。
活用事例において、SATACK は学習の過程（間違いの修正）が見られるのがよいとの報告があった。STACKは誤答一覧が見られるのがメリットである。利用を促進するために、成績課題として課した。そのときの留意点として、・最高得点が評点となる→不完全なままの提出を避ける・計算過程を記したノート（メモ程度でも可）も提出を求めたが挙げられた。
質疑応答
入力環境について◆ 会場意見：授業の前に Maxima 入力の練習をしてはどうか◆ ツールの開発をしてはどうか→ 手書き認識ソフト：芝浦工大の手書き数式認識（比較的認識率がよい：分数の認識が特によい）
http:suim.jp
意見：GUI は教育効果がよくないという結果有る。
テキストライクがよいが、TeX は冗長的でよくない。
→ 今後の課題◆ 導入への壁がある。Moodle がバージョンアップされるとどうなるのか→ 2.0 で幾分解決されているが、安定稼働のバージョンに合わせるのが得策である。
また、2.2 は運用に耐えうるバージョンである◆ 問題演習をすべて置きかえる場合の学習効果はどうか？
すべてを STACK で置き換えようとは思っていない。ユーザの選択の一つ◆ 問題演習は、宿題ではなく、その場でやらせて、出来具合で説明するのはどうか
教える側が、分からないところが分からないことを把握するのが有効ではないか？
→ もともと、使い方は、説明がてら問題を解かせていたが、授業の後で展開してもいいのかもしれない◆ 間違いパターンを学生に見つけさせるのが大事
学生自体が気づく
誤答訂正を問題にするのはどうだろうか？
過去の誤答を生かすとよいのでは。
→ 今までの想定にはなかった。是非参考にさせていただきたい。
◆ どこで躓くか教員は分からない。いろいろ引っかけ問題を作ってはどうか→ 機械的にやっていると出来るが、引っかけを作るのが難しい。
どのあたりで躓いているかを受講者に見つけさせることが大切
意見：プログラミングでも、デバッグが出来ない学生が多い◆ 理想の数学（自然科学）教育とは何か、STACK で何を教育したいのですか？
→ 数学・自然科学では、論理的な思考方法を教育
STAK を用いると何が実現できるか・段階的に当問題・綿密に設計されたフィードバック
・基本的な思考法のトレーニング◆ 統計分野で表を自動更新させるにはどうするか検定などで使える、MAXIMA の統計関数はどのようなものがあるか→ 関数欄に関数を定義する方法がある。
◆ 自分で作った関数を共有できるといいのですが→ 現段階では、MAXIMA にインクルードして実行する方法がある[ 講演 2 ] 数式処理システムを活用した記述式数学ドリルの自動採点（15：30 ～ 17：00）
講師 篠田 有史 氏 (甲南大学情報教育研究センター)
講演要旨
数学の e ラーニング教材として、学習者が入力した数式を自動採点するドリルを構築しようとする場合、入力された数式と正解の数式とが、数式として等価であるかを評価して採点することが求められる。このような自動採点システムの開発では、従来は、希望する採点動作を実現できるよう、数式を評価する仕組みを検討する所からスタートする必要があった。しかし、今日では、数式処理システムを持つ多彩な機能を利用して、学習者が入力した数式を評価することが可能となっている。
そこで、数式処理システム Maxima を用いて作成した数式評価サーバと、複数行の数式入力を受け付ける数式管理クライアントとを組み合わせた記述式数学ドリルを提供するシステム構築した。このドリルシステムは、正解に一致するといった観点からの評価だけではなく、学習者が入力した数式の連続性による評価が可能であり、細やかなフィードバックによる新しいオンライン学習体験の提供を目指したものである。
まず、STAK 以前の CAI 的な種々の取り組みが紹介され、Moodle 標準の Quiz 形式である選択か穴埋め（文字列比較）の問題点、STACK、Malple T.A.などと提案システムとの違いについて述べられた。
STACK の場合、LMS が指定されてしまう点を指摘、SCORM を枠組みとした設計の視点も大切ではないかと提案。更に、数式を扱うときに、「式として等価」な場合と、「記述書式をとして等価である」場合があることを、因数分解を例に 2 点の注意点を挙げた。
その 2 点の注意点を、MAXIMA で自動採点の流れを示しながら具体的に解説提案されたシステムの特徴として、Flexibility について触れられた。SCORM の枠組みを利用しているためLMS を選ばない。更に、数式評価サーバとして利用される数式処理システムは MAXIMA でも Mathematia でも可能である点が、自由度の高さとして評価できる。
また、答案解答の標準記述形式を TeX による表現を採用。高校においても問題集が TeX の形式で配付されていることもその理由の一つである。問題作成の敷居を低くしたいという狙いである。TeX の形式は、SnuggleTeXにより、MAXIMA 形式に変換（MathML も可能）である。
システムの主たるアイデアは、若し人間の先生が見ていれば、途中経過を見てくれる。しかしながら、教員が、すべての生徒の解答に目を光らせることは出来ない。なぜならば、膨大な時間と人的コストがかかる。そこで、コンピュータに採点させようという視点である。
学習者は、解答だけでなく途中経過を沢山書けて、それに対してレスポンスがある。さらに、数式を書きながら考えられる。学習者は、解答を見てくれるシステムと向き合う学習が可能である。つまり、採点精度に本質は宿らないものがつくれるのではないかと考えた。
正解だけでなく、途中経過を評価する。
偶然正解を正解としない。そういう評価が数学においては必要である。
さらに、現在の取り組みとしては、自由記述の採点まで考え、形態素解析や構文解析などを取り入れた枠組みについて検討中であると報告された。
今後の課題として、STACK と同様、数式入力のインタフェースが挙げられた。
質疑応答◆ 問題を作るインタフェースはどのようものか→ 今は、XML で直に記述している。生産性より現段階では仕組みを重視している。

XML の書式さえしっかりと定義しておけば、UI は後から設計できる。
◆ webAPI を公開して、作って貰うのはどうか→ 未だその仕組みは構築していない。
◆ モバイルを意識しているが、通信環境がないと使えない。その問題点をどう考えているか→ ネットからの独立は達成できていないが、ローカルに保存しておいて、後でつなぐのは可能
今後の課題としたい◆ 使い方が問題とあるが、どのようなことを想定しているか→ 高得点を取らすためのシステムではない。
◆ 学生からの意見→ 自分が解いていて困ったことは、計算間違いが多いので、STACK より篠田さんのシステムの方が、魅力的途中式をみて評価して欲しい。
ただ、手で打ち込むのが面倒。数式 OCR などがあればいいと思う。
→ InftyReader で TeX 変換が可能 或いは Windows７の数式入力で MathML 変換が考えられる。
◆ 最初の式も入力するようにすればどうか？ 計算間違いチェッカーとしてのサービスは考えられないか？
そのような、サービスとして提供して欲しい→ 新しい視点。 前向きに検討したい。
◆ 公式を使った場合の評価はどうなるか→ 公式の評価は STACK で可能。公式を使って解くのは面白くないという視点で作っている◆ モバイル Flash 撤退。脱 Flash で設計はしないのですか？
→ HTML5 で実装可能だと思う。今後の課題である。
◆ 運動方程式を作るところから評価できるようにして欲しい→ 形態素解析や構文解析エンジンを使って実装したいと考えている。このことは、我々のゴールでもある→ 運動方程式など式を立てる場合は、STACK で可能(吉田 賢史 早稲田大学高等学院)