assessment-difficulty-classifier
Описание
Классификатор сложности вопросов тестов на основе текста и статистики
Языки
- Python100%
Assessment Question Difficulty Classifier
Автоматическая оценка сложности вопросов в тестах и контрольных работах
→ Для преподавателей: быстро балансируйте сложность экзаменов
→ Для студентов: получайте прозрачную обратную связь
→ Для LMS: готовый модуль для интеграции в систему аналитики
🎯 Почему это важно? (Полезность задачи)
В современном образовании всё больше внимания уделяется индивидуализации обучения и объективной оценке. Однако:
- Преподаватели тратят десятки часов на ручной анализ сложности вопросов
- Часто нет чётких критериев: «сложный» вопрос для одного студента — «лёгкий» для другого
- В массовых курсах (100+ студентов) невозможно вручную сбалансировать тест
Assessment Question Difficulty Classifier решает эту проблему, предоставляя объективные, количественные метрики сложности на основе:
- 📖 Читаемости текста (Flesch-Kincaid Grade Level)
- ⏱️ Среднего времени ответа
- ✅ Процента правильных ответов
Это пример ИИ в образовании без нейросетей: простое, надёжное, объяснимое решение для реальной педагогической задачи.
💡 Практическая ценность
-
Для преподавателей:
→ Быстро выявляйте слишком сложные вопросы до экзамена
→ Балансируйте тест: 20% лёгких, 60% средних, 20% сложных -
Для студентов:
→ Понимайте, почему вопрос считается сложным
→ Фокусируйтесь на улучшении именно тех навыков, которые проверяются -
Для LMS/EdTech:
→ Готовый модуль для интеграции в Moodle, Canvas, Stepik
→ API для автоматической классификации новых вопросов
🚀 Как это работает?
На вход — CSV-файл с вопросами и статистикой:
На выходе — JSON с классификацией:
💡 Как интерпретировать:
- readability_score > 10 → текст требует высшего образования
- success_rate < 0.5 → вопрос слишком сложен для аудитории
- avg_time_sec > 50 → студенты долго думают → возможно, неясная формулировка
📂 Структура проекта
.
├── src/ # Основной код классификатора
├── tests/ # Юнит-тесты (проверка логики классификации)
├── data/ # Примеры вопросов (готовые для анализа)
├── requirements.txt # Зависимости: textstat, pytest, flake8
└── .gitverse/workflows/ # CI/CD: тесты + ежедневный отчёт
⚙️ Установка и запуск
# 1. Клонируйте репозиторий
git clone https://gitverse.ru/SofiaL/assessment-difficulty-classifier.git
cd assessment-difficulty-classifier
# 2. Установите зависимости
pip install -r requirements.txt
# 3. Запустите анализ
python src/classifier.py data/sample_questions.csv
📊 Пример вывода
🧪 Тестирование
Проект содержит 5 юнит-тестов, проверяющих:
- Вычисление readability
- Классификацию лёгких/средних/сложных вопросов
- Обработку CSV-файлов
🤖 CI/CD автоматизация
: проверка стиля и тестов при каждом push (гарантирует качество кода)tests.yml: ежедневно генерирует отчёт по сложности вопросов и сохраняет как артефакт → Это соответствует критерию «креативное использование CI/CD»daily-report.yml
Хороший тест — это не только оценка знаний, но и инструмент обучения.
Этот классификатор помогает сделать его таким.