Repo-lab
データ分析

os-taxonomyとは?小学教育1590トピックの学習前提グラフJSONデータセット活用ガイド

⭐ 3,299 stars GitHub →

withmarbleapp/os-taxonomy(Marble Skill Taxonomy)は、小学校・初等教育で子どもが学ぶべき1,590のマイクロトピックと3,221の前提条件依存関係を構造化したオープンソースデータセットです。GitHub Stars 3,299を記録し(2026年7月時点)、NGSS・Common Core・英国ナショナルカリキュラムなど複数の国家カリキュラム基準に対応しています。EdTechスタートアップ、教育AI研究者、学習管理システムの開発者が実際のデータソースとして即座に使える設計になっています。

Marble Skill Taxonomy 使い方:データ構造と取得方法

データ構成の全体像

データはすべて data/ ディレクトリに UTF-8 JSON 形式で保存されています:

ファイル 内容
data/topics.json 1,590マイクロトピック(グラフのノード)
data/dependencies.json 3,221前提条件エッジ
data/curriculum-standards.json NGSS・Common Core等のカリキュラム基準
data/clusters.json 183ドメインクラスターの要約
data/manifest.json カウント・SHA-256チェックサム

クローンとバリデーション

git clone https://github.com/withmarbleapp/os-taxonomy.git
cd os-taxonomy
node scripts/validate.mjs

validate.mjs がJSON構造と参照整合性を検証します。純粋なデータセットのためランタイムや外部依存関係は不要です。

JavaScriptでの基本的な使い方

import topics from './data/topics.json' with { type: 'json' };
import deps from './data/dependencies.json' with { type: 'json' };

// トピックIDからオブジェクトへのMapを作成
const byId = new Map(topics.topics.map(t => [t.id, t]));

// 特定トピックの前提条件を取得
const prereqs = deps.dependencies
  .filter(d => d.topicId === 'mt_N8CpN1EJrP')
  .map(d => byId.get(d.prerequisiteId).name);
// → ["文字の読み書き", "語彙の基礎", ...]

教育カリキュラム データセット JSON の構造詳細

マイクロトピックオブジェクト(topics.json)

{
  "id": "mt_N8CpN1EJrP",
  "type": "CONCEPTUAL",
  "subject": "English",
  "domain": "Grammar & Punctuation",
  "name": "Building sentences",
  "description": "Understand that words combine to make sentences...",
  "ageRangeStart": 4,
  "ageRangeEnd": 6,
  "centrality": 0.257,
  "evidence": [
    "Distinguish between complete sentences and fragments",
    "Compose a complete sentence with a subject and verb"
  ],
  "assessmentPrompt": "If {{name}} says something like \"The dog\"...",
  "standards": ["ccss-ela:L.K.1f", "uk-nc-2013:Eng.App2.Y1.Sent.1"]
}

centrality(中心性スコア)は前提グラフ内での重要度を示す数値で、重要な概念ほど高い値を持ちます。assessmentPrompt{{name}} は子どもの名前プレースホルダーです。

前提条件エッジオブジェクト(dependencies.json)

{
  "topicId": "mt__00ZSLnB7p",
  "prerequisiteId": "mt_VBl1T1sFCM",
  "strength": "hard",
  "reason": "Must understand vibrations make sound before finding volume patterns"
}

strength: "hard" は必須の前提条件、"soft" は推奨の前提条件を意味します。エッジを逆にたどると「このトピックを習得することで次に学べるもの」が分かります。

学習 前提グラフ ODbL 無料の活用シナリオ

Pythonでの有向非巡回グラフ(DAG)操作

import json
import networkx as nx

with open("data/topics.json") as f:
    topics = json.load(f)["topics"]
with open("data/dependencies.json") as f:
    deps = json.load(f)["dependencies"]

G = nx.DiGraph()
for t in topics:
    G.add_node(t["id"], name=t["name"], subject=t["subject"])
for d in deps:
    G.add_edge(d["prerequisiteId"], d["topicId"], strength=d["strength"])

# 特定トピックを学ぶためのすべての前提を再帰的に取得
target = "mt_N8CpN1EJrP"
ancestors = nx.ancestors(G, target)
print(f"前提トピック数: {len(ancestors)}")

NetworkXを使うことで、学習パスの最適化・カリキュラムギャップ分析・カスタム学習ロードマップ生成が可能になります。

os-taxonomyとの違い・なぜ今このツールか

データソース 形式 前提関係 ライセンス
os-taxonomy JSON・DAG 3,221エッジ+理由文 ODbL 1.0 + CC BY-SA 4.0
Common Core Standards PDF・テキスト なし 公的文書
NGSS HTML・JSON 部分的 要確認
商用EdTech製品 クローズドAPI あり(非公開) 利用制限あり

os-taxonomyが「なぜ今話題か」という観点では、単なる基準文書(PDFやリスト)ではなく、有向非巡回グラフ(DAG)として機械可読な前提条件エッジを公開した点が唯一無二です。教育AIの文脈では、LLMが学習者のレベルに応じたコンテンツを生成するための知識グラフとして活用でき、2026年のEdTech×AI融合トレンドにぴったり合致しています。

こんな人に向いている

EdTechスタートアップのプロダクトマネージャー・エンジニア

学習管理システム(LMS)や個別最適化学習アプリを開発しているチームにとって、コンテンツシーケンスの設計に必要な「どのトピックの後に何を学ぶか」というルールを手動で作成する工数を大幅に削減できます。1,590トピックのカリキュラムベースがすぐに使えるため、プロトタイプ開発のスピードが格段に上がります。

教育AI・LLM研究者

教育コンテンツ生成AIの評価データや、学習パス推薦モデルのトレーニングデータとして利用できます。assessmentPrompt フィールドには自然言語の評価プロンプトが含まれており、LLMベースの形成的評価システムのベースラインとしても機能します。DAIRアカデミーなど研究機関での採用実績もあります。

学習コンテンツ設計者・インストラクショナルデザイナー

インストラクショナルデザインの文脈では、コースの前提条件設計(prerequisite mapping)が品質に直結します。os-taxonomyのDAG構造は、既存コースのギャップ分析や学習シーケンスの妥当性検証に活用できます。英国・米国カリキュラムとのアライメントデータも含まれているため、国際展開するコンテンツの設計にも役立ちます。

使う前に知っておきたいこと

ライセンスの多層構造

os-taxonomyは3層のライセンス構造になっています:

  1. データベース全体(コレクション・構造・ID・関係): ODbL 1.0 — 研究・商用利用可能、帰属表示必須派生データベースはODbL継続適用(シェアアライク)
  2. Marbleが著作した文章コンテンツ(description・evidence・assessmentPrompt等): CC BY-SA 4.0 — 帰属表示+シェアアライク
  3. curriculum-standards.json(NGSS・Common Core等の元データ): 各上流ライセンスに依存

重要: ODbLでは「派生データベース」(タクソノミーを拡張・修正)と「製品(タクソノミーを使用したアプリ)」が区別されます。アプリに組み込む場合は製品扱いとなりオープンソース化義務はありませんが、タクソノミー自体を改変した場合はODbLでの公開が必要です。

対応カリキュラム範囲

現在は主に英語・米国・英国カリキュラムに基づいており、日本の学習指導要領へのアライメントは含まれていません。日本向けEdTechに活用する場合は、文部科学省のカリキュラム基準とのマッピングを追加で実施する必要があります。

データスコープと制限

意図的に除外されているデータがあります:セマンティック埋め込み(再計算可能なため)と個人別・児童別データ(非公開)。また現在の v1 は英語・数学・理科・歴史など8教科に限定されており、音楽・体育・美術等は含まれていません。

まとめ

Marble Skill Taxonomy(os-taxonomy)は、EdTechと教育AI開発において不可欠な「何を・どの順序で学ぶか」という知識構造をDAGで公開した、世界的にもユニークなオープンデータセットです。1,590マイクロトピック・3,221前提エッジというスケールは、カリキュラム設計の自動化や学習パス推薦AIの開発に即座に役立てられます。ライセンス構造を正しく理解した上で、EdTechプロダクト・学習AIの研究開発に積極的に活用してください。

関連ツール・おすすめサービス

  • DigitalOcean — データセット公開・EdTechバックエンドの高コスパなクラウドホスティング
  • Perplexity AI — os-taxonomyのトピックを起点にした教育コンテンツのリアルタイム調査に

この技術を学ぶ

データ分析に興味を持った方には、UdemyのEdTech開発・データサイエンスコースもおすすめです。

毎日更新のGitHubツール情報

LINEで受け取って最新情報をキャッチアップしよう

友達追加する(無料)

関連記事

この記事が役に立ったらシェアしてください