assessment-difficulty-classifier

0

Описание

Классификатор сложности вопросов тестов на основе текста и статистики

Языки

  • Python100%
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
README.md

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 автоматизация

  • tests.yml
    : проверка стиля и тестов при каждом push (гарантирует качество кода)
  • daily-report.yml
    : ежедневно генерирует отчёт по сложности вопросов и сохраняет как артефакт → Это соответствует критерию «креативное использование CI/CD»

Хороший тест — это не только оценка знаний, но и инструмент обучения.

Этот классификатор помогает сделать его таким.