Счетчики








Глава 6. Интегрированная среда построения ЕЯ-интерфейсов к реляционным БД

6.1 Основной цикл работы ЕЯ-интерфейса

На Рис. 6.1-1 показан основной цикл работы ЕЯ-интерфейса в idef-нотации. Эта схема показывает цикл обработки ЕЯ-запроса. Предполагается, что компоненты Словарь, МПО и МБД уже сформированы, и анализ проходит полный цикл - от естественного языка (вход) до обработанного результата из базы данных (выход).

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


Рис. 6.1-1 Основной цикл работы ЕЯ-интерфейса в idef-нотации.

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

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

Рассмотренный цикл не имеет памяти между циклами - один запрос непосредственно не влияет на выполнение следующего.

6.2 Архитектура системы

Общая схема системы показана на рис. 6.2-1.

Рис. 6.2-1 Архитектура системы в диаграмме потоков данных.

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

  • Лингвистического процессора (ЛП),

  • SQL-генератора,

  • Словаря,

  • МПО,

  • МБД,

  • блока запроса-ответа (ввод запроса в систему, обращение к базе данных и вывод результата),

в систему также входят:

  1. Прокачка (сканирование базы данных с занесением лексики из полей базы в словарь)

  2. Компоненты настройки (как визуальные, так и вычислительные)

  3. Визуальный редактор словаря

  4. Компилятор продукционной программы Л-процессора

  5. Отладчик продукционной программы (включает в себя, помимо редактора продукционной программы также средства мониторинга семантической сети).

Последние два модуля принадлежат среде SNOOP, встроенной в данную систему для удобства отладки Л-процессора.

Модули Л-процессора и словаря являются общими для обеих частей системы.

6.3 Интегрированная среда для построения и отладки ЕЯ-интерфейсов к реляционным базам данных

6.3.1 Выбор ЕЯИ и главное окно приложения

Разработанная система является Windows-приложением с присущим этой операционной системе дружественным пользовательским интерфейсом. При запуске системы открывается диалоговое окно выбора ЕЯ-интерфейсов из списка зарегистрированных в системе (Рис. 6.3.1-1).

Рис. 6.3.1-1 Окно выбора ЕЯ-интерфейса

Из этого же окна можно инициировать создание нового интерфейса, а также зарегистрировать уже существующий интерфейс.

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

  • Окно запроса-ответа (может быть несколько)

  • Окно словаря

  • Окно редактирования и отладки продукционной программы

  • Окно списка избранных запросов

Пример работы программы приведен на Рис. 6.3.1-2. Главное окно приложения содержит панель инструментов, которое содержит командные кнопки, открывающие основные окна, динамические выпадающие меню, состав которых меняется в зависимости от текущего контекста работы, и рабочую область, которая содержит дочерние окна. На рисунке показаны окна запроса-ответа, избранных запросов и словаря.

Рис. 6.3.1-2 Интегрированная среда

6.3.2 Окна запроса-ответа и списка избранных запросов

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

Окно списка избранных запросов позволяет редактировать список. Данное окно является весьма полезным при отладке ЕЯ-интерфейса, поскольку экономит время настройщика.

Рис. 6.3.2-1 Окно запроса-ответа

Окна запроса-ответа и списка избранных запросов интегрированы. Возможно исполнение запроса из списка простым перетаскиванием запроса (drag-and-drop) на окно запроса. Также возможно добавление запроса из поля ввода в список перетаскиванием запроса в окно списка.

6.3.3 Словарная подсистема

Словарь является общим компонентом как для InBASE, так и для SNOOP. Кроме того, словарь участвует практически во всех основных циклах работы системы - анализ, отладка программы анализа, настройка системы, выкачка лексики из базы данных.

6.3.3.4 Объектно-ориентированное хранилище словарных статей

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

6.3.3.5 Визуальный редактор словаря

Визуальный словарь представляет собой окно, позволяющее просматривать, искать, редактировать, сортировать словарные статьи (Рис. 6.3.3-1). В левой части окна показывается список словарных статей в виде таблицы, столбцами которой являются иконка типа словарной статьи, текст, название типа. В правой части отображаются атрибуты и их значения для выбранной словарной статьи из списка. Окно содержит отдельно список словокомплексов, для каждого словокомплекса указывается его состав. Словокомплексы являются такими же словарными статьями, что и слова, то есть имеют тип и набор атрибутов.

Рис. 6.3.3-1 Окно визуального редактора словаря.

6.3.4 SNOOP - интегрированная среда в составе InBase

Описываемая система является макетной версией. В качестве Л-процессора используется виртуальная машина SNOOP SNOOP (System with Network and Object-Oriented Programming) (Sharoff, 1993). Для целей быстрой отладки и дальнейшего развития Л-процессора система содержит в себе также интегрированную среду. Первая версия SNOOP была разработана в 1994г. С.Шаровым и была самостоятельным DOS-приложением. Эта система представляет собой удобное средство разработки лингвистических процессоров, сочетая преимущества объектно-ориентированного подхода, сетевого представления данных (узлы сети и отношения между ними являются объектами задаваемых классов) и продукционного механизма исполнения правил.

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

Рис. 6.3.4-1 Окно отладки SNOOP.

6.3.5 Мастер создания интерфейса

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

 

Рис. 6.3.5-1 Выбор таблиц на этапе построения МБД

Заключение

К основным результатам диссертации можно отнести следующие:

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

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

  3. Достигнута независимость подсистемы анализа от конкретного естественного языка, от конкретной предметной области, от конкретного типа СИД. Кроме того, при условии отделения универсального компонента, исполняющего ЕЯ-интерфейс, от собственно ЕЯ-интерфейса, достигается независимость ЕЯ-интерфейса от платформы исполнения.

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

Список используемой литературы

Androutsopoulos et al 1995 Androutsopoulos I., Ritchie G.D., Thanisch P., (1995) Natural Language Interfaces to Databases—An Introduction. Natural Language Engineering 1(1):29–81.
Bosworth 1998 Adam Bosworth, Andrew Layman, Adriana Ardeleanu, David Schach. XML Query and transformation language. Position Paper for the W3C query language Workshop December 3, 1998.
Chen 1976 Chen P. The Entity-Rlationship Model: Towards a Unified View of Data // ACM Trans. On Database Syst. 1976. - V.1, №1.
CSS 1998 Cascadind Style Sheets. W3C Recommendation May 1998. http://www.w3.org/TR/REC-CSS2
Deutsch et al 1998 Deutsch and others, (1998). XML-QL: A Query Language for XML. Submission to the World Wide Web Consortium 19-August-1998. http://www.w3.org/TR/1998/NOTE-xml-ql-19980819
Finlay, Dix 1996 Janet Finlay, Alan Dix. An introduction to artificial intelligence. UCL Press, 1996.
Fox 1995 Chris Fox, Squirrel Documentation, 1999. http://cswww.essex.ac.uk/SNAP/Squirrel/doc.html.
Franz 1998 Developing with Microsoft English Query in Microsoft SQL Server 7.0. 1998
Kononenko, Sharoff 1996 Kononenko I., Sharoff S., Understanding Short Texts with Integration of Knowledge Representation Methods” Proc. of the Perspectives of System Informatics'96, Novosibirsk, June, 1996. pp. 43-47.
Malhotra, Sundaresan 1998 Malhotra A., Sundaresan N., (1998). RDF Query Specification. Technical contribution to the W3C Query Languages Workshop, Dec 3 and 4, 1998. http://www.w3.org/TandS/QL/QL98/pp/rdfquery.html
MathML 1999 Mathematical Markup Language (MathML™) 1.01 Specification. W3C Recommendation. http://www.w3.org/pub/WWW/TR/REC-MathML/
ODMG 1993 The Object Database Standard: ODMG-93. Ed. by R. G.G. Cattell, Morgan Kaufmann Publ., 1994, p. 169.
PGML 1998 Precision Graphics Markup Language (PGML). W3C Submission: http://www.w3.org/TR/1998/NOTE-PGML
RDF Specification 1999 Resource Description Framework (RDF) Model and Syntax Specification. W3C Technical Report. January, 1999. http://www.w3.org/TR/PR-rdf-syntax
Robie et al, 1998 Robie and others, (1998). XML Query Language (XQL). Position paper to the W3C Query Languages Workshop, Dec 3 and 4, 1998. http://www.w3.org/TandS/QL/QL98/pp/xql.html
Semp 1997 Программный комплекс Semp-F. Руководство пользователя. Отчет по РосНИИ Искусственного интеллекта, 1997.
Sharoff 1993 Sharoff S., SNOOP: A System for Development of Linguistic Processors. In: Proc. of the EAST-WEST conference on artificial intelligence, Moscow, pp. 184–188. (1993)
Sharoff, Zhigalov 1999 Sharoff S., Zhigalov V.A. (1999) Register-Domain Separation as a Methodology for Development of Natural Language Interfaces to Databases. Proc. of IFIP TC.13 International Conference on Human-Computer Interaction, Edinburgh, pp 79-85.
Trapeznikov et al 1993 Trapeznikov S., Dinenberg F., Kuchin S. (1993) InterBase: A Natural Language Interface system for popular commercial DBMSs. In: Proc. of the EAST-WEST conference on artificial intelligence. Moscow, pp. 189–193.
VML 1998 Vector Markup Language (VML). W3C Submission. http://www.w3.org/TR/NOTE-VML
Woods 1972 W.A. Woods, R.M. Kaplan, and B.N. Webber. The Lunar Sciences Natural Language Information System: Final Report. BBN Report 2378, Bolt Beranek and Newman Inc., Cambridge, Massachusetts, 1972.
XLink 1998 XML Linking Language (XLink). W3C Working Draft: http://www.w3.org/TR/WD-xlink
XML 1998 XML, (1998). Extensible Markup Language (XML) 1.0. W3C Recommendation 10-February-1998. http://www.w3.org/TR/REC-xml
XML-Data 1998 XML-Data, W3C Note 05 Jan 1998. http://www.w3.org/TR/1998/NOTE-XML-data
XML-Schema 1999 XML Schema Part 1: Structures. W3C Working Draft: http://www.w3.org/TR/xmlschema-1/
XSL, 1998 XSL, (1998). Extensible Stylesheet Language (XSL), version 1.0. World Wide Web Consortium Working Draft 16-December-1998. http://www.w3.org/TR/WD-xsl
XSL-Proposal 1997 A Proposal for XSL. Submitted to W3C on 27 August 1997. http://www.w3.org/TR/NOTE-XSL.html
Буч 1992 Буч Г., Объектно-ориентированное проектирование с примерами применения, Москва-Киев, 1992.
Загорулько 1999 Загорулько Ю., Кононенко И., Попов И. Экспериментальная система понимания метеорологических телеграмм. // Труды международного семинара Диалог-99 по компьютерной лингвистике и ее приложениям., том 2, с. 57-66.
Кононенко 1994 Кононенко И. Экспериментальная система понимания коротких текстов. // Труды IV национальной конференции ИИ-94 - Рыбинск, 1994 - с. 395-398
Лорьер 1991 Лорьер Ж.-Л. Системы искусственного интеллекта. - М.: Мир, 1991.
Любарский 1990 Любарский Ю.Я. Интеллектуальные информационные системы. - М. Наука, 1990.
Мартин 1978 Мартин Дж. Организация баз данных в вычислительных системах. М.: Мир, 1978.
Минский 1979 Минский М. Фреймы и представление знаний. - М.: Энергия, 1979.
Нариньяни 1979 Нариньяни А.С., Лингвистические процессоры ЗАПСИБ (1-я и 2-я части). Препринт ВЦ СО АН СССР, N 199, 1979
Нариньяни 1982 Нариньяни А.С. Недоопределенные модели и операции с недоопределенными значениями - Препринт ВЦ СО АН СССР, №400, 1982
Нариньяни 1997 Нариньяни А.С. Автоматическое понимание текста - новая перспектива // Труды международного семинара Диалог-97 по компьютерной лингвистике и ее приложениям. - Москва, 1997, с. 203-208.
Селфридж 1986 Селфридж М. Интегральная обработка обеспечивает надежное понимание. "Новое в зарубежной лингвистике", вып. XXIV - "Компьютерная лингвистика", М.: Прогресс, 1989.
Сосенская 1997 Сосенская Т, Толдова С. Опыт построения системы автоматического анализа текстов в ограниченной предметной области (на материале текстов ультразвуковых исследований) // Труды международного семинара Диалог-97 по компьютерной лингвистике и ее приложениям. - Москва, 1997, с. 259-263.
Хансен 1999 Г.Хансен, Дж.Хансен. Базы даных: разработка и управление - М.: ЗАО "Издательство БИНОМ", 1999.
Цаленко 1989 Цаленко М.Ш. Моделирование семантики в базах данных. - М.: Наука, 1989.
Шенк 1980 Шенк Р. Обработка концептуальной информации. - М.: Энергия, 1980.
Шенк 1985 Шенк Р., Бирнбаум Л., Мей Дж. К интеграции семантики и прагматики. "Новое в зарубежной лингвистике", вып. XXIV - "Компьютерная лингвистика", М.: Прогресс, 1989.

Источник: http://www.aha.ru/~zhigalov/science/disser/disser.htm (Компьютерный диалог)
Дополнительно
Дисертация Владислава Жигалова
http://www.aha.ru/~zhigalov/science/disser.zip - Word'97 (zip - 336k)