Курбатов С. С.   

Кулинич Александр [kulinich@ipu.rssi.ru]

Формирование концептуальной модели для реляционных баз данных на основе анализа  естественно-языковых текстов

 

Аннотация

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

 

Введение

Концептуальные, семантические или понятийные модели начали разрабатываться практически одновременно с появлением реляционных моделей баз данных. Эти модели были призваны компенсировать недостатки, связанные с представлением реальных объектов в виде таблиц с атомарными значениями. К настоящему времени эти модели достигли определенного уровня как в теоретическом плане (например в расширениях реляционной модели [1]), так и в плане прикладных разработок (постреляционные и объектно-ориентированные базы данных, дедуктивные базы данных[2]).

Одним из недостатков таких моделей является неразвитость средств автоматического занесения в модель новых объектов, свойств и отношений. В данной работе предлагается подход к автоматическому формированию концептуальной модели путем синтаксического и частотного анализа естественно-языковых текстов. Формируемая модель ориентирована на автоматизированное построение  интерфейса к реляционным базам данных с использованием ОЕЯ [3].

Модель не формируется с “чистого листа”, она включает ряд эталонных объектов, свойств, отношений и правил, называемых в дальнейшем общим термином – “эталоны”. Первичные  кандидаты на эталоны намечены в [3] – это общая информация о схемах реляционных баз (таблицы, атрибуты, первичные ключи, типы данных и т.д.) и типичные сведения о содержимом реальных баз (единицы измерения,  валюты, сведения о времени, географические сведения и т.п.).

1. Описания ЕЯ-объектов

Синтаксический анализ базируется на эталонах, приблизительно соответствующих частям речи и использующих синтаксическую модель управления на основе вопросительных слов [3, 4]. Такое представление синтаксиса (не опирающееся даже на понятие “падеж”) ориентировано на максимальную наглядность и аппелирует к интуиции рядового носителя языка. Основное требование к синтаксической структуре  - полнота связей, отсутствие неоднозначностей желательно, но не является обязательным. И наконец, последняя группа  эталонов - правила, реализующие эвристики для основной задачи автоматического формирования: выявление, занесение в модель и установление связи с эталонами новых элементов путем анализа ЕЯ-текстов.

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

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

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

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

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

Пусть AN = “экю”

ak = “рубль”

aj = “доллар США”

ak и aj – элементы иерархии  IER – “валюты”

   Эвристика для иерахий может иметь вид: 

     ЕСЛИ

         a1, …ak,…AN    …aj, …и an… (синтаксис!)

     ТО

        естественно предположить:AN – элемент иерархии IER – “валюты”.

       В левой части эвристики может стоять также одно из следующих вырвжения:

             AN одна(один, одно) из IER

 AN - IER

 Курс AN на дату

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

Естественно, что простая с точки зрения человека ситуация с иерархией может быть нетривиальной для системы. Пусть, например, в системе имеется для объекта транспорт свойства “речной” и “морской”, а запрос содержит свойство “водный” [6]. Вопрос о том, как путем автоматического анализа ЕЯ-текстов, можно выдвигать предположения об аналогичных иерархиях, является предметом экспериментов с текущей программной реализацией.

 

2. Описания объектов прикладных областей

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

Формируемая таким образом концептуальная модель по сути должна  опосредованно отражать реальный мир, для модели реальный мир – это мир ЕЯ-текстов, который в свою очередь является отражением действительности. Вопрос о том, насколько можно продвинуться на пути работы только с ЕЯ-текстами, не имея физических реалий, доступных человеку, и практически не обладая знаниями о логике  структур, сформированных в нашем мозгу эволюцией в процессе естественного отбора, является философским. Этот вопрос, естественно, не рассматривается в данной работе, однако отметим, что достаточно много явлений в мире современным человеком воспринимаются опосредованно (микроорганизмы, атомы/молекулы, электромагнитные волны и т.п.).  

На основе развитой концептуальной модели возможны ЕЯ-интерфейс, способный понять вопрос и объяснить пользователю причины неудачи в терминах, естественных для человека (например, “такая характеристика как ‘зарплата’ отсутствует у объекта ‘человек’ в базе данных ” или “для запрашиваемой Вами характеристики ‘объем поставок’ детализация по дням отсутствует, в базе существует только детализация по неделям”).

Широкое понимание концептуальной модели, опирающейся на потенциально неограниченное множество ЕЯ-текстов, должно обеспечить более естественную реакцию на входное предложение, чем в классических работах по концептуальному восприятию ЕЯ. Например, по фразе “Джон съел лягушку” может быть сделан вывод, что “Джон” – это цапля, поскольку встречаемость в текстах синтаксической структуры типа  “цапли обычно едят лягушек” должна быть большой.  В предположении же, что “Джон” – человек, естественным будет вывод типа “Джон - француз” или “Обычно люди не едят лягушек, Джон, вероятно, был очень голоден”. Подход к концептуальному моделированию, основанный на анализе ЕЯ-текстов, внешне ближе к реакции программы “Элиза”, хотя существенно отличается по механизму.

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

Иерахий может быть много и они вполне могут относиться к различным “объектам” базы – к отношениям(таблицам), атрибутам(полям), к значениям атрибутов. Развитая схема работа с событиями может потребовать аксиоматики временных логик. Подобные “семантические расширения”  скорее всего приведут к потери простоты базисной реляционной модели и утрате единообразного механизма для описания данных и манипулирования с ними.

Описания именно традиционных реляционных баз (и ориентация на стандарт языка SQL), а не постреляционных, объектно-ориентированных или дедуктивных баз продиктовано целями практики [4]. Подход на абстрактном уровне опирается только на ЕЯ-тексты и не привязан к РБД или SQL. Эталонное описание иерархий и объектах, хранимых в базах, не зависит от того, в какое хранилище они помещаются. Однако описание схемы базы данных и интерпретация запроса на ОЕЯ существенно ориентированы на реляционные базы и SQL. Также прикладными соображениями объясняется выбор первоочередных кандидатов на объекты-эталоны (единицы измерения, время и т.п.).

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

 

Литература

1.  Э. Ф. Кодд, Расширение реляционной модели для лучшего отражения семантики, СУБД 5-6/96.

2.  С. Д. Кузнецов, Введение в СУБД, СУБД 5-6/96.

3. С.С. Курбатов, Автоматизированное построение естественно-языкового интерфейса для реляционных баз данных, Новости икусственного интеллекта, № 2, 2002.

4. С.С. Курбатов, Э.В. Попов, Автоматическое формирование SQL-программы по  структурированному описанию запроса к базе данных на естественном языке, ICAI’2001, т.1, стр. 133-139.

5. С.С. Курбатов и др.,  Адаптивный лингвистический транслятор., Новосибирск 1983, в сборнике трудов Разработка и применение лингвистических трансляторов, c. 3-17.

6. Э.В. Попов, Общение с ЭВМ на естественном языке, М., Наука, 1982.

 

 

7.  А.С.Нариньяни ПРОБЛЕМА ПОНИМАНИЯ ЕЯ-ЗАПРОСОВ К БАЗАМ ДАННЫХ   

     РЕШЕНА  (РосНИИ Искусственного Интеллекта, Москва), 1994.