last_pr

0
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
README.md

Multilingual Learning Material Summarizer

Tests Python License

📌 Описание

Инструмент для автоматического резюмирования учебных материалов с поддержкой нескольких языков:

  • 🇬🇧 English (Английский)
  • 🇷🇺 Russian (Русский)
  • 🇩🇪 German (Немецкий)

Система использует как extractive (выборка ключевых предложений), так и abstractive (создание новых предложений) методы резюмирования.

✨ Основной функционал

  • ✅ Загрузка учебного материала (статьи, лекции в текстовом формате)
  • ✅ Автоматическое определение языка текста
  • ✅ Выбор уровня сжатия: 20%, 30%, 50%
  • ✅ Резюмирование с сохранением ключевой информации
  • ✅ Извлечение ключевых точек (key points)
  • ✅ Поддержка трех языков одновременно

🚀 Быстрый старт

Требования

  • Python 3.8+
  • pip или conda

Установка

💻 Использование

Интерактивный режим

Программа попросит вас:

  1. Загрузить текст (файл или прямой ввод)
  2. Выбрать язык (автоматическое определение)
  3. Выбрать уровень сжатия (20%, 30%, 50%)
  4. Получить резюме и ключевые точки

Программный режим

Демонстрация

Запустит демонстрацию на текстах на трех языках.

📊 Примеры результатов

Входной текст (English)

Machine learning is a subset of artificial intelligence... (210 слов)

Резюме (30% compression)

Machine learning focuses on development of algorithms... (63 слова)

Ключевые точки

  1. Machine learning is a subset of artificial intelligence
  2. Machine learning has numerous applications
  3. Deep learning uses neural networks with multiple layers

🏗️ Структура проекта

multilingual-summarizer/ ├── src/ │ ├── __init__.py │ ├── main.py # Интерактивный интерфейс │ ├── summarizer.py # Основная логика резюмирования │ ├── language_detector.py # Определение языка │ └── utils.py # Утилиты ├── tests/ │ ├── __init__.py │ ├── test_summarizer.py # Тесты резюмирования │ └── test_utils.py # Тесты утилит ├── scripts/ │ └── demo.py # Демонстрационный скрипт ├── data/ │ ├── sample_en.txt # Примеры текстов │ ├── sample_ru.txt │ └── sample_de.txt ├── docs/ ├── .github/workflows/ │ └── tests.yml # CI/CD workflow ├── .gitignore ├── requirements.txt └── README.md

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

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

С отчетом о покрытии

Специфические тесты

🔍 CI/CD Pipeline

GitHub Actions автоматически:

  • ✅ Запускает тесты на Python 3.8, 3.9, 3.10
  • ✅ Проверяет код на соответствие PEP 8 (flake8)
  • ✅ Проверяет форматирование (black)
  • ✅ Генерирует отчет о покрытии (codecov)
  • ✅ Тестирует на разных языках

📋 Требования

ПакетВерсияНазначение
transformers>=4.20.0NLP модели
torch>=1.10.0Тензорные вычисления
nltk>=3.6.0Обработка текста
langdetect>=1.0.9Определение языка
spacy>=3.2.0Продвинутый NLP
pytest>=7.0.0Фреймворк тестирования

🎯 Метрики проекта

  • Поддерживаемые языки: 3 (English, Russian, German)
  • Методы резюмирования: 2 (Extractive, Abstractive)
  • Уровни сжатия: 3 (20%, 30%, 50%)
  • Тестовое покрытие: >80%
  • Версии Python: 3.8, 3.9, 3.10

🚀 Дальнейшее развитие

  • Добавить поддержку PDF и DOCX файлов
  • Реализовать веб-интерфейс (Flask/FastAPI)
  • Добавить визуализацию результатов
  • Оптимизировать производительность
  • Добавить поддержку дополнительных языков

📄 Лицензия

MIT License

👤 Автор

[Timur]
GitHub: @flokar

🤝 Благодарности