Научная статья на тему 'Интеллектуализация интерфейса базы данных'

Интеллектуализация интерфейса базы данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
473
99
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
естественный язык / базы данных / концептуальные графы / естественно-языковой интерфейс

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Акимов Олег Михайлович, Шапцев Валерий Алексеевич

Рассматривается задача об автоматическом преобразовании запроса к базам данных, сформулированного на естественном языке, в стандартный запрос на языке СУБД. В статье предлагается алгоритм, реализованный на базе концептуальных графов. Интерфейс интерпретирует естественно-язычный запрос и представляет его в виде концептуального графа. Этот граф модифицируется затем информацией из базы знаний о предметной области и структуре базы данных. Результирующий граф становится основой формирования SQL-запроса.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The task of automated transformation of database inquiry, stated in natural language, into standard enquiry in DBMS language has been considered. Algorithm implemented on the basis of conceptual graphs is proposed in the article. Interface interprets natural language enquiry and presents it in the form of conceptual graph. This graph is then modified by knowledge base information on knowledge domains and database structure. Resulting graph becomes a base of forming SQL-enquiry

Текст научной работы на тему «Интеллектуализация интерфейса базы данных»

13. Цой Ю.Р. Приближенное вычисление локальных среднего и дисперсии для обработки цифровых изображений // Информационные технологии. - 2007. - № 4. - С. 28-32.

14. Линдли К. Практическая обработка изображений на языке Си. - М.: Мир, 1996. - 512 с.

15. Wang Z., Bovik A.C., Sheikh H.R., Simoncelli E.P. Image quality assessment: From error visibility to structural similarity // IEEE

Transactions on Image Processing. - 2004. - V. 13. - № 4. -P. 600-612.

16. Elad M., Kimmel R., Shaked D., Keshet R. Reduced complexity Retinex algorithm via the variational approach // J. Vis. Commun. Image R. - 2003. - № 14. - P. 369-388.

Поступила 22.04.2009г.

УДК 004.5:004.657

ИНТЕЛЛЕКТУАЛИЗАЦИЯ ИНТЕРФЕЙСА БАЗЫ ДАННЫХ

О.М. Акимов, В.А. Шапцев

Тюменский государственный университет E-mail: akimov-oleg@ya.ru

Рассматривается задача об автоматическом преобразовании запроса к базам данных, сформулированного на естественном языке, в стандартный запрос на языке СУБД. В статье предлагается алгоритм, реализованный на базе концептуальных графов. Интерфейс интерпретирует естественно-язычный запрос и представляет его в виде концептуального графа. Этот граф модифицируется затем информацией из базы знаний о предметной области и структуре базы данных. Результирующий граф становится основой формирования SQL-запроса.

Ключевые слова:

Естественный язык, базы данных, концептуальные графы, естественно-языковой интерфейс.

Введение

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

Наиболее распространенным источником информации являются существующие и вновь создаваемые базы данных (БД). А усиливающаяся тенденция предоставления доступа к БД посредством web-сервисов Интернета делают вопрос быстрого и полного поиска информации одним из актуальных в современных информационных технологиях. Особенно остро этот вопрос стоит для слоя пользователей, не являющихся специалистами в области информационных технологий, составляющие большинство современных пользователей Интернета, которые также чаще всего:

• даже не специалисты в предметной области

приложения или web-ресурса;

• не знают языка запросов SQL;

• не располагают структурой базы данных;

• редко используют расширенный поиск приложения или web-сервиса, предпочитая использовать быстрый поиск по одному-двум словам.

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

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

Подход к пониманию естественного языка

Основная задача естественно-языкового интерфейса (ЕЯ-интерфейса): перевести запрос на естественном языке в стандартный запрос на языке СУБД. Но этот перевод невозможно совершить напрямую, т. к. слова и даже целые выражения естественного языка обычно имеют несколько смыслов и требуют дополнительной интерпретации. Поэто-

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

Концептуальный граф (КГ) - это конечный, связанный, двудольный граф G [1, 2]:

О = О (С, Я, Л),

где С={с1,с2,...,с„| - множество понятий,

Л={г1,г2,...,гт} - множество концептуальных отношений, A={a1,a2,...,al}, a¡=(cj,rk), се C, гкеЛ.

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

Рис. 1. Концептуальный граф предложения «Памятник находится в Тюмени»

Для более удобного представления КГ в тексте существуют, так называемые, языки описания, среди которых наиболее популярен CGIF (Conceptual Graph Interchange Form) [3, 4]. Граф, изображенный на рис. 1, в формате CGlF запишется следующим образом:

[Находиться: *х][Местонахождение:Тюмень*у ] [Памятник: *z] (Место ?х?у)(Объект ?x?z)

Здесь x, y, z - метки, присваиваемые понятиям. При построении КГ особо важная роль отводится глаголам, поскольку они определяют отношения между подлежащим, дополнением и другими компонентами предложения. Каждый глагол можно представить с помощью падежного фрейма [3], определяющего следующие данные.

1. Лингвистические отношения (агент, объект, инструмент и т. д.), соответствующие данному глаголу.

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

3. Используемые по умолчанию значения компонентов падежного фрейма.

Падежный фрейм для глагола находиться в формате CGIF выглядит следующим образом: [Находиться:*х][Местонахождение:*у][Объе кт: *z]

(Место ?х?у )(Объект ?x?z) (1)

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

ник, т. е. понятие памятник является подтипом понятия объект. Эта информация также хранится в базе знаний о предметной области в виде подобного концептуального графа:

[Памятник:*х][Объект:*у](Подтип ?х?у) (2)

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

Сначала, входное предложение разбирает синтаксический анализатор, строит дерево синтаксического разбора. В ходе исследования было решено задействовать в качестве модуля синтаксического анализа стороннюю разработку: программный пакет синтаксического разбора и машинного перевода -Cognitive Dwarf [5]. Во-первых, это снижает время и трудозатраты, необходимые для его создания. А, во-вторых, существующие синтаксические анализаторы неплохо справляются со своей задачей.

Дерево синтаксического разбора передается семантическому интерпретатору. Дальнейшая последовательность действий семантического интерпретатора выглядит следующим образом:

1. Главным элементом дерева является глагол, сказуемое, понятие cx. Интерпретатор в базе знаний находит падежный фрейм G„ соответствующий с.

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

a) cy= cz - понятия совпадают. Интерпретатор обходит потомков cy с целью определения дополнительных условий;

b) cy^cz - понятие су является подтипом с. В этом случае происходит ограничение cz в падежном фрейме и объединение с понятие cy. Затем интерпретатор обходит потомков cy по дереву с целью определения дополнительных условий;

c) cy и cz не связаны. В этом случае работа останавливается. Пользователю выводится, что интерфейс не смог разобрать запрос.

3. Аналогичные действия происходят и с прямым дополнением предложения и с остальными элементами дерева.

В итоге, полученный концептуальный граф представляет значение предложения. Например, входной запрос: «Какой памятник находится в Тюмени?», с помощью (1) и (2) примет следующий вид:

[Находиться:*х][Местонахождение: Тюмень* y][Памятник:?*z]

(Место ?х?у)(Объект ?x?z) (3)

Организация связи с базой данных

Вернемся к ЕЯ-интерфейсу. Синтаксический анализатор и семантический интерпретатор позволяют перевести ЕЯ запрос на язык концептуальных графов. Дальше из него необходимо получить SQL запрос для базы данных. При этом необходимо решить, где выполнять поиск в БД, какие выбрать имена полей и ограничения для запроса. Этой информации нет в исходном запросе, но она есть в базе данных, вернее в сведениях об организации БД.

В реляционной базе данных данные связаны отношениями между сущностями различных доменов. Обычно такую взаимосвязь двух сущностей представляют в виде диаграммы «сущность-связь». На рис. 2 представлены отношение objectlocation и диаграмма «сущность-связь», изображающая взаимосвязь двух сущностей: объекты (object) и местонахождение (location).

Рис. 2. Отношение из БД и диаграмма «сущность-связь»

Сущности из БД и понятия из базы знаний о предметной области прямо взаимосвязаны. Поэтому концептуальный граф, представляющий падежный фрейм глагола, можно расширить добавлением диаграммы «сущность-связь».

Тогда расширенный концептуальный граф Gdb примет вид:

Ял = сл (С, Я, А, Т, Б),

где T={t1,t2,...,ts} - множество отношений, таблиц, или представлений БД, В={^^2,...,^}, d;=(cí,ck,ti,), Се С, ске С), ^е Т - представляет собой диаграмму «сущность-связь».

Формат описания CGIF также можно расширить, включением информации о БД. И тогда запись базы знаний для глагола находиться (1) можно представить в таком виде:

[Находиться: *х] [Местонахождение: *у][Объе кт: *7] (Место ?х?у)(Объект ?х?7){оЪ]ей_1осайо п ?у?7} (4)

Объединяя теперь входной запрос (3) и запись базы знаний для глагола (4), получаем расширенный КГ запроса:

[Находиться:*х][Местонахождение:Тюмень*у ][Объект:?*7]

(Место ?х?у)(Объект ?х?7){оЬ]ес1_1оса1;ю п ?у?7} (5)

Как видно из (5) построить SQL запрос к базе данных по такому КГ не составляет особого труда.

Заключение

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

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

3. В нашем случае пользователь сосредотачивается на «что», а не на «как» ему необходимо найти. Это снижает требования к непрофессиональным (относительно его функциональных обязанностей) знаниями и умениями пользователя. В результате он в меньшей степени отвлекается от своей непосредственной деятельности на освоение внедряемых и модифицируемых информационных систем.

СПИСОК ЛИТЕРАТУРЫ

1. A World of Conceptual Graphs [Электронный ресурс]. - режим доступа: http://conceptualgraphs.org/. - 10.09.2008.

2. Люгер Дж.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. - М.: Издательский дом «Вильямс», 2003. - 864 с.

3. John F. Sowa Conceptual Graphs [Электронный ресурс]. - режим доступа: http://www.jfsowa.com/cg/cgstand.htm. -

10.09.2008.

4. Богатырев М.Ю., Латов В.Е., Столбовская И.А. Применение концептуальных графов в системах поддержки электронных

библиотек // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Тезисы постерных докладов IX Всеросс. научной конф. RCDL'2007. - Пересла-вль-Залесский, 2007. - С. 104-110.

5. Программный пакет синтаксического разбора и машинного перевода [Электронный ресурс]. - режим доступа: http://cs.isa.ru:100o0/dwarf/. - 10.09.2008.

Поступила 22.10.2008 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.