Details

Title: Разработка и исследование методов и алгоритмов для системы автоматического построения модели базы данных на основе описания задания на естественном языке: выпускная квалификационная работа магистра: направление 02.04.03 «Математическое обеспечение и администрирование информационных систем» ; образовательная программа 02.04.03_01 «Разработка и математическое обеспечение интеллектуальных информационных систем»
Creators: Лапин Игорь Александрович
Scientific adviser: Сабинин Олег Юрьевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint: Санкт-Петербург, 2024
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: моделирование баз данных; обработка естественного языка; named entity recognition; relation extraction; анализ текста; классификация; реляционные базы данных; database modelling; natural language processing; text analysis; classification; relational databases
Document type: Master graduation qualification work
File type: PDF
Language: Russian
Level of education: Master
Speciality code (FGOS): 02.04.03
Speciality group (FGOS): 020000 - Компьютерные и информационные науки
DOI: 10.18720/SPBPU/3/2024/vr/vr24-2085
Rights: Доступ по паролю из сети Интернет (чтение, печать)
Additionally: New arrival
Record key: ru\spstu\vkr\29074

Allowed Actions:

Action 'Read' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

В работе рассматривается проблематика высокой ресурсо- и трудоемкости процесса составления моделей баз данных. При этом существует большой спрос на подобные услуги, как со стороны бизнеса, так и для личного использования, при реализации различных информационных систем и систем хранения данных для них. Предлагается решение данной проблемы путем разработки автоматизированной системы формирования модели базы данных на основе пользовательского текста задания на естественном языке. В работе рассматривается общая проблематика восприятия компьютерами естественного языка, а также предлагаются методы и алгоритмы для реализации прототипа описанной автоматизированной системы; рассматриваются и применяются различные методы машинного обучения, такие как трансформеры, Named Entity Recognition, Relation Extraction, классификаторы и морфологический анализ. При реализации прототипа описанной системы составляется и аннотируется набор данных для обучения, разрабатывается и обучается собственный пайплайн многокомпонентной нейросетевой модели, а также разрабатываются программные компоненты: API на Java для взаимодействия с конечным пользователем и микросервис на Pyton для сообщения между пайплайном нейросетевой модели и основным API. Разработанный прототип удается удачно применить для формирования модели на основе исходного текста задания на естественном языке. Кроме того, разработанная система показывает неплохие результаты в сравнении с решениями на базе больших языковых моделей: YandexGPT и Sber GigaChat.

This paper describes the problem of a high level of resource and effort needs that are required during the process of database modelling. That is said, while also there is a high demand for such tasks during the development of almost any IT system, as for business, individual or educational purposes. Therefore, a solution is proposed – an automated system of database model generation based on the natural language task text should be developed. So, this paper describes the overall problems that are faced with computers trying to understand natural language, while also methods and algorithms are proposed for the mentioned system prototype development. Also, different techniques of machine learning, such as transformers, Named Entity Recognition, Relation Extraction, classification, and morphological analysis, are described and used. During the development of the mentioned prototype a training dataset is composed and annotated alongside with custom neural multicomponent network pipeline being developed and trained. In addition, the following program components are being developed: Java API for user interaction and a Python microservice, which is suited for interaction between main API and neural model pipeline. At the end of the day, the developed prototype has been successfully tested and used to generate a database model based on the given task text in natural language. Also, the developed system has shown good results in comparison with other solutions that are based on Large Language Models, such as YandexGPT and Sber GigaChat, and even outperformed the first one.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print
Internet Authorized users SPbPU Read Print
-> Internet Anonymous

Table of Contents

  • Введение
  • Глава 1. Обзор литературных источников
    • 1.1. Схожие решения
    • 1.2. Важные теоретические и практические источники
    • 1.3. Выводы
  • Глава 2. Проблематика
    • 2.1. Общие проблемы восприятия естественного языка машинами
    • 2.2. Современные подходы к решению этих проблем
    • 2.3. Выводы
  • Глава 3. Предметная область
    • 3.1. Реляционная модель
    • 3.2. Требования к извлекаемой информации
    • 3.3. Выводы
  • Глава 4. Теоретические аспекты предлагаемого решения
    • 4.1. Поиск сущностей в тексте
    • 4.2. Поиск связей между сущностями
    • 4.3. Определение типов данных
    • 4.4. Выводы
  • Глава 5. Практическая реализация нейросетевой модели
    • 5.1. Сбор данных
    • 5.2. Формирование обучающего набора
    • 5.2. Предобработка текста
    • 5.3. Реализация NER компонента
    • 5.4. Реализация RE компонента
    • 5.5. Реализация ECAT компонента
    • 5.6. Реализация компонентов постобработки
      • 5.6.1. Удаление лишних символов и слов
      • 5.6.2. Слияние всех вхождений найденной сущности
      • 5.6.3. Приведение к согласованному виду
      • 5.6.4. Формирование JSON
    • 5.7. Выводы
  • Глава 6. Программная реализация прототипа системы
    • 6.1. Архитектура системы
    • 6.2. Используемые инструменты
    • 6.3. Реализация микросервиса нейросетевой модели
    • 6.4. Реализация основного API
    • 6.5. Выводы
  • Глава 7. Испытания
    • 7.1. Тестовые данные
    • 7.2. Алгоритм оценки качества решения
    • 7.3. Проведение испытаний
    • 7.4. Выводы
  • Заключение
  • Список использованных источников
  • Список сокращений и условных обозначений
  • Словарь терминов

Usage statistics

stat Access count: 5
Last 30 days: 5
Detailed usage statistics