Автор: Смирнов Ю.М. Кузин Е.С. Ройтман А.И. Фоминых И.Б. Хахалин Г.К.
Теги: компьютерные технологии вычислительная техника микропроцессоры искусственный интеллект эвм
ISBN: 5—06—000538—0
Год: 1989
2
Q
Интеллекту-
ализация
ЭВМ
©ПЕРСПЕКТИВЫ
РАЗВИТИЯ
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
2
В одиннадцати книгах
Под редакцией
лауреата Государственной премии СССР
проф. Ю.М.Смирнова
Интеллекту-
ализация
ЭВМ
©
Москва
«Высшая школа» 1989
Scan AAW
ББК 32.97
П 27
УДК 681.3
Рекомендовано Государственным комитетом СССР по народ-
ному образованию для использования в учебном процессе
Е. С. Кузин, А. И. Ройтман, И. Б. Фоминых,
Г. К. X ахал ин
Рецензенты:
кафедра вычислительной техники Московского института
электронного машиностроения (зав. кафедрой — проф. П. П. Сын-
чук); д-р техн, наук проф. П. В. Нестеров
Перспективы развития вычислительной техники.:
П 27 В И кн.: Справ. пособие/Под ред. Ю. М. Смирнова.
Кн. 2. Интеллектуализация ЭВМ/Е. С. Кузин,
А. И. Ройтман, И. Б. Фоминых, Г. К. Хахалин. —
М.: Высш, шк., 1989. — 159 с.: ил.
ISBN 5—06—000538—0
В пособии рассматриваются основные направления создания средств
интеллектуализации ЭВМ, характерные для вычислительных машин пя-
того поколения. Описываются средства представления и хранения зна-
ний в ЭВМ, средства автоматического и автоматизированного решения
задач, средства общения пользователя и вычислительной системы, обес-
печивающие естественные для человека способы представления сообще-
ний, экспертные системы.
П
2405000000— 129
001(01)—89
195—89
ББК 32.97
6Ф7
ISBN 5—06—000538—0
© Издательство «Высшая школа>,
1989
Введение
Возникновение проблемы интеллектуали-
зации вычислительных машин обусловлено, с одной
стороны, развитием исследований по направлению «ис-
кусственный интеллект» (ИИ), с другой — быстрым раз-
витием вычислительной техники и постоянно возрастаю-
щими потребностями ее разнообразных применений.
Начало исследований в области искусственного интел-
лекта (конец 50-х годов) связывают с работами Ньюэл-
ла, Саймона и Шоу, исследовавших процессы решения
различных задач. Результатами их работ явились такие
программы, как ЛОГИК-ТЕОРЕТИК, предназначенная
для доказательства теорем в исчислении высказываний,
и ОБШИЙ РЕШАТЕЛЬ ЗАДАЧ.
> Эти работы положили начало первому этапу
исследований в области искусственного интеллек-
та, связанному с разработкой программ, решающих
задачи на основе применения разнообразных эвристиче-
ских методов.
Эвристический метод решения задачи при этом рас-
сматривался как свойственный человеческому мышлению
«вообще», для которого характерно возникновение «дога-
док» о пути решения задачи с последующей проверкой
их. Ему противопоставлялся используемый в ЭВМ алго-
ритмический метод, который интерпретировался как ме-
ханическое осуществление заданной последовательности
шагов, детерминированно приводящей к правильному от-
вету. Трактовка эвристических методов решения задач
как сугубо человеческой деятельности и обусловила
появление и дальнейшее распространение термина искус-
ственный интеллект.
Так, при описании своих программ Ньюэлл и Саймон
приводили в качестве доводов, подтверждающих, что их
программы моделируют человеческое мышление, резуль-
3
таты сравнения записей доказательств теорем в виде
программ с записями рассуждения «думающего вслух»
человека. В начале 70-х годов они опубликовали много
данных подобного рода и предложили общую методику
составления программ, моделирующих мышление.
Примерно в то время, когда работы Ньюэлла и Сай-
мона стали привлекать к себе внимание, в Массачусетс-
ском технологическом институте, Стэнфордском универ-
ситете и Стэнфордском исследовательском институте
также сформировались исследовательские группы в об-
ласти ИИ. В противоположность ранним работам Ньюэл-
ла и Саймона эти исследования больше относились к
формальным математическим представлениям. Способы
решения задач в этих исследованиях развивались на
основе расширения математической и символической
логики. Моделированию же человеческого мышления
придавалось второстепенное значение. К исследователям
этого направления можно отнести таких известных в об-
ласти ИИ ученых, как Минский, Мак-Карти, Слейгл, Ра-
фаэль, Бобров, Бенерджи и др.
На дальнейшие исследования в области ИИ большое
влияние оказало появление метода резолюций, предло-
женного Робинсоном, основанного на доказательстве тео-
рем в логике предикатов и являющегося, по крайней
мере теоретически, исчерпывающим методом доказа-
тельства (хотя использование этого метода для решения
реальных задач связано с большими, иногда практиче-
ски непреодолимыми трудностями).
Методологическое значение работ Робинсона и других
аналогичных работ заключалось в том, что основное
внимание в исследованиях по ИИ переместилось с раз-
работки методов воспроизведения в ЭВМ человеческого
мышления на разработку машинно-ориентированных ме-
тодов решения задач.
При этом определение термина «искусственный интел-
лект» претерпело существенное изменение. Целью иссле-
дований, проводимых в направлении ИИ, стало не моде-
лирование способов мышления человека, а разработка
программ, способных решать «человеческие задачи». Так,
один из видных исследователей ИИ того времени Р. Бе-
нерджи в 1969 г. писал: «Область исследований, обычно
называемую искусственным интеллектом, вероятно, мож-
но представить как совокупность методов и средств ана-
лиза и конструирования машин, способных выполнять за-
дания, с которыми до недавнего времени мог справиться
4
только человек. При этом по скорости и эффективности
машины должны быть сравнимы с человеком» [1].
Функциональный подход к направленности исследова-
ний по искусственному интеллекту сохранился в основном
до настоящего времени, хотя еще и сейчас ряд ученых,
особенно психологов, пытаются оценивать результаты
работ по ИИ с позиций их соответствия человеческому
мышлению.
Исследовательским полигоном для развития методов
ИИ на первом этапе являлись всевозможные игры, голо-
воломки, математические задачи. Некоторые из этих
задач стали классическими в литературе по искусственно-
му интеллекту (задача об обезьяне и бананах, миссионе-
рах и людоедах, Ханойской башне, игра в 15 и др.).
Выбор таких задач для исследований обусловливался
простотой и ясностью проблемной среды (среды,
в которой разворачивается решение задачи), ее относи-
тельно малой громоздкостью, возможностью доста-
точно легкого подбора и даже искусственного констру-
ирования «под метод». В то же время такие среды под-
ходили для моделирования достаточно сложных процес-
сов решения и исследования всевозможных стратегий
решения с относительно небольшими затратами как
человеческих, так и машинных ресурсов.
Основной расцвет такого рода исследований прихо-
дится на конец 60-х годов, после чего стали делаться
первые попытки применения разработанных методов для
задач, решаемых не в искусственных, а в реальных про-
блемных средах. Однако такие попытки натолкнулись
на большие трудности, обусловленные главным образом
необходимостью моделирования внешнего мира. Эти
трудности были связаны с проблемами описания знаний
о внешнем мире, организации их хранения и достаточно
эффективного поиска, введения в память ЭВМ новых зна-
ний и устранения устаревших (в том числе автоматиче-
ского их извлечения из среды), проверки полноты и не-
противоречивости знаний и т. п. Указанные проблемы
еще и сегодня далеки от полного решения, однако уже в
то время становилось все более понятным, что именно
их решение является ключом к созданию эффективных
систем искусственного интеллекта.
Необходимость исследования систем искусственного
интеллекта при их функционировании в реальном мире
привела к постановке задачи создания интегральных ро-
ботов. При разработке проектов таких роботов использо-
5
вание термина «искусственный интеллект» стало звучать
более обоснованно, так как в них решались не отдельные
задачи ИИ, а исследовался и реализовывался необходи-
мый спектр «интеллектуальных» функций, таких, как
организация целенаправленного поведения, восприятие
информации о внешней среде, формирование действий,
обучение, общение с человеком и другими роботами.
Для формирования целенаправленного поведения,
т. е. формирования программы решения некоторой внеш-
ней по отношению к роботу задачи, интегральный робот
должен обладать необходимым комплексом знаний о ре-
альном мире, в котором он функционирует, значительно
превосходящем знания, отображаемые в собственно про-
грамме функционирования. Эти знания должны быть за-
ложены в робот в виде модели внешнего мира или, точ-
нее, модели проблемной среды, т. е. той части внешнего
мира, которая существенна для решения задач, ставя-
щихся перед роботом. Модель проблемной среды инте-
грального робота — это совокупность взаимосвязанных
сведений, необходимых и достаточных для решения соот-
ветствующего класса задач, в том числе и сведений о воз-
можных способах воздействия на среду и изменениях,
которые они вызывают в ней. В систему знаний робота
должны быть заложены алгоритмы, позволяющие вос-
производить «мысленные» преобразования среды и строить
на этой основе план решения очередной задачи, а также
алгоритмы, обеспечивающие выполнение данного плана
и контрольное сравнение ожидаемых и действительных
результатов запланированных действий.
> Проведение работ, связанных с созданием интеграль-
ных роботов, можно считать вторым этапом ис-
следований по искусственному интеллекту.
В Стэнфордском университете, Стэнфордском иссле-
довательском институте и некоторых других местах были
разработаны экспериментальные роботы, функционирую-
щие в лабораторных условиях. Проведение этих экспери-
ментов показало необходимость решения кардинальных
вопросов, связанных с проблемой представления знаний
о среде функционирования, и одновременно недостаточ-
ную исследованность таких проблем, как зрительное вос-
приятие, построение сложных планов поведения в динами-
ческих средах, общение с роботами на естественном языке.
>> Эти проблемы были более или менее ясно сформули-
рованы и поставлены перед исследователями в середине
6
70-х годов, связанных с началом третьего этапа
исследований систем ИИ. Его характерной чертой
явилось смещение центра внимания исследователей с
создания автономно функционирующих систем, самосто-
ятельно (или в условиях ограниченного общения с чело-
веком) решающих в реальной среде поставленные перед
ними задачи, к созданию человеко-машинных систем, ин-
тегрирующих в единое целое интеллект человека и спо-
собности вычислительных машин для достижения общей
цели — решения задачи, поставленной перед интеграль-
ной человеко-машинной решающей системой.
Такое смещение обусловливалось двумя причи-
нами:
1) к этому времени выяснилось, что даже простые на
первый взгляд задачи, возникающие перед интегральным
роботом при его функционировании в реальном мире
(например, движение по пересеченной местности, рас-
познавание объектов на сложном фоне с естественным
освещением, организация сложного поведения и т. п.),
не могут быть решены методами, разработанными для
экспериментальных задач в специально сформированных
проблемных средах;
2) стало ясно, что сочетание дополняющих друг друга
возможностей человека и ЭВМ позволяет «обойти острые
углы» путем перекладывания на человека тех функций,
которые пока еще недоступны для ЭВМ. Вычислительная
машина, со своей стороны, способна обрабатывать боль-
шие объемы информации с использованием регулярных
методов, многократно просматривать различные пути ре-
шения, предлагаемые человеком, предоставлять ему все-
возможную справочную информацию.
На первый план выдвигалась не разработка отдель-
ных методов машинного решения задач, а разработка
методов и средств, обеспечивающих тесное взаимодейст-
вие человека и вычислительной системы в течение всего
процесса решения задачи с возможностью оперативного
внесения человеком изменений в ходе этого процесса.
Развитие исследований по ИИ в данном направлении
обусловливалось также резким ростом производства
средств вычислительной техники и таким же резким их
удешевлением, делающим их потенциально доступными
для более широких кругов пользователей. Однако эта до-
ступность для большинства реальных пользователей так
и оставалась «потенциальной», поскольку требовала для
7
реализации овладения большими объемами специальных
знаний по использованию ЭВМ.
Все это, вместе взятое, и привело к тому, что в настоя-
щее время под интеллектуализацией ЭВМ понимается в
основном развитие возможностей вычислительных машин
в направлении обеспечения совместного с пользователем
решения задач, упрощения процесса общения человека и
ЭВМ в ходе решения, постоянного расширения доли маши-
ны в совместной с человеком деятельности по решению
задачи. При этом значительное внимание уделяется так-
же и повышению способности вычислительной машины
к самостоятельному (в автоматическом режиме) реше-
нию трудноформализуемых задач.
Именно так понимается проблема интеллектуализации
ЭВМ и в данной работе.
Глава
Новая
информационная технология
1.1 Необходимость новой технологии
решения задач на ЭВМ
Для вычислительной техники 60—70-е
годы были периодом бурного развития разнообразных
систем обработки информации в различных сферах при-
менения ЭВМ. В это время были созданы и опробованы
методы и средства реализации таких систем, усовершенст-
вована технология их применения. Еще более интенсивно
в этот же период развивались средства вычислительной
техники. Резко повысились производительность, надеж-
ность ЭВМ, существенно увеличились объемы оперативной
и внешней памяти, расширились номенклатура перифе-
рийных устройств, функциональные возможности систем-
ного программного обеспечения. Все это происходило в
условиях непрерывной миниатюризации технических
средств ЭВМ и снижения их стоимости.
Характерным результатом этих процессов явилось со-
здание в начале 80-х годов персональных ЭВМ (ПЭВМ).
В настоящее время ПЭВМ имеет такие габариты, что
свободно размещается на небольшом письменном столе,
при этом ее технические характеристики и функциональ-
ные возможности во многом превосходят характеристики
и возможности больших ЭВМ 60—70-х годов. Иначе го-
воря, вычислительная техника стала гораздо доступнее
для пользователей, существенно расширилась сфера ее
потенциального применения. Там, где прежде использо-
вание ЭВМ было слишком дорого и, следовательно, не-
эффективно, теперь оно становится целесообразным и
желательным. Более того, как и для любого промышлен-
ного продукта, для ЭВМ направление и интенсивность
развития определяются тем, насколько широко, разнооб-
разно и эффективно она будет применяться.
9
Однако к началу 80-х годов развитие средств вычис-
лительной техники и ее применений все больше сдержи-
вается традиционной технологией решения задач на ЭВМ.
Для пояснения этого явления необходимо подробное рас-
смотрение организации решения задачи на ЭВМ и жизнен-
ного цикла программного обеспечения.
Процесс решения задачи начинается ее первоначаль-
ной постановкой конечным пользователем (пользователем,
использующим результаты ее решения). В подавляющем
большинстве случаев задача возникает в процессе целе-
направленной деятельности пользователя в области его
профессиональных интересов.
Процесс решения задачи в общем случае носит итера-
тивный характер. Первоначальная постановка задачи мо-
жет привести к получению результатов, не удовлетворяю-
щих пользователя, после чего он должен внести в нее
необходимые коррекции, получить и оценить новые ре-
зультаты и т. д., пока не получит знания, необходимые
для продолжения его профессиональной деятельности.
Необходимым условием осуществления этой деятель-
ности и адекватного формулирования постановки задачи
является наличие у пользователя профессиональных
знаний, используя которые он может анализировать со-
бытия, происходящие в области его деятельности, прогно-
зировать развитие тех или иных ситуаций, находить необ-
ходимые решения.
Обладая профессиональными знаниями, конечный
пользователь, по определению, в общем случае не имеет
никаких (по крайней мере таких, которые могли бы ему
оказать практическую помощь) знаний о способах исполь-
зования вычислительных средств для решения его задачи.
Посредниками между ним и ЭВМ выступают системный
аналитик и программист*.
Основными знаниями системного аналитика являются
знания о методах постановки различных задач для реше-
ния на ЭВМ. Кроме того, он должен обладать некоторыми
знаниями об области профессиональной деятельности
пользователя, обеспечивающими возможность проведения
с ним диалога, и представлять, хотя бы на обобщенном
уровне, процесс составления программы. В процессе диа-
лога с пользователем системный аналитик выбирает адек-
* В частном случае системный аналитик, и программист могут
совмещаться в одном лице, но, поскольку их функции, вообще говоря,
различны, целесообразно их рассматривать по отдельности.
10
ватный задаче метод, определяет требуемую выбранным
методом организацию данных и строит схему решения
задачи на ЭВМ. При этом, в случае если задача относится
к информационно-поисковому типу, основное внимание он
должен уделять именно организации данных. Уже после
построения схемы решения происходит почти полное «от-
чуждение» конечного пользователя от дальнейшего про-'
цесса решения задачи.
Этап разработки программы, осуществляемый про-
граммистом либо самостоятельно, либо в диалоге с систем-
ным аналитиком, проходит без участия конечного поль-
зователя. Программист должен обладать знаниями, до-
статочными для построения программ, реализующих те
или иные схемы решения задачи, а также некоторыми
знаниями о методах решения задач на ЭВМ, достаточны-
ми для диалога с системным аналитиком. Их диалог на-
правлен только на разработку и оптимизацию программы.
Ошибки, неточности, нерациональные решения, допущен-
ные при постановке задачи и при построении схемы ее ре-
шения, практически не могут быть выявлены. При этом
иногда процесс оптимизации может приводить к внесению
таких изменений в схему решения задачи, которые несу-
щественны с точки зрения системного аналитика, но не-
допустимы с точки зрения пользователя.
Отладка программы осуществляется программистом,
причем получаемый готовый продукт уже полностью «от-
чужден» от инициатора его создания — конечного поль-
зователя. Полученные результаты могут не удовлетворять
пользователя, после чего он должен внести необходимые
коррекции в ее постановку, получить и оценить новые
результаты и т. д., пока не получит знания, необходимые
ему для осуществления его профессиональной деятель-
ности.
Однако при традиционной технологии внесение изме-
нений требует в общем случае нового привлечения про-
граммистов и системных аналитиков, которые должны
внести коррекцию в программу, что обычно представляет
собой более сложный процесс, чем разработка новой
программы. На все это может потребоваться значительное
время, особенно если программист и аналитик обслужи-
вают нескольких пользователей. При этом возможности
изменения программы значительно ограничиваются в пер-
вую очередь организацией прикладного программного
обеспечения в целом, во вторую — его настройкой на кон-
кретное применение. Следует подчеркнуть также, что не-
11
обходимость изменений, требующих такой перестройки,
возникает не только и не столько в пределах решения
конкретной задачи. В большинстве случаев она является
следствием изменения производственной, экономической
и т. п. ситуаций, изменением взглядов группы пользова-
телей в процессе эксплуатации системы, наконец (и очень
часто), результатом неправильного понимания создателя-
ми соответствующих требований конечных пользователей.
Как правило, прикладное программное обеспечение
компонуется из относительно независимых программных
систем, каждая из которых предназначена для решения
определенного класса задач. Очевидные технико-экономи-
ческие соображения заставляют строить эти программные
системы как универсальные в рамках решаемых ими задач.
Так, если программная система предназначена для реше-
ния задач оперативого управления предприятием с дис-
кретным характером производства, то она должна быть
приемлемой и для часового, и для подшипникового, и для
электромеханического заводов. Для того чтобы учесть
специфику конкретного применения, при проектировании
программной системы предусматриваются и средства ее
настройки (адаптации). В зависимости от сложности
настройки соответствующие средства ориентируются на
применение конечным пользователем или программистом.
После разработки и оформления программной системы
как изделия она поступает к пользователям. Однако
дальнейшая работа с ней по ряду причин не ограничивает-
ся применением для решения прикладных задач.
Как показывает опыт, сложная программная система
обычно содержит ошибки, не выявленные на стадиях от-
ладки и тестирования. Подобные ошибки могут быть вне-
сены на любой стадии создания системы. В частности, не-
редки случаи, когда выявляются ошибки проектирования
системы, обусловленные тем, что разработчик неверно
понял постановку задачи или требования пользователей,
либо не предусмотрел необходимые средства адаптации
системы к условиям конкретного применения. Еще чаще
встречаются технические ошибки реализации, проявляю-
щиеся в несоответствии программного продукта эксплуа-
тационной документации или неработоспособности систе-
мы при некоторых вариантах ее применения. Исправле-
ние подобных ошибок, информация о которых поступает
к разработчику от пользователей, и развитие функцио-
нальных возможностей системы являются предметом де-
ятельности разработчика, называемой сопровождением
12
программной системы. Если теоретически и можно пред-
положить существование «безошибочной» программной
системы (на практике такое случается крайне редко),
то предусмотреть все последующие изменения постановки
задач, требований к ее решению в большинстве случаев
просто невозможно, так как они изменяются в процессе
применения системы и отчасти в связи с ее применением.
Эти изменения вызываются главным образом естествен-
ным развитием предметной области, условий, в которых
задача решается. Отсюда и вытекает необходимость по-
стоянного расширения функциональных возможностей
системы.
Деятельность разработчика по исправлению ошибок в
программной системе и расширению ее функциональных
возможностей правильно было бы называть централи-
зованным сопровождением системы. Наряду с ним всегда
существует необходимость локального сопровождения
каждого пользователя (или организации- пользователя).
Основная задача здесь состоит в адаптации системы к
изменяющимся условиям конкретного применения. При
этом используются либо входящие в систему средства
настройки, либо (когда они не могут помочь) дополни-
тельные программы, разрабатываемые сопровождающи-
ми программистами.
Таким образом, сопровождение прикладной програм-
мной системы выполняется на протяжении всего ее жиз-
ненного цикла. Процесс сопровождения в традиционной
технологии требует по крайней мере такого же количества
ресурсов, как и разработка программы. В частности,
удваивается число специалистов по программному обе-
спечению, обслуживающих потребности пользователей.
В условиях неуклонного расширения сферы применения
ЭВМ потребности в таких специалистах не могут быть
реально удовлетворены. Все сказанное выше и обуслов-
ливает необходимость изменения технологии использова-
ния ЭВМ.
1.2 Основные идеи новой технологии
решения задач на ЭВМ
Описанную кризисную ситуацию в примене-
нии ЭВМ можно преодолеть только путем привле-
чения пользователей к процессам решения задач, со-
провождения программной системы и, возможно, даже
13
разработки прикладного программного обеспечения
(ППО).
Однако это требует коренного изменения принципов
организации ППО и методов его использования при реше-
нии задач, сложившихся в рамках традиционной техно-
логии.
Прежде всего необходимо строить программные систе-
мы таким образом, чтобы радикально упростить процес-
сы их эксплуатации и сопровождения. Для того чтобы
глубже понять характер затруднений пользователя при
его взаимодействии с ЭВМ, нужно подчеркнуть, что про-
граммная система в традиционной технологии обычно ос-
новывается на формальной модели решения задачи. В за-
висимости от задачи это может быть какая-нибудь модель
исследования операций, численный метод решения при-
кладного математического анализа, некоторая модель
данных и т. п. При этом, как правило, множество понятий
и терминов, в которых формулируется и описывается за-
дача для применения программы, минимально и связано
с математической моделью, а не с конкретной областью ее
применения. Такое положение обусловлено стремлением
к универсализации программных систем, т. е. к возможнос-
ти широкого распространения каждой такой системы в
различных предметных областях. В то же время каждая
предметная область характеризуется системой содержа-
тельных понятий, которыми оперирует пользователь при
решении задачи.
Таким образом, в традиционной технологии обработ-
ки данных системы понятий предметной области и фор-
мальной модели, положенной в основу программы, как
правило, не совпадают.
Это различие и является основной причиной затруд-
нений, возникающих при взаимодействии пользователя с
ЭВМ в процессе решения задачи.
Для применения программы пользователь должен пе-
ревести постановку задачи, выраженную в системе по-
нятий предметной области, в постановку, выраженную в
системе понятий формальной модели.
Перевод из одной системы понятий в другую называ-
ется интерпретацией. При получении результатов решения
задачи пользователь также должен выполнить интерпре-
тацию, обратную первой.
Процесс интерпретации связан с рядом существенных
объективных и субъективных трудностей, которые увели-
14
чиваются с ростом объема, сложности и универсальности
программной системы.
Методы решения проблемы интерпретации в рамках
традиционной технологии можно условно разделить на
частные и систематические.
Частные методы улучшают процесс взаимодействия
пользователя с ЭВМ лишь в отдельных аспектах. К ним
можно отнести, например, эффективные методы докумен-
тирования программных систем, различного рода системы
помощи пользователю (help-системы) и т. п.
Основная концепция систематических методов упро-
щения процесса взаимодействия состоит в том, чтобы
одновремено обеспечить:
— взаимодействие на основе системы понятий предмет-
ной области для жестко ограниченного круга прикладных
задач;
— оперативное расширение этого круга задач сопровож-
дающим программистом.
В традиционной технологии систематические методы
поддерживаются использованием различного рода диало-
говых систем с архитектурой «меню» и средств генерации
таких систем, а также некоторых современных языков
программирования. Такие системы получили широкое
распространение и быстро развиваются. Однако всем им
органически присущ один недостаток — необходимость
регулярного сопровождения программы для каждого
конечного пользователя. Новая информационная техно-
логия ставит своей целью обеспечение простоты процесса
взаимодействия пользователя с ЭВМ с исключением не-
обходимости регулярного сопровождения.
Основная идея новой информационной технологии,
призванная обеспечить решение проблемы, состоит в том,
чтобы рассматривать систему понятий предметной области
и соответствие между ней и системой понятий формальной
модели как исходную информацию для решения приклад-
ных задач.
В идеале подобный подход должен обеспечить пользо-
вателю возможность самостоятельного изменения системы
понятий предметной области, определения новых понятий
через «известные» системе. Пользователь получает воз-
можность формулирования своего видения предметной
области, выделения в ней объектов и взаимосвязей,
существенных для решения задачи и удобных для рас-
суждения в процессе решения. Описанный подход к про-
блеме противоположен традиционному подходу, рассмат-
15
ривающему задачу упрощения взаимодействия пользова-
теля с ЭВМ как важную, но все же второстепенную.
▲ Система программных и аппаратных средств, обеспе-
чивающих для конечного пользователя, не имеющего спе-
циальной подготовки в области вычислительной техники,
использование ЭВМ для решения задач, возникающих
в сфере его профессиональной деятельности либо без
посредников-программистов, либо с незначительной их
помощью, называется интеллектуальным интерфейсом.
Процесс же внедрения средств интеллектуального интер-
фейса в вычислительную технику можно определить как
интеллектуализацию ЭВМ.
При этом термины «интеллектуальный» и «интеллек-
туализация» не предполагают обязательного определе-
ния понятия «интеллект», а только подчеркивают, с одной
стороны, нетривиальность функций, выполняемых интел-
лектуальным интерфейсом в общей системе вычислитель-
ных средств, с другой — то, что выполнение этих функ-
ций до последнего времени являлось прерогативой чело-
века.
Функционирование средств интеллектуального интер-
фейса опирается на развитые методы работы со знаниями:
их представление, хранение, преобразование и т. п.
Под термином знания прл этом понимается вся сово-
купность информации, необходимой для решения задачи,
включающая в себя в том числе информацию:
1) о системе понятий предметной области, в которой
решаются задачи;
2) о системе понятий формальных моделей, на основе
которых решаются задачи;
3) о соответствии систем понятий, упомянутых выше;
4) о текущем состоянии предметной области;
5) о методах решения задач.
При этом система знаний должна быть организована в
ЭВМ таким образом, чтобы обеспечить взаимодействие
вычислительной системы (ВС) с пользователем в системе
понятий и терминов предметной области.
Знания о предметной области, организованные на ос-
нове тех или иных методов и средств представления зна-
ний, называются моделью предметной области (МПО).
Накопленный опыт работ по представлению знаний
и созданию отдельных подсистем интеллектуального ин-
терфейса позволяет утверждать, что последовательное
проведение нового подхода к проблеме организации взаи-
16
модействия пользователя с ЭВМ существенно влияет на
все виды работ по созданию, сопровождению и эксплуата-
ции программных средств. Таким образом, справедливо
говорить о возникновении действительно новой техноло-
гии решения задач на ЭВМ — новой информационной
технологии.
При новой технологии в зависимости от типа решаемой
задачи должны обеспечиваться адекватные формы пред-
ставления всех видов информации, которой обменивают-
ся пользователь и вычислительная система
Это означает, что средства поддержки новой техноло-
гии должны обеспечивать представление информации в
естественном для пользователя виде — текстов на естест-
венном языке, нарисованных от руки изображений
(в том числе таблиц, графиков, рукописных символов),
устных речевых сообщений, различных математических
выражений, а также других представлений на профес-
сиональных диалектах пользователя. В дальнейшем необ-
ходимо и обеспечение возможности формирования ком-
бинированных сообщений, сочетающих различные формы
представления информации.
При использовании новой информационной технологии
конечный пользователь должен затрачивать минимальное
время на обучение. Само обучение в основном должно
сводиться к овладению работой с терминалом: «как уз-
нать», «что нажать», «куда сказать», «куда посмотреть» —
и ознакомлению с возможностями системы. При этом поль-
зователь в случае затруднений должен получать помощь
от системы, позволяющую преодолеть возникшие труд-
ности. Следует подчеркнуть, что при этом речь идет о
«случайном» конечном пользователе. Для конечного поль-
зователя, регулярно использующего ЭВМ в своей деятель-
ности, должна быть разработана более широкая система
обучения, т. е. и при новой информационной технологии
должен сохраняться принцип: «Чем больше знаешь, тем
больше можешь получить».
Основное требование к вычислительной системе, опре-
деляющее новую информационную технологию реше-
ния задач с использованием ЭВМ и обобщающее осталь-
ные требования, — превращение машины в удобного парт-
нера конечного пользователя при решении задач, возни-
кающих в ходе его профессиональной деятельности. Удоб-
ство программного продукта для пользователя в общем
случае является более важным качеством, чем произ-
водительность ЭВМ.
17
2—1369
Интеллектуальный интерфейс, обеспечивающий в со-
ставе единой человеко-машинной решающей системы не-
посредственное взаимодействие конечного пользователя и
ЭВМ при решении задачи, должен выполнять три группы
функций:
— обеспечение для пользователя возможности поста-
новки задачи для ЭВМ путем сообщения только ее условий
без задания программы решения. При этом должна со-
храняться возможность детального разбиения задачи на
последовательность подзадач, обеспечивающая, в свою
очередь, возможность косвенного указания пути решения
задачи:
— обеспечение для пользователя возможности само-
стоятельного формирования операционной среды решения
задачи с использованием только терминов и понятий из
области профессиональной деятельности пользователя;
— обеспечение для пользователя естественных для
него форм представления информации, которой он обме-
нивается с ВС в процессе решения задачи, а также выбор
приемлемых для него способов организации диалога при
этом обмене;
— возможность изменения по желанию пользователя
структуры диалога, при этом спектр возможных изменений
должен предусматривать диалог типа «меню», различные
формы анкетно-форматного типа, обмен произвольными
(не регламентированными заранее) сообщениями.
Из неподготовленности пользователя, его «случайно-
го» характера вытекает требование обеспечения работы
ВС в условиях ошибок, допускаемых пользователем в
сообщениях. Эта же неподготовленность требует включе-
ния в состав средств интеллектуального интерфейса,
обеспечивающих процесс общения, средств, объясняющих
пользователю его ошибки и непонятные места в ходе ре-
шения задачи.
1.3 Место интеллектуального интерфейса
в вычислительной системе
Для лучшего понимания места, которое ин-
теллектуальный интерфейс должен занимать в общей
системе аппаратных и программных средств ЭВМ, сде-
лаем ретроспективный анализ развития вычислительной
техники. Такой анализ позволяет утверждать, что вы-
числительная техника постоянно развивается в двух на-
правлениях.
18
► Первое направление связано с улучшением
параметров существующих средств, ориентированным на
повышение эффективности выполнения ими своих функ-
ций. Его можно назвать развитием по горизонтали.
► Второе направление определяет изменения
в технологии обработки информации, приводящие к улуч-
шению использования ЭВМ. Развитие в этом направле-
нии происходит в основном скачкообразно и связано с
появлением качественно новых аппаратно-программных
средств, дополняющих существующие средства. Его мож-
но назвать развитием по вертикали.
Развитие по вертикали накладывает свой отпечаток
на организацию вычислительной машины, придавая ей
многоуровневый иерархический характер.
В современных ЭВМ, использующих традиционную
технологию обработки информации, можно выделить сле-
дующие уровни: микропрограммный, традиционный ма-
шинный, операционной системы, ассемблерный и проб-
лемно-ориентированных языков. Выделение этих уровней
основывается на трактовке вычислительной машины как
интегрированного набора алгоритмов и структур данных,
способного хранить и выполнять программы. Если при
этом вычислительная машина построена на реальных
элементах, то она трактуется как реальная или аппарат-
ная. Если же она построена с помощью программ, вы-
полняемых на некоторой другой вычислительной машине,
то она является программно-моделируемой, виртуальной
машиной. Виртуальная машина определяется структурой
данных и алгоритмов, используемых в процессе выпол-
нения программы, при условии реализации некоторого
языка, на котором написана программа.
Средства интеллектуального интерфейса образуют но-
вый уровень — уровень конечного пользователя, опреде-
ляющий качественно новый скачок в развитии техноло-
гии обработки информации на ЭВМ, что объясняется
принципиальными отличиями этого уровня от всех пре-
дыдущих.
► Первое отличие заключается в том, что средст-
ва уровня конечного пользователя ориентируются на при-
способление к пользователям, имеющим различную, в
том числе самую низкую, квалификацию. Средства же пре-
дыдущих уровней в основном были направлены на при-
способление пользователя к этим средствам, требуя от
19
2*
него приобретения специальной квалификации для их ис-
пользования.
► Второе отличие заключается в том, что средст-
ва уровня конечного пользователя должны обеспечивать
весь процесс решения задачи начиная с возникновения
информационной потребности пользователя, в то время
как традиционные средства в основном были направлены
на обеспечение процесса выполнения программы.
► Третье отличие заключается в том, что средст-
ва нового уровня должны обеспечивать совместное реше-
ние задачи конечным пользователем и ЭВМ в тесном взаи-
модействии и при постоянной смене ролей в процессе этого
взаимодействия. Средства же традиционных уровней
практически обеспечивали такой процесс только для про-
граммистов на этапе отладки и выполнения программы.
Необходимо подчеркнуть, что сам по себе уровень
конечного пользователя не расширяет возможностей
средств нижележащих уровней, а только обеспечивает
для конечного пользователя оперативный доступ к ним
без дополнительных посредников.
Если эти возможности бедны, то будут бедны и возмож-
ности системы обработки информации в целом, даже если
она имеет в своем составе интеллектуальный интер-
фейс.
Под конечным пользователем при этом должен по-
ниматься не какой-то усредненный конечный пользова-
тель, а спектр различных пользователей, каждый из ко-
торых, в свою очередь, выдвигает спектр различных тре-
бований к вычислительной системе.
Основная особенность этих спектров — невозможность
их априорного разбиения на четко разделяемые классы.
Каждый конечный пользователь представляет собой не-
которую индивидуальность по своей квалификации (как
в своей профессиональной области, так и в области ис-
пользования средств вычислительной техники), запросам,
привычкам, отношению к ЭВМ и т. п.
Практически невозможно персонально для каждого
пользователя построить вычислительную систему, ориенти-
рованную на удовлетворение именно его требований,
поэтому используют два пути решения данной проблемы.
► Первый путь — создание специализированных
систем, ориентированных на удовлетворение требований
отдельных классов пользователей. Обеспечивая успех в
20
отдельных частных случаях, этот путь не дает общего
решения проблемы.
> Второй путь направлен на создание базовых
средств вычислительной техники, ориентированных на ре-
шение широкого круга задач, но адаптируемых теми
или иными способами к специфическим требованиям
отдельных групп пользователей (в пределе — к потреб-
ностям индивидуального пользователя).
Выполнение каждой из интеллектуальных функций
обеспечивается соответствующим комплексом таких
средств. Включение в конфигурацию соответствующей
вычислительной системы таких комплексов позволяет обе-
спечивать интеллектуальный интерфейс с конечным поль-
зователем при решении определенного класса задач. При
этом конечному пользователю предоставляется возмож-
ность формирования для себя персональной операцион-
ной среды, наиболее полно отвечающей его профессио-
нальным потребностям и индивидуальным привычкам.
Новая технология обработки информации, охватываю-
щая весь процесс решения задачи (от момента возник-
новения у конечного пользователя некоторой информа-
ционной потребности до ее удовлетворения) и предусмат-
ривающая непосредственное участие конечного пользо-
вателя на всех этапах решения, предъявляет качественно
новые требования как к общей организации процесса ре-
шения задачи, так и к функциям отдельных звеньев че-
ловеко-машинной системы (ЧМС). Это объясняется тем,
что
В традиционной технологии решения задачи с исполь-
зованием ЭВМ функционирование вычислительной сис-
темы сводилось к правильному исполнению заданных
последовательностей инструкции и априорно определенных
правил перехода от одной последовательности к другой.
Получаемый результат является функцией выполняе-
мых операций, содержащихся в заданной программе,
и исходных данных, содержащихся в условиях задачи.
При этом практически все операции осуществляются
только вычислительной системой.
При новой технологии обработки информации вы-
числительной системе должна задаваться только поста-
новка задачи в виде описания требуемого результата
и условий его получения, а последовательность операций,
21
посредством выполнения которой он достигается, долж-
на определяться решающей задачу системой.
При этом вычислительная система в составе человеко-
машинной системы превращается из пассивного звена в
активную целенаправленную систему, целью которой яв-
ляется получение требуемого в постановке задачи знания,
достигаемое автоматическим формированием системой и
выполнением оптимальной в определенном смысле после-
довательности вычислительных, логических и поисковых
операций над имеющимися знаниями. При этом в данную
последовательность могут включаться последовательности
операций, выполняемые пользователем как звеном ЧМС.
1.4 Организация вычислительного процесса
в новой технологии
Новая организация процесса обработки ин-
формации в вычислительной системе является очередным
шагом в постоянной эволюции программного обеспече-
ния, тесно связанной с двумя формами представления
знаний в ЭВМ — процедурной и декларативной (опи-
сательной), относительным весом процедурных и декла-
ративных знаний в отображении проблемной среды, их
взаимосвязями и ролью в процессе обработки информа-
ции.
Любая программа представляет собой некоторую
процедуру — последовательность операций, осуществляе-
мых над определенными структурами данных. Структуры
данных являются декларативным знанием, несущим толь-
ко функцию отображения среды. Элементы знания всегда
имеют определенную интерпретацию в проблемной среде,
т. е. отображают ее отдельные объекты.
Любая процедура ориентирована на работу с опреде-
ленным типом декларативных знаний. Результатом рабо-
ты всегда является новое декларативное знание. Требуе-
мые конечным пользователем знания также выдаются в
декларативном виде.
В процессе эволюции программного обеспечения из-
менялись способы организации данных, причем их структу-
ра постоянно развивалась и усложнялась, изменялась
степень взаимосвязанности между данными и обрабаты-
вающими программами, постепенно переоценивалась роль
данных и программ в процессе обработки информации
на ЭВМ. На смену представлению данных в виде изолиро-
ванных единичных элементов (слов) пришло представле-
22
ние в виде векторов, массивов, списков, файлов. Макси-
мум этого развития пришелся на абстрактные типы дан-
ных, обеспечивающие для пользователя выбор наиболее
адекватной для решения задачи структуры данных.
Одновременно изменился и взгляд на взаимоотноше-
ния данных и обрабатывающих их программ — от толко-
вания данных, как простого придатка к программе, к
пониманию определенных совокупностей данных, как неко-
торых полей для работы соответствующих процедур, а за-
тем к переходу к базам данных, в составе которых дан-
ные образуют целостную совокупность декларативных
знаний, отображающую проблемную среду и независимую
от обрабатывающих их процедур.
Ряд изменений произошел и в отношении оценки роли
программ и данных в процессе обработки информации
на ЭВМ. В этой связи можно говорить о подходе, ориенти-
рованном на процесс, и подходе, ориентированном на
данные.
При первом подходе, традиционном для вы-
числительной техники, процесс обработки информации
при решении задачи определяется как выполнение про-
граммы, при втором — как получение требуемых данных,
что и выступает в этом случае как единственная цель
процесса обработки.
Различие этих подходов заключается не только в раз-
ных способах описания инфррмации. Разные подходы обу-
словливают и различные способы контроля, и различные
организации схемы управления процессом решения за-
дачи. В традиционной вычислительной технике понятие
«процесс» является фундаментальным. Процесс — это вы-
полнение программы. В каждый момент времени процесс
находится в определенном состоянии, которое характе-
ризуется степенью его выполнения. При этом состояние
включает в себя всю информацию, необходимую для пре-
кращения процесса и его последующего возобновления,
и содержит по меньшей мере следующую информацию:
а) программу;
б) индикацию команды, которая должна выполнять-
ся следующей;
в) значения всех программных переменных и данных;
г) состояние всех используемых устройств ввода —
вывода.
По мере протекания процесса его состояние меняется.
Например, изменяется индикация команды, переменные
принимают новые значения. В целом изменяющиеся пара-
23
метры характеризуются вектором состояния процесса, по
которому осуществляется контроль процесса обработки
информации и управление им.
При втором подходе контроль и управление
процессом обработки информации в вычислительной систе-
ме осуществляются по состоянию всей совокупности дан-
ных, т. е. наличию или отсутствию в этой совокупности
тех или иных данных.
Новая технология обработки информации продолжает
и развивает подход, ориентированный на данные, так как
конечной целью процесса решения задачи является полу-
чение требуемого знания (данные же — частный случай
предоставления декларативных знаний), а ход процесса
контролируется и управляется только с точки зрения до-
стижения этого результата.
Следовательно, можно сформулировать требования к
общей организации процесса обработки информации в
вычислительной системе при новой технологии:
а) решение любой задачи должно рассматриваться
как представление потребителю по его запросу нужного
знания, удовлетворяющего некоторой спецификации на
знание, содержащейся в запросе.
В качестве «потребителя» знания и «заказчика» на
него может выступать либо конечный пользователь (в том
числе при начальной постановке задачи), либо любая
программа, обрабатывающая знания;
б) необходимость для «потребителя» в том или ином
знании (информационная потребность) определяется как
отсутствие у потребителя информации, необходимой для
решения подзадачи в составе общей задачи. Информа-
ционная потребность одного потребителя (программы
или пользователя) служит основой для формулирования
подзадачи для других программ (а также и пользователя
в составе ЧМС), которые потенциально способны решить
эту подзадачу, т. е. получить требуемое знание.
ЧМС в целом трактуется как структура, состоящая из
компонентов, каждый из которых выполняет две функции:
решение некоторой задачи по пришедшему извне запросу
и формулирование запроса к другим компонентам на
недостающее для решения этой задачи знание.
Задача представляется как множество подзадач, ре-
шаемых отдельными компонентами ЧМС, а весь процесс
решения задачи распадается на множество процессов
удовлетворений запросов различных компонентов. Конеч-
ный пользователь трактуется как некоторый конечный
24
потребитель знаний, информационные потребности кото-
рого инициируют работу всех остальных программ;
в) ход решения задачи в любой момент времени оцени-
вается по состоянию системы знаний ВС, в которой про-
цедурная часть остается постоянной, а декларативная —
постоянно меняется. Несоответствие реального состояния
требуемому определяет внутреннюю активность вычисли-
тельной системы и вызывает направленную перестройку
процесса обработки информации.
1.5 Структура вычислительной системы
Структура вычислительной системы, удов-
летворяющей требованиям новой технологии решения за-
дачи на ЭВМ, состоит из трех комплексов вычислительных
средств, объединяемых по схеме, показанной на рис. 1.1.
Первый комплекс представляет собой совокуп-
ность средств, выполняющих программы (исполнительную
систему), спроектированных с позиций эффективного ре-
шения задач, и имеет в ряде случаев проблемную ориен-
тацию. Второй комплекс — совокупность средств
интеллектуального интерфейса (интеллектуальный интер-
25
фейс), имеющих гибкую структуру, которая обеспечивает
возможность адаптации в широком спектре интересов
конечных пользователей. Третьим комплексом
средств, с помощью которого организуется взаимодейст-
вие первых двух, является база знаний, обеспечивающая
использование вычислительными средствами первых двух
комплексов целостной и независимой от обрабатывающих
программ системы знаний о проблемной среде.
▲ Исполнительная система (ИС) объединяет всю сово-
купность средств, обеспечивающих выполнение сформи-
рованной программы.
К ним относятся программы, осуществляющие любые
вычисления, программы поиска информации в базах зна-
ний, программы логического вывода, а также вся совокуп-
ность аппаратных средств, обеспечивающих работу этих
программ. В качестве средств ИС могут быть использо-
ваны как имеющиеся на сегодняшний день и разрабаты-
ваемые в ближайшей перспективе средства вычислитель-
ной техники, так и специальные средства, которые должны
создаваться с позиций их использования при новой техно-
логии обработки информации на ЭВМ.
▲ База знаний (БЗ) занимает центральное положение
по отношению к остальным компонентам вычислительной
системы в целом, через БЗ осуществляется интеграция
средств ВС, участвующих в решении задачи.
Трансляторы с любых языков общения пользователя
и ВС осуществляют трансляцию на язык представления
знаний (ЯПЗ) в БЗ, интерфейсы с любыми средствами
исполнительной системы осуществляют трансляцию с
ЯПЗ на языки соответствующих подсистем.
База знаний выступает по отношению к другим средст-
вам ВС как система, содержащая декларативные знания
(и ассоциированные с ними процедуры), которые имеют
единые принципы представления, общий язык описания,
общую схему манипулирования этими знаниями, ориенти-
рованную на осуществление инвариантных относительно
различных применений операций со знаниями всех уров-
ней. Знания, содержащиеся в БЗ, независимы от обраба-
тывающих программ и образуют целостную систему.
Примечание. Это не исключает того, что в БЗ могут быть
частные подсистемы, в которых представление знаний осуществляется
на языках, отличных от ЯПЗ основной базы знаний. В этом случае в сос-
26
тав средств БЗ должны быть включены специальные трансляторы, обе-
спечивающие перевод с основного ЯПЗ на вспомогательный и обратный
перевод.
'В БЗ содержится система знаний (СЗ) о проблемной
среде как части объективного мира, отражающая среду
как целостное явление со всеми взаимосвязями, которые
существуют между ее элементами и динамикой их изме-
нения. Система должна обладать полнотой, т. е. содержать
все знания, необходимые для решения классов задач, на
которые ориентирована ЧМС.
В широком смысле слова формирование такой системы
знаний также является частью процесса решения задачи,
т. е. включенные в нее знания должны отбираться н а-
правленно и так же направленно должны вы-
бираться те способы ее структурирования, которые обеспе-
чивают эффективную работу с ней при решении задач. При
формировании системы знаний осуществляется создание
фундамента для решения некоторого множества (класса)
задач, а ее использование в каждом конкретном случае
обеспечивает решение отдельной задачи.
Имеется две группы требований к представлению и
организации знаний в БЗ.
Требования первой группы являются
общими при использовании как традиционной, так и но-
вой технологии обработки информации на ЭВМ. К ним
можно отнести обеспечение необходимых выразительных
возможностей языка представления знаний для всего
спектра решаемых задач, обеспечение необходимой эф-
фективности при их решении, обеспечение универсаль-
ности и открытости выбранной системы представления
знаний в сочетании с возможностью адаптации к различ-
ным предметным областям.
Требования второй группы возникают в
основном только при применении новой информационной
технологии. К ним относятся необходимость адекватности
отображения проблемной среды в базе знаний и необ-
ходимость естественного для человека способа описания
среды.
Адекватность при этом понимается как потенциальная
возможность построения такого отображения, которое
обеспечивало бы моделирование любых процессов, проис-
ходящих в проблемной среде. Необходимость естествен-
ного для человека способа описания среды вытекает из
27
условия тесного общения конечного пользователя и ЭВМ
в процессе решения задачи. Это означает, что язык пред-
ставления знаний в БЗ должен иметь структуру, близкую
к структуре естественного языка пользователя (что не оз-
начает подобия их грамматик).
База знаний при новой технологии обработки информа-
ции продолжает и развивает функции, выполняемые базой
данных в традиционной технологии, наследуя ее основные
свойства — независимость данных от обрабатывающих
программ и целостность. Однако, поскольку новая инфор-
мационная технология, выдвигая новые задачи, не сни-
мает старых, термин «база знаний» может употребляться
и как более общий по отношению к базе данных. При
этом база данных рассматривается как частный слу-
чай БЗ.
Требования, выдвигаемые к организации знаний в БЗ
в старых и новых задачах, во многом противоречат друг
другу. Можно считать, что традиционным задачам наибо-
лее адекватны структуры современных БД, сформировав-
шиеся на основе опыта их решения; новым задачам бо-
лее соответствуют структуры различных моделей предмет-
ных областей, разрабатываемых в исследованиях по про-
блеме «искусственный интеллект». Между принципами
организации баз данных и таких моделей невозможно про-
вести четкие границы. Более правильно рассматривать
степень близости структуры каждой конкретной БЗ
к одному из концов спектра возможных структур, на одном
из которых находятся традиционные «классические» БД
раннего периода (в основном иерархического типа), на
другом — модели проблемной среды.
Более подробно этот вопрос рассматривается в гл. 2,
здесь же можно сказать только об интегральном крите-
рии:
развитие баз данных в базы знаний — это постоянное
увеличение независимости содержащихся в них знаний
от обрабатывающих программ (в том числе независимости
их интеграции в проблемной среде!) и их целостности,
постепенно превращающее базу данных в полную (от-
носительно класса решаемых задач), целостную и незави-
симую модель проблемной среды, т. е. базу знаний.
Таким образом, в общем случае при организации баз
знаний приходится удовлетворять двум противоречивым
группам требований:
1) необходимости повышения универсальности по от-
ношению к разным типам задач и обеспечения вырази-
28
тельных возможностей используемой системы представ-
ления знаний, достаточных для описания широких клас-
сов сложных проблемных сред, организации поиска по
разнотипным связям, динамического изменения направле-
ний поиска и т. д.;
2) необходимости сохранения высокой эффективности
системы при хранении большого числа конкретных фак-
тов, которую можно обеспечить только путем сохранения
проблемной ориентированности системы на задачи поиска.
Удовлетворение этих групп требований приводит к ком-
промиссному решению.
Базу знаний для вычислительных систем, ориентиро-
ванных на использование новой технологии обработки
информации, целесообразно строить как двухуровневую
структуру, включающую два компонента: концептуальную
базу знаний (верхний — концептуальный уровень) и базу
данных (нижний — информационный — уровень), что
обеспечивает эффективность представления обобщенных
знаний и метазнаний на верхнем уровне и конкретной
информации (знаний) на нижнем.
Использованние базы данных в качестве целостного
компонента базы знаний позволяет использовать совре-
менные системы управления базами данных (СУБД) для
описания взаимосвязей объектов проблемной среды на
уровне конкретных фактов. Именно эти связи, как правило,
составляют основной массив информации о среде и яв-
ляются объектами поиска при решении задачи. Освобож-
дение концептуального уровня от таких фактов позво-
ляет использовать обобщенное описание среды, не зави-
симое от ее конкретного состояния. Кроме того, выделение
концептуального уровня обеспечивает представление ме-
тазнаний — знаний о структуре базы знаний и методах
манипулирования хранящимися в ней знаниями, что по-
вышает адаптационные возможности БЗ и ее способности
к динамической перестройке.
Представление знаний на каждом уровне БЗ осущест-
вляется применением некоторого языка представления
знаний.
При этом под языком представления знаний (ЯПЗ)
понимается конкретный способ описания проблемной
среды, задаваемый синтаксисом описания, правилами со-
отнесения языковых выражений с отображаемыми ими
объектами проблемной среды и конкретным составом слов
языка.
Выбор ЯПЗ является одним из аспектов построения
29
системы представления знаний, выступающим по отноше-
нию к ней как выбор средства ее реализации. Язык пред-
ставления знаний нижнего уровня БЗ определяется типом
соответствующей СУБД. Задача же выбора языка для
представления знаний на концептуальном уровне требует
специального рассмотрения.
Каждый язык программирования является языком
представления знаний. Однако традиционные языки про-
граммирования строились в основном как языки, ориен-
тированные на «процесс». Их структура ориентировалась
на обеспечение возможности построения сложных про-
грамм и их эффективное выполнение. Данные в таких
языках выступали как некоторое «окружение» программы,
играющее в каком-то смысле второстепенную роль. И хо-
тя на основе таких языков, вообще говоря, можно реали-
зовать достаточно развитые системы представления зна-
ний, сложность и трудоемкость реализации будут весьма
велики, а эффективность работы с такими системами не-
высока. В качестве примеров можно назвать языки
АЛГОЛ, ФОРТРАН, КОБОЛ, ПЛ/1 и т. д. Значительно
более адекватными для разработки ЯПЗ являются язы-
ки обработки символьной информации, такие, как ЛИСП,
РЕФАЛ, СНОБОЛ и др. В этих языках базовыми средст-
вами адекватно отображаются лишь простые структуры
типа символов, строк символов или списков. Однако,
поскольку основой работы со сложноструктурированны-
ми данными является требование способности обрабаты-
вать символы и совершать над ними нетривиальные
операции, именно они либо непосредственно использова-
лись при разработке различных систем ИИ, либо служи-
ли инструментальной базой для создания на их основе
ЯПЗ более высокого уровня.
Применение указанных языков является промежуточ-
ной стадией в построении развитого языка представле-
ния знаний. Более подробно вопросы, связанные с пред-
ставлением и хранением знаний в вычислительной систе-
ме, рассматриваются в гл. 2.
Интеллектуальный интерфейс включает в себя все
средства уровня конечного пользователя, обеспечи-
вающие взаимодействие между конечным пользователем
и ВС в процессе решения задачи.
В интеллектуальном интерфейсе можно выделить
решатель — совокупность средств, обеспечивающих в
диалоге с пользователем автоматический синтез програм-
мы решения задачи, и систему общения — совокупность
30
трансляторов, осуществляющих трансляцию с языка
пользователя на язык представления знаний в БЗ и об-
ратную трансляцию.
Синтез программы всегда осуществляется на некото-
ром уровне, определяемом уровнем элементарных еди-
ниц, из которых она синтезируется. Такой элементарной
единицей может быть отдельная операция, программный
модуль и даже некоторый пакет программ, обращение
к которому на требуемом языке обеспечивает решение
задачи.
Входной информацией для решения является запрос
на получение некоторого знания и, если это требуется,
сообщение некоторых дополнительных сведений, связан-
ных с данной задачей (данным запросом). Решатель
на основании содержащихся в БЗ знаний о возможнос-
тях различных программ (решаемых ими подзадач и
знаний, необходимых для этого решения) формирует 'из
данных программ последовательность, позволяющую по-
лучить требуемое решение на основании введенных в
ВС исходных данных.
Таким образом, решатель — это звено вычислитель-
ной системы, осуществляющее собственно решение задачи,
т. е. анализ ее условий, выделение подзадач, имеющих
стандартные решения, объединение этих решений в целост-
ную программу. Функционирование системы, имеющей
в своем составе решатель, может осуществляться как
в режиме компиляции, так и в режиме интерпретации.
Во втором случае решатель задачу решает как бы поэтапно
и на каждом шаге учитывает результаты предыдущего
этапа.
Принципы работы различных решателей, а также
реализуемые ими методы автоматического (автомати-
зированного) формирования программ подробно рас-
сматриваются в гл. 3.
Другой функцией, которую обеспечивает интеллекту-
альный интерфейс, является общение конечного пользо-
вателя и ВС, при котором используются естественные
для человека формы представления информации (тексты,
изображения, устная речь), в том числе и любые комби-
нации их.
По выполняемым функциям средства общения можно
разделить на две группы: средства трансляции и средства
обеспечения взаимопонимания.
Средства трансляции осуществляют в процессе обще-
ния перевод с языка пользователя на язык представле-
31
ния знаний ВС и обратный перевод — с языка представ-
ления знаний на язык пользователя.
При этом они должны удовлетворять следующим тре-
бованиям:
а) работы в условиях искажений, помех, различных
ошибок пользователя, что следует из ориентированности
данных средств на массового пользователя, имеющего
минимальную подготовку;
б) адаптируемости вследствие нецелесообразности их
ориентированности при разработке на узкую группу
пользователей;
в) открытости вследствие невозможности предусмот-
реть все изменения интересов пользователей в процессе
эксплуатации этих средств;
г) независимости от включения в различные конфи-
гурации конкретных ВС.
Средства обеспечения взаимопонимания должны под-
держивать одинаковое понимание сообщения передающей
и принимающей системой, т. е. приписывание принимаю-
щей системой сообщению того значения, которое и пред-
полагалось передающей системой.
Средства обеспечения взаимопонимания по сути
своей универсальны и не зависят ни от языка общения,
ни от проблемной среды. Однако конкретная их реализа-
ция и распределение выполняемых ими функций отно-
сительно других средств определяются многими.фактора-
ми. Одну часть средств обеспечения взаимопонимания
целесообразно включать непосредственно в исполнитель-
ные системы, другую часть связывать с различными
подсистемами интеллектуального интерфейса. Основная
же совокупность этих средств должна обеспечивать об-
щесистемные функции относительно решающей системы
в целом.
В гл. 4 рассматриваются средства, обеспечивающие
основную форму общения человека — общение на естест-
венном языке. При этом основное внимание уделяется
рассмотрению процесса трансляции с естественного язы-
ка на внутренний язык представления знаний вычисли-
тельной системы и обратной трансляции.
Глава 5 посвящена описанию экспертных сис-
тем — первых интегральных систем искусственного ин-
теллекта, включающих в различных конфигурациях
средства интеллектуализации (описанные в предыду-
щих главах) и получивших уже в настоящее время ши-
рокое промышленное применение.
32
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1.1. Назовите основные отличия новой информационной технологии
от традиционной.
1.2. Что такое «интеллектуальный интерфейс»?
1.3. Назовите основные отличия подхода, «ориентированного на про-
цесс» от подхода, «ориентированного на данные»?
1.4. Назовите основные принципы организации процесса обработки
информации в вычислительной системе, удовлетво-
ряющей требованиям новой информационной техно-
логии.
1.5. Объясните функции компонентов вычислительной системы, удовле-
творяющей требованиям новой информационной тех-
нологии.
3—1369
Глава
2
База знаний
2.1 Общие сведения
Для того чтобы быть реализуемым на
ЭВМ, метод представления знаний должен быть фор-
мальным. Иначе говоря, он должен описываться конеч-
ным набором четко определенных правил. Из математи-
ческой логики известно, что любой такой формальный
метод ограничен по своим возможностям представления
знаний (выразительным возможностям). Это означает,
что для любого метода представления знаний можно ука-
зать (или построить искусственно) такую предметную об-
ласть и такие знания о ней, которые не могут быть пред-
ставлены. В то же время для любой конкретной предмет-
ной области и совокупности прикладных задач, решаемых
в ней, можно построить формальный метод, позволяющий
представить все необходимые знания. Выразительные
возможности современных методов представления знаний
определяются сложностью решаемых в настоящее время
прикладных задач. Одно из важнейших направлений раз-
вития этих методов — увеличение их выразительных воз-
можностей — связано с практическими потребностями ре-
шения более сложных задач.
Сколько-нибудь полное описание выразительных воз-
можностей и тем более ограничений современных методов
представления знаний не является целью настоящей
главы. Для начального изучения предмета важнее по-
нять, как могут быть формально представлены разнооб-
разные знания о предметной области.
Представление знаний — это выражение на некотором
формальном языке, называемом языком представления
знаний (ЯПЗ), свойств различных объектов и закономер-
ностей, важных для решения прикладных задач и органи-
34
зации взаимодействия пользователя с ЭВМ. Это могут
быть объекты и закономерности предметной области, вы-
числительной среды и т. д. Тот факт, что язык, на кото-
ром записываются знания, является формальным,
обеспечивает однозначность интерпретации записанного,
так же как формальный язык конструкторского черчения
обеспечивает тождественность конструкций, производи-
мых на основе одного и того же чертежа даже разными
людьми.
Совокупность знаний, хранящихся в ВС и необходи-
мых для решения комплекса прикладных задач конечным
пользователем, называется системой знаний. Сведения о
том, какими знаниями владеет система, могут потребо-
ваться пользователю (и он должен иметь возможность
их получить), однако в первую очередь организованные
знания необходимы вычислительной системе для того,
чтобы поддерживать процесс взаимодействия с пользо-
вателем и решать требуемые задачи. Иными словами,
знания обеспечивают функционирование системы.
Вычислительная система использует систему знаний,
выполняя над ней разнообразные действия (операции),
такие, как поиск необходимых сведений, их модификация,
интерпретация знаний, вывод из имеющихся знаний но-
вых и т. п. Алгоритмы выполнения этих операций сущест-
венно зависят от особенностей языка представления зна-
ний и от того, каким образом система знаний представ-
ляется в ВС.
Поскольку система знаний ценна не сама по себе, а
именно возможностями ее использования, поскольку ис-
пользовать эту систему можно лишь выполняя вад ней те
или иные операции и поскольку алгоритмика этих опера-
ций определяется особенностями ЯПЗ, любой современ-
ный метод представления знаний представляет собой
совокупность взаимосвязанных средств формального опи-
сания знаний и оперирования (манипулирования) этими
описаниями.
Соответственно ЯПЗ должен обеспечивать возмож-
ности не только формальной записи необходимых знаний,
но и манипулирования этими записями. При этом для
любого метода представления знаний естественно выде-
ляются основные (базовые) операции (примитивы), из
которых при необходимости могут формироваться более
сложнее процедуры.
Долгое время работы по представлению знаний про-
водились параллельно в двух направлениях исследова-
35
з*
ний: в области искусственного интеллекта и в технологии
баз данных. Результаты, полученные в упомянутых на-
правлениях исследований, существенно дополняют друг
друга. Большинство исследователей обоих направлений
считают интеграцию этих результатов
одной из важнейших перспектив развития работ по пред-
ставлению знаний.
2.2 Представление знаний
в базах данных
Проблематика технологии баз данных не
ограничивается вопросами представления знаний. В свя-
зи с этим материал данного параграфа не может рас-
сматриваться как введение в технологию баз данных.
Понятие независимости данных и механизм ее обес-
печения. Концепции базы данных и системы управления
базами данных (СУБД) возникли и получили развитие
в начале 60-х годов в связи с идеей централизации
данных в системе обработки данных (СОД).
Основная трудность точного и полного определения
понятия базы данных состоит в том, что, являясь сово-
купностью данных как логически, так и физически (на
носителях информации), она неотделима от средств (как
правило, программных), обеспечивающих создание и об-
служивание базы данных, а также извлечение данных из
нее по запросам прикладных программ. Однажды реали-
зованный комплекс таких средств, называемый СУБД,
позволяет создавать и сопровождать различные по со-
держанию и наполнению базы данных для различных
предметных областей. Таким образом, СУБД представ-
ляет собой универсальный инструмент централизованной
организации данных в СОД. Базу данных можно опре-
делить как централизованную совокупность данных в
СОД, поддержанную какой-либо СУБД.
Основные преимущества принципа централизованной
организации данных связаны с возможностью относи-
тельно независимого развития базы данных и приклад-
ных программ, называемой независимостью данных. Не-
зависимость данных — свойство чрезвычайно важное для
СОД, обеспечивающее устойчивость СОД по отношению
к развитию. Любая интенсивно используемая система
обработки данных динамично развивается: появляются
новые прикладные задачи, которые она должна решать,
изменяются взгляды на решаемые ею задачи и т. д. В
36
Рис. 2.1. Принципиальная схема механизма обеспечения физической
независимости данных
том случае, когда независимость данных в СОД не обес-
печена, прикладные программы СОД непосредственно
связаны с обрабатываемыми данными и любые изменения
в структуре и организации данных, вызванные потреб-
ностями развития, влекут необходимость переработки
соответствующих программ. Таким образом, развитие
СОД, в которой не обеспечена независимость данных,
практически сводится к почти полной переработке СОД
на каждом этапе.
Существует общий механизм обеспечения независи-
мости данных, используемый для любых СУБД. Суть
этого механизма состоит в следующем (рис. 2.1).
Для обеспечения функций поиска данных выделяются
специализированные программные средства, не завися-
щие ни от конкретной организации данных, выбранной
для решения некоторой задачи, ни от характера поиско-
вых запросов, выдаваемых той или иной программой
пользователя. Организация данных, к которым осущест-
вляется доступ, описывается со степенью детализации,
необходимой для обеспечения функций поиска. Описание
организации данных хранится отдельно от данных, специа-
лизированных средств поиска и программ пользова-
теля. Программа пользователя для обслуживания
поискового запроса обращается к специализированным
37
средствам поиска данных. Запрос обрабатывается интер-
претатором, определяющим элементы данных, указанные в
поисковом критерии. С помощью интерпретатора описа-
ния данных определяются поисковые процедуры, которые
должны быть приведены в действие с тем, чтобы найти
данные, соответствующие поисковому критерию. Выде-
ленные процедуры выполняются, а результаты их работы
(удовлетворяющие запросу данные) возвращаются про-
грамме пользователя. Подобный механизм имеет место и
при модификации данных с той лишь разницей, что
модификация во многих системах включает в себя также
процедуры контроля допустимости запрашиваемых изме-
нений с логичёской точки зрения. Подобные процедуры
(не нужные при поиске данных) представляют собой
средства обеспечения логической целостности данных в
базе данных.
Приведенное описание — упрощенная схема механиз-
ма обеспечения независимости данных. Указанные здесь
компоненты программных средств поиска данных факти-
чески могут отсутствовать в той или иной СУБД, а
соответствующие функции — совмещаться в одном ком-
поненте или, наоборот, распределяться между гораздо
большим числом компонентов, чем указано. Тем не менее
представленная схема полезна для уяснения основных
принципов построения СУБД, когда они рассматривают-
ся как средства обеспечения независимости данных. Ос-
новными компонентами здесь являются отдельно хра-
нимое описание организации данных и независимые
специализированные программные средства поиска дан-
ных. Представленная структура средств поиска показы-
вает, как используется описание организации данных
для реализации поиска. Однако отождествлять специа-
лизированные средства поиска данных с СУБД не следу-
ет. Подобные средства в той или иной форме всегда вхо-
дят в СУБД, но никогда не исчерпывают всех ее средств
и функций.
Рассмотрим, каким образом описанный механизм обе-
спечивает независимость данных. Предположим, что
организация данных изменилась. Тогда в приведенной
схеме необходимо изменить лишь описание организации
данных, для того чтобы программы пользователя продол-
жали правильно работать. Такое изменение гораздо
проще модификации всех программ, работающих с дан-
ными, потому что оно имеет локальный характер. Кроме
того, практически любая СУБД включает в себя специ-
38
альные средства, упрощающие изменения такого рода.
Однако следует отметить, что ни одна из существующих
СУБД не обеспечивает полной независимости данных.
Это означает, что изменения организации данных, не
приводящие к необходимости модификации использую-
щих их программ, составляют лишь определенный диапа-
зон в спектре возможных (для данной СУБД) изменений.
Можно сказать, что диапазон таких изменений опреде-
ляет уровень независимости данных, обеспечиваемый
СУБД.
Понятие модели данных. В различных системах для
задания поискового запроса из программы пользователя
к СУБД применяются разные методы. Обобщая, можно
сказать, что любая СУБД имеет для этой цели специаль-
ные языковые средства, называемые языком данных (ЯД).
Хотя ЯД не является, как правило, языком програм-
мирования в традиционном понимании, он используется
при программировании и характеризуется четким синтак-
сисом и однозначностью интерпретации своих конструк-
ций. С позиций прикладного программирования выделя-
ются два основных способа реализации языка данных,
сравнительный анализ которых можно найти в [24].
Язык данных задает правила определения поискового
критерия и указания элементов данных, значения которых
должны быть получены в результате поиска. Более того, в
тех случаях, когда поисковый запрос из-за ограниченности
ЯД или по каким-либо другим причинам не может быть
удовлетворен одним предложением ЯД, должно быть из-
вестно, как реализовать этот запрос в программе поль-
зователя с помощью нескольких предложений ЯД и,
возможно, некоторых фрагментов программы, обеспечи-
вающих прием промежуточных данных от предыдущих
предложений, их анализ, обработку и передачу последую-
щим предложениям.
Следовательно, любой ЯД предполагает определенную
структуризацию данных. При этом должно быть строго
определено, в каких совокупностях данных производится
поиск, инициируемый тем или иным предложением ЯД,
какие совокупности данных являются результатом поиска
и какие элементы данных могут указываться в формули-
ровке поискового критерия. Такое определение фактичес-
ки описывает способ логической структуризации данных,
тесно связанный с конкретным ЯД и реализующей его
СУБД.
Способ логической структуризации данных не зависит
39
от предметной области, для которой он используется.
По отношению к данным, взятым из любой области, он
определяет правила, в соответствии с которыми эти дан-
ные могут (и должны) быть организованы. В то же вре-
мя та или иная конкретная структура данных, удовлет-
воряющая определенному способу логической структури-
зации данных, тесно связана с предметной областью,
к которой относятся данные. Логическая структура при
формировании базы данных задается на языке данных
СУБД и является основой описания организации данных,
используемого системой при реализации запросов от
прикладных программ. Таким образом, в любом языке
данных выделяются средства описания логической струк-
туры данных (средства описания данных) и средства
описания действий, которые необходимо выполнять над
данными (средства манипулирования данными).
Известно много способов логической структуризации
данных, каждый из которых имеет свои преимущества
и недостатки. Важно понимать, что любой язык данных
предполагает определенный способ логической структу-
ризации данных. Обратное неверно, так как при одном и
том же способе структуризации можно предложить раз-
личные не только по синтаксису, но и по выразительным
возможностям языки данных.
Совокупность способа логической структуризации
данных и функциональных возможностей манипуляции
данными, т. е. принципиальных особенностей ЯД без
учета его синтаксиса, называется здесь моделью данных.
Имеется прямая аналогия между понятием «модель
данных», используемым в технологии баз данных,
и понятием «метод представления знаний»
в области искусственного интеллекта.
Действительно, описание организации данных и дан-
ные, хранимые в базе, — формальная запись знаний, об-
разующих в совокупности определенную систему; способу
логической структуризации данных соответствует набор
формальных правил записи знаний, а функциональным
возможностям манипуляции данными соответствуют
примитивы манипуляции знаниями. Эта аналогия поясня-
ется далее на примере.
Любая СУБД обеспечивает определенный уровень не-
зависимости данных, а следовательно, реализует по край-
ней мере одну модель данных. При этом, как правило,
модели данных, реализуемые разными СУБД, различают-
ся между собой.
40
В настоящее время широко известны три типа моде-
лей данных, условно называемые иерархической, сетевой
и реляционной моделями. Наиболее перспективна среди
них с точки зрения развития, а также использования в
интеллектуальных системах реляционная модель. Она и
рассматривается далее как пример модели данных. Под-
робные описания и сравнительный анализ различных
моделей данных содержатся в [2].
Первоначально реляционная модель данных была
предложена не как проект какой-либо новой СУБД, а
как теоретическая схема. Это, в частности, обусловило
большее единообразие последующих разработок конкрет-
ных систем, реализующих реляционную модель. В отли-
чие от других широко распространенных моделей данных
в этой модели более четко определены способ структури-
зации данных и принцип манипуляции данными.
Появление первых работ, посвященных реляционной
модели данных, стимулировало ряд новых исследований
в области организации данных. Исследования показали,
что реляционная модель имеет не только самостоятельное
значение, но и может использоваться для анализа нере-
ляционных моделей. Однако успешные практические реа-
лизации СУБД, обеспечивающих реляционную модель
данных, начали проявляться сравнительно недавно.
Изложение основных концепций реляционной модели
данных начнем с описания реляционного способа логи-
ческой структуризации данных.
Реляционная база данных представляет собой сово-
купность отношений. Отношение — это совокупность за-
писей, называемых кортежами или строками. Строка от-
ношения описывает свойства определенного объекта
предметной области и м,ожет рассматриваться как фор-
мальная запись знаний о свойствах этого объекта.
Строки одного отношения описывают однородные в
определенном смысле объекты предметной области. Логи-
чески отношение может мыслиться как таблица, строками
которой являются записи, описывающие конкретные объ-
екты предметной области.
Отличием от традиционного представления о таблице
является то, что порядок следования столбцов в отно-
шении не важен. Столбцы уникально именуются в рам-
ках отношения, и в языке данных используются только
эти имена (атрибуты), а не номера столбцов. Каждому
столбцу отношения соответствует определенное свойство
описываемых отношением объектов. Как правило, это
41
свойство отражается в наименовании столбца. Однород-
ность объектов, описываемых одним отношением, опре-
деляется тем, что все они имеют одинаковый набор
свойств, представленных в отношении атрибутами.
Отношения в реляционной базе данных имеют уни-
кальные имена. Как правило, имя отношения связано с
некоторым классом объектов описываемой предметной
области.
Совокупность имени отношения и его атрибутов на-
зывается схемой отношения, которую можно рассматри-
вать как формальную запись знания о том, какой класс
объектов предметной области представлен в базе данных
и какие свойства объектов этого класса описываются
данным отношением. Совокупность схем всех отношений,
входящих в базу, называется схемой базы данных.
Схема базы данных содержит достаточно полную
систему знаний о том, какие знания и о каких объектах
предметной области содержатся в базе данных. Такие
знания о знаниях называются в теории метазнаниями.
Метазнания, подобные представляемым в схеме реля-
ционной базы данных, характерны для любых СУБД и
образуют основу описания структуры данных, интенсивно
используемого в работе СУБД. Однако в отличие от
многих промышленных систем для реляционных СУБД
допустимо более свободное манипулирование метазна-
ниями.
Рассмотрим средства манипуляции данными, которые
реализуются в реляционной модели. Так же как и в боль-
шинстве других моделей данных, в этой модели выде-
ляются два основных типа операций: поиск и модифи-
кация данных. Целью поиска могут быть как данные о
конкретных объектах предметной области, т. е. строки
отношений базы данных, так и метазнания. Под модифи-
кацией данных подразумеваются операции добавления
новых данных, удаление и обновление данных. В реля-
ционной модели операции модификации могут применять-
ся к строкам отношений, однако возможности их приме-
нения к метазнаниям обычно ограничиваются. Так, в
частности, обновление метазнаний хотя и возможно, но,
как правило, реализуется специализированными процеду-
рами СУБД, а не средствами языка данных.
Известны два типа реляционных ЯД: язык, основан-
ный на реляционной алгебре, и язык, реализующий ре-
ляционное исчисление. С точки зрения выразительных
возможностей эти языки эквивалентны. Это означает,
42
что любой запрос, выраженный одним предложением
на языке реляционной алгебры, также можно выразить
одним предложением на языке реляционного исчисления,
и наоборот. Тем не менее указанные языки существенно
различаются в некоторых аспектах, в частности, по слож-
ности программной реализации и простоте использования.
Общим свойством реляционных языков данных явля-
ется тот факт, что результатом выполнения любой опе-
рации поиска в них всегда является новое отношение.
Это свойство служит основой для важной конструкции
реляционной модели — виртуального отношения.
Любой оператор поиска в базе данных, поскольку
его результатом является отношение, может быть сох-
ранен как определение этого отношения. Хотя такое от-
ношение вычисляется, а не хранится в базе данных как
совокупность строк, оно может использоваться в опера-
циях поиска так же, как и хранимые в базе данных
(реальные) отношения. Интересно отметить, что оператор
поиска, определивший новое отношение, становится при
этом элементом метазнаний системы.
Аппарат виртуальных отношений позволяет несколько
расширить многообразие классов объектов предметной
области, представимых в базе данных без дублирования
информации. Следует, однако, отметить, что возможности
модификации виртуальных отношений по естественным
соображениям ограничены.
Еще одно важное свойство реляционных языков дан-
ных — их высокие выразительные возможности для пред-
ставления поискового критерия запроса. Допустимая
сложность поискового предиката, определяющего содер-
жание запроса, здесь существенно выше, чем для
большинства других моделей данных.
В частности, такой предикат может связывать практи-
чески произвольное число отношений базы данных. В
качестве элементов поискового предиката допускаются
квантифицированные переменные (строки отношений)
и функции на отношениях. Благодаря этому в реляцион-
ной модели данных практически исключается потребность
в сложных процедурах, составленных из предложений
языка данных. В большинстве случаев потребности в
определенных знаниях или их модификации могут быть
удовлетворены одним предложением реляционного языка
данных.
В качестве иллюстрации рассмотрим пример. Пусть
в реляционной базе данных имеется отношение ПЕРСО-
43
НА со схемой ПЕРСОНА (ФАМИЛИЯ, ВОЗРАСТ,
СУПРУГ, ПОЛ), где в скобках представлены атрибуты
отношения. Смысл представляемых атрибутами свойств
понятен. Поясним лишь,, что в данном отношении пред-
ставлены лица обоих полов и значением атрибута СУП-
РУГ является фамилия супруга (или супруги) того лица,
которое описывается данной строкой. Тогда запрос:
«Найти всех супругов в возрасте не старше 30 лет» —
на широко распространенном реляционном языке данных
SQL, объединяющем выразительные средства реляцион-
ной алгебры и реляционного исчисления, представляет-
ся следующим образом:
ВЫБРАТЬ X. ФАМИЛИЯ, Y. ФАМИЛИЯ
ИЗ ПЕРСОНА X, ПЕРСОНА Y
ГДЕ X. СУПРУГ— Y. ФАМИЛИЯ И X. ВОЗРАСТ < 30 И.
Y. ВОЗРАСТ < 30 И X. ПОЛ = «МУЖ» И Y. ПОЛ =
= «ЖЕН»
В предложении подчеркнуты ключевые слова языка.
Слова ВЫБРАТЬ, ИЗ и ГДЕ разделяют предложение
на части, образующие важные семантические и синтак-
сические группы запроса. Группа ВЫБРАТЬ указывает
на то, какие элементы данных необходимо найти и
выдать в результате поиска (в данном случае — фами-
лии супругов). Группа ИЗ определяет, в каких отношени-
ях должен производиться поиск. Так как фактически
каждый ответ включает сведения из двух разных строк
одного и того же отношения, то в группе ИЗ на'строках
отношения ПЕРСОНА определяются две переменные
(X и Y): одна из них представляет одного члена супру-
жеской пары, другая — другого. Следует отметить, что
множества отношений групп ВЫБРАТЬ и ИЗ не должны
обязательно совпадать, как в данном случае. В процессе
поиска в зависимости от поискового критерия могут быть
использованы отношения, атрибуты которых не представ-
лены в группе ВЫБРАТЬ. Обратное неверно, т. е. мно-
жество отношений группы ВЫБРАТЬ всегда является
подмножеством множества отношений группы ИЗ. Груп-
па ГДЕ определяет поисковый критерий и состоит из
квалификационных атомов, соединяемых в данном пред-
ложении логическими связками И. Связка указывает на
то, что условия, которые задаются квалификационными
атомами, должны выполняться совместно для одной пары
строк отношения ПЕРСОНА. Первый квалификационный
атом указывает на то, что пара, описываемая строками
44
X и Y, должна состоять в браке. Второй и третий атомы
определяют ограничения на возраст супругов. Четвертый
и пятый атомы задают порядок выдачи сведений в ре-
зультате запроса (первой всегда указывается фамилия
супруга). Если бы последних атомов не было, то каж-
дая супружеская пара была бы представлена в ответе
дважды. Следует обратить внимание на то, как активно
используются в формулировке запроса элементы логичес-
кой структуры отношения.
2.3 Представление знаний
в искусственном интеллекте
Традиционно выделяются две группы мето-
дов представления знаний: декларативные и процедурные.
В декларативных методах знания (после их преобра-
зования из предложений ЯПЗ в машинное представле-
ние) — это данные, так или иначе структурированные
Интерпретация структур и выполнение операций над
ними — функция программных средств, обеспечивающих
метод. Эти средства не зависят от конкретной системы
знаний и полностью определяются синтаксисом и
семантикой ЯПЗ.
В процедурных методах знания также представляются
в ЭВМ структурами данных, но при этом с элементами
структур ассоциируются некоторые специализированные
выполнимые процедуры.. Фактически база знаний в про-
цедурных методах представляет собой совокупность
структур данных и ассоциированных процедур, которые
разрабатываются проектировщиком базы знаний на
том или ином языке программирования. Базовые опе-
рации над системой знаний здесь, как правило, проще,
чем в декларативных методах, но результаты этих опе-
раций не определяются полностью программными сред-
ствами, реализующими метод. В процессе выполнения
операций эти средства инициируют работу ассоцииро-
ванных процедур, которые и определяют результаты опе-
раций. Фактически процедурный метод представления
знаний нужно рассматривать как дисциплину програм-
мирования, устанавливающую правила разработки ас-
социированных процедур при создании базы знаний для
интеллектуальной системы. Однако опыт применения про-
цедурных методов представления знаний показал, что оп-
ределяемая ими дисциплина программирования не являет-
ся достаточной для построения больших баз знаний. Боль-
45
шая и сложная база знаний, реализуемая с помощью про-
цедурных методов, так же сложна для построения и по-
нимания, как и крупная программная система в традицион-
ной технологии решения задач на ЭВМ. В связи с этим чисто
процедурные методы представления знаний применяются
редко. В то же время элементы процедурного подхода
успешно используются в декларативных методах. Далее
процедурные методы представления знаний рассматрива-
ются с позиций расширения возможностей декларатив-
ных.
В группе декларативных методов представления зна-
ний выделяются логические и основанные на аппарате
семантических сетей. Здесь дается только краткая харак-
теристика логического подхода к представлению знаний.
Более подробно он рассматривается в гл. 3 и 5 этого
пособия.
Логические методы представления знаний.
Основная идея логического подхода состоит в том,
чтобы рассматривать всю систему знаний, необходимую
для решения прикладных задач и организации взаимо-
действия ЭВМ с пользователем, как совокупность фактов
(утверждений).
Факты представляются как формулы в некоторой ло-
гике (первого или высшего порядков, многозначной,
модальной, нечеткой или какой-либо другой). Система
знаний отображается совокупностью таких формул. Бу-
дучи представлена в ЭВМ, она образует базу знаний.
Формулы неделимы и при модификации базы знаний мо-
гут лишь добавляться и удаляться.
Логические методы обеспечивают развитый аппарат
вывода новых фактов из тех, которые представлены в
базе знаний явно. Основным примитивом манипуляции
знаниями является операция вывода. Это определяет
интенсивное использование логических методов при соз-
дании экспертных систем и решателей задач. Другое при-
менение этого аппарата, важное для любых интеллек-
туальных систем, — возможность контроля логической
целостности базы знаний, т.е. ее непротиворечивости
и соответствия определенным предустановленным прави-
лам (ограничениям целостности).
Логические методы представления знаний обеспечи-
вают простую и ясную нотацию для записи фактов, об-
ладающую четко определенной семантикой (по крайней
мере для методов, основанных на традиционной логике
первого порядка). Каждый факт представляется в базе
46
знаний только один раз, независимо от того, как он будет
использоваться в дальнейшем. База знаний, разработан-
ная с применением логических методов, как правило, до-
статочно проста для понимания.
Основной недостаток логических методов — отсутст-
вие четких принципов организации фактов в базе знаний.
Без выделения и последовательного проведения таких
принципов большая модель превращается в плохо обоз-
римый конгломерат независимых фактов, трудно поддаю-
щихся анализу и обработке. По-видимому, этот недос-
таток является одной из причин того, что до начала 80-х
годов логические методы использовались преимуществен-
но в тех областях, где система знаний невелика по
объему и относительно проста по структуре.
Методы представления знаний, основанные на аппа-
рате семантических сетей.
Основная идея подхода к представлению знаний,
базирующегося на аппарате сематнических сетей, состоит
в том, чтобы рассматривать проблемную среду как сово-
купность (сущностей) объектов и (отношений) связей
между ними.
Сущности представляются при этом поименованными
вершинами, а отношения — направленными поименован-
ными ребрами. Система знаний отображается сетью
(семантическая сеть) — ориентированным графом, со-
ставленным из поименованных вершин и ребер, или со-
вокупностью таких сетей. Имена, приписываемые вершинам
и ребрам, обычно' совпадают с именами соответствую-
щих сущностей и отношений, используемыми в естест-
венном языке. Ребро и связываемые им вершины образу-
ют подграф семантической сети, несущий минимальную
с позиций системы знаний информацию — факт наличия
связи определенного типа между соответствующими
объектами. Более сложные подграфы семантической сети
отображают и более сложные факты. В исследованиях по
представлению знаний используются как логические мето-
ды, так и методы, основанные на семантических сетях.
Выбор тех или иных средств в каждом конкретном случае
определяется характером решаемых задач и склонностями
разработчиков интеллектуальной системы.
При использовании семантической сети для представ-
ления знаний важны классификация типов объектов и
выделение некоторых фундаментальных видов связей
между объектами. Независимо от особенностей модели-
47
руемой среды можно предполагать, что любая более или
менее сложная ее модель отображает какие-либо обоб-
щенные, конкретные и агрегатные объекты. Обобщенный
объект — это некоторое известное и широко используемое
в моделируемой проблемной среде понятие, например
«персона», «вещество», «предмет труда» и т. д. Обоб-
щенный объект фактически представляет определенным
образом класс объектов проблемной среды. Конкретный,
или индивидный, объект — это каким-то образом выде-
ленная единичная (индивидная) сущность, например,
«сотрудник Петров Василий Иванович», «планета ВЕ-
НЕРА», «сульфат натрия» и т. д. Из приведенных при-
меров видно, что понятия обобщенного и конкретного
объекта относительны и зависят от рассматриваемой
проблемной среды и решаемых в ней задач (см. § 2.4).
Однако в конкретной системе знаний обобщенные и ин-
дивидные объекты выделяются достаточно просто. Аг-
регатным называется объект проблемной среды, который
составлен тем или иным образом из других объектов,
являющихся его частями. Понятие агрегатного объекта
также относительно. Любой объект внешнего мира мож-
но расчленить, однако для выделения агрегатного объ-
екта важно, чтобы его составные части являлись объек-
тами, существенными с позиций решаемой задачи, а
следовательно, отображаемыми в системе знаний. Таким
образом, один и тот же объект проблемной среды в
зависимости от решаемых задач может рассматривать-
ся в системе знаний как агрегатный или как неагрегат-
ный. При этом агрегатным может быть как обобщенный,
так и конкретный объект.
В терминах описанной типизации объектов проблем-
ной среды определяются и фундаментальные типы
связей между объектами. Так, между двумя обобщенны-
ми объектами может существовать родовая связь. Нали-
чие ее между обобщенными объектами А и В, например,
означает, что любой объект, отображаемый понятием
В, отображается и понятием А и существует такой объ-
ект, который отображается понятием А, но не отобража-
ется В. Иными словами, понятие А более общее, чем В.
В таком случае говорят, что А является родом В или что
понятие А — родовое для В. Так, понятие «животное»
(и соответственно обобщенный объект «животное» в
некоторой проблемной среде) — родовое для понятия
«человек», а понятие «транспорт» — родовое для понятия
«самолет».
48
Видовая связь обратна родовой. Если объект А яв-
ляется родом В, то говорят также, что В — вид Л, и
наоборот. Из приведенных примеров видно, что родовое
понятие не охватывает всех свойств видового, так как
видовое понятие богаче содержанием. Все свойства ро-
дового понятия, как правило, присущи и видовому (на-
следование свойств). Это позволяет более компактно
представить систему знаний семантической сетью. Про
объекты, между которыми существуют родовая и видо-
вая связи, говорят, что они находятся в родовидовой
связи.
Между обобщенным и конкретным объектами может
существовать связь «является представителем». Она
имеет место в том случае, когда конкретный объект при-
надлежит классу, отображаемому соответствующим
обобщенным объектом. Так, конкретный объект «Третья-
ковская галерея» является представителем обобщенного
объекта «музей». Важно отметить, что один и тот же
конкретный объект может рассматриваться как предста-
витель нескольких обобщенных объектов в одной и той
же проблемной среде. Так, конкретный объект. «Третья-
ковская галерея» — представитель обобщенных объектов
«картинная галерея» и «здание в Москве». Первый из
них находится в родовидовой связи с объектом «музей»,
второй — нет, так как музей может быть размещен в
нескольких зданиях или на открытом воздухе и не всякое
здание в Москве — музей. Свойства, присущие обобщен-
ному объекту, характеризуют и любой конкретный
объект — представитель. Таким образом, множество
свойств конкретного объекта содержит в себе подмноже-
ство свойств, которыми он наделяется как представитель
тех или иных обобщенных объектов (или совпадает с
этим подмножеством).
Между агрегатным объектом и каким-либо другим
объектом проблемной среды может существовать связь
«является частью». Смысл этой связи ясен уже из ее
названия. Ясно также и то, что частью конкретного
агрегатного объекта не может являться обобщенный
объект.
Однако возможна и даже представляет интерес
ситуация, когда частью агрегатного объекта является аг-
регатный объект. Понятие агрегатного объекта и отно-
шение «является частью» выделены для того, чтобы
представлять знания о сложных объектах проблемной
среды.
49
4—1369
Типизация объектов и фундаментальные отношения
не решают всех проблем представления знаний, но
создают хорошую основу для построения прикладной ба-
зы знаний. Набор отношений в ней не исчерпывается
фундаментальными отношениями, хотя именно они обра-
зуют «скелет», позволяющий более свободно ориентиро-
ваться даже в сложной и большой модели. Типизация
обеспечивает и реальные осязаемые преимущества, поз-
воляя «сжать» базу знаний, сделать ее более компакт-
ной. Так, для обобщенного объекта, являющегося видом
некоторого другого, нет необходимости представлять в
базе все свойства, по крайней мере часть их можно
получить благодаря механизму наследования. Для такого
объекта целесообразно представлять в базе лишь его
собственные (ненаследуемые) свойства, а также свойст-
ва, которые хотя и являются наследуемыми, но несут
дополнительную информацию.
Возможности «сжатия» базы знаний обеспечиваются
также транзитивностью родовидового отношения и от-
ношения «является частью». Отношение а называется
транзитивным тогда и только тогда, когда для любой
тройки объектов А, В м С таких, что А находится в от-
ношении а с В, а В — в отношении а с С, выполняется
утверждение «Л находится в отношении а с С». Упомя-
нутые фундаментальные отношения транзитивны. Свойст-
во транзитивности позволяет отображать в базе знаний
не все фундаментальные отношения между объектами, а
лишь небольшую часть их. Остальные могут быть полу-
чены из представленных в базе с помощью специального
механизма поддержки транзитивности, типичного для
семантических сетей. Транзитивность родовидового отно-
шения обеспечивает возможность наследования свойств
не только у представленного в базе знаний родового
объекта, но и у родового для родового и т. д.
Интересно отметить также связь механизма наследо-
вания при использовании семантической сети с механиз-
мом логического вывода. Фактически наследование обес-
печивает автоматическое проведение простых дедуктивных
рассуждений типа: «Все люди смертны. Сократ — чело-
век. Следовательно, Сократ смертен».
Операции модификации базы знаний на семантиче-
ских сетях сводятся к удалению и добавлению новых
вершин и ребер. Базовые операции поиска информации
в сети обеспечивают поиск вершины или ребра по имени,
переходы от одной вершины к другой по связям и от
50
одной связи к другой через смежные вершины. Цель
поиска — получение знаний, представленных в сети и
требуемых для решения задачи.
Одним из мощных средств манипуляции знаниями
является операция сопоставления с образцом. Сущность
ее состоит в следующем. Информационная потребность,
определяющая содержание и цель запроса к базе знаний,
описывается автономной семантической сетью — сетью
запроса, построенной по тем же правилам и отобра-
жающей те же объекты и отношения, которые представ-
лены в системе знаний семантической сетью. Поиск отве-
та ца запрос реализуется сопоставлением сети запроса
с фрагментами семантической сети, представляющей си-
стему знаний. Положительный результат сопоставления
позволяет получить один из ответов на запрос. Все от-
веты можно получить путем обнаружения всех сопоста-
вимых с сетью запроса фрагментов.
Операция сопоставления редко сводится к выявлению
фрагментов базы знаний, изоморфных сети запроса;
как правило, она сложнее. Так, в сети запроса могут
быть указаны родовидовые отношения или отношения
«является частью», не представленные в системе знаний
(и в семантической сети) явно, но выводимые из пред-
ставленных на основе транзитивности. Аналогично, в
сети запроса могут указываться свойства объектов, для
получения которых в базе знаний необходимо включать
механизм наследования свойств. В общем виде операцию
сопоставления для семантических сетей можно описать
следующим образом. Для сети, представляющей систему
знаний, задается набор допустимых преобразований, пе-
реводящих исходную сеть (или ее фрагменты) в логиче-
ски ей эквивалентную. Операция сопоставления выявляет
все фрагменты исходной или эквивалентных ей сетей, изо-
морфные сети запроса. Набор допустимых преобразова-
ний для семантических сетей дополняет сети новыми
связями, полученными из транзитивности фундаменталь-
ных отношений и наследования свойств, но не ограничи-
вается этим. В зависимости от специфики решаемых
задач и особенностей того или иного конкретного средст-
ва набор эквивалентных преобразований может сущест-
венно расширяться. Поскольку теория семантических
сетей не дает универсальных средств, позволяющих
описывать допустимые преобразования сети, операция
сопоставления здесь может рассматриваться как базовая
лишь методически (в том смысле, что поиск в семанти-
51
4*
ческой сети всегда есть какое-то сопоставление), но не
технически (в том смысле, что любой требуемый поиск
может быть выражен операцией сопоставления в неко-
тором универсальном ЯПЗ). Именно поэтому базовыми
для семантических сетей здесь названы не операции
сопоставления с образцом, а гораздо более примитивные
операции перехода по сети. . Фактически совокупность
последних в каждом конкретном случае поиска реализует
то или иное требуемое сопоставление.
Рис. 2.2. Примеры семантических сетей
г. р. — год рождения
52
Рис. 2.3. Примеры семантических сетей
На рис. 2.2 приведены примеры семантических сетей,
представляющие те же объекты и связи, что и в примере,
приведенном в § 2.2. Здесь двойной красной стрелкой
представлено отношение «является видом», тройной —
«является представителем», перечеркнутой — «является
частью», двойной черной стрелкой — нефундаментальные
отношения, обычными ребрами — связи между объекта-
ми, определяемые этими отношениями. На рис. 2.2, а
супружеские пары выделяются отношением «имеет супру-
га», на рис. 2.2, б — агрегатным объектом БРАК. Это
иллюстрирует возможность гибкого представления эле-
ментов предметной области и определяет еще один
важный тип допустимого преобразования семантической
сети.
На рис. 2.3 графически представлены запросы, ана-
логичные приведенному в § 2.2 (сети запроса на рис. 2.3,
а представлена для исходной сети рис. 2.2, а, на рис. 2.3.
б — для рис. 2.2, б). Здесь знаком «?» отмечены верши-
ны, имена которых должны быть получены из исходной
семантической сети в результате сопоставления. Отноше-
ние «не меньше» отсутствует в исходной сети. Такого
рода отношения, смысл которых очевиден, как правило,
используются в сетях запросов. Отметим, что в обеих
схемах для сопоставления не требуется преобразования
исходной сети. Другие примеры представления знаний,
основанные на семантических сетях, приведены в гл. 4.
В настоящее время аппарат семантических сетей ши-
роко используется в практике представления знаний. Его
достоинствами являются: большие выразительные воз-
можности, естественность и наглядность системы знаний,
представленной графически, близость структуры сети,
представляющей систему знаний, семантической структу-
ре фраз естественного языка.
53
Общая идея использования ориентированных графов
для представления знаний нашла различное воплощение
у разных исследователей. Этим объясняется отсутствие
единой терминологии и формально определяемой семан-
тики для методов представления знаний, основанных
на семантической сети.
Методы представления знаний, основанные на аппа-
рате фреймов. Одна из разновидностей аппарата семан-
тических сетей связана с концепцией фрейма. Фрейм
можно рассматривать как фрагмент семантической сети,
предназначенный для описания объекта (ситуации)
проблемной среды со всей совокупностью присущих ему
свойств.
Основная идея фреймового подхода к представлению
знаний — более жесткое, чем при подходе, основанном
на семантической сети, выделение объектов и ситуаций
проблемной среды и их свойств, т. е. все, что касается
объекта или ситуации и важно с позиций решаемых
задач, не «размывается по сети», а представляется во
фрейме.
. Фреймовый подход к представлению знаний является
частным случаем подхода к представлению знаний,
основанного на семантических сетях. При фреймовом
подходе, например, также выделяются обобщенные, кон-
кретные и агрегатные фреймы для представления соот-
ветствующих типов объектов проблемной среды, выделя-
ются также и фундаментальные отношения. В то же вре-
мя фреймовый подход позволяет более последовательно
использовать некоторые важные механизмы представле-
ния знаний и в первую очередь процедурные знания.
Приведем примеры применения процедур в представ-
лении знаний, основанном на фреймах.
Представляя фреймом обобщенный объект проблем-
ной среды, можно ассоциировать процедуры с некоторы-
ми свойствами объекта. При создании конкретного фрей-
ма, отображающего объект, который является предста-
вителем обобщенного, можно не указывать конкретных
значений для соответствующих свойств. Всякий раз,
когда запрос требует получения таких значений, иници-
ируется выполнение соответствующих процедур, которые
эти значения вычисляют. Со свойством объекта может
также ассоциироваться процедура, проверяющая кор-
ректность указанного значения свойства при создании
соответствующего конкретного фрейма.
Поскольку фрейм может представлять значительную
54
часть общей системы знаний, появляется возможность
связывания с ним знаний, полезных для операции сопо-
ставления. В частности, это могут быть ассоциирован-
ные с фреймом как с целым процедуры, обеспечивающие
необходимые для сопоставления преобразования. Такая
возможность применения ассоциированных процедур
является специфической для фреймового подхода. Из-
вестен и ряд других возможностей использования ас-
социированных процедур для фреймов.
Для программной реализации аппарата семантиче-
ских сетей и фреймов разработаны формальные языки
и системы программирования, такие, как . ФРЛ, КЛ1,
КРЛ. Программная поддержка этих языков реализуется
как система функций над языком программирования
ЛИСП. Язык ФРЛ опирается на концепцию фрейма, в
то время как языки КЛ1 и КРЛ можно одинаково успеш-
но применить для семантических сетей разных типов, в
том числе и для фреймов. Эти языки обеспечивают
механизмы наследования свойств, а также возможность
создания и применения ассоциированных процедур.
Особо следует отметить язык КРЛ, позволяющий выпол-
нять операции сопоставления.
Интеграция методов представления знаний. В прак-
тике построения интеллектуальных систем все чаще
возникает потребность в использовании преимуществ
описанных методов представления знаний и компенсации
их недостатков.
Ф Современный этап развития инструментальных средств
создания интеллектуальных систем характеризуется
интеграцией — обеспечением возможностей совместного
использования различных методов представления знаний
в рамках единого программного продукта. Основой для
такой интеграции послужила концепция объектно-ориен-
тированного программирования.
В объектно-ориентированном программировании про-
грамма представляется набором активных объектов —
комплексов, состоящих из структуры данных и совокуп-
ности процедур. Объекты способны выдавать (другим
объектам) и принимать (от других объектов) сообще-
ния, а также выполнять те или иные манипуляции над
структурами данных в соответствии с принятыми сообще-
ниями. Структурно объекты могут рассматриваться как
фреймы, снабженные ассоциированными процедурами.
Выделяются процедуры двух типов: методы и демоны.
55
Каждый метод предназначен для обработки сообщений
определенного типа и инициируется тогда и только
тогда, когда объект получает сообщение этого типа.
Демоны ассоциируются с элементами структуры данных
объекта, которые называются активными значениями.
При определенных операциях доступа к активным зна-
чениям и их модификации инициируются демоны, вы-
зывающие те или иные действия, логически связанные
с выполняемым действием.
При объектно-ориентированном подходе можно реа-
лизовать не только процедурные методы представления
знаний и методы, основанные на семантических сетях и
фреймах, но и логические. Более того, поскольку логи-
ческие утверждения (формулы) рассматриваются при
таком подходе как объекты, появляется возможность
классификации и структурирования наборов формул, что,
по крайней мере частично, компенсирует недостатки ло-
гических методов представления знаний.
Таким образом, объектно-ориентированный подход
следует рассматривать как одну из перспективных ин-
струментальных основ для построения интеллектуальных
систем.
2.4 Соотношение методов
представления знаний в базах данных
и искусственном интеллекте
В базе знаний независимо от используемых
методов представления знаний можно выделить две важ-
ные части, условно называемые далее концептуальной
и фактуальной (см. гл. 1).
Концептуальная (или интенсиональная)
часть содержит обобщенное описание предметной об-
ласти и метазнания. Интенсиональное описа-
ние имеет целью представить структуру, свойства и
поведение классов объектов предметной области. При
этом подразумевается, что такое описание, составленное
для класса, справедливо для любого входящего в него
объекта. Например, тот факт, что каждый сотрудник
предприятия имеет уникальный табельный номер, будучи
представленным в той или иной формальной знаковой
системе, является элементом интенсионального описания.
База знаний, как правило, содержит также информа-
цию о свойствах конкретных объектов предметной об-
ласти. Эта информация, представленная в базе знаний,
56
образует фактуальную (или экстенсиональную) ее
часть.
Так, информация об объектах «сотрудник», «долж-
ность», «служебный телефон» и связях между ними вхо-
дит в концептуальную часть модели, в то время как
сведения о том, что Иванов Иван Иванович работает
в должности старшего инженера и имеет служебный
телефон 888—88—88, — в фактуальную часть.
Описанное деление не абсолютно. В зависимости от
решаемых задач один и тот же факт можно представить
в концептуальной или фактуальной части базы знаний.
Так, в системе, описывающей фауну Земли, тот факт, что
тигр — хищник и питается мясом, следует, по-видимому,
отнести к конкретным фактам и соответственно к фак-
туальной части базы. В то же время в системе управле-
ния зоопарками этот факт будет скорее всего рассматри-
ваться как обобщенный и конкретизироваться информа-
цией о дневном рационе определенных особей.
Выделение концептуальной и фактуальной частей ба-
зы знаний как непересекающихся компонентов не совсем
точно. Правильнее говорить о концептуальной и факту-
альной роли фактов, зафиксированных в базе. Тем не
менее предложенное деление важно для организации
баз знаний в вычислительной системе. В связи с этим
и с учетом сделанных замечаний полезно уточнить
определение компонентов базы. К концептуальной части
базы знаний относятся те и только те факты, которые
для данной базы при решении прикладных задач могут
выступать в концептуальной роли. К фактуальной части
базы знаний относятся те и только те факты, которые не
входят в концептуальную.
Концептуальная и фактуальная части базы знаний
сложным образом взаимосвязаны. Это проявляется в
операциях над базой и обусловлено тем, что интен-
сиональные и экстенсиональные опи-
сания связаны с одними и теми же объектами пред-
метной области. Отдельным элементам интенсионального
описания можно поставить в соответствие множество
конкретизирующих его экстенсиональных описаний. Так,
описание «сотрудник имеет табельный номер» конкрети-
зируется множеством табельных номеров сотрудников
предприятия, и, наоборот, каждый элемент экстенсио-
нального описания предметной области конкретизирует
одно или несколько интенсиональных описаний. Это
соответствие позволяет переходить от обобщенных опи-
57
саний объектов предметной области к конкретным их
свойствам, и обратно. Оно должно поддерживаться в
базе знаний и, таким образом, при изменении в концеп-
туальной части базы, как правило, должна изменяться
и информация о соответствии, а возможно, и сама
фактуальная часть. Кроме того, концептуальная часть
может содержать факты, не связанные отношением
конкретизации с какими-либо экстенсиональными описа-
ниями, но влияющие на манипуляции с фактуальной
частью.
Выделение двух компонентов связано с проблемами
физической организации базы знаний. В большинстве
практически значимых прикладных задач размер факту-
альной части базы во много раз превышает размер
концептуальной части.
Так, в [3] при планировании работ по созданию си-
стемы управления базами знаний закладывается пример-
но 500- и 5000-кратное превышение объема фактуальной
части базы над концептуальной. Базы знаний такого
объема до последнего времени вообще не рассматрива-
лись в исследованиях по искусственному интеллекту. При
их построении и работе с ними возникает ряд проблем
обеспечения эффективности, технологичности и надеж-
ности, более типичных для технологии баз данных, чем
для искусственного интеллекта. В частности, вряд ли
можно надеяться в ближайшей перспективе иметь ЭВМ,
в оперативной или виртуальной памяти которой можно
эффективно разместить всю базу знаний (что типично
для модельных экспериментальных задач искусственного
интеллекта). В исследованиях по искусственному интел-
лекту вопросы эффективной работы с внешней памятью
ЭВМ практически не изучались.
Технология баз данных за более чем двадцатилет-
нюю историю развития далеко продвинулась в решении
проблем создания и сопровождения больших баз данных.
В частности, имеются глубокие проработки и приемлемые
практические решения таких важных проблем, как эф-
фективность обработки больших объемов информации,
коллективный доступ к данным, обеспечение целостности
данных и т. п. Накоплен большой опыт практического
применения многочисленных и разнообразных систем
управления базами данных.
В то же время имеется ряд проблем, до сих пор не
нашедших полного решения. Едва ли не важнейшая
среди них — невозможность отображения в схеме базы
58
данных многих, важных с позиции решаемых прикладных
задач, классов объектов предметной области. Это, одна-
ко, не означает, что в базе данных обязательно отсутст-
вует информация об объектах этих классов. В боль-
шинстве случаев соответствующие факты могут быть
«сконструированы» из представленных в базе данных. Так,
экстенсиональное описание понятия «возраст сотрудника»
можно легко получить из даты его рождения, пред-
ставленной в базе данных явно, и текущей даты выполне-
ния запроса.
Приведем более сложный пример. Пусть в реляцион-
ной базе данных имеются отношение ПОСТАВЩИК,
описывающее организации, которые поставляют опреде-
ленную продукцию, и отношение ЗАКАЗЧИК, содержа-
щее информацию об организациях — получателях этой
продукции. Тогда запрос вида «какие организации...»,
не указывающий явно тип организаций, не может быть
эффективно выражен в реляционном языке данных. По
отношению к классам объектов, отображенным в схеме
базы данных, «организация» является обобщенным
классом. Такие классы плохо представляются или не
представляются вообще и в канонической реляционной
модели данных, и в других моделях, реализованных в
промышленных СУБД. В то же время обобщенные
классы типичны для любой сколько-нибудь сложной пред-
метной области и легко описываются методами представ-
ления знаний, ,развитыми в искусственном интеллекте.
Считается, что проектировщик базы данных должен
выбрать такую систему классов объектов, отображаемых
в схеме, с помощью которой относительно легко кон-
струируются экстенсиональные описания, конкретизирую-
щие не отраженные в схеме классы предметной области.
Здесь неявно предполагается, что проектировщик может
выбирать отображаемые классы объектов произвольно.
Однако это не так. Класс объектов предметной области
можно отобразить в схеме лишь в тех случаях, когда
конкретизирующие его экстенсиональные описания мож-
но представить в фиксированных структурах данных с
четко определенной семантикой значений каждого эле-
мента структуры. Если эти условия по каким-либо причи-
нам не выполняются, представление класса и его кон-
струирование (если он не представлен явно) вызывают
большие затруднения. Например, из-за различий в ха-
рактеристических свойствах отдельных объектов, конкре-
тизирующих классы объектов «одежда», «мебель», «тран-
59
спорт» и т. п., сложно представить эти классы в схеме
базы данных. Существует ряд других причин, вызываю-
щих трудности представления некоторых классов объек-
тов предметной области в базах данных.
Таким образом, методы представления знаний, разви-
тые в базах данных и в искусственном интеллекте, не
вполне удовлетворительны для использования при разра-
ботке промышленных систем управления базами знаний
(СУБЗ), которые призваны обеспечивать создание, со-
провождение и применение баз знаний в интеллектуаль-
ных системах.
• Для построения СУБЗ как одного из важнейших
инструментальных средств новой технологии необходима
интеграция описанных средств и методов.
В настоящее время подобные интегрированные систе-
мы в мировой практике отсутствуют, однако ряд успеш-
ных экспериментальных работ и мнения специалистов
свидетельствуют о том, что их создание — ближайшая
перспектива в области представления знаний. Опыт работ
в области искусственного интеллекта и в технологии баз
данных позволяет сформулировать основные требования
к такой интегрированной системе.
Поскольку СУБЗ представляет собой инструменталь-
ное средство, с ней работают в первую очередь програм-
мисты-разработчики интеллектуальных систем и админи-
страторы баз знаний — специалисты, отвечающие за про-
ектирование и сопровождение баз знаний в актуальном
состоянии, т. е. в таком состоянии, которое правильно
отражает внешнюю среду.
Основная задача программистов-разработчиков —
создание процедурной части интеллектуальной системы,
работающей на основе базы знаний. Для решения этой
задачи имеются развитые инструментальные средства,
не обеспечивающие, однако, необходимого уровня эффек-
тивности при работе с большими базами знаний. Интег-
рация должна преодолеть этот недостаток. Цель интег-
рации для разработчиков интеллектуальных систем —
обеспечить создание единых инструментальных (языко-
вых) средств, успешно и эффективно реализующих
методы доступа к информации и обработки ее, типичные
и для искусственного интеллекта, и для технологии баз
данных, и не зависящие от того, где эта информация раз-
мещается. Иначе говоря, применяемые методы физичес-
кой организации базы знаний (размещение ее в мно^о-
60
уровневой памяти ЭВМ) должны быть прозрачны для
программиста-разработчика. В этом случае примитивы
доступа к информации (типичные для той или иной
области) выбираются программистом только из сообра-
жений удобства.
Цель интеграции для администраторов баз знаний —
обеспечить ряд средств, представленных в основном в
технологии баз данных, но приспособленных к требова-
ниям СУБЗ. Это прежде всего:
— средства автоматизации логического и физическо-
го проектирования базы знаний, обеспечивающие, в част-
ности, помощь в выборе способов хранения отдельных
фрагментов базы знаний в соответствии с критерием
максимальной эффективности функционирования СУБЗ;
— средства поддержания логической и физической
целостности базы знаний в процессе ее эксплуатации,
т. е. обеспечение надежной работы системы в условиях
возможных сбоев технических и программных средств
ЭВМ, ошибок пользователей;
— средства реорганизации базы знаний для повыше-
ния эффективности работы СУБЗ и в связи с глобальны-
ми изменениями системы знаний. Все эти средства имеют
прототипы в технологии баз данных. Опыт, накопленный
в технологии баз данных, свидетельствует о необходимости
таких средств и в технологии баз знаний.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
2.1. Что такое «независимость данных»? Опишите принципиалный меха-
низм обеспечения независимости данных.
2.2. Объясните понятия «язык данных» и «модель данных».
2.3. Охарактеризуйте реляционную модель данных.
2.4. Поясните различия между реальными и виртуальными отношениями.
2.5. Изложите основные идеи логических методов представления знаний
и методов, основанных на аппарате семантических се-
тей.
2.6. Перечислите фундаментальные виды связей между объектами, выде-
ляемые в сетевом подходе к представлению знаний.
2.7. Докажите транзитивность всех видов фундаментальных отношений,
кроме отношения «является представителем».
2.8. Транзитивно ли отношение «является представителем»? В чем прин-
ципиальное отличие отношений этого вида от фунда-
ментальных отношений других видов?
2.9. Покажите, как наследование свойств в подходе, основанном на
семантических сетях, обеспечивает автоматическое
проведение простых дедуктивных рассуждений.
2.10. Приведите аргументы, обосновывающие необходимость интеграции
методов представления знаний, развитых в технологии
баз данных и в искусственном интеллекте.
Глава Автоматизация решения
плохо формализуемых задач
на ЭВМ: непроцедурные подходы
3.1 Логическое программирование
Как отмечалось в гл. 1, в число основных
компонентов интеллектуального интерфейса между поль-
зователем и ЭВМ входят решатели задач, позволяющие
конечным пользователям решать прикладные задачи при
минимальном объеме знаний о программировании. Эти
задачи, как правило, плохо формализуемы, т. е. отсутству-
ют строгие аналитические методы их решения, и человек
обычно использует интуитивные представления, эмпири-
ческие правила и эвристические соображения.
Работы в области создания решателей, реализующих
некоторую формализованную схему рассуждений при том
или ином способе представления знаний, ведутся активно
и в нашей стране, и за рубежом. Они особенно активизи-
ровались в связи с реализацией в различных странах
проектов ЭВМ пятого поколения. Разработка решателей —
одно из мало проработанных звеньев этих проектов.
В настоящей главе рассматриваются перспективные
подходы к построению решателей задач конечного поль-
зователя. К ним относятся подход, использующий дедук-
тивные схемы рассуждения, подход, использующий ин-
дуктивные схемы рассуждения, подход, реализующий ме-
тод программируемых доказательств, и интегральный
подход, позволяющий использовать для решения одного и
того же класса задач несколько методов одновременно.
К дедуктивным подходам относится прежде всего ло-
гическое программирование, в котором для представления
знаний используется формальный аппарат исчисления
предикатов первого порядка и его расширения [4]. Под
исчислением (или дедуктивной системой) понимается си-
стема, в которой существует некоторое число исходных
объектов (аксиом) и некоторое число правил построения
62
(правил вывода) новых объектов из исходных и уже по-
строенных. При этом в исчислениях (в отличие от алго-
ритмов) порядок применения правил вывода может быть
произвольным. Можно считать, что исчисление предика-
тов является расширением классического исчисления
высказываний, в котором высказывание рассматривается
как единое целое, не обладающее внутренней структурой,
а истинность или ложность высказывания фиксирована.
В исчислении предикатов основным объектом является
переменное высказывание (предикат), истинность или
ложность которого зависит от значений входящих в него
переменных. Так, истинность предиката «х был физиком»
зависит от значения переменной х. Если х — это П. Капи-
ца, то предикат истинен, если х — М. Лермонтов, то он
ложен.
Для обозначения области значений переменных в ис-
числении предикатов используются два квантора: квантор
всеобщности (Vх) и квантор существования (Эх).
Тогда утверждение V х Р (х) читается так: «для всех х
имеет место Р (х)», а утверждение 3xQ (х) — как «су-
ществует х такое, что Q (х)», где Р (х) и Q (х) — пре-
дикаты. В исчислении как высказываний, так и предика-
тов существует еще одно понятие — формула.
В исчислении высказываний формулы
строятся индуктивным способом, используя логические
связи: & (конъюнкция), V (дизъюнкция), -> (имплика-
ция), “I (отрицание). Примерами формул могут служить
(А&ПВ)->С; (AVB) & (В-> А); A->AVB,
где А, В, С — высказывания.
Исчисление предикатов включает в себя все
формулы исчисления высказываний, а также формулы,
содержащие кроме символов высказываний предикатные
символы с кванторами. Например, утверждение
Vх(Р (х)Q(x) читается так: «для любого х если Р(х),
то имеет место и Q(x)».Выделенное подмножество тож-
дественно истинных формул, истинность которых не за-
висит от истинности входящих в них высказываний,
называется аксиомами. В исчислении предикатов имеется
множество правил вывода. В качестве примера приведем
. А.А-+В
классическое правило modus ponens: ---g---, которое
читается так: «если истинна формула А и истинно, что из
А следует В, то истинна формула В». Формулы, находя-
щиеся над чертой, называются посылками вывода, а под
63
чертой — заключением. Это правило вывода формализует
основной закон дедуктивных систем: из истинных посылок
всегда следуют истинные заключения. Аксиомы и правила
вывода исчисления предикатов первого порядка задают
основу формальной дедуктивной системы, в которой про-
исходит формализация схемы рассуждения в логическом
программировании. Решаемая задача представляется в
виде утверждений (аксиом) Fi, F2, ...» Fn исчисления пре-
дикатов первого порядка. Цель задачи В также записы-
вается в виде утверждения, справедливость которого
следует установить или опровергнуть на основании ак-
сиом и правил вывода формальной системы. Тогда реше-
ние задачи (достижение цели задачи) сводится к выяс-
нению логического следования (выводимости) целевой
формулы В из заданного множества формул (аксиом)
Ль F2, ...» Fn- Такое выяснение равносильно доказательству
общезначности (тождественно-истинности) формулы
F\&F2&-.-&Fn-+B или не выполнимости (тождественно-
ложности) формулы F\ & F2 & ... & Fn & П В.
Из практических соображений удобнее использовать
доказательство от противного, т. е. доказывать невыпол-
нимость формулы. На доказательстве от противного осно-
вано и ведущее правило вывода, используемое в логи-
ческом программировании, — принцип резолю-
ции. При использовании его формулы исчисления пре-
дикатов с помощью несложных преобразований при-
водятся к так называемой дизъюнктивной форме, т. е.
представляются в виде набора дизъюнктов. При этом под
дизъюнктом понимается дизъюнкция литералов, каждый
из которых является либо предикатом, либо отрицанием
предиката. Приведем пример дизъюнкта:
(Vx) (P(x,Ci)VnQ (х,с2)). (3.1)
Пусть предикат Р — уважать, предикат Q — знать,
константа Ci — Ключевский, а константа с2 — история.
Тогда-выражение (3.1) перепишется:
(Vх) (уважать (х, Ключевский) VЯ знать (х, история)).
(3.2)
Дизъюнкты, используемые в логическом программиро-
вании, можно упростить следующим образом: кванторы
всеобщности опустить, предикаты переписать в бесско-
бочном виде, а связку V”"l заменить на импликацию
64
(-<-) или слово «если». Тогда выражение (3.2) примет та-
кой вид:
х уважать Ключевский, если х знать историю,
что читается так: «каждый, кто знает историю, уважает
Ключевского». Кроме того, дизъюнкты, все литералы ко-
торых отрицательны, обычно переписываются в эквива-
лентную форму отрицательной конъюнкции. Например,
формула (Vх) (ПР (x,Ci)V“1P (х, С2)) перепишется в
виде
(Ух)П(Р (х,С1)&Р (х,с2)). (3.3)
Если в формуле (3.3) принять, что предикат Р — это
«знать», а константы Ci и с2 — это «физика» и «история»
соответственно, то получим
(V х)~1 (знать (х, физика) & знать (х, история)).
(3.4)
Выражение (3.4) в упрощенном виде можно перепи-
сать как
? х знать физика & х знать история (3.4 а)
и прочитать как запрос: «кто знает физику и историю
одновременно?».
Таким образом, и условия решаемых задач (факты), и
целевые утверждения задач (запросы) можно выразить в
дизъюнктивной форме логики предикатов первого порядка.
Вернемся к принципу резолюции [5]. Главная идея
этого правила вывода заключается в проверке того,
содержит ли множество дизъюнктов R пустой (ложный)
дизъюнкт X. При положительном ответе множество R
(и соответствующая ему формула) невыполнимо (проти-
воречиво). При отрицательном ответе выводятся новые
дизъюнкты до тех пор, пока не будет получен пустой
дизъюнкт, что всегда будет иметь место для противоречи-
вого R. Таким образом, принцип резолюции можно рас-
сматривать как правило вывода, с помощью которого
порождаются новые дизъюнкты из R. В общем случае
каждый шаг резолюции начинается с некоторой пары
дизъюнктов (предков) такой, что некоторый литерал А в
одном из дизъюнктов должен быть сделан дополнитель-
ным литералу В другого дизъюнкта из пары. Заметим, что
дополнительными называются литералы А и И А. Чтобы
сделать литералы А и В дополнительными, необходимо
провести их унификацию, т. е. сделать их идентичными с
65
5—1369
помощью некоторой подстановки 0, называемой унифика-
тором'. А0 = В0. Тогда говорят, что два выбранных
литерала резольвируют. Затем с помощью правила ре-
золюции выводится новый дизъюнкт — резольвента —
следующим образом. Литералы дизъюнктов-предков, за
исключением тех, которые резольвировали, объединяются
и к результату применяется подстановка 0.
Приведем пример:
первый предок (дизъюнкт): [ Петр уважает у
второй предок (дизъюнкт): х уважает Ивана, если отец (Иван)
уважает х
резольвирующие литералы: то, что подчеркнуто
унификатор: 0= (х: = Петр, у: = Иван)
резольвента: I отец (Иван) уважает Петр
Последнее утверждение (резольвента) читается как «отец Ивана ува-
жает Петра?*
Правило резолюции обладает свойством полноты в
том смысле, что с помощью него всегда можно найти пу-
стой дизъюнкт, если исходное множество дизъюнктов R
противоречиво. Однако вследствие неразрешимости логи-
ки предикатов первого порядка для выполнимого (не-
противоречивого) множества дизъюнктов процедура, ос-
нованная на принципе резолюции, может работать бес-
конечно долго.
Обычно резолюция применяется в логическом програм-
мировании в совокупности с прямым или обратным ме-
тодом рассуждения. Прямой метод (от посылок)
из посылок А, АВ выводит заключение В (правило
modus ponens). Основной недостаток прямого метода рас-
суждения состоит в его ненаправленности: повторные
применения метода обычно приводят к резкому росту про-
межуточных заключений, не связанных с целевым заклю-
чением.
Обратный метод (от цели) является направ-
ленным: из желаемого заключения В и тех же посылок он
выводит новое подцелевое заключение А. Каждый шаг
вывода в этом случае всегда связан с первоначально
поставленной целью. Для использования правила резо-
люции необходимо, чтобы доказательство того, что данная
посылка А влечет желаемое (целевое) заключение С,
было переформулировано в утверждение, что А несовмес-
тимо с ЙС. Например, чтобы доказать утверждение Р из
посылок Q, Q -> Р, обратное рассуждение с помощью пра-
вила резолюции выводит-1Q (из~|Р и Q-^P), а затем
выводит пустой дизъюнкт (опровержение) (изП(? и Q).
66
Существенный недостаток принципа резолюции заклю-
чается в формировании на каждом шаге вывода множест-
ва резольвент — новых дизъюнктов, большинство
из которых оказываются лишними. В связи с этим разра-
ботаны различные модификации принципа резолюции,
использующие более эффективные стратегии поиска и
различного рода ограничения на вид исходных дизъюнк-
тов. В этом смысле наиболее удачной и популярной си-
стемой является система ПРОЛОГ, которая использует
специальные виды дизъюнктов, называемые дизъюнктами
Хорна. Кратко рассмотрим эту систему, тем более что под
логическим программированием в узком смысле слова
обычно понимают программирование на языке ПРОЛОГ
(PROgramming in LOGic).
По определению, дизъюнктами Хорна являются дизъ-
юнкты, имеющие не более одного положительного лите-
рала. Они могут быть трех типов:
(1) допущениями без условий (или фак-
тами)
В(/)
Например, Иван нравится история
(2) условными допущениями (или импли-
кациями) — правилами
В (0v И Ai (/)v ПА2 (/)V П ..УПАЛ (/),
или в эквивалентной форме
В (/)- Ai (/)& А2 (/)&...& Ал (/).
Например, Петр уважает х, если х нравится логика &
Петр знает х;
(3) отрицаниями
~l Cl (/)V-IC2(/)V_| ...V“IC*(0 или
И (Ci (/) & С2 (/) & ... & Ck (/))•
Например, ~| (х нравится логика & х нравится мате-
матика).
Для реализации очень важен тот факт, что дизъюнкты
Хорна обладают простой процедурной интерпретацией.
Дизъюнкты типа (1) и (2) интерпретируются как процеду-
ры, а типа (3) — как целевые утверждения, Так, дизъюнкт
типа (2) интерпретируется как процедура с заголовком
В (/), телом которой является вызов процедур Ai (/),
А2 (/), ..., Ал (/), а дизъюнкт типа (3) — как последова-
тельность вызовов процедур Ci (/), С2 (/),..., Сл (/). Тогда
5*
67
каждый шаг обратного рассуждения есть управление
вызовом процедуры, которое начинается с выделения
вызова некоторой процедуры С, (/) из текущей цели. За-
тем выделяется некоторая процедура, заголовок которой
(положительный литерал, например В(/) в выражении (2))
унифицируется с помощью некоторой подстановки 0 с
выбранным вызовом G (/). Далее выделяется тело про-
цедуры (в данном примере В (/)), представляющее собой,
в свою очередь, последовательность вызова других про-
цедур (в данном примере Ai (/), А2 (/),..., Ал (/)). Унифи-
катор 0 применяется к результату. Процесс итеративно
повторяется. Аргументы литералов (предикатов) соответ-
ствуют параметрам вызванных процедур. Унификация
интерпретируется как связь данных между вызовами и
процедурами.
Процесс доказательства (или вычисления) целевого
утверждения S в общем случае можно представить сле-
дующим образом [6].
Пусть целевое утверждение S имеет вид-*- Ci, ...» Cj, ...,
Ck и в нем выделен литерал С/ и пусть существует правило
Г = В Ai, А2, ..., А„. Тогда если 0 — унификатор для ли-
тералов С/ и. В, то говорят, что подцель S' = «- 0 (Ci, ...,
С/-1, Ai, ..., Ал, В, С/+1,..., С/) выводится из S с помощью
правила Г и подстановки 0.
Получение S' из S является элементарным шагом в
языке ПРОЛОГ. Он может завершиться и неудачей, так
как может не существовать унификатора для С/ и В.
Выводом (вычислением) целевого утверждения S назы-
вается последовательность промежуточных подцелей Si,
S2, ...» Sm такая, что Si = S и Si+i выводима из S. Если
из подцели Sm невыводима ни одна подцель, то вычисление
считается конечным. При этом если Sm — не пустой
дизъюнкт, то вывод является тупиковым, а если Sm —
пустой дизъюнкт, то вывод является успешным и с ним
связывается подстановка 0 = 0m_i, 0т-2, ...» 02, 0ь где
0/ — подстановка, с помощью которой выводима подцель
S/+1 из S/.
Вывод цели удобно представлять в виде дерева И/ИЛИ
с корнем в целевой вершине. Напомним, что под дере-
вом понимается графовая структура (т. е. структура, кото-
рую можно изобразить в виде вершин и связей), любые
вершины-потомки которой имеют не более одной верши-
ны-предка. Вершине типа И дерева соответствует конъюнк-
ция условий некоторого правила (т. е. Ai, А2, ..., Ап),
вершине типа ИЛИ соответствует вариант, когда к одному
68
и тому же заключению (резольвенте) приводят различ-
ные правила.
В любой системе логического программирования, в
том числе и в системе ПРОЛОГ, реализуется некоторая
стратегия обхода дерева поиска, т. е. используется та
или иная встроенная в систему стратегия поиска решения
задачи. В основном эти стратегии имеют последователь-
ный характер. В последнее время начинают появляться
реализации стратегий параллельного типа. Они резко
повышают эффективность систем логического программи-
рования.
Наиболее распространенной стратегией после-
до в а т е ль ного типа является стратегия «сначала
в глубину». При этом дерево поиска упорядочивается с
помощью двух линейных порядков: «слева направо» для
литералов цели типа (3) и «сверху вниз» для правил
типа (1), (2). Тогда на каждом шаге поиска выделенным
оказывается первый слева литерал цели и к нему приме-
няется первое сверху правило. При этом запоминаются
всевозможные разветвления. Если поиск заходит в тупик,
то происходит возврат к месту последнего разветвления
с помощью механизма backtracking. Одновременно отме-
няются результаты всех подстановок, сделанных после это-
го разветвления. Возврат осуществляется также и при ус-
пешном исходе для получения других ответов. Работа за-
канчивается, когда список разветвлений пуст. Основное
достоинство этой стратегии — простота ее реализации,
недостаток — большой перебор для некоторых классов
подцелей. Кроме того, если дерево поиска содержит бес-
конечную ветвь, то попав в нее, система не выйдет оттуда
и правильные ответы, находящиеся правее этой цели на
дереве, не будут получены.
При стратегии «сначала в ширину» дерево поиска
обходится ярус за ярусом сверху вниз. Она гарантирует
нахождение решения, если оно существует. Однако стра-
тегия требует значительно большего объема памяти и по-
этому получила сравнительно небольшое распространение.
Одно из достоинств языков логического программиро-
вания состоит в том, что на их основе достаточно удобно
реализовать стратегии параллельного типа,
причем порядок обхода дерева не столь важен; существен
лишь тот факт, что должно быть обойдено все дерево.
Именно последнее обстоятельство и дает принципиальную
возможность вести поиск параллельно. Обычно различают
два типа параллелизма: ИЛИ — параллелизм, означаю-
69
щий одновременное применение для выделенной подцели
из цели всех правил из базы знаний, и И-параллелизм,
означающий параллельную обработку одновременно всех
литералов (подцелей) целевого утверждения. Кроме того,
параллелизм возможен и необходим при унификации
(так как эта операция применяется часто). Наибольшие
перспективы имеют именно параллельные стратегии, но для
их эффективной реализации необходимы соответствующие
процессоры, использующие принципы параллельной архи-
тектуры.
3.2 Концептуальное программирование
К дедуктивным подходам решения задач
относится и концептуальное программиро-
вание [7]. Этот метод ориентирован в основном на
решение так называемых вычислительных задач, т. е. за-
дач, которые могут быть сформулированы в следующем
виде.
При заданном описании условий задачи М по значе-
ниям переменных х i, хг,...» хш, удовлетворяющих М, вычис-
лить значения переменных уьуг, ...» уя, также удовлетво-
ряющих М.
Основу концептуального программирования составляет
метод структурного синтеза программ, использующий две
эквивалентные формы представления знаний о задачах:
— формульное представление;
— графовое представление.
При формульном представлении основ-
ными этапами формирования программы решения искомой
задачи являются:
1 — формализация описания условий решаемой
задачи;
2 — построение конструктивного доказательства
существования решения задачи в некоторой
формальной дедуктивной системе;
3 — извлечение программы из полученного доказа-
тельства.
Первый этап, выполняемый пользователем системы,
состоит в представлении описаний условий задачи в виде
так называемых предложений вычислимости, выполняю-
щих роль аксиом и теорем специальной дедуктивной
системы.
В методе структурного синтеза программ используются
70
только предложения вычислимости (аксиомы) следующих
трех видов:
(1) простейшие предложения вычислимости
а -+Ь ,
где а, b — конечные множества переменных или отдель-
ные переменные; f — функция вычислимости, по которой,
зная переменные а, можно вычислить переменные b ;
(2) предложения вычислимости с условием
где Р — формула, выражающая условия, при выполнении
которых возможно вычисление b из а.
Содержательно это означает, что из а можно вычис-
лить b путем применения функции f, если Р истинно;
(3) предложения вычислимости с подзадачей
гдеЗ — квантор существования; и -^у — подзадача; h —
функциональная переменная.
Фактически это предложения вычислимости, когда ус-
ловие вычислимости является задачей в той же дедуктив-
ной системе.
Итак, в методе структурного синтеза программ усло-
вия каждой конкретной задачи задаются в виде специаль-
ной дедуктивной системы, в которой должна доказы-
ваться вычислимость только данной задачи. Это обстоя-
тельство наряду с тем, что в рассматриваемых специаль-
ных теориях используются только приведенные выше ак-
сиомы, по существу, одной ограниченной формы
Г=>а -^Ь ,
где Г — условия применимости, приводит к существенно-
му ограничению перебора при построении доказательства
существования искомой задачи.
Второй этап, состоящий в доказательстве существова-
ния решения задачи, сводится к доказательству существо-
вания некоторой функции /, для которой справедливо вы-
ражение и и, или в формальном виде
3f(uj+v).
(3.5)
71
Для доказательства этого утверждения в данном ме-
тоде вводятся следующие правила вывода:
(О , где select — селектор-функция,
Х (select ху) у выбирающая из набора значений
х значения у;
х/У» У -7>z
(2) 11___—, где (/г, /2) — последовательное
(/» применение функций /2;
х->у, х->-z, w = yVz
Л /2
Г, Г о х -> у
(4) --------f—
v 7 Х-^у
это правило вывода задает выво-
димость при наличии подзадачи Г,
где Г: = pi (w) => х/7>у,
Р* (w) => х^у.
В приведенных правилах в соответствии с логиче-
скими соглашениями над чертой помещаются посылки,
под чертой — логическое заключение.
Третий этап — извлечение программы из доказа-
тельства — при структурном синтезе оказывается доста-
точно простым, так как каждому правилу вывода ставит-
ся в соответствие некоторый оператор(ы) программы.
А именно: первому правилу ставится в соответствие
оператор у: = select(x), второму — операторы у: = f i(x);
z: = f2(y)/ третьему — операторы у: = /> (х), z: =
= /2(у), четвертому — оператор цикла jfpi (w) then у: =
= fi (х) el if ...elif (w) theny: = fk (x) else failureli.
Построенная в результате доказательства теоремы
И f(u-^v) функция f, связывающая и и v, вследствие
существующих соответствий между правилами вывода и
операторами программы представляет собой программу
решения искомой задачи.
При графовом представлении задача
представляется в виде частного класса семантических
сетей — вычислительной сети. Под семантической сетью
72
Рис. 3.1. Фрагмент вычислительной модели для прямоугольного тре-
угольника:
р — периметр, S — площадь, а и b — катеты прямоугольного треугольника,
аир — углы между соответствующими катетами и гипотенузой
обычно понимается [8] сеть, вершинам которой сопостав-
ляются понятия (объекты, свойства, процессы), а дугам —
отношения, существующие между понятиями. При различ-
ных ограничениях на описание вершин и связей получают-
ся сети различного вида — сценарии, фреймы, вычисли-
тельные сети, семантические сети общего вида.
Вычислительные (функциональные) сети, используе-
мые в концептуальном программировании, имеют вид дву-
дольного графа, в котором существуют вершины двух ви-
дов: соответствующие функциям и соответствующие
аргументам и значениям этих функций. Причем значения
одних функций могут выступать как аргументы других
функций и, наоборот, аргументы одной функции могут
выступать как значения других функций. Тогда вывод на
этой сети можно трактовать как нахождение такой
ориентации дуг в вычислительной модели, которая опре-
делит путь, ведущий из исходных вершин в целевую.
Приведем пример простой вычислительной модели
(рис. 3.1) из области решения задач планиметрии. На
рис. 3.1 вершины-прямоугольники соответствуют матема-
тическим функциям из области планиметрии, а верши-
73
ны-круги соответствуют именам параметров, которые
входят в эти функции. Поиск пути в вычислительной
модели происходит в соответствии со стратегией прямой
(от данных к цели) или обратной (от цели к данным)
волны.
Для представления вычислительных моделей в кон-
цептуальном программировании разработан специальный
язык программирования УТОПИСТ, в состав которого
кроме процедурных операторов (типа операторов при-
своения, цикла, условных операторов) введен также опе-
ратор задачи, реализующий непроцедурные формы
решения некоторых классов задач.
Оператор задачи имеет следующий вид:
На 'Z ВЫЧИСЛИТЬ yi,...,ym ПО 'X,X2,...,Xfc, (3,6)
где Z — вычислительная модель; уь у2, ..., у™ — выходные
переменные задачи; xi, х2, ...» х* — входные переменные
задачи.
Чтобы решаемая задача могла быть представлена в
виде оператора, должна быть построена соответствую-
щая вычислительная модель, связывающая входные
переменные с выходными. В более сложных задачах, где
по тем или иным причинам отсутствует соответствующая
вычислительная модель, решение осуществляется про-
граммированием на языке УТОПИСТ алгоритма решения
с помощью операторов процедурного типа.
В состав языка УТОПИСТ входят следующие основ-
ные компоненты: объекты, отношения, операторы, дирек-
тивы. Язык УТОПИСТ позволяет задавать условия
задачи в виде совокупности описаний, каждое из которых
задает абстрактный объект, представленный в ЭВМ
вычислительной моделью. Примерами описаний объ-
ектов являются:
скорость: вещ;
длина вещ;
площадь: вещ;
точка (X, Y, Z: вещ);
точка (X, Y, Z, R, ALPHA, FI : вещ);
урав э|<2 = Х^ э|<2 + Y^|< ^2 + Z^ ^2
урав sin (FIX = Z/R;
урав cos (ALPHA)= X/R;
круг : R: радиус ;
S: площадь;
P: периметр;
D: диаметр;
урав D = 2^R;
74
урав S == pi значение^ R>|< 2;
урав P = 2 >|< pi значение R.
Основными типа отношений являются:
— программные (задаваемые с помощью заранее
отлаженных модулей, хранящихся в библиотеке модулей);
— типа уравнений (задают отношения между веще-
ственными числами);
— типа присваивания;
— условные. Примерами условных отношений могут
служить следующие выражения языка УТОПИСТ:
ЕСЛИ' и 1 BP U2 ТО УРАВ Ul — U2 = I * R,
ЕСЛИТЛ MP'U2 ИЛИТЛ PAB U2 ТО'ПРИСВТ: = О,
где БР, МР означает «больше или равно», «меньше или равно» соответ-
ственно.
В качестве операторов в языке УТОПИСТ
используются оператор задачи для решения некоторых
классов задач без задания алгоритма решения и набор
операторов, совпадающих по функциям с операторами
алгоритмических языков программирования типа ПЛ/1,
ФОРТРАН: операторы присваивания, цикла, вызова, ус-
ловные операторы и т. д.
Директивы — это операторы, предназначенные
для модификации вычислительных моделей. К ним отно-
сятся директивы: ВВЕСТИ, УДАЛИТЬ и ПО. Например,
ВВЕСТИ, 'РЕЗИСТОР В 'ЦЕПИ; УДАЛИТЬ 'ЦЕПИ;
Программа на языке УТОПИСТ состоит из фрагмен-
тов, которыми служат описания данных и действия.
Описание данных начинается словом пусть, за
которым следуют описания, представляющие условия за-
дачи. Действия начинаются словом действия,
за которым следуют операторы и управляющие предложе-
ния. Описания данных и действия в программе могут
чередоваться. Начало и конец программы обозначены
заголовком Программа (идентификатор ) и словом КО-
НЕЦ.
Приведем пример программы на языке УТОПИСТ:
ПРОГРАММА #1
ПУСТЬ
X, У, Z : вещ;
урав X -|- Y = 2,5;
урав Z = X —У;
Действия
на # 1 вычислить Z по X ;
КОНЕЦ.
75
Концептуальное программирование и реализованная с
помощью этого подхода система ПРИЗ ЕС ориентирова-
ны в основном на прикладного программиста. Более
того, технология использования ПРИЗ ЕС требует нали-
чия в составе пользователей системного программиста,
так как пользователь не освобождается от знания
ОС ЕС. В частности, он должен быть знаком с языком
управления заданий ОС ЕС.
Следует отметить также, что даже в том случае,
если решаемая задача может быть представлена в виде
оператора задачи, пользователь должен знать идентифи-
каторы всех понятий, используемых в данной вычисли-
тельной модели, т. е. знать имена всех входных и выход-
ных переменных модулей, используемых в данном пакете
программ, так как они явным образом появляются в
описании данных. Эти идентификаторы уникальны. При
большом объеме используемых вычислительных моделей
такое детализированное знание может стать источником
ошибок.
В последующих работах авторов концептуального
программирования предприняты попытки преодоления
отмеченных недостатков с помощью организации режима
диалоговой отладки вычислительных моделей.
3.3 ДСМ-метод*
Кроме дедуктивных схем рассуждений че-
ловек при решении задач часто использует индуктивные
или в более общем случае правдоподобные схемы рас-
суждений, которые позволяют ему, в частности, порож-
дать индуктивные обобщения из имеющихся частных
утверждений. Напомним, что под правдоподобными выво-
дами понимаются обычно выводы из истинных посылок,
заключения которых не обязательно являются истинными
высказываниями, в отличие от дедуктивных выводов, где
из истинных посылок получаются только истинные значе
ния. Правдоподобные выводы разделяются на индуктив-
ные (от частного к общему) и традуктивные (от частного
к частному).
Правдоподобные схемы рассуждения реализуются
пока только в экспериментальных вариантах решателей.
Обычно различают два подхода к развитию механизмов
* ДСМ — это инициалы известного логика Д. С. Милля, работы
которого по индуктивным схемам рассуждения в значительной степени
повлияли на создание описываемого метода.
76
правдоподобного вывода: вероятностный и детерми-
нистский.
Среди вероятностных подходов следует
отметить работу П. Гаека, Т. Гавранека [9], разработав-
ших GUHA-метод автоматического порождения гипо-
тез, сочетающий правила правдоподобных выводов с
аппаратом математической статистики, а также исследо-
вания Р. Карнапа и Я. Хинтикки по вероятностной логи-
ке [10], в которой логическое следование трактуется как
понятие индуктивной вероятности.
Среди детерминистских подходов к раз-
работке правдоподобной схемы рассуждения следует
прежде всего, отметить работы В. К. Финна и его коллег
по созданию ДСМ-метода [11, 12].
• ДСМ-метод формализует и существенно развивает
схемы индуктивных рассуждений, предложенные Д. С. Мил-
лем: методы сходства, различия, остатков и сопутствую-
щих изменений.
Постановка задачи в ДСМ-методе такова [12]. Пусть
имеется открытое множество экспериментальных фактов
(элементарных высказываний) и множество аксиом дан-
ной предметной области. Первое множество условно назы-
вается базой данных с неполной информацией (БДНИ),
а второе — базой знаний (БЗ). Точнее, под БДНИ пони-
мается база данных, где существуют высказывания, кото-
рым невозможно приписать логическое значение «истина»
или «ложь». Для таких высказываний вводятся истинност-
ные значения «эмпирическая противоречивость» и «неоп-
ределенность». Предполагается, что в простых случаях
неполноту базы данных можно устранить с помощью
высказываний, имеющихся в БЗ. Однако в более общем
случае необходимо расширение (пополнение) БЗ путем
обработки имеющихся экспериментальных фактов. Дан-
ная задача решается с помощью специально, разработан-
ных правил правдоподобного вывода, которые формули-
руются так, что для каждого вывода одновременно строит-
ся неколичественная оценка его качества — степень прав-
доподобия. В качестве БДНИ используется один из вари-
антов реляционной модели БД (см. гл. 2), в которой
отношения определены лишь частично.
Схему функционирования решателя можно представ-
лять следующим образом. Первоначально с помощью
правил правдоподобного вывода достраивается БДНИ.
Далее построенная БДНИ корректируется путем проверки
77
на непротиворечивость с заданными фрагментами БЗь
При этом предполагается, что в составе Б31 содержатся
как аксиомы, определяющие структуры данных (БЗк), так
и аксиомы, описывающие декларативные знания о данной
предметной области (Б31д). И наконец, путем дополнения
индуктивными обобщениями об эмпирических зависимос-
тях и закономерностях достраивается часть базы зна-
ний — БЗгд.
Приведенная схема описывает один шаг работы ДСМ-
решателя. Полученное на данном шаге расширение БДНИ,
а также пополнение базы знаний используется на после-
дующих шагах правдоподобного вывода наряду с перво-
начально заданными экспериментальными фактами и
знаниями.
Чтобы выводы в ДСМ-методе имели детерминистский
характер, на данные наложены определенные ограниче-
ния. Эти ограничения приводят к тому, что основным
при построении правдоподобного вывода является на-
хождение существенного в структуре объектов, т. е. при-
чин явлений, а не частотность возникновения тех
или иных свойств используемого явления. К этим ограниче-
ниям относятся:
1) данные должны быть нечисловыми и хорошо
структурированными, т. е. исходные объекты должны
обладать некоторой структурой;
2) информация о данных должна быть неполной, т. е.
не полно множество аксиом, характеризующих предмет-
ную область;
3) база фактов должна иметь скрытые эксперименталь-
ные зависимости, характеризующиеся так называемой
квазисимметрией, как положительной, так отрицатель-
ной. Это означает, что в массиве фактов существуют
эмпирические корреляции событий, причем существуют
как причины наличия корреляций (положительные при-
чины), так и причины отсутствия корреляций (отрица-
тельные причины).
Перечисленным ограничениям удовлетворяет ряд за-
дач таких естественных наук, как биология, медицина,
фармакология, биохимия, геология, а также некоторый
класс задач технической диагностики и управления.
В ДСМ-методе были разработаны:
1) язык, представляющий собой расширение языка
исчисления предикатов первого порядка;
2) множество правил правдоподбного вывода (ППВ),
на которых задана некоторая организация;
78
3) способы управления применениями правил правдо-
подобного вывода — стратегии.
1. Расширение языка исчисления
предикатов первого порядка состоит:
— во введении многозначности вследствие неполноты
исходной информации, а именно: кроме значений 1 —
«истина», — 1 — «ложь» вводятся еще истинностные зна-
чения 0 — «эмпирическая противоречивость» и т —
«неопределенность»;
— во введении формул с кванторами по кортежам
переменной длины. Под кванторами понимаются кванто-
ры существования и всеобщности.
Состояние базы данных с неполной информацией за-
дается матрицами М|п) и МР частично определенных
отношений и которым соответствуют преди-
каты =>i и =>2, имеющие интерпретации «обладать мно-
жеством свойств» и «быть причиной наличия (или отсут-
ствия) множеств свойств» соответственно. Тогда выра-
жение Х(1) Y(2) читается как «объект Х(1) обладает
множеством свойств Y(2)», а выражение X(l)=^2Y(2) —
как «объект Хо) есть причина наличия (отсутствия)
множеств свойств Y(2)».
Для матрицы Mfn) общим членом является vz/ =
= <vz/, n), Vij E {1, 0; —1} и vq = (т, n). Для матрицы MS
общим членом является pz/= п), g {1,0,—1} или
pz/ = (т, п), где n — номер шага (число применений
правил правдоподобного вывода); 1,0, — 1, т — истин-
ностные значения. Величины v£/ и полагаются равными
1,—1,0, т в соответствии с истинностью, ложностью,
эмпирической противоречивостью или неопределенностью
атомарных высказываний Q A,, h = 1, 2, где С,, А/ —
имена некоторой строки и столбца матрицы соответст-
венно.
Процесс пополнения базы данных является итератив-
ным и осуществляется через заполнение матриц M£(rt),
/=1,2. К начальной матрице М\0) применяются ППВ
I рода, результатом чего является означивание атомар-
ных высказываний C/^Aj, для которых оценка ц£/=
= (т, 0), т. е. для которых существует оценка «эмпириче-
ская противоречивость». Тем самым получается состоя-
ние матрицы Мг. Затем к матрице Мг применяются
ППВ II рода для доопределения значений vz/ = (т, п).
Иными словами, с помощью матрицы Mi(n) и ППВ I рода
конструируется матрица а, в свою очередь, с
помощью матрицы М^п + 1) и ППВ II рода конструируется
79
матрица М/п + 2), т. е. истинностные значения vij и по-
рождаются процедурно с помощью специальных ППВ I и
II рода.
2. Как отмечалось выше, одним из требований к дан-
ным, существующим в ДСМ-методе, является обязатель-
ность присутствия в данных в скрытой форме причин как
наличия экспериментальных зависимостей, так и их от-
сутствия. В соответствии с этим множество методов
поиска экспериментальных зависимостей делится на два
класса М+ и М”. Методы М+ предназначены для поис-
ка причин наличия свойств Y(2) у объектов и поиска объ-
ектов Х(1), обладающих свойствами Y(2). Методы М”
предназначены для поиска объектов, являющихся причи-
ной отсутствия свойств Y(2), и для построения объектов
Х(1), не обладающих свойствами Y(2).
Правила правдоподобного вывода I рода, доопреде-
ляющие отношение =>2, предназначены для поиска и из-
влечения экспериментальных зависимостей, заложенных
в БДНИ. Они представляют собой, по существу, различ-
ные модификации отрицательных и положительных мето-
дов сходства, родственных методу сходства-различий
Д. С. Милля. Правила правдоподобного вывода II рода,
доопределяющие отношение =^i, предназначены для
переноса обнаруженных экспериментальных зависимос-
тей на случаи недоопределенности и основаны на форма-
лизации некоторых форм аналогий.
3. Так как в рассматриваемом методе существует
набор различных ППВ, то конкретная процедура уста-
новления связи Х(1) =>н Y(2), h = 1, 2, или ее опроверже-
ния зависит от последовательности использования этих
ППВ. Каждая такая последовательность образует неко-
торую стратегию метода. В качестве стратегий, в част-
ности, используются:
1) монотонные и немонотонные стратегии. Под моно-
тонной понимается стратегия, обладающая свойст-
вом сохранения истинностных оценок. Если на
некотором шаге процедуры пара <X(,)Y(2)> полу-
чает истинностную оценку <е,и) и на последующих
шагах она не пересматривается, то стратегия мо-
нотонна. В противном случае она немонотонна;
2) прямые и обратные стратегии: от причин к след-
ствию и от следствия к причинам.
Одной из важных задач, стоящей в настоящее время
перед разработчиками ДСМ-метода, является апробация
метода на представительных классах задач.
80
3.4 Метод программируемых доказательств
Метод основан на представлении процесса
поиска решение задачи в терминах пространства поиска,
когда решение задачи ищется в виде некоторого пути
в пространстве поиска, удовлетворяющего определенным
условиям [13]. Поясним понятие пространства поиска
через известное понятие исчисления (см. § 3.1). Пусть
имеется некоторое множество исходных объектов Qi и
множество правил построения новых объектов из исходных
и уже построенных Q2. Тогда под пространством поиска
(ПП) понимается множество возможных построений но-
вых объектов, задаваемых множествами Qi и Q2. Харак-
терными особенностями ПП являются большая размер-
ность и относительная равномерность. Последнее означа-
ет, что любая точка ПП с одинаковой вероятностью при-
надлежит решению задачи.
Для эффективного решения задач необходимо реду-
цировать ПП к некоторому определенному фрагменту,
во-первых, содержащему решение и, во-вторых, обладаю-
щему небольшой размерностью, сравнимой с размерно-
стью решения.
Описываемый метод предполагает, что пользователь
может изменять аксиоматику (множество правил постро-
ения) ПП. Кроме того, предполагается, что пользователь
может выделять различные фрагменты ПП, которые, по его
представлению содержат решение.
Описываемый подход для поиска решения задач не тре-
бует априорного понимания решения в целом — достаточ-
но представлять лишь некоторый начальный фрагмент
пространства поиска, который заведомо содержит часть
решения. По мере накопления знаний уточняется как все
ПП, так и фрагмент, содержащий решение.
Правилами построения новых объектов в методе
(аксиомами) являются продукции вида:
ЕСЛИ < условно, ТО <действие>. (3.7)
а решение задачи состоит в том, чтобы построить такую
структуру из этих продукций, что примененная к началь-
ным условиям, она порождает окончательное решение.
Основная трудность при решении задач и состоит в том,
чтобы построить искомую структуру. Задача специалиста,
решающего задачи подобного типа, состоит в мысленном
проведении экспериментов по синтезу структуры из аксиом
(3.7), в процессе которых происходит перестройка аксиом
решения, добавление новых элементов, устранение лиш-
6—1369
81
них, переформулирование и переоценка промежуточных
шагов решения (подцелей). Таким образом, задача
специалиста сводится к эффективной редукции глобаль-
ного перебора к некоторому набору локальных с использо-
ванием результатов промежуточных шагов. В описывае-
мом подходе локальный перебор реализуется решателем
с помощью некоторых переборных процедур, например
вглубь, вширь и т. д. Взаимодействие и чередование пере-
борных процедур задаются стратегиями поиска решения,
например резолюционными стратегиями поиска опровер-
жения (см. § 3.1), позволяющими ограничивать пере-
бор ПП и сводить его к анализу некоторого фрагмента.
Так как решение каждой задачи сводится к дости-
жению некоторых ключевых промежуточных подцелей и
для каждой из них требуется своя форма перебора, воз-
никает необходимость в процессе одного решения варьи-
ровать различные стратегии поиска. При этом априорно
не всегда ясно, какую стратегию использовать для дости-
жения той или иной промежуточной цели. Таким обра-
зом, естественно требовать, чтобы последовательность
используемых стратегий задавалась в качестве входного
параметра как некая последовательность команд специ-
ального языка управления решением (ЯУР), имеющего
следующие основные особенности:
— наличие средств для реализации различных спо-
собов перебора;
— возможность описания разнообразных стратегий
поиска решения;
— возможность обеспечения прерывания в процессе
поиска для анализа полученного решения.
Решение задач должно получаться в результате ак-
тивного диалога пользователя с ЭВМ, поэтому в составе
решателя, реализующего метод, необходимо наличие
средств отображения и анализа промежуточного и окон-
чательного решений. При этом отображение решения
должно происходить в тех же или близких терминах, в
которых формулировалась задача, а анализ позволял бы
делать выводы об интересующих пользователя свойствах
этого решения. Кроме того, уместно требовать, чтобы
всю возможную пояснительную работу ЭВМ брала на
себя. Например, если происходит поиск доказательства
в некоторой теории, то полученное частичное доказатель-
ство в виде набора строк на формальном языке малоин-
формативно для пользователя, если не снабдить его
пояснением того, из каких посылок получено каждое
82
утверждение, и не привести естественно-языковую интер-
претацию каждой формальной конструкции.
Рассмотрим кратко метод поиска решения, предла-
гаемый в описываемой концепции. Согласно принятой
концепции, поиск решения интерпретируется как построе-
ние вывода в некотором прикладном исчислении предика-
тов (ПИП) (см. § 3.1). К особенностям ПИП следует
отнести различные формы задания функций и предика-
тов — процедурные и декларативные — и несколько бо-
лее развитый аппарат работы с объектами.
Процесс доказательства осуществляется с использо-
ванием фиксированных правил вывода под управлением
программы на ЯУР, которая выполняется в режиме ин-
терпретации. В качестве основных приемов, используе-
мых при поиске доказательства, можно выделить унифи-
кацию и вычисление значений вычисляемых функций и
предикатов.
На вход логического решателя, реализующего описы-
ваемый метод, поступает информация, состоящая из
начальных условий, аксиоматики и набора стратегий
поиска. Под начальными условиями понимается инфор-
мация, описывающая исходную ситуацию задачи. Аксио-
матика описывает пространство поиска и задается вы-
ражениями типа (3.7) и правилами, аналогичными пра-
вилам контекстно-свободных грамматик:
а----(3.8)
где а, р — слова в определенном алфавите.
В процессе реализации той или иной стратегии поиска
с помощью фиксированных правил строится некоторый
вывод из начальных условий с использованием аксиома-
тики. Все его промежуточные шаги представляют собой
фрагмент пространства поиска, который формируется
в соответствии со входом. Вывод заносится в динами-
ческую базу данных (ДБД), представляющих собой БД
реляционного типа. Состояние ДБД является адекватным
отображением наброска решения или полного решения,
полученного к определенному моменту.
Пространство поиска или ДБД, которая в каждый
момент содержит некоторый фрагмент пространства по-
иска, реализуется многоместными таблицами. Суть пере-
бора в ПП заключается в проверке условий в продукциях
(3.7) и в случае их выполнения — реализации соответ-
ствующих действий или в замене одного или нескольких
6*
83
подслов другими словами в случае использования правил
(3.8).
Для использования метода программируемых доказа-
тельств разработаны два языка: язык LANGIN для пред-
ставления аксиоматики, начальных условий и правил вы-
вода и язык управления решением (ЯУР) для представ-
ления и управления стратегиями поиска решения.
Язык LANGIN — язык отношений, функций, индивид-
ных констант и переменных. Основой его является язык
расширенного исчисления предикатов первого порядка
(РИП). Синтаксис языка LANGIN включает в себя сле-
дующие средства описания: объектов (т. е. индивидных
констант), переменных (индивидных), функций, пре-
дикатов.
Кратко опишем синтаксис и семантику правильных
конструкций языка LANGIN.
Под объектами понимаются индивидные кон-
станты, однозначно определяемые сортом и именем.
Имя — это произвольная последовательность символов.
Под сортом понимается имя класса объектов. Индивид-
ные переменные используются для обозначения аргумен-
тов в предикатах, функциях и других правильных кон-
струкциях языка.
Объекты имеют формат
(С((имя сорта)/(имя объекта))),
а переменные — формат
((имя сорта)/(имя переменной)).
Например, константу «сопротивление R1» можно
представить в виде (C(RES/R1)), а переменную для
обозначения сопротивлений — в виде (RES/X).
Функции делятся на вычисляемые и символические.
Вычисляемые функции обладают свойством получать но-
вые значения по значениям аргументов. Поэтому каждая
вычисляемая функция определяет имя некоторой проце-
дуры, которая по значениям ее аргументов вычисляет но-
вое значение, являющееся значением функции.
Назначение символических функций состоит в том,
чтобы единообразно представлять сложные объекты (де-
ревья, стеки и т. д.), возникающие в процессе поиска ре-
шения, т. е. так или иначе отображать пространство
поиска.
Функции имеют формат
(Е((имя функции)) (арг. 1) (арг. 2)...(арг. п>).
84
Предикаты соответственно функциям также делятся
на вычисляемые и символические. По реализации вычис-
ляемые предикаты не отличаются от вычисляемых функ-
ций. Каждому вычисляемому предикату соответствует
единственная процедура. Символические предикаты ис-
пользуются не для представления объектов пространства
поиска, а для фиксирования отношений между ними.
Они задаются многоместными таблицами. Все таблицы,
реализующие символические предикаты, включаются в
ДБД. Символические предикаты не определяются пол-
ностью, и процесс поиска решения состоит в таком их
доопределении, при котором можно установить интере-
сующие пользователя свойства пространства поиска.
Формат предикатов:
(Р((имя предиката)) (арг. 1)<арг. 2)...(арг. п>).
Логические формулы строятся из конструкций, разре-
шенных в языке РИП с использованием обычных логиче-
ских связок и кванторов.
В терминах языка LANGIN каждая аксиома исчис-
ления имеет вид продукции:
Г, Fi->F2, (3.9)
где Г = Pi V Р2 V ••• V Р«, Рь Рг, ...» Рл — символические
предикаты; Fi — произвольная логическая формула, со-
стоящая только из вычисляемых предикатов; F2 — логи-
ческая формула, содержащая предикаты обоих типов.
Выражение Г задает условия применимости аксиомы.
Процесс вывода сводится к унификации части формулы Г
с условиями задачи (или с полученной частью решения)
и к вычислению логического значения формулы Fi. Если
Fi — «истина», то F2 записывается в ДБД.
Начальные условия задачи задаются символическими
предикатами.
Язык управления решениями является основой меха-
низма управления стратегиями поиска решений, который
представляет собой метасредство по отношению к фор-
мализму выбранного исчисления. Фиксируя исчисление,
т. е. аксиомы и правила вывода, на эффективность реше-
ния задач можно воздействовать изменяя стратегии
поиска и управляя тем самым процессом перебора.
В рассматриваемом подходе управление процессом пере-
бора осуществляется пользователем, компонующим из
фрагментов целостное решение.
Все операторы языка управления решениями делятся
85
на директивные, переборные и управляющие. Дирек-
тивные операторы преобразуют содержимое
ДБД, т. е. осуществляют ввод новой информации, моди-
фицируют или удаляют уже имеющуюся информацию.
Переборные операторы предназначены для порож-
дения фрагментов пространства поиска путем генерации
части пространства, содержащей решение искомой зада-
чи. В каждом переборном операторе содержится указа-
ние на то, какйё аксиомы исчисления им используются
для порождения новых точек пространства поиска. С по-
мощью переборных операторов пользователь может ме-
нять аксиомы и стратегии, в процессе поиска постепенно
«нащупывая» путь решения. Управляющие опе-
раторы — это операторы условного, безусловного пе-
реходов и операторы модификации условий.
3.5 Интегральный подход к решению задачи
Если человек сталкивается со сложной за-
дачей, он интуитивно выбирает подходящий набор
средств для ее решения. В отличие от этого большинство
решателей обычно используют какой-то один метод.
Рассмотрим подход, основанный на взаимодействии
различных средств (методов), применяемых к решению
задач одного и того же класса или пересекающихся
классов [14]. К этим средствам относятся средства (ме-
тод) программируемых доказательств, средства концеп-
туального решателя и средства базового решателя, не-
посредственно взаимодействующего с прикладными про-
граммными модулями. Функциональная схема взаимодей-
ствия средств представлена на рис. 3.2. Средства про-
граммируемых доказательств — логический реша-
тель— рассмотрены в § 3.4, здесь же остановимся на
двух последних.
Средства концептуального решателя
основаны на представлении знаний в виде структурирован-
ных семантических сетей и их частного случая — функ-
циональных сетей, представляющих собой аналоги вычис-
лительных моделей, описанных в § 3.2. В качестве схем
рассуждения используются эвристические дедуктивные
схемы.
Основу построения концептуального решателя состав-
ляет концепция разбиения пространства поиска (ПП)
решения на отдельные подобласти, соответствующие
классам и подклассам решаемых задач, дальнейшая
86
Системный аналитик
Условия
Конечный подзадачи
решений
Логический План
решатель решения
задачи
Рис. 3.2. Схема взаимодействия решателей различных типов
структуризация и упорядочивание информации в этих
областях. Результатом процесса структуризации является
построение моделей функциональных зависимостей
(МФЗ), представляющих собой функциональные сети,
и упорядочение информации в них по отношению вхож-
дения.
Под функциональной зависимостью (подзадачей) по-
нимается некоторое соотношение, связывающее одни
параметры с другими. Предполагается, что всегда су-
ществует прикладная программа (или совокупность
программ) вычисления требуемого параметра через дру-
гие. Естественно, что в простых случаях программы явно
не пишутся, а нахождение соответствующих параметров
осуществляется стандартными средствами, языка про-
граммирования. Процесс построения МФЗ может проис-
ходить априори, до начала решения задачи. В более
общем случае этот процесс является частью формализо-
ванной схемы рассуждения.
• Структуризация ПП на базе функциональных зависи-
мостей позволяет решателю оперировать только с адек-
ватной информацией и резко уменьшает перебор при
поиске решения.
Однако априорная детальная структуризация ПП
имеет и отрицательные последствия, так как в пределе
означает построение исчерпывающего графа возможных
решений. Поэтому в реальных случаях всегда существует
87
дилемма, какую часть ПП следует отражать декларатив-
но в виде априорно построенной концептуальной модели,
а какую часть необходимо строить процедурно с по-
мощью схемы рассуждения. Оптимальное решение этой
дилеммы зависит от класса решаемых задач и определяет
эффективность функционирования решателя.
Для повышения эффективности функционирования ре-
шателя схема рассуждения в рассматриваемом подходе
строится как перестраиваемая, реализующая различные
стратегии рассуждения в зависимости от класса решае-
мых задач. В качестве стратегий рассуждения исполь-
зуются, в частности, стратегии прямой и обратной волны
(поиск от данных и поиск от цели соответственно), стра-
тегия двунаправленного поиска и т. д. Основой пере-
страиваемой схемы рассуждения является некоторое ба-
зовое множество элементарных операторов рассуждений,
позволяющих генерировать различные схемы рассужде-
ния. К этому множеству относятся операторы сравнения
высказываний и контекстов, представимых как совокуп-
ность высказываний, операторы поиска определенного
объекта или отношения, операторы добавления и удале-
ния определенного объекта или отношения в описании
ситуации и т. д. Мощность множества базовых операто-
ров зависит от класса реализуемых схем рассуждений
(стратегий решений) и обычно не превышает величину
порядка нескольких десятков.
Перестройку схемы рассуждения и выбор стратегии
поиска осуществляет пользователь — системный
аналитик. Эти функции составляют основу совмест-
ного решения задачи человеком и ЭВМ. Кроме того, в ре-
жиме диалога между пользователем и ЭВМ пользователь
может переформулировать и уточнять условия задачи,
вносить новые факты и закономерности (функциональ-
ные зависимости). Таким образом, при описываемом
подходе наиболее вероятно автоматическое решение
простых задач, при решении сложных задач определение
глобального направления поиска и компоновка локаль-
ных решений в глобальные остается в функции пользо-
вателя, а система определяет возможные варианты фраг-
ментов решения (локальные решения).
Кроме функциональных моделей в состав концеп-
туального решателя входит также концептуальная мо-
дель предметной области, которую задают подключенные
к системе прикладные модули (рис. 3.2). Эта
модель, используемая для семантической интерпретации
88
понятий, входящих в функциональные модели, содержит
описания используемых прйкладными модулями понятий
и связи (отношения), существующие между этими опи-
саниями.
Рассмотрим кратко функционирование концеп-
туального решателя при решении простых за-
дач, когда схема рассуждения может быть фиксирована,
а ПП заранее достаточно детально структурировано,
т. е. заранее построена модель функциональных зависи-
мостей (функциональная модель) для заданного класса
задач. Пусть в качестве поиска используется широко
распространенная обратная стратегия «слева направо,
сначала в глубину» (см. §3.1). В этом случае поиск
решения осуществляется от неизвестных параметров,
заданных в условиях решаемой задачи. Поиск происхо-
дит на модели функциональных зависимостей, что экви-
валентно процедуре поиска на неориентированном графе
подзадач И/ИЛИ, узлами которого служат вершины
типа И и ИЛИ, соответствующие описаниям конъюнктив-
ных и дизъюнктивных подзадач для данной родительской
задачи.
Первоначально происходит отбор тех функциональных
зависимостей (ФЗ), в параметры которых входят неиз-
вестные из искомой задачи. Далее происходит опробова-
ние выбранных кандидатов — функциональных зависи-
мостей, т. е. сопоставление условий применимости ФЗ
с условиями исходной задачи. При успешном исходе за-
дача считается решенной, при неуспешном — осуществ-
ляется переход вглубь по функциональной модели начи-
ная с первой левой ФЗ. Этот переход порождает новые
неизвестные параметры — подцели. Процесс интеративно
продолжается либо до получения нужного результата,
либо до прерывания, после которого построенное дерево
поиска через блок пояснения решений пред-
ставляется пользователю для анализа. В результате ус-
пешного функционирования концептуального решателя
на его выходе формируется план решения искомой зада-
чи L/, представляющей собой частично упорядоченную
совокупность подзадач:
и = {(ФЗь <Р.>), (Ф32, <Р2>), ..., (ФЗ,, <Р,>)},
(3.10)
где Lf— план решения задачи; (ФЗ,<Р/>) —подза-
дача; ФЗ/, /=1,й,— функциональные зависимости;
89
Ptc=P, i= ТГ&, — подмножество параметров; P — мно-
жество параметров.
Базовый решатель в описываемом подходе
может функционировать в двух режимах: 1) как нижний
уровень концептуального решателя (рис. 3.2); 2) авто-
номно.
В первом режиме на его вход поступает план решения
задачи [см. (3.10)], во втором режиме — условия под-
задачи, выражаемые на анкетно-форматном языке не-
процедурного типа, причем первый режим является част-
ным случаем второго.
Базовый решатель обеспечивает решение более про-
стых задач, чем концептуальный и логический решатели.
Точнее, он ориентирован на решение элементарных задач,
т. е. задач, которые на концептуальном уровне не могут
быть представлены совокупностью каких-либо других за-
дач. Кроме того, поскольку этот решатель осуществляет
функции интерфейса с прикладными программными мо-
дулями, то он обеспечивает независимость решателя от
языков программирования, на которых написаны при-
кладные модули, и содержит средства, существенно
облегчающие пользователю — системному аналитику —
процесс написания управляющих программ для приклад-
ных модулей. Таким образом, основными функциями ре-
шателя нижнего уровня являются следующие:
— отображение правильных конструкций анкетно-
форматного языка, задающих условия задачи, на вход-
ной язык управляющей программы;
— преобразование данных к формату, определяемому
атрибутами списка параметров вызываемого прикладного
модуля;
— передача управления и данных прикладным моду-
лям (или модулю), решающим требуемую задачу;
— возврат управления и данных в управляющую
программу;
— преобразование результатов решения задачи к
стандартному виду и передача их пользователю.
Входной текст на анкетно-форматном языке (АФЯ)
состоит из совокупности предложений, которые можно
разделить на три раздела: императивный (задается
символом А), декларативный (задается символом D) и
дополнительный (задается символом R). И м п е р а-
90
тивный раздел служит для описания подзадачи
(целевого условия), декларативный — для описа-
ния данных, а дополнительный — для уточнения
формулировки подзадачи, указания простых операций и
предпочтительного метода решения. Предложения АФЯ
состоят из фрагментов, которые, в свою очередь, состоят
из лексем, являющихся простейшими конструкциями
АФЯ.
Процесс отображения конструкций АФЯ, задающих
условия задачи в виде императивного и декларативного
разделов, на входной язык управляющей программы осу-
ществляется последовательно в два этапа. Первоначаль-
но на основании информации, содержащейся в импера-
тивном разделе, находится подмножество процедур, кото-
рые могут удовлетворять целевому условию. Затем каждая
из процедур на основании информации, содержащейся в
декларативной секции, проверяется на адекватность ис-
комой задаче. При положительном исходе определяется
конкретная точка входа для соответствующей управляю-
щей программы.
В рассматриваемом подходе под управлением базо-
вого решателя могут функционировать одновременно
несколько библиотек (пакетов) прикладных программ, не
обязательно написанных на одном языке программирова-
ния. Такое функционирование существенно расширяет
возможности решателя, ибо очевидно, что с помощью
совместного использования различных пакетов программ
можно решать значительно более представительный
класс задач по сравнению со случаем, когда каждый па-
кет используется отдельно.
Кроме реализации принципа синергизма (т. е. взаи-
модействия различных средств), значение которого, как
представляется, будет возрастать при автоматизации ре-
шения сложных плохо формализуемых задач, интег-
ральный подход создает благоприятные возмож-
ности для интеграции новой технологии решения задач
(возникшей при разработке систем искусственного ин-
теллекта) с такими стандартными средствами традицион-
ной технологии решения пользовательских задач на
ЭВМ, как использование пакетов прикладных программ
и использование возможностей развитого диалогового
режима отладки и редактирования программ современ-
ных операционных систем. А успехи интеграции решаю-
щим образом влияют на появление промышленных вер-
сий решателей.
91
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
3.1. Назовите основные подходы к построению решателей задач конеч-
ного пользователя.
3.2. Что такое дедуктивная система (исчисление) ?
3.3. Сформулируйте основные этапы решения задач, определяемые
методом структурного синтеза программ.
3.4. Дайте определение дизъюнктам Хорна.
3.5. В чем отличие правдоподобных (индуктивных) выводов от дедук-
тивных?
3.6. Дайте определение пространства поиска решения.
3.7. Что такое продукция?
Глава
Общение
с вычислительными системами
на естественном языке
4.1 Структура системы общения
Обработка естественного языка (ЕЯ) с по-
мощью вычислительных машин привлекала внимание со
времени создания ЭВМ. Первоначально были написаны
программы построения словарей, указателей и т. п. Так
родилось нелингвистическое направление в
машинной обработке ЕЯ, при котором обработка велась
безотносительно к лингвистической структуре текста и
его значению. Развитие этого направления привело к
созданию систем машинного документирования, редакти-
рования и набора различных печатных материалов.
Позже возникло предположение, что с помощью ЭВМ
можно выполнять переводы с одного естественного язы-
ка на другой. Создание систем машинного перевода
(МП) положило основу лингвистического на-
правления в обработке ЕЯ. При этом программы рабо-
тали так, как будто они «понимали» вводимые в ЭВМ
предложения. В области МП построено множество по-
лезных теорий, методов, схем и экспериментальных сис-
тем. История развития МП одновременно показала слож-
ность поставленных целей и недостаточность разрабо-
танных теорий и методов перевода. После периода от-
носительного забвения МП вновь привлекает внимание
исследователей.
В начале 60-х годов стали появляться программы
взаимодействия с вычислительными системами (ВС) на
языке, близком к естественному. Было положено начало
психолингвистическому направлению обра-
ботки ЕЯ. При создании систем общения на ЕЯ требова-
лось учитывать не только лингвистику текста (как в
МП), но и психологию общения. Интерес к подобным
системам общения (их часто называют ЕЯ-интерфейса-
93
ми) непрерывно возрастал по мере развития прикладных
интеллектуальных ВС. Сейчас построено большое число
экспериментальных систем общения на подмножествах ЕЯ
и ряд промышленных ЕЯ-интерфейсов (в основном для си-
стем доступа к базам данных). Однако еще нет единой тео-
рии, позволяющей создавать мощные и гибкие ЕЯ-интер-
фейсы, легко приспосабливаемые (адаптируемые) к раз-
личным ВС и прикладным областям.
В существующих средствах общения пользователей с
ВС широко применяются регламентированные языки.
Наиболее известные из них языки «меню», анкетные язы-
ки и языки признаков-инструкций.
Для языков типа «меню» схема процесса
общения приблизительно следующая. Пользователь,
включив систему, вводит сообщение, в ответ на которое
система высвечивает на экране дисплея одно из «меню»,
хранящихся в памяти. Это «меню» обычно представляет
собой перечень пронумерованных вариантов возможных
действий ВС. Выбрав определенный вариант, пользова-
тель вводит его номер, на что система высвечивает дру-
гое «меню». Процесс общения продолжается до тех пор,
пока пользователь не получит интересующие его резуль-
таты работы ВС или система не ответит, что необходи-
мые для пользователя действия она выполнить не мо-
жет. Фрагмент общения пользователя-врача (П) с меди-
цинской экспертной системой (ЭС) посредством «меню»
приведен на рис. 4.1.
Для анкетных языков схема процесса обще-
ния следующая. Пользователь на каждом шаге общения
заполняет интересующими его данными соответствующие
графы анкеты, высвеченной на дисплее. Каждая графа
анкеты предназначена для строго определенной информа-
ции. После считывания частично или полностью запол-
ненной анкеты система либо высвечивает другую анкету,
либо передает промаркированные даннце ВС. В свою
очередь ВС, проанализировав введенную пользователем
информацию, выдает результаты работы. Пример анкеты
для общения с информационно-поисковой системой при-
веден на рис. 4.2.
Совершенно очевидно, что системы общения, основан-
ные на «меню» или анкетах, обеспечивают лишь жест-
кий, заранее запланированный и заложенный в память
системы сценарий общения. Этот сценарий может быть и
многовариантным. Выбор той или иной его реализации
зависит от ответов, даваемых пользователем на запросы
94
П: Требуется помощь.
ЭС: Сообщите, какой из следующих случаев вас интересует:
1 Диагностика.
2 .Назначение системы.
З.Совет.
П:Г
ЭС: Находится ли больной в состоянии комы?
1-Да.
2. Нет.
Сообщите, какой из этих случаев имеет место.
П:2.
ЭС: ................................................
Рис. 4.1. Фрагмент общения пользователя-врача с
медицинской ЭС посредством «меню»
ИНФОРМАЦИОННО-ПОИСКОВАЯ СИСТЕМА
"КОНСУЛ*'
По данной анкете Вы можете запросить в базе данных любую информацию
о приведенных ниже параметрах. Как известные параметры, так и пара-
метр (ры) поиска проставляются напротив соответствующих граф. Параметр
поиска идентифицируется знаком
Фамилия..........................
Имя..............................
Отчество.........................
Дата рождения....................
Место рождения...................
Пол..............................
Семейное положение...............
Домашний адрес...................
Образование......................
Должность........................
Подразделение....................
Оклад............................
Гриднев
Александр
Алексеевич
9
"сотрудник"
Рис. 4.2. Пример анкеты для общения с информационно-поисковой
системой, содержащей кадровую информацию
системы. Но инициатива здесь закреплена только за сис-
темой общения.
Для языков приказов-инструкций ини-
циатива и сценарий общения полностью находятся в
руках пользователя. Примерами инструкций могут слу-
жить такие приказы, как «Ввести в память», «Напеча-
95
тать», «Отсортировать информацию по образцу...» и т. д
Регламентированные языки дают небольшие возможно-
сти для общения: инициатива жестко закрепляется за
одним из участников общения; от пользователя требу-
ется задание полной и непротиворечивой информации,
не допускаются ошибки в форматах задаваемой инфор-
мации; требуется специальное обучение пользователя
языку общения; разработанная система общения для од-
ной ВС чаще всего требует коренной перестройки приме-
нительно к другой ВС и т. д.
Для более гибкого и естественного общения адеква-
тен естественный язык. Рассмотрим на примере, как бы
протекал в случае общения на ЕЯ процесс взаимодей-
ствия пользователя с интеллектуальной ВС. Структурная
схема системы общения в контуре пользователь +-> ВС
приведена на рис. 4.3. Предположим при этом, что ВС
представляет собой систему «интеллектуального» досту-
па к базе данных (БД), в которой хранится кадровая
информация о сотрудниках некоторого подразделения.
Входной язык ВС — проблемное подмножество языка
представления знаний (см. гл. 2).
Пусть пользователь набрал на экране дисплея сле-
дующее предложение: «Дайте домашний адрес Гридне-
ва А. А.». Блок диалога воспринимает это предложение
и передает его на вход лингвистического анализатора,
который понимает это предложение как вопрос: «Какой
домашний адрес сотрудника Гриднева А. А.?» — и пере-
водит его на входной язык ВС. Примерный вид этого
запроса на языке ВС представлен на рис. 4.4, а. По этому
запросу ВС ищет данные в БД. Если домашний адрес
найден, то ВС формирует ответ и передает его системе
общения (структура ответа на языке ВС представлена
на рис. 4.4, б). Блок диалога передает эту структуру на
вход лингвистического синтезатора, который порождает
предложение ЕЯ следующего вида: «Домашний адрес
Гриднева А. А.: Москва, Веерная улица, дом 8,
кв. 114» — и выдает его на экран дисплея пользователю.
Если после этого пользователь введет предложение: «Ка-
кой у него оклад?», то система общения, учитывая пре-
дыдущий текст, поймет его как вопрос: «Какой оклад у
Гриднева А. А.?». На этот запрос будет получен ответ,
аналогичный описанному.
При отсутствии соответствующей информации в базе
данных блок объяснений должен пояснить пользователю
причины, по которым работа системы не увенчалась
96
ЕЯ
Рис. 4.3. Структурная схема системы общения на ЕЯ в контуре поль-
зователь — ВС
а) Гриднев А.А.
О--------------------------
соотв
сотрудник
—--------
б) Гриднев АЛ. сотрудник Москва, Веерная ул.д.8. кв. 114
О---—-----------------й»О-------======ет----------
соотв им_адрес
Рис. 4.4. Пример представления запроса и ответа на языке вычисли-
тельной системы
успехом. Объяснения необходимы также и в других слу-
чаях, например если система не поняла введенный поль-
зователем текст. Тогда возможен диалог, в результате
которого вырабатывается согласованность в понимании
текста пользователем и системой. Если рассогласование
вызвано ошибками пользователя, то блок диалога на-
правляет пользователя на исправление текста. Например,
если введен запрос с ошибкой: «Какой у него колад?» —
и система не в состоянии сама ее исправить, то она со-
общает пользователю, что слово «колад» ей неизвестно,
и предоставляет средства исправления этого слова. Если
рассогласование вызвано корректным использованием но-
вых для системы слов или понятий, то блок адаптации
в процессе уточняющего диалога пополняет знания сис-
темы. Например, если введен запрос: «Какой у него зара-
боток?» — и система не знает ни слова «заработок», ни
связь этого понятия с понятием «оклад», то блок адапта-
ции серией вопросов пользователю может выявить об
7-1369
97
этом слове информацию, необходимую для правильного
понимания запроса в пределах заданной проблемной
области, и запомнить ее в системе. В значительно боль-
шей степени блок адаптации используется при настройке
системы на новые подмножества ЕЯ и новые проблемные
области.
Приведенные примеры иллюстрируют, какими знания-
ми должна обладать и какие функции должна реализо-
вать система общения на ЕЯ. Рассмотрим последова-
тельно, что собой представляет естественный язык и какие
функции реализуются лингвистическим транслятором
(анализатор плюс синтезатор).
Язык и речь. Понятие «естественный язык» знакомо
любому человеку. Но в лингвистике нет бесспорного
определения этого понятия. Более того, лингвистика вы-
деляет еще понятие «речь», подразумевая под ней ис-
пользование языка. Разграничение языка и речи не слу-
чайно. Это подчеркивает разницу между языком, кото-
рый изучается по учебникам, и языком, применяемым в
реальной деятельности. В этом смысле язык определяет
норму речевой деятельности, а применение языка —
устный или письменный текст с возможными отклоне-
ниями от нормы. Для дальнейшего изложения достаточно
интуитивного понимания, что естественный язык — это
некоторая система элементов плюс система правил их
функционирования.
В русском языке для письменного текста выделя-
ется следующая система элементов: морфемы, слова, сло-
восочетания, предложения, связный текст (дискурс).
Морфемо — минимально значимая единица слова, не
делимая на более простые единицы. В морфемах выде-
ляют корни и аффиксы. Слово «рука» имеет корень «рук»
и аффикс «а». Носителем лексического значения является
корень; аффиксы определяют словообразовательные и
словоизменительные характеристики.
Слово — это основная лексическая единица языка.
Слова группируются в классы по различным граммати-
ческим признакам (части речи). Обычно выделяются зна-
менательные и служебные слова. К знаменательным сло-
вам относятся существительные, прилагательные, глаго-
лы, наречия, числительные и местоимения, к служебным
словам — предлоги, союзы и частицы. Каждая грамма-
тическая категория характеризуется своими параметра-
ми. Например, существительное характеризуется родом,
числом и падежом; глагол — временем, наклонением,
98
залогом, видом и лицом, деепричастие и причастие совме-
щают свойства глагола, прилагательного и наречия.
Словосочетание — это смысловое и грамматическое
объединение нескольких полнозначных слов, являющееся
результатом членения предложения. Сочетаемость обыч-
но опирается на синтаксические связи, формально выра-
жаемые управлением, согласованием, примыканием, а
также союзным и бессоюзным сочинением и подчине-
нием. Например, в словосочетании «красный куб» слова
«красный» и «куб» согласуются в роде, числе и падеже.
Суть выделения синтаксических связей — выражение
средствами языка отношений, существующих между
объектами реальности.
Предложение можно определить как наименьшую
грамматическую единицу речи, выражающую некоторый
факт реального мира и общую соотнесенность сообщае-
мого к реальности. Грамматическая структура предло-
жения предполагает выделение в его составе членов
предложения и словосочетания. Общая соотнесенность
включает в себя отношение сообщаемого к реальности и
протекание сообщаемого в интервале определенного вре-
мени (синтаксическое время). Иногда выделяется отно-
шение сообщаемого к действительности (объективная
модальность) и отношение говорящего к сообщаемому
(субъективная модальность).
По характеру отношения к реальности различаются
предложения утвердительные и отрицательные. По цели
высказываний предложения делятся на повествователь-
ные, вопросительные и побудительные. В зависимости от
количества и взаимосвязей определенных единиц предло-
жения делятся на простые, осложненные и сложные.
Под дискурсом понимается несколько предложений,
находящихся в смысловой связи. Связь между предло-
жениями иногда выражается явно (задается ссылкой
одних предложений на другие), а иногда неявно (напри-
мер, определяется темой изложения).
Рассмотренные единицы языка образуют некоторую
систему разных уровней. Каждому уровню в языке соот-
ветствует группа правил. Исторически выделяются сле-
дующие (основные) группы правил: морфологические,
синтаксические и семантические.
Морфологические правила определяют законы сочета-
ния морфем в слове; синтаксические — законы сочетания
слов и групп слов во фразах и предложениях; семанти-
ческие — законы преобразования предложений в тексте.
7*
99
Выделение правил и их формализация необходимы для
построения моделей ЕЯ. Однако модели будут неполны-
ми, если при этом не учесть особенности языка и речи.
Естественному языку присущи омонимия и синони-
мия. Омонимия — это языковая конструкция, обозначаю-
щая разные понятия. Например, омонимично слово «стек-
ло»: «прозрачное стекло» и «варенье стекло с булки» —
или слово «печь»: «печь пироги» и «строить печь». При-
мерами проявления омонимии на уровне словосочетаний
являются: «мать любит дочь» (кто кого любит?) или
«поиски капитана» (капитан ищет или ищут капитана?).
Частным случаем омонимии является полисемия — пучок
родственных понятий, выражаемых общим словом. На-
пример, слово «ключ» имеет различные смыслы (ключ от
двери, нотный ключ, ключ к шифру). Все эти смыслы
имеют нечто общее — способ открывания.
Синонимия в языке проявляется в тех случаях, когда
одна и та же сущность обозначается разными знаками.
И хотя абсолютная синонимия встречается редко, в конк-
ретных предметных областях ее след достаточно отчет-
лив. Например, относительными синонимами можно счи-
тать слова «задира» и «забияка», «выпускать» и «произ-
водить». Омонимия и синонимия — это не дефекты языка.
Омонимия позволяет использовать ограниченное число
знаков для обозначения разных реальных объектов и
понятий. Синонимия — характеризовать некоторую сущ-
ность различными знаками, подчеркивая определенные
ее стороны.
В языке, а в особенности в речи, допускаются и часто
используются неполные конструкции. Один из видов та-
ких конструкций — эллипсис, представляющий собой
предложение, в котором опущено слово или несколько
слов, легко восстанавливаемых по локальному или гло-
бальному дискурсу. Например, в предложении «Береги
платье снову, а честь — смолоду» во второй части опу-
щено сказуемое. Или в группе предложений «Чем вы
закрываете крышку? Гаечным ключом.» второе предло-
жение в полном виде выглядело бы так: «Я закрываю
крышку гаечным ключом.».
Средства отождествления и различения объектов,
упоминаемых в тексте, реализуются с помощью анафор.
Анафора обозначает (чаще всего) двукратное повторе-
ние в разных частях предложения или в нескольких связ-
ных фразах словесного отображения одного и того же
реального (или мыслимого) объекта. В частном случае
100
анафора — это повторение одного и того же слова (так
называемый точный повтор). В общем случае это неточ-
ные повторения. Одно из этих повторений называется
антецедентом, другое — ссылкой. В качестве ссылок в не-
точных повторениях используются существительные,
местоимения, синонимы и т. п. Чаще всего используются
местоименные ссылки. Например, в тексте «Прямоуголь-
ник имеет по крайней мере один прямой угол. Площадь
этого четырехугольника равна произведению большей
стороны на меньшую» антецедентом является слово «пря-
моугольник», а ссылкой — «четырехугольник». Или в
предложениях «Куб стоит рядом с призмой. Он имеет
красный цвет» антецедентом является слово «куб», а
ссылкой — местоимение «он».
Смысл текста не определяется совокупностью смыслов
образующих его предложений. Текст имеет «невидимый»
подтекст, который проявляется в виде пресуппозиций и
умолчаний. Пресуппозиции — это «молчаливые предпо-
сылки», а умолчания — это отсутствие явного указания
на все аспекты ситуации, которая соответствует предло-
жению или тексту.
Известно, что язык задает норму. Однако она не яв-
ляется обязательной для речи. В «языковом употребле-
нии» можно легко найти множество «нарушений» норм
языка. Типичны, например, орфографические ошибки
(«прпуск», «зомена», «поректирование», «корррекция»),
ошибки в согласовании («белого слону — белому слону»);
ошибки в управлении («благодаря Ивана — благодаря
Ивану»), нарушения сочинительной проективности («Это
омрачало мою жизнь и моей дочери») и др. При машин-
ном анализе затруднения в понимании могут вызывать
и такие предложения, которые, казалось бы, правильно
построены. В предложении «Дайте мне список старше-
курсников и аспирантов кафедры вычислительной тех-
ники» не совсем очевидно, что речь идет о старшекурсни-
ках кафедры вычислительной техники.
Естественный язык, кроме того, изобилует идиомати-
ческими и фразеологическими оборотами, метафорами и
ассоциациями, нечеткостями и неопределенностями и т. д.
Все это затрудняет моделирование ЕЯ. Однако выход из
этой ситуации существует и состоит в том, что при по-
строении систем общения используются подмножества
ЕЯ, которые в конкретных приложениях проблемно
ориентированы и, следовательно, более просты, чем ЕЯ в
полном объеме. Такие подмножества называются языка-
101
ми деловой прозы. Их лексика ограничена предметной
областью, смыслы слов более однозначны, отсутствуют
метафоры, ассоциации и т. д. Но тем не менее в них ис-
пользуются те же конструкции предложений, эллипсисы
и анафоры и т. д. Поэтому проблема анализа и синтеза
текстов даже для этих языков не тривиальна.
Лингвистическая трансляция. Систему общения на ЕЯ
можно рассматривать как систему перевода (трансля-
ции) предложений ЕЯ во входные «предложения» ВС и
«предложений» ВС в предложения ЕЯ. Но к такому пере-
воду предъявляются более жесткие требования, чем к
машинному, поскольку одним из участников общения
здесь является формальная ВС. Система общения долж-
на понимать транслируемые тексты, с тем чтобы быть
корректным «посредником» между пользователем и ВС.
Неформально термин «понимание» можно определить
так. Система понимает текст в том случае, если она мо-
жет правильно ответить на все вопросы, связанные с ин-
формацией, введенной этим текстом [15]. Однако такое
определение скорее всего соответствует комплексной ма-
шинной системе, включающей систему общения и ВС.
Для самой же системы общения определим термин «по-
нимание», формально поставив задачу трансляции сле-
дующим образом.
Пусть заданы некоторое проблемно-ориентированное
подмножество ЕЯ и входной язык ВС, который назовем
для краткости М.-языком. М-язык — это язык, на котором
описывается модель проблемной среды. При этом задача
трансляции заключается в преобразовании некоторого
текста /,еТ (где Т — множество всех текстов профессио-
нально-ориентированного ЕЯ) в некоторый текст
(где М — множество всех текстов проблемной редукции
М-языка), или на множестве текстов Т определяется
отображение 1Е:Т-^М, позволяющее по заданному тек-
сту /(еТ построить адекватный ему текст ш(еМ.
Под адекватностью будем понимать следующее. Пусть
существует отображение и некоторое множе-
ство эквивалентных лингвистических преобразований
{Щ. Отображение Ч7-1 позволяет для некоторых текстов
строить тексты t-eT. Тогда для t-eT по Чг можно
построить адекватный ему текст ш(еМ тогда и только
тогда, когда по этому тексту т(ЕМ с помощью Ч'-1
можно получить такое множество различных //, /?, ..., /Г
(л>1), что каждый /JeT и tl эквивалентен t, с точностью
до множества {П,|.
102
При этом нет необходимости формально определять
{П/}, а достаточно возложить задачу проверки эквива-
лентности текстов на эксперта.
В такой постановке определяется, что транслятор
«понимает» ЕЯ-текст, если он может его множественно
перефразировать и в перифразах не встречаются тексты,
которые не адекватны первоначально заданному (с точки
зрения эксперта). Процесс перефразирования не только
имеет чисто теоретический характер. Он важен и практи-
ческой направленностью. Его можно использовать для
повышения уверенности пользователя в том, что введен-
ный им текст понят правильно в следующих случаях:
пользователь ввел неправильные (с ошибками) пред-
ложения, а система сама их исправила;
пользователь употребил неполные конструкции, а си-
стема восстановила неполноту и др. Например, для
предложения «Дайте список старшекурсников и аспиран-
тов кафедры вычислительной техники» система может
выдать следующие парафразы:
«Дать список всех старшекурсников факультета и
список аспирантов только кафедры ВТ»,
«Дать список старшекурсников кафедры ВТ и аспи-
рантов той же кафедры».
При этом неопределенность легко устраняется поль-
зователем.
4.2 Анализ текстов
на естественном языке
Цель анализа предложений ЕЯ — перевод
их на М-язык ВС. Рассмотрим общую структуру процесса
анализа, схема которого представлена на рис. 4.5 (сле-
ва). При этом анализатор осуществляет следующие
функции:
— распознавания правильно построенных предложе-
ний ЕЯ;
— фиксации, локализации и возможного исправления
ошибок в ЕЯ-тексте;
— декомпозиции («разбивки») предложения на со-
ставляющие (фрагменты) и построения соответствую-
щей синтаксической структуры предложения;
— семантической интерпретации фрагментов предло-
жения ЕЯ во фрагменты М-языка;
— композиции («сборки») фрагментов М-языка в
структуру, описывающую ситуацию проблемной среды.
юз
КОНЕЧНЫЙ
ПОЛЬЗОВАТЕЛЬ
ИНТЕЛЛЕКТУАЛЬНАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА
Рис. 4.5. Структурная схема лингвистического транслятора
Реализация этих функций осуществляется на этапах
морфологического и синтаксического анализа, семанти-
ческой интерпретации и проблемного анализа. Часто два
последних этапа объединяются в один этап семантиче-
ского анализа. В схемах конкретных анализаторов могут
быть опущены некоторые этапы и порядок их выполнения
не должен обязательно отвечать приведенной последова-
тельности.
104
Морфологический анализ. Основа морфологического
анализа (МА) — построение для каждой словоформы
предложения списка пар (х, у), где х — стандартная
форма данной единицы (лексема или основа), а у — под-
список значений грамматических признаков, определяю-
щих данную словоформу. Для предложения «На мель-
комбинате хранятся разные сорта пшеницы» МА даст
следующий список:
((на: предлог, 1) (мелькомбинат: существ, муж. род, ед. число, пред,
падеж), 2) (хранится: глагол, мн. число, наст, время, совер. вид),
3) (разный: прилагательное, мн. число, им. падеж, 4) (сорт: су-
ществ, муж. род, мн. число, им. падеж), 5) (пшеница: существ,
жен. род, ед. число, род. падеж, 6)).
Существует два основных метода реализации МА (что
определяет, по сути, выбор структуры словаря системы):
декларативный и процедурный. П р.и декларативном
методе в словаре хранятся все возможные словофор-
мы с соответствующим комплексом морфологической
информации. В этом случае задача МА состоит просто
в поиске словоформы в словаре и переписывании из
словаря морфологической информации. При проце-
дурном методе в словаре хранятся только основы
слов. В данном случае МА выделяет в словоформе осно-
ву, идентифицирует ее и приписывает слову соответству-
ющий комплекс информации. Каждый из методов МА
имеет преимущества и недостатки, поэтому выбор метода
определяется конкретными условиями работы системы.
Иногда оптимален метод, использующий частично сло-
варь как словоформ, так и основ.
Наряду с основной задачей на этапе МА могут быть
исправлены слова, в которых пользователь допустил
орфографические ошибки. Результат этапа МА — не ис-
ходная цепочка словоформ, а цепочка основ или лексем
с соответствующей морфологической информацией.
Синтаксический анализ. Задача синтаксического ана-
лиза — построение синтаксической структуры входного
предложения на основе морфологической информации и
синтаксических правил объединения слов и словосочета-
ний. Синтаксическая структура отражает связи, сущест-
вующие между словами предложения. Ее получение на-
чинается с построения всевозможных связей между сло-
вами, которые в последующем отсеиваются на основе
локальных и глобальных «фильтров». Конкретный вид
структуры определяется выбранной системой синтакси-
ческих отношений.
105
Существует несколько способов описания синтаксиче-
ской структуры, но два из них — система составляющих
и дерево зависимостей — наиболее употребительные. По-
этому приведем их формальное описание.
Система составляющих. Произвольная не-
пустая последовательность словоформ называется цепоч-
кой. Число словоформ в цепочке о) называется длиной
цепочки и обозначается |<о |.Если для каких-либо цепочек
со, ф, т|1» т)2 имеет место равенство <о= т)1,фт)2, то говорят,
что цепочка <р входит в цепочку <о. Вхождение словоформ
в цепочку называется ее точками. Если аир — точки
одной и той же цепочки <о = r)iar)2= £iP^2 и если при
этом |г)||<|£||, то а<Р или р>а и говорят, что а распо-
ложена левее р, а р — правее а. Для любых двух точек а
и р цепочки со таких, что а^р, вводится понятие отрезка
цепочки со, представляющего множество точек g, удовлет-
воряющих неравенствам а^^^р. Пусть х — произволь-
ная непустая цепочка. Множество С отрезков цепочки х
называется системой составляющих этой цепочки, если
оно удовлетворяет двум условиям:
1) множество С содержит отрезок, состоящий из всех
точек цепочки %, и все одноточечные отрезки х;
2) любые два отрезка из множества С либо не пере-
секаются, либо один из них содержится в другом.
Элементы С называются составляющими; одноточеч-
ные отрезки — тривиальными составляющими. Для на-
глядного изображения системы составляющих каждая
нетривиальная составляющая заключается в скобки, при-
чем левые и правые скобки одной составляющей могут
быть помечены одинаковой меткой для ее выделения.
Например, для предложения «Мы увидели древние стены
города» допустима система составляющих:
(Мы увидели ((древние стены) города))
1 23 3 21
(Мы увидели (древние (стены города)))
1 23 321
Система составляющих указывает в предложении
словосочетания разных уровней, не вводя при этом
иерархии среди словосочетаний одного уровня.
Дерево зависимостей. Пусть х — произ-
вольная непустая цепочка и X — множество всех точек х.
Произвольное бинарное отношение —> на X, при котором
граф (X, —>) является деревом, называется отношением
зависимости (подчинения). Само дерево (X, —>) назы-
106
вается деревом зависимости для х. Дерево зависимостей
цепочки со можно изобразить последовательностью обра-
зующих ее точек, расставленных на прямой линии. Для
всякой пары точек а, 0 цепочки о), для которой а—>0,
на рисунке проводится дуга из а в 0, причем таким обра-
зом, чтобы все дуги были по одну сторону от прямой.
Если а—>0, то точку а называют управляющей, а 0 —
подчиненной точкой. При анализе предложений ЕЯ
обычно используют размеченные деревья зависимостей,
определяемые для цепочки х как четверка <Х, —Z,
Ч^>», где <Х,—►>*— дерево зависимостей для %; Z —
конечное множество, элементы которого называются мет-
ками; Ч7 — отображение множества дуг дерева <Х, —>>
в Z. Множество Z определяется набором синтаксических
отношений.
Дерево зависимостей <Х,—>>* для цепочки х назы-
вается проективным, если для любых трех точек а, 0, у
цепочки х из того, что а—>0 и у находится между а и 0,
следует, что у зависит от а. Графически проективность
означает возможность провести дуги дерева так, чтобы:
1) никакие две из них не пересекались;
2) корень дерева не лежал ни под одной из дуг.
вспомогательная
связь
/О*опрёделение
в 1986 годуЦ^
? Объем
б)
количество
ж/д
транспорт
перевозка
уголь
вид 1
инструмент
тема
время
вид 2
каменный
------х>
год <->
имзнач
Ю 1986
в) объем 532 000 000 ТОнна
количество | им_знач мера
Ж/Д транспорт перевозка уголь каменный
о-< О >~о———— *-о
вид 1-----------------------------------------------------------инструмент-тема-вид 2
Пвремя 1986
ГОД ----------------
им знач
Рис. 4.6. Пример графического представления ЕЯ-предложения на
различных этапах анализа — синтеза
107
Если соблюдено первое условие, а второе нет, то го-
ворят о слабой проективности. Пример дерева зависимо-
стей с помеченными связями приведен на рис. 4.6, а.
Системы составляющих описывают в явном виде сло-
восочетания, но игнорируют связи между ними, а деревья
зависимостей представляют направленные связи, но толь-
ко между словами. Иногда для представления синтак-
сической структуры предложения используют смешанное
представление. В этом случае результатом синтаксиче-
ского анализа является структура, характеризующая не
только выделенные группы слов, но и связность как слов
внутри групп, так и групп между собой.
Семантическая интерпретация. Цель семантической
интерпретации — формирование фрагментов на М-языке,
соответствующих описаниям проблемных ситуаций. По-
лучение таких фрагментов осуществляется на основе зна-
чений слов и словосочетаний с учетом связей между
ними, т. е. на основе фрагментов ЕЯ-предложения, пред-
ставленных в синтаксической структуре.
Получение фрагментов М-языка подразумевает до-
бавление в них информации, которая пресуппозитивна,
т. е. выражена неявно в ЕЯ-предложении. На выходе эта-
па семантической интерпретации задается неструктуриро-
ванное множество фрагментов проблемной ситуации.
Проблемный анализ. Полученное на предыдущем эта-
пе множество фрагментов структурируется с помощью
правил описания ситуаций в проблемной среде. (При
этом используется информация о структуре ЕЯ-текста.)
Например, для простых предложений часто достаточно
использовать правила построения микроситуаций, для
сложных — правила построения макроситуаций. На этом
этапе проверяется проблемная корректность входного
ЕЯ-текста. В результате получается структура описания
ситуации, заданной ЕЯ-текстом, которая подается на
вход ВС. Пример, иллюстрирующий одно из возможных
семантических представлений запроса, приведен на
рис. 4.6, б.
4.3 Синтез фраз естественного языка
В большинстве случаев вместо полного
синтеза используется синтез по шаблонам. Суть его со-
стоит в том, чтобы для конкретной системы рассмотреть
все типы сообщений, относящиеся как к процессу обще-
ния, так и к процессу выдачи результатов работы ВС, и
108
для каждого типа разработать шаблон, который запол-
няется при обращении к пользователю. Например, при
незнакомом слове сообщение может иметь вид «Слово...
отсутствует в словаре системы». Или при ответе на вопрос
сообщения вида «На Ваш запрос «...?» системой получен
ответ: «...». Такой «обход» синтезатора возможен только
в простых случаях общения. Для более сложных случаев
необходим полный синтез, схема которого представлена
на рис. 4.5 (справа). Задача синтеза заключается в пе-
реводе «текста» М-языка в текст ЕЯ. При этом необхо-
димо:
— определить информацию, которую нужно сообщить
пользователю;
— определить уровень общности синтезируемой ин-
формации;
— выделить обязательную и необязательную инфор-
мацию, выражаемую в синтезируемых фразах;
— осуществить разбиение текста М-языка на фраг-
менты, соответствующие будущим фразам;
— определить лексемы для синтезируемой фразы;
— построить синтаксическую структуру фразы;
— приписать морфологическую информацию верши-
нам синтаксической структуры фразы;
— определить порядок слов;
— осуществить морфологический синтез словоформ.
Суть семантического синтеза заключает-
ся в таком преобразовании текста М-языка, при котором
его части могли бы соответствовать будущим фразам и
предложениям ЕЯ. При этом требуется учет как языкового,
так и смыслового факторов. Фраза должна быть прием-
лемой по размерам, быть стилистически доступной и т. п.
Иногда для этого достаточно использовать простые пра-
вила с учетом ограничений, например, на число сущест-
вительных, на число определений, выражаемых прида-
точными предложениями, и т. п. Такие преобразования
осуществляются за счет правил фрагментирования тек-
ста М-языка. Результатом семантического синтеза будет
структура М-языка, разбитая на фрагменты, соответ-
ствующие будущим фразам.
Цель синтаксической интерпретации —
проинтерпретировать выделенные на предыдущем этапе
фрагменты синтаксическими структурами ЕЯ, т. е. опре-
делить порядок следования фраз, сформировать их син-
таксические структуры и заполнить эти структуры соот-
ветствующими лексемами. Выбор лексем может зависеть
109
от истории общения. Например, при работе в системе
типа «вопрос — ответ» синтезатор может использовать те
лексемы, которые применялись пользователем в вопросе.
Не полностью определенные синтаксические структуры
подаются на этап синтаксического синтеза.
Задача синтаксического синтеза — конк-
ретизация синтаксических структур с учетом отношений
между лексемами. Здесь выбираются форма фраз (на-
пример, актив—пассив) и морфологические характери-
стики лексем (например, определенный падеж, род, чис-
ло и т. д.).
Задача морфологического синтеза — по-
строение конкретных словоформ естественного языка по
словарю и заданной морфологической информации. Так
же как и в случае морфологического анализа, морфоло-
гический синтез реализуется декларативным и процедур-
ным способами. При декларативном способе
в словаре системы каждой нормализованной единице
сопоставляются возможные наборы морфологической ин-
формации и считываются соответствующие им слово-
формы. При процедурном способе словоформы
формируются с помощью таблиц аффиксов (суффиксов и
окончаний), расклассифицированных по частям речи.
Морфологический синтез завершает процесс синтези-
рования, после чего сообщение на естественном языке
выдается пользователю. Например, для ответа, семанти-
ческое представление которого изображено на рис. 4.6, в
по списку:
(железнодорожный: прил., муж. род., едн. число, имн. падеж, 1)
(транспорт: существ., муж., едн., имн., 2) (в: предлог, 3) (1986:
4) (год: существ., муж., едн., предл., 5) (перевозить: глагол, пр.
время, сов. вид, изъяв, накл., 6) (532 000 000: число, 7) (тонна:
существ., жен., мнж., род., 8) (каменный: прил., муж., едн., род., 9)
(уголь: существ., муж., едн., род., 10)
в процессе морфологического синтеза будет синтези-
ровано следующее ЕЯ-предложение: «Железнодорожный
транспорт в 1986 году перевез 532 000 000 тонн камен-
ного угля».
4.4 Методы лингвистической трансляции
В данном разделе рассмотрены некоторые
модели ЕЯ и методы анализа ЕЯ-текстов.
Табличные методы основаны на анализе отдельных
(ключевых) слов, встречающихся в предложениях. Не-
достатки такого метода очевидны. Очевидна и его про-
110
стота для однозначных ЕЯ-предложений. При этом легко
понимаются некоторые синтаксически неправильные
ЕЯ-фразы. Расширение табличного метода в направлении
большего привлечения синтаксиса позволило построить
трансляторы практически работающих систем вопросно-
ответного типа. Суть табличного метода состоит в иден-
тификации смысла всего предложения на основании не-
скольких ключевых слов или их групп.
На примере работы системы ДИСПУТ [16] процесс
трансляции осуществляется следующим образом. Слова
предложения заменяются на их каноническую форму —
коды. Замена осуществляется с помощью словаря слово-
форм. При этом также выделяются некоторые группы
слов, несущие тематическую нагрузку. Далее производит-
ся распознавание и замена стандартных словосочетаний.
На полученном представлении осуществляется идентифи-
кация шаблонов с каждой выделенной группой слов.
В результате (при точном соответствии) формируется
внутреннее представление исходного запроса, которое пе-
реводится во входной язык ВС.
В качестве примера анализируемых системой вопро-
сов можно привести следующий: «Сколько времени на-
ходится контейнер № 1244 на складе?». Тот же самый
вопрос можно сформулировать и так: «Количество вре-
мени, хранение, контейнер № 1244, склад».
Методы с семантической ориантацией предполагают
первичность семантики перед синтаксисом. Процесс
трансляции в системах ведется под управлением семан-
тики, а синтаксический компонент привлекается лишь в
случае неоднозначностей. На основе этих методов созда-
ны экспериментальные системы общения, например NLI,
MARGIE, SAM, РАМ и др.
Метод падежной грамматики. Представ-
ление о том, что семантика наряду с синтаксисом явля-
ется необходимым компонентом полного лингвистиче-
ского описания, привела к созданию семантических па-
дежей. Аргументная структура предиката (глагола) ука-
зывает не только число аргументов данного предиката,
но и их роли (их семантическое содержание).
Для записи содержания высказываний используется
специальный синтаксический язык. Для перевода необхо-
димы словарь и правила, устанавливающие соответствие
между ЕЯ-выражениями и их семантическими представ-
лениями. При этом рассматриваются два уровня языка:
поверхностный и глубинный. Поверхностный уро-
111
вень воплощается в конкретном ЕЯ, глубинный уро-
вень представляет логическое содержание предложений
в терминах элементарных суждений, характеризующихся
семантическими свойствами. Глубинный падеж — это
обобщенное отношение между содержанием глагола и
содержанием той или иной из его групп. В методе падеж-
ной грамматики, предложенной Филлмором [17], выделя-
ется семь глубинных падежей (их состав может быть рас-
ширен) :
— агентивный (А) — одушевленный инициатор дейст-
вия (ДЖОН открыл дверь);
— инструментальный (I) —стимул или непосред-
ственная физическая причина действия (КАМЕНЬ раз-
бил окно);
— дательный (D) —одушевленное существо, которое
затрагивается состоянием или действием (МАЛЬЧИК
получил удар в лицо);
— фактивный (F) — предмет или существо, возни-
кающее в результате действия или состояния, или часть
самого действия (Мать варит РЕПУ);
— локативный (L) — место или пространственная
ориентация действия или состояния (Джон идет по
УЛИЦЕ);
— бенефактивный (В) —лицо, в пользу которого
направлено действие (Мать варит репу ДЛЯ ДЖОНА);
— объективный (О) — вещь, являющаяся объектом
действия (Джон открывал ДВЕРЬ).
Глубинная структура имеет следующий вид:
S—>Aux + Р,
где S — предложение; Aux — модальный показатель; Р —
пропозиция.
Пропозиция может быть развернута в формулу сле-
дующего вида:
P^V + Ci+... + Сл,
где V — глагол; Ci, ..., Сп — глубинные падежи.
Метод падежной грамматики дает инвариантные от-
носительно поверхностного языка глубинные представ-
ления, позволяющие отвечать на вопросы о характерис-
тиках событий и действий. Для этого достаточно прове-
сти соответствие между словами-вопросами и падежами,
например кто — агент, что — объект, чем — инструмент
и т. д. Во фразе «Джон приготовил кофе для Мэри с по-
мощью кофеварки» можно выделить четыре группы су-
112
ществительного, каждая из которых относится к опреде-
ленному глубинному падежу: объект—>кофе, агент--------►
—>Джон, инструмент—жофеварка, потребитель—>Мэ-
ри. Для такой структуры можно ответить на следующие
вопросы:
Что было приготовлено?—>-объект—жофе.
Кто приготовил его?—>-агент—>-Джон.
С помощью чего?—^-инструмент—жофеварка.
Для кого он был приготовлен?—>-потребитель—>Мэри.
Дальнейшим развитием идеи глубинных падежей
явился метод концептуальных зависимостей.
Метод концептуальных зависимостей.
Возникновение данного метода [18] в основном опреде-
лялось необходимостью: а) получать не только семанти-
ческое (концептуальное) представление по тексту, но и
обеспечивать извлечение из него всевозможных логиче-
ских следствий; б) обеспечивать понимание и интерпре-
тацию не только грамматически правильных фраз, но и
«аномальных»; в) исправлять ошибки в ходе анализа
омонимичных текстов; г) получать для синонимичных
фраз идентичные семантические представления, а для
сходных фраз — подобные семантические представления
и др.
Основой метода концептуальных зависимостей явля-
ется модель — сеть концептуализаций, подобная раз-
меченному ориентированному графу, где /г-арные отно-
шения связывают не только вершины графа, но и дуги.
Вершины графа помечены символами семантических еди-
ниц четырех сортов: РР — имена физических объектов,
ACT — имена действий, РА — характеристика объектов,
АА — характеристика действий, State — значение состоя-
ния, LOG — место, Т — время. Дуги могут быть поме-
чены более чем одним символом.
Условно можно выделить три типа дуг:
1) концептуальные падежи действия (рис. 4.7, а);
2) присоединяемые к концептуализации или действию
(рис. 4.7, б);
3) определяющие причинные связи между двумя дей-
ствиями или между действием и состоянием.
На способы соединения вершин и дуг наложены огра-
ничения в виде концептуальных синтаксических правил.
Для характеристики концептуализаций используются
модификаторы типа: р — прошедшее время, / — отрица-
ние, ? — вопрос и др.
В данном методе выделяется примерно два десятка
113
«—136»
а) 1.
2.
3.
4.
5.
6.
РР
ACT
ACT
ACT
ACT
ACT
ACT
РР может совершить действие
Действие имеет объект
Объектом является концептуализация
РР1
РР2
LOGj
Действие имеет получателя
Действие приводит к изменению места
от LOGX к LOG2
LOG 2
Действие связано инструментальным отношением Г
с концептуализацией
Концептуализация определяется временем
Концептуализация определяется местом
3. РР
State j
State2
Джон уехал в Нью-Йорк
Р О
в) Джон X Ч. PTRANS —
Результатом концептуализации является
изменение состояния
Рис. 4.7. Иллюстрации метода концептуальных зависимостей
примитивных действий типа: PROPEL — «приме-
нить силу к», MOVE — «двигать часть тела», INGEST —
«ввести что-либо внутрь одушевленного объекта»,
EXPREL — «вывести наружу что-либо изнутри одушев-
ленного объекта». GRASP — «схватить физический объ-
ект», PTRANS — «изменить место чего-либо» и др.
Анализ входных (английских) предложений осуще-
ствляется операторами трех типов:
1 — поиск по слову его концептуального представ-
ления (КП) и вставка КП слова в КП фразы;
2 — проверка синтаксических связей с выделением
границ именных групп;
3 — обращение к семантической памяти (знания
114
об окружающем мире). Основная функция
этих операторов — проверка наличия у объек-
та заданного свойства.
В результате анализа получается концептуальное
представление ЕЯ-фразы, на основе которого можно де-
лать умозаключения и синтезировать предложения на
английском языке (режим «парафраз»). Для предложе-
ния «Джон уехал в Нью-Йорк» представление изобра-
жено в виде сети концептуализаций и приведено на
рис. 4.7, в.
Данный метод использован при создании не только
экспериментальных систем анализа, но и системы синтеза
BABEL, одной из самых «семантических» систем синтеза,
так как она начинает работу с концептуального пред-
ставления, не содержащего ни английских слов, ни отно-
шений между вершинами, подобных отношениям между
английскими словами.
Методы с синтаксической ориентацией характеризу-
ются тем, что в них проводится сложный синтак-
сический анализ, базирующийся на какой-либо формаль-
ной модели языка. К этим методам можно отнести метод
расширенных сетей переходов, метод СМЫСЛ-*-* ТЕКСТ-*-*
-*-* ЦЕЛЬ и др.
Метод расширенных сетей переходов.
Известно, что формальные грамматики либо не адекват-
ны описанию ЕЯ, либо их реализация крайне неэффек-
тивна. Исходя из этого были предприняты попытки по-
иска такого формализма, который, обладая достаточной
описательной мощностью, допускает эффективную реа-
лизацию процессов анализа. В результате таких попыток
был создан метод расширенных сетей переходов —
РСП [19].
Данный метод основан на понятии рекурсивных
сетей переходов, представляемых множеством ориенти-
рованных графов с помеченными вершинами (состоя-
ниями) и дугами. В каждом графе выделяются началь-
ная и множество конечных вершин. Метки на дугах
могут быть как терминальными символами, так и имена-
ми состояний. Во втором случае интерпретация дуги
заключается в том, что состояние, к которому она ведет,
запоминается в стековой памяти, а управление передает-
ся в состояние, являющееся меткой этой дуги. При до-
стижении конечного состояния стек выталкивается и
активным становится состояние из «верхушки» стека.
Критерием успешного разбора предложения является
к*
115
попытка вытолкнуть пустой стек, когда обработан
последний символ (слово).
По отношению к рекурсивным сетям переходов в
РСП введены следующие расширения: 1) разрешено ис-
пользование произвольных условий на дугах, истинность
которых является критерием прохождения дуги; 2) поми-
мо стека введено необходимое число регистров со стеко-
вой структурой, в которых хранятся фрагменты под-
структур и индикаторы, управляющие процессом раз-
бора; 3) в качестве метасемантического языка исполь-
зованы произвольные действия, которые могут изменять,
объединять, удалять и проверять содержимое регистров.
РСП интерпретируется сетевой грамматикой, фор-
мально она может быть определена как тройка
Fs = (V, L, N), где V — описание словарей, используемых
при разборе входной цепочки; L—описание нестандарт-
ных функций, необходимых для эффективного разбора;
N — описание РСП, представляющее собой описание
множества так называемых кустов. Кустом называется
вершина РСП с множеством дуг, выходящих из нее. Под
разбором входной цепочки (фразы языка) понимается про-
верка ее допустимости РСП.
Зададим описание сетевой грамматики с помощью ч
модифицированной нормальной формы Бэкуса (мета-
символы {,} отображают возможность повторения кон-
струкций, а метасимволы [,] — необязательность кон-
струкций).
В этом случае:
<сетевая грамматика>: : = (<описание словарей>[<описание
нестандартных процедур>]<расширенная сеть переходов>)
<описание словарей>:: = (VOCAB<описание словаря>})
^описание словаря>: : = <имя словаря>(<функция ввода>)|
<имя словаря>({<:словарная статья>))
Строгое определение словарной статьи здесь не дает-
ся, так как ее содержание зависит от конкретного ис-
пользования значений различных синтаксических и се-
мантических признаков слов ЕЯ. Описание набора не-
стандартных функций также не дано, так как их конкрет-
ная реализация определяется реальной разработкой сис-
темы. Дадим описание РСП:
<РСП>: : = {<пучок дуг>}
Спучок дуг> : : = {<состояние> <дуга> }
<дуга>: : = (CAT <категория> <условие> {<действие>}<за-
ключительное действие>) | (PUSHccoctohhhO <условие>(< дей-
ствие>}<заключительное действие>)|(Т$Т <условие>{ <действие>)
<заключительное действие>)|(РОР СформаХусловиО)
116
Введенные помеченные дуги определяют следую-
щее:
CAT-дуга определяет прохождение по ней, если
текущее входное слово принадлежит заданной катего-
рии;
PUSH-дуга вызывает «спуск» к состоянию, указан-
ному после символа PUSH;
TST-дуга допускает прохождение по ней при со-
блюдении произвольного условия;
POP-дуга указывает, при каких условиях состоя-
ние является заключительным, и определяет форму ра-
зобранных частей фразы.
Для прохождения по любой из дуг требуется выпол-
нение необходимых и достаточных условий. Необходимые
условия обеспечиваются некоторыми встроенными меха-
низмами (словарного поиска, перехода к подграфу и
обеспечения возвратов), а достаточные условия в явном
виде задаются в синтаксических определениях.
Достаточные условия выражаются в таком виде:
<0условие> : : = <0И-условие>|<0ИЛИ-условие> |< НЕ-усло-
вие> |<РАВНО-условие>
<И-условие>: : = (AND<apryMeHT> <аргумент> (<аргу-
мент>))
<ИЛИ-условие> : : = (ОР<аргумент> <аргумент>( <аргу-
мент>})
<НЕ-условие> : : = (МОТ<аргумент>)
<РАВНО-условие> : : = (EQUAL <аргумент> <аргумент>)
В качестве аргументов используются Т, NIL, <имя>
и <условие>.
Выполнение необходимых и достаточных условий при-
водит к выполнению действий. По определению
<0действие> : : = Сдействие над содержимым>| Сдействие над
указателем^
Сдействие над содержимым^ : : = (SETR <имя регистра >
<4>opMa>)|(SENDR <имя регистра> <форма>)|
|(LIFTR<hmh регистрах форма >)
Сдействие над указателем> : : = (UP <имя регистра>)
Функции SETR, SENDR и LIFTR определяют присва-
ивания в указанном регистре на соответствующих уров-
нях. Функция UP работает только на текущем уровне и
выталкивает содержимое верхней ячейки соответствую-
щего регистра.
Заключительные действия определяют переход к сле-
дующему кусту. Такой переход сопровождается считы-
117
ванием следующего слова в системный регистр-Х-. Таким
образом,
Оаключительное действие> : : = Спереход со считыванием>|
Спереход без считывания^
Спереход со считыванием> : : = (ТО <имя перехода>)
Спереход без считывания> : : = (JUMP Симя перехода>)
Симя перехода> :: = Ссостояние>»|Симя регистра^
Для построения некоторых структур и получения
содержимого регистров необходимы формы, используе-
мые в определениях POP-дуги и действиях. Минималь-
ный объем форм обеспечивает получение следующих зна-
чений:
текущего слова (*);
_ заданного признака для текущего слова из регистра
* (GETF);
произвольной структуры (QUOTE);
содержимого произвольного регистра (GETR);
списка, составленного из двух форм (APPEND).
Рассмотрим для примера фрагмент анализатора прос-
тых предложений русского языка, порождаемых в соот-
ветствии с грамматикой, представленной фрагментом
РСП (рис. 4.8). Пусть на вход поступает фраза:
КРАСНЫЙ БОЛЬШОЙ КУБ ОПИРАЕТСЯ НА УСЕЧЕННУЮ
ПРИЗМУ.
Разбор начинается с вызова функции (PARSE <фра-
за>), которая запишет в регистр -%, первое слово КРАС-
НЫЙ и передаст управление в состояние ПРЕДЛ.
Описание куста, помеченного этим символом, содер-
жит одну дугу (PUSH ИГ...). Для прохода по этой дуге
необходимо найти именную группу ИГ. Анализ именной
группы предполагает последовательный поиск группы
прилагательного (ПГ) и существительного (СУЩ), кото-
рые должны быть согласованы по роду, числу, падежу и
семантическим признакам, хранимым в словарях.
К моменту перехода в состояние Q3 на введенных
регистрах будет следующее распределение:
(RPG) = (ПГ (ПР (КРАСНЫЙ БОЛЬШОЙ)))
(RP) = МУЖСКОЙ
(R4) = ЕДИНСТВЕННОЕ
(RH) = ИМЕНИТЕЛЬНЫЙ
(*) = КУБ
118
(ПРЕДЛ (PUSH ИГ Т (SET ЛИГ * ) (SETR ЛРИГ (GETR RP) )
(SETR ИЧИГ (GETR RЧ) ) (SETR RCFHT (GETR RCE) )
(JUMP 01) ) )
(Qi 'PUSH ГГТ (SETR ЯГГ*) (JUMP 02) ) )
(02 (POP (BUILDGQ (ПРЕДЛ++) НИГ R ГГ ) (EQUAL (GETR*) )
NIL) ) )(I4T(PUSH ПГ T (SETRRnr ) (JUMP 03) ) )
(03 (CAT СУЩ (AND (EQUAL RP (GETF РОД ) ) (EQUAL R4>
(GEFT ЧИСЛО) ) MEQUAL Rll (GETF ПАДЕЖ ) ) ) (SETR RC i)
(SETR RCE (GETF ФИЗ_ОБ ( TO 04) ) )
(04 (POP (BUILDG (ИГ+(С ( + ) ) ) ПГ RC) T) ) (ПГ
(CAT ПРИЛ T (SETR RP (GETF РОД) ) (SETR R4
(GETF ЧИСЛО ) (SETR ЛП (GETF ПАДЕЖ) )
(SETR RRP#) (TO 05) )(TST (EQUAL ЛП P NIL)
(JUMP 05) ) )
(05 (CAT ПРИЛ (AND (EQUAL RP (GETF РОД ) )
(EQUAL R4 (GETF ЧИСЛО ) ) (EQUAL ЛП (GETF ) ) )
(APPEND RnP*) (TO 05) ) (POP (BUILD (ПГ (ПР(+) )))
RnP T) (ГГ (CAT ГЛ (AND (EQUAL RPI/1T (GETF РОД) )
(EQUAL ИЧИГ (GETF ЧИСЛО ) )) (SETR ИГЛ * ) (TO 06 ))
(06 ('...)))
<ПРЕДЛ> 01 02/1
O-- »O--------►О
<иг> <гг>
<ИГ> 03 04/1
О----------X)--------X)
<ПГ> <СУЩ>
<ГГ> 06 07/1
О-------X)-----
<гл><гдоп>
ГДОП Q8 09/1
О- ' >О—.... ' >О
<ПРЕДЛОГ> <ГРСУЩ>'
<ПРИЛ> 011/1
Р и с< 4.8. Фрагмент анализатора и расширенной сети переходов для
подмножества русского языка
Предположим, что необходимое условие перехода по
дуге CAT выполнено, так как очередное слово, занесен-
ное в системный регистр, найдено в словаре и его харак-
теристики перенесены в специальный регистр. Для вы-
полнения достаточного условия вычисляется значение
функции AND, проверяющей согласование рода, числа,
падежа текущего слова КУБ со значениями регистров
RP, R4, Rn. Достаточные условия выполнены и дальней-
ший проход по дуге сопровождается присвоением ре-
гистру RC значения текущего слова (КУБ), а регистру
RCE — значения семантического признака ФИЗ_____ОБ.
По заключительному действию (ТО Q4) считывается
очередное слово ОПИРАЕТСЯ и осуществляется переход
в Q4. В результате прохода по POP-дуге состояния Q4
119
в верхней ячейке регистра >|< получаем следующую
структуру:
(ИГ (ПГ (ПР (КРАСНЫЙ БОЛЬШОЙ))) (С (КУБ))).
После этого анализатор возвращается к той точке,
где разбор был приостановлен на дуге (PUSH ИГ) про-
веркой необходимого условия. Содержимое регистров в
этот момент:
(ИПГ) = Q
(RP) = МУЖСКОЙ
(R4) = ЕДИНСТВЕННОЕ
(КП) = ИМЕНИТЕЛЬНЫЙ
(RCE) = НЕОДУШЕВЛЕННЫЙ
$с) = (ИГ (ПГ (ПР (КРАСНЫЙ БОЛЬШОЙ))) (С
(КУБ))) (ОПИРАЕТСЯ)
Аналогично проводится анализ оставшейся части.
На основе этого метода (с расширениями в сторону
анализа некоторых эллиптических и анафорических
предложений) разработана промышленная (коммерче-
ская) система ROBOT для работы в различных предмет-
ных областях при решении задачи доступа к базе дан-
ных. Она оказалась достаточно мобильной — сравни-
тельно недолго адаптируется к новым БД и к новым
предметным областям.
Метод СМЫСЛ^ТЕКСТ^ЦЕЛЬ. Этот метод ре-
ализован в промышленной системе ПОЭТ [20], работаю-
щей со слабо редуцированным русским языком деловой
прозы. Эта система со словарем в несколько тысяч слов
учитывает не только синтаксис и семантику русского
языка, но и прагматику, определяющую цели общения.
Метод контекстного фрагментирования (МКФ) раз-
рабатывался для анализа и синтеза ЕЯ-предложений,
но его проработка касается в основном анализа [21].
Предпосылками для его возникновения были: отдели-
мость задачи лингвистической трансляции от других
задач общения на ЕЯ и от задач самой ВС; наличие до-
статочно мощных средств описания и фрагментации лин-
гвистических знаний; наличие базовых механизмов об-
работки ЕЯ-предложений. Схема трансляции должна
быть инвариантна относительно подмножеств ЕЯ и проб-
лемных областей; позволять динамически изменять стра-
тегию обработки в зависимости от необходимой глубины
и последовательности этапов трансляции; давать возмож-
ность расширять метод при включении новых конструк-
ций ЕЯ и его редуцировать для упрощенных подмно-
120
жеств ЕЯ и проблемных областей. При этом учитыва-
лось, что используемые подмножества ЕЯ составляют
язык деловой прозы, для конкретных проблемных облас-
тей базовая лексика сравнительно невелика и связный
ЕЯ-текст обязательно включает сложные, эллиптические
и анафорические предложения с возможными искаже-
ниями и ошибками, присущими речевому ЕЯ. Постановка
задачи трансляции для МКФ формулируется в §4.1.
Основу МКФ составляет трехуровневая система:
лингвистическая модель, базовые механизмы обработки
предложений и ассоциированные процедуры. Лингвисти-
ческая модель содержит информацию о морфологии,
синтаксисе и семантике подмножества ЕЯ. Семантика в
МКФ определяется как интерпретация компонентов ЕЯ-
текста компонентами модели проблемной среды. Базовые
механизмы реализуют три отображения, а следователь-
но, и три этапа: Tu Т-^G (грамматический разбор),
4^2:0—>Мо (семантическая интерпретация), Ч^Мо—>М
(проблемный анализ). Ассоциированные процедуры обе-
спечивают замыкание системы в случаях, например, ис-
пользования нового набора отношений, включения в ЕЯ
специальных языков и т. д.
Лингвистическая модель (ЛМ). Структу-
ра ЛМ определяется выбором языка представления зна-
ний и реализуемой схемой трансляции, а ее наполне-
ние — используемым подмножеством ЕЯ и моделью проб-
лемной среды. При этом ЛМ состоит из трех компонен-
тов: грамматическая модель (ГМ), интерпретационная
модель (ИМ) и модель проблемной среды (МПС). В ГМ
заданы словарь и грамматика ЕЯ. В МПС заданы сло-
варь понятий и отношений проблемной среды и грамма-
тика М-языка. В ИМ задается интерпретация слов,
словосочетаний и фрагментов h в понятия, отношения и
фрагменты
Грамматическая модель образована совокупностью
фрагментов двух типов. Фрагменты 1-го типа — ормуль-
тиграфы с раскрашенными вершинами и ребрами Gn(Xg,
Rgi), где Xg — множество элементов ГМ, включающее сло-
ва, морфологические признаки, категории и т. п., a Rgi —
множество морфологических, родовидовых и структурных
отношений (например, «имеет род, число, время, ...»,
«является видом», «входит в структуру»). Объединение
этих фрагментов Gi = ft Gn образует морфологическую
часть ГМ. Синтаксическая информация представляется
в виде фрагментов 2-го типа, называемых контекстами.
121
трассировки
следует за
предикат
документь
трассировка
прилаг
закончено
объявлено
поступили
ооектируют
актировали
выпуск
изделие
образы
панели
КПЛРТ
АТ
СК
существ
КРТ
ВКД
выведены
выведен
начат
глагол
назовите о-
повелит гл
какой
архив
бланки
ручной
основные
когда
О
предикат
О
существ
существ_этап
лк_ выведен
бланки
кр_ причастие!
предикат
согл_в_роде
согл в падеже*
кр_ причасти»
-------►<>
какие
какое
вопр_мест
Рис. 4.9. Фрагменты грамматической модели и модели проблемной
среды
Большинство меток вершин и ребер очевидны. Для обозначения других исполь-
трассировки, АТ — автоматическая трассировка, СК — синтаксический конт
документов, ид — имеет дату, хар — характеризующую, хар-ет — характеризу-
типовой элемент замены, МН — машинные наборы, КЕ — конструкторская
МК — контексты модели проблемной области. Сплошные стрелки обозначают
Контексты образуют иерархическую структуру, которая
задается рекурсивно некоторым множеством графов раз-
личных уровней. Контекст 1-го уровня определяется как
граф Rg2), где Rg2 = RgiURg, a Rg — система выб-
122
б)
ид_объявления_пр ид_начала_пр ид_хар_ состояние
ид_окончания_пр О* ид_разрешения о— ид_начала о Г ид_окончания । 1 ид_формирования о^^’<ар_результат \ ид_вывода О———| ид_сдачи От S’ 1 дата с( \ 7 ск л ч/ \ ид _ хар ^проект МК1 Ж°*\Х*дата w\ S ( <х о 1 S ид_хар_проект / МК5 Х’КЕ этап w\ [ О" »о—————*»о ) Ч хар-ет_этап ид_хар_проект у
**•—этап*тп »• \\ KPTO-J^t /‘ \ч кплрт \ \ /; " еда о \ 1 . z \ 1 / •кдо——• / —этап zz фкд °— фмн zzf еда кд zZ [ сдамн ст ✓ 1 МН d 1 1 документ о | 1 КЕ панель о— / Z изделие о Л/’ ОБПР , МК7 XjOBJlP мн имя_МН\ ( о— »-о в»-о ) 1 хар—ет_МН и_имя_МН/ ид_хар_результат у J дата / мкю /^05-ПР КЕ^\ ( <х — о ) вхвобъект /
зуются следующие сокращения: КПЛРТ — контроль перфоленты ручной
роль, КРТ — контроль ручной трассировки, ВКД — выдача конструкторских
ет, проект — проектирование, и___имя__—имеет имя, вх — входит, ТЭЗ —
единица, ОБ___ПР — объект проектирования, ГК — грамматические контексты,
родовидовое отношение, а штриховые — структурное отношение
ранных синтаксических отношений (например, отноше-
ния согласования, управления, следования и т. д.). Эти
графы образуют множество {G2/}. Контекст 2-го уровня
определяется как граф G2/(Xg|J{G2/},Rg2), где {G2/}=/=0,
123
т. е. граф Gli содержит вершины из Xg и хотя бы одну
вершину из {G2/}. Аналогично определяются контексты
для уровня выше второго. Объединение фрагментов 2-го
типа G2= 0 {Gf} образует синтаксическую часть ГМ,
а вся ГМ есть объединение G= Gi|JG2.
Модель проблемной среды задается аналогично ГМ, одна-
ко вершинам и ребрам соответствуют понятия и отношения
МПС. Фрагменты 1-го типа Mi/(Xw.Rmi), где Хт — мно-
жество «лексем», Rmi — родовидовые и структурные от-
ношения, определяющие «морфологию» М-языка. Его
синтаксис задается фрагментами 2-го типа, объединение
которых есть М2 = 0 (М^Хп/й^МЙ Итг)}, где Rm2 =
/=1< /=0
— RmlURm, 3 Rm — множество проблемных отношений.
Примеры фрагментов ГМ и МПС для подмножества ЕЯ
экспериментальной задачи приведены на рис. 4.9, а, б со-
ответственно.
Интерпретационная модель задается системой про-
дукций вида
(/) ЕСЛИ А. ТО В,
где (/) — имя продукции; ЕСЛИ А, ТО В — тело продук-
ции. Имена продукций — это метки вершин ГМ; А — упо-
рядоченное множество проверяемых контекстов ГМ;
В — соответствующее множеству А множество лексем и
сочетаний лексем МПС.
Базовый компонент трансляции. Про-
цесс трансляции фраз ЕЯ включает в себя процедуры:
а) фрагментирование ЕЯ-предложения
б) интерпретацию фрагментов h во фрагменты тс,
в) «сборку» фрагментов mi в «предложение» М-
языка.
Эти процедуры в основном и определяют этапы транс-
ляции. Их взаимосвязь позволяет в некоторых пределах
варьировать глубину разбора и последовательность эта-
пов. Прежде чем рассмотреть грамматический разбор,
определим некоторые понятия.
Если ЕЯ-предложение 6 представить в виде графа
где X/ — слова предложения (верхние индексы за-
дают порядок слов в предложении), то фрагментом ft/,
графа h будет его подграф /^-изоморфный графу
контекста GL
Два фрагмента и fim одного ti являются связными
или пересекающимися, если пересечение подграфов
ЛлПЛ'т 0 •
124
Фрагмент fq вложен во фрагмент fik, если граф tij
представляет собой подграф Фрагмент fij изолирован,
если U tik = 0 и j=£ k.
k = i
Множество фрагментов {Д,} образует связную струк-
туру фрагментов если для любого связного подмноже-
ства этого множества справедливо tijf} Q /п=/=0
где k = 1, п — 1. i = x i = k+\
Предложение ti полностью фрагментировано, если
каждое слово XjQti принадлежит по крайней мере одному
фрагменту Д/ из некоторого множества фрагментов.
Грамматический разбор состоит в покрытии ti множе-
ством фрагментов {/у. При этом грамматический разбор
будет полным, если существует множество {fij}, фрагмен-
тирующее ti и образующее связную структуру фрагмен-
тов. В остальных случаях разбор будет частичным.
Процесс полного разбора включает в себя выбор кон-
текстов-гипотез из множества {б*/}, сопоставление этих
контекстов с ti и выделение связных фрагментов ti.
Выбор релевантных ti контекстов определяется {х*}
и удачно сопоставленными контекстами.
Сопоставление контекста-гипотезы с ti основано на
поиске 6-изоморфизма расширенного подграфа tij и гра-
фа контекста G*/. Расширением подграфа tij графа ti яв-
ляется такой граф, который получается из объедине-
ния tij с выделенными по определенным правилам под-
графами Gn и GL Правила расширения задаются гра-
фом контекста GL
В результате удачного сопоставления выделяется
фрагмент fij. Если для него справедливо tijf} U =#0,
k = 1
где / — число связных фрагментов для ti, то он допол-
няет связную структуру фрагментов до {fu+\}. После
этого разбор продолжается для слова х*+ m ^{fu+\},
где m — число слов, принадлежащих fij. Если fij — изоли-
рованный фрагмент, то разбор проводится для слова
х?+1^е{/д), т. е. для следующего слова, не входящего в
связную структуру фрагментов. Таким образом, процесс
повторяется до получения полного разбора ti. Результа-
том разбора будет граф т/, образованный графами связ-
ных фрагментов с их расширениями. Если невозможно
получить г/, то предложение считается некорректным с
точки зрения грамматического разбора. Требования по-
125
а) Когда сданы конструкторские документы на панель Ц53 * 007 * 66 ?
q существ
<I предикат
е) (7 ДАТА 1 ) (СДА КД 2) (ПАНЕЛЬ Ц53м007м66)
X--------------------------. о
идокончания хар—етэтап
Рис. 4.10. Иллюстрация процесса трансляции простого изолированного
ЕЯ-предложения в МКФ
крытия и связности фрагментов, необходимые при пол-
ном разборе, не являются обязательными при частичном
разборе. Степень полноты разбора определяется наполне-
нием ИМ.
Результаты частичного грамматического разбора
(расширенных графов и фрагментации) для предложе-
ния, приведенного на рис. 4.10, а, показаны на рис. 4.10,
б, в, где fi — имена выделенных фрагментов.
Синтаксис ЕЯ и М-языка различен, а в общем слу-
чае различны лексика и фрагментация. Лексику М-язы-
ка составляет проблемное подмножество терминальных
понятий и отношений, которые обозначим через pi. Вве-
дем понятие подстрочника предложения 6. Некоторое
частично упорядоченное множество
т?= ({рЛи(р<*}. {р?|и{рп}. {р<"){р"т})
126
образует в лексике М-языка подстрочник ЛЕТ, если
множества {pi} — множество значений в М-языке состав-
ляющих ti (слов и словосочетаний); {pij}—пресуппози-
ции,.. определяемые этими составляющими; п — число
проинтерпретированных составляющих.
Подстрочник является однозначным, если для любого
/ = 1, k справедливо l{р/} I = 1, т. е. он имеет вид
т°= (pt, pl .... pl),
где k^n (пресуппозиции опущены). Число (п — k) ха-
рактеризует количество омонимий, снятых относительно
множеств {pi}.
Семантическая интерпретация состоит в получении по
заданному графу разбора tz однозначного подстрочника
ml Процесс интерпретации включает в себя построение
подстрочника по частям, соответствующим фрагментам
Д/, и снятие неопределенностей в омонимичных частях
подстрочника.
Для элементов {%?} каждого фрагмента Д/ по ИМ
выполняется отображение Ч'г. В результате интерпрета-
ции всех xiZfij получаем часть ml Реализуя итеративно
процесс для всех Д/, получаем весь подстрочник. Снятие
омонимии в подстрочнике осуществляется операцией пе-
ресечения множеств {pf}. Если для определенных
при последовательном пересечении справедливо Кр*}Г|
1, где {р^} и {р^} принадлежат части подстрочника,
соответствующей одному фрагменту то омонимия сни-
мается и одно множество исключается из ml второе
множество заменяется на единственный элемент пересе-
чения, а пресуппозиции для этих двух множеств объеди-
няются. Если невозможно получить однозначный под-
строчник, то предложение считается семантически некор-
ректным с точки зрения интерпретации. Пример под-
строчника приведен на рис. 4.10, г.
Очевидно, что интерпретацию можно выполнять как
при получении полного т,, так и при выделении фрагмен-
тов fij в требуемом объеме и по мере необходимости.
При частичном разборе интерпретация осуществляется
для каждого слова xf Е Л, а множество контекстов вы-
бирается из параметра А тела продукции, соответству-
ющей каждому Xi.
Однозначный подстрочник рассматривается аналогично
графу предложения ti, поэтому все, что справедливо для
ti, справедливо и для графа ml.
Проблемный анализ состоит в построении ц, (анало-
127
гичного Tz), удовлетворяющего синтаксису М-языка. Ана-
лиз выполняется по полной схеме (см. полный граммати-
ческий разбор), в результате которого получается струк-
тура на М-языке, соответствующая ситуации, описанной
в предложении ЕЯ. Результат проблемного анализа по
подстрочнику приведен на рис. 4.10, д, е.
Расширенный компонент МКФ. Описан-
ный выше базовый компонент предназначен для транс-
ляции простых полных предложений. Расширение метода
(без разрушения базового компонента) касается транс-
ляции элементов связного ЕЯ-текста и, в частности, эл-
липтических, осложненных и сложных предложений.
Эллиптические предложения (эллипсисы) характери-
зуются неполнотой как на уровне синтаксиса, так и на
уровне семантики. В МКФ синтаксическим эллипсисом
будет такая фраза ЕЯ-текста для которой справедливо
Зх?(х? С 6&х? t {fi7}),
т. е. в ti существует по крайней мере одно такое слово
х?, для которого нельзя найти фрагмент, расширяющий
связную структуру грамматических фрагментов {fij}: Для
семантических эллипсисов существует аналогичное усло-
вие.
Обработка эллипсисов состоит из двух этапов: вос-
становления их до полных фраз за счет дискурса и транс-
ляции восстановленных фраз с помощью базового ком-
понента. В качестве дискурса используется локальный
дискурс (для частей сложных предложений) или гло-
бальный дискурс (для простых неполных предложений).
Отсутствие дискурса или невозможность корректного
восстановления эллипсиса характеризует нарушение
связности ЕЯ-текста.
Восстановление эллипсисов включает поиск аналогич-
ных фрагментов дискурса и эллипсиса и добавление из
дискурса в эллипсис недостающих фрагментов. Проил-
люстрируем восстановление эллипсиса на простом приме-
ре. Пусть в качестве дискурса задано предложение с ре-
зультатами его обработки (рис. 4.10). Пусть в качестве
текущего будет неполное предложение (эллипсис)
Когда выведены?
Сопоставл ение расширенных графов дискурса и эл-
липсиса даст соответствия
Когда Когда
сданы -*->► выведены,
128
а добавления из дискурса в эллипсис дадут в результате
граф восстановленного эллипсиса, соответствующего ЕЯ-
предложению:
Когда выведены КД на панель Ц53 007 66?
Для сложных предложений необходимы расширение
ЛМ и добавление механизмов обработки более высокого
уровня. Трансляция таких предложений основана на ба-
зовом компоненте для полных фраз сложного предложе-
ния и на схеме трансляции эллипсисов для неполных фраз.
Обработка сложных предложений включает этапы:
разбивка предложения на фразы по признакам «услож-
нения»; получение текущей фразовой структуры предло-
жения с последующим ее уточнением; итеративная транс-
ляция каждой выделенной фразы и «сочленение» на М-язы-
ке описаний, соответствующих отдельным ЕЯ-фразам,
в общее описание на основе окончательной фразовой
структуры ЕЯ-предложения.
Для правильно построенных сложных предложений
всегда существуют признаки усложнения: союзы, союз-
ные слова, знаки препинания и т. д. Для каждого ЕЯ
существует ограниченное множество типов сложных
предложений. Все это позволяет расширить ГМ соответ-
ствующими понятиями и контекстами, необходимыми для
разбивки сложных предложений. Фрагмент ГМ для де-
композиции сложных предложений представлен на
рис. 4.11.
В общем случае стратегия разбивки определяется
получением корректной фразовой структуры сложного
предложения только в процессе последовательного приб-
лижения. Сначала формируется предварительная фразо-
вая структура. Затем по результатам трансляции фраз
она последовательно корректируется.
Процесс разбивки включает: выбор контекстов для
разбивки; сопоставление этих контекстов с выделение
связующих частей предложения и итеративное выделение
фраз. Пример фразовой структуры и результата транс-
ляции сложного предложения приведен на рис. 4.12.
На основе МКФ была построена экспериментальная
система лингвистической трансляции АДАЛИТ, прове-
ренная в нескольких комплексных системах: в системе
доступа к базе данных, содержащей: а) информацию
о состоянии проектирования элементов ВТ, б) информа-
цию о кадровом учете сотрудников некоторого подразде-
ления; в архивной медицинской системе для кодирова-
129
9—1369
ГК60
Рис. 4.11. Фрагмент грамматической модели для декомпозиции
сложных предложений
Найти площадь равностороннего треугольника, катет которого равен 12 см,
а высота — 15.
Предл с—п/опред.
ВЫСТ РСТРЕК КАТЕТ
7ПЛЩД
Рис. 4.12. Фразовая структура сложного предложения и его семантиче-
ское представление в МКФ
ния ЕЯ-диагнозов медицинских учетных карточек; в сис-
теме построения графических изображений по ЕЯ-фор-
мулировкам пользователя.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
4.1. Придумайте предложения с лексической и синтаксической омони-
мией. Например, «Пальто испачкало окно.».
4.2. Дайте определение эллиптических и анафорических предложений.
Запишите полностью эллиптические части предложе-
ний:
«Не игла шьет платье, а руки.»
«Вчера мы встретили Петю в театре, а сегодня —
в кино.»
9*
131
4.3. Сформулируйте задачу лингвистической трансляции, используя
понятия анализа, синтеза и эквивалентных преобра-
зований.
4.4. Проведите морфологический анализ любого предложения, снаб-
див каждую лексему списком грамматических приз-
наков.
4.5. Дайте определения системы составляющих и дерева зависимостей.
Проведите разбор с использованием этих методов
предложения: «Гладь озер положу я к твоим ногам,
бисер брызг водопадов цепочкой надену на шею, шум
порогов я речью тебе передам, только звон тишины
передать не сумею».
4.6. Проведите грамматический разбор предложения «Черный боль-
шой кот вспрыгнул на подножку трамвая» по методу
РСП с использованием фрагмента, приведенного на
рис. 4.8.
4.7. Постройте по методу МКФ грамматическую структуру следу-
ющих сложных предложений, используя контексты,
приведенные на рис. 4.11.:
«Если высота треугольника равна 15 см, а основание 24 см, то какова
его площадь?»
«Когда сданы конструкторские документы на изделие, проектирование
которого закончено 87/11/25?»
Глава
5 Экспертные системы
5.1 Структура экспертной системы
и основные понятия
Экспертные системы представляют собой,
по-видимому, одно из наиболее значительных практиче-
ских достижений в области искусственного интеллекта.
Появившиеся до этого естественно-языковые интерфейсы
трудно сравнивать с ними по степени распространения
и известности. В настоящее время экспертные системы
уже используются в следующих областях [22]:
— интерпретация, т. е. анализ наблюдаемых данных
с целью определения их смысла. Например, при прове-
дении масс-спектрометрических исследований данные
представляют собой измерения масс фрагментов молекул,
а интерпретация означает выявление на их основе хими-
ческих структур;
— прогноз, т. е. прогнозирование хода событий в бу-
дущем на основании модели прошлого и настоящего или,
другими словами, вывод вероятных следствий из задан-
ных ситуаций при наличии, как правило, неполной инфор-
мации;
— диагностика, т. е. процесс поиска неисправности
в системе (или определение стадии заболевания в живом
организме), основанный на интерпретации данных. Напри-
мер, диагностика инфекционных заболеваний;
— мониторинг, т. е. сравнение наблюдений с крити-
ческими точками плана и выдача сообщений при откло-
нении от плана. Например, контроль состояния послеопе-
рационного больного при использовании аппарата искус-
ственного дыхания;
— планирование, т. е. формирование плана дейст-
вий, которые следует выполнять для достижения постав-
ленных целей. Например, планирование эксперимента
в молекулярной генетике;
— проектирование, т. е. построение определенных
конфигураций объектов, удовлетворяющих заданным тре-
133
Конечный
пользователь
Описание
задачи
Подсистема
логического
вывода
Решение
задачи
Объяснение
решения
Модуль
отображения и
объяснения
решений
Рис. 5.1. Структура идеальной
бованиям и ограничениям. Например, проектирование
цифровых или логических схем для ЭВМ;
— отладка, т. е. выработка рекомендаций по устране-
нию неисправностей;
— ремонт, т. е. выполнение плана организации ис-
правления некоторого обнаруженного дефекта;
— управление, т. е. управление поведением некоторой
системы. Например, управление воздушным или назем-
ным транспортом.
А Существует множество определений экспертной сис-
темы. С функциональной точки зрения под экспертной
системой (ЭС) понимается вычислительная система, ко-
торая использует знания специалистов о некоторой конк-
ретной узко специализированной предметной области и
которая в пределах этой области способна принимать
решения на уровне эксперта-профессионала.
Более развернутое и содержательное определение экс-
пертной системы содержится в [22]. Согласно этому
определению, идеальная экспертная система должна
обладать следующими основными свойствами: ком-
петентностью, т. е. принятые ею решения должны быть
такого же высокого уровня, как и у эксперта-профессио-
нала; способностью к рассуждению на основе сим-
вольных преобразований; способностью использовать
как общие, так и частные схемы рассуждения; спо-
собностью решать трудные задачи из сложных реаль-
ных, предметных областей; способностью к перефор-
мулированию запросов и задач; способностью к мета-
рассуждениям, т. е. к рассуждениям о собственной работе
и структуре.
Эти свойства, по существу, характеризуют экспертную
систему как некоторый класс систем искусственного ин-
теллекта, в составе которых обязательно наличие базы
134
База
знаний
Формиро-
вание
знании
Модуль
приобретения
знаний
Эксперт
экспертной системы
знаний и некоторой схемы рассуждения, называемой
обычно системой логического вывода.
В этом смысле материал, излагаемый здесь, имеет
пересечения с материалом гл. 2, 3.
Экспертные системы имеют и существенные отличия
от других решающих систем искусственного интеллекта.
Эти отличия связаны прежде всего с наличием в сос-
таве ЭС систем приобретения знаний и систем отобра-
жения и пояснения решения. Кроме того, в отличие от
излагаемых в гл. 2,3 решателей и систем управления
базами знаний экспертная система, как правило, пред-
назначена для узкой области применения (исключение
могут составлять экспертные системы-оболочки, пред-
ставляющие собой инструментальное средство для разбор-
ки конкретных ЭС).
По существу, успех современных ЭС в значительной
степени объясняется возможностью работы лишь с не-
большой частью знаний человека, что существенно сни-
жает сложность задачи, с которой сталкивается спе-
циалист по искусственному интеллекту, и позволяет соз-
дать работоспособную систему за сравнительно неболь-
шой отрезок времени.
Структура идеальной экспертной системы представле-
на на рис. 5.1. Как видно из этого рисунка,
идеальная экспертная система должна
содержать пять основных компонентов: интерфейс с поль-
зователем, подсистему логического йывода, базу знаний,
составляющими ядро любой экспертной системы, а также
модуль приобретения знаний, модуль отображения и объ-
яснения решений.
Взаимодействие пользователя с экспертной системой
осуществляется через интерфейс с пользова-
телем на проблемно-ориентированном языке непро-
цедурного типа, часто на некотором редуцированном
135
варианте естественного языка. Возникающие здесь проб-
лемы и существующие подходы к их решению подробно
описаны в гл. 4. В интерфейсе с пользователем проис-
ходит преобразование (трансляция) предложений естест-
венного языка (или другого проблемно-ориентированного
языка непроцедурного типа) на внутренний язык пред-
ставления знаний данной экспертной системой. В каче-
стве внутренних языков в экспертной системе чаще всего
используются логические языки или языки продукцион-
ного типа, реже — языки семантических систем.
Описание задачи (запроса) пользователя на
выбранном языке представления знаний поступает в
подсистему логического вывода, которая,
используя информацию из базы знаний, генерирует
рекомендации по решению искомой задачи. Основу базы
знаний ЭС составляют факты и правила. В подсистеме
логического вывода реализуется некоторая стратегия
выбора соответствующего правила из базы знаний, тесно
связанная со способом представления знаний в ЭС и ха-
рактером решаемых задач.
С помощью модуля отображения и о б*ь-
яснения решения происходит отображение проме-
жуточных и окончательных решений и объяснение поль-
зователю действий системы. Как правило, система отве-
чает на вопросы «как» и «почему», т. е. на вопросы типа
«как достигнуто то или иное заключение», «почему оно
было достигнуто «или» почему отброшены другие альтер-
нативы» (см. § 5.4). Многие специалисты полагают, что
наличие модуля объяснения является той важной особен-
ностью экспертных систем, которая обеспечивает необхо-
димый уровень доверия пользователя к системе. Более
того, неявно предполагается, что если метод рассужде-
ния, реализованный в экспертной системе, не может быть
объяснен человеку, то он должен быть признан неудов-
летворительным. Эта ситуация отличается от той, кото-
рая существует в области разработки решателей
(см. гл. 3), где важно само решение и не столь сущест-
вен процесс объяснения этого решения.
Функция модуля приобретения знаний
состоит в поддержке процесса извлечения знаний о соот-
ветствующей узкоспециализированной предметной обла-
сти (см. § 5.4). Как правило, эти знания, носящие эмпири-
ческий характер, плохо формализованы и отсутствуют
в специальной литературе: учебниках, инструкциях, отче-
тах. Такие знания приобретаются экспертом в результате
136
длительного опыта. Процесс передачи этих знаний от
эксперта системе является наиболее узким местом при
проектировании экспертных систем.
5.2 База знаний и логический вывод
в экспертных системах
Рассмотрим вопросы представления знаний,
структуру базы знаний и вопросы вывода в заданной моде-
ли некоторой типичной экспертной системы. Чаще всего для
представления знаний в экспертных системах использу-
ются логические, продукционные и семантические модели.
Логические и семантические модели достаточно подробно
рассмотрены в гл. 3 и 2 соответственно, поэтому здесь
рассмотрим только продукционные модели.
Продукционные модели основываются на продукцион-
ной системе Поста, предложенной для формальной заме-
ны последовательностей символов. Под продукционными
системами понимаются программные системы, управляе-
мые с помощью правил продукций и состоящие из трех
основных частей: множества правил продукций, базы
данных (множество фактов) и интерпретации (означи-
вания) .
Правило продукции представимо в виде импликации:
Pi'.Si^di, (5.1)
где pi — правило продукции; s, — антецедент импликации
(условия применения правила р,); di — консеквент имп-
ликации (оператор, определяющий результат применения
правила р,).
Интерпретация (означивание) —это пары (Д, pz),
где fi — факт, р, — правило продукции.
На множестве правил обычно задано отношение по-
рядка. В функции интерпретатора входит просмотр левой
части правила (антецедентов) и сравнение их с фактами
из базы данных. В случае их совпадения над фактами
применяется некоторая процедура, определенная в пра-
вой части правила. После этого процесс просмотра про-
должается со следующего по порядку правила.
Работа продукционной системы состоит из последова-
тельности итераций «идентификация — действие» [23].
Каждая итерация включает в себя процедуры принятия
решения о вызове очередного правила и выполнения
действий, определяемых им. Действия вызывают измене-
ния в множестве фактов, которые могут влиять на выбор
137
подходящего правила. Идентификация основана на сопо-
ставлении условий из левой части правила продукции
с содержанием базы данных. Из множества правил,
у которых совпали левые части, формируется так назы-
ваемый конфликтный набор. После этого применяется та
или иная процедура разрешения конфликта, в результате
чего выбирается некоторое правило из конфликтного
набора, исполняется его правая часть и цикл повто-
ряется. Существует ряд способов повышения эффектив-
ности выбора требуемой продукции из множества (про-
цедур разрешения конфликта). К ним относятся:
— упорядочение продукций (линейное или частич-
ное), т. е. указывается порядок применения правил;
— задание правил недавности (свежести) данных,
т. е. используется возраст данных;
— введение правил различий, т. е. используется па-
мять состояний, например если данная интерпретация
выполнялась, то она уже не выполняется;
— задание класса специальных случаев, т. е. исполь-
зуется отношение между означиваниями: некоторое пра-
вило используется, если искомая продукция является
специальным случаем другой продукции;
— применение в первую очередь продукций с наибо-
лее жесткими требованиями (продукций с наиболее длин-
ным списком условий).
Процедур . разрешения конфликтов и информация о
последовательности примененных к базе данных продук-
ций составляет ядро стратегии управления продукцион-
ной системы.
Кроме прямых и обратных стратегий, последователь-
ных и параллельных стратегий (см. гл. 3) существует
классификация стратегий и по возможности возвращения
в некоторое предыдущее состояние: стратегии с возмож-
ностью возвращения и безвозвратные.
При стратегии с возможностью воз-
вращения существует возможность возвращения к
предыдущему состоянию базы данных, чтобы применить
альтернативную продукцию. Одна из наиболее распрост-
раненных стратегий этого класса — стратегия бэктрекинг
(ее описание см. в гл. 3). Более сложными стратегиями
с возможностью возвращения являются стратегия управ-
ления поиском на графе, которая обеспечивает возмож-
ность хранения следов от нескольких последовательнос-
тей продукций одновременно, и двунаправленная стра-
тегия.
138
При безвозвратной стратегии в каждый
момент поиска выбирается одна из подходящих продук-
ций, она применяется и в дальнейшем, если поиск завер-
шается неудачей, нет возможности вернуться к этой точ-
ке и применить другую продукцию. Безвозвратную стра-
тегию можно успешно применять при параллельном по-
рождении всех возможных вариантов вывода.
Одной из основных характеристик экспертных систем
является необходимость работы с большим объемом зна-
ний, подобно тому, как это делает квалифицированный
эксперт данной проблемной области. В этих условиях
актуален вопрос об организации этих знаний в некото-
рую структуру.
Обычно в развитых экспертных системах выделяют
четыре типа знаний: фактуальные (декларативные);
процедурные; управляющие; метазнания.
Фактуальные знания (база фактов) пред-
ставляют собой информацию о конкретных фактах,
собираемую посредством диалога с пользователем, кото-
рый указывает, какие факты следует считать истинными.
Процедурные знания обычно собираются
заранее путем опроса эксперта и составляют ядро базы
знаний. В продукционных моделях — это, по существу,
множество правил продукции.
Управляющие знания представляют собой
некоторый набор стратегий.
Метазнания — это знания о знаниях, т. е. это
знания экспертной системы о себе, своей работе, своей
структуре, своей базе знаний и схеме рассуждения. Мета-
знания играют важную роль в рассуждениях эксперта-
человека, они же в конце концов определяют уровень
компетентности экспертной системы.
В большинстве современных экспертных систем мета-
знания либо вообще отсутствуют, либо присутствуют
в неявном виде. Однако исследования в этом направле-
нии ведутся очень интенсивно ввиду их большой значи-
мости для повышения эффективности функционирования
ЭС и, в частности, для корректного объяснения пользо-
вателю хода рассуждения при принятии того или иного
решения и достаточных оснований для выбранного ре-
шения.
Метазнания могут выступать в разнообразных фор-
мах. В [22] приводятся примеры применения метазнаний:
— для адекватного выбора правила продукции при
текущем состоянии базы фактов;
139
— для обеспечения информации архивного типа о
правилах и знаниях, такой, как, например, насколько
быстро работает то или иное правило, кто ввел некото-
рую совокупность данных и т. д.;
— для помощи в обнаружении ошибок;
— для усиления возможностей ЭС давать объяс-
нения;
— для облегчения ввода в систему новых знаний
(фактов, правил) с использованием демонстрации основ-
ных конструкций знании аналогичного типа.
5.3 Объяснение в экспертных системах
При взаимодействии пользователя с экс-
пертной системой в идеале должны существовать
три режима:
1) получение решения поставленных задач, когда
пользователь выступает как специалист-потребитель;
2) изменение и пополнение базы знаний, когда поль-
зователь выступает в качестве эксперта;
3) извлечение полезной информации из базы знаний,
в том числе для объяснения структуры экспертной сис-
темы и основных законов ее функционирования, когда
пользователь выступает в качестве обучаемого.
Выше было рассмотрено функционирование эксперт-
ной системы в основном в первом режиме; § 5.4 посвя-
щен второму режиму и, в частности, вопросам модифи-
кации базы знаний; здесь же рассмотрим некоторые
вопросы, связанные с реализацией третьего режима как
режима объяснения.
Как считают многие специалисты, способность к
объяснению является одним из главных отличительных
свойств экспертной системы и во многом определяет до-
верие к даваемым системой советам. Объяснение может
служить нескольким целям, среди которых — возмож-
ность убедить пользователя в оправданности предпри-
нятой последовательности рассуждений. Однако простое
прослеживание экспертных правил, использованных в
данном выводе, является одним из наименее удовлетво-
рительных объяснений, которые может дать экспертная
система. Более убедительно объяснение, основанное на
фундаментальных принципах организации знаний в рас-
сматриваемой предметной области. Однако реализация
объяснения такого уровня практически недоступна совре-
менным экспертным системам.
140
По существу, подсистема объяснения должна уметь
разъяснять пользователю различные аспекты работы,
отвечая в основном на вопросы типа «как», «почему»
и «какие»:
— как получено данное решение?
— как использована данная информация?
— какое решение принято по определенной подза-
даче?
— почему не использовалась данная информация?
— почему не использовалось данное правило?
— какие знания привлекались при получении данного
решения?
— какие отношения существуют в базе знаний?
Формы ответа могут быть различными [23]:
— текст на редуцированном естественном языке, со-
провождаемый схемами и рисунками;
— обратное развертывание дерева целей (трассы вы-
вода) с указанием подцелей;
— вызов работающего правила или правила, связан-
ного с данной подцелью;
— поиск в базе знаний и предъявление правил, яв-
ляющихся ответом на вопрос.
Самый простой вид объяснения — ответы на вопросы
о содержании базы знаний, однако чаще всего этого ока-
зывается недостаточно. Пользователю необходимо пони-
мать ход рассуждения. Однако возможность современ-
ных экспертных систем в этом отношении достаточно
ограничена; у большинства из них объяснения даются
в терминах целей и правил. Например, вопрос «Почему
система сделала данный вывод?» на внутреннем языке
системы интерпретируется так: «В каком из правил
обнаружена такая-то цель и к какой цели приводит
применение этого правила?»
Для пользователей же важна аргументация, основан-
ная на глубинных причинно-следственных закономернос-
тях данной предметной области. Разработка подобного
рода систем объяснения, тесно связанная с наличием
в системе метазнаний, является одним из центральных
моментов экспертных систем.нового поколения.
5.4 Приобретение знаний
Под процессом приобретения знаний обыч-
но понимается процесс передачи опыта по решению не-
которого класса задач от определенного источника зна-
ний в программную систему [22, 23].
141
В качестве потенциальных источников знаний могут
выступать эксперты, специальная литература по данной
проблеме и личный опыт пользователя.
Часто знания о проблемной области носят отрывоч-
ный характер, слабо структурированы и плохо формали-
зованы. Именно в этих условиях наиболее адекватно
использование экспертных систем. Поэтому основным ис-
точником знаний в ЭС, как правило, служат эксперты,
являющиеся опытными практиками в какой-то узкой
предметной области. Знания, которые могут быть получе-
ны от эксперта, представляют собой набор специаль-
ных фактов, правил, процедур и оценок в узкой области
знаний, а не общие знания о какой-либо предметной
области.
Сложность передачи информации от эксперта к про-
граммному продукту приводит к необходимости введе-
ния в процесс проектирования ЭС специального посред-
ника — инженера по знаниям. В качестве основных труд-
ностей организации процесса извлечения знаний из экс-
перта обычно отмечается несоответствие способа, кото-
рым формулирует знания эксперт, способу представления
знаний в ЭС; неспособность и нежелание эксперта выра-
зить свои знания, сложность проведения испытаний
экспертной системы.
Процесс извлечения знаний из эксперта и формиро-
вание на этой основе структурированной формализован-
ной модели проблемной среды можно разбить на несколь-
ко этапов. В [22] в качестве таких этапов выделены иден-
тификация, концептуализация, формализация, реализа-
ция и тестирование (отладка).
На этапе идентификации инженер по знаниям
и эксперт должны дать характеристику искомой проб-
леме и связанных с нею знаний, т. е. они должны отве-
тить на вопросы типа: какие классы задач будет решать
данная ЭС, какие задачи основные, какие — вспомога-
тельные, каков перечень подзадач, перечень основных
понятий и их взаимосвязей и т. д. Понятия и связи,
выявленные на стадии идентификации, должны быть явно
зафиксированы на естественном языке на этапе кон-
цептуализации.
Этап формализации состоит в формальном
представлении зафиксированных основных понятий и их
связей на некотором выбираемом языке представления
знаний. Результатом формализации является разработка
спецификаций для построения некоторого варианта базы
142
знаний. После формализации происходит этап реали-
зации построенной в виде графов или диаграмм базы
знаний, выбранных механизмов логического вывода и
стратегий управления в виде текстов и программ проек-
тируемой экспертной системы.
Этап тестирования предусматривает проверку
и отладку варианта базы знаний в рамках эксперимен-
тальной версии экспертной системы на представительном
множестве тестовых примеров из данной предметной
области.
Процесс построения базы знаний и экспертной систе-
мы в целом имеет итеративный характер, включающий
внесение необходимых изменений в базу знаний и отладку
полученных вариантов.
Наряду с традиционными способами извлечения зна-
ний из эксперта или других источников знания через по-
средника — инженера по знаниям — предпринимаются
попытки автоматизации этого процесса. Одним из наи-
более простых способов автоматизированного приобре-
тения знаний является организация работы эксперта
через вопросо-ответную систему [23]. В этом случае
роль инженера по знаниям берет на себя вопросо-ответ-
ная система, которая запрашивает у эксперта информа-
цию об используемых им терминах, просит определить
и уточнить основные понятия и связи. Очевидно, что
возможности этого способа значительно ограничены за-
ранее составленным сценарием.
Наиболее радикальным решением было бы создание
некоторой программы индуктивного или правдоподобного
вывода, которая могла бы строить базу знаний, опираясь
на те же источники, что и эксперт, т. е. на прошлый
опыт и специальную литературу.
В современных экспертных системах эти программы
основаны, как правило, на методах обучения с помощью
предъявления множества примеров. Эта задача во мно-
гом аналогична задаче синтеза программ на основе
предьявления синтезируемой системе примеров коррект-
ных программ, решающих определенную задачу. В на-
стоящее время созданы программы, которые обучаются
как фактическим знаниям о предметной области, так и
знаниям о стратегиях решения задач. Однако, хотя пер-
вые подобные программы и существуют (см. § 3.3), тем
не менее решение задачи индуктивного вывода для об-
щего случая автоматического формирования базы зна-
ний даже теоретически пока не найдено.
143
5.5 Инструментальные средства
для построения экспертных систем
Экспертные системы образуют один из наи-
более важных и распространенных видов интеллектуаль-
ных систем. Уже сейчас они приносят значительный
экономический эффект в различных областях практиче-
ской деятельности. При этом возможности развития идей
и методов создания ЭС, а также более широкого их рас-
пространения далеко не исчерпаны. В то же время из-
вестно, что разработка любой практически значимой
ЭС — это большая и сложная работа, требующая при-
влечения квалифицированных специалистов-экспертов в
соответствующей предметной области и специалистов-
разработчиков ЭС как программной системы. Естествен-
но поэтому, что для создания подобных систем разраба-
тываются разнообразные инструментальные средства.
Как и к любым инструментальным средствам програм-
мирования, к средствам создания экспертных систем при-
менимы следующие критерии оценки:
— универсальность, т. е. возможность создавать с
помощью испульзуемого инструментального средства или
комплекса средств разнообразные ЭС, учитывать и отра-
жать в конечном продукте специфические особенности
проблемной среды и прикладных задач, для решения
которых предназначена ЭС, в достаточной степени удов-
летворять потребности различных пользователей ЭС;
— мощность, т. е. возможность упрощать создание
систем и в конечном итоге сокращать затраты на их
разработку; мощность инструментального средства тем
выше, чем больше ожидаемое от его применения сокра-
щение затрат;
— эффективность, т. е. возможность строить системы,
удовлетворительные по времени реакции на запросы
пользователей и объему потребляемых вычислительных
ресурсов.
Анализ инструментальных средств, предназначенных
для разработки ЭС, с позиций указанных критериев
позволяет более четко определить возможности и огра-
ничения этих средств, а также области их целесообраз-
ного применения. Подобный анализ проводится ниже
для каждого из выделяемых классов средств.
Прежде всего необходимо хотя бы кратко охаракте-
ризовать технологию проектирования и реализации ЭС.
Здесь, как правило, выделяются следующие этапы:
144
1) предварительное приобретение знаний о проблем-
ной среде, прикладных задачах и правилах их решения;
2) определение (спецификация) языка представления
фактов и продукций, формирование (фиксация) страте-
гий управления логическим выводом, адекватных при-
кладным задачам, которые предполагается решать с по-
мощью ЭС;
3) создание предварительного варианта экспертной
системы как комплекса, включающего базу знаний и
программные средства логического вывода, приобретения
новых знаний и объяснения решений;
4) тестирование и доработка предварительного ва-
рианта ЭС.
Хотя имеется некоторый опыт автоматизации работ,
относящихся к первым двум стадиям, соответствующие
средства в настоящее время являются лишь эксперимен-
тальными. Большая часть имеющихся инструментальных
средств предназначена для применения на третьей и чет-
вертой стадиях.
По функциональным возможностям эти средства мож-
но разделить на основные и вспомогательные. Основ-
ные средства образуют языки, предназначенные
для описания компонентов ЭС, и системы программиро-
вания, поддерживающие эти языки. Вспомогатель-
ные средства предназначены для того, чтобы уп-
ростить отдельные этапы разработки или тестирования
тех или иных компонентов ЭС. Например, вспомогатель-
ные средства можно применить для наполнения и моди-
фикации базы знаний, содержащей факты и продукции,
описывающие проблемную среду. Основные и вспомога-
тельные средства тесно связаны: состав и возможности
вспомогательных инструментальных средств определяют-
ся характером основных.
Спектр используемых при разработке ЭС основных
инструментальных средств очень широк, и их многооб-
разие не поддается жесткой классификации. Для после-
дующего изложения здесь условно выделим три группы
средств:
1) генераторы экспертных систем (в некоторых рабо-
тах для средств этой группы используется термин «обо-
лочка» — точный перевод соответствующего английского
слова «shell»);
2) специализированные языки и системы программи-
рования (не вполне точно называемые иногда языками
представления знаний);
10—13В»
145
3) универсальные языки и системы программиро-
вания.
Генераторы ЭС характеризуются тем, что предпола-
гают тот или иной язык описания фактов и продукций,
а также определенную стратегию логического вывода.
Таким образом, применение генератора, как правило,
ограничивается теми классами прикладных задач, для
которых указанные средства адекватны.
В отношении языка описания фактов и продукций
адекватность, по-видимому, следует трактовать как воз-
можность относительно компактно и ясно представить
проблемную область в базе знаний, поскольку принципи-
ально выразительные возможности языков такого рода
различаются не слишком существенно.
Опыт работ в области экспертных систем показывает,
что от правильного выбора стратегии логического вывода
существенно зависит среднее время консультации, а
иногда и принципиальная возможность получения реше-
ния. Если генератор экспертных систем предполагает
жестко фиксированную стратегию вывода, то его приме-
нение ограничивается теми проблемными средами и при-
кладными задачами, для которых реализуемая страте-
гия позволяет получать решения за приемлемое для
пользователя время (оно может существенно разли-
чаться для разных сред и задач). Однако существуют
и такие генераторы ЭС, которые обеспечивают разработ-
чику возможность влиять в определенных пределах
на стратегию вывода путем задания метаправил, т. е.
правил, определяющих порядок выбора и применения
продукций, представленных в базе знаний. Эти генерато-
ры более гибки и универсальны, чем генераторы с жест-
кой стратегией вывода, хотя, по-видимому, менее эффек-
тивны (так как необходимо затрачивать определенные
ресурсы на обработку метаправил).
Если генератор ЭС обеспечивает средства, адекват-
ные решаемым задачам, то его эффективность доста-
точна для практических применений (когда последние
не предъявляют слишком жестких специальных требо-
ваний, например к времени реакции). В некоторых гене-
раторах для повышения эффективности работы обеспе-
чивается возможность «компиляции» базы знаний, т. е.
преобразование фактов и продукций в некоторый внут-
ренний для системы код, обработка которого требует
меньшего объема ресурсов. Механизм компиляции имеет
и то преимущество, что позволяет на ранних этапах
146
построения базы знаний ЭС выявить и устранить син-
таксические ошибки в использовании языка описания,
противоречивые и тавтологичные продукции и системы
продукций.
Среди выделенных групп основных инструментальных
средств для построения ЭС генераторы обладают наи-
большей мощностью. Их применение позволяет миними-
зировать разработку или вообще не разрабатывать про-
цедурные компоненты ЭС. Все эти компоненты уже реа-
лизованы в генераторе и настраиваются на конкретное
применение тем или иным наполнением базы знаний.
Задача разработчика сводится к тому, чтобы такое на-
полнение провести. Для этой цели генераторы ЭС, как
правило, снабжаются различного рода редакторами баз
знаний — дополнительными инструментальными средст-
вами, которые обеспечивают возможности внесения, уда-
ления и модификации фактов и продукций в базе знаний.
Развитые редакторы этого типа могут быть удобны тем,
что обеспечивают структурное редактирование (напри-
мер, редактирование всех продукций с заданным консек-
вентом), анализ синтаксической корректности проводи-
мых изменений, выявление противоречий и тавтологий
в базе знаний и т. п.
Не следует думать, что задача наполнения базы
знаний проста. Верно лишь то, что такая задача решает-
ся при создании ЭС всегда — независимо от используе-
мых инструментальных средств. Поскольку применение
генератора ЭС делает эту задачу единственной при
разработке системы, можно утверждать, что генераторы
представляют собой наиболее мощные инструментальные
средства. Сложность наполнения базы знаний опре-
деляется в первую очередь тем, что с увеличением числа
продукций становится все труднее прогнозировать дей-
ствия системы. Такое положение усугубляется возмож-
ностями использования метаправил для изменения стра-
тегии вывода и показателей определенности фактов и
продукций. Эти показатели, учитывающие неточность и
неполноту знаний о предметной области, широко приме-
няются во всех сколько-нибудь сложных ЭС и играют
важную роль в стратегиях вывода. В этих условиях пра-
вильно, по-видимому, говорить об отладке базы знаний
по аналогии с отладкой программ в традиционном про-
цедурном программировании. При этом для базы знаний
такая работа имеет, очевидно, свою специфику. Для
удобства отладки генераторы ЭС снабжаются различ-
10*
147
ного рода трассировщиками и средствами сопровожде-
ния тестовых баз знаний. Трассировщики позволяют про-
слеживать процессы выбора и применения продукций,
приостанавливать логический вывод и динамически изме-
нять базу знаний, сохранять новые версии базы знаний
для последующего тестирования. Средства сопровождения
тестовых баз знаний обеспечивают возможность экспери-
ментирования с несколькими различными версиями базы,
формирования новых версий из созданных ранее и т. п.
Разумеется, и трассировщики, и средства сопровождения
тестовых баз знаний являются вспомогательными инстру-
ментальными средствами создания ЭС.
Специализированные языки и системы программиро-
вания, как правило, специально ориентированы на раз-
работку экспертных систем. Зачастую они представляют
собой функциональные расширения языка программиро-
вания ЛИСП и допускают использование процедур
ЛИСП наряду с собственными конструкциями. Ориента-
ция этих средств на ЭС проявляется в том, что они под-
держивают упрощенную схему логического вывода, типич-
ную для процедурного метода представления знаний.
По необходимости пренебрегая разнообразными и су-
щественными с практической точки зрения особенностями
средств этого вида, можно описать принципиальный ме-
ханизм их работы.
Продукция представляется как совокупность некото-
рой структуры данных (определяющей антецедент про-
дукции) и процедуры (определяющей консеквент). Дей-
ствие системы инициируется заданием некоторого об-
разца — структуры данных, которая по определенным
правилам сопоставляется с антецедентами продукций,
имеющихся в базе знаний. В том случае, когда сопостав-
ление выполняется успешно, активизируется консеквент
соответствующей продукции, т. е. выполняется связанная
с ней процедура. В результате могут измениться анте-
цеденты других продукций базы знаний, системе может
быть задан новый образец и т. п.
Описанный базовый механизм служит основой для
разработки экспертных систем с различными сколь угод-
но сложными стратегиями вывода. Изменения стратегии
в описанной схеме можно достичь путем смены про-
цедуры сопоставления с образцом, которая в реальных
системах может быть весьма сложной и должна реали-
зовываться разработчиками ЭС. Следует отметить, что про-
цедурность консеквента продукции не является харак-
148
терной особенностью систем, реализуемых на основе
рассматриваемых средств. Разработчик ЭС может само-
стоятельно сформировать приемлемый язык описания
фактов и продукций, который обеспечивает возможность
декларативного определения консеквентов. В этом слу-
чае он должен определить методы представления кон-
струкций своего языка в конструкции выбранного сред-
ства и разработать универсальную процедуру интерпре-
тации декларативно представленных консеквентов. Эту
процедуру и следует рассматривать в качестве присоеди-
ненной для всех представленных в базе знаний про-
дукций.
Обладая высокой универсальностью, специализиро-
ванные языки могут использоваться как для разработки
конкретных ЭС, так и для создания генераторов. Для
реализации последней возможности особый интерес пред-
ставляет создание библиотек процедур, обеспечивающих
различные стратегии вывода. Следует, однако, отметить,
что каждая такая процедура тесно связана с выбранным
разработчиком языком описания фактов и продук-
ций и поэтому не является вполне универсальной. В це-
лом возможность построения сколь угодно сложной кон-
кретной системы — основное преимущество рассматри-
ваемых инструментальных средств.
Опережая генераторы в универсальности, специали-
зированные языки существенно уступают им в мощности.
Это определяется не только необходимостью создания
процедурных компонентов ЭС, но и невозможностью
создания столь же развитых, как для генераторов,
вспомогательных средств. Точнее, такие средства могут
(и должны) быть созданы для каждой конкретной ЭС,
но нельзя сделать их столь же универсальными, как и
рассматриваемые основные средства. Тем не менее спе-
циализированные языки, как правило, снабжаются вспо-
могательными средствами, которые, хотя и ниже уров-
нем, чем у генераторов ЭС, весьма полезны при созда-
нии систем. К вспомогательным средствам здесь отно-
сятся структурные редакторы базы знаний, работающие
на уровне конструкций специализированного языка, и
трассировщики, работающие на уровне базового меха-
низма логического вывода.
С позиций эффективности специализированные языки,
как правило, должны обеспечивать системы, эквивалент-
ные полученным на основе генераторов ЭС (разумеется,
в тех случаях, когда применение последних целесообраз-
149
но). Для специализированных языков возможна компи-
ляция не только базы знаний, но и процедурных ком-
понентов ЭС.
Универсальные языки и системы программирования,
такие, как ЛИСП, ПАСКАЛЬ, СИ и т. п. обеспечивают
возможности создания наиболее эффективных систем, так
как здесь продукции и стратегии вывода могут быть реа-
лизованы процедурно — непосредственно в программах,
а не во внешней по отношению к ним базе знаний. Оче-
видно, также, что эти средства универсальны, т. е. могут
быть применены для разработки любой сколь угодно
сложной ЭС. Однако из всех указанных средств эти, ес-
тественно, наименее мощны, т. е. наиболее сложны и
трудоемки в применении. Кроме того, когда продукции
и стратегии вывода реализуются процедурно, сущест-
венно усложняется сопровождение системы, т. е. ее моди-
фикация при необходимости. Набор дополнительных ин-
струментальных средств состоит из типичных для соот-
ветствующих языков средств редактирования программ
и, возможно, символьных отладчиков. Отсутствие удоб-
ных вспомогательных инструментальных средств, ана-
логичных описанным выше, вряд ли допустимо при соз-
дании достаточно сложных ЭС, а их реализация увели-
чивает общую трудоемкость разработки. В связи с ука-
занными недостатками универсальные языки редко ис-
пользуются для создания конкретных экспертных систем.
Их целесообразно применять лишь в тех случаях, когда
к конечному продукту предъявляются повышенные тре-
бования по использованию ресурсов и в первую очередь
по времени реакции. И даже в таких случаях, по-види-
мому, целесообразно сначала создать и отладить систему
с использованием средств, описанных выше. Убедившись,
что результат разработки удовлетворяет требованиям и
больших изменений в нем не ожидается, можно пере-
писать программу на универсальном языке программи-
рования. Хотя случаи использования рассматриваемых
средств для создания конкретных ЭС достаточно редки,
универсальные языки программирования широко приме-
няются при разработке генераторов ЭС и систем про-
граммирования для специализированных языков. В част-
ности, на языках СИ и ПАСКАЛЬ разработан ряд попу-
лярных за рубежом генераторов ЭС для персональных
ЭВМ.
5.6 Экспертные системы
нового поколения
В настоящее время специалисты различ-
ных отраслей (инженеры, конструкторы, технологи, вра-
чи, адвокаты и т. д.) проявляют большой интерес к
экспертным системам. Созданы десятки коммерческих
экспертных систем, преимущественно в США и Западной
Европе. Опыт их проектирования и эксплуатации поз-
волил выявить ряд требований к экспертным системам
нового поколения. К числу основных требований отно-
сятся:
— разработка эффективных средств для создания и
поддержания больших баз знаний, ибо современные ЭС
(при отсутствии таких средств) вынужденно ориенти-
руются на узкие проблемные области (см. гл. 2);
— разработка систем объяснения, дающих объясне-
ния в терминах общих принципов построения баз знаний,
в частности метазнаний, т. е. знаний системы о себе и
своих функциональных возможностях, в том числе и о
том, чего она не может делать;
— автоматизация процесса извлечения знаний из экс-
перта с помощью реализации индуктивных и правдопо-
добных схем рассуждения;
— автоматизация процесса выбора стратегий в зави-
симости от решаемой задачи;
— работа в динамически меняющейся среде, т. е.
построение динамических экспертных систем;
— создание гибридных (интегрированных) экспертных
систем, объединяющих возможности традиционных экс-
пертных систем, систем управления баз знаний (баз дан-
ных) и интеллектуальных пакетов прикладных программ;
— аппаратная реализация экспертных систем или ее
подсистем, обеспечивающая значительное повышение их
вычислительной мощности, быстродействия и надежности.
Реализация этих функций в экспертных систе-
мах нового поколения позволит вплотную подойти к до-
стижению вычислительной машиной уровня высококва-
лифицированного специалиста данной предметной об-
ласти. Это, в свою очередь, будет способствовать даль-
нейшему расширению сферы применения ЭВМ как в
научных исследованиях, экономике, промышленности,
так и в быту.
151
СИ СИ СИ СП сл СП
СИ фь со кэ •—
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
Дайте определение экспертной системы.
Назовите основные области применения экспертных систем.
Какие методы представления знаний используются в экспертных
системах?
Что такое метазнание?
Перечислите функции подсистемы объяснения.
Назовите основные этапы процесса формирования концептуальной
модели предметной области.
5.7. Перечислите и поясните важнейшие требования, предъявляемые
к инструментальным средствам для построения экс-
пертных систем.
5.8. Назовите основные группы инструментальных средств для построе-
ния экспертных систем.
5.9. Охарактеризуйте требования, предъявляемые к группам инстру-
ментальных средств.
Заключение
До начала 80-х годов работы по интеллек-
туализации ЭВМ носили главным образом исследова-
тельский, экспериментальный характер. Исследования,
проводимые как в СССР, так и за рубежом, показали
принципиальную достижимость решения проблемы значи-
тельного расширения интеллектуальных возможностей
ЭВМ, выявили трудности, стоящие на пути ее решения,
и наметили пути их преодоления.
Потенциальные выгоды, которые обещает применение
интеллектуальных систем в промышленности, вызвали
настоящий бум в области интеллектуализации, начав-
шийся за рубежом в середине 80-х годов. Так, мировой
рынок (без СССР) интеллектуальных систем в 1985 г.
составлял 350 млн. долл., включая стоимость их раз-
работки. Прогнозы же обещают, что в 1990 г. эта сумма
увеличится до 19 млрд, долл., что даст небывалый рост —
5400%. Понятно, что такие суммы могут тратиться
только в условиях широкого внедрения интеллектуальных
систем в различные отрасли экономики — хозяйственные,
производственные, военные.
Указанные обстоятельства позволяют утверждать
неизбежность ускоренного развития средств интеллектуа-
лизации в СССР и их выход на промышленный уровень
в ближайшее время.
Основными проблемами, которые предстоит решить
на пути создания промышленных интеллектуальных сис-
тем, являются:
1) разработка целостной технологии работы со зна-
ниями, в состав которой должны входить развитый язык
представления знаний, методика и средства автоматизи-
рованного построения моделей проблемных сред, методы
и средства хранения больших объемов знаний и эффек-
тивной работы с ними. Центральным моментом в созда-
ла
нии технологии работы со знаниями должна быть раз-
работка фундаментальных принципов отображения проб-
лемной среды в ее семиотической модели.
Попытки фрагментарной реализации такой техноло-
гии могут принести только временный успех при разра-
ботке систем непромышленного характера;
2) создание единого комплекса инструментальных
средств, поддерживающих разработанную технологию, и
последовательная аппаратная реализация этих средств,
обеспечивающая их необходимую эффективность;
3) разработка базисных инструментальных систем,
обеспечивающих объединение технологии работы со зна-
ниями с технологией традиционных вычислительных
средств. Базисные инструментальные системы должны
обеспечивать, с одной стороны, независимость
создаваемых средств интеллектуализации от разнообраз-
ных технических и программных средств традиционной
вычислительной техники, с другой — работу последних
под управлением интеллектуальных систем;
4) разработка функционально-ориентированных ком-
понентов (ФОК) интеллектуальных систем (ИС), таких
как решатели, лингвистические трансляторы, системы вво-
да и обработки символьно-графических и многограда-
ционных изображений, графические системы, диалоговые
подсистемы и т. п. В общем случае под ФОК понимается
программная либо программно-аппаратная система, ори-
ентированная на выполнение какой-либо функции в сос-
таве некоторой интегральной интеллектуальной системы;
5) разработка технологии сборки на базе ФОК интег-
ральных ИС (включая разработку принципов интеграции
ФОК в единой системе, интерфейсов между ФОК и т. д.);
6) разработка проблемно-ориентированных ИС. Под
проблемно-ориентированной интеллектуальной системой
(ПО ИС) понимается интегральная ИС, ориентированная
на решение задач определенного типа, адаптируемая внут-
ри этого круга к конкретным предметным областям
(например, информационно-поисковая система, расчетно-
логическая система, экспертная система-«оболочка»
и т. п.). ПО ИС создается на основе выбора необходимой
конфигурации базовых ФОК с возможным дополнитель-
ным включением в ее состав проблемно-ориентированных
компонентов, разрабатываемых специально для данного
типа задач;
7) разработка прикладных ИС — систем, ориентиро-
ванных на конкретное применение, т. е. на решение опре-
154
деленного типа задач в конкретной предметной области.
Как правило, прикладная ИС должна формироваться на
базе той или иной ПО ИС на основе использования спе-
циальной методики настройки на конкретное применение.
8) создание средств периферии, обеспечивающих
широкий спектр требований по реализации естественных
для человека способов общения с ЭВМ.
В целом можно прогнозировать, что ближайшие 5—6
лет станут годами создания спектра промышленных
программных средств интеллектуализации и за этот же
период будет заложена база для создания интеллекту-
альных систем, основывающихся на широкой аппаратной
реализации.
Список литературы
1. Бенерджи Р. Теория решения задач: Пер. с англ. — М.: Мир
1972.
2. Цикритзис Д., Лоховски Ф. Модели данных. — М.: Финансы и ста-
тистика, 1985.
3. ЭВМ пятого поколения: концепции, проблемы, перспективы /Под.
ред. Т. Мото-ока', Пер. с англ. — М.: Финансы и ста-
тистика, 1984.
4. Kowalsky R. A., Logic for Problem Solving. — Elsevier North Hol-
land, Inc., New York, 1979.
5. Вагин В. H. Дедуктивные модели, т. А.—М.: ВИНИТИ, 1984.
6. Борщев В. Б. ПРОЛОГ — Основные конструкции и идеи//Приклад-
ная информатика, 1986, вып. 2.
7. Тыугу Э. X. Концептуальное программирование. — М.: Наука, 1984.
8. Поспелов Д. А. Сетевые и продукционные модели. В Сб.: Представ-
ление знаний в человеко-машинных и робототехни-
ческих системах, т. А.—М.: ВИНИТИ, 1984.
9. Гаек П., Гавранек Т. Автоматическое образование гипотез: мате-
матические основы общей теории. — М.: Наука, 1984.
10. Hintikka J. Towards a theory of inductive generalization. — In:
Proc, of the 1964 Int. Congress for Logic, Methodology
and Philosophy of Science, Amsterdam, 1965.
11. Финн В. К. Индуктивные модели//В сб.: Представление знаний
в человеко-машинных и робототехнических системах,
т. А.—М.: ВИНИТИ, 1984.
12. Михеенкова М. А., Финн В. К. Об одном классе экспертных систем
с неполной информацией//Известия АН СССР. Тех-
ническая кибернетика, 1986, № 5.
13. Зуев А. Ю., Попов С. В. Продукционная система с программируе-
мыми стратегиями поиска решения. — Кибернетика,
Киев: Наукова думка, 1987.
14. Попов С. В., Свиридов Г. А., Фоминых И. Б. Автоматизация ре-
шения прикладных задач на ЭВМ // Вычислительная
техника социалистических стран, 1988, № 2.
15. Поспелов Д. А. Логико-лингвистические модели в системах
управления. — М.: Энергоиздат, 1981.
16. Диалоговые системы в АСУ. — М.: Энергоатомиздат, 1983.
17. Филлмор Ч. Дело о падеже //В кн.: Новое в зарубежной линг-
вистике, вып. X. Лингвистическая семантика. — М.:
Прогресс, 1981, с. 369—495.
18. Шенк Р. Обработка концептуальной информации. — М.: Энергия,
1980.
19. Вудс В. А. Сетевые грамматики для анализа естественных языков //
156
Кибернетический сборник. Новая серия, вып. 13. —
М.: Мир, 1976, с. 120—158.
20. Попов Э. В. Общение с ЭВМ на естественном языке. — М.: Наука,
1982.
21. Заслонко А. Н., Кузин Е. С., Хахалин Г. К. Лингвистический транс-
лятор в системе общения с ЭВМ. Материалы кон-
ференции «Экспертные системы-86>. — М.: МДНТП,
1986, с. 9—16.
22. Построение экспертных систем: Пер. с англ./Под ред. Ф. Хейес-
Рота, Д. Уотермана, Д. Лената. — М.: Мир, 1987.
23. Микулич Л. И. Проблемы создания экспертных систем//Ученые
записки Тартуского государственного университета,
вып. 714. Теория и модели знаний. Тарту, 1985.
24. Дейт К. Введение в системы баз данных. Пер. с англ. — М.: Наука,
1980.
Оглавление
Введение 3
Глава 1
Новая информационная технология 1.1. Необходимость новой технологии решения задач на ЭВМ . . . 1.2. Основные идеи новой технологии решения задач на ЭВМ . . . 1.3. Место интеллектуального интер- фейса в вычислительной систе- ме 1.4. Организация вычислительного процесса в новой технологии . . 1.5. Структура вычислительной сис- темы Вопросы для самопроверки 9 13 18 22 25 33
Глава 2
База знаний 2.1. Общие сведения 2.2. Представление знаний в базах данных 2.3. Представление знаний в искус- ственном интеллекте 2.4. Соотношение методов представ- ления знаний в базах данных и искусственном интеллекте . . . Вопросы для самопроверки .... 34 36 45 56 61
Глава 3
Автоматизация решения плохо формализуемых задач на ЭВМ: непроцедурные подходы 3.1. Логическое программирование. 3.2. Концептуальное программирова- ние 3.3. ДСМ-метод 3.4. Метод программируемых дока- зательств 3.5. Интегральный подход к реше- нию задачи Вопросы для самопроверки 62 70 76 81 86 92
158
Глава 4
Общение
с вычислительными
системами
на естественном языке
4.1. Структура системы общения . . 93
4.2. Анализ текстов на естественном
языке................................103
4.3. Синтез фраз естественного
языка................................108
4.4. Методы лингвистической транс-
ляции .............................110
Вопросы для самопроверки .... 131
Глава 5
Экспертные системы
5.1. Структура экспертной системы и основные понятия 133
5.2. База знаний и логический вывод в экспертных системах .... 137
5.3. Объяснение в экспертных систе-
мах 140
5.4. Приобретение знаний .... 141
5.5. Инструментальные средства для построения экспертных систем 144
5.6. Экспертные системы нового по-
коления 151
Вопросы для самопроверки .... 152
Заключение................................................ 153
Список литературы.........................................
156
Справочное издание
ПЕРСПЕКТИВЫ
РАЗВИТИЯ
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
В одиннадцати книгах
Кузин Евгений Семенович
Ройтман Александр Израйлович
Фоминых Игорь Борисович
Хахалин Геннадий Константинович
Кн. 2
Интеллектуализация ЭВМ
Заведующая редакцией Н. И. Хрусталева
Редактор С. М. Оводова
Младший редактор Г. Г. Бунина
Художник В. В. Г арбузов
Художественный редактор В. И. Мешалкин
Технический редактор Г. А. Фетисова
Корректор Г. И. Кострикова
ИБ № 7485
Изд. № СТД—619. Сдано в набор 13.05.88. Подп. в печать 28.12.88.
Т—21874. Формат 84ХЮ8‘/з2. Бум. кн.-журн. Гарнитура лите-
ратурная. Печать офсетная. Объем 8,40 усл. печ. л. 17,22 усл. кр.-отт.
8,43 уч.-изд. л. Тираж 75 000 экз. Зак. № 1369. Цена 45 коп.
Издательство «Высшая школа», 101430, Москва, ГСП-4, Неглинная ул.,
д. 29/14.
Ярославский полиграфкомбинат СоюзполиграфпромЗ. *при Государст-
венном комитете СССР по делам издательств, полиграфии и книжной
торговли 150014, Ярославль, ул. Свободы, 97.
I - интеллектуализация
С ЭВМ
1 Информационные
семантические
системы
5 Малые
ЭВМ
Интеллекту-
ализация
Полупровод-
7ниновые
запоминающие
устройства
Программное
1 1 обеспечение
" в ЭВМ
Системы
1 П телеобработки
V и вычисли-
Периферийное
8 и терминальное
оборудование
ЭВМ
ЗЭВМ
общего
назначения
Intellect