K–12数学・英語のカリキュラムに沿ったナレッジグラフの構築
1,244のトピック、5,123問、前提知識の追跡、適応型診断を備えた静的なオープンソースのK–12学習グラフを紹介します。AI生成コンテンツに関する重要な注意点も解説します。
ある学習者が問題を間違えたからといって、出題されたトピックを忘れているとは限りません。つまずきは、何段階も前にある可能性があります。二次式の因数分解には平方完成の公式への理解が必要かもしれませんし、高校の関数の概念が中学校で学んだ考え方に依存していることもあります。したがって、有用な診断には単なる得点以上のものが必要です。概念どうしがどのように依存しているかを示すモデルと、その依存関係をたどって根本原因までさかのぼる方法が求められます。
cn-math-taxonomy は、まさにこの課題への取り組みです。このリポジトリは、カリキュラムを軸にしたナレッジグラフ、問題バンク、ブラウザー上で動作する適応型診断ツールを組み合わせています。現在のデータセットには、数学と英語を対象に、1,244の正式な知識項目、1,877の前提関係エッジ、382件のカリキュラム基準項目、5,123問が収録されています。
グラフの対象範囲
このプロジェクトの数学グラフは、小学校から高校までをカバーしています。小学1~6年、中学7~9年、高校の必修数学2冊、および選択必修の3冊です。高校の教材には、人民教育出版社A版(2019年)を使用しています。英語は独立したグラフで、小学3~6年と中学7~9年を対象としています。
内訳は次のとおりです。
| 教科・学年段階 | トピック数 | 前提関係エッジ | 問題数 |
|---|---|---|---|
| 小学校数学 | 216 | 311(段階内) | 864 |
| 中学校数学 | 315 | 563(段階内) | 1,407 |
| 高校必修数学 | 143 | 196(段階をまたぐ関係を含む) | 572 |
| 高校選択必修数学 | 128 | 194(モジュール間の関係を含む) | 512 |
| 小学校英語 | 197 | 236 | 788 |
| 中学校英語 | 245 | 342 | 980 |
数学グラフ全体には802のトピックと1,299のエッジがあります。英語は442のトピックと578のエッジで構成されています。両教科を合わせると、グラフには**1,877のエッジ(必須1,279、任意598)**が含まれています。
これらのラベルは、前提関係の種類を区別します。**必須(hard)**エッジは、その前提知識がなければ学習者が対象の内容を習得するのは難しいことを意味します。**任意(soft)**エッジは、先行する概念が役立つものの、絶対的な条件ではないことを示します。たとえば、本当に必要な代数スキルは必須になり得ますが、教科書の掲載順に基づく推奨順序は任意になり得ます。
この区別は診断において重要です。先行するトピックをすべて必須とみなすと、補習経路が不必要に膨らむことがあります。一方で、すべての関係を任意とみなせば、実際の学習上のつまずきの原因が見えにくくなる可能性があります。
誤答から学習経路へ
診断ツールは、これらのエッジを使って次に出題する問題を決めます。トピックまたは章全体を起点にします。学習者が最初の問題に正解すると、そのトピックを習得済みとし、先祖にあたる前提トピックを省略します。不正解の場合は、同じか、より易しいレベルの問題をもう1問出題します。2問目に正解すれば、そのトピックを「不安定」と判定し、さらにさかのぼることはしません。2問とも不正解なら弱点と判定し、前提知識の追跡を開始します。その際、任意の前提より先に必須の前提を確認します。
その結果、単一の正答率よりも実際に活用しやすい情報が得られます。弱点となっている根本概念や、不安定と思われるトピック、学年の低い内容から高い内容へ順に並んだ学習経路を確認できます。また、関連するカリキュラム基準項目や、経路を示すグラフも表示されます。結果はローカルに保存でき、JSONとして書き出したり、印刷したり、共有用の画像にしたりできます。
たとえば、平方完成でつまずいている学習者を、平方完成の公式までさかのぼって追跡できます。高校の関数の学習目標から、中学校の二次関数の概念へたどることもできます。誤答を記録するだけでなく、原因となりそうな要素を診断することが、このプロジェクトの中心的な考え方です。
データの確認とデモの実行
このリポジトリでは、主要なデータをプレーンなJSON配列として管理しています。
data/topics.jsonには、トピック名、分野、説明、習得基準、診断問題、基準との対応が格納されています。data/dependencies.jsonには、前提関係、その強さ、簡単な根拠が格納されています。data/questions.jsonには問題バンクが含まれています。data/cn-curriculum-standards.jsonには382件の基準項目(数学310件、英語72件)が含まれています。
トピックのレコードには、id、name、domain、grade、chapter、type、mastery_criteria、diagnostic_question などのフィールドがあります。依存関係は次の形式です。
{
"topicId": "cnm_221",
"prerequisiteId": "cnm_p042",
"strength": "hard",
"reason": "この概念では、先行するスキルを直接使います。"
}
グラフには直接の前提関係が保存されています。また、新しいエッジを追加する際には推移簡約を適用し、より近い前提経路ですでに示されている関係を重複して記録しないようにしています。後から追加を行った際も、既存の中学校数学のエッジは意図的に変更していません。
サイトは静的ですが、各ページはJSONデータを読み込むため、file:// ではなくローカルのウェブサーバー経由で開いてください。
python3 -m http.server 8000
その後、ホームページは http://localhost:8000/、グラフは http://localhost:8000/explore/、診断は http://localhost:8000/diagnose/ で開けます。デモ用の対象は http://localhost:8000/diagnose/?target=cnm_221&demo=1 から確認できます。
検証とエンジンのテストは、ローカルで次のように実行できます。
python3 scripts/validate.py
node tests/test_engine.js
バリデーターは、JSONの妥当性、一意なID、必須フィールド、エッジの有効な接続先、重複エッジ、循環、孤立ノード、基準への参照を確認します。STRICT_STANDARDS=1 を設定すると、基準との対応がない場合に警告ではなくエラーになります。診断エンジンは、ブラウザーとNodeの両方で動作する、依存関係のないJavaScriptで実装されています。
完成した評価ツールではなく、研究用プロトタイプとして扱う
このリポジトリは、自らの限界を非常に明確に示しています。その注意点を踏まえて、開発者は利用方法を考える必要があります。コンテンツはAIが生成した初稿であり、教師によるレビューを受けていません。 トピックの粒度、習得基準、回答の質、特に前提関係の有無や強さについては、授業や自動学習推薦に使う前に専門家のレビューが必要です。
検証の範囲にも差があります。小学校・中学校の数学問題には自動チェックが行われ、中学校数学には独立した二度目のレビューも実施されています。小学校英語と高校数学の問題にも自動検証がありますが、回答を独立したブラインド方式で解いて確認したわけではありません。検証用の式と回答が、同じ生成経路から作られている可能性があります。英語の問題とカリキュラム対応は教師によるレビューを受けていません。また、英語の問題にはリスニングとスピーキングが含まれていません。
カリキュラムとの整合性は、公式な認証を意味するものではありません。一部の基準項目は公開情報を言い換えたもので、verbatim: false と「待核」(要確認)の注記が付いています。教科書の章立て一覧のいくつかは、出版社の公式カタログではなく第三者の情報に基づいています。特に、小学校・高校の対応付けの一部と、中学3年下巻の数学の想定内容は、暫定的なものだと明記されています。また、リポジトリは高校の学年表記が整理上のものであることにも注意を促しています。必修第2冊は一般に高校1年の第2学期に教えられますが、このツールでは高校2年の内容として表示されています。
評価として見ると、問題バンクの規模は小さく、ほとんどのトピックに問題が4問、診断で出題されるのは各トピック最大2問です。難易度、誤答選択肢、診断精度を調整するための学習者の回答データはありません。このツールは、カリキュラムグラフの探索や、学習上のつまずきに関する仮説づくりには役立ちますが、教師、妥当性が検証された試験、あるいは習得度を包括的に測る手段の代わりにはなりません。
レビューと実験のための有用な基盤
こうした注意点はあるものの、このリポジトリは、カリキュラムをデータとして表現する具体的で検証可能な例を開発者に提供します。概念をノード、依存関係を型付きエッジ、基準を対応付け、診断の振る舞いをテスト可能なアルゴリズムとして表現しています。また、英語と数学を結び付けずに教科別のグラフを2つ扱いつつ、中学校英語の前提知識から小学校英語へさかのぼることができます。
このプロジェクトのデータ、ツール、ドキュメントには CC BY-NC 4.0 ライセンスが適用されています。出典を明記すれば、個人学習、教育、研究、改変、再配布が認められています。商用利用には別途許可が必要です。同梱されているCytoscape関連ライブラリには、それぞれのMITライセンスが適用されます。
学習分析、カリキュラム用ツール、教育向けRAGやグラフシステムに取り組む開発者にとって、次に進むべき重要な一歩は、生成したノードをさらに増やすことではありません。既存のエッジや問題を教師とともに監査し、公式文書に照らして基準を確認し、最終的には実際の学習者データを使って診断を検証することです。グラフは規模が大きいから教育的に有用なのではなく、関係性とそこから導かれる結論に信頼性があるときにこそ役立ちます。