lexify
Описание
✅ Lexify — это веб-приложение для автоматической проверки текстовых документов на лингвистическую приемлемость и соответствие стандартам оформления библиографических ссылок. Оно позволяет пользователям загружать документы в формате .docx, анализировать их содержимое и получать отчеты с выделенными ошибками и рекомендациями.
Языки
- HTML65,7%
- Python34,2%
- Остальные0,1%
Lexify ✅
Lexify — это веб-приложение для автоматической проверки текстовых документов на лингвистическую приемлемость и соответствие стандартам оформления библиографических ссылок. Оно позволяет пользователям загружать документы в формате .docx, анализировать их содержимое и получать отчеты с выделенными ошибками и рекомендациями.
Ссылка на проект
Описание
Проект разработан для упрощения процесса проверки научных и технических текстов. Основные функции включают:
- Разделение текста на предложения и список литературы.
- Проверка текста на наличие запрещенных символов, слов и последовательностей.
- Анализ предложений с использованием моделей машинного обучения (например, RoBERTa) для выявления лингвистически неприемлемых конструкций.
- Проверка оформления ссылок на соответствие стандартам (ГОСТ, APA, IEEE и др.).
- Генерация отчетов в формате PDF с выделением ошибок.
Приложение построено на фреймворке Django и использует такие инструменты, как LibreOffice для конвертации файлов, NLTK и BeautifulSoup для обработки текста, а также библиотеки для работы с библиографическими данными (CrossRef, CiteProc).
Основные возможности
- Обработка текста: разделение документа на текст и список литературы, токенизация предложений.
- Проверка правил: использование заранее заданных правил для поиска ошибок (например, запрещенные слова или глаголы в будущем времени).
- Машинное обучение: оценка лингвистической приемлемости предложений с помощью моделей, таких как
.iproskurina/tda-ruroberta-large-ru-cola - Анализ ссылок: проверка соответствия ГОСТ и другим стилям оформления с использованием регулярных выражений и данных CrossRef.
- Аутентификация: вход через email с отправкой кода подтверждения.
- Отчеты: генерация PDF-отчетов с результатами анализа.
Установка
Требования
- Python 3.8+
- Django
- LibreOffice (для конвертации .docx в HTML и PDF)
- Библиотеки Python:
- nltk
- beautifulsoup4
(с поддержкой 4-битной квантизации)transformers- crossref-commons
- habanero
- doi2bib
- bibtexparser
- citeproc-py
- pymorphy3
- pdfkit
- их подкаталоги
- CUDA (опционально, для ускорения работы моделей ML на GPU)
Инструкции
-
Клонируйте репозиторий:
-
Установите зависимости:
-
Установите LibreOffice:
- На Ubuntu: sudo apt-get install libreoffice
- На других системах следуйте официальной документации LibreOffice.
- На Ubuntu:
-
Настройте переменные окружения в
:django_project/settings.py- Укажите
для отправки кодов подтверждения.DEFAULT_FROM_EMAIL - Настройте путь к стилям CSL:
.docx/static/csl/
- Укажите
-
Примените миграции базы данных:
-
Запустите сервер:
Использование
- Перейдите на главную страницу:
.http://localhost:8000/ - Войдите в систему через страницу
, указав email и получив код подтверждения./login/ - Загрузите документ .docx через страницу
, выбрав стиль оформления (например, ГОСТ)./check/ - Дождитесь завершения анализа и просмотрите результаты в браузере.
- Скачайте PDF-отчет с выделенными ошибками через кнопку "Скачать отчет".
Зависимости
- Django: фреймворк для веб-приложения.
- NLTK: токенизация текста.
- BeautifulSoup: парсинг HTML.
- Transformers: модели машинного обучения.
- CrossRef: получение библиографических данных по DOI.
- Pymorphy3: морфологический анализ русского языка.
Полный список зависимостей указан в .
Структура проекта
: обработка запросов и рендеринг страниц.views.py: разделение текста и ссылок.parser.py: проверка текста по заданным правилам.rules.py: анализ ссылок.references.py: интеграция моделей ML.llm.py: модели базы данных (Paragraph, UserToken, AnalysisLog).models.py: маршруты приложения.urls.py
Команда
- Плесовских Александр Евгеньевич: Тимлид, системный администратор.
- Аношин Виктор Иванович: ML-разработчик.
- Канукова Лилия Аслановна: Технический писатель, Дата-аналитик.
- Орлов Кирилл Олегович: Backend разработчик.
- Романова Татьяна Владимировна: ML-разработчик.
- Хомин Максим Вячеславович: Стажер.
- Палиенко Мария Алексеевна: Стажер.
- Голуб Владислав Витальевич: Стажер.