Skip to content

iremdmrc/datathon-openstax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Overview

Educational platforms such as OpenStax organize textbook content according to official learning standards. Manually assigning standards to thousands of sections is slow, subjective, and difficult to scale.

In this project, we frame the task as a text classification problem:

Given a textbook section, automatically predict the most appropriate educational standard.

Our system processes hierarchical textbook data, extracts meaningful textual representations, trains lightweight machine-learning models, and generates predictions for previously unseen textbook content.

Problem Statement

Input: textbook sections stored in hierarchical JSON format

Output: predicted educational standard code (e.g., HSG.CO.A.1)

Task type: multi-class text classification

Evaluation metric: classification accuracy

Goal: reduce manual labeling effort and improve consistency across curricula

Dataset

Data comes from the OpenStax Education Track challenge.

Two JSON files are provided:

training.json — labeled sections from three textbooks

testing.json — an unseen textbook used for evaluation

Each section is associated with one or more standards.

We flatten the hierarchy:

Book → Concept → Domain → Cluster → Item → Standard

into structured rows for modeling.

⚠️ No external datasets were used.

Methodology

Preprocessing

Traverse the nested JSON structure

Extract:

section description/text

hierarchical context (book, concept, domain, cluster)

identifiers and URLs

Construct rows:

(id, model_text, label)

Feature Engineering

Convert text into numeric features using TF-IDF

Include unigrams and bigrams

Filter rare/common tokens

Normalize formatting

Modeling

Baseline:

Logistic Regression

Improvements:

Add hierarchical context into text input

Linear Support Vector Machine (LinearSVC)

Class weighting for rare standards

Hyperparameter tuning via cross-validation

Evaluation Strategy

Stratified cross-validation on training set

Book-level hold-out simulations

Accuracy comparison between baseline and tuned models

Error analysis across similar standards

Results

Strong baseline accuracy with simple models

Adding hierarchical context consistently improved performance

Linear SVM slightly outperformed logistic regression

Most errors occurred between highly similar standards

Visual analysis includes:

Distribution of predicted standards

Validation accuracy across tuning experiments

Model-wise performance comparison

(See outputs/ for charts.)

Repository Structure

datathon-openstax/ │ ├── data/ │ ├── training.json │ └── testing.json │ ├── src/ │ ├── flatten_openstax.py │ ├── ingest_to_mongo.py │ ├── train_baseline.py │ ├── train_tuned.py │ ├── report_metrics.py │ └── gemini_explain.py │ ├── outputs/ │ ├── predictions.csv │ ├── tuning_results.csv │ └── chart_*.png │ ├── README.md └── requirements.txt

How to Run

Install Dependencies

pip install -r requirements.txt

Load Data into MongoDB

python src/ingest_to_mongo.py

Train Models

Baseline:

python src/train_baseline.py

Tuned model:

python src/train_tuned.py

Generate Evaluation Plots

python src/report_metrics.py

Output Files

After running the pipeline:

outputs/predictions.csv — final submission file

outputs/tuning_results.csv — hyperparameter experiments

outputs/chart_*.png — performance visualizations

Deliverables

✅ GitHub repository with reproducible code ✅ predictions.csv submission file ✅ Performance plots ✅ Presentation slides ✅ 2–3 minute demo video

Impact

Saves educators time when aligning curriculum

Improves consistency across textbooks

Enables scalable educational publishing

Can extend to multilingual textbooks

Future Work

Transformer-based language models

Multi-label classification

Modeling hierarchical standards

Active learning for rare classes

Cross-language generalization

Team DatAGirl

Tugba Irem Demirci — Modeling & Data Pipeline Ayse Sule Ekiz — Presentation, Storytelling & Packaging

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors