urfu_repozitoriy
Описание
Языки
- Python97,1%
- Dockerfile1,5%
- Batchfile1,4%
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
README.md
Документация проекта Educational Plagiarism Detector
Оглавление
Обзор проекта
🎯 Цель проекта
Educational Plagiarism Detector - это система для автоматического обнаружения плагиата в студенческих работах с использованием современных методов анализа текста.
✨ Ключевые особенности
- Многометодный анализ: Косинусная схожесть (TF-IDF), LCS, N-граммы
- Поддержка форматов: TXT и PDF файлы
- Автоматизация: Сканирование папок, отслеживание изменений
- Визуализация: Матрицы схожести, графики, отчеты
- Экспорт: JSON, PNG, TXT форматы
- CI/CD: Полная автоматизация тестирования и деплоя
🎓 Целевая аудитория
- Преподаватели и учебные заведения
- Студенты для самопроверки работ
- Администраторы образовательных систем
- Разработчики образовательных технологий
Быстрый старт
Способ 1: Быстрый запуск (рекомендуется для Windows)
Убедитесь, что у вас установлен Python 3.8+:
Скачайте и распакуйте проект в удобную папку
Откройте терминал (PowerShell или Command Prompt) в папке проекта
Запустите установочный скрипт:
Создайте тестовые файлы для проверки:
Запустите проверку на плагиат:
Способ 2: Docker (самый простой, без установки Python)
Установите Docker Desktop с официального сайта
Соберите Docker образ:
Запустите контейнер:
Или используйте Docker Compose:
Использование
📋 Основные команды
Анализ файлов в папке uploads
Анализ конкретных файлов
🎛️ Параметры командной строки
| Параметр | Сокращение | Описание | По умолчанию |
|---|---|---|---|
| | Порог схожести (0.0-1.0) | 0.7 |
| | Список файлов для анализа | Все в uploads |
| | Режим отслеживания папки | False |
| | Путь для сохранения результатов | results/ |
| | Методы сравнения (через запятую) | cosine,lcs,ngram |
| | Справка по командам | - |
| | Версия программы | - |
📊 Примеры использования
Пример 1: Анализ домашних заданий
Пример 2: Пакетный анализ
Пример 3: Интеграция в скрипт
📁 Структура результатов
После анализа в папке создаются:results/
results/
├── matrix_20241215_143022.png # Матрица схожести (визуализация)
├── pairs_20241215_143022.png # График схожих пар (если есть)
├── report_20241215_143022.txt # Текстовый отчет
└── full_results_20241215_143022.json # Полные данные в JSON
Разработка
🛠️ Настройка среды разработки
📁 Структура проекта для разработчиков
src/
├── main.py # Точка входа, CLI интерфейс
├── file_processor.py # Чтение и валидация файлов
├── text_processor.py # Обработка текста (NLTK)
├── similarity_calculator.py # Алгоритмы сравнения
├── visualizer.py # Генерация графиков и отчетов
└── utils.py # Вспомогательные функции
tests/
├── test_file_processor.py # Тесты обработки файлов
├── test_text_processor.py # Тесты обработки текста
└── test_similarity_calculator.py # Тесты алгоритмов
config.py # Конфигурация приложения
run.py # Исполняемый скрипт
🔧 Конфигурация
Файл содержит настройки:config.py
🔄 Git workflow
📝 Стандарты кода
- PEP 8 - основной стиль
- Type hints - для всех функций
- Docstrings - Google style
- Тесты - для нового функционала
- Коммиты - Conventional Commits
Тестирование
🧪 Запуск тестов
🔍 Статический анализ
Лицензия
Этот проект распространяется под лицензией MIT. Подробнее в файле LICENSE.
🤝 Вклад в проект
Мы приветствуем contributions! Пожалуйста, ознакомьтесь с CONTRIBUTING.md перед созданием pull request.
📊 Статистика проекта
- Версия: 2.1.0
- Тестовое покрытие: 85%
- Поддерживаемые языки: 2
- Методы сравнения: 3
- Форматы файлов: 2
Документация обновлена: 15 декабря 2024 Версия документации: 1.0.0
📚 Дополнительные ресурсы
Книги и статьи
- "Text Similarity in NLP" - Обзор методов сравнения текстов
- "Plagiarism Detection in Academia" - Исследование по обнаружению плагиата
- "Machine Learning for Text" - Учебник по обработке текста
Онлайн курсы
- "Natural Language Processing" - Coursera
- "Text Mining and Analytics" - edX
- "Python for Data Science" - DataCamp
Полезные ссылки
🎓 Educational Plagiarism Detector - Ваш помощник в обеспечении академической честности
Разработано с ❤️ для образовательного сообщества