urfu_repozitoriy

0

Описание

Языки

  • Python97,1%
  • Dockerfile1,5%
  • Batchfile1,4%
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
README.md

Документация проекта Educational Plagiarism Detector

Оглавление

  1. Обзор проекта
  2. Быстрый старт
  3. Использование
  4. Разработка
  5. Тестирование
  6. Лицензия

Обзор проекта

🎯 Цель проекта

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

Анализ конкретных файлов

🎛️ Параметры командной строки

ПараметрСокращениеОписаниеПо умолчанию
--threshold
-t
Порог схожести (0.0-1.0)0.7
--files
-f
Список файлов для анализаВсе в uploads
--watch
-w
Режим отслеживания папкиFalse
--output
-o
Путь для сохранения результатовresults/
--methods
-m
Методы сравнения (через запятую)cosine,lcs,ngram
--help
-h
Справка по командам-
--version
-v
Версия программы-

📊 Примеры использования

Пример 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

📝 Стандарты кода

  1. PEP 8 - основной стиль
  2. Type hints - для всех функций
  3. Docstrings - Google style
  4. Тесты - для нового функционала
  5. Коммиты - Conventional Commits

Тестирование

🧪 Запуск тестов

🔍 Статический анализ


Лицензия

Этот проект распространяется под лицензией MIT. Подробнее в файле LICENSE.

🤝 Вклад в проект

Мы приветствуем contributions! Пожалуйста, ознакомьтесь с CONTRIBUTING.md перед созданием pull request.

📊 Статистика проекта

  • Версия: 2.1.0
  • Тестовое покрытие: 85%
  • Поддерживаемые языки: 2
  • Методы сравнения: 3
  • Форматы файлов: 2

Документация обновлена: 15 декабря 2024 Версия документации: 1.0.0

📚 Дополнительные ресурсы

Книги и статьи

  1. "Text Similarity in NLP" - Обзор методов сравнения текстов
  2. "Plagiarism Detection in Academia" - Исследование по обнаружению плагиата
  3. "Machine Learning for Text" - Учебник по обработке текста

Онлайн курсы

  1. "Natural Language Processing" - Coursera
  2. "Text Mining and Analytics" - edX
  3. "Python for Data Science" - DataCamp

Полезные ссылки


🎓 Educational Plagiarism Detector - Ваш помощник в обеспечении академической честности

Разработано с ❤️ для образовательного сообщества