bead

A Python framework for constructing, deploying, and analyzing large-scale linguistic judgment experiments with active learning.

Overview

bead implements a 6-stage pipeline for linguistic experiment design:

  1. Resources: lexical items and templates with constraints
  2. Templates: template filling strategies (exhaustive, random, stratified, MLM, mixed)
  3. Items: experimental item construction (9 task types)
  4. Lists: list partitioning with constraint satisfaction
  5. Deployment: jsPsych 8.x batch experiment generation for JATOS
  6. Training: active learning with GLMM support and convergence detection

Key Features

Installation

uv pip install bead

For development installation:

git clone https://github.com/FACTSlab/bead.git
cd bead
uv sync --all-extras

Requirements

Citation

If you use bead in your research, please cite:

@software{white_bead_2026,
  author = {White, Aaron Steven},
  title = {Bead: A python framework for linguistic judgment experiments with active learning},
  year = {2026},
  url = {https://github.com/FACTSlab/bead},
  version = {0.2.0}
}

License

MIT License. See LICENSE for details.