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

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

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

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

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

Защиты много не бывает

Среди книжных новинок издательства «БХВ» есть несколько изданий, посвященных методам социальной инженерии

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

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

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

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

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

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

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

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

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

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

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

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

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

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

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

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

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

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

19.12.2017г.
Просмотров: 3193
Комментарии: 0
Основы блокчейна

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

19.12.2017г.
Просмотров: 3485
Комментарии: 0
Java 9. Полный обзор нововведений

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

16.02.2017г.
Просмотров: 7302
Комментарии: 0
Опоздавших не бывает, или книга о стеке

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

17.05.2016г.
Просмотров: 10669
Комментарии: 0
Теория вычислений для программистов

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

30.03.2015г.
Просмотров: 12387
Комментарии: 0
От математики к обобщенному программированию

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

18.02.2014г.
Просмотров: 14031
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

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

13.02.2014г.
Просмотров: 9154
Комментарии: 0
Читайте, размышляйте, действуйте

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

12.02.2014г.
Просмотров: 7105
Комментарии: 0
Рисуем наши мысли

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

10.02.2014г.
Просмотров: 5410
Комментарии: 3
Страна в цифрах

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

18.12.2013г.
Просмотров: 4644
Комментарии: 0
Большие данные меняют нашу жизнь

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

18.12.2013г.
Просмотров: 3446
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

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

04.12.2013г.
Просмотров: 3178
Комментарии: 0
Паутина в облаках

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

03.12.2013г.
Просмотров: 3420
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

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

02.12.2013г.
Просмотров: 3045
Комментарии: 0
Не думай о минутах свысока

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

Друзья сайта  

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

Архив номеров / 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-45
E-mail: sa@samag.ru