Details

Title: Генерация кода на языке Python по описанию на естественном языке: выпускная квалификационная работа бакалавра: 09.03.01 - Информатика и вычислительная техника ; 09.03.01_02 - Технологии разработки программного обеспечения
Creators: Соболь Валентин Олегович
Scientific adviser: Ахин Марат Халимович
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2018
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: python; машинное обучение; рекуррентные нейронные сети; обработка естественного языка
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.01
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия
DOI: 10.18720/SPBPU/2/v18-5045
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: RU\SPSTU\edoc\57449

Allowed Actions:

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

Group: Anonymous

Network: Internet

Annotation

Бакалаврская работа посвящена генерации кода на языке Python по описанию кода на естественном языке. Генерация кода программы по её описанию может быть применена в системах голосового ввода, обучающих системах или для автоматизированного написания кода. В работе освещены современные подходы к анализу естественного языка и анализу программного кода. На основе изученных подходов разработан алгоритм генерации программного кода по текстовому описанию на естественном языке, использующий интеллектуальные методы. На основе данного алгоритма реализован прототип и проведено тестирование полученного инструмента, которое показало целесообразность применения предлагаемого подхода. В дальнейшем планируется повышение эффективности алгоритма для достижения практической применимости.

Document access rights

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

Table of Contents

  • ВВЕДЕНИЕ
  • 1. Обзор современных подходов
    • 1.1. Задача генерации кода
    • 1.2. Представление кода в виде текстовой последовательности
      • 1.2.1. Используемые модели
      • 1.2.2. Существующие решения
    • 1.3. Представление кода в виде дерева
    • 1.4. Подходы к анализу кода
      • 1.4.1. Построение языковой модели
      • 1.4.2. Получение векторного представления
    • 1.5. Резюме
  • 2. Постановка задачи
    • 2.1. Выбор целевого языка программирования
    • 2.2. Задача генерации кода по описанию на естественном языке
    • 2.3. Задача разработки системы генерации кода по описанию на естественном языке
    • 2.4. Резюме
  • 3. Описание подхода
    • 3.1. Общая схема алгоритма
      • 3.1.1. Этап обучения
      • 3.1.2. Этап использования
    • 3.2. Представление исходного кода
    • 3.3. Описание модели
      • 3.3.1. Процедура кодирования
      • 3.3.2. Процедура декодирования
      • 3.3.3. Общая схема модели
    • 3.4. Предобучение кодера
    • 3.5. Формирование АСД по последовательностям
    • 3.6. Резюме
  • 4. Реализация подхода
    • 4.1. Архитектура прототипа
    • 4.2. Предобработка данных
    • 4.3. Модель
      • 4.3.1. Предобучение модели
      • 4.3.2. Обучение модели
      • 4.3.3. Методы, применяемые при обучении
    • 4.4. Генерация кода
    • 4.5. Резюме
  • 5. Тестирование
    • 5.1. Описание набора данных
    • 5.2. Гиперпараметры модели
    • 5.3. Результаты тестирования
      • 5.3.1. Оценка качества последовательностей
      • 5.3.2. Оценка качества кода
    • 5.4. Резюме
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ. ЛИСТИНГИ КОДА

Usage statistics

stat Access count: 96
Last 30 days: 0
Detailed usage statistics