Владислав А. Жигалов, Лев Г. Романов.
Естественно-языковой к реляционным базам данных и Internet
Труды IV национальной конференции ИИ-94 - Рыбинск, 1999.

Владислав А. Жигалов, Лев Г. Романов.
Естественно-языковой к реляционным базам данных и Internet
Труды IV национальной конференции ИИ-94 - Рыбинск, 1999.



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

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

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

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

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

Стандартный язык запросов к базам данных - SQL ( Structured Query Language) далек от естественного языка с присущей последнему свободой выражения. Даже опытному программисту необходимо время на составление правильного SQL-запроса к кадровой базе данных, соответствующего, например, такому вопросу: "Кто получает меньше начальника моего отдела, но больше его секретарши?". Кроме знания SQL, необходимо еще и досконально знать строение базы данных.

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

2. InterBASE для Windows, макетная версия.

2.1. Что такое ЕЯ-интерфейсы к БД

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

Рис. 1. Общая схема работы ЕЯ-интерфейса к БД

2.2. Что нового в новой версии

В данной статье речь идет о системе построения естественно-языковых интерфейсов (ЕЯ-интерфейсов) к реляционным СУБД - макетной версии InterBASE для Windows в РосНИИ Искусственного интеллекта.

Предыдущая версия InterBASE, разработанная в РосНИИ ИИ в начале 90-х годов позволяла строить ЕЯ-интерфейсы к dBASE-совместимым базам данных. Естественно-языковой запрос транслировался в язык BQL, аналог SQL, затем сама же программа вела поиск в таблицах базы данных и выдавала результат. Программа была написана для DOS.

Описываемая в данной статье программа позволяет обращаться на базовом подмножестве SQL практически к любым современным базам данных. Новый InterBASE - Windows-приложение с характерным для этой ОС удобным пользовательским интерфейсом.

2.3. Внутреннее устройство системы

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

Л-процессор представляет собой законченный модуль, написанный с помощью системы построения лингвистических процессоров SNOOP (С.Шаров, РосНИИ ИИ). В его основе лежит семантически-ориентированный анализ в продукционных правилах. Анализ ведется путем построения семантической сети со словами как объектами определенных классов в узлах сети.

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

· Универсальная лексика. Это слова, присущие любому ЕЯ-интерфейсу. Принадлежат классам ОТНОШЕНИЕ, СОЮЗ, НЕЗНАЧИМОЕ и др. Данные слова содержатся в словаре как его первоначальное наполнение.

· Слова, "выкачанные" из БД (из текстовых полей). Выкачкой слов занимается модуль " Прокачка ". Слова этой категории имеют класс ЗНАЧЕНИЕ АТРИБУТА;

· Введенные пользователем (настройщиком). Слова классов АТРИБУТ, СИНОНИМ, НЕЗНАЧИМОЕ и другие.

Рис. 2. Внутреннее устройство InterBASE

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

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

3. Дальнейшее развитие системы.

3.1. Добавление уровня модели предметной области

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

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

При введении промежуточного уровня Л-процессор генерирует уже не SQL-фразу, а ее аналог на неком промежуточном формальном языке. Далее эта форма транслируется уже в SQL. Введение промежуточного уровня представления запроса требует также описания модели предметной области наряду с описанием реляционной модели БД, а также отображения одной в другую. Для описания модели предметной области может подойти аналог языка ODL (Object Definition Language), а для представления запроса в терминах предметной области - аналог OQL (Object Query Language), являющихся стандартами для объектных баз данных, аналогами DDL (Data Definition Language) и SQL для баз реляционных.

Второй способ улучшить понимание запросов пользователя (во всех смыслах) - это активно использовать диалог с пользователем . Например, во время анализа некоторых ЕЯ-запросов возникает неоднозначность трактовки ЕЯ-запроса. Вполне естественно при таких затруднениях обратиться непосредственно к пользователю для выбора альтернатив. Конечно, при этом встает задача адекватного описания проблемы на естественном языке.

3.2. Технологическое совершенствование - Java, CORBA, Internet-архитектура.

В настоящий момент система InterBASE реализована в виде однопользовательского Desktop-приложения. Хотя InterBASE может обращаться к любым удаленным базам данных, сам ЕЯ-интерфейс хранится и исполняется локально.

Однако для задач централизованного администрирования ЕЯ-интерфейса более пригодна другая схема (Рис. 4). На Web-узле располагается ЕЯ-сервер. Этот ЕЯ-сервер является компонентом, к которому через некоторое API идут сообщения (вызовы функций) от приложений конечных пользователей. Сами пользовательские приложения имеют две составляющие – клиентскую, располагающуюся на машине пользователя, и серверную, расположенную на том же Web-узле, что и ЕЯ-сервер. Клиентская часть представляет собой набор Web-страниц, загружаемых по сети, что соответствует концепции “слабого клиента”, когда на клиентской машине работает только Web-браузер. Эта часть реализует только пользовательский графический интерфейс. Серверная часть (ЕЯ-брокер) реализует логику пользовательской составляющей, а именно – продуцирование Web-страниц, обслуживание Java-апплетов, расположенных на этих страницах, обращения с вызовами к ЕЯ-серверу. Количество работающих ЕЯ-брокеров, таким образом, равно количеству подключенных в данный момент пользователей.

Рис. 3. Распределенная архитектура ЕЯ-интерфейсов к БД


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

Подобная трехуровневая архитектура пригодна как для корпоративных интрасетей и баз данных, так и для публичных БД, доступных по Internet. Кроме того, ЕЯ-сервер сможет быть основой и настольной версии приложения (без каких бы то ни было изменений в самом ЕЯ-сервере), при этом вместо разнесенного на клиентскую и серверную части пользовательского компонента выступает единая оболочка. Заметим, что настройщик может осуществлять доступ к ЕЯ-серверу также через Internet.

3.3. Поддержка мультимедиа-данных.

Мультимедиа-данные заполнили Всемирную паутину вскоре после ее создания. Однако World Wide Web с характерной для ней слабой структуризацией информации - не единственное и не самое естественное место хранения графики, звука и видео. Для больших хранилищ мультимедиа-информации (справочников) пригодны и многие современные реляционные и объектные СУБД. И для поиска в таких базах данных вполне естественно использовать ЕЯ-интерфесы. При этом пользовательская составляющая должна уметь воспроизводить найденную информацию.

4. Связанные домены знаний как возможное применение ЕЯ-интерфейсов к БД.

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

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

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

Каждый домен может ссылаться на произвольное количество других доменов. Это значит, что, получив запрос на естественном языке, он волен переадресовать этот запрос некоторым другим доменам (называемые связанными с данным), и, получив сведения от них, перенаправить часть из них пользователю или домену, инициировавшему запрос.

Отношение связи (ссылка) на другой домен подразумевает, что данный домен вбирает в свой контекст некоторую часть контекста от другого домена, называемую отражением контекста . Это отношение в общем случае предполагает отношение "общее-частное" между моделью предметной области данного домена и домена, на который направлена ссылка от данного.

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

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

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

Все права защищены. © 2000-2001 РосНИИ ИИ

Copyright. © 2000-2001 by RRIAI