Цель работы: изучение инструментальных средств «Turbo-prolog» для работы с экспертной оболочкой GEOBASE и ее модификации.
Система программирования Turbo-prolog получила широкое распространение и приобрела многочисленных сторонников. Разнообразные диалоговые и сервисные возможности выделяют ее среди других Prolog-систем.
Лабораторные средства:
каталог LRPR2000 с подкаталогом GEOLAB и файлами
prolog.exe — экспертная оболочка «Тurbo-prolog»,
prolog.cfg — текущая конфигурация системы,
prolog.err — расшифровка диагностических кодов,
prolog.hlp — описание системы «Turbo-prolog»,
prolog.lib, prolog.ovl — вспомогательные подсистемы «Тurbo-prolog».
prolab1-..-8.doc — описания лабораторных работ 1-..-8.
work2-..-8.pro — рабочие файлы, содержащие на языке «Тurbo-prolog» примеры программ
Запуск системы Тurbo-prolog
Распаковать на диск D файл prolog00.arj с созданием каталога LRPR2000
arj x -r prolog00.arj d:\
Войдя в каталог LRPR2000 и исполнив файл prolog.exe — вы попадаете в среду Turbo-пролога. Нажатие на любую клавишу активизирует систему.
Появляется главное меню со стандартным для Turbo-среды набором опций и четыре рабочих окна : редактирования, диалога, сообщений и трассировки. Внизу выводятся значения функциональных клавиш.
В системе имеются следующие опции:
Files — создание новой программы;
— запись / считывание файлов;
— изменение текущего каталога;
— временный выход в DOS с возвратом EXIT;
— выход из cреды в DOS.
Edit — позволяет редактировать текст в окне Editor.
Run — запуск программы на исполнение.
Compile — компиляция с помещением результата в память или в OBJ- файл;
— создание EXE- файла;
— редактирование связей;
— создание всех модулей.
Options — опции редактора связей;
— создание PRJ- файла;
— установка директив компилятора.
Setup — установка: цветов, размеров окна, рабочих каталогов;
— настройка на конкретную аппаратную реализацию;
— загрузка и запись SYS- файла (определяет текущую раскраску, диалог, рабочие
поля …).
Порядок компиляции, запуска и работы с программой GEOBASE.
Для того чтобы компиляция прошла успешно, необходимо конфигурирование системы. Нажав ESC, вы попадаете на управление опциями. Необходимо подвести курсор к пункту Setup и выбрать Directories. Далее устанавливаем по всем пунктам каталог D:\LRPR2000\GEOLAB. Для компиляции GEOBASE необходима ее загрузка в среду Пролога. Для этого нужно войти в пункт File / load. После этого появится приглашение вида *.PRO
Нажав еще раз ENTER, мы получим список файлов с расширением *.PRO и список каталогов с корневым каталогом. Необходимо выделить курсором файл GEOBASE.PRO и нажать ENTER. В результате в окне Editor появится текст программы GEOBASE.
Теперь программу GEOBASE можно откомпилировать с созданием различных видов выходных файлов (EXE, OBJ …) и запустить на выполнение или сразу исполнить без создания таких файлов.
В процессе компиляции используются следующие файлы:
geobase.pro — основной файл, в котором заложены важнейшие понятия, связи, структура будущей программы, подключаемые файлы, а также организация управления в целом.
geobase.hlp
geobase.lan
geobase.dba — группа файлов, которые являются информационными компонентами, необходимыми для полноценной работы будущей программы (в компиляции не участвуют).
geobase.inc — описаны основные элементы диалога: ввод, корректировка, отображение, …;
здесь находится описание механизма ввода и обработки вопросов, обращенных к
данным системы.
tdoms.pro — содержит некий, выработанный в процессе разработки интерфейса, стандартный
диалоговый шаблон для формирования управления программой, т.е.данный
включаемый модуль формирует стандартные для DOS- приложений элементы
диалога.
menu2.pro — содержит набор команд, позволяющих сформировать заданный оконный
интерфейс (своеобразная библиотека функций).
B итоге компиляции программы GEOBASE в среде Пролог мы получим независимую систему из четырех файлов:
geobase.dba; geobase.exe; geobase.lan; geobase.hlp
Независимость этой системы заключается в том, что ее можно использовать в качестве самостоятельной программы отдельно от среды Пролог и даже на любой другой ПЭВМ.
Рассмотрим что содержится в каждом из этих файлов.
geobase.dba — база данных программы GEOBASE. Содержит практически всю необходимую
для работы программы информацию:
— столицы, их площади (в квадратных километрах), некоторые города,
— информацию о городах, к каким штатам они относятся, их площади;
— информацию о реках: их длинах (в километрах), через какие штаты проходят;
— информацию о том, какой штат с каким граничит;
— информацию о наивысших и наинизших точках штатов с указанием названия местности;
— перечень гор в каждом штате с названиями и высотами (в километрах) над уровнем моря;
— перечень некоторых дорог с указанием населенных пунктов, которые они связывают;
— перечень озер с указанием их названий, площадей (квадратные километры) и в каком штате
(штатах) находятся.
geobase.exe — основной исполняемый модуль, управляющий всеми процессами в компьютере, обеспечивающий диалог с пользователем, использующий ресурсы баз данных.
geobase.lan — база данных, содержит информацию о связях между различными словесными конструкциями из ключевых слов, использование которых в конструкциях и связях в geobase.exe позволяет понимать естественный язык.
geobase.hlp — содержит справочные данные о информационной структуре и порядке работы с программой GEOBASE. Наличие информации в данном файле, кроме того, что эта информация важна для GEOBASE, помогает правильно сформулировать вопросы, задаваемые экспертной программе.
Работа с программой.
Итак, программа geobase.exe запущена (или из DOS, или из Среды Пролога). После запуска появляется рамка с заголовком:
GEOBASE : Natural language interfase to U.S. geography.
Кроме того, появляется диалоговое окно вида
Main Menu ,
в котором содержатся следующие пункты:
Tutorial — вывод файла со справочной информацией;
DOS Shell — временный выход в среду DOS;
View the language — дает возможность посмотреть различные конструкции языка;
Update the language — позволяет дополнить языковую базу данных.
Рассмотрим пример работы с базой данных:
Войдем в пункт Query the database :
1. Простейший пример — узнаем все штаты, которые имеются в базе данных: states <ENTER>;
2. Выясним, которые находятся в штате Arizona: give me the cities in arizona ;
3. Какова площадь озера superior : give me the area of superior ?
4. Какие реки есть в штате Arizona : which rivers is in arizona ?
5. Узнаем имя штата, в котором находится самая низкая точка США:
what is the name of the state with the lowest point ?
После приведенных примеров вы самостоятельно можете придумать и задать системе вопросы по географии США.
Запись новой информации в GEOBASE.
При работе с GEOBASE вы можете столкнуться с ситуацией, когда программа не понимает либо какого-то слова, либо какой-то словесной конструкции. Для таких случаев в программе GEOBASE имеются два важных пункта в Main Menu, позволяющих записать и просмотреть информацию в базе данных. Запись осуществляется по механизму дозаписи, т.е. старая информация сохраняется, а в конец добавляется новая.
1. Update the language — позволяет дописать информацию в базу данных GEOBASE;
1.1 New synonyms for entities — ввод новых синонимов для объекта name;
1.2 New Alternatives for associations — ввод новых альтернатив для связей между объектами вида of
in
border
with
1.3 New Words to be ignored — ввод новых слов, которые должны игнорироваться GEOBASE.
2. View the language — следующий важный пункт Main Menu, позволяющий просмотреть, какие конструкции уже имеются в базе данных. Здесь же можно просмотреть результаты записи, осуществленные при помощи предыдущего пункта. Этот пункт содержит подпункты просмотра:
2.1 Schema for the entity network — предназначен для работы с сетью;
2.2 Nanes of entities — позволяет просмотреть существующие имена объектов;
2.3 Synonyms for entities — синонимы для объектов (можно просмотреть результат записей);
2.4 Alternative names for associations — просмотр альтернативных имен для объектов, являющихся связями между конструкциями (можно просмотреть результат записей);
2.5 Words to ignore — показывает игнорируемые слова (можно просмотреть результат записей);
2.6 Units for attributes — позволяет узнать какие объекты с какими единицами измерения работают в данной программе (например население — в количестве людей, площадь — в квадратных километрах …);
2.7 Alternatives for relation operators — имена альтернативных операторов;
2.8 Words stating minimums — слова, обозначающие минимум (наименьший, самый короткий);
2.9 Words stating maximum — слова, обозначающие максимумы (наибольший, самый длинный).
Пример записи в GEOBASE.
Рассмотрим простейший пример реализации возможностей GEOBASE по записи новых данных в базу данных. Возьмем описанный выше пример:
what is the name of the state with the lowest point ?
Допишем в базу данных новые слова, связи и перепишем данный пример с учетом сделанных изменений. Для этого войдем в пункт Update the language
Выберем пункт New Synonyms for entities <ENTER>,<ENTER>
и введем синоним объекта name : myname <ENTER>
используя <ESC>, возвращаемся и переходим в пункт New Alternatives for associations.
В пункте Assoc выбираем with <ENTER> для этого слова введем альтернативу:
myalterwith <ENTER>
Опять через <ESC> возвращаемся и переходим в пункт New words to be ignored <ENTER>
и введем слово, которое в дальнейшем будет игнорироваться:
mywordignored.
По <ESC> возвращаемся в Main Menu. При этом все изменения записываются на жесткий диск. Теперь заходим в пункт View the language, входим в подпункт synonyms for entities
и видим, что в конце списка появилась строка
myname name
т.е. myname — синоним name.
Далее зайдем в пункт Alternative names for assotiations
Здесь мы увидим, что в конце списка появилась строка
with myalterwith
т.е. myalterwith является альтернативным вариантом with.
Теперь зайдем в пункт Words to ignore . Здесь увидим, что в конце списка появилось слово
myword ignored.
А теперь применим осуществленные добавления в базу данных для формирования вопроса, формулировку которого прежний вариант базы данных не позволил бы распознать (тренировочный пример): mywordignored what is the myname of the state myalterwith the
lowest point ?
ответ — california.
Теперь вы самостоятельно можете добавлять новые конструкции и задавать вопросы, используя расширенную таким образом базу данных.
Для выхода из программы GEOBASE необходимо выйти из всех подменю в главное меню и нажать клавишу <ESС>. При этом появится запрос на подтверждение того, что вы действительно хотите завершить работу с GEOBASE : Are you sure you want to quit? (y/n):
необходимо ответить
y (обязательно строчная латинская буква !).
Примеры работы с G E O B A S E
Вы можете получить любую информацию из GEOBASE в виде ответов на вопросы, заданные на нормальном английском языке. Вот некоторые примеры вопросов:
— дай мне список штатов: states
— дай мне все города в Калифорнии: give me the cities in california
— какой самый большой город в Калифорнии ? what is the biggest city in california
— какая самая длинная река в Калифорнии ? what is the longest river in the usa
— какая река длиннее чем одна тысяча километров ?
which rivers are longer than 1 thousand kilometers
— в каком штате находится самая низкая точка США ?
what is the name of the state with the lowest point
— какой штат граничит с штатом Алабама ? which states border alabama
— какие реки не протекают через штат Техас which rivers do not run through texas
— какие реки протекают через штаты, граничащие со штатом, столица которого — Остин ?
which rivers run through states that border the state with the capital austin
ЛАБОРАТОРНОЕ ЗАДАНИЕ 1.
Обучить систему каким либо нескольким новостям в географии (вроде тех, что вы узнали из личного опыта или по газетам) и не обязательно относящимся к США, НО С ПРАВДОПОДОБНЫМИ ДЕТАЛЯМИ. Для этого нужно скорректировать файлы баз данных так, как это показано на примерах, или может быть при помощи встроенного в оболочку редактора текстов или любого другого редактора или может быть изменив конструкции пролог-программы.
Сдать лабораторную работу 1, предъявив результаты диалога, и сохранить нужные Вам файлы в Вашем Рабочем Каталоге.
Уничтожить созданный Вами каталог LRPR2000 на диске D со всем содержимым.