last_pr
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
3 месяца назад
README.md
Multilingual Learning Material Summarizer
📌 Описание
Инструмент для автоматического резюмирования учебных материалов с поддержкой нескольких языков:
- 🇬🇧 English (Английский)
- 🇷🇺 Russian (Русский)
- 🇩🇪 German (Немецкий)
Система использует как extractive (выборка ключевых предложений), так и abstractive (создание новых предложений) методы резюмирования.
✨ Основной функционал
- ✅ Загрузка учебного материала (статьи, лекции в текстовом формате)
- ✅ Автоматическое определение языка текста
- ✅ Выбор уровня сжатия: 20%, 30%, 50%
- ✅ Резюмирование с сохранением ключевой информации
- ✅ Извлечение ключевых точек (key points)
- ✅ Поддержка трех языков одновременно
🚀 Быстрый старт
Требования
- Python 3.8+
- pip или conda
Установка
💻 Использование
Интерактивный режим
Программа попросит вас:
- Загрузить текст (файл или прямой ввод)
- Выбрать язык (автоматическое определение)
- Выбрать уровень сжатия (20%, 30%, 50%)
- Получить резюме и ключевые точки
Программный режим
Демонстрация
Запустит демонстрацию на текстах на трех языках.
📊 Примеры результатов
Входной текст (English)
Machine learning is a subset of artificial intelligence...
(210 слов)
Резюме (30% compression)
Machine learning focuses on development of algorithms...
(63 слова)
Ключевые точки
- Machine learning is a subset of artificial intelligence
- Machine learning has numerous applications
- 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.0 | NLP модели |
| 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
🤝 Благодарности
- Трансформеры: Hugging Face
- Морфология: PyMorphy2
- NLP: spaCy и NLTK