CHAIR is a comprehensive library for conducting inductive qualitative data analysis using Large Language Models (LLMs) and human-AI collaboration.
CHAIR provides a complete pipeline for inductive qualitative data analysis, featuring:
- Flexible Data Input: Support for text files, Word documents, and structured data formats
- AI-Powered Coding: Support for multiple LLM providers (OpenAI, Google, Anthropic, Groq, Ollama, etc.)
- Multiple Coding Strategies: Item-level, chunk-level, and specialized analysis approaches
- Human-AI Collaboration: Interactive and automatic modes for coding and consolidation
- Advanced Consolidation: Smart merging and refinement of coding results
- Evaluation Framework: Network-based evaluation and visualization tools
- Multi-step Analysis Pipeline: Complete Load → Code → Consolidate → Evaluate workflow
Load your qualitative data from various sources:
- Text files
- Word documents (with qualitative codes as comments)
- Excel Spreadsheets (with qualitative codes)
Apply Generative AI coding strategies:
- Item-Level Analysis: Individual data item analysis
- Chunk-Level Analysis: Process larger text segments
- BERTopic Integration: Automatic topic modeling
In parallel or alternatively, load human coding results.
Merge and refine coding results:
- Simple Merger: Basic consolidation
- Refine Merger: Similarity-based merging
- Definition Generator: Auto-generate code descriptions
Assess and visualize results:
- Network Analysis: Graph-based coding relationships
- Coverage Analysis: Completeness assessment
- Interactive Visualization: Web-based exploration
📖 See TUTORIAL.md for complete installation and usage instructions
git clone https://github.com/CIVITAS-John/CHAIR.git
cd CHAIR
# Windows
scripts\setup.bat
# Unix/Mac
./scripts/setup.shThe setup script will:
- Check Node.js installation (v20+)
- Create .env file with API keys
- Install Node.js dependencies
- Build the project
- Setup Python virtual environment
- Install Python dependencies
After installation, you can run the provided examples to see the framework in action:
# Build the project with examples
npm run build:examples
# Run automatic analysis (processes txt-data)
node out/examples/example-automatic.js
# Run interactive analysis (processes docx-data with user input)
node out/examples/example-interactive.jsnpm run build # Build main project
npm run build:examples # Build with examples
npm run build:workspaces # Build with workspacesnpm run lint # Run ESLint and Prettier
npm run format # Auto-fix formatting issuessrc/
├── coding/ # Analysis strategies and implementations
├── consolidating/ # Code merging and consolidation logic
├── evaluating/ # Evaluation metrics and visualization
├── loading/ # Data loading implementations
├── steps/ # Pipeline step definitions
├── utils/ # Utilities for LLMs, embeddings, file
examples/ # Example configurations and data
- Fork the repository
- Create a feature branch
- Make your changes with appropriate tests
- Submit a pull request
CHAIR is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License. See LICENSE.md for details.
If you use this software in your research, please cite:
@software{chen2025chair,
title={CHAIR: A Library for Collaborative Human-AI Inductive Qualitative Research},
author={Chen, John and Zhang, Yanjia and Cheng, Sihan},
year={2025},
institution={Northwestern University},
url={https://github.com/CIVITAS-John/CHAIR}
}- 📖 See TUTORIAL.md for detailed setup and usage instructions
- 🐛 Report issues on GitHub Issues
- 💬 Join discussions in GitHub Discussions
- John Chen, Northwestern University - [email protected]
- Yanjia Zhang, Northwestern University - [email protected]
- Sihan Cheng, Northwestern University - [email protected]