project_literature

0

Описание

Языки

  • Jupyter Notebook55,5%
  • Python44,5%
3 месяца назад
4 месяца назад
4 месяца назад
4 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
readme.md

Агент для помощи с литературным обзором

Инструмент для автоматической оценки качества и адекватности библиографических ссылок в научных текстах.

🚀 Перед запуском

Шаг 1

Перенесите в директорию "VKR" "ВКР", которую(-ые) хотели бы проанализировать с помощью агента.

Шаг 2

Создайте виртуальное окружение и установите зависимости.

python -m venv .venv

Шаг 3

Активируйте виртуальное окружение через bash или PowerShell, если у Вас операционная система Windows.

bash:

.venv\Scripts\activate.bat

PowerShell:

.venv\Scripts\Activate.ps1

Шаг 4

Установите все необходимые библиотеки через менеджер пакетов pip, создав зависимость через requirements.txt

pip install -r requirements.txt

Шаг 5

Создайте файл .env или измените .env.example. Добавьте туда токен от "НЕОПОИСК"

NEOPOISK_TOKEN = '<ТОКЕН>'

Альтернативный вариант

Можно запустить агента через bat файл, если у Вас операционная система Windows.

  1. Создайте txt файл в корне проекта;
  2. Пропишите в нём в следующие команды:
@echo chcp 65001 >nul cd /d "%~dp0" REM Если нет виртуального окржуения - создаем if not exist ".venv" ( echo Создаём виртуальное окружение python -m venv .venv ) REM Активируем виртуальное окружение call .venv\Scripts\activate.bat REM Устанавливаем зависимости pip install -r requirements.txt -q REM Запускаем Python-скрипт python main.py pause
  1. Сохраните этот файл как "Все файлы". Можно назвать "run_project_literatute.bat".

🎨 Визуализация проекта

🩻 Структура агента

📁 project_literature/ ├── run_project_literatute.bat ├── main.py ├── requirements.txt ├── .gitignore ├── .env ├── .env.example ├── 📁 Word ├── 📁 VKR ├── 📁 title │ └─── the_title_page.py ├── 📁 sources_VKR │ ├─── vkr_sources.py │ ├─── report_generator.py │ ├─── preprocesser.py │ ├─── extractor.py │ └─── analyzer_neopoisk.py ├── 📁 search_and_relevance │ └─── abstract_finder_with_relevance.py ├── 📁 scientist │ ├─── database_exporter_table.py │ └─── summary_table.py ├── 📁 parsing │ ├─── draft.py │ └─── parsing_VKR.py ├── 📁 markup │ └─── makingmarkup.py ├── 📁 Excel ├── 📁 database │ ├─── 📁 intermediate_json │ └─── students_data_VKR.json └── 📁 Config └─── config.py
  • run_project_literatute.bat исполняемый файл, для запуска чернового варианта агента;
  • main.py — основной скрипт (исполняемый файл);
  • requirements.txt — зависимости (опционально);
  • .gitignore — для исключения временных/лишних файлов (рекомендуется);
  • .env — файл с секретами - обязательно добавить в .gitignore;
  • .env.example — файл с примерами секретов для удалённого репозитория;
  • 📁 Word — директория, где хранятся все docx файлы по итогам проверок;
  • 📁 VKR — директория, где хранятся все ВКР для проверки с расширение docx или pdf;
  • 📁 title — директория, где модуль обработки титульного листа "ВКР";
  • the_title_page.py — модуль обработки титульного листа "ВКР";
  • 📁 sources_VKR — директория, где хранятся модули для анализа источников;
  • vkr_sources.py — модуль (основной) по анализу источников;
  • report_generator.py — модуль генерации структурированного отчёта по результатам анализа источников;
  • preprocesser.py — модуль предобработки данных источников (очистка, нормализация и подготовка к анализу);
  • extractor.py — модуль извлечения релевантной информации из источников для последующего анализа;
  • analyzer_neopoisk.py — модуль аналитической обработки текстовых источников на основе методов текстового сравнения и тематической группировки;
  • 📁 search_and_relevance — директория, где хранится модуль проверки релевантности цитат;
  • abstract_finder_with_relevance.py — модуль проверки релевантности цитат;
  • 📁 scientist — директория, где хранятся модули по созданию сводной xlsx таблицы для руководителя;
  • database_exporter_table.py — модуль, который создает xlsx таблицу в зависимости от выбора в "summary_table.py";
  • summary_table.py — модуль, который определяет какую xlsx таблицу надо сделать;
  • 📁 parsing — директория, где хранятся модули по парсингу цитат и созданию отчёта по релевантности цитат;
  • draft.py — модуль по созданию отчёта по релевантности цитат;
  • parsing_VKR.py — модули по парсингу цитат;
  • 📁 markup — директория, где хранится модуль по созданию разметки xlsx;
  • makingmarkup.py — модуль по созданию разметки xlsx;
  • 📁 Excel — директория, где хранятся все xlsx файлы по итогам проверок;
  • 📁 database — директория, где хранится импровизированная база данных, а также директория с промежуточными json файлами;
  • 📁 intermediate_json — директория, где хранятся промежуточные json файлы для отслеживания работы;
  • students_data_VKR.json — импровизированная база данных в виде json файла;
  • 📁 Config — директория с модулем конфигурации;
  • config.py — модуль для конфигурации.

🎯 Основные функции (в разработке)

1. Оценка адекватности цитаты

  • Вход: фрагмент литературного обзора (текст + список литературы).
  • Процесс:
    • Извлечение цитируемых источников из текста.
    • Поиск полных метаданных источников через внешние поисковые API (функционал анализируется).
  • Выход: оценка релевантности цитаты — соответствует ли источник утверждению, на которое он ссылается («релевантна» / «нерелевантна»).

2. Проверка уровня журнала

  • Вход: библиографическое описание статьи (автор, название, журнал, год и т.д.).
  • Процесс:
    • Парсинг названия журнала.
    • Сопоставление с базой JournalRank.
  • Выход: рейтинг журнала по категориям (категории тоже in progress)

3. Оценка списка литературы

  • Вход: полный список литературы (в формате BibTeX, APA, ГОСТ или просто текст).
  • Критерии (настраиваемые):
    • ≥ 50% — источники уровня A* (высокорейтинговые международные журналы)
    • ≥ 15% — индексируются в РИНЦ
    • ≤ 10% — допустимы источники из «серых зон» (например, Habr, Medium, блоги)
  • Выход: отчёт в стиле «Антиплагиат»:
    Общий объём: 40 источников A*: 55% ✅ РИНЦ: 20% ✅ Серые: 8% ✅ Не найдено / не определено: 17% Статус: Соответствует требованиям