Разделы
Партнеры
Счетчики
Глава 6. Интегрированная среда построения ЕЯ-интерфейсов к реляционным БД
- 6.1 Основной цикл работы ЕЯ-интерфейса
- 6.2 Архитектура системы
- 6.3 Интегрированная среда для построения и отладки ЕЯ-интерфейсов к реляционным базам данных
- 6.3.1 Выбор ЕЯИ и главное окно приложения
- 6.3.2 Окна запроса-ответа и списка избранных запросов
- 6.3.3 Словарная подсистема
- 6.3.3.4 Объектно-ориентированное хранилище словарных статей
- 6.3.3.5 Визуальный редактор словаря
- 6.3.4 SNOOP - интегрированная среда в составе InBase
- 6.3.5 Мастер создания интерфейса
- Заключение
- Список используемой литературы
6.1 Основной цикл работы ЕЯ-интерфейса
На Рис. 6.1-1 показан основной цикл работы ЕЯ-интерфейса в idef-нотации. Эта схема показывает цикл обработки ЕЯ-запроса. Предполагается, что компоненты Словарь, МПО и МБД уже сформированы, и анализ проходит полный цикл - от естественного языка (вход) до обработанного результата из базы данных (выход).
ЕЯ-запрос от пользователя поступает на вход процесса "Анализ ЕЯ". Этот процесс, используя лексическую информацию, хранящуюся в словаре, а также модель предметной области (МПО) выбранного ЕЯ-интерфейса, преобразует ЕЯ-запрос в промежуточный язык Q. Затем в процессе "Генерация SQL" Q-запрос преобразуется в SQL-форму. При этом используется как МПО, так и модель базы данных (МБД) в виде реляционной схемы.
Рис. 6.1-1 Основной цикл работы ЕЯ-интерфейса в idef-нотации.
Полученный SQL-запрос поступает к целевой базе данных (БД), являющейся внешней системой по отношению к данной схеме, от нее получается результат в виде множества кортежей, и, возможно, код ошибки. Процесс "Обработка результата" преобразует этот необработанный результат в вид, пригодный для представления пользователю.
Опциональным элементом в данной схеме является процесс генерации ЕЯ по Q-представлению. Опциональность его обусловлена тем, что генерация ЕЯ существенно зависит от конкретного естественного языка, в отличие от анализа ЕЯ в семантически-ориентированном подходе, а сложность процесса ЕЯ-генерации не меньше сложности ЕЯ-анализа. Пользователю для контроля правильности понимания ЕЯ-запроса передается также Q-представление запроса.
Рассмотренный цикл не имеет памяти между циклами - один запрос непосредственно не влияет на выполнение следующего.
Общая схема системы показана на рис. 6.2-1.
Рис. 6.2-1 Архитектура системы в диаграмме потоков данных.
На схеме проведена грань между собственно системой построения ЕЯ-интерфейсов к базе данных (InBASE) и интегрированной в него на данном этапе средой разработки лингвистических процессоров SNOOP. Помимо уже рассмотренных основных модулей, входящих в число компонентов исполнения ЕЯ-интерфейса:
- Лингвистического процессора (ЛП),
- SQL-генератора,
- Словаря,
- МПО,
- МБД,
- блока запроса-ответа (ввод запроса в систему, обращение к базе данных и вывод результата),
в систему также входят:
- Прокачка (сканирование базы данных с занесением лексики из полей базы в словарь)
- Компоненты настройки (как визуальные, так и вычислительные)
- Визуальный редактор словаря
- Компилятор продукционной программы Л-процессора
- Отладчик продукционной программы (включает в себя, помимо редактора продукционной программы также средства мониторинга семантической сети).
Последние два модуля принадлежат среде 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) на окно запроса. Также возможно добавление запроса из поля ввода в список перетаскиванием запроса в окно списка.
Словарь является общим компонентом как для 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 Выбор таблиц на этапе построения МБД
К основным результатам диссертации можно отнести следующие:
- Разработана методика построения ЕЯ-интерфейсов к структурированным источникам данных, которая сочетает архитектуру ЕЯ-интерфейсов, использующую промежуточный язык представления и сематически-ориентированным подходом к анализу естественного языка в ограниченных предметных областях и позволяет быстрое построение ЕЯ-интерфейсов из готовых настраиваемых компонентов и библиотек.
- Разработана подсистема анализа ЕЯ-запросов, основанная на семантически-ориентированном подходе с использованием концептуальных структур и активно использующая объектно-ориентированную семантическую сеть в качестве основного формализма представления модели предметной области, структуры промежуточного языка запросов, а также как инструмент анализа естественного языка.
- Достигнута независимость подсистемы анализа от конкретного естественного языка, от конкретной предметной области, от конкретного типа СИД. Кроме того, при условии отделения универсального компонента, исполняющего ЕЯ-интерфейс, от собственно ЕЯ-интерфейса, достигается независимость ЕЯ-интерфейса от платформы исполнения.
- Разработана и программно реализована экспериментальная система построения ЕЯ-интерфейсов, представляющая собой интегрированную среду и позволяющая построение, тестирование и отладку ЕЯ-интерфейсов к реляционным базам данных.
Список используемой литературы
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.zip - Word'97 (zip - 336k)