Skip to content

Ard3n0/DIPLOM

Repository files navigation

Math NER Analyzer

Программный модуль извлечения именованных сущностей (Named Entity Recognition), оптимизированный для работы с математическими и научно-техническими текстами на русском языке.

Общее описание

Проект представляет собой специализированное NLU-решение (Natural Language Understanding) для структурирования неструктурированных научных данных. Система автоматически идентифицирует и классифицирует математические термины, имена ученых, названия теорем и сложные формульные выражения.

Ключевой особенностью является гибридная архитектура, которая нивелирует типичные ошибки нейросетевых моделей при работе со специфическими символами математической нотации.

Архитектурные принципы

Система спроектирована на основе разделения ответственности между статистическими и детерминированными методами обработки данных (Separation of Concerns):

  • Контекстуальный нейросетевой слой: Использует архитектуру трансформеров (семейство BERT) для задачи Token Classification. Модель анализирует семантические связи в предложении, что позволяет точно определять границы имен ученых (NAME), научных терминов (TERM) и названий теорем (THEOREM).
  • Слой жесткого парсинга (RegEx): Применяет каскад регулярных выражений для детерминированного извлечения математических формул (FORMULA). Это решение гарантирует целостность спецсимволов (^, /, =, <, >), которые часто искажаются при токенизации стандартными WordPiece-алгоритмами.
  • Механизм автономной адаптации (Shadow Retraining): Реализован конвейер фонового дообучения классификатора. Система накапливает результаты предсказаний с высоким коэффициентом уверенности (confidence > 0.50) и использует их для автоматического уточнения весов модели без остановки основного сервиса.

Технические возможности

  • Классификация сущностей: Точное выделение классов TERM, NAME, THEOREM и FORMULA.
  • Динамическая инфраструктура: Код реализует паттерн динамической маршрутизации путей, автоматически вычисляя расположение весов моделей и ресурсов относительно исполняемого файла. Это обеспечивает полную переносимость проекта между различными окружениями.
  • Интерфейс визуализации: Легковесная веб-панель для интерактивного анализа текстов с цветовой индикацией типов найденных сущностей.

Установка и развертывание

  1. Разместите исходный код проекта в директории Site.
  2. Установите необходимые зависимости из состава requirements.txt: pip install -r requirements.txt Важное требование к структуре: Директория с весами обученной модели (saved_model) должна располагаться на один уровень выше папки Site (родительская директория проекта).

Запустите ASGI-сервер: uvicorn app:app --reload

После запуска интерфейс будет доступен по адресу: http://127.0.0.1:8000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages