Репозиторий содержит код и данные к выпускной квалификационной работе «Оценка тематических связей между дисциплинами учебного плана».
Проект посвящён построению образовательного графа знаний на основе отношений пререквизита между учебными понятиями. В работе используются тексты рабочих программ дисциплин как исходный источник данных.
рабочие программы дисциплин
↓
извлечение раздела 2.2 из РПД
↓
формирование корпуса текстов курсов
↓
извлечение учебных понятий
↓
формирование описаний понятий
↓
расчёт CSR/PRS для пар понятий
↓
интерактивное построение графа пререквизитов
↓
расчёт графовых характеристик
rpd_preprocessing.py— извлечение раздела 2.2 из рабочих программ дисциплин.theme_extraction_LLM.py— автоматическое извлечение учебных понятий через GigaChat.description_generation.py— автоматическое формирование описаний понятий через GigaChat.concept_extraction_prompts.py— генерация промптов для извлечения понятий.concept_description_prompts.py— генерация промптов для описаний понятий.calculate_csr.py— расчёт CSR/PRS для пар понятий.run_interactive_ace.py— интерактивное построение графа пререквизитов.metric_calculation.py— расчёт графовых характеристик.
Папка extracted_data/ содержит основные данные проекта:
rpd_2_2.json— извлечённые тексты раздела 2.2 из РПД.educational_concepts.json— полный набор учебных понятий по курсам.selected_concepts.json— выбранные понятия для экспериментального запуска.courses_topics.json— учебные описания выбранных понятий.all_prompts.txt— промпты для извлечения понятий.
Папка experiments/ содержит материалы экспериментов по проверке вычисления CSR.
Папка future_project_drafts/ содержит наброски будущего развития проекта, связанные с анализом и оптимизацией расписания.
Для установки основных зависимостей:
pip install numpy pandas networkx sentence-transformers torch requests openaiДля файлов, использующих GigaChat API, нужно заранее задать переменную окружения:
GIGACHAT_AUTH_KEY