/Thermy-frontend

A web application for marking up texts and searching for terms in parallel scientific and technical texts.

Primary LanguageCSSMIT LicenseMIT

Thermy-frontend

A web application for marking up texts and searching for terms in parallel scientific and technical texts.

1. Название проекта

Разработка системы извлечения многокомпонентных терминов и их переводных эквивалентов из параллельных научно-технических текстов

2. Краткое описание идеи проекта

Разработать приложение, которое позволит пользователю размечать тексты, сохранять выделенные термины, а также анализировать их. Выделенным терминам можно будет присваивать характеристики, чтобы потом по ним можно было искать термины в БД.

3. Краткое описание предметной области

Создание терминологических баз данных представляет собой сложный и трудоемкий процесс, требующий значительного количества времени на их создание и обновление, что особенно важно для развивающихся терминологий таких предметных областей, как авиация, космонавтика, нанотехнологии, биоинженерия, информационные технологии и многих других. Одним из наиболее время-затратных процессов является ручной сбор иллюстративного материла - извлечение специальной терминологии из коллекций текстов, что требует наличия средств автоматического извлечения многокомпонентных терминов при обработке научно-технических текстов.

4. Краткий анализ аналогичных решений по 3 критериям

Разрабатываемая система предназаняена для создания терминологической базы данных (ТБД) и проведения исследований в области компьютерной лингвистики. Я этой темой занимаюсь почти 2 года и аналогов назвать не могу. Отдалённо похожие системы:

  1. Переводчики (Google, Яндекс, Deepl): позволяют размечать тексты, но не дают работать с терминологией. Также нет возможности редактировать "разметку".
  2. Словари (thesaurus): позволяют в какой-то степени изучать терминологию, но не дают возможности дополнять её на основе размеченных текстов.

5. Краткое обоснование целесообразности и актуальности проекта

Дополнение к п.4: ранее мной уже была разработана система извлечения терминов из текстов. С ней работали преподаватели с факультета лингвистики, проводились студенческие практики, даже есть научные публикации. Цель моей работы - исправить старые архитектурные ошибки и разработать полноценную систему с хранилищем. Эта работа нужна нашим лингвистам для исследований и сбора терминологической базы (и мне для закрытия курсовой по БД)

6. Краткий перечень функциональных требований

  1. Параллельная работа с текстами на русском и английском языке;
  2. Разметка текстов, т.е. выделение цветом в тексте подстрок произвольной длины;
  3. Создание нескольких разметок одного текста и их переключение (так, разметка текста будет вестись на нескольких "слоях")
  4. Добавление новых слоёв разметки текстов;
  5. Присвоение характеристик выделенным элементам текста;
  6. Сохранение разметки текстов;
  7. Просмотр, редактирование и удаление выделенных из текстов элементов и их характеристик;

7. Use-Case - диаграмма

8. ER-диаграмма сущностей

9. Пользовательские сценарии

  1. Незарегистрированый пользователь:
    • войти в аккаунт.
  2. Студент:
    • выйти из аккаунта;
    • разметить тексты, т.е. выделить терминологические единицы и сохранить их в базу данных, перед этим опционально отредактировав их и присвоив им характеристики (метки), а также сопоставив термины, если обрабатываются не одиночные, а параллельные тексты;
    • провести поиск терминов в базе данных по заданным характеристикам, присвоенным на этапе разметки (студент работает только с теми терминами, которые он выделял); по необходимости терминам можно добавлять характеристики и редактировать их.
  3. Преподаватель:
    • выйти из аккаунта;
    • разметить тексты, т.е. выделить терминологические единицы и сохранить их в базу данных, перед этим опционально отредактировав их и присвоив им характеристики (метки), а также сопоставив термины, если обрабатываются не одиночные, а параллельные тексты;
    • провести поиск терминов в базе данных по заданным характеристикам, присвоенным на этапе разметки (студент работает только с теми терминами, которые он выделял); по необходимости терминам можно добавлять характеристики и редактировать их;
    • добавить новый слой разметки текстов (тексты можно размечать по словам, терминам, семантичесим падежам и т.д.).
  4. Администратор:
    • выйти из аккаунта;
    • разметить тексты, т.е. выделить терминологические единицы и сохранить их в базу данных, перед этим опционально отредактировав их и присвоив им характеристики (метки), а также сопоставив термины, если обрабатываются не одиночные, а параллельные тексты;
    • провести поиск терминов в базе данных по заданным характеристикам, присвоенным на этапе разметки (студент работает только с теми терминами, которые он выделял); по необходимости терминам можно добавлять характеристики и редактировать их;
    • добавить новый слой разметки текстов (тексты можно размечать по словам, терминам, семантичесим падежам и т.д.);
    • создавать и удалять аккаунты пользователей, а также выдавать им роли;
    • конфигурировать базу данных, делать её резервные копии.

10. Формализация бизнес-правил

11. Описание типа приложения и выбранного технологического стека

Тип приложения: Web SPA
Технологический стек: Swagger, Golang, PostgreSQL, ???Frontend???

12. Верхнеуровневое разбиение на компоненты

13. UML диаграммы классов для двух отдельных компонентов - компонента доступа к данным и компонента с бизнес-логикой

14. Палитра цветов графического интерфейса

Основные цвета:

  • #00ABE4 - цвет кнопок и рамок;
  • #E9F1FA - цвет фона;
  • #FFFFFF - цвет полей ввода/вывода;
  • #000000 - цвет текста и иконок.

Цвета слоёв разметки текстов:

  • #A5B3FF
  • #7CDAEF
  • #E49196
  • #FF9E57
  • #97F9A1

15. Параметры геометрии графического интерфейса

Радиусы скруглений:

  • 10px - маленькие кнопки (выход из аккаунта, удаление элемента и т.д.);
  • 15px - большие кнопки и информационные блоки.

16. Доска настроения

https://ru.pinterest.com/andreysapozhkov535/computer-linguistics/