Транслятор запросов на ограниченном естественном языке в запросы к реляционным базам данных::Журнал СА 01-02.2019
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

 Читать далее...

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

 Читать далее...

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

 Читать далее...

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 10795
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 9041
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 9088
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5734
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6429
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 3735
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2731
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3530
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3520
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6016
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

Друзья сайта  

 Транслятор запросов на ограниченном естественном языке в запросы к реляционным базам данных

Архив номеров / 2019 / Выпуск №01-02 (194-195) / Транслятор запросов на ограниченном естественном языке в запросы к реляционным базам данных

Рубрика: Наука и технологии /  Раздел для научных публикаций

Без фото БОРОДИН Д.С., магистрант кафедры «Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э. Баумана, demansen@yandex.ru

Без фото СТРОГАНОВ Ю.В., ассистент кафедры «Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э. Баумана, ukunsun@mail.ru

Без фото ВОЛКОВА Л.Л., старший преподаватель кафедры «Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э. Баумана, liliyaguar@mail.ru

Без фото РУДАКОВ И.В., к.т.н., доцент, заведующий кафедрой «Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э. Баумана, irudakov@bmstu.ru

Без фото ПРОСУКОВ Е.А., доцент, преподаватель кафедры «Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э. Баумана

Транслятор запросов на ограниченном естественном языке
в запросы к реляционным базам данных

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

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

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

В ходе работы над данной системой нами был проведен анализ существующих систем, относящихся к различным классам систем работы с базами данных [1, с. 56], рассмотрены преимущества и недостатки работы с такими системами. В общем случае все системы зависимы от обучающей выборки для последующей работы и в них возникают вопросы расширения обрабатываемых конструкций и неоднозначности слов в языке.

С учетом описанных проблем, нами была разработана концепция преобразования естественно-языковых запросов, позволяющая снять вопросы семантического плюрализма языка, а также оставляющая возможности для быстрого масштабирования с целью роста качества обработки запросов [2, с. 119].

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

Прототип представляет собой экспертную систему, в которой на стороне эксперта выступает заранее обученная система в соответствии с разработанным алгоритмом обучения.

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

Алгоритм преобразования запроса представлен на рис. 1.

Рисунок 1. Алгоритм преобразования естественно-языкового запроса

Рисунок 1. Алгоритм преобразования естественно-языкового запроса

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

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

Полученное синтаксическое дерево преобразуется в запрос к семантической сети, который также может быть непосредственно транслирован в запрос на выборку из реляционной базы данных [3, с. 300].

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

При этом для корректной обработки естественно-языковых запросов на входные запросы прототипа системы наложены следующие ограничения:

  • Входной запрос – простое предложение на русском языке. Использование обусловлено ограничениями транслятора запросов к базе знаний на языке логического программирования в запросы к реляционной базе данных [4]. Ограничение, накладываемое на язык, обусловлено значительным расхождением в построении предложений и порядка использования в них слов.
  • Предложения имеют строгую последовательность в рамках запроса. Это делается с целью недопущения синтаксической двусмысленности (например, предложение «Я тебя люблю» и «Тебя я люблю» в случае отсутствия ограничения являются равноправными, но отличающимися эмоциональной окраской), а также для корректного формирования запроса к базе знаний (например, «Вася снимался в Матрице» → сниматься(Вася, Матрица)). С учетом данного ограничения нами было произведено исследование с целью выявления наиболее часто используемых конструкций простых предложений на русском языке. После проведения анализа были выделены следующие наиболее часто употребляемые синтаксические конструкции:
    • дополнение дополнение сказуемое подлежащее (пример: какие награды получил Аль Пачино?);
    • сказуемое дополнение дополнение (пример: покажи фильмы Стивена Спилберга.);
    • дополнение подлежащее сказуемое дополнение (пример: в каком году Леонардо Ди Каприо получил Оскар?).

Отдельного внимания заслуживает описание алгоритма генерации семантической сети.

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

Мы основываемся на том, что реализуемая семантическая сеть должна отражать реальное описание базы данных, к которой будут составляться запросы. Как известно, заголовок таблицы реляционных баз данных обычно представляет собой однословный термин, записанный на английском языке, и при этом сама таблица отражает сущности реального мира. Поэтому в качестве выделяемых терминов мы будем понимать однословные термины, выраженные существительными.

Для решения проблемы входных данных было проведено исследование алгоритмов выделения однословных терминов [5, c. 201] и решено использовать коллекцию текстов конкретной предметной области. При этом используемые тексты должны быть структурированными, поэтому было принято решение использовать словарные статьи.

Так как в обычных текстах существует информация, не связанная с необходимыми терминами, для входной коллекции словарных статей требуется подготовка образов документов (под документом будем понимать одну словарную статью из коллекции документов). Для этого необходимо убрать все служебные части речи и самостоятельные части речи, не являющиеся существительными.

Далее требуется определить, каким образом разрабатываемый алгоритм выделения однословных терминов будет распознавать близкие понятия на заданную тематику. Так как разрабатываемый метод получает в качестве входных данных неизвестную выборку текстовых документов, о которой нет дополнительной информации, удобно использовать положения дистрибутивной семантики [6].

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

При этом согласно [7] для каждого слова, выделенного в тексте, строится вектор совстречаемостей, состоящий из значений счетчиков. Далее происходит сравнение пар векторов: если они совпадают с заданной точностью, то можно говорить с высокой степенью вероятности о семантической близости двух слов. Векторы совстречаемостей строятся в зависимости от выбранной тематической модели термин-документ, в которой вектор строится для каждого слова из всех документов, а каждый элемент вектора – значение конкретного счетчика в конкретном документе.

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

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

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

Наконец, одним из наиболее важных вопросов в выделении однословных терминов является оценка семантической близости слов на основании имеющихся векторов. Косинусная мера является наиболее предпочтительной с точки зрения быстродействия, а также из-за имеющихся у нее преимуществ (независимость от длин векторов, способность выражать различие и сходство между терминами [8]). Алгоритм выделения однословных терминов представлен на рис. 2.

Рисунок 2. Алгоритм выделения сущностей семантической сети

Рисунок 2. Алгоритм выделения сущностей семантической сети

Для определения связей между сущностями из списка выделенных сущностей, обратимся к грамматике русского языка. В своей работе мы концентрируемся на глагольных отношениях. При этом мы будем говорить о том, что данный глагол выражает связь между двумя терминами, если эти два термина расположены в окрестности данного глагола (схема ОБЪЕКТ-ПРЕДИКАТ-ОБЪЕКТ со всеми ее вариациями).

Алгоритм выделения связей сети представлен на рис. 3.

Рисунок 3. Составление списка связей между сущностями

Рисунок 3. Составление списка связей между сущностями

При этом следует отметить следующую особенность алгоритма – в формируемый список существительных и глаголов слова помещаются в порядке появления. Это делается для того, чтобы можно было определять связи между терминами по контексту.

Разработанный алгоритм генерации семантических сетей прошел тестирование в рамках исследования алгоритмов выделения однословных терминов и показал сопоставимые результаты по сравнению с другими алгоритмами подобного класса [9].

В заключении отметим, что разработанная система имеет следующие преимущества по сравнению с аналогами:

  • система ориентирована на конкретную предметную область, что позволяет решать вопросы неоднозначности слов в языке и обработать больший класс входных запросов;
  • система ориентирована на русский язык – нет необходимости в специальной подготовке пользователя;
  • используемая в системе модель представления знаний интуитивно проста и может быть заменена при необходимости;

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

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

  1. Бородин Д.С., Строганов Ю.В. Системы искусственного интеллекта в задачах обработки естественного языка. // Цифровое будущее инновационной экономики России. Сборник научных трудов и результатов совместных научно-исследовательских проектов. – М.: Издательство «АУДИТОР», январь 2018. – С. 56-65.
  2. Бородин Д.С., Строганов Ю.В. К задаче составления запросов к базам данных на естественном языке. // Новые информационные технологии в автоматизированных системах: материалы 19 научно-практического семинара. – М.: ИПМ им. М.В. Келдыша, апрель 2016. – С. 119-125.
  3. Бородин Д.С., Строганов Ю.В., Клышинский Э.С. Транслятор запросов к реляционной базе знаний в запросы к реляционной базе данных. – М.: Материалы Всероссийской студенческой конференции «Студенческая научная весна –2018», посвященной 165-летию со дня рождения В.Г. Шухова, апрель 2018. – С. 300-301.
  4. Draxler C. A powerful Prolog to SQL compiler [Электронный ресурс]. URL: www.ling.gu.se/dialoglab/PeoMariaKod/pl2sql/doc/pl2sql.ps (дата обращения: 08.12.2018).
  5. Бородин Д.С., Строганов Ю.В. Исследование метода выделения однословных терминов в тематических текстах. // Новые информационные технологии в автоматизированных системах: материалы 21 научно-практического семинара. – М.: ИПМ им. М.В. Келдыша, апрель 2018. – С. 201-206.
  6. Потапенко А. Векторное представление слов и документов [Электронный ресурс]. URL: http://www.machinelearning.ru/wiki/images/2/2a/Seminar_1.pdf (дата обращения: 08.12.2018).
  7. Schutze H., Pedersen J. A vector model for syntagmatic and paradigmatic relatedness. // In Making Sense of Words: Proceedings of the conference, pp. 104-113, Oxford, England, 1993.
  8. Белоус В.В., Домников А.С. Анализ интеллектуальных данных в электронных обучающих системах. – М.: Инженерный вестник. Изд-во: МГТУ им. Н.Э. Баумана, №12, 2013.
  9. Borodin D., Stroganov I. Estimation of single-word term extraction method using dictionary entries. // Proceedings of the IV International conference on informatics and computer sciences « CICCI 2018», March, 19-23, 2018.

Ключевые слова: естественный язык, дистрибутивная семантика, пролог, семантические сети, терм-документная матрица, трансляция запроса.


Translator of queries in limited natural language into queries to relational databases

Borodin D.S., graduate student of the Department of Computer Software and Information Technologies of the Moscow State Technical University. N.E. Bauman, demansen@yandex.ru

Stroganov Yu.V., Assistant of the Department "Computer Software and Information Technologies", MSTU. N.E. Bauman, ukunsun@mail.ru

Volkova L.L., Senior Lecturer, Department of Computer Software and Information Technology, MSTU. N.E. Bauman, liliyaguar@mail.ru

Rudakov I.V., Ph.D., Associate Professor, Head of the Computer Software and Information Technology Department of the Moscow State Technical University. N.E. Bauman, irudakov@bmstu.ru

Prosukov E.A., Associate Professor, Lecturer, Department of Computer Software and Information Technologies, MSTU. N.E. Bauman

Abstract: Presented article is devoted to the question of translating texts in natural language. Within this scientific field, an expert system translating initial natural language queries into relational database queries was developed. An algorithm of receiving the result query and system limitations are described. A description of developed algorithm for generating distributional semantics-based semantic web is described.

Keywords: natural language, distibutional semantics, Prolog, semantic web, term-document matrix, query translation.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru