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

Глава 6. Системы, основанные на знаниях

Знания и их представление

Знания

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

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

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

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

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

Однако существует класс задач, называемых неформализованными, характеризующихся одной или несколькими из следующих особенностей [33]:

1. алгоритм решения задачи неизвестен или не может быть использован из-за ограниченности ресурсов компьютера;

2. задача не может быть определена в числовой форме;

3. цели задачи не могут быть выражены в терминах точно определенной

целевой функции.

Заметим, что по объему этот класс значительно превосходит класс формализованных задач.

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

Несмотря на расплывчатость и неоднозначность понятия "знания", в инженерии знаний оно принимает вполне конкретные очертания, продиктованные самой архитектурой систем, основанных на знаниях: "знания - это формализованная информация, на которую ссылаются или используют в процессе логического вывода" [28].

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

Рис. 6.1.1 Связь между знаниями и выводом при решении интеллектуальной

проблемы

Знания, относящиеся к любой предметной области, обычно существуют в двух видах: общедоступные и индивидуальные [29]. Общедоступные знания -это факты, определения, теории, которые обычно изложены в учебниках и справочниках по данной области. Но, как правило, специалисты в данной предметной области - эксперты - обладают еще и индивидуальными знаниями, которые отсутствуют в опубликованной литературе. Эти личные знания основываются на собственном опыте эксперта, накопленном в результате многолетней практики, и в значительной степени состоят из эмпирических правил, которые принято называть эвристиками. Эвристики позволяют экспертам при необходимости выдвигать разумные предположения, находить перспективные подходы к задачам и эффективно работать при зашумленных или неполных данных. Кроме того, в работе [28] знания делятся на:

факты (фактические знания);

правила (знания для принятия решения);

метазнания (знания о знаниях).

Под фактами подразумеваются знания типа "А это А", они характерны для баз данных и сетевых моделей. Под правилами подразумеваются знания вида "ЕСЛИ-ТО". Понятие "метазнания" указывает на знания, касающиеся способов использования знаний, и знания, касающиеся свойств знаний. Это понятие необходимо для управления базой знаний, логическим выводом, отождествления, обучения и т. п.

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

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

При разработке конкретной модели представления знаний стараются учесть следующие требования [28]:

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

2. Представление знаний должно быть понятным экспертам и пользователям системы. В противном случае затрудняются приобретение знаний и их оценка. Принято выделять 4 типичные модели представления знаний [28; 31; 35]:

• логическая модель;

• продукционная модель (модель, основанная на использовании правил);

• фреймовая модель;

• модель семантической сети.

5-307

Язык, используемый для разработки систем, спроектированных на основе этих моделей, называется языком представления знаний.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: