ГЛАВА 8. БАЗЫ ЗНАНИЙ И ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
0сновными проблемами искусственного интеллекта являются представление и обработка знаний. Решение этих проблем состоит как в разработке эффективных моделей представления знаний, методов получения новых знаний, так и в создании программ, устройств, реализующих эти модели и методы.
Искусственный интеллект и информатика неразрывно связаны. Поскольку, во-первых, информатика является основой для моделирования информационных процессов, происходящих в интеллектуальных системах, и, во-вторых, она является инструментом для проверки гипотез новых идей.
Элементы искусственного интеллекта находят хорошее применение для создания интеллектуальных программных средств ЭВМ, АСУ, систем автоматизации проектирования (САПР), информационно-поисковых систем (ИПС), систем управления базами данных (СУБД), экспертных систем (ЭС), систем поддержки принятия решений (СППР), т.е. позволяют повысить уровень интеллектуальности создаваемых информационных систем.
8.1. Понятия «Базы знаний» и "искусственный интеллект"
В 1950 г., т.е. в период разработки первых ЭВМ, английский математик Тьюринг опубликовал статью, касающуюся того, что впоследствии стали называть "искусственным интеллектом". Он рассмотрел вопрос: "могут ли машины мыслить?". Ответ, предложенный Тьюрингом в статье, был: "да, я думаю, что это будет возможно через пятьдесят лет". Сегодня проблема Тьюринга далека от решения и мало кто думает, что в 2000-м году она будет реализована. Основная идея Тьюринга заключалась в довольно простом определении искусственного интеллекта как множества научных дисциплин, которые с помощью ЭВМ имитируют интеллектуальные способности человека.
Концепция "интеллект" является сложной, относительной, и выражение "искусственный интеллект" не сильно его уточняет. Поэтому достаточно трудно определить понятие "искусственней интеллект".
Искусственный интеллект (ИИ) - какой любопытный смысл выражается двумя словами, которые в отдельности по существу противоположны. Обычно интеллект связывают с поведением человека. Понятие "искусственный" относится к сущностям, которые не являются естественными, и в этом смысле оно противоположно понятию "интеллект". Рассматривать искусственным главный элемент человеческой природы - "интеллект" является парадоксальным. Согласитесь, что выражение "искусственный интеллект" плохо подобрано, несмотря на то, что целью систем ИИ является поведение, подобное поведению человека. Слово "интеллект" происходит от латинского слова "intelligеntiа", которое в свою очередь образовалось от глагола "intеlligеnе", означающего способность понимать, определять смысл. А "искусственный" - производится человеком, а не природой.
Развиваясь в течение четырех десятилетий дисциплина ИИ начала применяться в промышленности (открытие и разработка месторождений, аэронавтика, автомобилестроение, электроника, информатика, химия и др.), в экономике и управлении (бизнес, финансы, страхование,...), в непромышленной сфере (транспорт, служба здоровья, связь,...), в сельском хозяйстве.
Средства ИИ позволяют разрабатывать модели и программы обработки задач, для которых неизвестны прямые и надежные методы решения. ИИ можно определить не только как науку, но и как техническое мастерство. Специалисты по ИИ ставят такие научные проблемы как: принятие эффективных решений в области бизнеса, диагностика заболеваний или неисправностей в оборудовании, синтез программ на основе спецификаций, понимание текста на естественном языке, анализ изображения и идентификация его содержимого, управление роботом и др.
Данные и знания
Приведем определения основных понятий изучаемой дисциплины и рассмотрим различие между понятиями "данные" и "знания".
Данные - представленная в формализованном виде конкретная информация об объектах предметной области, их свойствах и взаимосвязях, отражающая события и ситуации в этой области.
Знание - это обобщенная и формализованная информация о свойствах и законах предметной области, с помощью которой реализуются процессы решения задач, преобразования данных и самих знаний, т.е. которая используется в процессе логического вывода.
Знание здесь играет важную роль по двум причинам. Во-первых, внешняя часть подобных систем ориентирована на определенный тип знаний. К примеру, правил и логики. Во-вторых, способ, с помощью которого данная система представляет знания, влияет на развитие, эффективность, скорость и защиту системы.
Знание, как и Любовь – одно из тех слов, смысл которого знает каждый. Однако тяжело дать ему определение. Как и у Любви, у знания много значений. Такие слова как данные, факты и информация часто используются в качестве синонимов знанию.
Наука о знании называется эпистемологией. Она занимается природой, структурой и происхождением знания. Помимо философской разновидности знания существуют два особых вида знания: теоретическое и эмпирическое. Теоретическое знание является универсальной истиной, которую нельзя отрицать без наличия опровержения. Примерами теоретического знания могут быть логические заключения, математические законы и знания, которыми владеют взрослые.
Обратным понятием по отношению к теоретическому знанию является знание, полученное из расчетов или измерений, т.е. эмпирическое знание. Истинность или ошибочность эмпирических знаний можно подтвердить опытным путем
Далее знание можно разделить на: алгоритмическое, описательное и неосознанное. Первых два вида аналогичны алгоритмическим и описательным теориям. Алгоритмические знания часто обозначают умение что-то делать. Примером алгоритмических знаний является умение вскипятить воду в чайнике. Описательные сведения объясняют ошибочность или достоверность того или иного утверждения. Они связаны с информацией, выраженной в виде высказываний типа “Не помещайте пальцы в чайник с кипящей водой”.
Неосознанное знание обычно называют бессознательным, потому что его нельзя выразить словами. Примером может быть умение двигать рукой, ходить или ездить на велосипеде.
Логический вывод - это генерирование новых утверждений (суждений) на основе исходных фактов, аксиом и правил вывода.
Процесс решения задачи с использованием данных и знаний можно представить простейшей моделью на рис. 8.1.
Рис. 8.1. Модель вывода гипотезы на основе данных и знаний
В данном случае знания - это либо информация, на которую ссылаются, либо программа, обрабатывающая данные, т.е. реализующая вывод с целью получения некоторой гипотезы.
Знания с точки зрения решения задач в некоторой предметной области удобно разделить на две большие категории - факты и эвристики. Под фактами обычно понимают общеизвестные в данной предметной области истины, обстоятельства. Эвристики - это эмпирические алгоритмы, основанные на неформальных соображениях, которые ограничивают разнообразие и обеспечивают целенаправленность поведения решающей системы, не гарантируя, однако, получение наилучшего решения. Такие знания основываются на опыте специалиста (эксперта) в данной предметной области, например, о родственных связях. Объектами этой предметной области являются понятия: мать, отец, дочь, мужчина, женщина и т.п. Пусть известны следующие факты:
Виктор является отцом Тани;
Владимир является отцом Виктора.
На языке Пролог эти факты описываются следующим образом:
отец (виктор, таня).
отец (владимир, виктор).
Здесь "отец" является именем отношения или предикатом (логической функцией), а “виктор", "таня" и "владимир" - константами.
Пусть Х, Y, Z - переменные.
Используя переменные Х и Z, можно в общем случае записать отношение:
Х является отцом Z
на языке Пролог:
отец (Х, Z).
Используя предикат ”отец” и переменные X, Y, Z , сформулируем новое отношение “дед’, а именно:
Если X является отцом Z и
Z является отцом Y
То X является дедом Y.
Такая форма записей отношения “Если...То” называется продукционным правилом, продукцией или просто правилом.
На языке Пролог отношение “дед” записывается следующим образом: дед (X,Y): -отец (X,Z), отец (Z,Y). Символ “:-” интерпретируется как “Если”. Запятая, разделяющая предикаты ”отец”, означает логическую операцию И. Аргументами предикатов здесь являются переменными X, Y, Z, и константами “виктор”, “таня”, “владимир”. Аргументы и костанты предикатов записываются в скобках и разделяются запятыми. На примере отношения “дед” мы видим, что сформулирована общая закономерность определения понятия “дед” через понятие “отец”. Имя “владимир”, взятое вне зависимости от отношения, ни о чем не свидетельствует. Возможно, это имя человека (сына, отца, деда и т.п.) или наименование города. Точно так же числовые или другие данные, например, в файле данных. Данное, взятое вместе с отношением, определяет некоторый смысл и, таким образом, представляет собой знание.
Рассмотрим особенности знания, в которых заключается их отличие от данных.
Интерпретация. Данные, хранимые в памяти ЭВМ, могут интерпретироваться только соответствующей программой. Данные без программы не несут никакой информации, в то время как знания имеют интерпретацию, поскольку они содержат одновременно и данные, и соответствующие им имена, описания.
Структурированность. Данные должны обладать гибкой структурой. Для них должен выполняться “принцип матрешки”, то есть рекурсивная вложимость одних информационных единиц в другие. Каждая информационная единица может быть включена в состав любой другой, и из каждой такой единицы можно выделить составляющие ее элементы. Например, в программах требуется описывать свойства как множества в целом, так и отдельных его элементов. Между определенными единицами знаний можно установить такие отношения, как “элемент-множество”, “тип-подтип”, “cитуация-подситуация”, отражающие характер их взаимосвязи. Это позволяет в одном экземпляре хранить информацию, одинаковую для элементов множества. При необходимости одни единицы знаний могут наследовать свойства других единиц.
Связность. В БД между информационными единицами устанавливаются связи различного типа, характеризующие отношения между объектами, явлениями и т.п. Совместимость отдельных событий или фактов в некоторой ситуации определяется этими связями, а так же такими отношениями, как одновременность, расположение в одной области пространства и т.д. Связи позволяют строить процедуры анализа знаний на совместимость, противоречивость и другие, которые трудно реализовать при хранении традиционных массивов данных.
Семантическая метрика. На множестве информационных единиц в некоторых случаях полезно задавать отношения, характеризующие ситуационную близость этих единиц. Это отношение релевантности информационных единиц, которое позволяет находить знания, близкие имеющимся.
Различают две формы представления знаний: декларативная и процедурная. Декларативные знания не содержат в явной форме процедур, которые нужно выполнить. Такие знания представляются множеством утверждений, не зависящих от того, где они применяются. Их использование предполагает полное описание пространства состояний моделируемого объекта, которое носит синтаксический характер. Вывод и поиск решений базируется на процедурах поиска в пространстве состояний. Эти процедуры учитывают специфику конкретной предметной области, то есть ее семантику. Следовательно, при декларативной форме представления семантические и синтаксические знания в определенной мере отделены друг от друга, что придает названной форме большую по сравнению с другими формами универсальность и общность.
Процедурные знания содержат в явном виде описание некоторых процедур. Состояние объекта представляется в виде набора процедур, с помощью которых обрабатывается определенный участок базы знаний (БЗ). В этом случае не требуется хранения описаний всех возможных состояний объекта, так как их можно сгенерировать с помощью процедур, используя некоторое начальное множество состояний. При процедурном представлении семантика объекта включается в описания элементов базы знаний, что позволяет применять более эффективные процедуры поиска решений с тем, чтобы исключить необходимость обработки полных описаний. Процедурные знания обеспечивают более быстрый поиск решения по сравнению с декларативными, однако, уступают им в возможности накопления и актуализации знаний.
5. Активность. Разделение информационных единиц на данные и программы (команды) привело к тому, что данные пассивны, а команды активны. Для ИИС знания инициируют действия. Появление в информационной базе новых фактов, установление связей может стать источником активности системы.
Перечисленные пять особенностей определяют ту грань, за которой данные превращаются в знания, а БД - в базы знаний.
Совокупность средств, обеспечивающих работу со знаниями, образует систему управления базой знаний (СУБЗ).
Основным направлением, реализующим идеи ИИ, является разработка систем, основанных на знаниях. Центральный объект изучения ИИ – знания, могут быть представлены в виде некоторой совокупности сведений (фактов, правил), процессов, явлений, а так же способов решения задач данной предметной области. Специалисты, занимающиеся извлечением знаний, их формализацией и структурированием для обработки в компьютерных системах, называются инженерами по знаниям или инженерами знаний.
А область деятельности по накоплению знаний, их фильтрации, хранению, обработке и получению новых знаний называется управлением знаниями или инженерией знаний.
Системы, основанные на знаниях, могут иметь следующие функции:
- извлечение знаний из различных источников;
- формирование качественных знаний;
- интеграция знаний;
- приобретение знаний от профессионалов и экспертов;
- оценка и формализация знаний;
- представление знаний;
- управление базами знаний;
- манипулирование знаниями;
- пополнение знаний;
- классификация знаний;
- обобщение знаний;
- вывод на знаниях;
- правдоподобный вывод;
- рассуждения с помощью знаний;
- объяснения на знаниях.
Для формализации знаний, представленных в текстовом, графическом виде, в виде документов и т.д., требуется наличие или, возможно, разработка методов, позволяющих преобразовать исходные знания к виду, пригодному для обработки в ИИС. Знания, полученные из различных источников, требуется интегрировать в связную и непротиворечивую систем, называемую базой знаний.
Полученные от экспертов знания нужно оценить с точки зрения уже имеющихся в базе знаний, согласовать с последующими и выделить несовместные или противоречивые знания.
Для представления знаний используются логические модели, продукционные правила, таблицы принятия решений, фреймы и др., которые детально будут рассмотрены в последующих главах. Для ввода, хранения, обработки, вывода знаний разработаны системы управления базами знаний, которые включают языки описания и манипуляции знаниями, а также программные процедуры.
Особое место в манипулировании знаниями занимает вывод на знаниях, заключающийся в получении новых знаний на основе уже имеющихся в системе. Это одно из наиболее проблематичных с точки зрения направлений в ИИС. Большой интерес в выводе знаний представляет манипулирование человеческих рассуждений: аргументация на основе имеющихся знаний, рассуждения по аналогии и многое другое, чем люди пользуются в своей практике.
Объяснение полученных результатов на основе знаний существенно отличает ИИС и других компьютерных систем.
Дата добавления: 2016-10-26; просмотров: 4459;