Основные понятия представления знаний

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

Постановка и решение любой задачи связаны с определенной пред­метной областью. Так, решая задачу составления расписания об­ра­ботки деталей на металлорежущих станках, мы вовлекаем в пред­метную область та­кие объекты, как конкретные станки, детали, интер­валы времени и об­щие понятия «станок», «деталь», «тип станка» и т.д.

Языки, предназначенные для описания предметных областей, называются языками представления знаний. Универсальным языком пред­став­ления знаний является естественный язык. Однако использование ес­тест­венного языка в сис­темах машинного представления знаний натал­ки­вается на ряд препятствий, глав­ным из которых является отсутствие формальной семантики естественного языка. Кроме того, необходимо определить, что такое «знания» и «данные».

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

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

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

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

Ученые предлагают различные определения понятия «знания».

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

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

Знания — это хорошо структурированные данные, или данные о дан­ных, или метаданные.

Знание о предметной области — это описание объектов, их окру­же­ния, необходимых явлений, фактов, а также отношений между ними.

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

Общение с компьютерной системой на уровне знания предопре­де­ля­ет возможность ввода и использования ею некоторой совокупности вза­и­мо­связанной информации. Сложность понятия «знание» заключена в множественности его носителя и неразрывности с понятием «данные». Выделяют несколько уровней формализации знания о предметной области: знания в памяти человека; знания в форме языковой модели предметной области, используемые человеком и зафиксированные на физических носителях с использованием контекстно-зависимых языков, графических образов и т.п.; знания, формализованные при использовании в ЭВМ; фактографические сведения или данные.

Исследователи в области искусственного интеллекта различными способами классифицируют знания:

  • фактические и стратегические знания. Фактические зна­ния — основные закономерности предметной области, позволяющие решать конкретные производственные, научные и другие задачи, то есть факты, понятия, взаимосвязи, оценки, правила, эвристики. Стратегические знания — стратегии принятия решений в пред­мет­ной области;
  • факты и эвристики. Факты указывают на хорошо известные в той или иной предметной области обстоятельств. Такие знания еще называют текстовыми, имея в виду достаточную их освещенность в специальной литературе и учебниках. Эвристики основываются на индивидуальном опыте специалиста (эксперта) в предметной области, накопленном в результате многолетней практики. Эта категория знаний нередко играет решающую роль при построении интеллектуальных программ. К эвристикам от­но­сят­ся такие знания, как «способы удаления бесполезных гипотез», спо­собы использования нечеткой информации», «способы раз­ре­ше­ния противоречий» и т.п.;
  • факты и правила. Факты — это знания типа «А — это А», такие знания характерны для баз данных и сетевых моделей. Правила, или продукции, — это знания типа «ЕСЛИ А, ТО В».
  • декларативные и процедурные знания. Под декларативными знаниями подразумеваются описания фактов, явлений (типа «A это B») и они ха­рак­тер­ны для баз данных. К процедурным знаниям относятся све­де­ния о способах оперирования или преобразования декларативных знаний;
  • интенсиональные и экстенсиональные знания. Интенсиональные знания — это знания о связях между атрибутами (признаками) объектов данной предметной области. Они оперируют аб­страктными событиями и отношениями. Экстенсиональные зна­ния представляют собой данные, характеризующие конкретные объекты, их состояния, значения параметров в пространстве и времени. В этой классификации оперируют интенсионалом и экстенсионалом понятий. Интенсионал поня­тия — это опре­де­ле­ние его через соотнесение с понятием более высокого уровня аб­страк­ции указанием специфических свойств. Интенсионалы фор­мулируют знания об объектах. Другой способ определяет по­ня­тие через соотнесение с понятиями более низкого уровня аб­страк­ции или перечисление фактов, относящихся к опреде­ля­е­мо­му объекту — это определение через данные, или экстенсионал понятия;
  • глубинные и поверхностные знания. В глубинных знаниях отра­жа­ет­ся понимание структуры предметной области, назначение и вза­и­мосвязь отдельных понятий (глубинные знания в фунда­мен­таль­ных науках — это законы и теоретические основания). Поверх­ност­ные знания обычно касаются внешних эмпирических ас­социаций с каким-либо феноменом предметной области;
  • жесткие и мягкие знания. Жесткие знания позволяют получать однозначные рекомендации при заданных начальных условиях. Мягкие знания допускают множественные, «размытые» решения и различные варианты рекомендаций.

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

Выделают три парадигмы представления знаний: логическая, структурная, процедурная.

Логическая парадигма отождествляет знание с теорией, то есть тео­рией первого порядка.

Структурная парадигма уделяет особое внимание организации фак­тов, составляющих базу знаний. С вычислительной точки зрения, факты по­лучаются из семантических элементов использованием заранее за­дан­ных правил. Примеры: семантические сети, фреймы, ER-диаграммы базы данных.

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

Рассмотрим модели представления знаний.

Модели представления знаний в интеллектуальных системах традиционно делятся на логические (формальные) и эвристические (формализованные).

К логическим моделям относятся:

  • логика высказываний;
  • логика предикатов первого порядка;
  • логика Хорна в языке Prolog и ему подобных системах;
  • логика предикатов высших порядков;
  • трехзначная логика;
  • логика возможных миров;
  • модальные логики;
  • теория нечетких множеств;
  • нечеткая логика;
  • лингвинистические переменные.

К эвристическим моделям представления знаний можно отнести:

  • деревья решений;
  • семантические сети;
  • фреймы и сети фреймов;
  • онтологии;
  • объектно-ориентированное программирование;
  • реляционную алгебру;
  • правила-продукции;
  • матрицу весов связей обученной нейронной сети.

Наиболее распространенными моделями представления знаний в информационных системах являются:

  • логические модели;
  • продукционные модели;
  • сетевые модели;
  • фреймовые модели.