Details

Title: Разработка программной реализации системы понимания естественного языка на основе нейронных сетей: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_02 «Основы анализа и разработки приложений с большими объемами распределенных данных»
Creators: Аль Али Моаз
Scientific adviser: Дробинцев Павел Дмитриевич
Other creators: Локшина Екатерина Геннадиевна
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: понимания естественного языка; нейронные сети; RNNs; CNNs; совместная модель; заполнение слотов; определение цели; natural language understanding; neural networks; joint model; slot filling; intent detection
Document type: Master graduation qualification work
File type: PDF
Language: Russian
Speciality code (FGOS): 09.04.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-901
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)

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

В этой работе было исследовано совместное использова- ние гибридных сверточных сетей и сетей LSTM (Long short-term memory) для решения задач заполнения слотов и определения цели при анализе предложений естественного языка. Была пред- ложена новая модель, комбинирующая сверточные нейронные сети и рекуррентные нейронные сети, в рамках которой сверточ- ные нейронные сети обнаруживают сложные признаки во вход- ных последовательностях, методом применения фильтров к кад- рам этих входов, а рекуррентные нейронные сети отслеживают долгосрочные и краткосрочные зависимости во входных после- довательностях. В рамках работы также было проанализировано и обосновано построение модели для совместного заполнения слотов и определения цели, поскольку считается, что между це- лью и семантическими слотами существует тесная связь. Сов- местная модель может отражать это отношение, анализировать его и использовать для улучшения результатов прогнозирования. В работе используются наборы данных ATIS (Airline Travel Infor- mation System) и Snips (голосовая платформа AI для подключен- ных устройств), для измерения производительности и точности моделей и сравнения их с результатами других моделей. По ре- зультатам реализации работы были получены лучшие значения метрики f1-score в задаче заполнении слотов для набора данных ATIS (98,21) и близкие к лучшим значениям точности в задаче определении цели для наборов данных ATIS (98,12) и SNIPs (98,42) по сравнению с результатами, найденными в литературе.

We investigate the usage of hybrid convolutional and long short-term memory networks for joint slot filling and intent detection in natural language understanding. We propose a novel model that combines between convolutional neural networks, for their ability to detect complex features in the input sequences by applying filters to frames of these inputs, and recurrent neural networks taking in account the fact that they can keep track of the long and short term dependen- cies in the input sequences. We choose to build a model for joint slot filling and intent detection, because we believe that there is a strong relation between the intent and the semantic slots. A joint model can reflect this relation, figure it out and make use of it to enhance the prediction results. We use the Airline Travel Information System (ATIS) and Snips (an AI voice platform for connected devices) da- tasets to measure the performance of our models and compare them with the results of other models as these datasets have become the most popular datasets for natural language understanding problem. By the results of realization this work, we got the best f1-score values in slot filling task for ATIS dataset (98.21) and close to the best accuracy values in intent detection task for ATIS (98.12) and SNIPs (98.42) da- tasets.

Document access rights

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

Table of Contents

  • 1 ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1.1 Определения
    • 1.2 Нейронные сети
      • 1.2.1 Прямые нейронные сети
      • 1.2.2 Однослойный персептрон (Single layer perceptron)
      • 1.2.3 Функции активации
      • 1.2.4 Многослойный персептрон
      • 1.2.5 Обучение и регуляризация
        • 1.2.5.1 Функция стоимости (cost function)
        • 1.2.5.2 Обратный проход (Backward pass)
      • 1.2.6 Обобщение и компромисс дисперсии смещения
      • 1.2.7 Cверточные нейронные сети (Convolutional neural networks CNNs)
      • 1.2.8 Рекуррентные нейронные сети (Recurrent neural networks RNNs)
      • 1.2.9 Векторное представление слов (Word embedding)
    • 1.3 Методы оценки (Evaluation methods)
      • 1.3.1 Матрица смешения (Confusion matrix)
      • 1.3.2 Метрики оценки (Evaluation metrics)
    • 1.4 Диалоговые системы (Dialogue systems (DSs))
    • 1.5 Классификация диалоговых систем по методу управления диалогом
      • 1.5.1 Системы на основе конечных состояний
      • 1.5.2 Системы на основе фреймов
      • 1.5.3 Системы на основе планов
    • 1.6 Классификация диалоговых систем по их применениям
      • 1.6.1 Системы ориентированные на задачи
      • 1.6.2 Не ориентированные на задачи диалоговые системы
    • 1.7 Понимание естественного языка
      • 1.7.1 Предварительная обработка и выбор признаков
      • 1.7.2 Заполнение слотов
      • 1.7.3 Определение цели и классификация доменов
      • 1.7.4 Совместные модели для определения цели и заполнения слотов
    • 1.8 Выводы
  • 2 АРХИТЕКТУРА РАСПРЕДЕЛЕННОГО ПРОГРАММНОГО СРЕДСТВА
    • 2.1 Понимание бизнеса
    • 2.2 Понимание данных
    • 2.3 Формат IOB
    • 2.4 Наборы данных
    • 2.5 Подготовка данных
      • 2.5.1 Предобработка слов
      • 2.5.2 Тренировочный и тестовый сплиты
    • 2.6 Моделирование
      • 2.6.1 Схема ввода-вывода для совместного заполнения слотов и определения цели
        • 2.6.1.1 Добавление только цели к вводу и выводу
        • 2.6.1.2 Добавление и вставка цели в ввод и вывод
      • 2.6.2 Слои модели
        • 2.6.2.1 Векторное представление слов
        • 2.6.2.2 Конкатенация CNN с векторным представлением слов
        • 2.6.2.3 Рекуррентные нейронные сети
      • 2.6.3 Различные предлагаемые конструкции
      • 2.6.4 Параметры и Гиперпараметры
    • 2.7 Метрики
  • 3 РЕАЛИЗАЦИЯ
    • 3.1 Инструменты
      • 3.1.1 Jupyter notebook (блокнот Юпитера)
      • 3.1.2 Python
        • 3.1.2.1 Numpy
        • 3.1.2.2 TensorFlow
        • 3.1.2.3 Keras
        • 3.1.2.4 Google Colab
        • 3.1.2.5 Microsoft Azure notebooks
    • 3.2 GPU and CPU
    • 3.3 Реализация программы
  • 4 Результаты применения распределенной системы
    • 4.1 Заполнение слотов
    • 4.2 Определение цели
    • 4.3 Сравнение с другими подходами

Usage statistics

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