Часть 2. Основы теории искусственного интеллекта
§1. Представление знаний
Данные и знания
Данные - это информация, полученная в результате наблюдений или измерений отдельных свойств (атрибутов), характеризующих объекты, процессы и явления предметной области.
Знание - форма существования и систематизации результатов познавательной деятельности человека. Знание помогает людям рационально организовывать свою деятельность и решать различные проблемы возникающие в её процессе; субъективный образ объективной реальности, то есть адекватное отражение внешнего и внутреннего мира в сознании человека в форме представлений, понятий, суждений, теорий.
Знание (в широком смысле) – совокупность понятий, теоретических построений и представлений.
Знание (в узком смысле) - признак определённого объёма информации, определяющий её статус и отделяющий от всей прочей информации по критерию способности к решению поставленной задачи.
Знание (с точки зрения представления знаний в интеллектуальных системах) - это связи и закономерности предметной области (принципы, модели, законы), полученные в результате практической деятельности и профессионального опыта, позволяющего специалистам ставить и решать задачи в данной области.
Знания от данных отличаются рядом свойств:
внутренняя интерпретируемость;
структурированность;
связность;
семантическая метрика;
активность.
Внутренняя интерпретируемость. Данные, хранящиеся в памяти или на внешних носителях, лишены имен, таким образом, отсутствует возможность их однозначной идентификации системой. Данные может идентифицировать лишь программа, извлекающая их по определенному алгоритму. При переходе к знаниям в память вводится дополнительная информация (атрибуты: фамилия, год рождения, специальность, стаж). Атрибуты могут играть роль имен. По ним можно осуществлять поиск нужной информации.
Структурированность. Информационные единицы должны обладать гибкой структурой. Иначе говоря, должна существовать возможность произвольного установления между отдельными информационными единицами отношений типа «часть—целое», «род—вид» или «элемент—класс».
Связность. Между информационными единицами должна быть предусмотрена возможность установления связей различного типа. Семантика отношений может носить декларативный или процедурный характер. Например, две и более информационные единицы могут быть связаны отношением «одновременно», две информационные единицы — отношением «причина—следствие» или «быть рядом».
Семантическая метрика. На множестве информационных единиц в некоторых случаях полезно задавать отношение, характеризующее их ситуационную близость, т.е. силу ассоциативной связи. Его можно было бы назвать отношением релевантности для информационных единиц. Оно дает возможность выделять в информационной базе некоторые типовые ситуации (например, «покупка», «регулирование движения на перекрестке»). Отношение релевантности при работе с информационными единицами позволяет находить знания, близкие к уже найденным.
Активность. Все вычислительные процессы инициируются командами, а данные используются этими командами лишь в случае необходимости. Иначе говоря, данные пассивны, а команды активны.
Знания позволяют адаптироваться и действовать в реальной действительности. Существует огромное множество различных знаний, начиная от рецепта приготовления омлета до квантовой физики. Знания можно классифицировать по нескольким критериям (рис. 5).
Знание синтаксического типа характеризует синтаксическую структуру потока информации, которая не зависит от смысла и содержания, используемых при этом понятий, т.е. интеллектуальную систему не образует.
Семантическое знание рассматривается как структура, образующая текущий контекст. Оно содержат информацию, непосредственно связанную с текущими значениями и смыслом описываемых понятий и предопределяет состояние связей данных в информационной базе.
Прагматическое знание предопределяет наиболее вероятные связи, описывающие данные с точки зрения решаемой задачи (обобщенный или “объективный” контекст), например, с учетом действующих в данной задаче специфических критериев и соглашений.
Декларативные знания содержат в себе представление о структуре понятий. Эти знания приближены к данным, фактам. Например: высшее учебное заведение есть совокупность факультетов, а каждый факультет в свою очередь есть совокупность кафедр.
Знания
По природе
По источникам
По местонахождению
семантические
синтаксические
декларативные
процедурные
экстенсиональные
интенсиональные
функциональные
технологические
методологические
классификационные
интуитивные
здравый смысл
научные
вне научные
личностные
По глубине
формализованные
поверхностные
глубинные
прагматические
теоретические
эмпирические
Рис. 5. Классификация знаний
Процедурные знания, имеют активную природу. Они определяют представления о средствах и путях получения новых знаний, проверке знаний. Это алгоритмы разного рода. С развитием информатики все большая часть знаний сосредотачивалась в структурах данных (таблицы, списки, абстрактные типы данных), т. е. увеличивалась роль декларативных.
Существенным для понимания природы знаний являются способы определения понятий. Один из широко применяемых способов основан на идее интенсионала и экстенсионала.
Интенсионал понятия — это определение его через соотнесение с понятием более высокого уровня абстракции с указанием специфических свойств.
Экстенсионал понятия — это определение понятия через перечисление его конкретных примеров, т. е. понятий более низкого уровня абстракции. Интенсионалы формируют знания об объектах, в то время как экстенсионал объединяет данные.
Отсюда интенсиональные знания – это знания о предметной области, которые отражают факты, закономерности, свойства и характеристики, справедливые для любых ситуаций, которые могут возникнуть в этой предметной области.
Экстенсиональные знания - это знания о предметной области, отражающие факты, закономерности, свойства и характеристики, типичные для конкретных ситуаций или классов однотипных ситуаций, которые могут возникнуть в этой области.
Функциональные знания - это знания о выполняемых функциях отдельных предметов и о применении их в реальной действительности.
Технологические знания - специализированные знания, обеспечивающие поддержание технологических параметров производства; производственный опыт и навыки, используемые при решении повседневных производственных вопросов. Это может быть знание последовательности операций или знание технологической цепочки позволяющие достигать поставленные цели в соответствии с принятой технологией.
Методологические знания - знания о методах преобразования действительности, научные знания о построении эффективной деятельности. К методологическим знаниям относят знания целей, форм и направлений развития теории, методов и способов эффективного преобразования практики.
Классификационные знания применяются главным образом в науке, являются обобщенными, системными знания. Пример - система элементов Д.И. Менделеева.
Интуиция - это вид знания, специфика которого обусловлена способом его приобретения. Это знание, не нуждающееся в доказательстве и воспринимаемое как достоверное. По способу получения интуиция — это прямое усмотрение объективной связи вещей, не опирающееся на доказательство (интуиция, от лат. intueri — созерцать, — есть усмотрение внутренним зрением).
Под здравым смыслом понимают знания позволяющие принимать правильные решения и делать правильные предположения, основываясь на логическом мышлении и накопленном опыте. В этом значении термин зачастую акцентирует внимание на способности человеческого разума противостоять предрассудкам, заблуждениям, мистификациям.
Научные знания в любом случае должны быть обоснованными на эмпирической или теоретической доказательной основе.
Теоретические знания — абстракции, аналогии, схемы, отображающие структуру и природу процессов, протекающих в предметной области. Эти знания объясняют явления и могут использоваться для прогнозирования поведения объектов. Теоретический уровень научного знания предполагает установление законов, дающих возможность идеализированного восприятия, описания и объяснения эмпирических ситуаций, то есть познания сущности явлений. Теоретические законы имеют более строгий, формальный характер, по сравнению с эмпирическими. Термины описания теоретического знания относятся к идеализированным, абстрактным объектам. Подобные объекты невозможно подвергнуть непосредственной экспериментальной проверке.
Эмпирические знания получают в результате применения эмпирических методов познания — наблюдения, измерения, эксперимента. Это знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области. Оно, как правило, констатирует качественные и количественные характеристики объектов и явлений. Эмпирические законы часто носят вероятностный характер и не являются строгими.
Вненаучные знания могут быть различными. Паранормальные знания— знания несовместимые с имеющимся гносеологическим стандартом. Широкий класс паранаучного (пара от греч. — около, при) знания включает в себя учения или размышления о феноменах, объяснение которых не является убедительным с точки зрения критериев научности. Лженаучные знания — сознательно эксплуатирующие домыслы и предрассудки. В качестве симптомов лженауки выделяют малограмотный пафос, принципиальную нетерпимость к опровергающим доводам, а также претенциозность. Лженаучные знания сосуществуют с научными знаниями.
Личностные (неявные, скрытые) знания - это знания людей, полученные из практики и опыта.
Формализованные (явные) знания – знания содержащиеся в документах, на компакт дисках, в персональных компьютерах, в Интернете, в базах знаний, в экспертных системах. Формализованные знания объективизируются знаковыми средствами языка, охватывают те знания, о которых мы знаем, их можно записать, сообщить другим.
Классификация моделей представления знаний
Для хранения данных используются базы данных (для них характерны большой объем и относительно небольшая удельная стоимость информации), для хранения знаний — базы знаний (небольшого объема, но исключительно дорогие информационные массивы).
База знаний — основа любой интеллектуальной системы, где знания описаны на некотором языке представления знаний, приближенном к естественному. Сегодня знания приобрели чисто декларативную форму, т. е. знаниями считаются предложения, записанные на языках представления знаний, приближенных к естественному языку и понятных неспециалистам.
Совокупность знаний нужных для принятия решений, принято называть предметной областью или знаниями о предметной области. В любой предметной области есть свои понятия и связи между ними, своя терминология, свои законы, связывающие между собой объекты данных предметной области, свои процессы и события. Кроме того, каждая предметная область имеет свои методы решения задач. Решая задачи такого вида на ЭВМ используют информационные системы, ядром которых является база знаний, содержащая основные характеристики предметных областей.
Базы знаний базируются на моделях представления знаний, подобно базам данных, которые основаны на моделях представления данных (иерархической, сетевой, реляционной, постреляционной и т.д.)
При представлении знаний в памяти интеллектуальной системы традиционные языки, основанные на численном представлении данных, являются неэффективными. Для этого используются специальные языки представления знаний, основанные на символьном представлении данных. Они делятся на типы по формальным моделям представления знаний. Наиболее часто используется на практике классификация моделей представления знаний, приведённая на рис. 6, где модели представления знании делятся на детерминированные (жёсткие) и мягкие.
Детерменированные модели включают в себя фреймы, логико-алгебраические модели, семантические сети и продукционные модели. Мягкие модели включают в себя нечеткие системы, нейронные сети, эволюционные модели, гибридные системы.
С моделированием знаний непосредственно связана проблема выбора языка представления. В целях классификации моделей представления знаний выделяется девять ключевых требований к моделям знаний:
1) общность (универсальность);
2) наглядность представления знаний;
3) однородность;
4) реализация в модели свойства активности знаний;
5) открытость;
6) возможность отражения структурных отношений объектов предметной области;
7) наличие механизма «проецирования» знаний на систему семантических шкал;
8) возможность оперирования нечеткими знаниями;
9) использование многоуровневых представлений (данные, модели, метамодели, метаметамодели и т. д.).
Модели представления знаний знаний
Детерминированные модели
Мягкие модели
Фреймы
Логико-алгеброические модели
Сетевые
Продукционные
Нечеткие системы
Нейронные сети
Эволюционные модели
Гибридные системы
Рис. 6. Модели представления знаний
Модели представления знаний не удовлетворяют полностью эти требования, чем и объясняется их многообразие и активное развитие этого направления.
Логико -алгебраические модели представления знаний
В логических моделях знания представляются в виде совокупности правильно построенных формул какой-либо формальной системы, которая задается четверкой
S=,
где Т— множество базовых (терминальных) элементов, из которых формируются все выражения; Р — множество синтаксических правил, определяющих синтаксически правильные выражения из терминальных элементов формальной системы; А — множество аксиом формальной системы, соответствующих синтаксически правильным выражениям, которые в рамках данной ФС априорно считаются истинными; R —конечное множество отношений {r1, r2, ... , rn } между формулами, называемыми правилами вывода, позволяющих получать из одних синтаксически правильных выражений другие.
Для любого ri существует целое положительное число j, такое, что для каждого множества, состоящего из j формул, и для каждой формулы F эффективно решается вопрос о том, находятся ли эти j-формулы в отношении ri с формулой F. Если ri выполняется, то F называют непосредственным следствием F-формул по правилу ri.
Следствием (выводом) формулы в теории S называется такая последовательность правил, что для любого из них представленная формула является либо аксиомой теории S, либо непосредственным следствием.
Простейшей логической моделью является исчисление высказываний, которое представляет собой один из начальных разделов математической логики, служащий основой для построения более сложных формализмов. В практическом плане исчисление высказываний применяется в ряде предметных областях (в частности, при проектировании цифровых электронных схем). Развитие логики высказываний нашло отражение в исчислении предикатов первого порядка.
Под исчислением предикатов понимается формальный язык для представления отношений в некоторой предметной области. Основное преимущество исчисления предикатов - хорошо понятный механизм математического вывода, который может быть непосредственно запрограммирован. Предикатом называют предложение, принимающее только два значения: "истина" или "ложь". Для обозначения предикатов применяются логические связки между высказываниями: ¬ - не, - или, - и, - если, а также квантор существования и квантор всеобщности
Таким образом, логика предикатов оперирует логическими связками между высказываниями, например, она решает вопросы: можно ли на основе высказывания A получить высказывание B и т.д.
Допустимые выражения в исчислении предикатов называются правильно построенными формулами, состоящие из атомных формул. Атомные формулы состоят из предикатов и термов, разделяемыми круглыми, квадратными и фигурными скобками.
Предикатные символы – это в основном глагольная форма (например: ПИСАТЬ, УЧИТЬ, ПЕРЕДАТЬ), но не только глагольная форма, а форма прилагательных, наречий (например: КРАСНЫЙ, ЗНАЧЕНИЕ, ЖЕЛТЫЙ).
Предикатные символы и константы, как правило, обозначаться заглавными символами, функциональные символы и переменные - строчными.
В абстрактных примерах они обозначаются латинскими буквами f, g, h. В предложениях предикатной формы важны отношения и элементы. Определяя отношения, мы определяем значимость элементов выражения. Элементы могут быть предикатами и термами.
Если существует некоторая предметная область, то предикаты определяют отношения в этой предметной области, константы - элементы этой предметной области, функциональный символ – функцию.
Рассмотрим некоторые примеры. Высказывание "у каждого человека есть отец" можно записать:
x y (ЧЕЛОВЕК(x) ОТЕЦ(y,x))
Выражение "Антон владеет красной машиной" записывается, например, так:
x ( ВЛАДЕЕТ(АНТОН, x) МАШИНА(x) КРАСНЫЙ(x))
Представление знаний в рамках логики предикатов служит основой направления ИИ, называемого логическим программированием []. Методы логического программирования в настоящее время широко используются на практике при создании ИИ в ряде предметных областей. Положительными чертами логических моделей знаний в целом являются:
высокий уровень формализации, обеспечивающий возможность реализации системы формально точных определений и выводов;
согласованность знаний как единого целого, облегчающая решение проблем верификации БЗ, оценки независимости и полноты системы аксиом и т. д.;
единые средства описания как знаний о предметной области, так и способов решения задач в этой предметной области, что позволяет любую задачу свести к поиску логического вывода некоторой формулы в той или иной формальной системы.
Однако такое единообразие влечет за собой основной недостаток модели - сложность использования в процессе логического вывода эвристик, отражающих специфику предметной области. К другим недостаткам логической модели относят:
“монотонность”;
“комбинаторный взрыв”;
слабость структурированности описаний.
Продукционные модели представления знаний
Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа "Если (условие), то (действие)".
Под "условием" (антецедентом) понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под "действием" (консеквентом) — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и терминальными или целевыми, завершающими работу системы).
Продукционная модель в чистом виде не имеет механизма выхода из тупиковых состояний в процессе поиска. Она продолжает работать, пока не будут исчерпаны все допустимые продукции. Практические реализации продукционных систем содержат механизмы возврата в предыдущее состояние для управления алгоритмом поиска.
Рассмотрим пример использования продукционных правил.
П1: Если "отдых — летом" и "человек — активный", то "ехать в горы".
П2: Если "любит солнце", то "отдых летом".
Предположим, в систему поступили данные — "человек активный" и "любит солнце".
Прямой вывод — исходя из данных, получить ответ.
1-й проход.
Шаг 1. Пробуем П1, не работает (не хватает данных "отдых — летом").
Шаг 2. Пробуем П2, работает, в базу поступает факт "отдых — летом".
2-й проход.
Шаг 3. Пробуем П1, работает, активируется цель "ехать в горы", которая и выступает как совет, который дает ЭС.
Обратный вывод — подтвердить выбранную цель при помощи имеющихся правил и данных.
1-й проход.
Шаг 1. Цель — "ехать в горы": пробуем П1 — данных "отдых — летом" нет, они становятся новой целью, и ищется правило, где она в правой части.
Шаг 2. Цель "отдых — летом": правило П2 подтверждает цель и активирует ее.
2-й проход.
Шаг 3. Пробуем П1, подтверждается искомая цель.
Основные преимущества продукционных систем:
простота и гибкость выделения знаний;
отделение знаний от программы поиска;
модульность продукционных правил (правила не могут "вызывать" другие правила);
возможность эвристического управления поиском;
возможность трассировки "цепочки рассуждений";
независимость от выбора языка программирования;
продукционные правила являются правдоподобной моделью решения задачи человеком.
Имеется большое число программных средств, реализующих продукционный подход (например, языки высокого уровня CLIPS и OPS 5; "оболочки" или "пустые" ЭС — EXSYS Professional и Карра, инструментальные КЕЕ, ARTS, PIES , а также промышленных ЭС на его основе.
Семантические сети
Семантическая сеть — это ориентированный граф, вершины которого — понятия, а дуги — отношения между ними. Термин "семантическая" означает "смысловая", а сама семантика — это наука, устанавливающая отношения между символами и объектами, которые они обозначают, т. е. наука, определяющая смысл знаков. Модель на основе семантических сетей была предложена американским психологом Куиллианом.
В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения это связи типа: "это" ("АКО — A-Kind-Of, "is" или "элемент класса"), "имеет частью" ("has part"), "принадлежит", "любит".
Можно предложить несколько классификаций семантических сетей, связанных с типами отношений между понятиями.
По количеству типов отношений:
однородные (с единственным типом отношений);
неоднородные (с различными типами отношений).
По типам отношений:
бинарные (в которых отношения связывают два объекта);
N-арные (в которых есть специальные отношения, связывающие более двух понятий).
Наиболее часто в семантических сетях используются следующие отношения:
элемент класса (роза это цветок);
атрибутивные связи /иметь свойство (память имеет свойство — объем);
значение свойства (цвет имеет значение — желтый);
пример элемента класса (роза, например — чайная);
связи типа "часть-целое" (велосипед включает руль);
функциональные связи (определяемые обычно глаголами "производит", "влияет"...);
количественные (больше, меньше, равно...);
пространственные (далеко от, близко от, за, под, над...);
временные (раньше, позже, в течение...);
логические связи (и, или, не) и др.
Минимальный состав отношений в семантической сети таков:
элемент класса или АКО;
атрибутивные связи /иметь свойство;
значение свойства.
Недостатком этой модели является сложность организации процедуры организации вывода.
Пример семантической сети для предложения типа "Поставщик осуществил поставку изделий для клиента до 1 июня 2010 года в количестве 10 000 штук" представлен на рис. 7.
Поставка
поставщик
дата
до 1.06.10 г.
клиент
товар
Единица измерения (шт.)
10 000
значение
значение
количество
время
объект
агент
субъект
Рис.7. Пример семантической сети.
Фреймы
Фрейм – это минимально возможное описание сущности какого-либо события, ситуации, процесса или объекта. В историческом плане развитие фреймовой модели связано с теорией фреймов М. Минского, определяющей способ формализации знаний, используемый при решении задач распознавания образов (сцен) и понимания речи. «Отправным моментом для данной теории служит тот факт, что человек, пытаясь познать новую для себя ситуацию или по-новому взглянуть на уже привычные вещи, выбирает из своей памяти некоторую структуру данных (образ), называемую нами фреймом, с таким расчетом, чтобы путем изменения в ней отдельных деталей сделать ее пригодной для понимания более широкого класса явлений или процессов». Другими словами, фрейм — это форма описания знаний, очерчивающая рамки рассматриваемого (в текущей ситуации при решении данной задачи) фрагмента предметной области.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
фреймы – структуры, для обозначения объектов и понятий (заем, залог, вексель);
фреймы – роли (менеджер, кассир, клиент);
фреймы – сценарии (банкротство, собрание акционеров, празднование именин);
фреймы – ситуации (тревога, авария, рабочий режим устройства) и др.
Различают фреймы-образцы или прототипы и фреймы-экземпляры, которые создаются для отображения реальных фактических ситуаций на основе поступающих данных.
Фрейм имеет имя (название) и состоит из слотов.
Традиционно структура фрейма может быть представлена как список свойств:
(ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
…………….
(имя N-гo слота: значение N-го слота)).
Ту же запись можно представить в виде таблицы (см. табл. 1), дополнив ее двумя столбцами.
Таблица 1 . Структура фрейма
Имя фрейма
|
Имя слота
|
Значение слота
|
Способ получения значения
|
Присоединенная процедура
|
|
|
|
|
|
|
|
|
В таблице дополнительные столбцы (3-й и 4-й) предназначены для описания способа получения слотом его значения и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма, так образуются сети фреймов.
Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС.
Тест по теме «Представление знаний»
1. Что понимается под представлением знаний?
это кодирование информации, на каком – либо формальном языке;
знания представленные в программе на языке С ++;
знания представленные в учебниках по математике;
моделирование знаний специалистов – экспертов.
2. Какие определения представленные ниже не являются моделями представления знаний?
продукционные модели;
фреймы;
имитационные модели;
семантические сети;
формально - логические модели.
3. Что представляют собой семантическая сеть?:
сетевой график, вершины которого - сроки выполнения работ;
это нейронная сеть, состоящая из нейронов;
ориентированный граф, вершины которого - понятия, а дуги – отношения между ними.
4. Какой из основных типов отношений семантической сети, представленных ниже, может быть названа как АКО (A - Kind – Of)?
это;
элемент класса;
имеет частью;
принадлежит;
функциональная связь.
5. Чем отличаются семантические сети и фреймы?
Элемент модели состоит из множества незаполненных значений некоторых атрибутов, именуемых «слотами»;
наследование по AKO- связям;
элемент модели – структура, использующаяся для обозначения объектов и понятий.
6. Что объединяет семантические сети и фреймы?
организация процедуры вывода;
наследование свойств;
множества незаполненных значений некоторых атрибутов, именуемых «слотами»;
структуры, использующихся для обозначения объектов и понятий.
7. Какие из выражений, представленных ниже, являются структурной частью фрейма?:
значение N- го слота;
шаблон;
примитивные типы данных.
8. На каком формализме НЕ основаны логические модели?:
исчисление высказываний;
пропозициональная логика;
силлогизмы Аристотеля;
правильно построенные формулы;
нечёткие системы (fuzzy set).
Литература по теме «Представление знаний»
Барсегян А.А., Куприянов М.С., Степаненко В.В., Холод И.И. Методы и модели анализа данных: OLAP и Data Mining. – СПб.: БХВ-Петербург, 2004. – 336 с.
Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПб.: Питер, 2001. с. 384.
Рассел С., Норвиг П. Искусственный интеллект: современный подход, 2-е изд. – М.: Вильямс, 2006. - с. 1408.
|