ТОП 10:

Синтаксис и семантика представления семейных отношений



Основная часть представления знаний, на которую часто даже не обращают особого внимания, состоит в том, что представление должно каким-то образом "стандартизировать" семантическое разнообразие человеческого языка. Вот несколько предложений.

"Сэм — отец Билла". "Сэм Биллов отец". "Биллов отец Сэм".

"Отцом Билла является Сэм".

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

отец (сэм, билл).

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

Можно также заметить, что предложения

"Сэм — отец Джилла".

"Отцом Билла является Сэм".

имеют похожий смысл, но более очевидно ранжировать их в такой форме:

отец (сэм, билл). отец (сэм, джилл).

О синтаксисе и семантике мы поговорим более подробно в главах 3 и 8.

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

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

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

Символические вычисления означают выполнение нечисловых операций, в которых могут быть сконструированы символы и символьные структуры для представления различных концептов и отношений между ними. Обсуждение проблем символьных вычислений мы отложим до главы 4. Пример символического представления вы найдете во врезке 1.2.

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

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

· Эвристическая мощность означает, что наряду с наличием выразительного языка представления должно существовать некоторое средство использования представлений, сконструированных и интерпретируемых таким образом, чтобы с их помощью можно было решить проблему. Часто оказывается, что язык, обладающий большей выразительной способностью в терминах количества семантических отличий, оказывается и больше сложным в управлении описанием взаимосвязей в процессе решения проблемы. Способность к выражению у многих из найденных формализмов может оказаться достаточно ограниченной по сравнению с английским языком или даже стандартной логикой. Часто уровень эвристической мощности рассматривается по результату, т.е. по тому, насколько легко оказывается извлечь нужное знание применительно к конкретной ситуации. Знать, какие знания более всего подходят для решения конкретной проблемы, — это одно из качеств, которое отличает действительно специалиста, эксперта в определенной области, от новичка или просто начитанного человека.

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

· За прошедшие годы было предложено немало соглашений, пригодных для кодирования знаний на языковом уровне. Среди них отметим порождающие правила (production rules) [Davis and King, 1977], структурированные объекты (structured objects) [Findler, 1979] и логические программы (logic programs) [Kowalski, 1979]. В большинстве экспертных систем используется один или несколько из перечисленных формализмов, а доводы в пользу и против любого из них до сих пор представляют собой тему для оживленных дискуссий среди теоретиков. Несколько формализмов такого рода критически рассмотрены в главах 5-8, а программные средства для их реализации — в главах 17-19.

Большинство фрагментов программного кода, приведенных в этой книге, написано на языке CLIPS, в котором используется комбинация порождающих правил и структурированных объектов. В Приложении вы найдете достаточно пространное описание основных концепций и программных конструкций языка CLIPS, которое сопровождается множеством примеров. Там же читатель сможет найти и нетривиальные программы, в которых продемонстрированы как многие интересные возможности языка, так и реализация его средствами методов искусственного интеллекта, обсуждаемых в главах 1-3.

1.3.3. Управление процессом поиска решения

При проектировании экспертной системы серьезное внимание должно быть уделено и тому, как осуществляется доступ к знаниям и как они используются при поиске решения [Davis, 1980, а]. Знание о том, какие знания нужны в той или иной конкретной ситуации, и умение ими распорядиться — важная часть процесса функционирования экспертной системы. Такие знания получили наименование метазнаний — т.е. знаний о знаниях. Решение нетривиальных проблем требует и определенного уровня планирования и управления при выборе, какой вопрос нужно задать, какой тест выполнить, и т.д.

Использование разных стратегий перебора имеющихся знаний, как правило, оказывает довольно существенное влияние на характеристики эффективности программы. Эти стратегии определяют, каким способом программа отыскивает решение проблемы в некотором пространстве альтернатив (см. главы 2 и 3). Как правило, не бывает так, чтобы данные, которыми располагает программа работы с базой знаний, позволяли точно "выйти" на ту область в этом пространстве, где имеет смысл искать ответ.

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

Обслуживание автомобиля

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

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

"Сначала проверь весь узел, а уже потом приступай к проверке его компонентов".

Это правило можно считать частью режима управления — систематической стратегии применения имеющихся знаний. Другое эвристическое правило можно сформулировать, например, так:

"Сначала меняй более дешевые детали, а уже потом берись за более дорогие".

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

1.3.4. Разъяснение принятого решения

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

Представление информации о поведении экспертной системы важно по многим причинам.

· Пользователи, работающие с системой, нуждаются в подтверждении того, что в каждом конкретном случае заключение, к которому пришла программа, в основном корректно.

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

· Экспертам в предметной области желательно проследить ход рассуждений и способ использования тех сведений, которые с их слов были введены в базу знаний. Это позволит судить, насколько корректно они применяются в данной ситуации.

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

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

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

Отсутствие достаточной прозрачности поведения системы не позволит эксперту повлиять на ее производительность или дать совет, как можно ее повысить. Прослеживание и оценка поведения системы — задача довольно сложная и для ее решения необходимы совместные усилия эксперта и специалиста по информатике (подробно этот вопрос рассматривается в главах 3, 13 и 17).

Загадка одного портрета

В одной известной загадке человек смотрит на портрет и говорит:

"У меня нет братьев и сестер, но отец этого человека это сын моего отца".

Спрашивается: 'Кто изображен на портрете?" Во-первых, потратьте пару минут и решите эту загадку. Во-вторых, представьте себе, как вы будете объяснять ход решения кому-нибудь постороннему, но при этом нельзя пользоваться никакими вспомогательными средствами вроде карандаша и бумаги. Для многих эта загадка представляется головоломной, причем немало и таких, которые не могут проследить за ходом уже описанного решения (Smullyan, 1978].

Ответ прост: отец смотрит на портрет сына (человек, который смотрит на портрет, — отец человека, изображенного на портрете). Как мы пришли к такому заключению, станет ясно после того, как мы воспользуемся логическим представлением. Пусть Пит — человек на портрете, а Люк — человек, который смотрит на портрет.

"...это сын моего отца".

сын(отец(люк)), отец(пит).

"У меня нет братьев и сестер..."

for all X,

if сын(отец(люк), X) then Х=люк.

Здесь сын — это отношение между двумя людьми, а отец — функция, поскольку каждый имеет только одного отца. Из этого утверждения после подстановки совершенно очевидно следует

отец(пит) = люк. Таким образом, Люк смотрит на портрет своего сына.

Правильное логическое представление зачастую значительно упрощает решение задачи и делает его более понятным. Но сформировать такое представление — это в значительной мере искусство. Объяснение не всегда имеет форму доказательства, как в данном случае, о чем будет подробно рассказано в главе 16

Резюме и структура книги

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

1.4.1. Текущее состояние проблемы

Потенциальный пользователь экспертной системы чаще всего задается вопросом: "А сможет ли она решить мои проблемы?" Ответ уклончивый: "Смотря какие". Существуют три фактора, от которых зависит окончательный ответ, — природа проблемы, наличие определенного опыта в той предметной области, к которой относится проблема, и возможность сопоставления результатов анализа проблемы и имеющегося опыта методом, доступным компьютерной программе. Потенциальному пользователю следует сначала задуматься над следующим: есть ли у него на примете эксперт, который

· способен решить проблему;

· знает, как решается проблема;

· способен объяснить другому, как решается проблема;

· располагает временем, чтобы объяснить другому, как решается проблема;

· имеет достаточные побудительные мотивы к активному участию в этом предприятии.

Например, предсказание погоды — это не та задача, которую может решить кто-либо, даже умудренный большим опытом эксперт. Распознавание речи — это задача, которую решает практически каждый, но никто из нас (включая и профессиональных лингвистов) не может вразумительно объяснить, как это делается. А потому использовать для решения этой проблемы методы, основанные на анализе знаний, вряд ли удастся. Здесь большего следует ожидать от статистического моделирования. Даже имея на примете гениального эксперта, знающего, как решается задача, нельзя рассчитывать на успех, если этот эксперт не может или не желает подробно и вразумительно объяснить, как он это делает. Эксперт может быть не расположен к общению с посторонними или слишком занят, чтобы терять время на длительные собеседования с инженером, которому поручено проектирование базы знаний. Как правило, эксперт высокого класса не испытывает недостатка в предложениях работы в той области, с которой он хорошо знаком, а потому предпочитает выполнять ее, а не вести пространные беседы о том, как он это делает. Есть еще и психологический фактор — многие эксперты весьма ревниво относятся к своему уникальному опыту и не склонны его разглашать, поскольку считают (и нам нечего возразить им), что, передавая опыт автоматизированным системам, они рубят сук, на котором сидят.

Но даже если удастся выполнить оговоренные выше условия, в задаче могут существовать факторы, ограничивающие возможность "машинного" воспроизведения человеческого опыта. Например:

· в процессе решения задачи используются способности органов чувств человека, недоступные на сегодняшний день в мире машин;

· в решение задачи вовлечены соображения здравого смысла человечества или большой объем знаний, само собой разумеющихся для любого человека (более подробно об этом — в главе 3).

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

Нельзя упускать из виду и огромный объем знаний об окружающем мире, которым мы все располагаем: знаниями о предметах и их свойствах, людях и мотивации их действий, взаимосвязях в физическом мире и наиболее вероятном течении событий в тех или иных условиях — список можно продолжать до бесконечности. Эту совокупность знаний мы не включаем в знания, отличающие эксперта, но до сих пор еще совсем не ясно, насколько они важны компьютеру для решения узкоспециальной проблемы. Таким образом, любая задача, которую не удается "инкапсулировать" в ограниченный перечень фактов и правил, на сегодняшний день не под силу экспертным системам.

С другой стороны, проблемы, которые могут быть решены перечислением ассоциативных связей между обозримыми совокупностями данных и классами событий, прекрасно подходят для экспертных систем. Например, проблемы, связанные с функционированием промышленных систем (тепловые, вентиляционные или кондиционирования)— диагностика, мониторинг состояния и т.д.,— могут решаться системами, основанными на анализе формальных правил, связывающих энергопотребление здания с параметрами окружающей среды. Уже на нынешнем этапе с помощью экспертных систем решаются задачи эскизного конструирования многокомпонентных объектов из заданного набора примитивов. С примерами такого рода систем вы познакомитесь в, главах 14 и 15

1.4.2. Распределение материала книги по главам

В табл. 1.1 суммированы темы, обсуждавшиеся в разделе 1.3, и указаны главы, в которых'эти темы рассматриваются подробно. Рядовому читателю, скорее всего, будут интересны темы, касающиеся представления знания и управления процессом анализа, поскольку это ключевые проблемы в технологии экспертных систем. Темы восприятия знаний и объяснения принятого решения имеют не меньшее значение при построении экспертных систем, но они носят более прикладной характер.

В главах 2 и 3 рассматриваются базовые концепции технологии экспертных систем. В главе 2 дан краткий обзор нынешнего состояния исследований в области искусственного интеллекта, которые создали предпосылки для развития исследований по созданию экспертных систем. Глава 3 также имеет вводный характер и в ней описаны ранние разработки систем такого рода, рассматриваются цели их создания и принципы функционирования.

Таблица 1.1. Содержание глав

         
  Тема Определение Главы  
  Овладение знаниями Передача опыта решения проблемы от человека программе 10-15,20  
  Представление знаний Кодирование информации об опыте решения проблем внутри машины 2-9,21-23  
  Управление процессом поиска решения Принятие решения о последовательности использования имеющихся знаний 3, 11, 12, 17-19  
  Объяснение принятых решений Передача информации о ходе решения проблемы пользователю 3,5, 16,23  
         

В главах 3-9 освещаются основные схемы представления проблемно-ориентированных знаний в программах и методы применения этих знаний к решению сложных проблем с помощью компьютера. Мы начнем с краткого обзора работ в области символических вычислений, а затем перейдем к анализу некоторых специализированных языков представления знаний, таких как CLIPS. Будут также рассмотрены и возможности использования для построения экспертных систем объектно-ориентированных языков общего назначения, подобных C++. И в завершение этой части книги будет рассмотрена проблема приблизительных рассуждений и различные качественные и количественные методы оценки неопределенности.

В главах 10-16 речь пойдет о технических вопросах конструирования экспертных систем. Мы начнем с проблемы восприятия знаний, т.е. рассмотрим, каким образом можно передать технической системе знания, накопленные человеком-экспертом, как их преобразовать в форму, удобную для хранения и дальнейшего использования этой системой на основе методов, описанных в предыдущих главах. В последующих главах рассматриваются парадигмы решения проблем, которые целесообразно использовать для таких задач, как диагностика и конструирование. Этот материал будет проиллюстрирован примерами, описанными в разных источниках. При отборе примеров в расчет принимались скорее доводы педагогики, чем -технические характеристики систем, а потому те, которые описаны, не следует рассматривать, как самые лучшие в своем классе. Тем не менее в этих системах есть много поучительного, на что имеет смысл обратить внимание.

В главах 17-19 анализируются инструментарий и структура программного обеспечения экспертных систем. Мы начнем с критического обзора разного рода сред разработки, используемых при проектировании программного обеспечения экспертных систем. Затем будут описаны два типа структурной организации: системы с доской объявлений (blackboard systems) и системы обработки правдоподобия {truth maintenance systems).

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

Рекомендуемая литература

Обзоры ранних исследований в области экспертных систем опубликованы в работах [Barr and Feigenbaum, 1982], [Hayes-Roth et al., 1983], [Buchanan and Shortliffe, 1984] и [Waterman, 1986].

Применение технологии экспертных систем в разных предметных областях описано в работах [Weiss and Kulikowski, 1983], [Klahr and Waterman, 1986], [Gale, 1986] и [Quinlan, 1987].

Читателям, интересующимся применением экспертных систем в промышленности, следует заглянуть в работу [Feigenbaum et al., 1988]. Кроме того, множество обзоров такого рода регулярно публикуется в отраслевых изданиях, в частности в Expert Systems Review for Business and Accounting.

Из работ последних лет следует обратить внимание на книги [Harmon and Sawyer, 1990], [Giarratano andRiley, 1994] и [Stefik, 1995].


o ГЛАВА 2. Обзор исследований в области искусственного интеллекта

o 2.1. Классический период: игры и доказательство теорем

§ 2.1.1. Поиск в пространстве состояний

§ 2.1.2. Эвристический поиск

o 2.2. Романтический период: компьютер начинает понимать

§ 2.2.1. Система SHRDLU

§ 2.2.2. Схемы представления знаний

o 2.3. Период модернизма: технологии и приложения

§ 2.3.1. В знании сила

§ 2.3.2. Периоды "зимней спячки" и "пробуждения" в истории искусственного интеллекта

o Рекомендуемая литература

o Упражнения

ГЛАВА 2.Обзор исследований в области искусственного интеллекта







Последнее изменение этой страницы: 2016-04-07; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.207.240.35 (0.019 с.)